From cdf69f4f4e218becb95b2003c7cf07c8cb1d1dd9 Mon Sep 17 00:00:00 2001 From: Ryan Kulp Date: Tue, 27 Jan 2026 14:16:53 -0500 Subject: [PATCH 1/2] README --- README.md | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 1d78173..99f69ae 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A Firefox-only browser extension that displays images from your TRMNL device in This extension brings TRMNL's calm, distraction-free environment directly to your Firefox new tab page. It connects to your TRMNL account and displays the current screen from your selected device, automatically refreshing at configurable intervals. -**Note**: This extension is specifically designed for Firefox and uses Firefox-native APIs. It will not work in Chrome or other browsers. +**Note**: This extension was originally designed for Chrome but adopts [these changes](https://github.com/usetrmnl/trmnl-chrome/pull/5) to work with Firefox-native APIs. ## Requirements @@ -78,26 +78,10 @@ This will create `trmnl-firefox.xpi` which can be installed in Firefox. - Use the "Logout" button in the bottom overlay of any new tab page - **Developer Mode**: Use the Firefox Developer Tools to access the TRMNL panel for environment switching -## Project Structure - -``` -trmnl-firefox/ -├── code/ # Extension source code -│ ├── manifest.json # Firefox extension configuration -│ ├── newtab.html/js # New tab page implementation -│ ├── popup.html/js # Settings popup -│ ├── background.js # Background script for API calls -│ ├── devtools.html/js # Developer tools integration -│ ├── panel.html/js # DevTools panel -│ └── styles.css # Styling -├── pack.rb # Ruby script to package extension -└── README.md # This file -``` - ## Development The extension uses: -- Firefox WebExtensions APIs (Manifest V2) +- Firefox WebExtensions APIs (Manifest V3) - Vanilla JavaScript - Native Firefox storage and messaging APIs - CSS with dark mode support @@ -108,4 +92,4 @@ Pull requests are welcome. Please ensure all changes maintain Firefox compatibil ## License -[MIT](https://choosealicense.com/licenses/mit/) \ No newline at end of file +[MIT](https://choosealicense.com/licenses/mit/) From 380537ab493e4f308ae49575128befe33d949103 Mon Sep 17 00:00:00 2001 From: Ryan Kulp Date: Tue, 27 Jan 2026 14:17:17 -0500 Subject: [PATCH 2/2] import Chrome, tailwind, etc latest features --- .DS_Store | Bin 0 -> 6148 bytes EBGaramond-VariableFont_wght.ttf | Bin 0 -> 936656 bytes code/background.js => background.js | 317 +- code/README.md | 110 - code/dashboard-content.js | 62 - code/manifest.json | 49 - code/newtab.js | 416 - code/popup.html | 408 - code/popup.js | 531 -- code/trmnl--fav-icon.svg | 16 - code/trmnl-icon.png | Bin 33219 -> 0 bytes dashboard-content.js | 7 + code/devtools.html => devtools.html | 1 - code/devtools.js => devtools.js | 2 +- icons/icon128.png | Bin 0 -> 6469 bytes icons/icon16.png | Bin 0 -> 683 bytes icons/icon48.png | Bin 0 -> 2059 bytes icons/trmnl-chrome-icon.sketch | Bin 0 -> 13112 bytes manifest.json | 40 + code/newtab.html => newtab.html | 31 +- newtab.js | 272 + pack.rb | 29 - code/panel.html => panel.html | 1 - code/panel.js => panel.js | 6 +- popup.html | 162 + popup.js | 330 + code/setup-logo.bmp => setup-logo.bmp | Bin code/styles.css => styles.css | 150 +- tailwind_4_0_13.js | 11109 ++++++++++++++++++++++++ trmnl-firefox.xpi | Bin 57358 -> 0 bytes 30 files changed, 12037 insertions(+), 2012 deletions(-) create mode 100644 .DS_Store create mode 100644 EBGaramond-VariableFont_wght.ttf rename code/background.js => background.js (60%) delete mode 100644 code/README.md delete mode 100644 code/dashboard-content.js delete mode 100644 code/manifest.json delete mode 100644 code/newtab.js delete mode 100644 code/popup.html delete mode 100644 code/popup.js delete mode 100644 code/trmnl--fav-icon.svg delete mode 100644 code/trmnl-icon.png create mode 100644 dashboard-content.js rename code/devtools.html => devtools.html (99%) rename code/devtools.js => devtools.js (80%) create mode 100644 icons/icon128.png create mode 100644 icons/icon16.png create mode 100644 icons/icon48.png create mode 100644 icons/trmnl-chrome-icon.sketch create mode 100644 manifest.json rename code/newtab.html => newtab.html (74%) create mode 100644 newtab.js delete mode 100755 pack.rb rename code/panel.html => panel.html (99%) rename code/panel.js => panel.js (84%) create mode 100644 popup.html create mode 100644 popup.js rename code/setup-logo.bmp => setup-logo.bmp (100%) rename code/styles.css => styles.css (51%) create mode 100644 tailwind_4_0_13.js delete mode 100644 trmnl-firefox.xpi diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..158e3cf4a7bdcbd850eb47558cdb5cf0deea7e56 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zj35RBCIAV8Fop~hRD=a&9@vcHoOHwBGz3ONU^E1VTL>^hJjB5bp-0Kl5Eu=C(GY-#0H}OWfVAxy9H2C)!OFXLwH zuyzJUu+1PoSUUqF*k%R>Mu>I>MySoO&I=<%I|Cy`I|C!wcCgb%iO~=k4FRMOV1}>- zK=r>X0|P7zK}1K%(GVC7fe{e`j4Up}E>7S|8M}W$buFkqO@K;+>R?E9462wJK+>RU o9b6SNK?W2hph`jFAgv%8Top4iFo3m=HUwZHG)j+#0R2M%0CKb}OaK4? literal 0 HcmV?d00001 diff --git a/EBGaramond-VariableFont_wght.ttf b/EBGaramond-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14663111f30341c9ce2c99464535485fd3db28a2 GIT binary patch literal 936656 zcmZQzWME(rVPs%nVQ_GFadn%reo{CC1G5PO18ahNfPZkr^z^$7jMD`em?T-;gF~HE z#H$1u82BbIFsRP)2y+aYQ4tTgG0-z>!wN!1^RGy)3clzU_f?49puu7+AKY zWuzviNWEuT!oa|Ign@yaFxN-fA>>uF_RVDw>NU|`?D_`h`nOD_WhBLn0A{|x+~u;t-ka$yi> za$#Tx@fZ*Q#0P~vNHyC5h67+30S2Ld1qNkf0|t|72L=a_7$XA%^ZS3-7#KLe{k!)k zi}MJYISf1;U=cWM^b%U|@=1 zU|{56WMN=n+QY!W$jQjczyQ+2$i=|Gz``WJIDvtcfq|(Dq>jNGLNmrO7%_YRnG3@Y z7?}PCF+Tatz`&pZ5(`LkO#ubP|Njs_vxqacDKIe32gxx`VCn+J3WEqJd>J?xm_R9) zfejS13`}6RGcYh@mL%pdax*Y8@G!_QXfT*CI57AyFf%YPFflTM`~`9?#P^I$Am2dQ z%wTtdhD3%!21bTrhIR%`}M>anH*Mm8U|UWMz(ymVg^RGDz+L1Mz(skdImc=`vdn^21f4h z+&>r?xqoy2V_@WA;9+23XwpY=cg zf64#K|8)!v3{4C@4AU6qGpu5`#Zblot`j;YO`o%H+3F2jckMrN^4#UCH|{=q{`$?k z_a8of`uz3V_a8rh{r>a!-+x9XW)@a9b`DN1ZXRAfegQ!tVG&U=aS2H&X&G5Lc?Bh9 z6;(BL4NWZ_T|IpRBV#jj3o9F2J9|fGH+K&&Z=Zm`pvb7$_@tDyth|DXI&i7Z0Il_; z8NEQIE(<3E1H&%nZ%{TPgBbGzD4U6akNFam&CFoMJOj#RVNhc(g0fi|q?jY1Y&HfJ zW)mozgF%W}3d-hWuw%LdWpgv=F|C8Ld63w=j0%i>P;ov66UHbgTarPJ(FVe1WMJT7 zG=Q=h5pH8-V&Gv^fr>LT2r!C3*(?kkj66^_D}xZjFDRRhL66}Kl+Dhd!>|C#=3p>j zD1fp#88jF?plmJ%BL*=jo11}$feXq8u^1SF81fl%84?-t7(5wD7!nzB7%~}>8C)5h z7~B~W8HyMZ8FCr&8S)rXkW}h2xH42Qlz?TO81fl%7*Yu8AXZ&4Ln=cqLnZ^U>U|kf z8B!QB8A=&)3A!POA(bJWp_Cy9>@!S1!0beK1F{|A45pH$Y981C}vP# za07>W34;PdFhf2=8bb*~IoQ>y3<^*ckeEtk$YUr5hk*h^DL9@|8HyMb7)ls27(i-+ z89W($7!(-%844IcYLQL$0mn5+6l8)9g91Ys14uW>ZJ;<;U@&CR17igwm!aAVb4?;c z8ABr2Pl*gk3^`!C%Na7k?oePz1pCO5A&>#YE@7}@PymM@so{efrs)i+(C|xPC}l`v zNMpzYyI+qXk)eb^pTQk2ufX7fq5|X!P?`pXOENg!moa2A(j$XyC(`avNNQE$xvn^%8KNs!z$oP$6r#Xz$Hg^NfnlDHV~7GnLP(Ie0)r9* z!~g#bGGKF<7?>GY7+4wD7}yy&7&sXO7z7!F7=#%_7(^Mw7{nPQ7$g~_7^E3w7-Sjb z7~~lg7!>j7=A}qC4@J7UDbmeFgzgCpOupVO3JiY1K~4&w9yiWVZy-GA88YC+9Fmfyods=?5k~z@!tHv;mW5`5^TM`9&#tj9LZB zi3N-*1t1Z*;>^4>Mv3CwFfxE*hY{TSWn_>A%R+LS7y|D!elof}pMfjfC7{;9$7GaExIMg9(Ecg957! zgBZxwEUXMnOyVFG^H(_Q3j-5#4+Ael0Ye5u0z(8t0D}jE1A`TV34%x@T&8Lu;mvv7fE#*fUe!1R0O zmtgu03n!R<$ow2k-(!9TrVlVMGl($oF>o+H2HWunY{x^8>0nnrfV1v1Ffq?yU}WH6 z2xmxQJji&RiHAvmNet{8P-uciLbw>1n3po&1C3KKiL$(40F7jTbTBapFtBpX=9r%LX7b=<0g<8RCN(ph8IP34nhpBT8v4K@dx82#x0C<7+V-~7(*Cs7}XdB z7=AH4VK~RIgJBUv4?_h*3PS*c9fKZMHUm2oFB320U*<_nQcPT2wG14{e2!wSLIzHl z2;)b_)1X-3%107A4${l`ovRp0>;U6mkUP0@8Mt72nRpo=GTvak$0W|xfDnb5$WhGI zh()x7s}xg|(}}AFQ znZz0YGJa<~%{7C8gYh8aLnZ+x0mi>fyi5Y1JjOMhft7I+6BpxYCSEXq6DSXYSsNKx z7$1Ukf_RMA8UHeIf%U-h8_4`gTvIp$IRiKYI0G3N8Q4I%inE_{0yt;E^B?0q1}Vnr zj58Q#GR|V0%{Yf~F5^7L`HTw~7cwqlT+FzHaVg_6#^sDF7*{f`VqDF*hH)+9I>z;k z8<27^4+Aq}HS-GQ6(D~zgtH{F+(YuW8MtI%Wl&>~V~}7FV&Gx^$iT$-k@+116XQeX zr{HqxHMqq2$ov9KKV$$6>t07P15&yOFmy09FjT-x!ypD91~=sLkohyXr250a#3aD{ zmw|~%jQKa%u3w;V1C6^ezG40Ww)Z=z^kV)7Dj!)`7??q&6$>+nX8g#)1g77!FoNkf zEDT`!A@hGQeUJGcm_7h&eFls$|ywfR+h;uQ#klJ1ULja zggAsbL^wn_#6V+&9FiPT9MT*z9I_m89P%6r9EzZELJk!URSq={bq+%gBMxH@6An`j zGY)eO3l2*TD-LT;4o*%^E>3Pv9!_3PK2Cm40Zu{AMVyN{mvAoST*kSaa|P#0&Q+YN zIoENn=iInGPQuHRgLxSnx6=X$~QlIs=MYpyq3Z@J!aZ{Xg@y@`7>_ZIH0+}pUf zbMN5Z$-RqvH}@Xyz1;h__j4cMKFEED`!M$r?xWntz@v&x4El_l7PHYK8-x^_=w#hd6sV`xp*$PUD=;aFk1sOOW9>moS$I!wD`$E=7h@ zT$)^(45zttxpW!MaOrayGMojMtQWYGdW-(zgWiewhXR%3=6U{qF*&|2^RJzYm=L_k+{_L2&v%1Wx~l!Rh}9IQ<_7r~i}S z^nVJR{?CHb|2c5_zXDGGSHbE3Iyn750;m7S;Pn3joc>>e)Bh`Q`hNpX|L?%*|2-o8 zgW6AwRm{to#Mt(*?Pc2sYTqzeF}`6EVDn}RXUj%XsmCC~aggH>$6<~m97j2haUAD3 z!Eut~6vuXs9UMD3c5&?H*u$}xV;{$Ujsr+F@M4ZNC^az1ltPXoj$)1yj#7>?j&hC) zj!KRyY$k(E0qF`w*PNHGvplGIY5*0@Rl6QHik6D8pc}2 zI>vg&2F6ClCdOvQ7RFY_HpX_w4#rN#F2-)g9>!kAKE{5=35*jNCoxWDoWeMjaT@bV z=2gtAnb$C{WnRa;o_PcFM&?b-o0+#TZ)M)byq$Rm^G@bn%)6QQFz;pF$Go5U0P{iS zL(GRc)^e=lSkJM6V0qGcl+^<_{Qz7#JD!z`b_p3IUG$9H2D?pqX$P23Y@}fq@?!QZG3^fz>i{ z{6#XAjiCZ83vP2Ei~rvZYTI!-!Nr&ut}vvtPGz0OI-PX}>rB>Jtg~6?u+C+j$2y;N z0qa86MXZZim#{8nUBW*lS=X?xWnIU*o^=E3M%GQNn_0K8Ze`uZx}9|g z>rU2Pth-tFu9mxIlgdw<@m<&o#O|` zPmW(4zd8PJKIMGI`JD3w=S$94oUb|Ga=zny&-sS)KIa3@hn$Z%A9Ft8yvO;0^CRac zZVhftZY^$YZXIr2Zar>&Zh3A6Zbfb-Ze?y2ZdGnIZguW+42%rvNG&u);@fD9h!*7~ z#_PnkDLJs@9!?`pV@?xJQ%-YEOHNx(dr&#V=?d;4Ok6X zjaZFYO;}A?%~;J@Em$pCtyryDZCGtt?O5$u9atS%omib&U07XN-B{gOJy<XD^AP7&&TX9AId^dGaET#}HJ&wrHIX%mHJLSq zHI+4uHJvqsHIp@qHJdeuHJ3GyHJ`PBwUD)lwV1VpwUo7twVbtrwUV`pwVJhtwU)Jx zwVt(swUM=nwVAbrwUxDvwVkztwUf1rwVSnvwU@PzwV!nY>qOQ`tdm)%a9riM#&MnF z2FFc~TO7AJ?r_}YxW{>c^CIUZ&dZ!vIInVE-TE2MbjV_;z{XRKhXWCpFJ0nGyVFk~`bhpS*@U}HQCDuoyy zB8xGUg2dR|z$=D8<7bSFVhkM|Q#krK8aRqLQaHjmyf|z)^f(kaggBVkzpy`JzrlWr zeGmIK_7&{2*n8OP*bCSb*rV8e*zMR2*p=8t*jd=VusvbB!ghph2ir2XX>4t5C2UD- zL2OQJMr=xKLTpT|pI9HUUSK`Ix{h@YYY%G;YYuA+s~4*Us~W2aD-+8HmU}E`Saz|j zU|Ga6hh-Ye1ePwA7M41e3YH?49F{be1ePe45Eefc4;CjD8x}Jb0~Re76&5)b2^Jw1 z9u_th2IgPPUzlGo-(kMMe1v%i^BU#_%u|@#n5&ozm{XV|n0=TXm`#{9m}Qs+m|2*9 zFuh@Vz;uP_1k)a-4NOazW-#?IH87PhWiTZ%g)wp3?Aw*a>S11r~Uu4i2Tx%s)}8Cbcpxc+eSam#V*Gq7@Ha{cD!<(B2v zV_@aV;QGnU!!5(D%fQN&&h?#}n_HS&hk=zVjq4jX7q=9*HUleHD%V$TPHstVEe2Mu z6s}L)9NZGznhdO5T3jEw*}28JH5gbqXL4@lJi&RF^AiIr=M2tGoX0uuaDHT9E zgYzusBL-H^GR}FN+d0p0K4f6!EajZbxsCHQ=K}^-&JxZ!oLf0hao%TO;f&%u#Ce_b z4FfA@EawK!qnx)m-!rgr{N;?{T+exg^Cssz23F2!&UKuJId5>jWnkruk zSnpA=-XmbWhrxOef%P6_VB)9(+gk~?w*qW$IoRGZu)U>VdrQFf7K80A0^3{2v7Lc~ zV-3ePj#C_0IPP(L;`qZU$iTs|nqw=+Nsh}LcR4+NGIW}?}8|i`NtZ|I+^t(13Tk7=7Y?)S^l!duuftaDpEZoNhxHHxJL7WZUCdWl?y-ilcC#L2U}s#$ zyp#Dd%N^Db)-Kiq4D5_cnRhT>V!6N?%-YGipMjlm3G;U5i!3KugIGIQ_c5?DE@s}w ze1YWzYanYo>s|(S#zo9qna{HvVhvzzW8K5R&bW|y3-dXa{jC11t*pBlI2ac&FK6D& ze3oS|s~>9%>n;Wk#`(-km^U$>VcEp$%i7GklYyOa9`i=#(=6**eOQ}VcQCLs&Sl=f ze2Qfit2b*S>vjeX#yQLjnb$L)WLe4T#oEBSje(VU9m_ISPu6cLvax`lzAaTfC$=Ho20S>0J{SvNDVGtOjQ&3ueyDyti74eKTbcE%aZtC)|nOk#Cq zt!CZGz|J_Gc_s4^mUdPb)+*Kw3~Y?k7&ovqvpTa@vaV-fW1Pyko~54EiM4`t9RnNV z6vlNdb*zr8<*aKN*cc}>u4SoVbzm)HUBke}IEir$OEs%KYbon$1}4TzmSP5W#xll< zjH_AlS?yR$SXVKyF-~Ay#gffx%UaC3l7Wq}pK&Ei8mkR!5$g&DHpV{26)Z`t)~toB z%Nf`hdl{FrB(hqu7O*a3U}NlIT*ea5YRQ_fsL`7aVbkMs|9Nw>kY+;G1f88WRYUkW=&+B&cMc4%Q%BYl2wZ}fpr=K6Jt4x5Ca=y4dZkc zK2}ZEcvjHbVd#i1Qx&5Xbi@jIyb3W^1sSPA9;X70Qb9(jK;u)`MyH(N<5I9ODaeQv z>UdNFcq9ro4h0&8f{a0-jzHByN1j^H$DOc_LL)|?A>+@;qtBqRXUMoSXw(_onDaiC zgYeO2#7Hytapt?=5oYA^Wzgs{;j!gE&@pBBh%(!5$Y=@W<7m_xo94LB@qptY$0Lr% z98Wl&ay;XB&hdhCIe0vJHfY=#Jmw4n0fQxj z9D_B3HG>9&9fKo-CW8xuJA*ERCxbVGA%ibNAcF}*FhdA~B|{iP7=txKBtsN~4MPk= zJcAuWGD8Z36GIw927?Pj7DEApJ9vc7kD-d8hQXhqo}rx~h;cLHE{16Ecy}`6A;x12 zsf;HWPcdXMo?*Pmkjr?P@d`sR<4wk!45i=^@G{2xj1L$p7#}gdW~gF($M}w+h4BO9 z2ZmP0PmEs~+8BQ@{$c21{Kv$`(9gud#K|y&iJOU=VHOh~6Fx zEt@Ty;ShLK@i2I7{RziQj!%pnoEDrGj6$4NoYsuOoYkDwjG~~?Lq;*sxFMqimoS$w zqa&yFWyNL1D9^Q+YcZn&Xq1pq5i~x?s011xWYh(X z4>Ib3#s?XVLF0prCfvQ;y^N-y@j*s2(D)#u1!#Pb(US2CgAvn~|Nn@^%o+cG!!VOK zgD}%E20g6!6N4-hGB#mQWg>*d8C01V80464GU%dX#>))KOuYYpGix!Z!Z2e9gD}$y z24N6Q82{hR81jEN(@F+;CJzQ_bj;k!Aj~Ymzyrrj41ypw({Bb{LYSGAK?{UI>Xw19zuc?u?G zI{g1PlM@32299QsVM4~BFo%W>GZO<3*v%j}bu;iYc{8XoSuk)i9b+(On!=z5idSY? z27V?-23;oc|9=?&F(@`zm(##4B(kwX)Jj}lsctGhD6z3qbv4#~aO~d>Ji$`V#4VamrG{)S_pvvUIpa70* zm>y_4WeoX$3vLHUKP)bxaRZ7=P`rWDqbh?cQ#6Av*!>`LKxrAI2N{Fn0VLPJpa)KW zpzw`nP-l9?pux1@|1TzS231D;|0kI4Gw6cDAEq9Z&tMpo-;nbaj1966grRN+nFY&B zVD};A8xSAlFAxUj2T;6&Fj~F<=Lt~00Ab|3A;G`{4tHd~fzmt(!@>wkgTe?MgTf32 zL&Fm#9?{Y?I32^%GIF{Fg(oQ(7Cs;v6kg&C!r-t1u}v6ML16;I82&@{D>gPZKfuI5 z@d(5J8B`fRGAM)dBRIVOe`C^M;AT3>pu%j$pbCx;kpJ#8Xfl^D2s3T@|C{MPgBWu* z0|Vn<231g4g3=hX27@ZI34=7_83sMZ2MnT2F$|(i>lsv;mN5u0gYp?D{6OIXa_b`o z37DT4pD^$tqyw0G@B*&o2I3J3u7*rYmG3YYcGpI63F{m=K|9{E&nn9IuE`usl zIfERNC4(xHID;NWvGh)NP7?c^GGe|PAGbl5H*li4QjD&DKgB;^@21zCd z21!Oc1_{Q^4BQxaF@p#bGlMV_JA*J2^Z(}zUl}Bjupq-%1_6ez|35K&{r`{gJXnr} z;VXj(!`J^m86N$A1H+708H5>cF-S0cU=Rl5e+iVYFs;BdMM@e9bkU^}cBl$n_SzhPo#;01*l<2-0wJY-O2 z+R7jd4g+BZe#Vy!3{3nC5=mQ@Fg*Cb3}iQ>GlMddBm*mBC4(g66b1>#Neo1ZriIqW_ zF@ZsyaT|jaV+VsclQe@e<39!g#=i`9;5<8pL7DLlgEHd}24%*H3=)hf404Qh47!Yu z8FU$sFet;!0H=db49bk>7+4v1FfcJOF~~BpG6*w%2d6(-Mg|61hF=U43_t(>VifuR ziQy50FcTw#Ff$i}4AVabNv2;65=@f+-!Oh=kYEI*TTnV%!C=mGgu#f(lR=r$fq@l_ z`x#h4;e&)(8J{pnGah7+V031XWBB!d0mIY(9~gTWI2d01FJ-i1-~h!rC_EY8Gl(!= zVUT6q_Ww82+W)^nG~*5iad4P`(gG+AtYQ#i1dSwAGAJ-sf<`_Vl$jPYXfUo|kYGH) zAjc%gpv%O`Ai;3;e-h)l|KAuVLi4~n25v@B+u;_2GBYQGGSgiKWhORA+GJY6pv(ly z0~Z+t7%wmgGu~j}W8BQ3!Q{%o%Vfd8%ed|TU#8;!f0%R`BpLrOm@#QENHeK3NQ2B~ z6#RdI@e6|#<9r4Ira}fDCVd7o#&rzRjI$WHm_!()8DB7PGF@TdWIV>80!kB1%nSlB z3@*b!c^Dl-(;iCM1udIEc?t=G^BBX||92U_{(k~a+n_QAnkN}P{Qtu6;s1Ar4-7n@ z@&$%L=^Pn@(={x8g5nia&as2bCPca6$G{9u>*!?%sLVjZpm;>bjG#2Xje(VEEd(>J zW8eZ~kT@t_p%~;ZMyvn-K$ImYYWw;+f zjJFwtL1~+bgMpRlEdwj#Dh7T=F9rdo#SF@f9~k5qT^Lxv?wH8H&ai@k0hI5U6d05l zyBRbY-!O$rj0Ox`;Jm5Jz{P05z{<$aAVRM;3llGcFw1oYT^3meY33{jWoA&B zKaW9~S%N`=$(})iMVvu`g@ZwY8H8CGB$!_?NHG0mkYILYkYMIykYHkCkN}lSOfMNE z7=JNHFu5>DFaL1LVAaEvp4LGg|y zjv37ultK9oYdnME9x0wdaZXe`gVF<$ag8Nj!Eue21~B59==g5<{{SQ2vBft?j7o9N zTreH7y2J&^Qyb4TCCp%osGb2O1Ns{r`&zgnu(=fXBT+ zV>+A+!Yo`6%q+Pm^qt4n0Y$`EAt8H*ia9H9#c1iIVkTy@c-RRzZv*h zSQu29=Kue~^o~KAX%2%Z^P&I$m|ik4fb3^#V_*Pdke?bERGBYB+|M+XL6zwugFMq- z1}>&o48ovsL+0ZQsw`{_s$e%iV9*7R{e#>L8{azo|2KHtY8it7(;5Z=rpXMdObZ!Q znH3mVK^WvFQ1~!)GN>|v!T~gn1qug{ADhABUEsM0&>RCeOhIGgGZ~~odO%^y#LS=p z3sbP$LE~E>+|6JP4l_`=fiTE^R!I0TvHsr;4#(>ZtY9Ap;Y* z568(M0d9AHXOIAoqkzVmW-)NV+V$Z6E~pQ4fPtNfi9w!e3xfm*gZsvy@rt_)TujLf z5=_|)OiV4{ey=R!90p~^84MbrHZpju=+XZ-AhVe!Ge|J*|NoKkIRiiAWd<&$l?<$4 zyFp`dAe;nVB_{!MJII|(EDRD%atvHdMhslwHe~^W1k)`B3C7%89!S?4W)Y2s7Sc;9|Vazy%tM0-Jvo+{a>KVuiF-LFz%_0S@1O$QT?r zJSQzT^z>I3X)6+(71m;sz8pj9LG`F)m}^Vm!nk z0v@xt&AFR$SOk4gxVcPQl8k7&tGg#Qz^-TN!ooU+tZ_Et;-!Sw2f5y!F|06Tc|EEl=|9@pV z{Qnzs&;RetegD6)u>60+!uhP!q zjd?NtW3XXd_x};&BJkL!E+c4s>I{P*<2nXihIb4Oj8_ucmIDd zy!-zdBoD_RGmIFN!EW$l&}9VKIRV^X2aU~XG6^$?Grnh#XFS6o11{G*9`9%1Q_1^ z|HJU^|9gga{~t2EV^BhbFM~M4I|eR>cmLmk!WtCjpm@TILGcH|n;3ZE@j?b06wkE6 zpfZs0;{U&l-x(x8eM(R{4)Qa&|Hi~1$GDC`j&T!%Ah^Hvk3j?6Kh9vV0ri(aeIF)O z1}<2?mhlUN8n_Qz2I>DYF+=;CeheZ^nGEKjej~_yrYQ`%R5PD|9Uymu+zfUvsBZ;w z%M=D(P=AEUj{)4r1F;#c8Mr}wI0mVOx)Wvw!`=V;7{31h1)4L0mFbL68Mr`w3{aZ` zG&csH7b7$u25NU`FsL$ZWKdyb3l}#mXQ89;ZrRPymffF)=bo zfcnXxaVg}nD6qRgV_eUnV_Tr{D9{*n6@vms+ckzk1U{DafI*k>0YePq0|o`g2Mk7x zpfSP+3?7UR81xw*FsLv-U~pu7z+lQehe3nIgh7M(J%a|zG6oIiPYfC?z6=^H?hG0% z_7FDf8U_uPy$l+xp$rHix4EBuu3?7UJ7%UjKGiWf*V=!Vo0O@ZqO=A#dzQG{O{Ek5wydLEN0|ToG z0|Q$k0|SdVgD|KK&cgWrH>>mi-{AERp!Urt23b&F2-J=R&1Ev}XOLi;%^(44<1sB{ zU}bJ(U}Z^TU}frKkN~$k%NV$rqabZe*n9_Q9)jT+gAKzo1`&oI3~mfh7(|%XG1!2{ zDnOXAg29ckg29pD1cNSP41+FX2!j&iUIs_TD-41leN0ms+!*^Agc$o7q!>>z*f36I zNMYE>V8mF%;09hFCClK(ENgYgxE7TjEB23=>3Yh%iJl zh=A+>VTP~ZK8qo`e?jqp9Dj_m433Pl3@Ipa7s8+fvKNFI&oc-z+A|0-+A~Oj{QY2U^@K&IjH{+ZfhQ6&}00?puxD4 zL4y%APh|POg^7WIi}62$2&kR~)whhGa^VpJ7qiv>Z%nxi5=;>c5}>{}NRG)By8bPK zL4rA*K?1Zki}5yt5V((S1-4%qlz*9)FxW8pF&HsLfN>F%AA=i{8G{iR8!(tMfiOtk zkHG+>4wQdE7^I%@3xfgETLxvO%?!GXmj7Eo?SG~v42qz!493_0e==q;h=AMhpfw*| z4E)T88TdhZ87DI6GFCGvfN2oB9Kr_c|H2@`Y{Q_zo;WMpATVPyG#g0Y4n zg|UW#8B{KT%wmpYFa=?-J3(&EVbEp%%izW`fx(FF34;;bjz$Ju#zqE7#tH^C#v}$U zCME_WP(8-1#h}Ohg29Mcfk6+nW`!&xG<{ zAZU;r2s4^7=rXNlFaYB~1_P#k1|u+D&7jXL$Y8_-q4l6NoX@<5fge-`g4X$f%0s4g z3>u7g85Ecd7$lh(88jG+7;G428T^=}82CYIL3V*K(_023rY{U?Ou-Dgj1w3nm}W9) zgD{I0gCtWFgCwI8gCxTyaQUbK2~UO;Mh^xK#vKgG;IK$$;9+KEFk&)ikYv(hP+g9eK{g9eKNg9ZyDg9dnQUIc>@ zlLvzm^CkvKrq>LTOurcFo;x7pQIkVI~I#UB=H0B8-a| z%o#NqBpD_%7=bXO9k_ic0#eT?!63>g$H2=plfj57fkBP&C4(*_Xza(GL6^y$K^GJz z@UU3Mpv-ue!Gx}jb&r98>l*_DHy;B7w;BTj&rAje zo{bC)JSQ0#cz-i6@bfS*@T)K|@Y^sj@P{xk@aHfv2pBOi2=X&92-z|)2v1^Q5MIT= zAY#kFAQH;JAd<_#AkxafATpPML1ZffgUDG12GKbT45C{Y7(~x7Fo-^3U=Yh?U=V9% zU=Y8@z#y@dfk9#~1B1j>1_p_@3=ERb85pEv7#L(0GBC*OWMGiF$iN_{z`!79!N4H5 zoPj}ZKLdl@bp{5x_Y4g3>dNMF5CNeN6Rx&UsGchnI z?`B|7S^_2_^>IWGZ)Ne8{XuM%y(D=i^ zp!tJ=L0guALEDspLHjQQgN`TzgN`l(gN`c$gH9|1gKi=NgPtD)gI*p3gI*g0gWfy_ z2EAk_#=u~8j)B4I83TjWKL!RH zX$A%xZ3YILcMJ@+lNlK7@);QH>KPd9Js21qtQZ&^^BEW%>lqlF7BDb4-(_HMNn>De zRbyaq%VuD3f6Kt&smZ|LY01FgCCI?w^_GFbM}dLC=K%wQ&j$tu-)9UAe&-n&{9iLL z1WadO2<&2D2s+Kc5WItdA><$fL+C69hR|IM457Ce7(zcWFoX#)FobC_FobzAFoY#B zFoabxFoaEFUS{WF!gc%sJOBon)HZd^d9%Nw1y~)6k`;mbmkCTBRpM!xR|2hLh!50RG zLLLT&LKOyvLKg;x!W0IE!WssK!Z{2Kg78QL)`@ihPoFF4D}og4D|{O4D}Wa z4D|sF4D}fd4D}5R42?Pr42?bv42>xa42?Am42^Rb7#g=QFf^WFU}${8z|i=IfuTu+ zfuTuMO84L`q8yFZ`PcSgFK44&IV_;xtQ($0db6{X-i(p`AD_~$~>tJALTfo53wu6D8 z?E(Ws+Y1JUb`A!Hb`1uGb_WKA_6P=s_5ucm_6`Py_5}D4+AlCLw7+0r=wM)A z=#XGw=rCYl=fnka-1H+V528JoM3=C7#7#ODhVqlnV#K15kl!0Mp8w10vJO+l@ zbqox1&NDE~b7EkapTfYfK%IeMVJ`#2qFoFOi|ZH|mU=TVEOTIBSnkijup)_pVP!W1 z!|D85lN{GB9kI%D}K;DFegC zR0f7kE({Et)fgByA7WtG62`!=HHU#=+W`iK?H3prc3fa!*d@fkuxl;@!)`?ehCNvf z410wc81@-6FzokbVA#Kjf#E;`1H(aO28Kg&3=D^^F)$oH!N72&nStS`H3P%3GzNy_ z`xzKc9A#iQIh%pu%hQpPlbWu zo(%)TeJKWp`>z-n9xyR5JQQPKc({Ur;o$)WhKDy87#@CLV0iR`f#ER&1H)r628PG4 z85o{0GcY{4&A{-ql!4({HUq%Zil2eu)lmk9*LxTk z-aKSrc=Mfs;Vmx%!`lfA3~yI3FudKz!0>K41H-$$3=Hp^85rKLWMFu|pMl~1Z3c$- zpBWfFa56A_kYr%^@Rxz%lLrIC=jjX#U*s4VzL+sEeDPyo_>#uJ@KuF@;oC$8hVMNL z4BwY9Fnr&`!0`PF1H+H&3=BWsGcf#&XJGhQ&cN`qpMl|5Dg(o>S_X#Sh71h9-!L%z zVPRnSBg4S(XCDK@pKA;Zf8H@L{AFWc_{Yt_@Sm4~;r}b}ZAXj@dl(oQt}rk%<}xrc zwlXj>&ShX^+zPrqh=Gy$3LlBX>CiBX>UoBTp>@BX2qbBcBBW zBj0}pMge{XMuGPXj6&QDjKc8@j3UAejH2cYjAFJ7jN;M^j1qbbj1ngp7$tid7^RXK z7^USH7-d))7-a<*7-c^)Fv@c>Fv{O&U{qMaz^FKvfl+ZU1Ebil3})Rkah)HPsW)V;;PsP~(JQU3@7qrp=KMk8+qMq@?>M&ox3j3zf3 z7)|FgFq)+^Fq+jeFq%g&Fk09$Fk0p_Fj}QBFj^ZjFj{|SV6@rCz-a5vz-arEfzj?6 z1Ec*#21bW!21bW&21bY342+KZ7#N)r85o_p85mty7#Lk1GcdZIVPJH-#lYx(mVwdZ z5(A^>eFjFauMCXdhZz`s3>X-FPBJk1u4Q2K>tvjglww(-&Z5J6B+Y=cWJ8~HqI|~>XyF3^eyKgfv z_8K!V_MT^8>?>wq?6+cIoRG@EIN>J)<0L-@#>p-WjFUqc7$@&#V4PCPz&NFofpMxY z1LHI$2FB?<42(0f85n0YGceAW&A>QgGXvv{(+rF=UNbPxWM*KTDb2t*)0lyArZ)rQ z%wz_}SrH73vnm)EXH8&WoV9|1an=b2##s*-7-#)pV4N+$z&KljfpNA21LN#42F5wl z85rkmWni3hnSpW6YX-)-%nXckr5PCK8Z$7?4Q61Ro5{d9w~>Ky?o0;8xf>Z6=bmI> zocoZ0aqdqB#(9DajPo=Z80UF1FwVjKR3l1?bF1W?OxZo25<3cV5 z#)V1@j0>F@7#AinFfOcOU|cwffpOs~2F8Vl7#J7cVqjeOiGgtu7X#yBe+I_I=?sjE z>lqjqPiJ6UyqHExMLy%8pdy9eb?FR_xi_`!vN@goZZQwGK#F$|19_b@R2TEM{go0);}_d^E8KdTuS|E4i8{$pWa{5Oe#@qZQr z6N5Sf6QeZ)6H@~N6LS&+6N?1{6N?7}6H5dG6H5jI6H5gH6H5mJ6Uz(+CYBWpOe{MX zm{?9QFtOZVU}AZ}z{K){fr*uafr(Xufr(Xvfr-_Efr-_Ffr&MOfr&MPfr+((fr+() zfr)hn0~6~C1}4@W3{0#i7?@aZFfg&*WnkhcU|{0%VqoG*VqoH`VqoIl&cMX0z`(?7 zz`(>G!N4TAnSn|0FawkDUIr$ydObr_iBZ5Wso z@)(#D`xuy%*%+8qG8vduS28fE%QG;kn=>$}`!g_U3NtWi$ucl$nKCeG*Dx^YMlvwz zXEQJvYBMkyy z8v~Pv5(ATm6$6t;5CfA(76X%K4g-^C3j>pvCIge#M+PQuP6j4#Nd_h#M+PRJNCqaK zLIx(EP6j4FaRw$oeFi2!cLpZ^EeuTlXBe3LpD-{5d}d$@Jj=io_>_SuSe1b(*p`7Q zIFx}YWElffm>dIB_;m)Rh$052h%N@Eh(!!c5xW?eB6l+|MP6oLihRw$6m^n;De55u zQ`C0`rf7Z!rsyRMOfmBrm}0*&FvamQFvT5bV2ZoXz!dkLfhnG!fhk^{fhj?Ofhnq=U|>o$VPHyq z#=w-u#=w*&$H0`fi-9Ta5(86)7z0zrWd^3qbqq{dDGW^6B@9g2Jq%3QOBk54_b@Q! zR5LK;OlDxpSbzfp&>VCz*)N_J?spkO$Q_l|urd~b`OnoaEnEDPfF!kMJVCs9xz|{AXfvKO9fvI1SfvMk|fvMl0 zfvG>8fvLZofvLZrfvJB!15^KY2B!Y=3``T|F)&To#=tZ&iGgWi5d+i2NeoOAS1~Y6 z+{M5&@e%{m#77KF6F)I9O=4nTnk2-)G)akpX_6HK)1)8v@_Js6l4M=&rg&SGF%T*JV$xQ~Hp@d5^>CF%@J zOQRW>mgzGvEnmvOw8DacY2^$Crj@H0m{#s#U|M;OfobIf2Bwvt7?@VEFfgqWV_;gP z!N9c2ih*gB4+GPxI0mLw1q@89ni!Z?O<`bKwTyvj)eZ)xRi_x3R^4G>TJ?^BX*B}_ z(`q3GrqwD8OsmZpm{xl*Fs+VaU|OBSz_hxKfob&w2By`E7?@UXVPIN)jDczO4F;yw zpBR|durM&K5o2Ilqrt$m#)^SyjSmCUnm7igH3bYzYnm9C)=XhwTCrZuM+ znAY53U|REzfoUxR1Jha|2Bx(t3`}dy7?{?2Ffgr+VqjXE!@#t*j)7_I1O}$Hix`;J zZed_rdyIi;?F|N|wXYbM*8X8&TF1x0v`&G6X`K-R(>fOhrgdQqOzScjnATM>FswVPIPKjDcz04+f_7TntR>Wf+*&>oG8`cVJ*zAH=}4K81m4 zeHjDO`VI!B^|Kh5)~{h;T7QgzY5ffbruDBFnAZPcVA{aPz_dYufoX#g1Jec<2Br;R z3``p`7??IxF)(fDVPM)YkAZ2!1_q`LhZvYPTw!3^@Qi_J!w&|gja&>&8)X=nHtI1j zZFFE@+8D&Zv@wN&X=51!)5Z=4rj4^0m^Q9qVA{BkfobCf2BwXV7??JGVPM+C#=x{m zf`Mt176a2J8wRFLehf^T5*U~^6)`YvYGGj7G>w62(+UQrO}iMFHl1N$+H{YBY10P= zrp-(YOq)d*m^Q01Fm1MAVA|}(z_dArfoXFd1JmXP2Byuk7??J%VPM+4kAZ3P1qP$S!p6X~MS_88ixvaZ78?epEq)A4TM`(UwiGciZE0a(+A@uSY0C-*rY*Y| zn6{i@VA^tzfoaPJ2Bxh{3`|=^7?`%IFfeVCU|`y&!N9cbJ_FOX?+i@aS28f|Sk1t+ zV>biSEKDwErCg)4`<-Oo#3>Fdh2Nz;yU31JmKB z3`~c=GB6!sWnelg$iQ?|k%8%`Ap_GrzbfJ@h=@K6U(CH9$-vB_$-vCw$iU3d12dZ}12dZ`12da112bDH12bDI12fxP24?mg z24?mi24;>l24>C!49wgi49q-%49vW049vV{49vW449t9$49xs_49o)d49tSb49r4N z49r4V49vn}49vnW8JI<8F))j4Vqg|6V_+6*XJ8ha&cH05!@w-w!oVzP$G|Klz`!gW z!oVz@!@w-_g@IXaDFd_o2?l2Q2Mo*#dl;CN*ch0Vy&0I5qZyc0+!>fv!Wo!V(ixal zgBh4rlNp#*s~MQp;u)CL@)?-bn;4iirZX^WK4xIn_GMt!Nnv2tHDX}aQ)gh-vu9w| z4`N_8IK#kfaEF1}a18^q(M$$rqxB5TMn@T#jczkA8@*;=HvYuGZ1ReM+4Khkvw1iJ zvqdKZv!x{iv*mLJX3PH!%vP5fn62M2Fxy^aV77h9z-+I@!0b@U!0h;nf!W!df!Sp) z1GDQt24?pN24;^`24+un24+ut24*iG24?RN24%n49x!F49o%D49tQ17?=ak zF)#?a21I4%a}xON8SxcLms zaoZV~$G}{;kAb;p3IlU-6$5i|7Xx$gEC%M{RSe9<2N;-(Z!j=y%bxc~!mxdsDsxdj7rxgP^_#SRAMigOIi z6;BwLD}FIBR|+sNSL!h^S938iS1T|u*Yq$j*DPURuGz!DTyuqix#klCbKP_X=DMv6 z%ypL;nCm_=FxT@lFxQ(hFgN-#FgGSMFgM*`U~c-rz}(Eiz}&3Bz}#%Xz})P|z}#|_ zfw|>219O`v19Mv<19Mv?19RI%2IjVv49smO8JIg(GB9`SXJGEqXJGDfXJGD1Wnk{% zV_@#lV_@#_V_@#dV_@#-V_@#t#=zWniGjKA1p{;cZU*N5%M8r@uNjypFf%YukY-?> zV9mfhv4Mek;xq>4N!bj{lbRWrC(UMHp0tsHd2#{+^W+K!=E)Nnm?y7bV4i${fqC*Z z2IeX449rs-7?`I`V_=@Pj)8gFF$U%t{tV1BQW=8oW{UBa~%Wo%p(lUv*j3= zXPYoE&-P+qo}IwJJiCm6dG-_r=DG0<%yUZ_nCD$&V4nAqfq6k41M?zb2IfVE49tuC z8JHL4GB7XdW?){lk%4*14hH6>4Ghf7>KT}qTQD%MkYZq7agu>~syw-q$dF^2a=5@aqnAayTFmK3UVBW~Yz`SuX1M?)49o}88JG{oFfbqD zVPHO#!N7dDk%9T}Oa|s7ix`-X>|kI%a*l!d$P)(UBfl7!k4iBxADhg;d~7uX^YN_= z%*W3%Fdu))z+{2Ido{49q7h8JJJbWMDpZhk^OjF9zn*5)90z%@~+ZhcGao zu3=z4Yrw#KHh_WoY#Iaexljh?bJ+~c=NcK9&rN4wKDU;E`P@+k=JVSan9rYKV7_pX zf%(F72IdQY8JI5$GcaG&WMIDN$-sPRKLhin>kQ17?=mo7{>s37g_nW(iY^25)m#SV ztKAID*G@4oUwgs8e4UMf`ML@N^K~Z%=IdDu%r~VOm~UD$Fy9PhV7~dBf%)cN2IgDB z49vGQ8JKU`GcezZWnjLY!oYmHih=o#5Ciia4F={r4h+n9A{dzOlrb>h4P;=xTgbqC zx1E9co-PCPJ!b~ydyx#x_wpH-@3k^8-=3P zFh2}oV1Agz!2Ga*f%)MA2Ifbv8JHh4GcZ5C&%pfnI|K6*eg@_z>I}?J+!>gkrZF%- zZDU}5I*)<**;WSTXJ;9hpFL$@e)gAv`MD?q^K(-M<`;Vzm|t9FV1D_If%z311M@36 z2Ig0G49u@5GBCg1$iV!TiGlg85(D#FCkE!XNes+yn;4kiu3}(*pUc4fzL$ad{agm- z_iGuL-|uB$et(vM`Tbo6=J#(InBV_pVE(|%!2ID51M|l~2Ih~649p)38JIsdGBAJ2 zW?=qQ&A|Mrn}PXr1OxNu3m~#9ua^wWzkV_>|K?<1{w>MC{9BWO`L`tl^KVZE=HHPF z%)c`kn15F?F#qmkVE)t2!2D-E1M{El49tJdGcf;o%E0{RF9Y*mQ3mF}x(v*JT^X4F z#xgMfEoNZ;+s(lIZ#4t+zrzg7|86s|FjzCNFa$HOFk~~ZFf=o;FwACPVc5*T!f=>@ zg>exB3*#mR7REyiER44pSeW)PurQrtU}3t)z{2#7fraTG0}C@B0}Hbp0}Hbr0}Hbq z0}Hbs0}FE;0}FE=0}FE<0}FE>0}Jy!1{UUZ3@pt17+9FkF|aV-V_;!^$H2n;kAa1S zkAa0nj)8?mkAa27fq{i3fPsZ2fq{jkfPsajfq{i(0s{-n0tObA4Gb(S2N+mbE-w5+k*8dDFY=R6dY|0EQY^Dq>Z0-y!Y>^BsY}pJfY_$w5 zZ2b%@Z1Wjd*bNw1*c}*H*aH|?*b^97*b5j~*c%vF*e5WsurFX>Vc)>O!db__!kxpw z!W+-P!tct!A}GwjBJ_rVMPwZVi`Z5M7KzymEK>UzSY#C#SmYNmuqbIUu&69yU{Pmh zV9_jLV9`F!z@nGNz+&)_fyG#bfyLN{fyFq4fyFq7fyKCmfyHw%1{UKp3@pY^ z7+8$|FtC`&FtC`|FtC`!FtC`^FtC`+VPG-Y!@y#4hk?c94+D#-3V%&Tkl4TsAVWxMni2xN$PD zxNT-&ad&56@sMX=@wm>w;%Uji;(3#S#q%Wti|0=U7B5Z)7B5K#7B5W(7B5Q%7B5c* z7OzMK7O!ju7Oz?c7O#E=7O#a2EMA)#SiFuhuy|c(VDWm%z~c3rfyJAbfyG;%fyLX9 zfyLXIfyFzNfyFzWfyKL$fyKL^11{Uvw3@qN48CblZGO&1mXJGN+WMJ`; zW?=ErWnl5KXJGLOWMJ`0W?=CtWnl4XWnl4{%E02Yl!3)(D+7zqQ3e*Ds|+kYPZ?Nz zzA~`*vNEvviZZbHsxz?oS~9TsdNZ*2#xk(@<}_ap<0 z9|r@Ap9TYqp9cerUj_q5`ML>O3Nyct+x zMHyIPbs1RV#2HxP)EQXf>={_%Di~PeHZicoonl~#d&IyJ&&R+Le};i2{x1Vdf+zz^ zf-VC~!fghYgtrVViE9{Gk|G&clI}CGWQsGeu#`Sv zU@3EAU@2R|z*4Tuz*4@Afu;O2151Sg14~67153pk29}B=3@nw?8CWV;GO$#MFtAjq zFtAjuWnif~%D_^6ih-rZn1Q8cE(1%gI|EDYM+TNUHwKov*$gao*BDspo-wf0OER$3 z`!KN7*E6uxZ)RYrKg_^Vf0==$fsKKs!IFWcA%}sbVKoCw!)*qZhSv-%jm!)zjnf!d z8aFVoG%+x+Gzl@VG-)xgG>b8?G*4z=Y2jyJY0+n3X(?r3Y3XHPX<5s_(sGr7rR6OH zORF6NOKS)NOY33=me$P-EUkwbSlVP5SlUV%SlYE1SlS;juyi;vuyib8VCmSxz|wJq zfu-XP153vj2A0l92A0nK3@lwq3@qJj3@qIe3@qJR3@qJF3@kl*3@p783@p9=3@p9v z3@p9V8CZHZGO+X>W?<>P%D~e5oPnh;h=HXqg@L7?kAbCMfq|vJjDe-UgMp=g76VKF z76z97a||r~4;WbbKQXXOU}0dHAjZHlL4$#1LOcV@ghB?E3C#>F6Xr6oOjysrGT|Tt z%Y@4eEE8=RSSI>2uuS~Pz%q%Ofn`zx1Iwf$29`-J3@nr8FtAM8!oV`=7z4|s8w@Oy zUNNvt`oq97nU8^GvMU42CQoHxnY^5VW%5o2mMJO>EK|%FSf)H= zV43onfn};E1IyHC29~M03@lUI8Ca$+WMG-PnSo{MQ3jT&*BMx*zGPsT`kR4enlS^* zG*IVbM>L&~=Yd$ittdn41S)b3qvXP5{Wm63U%jQiCEL%DmShjUAux$Upz_Qbh zfn{d^1Ix}w3@p3C7+7|7GO+AcWMJ7nnSo{Zdj^(06$~tUt}w9dHDF-byM=*ep9KTU zz6%U2`(7}x>1sz`$}WgMsB(1p~{mE(Vrka~N2Ttz%$0c7TE9*arrd<4g=JCuA8| zPS!E7oa$y^IjzFLaypiQ<#a9s%jtRsmeac#SkCA(u$*yaU^(-Ff#oa*1IyV33@m4N zFtD6UWnek?hJodLF$2r_sSGUVk20{FzstaK{x1W|g$xFk3;P&YE{Za+T+Cx&xpz1s{d_nR459+)$*Jb1~#@^C%_%cCF$mdBzD zERSz8usqRcV0p5Df#s8oG7Ky)mNKxs z)MsFMxr>42l^X-g>jw-hpX3-=zV$G$e4E3-^8Ew@%kRq!EdT#8u(C)pu(IrDU}e={ zU}ZbZz{(NJz{(lGz{=&qz{;J^z{+!uft9zGft9bCftA0OfmPrX1FOIz23A2P23EmH z23Em^46K4X8CV5RGO!AnGO!BWVPF;B$iOOU%)lykfPqy!fq_-Jf`L^&nt@fZkbzY> zg@IL7h=EmIo`F^4Ap@({O$Jt71qN1qHwIQiNd{J<=M1c-i43gf;tZ^on;BTG?=rC3 z)-tf#Z)9L~+{3`?yp(~}HJ5?a-H3tJGm3%LJA;AM_bLNxKr91m&_o8-kogR(p${2Y z!x$M@!xR}wC!y*}2!wMN#!*4UNhJR*YjWlFnjeNqu8u^8RHEKNrYy4gY)|Ar> ztf{vcSkvVhSktF4ux6Aqux6}dV9n%XV9k8Yz?vP+z?z-Sz?yx5fi=gHfi*Xdfi-U# z18crL18adX18boI18Y$z18Y$#18dO&2G(Lu2G(Lp2G-&?46G$*7+6c~8CXkiGO(6; zGq9E|XJ9R7WMD0iW?(J<%D`H|%D`IT!@yb*!@yeU%fMO{$iP}Xi-EOz4FhZSJ_gq6 z3kI(^NxYF zmVtq_R)~SMR)vAJ){KF*)`NkyHj06@Hiv<=wvK_db^-%y?IH%&+AR#MwMQ6OYp*e| z*6A^@);Tb+)&()J)}=78)|D}^)^#wj*3DvIty{yuTEBsTwf+zTYyA}l*7|1*to1(_ zSR1$)SQ}&*SR3>hSQ{J|SQ}z`)wFmVvcp zKLcyaYX;U_ReNt?S0L_+GonZ+E>lM+INtFwO^WnwcnS4wSO}M>jWkS)(IjE ztP|82SSMI8uuf=ZV4d)ufpsDy1M5Ts2G)ty46GCXGq6q)WMG}7%)mOyl!0|pCj;xG z*$k|cPBE}fy2HRa=^F#>M1)>+C7tg~_$SZ8fx zV4d}lfpxY91MBQY2G-fP7+B|MGqBF7VPKu}n}Kz%J_GCA)eNljL>O4-WiznO+r_{- zpO1lcejWqs{9_EP3#1uX7vwUqF4)Dux{!x~bzvw2>%#dAtP3AAurB<}z`BT)fpt+Z z1M8w>2G&KD46KV@GO#ZC$-ugplYw=yBm?VWO$OG*mJF*{9=tZNoBu&&w3z`E9xfpu*%1MAwA46JKG{L>7qYi~2K zu6@nGy7o5%>$-9V*7g1nywQt+b+Zry>z3&ZtlLx>Sa+B)uy&ccMde?`6^}a9z>wRSg)+dGxtWO*nSf7AyN@rkTP%&U&U=V?97hqsu z(B|O)vl$r}m>58Judy&Nure^PF)*+*FmNz{?r7y=VBlt8;9+3kWnka~-8;!3z`!8L zz#zoHAPhE2lz~BvfkB*sL4pCaGe?SnL7IU7BAp>Y*iZKI&2?K*E184(@ zIRk?Q1A`?4gB1gVH3NeU1A{FCgB=5dJp+RS1A`+2gA)UTGXsMQ1A{9AgBt^bI|G9U z1A`|6gBJsXHv@wY1A{LEgC7HfKLbMm14AGKLl6T)Fatvf14AeSLl^@?I0Hij14ASO zLlgr;Gy_8n14AqWLmUG`JOe`l14AMMLlOf+GI--+?!0>>9;UNRVBk%&Gcd|9Fv>D8$}up?GcYPJFe)-IDlsrBGcc+!Fsd>zsxdICGcal}FlsU|YB4Zs zGcf8fFzPZe>M=0tGcX!3Fd8y28Zj^$GccMkFq$$jnlUh%GcZ~(Fj_J&S}`zMGcejP zFxoOO+A%QNGcYXjU~FJuYy@psVr*t$ zY++z*WngS$U~Fe#>|kK*WMJ%KVC-gK>|tQ+Wnk=MVC-jLoWQ_1k%4g%1LI@{#wiSp zQyCbiF)&VNV4T6gI1{w#iE%aq;~WOiD&~0%jPn^77cej`WMEvxz_^%!aR~$CQU=Cl z42;Ve7*{Ybu4G_b#lX0lfpHB3<5~vBbqtK_85lP(Fm42GoMPO}z_^70v=Vw71LJlE z#vKfdI~f>vF);3CVBEvNxR-%(9|Pll21d}bJ_g1^42*{v7>_V89%W!W#=v--f$;Dz!b*76wbgD!N3&Bz!U|#-GnKIfhm@ODUN|Do`ETWfhm!JDT#q8nSm*V zfhm=NDUE?Coq;KXfhm)LDT{$An}I2Zfhm`PDUX3EpMj}>fvJ#zsfdB8n1QK;fvJ>% zsf>ZCoPnu=fvJ*#sfvNAnt`c?fvJ{(sg8lEo&mIEv5|qPiGit^fvJUosg;4Lje)71 zfvJOmsgr@Ji-D<|fvJaqsh5GNkAbP5foTE*(?kZQNeoPr8JMOpFimA(n#RC1oq-9o zB#41&76a342BtX-Omi8S<}onM2VFYDw2*;m5d+g=2BswpOiLMlm2UGcavnVA{yQw26UfGXv8W2BxhHOxqZkwlgs8U|`zGz_g2j zX*UDY9tNhp3{3kNnD#R;9bjNO$iQ@nf$1;<(-8)yqYO;P7?_STFr8pvI?2Fvih=1g z1JfA>rn3x8=NOpIGca9XV7kb_bcuoKG6T~U2BxbFOxGBgt}`&*U|_n*z;ug&={5t? z9R{Ym3{3YJnC>$$Jz!vZ$iVc7f$1>=(-Q`!rwmNb7?_?jFuh=4dda}_ih=1h1JfG@ zrnd}C?--cgGcbK%VEV|w^ofD#GXv8X2BxnJOy3xozB4fWU|{;m!1RlO={Ez@9|oqs z3{3wRnEr!WJ%;pTt77Wam49r#x%+?IdHVn+RpkwQp?HQOI7?>Ryn4K7yof(*2 z7?@odnB5qd-5HoY7??dln?9Mn8JK+-n0*;(-@f3 z8JIH|m@^revly7O8JKezm~$DJ^B9=(8JG(gmlm2p8JHUwm>WTxQkk0>m|GZ_TN#+!7?|4`m^&DlI~ka} z7?`^mn0pwQdl{Jf7?}GRm?tnWPh?=8#K1fmbeR(KR0ig049wFRm}f9B&jf93WuDEz zJcogKE(7yC2Ilz;%nKNp7cwv}Vqjj(z`TTkc_{<)G6v@549qJSm{&3|uVP?c&A_~d zfq5+h^Ew9R^$g4#7??LQFmGaD-ps(fg@Ji11M@Zp=Ix;QT;`n&%)1zvcQY{WVPM|N zz`T!vc|Qa50S4xS49tfZm=7~BA7NlV%D{Y#f%!NC^9cs#lMKwK7?@8pFrQ&yKFh#- zj)D0+1M>w2=8Fu>ml&8YGcaFaV7|)0e2szmIs@|!2IiX#%(obrZ!<98VPL+?z)ARKVe{g%E0`Lf%!QD^9u&hDw|gf%&!@k-!L%0Wng~C!2F(p z`2z#a7p8CZ-MSd1B1Oc+>98Cc91 zSj-t%EErfU8Ca|sSgaXXY#3N<8CdKXSnL@>>+plEuK1&A^hw zz>>?rlE=W3&j6YhEM#CQVqhs|U@2i>DP>?OV_+#~V5wkWsbpZOVqmFeV5wnXsbyfP zV_>Og08Jq_f=1+7ni*JH7+6{vSlSp^+8J0n7+5+PSh^Tkx*1q{7+884So#=P`WZme zjT0GICNZ!~W?-4Zz%rGAWf}v^bOx3g3@kGlSY|P>%w}Mj!@x3^fn^>8%X|jV)Z{`2 zmPHIKiy2s!Ft99TU|Gh%vYdfs1p~`U29{L}EUOt<)-bTFWnfvyz_OkJG>y5Dfn^f| z%Vq|aEetGM8CbS4uxw{w*}=fFlYwOy1Ium(mOTtCdl^{vF|h1s08M!wWMDbOz;c*@ zvc7a3SCF|b@_V7bD; za+QJQ8UxF929_HPEH@cgZZWXjW?;F)z;c&?n7Yr;f8CYI1u)JnqdBec+mVxCR1Iv2`mJbXp9~oFaF|d4QVEMwp@|A(* z8w1OC29_TTEI%1oelf88W?=cl!19-Y8sl%fPC~z^c!{YQVs1$iQmEz-kOSn2Xhvfz^zG)trIVf`QeNfz^tE)tZ6T zhJn?Vfz^(I)t-UXfq~VLfz^qD)tQ0Sg@M(Tfz^$H)t!OWgMrnPfz^wF)tiCUhk@0X zfz^+J)t`YifPpoTfi;MMHJE`lgn>1bfi;YQHJpJpf`K)Xfi((rE&yu`18Xb;Ya9b> zJOgV218X7!YZ3!%G6QQ018XV+YZ?PjVbYi43fh7+5DW zuufrMoyx#Eje&JK1M3V1)|m{fvlu{kzRqD_oy)*FkAZbQ1M30?)`bkLix^lJGq5gU zU|q_j4JVgAA;P7+4Q8upVJxJ<7m( zjDhty1M3L}){_jZrx;jIGq9dvU_HygdX9nhJOk?m2G)xVtd|&AFEg-SVPL(=zjMVXhYYNb7+4=Ous&g6eagW4jDhtz z1M3S0)|U*duNYWgGqAp4V13KL`i_D1Jp=0p2G)-Zte+TIKQpj?VPO5r!1|4W^*aOW z4+hqs46MHxSbsCH{$XJK%fR}Nf%QLVu!oJ2fsKiQjhTUsg@KKgfsKuUjh%swgMp2c zfsKoSjhlguhk=ckfsK!Wjh}%{fPqbrflY{kO_+gAgn>zt(<|af`P4)fvt*xt(t+YhJme?fvt{#t)79cfq|`&fvt&w zt(k$Xg@LV=fvt^!t(}3b19U0}TNeXcHv?M_16wZxTOR{kKLgtY2DXU|Y?Bz+CNr>2 zVPKoez&4G6Z8`(n3&usva5d&1!ft`fnAG%U7LYj zhk;!ebN~yxJ_EY}1G^yuyAcDsF$22^1G^~$yBPz!IRm=|1G^;yyA=bwH3Pd11G_B) zyB!0&Jp;P~1G^&wyAuPuGXuK|1G_8e5EpiL26hhyc25R&F9vpR26i6?c3%c|KL&Px z2KE33_CN;qAO`ke2KEpJ_D}})Fb4K;2KERB_DBZyCR_E^wCFzoRR>?sWFsSNCC4D9I)>=_K~nGEb%4D8tq>^ThVxeV-i4D9&~>;(+$g$(RP z4D7`W>?I8Br3~z44D96$>=g{`l??1v4D8hm>@^JRwG8Za4D9s`>@5uJtqkmK4D9U;>>Uj3oeb<<4D8(u>^%(Zy$tMq4D9_3>=PK+Co-^4Vql-lz&?e6 zeJTU{GzRwR4D2%)*k>}Z&thPo&A>i~fqgCm`#c8r`3&p}7}yswurFd@U(CS1gn@l2 z=ujK>^m6PcQUZ=Vqo9Rz`lopeJ=z1J_h#v4D1IO*bg$WA7WrX%)owxf&C~0`!NRg z;|%O47}!rTu%BXJKh3~?hJpPo1N%7!_VWzv7Z}(tGO%A_V86`3euaVkDg*m92KMU= z>^B(LZ!)moVqm|`zmKVo2i%)tJHf&D21`!fdi=M3yG z7}#Gju)ktpf6c)DhJpPp1N%D$_V*0z9~js_GO&MQVE@d({)K`4D+BvC2KMg^>^~UT ze=@NDVqpKx!2XAU{VxOiKL+;ypkaOvMg|Th1`cKh4i*LuRt63>1`c)x4h{wmP6iGx z1`cip4ju*$UIq?61`d7(4gm%ZK?V*X1`c5c4iN?pQ3eh%1`crs4haShNd^un1`cTk z4jBdxSq2U{1`c@!4h04dMFtKf1`cHg4iyFtRR#_<1`c%w4h;qlO$H7v1`cfo4jl## zT?P(41`d4&4g&@bLk12b1`cBe4ig3rQw9z*1`cxu4hsejO9l=r1`cZm4jTpzTLun0 z1`c}$4hIGfM+Ocj1`cNi4i^RvR|XC@1`c-y4i5$nPX-Pz1`clq4j%>%Uj`081`dA) zjsOOZKn9K=2996`jt~ZpPzH`L299tBjtJ06M;uWM9MKFMF$^5B3>--e9LWqEDGVH`3>;|;9O(=k84Mhm3>;Yu9N7#UISd@R3>X83>-xa z9K{SAB@7&;3>;+)9OVog6$~7e3>;Mq9MudQH4GfJ3>-}i9L)?I zEess33><9?9PJDo9Sj_u3>;ky9Ni2YJq#SZ3>7JO+;W3>*s>I2JN+EMnkT%)qgPfnzBH z$1(*g-I1Vy!9Ae-&%)oJkf#WCx$1w(u z;|v@p7&uNcaGYY`IL*LuhJoWO1IIZAj`Iv07Z^A$GH_gC;JD1dafN~7Dg(zg29E0t z95)y^ZZdG(V&J&Vz;TCx<1PcoJqC{Z3>*&_I36-^JYwK@%)s%4f#WFy$1?_w=L{S# z7&u-saJ*vRc+J4^hJoWP1IIfCj`s{49~d}3GH`ri;P}kI@r8loD+9+j29ECx96uO1 zell?UV&M4A!10HH<1YipKL(Ef44e!MoQw>dObndN44flY44eWCoPrFTLJXY344fhioT3bzVho((44e`SoRSQjQVg8Z z44g6yoU#m@atxgE44euKoQe#bN(`LJ44f(qoT?0*Y7Cs}44fJaoSF=rS`3`p44gU) zoVpC0dJLTU44eiGoQ4dXMhu+B44ftmoTdz%W(=I>44f9AQ@A*-7&xsNIBgg>Z5cT2 z7&z@2I2{-`9T_;C7&x67I9(VxT^Tst7&zS-I6W9RJsCK?7&yHdIDHs6eHl3Y7&!eI zI0HZ@d2t3Ya0WAQhA?o3GH`}5aE3E*Mlf(jGH^yQa7Ht5#xQWkGH}K*aKVc@J~;H+cdtY_eCVBlxY-ZqW zVc=|K;A~^yY-ix?VBqXz;Ot`H>}KHXVc_g#;Ot}I>}TMdz`!|?fpZcA=VS)XDGZ!b z891jga8767oWa03lYw&<1Ltf8&N&R6a~U}2F>uaj;9S7KxsZW#5d-I92F@i6oJ$!v zmoacIXW(4Hz`2rva}@*UY6i|V44i8jIM*?7u4mxfz`(hYfpZfB=Vk`ZEexDn8928w zaBgSd+`+)PlYw&=1LtlA&OHpAdl@+QF>vl@;5@*u~z;C#Tq`H+G05d-IA2F@o8oKG1zpD}PgXW)Fn z!1wB8-~t^0%fQ9Nz{SkK#lpbF%D~0Oz{SqM#lgVE$-u?M zz{SnL#lyhG%fQ9Qz{StNCBVQX$iOAUz$MJUCBncZ%D^SYz$MPWCBeWY$-pJWz$MMV zCBwia%fKbaz$MSXrNF?Y$iStrNO|Z$-t$>z@^Q=rNh9b z%fO|_z@^W?Wx&8?$iQX9z-7$9Wx~K^%D`pDz-7+BWx>E@$-rgBz-7(AWy8Q_%fMyF zz-7kk%D`2|z*Ww`Rl&ej$-q^`z*Wt_Rl~ql%fMB~z*Wz{)xf~j$iUUaz}3va z)xyBl%D~mez}3#c)xp5k$-vdcz}3yb)x*Hm%fQvgz}3&dHGzR^A_LbX2Cm5rTvHgh zrZR9%W8j+3z%_$`YbFENEC#OG3|w;fq`oy1J@=7uFVWwTNt>uGH`8U z;M&f>wS$3cCj-|m2Cm%mUQyAqK9)3|vPTxQ>Dj2IM-< zz;%Lw>m&o$DF&|73|wazxXvmvi#CkC$13|wCrxW0l8DCGLi!1aTH>n8)( zF9xpP3|xO0xc)M5{bS(z4_e*8&B(yb#K6tWz|F$I&C0;d#=yfm@h?TZDmIl!04}fm@t`TY`aGl7U-_fm@n^TZVyK zmVsN2fm@z|TY-UFk%3!@fm@k@TZMsJm4RE0fm@w{TZ4gHlYv`{fm@q_TZe&Lmw{W4 zfm@$}+kk=Fkb&EXf!mmY+k}DJl!4off!myc+k%1Hl7ZWbf!msa+lGPLmVw)jf!m&e z+kt`Gk%8NZf!mpZ+l7JKm4Vxhf!m#d+k=7IlY!fdf!mvb+lPVMmx0@lf!m*fJAi>Z zkbyghfjgLiJA{Edlz}^pfjgXmJA#2bl7TylfjgRkJBEQfmVrBtfjgdoJAr{ak%2pj zfjgOjJB5Kem4Q2rfjganJA;8clYu*nfjgUlJBNWgmw`KvfjggpyMTeakb%31fxDQ2 zyM%$el!3d9fxDc6yMlqcl7YL5fxDW4yM}?gmVvvDfxDi8yMckbk%7C3fxDT3yM=+f zm4UmBfxDf7yMuwdlYzU7fxDZ5yN7|hmw~&FfxDl9djbRZL8Mx;#aL;Anp2xsFpMiS;1NTA(?nMmTiy63=FmNwr;9kbS zy_|u21q1g=2JTf1+^ZS5*D!FeW#C@Nz`dS& z1OxX;2JTY~+@~41&oFSGW#B%?z^MF#Fm4BVF)xUVp9UuEFF#=w1@f%^sn z_e}=wTMXQ{8MyB-aNlL%zQ@3QpMm=U1NTD)?neyVj~Te1FmOL*;C{xy{hWdO1q1g> z2JTl3+^-q9-!O2$W#E3t!2OQ-mAGEZGhmnDYiGhcifro{Ghn0bcje&<9v@SwI1w=CN@Nh6N zf>{C#N?4&T0|*-YM*Fk{gE|DPd?fuA9OL4`q!!HmI$L5d-kL75?g!H7Zf z{~v}RhBO8n24x0b22lnX2CM%+8AAU5V9;jp`2U1~ogspOm%)@lgh7o#i9z=NA0$_S zLYkc+1>{2pZIH_UUl^PjG#Ny}F#rlvS&$B>FG0SMWRU;=_5WW64F*95B?c9cP7r2@ z1)0sj#30Y0!XUt)#h}9A!QjSV2^KeCFkmqF{~sDxpg04CH^_8IEP-PN8auKKDPRbT z3lRnogv16sE*P8{oWY?E3VTSngF+q>>hehbgN3vygDFESBy7Px1Nj>rgWSW*0CE`! z^McX{$Y!8{Qt|K#9+a2pMj4-^8b(j zFBsAp24Y@d1hze+KXW{~2V#F0f_bVbEhxVDMqcV^C+XWl&+z zV6bOUV2ETeWyodFU~piV&fvk2!ywAg%3#94!63#U!JyBe&0xh~#$d~k#GuTe$zabQ z%V5eN%Miq1#GwBF9fJ`=DMKcMH-i*IJSaY};6MftRAgX9f|d-5ApbBZVn7WBf&af5 zj2ZmlP>8{d!369ATLuKofU*r4KroJ>j=`M4oWY49jDd$inL&?1kHM8ek3pY7kAVvb zf^G}tVi0B!X5eCAWl(1@We{XY0z*(K0Ku^g1`J*d`V3y6xPoH?Fw37Ij=`Kkk0FV{ zi$Q@wk-><8kHL~bg29a;oIwj5%E1ik47v=#3|ggh z3XyQelun8We8&sVvu2A1^eHXfr~+r!GS@VA%MY+L5D$+L4!dKyn@n%!J5H{!H>a! zA&McK!GS^d{~rb+1`7rU21N!F22%zp22%znhFXRc25W{+25AOm22}11}+BI z|Gya|7|IyR7>dB5269yaLk@!;g9SqbLn4C0gFb^b!$bxx z25p8Qh7yJn25tsR1`mcn25AO223LkO20I2Ou*`IZK86DfoeTjC*$in6*$f>FK@3(5 zS_~Epr3^s~feic%nhd54?hGCb4Gbm>HVoPfNeqSz)(k!jvl*npApr_4R(Sper7(~P z2x~I>f*67r zq8XwYOc^}E&_eCVDt$~D z@)(pEOc|^g3>cgk%)oJG$dJw8%V5Ef%Am(k#=ynk&fv+Q$1sHZ8a!WmQ<92v|R!WsM+EEz%=92wjh)WB&WoWYvGove~2n?aeuh9QWdh#`j| zjvMi4I)+IM^BHm&A{j~m2DD(XV8~#|V30$C77U=;1cn6|5KsormSYHJ2>$Fd<@upjqGPw2*7-e&EMv5-y{4jz(9=8LFG5OzBgnLV-RAnWhiG*VlZUTWe{fY zWC&rfWe8$$We8%h2B+X~1_Oo=aLP4cFlR7i@M8#P2xl;2&|=VK5MhvIkYFIMW+gAz z3|G697|a+9z%4ih27YL3+lRp#S|Wj38m0^?3?l!({{Qp;5`**q{|xdB+6>wZS`4NP zwhU~bR^0!u3|0)8436OTt1<&O1GtUFpu%9qz|LU85W*15;KR`S{||!)g9n2EgDHbQ zgEfOGgFS;EX!ZO5PYkmEFa7@lHW}37GG#DiaApW(2x4$zU}IookY(^;&}UHj|Kk5w z23rO(a63R z%Mivefngy-0D~_>JVOgZ8ABd}E(05bFt{~j$Y8<{%#h7s&Je{gfk6sf7rHX|Fn~;t zW+-HcW{6>MW3XW`Wbj}R2Ad12yP_Fd8G0GI!S$megBpW5Lk)v3Lj;2ZgBwFHgAKU8 z3S>|O_gp|GX@Ok|sh@$+I#|*sxfBgRn3U`JS1|9}bpGX@Ly9~SxpgTl;^%#e<=Mp^l+}!I8n1L6AX^!G}SWfrX&}O%xQnb__}k>fjm@R2o?_*fXdxSTRU2 z2r=k0fHtv!N*-kf6$W(%FK~JXwGAL`6(I&w1~&$E26qM_1~vvO1_cIX1~~>j1~&%f z|9=_S7@`^6NQR*H4l;IUAO(Wlh7UvPMFa^7Du`cjlc4-VJT_qnWbk1KW|+WW%izpl z@&7kNIs@PTzYIeEA23KVWH1OYfa+Qn27&(<7=r(QWRU&;=Knp0GKLBNKMxQ|Gxo21_7{{AQkcqVhr&NDGW*sdJO&yx(pW>WEoDt`eBS3 z4Cg`pu>TJkVi-ag^#6ZiPzATEJQ(~Kj2J=~!WkSH^ucW@NGnQ=!JR=7-2MmEL$J1% zA2*Ae`fIie}_Sz!G|H9!JWbQ{}*sSNd5mO24MzH1|bG*1~vw31|0?k z27Lxz22fiF)O*Bm9mpOmda;>Di5O^u7!!lT|Bnm`|6eh%F(@#wFi8Ku{r?SvCXah%nePR5EO32xTy5 zC}CL5@SI@-Lo~xKhTjb444{68GB^Y^8N?Yp!F^J325|;w26+ZihDdNJrvdKYJA(U* z{0yNCp$u{i8VsTg{0!m@N}#&$|HuEoK%*f4zcR2e$TDa#i2VQg9|S<-H=qB12Gug4 z5upEX|G#CBhCs;Z!~Y*3G0<2Chz}lb0*!ANGZ=%**m(?j3?TL|hF=UP7(^Ic{{LZ+ z0zr_8|35+?13v=~81gd&Gw3q7Gw6f#{Qvd;7sv@9d*S}$W8ed&D+XN#QIK8+P6l=c zc7{B#J`rRWVD}G$3)plTsDyX#yG}J3?7Unj9-}im?A)s zk(-g5K^MegieOL!#qj_C3@i*13>plc40a4g3@Hrp3@!{D49pBR40_=DR*^xT!JNVF z{}%>FhI)on23`hd27U%U2LAus7YWFiPN zID^b*NMsQD|Br!@fe{>YR~R_{-(leWe}jPwN^>w6fKn0z2LlfS7Z`IhaQ(jq#w-jh zpk0Naf)^{E#lXwJ#K6m-#~{cc$H2v)!=TQP$}o!oqz^PwqQPLwAj}}i&<-A30gbl_ zGl(+8Fo4?kS`45~lv?042}%p>4EhYx41x^$45|!*U{OeV6=Q%v9x$x{CM_A17<3o{ z|6gLLWJqKvXHa1XU=U<52d6AS1_K6822%z#1`P%~25$zz|8E)08NwKx8JHMkLF2Ft z<_sWL@G}TANHOsJ-^swl-~jGju`-x5s4xgJ9Gk*FQ4b33THJ<^zvl+Cz85EA7EzY1l&J6qv;Em1dp24cY_^+FT7Tvpk{h^c>g%_L6XirNt@+ z&`u}to^sH>a!yeA*D!!Lm~*XS0Pivf?KJ01W&m$D2W>g$vSa{n3I}Zr=lsP0-W?9w zAD-|5Wdj3vqdFJJ&W#M<9qU}6@?jGLc;7n5R|fFr zbxld9kkn>;|l|L z%R6Y>J1aW_c<(!C|2tB&HCBsPu1~3NQOL>Zc0kj7nJach|fdRA`A9SPwXh%L68!~{m z=7aX;Gl0sX3k={*`k*r%Ks)up7*wWQVgPU32bU9<8NmDZ!R5*o2Jl9H&^ZgB-TYt- zDi^LXFo3r9gUgre4B$QfT%bPr4F>RLe{flHlL5Tzp8=G&ZZUwj|AUTK0G$EAaEAes z7w2M2IRlJG7#Ki@4S+Bs zC=6aQfKMJ^1cl`*2Jraxat8}16nE1$jHC|#yc25M<#$V z12Y5Y>;wqj!T>r%0gOQ_iy2uNKqo4IcFu#2RRCkq=^>2l44^X>K-=a)2Q7dxg9roY z#03aG%D}+L1;GrW44^X@Aov&q=r9H_1|31d$jbmanE|x-9&|hd7=sQXVdQ53oz(!^ zfzQAwzyQXe(@7Ww89=8ufVSm>j&J~DPADEfdO>h0|Z}W03G}Q#-O$cqa*|96bR79e$Y`6UKHfHA1O!YI!GIy(Y%A^_+B2`~n=R~Qu;K&MH74hR4pDFMcyqeB># z89?VtfcDsf4w(RBP#c9&l>v0(1n3X}21YdoFb1__7}Xg-XHYOO-e&+EL;=R2whN;s z1L#x=(3t|Dqbb0c!JGkfMg;`FWB?sj0mh&sS{QX1Kqps#4kiE{UjfFTgIXB%85qF$ z6$9u%3or(q06GB!bhH8J z7z{85os+@{a+5g&=s*DmMhgZA{=fh_Ap?v-?J7nq2GDUC42+)`KxbxvG3bC5MjHmu z0UDr_2tcQ3fHCMC8Adw>(2*LTa}z-4YJf4Q9meRu06Js?beIC@qzy0zwaFNr7#P6# zD+B244KN0^$rxQ2KnHPv4qO18#sS8lQ(YL{7(hpJFff7Q!JPqgMhEz`8b%KW&|w{* zqZvRac0lk?2GG$RU<_*0F?utA&hcPi{LKJ5%ma);Z8An*2GGeKpi>(d82uQ)n8Awy zbj}9^|7QRl_yNYC_8em%1L*V*&_NHNBS63y)OKSGW?%qeCQb$h#t;Ywwa*ws89*n5 zfR26u9TNh^pyO#6!x=zlhJem-0393x#-KJFVy`;0M@0d%SfXp=eUXcI67wdokM85lsANr?e;*a;Ye+l#pjpp#D+m_T_tkAZ

q1hxC}89@8hK?kCMF}RIb$N)MWg@Fl_kBb;U$D}~oi^U9}^HM-t+(Cz?fHA23 z$5_e$Iza`r(H(S*3K)ahd5q-@pfgoK+ua!$D;U5Sbf^$xB?IV`74W%2j8zPv<5oc1 z;6Z1ufH6ZO1L*J-FlJuB06K*Qj6sJGG1f7Fj${GtnFpQA0>(^Y44?yAz?cbCHh}au zF@O&zVr*t$0AVIA2GGGRU<^90h_RIcbcze;To2GuE}*kqz-JgSb})brbpajr0Xo?Q zbgm2dR3pY72GHp)pc6nqN4$VB=#V4Eeg@EaFW|O3;{*oKsW0G@j~FL0fR29wEjtFC z0RzUMvyd34Fn|t(0Uy1@IF$i(G7JL~s2rNc06H87d{`3WOa=zV*$kjVMnH$efKG`4 zpPj@wkAVS%nT#1gXU2dr=rkopP#A&wj-b4?kO6d(4CtH`&~Y+g3_5O!aWMnvY#GpD zC7=Ulz!-D}6XQ|_&}lQE6HGuy&VbIG0Uyl7xPk$6_zdV+6VM4XV9Wrre-#4*Bj{2a zP}#PI0dy!0`1~fuwG5!sX+Wo+fR3mEV^G_jaXka*yc%#{gmD7{=-?XAVJo21YZ$<7 zACP-N_3;)4(6K2Dpf(T)gWB<+b`JP0iAOL#;hEW zHWT9>Nc$etHe%e*06KmJbodRp?qvm)8%G#Gr{93v{*0h{`WOS~WEOB=3*6oT`R^nH zxK3sQm7S-ceJ_w-&oD56+EYx<44{*8z!=o-XFSIMt}~fHW$Jkb(D^ywegNYI2GBt| zpwnJJr|Ez(=-?_)`wWDcKxHkcE(f(!H!?u#<0}lHb74Ry?tn4qh%3fx44~t8K!?SE z`+kg|cIsvZ&|y4a%;d=cse?i7R8UynVgMb{13Fd)bWRT#gHFg|yu$!Gu?KY447lG2 z?mKQ{fYh(|89=AcKb=7r}Tx1EfxU0_l@5K4k!% z`~y0_26X%n7=y+#Ky6Jh2DuAVcfNr1T^K?2^h*ZNVK<;7g1{Kmhhcop0Iu7aK=r^I z2GGGl;64rGTL#bxLZD-DAayOM&ANvHbe<6CKq1gsIpF>+s4fNda~MA}fa^&nQ2p?Q z0bDnN`ZMVfQ~x?V^E)pi5+ToGy~`WBrpb@Wd^Dj!8iue zhiBqq03UG1#0_aLGsQys^Gu*V*+~Y_X-N6CozDIUjk#$@oJ#4129g8)NM=> z4B#`@m?R-}AX5qh=!hmT1|7u4Bn{~kFoEhw83u4Y20D)q)HeWO#=8ulW1PSk)DL8m zX8@h)1UdoCEB`V5Rgb*d5r=(s0v|By+U0o*2K%7C=hm{cHrMJ81SaQllX zlL6cw0=0=i{YEBr25_5#DT@JgKol5*`jDWy2aK~BKu1P_G3d-VCT#|AJ;Rj40IpY< zKx1|{7{GN2lP&}3R3^}|Qeez*lL1^Gfa(OMJV+hD1nM*0VgQ{u1;P0Y3`|B44C;e| z>H{V-2GF5Spfjkz7?f9-EEvG$F;fYoYz390p#Cb84FkCBWGZ6-olpfXBSHODCVK|Z zK~u4Vw2 zK}?{ryr&G{a)-&A0d%kw=&&m=2K8f^d?95IQ!NAN_$x35^=X;>89)bKfsUYp zaGA&iO84s-K!;B;Fl}G}9r^@1`GSFICj$f1eg@E<1kfQ*V9fQH0d&+8=&UEux_r=q zPoR^XKwA_*hdF^U_e2KJsZL-hZX$+tPpTL-VG6U%3Cotyj zV*nii1;$)Y7(fR>fiX8IejYL~Fg<1f9lZfM+X;-ho`Q#;8JHOvKwBU{M>>Hqw749si{V9f2!06OOhjJaJIKnFg7F}Di?=;S9b<_=&09RUT#+&&DTv!KA3 z+k*jgC=?iTdoh4chXNhP1lm~vI*v125*Ty0 zF@Vlq0%PuW2GFTXV9edY06KLEjJZ1*KnE{@G52!@(4k78Q{8K1q`5* zmcW=jhXHin5*V}RGJppc6en=P-dW>rV#IflOe`dWQjYG7}iH-edqB(FDe<&lnh3 z_#v3}Ed%J#CeV3JptDFohcG=n*nr&6X?7q&?zLK zLz_USHi6C@VPH{X0Atoy44^Zdz?k(V1L!a(&}mMfvq(TkI)Tn~0-Z$yI@k$}S>G{$ zPIv-i)~^hpqn;R8^cg_Mk$?_-0-f~)I=KUM;1lS?C(xN4pktpvCq9AB>;N761jcNk z450I$KxaLH&g=jk_yjuf33NgS=-4MPW=mlJo&N;JY{?7^EFKJ?lb}E+cQCMcF@Vm4 z0-f9eIur_w*)kXySbQOvEuVpb#g74WP80)M2?OY`C!|q1v(G}bg~raXekD^YzENzQeezh%m6xQ3XIvp z7(gdZfiWA%>^KI{@l&9~M?hy#fiYV;1LznkFlPPB06LEfjM>T=K*vylG3!4D(0No~ z%vQm`z)}Fgtp6DpSc)JRG&INpvb&f8bRr1@3&@`(3=C|H3=Ax#5X@G^z`z3XXBh(n z8xsQq3&@Ug2GH3hpd+cknDrI|=xi!5W&?#m4+H3+D$s!}pwp_rm~AHm=-4VSW^-f! zonHmUY`Yjh2U&qJ>jee|mWdF|28y3a44~t!KPSW3~nc(4kpi z%*Me0Iz0=F*%}!@$7q2u8z%$kJS{M016`o8fB|&47U+l^29|{kV9eIc06J<5jM=yu zKxb}&Fjh6v*E*BWHwK0GW=mKLlP(EJC06MJ; zbSMny$SyEu6JTIqSq;H#oeZEuyug@EkO6d>7Z|g3F@TQs0%JBI2GIFlV9eId06ORk zjM;=47+5w!FdHZiH!*;Y{{kKE13Ci?jM;h_K!<^WF`Fm@1ItzjX6s`B9S;V^Y+?+c zbHc!wt)BsOU>F#)i8C;;fYQNE2GHR(pd-Y` zm~Aox=$J7uW|L-MVA&7BY*QFO2ahqZ9Asc%lVJcIKL*BZ(-=VKkbyCq90TY;GB9SF z&Hy@@42;?289+yrfic?*2GCh$V9ch#06Me`jM-)~fKD$1V>U$w&@pCU%r=XGf#oy= zvnerv4mJa0w%H7z6VAYxO_>37)EOAF&0zqYc?QO8QyD;qpMf!(3IhYnMF?h_%K$nK z4UE}T89?Wvfic@W2G9X%V9ch*06HlRjM?ThfR0Q9V>WdL(AjBV%mzx2HyA(%seukx z0-dG?#%!Rp3CgRt7(gd3fzDS0W41*Mpo7-Hm`#fTbmAHqvn^%-9lZv|Y}yQSZ@(CKbq%mzyPp!((&1L$NZ(0OlQ%(jXFbnqJ(vl%gf zPJjbrHc*}b)i>`LKxasS&V&PFwlxf(!{NY~&4dATN*oxotz}?f`2@jirVOBSVj`(7AMA%(jgIbQ~QRv)M6#&ZPrmw(SfItTGVHX3xODDht7E zI~YI*)PXS@9|P#5IxuEyXJBAegJ3pE2GH4cV9Yj&0d$BR7_&JuFtBPuFx!3x&{1|^ z%;v(tzzVA8^%+11MS-S57-X3sZG2f41_oJBfBOLggDe*VgDfut=zv!SS$+mEW_rQE zAS(gEOfMN2WThDxWI=t@R}2iY3JeUgpnm2X1_oI*1_oIz2GFTD46-^546=F*3>;1j z46+6c46=p{pc7#jWQ`dZWUUxL=fW_^+Ax4Ihd%>@tQ`Y`tTO}XP#6YTcLoMoF9y(Y zFbuN33}DO=#lRp7QWwMkIv0jPHjIHmHi7|kE)0WgGy@oOBr!0^CPFYrG6RDwh@Z*; zIt`FPHj4p_IcymiWamIIM+yUj>^unONM&G!xxX$%aqyCIk(oq<7i9|Ut`Ffhm- zfne_G3=FcDA(;CG_=J7%v@U3FQjU><0fd>}Gcd?8K`_Hh1_n812xj`gz#zv0!JuQ) zpGBC*TK``iib~%0q1`uZY#=sya0KuR`+vNlq7(kfm zI|GB95CntfN9BYW7(kfm2Lpqg2n2)XO65cu7(kfmCj*0=7zBgnP36QH7(kfm7XyQw z1O$T)f|rwIU;tsJ-wX_LQVkm%fKL~%K+~8%IPsMfG}uYS5BXS0fa&QU^xQ@1`r0#@5&i6 zFn};KDE^HY803r~bG>rL3=AO53`z?o3=DE6khxzuQw9bQW(K7TGX@4ZGsrx!oH+vn z2s4Ayhy??K9B6(H1dzf0K&|mG#c`7o-1HrkSkyS&#%iBGBAKJGbsNR zF)+x1=I20eD`sGjD`o&4*v%kU!T`pMAh(q=FvyiMfKKsdkSk*VW6(UjTsZ>+2s4B7 zXaxg<9B6(H1T%o#+swcq*USJq zFPlNGg#nB~SCYuJGBAKJ^Hc@~xi$!91eG`K3=DFhu_#bE(ZRqV2b#A7l|7vd4052c zC{UTv#lRrf#Qn0K&|m@}q}=K@K#Z2P%_#85rbx89+ywGsyKZfH5P;kNpe` za{UYp%%E~*0t15_Xl@VW$B7IKauXRqhn_RYO=19JMo_smnSnuWG6U!&bOyO83}6ge zTObE=_gn_h@#qY4^BBMwwEj?GlR;B1q=*wpgBB{n-?-L$Sq_5kI%_1VqgGa z(0T;9#S9D}%nT|&mM}2LErF~}kXy>Y0K&|mvSb+pgWNL6It97q3=AO53@TSvFfho0 z=JP=1;z|Yvxs?o{L)aPQRxyAvX#IlRY6b=nW(JivYZw^hK=WOo@^UQ$gWOsM&~fby za_bnt7__cIZao772s4Aqp$!ZSa-g|AP&vAhfkAE~1L$CP2DwcPV9W?AQ#Ug($Zci- zo%YTkw}k0cj;d#nJH`OUjG!<-&cGmd95RL~cY=Wdgh6XAE>QUSVL6y8>CeA$OI50fd=B zW$iTv2074NBPh(TGcd?qX8@hE&meb$0gM?z^~OyG2073eEvO8>#lRp3n$rW-A-5SA z3#3Ug39^&6be}n1}P@D1x zWNnHZs2%x}fq@xRpMctqzaZ;WxFv#aKfKH)hkS}0hkS}ClU~gbxkS}6jkS}Hc zox92)U&6p3U&;VFWtBm`jDbPEoB?!LDua9l1A}}e1L!zZ2Kg!m2Kj0R(6Ofs@-++$ z^0f@0BTX6PL1wixFtB$pFvx>2Xx`x~1B3ho1_t@*3=Hhc85rbeFfho^X8;|%%OJmi zfkA#b1L*Km2Kf~X4D#z4KnLJ5$Zud^kl)AvIzyI0eiH*2v$ruY$Zv*V_ErW4`7IF4 z-p;@vzYT)fn;016w?i;H$j%)M4Dz6Hs!t3I^1B!qb%klR7} zZ!&<6DrS%e>A%eYI=q-c{w@O;bKhiOkiQ4P+_xDRHbm}pK{2K-^X4he0 zkbld-Aped5bPN`Q{Cfs4=6=Y)AP*?WMJUzW?)c|f?&>e1_lKg1_lLL1_sVf1_lK=2#80NH2506J!rLBW=R zLBWmzbgn3a0?0lW2G9wr3<@B#+!;V8kTNKEFfb^1GJsAUWl->D0Ao%N?Z?2N;Ku+u zgp@%coB@nEr!p`oBtS41F9U-@0R(e=W?)b#gkaFPltKvugF+<(==@d&g(?OHg&GFX zsg4W^wG0djbqt^*M;R3A8Niqo6n+g13<{kLpfhI~6uKA~6nYpyhd(kX^fE9g^f7>r zG-Xhjz`&p|g@J(;bT=W$9dj5!C;2icEMx#PSqW?)cQ%)r1U&cL9s1cJFh@wSwK zL18Ha=pai5g=Gv33dN7TWMEKO$pAXwl0jiL0~m9G(#0AE28A^Y zpffZX6xK3;F_$C*gTgup=2B*0P}m5;Tp+h?Vqj3%!~i-jlR;q%0~m9G($Q8128FE* z3|ye}xPyT~VFv@~cufX{oeW^i1&aS&3=9gp7(i!nGAQg}0AnstTHDLOps<$#bSNiy zn}8xC1L#;r21RBDFy^|zz@W$q!CcE27!=tcnCl_~gCZvcb6sL!P~?MP4o3zCMIi|0 zuw!6Q6oz1~H4F@jVi3%=o`FG84uZMPGB7C0GcYJBFo4c~WKdLM0AsGD3=E3O5X^Oz zfk9CXg1PJ&7!=hZn9HAmK~al=K~b9lbnY{Qq84FepxC0G;*8pg4^IjJb*!7!;>NFjo!(gW?Pb=E`GW zP@D*UhhQ!p1_mX5 z2lV=5k_SP!fV*Eb2HUsFKZU&V(3=AruytbKvL3IHGgX%&C(AlgEs+$FsL4YV6Gkp2GxTQ%r$|5LG>5| zgX(bx(1EZFs;3yhn5&I}LG>8~b2T$Cs7XRF*F**eH5mp5H8}>*v9Jtkbqrw4HI;!u zor{4%oreK*L@a}PFasEK&17Iu4~Jl`Squ#7X$%bN=?tKAV;R(6FfgdUW&oWX%%D}m zz@Sye06P7aLEDu9jJf79Flf6$FxOlL2Au>52CdiDNn~IEVdi`W2Aw1Z1|85i4@f?h zfk6kf?xTQ#K_?x88Iu_pbTS~Axrl*5Cli7hQy3U@vLKkbn1Mkj8-f`@X5=t1=z!L1 zlrS*p9gkL8p#^L8l(FzFSX%fdPa$eHj?^lo%NFK>JLy7#Q?a7#Q?a89;|$ zGw5kBFzA8ykmfKj=;=W)rym1@o)rUwo;3sLJZlC6W(F|k^k-l&;9y`d;AQ|Fkj=1M zjRA~7>&2I=GcbTKb3FsYat#Outsh^m$-n@@%nb|-%e5ewv4DYLxi$ndH!?6R*MVTh zLI#HAx)99V#K5pz4}uws7#No8GcYVSWME)!W?)$E1i_5O3=GSiA(*+1fnm8P1T(iY zFf0#*VCD`6hULK!%-qSqusj@snY$PmmPbM`b2kIS@@xoZ?qOh9-V4EuB@7J9`yiMZ zB({oyVL531Zz%)A^4|;$%l|{>njSDRFg##l03AHa@M1p$81t|(Fnrqw!947c?MlBv zbNFlw4FCQ^Fc%*K!~ee!%yol-@#8ZF#*hCQK*ymne(_;o{Nl?1I>nepa2*2!<1J9y5Js=3%yDc4T&C4rC5y4rh*K zPGnADE@iG_u4C?E?qQz5ypVY%^9JUV%;%Y}Gv8#s%lwe}6Z22z-z-ur$}Cna&MfgP z$t>9{1uW$(|5=4uWmz>@^<|l4*=2cU`DG_Uw*m#digE#N951TUzWcu|6cx!{67VL1u+FF1vv#J z1$6~21p@_R1#<-}1v>>71y2QU1wVywg#?8{g-V5bg-(S&g((Vi6c#G1R9L65NnxwP zE`_~{jEc;PY>J$Ue2T(~Vu}ii%8KfW+KPILmWtkr0g54tafxF@B-P~9>ePAEgVn>;)74*Vm1(=_)ayy;sp@I!>FHS;FdJ|$H(c(#+;e&0 z^5Es+%OjU(FYjBvYWe>MOfU9-+xMI8-~a!A|AY3ef#O*Kd}`nVCV!?#rf8-OOgov5 zFdbt$!E}S^0n>M824-Gn2WBUfcrF3Qa|?41b070W=Ecmbm^U(?V!p_HlleCDL*@_Q zcxGUcW>I0WW^rLjV##7DU@2nhVijPOVpU<)lVy-)k>vu%v$U*&teUKjtbwettc|Rl zth=nQtiNm+IG&R*;+a8is@yzz26+y70eJ~|1$hm519=O12YC{z9un+f^q)PeM;gPeV^n&&q(=fMdDZawn8{?p?lW`R@me zFF^6k0EuVrmz@6?7(ne$(609XH4M5;u^d$#@*F2Qia^H-u)kwq;Bet^=IG@x;V|Yf z;LzsK;Am#w!*U3;wh1)W$ZWu@&j7kPk^wR{&fLe`!t{(({Wis-B-^ zV0gjtJokn8^NJT9&u4(GWO)7>LNhSD1nt~}a$Y`qCH|`HW$eo^28I_qK^szE{CjEl zaxDYHi)IFf7v2mEPx_xLnlDuuoz;N5; zw!&@Cn?5%)Kq4`AG3GI5F~%`QF^UWfk*8xdb(odiMLjv$xcRwmgSVbS_6q)EY6Gc9 z#;liE?=gTbMne`vVzWMC09}m603lhwf!4jTf!6JV)qqxofmUg-C9%x_t?FT$#kPdK zk9`XJEYNriSP97lXr(9zXm>gRo#0a;;A%LXIK4R27#KLqI2$;ZaIRor;M~S}i1Qfd zDb90nMWBl$K-Wk>1vpPIfG(H-T_yn*;k?9okMjxVGtL*BpwkIJ*FrEbfUbyO0Euvd zc5{H$!3a*!J`~U;5g=7xKr4npxd|ojH8nsZL$wC57xa^qUSIh`|sGm+DlOPAA_vx?J*(}~lB)0E4E z%aF^M(~@gG10w@Jg8+jVgA{`b_*7ke1}g>|23rOv250b@bm0sU4ABfp45Gng?LG8i+MFo-j_Gx#!iGI)bdT;$Sc2xQ1&NMp!g$YiKu2xAgu z+|Ia}aVz5<#%+wd822(BVZ6k6hVeY(1;*!$j~SmbK4Uz=_=ky!@gEZd69*F`mjM$S zlRT3&lPr@Q^Gqgg=GhGFj5`>Z8MiQSFz#d!WIV(m!g!QHl<^pY5aVG63C5EQl8mPq zlo&5F$S|H|P++{spv-uML6-3xg9hVm1~tZ;44RC07@C-r8T1$*Fz7PgXRu^^&0x;> zlEH}a34;aWD+W`>M+^pxFBq&D-!U{ZsW5(Euw(qh(88q3V9)rO!GZA$gCpZt1{cO3 z46RIR46cm77=JRjG5%%=#l+7L!z9QM&m_VS z$0W=U%Ou3m&ZNPR!X(L%%p}23z&wE=mr02sok@lvpShnQhe?qkkGYSblz9q6HS;Wn z8iso2c?^xr3m6)h=QD{hX)<&$bTVl%bTMf&bTjlY=`i#%^fB}^=`!gtOkhZ4n8+}R zON?PMLlKic!xV<84AYnlm<*YW7^XAKU@~Ty$>7Jt%rJ||gkd(5DZ?CwxlCpZ^O($; zEEwi9Su!kO$YxStSje!5VKI{x!xAQIhNTS4m~5DASveS%GubiOGdZwwvU0IO6vl9X z;UL2yrf>!>#@!6OjQbdZnAjN(Ges~QVTxop$`r+Lj47JoI8zM638q+vlT2|8rXN;XG3c!v&^P25rW>3>TTw7%nlTGhAlMV7S7R$#9h^i{Tnm zHp6wM9EKZAxePa%@)&M0Te9KhARLXFN;Vx4d!##%kOyx`!3|dT; z3=bF{GCX2<%v8njgsGb0DN_x@Gp1UG=iC#yySXQEPvf4<-N*HW+lW<+Rh(6V+l||u z+mqXu+mG9y+nd{!+l4!T+lSkO+l%`$_Z7CAoZs1QvE637!*-ADK6^6T1Gb0kne18Y z+3bnzY3xbtsqE?ODeM_+kJ$^^p0GV-d&XYGUd&#=p3C-#J&*M=>lM~Ntmj$3uzqI! z#`>N02kS@HPpm&#@37uvea8Bh^)%}l*0ZeVSTC|(V!g_GjrBU~4c6PN&skrvzG8jJ z`kM6(>wDG@tnXOAvi@TI&F0GH#^%oE!RF28!{*Nxz!u0B#1_hy$d<&G!j{aI%9h5K z$(F^I!IsZf!dA-W%jU;c#^%YE$Ck@hz*fjs#FovL!&b}|#um($z?RPXm#v)jA6o?* z16w5SFFR*#BF|*aMv9Q&$v9i^%v9Z;&v9mR>aj-SA zak4eBaj`YCakI6s@vybB@v^nC@w0WX39xmt39@yu39)sv3A6REiLmvuiL&*viLv#w ziL*^$lVF?3CdD?HO`2^An+%&Q+cY*gw&`s0Y%|yt*k-aRvdv;sVw=sT%r=K@Dw_)1 zTsBp zWLw2%#I~Bvm~9Q43ENsWQ?_+%W^C)(%-J@uS+H$nvt--EX2rId&6;fsn+@AmHe0rB zY<6th+3eYNu<^0Avq`c|VsmEO&*s8*fZ+wxdxn=x9~fRSePnpe^oijO(`SaaOkWt@ zF@0rt&-9Jq1Jiegk4!%pJ~91d_{{W+;S1AmhObP27``$6W%$nYkKqT?e}vGco*OW@h-y%);=GnU&!`GaDlVGdm+AGY2CRGbbZ6GZ!NZGdCkEGY=yhGcO}M zGan-dGe09Ivj8I(vmhfkvk)T>voIqsvj`&}vnV4!vlycQvpAz5vjn3Mvm~Q1vlOEU zvoxb9vkapcvn-=HvmB!Yvpl0DvjU?Ovm&E3vl62WvofPBvkIdevnr!Jvl^oUvpS<9 zvj(FQvnHc5vlgQYvo@nDvks#gvo51LvmQe^^E8GM=E)3Y%u^XPnDrSonGG1Vm<<`V znT;5An2i~AnN1k=m`xe=84{T784Z{n7!8>n8I72o7>${o8BLg77)_a78O@m87|og8 z87-JS7%iDS8LgPT7_FJT8Eu$-7;Tw-8SR+;810$;86B7d7#*1d8J(De7@e7e8C{q| z7+sk|8Qqw}7~Pq}89kUI7(JOI8NHaJ7`>UJ8GV>z7=4*z8U2{!82y>!83ULT7z3FT z8H1RU7=xLU8AF&;7(1v5&I7Io$SZhkF#H5zs&xK{V{tpdkcFTdns+Wc$K>jr|+;WWzoaojhuCyHJr7aO`NWr-JCs~?VO#QU7Q_UYq{2O+Hg8> zx^S9tx^dcZx^sGPI&yk)dU1SamF4o}^5XL5%;U^wmE-c^^5yd5jN^>w66ccQQsI*2 zlH*e4(%=&1;^&g&Qs$E9Qsa`~65vweQszL5<0{}P;_Bn-=IZC_;hMlTk83VtJaax{0%Ia$5_17_A!9Og5n~E-F=Hxo z31b>#I%5W7CUYrc7IPVMIb$|+1#=~H6>~Ln4RbAX9rrWF9L8MEEY57s49-l(Jmz}F zeC7tm0_H}>LgpsMBIai17UovQV&*o+63{3ScuOzn;F&oLptIHB?L!!Y2Xyj{3d2c8 zCWhk-NepWlnHgCak{MYU)-g zc}6KlX+{|aT}D~ZEf|b)jPi^M438KL7z`N|8I>578PXVx7%niXFkECvXSmF$%BaSu z&M=WtgJC_x1_on>x1gIK7&RHS7|a;88J;lwX4GNSWz=IZXVhmjV6b4g!f42Fl_7)S z8lw@TF{25iDWe&qIfEsm1%nl%C8HIiHKPrKHG>VqYerj!-Hdh&wv6@+&lnvT9T}Y% zof%yiT^ZdN-5EU?JsG_iy%~KNeHr~2{TTxo0~v!DgBe2@Lm9&u!xyFm^I_F?KWdF!nO`G4?Y~V4TP}iE%RH6vnBH z(-@~S&S0F$IE!&M;~d7hjPn@hGcI6U$he4cG2;@(rHsoMmou(lT*xQlT&;~vJnjQbe(gWK+h7!NZZVLZxsjPW?* z3C5F*rx;H&o?$%8cn;hazQ}lq@iOBT#;c6iz%BfnjJFtXGu~mm%Xp9RKH~$%hm4OH zA2U7yx0jzYzF>UG_=@p0;~U1ejPDrVGk#$F$oPrzGvgP=uizfR55}L2zZicr{$c#f z_>b{F69W??6B83N6AKe76B`pd69*F~6BiRVxYxkP#LpzaB*-MhB+MkjB+4YlB+ewk zB*`SjB+VoPYK1e&Gbu1BGAS`BGpR7CGO01CGifksGHEesGwFcZpiKIZ_9l}tlL?b4 zlNqRO$z;i7#bga?M?%_=OpZ)WOwLR$Os-6BOzun`OrA_$p!Ok?FOwgWKT`lxAX5;i zCCC)Y6vhp7a%egbWVya|h zWbj}pV5(xOW+-APW~yN*WU6JVW2$FrVDMz{V))6_$kfEt%+$i*&D6@&#^A$nouP!O zouQ1OoS~GdgQ=6Li>aHzm#K%Tm%)#zkHMd*pJ@WqM25!<0Stjmlb9wmO<|hKP{9zy zP{}lnp_-wFp^9lb(+sAW3=5fNG1M|_WC&(>#}L90$~2p44nr8zT!yC%f0*VmbTZ9n z2xnTrw2&c!p^j-0Ljyx2Lp{@CrX@^EnU*mvXIjCul4%vwYNjPns!L*ZU7t?O0JxqI<_A%{eI>2<0=@8RlrXx&8nT|0XXF9=jlIaxF zX{IwwXPM41ooBkhbdl*2(`BYBOjnt%FmSL7tj$)2xj$w{vj$@8zPGC-CPGU}G zPGL@EPGe4I&S1`D&SK7H&SB1F&STC8)h*0L%*D(l%%z~Z1hpn%u4iswZe(tP)ELZd z%|#%-zgA%)QKg%>B$0z`ga!%u|@BGEW2d+GjG)VxG-Bhj}jZJm&e#3z!!& zFJfNIyo7lv^D^e;%qy5zGOuD@&Af(rE%Q3&^~@WXH!^Qx-pss(c`Nfa=IzWon0GSo zV&2WXhj}maKIZ+*2bd2sA7Vbte1!QZ^D*Y*%qN&nGM{2T&3uOWEb}?$^UN2RFEU?Z zzRY}u`6}}@=IhKim~S%QV!q9Mhxsn^J?8t&511b^KVp8&{Dk=_^E2k>%rBTE%Q6(_sk!dKQez}{>=P^`784`=I_iun13?=V*btihxsq_Kj!}|3@nT+Of1YS zEG(=nY%J_794wqHTrAuyJS@B{d@TGd0xW_oLM*}zkql8RA}pdTVl3j|y9(a0NHFYT zkz|Nvkz#nxBF!ShBFiGjBG010qR67eqRgVgqROJiqRyhhqRFDgqRpbiqRXPkqR(Q$ zV#s2|V$5Q~V#;F1V$Nd0V##8~V$EX1V#{L3V$b5h;>hB};>_a0;>zO2;?Cm1;>qI0 z;?3g2;>+U4;?EMm637z763i0963P#rlE{+8lFX9A zlFE|ClFpLBlF5?AlFgFClFO3ElFw4WQpi%oQp{4qQp!@sQqEGrQpr-qQq5AsQp-}u zQqR)B(#X=p(#+Dr(#q1t($3Ps(#g`r(#_Jt(#z7v($6x1Wg^QYmdPwrSf;W}W0}q} zgJmYmESA|Ub6DoG%ww6)vVdhF%OaM=EK69HvMgg+&a#4KCCe(7)hugR*0QW)S|@!_a)9L^%ORG-EJs+5vK(VM&T@j~ zB+Dt5(=2CL&a#|iInQ!|;4Ok6X zjaZFYO;}A?%~;J@Em$pCtyryDZCGtt?O5$u9atS%omib&U07XN-B{gOJy<}3 z(^%74GgvcOvsklPb69g(^H}p)3s?(Ti&%?UOIS-;%UH`saeq z8yMy?%wuh2ZDMU^ZDDO?ZDVa`?O^R>?PBd_?P2X@?PKj{oxnPgbrS1j)+wx0S*Nj1 zXPv=1lXVvBY}Prfb6MxH&Szb~x{!4d>tfa=tV>y!u`Xv_!Mc)l73*r&HLPn{*Rif= z-N3q$brb7m)-9}CS+}unXWhZNlXVyCZq_}lds+9f?q@x~dXV)H>tWU-tVdaou^wkV z!FrPQ6nxC!JnIGUxB+O40XBAUll2zsZPq)icUkYT-e-Nl`jGVz>tog@tWQ~=fkzcy zvc3Y3D!gTV2Oe1fjYfQC{lfYcIy&(aG|s^KhxIS(Ki2SOl-_-ENrZ7Y;5do z9BiCyTx{HIJZ!vdd~Ez|0&Ie8LTtipB5a~;Vr=4U5^R!eQf$)Tp1mBKJevZWBAXJM zGMfsUDw`UcI-3TYCYu(UHk%HcE}I^kKAQoXA)67KF`EgSDVrIaIhzHWC7TtSHJc5a zEt?&iJ(~lYBbyVOGn)&11Ru*I^) zvBk3`fX7CX*;2q`Bk61z;PDaAC`c|_9$P+iRHPU@T2jVV&Q`%z$yUWy%~r!!%T~u$ z&(^@!$kxQx%+|uz%GSo#&ep-!$=1cz&DO)#%ht!%&o+T=BHJXk$!t^Drm{_Ao6a_a zZ6@0+w%KfR*ygg$W1G*mfNde$BDTeBOW2mOEn{2Gwt{UX+bXuzY-`xovaMrV&$fYW zBikmn&1_rPwz6$w+s?LwZ716J!E^t z_LvPkF2(ko?FHLQwpVPg+1{|dWqZf=9^8us^=7}YeP#Q`_MPnq+fTM%Y`@w5u>EEG z$M&C{ft`_^3EZP)WoKh&XXjw&Wanb%X6J$QaM=ae1=)qzh1o^eMcKvJ#n~m;CE2Ce zrP*cJW!dG}incaommEDcqo!x`oliiEmo85=qm)(!upFMy*kUfY!m_39& zls$|+oIQd)l0Aw&nmvX+mOYL=o;`s*kv)k$nLUL)l|79;ojn6Oa+kxN%bv%c&tAY@ z2p+8~VJ~GbV=rf~V6SAaVy|YeVXtMcW3LB~2{eIw|E=t8?CtCw?49gg?A`1=?7i%L z?EUN$*e9}2VxP=Dg?%dfH1O!bO!isqv)Sjc&t;#-KA(L7cr;-#`x5r0?914fv#(%Z z$-atxHTxR&we0KI*RyY6-^jj+eKY$O_O0yO*tdhn9d@zrX5YiUmwg}me)a?G2iXs? zA7($oeiS?&0U9wl#eSOo4EtI3bL{6CX0u;lzX%?sxB?$lxXFHt{Wkj@_Pgx&*zdDH zV1Ec6!Fa;{l>Hg|bM_bPFWFzQzh-~K{+9h6`+N2e>>t@bv43X&!v2;08~bW z4i64b4lfRG4j&F*4nGcmjsT88jv$U;ju4JejxdgJjtGuOjwp_3ju?(ujyR5Zjs%WG zjwFs`juehmjx>&Rjtq`Wjx3IBjvS6$jy#ThjslKCjv|g?juMVijxvsNjtY)Sjw+67 zjv9_yjyjHdjs}iKjwX&~juwtqjy8^Vjt-7ajxLUFjvkI)jy{fljtLwSIVN#T=9t1U zm17#mbdDJuGdX5)%;uQGF_&W=$9#?j91A%XaV+Lo!m*TN8OL&t6&x!$R&lK6Si`ZF zV;#qOjtv|eIW}=@=Gelqm17&nc8(n!J2`f7?B>|Rv6o{X$9|3j90xfLaUAA2!f}-2 z7{_sr6C5WwPH~*(IKy$4;~d9%jtd+YIWBQr=D5OfmE#)6b&eYxH#u%`+~&B$ahKyB z$9;|m91l4jaXjXD!ts>j8OL*u7YxGSdrrg{#2F+QBpIX_q#0y5UUIzRc+K&K<1NQK zj`tiNI6iWG;`q$*1vJyd@txxb$4`!59KSjKaQx-?$MK(&fs>JwiIbU=g_D(&jgy^| zgOih!i<6s^hm)6+kCUHMfK!lDh*OwTgj1ALj8mLbf>V-Hic^|XhEtYPj#Hjffm4xF ziBp+Vg;SMNjZ>XdgHw}Ji&L9Zhf|kRk5ix1fYXrEh|?G}E5~WZY0hcEX~}8DY0YWF zY0GKHY0v4v>B#BC>CEZE>B{K_9_#Yt^y2j9^x^d7^yBpB4B!mp4B`yt4B-sr4C4&v zjNpvqjN**ujNyz0jeLP;|B^V9Ia4@OIny}PL1RapSqys^zHnx9<}iF^_{NzF8ZF~2 z;4I`U;w1V;;aUbz}0cqgU92VIGZ_JI9oZ}INLcpz@u@Xak*a3 zKF)s537iu-Cvi^ZoWePka~kJ#&KaCDIcIUsW)NiHXOLx(V_40=!myY@iD41LVTN`F zUd}lTY@BmB=P?K|*mKV3T)?@Ia}noa&Lx~nIhS!R=UlMTa9-uS#(ACL z2*Xi^Eeu;3wlQpHSjn)8VIRYO&KsOJId5^^=Dfqe%D}~Wm-8Oyea;7*4>=!kKIVMF z`IPe+=X1^%oG&?FalYn!!}*r;9p`(_51b!4KXHEM{KEN_^Bd=P&L5mVIe&5f=KRC? zm-8Rze=Y_tMlL2UW-b;kRxUO!b}kMsPA)DkZY~}!UM@Z^el7tnK`tRKVJ;CaQ7$nq zaV`liNiHey_#|ljQl3kJOOZ>7OPNcBOO;EFOPx!DOOs2BOPfoFOP5QJOP|Yt%aF^6 z%b3fA%aqHE%bd%C%aY5A%bLrE%a(ze%Z|&Q%Yn<0%ZbaG%Z1C8%ZWcR}pxm6*R(H&Q-xx$yLQw%~b;(Yi;0a z$x^?ZRFa- zwV7)R*H*4=T-&*JaP8#U#kHGj57%CdFDL79P*p@X4~p_`$Lp@-`T zLo?S=u44@G3@^BjGc++A;yS@~lIs-LX|6L|XSvRCo#(p1b&=~5cwG4^*EO!|TsOFG za^2#(&2@+CF4sM-`&nYbWuIF4YxL$I-;(E>XhU+cYJFfR!AGkhp zed7Ae^@Zyz*Eg>3TtB#ea{c1^&Gm=tFV{b=|J)4RjNDAz%-k&8tlVte?A#pOoZMX8 z+}u3eyxe@;{M-WEg4{yf!rUUf9RKn%r94+T1$ay4-r)`rHQGhTKNn#@r^{rrc)S=G+$CmfTj{*4#GSw%m5y z_S_EKj@(Y%&fG5CuHacl4{lFxFK%ycALwjj0CymF5O*+l2zMxV70e2yH5qB|n33n-X z8Fx8%1$QNP6?Zjv4R2>Pja8)KFxiG z`z-f4?(^IixG!>F0?og2U**2WeVzLT_f76w+_$;!aNp$y&5}Iee#rfZ`!V+u?x)<( zxSw;s;C{*diu*P98}7H<@3`M{f8hSe{fYZC_ZRN3+~2srbN}G}$^DD_H}@azzuf=0 z|MM{LF!C_*F!QkRu=23+u=8;6aPn~RaP#o+@bd8S@bd`p2=WN=2(vjR6{VJ?vODG` zCKu)Bu{-9c=jWwnb2%1e=A|blmzJcmJGw&X(!5LqLsuhi=j6~=al@C z#N_1Eyb?B-8DlKZuYYScus*FP+UFY#gh9Mt)HquYX2qUV36tX>LwpX$iYO#0qZz;+(|d42aGk zC4n|lCa=M|br7MUwFtl)E2}w#UVhe#N4~5tj3brd0#ja3@UF@L{@34k~ zB7`jz>?w#@mL_cB5bMGb)^UcXWTqCS7H1Z-g{K!KmZfq>Cc~qPEfOrm76sPE6@?nk zhDJsZgN@Cgv=f9jF@?~kP;oP;Itxg=7+S#iCJ=QNP<0mOP`)LUc7)PUb1k5OVrc*o zw}hH!X$<8<&9Q`Qbipys$h z&2fRc*9EHI1?pZ`Xn46o?RSOR=L)sY73w}$sCqZ3J#J9{xk2^0LBq!lYM&d#93umW z`9=m1^+pB|^+pB|^+pCTbrAcE3?TLy89?kaGKA_kgz7hh>NkYyH-zdpgz7hh>NA4s zgQi0xBd9(js6Hd8J|n0;BdEPbQ2oYG{l-vxjiKs{A>n6a3<-ZDW2kx)NVprBK<$C1 zb0ZU|eI`)*OrYkNKo;_Tgp;8wB%BOgA>m}`3JE7eS4cP+x*CA>8@fWm$m}`3JE7eS4cP+x*CG*H*|%Bm!T^pybN6-;brIw2`@ue zNO&2#Lc+_?6%t;Cu8{CDbcKYMp(`Z33|%4NW$0=Q4hKV5Nd7l;H3s|N&=nGnhOWj? z`yt_H=xPEEZ$noTaCjTKLc-C|6%u}iu8{CEbcKYUp(`Z(3|(R2XA0GC3e|54wI5Q> z7`mE5?Kg#npDEOSQ)u{`LG?q*BSTj+sD3kW{298MLG_zK^_xNUn?d!PL-m_O?Kg+& zH;3vshw3+n>Nkh#H;3wnlyioz7EpB-P<0kib&&GS&=pd?8M<0R?XiT~;|R4MQf?W# zLdq>eS4g>K=;{bH*AZ$iq}(!eg_K){u1-+>kaEk=)d^~@6V&~X^2*TF3927bZW+2d zLEY~R)$a^-7oQ6u8?xf(A630FK4KJ7pQ(0sD2ly{Vq`bE>QQoK<#&d z>W7qLhOUru%+S>psvlCG8M?Yc^+U=vLsv+-X6Onj*9=`D<(i?Z8`OSCd1mMeDbEaD zA?28%s~gl_H>kaCV0RliL(+|rGbG&@Ih%pY0V8Kf`Z01g1DA(J&Sv29*T~rnTz(ii zn}N#@BWFnZF>*Eom*YmxkaT3^3`s{u&gS59+{hV{PK=z*!Rj2%A^FnL9Fi{`%^~^H z(HxR59nB&6($O4}pB&9C!1g(sJ36w4>iIZ^@H)ckcD z$`3;ML#O}<6$qh%AXG4f3V~3e5Go8pg+r(a2o(vTqQDf3qh3KWixY@&1`#eG!WBfg zfe3dH;Q=B%L4+5G@CFe+Ai@_!_<;z25D@?(0zpI&hzJG|As`|YM1+Bea1apzA|gRV zlwLtHhmT%ya#3bM30oq#&BmSxZJ#AV+Gkvep!ONKUB#Z53ZX%bRzp`~?qoy@j4K)5 z=3+~Mv;kAW=CP%Md0eS*dG=JO4XF?tz-=5OQ*fFzFfw&yO9$)VPDe659iba!xsjm@ zO9rULoPkiomI=0xDKm>b6KX*w!~(WVMB~!P*ql2Hp@}Cuy(l#`FDEfCB{P{V2kbqz z9I*W?IiO~A9$1JwFR>uMxTGk*AS0D64=l}`nwQR&54MsuAKc8%M``BfL)^ffkJO|t z0vpCw1U7)J7|i1?M!1F*l&FhYNjyYO&2xmRhZOY&hLED(z|aw@-Vs~`7#Ko|b^}95(QaVq1T`O0 zv>O;Y!PJ3^I0Hi`aFJtR2r0@944t9sAw{@>A*2X5FoYE028NI#+`tf0gc}$_if{u% zND*#e2r0r13?W6hfuRf3J{PDxuFxi?t0~04u2B12q5g1%s&|E|hZNlghHlVsaD(b| zgXl9dfS6}w0FgH`fXEveK;p;90HzLNzL5dMd?N#h`9_9N{f1EehEV;6Q2mBb{f1Ee zhERP*P<_yJVq^r>X9U$}1l4B*)n^2?*9fZL7^>eGYA>WoWng3sH3!nPGBAQPtqhEe zq2@u;p^-7v97xm3zz9+m7#NvA?Kgp{H-Xx30=3@+st?knGB7fQx&zX*GB7fQx(Cw4 zGB7fQx(CwKGBARsdm~7b%fQGKYCfdNWng3qwFlDlGB7fQ+6Sph4UEj7_Ccyt10!hu zF@jX721aI3`yfp-10zTkYhVOvq8S)Ls#*ghNK?(g2vX%57(tqB21byo*T4u;^%@vK zs$K&lNY!g#WDd0-QUx0rnM3^xY0?=OL8@c}BS_QEz{ngLo{%P+810!>& z{~=9210!>&{~=Ynff1xiH!y;h4@S_guo1K?Yy>SYj4Z%SA_F66xnTrpG8z~`yT(S) za>U32YCoh2X<%dlwI5o(7(vSyBS@3dz{mm`{*b1nff2OpYy@dy8W=&l&_KS3#9xobb)rsTnxbBZ0G{*nz=yA5knV9 zIb!Gn?Si>L$_YakXcx={+VygQloy6Bur3(X9j=ga%g_~Szbn*US4g>K=nA#h6>6U= z)IL{8xn<}IDYpz=A?22#E2P{qbcK{#hOSWexEg}v#n2T}ei^z#-Qx-=zYJX=<(Hu= zr2H~;g_K{0u8{J}&=pdC8M;EsFGE*I`DN$|DZdO|A?22#E2O?ObcK{xhOUq1DYpz=AwzYBu8^*^p(~_IZRiRqzYJX=<(Hu=r2H~;g_K{0u8{J}&=pc{8M;Es zD??XEIc4YyDW42oAH zWGKwg6*3fN=n5GMGjxTtKMY-+Ao<4?(*7`Xg|s^iU7f+@fuXB2 zxEwZgg$$7yx!8977hDI;e{x-)Wy)Kf;zko0Hd45_D#oFVDZ z$Qe>kIhsTAxuZEGpF5gE^0}iqB%eE)L-M(!Ib`U^(HxTB9nB&6)zKW1KOM~>`OwiE zk`EotA^FeI9FqSW%^~^6(HvACL3$6YrJxQFTPe5?!B!4ww3j0q?VRPX4k}wYxUb1w ziI8Ng1PifMfwgf}!Mic6X?iZMp{%8#?k{T@n9S4*3G(JkPc6z#%u7kiDb`EODdEi0 zOUWYIL==LEA`npwB1%9+DTpWo z5#=DF0z_1Th$_8;WaPjuPBvr?jIU%4iO*n82IFkzgEwD`36Brur) zCNsfg7MRQilR01#q$7hlEk2VuEk27mEk2t$Ek1`iExv>u9B=U@oQ3hFd6}S;##{^+ zO@hj1Kz(EF6M@q1}1sIWITjSLg8hg@G?<&Stz`06kZMruY|cIz68|& zadU#SOWd3w?EyC@NV~+%3DPcbbAq%_+?*io12-oFGY+u3^x`vF9QBHmIUT_{0n7q- zZS{(i`5X}$Mz1)T2QeB1QV&VP#mQXInLIrZ6OuLcijz6O^Lb$7z!_ApIGNSaRj(K{ zs8XEF;tY~;hFj?j?o{g)Cv!U|r>11)S?Gi!$TBw& z;SN&i4i7w}2}Y1=(C~<%krBvj#B?J_n}=R;GCOFR5#(j0nMRPDCn(rFy+8(g!UGF3 z{RmR+iRuAQWDj`4i!`uqxCfxKmLMlVCoaMAut;J7S;mJnhY50qH%K+u1IA_`K4@r) z6Ee36(hQm2M5u8B`3N-G36=zpvw(E@f(Sp57-S9<%z{M*7ua|cQ*f;2rGw?*Zt@3l z{ow%snJ@(ffIn&gAOJ{J@ep{PND7@aLn<_v`g1$g2Y6ci|PzaTrH)4yOQ zA{T=vfx%Y70)-_E`aTuO_q>QPU9fI= zSU?AOL16(M;{{ok1|q;YE*)kMAJP~vNHsVC8X1E;f*A1yX#*9%?4S`}kdu%GeL-@W zpz<8rN&>MtGvPr784?ER$wc)=CXzQeGhq&A&CCM10y=yQX2O#wCu9&AWFbfqAJQN) zNGuzq8ti;ybG_nZe&lgwkbDj(gdpR~U=}PcA?1-VsGed64LE}(VMPQ>E=X%0NDML# z4e|-nP&8Nq)g%*8nZT9`DcSO1iH;>7q%#>2rZR9~2a!jPpHBm)^G z2eV*mxQmg}Khp3yIN2bY&&A2mrblryO9`mJ1C6VL41x@;gIo`eFf&kkV<`p6l)^&@ zGVTrvp;FWkDn$;VQg{e~2k1c|gfd1CwgWOu4`#ws69>3c0k#qrRxD+pa482_iPXCQ ziB*7zN|548nEUvU`WT=BuM){sEL9+-kRAt^1q(M`ME3&}9AM8w`nd*%kSS9GLrDMD zzz{NZYGCLL?q?bpL8fF4j3E7I10%@Ptbq}vA8lX+9mh9<^rsDspyT;Qkbbp+5oF5N zzzEWRH86rqjT#t1`>`&N@l`_?==g>UWPH`o1=`;2GBjPkbbSBIb_Pz(cI0A%~7v7GcS$J2|_tTC>IFj z3Z`I_h+uVYU?Dbl2;~8xJRy`9gz|<^J`liQq z9)!w=Pz4aG5JD9}sA33J0-;JFR2hUShfoy|suDs~K`2MP;?ksIP#l0LX9&*)Lb-w| zcpQKfxPgU0aRB0ZKzN=I$_qkyLnt2z7BIDhER4La00l zl@Fl`AXFiQDuPhO5UK=1l|ra82vrWDDj-xPgsOs2pg1Ui#6dwZ8z>G6irGMMP*BVU zii3h;L>v?pvw`BEpcotn1;uQjI4CG)1I0l>F&iij3X0i4aZpgq28x4%Vm4456cn?8 z;-H|I4HO3j#cZHBC@5wF#X&(a8z>G6irGMMP*BVUii3h;Hc%WC6tjWiprDuy6bA*x zY@j$OC}so2K|wJaC=LpW*+6knP|OC3gMwl zF*ptiirGMMP*BVUih}~sXiITvK`|RB4ho9dKygq|%m#{sf?_sM9269@f#RT`m<<#M z1;uQjI4CG)1I0l>F&iij3X0i4aZpgq28x4%Vm4456cn?8;-H|I4HO3j#cZHBC@5wF z#X&(asE=)60$Dy~U;-I4H!y)LqcSjojGY^pK>FGSCXh1Fzyz|q%D@CNrfy&Y>7yH% zK>FwgCXi)U1}2cPb^{a0*uQ}ZWX#>b1Tt1{U;>?^F@Y@0GBAP69T=EE#^eo5Aaeu; zCXlgt0~5${EdvwC7`=fBWbVMg1Tt1{U;>#tFff6P*&CQZmWLUbK$deEm_Wwx4NM?o zdj=+uWh4eBkYywWCXlf{0~5#`f`JKSIf;P@WO<2!31ke=zyvb)U|<57`!Fzpj6E2b zK*k~rOpL%|nFc11xe@~t$ee|Ni2-;SkAVqf&ceV1vP{Lm1TvOrU;-K2Fff7CO$H{A zF-`*$=-iwMbWY9$GPY@80vX#hFoD!X1}2a?$iM_L_HAGS8S^$UfsAzT=$pkvLWC{y6=-iSCbWX_xI+tVuokKE#*3~A^I@$zUH=97~WD{sz zYyzEQH-&|}lQSg!L6%V&m_XYECeSv43A8O>0vYo*FoBGD8<;@GybVksW8MZPkTGuq z6X+bg33LwL1Ud(A0-b|5fzH93K$+Fff6%Ck;#>^H>HZkohYE6Ue-k zfeB>3%D@CNPi0^NnWr)^fy`4Gm_X*K3``*NR0bxHc`5@_SlI`euQD)!%vTwhK<29q zOd#`B1}4zL1iFsK1hOR3zyz`+(!d0|p2h^ap2oxlJnv;-0-3imFoDcl8JIxktqe>c^Hv5X zka;Tu6Ue-kfeB>Z%D@EL?l*z7_YF)S^Hv5Xka;Tu6Ue-kfeB>Z%D@CNZ)IQtnYS`9 zfy`SOm_XOnm_X*Q3``*NR|Y1K`6~kxNPFMF1k%noFoDcp8JI%rQd4LhY6`8>Oks5y zWFFJN#KH}dmyHeef`go(Y!gtvhO)tV9KtrW1c^iQyCsx%V|C0a$Vg;yN-arbbx+LA zO$19ATbi)D78GaZ(k_cvSf-D5Hc%bG(I8Zae94`Od)O3h)9*}Za_mUr~2*!t43N5&e zp^3~GTHqT)6N@pl;5UXulA#-<;x%-GRNRJckc!*T4N?&sx$;b7ei%<;Rpp({akOq#S8>CP)bb}P&hHj9^ zH*^C{`sHOBxBr_ViK`K^5H%O*5bb~Y` z4Ba4wkf9r-L1E|yDU1x=APoycH%Osm=mu$E7`j0UCqp+#Wnt(BsVofLAeDom8>CV& zbc0k1hHj8b!O#s-DHyszDg{F~NQG_a2FdJ(Zjg%H&<#=u7`j0UdqX!!VQ=ULDclX+ zAcec38>G-Tbb}P)hHj9G*w77@J|Gpjp&O(UFm!_y=7w&NO3ly>Qh6A1}XFn-5`_IhHlWs5^j)1ScY!UMH6n2hJm3Q zq);(*gESBf-5?DxLpMm_ZRiGRh#9&;3UNa>NQ2DK4N{mJxlAqiAC zq=O0v)|Awol0^1YNPcFi0u>D)$r5nUkO?XpvcW||4!CH5e|o^Qe7LmL7L!(ZjdIp zp&MjbouM0KS)HL9WLce|8)R9Xp&MjbouM0KS)HL9WLce|8+7@N8>HGdbb~Za4c#Es znxPw{iE8Kusoo6TAYDR3H%OPz&<)a6F?548a}3=eT{S~DNLS6!4boLJbc1x&4Ba4I z4MR6bGsVyi(nT+RzQs zj5c(GG@A|GAkAh&H%K$t&<)Z|Hgtn@(G1-n%{xOkNV+j}gLG94-5}}8&<#?98M;Ag zFhe&;x-)cxG=~k{AkASzH%N2X&<)ZYHgtnDgALsv&0s?}$nq9LH^}l9LpMkl#?TGY z{4sQcH0urBAkBJ1H%Rl;&<)ZZFm!`7cMaVj&0j+|NORZF4bt2-bb~CHF?540moapM zbd3z%AYCUzH%PuQbc1xE4Ba5jFGDv-v&+y8vdq=c%?#YUGjxM=bq(Dh&0|A1=rF7s zWEj@a4YKUV&<(om%nh&Cm^!{|wzAT`xm7NEg@84bnU| zbc1wt4c#EkWJ5Pdm)Fn@(p)xlgLHij-5||oLpL|bGA9>kdUS!NM;B;K>jJH5U0^k> zlPd?fIRqN-2DQjQ6A|D>8F)B8FVn!-(gehWHk3fhK&>;-w3%xOXhx6&+(rY5gPK7g z?ckOgXj~oASOd+R`+_D9SpC3c1ZWD13)-*(Nd|xf*n%=ZQ!pIh797a*kVKGbE@*QK zBodGTR_F|&0*XOA@a&MWqb0~*Z~+Q(2&nP^34rSl5CdF=fP9e(DeysxKotqd)KrKs zz|{#z98|=E^nfcBkS`$h3P?Ao4{PiMnu%h~138Yh0_+56fe!LY0Z4$Y2<#Pz)0{z* z#T?)&2V`3b#8=RY0VGlY@lG;?DggV616(bDW^2H41Fi=^b7s&;fbqFu4OY+u2PpJm z68zB6h4Z1I2;=i28m}N@L0VyTmR@nP5L7ji5V#hE>E;Io5t5_`G9Ru8>O~k|2+Bv& zCypirQ_2qwP#B*V92#&QIGSNRerSxs_}sAC5)_r-_<|MyE|8{;ks+iaFfxQ>03$<4 zQ`5*0+Jtt2HaT6OO->hRlhXxSu)07CRu^c2>H;lLU7!W33$#FWfflGP(59pdv?=KV zZA!X8n~*NhrlSkA>F5G2KwY2(s0*|Jb%7S3E|75pLlrXwNK@R%0Ajuobd1mlI=)~89V;|~jx!jU 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

r@^5fO3S3g)li&}&k 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 k zOdPzR6Kt5-KvyNOuyJ!R^Qud%5a;AC;pJgg6lCXNRX3GZch%K*6XoP#=HTIAW)kC) z2;`I0chR=;)#GGkWoKe$zQ-xd!pY6V0=n>)jf0I_R7-`2m4}s`Q=C&%gN<28WUinf z7dt;Yqo%Wlwx5xZ2qvg0_9ppPutecx5?R$pA zFJ$-}T19|*hV0-3AjU4j#`aLd2r0hZG)*nUygcPhRM@zf#8@Q3+aZ({#P4uOv#_!< zvU9O;@G-GTt3}C*F$s&vDL5sXGJ52r#CO)EGbqjHxr!F?|Bhjm>4z1%dj)EGO@7yIbl!sYGS6NU`s$2K{5Pj(+23# zrl2Ux1}9Q5Ccc&J5`ULBuhUs5{a@ zBN-@jVW2J?sfSk8gKI=3NR9aKJ=Kq}Y6GoThaN#Vg*L}oflt){XE4xQ18DVn7zbj}B8)(|`*Yz~?;gmwt*n9M;HBWOMcGTVmSqZJclI;ZNSqwK1y zAtj_F#lpfNsi7yL?<}LEFDzyxg}lG=-_D|9%lshF20})E`@$$0F)I%pDPn4)AhPXpROoszGDIiioqKKr-ME2RFMx3P7iGLYv*- z8XOenppg|mCZ^dMPU@`xF0tw=fkq;s=Q>G)hEl}%!POA-s3=gA7JOEeGWe`0@IgP| z!=gX~lLE3jVv6QUaSj3(yGErwtjqSUgmB5+&krw4laNU8bFUWLOIJtS@r-M zGtWNIfl<(<%uK9od~EDWvj3V5?d9a%tc-(Ynb?>)gao)WTr~Z%9c3Aq7!>~dFgY_# zXK-N%MIBNCm#m=170BD*Z~*tN#UL#ZF;J5W6fmHM3Me2z?G(_U1DmiNGk8)IJPs^o z3knD5?nHi8Za!{dX#7aBF98d7JorV_{*WCcB#YDy<+VbyIU?OHDDpEl}Sw z6{74+-T(6Lhb< z8-obL1n__$s2~FMoIty-#Kb_yCJTeA6nY&4!MF{5Vb%lMp9_I)rIr)wm@19VieO-Y zHbFoUpvlm}Fcn867(+V;pfLdW!BCKO^`L`qXn3SOqYZkDbf63T^9C&krO~nXSR#jx zXR5=`t~X(jWGG>1Wnf@5f@N&Ta2kB9!Hho9k*#g3$i%_U!zyB|pkOS*!o$JBrfB!? z77e3-*+kh;go}@#O+s8;f{mY#OTcDUG+<=)qHiL?LTAe;XT>gMo8H|Ti;1h0)jG&=AicUR-9H+=6%?!#Nz4-D5 z>U23>B8E{5Yfjlm%gDfQpe&MagQVbElVB_*GrMhDi$AI3abHNk{_9~89M zCWMfhGOFsNBv_)BI>63Q1SLXW1_oiA1vELnUWGLg1rX&^e5rvbpRs^WTwyu~KI2D| z!Ir_Fl-2>kqkkd@Mrbi|pGYUH0rdzZq9T&u;Xtr+j6kuc3%V)*cLfU?Pez=Yf#oox zcC3*lgVz^WBWWK}x6aGC4&!tu@X*U^c+Au?^pTSLK-UO>=LEpD8i7e%(3}@IgMyce zfcjvdnOZ_eXuKvExBsYq#s*R8!Hxz8aWF7L58?o&pkZ= z9^zQj?si&*FldMq(oZQQtsJ7xcKL9ENxGbB`{yxx7_Q_GGlJI=f&veeJQMLHPEf&M ziZmVr9q$LO>wFt?X?GqK}rSi?herWFJl|l1SmmX@L)}3`^XOtEa$>x zF+2bdfuV1C$zp^I@2md*jdHy7T*j%8p{{>Vn1z|9GsJ<@Bl5Z*(EO<&c!(7;e+0TZ z3fG7ic-mYPG-LyrM*)R2>Y^GZWnKXV1=T2T!!TtoX<C@}fN0ve10Eou=5 z&9Q++A=BY(utf#1Z3yaopoRKkj7r+!9@>f)&Ppn7x>|0U?3@yc654JWrk+yDQrzr< zMuv*IZW?a>iu!)>%4!}4ih&*~wkkSad_wAW+UnMNssh4#c3S$5O5E%$oFXc6suo&8 zQck)`x>9^B96~(OdP@4Ph9atF);b0r1`_IW7OINo=JJB-W}0fwnxIW=|K2hsGR*~T zYJ#jdGXuHT7`%=_88puYjzH8cZO|LOK;vwnH9fEe5#Y15Fn6>WtAb`O_?Q@j*wuC9 zCHUBdrBx(Mg7kH?pUc@xd9$#BceMFKcC<-)`PuSHSRf`xxtJicqinij>K;fN+Jb%j z4VYQk7`sm=ahi;vfs*@t{cCBocU zpcydm^hX<5A7~LoE_l=%vhQ;tqYG&1;s1aCmoV*QI?Eu;kOw;E6tqCXfX$o{no!w9 z8QIv>!ILF49?q)ZU}s`x+{G@*$I8k0&y8Ion}!1?F~RV{XA`tw0_t(dUM=W!7$`4+a~NoG2=e+k zQ1u9@7(s)WptS~|z(K9_Fk;>fG*?5VQ^7EkL^xz?v@*r#gt0KF|NqTo&NPuhfWea? znjwdQ0TM_^)3EHIq6Tf85V?N^Zc2fc#zOj9py~w_NSK>JG43gZBq46d9PBUfFaczB zJ^7awu1A`7h0Xm?VyQzztiNkLK%6GLgC*td$K3}85sZn`u~?{0n;?l_Dx3c?X$w5nJ&;eVAx7KNJ|5h zKuo}A7O^w4fwn_JvJAW}3Cecn!r(RsV-g25D-X+dZYA)w3H%y}6PILFIGH9evLjAh zl2;Lio`sbcm5G&U8atON-#<|qRSxJD3h*8a9!AKKON=!vOzi(=m>QrTFvNHQ ze&mws|0PT+;G&`(dr<+dUqOBX_b})(25W;}dvJhq1g(a`u@)*k;ERN)J?{Pg#D5D$ zOK{F{z>;&AK^u2K=iq~<)ImivmWg9XE&?w!mjz`JMixjGd6iE1{t`wFvms^~dTjrmih>4M+j;Ee^pqaF^ zS=hh3reUdutbB}YT!O*<(Vk5yR-m)1nYaXaMR@K*0SZ=;^eYddeIcf_%z+{Lu0pax5}7 z<+kj?I%+vK@N1KDL754K+`^CB`#<@Vk>xD0J2(bA>%@D8iNe&f$|FE=D1m)p*^tu z#-MBZnA8|x;!_~@gNFh^=So4uXTsF~dyAreG3bf{usH@O;`11%g3S^BZ-85^CG>b7BY@Ymo ze-!bBP;u%1#we!*&0;hIs|SmN!wIwkTAdp#4jNx!*blZx`oBMlzJ+joDk$P}7|p@) zDE$8`b0XNiPT=^M&G;T{4n!Oj?hx@=jEA7&#>|OK6PVOMXOuI5%8qGZck%px&&&so zSIC_zvp`qZfbUu{2Ayie1YLQ}J&SQ3RJ}in_(Hh23X1p~#`$1(g3`x1<`qn8pjJ79 zIyY=QY6asuM)+1%Eb=oMCo}Xiz$QvTWfJI)kpSGK5}|2P@FcMrq6oQ)qX17t4TK6P%exnOx-u)o1)sDtGpCu_|D9gz(_I@_2D`NXYR zjP79ffbtx&_(Hh23X1wUj2_^$Eb-q7pWnf_Ep2^t3&uP3;*fSHSUqHHcoyhP!2ht5+CaM}ASbWQVT4>OAoJgt z$%knPlNxAB7i_OC$X*7S|NbcA3mL)U|Ns3rMrn`DV)O&4hc2-UgpZvs0x#KzExk-( z5N9Z2Xl7UdE;C@W2%vRiqM!}{Xg?9SPXHQBqv1MBP?r&OoF}N)2wHXv+VKfG+nA4; z@d^tY3k!$5G7l#^n}mpvoUJ$u&p%fhj#~@!vnTNhaB~arC9(0b%B!nzv9qyrsi?~{ zGcYr=u(NPT%W|^u3$w9v@QQLUGX42Yt5I#nel9k)U>+_mo?upXZeC#_HWn5(At7FH zmI1w*kEM=$x z%NsN81TWJEZ4CmO50(cfD)_qHerV#EJFtldJaG)(i~}0!McVw$#u$e!@$9By;wjLw zQ)FY|;9-F*P-W#|=U`H_W!A=;axTy;<;=odvkHz?P^tmlvI&XRdElaeoqH*x2}3em zejz+nz~mP(CNl)U<&R;=gHlZ&SRRyWK(`Q}nh#Dj;O3|?O0#+vqY9{qg06T46;Ysz zV%WJCF=~N|Qm8oS(0GXW0!C1?6ShJ&ib0&An_&h1v`6nAn5hYlVyqBbN<2@?j+ip8 za*XL4w$%6+dQ77Vm6ypft;1D{F$jaZXVLKP)Eq|f{~sCHxR)jyf>XRE9xQ$7&>b8L<2UMm>gNuzq7EX>b_^NX9p0!fkS#iRuNGL{*5lY3@r}qWJTNP#Ya*9R*#z396$&;Q|W(9&r3DWw;Bf zqoDGjItnIV2bN#NBnFOONP~YhG`vCj>%sC17@NTH3yu$P{KE9NLE{%5FU*|a4uKz7 zd^Y21&}2NwUXVD02>1|L2GFKa&`A*}n@bRJ0vfvmop?yXEsgWg*J`Peacv`(^@M+2 zDY(j!nG>8uAwjW-u?}3o>i+-4%n5EIL&O&_PJoIVgKn&3QUh($2Dd#SK?>>v-2h+H z4B6>Bi!mRZ1t7P6fU*EYd=X*?Ff$)G3Lx7^XESaFZ)lYG{|O|{AObo@5k~~5fi~~K zC$mu&gMrrdfVQBaPrnhqd1V=T)EH2F6${pgqT=-|%zWU8g9IRIz=CQ5wUOtG6xD;HlPHW4gsAs13DZP zy#EutU<)*5{#(P>PSrl8)J#cTNKAlRl#5H4TgBH!OH#{3%GA+NkCRiBPtHJXWnY*Tcx*-EI1H=CtO!-W` z4518(40#}TfhQe6YdOT#z!SAFXMo3eQ?>XUD)e;wwkpiE;$1cdp9m~zi&RfXA zCM^QG_CQ=tOvYFcG`k_Cz&o8wL_$zhO@l{Xjh{zZL{eRT8527rvoJTmpg6mRgoc=; zkupCw2R|!gjFb69WpD3@I>}y%sf5OsSfC3|&EKGNJy z9uoWCFA7%L{Qvg>y&~ z6w=hz5)#uD;NW6nVdLgj*A*62)zp>{*X8HnW(0|7=sYDmtho7w`J}j5IRsc(1O${M z`Gol;xmh{*Sy=@5l_mdupdi2)xS@B@3V`-VW27i>0)hq(EK{P)yMhB2l$an*3uxho zx&%oQoMPOe(}dt7Q<0`tiMXVeaU*j2@PbUZka%US%6|*cs3wCyqI=GaIN=Ah7(hgf(MZ-Bcavg$hcJv|HY=D9RntA7JNd`1Nr_vh0nq>38LJ2%D~8=`d^b-hN+jK z0d$IwnyHxycw;;0*ags%5>S+znwZe^$N_O9&{`c(?qqt#$HJ(hCaw&*-d90|^-};JO;Wpd7EA2KZhm4rVrGg?+4CR5*9QR9uXWk&BJTI#8cS z7JN{z8q;Q`euge^fTD*e_%1Kd0ZGbApd%TP4@Ck`rGxVkDAd8LdO!=fjL<7TQ4vtV zZ4Odo0?mt{1_?M6K`Y%rWj5%9Ur3t;9ImyT9E^-wYJ9TF;=BUVGMsEzu%5sRUhN4)Kjaz_KKh#E4MS_)?gPn~PeoL>SD&rw#S@3<#po6#|N4_h| z?q=cVVLQXY&o0CYzFw7?k&P96kh!d!rL8&}&%b|yilSU>JVu`SJPM$t=KnRAT$tv9 z>OxS}2Tj9DpnK<)l_6~kbMRO%q_Lo^1UhpU+++i%aqyBa&_FF{-5BOFbMP3Pk(rq} zIE2CBDagmpsG_EBX`?G=FYC+90$OMu;unZ~bqdlkTzFTSgRf2z^p5Zmf}~U48yetr zs>#U0#K8hyXx2 zT~2_NjZ;uVUQX9gm@!w@P!7ISh>=0~zXh`o(*#gKrDy^=IhhS~uN`>Lof2qO3hdZS zP$3O!t$VKZlY$_*@ieQDGqwDR8EdRAA*1;$~!I z;Sy33=i(9O=h8ILhU}5It<5H4P6yW7Elu@+1IGc}=(T|Opi7lFmo2ef> zBF(O#=1`DR>dGf0z|6+RCJwrrh?SeoXWrye6%7qRW@cV?HWp@PMm9E31c?jsSvg9w zvv6>6X&b1qipjEZafdA;BjjuankBr%Gz&EB%&LUi=|UNzK)SaQ z9RHvZCP-ca)kdKF0qQA&wq1d)w*-lS#|1$n8jvJ{Y#Q|DO3;0Fc1-YVd!T3FDY3DE zE;W zt(9zy90^Qp%z~=gl0uq#;^0F!g*iBQ+1Um8*=Diu@-VY-F^kAa%Lp-}Tv{oj4(Z;3 zFJ(i&v{Fz|NZCUfc4s9ss8&S2vl5i6a9>&}ASU>Om4#iWdZM?9nXtC3sInlx0GG6? z;6HOdMR6W>U2k_U9r$&X;Km%}LX;?QXBxhP4wm{ru>y@LP%Z^EBtR_(aBmMJAR;C% z0xJ7K_f}{zK}En>88S=&PS@Z84QL|)`XkM6B!wqm>8MaxVV|vW!1#F zO-;DD_!ya(q(S$<@Jh>y3rnb~LB};fEdV)i3xJ6cc43LI@@@`3^m{oZ1Q{6_xq0>C zj1<%$ciDlO5e%SJ?<$~m2MjU{@sK7Ls9+K|5(AyR3-_L=2xvnRqy|t2wevxxKWJnJ zlt3Xj#(+Xb9O_$8;sXyGfR2?183an)jFviP@;uz43er9@GJLFT{KDLjRj~qMdP}w3 zWmwojS7P&UuyQeq_-iYh$x9olsQVb{#k#4O3UF{UvGMV93NndWXv>)>synDEJ8PRI z-BC4@lr&K1;*ir5m(-RL65!*O;FFd=BPq_p#U|n)%FfQp=IbP9uBvIQCMId@Y+xK@ z$j{Eq$02Ga!Og*DY9VH%C1X z_Yr$^+EF%Up2OIVPBR3z0>HbnESQ;@wlPF9Yy|}sxS$7(6@s${c*F!WI0z~Rpsg!& z&}LM~CM9^65ve(CtO!1v9(IH+y9gf>Osvd2?5vzz0y-wrrpO26c7hJby@-53F62@}@Cmt$3P?xfhMO|#d&m4+1!|d4 zX^Yee@PWI0g2F;;f*96pbhII@eB|dmy7<7XXsOo@34XB08#|)}FKz$-`-2vK~{8H0FS;kn2 znMK<}$1pI}L|99XSCEs3O+Z;n%U#FXN>G}Ejf0hyO@xb6Ls!8>OF>tTlY^Uuomtk{ zkx#)&Ro2x(n2AN%MnyZwS%XKITR?%0O+Z}TS+5-76uoF08p)moW0f6O_Y^D-9S)71-d&GJk}s8C<3`A!rTbr zPtbM%@X>#uEXxcU!vbxjU}j_6hRD4NjEwx6wstxkl6-uO9IOJY%v>CdOsw1@oP4qZ z+(OLUQaqdjY%H9hELyvng@c`C3nLTaHmVJrjI69|{GyE29AaF&EKI^;oc}hkF)}i8 z@PKceVquH{XG6xttjr&UnOXn+XJY^VALKnI9i|orHAe92E>2^{GWf&=sG%;vFp+^l z71SmNA1Ey@CL$`v#*R8(2MH5U6oN7`C<4KL1qq-JBOnxj+i0M11e8HMaK0xrh{0&a z%FoQg#CDbibf7#F2WWMZq8hZ#pon{5LDtQZ4RvHeOj;3qudu9^hK#U`5_Ir_jTg)H zL1io~%&bD}XPLoQ6>tf2{M!p2AS7~(fr$xyj6p(*pN)kbbkQ&qBP$!ev5f!!83g|S zW~yWAWnyD}2|mk!|Nn1hPo`dmMo^lB+-(5r2Y|*!VI5UaOAC}R&5S|g(V%n*YH@)w z7NJu*VSRK^K@2hlw8{;9!7lcJx=zp(lo*dN+C31eno8iFD)_uktb=Dlpzgdh+`1TSdu zt20#hA+S7nEd?k(89-|(m>6{b?O~h9G=ssI!4cZ70ynK7r6u?bb2iv5yW*gV5>yGw zF@dgdL%M`TOpIkm+o#Ks5xu6`-WKvYVGY5cwGF0O0UTUxuKivFN8ATbdGHqmVWblD)5&{j42!r?gKzd-Hu@G=x z2Q_}d#U{8yR#ykr@9dzVa53;z7RpL&=Eg>#F-(x45(hUom!LdX87ng*8wV>pHzy+# zGh-pItS~p15Vw-3q^bm)u&5Lls{o5&DJP34JHMouFqgWxh+=0lC$l~i8;c1OBcmt_ z3mXSBtFRcOIJW=?6C*PVCkHFbzXK}5tjrv2pgR<~*jd?xL>&3K>_nwmSwOQZ>v^WK zGjUF2=LGFxVH9PoV_L*u$lw5~1|ahn&_)J$jMUf&Jg^V$e1nHEAP3Kbat~;*$Q&F? z@Z1Ty_0j~~{%2a;N}t*5*8H{mXdMz6p$5VVq_N4mecps=a3hc zk{6$>X78de#>2?SB+PDU&Znv>%?TRT=iQLzj`CaVgU>1|vxF zgDma7Et*QYOR6%0$WUAZe|84>Os9{X6r;Nmt1=}eR)u&#l*R}{isLsYDCdkUd&m(Bh$ZrvAW))+`!NJVU#wRPz#=^obB+JSwsOzO;5N^&V zBgVnPEuhTB&dI{c20As6QH1d$(_#iS1`~+ultGm)IQ4)EJy7=(8vgJpWkd*rHu*8K zv*}n$iAzcei%N)yNQepxh>8pI>uPW~CD_S1W`{+^=>-_;DXB4vFflQ6u`|O$l9`i> zk%>vh*j>jm)?6YnTHjkoQu>>$G^owbD9TvGw16Q4l-$vr0;>4H4O4h>*JA=TLq*x) zQ=rD6hJmOEs8m)~f^-{|mDt3=Ww$Z7R|!c<;8A4o>>`_~fUtzLq=W!Jx0ZygvA(W2 z2MZ$;3kMq;BO8yfurC)k69=7(yC^Te7$}hli8(2X^Rlpl z+6|1%tnwBnMiPRO5{#nkT+A%O;Dp1%%)!OP$jHvhFU7~k!Ym-f!N*<7%E8CY%F4wh z%)u$b$HK2!Uj5_1T-V@^lHUuS{&LqPk)nJOZqIZ2U6(EG&m;5q?akm{)0n+X=g6_ZtCpJ)l0~%fdH8?@34U`N)gVd1J z1WRz>tgOWZ87hSiNq}^MDtvPeE>Q^)0SRs{E)F4KApsd9Jw0(24n{^sCT12^Mm9cC zA#Z**&~5D^ay)#ZEKF=HtjwVF#>U3PBFw=qE5pLi$jB%Jx&VqpP?(=rMw3w#G_=Jm zD)wDk4pcg^fSRSC14Y@n#Kf67S(pVxxP*8L+1VKRxY*dZ+1Uj-ID|M^*x1?mIQeBv z<%A_cL#HgvOiV1G`%)PN81FDGV~B>71(4JQ_5>mXK*F~h zP_xJwGVuio7|=KwxElg70#vVx+h;qt7T5{t>GE-~F)}f8vaqu;v2bv(8R-~%YiM{G zNh)*j@G~-Ua_|dsu<~%S2#8AxiAf4FadR{AaWjDjnAurbgw3oN1uWvMtRjtBIarxE zIQbO0SU9*@xdb^lM2&+C^a73eSve#GSb2C^d3l&wS-4n0m+LaIu(5D3vheW;N(nKu zFf+3iwxD7Z95|p(9H<(w;Na%wmf+`>5as3&5)tMX6cH5^=HiwR z;ncKN5H(X`W#kYN;N}(<5|6%`WZ<`$7))^d^& zvruN1731a-5|j`Z77!B!B^YRhCLk)r3`!!PGK`&tjfq)Iu!xO`iM^0ph?|Lt4RrGp zBd9uOW)>6t_fbrgnHhA;H6tSvI}0l#i>Pop3lkGtzOW24BP$C#Xb2Dzf(&1o7BCnf zHQ<@!;gn z1#-Nw=)doxq9C_$F)=bTF#dnZu$SQ-(*g!v@UbJ%bO{=r0L}FaB5rd54JCr&6qHZ} zMfjNXcoZf0xY)T_ShzSPB{>;|LE$PTBPJptCMYZ>A;!orueX!osE@G!9bi* z9Tbo}pleYX*?E|mg+%{-6*tuf%_xHkm={b787heh4p9FAWnmO3c_DQ$Kn`RR5l5bQ zR#yX+Euc~#RBVCPHGr!*aHxW0l$F>lK&e9*>d@gXM0$N>riPDt?sjt?=xJSJAQIu>>oW_Ct!yNQvJ5wvTBiCI`sT0@qdgKajS zAm|P>78cMQK%fN2%)-IK&eFxf%pqf-A}j}rOwg)gNV;O|WLm&r0}V(}!Ha01pyo@^ z(hf+$1TTSL>!8dzIk{M+r1&Mogry|K#AKzwVWA|X5G#lp_Q!py_Q$j+*0Woj%T zpefHN%EHXS0!r(Q!eZPk%$%TP4$dmPg8yC$3#p27aB;ARYY0L7&BVaSAjc@k6v?y@ zRHZON=0L#BZ*Xe_R4pjM3IKEPg+gkkCZHn@z%@9iNeJrHg9IQs1m3O(#ibHtKm^ib zR980vPograu*<4xi!d`Y3b6=_adUBVaEXd?^U3lFb8`!dvxqSXN%OMuM+opTvhs3D z=}EG(v6ORguqQF`v2%$@GIBCXNPsl)NJ{eXN=fnxb8`#xGqSOrQ_%bx zs7^ICffTKv5q)tnGgA{iW>aug1Sy%pQ&f;Z6BQBRV*=eL%Xo}Of>qhl%tnoimyv~$ ziIES~2@n+G=i}xT1eK5i0_;reta7qkT>Sj1D!l9*ET$n|s$A@#;~yCL__+D`IYeZ* zxFyAexVR;RK*^VpmzQ1B+0I#$hlNYhDac4b3RHc9QUz$vg^@{2oJGJV*+52?gPDz$ z6LedxNoJfX7c)DDfxUwvr+^?RCxD7ycF^@zeEbULMusNVN?e?v6G0dS7+*0hW8i0y zM^wM&kTaCoU?&8Ess~UnfsxxX&E6u-#WKatB*k9aL0QSw#K2Bo)s<1eG|JK@+KkaK z!p1D#MoPy=UpLG`&r8cV+!P%AqKu79ix|LXrGUx}GtjNZsLg!vB1<+<+Zhz*pb<4l zhe{N75;e4*vJe)PkPwg%6&4cY=jBz9<`xFE zRTNbiMM3Rb!%N%&>t{j~tUYcs&;+5nzPZKRss!NnHgt1$kB>Lwz~B zY-jBdS1n}|GZA)n7GY%xaYYqL9$^+XUSmKnvVB=z90-fi{&cq_4BO{|`q9CCwCuM1%sKLd?#>mXV&dSct#A_rduVtda%EHdhZ6v_L!otR-siZ8Upd-Sss4XL~X$M0%T3rL`XM#J8AYXunV8A2jpcVzVwt+075MgIy6Bhy9(gNx$ zfKSDQ=NpjUz@>N#2R9qHggl?9s(>6jvj7JZ8#5y(2Qw2F6B9Qxi!ASDK3Nu4E;c4M zMkY>14puf6CT2EaQAs&Yc6J$XdCey!BPb{%#V7$Plo^@D#TfZTI7E0@g;<%H*_Z{D zgt?g6S=l%^*+7dU*jNPR_*l6?2U@ZT@-l+j)&E|KiNVTfaHS={_=af#gEO??0W~H- zHIosjVgL{N=4KaB zwAHq=Vq#?D=49s=<`)&<78GRX;1(6+XJlexV$|_s6flXlY7rA=W@G1KW#I(%dnAOW zsk>+eyNS3d2}p~88l+sHBAA7Pg+*M*BtTQo6LeN77b8F8d8P%R+o(XDVrHZ|0pwUn zq=1|+E-oepuXD{nO)F3b4pc9L+EvVKY(?h5~VA|VR8RGd+i@d?u+=(q=@{bO!!W&#?=gpLq`q8i@V1Fd8c7ei@D zW5hQomqN-@NcjtCTR}56D20P|e8Yx?VM^E_Bc|q}ft>820@{LH+`{}?Vp3*Ypwz&{ z#mZvM&c^1*%*@5f&d1Hcqsu2E!^^?N#VxEO=EKI!6~nJ04C?xGYl-lwt8j5}^RaUY zv#_|Zu(JlT3G#y4VO)AbBFf+{8XGgKj6@v20DHce91An3>}6zP0c8t8E_OaPUrzQ= z7A{sUAyBqpVP<4u2FbB%NQAKS@KuROu`;u=urRYQGPAI-GcxmWvvRRUv9YDHvvcq= zgQdXTeJ(~(#zjmEK#MOB-Cc<1LB%yJd&3I=5l|iim35#Ya#R(td<3qJK_vya3j#`* zpcYF5D1aoS**Id@#rZ*@rYOYng*7#Am} zpa!>)s1QF73#11qF3K+;CkGB4Rz?;{u}E$Ko-S@FaOi-VTC7ZrTwHA2dCZ*LtU}T< zg5px35fOIK;0g;X6N?6)gq)m&un2#o2)K;_Znc4{DN)9Lrj^jqbwd*~b73=3-yC$h zAh@`Pq&Rgo$U0MFBO^0VsRAiA#6VnQ@K8J?{jsrwN_kKlR)d*In)@s(2alntkc2iT z6FUbN=ma9r0z?j0RvA7yTRU4hki!Jn@3XM8OB)zTiRb8$1XaHyE*%P2=M zigB{4@G(lWb1_PavGTF8aI$b|3UjkDF)=f8FtG}A{=3Z1&B!Px&(6le!mO&n0V*W_ z|7T$R|CjM7<01w&rn?*r;G;VJGJ=kZVPkU_U;qvE{QtywlyM$t*cW+GDLhYr+9{x@ z12r~5MZCEg=ypFgP)Q0Jl$N*8chPc>HW1fP7UX7UWM$#vVc}6QRMB*D*!I!NnE2$}icW;5(6rivNRk>EI zynO893L-M>e0(f|l9K#9N{SqTCH9P-Wo}&N;u0z=joj5V{VjwPG?>{~+1MFbg~dNf z%ds+Yvazx;F)=YIhIl*18-tRXQJ|icp9a71zaJ9v(6C&@IF*5o>9GVXY#Tv*<`ytt z_x~5h7mN!T*qHjcpz=(NjFTDI*dhg>e1=aT^-R-2aq<7$|3HS1j8hp5VV;GhG&4vS z7gQ`Ec^TXoWD^wxUB1Z1CM9E_z{xGZ$-&PlBPJxw$;ZzsA}k;%BqAol#>dAgBElvn zC1$Z+nww9Chl8EZ!JIKhOpKX{lO1#~Ff$V~8#^Zxi@3gR@N;u;@v%rLNQ$emgJfjn#0B*A z1(}&x%0#RbIe2+l1vRuKI5~KQSb4cQI2c*0nR!@Pm;@x)`FL5SWW?mvnb}y`*%(=c zCBI6^voe7exr3S{tgP&ujLb?>fxKcolG@T7yr7vB&=538f{8^yfJ;R~keQRENlb^G zk&PXcVn96rHWn5>wr&;w-!oN!5&>I;5F}B2VqypJ znHGvNfcifFKQX>%oW~%*pa@>j13eWI96D^^W!;co8K|8s#>iolY@=f9uWgg*WSVZH zZX(C4=Blq{EwALvXO(27>0_&69%pNjVyCENW-F~1ZfWGFZ5j#c5NiDY%h=600o3#Z z9R-d(vO$Rt5^?a}He{~}D4&5#dRU_Y|0+d5=ZZK;7DngM*cw(L_PhmYeV2GjU;7Ms_w~!QK*1{pTipqs*o3ri zz&={2swoJn;MiFinbQRxTzkJt=uD8A)F` zRW%P@0niF_b_Eq~7C|9aUNu=284(peT`?0?WdjKgCPsD^0Zl;`K5lkpd08nrc>#SP zBPB^Qwg3Ma5*;rZGSlKz5SQTW8Lxbd9t!hN11VN=8D;pCtGiad* zCljl(M1obOGpJ?x|0ClY#wiS*;DT2TR1QG`9+cowoDXXHfLG~YtAilU2d%o{WBS0% z&BvC?BPkE^fsll_fP{iH$O|k&yzcC5?7l2)d~9GT0e%4iArV1VUS1A)O>SW|H4$bW zUVcdxzF)Gk984Ub5``J$7Y-&y9u7(Qje?8RHICz+tK`Tq4zTsfvQkK#Q3)N+l zl?1I7`2UgVAmbDUJ>z8CMp2lF!Kwr zMRQ4G1^@@EEgL7RuL_@%niw-L?|o)oUREDY8BB$oEPAY*Y)-g>N={yknU@b7RB|#H zLB%c42MVj7j5-zNI&3l$lFIzQa4W+Zq~W1Dpde*r;Q#-Z@g?IdXn;c6f+)QYPy$9y zE1+OS?P-F75~K>6PT1MNNOR%^wD_9(!2ss4Ba+uj!CW#2KGJ=vWXhA(IJ3Aw*08auNBU>CFA1f0m z)q++E{r}G(^8YX69&lZ^=P#%f(f$9AaUJ7A248SK1P$()3!8!32%x!E*y>bJ=s+7r zphh<|KtZG6knJkq(h?HHu;G43b{JTeY4Vj7&xpus+FJ{D#U(BWBZf_&Lx z>dNx`tgNh@91r-#gr>@x3B8zu+Y<&{7q&Vw2Hc&qb44N{p3RK!{yX zii=lTN0OC=iHnzmiCNkt(9+nDON5V|m61_NMnzAGomp0ekBO00(_Ti(NJdtUgM*7* zL_|W{QbkFIgO`I(j8}n)pI=l-l9iF2Mc6k%&nPw2#6*T)T7aFMm77gg$F?%cAl{va zkwcV+OGsLXS6YIdokv+z+C&Sqic|IfC&oU;c?@<8f#B!^xf3*v0UB(9#2;jC9MnVr zWgl>T3`*k0M&^)61oyJkAuV{&xSBaA?m;~bQ4z6HAyr8w)ie=yMkYpiS$;V#HWo%n zc`jBqQDJd26A=}CMpi~q0ZATKW>z+C0aXD#X=X(mei0dNR*()BHYP3(Q%!k384V!? z6@D!a9uWsAH7*Vo0Z!0tuplohi-4+tsDhBO+6Pf7ZdNu{Zf*f#6KP2UUT#)FVMA^% zCT3wxK`F=quAdnDm^zu%7&n2>aB*k&4nCj+?0=>NxVSgNN$}Y&5b+KM6^3MnG6v9X zh~je0kX979oJHQr2^i-ki*UX+QQO^}UCU66^HNkD^(O^A)1 zNmO2zorTMfDuK(?!NbO5V6Mf=&c@HqZ6e0ZEM~&Z&dBB*LajsUETqxI}riG_*g!)?ycX8NY@E!T|1_xc?=BfeUmv)xU>~(-`N$#iudM zMoQT2aB&|{!Um}a2l)r6xH`8F!><4D7}&X2Fq~#+fy>82<=MG?87{#x1d|BkJccL+ z@YR5z<_V}gFo(1X!9@jfNdaBj2-o*o zJ0FudcoqmWs|Dt=i-0!lf$T5=)w68uq9S6|A{tUEsu?1j3Nk{fY%GkjitH>b8Ult^ zQv6zM%uI}ILJpErW~#j0tOj-#ye#Ze8e(#m5-hB|jEbI?vXcR@fs28O zLE!%<#s^FX8BC##cF1fCc-YF+1Zl(pya^CeHGu+L93BbClaZj{6k}u-(-9Fd$=Vud*odjy^Kr1UadEJ+va@pP z2s1vFQsZO-?Js9!77$=&W?^Qr);cT9%P6I25^3R*X(g{8XrvxwAtiE1*#vSX&PT=) z#(50d@G8d)bQ?QpY7CYZz#U`A$OL2rlaJ}DQJ}tMf|a8o51$ApD;JxXnUJBarmL2$ zmIMs)zs*DhOhH`j$}9FGNI8 z5G>d;i4LnwxZk@OI>Eajl>fhF{K0g9!H&Tn+&TiKJyUR757dAFH4H%K1cCA~Xm%RZ zEC3}yaS=Aq$QLB{gDO+-h@`ranYlT9I7E(#F_npvmEXz8GFaCv)lEc`o0ElIN`jL^ z$B2)Goe4Bu$i>Yn$t%RkDr2V1!I~juB+Mvpt}1S&rDSL<%)!K^%F8BhU=wF#mFB?C z!Yt9JDZ|3V&B@Fy!p6kN#wKf_`_D#6o{5nWv`mPfpM}X%T5OB7iK2|Vv!$yFF9Q>U z^gzc0nF?y?2^o`>iQf^Z0zi;hB~G!%pAPpZ0d3mb&)zT{)TdvF=omZ z!s0SUep-f+7T^^BmPwB3AcGp?ad3*C!T29srYrw{%f!ZXfWeU=m>~s6Jc5S(jE&G^ z5;UX%8a@K&P*B;f42w#TO8Dg_%oqnEB``B1;+9WInwgo6kp&UE%*>4JoID)z?5tc| zEb10w%)BXDrn2Vh{2J;~iiSqg;FD}5ASc-fvoLXKBBGjulZAywV-?|KWHmBXX_v87=T~twvUFGHXZ+2}!VYSeGBR?3ZuOA+|B*45aUO#* zgE30ngVx}KhdDu$_-5cOS)eIJCT4IDfQGIi1MXMNgY--zOf>A2&fw(B|BQhTPawo%JYjE`0I;{u`+WBiwn!}GwL%jGjemu zYD#N}fNFTKi@@d8X>jbhGxC7TC5SkvQ3VnAX1IqW4l2hW;$9$e24)6`dQf@g0lxgr z2sGjb%7x(S7c^xCjze%q2DwQK%FV?3{vM%{iUBv(oB~X*pn!y{ih5%2Kl$4P9ilx!1L1bXyXjW>F7zCi!1jwuG+-GkTDGRW&n##)P$^3h0 zYOdmFBFMySn&f1eU}dbKCc`bI>u)41$pmV%G4m?%v1z**DyoPwv2v;_FxfLPGYWIa zDafkvf~KHA1vsdIq0C^0l!+0Gp+M~=P$wQVQV8mjgUV}jGZXL{5zujbVq#m2U6o~Y zC1&%m$(yUm+ljEU@MwA(82jnSnz+eHX-YFQaYljM%f=|K#;0l~p{&ToBdOt}AtA*o zz^kon7Ga_j;;b$&Zy>=f$i&PjF2N$8Bmr8U^8XW)HRF6x281=CRY8+4priyD{s5OR zkOBrWT>zSgH8U6IV+D=Gih!j-o9C55%Tplh5y72uP$|r|+|Wu&M3T{!LxzWyor!~o zgN>J)MO27GP=JMnn}v;?SzKFQPMKXujG5ikC)nGVm4!>eNZP`Rj^{ad2^oa*Igwn}H*bfssK1H1N!Hh`|dS8=!sz=tw+pxdY*tn}GcQ zN^M|KP?7@;Izw8p>};Tz0o6C+AYVeJm)LZ;xOln5MYyB{n7P>)g{1hkU3?TR%tZJ& z`MG%26!mS{S!!81n3m?(7ze_1snX>Cby zO-U&o5lt_B!vI}bZBYpsejXKeUM^N zKve;#bOfy)fR;9}AwbB{1EA7JO%2k`2c=VXHW6cR7E+I}1PKyWwReN;- zL1s2qc~0dZQ*{GnDK2Jy4sksNH$8P*U4BMZCS5lzO}=f3Oiaw&?5r%T!XjrRH6^&Yd1d5JiwLkXL**El7(m|sz;uuyh9MVJq!QtAF>n|V z^f`D30%9dMv;hw(hDF)fl(lgNg`%+>?y!(R3JN(;BmN(x4UZ>S_CkV1*-rg1X1MHy zh07kKaA9IcYRdor|Nl8CZ7`=XsWIMTU|?Y5UYP~C?&UATBPLMle*_lomH?%GiT{5Y z9x-lW&;Yc`8h##GtheztBx-Efz*LHf}~vc`kNV4t-1U7lHz;Ol%zB_y!-j{FmV;xSbDj7(2H+ z!zyqQD)|2|!*g)a3KD1I_O1b~FcA3vm*E8yr~nNjsqh5#&%o29_&ilZs3i0v;A=u< z+uu@1B}_P2{(t)amysRG`z|%Y3{3z3f#M51a_kB!uW&TdA@v1OUY?AleV$LimpIzx zCdB%ULE_&-#wkph3~G#^s8! zn!uvV7&kGofkm0X{0HEqL1gBPZ_a;~{lPT9cKLgN2KUQ-PD2 zg;hRMX@`7pq=u56Is@ob!@rF8nGS+B3xetmP$!t;B|@#XjOu;k|-OfZh&lJhBR?OH4U4VI6nu!jEE#B zhm@K;KN~YMGbbyXFt?^T7b}Y(Cl3#op@6bHCm$cTup%Fuwz&iw6Qh)kF_)k=Kew=m zdZMuq7dy8A3v(qK3o9d|2tNnEFpIDdzmTAaC^I()D>JydQC47M;^tyv;<~%ESzA-2Y~L!ng?%l(>pca54ZFIiL-vrl4aXVPR>G zIPH)LvS=3(n4mU?vXT;bOadH7;1ETW!XSBYSn9I~g91|&oNO%kIGI6*RI&?lYua-# zN-%K=GaCvi$@4O?@v;l6LIRV8Mas&6OVEg)gP)&O-b$HIj*mr{kAs7cg}IK212s6o z%X3%-M6SV;lp-e^tGt_%JqIHb50|n%54b16$jZdY%F4#b!pz1C+VcwvP!@J(HfDJT zLoNYnR%Uh%HfB~Pb`B0^X3%;cmWfQvoK2wMWCz{w%mfZj;s1Xb?lK)@&_k|?Fxxbc z-Vn4q1P%gqR(^00NOG`CsVNGuFflQ+%Yc0ctBRP}IM|t4c|{n1$f~nKk_8{=NJY>n z8IK4r#C^<6Ow8chRR1!3V2)u@WBdqi(63-ZfW2)M}#I)n$5T&_!Nf?6(IOzix^+>FfZ?Am->Ok%q7YO)#{ z4$4kAZPi2C0Rk{K_o>?&Vh8YaTq)NaP!M>OR=zVD(i?c zvobR=vobO&`|BGzfI@(eO+-vYNKi~%1d_fCHC4<+Sy*KF#X-Ra2^&^64pwFsK9TFv zYV1s`pjMrf024C{GrKlu1&N|kfHgQ=Kp7sCpaw_sNvNN&k@-nk9a>+}|xmn-W2n%r3f(H$#?E?uKUq&wIl+`E3GvFn;D&X{m zwj>u?yMRhkP!~`{Ozf3Kl&PXkfSy&Xxp9h_k{Le_hqAr4w6>54kBS|iNwk$#fRnmK zw3$_gqnwnixRb0wq@|#^q=yP@(&ZE58E|v{FEmPZKvBv7x)9_HxIGII_h$G9os0pg z2Q}zTK}#Bii5#AXMvDj=Xkr)AOhNL)KSFITK75`e)ZqG?MPw*|2HzpRbz%4iUikqD z1<)|N254J2Bc7EX_5e8T7**HL&C*qRuC7&L<(nA;8PR!zaNjC?}~d!otENB7i&9aj^vNd zO)UKEe60WK7?~LHN5=pE5Ep{77ZV$n>;=mH5Fhz6{Dk`SBhy{Rc?@cdU~$INj0NCg zLHOTe#wU!c7(7rnQb7;NgmfUyjZC0T5_mBv0zNrYOb?uT#RhYoa#Ir zpwiGhTwgcTMU#_{Q(TgHH!nXsGqmB!%%~@%;bLUvrotm4$u6d=rO2t_q6u16^6xR@ zL#Bfa?hJ9D-ZZQckJRdfg#c*D2&^iAgn_yen+SYV1QY_G;)e|>2tdUtsKyo(Q)dT- zfxIZFg{q+>015%n5g=S9&af~Lwc}@GlH}*$7ho5L)FD@3At0$G%+1Tm$8GrUF{C=+ z6=fEb)P}TU`S{pCjc;q04T2&_K_JX4F3G%06x_09X988kh!EiC<4};F#iz^11)4EZ z{`Z)Pi*YG~4d@s%@F|Yq3IV)P0<RECQ*AD@MT z38$`|rk|COqY6I*BZKV!zl@%Y>#%PV0oU`8oXy5A0zVTG6qAtk3-HK=&bt_Laq(~q z3kyiHuyIOR3V=G2phJ)Z)HQ`grMZQ;*!Va&1UMvgWhA+IMC9b9K%<}F<`Szg-*rd@ z&c(zb4>~1)Swca8NkmRah>uG`h?RwzP08pKuOJ6A8#^~ExEBI;IXIW|LUK81XypHY zh>t+i3QQ1jFVMa2V4r?sRA!t9xorzH2cr(kx$puSWyd;rloRSj=&&c-1bH)IR#rw{ z7IsEnOIcY>6}P< zH4RAx6L}tXZhcX9Ru)BNIazTPaYajgGZ(OfKQZcpJt6@02xPKe_WvhFWw1ve;$93J zz{Qp9zjq*yFsU&?#IqUZfr~4sdIlBHi3CKo5kMvNIU#usIW=`jK?zk=2_X|{J%_N2e_5Cf zUSUy2NzmcztgN7ci||r6IaON~MRQFtSs6Z21$j9wB@uZGZAoyr{AFCkbcn$g+_Z(% zT5vCd0t7n23fq_fuA4A}M~96MR7run!NtlbF2<+r?5(JzCdR?RC&Dcxt|F&r1M47x zJC@9l%19V8mCDV^#KOqN%MNlVyAZn|7q5(vxKL#3zf55f#MlC8)9(LIj7E&Np_B8V zF+*i&#DIGLX2wQh;1%YO5>^>D7YrJRg9x$hH8kfD0q^`1QIzInWoHG=CNT2w7O}9g zu_R0KD=Ek-@Pcj~P&DPUv3|k9&dbik!N?~g&CSZr!mi8B!OO`h$RTo6LywaaG-M+O zS_-f6{}ZDv<81~326qMqbI8gih<&1LY|89P;A`;&_x~ukP<+e8$~Yg?uVz&Ot<*Cyfvwep^{&B51hg|6 zlmS4^6-XTiiW)UY)EGmf2DC_lj|o&Kz}J3&#zEQG81vX!)&2DqOyoqwSvfe_lvHJy znVGm5nVBWjMWxh*xs@apxHx%08>SS6nAn&=XIU^abF+gNdvUO-TZl392y<|$^D;3r zswqmFs-G5<;$#9HgTcte&d$guE-!vqLQ{&3k3&U%yQnA!I~OM#BQt291UDlqGqa2w z$8%|MX3+VijNo-%;6nE;6DzpTl>!HdJM=ne+5aH%1ST~mh`2YyA86qU5(jm`8i^VB z7N%Wb{vlKZS5O|<1dHZWTEqq-)Lj_#hr{< z%6`d^HkQJQ* z!Yo|cyln6+&dAQr#RlpMFf*|*G6`U2a}IVUP5~ZnUUpUvE_N{?Wf5It4n_sxEAnc{ z%Q~@ScMnE&NLvb=-L>J_-H+i9cWV|VhkrS+1_TO7jqnk+$+Cv zb^E`d8jKOT60R|@=eg(DNK@&uv!${#34R{O})M5uU2?RyVaO`S;cF7qTFtKugJ=JNT0G>JFT376ROy`XJw9OK1xugVTR7@nq4Y@eP`8atw zI3z^`gj9ujg!qJ5dD%D(bW{u_)!dB~RE1etSlQXxc@3=j%p#5LvK(2(EYzh9qQ1r!}61jLv*Bm~)c#dKX%4TFt@C0RLH*#$WGWre__d7v!}#~FedQbC2M z2`DyTrKbrbTY>wHpf(Vw4GP}p2wLz2NtPfvc)~>NY5>I_q__kf@&@XZD1)vW0}TVj zVp;hv%2&=S!Oy}E8s}!=VC7+E;$&f!>Z$ggavByY&a%O|I+_wOMWGq0us8=D{>pNzbcu$)t%sdc)eteKaNZis^b zBQrCTn3|rFtiBuz3uvD*BO9ZctgxuPvVNqMthktis;aYz9C*h66Vo!LgP?tepj-%w zR#0jLXEvnqJCGPObAm=j!1)uhCcwzd&~x529k7=4W(4s%ro3grp84CjCM8d4P^fU^)mo-xWOF zZ4Tbg3~C;#!!|uZN_BADLx%sw#m&KoOR=*HgR&7g0YC;n!HUd4egv=DP-6$>HP}cS zXh0QIY>04iiR($0v9mF=O0}?Zvar<3vhoYEiEy!VN-4{;aqw|5Y3A_qaB`+DW|tNd z=i*{lRN`V+QD)`h;^*VzWoGhWxH6X4=vR95HURFr0BW#wk$G5^aa%+4;r z?d{6U&LSYlWdDW)&mW8J!_fZKNS-Aj~Pm2pVzXV-t}O5fl^=1uZq@;Fo6PN1a;bH+2Fn z)`pJKNQw#yh)N)akQv|T7;^KoE6RhX-a$jgAWyNdLY9R<2WL@dS9#>crA^flW6U58 zklKQ&gK-{%4XC!j2nTa9P(26^0@$FrI6Jsb#T;{DMwu)T6Jxvt@wJMAhzh^3w1R1( zlX0|_Rfe0GrmBFntfRVyDad#Htk6|0H)S;?c?1-V6g4enjotq}gs1n{8b;i_A~OCu zcFC4{p|-ABwmf12f=Y@3*8linBjzCAFzP6oJIKm8S}Lpf**k@T=0m`fLQIDk+)Wz zorRZ?l~ve`&&5pNQc+w*Tvkq5k%g6ARG*ujN8Ut1QbSEtMqOG~UCWS#nN!e&TM)Dq zblJZLj7dy~7|cQQ8=zxE)znM{P1M5IvDZ*%EWDYL1L`B4Y zgKv*#<`LtTGFMSFmeMij<(K9L9ofgm%*3uJ#=^|3qYSwS$oRuQr_WdU_=1y~uGm{@t(#EfMAUV~o>&z#DrYbYit16s$f{OL@#=MWK;k{4iQWaJX(*0U1i=3?e#6_AnOvvP8X z`Tu*sEy^n)!NbiXs%+`1Xw1T5Y4?JIou8GJiB&|Bn@50|T?bS-aq@GB>@`>CVh62Z zln?e3b1;T>6$+RRf%d9{>JwAwm^-LWFozcm;IaaG=nL2fkZu8nheX)e&KjD7#-_R1 z7{x{TF*1xHKUWb83k&7|@K^BaJSJw);Iut@o`{1vA9*yGk%9H!VWMKkF_o}` z7J`CK{u2}w5)u(%;}hlJ;$mY8WMXHE;4#pURT2;v;S*qI=i%ZJV4A`xEThQJsr2u$ zu$YiE8@E)P6(=7DKO3W}kTeVEns;W-s=3Dv5av6g8-;L!x;32%(0l6gD!D5Q3f4u1o8m969i75W}sG{ zk(d~$SYu{`o#q2>6Mz=SLM9D;K!N-i(t!ETz{15V$S$d;Yaq?Uoy;e}#>UOf&B_M4 z5`vwFnFX}Dn_Gn4Btj2#b1;_>*I^bm_A+j9ZXOwaRzVJKP9|nvvCJS*z3oWtoISiO z%py{pD$dT{+RW_CjC^ctd; zP@qN)XxbMPERco~8{2o?06P^$du>4>My6UG9(FEPaZ^1rV`COp4kl)H78Xtpb`C}s zEtNPfMy8qU+#FisGWyaIIyNdQ%EIj2tn5N|{~jw@dTD3}SaGtjvoNtRT@sN3_3oJX zm|0kvIapP6g;}}z#M$H}*_i+RtFERn~&CSgq@x=~W-T*4(LGs`u3&0TzO6A~)2F0wHxtWnM*oUCi-ALuV z7&{+RpR%orx}BnuorbZFxDhwVhcj4s#kIuc)x|+eF**FwAOnuA(HD!(E%~VzG%_8P?0*g zeF`quK)ynsc!N!bvaxN_uw`ZCVB}&AoIx?}eWGU{^Dn&N_L+7g;<9E_lvgdKEy z0K6jM5)o07=HgSebjZ#B*Cq&e|Nd~|AP)GdCOeDbO3r}gF5qE#$VvE zXfLM2;8A4Ze-9a_!@e+*torFKx5pH)q0@irr^a>++LtHi~m8(Fu)ULOt6VG zFVI99T>LOpT%8*-)x*y1$H>I62rmBxN&Y(n3j;g%2}V_hRy^`28NM=1VPJty8GT_8 zV<={*XXpk^8>y-5u|NxH@JU@XoHBy+-644&oO?hSM^uE3k(Gs)l}SiKoL^9sm4lmw ziC2Iph4PssWnp=FVPSdsBT$;jmz#x2LQzSQg@c!qi-TFiSd)$8?*b}LEHN>FEd*H# z#sB{^K=;%$u`yl+r$ERFX@{W)MSILl8p=cqkcE>>}nWKojoZ18r%wvzigqCShC-X_VZh>ek++NG+3E8tvi* zZ2`T{tPY>0TE)oCzyax*gV#B0fo@fR^vuoRXF9;Ts)!of7(6+|#tiPOAr*`wVq%Q) z+E(hOV*H9ih^3o`nv%v!@G~21&{jo*&TUY2G8JTDL9E|&h*cCZcF=$w)xfBaZLRdb zhm2=HJKUH8!KIWR!w>Kb9T%uc1}deP_JhT}7!HEc9&CpilNxx(8XLD)38a)lE;HF7 zWhQ)YI_T^_$UL7rBP)2iA9O0gPw*Z>oDvhphiD@@CKUU;S+G6ZVSAUK^^r0 z_1bXkLts?HGWGoLA1B4T6L8EugZ3p-bJGIoEHdOX6@wXOfntXNlJirbB?CKmD70>Y z96$q#2goTT!3^uc>LKDF^$_t;2JqUr|A!%aJmGawurDZ=x!3-0?>LCjbQ{c0eM-+U<5Bl7cD)>+e z(9E%z7-J4AhXe;V<|$2*QXK4>rhKgIOrTSmm>Fd}v}M(`os{LY1z5S5nYc=kPikUR z6w#IvkuVeI*Rkee6Vc-k;y|6Mnx`qv%EZmh$R*0k!~{90$(x;zO+i;)L(xp0lbuV1 zlT9EB^{gf?F;OW=O<7*hIZcp=JU~V9;=%`{~D8kCgFK(u%>|iA$ zZSAgWm0%&K?V+h=YbvScuOA!+Iu7RFJ;pl51&G^v;z)` zAUw8zk#@LyISfzFly0!Qvo&3_lrWf-c|q_n2`v zs4`-n0j_lX7(RgyOXB>0meHB%AcH>W(0b5tmWdhiSrf1o@}h#!Aw^IZT1_3C-^`Kn zml!LDrZRZ;20Zh}#KJDBFCnWhrKKmLWW+5X&CbNNS42%ogkM>RP0g5#jo(X^@iuI~ zCVZXyzeHYs1r13p1wlClVND@6ff!LyS#f?|H5mpb28sV?nS2@7F~l)sF)%>Ja6pp} zpyUG@vj7zr;4Uk8z!RFrKs`W|Iu3J!LKMHp7!^Q1Q_&DJ77+uD&_kvwK+~PzRi&6y z6$ZBQiu#fSeZN)5kc*e!8fD4?HpGo*%3=zh022RymNAg=3WF_ZO$Ib7O-P|YB%DaXmm&J3y=U`tO7lYHc@G}$@DSlGDP_?>uB z>IXa2l{S#$8X>C~U{wP<9}j4L26TwuI;15je7yYZEKJg%lmB$hRa%kG^5X-aGm2Pr z1gby(J!a-$T*?r{kjBsi?k9pqwIIj6Ks*HUKd6iam%QLsFeu8|*a%GP7(g-)sNHPG zWC|Mm0c`~mkz-;-%x8gyM3H8C7=0jnfWR9;c%Ai4F!q74G2_?|B*G@IDI_Q=79gc5 z%*DZk*dD@YgR(yc%Pi1!L0)DiZgJFYBdTI7psAoR1D#M;jEzE|>vI@QIr-Q%O~o@H z`$$~1h1rFmTZh2I6v&f9pq+918A}*1FbIMA9N_$9&InFnpdoSib}^6$cySP@$bp0y zsD1_yltMP3u=6pQa9a&Slru(EM5|NF--F^Pz?P951mLsR$pcsN*D1lj&+^0FEk z6F3MKym(T8(TQ;$Xjn;HNsk3`h6s3+OdNid2V@)=v8e6%v&< zP(^QAAgyUaZ&(O%onm3(l+%(E6A|S__O67wfuXi6Gg{jMv7QN~WpR#8lu^OR+)y6F ztE&J1GKMnFhBgf0`P~fcIY_pJEan1bdr-XxN|@m21rG^=dUaqPsAK?*7)C%Qq@`r| z)nz2KWQ4U9*;qhJ30XPWID~mb3?x9(-OJx;KJX#7aV0h)YCXLPAeg zTt$>$o|j8dLyi$NEH5Hyq$Z~$$0Z;kWq~{+&A`kc`F}rSE;vV-F}OiTM{wmSkYmBK zWst)G!SfSX&nDGC&s+0B2mKLoSSgnLMeNy=|3CeE$Z(k{lSz%K2Xf|&80h#S<$n*E zG#HmMm@)W(OJ&Gi_>TMl-Hs5MT(wv5y2itOcrL!TW__DG-#Oh}wW>3L3cD z2^qIqO!{WLEl7h?+sWFP$H2rO_3ts`1;(ii0t|U@Pa?+dAj2l$8BurN%ah4m`ce$|hvyqQ*&R zf^|E)IJ+=E3kxqh8!PBI2{v{PW)^jce|r!!t>XVbF(xxEU~q-hH)^J)X7B@~&CDQM zjKxLR*o}?Ay;qp8A&Z&8b)*Ss9LfZ=l0gi#*aUQLHn^t z=U`#yGgH1HDJj6s#LmLX#l+3V$ic)aFCi)=Dx)bPZz{+m&CA8ZuOz7~!NtPN%EHP5 zZlv*Z@M>$z-ehFtmQsdMGB0)Pq!Hc%#iW)f*;SK!H~uFNUO#lp_P!otSF$_7A|>F zMI~+~HVr#QDMev!K}B;#$aY#jNIQrbbmIsID;pOZE4!`EUI7(Jc6KHRZU@`WZUpsH$2i z8Mr8jYYB1+s95oFvaxbW;YAg7E_ZH=i}sI=MWcB&}U*7H#ZhE3Dn27zMh#0G@)&# z!IStE1=pO zJa20TIi?bvYc>iQ>dHy-ad5LpYN#5U3M<=d%V~)-GjeiqgXRlW%oVL-&1Eb@`M8B8 zc)6uHS)`R1b^Q$uA}wWz9aX_e{2F5`<6H(~c-z;^9Nr5P z2SvOx=x_^24TWVa4ry$_fR#gBR7Bh?!B)XZj8%?2h=J8hb2eQQ8GniB>j(<7GvYnNAGsP9Q{m<2g&yH=Wc=@;rk#RHund}-&B7R0BZN(6Llx2XyEaw|x?cZr6L3Ns@wD=QZVn}DR6jH4Mp&r%TyP62ie zcYX5!9T7c0{UB}*7B)$BnLrj+0Tn)BDPA@a7G`!v5h;-%Pkl93MrI~f1xZmId9z4k z^&mHGMms*5e*8c zenWNBR|ZO`>}+gMAAu4pbo~mb zl7h6zptF3Sm1<(oO(V^eYy$OFT=k&NH3(DHv{ps&xvYVVftjeB4WDteHR#YI5nVNy zV@#~Yjq#>i@XKWZ@!N3G*`7>@}5C9FBVyrEL%%X!Dzxa=h zoxJSqpsLf@FIZJdQ<$5B5i#WR?*X5f3@^8gsH7mTq=0&ev#}r_VuXi52{jfs_ola+&miG`bkT~*)6T}9T>L`t2Li<@19jgO0$n}c0YNm-Cz zgxlAVK@jZ;*IkCl^`ja!n7L)0)pUoX^*mz7;ah=r4z zjZcb|iII_$g_V|->s@j=} zYct9T%CInVvcc}PX5(T4-I^)Rc8HmIGnX`numCeymX(#6jg6C;MMM0(2cLzFn6jO^ zoVkpSr>u-Lr>2>-xSkvX6R7B6+{d_(!5uWO28npk__qn@K2=aVOk50_Y)nj^Tq1&kf-H=TEGz3oCIF(}%g6U87VI8}fOTv85tK;D%C3Oneg z6loR~RexO)4|`ApZ-SFok`xdXhpn087ke(m&!VJ2&VdhqAByoo4i*93%>X&n_Z`zA z(54OWAT+og0PE49w(CH-7~0PUF~RjesEh-75wfNW8i3G-g($|p9>{U4(wO@;3|YWO z!z-A`OM(3>A}%5*AS@;do&`gk4iCybd~DDifzZK1Z2QhCAUpWftmN*1&q3!v-t>oY zLOfI!w5RXiBgXYihZr)j9tCN`3~5Gzw=ALW$wCBxAS8@X!j4^31aSr_aR5W#l9;Zz2!c!-6;!l9h>>6?`hBYDBO- zx4JPO&VwNt`@M3kk+$o_1x>}>ea3*%JPBBqg@C?Q$Mh3=B43HBoQJoB$Q9&9!0<}@tmMIxPPDnO~9IVYI!7DDp z#=;|_&S#`_5q`Ka!$2_6N|XWzb}vj-5~jZf${&Z|9=_&F&zY*BmmF$rh*VV!ATjMh{eH0AapCQ2_()y zxfGvoS%u zBMd%bR}7lBc|{mmn3)9xIXRfbq(vDScVNuvUu9$x7GdFFlv0#ne1b9`zyv-8UzX`0 zg9m7P0>YQ3;1(OGw~p0!&~7_8?!hPbff6sM?gN!-Y{HNtKvcv9;zea^B@=B@Pk2Zm2?NJ&a^^TWM%nn^@WTEm!$sUE{uzgYRWnYg*wnZ=~It|R-3 z(M(FgP?*~dTvk0`^kX{6paX5ZfKwG(R0%?6H%t+ePY2XZrBU1}ATK5@4w*btbNKf_ zKg5)29)^4VE((rQm*xY_jR|ncYk@WZfVTVHWI71i{;X;Q3L;QafcBI@VGHU%gGX9H z!KSQarfvq>7YmtpPy*E$pg}Oyv<^;pp!x^P!5!k_BH-N=u(>sMHc*3_(L>WoO~WJB zl*3${o1Kk=jf;g(RE$@}-atx3S5@4In~RN+Nr1D4iCf%2oRyE2Q$Z3XnL!UL1_uaq zUoZzFqo{(1evk%qZ$&K&I~yx^m8Pqx2(8>rD8qnGoGEE7}qTtpUsAPd0K82(P9#PQLj!*<1H3ubr$cYS0 zY0RuV296pkx;(6`tbBq2`U<+@qT-;lY!noPSvlDRK+P*vQ7J89PGMDPPCkAPMQvG5 zR!(L<(C#57F;!71&_-MdIW7!2^doNgWO-THS$Gx1W#zf~MN~ko8xcuP$XPc`Y%EMn z;G=Ft4uj9hW>=QmCMn9q$pN{2or#B)mz{-Qi0cGIR!M%RkPrtWBReOuys$9q4S99s zBXB^oy#F3E{bO9f&<`HigO<^tq5)^%8-qg)|M@`Rum^=Bs0#pE6aydhgCuj<*{On5d z+eM@y2ad6@FtM<)vh#6r2=cQ0y^Y!cmH79FX%pnQcr3?ngLbSydeivI3+U(!G%w&P zRX}kHYR|*Af`X0>z&L|mT!fFANfEVa#=$5CJ_eqbANM)%e7vBN1%42`2odMaGa?=4 z4R5wFN`VtFmx>ggbKt?UysXTygW!ofb^bG?LC5(2&A&%XOpp`LA-4;F3T${!9$b-t z&MpR}ax5#_aJPIRbt5De_?Sh}0+EPa_mD$AWT2b(u?CMk`HV{7ZO@<@3gT$c0x-xd4oD1C=|hSG&|nt0*aa84m|=oh&oVw& zH<5<=1C%fbF6;xHL0~K^ActNXGgd%7a2A{I@T}$gwD;tZdkFP3nLl#`Wa;qyfd&|hOGjX!BF*7o8vHp9&%*AV6VI?8}+1m@B zTow?~2n-C+?80Z6V6EkEtIEj8%nUk$ zn3+djo{O28nORJZohP4_laGgqi;aa_l#5rAmxZ05nV*-HH&t3#QG|(wg;`japM{-? zk%@_gTS-FZAFlu_FQ0LswrPYh0~3SM|4&Sl80Rs_GB`k{QXtJvaHv6o4OEbWXQ#m{ zzd)e|TE77bM#OSS@Cf@#O;btp*kT*g)F4CiI4f;?9#&RnZgy@3BSw7(7DaI(Ze|vJ zMGajc>qIM;EE{emKGPsg>o`Xx8S_9By96@@d2Rs?UU5Es6D4IMWd#Wh5eXv=E=64} z2Sv9SJ>6hyWiMk;8u<4Kw8VyqjV%#8g~Iy(4Wl#TCd48rGgA{~a4P^Y?gdKe1Urq& zpuN6qD;e2A&Q{TpfSmEn%g!OhA)p`z?oP@X2ypW?(lMGN?TQbw22p5k7To5s2&g*f|8ju9t)zz{JGD4sXJN9M8@p%*HAu#mp`! zFM{lL#`Usl$Y(5ZT08%9RDdiSbDA^D6MeLSNZL zfFBh2nC0yhc4jUfW>GOtK2CmBA(W7p<>CSb{J*sr1*`18N1$^HK?w&kya93=IFw=a zC}?Csgbn*);cTLUVu7Rm#5b{W%?7s($ zL5$!N&xN5CBfQQ7EzSVnL@xrFBLwAJ$V>ppxmbe#h`Om1#Py~kjEvx}0EdFU48-v~ z?400?fEoIXwQzSU@i4OUNQ!ZBGI1)v+|A6+r=s-lG-mjNb|x{-V=w?Ed{A8l3V%=r zfYeEl(g$3ngGMh<+lMCHpxb=J7!ATKA+7@lt)x63BxpH=CB;CeRWq})Ku-KwY8YyY z9E?X{p$J-c4NAuU|1ugv+yXi?4HQ0*7C*#I;PM{Un*&eAiXq&@C)B!?geJ0BaD5Vy3bWtagYXb6-C=?F6+k)ui~d~7VttU?l8d_tz7hD#w01r}BY zCI;#MpBY~;PGj%~-EISN4rIYDwDv*?2)HBRr5mV#2IVTyFqNnn8$0;iG4NtSQ4vu6 zrEUWD45(qwxKv0%hMQAPj*Cr6gq2rRf}M|-RZvn~KvqkNm6wlQLPbJ`lb4rOP)d?t z*iu^EO`Fk3l9QQJTAq(fL7ttJNAIh#JEM}Zj36&JFSiIEw~mo8mjDM_qJ$7DBj}!WnL2WT^9(F!)er|SlUVc_v zAt63aa8B3d)&#|&Odrz$03Ai>7Y$ZjZZ;R;He zQpU2{Doorw2?Amaj0|%B9x$pf&VyXot_B)e04-JlwRS)&mC#Q8haW_VJk$po_XDL5 zq*Av;QH`I2m75XsA^NyQ6V-K zE>1o^B_j!Kb7?GeYA3)>3`|J2aKsqhZw9t^AeC_tkl8n zHBcP@vK_RK5&LA8AgDG5w@pE7Ld`(y&p<`BsEF8SHcnP96E$9Sb5(gWMJ*>~5jA0U zW{e3KJ!WoRWivU}|J<5vQmX$RaIy27Nyr+>39CxV>r1n9=w~P~_MnDj zT+qLCIsY&XF=I^*c77c}IZiQN4lXV+K}lr>Mh1@mTN%X}=YdZ87dC<%Dh-Kvc5tf_ zG}CHs2HNQe@+9a)6;N3QYFdM;IZ&lnYiQ0Z%*M*j$|S5L&B?;S$^u&D$O}E`Uy2WL z(!UwwJR8ta|2!N_9E`lO=tuo)>Vl8@X9G`VfR;T(GG1Y@1Sew9abX0ueqnZsPpg|s z2@5lGvI@#dadPl5vvMN#dSQwFo&1o^U1Bmk+xMC;La_TcwJf4DqkwN7DC&rtMQ$dFhBIfrYEoo3z0p(E;4IK)G z%p5@a{|H6kMIE3rl${OK8UPhUpgq8xf|3HP>XMwGIVvF`(1BdSto%Y8k}^Chb{gRG z4micd*ai4mVT&7tIi&em1;luaQ}|4xtwgmo)dX0@m>GH4;nP+;%3V~}n&w3r1g69*l?1S*EWeK!*| zc-;od{(MZAWvnzrz$4ny3IgnWoNVlj%*>{Wrsl#Tf@~5ZqSD~gWMwTw`4lXaPKZfC zN2D29S(uoa*xAM9#n&0TnuqHvnG3TE@-cCV2_R01{r~&_Z^n&`OF`!(fo`4wxAVcP zCqRJ+>eqk@9Y|>j32SwAH6`>zKVe%9K@AggJ7z-zGc)rCEIdr?JZ$1d5*#x899;aY z!oq?=g2KWgto(eO+?-5I{)~)_J}fM}yu4hz?2vG0=N0Ey_V;p5`qW@cO}&n}=U zXjf(@Bm)XnP|JY{GCRd0&d1Kjc8QVkFqb%oun;S#2f++lM#9a`sw%mMMP5}}Sd4{% z5#&9l6^zRniWnFejle@gkopvh&(zh`lyUkDG@Sv8HXLf8B^${9!k|`)u$Z`!xv&}I zX(krNZVp-Sg{?di61;rUGJGro{2bg|tbU9vEQ~I!%u0fwTcUWCWMtF@L2WH=ab^~8 zR%R9!9~Nc_@PZpLDQO`=9&YehlMGiU3o9#g1~W4=OD+rJau())%Y`K&y(CZ*3f#Y9 z7U$#TJ;}ndh*yGJOoknDQ5Y*&iiJ;zji2)%H`hiE33eed7Kj`)R9V%<7(Lk8|NUcU z;$mcEhXfzvMy9o(#yKPSOcD4=VvtLH!KcIGNhw$Z6gjX!htQcZmWjxN56=Vd_>kiV z?fBpT^&>zt$^t@y!jR+hxH;LF0-2C^eDKQ22niu}d@u=t57A>%>mBo~ei;0Pg-Heq-0GvX&CE-i5H2FMuSQ$Yhy8Nu@Q|~S!ax4@0M;sSBD^DWhQNLO|1|kfH*44iK-ml2hCoaNA~o6>8`Sm1SUFTYRM3t)NaPd6f6gG} zxPwx0O)(~JPIg9aK5oovJc5G*_2dIKe8&vlX5-XVU=a~vW|C1=V9U_))_zW#YB=|)6R0=rRMT{gFQ9}m*nGiaT zd@|yaio)#7jDjjc0uqyjd4hnfF2n^V9X7NXcs5YA10IC{ zt>Oc#2QL&iLJA*tHb`v`-U3n}qQ%QCz{>@iVHcB^&~Vk(vp}C;=V9fNlH>wyVr2%M zu*eQMs8C2n2x&H*jh~g9QPW9H(=+McV@@_!30^KfHfBx%F7se*mssSvbVeabUhpkVr&PW&j_l5AZt^>%lDw^8`J@S3{#L10-*LbsEh#*fQWz& zzy*(czz@A;tY_tBWtR|8j54ve7S}M8QgoMRWyP}cfQXQhQdboRFEs##j=s1o^ABBD z5qVDyMH$t9j|4dQlmyj`Z1kkHX&S3Y zDXWO;>M<}ffDZI&VcG?~nibMu0h4qzek}NwA+4)#NTZj}5r6iOE_*GDs@Icx}th^%Ir0qrd zjIAZ@BJ@Ceh&Tke*jR)_In-^G1P!#gIJK=6Q4Ze#hxRANNT!3Jt9!wROM<#;piv6Y zN*T!hE07mJtsu~#u^kg+dn0I)8suqsYjL z=qcGG@`2pN$q#pzkiIq-mzK5SRJ74}bLU!wUqA;C|9iyP%s7`p57f~Et(5|gMSufU zSqU_?1v#_*$p0udV5qYhmnTEG2CbVrlGWCL?PZ zt}UjhC?>9;z-Jm$?&wmNWN8vp?&MmVWT|c#m~3oW7-yj$kZ5dG5@-1xtWI1^@&A7Y z(7|V2jMJFd*xbSMg>wHtF)jt~C9#GjMAV~{K+QHbh(jU6q$1Fw1Tw)48iExO6WinO zFRvra!N@Las%UC0Z53y3mSL)CEX}3tpsi@4BEl!nCB!GfBOu8wry^&_XJ)LeCkDDQ zkX1!PURRb6a+S8cmbC@HL8PUevW_O7C^wfNx1oxJ4rsBX?*A`L8cc=o3p`A~^_{pF z=-?}Gv_kVYBw9rwPE!Z(9)je4aHVMusU$$%Kxlgmy1ZXZR0K5N3re3L@3QkTF>+X? z*t!%r@T&51a0)7$DvOG73UIM;v$FAW@Je#Bf|etquJ-3;0Uf}>%q}j@3tRB7D!{=l zEFi+h%*DY9TJUccW967)$->6WsVHl2t}MjIB`yfMWJtqkEz0WuU{hXJPEHnfE;a#G z7G8Gf>VI|?US_n_|IqmS$T*pajV%&ayBthnazzr|92iQiHm_$G~5vW=4ae|KZ#X6w00=n!K z>%h__*sLI@A}1TGe5BG2xqwh?!%9qF5i4N-e*+!X#5k3q1ME#`u`g%>8r%kz?(k7Z zP-_{~k%Op!teOFBdxOj&fEx|qzKNEP~0 zr$3Nln2lYKTiQU8jgg6+LqLRuLybp5mXC##ou7kWis|(OO)%;LdR|e+c1|WnE-rCH zH4a8@CT7r8CQPi1EG!%xOssqyEGhj7&^Sj2!G7OiZk7 ztb!cvOiXNi3W9aWNhr9bF#t1z$%c?!nPtQB?tM4)YMSF>HNMbn4 ziesGY1KS|MD}r)@4=ZS#Mjw3)_OAh~WdXVa8hUmQ+PM_m|Nk;}GVNmE1r6XpYZ*v# z2VZUqJCwoS6nLl#3d zxNe3O;GndLxj`FrKb0tC5eic82XQPvIKDvzBO7G#4rs274K)7=YIUl?t|~J(GBXzj z56gpAEQpGVU^(wg&6uAJG;znst}2dnT0dGZnw^W2iIIbq+uS=;Q%;tH-wEXqu$@fI zOskk#I11SL*?EQdu$=+MDZ<9Y3_c#RMv@1#uL^R4KfG(rETbaN#=^zK$Rs4m!6t5? zi+W0S(g5V+30fs(?1>hyJ&^CaP7`TTC%FW;g4tO%l+}zAW zogLIdgoLO$_^^A(T4H4-d^^d(SAl^>_#jOb(D@c(;3ePS@)2G+A@xZajlgR`;8DPM zAG!>jkDr%Ike^Kjx(r;4n^%almWjKRQ(h8vOF1i+>*YWPv#A;Jvw;>xF|xDD33$j` zn!``phxXF=88sbLG(2Mey+uBt?cZbQ`fy=(R(59S`fwgTc18X(pygT|q9SKe_oHLG zj}CT{8>cWEXjvAgwaZKvW=7~zaYT0xv>Kh!1~ujwSQwQ5Phh&nbbuk9p^~A4VG;xE zC`0fVi5BP_Of|GK3rNls;P?R#3VJm>3~*Y|`>P9GpmVY*W3hM8u>u#052UC8SLdr=|&Mh$-+1D#>txj!o0m1?{5+ zZ3H)AI>g}10Nw}=ZWMsV3P6P^XrTpUI0n>g09T7>{)aXj;5`p;5&~@p2elLgLA@kV z5wY_kdJ19!JVFwp!Yb^nY|Om2%6eA(+&rx8tl-PcIl!JTGY{5QFa=$4$H5^gBp@Tk z!y)ISE3M3*F3GR`?*W$(x45FLtdx|1mA8g2pR%Rh3vL!3&^_@oirj1*V9z^xJH*sk&IT#s$v>4wu+*be3o`EIN2a^E-KB#jdmB2grJTY`l%?=#^Pd% z;A2sgWhB*1Gz3H?Wke)Fy-Uzi>J3bXK*uyQf`{H9kqI8qfD9q2fudarR78MkSa@;< z^(;UGG|--fshXNPD5jB@!GV;3(+gptb1YZHiGUi_ zAQv$43(E?zi*WL=aq{tt3J7bmv#~KVF&b+~8e-pdDZ|LfClxEjhjfXYgp53No=8f7 znVnf&lwaG$M^Q;ljDtgjk4s2GRaVc2pQ}t+QyjE5myw;3%fdrm(LjconFD+=6f-+B zKP!j0AiprbtdyvKim_po3%`z`AkIyim!9WuD{`@GJ!iLn9D;!eH5ZgCq_|y5n)--KH1wf&~tZJ*IrKhea zp(`U}Ybd7$FP+pRrR8`a=Q_&x@Nu%Ta~bA=ga82IF{H1$0DBp!YIiZ|R9;2XUEL=~S#`;x6UlWfuk=62`&?S#8Mp z17kB@BNrbNI}5l$AjbdiHXA1sqYik=1lq1+W@KUvV-#R!XXTV*=ViOZ&iMa71K&?^U7+A3LEhWa7)N@aq;qTs%nUGvU0I= za)OR3U}OTX4&`G*9arENdm_Zo!YwBzW2!#Y-bg`6KvGsfT2n&VUTc!1rUW-PuZ;W- z5fKhXMm8=^Hqb>xOw3F?Y>Zs&oFYQ3e;=UkjN<+GfN2T*d;-u4JvCB-0TM!xeP-rH zpfwPnt!S95a+t)_O^`!DREQO{EDJLfScFBGRW-yxp}-Cc1+@7-btm;X$RVI8%rAi@ z1Vo|R##lf{w(+nradU8p2(bR^L0{MN|L_05jC&auF*qX~I&H@Un)8KZNzi5#SWN&f z#1OTLy1Ftu8+g41q-_DJP}t0kLCY(^3jrh~_}L>_S((_ySvWbFbGfC#n^8o>M1%wc zguok-__*1H+W6RcWq3i`R6uu#3W$oA=jgJqfKCzNU}t9M6BT|YAkEJt!OG3d`R|gv z4hItl^fUoxHqgN)0%8_wqT)P|bpW6R1WS6jxfz)L|M~xy$&+ykLodTjqyouY*i2m= z)JT9dpX`{7K+QujPzM#%)K&v6`U20rKC$p-17fhQY4 z840{-jE$WQ+_{G=Jun9~)lE%6_s)t5fNs?gP~lt8&Tq-h&cdsvD=uYbtfK_FPK||; zk&}&$kwa3_ou7+|Ra;zhcgF*jZSaScF9+ZA4hv*x5z2WyC>Cec72<&M~o1Vr68V%*+NpJ@yk52je`3D27~y zI`DE9P{RRMw1XP6pp~SM77l3K8$2`&Uataf;DVwJeB}VFPs#?WPfblg2T+1$c|aqj z=5|c%@Wzm_5vV0>q6R9SK;vMb5)7=Dag(UJl!|JGFqeXikSZGsqpT7eE3*c_k)<@h z7O2I-CgdO~Wv0r<#cE(@!OO}fr6DF~DZ#?Z%c$sSDQhXt#0472l+ooBmgiyRWMX6G z64X~^R9>&@!^gs`rNF5y&&@bbTt!4)OHiMai^oYyL!679hlP!WU4Vz3NlBScNkW{9 zm4#PCL|Z|Shm~1WT7r#_l zR95N=zcd>o2dj(@pOm082MYrugW3PjjOQ5VGnjz-qM)7)c-{fj>x5)n&=?bB+zb>% zpkZ}0P>ll#7Di2ja2E|Nk0=8Pb!8zgb|w~9E*@4M1p^g5cP(u{V{t<*E>=knZdPVa zc3}@*c`HACLqAJ7W_Hk#H@pS{-0bXJ3d+3te!3=67D9^RyzG1|5^`K@T+Cej;N|gu z89y@4W6%PvYD8Llf--b12Cn(VM8OfR20306loUV(3aD1mW98##mr#|E1ubwFl9CkQ zQBmRusdQlUuJ&M4P!$l6mf2zArJ)mKDXgT$3|hs`#3~~3OGX}aA})AWEi;o+xUWl+ zDKj%86SI^_h`vprmZ0#z_mT<>%nZ{1A#UVluwZb9FKz@C3?ghOgOIR#&qz!Rbf6=s z48iGU9aat=u6ryTg4|azU9ZRqbv?U0#P!DB8ahE%LP}bD*jd~A0)mQ8Hb#QXoJ<_7%q-k2?0lj^iEP5`EbapQY)l-i zZ0wAnlSCQWSUK65SVTDZHM9Rs?Dkt?!&(%^&40POs z)c?PX?-?h6N=97y#0b?bkSK%QE(3}?$j}|cvFxCBG-$R6R1iQaXwW6lkT#3C8K@ov z=PwZvaDyCF6hkT~9adgG4sm4(X%5g16B%g%esOWIuY|?f*kt(S^u;;&xj49ZStS)D z#8o(0K>n2#6VNvhWM*bA5w=v|;N@kJvQ^<==N1B;NY2T~TFK1A%)-Pk4wjJ?lhFkE zpN)}KSmJ|}JPQ-_00Aa8RyIy1CPgWKUNIgCEh$bOHWn6kR#ryPOe7a0D?dNCvbq2Z z2TOyP4rtE`D;ucJVr64vWntlC>tyEOWs$a!kr0N+v4N@_P@ZUKoWQ`vAPPF**jybv z-vbID=#e_+;_Pfh1~+7=6l?%^Yz{VI#KzVqRL;o4$i>EWosEr+Jzgl8jh%%L6o%rU zl))k>BO|~sEh7jDS7`|zk#Hd?QEo;KHa2EZ#m&X4XlrgPE}?or#*vYcou7v-n~RN= zo5fhhoTVRB2!Mj=qckY(fOh0Cfo8|pKxs$%lehq%tQZqF7Ym1&q&Pcx-zX#N|Njg; z|KBsEF-~P-V~YUKq=PDmAB^)E1R0b-RRn1K2vkLYX8J+H?C|kr&_Ib8qmWICjf$PW zwob64nrXU?x`{lmnyZ19wY-uGuXUo8rmwBCyrqwxMY6r3lDVz4UbuykpSEeFDFY+8 zByDA!2im2FKTx5m4b+JMZ#e|Dm6X^(Wj&pI1&vSi@b%%Z^i$ot=$` zMM}|3Q%GD@f}Nj_RZvb|L|9%9oVMT<0How(ViGgdu=C*HWZ_^mQ_!*J<@Z<1r5-`m4M0;P@V)OHt>Wa8yh31ou>kqm=HJ{s7VNjO9+8;kD#@!ys09akTAF$ z5#SRL5E6pO2q^jT=mwkh2}uetgUb$9c+nwUAK)kFXx1Sl#Sf7JHGbJx**O_m6~%JR zlkFK8894ucX1vch3A6(VRL-fR&nv^+r^F^I0-9F_HTyvW5TFzSl0)?as6^podd1Ai z&6dI?EF}VVt+==VzqlkQZL_lo@p`bavH7yF^Ra=;4gr1vej#CS*&(maEv%*{!o
ttt#T$PO?3knZN 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

^as1*!eHVfOkGFQn`MN^5L zkxfcg%SlDrP@YSGgPoU?OGZpuMM;TIf{Tkwj9);ITSm=9O~gi+iJgg^gPB{~f=|{& zQO%5>nT3g4Lq^q9R!~Nem6ub1i$_dLT3(NXlS@F9O;c7)M?{i|m4`!sRX|Y`)II!n z58OTULz)f(6)3{s8_|)^yM(UK#NQ|A4FcL72wGR41iDEK zGWP>2dZ684$VevUVj57t5p)JJ>Q;Zyx_a;$Ch+C(;8AxfuAvX*=HaBxf_Y(K!VBbu zAqPe<@GyijfbLRZ0~H~li*Uuo#o#3iXdVGH3Z)9fOpKz^TpauYY_jT7f}&#A__eiV<#hA}B#f0A z85vd0lbG2#pR)2YF|%;I<~azfof&^~D9AB0a;D>F|sjps`GF#a>+}YhwJNx zx@dCpaf(Ya@8;!aXJ%&SU}I)wVrJA6(r_`da#P_Ekz^Os)l%ftaM1)MyZ@gU_c85d zVq>-kCo{(XrHqFd7cn?Nt_n~CpCx8)0=ec1RF6T1v5bwxg%JyB;b%sgL$0?2^{+)l z#KqV^XGW^4t0}Rwvxymj&WYsWW?^FF1RWJABFhoR%ErjY$HK$J!d%27F3ifu#>&CO z!p#XfBa)AUkx^LuiMTK$BS(0J2s4{I3p1+^8~B7s6KO71(2d26@}l>7fB*kw+|9U%!41{` z17!_RWdk}(9pWu`WP>UUP&o)mCNPhHcJzT7AxfZ)d~9rjpf%`{lKf!raEh>VFtIS_ za!bpCkBt+9EWQUR5#;6w0QrHPSB95^pC5cah5+mUQw}~!uwU3jIk-6gU6R-41Q+C> zF=;IJ_ec-S7-6(y@C9)yJwv;8i-{ zSOhmaKwD^FK4cdKN0<{kv!JHDeUQAZzK9^dkRZPRc-ycbCvz~!lWa=Dp#7fEsc^ba%^x9%kZlx zYT60%GBafe%Q7&6cIPp^W1I}S>kZx(1JwiIi3U(Z6Jy5&c$NXwZ$oZmqYd%k-IAsT z9fSkd8I15cgO!och#1P)4RrWHOc*>G3tm3}Ia-L38_Q4`BM-LO8`QO0s3SHwmubaA z>l;ud`oEO%3gcvk1ke~OD6l{SV<;UFXw^dU2rIa;fSATv0-44ULu{5NdWaRr3=SlH zkTAyj17$%8?9L*lbxff1iy=EYLC5S*WMX6B2lw8D|NjPEn8L)ydJbGFDl#xIWiZWS zkY>G^0NK^&j7kTS^FfyfF@fcEz$XG3 z{r|*tnP~=tFoOz12q?n!m_Qc*nS;+k;A2vUogfOT%jB5Ml|XePD5Zn9{entAJ7#bz z0kk0)ym$)aWk{*d*z8mlXRZ@k7vxbLZKNGq=UP~3kr!YdZX>Vi5<8!jgM~$$zfw$@ zjYX83otcT9mxqIqk&}g;m4%OIs-QGG2QMoNCkHzZ7c(O(pHXy`yGvEPC6i%fg}ZZI zl9l?5hWH7AdVWc!4yDnicLlh31X;K_k-m4vz3gaw3oIk|aw1O!yIBsloN z6Ewe(uZm=l|Non515-Z}8)!=vJo4u;v9W|2;Dw(bSA7F+-FqLzN>1 zCa4|(^?Sh~3%bEnRD=!MLIIty3+f)qF@Y8~LKKLCN9ftulnvC>logfOm}J@68JXnO z|Gn2#5o8hOU}0h56Xj&)VPWB5;m{OeR1wqSWZ_`tVC3d!W#ouv;bLOu7uh8t%)!LN z20G%Kjh%&&iH(JYgON#+>m-*58!HDZ3mX#~2Mg=JST;^xc2-VyMiy>1RwhPq1x8y9 zQ!XX}E>Q{POKotK4$1AJ4)C#G}Yn=(A$Nn8Y!#91GL`4azsGx39C4RlT+ z=)BoqOhHV`;F~1vSj^4T^;kfiYf!_*$Q;^%0mTBm`U4F~fVM2LiHeBJF^h|V22DZ7 z8p|;m!IQnH2%9MASVvI9KpC_{O^IEJjZKf8PsPT~#hj0YRmL~aO`C_sqS#s0S5r)h zheL>kg^Q7yhl!Dq1++a;KvhlHCBRFPn}dbN)ZJT&lbzY2!I6!PL)CGhN%fSXxP~xeP~ci8FZrrC}6;Q zO~9e3tOV{f@-cy`TCfNxoWQM)&!9UqGl%9hX z4;MQ#kClU-niw-TGaCyZzi~u??G`0%$gLTmRs{nygU0{gOb3}3FgP=KfeuCkXEw0U zK*gb%nK`KF233WS=?qXA2c6>;WVJC0HOWG)Em0f>o%`U7g}jC>#;N`|!g`?ZIN z%PI=+%Bm}g$xHKrZu?Ud4{P-FXbO{20bMgBEiEaoWTY0CpS9U4!YCmH;xl0>K^F5g zFTVmiW+8qNRyIC1R%Xy8?(E!5ETa5EjOH0$zWH`+f>I)E%pB}&tjtWT&5WzqQ-ha_M15zB+7QB9#vEUB+6ya1{Y-z{{NfN z33P=UgFbj5btc0qkgFNMDHJ5mb_F8NmJFB21y8ySGh_Jboq=^s*A0s0pFTcDP zJC_ivxF91FBR8*Jype($B=v(%7zCdOXTh|XsULJ#8tToqW~SndpuUU@et@v z7Ctss&;byj>%5rRm1TFc@bj>p;oxT%Vr2#8G$tlCR`50OvT~NT>MWeB{|>3RS_(_Z z{r?Y1iA-HgY@n2gD|JIup{LjX{~7fDe`M-sn$E<=AOK3&(A>BVo*S=a^x ziWr(f!(QML3m(Fth!YbPfeey^nj_%$8i)aEr5b@QG?in9-EII)x6q4XKuuUv(2aSJ zm6qU})y2Ro=pkc$!p7hht-6{rs249PA~sc6MOr{jRY*pZUqDDfl&=qbQIL*+jJ}qx zBr69arw}J6J2N9QBNH=|go&Xh51)cE;>I8iCGd?wiZZ-H98BDNds#SHnECj)lq3`d zczKOv6zwj~=3`{^1KlPR&BV=kT}WO{MA<}CP*8-4QJ7y$o{gD{>z@ic8#^~Ehk~j@ zK~AYFpNs&gE|FkiWMbiA^O-lfR0a8tAvQL4E+$q90e(wINe*UqZZ2&DHC8cMHcn8} zhK*64m5G)4i;&<~HYQf4|NsBL{|~xJ2@(D`E=v6W|NjA+=*^QLQScR~ObE5N9)UzZ zqN%-o3ncmkEcyl-uj<^V8L}B>FtBm2&0t|*`F{-}%OJ*3$k4>F78Jwa(bxfrVeoP# zQ1uRK8-c2Kq%C>i9szjhi=BE~A*jc3H#F&{FnfckdI5|0(x!8E5dDz*RKB?LS=r3ojJmnmjg5(sNmxpforRB$OMrukQCv}xn~mR) zhEd7*hJ&3=%glg>olQ`JlUZIy7PJ&W#q zNhLmBc|j%?CP5xyCN4n*dY9$@xV2QZq?nkPcooeV896w)#09{`J2;Y{QLe^)S9UO|QNkcu4SVofGc^PYuO#$1Gxjg?hUo?U=ji0=v~uc(X|2M3Fc90!-8 z91A;_g18u`-~lyRb}nueInX#6I~%920UtXT6X;xj(2;=ue=|L2nh)+5p8@xaZ=3_Q z@1Fht&GZ#2ehVyq^E^l#)EfK(6~74_wY-4Xa&@8gQ|NqUL0?v0jsQHdL zjcFzW@%auk>ImP73C*9NUNeQ)m4e#mNHdY>8PAGWKtWBM(ko2$lmz(&c%_vU#6@Kl zab-7lHZC@H1r^34puRL^_nYpM*JWd716}*a#Ka8AaLjkW8Ayi#lCdBe?&<&E%(tQ9 zkc@Q`oPj?6|Ba>|p5d79fHNG-97u+{4L0WugF1r_1IQdu*DMLrHH&9qVEzx1zsU3k zob|TitdCJMAbsK+T-Q5MAKXC%*Zym$)0LADuY6XtaqY@QkJ^=)PwrH3ra(C8$Nb9^B>n{$CZT z1Xkk)wS3sQFEI&%rsn>C`>zTwi5GzKCe{wuK;%vE+yZ)wm>vbRH%1E==NKAoBJ&!y z2JD;vswjoB8uyKJ;O-GqCpem){#QjQ%+D|ygkDx?fZEj>kO>iG1#vMM z1;~Vm63PrIuJ#$Eg{;hYL|KjFNKUn3=)p$HNp9 zNUH@wvlfs3e`2}^PCr_p)l^tUA_xVL81_ai<4kDy;0PzI9e*}Z@Zbq1=oncsxOk4i z8K7WKn>$w1kL=rV3wC zw?VS6m^e2ptEh;LZJei!iX42#Us7EiM`BQcWCo;#0F2DcaUr(pcD!sXTudnu0lvcG z|CCj9AcZ(+Y8$-4<~MUZ*yHJhJx=M;o-(u{zYieKQ?%3vZ&;AI0_gw$|DZvG?Vw!1 zc7*|Sc?TP)oe34+0jjFlt}r|R=MGT&5z_hJ0IrJC7$$D@T&;ixSt$)iutA{0 z1vIjQZ{`)PHOJ^iae)70rM&VYGhT?P&i?%W%^V6Uj@Yi$f{P<3P%r)O|KH5s;NmC^ z969JysNnFVM#Qk;mSh0c^~S#sPXpktI$x`QgU8{>IFlED4(C{Oo*OoIC>jpw+5ks-iN= zyaE#PG8}?@3RbG}Rzb!FzGkv=Hrm|WphL`LEo5K-HLQyvLzxAjp-hl$Be*ncU|0=`QLLqzuo7t35BN|A(0Xqg#3*>3 z5-5cbD(2cy2QCe081oM)D*mXNK8Ps~U;qEj>;ftex$L#T<)I;{JOo9sEVw*uz}380 z2jx!MWmeGkNi6G0GH4icI7(2eM#=yG4C?m1awmKYQVQJAYGjxO%2c2L z9)Mz!s1Zk+mYp^j<2pEo9;q5NnB$EMpw1j9vLH3rXrvIe4u{5(05d*+rSq9essCuDmZU0^$2d>q7U>AzB-dh3Zr1aKHy8$BuKCp#WKpvz{H^Z|0Cl`#>EUKh(pEg zn8Ed>5o8f2Xn`hpD;8)Q5omcew5$iUYSr1GN7g>TWV@Jgj1}5~A9w;^O?8&T1+? zZWanY?##?e?kYSyk}~Z4E)hDK%3K2Mptb2LhEjG8CSH2(Ry@*t)`lv!o~lZQ3``6* z{~j~mVmioR&JYVq%6d$uHsC#f#^61Fp!GW7MdP4RJvPwF9nb=A(0QDoMmryqFk}lb zXx|Py8yl$20NRoUyXT5clwCwjET3DLk6lp1%~Z)uO+=QPk(ryr(!wIzOk7JB&Oapa!L?wB-xY-)y4AtehxP^Gx8U589H6-<9C3$&-n3#kl zxVQ!QIaL!K#0-@!lO6x48c8uQ{(toEG2?v3RSb?G&x7(Y$o(ejdd%u-pooH;)dcb@ zXq*SM1suE_N(^+u3TQZ91iS)wJGX=YpRh0sHxrA5nxUMWDl03iys4t1v9cf|3o|RD zw7wEM6FVEX7{8LaoiqzG3kxeNBa_g-$3jxPQnpt5T#|O;=1~qRjEoYj?0mW^CK0(- zES${Ddc`@aYT=96Y>iQfl(9R;n86Y}(pvoMOVfvU(=R1;n}d*qPYGW###$SXfjn9b`3fYMuBv zSy%URE?RLdBtS-R6MLf_YMmFd(7Cu zIFG>teDWk{6x7^~6}%}N)@KKG)nO+CfcF4Gql=B54eV1$Iu#WW5EWr#ED%%>=4NH) z1nmfw5E0hW(H3Fh=4O}W<>25FmK7If<&sbpRF!06W@ZH4D99pXW+Wu6BF^*gF^{Am zx2hPgO+ZwnuavZsPEdg>zqAOSfSIg}o4U3vFOPtxoVkgVqKq&z3lpbHtbvw|OvAsQ z4Pr73%;3b;$h4C|ltGoj7!+fA%%GjlkWvqlH9$97s)KWk7&Cl87vzWYGKLzm0`kW8 zii*}cQv5R7mYQ3T=UX*e}yIoKu@80%%H zg&2A1`NryVurqS8`jtB~x^u9mmny`^vViWTa`^v=;VR>71{six)Xas!*EEQV@G*lH zfq_mv2BiF16b~X+UHX$wn1txZ8Ni9AjBSsTW4o(hk3r}AMAz>aq4h~)w zX$D3Hq5mHlZ!pe-?C1vVQd3t0mFwUw8sK~dPM4rE9K4AORBC|jVP^vkEy7|8R2+iT zu(N>*5HYwa##~7YAwCIKMiyovIX)I{ZdM^aJ`N5}Az5)LR#sLS4M^-Uu`@BVY6QAV zN{X_uv9U673v0V7urcwdSZIkW2s5!VD;x3~D@l7uvoNzN1?%%mv+{5X*vZO-t1E~w zv9b%ONAJ|+S*t_Scp|qR9u@wRbNceNQ#Y(M@(H@TveEtUBg;YPmGmWfQ_A7N|Kq6 zSy10VK%9kNP&dL#RZc`hm|v2eUzl5f(;&n_MNN`VRaiuqmsd$z#oYQ5sJ!G9RZ!;R z6Jup&X4ABm(($twV`XRI6xUD`F)-J=u)%kAftrWV zRuniW#MY~tDhcQWnwvN&7>0Qp`s#?ONvhiFh>NK3soHv}TBO)JrJ9(>TYKmQ7)$Ca zNEZi4nB%To9yMRrEF=pMZuM z3%97SsGg=23lk$VHybMlpCF%tC<~V;w~?(mzpwykcRCXb2Zx}BtdWthqlXm_rvT`v zn21tUNd+!mK4?3)opBz6Iwx< z@Oh!2YlxY_jRiKSQ$X1ZEWpRK7n}uD%;iOe*md=|)U*X<3~U_acvYlD^&>1a)maqO z6DF` zEUe6GVyyD2GR(}ZjLck0(ne0U#%?Mc!a|(#T>4H*hJ0%Fp31rbw#rOQOyaC8s(Or! zj4W&{Jmwmz!5+GPMgh8l1{%yvj5gug8W!MW{fTi2<2nX+kPAT}#01`y588f>NZH`R z16&w_S)h^y)c8_XVuxfZaWP0?0+M(ksmjC8!@g$jVWKE5 z!@9n0ZP8Ix_lZ&ib1|+tek9&jEp=oQY`Fze9|V0 zEG(=b7C5Q0@`$V;h^s@(Kd>?zRF7a%N%r`nFnvEG!%xd?xNXI$>^_ zpu<@IJ!bsIc$GnkK@T*656LiQX6B$$3X~Yc#MmJPl`=T1FoQ~UutUYf;ax&L=Knlm ze9SD2MnMMpfmv2!iUKS~Rt^Ooj2!ID#_UouX0aBk4t^#Hw&FT+a_W-2tp6T!2ypXz z#v5=s#hF?sx~U6D@e3wcx>tC*WZN-v3NZTHG!-gxnTJ`Zm?^Pq``+(~G zfA<&Dk=)7 zDYCJ!3&^U8$!qiQim)?fiwSc4yT>LY&#lGJD96mjtQ%q`%EPZHD3$L=Gn2w%7rO9b+OHf+j|M!^5k12y80Mzc*V=^_> zV*+2B3@WO@O;0Qa9hGVwFcgPbP^@&qWxAZZMmU7>jZ(xd_J zjsW=>A_~%A25G%R3Qcu2c0Q*03i@*V%Eo$J90ELi;{0M-(!A25>L$|s3c`F+f}k@| zSj6Pib%aG_L|IuR^i;&uJxxTF#aLL_*rj#(luWIqEaO~Md4xEa`9%3dZCsQ^G^HiA zWCRTb1SG|Tg{{R{L|6rsP5spkoU}xlSh>{feAG;m9h5aVIXO5rl>h%{0JrFw7Bi`_ z2Y{CgTsC3&|NsAw|DPCnL8tzLML|a(H!%n^u>Al0{}ZDG(=i5a25|;MP)LB6oPc6e zRD=zDo)nY~x;e%Kbl)jFF@s|kw9W=cr$Jd*R#sS8T6&YPw6w6WtZXajIu~XxZcb(< zK{hTyZUJ!#4i-LUNo-vU#`m%yEl8Myjh#h+TToL=nTwN?Pnd&6Szm{bo&WD|?46MR z{~<*kI3Qxc=WtwRn92Y;QVU!Jf`bAg?!xdG6ckYPu%O5U56{43p17cZRSV$hVPeYD z7NWvPocL0ggn%QZe1@LKmoT&jv2fbpY|j3BqaeVoY2~ZWVG>}gE66Xx$cDdx3u->qGhSh^2Db!2(QJ-X zi-OYtd_Wdd(SuhMfZ8aah5@)_j%3QX?q8m5xW z&=wUVgXX_mjGc@dL9G?=27VTE6Eib0V=GXt1IfV2}((EiE3+$$?AzQgHF2S;OAo1v2~VZ<6vZC6JWP?Q(|Rh<`m!( z(lS$HXJuk!5|RIRi-TP;uY1;94=zq7MowNPW>ywSH8EB;R(2M-8g~{p4h}A6Ryj#F zRsjxf3nxonO=~#@W(M*9L5z=>mNQ5(sDXw{Se4Yw&CI}EWl)F0NK9M~v=xg@6?|U1 zxvDs5Fc{1>gK!upad0y$acf1kh4J!>2(WUoMsz0{G0U+?|NGA^%p=IC!t|U=ER$P^ zi<5&@qiDmQDJ<=xCGP>WrbL7W(+^s*IXP@FM!-@U}9*Z2D;M^d>k&g>VORGLK@x5 zpna3@N)yxz1$RurbrDFHC>vas21X5Vq_Fo5#|x%m zG?eD!<6tS|;$vkM5aeJN=lH$t@_%&LPgtDJ{z>tS+o-%FD_wpdn|jDQzpq&dgpQV<5{d#LXkhXD49HZRO4= zBFf3e%qhqb+U&)^#31wk6XRK?{S0=XS_g7t2dJ|FYA!>&NZ=bH?3m0!ZGUik!$?d_ z9Gu%hfxrgppbMLUE>8ueRW?u)5f-tj?ifu3>Bcqh5rj(hAmRk^?yp)8Qs<1GZ2*0qb zfU1;)k&?booSvMin})KBnL^0K7$$Zu4o-e=0;1(z&p z>TDvQlWG|`gv5AQBy>c?%r(qnEty!@1jMEYjOFxYgpDPbSXnq#7#SJ${q&6e zy|ugzv^{kh8JQRv|2OA@R$+5Uw3G{Q6X51y za!$8mG?!&$mbcK<_cP@XHW06rF#-AT|0gCX#*Ym83{jvf zxS-ugGjotfLCF*)oxu%pnbS(43T#I=I6RDj7{pK$;<;0@|%F$HZ&| z3M$B$yVx`>V=);GAs#(@X_rzBDQRXl&=G;cTtXtEnl|c+DgrEwY^)qI`fJn;#kjci zVq_dl*yWWZc%?qA6{rDQF-dD#|Y@ zYyxVOamk1>n(%Na%8LsKig19-hVS6AA(DXsx&VTzg#a64m7xtaGP|k?r-!i=#ray* zNQ!}p!S3H(M$njt0fQYV+3PWznwWr2UIyn{a2*ZG-{2t+5pebfjnP4(oEefRKxKfa zh!~@+oV}Hv)R`%UGzI`=~i-%esqkO9%29M_W6lTWc!w%E>S?#RZuL=}Aj+s2eaaGU)t!%oNYq z3_8aa)IU^LQ!^Jf0}Y0ont*PL0CfVvOA5_FWj!PeAl*YyW`KkXXdoUGV4&uN8t4)p zHOM@nC^H-Q0v%Biwv94!e5@?2jJ%A3(!8wv5dyr7th}63dXlVcEaj~1Y^+JF-0WOp zqD&%;oP2ze65On;Oq~4EifTf9Qhbcuyo`)&%-!rlY|Ij>S|ZFWJWOnYyqsc!eE%NH zIhkoV%P?Aq32}jjAlcbPB#Y@)Z45uzP%6K+Q%M6W(-j6W25*KK&~>?>bPMkSK?co12e5%ITQoJHXz>BKn+fi3gI03F zPCSJ~G?_CvDGF)EE7*?Gk|i$);aS2D9zv%XzW)CO7f*nTdo%oCKqPf-xVRs~ z5AbbC%Kz0ti)i5Dmly>Zn846vm3@iVOzzql{+7v%n!3_a)j(nF9tlaw~{esVKs^x_w8s*S@fDk9a^)%qL>w$ z1Q0dM9B@VgwY%UAAnH}~MAtE3h3L6%AS#{(7@3l;HPN3dxU(&+=moVJzW)D(lx`pc zdZ6YUWI*q#2Ll5Wc)5!?xG@(FievDQ2lhAy&CZjv$m$kaBQA*KMOQc)ZpNgp#ey6H z&u9*AvOxmjh8U<80$uNjEP9g3f1s>r8Eja`el0(nA<)r6Na007C|dL8%Nh zK+MK{wF;EVprQ=opk5Y^4g)kOC|WbdgO=6;$Xr8)J;nW1A%A7r|Njh-KmesDNYLEy z0Hqvs(VGs~L~lhRL_ui}V#4h}gea&`2Z@3*{v&92;r{{GrR`(6TrEFaUPQzJ4E~v zLmRl=4;BZv`$6KMc0VXI*}1{;@H7r8XX8Pm{J2Y6O42uUZWZ-NTq+0lUyP;&wxXGm z(09Sscz}d2tk_lq7u)Ee3u^HvfX-8)T>*|Ygc+$-s$+&N)|Ngc#XO$Cg%$j2+&4VH zZE}>PjgYTB&IB^LQvzr9f&E5UNL}L`=E*e7QHOcA_-PO%m)`s*xLG3D4M_< zj)oov zL7c$^6veoj`nVRCFFMjUCq_mlP~r!Pg2Jebp#gMVLh&00 z=Kl}>e`5Fy9zr!{hy#TN(o`SH04lD~AbJOSHELT&2y3VLu*cxaL9|0jlDOrW7fh`1j^6KH7h|GWR6 z7=@XRK^I=BbFX7)WDsUx<6e`hKdcv8f!CG^GQEX++=Zcu0knVhG(#K1Oz_z1C&pZG zsR3F!#KwI!l>st?3=(A!XV74<1SJO??970=*6$R=5HlR)E+5YBl;XRD!brwl*Uq3E7bps6^MTcTnqAHR8j5 zCPfu4DKSJ$H4F(#P$>fnYEUV25BwTCwA`DjFR9I z9V*Ts#*hk*9rUghWT`wgvJ8$xbu%dmcpN1^#UTn$*r4hF5@4qp4Zzib@_$v(<{u_C zc8K^TMnh-@Q3c=D3=vm{1~6y_+YsEq1?yu1HPBNTs%RV3*cU0#BK)&32Bfg}2`G+` zv)IOnAwddiS%abiv@Qfx6`%(>sEwV*Pz?%lP$2{A5ki)W!50jGgsG6iu?IUtJD@M-6K9omsLLyi>{keoYZ^MdTP`knaGNKGEZl(YK zWsG2)%EZRz0V;m~|NZ}$aW~^4CN{RcAU=b{|G$j)87DKbu|u%f!cco{5cx4=fMTe;TBo1ypY`GJyCK z7*B&vV}j;;Gc(AA($G$)80f}1aA5=5#Q@qF1=`^Y+LM5BF@g~*zW|4nhLi#)KR+v< zvI_q+d3j!D7FH%^77h+hW)^M?+b4Ji%*epX>cB~ei&MP@cO4t7RXF=<9Yc_mgR zE_OCHCT7qc1Zg_~W=R1q0a+0Nu78)M#aJ2HIoQ~knVFdxm>2~A|7D!Tcpkh}ngQx; zVKX(zjv~+oBw_HL641UgWhFLqV*@jFW;G>tW;QVmE?yDd5^hE&RsnuyHV)7kH|=Z! zyh7XphEnVJb!0DyFlVr^vgWaJF!Qmot0*w?NQyJD3J5Z@v$C-MTgs=Zz|P9g%4*ES z!6?qn{qF-W%m4r2Fx(6dQx$L+YyAJmc$@Je6B|o2m@oJLFH;g&-UM8Q+Wh~>q{DcT zL6AY2AsDBh(@|@IN!VQd~Jv6NgowO~L_=L3_bS)gDRK0E4nHfPV;+dFOnb??_IJjc?L|C}l zm^hf(IN6vOnK@Y4nV1B)T=+y;n7DcQ9djJ?!d*309K(%m^IcWdY@FrPd>quQq71B( ztlPMld6>DRWo5WISh(24L|A#*Sozh|1ldG{*w}fQ*q8+cpdlj*_PIGcB#ar4GqJIN zk5*v-rCwpi^Uwp`z}{p6Z4v;j_Xlm65ElmT5P+Pg1=<+_J_`f1Hvkr)s7JlavGVhC z2uMrufTEaPhJ}rTiG{hHTSkt9pPyA$QA$u&Rs^I(RE8BC&Fr%LAQ@qCQ6WKL5pZH; zV&RmO0Y^K#EGs)J=f9;=25gL+9H0|)KnggRSh)lskuSv0$_!4G;Oo#BB>%r>nho}> z57e`tm|VboUvRXm{r|>zhVcf2CPO$wCwS{5$itx3U!ceYZ9oJ^EQA9)Qb8G%fI++C zn86D{;n5FL1@88Nb0jqW*+AO?K|AU|2Z?|;-yz$8qE{4r|GTINn;{D*X>&3$v9fb8 zaSMNwlVfM*=44~!})LTf*gW6qHH|> z|1;S9|HP!jc#4UQB^Y#=4=ArPMKB&^h(d}0wDL~T2$b|d9c$2p6-FrsO@ekzAZ?)N z!Mt$*r63fMmltBR7LrpCX65JSl$VB`I9OPjSvgo(xtQ45h2Ca?5GN0x1V0DIWM&Sgg)D50 zisJ0t;vB+ia-1yOOiZlc9?xIK_l#GW*jTc`Q7-cTFOwDHMYv}{#fK^MW)SdJ3s6l5 z_AmIf3eavO&_+v8bq6h5L31tORyHV6fc7JSilQBm+D=^4OrB4Qo0FG?m6?Tw$3$LI zUrU9LiJeKn%t=vHQHq0uor9T+om);&-a=av8u@6IpQCTKlRP^sGx*L`7H(NSc@s5O zCUzZbc}_kKHf|2%}ngPTwE+_t|q45+N>M`yv*>bK8aD1#m&q*lAYDh!ZHXHxBUPAGKquB z)H-n7f+`SS#-j}R$k`d>Y0yy}Ov<2|6I4=)fzKT?GX=@OTF~HKX3*eZ1D&ra25LXR z`cI%3h9qv#rMmEp0N!bP02Cxr8f>gO=Bk1$0y1Jk0^(ePYKolf;_C9OjF9#ZDBB}4 zJrj$(x&#}iqPhULn1GO|tN@Fks+le;8}{^&#lgnNB4wz~r69@8Bg84KCnsj0!otYO zUW{lYK?9FfNxqnijgdvgKuk_gnp22}TT+2b-B5~!k&Pn@IkkY-=>B0!XS~3~#-R?b zpzyX0p{2$I#?wq}>_5Tkq0KHPHuhg&KB(<$!a~5V6Umxh(1!hhT0d97Fb^&cw zb`}m6c0N@WehW`^gK%@>KwXCf4OS%{c19*fSkHv%5tACIXTreFeVO4fgFPgc7&n8( zRlqZ=ml;;V#F>)7;-FSENc|s}IHN3B+#GVAMgYhZaNL7MLG?aJ^((MyaAg1z2gMoK z)@xvK-T!}>(!t{DP+Px&#YO)AWz+<%k7NOv4mvkx9)l|^?m^;Eb6glzz~Z1Zh3Ois zrZBKDaR2|yXu$LZI){=0p6mm+^FS31aYwFzq8_8mhG@a?F<~}Otcf~wB?(f>VU}j1 zk~}EI78B^08x+ieBpCUy}aUP&owXSpH?1%dzn|9|^`hw(O3DH9vxMsP(U|Nl4B2Bv-{HqgOv z|NsC0_y0H3PG%n_H3mj-u+C>p1qBNO*Z+5ndzlV11c6&a;9vnA5Mlz^bPqbb3fkUb zW;22`bHP;!A2X;;3p;cKba=WQ=p<8RCGb(((ySaT>}*|DS=MQIzp2(?%vX#u`xA{Qv#`H?u!eFB2OB4~Wm8$|%ZM$Fzuv zjj#ZCj5ugfUFc!y~j6B{FButt?plt~IK-vX9bWfW!j z3g)+h`2Sxr>}7Zd=C^_PVEbM$Eo5S2Y=`qZ!SdkyaT(+o1(_nj^5FY$8B`g0nZ&^E z=>n?<+5d`Z83P+5X4Yd^tt| z#y3n07}yvmg85vG{7f6b{K;Ux5+e_z022=r8}mwrpWyK0Wi(>i&&0;Ois8@y{|u6h z{EVJV2btKI*MQYaGV(LL2diHTRxiRR!0?7ikcpjDnSp`vFh~bOJ);g-#Rjkn1x7wb zAEup5Y|L92zWx8tpui}=_?JnHiH&(1SYG1aBgUPK>zLRWe?x8HVUz*u-vO2vVQ67= zW)fy%W8Mko%P{gVoMEzNVq@M5Hcy6;hcSvtgo%xLA6TA?k&97{iJgg!c|XHX2F77t z7=R*(;VU?}R)f7S`TrB+2~dPFo&X1@0;3?KGSe<5HsB3gCV#OGc^I7EhcCJI*I03!mlj)&qPv+pNo;5l^b&D zE`!4Vzl_(x4qW;Nw0_Iz|1HMtVE!^L5MTKJU&cpFO$=-t%fSKc@&6X%5~dOcHjWh{ zAbI`&9~e(EH8ZertP}w8RsKI#B&UTgx-Du?ezr@UuwUnkk8^8yJeR|Fguey?~9E zhn-JOlwVqyor9B2PFhr0SXfGym79l!PfAchk&}~?Q$|)?R8&&t8oQ`pN@1a~Lql=2 zG%Fh?J0k}tqjK5wP>0U?WN8qGi-(7ck&}Z_I=Q~nA#{3~GKj;@$;K)jUEJVcTv(Xm zC(2HQDVN#VLHA0q3X3puii&VBF|x6+vN19-F|vY=8e?V?7XSBMmWP#*ot1?Hl$s#1 z$-)kg&0VyQO;shxR03!)1T?M=P8CQ4#E3p7C~Y7H|HL4}%LHPT$s2F1{#}SaRv8bn zsu-C|DtMVOv$ON6@NnoDDr>388H+Hnv9d5rYMIC=m@A44ajR;`vaoQn%+^pAV&Y(D zWn|>w=i;SbJYNDGA;!eP%Fe6A#jb8i}f*091rP8iZ`@ zY$C>>@j&pIri7xL4S$qB!yo0dKu1usO3HFb>BBF17yplKx|5KkF=ST|@^1H=Pgv0(~6mQjpQl<&nK<@)%e zoH3K1k5SXX-IRrsg;9=Mnu(Q(iHVh4gp*HJfSZGpg3MXrWs5u z^owjo-ixd(%*>38EG#UHjywt+ELJhm)}V96**Qe{89}F_Gj8S)<71R%WnRg|$h4A) z9h$L^!ee<2?c*4dv7wn7GF1Z_={E|*Tvx_ZiNtZaPZe3Du!!mNB;Tx#wXikeP-^ovVLR(1{!Ms_79 zQzbhSVL?e=X=8N`J^^Mn9xirHRvtx3W>$6Px?vJz*AW z<6Yn@BI9Vz$HcvVk>t!zCpKhb?qw8iQZ>q$`$->FT!NtxdETC+yrs8R>0*zQH zc*HKFeZ)eusj!)vvbqvz*d97v44O;>%|wZVi(@l$@aHnc3Ly@+6+R)Pb@oJ7`@7=;TgNiK}h|&Zyu!I6#%Eh?tl#_(Vp~5)8;SR)iuq41eTK z!ymbfGFo1`nwApmENpTHGDg0ds?OT-g1jPvJnYIQawfqFTIPyI(yVMO%p7tmQU(Uh zY|IK``pPPn(uVYl?31caTAG&XyezCNV%iq!8a7Ju=4wjXd_4R-oNTNTIwooczPid5 z8nQ;(!YnLo61uwbRw|5kOiWS^TFO?YYATuv(2R^Iq3O`3G6&BcgO-t_Oss)sjm^!( zK9)%q@0zi zASV+SGnX(Ms{oIprHYc9wTfwswYHC=sfdWKh72nsB(t;D!!!F@hP@1D=vHJy7W6=e z%83~6U^D`)5CN~U0u4-=i7SDZO@I;z=w==Qset(~-kkqO6MxPpVKjvCnst(uWumoB zqNP=Wqo#w3oRy|sfSeWm5(KHEB#a9z;;pSytZh=Pt>P^-b-WF=g3N;Bw0w=A-Kz;m zN#xm}O(2j;2-IRn3||tFt_UO?rYm?8&R+@YB^OPtdH!`c^PliXSmJAsU z2LI3`scCRG`9qoDz8C8(q;&Y0;r$>^i8LMqWxj_$9r95x9sVE0!=U(xTGeqU1W{Nxdj6*{bn>A8myFZu{8)&kadIQ+Z_4w0S zF7?ux)nFX#CN+iaBYJS09W*%3YK)Yut}?s;-Ty)B;c@6B2dN`wuqy)1X*{aVT#i4* zl~OOoZ5jdt@T4X{E-DPzLrOg4>UB`}96)zz+c85MaiDb+(0N$OM*8Vk!}1LJSpia0 z;dY8<5!l4xrQ$AzQw%q0U)@r;%#O0z1eR#LCEo9e_)9#BR^c(44fOm1d8_jn7vh>_ z0IhNV|B3N5<1_{}jvb&K7MwL<>IQBxt zFM-7+{@XK^F-~VtbKYusaVx)kDmY z{Qr^pHrSmYf2nh92lT| zaez65_E*<16cbc7R?^TH6;w3hvxqG)w=7ApwusF)vnWZjkqT_`w#bPv@oV(9$cr>( zU}RAF|CceCsg}V2WS1IzsXSzL7`V5HYo)v~I|skIwxFg0Xq~*Aj)o*`p**jKCTO9& zrnPui>b_!Zf z!N$(VA}Rtpn8FCsy9KSY04=RxXJcbr&Mv2>DJ<;fYsJALz{0ZH$jL!l(@m6_la+;A z*2F{0$U{w7QIyx%+Ej^8P+LaUN?KMyjE9AngO!P!kCmB^nTd&siIEAk@PK8bNu!gg zt*#0ihafMHmX5rZm!Y(sjg)|?jj1vd=$>vSMkY345jH^%7FJm;NdeFWwi^F$F|K7Q zV{iwDF1QB{T15|Dpaov|0bWE6S)m2pFU162?E{K&$lNe!SuJ>)n2%|?xQU8@C_A?h z7q60xs*|>qu{yV^AS*8;ivSm=hOUCCrnvv66&|u{a~Ew!5}P zq`e{oBLi%6LM+%5px7`2Z-WOlav+OE?U=ypMU9Qv3>n$jK)Z}hA<95YgK@7PMO*xT ziIta!O<#_WQPbVel!c9vmxqImk%LW;U6hsm-zP>U=Cv#w%xwHh?A$D{g`b>UOt6KY z(i&_$oNO|RG7^&V3e0TmtZa;IG7_=ib(!qUOpF4&oScl+oWgwnYM9trnP+ozFmtdf zC^UjrX>xD~@jzB-#>t9tGjg!9u!EP{GcuU`zr{F#sf58E=6BFM1!!&_oI&iEAgke_ zZ9LHOJ7(}2N|4VW8~)k(m?F8Qq&fZ5jrB4kdAYd-1Xx)`1jG$Y%w;*)K?~B^1$l*y zjI_AfMFbcbSvf6Ylq}4hETnCm)L7X$xGlr9)oqN#xy5+-G<0vQ0y+weI*y8(cH)|_)qLC> z+}1M6)~YHto&tKYZWb}_#(Yu^Rsu|H%$%G|pe1&}X(r~r8jOtAc8EoGY#fpb<|_I= zX0i;73?ly@FkWRU0^L#%J%EDIOif);3A8B%oFBmBp|A&l6nMy$y zO+$hml)AxP7*OF0UyA}w-r&L*<(MgUK4wb}HcnPK|3C!=bs=$eV`&8)FD(oi0Bt_`CY!vm%~27RyCIJne|IhfcOxtSPQMHSiD*w|#m`2_?7 z#2Ljn*;u(5S%gHUiHI{ZazVWvz_ z?0^oF1{Js9ya2lF8nQf)9b`9j(=F&UCe+oFAc%>vo*qOPQJ;mh(SXkLuMA;eH7)6d+)SKOV#1QbB2272%sh%x>IyP4yr7(| zETd|vz`(@7!N|#|#FW9H&tMCRXHW!#s$$UA2O~pJ?gkY&(Avw`$jBVD_d!`%33SE_ z8=E@FQ=nZBpyl$LIXM_r?ev*g85NuqIpu{|xmlQ)*hRT{xY;;aH8@#CM2i!c*jSiE zlw|pt7&$p&z{_Wu7`1{lxK)H$IoO#FaWJy8i!d{LvGcO`GBcGiF*1p1stSVw)r66o z;RjO+gDJ?7pyUq9prCUF)Il7O8^J5PL7~RZ#-;>vpa|%o8c580v2$>6%NQw0scZ7{ zb8$1XaC3?18i;Xl@Nx00t8j4$araP($Y5J=M-XKVvu4KU=(1=VUT6eg1HUs9PpxKP#p-1S5U?T zRhSUBO|Z3;RNxl(HfLrPU>3DB59C<;Z` z*xA|GqPcmwx!RZ*xm!6zI9NHEK}Q6#F*32T-)7|$V4upu&B({e!7L&0keN+{o1L43 zg+oF@h>4Arm6b=D_dmEQP-f&}6(3TdG72sr3G*q?_lag1GWoKn#6%tZX z6A_dU7gdmxWM$+MQI}HI5MW|q6jza#P!ScB7Z;Wh<7Q_TR#%qOl@wPMmrxOAW#*HV zlGoiKASEuQCM_Z(E5gFS#Gt^)#3;^`#URU|2@fzkCUeBnL(r-+Q4u~Sb69>A6%jLJ z=HOt__B3GTHINn4kyW)(QZ$j*_w@G^*Va*#l+$En;$UWFXXLiU&c)TwW?*EH z{QsAcgK-+@st-sd2CBeFS}vzU3t5Acq(z%ZiH1E0bDT{r}Hk{r?Z+LB@FuY#cj< zK?hBQ{dZ!lW}M5w#<9x?#OMF-&3Kw|DFYkF?q48&)_-TlY{vNvY#e*cKzvwvzy=z8 z{{Npr{=Yrr4#w#WY#jU8LGm{LKQm5Z@?~J-*v|^$>;88GSB`8P2UtLS{{QievJCr~ z*g4ih&-PIMpU3ck;TRJ;$2zEp$p2hMVTOZD>>TT%B69z;7~X+JHb6x<{wFdjF&toG z=YXA1V)8$k;RnMWCU%ZZP&HEjGZ+OJjxe!vY=(*m{!e3+X4uEX&H+2cMEQRbBPUo5 z;uMo8MsbEiOza%6Q%v~(zh{(X^oP3n1^5)ee+&;8!=P>kiHQ9F%P7nk2z4_^MDG7D zhIe2Qkefjw9REKuDlrB?-3$^j`Tv>W2cr+v%^(q}|34T77(<|L28js%|HdfI=m&K( zNCb4V8Yfr{$ju-Th5xS@#TkR3ZU%|)|9`|N%jg7k^KG!3Uo$*lbcVY5D){8Iw~WG! zj!-w>0H3S(nBg6x6%#uL$jul3|7YO%|Cmt;Yz`=#Z~gzzVDkSS!w*JtsGBeU|IZ-x z{{f=_qYc!}7eF@*|G&W~&1e91^C__H4;VSY=78LM4Sb@^6-IHeE>JjM0v|gh$SBKH z$i&967JR#qGNS~;1EvBdHjZ@+Od$6{`pZmgpmYIpEh9I>JEkNiHV()kLmZ6!j7m&- zOl%w*8Q4HBW#nV{!IaL##<7Wk8RSkzE=B>SG$uBV%?!Ulu4Lq7lx9j~V&m8XJ_Sda zk)M$hZ2wjU&_SXKjO>i!O!-V~9NWNre#YgDvdrv|FlAT(@)hF_h6l_7kT7Lf1a{+A zMqy@7NSK1v$T4nWcn22Qz`y_&;b2_JsKm?xNe5sN6UNmHKbTn{VG0(JV%)$ez{~>) zQ?Q62<2puZW;RHef<=@WS21#e)og{DtiZU4QJk3zk`5RaFfjgC{(p#(pJ^t8AOnLi zw8sY8Pzr9;ncrd;=4It%{O83c%+1El$kf5j#=*+W_}7z*m4gL*0HgB%LrhzkW-_RO zGADyN$6v-E&|DG6dd7wSK#2h)uMCxE0?RXlz{sSc+k^hI7e8BSS85qFwI#BsI zusleAJ6L`lR32jfM#j{C??F-g{}59FSRNF3Ap5Ps`ZqHAf#pH^_k-nO`XTaL7?=Ee z4vL`vhnVc3^2qMn%4qrzlnCYiA7Tmz%Wq)#33i_h*!-=Geqec%|A&~;!Sb6Jn8ET8 z_its41Ir7-<+m{WMwe$`VgMcEF35Ns(l;V7f6J)qnC)Pn<>-`UZ=dC^>#nKfsOu7? zT0(ILZ5!ywGUAlf=6(;&i}fsw)J|6fKs#^V%pj@;S!c{%u%Bn0F| zIXJo473IZ6#YANlS$TL_1Z0I(RJgggxaAe3BqXHenb|p5*%=wxMZ_63#l=CRuPm$_ zpcxd<02m`PyQtK^>x#UrOdPDNpkwnvV_Y`>|1hp)JkH>ZJmX_(f;_|p8RN2Jg4V;} z4U!l~%rKU*spzP%O52#JFmZ4=YrAR~XeyeEGqJO>ut@7$$tl~YN{aBPYs#~-aUeEFwDUk}@`iQdScDTAH%V%xrQR ztnAz@l4crg9Gnb{3>N>7GDb6=0Cnpi-A-d8F;F*%^llMoKQLPshnOfQi=+&PnhCFp zs<<-fL=$!a84*4y1sQoY5oT`Ci6$DxG6r@6kP}U04FmLr)UCPMdHETcSOo3#1y!W@ zIat|*SU3d*xV04}q$Grxn7CNjWaLE+H2AdiL>O5Z6?Db4-OPm9*%_D^?Ehb9e9Cx( z!5k9!kRdSe7_X@bcsj?34KyHtd-?`xAdH<&jM0*xk5OJ*(^MUFLI(%5A9`y%_Hx%@%<7*Q$e$Wd_B8IqHcP;L#TF?%FJHm&jht(HMT>gn^+t=)?&L zK1oe^UMW_tq!>+SKT}pVc6LTKX>)xYPca^4ZV6pwc3wUvR&Gu47(l}i*BJX5Pm$68VP<2i z0`-3mGqbU;#(D&RodzfP2!J~*JX(bw*u+J|gi!|7#Ez&rYbqOxvaztrX^QH(tE$2Nr* z?q&d;cn_X@1LrcZU!jE>8#^Df7bll6D?Hj&^}x~2!OF!dz{)BvD*%f208>yR(c|Yg zwzJn{W8vjw6tvJ3w(P5GqphVePR9r zmuF`vWb^}zGyMO;v*asvmM5CBy$OtV(ckbq0N=9*8{i1DHNGe-!yn zQ0>p4&kR~2!Oo!13c098`2TMfex?a<_g656fb@gT^JLo1G=YhYp#sKdeh*ex0kMZ^ zElix%5H1dK$6AOy^LvmygY^I3O!i>^*n;_b|35PIGfih=V-NuIW&i(VI?ptjiH$)F z%oqOul{pb?FC-i#{{Llo#FWXT#`p+)taP^osEY%-j^{X2CIduNjk{ZdfkB<|5yMlE z-Q3*_f5B!+{Qt|e28Swjh$@gS##0boARGSwXOQ^+nrQ)=E_UXLAhW^8Wxr=Rwj~E-FuAd2$XLiSsSLg0#oC#6S1Um7Sox7U}a>}dl|Gx}(!G~gg z1nXD+|BPYUxlyW587?s4fE!`GOtFR?W`I#KOhSDlH-+$;QdW%E-wksjMt1 zsjPffP)s{DB}f9~e~F-!G%W$~+h7SvNoBAl;S4(&-$5)9HWCvD9XSPS>w)H3!81wV zj)++`2PY#d7blyfh=?>RI~NNRCnwYrMqx2Qtu%x!soG+K$hNrs|HNp{G?hW0!5ZQf zHBhk&nTLTNt^*PREz1Edu>y@)g1jig25;4gim-LC@-egUnCXjZ7#Xv3v$Aq?aEb6p z^GaGt%4ms8^NUG|35aqrvctT-RggzORY^)if?G|@$N{vngi%n6mrqPmQpVjyN>!bM zho6_5S4)Cj;4n&vcrzL?zJs_G6e8f+Wys7C?6wrJ5a>z~@Y)0LatY|QMa4>) zfssLpv4qi>X&$H%Dy*cYt`2SugQMNt9Cl)>xR{u@nwq)^$Ut#%@boM=^|75>^ygq<-pI_($|^3x+y$jqbF;Ct zGBPo(WLpPitzl*ZsbGXE5oToG02&5hUdOhXi}fE{7aQbkcTf??#0Dx@AO#as2-8#s zHBL)#0b|K13oa^!{vTp2Wtz#r3o8HA%)w_3ih;%*RJk~r88ul&dAZn_|6OMhwc})C z+Rn|!#SR*CU|?jB`hSSA7NU_=Nll$m4V)qv#n>3LxJ6k1U1w(F;uU3O)MVzgW94Gn z&d$Zg{nwL?6XG<+K6shO4k`2g|7S?~cc0Oa=`e#DR~X2NTwx3o!A>+{bYN&?><5+R z!brtkq=2}%fPjPqqXU={5D;fz29>{z)=X;|)ESIH^TMDK6I9H=lP|P1!(F@xgOfC< zS<413YD8JNnR$f7csL{lq{ZZonhOwQAjfq=LOwEc%I}tQQz+}aEh$#mY8Bm`p zg43R|11l#tFJm?Hq}|qmr5$_|7XONJ$S`u?cAcgPO#k)fM2Sk+9V*P(=_GY;25{ zN>18b9BOu~Y@jQVbZw*y7Dbpul{<5=%IQfcno96+fZD!Xf>H`fGDZr@mjCXn_}Me< zW9JqCovqKv$joF`8t0Pis36F3&eUE?T~yal znAkaO85sUmFfcPX{`X-tV`683MlY;nhL=5{>Ox7)6nBZt3@+0^y-+i=FW}M{7QO6J zXweHVmRVW2SRv8N=px7?prRxu0*YTbL0J4s`UOaX4vk-MZO&+f zR0W!WYf6ePHKc^X7T1!Iw36hN z<`L#*=V4{#W;Zs{5Y;#1W@Y9RhSn=v1=uCDc)5A`c{tQnrCi))Bqhc8c%=lv6^w(C zm>Rc)hLn=30FNNNS^+H#-IybrvSaQ5Z3kp*9>T4d)Zmoxw$zR*%XC2 znEAyexmdX;VG1$!aiHmS?a@qR23ULTx5n^Cx(Eb07MUg3iVKc*Bh98VV zjHXN`OyChJ(DE|SY7c1B0bDJlgbWq6v z5;ZdhS7e}5RzcN(5%{ht$RZx_x#VE8KnuV?i3qF|R3(BN1E5%91NSP~L?E&teIlTv zmsP@4j39BiPB!^SSJE-Iud$H6Pc!70EcAjrYY$jHPDT7AdJ#>J{E z$jQyY&%w^g$;!dW#>v9M!6GEbE3PlkC&{a0A|j+FBd#taqAbiQ%%y5=p}@<=%C05H zA|uNoAjQKY&daAHA;!YO$jHdd!pg}i!Y{_hBf-JK#=^qI!N|;d^W+rwHW;SMKHf9b+4n7_Zx%aHx zY^*|jEG%p+%xsL(p!M|}Tx@Jy90KB^QX*`i)sL)9tW4~jQoJ1e?CgB(vT`DveC$lj z%q&bS;>r@-Jlwp(e5{NtJfhqn<5@Y_*@ZZH1bFx)CAbCT<#^e-S=sqnIhpxH1$jjH z*tl3&x!5>`I5>qkSU>}ff-<}^VjO&8T-;*38k*v)Z0v#-Vtf+Z0&+qutjtVopat11 zoGfArVyv7TZ1QT-0-!2|hm%u~L)1iwM^XUfL|#rNHfCNPW=19!CRQd^4GC6u7FG^s z7Is!XF#&D?ZWcCX77j*9HZE0t0X_u0vViWSWnp4u1RbZ(#K_9V#K+Fh!p*_V#0*O7ph#e3S~}1+935XwCIACPT-;gROl$d zs%7xL9CI_!Rvb`?1}Y6f3*eCp9b-^i3RdPpiYQSLP*Du34#2DZp=G!dDhF&2xDW&v zJL@{Lyk5#GY9u1Kvf0EPDphuE(X391mlIc zk~0Iv2FUv$O%R7d;sjb3f*aE8FqbK-DZyL;G6x<>5C*#usFGqd0*?iOLPJzUjEPZB zQ$d7r*nL)V$l#kg2_*mKhNwM>?v+}TV@Uel+=V0Rz<`t0QVU|$j6X)lWlVIZ(=HzE* z7vN%HV-b{<5#W>K;Njz7gw+|Ka-V~hi(i0?PgO>UkqdP4HX94K0Jne`ABfGt%F50n zp~1?;!py?N#Kg_V%*MpY3o79RBzc5PL^%XGIe9==NeM`+$%6`XF?n$o4ptCiV`64y z5t0+&mf#b!5M*a#71z{&R0|wpGJGeEUcVtd?Gx8V!X_ppleCE z*?DCZ1h~be_;>_(I0ZS_IoKGPS=hNnc~}`)_=I`6dATH%#aWnGn3dtML|9ZHqdoooGffSY#c1?{Jfyn0}~?? z6DKc+Acp{_h$uG;6R137WnyM!WM=1+72p)+W@cw*W?^Jy0bQ!j!NMvjAZIMaFE7Z> z%OS2R%qK6zF2pIMBo3;bI6?Ik2P3G+<78n2P1Z3nva&F-FfzIcu`shTvv9Dm3UTqt zvU3Y^a0qe98yd)Q%W4=43&`+lcsoe3iwm$YGl6RiRvvZ^enxIqa9zSJ?99o+3|h>@ zDGI4VB>DJwec70pc{o{l7@3%um^oRw**N$aL6`sXi3xLYG=SPhphgM{D?1ZAWDbs7 zQb?9pLR3&(RY*WdghzmporRT?g-eK&M+THCSV5gWCT2z!4p6@X6wZvGyQVp~S@_xc zm_T(7sBT~c)#PlPY%H9haAM@-;1=O$X5nOIW@6};$&>;fVJOrTZ~6B{opmk`JnHa>PpaDgsy0qubj;pgDt;8YQ0;bi3mHTpO> z1vwcR*%_nQd4)jjElB}(_W%DG4E|qdUd^P<#Kv_KJOrW3D8Nw77>7Ot5ds>55EK(* z6c85>6cZB^5NBXyP+&N~(8(CbAORkHgO`zz+6CIf(`V)4WD%7RefJ z-Ok7&Bg_vPG34UoRh5y^5(f?Lfo=Z5q{a!p`4UXd0xh>-IKa@(_=7>6Gx+~MhFJ`3 zoFV@h7?>E$83hN0bX`SR*?0ekZk2*=MobU zklWsn=LB~7YmP^n2rz&8#{*p3zw7_6N@50mnbg_s~R7hD3c(Q zs0=qFGaD-h3!|Vm6O*POsJLX8;NlP!W?_@!5!7H{Vz6ac!*GLXIb=~H=-3oN6Hp&f zOjJ+=+&nNv=5J-@j4v7GrzD&c%F?iIN#)*0CnC$GdQ3vXnuH4lDJ01y;)%U(iu~j zPJ`wJSiv@c7S=$@GsqfvkQ1O~3?KN?3&<`g=tL51oI+HDjnQ8}!je}?U5uTFi(6Vv zgx4xcpPgHXLqSi1olVn1l$n`{M_pZtja^(vfkTLU2D6m8zNx>Stgb986KJ;{GrN?g ztiHdAzNIu12RjEVBa4uRs*d(n1!0yi_ zz|B5UK!A;n_XHa!CkG=hlMpY{Zw>)QHb!<()G+f2{@KdI1*ffx%q zjUQZ|fy0=Eoei{I4&s&P9L&P9(sJscRg{dfdTMH7Ofu}O?95E!ijop?qD+j8V)~|X zjLf{(IIY6Hd}8c4c-fg)8Lg9JQ|;JT+1Oe5Sgb>x?cMcRSXs?#=cF<5GjW0TVQc-@ zV&rBz$e;(>{vJTQVJD3ha9m3AX z&cwoGofMk}b_gpk)FG^_Eao+H(wGDoxw&Dn%Fqj1>x zadNUV@iGeW{rkme!@~_)Bq+j|2~H~@-QYx_ENG$zOD6kxc-dg?X4=QZ&GYXFBO9L( zBQFy>Cnso93X~4cF&$)3=S*NY3Z9lo08h&q{nui=0WQ#dK`8{3M{(bGXsm=^9)FRy zo8khIh%ysYBQaVq9AS=!)JUN9y$oE8<_vR~<0!3>7|jXPNdNzX4w3`aNK9;;Y2fDT z;7ImRhaCV#G}vM6oM{Z(!3hB5z(e4C8Oy-HXhclTR3=IlBQud1csY^kNXqD>l?g@+ zGZ>CA?FS_gb0x?^571Z!IFpKi$74WeM1Y1XHgm8DYO08mDmE+}IlFQY8T z%EHbeqbMXVD zhZMKaSx~el0@&$dEF3(n(pu8WTrAAI%94!Q(yTljEV5Q=i~=%(AomN(2&h@^0l7z7 z5#$0$|k~P#m>RO<;u><#Ws(VoAC=L zA3F;>3pe{e8&M8cHa3X&=P}HL8VdCzXqZpXL`@ma1$T2=vq6WRxN@_zb69bSu(OnK zvvSM>8NwmTc!Zssg`I_+kMkc7H>lwy%dm>!E5m=#5||SlM+=)TD~A9-diZc2!J~yU7ek92V;#dP#@!4;piULI zu>@K(4Q{?MDKfLMh+670F*C7p2wUkg*0FHOGcto$_RBLefzPF2V7Sca%J3c9Cj{j& zXdH5~uySxP>N2x(b6)0RW)bFM<^YA0=KoxV(+s7c#d4yc<(iuRa~Z1{N*UBRjYSz4 z*g1{CjR+)l8chBtgs28NsW(!A*8Z>kgcL?UIgJ@anQS4BWwK>pWKd^Z&2W-wGibq~ zFb*ee$FzSlKARX$Gi?IfAj)L>|38BbgD{gg;{*mZ&VJB38qR)(%iu~DCawuu{G81P}5qAg`I_yk3~{LRb8Bsja`U^OIB4! zl7){rRSb-vFkp0HoB%pvK^44e65O1J^*A6Y7BssKs!_#6MHnr)1X!fZOpV0YxtY~$ zO$?=21UT84nUFljD9pzqsiP{(#UjMc#wf0?sv*h3$H~IZqGhcq$im7hsBNRo#L5Kf zW!NwX!z_oCd!TLDxP#f9YQY0)VKMGuT*0)2L5*t#XhA903WhFFBH&uVC;~1>_#?* zZ0ua1(MQHTj3OXgI46Nj=bQwx1u8xdF0Kv{XJF@?1hO6CIwm8KJc{eop{`@+TERFE zyne}!aStO8NFC>Nu=&#&n!v8NgSuW4?0Qo(P?fA^Xaa90f#=OUK$C(@ylgzeJREF- zVjL{ojC%yw1!Q=IbQQUUS-H4{d8J(Jg*XL3n*f=V7$z~TV^HIq>C3>t#tB-F%*Y_Z zq{QILv<@_c3t5K+TQLEenF0+2u(PpAGchwVv#_xXva>RC^RY5TpsE1Q&tn5>o%yJWM7M^u82Q$>t8H!BwlH=9CailKFByfh~l zFQ`^G{9nd!7HTkPX-1+hr63v0@XsY`?Ag(SEnEHot5w3^vjdAT^H z<4dg#Qz8}ExLLSZxy55DoOBYRJU}(n|2D=H#_tRcpuJ*hp#B){b{)9oDh6tiu(OGQ zucZdBe1R0sjQ;w;CcJVw;@|-xZAo6!P{@Fgu`D~Atv)j|lca$n8@sImhY)v_u%?ol zrILiAFcTv?3o|DZtDr3C&O9Y85jJ)?NECor5TAhJA3P9bV9Um? zXehzN%&c$A&L(RN83hV8<(1R{j{=G5%JG^6SMjj2GBL7BYDlW9iAripfi_|psfwy; zNJvZbFf+1)j^xl%QngePmlb4X;$&uFXJisqlu)u%Q_>U$j}$aAnlrv7b^Ip-H2wn~ zL8xcu;$bpG8UOhwk2;*t$Z!{G1Gus@BQXAx0UH0wK#c#?!^eLZAEJ!^{5{XZ#SE&E z{)5-!!xy81SHm-uGQn2CleB6cykPwb!%oJpkOk|YHJ;#H18xO_Ms(RAqvc>e>Z*7y zE*8Y9_;!9l<&a<(5kYBbK@r!W5M^HB%}8s&Q~qCJxC65Uw9*hXrV1G)0+r{WNq%elm+>bZE^d5h0&bxFM}@VY(S7#z_|%jph4!< zAv4yXwi0MvJ`*VMfs-NHns{CoR&EJBc~SVHcmXL%e#n}55p6{Y86Nn8_!?d=UO8z# zF>ziFIRQ08Mn*;j0X`8C5iv`1QCVqWL2hAbaWudBw$f+2sUPjTjjj z}qVJj!s7(U^$?vUv1=7AO^t_;wK!184#KV#aGU zS^)3H!lndW051z&0IvX9_by+k2w^Bd7r@Ix7r-lm7r-kPDKQDT7Ri7Yz;{9yzL!Di zX6Ul_Mz%I6s|B_I9->5;k+}oB0KSc_n~U`tTN!9nTj>9BMpecKpw5Ok$^;Z>Vf#(U zy7rqaqL!R&j6Xrk+W)b0fvQZY|Hm11A=*I8+7S~_j8fbptT#cc+QnFIGILt8axwk{ zEo%SA4qnvG@V|}m>;D~0Y@GEBHvj)K*fE+h@-WFUsDoNC|En0-Ij1u;{jUPcm@{-S z$uogO82(p-T2242F|1+`W@6`T1&~=)VZV zHAY#`Fb<^V1dR>QY;fcaxq~C11@ZsBFGvxn2uqo#MGZYOtfeE&r-u!EY> zVDErrTp8Jz5F&C6X$-3v7DLlI==>9-{|yXB7?(pv%KyCpC%1ZrIgHB~l)#e#pw=pM zdJ|kXg1ewhp#AXdY|{AVZW{@VPlBUp3Bymuwa}yvv3m)_HO94cO6oC`B=!Go3|ASK zLX$eg?QIM*8JB{Rx;V*6y$WYa|G`kr;08_Upa@g=zk;C?ECNdDAQ9dFAT6F8l(U}$G}z@Ww%{I3a`%0cSQ|NmfUWo(6}a*&A5{~rt|8GE6r93;ZU@QYy~ z;}mEre+^FMQy6YA_A{|_f>Jq1jWPo}qYhXXD3ybPfcO7hhM$ZR38ivnj8uM`;V0N= zP$~x*&G3IWqwD|s&{Pf*5n<$Fn8Y{@n#x~5Q#nk=m2nz0m4ig&nB*8%F-1dCIrsz^ zqk)_c(q)Wc_{p3KN#@YWs2GN8%&DMc4(Z|2v_xm5D4jFfFv6A&J0puOkn5)i-bT=?a>9PVVVI+=nM-WMLMGuD5*0h zFtjtxfE4MBR*=LFj(Ky&4GgW!wvfaQ7SUncz;Ke;6_VJ&B3w+H7#1@7KoUE{Vo+jd z^kKNc><&rnU^U8&`x$k>x}rg@0Tt z2~?&t7BjjsPKTs+ux%nthZrU?`$1AW*r%YO5m2arWL%m3AgLX!7BsEP3EHj=p4DSy z0L|tN{46_Yxaq$ZLsq53c;I7!AWN>r#n?crzrnlPK+C7uRgFN~qLf)hKx=`- zVLUk|&>70$h4LV2cF=$q<7~gy2)Ph4M}U67HHS5QumlT}Q}ImeERla)t^m6eB; zON^Tn#AdO}byl)a z0*4Oh6mD<`v4Lh?!Hd~J6BXcaFgF9u27r3ipxZKh*|-?fnFP65IWidqoZOnytnG5T zebvp3mH2rXnb;T^`30G|q@*O>HLa4}HPk&*?L6WX*`+yn+1NP+RMUgFxR^P)*tuB$ zeBfYrHi)eC@vMn4X5;2$5#SRyRcGg9;Z`#j5){-AOf$DFi??*L<`v*jR_EvAVC4rL z@2>p+Gh;K8GlMDU#B)&h39_^jJTPQzB*qTja0%}5gW{Q447_sR40OPb2x#diI~$w2 zFeu_hMZ`|Ab1`ygdFq(NShFzla?m^K!8Ja9D;JS|&NL+Hi1kvsp8WNwTtYNpJ~EvHsi4$S(t0n9QiB&E&<- zF^AFH$V<&JoPn7^@BeJ3ex_FpybRKySq_lX5nGy#mDG?nIFl1EwOkxbjP8)m2zbgzSxH?TG@7N(&Sq`|K0g?=O9Yf(#oV|=m@S1xM1(Dw zMY&j+%_VJ=lx!p{m{~bRS6GaYCM7qSmUT}c$O z+6?4-CD8gO@Kzu-bv03T5oR${a}#Co81-s4E=Ep9HYOQE5oXYC0VW|O@K6ky_07H5%QWad(|(?|&copCRqp<|(` z%r42nDaNjDrWVA-<<82&Dki|f$tr9q%)`QFXu-|M{FH@*RanPTP1{qSnavWEg;^yf zS=ks_xLKKa*@Z#pDY3IEX>+k2V`JeE*0b03Nn~aB;b3oPHrLlP5M$vy$Hf@W!n%!v zS<6&Lhk=Db`Tu6d2Tao$cp3Z|5*P}>VF(&dRD=}C>fqH>rl#Pf!=QnDP`H7%(ilNb zA%kvr0*i{UiGr3FfOZ;z!xB8(qHbgcQVC5ga!kx%1EI6?qHJu+$>6=~CZJ-OmoJ!! znT6L<+sIqXD9Tn?mxY;?ky%uXlS4{Hii3rfiJ6%Zv`Rsmjg^CgMafWvnL9#NPtrh1 zP+vt_Q%jtUjhCH~ot1-;g_qkGv<;qPG)Tud+L8wpsBOx!-0aMp z+?>ozjLgjJCf5IIWaL2CC~&f~vj}o9vKnZ~mq{2Xh}l{i+A8ueZsBEN;{b2Zq#>T;KBpsKVu_M2@fhdKx<hK1$%tb!?(6>>S*T@yzTzy#LPe3Mi_{imM3<2=J;J z8!5>;$txHNfr@%2Mov}^CKeucJ|*FLaW2qCT6P5|Au$DZCLR_RF7UoWW;QNvCUzMf zUP&H71pzKTMkXd{Rgh8Avf{!Ls%jJ2nAv1lS$IXKv9j^7u`8%DF4Hw&XXavOV`XCG zVqxXh)?gQ9XBCuW7vPo?5jK~SG!f$9W0nwP;pJo(l;Yu+7h~rVVigx;WMbsz)r&V$ zP-AE2U}pneal^vE%pmgr1LIq!84R`z-VBkDwi0MY2|O4M_A7i&9lTEs6tLi73{V>Y z6nxN@5FZmGXtK`C7}`!!Md2~ZIVPLwI4i5!t0|huXx(KpzvvP1Vv6*@Nd&tJl!^OCTjgyImkNaONn70bT6EKLhHgYl$71uYG z(=rmXFlFQ5mM|0L;A3XzHw-dXG1F2J64Nx*G_kX@=I7+*b8wSp*NXu}tU18&8VPR%sX6*&sXc7+KlaxtQ6NWp}gi^RS)a;AaTZhMJhj@JkD@v$Jxu$?DivMj6Dr^DuIV@^A@B3-L-z zu(R_hi%OelNii@p2><`hc%P{kmUY3S+@NF#E(IZe1m#eqvapme7JNq5Q$;$kuikaVZS%O~$*qsGT4!6hmr=UN&rsjAM; z%EidY&Bds|%E`zm$o=m+h|j|bqnoP`$!i;Pz?1D`0OrUjgOtOsZEbIbI9w44DGq_s##B_>jD}yIPEoc?4 z7-;_nxa94Qr!NOAy`Xkf2{5``#a6E8#!>~!5ff}wE*DbHI&%c z7}LB;-9Y>DnVFfyq!a~sxus+T#N@!`C(mT-T<)i&r(vcII!BflRQN;kB8#HF zq`H=ZSZTjudca9JH5N#AWCk7H$*Q38*tf|3Uj{7Lov;P_K4k?+jR4xm&cO8l+yD2> zu1u2{co{ljIT2Q>gYzD!n+#gD39bQ9LjfAnu!Ae1OA_RmLAg&3bgPZAk-3SPnF;6& z8Av^C1@2CRQzEFW6k!tqpD6;WYgs_~ky!&$`ZaT!O0a0!dwDr%gHCW`WkJ-F(xSpb zB2wT$la*p-;b1e@VUZSMl~s{ZlIG-MWzlsG2yoG5Vc}=vWMpJy)DRSuk>TYM7Uq!M^r1cP?#LC9b!NQ>}uU0!d z$W)JyiIZi=E9pI59EUjFm+|l+VAg#Z^Rs8C+L0GO@Dpv9XIuvbtncl?B=P9Ei2T6Fc;=+>Z>Wo_vp<)k7M@UT& zMrP)?5ZiP+UeHZXDG>p_!s7pwRdgUB1zI`Gz|0`=ALd1Ah6Hp^Ldten`l5lCnLw$C ziIM<#4iA7*IO|_E*+Ie2GznZ{he3Napn}E}HXa2z%m5s#@Tdmm1vYkNF`LWbrsG>ooZVXxvHK|g{qnf zd=#uRQx`)FLpC(pL5&vBb~VtT8fXzbJE$TCWpdDhbMOu`P={6#)Nh4V;CxJ?kO~Xh zivjm+QL{U^>N10OjCOz;h-w-voE&`eQi2lt+{}Ce9H3JL_;^{ExLH^PS=h8i8QGL| z1bFy)m{~xJ1DQcbqp`4P7-))#v1vg{0%ZkpNmca)tel`l>pxjJ_yt%&B_K1qvI--U zo}maMGo!Ewt1ur2D=RmPtggHun*;|J7dr?4=)d=xR|i0B#(jlzn?0~ zkn#ak-!Mghs&yfDRsm@SW^gdgVcG_629`502*cYUptd$6Di72$#}$Yag<%UTCleDZ z7vp?ZZZ__JsVKbd$N{Pk4^UQ=@Jv7oPgW*ac&4I`Xk$62kI)?7WP8Tx?vNtfE4~!h)h8Ic{D?4gn@+7CuQy zUM4ms(BTYB0ycU|LPFp%EeR$jCO#WgNo65^E;cSM7Eu9VVPS|yJ{6FWyzBxn6PcJ9 zg%|~vak4T_VP@lCXJ%q%idrmZ%EiYfCw)tVmz9~FgN>Pm1uVzPD{@_0gO!nkg^P)e zPlyYAb`!fQFDH|rmQWLD%!_FS6El;Lyo$N}GfchrK*n;*i`|4v&ENo?qA&6PHM2X@ zM22#PHc00ibSfEiq!2Zfz-2x-+CVi1@&$G9nnF|rG`a=dkqT)PK-ac`8epImaIm2b z&=4sk{Mi^01E=ilB4SL-3|$Pxg*6P6IYjuywD~yLQECfmaNWW#DGO@Hf|?M*a;ma< z#VTepER4+ZmM;2ICdvwGD!NKq!g4mcavEG5++1wjOuXu{lIpS=R+btb{|xk;RYmRX z6-1brWJI}SWhC@mE%=1kxw#k_c{tZ7=tBwzP~!ns$F5RS7hq=MW@lq%WM&Eq(sk6~ zV`OL54++o~7t@lGR+kY~(~wj!k>_FO))!@GWl>a?lNDDHSG3gEu##tt({fSMbkWo_ zStZHEz{H^Ye*x20rW*{r3`O7&2c3TaYJUofAkBJ!d*YA)f&>}(WH(TY7dr0&I@Ji= zdk38s1S+;c10%+;MTMZIEGR#TfF@5sWfvbaV+jj~6bmb-B(H02qJ>pjtGA%Fy)hRn zGb8AjDK0M1Q6_BaP6k#9uBtj-aYk0=oZP~ov)ni|G`Ls<1Xv_h)TE_Uq*(+7S;PdH znVDFan7Np_*){C~5;$3zxdr(+SpU2g;0Q8|D0lU0NHAmP;$~%HWtFuQVdoX%6cFd* zkQ6Zt&9Qbb@Y9gt#5h1gj*rMaby)Hyb=a`N!3lTfS&(Tr`N zO-XZPBv|V~j4}}yLr!KErEo_nQ%(*Zad}ZO1>FK;PI*pFQ4UrXHW_^>4ipnHqO`39nOQijs%^x%xY#)OI2f2182*1?Uc}VPz{{``y=BU%q^8b{>Pd(% zAVY$Na?Ijlpy5<-Du4tCBs4(50Z|FgWgvB8;DQq|^nj93K;si^;=yG?w86+1JRWkj?!mne86+;65-re20_NW}KNXHgjC_|C~=-^B~WbHRcR851i4%8|yVPvcU(OIora*6`rc(qXy*AxJ$;SgbAjTL8SO--~+{p zxSW`bu^>oVP+gH*L_<-Sjf<%YG`f{r2O@JcksEZ-Mx3TfBnJz-fCM`aD~LYNudTv@ z5>5R4Y8DDli>nh-64(C;^Y&o12?Jj#L8$Ea-?>@R6ma<|d#cK|zBs=4PhgmIXU#(hJ-! zK`D;a5R+k`O}L2ZFg0~G5q8jYAjmApjF`As9Sb`nJBy$s4?8m>6DK<(3o9!#i=d1M zs~8iTn7V|7i3S@p6E_~aFk!i+3zg1X95)`p;S3mLhj zRFy@gI2aj47@3#_nVDo%q=gwTv9cJjFtdRUbYz!T$aiIs!LoQGXX^@1V`pbmg0yr&Gqd0sXmc|o zaY#vT3_4&BGy}~h4xW8xJi*4&$IQ~t!p+Pg#M;Kp$lS=v$Hc zbR;-~GZQ!CJ_bGpDbN+wXx@R27J%ZJ4btO-gklIQCo>lp<08<(ddG!jWQ0YerA49i zb2b(h5kWQq|Mp+n(fr-J0p`VF`F^7SV0el7*D7C=5k&rrm_#;bvic#m&aU`cI6DmC+AsJ(nz!Ll_xM|Nmk9&3KhTih)6x z71SPPV`qg9qnWFksi~`i%WhA`PF@)y{(reFEG(=7{EXpDj7+291Lr;1%Rx{b$L|#mpJV$-=J8 zHj9y&aTdEWC+8M6MRpb;)-8b2rm5>65U7m$yH5V@j2kU-TMo{8rImOEz3{PSI z|1%gd)G;1noXVumWy!$szlwp4%aQ?ftez1g3*#ZiItCR622gVnJR1Q?Z{Vd>;8rl0 z1)5T243yFn6VVitRF`08;}ufWk&@CD7Eu!sRFD*8Vi6Ek(qLo};RaRroUB|*N)jU6 zJi@|~!dzVZD)J(r{f!LTOlpjEpv#1yK?B>>4@wlEV|Ez7v2gJHOMxE?AR?~K$@*Og z6v85$tp6@Uicteb8OEbb(a_ztrY7dX#=>GCSF5Y5f!Cc_vam8AWj@Bj%+4*zI)#Oq zc@moxqYOI>8w;b>ziVv#-0W9aSub;Pfh&FKU`dnX`h~(x^956rj>yN3p+EP zww(@0z~4l}+CYMxolnbN#=usJjg?izz+7IzOi|O3ae{)0yr!dyft3^+8;gj61&>jn zo?(=gvW*%W3#*ik4uq>>tH#YIX{YO3_=XbpbCT)oaaE%30iLe_6gM4pnjv67(2>JE=G6%25SA zQCSIe46dmODAAajfD#8JRKat7pwy`Z9%*8WXJ=(%5fS3#;$s&uR}EleW;71aGm0#6 zvdIrO*7Y}L=446GH0NjM*qXRR8~G7GdgTVq<*>+B*LK=l|7=mza7PB0#MuJtk!>W>7vcG%+(XH#Y^}UIH49 zFfua+jl@C68X(aM8X|^tRK7uLztb5TSbnIgOQP)jnmLoot+DOzS}IuH%yxu&;t8;*k%4L>P(-Ibzm*C{(2OST~#3-R4 zAt?6mF|Rm3r>VQAjB-qJlrt|kyC}PWTd*5Hud1xJg;ZFA1_wKz5Sx6ltB|IQpdc%Y zs)>}54yOngo0g#pk1!XXm=d?9p$?ydmXrWH7awQ_14+{M;hW!Xe96LQ9mLnMuASgN;vs%fB_*T*e|)S=myFUr5wa zUdvKe-I32I%Em6kj)$9>mA$ZEjERk%ozSNGhEV_)x8B>@(FtKx`KsOO6Fqt!kGo>)FbNMnbFnNG_S4^UeDNJjb*ttOWyMZD%~Okr37(e*EafssMs|9i%81{u&M2Jos2c*{bIg^i7iQI3U`i(8P3nMH<+nG1B~ zjqd-mj42GM5HrChsQ>@OEXC9hDiei4Lj|BA1kmy9ppipR!3N6LpaiD|84NNu0x2?s zj0b_wy?`V+c4hDZgrH=q3|_KrW@fIYrVPp+pv94(ewMkJS-iN4sEjg?poF{(D+?nt zH@CKpoUECzfpL(PysDJ~pCE^fyo3O+vW%#z7zZmO6TbitsQlzN*GypHWH$EKH4e|W zaVm*4(hD$VWM&IcH5UMtpF$#_?ruNmgnbraMGl38Vtd^vFI}^UEMwE;0C8?jK5j-v zRxWmKHBBWBP9Yv?X+}mKCaI7dJGm9fGPt}Jpo#Uz+wnV ztdMF16da%ihq$=89h0~c8#_Cw_5g8AP1Kkn#U*6eTuq%x!NgA|-a~|+OHNYLURm2h zhSAcHk5|o3jz>tsSec)fiA$K7SyrBdUs;KViA#uGT#biC&D2OqP~KimR9%RLgO#0C z%SKwwP)m}RO~Jxh#L!EXlSk59n@3b%hu0;6S4LV%NluSLN{T65)j`ugU6E6OTR}%o z*+fR&QcBH2h?P&%R$E9|($R#2O@xV&gNdC5bRP!jVlqZ1VJ>D3b2AkQJ#%($CT3Q4 zPI)OwV+~O@B^y;oEp<*|HD7&R4k2>~Sv`k;yV!Uw<&-Q{r9~7}L5ECf{Qu1?&eY40 z3_4H}xf}x}J~k0?5o4GjXp|ci%-~W16msyDZJ@vco&E?a3_*1gc(o*GBnA@tpm9vt z>KRvQbyZ1m1!eFG4OLA>78X_`4|PQgdrf9mW@bh;@WM%i8bwttB~{QGHw76nw@h>M zbaxRMd1=tJgRF*{q5xAb6EkG|keOXYq2^~TH|PXzCf3?NwF)YbK_`d;&|*pDe>U(H zFQ9|wz-ut%K+BI5*x7j4SQ(fY3>n0kWSBxAT?)|93G$c(Xa)wH;=nUkun}$}Q&93k z?d33&F1YyivM}=tLAn$yTp~P>E(HrW=Ra!@7qlewGAlbPyF4@NYEC{#pMsr* zTZZKnA6GCtD~m8ch{wRlK;9*1|Nk>UFF9jk<8%g}OQVarXNG~1A?4qFh6PNA89)bO zDuFK40=2)yL)5w6jde|K=nFkU^1W88%amjnY7gX#ZujK7&g7G4Ze62bd}*Dh9#gx%3#lYn(-imI+r2n zidv8ghWCt#5SqakOmi_Ng0F}51rK`kv&1pxfYdWZfeyyyG6a`5MhyLIn~=oSK;jJS zT!t*`K%E)}T}E}r6s7=Btbn%h!iR=oLpY$ZOyoisG%&o6nTxp`)V9iJW|C!Q;byJ? zHL-G-Wf|33St^)8O)VzoL~eFw)*Kd4n~SNK3sku4GL|x?F!6%dlQ4iRGl93%Amfa% z9R%jAtgv?5zZVEL<3nC%76~3^F5w&=W)?|aW-cMn0ilfMj2TQ};FGq%%iKXn4}q3( ztE-tohxyn|nOWJm9y2jA-3RTqVr6EObt5uQH5dkopx#Ka-9AB;Z#UT_NWa5Bm!|> z!2&vjkfnl&kC{t=HI9*yF`h+|g$ZbVBunIWNc*TWo8rQ2xjx=6lXld z!Mb@fI~zM!RvI@K11p0OBM0LJriBc`42lef4ECU{EZ|5pGKG|jq9O*Mc@4+_D996_ zzLz>;{Q_vdRSZ-EfrkDe^)tF`Dd;8-9#&osW;VuuUs$-=wKT-EWi>TKHO2XaIJkuQ zc!jvRM89fjibF&tK%zo?Ji^>uB8(g?%#4hTZEP&8%#4ixs@Rw}I%`T9DLSgjm?-hd zXbOw!DM+gciyA0x#~}_rH_e-I0@GB`L=DKLg5XZ9GUQ-GX7G%cIC#cbRD=yQH3k~C zyTHOOq@gd*!pX?a&LXC*p~BC~!otSRucDzX#>&RQEN`YG$Sb&&i-l>8pn@Df6C)S9 z0E?)Op0O+!GmosXo{lJs06Pa0Baeczz~3}ZK28Qk2EG3|Ouv})K!=Kpvw@p;=8T}3 zWl;AI)W|cpV*+(YL`B&7n8AzAK#oaZmk?%VWb&7=u#snG7UgsdbC3sJQUkirg`Equ zor8s$SAdPNmz|M|4RlAAKO-AIFB3Bp2Nw%yc?TmaD>H|Lfw{W@rzo4ejRkm!l%arm z8{-X7c&I9wnwWrQ%HiXdAQyq+85|^_P5|h705+!cTp+&){*~ll<>2RFx+jxL7#&IR&*1CHXknSiwQa&c?#R3JyXRc5ry4F@0b%0)>aL z8aP{sGlC{`LAHYi0L0~(M4;gS$}Qj>X2zz(`jd%)LtL1N>F-8K3mZ9KF@t;MpdmClCUHR%vkR<(yn;Gr^2{7q z{Kn46$s(_>A;iu!m4l!2Zrc=aulu4a~iHnVymFe$B zc0N8v7I+F_V?m@4Ia_lH@VGWSg@DdU6#-4BgGRJL*Ow@Q7V5x51=K7D-|fjL2}vPL z&pB8*_&EP+3o1fV2!^j2Z?H2mGNB|9UM^@ZV`pP!VF4!*R?y*02LIETK0}fSs~EUf zpw0+ha0Rj-w6;TCj|nntBo1Ej4$3=B>`bqT^l1i>nF|~udEh+b!@z)aP^cN~q)^b^ zo$QL(^A4z_f#fkz$bn7~m4GD$c2;P>g2tBcFfexhp@6FiHG!@iB zgtwxUKxG>^UQI!bDg+l)or7BtpsEX0REVOtu+FovgR(v&6R3p+whF-o7h9MOE~smv zMGL6)#rOo8@da2!G_-W3!r@$SO^ewU3zO2-(hxzk&Hm{@+Ga>m#|Sz=lNr3)1YG~K zf&2(Azm>sFAvhP&WMYQQT!1`mtOw#SU4#`@u&9HV-r8;uvG{yIPO?jSkY<%sB2+y$266b z^`8thw)k05A`jYNfJGjnB7j65g3ow~lb-`xH)k>4U@*s*?-apjC5y4Mi-NXWvazYF zLmD!8av9^h>Fk`$Tx?vetz2we%$)3V{)t0cHTd$>1a=lCc4@8}mIf{<4ki}%8K5>W zFKB{I9h!q|!DAz)f}p8aTvIu7DagUe%fcbZ3F)PjaEowa?W3@t=mgOinoQ-J+% z4I*QJ`U*Cnum$xM%*@O|3Ez&%SP``Q05nt$^yuNf}G&mNJw26Yx@Q%t=oe4riu!J zT!|}ji;006^B^~i3PP4gn3w819CN}s$hdGEaGEQRs^LJ(5wllt^n~tE(JA! z!I>0Z!+;tqTw>fzn?Rw;&H2{>63znbOqZY{@!Voupm2t|4pua=@gMhOgq`GqkB@J-B1?kj6D>(2l3dqUeP6Na@V5XRuI9wRy6%kPp zL?%S5)Y-V%nC7u^a`18ejT94SdIqWIw0Xt2n07&gOIUeW8DaSmttreU%EiXYA;7IH z0j}A2Wd*@pE)i}}wS(#fSg{YPuwdoBnmIJJg9bMgAqgMMR8vz2C3+YeGI!6sqKMdRc|$olLwP8v zqa!b`qw`D7NDd+(XC$W#7Lu3OVPIr1_^-fJ&9s?8nSnu7j9m=0T!oDdoZ!sWz?~j3 zaXA*I5_V>0b}k)rYg1u91z`y%Z+96kMka1qcTXn?VFf;6Q)>&IUpy?VJi_i#NwF$2 zY_h6pg}FNXoE-c*xrJ$}vTQOcu}M+x3`|HCf{JmRRTsfH0XGgBv)YkYZ+6R|4&P2fNf*3FOj`GA<6{pxflRq#T@Ns>Mu=G&q?+cbapm z8<~hXFtTYnYX~c-X$rA1GO{gQ$~McQvCf!-mz6`nxW3uKxF9oFl$DE#jYl*%qrgau zH)=v8C##`HXs8M=_rFd5HiJeSjsE{;ie>5rjgW$xXC{yl0#HU11h4f~QugN+04+k~ z<7a%!$1lLE&7~>J%FZTh8(O!sMUabI@b6kNUeE*y+#r2OJ%z<6RU|I1Xv zv>vo3R$NJ4SqYKcz(bpCN^DAO8SE_5ylgzO9^TI4;B;nXuFb{4t;FS>Rg&Sx%qTAH zuwdDAGaXJ%(~b#knbN{Sj7*H+{I19JgsBQ-wy=r0sfih=$p*SWfrTA3N~>m~W};?< zT{n{>#7-Gcgq>R4>|9Vg!4Ch)RKv6iY`Bpa2pSt9XB;zQW3vo4w~Uf3Z!RTn4lZqT zD{!_EclP#>z$iyfpBAwYbp~F;zQ`>C%vIP#(;vkpnG3YYghqzo-gdIFm z$*itsW)8ZBP)t-r3FS(v4<7|6H<^vZeGM5=;n4Trl5^7 zpv)&ChCd2Sha~tYUv}3JLxb<^ipYF=Bwl59sDaTrngr z#{ya$WM*ohuBya_Bfij0ClG%y2XioTToeEY2`n-}E&)X*Xf+6Wbc(aFiGs@^&_QT= z%=ly1kyqd%2NQc#qIFzm0}qPttZas$Q_PHw?3kJEV^2!x<}*3MQY05Uw-zErddh%PB-qW2 z91u4%Ffs7|Z)Tp$SkKVQFazAvhjx6xix=RVT0x5w)Ip6FkYhme1~XGTFQv%TB=EDNs4i^aIpyJ$up|EXmW6{u&{$R6)=O=cxlTE39+;B^6<$C^GNat z>1)e?w!A4S3G!Dwzva)_(llM>()=2S3YU}up3|BXeMDS=@#!(E0S zj6#g2OeRdu;5brKR|6f)18OLOk}2rKBy}~!N;6QXgWAZTm5QJtRmg5(b|p|Z5V8^q zG(TVlnwo&eiMbJI{ST;33TnWK8G}}cf};u|BnsN9EG7zWg0QoJcFrN953=bVGW7+L zQv%rm*`x@HT~#A9Qxg+)a54a`XfXkE!SyUi8ngyR1Z*cOc$+@h@g^YeK%EUrSfKUH zpoLuOYOqCFpfyUOB4Qv3Gc$7&@OElYngy3UPj!Y33j{sM7>;56D_$ zu=haY4-hlK-Uf}XfV+U;HGtqy2CXSIhD99Mt=C^@&bnh51*KTFe?`ecwUZ$ zRa8QWk5`K;Njz7_gc2A>!g zw-_&nm<*qc022!%3k!!3Cx;Lx8#ic4Jf8@UpcpSRCo4ZYD>pl@tbzcyxD+3c01u}i z2RjEFBQpy-wY9Pm&XKG$kt+D+@Q9 zh?J<9AUii3D>nxdXv4EKBO5ad8w(4c5GxzczxP~PdI}1B0{W_4T%6(}ES#*|65MQD ztgPIuOl(ZdTDx>E4Q#SCktrzH#?^&BO40~8>1v2 zAFnSP6EhDd_z*!RW=>XaHV%G9HVzh6J~3e~js|A1D;SwsSlOA_nOWGFm{_PSy(w)xP&-)WI(Bc6?DWA=&S?|P#YH%&Wvo#Ow1hIEd11tQ@?o>@2K| z+>GpOtUT-jA_7dHW$jFCysTV8AY0h@*df6Mx+|28nUhn5pM!^kQ$>)4la&)xDROWM zaxyZqGe)uV3UTvs2uKRBvoo+W=>Gr2c#dfXLm$HehBb^SjMa>j7#D$S4|OF_fdHz~ zA*CN^yC}FMF$Ikpnwf&C6Nn6?5ChfskWw06I6)*Jbq2g}5;p+V^58NGR;G!9?&ks( zJ&-~PR8E0*PJ*iu5C>X(gNs!*&|+_9@Hzxg0VygX4yrgH^$_HYKQ%STVWptL544W~ zT+b-6v4e_NaKi*#!I^?87?2dW1O=79=HUJ^sA>Wix^NeOf&g@yC#VhuX#jiL#MA^- zOM#sPQwj0CxCpx6VDg~)#M}&0%&QxjLk3O2rb6m4kUCJM0NTj{I`j)<5Y$W~kYzCU ziHa~f@k;Wsb1?IYa7r7=bF#8>Fmkd8%k#5>5*rf}GYccLh%hTR3kNp~HybEF)^{SGP5y*ZhGZsV`b(M;$~)IW&tHk(1vf2E_O~$p?eQ`r2B_pFY4$x`M0-V?QSUK2PK}QdQ$^g&;SmaX#l_1g%?}#+UjvN16-Gcq%CFe(aha&oc>O7e<`^NDhC z3fXb6v#@ZmgAT9|jqCn_q+!NtkWCBVliEW^#r$;!gP!p0)0#LdRR z!pzFV%FPB^jmyK%A;c{u#wE-tX`m_2E6m9*z{SA?9-3fgVq+2z=4I#R6&4ZX5#eU% zW)U_O;S%QMUMph1XP|d|5&&R{h&Bnzo$H~Lb&c!dp$;`sU$IZ&Y z!pY4h#3jJS&Lhdi&B?|AS{V2L8;c@S0uvi&00RR9D}x4u1XCMR8G|r`I)ev8BtRyDJ7-pXvtgj!EYj2+$qOTv4XK$Y1p{ePSU}l!!p{d~!Z?B{)CS|OuV#CkE z%4evJ#N(9F5SGvvWMN?zHjq=%F<}%?(KgYL)DdK2Vqq51lRy{>FK@=iixp<4rd3ILZFft+-3!p%%E@wDFTHuq$CzMGBX5k3j-D4 za!lsn5QaD1Aw?Bv-3+*(MJt9y4M4|Uii1vT0k81^ErNnHvcWsR4Z#gtkdwtgu?s7l zq45V=jsk9FgBsT$%R%lE7X$T*!3&2#?gp2#c1)0BmJw_m$VFhcC@X>bB;rP!*pOUrY65E8L9z~{uL@QG%4KY9>>`L9 z2@;lLF$5JE&`bmBw?dg9^WcRohyyA$KxG7|6bI#6IVN=_(9{XIh*C2%Hj`r#6=Oqc z$bt64fP7)YWNu~#@)EpB#KtZHx)Bv*6Kt>&BnKK0gPbS>Ya~I63XmF*m%+pGYRZtZ z1F?`y-NXzuLISBMK+QIgxgZyV+kBA59UI8^pt1rIfbb#)S_O$Qc5^99@d|?)Vk}G? zd|b@z!kn@yd>n#Y0y4rP`bvz99PDhMrVkSnq)o=bEC@Q5gh`B%m7R@Ih=Z4v4bmUt zWCfiP&Bg*w$lz8F3#g*u-~^ps&ddyI3otV=u`n@$&Z7eN+c@~ySU3dK%nSr|1=&SG zWrc*1qKb);C?A(FHg9r3caXjts1e7(#>&Pn%*e>X#LU9N&dbd% z!~!~(pBr>!GpJ+3%*e&ZDay~pDk{Szz{m-5IXfQ8={mT}bAg&+EZ_zs=-hWECPjT?5m5h`pH*6hhl@>sgH^}cLQOzJ zm<80kXJP^E5M^U$X667DBrJj=JYw1$Y+NiHd|U#8Z1UWUOw6oYoNUaHVq~(I45y$t zJ3BWUiy)({jy5kRpQivfk0b}1h&UIA0t>e&8>c8QyPPbmgsLPfE59HcAEzWYmmm*l zwW*AmEDIAm3yXw|BpW+FXm<~XFfW@h7nd*xE2oT_fDEsqk}x+rD;tZIguEE1po}=^ zrea}1F�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 { - if (request.action === "saveApiKey") { - saveApiKey(request.apiKey) - .then(() => { - if (sendResponse) sendResponse({ success: true }); - }) - .catch((err) => { - console.error("Error saving API key:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } else if (request.action === "getCurrentImage") { - sendCurrentImage(sendResponse); - return true; - } else if (request.action === "forceRefresh") { - fetchTrmnlImage(true) - .then((result) => { - if (sendResponse) sendResponse({ success: !!result }); - }) - .catch((err) => { - console.error("Error during forced refresh:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } else if (request.action === "logout") { - performLogout() - .then(() => { - if (sendResponse) sendResponse({ success: true }); - }) - .catch((err) => { - console.error("Error during logout:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } else if (request.action === "refreshDevices") { - fetchAndStoreDevices() - .then(() => { - if (sendResponse) sendResponse({ success: true }); - }) - .catch((err) => { - console.error("Error refreshing devices:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } else if (request.action === "startLogin") { - startLoginFlow() - .then(() => { - if (sendResponse) sendResponse({ success: true }); - }) - .catch((err) => { - console.error("Error starting login flow:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } else if (request.action === "loginSuccess") { - handleLoginSuccess() - .then(() => { - if (sendResponse) sendResponse({ success: true }); - }) - .catch((err) => { - console.error("Error handling login success:", err); - if (sendResponse) sendResponse({ success: false, error: err.message }); - }); - return true; - } - return false; -}); - -browser.storage.onChanged.addListener((changes, namespace) => { +chrome.storage.onChanged.addListener((changes, namespace) => { if (changes.environment) { console.log("Environment changed:", { oldValue: changes.environment.oldValue, @@ -84,7 +16,7 @@ const HOSTS = { }; const getBaseUrl = async () => { - const { environment } = await browser.storage.local.get("environment"); + const { environment } = await chrome.storage.local.get("environment"); return HOSTS[environment] || HOSTS.production; }; @@ -111,7 +43,7 @@ async function fetchAndStoreDevices() { try { // First check if we already have stored devices const { devices: storedDevices } = - await browser.storage.local.get("devices"); + await chrome.storage.local.get("devices"); const devicesUrl = await getDevicesUrl(); const response = await fetch(devicesUrl); @@ -123,7 +55,7 @@ async function fetchAndStoreDevices() { ) { const loginUrl = await getLoginUrl(); // Open login page in a new tab - browser.tabs.create({ url: loginUrl }); + chrome.tabs.create({ url: loginUrl }); return storedDevices || null; } @@ -139,13 +71,12 @@ async function fetchAndStoreDevices() { const devices = await response.json(); // Always save the newly fetched devices - await browser.storage.local.set({ devices }); + await chrome.storage.local.set({ devices }); // If no device is selected, select the first one - const { selectedDevice } = - await browser.storage.local.get("selectedDevice"); + const { selectedDevice } = await chrome.storage.local.get("selectedDevice"); if (!selectedDevice && devices.length > 0) { - await browser.storage.local.set({ selectedDevice: devices[0] }); + await chrome.storage.local.set({ selectedDevice: devices[0] }); } return devices; @@ -153,7 +84,7 @@ async function fetchAndStoreDevices() { console.error("Error fetching devices:", error); // Return stored devices if available const { devices: storedDevices } = - await browser.storage.local.get("devices"); + await chrome.storage.local.get("devices"); return storedDevices || null; } } @@ -163,7 +94,7 @@ async function getFirstDeviceApiKey() { try { // First check if we already have stored devices const { devices: storedDevices } = - await browser.storage.local.get("devices"); + await chrome.storage.local.get("devices"); const devicesUrl = await getDevicesUrl(); const response = await fetch(devicesUrl); @@ -174,7 +105,7 @@ async function getFirstDeviceApiKey() { (!storedDevices || storedDevices.length === 0) ) { const loginUrl = await getLoginUrl(); - browser.tabs.create({ url: loginUrl }); + chrome.tabs.create({ url: loginUrl }); return null; } @@ -182,7 +113,7 @@ async function getFirstDeviceApiKey() { // If we have stored devices, use them instead of failing if (storedDevices && storedDevices.length > 0) { console.log("Using stored devices due to fetch error"); - await browser.storage.local.set({ + await chrome.storage.local.set({ selectedDevice: storedDevices[0], environment: "production", }); @@ -194,7 +125,7 @@ async function getFirstDeviceApiKey() { const devices = await response.json(); if (devices && devices.length > 0) { // Store the devices - await browser.storage.local.set({ + await chrome.storage.local.set({ devices, selectedDevice: devices[0], environment: "production", @@ -212,7 +143,7 @@ async function getFirstDeviceApiKey() { console.error("Error fetching devices:", error); // Check for stored devices const { devices: storedDevices } = - await browser.storage.local.get("devices"); + await chrome.storage.local.get("devices"); if (storedDevices && storedDevices.length > 0) { return storedDevices[0].api_key; } @@ -222,7 +153,7 @@ async function getFirstDeviceApiKey() { // Send the current image to the requester async function sendCurrentImage(sendResponse) { - const storage = await browser.storage.local.get([ + const storage = await chrome.storage.local.get([ "currentImage", "lastFetch", "refreshRate", @@ -231,41 +162,36 @@ async function sendCurrentImage(sendResponse) { } // Initialize when extension is installed or updated -browser.runtime.onInstalled.addListener(async () => { +chrome.runtime.onInstalled.addListener(async () => { console.log("TRMNL New Tab Display extension installed"); - // Set default environment - await browser.storage.local.set({ environment: "production" }); + // Set default environment and get devices + await chrome.storage.local.set({ environment: "production" }); API_URL = await getApiUrl(); - // Check if user is already authenticated - const isAuthenticated = await checkAuthentication(); - - if (isAuthenticated) { - console.log("User is already authenticated, fetching devices"); - const devices = await fetchAndStoreDevices(); + const devices = await fetchAndStoreDevices(); - if (devices && devices.length > 0) { - // Set the first device and its API key - await browser.storage.local.set({ - selectedDevice: devices[0], - lastFetch: 0, - nextFetch: 0, - refreshRate: DEFAULT_REFRESH_RATE, - retryCount: 0, - retryAfter: null, - }); + if (devices && devices.length > 0) { + // Set the first device and its API key + await chrome.storage.local.set({ + selectedDevice: devices[0], + lastFetch: 0, + nextFetch: 0, + refreshRate: DEFAULT_REFRESH_RATE, + retryCount: 0, + retryAfter: null, + }); - // Start the initial image fetch - fetchTrmnlImage(); - } - } else { - console.log("User not authenticated, will need to login"); + // Attempt to fetch an image with the device's API key + fetchTrmnlImage(); } + + // Set up alarm for periodic image fetching + setupRefreshAlarm(DEFAULT_REFRESH_RATE); }); // Listen for alarms to trigger image refresh -browser.alarms.onAlarm.addListener((alarm) => { +chrome.alarms.onAlarm.addListener((alarm) => { if (alarm.name === "refreshTrmnlImage") { fetchTrmnlImage(); } else if (alarm.name === "retryTrmnlImage") { @@ -275,7 +201,7 @@ browser.alarms.onAlarm.addListener((alarm) => { }); // Listen for messages from popup or new tab page -browser.runtime.onMessage.addListener((request, sender, sendResponse) => { +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { if (request.action === "saveApiKey") { saveApiKey(request.apiKey) .then(() => { @@ -325,7 +251,7 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => { // Save API key and immediately fetch an image async function saveApiKey(apiKey) { - await browser.storage.local.set({ + await chrome.storage.local.set({ apiKey, // Reset any retry information when changing API key retryCount: 0, @@ -340,10 +266,10 @@ async function saveApiKey(apiKey) { // Set up the refresh alarm function setupRefreshAlarm(seconds) { // Clear any existing alarm - browser.alarms.clear("refreshTrmnlImage"); + chrome.alarms.clear("refreshTrmnlImage"); // Create new alarm - browser.alarms.create("refreshTrmnlImage", { + chrome.alarms.create("refreshTrmnlImage", { periodInMinutes: seconds / 60, // Convert seconds to minutes }); @@ -351,156 +277,62 @@ function setupRefreshAlarm(seconds) { } // Handle storage limits for data URLs -// Firefox storage also has limits +// Chrome storage has limits, so we need to be careful with large data URLs async function checkStorageUsage() { - // Get current storage usage - Firefox has different API for this - // This is a simplification - const storageUsage = 0; // Replace with actual implementation if needed - const storageLimit = 5242880; // 5MB default for Firefox + // Firefox does not support this method + if (chrome?.storage?.local?.getBytesInUse) { + // Get current storage usage + const storageUsage = await chrome.storage.local.getBytesInUse(null); + const storageLimit = chrome.storage.local.QUOTA_BYTES || 10485760; // 10MB default - const percentUsed = (storageUsage / storageLimit) * 100; - console.log( - `Storage usage: ${(storageUsage / 1024 / 1024).toFixed(2)}MB / ${(storageLimit / 1024 / 1024).toFixed(2)}MB (${percentUsed.toFixed(2)}%)`, - ); + const percentUsed = (storageUsage / storageLimit) * 100; + console.log( + `Storage usage: ${(storageUsage / 1024 / 1024).toFixed(2)}MB / ${(storageLimit / 1024 / 1024).toFixed(2)}MB (${percentUsed.toFixed(2)}%)`, + ); - // If we're using more than 80% of our quota, we might want to clean up old images - return percentUsed > 80; + // If we're using more than 80% of our quota, we might want to clean up old images + return percentUsed > 80; + } + return false; // Assume no storage limits if method is not available } let fetchInProgress = false; -// Start the login flow by opening the login page -async function startLoginFlow() { - console.log("Starting login flow"); - const loginUrl = await getLoginUrl(); - - // Open login page in a new tab - await browser.tabs.create({ - url: loginUrl, - active: true - }); - - console.log("Login page opened:", loginUrl); -} - -// Handle successful login - fetch devices and setup extension -async function handleLoginSuccess() { - console.log("Handling successful login"); - - try { - // Fetch devices from the API - const devices = await fetchAndStoreDevices(); - - if (devices && devices.length > 0) { - console.log("Login successful - devices fetched:", devices.length); - - // Set up the extension with the first device - await browser.storage.local.set({ - selectedDevice: devices[0], - apiKey: devices[0].api_key, - lastFetch: 0, - nextFetch: 0, - refreshRate: DEFAULT_REFRESH_RATE, - retryCount: 0, - retryAfter: null, - }); - - // Start fetching images - setTimeout(() => { - fetchTrmnlImage(true); - }, 1000); - - // Notify all new tab pages that login was successful - const tabs = await browser.tabs.query({}); - for (const tab of tabs) { - if (tab.url && tab.url.includes('newtab.html')) { - browser.tabs.sendMessage(tab.id, { action: "loginSuccess" }).catch(() => { - // Ignore errors for tabs that can't receive messages - }); - } - } - - return true; - } else { - throw new Error("No devices found after login"); - } - } catch (error) { - console.error("Error during login success handling:", error); - throw error; - } -} - -// Check if user is authenticated by trying to fetch devices -async function checkAuthentication() { - try { - const baseUrl = await getBaseUrl(); - const response = await fetch(`${baseUrl}/devices.json`); - - if (response.ok) { - console.log("User is authenticated"); - return true; - } else if (response.status === 401 || response.status === 403) { - console.log("User is not authenticated"); - return false; - } else { - console.warn("Unexpected response status:", response.status); - return false; - } - } catch (error) { - console.error("Error checking authentication:", error); - return false; - } -} - // Fetch an image from the TRMNL API -async function performLogout() { - console.log("Performing logout - clearing all extension data"); - - // Clear all stored data - await browser.storage.local.clear(); - - // Clear any active alarms - const alarms = await browser.alarms.getAll(); - for (const alarm of alarms) { - await browser.alarms.clear(alarm.name); - } - - console.log("Logout completed - all data cleared"); - - // New tab pages will automatically redirect via storage change listener - console.log("New tab pages will be redirected automatically via storage change detection"); -} - async function fetchTrmnlImage(forceRefresh = false) { - // Prevent concurrent requests - if (fetchInProgress && !forceRefresh) { + console.log("Fetching TRMNL image"); + + // Prevent concurrent fetches + if (fetchInProgress) { console.log("Fetch already in progress, skipping"); return null; } fetchInProgress = true; - const currentTime = Date.now(); // Get the current API URL and initialize environment if needed - const environment = await browser.storage.local.get("environment"); + const environment = await chrome.storage.local.get("environment"); if (!environment.environment) { - await browser.storage.local.set({ environment: "production" }); + await chrome.storage.local.set({ environment: "production" }); } API_URL = await getApiUrl(); console.log("Fetching TRMNL image"); - const storage = await browser.storage.local.get([ + const storage = await chrome.storage.local.get([ "selectedDevice", "lastFetch", "refreshRate", "nextFetch", "retryCount", "retryAfter", + "currentImage", ]); const apiKey = storage.selectedDevice?.api_key; + const currentTime = Date.now(); + // If no API key, try to get one from devices first if (!apiKey) { console.log("No API key set, attempting to fetch from devices"); @@ -531,10 +363,10 @@ async function fetchTrmnlImage(forceRefresh = false) { // Handle unauthorized (redirect to login only if we have no devices) if (response.status === 401 || response.status === 403) { - const { devices } = await browser.storage.local.get("devices"); + const { devices } = await chrome.storage.local.get("devices"); if (!devices || devices.length === 0) { const loginUrl = await getLoginUrl(); - browser.tabs.create({ url: loginUrl }); + chrome.tabs.create({ url: loginUrl }); fetchInProgress = false; return null; } else { @@ -563,15 +395,15 @@ async function fetchTrmnlImage(forceRefresh = false) { 3600000, ); - await browser.storage.local.set({ retryCount: retryCount }); + await chrome.storage.local.set({ retryCount: retryCount }); } console.log(`Setting retry after ${retryAfter / 1000} seconds`); const retryTime = currentTime + retryAfter; - await browser.storage.local.set({ retryAfter: retryTime }); + await chrome.storage.local.set({ retryAfter: retryTime }); // Schedule a retry - browser.alarms.create("retryTrmnlImage", { + chrome.alarms.create("retryTrmnlImage", { when: retryTime, }); @@ -581,7 +413,7 @@ async function fetchTrmnlImage(forceRefresh = false) { // Reset retry count on successful requests if (storage.retryCount > 0) { - await browser.storage.local.set({ retryCount: 0, retryAfter: null }); + await chrome.storage.local.set({ retryCount: 0, retryAfter: null }); } if (!response.ok) { @@ -604,7 +436,7 @@ async function fetchTrmnlImage(forceRefresh = false) { // Update just the next fetch time without downloading the image again const nextFetch = currentTime + refreshRate * 1000; - await browser.storage.local.set({ + await chrome.storage.local.set({ refreshRate: refreshRate, nextFetch: nextFetch, lastFetch: currentTime, @@ -633,7 +465,8 @@ async function fetchTrmnlImage(forceRefresh = false) { throw new Error(`Failed to fetch image: ${imageResponse.status}`); } - // Convert the image to a base64 data URL + // Instead of using Blob URLs (which aren't supported in service workers), + // convert the image to a base64 data URL or store the raw data const imageBlob = await imageResponse.blob(); // Create a FileReader to convert the blob to a data URL @@ -658,7 +491,7 @@ async function fetchTrmnlImage(forceRefresh = false) { ); } - await browser.storage.local.set({ + await chrome.storage.local.set({ currentImage: { url: imageDataUrl, originalUrl: data.image_url, @@ -677,7 +510,7 @@ async function fetchTrmnlImage(forceRefresh = false) { // Notify any open tabs that a new image is available try { - browser.runtime.sendMessage({ action: "imageUpdated" }).catch(() => { + chrome.runtime.sendMessage({ action: "imageUpdated" }).catch(() => { // This is normal if no listeners are active console.log("No active listeners for imageUpdated message"); }); @@ -698,12 +531,12 @@ async function fetchTrmnlImage(forceRefresh = false) { const retryDelay = Math.min(60000 * Math.pow(2, retryCount - 1), 3600000); // Max 1 hour const retryTime = currentTime + retryDelay; - await browser.storage.local.set({ + await chrome.storage.local.set({ retryCount: retryCount, retryAfter: retryTime, }); - browser.alarms.create("retryTrmnlImage", { + chrome.alarms.create("retryTrmnlImage", { when: retryTime, }); diff --git a/code/README.md b/code/README.md deleted file mode 100644 index a8053fa..0000000 --- a/code/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# TRMNL Firefox Extension - -A Firefox extension that displays images from TRMNL's API in your new tab page with automatic refresh functionality. **Note**: requires a TRMNL account with a physical device or [BYOD](https://shop.usetrmnl.com/products/byod) license. - -## Features - -- Displays TRMNL images in new tab pages -- Automatic image refresh with configurable intervals -- Device selection for users with multiple TRMNL devices -- Automatic login flow - no manual API key entry required -- Developer tools panel for environment switching -- Offline-friendly caching -- Logout & reset functionality to clear all extension data - -## Installation - -### From Source (Development) - -1. Clone this repository: - ```bash - git clone git@github.com:usetrmnl/trmnl-firefox.git - ``` - -2. Open Firefox and navigate to `about:debugging` - -3. Click "This Firefox" in the left sidebar - -4. Click "Load Temporary Add-on..." and select the `manifest.json` file from the `trmnl-firefox/code` directory - -### Production Installation - -This extension is designed for Firefox and uses Firefox-specific APIs. For production use, the extension would need to be signed by Mozilla and distributed through Firefox Add-ons. - -## Setup - -1. After installation, open a new tab or click the TRMNL extension icon - -2. Click "Login to TRMNL" to open the TRMNL website in a new tab - -3. Complete your login on the TRMNL website - -4. The extension will automatically detect your login and fetch your devices - -5. Your TRMNL device screen will appear in new tabs automatically - -## Usage - -### First Time Setup -1. **Login**: Click "Login to TRMNL" when prompted -2. **Authenticate**: Complete login on the TRMNL website -3. **Automatic Setup**: Extension automatically fetches your devices and API keys - -### Daily Use -- **New Tab**: Open a new tab to see the current TRMNL image -- **Settings**: Click the TRMNL toolbar icon to access device settings and refresh options -- **Device Selection**: Choose between multiple devices if you have them -- **Manual Refresh**: Use the "Refresh Now" button in settings or on the new tab page - -### Advanced Options -- **Manual API Key**: Advanced users can still enter API keys manually via the settings -- **Logout**: Clear all extension data and reset to initial state: - - Click the TRMNL toolbar icon and use the "Logout & Reset" button, or - - Use the "Logout" button in the bottom overlay of any new tab page -- **Developer Mode**: Use the Firefox Developer Tools to access the TRMNL panel for environment switching - -## Development - -The extension is built specifically for Firefox using: -- Vanilla JavaScript with Firefox WebExtensions APIs -- HTML/CSS for UI components -- Native Firefox storage and messaging APIs -- TRMNL API integration - -### Key Files - -- `manifest.json` - Firefox extension configuration (Manifest V2) -- `newtab.js/.html` - New tab page implementation -- `popup.js/.html` - Settings popup accessible from toolbar -- `background.js` - Background script for API calls, login flow, and data management -- `dashboard-content.js` - Content script for TRMNL website integration and login detection -- `devtools.js/.html` - Developer tools panel integration -- `panel.js/.html` - Developer tools panel implementation -- `styles.css` - Styling for new tab and popup interfaces - -### Firefox-Specific Features - -- Uses `browser.*` APIs natively (no polyfill required) -- Leverages Firefox's `chrome_url_overrides` for new tab functionality -- Integrated with Firefox Developer Tools -- Uses Firefox's persistent background script model -- Native Firefox storage management with automatic logout detection -- Automatic login detection via content scripts across TRMNL domains - -### Login Flow Implementation - -- **Automatic Device Fetching**: Connects to `https://usetrmnl.com/devices.json` to retrieve user devices and API keys -- **Login Detection**: Content script monitors TRMNL website for successful authentication -- **Seamless Integration**: No manual API key copying required -- **Fallback Support**: Manual API key entry still available for advanced users -- **Cross-Domain Support**: Works with all TRMNL subdomains and development environments - -## Contributing - -Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. - -Please ensure all changes maintain Firefox compatibility and follow Firefox extension best practices. - -## License - -[MIT](https://choosealicense.com/licenses/mit/) \ No newline at end of file diff --git a/code/dashboard-content.js b/code/dashboard-content.js deleted file mode 100644 index 0d94cf6..0000000 --- a/code/dashboard-content.js +++ /dev/null @@ -1,62 +0,0 @@ -(function () { - // Function to check if user is authenticated - function checkAuthentication() { - // Check if we can access devices.json to verify authentication - fetch('/devices.json') - .then(response => { - if (response.ok) { - console.log("User is authenticated - devices.json accessible"); - browser.runtime.sendMessage({ action: "loginSuccess" }); - } - }) - .catch(error => { - console.log("Authentication check failed:", error); - }); - } - - // Function to detect login success indicators - function detectLoginSuccess() { - // Check for dashboard or authenticated pages - const authenticatedPaths = ['/dashboard', '/devices', '/settings', '/account']; - const currentPath = window.location.pathname; - - if (authenticatedPaths.some(path => currentPath.startsWith(path))) { - console.log("User on authenticated page:", currentPath); - browser.runtime.sendMessage({ action: "loginSuccess" }); - browser.runtime.sendMessage({ action: "refreshDevices" }); - return; - } - - // Check for authentication cookies - const hasAuthCookie = document.cookie.includes('session') || - document.cookie.includes('auth') || - document.cookie.includes('_session') || - document.cookie.includes('remember_user_token'); - - // Check for user navigation elements that appear when logged in - const userNavElements = document.querySelector('nav [href*="logout"], nav [href*="sign_out"], .user-menu, .account-menu'); - - if (hasAuthCookie || userNavElements) { - console.log("Login indicators found - cookies:", !!hasAuthCookie, "nav elements:", !!userNavElements); - checkAuthentication(); - } - } - - // Run detection immediately - detectLoginSuccess(); - - // Also run after DOM content loads in case elements load later - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', detectLoginSuccess); - } - - // Watch for navigation changes (SPA behavior) - let lastUrl = location.href; - new MutationObserver(() => { - const url = location.href; - if (url !== lastUrl) { - lastUrl = url; - setTimeout(detectLoginSuccess, 500); // Small delay for page to settle - } - }).observe(document, { subtree: true, childList: true }); -})(); \ No newline at end of file diff --git a/code/manifest.json b/code/manifest.json deleted file mode 100644 index 1a0d078..0000000 --- a/code/manifest.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "manifest_version": 2, - "name": "TRMNL New Tab - Firefox", - "version": "1.0", - "description": "Firefox extension that brings TRMNL's calm, distraction-free environment to your new tab page for seamless clarity and focus.", - "permissions": [ - "storage", - "alarms", - "http://localhost:3000/*", - "https://usetrmnl.com/*" - ], - "browser_action": { - "default_popup": "popup.html", - "default_icon": { - "16": "trmnl-icon.png", - "48": "trmnl-icon.png", - "128": "trmnl-icon.png" - } - }, - "chrome_url_overrides": { - "newtab": "newtab.html" - }, - "background": { - "scripts": ["background.js"], - "persistent": true - }, - "content_scripts": [ - { - "matches": [ - "https://usetrmnl.com/*", - "https://www.usetrmnl.com/*", - "https://app.usetrmnl.com/*", - "http://localhost:3000/*" - ], - "js": ["dashboard-content.js"] - } - ], - "devtools_page": "devtools.html", - "icons": { - "16": "trmnl-icon.png", - "48": "trmnl-icon.pngp", - "128": "trmnl-icon.png" - }, - "browser_specific_settings": { - "gecko": { - "id": "trmnl-newtab@usetrmnl.com" - } - } -} diff --git a/code/newtab.js b/code/newtab.js deleted file mode 100644 index 1135197..0000000 --- a/code/newtab.js +++ /dev/null @@ -1,416 +0,0 @@ -// JavaScript for the new tab page - -document.addEventListener("DOMContentLoaded", initNewTab); - -// Listen for storage changes to detect logout -browser.storage.onChanged.addListener((changes, namespace) => { - if (namespace === "local") { - // Check if critical data was cleared (logout) - if (changes.devices && !changes.devices.newValue) { - console.log("Devices cleared - user logged out"); - redirectToLogin(); - } - } -}); - -// DOM references -const imageElement = document.getElementById("trmnl-image"); -const loadingElement = document.getElementById("loading"); -const errorContainer = document.getElementById("error-container"); -const infoOverlay = document.getElementById("info-overlay"); -const nextRefreshElement = document.getElementById("next-refresh-time"); -const refreshButton = document.getElementById("refresh-now"); -const settingsButton = document.getElementById("open-settings"); -const logoutButton = document.getElementById("logout-btn"); - -// State -let refreshTimeoutId = null; -let countdownIntervalId = null; - -// Initialize the new tab page -async function initNewTab() { - try { - // Check if user is logged out - if (await isLoggedOut()) { - console.log("User is logged out, redirecting to login"); - await redirectToLogin(); - return; - } - - // First try to get the environment setting - const { environment } = await browser.storage.local.get("environment"); - const baseUrl = - environment === "development" - ? "http://localhost:3000" - : "https://usetrmnl.com"; - - // Try to get devices from local storage first - const { devices: storedDevices } = - await browser.storage.local.get("devices"); - - // If we have devices in storage, use them - if (storedDevices && storedDevices.length > 0) { - console.log("Using devices from local storage:", storedDevices); - - // Check if we have a selected device - const { selectedDevice } = - await browser.storage.local.get("selectedDevice"); - if (!selectedDevice) { - await browser.storage.local.set({ selectedDevice: storedDevices[0] }); - } - - // Continue with normal initialization - setupEventListeners(); - await loadImage(); - return; - } - - // If we don't have devices in storage, fetch from server - console.log("No devices in local storage, fetching from server"); - const response = await fetch(`${baseUrl}/devices.json`); - - // If unauthorized or forbidden, redirect to login - if (response.status === 401 || response.status === 403) { - await redirectToLogin(); - return; - } - - // If response is not OK for any other reason - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - // If we get here, we have the devices, proceed with normal initialization - const devices = await response.json(); - - if (!devices || devices.length === 0) { - // No devices available, redirect to login - await redirectToLogin(); - return; - } - - // Store devices and selected device if not already set - await browser.storage.local.set({ devices }); - const { selectedDevice } = - await browser.storage.local.get("selectedDevice"); - if (!selectedDevice) { - await browser.storage.local.set({ selectedDevice: devices[0] }); - } - - // Continue with normal initialization - setupEventListeners(); - await loadImage(); - } catch (error) { - console.error("Error during initialization:", error); - // On any error, redirect to login - await redirectToLogin(); - } -} - -// Set up event listeners -function setupEventListeners() { - // Refresh now button - refreshButton.addEventListener("click", () => { - browser.runtime.sendMessage({ action: "forceRefresh" }).then(() => { - loadImage(); - }); - }); - - // Settings button - settingsButton.addEventListener("click", () => { - // For Firefox, show an inline settings panel instead of popup - showInlineSettings(); - }); - - // Logout button - logoutButton.addEventListener("click", () => { - performLogout(); - }); - - // Login button - add event listener when it appears - document.addEventListener("click", (e) => { - if (e.target && e.target.id === "login-now") { - startLogin(); - } - }); - - // Listen for messages from background - browser.runtime.onMessage.addListener((message, sender, sendResponse) => { - if (message.action === "imageUpdated") { - console.log("Received image update notification"); - loadImage(); - if (sendResponse) sendResponse({ received: true }); - } else if (message.action === "loginSuccess") { - console.log("Login success detected, refreshing new tab"); - window.location.reload(); - } - return false; - }); -} - -// Load the image from storage -async function loadImage() { - loadingElement.classList.remove("hidden"); - imageElement.classList.add("hidden"); // Hide the image while loading - - browser.runtime - .sendMessage({ action: "getCurrentImage" }) - .then((response) => { - if (!response || !response.currentImage) { - showLoginPrompt(); - return; - } - - // Hide error container if it was showing - errorContainer.classList.add("hidden"); - - // Create a new image element to force a reload - const newImage = new Image(); - newImage.onload = () => { - // Update the src of the actual image element - imageElement.src = newImage.src; - loadingElement.classList.add("hidden"); - imageElement.classList.remove("hidden"); - }; - - newImage.onerror = () => { - console.error("Error loading image data URL"); - loadingElement.textContent = "Error loading image"; - // Request a fresh image - browser.runtime.sendMessage({ action: "forceRefresh" }); - }; - - // Add a cache-busting parameter to force reload - newImage.src = `${response.currentImage.url}#t=${Date.now()}`; - - // Update next refresh info - updateRefreshTimer(response.nextFetch); - }); -} - -// Start login flow -function startLogin() { - browser.runtime.sendMessage({ action: "startLogin" }).then((response) => { - if (response && response.success) { - const errorText = errorContainer.querySelector("p"); - if (errorText) { - errorText.textContent = "Login page opened - please complete login in the new tab."; - } - // Check for login success - checkForLoginSuccess(); - } else { - const errorText = errorContainer.querySelector("p"); - if (errorText) { - errorText.textContent = "Error opening login page. Please try again."; - } - } - }).catch((error) => { - console.error("Login error:", error); - const errorText = errorContainer.querySelector("p"); - if (errorText) { - errorText.textContent = "Error opening login page. Please try again."; - } - }); -} - -// Check for login success periodically -function checkForLoginSuccess() { - const checkInterval = setInterval(async () => { - const { devices } = await browser.storage.local.get(["devices"]); - - if (devices && devices.length > 0) { - clearInterval(checkInterval); - window.location.reload(); - } - }, 2000); - - // Stop checking after 2 minutes - setTimeout(() => { - clearInterval(checkInterval); - }, 120000); -} - -// Show the login prompt -function showLoginPrompt() { - loadingElement.classList.add("hidden"); - imageElement.classList.add("hidden"); - errorContainer.classList.remove("hidden"); - - const errorText = errorContainer.querySelector("p"); - if (errorText) { - errorText.textContent = "Please log in to your TRMNL account to view your devices."; - } -} - -// Update the refresh countdown timer -function updateRefreshTimer(nextFetchTimestamp) { - if (!nextFetchTimestamp) { - nextRefreshElement.textContent = "Unknown"; - return; - } - - // Clear existing timeouts and intervals - if (refreshTimeoutId) clearTimeout(refreshTimeoutId); - if (countdownIntervalId) clearInterval(countdownIntervalId); - - // Set timeout to load image at refresh time - const now = Date.now(); - const timeToRefresh = Math.max(0, nextFetchTimestamp - now); - - if (timeToRefresh > 0) { - // Add a small buffer (2 seconds) to ensure the background has time to fetch - refreshTimeoutId = setTimeout(() => { - // Check if the image has been updated in background - browser.runtime - .sendMessage({ action: "getCurrentImage" }) - .then((response) => { - const currentTime = Date.now(); - // Only reload if the last fetch time is recent (within last 10 seconds) - if ( - response && - response.lastFetch && - currentTime - response.lastFetch < 10000 - ) { - loadImage(); - } else { - // If not updated recently, the background refresh might have failed - // Request a refresh and then load the image - browser.runtime.sendMessage({ action: "forceRefresh" }).then(() => { - setTimeout(loadImage, 2000); - }); - } - }); - }, timeToRefresh); - - // Update countdown display - updateCountdown(nextFetchTimestamp); - countdownIntervalId = setInterval(() => { - updateCountdown(nextFetchTimestamp); - }, 1000); - } -} - -// Update the countdown display -function updateCountdown(nextFetchTimestamp) { - const now = Date.now(); - const timeRemaining = Math.max(0, nextFetchTimestamp - now); - - if (timeRemaining <= 0) { - nextRefreshElement.textContent = "Now"; - if (countdownIntervalId) { - clearInterval(countdownIntervalId); - } - return; - } - - // Format the time remaining - const seconds = Math.floor((timeRemaining / 1000) % 60); - const minutes = Math.floor((timeRemaining / (1000 * 60)) % 60); - const hours = Math.floor(timeRemaining / (1000 * 60 * 60)); - - nextRefreshElement.textContent = `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`; -} - -// Show inline settings panel (Firefox-compatible) -function showInlineSettings() { - // Create or show a simple inline settings overlay - let settingsOverlay = document.getElementById("settings-overlay"); - if (!settingsOverlay) { - settingsOverlay = document.createElement("div"); - settingsOverlay.id = "settings-overlay"; - settingsOverlay.style.cssText = ` - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0.8); - display: flex; - align-items: center; - justify-content: center; - z-index: 1000; - `; - - const settingsPanel = document.createElement("div"); - settingsPanel.style.cssText = ` - background: #1a1a1a; - padding: 20px; - border-radius: 8px; - color: white; - max-width: 400px; - width: 90%; - `; - - settingsPanel.innerHTML = ` -

TRMNL Settings

-

To access full settings, click the TRMNL icon in your browser toolbar.

- - `; - - settingsOverlay.appendChild(settingsPanel); - document.body.appendChild(settingsOverlay); - - // Close button functionality - document.getElementById("close-settings").addEventListener("click", () => { - settingsOverlay.remove(); - }); - - // Close on overlay click - settingsOverlay.addEventListener("click", (e) => { - if (e.target === settingsOverlay) { - settingsOverlay.remove(); - } - }); - } else { - settingsOverlay.style.display = "flex"; - } -} - -// Helper to pad numbers with leading zeros -function padZero(num) { - return num.toString().padStart(2, "0"); -} - -// Check if user is logged out (no critical data) -async function isLoggedOut() { - const storage = await browser.storage.local.get([ - "devices", - "selectedDevice", - "apiKey" - ]); - - // If we have no devices AND no API key, consider user logged out - return (!storage.devices || storage.devices.length === 0) && !storage.apiKey; -} - -// Redirect to login page -async function redirectToLogin() { - const { environment } = await browser.storage.local.get("environment"); - const baseUrl = - environment === "development" - ? "http://localhost:3000" - : "https://usetrmnl.com"; - - console.log("Redirecting to login:", `${baseUrl}/login`); - window.location.href = `${baseUrl}/login`; -} - -// Perform logout -function performLogout() { - if (!confirm("Are you sure you want to logout? This will clear all extension data and you'll need to login again.")) { - return; - } - - browser.runtime.sendMessage({ action: "logout" }).then((response) => { - if (response && response.success) { - console.log("Logout successful"); - // The background script will redirect us to login - } else { - console.error("Logout failed:", response); - alert("Logout failed. Please try again."); - } - }).catch((error) => { - console.error("Logout error:", error); - alert("Logout failed. Please try again."); - }); -} diff --git a/code/popup.html b/code/popup.html deleted file mode 100644 index 9a1432b..0000000 --- a/code/popup.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - TRMNL Settings - - - - - - - -
- - - - -
- - -
- -
- -
- Advanced Settings - -
- -
- - - -
- - -
- -
-
-
-
-
-
- - -
- - - - diff --git a/code/popup.js b/code/popup.js deleted file mode 100644 index 94ab858..0000000 --- a/code/popup.js +++ /dev/null @@ -1,531 +0,0 @@ -// JavaScript for the popup - -document.addEventListener("DOMContentLoaded", initPopup); - -// DOM references -let apiKeyInput; -let saveButton; -let refreshButton; -let logoutButton; -let loginButton; -let loginPrompt; -let loginSection; -let logoutSection; -let manualApiSection; -let toggleManualButton; -let buttonGroup; -let statusElement; -let lastUpdatedElement; -let nextUpdateElement; -let refreshRateElement; - -// Initialize the popup -async function initPopup() { - // Initialize DOM references - apiKeyInput = document.getElementById("api-key"); - saveButton = document.getElementById("save-settings"); - refreshButton = document.getElementById("refresh-now"); - logoutButton = document.getElementById("logout-btn"); - loginButton = document.getElementById("login-btn"); - loginPrompt = document.getElementById("login-prompt"); - loginSection = document.getElementById("login-section"); - logoutSection = document.getElementById("logout-section"); - manualApiSection = document.getElementById("manual-api-section"); - toggleManualButton = document.getElementById("toggle-manual"); - buttonGroup = document.querySelector(".button-group"); - statusElement = document.getElementById("status"); - lastUpdatedElement = document.getElementById("last-updated"); - nextUpdateElement = document.getElementById("next-update"); - refreshRateElement = document.getElementById("refresh-rate"); - - setupEventListeners(); - await checkLoginState(); - await loadSettings(); - await loadDevices(); - updateStatusInfo(); -} - -async function loadDevices() { - // First try to get devices from local storage - const { devices: storedDevices, environment } = - await browser.storage.local.get(["devices", "environment"]); - - let devices = []; - - // If we have devices in storage, use them first - if (storedDevices && storedDevices.length > 0) { - console.log("Using devices from local storage"); - devices = storedDevices; - } else { - // If no devices in storage, fetch from server - console.log("No devices in storage, fetching from server"); - const apiUrl = - environment === "development" - ? "http://localhost:3000/devices.json" - : "https://usetrmnl.com/devices.json"; - - try { - const response = await fetch(apiUrl); - devices = await response.json(); - - // Store devices in local storage for future use - await browser.storage.local.set({ devices }); - } catch (error) { - console.error("Error fetching devices from server:", error); - // If we can't fetch, ensure devices is at least an empty array - devices = []; - } - } - - const { selectedDevice } = await browser.storage.local.get("selectedDevice"); - - const deviceSelect = document.getElementById("device-select"); - deviceSelect.innerHTML = ""; // Clear existing options - - if (devices && devices.length > 0) { - devices.forEach((device) => { - const option = document.createElement("option"); - option.value = device.api_key; - option.textContent = device.name; - option.selected = - selectedDevice && selectedDevice.api_key === device.api_key; - deviceSelect.appendChild(option); - }); - - // If no device is selected, select the first one - if (!selectedDevice) { - await browser.storage.local.set({ - selectedDevice: devices[0], - apiKey: devices[0].api_key, - }); - browser.runtime.sendMessage({ action: "forceRefresh" }); - } - } else { - const option = document.createElement("option"); - option.value = ""; - option.textContent = "No devices found"; - deviceSelect.appendChild(option); - } - - // Add change event listener - deviceSelect.addEventListener("change", async (e) => { - const selectedApiKey = e.target.value; - const selectedDevice = devices.find((d) => d.api_key === selectedApiKey); - - if (selectedDevice) { - // Initial logging - console.log("Device change initiated:", { - deviceName: selectedDevice.name, - apiKey: selectedDevice.api_key.substring(0, 8) + "...", // Log partial key for safety - timestamp: new Date().toISOString(), - }); - - showStatus("Changing device..."); - - try { - // Log pre-update storage state - const beforeState = await browser.storage.local.get([ - "selectedDevice", - "apiKey", - "retryCount", - "retryAfter", - "lastFetch", - ]); - console.log("Storage state before update:", beforeState); - - // Update the device in storage - await browser.storage.local.set({ - selectedDevice, - apiKey: selectedDevice.api_key, - retryCount: 0, - retryAfter: null, - lastFetch: 0, - }); - - console.log("Storage updated with new device settings"); - - // Verify storage update - const afterState = await browser.storage.local.get([ - "selectedDevice", - "apiKey", - "retryCount", - "retryAfter", - "lastFetch", - ]); - console.log("Storage state after update:", afterState); - - // Force refresh with detailed logging - console.log("Initiating force refresh..."); - browser.runtime - .sendMessage({ action: "forceRefresh" }) - .then((response) => { - console.log("Force refresh response received:", { - response, - timestamp: new Date().toISOString(), - }); - - if (response && response.success) { - console.log("Device change and refresh successful"); - hideStatus(); - } else { - console.warn("Initial refresh attempt unsuccessful:", { - response, - error: response?.error, - timestamp: new Date().toISOString(), - }); - - hideStatus(); - - // Schedule retry - console.log("Scheduling retry refresh..."); - setTimeout(() => { - console.log("Executing retry refresh..."); - browser.runtime - .sendMessage({ action: "forceRefresh" }) - .then((retryResponse) => { - console.log("Retry refresh response:", { - response: retryResponse, - timestamp: new Date().toISOString(), - }); - - if (retryResponse && retryResponse.success) { - console.log("Retry refresh successful"); - } else { - console.warn("Retry refresh unsuccessful:", { - response: retryResponse, - error: retryResponse?.error, - }); - } - }); - }, 1000); - } - }); - } catch (error) { - console.error("Error during device change process:", { - error, - message: error.message, - stack: error.stack, - timestamp: new Date().toISOString(), - }); - showStatus("Error changing device", true); - } - } else { - console.warn("No device found for selected API key:", { - selectedApiKey: selectedApiKey - ? selectedApiKey.substring(0, 8) + "..." - : "none", - timestamp: new Date().toISOString(), - }); - } - }); -} - -// Set up event listeners -function setupEventListeners() { - // Save button - if (saveButton) { - saveButton.addEventListener("click", saveSettings); - } - - // Refresh button - if (refreshButton) { - refreshButton.addEventListener("click", refreshImage); - } - - // Logout button - if (logoutButton) { - logoutButton.addEventListener("click", performLogout); - } - - // Login button - if (loginButton) { - loginButton.addEventListener("click", startLogin); - } - - // Toggle manual API button - if (toggleManualButton) { - toggleManualButton.addEventListener("click", toggleManualApiEntry); - } - - // Enter key in input field - if (apiKeyInput) { - apiKeyInput.addEventListener("keypress", (e) => { - if (e.key === "Enter") { - saveSettings(); - } - }); - } -} - -// Load settings from storage -async function loadSettings() { - const storage = await browser.storage.local.get(["apiKey"]); - - if (storage.apiKey && apiKeyInput) { - // Mask the API key for display - apiKeyInput.value = storage.apiKey; - } -} - -// Save settings to storage -async function saveSettings() { - const apiKey = apiKeyInput ? apiKeyInput.value.trim() : ""; - - if (apiKey) { - const response = await browser.runtime.sendMessage({ - action: "saveApiKey", - apiKey: apiKey, - }); - - showStatus("Settings saved"); - - // Update UI state after successful API key save - showLoggedInState(); - await loadDevices(); - updateStatusInfo(); - - setTimeout(hideStatus, 3000); - } else { - showStatus("API key cannot be empty", true); - } -} - -// Force an image refresh -function refreshImage() { - showStatus("Refreshing image..."); - - browser.runtime.sendMessage({ action: "forceRefresh" }).then((response) => { - if (response && response.success) { - showStatus("Image refreshed successfully"); - } else { - showStatus("Refresh scheduled (retry in progress)", true); - } - - setTimeout(() => { - updateStatusInfo(); - hideStatus(); - }, 3000); - }); -} - -// Update the status of last/next refresh -async function updateStatusInfo() { - const storage = await browser.storage.local.get([ - "lastFetch", - "nextFetch", - "refreshRate", - "retryCount", - "retryAfter", - ]); - - if (storage.lastFetch && lastUpdatedElement) { - const lastFetchDate = new Date(storage.lastFetch); - lastUpdatedElement.textContent = `Last updated: ${formatDateTime(lastFetchDate)}`; - } - - // Check if we're in a retry backoff period - if ( - storage.retryAfter && - Date.now() < storage.retryAfter && - nextUpdateElement - ) { - const retryDate = new Date(storage.retryAfter); - nextUpdateElement.textContent = `Retry after: ${formatDateTime(retryDate)}`; - - // Add retry count if available - if (storage.retryCount) { - nextUpdateElement.textContent += ` (attempt ${storage.retryCount})`; - } - } - // Otherwise show the normal next update time - else if (storage.nextFetch && nextUpdateElement) { - const nextFetchDate = new Date(storage.nextFetch); - nextUpdateElement.textContent = `Next update: ${formatDateTime(nextFetchDate)}`; - } - - if (storage.refreshRate && refreshRateElement) { - refreshRateElement.textContent = `Refresh rate: ${storage.refreshRate} seconds`; - } -} - -// Show a status message -function showStatus(message, isError = false) { - if (statusElement) { - statusElement.textContent = message; - statusElement.className = isError ? "status-error" : "status-success"; - } -} - -// Hide the status message -function hideStatus() { - if (statusElement) { - statusElement.textContent = ""; - statusElement.className = ""; - } -} - -// Format date and time -function formatDateTime(date) { - return date.toLocaleString(); -} - -// Check login state and show appropriate UI -async function checkLoginState() { - try { - const { devices, apiKey } = await browser.storage.local.get(["devices", "apiKey"]); - - if ((devices && devices.length > 0) || apiKey) { - // User is logged in - hide login prompt - showLoggedInState(); - } else { - // User is not logged in - show login prompt - showLoggedOutState(); - } - } catch (error) { - console.error("Error checking login state:", error); - showLoggedOutState(); - } -} - -// Show UI for logged in state -function showLoggedInState() { - if (loginSection) loginSection.classList.add("hidden"); - if (logoutSection) logoutSection.classList.remove("hidden"); - if (manualApiSection) manualApiSection.classList.add("hidden"); - - // Show device selector - const deviceSelectGroup = document.getElementById('device-selector-group'); - if (deviceSelectGroup) deviceSelectGroup.classList.remove("hidden"); - - // Show refresh button in advanced section when logged in - if (refreshButton) refreshButton.style.display = "block"; - // Hide save button by default (only show when manual API is active) - if (saveButton) saveButton.style.display = "none"; -} - -// Show UI for logged out state -function showLoggedOutState() { - if (loginSection) loginSection.classList.remove("hidden"); - if (logoutSection) logoutSection.classList.add("hidden"); - if (manualApiSection) manualApiSection.classList.add("hidden"); - - // Hide device selector - const deviceSelectGroup = document.getElementById('device-selector-group'); - if (deviceSelectGroup) deviceSelectGroup.classList.add("hidden"); - - // Hide both buttons when logged out (they're now in advanced section) - if (refreshButton) refreshButton.style.display = "none"; - if (saveButton) saveButton.style.display = "none"; -} - -// Start login flow -function startLogin() { - showStatus("Opening login page..."); - - browser.runtime.sendMessage({ action: "startLogin" }).then((response) => { - if (response && response.success) { - showStatus("Login page opened - please complete login"); - // Check for login success periodically - checkForLoginSuccess(); - } else { - showStatus("Error opening login page", true); - } - }).catch((error) => { - console.error("Login error:", error); - showStatus("Error opening login page", true); - }); -} - -// Check for login success -function checkForLoginSuccess() { - const checkInterval = setInterval(async () => { - const { devices } = await browser.storage.local.get(["devices"]); - - if (devices && devices.length > 0) { - clearInterval(checkInterval); - showStatus("Login successful!"); - showLoggedInState(); - await loadDevices(); - updateStatusInfo(); - } - }, 2000); - - // Stop checking after 2 minutes - setTimeout(() => { - clearInterval(checkInterval); - }, 120000); -} - -// Toggle manual API entry -function toggleManualApiEntry() { - if (manualApiSection) { - if (manualApiSection.classList.contains("hidden")) { - manualApiSection.classList.remove("hidden"); - toggleManualButton.textContent = "Hide Manual Entry"; - // Show save settings button when manual API is active - if (saveButton) saveButton.style.display = "block"; - } else { - manualApiSection.classList.add("hidden"); - toggleManualButton.textContent = "Use Manual API Key"; - // Hide save settings button when manual API is hidden - if (saveButton) saveButton.style.display = "none"; - } - } -} - -// Perform logout -function performLogout() { - if (!confirm("Are you sure you want to logout? This will clear all extension data and you'll need to login again.")) { - return; - } - - showStatus("Logging out..."); - - browser.runtime.sendMessage({ action: "logout" }).then((response) => { - if (response && response.success) { - showStatus("Logged out successfully"); - showLoggedOutState(); - - // Clear device selection dropdown - const deviceSelect = document.getElementById("device-select"); - if (deviceSelect) { - deviceSelect.innerHTML = ''; - } - - // Clear API key input - if (apiKeyInput) { - apiKeyInput.value = ""; - } - - // Clear status info - if (lastUpdatedElement) lastUpdatedElement.textContent = ""; - if (nextUpdateElement) nextUpdateElement.textContent = ""; - if (refreshRateElement) refreshRateElement.textContent = ""; - - // Hide manual API section if it was open - if (manualApiSection) { - manualApiSection.classList.add("hidden"); - if (toggleManualButton) { - toggleManualButton.textContent = "Use Manual API Key"; - } - } - - // Reset button visibility states - if (saveButton) saveButton.style.display = "none"; - if (refreshButton) refreshButton.style.display = "none"; - - // Close advanced section for cleaner state - const advancedSection = document.getElementById("advanced-section"); - if (advancedSection) { - advancedSection.open = false; - } - - setTimeout(hideStatus, 3000); - } else { - showStatus("Error during logout", true); - } - }).catch((error) => { - console.error("Logout error:", error); - showStatus("Error during logout", true); - }); -} diff --git a/code/trmnl--fav-icon.svg b/code/trmnl--fav-icon.svg deleted file mode 100644 index ecea727..0000000 --- a/code/trmnl--fav-icon.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - trmnl--fav-icon - - - - - - - - - - - - - \ No newline at end of file diff --git a/code/trmnl-icon.png b/code/trmnl-icon.png deleted file mode 100644 index dbdbecab201ec252cd1807562ed09fc113b4420d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33219 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 - diff --git a/code/devtools.js b/devtools.js similarity index 80% rename from code/devtools.js rename to devtools.js index 0d0f852..e85af10 100644 --- a/code/devtools.js +++ b/devtools.js @@ -1,4 +1,4 @@ -browser.devtools.panels.create( +chrome.devtools.panels.create( "TRMNL", "", "/panel.html", // Make sure this path is correct diff --git a/icons/icon128.png b/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..983a0bd2bae53fa29c8f06ce0a6dd581e94ff925 GIT binary patch literal 6469 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 literal 0 HcmV?d00001 diff --git a/icons/trmnl-chrome-icon.sketch b/icons/trmnl-chrome-icon.sketch new file mode 100644 index 0000000000000000000000000000000000000000..9de44ad26ab6bcfdaaeba77bdeaca9b93e5eba5f GIT binary patch literal 13112 zcmWIWW@Zs#;9=lkKn7cw85npO7#LFWlS^|`^Gfuxiu3bIC*RJyZNSrZ|LAqWtkYHz zJ13`dpSX~BbkFWw4iR@x+aCfNT+z??(GL4wN)l#lGb;H|J z!O79`IuFY4=Ki~JX}wWF#%GdrlwVF4ikPpf4@-3azP$jwOz?Md+XnB`)7VTm!rKRziRFKgcF9pem^c1 ze6#CX{dQ|^+o{Uw*Da&p-gYnExbDOBU(I`eWY_%sbg?4SEY{Ycjm7@WP5;NQGY@r! z92bB5X50Ri3uJ<~UOW3m$>gkNn8Ji4NhQr?9-BOrWikbq&RH7MD)7bZ{>I(&EOe9I z_FCJks|yMTx~QH}zub|qYQmL*GgA~IPnr5z%$>-8_=ehn<&V5SzFoa8t6E&<(6w{# z-tGPsvS!w^Cuf&!+s-O|XT$2+UGe-Iy;QunI4BCr2=dCW=u}*#^0-n)%Wv`nuIz#h zdeYziZM&Ka%Y3~_aCYDps4)pG-V zy`LCJ{L`NFImP2r%{krND4UlLy2Nif-*V%9ZQ?A=D*5OA?_;T{QyL@9+8rw9fB$)k zkvDUDw`A@F^|n=k9*4J9J;;%%a{Co0DE4JVPffs?>|;9}w6}ckPuzGp{$%3EC~UN4$v|Iur>BW9teG2v&j&|QyPLYf9Q9<;VR z+EvUlZ`bOq?3U7Z9V&d8kEHglpYZsS;I%6X>;>z34sU(HWv;tAQ#fbT{~7KKc_SW zUA^w*|DECN^i_I~Ctd#2X7>HK?%Mx9Tg%fZ_#vj75eq zGUzifFcc)FrxxoQJ6kxKS-4s18kks`>zcS(n(I2bxS8piIy;(~yBZrfo10pIgNY9QOVZS4au;~ z6lby!I;yqlMAAp=`$gyGoB!V>{WX2_?D=_We}8{^cJ}OoU*TUL-hX=cPi|YUjp;_C z*4~Z{Rzj@*R3aBD%{=Dye9n?6DU)9Tp^G=!|9ie<&bQ}>vuZvEyWGFSlYaC=f6<41 zzj7n$=7n7TdDegbclXVk{-v7C@i}$y{_2+>?5|eblYjgFTeRg|{`cGJe(v1$JA%)w ztTx`x&+TvJ&W$g(Kg{`&*rNOSB~yFVi}RO`=ET|lGg|xX>Yvj~)|5;1wSCrq9VUD~ zU!pPn_wSb<{_UG{@6VBYcY1!spL%)z@J*Zl$(Q8$4MIxlKMPCs{qFx!@R@tv%ljI7 z6Mp~Owo~SHv)}2PAM6i*tc~hT|D0KGaqMg0pR;GPsxM0(Y|GlWXVnj*>J?&(9gTE< z%isT+E`OQbB&Iy_-$T96_UiBC9?bjqv!r}`{XtoY`@LcokLTYNxW~8Q^Z&p9iyU4* zd%ZaEOuzMUja4s`>*LIS|9bZ9d#3HZ-p9U%%?9swU%gTA_3ld3=Uev}KmG8JG5J`c z9Y6c$_FtFfzsBE@Y|49oN9CYs5p!)gZvo4nXL&Dg(8XC@GwqJ= zy*Y2@?fpO29b~sD;{ROua+;Z9cNNoP~rsS{78q|6j;yQrdb)7sli?DNw} zwnxq^JhS)8yy~-gX-B3$To-v|{>NPbZ0u$H zE4PN%r7mIh?eYDXvD8zJQ|pq3o=~6vrDZmPCMQ|e1y!WBgdZ#ac&flGa{o5TvR--D zNi#BMyUf&xQ1O{|=*)JtQz5HnK3t?=#QnafIqlziY4LA6?@OH){iqrzeSUMD`Ream z&(==5Wg)KCSFy@hWy^+%z8bv|Jumy>Q�f?AAB_ZeHlyYgwT9ePXZiit7ri*chY3 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 literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..7ff4047 --- /dev/null +++ b/manifest.json @@ -0,0 +1,40 @@ +{ + "manifest_version": 3, + "name": "TRMNL New Tab Display", + "version": "1.1", + "description": "Displays images from TRMNL API on new tab pages", + "permissions": ["storage", "alarms"], + "host_permissions": ["http://localhost:3000/*", "https://usetrmnl.com/*"], + "devtools_page": "devtools.html", + "chrome_url_overrides": { + "newtab": "newtab.html" + }, + "content_scripts": [ + { + "matches": ["https://usetrmnl.com/*", "http://localhost:3000/*"], + "js": ["dashboard-content.js"] + } + ], + "background": { + "scripts": ["background.js"], + "service_worker": "background.js" + }, + "action": { + "default_popup": "popup.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "icons": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + }, + "browser_specific_settings": { + "gecko": { + "id": "{fa015ea5-5b74-40d8-b4d5-75f5f0edbfda}" + } + } +} diff --git a/code/newtab.html b/newtab.html similarity index 74% rename from code/newtab.html rename to newtab.html index cf84848..0c7746f 100644 --- a/code/newtab.html +++ b/newtab.html @@ -4,9 +4,7 @@ New Tab - - - + - +
TRMNL Display
diff --git a/newtab.js b/newtab.js new file mode 100644 index 0000000..3235061 --- /dev/null +++ b/newtab.js @@ -0,0 +1,272 @@ +// JavaScript for the new tab page + +document.addEventListener("DOMContentLoaded", initNewTab); + +// DOM references +const imageElement = document.getElementById("trmnl-image"); +const loadingElement = document.getElementById("loading"); +const errorContainer = document.getElementById("error-container"); +const infoOverlay = document.getElementById("info-overlay"); +const nextRefreshElement = document.getElementById("next-refresh-time"); +const refreshButton = document.getElementById("refresh-now"); +const settingsButton = document.getElementById("open-settings"); +const apiKeyInput = document.getElementById("api-key-input"); +const saveApiKeyButton = document.getElementById("save-api-key"); + +// State +let refreshTimeoutId = null; +let countdownIntervalId = null; + +// Initialize the new tab page +async function initNewTab() { + try { + // First try to get the environment setting + const { environment } = await chrome.storage.local.get("environment"); + const baseUrl = + environment === "development" + ? "http://localhost:3000" + : "https://usetrmnl.com"; + + // Try to get devices from local storage first + const { devices: storedDevices } = + await chrome.storage.local.get("devices"); + + // If we have devices in storage, use them + if (storedDevices && storedDevices.length > 0) { + console.log("Using devices from local storage:", storedDevices); + + // Check if we have a selected device + const { selectedDevice } = + await chrome.storage.local.get("selectedDevice"); + if (!selectedDevice) { + await chrome.storage.local.set({ selectedDevice: storedDevices[0] }); + } + + // Continue with normal initialization + setupEventListeners(); + await loadImage(); + return; + } + + // If we don't have devices in storage, fetch from server + console.log("No devices in local storage, fetching from server"); + const response = await fetch(`${baseUrl}/devices.json`); + + // If unauthorized or forbidden, redirect to login + if (response.status === 401 || response.status === 403) { + window.location.href = `${baseUrl}/login`; + return; + } + + // If response is not OK for any other reason + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + // If we get here, we have the devices, proceed with normal initialization + const devices = await response.json(); + + if (!devices || devices.length === 0) { + // No devices available, redirect to login + window.location.href = `${baseUrl}/login`; + return; + } + + // Store devices and selected device if not already set + await chrome.storage.local.set({ devices }); + const { selectedDevice } = await chrome.storage.local.get("selectedDevice"); + if (!selectedDevice) { + await chrome.storage.local.set({ selectedDevice: devices[0] }); + } + + // Continue with normal initialization + setupEventListeners(); + await loadImage(); + } catch (error) { + console.error("Error during initialization:", error); + // On any error, redirect to login + const { environment } = await chrome.storage.local.get("environment"); + const baseUrl = + environment === "development" + ? "http://localhost:3000" + : "https://usetrmnl.com"; + window.location.href = `${baseUrl}/login`; + } +} + +// Set up event listeners +function setupEventListeners() { + // Refresh now button + refreshButton.addEventListener("click", () => { + chrome.runtime.sendMessage({ action: "forceRefresh" }, () => { + loadImage(); + }); + }); + + // Settings button + settingsButton.addEventListener("click", () => { + chrome.runtime.sendMessage({ action: "openOptions" }); + // Alternatively, open the popup + if (chrome.action && chrome.action.openPopup) { + chrome.action.openPopup(); + } + }); + + // Save API key button + saveApiKeyButton.addEventListener("click", saveApiKey); + apiKeyInput.addEventListener("keypress", (e) => { + if (e.key === "Enter") { + saveApiKey(); + } + }); + + // Listen for image updates from background + chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.action === "imageUpdated") { + console.log("Received image update notification"); + loadImage(); + // Always call sendResponse in message listeners + if (sendResponse) sendResponse({ received: true }); + } + // Return true if sendResponse will be called asynchronously + return false; + }); +} + +// Load the image from storage +async function loadImage() { + loadingElement.classList.remove("hidden"); + imageElement.classList.add("hidden"); // Hide the image while loading + + chrome.runtime.sendMessage({ action: "getCurrentImage" }, (response) => { + if (!response || !response.currentImage) { + errorContainer.querySelector("p").textContent = + "Please select a TRMNL device to view images."; + showApiKeyPrompt(); + return; + } + + // Hide error container if it was showing + errorContainer.classList.add("hidden"); + + // Create a new image element to force a reload + const newImage = new Image(); + newImage.onload = () => { + // Update the src of the actual image element + imageElement.src = newImage.src; + loadingElement.classList.add("hidden"); + imageElement.classList.remove("hidden"); + }; + + newImage.onerror = () => { + console.error("Error loading image data URL"); + loadingElement.textContent = "Error loading image"; + // Request a fresh image + chrome.runtime.sendMessage({ action: "forceRefresh" }); + }; + + // Add a cache-busting parameter to force reload + newImage.src = `${response.currentImage.url}#t=${Date.now()}`; + + // Update next refresh info + updateRefreshTimer(response.nextFetch); + }); +} + +// Save the API key +function saveApiKey() { + const apiKey = apiKeyInput.value.trim(); + if (apiKey) { + chrome.runtime.sendMessage( + { + action: "saveApiKey", + apiKey: apiKey, + }, + () => { + // Clear input and refresh the display + apiKeyInput.value = ""; + errorContainer.classList.add("hidden"); + loadImage(); + }, + ); + } +} + +// Show the API key prompt +function showApiKeyPrompt() { + loadingElement.classList.add("hidden"); + imageElement.classList.add("hidden"); + errorContainer.classList.remove("hidden"); +} + +// Update the refresh countdown timer +function updateRefreshTimer(nextFetchTimestamp) { + if (!nextFetchTimestamp) { + nextRefreshElement.textContent = "Unknown"; + return; + } + + // Clear existing timeouts and intervals + if (refreshTimeoutId) clearTimeout(refreshTimeoutId); + if (countdownIntervalId) clearInterval(countdownIntervalId); + + // Set timeout to load image at refresh time + const now = Date.now(); + const timeToRefresh = Math.max(0, nextFetchTimestamp - now); + + if (timeToRefresh > 0) { + // Add a small buffer (2 seconds) to ensure the background has time to fetch + refreshTimeoutId = setTimeout(() => { + // Check if the image has been updated in background + chrome.runtime.sendMessage({ action: "getCurrentImage" }, (response) => { + const currentTime = Date.now(); + // Only reload if the last fetch time is recent (within last 10 seconds) + if ( + response && + response.lastFetch && + currentTime - response.lastFetch < 10000 + ) { + loadImage(); + } else { + // If not updated recently, the background refresh might have failed + // Request a refresh and then load the image + chrome.runtime.sendMessage({ action: "forceRefresh" }, () => { + setTimeout(loadImage, 2000); + }); + } + }); + }, timeToRefresh); + + // Update countdown display + updateCountdown(nextFetchTimestamp); + countdownIntervalId = setInterval(() => { + updateCountdown(nextFetchTimestamp); + }, 1000); + } +} + +// Update the countdown display +function updateCountdown(nextFetchTimestamp) { + const now = Date.now(); + const timeRemaining = Math.max(0, nextFetchTimestamp - now); + + if (timeRemaining <= 0) { + nextRefreshElement.textContent = "Now"; + if (countdownIntervalId) { + clearInterval(countdownIntervalId); + } + return; + } + + // Format the time remaining + const seconds = Math.floor((timeRemaining / 1000) % 60); + const minutes = Math.floor((timeRemaining / (1000 * 60)) % 60); + const hours = Math.floor(timeRemaining / (1000 * 60 * 60)); + + nextRefreshElement.textContent = `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`; +} + +// Helper to pad numbers with leading zeros +function padZero(num) { + return num.toString().padStart(2, "0"); +} diff --git a/pack.rb b/pack.rb deleted file mode 100755 index c807be4..0000000 --- a/pack.rb +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' -require 'zip' - -if File.exist?('./trmnl-firefox.xpi') - File.delete('./trmnl-firefox.xpi') -end - -# Define paths -source_dir = './code' -output_zip = 'trmnl-firefox.zip' -output_xpi = 'trmnl-firefox.xpi' - -# Delete old files if they exist -[output_zip, output_xpi].each { |f| File.delete(f) if File.exist?(f) } - -# Create zip of contents inside ./code (not the folder itself) -Zip::File.open(output_zip, Zip::File::CREATE) do |zipfile| - Dir[File.join(source_dir, '**', '**')].each do |file| - zip_path = file.sub(/^#{Regexp.escape(source_dir)}\/?/, '') - zipfile.add(zip_path, file) - end -end - -# Rename .zip to .xpi -File.rename(output_zip, output_xpi) - -puts "Created: #{output_xpi}" diff --git a/code/panel.html b/panel.html similarity index 99% rename from code/panel.html rename to panel.html index 0f7e728..d6c3905 100644 --- a/code/panel.html +++ b/panel.html @@ -11,7 +11,6 @@ - diff --git a/code/panel.js b/panel.js similarity index 84% rename from code/panel.js rename to panel.js index f0c0cf6..af293cd 100644 --- a/code/panel.js +++ b/panel.js @@ -1,7 +1,7 @@ // panel.js async function updateEnvironmentDisplay() { try { - const result = await browser.storage.local.get(["environment"]); + const result = await chrome.storage.local.get(["environment"]); const env = result.environment || "not set"; document.getElementById("currentEnv").textContent = `Current Environment: ${env}`; @@ -12,7 +12,7 @@ async function updateEnvironmentDisplay() { async function setDevelopmentEnvironment() { try { - await browser.storage.local.set({ environment: "development" }); + await chrome.storage.local.set({ environment: "development" }); console.log("Set to development environment (localhost:3000)"); await updateEnvironmentDisplay(); } catch (error) { @@ -22,7 +22,7 @@ async function setDevelopmentEnvironment() { async function setProductionEnvironment() { try { - await browser.storage.local.set({ environment: "production" }); + await chrome.storage.local.set({ environment: "production" }); console.log("Set to production environment (usetrmnl.com)"); await updateEnvironmentDisplay(); } catch (error) { diff --git a/popup.html b/popup.html new file mode 100644 index 0000000..f85f277 --- /dev/null +++ b/popup.html @@ -0,0 +1,162 @@ + + + + + + TRMNL Settings + + + + + + + + +
+

TRMNL New Tab Settings

+ +
+ + +
+ +
+ + + + +
+ + diff --git a/popup.js b/popup.js new file mode 100644 index 0000000..5879078 --- /dev/null +++ b/popup.js @@ -0,0 +1,330 @@ +// JavaScript for the popup + +document.addEventListener("DOMContentLoaded", initPopup); + +// DOM references +let apiKeyInput; +let saveButton; +let refreshButton; +let statusElement; +let lastUpdatedElement; +let nextUpdateElement; +let refreshRateElement; + +// Initialize the popup +async function initPopup() { + // Initialize DOM references + apiKeyInput = document.getElementById("api-key"); + saveButton = document.getElementById("save-settings"); + refreshButton = document.getElementById("refresh-now"); + statusElement = document.getElementById("status"); + lastUpdatedElement = document.getElementById("last-updated"); + nextUpdateElement = document.getElementById("next-update"); + refreshRateElement = document.getElementById("refresh-rate"); + + setupEventListeners(); + await loadSettings(); + await loadDevices(); + updateStatusInfo(); +} + +async function loadDevices() { + // First try to get devices from local storage + const { devices: storedDevices, environment } = + await chrome.storage.local.get(["devices", "environment"]); + + let devices = []; + + // If we have devices in storage, use them first + if (storedDevices && storedDevices.length > 0) { + console.log("Using devices from local storage"); + devices = storedDevices; + } else { + // If no devices in storage, fetch from server + console.log("No devices in storage, fetching from server"); + const apiUrl = + environment === "development" + ? "http://localhost:3000/devices.json" + : "https://usetrmnl.com/devices.json"; + + try { + const response = await fetch(apiUrl); + devices = await response.json(); + + // Store devices in local storage for future use + await chrome.storage.local.set({ devices }); + } catch (error) { + console.error("Error fetching devices from server:", error); + // If we can't fetch, ensure devices is at least an empty array + devices = []; + } + } + + const { selectedDevice } = await chrome.storage.local.get("selectedDevice"); + + const deviceSelect = document.getElementById("device-select"); + deviceSelect.innerHTML = ""; // Clear existing options + + if (devices && devices.length > 0) { + devices.forEach((device) => { + const option = document.createElement("option"); + option.value = device.api_key; + option.textContent = device.name; + option.selected = + selectedDevice && selectedDevice.api_key === device.api_key; + deviceSelect.appendChild(option); + }); + + // If no device is selected, select the first one + if (!selectedDevice) { + await chrome.storage.local.set({ + selectedDevice: devices[0], + apiKey: devices[0].api_key, + }); + chrome.runtime.sendMessage({ action: "forceRefresh" }); + } + } else { + const option = document.createElement("option"); + option.value = ""; + option.textContent = "No devices found"; + deviceSelect.appendChild(option); + } + + // Add change event listener + deviceSelect.addEventListener("change", async (e) => { + const selectedApiKey = e.target.value; + const selectedDevice = devices.find((d) => d.api_key === selectedApiKey); + + if (selectedDevice) { + // Initial logging + console.log("Device change initiated:", { + deviceName: selectedDevice.name, + apiKey: selectedDevice.api_key.substring(0, 8) + "...", // Log partial key for safety + timestamp: new Date().toISOString(), + }); + + showStatus("Changing device..."); + + try { + // Log pre-update storage state + const beforeState = await chrome.storage.local.get([ + "selectedDevice", + "apiKey", + "retryCount", + "retryAfter", + "lastFetch", + ]); + console.log("Storage state before update:", beforeState); + + // Update the device in storage + await chrome.storage.local.set({ + selectedDevice, + apiKey: selectedDevice.api_key, + retryCount: 0, + retryAfter: null, + lastFetch: 0, + }); + + console.log("Storage updated with new device settings"); + + // Verify storage update + const afterState = await chrome.storage.local.get([ + "selectedDevice", + "apiKey", + "retryCount", + "retryAfter", + "lastFetch", + ]); + console.log("Storage state after update:", afterState); + + // Force refresh with detailed logging + console.log("Initiating force refresh..."); + chrome.runtime.sendMessage({ action: "forceRefresh" }, (response) => { + console.log("Force refresh response received:", { + response, + timestamp: new Date().toISOString(), + }); + + if (response && response.success) { + console.log("Device change and refresh successful"); + hideStatus(); + } else { + console.warn("Initial refresh attempt unsuccessful:", { + response, + error: response?.error, + timestamp: new Date().toISOString(), + }); + + hideStatus(); + + // Schedule retry + console.log("Scheduling retry refresh..."); + setTimeout(() => { + console.log("Executing retry refresh..."); + chrome.runtime.sendMessage( + { action: "forceRefresh" }, + (retryResponse) => { + console.log("Retry refresh response:", { + response: retryResponse, + timestamp: new Date().toISOString(), + }); + + if (retryResponse && retryResponse.success) { + console.log("Retry refresh successful"); + } else { + console.warn("Retry refresh unsuccessful:", { + response: retryResponse, + error: retryResponse?.error, + }); + } + }, + ); + }, 1000); + } + }); + } catch (error) { + console.error("Error during device change process:", { + error, + message: error.message, + stack: error.stack, + timestamp: new Date().toISOString(), + }); + showStatus("Error changing device", true); + } + } else { + console.warn("No device found for selected API key:", { + selectedApiKey: selectedApiKey + ? selectedApiKey.substring(0, 8) + "..." + : "none", + timestamp: new Date().toISOString(), + }); + } + }); +} + +// Set up event listeners +function setupEventListeners() { + // Save button + if (saveButton) { + saveButton.addEventListener("click", saveSettings); + } + + // Refresh button + if (refreshButton) { + refreshButton.addEventListener("click", refreshImage); + } + + // Enter key in input field + if (apiKeyInput) { + apiKeyInput.addEventListener("keypress", (e) => { + if (e.key === "Enter") { + saveSettings(); + } + }); + } +} + +// Load settings from storage +async function loadSettings() { + const storage = await chrome.storage.local.get(["apiKey"]); + + if (storage.apiKey && apiKeyInput) { + // Mask the API key for display + apiKeyInput.value = storage.apiKey; + } +} + +// Save settings to storage +async function saveSettings() { + const apiKey = apiKeyInput ? apiKeyInput.value.trim() : ""; + + if (apiKey) { + await chrome.runtime.sendMessage({ + action: "saveApiKey", + apiKey: apiKey, + }); + + showStatus("Settings saved"); + setTimeout(hideStatus, 3000); + } else { + showStatus("API key cannot be empty", true); + } +} + +// Force an image refresh +function refreshImage() { + showStatus("Refreshing image..."); + + chrome.runtime.sendMessage({ action: "forceRefresh" }, (response) => { + if (response && response.success) { + showStatus("Image refreshed successfully"); + } else { + showStatus("Refresh scheduled (retry in progress)", true); + } + + setTimeout(() => { + updateStatusInfo(); + hideStatus(); + }, 3000); + }); +} + +// Update the status of last/next refresh +async function updateStatusInfo() { + const storage = await chrome.storage.local.get([ + "lastFetch", + "nextFetch", + "refreshRate", + "retryCount", + "retryAfter", + ]); + + if (storage.lastFetch && lastUpdatedElement) { + const lastFetchDate = new Date(storage.lastFetch); + lastUpdatedElement.textContent = `Last updated: ${formatDateTime(lastFetchDate)}`; + } + + // Check if we're in a retry backoff period + if ( + storage.retryAfter && + Date.now() < storage.retryAfter && + nextUpdateElement + ) { + const retryDate = new Date(storage.retryAfter); + nextUpdateElement.textContent = `Retry after: ${formatDateTime(retryDate)}`; + + // Add retry count if available + if (storage.retryCount) { + nextUpdateElement.textContent += ` (attempt ${storage.retryCount})`; + } + } + // Otherwise show the normal next update time + else if (storage.nextFetch && nextUpdateElement) { + const nextFetchDate = new Date(storage.nextFetch); + nextUpdateElement.textContent = `Next update: ${formatDateTime(nextFetchDate)}`; + } + + if (storage.refreshRate && refreshRateElement) { + refreshRateElement.textContent = `Refresh rate: ${storage.refreshRate} seconds`; + } +} + +// Show a status message +function showStatus(message, isError = false) { + if (statusElement) { + statusElement.textContent = message; + statusElement.style.color = isError ? "#ff5555" : "#55ff55"; + } +} + +// Hide the status message +function hideStatus() { + if (statusElement) { + statusElement.textContent = ""; + } +} + +// Format date and time +function formatDateTime(date) { + return date.toLocaleString(); +} diff --git a/code/setup-logo.bmp b/setup-logo.bmp similarity index 100% rename from code/setup-logo.bmp rename to setup-logo.bmp diff --git a/code/styles.css b/styles.css similarity index 51% rename from code/styles.css rename to styles.css index db1ca0f..7b26c03 100644 --- a/code/styles.css +++ b/styles.css @@ -80,6 +80,7 @@ html { max-width: 500px; width: 90%; text-align: center; + color: white; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); } @@ -89,26 +90,35 @@ html { color: #fff; } -.login-actions { +.api-key-input { + display: flex; margin-top: 20px; - text-align: center; } -.login-actions button { - padding: 12px 24px; +.api-key-input input { + flex: 1; + padding: 10px; border: none; - border-radius: 6px; - background-color: #28a745; + border-radius: 4px 0 0 4px; + font-size: 16px; + background-color: #333; + color: #fff; +} + +.api-key-input button { + padding: 10px 20px; + border: none; + border-radius: 0 4px 4px 0; + background-color: rgb(248, 101, 75); color: white; font-size: 16px; - font-weight: 600; cursor: pointer; transition: background-color 0.2s; - min-width: 160px; } -.login-actions button:hover { - background-color: #218838; +.api-key-input button:hover { + background-color: #ffffff; + color: rgb(248, 101, 75); } #info-overlay { @@ -171,123 +181,3 @@ html { background-color: rgb(15 15 15); } } - -/* New Tab Body Styles */ -.newtab-body { - display: flex; - justify-content: center; - background-color: #f0f0f0; - max-width: 100%; - overflow-x: hidden; -} - -@media (prefers-color-scheme: dark) { - .newtab-body { - background-color: rgb(15 15 15); - } -} - -/* TRMNL Image Styles */ -.trmnl-image { - border-radius: 12px; - background-color: #e5e7eb; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - border: 1px solid #d1d5db; -} - -@media (prefers-color-scheme: dark) { - .trmnl-image { - background-color: #374151; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.8); - border: 1px solid #4b5563; - } -} - -/* Popup Styles */ -.popup-body { - background-color: rgba(243, 244, 246, 0.8); -} - -@media (prefers-color-scheme: dark) { - .popup-body { - background-color: rgba(15, 15, 15, 0.8); - } -} - -.popup-title { - font-family: "EB Garamond", serif; - font-optical-sizing: auto; - font-weight: 500; - font-style: normal; -} - -.popup-label { - font-family: "Inter", sans-serif; - font-optical-sizing: auto; - font-weight: 600; - font-style: normal; - margin-bottom: 4px; - display: block; -} - -.popup-select { - width: 100%; - padding: 8px; - border-radius: 8px; - background-color: #f3f4f6; - border: 1px solid #d1d5db; - color: #111827; -} - -.popup-select:focus { - outline: none; - ring: 2px; - ring-color: #3b82f6; -} - -@media (prefers-color-scheme: dark) { - .popup-select { - background-color: #374151; - border: 1px solid #4b5563; - color: #ffffff; - } - - .popup-select:focus { - ring-color: #60a5fa; - } -} - -/* Image Container Layout */ -.image-container { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: flex-start; -} - -/* Info overlay buttons */ -.info-content button { - background-color: rgba(255, 255, 255, 0.2); - color: white; - border: 1px solid rgba(255, 255, 255, 0.3); - padding: 8px 16px; - border-radius: 6px; - cursor: pointer; - font-size: 14px; - transition: background-color 0.2s ease; -} - -.info-content button:hover { - background-color: rgba(255, 255, 255, 0.3); -} - -/* Logout button specific styling */ -#logout-btn { - background-color: rgba(220, 53, 69, 0.8) !important; - border-color: rgba(220, 53, 69, 0.5) !important; -} - -#logout-btn:hover { - background-color: rgba(200, 35, 51, 0.9) !important; - border-color: rgba(200, 35, 51, 0.7) !important; -} diff --git a/tailwind_4_0_13.js b/tailwind_4_0_13.js new file mode 100644 index 0000000..dd9a510 --- /dev/null +++ b/tailwind_4_0_13.js @@ -0,0 +1,11109 @@ +"use strict"; +(() => { + var $t = "4.0.13"; + var ke = 92, + Ke = 47, + Pe = 42, + oo = 34, + no = 39, + io = 58, + Ue = 59, + le = 10, + we = 32, + _e = 9, + Tt = 123, + tt = 125, + nt = 40, + Vt = 41, + lo = 91, + ao = 93, + Et = 45, + rt = 64, + so = 33; + function pe(t) { + t[0] === "\uFEFF" && (t = t.slice(1)), + (t = t.replaceAll( + `\r +`, + ` +`, + )); + let r = [], + o = [], + e = [], + n = null, + s = null, + l = "", + p = "", + c; + for (let d = 0; d < t.length; d++) { + let u = t.charCodeAt(d); + if (u === ke) (l += t.slice(d, d + 2)), (d += 1); + else if (u === Ke && t.charCodeAt(d + 1) === Pe) { + let g = d; + for (let v = d + 2; v < t.length; v++) + if (((c = t.charCodeAt(v)), c === ke)) v += 1; + else if (c === Pe && t.charCodeAt(v + 1) === Ke) { + d = v + 1; + break; + } + let m = t.slice(g, d + 1); + m.charCodeAt(2) === so && o.push(De(m.slice(2, -2))); + } else if (u === no || u === oo) { + let g = d; + for (let m = d + 1; m < t.length; m++) + if (((c = t.charCodeAt(m)), c === ke)) m += 1; + else if (c === u) { + d = m; + break; + } else { + if (c === Ue && t.charCodeAt(m + 1) === le) + throw new Error( + `Unterminated string: ${t.slice(g, m + 1) + String.fromCharCode(u)}`, + ); + if (c === le) + throw new Error( + `Unterminated string: ${t.slice(g, m) + String.fromCharCode(u)}`, + ); + } + l += t.slice(g, d + 1); + } else { + if ( + (u === we || u === le || u === _e) && + (c = t.charCodeAt(d + 1)) && + (c === we || c === le || c === _e) + ) + continue; + if (u === le) { + if (l.length === 0) continue; + (c = l.charCodeAt(l.length - 1)), + c !== we && c !== le && c !== _e && (l += " "); + } else if (u === Et && t.charCodeAt(d + 1) === Et && l.length === 0) { + let g = "", + m = d, + v = -1; + for (let b = d + 2; b < t.length; b++) + if (((c = t.charCodeAt(b)), c === ke)) b += 1; + else if (c === Ke && t.charCodeAt(b + 1) === Pe) { + for (let x = b + 2; x < t.length; x++) + if (((c = t.charCodeAt(x)), c === ke)) x += 1; + else if (c === Pe && t.charCodeAt(x + 1) === Ke) { + b = x + 1; + break; + } + } else if (v === -1 && c === io) v = l.length + b - m; + else if (c === Ue && g.length === 0) { + (l += t.slice(m, b)), (d = b); + break; + } else if (c === nt) g += ")"; + else if (c === lo) g += "]"; + else if (c === Tt) g += "}"; + else if ((c === tt || t.length - 1 === b) && g.length === 0) { + (d = b - 1), (l += t.slice(m, b)); + break; + } else + (c === Vt || c === ao || c === tt) && + g.length > 0 && + t[b] === g[g.length - 1] && + (g = g.slice(0, -1)); + let y = ot(l, v); + if (!y) throw new Error("Invalid custom property, expected a value"); + n ? n.nodes.push(y) : r.push(y), (l = ""); + } else if (u === Ue && l.charCodeAt(0) === rt) + (s = xe(l)), n ? n.nodes.push(s) : r.push(s), (l = ""), (s = null); + else if (u === Ue && p[p.length - 1] !== ")") { + let g = ot(l); + if (!g) + throw l.length === 0 + ? new Error("Unexpected semicolon") + : new Error(`Invalid declaration: \`${l.trim()}\``); + n ? n.nodes.push(g) : r.push(g), (l = ""); + } else if (u === Tt && p[p.length - 1] !== ")") + (p += "}"), + (s = M(l.trim())), + n && n.nodes.push(s), + e.push(n), + (n = s), + (l = ""), + (s = null); + else if (u === tt && p[p.length - 1] !== ")") { + if (p === "") throw new Error("Missing opening {"); + if (((p = p.slice(0, -1)), l.length > 0)) + if (l.charCodeAt(0) === rt) + (s = xe(l)), + n ? n.nodes.push(s) : r.push(s), + (l = ""), + (s = null); + else { + let m = l.indexOf(":"); + if (n) { + let v = ot(l, m); + if (!v) throw new Error(`Invalid declaration: \`${l.trim()}\``); + n.nodes.push(v); + } + } + let g = e.pop() ?? null; + g === null && n && r.push(n), (n = g), (l = ""), (s = null); + } else if (u === nt) (p += ")"), (l += "("); + else if (u === Vt) { + if (p[p.length - 1] !== ")") throw new Error("Missing opening ("); + (p = p.slice(0, -1)), (l += ")"); + } else { + if (l.length === 0 && (u === we || u === le || u === _e)) continue; + l += String.fromCharCode(u); + } + } + } + if ((l.charCodeAt(0) === rt && r.push(xe(l)), p.length > 0 && n)) { + if (n.kind === "rule") + throw new Error(`Missing closing } at ${n.selector}`); + if (n.kind === "at-rule") + throw new Error(`Missing closing } at ${n.name} ${n.params}`); + } + return o.length > 0 ? o.concat(r) : r; + } + function xe(t, r = []) { + for (let o = 5; o < t.length; o++) { + let e = t.charCodeAt(o); + if (e === we || e === nt) { + let n = t.slice(0, o).trim(), + s = t.slice(o).trim(); + return U(n, s, r); + } + } + return U(t.trim(), "", r); + } + function ot(t, r = t.indexOf(":")) { + if (r === -1) return null; + let o = t.indexOf("!important", r + 1); + return a( + t.slice(0, r).trim(), + t.slice(r + 1, o === -1 ? t.length : o).trim(), + o !== -1, + ); + } + function re(t) { + if (arguments.length === 0) + throw new TypeError("`CSS.escape` requires an argument."); + let r = String(t), + o = r.length, + e = -1, + n, + s = "", + l = r.charCodeAt(0); + if (o === 1 && l === 45) return "\\" + r; + for (; ++e < o; ) { + if (((n = r.charCodeAt(e)), n === 0)) { + s += "\uFFFD"; + continue; + } + if ( + (n >= 1 && n <= 31) || + n === 127 || + (e === 0 && n >= 48 && n <= 57) || + (e === 1 && n >= 48 && n <= 57 && l === 45) + ) { + s += "\\" + n.toString(16) + " "; + continue; + } + if ( + n >= 128 || + n === 45 || + n === 95 || + (n >= 48 && n <= 57) || + (n >= 65 && n <= 90) || + (n >= 97 && n <= 122) + ) { + s += r.charAt(e); + continue; + } + s += "\\" + r.charAt(e); + } + return s; + } + function ae(t) { + return t.replace(/\\([\dA-Fa-f]{1,6}[\t\n\f\r ]?|[\S\s])/g, (r) => + r.length > 2 + ? String.fromCodePoint(Number.parseInt(r.slice(1).trim(), 16)) + : r[1], + ); + } + var Ot = new Map([ + ["--font", ["--font-weight", "--font-size"]], + ["--inset", ["--inset-shadow", "--inset-ring"]], + [ + "--text", + [ + "--text-color", + "--text-underline-offset", + "--text-indent", + "--text-decoration-thickness", + "--text-decoration-color", + ], + ], + ]); + function Rt(t, r) { + return (Ot.get(r) ?? []).some((o) => t === o || t.startsWith(`${o}-`)); + } + var ze = class { + constructor(r = new Map(), o = new Set([])) { + this.values = r; + this.keyframes = o; + } + prefix = null; + add(r, o, e = 0) { + if (r.endsWith("-*")) { + if (o !== "initial") + throw new Error( + `Invalid theme value \`${o}\` for namespace \`${r}\``, + ); + r === "--*" + ? this.values.clear() + : this.clearNamespace(r.slice(0, -2), 0); + } + if (e & 4) { + let n = this.values.get(r); + if (n && !(n.options & 4)) return; + } + o === "initial" + ? this.values.delete(r) + : this.values.set(r, { value: o, options: e }); + } + keysInNamespaces(r) { + let o = []; + for (let e of r) { + let n = `${e}-`; + for (let s of this.values.keys()) + s.startsWith(n) && + s.indexOf("--", 2) === -1 && + (Rt(s, e) || o.push(s.slice(n.length))); + } + return o; + } + get(r) { + for (let o of r) { + let e = this.values.get(o); + if (e) return e.value; + } + return null; + } + hasDefault(r) { + return (this.getOptions(r) & 4) === 4; + } + getOptions(r) { + return (r = ae(this.#r(r))), this.values.get(r)?.options ?? 0; + } + entries() { + return this.prefix + ? Array.from(this.values, (r) => ((r[0] = this.prefixKey(r[0])), r)) + : this.values.entries(); + } + prefixKey(r) { + return this.prefix ? `--${this.prefix}-${r.slice(2)}` : r; + } + #r(r) { + return this.prefix ? `--${r.slice(3 + this.prefix.length)}` : r; + } + clearNamespace(r, o) { + let e = Ot.get(r) ?? []; + e: for (let n of this.values.keys()) + if (n.startsWith(r)) { + if (o !== 0 && (this.getOptions(n) & o) !== o) continue; + for (let s of e) if (n.startsWith(s)) continue e; + this.values.delete(n); + } + } + #e(r, o) { + for (let e of o) { + let n = r !== null ? `${e}-${r}` : e; + if (!this.values.has(n)) + if (r !== null && r.includes(".")) { + if (((n = `${e}-${r.replaceAll(".", "_")}`), !this.values.has(n))) + continue; + } else continue; + if (!Rt(n, e)) return n; + } + return null; + } + #t(r) { + let o = this.values.get(r); + if (!o) return null; + let e = null; + return ( + o.options & 2 && (e = o.value), + `var(${re(this.prefixKey(r))}${e ? `, ${e}` : ""})` + ); + } + markUsedVariable(r) { + let o = ae(this.#r(r)), + e = this.values.get(o); + e && (e.options |= 16); + } + resolve(r, o) { + let e = this.#e(r, o); + if (!e) return null; + let n = this.values.get(e); + return n.options & 1 ? n.value : this.#t(e); + } + resolveValue(r, o) { + let e = this.#e(r, o); + return e ? this.values.get(e).value : null; + } + resolveWith(r, o, e = []) { + let n = this.#e(r, o); + if (!n) return null; + let s = {}; + for (let p of e) { + let c = `${n}${p}`, + d = this.values.get(c); + d && (d.options & 1 ? (s[p] = d.value) : (s[p] = this.#t(c))); + } + let l = this.values.get(n); + return l.options & 1 ? [l.value, s] : [this.#t(n), s]; + } + namespace(r) { + let o = new Map(), + e = `${r}-`; + for (let [n, s] of this.values) + n === r + ? o.set(null, s.value) + : n.startsWith(`${e}-`) + ? o.set(n.slice(r.length), s.value) + : n.startsWith(e) && o.set(n.slice(e.length), s.value); + return o; + } + addKeyframes(r) { + this.keyframes.add(r); + } + getKeyframes() { + return Array.from(this.keyframes); + } + }; + var j = class extends Map { + constructor(o) { + super(); + this.factory = o; + } + get(o) { + let e = super.get(o); + return e === void 0 && ((e = this.factory(o, this)), this.set(o, e)), e; + } + }; + function lt(t) { + return { kind: "word", value: t }; + } + function uo(t, r) { + return { kind: "function", value: t, nodes: r }; + } + function co(t) { + return { kind: "separator", value: t }; + } + function ee(t, r, o = null) { + for (let e = 0; e < t.length; e++) { + let n = t[e], + s = !1, + l = 0, + p = + r(n, { + parent: o, + replaceWith(c) { + (s = !0), + Array.isArray(c) + ? c.length === 0 + ? (t.splice(e, 1), (l = 0)) + : c.length === 1 + ? ((t[e] = c[0]), (l = 1)) + : (t.splice(e, 1, ...c), (l = c.length)) + : (t[e] = c); + }, + }) ?? 0; + if (s) { + p === 0 ? e-- : (e += l - 1); + continue; + } + if (p === 2) return 2; + if (p !== 1 && n.kind === "function" && ee(n.nodes, r, n) === 2) return 2; + } + } + function H(t) { + let r = ""; + for (let o of t) + switch (o.kind) { + case "word": + case "separator": { + r += o.value; + break; + } + case "function": + r += o.value + "(" + H(o.nodes) + ")"; + } + return r; + } + var Kt = 92, + fo = 41, + Pt = 58, + Ut = 44, + po = 34, + _t = 61, + Dt = 62, + zt = 60, + Ft = 10, + mo = 40, + go = 39, + jt = 47, + It = 32, + Lt = 9; + function L(t) { + t = t.replaceAll( + `\r +`, + ` +`, + ); + let r = [], + o = [], + e = null, + n = "", + s; + for (let l = 0; l < t.length; l++) { + let p = t.charCodeAt(l); + switch (p) { + case Kt: { + (n += t[l] + t[l + 1]), l++; + break; + } + case Pt: + case Ut: + case _t: + case Dt: + case zt: + case Ft: + case jt: + case It: + case Lt: { + if (n.length > 0) { + let g = lt(n); + e ? e.nodes.push(g) : r.push(g), (n = ""); + } + let c = l, + d = l + 1; + for ( + ; + d < t.length && + ((s = t.charCodeAt(d)), + !( + s !== Pt && + s !== Ut && + s !== _t && + s !== Dt && + s !== zt && + s !== Ft && + s !== jt && + s !== It && + s !== Lt + )); + d++ + ); + l = d - 1; + let u = co(t.slice(c, d)); + e ? e.nodes.push(u) : r.push(u); + break; + } + case go: + case po: { + let c = l; + for (let d = l + 1; d < t.length; d++) + if (((s = t.charCodeAt(d)), s === Kt)) d += 1; + else if (s === p) { + l = d; + break; + } + n += t.slice(c, l + 1); + break; + } + case mo: { + let c = uo(n, []); + (n = ""), e ? e.nodes.push(c) : r.push(c), o.push(c), (e = c); + break; + } + case fo: { + let c = o.pop(); + if (n.length > 0) { + let d = lt(n); + c.nodes.push(d), (n = ""); + } + o.length > 0 ? (e = o[o.length - 1]) : (e = null); + break; + } + default: + n += String.fromCharCode(p); + } + } + return n.length > 0 && r.push(lt(n)), r; + } + function Fe(t) { + let r = []; + return ( + ee(L(t), (o) => { + if (!(o.kind !== "function" || o.value !== "var")) + return ( + ee(o.nodes, (e) => { + e.kind !== "word" || + e.value[0] !== "-" || + e.value[1] !== "-" || + r.push(e.value); + }), + 1 + ); + }), + r + ); + } + var bo = 64; + function z(t, r = []) { + return { kind: "rule", selector: t, nodes: r }; + } + function U(t, r = "", o = []) { + return { kind: "at-rule", name: t, params: r, nodes: o }; + } + function M(t, r = []) { + return t.charCodeAt(0) === bo ? xe(t, r) : z(t, r); + } + function a(t, r, o = !1) { + return { kind: "declaration", property: t, value: r, important: o }; + } + function De(t) { + return { kind: "comment", value: t }; + } + function Q(t, r) { + return { kind: "context", context: t, nodes: r }; + } + function D(t) { + return { kind: "at-root", nodes: t }; + } + function _(t, r, o = [], e = {}) { + for (let n = 0; n < t.length; n++) { + let s = t[n], + l = o[o.length - 1] ?? null; + if (s.kind === "context") { + if (_(s.nodes, r, o, { ...e, ...s.context }) === 2) return 2; + continue; + } + o.push(s); + let p = !1, + c = 0, + d = + r(s, { + parent: l, + context: e, + path: o, + replaceWith(u) { + (p = !0), + Array.isArray(u) + ? u.length === 0 + ? (t.splice(n, 1), (c = 0)) + : u.length === 1 + ? ((t[n] = u[0]), (c = 1)) + : (t.splice(n, 1, ...u), (c = u.length)) + : ((t[n] = u), (c = 1)); + }, + }) ?? 0; + if ((o.pop(), p)) { + d === 0 ? n-- : (n += c - 1); + continue; + } + if (d === 2) return 2; + if (d !== 1 && "nodes" in s) { + o.push(s); + let u = _(s.nodes, r, o, e); + if ((o.pop(), u === 2)) return 2; + } + } + } + function je(t, r, o = [], e = {}) { + for (let n = 0; n < t.length; n++) { + let s = t[n], + l = o[o.length - 1] ?? null; + if (s.kind === "rule" || s.kind === "at-rule") + o.push(s), je(s.nodes, r, o, e), o.pop(); + else if (s.kind === "context") { + je(s.nodes, r, o, { ...e, ...s.context }); + continue; + } + o.push(s), + r(s, { + parent: l, + context: e, + path: o, + replaceWith(p) { + Array.isArray(p) + ? p.length === 0 + ? t.splice(n, 1) + : p.length === 1 + ? (t[n] = p[0]) + : t.splice(n, 1, ...p) + : (t[n] = p), + (n += p.length - 1); + }, + }), + o.pop(); + } + } + function se(t, r) { + let o = [], + e = new Set(), + n = new j(() => new Set()), + s = new Set(), + l = new Set(), + p = new j(() => new Set()); + function c(u, g, m = {}, v = 0) { + if (u.kind === "declaration") { + if ( + u.property === "--tw-sort" || + u.value === void 0 || + u.value === null + ) + return; + if ( + (m.theme && + u.property[0] === "-" && + u.property[1] === "-" && + (m.keyframes || n.get(g).add(u)), + u.value.includes("var(")) + ) + if (m.theme && u.property[0] === "-" && u.property[1] === "-") + for (let y of Fe(u.value)) p.get(y).add(u.property); + else r.trackUsedVariables(u.value); + if (u.property === "animation") { + let y = u.value.split(/\s+/); + for (let b of y) l.add(b); + } + g.push(u); + } else if (u.kind === "rule") + if (u.selector === "&") + for (let y of u.nodes) { + let b = []; + c(y, b, m, v + 1), b.length > 0 && g.push(...b); + } + else { + let y = { ...u, nodes: [] }; + for (let b of u.nodes) c(b, y.nodes, m, v + 1); + y.nodes.length > 0 && g.push(y); + } + else if (u.kind === "at-rule" && u.name === "@property" && v === 0) { + if (e.has(u.params)) return; + e.add(u.params); + let y = { ...u, nodes: [] }; + for (let b of u.nodes) c(b, y.nodes, m, v + 1); + g.push(y); + } else if (u.kind === "at-rule") { + u.name === "@keyframes" && (m = { ...m, keyframes: !0 }); + let y = { ...u, nodes: [] }; + for (let b of u.nodes) c(b, y.nodes, m, v + 1); + u.name === "@keyframes" && m.theme && s.add(y), + (y.nodes.length > 0 || + y.name === "@layer" || + y.name === "@charset" || + y.name === "@custom-media" || + y.name === "@namespace" || + y.name === "@import") && + g.push(y); + } else if (u.kind === "at-root") + for (let y of u.nodes) { + let b = []; + c(y, b, m, 0); + for (let x of b) o.push(x); + } + else if (u.kind === "context") { + if (u.context.reference) return; + for (let y of u.nodes) c(y, g, { ...m, ...u.context }, v); + } else u.kind === "comment" && g.push(u); + } + let d = []; + for (let u of t) c(u, d, {}, 0); + e: for (let [u, g] of n) + for (let m of g) { + if (Mt(m.property, r.theme, p)) { + if (m.property.startsWith(r.theme.prefixKey("--animate-"))) { + let b = m.value.split(/\s+/); + for (let x of b) l.add(x); + } + continue; + } + let y = u.indexOf(m); + if ((u.splice(y, 1), u.length === 0)) { + let b = yo(d, (x) => x.kind === "rule" && x.nodes === u); + if (!b || b.length === 0) continue e; + b.unshift({ kind: "at-root", nodes: d }); + do { + let x = b.pop(); + if (!x) break; + let $ = b[b.length - 1]; + if (!$ || ($.kind !== "at-root" && $.kind !== "at-rule")) break; + let V = $.nodes.indexOf(x); + if (V === -1) break; + $.nodes.splice(V, 1); + } while (!0); + continue e; + } + } + for (let u of s) + if (!l.has(u.params)) { + let g = o.indexOf(u); + o.splice(g, 1); + } + return d.concat(o); + } + function Y(t) { + function r(e, n = 0) { + let s = "", + l = " ".repeat(n); + if (e.kind === "declaration") + s += `${l}${e.property}: ${e.value}${e.important ? " !important" : ""}; +`; + else if (e.kind === "rule") { + s += `${l}${e.selector} { +`; + for (let p of e.nodes) s += r(p, n + 1); + s += `${l}} +`; + } else if (e.kind === "at-rule") { + if (e.nodes.length === 0) + return `${l}${e.name} ${e.params}; +`; + s += `${l}${e.name}${e.params ? ` ${e.params} ` : " "}{ +`; + for (let p of e.nodes) s += r(p, n + 1); + s += `${l}} +`; + } else if (e.kind === "comment") + s += `${l}/*${e.value}*/ +`; + else if (e.kind === "context" || e.kind === "at-root") return ""; + return s; + } + let o = ""; + for (let e of t) { + let n = r(e); + n !== "" && (o += n); + } + return o; + } + function yo(t, r) { + let o = []; + return ( + _(t, (e, { path: n }) => { + if (r(e)) return (o = [...n]), 2; + }), + o + ); + } + function Mt(t, r, o, e = new Set()) { + if (e.has(t) || (e.add(t), r.getOptions(t) & 24)) return !0; + { + let s = o.get(t) ?? []; + for (let l of s) if (Mt(l, r, o, e)) return !0; + } + return !1; + } + var st = [ + "calc", + "min", + "max", + "clamp", + "mod", + "rem", + "sin", + "cos", + "tan", + "asin", + "acos", + "atan", + "atan2", + "pow", + "sqrt", + "hypot", + "log", + "exp", + "round", + ], + Ie = ["anchor-size"], + Bt = new RegExp(`(${Ie.join("|")})\\(`, "g"); + function Ce(t) { + return t.indexOf("(") !== -1 && st.some((r) => t.includes(`${r}(`)); + } + function Wt(t) { + if (!st.some((n) => t.includes(n))) return t; + let r = !1; + Ie.some((n) => t.includes(n)) && + ((Bt.lastIndex = 0), + (t = t.replace(Bt, (n, s) => ((r = !0), `$${Ie.indexOf(s)}$(`)))); + let o = "", + e = []; + for (let n = 0; n < t.length; n++) { + let s = t[n]; + if (s === "(") { + o += s; + let l = n; + for (let c = n - 1; c >= 0; c--) { + let d = t.charCodeAt(c); + if (d >= 48 && d <= 57) l = c; + else if (d >= 97 && d <= 122) l = c; + else break; + } + let p = t.slice(l, n); + if (st.includes(p)) { + e.unshift(!0); + continue; + } else if (e[0] && p === "") { + e.unshift(!0); + continue; + } + e.unshift(!1); + continue; + } else if (s === ")") (o += s), e.shift(); + else if (s === "," && e[0]) { + o += ", "; + continue; + } else { + if (s === " " && e[0] && o[o.length - 1] === " ") continue; + if ((s === "+" || s === "*" || s === "/" || s === "-") && e[0]) { + let l = o.trimEnd(), + p = l[l.length - 1]; + if (p === "+" || p === "*" || p === "/" || p === "-") { + o += s; + continue; + } else if (p === "(" || p === ",") { + o += s; + continue; + } else t[n - 1] === " " ? (o += `${s} `) : (o += ` ${s} `); + } else if (e[0] && t.startsWith("to-zero", n)) { + let l = n; + (n += 7), (o += t.slice(l, n + 1)); + } else o += s; + } + } + return r ? o.replace(/\$(\d+)\$/g, (n, s) => Ie[s] ?? n) : o; + } + function oe(t) { + if (t.indexOf("(") === -1) return me(t); + let r = L(t); + return ut(r), (t = H(r)), (t = Wt(t)), t; + } + function me(t, r = !1) { + let o = ""; + for (let e = 0; e < t.length; e++) { + let n = t[e]; + n === "\\" && t[e + 1] === "_" + ? ((o += "_"), (e += 1)) + : n === "_" && !r + ? (o += " ") + : (o += n); + } + return o; + } + function ut(t) { + for (let r of t) + switch (r.kind) { + case "function": { + if (r.value === "url" || r.value.endsWith("_url")) { + r.value = me(r.value); + break; + } + if ( + r.value === "var" || + r.value.endsWith("_var") || + r.value === "theme" || + r.value.endsWith("_theme") + ) { + r.value = me(r.value); + for (let o = 0; o < r.nodes.length; o++) { + if (o == 0 && r.nodes[o].kind === "word") { + r.nodes[o].value = me(r.nodes[o].value, !0); + continue; + } + ut([r.nodes[o]]); + } + break; + } + (r.value = me(r.value)), ut(r.nodes); + break; + } + case "separator": + case "word": { + r.value = me(r.value); + break; + } + default: + vo(r); + } + } + function vo(t) { + throw new Error(`Unexpected value: ${t}`); + } + var Le = new Uint8Array(256); + function P(t, r) { + let o = 0, + e = [], + n = 0, + s = t.length, + l = r.charCodeAt(0); + for (let p = 0; p < s; p++) { + let c = t.charCodeAt(p); + if (o === 0 && c === l) { + e.push(t.slice(n, p)), (n = p + 1); + continue; + } + switch (c) { + case 92: + p += 1; + break; + case 39: + case 34: + for (; ++p < s; ) { + let d = t.charCodeAt(p); + if (d === 92) { + p += 1; + continue; + } + if (d === c) break; + } + break; + case 40: + (Le[o] = 41), o++; + break; + case 91: + (Le[o] = 93), o++; + break; + case 123: + (Le[o] = 125), o++; + break; + case 93: + case 125: + case 41: + o > 0 && c === Le[o - 1] && o--; + break; + } + } + return e.push(t.slice(n)), e; + } + var ko = 58, + qt = 45, + Ht = 97, + Gt = 122; + function* Yt(t, r) { + let o = P(t, ":"); + if (r.theme.prefix) { + if (o.length === 1 || o[0] !== r.theme.prefix) return null; + o.shift(); + } + let e = o.pop(), + n = []; + for (let g = o.length - 1; g >= 0; --g) { + let m = r.parseVariant(o[g]); + if (m === null) return; + n.push(m); + } + let s = !1; + e[e.length - 1] === "!" + ? ((s = !0), (e = e.slice(0, -1))) + : e[0] === "!" && ((s = !0), (e = e.slice(1))), + r.utilities.has(e, "static") && + !e.includes("[") && + (yield { kind: "static", root: e, variants: n, important: s, raw: t }); + let [l, p = null, c] = P(e, "/"); + if (c) return; + let d = p === null ? null : ct(p); + if (p !== null && d === null) return; + if (l[0] === "[") { + if (l[l.length - 1] !== "]") return; + let g = l.charCodeAt(1); + if (g !== qt && !(g >= Ht && g <= Gt)) return; + l = l.slice(1, -1); + let m = l.indexOf(":"); + if (m === -1 || m === 0 || m === l.length - 1) return; + let v = l.slice(0, m), + y = oe(l.slice(m + 1)); + yield { + kind: "arbitrary", + property: v, + value: y, + modifier: d, + variants: n, + important: s, + raw: t, + }; + return; + } + let u; + if (l[l.length - 1] === "]") { + let g = l.indexOf("-["); + if (g === -1) return; + let m = l.slice(0, g); + if (!r.utilities.has(m, "functional")) return; + let v = l.slice(g + 1); + u = [[m, v]]; + } else if (l[l.length - 1] === ")") { + let g = l.indexOf("-("); + if (g === -1) return; + let m = l.slice(0, g); + if (!r.utilities.has(m, "functional")) return; + let v = l.slice(g + 2, -1), + y = P(v, ":"), + b = null; + if ( + (y.length === 2 && ((b = y[0]), (v = y[1])), + v[0] !== "-" && v[1] !== "-") + ) + return; + u = [[m, b === null ? `[var(${v})]` : `[${b}:var(${v})]`]]; + } else u = Zt(l, (g) => r.utilities.has(g, "functional")); + for (let [g, m] of u) { + let v = { + kind: "functional", + root: g, + modifier: d, + value: null, + variants: n, + important: s, + raw: t, + }; + if (m === null) { + yield v; + continue; + } + { + let y = m.indexOf("["); + if (y !== -1) { + if (m[m.length - 1] !== "]") return; + let x = oe(m.slice(y + 1, -1)), + $ = ""; + for (let V = 0; V < x.length; V++) { + let O = x.charCodeAt(V); + if (O === ko) { + ($ = x.slice(0, V)), (x = x.slice(V + 1)); + break; + } + if (!(O === qt || (O >= Ht && O <= Gt))) break; + } + if (x.length === 0 || x.trim().length === 0) continue; + v.value = { kind: "arbitrary", dataType: $ || null, value: x }; + } else { + let x = + p === null || v.modifier?.kind === "arbitrary" ? null : `${m}/${p}`; + v.value = { kind: "named", value: m, fraction: x }; + } + } + yield v; + } + } + function ct(t) { + if (t[0] === "[" && t[t.length - 1] === "]") { + let r = oe(t.slice(1, -1)); + return r.length === 0 || r.trim().length === 0 + ? null + : { kind: "arbitrary", value: r }; + } + if (t[0] === "(" && t[t.length - 1] === ")") { + let r = oe(t.slice(1, -1)); + return r.length === 0 || + r.trim().length === 0 || + (r[0] !== "-" && r[1] !== "-") + ? null + : { kind: "arbitrary", value: `var(${r})` }; + } + return { kind: "named", value: t }; + } + function Jt(t, r) { + if (t[0] === "[" && t[t.length - 1] === "]") { + if (t[1] === "@" && t.includes("&")) return null; + let o = oe(t.slice(1, -1)); + if (o.length === 0 || o.trim().length === 0) return null; + let e = o[0] === ">" || o[0] === "+" || o[0] === "~"; + return ( + !e && o[0] !== "@" && !o.includes("&") && (o = `&:is(${o})`), + { kind: "arbitrary", selector: o, relative: e } + ); + } + { + let [o, e = null, n] = P(t, "/"); + if (n) return null; + let s = Zt(o, (l) => r.variants.has(l)); + for (let [l, p] of s) + switch (r.variants.kind(l)) { + case "static": + return p !== null || e !== null + ? null + : { kind: "static", root: l }; + case "functional": { + let c = e === null ? null : ct(e); + if (e !== null && c === null) return null; + if (p === null) + return { kind: "functional", root: l, modifier: c, value: null }; + if (p[p.length - 1] === "]") { + if (p[0] !== "[") continue; + let d = oe(p.slice(1, -1)); + return d.length === 0 || d.trim().length === 0 + ? null + : { + kind: "functional", + root: l, + modifier: c, + value: { kind: "arbitrary", value: d }, + }; + } + if (p[p.length - 1] === ")") { + if (p[0] !== "(") continue; + let d = oe(p.slice(1, -1)); + return d.length === 0 || + d.trim().length === 0 || + (d[0] !== "-" && d[1] !== "-") + ? null + : { + kind: "functional", + root: l, + modifier: c, + value: { kind: "arbitrary", value: `var(${d})` }, + }; + } + return { + kind: "functional", + root: l, + modifier: c, + value: { kind: "named", value: p }, + }; + } + case "compound": { + if (p === null) return null; + let c = r.parseVariant(p); + if (c === null || !r.variants.compoundsWith(l, c)) return null; + let d = e === null ? null : ct(e); + return e !== null && d === null + ? null + : { kind: "compound", root: l, modifier: d, variant: c }; + } + } + } + return null; + } + function* Zt(t, r) { + r(t) && (yield [t, null]); + let o = t.lastIndexOf("-"); + if (o === -1) { + t[0] === "@" && r("@") && (yield ["@", t.slice(1)]); + return; + } + do { + let e = t.slice(0, o); + if (r(e)) { + let n = [e, t.slice(o + 1)]; + if (n[1] === "") break; + yield n; + } + o = t.lastIndexOf("-", o - 1); + } while (o > 0); + } + function ue(t, r, o) { + if (t === r) return 0; + let e = t.indexOf("("), + n = r.indexOf("("), + s = e === -1 ? t.replace(/[\d.]+/g, "") : t.slice(0, e), + l = n === -1 ? r.replace(/[\d.]+/g, "") : r.slice(0, n), + p = + (s === l ? 0 : s < l ? -1 : 1) || + (o === "asc" ? parseInt(t) - parseInt(r) : parseInt(r) - parseInt(t)); + return Number.isNaN(p) ? (t < r ? -1 : 1) : p; + } + var wo = new Set([ + "black", + "silver", + "gray", + "white", + "maroon", + "red", + "purple", + "fuchsia", + "green", + "lime", + "olive", + "yellow", + "navy", + "blue", + "teal", + "aqua", + "aliceblue", + "antiquewhite", + "aqua", + "aquamarine", + "azure", + "beige", + "bisque", + "black", + "blanchedalmond", + "blue", + "blueviolet", + "brown", + "burlywood", + "cadetblue", + "chartreuse", + "chocolate", + "coral", + "cornflowerblue", + "cornsilk", + "crimson", + "cyan", + "darkblue", + "darkcyan", + "darkgoldenrod", + "darkgray", + "darkgreen", + "darkgrey", + "darkkhaki", + "darkmagenta", + "darkolivegreen", + "darkorange", + "darkorchid", + "darkred", + "darksalmon", + "darkseagreen", + "darkslateblue", + "darkslategray", + "darkslategrey", + "darkturquoise", + "darkviolet", + "deeppink", + "deepskyblue", + "dimgray", + "dimgrey", + "dodgerblue", + "firebrick", + "floralwhite", + "forestgreen", + "fuchsia", + "gainsboro", + "ghostwhite", + "gold", + "goldenrod", + "gray", + "green", + "greenyellow", + "grey", + "honeydew", + "hotpink", + "indianred", + "indigo", + "ivory", + "khaki", + "lavender", + "lavenderblush", + "lawngreen", + "lemonchiffon", + "lightblue", + "lightcoral", + "lightcyan", + "lightgoldenrodyellow", + "lightgray", + "lightgreen", + "lightgrey", + "lightpink", + "lightsalmon", + "lightseagreen", + "lightskyblue", + "lightslategray", + "lightslategrey", + "lightsteelblue", + "lightyellow", + "lime", + "limegreen", + "linen", + "magenta", + "maroon", + "mediumaquamarine", + "mediumblue", + "mediumorchid", + "mediumpurple", + "mediumseagreen", + "mediumslateblue", + "mediumspringgreen", + "mediumturquoise", + "mediumvioletred", + "midnightblue", + "mintcream", + "mistyrose", + "moccasin", + "navajowhite", + "navy", + "oldlace", + "olive", + "olivedrab", + "orange", + "orangered", + "orchid", + "palegoldenrod", + "palegreen", + "paleturquoise", + "palevioletred", + "papayawhip", + "peachpuff", + "peru", + "pink", + "plum", + "powderblue", + "purple", + "rebeccapurple", + "red", + "rosybrown", + "royalblue", + "saddlebrown", + "salmon", + "sandybrown", + "seagreen", + "seashell", + "sienna", + "silver", + "skyblue", + "slateblue", + "slategray", + "slategrey", + "snow", + "springgreen", + "steelblue", + "tan", + "teal", + "thistle", + "tomato", + "turquoise", + "violet", + "wheat", + "white", + "whitesmoke", + "yellow", + "yellowgreen", + "transparent", + "currentcolor", + "canvas", + "canvastext", + "linktext", + "visitedtext", + "activetext", + "buttonface", + "buttontext", + "buttonborder", + "field", + "fieldtext", + "highlight", + "highlighttext", + "selecteditem", + "selecteditemtext", + "mark", + "marktext", + "graytext", + "accentcolor", + "accentcolortext", + ]), + xo = /^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix)\(/i; + function Qt(t) { + return t.charCodeAt(0) === 35 || xo.test(t) || wo.has(t.toLowerCase()); + } + var Ao = { + color: Qt, + length: dt, + percentage: ft, + ratio: Do, + number: Po, + integer: N, + url: Xt, + position: jo, + "bg-size": Io, + "line-width": So, + image: To, + "family-name": Eo, + "generic-name": Vo, + "absolute-size": Ro, + "relative-size": Oo, + angle: Bo, + vector: qo, + }; + function I(t, r) { + if (t.startsWith("var(")) return null; + for (let o of r) if (Ao[o]?.(t)) return o; + return null; + } + var Co = /^url\(.*\)$/; + function Xt(t) { + return Co.test(t); + } + function So(t) { + return t === "thin" || t === "medium" || t === "thick"; + } + var No = /^(?:element|image|cross-fade|image-set)\(/, + $o = /^(repeating-)?(conic|linear|radial)-gradient\(/; + function To(t) { + let r = 0; + for (let o of P(t, ",")) + if (!o.startsWith("var(")) { + if (Xt(o)) { + r += 1; + continue; + } + if ($o.test(o)) { + r += 1; + continue; + } + if (No.test(o)) { + r += 1; + continue; + } + return !1; + } + return r > 0; + } + function Vo(t) { + return ( + t === "serif" || + t === "sans-serif" || + t === "monospace" || + t === "cursive" || + t === "fantasy" || + t === "system-ui" || + t === "ui-serif" || + t === "ui-sans-serif" || + t === "ui-monospace" || + t === "ui-rounded" || + t === "math" || + t === "emoji" || + t === "fangsong" + ); + } + function Eo(t) { + let r = 0; + for (let o of P(t, ",")) { + let e = o.charCodeAt(0); + if (e >= 48 && e <= 57) return !1; + o.startsWith("var(") || (r += 1); + } + return r > 0; + } + function Ro(t) { + return ( + t === "xx-small" || + t === "x-small" || + t === "small" || + t === "medium" || + t === "large" || + t === "x-large" || + t === "xx-large" || + t === "xxx-large" + ); + } + function Oo(t) { + return t === "larger" || t === "smaller"; + } + var te = /[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?/, + Ko = new RegExp(`^${te.source}$`); + function Po(t) { + return Ko.test(t) || Ce(t); + } + var Uo = new RegExp(`^${te.source}%$`); + function ft(t) { + return Uo.test(t) || Ce(t); + } + var _o = new RegExp(`^${te.source}s*/s*${te.source}$`); + function Do(t) { + return _o.test(t) || Ce(t); + } + var zo = [ + "cm", + "mm", + "Q", + "in", + "pc", + "pt", + "px", + "em", + "ex", + "ch", + "rem", + "lh", + "rlh", + "vw", + "vh", + "vmin", + "vmax", + "vb", + "vi", + "svw", + "svh", + "lvw", + "lvh", + "dvw", + "dvh", + "cqw", + "cqh", + "cqi", + "cqb", + "cqmin", + "cqmax", + ], + Fo = new RegExp(`^${te.source}(${zo.join("|")})$`); + function dt(t) { + return Fo.test(t) || Ce(t); + } + function jo(t) { + let r = 0; + for (let o of P(t, " ")) { + if ( + o === "center" || + o === "top" || + o === "right" || + o === "bottom" || + o === "left" + ) { + r += 1; + continue; + } + if (!o.startsWith("var(")) { + if (dt(o) || ft(o)) { + r += 1; + continue; + } + return !1; + } + } + return r > 0; + } + function Io(t) { + let r = 0; + for (let o of P(t, ",")) { + if (o === "cover" || o === "contain") { + r += 1; + continue; + } + let e = P(o, " "); + if (e.length !== 1 && e.length !== 2) return !1; + if (e.every((n) => n === "auto" || dt(n) || ft(n))) { + r += 1; + continue; + } + } + return r > 0; + } + var Lo = ["deg", "rad", "grad", "turn"], + Mo = new RegExp(`^${te.source}(${Lo.join("|")})$`); + function Bo(t) { + return Mo.test(t); + } + var Wo = new RegExp(`^${te.source} +${te.source} +${te.source}$`); + function qo(t) { + return Wo.test(t); + } + function N(t) { + let r = Number(t); + return Number.isInteger(r) && r >= 0 && String(r) === String(t); + } + function pt(t) { + let r = Number(t); + return Number.isInteger(r) && r > 0 && String(r) === String(t); + } + function ge(t) { + return er(t, 0.25); + } + function Me(t) { + return er(t, 0.25); + } + function er(t, r) { + let o = Number(t); + return o >= 0 && o % r === 0 && String(o) === String(t); + } + var Ho = new Set(["inset", "inherit", "initial", "revert", "unset"]), + tr = /^-?(\d+|\.\d+)(.*?)$/g; + function ce(t, r) { + return P(t, ",") + .map((e) => { + e = e.trim(); + let n = P(e, " ").filter((d) => d.trim() !== ""), + s = null, + l = null, + p = null; + for (let d of n) + Ho.has(d) || + (tr.test(d) + ? (l === null ? (l = d) : p === null && (p = d), + (tr.lastIndex = 0)) + : s === null && (s = d)); + if (l === null || p === null) return e; + let c = r(s ?? "currentcolor"); + return s !== null ? e.replace(s, c) : `${e} ${c}`; + }) + .join(", "); + } + var Yo = /^-?[a-z][a-zA-Z0-9/%._-]*$/, + Jo = /^-?[a-z][a-zA-Z0-9/%._-]*-\*$/, + mt = class { + utilities = new j(() => []); + completions = new Map(); + static(r, o) { + this.utilities.get(r).push({ kind: "static", compileFn: o }); + } + functional(r, o, e) { + this.utilities + .get(r) + .push({ kind: "functional", compileFn: o, options: e }); + } + has(r, o) { + return ( + this.utilities.has(r) && + this.utilities.get(r).some((e) => e.kind === o) + ); + } + get(r) { + return this.utilities.has(r) ? this.utilities.get(r) : []; + } + getCompletions(r) { + return this.completions.get(r)?.() ?? []; + } + suggest(r, o) { + this.completions.set(r, o); + } + keys(r) { + let o = []; + for (let [e, n] of this.utilities.entries()) + for (let s of n) + if (s.kind === r) { + o.push(e); + break; + } + return o; + } + }; + function S(t, r, o) { + return U("@property", t, [ + a("syntax", o ? `"${o}"` : '"*"'), + a("inherits", "false"), + ...(r ? [a("initial-value", r)] : []), + ]); + } + function J(t, r) { + if (r === null) return t; + let o = Number(r); + return ( + Number.isNaN(o) || (r = `${o * 100}%`), + `color-mix(in oklab, ${t} ${r}, transparent)` + ); + } + function B(t, r, o) { + if (!r) return t; + if (r.kind === "arbitrary") return J(t, r.value); + let e = o.resolve(r.value, ["--opacity"]); + return e ? J(t, e) : Me(r.value) ? J(t, `${r.value}%`) : null; + } + function G(t, r, o) { + let e = null; + switch (t.value.value) { + case "inherit": { + e = "inherit"; + break; + } + case "transparent": { + e = "transparent"; + break; + } + case "current": { + e = "currentColor"; + break; + } + default: { + e = r.resolve(t.value.value, o); + break; + } + } + return e ? B(e, t.modifier, r) : null; + } + function or(t) { + let r = new mt(); + function o(i, f) { + let h = /(\d+)_(\d+)/g; + function* w(T) { + for (let E of t.keysInNamespaces(T)) + yield E.replace(h, (C, A, F) => `${A}.${F}`); + } + let k = [ + "1/2", + "1/3", + "2/3", + "1/4", + "2/4", + "3/4", + "1/5", + "2/5", + "3/5", + "4/5", + "1/6", + "2/6", + "3/6", + "4/6", + "5/6", + "1/12", + "2/12", + "3/12", + "4/12", + "5/12", + "6/12", + "7/12", + "8/12", + "9/12", + "10/12", + "11/12", + ]; + r.suggest(i, () => { + let T = []; + for (let E of f()) { + if (typeof E == "string") { + T.push({ values: [E], modifiers: [] }); + continue; + } + let C = [...(E.values ?? []), ...w(E.valueThemeKeys ?? [])], + A = [...(E.modifiers ?? []), ...w(E.modifierThemeKeys ?? [])]; + E.supportsFractions && C.push(...k), + E.hasDefaultValue && C.unshift(null), + T.push({ + supportsNegative: E.supportsNegative, + values: C, + modifiers: A, + }); + } + return T; + }); + } + function e(i, f) { + r.static(i, () => + f.map((h) => (typeof h == "function" ? h() : a(h[0], h[1]))), + ); + } + function n(i, f) { + function h({ negative: w }) { + return (k) => { + let T = null; + if (k.value) + if (k.value.kind === "arbitrary") { + if (k.modifier) return; + T = k.value.value; + } else { + if ( + ((T = t.resolve( + k.value.fraction ?? k.value.value, + f.themeKeys ?? [], + )), + T === null && f.supportsFractions && k.value.fraction) + ) { + let [E, C] = P(k.value.fraction, "/"); + if (!N(E) || !N(C)) return; + T = `calc(${k.value.fraction} * 100%)`; + } + if (T === null && w && f.handleNegativeBareValue) { + if ( + ((T = f.handleNegativeBareValue(k.value)), + !T?.includes("/") && k.modifier) + ) + return; + if (T !== null) return f.handle(T); + } + if ( + T === null && + f.handleBareValue && + ((T = f.handleBareValue(k.value)), + !T?.includes("/") && k.modifier) + ) + return; + } + else { + if (k.modifier) return; + T = + f.defaultValue !== void 0 + ? f.defaultValue + : t.resolve(null, f.themeKeys ?? []); + } + if (T !== null) return f.handle(w ? `calc(${T} * -1)` : T); + }; + } + f.supportsNegative && r.functional(`-${i}`, h({ negative: !0 })), + r.functional(i, h({ negative: !1 })), + o(i, () => [ + { + supportsNegative: f.supportsNegative, + valueThemeKeys: f.themeKeys ?? [], + hasDefaultValue: + f.defaultValue !== void 0 && f.defaultValue !== null, + supportsFractions: f.supportsFractions, + }, + ]); + } + function s(i, f) { + r.functional(i, (h) => { + if (!h.value) return; + let w = null; + if ( + (h.value.kind === "arbitrary" + ? ((w = h.value.value), (w = B(w, h.modifier, t))) + : (w = G(h, t, f.themeKeys)), + w !== null) + ) + return f.handle(w); + }), + o(i, () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: f.themeKeys, + modifiers: Array.from({ length: 21 }, (h, w) => `${w * 5}`), + }, + ]); + } + function l( + i, + f, + h, + { supportsNegative: w = !1, supportsFractions: k = !1 } = {}, + ) { + w && r.static(`-${i}-px`, () => h("-1px")), + r.static(`${i}-px`, () => h("1px")), + n(i, { + themeKeys: f, + supportsFractions: k, + supportsNegative: w, + defaultValue: null, + handleBareValue: ({ value: T }) => { + let E = t.resolve(null, ["--spacing"]); + return !E || !ge(T) ? null : `calc(${E} * ${T})`; + }, + handleNegativeBareValue: ({ value: T }) => { + let E = t.resolve(null, ["--spacing"]); + return !E || !ge(T) ? null : `calc(${E} * -${T})`; + }, + handle: h, + }), + o(i, () => [ + { + values: t.get(["--spacing"]) + ? [ + "0", + "0.5", + "1", + "1.5", + "2", + "2.5", + "3", + "3.5", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "14", + "16", + "20", + "24", + "28", + "32", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "72", + "80", + "96", + ] + : [], + supportsNegative: w, + supportsFractions: k, + valueThemeKeys: f, + }, + ]); + } + e("sr-only", [ + ["position", "absolute"], + ["width", "1px"], + ["height", "1px"], + ["padding", "0"], + ["margin", "-1px"], + ["overflow", "hidden"], + ["clip", "rect(0, 0, 0, 0)"], + ["white-space", "nowrap"], + ["border-width", "0"], + ]), + e("not-sr-only", [ + ["position", "static"], + ["width", "auto"], + ["height", "auto"], + ["padding", "0"], + ["margin", "0"], + ["overflow", "visible"], + ["clip", "auto"], + ["white-space", "normal"], + ]), + e("pointer-events-none", [["pointer-events", "none"]]), + e("pointer-events-auto", [["pointer-events", "auto"]]), + e("visible", [["visibility", "visible"]]), + e("invisible", [["visibility", "hidden"]]), + e("collapse", [["visibility", "collapse"]]), + e("static", [["position", "static"]]), + e("fixed", [["position", "fixed"]]), + e("absolute", [["position", "absolute"]]), + e("relative", [["position", "relative"]]), + e("sticky", [["position", "sticky"]]); + for (let [i, f] of [ + ["inset", "inset"], + ["inset-x", "inset-inline"], + ["inset-y", "inset-block"], + ["start", "inset-inline-start"], + ["end", "inset-inline-end"], + ["top", "top"], + ["right", "right"], + ["bottom", "bottom"], + ["left", "left"], + ]) + e(`${i}-auto`, [[f, "auto"]]), + e(`${i}-full`, [[f, "100%"]]), + e(`-${i}-full`, [[f, "-100%"]]), + l(i, ["--inset", "--spacing"], (h) => [a(f, h)], { + supportsNegative: !0, + supportsFractions: !0, + }); + e("isolate", [["isolation", "isolate"]]), + e("isolation-auto", [["isolation", "auto"]]), + e("z-auto", [["z-index", "auto"]]), + n("z", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--z-index"], + handle: (i) => [a("z-index", i)], + }), + o("z", () => [ + { + supportsNegative: !0, + values: ["0", "10", "20", "30", "40", "50"], + valueThemeKeys: ["--z-index"], + }, + ]), + e("order-first", [["order", "-9999"]]), + e("order-last", [["order", "9999"]]), + e("order-none", [["order", "0"]]), + n("order", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--order"], + handle: (i) => [a("order", i)], + }), + o("order", () => [ + { + supportsNegative: !0, + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--order"], + }, + ]), + e("col-auto", [["grid-column", "auto"]]), + n("col", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-column"], + handle: (i) => [a("grid-column", i)], + }), + e("col-span-full", [["grid-column", "1 / -1"]]), + n("col-span", { + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [a("grid-column", `span ${i} / span ${i}`)], + }), + e("col-start-auto", [["grid-column-start", "auto"]]), + n("col-start", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-column-start"], + handle: (i) => [a("grid-column-start", i)], + }), + e("col-end-auto", [["grid-column-end", "auto"]]), + n("col-end", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-column-end"], + handle: (i) => [a("grid-column-end", i)], + }), + o("col-span", () => [ + { + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: [], + }, + ]), + o("col-start", () => [ + { + supportsNegative: !0, + values: Array.from({ length: 13 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-column-start"], + }, + ]), + o("col-end", () => [ + { + supportsNegative: !0, + values: Array.from({ length: 13 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-column-end"], + }, + ]), + e("row-auto", [["grid-row", "auto"]]), + n("row", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-row"], + handle: (i) => [a("grid-row", i)], + }), + e("row-span-full", [["grid-row", "1 / -1"]]), + n("row-span", { + themeKeys: [], + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [a("grid-row", `span ${i} / span ${i}`)], + }), + e("row-start-auto", [["grid-row-start", "auto"]]), + n("row-start", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-row-start"], + handle: (i) => [a("grid-row-start", i)], + }), + e("row-end-auto", [["grid-row-end", "auto"]]), + n("row-end", { + supportsNegative: !0, + handleBareValue: ({ value: i }) => (N(i) ? i : null), + themeKeys: ["--grid-row-end"], + handle: (i) => [a("grid-row-end", i)], + }), + o("row-span", () => [ + { + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: [], + }, + ]), + o("row-start", () => [ + { + supportsNegative: !0, + values: Array.from({ length: 13 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-row-start"], + }, + ]), + o("row-end", () => [ + { + supportsNegative: !0, + values: Array.from({ length: 13 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-row-end"], + }, + ]), + e("float-start", [["float", "inline-start"]]), + e("float-end", [["float", "inline-end"]]), + e("float-right", [["float", "right"]]), + e("float-left", [["float", "left"]]), + e("float-none", [["float", "none"]]), + e("clear-start", [["clear", "inline-start"]]), + e("clear-end", [["clear", "inline-end"]]), + e("clear-right", [["clear", "right"]]), + e("clear-left", [["clear", "left"]]), + e("clear-both", [["clear", "both"]]), + e("clear-none", [["clear", "none"]]); + for (let [i, f] of [ + ["m", "margin"], + ["mx", "margin-inline"], + ["my", "margin-block"], + ["ms", "margin-inline-start"], + ["me", "margin-inline-end"], + ["mt", "margin-top"], + ["mr", "margin-right"], + ["mb", "margin-bottom"], + ["ml", "margin-left"], + ]) + e(`${i}-auto`, [[f, "auto"]]), + l(i, ["--margin", "--spacing"], (h) => [a(f, h)], { + supportsNegative: !0, + }); + e("box-border", [["box-sizing", "border-box"]]), + e("box-content", [["box-sizing", "content-box"]]), + e("line-clamp-none", [ + ["overflow", "visible"], + ["display", "block"], + ["-webkit-box-orient", "horizontal"], + ["-webkit-line-clamp", "unset"], + ]), + n("line-clamp", { + themeKeys: ["--line-clamp"], + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [ + a("overflow", "hidden"), + a("display", "-webkit-box"), + a("-webkit-box-orient", "vertical"), + a("-webkit-line-clamp", i), + ], + }), + o("line-clamp", () => [ + { + values: ["1", "2", "3", "4", "5", "6"], + valueThemeKeys: ["--line-clamp"], + }, + ]), + e("block", [["display", "block"]]), + e("inline-block", [["display", "inline-block"]]), + e("inline", [["display", "inline"]]), + e("hidden", [["display", "none"]]), + e("inline-flex", [["display", "inline-flex"]]), + e("table", [["display", "table"]]), + e("inline-table", [["display", "inline-table"]]), + e("table-caption", [["display", "table-caption"]]), + e("table-cell", [["display", "table-cell"]]), + e("table-column", [["display", "table-column"]]), + e("table-column-group", [["display", "table-column-group"]]), + e("table-footer-group", [["display", "table-footer-group"]]), + e("table-header-group", [["display", "table-header-group"]]), + e("table-row-group", [["display", "table-row-group"]]), + e("table-row", [["display", "table-row"]]), + e("flow-root", [["display", "flow-root"]]), + e("flex", [["display", "flex"]]), + e("grid", [["display", "grid"]]), + e("inline-grid", [["display", "inline-grid"]]), + e("contents", [["display", "contents"]]), + e("list-item", [["display", "list-item"]]), + e("field-sizing-content", [["field-sizing", "content"]]), + e("field-sizing-fixed", [["field-sizing", "fixed"]]), + e("aspect-auto", [["aspect-ratio", "auto"]]), + e("aspect-square", [["aspect-ratio", "1 / 1"]]), + n("aspect", { + themeKeys: ["--aspect"], + handleBareValue: ({ fraction: i }) => { + if (i === null) return null; + let [f, h] = P(i, "/"); + return !N(f) || !N(h) ? null : i; + }, + handle: (i) => [a("aspect-ratio", i)], + }); + for (let [i, f] of [ + ["auto", "auto"], + ["full", "100%"], + ["svw", "100svw"], + ["lvw", "100lvw"], + ["dvw", "100dvw"], + ["svh", "100svh"], + ["lvh", "100lvh"], + ["dvh", "100dvh"], + ["min", "min-content"], + ["max", "max-content"], + ["fit", "fit-content"], + ]) + e(`size-${i}`, [ + ["--tw-sort", "size"], + ["width", f], + ["height", f], + ]), + e(`w-${i}`, [["width", f]]), + e(`h-${i}`, [["height", f]]), + e(`min-w-${i}`, [["min-width", f]]), + e(`min-h-${i}`, [["min-height", f]]), + i !== "auto" && + (e(`max-w-${i}`, [["max-width", f]]), + e(`max-h-${i}`, [["max-height", f]])); + e("w-screen", [["width", "100vw"]]), + e("min-w-screen", [["min-width", "100vw"]]), + e("max-w-screen", [["max-width", "100vw"]]), + e("h-screen", [["height", "100vh"]]), + e("min-h-screen", [["min-height", "100vh"]]), + e("max-h-screen", [["max-height", "100vh"]]), + e("max-w-none", [["max-width", "none"]]), + e("max-h-none", [["max-height", "none"]]), + l( + "size", + ["--size", "--spacing"], + (i) => [a("--tw-sort", "size"), a("width", i), a("height", i)], + { supportsFractions: !0 }, + ); + for (let [i, f, h] of [ + ["w", ["--width", "--spacing", "--container"], "width"], + ["min-w", ["--min-width", "--spacing", "--container"], "min-width"], + ["max-w", ["--max-width", "--spacing", "--container"], "max-width"], + ["h", ["--height", "--spacing"], "height"], + ["min-h", ["--min-height", "--height", "--spacing"], "min-height"], + ["max-h", ["--max-height", "--height", "--spacing"], "max-height"], + ]) + l(i, f, (w) => [a(h, w)], { supportsFractions: !0 }); + r.static("container", () => { + let i = [...t.namespace("--breakpoint").values()]; + i.sort((h, w) => ue(h, w, "asc")); + let f = [a("--tw-sort", "--tw-container-component"), a("width", "100%")]; + for (let h of i) + f.push(U("@media", `(width >= ${h})`, [a("max-width", h)])); + return f; + }), + e("flex-auto", [["flex", "auto"]]), + e("flex-initial", [["flex", "0 auto"]]), + e("flex-none", [["flex", "none"]]), + r.functional("flex", (i) => { + if (i.value) { + if (i.value.kind === "arbitrary") + return i.modifier ? void 0 : [a("flex", i.value.value)]; + if (i.value.fraction) { + let [f, h] = P(i.value.fraction, "/"); + return !N(f) || !N(h) + ? void 0 + : [a("flex", `calc(${i.value.fraction} * 100%)`)]; + } + if (N(i.value.value)) + return i.modifier ? void 0 : [a("flex", i.value.value)]; + } + }), + o("flex", () => [{ supportsFractions: !0 }]), + n("shrink", { + defaultValue: "1", + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [a("flex-shrink", i)], + }), + n("grow", { + defaultValue: "1", + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [a("flex-grow", i)], + }), + o("shrink", () => [ + { values: ["0"], valueThemeKeys: [], hasDefaultValue: !0 }, + ]), + o("grow", () => [ + { values: ["0"], valueThemeKeys: [], hasDefaultValue: !0 }, + ]), + e("basis-auto", [["flex-basis", "auto"]]), + e("basis-full", [["flex-basis", "100%"]]), + l( + "basis", + ["--flex-basis", "--spacing", "--container"], + (i) => [a("flex-basis", i)], + { supportsFractions: !0 }, + ), + e("table-auto", [["table-layout", "auto"]]), + e("table-fixed", [["table-layout", "fixed"]]), + e("caption-top", [["caption-side", "top"]]), + e("caption-bottom", [["caption-side", "bottom"]]), + e("border-collapse", [["border-collapse", "collapse"]]), + e("border-separate", [["border-collapse", "separate"]]); + let p = () => + D([ + S("--tw-border-spacing-x", "0", ""), + S("--tw-border-spacing-y", "0", ""), + ]); + l("border-spacing", ["--border-spacing", "--spacing"], (i) => [ + p(), + a("--tw-border-spacing-x", i), + a("--tw-border-spacing-y", i), + a( + "border-spacing", + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + ), + ]), + l("border-spacing-x", ["--border-spacing", "--spacing"], (i) => [ + p(), + a("--tw-border-spacing-x", i), + a( + "border-spacing", + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + ), + ]), + l("border-spacing-y", ["--border-spacing", "--spacing"], (i) => [ + p(), + a("--tw-border-spacing-y", i), + a( + "border-spacing", + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + ), + ]), + e("origin-center", [["transform-origin", "center"]]), + e("origin-top", [["transform-origin", "top"]]), + e("origin-top-right", [["transform-origin", "top right"]]), + e("origin-right", [["transform-origin", "right"]]), + e("origin-bottom-right", [["transform-origin", "bottom right"]]), + e("origin-bottom", [["transform-origin", "bottom"]]), + e("origin-bottom-left", [["transform-origin", "bottom left"]]), + e("origin-left", [["transform-origin", "left"]]), + e("origin-top-left", [["transform-origin", "top left"]]), + n("origin", { + themeKeys: ["--transform-origin"], + handle: (i) => [a("transform-origin", i)], + }), + e("perspective-origin-center", [["perspective-origin", "center"]]), + e("perspective-origin-top", [["perspective-origin", "top"]]), + e("perspective-origin-top-right", [["perspective-origin", "top right"]]), + e("perspective-origin-right", [["perspective-origin", "right"]]), + e("perspective-origin-bottom-right", [ + ["perspective-origin", "bottom right"], + ]), + e("perspective-origin-bottom", [["perspective-origin", "bottom"]]), + e("perspective-origin-bottom-left", [ + ["perspective-origin", "bottom left"], + ]), + e("perspective-origin-left", [["perspective-origin", "left"]]), + e("perspective-origin-top-left", [["perspective-origin", "top left"]]), + n("perspective-origin", { + themeKeys: ["--perspective-origin"], + handle: (i) => [a("perspective-origin", i)], + }), + e("perspective-none", [["perspective", "none"]]), + n("perspective", { + themeKeys: ["--perspective"], + handle: (i) => [a("perspective", i)], + }); + let c = () => + D([ + S("--tw-translate-x", "0"), + S("--tw-translate-y", "0"), + S("--tw-translate-z", "0"), + ]); + e("translate-none", [["translate", "none"]]), + e("-translate-full", [ + c, + ["--tw-translate-x", "-100%"], + ["--tw-translate-y", "-100%"], + ["translate", "var(--tw-translate-x) var(--tw-translate-y)"], + ]), + e("translate-full", [ + c, + ["--tw-translate-x", "100%"], + ["--tw-translate-y", "100%"], + ["translate", "var(--tw-translate-x) var(--tw-translate-y)"], + ]), + l( + "translate", + ["--translate", "--spacing"], + (i) => [ + c(), + a("--tw-translate-x", i), + a("--tw-translate-y", i), + a("translate", "var(--tw-translate-x) var(--tw-translate-y)"), + ], + { supportsNegative: !0, supportsFractions: !0 }, + ); + for (let i of ["x", "y"]) + e(`-translate-${i}-full`, [ + c, + [`--tw-translate-${i}`, "-100%"], + ["translate", "var(--tw-translate-x) var(--tw-translate-y)"], + ]), + e(`translate-${i}-full`, [ + c, + [`--tw-translate-${i}`, "100%"], + ["translate", "var(--tw-translate-x) var(--tw-translate-y)"], + ]), + l( + `translate-${i}`, + ["--translate", "--spacing"], + (f) => [ + c(), + a(`--tw-translate-${i}`, f), + a("translate", "var(--tw-translate-x) var(--tw-translate-y)"), + ], + { supportsNegative: !0, supportsFractions: !0 }, + ); + l( + "translate-z", + ["--translate", "--spacing"], + (i) => [ + c(), + a("--tw-translate-z", i), + a( + "translate", + "var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)", + ), + ], + { supportsNegative: !0 }, + ), + e("translate-3d", [ + c, + [ + "translate", + "var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)", + ], + ]); + let d = () => + D([ + S("--tw-scale-x", "1"), + S("--tw-scale-y", "1"), + S("--tw-scale-z", "1"), + ]); + e("scale-none", [["scale", "none"]]); + function u({ negative: i }) { + return (f) => { + if (!f.value || f.modifier) return; + let h; + return f.value.kind === "arbitrary" + ? ((h = f.value.value), [a("scale", h)]) + : ((h = t.resolve(f.value.value, ["--scale"])), + !h && N(f.value.value) && (h = `${f.value.value}%`), + h + ? ((h = i ? `calc(${h} * -1)` : h), + [ + d(), + a("--tw-scale-x", h), + a("--tw-scale-y", h), + a("--tw-scale-z", h), + a("scale", "var(--tw-scale-x) var(--tw-scale-y)"), + ]) + : void 0); + }; + } + r.functional("-scale", u({ negative: !0 })), + r.functional("scale", u({ negative: !1 })), + o("scale", () => [ + { + supportsNegative: !0, + values: [ + "0", + "50", + "75", + "90", + "95", + "100", + "105", + "110", + "125", + "150", + "200", + ], + valueThemeKeys: ["--scale"], + }, + ]); + for (let i of ["x", "y", "z"]) + n(`scale-${i}`, { + supportsNegative: !0, + themeKeys: ["--scale"], + handleBareValue: ({ value: f }) => (N(f) ? `${f}%` : null), + handle: (f) => [ + d(), + a(`--tw-scale-${i}`, f), + a( + "scale", + `var(--tw-scale-x) var(--tw-scale-y)${i === "z" ? " var(--tw-scale-z)" : ""}`, + ), + ], + }), + o(`scale-${i}`, () => [ + { + supportsNegative: !0, + values: [ + "0", + "50", + "75", + "90", + "95", + "100", + "105", + "110", + "125", + "150", + "200", + ], + valueThemeKeys: ["--scale"], + }, + ]); + e("scale-3d", [ + d, + ["scale", "var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)"], + ]), + e("rotate-none", [["rotate", "none"]]); + function g({ negative: i }) { + return (f) => { + if (!f.value || f.modifier) return; + let h; + if (f.value.kind === "arbitrary") { + h = f.value.value; + let w = f.value.dataType ?? I(h, ["angle", "vector"]); + if (w === "vector") return [a("rotate", `${h} var(--tw-rotate)`)]; + if (w !== "angle") return [a("rotate", h)]; + } else if ( + ((h = t.resolve(f.value.value, ["--rotate"])), + !h && N(f.value.value) && (h = `${f.value.value}deg`), + !h) + ) + return; + return [a("rotate", i ? `calc(${h} * -1)` : h)]; + }; + } + r.functional("-rotate", g({ negative: !0 })), + r.functional("rotate", g({ negative: !1 })), + o("rotate", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "3", "6", "12", "45", "90", "180"], + valueThemeKeys: ["--rotate"], + }, + ]); + { + let i = [ + "var(--tw-rotate-x)", + "var(--tw-rotate-y)", + "var(--tw-rotate-z)", + "var(--tw-skew-x)", + "var(--tw-skew-y)", + ].join(" "), + f = () => + D([ + S("--tw-rotate-x", "rotateX(0)"), + S("--tw-rotate-y", "rotateY(0)"), + S("--tw-rotate-z", "rotateZ(0)"), + S("--tw-skew-x", "skewX(0)"), + S("--tw-skew-y", "skewY(0)"), + ]); + for (let h of ["x", "y", "z"]) + n(`rotate-${h}`, { + supportsNegative: !0, + themeKeys: ["--rotate"], + handleBareValue: ({ value: w }) => (N(w) ? `${w}deg` : null), + handle: (w) => [ + f(), + a(`--tw-rotate-${h}`, `rotate${h.toUpperCase()}(${w})`), + a("transform", i), + ], + }), + o(`rotate-${h}`, () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "3", "6", "12", "45", "90", "180"], + valueThemeKeys: ["--rotate"], + }, + ]); + n("skew", { + supportsNegative: !0, + themeKeys: ["--skew"], + handleBareValue: ({ value: h }) => (N(h) ? `${h}deg` : null), + handle: (h) => [ + f(), + a("--tw-skew-x", `skewX(${h})`), + a("--tw-skew-y", `skewY(${h})`), + a("transform", i), + ], + }), + n("skew-x", { + supportsNegative: !0, + themeKeys: ["--skew"], + handleBareValue: ({ value: h }) => (N(h) ? `${h}deg` : null), + handle: (h) => [ + f(), + a("--tw-skew-x", `skewX(${h})`), + a("transform", i), + ], + }), + n("skew-y", { + supportsNegative: !0, + themeKeys: ["--skew"], + handleBareValue: ({ value: h }) => (N(h) ? `${h}deg` : null), + handle: (h) => [ + f(), + a("--tw-skew-y", `skewY(${h})`), + a("transform", i), + ], + }), + o("skew", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "3", "6", "12"], + valueThemeKeys: ["--skew"], + }, + ]), + o("skew-x", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "3", "6", "12"], + valueThemeKeys: ["--skew"], + }, + ]), + o("skew-y", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "3", "6", "12"], + valueThemeKeys: ["--skew"], + }, + ]), + r.functional("transform", (h) => { + if (h.modifier) return; + let w = null; + if ( + (h.value + ? h.value.kind === "arbitrary" && (w = h.value.value) + : (w = i), + w !== null) + ) + return [f(), a("transform", w)]; + }), + o("transform", () => [{ hasDefaultValue: !0 }]), + e("transform-cpu", [["transform", i]]), + e("transform-gpu", [["transform", `translateZ(0) ${i}`]]), + e("transform-none", [["transform", "none"]]); + } + e("transform-flat", [["transform-style", "flat"]]), + e("transform-3d", [["transform-style", "preserve-3d"]]), + e("transform-content", [["transform-box", "content-box"]]), + e("transform-border", [["transform-box", "border-box"]]), + e("transform-fill", [["transform-box", "fill-box"]]), + e("transform-stroke", [["transform-box", "stroke-box"]]), + e("transform-view", [["transform-box", "view-box"]]), + e("backface-visible", [["backface-visibility", "visible"]]), + e("backface-hidden", [["backface-visibility", "hidden"]]); + for (let i of [ + "auto", + "default", + "pointer", + "wait", + "text", + "move", + "help", + "not-allowed", + "none", + "context-menu", + "progress", + "cell", + "crosshair", + "vertical-text", + "alias", + "copy", + "no-drop", + "grab", + "grabbing", + "all-scroll", + "col-resize", + "row-resize", + "n-resize", + "e-resize", + "s-resize", + "w-resize", + "ne-resize", + "nw-resize", + "se-resize", + "sw-resize", + "ew-resize", + "ns-resize", + "nesw-resize", + "nwse-resize", + "zoom-in", + "zoom-out", + ]) + e(`cursor-${i}`, [["cursor", i]]); + n("cursor", { themeKeys: ["--cursor"], handle: (i) => [a("cursor", i)] }); + for (let i of ["auto", "none", "manipulation"]) + e(`touch-${i}`, [["touch-action", i]]); + let m = () => D([S("--tw-pan-x"), S("--tw-pan-y"), S("--tw-pinch-zoom")]); + for (let i of ["x", "left", "right"]) + e(`touch-pan-${i}`, [ + m, + ["--tw-pan-x", `pan-${i}`], + [ + "touch-action", + "var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)", + ], + ]); + for (let i of ["y", "up", "down"]) + e(`touch-pan-${i}`, [ + m, + ["--tw-pan-y", `pan-${i}`], + [ + "touch-action", + "var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)", + ], + ]); + e("touch-pinch-zoom", [ + m, + ["--tw-pinch-zoom", "pinch-zoom"], + [ + "touch-action", + "var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)", + ], + ]); + for (let i of ["none", "text", "all", "auto"]) + e(`select-${i}`, [ + ["-webkit-user-select", i], + ["user-select", i], + ]); + e("resize-none", [["resize", "none"]]), + e("resize-x", [["resize", "horizontal"]]), + e("resize-y", [["resize", "vertical"]]), + e("resize", [["resize", "both"]]), + e("snap-none", [["scroll-snap-type", "none"]]); + let v = () => D([S("--tw-scroll-snap-strictness", "proximity", "*")]); + for (let i of ["x", "y", "both"]) + e(`snap-${i}`, [ + v, + ["scroll-snap-type", `${i} var(--tw-scroll-snap-strictness)`], + ]); + e("snap-mandatory", [v, ["--tw-scroll-snap-strictness", "mandatory"]]), + e("snap-proximity", [v, ["--tw-scroll-snap-strictness", "proximity"]]), + e("snap-align-none", [["scroll-snap-align", "none"]]), + e("snap-start", [["scroll-snap-align", "start"]]), + e("snap-end", [["scroll-snap-align", "end"]]), + e("snap-center", [["scroll-snap-align", "center"]]), + e("snap-normal", [["scroll-snap-stop", "normal"]]), + e("snap-always", [["scroll-snap-stop", "always"]]); + for (let [i, f] of [ + ["scroll-m", "scroll-margin"], + ["scroll-mx", "scroll-margin-inline"], + ["scroll-my", "scroll-margin-block"], + ["scroll-ms", "scroll-margin-inline-start"], + ["scroll-me", "scroll-margin-inline-end"], + ["scroll-mt", "scroll-margin-top"], + ["scroll-mr", "scroll-margin-right"], + ["scroll-mb", "scroll-margin-bottom"], + ["scroll-ml", "scroll-margin-left"], + ]) + l(i, ["--scroll-margin", "--spacing"], (h) => [a(f, h)], { + supportsNegative: !0, + }); + for (let [i, f] of [ + ["scroll-p", "scroll-padding"], + ["scroll-px", "scroll-padding-inline"], + ["scroll-py", "scroll-padding-block"], + ["scroll-ps", "scroll-padding-inline-start"], + ["scroll-pe", "scroll-padding-inline-end"], + ["scroll-pt", "scroll-padding-top"], + ["scroll-pr", "scroll-padding-right"], + ["scroll-pb", "scroll-padding-bottom"], + ["scroll-pl", "scroll-padding-left"], + ]) + l(i, ["--scroll-padding", "--spacing"], (h) => [a(f, h)]); + e("list-inside", [["list-style-position", "inside"]]), + e("list-outside", [["list-style-position", "outside"]]), + e("list-none", [["list-style-type", "none"]]), + e("list-disc", [["list-style-type", "disc"]]), + e("list-decimal", [["list-style-type", "decimal"]]), + n("list", { + themeKeys: ["--list-style-type"], + handle: (i) => [a("list-style-type", i)], + }), + e("list-image-none", [["list-style-image", "none"]]), + n("list-image", { + themeKeys: ["--list-style-image"], + handle: (i) => [a("list-style-image", i)], + }), + e("appearance-none", [["appearance", "none"]]), + e("appearance-auto", [["appearance", "auto"]]), + e("scheme-normal", [["color-scheme", "normal"]]), + e("scheme-dark", [["color-scheme", "dark"]]), + e("scheme-light", [["color-scheme", "light"]]), + e("scheme-light-dark", [["color-scheme", "light dark"]]), + e("scheme-only-dark", [["color-scheme", "only dark"]]), + e("scheme-only-light", [["color-scheme", "only light"]]), + e("columns-auto", [["columns", "auto"]]), + n("columns", { + themeKeys: ["--columns", "--container"], + handleBareValue: ({ value: i }) => (N(i) ? i : null), + handle: (i) => [a("columns", i)], + }), + o("columns", () => [ + { + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--columns", "--container"], + }, + ]); + for (let i of [ + "auto", + "avoid", + "all", + "avoid-page", + "page", + "left", + "right", + "column", + ]) + e(`break-before-${i}`, [["break-before", i]]); + for (let i of ["auto", "avoid", "avoid-page", "avoid-column"]) + e(`break-inside-${i}`, [["break-inside", i]]); + for (let i of [ + "auto", + "avoid", + "all", + "avoid-page", + "page", + "left", + "right", + "column", + ]) + e(`break-after-${i}`, [["break-after", i]]); + e("grid-flow-row", [["grid-auto-flow", "row"]]), + e("grid-flow-col", [["grid-auto-flow", "column"]]), + e("grid-flow-dense", [["grid-auto-flow", "dense"]]), + e("grid-flow-row-dense", [["grid-auto-flow", "row dense"]]), + e("grid-flow-col-dense", [["grid-auto-flow", "column dense"]]), + e("auto-cols-auto", [["grid-auto-columns", "auto"]]), + e("auto-cols-min", [["grid-auto-columns", "min-content"]]), + e("auto-cols-max", [["grid-auto-columns", "max-content"]]), + e("auto-cols-fr", [["grid-auto-columns", "minmax(0, 1fr)"]]), + n("auto-cols", { + themeKeys: ["--grid-auto-columns"], + handle: (i) => [a("grid-auto-columns", i)], + }), + e("auto-rows-auto", [["grid-auto-rows", "auto"]]), + e("auto-rows-min", [["grid-auto-rows", "min-content"]]), + e("auto-rows-max", [["grid-auto-rows", "max-content"]]), + e("auto-rows-fr", [["grid-auto-rows", "minmax(0, 1fr)"]]), + n("auto-rows", { + themeKeys: ["--grid-auto-rows"], + handle: (i) => [a("grid-auto-rows", i)], + }), + e("grid-cols-none", [["grid-template-columns", "none"]]), + e("grid-cols-subgrid", [["grid-template-columns", "subgrid"]]), + n("grid-cols", { + themeKeys: ["--grid-template-columns"], + handleBareValue: ({ value: i }) => + pt(i) ? `repeat(${i}, minmax(0, 1fr))` : null, + handle: (i) => [a("grid-template-columns", i)], + }), + e("grid-rows-none", [["grid-template-rows", "none"]]), + e("grid-rows-subgrid", [["grid-template-rows", "subgrid"]]), + n("grid-rows", { + themeKeys: ["--grid-template-rows"], + handleBareValue: ({ value: i }) => + pt(i) ? `repeat(${i}, minmax(0, 1fr))` : null, + handle: (i) => [a("grid-template-rows", i)], + }), + o("grid-cols", () => [ + { + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-template-columns"], + }, + ]), + o("grid-rows", () => [ + { + values: Array.from({ length: 12 }, (i, f) => `${f + 1}`), + valueThemeKeys: ["--grid-template-rows"], + }, + ]), + e("flex-row", [["flex-direction", "row"]]), + e("flex-row-reverse", [["flex-direction", "row-reverse"]]), + e("flex-col", [["flex-direction", "column"]]), + e("flex-col-reverse", [["flex-direction", "column-reverse"]]), + e("flex-wrap", [["flex-wrap", "wrap"]]), + e("flex-nowrap", [["flex-wrap", "nowrap"]]), + e("flex-wrap-reverse", [["flex-wrap", "wrap-reverse"]]), + e("place-content-center", [["place-content", "center"]]), + e("place-content-start", [["place-content", "start"]]), + e("place-content-end", [["place-content", "end"]]), + e("place-content-between", [["place-content", "space-between"]]), + e("place-content-around", [["place-content", "space-around"]]), + e("place-content-evenly", [["place-content", "space-evenly"]]), + e("place-content-baseline", [["place-content", "baseline"]]), + e("place-content-stretch", [["place-content", "stretch"]]), + e("place-items-center", [["place-items", "center"]]), + e("place-items-start", [["place-items", "start"]]), + e("place-items-end", [["place-items", "end"]]), + e("place-items-baseline", [["place-items", "baseline"]]), + e("place-items-stretch", [["place-items", "stretch"]]), + e("content-normal", [["align-content", "normal"]]), + e("content-center", [["align-content", "center"]]), + e("content-start", [["align-content", "flex-start"]]), + e("content-end", [["align-content", "flex-end"]]), + e("content-between", [["align-content", "space-between"]]), + e("content-around", [["align-content", "space-around"]]), + e("content-evenly", [["align-content", "space-evenly"]]), + e("content-baseline", [["align-content", "baseline"]]), + e("content-stretch", [["align-content", "stretch"]]), + e("items-center", [["align-items", "center"]]), + e("items-start", [["align-items", "flex-start"]]), + e("items-end", [["align-items", "flex-end"]]), + e("items-baseline", [["align-items", "baseline"]]), + e("items-stretch", [["align-items", "stretch"]]), + e("justify-normal", [["justify-content", "normal"]]), + e("justify-center", [["justify-content", "center"]]), + e("justify-start", [["justify-content", "flex-start"]]), + e("justify-end", [["justify-content", "flex-end"]]), + e("justify-between", [["justify-content", "space-between"]]), + e("justify-around", [["justify-content", "space-around"]]), + e("justify-evenly", [["justify-content", "space-evenly"]]), + e("justify-baseline", [["justify-content", "baseline"]]), + e("justify-stretch", [["justify-content", "stretch"]]), + e("justify-items-normal", [["justify-items", "normal"]]), + e("justify-items-center", [["justify-items", "center"]]), + e("justify-items-start", [["justify-items", "start"]]), + e("justify-items-end", [["justify-items", "end"]]), + e("justify-items-stretch", [["justify-items", "stretch"]]), + l("gap", ["--gap", "--spacing"], (i) => [a("gap", i)]), + l("gap-x", ["--gap", "--spacing"], (i) => [a("column-gap", i)]), + l("gap-y", ["--gap", "--spacing"], (i) => [a("row-gap", i)]), + l( + "space-x", + ["--space", "--spacing"], + (i) => [ + D([S("--tw-space-x-reverse", "0")]), + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "row-gap"), + a("--tw-space-x-reverse", "0"), + a("margin-inline-start", `calc(${i} * var(--tw-space-x-reverse))`), + a( + "margin-inline-end", + `calc(${i} * calc(1 - var(--tw-space-x-reverse)))`, + ), + ]), + ], + { supportsNegative: !0 }, + ), + l( + "space-y", + ["--space", "--spacing"], + (i) => [ + D([S("--tw-space-y-reverse", "0")]), + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "column-gap"), + a("--tw-space-y-reverse", "0"), + a("margin-block-start", `calc(${i} * var(--tw-space-y-reverse))`), + a( + "margin-block-end", + `calc(${i} * calc(1 - var(--tw-space-y-reverse)))`, + ), + ]), + ], + { supportsNegative: !0 }, + ), + e("space-x-reverse", [ + () => D([S("--tw-space-x-reverse", "0")]), + () => + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "row-gap"), + a("--tw-space-x-reverse", "1"), + ]), + ]), + e("space-y-reverse", [ + () => D([S("--tw-space-y-reverse", "0")]), + () => + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "column-gap"), + a("--tw-space-y-reverse", "1"), + ]), + ]), + e("accent-auto", [["accent-color", "auto"]]), + s("accent", { + themeKeys: ["--accent-color", "--color"], + handle: (i) => [a("accent-color", i)], + }), + s("caret", { + themeKeys: ["--caret-color", "--color"], + handle: (i) => [a("caret-color", i)], + }), + s("divide", { + themeKeys: ["--divide-color", "--color"], + handle: (i) => [ + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "divide-color"), + a("border-color", i), + ]), + ], + }), + e("place-self-auto", [["place-self", "auto"]]), + e("place-self-start", [["place-self", "start"]]), + e("place-self-end", [["place-self", "end"]]), + e("place-self-center", [["place-self", "center"]]), + e("place-self-stretch", [["place-self", "stretch"]]), + e("self-auto", [["align-self", "auto"]]), + e("self-start", [["align-self", "flex-start"]]), + e("self-end", [["align-self", "flex-end"]]), + e("self-center", [["align-self", "center"]]), + e("self-stretch", [["align-self", "stretch"]]), + e("self-baseline", [["align-self", "baseline"]]), + e("justify-self-auto", [["justify-self", "auto"]]), + e("justify-self-start", [["justify-self", "flex-start"]]), + e("justify-self-end", [["justify-self", "flex-end"]]), + e("justify-self-center", [["justify-self", "center"]]), + e("justify-self-stretch", [["justify-self", "stretch"]]); + for (let i of ["auto", "hidden", "clip", "visible", "scroll"]) + e(`overflow-${i}`, [["overflow", i]]), + e(`overflow-x-${i}`, [["overflow-x", i]]), + e(`overflow-y-${i}`, [["overflow-y", i]]); + for (let i of ["auto", "contain", "none"]) + e(`overscroll-${i}`, [["overscroll-behavior", i]]), + e(`overscroll-x-${i}`, [["overscroll-behavior-x", i]]), + e(`overscroll-y-${i}`, [["overscroll-behavior-y", i]]); + e("scroll-auto", [["scroll-behavior", "auto"]]), + e("scroll-smooth", [["scroll-behavior", "smooth"]]), + e("truncate", [ + ["overflow", "hidden"], + ["text-overflow", "ellipsis"], + ["white-space", "nowrap"], + ]), + e("text-ellipsis", [["text-overflow", "ellipsis"]]), + e("text-clip", [["text-overflow", "clip"]]), + e("hyphens-none", [ + ["-webkit-hyphens", "none"], + ["hyphens", "none"], + ]), + e("hyphens-manual", [ + ["-webkit-hyphens", "manual"], + ["hyphens", "manual"], + ]), + e("hyphens-auto", [ + ["-webkit-hyphens", "auto"], + ["hyphens", "auto"], + ]), + e("whitespace-normal", [["white-space", "normal"]]), + e("whitespace-nowrap", [["white-space", "nowrap"]]), + e("whitespace-pre", [["white-space", "pre"]]), + e("whitespace-pre-line", [["white-space", "pre-line"]]), + e("whitespace-pre-wrap", [["white-space", "pre-wrap"]]), + e("whitespace-break-spaces", [["white-space", "break-spaces"]]), + e("text-wrap", [["text-wrap", "wrap"]]), + e("text-nowrap", [["text-wrap", "nowrap"]]), + e("text-balance", [["text-wrap", "balance"]]), + e("text-pretty", [["text-wrap", "pretty"]]), + e("break-normal", [ + ["overflow-wrap", "normal"], + ["word-break", "normal"], + ]), + e("break-words", [["overflow-wrap", "break-word"]]), + e("break-all", [["word-break", "break-all"]]), + e("break-keep", [["word-break", "keep-all"]]), + !1; + for (let [i, f] of [ + ["rounded", ["border-radius"]], + ["rounded-s", ["border-start-start-radius", "border-end-start-radius"]], + ["rounded-e", ["border-start-end-radius", "border-end-end-radius"]], + ["rounded-t", ["border-top-left-radius", "border-top-right-radius"]], + ["rounded-r", ["border-top-right-radius", "border-bottom-right-radius"]], + [ + "rounded-b", + ["border-bottom-right-radius", "border-bottom-left-radius"], + ], + ["rounded-l", ["border-top-left-radius", "border-bottom-left-radius"]], + ["rounded-ss", ["border-start-start-radius"]], + ["rounded-se", ["border-start-end-radius"]], + ["rounded-ee", ["border-end-end-radius"]], + ["rounded-es", ["border-end-start-radius"]], + ["rounded-tl", ["border-top-left-radius"]], + ["rounded-tr", ["border-top-right-radius"]], + ["rounded-br", ["border-bottom-right-radius"]], + ["rounded-bl", ["border-bottom-left-radius"]], + ]) + e( + `${i}-none`, + f.map((h) => [h, "0"]), + ), + e( + `${i}-full`, + f.map((h) => [h, "calc(infinity * 1px)"]), + ), + n(i, { themeKeys: ["--radius"], handle: (h) => f.map((w) => a(w, h)) }); + e("border-solid", [ + ["--tw-border-style", "solid"], + ["border-style", "solid"], + ]), + e("border-dashed", [ + ["--tw-border-style", "dashed"], + ["border-style", "dashed"], + ]), + e("border-dotted", [ + ["--tw-border-style", "dotted"], + ["border-style", "dotted"], + ]), + e("border-double", [ + ["--tw-border-style", "double"], + ["border-style", "double"], + ]), + e("border-hidden", [ + ["--tw-border-style", "hidden"], + ["border-style", "hidden"], + ]), + e("border-none", [ + ["--tw-border-style", "none"], + ["border-style", "none"], + ]); + { + let f = function (h, w) { + r.functional(h, (k) => { + if (!k.value) { + if (k.modifier) return; + let T = t.get(["--default-border-width"]) ?? "1px", + E = w.width(T); + return E ? [i(), ...E] : void 0; + } + if (k.value.kind === "arbitrary") { + let T = k.value.value; + switch ( + k.value.dataType ?? + I(T, ["color", "line-width", "length"]) + ) { + case "line-width": + case "length": { + if (k.modifier) return; + let C = w.width(T); + return C ? [i(), ...C] : void 0; + } + default: + return ( + (T = B(T, k.modifier, t)), T === null ? void 0 : w.color(T) + ); + } + } + { + let T = G(k, t, ["--border-color", "--color"]); + if (T) return w.color(T); + } + { + if (k.modifier) return; + let T = t.resolve(k.value.value, ["--border-width"]); + if (T) { + let E = w.width(T); + return E ? [i(), ...E] : void 0; + } + if (N(k.value.value)) { + let E = w.width(`${k.value.value}px`); + return E ? [i(), ...E] : void 0; + } + } + }), + o(h, () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--border-color", "--color"], + modifiers: Array.from({ length: 21 }, (k, T) => `${T * 5}`), + hasDefaultValue: !0, + }, + { + values: ["0", "2", "4", "8"], + valueThemeKeys: ["--border-width"], + }, + ]); + }; + var x = f; + let i = () => D([S("--tw-border-style", "solid")]); + f("border", { + width: (h) => [ + a("border-style", "var(--tw-border-style)"), + a("border-width", h), + ], + color: (h) => [a("border-color", h)], + }), + f("border-x", { + width: (h) => [ + a("border-inline-style", "var(--tw-border-style)"), + a("border-inline-width", h), + ], + color: (h) => [a("border-inline-color", h)], + }), + f("border-y", { + width: (h) => [ + a("border-block-style", "var(--tw-border-style)"), + a("border-block-width", h), + ], + color: (h) => [a("border-block-color", h)], + }), + f("border-s", { + width: (h) => [ + a("border-inline-start-style", "var(--tw-border-style)"), + a("border-inline-start-width", h), + ], + color: (h) => [a("border-inline-start-color", h)], + }), + f("border-e", { + width: (h) => [ + a("border-inline-end-style", "var(--tw-border-style)"), + a("border-inline-end-width", h), + ], + color: (h) => [a("border-inline-end-color", h)], + }), + f("border-t", { + width: (h) => [ + a("border-top-style", "var(--tw-border-style)"), + a("border-top-width", h), + ], + color: (h) => [a("border-top-color", h)], + }), + f("border-r", { + width: (h) => [ + a("border-right-style", "var(--tw-border-style)"), + a("border-right-width", h), + ], + color: (h) => [a("border-right-color", h)], + }), + f("border-b", { + width: (h) => [ + a("border-bottom-style", "var(--tw-border-style)"), + a("border-bottom-width", h), + ], + color: (h) => [a("border-bottom-color", h)], + }), + f("border-l", { + width: (h) => [ + a("border-left-style", "var(--tw-border-style)"), + a("border-left-width", h), + ], + color: (h) => [a("border-left-color", h)], + }), + n("divide-x", { + defaultValue: t.get(["--default-border-width"]) ?? "1px", + themeKeys: ["--divide-width", "--border-width"], + handleBareValue: ({ value: h }) => (N(h) ? `${h}px` : null), + handle: (h) => [ + D([S("--tw-divide-x-reverse", "0")]), + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "divide-x-width"), + i(), + a("--tw-divide-x-reverse", "0"), + a("border-inline-style", "var(--tw-border-style)"), + a( + "border-inline-start-width", + `calc(${h} * var(--tw-divide-x-reverse))`, + ), + a( + "border-inline-end-width", + `calc(${h} * calc(1 - var(--tw-divide-x-reverse)))`, + ), + ]), + ], + }), + n("divide-y", { + defaultValue: t.get(["--default-border-width"]) ?? "1px", + themeKeys: ["--divide-width", "--border-width"], + handleBareValue: ({ value: h }) => (N(h) ? `${h}px` : null), + handle: (h) => [ + D([S("--tw-divide-y-reverse", "0")]), + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "divide-y-width"), + i(), + a("--tw-divide-y-reverse", "0"), + a("border-bottom-style", "var(--tw-border-style)"), + a("border-top-style", "var(--tw-border-style)"), + a("border-top-width", `calc(${h} * var(--tw-divide-y-reverse))`), + a( + "border-bottom-width", + `calc(${h} * calc(1 - var(--tw-divide-y-reverse)))`, + ), + ]), + ], + }), + o("divide-x", () => [ + { + values: ["0", "2", "4", "8"], + valueThemeKeys: ["--divide-width", "--border-width"], + hasDefaultValue: !0, + }, + ]), + o("divide-y", () => [ + { + values: ["0", "2", "4", "8"], + valueThemeKeys: ["--divide-width", "--border-width"], + hasDefaultValue: !0, + }, + ]), + e("divide-x-reverse", [ + () => D([S("--tw-divide-x-reverse", "0")]), + () => + z(":where(& > :not(:last-child))", [ + a("--tw-divide-x-reverse", "1"), + ]), + ]), + e("divide-y-reverse", [ + () => D([S("--tw-divide-y-reverse", "0")]), + () => + z(":where(& > :not(:last-child))", [ + a("--tw-divide-y-reverse", "1"), + ]), + ]); + for (let h of ["solid", "dashed", "dotted", "double", "none"]) + e(`divide-${h}`, [ + () => + z(":where(& > :not(:last-child))", [ + a("--tw-sort", "divide-style"), + a("--tw-border-style", h), + a("border-style", h), + ]), + ]); + } + e("bg-auto", [["background-size", "auto"]]), + e("bg-cover", [["background-size", "cover"]]), + e("bg-contain", [["background-size", "contain"]]), + e("bg-fixed", [["background-attachment", "fixed"]]), + e("bg-local", [["background-attachment", "local"]]), + e("bg-scroll", [["background-attachment", "scroll"]]), + e("bg-center", [["background-position", "center"]]), + e("bg-top", [["background-position", "top"]]), + e("bg-right-top", [["background-position", "right top"]]), + e("bg-right", [["background-position", "right"]]), + e("bg-right-bottom", [["background-position", "right bottom"]]), + e("bg-bottom", [["background-position", "bottom"]]), + e("bg-left-bottom", [["background-position", "left bottom"]]), + e("bg-left", [["background-position", "left"]]), + e("bg-left-top", [["background-position", "left top"]]), + e("bg-repeat", [["background-repeat", "repeat"]]), + e("bg-no-repeat", [["background-repeat", "no-repeat"]]), + e("bg-repeat-x", [["background-repeat", "repeat-x"]]), + e("bg-repeat-y", [["background-repeat", "repeat-y"]]), + e("bg-repeat-round", [["background-repeat", "round"]]), + e("bg-repeat-space", [["background-repeat", "space"]]), + e("bg-none", [["background-image", "none"]]); + { + let h = function (T) { + let E = "in oklab"; + if (T?.kind === "named") + switch (T.value) { + case "longer": + case "shorter": + case "increasing": + case "decreasing": + E = `in oklch ${T.value} hue`; + break; + default: + E = `in ${T.value}`; + } + else T?.kind === "arbitrary" && (E = T.value); + return E; + }, + w = function ({ negative: T }) { + return (E) => { + if (!E.value) return; + if (E.value.kind === "arbitrary") { + if (E.modifier) return; + let F = E.value.value; + switch (E.value.dataType ?? I(F, ["angle"])) { + case "angle": + return ( + (F = T ? `calc(${F} * -1)` : `${F}`), + [ + a("--tw-gradient-position", F), + a( + "background-image", + `linear-gradient(var(--tw-gradient-stops,${F}))`, + ), + ] + ); + default: + return T + ? void 0 + : [ + a("--tw-gradient-position", F), + a( + "background-image", + `linear-gradient(var(--tw-gradient-stops,${F}))`, + ), + ]; + } + } + let C = E.value.value; + if (!T && f.has(C)) C = f.get(C); + else if (N(C)) C = T ? `calc(${C}deg * -1)` : `${C}deg`; + else return; + let A = h(E.modifier); + return [ + a("--tw-gradient-position", `${C} ${A}`), + a( + "background-image", + "linear-gradient(var(--tw-gradient-stops))", + ), + ]; + }; + }, + k = function ({ negative: T }) { + return (E) => { + if (E.value?.kind === "arbitrary") { + if (E.modifier) return; + let F = E.value.value; + return [ + a("--tw-gradient-position", F), + a( + "background-image", + `conic-gradient(var(--tw-gradient-stops,${F}))`, + ), + ]; + } + let C = h(E.modifier); + if (!E.value) + return [ + a("--tw-gradient-position", C), + a( + "background-image", + "conic-gradient(var(--tw-gradient-stops))", + ), + ]; + let A = E.value.value; + if (N(A)) + return ( + (A = T ? `calc(${A} * -1)` : `${A}deg`), + [ + a("--tw-gradient-position", `from ${A} ${C}`), + a( + "background-image", + "conic-gradient(var(--tw-gradient-stops))", + ), + ] + ); + }; + }; + var $ = h, + V = w, + O = k; + let i = [ + "oklab", + "oklch", + "srgb", + "hsl", + "longer", + "shorter", + "increasing", + "decreasing", + ], + f = new Map([ + ["to-t", "to top"], + ["to-tr", "to top right"], + ["to-r", "to right"], + ["to-br", "to bottom right"], + ["to-b", "to bottom"], + ["to-bl", "to bottom left"], + ["to-l", "to left"], + ["to-tl", "to top left"], + ]); + r.functional("-bg-linear", w({ negative: !0 })), + r.functional("bg-linear", w({ negative: !1 })), + o("bg-linear", () => [ + { values: [...f.keys()], modifiers: i }, + { + values: [ + "0", + "30", + "60", + "90", + "120", + "150", + "180", + "210", + "240", + "270", + "300", + "330", + ], + supportsNegative: !0, + modifiers: i, + }, + ]), + r.functional("-bg-conic", k({ negative: !0 })), + r.functional("bg-conic", k({ negative: !1 })), + o("bg-conic", () => [ + { hasDefaultValue: !0, modifiers: i }, + { + values: [ + "0", + "30", + "60", + "90", + "120", + "150", + "180", + "210", + "240", + "270", + "300", + "330", + ], + supportsNegative: !0, + modifiers: i, + }, + ]), + r.functional("bg-radial", (T) => { + if (!T.value) { + let E = h(T.modifier); + return [ + a("--tw-gradient-position", E), + a( + "background-image", + "radial-gradient(var(--tw-gradient-stops))", + ), + ]; + } + if (T.value.kind === "arbitrary") { + if (T.modifier) return; + let E = T.value.value; + return [ + a("--tw-gradient-position", E), + a( + "background-image", + `radial-gradient(var(--tw-gradient-stops,${E}))`, + ), + ]; + } + }), + o("bg-radial", () => [{ hasDefaultValue: !0, modifiers: i }]); + } + r.functional("bg", (i) => { + if (i.value) { + if (i.value.kind === "arbitrary") { + let f = i.value.value; + switch ( + i.value.dataType ?? + I(f, [ + "image", + "color", + "percentage", + "position", + "bg-size", + "length", + "url", + ]) + ) { + case "percentage": + case "position": + return i.modifier ? void 0 : [a("background-position", f)]; + case "bg-size": + case "length": + case "size": + return i.modifier ? void 0 : [a("background-size", f)]; + case "image": + case "url": + return i.modifier ? void 0 : [a("background-image", f)]; + default: + return ( + (f = B(f, i.modifier, t)), + f === null ? void 0 : [a("background-color", f)] + ); + } + } + { + let f = G(i, t, ["--background-color", "--color"]); + if (f) return [a("background-color", f)]; + } + { + if (i.modifier) return; + let f = t.resolve(i.value.value, ["--background-image"]); + if (f) return [a("background-image", f)]; + } + } + }), + o("bg", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--background-color", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + { values: [], valueThemeKeys: ["--background-image"] }, + ]); + let y = () => + D([ + S("--tw-gradient-position"), + S("--tw-gradient-from", "#0000", ""), + S("--tw-gradient-via", "#0000", ""), + S("--tw-gradient-to", "#0000", ""), + S("--tw-gradient-stops"), + S("--tw-gradient-via-stops"), + S("--tw-gradient-from-position", "0%", ""), + S("--tw-gradient-via-position", "50%", ""), + S("--tw-gradient-to-position", "100%", ""), + ]); + function b(i, f) { + r.functional(i, (h) => { + if (h.value) { + if (h.value.kind === "arbitrary") { + let w = h.value.value; + switch ( + h.value.dataType ?? + I(w, ["color", "length", "percentage"]) + ) { + case "length": + case "percentage": + return h.modifier ? void 0 : f.position(w); + default: + return ( + (w = B(w, h.modifier, t)), w === null ? void 0 : f.color(w) + ); + } + } + { + let w = G(h, t, ["--background-color", "--color"]); + if (w) return f.color(w); + } + { + if (h.modifier) return; + let w = t.resolve(h.value.value, [ + "--gradient-color-stop-positions", + ]); + if (w) return f.position(w); + if ( + h.value.value[h.value.value.length - 1] === "%" && + N(h.value.value.slice(0, -1)) + ) + return f.position(h.value.value); + } + } + }), + o(i, () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--background-color", "--color"], + modifiers: Array.from({ length: 21 }, (h, w) => `${w * 5}`), + }, + { + values: Array.from({ length: 21 }, (h, w) => `${w * 5}%`), + valueThemeKeys: ["--gradient-color-stop-positions"], + }, + ]); + } + b("from", { + color: (i) => [ + y(), + a("--tw-sort", "--tw-gradient-from"), + a("--tw-gradient-from", i), + a( + "--tw-gradient-stops", + "var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))", + ), + ], + position: (i) => [y(), a("--tw-gradient-from-position", i)], + }), + e("via-none", [["--tw-gradient-via-stops", "initial"]]), + b("via", { + color: (i) => [ + y(), + a("--tw-sort", "--tw-gradient-via"), + a("--tw-gradient-via", i), + a( + "--tw-gradient-via-stops", + "var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position)", + ), + a("--tw-gradient-stops", "var(--tw-gradient-via-stops)"), + ], + position: (i) => [y(), a("--tw-gradient-via-position", i)], + }), + b("to", { + color: (i) => [ + y(), + a("--tw-sort", "--tw-gradient-to"), + a("--tw-gradient-to", i), + a( + "--tw-gradient-stops", + "var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))", + ), + ], + position: (i) => [y(), a("--tw-gradient-to-position", i)], + }), + e("box-decoration-slice", [ + ["-webkit-box-decoration-break", "slice"], + ["box-decoration-break", "slice"], + ]), + e("box-decoration-clone", [ + ["-webkit-box-decoration-break", "clone"], + ["box-decoration-break", "clone"], + ]), + e("bg-clip-text", [["background-clip", "text"]]), + e("bg-clip-border", [["background-clip", "border-box"]]), + e("bg-clip-padding", [["background-clip", "padding-box"]]), + e("bg-clip-content", [["background-clip", "content-box"]]), + e("bg-origin-border", [["background-origin", "border-box"]]), + e("bg-origin-padding", [["background-origin", "padding-box"]]), + e("bg-origin-content", [["background-origin", "content-box"]]); + for (let i of [ + "normal", + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity", + ]) + e(`bg-blend-${i}`, [["background-blend-mode", i]]), + e(`mix-blend-${i}`, [["mix-blend-mode", i]]); + e("mix-blend-plus-darker", [["mix-blend-mode", "plus-darker"]]), + e("mix-blend-plus-lighter", [["mix-blend-mode", "plus-lighter"]]), + e("fill-none", [["fill", "none"]]), + r.functional("fill", (i) => { + if (!i.value) return; + if (i.value.kind === "arbitrary") { + let h = B(i.value.value, i.modifier, t); + return h === null ? void 0 : [a("fill", h)]; + } + let f = G(i, t, ["--fill", "--color"]); + if (f) return [a("fill", f)]; + }), + o("fill", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--fill", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + ]), + e("stroke-none", [["stroke", "none"]]), + r.functional("stroke", (i) => { + if (i.value) { + if (i.value.kind === "arbitrary") { + let f = i.value.value; + switch ( + i.value.dataType ?? + I(f, ["color", "number", "length", "percentage"]) + ) { + case "number": + case "length": + case "percentage": + return i.modifier ? void 0 : [a("stroke-width", f)]; + default: + return ( + (f = B(i.value.value, i.modifier, t)), + f === null ? void 0 : [a("stroke", f)] + ); + } + } + { + let f = G(i, t, ["--stroke", "--color"]); + if (f) return [a("stroke", f)]; + } + { + let f = t.resolve(i.value.value, ["--stroke-width"]); + if (f) return [a("stroke-width", f)]; + if (N(i.value.value)) return [a("stroke-width", i.value.value)]; + } + } + }), + o("stroke", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--stroke", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + { values: ["0", "1", "2", "3"], valueThemeKeys: ["--stroke-width"] }, + ]), + e("object-contain", [["object-fit", "contain"]]), + e("object-cover", [["object-fit", "cover"]]), + e("object-fill", [["object-fit", "fill"]]), + e("object-none", [["object-fit", "none"]]), + e("object-scale-down", [["object-fit", "scale-down"]]), + e("object-bottom", [["object-position", "bottom"]]), + e("object-center", [["object-position", "center"]]), + e("object-left", [["object-position", "left"]]), + e("object-left-bottom", [["object-position", "left bottom"]]), + e("object-left-top", [["object-position", "left top"]]), + e("object-right", [["object-position", "right"]]), + e("object-right-bottom", [["object-position", "right bottom"]]), + e("object-right-top", [["object-position", "right top"]]), + e("object-top", [["object-position", "top"]]), + n("object", { + themeKeys: ["--object-position"], + handle: (i) => [a("object-position", i)], + }); + for (let [i, f] of [ + ["p", "padding"], + ["px", "padding-inline"], + ["py", "padding-block"], + ["ps", "padding-inline-start"], + ["pe", "padding-inline-end"], + ["pt", "padding-top"], + ["pr", "padding-right"], + ["pb", "padding-bottom"], + ["pl", "padding-left"], + ]) + l(i, ["--padding", "--spacing"], (h) => [a(f, h)]); + e("text-left", [["text-align", "left"]]), + e("text-center", [["text-align", "center"]]), + e("text-right", [["text-align", "right"]]), + e("text-justify", [["text-align", "justify"]]), + e("text-start", [["text-align", "start"]]), + e("text-end", [["text-align", "end"]]), + l( + "indent", + ["--text-indent", "--spacing"], + (i) => [a("text-indent", i)], + { supportsNegative: !0 }, + ), + e("align-baseline", [["vertical-align", "baseline"]]), + e("align-top", [["vertical-align", "top"]]), + e("align-middle", [["vertical-align", "middle"]]), + e("align-bottom", [["vertical-align", "bottom"]]), + e("align-text-top", [["vertical-align", "text-top"]]), + e("align-text-bottom", [["vertical-align", "text-bottom"]]), + e("align-sub", [["vertical-align", "sub"]]), + e("align-super", [["vertical-align", "super"]]), + n("align", { themeKeys: [], handle: (i) => [a("vertical-align", i)] }), + r.functional("font", (i) => { + if (!(!i.value || i.modifier)) { + if (i.value.kind === "arbitrary") { + let f = i.value.value; + switch ( + i.value.dataType ?? + I(f, ["number", "generic-name", "family-name"]) + ) { + case "generic-name": + case "family-name": + return [a("font-family", f)]; + default: + return [ + D([S("--tw-font-weight")]), + a("--tw-font-weight", f), + a("font-weight", f), + ]; + } + } + { + let f = t.resolveWith( + i.value.value, + ["--font"], + ["--font-feature-settings", "--font-variation-settings"], + ); + if (f) { + let [h, w = {}] = f; + return [ + a("font-family", h), + a("font-feature-settings", w["--font-feature-settings"]), + a("font-variation-settings", w["--font-variation-settings"]), + ]; + } + } + { + let f = t.resolve(i.value.value, ["--font-weight"]); + if (f) + return [ + D([S("--tw-font-weight")]), + a("--tw-font-weight", f), + a("font-weight", f), + ]; + } + } + }), + o("font", () => [ + { values: [], valueThemeKeys: ["--font"] }, + { values: [], valueThemeKeys: ["--font-weight"] }, + ]), + e("uppercase", [["text-transform", "uppercase"]]), + e("lowercase", [["text-transform", "lowercase"]]), + e("capitalize", [["text-transform", "capitalize"]]), + e("normal-case", [["text-transform", "none"]]), + e("italic", [["font-style", "italic"]]), + e("not-italic", [["font-style", "normal"]]), + e("underline", [["text-decoration-line", "underline"]]), + e("overline", [["text-decoration-line", "overline"]]), + e("line-through", [["text-decoration-line", "line-through"]]), + e("no-underline", [["text-decoration-line", "none"]]), + e("font-stretch-normal", [["font-stretch", "normal"]]), + e("font-stretch-ultra-condensed", [["font-stretch", "ultra-condensed"]]), + e("font-stretch-extra-condensed", [["font-stretch", "extra-condensed"]]), + e("font-stretch-condensed", [["font-stretch", "condensed"]]), + e("font-stretch-semi-condensed", [["font-stretch", "semi-condensed"]]), + e("font-stretch-semi-expanded", [["font-stretch", "semi-expanded"]]), + e("font-stretch-expanded", [["font-stretch", "expanded"]]), + e("font-stretch-extra-expanded", [["font-stretch", "extra-expanded"]]), + e("font-stretch-ultra-expanded", [["font-stretch", "ultra-expanded"]]), + n("font-stretch", { + handleBareValue: ({ value: i }) => { + if (!i.endsWith("%")) return null; + let f = Number(i.slice(0, -1)); + return !N(f) || Number.isNaN(f) || f < 50 || f > 200 ? null : i; + }, + handle: (i) => [a("font-stretch", i)], + }), + o("font-stretch", () => [ + { + values: [ + "50%", + "75%", + "90%", + "95%", + "100%", + "105%", + "110%", + "125%", + "150%", + "200%", + ], + }, + ]), + s("placeholder", { + themeKeys: ["--background-color", "--color"], + handle: (i) => [ + z("&::placeholder", [ + a("--tw-sort", "placeholder-color"), + a("color", i), + ]), + ], + }), + e("decoration-solid", [["text-decoration-style", "solid"]]), + e("decoration-double", [["text-decoration-style", "double"]]), + e("decoration-dotted", [["text-decoration-style", "dotted"]]), + e("decoration-dashed", [["text-decoration-style", "dashed"]]), + e("decoration-wavy", [["text-decoration-style", "wavy"]]), + e("decoration-auto", [["text-decoration-thickness", "auto"]]), + e("decoration-from-font", [["text-decoration-thickness", "from-font"]]), + r.functional("decoration", (i) => { + if (i.value) { + if (i.value.kind === "arbitrary") { + let f = i.value.value; + switch ( + i.value.dataType ?? + I(f, ["color", "length", "percentage"]) + ) { + case "length": + case "percentage": + return i.modifier + ? void 0 + : [a("text-decoration-thickness", f)]; + default: + return ( + (f = B(f, i.modifier, t)), + f === null ? void 0 : [a("text-decoration-color", f)] + ); + } + } + { + let f = t.resolve(i.value.value, ["--text-decoration-thickness"]); + if (f) + return i.modifier ? void 0 : [a("text-decoration-thickness", f)]; + if (N(i.value.value)) + return i.modifier + ? void 0 + : [a("text-decoration-thickness", `${i.value.value}px`)]; + } + { + let f = G(i, t, ["--text-decoration-color", "--color"]); + if (f) return [a("text-decoration-color", f)]; + } + } + }), + o("decoration", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--text-decoration-color", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + { + values: ["0", "1", "2"], + valueThemeKeys: ["--text-decoration-thickness"], + }, + ]), + e("animate-none", [["animation", "none"]]), + n("animate", { + themeKeys: ["--animate"], + handle: (i) => [a("animation", i)], + }); + { + let i = [ + "var(--tw-blur,)", + "var(--tw-brightness,)", + "var(--tw-contrast,)", + "var(--tw-grayscale,)", + "var(--tw-hue-rotate,)", + "var(--tw-invert,)", + "var(--tw-saturate,)", + "var(--tw-sepia,)", + "var(--tw-drop-shadow,)", + ].join(" "), + f = [ + "var(--tw-backdrop-blur,)", + "var(--tw-backdrop-brightness,)", + "var(--tw-backdrop-contrast,)", + "var(--tw-backdrop-grayscale,)", + "var(--tw-backdrop-hue-rotate,)", + "var(--tw-backdrop-invert,)", + "var(--tw-backdrop-opacity,)", + "var(--tw-backdrop-saturate,)", + "var(--tw-backdrop-sepia,)", + ].join(" "), + h = () => + D([ + S("--tw-blur"), + S("--tw-brightness"), + S("--tw-contrast"), + S("--tw-grayscale"), + S("--tw-hue-rotate"), + S("--tw-invert"), + S("--tw-opacity"), + S("--tw-saturate"), + S("--tw-sepia"), + S("--tw-drop-shadow"), + ]), + w = () => + D([ + S("--tw-backdrop-blur"), + S("--tw-backdrop-brightness"), + S("--tw-backdrop-contrast"), + S("--tw-backdrop-grayscale"), + S("--tw-backdrop-hue-rotate"), + S("--tw-backdrop-invert"), + S("--tw-backdrop-opacity"), + S("--tw-backdrop-saturate"), + S("--tw-backdrop-sepia"), + ]); + r.functional("filter", (k) => { + if (!k.modifier) { + if (k.value === null) return [h(), a("filter", i)]; + if (k.value.kind === "arbitrary") return [a("filter", k.value.value)]; + switch (k.value.value) { + case "none": + return [a("filter", "none")]; + } + } + }), + r.functional("backdrop-filter", (k) => { + if (!k.modifier) { + if (k.value === null) + return [ + w(), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ]; + if (k.value.kind === "arbitrary") + return [ + a("-webkit-backdrop-filter", k.value.value), + a("backdrop-filter", k.value.value), + ]; + switch (k.value.value) { + case "none": + return [ + a("-webkit-backdrop-filter", "none"), + a("backdrop-filter", "none"), + ]; + } + } + }), + n("blur", { + themeKeys: ["--blur"], + handle: (k) => [h(), a("--tw-blur", `blur(${k})`), a("filter", i)], + }), + e("blur-none", [h, ["--tw-blur", " "], ["filter", i]]), + n("backdrop-blur", { + themeKeys: ["--backdrop-blur", "--blur"], + handle: (k) => [ + w(), + a("--tw-backdrop-blur", `blur(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + e("backdrop-blur-none", [ + w, + ["--tw-backdrop-blur", " "], + ["-webkit-backdrop-filter", f], + ["backdrop-filter", f], + ]), + n("brightness", { + themeKeys: ["--brightness"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + h(), + a("--tw-brightness", `brightness(${k})`), + a("filter", i), + ], + }), + n("backdrop-brightness", { + themeKeys: ["--backdrop-brightness", "--brightness"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + w(), + a("--tw-backdrop-brightness", `brightness(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("brightness", () => [ + { + values: [ + "0", + "50", + "75", + "90", + "95", + "100", + "105", + "110", + "125", + "150", + "200", + ], + valueThemeKeys: ["--brightness"], + }, + ]), + o("backdrop-brightness", () => [ + { + values: [ + "0", + "50", + "75", + "90", + "95", + "100", + "105", + "110", + "125", + "150", + "200", + ], + valueThemeKeys: ["--backdrop-brightness", "--brightness"], + }, + ]), + n("contrast", { + themeKeys: ["--contrast"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + h(), + a("--tw-contrast", `contrast(${k})`), + a("filter", i), + ], + }), + n("backdrop-contrast", { + themeKeys: ["--backdrop-contrast", "--contrast"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + w(), + a("--tw-backdrop-contrast", `contrast(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("contrast", () => [ + { + values: ["0", "50", "75", "100", "125", "150", "200"], + valueThemeKeys: ["--contrast"], + }, + ]), + o("backdrop-contrast", () => [ + { + values: ["0", "50", "75", "100", "125", "150", "200"], + valueThemeKeys: ["--backdrop-contrast", "--contrast"], + }, + ]), + n("grayscale", { + themeKeys: ["--grayscale"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [ + h(), + a("--tw-grayscale", `grayscale(${k})`), + a("filter", i), + ], + }), + n("backdrop-grayscale", { + themeKeys: ["--backdrop-grayscale", "--grayscale"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [ + w(), + a("--tw-backdrop-grayscale", `grayscale(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("grayscale", () => [ + { + values: ["0", "25", "50", "75", "100"], + valueThemeKeys: ["--grayscale"], + hasDefaultValue: !0, + }, + ]), + o("backdrop-grayscale", () => [ + { + values: ["0", "25", "50", "75", "100"], + valueThemeKeys: ["--backdrop-grayscale", "--grayscale"], + hasDefaultValue: !0, + }, + ]), + n("hue-rotate", { + supportsNegative: !0, + themeKeys: ["--hue-rotate"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}deg` : null), + handle: (k) => [ + h(), + a("--tw-hue-rotate", `hue-rotate(${k})`), + a("filter", i), + ], + }), + n("backdrop-hue-rotate", { + supportsNegative: !0, + themeKeys: ["--backdrop-hue-rotate", "--hue-rotate"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}deg` : null), + handle: (k) => [ + w(), + a("--tw-backdrop-hue-rotate", `hue-rotate(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("hue-rotate", () => [ + { + values: ["0", "15", "30", "60", "90", "180"], + valueThemeKeys: ["--hue-rotate"], + }, + ]), + o("backdrop-hue-rotate", () => [ + { + values: ["0", "15", "30", "60", "90", "180"], + valueThemeKeys: ["--backdrop-hue-rotate", "--hue-rotate"], + }, + ]), + n("invert", { + themeKeys: ["--invert"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [ + h(), + a("--tw-invert", `invert(${k})`), + a("filter", i), + ], + }), + n("backdrop-invert", { + themeKeys: ["--backdrop-invert", "--invert"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [ + w(), + a("--tw-backdrop-invert", `invert(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("invert", () => [ + { + values: ["0", "25", "50", "75", "100"], + valueThemeKeys: ["--invert"], + hasDefaultValue: !0, + }, + ]), + o("backdrop-invert", () => [ + { + values: ["0", "25", "50", "75", "100"], + valueThemeKeys: ["--backdrop-invert", "--invert"], + hasDefaultValue: !0, + }, + ]), + n("saturate", { + themeKeys: ["--saturate"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + h(), + a("--tw-saturate", `saturate(${k})`), + a("filter", i), + ], + }), + n("backdrop-saturate", { + themeKeys: ["--backdrop-saturate", "--saturate"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + handle: (k) => [ + w(), + a("--tw-backdrop-saturate", `saturate(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("saturate", () => [ + { + values: ["0", "50", "100", "150", "200"], + valueThemeKeys: ["--saturate"], + }, + ]), + o("backdrop-saturate", () => [ + { + values: ["0", "50", "100", "150", "200"], + valueThemeKeys: ["--backdrop-saturate", "--saturate"], + }, + ]), + n("sepia", { + themeKeys: ["--sepia"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [h(), a("--tw-sepia", `sepia(${k})`), a("filter", i)], + }), + n("backdrop-sepia", { + themeKeys: ["--backdrop-sepia", "--sepia"], + handleBareValue: ({ value: k }) => (N(k) ? `${k}%` : null), + defaultValue: "100%", + handle: (k) => [ + w(), + a("--tw-backdrop-sepia", `sepia(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("sepia", () => [ + { + values: ["0", "50", "100"], + valueThemeKeys: ["--sepia"], + hasDefaultValue: !0, + }, + ]), + o("backdrop-sepia", () => [ + { + values: ["0", "50", "100"], + valueThemeKeys: ["--backdrop-sepia", "--sepia"], + hasDefaultValue: !0, + }, + ]), + e("drop-shadow-none", [h, ["--tw-drop-shadow", " "], ["filter", i]]), + n("drop-shadow", { + themeKeys: ["--drop-shadow"], + handle: (k) => [ + h(), + a( + "--tw-drop-shadow", + P(k, ",") + .map((T) => `drop-shadow(${T})`) + .join(" "), + ), + a("filter", i), + ], + }), + n("backdrop-opacity", { + themeKeys: ["--backdrop-opacity", "--opacity"], + handleBareValue: ({ value: k }) => (Me(k) ? `${k}%` : null), + handle: (k) => [ + w(), + a("--tw-backdrop-opacity", `opacity(${k})`), + a("-webkit-backdrop-filter", f), + a("backdrop-filter", f), + ], + }), + o("backdrop-opacity", () => [ + { + values: Array.from({ length: 21 }, (k, T) => `${T * 5}`), + valueThemeKeys: ["--backdrop-opacity", "--opacity"], + }, + ]); + } + { + let i = `var(--tw-ease, ${t.resolve(null, ["--default-transition-timing-function"]) ?? "ease"})`, + f = `var(--tw-duration, ${t.resolve(null, ["--default-transition-duration"]) ?? "0s"})`; + e("transition-none", [["transition-property", "none"]]), + e("transition-all", [ + ["transition-property", "all"], + ["transition-timing-function", i], + ["transition-duration", f], + ]), + e("transition-colors", [ + [ + "transition-property", + "color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to", + ], + ["transition-timing-function", i], + ["transition-duration", f], + ]), + e("transition-opacity", [ + ["transition-property", "opacity"], + ["transition-timing-function", i], + ["transition-duration", f], + ]), + e("transition-shadow", [ + ["transition-property", "box-shadow"], + ["transition-timing-function", i], + ["transition-duration", f], + ]), + e("transition-transform", [ + ["transition-property", "transform, translate, scale, rotate"], + ["transition-timing-function", i], + ["transition-duration", f], + ]), + n("transition", { + defaultValue: + "color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter", + themeKeys: ["--transition-property"], + handle: (h) => [ + a("transition-property", h), + a("transition-timing-function", i), + a("transition-duration", f), + ], + }), + e("transition-discrete", [["transition-behavior", "allow-discrete"]]), + e("transition-normal", [["transition-behavior", "normal"]]), + n("delay", { + handleBareValue: ({ value: h }) => (N(h) ? `${h}ms` : null), + themeKeys: ["--transition-delay"], + handle: (h) => [a("transition-delay", h)], + }); + { + let h = () => D([S("--tw-duration")]); + e("duration-initial", [h, ["--tw-duration", "initial"]]), + r.functional("duration", (w) => { + if (w.modifier || !w.value) return; + let k = null; + if ( + (w.value.kind === "arbitrary" + ? (k = w.value.value) + : ((k = t.resolve(w.value.fraction ?? w.value.value, [ + "--transition-duration", + ])), + k === null && N(w.value.value) && (k = `${w.value.value}ms`)), + k !== null) + ) + return [h(), a("--tw-duration", k), a("transition-duration", k)]; + }); + } + o("delay", () => [ + { + values: ["75", "100", "150", "200", "300", "500", "700", "1000"], + valueThemeKeys: ["--transition-delay"], + }, + ]), + o("duration", () => [ + { + values: ["75", "100", "150", "200", "300", "500", "700", "1000"], + valueThemeKeys: ["--transition-duration"], + }, + ]); + } + { + let i = () => D([S("--tw-ease")]); + e("ease-initial", [i, ["--tw-ease", "initial"]]), + e("ease-linear", [ + i, + ["--tw-ease", "linear"], + ["transition-timing-function", "linear"], + ]), + n("ease", { + themeKeys: ["--ease"], + handle: (f) => [ + i(), + a("--tw-ease", f), + a("transition-timing-function", f), + ], + }); + } + e("will-change-auto", [["will-change", "auto"]]), + e("will-change-scroll", [["will-change", "scroll-position"]]), + e("will-change-contents", [["will-change", "contents"]]), + e("will-change-transform", [["will-change", "transform"]]), + n("will-change", { themeKeys: [], handle: (i) => [a("will-change", i)] }), + e("content-none", [ + ["--tw-content", "none"], + ["content", "none"], + ]), + n("content", { + themeKeys: [], + handle: (i) => [ + D([S("--tw-content", '""')]), + a("--tw-content", i), + a("content", "var(--tw-content)"), + ], + }); + { + let i = + "var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)", + f = () => + D([ + S("--tw-contain-size"), + S("--tw-contain-layout"), + S("--tw-contain-paint"), + S("--tw-contain-style"), + ]); + e("contain-none", [["contain", "none"]]), + e("contain-content", [["contain", "content"]]), + e("contain-strict", [["contain", "strict"]]), + e("contain-size", [f, ["--tw-contain-size", "size"], ["contain", i]]), + e("contain-inline-size", [ + f, + ["--tw-contain-size", "inline-size"], + ["contain", i], + ]), + e("contain-layout", [ + f, + ["--tw-contain-layout", "layout"], + ["contain", i], + ]), + e("contain-paint", [ + f, + ["--tw-contain-paint", "paint"], + ["contain", i], + ]), + e("contain-style", [ + f, + ["--tw-contain-style", "style"], + ["contain", i], + ]), + n("contain", { themeKeys: [], handle: (h) => [a("contain", h)] }); + } + e("forced-color-adjust-none", [["forced-color-adjust", "none"]]), + e("forced-color-adjust-auto", [["forced-color-adjust", "auto"]]), + e("leading-none", [ + () => D([S("--tw-leading")]), + ["--tw-leading", "1"], + ["line-height", "1"], + ]), + l("leading", ["--leading", "--spacing"], (i) => [ + D([S("--tw-leading")]), + a("--tw-leading", i), + a("line-height", i), + ]), + n("tracking", { + supportsNegative: !0, + themeKeys: ["--tracking"], + handle: (i) => [ + D([S("--tw-tracking")]), + a("--tw-tracking", i), + a("letter-spacing", i), + ], + }), + e("antialiased", [ + ["-webkit-font-smoothing", "antialiased"], + ["-moz-osx-font-smoothing", "grayscale"], + ]), + e("subpixel-antialiased", [ + ["-webkit-font-smoothing", "auto"], + ["-moz-osx-font-smoothing", "auto"], + ]); + { + let i = + "var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)", + f = () => + D([ + S("--tw-ordinal"), + S("--tw-slashed-zero"), + S("--tw-numeric-figure"), + S("--tw-numeric-spacing"), + S("--tw-numeric-fraction"), + ]); + e("normal-nums", [["font-variant-numeric", "normal"]]), + e("ordinal", [ + f, + ["--tw-ordinal", "ordinal"], + ["font-variant-numeric", i], + ]), + e("slashed-zero", [ + f, + ["--tw-slashed-zero", "slashed-zero"], + ["font-variant-numeric", i], + ]), + e("lining-nums", [ + f, + ["--tw-numeric-figure", "lining-nums"], + ["font-variant-numeric", i], + ]), + e("oldstyle-nums", [ + f, + ["--tw-numeric-figure", "oldstyle-nums"], + ["font-variant-numeric", i], + ]), + e("proportional-nums", [ + f, + ["--tw-numeric-spacing", "proportional-nums"], + ["font-variant-numeric", i], + ]), + e("tabular-nums", [ + f, + ["--tw-numeric-spacing", "tabular-nums"], + ["font-variant-numeric", i], + ]), + e("diagonal-fractions", [ + f, + ["--tw-numeric-fraction", "diagonal-fractions"], + ["font-variant-numeric", i], + ]), + e("stacked-fractions", [ + f, + ["--tw-numeric-fraction", "stacked-fractions"], + ["font-variant-numeric", i], + ]); + } + { + let i = () => D([S("--tw-outline-style", "solid")]); + r.static("outline-hidden", () => [ + a("--tw-outline-style", "none"), + a("outline-style", "none"), + U("@media", "(forced-colors: active)", [ + a("outline", "2px solid transparent"), + a("outline-offset", "2px"), + ]), + ]), + e("outline-none", [ + ["--tw-outline-style", "none"], + ["outline-style", "none"], + ]), + e("outline-solid", [ + ["--tw-outline-style", "solid"], + ["outline-style", "solid"], + ]), + e("outline-dashed", [ + ["--tw-outline-style", "dashed"], + ["outline-style", "dashed"], + ]), + e("outline-dotted", [ + ["--tw-outline-style", "dotted"], + ["outline-style", "dotted"], + ]), + e("outline-double", [ + ["--tw-outline-style", "double"], + ["outline-style", "double"], + ]), + r.functional("outline", (f) => { + if (f.value === null) { + if (f.modifier) return; + let h = t.get(["--default-outline-width"]) ?? "1px"; + return [ + i(), + a("outline-style", "var(--tw-outline-style)"), + a("outline-width", h), + ]; + } + if (f.value.kind === "arbitrary") { + let h = f.value.value; + switch ( + f.value.dataType ?? + I(h, ["color", "length", "number", "percentage"]) + ) { + case "length": + case "number": + case "percentage": + return f.modifier + ? void 0 + : [ + i(), + a("outline-style", "var(--tw-outline-style)"), + a("outline-width", h), + ]; + default: + return ( + (h = B(h, f.modifier, t)), + h === null ? void 0 : [a("outline-color", h)] + ); + } + } + { + let h = G(f, t, ["--outline-color", "--color"]); + if (h) return [a("outline-color", h)]; + } + { + if (f.modifier) return; + let h = t.resolve(f.value.value, ["--outline-width"]); + if (h) + return [ + i(), + a("outline-style", "var(--tw-outline-style)"), + a("outline-width", h), + ]; + if (N(f.value.value)) + return [ + i(), + a("outline-style", "var(--tw-outline-style)"), + a("outline-width", `${f.value.value}px`), + ]; + } + }), + o("outline", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--outline-color", "--color"], + modifiers: Array.from({ length: 21 }, (f, h) => `${h * 5}`), + hasDefaultValue: !0, + }, + { + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--outline-width"], + }, + ]), + n("outline-offset", { + supportsNegative: !0, + themeKeys: ["--outline-offset"], + handleBareValue: ({ value: f }) => (N(f) ? `${f}px` : null), + handle: (f) => [a("outline-offset", f)], + }), + o("outline-offset", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--outline-offset"], + }, + ]); + } + n("opacity", { + themeKeys: ["--opacity"], + handleBareValue: ({ value: i }) => (Me(i) ? `${i}%` : null), + handle: (i) => [a("opacity", i)], + }), + o("opacity", () => [ + { + values: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + valueThemeKeys: ["--opacity"], + }, + ]), + e("underline-offset-auto", [["text-underline-offset", "auto"]]), + n("underline-offset", { + supportsNegative: !0, + themeKeys: ["--text-underline-offset"], + handleBareValue: ({ value: i }) => (N(i) ? `${i}px` : null), + handle: (i) => [a("text-underline-offset", i)], + }), + o("underline-offset", () => [ + { + supportsNegative: !0, + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--text-underline-offset"], + }, + ]), + r.functional("text", (i) => { + if (i.value) { + if (i.value.kind === "arbitrary") { + let f = i.value.value; + switch ( + i.value.dataType ?? + I(f, [ + "color", + "length", + "percentage", + "absolute-size", + "relative-size", + ]) + ) { + case "size": + case "length": + case "percentage": + case "absolute-size": + case "relative-size": { + if (i.modifier) { + let w = + i.modifier.kind === "arbitrary" + ? i.modifier.value + : t.resolve(i.modifier.value, ["--leading"]); + if (!w && ge(i.modifier.value)) { + let k = t.resolve(null, ["--spacing"]); + if (!k) return null; + w = `calc(${k} * ${i.modifier.value})`; + } + return ( + !w && i.modifier.value === "none" && (w = "1"), + w ? [a("font-size", f), a("line-height", w)] : null + ); + } + return [a("font-size", f)]; + } + default: + return ( + (f = B(f, i.modifier, t)), + f === null ? void 0 : [a("color", f)] + ); + } + } + { + let f = G(i, t, ["--text-color", "--color"]); + if (f) return [a("color", f)]; + } + { + let f = t.resolveWith( + i.value.value, + ["--text"], + ["--line-height", "--letter-spacing", "--font-weight"], + ); + if (f) { + let [h, w = {}] = Array.isArray(f) ? f : [f]; + if (i.modifier) { + let k = + i.modifier.kind === "arbitrary" + ? i.modifier.value + : t.resolve(i.modifier.value, ["--leading"]); + if (!k && ge(i.modifier.value)) { + let E = t.resolve(null, ["--spacing"]); + if (!E) return null; + k = `calc(${E} * ${i.modifier.value})`; + } + if ((!k && i.modifier.value === "none" && (k = "1"), !k)) + return null; + let T = [a("font-size", h)]; + return k && T.push(a("line-height", k)), T; + } + return typeof w == "string" + ? [a("font-size", h), a("line-height", w)] + : [ + a("font-size", h), + a( + "line-height", + w["--line-height"] + ? `var(--tw-leading, ${w["--line-height"]})` + : void 0, + ), + a( + "letter-spacing", + w["--letter-spacing"] + ? `var(--tw-tracking, ${w["--letter-spacing"]})` + : void 0, + ), + a( + "font-weight", + w["--font-weight"] + ? `var(--tw-font-weight, ${w["--font-weight"]})` + : void 0, + ), + ]; + } + } + } + }), + o("text", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--text-color", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + { + values: [], + valueThemeKeys: ["--text"], + modifiers: [], + modifierThemeKeys: ["--leading"], + }, + ]); + { + let k = function (C) { + return `var(--tw-ring-inset,) 0 0 0 calc(${C} + var(--tw-ring-offset-width)) var(--tw-ring-color, ${w})`; + }, + T = function (C) { + return `inset 0 0 0 ${C} var(--tw-inset-ring-color, currentColor)`; + }; + var R = k, + K = T; + let i = [ + "var(--tw-inset-shadow)", + "var(--tw-inset-ring-shadow)", + "var(--tw-ring-offset-shadow)", + "var(--tw-ring-shadow)", + "var(--tw-shadow)", + ].join(", "), + f = "0 0 #0000", + h = () => + D([ + S("--tw-shadow", f), + S("--tw-shadow-color"), + S("--tw-inset-shadow", f), + S("--tw-inset-shadow-color"), + S("--tw-ring-color"), + S("--tw-ring-shadow", f), + S("--tw-inset-ring-color"), + S("--tw-inset-ring-shadow", f), + S("--tw-ring-inset"), + S("--tw-ring-offset-width", "0px", ""), + S("--tw-ring-offset-color", "#fff"), + S("--tw-ring-offset-shadow", f), + ]); + e("shadow-initial", [h, ["--tw-shadow-color", "initial"]]), + r.functional("shadow", (C) => { + if (!C.value) { + let A = t.get(["--shadow"]); + return A === null + ? void 0 + : [ + h(), + a( + "--tw-shadow", + ce(A, (F) => `var(--tw-shadow-color, ${F})`), + ), + a("box-shadow", i), + ]; + } + if (C.value.kind === "arbitrary") { + let A = C.value.value; + switch (C.value.dataType ?? I(A, ["color"])) { + case "color": + return ( + (A = B(A, C.modifier, t)), + A === null ? void 0 : [h(), a("--tw-shadow-color", A)] + ); + default: + return [ + h(), + a( + "--tw-shadow", + ce(A, (Oe) => `var(--tw-shadow-color, ${Oe})`), + ), + a("box-shadow", i), + ]; + } + } + switch (C.value.value) { + case "none": + return C.modifier + ? void 0 + : [h(), a("--tw-shadow", f), a("box-shadow", i)]; + } + { + let A = t.get([`--shadow-${C.value.value}`]); + if (A) + return C.modifier + ? void 0 + : [ + h(), + a( + "--tw-shadow", + ce(A, (F) => `var(--tw-shadow-color, ${F})`), + ), + a("box-shadow", i), + ]; + } + { + let A = G(C, t, ["--box-shadow-color", "--color"]); + if (A) return [h(), a("--tw-shadow-color", A)]; + } + }), + o("shadow", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--box-shadow-color", "--color"], + modifiers: Array.from({ length: 21 }, (C, A) => `${A * 5}`), + }, + { + values: ["none"], + valueThemeKeys: ["--shadow"], + hasDefaultValue: !0, + }, + ]), + e("inset-shadow-initial", [h, ["--tw-inset-shadow-color", "initial"]]), + r.functional("inset-shadow", (C) => { + if (!C.value) { + let A = t.get(["--inset-shadow"]); + return A === null + ? void 0 + : [ + h(), + a( + "--tw-inset-shadow", + ce(A, (F) => `var(--tw-inset-shadow-color, ${F})`), + ), + a("box-shadow", i), + ]; + } + if (C.value.kind === "arbitrary") { + let A = C.value.value; + switch (C.value.dataType ?? I(A, ["color"])) { + case "color": + return ( + (A = B(A, C.modifier, t)), + A === null ? void 0 : [h(), a("--tw-inset-shadow-color", A)] + ); + default: + return [ + h(), + a( + "--tw-inset-shadow", + `inset ${ce(A, (Oe) => `var(--tw-inset-shadow-color, ${Oe})`)}`, + ), + a("box-shadow", i), + ]; + } + } + switch (C.value.value) { + case "none": + return C.modifier + ? void 0 + : [h(), a("--tw-inset-shadow", f), a("box-shadow", i)]; + } + { + let A = t.get([`--inset-shadow-${C.value.value}`]); + if (A) + return C.modifier + ? void 0 + : [ + h(), + a( + "--tw-inset-shadow", + ce(A, (F) => `var(--tw-inset-shadow-color, ${F})`), + ), + a("box-shadow", i), + ]; + } + { + let A = G(C, t, ["--box-shadow-color", "--color"]); + if (A) return [h(), a("--tw-inset-shadow-color", A)]; + } + }), + o("inset-shadow", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--box-shadow-color", "--color"], + modifiers: Array.from({ length: 21 }, (C, A) => `${A * 5}`), + }, + { + values: [], + valueThemeKeys: ["--inset-shadow"], + hasDefaultValue: !0, + }, + ]), + e("ring-inset", [h, ["--tw-ring-inset", "inset"]]); + let w = t.get(["--default-ring-color"]) ?? "currentColor"; + r.functional("ring", (C) => { + if (!C.value) { + if (C.modifier) return; + let A = t.get(["--default-ring-width"]) ?? "1px"; + return [h(), a("--tw-ring-shadow", k(A)), a("box-shadow", i)]; + } + if (C.value.kind === "arbitrary") { + let A = C.value.value; + switch (C.value.dataType ?? I(A, ["color", "length"])) { + case "length": + return C.modifier + ? void 0 + : [h(), a("--tw-ring-shadow", k(A)), a("box-shadow", i)]; + default: + return ( + (A = B(A, C.modifier, t)), + A === null ? void 0 : [a("--tw-ring-color", A)] + ); + } + } + { + let A = G(C, t, ["--ring-color", "--color"]); + if (A) return [a("--tw-ring-color", A)]; + } + { + if (C.modifier) return; + let A = t.resolve(C.value.value, ["--ring-width"]); + if ((A === null && N(C.value.value) && (A = `${C.value.value}px`), A)) + return [h(), a("--tw-ring-shadow", k(A)), a("box-shadow", i)]; + } + }), + o("ring", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--ring-color", "--color"], + modifiers: Array.from({ length: 21 }, (C, A) => `${A * 5}`), + }, + { + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--ring-width"], + hasDefaultValue: !0, + }, + ]), + r.functional("inset-ring", (C) => { + if (!C.value) + return C.modifier + ? void 0 + : [ + h(), + a("--tw-inset-ring-shadow", T("1px")), + a("box-shadow", i), + ]; + if (C.value.kind === "arbitrary") { + let A = C.value.value; + switch (C.value.dataType ?? I(A, ["color", "length"])) { + case "length": + return C.modifier + ? void 0 + : [ + h(), + a("--tw-inset-ring-shadow", T(A)), + a("box-shadow", i), + ]; + default: + return ( + (A = B(A, C.modifier, t)), + A === null ? void 0 : [a("--tw-inset-ring-color", A)] + ); + } + } + { + let A = G(C, t, ["--ring-color", "--color"]); + if (A) return [a("--tw-inset-ring-color", A)]; + } + { + if (C.modifier) return; + let A = t.resolve(C.value.value, ["--ring-width"]); + if ( + (A === null && N(C.value.value) && (A = `${C.value.value}px`), A) + ) + return [ + h(), + a("--tw-inset-ring-shadow", T(A)), + a("box-shadow", i), + ]; + } + }), + o("inset-ring", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--ring-color", "--color"], + modifiers: Array.from({ length: 21 }, (C, A) => `${A * 5}`), + }, + { + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--ring-width"], + hasDefaultValue: !0, + }, + ]); + let E = + "var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)"; + r.functional("ring-offset", (C) => { + if (C.value) { + if (C.value.kind === "arbitrary") { + let A = C.value.value; + switch (C.value.dataType ?? I(A, ["color", "length"])) { + case "length": + return C.modifier + ? void 0 + : [ + a("--tw-ring-offset-width", A), + a("--tw-ring-offset-shadow", E), + ]; + default: + return ( + (A = B(A, C.modifier, t)), + A === null ? void 0 : [a("--tw-ring-offset-color", A)] + ); + } + } + { + let A = t.resolve(C.value.value, ["--ring-offset-width"]); + if (A) + return C.modifier + ? void 0 + : [ + a("--tw-ring-offset-width", A), + a("--tw-ring-offset-shadow", E), + ]; + if (N(C.value.value)) + return C.modifier + ? void 0 + : [ + a("--tw-ring-offset-width", `${C.value.value}px`), + a("--tw-ring-offset-shadow", E), + ]; + } + { + let A = G(C, t, ["--ring-offset-color", "--color"]); + if (A) return [a("--tw-ring-offset-color", A)]; + } + } + }); + } + return ( + o("ring-offset", () => [ + { + values: ["current", "inherit", "transparent"], + valueThemeKeys: ["--ring-offset-color", "--color"], + modifiers: Array.from({ length: 21 }, (i, f) => `${f * 5}`), + }, + { + values: ["0", "1", "2", "4", "8"], + valueThemeKeys: ["--ring-offset-width"], + }, + ]), + r.functional("@container", (i) => { + let f = null; + if ( + (i.value === null + ? (f = "inline-size") + : i.value.kind === "arbitrary" + ? (f = i.value.value) + : i.value.kind === "named" && + i.value.value === "normal" && + (f = "normal"), + f !== null) + ) + return i.modifier + ? [a("container-type", f), a("container-name", i.modifier.value)] + : [a("container-type", f)]; + }), + o("@container", () => [ + { values: ["normal"], valueThemeKeys: [], hasDefaultValue: !0 }, + ]), + r + ); + } + function nr(t) { + let r = t.params; + return Jo.test(r) + ? (o) => { + let e = new Set(), + n = new Set(); + _(t.nodes, (s) => { + if ( + s.kind !== "declaration" || + !s.value || + (!s.value.includes("--value(") && + !s.value.includes("--modifier(")) + ) + return; + let l = L(s.value); + ee(l, (p) => { + if ( + p.kind !== "function" || + (p.value !== "--value" && p.value !== "--modifier") + ) + return; + let c = P(H(p.nodes), ","); + for (let [d, u] of c.entries()) + (u = u.replace(/\\\*/g, "*")), + (u = u.replace(/--(.*?)\s--(.*?)/g, "--$1-*--$2")), + (u = u.replace(/\s+/g, "")), + (u = u.replace(/(-\*){2,}/g, "-*")), + u[0] === "-" && + u[1] === "-" && + !u.includes("-*") && + (u += "-*"), + (c[d] = u); + p.nodes = L(c.join(",")); + for (let d of p.nodes) + if ( + d.kind === "word" && + d.value[0] === "-" && + d.value[1] === "-" + ) { + let u = d.value.replace(/-\*.*$/g, ""); + p.value === "--value" + ? e.add(u) + : p.value === "--modifier" && n.add(u); + } + }), + (s.value = H(l)); + }), + o.utilities.functional(r.slice(0, -2), (s) => { + let l = structuredClone(t), + p = s.value, + c = s.modifier; + if (p === null) return; + let d = !1, + u = !1, + g = !1, + m = !1, + v = new Map(), + y = !1; + if ( + (_([l], (b, { parent: x, replaceWith: $ }) => { + if ( + (x?.kind !== "rule" && x?.kind !== "at-rule") || + b.kind !== "declaration" || + !b.value + ) + return; + let V = L(b.value); + (ee(V, (R, { replaceWith: K }) => { + if (R.kind === "function") { + if (R.value === "--value") { + d = !0; + let i = rr(p, R, o); + return i + ? ((u = !0), + i.ratio ? (y = !0) : v.set(b, x), + K(i.nodes), + 1) + : ((d ||= !1), $([]), 2); + } else if (R.value === "--modifier") { + if (c === null) return $([]), 1; + g = !0; + let i = rr(c, R, o); + return i + ? ((m = !0), K(i.nodes), 1) + : ((g ||= !1), $([]), 2); + } + } + }) ?? 0) === 0 && (b.value = H(V)); + }), + (d && !u) || (g && !m) || (y && m) || (c && !y && !m)) + ) + return null; + if (y) + for (let [b, x] of v) { + let $ = x.nodes.indexOf(b); + $ !== -1 && x.nodes.splice($, 1); + } + return l.nodes; + }), + o.utilities.suggest(r.slice(0, -2), () => [ + { + values: o.theme + .keysInNamespaces(e) + .map((s) => s.replaceAll("_", ".")), + modifiers: o.theme + .keysInNamespaces(n) + .map((s) => s.replaceAll("_", ".")), + }, + ]); + } + : Yo.test(r) + ? (o) => { + o.utilities.static(r, () => structuredClone(t.nodes)); + } + : null; + } + function rr(t, r, o) { + for (let e of r.nodes) + if ( + t.kind === "named" && + e.kind === "word" && + e.value[0] === "-" && + e.value[1] === "-" + ) { + let n = e.value; + if (n.endsWith("-*")) { + n = n.slice(0, -2); + let s = o.theme.resolve(t.value, [n]); + if (s) return { nodes: L(s) }; + } else { + let s = n.split("-*"); + if (s.length <= 1) continue; + let l = [s.shift()], + p = o.theme.resolveWith(t.value, l, s); + if (p) { + let [, c = {}] = p; + { + let d = c[s.pop()]; + if (d) return { nodes: L(d) }; + } + } + } + } else if (t.kind === "named" && e.kind === "word") { + if ( + e.value !== "number" && + e.value !== "integer" && + e.value !== "ratio" && + e.value !== "percentage" + ) + continue; + let n = e.value === "ratio" && "fraction" in t ? t.fraction : t.value; + if (!n) continue; + let s = I(n, [e.value]); + if (s === null) continue; + if (s === "ratio") { + let [l, p] = P(n, "/"); + if (!N(l) || !N(p)) continue; + } else { + if (s === "number" && !ge(n)) continue; + if (s === "percentage" && !N(n.slice(0, -1))) continue; + } + return { nodes: L(n), ratio: s === "ratio" }; + } else if ( + t.kind === "arbitrary" && + e.kind === "word" && + e.value[0] === "[" && + e.value[e.value.length - 1] === "]" + ) { + let n = e.value.slice(1, -1); + if (n === "*") return { nodes: L(t.value) }; + if ("dataType" in t && t.dataType && t.dataType !== n) continue; + if ("dataType" in t && t.dataType) return { nodes: L(t.value) }; + if (I(t.value, [n]) !== null) return { nodes: L(t.value) }; + } + } + var gt = { "--alpha": Zo, "--spacing": Qo, "--theme": Xo, theme: ar }; + function Zo(t, r, ...o) { + let [e, n] = P(r, "/").map((s) => s.trim()); + if (!e || !n) + throw new Error( + `The --alpha(\u2026) function requires a color and an alpha value, e.g.: \`--alpha(${e || "var(--my-color)"} / ${n || "50%"})\``, + ); + if (o.length > 0) + throw new Error( + `The --alpha(\u2026) function only accepts one argument, e.g.: \`--alpha(${e || "var(--my-color)"} / ${n || "50%"})\``, + ); + return J(e, n); + } + function Qo(t, r, ...o) { + if (!r) + throw new Error( + "The --spacing(\u2026) function requires an argument, but received none.", + ); + if (o.length > 0) + throw new Error( + `The --spacing(\u2026) function only accepts a single argument, but received ${o.length + 1}.`, + ); + let e = t.theme.resolve(null, ["--spacing"]); + if (!e) + throw new Error( + "The --spacing(\u2026) function requires that the `--spacing` theme variable exists, but it was not found.", + ); + return `calc(${e} * ${r})`; + } + function Xo(t, r, ...o) { + if (!r.startsWith("--")) + throw new Error( + "The --theme(\u2026) function can only be used with CSS variables from your theme.", + ); + return ar(t, r, ...o); + } + function ar(t, r, ...o) { + r = en(r); + let e = t.resolveThemeValue(r); + if (!e && o.length > 0) return o.join(", "); + if (!e) + throw new Error( + `Could not resolve value for theme function: \`theme(${r})\`. Consider checking if the path is correct or provide a fallback value to silence this error.`, + ); + return e; + } + var ir = new RegExp( + Object.keys(gt) + .map((t) => `${t}\\(`) + .join("|"), + ); + function he(t, r) { + let o = 0; + return ( + _(t, (e) => { + if (e.kind === "declaration" && e.value && ir.test(e.value)) { + (o |= 8), (e.value = lr(e.value, r)); + return; + } + e.kind === "at-rule" && + (e.name === "@media" || + e.name === "@custom-media" || + e.name === "@container" || + e.name === "@supports") && + ir.test(e.params) && + ((o |= 8), (e.params = lr(e.params, r))); + }), + o + ); + } + function lr(t, r) { + let o = L(t); + return ( + ee(o, (e, { replaceWith: n }) => { + if (e.kind === "function" && e.value in gt) { + let s = P(H(e.nodes).trim(), ",").map((p) => p.trim()), + l = gt[e.value](r, ...s); + return n(L(l)); + } + }), + H(o) + ); + } + function en(t) { + if (t[0] !== "'" && t[0] !== '"') return t; + let r = "", + o = t[0]; + for (let e = 1; e < t.length - 1; e++) { + let n = t[e], + s = t[e + 1]; + n === "\\" && (s === o || s === "\\") ? ((r += s), e++) : (r += n); + } + return r; + } + function Be(t, r) { + let o = t.length, + e = r.length, + n = o < e ? o : e; + for (let s = 0; s < n; s++) { + let l = t.charCodeAt(s), + p = r.charCodeAt(s); + if (l >= 48 && l <= 57 && p >= 48 && p <= 57) { + let c = s, + d = s + 1, + u = s, + g = s + 1; + for (l = t.charCodeAt(d); l >= 48 && l <= 57; ) l = t.charCodeAt(++d); + for (p = r.charCodeAt(g); p >= 48 && p <= 57; ) p = r.charCodeAt(++g); + let m = t.slice(c, d), + v = r.slice(u, g), + y = Number(m) - Number(v); + if (y) return y; + if (m < v) return -1; + if (m > v) return 1; + continue; + } + if (l !== p) return l - p; + } + return t.length - r.length; + } + var tn = /^\d+\/\d+$/; + function sr(t) { + let r = []; + for (let e of t.utilities.keys("static")) + r.push({ name: e, utility: e, fraction: !1, modifiers: [] }); + for (let e of t.utilities.keys("functional")) { + let n = t.utilities.getCompletions(e); + for (let s of n) + for (let l of s.values) { + let p = l !== null && tn.test(l), + c = l === null ? e : `${e}-${l}`; + r.push({ name: c, utility: e, fraction: p, modifiers: s.modifiers }), + s.supportsNegative && + r.push({ + name: `-${c}`, + utility: `-${e}`, + fraction: p, + modifiers: s.modifiers, + }); + } + } + return r.length === 0 ? [] : (r.sort((e, n) => Be(e.name, n.name)), rn(r)); + } + function rn(t) { + let r = [], + o = null, + e = new Map(), + n = new j(() => []); + for (let l of t) { + let { utility: p, fraction: c } = l; + o || ((o = { utility: p, items: [] }), e.set(p, o)), + p !== o.utility && + (r.push(o), (o = { utility: p, items: [] }), e.set(p, o)), + c ? n.get(p).push(l) : o.items.push(l); + } + o && r[r.length - 1] !== o && r.push(o); + for (let [l, p] of n) { + let c = e.get(l); + c && c.items.push(...p); + } + let s = []; + for (let l of r) + for (let p of l.items) s.push([p.name, { modifiers: p.modifiers }]); + return s; + } + function ur(t) { + let r = []; + for (let [e, n] of t.variants.entries()) { + let p = function ({ value: c, modifier: d } = {}) { + let u = e; + c && (u += s ? `-${c}` : c), d && (u += `/${d}`); + let g = t.parseVariant(u); + if (!g) return []; + let m = z(".__placeholder__", []); + if (be(m, g, t.variants) === null) return []; + let v = []; + return ( + je(m.nodes, (y, { path: b }) => { + if ( + (y.kind !== "rule" && y.kind !== "at-rule") || + y.nodes.length > 0 + ) + return; + b.sort((V, O) => { + let R = V.kind === "at-rule", + K = O.kind === "at-rule"; + return R && !K ? -1 : !R && K ? 1 : 0; + }); + let x = b.flatMap((V) => + V.kind === "rule" + ? V.selector === "&" + ? [] + : [V.selector] + : V.kind === "at-rule" + ? [`${V.name} ${V.params}`] + : [], + ), + $ = ""; + for (let V = x.length - 1; V >= 0; V--) + $ = $ === "" ? x[V] : `${x[V]} { ${$} }`; + v.push($); + }), + v + ); + }; + var o = p; + if (n.kind === "arbitrary") continue; + let s = e !== "@", + l = t.variants.getCompletions(e); + switch (n.kind) { + case "static": { + r.push({ + name: e, + values: l, + isArbitrary: !1, + hasDash: s, + selectors: p, + }); + break; + } + case "functional": { + r.push({ + name: e, + values: l, + isArbitrary: !0, + hasDash: s, + selectors: p, + }); + break; + } + case "compound": { + r.push({ + name: e, + values: l, + isArbitrary: !0, + hasDash: s, + selectors: p, + }); + break; + } + } + } + return r; + } + function cr(t, r) { + let { astNodes: o, nodeSorting: e } = ne(Array.from(r), t), + n = new Map(r.map((l) => [l, null])), + s = 0n; + for (let l of o) { + let p = e.get(l)?.candidate; + p && n.set(p, n.get(p) ?? s++); + } + return r.map((l) => [l, n.get(l) ?? null]); + } + var We = /^@?[a-zA-Z0-9_-]*$/; + var bt = class { + compareFns = new Map(); + variants = new Map(); + completions = new Map(); + groupOrder = null; + lastOrder = 0; + static(r, o, { compounds: e, order: n } = {}) { + this.set(r, { + kind: "static", + applyFn: o, + compoundsWith: 0, + compounds: e ?? 2, + order: n, + }); + } + fromAst(r, o) { + let e = []; + _(o, (n) => { + n.kind === "rule" + ? e.push(n.selector) + : n.kind === "at-rule" && + n.name !== "@slot" && + e.push(`${n.name} ${n.params}`); + }), + this.static( + r, + (n) => { + let s = structuredClone(o); + yt(s, n.nodes), (n.nodes = s); + }, + { compounds: fe(e) }, + ); + } + functional(r, o, { compounds: e, order: n } = {}) { + this.set(r, { + kind: "functional", + applyFn: o, + compoundsWith: 0, + compounds: e ?? 2, + order: n, + }); + } + compound(r, o, e, { compounds: n, order: s } = {}) { + this.set(r, { + kind: "compound", + applyFn: e, + compoundsWith: o, + compounds: n ?? 2, + order: s, + }); + } + group(r, o) { + (this.groupOrder = this.nextOrder()), + o && this.compareFns.set(this.groupOrder, o), + r(), + (this.groupOrder = null); + } + has(r) { + return this.variants.has(r); + } + get(r) { + return this.variants.get(r); + } + kind(r) { + return this.variants.get(r)?.kind; + } + compoundsWith(r, o) { + let e = this.variants.get(r), + n = + typeof o == "string" + ? this.variants.get(o) + : o.kind === "arbitrary" + ? { compounds: fe([o.selector]) } + : this.variants.get(o.root); + return !( + !e || + !n || + e.kind !== "compound" || + n.compounds === 0 || + e.compoundsWith === 0 || + (e.compoundsWith & n.compounds) === 0 + ); + } + suggest(r, o) { + this.completions.set(r, o); + } + getCompletions(r) { + return this.completions.get(r)?.() ?? []; + } + compare(r, o) { + if (r === o) return 0; + if (r === null) return -1; + if (o === null) return 1; + if (r.kind === "arbitrary" && o.kind === "arbitrary") + return r.selector < o.selector ? -1 : 1; + if (r.kind === "arbitrary") return 1; + if (o.kind === "arbitrary") return -1; + let e = this.variants.get(r.root).order, + n = this.variants.get(o.root).order, + s = e - n; + if (s !== 0) return s; + if (r.kind === "compound" && o.kind === "compound") { + let d = this.compare(r.variant, o.variant); + return d !== 0 + ? d + : r.modifier && o.modifier + ? r.modifier.value < o.modifier.value + ? -1 + : 1 + : r.modifier + ? 1 + : o.modifier + ? -1 + : 0; + } + let l = this.compareFns.get(e); + if (l !== void 0) return l(r, o); + if (r.root !== o.root) return r.root < o.root ? -1 : 1; + let p = r.value, + c = o.value; + return p === null + ? -1 + : c === null || (p.kind === "arbitrary" && c.kind !== "arbitrary") + ? 1 + : (p.kind !== "arbitrary" && c.kind === "arbitrary") || + p.value < c.value + ? -1 + : 1; + } + keys() { + return this.variants.keys(); + } + entries() { + return this.variants.entries(); + } + set(r, { kind: o, applyFn: e, compounds: n, compoundsWith: s, order: l }) { + let p = this.variants.get(r); + p + ? Object.assign(p, { kind: o, applyFn: e, compounds: n }) + : (l === void 0 && + ((this.lastOrder = this.nextOrder()), (l = this.lastOrder)), + this.variants.set(r, { + kind: o, + applyFn: e, + order: l, + compoundsWith: s, + compounds: n, + })); + } + nextOrder() { + return this.groupOrder ?? this.lastOrder + 1; + } + }; + function fe(t) { + let r = 0; + for (let o of t) { + if (o[0] === "@") { + if ( + !o.startsWith("@media") && + !o.startsWith("@supports") && + !o.startsWith("@container") + ) + return 0; + r |= 1; + continue; + } + if (o.includes("::")) return 0; + r |= 2; + } + return r; + } + function dr(t) { + let r = new bt(); + function o(d, u, { compounds: g } = {}) { + (g = g ?? fe(u)), + r.static( + d, + (m) => { + m.nodes = u.map((v) => M(v, m.nodes)); + }, + { compounds: g }, + ); + } + o("*", [":is(& > *)"], { compounds: 0 }), + o("**", [":is(& *)"], { compounds: 0 }); + function e(d, u) { + return u.map((g) => { + g = g.trim(); + let m = P(g, " "); + return m[0] === "not" + ? m.slice(1).join(" ") + : d === "@container" + ? m[0][0] === "(" + ? `not ${g}` + : m[1] === "not" + ? `${m[0]} ${m.slice(2).join(" ")}` + : `${m[0]} not ${m.slice(1).join(" ")}` + : `not ${g}`; + }); + } + let n = ["@media", "@supports", "@container"]; + function s(d) { + for (let u of n) { + if (u !== d.name) continue; + let g = P(d.params, ","); + return g.length > 1 + ? null + : ((g = e(d.name, g)), U(d.name, g.join(", "))); + } + return null; + } + function l(d) { + return d.includes("::") + ? null + : `&:not(${P(d, ",") + .map((g) => ((g = g.replaceAll("&", "*")), g)) + .join(", ")})`; + } + r.compound("not", 3, (d, u) => { + if ((u.variant.kind === "arbitrary" && u.variant.relative) || u.modifier) + return null; + let g = !1; + if ( + (_([d], (m, { path: v }) => { + if (m.kind !== "rule" && m.kind !== "at-rule") return 0; + if (m.nodes.length > 0) return 0; + let y = [], + b = []; + for (let $ of v) + $.kind === "at-rule" ? y.push($) : $.kind === "rule" && b.push($); + if (y.length > 1) return 2; + if (b.length > 1) return 2; + let x = []; + for (let $ of b) { + let V = l($.selector); + if (!V) return (g = !1), 2; + x.push(z(V, [])); + } + for (let $ of y) { + let V = s($); + if (!V) return (g = !1), 2; + x.push(V); + } + return Object.assign(d, z("&", x)), (g = !0), 1; + }), + d.kind === "rule" && + d.selector === "&" && + d.nodes.length === 1 && + Object.assign(d, d.nodes[0]), + !g) + ) + return null; + }), + r.suggest("not", () => + Array.from(r.keys()).filter((d) => r.compoundsWith("not", d)), + ), + r.compound("group", 2, (d, u) => { + if (u.variant.kind === "arbitrary" && u.variant.relative) return null; + let g = u.modifier + ? `:where(.${t.prefix ? `${t.prefix}\\:` : ""}group\\/${u.modifier.value})` + : `:where(.${t.prefix ? `${t.prefix}\\:` : ""}group)`, + m = !1; + if ( + (_([d], (v, { path: y }) => { + if (v.kind !== "rule") return 0; + for (let x of y.slice(0, -1)) + if (x.kind === "rule") return (m = !1), 2; + let b = v.selector.replaceAll("&", g); + P(b, ",").length > 1 && (b = `:is(${b})`), + (v.selector = `&:is(${b} *)`), + (m = !0); + }), + !m) + ) + return null; + }), + r.suggest("group", () => + Array.from(r.keys()).filter((d) => r.compoundsWith("group", d)), + ), + r.compound("peer", 2, (d, u) => { + if (u.variant.kind === "arbitrary" && u.variant.relative) return null; + let g = u.modifier + ? `:where(.${t.prefix ? `${t.prefix}\\:` : ""}peer\\/${u.modifier.value})` + : `:where(.${t.prefix ? `${t.prefix}\\:` : ""}peer)`, + m = !1; + if ( + (_([d], (v, { path: y }) => { + if (v.kind !== "rule") return 0; + for (let x of y.slice(0, -1)) + if (x.kind === "rule") return (m = !1), 2; + let b = v.selector.replaceAll("&", g); + P(b, ",").length > 1 && (b = `:is(${b})`), + (v.selector = `&:is(${b} ~ *)`), + (m = !0); + }), + !m) + ) + return null; + }), + r.suggest("peer", () => + Array.from(r.keys()).filter((d) => r.compoundsWith("peer", d)), + ), + o("first-letter", ["&::first-letter"]), + o("first-line", ["&::first-line"]), + o("marker", ["& *::marker", "&::marker"]), + o("selection", ["& *::selection", "&::selection"]), + o("file", ["&::file-selector-button"]), + o("placeholder", ["&::placeholder"]), + o("backdrop", ["&::backdrop"]), + !1; + { + let d = function () { + return D([ + U("@property", "--tw-content", [ + a("syntax", '"*"'), + a("initial-value", '""'), + a("inherits", "false"), + ]), + ]); + }; + var p = d; + r.static( + "before", + (u) => { + u.nodes = [ + z("&::before", [ + d(), + a("content", "var(--tw-content)"), + ...u.nodes, + ]), + ]; + }, + { compounds: 0 }, + ), + r.static( + "after", + (u) => { + u.nodes = [ + z("&::after", [ + d(), + a("content", "var(--tw-content)"), + ...u.nodes, + ]), + ]; + }, + { compounds: 0 }, + ); + } + o("first", ["&:first-child"]), + o("last", ["&:last-child"]), + o("only", ["&:only-child"]), + o("odd", ["&:nth-child(odd)"]), + o("even", ["&:nth-child(even)"]), + o("first-of-type", ["&:first-of-type"]), + o("last-of-type", ["&:last-of-type"]), + o("only-of-type", ["&:only-of-type"]), + o("visited", ["&:visited"]), + o("target", ["&:target"]), + o("open", ["&:is([open], :popover-open, :open)"]), + o("default", ["&:default"]), + o("checked", ["&:checked"]), + o("indeterminate", ["&:indeterminate"]), + o("placeholder-shown", ["&:placeholder-shown"]), + o("autofill", ["&:autofill"]), + o("optional", ["&:optional"]), + o("required", ["&:required"]), + o("valid", ["&:valid"]), + o("invalid", ["&:invalid"]), + !1, + o("in-range", ["&:in-range"]), + o("out-of-range", ["&:out-of-range"]), + o("read-only", ["&:read-only"]), + o("empty", ["&:empty"]), + o("focus-within", ["&:focus-within"]), + r.static("hover", (d) => { + d.nodes = [z("&:hover", [U("@media", "(hover: hover)", d.nodes)])]; + }), + o("focus", ["&:focus"]), + o("focus-visible", ["&:focus-visible"]), + o("active", ["&:active"]), + o("enabled", ["&:enabled"]), + o("disabled", ["&:disabled"]), + o("inert", ["&:is([inert], [inert] *)"]), + r.compound("in", 2, (d, u) => { + if (u.modifier) return null; + let g = !1; + if ( + (_([d], (m, { path: v }) => { + if (m.kind !== "rule") return 0; + for (let y of v.slice(0, -1)) + if (y.kind === "rule") return (g = !1), 2; + (m.selector = `:where(${m.selector.replaceAll("&", "*")}) &`), + (g = !0); + }), + !g) + ) + return null; + }), + r.suggest("in", () => + Array.from(r.keys()).filter((d) => r.compoundsWith("in", d)), + ), + r.compound("has", 2, (d, u) => { + if (u.modifier) return null; + let g = !1; + if ( + (_([d], (m, { path: v }) => { + if (m.kind !== "rule") return 0; + for (let y of v.slice(0, -1)) + if (y.kind === "rule") return (g = !1), 2; + (m.selector = `&:has(${m.selector.replaceAll("&", "*")})`), + (g = !0); + }), + !g) + ) + return null; + }), + r.suggest("has", () => + Array.from(r.keys()).filter((d) => r.compoundsWith("has", d)), + ), + r.functional("aria", (d, u) => { + if (!u.value || u.modifier) return null; + u.value.kind === "arbitrary" + ? (d.nodes = [z(`&[aria-${fr(u.value.value)}]`, d.nodes)]) + : (d.nodes = [z(`&[aria-${u.value.value}="true"]`, d.nodes)]); + }), + r.suggest("aria", () => [ + "busy", + "checked", + "disabled", + "expanded", + "hidden", + "pressed", + "readonly", + "required", + "selected", + ]), + r.functional("data", (d, u) => { + if (!u.value || u.modifier) return null; + d.nodes = [z(`&[data-${fr(u.value.value)}]`, d.nodes)]; + }), + r.functional("nth", (d, u) => { + if ( + !u.value || + u.modifier || + (u.value.kind === "named" && !N(u.value.value)) + ) + return null; + d.nodes = [z(`&:nth-child(${u.value.value})`, d.nodes)]; + }), + r.functional("nth-last", (d, u) => { + if ( + !u.value || + u.modifier || + (u.value.kind === "named" && !N(u.value.value)) + ) + return null; + d.nodes = [z(`&:nth-last-child(${u.value.value})`, d.nodes)]; + }), + r.functional("nth-of-type", (d, u) => { + if ( + !u.value || + u.modifier || + (u.value.kind === "named" && !N(u.value.value)) + ) + return null; + d.nodes = [z(`&:nth-of-type(${u.value.value})`, d.nodes)]; + }), + r.functional("nth-last-of-type", (d, u) => { + if ( + !u.value || + u.modifier || + (u.value.kind === "named" && !N(u.value.value)) + ) + return null; + d.nodes = [z(`&:nth-last-of-type(${u.value.value})`, d.nodes)]; + }), + r.functional( + "supports", + (d, u) => { + if (!u.value || u.modifier) return null; + let g = u.value.value; + if (g === null) return null; + if (/^[\w-]*\s*\(/.test(g)) { + let m = g.replace(/\b(and|or|not)\b/g, " $1 "); + d.nodes = [U("@supports", m, d.nodes)]; + return; + } + g.includes(":") || (g = `${g}: var(--tw)`), + (g[0] !== "(" || g[g.length - 1] !== ")") && (g = `(${g})`), + (d.nodes = [U("@supports", g, d.nodes)]); + }, + { compounds: 1 }, + ), + o("motion-safe", ["@media (prefers-reduced-motion: no-preference)"]), + o("motion-reduce", ["@media (prefers-reduced-motion: reduce)"]), + o("contrast-more", ["@media (prefers-contrast: more)"]), + o("contrast-less", ["@media (prefers-contrast: less)"]); + { + let d = function (u, g, m, v) { + if (u === g) return 0; + let y = v.get(u); + if (y === null) return m === "asc" ? -1 : 1; + let b = v.get(g); + return b === null ? (m === "asc" ? 1 : -1) : ue(y, b, m); + }; + var c = d; + { + let u = t.namespace("--breakpoint"), + g = new j((m) => { + switch (m.kind) { + case "static": + return t.resolveValue(m.root, ["--breakpoint"]) ?? null; + case "functional": { + if (!m.value || m.modifier) return null; + let v = null; + return ( + m.value.kind === "arbitrary" + ? (v = m.value.value) + : m.value.kind === "named" && + (v = t.resolveValue(m.value.value, ["--breakpoint"])), + !v || v.includes("var(") ? null : v + ); + } + case "arbitrary": + case "compound": + return null; + } + }); + r.group( + () => { + r.functional( + "max", + (m, v) => { + if (v.modifier) return null; + let y = g.get(v); + if (y === null) return null; + m.nodes = [U("@media", `(width < ${y})`, m.nodes)]; + }, + { compounds: 1 }, + ); + }, + (m, v) => d(m, v, "desc", g), + ), + r.suggest("max", () => + Array.from(u.keys()).filter((m) => m !== null), + ), + r.group( + () => { + for (let [m, v] of t.namespace("--breakpoint")) + m !== null && + r.static( + m, + (y) => { + y.nodes = [U("@media", `(width >= ${v})`, y.nodes)]; + }, + { compounds: 1 }, + ); + r.functional( + "min", + (m, v) => { + if (v.modifier) return null; + let y = g.get(v); + if (y === null) return null; + m.nodes = [U("@media", `(width >= ${y})`, m.nodes)]; + }, + { compounds: 1 }, + ); + }, + (m, v) => d(m, v, "asc", g), + ), + r.suggest("min", () => + Array.from(u.keys()).filter((m) => m !== null), + ); + } + { + let u = t.namespace("--container"), + g = new j((m) => { + switch (m.kind) { + case "functional": { + if (m.value === null) return null; + let v = null; + return ( + m.value.kind === "arbitrary" + ? (v = m.value.value) + : m.value.kind === "named" && + (v = t.resolveValue(m.value.value, ["--container"])), + !v || v.includes("var(") ? null : v + ); + } + case "static": + case "arbitrary": + case "compound": + return null; + } + }); + r.group( + () => { + r.functional( + "@max", + (m, v) => { + let y = g.get(v); + if (y === null) return null; + m.nodes = [ + U( + "@container", + v.modifier + ? `${v.modifier.value} (width < ${y})` + : `(width < ${y})`, + m.nodes, + ), + ]; + }, + { compounds: 1 }, + ); + }, + (m, v) => d(m, v, "desc", g), + ), + r.suggest("@max", () => + Array.from(u.keys()).filter((m) => m !== null), + ), + r.group( + () => { + r.functional( + "@", + (m, v) => { + let y = g.get(v); + if (y === null) return null; + m.nodes = [ + U( + "@container", + v.modifier + ? `${v.modifier.value} (width >= ${y})` + : `(width >= ${y})`, + m.nodes, + ), + ]; + }, + { compounds: 1 }, + ), + r.functional( + "@min", + (m, v) => { + let y = g.get(v); + if (y === null) return null; + m.nodes = [ + U( + "@container", + v.modifier + ? `${v.modifier.value} (width >= ${y})` + : `(width >= ${y})`, + m.nodes, + ), + ]; + }, + { compounds: 1 }, + ); + }, + (m, v) => d(m, v, "asc", g), + ), + r.suggest("@min", () => + Array.from(u.keys()).filter((m) => m !== null), + ), + r.suggest("@", () => Array.from(u.keys()).filter((m) => m !== null)); + } + } + return ( + o("portrait", ["@media (orientation: portrait)"]), + o("landscape", ["@media (orientation: landscape)"]), + o("ltr", ['&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *)']), + o("rtl", ['&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *)']), + o("dark", ["@media (prefers-color-scheme: dark)"]), + o("starting", ["@starting-style"]), + o("print", ["@media print"]), + o("forced-colors", ["@media (forced-colors: active)"]), + !1, + !1, + !1, + r + ); + } + function fr(t) { + if (t.includes("=")) { + let [r, ...o] = P(t, "="), + e = o.join("=").trim(); + if (e[0] === "'" || e[0] === '"') return t; + if (e.length > 1) { + let n = e[e.length - 1]; + if ( + e[e.length - 2] === " " && + (n === "i" || n === "I" || n === "s" || n === "S") + ) + return `${r}="${e.slice(0, -2)}" ${n}`; + } + return `${r}="${e}"`; + } + return t; + } + function yt(t, r) { + _(t, (o, { replaceWith: e }) => { + if (o.kind === "at-rule" && o.name === "@slot") e(r); + else if ( + o.kind === "at-rule" && + (o.name === "@keyframes" || o.name === "@property") + ) + return Object.assign(o, D([U(o.name, o.params, o.nodes)])), 1; + }); + } + function pr(t) { + let r = or(t), + o = dr(t), + e = new j((c) => Jt(c, p)), + n = new j((c) => Array.from(Yt(c, p))), + s = new j((c) => { + let d = mr(c, p); + try { + he( + d.map(({ node: u }) => u), + p, + ); + } catch { + return []; + } + return d; + }), + l = new j((c) => { + for (let d of Fe(c)) t.markUsedVariable(d); + }), + p = { + theme: t, + utilities: r, + variants: o, + invalidCandidates: new Set(), + important: !1, + candidatesToCss(c) { + let d = []; + for (let u of c) { + let g = !1, + { astNodes: m } = ne([u], this, { + onInvalidCandidate() { + g = !0; + }, + }); + (m = se(m, p)), m.length === 0 || g ? d.push(null) : d.push(Y(m)); + } + return d; + }, + getClassOrder(c) { + return cr(this, c); + }, + getClassList() { + return sr(this); + }, + getVariants() { + return ur(this); + }, + parseCandidate(c) { + return n.get(c); + }, + parseVariant(c) { + return e.get(c); + }, + compileAstNodes(c) { + return s.get(c); + }, + getVariantOrder() { + let c = Array.from(e.values()); + c.sort((m, v) => this.variants.compare(m, v)); + let d = new Map(), + u, + g = 0; + for (let m of c) + m !== null && + (u !== void 0 && this.variants.compare(u, m) !== 0 && g++, + d.set(m, g), + (u = m)); + return d; + }, + resolveThemeValue(c) { + let d = c.lastIndexOf("/"), + u = null; + d !== -1 && ((u = c.slice(d + 1).trim()), (c = c.slice(0, d).trim())); + let g = t.get([c]) ?? void 0; + return u && g ? J(g, u) : g; + }, + trackUsedVariables(c) { + l.get(c); + }, + }; + return p; + } + var vt = [ + "container-type", + "pointer-events", + "visibility", + "position", + "inset", + "inset-inline", + "inset-block", + "inset-inline-start", + "inset-inline-end", + "top", + "right", + "bottom", + "left", + "isolation", + "z-index", + "order", + "grid-column", + "grid-column-start", + "grid-column-end", + "grid-row", + "grid-row-start", + "grid-row-end", + "float", + "clear", + "--tw-container-component", + "margin", + "margin-inline", + "margin-block", + "margin-inline-start", + "margin-inline-end", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "box-sizing", + "display", + "field-sizing", + "aspect-ratio", + "height", + "max-height", + "min-height", + "width", + "max-width", + "min-width", + "flex", + "flex-shrink", + "flex-grow", + "flex-basis", + "table-layout", + "caption-side", + "border-collapse", + "border-spacing", + "transform-origin", + "translate", + "--tw-translate-x", + "--tw-translate-y", + "--tw-translate-z", + "scale", + "--tw-scale-x", + "--tw-scale-y", + "--tw-scale-z", + "rotate", + "--tw-rotate-x", + "--tw-rotate-y", + "--tw-rotate-z", + "--tw-skew-x", + "--tw-skew-y", + "transform", + "animation", + "cursor", + "touch-action", + "--tw-pan-x", + "--tw-pan-y", + "--tw-pinch-zoom", + "resize", + "scroll-snap-type", + "--tw-scroll-snap-strictness", + "scroll-snap-align", + "scroll-snap-stop", + "scroll-margin", + "scroll-margin-inline", + "scroll-margin-block", + "scroll-margin-inline-start", + "scroll-margin-inline-end", + "scroll-margin-top", + "scroll-margin-right", + "scroll-margin-bottom", + "scroll-margin-left", + "scroll-padding", + "scroll-padding-inline", + "scroll-padding-block", + "scroll-padding-inline-start", + "scroll-padding-inline-end", + "scroll-padding-top", + "scroll-padding-right", + "scroll-padding-bottom", + "scroll-padding-left", + "list-style-position", + "list-style-type", + "list-style-image", + "appearance", + "columns", + "break-before", + "break-inside", + "break-after", + "grid-auto-columns", + "grid-auto-flow", + "grid-auto-rows", + "grid-template-columns", + "grid-template-rows", + "flex-direction", + "flex-wrap", + "place-content", + "place-items", + "align-content", + "align-items", + "justify-content", + "justify-items", + "gap", + "column-gap", + "row-gap", + "--tw-space-x-reverse", + "--tw-space-y-reverse", + "divide-x-width", + "divide-y-width", + "--tw-divide-y-reverse", + "divide-style", + "divide-color", + "place-self", + "align-self", + "justify-self", + "overflow", + "overflow-x", + "overflow-y", + "overscroll-behavior", + "overscroll-behavior-x", + "overscroll-behavior-y", + "scroll-behavior", + "border-radius", + "border-start-radius", + "border-end-radius", + "border-top-radius", + "border-right-radius", + "border-bottom-radius", + "border-left-radius", + "border-start-start-radius", + "border-start-end-radius", + "border-end-end-radius", + "border-end-start-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "border-width", + "border-inline-width", + "border-block-width", + "border-inline-start-width", + "border-inline-end-width", + "border-top-width", + "border-right-width", + "border-bottom-width", + "border-left-width", + "border-style", + "border-inline-style", + "border-block-style", + "border-inline-start-style", + "border-inline-end-style", + "border-top-style", + "border-right-style", + "border-bottom-style", + "border-left-style", + "border-color", + "border-inline-color", + "border-block-color", + "border-inline-start-color", + "border-inline-end-color", + "border-top-color", + "border-right-color", + "border-bottom-color", + "border-left-color", + "background-color", + "background-image", + "--tw-gradient-position", + "--tw-gradient-stops", + "--tw-gradient-via-stops", + "--tw-gradient-from", + "--tw-gradient-from-position", + "--tw-gradient-via", + "--tw-gradient-via-position", + "--tw-gradient-to", + "--tw-gradient-to-position", + "box-decoration-break", + "background-size", + "background-attachment", + "background-clip", + "background-position", + "background-repeat", + "background-origin", + "fill", + "stroke", + "stroke-width", + "object-fit", + "object-position", + "padding", + "padding-inline", + "padding-block", + "padding-inline-start", + "padding-inline-end", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "text-align", + "text-indent", + "vertical-align", + "font-family", + "font-size", + "line-height", + "font-weight", + "letter-spacing", + "text-wrap", + "overflow-wrap", + "word-break", + "text-overflow", + "hyphens", + "white-space", + "color", + "text-transform", + "font-style", + "font-stretch", + "font-variant-numeric", + "text-decoration-line", + "text-decoration-color", + "text-decoration-style", + "text-decoration-thickness", + "text-underline-offset", + "-webkit-font-smoothing", + "placeholder-color", + "caret-color", + "accent-color", + "color-scheme", + "opacity", + "background-blend-mode", + "mix-blend-mode", + "box-shadow", + "--tw-shadow", + "--tw-shadow-color", + "--tw-ring-shadow", + "--tw-ring-color", + "--tw-inset-shadow", + "--tw-inset-shadow-color", + "--tw-inset-ring-shadow", + "--tw-inset-ring-color", + "--tw-ring-offset-width", + "--tw-ring-offset-color", + "outline", + "outline-width", + "outline-offset", + "outline-color", + "--tw-blur", + "--tw-brightness", + "--tw-contrast", + "--tw-drop-shadow", + "--tw-grayscale", + "--tw-hue-rotate", + "--tw-invert", + "--tw-saturate", + "--tw-sepia", + "filter", + "--tw-backdrop-blur", + "--tw-backdrop-brightness", + "--tw-backdrop-contrast", + "--tw-backdrop-grayscale", + "--tw-backdrop-hue-rotate", + "--tw-backdrop-invert", + "--tw-backdrop-opacity", + "--tw-backdrop-saturate", + "--tw-backdrop-sepia", + "backdrop-filter", + "transition-property", + "transition-behavior", + "transition-delay", + "transition-duration", + "transition-timing-function", + "will-change", + "contain", + "content", + "forced-color-adjust", + ]; + function ne(t, r, { onInvalidCandidate: o } = {}) { + let e = new Map(), + n = [], + s = new Map(); + for (let p of t) { + if (r.invalidCandidates.has(p)) { + o?.(p); + continue; + } + let c = r.parseCandidate(p); + if (c.length === 0) { + o?.(p); + continue; + } + s.set(p, c); + } + let l = r.getVariantOrder(); + for (let [p, c] of s) { + let d = !1; + for (let u of c) { + let g = r.compileAstNodes(u); + if (g.length !== 0) { + d = !0; + for (let { node: m, propertySort: v } of g) { + let y = 0n; + for (let b of u.variants) y |= 1n << BigInt(l.get(b)); + e.set(m, { properties: v, variants: y, candidate: p }), n.push(m); + } + } + } + d || o?.(p); + } + return ( + n.sort((p, c) => { + let d = e.get(p), + u = e.get(c); + if (d.variants - u.variants !== 0n) + return Number(d.variants - u.variants); + let g = 0; + for ( + ; + g < d.properties.order.length && + g < u.properties.order.length && + d.properties.order[g] === u.properties.order[g]; + + ) + g += 1; + return ( + (d.properties.order[g] ?? 1 / 0) - (u.properties.order[g] ?? 1 / 0) || + u.properties.count - d.properties.count || + Be(d.candidate, u.candidate) + ); + }), + { astNodes: n, nodeSorting: e } + ); + } + function mr(t, r) { + let o = un(t, r); + if (o.length === 0) return []; + let e = [], + n = `.${re(t.raw)}`; + for (let s of o) { + let l = cn(s); + (t.important || r.important) && hr(s); + let p = { kind: "rule", selector: n, nodes: s }; + for (let c of t.variants) if (be(p, c, r.variants) === null) return []; + e.push({ node: p, propertySort: l }); + } + return e; + } + function be(t, r, o, e = 0) { + if (r.kind === "arbitrary") { + if (r.relative && e === 0) return null; + t.nodes = [M(r.selector, t.nodes)]; + return; + } + let { applyFn: n } = o.get(r.root); + if (r.kind === "compound") { + let l = U("@slot"); + if ( + be(l, r.variant, o, e + 1) === null || + (r.root === "not" && l.nodes.length > 1) + ) + return null; + for (let c of l.nodes) + if ((c.kind !== "rule" && c.kind !== "at-rule") || n(c, r) === null) + return null; + _(l.nodes, (c) => { + if ((c.kind === "rule" || c.kind === "at-rule") && c.nodes.length <= 0) + return (c.nodes = t.nodes), 1; + }), + (t.nodes = l.nodes); + return; + } + if (n(t, r) === null) return null; + } + function gr(t) { + let r = t.options?.types ?? []; + return r.length > 1 && r.includes("any"); + } + function un(t, r) { + if (t.kind === "arbitrary") { + let l = t.value; + return ( + t.modifier && (l = B(l, t.modifier, r.theme)), + l === null ? [] : [[a(t.property, l)]] + ); + } + let o = r.utilities.get(t.root) ?? [], + e = [], + n = o.filter((l) => !gr(l)); + for (let l of n) { + if (l.kind !== t.kind) continue; + let p = l.compileFn(t); + if (p !== void 0) { + if (p === null) return e; + e.push(p); + } + } + if (e.length > 0) return e; + let s = o.filter((l) => gr(l)); + for (let l of s) { + if (l.kind !== t.kind) continue; + let p = l.compileFn(t); + if (p !== void 0) { + if (p === null) return e; + e.push(p); + } + } + return e; + } + function hr(t) { + for (let r of t) + r.kind !== "at-root" && + (r.kind === "declaration" + ? (r.important = !0) + : (r.kind === "rule" || r.kind === "at-rule") && hr(r.nodes)); + } + function cn(t) { + let r = new Set(), + o = 0, + e = t.slice(), + n = !1; + for (; e.length > 0; ) { + let s = e.shift(); + if (s.kind === "declaration") { + if (s.value === void 0 || (o++, n)) continue; + if (s.property === "--tw-sort") { + let p = vt.indexOf(s.value ?? ""); + if (p !== -1) { + r.add(p), (n = !0); + continue; + } + } + let l = vt.indexOf(s.property); + l !== -1 && r.add(l); + } else if (s.kind === "rule" || s.kind === "at-rule") + for (let l of s.nodes) e.push(l); + } + return { order: Array.from(r).sort((s, l) => s - l), count: o }; + } + function Ne(t, r) { + let o = 0, + e = M("&", t), + n = new Set(), + s = new j(() => new Set()), + l = new j(() => new Set()); + _([e], (g, { parent: m }) => { + if (g.kind === "at-rule") { + if (g.name === "@keyframes") + return ( + _(g.nodes, (v) => { + if (v.kind === "at-rule" && v.name === "@apply") + throw new Error("You cannot use `@apply` inside `@keyframes`."); + }), + 1 + ); + if (g.name === "@utility") { + let v = g.params.replace(/-\*$/, ""); + l.get(v).add(g), + _(g.nodes, (y) => { + if (!(y.kind !== "at-rule" || y.name !== "@apply")) { + n.add(g); + for (let b of br(y, r)) s.get(g).add(b); + } + }); + return; + } + if (g.name === "@apply") { + if (m === null) return; + (o |= 1), n.add(m); + for (let v of br(g, r)) s.get(m).add(v); + } + } + }); + let p = new Set(), + c = [], + d = new Set(); + function u(g, m = []) { + if (!p.has(g)) { + if (d.has(g)) { + let v = m[(m.indexOf(g) + 1) % m.length]; + throw ( + (g.kind === "at-rule" && + g.name === "@utility" && + v.kind === "at-rule" && + v.name === "@utility" && + _(g.nodes, (y) => { + if (y.kind !== "at-rule" || y.name !== "@apply") return; + let b = y.params.split(/\s+/g); + for (let x of b) + for (let $ of r.parseCandidate(x)) + switch ($.kind) { + case "arbitrary": + break; + case "static": + case "functional": + if (v.params.replace(/-\*$/, "") === $.root) + throw new Error( + `You cannot \`@apply\` the \`${x}\` utility here because it creates a circular dependency.`, + ); + break; + default: + } + }), + new Error(`Circular dependency detected: + +${Y([g])} +Relies on: + +${Y([v])}`)) + ); + } + d.add(g); + for (let v of s.get(g)) + for (let y of l.get(v)) m.push(g), u(y, m), m.pop(); + p.add(g), d.delete(g), c.push(g); + } + } + for (let g of n) u(g); + for (let g of c) + if ("nodes" in g) + for (let m = 0; m < g.nodes.length; m++) { + let v = g.nodes[m]; + if (v.kind !== "at-rule" || v.name !== "@apply") continue; + let y = v.params.split(/\s+/g); + { + let b = ne(y, r, { + onInvalidCandidate: ($) => { + throw new Error(`Cannot apply unknown utility class: ${$}`); + }, + }).astNodes, + x = []; + for (let $ of b) + if ($.kind === "rule") for (let V of $.nodes) x.push(V); + else x.push($); + g.nodes.splice(m, 1, ...x); + } + } + return o; + } + function* br(t, r) { + for (let o of t.params.split(/\s+/g)) + for (let e of r.parseCandidate(o)) + switch (e.kind) { + case "arbitrary": + break; + case "static": + case "functional": + yield e.root; + break; + default: + } + } + async function kt(t, r, o, e = 0) { + let n = 0, + s = []; + return ( + _(t, (l, { replaceWith: p }) => { + if ( + l.kind === "at-rule" && + (l.name === "@import" || l.name === "@reference") + ) { + let c = fn(L(l.params)); + if (c === null) return; + l.name === "@reference" && (c.media = "reference"), (n |= 2); + let { uri: d, layer: u, media: g, supports: m } = c; + if ( + d.startsWith("data:") || + d.startsWith("http://") || + d.startsWith("https://") + ) + return; + let v = Q({}, []); + return ( + s.push( + (async () => { + if (e > 100) + throw new Error( + `Exceeded maximum recursion depth while resolving \`${d}\` in \`${r}\`)`, + ); + let y = await o(d, r), + b = pe(y.content); + await kt(b, y.base, o, e + 1), + (v.nodes = dn([Q({ base: y.base }, b)], u, g, m)); + })(), + ), + p(v), + 1 + ); + } + }), + s.length > 0 && (await Promise.all(s)), + n + ); + } + function fn(t) { + let r, + o = null, + e = null, + n = null; + for (let s = 0; s < t.length; s++) { + let l = t[s]; + if (l.kind !== "separator") { + if (l.kind === "word" && !r) { + if (!l.value || (l.value[0] !== '"' && l.value[0] !== "'")) + return null; + r = l.value.slice(1, -1); + continue; + } + if ((l.kind === "function" && l.value.toLowerCase() === "url") || !r) + return null; + if ( + (l.kind === "word" || l.kind === "function") && + l.value.toLowerCase() === "layer" + ) { + if (o) return null; + if (n) + throw new Error( + "`layer(\u2026)` in an `@import` should come before any other functions or conditions", + ); + "nodes" in l ? (o = H(l.nodes)) : (o = ""); + continue; + } + if (l.kind === "function" && l.value.toLowerCase() === "supports") { + if (n) return null; + n = H(l.nodes); + continue; + } + e = H(t.slice(s)); + break; + } + } + return r ? { uri: r, layer: o, media: e, supports: n } : null; + } + function dn(t, r, o, e) { + let n = t; + return ( + r !== null && (n = [U("@layer", r, n)]), + o !== null && (n = [U("@media", o, n)]), + e !== null && (n = [U("@supports", e[0] === "(" ? e : `(${e})`, n)]), + n + ); + } + function ye(t, r = null) { + return Array.isArray(t) && + t.length === 2 && + typeof t[1] == "object" && + typeof t[1] !== null + ? r + ? (t[1][r] ?? null) + : t[0] + : Array.isArray(t) && r === null + ? t.join(", ") + : typeof t == "string" && r === null + ? t + : null; + } + function yr(t, { theme: r }, o) { + for (let e of o) { + let n = qe([e]); + n && t.theme.clearNamespace(`--${n}`, 4); + } + for (let [e, n] of pn(r)) { + if (typeof n != "string" && typeof n != "number") continue; + if ( + (typeof n == "string" && (n = n.replace(//g, "1")), + e[0] === "opacity" && (typeof n == "number" || typeof n == "string")) + ) { + let l = typeof n == "string" ? parseFloat(n) : n; + l >= 0 && l <= 1 && (n = l * 100 + "%"); + } + let s = qe(e); + s && t.theme.add(`--${s}`, "" + n, 7); + } + if (Object.hasOwn(r, "fontFamily")) { + let e = 5; + { + let n = ye(r.fontFamily.sans); + n && + t.theme.hasDefault("--font-sans") && + (t.theme.add("--default-font-family", n, e), + t.theme.add( + "--default-font-feature-settings", + ye(r.fontFamily.sans, "fontFeatureSettings") ?? "normal", + e, + ), + t.theme.add( + "--default-font-variation-settings", + ye(r.fontFamily.sans, "fontVariationSettings") ?? "normal", + e, + )); + } + { + let n = ye(r.fontFamily.mono); + n && + t.theme.hasDefault("--font-mono") && + (t.theme.add("--default-mono-font-family", n, e), + t.theme.add( + "--default-mono-font-feature-settings", + ye(r.fontFamily.mono, "fontFeatureSettings") ?? "normal", + e, + ), + t.theme.add( + "--default-mono-font-variation-settings", + ye(r.fontFamily.mono, "fontVariationSettings") ?? "normal", + e, + )); + } + } + return r; + } + function pn(t) { + let r = []; + return ( + vr(t, [], (o, e) => { + if (gn(o)) return r.push([e, o]), 1; + if (hn(o)) { + r.push([e, o[0]]); + for (let n of Reflect.ownKeys(o[1])) + r.push([[...e, `-${n}`], o[1][n]]); + return 1; + } + if (Array.isArray(o) && o.every((n) => typeof n == "string")) + return r.push([e, o.join(", ")]), 1; + }), + r + ); + } + var mn = /^[a-zA-Z0-9-_%/\.]+$/; + function qe(t) { + if (t[0] === "container") return null; + (t = structuredClone(t)), + t[0] === "animation" && (t[0] = "animate"), + t[0] === "aspectRatio" && (t[0] = "aspect"), + t[0] === "borderRadius" && (t[0] = "radius"), + t[0] === "boxShadow" && (t[0] = "shadow"), + t[0] === "colors" && (t[0] = "color"), + t[0] === "containers" && (t[0] = "container"), + t[0] === "fontFamily" && (t[0] = "font"), + t[0] === "fontSize" && (t[0] = "text"), + t[0] === "letterSpacing" && (t[0] = "tracking"), + t[0] === "lineHeight" && (t[0] = "leading"), + t[0] === "maxWidth" && (t[0] = "container"), + t[0] === "screens" && (t[0] = "breakpoint"), + t[0] === "transitionTimingFunction" && (t[0] = "ease"); + for (let r of t) if (!mn.test(r)) return null; + return t + .map((r, o, e) => (r === "1" && o !== e.length - 1 ? "" : r)) + .map((r) => + r + .replaceAll(".", "_") + .replace(/([a-z])([A-Z])/g, (o, e, n) => `${e}-${n.toLowerCase()}`), + ) + .filter((r, o) => r !== "DEFAULT" || o !== t.length - 1) + .join("-"); + } + function gn(t) { + return typeof t == "number" || typeof t == "string"; + } + function hn(t) { + if ( + !Array.isArray(t) || + t.length !== 2 || + (typeof t[0] != "string" && typeof t[0] != "number") || + t[1] === void 0 || + t[1] === null || + typeof t[1] != "object" + ) + return !1; + for (let r of Reflect.ownKeys(t[1])) + if ( + typeof r != "string" || + (typeof t[1][r] != "string" && typeof t[1][r] != "number") + ) + return !1; + return !0; + } + function vr(t, r = [], o) { + for (let e of Reflect.ownKeys(t)) { + let n = t[e]; + if (n == null) continue; + let s = [...r, e], + l = o(n, s) ?? 0; + if (l !== 1) { + if (l === 2) return 2; + if (!(!Array.isArray(n) && typeof n != "object") && vr(n, s, o) === 2) + return 2; + } + } + } + function He(t) { + let r = []; + for (let o of P(t, ".")) { + if (!o.includes("[")) { + r.push(o); + continue; + } + let e = 0; + for (;;) { + let n = o.indexOf("[", e), + s = o.indexOf("]", n); + if (n === -1 || s === -1) break; + n > e && r.push(o.slice(e, n)), r.push(o.slice(n + 1, s)), (e = s + 1); + } + e <= o.length - 1 && r.push(o.slice(e)); + } + return r; + } + function ve(t) { + if (Object.prototype.toString.call(t) !== "[object Object]") return !1; + let r = Object.getPrototypeOf(t); + return r === null || Object.getPrototypeOf(r) === null; + } + function $e(t, r, o, e = []) { + for (let n of r) + if (n != null) + for (let s of Reflect.ownKeys(n)) { + e.push(s); + let l = o(t[s], n[s], e); + l !== void 0 + ? (t[s] = l) + : !ve(t[s]) || !ve(n[s]) + ? (t[s] = n[s]) + : (t[s] = $e({}, [t[s], n[s]], o, e)), + e.pop(); + } + return t; + } + function Ge(t, r, o) { + return function (n, s) { + let l = n.lastIndexOf("/"), + p = null; + l !== -1 && ((p = n.slice(l + 1).trim()), (n = n.slice(0, l).trim())); + let c = (() => { + let d = He(n), + [u, g] = bn(t.theme, d), + m = o(kr(r() ?? {}, d) ?? null); + if ( + (typeof m == "string" && (m = m.replace("", "1")), + typeof u != "object") + ) + return typeof g != "object" && g & 4 ? (m ?? u) : u; + if (m !== null && typeof m == "object" && !Array.isArray(m)) { + let v = $e({}, [m], (y, b) => b); + if (u === null && Object.hasOwn(m, "__CSS_VALUES__")) { + let y = {}; + for (let b in m.__CSS_VALUES__) (y[b] = m[b]), delete v[b]; + u = y; + } + for (let y in u) + y !== "__CSS_VALUES__" && + ((m?.__CSS_VALUES__?.[y] & 4 && kr(v, y.split("-")) !== void 0) || + (v[ae(y)] = u[y])); + return v; + } + if (Array.isArray(u) && Array.isArray(g) && Array.isArray(m)) { + let v = u[0], + y = u[1]; + g[0] & 4 && (v = m[0] ?? v); + for (let b of Object.keys(y)) g[1][b] & 4 && (y[b] = m[1][b] ?? y[b]); + return [v, y]; + } + return u ?? m; + })(); + return p && typeof c == "string" && (c = J(c, p)), c ?? s; + }; + } + function bn(t, r) { + if (r.length === 1 && r[0].startsWith("--")) + return [t.get([r[0]]), t.getOptions(r[0])]; + let o = qe(r), + e = new Map(), + n = new j(() => new Map()), + s = t.namespace(`--${o}`); + if (s.size === 0) return [null, 0]; + let l = new Map(); + for (let [u, g] of s) { + if (!u || !u.includes("--")) { + e.set(u, g), l.set(u, t.getOptions(u ? `--${o}-${u}` : `--${o}`)); + continue; + } + let m = u.indexOf("--"), + v = u.slice(0, m), + y = u.slice(m + 2); + (y = y.replace(/-([a-z])/g, (b, x) => x.toUpperCase())), + n.get(v === "" ? null : v).set(y, [g, t.getOptions(`--${o}${u}`)]); + } + let p = t.getOptions(`--${o}`); + for (let [u, g] of n) { + let m = e.get(u); + if (typeof m != "string") continue; + let v = {}, + y = {}; + for (let [b, [x, $]] of g) (v[b] = x), (y[b] = $); + e.set(u, [m, v]), l.set(u, [p, y]); + } + let c = {}, + d = {}; + for (let [u, g] of e) wr(c, [u ?? "DEFAULT"], g); + for (let [u, g] of l) wr(d, [u ?? "DEFAULT"], g); + return r[r.length - 1] === "DEFAULT" + ? [c?.DEFAULT ?? null, d.DEFAULT ?? 0] + : "DEFAULT" in c && Object.keys(c).length === 1 + ? [c.DEFAULT, d.DEFAULT ?? 0] + : ((c.__CSS_VALUES__ = d), [c, d]); + } + function kr(t, r) { + for (let o = 0; o < r.length; ++o) { + let e = r[o]; + if (t?.[e] === void 0) { + if (r[o + 1] === void 0) return; + r[o + 1] = `${e}-${r[o + 1]}`; + continue; + } + t = t[e]; + } + return t; + } + function wr(t, r, o) { + for (let e of r.slice(0, -1)) t[e] === void 0 && (t[e] = {}), (t = t[e]); + t[r[r.length - 1]] = o; + } + function yn(t) { + return { kind: "combinator", value: t }; + } + function vn(t, r) { + return { kind: "function", value: t, nodes: r }; + } + function Te(t) { + return { kind: "selector", value: t }; + } + function kn(t) { + return { kind: "separator", value: t }; + } + function wn(t) { + return { kind: "value", value: t }; + } + function Ve(t, r, o = null) { + for (let e = 0; e < t.length; e++) { + let n = t[e], + s = !1, + l = 0, + p = + r(n, { + parent: o, + replaceWith(c) { + (s = !0), + Array.isArray(c) + ? c.length === 0 + ? (t.splice(e, 1), (l = 0)) + : c.length === 1 + ? ((t[e] = c[0]), (l = 1)) + : (t.splice(e, 1, ...c), (l = c.length)) + : ((t[e] = c), (l = 1)); + }, + }) ?? 0; + if (s) { + p === 0 ? e-- : (e += l - 1); + continue; + } + if (p === 2) return 2; + if (p !== 1 && n.kind === "function" && Ve(n.nodes, r, n) === 2) return 2; + } + } + function Ee(t) { + let r = ""; + for (let o of t) + switch (o.kind) { + case "combinator": + case "selector": + case "separator": + case "value": { + r += o.value; + break; + } + case "function": + r += o.value + "(" + Ee(o.nodes) + ")"; + } + return r; + } + var xr = 92, + xn = 93, + Ar = 41, + An = 58, + Cr = 44, + Cn = 34, + Sn = 46, + Sr = 62, + Nr = 10, + Nn = 35, + $r = 91, + Tr = 40, + Vr = 43, + $n = 39, + Er = 32, + Rr = 9, + Or = 126; + function Ye(t) { + t = t.replaceAll( + `\r +`, + ` +`, + ); + let r = [], + o = [], + e = null, + n = "", + s; + for (let l = 0; l < t.length; l++) { + let p = t.charCodeAt(l); + switch (p) { + case Cr: + case Sr: + case Nr: + case Er: + case Vr: + case Rr: + case Or: { + if (n.length > 0) { + let m = Te(n); + e ? e.nodes.push(m) : r.push(m), (n = ""); + } + let c = l, + d = l + 1; + for ( + ; + d < t.length && + ((s = t.charCodeAt(d)), + !( + s !== Cr && + s !== Sr && + s !== Nr && + s !== Er && + s !== Vr && + s !== Rr && + s !== Or + )); + d++ + ); + l = d - 1; + let u = t.slice(c, d), + g = u.trim() === "," ? kn(u) : yn(u); + e ? e.nodes.push(g) : r.push(g); + break; + } + case Tr: { + let c = vn(n, []); + if ( + ((n = ""), + c.value !== ":not" && + c.value !== ":where" && + c.value !== ":has" && + c.value !== ":is") + ) { + let d = l + 1, + u = 0; + for (let m = l + 1; m < t.length; m++) { + if (((s = t.charCodeAt(m)), s === Tr)) { + u++; + continue; + } + if (s === Ar) { + if (u === 0) { + l = m; + break; + } + u--; + } + } + let g = l; + c.nodes.push(wn(t.slice(d, g))), + (n = ""), + (l = g), + e ? e.nodes.push(c) : r.push(c); + break; + } + e ? e.nodes.push(c) : r.push(c), o.push(c), (e = c); + break; + } + case Ar: { + let c = o.pop(); + if (n.length > 0) { + let d = Te(n); + c.nodes.push(d), (n = ""); + } + o.length > 0 ? (e = o[o.length - 1]) : (e = null); + break; + } + case Sn: + case An: + case Nn: { + if (n.length > 0) { + let c = Te(n); + e ? e.nodes.push(c) : r.push(c); + } + n = String.fromCharCode(p); + break; + } + case $r: { + if (n.length > 0) { + let u = Te(n); + e ? e.nodes.push(u) : r.push(u); + } + n = ""; + let c = l, + d = 0; + for (let u = l + 1; u < t.length; u++) { + if (((s = t.charCodeAt(u)), s === $r)) { + d++; + continue; + } + if (s === xn) { + if (d === 0) { + l = u; + break; + } + d--; + } + } + n += t.slice(c, l + 1); + break; + } + case $n: + case Cn: { + let c = l; + for (let d = l + 1; d < t.length; d++) + if (((s = t.charCodeAt(d)), s === xr)) d += 1; + else if (s === p) { + l = d; + break; + } + n += t.slice(c, l + 1); + break; + } + case xr: { + let c = t.charCodeAt(l + 1); + (n += String.fromCharCode(p) + String.fromCharCode(c)), (l += 1); + break; + } + default: + n += String.fromCharCode(p); + } + } + return n.length > 0 && r.push(Te(n)), r; + } + var Kr = /^[a-z@][a-zA-Z0-9/%._-]*$/; + function wt({ + designSystem: t, + ast: r, + resolvedConfig: o, + featuresRef: e, + referenceMode: n, + }) { + let s = { + addBase(l) { + if (n) return; + let p = X(l); + (e.current |= he(p, t)), r.push(U("@layer", "base", p)); + }, + addVariant(l, p) { + if (!We.test(l)) + throw new Error( + `\`addVariant('${l}')\` defines an invalid variant name. Variants should only contain alphanumeric, dashes or underscore characters.`, + ); + typeof p == "string" || Array.isArray(p) + ? t.variants.static( + l, + (c) => { + c.nodes = Pr(p, c.nodes); + }, + { compounds: fe(typeof p == "string" ? [p] : p) }, + ) + : typeof p == "object" && t.variants.fromAst(l, X(p)); + }, + matchVariant(l, p, c) { + function d(g, m, v) { + let y = p(g, { modifier: m?.value ?? null }); + return Pr(y, v); + } + let u = Object.keys(c?.values ?? {}); + t.variants.group( + () => { + t.variants.functional(l, (g, m) => { + if (!m.value) { + if (c?.values && "DEFAULT" in c.values) { + g.nodes = d(c.values.DEFAULT, m.modifier, g.nodes); + return; + } + return null; + } + if (m.value.kind === "arbitrary") + g.nodes = d(m.value.value, m.modifier, g.nodes); + else if (m.value.kind === "named" && c?.values) { + let v = c.values[m.value.value]; + if (typeof v != "string") return; + g.nodes = d(v, m.modifier, g.nodes); + } + }); + }, + (g, m) => { + if (g.kind !== "functional" || m.kind !== "functional") return 0; + let v = g.value ? g.value.value : "DEFAULT", + y = m.value ? m.value.value : "DEFAULT", + b = c?.values?.[v] ?? v, + x = c?.values?.[y] ?? y; + if (c && typeof c.sort == "function") + return c.sort( + { value: b, modifier: g.modifier?.value ?? null }, + { value: x, modifier: m.modifier?.value ?? null }, + ); + let $ = u.indexOf(v), + V = u.indexOf(y); + return ( + ($ = $ === -1 ? u.length : $), + (V = V === -1 ? u.length : V), + $ !== V ? $ - V : b < x ? -1 : 1 + ); + }, + ); + }, + addUtilities(l) { + l = Array.isArray(l) ? l : [l]; + let p = l.flatMap((d) => Object.entries(d)); + p = p.flatMap(([d, u]) => P(d, ",").map((g) => [g.trim(), u])); + let c = new j(() => []); + for (let [d, u] of p) { + if (d.startsWith("@keyframes ")) { + n || r.push(M(d, X(u))); + continue; + } + let g = Ye(d), + m = !1; + if ( + (Ve(g, (v) => { + if ( + v.kind === "selector" && + v.value[0] === "." && + Kr.test(v.value.slice(1)) + ) { + let y = v.value; + v.value = "&"; + let b = Ee(g), + x = y.slice(1), + $ = b === "&" ? X(u) : [M(b, X(u))]; + c.get(x).push(...$), (m = !0), (v.value = y); + return; + } + if (v.kind === "function" && v.value === ":not") return 1; + }), + !m) + ) + throw new Error( + `\`addUtilities({ '${d}' : \u2026 })\` defines an invalid utility selector. Utilities must be a single class name and start with a lowercase letter, eg. \`.scrollbar-none\`.`, + ); + } + for (let [d, u] of c) + t.theme.prefix && + _(u, (g) => { + if (g.kind === "rule") { + let m = Ye(g.selector); + Ve(m, (v) => { + v.kind === "selector" && + v.value[0] === "." && + (v.value = `.${t.theme.prefix}\\:${v.value.slice(1)}`); + }), + (g.selector = Ee(m)); + } + }), + t.utilities.static(d, (g) => { + let m = structuredClone(u); + return Ur(m, d, g.raw), (e.current |= Ne(m, t)), m; + }); + }, + matchUtilities(l, p) { + let c = p?.type + ? Array.isArray(p?.type) + ? p.type + : [p.type] + : ["any"]; + for (let [u, g] of Object.entries(l)) { + let m = function ({ negative: v }) { + return (y) => { + if ( + y.value?.kind === "arbitrary" && + c.length > 0 && + !c.includes("any") && + ((y.value.dataType && !c.includes(y.value.dataType)) || + (!y.value.dataType && !I(y.value.value, c))) + ) + return; + let b = c.includes("color"), + x = null, + $ = !1; + { + let R = p?.values ?? {}; + b && + (R = Object.assign( + { + inherit: "inherit", + transparent: "transparent", + current: "currentColor", + }, + R, + )), + y.value + ? y.value.kind === "arbitrary" + ? (x = y.value.value) + : y.value.fraction && R[y.value.fraction] + ? ((x = R[y.value.fraction]), ($ = !0)) + : R[y.value.value] + ? (x = R[y.value.value]) + : R.__BARE_VALUE__ && + ((x = R.__BARE_VALUE__(y.value) ?? null), + ($ = + (y.value.fraction !== null && x?.includes("/")) ?? + !1)) + : (x = R.DEFAULT ?? null); + } + if (x === null) return; + let V; + { + let R = p?.modifiers ?? null; + y.modifier + ? R === "any" || y.modifier.kind === "arbitrary" + ? (V = y.modifier.value) + : R?.[y.modifier.value] + ? (V = R[y.modifier.value]) + : b && !Number.isNaN(Number(y.modifier.value)) + ? (V = `${y.modifier.value}%`) + : (V = null) + : (V = null); + } + if (y.modifier && V === null && !$) + return y.value?.kind === "arbitrary" ? null : void 0; + b && V !== null && (x = J(x, V)), v && (x = `calc(${x} * -1)`); + let O = X(g(x, { modifier: V })); + return Ur(O, u, y.raw), (e.current |= Ne(O, t)), O; + }; + }; + var d = m; + if (!Kr.test(u)) + throw new Error( + `\`matchUtilities({ '${u}' : \u2026 })\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter, eg. \`scrollbar\`.`, + ); + p?.supportsNegativeValues && + t.utilities.functional(`-${u}`, m({ negative: !0 }), { types: c }), + t.utilities.functional(u, m({ negative: !1 }), { types: c }), + t.utilities.suggest(u, () => { + let v = p?.values ?? {}, + y = new Set(Object.keys(v)); + y.delete("__BARE_VALUE__"), + y.has("DEFAULT") && (y.delete("DEFAULT"), y.add(null)); + let b = p?.modifiers ?? {}, + x = b === "any" ? [] : Object.keys(b); + return [ + { + supportsNegative: p?.supportsNegativeValues ?? !1, + values: Array.from(y), + modifiers: x, + }, + ]; + }); + } + }, + addComponents(l, p) { + this.addUtilities(l, p); + }, + matchComponents(l, p) { + this.matchUtilities(l, p); + }, + theme: Ge( + t, + () => o.theme ?? {}, + (l) => l, + ), + prefix(l) { + return l; + }, + config(l, p) { + let c = o; + if (!l) return c; + let d = He(l); + for (let u = 0; u < d.length; ++u) { + let g = d[u]; + if (c[g] === void 0) return p; + c = c[g]; + } + return c ?? p; + }, + }; + return ( + (s.addComponents = s.addComponents.bind(s)), + (s.matchComponents = s.matchComponents.bind(s)), + s + ); + } + function X(t) { + let r = []; + t = Array.isArray(t) ? t : [t]; + let o = t.flatMap((e) => Object.entries(e)); + for (let [e, n] of o) + if (typeof n != "object") { + if (!e.startsWith("--")) { + if (n === "@slot") { + r.push(M(e, [U("@slot")])); + continue; + } + e = e.replace(/([A-Z])/g, "-$1").toLowerCase(); + } + r.push(a(e, String(n))); + } else if (Array.isArray(n)) + for (let s of n) + typeof s == "string" ? r.push(a(e, s)) : r.push(M(e, X(s))); + else n !== null && r.push(M(e, X(n))); + return r; + } + function Pr(t, r) { + return (typeof t == "string" ? [t] : t).flatMap((e) => { + if (e.trim().endsWith("}")) { + let n = e.replace("}", "{@slot}}"), + s = pe(n); + return yt(s, r), s; + } else return M(e, r); + }); + } + function Ur(t, r, o) { + _(t, (e) => { + if (e.kind === "rule") { + let n = Ye(e.selector); + Ve(n, (s) => { + s.kind === "selector" && + s.value === `.${r}` && + (s.value = `.${re(o)}`); + }), + (e.selector = Ee(n)); + } + }); + } + function _r(t, r, o) { + for (let e of Vn(r)) t.theme.addKeyframes(e); + } + function Vn(t) { + let r = []; + if ("keyframes" in t.theme) + for (let [o, e] of Object.entries(t.theme.keyframes)) + r.push(U("@keyframes", o, X(e))); + return r; + } + var Je = { + inherit: "inherit", + current: "currentColor", + transparent: "transparent", + black: "#000", + white: "#fff", + slate: { + 50: "oklch(0.984 0.003 247.858)", + 100: "oklch(0.968 0.007 247.896)", + 200: "oklch(0.929 0.013 255.508)", + 300: "oklch(0.869 0.022 252.894)", + 400: "oklch(0.704 0.04 256.788)", + 500: "oklch(0.554 0.046 257.417)", + 600: "oklch(0.446 0.043 257.281)", + 700: "oklch(0.372 0.044 257.287)", + 800: "oklch(0.279 0.041 260.031)", + 900: "oklch(0.208 0.042 265.755)", + 950: "oklch(0.129 0.042 264.695)", + }, + gray: { + 50: "oklch(0.985 0.002 247.839)", + 100: "oklch(0.967 0.003 264.542)", + 200: "oklch(0.928 0.006 264.531)", + 300: "oklch(0.872 0.01 258.338)", + 400: "oklch(0.707 0.022 261.325)", + 500: "oklch(0.551 0.027 264.364)", + 600: "oklch(0.446 0.03 256.802)", + 700: "oklch(0.373 0.034 259.733)", + 800: "oklch(0.278 0.033 256.848)", + 900: "oklch(0.21 0.034 264.665)", + 950: "oklch(0.13 0.028 261.692)", + }, + zinc: { + 50: "oklch(0.985 0 0)", + 100: "oklch(0.967 0.001 286.375)", + 200: "oklch(0.92 0.004 286.32)", + 300: "oklch(0.871 0.006 286.286)", + 400: "oklch(0.705 0.015 286.067)", + 500: "oklch(0.552 0.016 285.938)", + 600: "oklch(0.442 0.017 285.786)", + 700: "oklch(0.37 0.013 285.805)", + 800: "oklch(0.274 0.006 286.033)", + 900: "oklch(0.21 0.006 285.885)", + 950: "oklch(0.141 0.005 285.823)", + }, + neutral: { + 50: "oklch(0.985 0 0)", + 100: "oklch(0.97 0 0)", + 200: "oklch(0.922 0 0)", + 300: "oklch(0.87 0 0)", + 400: "oklch(0.708 0 0)", + 500: "oklch(0.556 0 0)", + 600: "oklch(0.439 0 0)", + 700: "oklch(0.371 0 0)", + 800: "oklch(0.269 0 0)", + 900: "oklch(0.205 0 0)", + 950: "oklch(0.145 0 0)", + }, + stone: { + 50: "oklch(0.985 0.001 106.423)", + 100: "oklch(0.97 0.001 106.424)", + 200: "oklch(0.923 0.003 48.717)", + 300: "oklch(0.869 0.005 56.366)", + 400: "oklch(0.709 0.01 56.259)", + 500: "oklch(0.553 0.013 58.071)", + 600: "oklch(0.444 0.011 73.639)", + 700: "oklch(0.374 0.01 67.558)", + 800: "oklch(0.268 0.007 34.298)", + 900: "oklch(0.216 0.006 56.043)", + 950: "oklch(0.147 0.004 49.25)", + }, + red: { + 50: "oklch(0.971 0.013 17.38)", + 100: "oklch(0.936 0.032 17.717)", + 200: "oklch(0.885 0.062 18.334)", + 300: "oklch(0.808 0.114 19.571)", + 400: "oklch(0.704 0.191 22.216)", + 500: "oklch(0.637 0.237 25.331)", + 600: "oklch(0.577 0.245 27.325)", + 700: "oklch(0.505 0.213 27.518)", + 800: "oklch(0.444 0.177 26.899)", + 900: "oklch(0.396 0.141 25.723)", + 950: "oklch(0.258 0.092 26.042)", + }, + orange: { + 50: "oklch(0.98 0.016 73.684)", + 100: "oklch(0.954 0.038 75.164)", + 200: "oklch(0.901 0.076 70.697)", + 300: "oklch(0.837 0.128 66.29)", + 400: "oklch(0.75 0.183 55.934)", + 500: "oklch(0.705 0.213 47.604)", + 600: "oklch(0.646 0.222 41.116)", + 700: "oklch(0.553 0.195 38.402)", + 800: "oklch(0.47 0.157 37.304)", + 900: "oklch(0.408 0.123 38.172)", + 950: "oklch(0.266 0.079 36.259)", + }, + amber: { + 50: "oklch(0.987 0.022 95.277)", + 100: "oklch(0.962 0.059 95.617)", + 200: "oklch(0.924 0.12 95.746)", + 300: "oklch(0.879 0.169 91.605)", + 400: "oklch(0.828 0.189 84.429)", + 500: "oklch(0.769 0.188 70.08)", + 600: "oklch(0.666 0.179 58.318)", + 700: "oklch(0.555 0.163 48.998)", + 800: "oklch(0.473 0.137 46.201)", + 900: "oklch(0.414 0.112 45.904)", + 950: "oklch(0.279 0.077 45.635)", + }, + yellow: { + 50: "oklch(0.987 0.026 102.212)", + 100: "oklch(0.973 0.071 103.193)", + 200: "oklch(0.945 0.129 101.54)", + 300: "oklch(0.905 0.182 98.111)", + 400: "oklch(0.852 0.199 91.936)", + 500: "oklch(0.795 0.184 86.047)", + 600: "oklch(0.681 0.162 75.834)", + 700: "oklch(0.554 0.135 66.442)", + 800: "oklch(0.476 0.114 61.907)", + 900: "oklch(0.421 0.095 57.708)", + 950: "oklch(0.286 0.066 53.813)", + }, + lime: { + 50: "oklch(0.986 0.031 120.757)", + 100: "oklch(0.967 0.067 122.328)", + 200: "oklch(0.938 0.127 124.321)", + 300: "oklch(0.897 0.196 126.665)", + 400: "oklch(0.841 0.238 128.85)", + 500: "oklch(0.768 0.233 130.85)", + 600: "oklch(0.648 0.2 131.684)", + 700: "oklch(0.532 0.157 131.589)", + 800: "oklch(0.453 0.124 130.933)", + 900: "oklch(0.405 0.101 131.063)", + 950: "oklch(0.274 0.072 132.109)", + }, + green: { + 50: "oklch(0.982 0.018 155.826)", + 100: "oklch(0.962 0.044 156.743)", + 200: "oklch(0.925 0.084 155.995)", + 300: "oklch(0.871 0.15 154.449)", + 400: "oklch(0.792 0.209 151.711)", + 500: "oklch(0.723 0.219 149.579)", + 600: "oklch(0.627 0.194 149.214)", + 700: "oklch(0.527 0.154 150.069)", + 800: "oklch(0.448 0.119 151.328)", + 900: "oklch(0.393 0.095 152.535)", + 950: "oklch(0.266 0.065 152.934)", + }, + emerald: { + 50: "oklch(0.979 0.021 166.113)", + 100: "oklch(0.95 0.052 163.051)", + 200: "oklch(0.905 0.093 164.15)", + 300: "oklch(0.845 0.143 164.978)", + 400: "oklch(0.765 0.177 163.223)", + 500: "oklch(0.696 0.17 162.48)", + 600: "oklch(0.596 0.145 163.225)", + 700: "oklch(0.508 0.118 165.612)", + 800: "oklch(0.432 0.095 166.913)", + 900: "oklch(0.378 0.077 168.94)", + 950: "oklch(0.262 0.051 172.552)", + }, + teal: { + 50: "oklch(0.984 0.014 180.72)", + 100: "oklch(0.953 0.051 180.801)", + 200: "oklch(0.91 0.096 180.426)", + 300: "oklch(0.855 0.138 181.071)", + 400: "oklch(0.777 0.152 181.912)", + 500: "oklch(0.704 0.14 182.503)", + 600: "oklch(0.6 0.118 184.704)", + 700: "oklch(0.511 0.096 186.391)", + 800: "oklch(0.437 0.078 188.216)", + 900: "oklch(0.386 0.063 188.416)", + 950: "oklch(0.277 0.046 192.524)", + }, + cyan: { + 50: "oklch(0.984 0.019 200.873)", + 100: "oklch(0.956 0.045 203.388)", + 200: "oklch(0.917 0.08 205.041)", + 300: "oklch(0.865 0.127 207.078)", + 400: "oklch(0.789 0.154 211.53)", + 500: "oklch(0.715 0.143 215.221)", + 600: "oklch(0.609 0.126 221.723)", + 700: "oklch(0.52 0.105 223.128)", + 800: "oklch(0.45 0.085 224.283)", + 900: "oklch(0.398 0.07 227.392)", + 950: "oklch(0.302 0.056 229.695)", + }, + sky: { + 50: "oklch(0.977 0.013 236.62)", + 100: "oklch(0.951 0.026 236.824)", + 200: "oklch(0.901 0.058 230.902)", + 300: "oklch(0.828 0.111 230.318)", + 400: "oklch(0.746 0.16 232.661)", + 500: "oklch(0.685 0.169 237.323)", + 600: "oklch(0.588 0.158 241.966)", + 700: "oklch(0.5 0.134 242.749)", + 800: "oklch(0.443 0.11 240.79)", + 900: "oklch(0.391 0.09 240.876)", + 950: "oklch(0.293 0.066 243.157)", + }, + blue: { + 50: "oklch(0.97 0.014 254.604)", + 100: "oklch(0.932 0.032 255.585)", + 200: "oklch(0.882 0.059 254.128)", + 300: "oklch(0.809 0.105 251.813)", + 400: "oklch(0.707 0.165 254.624)", + 500: "oklch(0.623 0.214 259.815)", + 600: "oklch(0.546 0.245 262.881)", + 700: "oklch(0.488 0.243 264.376)", + 800: "oklch(0.424 0.199 265.638)", + 900: "oklch(0.379 0.146 265.522)", + 950: "oklch(0.282 0.091 267.935)", + }, + indigo: { + 50: "oklch(0.962 0.018 272.314)", + 100: "oklch(0.93 0.034 272.788)", + 200: "oklch(0.87 0.065 274.039)", + 300: "oklch(0.785 0.115 274.713)", + 400: "oklch(0.673 0.182 276.935)", + 500: "oklch(0.585 0.233 277.117)", + 600: "oklch(0.511 0.262 276.966)", + 700: "oklch(0.457 0.24 277.023)", + 800: "oklch(0.398 0.195 277.366)", + 900: "oklch(0.359 0.144 278.697)", + 950: "oklch(0.257 0.09 281.288)", + }, + violet: { + 50: "oklch(0.969 0.016 293.756)", + 100: "oklch(0.943 0.029 294.588)", + 200: "oklch(0.894 0.057 293.283)", + 300: "oklch(0.811 0.111 293.571)", + 400: "oklch(0.702 0.183 293.541)", + 500: "oklch(0.606 0.25 292.717)", + 600: "oklch(0.541 0.281 293.009)", + 700: "oklch(0.491 0.27 292.581)", + 800: "oklch(0.432 0.232 292.759)", + 900: "oklch(0.38 0.189 293.745)", + 950: "oklch(0.283 0.141 291.089)", + }, + purple: { + 50: "oklch(0.977 0.014 308.299)", + 100: "oklch(0.946 0.033 307.174)", + 200: "oklch(0.902 0.063 306.703)", + 300: "oklch(0.827 0.119 306.383)", + 400: "oklch(0.714 0.203 305.504)", + 500: "oklch(0.627 0.265 303.9)", + 600: "oklch(0.558 0.288 302.321)", + 700: "oklch(0.496 0.265 301.924)", + 800: "oklch(0.438 0.218 303.724)", + 900: "oklch(0.381 0.176 304.987)", + 950: "oklch(0.291 0.149 302.717)", + }, + fuchsia: { + 50: "oklch(0.977 0.017 320.058)", + 100: "oklch(0.952 0.037 318.852)", + 200: "oklch(0.903 0.076 319.62)", + 300: "oklch(0.833 0.145 321.434)", + 400: "oklch(0.74 0.238 322.16)", + 500: "oklch(0.667 0.295 322.15)", + 600: "oklch(0.591 0.293 322.896)", + 700: "oklch(0.518 0.253 323.949)", + 800: "oklch(0.452 0.211 324.591)", + 900: "oklch(0.401 0.17 325.612)", + 950: "oklch(0.293 0.136 325.661)", + }, + pink: { + 50: "oklch(0.971 0.014 343.198)", + 100: "oklch(0.948 0.028 342.258)", + 200: "oklch(0.899 0.061 343.231)", + 300: "oklch(0.823 0.12 346.018)", + 400: "oklch(0.718 0.202 349.761)", + 500: "oklch(0.656 0.241 354.308)", + 600: "oklch(0.592 0.249 0.584)", + 700: "oklch(0.525 0.223 3.958)", + 800: "oklch(0.459 0.187 3.815)", + 900: "oklch(0.408 0.153 2.432)", + 950: "oklch(0.284 0.109 3.907)", + }, + rose: { + 50: "oklch(0.969 0.015 12.422)", + 100: "oklch(0.941 0.03 12.58)", + 200: "oklch(0.892 0.058 10.001)", + 300: "oklch(0.81 0.117 11.638)", + 400: "oklch(0.712 0.194 13.428)", + 500: "oklch(0.645 0.246 16.439)", + 600: "oklch(0.586 0.253 17.585)", + 700: "oklch(0.514 0.222 16.935)", + 800: "oklch(0.455 0.188 13.697)", + 900: "oklch(0.41 0.159 10.272)", + 950: "oklch(0.271 0.105 12.094)", + }, + }; + function de(t) { + return { __BARE_VALUE__: t }; + } + var Z = de((t) => { + if (N(t.value)) return t.value; + }), + q = de((t) => { + if (N(t.value)) return `${t.value}%`; + }), + ie = de((t) => { + if (N(t.value)) return `${t.value}px`; + }), + Dr = de((t) => { + if (N(t.value)) return `${t.value}ms`; + }), + Ze = de((t) => { + if (N(t.value)) return `${t.value}deg`; + }), + En = de((t) => { + if (t.fraction === null) return; + let [r, o] = P(t.fraction, "/"); + if (!(!N(r) || !N(o))) return t.fraction; + }), + zr = de((t) => { + if (N(Number(t.value))) return `repeat(${t.value}, minmax(0, 1fr))`; + }), + Fr = { + accentColor: ({ theme: t }) => t("colors"), + animation: { + none: "none", + spin: "spin 1s linear infinite", + ping: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite", + pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite", + bounce: "bounce 1s infinite", + }, + aria: { + busy: 'busy="true"', + checked: 'checked="true"', + disabled: 'disabled="true"', + expanded: 'expanded="true"', + hidden: 'hidden="true"', + pressed: 'pressed="true"', + readonly: 'readonly="true"', + required: 'required="true"', + selected: 'selected="true"', + }, + aspectRatio: { auto: "auto", square: "1 / 1", video: "16 / 9", ...En }, + backdropBlur: ({ theme: t }) => t("blur"), + backdropBrightness: ({ theme: t }) => ({ ...t("brightness"), ...q }), + backdropContrast: ({ theme: t }) => ({ ...t("contrast"), ...q }), + backdropGrayscale: ({ theme: t }) => ({ ...t("grayscale"), ...q }), + backdropHueRotate: ({ theme: t }) => ({ ...t("hueRotate"), ...Ze }), + backdropInvert: ({ theme: t }) => ({ ...t("invert"), ...q }), + backdropOpacity: ({ theme: t }) => ({ ...t("opacity"), ...q }), + backdropSaturate: ({ theme: t }) => ({ ...t("saturate"), ...q }), + backdropSepia: ({ theme: t }) => ({ ...t("sepia"), ...q }), + backgroundColor: ({ theme: t }) => t("colors"), + backgroundImage: { + none: "none", + "gradient-to-t": "linear-gradient(to top, var(--tw-gradient-stops))", + "gradient-to-tr": + "linear-gradient(to top right, var(--tw-gradient-stops))", + "gradient-to-r": "linear-gradient(to right, var(--tw-gradient-stops))", + "gradient-to-br": + "linear-gradient(to bottom right, var(--tw-gradient-stops))", + "gradient-to-b": "linear-gradient(to bottom, var(--tw-gradient-stops))", + "gradient-to-bl": + "linear-gradient(to bottom left, var(--tw-gradient-stops))", + "gradient-to-l": "linear-gradient(to left, var(--tw-gradient-stops))", + "gradient-to-tl": + "linear-gradient(to top left, var(--tw-gradient-stops))", + }, + backgroundOpacity: ({ theme: t }) => t("opacity"), + backgroundPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + backgroundSize: { auto: "auto", cover: "cover", contain: "contain" }, + blur: { + 0: "0", + none: "", + sm: "4px", + DEFAULT: "8px", + md: "12px", + lg: "16px", + xl: "24px", + "2xl": "40px", + "3xl": "64px", + }, + borderColor: ({ theme: t }) => ({ + DEFAULT: "currentColor", + ...t("colors"), + }), + borderOpacity: ({ theme: t }) => t("opacity"), + borderRadius: { + none: "0px", + sm: "0.125rem", + DEFAULT: "0.25rem", + md: "0.375rem", + lg: "0.5rem", + xl: "0.75rem", + "2xl": "1rem", + "3xl": "1.5rem", + full: "9999px", + }, + borderSpacing: ({ theme: t }) => t("spacing"), + borderWidth: { + DEFAULT: "1px", + 0: "0px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + boxShadow: { + sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)", + DEFAULT: + "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)", + md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)", + lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)", + xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)", + "2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)", + inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)", + none: "none", + }, + boxShadowColor: ({ theme: t }) => t("colors"), + brightness: { + 0: "0", + 50: ".5", + 75: ".75", + 90: ".9", + 95: ".95", + 100: "1", + 105: "1.05", + 110: "1.1", + 125: "1.25", + 150: "1.5", + 200: "2", + ...q, + }, + caretColor: ({ theme: t }) => t("colors"), + colors: () => ({ ...Je }), + columns: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + "3xs": "16rem", + "2xs": "18rem", + xs: "20rem", + sm: "24rem", + md: "28rem", + lg: "32rem", + xl: "36rem", + "2xl": "42rem", + "3xl": "48rem", + "4xl": "56rem", + "5xl": "64rem", + "6xl": "72rem", + "7xl": "80rem", + ...Z, + }, + container: {}, + content: { none: "none" }, + contrast: { + 0: "0", + 50: ".5", + 75: ".75", + 100: "1", + 125: "1.25", + 150: "1.5", + 200: "2", + ...q, + }, + cursor: { + auto: "auto", + default: "default", + pointer: "pointer", + wait: "wait", + text: "text", + move: "move", + help: "help", + "not-allowed": "not-allowed", + none: "none", + "context-menu": "context-menu", + progress: "progress", + cell: "cell", + crosshair: "crosshair", + "vertical-text": "vertical-text", + alias: "alias", + copy: "copy", + "no-drop": "no-drop", + grab: "grab", + grabbing: "grabbing", + "all-scroll": "all-scroll", + "col-resize": "col-resize", + "row-resize": "row-resize", + "n-resize": "n-resize", + "e-resize": "e-resize", + "s-resize": "s-resize", + "w-resize": "w-resize", + "ne-resize": "ne-resize", + "nw-resize": "nw-resize", + "se-resize": "se-resize", + "sw-resize": "sw-resize", + "ew-resize": "ew-resize", + "ns-resize": "ns-resize", + "nesw-resize": "nesw-resize", + "nwse-resize": "nwse-resize", + "zoom-in": "zoom-in", + "zoom-out": "zoom-out", + }, + divideColor: ({ theme: t }) => t("borderColor"), + divideOpacity: ({ theme: t }) => t("borderOpacity"), + divideWidth: ({ theme: t }) => ({ ...t("borderWidth"), ...ie }), + dropShadow: { + sm: "0 1px 1px rgb(0 0 0 / 0.05)", + DEFAULT: ["0 1px 2px rgb(0 0 0 / 0.1)", "0 1px 1px rgb(0 0 0 / 0.06)"], + md: ["0 4px 3px rgb(0 0 0 / 0.07)", "0 2px 2px rgb(0 0 0 / 0.06)"], + lg: ["0 10px 8px rgb(0 0 0 / 0.04)", "0 4px 3px rgb(0 0 0 / 0.1)"], + xl: ["0 20px 13px rgb(0 0 0 / 0.03)", "0 8px 5px rgb(0 0 0 / 0.08)"], + "2xl": "0 25px 25px rgb(0 0 0 / 0.15)", + none: "0 0 #0000", + }, + fill: ({ theme: t }) => t("colors"), + flex: { + 1: "1 1 0%", + auto: "1 1 auto", + initial: "0 1 auto", + none: "none", + }, + flexBasis: ({ theme: t }) => ({ + auto: "auto", + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + ...t("spacing"), + }), + flexGrow: { 0: "0", DEFAULT: "1", ...Z }, + flexShrink: { 0: "0", DEFAULT: "1", ...Z }, + fontFamily: { + sans: [ + "ui-sans-serif", + "system-ui", + "sans-serif", + '"Apple Color Emoji"', + '"Segoe UI Emoji"', + '"Segoe UI Symbol"', + '"Noto Color Emoji"', + ], + serif: [ + "ui-serif", + "Georgia", + "Cambria", + '"Times New Roman"', + "Times", + "serif", + ], + mono: [ + "ui-monospace", + "SFMono-Regular", + "Menlo", + "Monaco", + "Consolas", + '"Liberation Mono"', + '"Courier New"', + "monospace", + ], + }, + fontSize: { + xs: ["0.75rem", { lineHeight: "1rem" }], + sm: ["0.875rem", { lineHeight: "1.25rem" }], + base: ["1rem", { lineHeight: "1.5rem" }], + lg: ["1.125rem", { lineHeight: "1.75rem" }], + xl: ["1.25rem", { lineHeight: "1.75rem" }], + "2xl": ["1.5rem", { lineHeight: "2rem" }], + "3xl": ["1.875rem", { lineHeight: "2.25rem" }], + "4xl": ["2.25rem", { lineHeight: "2.5rem" }], + "5xl": ["3rem", { lineHeight: "1" }], + "6xl": ["3.75rem", { lineHeight: "1" }], + "7xl": ["4.5rem", { lineHeight: "1" }], + "8xl": ["6rem", { lineHeight: "1" }], + "9xl": ["8rem", { lineHeight: "1" }], + }, + fontWeight: { + thin: "100", + extralight: "200", + light: "300", + normal: "400", + medium: "500", + semibold: "600", + bold: "700", + extrabold: "800", + black: "900", + }, + gap: ({ theme: t }) => t("spacing"), + gradientColorStops: ({ theme: t }) => t("colors"), + gradientColorStopPositions: { + "0%": "0%", + "5%": "5%", + "10%": "10%", + "15%": "15%", + "20%": "20%", + "25%": "25%", + "30%": "30%", + "35%": "35%", + "40%": "40%", + "45%": "45%", + "50%": "50%", + "55%": "55%", + "60%": "60%", + "65%": "65%", + "70%": "70%", + "75%": "75%", + "80%": "80%", + "85%": "85%", + "90%": "90%", + "95%": "95%", + "100%": "100%", + ...q, + }, + grayscale: { 0: "0", DEFAULT: "100%", ...q }, + gridAutoColumns: { + auto: "auto", + min: "min-content", + max: "max-content", + fr: "minmax(0, 1fr)", + }, + gridAutoRows: { + auto: "auto", + min: "min-content", + max: "max-content", + fr: "minmax(0, 1fr)", + }, + gridColumn: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + "span-7": "span 7 / span 7", + "span-8": "span 8 / span 8", + "span-9": "span 9 / span 9", + "span-10": "span 10 / span 10", + "span-11": "span 11 / span 11", + "span-12": "span 12 / span 12", + "span-full": "1 / -1", + }, + gridColumnEnd: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + ...Z, + }, + gridColumnStart: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + ...Z, + }, + gridRow: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + "span-7": "span 7 / span 7", + "span-8": "span 8 / span 8", + "span-9": "span 9 / span 9", + "span-10": "span 10 / span 10", + "span-11": "span 11 / span 11", + "span-12": "span 12 / span 12", + "span-full": "1 / -1", + }, + gridRowEnd: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + ...Z, + }, + gridRowStart: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + ...Z, + }, + gridTemplateColumns: { + none: "none", + subgrid: "subgrid", + 1: "repeat(1, minmax(0, 1fr))", + 2: "repeat(2, minmax(0, 1fr))", + 3: "repeat(3, minmax(0, 1fr))", + 4: "repeat(4, minmax(0, 1fr))", + 5: "repeat(5, minmax(0, 1fr))", + 6: "repeat(6, minmax(0, 1fr))", + 7: "repeat(7, minmax(0, 1fr))", + 8: "repeat(8, minmax(0, 1fr))", + 9: "repeat(9, minmax(0, 1fr))", + 10: "repeat(10, minmax(0, 1fr))", + 11: "repeat(11, minmax(0, 1fr))", + 12: "repeat(12, minmax(0, 1fr))", + ...zr, + }, + gridTemplateRows: { + none: "none", + subgrid: "subgrid", + 1: "repeat(1, minmax(0, 1fr))", + 2: "repeat(2, minmax(0, 1fr))", + 3: "repeat(3, minmax(0, 1fr))", + 4: "repeat(4, minmax(0, 1fr))", + 5: "repeat(5, minmax(0, 1fr))", + 6: "repeat(6, minmax(0, 1fr))", + 7: "repeat(7, minmax(0, 1fr))", + 8: "repeat(8, minmax(0, 1fr))", + 9: "repeat(9, minmax(0, 1fr))", + 10: "repeat(10, minmax(0, 1fr))", + 11: "repeat(11, minmax(0, 1fr))", + 12: "repeat(12, minmax(0, 1fr))", + ...zr, + }, + height: ({ theme: t }) => ({ + auto: "auto", + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + hueRotate: { + 0: "0deg", + 15: "15deg", + 30: "30deg", + 60: "60deg", + 90: "90deg", + 180: "180deg", + ...Ze, + }, + inset: ({ theme: t }) => ({ + auto: "auto", + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + full: "100%", + ...t("spacing"), + }), + invert: { 0: "0", DEFAULT: "100%", ...q }, + keyframes: { + spin: { to: { transform: "rotate(360deg)" } }, + ping: { "75%, 100%": { transform: "scale(2)", opacity: "0" } }, + pulse: { "50%": { opacity: ".5" } }, + bounce: { + "0%, 100%": { + transform: "translateY(-25%)", + animationTimingFunction: "cubic-bezier(0.8,0,1,1)", + }, + "50%": { + transform: "none", + animationTimingFunction: "cubic-bezier(0,0,0.2,1)", + }, + }, + }, + letterSpacing: { + tighter: "-0.05em", + tight: "-0.025em", + normal: "0em", + wide: "0.025em", + wider: "0.05em", + widest: "0.1em", + }, + lineHeight: { + none: "1", + tight: "1.25", + snug: "1.375", + normal: "1.5", + relaxed: "1.625", + loose: "2", + 3: ".75rem", + 4: "1rem", + 5: "1.25rem", + 6: "1.5rem", + 7: "1.75rem", + 8: "2rem", + 9: "2.25rem", + 10: "2.5rem", + }, + listStyleType: { none: "none", disc: "disc", decimal: "decimal" }, + listStyleImage: { none: "none" }, + margin: ({ theme: t }) => ({ auto: "auto", ...t("spacing") }), + lineClamp: { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", ...Z }, + maxHeight: ({ theme: t }) => ({ + none: "none", + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + maxWidth: ({ theme: t }) => ({ + none: "none", + xs: "20rem", + sm: "24rem", + md: "28rem", + lg: "32rem", + xl: "36rem", + "2xl": "42rem", + "3xl": "48rem", + "4xl": "56rem", + "5xl": "64rem", + "6xl": "72rem", + "7xl": "80rem", + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + prose: "65ch", + ...t("spacing"), + }), + minHeight: ({ theme: t }) => ({ + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + minWidth: ({ theme: t }) => ({ + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + objectPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + opacity: { + 0: "0", + 5: "0.05", + 10: "0.1", + 15: "0.15", + 20: "0.2", + 25: "0.25", + 30: "0.3", + 35: "0.35", + 40: "0.4", + 45: "0.45", + 50: "0.5", + 55: "0.55", + 60: "0.6", + 65: "0.65", + 70: "0.7", + 75: "0.75", + 80: "0.8", + 85: "0.85", + 90: "0.9", + 95: "0.95", + 100: "1", + ...q, + }, + order: { + first: "-9999", + last: "9999", + none: "0", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + ...Z, + }, + outlineColor: ({ theme: t }) => t("colors"), + outlineOffset: { + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + outlineWidth: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px", ...ie }, + padding: ({ theme: t }) => t("spacing"), + placeholderColor: ({ theme: t }) => t("colors"), + placeholderOpacity: ({ theme: t }) => t("opacity"), + ringColor: ({ theme: t }) => ({ + DEFAULT: "currentColor", + ...t("colors"), + }), + ringOffsetColor: ({ theme: t }) => t("colors"), + ringOffsetWidth: { + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + ringOpacity: ({ theme: t }) => ({ DEFAULT: "0.5", ...t("opacity") }), + ringWidth: { + DEFAULT: "3px", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + rotate: { + 0: "0deg", + 1: "1deg", + 2: "2deg", + 3: "3deg", + 6: "6deg", + 12: "12deg", + 45: "45deg", + 90: "90deg", + 180: "180deg", + ...Ze, + }, + saturate: { 0: "0", 50: ".5", 100: "1", 150: "1.5", 200: "2", ...q }, + scale: { + 0: "0", + 50: ".5", + 75: ".75", + 90: ".9", + 95: ".95", + 100: "1", + 105: "1.05", + 110: "1.1", + 125: "1.25", + 150: "1.5", + ...q, + }, + screens: { + sm: "40rem", + md: "48rem", + lg: "64rem", + xl: "80rem", + "2xl": "96rem", + }, + scrollMargin: ({ theme: t }) => t("spacing"), + scrollPadding: ({ theme: t }) => t("spacing"), + sepia: { 0: "0", DEFAULT: "100%", ...q }, + skew: { + 0: "0deg", + 1: "1deg", + 2: "2deg", + 3: "3deg", + 6: "6deg", + 12: "12deg", + ...Ze, + }, + space: ({ theme: t }) => t("spacing"), + spacing: { + px: "1px", + 0: "0px", + 0.5: "0.125rem", + 1: "0.25rem", + 1.5: "0.375rem", + 2: "0.5rem", + 2.5: "0.625rem", + 3: "0.75rem", + 3.5: "0.875rem", + 4: "1rem", + 5: "1.25rem", + 6: "1.5rem", + 7: "1.75rem", + 8: "2rem", + 9: "2.25rem", + 10: "2.5rem", + 11: "2.75rem", + 12: "3rem", + 14: "3.5rem", + 16: "4rem", + 20: "5rem", + 24: "6rem", + 28: "7rem", + 32: "8rem", + 36: "9rem", + 40: "10rem", + 44: "11rem", + 48: "12rem", + 52: "13rem", + 56: "14rem", + 60: "15rem", + 64: "16rem", + 72: "18rem", + 80: "20rem", + 96: "24rem", + }, + stroke: ({ theme: t }) => ({ none: "none", ...t("colors") }), + strokeWidth: { 0: "0", 1: "1", 2: "2", ...Z }, + supports: {}, + data: {}, + textColor: ({ theme: t }) => t("colors"), + textDecorationColor: ({ theme: t }) => t("colors"), + textDecorationThickness: { + auto: "auto", + "from-font": "from-font", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + textIndent: ({ theme: t }) => t("spacing"), + textOpacity: ({ theme: t }) => t("opacity"), + textUnderlineOffset: { + auto: "auto", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + ...ie, + }, + transformOrigin: { + center: "center", + top: "top", + "top-right": "top right", + right: "right", + "bottom-right": "bottom right", + bottom: "bottom", + "bottom-left": "bottom left", + left: "left", + "top-left": "top left", + }, + transitionDelay: { + 0: "0s", + 75: "75ms", + 100: "100ms", + 150: "150ms", + 200: "200ms", + 300: "300ms", + 500: "500ms", + 700: "700ms", + 1e3: "1000ms", + ...Dr, + }, + transitionDuration: { + DEFAULT: "150ms", + 0: "0s", + 75: "75ms", + 100: "100ms", + 150: "150ms", + 200: "200ms", + 300: "300ms", + 500: "500ms", + 700: "700ms", + 1e3: "1000ms", + ...Dr, + }, + transitionProperty: { + none: "none", + all: "all", + DEFAULT: + "color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter", + colors: + "color, background-color, border-color, outline-color, text-decoration-color, fill, stroke", + opacity: "opacity", + shadow: "box-shadow", + transform: "transform", + }, + transitionTimingFunction: { + DEFAULT: "cubic-bezier(0.4, 0, 0.2, 1)", + linear: "linear", + in: "cubic-bezier(0.4, 0, 1, 1)", + out: "cubic-bezier(0, 0, 0.2, 1)", + "in-out": "cubic-bezier(0.4, 0, 0.2, 1)", + }, + translate: ({ theme: t }) => ({ + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + full: "100%", + ...t("spacing"), + }), + size: ({ theme: t }) => ({ + auto: "auto", + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + width: ({ theme: t }) => ({ + auto: "auto", + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + screen: "100vw", + svw: "100svw", + lvw: "100lvw", + dvw: "100dvw", + min: "min-content", + max: "max-content", + fit: "fit-content", + ...t("spacing"), + }), + willChange: { + auto: "auto", + scroll: "scroll-position", + contents: "contents", + transform: "transform", + }, + zIndex: { + auto: "auto", + 0: "0", + 10: "10", + 20: "20", + 30: "30", + 40: "40", + 50: "50", + ...Z, + }, + }; + function jr(t) { + return { + theme: { + ...Fr, + colors: ({ theme: r }) => r("color", {}), + extend: { + fontSize: ({ theme: r }) => ({ ...r("text", {}) }), + boxShadow: ({ theme: r }) => ({ ...r("shadow", {}) }), + animation: ({ theme: r }) => ({ ...r("animate", {}) }), + aspectRatio: ({ theme: r }) => ({ ...r("aspect", {}) }), + borderRadius: ({ theme: r }) => ({ ...r("radius", {}) }), + screens: ({ theme: r }) => ({ ...r("breakpoint", {}) }), + letterSpacing: ({ theme: r }) => ({ ...r("tracking", {}) }), + lineHeight: ({ theme: r }) => ({ ...r("leading", {}) }), + transitionDuration: { + DEFAULT: t.get(["--default-transition-duration"]) ?? null, + }, + transitionTimingFunction: { + DEFAULT: t.get(["--default-transition-timing-function"]) ?? null, + }, + maxWidth: ({ theme: r }) => ({ ...r("container", {}) }), + }, + }, + }; + } + var Rn = { + blocklist: [], + future: {}, + prefix: "", + important: !1, + darkMode: null, + theme: {}, + plugins: [], + content: { files: [] }, + }; + function At(t, r) { + let o = { + design: t, + configs: [], + plugins: [], + content: { files: [] }, + theme: {}, + extend: {}, + result: structuredClone(Rn), + }; + for (let n of r) xt(o, n); + for (let n of o.configs) + "darkMode" in n && + n.darkMode !== void 0 && + (o.result.darkMode = n.darkMode ?? null), + "prefix" in n && + n.prefix !== void 0 && + (o.result.prefix = n.prefix ?? ""), + "blocklist" in n && + n.blocklist !== void 0 && + (o.result.blocklist = n.blocklist ?? []), + "important" in n && + n.important !== void 0 && + (o.result.important = n.important ?? !1); + let e = Kn(o); + return { + resolvedConfig: { + ...o.result, + content: o.content, + theme: o.theme, + plugins: o.plugins, + }, + replacedThemeKeys: e, + }; + } + function On(t, r) { + if (Array.isArray(t) && ve(t[0])) return t.concat(r); + if (Array.isArray(r) && ve(r[0]) && ve(t)) return [t, ...r]; + if (Array.isArray(r)) return r; + } + function xt(t, { config: r, base: o, path: e, reference: n }) { + let s = []; + for (let c of r.plugins ?? []) + "__isOptionsFunction" in c + ? s.push({ ...c(), reference: n }) + : "handler" in c + ? s.push({ ...c, reference: n }) + : s.push({ handler: c, reference: n }); + if (Array.isArray(r.presets) && r.presets.length === 0) + throw new Error( + "Error in the config file/plugin/preset. An empty preset (`preset: []`) is not currently supported.", + ); + for (let c of r.presets ?? []) + xt(t, { path: e, base: o, config: c, reference: n }); + for (let c of s) + t.plugins.push(c), + c.config && + xt(t, { + path: e, + base: o, + config: c.config, + reference: !!c.reference, + }); + let l = r.content ?? [], + p = Array.isArray(l) ? l : l.files; + for (let c of p) + t.content.files.push(typeof c == "object" ? c : { base: o, pattern: c }); + t.configs.push(r); + } + function Kn(t) { + let r = new Set(), + o = Ge(t.design, () => t.theme, n), + e = Object.assign(o, { theme: o, colors: Je }); + function n(s) { + return typeof s == "function" ? (s(e) ?? null) : (s ?? null); + } + for (let s of t.configs) { + let l = s.theme ?? {}, + p = l.extend ?? {}; + for (let c in l) c !== "extend" && r.add(c); + Object.assign(t.theme, l); + for (let c in p) (t.extend[c] ??= []), t.extend[c].push(p[c]); + } + delete t.theme.extend; + for (let s in t.extend) { + let l = [t.theme[s], ...t.extend[s]]; + t.theme[s] = () => { + let p = l.map(n); + return $e({}, p, On); + }; + } + for (let s in t.theme) t.theme[s] = n(t.theme[s]); + if (t.theme.screens && typeof t.theme.screens == "object") + for (let s of Object.keys(t.theme.screens)) { + let l = t.theme.screens[s]; + l && + typeof l == "object" && + ("raw" in l || + "max" in l || + ("min" in l && (t.theme.screens[s] = l.min))); + } + return r; + } + function Ir(t, r) { + let o = t.theme.container || {}; + if (typeof o != "object" || o === null) return; + let e = Pn(o, r); + e.length !== 0 && r.utilities.static("container", () => structuredClone(e)); + } + function Pn({ center: t, padding: r, screens: o }, e) { + let n = [], + s = null; + if ( + (t && n.push(a("margin-inline", "auto")), + (typeof r == "string" || + (typeof r == "object" && r !== null && "DEFAULT" in r)) && + n.push(a("padding-inline", typeof r == "string" ? r : r.DEFAULT)), + typeof o == "object" && o !== null) + ) { + s = new Map(); + let l = Array.from(e.theme.namespace("--breakpoint").entries()); + if ((l.sort((p, c) => ue(p[1], c[1], "asc")), l.length > 0)) { + let [p] = l[0]; + n.push( + U("@media", `(width >= --theme(--breakpoint-${p}))`, [ + a("max-width", "none"), + ]), + ); + } + for (let [p, c] of Object.entries(o)) { + if (typeof c == "object") + if ("min" in c) c = c.min; + else continue; + s.set(p, U("@media", `(width >= ${c})`, [a("max-width", c)])); + } + } + if (typeof r == "object" && r !== null) { + let l = Object.entries(r) + .filter(([p]) => p !== "DEFAULT") + .map(([p, c]) => [p, e.theme.resolveValue(p, ["--breakpoint"]), c]) + .filter(Boolean); + l.sort((p, c) => ue(p[1], c[1], "asc")); + for (let [p, , c] of l) + if (s && s.has(p)) s.get(p).nodes.push(a("padding-inline", c)); + else { + if (s) continue; + n.push( + U("@media", `(width >= theme(--breakpoint-${p}))`, [ + a("padding-inline", c), + ]), + ); + } + } + if (s) for (let [, l] of s) n.push(l); + return n; + } + function Lr({ addVariant: t, config: r }) { + let o = r("darkMode", null), + [e, n = ".dark"] = Array.isArray(o) ? o : [o]; + if (e === "variant") { + let s; + if ( + (Array.isArray(n) || typeof n == "function" + ? (s = n) + : typeof n == "string" && (s = [n]), + Array.isArray(s)) + ) + for (let l of s) + l === ".dark" + ? ((e = !1), + console.warn( + 'When using `variant` for `darkMode`, you must provide a selector.\nExample: `darkMode: ["variant", ".your-selector &"]`', + )) + : l.includes("&") || + ((e = !1), + console.warn( + 'When using `variant` for `darkMode`, your selector must contain `&`.\nExample `darkMode: ["variant", ".your-selector &"]`', + )); + n = s; + } + e === null || + (e === "selector" + ? t("dark", `&:where(${n}, ${n} *)`) + : e === "media" + ? t("dark", "@media (prefers-color-scheme: dark)") + : e === "variant" + ? t("dark", n) + : e === "class" && t("dark", `&:is(${n} *)`)); + } + function Mr(t) { + for (let [r, o] of [ + ["t", "top"], + ["tr", "top right"], + ["r", "right"], + ["br", "bottom right"], + ["b", "bottom"], + ["bl", "bottom left"], + ["l", "left"], + ["tl", "top left"], + ]) + t.utilities.static(`bg-gradient-to-${r}`, () => [ + a("--tw-gradient-position", `to ${o} in oklab`), + a("background-image", "linear-gradient(var(--tw-gradient-stops))"), + ]); + t.utilities.functional("max-w-screen", (r) => { + if (!r.value || r.value.kind === "arbitrary") return; + let o = t.theme.resolve(r.value.value, ["--breakpoint"]); + if (o) return [a("max-width", o)]; + }), + t.utilities.static("overflow-ellipsis", () => [ + a("text-overflow", "ellipsis"), + ]), + t.utilities.static("decoration-slice", () => [ + a("-webkit-box-decoration-break", "slice"), + a("box-decoration-break", "slice"), + ]), + t.utilities.static("decoration-clone", () => [ + a("-webkit-box-decoration-break", "clone"), + a("box-decoration-break", "clone"), + ]), + t.utilities.functional("flex-shrink", (r) => { + if (!r.modifier) { + if (!r.value) return [a("flex-shrink", "1")]; + if (r.value.kind === "arbitrary") + return [a("flex-shrink", r.value.value)]; + if (N(r.value.value)) return [a("flex-shrink", r.value.value)]; + } + }), + t.utilities.functional("flex-grow", (r) => { + if (!r.modifier) { + if (!r.value) return [a("flex-grow", "1")]; + if (r.value.kind === "arbitrary") + return [a("flex-grow", r.value.value)]; + if (N(r.value.value)) return [a("flex-grow", r.value.value)]; + } + }); + } + function Br(t, r) { + let o = t.theme.screens || {}, + e = r.variants.get("min")?.order ?? 0, + n = []; + for (let [l, p] of Object.entries(o)) { + let m = function (v) { + r.variants.static( + l, + (y) => { + y.nodes = [U("@media", g, y.nodes)]; + }, + { order: v }, + ); + }; + var s = m; + let c = r.variants.get(l), + d = r.theme.resolveValue(l, ["--breakpoint"]); + if (c && d && !r.theme.hasDefault(`--breakpoint-${l}`)) continue; + let u = !0; + typeof p == "string" && (u = !1); + let g = Un(p); + u ? n.push(m) : m(e); + } + if (n.length !== 0) { + for (let [, l] of r.variants.variants) + l.order > e && (l.order += n.length); + r.variants.compareFns = new Map( + Array.from(r.variants.compareFns).map( + ([l, p]) => (l > e && (l += n.length), [l, p]), + ), + ); + for (let [l, p] of n.entries()) p(e + l + 1); + } + } + function Un(t) { + return (Array.isArray(t) ? t : [t]) + .map((o) => + typeof o == "string" + ? { min: o } + : o && typeof o == "object" + ? o + : null, + ) + .map((o) => { + if (o === null) return null; + if ("raw" in o) return o.raw; + let e = ""; + return ( + o.max !== void 0 && (e += `${o.max} >= `), + (e += "width"), + o.min !== void 0 && (e += ` >= ${o.min}`), + `(${e})` + ); + }) + .filter(Boolean) + .join(", "); + } + function Wr(t, r) { + let o = t.theme.aria || {}, + e = t.theme.supports || {}, + n = t.theme.data || {}; + if (Object.keys(o).length > 0) { + let s = r.variants.get("aria"), + l = s?.applyFn, + p = s?.compounds; + r.variants.functional( + "aria", + (c, d) => { + let u = d.value; + return u && u.kind === "named" && u.value in o + ? l?.(c, { ...d, value: { kind: "arbitrary", value: o[u.value] } }) + : l?.(c, d); + }, + { compounds: p }, + ); + } + if (Object.keys(e).length > 0) { + let s = r.variants.get("supports"), + l = s?.applyFn, + p = s?.compounds; + r.variants.functional( + "supports", + (c, d) => { + let u = d.value; + return u && u.kind === "named" && u.value in e + ? l?.(c, { ...d, value: { kind: "arbitrary", value: e[u.value] } }) + : l?.(c, d); + }, + { compounds: p }, + ); + } + if (Object.keys(n).length > 0) { + let s = r.variants.get("data"), + l = s?.applyFn, + p = s?.compounds; + r.variants.functional( + "data", + (c, d) => { + let u = d.value; + return u && u.kind === "named" && u.value in n + ? l?.(c, { ...d, value: { kind: "arbitrary", value: n[u.value] } }) + : l?.(c, d); + }, + { compounds: p }, + ); + } + } + var _n = /^[a-z]+$/; + async function Hr({ + designSystem: t, + base: r, + ast: o, + loadModule: e, + globs: n, + }) { + let s = 0, + l = [], + p = []; + _(o, (g, { parent: m, replaceWith: v, context: y }) => { + if (g.kind === "at-rule") { + if (g.name === "@plugin") { + if (m !== null) throw new Error("`@plugin` cannot be nested."); + let b = g.params.slice(1, -1); + if (b.length === 0) throw new Error("`@plugin` must have a path."); + let x = {}; + for (let $ of g.nodes ?? []) { + if ($.kind !== "declaration") + throw new Error(`Unexpected \`@plugin\` option: + +${Y([$])} + +\`@plugin\` options must be a flat list of declarations.`); + if ($.value === void 0) continue; + let V = $.value, + O = P(V, ",").map((R) => { + if (((R = R.trim()), R === "null")) return null; + if (R === "true") return !0; + if (R === "false") return !1; + if (Number.isNaN(Number(R))) { + if ( + (R[0] === '"' && R[R.length - 1] === '"') || + (R[0] === "'" && R[R.length - 1] === "'") + ) + return R.slice(1, -1); + if (R[0] === "{" && R[R.length - 1] === "}") + throw new Error(`Unexpected \`@plugin\` option: Value of declaration \`${Y([$]).trim()}\` is not supported. + +Using an object as a plugin option is currently only supported in JavaScript configuration files.`); + } else return Number(R); + return R; + }); + x[$.property] = O.length === 1 ? O[0] : O; + } + l.push([ + { id: b, base: y.base, reference: !!y.reference }, + Object.keys(x).length > 0 ? x : null, + ]), + v([]), + (s |= 4); + return; + } + if (g.name === "@config") { + if (g.nodes.length > 0) + throw new Error("`@config` cannot have a body."); + if (m !== null) throw new Error("`@config` cannot be nested."); + p.push({ + id: g.params.slice(1, -1), + base: y.base, + reference: !!y.reference, + }), + v([]), + (s |= 4); + return; + } + } + }), + Mr(t); + let c = t.resolveThemeValue; + if ( + ((t.resolveThemeValue = function (m) { + return m.startsWith("--") + ? c(m) + : ((s |= qr({ + designSystem: t, + base: r, + ast: o, + globs: n, + configs: [], + pluginDetails: [], + })), + t.resolveThemeValue(m)); + }), + !l.length && !p.length) + ) + return 0; + let [d, u] = await Promise.all([ + Promise.all( + p.map(async ({ id: g, base: m, reference: v }) => { + let y = await e(g, m, "config"); + return { path: g, base: y.base, config: y.module, reference: v }; + }), + ), + Promise.all( + l.map(async ([{ id: g, base: m, reference: v }, y]) => { + let b = await e(g, m, "plugin"); + return { + path: g, + base: b.base, + plugin: b.module, + options: y, + reference: v, + }; + }), + ), + ]); + return ( + (s |= qr({ + designSystem: t, + base: r, + ast: o, + globs: n, + configs: d, + pluginDetails: u, + })), + s + ); + } + function qr({ + designSystem: t, + base: r, + ast: o, + globs: e, + configs: n, + pluginDetails: s, + }) { + let l = 0, + c = [ + ...s.map((b) => { + if (!b.options) + return { + config: { plugins: [b.plugin] }, + base: b.base, + reference: b.reference, + }; + if ("__isOptionsFunction" in b.plugin) + return { + config: { plugins: [b.plugin(b.options)] }, + base: b.base, + reference: b.reference, + }; + throw new Error(`The plugin "${b.path}" does not accept options`); + }), + ...n, + ], + { resolvedConfig: d } = At(t, [ + { config: jr(t.theme), base: r, reference: !0 }, + ...c, + { config: { plugins: [Lr] }, base: r, reference: !0 }, + ]), + { resolvedConfig: u, replacedThemeKeys: g } = At(t, c); + t.resolveThemeValue = function (x, $) { + let V = v.theme(x, $); + if (Array.isArray(V) && V.length === 2) return V[0]; + if (Array.isArray(V)) return V.join(", "); + if (typeof V == "string") return V; + }; + let m = { + designSystem: t, + ast: o, + resolvedConfig: d, + featuresRef: { + set current(b) { + l |= b; + }, + }, + }, + v = wt({ ...m, referenceMode: !1 }), + y; + for (let { handler: b, reference: x } of d.plugins) + x ? ((y ||= wt({ ...m, referenceMode: !0 })), b(y)) : b(v); + if ( + (yr(t, u, g), + _r(t, u, g), + Wr(u, t), + Br(u, t), + Ir(u, t), + !t.theme.prefix && d.prefix) + ) { + if ( + (d.prefix.endsWith("-") && + ((d.prefix = d.prefix.slice(0, -1)), + console.warn( + `The prefix "${d.prefix}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only and is written as a variant before all utilities. We have fixed up the prefix for you. Remove the trailing \`-\` to silence this warning.`, + )), + !_n.test(d.prefix)) + ) + throw new Error( + `The prefix "${d.prefix}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`, + ); + t.theme.prefix = d.prefix; + } + if ( + (!t.important && d.important === !0 && (t.important = !0), + typeof d.important == "string") + ) { + let b = d.important; + _(o, (x, { replaceWith: $, parent: V }) => { + if ( + x.kind === "at-rule" && + !(x.name !== "@tailwind" || x.params !== "utilities") + ) + return V?.kind === "rule" && V.selector === b ? 2 : ($(z(b, [x])), 2); + }); + } + for (let b of d.blocklist) t.invalidCandidates.add(b); + for (let b of d.content.files) { + if ("raw" in b) + throw new Error(`Error in the config file/plugin/preset. The \`content\` key contains a \`raw\` entry: + +${JSON.stringify(b, null, 2)} + +This feature is not currently supported.`); + e.push(b); + } + return l; + } + var Dn = /^[a-z]+$/; + function zn() { + throw new Error("No `loadModule` function provided to `compile`"); + } + function Fn() { + throw new Error("No `loadStylesheet` function provided to `compile`"); + } + function jn(t) { + let r = 0, + o = null; + for (let e of P(t, " ")) + e === "reference" + ? (r |= 2) + : e === "inline" + ? (r |= 1) + : e === "default" + ? (r |= 4) + : e === "static" + ? (r |= 8) + : e.startsWith("prefix(") && + e.endsWith(")") && + (o = e.slice(7, -1)); + return [r, o]; + } + async function In( + t, + { base: r = "", loadModule: o = zn, loadStylesheet: e = Fn } = {}, + ) { + let n = 0; + (t = [Q({ base: r }, t)]), (n |= await kt(t, r, e)); + let s = null, + l = new ze(), + p = [], + c = [], + d = null, + u = null, + g = [], + m = [], + v = null; + _(t, (b, { parent: x, replaceWith: $, context: V }) => { + if (b.kind === "at-rule") { + if ( + b.name === "@tailwind" && + (b.params === "utilities" || b.params.startsWith("utilities")) + ) { + if (u !== null) { + $([]); + return; + } + let O = P(b.params, " "); + for (let R of O) + if (R.startsWith("source(")) { + let K = R.slice(7, -1); + if (K === "none") { + v = K; + continue; + } + if ( + (K[0] === '"' && K[K.length - 1] !== '"') || + (K[0] === "'" && K[K.length - 1] !== "'") || + (K[0] !== "'" && K[0] !== '"') + ) + throw new Error("`source(\u2026)` paths must be quoted."); + v = { base: V.sourceBase ?? V.base, pattern: K.slice(1, -1) }; + } + (u = b), (n |= 16); + } + if (b.name === "@utility") { + if (x !== null) throw new Error("`@utility` cannot be nested."); + if (b.nodes.length === 0) + throw new Error( + `\`@utility ${b.params}\` is empty. Utilities should include at least one property.`, + ); + let O = nr(b); + if (O === null) + throw new Error( + `\`@utility ${b.params}\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter.`, + ); + c.push(O); + } + if (b.name === "@source") { + if (b.nodes.length > 0) + throw new Error("`@source` cannot have a body."); + if (x !== null) throw new Error("`@source` cannot be nested."); + let O = b.params; + if ( + (O[0] === '"' && O[O.length - 1] !== '"') || + (O[0] === "'" && O[O.length - 1] !== "'") || + (O[0] !== "'" && O[0] !== '"') + ) + throw new Error("`@source` paths must be quoted."); + m.push({ base: V.base, pattern: O.slice(1, -1) }), $([]); + return; + } + if ( + (b.name === "@variant" && + (x === null + ? b.nodes.length === 0 + ? (b.name = "@custom-variant") + : (_(b.nodes, (O) => { + if (O.kind === "at-rule" && O.name === "@slot") + return (b.name = "@custom-variant"), 2; + }), + b.name === "@variant" && g.push(b)) + : g.push(b)), + b.name === "@custom-variant") + ) { + if (x !== null) + throw new Error("`@custom-variant` cannot be nested."); + $([]); + let [O, R] = P(b.params, " "); + if (!We.test(O)) + throw new Error( + `\`@custom-variant ${O}\` defines an invalid variant name. Variants should only contain alphanumeric, dashes or underscore characters.`, + ); + if (b.nodes.length > 0 && R) + throw new Error( + `\`@custom-variant ${O}\` cannot have both a selector and a body.`, + ); + if (b.nodes.length === 0) { + if (!R) + throw new Error( + `\`@custom-variant ${O}\` has no selector or body.`, + ); + let K = P(R.slice(1, -1), ","); + if (K.length === 0 || K.some((h) => h.trim() === "")) + throw new Error( + `\`@custom-variant ${O} (${K.join(",")})\` selector is invalid.`, + ); + let i = [], + f = []; + for (let h of K) + (h = h.trim()), h[0] === "@" ? i.push(h) : f.push(h); + p.push((h) => { + h.variants.static( + O, + (w) => { + let k = []; + f.length > 0 && k.push(z(f.join(", "), w.nodes)); + for (let T of i) k.push(M(T, w.nodes)); + w.nodes = k; + }, + { compounds: fe([...f, ...i]) }, + ); + }); + return; + } else { + p.push((K) => { + K.variants.fromAst(O, b.nodes); + }); + return; + } + } + if (b.name === "@media") { + let O = P(b.params, " "), + R = []; + for (let K of O) + if (K.startsWith("source(")) { + let i = K.slice(7, -1); + _(b.nodes, (f, { replaceWith: h }) => { + if ( + f.kind === "at-rule" && + f.name === "@tailwind" && + f.params === "utilities" + ) + return ( + (f.params += ` source(${i})`), + h([Q({ sourceBase: V.base }, [f])]), + 2 + ); + }); + } else if (K.startsWith("theme(")) { + let i = K.slice(6, -1), + f = i.includes("reference"); + _(b.nodes, (h) => { + if (h.kind !== "at-rule") { + if (f) + throw new Error( + 'Files imported with `@import "\u2026" theme(reference)` must only contain `@theme` blocks.\nUse `@reference "\u2026";` instead.', + ); + return 0; + } + if (h.name === "@theme") return (h.params += " " + i), 1; + }); + } else if (K.startsWith("prefix(")) { + let i = K.slice(7, -1); + _(b.nodes, (f) => { + if (f.kind === "at-rule" && f.name === "@theme") + return (f.params += ` prefix(${i})`), 1; + }); + } else + K === "important" + ? (s = !0) + : K === "reference" + ? (b.nodes = [Q({ reference: !0 }, b.nodes)]) + : R.push(K); + R.length > 0 ? (b.params = R.join(" ")) : O.length > 0 && $(b.nodes); + } + if (b.name === "@theme") { + let [O, R] = jn(b.params); + if ((V.reference && (O |= 2), R)) { + if (!Dn.test(R)) + throw new Error( + `The prefix "${R}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`, + ); + l.prefix = R; + } + return ( + _(b.nodes, (K) => { + if (K.kind === "at-rule" && K.name === "@keyframes") + return l.addKeyframes(K), 1; + if (K.kind === "comment") return; + if (K.kind === "declaration" && K.property.startsWith("--")) { + l.add(ae(K.property), K.value ?? "", O); + return; + } + let i = Y([U(b.name, b.params, [K])]) + .split( + ` +`, + ) + .map( + (f, h, w) => + `${h === 0 || h >= w.length - 2 ? " " : ">"} ${f}`, + ).join(` +`); + throw new Error(`\`@theme\` blocks must only contain custom properties or \`@keyframes\`. + +${i}`); + }), + d ? $([]) : ((d = z(":root, :host", [])), $([d])), + 1 + ); + } + } + }); + let y = pr(l); + s && (y.important = s), + (n |= await Hr({ + designSystem: y, + base: r, + ast: t, + loadModule: o, + globs: m, + })); + for (let b of p) b(y); + for (let b of c) b(y); + if (d) { + let b = []; + for (let [$, V] of y.theme.entries()) + V.options & 2 || b.push(a(re($), V.value)); + let x = y.theme.getKeyframes(); + for (let $ of x) t.push(Q({ theme: !0 }, [D([$])])); + d.nodes = [Q({ theme: !0 }, b)]; + } + if (u) { + let b = u; + (b.kind = "context"), (b.context = {}); + } + if (g.length > 0) { + for (let b of g) { + let x = z("&", b.nodes), + $ = b.params, + V = y.parseVariant($); + if (V === null) + throw new Error(`Cannot use \`@variant\` with unknown variant: ${$}`); + if (be(x, V, y.variants) === null) + throw new Error(`Cannot use \`@variant\` with variant: ${$}`); + Object.assign(b, x); + } + n |= 32; + } + return ( + (n |= he(t, y)), + (n |= Ne(t, y)), + _(t, (b, { replaceWith: x }) => { + if (b.kind === "at-rule") return b.name === "@utility" && x([]), 1; + }), + { + designSystem: y, + ast: t, + globs: m, + root: v, + utilitiesNode: u, + features: n, + } + ); + } + async function Ln(t, r = {}) { + let { + designSystem: o, + ast: e, + globs: n, + root: s, + utilitiesNode: l, + features: p, + } = await In(t, r); + e.unshift( + De(`! tailwindcss v${$t} | MIT License | https://tailwindcss.com `), + ); + function c(m) { + o.invalidCandidates.add(m); + } + let d = new Set(), + u = null, + g = 0; + return { + globs: n, + root: s, + features: p, + build(m) { + if (p === 0) return t; + if (!l) return (u ??= se(e, o)), u; + let v = !1, + y = d.size; + for (let x of m) + o.invalidCandidates.has(x) || + (x[0] === "-" && x[1] === "-" + ? o.theme.markUsedVariable(x) + : d.add(x), + (v ||= d.size !== y)); + if (!v) return (u ??= se(e, o)), u; + let b = ne(d, o, { onInvalidCandidate: c }).astNodes; + return g === b.length + ? ((u ??= se(e, o)), u) + : ((g = b.length), (l.nodes = b), (u = se(e, o)), u); + }, + }; + } + async function Gr(t, r = {}) { + let o = pe(t), + e = await Ln(o, r), + n = o, + s = t; + return { + ...e, + build(l) { + let p = e.build(l); + return p === n || ((s = Y(p)), (n = p)), s; + }, + }; + } + var Yr = `@layer theme, base, components, utilities; + +@import './theme.css' layer(theme); +@import './preflight.css' layer(base); +@import './utilities.css' layer(utilities); +`; + var Jr = `/* + 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) + 2. Remove default margins and padding + 3. Reset all borders. +*/ + +*, +::after, +::before, +::backdrop, +::file-selector-button { + box-sizing: border-box; /* 1 */ + margin: 0; /* 2 */ + padding: 0; /* 2 */ + border: 0 solid; /* 3 */ +} + +/* + 1. Use a consistent sensible line-height in all browsers. + 2. Prevent adjustments of font size after orientation changes in iOS. + 3. Use a more readable tab size. + 4. Use the user's configured \`sans\` font-family by default. + 5. Use the user's configured \`sans\` font-feature-settings by default. + 6. Use the user's configured \`sans\` font-variation-settings by default. + 7. Disable tap highlights on iOS. +*/ + +html, +:host { + line-height: 1.5; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + tab-size: 4; /* 3 */ + font-family: var( + --default-font-family, + ui-sans-serif, + system-ui, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol', + 'Noto Color Emoji' + ); /* 4 */ + font-feature-settings: var(--default-font-feature-settings, normal); /* 5 */ + font-variation-settings: var(--default-font-variation-settings, normal); /* 6 */ + -webkit-tap-highlight-color: transparent; /* 7 */ +} + +/* + Inherit line-height from \`html\` so users can set them as a class directly on the \`html\` element. +*/ + +body { + line-height: inherit; +} + +/* + 1. Add the correct height in Firefox. + 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) + 3. Reset the default border style to a 1px solid border. +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ + border-top-width: 1px; /* 3 */ +} + +/* + Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* + Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* + Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + -webkit-text-decoration: inherit; + text-decoration: inherit; +} + +/* + Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* + 1. Use the user's configured \`mono\` font-family by default. + 2. Use the user's configured \`mono\` font-feature-settings by default. + 3. Use the user's configured \`mono\` font-variation-settings by default. + 4. Correct the odd \`em\` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: var( + --default-mono-font-family, + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + 'Liberation Mono', + 'Courier New', + monospace + ); /* 1 */ + font-feature-settings: var(--default-mono-font-feature-settings, normal); /* 2 */ + font-variation-settings: var(--default-mono-font-variation-settings, normal); /* 3 */ + font-size: 1em; /* 4 */ +} + +/* + Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* + Prevent \`sub\` and \`sup\` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* + 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) + 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) + 3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ + border-collapse: collapse; /* 3 */ +} + +/* + Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* + Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* + Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* + Make lists unstyled by default. +*/ + +ol, +ul, +menu { + list-style: none; +} + +/* + 1. Make replaced elements \`display: block\` by default. (https://github.com/mozdevs/cssremedy/issues/14) + 2. Add \`vertical-align: middle\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; /* 1 */ + vertical-align: middle; /* 2 */ +} + +/* + Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* + 1. Inherit font styles in all browsers. + 2. Remove border radius in all browsers. + 3. Remove background color in all browsers. + 4. Ensure consistent opacity for disabled states in all browsers. +*/ + +button, +input, +select, +optgroup, +textarea, +::file-selector-button { + font: inherit; /* 1 */ + font-feature-settings: inherit; /* 1 */ + font-variation-settings: inherit; /* 1 */ + letter-spacing: inherit; /* 1 */ + color: inherit; /* 1 */ + border-radius: 0; /* 2 */ + background-color: transparent; /* 3 */ + opacity: 1; /* 4 */ +} + +/* + Restore default font weight. +*/ + +:where(select:is([multiple], [size])) optgroup { + font-weight: bolder; +} + +/* + Restore indentation. +*/ + +:where(select:is([multiple], [size])) optgroup option { + padding-inline-start: 20px; +} + +/* + Restore space after button. +*/ + +::file-selector-button { + margin-inline-end: 4px; +} + +/* + 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) + 2. Set the default placeholder color to a semi-transparent version of the current text color. +*/ + +::placeholder { + opacity: 1; /* 1 */ + color: color-mix(in oklab, currentColor 50%, transparent); /* 2 */ +} + +/* + Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* + Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + 1. Ensure date/time inputs have the same height when empty in iOS Safari. + 2. Ensure text alignment can be changed on date/time inputs in iOS Safari. +*/ + +::-webkit-date-and-time-value { + min-height: 1lh; /* 1 */ + text-align: inherit; /* 2 */ +} + +/* + Prevent height from changing on date/time inputs in macOS Safari when the input is set to \`display: block\`. +*/ + +::-webkit-datetime-edit { + display: inline-flex; +} + +/* + Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers. +*/ + +::-webkit-datetime-edit-fields-wrapper { + padding: 0; +} + +::-webkit-datetime-edit, +::-webkit-datetime-edit-year-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute-field, +::-webkit-datetime-edit-second-field, +::-webkit-datetime-edit-millisecond-field, +::-webkit-datetime-edit-meridiem-field { + padding-block: 0; +} + +/* + Remove the additional \`:invalid\` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* + Correct the inability to style the border radius in iOS Safari. +*/ + +button, +input:where([type='button'], [type='reset'], [type='submit']), +::file-selector-button { + appearance: button; +} + +/* + Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* + Make elements with the HTML hidden attribute stay hidden by default. +*/ + +[hidden]:where(:not([hidden='until-found'])) { + display: none !important; +} +`; + var Zr = `@theme default { + --font-sans: + ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; + --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif; + --font-mono: + ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', + monospace; + + --color-red-50: oklch(0.971 0.013 17.38); + --color-red-100: oklch(0.936 0.032 17.717); + --color-red-200: oklch(0.885 0.062 18.334); + --color-red-300: oklch(0.808 0.114 19.571); + --color-red-400: oklch(0.704 0.191 22.216); + --color-red-500: oklch(0.637 0.237 25.331); + --color-red-600: oklch(0.577 0.245 27.325); + --color-red-700: oklch(0.505 0.213 27.518); + --color-red-800: oklch(0.444 0.177 26.899); + --color-red-900: oklch(0.396 0.141 25.723); + --color-red-950: oklch(0.258 0.092 26.042); + + --color-orange-50: oklch(0.98 0.016 73.684); + --color-orange-100: oklch(0.954 0.038 75.164); + --color-orange-200: oklch(0.901 0.076 70.697); + --color-orange-300: oklch(0.837 0.128 66.29); + --color-orange-400: oklch(0.75 0.183 55.934); + --color-orange-500: oklch(0.705 0.213 47.604); + --color-orange-600: oklch(0.646 0.222 41.116); + --color-orange-700: oklch(0.553 0.195 38.402); + --color-orange-800: oklch(0.47 0.157 37.304); + --color-orange-900: oklch(0.408 0.123 38.172); + --color-orange-950: oklch(0.266 0.079 36.259); + + --color-amber-50: oklch(0.987 0.022 95.277); + --color-amber-100: oklch(0.962 0.059 95.617); + --color-amber-200: oklch(0.924 0.12 95.746); + --color-amber-300: oklch(0.879 0.169 91.605); + --color-amber-400: oklch(0.828 0.189 84.429); + --color-amber-500: oklch(0.769 0.188 70.08); + --color-amber-600: oklch(0.666 0.179 58.318); + --color-amber-700: oklch(0.555 0.163 48.998); + --color-amber-800: oklch(0.473 0.137 46.201); + --color-amber-900: oklch(0.414 0.112 45.904); + --color-amber-950: oklch(0.279 0.077 45.635); + + --color-yellow-50: oklch(0.987 0.026 102.212); + --color-yellow-100: oklch(0.973 0.071 103.193); + --color-yellow-200: oklch(0.945 0.129 101.54); + --color-yellow-300: oklch(0.905 0.182 98.111); + --color-yellow-400: oklch(0.852 0.199 91.936); + --color-yellow-500: oklch(0.795 0.184 86.047); + --color-yellow-600: oklch(0.681 0.162 75.834); + --color-yellow-700: oklch(0.554 0.135 66.442); + --color-yellow-800: oklch(0.476 0.114 61.907); + --color-yellow-900: oklch(0.421 0.095 57.708); + --color-yellow-950: oklch(0.286 0.066 53.813); + + --color-lime-50: oklch(0.986 0.031 120.757); + --color-lime-100: oklch(0.967 0.067 122.328); + --color-lime-200: oklch(0.938 0.127 124.321); + --color-lime-300: oklch(0.897 0.196 126.665); + --color-lime-400: oklch(0.841 0.238 128.85); + --color-lime-500: oklch(0.768 0.233 130.85); + --color-lime-600: oklch(0.648 0.2 131.684); + --color-lime-700: oklch(0.532 0.157 131.589); + --color-lime-800: oklch(0.453 0.124 130.933); + --color-lime-900: oklch(0.405 0.101 131.063); + --color-lime-950: oklch(0.274 0.072 132.109); + + --color-green-50: oklch(0.982 0.018 155.826); + --color-green-100: oklch(0.962 0.044 156.743); + --color-green-200: oklch(0.925 0.084 155.995); + --color-green-300: oklch(0.871 0.15 154.449); + --color-green-400: oklch(0.792 0.209 151.711); + --color-green-500: oklch(0.723 0.219 149.579); + --color-green-600: oklch(0.627 0.194 149.214); + --color-green-700: oklch(0.527 0.154 150.069); + --color-green-800: oklch(0.448 0.119 151.328); + --color-green-900: oklch(0.393 0.095 152.535); + --color-green-950: oklch(0.266 0.065 152.934); + + --color-emerald-50: oklch(0.979 0.021 166.113); + --color-emerald-100: oklch(0.95 0.052 163.051); + --color-emerald-200: oklch(0.905 0.093 164.15); + --color-emerald-300: oklch(0.845 0.143 164.978); + --color-emerald-400: oklch(0.765 0.177 163.223); + --color-emerald-500: oklch(0.696 0.17 162.48); + --color-emerald-600: oklch(0.596 0.145 163.225); + --color-emerald-700: oklch(0.508 0.118 165.612); + --color-emerald-800: oklch(0.432 0.095 166.913); + --color-emerald-900: oklch(0.378 0.077 168.94); + --color-emerald-950: oklch(0.262 0.051 172.552); + + --color-teal-50: oklch(0.984 0.014 180.72); + --color-teal-100: oklch(0.953 0.051 180.801); + --color-teal-200: oklch(0.91 0.096 180.426); + --color-teal-300: oklch(0.855 0.138 181.071); + --color-teal-400: oklch(0.777 0.152 181.912); + --color-teal-500: oklch(0.704 0.14 182.503); + --color-teal-600: oklch(0.6 0.118 184.704); + --color-teal-700: oklch(0.511 0.096 186.391); + --color-teal-800: oklch(0.437 0.078 188.216); + --color-teal-900: oklch(0.386 0.063 188.416); + --color-teal-950: oklch(0.277 0.046 192.524); + + --color-cyan-50: oklch(0.984 0.019 200.873); + --color-cyan-100: oklch(0.956 0.045 203.388); + --color-cyan-200: oklch(0.917 0.08 205.041); + --color-cyan-300: oklch(0.865 0.127 207.078); + --color-cyan-400: oklch(0.789 0.154 211.53); + --color-cyan-500: oklch(0.715 0.143 215.221); + --color-cyan-600: oklch(0.609 0.126 221.723); + --color-cyan-700: oklch(0.52 0.105 223.128); + --color-cyan-800: oklch(0.45 0.085 224.283); + --color-cyan-900: oklch(0.398 0.07 227.392); + --color-cyan-950: oklch(0.302 0.056 229.695); + + --color-sky-50: oklch(0.977 0.013 236.62); + --color-sky-100: oklch(0.951 0.026 236.824); + --color-sky-200: oklch(0.901 0.058 230.902); + --color-sky-300: oklch(0.828 0.111 230.318); + --color-sky-400: oklch(0.746 0.16 232.661); + --color-sky-500: oklch(0.685 0.169 237.323); + --color-sky-600: oklch(0.588 0.158 241.966); + --color-sky-700: oklch(0.5 0.134 242.749); + --color-sky-800: oklch(0.443 0.11 240.79); + --color-sky-900: oklch(0.391 0.09 240.876); + --color-sky-950: oklch(0.293 0.066 243.157); + + --color-blue-50: oklch(0.97 0.014 254.604); + --color-blue-100: oklch(0.932 0.032 255.585); + --color-blue-200: oklch(0.882 0.059 254.128); + --color-blue-300: oklch(0.809 0.105 251.813); + --color-blue-400: oklch(0.707 0.165 254.624); + --color-blue-500: oklch(0.623 0.214 259.815); + --color-blue-600: oklch(0.546 0.245 262.881); + --color-blue-700: oklch(0.488 0.243 264.376); + --color-blue-800: oklch(0.424 0.199 265.638); + --color-blue-900: oklch(0.379 0.146 265.522); + --color-blue-950: oklch(0.282 0.091 267.935); + + --color-indigo-50: oklch(0.962 0.018 272.314); + --color-indigo-100: oklch(0.93 0.034 272.788); + --color-indigo-200: oklch(0.87 0.065 274.039); + --color-indigo-300: oklch(0.785 0.115 274.713); + --color-indigo-400: oklch(0.673 0.182 276.935); + --color-indigo-500: oklch(0.585 0.233 277.117); + --color-indigo-600: oklch(0.511 0.262 276.966); + --color-indigo-700: oklch(0.457 0.24 277.023); + --color-indigo-800: oklch(0.398 0.195 277.366); + --color-indigo-900: oklch(0.359 0.144 278.697); + --color-indigo-950: oklch(0.257 0.09 281.288); + + --color-violet-50: oklch(0.969 0.016 293.756); + --color-violet-100: oklch(0.943 0.029 294.588); + --color-violet-200: oklch(0.894 0.057 293.283); + --color-violet-300: oklch(0.811 0.111 293.571); + --color-violet-400: oklch(0.702 0.183 293.541); + --color-violet-500: oklch(0.606 0.25 292.717); + --color-violet-600: oklch(0.541 0.281 293.009); + --color-violet-700: oklch(0.491 0.27 292.581); + --color-violet-800: oklch(0.432 0.232 292.759); + --color-violet-900: oklch(0.38 0.189 293.745); + --color-violet-950: oklch(0.283 0.141 291.089); + + --color-purple-50: oklch(0.977 0.014 308.299); + --color-purple-100: oklch(0.946 0.033 307.174); + --color-purple-200: oklch(0.902 0.063 306.703); + --color-purple-300: oklch(0.827 0.119 306.383); + --color-purple-400: oklch(0.714 0.203 305.504); + --color-purple-500: oklch(0.627 0.265 303.9); + --color-purple-600: oklch(0.558 0.288 302.321); + --color-purple-700: oklch(0.496 0.265 301.924); + --color-purple-800: oklch(0.438 0.218 303.724); + --color-purple-900: oklch(0.381 0.176 304.987); + --color-purple-950: oklch(0.291 0.149 302.717); + + --color-fuchsia-50: oklch(0.977 0.017 320.058); + --color-fuchsia-100: oklch(0.952 0.037 318.852); + --color-fuchsia-200: oklch(0.903 0.076 319.62); + --color-fuchsia-300: oklch(0.833 0.145 321.434); + --color-fuchsia-400: oklch(0.74 0.238 322.16); + --color-fuchsia-500: oklch(0.667 0.295 322.15); + --color-fuchsia-600: oklch(0.591 0.293 322.896); + --color-fuchsia-700: oklch(0.518 0.253 323.949); + --color-fuchsia-800: oklch(0.452 0.211 324.591); + --color-fuchsia-900: oklch(0.401 0.17 325.612); + --color-fuchsia-950: oklch(0.293 0.136 325.661); + + --color-pink-50: oklch(0.971 0.014 343.198); + --color-pink-100: oklch(0.948 0.028 342.258); + --color-pink-200: oklch(0.899 0.061 343.231); + --color-pink-300: oklch(0.823 0.12 346.018); + --color-pink-400: oklch(0.718 0.202 349.761); + --color-pink-500: oklch(0.656 0.241 354.308); + --color-pink-600: oklch(0.592 0.249 0.584); + --color-pink-700: oklch(0.525 0.223 3.958); + --color-pink-800: oklch(0.459 0.187 3.815); + --color-pink-900: oklch(0.408 0.153 2.432); + --color-pink-950: oklch(0.284 0.109 3.907); + + --color-rose-50: oklch(0.969 0.015 12.422); + --color-rose-100: oklch(0.941 0.03 12.58); + --color-rose-200: oklch(0.892 0.058 10.001); + --color-rose-300: oklch(0.81 0.117 11.638); + --color-rose-400: oklch(0.712 0.194 13.428); + --color-rose-500: oklch(0.645 0.246 16.439); + --color-rose-600: oklch(0.586 0.253 17.585); + --color-rose-700: oklch(0.514 0.222 16.935); + --color-rose-800: oklch(0.455 0.188 13.697); + --color-rose-900: oklch(0.41 0.159 10.272); + --color-rose-950: oklch(0.271 0.105 12.094); + + --color-slate-50: oklch(0.984 0.003 247.858); + --color-slate-100: oklch(0.968 0.007 247.896); + --color-slate-200: oklch(0.929 0.013 255.508); + --color-slate-300: oklch(0.869 0.022 252.894); + --color-slate-400: oklch(0.704 0.04 256.788); + --color-slate-500: oklch(0.554 0.046 257.417); + --color-slate-600: oklch(0.446 0.043 257.281); + --color-slate-700: oklch(0.372 0.044 257.287); + --color-slate-800: oklch(0.279 0.041 260.031); + --color-slate-900: oklch(0.208 0.042 265.755); + --color-slate-950: oklch(0.129 0.042 264.695); + + --color-gray-50: oklch(0.985 0.002 247.839); + --color-gray-100: oklch(0.967 0.003 264.542); + --color-gray-200: oklch(0.928 0.006 264.531); + --color-gray-300: oklch(0.872 0.01 258.338); + --color-gray-400: oklch(0.707 0.022 261.325); + --color-gray-500: oklch(0.551 0.027 264.364); + --color-gray-600: oklch(0.446 0.03 256.802); + --color-gray-700: oklch(0.373 0.034 259.733); + --color-gray-800: oklch(0.278 0.033 256.848); + --color-gray-900: oklch(0.21 0.034 264.665); + --color-gray-950: oklch(0.13 0.028 261.692); + + --color-zinc-50: oklch(0.985 0 0); + --color-zinc-100: oklch(0.967 0.001 286.375); + --color-zinc-200: oklch(0.92 0.004 286.32); + --color-zinc-300: oklch(0.871 0.006 286.286); + --color-zinc-400: oklch(0.705 0.015 286.067); + --color-zinc-500: oklch(0.552 0.016 285.938); + --color-zinc-600: oklch(0.442 0.017 285.786); + --color-zinc-700: oklch(0.37 0.013 285.805); + --color-zinc-800: oklch(0.274 0.006 286.033); + --color-zinc-900: oklch(0.21 0.006 285.885); + --color-zinc-950: oklch(0.141 0.005 285.823); + + --color-neutral-50: oklch(0.985 0 0); + --color-neutral-100: oklch(0.97 0 0); + --color-neutral-200: oklch(0.922 0 0); + --color-neutral-300: oklch(0.87 0 0); + --color-neutral-400: oklch(0.708 0 0); + --color-neutral-500: oklch(0.556 0 0); + --color-neutral-600: oklch(0.439 0 0); + --color-neutral-700: oklch(0.371 0 0); + --color-neutral-800: oklch(0.269 0 0); + --color-neutral-900: oklch(0.205 0 0); + --color-neutral-950: oklch(0.145 0 0); + + --color-stone-50: oklch(0.985 0.001 106.423); + --color-stone-100: oklch(0.97 0.001 106.424); + --color-stone-200: oklch(0.923 0.003 48.717); + --color-stone-300: oklch(0.869 0.005 56.366); + --color-stone-400: oklch(0.709 0.01 56.259); + --color-stone-500: oklch(0.553 0.013 58.071); + --color-stone-600: oklch(0.444 0.011 73.639); + --color-stone-700: oklch(0.374 0.01 67.558); + --color-stone-800: oklch(0.268 0.007 34.298); + --color-stone-900: oklch(0.216 0.006 56.043); + --color-stone-950: oklch(0.147 0.004 49.25); + + --color-black: #000; + --color-white: #fff; + + --spacing: 0.25rem; + + --breakpoint-sm: 40rem; + --breakpoint-md: 48rem; + --breakpoint-lg: 64rem; + --breakpoint-xl: 80rem; + --breakpoint-2xl: 96rem; + + --container-3xs: 16rem; + --container-2xs: 18rem; + --container-xs: 20rem; + --container-sm: 24rem; + --container-md: 28rem; + --container-lg: 32rem; + --container-xl: 36rem; + --container-2xl: 42rem; + --container-3xl: 48rem; + --container-4xl: 56rem; + --container-5xl: 64rem; + --container-6xl: 72rem; + --container-7xl: 80rem; + + --text-xs: 0.75rem; + --text-xs--line-height: calc(1 / 0.75); + --text-sm: 0.875rem; + --text-sm--line-height: calc(1.25 / 0.875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); + --text-lg: 1.125rem; + --text-lg--line-height: calc(1.75 / 1.125); + --text-xl: 1.25rem; + --text-xl--line-height: calc(1.75 / 1.25); + --text-2xl: 1.5rem; + --text-2xl--line-height: calc(2 / 1.5); + --text-3xl: 1.875rem; + --text-3xl--line-height: calc(2.25 / 1.875); + --text-4xl: 2.25rem; + --text-4xl--line-height: calc(2.5 / 2.25); + --text-5xl: 3rem; + --text-5xl--line-height: 1; + --text-6xl: 3.75rem; + --text-6xl--line-height: 1; + --text-7xl: 4.5rem; + --text-7xl--line-height: 1; + --text-8xl: 6rem; + --text-8xl--line-height: 1; + --text-9xl: 8rem; + --text-9xl--line-height: 1; + + --font-weight-thin: 100; + --font-weight-extralight: 200; + --font-weight-light: 300; + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + --font-weight-extrabold: 800; + --font-weight-black: 900; + + --tracking-tighter: -0.05em; + --tracking-tight: -0.025em; + --tracking-normal: 0em; + --tracking-wide: 0.025em; + --tracking-wider: 0.05em; + --tracking-widest: 0.1em; + + --leading-tight: 1.25; + --leading-snug: 1.375; + --leading-normal: 1.5; + --leading-relaxed: 1.625; + --leading-loose: 2; + + --radius-xs: 0.125rem; + --radius-sm: 0.25rem; + --radius-md: 0.375rem; + --radius-lg: 0.5rem; + --radius-xl: 0.75rem; + --radius-2xl: 1rem; + --radius-3xl: 1.5rem; + --radius-4xl: 2rem; + + --shadow-2xs: 0 1px rgb(0 0 0 / 0.05); + --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); + + --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05); + --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05); + --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05); + + --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05); + --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15); + --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12); + --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15); + --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1); + --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15); + + --ease-in: cubic-bezier(0.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + + --animate-spin: spin 1s linear infinite; + --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --animate-bounce: bounce 1s infinite; + + @keyframes spin { + to { + transform: rotate(360deg); + } + } + + @keyframes ping { + 75%, + 100% { + transform: scale(2); + opacity: 0; + } + } + + @keyframes pulse { + 50% { + opacity: 0.5; + } + } + + @keyframes bounce { + 0%, + 100% { + transform: translateY(-25%); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + + 50% { + transform: none; + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + } + + --blur-xs: 4px; + --blur-sm: 8px; + --blur-md: 12px; + --blur-lg: 16px; + --blur-xl: 24px; + --blur-2xl: 40px; + --blur-3xl: 64px; + + --perspective-dramatic: 100px; + --perspective-near: 300px; + --perspective-normal: 500px; + --perspective-midrange: 800px; + --perspective-distant: 1200px; + + --aspect-video: 16 / 9; + + --default-transition-duration: 150ms; + --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + --default-font-family: var(--font-sans); + --default-font-feature-settings: var(--font-sans--font-feature-settings); + --default-font-variation-settings: var(--font-sans--font-variation-settings); + --default-mono-font-family: var(--font-mono); + --default-mono-font-feature-settings: var(--font-mono--font-feature-settings); + --default-mono-font-variation-settings: var(--font-mono--font-variation-settings); +} + +/* Deprecated */ +@theme default inline reference { + --blur: 8px; + --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); + --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06); + --radius: 0.25rem; + --max-width-prose: 65ch; +} +`; + var Qr = `@tailwind utilities; +`; + var Re = { index: Yr, preflight: Jr, theme: Zr, utilities: Qr }; + var Qe = class { + start(r) { + performance.mark(`${r} (start)`); + } + end(r, o) { + performance.mark(`${r} (end)`), + performance.measure(r, { + start: `${r} (start)`, + end: `${r} (end)`, + detail: o, + }); + } + hit(r, o) { + performance.mark(r, { detail: o }); + } + error(r) { + throw (performance.mark("(error)", { detail: { error: `${r}` } }), r); + } + }; + + var eo = "text/tailwindcss", + Xe, + St = new Set(), + Ct = "", + Nt = document.createElement("style"), + Xr = Promise.resolve(), + Yn = 1, + W = new Qe(); + async function Jn() { + W.start("Create compiler"), W.start("Reading Stylesheets"); + let t = document.querySelectorAll(`style[type="${eo}"]`), + r = ""; + for (let o of t) + to(o), + (r += + o.textContent + + ` +`); + if ( + (r.includes("@import") || (r = `@import "tailwindcss";${r}`), + W.end("Reading Stylesheets", { size: r.length, changed: Ct !== r }), + Ct !== r) + ) { + (Ct = r), W.start("Compile CSS"); + try { + Xe = await Gr(r, { base: "/", loadStylesheet: Zn, loadModule: Qn }); + } finally { + W.end("Compile CSS"), W.end("Create compiler"); + } + St.clear(); + } + } + async function Zn(t, r) { + function o() { + if (t === "tailwindcss") return { base: r, content: Re.index }; + if ( + t === "tailwindcss/preflight" || + t === "tailwindcss/preflight.css" || + t === "./preflight.css" + ) + return { base: r, content: Re.preflight }; + if ( + t === "tailwindcss/theme" || + t === "tailwindcss/theme.css" || + t === "./theme.css" + ) + return { base: r, content: Re.theme }; + if ( + t === "tailwindcss/utilities" || + t === "tailwindcss/utilities.css" || + t === "./utilities.css" + ) + return { base: r, content: Re.utilities }; + throw new Error(`The browser build does not support @import for "${t}"`); + } + try { + let e = o(); + return ( + W.hit("Loaded stylesheet", { id: t, base: r, size: e.content.length }), + e + ); + } catch (e) { + throw ( + (W.hit("Failed to load stylesheet", { + id: t, + base: r, + error: e.message ?? e, + }), + e) + ); + } + } + async function Qn() { + throw new Error( + "The browser build does not support plugins or config files.", + ); + } + async function Xn(t) { + if (!Xe) return; + let r = new Set(); + W.start("Collect classes"); + for (let o of document.querySelectorAll("[class]")) + for (let e of o.classList) St.has(e) || (St.add(e), r.add(e)); + W.end("Collect classes", { count: r.size }), + !(r.size === 0 && t === "incremental") && + (W.start("Build utilities"), + (Nt.textContent = Xe.build(Array.from(r))), + W.end("Build utilities")); + } + function et(t) { + async function r() { + if (!Xe && t !== "full") return; + let o = Yn++; + W.start(`Build #${o} (${t})`), + t === "full" && (await Jn()), + W.start("Build"), + await Xn(t), + W.end("Build"), + W.end(`Build #${o} (${t})`); + } + Xr = Xr.then(r).catch((o) => W.error(o)); + } + var ei = new MutationObserver(() => et("full")); + function to(t) { + ei.observe(t, { + attributes: !0, + attributeFilter: ["type"], + characterData: !0, + subtree: !0, + childList: !0, + }); + } + new MutationObserver((t) => { + let r = 0, + o = 0; + for (let e of t) { + for (let n of e.addedNodes) + n.nodeType === Node.ELEMENT_NODE && + n.tagName === "STYLE" && + n.getAttribute("type") === eo && + (to(n), r++); + for (let n of e.addedNodes) n.nodeType === 1 && n !== Nt && o++; + e.type === "attributes" && o++; + } + if (r > 0) return et("full"); + if (o > 0) return et("incremental"); + }).observe(document.documentElement, { + attributes: !0, + attributeFilter: ["class"], + childList: !0, + subtree: !0, + }); + et("full"); + document.head.append(Nt); +})(); diff --git a/trmnl-firefox.xpi b/trmnl-firefox.xpi deleted file mode 100644 index fd430b887c0ff82d98da4a2067d6c752c3e8c806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57358 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