From 6fbc238ed7f3db7ef5d8d632697f08953d62cd24 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Wed, 21 Jan 2026 15:39:16 +0800 Subject: [PATCH 1/9] fix & test --- .../common/appointmentForm/form.visual.ts | 32 ++++++++++ .../appointmentForm/recurrence-form.visual.ts | 64 +++++++++++++++++++ .../scss/widgets/base/scheduler/_index.scss | 22 +++++-- 3 files changed, 112 insertions(+), 6 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/form.visual.ts b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/form.visual.ts index 99681154d827..0d61f2799deb 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/form.visual.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/form.visual.ts @@ -337,3 +337,35 @@ test.meta({ browserSize: [1500, 1500] })('Recurrence settings button should have currentDate: new Date(2021, 2, 25), }); }); + +test.meta({ browserSize: [1500, 1500] })('appointment form with labelMode=static', async (t) => { + const { takeScreenshot, compareResults } = createScreenshotsComparer(t); + + const scheduler = new Scheduler(SCHEDULER_SELECTOR); + const appointmentPopup = await scheduler.openAppointmentPopup(t, undefined, false); + + await testScreenshot( + t, + takeScreenshot, + 'scheduler__appointment__main-form__with-labelMode-static.png', + { element: appointmentPopup.contentElement }, + ); + + await t + .expect(compareResults.isValid()) + .ok(compareResults.errorMessages()); +}).before(async () => { + await createWidget('dxScheduler', { + dataSource: [], + views: ['week'], + currentView: 'week', + currentDate: new Date(2021, 2, 25), + resources: getResources(true), + editing: { + allowUpdating: true, + form: { + labelMode: 'static', + }, + }, + }); +}); diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts index e6754d3c33b0..d37dbc6e2332 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts @@ -145,3 +145,67 @@ test.meta({ browserSize: [450, 1000] })('recurrence form on mobile screen', asyn }, }, })); + +test.meta({ browserSize: [1500, 1500] })('recurrence form with labelMode=static', async (t) => { + const { takeScreenshot, compareResults } = createScreenshotsComparer(t); + + const appointment = { + text: 'Readonly Recurrent Appointment', + startDate: new Date('2024-01-01T10:00:00'), + endDate: new Date('2024-01-01T11:00:00'), + recurrenceRule: 'FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10', + }; + + const scheduler = new Scheduler(SCHEDULER_SELECTOR); + const appointmentPopup = await scheduler.openAppointmentPopup(t, appointment, false); + + await appointmentPopup.openRecurrenceSettings(t); + + await testScreenshot( + t, + takeScreenshot, + 'scheduler__appointment__recurrence-form__with-labelMode-static.png', + { element: appointmentPopup.contentElement }, + ); + + await t + .expect(compareResults.isValid()) + .ok(compareResults.errorMessages()); +}).before(async () => { + await createWidget('dxScheduler', { + dataSource: [], + views: ['week'], + currentView: 'week', + currentDate: new Date(2021, 2, 25), + editing: { + allowUpdating: true, + form: { + iconsShowMode: 'both', + labelMode: 'static', + items: [ + 'mainGroup', + { + name: 'recurrenceGroup', + items: [ + 'recurrenceStartDateGroup', + 'recurrenceRuleGroup', + { + name: 'recurrenceEndGroup', + items: [ + 'recurrenceEndIcon', + { + name: 'recurrenceEndEditor', + label: { + visible: true, + location: 'top', + }, + }, + ], + }, + ], + }, + ], + }, + }, + }); +}); diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss index f9b961f6ee2a..ee55d0ed6c40 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss @@ -507,21 +507,31 @@ $scheduler-appointment-form-label-padding: 20px; align-items: start; } + .dx-scheduler-form-group-with-icon:not( + .dx-scheduler-form-date-range-group, + .dx-scheduler-form-recurrence-end-group + ) { + .dx-item:has(+ .dx-item .dx-first-row > .dx-field-item-label-location-top) { + .dx-scheduler-form-icon { + /* + If the item next to icon element has label on top, + then in order to align icon with the editor we need to add margin to icon. + For date range and recurrence end groups, alignment is not needed. + */ + margin-top: $scheduler-appointment-popup-icon-margin-top; + } + } + } + .dx-scheduler-form-icon { display: flex; align-items: center; - margin-top: $scheduler-appointment-popup-icon-margin-top; > .dx-field-item-content { line-height: 1; } } - .dx-scheduler-form-date-range-group .dx-scheduler-form-icon, - .dx-scheduler-form-recurrence-end-group .dx-scheduler-form-icon { - margin-top: 0; - } - /* Editors alignment */ .dx-scheduler-form-all-day-switch.dx-field-item.dx-label-h-align { align-items: center; From 4297ee6735a7dea8a4193e0e2611d22685bfe460 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Wed, 21 Jan 2026 15:48:40 +0800 Subject: [PATCH 2/9] fix lint --- .../devextreme-scss/scss/widgets/base/scheduler/_index.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss index ee55d0ed6c40..573cda9027c5 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss @@ -508,13 +508,13 @@ $scheduler-appointment-form-label-padding: 20px; } .dx-scheduler-form-group-with-icon:not( - .dx-scheduler-form-date-range-group, + .dx-scheduler-form-date-range-group, .dx-scheduler-form-recurrence-end-group ) { .dx-item:has(+ .dx-item .dx-first-row > .dx-field-item-label-location-top) { .dx-scheduler-form-icon { - /* - If the item next to icon element has label on top, + /* + If the item next to icon element has label on top, then in order to align icon with the editor we need to add margin to icon. For date range and recurrence end groups, alignment is not needed. */ From f899422ab8b3a4b4338d045eaa70c76ea3427639 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 14:45:55 +0800 Subject: [PATCH 3/9] refix --- .../scss/widgets/base/scheduler/_index.scss | 16 ++----------- .../widgets/generic/scheduler/_index.scss | 4 ++++ .../widgets/generic/scheduler/_sizes.scss | 3 +++ .../scheduler/appointment_popup/m_form.ts | 24 +++++++++++++++++++ 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss index 573cda9027c5..24b04b1d6359 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss @@ -507,20 +507,8 @@ $scheduler-appointment-form-label-padding: 20px; align-items: start; } - .dx-scheduler-form-group-with-icon:not( - .dx-scheduler-form-date-range-group, - .dx-scheduler-form-recurrence-end-group - ) { - .dx-item:has(+ .dx-item .dx-first-row > .dx-field-item-label-location-top) { - .dx-scheduler-form-icon { - /* - If the item next to icon element has label on top, - then in order to align icon with the editor we need to add margin to icon. - For date range and recurrence end groups, alignment is not needed. - */ - margin-top: $scheduler-appointment-popup-icon-margin-top; - } - } + .dx-scheduler-form-top-label-offset { + margin-top: $scheduler-appointment-popup-icon-margin-top; } .dx-scheduler-form-icon { diff --git a/packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss b/packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss index b204799a3646..4bef8ff8be1f 100644 --- a/packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss +++ b/packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss @@ -277,6 +277,10 @@ $generic-scheduler-agenda-group-header-padding: $generic-scheduler-agenda-time-c font-size: $generic-scheduler-appointment-popup-icon-size; } } + + &.dx-scheduler-form-inner-label-offset { + margin-top: $generic-scheduler-appointment-popup-icon-inner-label-margin-top; + } } .dx-scheduler-form-icon-sized-gap { diff --git a/packages/devextreme-scss/scss/widgets/generic/scheduler/_sizes.scss b/packages/devextreme-scss/scss/widgets/generic/scheduler/_sizes.scss index deac8c0cc6dc..97a54afea79d 100644 --- a/packages/devextreme-scss/scss/widgets/generic/scheduler/_sizes.scss +++ b/packages/devextreme-scss/scss/widgets/generic/scheduler/_sizes.scss @@ -33,6 +33,7 @@ $generic-scheduler-appointment-popup-icon-size: null !default; $generic-scheduler-appointment-popup-icon-container-height: null !default; $generic-scheduler-appointment-popup-icon-padding-right: null !default; $generic-scheduler-appointment-popup-icon-margin-top: null !default; +$generic-scheduler-appointment-popup-icon-inner-label-margin-top: null !default; $generic-scheduler-appointment-popup-item-padding-horizontal: null !default; $generic-scheduler-appointment-popup-item-padding-top: null !default; $generic-scheduler-appointment-popup-all-day-item-height: null !default; @@ -99,6 +100,7 @@ $generic-scheduler-group-header-agenda-font-size: 14px !default; $generic-scheduler-appointment-popup-icon-container-height: 36px !default; $generic-scheduler-appointment-popup-icon-padding-right: 5px !default; $generic-scheduler-appointment-popup-icon-margin-top: 22px !default; + $generic-scheduler-appointment-popup-icon-inner-label-margin-top: null !default; $generic-scheduler-appointment-popup-item-padding-horizontal: 5px !default; $generic-scheduler-appointment-popup-item-padding-top: 20px !default; $generic-scheduler-appointment-popup-all-day-item-height: 36px !default; @@ -167,6 +169,7 @@ $generic-scheduler-group-header-agenda-font-size: 14px !default; $generic-scheduler-appointment-popup-icon-container-height: 26px !default; $generic-scheduler-appointment-popup-icon-padding-right: 5px !default; $generic-scheduler-appointment-popup-icon-margin-top: 18px !default; + $generic-scheduler-appointment-popup-icon-inner-label-margin-top: 4.5px !default; $generic-scheduler-appointment-popup-item-padding-horizontal: 5px !default; $generic-scheduler-appointment-popup-item-padding-top: 10px !default; $generic-scheduler-appointment-popup-all-day-item-height: 24px !default; diff --git a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts index 816df5c92e08..26b09c15abc9 100644 --- a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts +++ b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts @@ -34,9 +34,14 @@ const CLASSES = { icon: 'dx-icon', hidden: 'dx-hidden', fieldItemContent: 'dx-field-item-content', + formItem: 'dx-item', + labelTop: 'dx-field-item-label-location-top', + label: 'dx-label', groupWithIcon: 'dx-scheduler-form-group-with-icon', formIcon: 'dx-scheduler-form-icon', + formIconTopLabelOffset: 'dx-scheduler-form-top-label-offset', + formIconInnerLabelOffset: 'dx-scheduler-form-inner-label-offset', defaultResourceIcon: 'dx-scheduler-default-resources-icon', mainGroup: 'dx-scheduler-form-main-group', @@ -307,6 +312,8 @@ export class AppointmentForm { this._$mainGroup = $formElement.find(`.${CLASSES.mainGroup}`); this._$recurrenceGroup = $formElement.find(`.${CLASSES.recurrenceGroup}`); + this.alignIconsWithEditors(); + onContentReady?.call(this, e); }, } as FormProperties; @@ -858,6 +865,23 @@ export class AppointmentForm { } } + private alignIconsWithEditors(): void { + const $groups = this.dxForm.$element().find(`.${CLASSES.groupWithIcon}`); + + $groups.toArray().forEach((groupElement) => { + const $group = $(groupElement); + const $icon = $group.find(`.${CLASSES.formIcon}`); + const $items = $group.find(`.${CLASSES.formItem}:not(:has(.${CLASSES.formIcon}))`); + const $firstSimpleItem = $items.filter(`:not(:has(.${CLASSES.formItem}))`).first(); + + const hasTopLabel = $firstSimpleItem.find(`.${CLASSES.labelTop}`).length > 0; + const hasInnerLabel = $firstSimpleItem.find(`.${CLASSES.label}`).length > 0; + + $icon.toggleClass(CLASSES.formIconTopLabelOffset, hasTopLabel); + $icon.toggleClass(CLASSES.formIconInnerLabelOffset, hasInnerLabel); + }); + } + showMainGroup(): void { this._popup.updateToolbarForMainGroup(); From 2a6ce91b0e6691535266f2ba9ddef9e1c9aff526 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 15:27:42 +0800 Subject: [PATCH 4/9] fix tests --- ...h-labelMode-static (fluent.blue.light).png | Bin 0 -> 32316 bytes .../appointmentForm/recurrence-form.visual.ts | 2 +- .../scheduler/appointment_popup/m_form.ts | 30 ++++++++++++------ 3 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent.blue.light).png diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent.blue.light).png new file mode 100644 index 0000000000000000000000000000000000000000..436343b8a71e704ce9a9db9b27238e902de9ca7b GIT binary patch literal 32316 zcmdSCd05Zu`u@Ev^H`B76bWTag%Fmglu9$1r=pMs8cdNXg=nCXsieUyl$i!YG9hUbktA}iQ^*?#*#lW^YdD(jT7Iyd4b#7+2&g$c3 zQK!p5r_33hB2T|M|0?R0r{CnEhS@d4)m-i;+wcE%X|CQ(ohWxNuddqKiY6u|9XoYO z8h=DJpmU@2j3XybDDSj189A~}+kR6u`t?&V4c+3@-Za!|hk5sn#$9_x1RXu9Z8&Pw zR*l9Z73&q|+8miW%wX8CPoF>UbIIEuGh}hltgD-6=&5XVYJW0!Zszst8*c3!T3k@D zvU8(=^4DP+8`|`lSWsM?abfunO-;?e21c1z{rK^Zzqd-&A3C)7e@ z-|)eY5?$WLJ9!Qov8%C1$y7T#yFCxzY4z=UWxDqC4F?Y%JbLnE)~#DDPENG2u>kvvqS~}*TH}((ZQSxrjg0F1`T0G1^r+zN+aTk(%Pk|e zZ?~O1*?j6$RW~=c#QUzUp&L6lI_WmUQ)Th}^p|>N#z!8`nl)>6TwGU`O%2Az=gxIs zv?!BLe}3vXi!h~ndmrq)-8c5|klj-T*x5Lg&It}&SckW!w^{^hg-tQ-< zI+T@_omlunb^Q48wVU(vCqFne>1vusvDJb522D;ae6cwtMc3Nex>11pQk|2D{9csq zoQlNiuTK|h_3LMH$RWkA(%HOwD}@7Y&(0ikzNw`ZOz`jHMF(2RKB`hscmB$Y`n4E<=y_Z*K4XP-{haxZPB7de(apg?R6VOm}Pzc^3Lzahg8RNzWs+S`Fv?Ui(wwEw_(c` z#g;8wCMGZaR%YkmaD3@Ex3ZVzg&C7CEQ=zX?;aT6kH3DD=FxTQ)~$9APc4|FGRQ3_ zeQi_63(E$tS5PZ`d;dVa`t|#Jm6|^};j;QM3szOQUTuu2>5MOL@4tVV8lpSrmYj`1 zrLOIUFVnYw^JR(it(fa9`t_SPIRQ~uHg(Wl{(aHJ6LVKRjvg>CaMPxexRBwoJ|Ca& zOGwB&IdA-x&7E%KjT><@JEGTM-}25SB_-_AE}!Rq4F?Sxq}*rXi9P%F)iWA1rqS`< zUS;`%2fF27JLs4);iPM8M@Pr`Pfu;iOBmOxO`9uwMy`IH8`to~iXVM8Y}l}G|Nf$P z?{3^nvh}OD-XkeFF){FQ%ABy!P(wGjzWh%fYSxuzfByNW_KtxIRGyw%P|SWTtGqd= z=5yY-nBmK#*ER2;<9biCL9=!%XJ!Sp?mgk?AN*gh3CCvE59@9*v!?3PJ$ogKj!{+N z{bn@(;BnO6t4l)UDF3&S=Rc@tl^FM4l{@!kaK8)F-#s`q+u3>MoH-`EQM+MF^tyEE z(kQiuZBwGDNnGwVHaPdqqGjcm8|DWenv`1cWZsb(3m4vITYW#C|JJBcqv^S^M&>d4 zN=9~e%0Y1^AvX65Gu9tVNs$ly`pc3WPcJVCA%ZvmCQ)Ghx$N1F#6(RpTs2#jw&LfI z`$_j*D=I2vgW}`kd9AIHk?s0UJ$LQS-chH0KdC#ro>a+->_1C?$!E>F4O?go9N5M* zG*Wj?iw=X_GT*av)6Zz>I+xm3X(%P_h z)OsDae0}*WnHyR~4fg6j>D2rgyo>pcftxBSJg;nQKZ*@=c5-rRrfLw$0bsY)IBLFS zr(fwW|E`ytn;WC=@u#l5CRx1X+YA3WkB-hbS9xnFiCLE|=8Oi$a!zt~4eMZZWa{~< z(j5z5KTYko`2MV^6EAdXYdq4U{*mQg>%Mv^9M|f$ZE^2N-{Ez+q${aP&q;a=RdksaCvp(=FLmIgMxx0NB9pP zw)E?4_AQcA68z}Vga-#5Gx}YuNiPl=v3d7yHP*^*@#{NXzJL38n-gYgYFc=`$L`S{ z^WgjJdo%Q~Ze)Hxgc2dJM*8f*+?#Nfd3!{4P37%3 zcjKEnj~iaCF>crwWe*RJgHz8(4>h&0=r(w8`-KY^Do;7<-Az|F?BR#cdaLYpwbIT~gZTk3HI*|L)Ur zbBWIB9cs5tmK3`jDYTi||JU=yQJJm$40?x#hE{#Ls#eYMfAjqOQ2POH`H?AeZr?pL zX^=9Bc<_kYs;+Zx?}~T2vCVw<@SWTGOp1N|;^K(qKfac*_meNK*clqy^0{wub1H+? z?Af!mmwugZV`DS-UZPU*)sO@du%@S{XXLP@1J}3clz!#Py1rA+lv7@2Em&|f!?ILO zn;gq>Ei7apT54IXUktFL#=35k%nx0hqnIwKFOE_U#adLlZp;F4ZwJGfNBO zsf#{*u(02xGQiNIB)fH4R@k`VruI{(PSsTPukpC&I>7n)^XHm6Iy%~u&U*K`eEBlF zZe^dbuK9+I8(&s^Dh}Va&Bi`Nby#BdjT=oj8IM}BWXQJHlf9MtdOPI2ejNGzi(TYT z-%^!%3P0DzZXG*pc*l-84=+01o%wY|k;3dxg_oue8R#+n$EV3bH+uP&_p%?Z)^x!?{Jy85y#4dh;G^EPHm=cFOMI%OkaC z{29cSMlHNhy^h1V;`^H(H9vp0CpR0%DXr~&W7(Jc<2mrFzr1^>J2SJ<%$YN_qs$}C zyH8#I#XkSpGYW}9obe|0?%mgsa`sA2zjf=DM)&R&6lYIr)N}t|%T?>U*46=Xm`CZX zJ?-_XqGbCtoh6^=x^?T*r+L=ABj>MtAV&7QesrwsyoZOob?dg)a_5j^{=Zgm*zFHE zoN&oo$9B&0CL>Htb=%}{pu`fuvVP{ZEnOn3tEv=Rx6V3pu{L{aSChF94|lRZefsp? z`>sjZ+1X9z%$Y+)NV>(&y)`f}uzLCO<@9;;Zfxo>Xzu;w)}b2KQ#e{n zyGoLI3ycaPe9P8?PVMg>7_adA3&%;5;xzmAHMVwiG<9%jL%prnpn>PmH*elhK4+Ac zmKrZs*|e^xXlC!+=U(;C9ji8&HS~wh=}BEJ=RBYNV(p&~)Ur$Gdn*NP4AA-B+q7GW zS(l)!vw419?(T5+H)%2X%;j9W z%4*%F>@^AO)m2?Z@$83|3adYVUKBlO;jL$j-apz}RpqNPz;(^cyZcNJPD+H4(xuM7Eo$XIn=rvJGSTef4zE0`&b#@Vp<2J5edwF`nRM31S3IEfLeiz-pytU8a zVE6a(^2*40@ou%DQQv3b*goNVPudij8-yAVI zRHOFiNB_Kw{{GMXUUhOfIAN8Bsa;7?Q9ycD*4pxN_p;1ew>Hzpkx{KW4p|gPhZZ+C zZ+~-ACCl&r;mLsCh4VUj%zAQ~`zmUWd#|BBWiJn`_^sR#7fh0|9qoVJg zKizboN^2vh2wFC^we@O#oV`)A^r4fg1G%!M_Q%Kkn`b{>xIt#9D$h`8+_>@H6DPt? zEqGdSQ76j$(c{NkqocDADYt1;p>12KKr`v|`p({iQ_gPtc=4Ai-JHE-S zphKR0_NSt(F`=Uu?-;bu85k^aOQ6nju(KQO?LBbUu3eGsn>9E*?V@Gzl}$-ycjL#d zS+m9pl+mJzf`Y>Q`Sabqy-UIFbQiHUNr`VcESk%fE%Tl5m_D+oC_SRr_%!biDnM?# zFAt~r7nYQ)b)U2F>wI&+wOd2{$HXPS==;`6pEkB+((Y-u+8!+}n5LQkc3!zp%HL$lAK#eaLv5Bxf3U<;MJ@3Q;+n} z)omrrG!;+Gc zB8`lUtfx-BB{6tn-oq9tUq3tzi;gyPb?r%aH6}Fk!~Dm`>#x3iNm>;We_>(an)T~j zfo_O0{>3~}yH3`b#qSdP^4iJXAD(c&IvW_oylvU4RZ`EPLwAISD+jDz?cwQZ`00Jh z?by6GkIwq^v)?(`YhBZ}eecANZA%(gFg(BHi&eX34OI8h;Mq7jUZ1mjxv~A)wQE0r zc)ET2v=vbot+%O|H1?)HD>-)#ce*OIR{>jN;;!mkVhq1KBRwM?GxA(M^ zsVMLBPqzXOtXMJJC-1n^*gxym^`rf{cH;&mwv)j5YsbweOlWsAdcZ7Ri`qF|yPW{- z;I{ort@o6wInSAMH780pYWVUYq!?Kfhx$G8!xz(uv-!w4&rj@2Th7ot${{=!}fS!@R_XRz2>< znJ9c-GK^yhi6t#%PIvRjzs$^jJ1~7|-X_=+Q%W z-h)iq^NV)PWx4M?{}d}-QOf{zXkQJd;k7QhaARE zpWc}kWMAL!pkd(eo9FovT|Nx+IAQOlmAYp6t0O71eTD>;{Lp#*I6WdKWXRrr2Q-|2 zIv%{Q^YM$qzQlu}k3MXFw7BQ)tWj!lM^6MSf7MiblD~e3aSi8n_o*!Y>0jTY;;n`A zvZcFPjbB)y?RaL977?g1eE2RFvZ%0dBmqrM(_8qwqx4ac`X1_3+4P4Gw}UP6_Kd7c zfyzj>KakeSG<3qL`R%2Lpk~HXw`tRMT)Q?#nG)G!;J|IemwzvK|K5D`=z1y6H;dTl zE_YHFPUD1+-ak%huQR)mJ!LUHBcmErCZ)pu zF-lEx%B3a^_B@4SFf%g>{VKR#Q$egU6{#%3!mqZ538$R?cNX^ zoB^8%aI3u1Vd0&9rma-NU%#H)cXHaL)E6tpa!}i8Pya(9VAH1NblS6t?f1{m?-=xA zSu3cIA&XvL3aH-{0-)gI7L5(xo-YldV_TD!rf7H;*d+?_9Q4l5K*{;3DrXJ=-;l{1a+FH`3n|!czKOF zZ&okTgY(2nY)7qqi2lpL3 zxbeqg5G)nWgwCLQ*aqmbyO09`0Rd@Y(^gckegA$wZR?oD$BrG#%*-qR=lulPK+D}d zvv^*;k-m%CZ!)G`IeO}pal8#N(t9Id@*~tuT>#6*4udvBQNhkp#7&Motn|sca;1pZ zc(FAiA`9G3jJRpHYj#g>K$|Ob^*k>&YfyL4!si;jdvAmRi<9EYtIRz)@$TKbRrJ_V zI!;Z3h|3E>Um` z(LD1)%JlC}ziNNpJ1{Q?@d+&sBvHHGkRjxo5)?Np%L~0|Q3RoT(lJ+pwDY zP;qx`zy6C}Tgf_88mF9Dw3lqvti!-&(BMnEbj=TYwQFe$P|Me{XE%;J-KeT64jJtI zzTLN2QmGWdrAwERNd5w@+3y_Tud1e|1~{`4UZ@7LgPzuM_izgeAs_HkUS1eHd*O!< zn^0AL+H}n)I}4@SB*N1P|1$|)5)j5l^yZ9=cQZ=c4kUBiMMot?Ww3C6SF z0zvrT&~{dn&-rdmhPn{E8q}(XB`x77dngRR#+IEsH*xHPKVJCJ!iXksuwR8ngVlA; zPrXg5*V5Fyl${-voo$9{Q5F$Bakk#&q?jf_&GWbB){9ze+{A3-8s9`~)0#N4#v7mr zblDteVL%$uCzT46Ep3}IS^{4RR{`@B%Sy0?;R~LglJ4*QhYu2{_B^*l1Z8F;bpyKG zpfX4I_iqE&)s~gl0fiD{#lJDFyv;Hgdy;>1BIfK?^Is$ToOVAHS~IiNw+xG3N(Bdt zMxqy$&JajuZr*J3=FMm>l1am6yP9sOQxR;Df8?Bct8NY6#>B?5Q$6LxqHqnob}w}P z`K=dwOTd>ob9^dtV8KX z&xhH+|Gq=i#F-2G6uS2ExHx%1xA%v-iEj35lX;&CABP!nrMn(aSamU_35BN6zlUwG zT}xK~Sn9U44h`pRQ1ltl^S26E$IAA`Jsmxt@mt5wS0BG{-_e}W_Fo^gEc4cJJJpg8 zk-j>vRISLlSE2I(L&>?F{w+cNhcw;3DdZc!sL;W2Tat@Tn=5cJe601GA|gneSJD&h zdcvHdG4f6S=-xLbK(5d*xw!V;Vis>0Z^M&LH~oJ*vHz#f{jX9ZCqH2A&}CKHAaeAX zuwA<>p`sN+&z~O#%UJdO``twAt}rV%MvVOZqdm2>y7cYaV#J6M00Xd8#>0ng>9AGz zfoHbx%g}qIhoV=z{hbj^cx2lh_i9E#iaZ8507M`(>qeNZ-M+nTpGl`)l98^`tFu7S zo~1eMq50d5SYZGxit9dDUtdv0#cb|e%^(y2U6;EW-N)@RM^8OzWYOoq!GjvKOj34W z(WEz$kEu)=F9eaF`%!jQ5+1!_Q{GFqb`h^08WtwFHK?X$*@dd2raHR1TF|PnXrExP zVe78kzaP<1OG9G~gzqu;LPO*lQc(QB#F@WVPn=2fF=(M`gVn3FZ1?lQg4VBZ_~5|< z9^YcrE_;`H08~I}vU|mS?rAn<^uRU;}7g>hG;EpaZ zgJY7jb7)&5ssPOVA8aAmZFP1J`uqA>qr>FhEEg zl&A1u8__t}wyuK)ZAY>wyAJ|J4lEhj6rO|n1!H5CM}nY3xpUfU4p{pe%vU)A#c`jH zQ$G zZasReCj>;V%+Jqnr|;ewzG=?)&u=38I38ca`yF+<(FXK!^ln~WuIoun=)INKXBSP4 zGVd--- z0lS7RJ?>F#T)P=Aaz)K26MDE?P~`elVD#6F-hKOSzF7M``1XijG4QWMTn0g5{rTgI z-Msn?oha=ea4>c)_8T^=)3j;RltIn;I2!a^4O!(eaEJS^-wPGK;_ch)pD??! zs0|nV{Qjj`JMBNRR@SLoMdqzW*f~Az`t|E*g6qL2^22a|K%~g?-`^g{**!vy*9K3u z8#uom>tvLRj0V{yignO|@kcyS^J3%Tl;Wy`)y3K7EqDJwGHS zrsI+?Z`Vd8B=i7|N0z*NS5KqA_ArsT$Uuc7eXX=lzeMI&H zgQcm3YIyYGSFPiWb3vUDz%F<9HD;C0RhRCFL_ZH4KW%x$@#8w|O#2~=G^tL_SSDfv zDbMJ@{n&@^POEW*qPJ|@wvLbjNVh#gQT2 zt{#ky4aki%2@4O;grB={zM{Om^PoX(Q^3Rkq#)J!LnRFXU4khRP-F}p<-?5{^fG!9Kv$B6<}(|^X1rKd*&M#-E zp1pug%OL+n$O8rM&7GTgLlV&Qr5}euIIW&|h(j7}>)>z&CPp}mpv=tCr`(lGek2yw{~^9AMGdt^dL@hW+?tqnC1;_GyS*3;R4L+vh@!5@8S6ZNRty1<8~ zb}VOTx3OryS2)caAqW6>clUykXFQ4N=kh9|20zj+m!V; zD72cjs%NiWPy_8Y8P_ZHp6w{u4^PeugtPzZqEkVK@E4#!*JzcdwkT?xuy60cC*q=^ z^#NZU`LET&(F0-&k_k^@#1*gJbVaU z-}31lJ9bQK4XQ)Tp(bZuz3Np}K0`WQnjs(wM1HKp0kJ!Pu;%BdZKa2iB8_6dRbvBq z&U)g+AUV6fOPAW(qo*Z|+bvBxw60S7_8ZElv6MfY^i-7A{Jh}l2C|As%!qzG9=R-fU|*D$CH#NJlWQoEK_m?9@zEC!JnI75+$AfZd)gzcz4E1D>% z%G%&pO=V>Dj~^*urR2Ofi(ZzNwq!9#rHwjt=s|GPBQ$vl3;TyhrU~nw%v)LOx!k4Ed#gGieG0&YM!gYLx{GN`95Xer zt?(?O={S0L^e00UMU0<%`Ps9bWRo_%CtO-RT_+0ud@mg;f@KQE6G_yF`C7eui@!%` zh4u8)3(tRP6VTZ}pZM#j@4gau+m@)P4QBD|;%c%W|931k_0^0xp!&9z@usxNUQCy9#p!1GS>Mq%D0l0$*M1 zm)DMOq{;`81_U3fZ2IS`p$W(A+=)pi9)AGm_}GG{1HXU$5NsT`_b|59>6G-Cp+1{A z?Pa6mZG^7&x;<=tSXiq7_Yq{LYBWb7xCJ2m{G3N1DjLDSketPOHhT2vJLi}B5R(c` zuYXpXumw@Sb~D<_ajG;LGC-0OQVBvY!s|M-Bs&68y&}D7zoR$`5kGKso`7A)3{&{> zx;C%^cCc6=P~(KW8T00i z1-eLUh>2-q$H4+3LZhOtCtAlPPP;fB zva?~4k=Nj`ji55Vr6cV8u!bGB`Ucf9{QK*!EMR*8FpzE%&7L|nH6Y+mAq0)%3a9=i zJv8$Cr;iK@4pw@*3j%U@RY6?=l5J`9Xqt}A%~dZGtoki3Ev?<&GDj>f5HRP;)0^6T z@&EPB|Jrw)p3dZ?Dj9I}Tf-j5-xpN;4_OXA+0i z6v7}?2TDmgM%oqy0xfoHuPkJm%y zD80S=Hn`vxTHEChyiMV&S0=ngLj~1+R0unog-k)#5V)ZlGrYgPcccaK3;&7g3Z@06 zrHzNy!z3p*3Xa2#5f;Y2(`!Hestt)ByS<|G>qSF&R1?I5fD(dOBy^6kWHr#5_<~6R zZ{RpZ6XHoVWgifJNJhruPTRHOy9VHkB>VwB^B>so990}6Y*9>Z|+L+O2ZZ%_atMix|3|*OVw%4t(d*g3i(Ia z)LSuwGcx|#f^2Ec6l>ex9{!_uD!yA|L|J>B9Icd;R!NeiqiRi?p#19g z?m3v1>{_d+WK$=pSq%mc9t;9k(Zx4#?%X;3rC)nnMCA9ENLdM9nS%M$wS)iH=j{mQ38fv zhXbRWIMqe+Exon#1}Habs83&LqGoiS0FmyNF@dS6gF-bvCH^Q_tw67zagY-wLfsk7 zE?rjTmhYX1ZMQfud6Hy$l%;(Q{Ip2)l3!F2F&@jypLL?L}2*;Q&HuC;q z8jVduecN4YfG3AXd5JV5Wq-8 z|G_J2^n=LQGx0L-6o(Yva%CJ-@^mda4Jp8!jX48Ws2jBU=g*72etdCT^i^7A5dXue zOE(dvGxbyeP5=3%x;;O4okQoxc?8PILujJ*z-e`bbs=*do_yMH3OIEFPWIi)DjHKO z=qNpVkw!prmfM^(ObscqiI$-n$-3>DiIW^{Hba(FNayK z)o;rm1g(`l{y3qPeHUX_5T_yXN`|gWDHW+QNM^Qa+cz%d&f~8WscGoigGESQV0~|}XGr*9H9xTQ0 zaqZ6^E>BPONe$hySCh@7MTOzOw$q!d2wLm`O-ayulJJ!;{`}fOn&G%yt0{oH zrfqsp$DIk#b?32>MUt{}bCt4i9whetzfVp1Yt;8*0I{Hc)N1!0h)u|kHurg17Ak`r zOJNF)jt+9fVUDUIp3Apbu#AabM_m3GHm2kFKRDr707`$#;&%?oOG~5X=o8p11@zya zBr?^-orWwbz}OVe$jDMc;1;eMfpQ9U2c!?1hqswRP(qyIZwaFlKMI66JoUU8qUnqo zGwdL@WS{`5j3|P8wubuMo_xmpgBhYPiEj_6L#9QD8>?p|^GF=>B7{|y7b2VyjUE!u z&i{{BNg7Ks=YPb2&Wak}9I|a%L{Lx@z8ew>q&>eT$l>3l*)3gX7? z9xnM4EFq>lRJ~D1ZDJA+0<0ZfR_)0c6(KJq^`f`;8nFf(UNvcdq=;Z!;l@84W0U_3C%}zKybo z-(KS%PH=LexSYk~nj2f65u+5I!TI*Cn`9qHU?tU~&=OAb+V$%rJ;>D1yrb;luw*tv zI95*Zj8cruM7cc;gEFBmwkNS*Uky>41Bj&>t~qms{sNYo4;VzD_Q7G8j?yWPK@3Pn}_2;vrnIHB-7+*J(qM+KJQ%!_nH9jiBPFTv5Oh(H35o58VUJ;{G~}; z?jGOT>Q|@H6(MWl_U&6khS6R4+#vbsIX~Sxb?V5%y(Mwdh&26ORSw*@gSzP_pyrIv zN6RVw=icc&yrz8A@Lx4v%ph#W59|PeB(n^H{ome8GU)wZ(Dn2*(W-$Jq_pPLQDs=` z*(j%?M}!Rj-Ut|ulpFk*v+)@EmnubGw7HKfJO~{Ipm_B?-BbdpT}Cce{QNG>97xOR zWl2fyk!d5Gb0SAFN0Hc*9LRzkr_ECtI6rVEBLZTa2KBVg`nT8i9C~Qt$s%Tax~Z!N zm{_nKsFKALUNEs|561Hf3a0N`S~eJ)U77&q{1Cd2HD{90mzkLeC7}rn14*u=TeP;b z%VcU~jG0+F`z8)8xMhzcD67@}k5;!zOKe*6>DQ6luXHmmHPdXQ{%1ggCOre%I!<*e zJ@n3c+bWZ76V*>2cG>T?!}-(>lX)(#Wn1^}Px5=Y{N?ifE9VwP#J3D;+qpoqh3@WY zl~u!i4XP?rTMkm*`K{7%TeH9y_Gi5pxV^Y=6ADoB)F8L~0(mSvTV@eG36RlL3N6O7 zu3%{qsMaQUZK$%*3?KxxQ?XU64A7AgCmR{LFGW~m$Pg7EaF9@JL_{7YVly!)k}PYA z)qYLSPxGLu?N8ALak!g}9XpGW66QdZgR|1(vhf`ewre!!;WBU5US|ztG~hpr?&|2% z5Be_A#;m%OLq1)FajyTWrpG28$`8g=po2O>lrv0O3=iJ}!`S)^;he?S&Kc3Sz_Je8 zWNQPo1Du&WTr3^5bR*ZU?cpspw(B1N;wFg3T3IQQ3-zC+d8~$8^z6Z8R4kPN#y|&b zO;=An-$O6kOl^2aBkM>|Jh?q#9~_XdFc2*Q?7PvFZ{kdMtqplRf4|;AhhB!^+xV)t z*7ttyT^tUy?qYUh{yD-z&~39!CV50$-i72t*o@>8Vd; zmW;5TP3|Ee>ls;B^#K8Pr#m^jm{LtRz_z>uVa4B5A47as|?)HoE>sb z+3TX>bbV#8hknPJT(QYfSS=s`xA&X2AJ;C$S%|2N!s#GvIOSr@#1MZMP4e{Ms~fjy z;Y()OMQpIlKJU1qL?S*4r^%njg%(;+YJJm2QWD&b79fdK)!q5~~kv z7E?a9w9%C4okJEI=11}HCs<>{@O6B3Fe&g?RC2NmP|_I6w4Shme6n?Uu$Mw(``1>A z^G_07xO7KQidS67`*ugB?i}>oceM;TiB0m}u~{a17PF*dJ~&}3eZAEIhd%3?wKs&l z5;^nCVcQtqh*p~w3)`_Hm>JndpXTazE_;HWp>>OS1YCq2dO$02(%qXhYSfw8=L7_# zt(;Cf`z+23`HF;cdJ-Nzp~vVKMg$preKbqR)=*Jj7#ySqXCz^r^!4?Xp*||S)?vg> zp(?2j@MemJ22Yv=o*f96fM4abm=l8t&WyrK*IiGF+fym!vAGy`dm(ZKX9bYQ5*|_5 zpndc^woo?O%NVW!8!bVa#Uvk9(#!)ireD8){Vr>KKetzO%AP;a>)nGsK@$!+lx;iw zP8|M#vzaF+ibT&yqVV0!?1JM)o8pk+qn1CsSlhbG=*M&rPA@Jj-xnVbv$bl!i(Qh< zS{{FwZ&Bl(c8P!a&H5`miTXlCH>O)Zz4%=l`sdF2`jIb+-1Vgg<*?9jZV`w`TWDt= z4=1PJN#FgCDGv!lh@(YQt`@qB7bxB=LMTLfL}g{=qptUR3Nrv%7m^H!5+ft($g!s% zYT8)j1qKEdAS|U{z1ontc1ulxWfu<@ioMM1;Ns2D8a8YvZ9#uXAv8oYh_76|O%>@Y z)8>()_wQpv@CIZZad~u9$dK6;FRugVT4Gzq%jFZgbLY)R$7X4@R8_sjbQ8?J-JyvQ zmoEJ^y!vIU9A{mETzDgbO6;-{(L!Z0ZaD7a^Yf0VSFj9!+1rB~R?7n%$I+^!sCa2a z?I#5~z^XnD2O_{90#Vq8b&5VWoKvI;>1m&w3Bi4ALT}~q36`Ds^-+)|j`Y~#Wd@YO zc3P`y{v&OFdM#udeTX0vUZjm>g%`#k1s;dsev(YVe;R`Wb>`xP!5zuFS zm!m`BD9CC%?WO!|c4(b0s&%~2?z~u2($AoYFec)!wo7UWn2bxK@G*02ijc~P_@a-` zcftpj&y%x`CRGKNNt%?}mmqq%p~tRErVkgh)tLg_Zr@G--N?`?)%(*t>dtM0%4W1L zj1#pmverEA{b8aEpb}m}Wojj%`-1MoM25nlumjOjVCR((wQ;8SW%5n2Z^@`1<%~Y( z)1LN%lCc6N9b-R2#SIz6ErN`+(vj_&fYF>!CB} zR!4bzR5{r(>a3hve1nxQe${TrK+vDjgr4IM=g@!oy*rdz_3h%Xn@2=V;cQWXg}N2O zKdAE4rx|ETf7f75&!Wu6eWzW>$&e9oacFa#%eD~(Onc4&1uUW%H?%OSnIU*nX1Ue6 zV5*={0DLyNcN(~3lYlagm>ERGUb-6$BLyEnjzi!S2@;FR6)n6Wu%}pRJeXN3`sn{_ zC?7Wqyhc8ku_Oq?pggdU48j>RvVyk=f;dPV!8mhP+(Z?7Lk}g}K?>TpkH97@#cZ5) z$T4LdGoj_$V;Q9a+T2a%8VFeI@P-XCr2W;FEG(ShIcWr2wre+r$EC4Vu#{F0uoeFK=Aaki=E(zLV#~OKiV8t2i$DiRrimvy zn{^rz4t|NjyKsvmh{!}&EcSxuD}F4{v&fK#hk2#3G()zQX*8NDWm1W3{;%3^7jvQq z1Ot}TRX0LxR?d@a0jR)QWuPHZ5)wFM<&>2|x_4VzXH7R8mHPN!J%4^*EXq9bpk)(p z);ihYP&SmHH2wQ_ulT+JHA!c|6Fq1|nM=hPVV7vNN*(e`8ruQ$9^5(MVjJ_`dnn+0 z7DrVY()IQfITk-0Zb=Qh)LsMa&MO|G3Hw%;Y!|14Ojm&Ai)1GJ*bnZd5JsKq-!W-wW){oJ=`TlVfPoJ8d9i#uFja@MA$K^4 z31`2{xu0L3CMIXI^)iIYv<4*UVCg`xLh4Mv^oPt!b3y?A;&75_Oy9!#Zux1KX+9e_ zX<}%ttm;j!DJ6F(Crv#+M3Rm5iJ4hVWI-@pTGD3`s#bR=Ej*uvX(@^H0a@1tAwupj zpt&*fXx+;}13GG`R2`0k_+SvT!4^<_3tvAwJ4j&EJqB&)IkMP%5}|bGO;&$>YOib2DH~Z- zW*UWkCDRKFNjM3xkcB2C24oa=<~S2aTefUjdGX>1=!-oFN*#wUYnMQo7786Z!1`EC zgM-ROmzfvvl1bS1y3X3{7T(z#amEi9ixxcMSM@l;cwN@a!c-wN0r0J`n4o$LM!RO6 z_Pra@O)JRIl#Ia}3Uxb5&A^i<`F;NjC*}%bJ*c`1{<*er!D!? z(??>NR`W8?;QMN)k7gO%Eshu))pm*(d$DPv6>H#yA`tT+)q~Iua&i5|{I~N&Boebi zlMfyo1+e+F{bJ2pK6z0%ek^*PB%~$Fg%_&3XNf}^P6y+`BU&NkQ3ycmebflBlLr9y zzr8f`rtlAn3hPlBMe$%GbMQJ^@^}|}Fu4VX0!9!~{t8naQncKOfXmFmsEe>kg$@;0 z4A@EN0{N4*oGB?$Hr@?6bGZ0(!ib+6C?_&@55&Aes9(Q*`_&AG6lV(zc_7~XdgM|w zAe@#05Y3zHDGIDD7+-3yk=VkC)6-!@_Li+%N0Jyla0&@8Cg;rnBhE7DUe3i)-%m4f zV@eMQmn(HV^uDVTbRkEu9g9MzZ@jiiYt36vpLR%~@>!qubPAdTcg1}sc-Py0Dv#tgMfe$v(wUPmYN*2nI+st9TPCR)V= zE}H>NzJGRhI|_mIU9x#QUFT+eOIY9@M%H&0?;L8ayjK0p;Yy}{f}6z+;IBY&sJv%8uJGNvu^ueENYs4byZlnnQp`)$KVJO0MVZq&%#|eu zU+#%uA@f9GCL?i?5lAIW>AnP8l)CkvoVJB5CRp5W`d|42*kW;@3qZx9Dsmx6Ls~>u z9xJ6LNA{XbtTG!aH%K5p7N=q}_j+@;TMU{1^^=pmvV`I0xrNBu{i|k95GZKt&Ycz> zBs6{d!;{-5{P$xL5{(4LxbNj13omTIM0>G>O3TFFI^Ny(xj5lDzF4g?3r=9Pge192 zzK~lavM6lFASB6TnKI$XodQ@AXETW*>x3&-taJDQg>ZvJ)hA7a5Vrln11JZk6j47; znwATC9giV1X=ZOpwQ{u!e+TRjdWVM*OVWOzi$PB*HVDP(@>V2P5`X@6=_KjXppHcX z3U3=!+jMf^eb@LCvVn++V%H%|ns@2buw(kMrQ)sSCY8%KZ#GW=3yDh4vsyrNYL>A^VriqcTOFD>Am&1KX@^=O z;J9arSqus83YKHpD?V&Zv|uJyM8rhPL0 z!L@vvOYUm(tNOOTzJIL&05T3jm6IJKMR!%*hH`5VNb_7pb}tkJuT%?<;;vEq z=RP|#fR;Q~1OMa1Q}eG&yFw+G2_)iH9V2=I##!makh*zlgJg;cYyDT?@zS!gTez3F z_rM9*dvM~(CTE{*4%_c?FWEjAv4~Hnxls9M+cd=k_p{IIV`c>tP*Lgwj#atXg25mV zoRlv-#090L>+-_2Y-RJi{UZz)O_>AtAejnj&h_Epn_P$_+3)Z9&aKqiJi=uzkjh5~ z^SWr#FcT;~a^(tVPjqt8>Xg?a5@=($GQ%W4i=2RUcQ@a%vVoxxH+<2r|7xB_yF^KA z6#MJXwlvC0u_xGo_!XV$z4QzMxa31P4haZAz`!orbVYZHtHaAx`<=Yl{ zim|<2qSx(rX=FY1{~$5;FYMa%OZ6Xr@TQq;vA!OP>4e0))c7o zHHsk(cHHC%!-WScbT2m%lOl=*8kW^;QUf_t(a0LhN&`Fv#@5Qx9+FkkKxKlkIYZ*V z(I=3$ad7u&HsSD-?I{ZGPtGjvg);Gq(*rup6M5~!)2kSxGs#{gvF02t<3^v#z4SY> zW!A3LALwT!N^_iRmhc+W@l`bIs867;quO5vXRi;7)fB9Z*-36MkpVc7pO7j=;KnmF zOGJ7&6WaaaaDE3^J}Z|)Nyc2R-5)Qa>(MIn0*LZTdF_pr8AU+@~1Cf;sdj0?hV9#%LioJ z-N8OWNqb&nY(1-(Xxy8Qd+z5DQI7P#w+84u==+OtNn$bYZRX5L&b@1bUo^?L{u zm6Akb<{q?pb9XLw;R3iqW>81NPZ&XgdYl2>QoFfEK~YI*Boi{ilTG2y3O2cT5kr;q z8{`3zb+JW|20U<1Dz|9^+Z?}l(~tTkYlvVxhs(Iw?B1bC+acyFOi~`t4~IAt6`SQR zEGyd_23=^a?EUe%1rJ$XSt%?OS2jU}T>%D3k%#LiJ*@@>hzV4nq73W{mq@+^kIBtZ zG?k)fv>IoyitG&aCbb!oLjq51i^u^+1Rpj@Vw3!k=x|8IFwkUm?%aJs-=~FaRvYnq zB!ZL*sWgqTw5zBmRdJ3meW^0kOfSQgLhO5u3N)glj=P$SYOo_1QEvlRHX=%O`^hC4 zg6ZgqVq{_wzzgI5>7w=Nadh^h@!<)%$o^!)iiV=BS2G0E4og2_ef13*+$*rls775f ze;JnyN9k=vs~x*y7=G>k^buGy3!-^iaI7W(tI9lB)3b)^POd8h?zgkqu@ zVpkT1fMLr8k}Jm2mV<)g(x{Sh>5u9OAaVt_M|shw2mJu4agU5qqr!=@;^+J-0gV7g zq11$n^xNmD#w?53*gQQbM+5iY^gyRBYnXSv>Vl~L=z}+{I;}4mgt-N+kY@QkU=3$6 zf-31l`TDhMmk7|nX>zfLp`oFs0vFX?0_U2`IfWAO@g$OPm|SCh-FaF@i)UPu5Zdidkrfvfa5RcReR!O7e3RJygTUs<{g0S;A$7)M?&A`?l`_nN zEV@QfVO^}In2?Aj9pHG3WZPxS41!{E%BLUhGcmDX140 zN%m@PisPfm%*2_)UOnXAE2uYIVQUa617*kytP}&t&tSbY-QY)Y7`91(L9Yu*FYKO) z+VV{3nO;T$ytRSeg`X5f!|+7A+aI(-k|~3!co9W%Joe)cTuACaoWzhvat(G55pxLH^qc2CXY1DeW{m^HlI`!#wI4!@4(-3=CaxxJ_kzDb7Z!ede)orf8VZfT0SW;l%;dc;g$LHKuT|uL^fY!1hVc{h2@jAC|k0}pn@?<0> z|2mB%hImfgc^kh!AbYNWZfK-hjQCZfs}Ogw_RA3(xD8OZK_tR0$ozznCOAeei!%~< z#042tv;s1z+}@G^zadHnRn!Qg7G8{uUfZar!WbU29mNWEc)c~ZM2bz1b=yCN%Z4a9 z!tR2w+wZt}1<@pmmdZ%_NG3z1t`G}xbV~Y0CMK=gx4+JN$+Zo~9?v)5We~*_2m+&j zy@-a1q)2QE6-P1iDWbM24}y6GD)B0@aKdw=uRw}xl|7!byF|=B?8Sfl2_?h85dr@N z*9-$It^u_F*HUJe(SC8sJq3qRYS$>no)Zf{U@gu?1-;VVo>y#W@!xgIHSXR11u^{} zlquV}kMus<3HXyy_*bJYsv7q8e4x3}#v-z^0dS@0WZz^O{5RQYL~(;+8`-D}-$v{q zsbxn81+%{S2axB8{D_|RMNmxn2jFG;bKMrt7^2 z-6(XodSI71C3o>o%A_zBG$;Ct-zu|43Dn3iL>f%az9kXkt?VPH8(tV=kEf)x$4)0< znw%_ScR^##%!=T)YG}0fs$~FrrF5}`aXJm4 z#}F)6a@8jH6o?Ce_Cv;&0Q^Sz5j1!$p|gL>$oRu#F42lq@Bl#v5K=6;dJ6qbjx0J~qZTc?>+82mKu_`H=@w0S z#Zl06%Ws$R7=2y(cRDg;@|9`5n7ivZ)O#auY?JAFvSp`E7UVe00wp}6pb9!U0biKc zgiIhyP3L&>Qjs)tRx$Tovv8NHBV@`Di8?GZiv$`&#d(EqQ2cX6phfvtG7WPLYt`B}URwn@|VV8fcpX-BzrhcRwxdcn@Sw-IOu|DH+L$zfqd8hdUNe8CD zJ{%s?3)9yUYos`tyaMPGe@B@Irfj3pDT_`8EunlJR_&W8bo?SyZkqoBCkbl(h=xGV zFlbaRv%EzsD@-{CFu`zQ8?MkmHGnPDvxo~!PL`&WfCpP;0Yp8HPv~t2d%`UYAPf;! zEom8u7|e~DeTnzKw^D8`kmlhVWkN=;vDH~JkvSc0LGl|{-=BGHu{jE`8_>aEpI?Ag zlJRJ4+2jHl;NxTm$+nS&D{lMOid>8>RW>G7)~9XTt6WsUeG>(sZMl#+0b!m8yMnX^ zgOll&TFIpsWM1eLRbhE`83KgF9xXJI5ZY7`n>N&d61h*9g9SWLU*q1#IVI}&zKWHa zK>?Si@6oWxbMGb%5ll6jGF4Ho?;PNIkF-@gw}I-GA&cK4xsB$;YnH*P5+M!8TSJq} z6fgSyFCr_EZs&Ky_4jX3+jr4}3GXQ`+wTB8(b^!3GVF;DCTPgU$DIr6H0H`)Ncoyq zBYqWf)p5EOt|yR#Tt^&N%6>}X(dgdY=A^4V4a5rF@;|t+N?IV*2IM>hBY|`@X+cu!dVMyTZ|~0z%J4eO7n^ z$a3L669#54Nm#?!;noc~{7(Pz{DIsnIu1t@*_}Er>=YIOt?SMy$M9d{$Hkr2nHhSn z-lT`z#Q06KW@NIZ@7LlRij{k*e2^w>piiTNfl9_k47XYC=kgtPO* zK6q737T8RTIDYJgU9w%{1Yo~#+px#nG)9Q&Fp{unN`ka&|Ka=CnLxWCbQLmqN|6`H zNvvW;WfWXyLZHoLO~#fCZ_>DNA>>{DA!+WCn4y88$b9y!Qvx;~&+ngI z&>TeEVNgXK<8ejiTs=v5x%n)8kQla!ufXorm ztA6z6Kqw5aT1lvEq1Tv*=2irLzd)R5WIz*a>WJFJHZqnc_UiYj8B_wP}|% zX>A**{y}q33J~2|LB_k}0x?=Ov73@B3h>=1B;_Jv=r5p(k*E~gwF^{CU))~tB14tp=V0tOTP_geG*Qh(Wgui_0K=Bm z0*!FL-K>6 zCu4X}9^1k=!sZA{J|6$t}?{Fr^TAZu>{!X|~ zY4^$IGBMGj1q4fWS5k)$A}9Vi#O zmb}#xwc@ATXcBEoyEB#1SqRkGI%d;7w=owOALSD5nn;M++iBS=+irK1s>h zd^)WpT;I|ZsSAB0f4WgRM8>hUf#nl{+DPtI_Tbq~KvJ6j)@GIkQzpds%XR*NibaLn zLqh`&zYE6)zyw>kNrSSke=})8=RV&ZD>GbFU7P1v1R*JJf{;Y^2gN}aR4`~N*0!IE z=qXqlZe28K^l7@Z52PZ}GX4a8L|k$;bxd#Wos|{F@g2Fa0NpM-4lREj{NbI0j=KC; zG)6*4SldTP=R^>eC2-Q@o?`ebOGqK%SgyFGLIXxI77!E*={U}BcENBPWug5nt(Ajh zBBMh7V;y*Fp1{qa=v>gl ziY;3jvhp&q!&O!8Fll#Y0*bPPuq*>-_(<>m=kLe88$wrl70ML< zt}K_ZY7jT%f=jb?lvoP%3?)MY{om^n0s#zkWC)%1w z81rr;K-ge}p-EkP)47=TPfWjZ^J;LGAq*+f-=p~hnYkNlDv}E}9BI$67ylCwad#UH zD*C|~+9TlfueEiodqQH9jxj-i7%?OiXms2%=RH{;zUn zl5A;VLbn6K=8JYub_-HDM0ij>jAU;jl?-2^jTXEWkW=CX&BZ7@QY7&Ma)|k{OnuSa z?Xu_qDk$4?0311_u5=E>Dd|FX?6Sc4@W_hBMWBE>y1J$$3p%?vETBNvsH*}wkz%(l zb3^b4a?j(>`I(};As+LIxYqfA{u7VS@!7#3krM$=r(?&n!2}zcstvT;>+~`&It~)W z#swQs&xc5{WF-zWB~1Q(KUO4QU=Bl_Dq8*2V8iWcG_{$^@6fXU3XA{3@1afY1h#ptfsw+r~@?vE@@yd@#t#2$C{>`$R`{u@y$@Cfglv~Ds1 zfUYGI-bm&{%E8l&T`)8nBUjO>@I88sqkkmzjvwi``4a|Mgf+y~j8+g_W{p_e_8Pra zcr@~;Oog~$OP2p}^71o;UfF5{t=FQ`5f#Op8}^u28SpE>1f+i>(^(;xm7x-9G>iFY z$(vpt&x0V&BEJAS<^+l&Eu$|#KY9P>(IOtZ!LArN83#|jG^B9^oRpck_>2s?1shg1 zP{FtiUi70jEm-7jAo@F?>lw|MH<$@PgbzBVN^rW?cRK$01VOK9HOq1A|l*Zm-&eGuUm zD;K0<=k?H=fAtQlx>Uee-bNxz9T0jQh@41WX$14<@|kN67n)Q@bRO2z%&g5`KuGe4 z@LLo`pCQ?3-1}Ns2sou}X6oW1{~~mm5F}tO*TG`(b@io9mr6Yj(yK@& z=Uxw|g%glbTx99QgvL&23?d53ZVJfpN#I7_#fVC~4_Wjnd+Jhc8Jd%&N3y{MF!@(R zBXl298To%{^pdER7aXUma%CQMX&G;jcrXJ@Q0VDHno?BDmMdKzz)Crs0G}g2Y<}1Xkb?d7CAL zWb_rq0FcIw@nA={NkA|FJLn>J08m6TqBQ5Y4KbcB83^Th(diW)d}8_i@Saol6l|_BvtTg?xW~1H5^tapg*!<|e*bcg5gVy+ltV?{6oUp39 zrfJ)sordcl=$buYuh)qeZ6eZc>_{57pyu)Yr6=dUDs(j8fAH9!8deT9v9q(wI(94$ zNSnN`+b+V}GS>B(P=1ppIfsVg<=r3^ny;1X)Jc;*;_`25@4%HMZK?z?M#{CivNX7Q8PMyx~5*$Vf{AhLUnn#aiM9~4zcm^ z&dijgOwcLRJjm?$mARhI1Z>X0O0I!5S9FO~L?VGhQ`c_Y%6&vp$cXcE)LG9FMFZt_ z69sDD1hr*?JEd$s!YHubk0C2SyXQfShlGaadh|^I>067C3Ep5lNE9bcypb-!ppe;>zYUR{ z2qZzGpQLhjrEpW!`LY~GG-^=&P^}`Og5&8D*_LQg6A~RAEyVSrl9CehF1oTA>58F| zQQZ;;Ol{&45?oF)BCb}?H*;8cM4)kQhSA(_Moh)*IhdPGw<>=kpvuF{Z>Gs!fk5Q+ zXZ@^2ok&h8g*F*e$t14hP>!NFA_GO`Xo@=i@V|cjT;VDtj{B?{#h{233zcDVHfz)0E!aS!qcWk%zi5tGu=${OVDS*ZhbM5p4 z2YS7G^mG|AP=@d}4NI-%j6B;89EjCfu|&vf`&4GXG}y^+PfBtVkJ&3%u4G-O1`7`l z|K*=r?M;V;DZW-kh!K^=fl*aR7Vm?1%tF;*YiC#WsxkN8Rxdfd{2gXth=V!pq$owr z;<=rxCs?ejsJ+Jsfp_q4eydm5lN-6Bk)b}^g8G}%LVO>CDKI4z%IKU7zIuAPaA%PK zsKaO;Wtf%ugK|_EvWt$5S&qt&_fnfyyZ9Y8P^)iFglXwfj77=kR*Ze=cT}tW-jC2~ zr{w!~_vb%uMqB?SX4avoidq*X^<>?$Qwwb)W_nkgtErz6H9|?<-`)RN!}6TW(WB~p zO)J7RJ|C%6Nd}5?wnICW>hRhTit@EDI-yVg$d_*CI~51SDe4hkUPfxQPq9HnMeVt8 zpTXPPUo?+*o9gA&uqrD%Tl%)j_glXw0~YWrMU1)ZX5c+awq$f{m%DXx-*X&ODYj&g zoTx@j;bVDm(E|q#yk0)cyJC;o(nDj^vA36rbO))jMy7b!s>K^I%FRueqHAF)WJBHJ zM~@!KUNWgOne4#BP`R6D7VCQZM86)z5i=_*D|1u?NxVs!<&UVgmxsc8UM}V!L`9A9 z2Ab@&@yRiK3w1Wceqt8Cu8uu@XvfA9oJG8VHdg#Oq++8*5pgl$TFfyyf8x+Yqqr@| z_5whw3~`SgJC@l0oJ;f<-s|E;p%<#=ZEJ6`WHsq}($uN$mGpG!85w6Z#{5|YA|B&- zz+(g;kCzTBEv+{yzfuGSME;7aS4WPrDGE2@V8O?I{FuY|@Q^(|4fk~hcz_)vUzSsAtb<+Z@n?*9C&toNyJ2qLQp)DJ6=f{6fX>S0Z< z{Y7r=+1=1@FFHpfP^(_r^KuSe?fdrY=*h49v~U zB7$r;YH#dtC<<@H%9b}ExpWjE?8uQgnzizN#5DdQ5nzi%jlQvjolY0bHaj>iSYWd< zFFCZX@$H*L;1jZ0Nw^Oo+0xR|d$g_Lxu>tb?+4t%ha18rhj0%ar+PCm_*{M79$k@2V;nMWFhUG#|Pp}|8?;MhT z@L&x|fN`5`;$4tMA$*A5n~gB5Z#~_+Ygg;dh0az60fak;#vhO7WL}hc8syjczFV-3 z<&0eDvG_(lS;-#SUjUX>67G238fIkJ_Txrwg-ly=YFb>e`4>iN8AoFy0~N+A*hsN&BL#Op9lyHw4n`D&JG**sPn=&V3g;VhCD4p4cipCb!#^< zZjud8dA+)As++DKsfZ4pW=mUC!Um`Kn1BaL-I5(9Lzg`pKQkaeZ*!qa6>C(JvPt%5 z^6n*f=baZ<14U^XYI358c5zE{DH4P}mXY+nRY~IlC2%(d+98AW$pItG{Sy2YZY#4Xbryh1GBLlS>PEiFMaIX|+Ys^<|N* z*R*00f>!HVWAmRG<~Neg|G)H0`u#(9VrG=JR=aTEd4s{*^ZQRb_>n61$@$tB<==JO z+7g#GShrKfX3mPruc@yhXO%>(CzFT!D9UWVKboX}mE9xH`SH|CEW2%*K~=1$icRuz zc5ah)_%I_Hxw&=&2KZ&{-|yBtUVf-gtm{0SeZLhCR?&KEiK4Wtg}gFWG1c>MLjCy? zqy7EOhQE2%CZ^iA$#E*pfS8XYxSOig&0*=2#cc90>#fV9td~Str)EO0M>XYz4(Z^@(iWNgMYyG0~4GNlDr48_(dB64Y;cSI(<>oR@$#n8v F`%hV?Qf~kN literal 0 HcmV?d00001 diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts index d37dbc6e2332..3e0168b0dc72 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts @@ -157,7 +157,7 @@ test.meta({ browserSize: [1500, 1500] })('recurrence form with labelMode=static' }; const scheduler = new Scheduler(SCHEDULER_SELECTOR); - const appointmentPopup = await scheduler.openAppointmentPopup(t, appointment, false); + const appointmentPopup = await scheduler.openAppointmentPopup(t, appointment, true); await appointmentPopup.openRecurrenceSettings(t); diff --git a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts index 26b09c15abc9..cc0967acb44a 100644 --- a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts +++ b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts @@ -866,19 +866,29 @@ export class AppointmentForm { } private alignIconsWithEditors(): void { - const $groups = this.dxForm.$element().find(`.${CLASSES.groupWithIcon}`); + const groupElements = this.dxForm.element().querySelectorAll(`.${CLASSES.groupWithIcon}`); - $groups.toArray().forEach((groupElement) => { - const $group = $(groupElement); - const $icon = $group.find(`.${CLASSES.formIcon}`); - const $items = $group.find(`.${CLASSES.formItem}:not(:has(.${CLASSES.formIcon}))`); - const $firstSimpleItem = $items.filter(`:not(:has(.${CLASSES.formItem}))`).first(); + groupElements.forEach((groupElement) => { + const iconElement = groupElement.querySelector(`.${CLASSES.formIcon}`); - const hasTopLabel = $firstSimpleItem.find(`.${CLASSES.labelTop}`).length > 0; - const hasInnerLabel = $firstSimpleItem.find(`.${CLASSES.label}`).length > 0; + const itemElements = groupElement.querySelectorAll(`.${CLASSES.fieldItemContent}`); + const firstSimpleItemElement = Array.from(itemElements) + .find((itemElement) => { + const isGroup = itemElement.querySelector(`.${CLASSES.formItem}`) !== null; + const isIcon = itemElement.querySelector(`.${CLASSES.formIcon}`) !== null; - $icon.toggleClass(CLASSES.formIconTopLabelOffset, hasTopLabel); - $icon.toggleClass(CLASSES.formIconInnerLabelOffset, hasInnerLabel); + return !isGroup && !isIcon; + }); + + if (!firstSimpleItemElement || !iconElement) { + return; + } + + const hasTopLabel = firstSimpleItemElement.querySelector(`.${CLASSES.labelTop}`) !== null; + const hasInnerLabel = firstSimpleItemElement.querySelector(`.${CLASSES.label}`) !== null; + + iconElement.classList.toggle(CLASSES.formIconTopLabelOffset, hasTopLabel); + iconElement.classList.toggle(CLASSES.formIconInnerLabelOffset, hasInnerLabel); }); } From 4b6f3bd9b6ceb2e5a4e2c6fd23d40bc57ebdbd4e Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 15:54:04 +0800 Subject: [PATCH 5/9] fix bug --- .../js/__internal/scheduler/appointment_popup/m_form.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts index cc0967acb44a..9a4734d70df1 100644 --- a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts +++ b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts @@ -866,9 +866,9 @@ export class AppointmentForm { } private alignIconsWithEditors(): void { - const groupElements = this.dxForm.element().querySelectorAll(`.${CLASSES.groupWithIcon}`); + const $groups = this.dxForm.$element().find(`.${CLASSES.groupWithIcon}`); - groupElements.forEach((groupElement) => { + $groups.toArray().forEach((groupElement) => { const iconElement = groupElement.querySelector(`.${CLASSES.formIcon}`); const itemElements = groupElement.querySelectorAll(`.${CLASSES.fieldItemContent}`); From c72bc877c36473c5b88497f863b03c4feeeb24b5 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 16:19:29 +0800 Subject: [PATCH 6/9] fix bug --- .../js/__internal/scheduler/appointment_popup/m_form.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts index 9a4734d70df1..028853b63843 100644 --- a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts +++ b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts @@ -871,7 +871,7 @@ export class AppointmentForm { $groups.toArray().forEach((groupElement) => { const iconElement = groupElement.querySelector(`.${CLASSES.formIcon}`); - const itemElements = groupElement.querySelectorAll(`.${CLASSES.fieldItemContent}`); + const itemElements = groupElement.querySelectorAll(`.${CLASSES.formItem}`); const firstSimpleItemElement = Array.from(itemElements) .find((itemElement) => { const isGroup = itemElement.querySelector(`.${CLASSES.formItem}`) !== null; From 87fdb6a8208bc97d6c4335df0e53a9c9eb18de0c Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 16:40:17 +0800 Subject: [PATCH 7/9] fix popup size in test --- .../common/appointmentForm/recurrence-form.visual.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts index 3e0168b0dc72..8652011eb263 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/recurrence-form.visual.ts @@ -179,6 +179,10 @@ test.meta({ browserSize: [1500, 1500] })('recurrence form with labelMode=static' currentDate: new Date(2021, 2, 25), editing: { allowUpdating: true, + popup: { + width: 420, + height: 500, + }, form: { iconsShowMode: 'both', labelMode: 'static', From b718c43f6bcae0d3e7234fa95712a68d1a698974 Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 16:43:50 +0800 Subject: [PATCH 8/9] apply copilot review --- .../js/__internal/scheduler/appointment_popup/m_form.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts index 028853b63843..88f091c34ee5 100644 --- a/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts +++ b/packages/devextreme/js/__internal/scheduler/appointment_popup/m_form.ts @@ -885,7 +885,7 @@ export class AppointmentForm { } const hasTopLabel = firstSimpleItemElement.querySelector(`.${CLASSES.labelTop}`) !== null; - const hasInnerLabel = firstSimpleItemElement.querySelector(`.${CLASSES.label}`) !== null; + const hasInnerLabel = !hasTopLabel && firstSimpleItemElement.querySelector(`.${CLASSES.label}`) !== null; iconElement.classList.toggle(CLASSES.formIconTopLabelOffset, hasTopLabel); iconElement.classList.toggle(CLASSES.formIconInnerLabelOffset, hasInnerLabel); From a691112f94543b348b215a5cfcbdbc4dde08d3bd Mon Sep 17 00:00:00 2001 From: Eldar Iusupzhanov Date: Thu, 22 Jan 2026 16:58:47 +0800 Subject: [PATCH 9/9] upload etalon --- ...ith-labelMode-static (fluent.blue.light).png | Bin 0 -> 29590 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent.blue.light).png diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent.blue.light).png new file mode 100644 index 0000000000000000000000000000000000000000..3892cd4d9df8f8e600a48c2b12cbac10173d3c04 GIT binary patch literal 29590 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