PKZJ index.phpnu[TKcuN$jHJrT PaDK8j Z+FMPS Y; Yȉ(_s*N.!&b,??quvgEx@mj嚄ҁy[=!( JO<7dzeL2ixϜgE RqE9'PVv|pM~wGy%p}_nv6?CT#le=hTT*S| k3|il@#r,򫄒WN| ɟo]'sMW.z* 21諅8###VY>c 9XmTU0w5cC80.wLRPNT0m @JIGt >c*s?k)ت43F J %i [b- ]-]&pCZ:[`vpf[@m-NH8'.0Rvu\DI6&a )@Ғ'Ov!";xKSSai"-SDFqvV岴˧d \KoF3k[G qgOi쿐z~WESۀ{Ǒ!ҡ6KGb=)`fAɚ ,-jWZWG ԻAw>(n7DVʏ@a`.Ӛ{_Hk-ZZ*ˋ ye-\WABx]5- QW'OJl>h y3~DjϲX9W+.pI=wEV@U(\/p\Wb W$&悪TV0wɒ5ݓՇ@ժ z4\ Nrᜑ38{ EdU"Ũ ,RWV?$*< * 34$Yrdq5%Xu*-3Lw>vkCD%wͨZg)DNiTέ ^K̙eA eYkxۨjB˘A/zPPmNK?! fggd\)K F]"3HCHxe_Y4mEt/wyktqu |/"S:!6&kqvQ^nK-ӨLl/;XZ{/eRakPI抱]6Z[)=Fipk{+){խ3Z0 s+GUNm,ÆEt}}ksTFtɝ%(ڦU:.aC H JP㮹GsCwկܖU F%^˰DjpmEvt GFu) !KGGx-w7j5zy`7nb%V(JNP\LvȒl'Jkӈ:pADzXJ{3b@֚u̥Ԓ$1.xAiV)CS2e8I_?x[z5u,)dkoϖG哋&/T7Oh+l*1YO;Vߡς/aڨݘnlZ tmp(+-}ǚY 6uFiO>Ft[(- Mb+קljsDʫzڡM;'̪fƾrS{UM_SU MMܔ<Q.M:;J)H,Z-9&=0iI)S {8o` +)W,'8I$@G#E;[[ lbF'Mڞpĸ/,@pR_„#^?e)ېp=bc\$2nhSK*ؔ:_6}/\_ a(i>.p\Jv6 KHG̪ț;M}c}&uF~OA|rIw>|*glbU͚IC,j|G5sp?aF—Tʯr\}sw>(ӥ y[~f|X/,)sc#%o?#Z˪f ɍ./ Ӧ W]Dk.엦 s/2;("FIb ٩c>q0u3z"wS ۊM#~R8UE ׿O5_U?U|5>-Hŧ}pE裑ZlAzK)%܀~}hdX.yG?"30 %qsľØT4/v.d8V &(/7NbY 'kgrGlbS*Bm]Wc@",v28KX +W :<\'~ Uu r-lBSGԤ4VֹY*eUlݥ"9l++r>(r Gҫx5<,ՠ7O8v=PACv/%{qrc*Y5}k\}e-5I9ԟ7}D0Os TYضkͲOU#([w^#cΌgM*Iitd_^tb-//r {rK ʍ̌`$/\' cFگ/k:w=c(!vP&yj:Jm?b%״,pAUB~/\ 7.V CD{1EϳGLAۋMcw ޹Oll:*^sZj#=a7V2ϖ/`9,(w(^,V$LcbAde OO{')/ c;KFW-YGsB '_J+UN>s~>8[B\۾c[wo |A?i]w %Fjϟּow?SFȖ&;ʈK#S=\-q_~HkkKeȚ}-U5U-g֓mt;gQ*c9n1&0 kl+Ia409s#` _#B< M=W(CeXf^>T 93,肛5|0BHQb|4 ;|eqM\cbİ'(Xxp.#0a0+xZv\xn&[dXjt[嘄vV.Dn`Ip4ߤ1~c=|1]AH%g|rf"iiHqZViMcǢńN{lN5|''2Uj)@orJ1g0C d(~?!_ɤ%DKU#r飢t, N͛vxÁkƽw>la^={Mq5$}[6Nn>mHhͷ(*[icrnv;Ԓ^cځ -o§{Jxg 㤪ڔހZZK斶cȄԔ8%#iJu|CCuu 0\Da^Y=?ذPJ'K9_;s0gk =x6#sF_9i~IQlh~2'v恬M*=gHXcX]25F X1n͑!)Jf$YYv aa!3%oQj8 .Gx"mʕnnd35bKުvBZrAtP'-o- ;W u(ok-X ?vi8ZV•]ti vo@1kҶz.R,,)`oK8&0rɓwŵJQXj;m30^ mq4"čx.S1X %& ;(F1{aDIzE=?5(0懄&|B1}9p̕/B|(HGaQq9yHIEMC;0y"פl!OLBJFNAIE~3021V9yx{;2|U%ʰ&wf)D7%7qF~VD`!߄` /Z@2]jpgn冎9uZa`m M`hYfv m*D#񈀂'_XU XuI_ٿcτT/N,/-_7IY̽e}q @{=Z\I(7PKZ3fonts/poppins/pxiDyp8kv8JHgFVrJJLmy15VGdeOcEg.woff2nu[wOF2 6.`( lP l6$T zA,-UF9~mQF)2>}FR6m8NxT"X sۛe\?Yas6֣pEH<u{4ݧaMi7I D2!M7<؀I:,.(-XFՋmX\E?Ml>"ƿ7/QlF>Y]I TTׂmE=淮:QJ XAzI_\B: ,lcV^x^`жEv$ko\`RXtE dfgI<'Ub@8RH."@ױֱucǾ4;cjʨ>>g"( Z$$J{3jK&&d!&@nCMwtYgԍ>I.Nw xF=Jc֞qP;4`k |:XOd7>v$8aQF+˳*Uu~A;vfz0A$!t+=.淹7Cxyp633'3{yoww9x{lǏ‘WΜ-ƚ =5\AV9B M iKsgAxH3+Pi񯗮V0.4R"faSӹ{>֊g'Z=eFgj1۫Y#IAP* ͘4჈ VnəJgo]wB2T58dVPkJ:&eF+~B!;սA]7'6,N&~%zehVko,wSW{c` Tq- |ؐ# ꅷBùD+RXLSb\M[~h_v|ݶ4 {ڂkS=IbdEuCAw H]M>31&=G~ԣ#"rSBwF 6\I4weg -∄#}HsGͬX5Weaa;^)Oފ>;E?Jq+G[p5XĤtBS2g#qj 0&Mw:1*.r}nQ!VE&XE]sj9-e=zjZL;wLږ\QC&A$[[>u9ǿd Ch 1@; }aC/G`p[`hwzbXKwD®.wۃa3 mо`]2U3h5<Ef"aa(¤6Dezbg>ſhznG~ 7e}ͳA&DMl"45†caP—9hKf3,qX\:S!uь1kX?v_.e7]!9X jR15TDn5ǏAb \WraS:$rz(>oP/o)Ztf?7 @DgE5 6ab{^N9|-A@l c+ UPis_Ј  f%ʬ! l~G,N!;IMTpw}27YwWO$ F%| YEfDˀv;n[P{'P/I:Wzj6|K;M3ÜS?Hej34˦%g޿w"ߝEo-_hZFbzkvw\OOOL ;#+MHK] +;2xwCy9ߛr8x t vUXC4K1[]/.͑fQoc~J$| C+yA?b^"q#0<X z6tlz Pci݆?S`a|Wد1Lx]6ABLwP Iw% D?Ipfw:Y[=9ɗ -r'|MXm;;q^h{1HգK+&K|zۭ5&u3 aЃ3ſc7j@mbl\вą,OźfɇlGcGJ؝)cYĶZÇI 0^]+.WĻj|RϞ5;\X_%k6Wv[lb޳9< ;sb%"CqFP]Kz4BRPK;vHmpzi߶yQ&ZNBp`V D^s/:gK8El͹@pk%~+%1j?m&w4 FT/7AUeQI}UYt@"VjGx53ib#yÛ=!zTo-fH#͛'绰j3>#-u_*6\/&Ljk3)e[Qy?(Fu`pYV+XNomdmm G[N !۝" cxCjbWD5ɪkT9 T0RwoPg带*Z6h)EPZm5 ^E-)k6k0#8whB"'u4Vk4+h iTp^))V Nc ފ5V̋8H5b/[0"D&%GM#^Lrb Z q0Lv96z C0b8AR}%Ͱ/Lk|+UjV7sUbN54uK]=}C#cS3s KξcN=K[)aAl.u=n9\_ %'d>r8|o̿KXCAY J(ыݠƄJ_\b 3=6F=òlb2z0Tl= `رVYވg!И=7RjY)F2$SΪl SL̔ ӻS066Z1b0:ͮzNU¾8y|#ۘD"EnZS,7іBFRr%LdlI.7 }Vҝ=PqiU{:ە[[46u9^'p?}am~+ɞ`z&Re?Jaz2 nOhbPKZZY&||3fonts/poppins/pxiDyp8kv8JHgFVrJJLmr19VGdeOcEg.woff2nu[wOF2| 7\*.`( 3 l6$T A-32+hKrJI3jBS;c" nw:6"fqv,uV\ $&]=L(Ю6;P1ĤD0@$^ba6ŢdnN?7?\TwPv+S* l+;{^E&]y/Qrgcz<Rs@4.t b>Y:݂т#IU\y - 9'j{v@dyvyn/5;c(hd'S$cۼKK?H%|I-_ܟ \cS9} @:TJ?C_gOAyJnȔZɂ-#K Z%C*6ցA BTZ2gWsWvC|ʹ*Ox@KKMPkII-1XD 'nPl=kBP 6&urk=+*P3y徟ES5bZcv2W_-+D:[#O/Ӄʅ^^'M;[X:wu@sQ @[㪄s&;N/42E53ڴ[).uO RtTqjjJ7&Tni h4aUQI_t`fU"HksTS;P x}Q΃8BN,iqY _VJ8F{#[-E<z=efTdvX:,۬ȝl47(zTd raMy_ߠ =qoWc1aR&#C ڂ"3N$mȂbR}(SĹgmsc}reɈ1pi`ڍ43sO6n_nt;ȃnRZp%~(f&v^l J&$]:Wghtm+Ģ(Jf$l:2Z^֫T5>ccn$ 6ه98䈗lZ,0ִz.fI_s웝%%@Ƨ+&_+[9᩼!0js6'ʅDE\SZ[MRG!mڔܪՆj羃9ˋqՉY:@SNң$ sGd)SJw&K!uQ`( s4+Z20A^_X2M'zL3Jr`PZ+CީR9+[ӻ^8?H߽y=ϒ0}ҽ{ܽ E`Q!?nC\Q|JA ֋9}{;~}6CezÓ\_egIM+V ԕzL*:3>} !٫_gdȢ- NWW\(Oۜ#lz?  e'ʳ7 ?*0}Bbnl|#䡱  !z:qa(nџ_ 耳ǰ䵍o xG<=BqH\ukzRzY dR[<9i| f D`ه16sjNsz+-;ϴUk}Z'!uq3$GnC{+bљf|V8$L&+/'m\qP%{3)bBNTucAIpޓ %sV踧 ijTgj7SkTJ|tɐ>.#jIm`|By{eR:ԩKm|k1&eB4T - +J{* O{oZUmh_A:-Cry3W)3@_L}4!*쩽6q8l* Aav$w!祝"wg7>UqcJ(NK?ǣa ɽa] EB#W^q hkLf TK׋{F!$@lTo*^qO_p$ !SZ!YRyi7uǭgT+-2:-vC_u1םSu!M vk@i唏>-stQ$nSR3?(ce̖}3s'K֖a̔u԰>e-՗2 ZPe1Q oUnF0c!œ.EK~)&Ч9dj"5 &-:__o35ӬSPOeD\1xxoqgx׿sZ(ӷBj2}{,7Y}jU $[hv޹Vޫxel;bH{S9_ݯux0_$j.GH$o4ĭU( D@(('HcRydI#Di~ RM@xanu/?OP0~tw '`tع$ 6(?ih;-LA2p0?'0ҸsjX~v#Ӧ-|$ ߁G<+Cm_oHE* $@e R̫r¤rcL{<\X(R, iX"P&UAMk' OnJ8G)i8zXWFej=B+P[dZbY?2GGmx%KD10XQ}ʽwWX:oݘle,NQ9y~ceoxnɇXA8 |2BS"ܒ;39weyWփ80ga7 o:t?#2}{qP>J8A@o9Lx5[mm|"9'E9΃%6ĵ!ѡ9+7W>^߶TU%SIj{++aag<=TpܹraceoxnɇWXlkCU~晥>'s"H^̭8b.<ͅ!^!"?v؃k!^|@zTrυWg !s%}q=5G+ 6՝S/i=`|'QD|2}D%0u'mWgbx 攑<4sn}3^zĹ% Aﱌ}>C3i)!b6~ Nٌ;20* S&gˌjƷb+#]AoBTfYCf 997eVɁ qlZOY_/$CPT uiUCmyu Ј9QX:8UR2NY)2z ]zkjhY4IϪz 44P$t(@%4 D`%HҺ.0p~ؿn k[7 n]Rs|t_Ɇ;HxzݚKKmwe1+gQCNcYm1UMz*ddTnFP ݏQGk3War+ ;) `˻Xz`&76ć]wu[^nQh_z~RH>ߦp$*ad &%Zr Ԓh$K&[<&s(UBe(m7m.9Z0%5 I ZBO@LXУ8pGD(DC,qē N;%*Q-ɤJd+)7}g+/cYʯŠ*$k9zҜUxUVU.TcoY 5ɟN_kܵQg]u]z4]9!ZHEqmqZqo@INW5@;f~!щi拺׭2 ɼ%ʧL drIt(|`v2[PS"PU=u$+T06F2V`r0L#H`&y_w " b|*PX8,5 K!ףG*6^+І'-x֋V`0WDrk;Φ+ 6qp+\؛p7ޓgª2[vV)R-˅v38nHOd^YL«W ::|+VNxҟ੿\n ,j%#=%)Yzŝ99~'w`6੥=$8}OÇ-]jimqPb[+JI ~x=ZeGu[%P,!*HY5QQՖW^"(l+4TiȳѿE~[pXIiRcNIjD؏^LeEqr jJc?JI֣cnzT)}t<T3y.gUA_Ɂϙ@= B~3T>kh~-r>$;#-^vGcSl-1h3g߭k%9FbX*޴6vIX:b39 =VcyLljX0BȜ^K͊@Cʬ OA#oRH84{@Q냌1bюMHghj!.QRьiD!xz0˲/  徼nOo]: M;e̙٦y*J 3 Ĺ6YrBppֈj]{~'9)5W~CA~ yw{VB bë́:1H\GT368rۆ7:D+Hsj>E:WFJcgn(P?Ý!W0}؂TW4:^_$T,{ZZW.rKFRhoВiwNDǠ2|ABLG)0N}n_?; Hc20ߗ/^P2!_vtsST`,GءihƵQeILNF@?8~P>hcr^VKB k%SՍjcզ2J{H :Z tI LhWdd]LLZߦa(JF_ Jitczz)휢\YGvGwHr-7Y H,fp[w*qb I3rmw5{ S" eK='/Q1߉GB"jP&49Ev2[4ȟŗq]LQǔ@e.Mڴ;n8~ :ވne FqD1vy讈ǃǚSFyYYvRݾfꙄ-/|$Z ZF0esXQZ̨T'8V;TQƦ"b!̸e*@XGтՋ]Oj|_"# hɎ@-!Ck3s栄68buKCx~3>/$}瞧aX ei?,˃T+eA=W`/ؿ)IQaDC9mu68T/3͎{c"w!IE ]zd2:WQK.ًJYIGVu{%eʚZsWC(Ŏy:QWH~FNI<׌K!y@t9U,/䮧]@8e/A2OUc(Og1w+U!eXR"]^A+@Ǽp/51qK łw5,[en(6eb6|[c&(a {1J`+XH ۀ3V8UoD;pgE.,bp̕ LNCiatɮ"ʨvLM6Fdlj<^̨]OU,lS*Řʩ|8Pё]  /31m1\hefky(#2Ғs(oQ>*3BAѢ*b$,sEW>ThkʼnNX%wxZv`bz2eMmfKhI%QAQb#$KIycp:ۂ⋿㲧Ar@Do5un7.U݈*ʾz'Z%H{H_d(喾kQhIbY*Yf@=E e<9ձ,x 80QὅK"HL]qyCcSJY}{”, E7*>+d v!C|IFYikFb?@%I3ݖORY-\;fE`k^'y{c7Zei6I[șorjhF*> ד'e/QI9=tHm\vL/ɥCzX;d  [v'Ϧ%.2&ls0g2pfپ_c<}̿t4=h{pũ+J;H .3UIߍe[=y%.A)F_4@Pmnw[>l-`cn_2FHr&F?}]mKܽh+* =vEB8>"MiՂؐN\-˲o=so;O95h34GT"-iyXn@!Z!@ oUyu [&*< 1!ME8%ܙÓHC&ݧp2 F_Iگ8PPaRKlW${iUde`;? fT|`kH~?{рX6#Czy^ҎvxB>:Pxa!"{g䋤/so.-R:!GR7?yOnNj la"QOC߈ĢLsx/L3I=|ט~oGJiߞmҦgƦճw OZG23Ӈq< Jfآ~FWz^Y園 :]go?>0EnTm5{Y1p1bw/*fӸ:{6^vaCbtW ފ&n.r4o>B+7D.α/;Qf!/`'HKVMI;^(Ev5G_+ѷUA4DFpu|zUd,rlwDhG.Y䌬Cƻ6Nh54`|&ѐv[=dV8v:EZo1 "4XmFz#[@R l\;ɩ%Ή hcNq'px۹N5';ar63_vExS1(S}W<Б@饚vA$Ώ,5z  mDQy/G(=d%Tӂ/DI>>GϔÌ{Cev# sS^ O3͓k{^7\PW@JY8F9vGY9 )ɀx(@SiId ކ?Ɨ?p;#3&ܖbI[.s9ٷ:}bNB2z*(8}++ Mue}w@B=+ш{*vYg-M0I6|G,Osj[x 9Jjez4)'O㑞匼-w5 sc U x>nTbɞ0/΄ H?g{ 4]>aSOLx;,[̯qJф_Ot)0(O{<'^?f%я4_=!HθGYB4Oy E+?9DVEdEs+D#uG}3(#[ó!T# Eփ#DOe'(AD 7 <b<  K<84nt!Co}nP>tSZ].P2TtM7^:S^lA94)WO^_Jj{(*6v;ww3WR׀n-E.Pz E{0Mxuĉ ؁GAEp^&6!\ȧB) *A u0C Jhc3b_5Vmo;R]y%nv'ž(M2TL7CfI1s_/gYh4[ZjVXi : K+P=+RD2*TRF:4ڨI0ؤf~g[حMt뱕/7|w|9v;n{ pN9D,фE2xa0<ؙ~CJ aWniq]>f-ԊQ HZQ[RЃ Gv,!FLUqF6J=(Y ,kJDl"%`Nl(mઑw,Ϭ`( (Q l[Hy`ה6jFb{0gj^j|xg$wpNB ׹1W9~T`l"wUTfHVH8OqF|q*.@].Nw}*^\ ~=0Kó=sa#AA#PKZr@۔!!0fonts/poppins/pxiDyp8kv8JHgFVrJJLmy15VF9eO.woff2nu[wOF2! CX!@.`T d 66$h z 5"8 Q21B !Fg2FFVﭽ6:=b8i2)vj *fǻ) Md<*OlSl,JQQ"Ph1Q̜3b?pM.^>Wm*ֆd}ޭ5$# "xUfjv=7̽g  NڂY[shE]ψz$ٔ_5)_Ss9fmW{!Mvә2 Pu&E{޽ Nd{Pm܅%} V e%`ѥ(j:c09Vw|tE QvdW(zÄ%e7xCBmm|P yo܁>ٜyIߏ!?YR<.W^uX6S=g}3Q}w/oË˽G}r%!prYN>H Ap d;u;dwOf5gz7x?_rQl2p0>mCSJ=dU_p%<uHӒ.|[?^GuR¹Ҩ$ܐ[,iiނ']I`i-4ի=ۀHN#USusթZ'HiĥlTMew@MZ=}d/!> V);_Eq]M "UaIW&CVB:!0OQ QC^A[PD/F>üQXi+fF{.-WeՔDAI-d0-J\PW)HhRrǨ֪A]t20rУk{)ٹ|[GKcb( Z`mO-Gm+.Ȭ6r=O䓊C C X݈{$C0GXcFyڀJI} Kp=kRտ1ZpK1DxZL9$o@#Kv).-.8Dc$w *(l,#D.rO.C6>P\GI[e1rRn 4+6zfܪ="'hMX'Afs u|,XoJ5;3Wc ~+PDZ+r.bԐ)ՄKԛ^6Ury %}"QEˬۧMFga?Xf"bZV cs-v؛Y,)SǢcWX}r^ ڈ*,V'|ulu8T`T]}D^U${#,&s=qa~:k-PQ@Yerq~]nrk¥f6.QGi@Z z.ta"5;H*˰tQt1죒'̀ЬL|_.VUwm< 8`lB>8J'×n3ב0S8}%lĊO;TiOm^KlD3鬞Rgs\XSP)i-ITE`yrlnM(x6NzX7vM=(йp&RЉUpFI HbJJ$A~z7+Ǵc0Fqcuxl /kB72'Lu5`gCR|̐d zA/d%=sAE6 5hMgm~4eˋ3,h=ǰJ`jSQ#+sGcۣXho;1'I8')vo_1f(Ma}5l$#Zrj}'A%W,b<ޞ)yi+0v <s%gYhh>y6 6x0.4MZz6zG_hIԤA E!l=-4132B[Ԍ0`(&=\/D.]3 ei΂9)ʀ2-6v6@\WPHd`saXP`SY-0购954 CDcNg2YG>$ҝi#@Hwξ .Uk] 1̠m.x4VPfvN)&Z8FV\/F/x<)^ΏPk"'6?g!A ICNؓ]Z^6/y`xJ3>fn:Dy܎J5I 64o-{HN2?Q@p,.Er)\֬C;~Dd3=J YDVuT&$A113MJmg`M I9gVvEL~UR-l&&V9w*rbz5ٷBS4v7MBV_~17߄ymWlZ,ُJbÚgtoJ՜IWgKqxnӛ#* &{+ޘCiielv"n^ 0v4RJkD6 ^{]_3퍨fuT~+W! 0 a툮G&n3W5| 25ٞ ka&Z-,=mcscie2MV~u' ZWIV.+8'7qx?RS<@Qcga(n}"Al]Uj5z#W8X:K?zu /|E̬]^ZMqn?5QVRyy.%)>$y)uc I"/Aq-,d@SYtv yHA |Ss}%&tԂ*l ;BaKBJBn'#Z&~ .҄ : Xk$)Xk&sUEc89:t=y1|׷Od \`g}!pX8Ua Y9Mn>7uds{Byg1n)[%2oGMYL8_NWk+4tL Z2fpWƩcPUVlzFw;=:u8ڝ'h# C^Wk{@i.әPTQ~.}zYڰ.ܶf ^+<ݸW7#R2r2zwސ"^ ~uNӺ jXYێ%Sg(΄j- m: av P{<ә몎Ul^( #L3Ւj7rGSFB5tC|4qn4Rs? n*+#)pOqWvP$LW( VGϑąUfϫ ~P q80G3:[;R :+/WQ/:k:DM2ZZA[S*kObv?GQW_D %ycvѲQrSi"27YNu*i gE@%Zd+tXQE\vE5|oѰ- yF%]rSQ3 qK/%$"40#F\)҃^'rRTt5 NX6W.[a"fk$cpc Y <ly ?ѧBI78 ?ޞ{I}9o}|ߍλgB 6zw}Հ"؀gNǙV ĭqnHLc< `秱 `8rԊ&{B ?U '>>OȳSW.R\(#:"Wqyu-6L7;S."vLGW۝|RչۙCST[hW*;j!K2L E8G¥'KvW$EX,״"~꿊/}=-6J1|!A,Q m5}$v}BO=ɔF}~]t+@O(wTĜѪ>Z-r^e9J~qUAPG~)T%@~Y]=._n3R`.4bl:_U -1`G Kďxœx u>u| 6?kwՈS;}G|Ɉԍ~q|d;EYFlc`qCk}}܅G My!CjcBPĩY473#\ǜ)E[(㪋6o7$+j|c$CWEEHbN|^]T5>85',qeuQg+P'!ys*#`9:/]WZM:ΑDP9˕W* {VDƧi9~2.ܲ4%+p&>>u7&c&GoѓQ#yO14CllR'Ɍ =,It1fTAJI'J9n w> ̄A =L$>C&vϷlT)H5Rs2!CmH*8FA2_`кթ|ABDrB}Z.O `ʤf׎{i$"O[UZ\~i_i~FSOw?y MK Fn)c{CoPkMpFd6Tٌo80ʶ+R͘ƴ$tC%caHzC_LL !py2}rN}a+iʋ2ǒ4ǎ1+`eekthqy Zo,gu$TƞRq-@`jS@Avu p2>}| ; &H Lc[҉?M%}pj5"k.iK(=NznNPhڤ"]/UQ2%9_77h2' jNIÐz.x.s"bx>*R =x@<5Q~&&8k (XP9pםGos) ;ۡ@J}vgπlUB...)".Oc9fbb#~p}umea:v Jɢ\]佽-g r-gEޭhn<+m+zƭ[IJ s)z8 ̺w94,K ||Bޝn^tYisKzISY`JehmҫT͗J'ӅAmҫ^KWܝSGs 1Czս9U.K>|&tŸʎ9Rmҫ6Ω2x_˪bڃ2ݥ:+ݶU3WiNwNs‡b.ᐘ#l.jgJw'h&vV~us?ݨj~/3i}m0a58]I'q=m6ɈNUQ;GGvci~wg[E8y2\yls)7yi6My~Tt t59u/r8:K(o-qlp{$<=o|v볯w{@xr}0| -+V{e5:]Ŧ\<PsHmyP9~ 2K*ϫwRM\DG\L ɟEi=QjWr]:1zZ A8mp:z6in3 Hm#2gRRt*-탼I.%h 3.0XVl, 8ă|{bhO8t\ВKU$Z፛ K-^.O૗<7Wne \6oO;Bdg݄GB>ܪpdjR9GZƵlͤF!j)2hoPbaZ*QJEAS OI.|PG.@h.El5݆lv -?yd|܎Ef;uΡJD|Z$:VfTIi:cձ;n7HGc I] uxˏ`C@BA# "!A*L8X8xD+NĒH$SHJI%M ihe3ɑ+O̊+c 7l 7w0鹩xQ<xWv;kXZC6+>|?(s 7-*iqWbLJjըSF Q6~j:ur.zٯθ#@3/`݁}~` _:#=Sx1` [3'p> m C19`.'bU&#ĕAQ Έ=a(F}a$a%N0&@>mO^vh=mݪXNx)-9q2j9JɱIwCYЕ k=>||{B\zUJ`+mg۷Q$pK'B &<-Gפg VxR 0Q`m`U>"l{Ȑ=:D I$ Hc*t^.Q[`8> RI9s)|N JJE>F4=ȦT[Z@?0[htY4Yc[.āX t=[ 'l>p` ݿrvhN.g3Rqr2>HΞJU)IFpqH7QA{v '| RZJ,=$Y " Ei4-} V*l(l4j𡖤t <~" U^d}N2եr73: !H̒/-Ӎ6ckLbڒV9D?W-EVW$$$#>Ef7<)/ ;LHPG jf+,.|Aӂ迟^!u MFcLmmLB =IJ7nZbE1) ZnT"[wI`t:6)n>9u"0M Z]bPnVU"!jd³ډ4cbOdrj_˦*9hu{CZ4n3 :$bn*-(>oU# 4(J=H^'zEIөM yg|0N .eabp__2 [60ڶP=BK宸Wp!5_Hf{nk0(ܑO/V*\}'{pb뜦-5M%F&~̈́g*;D,&umR}u8ۥy: aDyn8 ل bdD'ӿ*N=-;ǀ Dƞg3Y'N EͫgN}Z9,;>oNQC'y2cgn^R[ M"uX2fQ:_v&U'-TV~5wd 6ͫ# U:rȂV;|bpInݵݽ2dw@[B8>p-ДVwoſGwVH%fEڊ2RV `l m:= 8YjkiYf]!.ٶ]@#`h$CVx [Fr1em35Q/SˤvQjCIkX<;? Rv#$'> uݮݖaPo(yrWJ6}M-0T^q eM8qv,-rB%B,ok{ݭRA8z#-Gpr,`C*l@cKBk 5WV &da hmL3iHהIEH>Aj*H29JIe622IQ=\H@3uLػS)2J l3kG{Zm-uh{lžYVOAJ|&dBP#Ĵ:P _xe$`= eHB}?zS/]m,jjP{WY6oyf6Vp{ڛ8lSW"QjHN#(B,^VYwZuz悝+WyeW3ZZC+Fjj@Ep2L!F*t- ZkwiމG \4$ruF74A/H!@suJ7rˑd1~g{v op8н-#ԖisDaQI tw7hf [Xӭ2< b'WNm~Gݯ1}=ss^ /*!CH9ȟ@e?&*]DJ̞ntˬ Lk&mL9b!Y`qT˄5Mb0YaƦg 2dG%Jg H4c\!#H~n+V+`ЬねzrhhB |b^|:/d\nqS c3QģƨC?5b,._Cԕow.^e?8f?DSGmV,R[O^%x}SD _*W:L J$z.ؾ2EY7&O ^}H WBZqڜ2.09R $wjǓ zXsYTw:DéGF>+ 52*W}jl}QqJIB%MJq[(Յ;PVu7JNq0{$P0:)0\x*~GS#z2DyںӒ&h tpo@[$yOT(r!P}xHRc~Ȑ*Y$j4!@݁j;"ԷΎl;Gr1I5HfW2OQ=@|ZY X@i{;/忔99'r xVm,NPtqP BrUL=/V3_2XäFV]DnHYc߲Qk2vXc7aO2x2AF]*tF(I) 97L-d9sC(lНÅC |_Oܫ8ieBQ (E;X,IyIaj2M-ZZTQzR}i4de K,}S1 u4HTɳ2 $lj2m=S4xkp5^ [`ZH@7@7{U$O W.QݗaEw]l;Iɿ&žxТBT}HaeRىTy[8E=j ++~/I0!=#imK+qiT4+VTֱ٢:fn3MƈS `]8kcaʏE v8" ,`vSm QlMASh3sktgRqGWHpY.մ1DLwv//P 6ѕWJs…aBv(wCv$M\Mƣ$̈́`pH< g X qyc>ךgD1NQ T+d,ɪʛ_ztVKjԧ/]\SojXJQ6XJQ43+dt1E"n[Җ٫ύJes,Alg!W9֝k,aHx.-to'o΅s+S݈j-!A=d([*L;CerK̫h8)8B&R4z-V 7QUh hwK];UxL.+Aw!2mOֹfRHaZzBH;S4> y8n)h=?Q(m*E|>@b`vtR%t~Xq)芟-{/ ѕWd-`M_( /wWo5Av;.)?-]O]W |+ 6bґcY~%Jx~1+/.bUa.>@vN|)>mB0( hbpJ>r%=)u*|#8VoZaãa2qu zYJF gČMH=f r`_iק `۴",i!U6[XAWJ71U5dp+P,wh}\RLĆ5ߙ9kc17v#? ϸe?T\_ѾkDs/g+{k(aRS 8>T赖H?iAp@4c@U]kN蓺iK=6+n΢Wfe$u;O=s6 ; }gRK ,Y8!bTh}p._/rF<"\MldpA1ɖf/@rR~*pbpATB}ڬֺ7Bt6o Po [LLH9)eUWPJª*A'^glN]5OKӆ*@w>JjC#5Pmuw# щYm,xi(|kn-(.Kț+)$}[n )Mo^]!%I8lIR1-~Z]C4fnQ@2pSu`*PBm !8ŮÒ Ql3[\.ߔ'f]~9kl{O36ܡ$"zsZcnr}ڞ[. q…] }QC$x|Xρ HSq,ԗ}k{}y[/cBaϽdwv/r?_k ɶg.pK]?|ʸ}_tS&FϰvCd` s\3Cd)]i)O2ʹL|oc-!tKL/ۋs`}etP~Zwd l.IiO Yqj-3kT_#ʹTtʐ>]76T̿y%/Ig bG0=QX}ufAcIwIHLLJzTj-aTy?rMoHӺ"̥v f[fK\V6zޣU>ƆG9/82![;hIօc-sJ5 RiTʗjFeCJ}څtl?P6iؿ@dpH(h)RI!Sl89rW E(U\JUȪըEAECR ˧?qY`36"+uoͷoYKs {{rѴqA\v%]q5ߊ톛qWhfMZin]:(ow2ӐنMc9񃟜tG|-9$%Wk41+kWID^HE/RKPKZ$@@.fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2nu[wOF2@ ?@.`T t* 66$h T 1Er8ȶKD*2>L0chɥy_)sN(_C,/v7BٖZ왽gT@u*\t9{&;<j2H-ASE )fY8vuw^^_n{ZUhKcmɪE 'J--= "Eʊ /R8P⤡>?]RAg:PtjspG !f?Q T"OD‰r 3>gJN!V\!+ΪXBvc9&iW-[, Qk%Is%d 8q_~Cn"v06BeT?Ч7ʂ܃l37M5 k^Fv~|3N=[ !ԥ}F( fAc)0X$,FYL=)(h<4M5<3ߞcK/{pٕ3+'WZ[;wNjXnxv(c;_Wޟ|b{9A6V|NZ?+|H/#W%_8, >_ïwRP- ?k7X"_S3,J&8Gs?yHYxˎΩЍI_ _o0K(eQ W=J7 \knpdºs%sD_&-ڜ(7ܣ6U&<~8΁ꏒ9 uV|h #m\d/! s bj "wXB`Bj=VnMpk%UF-VN)Y_Wp B |jf7.)~NJn c3ts>0ҐԇkcLPVR܀_w#Cn; R3=MbUmV16]h \V ,`gH +ġa.,tS-{21[! KԮaҸMN+e*ҐcpZqnު2 We0(݂xM +}9*/0s¼48Cl;j<'~AuqF(Fm02y^GkYbO'NOh#A'vvqXд_]zr"R'=]>׃-u| I{;GgA u|$)Jv[<06?r =grl֡SFDRMJhF5+*-xykfPcRVڲÏ|#@6ЄeK҉UgqgLQ5 bP1^Sp+Ƶ kso O5rbBBdQSJ4CPp? F<F!y'r 6渹Xz5(P-W/:RY6; $io36Gl@07ј(?p@G<…ctiwVTK4pKƧO'6i.B9 ɣAx|%aBBmv M vYPsa+oͻf1eͰHj6ِAF̙vR ]CuCǢ) YP 8>%Q'ꥧo/O7ȋn_.^w>C>jcWu_}oBwnݲ ~w Уl95Lo9 m[ :I.1g rZ>b~BxZXVW6T`1˗e:XJ\v ړ H+iʦ6e@X%^MS1G D"]Rk¨Iyb*: :cump1Z vNH ~}ֆUNj m]5R ptJv~1~F$׆a}z&>FCW{R%jٮ- AL)abZ{S@2hk.RU4].;X 4c_- 6W}PA׮b㳨l.=+kppnw@vJ-r5A(yKVi@`jn$aWID{xU܁D *Qf290Ƴif3L0xbvBfSh]}dsT6F@Z{xO$o/7UUn1[k q,,YG[)bu>9-yŜG)_*ŒYw7eix~|5e5^ij7JaQM J_L xpF1aB#6[=~z&ລ%r=N-dq PG%8ْX;޸:ŝ!m4`.15l Vl :#Oݦ%e{,mɬVS+ |.9`08sCy|Q,bq5a?k<Ii먬zNj)L P _! >_cܚonTeu(V} *%0^'sOΆ{ }K [j x.o{EqȀ9y@^Y5WZ1gTn)6brr 4ɶ9{l5.FF(k@L4$-I`ȏҢXj.wҕ y~A.ԃOO2@*:YtԪvS|\_?:? ޞ{´gІW{Z-3k7+''fؓlUSv-6467>7E|m >o<07<'xqG8yTq@]F8  E b^,%#Q(."MB$xBx*,"^Vj4/?xSGbQbj!ӤqYJt3GPUcf`:Z֮̚VC \ƌvSt}iSr)f*MHԩ ;m|A[(_ΡEf`8|1Ǖdv}PWfCJVQ{R}Kf%2݁ KZ5p_ .T].y\#'?xWрfJ (bP]3~`De7Aw$y⃇߿$Yb~3ĶMB/0<xd ˟+@3'͌lpE|rguidp?hHҩ:;Edy ]\D /% 5jDkXe D&uGVAGX,  Ζg2E~gYZC ɀHhBP!b?X c)|TgÆrl'߸Jsdye:?Fn_v ?ºCP`784j4fHWFVQvK[@H~hcӀك1uv̡m'-@sQs1f7>2}>b Сc\; wvwvM?>r׃=O <]US 63)0XJ! 2 , OL4 e:RB#C{@9>fgf Vrbn0*I 󕒄 }IL6 uZl\ZC`}0 NgADwĻ=B`6'+M8GWJɱ9_JE:VS6Ƃ F|Vf;%EsV!V-RL앉bܽGV7GY.l=: 827p#OE\96#;V_a( p$=ͅ';A^t"}Z~@,@e@ճT>%nIxi$"T[()?FrUYNvEBg" B]!7H7c^\ft*<x0Yvs?,mYۼpjel\|+tn JVfgJfJ}z EPlʄUq_8' v;͋;Ӎk4ئ"BSo^G,Y<[fO]ձǫ=hI)ulLfq-p9[UugxDf`'d ,SJYZ. y?]zֲ@g8tirӵ:<]Ix 'U,r)G, $^x~x\͊"7wh{әXs DXEO`π$6tvUv9%kpԣ 5?|yL*X/l.L@Y+#eVx4_kt n#mCEB(jmS>n{$Si!H*:3Zj\8Օ>Ҳ_X^!v:b 9)O+a`!\+Dj:JƩ#3kHZaL@?!P2 dUȹZ&͓ ?Fx>R?5'UBS*"XGeG7Fv?a.iX6_.4|]tf=3X7oą;ָC >-. oK>e(g_a{ ?,XyI__vowyg|\7INv uo;BP9oOp%>nnp%W{J6<} T\7|cne$C|g_2P7y~ akNv*EX\7ɱ21]>?(­ƗPrJRss~z?vz}W$O @s!rNڥROo>B>?\ޕ;%wCs)p@0G,eʁoжNy $#k'lGȑ>!wsT Uްmk)7w kuaZx׽K:5)ϥq`Iѷ;߂~8N'/}q sF\jeyjkb4K0`幭p@G5+ltN*&OC]jٰ-PlЕP;7lI$M88OMM_bsYR;#Qhb"kDAKZ#RBvdGCRF= 4aK@ز)S]TWʶ2X_& j9|sՀ>ΠujN(lIM#&J*z˸$jcEOwhB)(k :oΝ؛}1ҡc~AqhX^肒YnV^Ckv{&7_ >nz6݅qF$)-ȿB=^y.4w2Yjea g&: ׀Q4 F/`53?> :ԱC|=|C;$5zZ߇jBٟ J`iE s<`S˯&rOL(CPheU҃gi56RmQZihιZjN&Rs>McrUUajhAnt;H}_o Z *LD+N$JFɠRB@BI 'C&<"2 *:,LXrpp IH)(iʓN"J*S1k^=z]6}mlsS =10w=2g˜>*Uej>}S2pş\oX=Av65rͩ&7~ܚݷGV[=jסC[p)3κws{u.%x /mx<x[(:_N$(PKZ2DD3fonts/poppins/pxiDyp8kv8JHgFVrJJLm21lVGdeOcEg.woff2nu[wOF2D 7@.`( w l6$T A[-UF9~{QF 9m7  H(Cpz5zK}55,掤{!=EusdR{ޑ}ta%]䐤!޿x̼*]q?Tśe ;D<3)Ȩ'z12jbU:7\d#Gl䁸ҙvW ͨ(E׺O{`!T+=T造6n۸g!.rMB!q47TɄ6rXm.ejS{C7} z`ETPfzl4#u6g̱׿zJIHkEO?̜i ?WNn[}G~xTFx A N#wǼ_v{ o)q}MG Д;3! R6@OHTN4mMh*, !L"*QAA?0ۮ̄eܜEKKB6Ѵ^;ZWu+ZCjLki%-f 43 YWU9l eY͂uȨKB0iSB <A07N 8Z^\*96W7Vcܓа' di.wTiyL3C\31ll3(RRBW|Ji^ -/ŒV,TBg=Q3aĴRnVbWjŸ6U#&ֹ%;p)mE co" JJ6 Q@u> awuK b@riиLco%!U:fIÎ]}W^&x_|K3~[)\se|o`,LE`̼hwݠL@b^zRtC;_o>ySGx]Zt;DI2|s"[ 38JLdG2[,^/@Y^K/ݲ ]0oڧ"_Ҿhlctvd) ,nfD/-eLF'ӢiA?'[* qQhM^9B3:,ǂ/d$NByN$$&uA 57Ҧ|BGry/ c)Sω~/UT#c6F dns8{@Ro|#$#h -Z1/:}JHIEX侪(img^e oFm)!yC&q6E̐ſ8zHFLsjH%aJ17 oi@,!E3L?Nއp3;!:ӿ(=]ktd<',YU$m$bfJ ;X -GPUN{&D mot % ogl.ΧX!h}SmQB*4)P|9ārfrQfe(.}H,YWPcxhP5/@Эi=-ػ Gٺuf.,c۠Rm' Na^Z\gjx NVTƃ躂^ Wk88925DyRabNk7B`Sl9\H)V )< &}g.D,͑?a(8>6jϰPyHiUkTv5Gt}cU,Vt6=1OjQ3l>%kР( P<0T1& N4-H1gfAEmR=pGF8GSazHHq.\|[ŀ<XAQ8rt-0O'.g6$|~Tbb 2ln: 8~l{:|.K\WΧRQ; xq믮7n.I0.:ɰ5뱫AW=zx[GqQxۆF+gC[G?2KX$(k]rtr,kCOlK'"5Mؾ Y%K3>U&{&$:q~&q|?6%R@7QEpD:n`\T q8bdbY],ᔇh~X@)KLxYJL͑1txx`@S?Oiv$gaHL8cLeV")?SM `LT}<52?po@w|  ӤnE*^|?Ut]9q{V]--NYf30ZcKzj^I75z ~ˀt?I>?-apDN A$-5F֌ H,J\uN%S W#UO@""=%!Tj͟I8j¾6 `xe@18"z Yժ5."54(!ؙ.+%&0/ |_a@'5.UD.4Ws݄2J&4Dkݡ?mLz;+L<0O`MHL`u6z͹#o=΃rmR!(Όr銍%Goؚ`ǾG/TL=n=!9"'w`<$$ )o))Y mh Iʙ85DeGR1cZAO ;n,6?镌$}P7g<I[PRL4.͸ t/.~asbx:MRm6PN' x-MڛبL>6p#Lb>!CHGٖݻ:*z #; øĨaly)!nw]Gq9QCJtwLz3 zحÃBaY`MW{e3D!K,kQ[5cϹjn)֍)x}x3B߆*_χ Eu g9 /1Y? WڳsW /bPKZ<\(!(!0fonts/poppins/pxiDyp8kv8JHgFVrJJLm81xVF9eO.woff2nu[wOF2!( C .`T  66$h  4Vn 7,Uk]f=kkc(`cԈo(cCq)db?~v"do ."ŒuBJ7 x=,g<ڄ!wRƣXL~zɳ1q p'2`y~@̢Ej Fn^E^zSoeu[ˀi=Ƀw{?I=BgsCO=c dIF")gWn_՛ Y_ RF[&J^z5[@Ymhֆx Qk`FfHmU+yx'єTr'^}90""/m.O"*ѣ;ô'> "(@$+JʬvĨ/yʹƣݤTC˚! CG (*\*^טQg=-1$KZj=n#1ʈUgj%T #;HFLATfn<פh;9.6K;GZÌؠl"Rv, BBW+h.LWuB 7;(sKc;]R&9z֗]Iia.{=jҌm41It8)'%pP,>pѰ!~- ` }M>rܩgڷ)P4Beevj7j-VGB9,=rY" x~KE'll6ܳ,E kfZXFFD|r:mN*yRAx??x1l\LtYkki69پx뛔94Ξb>h7UQ/=nchZ-X6/7|Fu;D,qƓŊFb MHB} ""(G˃EyQ)Z,NO<HrgW9HqvYx/bqRx9(&ń8/ғxW:iCm$h^A'rց?ȞG n!đFo(yZ2#}TMfȠ'CNYI7?'Lt-/0 %;8Qц=İT׭R(dݙu6`^%aX3=iRtp~ 2]a 9 Yc[|ZҌZ&!nڌ~jH5 x&C2x*ŖNW736h!yoHqmAjz10v^#&J}&k&Ee R5W"ktɬ&n{#=ؐsrgi LBwQ][k!nyb>ۇufљu/YZhcu=Tx̆) mg%9'pDbi;sHψӏo44#+8gh1Wk+)PNT\і,?  g`Z e\rx^6q;ҧ mf]My6 M!WoȐٷč4u׺ ioGD%F4?Ԯ3u)bT+[ؔ 8y[ص2 :( _XZ1Fy7*ZLNv#YF]g /-;_px_\qO]>@"smh1dYixHbQwgd-q*+52E[^r=jp;UyJE3ؐ2%zxh! A~ߤ];[T L7<m77vv;ryqR x}1jv:ܙU۶f ؕ l߱8^"/WZ[On- o{O\Ա:gn;?&gle*b#z%vLdB87 &ui^L*μ!uxR@`ﲋgu;V7+ 6&%?(!\vv[uԲUi!,ך) R?fcx`=)5FG>~>f6 Vx@ 95f̶9z__*7-5$(C5aViQ6}2*r3ӫՕkZZ+UQl^s|`\,TB].z Q// tL0dUSa͆zzȢDq6FIkKe@by7yA6wnɤN]x%v-8ձxIch+RP aB$cQg gأ#A ˜&/]e ں퐱WS?JiG E?;\AytwtrZPOO9k'O$կ( r ID.PX5Õ%, :I)|WYZ`3D|#ʎ*u |1a!-&aA._!I vϖbݒA+s1bŇFN9LJ#3Kgtp%w%qHi#RwΊ.ѡDN ~&빗+@oN[9Osƒ_W+nmoL|nA;aVK`(Uq3>`FrG\jGyG'][z[3+m[ caC<*aSOJ;߅_vɁ"sy!|x IkD_(EF*~!J1EZ[ڬt0 >͉i,sɆ-9 '۔bY䈏'!HHe0ו+_Is}#*p§%"=_%-cZnV$bM/G"L,&@8I薩oXʊY O*G|V.B<)' %)%#Hɝ  - OJ/+43\8r 6ǧeBECe iJrӈc K!y?%|bbU4I8 xe]Ŝ6ئI2ulgP3r/䦝 T$Q`LU|ɪ2_"4rpZTBS_^hB!-_CtV +I(Px5TP S:T שe\i301W*9LLmVBnA$EWWZ]y%kVRP; ߵS)O*e+3@NZGݠ@  C0*3!3!s]t *\QfYtSȇVrFcZb&<~Bc'y+3o[ ~sP]j;TfeC-sjsHvzY90S:*Ҳ읳KgAxVR0=S*w/g8idVhQh3|qPwL*(0TUDA@$h%2r!ƈdҔLYPI"aD˹=;^!f`~ -?(qYPQU\ F醭:u'ýk =o>Z U酬:Q>M* dwYU||!6t\UpeҳE ƩL${?@|0 ] O`K+~TTDqpB¶WȡrZR9mǨ1[u#Us#ˢb!"<"6FA($ tAV:GJП@Le4W3 &lV%qGDcnhˍiWw;؇gǞH[W) v)`1||D܃WvigkH[5O5/#gE~c>`Q;ԝw+n`*T~1P5%& `F|^ UC$#11

H(]JWħVfKziBaBm6| ˃,#Y(m]q3ڧ=s9ܞ|e2LR"yiyJ1ٙF#sƿyxn|eƲO H_޵~-Ga,Ҙޞ0N}{$zp3RJGȻLXaƍuܜv 0s?8-0:D,b&DN40Vz:^'][R0.O|\v1R.t!ְK3FCى!I6B=QdJ%T鐏!S ⿂V(0O:#M[ %Y6Kt9n9V,OΝֱ _35&65ÍXgܒs6ggin!w` Eba?]9=<Vѓ[Twf&|[oxq"Ci{ [NLpq)$]/Ԭڍ78;,M:AڄB)- ]% %Dtτ:*D$  IsB$^n0Q?_8Z ~a?] )VE3>^uR!|n |>5~G9Fq8kT7͆GxF/׎~m\uKL33C!?H8Dt*VP9LOZrwTH\7cqOl}@ Fs~s ج7ERM~'r T9vhs7$׀նj+N"tP<y}[6;ڑyQLRtʛ%א؏|oѢ˭K`&W'1ڞ8Egϕi \Vz$A 7@|BwMvRAm|#OgBpP`*ypgA'Ņ^Tl-@V>)jSn* _9,Z h[êQh0QrJ*MʪഢH 5jhh-NnZGIɘW8iW 9fUtXL[LAt6D[="iehoY5M =pg R?ĕU_94+ ؿh [p%,f7]s t-Tej/2]Z4FfMZjafky:u8i.NzLz _svq'\t1?y ?țߪT¤|DGgDiaqD866FPKZK0fonts/poppins/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2nu[wOF2 3A.`( $3 l6$T BA*UF:~QF% {Ef X;+,'j8ѵZSA-\XQuăKK^O~)#Gh\z}?Q(1$21AlE3 ќ:"ClFv&$VGZh&53@l]DϤJg]/sIgʶGR>DT/=Ά1F}S?Dim`ucrFPs!$ h0 ,M-hgJ/xgk^e-J6irjCTkJ`?IlD|LZy6 nc8Vc۟  ` j>92~]O}j@S)r\ #ЛM:\D ;B2M exvSx Ѐ -gZJX YkL{)/:UDMQBؕPniO_^/=%y⛼L>؀nT9|A6´ܧ0ȓ6G͢O ndh ٜ$33|c΂#e&ZHi 0il+Uȅh`kc,mV1~ʀ։h=>g~8~E,ol8Fmő̫8TS'&()N;QHq4n@ 6϶5­2ObN!>Dz/۾va1cVnSBa@t7R$@xuݰH䌦EzFJF MEȉƗƎxP:p֒N ߸h͢ߍԪmP Y[`A7RfJ28Ly7vIOQs#88憎M8]GU|O_8G |3y;4߁_H? jՕ{Ρ/*~Kr'4ȧY_kT } -kHR4$-lᆲP?DŽrZE~ 2s(_.{Ɖ$K ?8;^ %UʊB/St8" -@@BO(Ctb3b3v_gAũ.0Hgw4Uuk1TִӜ4+(z#0%[a!XH$#̖,00`:=0)+4Y%#,Oa2 X-J%u)S$1,Teh]hOibw/F5WƸP \KPQO\~n>N#`%j Bci*ffYd,g +MQ[w5PC)lbO8S)0O#H);ˡ8BD3M_GH: h<E!+#B` ,ecbW|58z=) +n,e+_l| ~ 3Uo/5VO O3@n.?\yLnu@,' [`A37 -ډvryz;_5k6n[ЫCOh9_qgGp 7g7ѹB 3ٙju9KsV4+nHω'` r"'b@%}&}n 1%ZN}Ml%id٪&&C4!xf/W_-V(Q~Pm/%;~`!J0Α2:$wk>6O +|ʿB0^(-L džTۍQ[صpWNLLb/X$ &FxD*|7Ͽ`92#–q;RaQȡ="; }|64/:? =oUHWi!2TPKБD&cAd /B&!A*7o/*w¿8 VV۲qIm5z_}x򓏰xj"C|XwW\+Ke9$G3HO8"&B;/`A*6aYa&d VWf3Ă| Ňi[}fE?qo0u(*OM)cZrO|6Q(eE 0TV\j}I9GGIK vMPY{ƚôDX}`\F7 $*MLQ"Ud;Yr'/[ mc>}В_qF/-ўw;T nn9e1a4+%yi8dv{aH Y"ּn"GBj6;/ސ855D-qIO34zAmw}}Sdu76z8uhu|LIY/_:UҔvG^gsP*V17`s$rZ֑>#Ysm='=o4kVjS>~ȠgBIi)7*kiHxyjHoRw xTSl,?QAw#шYl;#۞DV:tA*|x/~K 構ojw;4G|1Ȣ..-w^aCGV{ݓB8[ͭH?e%t]*}'0~-J#fBXs;m֏~1wH?~bۓkݟĿQQCׯh nTO |FőI4Re6tN)[Tjr9tŁ #= qKxqBrm)M}B~^EǵM srlw=4Voÿ?)Z8~/ySYzE#<]pgHz|zD@PD<nؼm?&RC:)rj}>O؂)uj|=vLOX/_Շ U_CBbq8:OA6 \;2gCsItYLn֗"UL7m>Q)f*~"Jl3@m׋mCY^M/ ȿ/w>(:O{Θm gJ8GO탫;5u?5^א*Go||$Mxy~cSʙ~~m~[Mny {<.Y^>ioFXHIGC͠ aEaV'-^k ̪1!_D|&XP;ZO%YutGp[̩_L"F@[ 6B$gHU~#z^nchf|WkkTyY+g@^f),k, ȑL @9c T3`0+1˜5-P`~'0reQ\j(u.0"`Op$<4V|a͐|h  Py^-jx!| =Ata/B$S#b3K7!T2Ȧc֋⓭@ hШQzV8U*{  ,fonts/poppins/pxiEyp8kv8JHgFVrJJnecmNE.woff2nu[wOF2 3d.`( d l6$T \A*EFQF 1Vj$ 7FLR\=!F >nB+6鵐CHbٽ)UM9l& C*Uqȼm>:PV3AT0+O|BD>Jy7-E_n}k!F2)Iل3 }s3\a&t?>YTH꟔!wE6Y :շP8Z87eY/4FOgJ%@x]T*4H%/CzgCH',j(mLypYゐEǢ.r0?"!-k˫|T`vWq@b{^~ʴKa 8 v~kGq ˜ qJXvlnZ8ؤvemu$!녪"穖34VZVf$&a=.F4l|YBTVuE|d&|*+PK/s- %2֚Iy8mkxUMn-g0!BO}hBȢ6z(B?*F!KOS UtE&:W.fJD[@SBk1l?cS?2ڜG†KuPj]"Gܢq)cwBGH Ñ[$HqduO7dSani6ؑPӜٖ"qe8ԞE.^B(B9A],Ա8uYѡ%ySJ)41`(~T%(lH-7'qIuz[7C lJ1ݰe+3ɟbfzJf*2!WoɡvttAAȢ؂K$>K1Dp̓0kZm݇[gE#J}=C\I"dw, n\[AB~?3j=Hp̱е~.fvկKl41~ 4Uiƫpd'k,69+Kzh )sC|}ppHjBP GuNZSRs*8QV-+-΋&f꼆֚#|=TO{Wi괛u3oMȗ%(0~I5@;^K(o܏J^g9~DӲeﻉ7 ڰyh%u%ɵ4٢3d`˗Hzj5Y/_\L. sHou8 c!넗fܒ*'pt~q!X؂Q۳`^Q_GRO}B(1 ;֙OUګ~oJZ ìF"'rr_%D)r^EEH`Yn&5Ē qe 6 bUr>D.BuQ 'Z:U^:7 4X!6CՖ̣L>aީ8pP< $4 v+4KjBy+_(DW]3b3P kŒhkNc c%(絼B}9NkZalXje٤%qfU,}Z5Ǫ-AET(ojB PnP***hLX@~IO) 򔞍9Z&s:$h%ט[`a>g -RJ+4:mN 0\(o`+ $*ʦb,:Q&g-n[#t+B\)/>O/DN.YB< Ô8};+5Ksz%VBU \{q[ӗrF ؼ.m')+>x.ҏgMҹ,rCG %٬8p—=/#ѣ)X`lsXƭo|j4oUoZ%ͥW7% eN>'KbDklW?&%\$p.{uA[(oea.pV(웪[ihc }/%K].ߠrzE6G͜-ДtGq hcTqz{ zH؜gq*2o S8r[M[媭tr!ATqV>YMv_ 8kma6W7:P(-!Jdaj绅}WP.S28|51j2$nƞb|>Lx%PR߭]-qw.)O=}tv?-DkaՍN}<2_]XM53_g93Ă>9o=*<7~Nղvʼ'rv;y>>DI78DI8x)-+e_ TI.$7U< p0cn12{8p7,U/Fb,ȪhzY=H6J,V,J¨q,{CeG#E7i2B -8gr*NF5;n[]qo@_S.2E(#A3UN*EI v?mWz!K#fB1T9E'ȑ灺k;XPKZ'..fonts/poppins/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2nu[wOF2 ?M.`T h 66$h B 2EFd+U t Fh!ˍ9e '\Wf[feB ܆tܛV3d?BSDd=bKB˿pGbIz؍5<'DU,D3^m\Z5-O Vko*e/"pd 24o˔P'ݪh \2VAX}8N5[ƈ3>Soeb#jZm6քՀ>% ,[鴚+~Z ;'_ɲ6/o-̜ÒBpw)Y*XVT4ESL,St:'tex<[Al6aͅ#Q_kJ8}Vo9Mzh&ގ p$aa饼e\M 3u.*NH.}E^cdˌ)KG='.<lƱS%$ ILIϯyº3- ITq>?m{w+.ݶ_ Wį0:= D$CО)m^Q)8xi' A(@r>[- \~{Ӟ: |WҐ|Zo)v!(&I/?8jX”2gcʾ$)ǮvPh)"W]¼\]SdLox#ky;a(-7G j{U4ÓTX#Ly VR#HcмaMLZJ\E T^+q!loVΦ >7F t)QVJe~cF+uJX8ep܈x"q}s8?YN܈@+qבogS_ 'C.ZKRUŢCe8^aAu [*eUueLRnV+X@T } ȝܹ)irjSJ*xWj2P们TiQ,QukFC@;Ѿм8lg5ISI`@T2+Cd,5@SS=lz}4 Vp$NO<]"2=eG`D im]@Ϳp3pvxj HU1@;-RB=$׋ Y3w( e5b*SIed~AB=H*5`0/i#7lE4A4MƉIO XEA|l9>J/a 2 Ly鰂mRhgſlLwkJIitb3N+hU[ MTila/=ETyBN5 ,} }rH0y r^v{a%Q3Pj[^,uQ9buMK au̪D[Sn٧1C v'~b8+tƞ־o?MXÒˢk)`Z1 }gyoP,\#oN>*>u/>r~^7P ڝ[{r4)LSԳxFq.N}G5tu`6?g%+߽'4,w9HxViJs3ήYM\vR m!nwQ Y 2$w?j"̟IY+ϙ̊p ֳUE臎cN 9n/n%[tW:'Pr_yhǼ'`6*s})۠_"_(rU]0֝[ ~oz+ñދ LldʜxtW3wҺkPA`nv*(OYHR.xP'@KRugz3;JObfN<2f;:AHm_.~:=JK~z~L~Lx=)xz|3ǷSødgN?d>ԻMvF>_Oy땉&ٕ ':Bs"Oeh?F[BtQ=K1RUS..$\?h"XTƂB)ȤT\+펯"?d>GdC*}wgrQ{^AA9nPUŤat:J*Woun|7nsi Rzzf|\gu8MkoU:ViM4B:phX{sgl/L^($n}^qw77ʞ[ᘵ֛oHnįulmIaiS޳YɪEa۵1>{֧.- 7-C[lm~. E3ʗG o9 _dm@9ϗLKH=vsMlOhu71*I:P2,  Dj`m/#VTʾz׈KG }=[++u24guǦz-mLnڨuLݑ.BQZT/BpLr pxn96LÃF%g_߶ J J`z$+6L.wảY'y=㱅aK:bt#F֌`sPXNDx܇Z1s_ts1K7-߹sl|1l LHgdTWbʴ,NVqCڗLPD]d{=и99usa8(6qT<*q4&L {م 0HW u>L )(hU x=J+q &!ĺDHF1l-'LlED؆(96o[6l5M˼}UhNnw·b1#n2!{.2 ̢W?d+E:a鸾ݨV\rAml3WgW+[BGCSck65ižqbi<_΅pdEiM<=biD0{dg + N [\:hӚSxO[!fDtuC(ѥ1jS? ^. V^XF^pBaRṀ.tr&-u* Ubw/0#ꥃ0Yʶ>z'ӤpBNv=S}˶AXN D4 !zY߭!t?_ iz tI>xqe8D R]lXm0e=("؝ux_W|[]WN('Pc-z-ˁg}YAӣܺ=LRbK(`oצyY`= ~'F=L&<kW(0 .ՍjȓgR[:  lI6i4Mj `H%p,JtkF*dhpIq`BGz, y@={ l6siT\CJO-冿}CWnSjgJ"P&,셤֩9y4&l_X9vB1hC1ll  2˚FzHjBj@+cpɧ+ЩWY md'?\ܜ 9 "W]mKI<֕@h8&.<+}[kiNUk#^aVf22z1qgfZ33\Wh)GMh4L Z|&2-̙LeƊL3E(BL:p=R]R̲ryz>8o>KNL}wȝEZӆ::)@ :TO~@%b"Iէ=o)7:S KMjg9(VٝxNğ$O?J޼ f/WH2RD"Lw;<|Ylt07RpRI+_pʪVpkjgL&P3JN62{r^ C<8)GTjHŠ _uyG=cz7LpN2N̒Nn~88H$ ~ҸI5L~о1Em,r~]|@ȖEDCv'#xj>'.$^ip)snܹs=. @!q4y}[yR)fW&*eu;7$%7UЍʫp3Oj,PƩ(_\ "ƿ"bPn-0ODu >H|yDE!*I$V5+-6Cgg3vdr&hAJ1Pc-'q+`SpFac!a qP:AlqfX4.|fbtY@# c aQLvP"1yPEZiв<;JX}*?%0oUz0cv0z<;xO ;! FdEiC ^Im%>8nMIPuܳm,e&82fg6ȑÇ?;c`vDVSP_Ti$-h%]aċ KE1ܤsz3$N#Ŗ0*q!.wDZ]qP*!` %t<7pquyg+/&P}l]ww?TȈk.r%pfSKʌ% P /`{g͛kKFK [5P Jj.aYH^ZBbœVMNS?QŢ+γXy9X7&WUsFI*M~uų&vgsT p7{D1zt8X7۵Xf@E'85=/j9=RB1Te"a!;X>D,8Slnӕ`99fV<SHs$[mn3d.նf3cA^{n [c\hy /M KH &~&hj}"{:in5j̢~I_w31 M=2YXFwk&5#qnk?Mn$Jt޽Nd8+X򃿻E)x/g2˗2*tc$mTkm"el+:voЬ/Gq=P:7jG RJy%464Oq w_ew p`|C׍H3$>˔?#}j̭2'b> 0Tσj6=JIDR8⊫UtWwh9,#XdjLl do 2],BSyBXԵҼq4 yGyHiW׆ѹ"@*G)~n@ ?Jaƕu<*Q+u_a2W>.$x,s}S$J@=GGY>n$2YCkιbvu9TXB:/`EY`E(vr)Pv88∅.Fj|](/JfXO0M*DRۀx4mnFR>6cS怾YP̖$^@Rp_j]z1O Ѧ+,Ő HоJϤSR61(ildaѲI]:@qM,"Z[QO/C- iH8X@bCpd0%=De#d.(zlSFELL(f4hvbz cngFΗpS _,k "*&.!)%-#K+PH,PY* QTQ   A$dT`FC G0021sprq jXq͔r4gVy/~)oNop9xyMB {M^׽k\'ۼ]iiצC"1uao 1l=eZn`.T|+=/X'=jF?f}$ϱӈdq<[ԁ,CaPKZeզ""0fonts/poppins/pxiDyp8kv8JHgFVrJJLm21lVF9eO.woff2nu[wOF2" D!.`T , 66$h  6"8 #JE * +\R12EEF(a rH:s'K;Vs>ߏyfDd$ITB#ѡ$BPX4˼mc5PRR8ݴ\}sr/rQE6lKԘ{Dô6'湍v/A[u@0)[rw_dv|ULk5Z[,`YcnqlV|e:~J 7u*I Z/^0Fl/e:u qˤ#Set{@C"dfL.źyŗC}t#B۰! 0IrCGd:"ԁ 9Gakzh+ 5IQʊRB|ÜCsWxYW+9Mzl=ဩ{6j=Oŧ3x!ЗM9V%Ovd.nZ-]/Y@7BA/ 5GĪ~jtc-?!`bu 5S6(p;Xg@& ;cgk3s)+PbCbA9bk6U~:esŇ"3oN4%9~>Iu%F'Ť4=mCu*?"yӮr ]aՃ(Ffռ"cBO۲!Q__jt%O'}H zmh7k+ `2fJ.HnL Dh.\@0u7>3֮28S*,V2I ֠ɼ=m bzN r |y/x頴OI el" ۉe‰a,Tfy=m,!~? Phނj䦱H[7 ǥiwAC^i`g'O+Bcw:ߘwtܐk,mP@1 ڥ*ކ"8Eޓ8?Z1E撱4"^ 6t5]Dblnu@قѧKX]r_L駠^[ n;<{D#Y(0Gc?A 0T-]˓+N.BPb2n뢽XKpD=6`;̞؜ni&G>Pgi5z$Γ3UZu13jxkp:ʼon=˖}FhvQ摈_Q%PӟwYB!騌TJ!nĀɒ"׍"h#PL[.w۶)vT`IpO ׽OIdi~0c~[0Mƭ

&%g r6ϵd",9rgz&ŗe]f3-"/%ػGEeT>d>XT,S_0mQXM9hcJgRC(a&ˊaX}&_ҥ^ڊ'PTce%۴C) gac q>5flMNzNqH"z*26F2B"E]!k@>we-ZZ^!y#룊?k8?]hAa<&YF>}9yvc% r~k 1$>pi0)_O!Ws1y2Ȭc$49z3o!pY":U*@؁m.{_W_&5)$/C \fy)?j$Yq EFp p(a&֬ǤAޥ!=@~%JВgGt<(]fۯ--vyКTLj|^/A}IɉÇ_ʻU]'q>U&j,Ioż ]Znީ9u_(Gʮ* BЎw]×ﲤY)M Q|KiG-ػBmY{J8뉀> >ھcIQ]Yzj&C4V'R2uflȊcL#e(EZNCe荩ދpƏ1nve/sX1ra|ӶnF#O~\hh<[Ժ 5C3TAa|I _hWE y LnU#/boǍc (r!V~>eJԽ߶#[_~f2^n3 x*#urPTlσ6a2>fBaH oGF(/-^)/[M)TJy%B%$0 G׏ʷo2kF!}[QЄ)U%7T¤cu;LX* `6 hXo0Jrp=!=Ooӆ%1˃֎m W;ˠ*ERy[/l_0yT-,PxL`PD~%K`ٻThxuY)`w:bK$xh >.,-7QuwI .?Y(h1pbR2]RR:$)ܯ‘2J/+}x`оΦ=`V"SwPU9\lqdCD ה9*ͭas,DqBr$rC:_`FGB䗞,V9M0dw0 "R"bQ2Y_<.ѵI9вJD2ƮstNW{qhYH#فr+[>%H+) .l"->m#4 q?­&aa@ XdcCL< c+5`4)=A[^z bxxn9MeE,z:aBv|dJ̢߽EZ+XbIZ{-xollxp3"=foG蓘.U^/VrOňCW]baG%CFh\.7gӮAv헌F$oeJ$Rbg1%ך,'nupQM*>u:WG2>1$ -5 +u@ghIxRqY;\lr%x S$I?I@Oǯ=a/e.?ݬ%I8l-3(6i¹LlRy"xR.\4 w7fŧAխݜ\ZNB!ψ5CT$%uU,oh.Cn8e\re%ξ qM@pF99G M66N*R*{M#cEi*KFS|4539cjIsZ,K o;(0n);s-B._-6:Y L|p_m(bM;(̞ʼǜ6`ȑ(ICI̱Ɣ ls!spzjP^in:"\R+b2?dqm qcra\_3{.\m[8VOVxrqb3a xCCyx9n(3/FnZ9uлO*t s+WOo} ,`McƄQgNرQw;,A g( + VIIVʷR17wy{Y8*$Z^IeAՋ-Y_Y܂bA.gd>kV'2TqX luVKjwb{bUbʤv(--7="U2͞T>\P4/kbjtڬ*q?.hhܒ݊X7FԵ˖iň@.0Ȉn6rm [HMqjQrA(1%L'UD wv^/#gg(σvNVn Bo*p2=*Lu}r}'5p-b#C%B.3~1uP;aadP\3&}IX8fyLb-b]YY:syŚQ:3!U4̨E\UF!zڳ YV FF(4p4Y(re\!b8$ӗ{(UjzEHm\OFPʡ qvi`Hd\$X5,Ĝ FoBqD<`<<(-<ftWI<9Nr'Q s~KӥShKv Vs[ HŵT+S:-{5o jk~l3ٞCM jT=q/(@ @eެ:b SηIbr.Ov @oͥ0_%Ok wV^RvtA\-f1PIv-_7IN3/9v{f]꒶%sN7ƭ>fR x_wCٿsTږ/.z9Y&!w[GǷ>ǬLkv3 ^žT)q]tǐYirRz8>'̆P\Z^f"+6 wO$́] Vhf մΈYF}u]9"{  PS RCT^⛭"$@/ =!9V}?ٚZh&S HJG%Ȩ 58jdcO%жŒNanpJ%cku 9njf#s_phs@MxV2Sbqy?N[_ B >42"%'V`>m-hBf7##s}}b!L1dB^%R] %kj2]q9S1H|lU^$H(85vġ]#?w­ďTA0[a"h7?w65ʖm0݂dbȽcܢ]1rr;6u (I8nV6T &\p7Q@&$\8А*DTůL?QZQ1"`[< x:%m4x:9m'nٰGTc701ܚhwc"s|AJJ5 n D0("D-N8$J,EҤ#ʐ)K+@BV  [1ʔ"bR2r J*jZ:z*T1@GX5;}eMg,}öů6&<78l ̩ᰅ-.}=;'[}#U^Mj֪ŧ>]LnZC0;?wq'G9锳ι3XmjBlcB3e2Gu3Bsp& "c":PKZM*fonts/poppins/pxiEyp8kv8JHgFVrJJfecg.woff2nu[wOF2 ?x.`T L6 66$h \ ~2"8 wQY,?$pC)bT(i@Xm+DQO\-?gѐUZ_ԥl!lKDQ>9vV<بTd$E,o˥ct!#8A3cx~n=Di# UK5jXH]njj(6]{ۼIDhZR[X"B~ѧ(Su2̬/IEʬTl%'NaN 2\,7*0VRQk~ڙ"1 Lg zdɱ}yyys&DKg䕒)*2&%$nm\_etUIw;W|6XUv! >@V'`H` 57X?@#:,U?{b<ۀ__06ךR01@[ ՛ a87V%Bў0F4 qu#lgxa=w8A6>f+8Xm@`m Gi^R}9aB?_#[fd,VυbG]iED @[: P ~{,x ~!C bÐze):+N ΁2sdsMEp?^[kpnz[-XI%"ʏ`< 2b\ÐwVSa+~JuGq)1 4o3vSb5w7-ܥ܃Wd>BR^4'B2G>enq_@s̉f!ƚbh&Zov T=b?"I7Ojcw(%ET롎t%.x~Ab^ yvCtvpݐO`(&иe$ŕ`ؗO\h>7x/ >1HXgdhoU`]az4oK_qu܋FoKyj9G 5MO6!yE&Mͨ&[DB#1@XkDsK,^C>\q\q"O'/0 $ $~Jurk[C*zۇ pO:$'VA/R|*GkQިK:iwiy4݅рhH#ͥMFFin *QDImZ]ofqlNØ it(ռ!,e-^KP.RfH@AAfQ0g=PJ*'&Fv3)c [?.lڳv;p47k2m5"\('!ɾA~3>:h0q JB$JZh]>rro]z4#*遼վ,8ۅ +`;Yzű2D1'ngaHlj*ޑQL` &,GP_8ݘT yweW+nT7m ]uf[]i@VW4W bR nS#)3w,S#:T;4Kxr_kW???khwH@]1%es'w"ʽy{KYmӅ ]}CHj"Rh4#$ʮk9}8, '䘵a;#k$ꋔru;ű~1Xs]:^^d.izt=H6 7ϖ_l8ܠYMsq[yQM ¾|H|L*VŲX}؂aw8apru[E+G+5?t[Y|u/Vb'gy.?mslV̜(r+Vy:t⒋15TPn ̀'HkiWA}Wj+ላp´ya_\jNߊN )ja6EwPJF[C/7g1^EJFfJ%'`.|3O6]zݾ7 0d` bt=fU{0=kBAFWWyD=/ 02jy͟{pxRo?PP zD+}~ӱx|8;opJtjG3<8VoGdTM Cn⫣X̘WD)# sSPˮ^+.ٰaRPqr mRK@7S΀;Hy֞}5e%pYMP}fŐr(7v(<|Fhu*ՐUmyyEh4$}|V6NB)@;Hs=meqc Ǿ vس2fL! j3EGrZn:ZW݋۽BR&Ql)ɵ~wF*-AH6xCUNIR峫 J& ' ipx4 _S oֿվ5bJ`~.ΧK%J.DBm֥hM<ֲp`e}u+gJJ|mp(Qgz*/VAf(5Z?z#]s]6r4K9Tt ŵn@._@:*bZLHl0~>Hv,V ĈĹ<-f-!setvHU1nAͷfg*dl,3X!ުO>}PuTiȒ;9>% \؍}a#ry2¡ٽ$F*[,"YH4Ъxmaܝ)BKơT/tбy"< ]QMg[_3H**N2T"siN kh]ɇnpWF3r%D:O z@ʦѸYAT;7 O 6!Ϊ\ՕJ1 LF W+EWr}uMvdkemmeϪZ}YfϪOǩ&w_+_(pFT'|\*#Rq(nk+ܞɭ"P_.#RM3⽮cr4r]h~6v}\^bLUu5Q%vGI?PCl wLJ[fqTN3I,hT9e8&(-Ʃs闫y)sA[UFrq j\Ns}O? j]~,xGe`n[䐩B@ C:]864^`lh |M/`_(b9M-w=77 0&{>*,Rn߯eh"i> AܴucA٥t:p 8I*k5kZfekTCԚqTD$ F,l DD N<*I̾S|$P_ PU w6V!(}w6vW!F_!r1$0 \4*I IR$X-R;6{lu ${abVIubJ>X(4_3*+ 4"W-8f깃*m\B:6tE9_}9ҴKbECYvawϐ/G4j\WE{vKUUe &",SIXڂ*r[?vG3D\IHFFfbMQIu\^xAo1'(j<8U0iAE7'8E^ J, ȋMf~FG9SRHl)C$ , 9|Z#KCL9#EE=E t X=! "z=ۓ{ZY)\!Hh.A7a4# t`ayLO , `Exc=1}AD-~W1]ųwʨ*ze=@QsGtUa@>9W[ `j|}|E'[E{[n@F!*-xV-s7xAg[Wm?jRg-\޾p ~YiU6-ׯ &߸ ,u㚠rܓ<$?MՋ OSN§^0& 1 !>p; IUfƆGVaѲ]M, a6[qFGf'>eHxQ0!yNB,^Y 㤜aFњ[\=U ݨI=%͓10dU r .!q>r<'b醌T7xqd9Ě5{^XHY6$fyE&$pYgnP@v $O&DPDpd@WkX;2~eṢo5pcGxÉND0>B,@ :jٍA'cŹ9jk,E"\FXGP4헅 gFoPpɏS6ȞL*SiK)'K|HaMXQn~`S"a‘H&ip:N'Kz;X935@sx\?Џß#*>NO2-͓tT?r>xxM՛_\@ PQҕ`7! YDŽg Vx.I2\FXfo+nTK9oڲ*=cAFz_2*vV+/WaS9Cc^xM=H;a·@`Q|L+*qV&SKoZ[h֪;/}x?oSz}:CIIv/ y&D$^d5|-ᤕLPKZ._""0fonts/poppins/pxiDyp8kv8JHgFVrJJLmr19VF9eO.woff2nu[wOF2" D$!.`T < 66$h  536V(U/9uD#`:|{7ث]g6OryqϷ%?I)ALQ~n4n9 "Q H'X?QӗӌE͌J rƏMAjZuAd9@*-"5B Q[q ڼqr샨ٶgLٖ뙸!qէA:ܐި٫!'\r=y8nZ[FSrCj^ujdN2>QaZb1fIYq,$~+_ ѝAd8vF]3,x}YL s6k}EJ\mY7q.k11РҺp*(;8^%# ҆}kh:ZϥdM쥔q>;RU5۞nEP }S|љU716F ']RL*9(x5rLԟeo|_lh?FKSrLQu=I ({IBXC^O2Emh_.2.'/kzG%(hi6I95>_2U^"N0n6<5XJ͙.D@yU};ݾ!U:QڈMBsi}Aii,_C݉Tt:r_;u߹>,2޹sl5x"Cw Dqi54=&R$ 9H9!hOMĈr)>A@S8Bs//HF 4C3Xd^i6HrF7hdQgfx; $[BPA"S<]SĹB9|svpgr~AvHjOκMlHz)ĮIhD!`w\ѝ_zz֌Mҕpj\XI-mhlzC'NV٦<]5o<M 2$r]:zqo-SlΜӁbEn&:\o؝?5I _[o钃e`ZC>iH&z{T]>zXMTUL(iIj'ETYSC[WGY5ln|m`1vw!5|r{"v́W6 s9ߠBcFA&ek@Sidz=*mMu+21k~D@g&_mUL=`= .aX'kXjgGU:mͦ%*Δ'cZʷ ́Ⅾ#g+Zc]չE#MUV}JTWUUV;=d4pgnAΊYC6N/k,3bDg?9,.'? xFylusAͨ>~)!-7K)܎#NM1esZSG@h@c6*G1i[`k{B|}93[;t[ υ6D؈-,lL ղ بolmݙ{3dnt KE: :pCQTXa6KPHg+I`) E5,fo[ʇ"+/"v?b<9^eH\ojkiƑ ,6^2,{<ހo4 TSmܸIy^1z 0 B4gÕb['ҥH Yt E#~8Э BP 3l4,:/1wڇl!UdSp+,7#Ba3zmIֳD$CL׊kJyc$'[Gva-Šw[1X0,]uh0717ʣ_|w)x\p?`4V Dt^% 0ZAMtNxOSR,V z]bNbTu'Hk)˛|2˵ DB&S˩~fs'#kMU` F10} tH.) |ftC^An\B! ]1ӕ % %HFXpjE]V"/?AIJDTDcjW0;8hU?dG|َY,[}ȗLiD$Be%lya'5'{aٻ/ߖ|l(;`U(f+ mOYC?tJp/LvjWtj0vر7@l}PϦj{*zpH 1#4&GVz38٘TeM!3m><h-FQjlZ)&@&\#RoaAٱEXn%FKZq!"u#,Z I޲6;\#*qAT%3|فY'@s[mV-TBBٹ_~1QחE-vud߆ӣ|[-Q^HG=D=X >AF,y%iL_HW-hFMLlٸSWk7`2G,qO0. /$nj2( Oۥ;)Dj.#]c!T6vD7q;uV| ZO8P!{[v@YAن)*I{0< wJJɂSQnڋHF֗+)mJ0 SXBƃ(_|2?3$s(\i1H~߳x3B}GLoɬGڎV*ƨj*桾-zjjmjg`n5k,ǟ2fsc%"*/ Mzf 5ݾߺjR $xDNBPMAH َّقYul`vdɿ(8P[g=BZezE/#Rq !(zP~jb%OQ@U=,[r䉈x 3d}KkkK53ٴeL^XC5صO^-WÎ^A+sU)kJ} acM+wcOV2FVڵ:6.h~H&14nGJIKAs0QAv8sy詨0r, I3AI.Эš Uj b*M9Q/؁OW%ŭ-Z?xޔT[oUXTDbR8>m>2m$3 fG"̧Ik_ʉؾoL_j{RNǖ`E8Vou+chu79F%r`皝vUYXOr[t_C~ q׋fisE@mVua6Ռt~0_쵮). \'LډSu`.:7*:6lRWl^3h:>hzn+!-v [䶵#)r [tQM]AtwLd~}x\ E0j= ͢I\|4ሹ879|e)*/L;.|Is9JM>qgsz'0hrSj:Z+F>Q:Տt5l٠4ɚ8[jƥ]?wPUZo#ы- /)(Q9CRm>n-& |r,j븉IO7jt$ ӣRO/(s d;T14 E X4R CVlFYֲ1!ߎrm ɕCV:beG^r`Mv؛pHqb7d{Dξ'^'K$r1Af6޹Dr^,@Tm0s̐U#1y4jB:u=GHή -@FOjCEsB#PN4,G4B1*q%j!#jΧJhc5=i'= ߜ(Tχ ~g.:c=!5;uw4q>اD &g]Fsrc82hTJ4 òJH4Pч4*l"GҷC.ې@ukSCov]lI: ) >Cn Kzm5?\<˯Mj~/}$&'$lHH9bpv pl }#h>L\#z#th-48M;O<<,]^{ť2\@yQr6d Yv(iD➘GQ9d^%]^!>O+ x~z;06L!؂Q,1_冝60oOl2Ã$}s":NP{kp<,MRؿYK ch<@CpO/(|燅[gCx>tZBJ &d=ՠ__=Q5V/k!pz<6u7=[eg.z2Vhˬ7EV CS5hyL|^*Y Zux3Ob$hw%%H;~dY/.sj5hՅ(};0obUR'V- \,$48Xp$Z)IxD$Ҥː)K610qp(PH1"bR2r J*jZ:zF&fV6ʔPJv wԈQ1ߴcXa[wDp}:`Ɵ#^[fթI75 z}b;>1~4ǯICVi:7}/t^n]z%3`~2gM>sλ\q']wլ0DmιX _پCΒ%E|Hp`PKZmO0fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2nu[wOF2 3\A.`( dy l6$T TA*UFiDQ!h$p27ǯѭ0&PЎb4S2`T-2h<<~Rݏd469BcEkY5 nWpxH =-0'|.S֐s,$EHy]=v0<͞$DwJD+|Vh @OYԷjkwsjfח5(zK&YJd0c7X;R:z0P:<^-Mc~!Ml>"n.#9IY373l}oj24/dkqw>ByIP:*]u::C,}FXFt](YNݣt Q X!בzUL2ڰK.mBwT{wҕM]^ypB=yQbhVOǝ)VO`߈4TW;F |oyle:$+2kB+hRK3,Ud|}]1OXS.TW @b3(Oq*Qa='ln$pkbc"C1~gsp?K/}sΞi/By>8`B~X`wPym)##h# 1wb恠i;,e:u.ϠӤ.DR“64\H܃04B֙ Q]tp*% V: OMZ*M;v gsJ d A SJr.R VP Td!_DiߐuU)w [:Tas Ԫzx~u8s i !_N%$\FX:a&^AT v\oGӇPxZ~]ȝ*Oa1:+7cMd-wB~U[қh\j%l0~[kPZm#5x(%@fmkP~ Mx389v<+zB2:RiuC  `ep&IZ53лыP4GxE:LӍnc7{OAS+mMyf>ØD7,֟kmu#&~ShqV涭Eˤ/niyk?BP("q\Vx^7S\yxtrVʋdYzߠ7_^6S׉L?048^S]:Tb?q_M.7릧ˌfWarj* upmr+w5KkP5 Q2jƙ[V._ 9̸6@Ӓ?,N jk5tsu:BFDEGe7x~f44uݻH05DlO ImՅP%ɠ?*+w= +J)³P4~N "r/2噕dLc%RcJ {Žn,'%U-] ղCQ!.+E`e/ m/̂6:) d݃S!ߌ?d`.6U5q(HN` ]ۿG ~DNd3mI[t}bf;%.'&pJ!4^3RU!V6XCLn"rEFJd!$ެ1LB uXk0zDZU0S3Sdb~ (gT}ټq^=x~i2ʍ34؅}>Y/@I&¢wx:x],5佽bW,goCe[Ih^*UU=\UeH06?5d./9rO<E9 x^vqChiW=~Xhe QuY xf7Jzb$5BƜn'wfevRCSIPkZnLw,v%z88?hs ^xjɎcoҴI x]^DB#53R Я,J=$C|qEq썌;lnz^GA)W*\z],?s3fm S7R[BC·w[ eH*ɱ7*x'>={z%k͊5kV$$8ܕZ$L"gwd>OڂAf߀/g}p BYK#1%>lV'';_T&8Sc2 O8N̚m9JYa)Ip, >qFJ0 .Rr#WxB#@sD= MYy,-mdޕxuG5=*bjm+^<[~9%g1J_ևDa`Ўt$/^.CPMMwiWFJ&wGHD_C.hsNW粨XAsru2rgphq>A7  ^Kwk7߄>@w ,)$VWܖoʷ'U׸J$VjU*s޲|-@R E\i n s `'751xqL 34dzkc/`1mgVR7ydQFo =QuT=^'?ÈH4rQ+E$6^"pwS)B>nK* ўP|jOf&"7tB!8?$AY^dQ1 ّ祀]_> .h=X2aUr.v.bH$嫑ԡ%z0zzI,/9q~I{f}z*2~/`cv'͑K܅F{JK')HݧS4gv0u_iCk۟PƏ}=N}=>UM^*z/@K9޳:ԭ#@<[m?26cESFr7=%G|M#tNS.U9fvvGڏ2)F =oO­QZ ; t*2^_f¤[gуlق,w)]];=\s|ESo_sCs|٥74  @ESq [o˻<=JTZ& {O#f ')2QdkF\$T e56[|FQWJU/Y+w9 ʰ zXIM q֠\P;BBݝ(&ZVI WB߉w|SO(%2?P\uӸ~ISQC)^g }TIHƼ{l GadF#q%F ck*9񝏉-ꭀ+c!~ --@3`-4xҎFkǘRo\cBL,.빤!}m*irZuʹjUĔ\h*:vU ujѥ"#SIM u |ʱiY4UYꬶ>,[e, ȦSUXhVekjS-7)o3+Ա/aVCSL@ǫyHyX|@"x>t1y vYд-:u]~J|έE_ y814ZuZ ͲPKZyadvanced-cache.phpnu[ $value){ if(in_array($query, $ignored_parameters)){ unset($parsed_query[$query]); continue; } } $uri = $parsed_uri['path'] . (!empty($parsed_query) ? '?'.http_build_query($parsed_query) : ''); } // We dont know if the site is a /directory based so we just hit and try $site_dir = ''; $path = ''; if(!empty($parsed_uri['path'])){ $path = trim($parsed_uri['path'], '/'); } if(strpos($path, '/') !== FALSE){ $parsed_path = explode('/', $path); $site_dir = $parsed_path[0]; } elseif(!empty($path)){ $site_dir = $path; } $config_file = WP_CONTENT_DIR . '/speedycache-config/' . basename($_SERVER['HTTP_HOST']) . '.php'; if(!file_exists($config_file)){ $config_file = WP_CONTENT_DIR . '/speedycache-config/' . basename($_SERVER['HTTP_HOST']) . '.'. $site_dir . '.php'; if(!file_exists($config_file)){ return; } } if(!file_exists($config_file)){ return; } // Accessing the config file include_once $config_file; if(empty($speedycache_ac_config) || !is_array($speedycache_ac_config)){ return; } if(empty($speedycache_ac_config['settings']['status'])){ return; } // Exclude pages|useragent|cookie if(speedycache_ac_excludes($speedycache_ac_config)){ return; } if(!empty($speedycache_ac_config['user_agents']) && preg_match('/'.preg_quote($speedycache_ac_config['user_agents']).'/', $_SERVER['HTTP_USER_AGENT'])){ return; } if(empty($speedycache_ac_config['settings']['logged_in_user']) && preg_grep('/^wordpress_logged_in_/i', array_keys($_COOKIE))){ return false; } // check comment author if(preg_grep('/comment_author_/i', array_keys($_COOKIE))){ return false; } $cache_path = WP_CONTENT_DIR.'/cache/speedycache/' . basename($_SERVER['HTTP_HOST']); // Check for Mobile if(!empty($speedycache_ac_config['settings']['mobile']) && preg_match('/Mobile|Android|Silk\/|Kindle|BlackBerry|Opera (Mini|Mobi)/i', $_SERVER['HTTP_USER_AGENT'])) { if(!empty($speedycache_ac_config['settings']['mobile_theme'])){ $cache_path .= '/mobile-cache' . $uri; } else { return; // If just mobile is enabled then we don't want to show desktop verison of cache on mobile. } } else { // get path of file $cache_path .= '/all'. $uri; } $file_name = 'index'; if(isset($_COOKIE['wcu_current_currency'])){ $file_name .= '-' . strtolower($_COOKIE['wcu_current_currency']); $file_name = preg_replace('/\.{2,}/', '', $file_name); // Cleaning the path } $file_name .= '.html'; //check file extension $serving_gz = ''; if(isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE && !empty($speedycache_ac_config['settings']['gzip']) && @file_exists($cache_path . '/'. $file_name.'.gz')){ $serving_gz = '.gz'; header('Content-Encoding: gzip'); } if(!file_exists($cache_path . '/'.$file_name . $serving_gz)){ $serving_gz = ''; } if(!file_exists($cache_path . '/'.$file_name . $serving_gz)){ return; } if(!headers_sent()){ header('x-speedycache-source: PHP'); } $cache_created_at = filemtime($cache_path. '/'.$file_name . $serving_gz); header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s', $cache_created_at) . ' GMT'); $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) : 0; if($if_modified_since === $cache_created_at){ header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified', true, 304); header('Cache-Control: no-cache, must-revalidate'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); exit(); } readfile($cache_path. '/'.$file_name . $serving_gz); exit(); } function speedycache_ac_excludes($excludes){ if(empty($excludes) || !is_array($excludes)){ return false; } $preg_match_rule = ''; $request_url = !empty($_SERVER['REQUEST_URI']) ? urldecode(trim($_SERVER['REQUEST_URI'], '/')) : ''; foreach($excludes as $key => $value){ $value['type'] = !empty($value['type']) ? $value['type'] : 'page'; if(!empty($value['prefix']) && $value['type'] == 'page'){ $value['content'] = trim($value['content']); $value['content'] = trim($value['content'], '/'); if($value['prefix'] == 'exact' && strtolower($value['content']) == strtolower($request_url)){ return true; }else{ $preg_match_rule = preg_quote($value['content'], '/'); if($preg_match_rule){ if(preg_match('/'.$preg_match_rule.'/i', $request_url)){ return true; } } } }else if($value['type'] == 'useragent'){ if(preg_match('/'.preg_quote($value['content'], '/').'/i', $_SERVER['HTTP_USER_AGENT'])){ return true; } }else if($value['type'] == 'cookie'){ if(isset($_SERVER['HTTP_COOKIE'])){ if(preg_match('/'.preg_quote($value['content'], '/').'/i', $_SERVER['HTTP_COOKIE'])){ return true; } } } } } speedycache_ac_serve_cache();PKZ5]Ц%plugins/wps-limit-login/composer.jsonnu[{ "name":"wpserveur/wps-limit-login", "description":"Limit connection attempts by IP address.", "keywords":[ "login", "limit login", "security", "authentication", "WPS Limit Login", "wps-limit-login", "Limit Login Attempts", "Limit Login Attempts Reloaded", "Limit Login Attempts Revamped" ], "homepage":"https://www.wpserveur.net/", "authors":[ { "name":"WPServeur", "email":"nicolas@wpserveur.net", "homepage":"https://www.wpserveur.net/", "role": "Lead Developer" } ], "type":"wordpress-plugin", "minimum-stability":"stable", "license":"GPL-3.0+", "require":{ "php":">=5.6.0" } }PKZ88$plugins/wps-limit-login/autoload.phpnu[register(); * * // register the base directories for the namespace prefix * $loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/src'); * $loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/tests'); * * The following line would cause the autoloader to attempt to load the * \Foo\Bar\Qux\Quux class from /path/to/packages/foo-bar/src/Qux/Quux.php: * * prefixes[ $prefix ] ) === false ) { $this->prefixes[ $prefix ] = array(); } // retain the base directory for the namespace prefix if ( $prepend ) { array_unshift( $this->prefixes[ $prefix ], $base_dir ); } else { array_push( $this->prefixes[ $prefix ], $base_dir ); } } /** * Loads the class file for a given class name. * * @param string $class The fully-qualified class name. * * @return mixed The mapped file name on success, or boolean false on * failure. */ public function loadClass( $class ) { // the current namespace prefix $prefix = $class; // work backwards through the namespace names of the fully-qualified // class name to find a mapped file name while( false !== $pos = strrpos( $prefix, '\\' ) ) { // retain the trailing namespace separator in the prefix $prefix = substr( $class, 0, $pos + 1 ); // the rest is the relative class name $relative_class = substr( $class, $pos + 1 ); // try to load a mapped file for the prefix and relative class $mapped_file = $this->loadMappedFile( $prefix, $relative_class ); if ( $mapped_file ) { return $mapped_file; } // remove the trailing namespace separator for the next iteration // of strrpos() $prefix = rtrim( $prefix, '\\' ); } // never found a mapped file return false; } /** * Load the mapped file for a namespace prefix and relative class. * * @param string $prefix The namespace prefix. * @param string $relative_class The relative class name. * * @return mixed Boolean false if no mapped file can be loaded, or the * name of the mapped file that was loaded. */ protected function loadMappedFile( $prefix, $relative_class ) { // are there any base directories for this namespace prefix? if ( isset( $this->prefixes[ $prefix ] ) === false ) { return false; } // look through base directories for this namespace prefix foreach ( $this->prefixes[ $prefix ] as $base_dir ) { // replace the namespace prefix with the base directory, // replace namespace separators with directory separators // in the relative class name, append with .php $file = $base_dir . strtolower( str_replace( array( '\\', '_' ), array( '/', '-' ), $relative_class ) ) . '.php'; // if the mapped file exists, require it if ( $this->requireFile( $file ) ) { // yes, we're done return $file; } } // never found it return false; } /** * If a file exists, require it from the file system. * * @param string $file The file to require. * * @return bool True if the file exists, false if not. */ protected function requireFile( $file ) { if ( file_exists( $file ) ) { require $file; return true; } return false; } } // instantiate the loader $loader = new \WPS\WPS_Limit_Login\Autoloader; // register the autoloader $loader->register(); // register the base directories for the namespace prefix $loader->addNamespace( 'WPS\WPS_Limit_Login', WPS_LIMIT_LOGIN_DIR . 'classes' ); /** * Vendor autoload * @since 2.1.0 */ if ( file_exists( WPS_LIMIT_LOGIN_DIR . 'vendor/autoload.php' ) ) { require WPS_LIMIT_LOGIN_DIR . 'vendor/autoload.php'; }PKZ+  'plugins/wps-limit-login/classes/pub.phpnu[ $title, 'plugin' => $plugin, 'description' => $description, 'wps_pour_tous' => $wps_pour_tous, 'img_64' => $post_metas['img_64'][0], ); } return $adds; } }PKZ)a*plugins/wps-limit-login/classes/plugin.phpnu[ WPS_LIMIT_LOGIN_REMOTE_ADDR, /* Lock out after this many tries */ 'wps_limit_login_allowed_retries' => 3, /* Lock out for this many seconds */ 'wps_limit_login_lockout_duration' => 1200, // 20 minutes /* Long lock out after this many lockouts */ 'wps_limit_login_allowed_lockouts' => 2, /* Long lock out for this many seconds */ 'wps_limit_login_long_duration' => 86400, // 24 hours, /* Reset failed attempts after this many seconds */ 'wps_limit_login_valid_duration' => 43200, // 12 hours /* Also limit malformed/forged cookies? */ 'cookies' => true, /* Notify on lockout. Values: '', 'email' */ 'wps_limit_lockout_notify' => '', /* If notify by email, do so after this number of lockouts */ 'wps_limit_login_notify_email_after' => 2, 'wps_limit_login_whitelist' => array(), 'wps_limit_login_blacklist' => array(), 'wps_limit_login_show_credit_link' => true, ); /** * Admin options page slug * @var string */ private $_options_page_slug = 'wps-limit-login'; /** * Errors messages * * @var array */ public $_errors = array(); private bool $network_mode; private bool $allow_local_options; private bool $use_local_options; protected function init() { if ( is_multisite() ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $this->network_mode = is_multisite() && is_plugin_active_for_network( WPS_LIMIT_LOGIN_BASENAME ); if ( $this->network_mode ) { $this->allow_local_options = get_site_option( 'wps_limit_login_allow_local_options', false ); $this->use_local_options = $this->allow_local_options && get_option( 'wps_limit_login_use_local_options', false ); } else { $this->allow_local_options = true; $this->use_local_options = true; } add_action( 'wp_login_failed', array( $this, 'wp_login_failed' ) ); add_filter( 'wp_authenticate_user', array( $this, 'wp_authenticate_user' ), 99999, 2 ); add_filter( 'shake_error_codes', array( $this, 'failure_shake' ) ); add_action( 'login_head', array( $this, 'add_error_message' ) ); add_action( 'login_errors', array( $this, 'fixup_error_messages' ) ); if ( $this->network_mode ) { add_action( 'network_admin_menu', array( $this, 'network_admin_menu' ) ); } if ( $this->allow_local_options ) { add_action( 'admin_menu', array( $this, 'admin_menu' ) ); } // Add notices for XMLRPC request add_filter( 'xmlrpc_login_error', array( $this, 'xmlrpc_error_messages' ) ); // Add notices to woocommerce login page add_action( 'wp_head', array( $this, 'add_wc_notices' ) ); /* * This action should really be changed to the 'authenticate' filter as * it will probably be deprecated. That is however only available in * later versions of WP. */ add_action( 'wp_authenticate', array( $this, 'track_credentials' ), 10, 2 ); add_action( 'authenticate', array( $this, 'authenticate_filter' ), 5, 3 ); if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) { add_action( 'init', array( $this, 'check_xmlrpc_lock' ) ); } add_action( 'wp_ajax_wps-limit-login-unlock', array( $this, 'ajax_unlock' ) ); add_action( 'admin_enqueue_scripts', array( __CLASS__, 'admin_enqueue_scripts' ) ); add_filter( 'wps_limit_login_whitelist_ip', array( $this, 'check_whitelist_ips' ), 10, 2 ); add_filter( 'wps_limit_login_blacklist_ip', array( $this, 'check_blacklist_ips' ), 10, 2 ); add_action( 'login_form', array( $this, 'login_form' ) ); add_action( 'login_enqueue_scripts', array( $this, 'login_enqueue_scripts' ) ); add_action( 'admin_init', array( $this, 'reinitialize' ) ); add_action( 'admin_init', array( __CLASS__, 'load_plugin' ) ); if ( is_multisite() ) { add_filter( 'network_admin_plugin_action_links_' . WPS_LIMIT_LOGIN_BASENAME, array( $this, 'plugin_action_links' ) ); } add_filter( 'plugin_action_links_' . WPS_LIMIT_LOGIN_BASENAME, array( $this, 'plugin_action_links' ) ); add_action( 'wp_dashboard_setup', array( $this, 'add_dashboard_widgets' ) ); add_filter( 'admin_footer_text', array( __CLASS__, 'admin_footer_text' ), 1 ); add_filter( 'admin_footer', array( __CLASS__, 'admin_footer' ) ); add_action( 'wp_ajax_wpslimitlogin_rated', array( __CLASS__, 'wpslimitlogin_rated' ) ); add_filter( 'wps_bidouille_not_display_pub_array', array( __CLASS__, 'wps_bidouille_not_display_pub_array' ) ); } public function check_xmlrpc_lock() { if ( is_user_logged_in() || $this->is_ip_whitelisted() ) { return false; } if ( $this->is_ip_blacklisted() || ! $this->is_limit_login_ok() ) { status_header( 403, 'Forbidden' ); exit; } } /** * @param $allow * @param $ip * * @return bool */ public function check_whitelist_ips( $allow, $ip ) { return $this->ip_in_range( $ip, (array) $this->get_option( 'wps_limit_login_whitelist' ) ); } /** * @param $allow * @param $ip * * @return bool */ public function check_blacklist_ips( $allow, $ip ) { return $this->ip_in_range( $ip, (array) $this->get_option( 'wps_limit_login_blacklist' ) ); } /** * @param $ip * @param $list * * @return bool */ public function ip_in_range( $ip, $list ) { foreach ( $list as $range ) { if ( strpos( $range, '/' ) !== false ) { // $range is in IP/NETMASK format list( $range, $netmask ) = explode( '/', $range, 2 ); if ( strpos( $netmask, '.' ) !== false ) { // $netmask is a 255.255.0.0 format $netmask = str_replace( '*', '0', $netmask ); $netmask_dec = ip2long( $netmask ); return ( ( ip2long( $ip ) & $netmask_dec ) == ( ip2long( $range ) & $netmask_dec ) ); } else { // $netmask is a CIDR size block // fix the range argument $x = explode( '.', $range ); while ( count( $x ) < 4 ) { $x[] = '0'; } list( $a, $b, $c, $d ) = $x; $range = sprintf( "%u.%u.%u.%u", empty( $a ) ? '0' : $a, empty( $b ) ? '0' : $b, empty( $c ) ? '0' : $c, empty( $d ) ? '0' : $d ); $range_dec = ip2long( $range ); $ip_dec = ip2long( $ip ); # Strategy 1 - Create the netmask with 'netmask' 1s and then fill it to 32 with 0s #$netmask_dec = bindec(str_pad('', $netmask, '1') . str_pad('', 32-$netmask, '0')); # Strategy 2 - Use math to create it $wildcard_dec = pow( 2, ( 32 - $netmask ) ) - 1; $netmask_dec = ~$wildcard_dec; return ( ( $ip_dec & $netmask_dec ) == ( $range_dec & $netmask_dec ) ); } } else { // range might be 255.255.*.* or 1.2.3.0-1.2.3.255 if ( strpos( $range, '*' ) !== false ) { // a.b.*.* format // Just convert to A-B format by setting * to 0 for A and 255 for B $lower = str_replace( '*', '0', $range ); $upper = str_replace( '*', '255', $range ); $range = "$lower-$upper"; } if ( strpos( $range, '-' ) !== false ) { // A-B format list( $lower, $upper ) = explode( '-', $range, 2 ); $lower_dec = (float) sprintf( "%u", ip2long( $lower ) ); $upper_dec = (float) sprintf( "%u", ip2long( $upper ) ); $ip_dec = (float) sprintf( "%u", ip2long( $ip ) ); return ( ( $ip_dec >= $lower_dec ) && ( $ip_dec <= $upper_dec ) ); } if ( $range === $ip ) { return true; } } } return false; } /** * @param $error * * @return \IXR_Error */ public function xmlrpc_error_messages( $error ) { if ( ! class_exists( 'IXR_Error' ) ) { return $error; } if ( ! $this->is_limit_login_ok() ) { return new \IXR_Error( 403, $this->error_msg() ); } $ip = $this->get_address(); $retries = $this->get_option( 'wps_limit_login_retries' ); $valid = $this->get_option( 'wps_limit_login_retries_valid' ); /* Should we show retries remaining? */ if ( ! is_array( $retries ) || ! is_array( $valid ) ) { /* no retries at all */ return $error; } if ( ! isset( $retries[ $ip ] ) || ! isset( $valid[ $ip ] ) || time() > $valid[ $ip ] ) { /* no: no valid retries */ return $error; } if ( ( $retries[ $ip ] % $this->get_option( 'wps_limit_login_allowed_retries' ) ) == 0 ) { /* no: already been locked out for these retries */ return $error; } $remaining = max( ( $this->get_option( 'wps_limit_login_allowed_retries' ) - ( $retries[ $ip ] % $this->get_option( 'wps_limit_login_allowed_retries' ) ) ), 0 ); return new \IXR_Error( 403, sprintf( _n( "%d attempt remaining.", "%d attempts remaining.", $remaining, 'wps-limit-login' ), $remaining ) ); } /** * Errors on WooCommerce account page */ public function add_wc_notices() { global $wps_limit_login_just_lockedout; if ( ! function_exists( 'is_account_page' ) || ! function_exists( 'wc_add_notice' ) ) { return false; } /* * During lockout we do not want to show any other error messages (like * unknown user or empty password). */ if ( empty( $_POST ) && ! $this->is_limit_login_ok() && ! $wps_limit_login_just_lockedout ) { if ( is_account_page() ) { wc_add_notice( $this->error_msg(), 'error' ); } } } /** * @param $user * @param $username * @param $password * * @return WP_Error | WP_User */ public function authenticate_filter( $user, $username, $password ) { if ( ! empty( $username ) && ! empty( $password ) ) { $ip = $this->get_address(); // Check if ip is blacklisted if ( ! $this->is_ip_whitelisted( $ip ) && $this->is_ip_blacklisted( $ip ) ) { remove_filter( 'login_errors', array( $this, 'fixup_error_messages' ) ); remove_filter( 'login_head', array( $this, 'add_error_message' ) ); remove_filter( 'wp_login_failed', array( $this, 'wp_login_failed' ) ); remove_filter( 'wp_authenticate_user', array( $this, 'wp_authenticate_user' ), 99999 ); remove_filter( 'login_head', array( $this, 'add_error_message' ) ); remove_filter( 'login_errors', array( $this, 'fixup_error_messages' ) ); remove_filter( 'authenticate', 'wp_authenticate_username_password', 20 ); remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 ); $user = new \WP_Error(); $user->add( 'ip_blacklisted', __( 'ERROR: Too many failed login attempts.', 'wps-limit-login' ) ); } elseif ( $this->is_ip_whitelisted( $ip ) ) { remove_filter( 'wp_login_failed', array( $this, 'wp_login_failed' ) ); remove_filter( 'wp_authenticate_user', array( $this, 'wp_authenticate_user' ), 99999 ); remove_filter( 'login_head', array( $this, 'add_error_message' ) ); remove_filter( 'login_errors', array( $this, 'fixup_error_messages' ) ); } } return $user; } /** * Enqueue css */ public static function admin_enqueue_scripts( $hook ) { if ( false === strpos( $hook, 'wps-limit-login' ) ) { return; } wp_enqueue_style( 'wps-limit-login-fa', WPS_LIMIT_LOGIN_URL . 'assets/fontawesome/web-fonts-with-css/fontawesome-all.min.css' ); wp_enqueue_script( 'wps-limit-login-fa', WPS_LIMIT_LOGIN_URL . 'assets/fontawesome/fontawesome-all.min.js', array(), false, true ); wp_enqueue_style( 'wps-limit-login', WPS_LIMIT_LOGIN_URL . 'assets/css/style.css' ); wp_enqueue_style( 'plugin-install' ); wp_enqueue_script( 'plugin-install' ); wp_enqueue_script( 'updates' ); add_thickbox(); } /** * Add admin options page */ public function network_admin_menu() { add_submenu_page( 'settings.php', 'WPS Limit Login', 'WPS Limit Login', 'manage_options', $this->_options_page_slug, array( $this, 'options_page' ) ); } public function admin_menu() { add_options_page( 'WPS Limit Login', 'WPS Limit Login', 'manage_options', $this->_options_page_slug, array( $this, 'options_page' ) ); } /** * Get the correct options page URI * * @return mixed */ public function get_wps_limit_login_options_page_uri() { if ( is_network_admin() ) { return network_admin_url( 'settings.php?page=wps-limit-login' ); } return menu_page_url( $this->_options_page_slug, false ); } /** * Get option by name * * @param $option_name * * @return null */ public function get_option( $option_name, $local = null ) { if ( is_null( $local ) ) { $local = $this->use_local_options; } $func = $local ? 'get_option' : 'get_site_option'; $value = $func( $option_name, null ); if ( is_null( $value ) && isset( $this->default_options[ $option_name ] ) ) { $value = $this->default_options[ $option_name ]; } return $value; } /** * @param $option_name * @param $value * @param null $local * * @return mixed */ public function update_option( $option_name, $value, $local = null ) { if ( is_null( $local ) ) { $local = $this->use_local_options; } $func = $local ? 'update_option' : 'update_site_option'; return $func( $option_name, $value ); } /** * @param $option_name * @param $value * @param null $local * * @return mixed */ public function add_option( $option_name, $value, $local = null ) { if ( is_null( $local ) ) { $local = $this->use_local_options; } $func = $local ? 'add_option' : 'add_site_option'; return $func( $option_name, $value, '', 'no' ); } /** * Setup main options */ public function sanitize_options() { if ( $this->get_option( 'wps_limit_login_notify_email_after' ) > $this->get_option( 'wps_limit_login_allowed_lockouts' ) ) { $this->update_option( 'wps_limit_login_notify_email_after', $this->get_option( 'wps_limit_login_allowed_lockouts' ) ); } if ( isset( $_POST['lockout_notify_email'] ) ) { $this->update_option( 'wps_limit_lockout_notify', 'email' ); } else { $this->update_option( 'wps_limit_lockout_notify', '' ); } $ctype = $this->get_option( 'wps_limit_login_client_type' ); if ( $ctype != WPS_LIMIT_LOGIN_REMOTE_ADDR && $ctype != 'HTTP_X_FORWARDED_FOR' ) { $this->update_option( 'wps_limit_login_client_type', WPS_LIMIT_LOGIN_REMOTE_ADDR ); } } /** * Check if it is ok to login * * @return bool */ public function is_limit_login_ok() { $ip = $this->get_address(); /* Check external whitelist filter */ if ( $this->is_ip_whitelisted( $ip ) ) { return true; } /* lockout active? */ $lockouts = $this->get_option( 'wps_limit_login_lockouts' ); return ( ! is_array( $lockouts ) || ! isset( $lockouts[ $ip ] ) || time() >= $lockouts[ $ip ] ); } /** * Action when login attempt failed * * Increase nr of retries (if necessary). Reset valid value. Setup * lockout if nr of retries are above threshold. And more! * * A note on external whitelist: retries and statistics are still counted and * notifications done as usual, but no lockout is done. * * @param $username * * @return bool */ public function wp_login_failed( $username ) { $ip = $this->get_address(); /* if currently locked-out, do not add to retries */ $lockouts = $this->get_option( 'wps_limit_login_lockouts' ); if ( ! is_array( $lockouts ) ) { $lockouts = array(); } if ( isset( $lockouts[ $ip ] ) && time() < $lockouts[ $ip ] ) { return false; } /* Get the arrays with retries and retries-valid information */ $retries = $this->get_option( 'wps_limit_login_retries' ); $valid = $this->get_option( 'wps_limit_login_retries_valid' ); if ( ! is_array( $retries ) ) { $retries = array(); $this->add_option( 'wps_limit_login_retries', $retries ); } if ( ! is_array( $valid ) ) { $valid = array(); $this->add_option( 'wps_limit_login_retries_valid', $valid ); } /* Check validity and add one to retries */ if ( isset( $retries[ $ip ] ) && isset( $valid[ $ip ] ) && time() < $valid[ $ip ] ) { $retries[ $ip ] ++; } else { $retries[ $ip ] = 1; } $valid[ $ip ] = time() + $this->get_option( 'wps_limit_login_valid_duration' ); /* lockout? */ if ( $retries[ $ip ] % $this->get_option( 'wps_limit_login_allowed_retries' ) != 0 ) { /* * Not lockout (yet!) * Do housecleaning (which also saves retry/valid values). */ $this->cleanup( $retries, null, $valid ); return false; } $whitelisted = $this->is_ip_whitelisted( $ip ); $retries_long = $this->get_option( 'wps_limit_login_allowed_retries' ) * $this->get_option( 'wps_limit_login_allowed_lockouts' ); /* * Note that retries and statistics are still counted and notifications * done as usual for whitelisted ips , but no lockout is done. */ if ( $whitelisted ) { if ( $retries[ $ip ] >= $retries_long ) { unset( $retries[ $ip ] ); unset( $valid[ $ip ] ); } } else { global $wps_limit_login_just_lockedout; $wps_limit_login_just_lockedout = true; /* setup lockout, reset retries as needed */ if ( $retries[ $ip ] >= $retries_long ) { /* long lockout */ $lockouts[ $ip ] = time() + $this->get_option( 'wps_limit_login_long_duration' ); unset( $retries[ $ip ] ); unset( $valid[ $ip ] ); } else { /* normal lockout */ $lockouts[ $ip ] = time() + $this->get_option( 'wps_limit_login_lockout_duration' ); } } $this->cleanup( $retries, $lockouts, $valid ); $this->notify( $username ); $wps_limit_lockouts_total = $this->get_option( 'wps_limit_lockouts_total' ); if ( $wps_limit_lockouts_total === false || ! is_numeric( $wps_limit_lockouts_total ) ) { $this->add_option( 'wps_limit_lockouts_total', 1 ); } else { $this->update_option( 'wps_limit_lockouts_total', $wps_limit_lockouts_total + 1 ); } } /** * Handle notification in event of lockout * * @param $user * * @return bool */ public function notify( $user ) { $args = explode( ',', $this->get_option( 'wps_limit_lockout_notify' ) ); if ( empty( $args ) ) { return false; } foreach ( $args as $mode ) { switch ( trim( $mode ) ) { case 'email': $this->notify_email( $user ); break; } } $this->notify_log( $user ); } /** * Email notification of lockout to admin (if configured) * * @param $user * * @return bool */ public function notify_email( $user ) { $ip = $this->get_address(); $whitelisted = $this->is_ip_whitelisted( $ip ); $retries = $this->get_option( 'wps_limit_login_retries' ); if ( ! is_array( $retries ) ) { $retries = array(); } /* check if we are at the right nr to do notification */ if ( isset( $retries[ $ip ] ) && ( ( $retries[ $ip ] / $this->get_option( 'wps_limit_login_allowed_retries' ) ) % $this->get_option( 'wps_limit_login_notify_email_after' ) ) != 0 ) { return false; } /* Format message. First current lockout duration */ if ( ! isset( $retries[ $ip ] ) ) { /* longer lockout */ $count = $this->get_option( 'wps_limit_login_allowed_retries' ) * $this->get_option( 'wps_limit_login_allowed_lockouts' ); $lockouts = $this->get_option( 'wps_limit_login_allowed_lockouts' ); $time = round( $this->get_option( 'wps_limit_login_long_duration' ) / 3600 ); $when = sprintf( _n( '%d hour', '%d hours', $time, 'wps-limit-login' ), $time ); } else { /* normal lockout */ $count = $retries[ $ip ]; $lockouts = floor( $count / $this->get_option( 'wps_limit_login_allowed_retries' ) ); $time = round( $this->get_option( 'wps_limit_login_lockout_duration' ) / 60 ); $when = sprintf( _n( '%d minute', '%d minutes', $time, 'wps-limit-login' ), $time ); } $blogname = $this->use_local_options ? get_option( 'blogname' ) : get_site_option( 'site_name' ); $blogname = htmlspecialchars_decode( $blogname, ENT_QUOTES ); if ( $whitelisted ) { $subject = sprintf( __( "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" , 'wps-limit-login' ) , $blogname ); } else { $subject = sprintf( __( "[%s - WPS Limit Login] Too many failed login attempts" , 'wps-limit-login' ) , $blogname ); } $message = sprintf( __( "%d failed login attempts (%d lockout(s)) from IP: %s" , 'wps-limit-login' ) . "\r\n\r\n" , $count, $lockouts, $ip ); if ( $user != '' ) { $message .= sprintf( __( "Last user attempted: %s", 'wps-limit-login' ) . "\r\n\r\n", $user ); } if ( $whitelisted ) { $message .= __( "IP was NOT blocked because of external whitelist.", 'wps-limit-login' ); } else { $message .= sprintf( __( "IP was blocked for %s", 'wps-limit-login' ), $when ); } $admin_email = $this->use_local_options ? get_option( 'admin_email' ) : get_site_option( 'admin_email' ); @wp_mail( $admin_email, $subject, $message ); } /** * Logging of lockout (if configured) * * @param $user_login * * @return bool */ public function notify_log( $user_login ) { if ( ! $user_login ) { return false; } $log = $option = $this->get_option( 'wps_limit_login_logged' ); if ( ! is_array( $log ) ) { $log = array(); } $ip = $this->get_address(); /* can be written much simpler, if you do not mind php warnings */ if ( ! isset( $log[ $ip ] ) ) { $log[ $ip ] = array(); } if ( ! isset( $log[ $ip ][ $user_login ] ) ) { $log[ $ip ][ $user_login ] = array( 'counter' => 0 ); } elseif ( ! is_array( $log[ $ip ][ $user_login ] ) ) { $log[ $ip ][ $user_login ] = array( 'counter' => $log[ $ip ][ $user_login ], ); } $log[ $ip ][ $user_login ]['counter'] ++; $log[ $ip ][ $user_login ]['date'] = time(); if ( isset( $_POST['woocommerce-login-nonce'] ) ) { $gateway = 'WooCommerce'; } elseif ( isset( $GLOBALS['wp_xmlrpc_server'] ) && is_object( $GLOBALS['wp_xmlrpc_server'] ) ) { $gateway = 'XMLRPC'; } else { $gateway = 'WP Login'; } $log[ $ip ][ $user_login ]['gateway'] = $gateway; if ( $option === false ) { $this->add_option( 'wps_limit_login_logged', $log ); } else { $this->update_option( 'wps_limit_login_logged', $log ); } } /** * Check if IP is whitelisted. * * This function allow external ip whitelisting using a filter. Note that it can * be called multiple times during the login process. * * Note that retries and statistics are still counted and notifications * done as usual for whitelisted ips , but no lockout is done. * * Example: * function my_ip_whitelist($allow, $ip) { * return ($ip == 'my-ip') ? true : $allow; * } * add_filter('wps_limit_login_whitelist_ip', 'my_ip_whitelist', 10, 2); * * @param null $ip * * @return bool */ public function is_ip_whitelisted( $ip = null ) { if ( is_null( $ip ) ) { $ip = $this->get_address(); } $whitelisted = apply_filters( 'wps_limit_login_whitelist_ip', false, $ip ); return ( $whitelisted === true ); } public function is_ip_blacklisted( $ip = null ) { if ( is_null( $ip ) ) { $ip = $this->get_address(); } $blacklisted = apply_filters( 'wps_limit_login_blacklist_ip', false, $ip ); return ( $blacklisted === true ); } /** * Filter: allow login attempt? (called from wp_authenticate()) * * @param $user WP_User * @param $password * * @return \WP_Error */ public function wp_authenticate_user( $user, $password ) { if ( is_wp_error( $user ) || $this->check_whitelist_ips( false, $this->get_address() ) || $this->is_limit_login_ok() ) { return $user; } $error = new \WP_Error(); global $wps_limit_login_my_error_shown; $wps_limit_login_my_error_shown = true; if ( $this->is_ip_blacklisted( $this->get_address() ) ) { $error->add( 'ip_blacklisted', __( 'ERROR: Too many failed login attempts.', 'wps-limit-login' ) ); } else { // This error should be the same as in "shake it" filter below $error->add( 'too_many_retries', $this->error_msg() ); } return $error; } /** * Filter: add this failure to login page "Shake it!" * * @param $error_codes * * @return array */ public function failure_shake( $error_codes ) { $error_codes[] = 'too_many_retries'; return $error_codes; } /** * Keep track of if user or password are empty, to filter errors correctly * * @param $user * @param $password */ public function track_credentials( $user, $password ) { global $wps_limit_login_notempty_credentials; $wps_limit_login_notempty_credentials = ( ! empty( $user ) && ! empty( $password ) ); } /** * Should we show errors and messages on this page? * * @return bool */ public function login_show_msg() { if ( isset( $_GET['key'] ) ) { /* reset password */ return false; } $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : ''; return ( $action != 'lostpassword' && $action != 'retrievepassword' && $action != 'resetpass' && $action != 'rp' && $action != 'register' ); } /** * Construct informative error message * * @return string */ public function error_msg() { $ip = $this->get_address(); $lockouts = $this->get_option( 'wps_limit_login_lockouts' ); $msg = __( 'ERROR: Too many failed login attempts.', 'wps-limit-login' ) . ' '; if ( ! is_array( $lockouts ) || ! isset( $lockouts[ $ip ] ) || time() >= $lockouts[ $ip ] ) { /* Huh? No timeout active? */ $msg .= __( 'Please try again later.', 'wps-limit-login' ); return $msg; } $when = ceil( ( $lockouts[ $ip ] - time() ) / 60 ); if ( $when > 60 ) { $when = ceil( $when / 60 ); $msg .= sprintf( _n( 'Please try again in %d hour.', 'Please try again in %d hours.', $when, 'wps-limit-login' ), $when ); } else { $msg .= sprintf( _n( 'Please try again in %d minute.', 'Please try again in %d minutes.', $when, 'wps-limit-login' ), $when ); } return $msg; } /** * Add a message to login page when necessary */ public function add_error_message() { global $error, $wps_limit_login_my_error_shown; if ( ! $this->login_show_msg() || $wps_limit_login_my_error_shown ) { return false; } $msg = $this->get_message(); if ( $msg != '' ) { $wps_limit_login_my_error_shown = true; $error .= $msg; } return false; } /** * Fix up the error message before showing it * * @param $content * * @return string */ public function fixup_error_messages( $content ) { global $wps_limit_login_just_lockedout, $wps_limit_login_notempty_credentials, $wps_limit_login_my_error_shown; if ( ! $this->login_show_msg() ) { return $content; } /* * During lockout we do not want to show any other error messages (like * unknown user or empty password). */ if ( ! $this->is_limit_login_ok() && ! $wps_limit_login_just_lockedout ) { return $this->error_msg(); } /* * We want to filter the messages 'Invalid username' and * 'Invalid password' as that is an information leak regarding user * account names (prior to WP 2.9?). * * Also, if more than one error message, put an extra
tag between * them. */ $msgs = explode( "
\n", $content ); if ( strlen( end( $msgs ) ) == 0 ) { /* remove last entry empty string */ array_pop( $msgs ); } $count = count( $msgs ); $my_warn_count = $wps_limit_login_my_error_shown ? 1 : 0; if ( $wps_limit_login_notempty_credentials && $count > $my_warn_count ) { /* Replace error message, including ours if necessary */ $content = __( 'ERROR: Incorrect username or password.', 'wps-limit-login' ) . "
\n"; if ( $wps_limit_login_my_error_shown || $this->get_message() ) { $content .= "
\n" . $this->get_message() . "
\n"; } return $content; } elseif ( $count <= 1 ) { return $content; } $new = ''; while ( $count -- > 0 ) { $new .= array_shift( $msgs ) . "
\n"; if ( $count > 0 ) { $new .= "
\n"; } } return $new; } public function fixup_error_messages_wc( \WP_Error $error ) { $error->add( 1, __( 'WC Error' ) ); } /** * Return current (error) message to show, if any * * @return string */ public function get_message() { /* Check external whitelist */ if ( $this->is_ip_whitelisted() ) { return ''; } /* Is lockout in effect? */ if ( ! $this->is_limit_login_ok() ) { return $this->error_msg(); } return $this->retries_remaining_msg(); } /** * Construct retries remaining message * * @return string */ public function retries_remaining_msg() { $ip = $this->get_address(); $retries = $this->get_option( 'wps_limit_login_retries' ); $valid = $this->get_option( 'wps_limit_login_retries_valid' ); /* Should we show retries remaining? */ if ( ! is_array( $retries ) || ! is_array( $valid ) ) { /* no retries at all */ return ''; } if ( ! isset( $retries[ $ip ] ) || ! isset( $valid[ $ip ] ) || time() > $valid[ $ip ] ) { /* no: no valid retries */ return ''; } if ( ( $retries[ $ip ] % $this->get_option( 'wps_limit_login_allowed_retries' ) ) == 0 ) { /* no: already been locked out for these retries */ return ''; } $remaining = max( ( $this->get_option( 'wps_limit_login_allowed_retries' ) - ( $retries[ $ip ] % $this->get_option( 'wps_limit_login_allowed_retries' ) ) ), 0 ); return sprintf( _n( "%d attempt remaining.", "%d attempts remaining.", $remaining, 'wps-limit-login' ), $remaining ); } /** * Get correct remote address * * @param string $type_name * * @return string */ public function get_address( $type_name = '' ) { if ( isset( $_SERVER['REMOTE_ADDR'] ) ) { return $_SERVER['REMOTE_ADDR']; } return $type_name; } /** * Clean up old lockouts and retries, and save supplied arrays * * @param null $retries * @param null $lockouts * @param null $valid * * @return bool */ public function cleanup( $retries = null, $lockouts = null, $valid = null ) { $now = time(); $lockouts = ! is_null( $lockouts ) ? $lockouts : $this->get_option( 'wps_limit_login_lockouts' ); /* remove old lockouts */ if ( is_array( $lockouts ) ) { foreach ( $lockouts as $ip => $lockout ) { if ( $lockout < $now ) { unset( $lockouts[ $ip ] ); } } $this->update_option( 'wps_limit_login_lockouts', $lockouts ); } /* remove retries that are no longer valid */ $valid = ! is_null( $valid ) ? $valid : $this->get_option( 'wps_limit_login_retries_valid' ); $retries = ! is_null( $retries ) ? $retries : $this->get_option( 'wps_limit_login_retries' ); if ( ! is_array( $valid ) || ! is_array( $retries ) ) { return false; } foreach ( $valid as $ip => $lockout ) { if ( $lockout < $now ) { unset( $valid[ $ip ] ); unset( $retries[ $ip ] ); } } /* go through retries directly, if for some reason they've gone out of sync */ foreach ( $retries as $ip => $retry ) { if ( ! isset( $valid[ $ip ] ) ) { unset( $retries[ $ip ] ); } } $this->update_option( 'wps_limit_login_retries', $retries ); $this->update_option( 'wps_limit_login_retries_valid', $valid ); } /** * Render admin options page */ public function options_page() { $this->use_local_options = ! is_network_admin(); $this->cleanup(); if ( ! empty( $_POST ) ) { check_admin_referer( 'wps-limit-login-settings' ); if ( false === strpos( $_POST['_wp_http_referer'], 'tab=whitelist' ) && false === strpos( $_POST['_wp_http_referer'], 'tab=blacklist' ) ) { if ( is_network_admin() ) { $this->update_option( 'wps_limit_login_allow_local_options', ! empty( $_POST['allow_local_options'] ) ); } elseif ( $this->network_mode ) { $this->update_option( 'wps_limit_login_use_local_options', empty( $_POST['use_global_options'] ) ); } /* Should we clear log? */ if ( isset( $_POST['clear_log'] ) ) { $log = $this->get_option( 'wps_limit_login_logged' ); $lockouts = (array) $this->get_option( 'wps_limit_login_lockouts' ); if ( ! empty( $log ) ) { foreach ( $log as $ip => $user_info ) { if ( empty( $lockouts[ $ip ] ) ) { unset( $log[ $ip ] ); } } } $this->update_option( 'wps_limit_login_logged', $log ); self::show_error( __( 'Cleared IP log', 'wps-limit-login' ) ); } /* Should we reset counter? */ if ( isset( $_POST['reset_total'] ) ) { $this->update_option( 'wps_limit_lockouts_total', 0 ); self::show_error( __( 'Reset lockout count', 'wps-limit-login' ) ); } /* Should we restore current lockouts? */ if ( isset( $_POST['reset_current'] ) ) { $this->update_option( 'wps_limit_login_lockouts', array() ); self::show_error( __( 'Cleared current lockouts', 'wps-limit-login' ) ); } /* Should we update options? */ if ( isset( $_POST['update_options'] ) ) { if ( isset ( $_POST['allowed_retries'] ) ) { $this->update_option( 'wps_limit_login_allowed_retries', (int) $_POST['allowed_retries'] ); } if ( isset ( $_POST['lockout_duration'] ) ) { $this->update_option( 'wps_limit_login_lockout_duration', (int) $_POST['lockout_duration'] * 60 ); } if ( isset ( $_POST['allowed_lockouts'] ) ) { $this->update_option( 'wps_limit_login_allowed_lockouts', (int) $_POST['allowed_lockouts'] ); } if ( isset ( $_POST['long_duration'] ) ) { $this->update_option( 'wps_limit_login_long_duration', (int) $_POST['long_duration'] * 3600 ); } if ( isset ( $_POST['valid_duration'] ) ) { $this->update_option( 'wps_limit_login_valid_duration', (int) $_POST['valid_duration'] * 3600 ); } if ( isset ( $_POST['notify_email_after'] ) ) { $this->update_option( 'wps_limit_login_notify_email_after', (int) $_POST['notify_email_after'] ); } $wps_limit_login_show_credit_link = ( ! empty( $_POST['show_credit_link'] ) ) ? $_POST['show_credit_link'] : ''; $this->update_option( 'wps_limit_login_show_credit_link', $wps_limit_login_show_credit_link ); $this->sanitize_options(); self::show_error( __( 'Options saved.', 'wps-limit-login' ) ); } } elseif ( false !== strpos( $_POST['_wp_http_referer'], 'tab=whitelist' ) ) { /* Should we update options? */ if ( isset( $_POST['update_options'] ) ) { $wps_limit_login_white_list_ips = ( ! empty( $_POST['wps_limit_login_whitelist_ips'] ) ) ? explode( "\n", str_replace( "\r", "", stripslashes( $_POST['wps_limit_login_whitelist_ips'] ) ) ) : array(); if ( ! empty( $wps_limit_login_white_list_ips ) ) { foreach ( $wps_limit_login_white_list_ips as $key => $ip ) { if ( '' == $ip ) { unset( $wps_limit_login_white_list_ips[ $key ] ); } } } $this->update_option( 'wps_limit_login_whitelist', $wps_limit_login_white_list_ips ); self::show_error( __( 'Options saved.', 'wps-limit-login' ) ); } } elseif ( false !== strpos( $_POST['_wp_http_referer'], 'tab=blacklist' ) ) { /* Should we update options? */ if ( isset( $_POST['update_options'] ) ) { $wps_limit_login_blacklist_ips = ( ! empty( $_POST['wps_limit_login_blacklist_ips'] ) ) ? explode( "\n", str_replace( "\r", "", stripslashes( $_POST['wps_limit_login_blacklist_ips'] ) ) ) : array(); if ( ! empty( $wps_limit_login_blacklist_ips ) ) { foreach ( $wps_limit_login_blacklist_ips as $key => $ip ) { if ( '' == $ip ) { unset( $wps_limit_login_blacklist_ips[ $key ] ); } } } $this->update_option( 'wps_limit_login_blacklist', $wps_limit_login_blacklist_ips ); self::show_error( __( 'Options saved.', 'wps-limit-login' ) ); } } } include_once( WPS_LIMIT_LOGIN_DIR . '/admin_page/options.php' ); } public function ajax_unlock() { check_ajax_referer( 'wps-limit-login-unlock', 'nonce' ); $ip = ( isset( $_POST['ip'] ) ) ? $_POST['ip'] : ''; $lockouts = (array) $this->get_option( 'wps_limit_login_lockouts' ); if ( isset( $lockouts[ $ip ] ) ) { unset( $lockouts[ $ip ] ); $this->update_option( 'wps_limit_login_lockouts', $lockouts ); } //save to log $user_login = ( isset( $_POST['username'] ) ) ? $_POST['username'] : ''; $log = $this->get_option( 'wps_limit_login_logged' ); if ( isset( $log[ $ip ][ $user_login ] ) ) { if ( ! is_array( $log[ $ip ][ $user_login ] ) ) { $log[ $ip ][ $user_login ] = array( 'counter' => $log[ $ip ][ $user_login ], ); } $log[ $ip ][ $user_login ]['unlocked'] = true; $this->update_option( 'wps_limit_login_logged', $log ); } wp_send_json_success(); } /** * Show error message * * @param $msg * * @return bool */ public static function show_error( $msg ) { if ( empty( $msg ) ) { return false; } echo '

' . $msg . '

'; } /** * @param $log * * @return array */ public static function sorted_log_by_date( $log ) { $new_log = array(); if ( ! is_array( $log ) || empty( $log ) ) { return $new_log; } foreach ( $log as $ip => $users ) { if ( empty( $users ) ) { continue; } foreach ( $users as $user_name => $info ) { if ( ! is_array( $info ) ) { continue; } $new_log[ $info['date'] ] = array( 'ip' => $ip, 'username' => $user_name, 'counter' => $info['counter'], 'gateway' => ( isset( $info['gateway'] ) ) ? $info['gateway'] : '-', 'unlocked' => ! empty( $info['unlocked'] ), ); } } krsort( $new_log ); return $new_log; } public function login_form() { $wps_limit_login_show_credit_link = $this->get_option( 'wps_limit_login_show_credit_link' ); if ( $wps_limit_login_show_credit_link != 'true' && '1' != $wps_limit_login_show_credit_link ) { return false; } echo '
'; } public function login_enqueue_scripts() { ?> default_options as $option => $value ) { if ( 'wps_limit_login_whitelist' === $option || 'wps_limit_login_blacklist' === $option ) { continue; } $this->update_option( $option, $value ); } wp_redirect( admin_url( 'options-general.php?page=wps-limit-login' ) ); exit; } public static function activate() { add_option( 'wps_limit_login_activated', 1 ); } public static function load_plugin() { if ( is_admin() && get_option( 'wps_limit_login_activated' ) == 1 ) { delete_option( 'wps_limit_login_activated' ); if ( is_multisite() && is_super_admin() && is_plugin_active_for_network( WPS_LIMIT_LOGIN_BASENAME ) ) { $redirect = network_admin_url( 'settings.php?page=wps-limit-login' ); } else { $redirect = admin_url( 'options-general.php?page=wps-limit-login' ); } wp_safe_redirect( $redirect ); die; } } /** * @param $links * * @return mixed */ public function plugin_action_links( $links ) { if ( is_network_admin() && is_plugin_active_for_network( WPS_LIMIT_LOGIN_BASENAME ) ) { array_unshift( $links, '' . __( 'Settings' ) . '' ); } else { array_unshift( $links, '' . __( 'Settings' ) . '' ); } return $links; } public function dashboard_widget_function( $post, $callback_args ) { $log = $this->get_option( 'wps_limit_login_logged' ); $log = Plugin::sorted_log_by_date( $log ); if ( ! is_array( $log ) || empty( $log ) ) { _e( 'No lockouts yet', 'wps-limit-login' ); return false; } _e( 'List of the last 5 lockouts:', 'wps-limit-login' ); ob_start(); $i = 0; foreach ( $log as $date => $user_info ) : if ( $i > 5 ) { break; } echo '

' . date_i18n( 'd/m/Y H:i:s', $date ) . ' - ' . esc_html( $user_info['ip'] ) . ' - ' . $user_info['username'] . ' (' . $user_info['counter'] . ' ' . _n( 'lockout', 'lockouts', $user_info['counter'], 'wps-limit-login' ) . ')' . '

'; $i ++; endforeach; ?> ' . __( 'See all lockouts', 'wps-limit-login' ) . ''; } public function add_dashboard_widgets() { wp_add_dashboard_widget( 'wps_limit_logindashboard_widget', 'WPS Limit Login', array( $this, 'dashboard_widget_function' ) ); } public static function admin_footer() { if ( ! current_user_can( 'manage_options' ) ) { return false; } $current_screen = get_current_screen(); if ( false === strpos( $current_screen->base, 'wps-limit' ) ) { return false; } echo ""; } public static function admin_footer_text( $footer_text ) { if ( ! current_user_can( 'manage_options' ) ) { return $footer_text; } $current_screen = get_current_screen(); if ( false === strpos( $current_screen->base, 'wps-limit' ) ) { return $footer_text; } if ( ! get_option( 'wpslimitlogin_admin_footer_text_rated' ) ) { $footer_text = sprintf( __( 'If you like %1$s please leave us a %2$s rating. A huge thanks in advance!', 'wps-limit-login' ), sprintf( '%s', esc_html__( 'WPS Limit Login', 'wps-limit-login' ) ), '★★★★★' ); } return $footer_text; } /** * Triggered when clicking the rating footer. */ public static function wpslimitlogin_rated() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( - 1 ); } check_ajax_referer( 'wpslimitloginrated' ); update_option( 'wpslimitlogin_admin_footer_text_rated', 1 ); wp_die(); } /** * @param $array * * @return array */ public static function wps_bidouille_not_display_pub_array( $array ) { $array[] = 'settings_page_wps-limit-login'; return $array; } }PKZ^-plugins/wps-limit-login/classes/singleton.phpnu[init(); } /** * Add init function by default * Implement this method in your child class * If you want to have actions send at construct */ protected function init() {} /** * prevent the instance from being cloned * * @return void */ final public function __clone() { } /** * prevent from being unserialized * * @return void */ final public function __wakeup() { } }PKZ^xSS+plugins/wps-limit-login/wps-limit-login.phpnu[hmtx 4Xloca!w 8?maxp), Dname)L_`ipost*%h|=xc`d``b0`c`rq aI,cb`a<21'3=ʱi f&;Hxc`d|8qc; ̀08|`2 zg܀Œ 9 R <xiOeo$!Mdy(DD"ͥBi&4)R!ͳyiέpku~^?oc:k]Zj*u,zjV}f35(ZV;195k5:g=ltvfvIvY6#*&.g;%ٲl]n>ېm~lsjS05I-R)uNҀtLƥӴte楛-iaZiMZ>Nc%mΙk yc7O'SkY |Q~w~Tl|b*_o. Eb@1U/&SbAxxXUZ).-o(J:eiٯT+77!jdu|VPK;#4&;GhZfgs}dيC,5!mz>BR2O.OF1ib9[FhAzGhYz&HkF!m5G^yK?#4!jfW|q~_Z?˿̳EQѲR SLQ\#tۖZ^>B_lGoU#ԪP#?֔{ ;չ:: ~WUF~M~̪[M~bQ6γIv]6A{VmM˖Wl+PQ^EaE~u8[E*N8✊+*fT,Uײ*^XZQ⃊+m*TSyQ%~Pܯ*_-oT]zg_V뫸RA&՚jkȱ6dk;&yݦր<Sx+;D{Ξiv:Ni3y(sMsUVy\ )N|6 gWַs>Xy C?F֔ ѓ[d;c]ⷸ؈y/^3VZn[1Wimll5h;xΣy aьvzncO;'[{ o-Hyjrb 'vmvNLϕ̿C؍l[ބo-⟞(;+Ӷ/`[aRlcMڎ. kr'bn\Vgvlg[Ãf]u.x;bώ+p~c}Xa ٟ3&c?UUvƏܟ-s_y uX8'hM1Naw'*\:|^܅ocnf3J 텛qgU;q>'Z#K(u=>{6#0#q,kyp!fN^.I<9M؂x܎Y5Sxc^x/b9502p0h vGC셽Χ1`O4E}F.aWm;ְm֭c&b ;x_k[/ռp>S\u%~d2wmSRnu{^gC0C1 Lq']~܇CXG 6{a\?B~<8@2PX a!,k!"y*q0~h pB#'GwlFnF b>| >Q2V,rv0IŸ=,";EXߧ clO^ aљXg c]NF=8GDvbEM($d^XkE"p0r"ałȻK bOD^!8]3F6CǫĎxXYb9 n:Gl-7 8_9q0rA]x#F'_5d =$0#box\"yT b xU^FzEU Z,rukQƜ)zK,m-׉}GXχ¸ߏ# b??!!T s_E\/a_kabDm^,ElZA01~? b2ȯ$5ZXb KAׯș$~?.|C o?C?&(~C BT)~D&~D.~E!~&EJ/[ }N5żZB鴭/i{}'.* @,5~ D,9i/5ނ=#5(+9H ΦfB b< 5'5ܧB [gxNm^s^ďAQI)*YbӦ.߇RWAW7aTwȓB_cXI/ }H}1G.~Ƚb޿o עtkZ,qJC&P4LlGN|KLjy M#1W 8J0b,LjX/cyX߉b1~c|_O|O1Gwz,}1/}1M&=/M{!}%^)ϙ#sD^\1:^%50+Xӯ N&ڳZuyaZi >caԫOQW?F|!cZ/k}XԹ/xO:(s r[a&ab16? "?D* wAԆ?FKY9˶ B_b6fG=/ go.^+o-u,o#"o+=qNpbW{(g `Mu3.xm{ }佄~{ O>}żKABgy,:.*{&-{#g!8Rwן|Obo^s~x+(="$J>Y4@4"K,sXȑxXDž?1o^w;|w bZ[}l~X'O ͟{yA|E1?+11b^1[#{jXb1oym "_ OX{by&g\KZ,zXԇob+5;ߋŜS,yXb ?E$yXp&ybb XXEE{?bQ~Xb#S,¬B΂B„E磨<Մ~- =B9B߿B_GE-bb[׊ǶNx:Bb{jfH; .vz,vTY'}U赢/h =]PHXcD`h*u^%Q bb_b?Ay3G^׊EKA颵 梍AE[svuAg ^I;X;D;T,u u^xxx^_kEoAsAs_A႘#1W1W1W$b b (A`AAP00Aтȅc##㣄c /}0bvNJŚ'y~XԀbqq|*.TL>TSS\%}ZD1[MuX Z#z_,{$5R}{J8Bˋ5Xk~+<-~W9zs77bQs~yKVb^|H1?Sż)kyQn'̲3&kʦBV_ekCVl'l/8ceG e'mω 塂xz"* <nc?w=۔ߖ۔}}>c#>e?׮r0Ha@an0^7Xx!Br0a.(GH)海Isy؛ `@x $Gu({fUemYUYWwm=ӣHm-1Fh$$%d@ c a166gFXYZdol0L3aռ{#֮/7nDܸƍqgd..n8иJS^+997,>vbB6Wk HPk,M9WBTVЪݍ0 C4bvy2yeW2(')9922o@ߛys^EMtD)[Q;(C~IIOD,$%KɜUllM'U'z/v t G)υͤ'qT#WurPVyL(a bJR2"A/H}IMNEIf/4.%q6v Bl>Rrax! t$竰 ;$!IVtsi`QvӜӪ,uҕB* cཇxK%S0dxl|ߤdj+tRޞ82%Y8YK5.Mr\z-tH M 0Yp'5V ,<(.𘨋DŽ޳(_~&O6w +z?"&l*0TS燵vvi xĔr_UG;oq>Q䈬8hnaqg#/id }ig0$= /orgsM&+#]a} :dC23p5er:\1^|+̈́F03)jm )Geg;s~1R@Ƴ {C>' _{P9;H䩞n$c^t)\#`jvमD`)TiA@ j +"5@:Nx U Yv1ак5g]uVčEW\i1 ac/FfA9:i`FvbWPlMwf2wf{z2S^;})ZgC,0$RjtPի68`߽nP-a7Pr 38_l$FgA|GaqVC[XllCXPBP5,30`DzH6"Pj=_WG jT k8$20v-yM>>avߨs:c(>G;l)jԨژ 7an+ruȽ`Ǚ#Κ~gpD>?ޤ:Q@*i J/]^L#n𡞭ձ}go4- !#{b7w;r]۳C:"dH ~A|Tǿ [́c`OG2qF2DnI%T.=3ю: 87;G_#ڥY-G$I$Hwmf'(*|ilRA3R*c.3aߙ =Ã7п|+KǴ";y?O0&^~Ŋ0!DN8v Ǥ8Џ{`vPux0!H0w9wUϹS~ p㪅'_qhýX؇iafy-T2 =dA7. 1 EMF'D)is,A&O ?2ikl)!3!:-VZ9:~Cz?9c- ֧~#A=6s?iO4E5-%U.ܕu Ua,K͈럌ev|c /!`~09w󿎡;^80eGQa@10whykx%|]0ϳc#7ɂCfTcv3H3cfoal.]z}dqU5j e`PzTW߭ti 0UQ\^P\6w;x#Ѫ8mG)NC,kQ!7珈tAp@#Kb`I֎G 4RPb 36Xzσ*vA~7:ע7/Os S=h Q=4x~Sա Y5CGF̻Is #rJ5OrWsp^=ȭk0N٨3:BB B(: rXsh]2f ov9=[qxT'kf0O\>c!k |Hj+"WR/iGavk b'baOЧl3ifgf.MXӫz4ZzvCy]zB %&jEPSԧ&@p(K G|3x-hg3&y^oG&Hy;$5ݘlNB{/pSۂݑqebE;B94)Fh%k@B!aAs"2y>Q*/͈DB7_HW&b! (kpa8?6'vxnߡ˕ #339j .1lAlѺH[1^DJzl\'"c`˙wGGyU} ÂJ.3JÒI-'t^(F=H(!/D.;Y=ZHJ7Hb;7H$H e2e:Yz 8@ﳆʾY0촂Ӊ4;fJlHC|]AF{%Xe{]x"~A[Y,r cϻccG~{ ylpA>?~ϒ] wPX n>d:Y _3d-I81sgB6ۧFC0<30ĽHu ľՁS4YQwaT`89*5F֔uގfɝo,^O'w3%#q>ғJK|l7>HBXz_㸜yĤϊ|21?uuxSƹ 0,.};@*`q o@ZAh8>Oi==)݅yo{snbqraesd?CyuXm4mYa,ܤf5=dk Ȭ Bc?/Oś3NUd(t=t{'+h8u(>~ٚKV(s2Oc5+Y7F%>K 2p!vlu ugb_trK6t_<>@L`X8%=zTb 5Mw"j c퇴J2K܏&#\Rf>*zdeq4CeFGtV-PISP!+[,އ-nKhξS3+3yׅ9-=y1@}ڞW3+}bi̷.n(b 8ؾP,=0Τi׼k˨K{3`8}9O>rnfkr7r}4m>)`M2'aWd+~~%!CК N`[T٨'R0@#?غ.YdO,C1 Fڙ0RCe'}fz_TOf2PMO=]o ]TIVN hgYWal}跏+L>ksX 6+S9sOdCٱ%j;0EjY\mBԔuµkFZgL[ __lVʡr#jBY]^_'+BY==v$+Z[:L؆4:(zJCƜ[Z90 ڛN9Bd{oά8h)~+/c\k5z<"-mv!Z_k(DF6d)u_tj5ws6ϑ  ί00Z޴~}f"0#.CLUx!dݟ{vuRT[ (eR|@Bl0~0' =UR>x`P~OE5l7nMͅ_>@3[JoWMY ~qQn8」S(cEW9TţinsI.NXlg  KD*XPNM\ "WEvk~꟯XZ$KQP]V"nNjx尡 TÌ&.U=Jȝ~ޞW d:4$?G fHCY[~pR3렲]a Բ*Ƅx_-斕LT[~cgK&`! [Zf3.TR:|Y9 }%ܝ3VGk]^42Pb]J|UU R}9G4|,r:DGiUu d~)ߛ:p$} T>m _&[@Y }U724RIF@q%Lt{!iӕj9^u4jRT#&yί[]%@HP,4L".E&j[JyD$ڧ|J3S-nK xP:Lr@v݂y/tt{{PR\ՂiS=הdԽNrjȻRW=]2p % >AÁxpunڭoL׈*^ET]'PT vs;,Q_NOΣ;++5o CW= ԙ3fb$b{T]DY5e8.=pUҨ"k;W/E!o,!):tC fHSn&zZ U밨2b1ŋԌ*ZfAe*4(Zl:0h4 (}~7& Jr5%X+I>st%8N?f=n%Jp]i.m?PIn F+;}z'^bWjdTx}܏l8c&gޠ{rhk[PCZ@~Cźhxr͋7sū laGN -.{kod+'_T  .EEmCM%* *PVM*-f=P(]), x^+>QbT B@"VFBJ Eyn14GkXSt7 +Y"[X(Cv"YѠs 9`$O {y򱟴H6YhO!kxO*iHq9 +t4-\@KC0Com ە5rc}H8Ww5!]>䮍 aj՞mݍݍ\f2,Yq S_=/y (Q>!wCؤcxM=LP0 aY~b`y=a ')oɰ)!`90$@xi)SI$KnxVdW La$YQy i;פi04 O9Wy 蓮|vS*n+h*sM̅8 93~ pu4r{9&9]W|<$!/c_1{r$1. -ⱩîUʘT* 9`x#'E}҂Fxt#쓏|>p1A.J &\nytxWfq >h&g'/;C<qe <6`%nhGQI/K vuM3Q}yR Dy$x8moSvGsq7T5Z`diTD5X.zjU*ϯT*IÕ)|}*aR/!ԙ-lѰk8ϵR\iaqHA! [> bk [: ґ:zzH3s р S[==] leb@ Jx!xYXXdɟe>[~oL *Y+ Ax\^\qwH<)?/;P5sL^H$z!ȼa@jFO2gYj L,!+HBN7Ӻy>  /b1?6I*z刵G={gy w=HSw5-tɻԫ50ŋt?t~ká}tqVSvWxXB: } Ѿnm9(&9p#$׺w1$oskM*5V-*Wϧ R(-9aV:Jlw5o*9= M$T> TT^_@>0 [{HL^l}ˀ!c2)Kq# EJvAYuXSMH}/ͻ;̝)rF*MBy׎QDcϨTF*0=# 9).].z'D VofnWکHjOľ,.eyLjf7SxlP׾dt4Lб幒{-pnr.:ʐuD[Ye qDGKz />BH&*KL57蛻'dJ^B`õ+A|||~%B"Yv8:"5WGEVQDR4arsB/*H<%c#+˷сҾT4?rTuť l(K5YUU%ɑk6/pw i&$(Aȗ“,tU}_)WV4'¹է$6I_l,LMf9Gf .qUȹÓpדhW M&*$W᫩ka+f8p>|*~1eton`41)e v샩1F#Hڂt]c%֮S^{ rW#e[/y9;k:r6>p͕jydqv)ٓ[-N_lJΘɉju"if%~' 횮5;>[1*sӍ!q 㨫^k(wa,#/ ]{ =42Y}bƆè!Okye`Wt:SΩ [ ^q˭in+^SӟTB C;cs 0[ lHvWvyO6vloZ,X{ZS^NHvGOpxa-.;=w$N=!o ; q _iož^Zl0 ݀hERO2Bhx`kǿ Y!?j?bNOk[ԅKEtq5E>`^LPh݂x)3۟yci CO9BC˥|c͏(7_TlVK%ұ엃8+AݚsD""U^K7I_\榋NΒsm/:UE5חeEI e=z;DE dnW^{Еqm Ͼ z>p8Ɋ"]F FvGv|ZuR|e #Q>臑h x٭rGF׽'®h׋\H/'(>bݺBwRlh6w)Tfn<@we&'MN6 -ʭfhyC{ 7IoFd j7$|~on7Y >M2K%PtcfYȴ7;_BJUdwUACн(b@NvxGsF4OxVվu7*b+Nao٭B*h[BM񢡯K`>jDu傇-< >p0R#͖YNy:=yQQ| 󯅸D> sG@:oer[Odmp-\hUv~ϝ3y@D ܈zp+fKz[VyL7Q.ytܶ{?7|=YốQ#k@6w0ּvbs s? ^SSl}Yqc/;=N*;r=5_wt3>#8|Nߋ/:H|c :1ХGcA耻=]:{'@v+v f:]((3v1hAOAWDgN{ pprh'[8PljD=폲._ڛj$qʰUϨ.fP@X^Xl%WRO;{fdM<_,H)aɦk ޕ~# d)F?EPN=<ޏ7п^8e^ 'WVb`J |E+nW6-_%$T(ݥdd*`7ee8kG٘2 ' $N.LtWUU >W[JX ުKVs2V"Ʋ7+v?[ - ^ oir;-qҴVhu:v \5E]_"k$^Io|w/p52 TASɾx=U<3Xԯ<mb+6v! wUe~kZoJ0Wo;dY}s d~.;{PqHBk7`ŽƘ6HD--N w<h $;vaA.X#1f{ 5xOe}\aQx Dӂ7N(/9[vo4qݡpӇ.C75d՟Pg俑LM#k%DLɫBc| It? A;#0üSP>T j!"V[ @b #kS⺨"gr<ҐH|ċmt6ͨ@E}h6G͒3L%{N¸ PwRݮrpӖ,eL=_ğgZ[B@B0/5x``?K@YR/\rW\_"\D$Q$DH$?wT5J2,p=P?F}SR2N7z @E/"eNf() h=Us@KEEҪ윿 33iqsIW@o(mGoүc]\}kxkDGHU~Mh܍ˀhn6\3p6ʰz4RkZ/LA-$F͆SAL#no^$ ZC'vHl,L3f\-^L` %qy̒o ɩCTn!!}ᤡC,Jf^GGt,5Q/mU)VlkHhs[*d Eۿwɷ,Jx6\hߕq<GlOfd%(a=/R hI^MpTOPBNq*L-]{u_aJ@aQ?ԭw0&, MwYߴۆg{7 IVtKɓfZWHvc>xd?2Eς$(<u*D-@JQㅅZ{L|ngu3ިlP~qC}i~ˬjq=DuɅdXۀ7Fm1"lRXR&dib/Od!AkeRgDjLN6(nx^k#v)tZ9be;(Sc< H7{H9IhL1c%%>_=m:*Pt-.AU  /MP:Px[-j8Y03pHNwjt:&1r1!|R]VJSD@ i}.y+xA,nÔbBh&m :Wr`@pjz#7ـh"DRò,]IQPT)2J"zaVoPtϓ*Əչ˹k @ʥ lTPu]fGq/be'MQ~ Kdќ,x.$~n"B=@iF=QY' .b6G㼪;VazدyԔѝ`DG!TرbL',ūsfPCVo'8!#>"5Y#,gG]\>}>lh$uG5?Ie>}XG;i[BEp9뻁hV; X;l?уzg~xey͸ ƸX,A!6:֨* <$lfLu%՜BK)5 Rt4_?{ѕ n#'(0SBQW}}Ϧ&gBw 7:rE~Q`nٓK:CUf+Q*dQKt+_2#)neՃ՗.*n }9:6^DŽ/_:t&^v8gfsp^cqUw{2I R;Ugx~3O{ _cd KD"VJJ:3K%M}95eSʂp"Aׄ/JX1;Aʠ_Fy Aԯ6;f>r#}`==Olfη1XEpNޞpR=`bxZOA&!l'QoEl#SΦ.g$>lj^#QOE"Ƌw,"`F'j1t"tE",u|.[^CNpS\X(xro}[ΆqL߮fp+NA`߿afb%ZuJ>{9[k3-=`6u,*~^͙Tre鼊մ iu͵ha6!QAH lB\/<t. $0ގC&|dJg#W 9fD|oq4N].v'-#5XnJR͉ҞqqfL6 p:MD.zBWv =?wWdKv8GdeDR,OOA,r~ZH-"FUy+,TxuL2oPh &7^ȺN͒ XK6x =-\xAu_Xzʇ xE(&J1 "p/43L J5j7(ݵd1^[  Q͋--bw#d}\&FBo!aXhQzIXtET(,>nⲜlTF ϵ%vv.T+ڠgo% Z/u^W4^wMM9!b}r3p{s{F]zOpwssoI_KSD]$2';.d >Г0ONvP0C]Y5HJ @ȟI>5j~_ZIs^Q҄1OGd."a,x>5'b4"/ϵ#t4ׂ,/2&!!QcjO?=/FR@QfO-_XAݑH6! u'5^T^^T"Frϫ  2;@  <:'ɘ ]GFɏ^òK)Ћӊ9g5OBq^MN^Uy5/H(T &h(X8" OS2NJҴ\PE"p,vTiFg$ @ϊ3XGC"gFh&;}nqkGdxٔ^#i\w<+.FrB:`&Rս[M%0R \{ > S2\Աp{)`clPb1T8MFv́ 8ujUW YAg>0(vMk>sd&= )9,dP'b_K 165!nCqɑX^ G{g'#a7"ז.{xOmؚs=jx]K,>3>)+p">_h5 ȉP0JţaDƛ}t0TID_`x\(R%)^su4Ay^ i {K+fyeZ#8כvqgEU.zCol}zEWa'Su6L%h߬OBwtپ^N^=Sue%liOw./4B[B}Z#?8ۿߍJus>"("]/s:5P/XQ34=ٻQt|S6KYK"_wlezg1|e>nlQ]G%[c_ˮ|l%x)[VOS[[\z5_Φ8bkeBmc=Vk}>#\rg2޺s3~0@}lxD!D|fO'~;>0W7+ (tM5cH6#u㛼H|;pεY3 etKac(pcfKV*@Kla B!KE'(/l[ЄȋCVܥh"ӎ]3} QtbY ۟sN:MGplEC.}=7rfo;= 汇xp#XV/J{Q4x8o{359{?yy|Q=@3".bl_$1?jw5u|Uz;DIYЍ!Ru W6 WL(1W "^z%.QkCZqNAKKwK¯W..P ;$aU^KRUn?1WX/+XDG/\p|1@c\wsٝ?maނR6C2qvAdܽ}s"eApA'm?n x0MszB=o߳Hs>_S&ЙAL馅Faz'ڱy]I;5T'zes=G&}26΃ɖ1jw*A܀vz36O{ v>}{| 9R^.K-tL_qͱѯ+G6ѡܿr?ѷOv~w2qKhEWs7&d:lTXj̿܎OOr)bw]z&].5cA-YIjNmORlU^dd"yY^3g>3)Emoq\ag.5ʋ6]ܺk E*=; D^R:D7aڂ''|@+\ ]xlU!ԹaǪv/0oveUssWbMٻfcﯢe /¿sy{cK]]|-e(-F@=*1Wr')\ޱR8lzg=:|+*ol<={'ױ5bAr.MTcAiT=Ď#!Oiݰr~}:5=Vbg1[05T_%l']'xn8CE=;ԃnAxv2),綀] `Z귊0gaբ.’F;xLeW]A4y4Nku9ڲ$HŷqpoEɵRɱum.Q XU8&\.4)EϬwTa\.7Ģ%/-YIfφ) T;ìگcWr& iBF%ZFm[(ZK伱tqAPTq]^F͡r{WZX 3 A3Q_ϰ{Y9sXQ vY+zwռU7|xkƒw ACjԭ_W2lkDeiomSGUǯpWRǸ`5ǞI\>kL~ԩS< / ]5Enx#hempg *&whfSHsSՎlT.ۆ iA._@\F M(Ucn㺇9{t=\Eֻ 7-K8r9{+IdEVvda1?|QR SS{8;,Čضbs m!7ĩd)(4jҰ&E@}< .3PwV϶އO1& LXXN4,..5ͽԎGqXN-;xɸ7XGDȢA,؂}9Bs7?.{ /_PX$[h-N<|;Vl'I H i*&qŶ< :9\LWl3<4g{@3r zݖyLŗVfk%/\$!u#(2+ݽW*4 B/nja#y3fgZ,E1m|u9j=sȝ㈉p(7!L);57,Ԡ*^tFwz2iq<~P7iC_=5TqW#T>1KtT*NߤgTO =!"k04XŸ. j>MQAKnF!gjT3VJq8֎.;9:ȭ NW+Kh6Ԓ04}1'O{kդݽ.Ց%rfFZ_Wl[BdwDH} %N$ܫrWgBC;5J@CfN2걞L"Q Ҭ(m@WNC"Y0?3lMږcɛtif<'y뺗qۜj+ 7N0+ȗSڔBA9+ZD?`yU[:Y% 4h`[W8u'a* ܨn[wFP8> v_*"y8]D+RkB)Y (XzD:Y`WL8z(m'U;;BWtYhq]=;L=Nv[ Ych!LzG=2P!) $}5(%̾ qMˈk; 10h L4gۨ#33_;UȈ*nB؝$rX2w̞ ~\APzz -XunӲw[߃rZ/WsH߲b}%jƆ'&v^'wv锟7p ;Kv F` OuZe"{;hXD4k./K2DvEp>rЌES9#P:WsP %sMe/.F"=7tJrZ]n?~禗~ďRG_q@O5c804M=$Y]yE,2˶} ,>&r4v; .ÕvJV7SkQ@ωYCoMZah7$(|);J2nHNt'>#y3Q 7R: lZ6-M`^ %+%A)WBwxJW`Z])co,$9z呓xʱϫlabn|GƤ]d!#gT>{n2z.g'x˲|+L\]mE{Pn(Ƕ3L#atpM(V ij1.%MmqRhj${ft_Pz71-J >Y(>/y Տqooqu#ܒQ-_(==nŠ$|d6f<^آy#ʏo_hv o6NK-a@@~QM>1;Ĵ&&G~d?y~BL_{_`D%o8է ~;nŨѰD5~;]*a>٬[m`~YSNZ;cuļ4XJ(.CffMߺI*:ӢVDB5[g<=1t|rh uiuxE=D%#fUQO|GRQ˩|/r˪Ą*c)HȂyÖ)1RhJ21dU\km,&/؟OQRs9K qV/Igf7VɑĶ.cuX֯ڛHg'nKdys'#pغ*[=\ pbd`& O?E|7ZOz N5 #f|3' bvnlQg'/vXI͑Ta&ֶ70Y*~ujOqFmy|?OgBC$7g#.X ʛ"|js!(%L`XǠkEP_X'Aԇ,}I| u Uǎ-ULJY$ + 5uӮ WqZRW6汢ٓR}Î9h^$մc!Yy4lL".Yfx={HڠbYq&MucM+9cNn]'6&c Y;7՝ub蛈oJ7%@X$$IA4[ӻ섩 0 ӾRJ*uż9Xq8s}[~{ji=GzW[;|Jɦ!yyR]%M?ہH( [FWO媊7pR=r-}Sw.DT/v=#)^ڔx (i88ȱC8-*=BToM3C&sy s:-OvƀP+ ]Vm5s,k^YdZkd'dLs Nzf*%$Dy›S)Aʣ[ћp~}&&[=ݖҖykͦ(H'ⅼHC`[_0HXhХI~Q)=6uRQ3ylLz7!ǎb(H00@􋳓4eh(#n}jQ5IW##=h&8h>h=[ʩR13x9rezF1֔qZK]Y?ǗЧc?(Ɣ7Mgr+nkj4Ap_\fژ17[xHzW9Fi QM#tW&z KXIS'ꖑEOTV ~ v M^fjuT\ k/7M9}TDsY'wħ9pjFajXDv|IL=%Fm]q1P)i^Cv9JP~:үnH10{O~ 6q:e"70(A!b)\BEDQqbRƪ7~tU7cT 2cYk%?\,Sbf\*.OڗLٙ@Y<4#;)qB9ō٤.trtOr.u/nS<$8|@2A㒒t4,rh]A3↟A(hEن,{U1Ռ(iNk҈ 2jM,v$dTr!69ѹ}T/Mf^ܬqp8:ʕ is‰9 2Z/Z_a2=7,Y'HCQI] (=c"*"0!a +1sמt{LF3|'.݃'{$}Ov$O>rBf~&%B}xn}[QBǏD Vi4 ]x[҂"Zޛqqnݿ^2TkV1Xǟ\r}!*v@z BϬ|ǛYꮊGm>>ŦGŃ1Ԭ}yJ04w?) pZ^ ?Z̵Z?jz,RoN!tCO^:w$~9&&ד*bR㮌_;BؼځQ S11vlóҾ}WeqzA[G H}wd}EglDNcL hoIirctӮ"SH,&ڶgt5k b}[gG&_u[B4HpX>Cz.{\cZ}_vC!Imuh4&.mnjeA lKZ%̑+ H09P~< Ӹ?:%p,ã A1h Bh-fV.C7KB5kK+Rj bag=Kh8SvM] z-͘}*]G<_.szEj 9XM#pW;Ss~ƬhG8%g:V0!>Ƽ"su`!gi1`}BFS;S))c Ӓᚦ$$s鲞$u> Ay,dp+hx$_(X`X<~!BGx%)419VE}"f_۩xPũCjlPP]6gw v|X45~:ԑxXS]UEn>%s8|DU׈y!Y$=BuUWWUSo>Br~W$+cԒûpguۤ1pzE8qMnm;n 9Cb9E^j7HcqKóL}V7,-nGhp`Q>@T5Y9BXP >3vd@quټh/tgncgoXm GuAy- ̥"Up$vLNL=Rtg˜MrsB3E{d)b_rj aӭ&~Kb oʞ~_4Z]R4A<٦%cPf|g:N6P:%C1Tq#(Ɉ҄ B>YB*jͣ-#ډXP_eW=Z/Sd.ɋ[12IW.2_3cYWs /avܟ r[j`GdELf뱧Le.U~(AG$NH}5iAbZx8 xec-[xLCaW¼ ip\K) g],_ K1oT^jcYZ_Gc뜐#&Q;ZXJ\4SrLdWaa\mBdtHA"M2ۙ&Y,@vn:@=K03(ׄNL|+L MKGðT1{i] pMteGȚᚒbSC6=heȆSdE\9w=D^Qy1 1o!Vde5& i&lQ9ŘX^ (W {t7?ʜh./rgic؊1ϥ]M^gh%V.o_7qvLh&H{7 y513,÷"Y_Bdncza~ _]]R3j2cieIŸ(htAҠ)--jjvf4a+nM'k0?@[yhpzz: oTQlñ5*nU~5ՙ$5x̳rm,ت>al^UVWxLv-|c%f▵d?/G~sKѮ3 ݜf%2>}{w?6?\8lb5;քf čm7k̃tBhO<Aҝ3}?F/3'|-gU:yR؟!sGz7aZ"O/EQ<;Eph'1U4HR|N4,2\W0c&LEH!Cʏ+y\^ Dx6VyfY;/RhF!^ɸ,@gg[;8W MR Pt^˛ӲSԪ m-ʩ8'd&-=B]M}&5ޤ(dѣh5sX |MKae1l82Oj!wz9~ylf%݉GE,r.Ɣ0&wSJ RsIJݙ4 0rZK}+j&^5yY<'JU5S?!*/LȈ̋m뺓0b= t; FĠO`>j0a"T$'\Xk,v ʳ݊,!,|i oNVwfe7uslC"J'toٴP 864M+1%4WlWTd=]wWg9>-p|SXRg鵞by̯0.ޜ|,EbA@gduzR˴쩪&yk8JL>>jWRF:;|oyEwe8ڸItN,>q'f=6q7qI;u.Nxr鉳*!qO%J5Ӣ<並-UME%4RR$*BrD3ˏ5owM-j9g 8%:+ ɕniz1s:=tvo"ޡ,Z"AxAج'y\o{u;R!x mY*:~}[BlBP^.("*yDdvV9d|&d;Eb Y*(HWNE_oPj׺F_oz;;S5M}n4oN/Y&DXu=ȂQ͔A=٨mW gGm[tw> u@^9c/}?]!J) E=ƻQIR·<=toK'լť91TC98cJZn&ggT3-x2K2 M2gm[g2l¹)&(aeu=P(# A %8ByNg\r7V}40ٙ`,)w0;3X鏹gf,G?Gd.=H)\H6fRtG1ðQHܠJcffŎ` E:qbVxsccsb9,ߓ<~&P9/.?]5ySswqǯbb,M͍~2>>7UbM[IQޡhDq;¶Sv+x*=7֍$w4y(~p}ii} |ִo~lyfK rQxr08!Dnc=}SWx>LlFfG.Lc6AAĉj'M˸D dtFVWٙ}gz'Aփ='} 5@nWh-u"pi~ûhbvvN_{UNm'9yZ1Lntebp f۱\4[gS)7y6>4>'F +b.f.ۄ ˻ JF- TE fv ϞjmCP; _LO;t 8=vE+E_Q,=cͻi$!7+2Ri|78NI<K]IQo+hhi-L| Appt[BYq|~ı+"= Xcn?-IP_QfE."VIeNP?qF akB^_R|Q;Gx~^epQrЏ6q:Vʧ`{‚7A$>-'/;wX+}O h ݯ4~I}FT7Sa-&]41: Q04 0w Z'RSSi|q bwB&4wr;{:\aOγ3W࿨OGt6IEJqœ[ KP\5~`=G-H-G[gmczuӮ\~Ԭ^`A5kJڵMݦ&PDkD_P[S)s. ԪJa 1Ga1Xci91q* ? z$P*$DԾJɜdEp D+x#B)A ^AkL=I>2ʁ ̘J^o~Jny d|ܲ]Wl+9"؉T 2f+5#f7F.HFB9:]nul~ V5B ޶.%taςhd)OdsL"Z:Cgr.ɻFkopd8'Zf_)&h,'{C#6]gZH׆ׅC>StHҋmqsЂ8 ?f/;e+&Q1Goex3JHϴ&t4{JYRuQQD]C:_zk'nG <?tBgY4?ܽx37sn憣G1ywܾ'MJ|Exf/uL cw$ϓynmR%RK$)fm;8Bȿ7ol`W M+т{aV)÷*w :a,qT'Iu{x>)t$[}zb~~U_3E>\evWs<Ϧ)tI׊-uO ]f[F*0 qez5(7ATz<;Iw6g+&e9}@Aaݏ }ڽ3a~m~(E5i޹;n {"_ NdK_yn<Ў,\T }׺1]٦+Wqѹ6ii"HK[.0Nl a` cY\p mq2=G=Cp' q!zN{칫d3g9S˩d8S,N$W *On%U3 NmKg-pXRT $W0$f'}yD|נ蝵F4 Yv TU5Ii%.U6_UZ?^^^zowv}= VY(v? n{>2~89^=x,cc1Wn۳g[{Z ~mtl\^p?bz>$ac^8lAXbn"4 oyU7F襉QIR Ӱhf''AIQ걊V :Zť}sqJL Ja̐XэR;2<)Mxey}BGڠ\Iާ.mI,\;~-S&^wm) (QtȪ .B8ՆvKC -P)`P 44GSϓ8@9.pNI|\WVFEւVdx&$ʘZ7 Nqb1Aee-|OL^dK!f㢚8{kT|[F  M|ͶtᆊnAzx{n;  x28\oWZ*P+qn/c`nM\?$<,(3K#%i&cQe6> xz@`H 'T5%۱ WW[^t͝sԏg/T%uQC"!Y 2gWUjMsvWAH휶yoU/J)*kC#mR#2)p܄vEQ~YZI >/XxX@ =CΞF;ms 9|n^@mc G6Ke"V1[яhwFK)tcsd]h} |[ ]PLN *L3+\@ܫjevF Df2P#QO4NX5T);r4ב.!OӨۧ{JE1)t'nkUͼjR,(EhgѪCF  AB9@REV@_dzK9BadɄ ")`A>l!xRzQޏjqgąhYM- 郉cjȈ5xI~O%mOxE&p |%IOE|;םW=uEaJML"/ ^Pw-Q4!9MpX反 ?Q P2j{rjSIdtMϯ?G7s6#7$T[l~sZ_-Imr,rWz >15̇IDn;Fn|,PH~qЧĺ<V8!~o6#ut麥cS8Yu [b)s; ²-% 2Q߮놮"xY-IRE,1Pַ~B8J]d9uX j6ɰ1+ʒ$ʼ̉X'S.< cMIXDEUBa\0^QyaЀ'j4ѽ[BC<ěeZhupdIgXN>oXǛ54EЙ(Fc_<;B#`6!3I$O8Y17Ҩn]琌lY 0#x7 UqdI9|vqC~)Q!]“0q*}8u]C$Z9j[Lg뽍I~Mб>.?6::x[[>7"kSĮbmA2;om9Dq@heLNxk&'83e<}S^a353|exƴ6yx:s,褿|cy10{;"{ɧЗq}b\,2w0mG'0c/Yg @wR ]FR. R@ʀ-5 pQGYؑeykr2H_G<2iW@9 @BP)&eƔq1K+ٛ`XeI6Uv})U}867葉!vfT:d@\aCX%>ж9%\ .Y݊@DEQguݲiEq @n',v|vSlyCN[ ݰҝ?SK/.)71e P 6hx |Nnu~??\=~8*D$K\,%]r@*I|s,N@{H1Yil?ORı1|,.&*dxKq@u'I&;Z|~gșj;j,_$y8i?fXì!n0/Ymx~ؘR.VD08 .*8rNIr7?`S^m;i^LuP|Moֵޅ|L2j=;13qM;)5DXl%ZY*lOY% {dQJh@si[='ylYa˹9{d)JE <6VP}w Jyv&$8y.C[tǜiUѵlέx+<7U$Tgiz^ȑL^%EKda8iiw(IQ|A0A|YUXT$ԗ~SxrW`Ha|GlM͖~87'd%/ʴL`Q̱J[A >ҨWzO{&ft:=#=`afoŽlAq2Ae4`\ $>KI =fߝOۉ.NSr˷Iǹ^ib=։qqm(rV-hk*Hn;~?w/qK-ؼx%0NgqDF0%!a sb>5N|1 y>+ $~y%W!CS9<`سTܴ JÅX<_tE9[R2rI+J?yiqVcKF8Lo0 ZQ/㿟ݗSas4zGH[[ ^IdQL!u'2څG^Bph=Ѧp 0LD&>j*_JRc3r~xro5ZMs;wn=!fgwg铽عOmnc~Gwli{G )g?Sp=h_)V|I/NΞ\52xe+W &OQo?7 Q+}~1ȎHʤ"AR\6\S`E}7{or\rW!\Qksq?yD V(wNpO,2/J\a.ٻZSjG'Wh"殗fLa\<Ŵc5@ٙx>o;Nd]pl0'4n6ݙjx9(qjȔW^{̮UU 1?3 'x9wdhwL.=%vTvQZfy-AZ{˃- Uʳ͠g`=.(NYx Q5huF_a/\7I`ΈRff"]\I,~#4)>R5A׮W?w?,憮"L5؈J$x{DnU֕Ákp7ud7 !wи`rdoDQEu 28'0 x뿺5,j6K뤇UN:;qDr]_ey*siys+n_c>|F[ÞiZa"=*i\/*_-w۾Vl݇]z'&Yogj;Nw=Dxx"*}|}}[YI)=ܝr6krsHe[b!7*EvjZz߷{͢ddK-ؖ0ƌ> N A!$q!aHÖ% bnBE{Cn0 nTuH2{oS9N}K|}g, no|SD?Kl5bT E|٠q+D~?ڈHKM|*閧tW`*g3Sw$\T>㚠6XFT.@&тjk '?QҜ}0r|x"E"ɑI7Yi`qBGT#aQ(F5҆E)(H QID{: 4Gcm9jW8>Cd$ம^ɡ*ޅ AFWq\'UƚǼ+=I$Fiy.š"Krf)Fr&|b/0,@p=dL1YH 4(c} ED{Ŕ}mhUUYq{ ˻:9c8kΌ₷X)=; 3H*P`b /؂NؑwDIN~Ǚ6#X<;ǭv\UnINM}q_IN\u(wa MO-K .i癩NJ~=Q^CS:ez]̜Ghz_r7i?Xġab6kY LƴQ*_I"tʾ(JA mѬ#ao|O#.9 Mrqfa" n229(DbEi1 $48׮kU;BTa_kʯl;|qYƷQ[) ;#&Gem1%AAi&#B 6-H>Kd 6d,C,hwG8/bb$v#a I^_'VTBc$ q&nSV@KpJ2 0籝}|4\2Vp$ 3]"t<_dGq׉544 iȈo^BeQqr~ tl RTu"g fQmB%!^p8R6XAӌ2k##hu_)'؏z2"3apQ7A Gm B1<_U bhSӬZGa~iO"oq[txIGTTCh M$oN3AtdSљ>.g+yY!lP4'iB.e9qa% 5=kOwDfčCCKək{;|i_{xٍ'M"[)HRlĆ HTO<+z1Dž5;T#s3{/B;0n xu~5Rӎ3GC{\oZ{<8>I4`UYL卡` m8Eк\sI?dKb2քFc!5LZKefpXe,|"dE9lH˱[eC&RQKi%[/J%>ND)faژ3Aycq˴ v_{n%~ԊXg0p;UMmKC] I% 'p #!BcGQTx\3ly|4#GPH p.p.Ua\ ճg^8{֎؞ձ@biv(^b(gW2i4 N(4n+ }Ϗsě%uXP׵\E؊(\Ͳ폱?^ 霔w(˂?aOU`Ti8&֘c:yg7e/ 46 sji \|Ylx p0L6fO{˞X.^:N 9|p[s[IgwhRC|1˲oma[^^Nwr/ߓ;#5"]F.mjvgUk_vV@O˙O[wnIAl[k>PٕhƐ&EC/I Asz8 HN+ AdmNȸGU.4Ľ w# h<8y(+w/ċf8V+#;Rnbҵ`cXg*;p3o 3 !'Bsw/*,DG>h(fHx`iu|f1b-_ {DXxAM`1F^YP j`&#u/Ư/_<SD8f2̤'q>NIK2B W`T:"h LL-b+k6&UTLѻ΄IETRD$7a'GRr@(,j)/B#j”DFerf&Ȑ4+ $p{]"xto(i66ϑSًЯhj/=C#^_gRn5ٛ8zgXJ DY>3 Lz8`M3{NT9Jkv)#ru)SA J,p>ӭ2ى=7@ l#P lZ!_~3c!.y7>ܘs3e#NQnbC #a{W x@WsxI wH0ow{&p_oVצ>+t爙meGocF V-Jl<`em{0oW>K%U0_v7<.ݽS0xnڒʂ-9lͷǹ:޻5{jLq=ˊ7oEї6X"K Xs3Z'\>u2jJiʤ&/Q%Yl?gJ5 LGFj㓕G HL~eX|gα@bg':f_^HZt J0 yd 29=eb2diL i_.}EVc+q4Ƅ>皏E ^V*xy+gSR3*-Yʮ;cTshΣK٨4})9Auҳ`> 0^N=$[*Hr#ܹ_ 7ųD萓r:/#쮡YUk.1Pℱ.װ XS 4ѫCE^ 2LI>$s,e^L%&"!*976]Dw9(+BXÆYZɁnfp)ȆDNEߡEa^ÐQo4%80Pt7CX&,,+l(˶n+k"dEeYw1sP9\@8*p}P;"Hq4vcHmƭ9RٰWѿyF6jϡ`c ^Ot~d2LGGx TY]&ǟXˬls2}q4s-ayH{`GP`lr CCr HiE cUsjr4qBR㡀G*5$HEA*^`$JI2IML&Ow& pŒ.s6=xL yE e RdlHBgqKvaʇ_js#ןo>{[gT5a dd77;;_f'05c,ď]~ἐcwJ)6o&m-vܥ i_X:gfJ5F =^Ynةs 6cƹ4SvXϜݲ:14)郜ȯE_ƔبČWU& D"D"#$xs)Υ̶Ut딐ЎX4 ]eQ"WW҃ z`0p^&vQ2,d[ݸ eF v]`[k)OC[OaUaVo\.WpzG/W=z뫨CnVcCퟒ-pUY=~KҁhFz%Z=d$xd!Yӷ|T*@oB{.nvd8D>E¬LW+u^փYtM,?OrQΐ\El o.3<Tܭ1Zl5^m*~ cw{!$;S_aLa)#s\*4?K&fJa)DN2YQqFa/n{C1|5ciyIVl8^)4TqtW<;Al8\!{# x#8פ BQv9J gEj(!uQAb>o`^̪x\y$e㜄nVPz1tn}&J_#?>> ER.uAz;<#|K($6ObxE;Ns)Q{FgP5 m5z);Mj=. :ޢb;n-Qp"3x{dQ;XrTBZP~6q_pm9ޥmy~6=H&HKZxpR!^D"yLx,u]/'vM,+ryyDY_תW VB/ŝmY'/cW:8qm] R,=YJء|ZKtiڲ>G01_b"EM)C΢le.(8h,vj(gٓC屨DpjNWhw Y۳k..SΡrHC׶yx%jm]F46vX)0-T֖D9-iOQS=f0i7uu|s)k:>S֗|ͼeI'xMo{2P"4ϴ!CYܦMֹWq|? HGyř|#Fӵi?X={.Uzu/ƇXa< ,fV  Gy1< Jѯj.Gɞ_ u ɼ`d|eO< !^x*FKc:ρUڿ!(^l8ز} ;=#{),$RV(? ] شgMUۤ@zg7m32r2(I\UY]i7&Jum)z+pW~f1 BnEWrN LcW^y>1(]-WSzazsp=,Y쁲"GHNMHS$J|_pj7)`՛D|ԥHC {YY+ ljf zܑM7je'߰FoVyvi䳲v5}P/@1ӊU{~yN1:u5ôpOKkԎ;Ձ7~=G::~;uIlȲz\o|@~֓Cv7z̺ܕr@?1/m$/~i x/?kmKSA\JOAi#sl zv;3xWLF2h@h"@@{hvzWeaz?OHU;흚Cjvl iE _e8zq]Ε{vm^bbC\}` ⮲k0zhzj8@V̖ Ù=v/<*j!Q= ΃J2mzwFwo ؉8-,!Nuj z|T/vy^0@>-+űsX(.CZT]#4ɫt_sj.qEiIh06Z0ǽH;yT#АwA7X$b˰{|N^v٘NR8džz[ص:ݼkϿksg8ajE(/p㣝X+Q]E؞I#;{lm۰ǀ'9; KSf'y?>1ǩK&jz) +MWVJw=CWo)( A}+gV+`m \ kR`ZKVmClpf\U‚̲``=t{ ?\fֱ+bA9dufS{t~!d'J$S8nA+'.Y7 DtZV Kmx13^D\Mmsv ?љ\Ê-qՉ8<1֒x,fѵ`%]a@YMV$61wT>cJvvl=j;2N70bE8ׁj#U qԼhKq)B]J \qU, y E;IJ3ML\UDVi S],Ԓ,g)oh=8b@uꤧF&QwZe&bQTH! ~b:C}dXPY`5\npJUujjBCN8XL+Y_ b{ZJT(Ѧi]U; >6+ɛhyES-5~0=췩ς_CVkLT7EwoeH]ƽ)VKD(4I6B ͨnl$b#Cャ$̴{;[jآZެGeQ\#5Kc=:p'O.o@x] ;/~'jTBVd%66?X<3@ w{ٺA$K=\N=egl|qGq7+ٷkH*{'(kBX4ː~ƴ/Z~f$'9f͈MYCF:pfB鍭>j h@DY W.r!54'5gdݫK<ߛ6/^z_ V`=Ǩ5l%;[] zm S,DaPg")&-ҹ?&GBźUG&ISt>HWxI˛vn>SʛVQU) 5;{"#?&Gz14Gne;I9e~6J \>PFmh8_t"5w3 [ V́r.ZPjw|kUwJe/t_zChx+csG']aLbA_V½Mw~.y_Kk' cW51>]YP{~Rw!jΦְPH ʼnʢaef̙3_ |P qt2SOϒ2ao`&+E^"+ASo{9FY's pqкҤ~>r4^pA#C?QДƸ8>83;" Q$C6r*Nbi@Wa=[gMS+`~eZ0 hjVet+=H2f z(vv d؉_MKvNG"i'!oǀ` -/27ײ(g/X9 jH}jIR'iG6~\c_ݶ|ܺ ' r@?vj&(54%~efnWWAX0/i7txGe`vPG۩{nY8 [nq?$pN\4$MD_c80}/Ò{F*n>~Rpj6ɪ\DEw ؐ  D=$wTpS0$Zt ;SY QY M$RDֺ.hɏ%vROFP:wL9|p13i'өA!̔d/$|"a BZ2_r4ajr(DM&Ls: I6xR!N8^39t~ywxϿ,xĴ ƑtPա8Fķ D.|6 ۤMѩb߻ z\p#pI2ST) Iqc` Zq8%[u?ҟxYx\d)528viCNBFwPoySS?gy[ ;sX{-|O1Zb[_J|%\Nh>~~>o` LȢC֡vcQ=,8罸NYFvKpe./#[8 #$r !]r钫ZH ]մUը'hR;#ؑM؜ڃa Ƙ^xp @x/ُ ,7a , g #FTtJJgÑhlPQu݀tjל,g %Ba&H\/-YN$z]:I%W:w9P<о g: [=/=jdZnלonN\ͭm-j#]<M$O \怇Cqc:C+}|Kc@GA.KR'p<-frvuMdIK٬dt4ѡl6~,]~m*D,+9g N߁ X@ D)DY\j2 TNuى(!I [N)h,ח 1WBkk bb衼%xQB~{hK:p8 (x{u \N!eܬFLpbK 02rb ɸ x 7H0QOjr K;yK0Z+~ J[ 834|R'Aah\6‚ a]GY kD87Yl(*.LJMG0̶Hp2S,*1x Gىjw V:qG82p /$R^  }SNL4~3{ә vT{z#jе" gnгۯ=N7Mz u—$ZvI DA(fL]Fs1v/Uras0 _;>c-q f$Adf&fR@ct%X ˁ$+#ʛ߬DL. w-+,+G=u.x;\ZWkAGG}םRfak m..>ǜ82O 5$R :ԣsH2'O|^|6 {%UBDC^=IX|K2yh0FO- .5pzJ#.usYE ˳` qHYQK[!|[BQTzg3D&k#~x0c/W7ϠvNk G?DϻǟS=O[7h#}S`2ZztSrob5|pU=8rՍWD2t4Zlejx ^SJ!a ^FC`,;ƌ'Iˍ ptm]G$t `~`Έ@q3aM'֎ikpxS@%p9s ؚ|bSS@qG<~v>.qƶ0oPol0 G-Ǖ1 {AK۝73D8qNwq 4ǻ":qZjWSt%`L*IT/*~`ng'Zb Ćf+ GM'☥X=VBR!S/`Xu(џeU{ZSXI2REZy &PRQe 2ee` r`ƚ q8u/,)Et!bV0 i 4%GWjiygP<ƄA:t`> E^ zsUJ.` JcGG3OYCiܜ+a^Vn'H<-c˚fMed5s &iFt12K'>Za.TL;[O Ӗi.n & z1"![%=hϧpfɡ'̒@Å"^*q. |w91E&bLYP9Q/zAu8u#w *<@]əHWw}aH4bvi75DIgk5|BTy"tl̋Tfrhʳe*k>ܼ 䇓cat"ak(?؃(RYpVv!$w/-,//w4M&JF!Uk0cu5+5D:JVl[YY$>rO0zq GnGp"1=N <x j04P:(ahzHd<@J tPQ@x[nkuѵevU%BM)b%6羐m̈290LӰu&3SâO$60 5*%!صakvW̲i?;>-yn:Oå+HHHR̨3H6f<@^D2u#&I q]U?uylRظ\id thDv/S~}/b:z ŭ\'1}Vx !;/&|7CZX ywnw'XX j׎woOpA2k }`XlֹF+OGz̝W(IʭkF{mд7Nljw cOOb-:C)4ه$NoaԻc6afpn/V4VA =]*3 =7ͪ & |"5q\Ţ!̐L3ZɾbT3*=#-|_t ]p}um_B$/QʇW? R";A0K ېX*WH7|zx!QӌxγS1HHEJq3j֭T{"ZWipko9Ogu5f={yaC6 h"{ U>X|xxwt# ^(nث#m=6Voq`'{ كӏ1O\4H绣M_COt;yzbl(ipWz\1ʥ=z7(oD5EIlߴ?8O;G$]ObX幐%rya|>9:qr}IO횼9HoW~NЭzBtUj"XEGKVG(ðs_+{$ʔ s%\= okV2N򻆾3[ar}L V[n~f?e'ӧz@_Ok tA*ёiզ z F'ltm4;ngSA?~otW>=OiNFNo{xa\blSىza>a!~ch܏*mwl>S%_IȲHY ,[N@bT7HӧFbGiik24Ėb,fXϻ0fB )*40eh?Z=9 s`t%xk1xrA+[d1^ayZFxHʟ[2ϱS9-h fvvփE)ǯr|nl*F8?ޱ:H ma$s~yl-$"ώ'#aOpF:Mcb'CyϷB:0FŠmd)E4g,Yo^3 5˟ v^7W?ZyWA?QP27g$=69D_1Wb)oD{+_sp !J7 0V~"'lG`sW HNZ=ܭ?AI@*tsIQ,V<+VӹtZsH>)!P{2Z,aC}aq1z#-lySsztfj=("Q!+^@ỴTPop~oq}<.|7գZWb+ҥ+g`|em6O~KxJ DMLғ *M5GNrvֳ&lxT;ąlӰo{jeԎ? 5xP=8{ kYS!_L# I,MLY"5M%Aڇur/=6t7 S `$ē6EUQ$u~Hd$F1Phz0g441, +IX1*:P~62 p$.Apy -h\lFj&`0Z"l(b"؟YI0` zY$"^{8Wz$2Q&5 }`)7aXa2G6z[ T|XhD Ţ# CxNʷSLV  O&@c(%-%숊#b9><1i#C?N+}Xx4a[" U^GrtT/fX3J!:CKbq:4 `6v1kFjMPs`7uف >\̣q8Qo .#^?ɸPf<_eOkЁڃڨNJ29֐voL j:^=@(F+k' ,8s9WLUD}NX@ip] 8%8ae'rDœvsn'QR'EpI#3y9gbL"(OB?m#RcY27Gw/Ig1\x{";l |UTAv$6Ke eK_q6K4{v<`4`w;G$wx!7vo5kHki`ԥpO65PzCzgs렃׍J:tU84n u->KՀK-@&2q9F'(2 YЀ[ Ow_:eU4-d!lo'` |'V yŚQ?^Gt~]y2Y兡TjhZi|Zl3ʋ/-uW,x:+aVA+v|dsWvE;2N.u@|FtOF/XYgrg%tT˻y Z¦v,6LidIŏd q<NO}GQ~zEC*!R)EU$^$:sn$|T,_/ܼe L52Lg2sNosipXZT&^X,ό^ nJZ([.r<8z!8 ;Q"%{ R'Q:QQo09WM5?v89Wyu~'|hޔ<'6"+ AE7òLn.ǧHF]evvDGH~”dV Pr #|H%  ʒ9zk"ñ70U¿nWu^vBDWy=rqk,.,_IMvĉkg3,A}EGQ6 apaC4ZՕUT0>leؐ8(e?c:Ip>vxPb##/"h‡GNT u-fD=p86BpgzN i|f6G[a PF 9d*c ̗˼ `<'( PלG[ȁAtF`Y/y>ǣ߬We*<_¥P84*8sţ#Lđ,JbѯޮZ`W` #$_pl_ (tOH؃#e/t,ER@GD/VQ?u($T8]XMw3IR]E'_΢PH-Mb0̚YpvHQx\Px`n`N5۳͐QUTI ;ؤD| Ou_ݻ;$'>^P S-, |5iHaߨ@mySQ?G̎ynQkqeuS3Hڬ;S׶7~ I ס=yޜ ^Ǥ5ܙ?!g>%6.FHUO}ؘZxK 2g ))RPCJ:T_*T1)%RZV%ˤ3So:gR\}htFAjMV4d#lG z`P4 ІD)ԪI9L񉌪T2e/K[/P݆onIt aLU}$w xnX/[SɧӇ~.֧ǖbjb ز6Gࢩ_ᎶERewѠhd^Z+$>pu;,҈6.*ﹲx%ԲW1|>pwd9{&ob+D$;3'sVb# EVCr(}< Mq~hҢy7)!(JQhV(0$I7 2! s 1o;I}fgzfw]X,ޅe33&{ km7(d@ #Xa[1XFl!GYWzw>GRͰf" ery|MHZޖ]5b UTmbFfVK p K.dBadPN}/49WsA9ML)Ժ1tD>ޡ'Fgw%E5ٳU]AIN^KS\SA3n \$QJf I"/d0S*"EU$$Hxe!UB)yOV#ƞoQҡ2j)Ufs6DA̿O3*xEj¸ZH|PDzL}GfbR kQ*LSL=D䘨$8ܰVC4qCyׄKF83xcB[L)EQ-Pjc,,MdV2ܾ}~G;%eJ4v)#YS ,hm[єbWCměAOzmxW33^"~96BhI %!8 3P<3U7=Y޾lB ]WO:/2y݂C,)0N ?+wT/ ZCEG( O t#f iw WCQ;]0[`L'6hΊ-ֿU" u%(Rĥ`n8Syy|N9Qr_|4pT!NPt_'C\,B~jH14dx34:B E,KJ<,:ժPo r UsAʮ^S\ c-b!\b[IT<+UT~CUE5$!CU1x`Mld5^U _-'ȁ| Qsng?}_ʺ vX%~5sRjt% (^~U Z2%3>;VF'RgMd~b߅{gG ==wx |O(df@Ip*vw q8(HDe ؂$l? Mޫ✛t:mw|e:+'ݹQpj!È[(GL {) {[r$O$OtU ƼqloBؿ~y_7VXWq_P*_Wol|X69?B9Mzot:,x#'[]莓ݳ4g ƉN ΀Sۋ_k۟ "E=9=nJE$tGvK>=[4vcUhQ%ϝ~& vMB$Xpc(W0{gS߄Y`:-~0ФnY[2\$NWN=W,z ׯI[r׏&;j&Z6hOȉl1yX>$pjNiHmEM8jwgK&osͭG0oas* &uXaBA u2+v2Zi1%*)b՘)T^2W,9ciaL59FnJ0I*i<po m -/õ2MEuD2]cr42*٬] -^d$sG?&(ì-E T#l)\s)gHy(Q y[-O/L ]?8c^ќXL0y !FlO ·o=wC_YR41ɏA(|ZTgCn;x -KУ_Ȭx>)W\4ā/\b{%sE* ['+燠R*H>ȋK+df9lhYnsxUH ͅv@@9@"Ci3gR#E*-^|1Ul~[P (Kr?x K|#q}%\!@}|~*L:DGBzy_l:@/}'܂w$OCArRyw [YbqL21?'a.{ qqN!Ϸ=r^ ЅWZ۰:V \"_g[cedބ`GF~XO'p]\jaucn2>7 s^~Dj #mI\%3vc^~뺊?j#g4.l7 2s_ ZcA'.hۏ JC^qsPוkր׍6VhպAq_⳼Rwݾ>Kr@L-LR 9J.\v;|!8E$u պo:./bD_QRѕo }_ I8݇7@uy\zI\ouKsC|V9W꯬uԏמ|9S+|wJqk%My `1w_uR܏0k~d㐾?Gbj{`:-oKels<@sc0.☪u}mO$㱟A/|DO;.sٕ]\+5n~-p{/Q]O#E1uZ5xsbW1D5+3?w/_1^yF}ǜmqxbfLz8inTUw#S~΋݂u9 1 &{[' בymF@Jz,s~_I,;S$9HL9I5cZST{Q&=%9S{~Mpi1ZO٫%p]8rк`B'p_F2j@_i%=VnV1xc5c-5kOv_DygػM/ཙu Vme*mLJ83vqwT~ 4f̾.>溏ˠݏ`JY0t#(k6^L_؛s0)Qtch=}.O#$gy;S [Y;G~!<p(C.1zMxSL| Ut]?RK^>7;p(cwy=Z~HC2ƑȖ222ϤHqLs-?Hک2Թx &S/Aƍw]j/ޜȐiOPߐFCe< =3eO*iBN D3eZ2/ɴLi ځ >-^ZC}LSLgdKVWu29Ճ[2=x> `z> n'}reٯX5Ko >EPB Ǡ2Lx~gx~Pf#2#0EQo4|F%dƆ˼ qys@DzNfrrAnQM΄,48Hr"ً9p=<(̓;.vkz`|i-}G|~ }g8#=H!BK~a~7/AQx82ԝ`$zN5):<3@> S`EY#: "EKp n19WGWB\5z]3RLo2[y;`ߥ]1{]x,r0xPg7OY*r0|+*k:n187- $ p;w]p7}p?<C0<c8<OS4|> </ "| _ &| ߁!~ ? % ~ # ' p "%,cX:638s8Kq.pu\ĵpm\u>nF17M 7-pKlV5nv=;p'w]q7ߌo='{>/x oÃ<÷;p<߉wxx'xF-. 졋}WbƘ#\'{>|?4<3,<s<</ "/K! /G «?ÏMx3ނOx~ ?x'ޅw=x/އ >#(>$>Og >/ ~?_/*~ o.~?) _-?+ /QT2UJ5S4C4G󴔖rZV5hMZ֦uh]Z^G!mDiڔ@isڂmE[6-mG#viڕvڃJ{^7C~?@A6:C0z;#.z7IGt KtH'Am2"AM'| h%QL hH 4Ut2K)t*}N :΢:Σ.>Hr0}+*k:n18D7- $Jѧt;Aw]t7C}t?=@C0=Bc8=AOS4}>Kг=O/ЋL,i(j}7&Z%ZDqp2]Zb65eΨ+:ӵ":"v)66"tLkEu+Zl5ExpeI[݆޴Evtʢz2%A-C/=T5*'AMՌ0-Í[iW[eCʪ\*sLl~'!EVE6Ew N0Z>+.ԺRsl~MTޢ27&$HM%h~gLr l"ۛqL/6TpnP-W) R>fLUn)WE$H 'ڄTRhg`P`#~e 7c+1GoM,oY"2C'߫ 7dQoogfpmߊL6daj,%K52 SR{ĭE[t[R,67xxݸQ'q1 39Kea k &5DDQ%=GC-r &\.WDambʧO[>}:eb(*v”%єC2%AEs ēUR7E!05ńQհ-G!^#"5h)I(%ע"s|l?C3S~X)Y3G MyskCZ/0^io+!\oB%Z\A{_lSv-i#G̒'mS5"#;e草l3[[mS"\ʩ% xx7شK̚[yfeiQMzb EQLڼUo2ˈ  0:uϽXrct=̨{YQ|C Qq^;wheU9e+*VaV٭XI-`A~_Qf< Xtli'td0d<1Ӌ{cU,LyS:*c5(U 攥2Js J?ךӖt9esxnYb FVuP sXmtZxpEZ!JqX@gK5M$P9 5s w.Tɠ~ IwAT AO`ut2j99ԥdpC? v#%wPH{",H W yXe o9*O#IXLbVbrҐm$2$LXC74[C5rl+(ikRb44F(a%EWxgy%yڰ1L<:QQ_\,65S&ݮJ-Ⲧԣq*&'XƂS/̹ oDeB>ZbۼXî(Kc{>ܧv2E۔ANӲ!=_;o>/1NHsBZDӰһL`h 2Y>)2R~Wa3 rߜ& _{|"se#uQT"ZTZ,%H\S Q%kPQMTxH 0irXK N<*%l$pIÒ>F%ica?Kpߪ:nV(z%,K`EAd6Hcy?fdLK*# >L4b`anQ^ Y+.G,kOv-rSMvVPcVT4ԛch حDFLTlatnligafGfPfEd@.F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@`@`@@@@@@@  @@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{f ~2h.pH~"H ( N r X  : ` & h " h X$h4d$j4$0ZtBDJ,$\"ZT4~ 0 Z !L!b!""r""#$4$$%%t&&~&&'p(()&))*Z*+H++,l,----. .6.P.j.../ /:/T/0000181122>2d23034|5556<667D7868899:&:^::;;b;;;<>>? ?T?@@j@A A8ABBFBC CLCE8EbEEF6FvFG*GGHPHHI,IJJpJKJKKL0LLMjMMNjNOOlOP.PnPQ,QRQRRvRRS&SxSTTXTTUHUUV"V`VVWWnWXTXYYPYYZ&ZZ[&[b[\.\z\]0]^^P^_ _~_``f``aab,bbcNcxd6eetą* \ƈFf(Z̉"R$hʍ6^:TL(t:h.l vꖊ4ޚBț R,b@@Ҡ ^"@~¢dڣtJ8ئ,&fΨ:DNj0xƬ4`Ntȱb|д&ҵ`2ƷJ"2x,"~ȼN \>ðLtLZx&R~DȖrhʢF2̤^͒Jβ:϶"fjh ӠXԤTլR4t׺2؎8rٺ.ڞv>~0ݼ(ހߤRDp>Jv~2~> v H~dp4v L4t&-6K26=4&+54&#!"3!26=326=4&+5326=4&+5'2"&46+"&=46?7@!//B// $ $ (0`0(@(@ /B//B/    -=M]!"3!2654&2"&46+"&=46?77+"&=46;25+"&=46;25+"&=46;2`)):)) hhhhhh P):)):) 88 72>4."2CrrCCrrC2U11UCrCCrrCCrp1UdU1 6J.'>32%.#">"/"&'"&4?&54>2/54&+"6?6&L/ +(8 +(8Lr " *KRK* " 0766766.#"3267>3"&%.6767.6767&'.>7"&'&63"&7>376"#2326.#"+  +^C,:))" "(  /  %    s:))" "(  /   "+  +\C       !Y !J+L  A   , !J+L      !G   BKT7326767326/&";5326=4&+5>54.#";&'&'326/&"2"&46 &$hlh$& D D#+'044$7P9$440'+#D D `1&#&&#&1DD'( 2'89(2 ('DD A)7'&4?62762"764/&"'&"2``a`````a)?62"/&42?64/764/&"````шa```a)7"/&4?'&4?627'&"2?64``````a`A)7"/"/&4?62'2?2?64/&"a```````@(7'&4?62762"`````a?62"/&4 ``шa`a7"/&4?'&4?62````A("/"/&4?62a` ``/!"&=463!24&#!"3!26'#"&=46;20    p   hh@ 0  0    "%".4>2%#"2?6&+54&+"CrrCCrrCGs sG@CrCCrrCCr1tsst "".4>2#54&6=326=4&CrCCrrCCr1tsst8CrrCCrrC$Gr sG@ "2".4>3?64/&#"CrCCrrCCr1trrtCrrCCrrCGs sG@ "74>2".5326/&";;26CrrCCrrC$Gr sG@CrCCrrCCr1trrt3232"/&46;546` h  h  %!"&=463!2'5326/&";;26h  P rX  X P      x   %546;2+"&73?64/&#"    x   P  rX  X P %+"&546;2#54&6=326=4&    x   h  P rX  X P %!2#!"&=46#"2?6&+54&+"P  rX  X P     x   %+"/&4?6232  ` h  h=46;5462"&=#"&  ` h  h%#!"&5463!2#"2?6&+54&+"`Gs sG@p`Ptsst%!"&5463!2#54&6=326=4&`Ptsst ` Gr sG@%!2#!"&5463?64/&#"0`Ptrrt`Gs sG@%5463!2#!"&%5326/&";;26` Gr sG@`Ptrrt%!"&=463!2#"2?6&+54&+"h  P X  X P         %546;2+"&%#54&6=326=4&       P  X  X P %+"&546;23?64/&#"    X   h  P X  X P %!2#!"&=465326/&";;26P  X  X P     X   #"&=#"&4?62+` h  h    *%".4>254&+"'&"2?64/&"CrrCCrrCH  H  CrCCrrCCr&L  L   *".4>2/326=4&+764/&"2?64CrCCrrCCr&L  L  8CrrCCrrCH  H   *2".4>#";2?64/&"CrCCrrCCr&L  L  CrrCCrrCH  H   *74>2".?;26=2?64/&"2CrrCCrrCH  H  CrCCrrCCr&L  L  %"/&4?646;27>s sx  x-!"&=463!27;26=2?64/&"2h  P B  B     A  A-546;2+"&#";2?64/&"    A  AP  B  B.+"&546;2'326=4&+764/&"2?64'    B  Bh  P B  B.!2#!"&=4654&+"'&"2?64/&"P  B  B    B  B%"/&4?62!2#!x  xs s762"/&6?!"&=463!'.x  x}s s-#!"&5463!254&+"'&"2?64/&"`xH  H  p`L  L  -!"&5463!2/326=4&+764/&"2?64`L  L   `xH  H  -!2#!"&546#";2?64/&"0`L  L  `xH  H  -5463!2#!"&?;26=2?64/&"2`xH  H  `L  L  -!"&=463!254&+"'&"2?64/&"h  P LB  B     B  B.546;2+"&%'326=4&+764/&"2?64'    B  BP  LB  B-+"&546;2#";2?64/&"    A  Ah  P LB  B-!2#!"&=467;26=2?64/&"2P  LB  B    A  A7'&4?62&/+"&5#s sx  x/#54&"26=32?64/&"zVVVV.. VV .. VV7#53264/&";#"2?64&.. VV .. VVFVVVVC%"/&46;5#"/&4?635#".?62+35462.=#32`OO 3eOOe3 OO 3eOOe3 OOe3 OO 3eOOe3 OO 3eA+7!2?64/&"!7>/&"2?6&'j,. c c .. c c , b  b ,, b  b +7?64/&"6?'.2?64/&, b  b ,, b  b *,. c c .. c c [%"/&4?625#"/&4?6235"/&4?62"/3'&4?62"/&4?#762aJ  J ~ J J ~ J  J ~ J J ~ J J ~ J  J ~ J J ~ J  J ~ BKThl7"&5462"&4&"7"2654>21#"32>5476767654."264&"264&%45.'&26'/B/0Q/ 7B7 $   2  /Q  /R6  @QP"P  !//! /Q0  !7 7! # 2  (0Q/8gL oD P"P5%'7>/.76&+"'&?;26/6?6&ގ  &   & rNN " T  T " NN " T  T " GU"327>/.#".4>2&'&?6&+"1&#"32673127654'."&547632CrCCrCJ=  -62T22TeT  -*%@%4,*  L("" q[ CrrC( 2TdT2&#%2y 'E,19-'?C418 ( 3B7#?#3264&7#!"&5463!2'&+";26?3;2674&+";26  `9 $94 5.99.5b0_   V-347>54.!>54.     @    @  '<%'"&'.7.467&>>26764/&"'&"2 (6 -8- 6(   (6 -8- 6(   F hn6(   (6 -8- 6(   (6 -8-5 F h(%4&'6.."&7267>'>  (6 -8- 6(   (6 -8- 6(  - 6(   (6 -8- 6(   (6 -/FI`c!32#!"&=46;.'#"&=46;>232+054&/.2>5'#054&/.2>5'#`  p  z  "&"  z . "" - ";F;"H . "" - ";F;"H    '     9] Z<$$ 9] Z<$$ "2>4.>.67&CrCCrrCCr?  #VS  #VSCrrCCrrCv SV#  SV# `  )2;;#"%#326=4&!!2"&462"&46'2"&462"&46&``&@``&&f  V   &@&&&&@X```/?O_!"3!2654&+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2P <00@@0000`h00000 $4IYi~#";26=4&#54&+";26=4&#";26=4&326=326=4&+"%#";26=4&+";26=4&%#";;26=4&#"#";26=4&54&+";2600+P    a  P  00c5 P     P  w00@P    @ P       P  P      '1;EOYcs4&+"3'4&+"3;26=#4&+"374&+"3'4&+"3;26=#;26=#;26=#;26=#%!"3!26=4& 0@P``P`0@`0@ 0@0@0@@ pX00 #'+/37;?13333333333333333333333333333333  $    /!26=4&#!"!26=4&#!"!26=4&#!" `  `  ` < ( ( ( ( ( ( (2=%7>4&''67."&'67267&/6'&'77&767q "YbY"  "YbY"!       T"!OVO!!&!%%!&!!OVO!!'!%%!' "#" $&)s !$" ')&#(.7'.676?>'&17676'76767'"264&v --(>'1., 0 .8a!//B//! !' W!-<< `@ M/B//B/ $+067&''67>7&'>767'#767'E5N*&?S, M7"V04"K(, M7"V04FE5M+ ,M640V"N5E+S?"0V"N5E*~S? ,N7 (,/369=@CW3#7#'''#'.576767676327'7#7/7'7'?7#74&+5!#"3!265h KBBK h *7FVoR;' O.,*A)R@,.0%+++s&'%cHH 0+HHHH+ %+3$;0[,,*)@,,* 5++(5 hPPN%!546322?64/&"..#"#";;26=!;26=>=326=4&h    _   # #!/        /  _   /!   %    %    $C73#"&=46;##76&+";2?6&7#54&+3233##326=326=4&@t\m] m  _%   "H u$ `@@      0@@@@ `!3#!5%!"3!26=326=4&+54&    @@@@ `!%3#!5%!"3!26=326=4&+54&!!   D` @@@@ ``!%3#!5%!"3!26=326=4&+54&#3    @@@@ ``!%3#!5%!"3!26=326=4&+54&#3    @@@@ ` 3;%!"&=46;#%++#"'&6?632!232#5!353$/6/U@ R$    @? @ q `@@ 0    V2@@`!%3#!5%!"3!26=326=4&+54&!!   @ @@@@ `A%%2#5!#46;27"264&4&+"!( `` 0 `!//B//_8(   @@h  /B//B/(8 h"/<#54&#!"3!26=7>=4&532"&=462#"&=462p0   Q/ 70   g  `(  p  *$ '!/       AF7;2653%32#"&5'.?>>7&5462Np%6%!  B  r2&=# 9R'%%- a ,  d  -D'2" 2*6%&'&'&54.'654&";26532642#"&53 #=&&=# p%6%pR "2'D-  -D'2" '%%'[ 9=LRf"'&+";#54&+";&#"326732?2>.#"&4632;7#&'73.7?>/632N @ 3r W  1";#";#,E 4 V#:D;##;+#!//! -Q ($$,-  - !/2}   0";E;#6* 1";#!:F<#J`/B/I `0 (,>G  H/C0 /9=O#546;234&+"3;26=#"354635;26=#3534'&'&'&54&+2` 0  0 `` x X     x P0   h X0   0  8 &)4h   84)&  ?m|%"'&'&'&""'&'&'&""'&'&'&"#546;5335335332!52767676227676762276767623"&547>76523"&547>76523"&547>7652          @@@@@@            r  r  @      P`      @   %&   %&   %& =&/67'>'264&"'#"26=76?5'&6>|}~!$ n$x =6 Bf?ZX  |$$ O_  P  l' y$/:%>54&'&'&+";#";27>54&'32++5321$  !! ('2&D Mq QU"3$8  !    C,'8""D#76&+";3276&(s"   w.     0 &3?KWg".4>32762?#";264&'"26=4&764&"2'264/&"&"264'463264&#"2648_r_88_9-)4MA   @  U  & (8  h4)-8`88_r_84   <7    3  &  8( '7A%4&#!"3!26=4'&476%46;2+"&546;2+"&5!"&463! (88(H     XP 8((8   4 , & 463!2' @0p '"2>4."&4627462"&"&462CrCCrrCCr 30 CrrCCrrC` !3C&'&'&7>2&'&'#3>%67676'."#3>'&'&; 0 7R 0 NR  %%  *''*&t&&t %%  '*'s&&s'*'*?#"37'.+>3247#3!.7"2>4."/&4?627622"[3 -44X44XhX44X> L +a n1$)2."d4XhX44XhX4M +a '.+3%#"33!26=32 @)>%#'5#";26=4&%326=4&+'5#"#'5#";26=4&0P P  y P P GP P  ``   @  ``  @``   Qu#"2#.547#"'&4?62;676354&+"32+3!26=#"&=46;76'54&/&/&6?'.?>76)/# " 8((8((  ((;&& 00 (( 00 (( &-  (88(`_a@  @;&<& $$  $$  #,5>GPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&%6%%6%@  %%6%%   %%6%%   %%6%%   %%6%%`%6%%6%`%6%%6%`%6%%6%@A#54&+"#"3!2654&%3#++"&=#"&=46;546;232PP܀808808@00  88088'+%3#!"&=3;2657!546;546;232'#3@`hPPPP00< /!"3!2654&+"&=46;2+"&=46;2`((@`t(((@I%+"/#54&+""'"&4?&=#"&46;5'&462376232"34. 7=  6(33(6  =7  8/  66  /8 44  <  7  7  < ;.  77  .;44#3CM]m}#4&#!"#"!54&46;2+"&546;2+"&5#"&=46;2#546;27+"&=46;25+"&=46;25+"&=46;2 ((((4((G@(@((((((   8(8(l((TX(8(8(@:D%4&'54&#+";7>'&'&76'&6726=>&'&'56767@% +*+3:+ ;   4/'() %`2->CC>-2s%%`'*/    .#%s}* F * "/2".4>7"2>4.2"&467"2>4.2U11UdU11U2CrCCrrCCrC&&4&&#;"";F;"";x1UdU11UdU1@CrrCCrrC&4&&4&@";F;"";F;"2>54'&"&54767V461WpW165U*6;;6MQT:>`66`>:TQ5*1@@1*57@IY+++"&=#+"&=#"&=#"&=46;54>232"264&!"264&754&#!"3!26   0  0    ;2324."2>'"&462463264&#"26`X ~ X 7B7 7B7 4H44H4x  &  0 !!!7 7B7 7!$44H44$   & 3@IZ"3!2654&#32+"&=46!"&=46;76;2".4>2'"264&"&54632#"0`jt L !7 7B7 7!$44H44T &   `   `$- J 7B7 7B7 4H44H4h &    &/#!"&546;7>;2324."2>'"&462`X ~ X 7B7 7B7 4H44H40 !!!7 7B7 7!$44H44C"*5%'.#".#"2>=327>&%#5462'&67632+2$: @-44<42$c`(B   A)"->444 7;2!"&462#!"#"'&54627B(z(B7  0  0  !z! # L #%..%  0>  ((  >0  &x#  # %".4>22?6&+"CrrCCrrC{ {CrCCrrCCr'{{ ".4>26=4&CrCCrrCCr'{{8CrrCCrrC|{ z 2".4>764/&7CrCCrrCCr({{CrrCCrrC{ { 74>2".%'&";26'CrrCCrrC|{ {CrCCrrCCr({{9 !2"/&6    Y /&4?6  A  Y 546&  ?  #!"&5463!22?6&+"`{ {p`{{!"&5463!26=4&`|| `d| |!2#!"&546764/&0`||`| |5463!2#!"&%'&";26`d| |`||9 %!"&?62!  `  B0F%!!2".7#'.'&67#"&=46;2!2'#54&+"#"2?6& !. # FF  g   / n++D D  ! /0!W   - <<DDB0T%!!2".7#'.'&67#"&=46;2!2'#54&+"#";;26=326=4& !. # FF  g   / i0  0 0  0  ! /0!W   - ( (  ( (  ;%76&/76&'.'&'&??6?6/7>'.  ?> -- >?  ..  ?> -- >?  - >?  // ?> -- >? .. ?> !%2#!"&546;2%'&!'.(5UU WZ @(h9rh$4DT%2#!"&546;2754&+";26754&+";26'54&+";26754&+";26(((((`((((@(h,HH6%2#!"&546;2#"'&"2?2?26=4&(p !H8 w R7 n!@(h !I8v R8m! p 5 (3265.'"2/#".4>72 >f<  L!S-AnA=h>(L  AnlA !%".4>2764/&"'&"2CrrCCrrC F hCrCCrrCCrƸFh$!"&5463!2'764/&"'&"2` F h `b F h7'&4?62762"%p% $p$&?W7+#676=#"&=46;2'35>54'"/&4?&'>.+"54&+";26=4' f69    (O&/3   N,,@(8.546;22?#5&'&47>54&#!"3!26{ 0 $ xq  5(r  9xq?3&::L/,Nm  #'+/37;?CGKOSW[_cgkosw{%#5#335#7#335#35#35##35#5#35#35353535#'3=#3=#335##335#53535%35335'#3'#335#'5#35#35#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CP]m7'&4?62"%#!"&=46;"&=46;2#35#"&=46;2+324."2>%4."2>'54&+";263 3 dHHx4<44<4 4<44<4` 3 3  44<4444<44HH3@M]m#26=4&+"3#5326=4&+";#"3!26=4&".4>2!".4>2%#"&=46;2%'&4?62"XdHHx0G44<4444<443 3 @  4<44<44<44<4`HH 3 3C[72+#676=#"&=463'376&+5326=4&+54&+"#";#"54&+";26=4' ~ "h"33 (."#-' g__  **7#!"&=463!2#5326=4&+54&+"#";#"!76&h22$22VV?0$22$0""6(1I7?6?6?3754.+"72"&46#!"&=4?546;2/  +(D)t (    )  !(E(si 00$4=%!546?>=/&=4?'&46;2!"3!26=4&"264&`9   < 4X4h  /' 2  /    4XP   6'?7#"&=46;.5&>32+#676'54&+"3!26=4'k.3H4.   *$44$,  ""220+;!#7676765#"&=46;.546232+!"3!26=4&  (1F1(    &. )#11#) ;.  % :`462"&54&+";26=4/;3&'&5326=4&+"?6/&"&54&+""'&+""'. ,  , l  //*1%$1+ l  lH!"&=463!2"264&&#"'&'4&+""&'&+"#"'&'.!6&'h /!! ) )   (i i@!.!!.!&   f?G#!"&=4?5463!2%'&=46;23546;23546;2#6354&"e'+$R$+'H077m1111maQR0  '/?7!&'76=4&+"#54&+"#54&+"462##!"&=463!2Q  -(0H0(|@h{nn{*x,,,,xS  @C[72+#676=#"&=463'376&+5326=4&+54&+"#";#"54&+";26=4'73&576=4&+"#54&+"#54&+"462#'54&+";26=4 ~ "h"33D 4I x (."#-' g__  **>44>FF5 W  ## !%".4>2764/&"'&"2CrrCCrrCffCrCCrrCCrff !".4>2'2?64/764/&"CrCCrrCCref8CrrCCrrCff !2".4>'&"2?64CrCCrrCCreeCrrCCrrCff !74>2".72?2?64/&"CrrCCrrCffCrCCrrCCree*'&4?62762"?64/&"'&"27)?62"/&42?64/764/&"#+%"/&4?'&4?62/&"2?64'"+"/"/&4?622?2?64/&""E7'&4?>76"C%?62"/&4#%%"/.?'&6?62$#!"&5463!2764/&"'&"2`χffp`҈ee$!"&5463!2%2?64/764/&"`҈ee `χff$!2#!"&546'&"2?640`.ee`χff$5463!2#!"&2?2?64/&"`χff`.eeE/&/&4?62=+462"&7&"#'&";26=3;265764x*<**<*  VfV  _    _ x**<** WW  ^  pp   ^ )".5467>=4&2>54.'& :L1UdU1L:  5U0CrqC0U5  b?2U11U2?b  Fd9DqBCrC9dF  "2>4.CrCCrrCCrCrrCCrrC3#4&"#"3!2654&'2"&46"/&4?6762PP&4&P   R .j &&`S .i '09IYi#4&"#"3!2654&"&462'"&462'"&46272"&46+"&=46;25+"&=46;25+"&=46;2PP&4&P    V &&```PP.#!"&546;46232'"264&54&+";26P&4&P VP`&&4r "2>4.'&=46;2CrCCrrCCr X0@ CrrCCrrC@. &!2#!"&5463"&=#"3!26=!/0  `/!0-K!"3!2654&62&'&5476'.6762&'&5476'.6`;9!T-+;9!T-,  $.. $..2%#!".546754>2632'#54&+"#"2?6&";#'B'6*+JWJ(8,:A 0 A jj`#;"'B'.K+J+,$8( Fp pjj:%654&#"."3!2>54&"/&4?62546;27628(JWJ+*6'B'p#;":]]      (8$,+J+K.'B'";#.FT\\ #~  ~# 2%#!".546754>2632/&";;26=326";#'B'6*+JWJ(8,:jj A 0 A `#;"'B'.K+J+,$8( F-jjp p:%654&#"."3!2>54&"/+"&="/&4?628(JWJ+*6'B'p#;":      ]](8$,+J+K.'B'";#.F6 #~  ~# \\%654&#"."3!2>54&8(JWJ+*6'B'p#;":(8$,+J+K.'B'";#.F16."&3267;2>&'.'&532>54.tAVA%A'!9"0   0"9!'A'O33O'<%"9!    !9"%<7@IR4&"5>54&"2654&'>7673676767>%2"&46"&4622"&46/B/ $/B//B/ +#      0!//!**!//!**!//!)   **j     @   a !.7#"&=46;%#326=4&%"264&'2".4>wwww"+J++JVJ++J(!( ""v+JVJ++JVJ+)2;D"&'&'>54&"2654&'53264&%2"&46"&4627"&4620,4 /B//B/.K (!//      #% )!//!**!//!*n,/B/       $9'.7>'76&/7>/&"2%764/&"2==w+[[+  J +[[+ ?*r. PP .  . PP .)7326532>4.#!"2+5!"'.63!2(8 #;"";#x 8h&& P  H  @8(";F;" (8 &4&  GP%/'.=&'&'&'&6?&7'.767>675467676#4&"26*&*"77"*&**&*"77"*&*s/B//B/5) 1 1 )5##5) 1 1 )5#!//B//GO'&'.?&'#"&5&7>;67'&6767667>32+&/'>'&/'.=&'&'&'&6?&7'.767>6754676766'.'&'&'.?&'#"&5&7>;67'&6767667>32+&/'>'&        % % f" ! &&  !!  &&  "{&'        % %             > % %( "" ' ' "  " &5''            > $ %!"3!2654&#3#3`ࠠ`A#,5%#"'".?6767.54>2"264&3"264&3"264&@MNG?=Q NN`(l(l(9_80 $@#9_88_ ((((((A%#"'".?6767.54>2@MNG?=Q NN9_80 $@#9_88_F57"'#"'&?6767&54>2&'&'&'>&''3272>'710? .2'?6?6."264&CrrCCrrCf!  f! < CrCCrrCCrDb b o/?'&46;2"/"/&4+"&=462762c! p c c! p c c p !c [c p !c )>S%#"&=46;232%54&+"#";2654&+";;26%5326=4&+";26| (T(T|  |T(T| ( |T(|T(| (TT( |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| (T(T|  |T(T| ( |T(|T(| (TT( |+4=F7326=4&+"!326=4&+"!"3!264&"&4623"&4623"&462P  G  @(88((888        @8P88P8 )2;7!26=4&+'5#"!"3!264&"&4623"&4623"&462` p@@p @(88((888      @8P88P8#,!#!"&546;35#"3!265#"&7'&+354@  H!   h yB `(  p !Xh  )B`  6"2>4.#".4>2'&'&#"327676CrCCrrCCr2 %,)B%&AS"   "(#  CrrCCrrC &BQB%  # +A" @/!"3!2654&+"&=46;2+"&=46;2 |HH`(((@/?O_o!"3!2654&46;2+"&5+"&=46;27+"&=46;2+"&=46;27+"&=46;2+"&=46;25+"&=46;2 @@ HHXX @@XX P  P `(`X(X(((d  0  @ )353!26=!46;2+"&5'46;2+"&5!5463!2HHl(((D00 '0%'.'467%'.&/.7>/&6?>"264&7E   !//B//b<e  # f/B//B/369%#5764/&"#54&+"#";3!;26=326=4&'57(9 9 0 (  (  0 ( -`9 9(  ( 0  (  ( 0 /_h%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&462 eF(Fe  eF(Fe (,? )) ?,(,? )) ?,Fe  eF(Fe  eF()) ?,(,? )) ?,(,?  2?>=4&/&'557  NhhNDHNNA#'-17;A%'54&/&??>=4&'57'7'575'17575'17a d d a dhhd UUffffTUUffffUUffff$m && m$ n 2442 n ' E%%&&))+O'%**''p+O'%**''&0!>;54>;2+&323!26=!%!"!54&*, 104 1418((8 @(88$4   $(88( 8((8)2;D%"/"&46327'#"&462762'"264&"264&7"264&Ft8P88(!!(88P8tF  c  s(88P8!!8P88(s l  /".=4>2".=276".=276::>#::>w.!!.!!{g!!g g!!g BRb7"&5462"&4&"7"2654>21#"32>5476767654.7'&"2?64&"2?64'/B/0Q/ 7B7 $   2  /Q W W    !//! /Q0  !7 7! # 2  (0Q/4W W   @#!";#"3!264&+'32654&!5! H    H$@00@@#!";#"3!264&+'32654&!! H    H$@00@ 6?HQa%264&"'264&"767356?6&'&'&7&#"'2"&46'2"&46264&"!"3!26=4&  $44H44 1872  / E54'&'.'&q%( 1(,5G   3(0:I +/2 ;'"  ) 0/A,  B"+%'..'.+";>?>"&462?   &d p Y\+;4(zG*   /, /G ((-=M]%!4&+";;2654'32654'326=4&%32654&+"7326=4&+"326=4&+"p ` 0 S((S Y  ` `   @p        @   ` ` ` ` -%!4&+";;2654'32654'326=4&p ` 0 S((S @p        B7!2654&+'5#"!4&+";;2654'32654'326=4& 00  ` 0 S((S   @p        B5>%7>/.''..'.+";>?>"&462&< =!=!>N   &d p Y\+;4(5 dc G*   /, /G (( "2>4."&462CrCCrrCCr /B//B/CrrCCrrC!//B//+4=3232"/&6;546#!"&=46;2?324&"2674&"26P X  X2 0  1*1 |   @       p  p 11b    3W#"#";;2654&#54&+";26=326=4&'#"#54&+";26=3;2654&h0  0  0  0 0  0  0  0 ` h0h   h   h0  p    A :&?627'&"2?64!32?6&#!"3!26=4&Z\  1 $Z$ (`(mZ  \1 $Z$ f@)(%#!"&=463!2%!2>/&"   p`*@@  @ 3''#,5%2"&467"264&2"&467"264&2"&467"264& **<** **<** **<**  :*<**<*:  :*<**<*:  :*<**<*%"&4627"264&!"264&H*<**<*h**<****<****<****<**<**<**<*#,572"&467"264&'2"&467"264&2"&467"264&` **<** **<** **<**  :*<**<*v  :*<**<*f  :*<**<*2"&46'264&"264&"`**<****<**<**<**<**<**<*h**<****<**9#!"&5476?6762."'&/&276?>'`)|    |)Bs  s t(t Z Z BU UTT#9!"3!2654&&/5463!2"'7#!"&=276?6`N    N I  I`8  81  5   586#!"&=46276?6276?6?6=4&#!"`!y ( v   ~+ ` ,{  X  Ue ["  "Z %64/&"3!26=4&+'#'(`dDrP((`(͊CPAJ%.#"&'326?6&+&7326?6&+>326?6&'&#"#";#";327>57 *Ar>( Ho!79M"/'  #(, P@F*,/5463!5462"&=!"&!54&"26=!26=4& hPP PPh  0 PP 00 PP 0  ;5463!'&4?62"/&4?!"&!764/&"2?64/!26=4& ~ S S   S S ~   R  R  R  R    %%".4>2"264&';26574&+"CrrCCrrC&?0@CrCCrrCCru&&(!"3!2654&32+"&5'46"&462`@0%&``&&C'%#!".7>"264&';26574&+":  !! *&?0@!! &&7"&462;2654&+"/B//B/ B  ^ !//B//v  /7+"&=462762?'&46;2"/"/&4]! p ]]! p ]] p !]r] p !]C%+"&4?'+"&=4627'"&=46;27'&46;2"/762 p $kk$ p $ll$ p $kk$ p $kk$hp $kk$ p $kk$ p $kk$ p $kk$[%+"&=46'76+"&=46;27'+"&=46;2/7&=46;2+"&?'&6;2  B{{B    {{    B{{B    {{     {{    B{{B    {{    B{{B )>S=46;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |T(`T( |(T| T( || (T(T| T( |(T| )>S546;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |T( T( |(T| T( | | (T(T| T( |(T| A6"/"/&4?'&46;2!!2?64&#!"3!26=4.@$$   ` $$ @ '#!"&5463!2#"2?26=4&`Xp    p`$    p -#!"&5463!24&+"372?;265`@  8  p`C   8  A<%#!"&546;2+!54?6274&+"372?;265  @  C  `   C   %7732?"/&4?62762 8> b))SK >8 b))R!%!@/HL%#"'&'&4767%&'&6?6632'4.#"61"26516' YKJ+$<9$>?F**  3)+YKJ+%>%*$!N,8/,+I  >)R%>%p)@;  I ,+I  %>%  $<&2o'>Ay 5%&'&"276764".4>27"&5471264٠9+JKKJ++JKKJ+%>%%>J>%%>C=V= $+=I+,,+I  I+,,+I %>J>%%>J>%+==+$ ='546;27676//+"&(    ( h   '+"&=.=.54>54>546;2(    (t  @  %.>N^n+"&546;2#!"&546;2%35#"&=#4&+";26=4&+";2654&+";26=4&+";265   0  `((((((((0@T 0 J` ((X((&2"&46'.+"'#";;26=326%%6%%0  &  0 8 8 %6%%6%   h  h &/32'767'.764&"276?&>"264&1C-qI13q" /B4Xh, +V(88P88}-qI3q !B/F&4Y31U,78P88P8;%/#'3264&+3#'#33##373#3264&+73?676764'&'& 0u( s0C" 0@@0 "C0s (u0- P E*E P  !1AJ5#"3!265#"&+"&=46;25+"&=46;25+"&=46;27#532  P  @` b8 0  H8@mb<EN5##5#"3!265#"&'3#"&?535#535#5353#3#3#327"&4627#532@ h  P    ߀ b8  0  Hr 'a W&5 b#1@I5#"3!265#"&/#"&=46;7664'&>.7.764'&>7#532  P  @$$!    `   s b8 0  H$8%X  ; II  N kb/#5323#!"&546;'&"'&"2?64 b  K j. R Fb0    ni. S /?T#532"&=#"3!265"/&4?62'.57467"/&4?'&4?62 b   P AA(( >>A((AFb0  0  H==$$Gp=$$=&4#5323#!"&546;?6/&7'&"?64 b  2_0_.j/Fb0    n_0_./7@5#"3!265#"&+"/+"&?'&6;276;27#532  P  <<<#% #<<#  %#d b8 0  H`^] E ! ^]  E yb*3#532#!"&546;3;26576&+"4&"26 b   _(6O""Fb0    =pp"#0#532"&=#"3!2652"&46!5762762 b   P '( (g (Fb0  0  H((0((h(1:5#"#";276232+'"/#3!265#"&7'&+354 89 #F Z9 #F P  b 8 (rE  ,qF  H)b >'&+3545#"3!265#"&++"&=#"&=46;546;232yb   P  @808808Wb  0  H088088*#5323#!"&546;26=4&+"3 b  .Fb0    (( &MV`7&432767&676773#!"&546;&'7676'.1326?6726&'&7'&+3546&'&7 l       ,#Ob Q   $'7' c     $    6 ! b >#5323#!"&546;4&+54&+"#";;26=3265 b  :<(<<(<Fb0    <<(<<"772+57'&+3545#"3!265#"&'#+"&=46;2  b   P  5((Q!(=b  0  H5 9,>#5323#!"&546;764/&"'&"2?2?64' b  0 00 00 00 Fb0    0 00 00 00 6#5325#"3!265#"&"/+"&=46;2762 b  P  `7 p  p 7Fb 0  Hp 7&  p  &7JS5#"3!265#"&32+"&/&/#+"&/&6;26?>;254767467#532  P  9&& %% k b8 0  Hn .+ [ _ L&s Eb5#"3!265#"&7#532  P   b8 0  Hb7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n((((((((((((  P (8(8((8(8( 7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n((((((p((((((  P (8(8(`H`(8(8(!"65764&0  P  8 8A#6."6767676;;26=4&'536=4&"&462 : % #   ) )(   !# "   5!  !4t/   ,4&"&=4.2>54'&'&'&'&& &5%4XhX4  #   6*" %&U  &)4X44X4,& @ 1;;#"!!46;546;232++"&=#"&5%#32654&00@@808808P00p\88088@` 1:CIRXagm6#"'&'&'&#"+"&5.54663232675&/'65&5&'&'675%676?56'75;? >4   "!# 0/ # (!&&# #'"(p'#  *%n&#$} ) ^  !  $FG D FD  D T HH FHD G1"'&'&'&#"6'.'&;26=6323276=4&^ #!"   4> ?;E]  !~  ^ )  '%'5326=4&+";3!2>%76=3u   u'2'0@0-    4"#3jN ND%#!"&?>3!2%!54&+'#"7>=IpITH@E ,| |80@v#'#"3!26=4&@@@-47#73#";26=4&+.+"#";26=4&67#   H   9)c QQ     u     |i.'&'&'''>767'%62"/"/"/"/&4?'&4?627'&4?627'&4?6236.36 Ct&( Ct&(3         54x 54 G8'.'&;676'&/3276=4&"&4627'&6?'.'35#'3| R:=B5Z;5V) + 5$-  X ) epvL ?a ;Zj20'- /$3 p ((H" 3<BK%#4&+";26=4&'4/.+"#"26532654&'"&4627'53"&462pP    N08P8@8P8(`vJ(@p `   p(88((88(% w((``((%'&?64'#'&?64'   ٠       2FV%".4>2264&"264&"7"12"&51264&#"12"&51264&.7>>CrrCCrrCt(8((8((8((8(D  (  (TS ?? CrCCrrCCr((8((((8((  (  (- -## -2%".4>21'7&''77'1727'?6'7CrrCCrrC0?"'>KK>'#?&U%@%U&NNCrCCrrCCrC:T6**6T:B4" M M "4\88\a9BK!"3267332>4.++"&=#"&=46;546;232"&4627"&462+J++J+!;\;!+J++J4(44(4(<(`+JVJ++JVJ+44(44l((P((7%'&"'764/&"2?'&"2?64/72?64q}(Q  s .  s Q(|q|(Q s  . s  Q(}@ #'#!7#3#3/!"'?3&ZeE0EFOEee{GC{e B P2"&467"2>4.!//B//!'B''BNB''B/B//B/@'BNB''BNB'+5?I#654&#".#"#";3!26=326=4&'67632#'2#"&463+"&5A8(,(8A  `   H =` 0 %(8 8(% P pp P  % @ %  6&#!"#"3!2654&+5 \ ( \   "(29?3#63676?3.'#36#&7>7'&'&'#3&?67l  ~b>* ~b>**>b  *>bB@`,%++%,9P K73+"+"&=4&+"&%#.4>22654&''4&''32674&''326`  (  @5,-58_r_8   <    @       7]]p_88_e    /    M    (#!"&=326=4&+5326=4&+546>~&xxxx. B& 0 &I '6%/+"&57.46767'.67%6#1/2>5'o  0  ,   $$ 6\l\6 U>{{ UUw /TT3#!"&5463!2#"#54&+";26=3;26=4&`p        p`D PP  PP  haKm7+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32#"2?#";26=4&+54& r  r z r  r z n%D 2  2 J    HH     GG B       nf0|%32+"&'&54767>7654&#"/.7>32+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32|   7  6!.=*  r  r z r  r z `     &  5-'  !    HH     GG la/{%4'&+"/&?#"&=46;2#"&'.?>326+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32$  =[  ?"*@35 r  r z r  r z   G   J 1#-? *    HH     GG A57!2654&+'5#"&"+"&=46;2676&+"!2?>p` p@@p  ]V * Vu    (J F`y A&354'.#!";2+";2 !  |%  p t  ! 3 % G0"#54&"#54&"#54&"'.;26?6=4&!!! ! } @Wد, ! q-%"#54&"#54&"#'.;26?6=4&"(E$%K @    в$  p P+;D5.5476767>;2'''"&546;2+"&74&"26\    $#&*#        '    ('  d0  0 "  +;D3&'&>32+"&7.7.7#"&4632+"&=46264&"-   '    ('  d0  0 "  $    $#&*#     ,<E%++"'&'&'&'.=467676763232+"&=46;24&"26d  '(    '   ` 0  0    *&#$        ,<E2666+"&'&'&'&54>54632+"&=46"264&*&#$        d  '(    '   ` 0  0    -159%+"/&>46235462354623462#37#37#3  ! """"XX`! ,((a````` @P""/.?6.354?6=4&."/54&"354'7'&"2?64` Z &9 k `& Z k a  a a  a  l  3  M"+    3  l   +"b b  b b 94&"#54&"#54&"#54&"'54&";26=4?65'''''p 0? /00B& c  t-74635#"&46;5#"&46;5'.>7>+"&  в$  p P"(E$%K @  37>5'&>3'&>37>37>+"/. ! =' # 0 40 ,  $   9P * Y ~ !(1Kq#";26=4&"&462%#";26=4&"&462'#6/64'&&'&4?>;2&'''#"&/576;26?H0  0 "  00  0 "  r*Q<6 C .!    #&^=%@**0P          0c@$M  # `3J0$ 2KO76&+76&+"#76&+"#";#";;26573;26?326576&+7326#73K)b(PKOK)b(PKOcc ( R VR V( ( R VR V( @&/%#!"&=463!2'2'.#!"63"264&#"264&@ 0a a m ``< `K54&+";#5326=4&+";#";26=4&+53#";26=4&+326  &&  %%  &&  %% p                @ 8";26=4&+"54>2.+";26?>=4.FuE A-  )4XhX4)  -A EuEuF0 -? 4X44X4 ?- 0FuE1"&'&#"2?67654&#''#DM" MKB.1/-BK -%"/#2?#7'.'.37627623>&@19^mDEEDf$:1wc HACV b 7CA1.+";26?64' pq q   -?%#"&'.?>32>4.#"+"&=46>3276&/54&+"6CrC+P! 2@2U11U2$A3  2"X1CrC )  ACrC (1UdU13  2!$Cq  h  3 4>2".2>='&EuuEEuuEEuuE7gbbg ,,4,,8n,,n( $.95;5#"'&+32676&7'.#326=4&';5#" 00 :  ~5; :00 6 ~ P K  kv Ԡ  k A!C%+"&=4&+"+"&=4?627'54&+"'&"2?622?6& tHt TT8Y"    pp 7EIJ   @)9IY}#54&+"#"3!2654&+"&=46;25+"&=46;2+"&=46;25+"&=46;27++"&=#"&=46;546;232+"&=46;25+"&=46;2      s((((((((((((`@  @  p (X((X((X( 0"2>4.+"&=#+"&=46;23546;2FuEEuuEEu*0`00`0EuuEEuuEXXXX-=GWg!546;46;546;23232#";26=4&326=4&+"#"354&7#";26=4&4&+";265'3;26=326=4&+54&+"#"@ X p X ((((m(@;((y(( ,h H  H '((@((TT`(( ()226=4&#!"3"3!26=4&'>".53h   D55D  P  D55D00    CkkC    CkkM'C&&C')/5!"3"3!26=4&'>526=4&#>27#&53h  D55D  P  D55D U 2<2   CkkC    CkkC  $,,"")1!"3"3!26=4&'>526=4&#4>2h  D55D  P  D55D J080  CkkC    CkkC  @&C''C)26=4&#!"3"3!26=4&'>h   D55D  P  D55D    CkkC    CkkM54&#"&'&#"36#";#"32767326=4&#'&=326=4&+54326##"$ $$T##"$ $$T(( p(p0(( p(p0(=!"3!2654&46;2+"&52"&46+"&=46?7P hh@!//B// $ $`,l/B//B/    @&0##5#";546;232654&"&4624&+"3&&`2#V#2`&&!//B// @ ``&& #22# &@&/B//B/`  `$-=M]m!"3!2654&+"&=46?7'462"&+"&=46;25+"&=46;25+"&=46;27#!"&=463!2`    #2##2#\ X     d##2##O88X%)"&5463!2"264&!5'&"'&"`!!.!!GX 8 H H!.!!.!pX8HA!*7%#!"&546;3%4&#!"3!26%"&462762762!/!((`8 ( X !/P(8(Xp@;3232"/&6;5463'.##'#764/&3!26=4'D E xr > <_ ,\ p \+ ^    xx  v 7@@7 v __ A#9%#!"&=4?>3373'&6?62'5326/&";;26@  ^ +\ p \, _ > rx E D O__ v 7@@7 v 1 xx  A%'.#!"3!26=4%3##'#8j jbU{ p {̟ @@/?K5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"/&?64  `    `   .``l( ( ( ( ( ( ( ( o` `)9I54&54&+"3!2654&#"&=46;2+"&=46;2+"&=46;2ۋ  p   S((((((XDX  p  ((((((54&54&+"3!2654&ۋ  p   XDX  p   4"2>4.2"&46+"&=46;5#"&=46;232CrCCrrCCrC"IX @ CrrCCrrCn""@d7!"3!2654&2"&46+"&=46;5#"&=46;232`"IX @ `V""@d'735#"&=46;232+"&=46"264& p   T**<** 0  0 0 *<**<*+;K#"!54&+"35!34&!5!'326=4&+"326=4&+";26=4&+"p    @@ 7` ` ` ` ` `     `` ` ` ` ` ` ` *#7#326?6&+";#";26?6&">)   ">(    @        !-]67>. 7654762+"&'762+"&54&+""'54&+"'&'&6;26=2676&   8@@80 0`0 0`9 4B4 4Q0W_   Z0660ZPPPP:,##, #,#"'+++"&=4?&54>2#264&"/Q0 % ( p  /Q`Q/((0Q/( (  N 0Q//Q( @/?O_o)"&5463!254&+";26754&+";26754&+";26754&+";26754&+";2654&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26754&+";26 \((`((`((`((`((((`((`((`(((( `((  (((((((((([(((((((([((((((` (2r%!"&5463!;26/&+";26?3'#767!!2'#54&+"#";&'.7676?6&'&'67326=4&0  y 9 9 < &  .@@r             l&& @         ##/!%!"3!2654&#"+"&'4+"3!26=4&`P @  @ `  $$@8H%#"'&/"#"'&47676765'&'&547676767676?6762%>>&'&6EG%'    4/J(:+   +.0}U  \5 "       H83  VCGD: BK 0D."'&7672767>7676'&5676&+.7>76*  -,&.V "*  -,&.V @0  7J"  V.&,-  *" V.&,-  *80@ "J7  A%"/&46;#"/&6;232:hh @T8 @ 8pp8 a!%"/&4?62#"/&6;2762Y8T8 8P<%8 <A'&";#";2653264:hh @T8 @ Hpp8 Ha!'&"2?#";2652?64Y8T8 80<8 ]< !'-"2>4.&'7"&462'67&'67CrCCrrCCrk@?(88P88?@@??@CrrCCrrCx?@8P88P8@??@@?p5F%+"&=.=46;2'"&'&'&'&'&54>2#'463264&#"26  P      /Q`Q/    /! 4      '(0Q//Q0(!/  4 (R.6?62?64'.5&?>7.6?6'4&'&4?62?>&GDNN;&  *<C    NND    C<*  &NND;NN&  ;+C< DNN  <C+;  &NND%#"#57>=4&57>=4&54&+"??;2674&t0'%-  87 17 1Pe{0$ ))3E )  ) pd!*:JZ!"&5463!2"264&"264&"264&%54&+";2654&+";2654&+";26`""" `h""`""`""  [  [  Cn~4;57&/&?6;232+"54767>54#"/&763232+"&576324+"/&?675#"=4;2#"'&!26=4&#!"!26=4&#!"!26=4&#!"     C       ' D  :  `  `  `  4 (  T            L ( ( ( ( ( ( *:J"&462"264&"264&7!26=4&#!"!26=4&#!"!26=4&#!"`((0((L`  `  `  `((((( ( ( ( ( ( ( /?O_5463!2#!"&!26=4&#!"!26=4&#!"326=4&+"326=4&+"326=4&+" `  `  `  y@ @ @ @ @ @ L( ( ( ( ( ( 4 @ @ @ @ @ @ ;676.` %, % ,% &%-%#54."#"3!26=4&"&=4627#5462)FRF)`"" *<*H)F))F)H0xH**@(4"#"3!26=4&+5462;26=4."&=462*E)`0*;+ )F""*F)GG+*P  P)F)x0@("#"3!26=4&+5462;26=4.*E)`0*;+ )F*F)GG+*P  P)F)!%#54."#"3!26=4&+5462)FRF)`|*<*H)F))F)HH**74&+"#"2?64&#8. VV f.VV/7!26=4&#!54&"265.VV8. VV /%!"3!2?64/&":.VV8. VV ;2653264/&"3X8. VV .VV@%4&+"'&"2?64/&"B  BA(  A`7'!26=4&#!764/&"2?64A(  AZB  B`!"3!2?64/&"A  (A&B  B@?;2652?64/&"2:B  BA  (AA1J%&'&#"'.1'67767?>/>764'>'1"&4631.'6329+JKY*(5 +)#$Y7} '( +*F$*%>%I+, H :!*  2I  :A) g<$  %>%3 '9e7#"&=323&'";264&#'326=#"+".=4>24&+"*#.+";;2654&'&'3265.0 '     .0+J++J+2"7264&")24XhX42C !//B//6&:H$1 4X44X4 1$H` /B//B/&'&'.54>2")24XhX42C6&:H$1 4X44X4 1$H` 1%7"/52".4>463264&#"26  'B''BNB''B)*$4!!3'BNB''BNB'*4$%;#!"&=46;546;232;26=7#5##"3!26=4&1   ~ 1 P~ 11 n X1 P   1 x  x001 1 P A/&546?6'&654&'?>54&@  ΐ    @ P @7@  @ P B@  @ P &O#"&#"2>54'726=4&"&462%#"&'32"&=32>54'726=4&TO0#*'B''BNB'1 !//B//CO0!!//B/!(>%'B'1 1'BNB''B'*#0O/B//B/1!/B//!$;"'B'*#0OU1:%'&#54&+"#&'.67673;26=3?64'"&4628( JJ77JJ (8B//B/7(7JJ7(8 A/B//B%097&'5326=4&+5326/&";#";>&"&462(7 7(7JJ7HB//B/ (88( JJ77JJ/B//B09#"'&"&#"2>54'72?64/76=4&"&462tO #*'B''BNB' !//B// 'BNB''B'*# O/B//B/%#"&#"2>54'76=4&"&462tOP#*'B''BNB'Q!//B//Q'BNB''B'*#PO/B//B/ %I!#54&+"#73#+32#"&546;++"&=#"&=46;546;232`@  `@@ 0   0 0   0 `00 0`  0 0   0 0  2FP%".4>2264&"264&"7"12"&51264&#"12"&51264&#";26&CrrCCrrCt(8((8((8((8(D  (  (  CrCCrrCCr((8((((8((  (  (!CL%4&'7676&+""'&'.+"#";;26=326=4&+5>'462"& &(F(&?1$$($$1?/B//B/!9 // 9!3N 4($$(4 N3!//B// #7K_s+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546`****************`N 0b 0b 0b 00 `0 `0 `0 h3[%32+"&=46;5.=46;22>=46;235#"&=46;5#"&=46;4&"265#"&=46h&B(DD(B& 7A7!:::::9O88O9:,*G/../G*,+ 8! 7!,  (89((98( R%'546;2'4&#"&"327".=4&+"#";26=4&+5672?64-H8(); 9(A7 &B(DD& n -,(8 2(9 !8 +,*G/..n i ?75462"&7#"".=4&+"#";26=4&+5>=4&`8P88P8 7A7!&B(DD(B&(88((88`+ 8! 7!,,*G/../G*, "2>4."&=463!2#CrCCrrCCrCrrCCrrC881'%+"&/&4?>;226=4&#!"3*p pq    88'+"/&=4?6;226=4&#!"3*88!"3!2654&"&=463!2#``88%26=4&#!"3  p   L  L @(#";2654&"&4627+"&546;2 c` l8@/#";2654&+"&=46;27+"&546;2THH@`<H8@#";2654&+"&=46;2THH`<@#";2654&"&462 ` `"',I#!"&5463!24&##264&"26"3#34;57&/&?6;232+"5  P %@@%0/B//B/%@@%    C H   %@@%e(88P88%%l (  T  `"',#!"&5463!24&##264&"26"3#3  P %@@%0/B//B/%@@%H   %@@%e(88P88%%2676&'.54676&'&#";h$=87C7/EvEEv@2- d=6^EuuEL[q"'326=4&+"'&+";#&'&+";2&3267326'&672>4."&4632;!&547?>/632!R  - &P B'7  8  !8!"<#,E T  ";E<"#:]!//!)Q (l"22 1"0+7 *&   "9!#=#6* $B3":#""&462 'BNB'?1(1?!//B//'B''B'3N  N/B//B/@-=M]m!"#"3!2654&"&=37#"&=46;23#"&=46;2'#"&=46;23#"&=46;2'!"&=463!2(0 ( !˘՘˘h  !8 ``((BR#4&"#"3!2654&'2"&46++"&=#"&=46;546;2325+"&=46;2PP&4&P  j808808&&`880888HZ5326=4&+"!54&+";#";26=!;26=4&+%546;2+"&+"&=326=32((((@H T@ (((([4 HA7r7+"&=46;5#"&=46;2!546;2+32+"&=75326=4&+"#32+"&=##";26=!;26=4&+@44 444h  @ 4 44444@ 4H @  H44&+";2?6=4'j/?K5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'6=4&  `    `   ``l( ( ( ( ( ( ( ( Y` `)%#"'&5276767"327676764&I>D$! '( ,(<:5%"8 S .6?>2?64&"2?62&+;:,@+  (3H ONPO,;;-?  *K5 "#"3;2653;265326=4&,J,+J+   ( +IWJ+h  X  X  2;46;54&+."#";2"&463+"&546;7#532! Q"Q  h h  r` B!H  x  0 h &`B ,"2>4.+"&=46;2+"&=46;2CrCCrrCCrS 0 0 p 0 0 CrrCCrrC    #"&546;2%4&+";26`````0`*<N]7"'.4762#"'.'&"#"546762'"'.5476327467632#"'&"'&46762U / D %  ' 89)+H+)9>/ / u/-/-j   +"QR//H//G/-/'"/&4?62'&"2??64. o.(<d o  r2.o .<(S or   -!"&5463!2?64/&"7'&"2?64` :7i7 `.9 7 7 &?627'&"2?64-or   <(.o .\o   r<. o.(*1"/&4?62'?64/&"&4?62"3'73. o.(< zo   (0@ $2.o .<(z  o  P$ @$"/&4?62'?64/&"3'73. o.(< zo 0@ $2.o .<(z  o$ @B/%&=4676%";265>54&;1G%=D" LO\M1# ! !8     '-  !r! "+972>4."72"&46"2>4."&46232+"&76p44<44(44<44($  " p4<44<4((4<44<4(( 0   47#"&/&6?66767654&/&&"2?64'F8Ep16 h0<  RF%' h0<?LPVp1,% ; 0!"3!2654&"&/&6?6>7'.?>`F $9% A(&BC`A %9$ FOCB&( 3H\&'&767>#'72&/.76'&6?67"/&4764'&4?62/.764'&6?6a@? @  88  @   _ %% +  ;@WTTW@( Q,]+Q ("V$XX$ -t- 1#X# B  '&'.32767654&h0<[;1p~li>? p1:\<0h ?>il~D&6"2>=4.#5462&"6764'7.27>&'p44<44`( 7IKIK 4444pRKI7  KIAA%#'326=4&+'&+"'&+";2?;2?326=4&+73264&|'19!0*(**(*0!91'|+==H(: B S  S B :(H!.!A(%#'&+"#'&+";2?3;2?3264&ph:"n#++#n":hp+== : jj : !.! "2>4.&=46CrCCrrCCr1  CrrCCrrCek-&7%>&""` ` #+5462!";35>=326=4&'54&"0 I7@7I 0p  p   :X cc X:   p  p 0"2>4.++"&=#"&=46;546;232CrCCrrCCrM\8\\8\CrrCCrrC\\8\\1;%+"&/&4?>;24&+54&+"#";;26=3265*p pq  \8\\8\   \\8\\;+"/&=4?6;24&+54&+"#";;26=3265'\8\\8\*\\8\\3!"3!2654&++"&=#"&=46;546;232`4\8\\8\`\\8\\#%54&+54&+"#";;26=326  L    L  L    L    6]f"&'&542'.7>767>'.'&676764"6'&'4'.4>2767654."264& J u5%.&?&(D(A=g<#"9$*0P_Q0,%8"$6!.!!.!               &'2!$ 3 &B! &#&#&!!.!!w  `!!.!!  -!"3!2654&2"&46+"&=46?7P !//B// $ $`/B//B/    @>%#"#5326=4&+54626?6&'&'&#"#";#"3!26=4&4-{TT"7  (@$$(`3(@!$  :$B((h'7".546762>54&'.?>54&+";2608CqrC80  $-M[N-$ _  "k=CrCCqD=j# F)-N--N.'G   =!"3!26=4&3!265!46;546;232++"&=#"&5h  P   @808808 0  0   `88088'732+32+32+3!265!%!"3!26=4& xxxxxx  H  P @@@  ` 0  0 %)2;#54/&#!"#";3!26=326=4&!5!%53;"&462: 4 P 4d (0 n : h  h`( `H$BK%!"#54&+";26=!;26=4.%32?3264&+'&"'&+"264&"        4Z~2z f2&&4&&   00 47 c,  7 c(&4&&4&@e%"#"'&76?'&547>7654&"'&'17654'&'&'&5462763'&'&76323264'&  $+#6 X,,!' $6#,?#     '!     ,      #6  #'+535#3#735#5335#3#%3#5##5333#'3#@@@@@@@@@` ` @`@ @ @@@@@ `  <E%".4>2'"6767632;26=476767654."264&CrrCCrrC(#    8 "6#&CrCCrrCCrc        /&&H!"3!2654&"&4627+"&=476?67654&#"/.767632`&8    #(6" `r&&      /  z3<"6767632;26=47676767654'."264&:+' + & H    Q5((:((-!  (     !*%"))9))9))=%/76?6&67676767"264&#'.'&7>/7>V ).%4%)!_<"..C.."" W:"m pJ /B//B/A+6m  + 3=4767632+"&326=4&+47>=4&02`  hHPHh  `20iEG " &jj& " GEi3&=46765#"&=46;2%#";7676=4&02`  hHHh  `20piEG " &jj& " GEi (87&/&67%#"'&'67>7>&'.'6"32>76&~9y % $P&%-.-3 7*2o_6; 1-& /5)Q= /fPS4 e@^7/;2+".?'&6?676?6&'.6?62'.+54&6=32> (3 44$5 3)  n |)(  n  (*??"  $ " `PP`$5 Q (/EQIBn B , , 0 PP 0/E/2762+"&4?.#"32676#".4>1X"$ *; -N.-M.9 (!V/CrCCr$!$ *-N[M-( "CrrC5#".#"326764/&"#".4>32'";26=4&/#b8CrCCrC/V!" 2&/>54'&+";26=3;26CrrCCrrC 6G   ,8 @CrCCrrCCr 0 (*  HS "Eb+"/&4?6232654'&6?646;2?64/&"#"?>'&4;57&/&?6;232+"5,J,PP(9  X9(PP,J,      C  $(,H+/ PP 07( T(70 PP /+H,($   (  T  (Qn%+"/&4?6232654'&6?6&546;2?64/&"#"?>74;57&/&?6;232+"5+J+# \P (8 H8( P\ #+J+      C +J+  ]P 8(  "M(8 P]  +J+&"   (  T  "E+"/&4?6232654'&6?646;2?64/&"#"?>'&,J,PP(9  X9(PP,J,   $(,H+/ PP 07( T(70 PP /+H,($  (Q%+"/&4?6232654'&6?6&546;2?64/&"#"?>+J+# \\ #(8 H8(# \\ #+J+ +J+  ]]  8(  "M(8  ]]  +J+&"  @276.76'&'/&4>='&4?54. k5@# T x mm  S&-\,,) Z+' T  ^4^ 76.76&'&'/&4 CT# 0+R  P#,i,,) GQX i:%#!"&=#"&4?62+327#54&#!";#"2?64& 0 PP 0 0  0 PP@  PP 7  PP}"E%"/&4?625#"/&>;2762&+52?64/&"2?;2>'vee (  (  ( ee ( hdd + + + dd + @-=M%.++"&57#";"&?46;2#32654%746;2+"&#"&5746;27 ``    P  $*DD4@2 hh   HH.7&'&'&#"#";767?>=67654'&"&462  H7-'h1 _ @  b <%n( %= c  @ _ 2h'.6Hw((.E!"3!2654&"&4623#"&5.'"&=4633#"&5.'"&=463`(#)B'6\8c#DrCRGES`(('B)#8\6CrD#**R87"&462.'"3;267&'&'&'"3;26%5&&5%OL 7]9 0 ;:`cs _PN00 0 &&5%%JLO 0 9]7 sba9< 0 00NP_ 087264&+"#";#";;26=326=4&+=32+@QQ@4444;N#(($MQO- (44( (E)@;26=4&#!";2#";+";26/>7326=4&+&'4U)'TS9L5; `(-( 5F8(,'&#!"3!2654"&462+"&=46;2T`%%6%%E>T %6%%6%1eh A'7GWgq{!"3!26=76=4&+"&=46;25+"&=46;2+"&=46;25+"&=46;27#!"&=463!2'4&+"37#"354&3#";2654&4&+"37#";2654&  PPPPPPPP `0@0@00 `  000000P08@888@A'1;EUe!"3!26=76=4&+"&546;2'4&+"374&+"37#"354&3#";2654&+";2654&  W   @0@@ X0@00c`    888@88,<L\l|!"6?326=4&26=!#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&p(87'X 7& Y w S8O8'    p00` 00@00 "2>4."&462CrCCrrCCrC&&4&&CrrCCrrC&4&&4&,9+"&=46;2"/&=#".4>2324."2>0d8H9_88_r_8, d%>J>%%>J>%  d ,8_r_88_9H8d%>%%>J>%%>#@M++"&=#"&=46;546;232"/&=#".4>2324."2>08 88 8d8H9_88_r_8, d%>J>%%>J>% 88 88d ,8_r_88_9H8d%>%%>J>%%>)%'&+654."3272?64%".4>2d ,8_r_88_9H8d#;"";F;"";d8H9_88_r_8, dr";F;"";F;" !1:CS\e!"&=463!2'"264&#"264&!"&=463!2'"264&#"264&!"&=463!2'"264&#"264&@   = J f@   = J f@   = J   @  @ X @  @ X @  @ XA2%.='&'&5476754>7'&?64 T #@5k x mm ޘ T '+Z ),,\-&S  ^4^ 1#!"&5463!2"'6'7264&"&"27264&`DD-!!.!D-!!-D!.!!p`))!.!!)!.!)!!.!$%"'6'73264&"&#"327264&`"ff"(88P8f"(88("f8P88@@8P88( @8P8@ (88P8A>"&='&'&547675462!327676&+"3!26=4&'&8L(, M=~3 y`  HJC &))c) H E@Y'&>'&6767?64 CT# 0+R  P#,i,,) GQX 9#+"&546;2+"&=4&7#"#"&=4&+";2654&Z8@Q, (8Z#( ,Q@`O@ "(@(" @O'&'&'&546?616767'&!7.2905"K/4@gVH6-37JS^PP%MUlJ,'&'&'&546?6764/&"'&"2&!7.2905" F h@gVH6-37JS^PP F h'&76767654&'"5092.7!&lPP^SJ73-6HVg=D%76&/54&+54&+"#"#"327;267326=4&#"'&!'&F * @ @ * F  ,  X7 00 7X  , v vKF # (  ( # F"  ;!!;  X&&U^gl%#54/&+54&#!"#"3!2+";2+";2+2653265326=4&"&462!"&4627#53pd,88P88P80 )(,(<,d`ld00(88((88(   p((((pd<ER[`#54&+";26=4&#54/&+54&#!";2653265326=4&"&4627".4>2"&4627#530ud,8P88P80 )(44<44(<,d 8Pld0(88((88(   p((4<44<4((pd$-54."#3!265%462#"&462#"&462`";F;"`/! !/&4&   #;"";# !//! && XA)5AM%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@   CkPPkC p     mm  p  p  p  p  p  p B/%76&#!'.+";264'32654&'76&#!'!26/ w  g  FF !.!!.! % -   !!//!!  %.7@IR[dmv"/&471.7&#"#4>326162"&462462"&7"&462"&46272"&46"&462"&462462"&7"&462462"&7"&462"&462"&462"&462"&462  .@&A'19      `     0  W       `     `   `   @       8 O . 2'A&  O      '      '      '    '    '  '  3=#'?>=4&+"'?6;54&+"?>=4&6?' [NG  ^ ,G%-8 7t(( /(77 -%G, ^  GN[-  ((t7 77(7!#"&=46;26=4&+"&=46;2/&"#";2?64TT  TT(88W  ( (8((8ɨ ` ` ` =762"/&4?#"&=46;'&454&+";2+";26N  N~8(TT  TT(8RG G(8( (8/;c46;5#"&46;5#"&46;5#"&>;'.>+"&73'.7'.'4&'.'.'.6276[ >~    }    | Pk I$  @gM_^N4  {=$ Z   #   ,  &  bz  yc  CZ 0 7%"&=#"&=46;546254&+"&=46;26=4&+";26  T  TT(88(T ` ` ` ( (8((8=3#"&=46;2+";2#";2?64/&"T(88(TT  TqN  N8((8( (/G Gh/?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"$88y88888888@hh$KkXU%#54&+5326=4&+";#"#";26=4&+53#";26=4&+53#";26=4&h00   00   00   00  0(  (0  ((  ((  3W!"3!2654&++"&=#"&=46;546;2325++"&=#"&=46;546;232`$4    4  44  `  (  x  (  @#Gk#!+"&=#"&=46;546;2!2#54&+"!"3!;26=326=4&!54&+"#";;26=!26=4&@l  TT   T  l  T    p(  (    (  (  (  (3W!"3!2654&#+"&=#"&=46;546;232++"&=#"&=46;546;232`(  (  (  ( `  44  h 44   #Gk++"&5#"&=46;546;232#4&+"#";;26=326=4&7#54&+"#";;26=326=4& (  ( (  ( (  ( H T  TTT  TT       %.BV%".4>26.&'&6'264&"264&"7"12"&51264&#"12"&51264&CrrCCrrC{ HH  ]](8((8((8((8(D  (  (CrCCrrCCr))2$$((8((((8((  (  (,<@^n%#";26=4&&=4&+";26=4&!"3!26=4&#53.=4&+";26=4&#";26=4&x00R 0$0. 'X0!000`  >> B&1W@  p@ %>B 8 $!9%6.'7>&/7>.76.576.54&"'./.'&?'&?6?6?26=2>/5>/>&/76 WDDW  /5  5   >& @F#Y  - ## -  Y#F@ &>  >& @F#Y  -,/P7"/&6;46;2327+"&?6;2+"/#73'76=4&+";;26=4&+PP 0   0 o$9(9$  +C|8E=5PP@   2`b,/P762++"&5#"&+"&?6;2+"/#73'76=4&+";;26=4&+PP 0   0 5$9(9$  +C|8E=KPP @[  2`b%5EU7"/&6;46;232!26=4&#!"546;2+"&546;2+"&=46;2+"&PP 0   0 -    @ @   5PP@ $     p          %5EU762++"&5#"&7!26=4&#!"546;2+"&546;2+"&=46;2+"&PP 0   0     @ @   KPP @     p          0 732"/&46) wwww 9E['&4?6;232+"&=46;5&4762#"'.?>7&74&#"327'#4&+"#"2?6&5+m "?*  ,]  0   0 PPN ):,*" (   @ PP 9E['&4?6;232+"&=46;5&4762#"'.?>7&74&#"327%3;265326/&"5+m "?*  ,]  0   0 PPN ):,*" (    @PP0 %#"&4?62 wwww0 732"/&46%'&";264) ww ww wwiww9D%.#!&'3&'.'&##5""3"335327>767#67!267>4&"&=4632Q?! /'H#* *#H'/ !?  < %@((@% <  M@((0&"3267;2>&'.'&57>54'&'&' !9"0   2!7 P@2 #.":"    "8!0#M>/%'.76.'.=46-M- >i>L )[N1   Ak|8#,5>"&462"264&7"264&4&"26"264&!"264&"264&0((0((|(( ((((|((((0(O((((&((!!@!"3!2654&``,-6?>/7>&/.32+"&5'46"&462A  j   j  A @0#" g DD g  pp"" "? A  j    g D,?>/7>&/.A  j   j  A g DD g  46;276/+"&@0  0 +"&=.54>546;20  0X  BK"#"&'>=4&/&"&=7>/.2>=>54&"&462$4-A7I ?  8O9  ? I70P_Q/&  P%q0:) X9    z':8({    9Y ,K,-M.q%P   %34&#!"3!546+538 p  b   p  7b  "2>4.+"&=46;2CrCCrrCCr   CrrCCrrC  *:%".54>75#"&=46;2+76254&+";268_r_8.Q1x8, !((9_88_93Y:#((" $ 3b&O462"&#"'#";;26=326=4&#"'&'&4767&'2767654'&%6%%6%p &   @  B &!0.$;0#(19$*0!& 0+1(B4b4B(1+%%6%%5h h  h h  )  (    #  # .M%!"&=463!2#"'&=4&+"327654/&'&547632;26=4'&#"    )# - 0,>F,0  " . -(9C)+        0"$@`    &!=!.d%6767654'&#"67632;26=4&#'2+"/+"&=46;7'#"&=46;276;2+ $'  &   > 4, @ 95 E (/ D 5; $*   !+      S H   SM   A K   LT+;DM##!"&?".54>;254&+";26754&+";26"264&!"264&$<"??"<$%; <$ h  h  h  h 0((`-2 2-,,p  p  p  p .(((( %!#54&+"#73#+32#"&546;`@  `@@ `00 0`O\i?6/&"/.&?6&/.?64/&6?>/&66?624."2>'".4>2:  D 33 D  ::  D 33 D  :z%>J>%%>J>% 080080>$ B  ++  B $> >$ B  ++  B $> %>%%>J>%%>%00800.d%6767654'&#"67632;26=4&#2+"/+"&=46;7'#"&=46;276;2+ $'  &   > 4, @ 95 E (/ D 5; $*   !+      S H   SM   A K   LT"E.#"+"&7>32762+"&47323267>;2#"&'"&=46s; :[9 Fg<1X"$ ׆ *; :[9 Fg<1X"$;G8 9\5$!$ y*G8 9\5$!$ (Q.#";267>32'";26=4&+""&'26=4&+";26/32>76&+"#b8-Me/-Mf/#b8'2?&547"264&/)oo)8DJ #g5Y$) (88P88;/))8e"Q#Y5g$N8P88P8!"3!2654&#535#53#535#53`ࠠ``@``@`(!"3!2654&"&4627#!"&5463!2` H` l8/!"3!2654&+"&=46;27#!"&5463!2`hhpH`<H8!"3!2654&+"&=46;2`hh`<;K6=4/4&#!"3!26576=4/576=4/5+"&546;2       @    L    L    L    L    L    L   ` !"3!2654&"&462` ` +9"3!26'.!"2>74&.67>&%&67>'(D.0.Dp.DPD.IK  7IK #>&&>#&>##>&A KIKI7 @'09BS"&'&5476762#7"264&'264&""264&7"264&!"264&&2654'76&L!'&BCCB&'!   5/ e ."%6%.  >HNCB&''&BCNH>  %4%% @'"&'&5476762#&2654&'76&L!'&BCCB&'! 6"%6% 6  >HNCB&''&BCNH> _ %4%% =46;2"/&7"264&(p((((+%'&+"2?64%"&462"'1764/32(p((1(P((J(/8Of!26=4&#!"!26=4&#!"!26=4&#!"'"264&"/&4?62762"/&4?62762         (II / @ I / @ < ( ( ( ( ( ( T((+H0 @ H/ ? 3=FO%'.+54&+"#";26=!;26=>=4&%32!7>"&462"&462+   +  0  0    @W"(  ("W!0 6  ((  6 0![DD -;&767>276'.'&'&76'&>&>767=k "*&$")W:"  8K#V;"  8K"#F=k!"q*>47AF{ ":W$K8  ";V#K8!2*"#&*=47B$%"/&4?'&4?6254&#!"3!26w  0   C-I!2+"&=#32+"&=46;#+"&=46+32"/&6;5#"&?62  # 7"  "7 # P 00 PP 00 P ` 0     @0 ` PPPP-I!2+"&=#32+"&=46;5#+"&=46'&#54&6=3?64 # w"  "w # PPPP ` 0     0 ` P 00 PP 00 P/?32+"&=46+";26=4&;26=4&+"326=4&+"(  F    (          /?O_7+"&=46;2;26=4&+"#";26=4&!26=4&#!"3!26=4&#!"!26=4&#!" e  e  e  e }e  e F       P  P P  P N P  P @ P  P P  P  P  P  /?O_o+"&=46;254&+";267;26=4&+"54&+";26#";26=4&;26=4&+"%326=4&+"326=4&+"';26=4&+" e  e  f  f   e  e   f  f e  e  e  e e  e  e  e  f  f P  P P  P P  P ZP  P . P  P P  P . P  P  P  P hP  P 47"&4627+".54754624'&/54&";26%6%%6% ";#";" 8P8  (  / !/@%%6%%:%0#;"#;#0$(88(   0/+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" ` /  (  /%6%`(88($0#;#";#0%0   !/P%%  %=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%i  iD%0#;"#;#0$(88(   0/%=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%)  )D%0#;"#;#0$(88(   0/%=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%  D%0#;"#;#0$(88(   0/0&"/"/"/2?37>'&M.3 2-2 2-2 2-YYd.2 3.2 3.2 3.eYY4N;26=4&+"462"&"'&'5&'&'&'&'&=4632676;23+ P  P (  E" ,#   #e       #* &*, #  0 N7#";26=4&"&46232#+"'.#"&=4767676767567632hP  P 2 6 e#   #, "E      # ,*& *#    -%'326=4&#!";;2?6=32654'&* *   * &   v 0  0 v$ h00h %A 0!!%3#!"&=264ᕗ!2"'4&#!"3!265@ 0  P  ```(``T   A%54&#!"2#3!26="&46@ ``(``( 0"2>4."/"/&4?'&4?62762CrCCrrCCr7( AA (BB( AA (BCrrCCrrC (BB( AA (BB( A1;%+"&/&4?>;264/764/&"'&"2?27*p pq AA( AA (BB( AA     AA (AA( AA (AA;+"/&=4?6;264/764/&"'&"2?27AA( AA (BB( AA * AA (AA( AA (AA3!"3!2654&"/"/&4?'&4?62762`J( AA (BB( AA (B` (BB( AA (BB( A#%764/764/&"'&"2?2C6aa6aa6aa6aa6aa6aa6aa6aas-".547>767>'&"2654'&'&0R0 ?? 0R[  @0R0'&Z-2 2.Y%(0R0    A)#";2>4.4>2".#>&'324X44X44X44X";F;"";F;"@1  1#;"";4XhX44XhX4#;"";F;"";]$\\$";F;"A%+".4>;2'"2>4.@4X44X44X44X4#;"";F;"";4X44XhX44XL";F;"";F;"aQ#"&=46;2++"&532376?6;2+"&5'&57#+"/#+"&546aUV6A +, A6 2  7++4  6UU6(+4##!"&?".54>;254&#!"3!26"264&$<"??"<$%; <$0  0 !!.!!`-2 2-,,p  p 6!.!!.![d#"&"'764/&"'76&+"?2?#";;26=326=4&+5>54'76=4&"&462OP#T# O ?1$$($$1?Q!//B//Q O #*3N (( N3*#PO/B//B/9B#"&#"#";;26=326=4&+5>54'76=4&"&462tOP#*'B'?1$$($$1?Q!//B//Q'B'3N (( N3*#PO/B//B/)5AM546;7>;232#!"&#!"&5463!24&"26574&"26574&"265 p  r  p Xh   `   `   l  3DI      )546;7>;232#!"&+"&'463!2 p  r  p Xfl  4F0%6.."&;;26'.'&=32654&' "17J71" 8(p   p(8 3% %22% %3 0(8    8(0 4%'3264/3264/&";;;;26'&'&53264yS" R! hh !R "S x    x IWXppXW C.3!2>'J !!   `!!A7?G`#54&#!"#"#"3!26=4&+576767>=4&53&'&%673/&?'&6?62(h h /O. 0%(%0 .O/@ "" @(  11  '76(  ( 8!>* H  H +=!8 P-)  )-&7  7&11@9BK#54&#!"#"#"3!26=4&+57676767>=4&.=3&%673(h h  0> 0%(%0 >0 1@  @(  ( 84" H  H "48   -)>  )-'09>%#54/&+54&#!";2653265326=4&"&462!"&4627#53pd,8P88P80 )(,(<,d`ld0(88((88(   p((((pd  0@P`p676/.?&"&/&654&+";26754&+";26754&+";26754&+";26754&+";2654&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26754&+";26D]ZZ]D+ W/c.W +_((`((`((`((`((((`((`((`(((( `((XDD E# << #E (((((((((([(((((((([((((((&]m}#764&"'&"#";3733532654&##"'&'&/&'&'&47676?67676327+"&=46;25+"&=46;2}$  II  #}00\  ':4$  $4:'  G`)  UU  )   R  R b8#!";#"3!264&+532654&!!P    $  @ B%8A%&"/&'&#""'&'&&767>2%"&4&"26=&754&"6-('+%  # %*'),*xy*-8P8"2 $6  6$<-*..*-<  (88(  2B7"'&=#"&=46;2+26=#"&=46;2+!2#!"&=46G),  (H(  +* ` <&(I     '(((     H)&<     /"'&";264/>32#"&'&32>4.1X"$ *; -N.-M.9 (!V/CrCCr$!$ *-N[M-( "CrrC57#"&=46;2>32#"&'&4?6232>4.#"320#a6DqACqD/V!" 7"2>4."2>4.2"&46&/&'&'#.?6765&'.>76769_88_r_88_9CrCCrrCCrC4X44XhX44X45     5 2 2 8_r_88_r_8(CrrCCrrC84XhX44XhX4,b ?$  $?     *@+#!"&=#"&=4?6!"3!26=4&%#"!54&+5##5##5xP ~$$@@@@@  XX  ;K%.6?622?62'2?622?>.764'&"20-NN;- (-*<-  -<*-( -;NN-G* -;NN-( -<*--*<- (-NN;- qG'3%#5462;26=4."#"3!26=4&"&=462*;+ )FSE)`""g+*  )F)*F)g0'%#5462;26=4."#"3!26=4&*;+ )FSE)`g+*  )F)*F)g/8A%#"&=#"&?62+7#!"&=46;;26=324&"2674&"26(P X  X 0  !P! |   @   @    p  p !!b     U%".4>2&'&'&4626?6&'&'54&+"#"'&'&";26=6764CrrCCrrC( (  ()   (CrCCrrCCrG      "# $   ""EX#!"&5463!2&'&'&4626?6&'&'54&+"#"'&'&";26=6764`( (  ()   (p`      "# $   ""E !2".4>''&'3!26=4&&@&&@L@&&@5/84)5 )`)&@L@&&@L@&"4!QQ!4 )74>2".267./"'72>4."CrrCCrrCH]j] )j) =4<44<4CrCCrrCCr;*00* ## 44<44 a72>4."264&"7'&5'463754&2/.=4675#"'"&546753!26=4&#;"";F;"";U"$ #$!*&!.!)5  5";F;"";F;" 7,8 +) :,0i!!f?)a  a)? !E2".4>''&'3!26=4&7#54&+"#";;26=326=4&&@&&@L@&&@>/84)>$l$E&EE&E&@L@&&@L@&".  .jEE&EE&:>Bl%76&+6=>4&'&'&'./&#"3!26=4&''?01'&'&"'&'&/4/4;637632; "%!    !%" :"`!0080       (&&( 7      5 1PP0((p    !E2".4>''&'3!26=4&?64/&"'&"2?2?64'&@&&@L@&&@>/84)>$l$0 11 00 11 &@L@&&@L@&".  .K1 00 11 00  !2".4>''&'3!26=4&+J++JVJ++JG5A;/G ))+JVJ++JVJ+&"4!%%!4 !*3CS2".4>''&'3!26=4&264&"!264&"547&';%''326=4&@00:00(#*'(F)):))})):))5 . p p 0:00:0  '==' ):)):)):)):)p=  ) o A ),&?6.&?6.2?6767676.r l  x r  2 3 #J% Ir x  k r  %J" 3 2   6?767676&'&"l 1 E5.  l 0  +'2.T &'&2?767>'&+)V $ 3 '*,$  $,*' 3 $ V)+C6@7&676?6?6?6'"/"'&54>2?'60MQ`O^  9)  r60  v9 +87^O`Q+ .   >7k ( Cz +>01+"&?.5471>2?>275>;2654&#"%  @  %y 8  G _"&7  7&"_     ٹ   <-108)2e4."#";;26=326=4&+5>'462"&32++"&=#"&=46;5&'67264&"&'632 'BNB'?1$$($$1?/B//B/P$$($$ C//C '2'B'?'B''B'3N 4($$(4 N3!//B//k4($$(4/B/ 'B'3NA&QZ#"&#"62"'32>54'726=4&"#";;26=326=4&+5>54."&4624O0#*2' C//C '2'B'1 W'B'?1$$($$1?'B'!//B//1/B/ 'B'*#0O@'B'3N 4($$(4 N3'B'/B//B/!)24."#";;26=326=4&+5>'462"& 'BNB'?1$$($$1?/B//B/'B''B'3N 4($$(4 N3!//B//'&"32?2?64#7ި" )+ "O" S "DO+CG326=326=4&+";#!"3!26=4&326=326=4&+";#H/B/K@@ ` /B/K@@!//!00`     !//!00`@#"54&#!"3!26=;2654& b b b@@b  &1:7&'>7&'>6&'&767&3267'&754&E_%L#EG_3430+01G/!>F *'S cK2-s?++)1 ;&/$ 5EP&"/#"&=46;7624&'&7>Yf  fY    h Y Y,  # ) -=GN^762.'&7654&'&654&'&#";26=0#67'3276&'&67 m1:5K? &!7 2* "  fY  }  G^ ?b(  ue<)'(9?L'Y:" +3W Y p~_ I ="/#"&=46;762Yf  fYh Y YA)AT"/#"&=46;7627&7>54&4&'&327>'4&'&7>Yf  fY  1:3.  :BK2*  !   ',`    h Y YDe<7b)}GL3W:"8 T/,  # )#3CS%&;265463!2;2654&'#";26=4&3#";26=4&'#";26=4&c0  0Π    Ǡ  Kqq( W @ @ @ @ @ @ /S%!"3!26=4&!"3!26=4&'!"3!26=4&7%&;26=463!2;2654&'ppohP~P`00`0000qq  Wq *>2".4>7254&+">"&';26=?6&/54&+"60Q//Q`Q//Q0#B B##B B) ; p/Q`Q//Q`Q/N  NpN  N ]s+&5#".47#"3!2654&2>4."?>"&464XhX4&&&&+J++JVJ++J+! " !-gX44Xg-&&&@&+JVJ++JVJ+N O !!)?%&/#"&/4632+3276'##".467'3267A >  (#  y 9% ?*4 2=/Q05W> !  &$2%!   {)74=3BY70Q/:/19B7"&4627/&'.7.546326?6%&"674&"26N $>:~,1 &1o/W  { *<**<* (x iV7,1; &? o **<**~8%"&46276&'.27>2?6&'&'&767667%6%%6%88" )hh) VsoosV" H^[[^H  %%6%%a2##2"##QQ"BB!*!"3!2654&"&462"&462"&462````@   3!"3!2654&"/"/&4?'&4?62762`h( CB (CC( CC (C` (CC( CC (CC( C!"3!2654&!5463!2`$h`T`%!"3!26=4&``  !++54&+5463!2#!"&5463!24&+"30/!  D!/0 04!*!"3!2654&"&462"&462"&462`````   AUYchrv26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7!3##'&/3?3#5&/37#'340.n,m*0>FT)9*7+9*UFQB' &N i ' CQ(Q VVVV Q( (( v6@  v6@ '%2".4>2+"&4?4&"26ANB''BNAi((B6% 0  &&BNC'&  88]%60 !57"264&264&"!"3!26=4&#!#"3!26=4&'+32+32"&=#"&46;5#"&=46;5#"&=46;5#"&=46;546;232+32     ` 00 ` hh@(@(@hhhhhh@          @`       ((    mF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&_A7  7AP:Xll8llX:Pq#%q  % \\ %    #; S^ +r   $   0 0& V (l V &Font AwesomeFont Awesome 5 ProSolidFont Awesome 5 Pro SolidFont Awesome 5 Pro SolidVersion 5.0FontAwesome5ProSolidGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProSolidFont Awesome 5 Pro SolidFont Awesome 5 Pro SolidVersion 5.0FontAwesome5ProSolidGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZօϠ Ϡ Dplugins/wps-limit-login/assets/fontawesome/webfonts/fa-light-300.svgnu[ PKZГ~}OODplugins/wps-limit-login/assets/fontawesome/webfonts/fa-solid-900.ttfnu[ 0GSUB %z8TOS/2?PVcmap(d -glyf;?head 96hhea;$hmtxXA 4loca[": maxp name":&post|=)%h_< ֺ"ֺ"   0>DFLTlatnligafGfPfEd@.F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@`@`@@@@@@@  @@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{f ~2h.pH~"H ( N r X  : ` & h " h X$h4d$j4$0ZtBDJ,$\"ZT4~ 0 Z !L!b!""r""#$4$$%%t&&~&&'p(()&))*Z*+H++,l,----. .6.P.j.../ /:/T/0000181122>2d23034|5556<667D7868899:&:^::;;b;;;<>>? ?T?@@j@A A8ABBFBC CLCE8EbEEF6FvFG*GGHPHHI,IJJpJKJKKL0LLMjMMNjNOOlOP.PnPQ,QRQRRvRRS&SxSTTXTTUHUUV"V`VVWWnWXTXYYPYYZ&ZZ[&[b[\.\z\]0]^^P^_ _~_``f``aab,bbcNcxd6eetą* \ƈFf(Z̉"R$hʍ6^:TL(t:h.l vꖊ4ޚBț R,b@@Ҡ ^"@~¢dڣtJ8ئ,&fΨ:DNj0xƬ4`Ntȱb|д&ҵ`2ƷJ"2x,"~ȼN \>ðLtLZx&R~DȖrhʢF2̤^͒Jβ:϶"fjh ӠXԤTլR4t׺2؎8rٺ.ڞv>~0ݼ(ހߤRDp>Jv~2~> v H~dp4v L4t&-6K26=4&+54&#!"3!26=326=4&+5326=4&+5'2"&46+"&=46?7@!//B// $ $ (0`0(@(@ /B//B/    -=M]!"3!2654&2"&46+"&=46?77+"&=46;25+"&=46;25+"&=46;2`)):)) hhhhhh P):)):) 88 72>4."2CrrCCrrC2U11UCrCCrrCCrp1UdU1 6J.'>32%.#">"/"&'"&4?&54>2/54&+"6?6&L/ +(8 +(8Lr " *KRK* " 0766766.#"3267>3"&%.6767.6767&'.>7"&'&63"&7>376"#2326.#"+  +^C,:))" "(  /  %    s:))" "(  /   "+  +\C       !Y !J+L  A   , !J+L      !G   BKT7326767326/&";5326=4&+5>54.#";&'&'326/&"2"&46 &$hlh$& D D#+'044$7P9$440'+#D D `1&#&&#&1DD'( 2'89(2 ('DD A)7'&4?62762"764/&"'&"2``a`````a)?62"/&42?64/764/&"````шa```a)7"/&4?'&4?627'&"2?64``````a`A)7"/"/&4?62'2?2?64/&"a```````@(7'&4?62762"`````a?62"/&4 ``шa`a7"/&4?'&4?62````A("/"/&4?62a` ``/!"&=463!24&#!"3!26'#"&=46;20    p   hh@ 0  0    "%".4>2%#"2?6&+54&+"CrrCCrrCGs sG@CrCCrrCCr1tsst "".4>2#54&6=326=4&CrCCrrCCr1tsst8CrrCCrrC$Gr sG@ "2".4>3?64/&#"CrCCrrCCr1trrtCrrCCrrCGs sG@ "74>2".5326/&";;26CrrCCrrC$Gr sG@CrCCrrCCr1trrt3232"/&46;546` h  h  %!"&=463!2'5326/&";;26h  P rX  X P      x   %546;2+"&73?64/&#"    x   P  rX  X P %+"&546;2#54&6=326=4&    x   h  P rX  X P %!2#!"&=46#"2?6&+54&+"P  rX  X P     x   %+"/&4?6232  ` h  h=46;5462"&=#"&  ` h  h%#!"&5463!2#"2?6&+54&+"`Gs sG@p`Ptsst%!"&5463!2#54&6=326=4&`Ptsst ` Gr sG@%!2#!"&5463?64/&#"0`Ptrrt`Gs sG@%5463!2#!"&%5326/&";;26` Gr sG@`Ptrrt%!"&=463!2#"2?6&+54&+"h  P X  X P         %546;2+"&%#54&6=326=4&       P  X  X P %+"&546;23?64/&#"    X   h  P X  X P %!2#!"&=465326/&";;26P  X  X P     X   #"&=#"&4?62+` h  h    *%".4>254&+"'&"2?64/&"CrrCCrrCH  H  CrCCrrCCr&L  L   *".4>2/326=4&+764/&"2?64CrCCrrCCr&L  L  8CrrCCrrCH  H   *2".4>#";2?64/&"CrCCrrCCr&L  L  CrrCCrrCH  H   *74>2".?;26=2?64/&"2CrrCCrrCH  H  CrCCrrCCr&L  L  %"/&4?646;27>s sx  x-!"&=463!27;26=2?64/&"2h  P B  B     A  A-546;2+"&#";2?64/&"    A  AP  B  B.+"&546;2'326=4&+764/&"2?64'    B  Bh  P B  B.!2#!"&=4654&+"'&"2?64/&"P  B  B    B  B%"/&4?62!2#!x  xs s762"/&6?!"&=463!'.x  x}s s-#!"&5463!254&+"'&"2?64/&"`xH  H  p`L  L  -!"&5463!2/326=4&+764/&"2?64`L  L   `xH  H  -!2#!"&546#";2?64/&"0`L  L  `xH  H  -5463!2#!"&?;26=2?64/&"2`xH  H  `L  L  -!"&=463!254&+"'&"2?64/&"h  P LB  B     B  B.546;2+"&%'326=4&+764/&"2?64'    B  BP  LB  B-+"&546;2#";2?64/&"    A  Ah  P LB  B-!2#!"&=467;26=2?64/&"2P  LB  B    A  A7'&4?62&/+"&5#s sx  x/#54&"26=32?64/&"zVVVV.. VV .. VV7#53264/&";#"2?64&.. VV .. VVFVVVVC%"/&46;5#"/&4?635#".?62+35462.=#32`OO 3eOOe3 OO 3eOOe3 OOe3 OO 3eOOe3 OO 3eA+7!2?64/&"!7>/&"2?6&'j,. c c .. c c , b  b ,, b  b +7?64/&"6?'.2?64/&, b  b ,, b  b *,. c c .. c c [%"/&4?625#"/&4?6235"/&4?62"/3'&4?62"/&4?#762aJ  J ~ J J ~ J  J ~ J J ~ J J ~ J  J ~ J J ~ J  J ~ BKThl7"&5462"&4&"7"2654>21#"32>5476767654."264&"264&%45.'&26'/B/0Q/ 7B7 $   2  /Q  /R6  @QP"P  !//! /Q0  !7 7! # 2  (0Q/8gL oD P"P5%'7>/.76&+"'&?;26/6?6&ގ  &   & rNN " T  T " NN " T  T " GU"327>/.#".4>2&'&?6&+"1&#"32673127654'."&547632CrCCrCJ=  -62T22TeT  -*%@%4,*  L("" q[ CrrC( 2TdT2&#%2y 'E,19-'?C418 ( 3B7#?#3264&7#!"&5463!2'&+";26?3;2674&+";26  `9 $94 5.99.5b0_   V-347>54.!>54.     @    @  '<%'"&'.7.467&>>26764/&"'&"2 (6 -8- 6(   (6 -8- 6(   F hn6(   (6 -8- 6(   (6 -8-5 F h(%4&'6.."&7267>'>  (6 -8- 6(   (6 -8- 6(  - 6(   (6 -8- 6(   (6 -/FI`c!32#!"&=46;.'#"&=46;>232+054&/.2>5'#054&/.2>5'#`  p  z  "&"  z . "" - ";F;"H . "" - ";F;"H    '     9] Z<$$ 9] Z<$$ "2>4.>.67&CrCCrrCCr?  #VS  #VSCrrCCrrCv SV#  SV# `  )2;;#"%#326=4&!!2"&462"&46'2"&462"&46&``&@``&&f  V   &@&&&&@X```/?O_!"3!2654&+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2P <00@@0000`h00000 $4IYi~#";26=4&#54&+";26=4&#";26=4&326=326=4&+"%#";26=4&+";26=4&%#";;26=4&#"#";26=4&54&+";2600+P    a  P  00c5 P     P  w00@P    @ P       P  P      '1;EOYcs4&+"3'4&+"3;26=#4&+"374&+"3'4&+"3;26=#;26=#;26=#;26=#%!"3!26=4& 0@P``P`0@`0@ 0@0@0@@ pX00 #'+/37;?13333333333333333333333333333333  $    /!26=4&#!"!26=4&#!"!26=4&#!" `  `  ` < ( ( ( ( ( ( (2=%7>4&''67."&'67267&/6'&'77&767q "YbY"  "YbY"!       T"!OVO!!&!%%!&!!OVO!!'!%%!' "#" $&)s !$" ')&#(.7'.676?>'&17676'76767'"264&v --(>'1., 0 .8a!//B//! !' W!-<< `@ M/B//B/ $+067&''67>7&'>767'#767'E5N*&?S, M7"V04"K(, M7"V04FE5M+ ,M640V"N5E+S?"0V"N5E*~S? ,N7 (,/369=@CW3#7#'''#'.576767676327'7#7/7'7'?7#74&+5!#"3!265h KBBK h *7FVoR;' O.,*A)R@,.0%+++s&'%cHH 0+HHHH+ %+3$;0[,,*)@,,* 5++(5 hPPN%!546322?64/&"..#"#";;26=!;26=>=326=4&h    _   # #!/        /  _   /!   %    %    $C73#"&=46;##76&+";2?6&7#54&+3233##326=326=4&@t\m] m  _%   "H u$ `@@      0@@@@ `!3#!5%!"3!26=326=4&+54&    @@@@ `!%3#!5%!"3!26=326=4&+54&!!   D` @@@@ ``!%3#!5%!"3!26=326=4&+54&#3    @@@@ ``!%3#!5%!"3!26=326=4&+54&#3    @@@@ ` 3;%!"&=46;#%++#"'&6?632!232#5!353$/6/U@ R$    @? @ q `@@ 0    V2@@`!%3#!5%!"3!26=326=4&+54&!!   @ @@@@ `A%%2#5!#46;27"264&4&+"!( `` 0 `!//B//_8(   @@h  /B//B/(8 h"/<#54&#!"3!26=7>=4&532"&=462#"&=462p0   Q/ 70   g  `(  p  *$ '!/       AF7;2653%32#"&5'.?>>7&5462Np%6%!  B  r2&=# 9R'%%- a ,  d  -D'2" 2*6%&'&'&54.'654&";26532642#"&53 #=&&=# p%6%pR "2'D-  -D'2" '%%'[ 9=LRf"'&+";#54&+";&#"326732?2>.#"&4632;7#&'73.7?>/632N @ 3r W  1";#";#,E 4 V#:D;##;+#!//! -Q ($$,-  - !/2}   0";E;#6* 1";#!:F<#J`/B/I `0 (,>G  H/C0 /9=O#546;234&+"3;26=#"354635;26=#3534'&'&'&54&+2` 0  0 `` x X     x P0   h X0   0  8 &)4h   84)&  ?m|%"'&'&'&""'&'&'&""'&'&'&"#546;5335335332!52767676227676762276767623"&547>76523"&547>76523"&547>7652          @@@@@@            r  r  @      P`      @   %&   %&   %& =&/67'>'264&"'#"26=76?5'&6>|}~!$ n$x =6 Bf?ZX  |$$ O_  P  l' y$/:%>54&'&'&+";#";27>54&'32++5321$  !! ('2&D Mq QU"3$8  !    C,'8""D#76&+";3276&(s"   w.     0 &3?KWg".4>32762?#";264&'"26=4&764&"2'264/&"&"264'463264&#"2648_r_88_9-)4MA   @  U  & (8  h4)-8`88_r_84   <7    3  &  8( '7A%4&#!"3!26=4'&476%46;2+"&546;2+"&5!"&463! (88(H     XP 8((8   4 , & 463!2' @0p '"2>4."&4627462"&"&462CrCCrrCCr 30 CrrCCrrC` !3C&'&'&7>2&'&'#3>%67676'."#3>'&'&; 0 7R 0 NR  %%  *''*&t&&t %%  '*'s&&s'*'*?#"37'.+>3247#3!.7"2>4."/&4?627622"[3 -44X44XhX44X> L +a n1$)2."d4XhX44XhX4M +a '.+3%#"33!26=32 @)>%#'5#";26=4&%326=4&+'5#"#'5#";26=4&0P P  y P P GP P  ``   @  ``  @``   Qu#"2#.547#"'&4?62;676354&+"32+3!26=#"&=46;76'54&/&/&6?'.?>76)/# " 8((8((  ((;&& 00 (( 00 (( &-  (88(`_a@  @;&<& $$  $$  #,5>GPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&%6%%6%@  %%6%%   %%6%%   %%6%%   %%6%%`%6%%6%`%6%%6%`%6%%6%@A#54&+"#"3!2654&%3#++"&=#"&=46;546;232PP܀808808@00  88088'+%3#!"&=3;2657!546;546;232'#3@`hPPPP00< /!"3!2654&+"&=46;2+"&=46;2`((@`t(((@I%+"/#54&+""'"&4?&=#"&46;5'&462376232"34. 7=  6(33(6  =7  8/  66  /8 44  <  7  7  < ;.  77  .;44#3CM]m}#4&#!"#"!54&46;2+"&546;2+"&5#"&=46;2#546;27+"&=46;25+"&=46;25+"&=46;2 ((((4((G@(@((((((   8(8(l((TX(8(8(@:D%4&'54&#+";7>'&'&76'&6726=>&'&'56767@% +*+3:+ ;   4/'() %`2->CC>-2s%%`'*/    .#%s}* F * "/2".4>7"2>4.2"&467"2>4.2U11UdU11U2CrCCrrCCrC&&4&&#;"";F;"";x1UdU11UdU1@CrrCCrrC&4&&4&@";F;"";F;"2>54'&"&54767V461WpW165U*6;;6MQT:>`66`>:TQ5*1@@1*57@IY+++"&=#+"&=#"&=#"&=46;54>232"264&!"264&754&#!"3!26   0  0    ;2324."2>'"&462463264&#"26`X ~ X 7B7 7B7 4H44H4x  &  0 !!!7 7B7 7!$44H44$   & 3@IZ"3!2654&#32+"&=46!"&=46;76;2".4>2'"264&"&54632#"0`jt L !7 7B7 7!$44H44T &   `   `$- J 7B7 7B7 4H44H4h &    &/#!"&546;7>;2324."2>'"&462`X ~ X 7B7 7B7 4H44H40 !!!7 7B7 7!$44H44C"*5%'.#".#"2>=327>&%#5462'&67632+2$: @-44<42$c`(B   A)"->444 7;2!"&462#!"#"'&54627B(z(B7  0  0  !z! # L #%..%  0>  ((  >0  &x#  # %".4>22?6&+"CrrCCrrC{ {CrCCrrCCr'{{ ".4>26=4&CrCCrrCCr'{{8CrrCCrrC|{ z 2".4>764/&7CrCCrrCCr({{CrrCCrrC{ { 74>2".%'&";26'CrrCCrrC|{ {CrCCrrCCr({{9 !2"/&6    Y /&4?6  A  Y 546&  ?  #!"&5463!22?6&+"`{ {p`{{!"&5463!26=4&`|| `d| |!2#!"&546764/&0`||`| |5463!2#!"&%'&";26`d| |`||9 %!"&?62!  `  B0F%!!2".7#'.'&67#"&=46;2!2'#54&+"#"2?6& !. # FF  g   / n++D D  ! /0!W   - <<DDB0T%!!2".7#'.'&67#"&=46;2!2'#54&+"#";;26=326=4& !. # FF  g   / i0  0 0  0  ! /0!W   - ( (  ( (  ;%76&/76&'.'&'&??6?6/7>'.  ?> -- >?  ..  ?> -- >?  - >?  // ?> -- >? .. ?> !%2#!"&546;2%'&!'.(5UU WZ @(h9rh$4DT%2#!"&546;2754&+";26754&+";26'54&+";26754&+";26(((((`((((@(h,HH6%2#!"&546;2#"'&"2?2?26=4&(p !H8 w R7 n!@(h !I8v R8m! p 5 (3265.'"2/#".4>72 >f<  L!S-AnA=h>(L  AnlA !%".4>2764/&"'&"2CrrCCrrC F hCrCCrrCCrƸFh$!"&5463!2'764/&"'&"2` F h `b F h7'&4?62762"%p% $p$&?W7+#676=#"&=46;2'35>54'"/&4?&'>.+"54&+";26=4' f69    (O&/3   N,,@(8.546;22?#5&'&47>54&#!"3!26{ 0 $ xq  5(r  9xq?3&::L/,Nm  #'+/37;?CGKOSW[_cgkosw{%#5#335#7#335#35#35##35#5#35#35353535#'3=#3=#335##335#53535%35335'#3'#335#'5#35#35#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CP]m7'&4?62"%#!"&=46;"&=46;2#35#"&=46;2+324."2>%4."2>'54&+";263 3 dHHx4<44<4 4<44<4` 3 3  44<4444<44HH3@M]m#26=4&+"3#5326=4&+";#"3!26=4&".4>2!".4>2%#"&=46;2%'&4?62"XdHHx0G44<4444<443 3 @  4<44<44<44<4`HH 3 3C[72+#676=#"&=463'376&+5326=4&+54&+"#";#"54&+";26=4' ~ "h"33 (."#-' g__  **7#!"&=463!2#5326=4&+54&+"#";#"!76&h22$22VV?0$22$0""6(1I7?6?6?3754.+"72"&46#!"&=4?546;2/  +(D)t (    )  !(E(si 00$4=%!546?>=/&=4?'&46;2!"3!26=4&"264&`9   < 4X4h  /' 2  /    4XP   6'?7#"&=46;.5&>32+#676'54&+"3!26=4'k.3H4.   *$44$,  ""220+;!#7676765#"&=46;.546232+!"3!26=4&  (1F1(    &. )#11#) ;.  % :`462"&54&+";26=4/;3&'&5326=4&+"?6/&"&54&+""'&+""'. ,  , l  //*1%$1+ l  lH!"&=463!2"264&&#"'&'4&+""&'&+"#"'&'.!6&'h /!! ) )   (i i@!.!!.!&   f?G#!"&=4?5463!2%'&=46;23546;23546;2#6354&"e'+$R$+'H077m1111maQR0  '/?7!&'76=4&+"#54&+"#54&+"462##!"&=463!2Q  -(0H0(|@h{nn{*x,,,,xS  @C[72+#676=#"&=463'376&+5326=4&+54&+"#";#"54&+";26=4'73&576=4&+"#54&+"#54&+"462#'54&+";26=4 ~ "h"33D 4I x (."#-' g__  **>44>FF5 W  ## !%".4>2764/&"'&"2CrrCCrrCffCrCCrrCCrff !".4>2'2?64/764/&"CrCCrrCCref8CrrCCrrCff !2".4>'&"2?64CrCCrrCCreeCrrCCrrCff !74>2".72?2?64/&"CrrCCrrCffCrCCrrCCree*'&4?62762"?64/&"'&"27)?62"/&42?64/764/&"#+%"/&4?'&4?62/&"2?64'"+"/"/&4?622?2?64/&""E7'&4?>76"C%?62"/&4#%%"/.?'&6?62$#!"&5463!2764/&"'&"2`χffp`҈ee$!"&5463!2%2?64/764/&"`҈ee `χff$!2#!"&546'&"2?640`.ee`χff$5463!2#!"&2?2?64/&"`χff`.eeE/&/&4?62=+462"&7&"#'&";26=3;265764x*<**<*  VfV  _    _ x**<** WW  ^  pp   ^ )".5467>=4&2>54.'& :L1UdU1L:  5U0CrqC0U5  b?2U11U2?b  Fd9DqBCrC9dF  "2>4.CrCCrrCCrCrrCCrrC3#4&"#"3!2654&'2"&46"/&4?6762PP&4&P   R .j &&`S .i '09IYi#4&"#"3!2654&"&462'"&462'"&46272"&46+"&=46;25+"&=46;25+"&=46;2PP&4&P    V &&```PP.#!"&546;46232'"264&54&+";26P&4&P VP`&&4r "2>4.'&=46;2CrCCrrCCr X0@ CrrCCrrC@. &!2#!"&5463"&=#"3!26=!/0  `/!0-K!"3!2654&62&'&5476'.6762&'&5476'.6`;9!T-+;9!T-,  $.. $..2%#!".546754>2632'#54&+"#"2?6&";#'B'6*+JWJ(8,:A 0 A jj`#;"'B'.K+J+,$8( Fp pjj:%654&#"."3!2>54&"/&4?62546;27628(JWJ+*6'B'p#;":]]      (8$,+J+K.'B'";#.FT\\ #~  ~# 2%#!".546754>2632/&";;26=326";#'B'6*+JWJ(8,:jj A 0 A `#;"'B'.K+J+,$8( F-jjp p:%654&#"."3!2>54&"/+"&="/&4?628(JWJ+*6'B'p#;":      ]](8$,+J+K.'B'";#.F6 #~  ~# \\%654&#"."3!2>54&8(JWJ+*6'B'p#;":(8$,+J+K.'B'";#.F16."&3267;2>&'.'&532>54.tAVA%A'!9"0   0"9!'A'O33O'<%"9!    !9"%<7@IR4&"5>54&"2654&'>7673676767>%2"&46"&4622"&46/B/ $/B//B/ +#      0!//!**!//!**!//!)   **j     @   a !.7#"&=46;%#326=4&%"264&'2".4>wwww"+J++JVJ++J(!( ""v+JVJ++JVJ+)2;D"&'&'>54&"2654&'53264&%2"&46"&4627"&4620,4 /B//B/.K (!//      #% )!//!**!//!*n,/B/       $9'.7>'76&/7>/&"2%764/&"2==w+[[+  J +[[+ ?*r. PP .  . PP .)7326532>4.#!"2+5!"'.63!2(8 #;"";#x 8h&& P  H  @8(";F;" (8 &4&  GP%/'.=&'&'&'&6?&7'.767>675467676#4&"26*&*"77"*&**&*"77"*&*s/B//B/5) 1 1 )5##5) 1 1 )5#!//B//GO'&'.?&'#"&5&7>;67'&6767667>32+&/'>'&/'.=&'&'&'&6?&7'.767>6754676766'.'&'&'.?&'#"&5&7>;67'&6767667>32+&/'>'&        % % f" ! &&  !!  &&  "{&'        % %             > % %( "" ' ' "  " &5''            > $ %!"3!2654&#3#3`ࠠ`A#,5%#"'".?6767.54>2"264&3"264&3"264&@MNG?=Q NN`(l(l(9_80 $@#9_88_ ((((((A%#"'".?6767.54>2@MNG?=Q NN9_80 $@#9_88_F57"'#"'&?6767&54>2&'&'&'>&''3272>'710? .2'?6?6."264&CrrCCrrCf!  f! < CrCCrrCCrDb b o/?'&46;2"/"/&4+"&=462762c! p c c! p c c p !c [c p !c )>S%#"&=46;232%54&+"#";2654&+";;26%5326=4&+";26| (T(T|  |T(T| ( |T(|T(| (TT( |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| (T(T|  |T(T| ( |T(|T(| (TT( |+4=F7326=4&+"!326=4&+"!"3!264&"&4623"&4623"&462P  G  @(88((888        @8P88P8 )2;7!26=4&+'5#"!"3!264&"&4623"&4623"&462` p@@p @(88((888      @8P88P8#,!#!"&546;35#"3!265#"&7'&+354@  H!   h yB `(  p !Xh  )B`  6"2>4.#".4>2'&'&#"327676CrCCrrCCr2 %,)B%&AS"   "(#  CrrCCrrC &BQB%  # +A" @/!"3!2654&+"&=46;2+"&=46;2 |HH`(((@/?O_o!"3!2654&46;2+"&5+"&=46;27+"&=46;2+"&=46;27+"&=46;2+"&=46;25+"&=46;2 @@ HHXX @@XX P  P `(`X(X(((d  0  @ )353!26=!46;2+"&5'46;2+"&5!5463!2HHl(((D00 '0%'.'467%'.&/.7>/&6?>"264&7E   !//B//b<e  # f/B//B/369%#5764/&"#54&+"#";3!;26=326=4&'57(9 9 0 (  (  0 ( -`9 9(  ( 0  (  ( 0 /_h%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&462 eF(Fe  eF(Fe (,? )) ?,(,? )) ?,Fe  eF(Fe  eF()) ?,(,? )) ?,(,?  2?>=4&/&'557  NhhNDHNNA#'-17;A%'54&/&??>=4&'57'7'575'17575'17a d d a dhhd UUffffTUUffffUUffff$m && m$ n 2442 n ' E%%&&))+O'%**''p+O'%**''&0!>;54>;2+&323!26=!%!"!54&*, 104 1418((8 @(88$4   $(88( 8((8)2;D%"/"&46327'#"&462762'"264&"264&7"264&Ft8P88(!!(88P8tF  c  s(88P8!!8P88(s l  /".=4>2".=276".=276::>#::>w.!!.!!{g!!g g!!g BRb7"&5462"&4&"7"2654>21#"32>5476767654.7'&"2?64&"2?64'/B/0Q/ 7B7 $   2  /Q W W    !//! /Q0  !7 7! # 2  (0Q/4W W   @#!";#"3!264&+'32654&!5! H    H$@00@@#!";#"3!264&+'32654&!! H    H$@00@ 6?HQa%264&"'264&"767356?6&'&'&7&#"'2"&46'2"&46264&"!"3!26=4&  $44H44 1872  / E54'&'.'&q%( 1(,5G   3(0:I +/2 ;'"  ) 0/A,  B"+%'..'.+";>?>"&462?   &d p Y\+;4(zG*   /, /G ((-=M]%!4&+";;2654'32654'326=4&%32654&+"7326=4&+"326=4&+"p ` 0 S((S Y  ` `   @p        @   ` ` ` ` -%!4&+";;2654'32654'326=4&p ` 0 S((S @p        B7!2654&+'5#"!4&+";;2654'32654'326=4& 00  ` 0 S((S   @p        B5>%7>/.''..'.+";>?>"&462&< =!=!>N   &d p Y\+;4(5 dc G*   /, /G (( "2>4."&462CrCCrrCCr /B//B/CrrCCrrC!//B//+4=3232"/&6;546#!"&=46;2?324&"2674&"26P X  X2 0  1*1 |   @       p  p 11b    3W#"#";;2654&#54&+";26=326=4&'#"#54&+";26=3;2654&h0  0  0  0 0  0  0  0 ` h0h   h   h0  p    A :&?627'&"2?64!32?6&#!"3!26=4&Z\  1 $Z$ (`(mZ  \1 $Z$ f@)(%#!"&=463!2%!2>/&"   p`*@@  @ 3''#,5%2"&467"264&2"&467"264&2"&467"264& **<** **<** **<**  :*<**<*:  :*<**<*:  :*<**<*%"&4627"264&!"264&H*<**<*h**<****<****<****<**<**<**<*#,572"&467"264&'2"&467"264&2"&467"264&` **<** **<** **<**  :*<**<*v  :*<**<*f  :*<**<*2"&46'264&"264&"`**<****<**<**<**<**<**<*h**<****<**9#!"&5476?6762."'&/&276?>'`)|    |)Bs  s t(t Z Z BU UTT#9!"3!2654&&/5463!2"'7#!"&=276?6`N    N I  I`8  81  5   586#!"&=46276?6276?6?6=4&#!"`!y ( v   ~+ ` ,{  X  Ue ["  "Z %64/&"3!26=4&+'#'(`dDrP((`(͊CPAJ%.#"&'326?6&+&7326?6&+>326?6&'&#"#";#";327>57 *Ar>( Ho!79M"/'  #(, P@F*,/5463!5462"&=!"&!54&"26=!26=4& hPP PPh  0 PP 00 PP 0  ;5463!'&4?62"/&4?!"&!764/&"2?64/!26=4& ~ S S   S S ~   R  R  R  R    %%".4>2"264&';26574&+"CrrCCrrC&?0@CrCCrrCCru&&(!"3!2654&32+"&5'46"&462`@0%&``&&C'%#!".7>"264&';26574&+":  !! *&?0@!! &&7"&462;2654&+"/B//B/ B  ^ !//B//v  /7+"&=462762?'&46;2"/"/&4]! p ]]! p ]] p !]r] p !]C%+"&4?'+"&=4627'"&=46;27'&46;2"/762 p $kk$ p $ll$ p $kk$ p $kk$hp $kk$ p $kk$ p $kk$ p $kk$[%+"&=46'76+"&=46;27'+"&=46;2/7&=46;2+"&?'&6;2  B{{B    {{    B{{B    {{     {{    B{{B    {{    B{{B )>S=46;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |T(`T( |(T| T( || (T(T| T( |(T| )>S546;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |T( T( |(T| T( | | (T(T| T( |(T| A6"/"/&4?'&46;2!!2?64&#!"3!26=4.@$$   ` $$ @ '#!"&5463!2#"2?26=4&`Xp    p`$    p -#!"&5463!24&+"372?;265`@  8  p`C   8  A<%#!"&546;2+!54?6274&+"372?;265  @  C  `   C   %7732?"/&4?62762 8> b))SK >8 b))R!%!@/HL%#"'&'&4767%&'&6?6632'4.#"61"26516' YKJ+$<9$>?F**  3)+YKJ+%>%*$!N,8/,+I  >)R%>%p)@;  I ,+I  %>%  $<&2o'>Ay 5%&'&"276764".4>27"&5471264٠9+JKKJ++JKKJ+%>%%>J>%%>C=V= $+=I+,,+I  I+,,+I %>J>%%>J>%+==+$ ='546;27676//+"&(    ( h   '+"&=.=.54>54>546;2(    (t  @  %.>N^n+"&546;2#!"&546;2%35#"&=#4&+";26=4&+";2654&+";26=4&+";265   0  `((((((((0@T 0 J` ((X((&2"&46'.+"'#";;26=326%%6%%0  &  0 8 8 %6%%6%   h  h &/32'767'.764&"276?&>"264&1C-qI13q" /B4Xh, +V(88P88}-qI3q !B/F&4Y31U,78P88P8;%/#'3264&+3#'#33##373#3264&+73?676764'&'& 0u( s0C" 0@@0 "C0s (u0- P E*E P  !1AJ5#"3!265#"&+"&=46;25+"&=46;25+"&=46;27#532  P  @` b8 0  H8@mb<EN5##5#"3!265#"&'3#"&?535#535#5353#3#3#327"&4627#532@ h  P    ߀ b8  0  Hr 'a W&5 b#1@I5#"3!265#"&/#"&=46;7664'&>.7.764'&>7#532  P  @$$!    `   s b8 0  H$8%X  ; II  N kb/#5323#!"&546;'&"'&"2?64 b  K j. R Fb0    ni. S /?T#532"&=#"3!265"/&4?62'.57467"/&4?'&4?62 b   P AA(( >>A((AFb0  0  H==$$Gp=$$=&4#5323#!"&546;?6/&7'&"?64 b  2_0_.j/Fb0    n_0_./7@5#"3!265#"&+"/+"&?'&6;276;27#532  P  <<<#% #<<#  %#d b8 0  H`^] E ! ^]  E yb*3#532#!"&546;3;26576&+"4&"26 b   _(6O""Fb0    =pp"#0#532"&=#"3!2652"&46!5762762 b   P '( (g (Fb0  0  H((0((h(1:5#"#";276232+'"/#3!265#"&7'&+354 89 #F Z9 #F P  b 8 (rE  ,qF  H)b >'&+3545#"3!265#"&++"&=#"&=46;546;232yb   P  @808808Wb  0  H088088*#5323#!"&546;26=4&+"3 b  .Fb0    (( &MV`7&432767&676773#!"&546;&'7676'.1326?6726&'&7'&+3546&'&7 l       ,#Ob Q   $'7' c     $    6 ! b >#5323#!"&546;4&+54&+"#";;26=3265 b  :<(<<(<Fb0    <<(<<"772+57'&+3545#"3!265#"&'#+"&=46;2  b   P  5((Q!(=b  0  H5 9,>#5323#!"&546;764/&"'&"2?2?64' b  0 00 00 00 Fb0    0 00 00 00 6#5325#"3!265#"&"/+"&=46;2762 b  P  `7 p  p 7Fb 0  Hp 7&  p  &7JS5#"3!265#"&32+"&/&/#+"&/&6;26?>;254767467#532  P  9&& %% k b8 0  Hn .+ [ _ L&s Eb5#"3!265#"&7#532  P   b8 0  Hb7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n((((((((((((  P (8(8((8(8( 7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n((((((p((((((  P (8(8(`H`(8(8(!"65764&0  P  8 8A#6."6767676;;26=4&'536=4&"&462 : % #   ) )(   !# "   5!  !4t/   ,4&"&=4.2>54'&'&'&'&& &5%4XhX4  #   6*" %&U  &)4X44X4,& @ 1;;#"!!46;546;232++"&=#"&5%#32654&00@@808808P00p\88088@` 1:CIRXagm6#"'&'&'&#"+"&5.54663232675&/'65&5&'&'675%676?56'75;? >4   "!# 0/ # (!&&# #'"(p'#  *%n&#$} ) ^  !  $FG D FD  D T HH FHD G1"'&'&'&#"6'.'&;26=6323276=4&^ #!"   4> ?;E]  !~  ^ )  '%'5326=4&+";3!2>%76=3u   u'2'0@0-    4"#3jN ND%#!"&?>3!2%!54&+'#"7>=IpITH@E ,| |80@v#'#"3!26=4&@@@-47#73#";26=4&+.+"#";26=4&67#   H   9)c QQ     u     |i.'&'&'''>767'%62"/"/"/"/&4?'&4?627'&4?627'&4?6236.36 Ct&( Ct&(3         54x 54 G8'.'&;676'&/3276=4&"&4627'&6?'.'35#'3| R:=B5Z;5V) + 5$-  X ) epvL ?a ;Zj20'- /$3 p ((H" 3<BK%#4&+";26=4&'4/.+"#"26532654&'"&4627'53"&462pP    N08P8@8P8(`vJ(@p `   p(88((88(% w((``((%'&?64'#'&?64'   ٠       2FV%".4>2264&"264&"7"12"&51264&#"12"&51264&.7>>CrrCCrrCt(8((8((8((8(D  (  (TS ?? CrCCrrCCr((8((((8((  (  (- -## -2%".4>21'7&''77'1727'?6'7CrrCCrrC0?"'>KK>'#?&U%@%U&NNCrCCrrCCrC:T6**6T:B4" M M "4\88\a9BK!"3267332>4.++"&=#"&=46;546;232"&4627"&462+J++J+!;\;!+J++J4(44(4(<(`+JVJ++JVJ+44(44l((P((7%'&"'764/&"2?'&"2?64/72?64q}(Q  s .  s Q(|q|(Q s  . s  Q(}@ #'#!7#3#3/!"'?3&ZeE0EFOEee{GC{e B P2"&467"2>4.!//B//!'B''BNB''B/B//B/@'BNB''BNB'+5?I#654&#".#"#";3!26=326=4&'67632#'2#"&463+"&5A8(,(8A  `   H =` 0 %(8 8(% P pp P  % @ %  6&#!"#"3!2654&+5 \ ( \   "(29?3#63676?3.'#36#&7>7'&'&'#3&?67l  ~b>* ~b>**>b  *>bB@`,%++%,9P K73+"+"&=4&+"&%#.4>22654&''4&''32674&''326`  (  @5,-58_r_8   <    @       7]]p_88_e    /    M    (#!"&=326=4&+5326=4&+546>~&xxxx. B& 0 &I '6%/+"&57.46767'.67%6#1/2>5'o  0  ,   $$ 6\l\6 U>{{ UUw /TT3#!"&5463!2#"#54&+";26=3;26=4&`p        p`D PP  PP  haKm7+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32#"2?#";26=4&+54& r  r z r  r z n%D 2  2 J    HH     GG B       nf0|%32+"&'&54767>7654&#"/.7>32+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32|   7  6!.=*  r  r z r  r z `     &  5-'  !    HH     GG la/{%4'&+"/&?#"&=46;2#"&'.?>326+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32$  =[  ?"*@35 r  r z r  r z   G   J 1#-? *    HH     GG A57!2654&+'5#"&"+"&=46;2676&+"!2?>p` p@@p  ]V * Vu    (J F`y A&354'.#!";2+";2 !  |%  p t  ! 3 % G0"#54&"#54&"#54&"'.;26?6=4&!!! ! } @Wد, ! q-%"#54&"#54&"#'.;26?6=4&"(E$%K @    в$  p P+;D5.5476767>;2'''"&546;2+"&74&"26\    $#&*#        '    ('  d0  0 "  +;D3&'&>32+"&7.7.7#"&4632+"&=46264&"-   '    ('  d0  0 "  $    $#&*#     ,<E%++"'&'&'&'.=467676763232+"&=46;24&"26d  '(    '   ` 0  0    *&#$        ,<E2666+"&'&'&'&54>54632+"&=46"264&*&#$        d  '(    '   ` 0  0    -159%+"/&>46235462354623462#37#37#3  ! """"XX`! ,((a````` @P""/.?6.354?6=4&."/54&"354'7'&"2?64` Z &9 k `& Z k a  a a  a  l  3  M"+    3  l   +"b b  b b 94&"#54&"#54&"#54&"'54&";26=4?65'''''p 0? /00B& c  t-74635#"&46;5#"&46;5'.>7>+"&  в$  p P"(E$%K @  37>5'&>3'&>37>37>+"/. ! =' # 0 40 ,  $   9P * Y ~ !(1Kq#";26=4&"&462%#";26=4&"&462'#6/64'&&'&4?>;2&'''#"&/576;26?H0  0 "  00  0 "  r*Q<6 C .!    #&^=%@**0P          0c@$M  # `3J0$ 2KO76&+76&+"#76&+"#";#";;26573;26?326576&+7326#73K)b(PKOK)b(PKOcc ( R VR V( ( R VR V( @&/%#!"&=463!2'2'.#!"63"264&#"264&@ 0a a m ``< `K54&+";#5326=4&+";#";26=4&+53#";26=4&+326  &&  %%  &&  %% p                @ 8";26=4&+"54>2.+";26?>=4.FuE A-  )4XhX4)  -A EuEuF0 -? 4X44X4 ?- 0FuE1"&'&#"2?67654&#''#DM" MKB.1/-BK -%"/#2?#7'.'.37627623>&@19^mDEEDf$:1wc HACV b 7CA1.+";26?64' pq q   -?%#"&'.?>32>4.#"+"&=46>3276&/54&+"6CrC+P! 2@2U11U2$A3  2"X1CrC )  ACrC (1UdU13  2!$Cq  h  3 4>2".2>='&EuuEEuuEEuuE7gbbg ,,4,,8n,,n( $.95;5#"'&+32676&7'.#326=4&';5#" 00 :  ~5; :00 6 ~ P K  kv Ԡ  k A!C%+"&=4&+"+"&=4?627'54&+"'&"2?622?6& tHt TT8Y"    pp 7EIJ   @)9IY}#54&+"#"3!2654&+"&=46;25+"&=46;2+"&=46;25+"&=46;27++"&=#"&=46;546;232+"&=46;25+"&=46;2      s((((((((((((`@  @  p (X((X((X( 0"2>4.+"&=#+"&=46;23546;2FuEEuuEEu*0`00`0EuuEEuuEXXXX-=GWg!546;46;546;23232#";26=4&326=4&+"#"354&7#";26=4&4&+";265'3;26=326=4&+54&+"#"@ X p X ((((m(@;((y(( ,h H  H '((@((TT`(( ()226=4&#!"3"3!26=4&'>".53h   D55D  P  D55D00    CkkC    CkkM'C&&C')/5!"3"3!26=4&'>526=4&#>27#&53h  D55D  P  D55D U 2<2   CkkC    CkkC  $,,"")1!"3"3!26=4&'>526=4&#4>2h  D55D  P  D55D J080  CkkC    CkkC  @&C''C)26=4&#!"3"3!26=4&'>h   D55D  P  D55D    CkkC    CkkM54&#"&'&#"36#";#"32767326=4&#'&=326=4&+54326##"$ $$T##"$ $$T(( p(p0(( p(p0(=!"3!2654&46;2+"&52"&46+"&=46?7P hh@!//B// $ $`,l/B//B/    @&0##5#";546;232654&"&4624&+"3&&`2#V#2`&&!//B// @ ``&& #22# &@&/B//B/`  `$-=M]m!"3!2654&+"&=46?7'462"&+"&=46;25+"&=46;25+"&=46;27#!"&=463!2`    #2##2#\ X     d##2##O88X%)"&5463!2"264&!5'&"'&"`!!.!!GX 8 H H!.!!.!pX8HA!*7%#!"&546;3%4&#!"3!26%"&462762762!/!((`8 ( X !/P(8(Xp@;3232"/&6;5463'.##'#764/&3!26=4'D E xr > <_ ,\ p \+ ^    xx  v 7@@7 v __ A#9%#!"&=4?>3373'&6?62'5326/&";;26@  ^ +\ p \, _ > rx E D O__ v 7@@7 v 1 xx  A%'.#!"3!26=4%3##'#8j jbU{ p {̟ @@/?K5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"/&?64  `    `   .``l( ( ( ( ( ( ( ( o` `)9I54&54&+"3!2654&#"&=46;2+"&=46;2+"&=46;2ۋ  p   S((((((XDX  p  ((((((54&54&+"3!2654&ۋ  p   XDX  p   4"2>4.2"&46+"&=46;5#"&=46;232CrCCrrCCrC"IX @ CrrCCrrCn""@d7!"3!2654&2"&46+"&=46;5#"&=46;232`"IX @ `V""@d'735#"&=46;232+"&=46"264& p   T**<** 0  0 0 *<**<*+;K#"!54&+"35!34&!5!'326=4&+"326=4&+";26=4&+"p    @@ 7` ` ` ` ` `     `` ` ` ` ` ` ` *#7#326?6&+";#";26?6&">)   ">(    @        !-]67>. 7654762+"&'762+"&54&+""'54&+"'&'&6;26=2676&   8@@80 0`0 0`9 4B4 4Q0W_   Z0660ZPPPP:,##, #,#"'+++"&=4?&54>2#264&"/Q0 % ( p  /Q`Q/((0Q/( (  N 0Q//Q( @/?O_o)"&5463!254&+";26754&+";26754&+";26754&+";26754&+";2654&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26754&+";26 \((`((`((`((`((((`((`((`(((( `((  (((((((((([(((((((([((((((` (2r%!"&5463!;26/&+";26?3'#767!!2'#54&+"#";&'.7676?6&'&'67326=4&0  y 9 9 < &  .@@r             l&& @         ##/!%!"3!2654&#"+"&'4+"3!26=4&`P @  @ `  $$@8H%#"'&/"#"'&47676765'&'&547676767676?6762%>>&'&6EG%'    4/J(:+   +.0}U  \5 "       H83  VCGD: BK 0D."'&7672767>7676'&5676&+.7>76*  -,&.V "*  -,&.V @0  7J"  V.&,-  *" V.&,-  *80@ "J7  A%"/&46;#"/&6;232:hh @T8 @ 8pp8 a!%"/&4?62#"/&6;2762Y8T8 8P<%8 <A'&";#";2653264:hh @T8 @ Hpp8 Ha!'&"2?#";2652?64Y8T8 80<8 ]< !'-"2>4.&'7"&462'67&'67CrCCrrCCrk@?(88P88?@@??@CrrCCrrCx?@8P88P8@??@@?p5F%+"&=.=46;2'"&'&'&'&'&54>2#'463264&#"26  P      /Q`Q/    /! 4      '(0Q//Q0(!/  4 (R.6?62?64'.5&?>7.6?6'4&'&4?62?>&GDNN;&  *<C    NND    C<*  &NND;NN&  ;+C< DNN  <C+;  &NND%#"#57>=4&57>=4&54&+"??;2674&t0'%-  87 17 1Pe{0$ ))3E )  ) pd!*:JZ!"&5463!2"264&"264&"264&%54&+";2654&+";2654&+";26`""" `h""`""`""  [  [  Cn~4;57&/&?6;232+"54767>54#"/&763232+"&576324+"/&?675#"=4;2#"'&!26=4&#!"!26=4&#!"!26=4&#!"     C       ' D  :  `  `  `  4 (  T            L ( ( ( ( ( ( *:J"&462"264&"264&7!26=4&#!"!26=4&#!"!26=4&#!"`((0((L`  `  `  `((((( ( ( ( ( ( ( /?O_5463!2#!"&!26=4&#!"!26=4&#!"326=4&+"326=4&+"326=4&+" `  `  `  y@ @ @ @ @ @ L( ( ( ( ( ( 4 @ @ @ @ @ @ ;676.` %, % ,% &%-%#54."#"3!26=4&"&=4627#5462)FRF)`"" *<*H)F))F)H0xH**@(4"#"3!26=4&+5462;26=4."&=462*E)`0*;+ )F""*F)GG+*P  P)F)x0@("#"3!26=4&+5462;26=4.*E)`0*;+ )F*F)GG+*P  P)F)!%#54."#"3!26=4&+5462)FRF)`|*<*H)F))F)HH**74&+"#"2?64&#8. VV f.VV/7!26=4&#!54&"265.VV8. VV /%!"3!2?64/&":.VV8. VV ;2653264/&"3X8. VV .VV@%4&+"'&"2?64/&"B  BA(  A`7'!26=4&#!764/&"2?64A(  AZB  B`!"3!2?64/&"A  (A&B  B@?;2652?64/&"2:B  BA  (AA1J%&'&#"'.1'67767?>/>764'>'1"&4631.'6329+JKY*(5 +)#$Y7} '( +*F$*%>%I+, H :!*  2I  :A) g<$  %>%3 '9e7#"&=323&'";264&#'326=#"+".=4>24&+"*#.+";;2654&'&'3265.0 '     .0+J++J+2"7264&")24XhX42C !//B//6&:H$1 4X44X4 1$H` /B//B/&'&'.54>2")24XhX42C6&:H$1 4X44X4 1$H` 1%7"/52".4>463264&#"26  'B''BNB''B)*$4!!3'BNB''BNB'*4$%;#!"&=46;546;232;26=7#5##"3!26=4&1   ~ 1 P~ 11 n X1 P   1 x  x001 1 P A/&546?6'&654&'?>54&@  ΐ    @ P @7@  @ P B@  @ P &O#"&#"2>54'726=4&"&462%#"&'32"&=32>54'726=4&TO0#*'B''BNB'1 !//B//CO0!!//B/!(>%'B'1 1'BNB''B'*#0O/B//B/1!/B//!$;"'B'*#0OU1:%'&#54&+"#&'.67673;26=3?64'"&4628( JJ77JJ (8B//B/7(7JJ7(8 A/B//B%097&'5326=4&+5326/&";#";>&"&462(7 7(7JJ7HB//B/ (88( JJ77JJ/B//B09#"'&"&#"2>54'72?64/76=4&"&462tO #*'B''BNB' !//B// 'BNB''B'*# O/B//B/%#"&#"2>54'76=4&"&462tOP#*'B''BNB'Q!//B//Q'BNB''B'*#PO/B//B/ %I!#54&+"#73#+32#"&546;++"&=#"&=46;546;232`@  `@@ 0   0 0   0 `00 0`  0 0   0 0  2FP%".4>2264&"264&"7"12"&51264&#"12"&51264&#";26&CrrCCrrCt(8((8((8((8(D  (  (  CrCCrrCCr((8((((8((  (  (!CL%4&'7676&+""'&'.+"#";;26=326=4&+5>'462"& &(F(&?1$$($$1?/B//B/!9 // 9!3N 4($$(4 N3!//B// #7K_s+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546`****************`N 0b 0b 0b 00 `0 `0 `0 h3[%32+"&=46;5.=46;22>=46;235#"&=46;5#"&=46;4&"265#"&=46h&B(DD(B& 7A7!:::::9O88O9:,*G/../G*,+ 8! 7!,  (89((98( R%'546;2'4&#"&"327".=4&+"#";26=4&+5672?64-H8(); 9(A7 &B(DD& n -,(8 2(9 !8 +,*G/..n i ?75462"&7#"".=4&+"#";26=4&+5>=4&`8P88P8 7A7!&B(DD(B&(88((88`+ 8! 7!,,*G/../G*, "2>4."&=463!2#CrCCrrCCrCrrCCrrC881'%+"&/&4?>;226=4&#!"3*p pq    88'+"/&=4?6;226=4&#!"3*88!"3!2654&"&=463!2#``88%26=4&#!"3  p   L  L @(#";2654&"&4627+"&546;2 c` l8@/#";2654&+"&=46;27+"&546;2THH@`<H8@#";2654&+"&=46;2THH`<@#";2654&"&462 ` `"',I#!"&5463!24&##264&"26"3#34;57&/&?6;232+"5  P %@@%0/B//B/%@@%    C H   %@@%e(88P88%%l (  T  `"',#!"&5463!24&##264&"26"3#3  P %@@%0/B//B/%@@%H   %@@%e(88P88%%2676&'.54676&'&#";h$=87C7/EvEEv@2- d=6^EuuEL[q"'326=4&+"'&+";#&'&+";2&3267326'&672>4."&4632;!&547?>/632!R  - &P B'7  8  !8!"<#,E T  ";E<"#:]!//!)Q (l"22 1"0+7 *&   "9!#=#6* $B3":#""&462 'BNB'?1(1?!//B//'B''B'3N  N/B//B/@-=M]m!"#"3!2654&"&=37#"&=46;23#"&=46;2'#"&=46;23#"&=46;2'!"&=463!2(0 ( !˘՘˘h  !8 ``((BR#4&"#"3!2654&'2"&46++"&=#"&=46;546;2325+"&=46;2PP&4&P  j808808&&`880888HZ5326=4&+"!54&+";#";26=!;26=4&+%546;2+"&+"&=326=32((((@H T@ (((([4 HA7r7+"&=46;5#"&=46;2!546;2+32+"&=75326=4&+"#32+"&=##";26=!;26=4&+@44 444h  @ 4 44444@ 4H @  H44&+";2?6=4'j/?K5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'6=4&  `    `   ``l( ( ( ( ( ( ( ( Y` `)%#"'&5276767"327676764&I>D$! '( ,(<:5%"8 S .6?>2?64&"2?62&+;:,@+  (3H ONPO,;;-?  *K5 "#"3;2653;265326=4&,J,+J+   ( +IWJ+h  X  X  2;46;54&+."#";2"&463+"&546;7#532! Q"Q  h h  r` B!H  x  0 h &`B ,"2>4.+"&=46;2+"&=46;2CrCCrrCCrS 0 0 p 0 0 CrrCCrrC    #"&546;2%4&+";26`````0`*<N]7"'.4762#"'.'&"#"546762'"'.5476327467632#"'&"'&46762U / D %  ' 89)+H+)9>/ / u/-/-j   +"QR//H//G/-/'"/&4?62'&"2??64. o.(<d o  r2.o .<(S or   -!"&5463!2?64/&"7'&"2?64` :7i7 `.9 7 7 &?627'&"2?64-or   <(.o .\o   r<. o.(*1"/&4?62'?64/&"&4?62"3'73. o.(< zo   (0@ $2.o .<(z  o  P$ @$"/&4?62'?64/&"3'73. o.(< zo 0@ $2.o .<(z  o$ @B/%&=4676%";265>54&;1G%=D" LO\M1# ! !8     '-  !r! "+972>4."72"&46"2>4."&46232+"&76p44<44(44<44($  " p4<44<4((4<44<4(( 0   47#"&/&6?66767654&/&&"2?64'F8Ep16 h0<  RF%' h0<?LPVp1,% ; 0!"3!2654&"&/&6?6>7'.?>`F $9% A(&BC`A %9$ FOCB&( 3H\&'&767>#'72&/.76'&6?67"/&4764'&4?62/.764'&6?6a@? @  88  @   _ %% +  ;@WTTW@( Q,]+Q ("V$XX$ -t- 1#X# B  '&'.32767654&h0<[;1p~li>? p1:\<0h ?>il~D&6"2>=4.#5462&"6764'7.27>&'p44<44`( 7IKIK 4444pRKI7  KIAA%#'326=4&+'&+"'&+";2?;2?326=4&+73264&|'19!0*(**(*0!91'|+==H(: B S  S B :(H!.!A(%#'&+"#'&+";2?3;2?3264&ph:"n#++#n":hp+== : jj : !.! "2>4.&=46CrCCrrCCr1  CrrCCrrCek-&7%>&""` ` #+5462!";35>=326=4&'54&"0 I7@7I 0p  p   :X cc X:   p  p 0"2>4.++"&=#"&=46;546;232CrCCrrCCrM\8\\8\CrrCCrrC\\8\\1;%+"&/&4?>;24&+54&+"#";;26=3265*p pq  \8\\8\   \\8\\;+"/&=4?6;24&+54&+"#";;26=3265'\8\\8\*\\8\\3!"3!2654&++"&=#"&=46;546;232`4\8\\8\`\\8\\#%54&+54&+"#";;26=326  L    L  L    L    6]f"&'&542'.7>767>'.'&676764"6'&'4'.4>2767654."264& J u5%.&?&(D(A=g<#"9$*0P_Q0,%8"$6!.!!.!               &'2!$ 3 &B! &#&#&!!.!!w  `!!.!!  -!"3!2654&2"&46+"&=46?7P !//B// $ $`/B//B/    @>%#"#5326=4&+54626?6&'&'&#"#";#"3!26=4&4-{TT"7  (@$$(`3(@!$  :$B((h'7".546762>54&'.?>54&+";2608CqrC80  $-M[N-$ _  "k=CrCCqD=j# F)-N--N.'G   =!"3!26=4&3!265!46;546;232++"&=#"&5h  P   @808808 0  0   `88088'732+32+32+3!265!%!"3!26=4& xxxxxx  H  P @@@  ` 0  0 %)2;#54/&#!"#";3!26=326=4&!5!%53;"&462: 4 P 4d (0 n : h  h`( `H$BK%!"#54&+";26=!;26=4.%32?3264&+'&"'&+"264&"        4Z~2z f2&&4&&   00 47 c,  7 c(&4&&4&@e%"#"'&76?'&547>7654&"'&'17654'&'&'&5462763'&'&76323264'&  $+#6 X,,!' $6#,?#     '!     ,      #6  #'+535#3#735#5335#3#%3#5##5333#'3#@@@@@@@@@` ` @`@ @ @@@@@ `  <E%".4>2'"6767632;26=476767654."264&CrrCCrrC(#    8 "6#&CrCCrrCCrc        /&&H!"3!2654&"&4627+"&=476?67654&#"/.767632`&8    #(6" `r&&      /  z3<"6767632;26=47676767654'."264&:+' + & H    Q5((:((-!  (     !*%"))9))9))=%/76?6&67676767"264&#'.'&7>/7>V ).%4%)!_<"..C.."" W:"m pJ /B//B/A+6m  + 3=4767632+"&326=4&+47>=4&02`  hHPHh  `20iEG " &jj& " GEi3&=46765#"&=46;2%#";7676=4&02`  hHHh  `20piEG " &jj& " GEi (87&/&67%#"'&'67>7>&'.'6"32>76&~9y % $P&%-.-3 7*2o_6; 1-& /5)Q= /fPS4 e@^7/;2+".?'&6?676?6&'.6?62'.+54&6=32> (3 44$5 3)  n |)(  n  (*??"  $ " `PP`$5 Q (/EQIBn B , , 0 PP 0/E/2762+"&4?.#"32676#".4>1X"$ *; -N.-M.9 (!V/CrCCr$!$ *-N[M-( "CrrC5#".#"326764/&"#".4>32'";26=4&/#b8CrCCrC/V!" 2&/>54'&+";26=3;26CrrCCrrC 6G   ,8 @CrCCrrCCr 0 (*  HS "Eb+"/&4?6232654'&6?646;2?64/&"#"?>'&4;57&/&?6;232+"5,J,PP(9  X9(PP,J,      C  $(,H+/ PP 07( T(70 PP /+H,($   (  T  (Qn%+"/&4?6232654'&6?6&546;2?64/&"#"?>74;57&/&?6;232+"5+J+# \P (8 H8( P\ #+J+      C +J+  ]P 8(  "M(8 P]  +J+&"   (  T  "E+"/&4?6232654'&6?646;2?64/&"#"?>'&,J,PP(9  X9(PP,J,   $(,H+/ PP 07( T(70 PP /+H,($  (Q%+"/&4?6232654'&6?6&546;2?64/&"#"?>+J+# \\ #(8 H8(# \\ #+J+ +J+  ]]  8(  "M(8  ]]  +J+&"  @276.76'&'/&4>='&4?54. k5@# T x mm  S&-\,,) Z+' T  ^4^ 76.76&'&'/&4 CT# 0+R  P#,i,,) GQX i:%#!"&=#"&4?62+327#54&#!";#"2?64& 0 PP 0 0  0 PP@  PP 7  PP}"E%"/&4?625#"/&>;2762&+52?64/&"2?;2>'vee (  (  ( ee ( hdd + + + dd + @-=M%.++"&57#";"&?46;2#32654%746;2+"&#"&5746;27 ``    P  $*DD4@2 hh   HH.7&'&'&#"#";767?>=67654'&"&462  H7-'h1 _ @  b <%n( %= c  @ _ 2h'.6Hw((.E!"3!2654&"&4623#"&5.'"&=4633#"&5.'"&=463`(#)B'6\8c#DrCRGES`(('B)#8\6CrD#**R87"&462.'"3;267&'&'&'"3;26%5&&5%OL 7]9 0 ;:`cs _PN00 0 &&5%%JLO 0 9]7 sba9< 0 00NP_ 087264&+"#";#";;26=326=4&+=32+@QQ@4444;N#(($MQO- (44( (E)@;26=4&#!";2#";+";26/>7326=4&+&'4U)'TS9L5; `(-( 5F8(,'&#!"3!2654"&462+"&=46;2T`%%6%%E>T %6%%6%1eh A'7GWgq{!"3!26=76=4&+"&=46;25+"&=46;2+"&=46;25+"&=46;27#!"&=463!2'4&+"37#"354&3#";2654&4&+"37#";2654&  PPPPPPPP `0@0@00 `  000000P08@888@A'1;EUe!"3!26=76=4&+"&546;2'4&+"374&+"37#"354&3#";2654&+";2654&  W   @0@@ X0@00c`    888@88,<L\l|!"6?326=4&26=!#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&p(87'X 7& Y w S8O8'    p00` 00@00 "2>4."&462CrCCrrCCrC&&4&&CrrCCrrC&4&&4&,9+"&=46;2"/&=#".4>2324."2>0d8H9_88_r_8, d%>J>%%>J>%  d ,8_r_88_9H8d%>%%>J>%%>#@M++"&=#"&=46;546;232"/&=#".4>2324."2>08 88 8d8H9_88_r_8, d%>J>%%>J>% 88 88d ,8_r_88_9H8d%>%%>J>%%>)%'&+654."3272?64%".4>2d ,8_r_88_9H8d#;"";F;"";d8H9_88_r_8, dr";F;"";F;" !1:CS\e!"&=463!2'"264&#"264&!"&=463!2'"264&#"264&!"&=463!2'"264&#"264&@   = J f@   = J f@   = J   @  @ X @  @ X @  @ XA2%.='&'&5476754>7'&?64 T #@5k x mm ޘ T '+Z ),,\-&S  ^4^ 1#!"&5463!2"'6'7264&"&"27264&`DD-!!.!D-!!-D!.!!p`))!.!!)!.!)!!.!$%"'6'73264&"&#"327264&`"ff"(88P8f"(88("f8P88@@8P88( @8P8@ (88P8A>"&='&'&547675462!327676&+"3!26=4&'&8L(, M=~3 y`  HJC &))c) H E@Y'&>'&6767?64 CT# 0+R  P#,i,,) GQX 9#+"&546;2+"&=4&7#"#"&=4&+";2654&Z8@Q, (8Z#( ,Q@`O@ "(@(" @O'&'&'&546?616767'&!7.2905"K/4@gVH6-37JS^PP%MUlJ,'&'&'&546?6764/&"'&"2&!7.2905" F h@gVH6-37JS^PP F h'&76767654&'"5092.7!&lPP^SJ73-6HVg=D%76&/54&+54&+"#"#"327;267326=4&#"'&!'&F * @ @ * F  ,  X7 00 7X  , v vKF # (  ( # F"  ;!!;  X&&U^gl%#54/&+54&#!"#"3!2+";2+";2+2653265326=4&"&462!"&4627#53pd,88P88P80 )(,(<,d`ld00(88((88(   p((((pd<ER[`#54&+";26=4&#54/&+54&#!";2653265326=4&"&4627".4>2"&4627#530ud,8P88P80 )(44<44(<,d 8Pld0(88((88(   p((4<44<4((pd$-54."#3!265%462#"&462#"&462`";F;"`/! !/&4&   #;"";# !//! && XA)5AM%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@   CkPPkC p     mm  p  p  p  p  p  p B/%76&#!'.+";264'32654&'76&#!'!26/ w  g  FF !.!!.! % -   !!//!!  %.7@IR[dmv"/&471.7&#"#4>326162"&462462"&7"&462"&46272"&46"&462"&462462"&7"&462462"&7"&462"&462"&462"&462"&462  .@&A'19      `     0  W       `     `   `   @       8 O . 2'A&  O      '      '      '    '    '  '  3=#'?>=4&+"'?6;54&+"?>=4&6?' [NG  ^ ,G%-8 7t(( /(77 -%G, ^  GN[-  ((t7 77(7!#"&=46;26=4&+"&=46;2/&"#";2?64TT  TT(88W  ( (8((8ɨ ` ` ` =762"/&4?#"&=46;'&454&+";2+";26N  N~8(TT  TT(8RG G(8( (8/;c46;5#"&46;5#"&46;5#"&>;'.>+"&73'.7'.'4&'.'.'.6276[ >~    }    | Pk I$  @gM_^N4  {=$ Z   #   ,  &  bz  yc  CZ 0 7%"&=#"&=46;546254&+"&=46;26=4&+";26  T  TT(88(T ` ` ` ( (8((8=3#"&=46;2+";2#";2?64/&"T(88(TT  TqN  N8((8( (/G Gh/?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"$88y88888888@hh$KkXU%#54&+5326=4&+";#"#";26=4&+53#";26=4&+53#";26=4&h00   00   00   00  0(  (0  ((  ((  3W!"3!2654&++"&=#"&=46;546;2325++"&=#"&=46;546;232`$4    4  44  `  (  x  (  @#Gk#!+"&=#"&=46;546;2!2#54&+"!"3!;26=326=4&!54&+"#";;26=!26=4&@l  TT   T  l  T    p(  (    (  (  (  (3W!"3!2654&#+"&=#"&=46;546;232++"&=#"&=46;546;232`(  (  (  ( `  44  h 44   #Gk++"&5#"&=46;546;232#4&+"#";;26=326=4&7#54&+"#";;26=326=4& (  ( (  ( (  ( H T  TTT  TT       %.BV%".4>26.&'&6'264&"264&"7"12"&51264&#"12"&51264&CrrCCrrC{ HH  ]](8((8((8((8(D  (  (CrCCrrCCr))2$$((8((((8((  (  (,<@^n%#";26=4&&=4&+";26=4&!"3!26=4&#53.=4&+";26=4&#";26=4&x00R 0$0. 'X0!000`  >> B&1W@  p@ %>B 8 $!9%6.'7>&/7>.76.576.54&"'./.'&?'&?6?6?26=2>/5>/>&/76 WDDW  /5  5   >& @F#Y  - ## -  Y#F@ &>  >& @F#Y  -,/P7"/&6;46;2327+"&?6;2+"/#73'76=4&+";;26=4&+PP 0   0 o$9(9$  +C|8E=5PP@   2`b,/P762++"&5#"&+"&?6;2+"/#73'76=4&+";;26=4&+PP 0   0 5$9(9$  +C|8E=KPP @[  2`b%5EU7"/&6;46;232!26=4&#!"546;2+"&546;2+"&=46;2+"&PP 0   0 -    @ @   5PP@ $     p          %5EU762++"&5#"&7!26=4&#!"546;2+"&546;2+"&=46;2+"&PP 0   0     @ @   KPP @     p          0 732"/&46) wwww 9E['&4?6;232+"&=46;5&4762#"'.?>7&74&#"327'#4&+"#"2?6&5+m "?*  ,]  0   0 PPN ):,*" (   @ PP 9E['&4?6;232+"&=46;5&4762#"'.?>7&74&#"327%3;265326/&"5+m "?*  ,]  0   0 PPN ):,*" (    @PP0 %#"&4?62 wwww0 732"/&46%'&";264) ww ww wwiww9D%.#!&'3&'.'&##5""3"335327>767#67!267>4&"&=4632Q?! /'H#* *#H'/ !?  < %@((@% <  M@((0&"3267;2>&'.'&57>54'&'&' !9"0   2!7 P@2 #.":"    "8!0#M>/%'.76.'.=46-M- >i>L )[N1   Ak|8#,5>"&462"264&7"264&4&"26"264&!"264&"264&0((0((|(( ((((|((((0(O((((&((!!@!"3!2654&``,-6?>/7>&/.32+"&5'46"&462A  j   j  A @0#" g DD g  pp"" "? A  j    g D,?>/7>&/.A  j   j  A g DD g  46;276/+"&@0  0 +"&=.54>546;20  0X  BK"#"&'>=4&/&"&=7>/.2>=>54&"&462$4-A7I ?  8O9  ? I70P_Q/&  P%q0:) X9    z':8({    9Y ,K,-M.q%P   %34&#!"3!546+538 p  b   p  7b  "2>4.+"&=46;2CrCCrrCCr   CrrCCrrC  *:%".54>75#"&=46;2+76254&+";268_r_8.Q1x8, !((9_88_93Y:#((" $ 3b&O462"&#"'#";;26=326=4&#"'&'&4767&'2767654'&%6%%6%p &   @  B &!0.$;0#(19$*0!& 0+1(B4b4B(1+%%6%%5h h  h h  )  (    #  # .M%!"&=463!2#"'&=4&+"327654/&'&547632;26=4'&#"    )# - 0,>F,0  " . -(9C)+        0"$@`    &!=!.d%6767654'&#"67632;26=4&#'2+"/+"&=46;7'#"&=46;276;2+ $'  &   > 4, @ 95 E (/ D 5; $*   !+      S H   SM   A K   LT+;DM##!"&?".54>;254&+";26754&+";26"264&!"264&$<"??"<$%; <$ h  h  h  h 0((`-2 2-,,p  p  p  p .(((( %!#54&+"#73#+32#"&546;`@  `@@ `00 0`O\i?6/&"/.&?6&/.?64/&6?>/&66?624."2>'".4>2:  D 33 D  ::  D 33 D  :z%>J>%%>J>% 080080>$ B  ++  B $> >$ B  ++  B $> %>%%>J>%%>%00800.d%6767654'&#"67632;26=4&#2+"/+"&=46;7'#"&=46;276;2+ $'  &   > 4, @ 95 E (/ D 5; $*   !+      S H   SM   A K   LT"E.#"+"&7>32762+"&47323267>;2#"&'"&=46s; :[9 Fg<1X"$ ׆ *; :[9 Fg<1X"$;G8 9\5$!$ y*G8 9\5$!$ (Q.#";267>32'";26=4&+""&'26=4&+";26/32>76&+"#b8-Me/-Mf/#b8'2?&547"264&/)oo)8DJ #g5Y$) (88P88;/))8e"Q#Y5g$N8P88P8!"3!2654&#535#53#535#53`ࠠ``@``@`(!"3!2654&"&4627#!"&5463!2` H` l8/!"3!2654&+"&=46;27#!"&5463!2`hhpH`<H8!"3!2654&+"&=46;2`hh`<;K6=4/4&#!"3!26576=4/576=4/5+"&546;2       @    L    L    L    L    L    L   ` !"3!2654&"&462` ` +9"3!26'.!"2>74&.67>&%&67>'(D.0.Dp.DPD.IK  7IK #>&&>#&>##>&A KIKI7 @'09BS"&'&5476762#7"264&'264&""264&7"264&!"264&&2654'76&L!'&BCCB&'!   5/ e ."%6%.  >HNCB&''&BCNH>  %4%% @'"&'&5476762#&2654&'76&L!'&BCCB&'! 6"%6% 6  >HNCB&''&BCNH> _ %4%% =46;2"/&7"264&(p((((+%'&+"2?64%"&462"'1764/32(p((1(P((J(/8Of!26=4&#!"!26=4&#!"!26=4&#!"'"264&"/&4?62762"/&4?62762         (II / @ I / @ < ( ( ( ( ( ( T((+H0 @ H/ ? 3=FO%'.+54&+"#";26=!;26=>=4&%32!7>"&462"&462+   +  0  0    @W"(  ("W!0 6  ((  6 0![DD -;&767>276'.'&'&76'&>&>767=k "*&$")W:"  8K#V;"  8K"#F=k!"q*>47AF{ ":W$K8  ";V#K8!2*"#&*=47B$%"/&4?'&4?6254&#!"3!26w  0   C-I!2+"&=#32+"&=46;#+"&=46+32"/&6;5#"&?62  # 7"  "7 # P 00 PP 00 P ` 0     @0 ` PPPP-I!2+"&=#32+"&=46;5#+"&=46'&#54&6=3?64 # w"  "w # PPPP ` 0     0 ` P 00 PP 00 P/?32+"&=46+";26=4&;26=4&+"326=4&+"(  F    (          /?O_7+"&=46;2;26=4&+"#";26=4&!26=4&#!"3!26=4&#!"!26=4&#!" e  e  e  e }e  e F       P  P P  P N P  P @ P  P P  P  P  P  /?O_o+"&=46;254&+";267;26=4&+"54&+";26#";26=4&;26=4&+"%326=4&+"326=4&+"';26=4&+" e  e  f  f   e  e   f  f e  e  e  e e  e  e  e  f  f P  P P  P P  P ZP  P . P  P P  P . P  P  P  P hP  P 47"&4627+".54754624'&/54&";26%6%%6% ";#";" 8P8  (  / !/@%%6%%:%0#;"#;#0$(88(   0/+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" ` /  (  /%6%`(88($0#;#";#0%0   !/P%%  %=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%i  iD%0#;"#;#0$(88(   0/%=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%)  )D%0#;"#;#0$(88(   0/%=7"&546754627+".54754624'&/54&";26%6% ";#";" 8P8  (  / !/@%%  D%0#;"#;#0$(88(   0/0&"/"/"/2?37>'&M.3 2-2 2-2 2-YYd.2 3.2 3.2 3.eYY4N;26=4&+"462"&"'&'5&'&'&'&'&=4632676;23+ P  P (  E" ,#   #e       #* &*, #  0 N7#";26=4&"&46232#+"'.#"&=4767676767567632hP  P 2 6 e#   #, "E      # ,*& *#    -%'326=4&#!";;2?6=32654'&* *   * &   v 0  0 v$ h00h %A 0!!%3#!"&=264ᕗ!2"'4&#!"3!265@ 0  P  ```(``T   A%54&#!"2#3!26="&46@ ``(``( 0"2>4."/"/&4?'&4?62762CrCCrrCCr7( AA (BB( AA (BCrrCCrrC (BB( AA (BB( A1;%+"&/&4?>;264/764/&"'&"2?27*p pq AA( AA (BB( AA     AA (AA( AA (AA;+"/&=4?6;264/764/&"'&"2?27AA( AA (BB( AA * AA (AA( AA (AA3!"3!2654&"/"/&4?'&4?62762`J( AA (BB( AA (B` (BB( AA (BB( A#%764/764/&"'&"2?2C6aa6aa6aa6aa6aa6aa6aa6aas-".547>767>'&"2654'&'&0R0 ?? 0R[  @0R0'&Z-2 2.Y%(0R0    A)#";2>4.4>2".#>&'324X44X44X44X";F;"";F;"@1  1#;"";4XhX44XhX4#;"";F;"";]$\\$";F;"A%+".4>;2'"2>4.@4X44X44X44X4#;"";F;"";4X44XhX44XL";F;"";F;"aQ#"&=46;2++"&532376?6;2+"&5'&57#+"/#+"&546aUV6A +, A6 2  7++4  6UU6(+4##!"&?".54>;254&#!"3!26"264&$<"??"<$%; <$0  0 !!.!!`-2 2-,,p  p 6!.!!.![d#"&"'764/&"'76&+"?2?#";;26=326=4&+5>54'76=4&"&462OP#T# O ?1$$($$1?Q!//B//Q O #*3N (( N3*#PO/B//B/9B#"&#"#";;26=326=4&+5>54'76=4&"&462tOP#*'B'?1$$($$1?Q!//B//Q'B'3N (( N3*#PO/B//B/)5AM546;7>;232#!"&#!"&5463!24&"26574&"26574&"265 p  r  p Xh   `   `   l  3DI      )546;7>;232#!"&+"&'463!2 p  r  p Xfl  4F0%6.."&;;26'.'&=32654&' "17J71" 8(p   p(8 3% %22% %3 0(8    8(0 4%'3264/3264/&";;;;26'&'&53264yS" R! hh !R "S x    x IWXppXW C.3!2>'J !!   `!!A7?G`#54&#!"#"#"3!26=4&+576767>=4&53&'&%673/&?'&6?62(h h /O. 0%(%0 .O/@ "" @(  11  '76(  ( 8!>* H  H +=!8 P-)  )-&7  7&11@9BK#54&#!"#"#"3!26=4&+57676767>=4&.=3&%673(h h  0> 0%(%0 >0 1@  @(  ( 84" H  H "48   -)>  )-'09>%#54/&+54&#!";2653265326=4&"&462!"&4627#53pd,8P88P80 )(,(<,d`ld0(88((88(   p((((pd  0@P`p676/.?&"&/&654&+";26754&+";26754&+";26754&+";26754&+";2654&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26754&+";26D]ZZ]D+ W/c.W +_((`((`((`((`((((`((`((`(((( `((XDD E# << #E (((((((((([(((((((([((((((&]m}#764&"'&"#";3733532654&##"'&'&/&'&'&47676?67676327+"&=46;25+"&=46;2}$  II  #}00\  ':4$  $4:'  G`)  UU  )   R  R b8#!";#"3!264&+532654&!!P    $  @ B%8A%&"/&'&#""'&'&&767>2%"&4&"26=&754&"6-('+%  # %*'),*xy*-8P8"2 $6  6$<-*..*-<  (88(  2B7"'&=#"&=46;2+26=#"&=46;2+!2#!"&=46G),  (H(  +* ` <&(I     '(((     H)&<     /"'&";264/>32#"&'&32>4.1X"$ *; -N.-M.9 (!V/CrCCr$!$ *-N[M-( "CrrC57#"&=46;2>32#"&'&4?6232>4.#"320#a6DqACqD/V!" 7"2>4."2>4.2"&46&/&'&'#.?6765&'.>76769_88_r_88_9CrCCrrCCrC4X44XhX44X45     5 2 2 8_r_88_r_8(CrrCCrrC84XhX44XhX4,b ?$  $?     *@+#!"&=#"&=4?6!"3!26=4&%#"!54&+5##5##5xP ~$$@@@@@  XX  ;K%.6?622?62'2?622?>.764'&"20-NN;- (-*<-  -<*-( -;NN-G* -;NN-( -<*--*<- (-NN;- qG'3%#5462;26=4."#"3!26=4&"&=462*;+ )FSE)`""g+*  )F)*F)g0'%#5462;26=4."#"3!26=4&*;+ )FSE)`g+*  )F)*F)g/8A%#"&=#"&?62+7#!"&=46;;26=324&"2674&"26(P X  X 0  !P! |   @   @    p  p !!b     U%".4>2&'&'&4626?6&'&'54&+"#"'&'&";26=6764CrrCCrrC( (  ()   (CrCCrrCCrG      "# $   ""EX#!"&5463!2&'&'&4626?6&'&'54&+"#"'&'&";26=6764`( (  ()   (p`      "# $   ""E !2".4>''&'3!26=4&&@&&@L@&&@5/84)5 )`)&@L@&&@L@&"4!QQ!4 )74>2".267./"'72>4."CrrCCrrCH]j] )j) =4<44<4CrCCrrCCr;*00* ## 44<44 a72>4."264&"7'&5'463754&2/.=4675#"'"&546753!26=4&#;"";F;"";U"$ #$!*&!.!)5  5";F;"";F;" 7,8 +) :,0i!!f?)a  a)? !E2".4>''&'3!26=4&7#54&+"#";;26=326=4&&@&&@L@&&@>/84)>$l$E&EE&E&@L@&&@L@&".  .jEE&EE&:>Bl%76&+6=>4&'&'&'./&#"3!26=4&''?01'&'&"'&'&/4/4;637632; "%!    !%" :"`!0080       (&&( 7      5 1PP0((p    !E2".4>''&'3!26=4&?64/&"'&"2?2?64'&@&&@L@&&@>/84)>$l$0 11 00 11 &@L@&&@L@&".  .K1 00 11 00  !2".4>''&'3!26=4&+J++JVJ++JG5A;/G ))+JVJ++JVJ+&"4!%%!4 !*3CS2".4>''&'3!26=4&264&"!264&"547&';%''326=4&@00:00(#*'(F)):))})):))5 . p p 0:00:0  '==' ):)):)):)):)p=  ) o A ),&?6.&?6.2?6767676.r l  x r  2 3 #J% Ir x  k r  %J" 3 2   6?767676&'&"l 1 E5.  l 0  +'2.T &'&2?767>'&+)V $ 3 '*,$  $,*' 3 $ V)+C6@7&676?6?6?6'"/"'&54>2?'60MQ`O^  9)  r60  v9 +87^O`Q+ .   >7k ( Cz +>01+"&?.5471>2?>275>;2654&#"%  @  %y 8  G _"&7  7&"_     ٹ   <-108)2e4."#";;26=326=4&+5>'462"&32++"&=#"&=46;5&'67264&"&'632 'BNB'?1$$($$1?/B//B/P$$($$ C//C '2'B'?'B''B'3N 4($$(4 N3!//B//k4($$(4/B/ 'B'3NA&QZ#"&#"62"'32>54'726=4&"#";;26=326=4&+5>54."&4624O0#*2' C//C '2'B'1 W'B'?1$$($$1?'B'!//B//1/B/ 'B'*#0O@'B'3N 4($$(4 N3'B'/B//B/!)24."#";;26=326=4&+5>'462"& 'BNB'?1$$($$1?/B//B/'B''B'3N 4($$(4 N3!//B//'&"32?2?64#7ި" )+ "O" S "DO+CG326=326=4&+";#!"3!26=4&326=326=4&+";#H/B/K@@ ` /B/K@@!//!00`     !//!00`@#"54&#!"3!26=;2654& b b b@@b  &1:7&'>7&'>6&'&767&3267'&754&E_%L#EG_3430+01G/!>F *'S cK2-s?++)1 ;&/$ 5EP&"/#"&=46;7624&'&7>Yf  fY    h Y Y,  # ) -=GN^762.'&7654&'&654&'&#";26=0#67'3276&'&67 m1:5K? &!7 2* "  fY  }  G^ ?b(  ue<)'(9?L'Y:" +3W Y p~_ I ="/#"&=46;762Yf  fYh Y YA)AT"/#"&=46;7627&7>54&4&'&327>'4&'&7>Yf  fY  1:3.  :BK2*  !   ',`    h Y YDe<7b)}GL3W:"8 T/,  # )#3CS%&;265463!2;2654&'#";26=4&3#";26=4&'#";26=4&c0  0Π    Ǡ  Kqq( W @ @ @ @ @ @ /S%!"3!26=4&!"3!26=4&'!"3!26=4&7%&;26=463!2;2654&'ppohP~P`00`0000qq  Wq *>2".4>7254&+">"&';26=?6&/54&+"60Q//Q`Q//Q0#B B##B B) ; p/Q`Q//Q`Q/N  NpN  N ]s+&5#".47#"3!2654&2>4."?>"&464XhX4&&&&+J++JVJ++J+! " !-gX44Xg-&&&@&+JVJ++JVJ+N O !!)?%&/#"&/4632+3276'##".467'3267A >  (#  y 9% ?*4 2=/Q05W> !  &$2%!   {)74=3BY70Q/:/19B7"&4627/&'.7.546326?6%&"674&"26N $>:~,1 &1o/W  { *<**<* (x iV7,1; &? o **<**~8%"&46276&'.27>2?6&'&'&767667%6%%6%88" )hh) VsoosV" H^[[^H  %%6%%a2##2"##QQ"BB!*!"3!2654&"&462"&462"&462````@   3!"3!2654&"/"/&4?'&4?62762`h( CB (CC( CC (C` (CC( CC (CC( C!"3!2654&!5463!2`$h`T`%!"3!26=4&``  !++54&+5463!2#!"&5463!24&+"30/!  D!/0 04!*!"3!2654&"&462"&462"&462`````   AUYchrv26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7!3##'&/3?3#5&/37#'340.n,m*0>FT)9*7+9*UFQB' &N i ' CQ(Q VVVV Q( (( v6@  v6@ '%2".4>2+"&4?4&"26ANB''BNAi((B6% 0  &&BNC'&  88]%60 !57"264&264&"!"3!26=4&#!#"3!26=4&'+32+32"&=#"&46;5#"&=46;5#"&=46;5#"&=46;546;232+32     ` 00 ` hh@(@(@hhhhhh@          @`       ((    mF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&_A7  7AP:Xll8llX:Pq#%q  % \\ %    #; S^ +r   $   0 0& V (l V &Font AwesomeFont Awesome 5 ProSolidFont Awesome 5 Pro SolidFont Awesome 5 Pro SolidVersion 5.0FontAwesome5ProSolidGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProSolidFont Awesome 5 Pro SolidFont Awesome 5 Pro SolidVersion 5.0FontAwesome5ProSolidGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZ]^H߈PPEplugins/wps-limit-login/assets/fontawesome/webfonts/fa-light-300.woffnu[wOFFP GSUB;T %zOS/2DCV?Pcmap-(dglyf q`i,head116 Ahhea1!$;hmtx2 4Mloca4t 8`-Lmaxp<( nameېm~lsjS05I-R)uNҀtLƥӴte楛-iaZiMZ>Nc%mΙk yc7O'SkY |Q~w~Tl|b*_o. Eb@1U/&SbAxxXUZ).-o(J:eiٯT+77!jdu|VPK;#4&;GhZfgs}dيC,5!mz>BR2O.OF1ib9[FhAzGhYz&HkF!m5G^yK?#4!jfW|q~_Z?˿̳EQѲR SLQ\#tۖZ^>B_lGoU#ԪP#?֔{ ;չ:: ~WUF~M~̪[M~bQ6γIv]6A{VmM˖Wl+PQ^EaE~u8[E*N8✊+*fT,Uײ*^XZQ⃊+m*TSyQ%~Pܯ*_-oT]zg_V뫸RA&՚jkȱ6dk;&yݦր<Sx+;D{Ξiv:Ni3y(sMsUVy\ )N|6 gWַs>Xy C?F֔ ѓ[d;c]ⷸ؈y/^3VZn[1Wimll5h;xΣy aьvzncO;'[{ o-Hyjrb 'vmvNLϕ̿C؍l[ބo-⟞(;+Ӷ/`[aRlcMڎ. kr'bn\Vgvlg[Ãf]u.x;bώ+p~c}Xa ٟ3&c?UUvƏܟ-s_y uX8'hM1Naw'*\:|^܅ocnf3J 텛qgU;q>'Z#K(u=>{6#0#q,kyp!fN^.I<9M؂x܎Y5Sxc^x/b9502p0h vGC셽Χ1`O4E}F.aWm;ְm֭c&b ;x_k[/ռp>S\u%~d2wmSRnu{^gC0C1 Lq']~܇CXG 6{a\?B~<8@2PX a!,k!"y*q0~h pB#'GwlFnF b>| >Q2V,rv0IŸ=,";EXߧ clO^ aљXg c]NF=8GDvbEM($d^XkE"p0r"ałȻK bOD^!8]3F6CǫĎxXYb9 n:Gl-7 8_9q0rA]x#F'_5d =$0#box\"yT b xU^FzEU Z,rukQƜ)zK,m-׉}GXχ¸ߏ# b??!!T s_E\/a_kabDm^,ElZA01~? b2ȯ$5ZXb KAׯș$~?.|C o?C?&(~C BT)~D&~D.~E!~&EJ/[ }N5żZB鴭/i{}'.* @,5~ D,9i/5ނ=#5(+9H ΦfB b< 5'5ܧB [gxNm^s^ďAQI)*YbӦ.߇RWAW7aTwȓB_cXI/ }H}1G.~Ƚb޿o עtkZ,qJC&P4LlGN|KLjy M#1W 8J0b,LjX/cyX߉b1~c|_O|O1Gwz,}1/}1M&=/M{!}%^)ϙ#sD^\1:^%50+Xӯ N&ڳZuyaZi >caԫOQW?F|!cZ/k}XԹ/xO:(s r[a&ab16? "?D* wAԆ?FKY9˶ B_b6fG=/ go.^+o-u,o#"o+=qNpbW{(g `Mu3.xm{ }佄~{ O>}żKABgy,:.*{&-{#g!8Rwן|Obo^s~x+(="$J>Y4@4"K,sXȑxXDž?1o^w;|w bZ[}l~X'O ͟{yA|E1?+11b^1[#{jXb1oym "_ OX{by&g\KZ,zXԇob+5;ߋŜS,yXb ?E$yXp&ybb XXEE{?bQ~Xb#S,¬B΂B„E磨<Մ~- =B9B߿B_GE-bb[׊ǶNx:Bb{jfH; .vz,vTY'}U赢/h =]PHXcD`h*u^%Q bb_b?Ay3G^׊EKA颵 梍AE[svuAg ^I;X;D;T,u u^xxx^_kEoAsAs_A႘#1W1W1W$b b (A`AAP00Aтȅc##㣄c /}0bvNJŚ'y~XԀbqq|*.TL>TSS\%}ZD1[MuX Z#z_,{$5R}{J8Bˋ5Xk~+<-~W9zs77bQs~yKVb^|H1?Sż)kyQn'̲3&kʦBV_ekCVl'l/8ceG e'mω 塂xz"* <nc?w=۔ߖ۔}}>c#>e?׮r0Ha@an0^7Xx!Br0a.(GH)海Isy؛ `@x̽ $Gu wfUeYYYwUY=}w]=3=54h4[s2 c#[ l0j^{Ѭ1W 5{YUYUsHS"] N39Ms1f^# V$Z/V81ڽK9 OZYJރ-ʅraGIR(Cfc'-4,ӒHtMIÎ9Mi+=Iz2p$J:}"=,)e +"9EH^hc1ZKggjGL#LF 3bKi͌%'ZS991n@ `RSd :s Ӭd "oة۱9v~]nst)ZvIŲT !ia ys #4K)̐2i ͒eR!y 7J۶r/{Ϟ߅%N<ކCν ԷڽtY'q&;]q% Y1}2K䂣`$30:Tx*1+* Ybc rDmh m" ؒ("y^ q|&d2[/C2,b_?'MV~vvV;v;"/L C_. k X8^jvq~e3"*٫Ȋ67l4ԝ4;:LR,8́Re"?EzhyWѓ&G;}qLap?Kv@u6YqQn*Ud9pƺ"焳{$1X QUzE`mZ@XuZ[;s@%뇹$W䦸:P['9YF\$N{KtBg2C RC #Y3`'AbFo͆<7nr+E@І]NfgKJ"ҡ/E)lݒ~E*>#jHBHsXh^S/==%eJ_R3g`&v{x*7v0TJܔDak$ ZZ7p*'7^Ͻ{+0ujxez$x?ZH`kNrGY\pvua/ڃOԫ( s%qH$5da55zzʟ/c+dYsSy=D7P\39bGSh;є"VΙ #+p8PmMkG O 3X?g{/ ̐ q {`e@8 I& t9Kr\&;exd4 OapшY,JWyݪ 'ZYQ\qfnd ~#Ml# @5 хFs~ĠΜ"i͹fJ4UB̓j ˪W1ca#?) MWf2VߙAIn[D*-!W%]㉐?*OcGy~Y <)UoKW WO>^U#}B+( -AV/"IqK|'j6x%2ԁ &X" F(iR/)$b$/(Fid jcGބF@AWny˾*9v4L:|pW!P' -qV{!)gׄLiTi6 {%Y!oVb"UIYrJ`^s5ΛZZ 2_3&jM .e \r*V 4=Z gK-L%`)?bΙ3 -@j c0I "k75D3 w;) *"N9)k+FVD[х7 ,h..`u۬bpCUG6͟'=pR{ࡰO$]ĢJ ki3C>\7oPx4`VtL> ?9Az#Fǰe!l>ÉM 8O9֨@m!$ʐ ߑ&^)lY&Su~. Ѡr9$`4=?pEyOve~BIQpT4MLP?AIn'?uyn_r_ugFYq{OJl{oFZ[ˈhzR_"_]igzOn;ټM|7VWWֳVUV*x4\Fk8Mj-4i8<]`Bm^凇 ٙⲭԁ~VO[I&TYr]kEX/^X/^H#>]e`uG0U+s @MCWUY]|RjXwq{J> roLc FCEPD1l?8 7JрtDXxwoήh)]$}@ORHGO@mO)h`Fȼ" B,8js;ǀ(8gV\#7oi$ڼk'PNԕuYb&>dE xaaK 3!xtkz8&Xt"mw; bQU!c3OMv&e7J evy/6=uhqpY2ڄ)s?WqFuWMn|tgvkޮ:.n x@{ęSi@KUs.ʷ~AUѶ7Γ-.uTЅ09թ):۞"M砈s5c8$F2RvБa{:X`?]>p`3yTes`:xJФ&=;&BJ*dqY?? h[{gZ [:,z+t?T x7(vQq9eYTTC%[ȹ|u`4L0Z/?S¬].=Iߝ(;^H\Ҩ,\y }U_F0}* W!u-t[6R=bA -np[:Z(X+%{[U. x7}BVJa-`.10P m}@Q BHt vQ%i|~sL!^'iitre˚w<@F>)o~ }C}L5Tl?OQ}Y ndg{KW s irãV }4&P4<y6@Tօ,RwLʜ']=Kɣ#]q=2ϳ1{;t pNTwGcG=i0XI1Qwo?Lt__c#? t~]fkvFSJ?O^'#1-^;eO~F{aԻDnv_Zpy7.Fxٜ9(~CH= x'#z3 J_Zh?k.nyYvy{9/zf$z8|Wu>8S@(>:gQf}wr?1Is@M4DuBܰE=&owhDc}~}~4󑸻Iי4˳[@sq Ƀd= 5G)'K=*Y g8[1xK|/,nvDl E 1^:Ugu=,vn] =h*{!v_oytqq`;]3XʡAA8(Y[}ގmӑѣ6h%4Sn~)΅`{G'[]nnܼŃ.s2 'Cq% XASXkWcs?:je`f$.}y,;7uy5h2#J8ch4V&/J`Mj\5Ğe94?l!`hBR@TO4'YMV ap _3x:lWS( aAg2PS&IOڕbZ0`FcxkOxIeǗF.\;=:Y"Zuʳ84qj.߳Pvo@tY5 K"Ta'^eKtCRZB12섪O~XJ}T*R*zzKJ\M3#Q-;Ejd,:|̌G2DELB1lQw usSBswibGAd7kzcCY[E+O V=O Q%q'EQ/OhT(; ߤ>.eަs,z 1Pǩ8 nFX`gEF[r(쌯yڕ kĜ*ku",B*Z%tn B]蓖NyCdan`@Bjrsr b6C$]>A.;FLc)A`rLjB$.UTcݹIIDoON߆)S]N$--3k3}t6vК=FcmlR1JX`ТXQj#Q0{%<}Y0xlX!Tju5/սDbh~gw|,7hB[%ho9c8;K8kWxݖ_cU2ǃwWJV'{7mv{*]Eɇ."o&%M9\;dh=DrgX!Ϫogc}Wde6áyWOGӄKGkH`~оuM_Q_tKpQ{)r/(sbD8ၼ|" xEh^/D"ڞy\΍zÛ&eJ>Ǚ}bzf?d\y\ |ۧYG0njvo]NjUzέmAOO`o{Ϋ|~8yn#cjl?+nV09Kn(&CTv-|E4-#Ii"ER!՗gp82`㨜Y$Y9 M23 +HVpE0(WP#`8cv *be$)x-0p H{!JU q*pn6$1kF cT`Ʋ23>_#'DbnD"O'}2͜jOiߢ-/r1/sA5+ƒ19uMJydw&4)̵ 9 vyHygn};YD5M]b@ Q;z`ߟ_|5"\~jyUX8O+餎h&@;'y0gͷ.^I?U,  5ڿbv(S& \iC]bų4џ;{v pfT8Ў:8 >/e``/+s@)53F}|zvu|&z#[kX5SR;H<ʔ]ݣO]='H#$O^?y'H*Iu[|׶>WT)e½|2Hc|#=ϮOd`tw#KBSQ+VtqQgz%PV '$c7 s9͢ I; Jz_ w 7#YFN#LtlEoq"kv,D(JB?f\ٚ\'Y㓓f{#qg0.M;[L~.:rxPƳl6>t^Xzq?mjkjj9XHדn|\ĵ-<ڸ%ï_=;CƤrHc+ʌLrCXOگ~K4 µdB4) .`ﴟڴ“r ,ȫi)P=$%ݒ}E\J)d0 VyeZS\N:>)TZsOMf@Ug,UiV]+A.j7TDuPʨGed }Xe3jj:#(Z.)יqѴXӔ9qE#~HTX4|n=Ee)"xt#DAV4P:2A-6G~MObeL|?tY,^W~?z,?զ3<צ5UM|NUJ6eX?0[& Q⎲l&M9ߌ< |ťB(I᭹VvՅBg4rlҒf읖AZ2̀=jg<^X*^:Y*QS9εQa1߶p k' 40F]4 ~UilL>׶'7k?\XTUҌ齎i86UKDn|pf;݉zjb;A|*ba![ޡYD XCƕFWCvQ| Wy.8"i{^xX[̥2S|5UzM (l۷TK`V=7|0 $QIŊ5y/!ʯ{(mo$gvyYăQx]KCWڏK;cSZ&Pe^-l{UY'?KRz6{K"8߼ EH['k0v6a:ftc_vi-ix9d4QBjHrW32?wL4caQU k*:hyX1qMIFcJ_\"r:6] I(Xzp0<\Y=^Ν|Lj: ع[s_S1cl83iMC6Xp-QB:6 ICz)BRB~s'p*Ӽq+/sӢńH0{x_pP㿤Hq08l!?IâaBXTtnZb[zXmm+T*P^/FP>hĮkvG\HIeNC*,AW"VyVYD(|st}` !j;zR>l[k?[ =a@?F}9QIbB!t嗤D&P sg /g }J a>"y"ǵX'ƫcfԴqCh tmQ' 7]' }`W3{B׌u/4|מ 3[sYdcUv}og%ONwpsOu8KjDˡB2Yx@*XVB,We]e k`2ϣ7g*~IE-/~b༎iU Я%=&Zxr Œ$$ T'sPϔrӪǢ0+J|6pe__jA#793ZV"ߎ"anGwSD(0ncƬRgF"/Vn"QŘUuP W/:_m(E]VPĈ{L\%c",Sr~0Vw@71,HPC iim˥_əkiߣx oWxp-H$MCI $y Yo*Ec< MJPxw͑r& Ӎ[fwYb vah5# ؘ"Y?\ DySmxVUU\hqǏrO<*:`,`:x8-L(VӮW|x&:K'NA@֦Ax cV / qFjr˺NpX~],\'GfHiGF#jc4tWV:*`V:-ZP/)ˤ+.@gTʵ.qtZr\%N ^L]0B! ~pylrrlŕ\;?y1p_ý{zhlKndb2o\"F>^é'iuWt})vr]u1֩]ڸ #u2=3r CD { <ѵbnku[vm?6˭j%Lz0vQk*wZ|>[ר&` jړ&{˱zbr-D7N ] t,$!5ooהY`9_%ϑQ$'Hn/* Ux*^x0we$2upNͻE]c9Bjc/(ʂh/IԴ.v^Տm3y$,{=|@7}FtxrCYOƄ"z,$r:I4Eb{Q F1t5bṰJFV[gVf+pn1E~-WկoQG8vεWnҵ7YO>LHmqIV$uݏ/݋_F~nisz,|ZVz{ 5~a, {z7ک@+R5COnz5zxw׽<~s 87H9ҽ^^1Ȯ/ hGbgȕw5J,BFPhb\0QKhRiHZm@њ"h%h+ʫXW=fHJO(8 P]9TL\{ue}xih{;fg1n~@ꂻ4r= 8r# u FW6^TUM9JUJwuox@i 6ォhh]}'84x}- DdMM ӳ7 3'h'ez|\sc5̎y> jLf`CɱTֲZDky<<{\(}l%H~|ڠof?T&h_C³'CYrkL_qt+A.\y4[8' Ź0rVSGQTeXᗨ֢Ϗ+)j;ưqu3jlm bg#a)IcW΀K!NQ@,.Pt/Uy- NpxWY݉?wk9Yiߨ´Ԅ71jD"F[bε7eC''tl8xIb@ZC=t"d/Zu5J$!U"S I*>_N.,F!̌p$NjԮmEO+ZJ'A^EmV1vVEUdֈ9.qȳC6jhkXL]$OP7} Grh: G{_hpn\/>}3vK)y?G:uG}eӹo#ht(!saN犿iFсz3/rGJ1ko%YLoN֨_`!:]oI޿+~5*¥FIG2'Rla58k.$Y-RduJ1KFjR* SRTO=틴WY Ӭ52^?8^`N㢷G=_hwW]*F)8m8ML\=6߲ LR|>eRn2߇n9[GbX(ӭ5{+YtM*T8Ժmby=6hFb8l1VpьR1B!Ir,%6cq4CB08Z\0jeubBgThE\Cy(왨-3`#n\(CF,vnZ8 8Z);{9*ڵk.'Zl7ďWIxl}?bj^4pz\/249؊#]C?lܮmq]E>V>u3~x'iE4n4̌xV_`wMq033<ȗhXDru zC+ntLW5Kzc.oHEIm?\UQ^ޠ*my<=5QhKft< UZqc[*KzԫHq-Kk UuG/7 sS31M5=y%$6haZyQUpo*uOm j9:eK!}\'r9YƊ>Z1}AbZO^ZsT?٣|܎Jj6]>|XHx6X#V6v)6bYZ) | G,)Eկ)iQ$ŔG~ߘ.k~43HK>lCvxzT>xdHf N;Ώ[psp$4LmRFEXFEpʿlly#'gP @OnǞ޸ox"};N8}:\ɝДf4K߾ƭt7el}Q=_%$$%9SF2#1APro9JQtIYʵrDPy{zKV^M͋i,(MfzSY9k<rH'P?MK%șJF]#uPJ#TܩChţJzbVseY +>>%Ji3"6 'ir+ⷿ-*g`d0ZQMIwҽ m:hUk ݩ6ѩqԴSD鲁evEKG,Kd9)K>CQqeS>I~T}JIuEˢʫ)66r9‘AiQ$/Y; 0>蓥d)*Z) a%xIEݔR7Sy'~ܳt+(6 ﶒVcIWq.0ps' $N20$Pjj' Q/''/<eyH$*qGF|EsS~?}ZWC!c[X$ߤ,nȴTwt"Sm^)s;YT;fiERf00%, Yfj銥8o%$%)3EhRYTy[g8oZZ:]M(6)\-Vh-.>N? 71i,c,O(fvf@E] >i-Z4EC" ,ȅw2i4q67*q <$͠X<%uqtpz'lK7Fﲻ~NcYA141mC.۟4p" I떄?( fmO"_$35?{Ǔ o"a;ÈóTjo`> ˂[r)el^cț|%{"إ(I_|̨TW*V<S^1d^gzBߥ+o*fK;[ a? j',QGָ/qd8Ƹlv5_%N_}cHU)u/\et9Eȿ$YП 1O$小nZ|y( Oޏ5ET4? t3.J{oHb9eO^*PY\ ߜ`iuinnI}ZVt]؛tP7׿?mw"&j*_6;~\##?xݶw1asF;]8ώA#VK\=\g϶oo݋Ed{ w7FTj[X#p]F7MƅQ7×Aue΢;^ *0]Cu~ڷ,lk8#w) I/5.Jl xo"woB@Щ;Ib>EU{nE6C^:IY-`[@kCZCQ0FaT -0G@SEn[Yk_9>l*m:PЦ5FHӑ $gMVؼr. P;Ҋ~4%!w eM" 2 K{ZҹKax43Ҟ\ۆcz7+6 s? w)IaO)r5\;Ì0GI_,J~=R$V/m[a/7OD =9zZ35fi6X9Gv>t Ҹ_jqdN GAx6JP rສg1d3N$MzCm~Þ[%t7 uGhH@4 fH}h*5l!pqf>e'ۙ94O1\ƉR4&UeD|v1m!PIӖ\,£[vʪo/ ^6E;+&_OF}n^~y-kp}˼t8s cw}x(J"-8GŽUbmvӴ/+'u+f}n/ѯT|__F/mڄNGc#ǀ fx"l0+$6b :.Yh4݊mB Kͅ}!^RsE'&yUP[4UJ'ጳKM r.'EDAńy~]rSygxE2$TijJD>Nbd8OR1Dv[9W=HcKP ?,&Š@Z>&9޵En*jYU;;a= 4MRg]5kցYduvl)Md6,!g*g+zeQȇ*[zZNrr0|ekW!)u Ŀk|ϑI.2Ah8,*.'q=?!2D* ֌e-+LrKv kkMt7l+KfV`۲G댨 B^Rk[jm敐<e/Dš34cd7<۷cf%0jPQyM _@x C>R͠L2ɞ3U"` #O}_|J/_I3V’ik0R<٦VҡOMdTNa)WYIBQ䐚 >5=9W.[M ^ -?&,ןNqnn|fddRM_EB^Kad5U,IJX+* r@vQ+a٧DDT"S#ʰߥ]' ]hsc ԯ9BmBo z-A;j/7[%I+6:rz2pg_x?kT]lа\$7y[uVVkފMoIeW}➴߼%v2=.r kGk]ݰw2l.m[՗sn^{;Sq=|29e'I,bj-l:-mJ8L\tw{}W$ߍcO3j~ɝn0YvslI]660[XWf}ڸ zڇ[*n^@#\d{U(U(t/n[+p58\F;4PrQ`yg |fD!;A+PVyP:zbM25c`}jb~N֣Q!lgvtgr"`r1zf|BfhRCgUţ.'vc}Ot~R#-j(;>e" sc,X=qz_vM`@6grar!xZ섇^ʸ@`')7YX爏Lc˃9i)8!sZ3ÇРw'ӊvd ؾ8?@J,qt]g QU%wNDDle\TI,CMAo/jJG]U~MuIX@nJU~~h_!;+kx~wdtx}~vvlU~2;T՘qY寫IJ*wAI%qS\~W')A/oI!+BwϮv^?]42 ;gnJ=Vѱ٬Z6d#?,bK]Xlo: ;@{پ+k;r3͜ST -ʂy ^hW\>oi7-rI\w۸ؾV{6,Y6lJYx^ _BXՏ5"T6g^M]:#v 3Nmgz=zQ[HY5[Ė) V˶޴i#lN1tRqo'Q g}uuu]U}==G%H3-i43HH6c q25?Y F2|``x DƋȺtdYx?sCO@<,7Pꇇƀ j=ǘ^ŽTŚڦK$qpzpkN_wBrj7*jˣ u0TfД۾6^P4C+Ny\r^v۱;(s_| 2nQaTdyTp[+ [78+T_9zHl||mH."潸^1d`l PF3*jJ֚"QCG(aT$9O7L:y0$?#lujvGg}}d64@3졷J< {"<|# Ƞ)4I m舸%&81;UHd, &|nA7h*:q}pVI58vD5%IJe%3*7_Jq){>n^x`%avP-{8 1RRIz z%%:F#[zDl6Z$t!pC:ZN̵<߱QђeDKE-D[zh7M,R#~><dbg(fcq(lir ,v0N#9yqxAKT_^# 8԰t`2e*RAb.n']Mr]M>}1,﹒vQEf t3AǨpz} M/K,W>/8"iWLq-+/_L oڻ!jS9 T_k=ӊ4$Ȋyng ZF>t}e$m,MXۘ:<%Zi塹H>2w!FF nѸ~C8˴{n>4G49wW]՟Oh?ŵwNTκ'fb}5\X~O:p W>89ww?_i,3/^0H&bFh~喘Jx&o{ç0 ɤ 8CleR_:[6=#=`bpNu}Oit'؎)I<9SdEkLJvdEZLtUT i@.+/[NO'JUwXT5hJ[Ͳ~'?>=VR>S Ci稾ϡyEF4q O#E5֛t}B9LgL#.PUVL+8`)?!uP*zi$x0<'F.^[o"gLzXyhgT>AII (t|ڭ FՖ}EI F\IXL߾ncIdXI"d]q9͛ |N`[?W-pa/:'Kһ>RX I '* {x1EG/@tU(+ >^bs?q%p1Wܾ{ig<#dݛN uZP Yڎ6+^u):BDj\)f{բjXJXcAtt,V\WX}^>:Сz1fLSʜ3[hq{X 9eYgfYn|t ^H/n_Ç|"AZy P6Q_w ~h D31DNHЫ[L }{}QBEoB4'm|P2Fmb%PgipEek;/|kMc6,Ԛ":7Gğp.N7Gtm]2?іj·?M^J&U%Bfj@0>1" ^MC9D.PT PjE"Cmz^5WF ޙK ?x+b|qq '4PJ&i~Z3ʃ/3k'5rԜG>64[W?HW YyE4!vzTRG-D '2ṊnkwV}\s/NTϵ\oX3~W,؊u&sLh«5:T z KtZ6,[yQxWT!aaa9 8Y𳍙 7\1.AE%f._hL]pYcV4$UZETxV3ѿABFΤ:-:J(pFԱ<5tUF׸3!stg#zoE.h{IHDS/x$J?^"khWfeBV M|;Jp:6bԤ> =m !a)gOU7lKC=veﱾXq_/u|^;mсm=]7ƢYbm5̭x> E:H])@2V'kZHX J܍exB(Q0ˌa sQ%hv mә+6wS T|5(A~:'w& pK*'l"w-fUv4-]]zZ \]ZJޟ*o;?׏B-ؗl.O8G?2rO_a&9?ҼQsҩjnaT'S hXqK"-OJ5xҚ؄Ggi6AH=&ub_0[ >PEp (n2yg&XiXh\d W 7ΖmJ7ix=@ >x`#8psb,7EQ9ژSd}Œ'_r}&k0$|[٘q Eu#8QgR_^r>FB;hmĸ(94gbTb^,z}+^-\n}5@[~ T_ZBǙ*Q1w10c=- ;V jg;_eQ KMh(R[i Z<xdXS=͠\ZC hYՌbPGzc e3VrzUs.b(2p}~ v&1fS\K;kgt,7NOLM ]gn#z0!](^VLFe)xQdgrTI4ww%"'Vt]Z “!_ad3D"VH\pk]/K "GZ(L&(QAs=mz(kYȶDkY7eop஁D`fLTu_q]τO:]D{a~ fbH"}Azp"mnۢ4Y  5j 'L8U}t3(FP1""# Eɓp7 &jÁj[X@s8bUJVŻDw b |Zq,g6Y7Cjk7qh=6j>:~{qG8щ9YPrevЎ=9ŐÎ*/%A9=:lQ*K]S}eQY)6 ,9e7DFqImZbN9g5jsݱߌU[ENaF- %&Զ|Q\ wRê>')?k;\#Gh(&!ySܛuu٣HN$F}*B0  Bv.-("ǥ_h,oK9_=S+tw RV]7˭(<GtrB[O+Mo6rfn̔iw !+Z MPCu9ryW-"'$Rʲ~tL2V‡T]ERoIb7HP2*ӷ\(c<51=jsgRr34'zI_xMgu}nsC"vzxIxTh]7~5GIWy{3/)o9wՠlbsyzEIܨM@VĆ6jn@K7.bexIJݠdh3Ƿ 8#ΰ+Y[5Y;E(8`Rܟ½뽝s*9GlM0 #c ɃtE\Jrp J=-X`]gy",6_0kAeCCܦE(ej[G#ƨTœiWݸ}-] L6q < ,gݜm:9Si6ڍj.Xhop}4M_dUvƿ ~BUIڋI{)w@p?l;E:r$*2k{El@m5͊>F;)p@4ݖ}ٚwW:hZV'oc!18HjBӪ-,Y؏DLjJkʶ2([H\jh  =ڣ giMAGO ,"J,vwГÃɫ\si7{E]= }*jXhj_S"mVJz. r>+C1of|,.6E気oi YA~"SjH5dem%dcpۥˁP#hW_5^#X^(ou_owO=ҐQv N>b-9j%Nu3|^S?L+l_SS7tO1u~W" e#`£ M' : 7xJ$(xП,Yhdt3X*؅aS=ÅQd-IKTHĊZ\DK 6JTo̜uA s(/֊-┘$O/5].l\]~ 0$S&>SFqrђA#Fv763_㥠 +^b`@6տ_LW֑'&̞nfpB MSN!l9] |pZŲbOO-dO3mx?7{`]r f/*6Uw({\:AiGHB giFYJ h"h仇5C fܒcxD{9s'vܢSAy7TUbX-R %=U||6-0#_V^D]Lo"~Ѱ`Mů{⪗/=N:缧0P)JkZ6/%RvW҈{Ҕۊ5NM1Зf^w.O^TlC8SO󚴃>s!/ٷ] s- \(;1q2$Oձ)s"Boi3| bY,ĉ C`USMZ[%G@X(5ګ[čMoV7:.;,wl*YWG_rQ/J ]. nypمV{ ILS,V `);hi/4B;>,.`G-UV#JzR[:<}),$wXB1%+zչwKx\~h>?:f'ԯ |]%?`; B i_ 0*MPI<4X>5Qh&T}mWThI+*;D_s)NaE99iĄ;b:]H/hoR_ ꬃA* b-GoA R74pE$Dr?@BO0)B( \Xu+sӘ=q }n( $[F{i T( _`3B3X3,aU4t3">Ůw+PoCfdp΅:Dw+]@eƏ_#?ž8 1>ns|+{PnGCwE2\\FJEa0@c'} u ǀJ*& xR AGE K #DXh:"Hl6]3݂\=`AAU YwMKUg9O*o SIO6 Ns}n#sTZ(4ql՛*—c=cMetqf.]v+qY.<>3yN!$I,5R9$]艟yďdyʤwhPRI fzEI-=#JQ?a&&r0ڼԊ#:eje|rzB*'Pkkˎ藝I(S] ٵ:ֈ ƵGt @5G:=]/ JLl r6t$Z>7k{~wr!be 9Y pWGzL4\؊=A%Ai) UࡰT(r͓F&$a]$)*5"U@"͖ $q +J΅ &vew*9 ڝ]uֳcAOswx7#uylӦ~WsE{gƛzc}]];"bLϤ8ܩ'+[sr(u}'YηޠnΏ >\(+^sdtP7y} 8 Xq".Xv _!>ߖɛq"];{QDϗ6L6owCs ]<] n#Z}t=fX~$V͕6\25+&$s;Y=B@5[x:͙-,s) LZ5bR1R0* wk,oiw[Xv]9Ӗ}MFO~ͤFLSs0<6"w *`x\9Pb"V&DLx _fU;S^M{]F/%ZW+r}rkR_tmx[G>]cDxȎC ͽFzE.e^:aG ^xT  w( Z:N >@xXl<?|Ծfn]W/gp5&\}tS{=5'%rB/s|)T9npN;6n"ip+$v z#>צT@j`k]['U*[xXAʓT ql6|1f4 p9NfWwGw{ߝE7S_L y`Tf%GA⑵RgM5`ϲQg=I}2X;a-M]n!~l0,[12zqgva/ecPvxՈ5`=&7(% igbTPd"G -|?d@>H&~"_˟-uV~F;ją`[ 9S5`琳 X~ܽi5&`.1f"pdI^t%,|9ۮųaJK'#17+,Y^`G+SBЙvs})k$ pD &xJr񷫺9*oĻoV^4cçaƾi9K3.hh΀C㧀.sfӛԀP 'a(|-M*[ՍI l2waSX.2|W2wϑ{{3]㓩DNyI|^TU \/ۮkÕ9}.(G > h?\B>h iU@cT]Ip(1RiY`:AtyS4*#' -i~N@vL5(.XYbN걬.33H $YzL11xP?|^IUDL~:ng}-$rA i7YZ M(#<Ѫ*Q@M6-Xn@HN61T,|@a(Sh~2b!7Yl%y⎏!J6Y7?a"Od7!oI[$N %FT wn˂z_ꪀ{QB ԛڊrI+IxO7,M<,#3A+rCEEq|zec G3K,p%}%YUKTqd._eYC9 1:zPC.\;GܘseuŘlE (L-IJFBtzԟE.aq }ꕧār_TsBJ8Θ]t[ 7dO]u[{Hhne]vAD&O /slFyߵ3SUbB@n%gxCbqxi W)O5P>3yLK n?x拦;^`coUS,oPd9Pj%n$)J\[ݶc.0S+UQiJI> /92,ACRܑCwJ? 6TvX+I &f1E$xFJ,rq`S=MJCJqOr ebm}Sop" "C !z֋>uHAi*"I8t+z&Dd ks(QCE^X*zZxJ[@^Ȗ+2v*iR{{aIz(!uBFxy=Kmw?'C\,c#B$Z8Z?mfVSj3ٶɼ$B0o*6^JD\] Զ GLX9HD\pN9&$J4q{m %z;mGFw]0&gMjM6n<+ C@Egȶ%Hk=e{G5V9VH(9Q@h~9q~Lj ̼1xŽme ~K{rM1 =U9<}TU?꧇v }*t6Lnu3 U'q2) &jQ4.A,&YbXm|Ĵ1"CC{~i!Ώ|O9 \fq\nPJ--e ='[̊Atlppp(>57:Eqok*zE=ȎW<ؕzkv } >"ѱ:>D30j=-X#xT٣9"(' D=_-r_E+풵Mh.((bב#{OUA;mcȁ<"ߵo fnܰ ХC/?G弊|t{!iF.5s6lF`wρtĶcy<&&/-dt6@|Xj'@A΍[K}G6K}?߾u뮻q۷ݭEHJ{/{Ji&5a$$M~?X9w20_caVa$YĘ)Xh @Ή(0܀e\ {;XQtqswgY;06?s9}84 v]{)u%+|+f+.hp? g/ xծDRE<أA3=?^X(VߵXYqʬd*-6hߖaVb+Jmp3YMDd5 upYc[ 8 Eo$}XEl W|P\, .= |[b 8xioҊi;AY-׊g :in nnGuC^#اRީA3#Rϵpxt)N\t-N"܍6kbU]TVT.$\뀤4:AϝwrY3w_3faD$QI^Hyqk~bky4VtJi+]"=[sf+9j,]zJCDmFD+/0tAyT">ZБk78$f,$ǎ2s($/"eAfY<$n#C#)G&lTEEe^"F禽0ߒ[Qsm]m먛+j7+D5sÿ+H.,{Vwm]}Wh~o^Vp;:.; FH*@D! {բ&ZF,q~dzQk=1qP]"ޒA8q(d $aƘ?_Z^j"RVn(-b x/o'5A_MO{ebORu}T,#(=m{m/I%R*E!%~Z>=TvxMㅔ"I&k Z%mu`YhFCH5FV`oGS)0C j'ZKz&K%q 4L@$Q7KV"v=EKSwcFRf4~}9BXy-| +Wgh2JإR7r/.*7D˃AKb}TS1bs?/Jv-F'TblٝĻ⎤;K$bw$? kñrP^n'g#v˳xx y0!(< kU Sn).lU5X`T{y_~jK|3`.fn5\:ܑ{J5jhVkCM؍ʀ̎F}ྂP;uYAɨvhO;u9RGGut*]$iE]٨/O@xz%b/\mFe[IvT@ ƵT+@P&رazcr6"ĚX~EG\{ODIYXTSŅW'XI4nJѻ\tO #ܥE˿}Kh Mz.bxeBX\=? gJh7 |& [p 2GEZr_7m_W;:x;5X9ʭ$]4$K,׼"Q^F$p>|h?vɸ  R<7%0$ $V~55YY~6)Z>^9W/9%P-:$O8Al*^Ӻf(YS.Y^ڬ'&Nt/Mc'|>\U_vč& DXn[w{.9 7|V?2;c/¹6_u/W -> +(ܺboY7B]wHR&/].|Hk"?n ge; >wͩ3ؾ_!XU')w{]XECxsb94<ҝDh HK {"aeRKKŨhKT&#·ňap9 dX$| %¯1ږo~ռ7H&^+V'}.Rg!d` /s¯0WJ&<)C(Oryx驓q'scUٝh=cְX])GG^ObH7ITsgpL32w1%a%)hG?W#PJ\pF%̓DnVXh |s8VRhQFU\&/ܲqn3HZP~T]7KmduO7 Hbv-[o=T;^,[1= sBQMxæPXquCC.#8_-aЏh$#lA~5Tk 'AL1gG/R0>)SD j>Tߗd4ԫEdxP$G==kb^ǼySY毙.b6Kg?ܗVcŷ9IB119Uf!!< B6׿Rap*J,'en<DZ/;xm`[<Tubq{e, ^ݑF-[5Óōr_OSj4?")Mq8:~8ܫ]1GM@5c_: D`;*Oݲ(pT \VMKy^'9u8ŽD&/ȫ@Щr[o8]Us+cp^}쁇[G KR;?-LCrݤT Qܭ\'= '鏠Fy::~$8cyЕm o~f&] aAFVU@&+ԸN08b"N]xl)l1[`f~zzǶmǾ%nnLs[9?BK!=JF3q{u͸WẆHiѣT.1xljUK@c5 ҌfFaʊLJ Ml<}Ndz ,%mtˠ 6kaaHsK?[ur iPoN WRB:|wfz!ԶT\ ry۠'\n˒k7DL4w6M׭#Z7t1;W013d,2ѧ 3..ZUlH5/ Q@Y-oav' )Nzg,$1Uݦ"]rTN dL7p␢T9^A$5MFUL;яi,>Bǎ#y4na: Xſ%%h!*k*RvY$ѐXQ4u8JB&m5r]^|c?Us7с~ g,w^l+G)ZձA{[vζԱa"lI(׃v/vs+~b]79kw\gKdް@$J3U+aɶBd5@ _= N$Sܒ=N-YF |%їSMx|0sH]i‰HݭwGOw'ɖ"~q2]6{4C_j`ohDqF/~xw$z GR%+{(:nb|KO3h-;_.jzK5`. T9+וbʂR ˋXC\8'Ņ2=\0剆moiG\֏\5؋7$ HU _ _܉cʵZ@Z?Dk_5kxExKւ.# Gx<Ʃ1Vۏ(Cyb/ᓼBOϧotoY9;oSfK-hz@\֏Kfg[9qg`]om`on|J'Pe  5!' 6I 0ƨb =WNd#nfxORF. {gvcߑ-گr\-߲4lv7q@P*hmAg?ru}@Ki׀0Z6SXMU)|}`+>}ljwcID*33 +a͉N4&^#7-!@$q]Q`:(mAqW( ݤ,b 1 th#Coc"ec57CF*$Iؑ5R@kJ` ~;Zxh<&\"aJ]wl'.҉vƋ݂T/LtZTxf;U:20fwd^<b7.hEUϏ𞂖U*)SE'Dzq_vbTDTrΪ&S q^\S:c,Yf duu ߮(~%mz%᯷nq;z*@`ݱt u)gX c,#s $pǭyl A fm?@-~Tl@d&Ge &-C^@(7U/(zq#\!.lL8ĈJuBB,/o uGJdiMwT˨ c!ף* E4*&lm,m.Jqѥrnv@eeV?G0]JK Qq4X柉|x }^RL !9+-NGXl8kf%3O)B?J0*Olu1iG- ݎ,jH!CyOޓCPСd^̒-Nt?o,РTdr AEÑWm.iK ˴bO`˜ֺ +.žͯ䷮nۃF6rȟDvtaQzfm贮w{iGDV#c̘\EܼaځD]d?FsӔn;B~iU{[LwdlW3nΌnUёg2L,X1.s{NI HDs]Yw'Zg܀iIX$Q:hX `b ڛ$E#R4{|V!Y[\sO¥Իʲ xo8{3`zp%,}Yx^^r\cNy*tz߸#krYKp@a;SSd$fz<ِ(<(0+!w|Υ^?vnCY;:k>sw@@Zy㗸ι13nlsC,Qv2 CzK8"żv#Kvq\>UcQI:.@-Rd56C#u UJG1U> }1{׋{I8-)ID$՚.o1Z=G800?8*( TĽYÜJzKbXQxFwd$炷`rwxOM8 ؿ-)9v x{Pٲ#H,S C1_V1n5y {SZko~<=h{om;#a (x(sZbMc$/뫯^WIvu$[Iو+_M`uco$|t7n/]|A6tLjC:5Pwm kI4k$J"Jڪt"M5|OH  |@!񨈏ǻ?}&~,$t\K[,Hֿ /Qn`{@::SRgT7/ѵtk[vhlݣ!L[컶/)o浰u F[q gxp6/w"s!*%gHf!(B^ώה=j h$AEoŽO`Q1oړP]n;.ي.3]}tr52ΌY.ҠGrJC70Uu&%D(|s'0s.sUJi:r8,M'D~IǮqSq|^b-8'hm+Ra$K)Fg!@k8O4Kl>;oWsr@0[+ii2j*w 9y--HUV !:G5K)]wS*P-qYS@We{Ck]0n[ΖClP[We}/ċ^O+*ݟ\mu:vRs]_$[_Z[ko%+ʵ(;Evi~BDEgUh沗 ӀM6ϛ٬4EA!+P|TH7<$zE y=&Sl5LCp`U,H?oOQ`P2>@xi&ɲ?rϏCCϫY=^ 9WPӽb}WCvBk="f;j7 =/1^5ιiqT<020~+c*ۅg:}P0¥: NΠ7^1\Gy$cxR/y H_@l̒?RKdPkduj$Ti{)﫫kk觰Qm=GvDx*c6A$i͉dlu26v!mblG*諸e&W  `MLA3ZQfY`7=f(z/jS5^_/ؿa9T>!oHךk~Kq̏{/ fL7\\olrܴsGGU1È\PcQejχ3agəR*`0g)q|cZ6CxZI-ym0謧cZC"ʡVyFkֲ{na"[EW5Y01'E虔3u;k7<23@Ցtw<)GVv1"a2(~=X>5$1aɁ^% 乯IC)")BI@]]V)@@J_M{;<{D -zaY/H iם1&A*%i: FI}]=*APMtWӮ6wx(}_}1.xȓKܯr(^ieFiJa^żd넲D#Y0jt/rODh,\"jIiADxi0pqE1 YCBsjHCF4`}%aK)f|*DD(1'2p(BF =|q"x}%Odx"0B8'ٴK +8yP z N&$-&!{j~ekkSna\6׻:QAn0enfF-iY;2RѴ) O& VQIMYEw?Jg$_2ܷN,$#nCGt6uk +EDIڽP/^FOlcu)0c5DpYT1 ww2P$ mԩ'w2lyzݷd@'$T~px(U<8)/^AуN]34kT!YNjz0_Lol9/%8ai$g /; y>nɃTc3&{^V"`mj9&|~2/}|XXNe{%QY*2+x_^3,YTɺ@r<.Lc""*3{.{ <]jHd~.sBi5;ӹH]1!Uճl=SOo;h pDWo1^jn)RRWG݁)o4k:ذfʼkn9ӋswV6uq~uv1 ^ QEU弜_=P?ʍ7"C}+Y˩C$ zfUW~P^g7Y_z/?5b>&@/j@ 3BP  Aq x-B9B2a3zI$xeU-irCbO/G"ø٭FiF#h>GnE{({!F 8Ek+8=\:JsI\ 4=HpT  x^1A?y%zeAt%n]'22+H: }pɓ|E.'?'l/ z0#uuygw->m=ŭێfkk n-BR4] ܆CkѨv^[휸5wNI/twny%&!n/⹬(ĥśC5 xq &ѓxk=^^_PXnrA <(V"wA{z`* qud4u ۥ|؍敯eKN0ۼsFgmq{VyON,be &G!TET`u`EMrYL=6]Nlm~&"!:M vbS{n%-l;_ߑfMv0س]ʖv`W嶶f[5@77Wc;O .Y|<n6$٫Lys5  cWA`R: E!aG6yj>b1(W2YGV-3&lj+ViBYV<;ۮtjJ0T=qP6n"u'IC^Ij[%DQ(Em.L;?Rx_@\ZZ*w9vuS)j)zmmljru?h+92"*šSr)mcwр ~N&(GTH͒ %`|x+bD6!qN"7OE4Mpof@FpO@6 V.k#7b+t?XJ%kUUTw⎱R6+)f\!IX1-#;X S\I:VL7~*ajʰఁ(\6SidV^{jXl1 G{Dz=a[,V e{74UnXhzݥ:CUdl#[˞ڲsȮ1 P]#[XWq !!c>H{mEj3@JzwþetNVkY]?)B) zkݳv"P3uԤ]Xz<;aBN7^ej1SQSjO,ix1Is'ˏ/HyzE/E(ɱox~+Y]8 C&|,Dq_veãԆ7렝?]l{]~oWtޅK7m[tEG^[ϾЀPΘ9s'ki3dW)2n H.H&(h|c5ի5Bƀ^J~ syDnP<_`謜?~$!X0UTAѸī2bt~t~IfZ8UVVx1 Me^Q}zXL+z%^P%%ZZȱ!^=8d*4/lh:ޗdY-(*nG3BgMwsbtyߗ.B9>R!"^4YSdA$= s'sl&E$RVEŤ%3i(I~DVJmKQy!]ږc$㠞Sq4Vj8,*ȫ,S cfp[$m5lkܲ0}jZeVڨl4qqȁZ7Ɗg& uen6hOe'ޙ RO w2n&B",b4?x?Օ!/Nh{y Mkpn2:]xx@=,623<o(e2ĉdL˭v Ğd7zqa2G:ҔAffZ:ZF钜K קI4 <5ZPW~#xވǮ*QE+)A-S|Acԯy8$|<7017zQEkc_أx7h-$yiH+4u5Il: g?%*W(ùd&_J*J}Kd+0^(}w|(b̓=Gp@#6M(>w8TV^5RճL%{R)GD}ۡVya,^) {eoh~&ʽqwq3OhZrW|ՄY>$R NFrdC2DƖǗޜ,RMfG1555>EDnjNڟ^#hLI f:_qI!& ,bC!/)!镏O]@)rQPu=)GEvXk}'S$ $%\G.\"s1NI$N$J9'~7W %^F+bW z4cC{Equ1J AT7\o:6ѳ̹t8<U¡]W3ǦvB^5ZjKĆl 5LN)td cōE1+*׆O܈o`\஋\cjSI5Y7x7D>jbNѼA)=MmžMEN,K>^1DzS}xnKbh;>znѕp=v #w-uv$*ߑʠ3)d.aqa*W3"h= Wc#,HuoI-jC>Rb`\Ü>gkJԜ5^xK 40/L-0oe9ߟ SbqPk ~5L^ o/ӯk3h03_']cKǡWQ#.xT1bAUY&m_>0{,W>=1N(ӥ#֤J*gTkC7wl2.#DtϤ6MQZ{Eq:2D20ߕ?9!Myv{WA$3˽K4s͸z5pJʹ.M}q.TQE@*%)4LS dmRku#>o7Z礐$85lšԖ?[J)" ?*jo=!}|y ,._򫡸,j<:|h8i ///?DRe}[B?-rM=YQʊ'䠀$L $hۺ++x՗Aj !J,Ab O[ %8=ׁ=+m/[,kýh&#&{[L V-в7f { xbd" %[ևċݪ ޱi_f,*F#)#W6~U_=tG ;.?]~EtUS)\clɤ=u*SM} 1;UZ=2-D>.~***Ԥnr88~H;w"\ʻz)t~a/t:UEb|vmWM;cZ6zXI 5V>:&{ryJ,hEѥm*})4N"Ek+>t04+ (Z|Eu0}Hɫ< SHyɟbKjjp6ч73ZzzGJ!_EQWVpIE&WV_Wu(skivvy/%~L˿oF(:[EۢKl9[b;N.p|EQ3N^<3UPI4J(yBC 1b'$16!fŽޏ.n8d@X u> !7%Nd)#0鸬 {3C|GxK<+pƏxG<{?bb8@/㲏kxn D Ǟ,_e.*`Y~'k!O 1`/k;1w1!04UQ2k8U'Z nF?a_O$^ƭ$/DdQ`tG 9{= >T=w7ȥ`¸fr|(,b y_tZ7_W/:+605<55@8Z8wZiG!}gY8/G%w6*a5vuC̻'O0H52]ErÉ։Tm nKϹ?WmtSNxI!Ac&ŴCZ'kk+č~zhksĂIO+p7:ba H( G<pF mEjBVGq"z=%En|[eӷ]¼)U C7E)AR'U|:q5Mhev6r߾nT_cƜ I,ۤ)x>ՋkPJDrU5`0"h@DtK G]K$G6|RޭHB/m9MFIDl2T!_>+`ǻJ"1iwvZjjo Wu#ʁ7fp[eiG[T[脿R]njOua#ӱ T1}Ӟ"5pWԁiv{O7qEW'?<<./(d7ΰ8_[<޵̶2$[i ;iЋ7;m`œcBƴ M~ЇyA{fzL`S W3PKUhnzkq=$ta\wvIc ooзFP]3 ?>_s<&:N(I_ŸjUwEǬߨӡ=m퀮Vȁ!lȒ9j"^y}#H GDTj@lPbɅN(9.̹kHYKx]ˤPf J_;driY4)=@e28DyIʹޢ9Y@003o.$*$#VNnL&T%\%hn5%ơ[@%;H6`~X*!ez F]9;I}v dAiz,c <* j՛+ 'Fi s,'JҌ;$ED?Z"yhl0Y)o,EQ+ mǟS/08~b5Fn WD+y#|s$m{Rq;kWMYeI :ph ^y`6C? $/cAOo~w̩z>W0$I"rB9֣RNtcz2Kd(,Z sZe&kdh%QDqM$*Ԙ;XY^WjTMY֗OگgԾ#= ˮGMMAn2_} S]`QOo'8^ƻ¡.(i?A`aFܶEm>_7^vS`߿u_S`Z FGM%0Q,5JdL5ƍ4l)t(RDf>H6LH@J/H䑁L0n75)$ډBk}Z^̾^R"ޒP<1YV."p G7[ 8{MilzqoLϼyc y~YʏR-Fb'E =6ovL%VaڒN]#JMw.*ْ`<< Y|SGqێq_^s~ÑݕNѽj"3+`;z&q$j*ǹuG3 _?w :f̯3oc]&9dgqepsHtϻ]CD} نe5!KEp|`Yѯw>WBT`'TUB jm9Py>\»iWo]~B vO}Y#Bd8ߡ6*߃g[ SskTN!1=x7Sx4|>\:<ۉ6;J^[cHrcx;=Twvs's9stGFSħT[I{}U{IxE 闯P% =A_boHw/r'V } TnX|r"=th@,}B+樴z3;U9<(?I²2}3eiczJrq.b#L䨈<ǘ:33x Xa:_}Q@$HjH*Z_wX] |!_i[[Wx(t6 vk?~gT,-+kOd0OFjN=wQbM*JHj3hhm*lk"=w\ޭ֬(^2Y&z&ðvT(ϒrZ: UPr =zY"B/̕gwKIk  \tX:%ZG9`J&q^{d<"/sv5¼y !MN=mX`N$ ()xSKepW-(^4BdwKcE V3vqi_g xS AEkѴtJ\:2@tJ؟B? @8(sDp MqHaYH#IX*7 þ'lmww&zS%5T~ve;,*0 e?).V$ 8`(v h^gY? Y39/kk˾lܘC2j=ݍ) z8!0;ڝ)( 7[k#(:mo찟ٮѿ}7P*p0| )kYΰt[4=ɽݮꉵ#E(4UAHYlGWT5xHĔHby9!:um,tfoW|s:{gg0upQӿ{tp5A~3C>5餮Dx vomѣ4aB;xI)FMb&Dp:Z /_B+!: ^JWڠI[ >#z1U_ ྀ@Cp1Ysf7H$Dl?Y bSIbt?$z'O<$.a^MVjl|eT0x3ޕ8i"k/X$#㢇/yq<#EGT2"xU$ǽ%IzL$"A28n)i(aH/xȱ0vJyMjr^~}Uf ~tGyp\]>¾qUju3qNcӯUBV A{わ5Qbwq_vQXTe%=S$4㔛Bf="⓲WL ~ ǹ9o[?#:"2m~@==`k 5 /56/6%,T pM'(.>4XrtbݺEn~K}p2o[O}nf2~2gsqնxw1AH•j̝GBo79 dԜD!$VqzhSpp`Gо0{"r7ACxge!#R GQѷNh݄o W/UxtV`BVIF#cɢKx-⣫m젋 A,+!&NufB}%foQi&.l̓ VKef , 3W255pqr;:{n0*%oQQ0o&Bb- ,IpV" :LCas俓-2e%C!I3ũSS'}K>Lb^](~ f(D̗0Q @"1ဆizՐOF!ь>j2To\)GS.Mпkus4[)YfP-8crSP.Sl:u0Da@"-kꠥ)J\7!h`N ٙ\ X`4L6|{YBܢbHe63Ripu7hQi`O,h>_>tM8>q79.!R0p7x`tL*=qQ~Kp"C0qiE7O[xmޏ(&;x &:yَ^':A&=@  q|7؟s򫴴}tlP4G&]{ac5 Y#&UZlr3VT_dGWaHo:;1u!DX!("6qf đRBBJ Ѯ1<'ecw(}lhǼ>?cIâzEq^Q kݦDClaMl(Gk>|ȇ)4^«9J ~+q*>Uq4zïR ~#{D'"<_Q2K{ljۓj E1 { 4錃60K+u^8 cV&}%ĔQi_2% 7Os_&IAzit}{Ѯ(݇߃*HЇMk2~&0!|it𛨿K uh |:5M&E%t`F8;ZH둁ٜ7b9]J p"4x!7;@BT$*5׋+BlrXdnp9!{U4M+_ad9f|3 ߃dLc^Yd? "?{GW!=VjeϞ1@\j ۇNqlыv,?}>X1'D$M[߸$CDPpzoFZ![pPUf* ! L꬧m mqI~Fk9AjG f+BkEJ؆|;$vIoX&٨w (B hL}c:2OvEn58ymmU=F&jOT`z`\o !,H]$fmfKhCȓ>۴^d9nz J0GSYPWvJ,b++rwf+m-nq/cTƲCz8Wc%GvO3~נE&%}w sV^۔E=Y@sv wqa=4$Ҭ鏖ȕG/Axc HEWv() JiMqئ{E! QÈ uRA!)Gb#3F2k#7MjĔoZߠh9oiq -i$J0iA`6?wOTWc"I9]<$\Dn$Ι Pk8>D[ $,ګmzRs$ALmث@r^bV$\<1ALUIg"ec(WcnOOHrAwvzU*<ڢK[m@6c#ԦSe7{Q4VW&8{wP[K{jo f<{"8@a>'>wq$e٩l%3,Mņi.K`QEWR&N)tӫ"eUzqzPW<h4p֨4퇿&H!to}pb%3QuSFk:N^//I#nYBD؉}>qc1 \}Co WG@BF=w&?|RvWW?gn딴I$V$!t 9n]7sb]FMS܀uz< LUP/ %xf芄hI➥.)}ҼT4jozR^໕?Q(4$׾8G-/h-,_?}l(J!(59 & ЫD&pc}*+wt \y>H -6 ?[~tRԽ5 M9['3m.t)&г^֟ :HJdd* $.̳ *JR߱|_0JH] DUi}`N :WCgMיV&hUzZ9*ЀV_>𬮳$O^Ï봧R!Ͱ7M8 3k N`7|IW-mu~Oz^_8Ob?ZM>5qp<_ǧlŇ ?uRut9nUs7}W85  PuKLyJ|1HJ!^D\b=_O] q?D 3 j%#^A P Vf7a߾n_ˇü=bY'-f%y1ȡnGYҏTK4L\Zqo5 ˞q@cc}W/8^ufFoJJ X`A.S1T2hJ?:f׿3jZSܪBI|W -2^0ߟYh=+x i2\G x !f`2aR8qy7FLd>E }>G_*;:/s< AEs@(. D V΄-c C( =Yx!xlo^0e{JA^sƒ$[D$\P޺u{֑e7=Ujcu[w*?y=TgHnT"xGZܪ3E*C6GmֵmqG4 a?SD$@?% TdظkQ_-<ݓ+Qn.gML{D/[*^3]B&w*@+@Sz4ѹo"-N̴[/Q&ރ"]D-HTd'b=wXOib^\ZW;++oN1m>;S6-O lͿ ~4ȜwۡN.٩P& ;]._~ L諘΀tR$:!īQTDĞDx0/^\ !^g=H~uCW:˲}@2)muëGv'Ḓ/P FM1eq xt^T,iCʘh9uWd^6e"Jc ͸ti2e ^*4 9wt1pT l9?  JR_bIAAھZ<93󞞙;~t%Y,KBkkDZ9Bd 6 > .n/ 'a&]ĆpW%cr===5U㯿B|6%Yú&G[Ŋ[t[74s Vt"a4{#ݵ^!bD5p1]KWJU2tC&ݽKԭP51K,יr\11xt$jԢfYy%傘uYTMY'kJ#.{_eQ5hqt~7d`rq!'Kzދ:ZSgE f}639c3b-Z*۲.LcbI^%|^I;iY9_KƊ(U3JLMnB)UT%Q51:f.PQ {"G3[t]J4I/&~pM]jnd\M=gf.]_ׅ)a/iG1t-˜F$Q\s -/6UiIH;3JU4EUV'CuXRM&'Ok̙v>;wdF[5U-DL q' N:WW~UܗWKȲ Q0aMqj(eQs<hdb2h@ӤKrR$i3qÈwWe/Ǜq]Pt.pB8Fb29cHJDpkG ְJ# =665Jod(g6 X񰅽"5 dlH^Ѳq\C2S@UАPL>H9eq괢ttUl|7(-ie$Sa"~fDIKr`8J/8O-=|휰$ Hm dSaOGiP{t `C߉\nu6󌷻{cY{*pyrغ/jJw*oLk {mcE /Ҷpp/ɞ~IE ]Tk>Ratb+.Z'$4 I9\r~TI=|3uf67ʦO&jE|ĉ*'km?z-t+RZTkaz 40iF^G& ^JK1y##%ة{r˚4m\ێv҉Fo2U}??8B"_J}n/~ fz[miWJtm _U>M!A͸ȝ-'DֲaIQ)рOFwxt oUK~+|#6Vc-?5qؖF>a x1WoSL 'OreHGhQ D?c$F?O/z bb3y.ܟL7?]ȍ`zR -ꮧ.t)I,ޱ.tF7Zl_"#峔˷-/nyH(U\=jjEhY :~wت)-_ o}59/SLQo5Í61:CgGǷΨ5uB1N!wa WCֈJD!HZ$;3t' +C!w1p{K5\$Uyd烥2C G϶FپǿYY*/mݡV9|"&Wq Ŗm>e0iŝi3/O/KX4pxzݴ0xJ@;/~b1)`H(=bp"&P= ߢErfqшymٵX–3X^EL7ܔqp5w8q}rȨ\ukoVv,JR^)ϵK][z3ߦnM~0}J@P$Do~!a*`Up:@ =XdńGk*֭bgBx}M([γE~<0 l} Eo*`Cl^xEdn_?ot ;#DbzyXG$_iۥ2]hɅ9W|W$x965~`_Q|zJ2Ya./y g%]_ҥgEYI^V~8 l9w A˃9gl=)!%č#SlQa*y ^Y=T<@zҕq˙QF㩔) %bv6IhTv1]ѳIM&RRֈ!$OfC:b 4[ 솢t\?yسzR.oDP7,+[} s,:;,'~[6؅A*j^FՄ{}B"N4VtC3j5}^p=Ib 2ݠ? t(̙T!98=n;P6( [,jJekXvR l w'$څvGţmn>>4cyMKnvoJ~VIe0`dƟɗ?Y~gDa 4U-;X60=:+< mf>zLZ7Ʒ3Xg9Wԃ ?l`MU66D0U8~~KLoMODuB*f y3Jŧ"ѐ$Z<ވD詄BaT|1qop np !NH4oqMwp7QO#CLC#u'{J=%- Z/_$kf eA6߄l使? H3I;G YF'ez)6@)EG%t=jH2- dJL &qH .F,U=5%5l.&TKo:i%*a\):sRFU ThNrMSd C~/S_X"z"4T ]EK lml&ݥw#DUe "BP./Tmq$YK#jP|dnmlpڨ Ɠlrs MKy{~q8Xwe`秊"ثfqu,Zޟ"R tѳ{VN:1qd6,YfPP.C#*Ցl2r >$ t!(}Kj!U+!x<\d& lUz!KE@7%K/B).N@ C Ȧv_9MT'󲶥YmkVm.<+sފExVCZhuKmfgXQiV'NQvF_xnd[(Gr_|o+lwDN&eRu[*g\/}; Ɯ|vl\H~W 3.SE-#*]y圱>fBQ8uy;Dv9 {:zQ)J*SgKqŘ1eVOo.etm; 7>/<)U%KNK--IST%JΖ Q1'c(fC-;jUkX`oǚ%i~wbբ٪tvht>q[23iݯ+'-;V% 3Z:} KS.33^ ӓnJ# +6Kz$7L)I27BI'%l!¡+%70p6iZd%81<(KRX̡/1N}AX/5˵r ѡؐcREdžOdb=oћ/ .rm ' + ° 0:Ί6.,4u6^y11δӓ'9O MȹO{cŜ-KNo6Rq?b&XEU8v8/oۋx߇LVQze< VG$Spj? jٙ, y]lPw]-5,zCP9p;K2W_s*7dM+Xf 0_a:~?j Vϴ޸DNTbMҹ]q 5-1<]iP4^ Ӕ&:qhya(> `(\,}%+p8 v|YwIapv_NwP]/*ƺ bz;3 O\UugVoٗQFWaJQ]WY)q¸_E'_ >e[_ˡ/D=VedIwNȪ8G1nӃ)t#tS4ff3`{w|a;m`dpڤM] f<՟ b":S~.a3w}mt,oY@ 3shrؖFt9y9]'1]eoqN8-w…3KӽYGqBP\g'pY`\\AI[˜҃?(ϭth\{x,<RmH556Zu~ [`Zcz'<}#U ya4Gk>\}#k>m3.]M893lpAh7<||>$[JKtGώaet?w#9@q>Y%[n6y{~lz }&1*:5^*p;!sY*1M#Q,leo'ؾnVf3'6n[1NvQMӶ#2Gk z2d.^܆:1Tf}#[˷)d/JXű;*-(Dһor24\Jg& 4Y^ҬyD8ReMr _YYmۓSRd'nXWI`tҢl46953ߪ!I fx7-HR| =d$ != sLy` %^JAn-s=0k/Jgo?wVW:.5n\ ǃ`[434D8+Isl  OI+y'y|h74 2Ol,EbK?6r؍ѩB{dKlY9t}AD2ϦkwO7%֕W kjeE=^<' -?(!Ala|%0zYgc+D_e{,QqzW: 6y^@+:@صK Nr,KP0 %땫jV1!6ȝtr/G9\Y N6z T!'{ 3TWʌRY.$ΔOƌl" Q! D$GRL*Nfx9>M蝳fΙ֟"I#L0'L1;E$xH?;Or\VMd~>vyÏI;ڎu9#/|Ϩ|sAl?buaA@Vc3l8+MN ԪL/fÜ=uSϥwM#niN;OZ||,SBNڈ?+\UC'fߝNT0EMX ςw@{f&VMiF){fszHQ& 7(ɳ$l,L/= mn/+n/?ܞqfU  2s=hKGfJ\zmM݁4@h`6) 5M홁f}"fYH۰+tExsܥȮ ;enk.eK1sL a!+S?Yxc`d``}ίm2p31]J`/w30r9@xc`d``<S/30EYCxVm0 RRJRdK؏%kDCQa[&"J;эly}ǍkITk.&ͨ{dW]KEՖa9Zv{alʆoûXG{ֽo\\cUN38Ppb^φ^ΈU_IR<.~ϭs_f^ r+jE|6q |^Yb<9Kך9TӉ m{oȻ5ydCR?N~52 ާ^1]5v3=&v3:{YA3>O8,jD]'i3,aC:fzb?ρ0}q>1ۻޱne ~usAg8ugڸGcS]>h4͍5 9yt6nCwS ܳW<.M9~Kj*|Nsy9h+xwG6[+=5{7ԁ_.n=hsVgo֯??<sޡ,x5 TwƟWhBJ5BB#[# 55rdlmڄFƬK#֌i䶅>99}}}OdӤ  Ȓ*H%RH*ʑ.UR@H5IN-jKJNH%uRXəX=R}opEj@l P&(\j\PI5YrۭDj mFf'Rs8ZSL%5=\yzjE~+ӋZ&Lj ˎ2<}CԱPsډpK%H]xvh ٍ=I~o=} 2>#!pJâfgd9 h|":77#/&0> 'Fx4m8a1y[m%n= g&3 gqG,E6g37_Jk;/j-{uI,zCqX]~:ù Аi#mf ZRНءMx9QBn؆wOk{@q;E/ڃcu/tq 3$ 򿤗Rdy_3Ƈ<1Eߐ{G_.q o=Np~o'<$bNɏ4;z9ꞣ|?p]NwCfo=AS?@gye dRe*qV)WrJ"e^r2ejUϓQ"S [;AƉ:N8WP!y.PZ2Mnʸ4uE2̀{L j @g1nSC-|>ܵs2Ft2?M@8ekLy12p %ӛ -ӏ`87u ! 0z;"kd f8"34^%n\Ld98DHQ΀(tMBˤ$dy4Z;-@11Lo:1oQmrbށcqhYuɻܿGos O7yi>q [Ll!1m1I,>_L?x.g+j% ٱĭ5ZzXGz7Fr7!LMlf&[t+m#&]og/óNzIo7w#}|Ef/zn1OSr2 3ϩ_Rk?5@96f3pyёC!\o;~GwĞ$y|? Βs?< h/"{} KB(v2wWx^E5{Ʈ [omb9üW=G JrpMO?[]x9@+e HŲJdbe+T"m ml;ۣ- ~]s1Ke.O{ Gl u{z=&&M}OQ;8\?y?}dPt%ou#,^u4t p eǀx`c;-U9=!Cvb,EvZSFvJl4woT8)}#3Xxc`d``:8A  .0xJ1OzۮT+ (E0tQzBgRfBKíc>v_"8!2 Wܳ^Ρsr0|+*k:n187- $ p;w]p7}p?<C0<c8<OS4|> </ "| _ &| ߁!~ ? % ~ # ' p "%,cX:638s8Kq.pu\ĵpm\u>nF17M 7-pKlV5nv=;p'w]q7ߌo='{>/x oÃ<÷;p<߉wxx'xF-. 졋}WbƘ#\'{>|?4<3,<s<</ "/K! /G «?ÏMx3ނOx~ ?x'ޅw=x/އ >#(>$>Og >/ ~?_/*~ o.~?) _-?+ /QT2UJ5S4C4G󴔖rZV5hMZ֦uh]Z^G!mDiڔ@isڂmE[6-mG#viڕvڃJ{^7C~?@A6:C0z;#.z7IGt KtH'Am2"AM'| h%QL hH 4Ut2K)t*}N :΢:Σ.>Hr0}+*k:n18D7- $Jѧt;Aw]t7C}t?=@C0=Bc8=AOS4}>Kг=O/ЋL,i(j}7&Z%ZDqp2]Zb65eΨ+:ӵ":"v)66"tLkEu+Zl5ExpeI[݆޴Evtʢz2%A-C/=T5*'AMՌ0-Í[iW[eCʪ\*sLl~'!EVE6Ew N0Z>+.ԺRsl~MTޢ27&$HM%h~gLr l"ۛqL/6TpnP-W) R>fLUn)WE$H 'ڄTRhg`P`#~e 7c+1GoM,oY"2C'߫ 7dQoogfpmߊL6daj,%K52 SR{ĭE[t[R,67xxݸQ'q1 39Kea k &5DDQ%=GC-r &\.WDambʧO[>}:eb(*v”%єC2%AEs ēUR7E!05ńQհ-G!^#"5h)I(%ע"s|l?C3S~X)Y3G MyskCZ/0^io+!\oB%Z\A{_lSv-i#G̒'mS5"#;e草l3[[mS"\ʩ% xx7شK̚[yfeiQMzb EQLڼUo2ˈ  0:uϽXrct=̨{YQ|C Qq^;wheU9e+*VaV٭XI-`A~_Qf< Xtli'td0d<1Ӌ{cU,LyS:*c5(U 攥2Js J?ךӖt9esxnYb FVuP sXmtZxpEZ!JqX@gK5M$P9 5s w.Tɠ~ IwAT AO`ut2j99ԥdpC? v#%wPH{",H W yXe o9*O#IXLbVbrҐm$2$LXC74[C5rl+(ikRb44F(a%EWxgy%yڰ1L<:QQ_\,65S&ݮJ-Ⲧԣq*&'XƂS/̹ oDeB>ZbۼXî(Kc{>ܧv2E۔ANӲ!=_;o>/1NHsBZDӰһL`h 2Y>)2R~Wa3 rߜ& _{|"se#uQT"ZTZ,%H\S Q%kPQMTxH 0irXK N<*%l$pIÒ>F%ica?Kpߪ:nV(z%,K`EAd6Hcy?fdLK*# >L4b`anQ^ Y+.G,kOv-rSMvVPcVT4ԛch ح(Tf:kYPЩܛ~` _·yed٩E?bQn8 hڿvGag$2Y WnFC2mǚ{@aS~z#U)mo>Zk5=Js9\!,Fb\}}3oPX-9q/{{-W݁V~J%ؽSQ8gBJ:}7]t7|pSjk}vL% @vk< WUp5Ųj0\a~.UN76¬D [/.T? ;&֬`VJ 4Ȗ!`Hx3 h;~*]J̶I -K c%*T\.SM!$~$J% v ib}9~KBY܃5:K4V!?kܚCel5۝^>,'#vNJ $[ iUU]xWy[^X|ބv]VF˸NKKUѳh߫Kt4?ZNͿj_ H,9JןƖ=I?o{{} | @`@JxI(>DQZ$)llњ 3yg6{秔 \/)--QoWi)96.ܹ)g bb}: B~gϏ)9* )VCl;Uq{%$H6WtQD$wO]̋ fߏ} rц|+,A؂Y[j-:2樢Wf5B1eai\ڸ-K3S 9 Żжo"NDV &7 œ2ZcԈx≘}ppU_ߜ%E5z.`# X.=T𪢠i,Xvkݑ_z$4$;b><ƛү)9aU9PJ'>¥ ?* ?_g o 35q'ckč/%=#+/=3ՍE,RlNu[g1)[i9) ,gYm}?{Mvyd䩋ܸm=:^ ~~H 9n}zGRDQ(ɨyk|xI;A&[w+ⶕutQ}eE}@r5{N/m8>8S)Ŕa[:yj4N$9e,?'}NӲWT",\ 1fll%W|7kZɨ/7}]7#?˿G~wob? Pe /UBTh9 Zmv@דS{ǠA@A'a0L 3`19zA^]!ћ{=p&.y8ɵ_g we\K%e02+Z+G&WYPb`~BTˏ %0*p{=;Qn'n-cVvysŦzHezgwnMSu3lo|}|ɋ׮=Rѳ^t:j6]][zUU٬M[^i嗝Qh8)kv{7CV T]+iS hڭj曞}B/|=S{M~_z ?cI|o^o3=wv~,"1[xQi ?^|s"Fn{sqtaM0$ꪣJ+rʫJ)l!<'?_lr*2$,#,B-X ,k!N;˞xpdkS=\B]ApIED4C뵧u:s:҅bxʒSi$P K#7SN/ͺP\+j]!X7(ҝ׃U@Gz%z } }zB"GWL*6Zc  "22LC`a0pziРƍ*v&Z1cɸ⁷&}_? B 0LJj%u^Lr,i67|1@Le!"2 h$,Iy q U@쭁֒]Q;S`M䂳)fs.:v>e 9B.bR:e@]~noxdc+zL,\ 8 pkGWx O^xm DQb;"$P7IZ bbC7B&C"CTO:t,0h'CH'T P \ yDD $%($jPD"A1J\P-Ѐ7B#&0 m|:'A1X9ĀA k/';1v`7{؏8J:d%=0~`npy0.b.\Bp/xoC\ B0 O .Ѩld D+PYDI6vEJU-B#kh|k4hD&Yh BSq%gZ\p.>硙8 hCsI#(t֠CZhڏyhx;i3@{t)ѡ=ć.'t6+]Muh=MCsmF7&4f F$t,X2Q'zעgp=z4H3z4Wl*i@!&9O'-r&>Di9EcI_]M_= KߒOEVwd}OӿRICO$"Ig~!Roă~'L П"P_C[{o~ x{8 <@4^0x!Nj^ #DH ƀ*. p…,8 pp$`|t ]@/*B׀7| ?v1$h55 h0B SK!LDaLDӘHDL*Q(D u#C=@< P/z$Р. uHC݁: %B@6j rPN A!Qb*DPB T4 4`>ZZcІ tנ } @AXA a؂k8 ON{mOOZp445>)`^1hƊK ƖETw& 6uieK#ޤR7tOV9|{HkU2gg|gG6JcUx){J :b0Y+FoD=':hEg:j =E}s(c򄽋5I`b ߁ U N8n+^_?_uGjT8{!Ů2(,8` eÖ(ֽ/5e)\H!Ha?6.wQ3$38 t+:ùIO6_[5] {hqP׋aRo3r%@]hK7O_1,7@N 8g^4(c3yXG ˆ^r`:Sl:" YDOG_qW9UcCON@@p0עǶࣨ5*~S{ ]t-3Y7}pho#H'N]" cnh%ͦ/19?t *Scjl{j^{cYW)L;&#b*1"a)d({@ lx%O@ۏjw|ѳ?|vlW+qSx[e3.VáGewǓ[g!Č}~Z`{n@7{"q$0C[r{K+U݂ ŭs,EF" ϓS9uV0N+鏏_>ZI'~SS@Ft^nIPL2a:%=] xO(H粪뺗pzy}˾_. V󷥩e^2`ȃ9Jle;EHuDuXC3[E ЌͦtY>.c>tVCb༈NU l"&(%Дqz#iGcOʴ ܊]G( O|[_֝u$LWO/ݣ`zZQg:^r =ʌ#TfXNT$zc R53͉۫Ÿa}J/3'RQ;]HרMbB(n]eC*LDI c;&b },,b8R+ u֎L̮JzE33QA돁9~+}碴X;H/Hȉkr&͙ ;,4lQV)ʈVw^֎GYbjYO<ҦBjsXٸi LΛ׉,,]%bc9"lB7%yU%(XB:k"FUh'U8Ɠdֳ.r1!2Q+)6->gL ޒ+Z [Pg_zW,jٰ1oTr:u $ >jarʳ^]ژ\:MDm5d$, C\0LydP5?Ma]#2GLꩯiq ͥcpO ϧ%:AI{|A'n'u6_{LZf O`\29XiɕaLZI:DqНI-8npqȐj2NQJcmB.)k[9,z.z * !LݜAbf ljleȭ\d}U9"`Ɏi%P蜘!:T۬%aL^MҋÖacAl(ESGzxAU} A^tNO^s -&G @WpO5Y9<(oKV 1}ܩAfЯn"ļ\nH lWm͔R]VV$>3DgQxUYlָ<|_K_A͚Z~.}Uq\+u\K| -E)4cE; N_36𣊣ؤo #P3~$TsQE$uإ^o,JMUq#6 #|(݉=n~tp:|hsՏWpt9mV/l!ۍo~FU6" /8YATW~_0J_$&.ơ*i佥 +~J>Ad,5{#HZ*鍸Rbl1ʏ?eR; `ԕ`r/ 4@dO&=y5#ur&h~f6楸tS("g|M$\<3p|&|,4 ;p\-ֈ~P>dtFցOsHcǼ6D]f4 =0$0XƩB`XӣƄH_~ A4htkt/jqHPEve#p1T#*A0( [ -8o؆VR^wИIxHГ,I%Jv+Ҳ39r% <3W9-7tQ[5D H7 CRoͰp!Q rŃAw0@aUm\=k)k-`(.ɹ,o8\.<@I *AK-|iiV{K"=x?X0}g&-QOmWh2#ٗϕd^zIM?˅ ۧ;;c7ooӎC%dpP0(lKɠeU_).Iҽ2(k89Qt a4]z :RKMZtv0<ޘ (.$8u®XFtTFXbΖzvsxqW0ZEW֍ ^260>}P%ގdKRC&*k%W.29(+UJ*&zgpu\2c^Xr*wJ$̨`3a{ڍw|M5p"SKbn'2jk$i{z1 >2r9+.H1#Ot> {R)ʩUtEk^9%: u=E1hkV@jRT=(\ܬRodd@+bFn7r~6]qםK9{ J%r[ lid%[=F(5q9Pd\?qi"Q)e03 "5] Jf8qՕ;<rxb)GszrlxP'%:L-m!)!8 PgzX ڦP޺]3y'KsM :cהDW  >;^Lf.Í ֢oz} tv׉kԜz6n6<҇=}yӺCo+֢3ξaj"X]yxYl go^U1ő- < /2LKNAKj98e 5jӒԩՏQJX3g@ m+ !{\X֩-K!_&zACj > o-إڋZ,YO$>,]⪰4rGFj JD@W[Yl] "-{y:,X "E*"Tdo9f1zP/.;[;-~ XPjodZ,|X#?y.M% `xaOrux6RdiL&*ܫVf9r߹a@ wZLjiT喻5 4a?;\P*(~{%VNN}we?Z1=v- _L{BCݴO(U"7,J5С zdUf'&b8ED4c#< ]PH ڋoZ& Ht>:>^/5')K-˜Jvpv+.^fGIKMGbz& UKv8~">3ԡأebkN|qT@omܚi q7p-WJ}4 a+2sKS9U, RV>t:}{NE甧(\ImZv\N|qE.;`EJ cOo҇WL \;ؑHJ&,, w%[sCQu+&-(Lkgsٸ:r6=s,>aI ݟ,j@ħI.ᶈrW]RXeHWA1=?ˊWv;=iVd2(k +^JR{=w!2!kx*¯8]*Z,5Rzv,荔7h-zp[X,j.P{Ӯv2VkKt`w tx5Ӂu *\ %@18Z{ @)2k|}&~0 2lIX]s똙h>~zsK2z--fǘDA~+ ʁ^* Xsi4,Tˋsq@ ,2nRFxIP-+(!۷m勐?1zK{Fn28!D=/nI{)6Dk^ I!}!?-A;i؞UCq|[:ޕ =Ґ `6.ŕSP1J[ުT#_Ϧ2T&.osٯ(КWЪ^SsRa[3#Atmzd8܊LsfsP_4\P|jĄ.+mut~$iԬinm Fv#?hGoy e09gAbpǽB!-/V0C j7D^RMGr@H!\ig(DuIJI`h_\r$#! A8ThQhQrhJ;d8 `B?#(#7hbsCAc )5ߌ)ԑ8e2ВDIMp k%zbQz%\j:W7~*&+D~zHxnݵ!^`{쌩OOɱU?n&$~ +م T^M]["k?&,J! 4p5c@7fb7U7Q`#[`~ND{5TnImo:^MC <`$H;<~h}?g)-{&o\%`(:tj9<S& KH۪9 G+~I$: 9E Il;tl/[tnx& ϚgL>za<#Mqq3vʐpMVW[IW78\j..)D4*y=I4#ƇvDk:~$ΚZ:fl DX >'~X:.hfβۭh6`ā+U5u;UN 6jGzzEn:OQ O>$IZ5tcKe^؂Ap?W䎴B"I'RU.c>S/ )}/%R԰VȐ{+/[`^KJ~7 oA"kQn`na nYW/wV:NIXT2জ6+>U(x|5{P 1'xE)r%g;{x6 Wsv4ܦȫ*8RXPUNQ&IIzҎ˦3%?K-J޼<G@F P6pRܔx Vg@$SN9t lZ{h5egGӇtCi P` iƽX2*]pZqd,!NTU.s2B)1 9V+" "Vq18#P+ Md'&;=EF)NjB.e6= uUYLi^fLQ0V Y-dJq:YYӂlѵE1[Vf#F'D2d $^"$粸6RƑ4g;\ -,Sߏf>CR~9j夷T*2Ucߟ&m )c3kyq+oPIAi]Β֑tp'yUY1bI~PvJf,&"0QDxԱg32l2-͸HK!~+Ȭ1l!`^/6pV5~-lͱm_nkȊPc ZC- 6dT?G楆˺N]J?@&=\lalpsL.fRo|bXh4ma,]VZ\P3*pZNvhY H4RyJWU"T~gM sr)iWwsbeˣzշqǺp%C|KkF$=߭tIVc]q0~6\g5H:7"^!%=J:VFMoȚɎXQ;!)HMU) mGHVmOY$y!~al ۇnO{>B%uIwt@4A|^e5 O Jll5+ILr%8md/m .[Ƣa^b3z "la(_TSB6Ĝ̙⅚&cLIڥ9aZ /K+.g4T hDmnD'hTUA,L(Z341mTTK3!G╬\Pf}5L<+˓ %X:.Wbz2vO U2P7˚H3LJvΟI-|\6;zzcq{}Xs!7^:~R,ȔMx> q#|]Я烰NYc]noftpP$v<5c3ߣ&ݬE#vXYT[+K6Dc{ q}C/?hhJCDZLES=wU-Ulh+s,`uezȶTUC$Ą t%Hc-!'`=Uwm.LJd살+)uUG!"66>¶8ț՝:$`@M[dָr9{Oي"BiG?{qCV-\@9$iboE&F"Lp!܏MQ}jw;EqO<j? bɇľuǪLZ@"5XC0ZDLe8+IѪuBk&fY \ҦW hPF4 LP,hȃQ *%Ә0"Νl6g#5ݘ!#+:! >˜{FnG=U nclDZO-LQR(!0Q%ҭZ˔9roo q&H˓٭5@<2ۙ_}x7ńj 6$|vTF쮫2CwWBci^#YcѭgyR{8k?n:P6ϛmZgc&<{ziXM[;쩐例4z*$C |_Xњ>얱]Wiw܆UqӫYZ+߰+QO%,iRJ>fP/ _> zGAkB Ǡ}f1vR~FRљLۢسYw)F㪼ѓ_E ܔxZك5Iн̳`E&ԋ:}/#s,p8>nrA"я1vS3_! _9֖1QmJYSRLm\X#Q2x. sێBA^[L؊:^8.MO@\}.ltuAݱ` TQ3%Tc>1LEu ͚x8)'/Gci3djzmh{ap--c`ƒ=<>|\ڠ]]X15Чm~U6xq Zv [ fa1Fʄ3wD8ж%s)(w/^[ 8xG7 ]% [#3s+{83<^3 6U>/6qÓo]W䀹[-z ^{+7,EzDf8?NEH٣CA78. xo]\:Vk2H|DR(6;/KOyJ:WDŸ(f $7b4͸ק!u"2n]{7C]NRDh2HN6T A_@_mKzϘ[ PY=#H=.k BK$ciԏtAIO" _EJx/jJ._|X߀W"b \\( 6Q .#Dt4&;݋҇FPe 7%8hg+:\V4TSfNGml{a 'gqL5gsτ-,YSZfIpc*J$Nق]!V{">9֋x*FtH_EM$ M;.)/KZ$ $dp7$&! ß?ftT֫]2ڼ`f0\HCbE[D4g_B8z۱ڧH_Ԛ*bUPsZO"giEM}ܿFSe$VM@s *($Pr*X*:T0'2#KM~ՓU"}$etbpn1&A1@Yؘii9isPG㺭&R_u7qC z̥>L$l']21jhI7׆[uҴ/5NuzQMJu?{fZpiq Yf bzdX[siڻҩlŧyKw80ѷ"Ը `vRL zElRjZӉ Dp_O&i.[KJkG 7|{xM~ll$߮uWÕ Ua/}j㿐6 dflHJIFrl!cg}G(;Vzy̩u#N0 ܗǿhN2h!\[ lwNPvlsɥY`.R<ȁy)!MiCܰșxg~: >$Lcx ,;C![c0Z4Z䬃8!.`Bk &_S>AǸeS"飒ukĕQi ', ZH_ԏguBk`fc\XOp06= 8 5bhiSm4iw{ܑj;l0EJ  DB*$ßikLZs @!5E!kgɝ /`fpzVk6 : M /,Usk+Sɠn WAnw}_kbϷDơf_PV?Jqsړ5Z}W]֙AI!4%?ajFs=\=-%etF}0Y(%QꉯK@y eQf}p+$r<HvRX~CUa7ZgjA>~vi%@)9z!ݬ) `ǞUPS u\:yC T\TƲ% GmP=Щ?~GTNڳK/djzTg{c$q]ad7ibD6™EӢ y9+#f)sCC)qadq[t uc>%?RdiUai$Y5|%e_p+m m] oC FP]j訾Cn}{~uK:IHGL}oz$"Q>TX&C;1lR%ǡ,v>[~.ͩYW?,KZK8@ *" lwD-:0~^ݫ2: <$pUp#cg1ƁgT5@ǐ= .JQmAn\AukPV[JQWU[C&nB~6Km^!~n24:CҊ7GB>o<͝RVC4..i>O~Y[וjQn`XHD21ʽ pP7b}0@\kγ]̘'A?\]#.,#?%AO\T6 `stʊ1>Wޤ=<" ]gQ kp?jb2CW,, h ݾǨx噚Z N5Rr BKd:9#`F|5@S6pzz?꾝ɐ@BR Ĩ \jrhj4!_BaPǰ9R򛥾i6:4 <֊V165 [9~ͺJ>.жI8aE+Fa&~RVPX^NK|_J) l\WH2%I\H+-A@^IZ! Stձ/OAm8f%xǜN3iN:z3amF;2rEth-3Ě(Xۦq^ )ҙX]{pPJC}_5\ESr۩e@Lӹw$ ߜWvK͘}Q@LluI+0*A5PN)cYf 3!.Ar'3p[Fu;־vЖrO[GPlMEN`PB2ע+若&?p6XW'Inj('خǩ ]]kHɹJyRէ/%wsFt%vrJؐ SqӠhK;n~jKk;8 z`!+QX!r8gE*D]Ԭ3F [7فz2ؠLޔʻ/n'HJlS\D]Cu5p>cl\m^ ;\`%0lP Ɔt]P*3@euUwgNN= X׏hh#wWa`}{ހߜ΂PiI @aץ` 늁:@ɨeV,F:9eda*j9L^x@$/mO*#8:J! 0. &41?w'4A4wnNLHϞD$>s:[Mg_9`-pϱJ%AX;"N,ere++$Ǔ.T+w~-BM9ZqrdsU Ъ7C|[sehIT._7x  v>h?GԐz*i `)yG.~ճCp@!QUAǩ{ ln95O#3t0eLs>smcpE1 k!RF؄ EfXm XP UIЋTZzN^yΊG ."_pq9z%©َcp=,LʶN!s$Ap̄)%ACӕ ku#XP evvr D,=H=}%d:TXP_'u!y)tm"܄O&\c!r 585 ԸVޜ6«G (if;4秺WVD"ǁihBF SdvNi(OG?Bt{h5W-c)L: ݾDW?ڏ&+RZKH5>OKO|{ʚE0AxRTi+^l.P{`vsV=y~^I=ciyh~pcݾdbPؚdɢ;+p5VG^U%騃KzɄ}p@~`q Z-(-Lf} L;vp{ϊMg/ I:P9L m:3\_SScD|ˮs. *ʑ?Ļ۩o&n+Qf:$ t 0ǘ /`8 :^UN"v|-Wݲ=يF ߻&Z)"2j:|ٰG(n aEC7"!}Squi=f1#zU `8Cu 'qQߨREI0 ȆalI%w(`լ".6GmΛd"Lx|zt' >"{W^}Ù<>+=a§ʺĴ(|3XVGGjWJQ+.D9 ~(t5%_CH 7LR-IfҦ7ĪN9g ÍC,?7l7qB$yilwY17Tz$"^#4RcQM$!tG[:k7< {?" DF4/Tjp;'{&9+Qr1FO vFq'h;~¢ZF8EB؈kZ˯7o YXOiB#" ٓT E}u.V|A2n)(~ EƐ聣V=J.3k|8*rkgH`2 x8Ꮄ?25)^w.꽤N6Y/CJn+gy9qT6ڎJOn4]-ߕ1w4[|}Fuɞ|{F>|@y9Z^K63Zy$`a0Gx>RQZn]o!kbI7X1g€\g3 :2{[KNۚ|UTʒmx_h ~<d,SWJX.{YkݑnbT^mО.! ;2YmZcIwg(J=j)xx2pAM~2i,Igך¼ `.z\ &F@ݠj}x( ]oτ`Q}07డDv0ȷ}B|aol}\nHQí"*ziBwwo ߮ pg>o, tS̫,ٕ@7b)( Hn 72szzeiH:œ8Vb ?Av<})v Mag| F1:\Ygv? v2U< C(FYD%+!b T1U4#?ĕU;eQ-'aD3cIeL' DKlF a?˹y#a  +F %YgD0rl[happQ}paQp= m@s/ TeWM'&) cTFs)a kJ%$R/z \np _+亄vX,2vެnO~RCh>=| /͐H2T!)_LH 1EY2 lMv! uɘ ٙ8 `Ǣ ܜ`(e]zZr|`G6Ҍ,ɼUm?Qrz 78nv]98B*.wzx)!O$D` 'ld:"ׯ:P%݄x'cj(cc}Wkn6 PR+}Fd"PE;G~G;8F x42[8HP= C`_1V:Bg64վTNQ 0/%HNEtϻM~qWg}JOaBjBN|9t@\߁w2TM! RTn>M  H3)h8vw8Gb ZqL/c,VjT<[n7ݽ[?흵}}~Dowv4>JX&U6x-`\ i3:#b KPF22 "T38`r5`D *#X]"AUX`.>ф)F(ß> 6ڭw&1Y|$iib؀h#8(c$|3? @(RbcdJvfSF+FPx5,.ags6^3G3ggJѝ)Kq .H]Ӊ %#rH )lQ b!r8%%:30zjW69὆0ݙ3B^7c>.iA g˶)k#,jDc7nF2%IxBz#ҷwpdLֱ҃Y_^eR![-s][S,{Ǭ4%,zLj,Dr.Q˃Erj Y,IIIz^ ?C"lMӰm %7>JFP&g ωQDKZ/ B} )7 =;~ kKhjQC}`{o>uYtgx@ E;4h@?V&UH͸dIgHC<R#Mt u0F(tľ:ӑytqO0u1II ܛ;>\^\&'lgf.7ϝTs <Jhtޥvn46{B >EGDyNCߍ~HCb tG3ٜ!`zp`$8$5b[V4c)Dvt 7a oY{x$ (H^Yq7C|E 0!{0cCT`6-(qvw6ADNgF(:`U}6e3"r.kƉ ?[hT@Q{X4Y\HlcISIH4*I(`|UA: Q|w'RQ!=]9H$b1VX÷ݦ->|X zEaNcc>aGm=AG^AO{Ln8֝\#Z8= x8QͱQDKQYD(Ro/:9_!_+Vl89cS5]οGk;j;=meoTφ<))7G/"Vm/w7HD%#<˅-(1t!J͏x]`|/'__A%p& {u7+Yna?H4ޢqFzK\NcZ*wN;MXL#~D=?I( s4܊~ܲi`ssn19rNA ̹>ƨv h"7GxH6+JL/'<), 7'aJIZ6׌&0F H&JbYiF2t ](@A{{)]tV x L8 9W1pL2smwrhdkiV/ZrS S޸i}ud^G:x)=_CxvًBѼ1 qբ\uTJY$:&6MT/4ѥm?ծ[jE5q[\ճ 8^Gߵ.5~|UUPT5aFCAltj}(oMwGȣMxnĬz2S##F?jgoA1Ӓq.@@xHļqXxwA&P;~?"Hcۣ[AD˥sC9VLC|iEŗ/1QDkݼW<{$Y¡9)MLs 1 جgk_iv4aKOeW+G v{ _-"#w%NำWqfG cF(΍< V ;{̌fŞ~,S9_aPgFT;&_ޢha/* ] GaWUy;& Z{b6M,H-^W 隡pZo! nC5mȨKKx`Y`OT- zp;L nz cޡzP[tk.o4Z[Z*g_,WBN5jWRPK<$a?1*)["Ǥh-_a~@IJ咣+ Z%\e,scxL< Ĵ|̿wFhksU4”  <iqj-#YQP)`^iڽMR:r )"-&#^cTQcxu6|!Yy4K! WI(2D5P*z gZ}jfm=əw{$O nH$Lo?}Lq3&y͟DՐ8DEV[ebnƴ/f [i.u`F %%*;kzKxg:WU>n}eq xo_ϻ~?2sFSGGS~+}n0f'ib{~PŅm_} nSMmYE[ok*P+bub}>nw `vmphBZF\߼P`;p|_Vp 籌5M+WJ0%(F+5FfH+Q _R+=rn'Z4V d#*o!]S1]##VGn(b#؉lܠ߇:N<_8uEtZa!?$h7O1;xĀE^x'j-Jn s>i{ p(j`]CXS6INZke_::nAtpOC{Ź s3?x^EUt3C\<=Ep!/5}phe9ff*=+IMEVRiD@jB] X1H5!ؗ- I~Z$QnaV)o!V CY cdd{Mk1HTh"? ;ڷ1{O#.`_mIePU=4[3qГccOWk\"m̂T(rDf;bJ}bqd5BsWa&ss0μ%NI ?VSB~BU(h㗳4 1].*up/!1H8g;3+448o8+ɸӸ{kjx2e!VMB?:yðpNvtaNOSDY7KC֩@d`*Q&΄h2/l2vlNdN!xï߿*xX۷D5gtEy{'/t{;h^*'qk*i2( {#||<2 M%vP?dG$p;|^AcX4՜_}H\T+sGm]u-ʽRIIY415ݮtj 8ՇU?#Cb\ fd{эkv088H܅q/Q_V<*\`]} th\jT]pEzjK37 w4ncX.˔zX OYN\ 7ے (1?؍YrUw2t}'ѭIo2M'$_NzÒjMpQ'&]Dj;e_>0 `vYq[Rs_K\̍!O޴/H+{)?ߴ>}m}LJR=L3Bo_gTeNtpWva!.cAVi~6LA`VNx94Ҍ>|f>bo7vc}snn$EaQG|awo$yiĿFRϺ ?ӫ;=c_Y{ވj }D-J/lO>+,Y^U/Th+ҙ~s+~ċî|ƋU<p\s݁[ǂ"9hΰ>,zĜ-AW~sY*Tnc0[ȺO~Xϝ000..UBkcχN6ib>0af BxPT}'ީ)9nL7t  ~ :'WJ ARCcz!fPS@g]d]19f}W9y18H(`Zg1>ȯ;n8Ӊ+z",Tsύv=ha"~9'E?tZOsG<ʇ8qh<96G3 -:a({ku'RYCGTI/J˽,J*ݓc;8HtyEE!l?T @0k<5рc9-#8͉"h!#n[f$gU-g2 Y'͔9C=PޛH嘚{vI@#ի6B Ƀq‹RLd660)˻re>I(?W"Q^yXhJ3.a^fH!,=͞*;eAv I B`kEA8;rI0\7l@'%p#|j7Z`WȐ1n<ŷ|dR l(W`9e$BcCllhp a s P|;wL&+1E,FQ0[d|J8MClJ;7X'&,SqS j5V=QVIԙ2,_!s}؝+K|KU`g5>ns?'P@z&ƚ߯ņP!%6̻vWŅ0|C2|f}>JR]``ۢUHGzU٢î^c43/Ū=k)zu+xGOX=B:~Yâ4oOT^']}i[ -zF~,ץYZ,*ˍ[F%E!\Qt7kap {zU]P9,ZQL"F:2)${x.*=R:֟HDor"?VǫȐGs,iS[/dNgcmǮrXY3_eF@T`F*Cl1 f&xNowۭPƲ`IJch`o9~F?Ewxt,F#jPG$%̬֧9":>Z1pa$x6oex=_6u~71l}+oUxbd:w@򋡭";"ƩddDsA0`M[`#.lBѫLlcD>bĊqx4l+0x4"^Ӌ58LzA|D5ߨG%pI,/*sכwӝ_ u?Μ[7C8o|(P']\ G/7hb[;o-FL7) c&EDD Xqcj@f&\UfY3w3++.c L9]y>,:z}: pc<}PU쪿r ɽEq;>Z\,^/yj O(iC|/T@؃s0ڈК 4nR̍QaM@v+&+{"E ?jJ",r}g{Dt4"SUfcz:D袕l<_͏EKVcȲNCHw|g)DvSv-38LyEK/뿢t^2n2d>)U ˍtu8ZG;'f|1>q`{RIi`Qa<)}ˈx7A!*h^aHJ:OZ)LjYn~P+jxلM7gvDh  "yh@I 4ݾ1 4XKK'_+1W9G2y13eqLi%3n)ٟP}ruΒEBBF2WW1tXBG!U"ae&_+#=Ylo32K9/-JP/U>p༻de+:?<NUyAEǭ #u1V6Yq̵Mُ'B/q!j!))x8).`KvŠdңsގxUUEVTP@ u@TFۈJ@t+@mZ_6RVSB2'CHNǖ."ZD< l8i}%ƀT:[јf57D1.#-mR;a>OMƐd9IWŋ$aȲ <`9X^ԟPũąӋ:&3lj&29u GYeQ0>T]./8F3-qҕџ?@FB/#UJZ|b&m\SGoIdThɦNl[1F tZ8ce}R7c>b3a_̐0-aR9A|bQ)$d(tSaa}w( ;oLj]LSY. FrR2HR\^9nA+d /s:SP>4m X9Ays>]Z. nGr#+ͬΛ\=7 w] W> ;䎃7'[>2#&mO(!yFB9vݑl4꘣J}^]_?*sJC) O 4-c M ENzqEYޤhQ+/ cRwv;ÐWD=x1u/72el)5 Tǜ,ԘކEҘHCyX;ػW~yFJm|Eq^-s'|}C)e]La~Qøqg#w(5δlJmí ?<g1::*U7H8)8 ҁM+ pUg7Q<>d;KR)1vDzyT*;DZ=<nl)p` !^^wBDy VTX>ŲK#.)r@( RHµQ"8EpGKjYտDI*]ׂPB#v%>Dd}&YgKZtuԻg{mݺJUU`4o&#P0Y:󺀧1{)pfW9F.a$F^L l%f ^) v˖^A葷%1>p C%WBc\5 yv?}p!wL|'H'NXFn1CR]̼j:ϔ!i^VK3:hPMP鰸s *mdl&| 8G0Y<;ةхoFի+zdxF Kg ɷGqJ/E*9j%yW'!䷷m?>:snْ\%xJ:})w?h9ٸI5E.:,@9{]J9GIK/ۮ}g![㓐+..L/,fB"Þ$d4,8@? ڰ2%%1fWWVm޸ת^5M;{Xś*4Fi]㒪* ylJWK{>pj@mJ'|WG 4G R#;6e}]^X-̕gx!;$e𛓴R ;3A #\7sLɆ[P&r_@H|w?冝JK}P nT6d6af(a7߀X i8~~74yWY,Egw$w{QNUI?BF%Uy92m#[HL` ŐS>[{S6_X ~ o)e/m%o$1o3pT~gA]<ӷ&Z7Ǖmosm'̏N1DΛy<sgf[rýj&('ݿO"߸AϹSC9P5lC>!=ؖJ-Vq]Rb\Ͽ?_#Q`j)з7)C2&/HDtq~*ngf2M^׃5kT\|=j nh])/-~X ̞uqճ1ӥr& r_,vŰ|> /G d.0Wfм CS2Zf,_c6H?dK0IP4mت"{)$?6T+Ivi oiݹlΦi`TI00m9 ~pNjE <('#@_|t]n?,i3={Y0O'q)o'x0$;KU14ܣӋ?~Vݙk[e:#EϼH; v^ci{L|W\>j!_F|(u;T6F]0k0x8O❈6Nϡ7e?3^f{b=;?hij:SﺚYQGG_oKP!`Ç![l[~J:arWטNT+aw%Ӊs:|$fZ`uٳ0bcz!J8yAU0)$*BlDZsj֯bQqPud @Ja ]k+}P V/?LYp-6$tK&7iJJ牣UpTOa`f. e#R_p{ |<>]%(|K*⍓OIflb!kf,.w[4wo+3zJ dJq ~08*ȻtşyIqB(N}Sqf|ĘZ 8%+൑A9g%ct 4}J8lXDA3SmWtlM`8u0˥j5ض?ZL%S+h,C6;>:ɡW/0J;\x`n͗rMӿǕZ|rs79ā 'Y DʐQp\2 JȞ\H5= Y3 >.[k^I8Y9Gf6=|/l!R=(**'PIޝVipb`DթuQL<;Y^>/mTP1YýR7vd ͫHuuC6>,bz"l(;\vx%ޑIĎm< Aׂ\(1K 9~&$|27N,D$.bFi4J| DAbI|.@3<A@oKǿlgNdzs4KcH7|dzrk(G}#|kϋx@L|RLuV T7t,<'쉿:6>y;/׋xDzS(DLFHGW1"5Ƚ*dG^CMŏyOA%dcՋB=Q쉍0ƞħstn67k[Q[1LfFr3dcF:\>9lʑӺn/X?O0pf0 gMfj4ښ>y{_=ip]2 z[:69 ~AM5f{RL0Y?_Ef\ckt xhu ˿֪YWu3?5qYi:`5֢x#m1f849~V,09="S)EGN%ݯf8=5J 9~dHgWDA@%=̃58(RDfǎAC Vܑ[ވ I0A c1gaFZyg ~zL*5m:㫇m)9n&nC` LTǟ_@QF/ lTee%D pfumdZ]~3?~ iC+H|OVS>INNlHb釈-)E֟$%# f0b̈EG "Ml/)lm i_f': `!j4aMuDw:~\AqR$J87^y0V}OC/Vi}8:ك#8DRLq؅H SHYNۍ,ʋζLz>0}>62p`ﴄjBCxrJ믬ҟz`Ӈ( hA9JqNVrp_xO)ـ׎Xs{ LW.˝3K5J0|b߮P&/|{cSӺ %UnAWbDD[>1"?tߘݴ5ؕ\uGjQ;T *sq( BeHHk_-29Q`+'8G {psХO՝zBm>Ҥ$OL+ͩW8$.x1i$Y%~yz#,X&LyjڀUq:5Ռ! fO"%phj"3Uxi C!:4]En-oƸ#CJhWgas0%砹tÔKq1&`rFiiVLJ}rRU<}bm}-'+$B^FbБ dyP4Ёp!!]#dzLI[S&uSr..tnQ=֢e{$@l`.k?眲l9wSl)AҗUo1M灧,L(Jqg~^($f|uɣz&PK ǎ J FV:&+0b$-՞TuXJ!)#+_..;qEIS~uEG]2f2CR'i­GV 6Ό&bj"B`šd o9-ؖ\M Y>S얢yvv0;2p#ƥ$׼3EMr϶)fmvnN:00O>E фV1| 6)}"-~GQyXʿ_* =AXKynj%49hiS,W"]4GƁPCYMs}VU[>dwh~:c^4ٕ Q_E<`rf+gs"^ jH(pP%ե_rn" tǓ0U HjV  GS}0)׍u6nlMWL=Np櫾P` PK$c#_8 M:x ŤFúcbHJ31ۑXߛ%/CǺ)ߋ^'n'AKlQ>V>XŖ4ONH6$y7官hC~8)fG[rԚVGzxCidsGCsL]="#k#bveuDm[g%T@2v}fo7-ٞ>öu9"2ӵZbJZ4vsǮYKxL=:awJwʈ Ht>^ }'_/n'<:4N؃Twvݭ7Ae6Q4kStq/Xyalw=[2B%ەS&-{Щ {(O´lG;T΍߄%Нz0T3 ߢ(l%`hFui}<<rA 0rLxɺwyQaBgN\ 06[كZvhF'l&L^)sB8>HʬMBQ-l/;FmQ@+dX5A5!Hlz5!pH/U/v gK$>³lW^uG؅U֥$Fgn?|{G"xLeGO.dR;C&C5ߊ~<&UD|hqf+f-j+LjÙ{:M"PYXʁEM55p$A3ƨtFEwɇX/ϲy׵I%?ځ>'Wv״kO;I171(DXwc=bt11^MLOOXƥ >qJdO2NfeW%&NsFtsbStS(B:[YYO9# 7Z|R+o"su~m1,P c '}RӮ̂]xljuzWo>B[wr[P.'1`8 (΅KIvr-TЖM '3 :qײ"i SEm__z_m&]dy fއh IqoW{NC[_8R SrGP]ϝ%.j^H6FnPmo[Zr\.55&`fuffk^%s;2 9X})ڰG wϩH [?\̡zyqR Hįby[Ƴ%ccPgWϞigA$|"Ѓʟ5'#kܗSΥY')?9 >T7uM -5N<gquPl3;zR6UJK}ӸOs7=H9@ypfrsT!+nb8)cSw5&ޑșk7z)Kj{A ]u_L)v"spU~ B1k0{mpQ9`ejRI˦f )+-Ɛ#]A5;q4٬BX"I瓐\dk7uo@9.%>I,toP`eI 7fn7ۊCb}+U 9))J}Şs<~ZT'ƄVQk e}Pa"b[Xkpj8m \;YTq~64l}.y68B|ruP@?6ôxnFf@Q𷗾ǵjPA '؂Xh+AõY[Y`xUNs񁎟ϛMO35&ݟX1Ózkxxo1n^W2>aOy؛yfY-Tn t$pM!tw={!{DZGlF*[S)r(+7yb5*N`:Ǻ0ۈ/Ƭ@n9C̙^ ";3xDWT}J>/#!~x+n 7w"jJC#l4'"uR,43@詉#@-P_Huttb9zF HoYV,$"{Jqpw\tv-4 @e]tBm_|Iv۶EwWa^W5W9s:O~ .#e#`׾%%iWΰ؃B[+a v3xSd!xu)ϊ"NUNjb"]ٛ6@ bp\C0LLA `fPjuПhFξ6 c4b5F[ ICtі`VV0 &蚭%F薳uAB)=xoS^7"V$t~œ g4K]~Q?onSFӦ8=K,18~u/XnVRϻ[.gL8{~t4iq`3î9p)/{_c]4|Vt{KEnfuԑ&tР83è~?]GZ=ޞyK!y@|>KsUk})Edt, Q8aQEcXkz;#3y&NK cɦha nMLБ9{W&r=q؉Oxqu([Fa؅fp >UEWG[|=p؆læ) %o&)޹\)Ƞi0 ,{ZW{2Q4%]E|'w $u n&ӧfCa5]-%[zqj4k %@qS4J;jpI} pNy4[u˪8 h -;t;-XOGF3yz$'QK:rg* ; jyyzV 虳uAI]Xϖ})ʤm/7m[?c/;tpUIKH%7=w呓;)mhYCZK\} (3%(]N l> 8?ː%Hŷް5.Do;H )Ѝq.ddd=J2w|[#IEb:id|=ST+aG`(zT^{n}zd\YcĦ**xDNwMW?t 1(s:ɕB?7,5?0-E;kgGԉC+bȳ;«U Wa&S xw3ht[5\E/˔58i_%#azI@0Kӽi}NLJ:hx)R`MnU g_r_'&=ŷ-P Gk!O9aCx<Hb0x4 E FkAٹ"uJ! o/;'gf&8SU" ˲H|7-CL38S6^h^sU`r}1B=7%,2{].&@1T{(&n]伈O3#:+0&%pWJx 3~~>RL=IR/.8P\ZZ ߹ILZ )qjH]TTD|'xz5㡤 VaB6vI<-TXF7x< {L"׌C2F1g&v [ cJh`×Q0eUH;{XT;2wgXml5SֽtXg5MyQJ1X^FHyƱɧCcD67˩27H|PD,'3PtT!k &>qϘy=[ѕ[塥Vȟa`>nIɔI~ 1 e$]vUJ)BFnĥsRu?,AKZZxp(@gW-3dv̗ILZV[Z$h٠YMQO?S1kX1h?1c 1b|x@%S'O5ZdH~5ʰ=&z(=Y]T;B<]l%dֻTXwduYt맳ug,rN˨t|6Y, NWcK-?;e#k/$˂ %k4t;!Z<`tB#|Ѥ' J=E$?TkER@ِI>~[r S :KHFbګ|兎 I#6u+};Ft<*FE|["ISG>+ȡ&=J5o$[[}YaԨ]rcȐsng˨%Z$sA`m΅$F׻]<- A꼢dd-םo|nslԧ+}caJ lvIZTkOC=5~њG5t|IA:!PJzN10M|%|47klrTHF{Y(d&+3-O-Y#}4QimR4+zv'F#, #{OCp>_rq͇=6f{L&eOgEtA_Aaq?p9F4LU!j ?̧[jGicLXUĝ;l+ ^8x;3pnU@á&.r&?xc6ǵ+e62n`۽;P*bO# rr> A:.9 <3C#W [LK?1ixo/JkɇJJZ ۑO$P9yQ%y̌a~LeV@iY*=L322)au#)sBJDN[I+.'&QpdM| FtAI0x9mc.A1Eϑ!rt(ſ7ez||k:wƓmè JaU:cU]JV~xrB>j̔U-3`}fĽVUeծel+& i3{vVn%TY?e9ME@:ZZXԷȤdO`x7vǡ6@h+:JEUDRbJ3-RS kdGv$ㄥD1@HrbAwv;6@8!I.TdZSY1pzd+hs5INl*n1G}sѮ2MvAHw' 8w7c&Llh(:::všCu6ʑ T|B#s!z{438,\cCq.e9gR#ԜNɾ*[@ 8L9 Ś*GK=t Z%PSFy( >[5!v*VqF.;pB=Ƴ)H=9$j㷕y( 7h%!8[ "״ID7 Eu.{'/&<&*E2@Rz[=]yć[=]@F{ޠ"c$Mn~XHI!#kQs'V 9Agp-'|FfOl `d䏧s O>Tp=tyuri-HE^kG ٽt\$r` fd6k7pc7GmskpOiOީ==TY0ws<@#Jd o#lH$Qx'G\- Uyy+f@m0S)a6'k sD&e򄎼/I Ŷ1L<@@妇 A,Ýp~ΛnoiSqQ[1˧ rJKs*rȿ7bV6j'(>= u5&7pocft6Lpdp˙~I=(p,]Pp#frjfLl=O}5Z@퐛-~m7ߔwϓwO.=emΥCnaQv Ѵ}w,6{E+f`ݜh//u ]D5P(?;;R'_']O(Jp>xZxSO7x0d}5Y{%s&zlL4ծ5i@2QH., y3_ݢ+47_j yQ'* Y_*>϶|dM:0ȿ(k|ݶ9񔉰m_DgԞ/TNvwg{ܯs\׹Džgiy$e%y- /G$kE%TMag -5ưB7dxklKwd@@f`,h pCO(S*k!#0&q93r.+Ї7=L_7R~^P1Ύx:Ts1+ ;+`Lc}'Nw5l-һx۷=-e΅^uTg6)m/z~n;)_|.‡C24J 0|B΋@zK_t%Wz\yq.&|K`xETNSVeGH>@եmIh2,-&]7'Z ZَB}  ETVU|/#T*#&"_ kϟ`?"&(YMUzE7\,w[c)Y 2T>;!O؄W$;WF}vLZOzz>]xrG-&a^?MՏ)ƀXx&Z BbG~w7.9@PjW[W{Zq;JC/ܹV/</kq̙ݎtpSd'F1]R #f[z$K⥔yMl]3~vuxDpի$boאf J&/'U:JՔoK$uyE]v/&G(-G4)qz}422Jqb^ #Z+//)9}l`ĺ>&M t$&dt"SD@Z?EǙC*noc%'0NM]+P=LE)V_J/Lǂg/p \I`qu9ǹa.79 ڢs`ƳӔ k fVo؏SrRHoK-|Tݢ/Kgt.㛈(#f۷\o@Rx #t͂+nC?썶6&H9 aժ7j7FÇoUW`:kupiFX#u;ȱĠc$'" 5&yD_m0E.DMx>+^`;Jo}7 %KJ i%Fb o6oA"U < q'XUsk+hղy^bC&O~O#.Q֐Tɛx]R¢ۅFnJP\<}&Q;{K#}>qf{ZlO72üp. SCu,lol}bLx/ ٧F1Q(ճϦyKNZ:RP,; 2]Bk+tH9RIqkYE=f($ Xf l~v$0yV8M$J ([]?6)9m|KVbQZaOZ-HՅ=)-~ dNV0(hL;ʑ;I{ߵ|bx?gL`eRdK)e}L@ O0}Wl(5,Y]le Fb+t,lCw ^yKmWǞ'qafwjMK#챧Z^2%`TtsxKEoؾ) m+q0ʖ:õ!f\%/ɢθ+'q.lbݢkXq 4!V1 b1Gygȁ{TfzɰZқ<N-q; EN\<֦8щ@rp w^xv}d3O-K6nm'1"W' 4fjsAnOO~ΝkmvIiїJ!yZqJl8ۮ([娎UZo|ޭ~s| m#Xp4{ E2xXkẰ\Q",> Sܸ TfN?ZVQ%qtOUn _`G5S7CSR[SR=]~Lj #& SRw\'0ӛb{D(CoIC^G gr3IL/nH;=462yOKFtEsAkE|/^, lsAMυ 1*W\v\uBƣuHצ J2e\q] /9"8&mn^^;bpyqȧg]Zӭ5i2:樓mvtM1f_lNk]ίmqŭ}?N.9+3? SVq,C:ع@BH2%dOfT^15lChuu"z]gg$D aLwF:g\<½bZE#E8eEz:`E-D4"|Sgs;ݏ~ǥw\BwN'RIAt[IY<~ntUa2o{DCU`^o 5<74@,ݾ".l'\Zw" i3}9 F'DF+'QgO[u%0b'Ą&h5Y!qGܲoTN|fu>cxn\úaeE8p_ǿI+6j45Fu$ &z(`tvViMc+~2(.\wE%wo$M@~"; UAeu gO3)^\y' Ivb~0BX`3s9Ja( bQ'U΁޾ oݹ G4WB }6/sg,5S  Grǚyo.i\o筙~GoG`?!+^?\V0ݱ#c 2QL?!PU*ޝ-tQVGDh1Py\:нLEh5OV1Dˢ-9 MQR-l_Vz:!p&~;!6ˮʽR=0fGS|hҥwv/ԬEg늮`!"Sk*jŊ'wҁvWyR)'>LyXք$-#ԙӕ?"o"ސ계wq%vrkV-@^y]tXg4 Sl)8*>(ljhQ380ub0TU{x߰Mx:W On<O܏3T~w9X["ǥ jRV欇X 9Vv̺Kkc22sFU5qVǸ"Iy?etPr ;}g0G=ve:Ȫ'dRJ V`h[ؤu~d]"(?)‰@n$4ڷMX|VH0<2R ' ӥԲ*Q.f|Ga Bod{tHGM*"UY^{NTq5MY{WƚZoM3H|i^=o[:564"є2P-+.i =DEs+.&jrԔqD׀l o;6݅9']= 0?&3Uc1Xh?ص4;!iȊ]⅜o&? h35qp  zzx>0}~>iJ%kmx;p׏%[. |yt^O5:.H ]ƐIi 1V͈JDe,\D!MSH^VBbjdQ&br[Mh2o{Ÿ3@p:ՂQ/-#C:K4xOj T(VFxu֔A#m3VEÃ4tvEdj0wiFh}A(T"fN7ٔD.^ 5L&AŵB4}vJR5W*`PMH}$qNKTX.Ӥ#9,&M M!5!"(o߈59 E<1`L@:@_OB4YcawB2QizBtI^m̴h>8<$K! )md?.PeK .ˊ)#yJZdVDRk/Q%?3Z杫$cw'~X3OĭZþjX5MFY$5 t8$^LC~Ӱ#`B) /-*Eb 1h ETT;øm盃iV|@64-sK KAH̑<*5qпZwц.g:BA{Ӧ|2z#DTQS_q<:BՓX"vxJ`gQVĩ`Xy @8T"qci?"6aEee*kf56aׇGY\VKWx,!ٹQ*=hJKvUzY.g7V77) 2l;z9S沪{\MH]e)N9\Eu'E,ӨJ[F)kJKdKȰ:V9%.]GNob7a* 05ٙl-/FfiWuIl}N pXTҪ_ZYv%JhaBم/|i5o{oKjOg~۫يEn,}vЊzTM-9?5K4}Jü|^uo$%\ "ᴵ*J+X0yBp//13jw)\q@Fׂ{݀Lb v@:>os{/Lřu*i[تK#L/wQ<Պv|VjZdRIQnH03֩,t=PÊÞGY 𕒫C,В:[LlP5;>#$,L@^zO؆^e+QbXlSaB1')z޴0^hI[eL&VeUL7)7>yadmm &(vUy7Qk APMfϽ7+ |@L4Ni sMJ=j }Tcr x wD4hzgEAP3eJDeiTDecTyB)aK}}T,!.w[a6~NAS- GENJtqO"L(B*mAɿUܧ3/ʪnڮi^m?~@FW~B8A)O wFL%YQ50-q=?8I(i~yY8|@('cb8AR4r JjaRN04ˋӴ]?lX֛n"L°/nQY^UݴݟE?Nnq^|3hkRV4:t꒏aB_\:QY^Qf뇑uʣZm?~? c@1 )a9^%YQ50-q=?8I(i~yY?~<_o௷ QU Ӳ34ˋqGOj#MXeXDIVTM7Lv\(N,/ʪnڮi^{zk}FrUBzbf1lN.n^&q!6 $ae~Y?^ QU Ӳ04ˋquۏ!A1 )a9^%YQ50-q=?8I(i~'|\7pę Wnyś_~?>b ~_jt)x5pcGdzS )t!hz cL0I7S9Mqfv!~kЖJhjbWgB !깙.@ 4 @Jq߬ FzyV-i{=J[FfS+bmVy FѬAhD eU],<^`s_pRT78Qb77=-/XO5j̆[D8>^ 8 &ĠbB((!EȐ0MNwb5HrI0$eN=ƹ@n&mv;7&dk  SWck>X"Az$OA;(N”T,֟hcN/LjSLS '> G"xb!WpʈSgޥGA FA2D{AR^K2cG/ʍyr@}'_Ze!+N6' P$ų^Zm+xt#Rhh665]ҭ\tdnO0xH|G} "yA(*=kUJUA^(9 Bޣ 1wXj0>L4L`@AdQA?-ި X-xnMXJ۞{*Ga ^VFֵ\OҎQk++Hq| B~5DjVuQ fx"]1|܃Wz1[iQ%ŵ3:,k͗%'Z JSM~ x7lDuv72ޡ@ęh3a*B;ɓo8$P wwJ?T0<6(* D᭔KqݣhIB t-6_B_=l5xgXf"/q$S "V oq8O@)#[^^Aޒ uװ{ .ef*V2>o D,Xb ڊ~&X]aݹZ4wS>ɨFJ HPC@ HHD[G[RljJ3̊rTj4g+KԂLv2bαVPR%w Žy&h@ &8MSjQڽ%D hr#|і%Q,н I;%yx.)@9=azl s,ݬtYU%VLka4]diB& $(evHOB𣉂R(pLיD]`tlEp0 .m%J%>H9m1xœZx|PhnZ}jB6߷[B+8OI/onx,pm-ɾq٭vpL3Wf`Fu 5 cuƴ wnx1"7@h66IqwAPE N@tXQc'm?@6 KHWfx2GlM·ev  Qu^¾Y 6;WV ]ͭ brFiuvPf-16/Dڌ1.oR.țP@Kh*b[N^X|IeFR8nM7f'vĮ|ԆI NAqiy蹋 81>/,aIʕweOҵj3nW?-Otl7_\YYO>\qb;muFD6#WA*AS,ȯ0jICʠv͖ g:|%V' `kۻuL59͏hh3W Sl&%Q+ޅ/XmmkknX {:6P$LNCi ?$D0Ï9&nBW61~x9Bo}6d*>@}][y \'J4FEjG.H@H-Z1BG .G8"#/W+L8{?Iwto%)  Y)wGQ<sD -!h&Aԓ-jo)v5 _\ S&$Q z&d^ltS3B/ ֓utձ"F11۾_ ?G񐯵*CH!Zo(< KrL47l]PˡMYb!6.UN :k}{r{T#(^_q 0?R_t< qżS- JM{ַ^;._PKZ``Fplugins/wps-limit-login/assets/fontawesome/webfonts/fa-regular-400.ttfnu[ 0GSUB %z8TOS/2?PVcmap(d -glyf:UEX$hmtxX 4loca?: 8maxpD name`ipost|=%h_< ֺ"ֺ"8  0>DFLTlatnligafGfPfEd@.F@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@@@@@@@@@@@@@@@@@@  @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{pPp4 h xL,@(4pPxlhp !T""#p$$$%4%&D&''\(()*4+,P-D.0.0@12344567898:;;=>>?(?@@pAAB BD DF(GhIIJlJLPM(MxNOPQHQSlTUV(VWY Z,Z[\]_8_`ab8c cdxeHf4fg|hiDij<jjk8kxllmmmnoqPqrs0stptuDvw\xHyz{|x}t~`<p|\,4`p|\D,thLDTxx|8HX0<x\, H4dp¸00,(njTʨT̐ ϨЀ4ҌTԼXtؘٜڠP0݄ޔH\Dd,x<$|t0<dxP d@,L  4 t ,(P\,d$T<l !"@"#$p%%&'(|)8**|+P,<,-t.<//01X24L56l79$9x9:8:;P<\=l>(?L@ABCCD@DE,EtEFFLFG GlGHIKdL0LMN NO|PPQR0RSXT0UUWXYZ[@[\\\] ]^t^_x`H`a`bcDcdHefxgitijkl|mDmntnopqLrstDtuXuvw,xxz z{l|}P}~0~|4(\dxhdtL |04XXL 4(<`$T@d,l(ʴˤ̈lͬδϼpьҔӨ<\Lְ׌l4PD8(l,d| (\8t8THXX8|<x`H <   4Xh0,,\| 8!"#X$%X&'()8)*+,,-.0/H00123P45`667(7X78p9:|;<-=F[26=4&+54&#!"3!26=326=4&+5326=4&+5!"&5463!2462"&+"&=46?7@64/B//B/ $ $ (0`0(@(@l!//B//d    /?H]!"3!2654&!"&5463!2'#"&=46;2#"&=46;2'2"&46''&';26=4&`l8hhhh##2##^    H#2##2#}     !2".4>7"2>4."36\66\l\66\6CrCCrrCCrC)F))F)6\l\66\l\60CrrCCrrC`)FRF)1;ERf%>54.#"&.#"2?67264/>54'2&'>4632&".4>2/&=46;24!77!4**)dd(++`&)>&>)0Q//Q`Q//QE 2 +4$$4+,1'H++!!+*H'1&5@&5/Q`Q//Q`Q/`/l" /?+"&=46;2!26=4&#!"!26=4&#!"%#";26=4&`XXM        /?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"X XXXp        /?#!"&=463!2!26=4&#!"!26=4&#!"%!"3!26=4& XX         /?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"XXp         C%"264&'"264&"264&"#54&#"."&#"&#;26?6=4&+"/&>6=46;26=46;26=46;26=46"264&7"264&"264&'"264&  G  9  * !&! *  r #-*  r  %     '  '       p    **\ ;$h#%X* g   7   @    P   p   @   #KTgmv~#54&+"#";;26=326=4&#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53(808808ET$!!!8P88P80 )(} ,4, 00$ I~@(< *$ 880880tT(!!!(88((88(  `((`0XI((eI4%&'.'"&'6.#."?27327>?>%.32"'1.#"3267162#'"&/&6?6?65>76767676.7676&&67676&&'&4676&#"&'&6213264&#"1"&7>32?6{ %4M  *"+- ( %4O  *"+- "$      #T;(4%$   " ' "4%$  "  '  "$      $S;(()  " K+6 $Q  " K+6 $'   #  PC%A       .C%A        #  PBKT%'&";5326=4&+5>54&"#";&'&'326/&";32>73262"&46=4&463!2#!"&5#!"&=463!2#"&=46;2``LlT|hh@@64R /"2>4.".4>2#"2?6&+54&+"CrCCrrCCrC6\66\l\66\VCc cC(CrrCCrrC@6\l\66\l\64."".4>2+/&4?632CrrCCrrC6\l\66\l\6HtcctCrCCrrCCrC6\66\l\66\"(Cc cC /%4."2>%4>2".7546;546&=#"&CrrCCrrC@6\l\66\l\6HtdctCrCCrrCCrC6\66\l\66\"(Cc bC /2>4."2".4>#"&=#"&?62+CrCCrrCCrC6\66\l\66\J(Cc cC8CrrCCrrC6\l\66\l\6tdct%#54&+"#"2?64&'3533JlJ(Űzlz''ర'.%#!"&=463!2%762++"&=#"&43353'h(4X40dXd'PP''.3#"&546;2"&=#"&=46;5462#37$'PP'hr(4X40dXd'.32+"&546'&4?6232+"7535#5'PP'h(4X40dXd'.5463!2#!"&"/&46;546;232'#5##hr(4X40dXd|'PP'%5326=4&+54&"26'73#''రJlJ(Űzlz#";2?64/&"5#535''రpJlJ(Űzlz%53232"/&6;5467#!"&5463!24&#!"3!26(Cc bC`0T@tcct0`T%5%+/&4?6327#!"&5463!24&#!"3!26`tcct``0T(Cc cC`T%57546;546&=#"&%#!"&5463!24&#!"3!26`tdct``0T(Cc bC`T%57#"&=#"&?62+#!"&5463!24&#!"3!26(Cc cC`0T@tdct0`T.#54&+"#"2?64&'3533#!"&=463!2P4X4(dXd0h``''.%5326=4&+54.>'73##"&546;20``''04X4(dXd0h.#";?64/&5#535732+"&546``''P4X4(dXd0h.73;26=32>/&"7##5#'5463!2#!"&04X4(dXd0hp``''73;26=3264/&"7##5#0JlJ(Űzlz''ర 7"2>4.".4>27'&"54&+"'&"2?64CrCCrrCCrC6\66\l\66\L CC z yCrrCCrrC@6\l\66\l\6GG yy  7%4."2>%4>2".'&4?6232+"CrrCCrrC@6\l\66\l\6yy FG CrCCrrCCrC6\66\l\66\Lz y CC  772>4."".4>2'"/&4?#"&=46;'&4?62CrrCCrrC6\l\66\l\6yy GF CrCCrrCCrC6\66\l\66\Ly y CC  72>4."2".4>762"/+"&="/&4CrCCrrCCrC6\66\l\66\Lz y CC 8CrrCCrrC6\l\66\l\6yy GF %'&"4&+"'&"2?64   U  -762"/+"&="/&4!"3!26=4&$  ^^ Th aa -"/&4?#"&=46;'&4?624&+";26( aa ]  ^^ h.7'&4?6232+"';2654&+" aa $  ^^ Qh-%"/&4?62546;2762%!26=4&#!"]  ^^ hx aa 764/!26=4&#!764/&"2U     !"3!2?64/&"U     -=%"/&4?62546;27627#!"&5463!24&#!"3!26by y CC [`0Tyy GG `T-=7'&4?6232+"#!"&5463!24&#!"3!26yy GG `0T>z y CC 5`T-="/&4?#"&=46;'&4?627#!"&5463!24&#!"3!26yy GF `0TBy y CC +`T-=?62"/+"&="/&4%#!"&5463!24&#!"3!26^z y CC e`0Tyy GF `T-%"/&4?62546;2762!"3!26=4&]  ^^ hؔ aa .7'&4?6232+"'4&+";26 aa $  ^^ h-"/&4?#"&=46;'&4?627;2654&+"ȕ aa ]  ^^ h-?62"/+"&="/&4'!26=4&#!"$  ^^ h aa 72?;2652?64/&"   U  2%'&!54&6=!?64ccc cdGGd dGGd 7#326/&";#"2?6&GGd dGGd d; cccc;%3546&=#32"/&6;5#/&4?635#"&?62+t``tLa aLt``tLa aLLa `Lt``tL` aLt``I+!764/&"2?64/!2?64/&"[II || IJI || 1 FF } } FF } })+%&"2?64/&"2?'&"2?64' FF | | FF } |eIJI }} II || c%"/&4?6235#"/&4?6235#"/&4?62"/#35'&4?62"/&4?5#3762ia a *- `` -* a a *- `` -* $`` -* a a *- `` -* a a *- /CRajs|"&4632651676767654.""&54>274&"265462267>'&'&7>'&'&"264&"264&"264&7'  '  7B7 -M\M- 4L4H4" 0 (P $; 2 J  _@"@@' !7 7!  .M--M.  5$44$   Q 7%- ' K.'@ v@x@"@5%'7>/.54&+"'&?;26=6?6&߯        [ee ee ee ee FT%4'."3267>/.#".4>2#"&?6&+".#"32673276"&547>32" qrCCrC(K  5A6\66\m\!' "$>%1,, H)' "-C418CrrC &6\l\6*')6- 'F,.8 *( %96;IQ!"3!2654&!"&5463!2/&+";26?3;26'#?#";264&#532`l9 $94 T  99.550 @  g?4Y3b0 "%>54.7'>54.7'  З  ŗ @  } @   }(q%4&'6.."&7267>'>'&/"'&/&76?'&'&476?'&'&6767627676'"/&4?62762&2.6.2&&2.6.2&l % 5 %    & 5 %    [ < .2&&2.6.2&&2."$    & 5 %    & 5 r[ = (q"&'.7.467&>>26''276?6'&/76764'&/7676&'&'&"'&'&767.2&&2.6.2&&2.X 5 %    & 5 &    % @&2.6.2&&2.6.2&l   $ 5 %    % 5 & @-6LOfi>5326=4&+&"#";#"3!26=4&+2"&4694&/.12>'#!014&/.12>5'#8t0th  9$ "" $4<4p@$ "" $4<4p@%  `   1G G1 $$ 1G G1 $$ "2>4.>.67&CrCCrrCCrJ$&`_$&`_CrrCCrrCk#_`&#_`&`"+4=G!"3!26=4&"&=46;72"&46'462"&462"&7"&462+532(0$44$$44 hP ` hh`4$$44$$4XH V R`/?CSc%326=4&+";26=4&+"#326=4&+"!"3!2654&!!326=4&+";26=4&+"h00c00+  800c@`0 4IYi~#";26=4&+";26=4&#54&+";26=4&326=326=4&+"54&+";26'#";26=4&#"#";26=4&#";;26=4&#";26=4&C00+`    `  005 `   `  00@`   0 `    `   `  `   #-7AKU_is%!"3!26=4&%4&+"374&+"374&+"3%4&+"3%4&+"3;26=#;26=#;26=#;26=#;26=#xp0@` `0@P`0@@0@ @0@0@P`$$ #'+/37;?13333333333333333333333333333333  $    |/!"&=463!2!"&=463!2!"&=463!2XXXD       4<D"2>4.67'.7677&'>67&''&7'6'7&547CrCCrrCCr     %_/2'     %_01  CrrCCrrCt "X-/& ! # "Y,/& ! p >> %&# $&#" >!5>G'..>'>?>''67'7676?6"264&"&462rBL7;M@JH >1B*-$%+  K(88P88(( 7?C7 P 5E5A /0!  &#  8P88P8((  "',28"2>4.&'7767677'7!6?677'667&CrCCrrCCrQ=0{+-P-&1 A&/ *D6+{&'1 "(2 \;/{(-F7({%CrrBBrrCA&{+6- /H 1' -+{0 2(" 1'Z%{(7 -({/ +BFIMPSVZ]e%?6=&'.'.57676767632'''#"&=463!2+7'7#7'7#'7'7'?75!353gRNHINQg *7FVoR;' KBBKp.,*A)R@,.0>'%%+++s7 o*5"vO,(),Ov"5* %+3$;0HHHH  @,,*)@,,* 5++(5PP00PWa%!546322?64/&"..#"#";;26=3!3;26=>=326=4&%>&6#!"&=!\    _   # #!/ (` /  _   /!0) && )0( 0$@%"&?#"&?>;232%37#";7#%#54&+33##326=326=4& %_  m ] mnt 8       E000@`@0 `!3#!5%!"3!26=326=4&+54&0   0@`@0 `!%3#!5%!"3!26=326=4&+54&!!0   D`0@`@0 `` %%#537!!535#5232+#!"&=463@   0@`p ` %7#53%!!535#5232+#!"&=463P   0@`p  19%!"&=46;#%++"'&6?62!232#5!353:#@#cP \/  DI 0 ۦ P00ฐ ?  ["@@` %%!5!7!!535#5232+#!"&=463@   0@`p @$.5!2#5!#46;2462"&7264&"!546;24&+300 0 8P88P80(( (80ttPPty(88P88((4@ 8(@ 2BL"&=4627"26=4&#!"&5463!232'#";2654&4&+7>5H 6*d "(    ($ `*:TX  A#M]7"&76767';2653'"&53'6&'&'&'&54.'654&"'&"2?642%>  /  ']%6%-76 0D   %@(5z   7  10 1) & '%%0H <- &)G/  k * | 7 . -4N%&'&'&54.'654&";26532654"&537!"&76767654>2  %@((@%  ']%6%]' 0   7@7   u &)G/  /G)& '%%'v H  . 7 7 .  9HLSk"'&+";#54&+";&#"326732?2>4."&4632;573#.'73.'&67?>/63O D9 ` =#;"#:#+D ! n#:E<"":\$44$< \ ,':x"1 0  /#1, 4  % #;E;"4( 3";#"7652"&264&#!546;53353353322767676227676762276?54&#!"5"'&'&'&""'&'&'&""'264&#  m@0P0P0p  !    "  `     "    0    %&&%   pppppp9    9Q    Qp&%   6?&/7"264&62>/&+1"26=76?5'&'> 3Hj$i x D / A> ~H $$ TV J(  wq!,7%>54.+";#";276764&'32++532$"82""*$+T(Z_d#*4 #5 !U;  '*#(C 37#?#";32676.+76&'}7vv@&  >0% "T&2?KXdp7''&"&#"2>54'764'".4>3277+"&46;2'"&=462&4?62"'&462"'"/&462#""&54>328859_88_r_8R+JVJ++J+  L<    H  U   !0 08848_r_88_9% +J++JVJ+L 70    3  w !  09CL546;2+"&326=4&+"#!"&5463!2!"3!&4!"63!. !//!` /  : @(  U   .   /!`!/   &m  !"74&'463!2P0ppTTTv "+4"2>4.".4>2"264&74&"26"264&CrCCrrCCrC6\66\l\66\ c CrrCCrrC@6\l\66\l\6( 3+6Jv%&'.'&'&767676'."37>#.7>#.76767673&767676'."37>'&'.'&'#.7>#.76767673 -B-  ]d      -B-    d       *    ".."    * (q' 'r 00 m U"  "U   "..#    ) (q' 'q( ) m 00 m U"  "T"*7L'.#!"3!2>54.'3#'3#533".4>27&"'&"2?64'"24X4&C%A!#'B''BNB''BE7^;d4X4-N6_P*.*K'BNB''BNB'F7^!'.#!"3!2654+53!3#5!323ƅ"+4%#54&+"#"3!26=4&%3753##53753#53753Ppp l@00@XP00H(H00P[[[[[[#@7/&/&6?'.?>767#!"&='&54>;24&+"#.547#"'&4?62;>;26=4&+"32+35#"&=46;4?>2222!440!!.G/# "X # %& W*ONSfXY33!-!2"   %%:6#T*00 ; y#,5>GPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&p((0  (   (   (   (X((X((X((@#=AQ%#54&+"#";;26=326=4&7#54&+"#"3!2654&%3##!"&5463!2X808808up`p``l88088000 00';#54&+"#"3!2654&%3#463!2!#!"&=3;26=3p`p```lh` 6jz$$)9!"3!2654&46;2+"&5#!"&5!5#!"&=463!2`L((l`<41AH\%#5764&"#4."#'&"#";2?;267264/6=3264&%2#4654&+"".=!@)) %>J>%))@  @7370737@ $44;44^))%>%%>%))^+%7337%+4$$4p44/?O_s546;2+"&326=4&+"326=4&+";26=4&+"54&+";26326=4&+"!546;&63!232%3546;23%(((({((((G((L((@ Q p(q,((((`((((T((((|$$  HCCA8<MW%4&'54&#+";7676&/&'&46&'&6726=>53&'&'&73&%&'&'56767@B6RV?  NK2=? 4 "U:7>AA>7:9+`#&*  !*5"`` '!#N.f. &3<2".4>7"2>4.2".4>7"2>4."264&6\66\l\66\6CrCCrrCCrC00800)F))FRF))F)!!.!!6\l\66\l\60CrrCCrrC0800800)FRF))FRF)`!.!!.! "22>4'&'&'&/&5476.54767S581WpW195R5&5)4 3(5&##..#IPUzb66b{UO57L1*%.;"9 9";.%*1L7, )33) ,KUY_7462"&264&"7++"&=#+"&=.=#"&=46;547676232!3!265%!5%!."h"""     ' 8.f.8 ' PH`V_|_p"""P /  ((  / P ( (tPP0#3CScs!"3!2654&!2!546!"&=!'+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2`TV`((`((`((((`((`0rr`((((e((((/?O_7#"&=46;2754&+";26754&+";2654&+";26'54&+";26754&+";26#!"&546;546;23546;232!3!26((g((`((`((`((((`0((00T(( (((([(((((( `4444*#-B#54&+"#54&+"#"3!2654&!"&5!'"/&4?627620((0``7 K ,o 4444`p*ɎK -n  ?I7&?627'&"?647#!"&546;546;23546;232!3!26/s0sT.t0((00T/s0s .u`4444*<F7;26576&+""&462#54&+"#54&+"#"3!2654&!"&5!".L""0((0``hh"/4444`p*3=7"&=46;2#7#!"&546;546;23546;232!3!26||0((00Tx`4444*#GQ%++"&=#"&=46;546;2327#!"&546;546;23546;232!3!26PLLLLp0((00TLLLL`4444*#GQ%"/"/&4?'&4?62762#!"&546;546;23546;232!3!268 66 66 66 660((00TI66 66 66 66 `4444*#-#54&+"#54&+"#"3!2654&!"&5!0((0``4444`p* %-G%".4>2'"264&463264&#"2673!3737#"#"3!2654&+'.!7 7B7 7!**<**6  !  oy`y~ XX( 7B7 7B7 *<**<*H   !  @0! & #'+8AQ#"&=46;2!#!"&546;76;2!!#34."2>'"&462463264&#"26ttd`"0` X 7B7 7B7 0*<**<*`  !  p$$ -T`!7 7B7 7!**<**   ! !.73!3737#"#"3!2654&+'.".4>2'"264&Wy`y~ XXQ!7 7B7 7!**<**0 @0! &  7B7 7B7 *<**<*!(2%'.".#"2>=2>4%#54762&7>o3; <&44<4p4;54Z-,n!$.4444;Cp/K@ PZjz7+"&462%";264&7++"&=!+"&=&=467#"/&6;7>;232!'.+"4&#!"3!265'#";26=4&  # #  Z    .<$$<.`> $$ [ p ~ p  ### ` "H1   1H"  !((! lH 8   %732"/&6".4>24."2>b ccCrrCCrrC06\l\66\l\6cc(CrCCrrCCrC6\66\l\66\ %/&4?6".4>2'2>4."(cc(CrCCrrCCrC6\66\l\66\#c cCrrCCrrC06\l\66\l\6 %7546&2".4>"2>4.bb(CrCCrrCCrC6\66\l\66\]b ccCrrCCrrC06\l\66\l\6 %%#"&?62%4>2".72>4."cc cCrrCCrrC06\l\66\l\6bb(CrCCrrCCrC6\66\l\66\A! #"2?64&'3p(pp 'pp'pa 754&"26'7'pp'pPp(ppa 2?64/&"5'pp'p0p(pp +732"/&6%#!"&5463!24&#!"3!26}b cK`0Tcc`T +/&4?67#!"&5463!24&#!"3!26cc`0T#c cE`T +7546&#!"&5463!24&#!"3!26bb`0T]b c`T +%#"&?627#!"&5463!24&#!"3!26Cc cu`0Tbb`TA1 73264/&"7#0p(pp`'pp'pB-6?CY!'.+";2654'3264'76&#!'!26?6&"&4623"&4627!'!"/&6;546;232(h dPF%6% %6% 9 -   p~4 4- 5%%%%6 0  hȠd4444B-6?Cg!'.+";2654'3264'76&#!'!26?6&2"&46#2"&46%!'!546;546;232++"&=#"&(h dPF%6% %6% 9 -c  !p    - 5%%%%6 0  X    0l%>&'6..&#"&76767>'>&//&/&?'.?'&6?'&67>7676.)2%..)22).3 3 3 %% 3 3 %% 3 3 %% 3 3 %1)..)12)..)1 3 3 %% 3 3 %% 3 2 && 2 3 % &%2#!"&546;2'&!'.77!DTU XZ :PQ,0h8U`gP5o$4DT%2#!"&546;2754&+";26754&+";26754&+";26754&+";26````0hv2!82#'#".4>'"326?2?>=4&+4.+"2T20D%2T22T:E?k>>k?.U!" "%$?V/$2T22TdT2&H $>k~k>#!"#Y0$/TA$ ."2>4.2".4>'&"'&"2?64CrCCrrCCrC6\66\l\66\ ; [ CrrCCrrC06\l\66\l\6= [ (!"3!2654&!!"/&4?62762``$ [ ; `p`n[ = q '&"2764/&"a  , ma , Ignv754&+&'&5326=4&+5654&'>4&+"#";#";26=4/47>72?#5'.3#6#5753 -  0  -     ,, > ep!*#UU#* @@"  &&c,!!y@<L54>7&546;2#5&735767>54'"/&4?&'&#"54&#!"3!26 505 @@0 ` K U 6($YN  NY$N44N**#/J V A+/ #'+/37;?CGKO!!!#5;#73#'#5;#553%#5#5;#'#5353353%#553353'#53#53#530`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0p@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@37DTaq#5326=4&+";#26=4&+"3#"3!2654&!!2>4."746;2+"&52>4."?62"/&4XphhT0 44<4444<443 3 @004<44<4Hl4<44<4x3 3 37DTaq#26=4&+"3#5326=4&+";#"3!2654&!!2>4."746;2+"&52>4."?62"/&4XThhp0 `44<44044<443 3 @004<44<4Hl4<44<4x3 3 Y]fn754&+&'&=326=4&+76&+5326=4&+54&+"#";#"#";#";26=4'#'53#6'#5753 66  K.$ 6 bp!"X  XF( @@HHyE*+D7;#!"&=463!2!'&6;5#"&=46;546;232+32!3hVV22$228G "0$22$0"@"GOX%54&'&+"3!26=4/46?>=/&=4?'&6;2##5753"&462()$&-N  ( .    " N4 &)J# d2 EE=  :  &d 4X  #8HQ2#546?>=/&=4?'&637#"!54.54&#!"3!26"264&'B' : #  ,  dd @4Xh  p'B'J  2  0&$24X4,i   @9BHP%54&+&5326=4&+6'.'&#";#"3!26=4'2"&463#6#5753(# :)2 #(!!.!!4 L &)7&):0$6* EE5!.!!.!6*+ @:@I#!"&=463!2%676767#"&=46;.54>232+'&'#'264&"@( $4<4$ M$&4&&4& &))44))&05;;5&&4&&eoy462"&+"&=4?546;6'5#"&=46;'&?:3276746;2276;227>32+3237&'"'3&'&=#'5#3d  - " - 6  8$ap @@ +Jq  q!#@@  $ H}HX5463!2#!"&264&" &6?63276746;22676;2327>%37.'&'@h!!/ xi(   ) ) (iBB-$44-4!.!!.!   &ӣ  A 5MU7#546312#!"&=4?546;65'&=46;232'3&'&=75##5##5#'5#30      ʄ( (0( (0  EE 8T h  h T8"(.+ D((((D +.t 19I3!&'&7576=4&#!"3353353#676'5'#5462#!"&=463!2 @) ) (0P0(0 08hC8!+ ) ~  ~ ) + 9-0000\0#+00+#0t8  %#5462+"&5+"&=4?546;6'5#"&=46;'&6;5#"&=46;546;232+3232+3254?546;65'&=46;232373&=#'5#373&7575##5##5#'5#3$  n  66    Q.J6 $aph#V#"|^$ tB@ (FX  X"  %*S  S*% HH*ED{1''1'  ."2>4.".4>2'764/&"'&"2CrCCrrCCrC6\66\l\66\-z \\ { CrrCCrrC@6\l\66\l\6lz \\ z .%4."2>%4>2".?62"/&4CrrCCrrC@6\l\66\l\6lz \\ zCrCCrrCCrC6\66\l\66\?z \\ {  /72>4."".4>2"/&4?'&4?62CrrCCrrC6\l\66\l\6k{ \\ {CrCCrrCCrC6\66\l\66\>{ \\ z !."/"/&4?62".4>24."2> z \\ { CrrCCrrC06\l\66\l\6{ \\ {`CrCCrrCCrC6\66\l\66\)"/&4?62762'&"'&"2?64      f    )'&4?62"'764/764/&"2          )"/&4?'&4?622?64/&":          )?62"/"/&472?2?64/&"          1'&"'&"2?64     764/764/&"2     2?64/&"     %57'&4?62762"'#!"&5463!24&#!"3!26{ \\ z `0Tdz \\ z `T$4?62"/&4%#!"&5463!24&#!"3!26z \\ z@`0Tz \\ { `T%5%"/&4?'&4?627#!"&5463!24&#!"3!26={ \\ {`0T{ \\ z `T$4"/"/&4?627#!"&5463!24&#!"3!26z \\ { `0T{ \\ {P`T?72?2?64/&"   Y   )K.."&;27;26=764'2"&46+"&=#+"&='&4623762-;N;-;**;##2##I  0  II\I[ %22% <;**;7>=4&2>54.'& -G(6\l\6(G- 8Z3CrqC3Z8   8R/6\66\6/R8    Fg;DqBCrC;fF   "2>4.".4>2CrCCrrCCrC6\66\l\66\CrrCCrrC@6\l\66\l\6*3M%&"'&"2?64'7#4&"#"3!2654&'2"&46#!"&546;;26=32 X&Ew+P&4&P   (  (W'Ev &&`   hP   (1GPj%#";26=4&#";26=4&'"264&"264&#4&"#"3!2654&'2"&46#!"&546;;26=32pppp  P&4&P   (  (`h`&&`   hP   /8#4&"#"3!2654&!"&546;;26=322"&46PP&4&P ** &&`pT$$ -"2>4.".4>27'&=46;2CrCCrrCCrC6\66\l\66\U C CrrCCrrC@6\l\66\l\6h>0 +;!"#"3!26=32654&!"&546;;7!"&5463!20@0z*^400@04*`4=[!"3!2654&!"&5463!2'&'&5476'.6762&'&5476'.6762`l;9!T-+;9!T-, V $.. $..6L"3!2>54&'.#".263232#!".546754>2?6&+54&+"#"?a -7+J+P'B'5+A, H)(@% (88(47)";9d dC(CO=Q1+J+'B'.K,<$0,#%8P84*?#;"ddTT6T263232#!".546754>7"3!2>54&'.#".'&"2?64/&"54&+"(@% (88(47)";#?a -7+J+P'B'5+A, H17 h h 7p,#%8P84*?#;"0O=Q1+J+'B'.K,<$7 hh 76L"3!2>54&'.#".263232#!".546754>'&";;26=326?a -7+J+P'B'5+A, H)(@% (88(47)";d dC(CO=Q1+J+'B'.K,<$0,#%8P84*?#;"ddTT6T263232#!".546754>7"3!2>54&'.#".52?64/&"2?;26(@% (88(47)";#?a -7+J+P'B'5+A, H7 h h 7p,#%8P84*?#;"0O=Q1+J+'B'.K,<$7 hh 76263232#!".546754>7"3!2>54&'.#".(@% (88(47)";#?a -7+J+P'B'5+A, Hp,#%8P84*?#;"0O=Q1+J+'B'.K,<$@s237632#1"&'&"+"&7676=4&"#1"&463226/&>7";27;2>'&';2>54.'&'6'.- (#23$ ]$32#( -":$%$>% ^ %=%&$:#6&2G2   2G2%6#06  %1$=$  $=$1%  5 7@IR4&"5>54&"2654&'>7673676767>%2"&46"&462"&462/B/ $/B//B/ +#   0!//!**!//!**!//!)   **z` a !.7#"&=46;%#326=4&%"264&'2".4>wwww.BB\BB.+J++JVJ++J(!(PB\BB\B0+JVJ++JVJ+)2;D"&'&'>54&"2654&'53264&%2"&46"&4627"&4620,4 /B//B/.K (!//   #% )!//!**!//!*n,/B/`@$9'.5>2'764/764/&"2%764/&"2''Vjjjj@  z^^^^&2!";26=32>4.+"&=!#532!"'.3!2p /!!/ #;"";s  P !//  P   !//!";F;"  ࠠ/B/  Gqz%7>'&'.&'54&'&'&?7>=6767676&/6''5.'&'7&47'67>7567'"264&"&462/ @@ // @@ /6, ,"", ,, ,"", ,(88P88((@/ $  $ /@@/ $  $ /@,  22    22  m8P88P8((R.7"'.=&'&'&'&'&6?&7'.76767>6754676276/'7576?67'76/7&''&/5&'77"&462'"264&%.+&'76&'&'&&'.#";6?7767>/6732676'"&462.+&'76&'&'&&'.#";6?7767>/6732676"&462      !0!      7 ' '' '  & '' ' %44I44$!     k_      o  ! !       3,  --   )3I43J3""          2          !!"3!2654&#"&53#3`Ⲹ`p:@@:CLU"76732>4."'>7&'&5476762'"&462"&462"&462 NN!    WF,/NNMN3.$'%"3::33:((p((p((8_9$C     $ 8_r_8 2!%$&&$J$&(((@:"76732>4."'>7&'&5476762 NN!    WF,/NNMN3.$'%"3::33:8_9$C     $ 8_r_8 2!%$&&$J$&C!<Z%#"'&'67673&'67654'6'"273276764'&'&'2#"'#".6767&'&4676?15'S$?54+)  #:.*14>%):.**.:H94;%@*-4%"@9  ;49 !%%%72)\)& <0R,#A2"  %UR )2"2>4.".4>2.?6?6"264&CrCCrrCCrC6\66\l\66\%!f  !f  ^ CrrCCrrC@6\l\66\l\68b b[/75462762+"&726=4&+"2p p _ p _ p _ p pp _ p )>S%#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| dd|  |dd|  |d|d| dd |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| dd|  |dd|  |d|d| dd |  )2GKO%!"3!264&!"&463!2%"264&!"264&#"264&'!26=4&+54&#!"%3#'3# @(88((88(@L s     pp8P88P8((P`  0    )2BK%!"3!264&!"&463!2%"264&!"264&#"264&'!2654&#!"73753! @(88((88(@L s  `  'P@@P8P88P8((P`   p p-?H'&+"#";26=32654#"&546;;7#"&546;;#5324PPJ`~j X@ 0~400 4*`4X @0 B"2>4.".4>27#".4>32'&#"327676CrCCrrCCrC6\66\l\66\5 !&(@$$@(#  !$*$  CrrCCrrC@6\l\66\l\6e %@O@%  .D   A/?!"3!2654&!"&5463!2%+"&=46;2+"&=46;2 ,HH`pTD A/?O_o!"3!2654&!"&5463!2%+"&=46;2+"&=46;2'#"&=46;27546;2+"&'546;2+"&%+"&=46;25+"&=46;2 ,HH|888888HH P  P `pTD'(( ((((-((0  0 A#3C!"3!2654&!2!546!"&=!%+"&=46;2+"&=46;2  ,HH`0**d(((( '2;D'.&/.7%>/&6?>.'77'?6"264&"&462|   E7G   %/lK&l&PG(88O88''f  ;b   f[D(l4krF9O88O9((369%#764/&"!54&+"#";3!;26=326=4&57(> =  (  ( (  ( "@> =(  (   (  (  3cl%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&4624T11T44T11T47O**O77O**O/1T44T11T44T1**O77O**O77O #2?>=4&/&''57  иN gi N,NUT4J\[J #'+/39=AEJ%54&/&??>=4&/57'7'''5'1773'5575'57 \ \ i ciib \hhhh\\aaanll ````zaanllq ## q' k 1441 k b b|''% b 1]'B)(,'^00]&61g',,(+3;%.+546;26=4&+"#"3!2>=4&'!2!46!"&5! 3! 4 !3,8'B'`'B'8,t`(88(8 8 (   4( K/ 'B''B' /K(8((88((8)2;D%764'&"'654&"327&#"2654'72764'"&462"&4627"&462(+ 8P88(++(88P8 +(((l+(88P8 ++ 8P88(+(((( 0@Y2".=4>".=276".=276".=276"2767654'&'&0Q//Q`Q//Q/Q`Q/1.l.1/Q`Q/1.l.1/Q`Q/1.l.13.8 '' 8.f.8 '' 8. L L  (( ($( Od'&4?62"764/&"2%476767654."2654>21#"32>'"&54&""&5462W W   = -M\M- 7B7  '  4 "4H4D W W  s  .M--M.  !7 7! '5   $44$ @.!"3!2654&463!2!#!"&46;76;232     c N c  6 88@4!"3!2654&!"&5463!2#!"&46;76;232 ,,  c N c   88 !*Gc{!"3!26=4&%264&"7264&"264&"#"'&'3526?6&'&'276735#"/&6?.'7632&7&'654."72"&46264&"xp     w   =60"  # "06=   `Q;F 4<458 &&4&&:       )      8 !q,  5;  ,q! 5[(  )44)  &4&&4&  '&4?62"7' * *0 "  " 8>CI4&+"!.+"67&'3;2>7!;265&'&'676673'#67#&'  < "-e/  &RR'  &     ),G5 #8\88   22S87S3Q7&'&'&'&476326?6&'&'&'54&+"#"'&'&;26=6764 *  ")' (!   "(*   *   /1)0       //ZB&/%'..+.+";22654'7>"&462? '^Y Y]8P8(H   +(88( H (( N7!26=4&+54&#!"73#3#'3#!4&+";;2654'32654'326=4& 0  PP p P 3((S `  p  P0@`      -%!4&+";;2654'32654'326=4&p p P 3((S 0      F7!2654&#!"73753!!4&+";;2654'32654'326=4&  'p00p p P 3((S `   p p`      B'0B%'.'.'.+";22654'7>"&4627.+'7?>/7? HY Y]8P8(8'2V RFJV   +(88( H ((k; ; "2".4>7"2>4."264&6\66\l\66\6CrCCrrCCrC!//B//6\l\66\l\60CrrCCrrC/B//B/@%,6?%#76.+54&+"#"#"3!26=4&%3533!532?3462"&\.@`@.\\p`p B(BX.'pp'.P`BB@ O_o%#54&+54&+"#54&+"'#"#";;7;26=3;26=326=326=4&#"&=46;2+"&546;2+"&546;2+"&=46;2x! ! !`! ! !! ! !`! ! !  e    `  H! !!!! !H0H! !!!! !H08PPA*/9%76#!"&5463!2+!547&?62'7'&"764   `Z 1+t:A+ :g `  r Z+10:A +: !$%!"3!26=4&!5!%!264/&"7!```(Ű@@p@@''#,5"264&"&4627"264&"&462%"264&"&462**<** **<** **<** *<**<*``*<**<*``*<**<*`%"&4627"264&!"264&0((x(((((((#,5"264&"&462"264&"&462264&"72"&46`**<**  **<**  **<** *<**<*`P*<**<*`0*<**<*`p72"&46'264&"264&"@(((((((h((1Q&/&'&"3!2654#!"&=4?6762"'&/.?>276?6$d 0 _(0l   4Q Q0Q Q  Q O    K!s )BB B  B A A*:J7&/546;2"'"'&/&';26=7#!"&5463!24&#!"3!26> >W8 q`0T*  *  ' \  \ `T+!"3!2654&"'&/&'55276?`#d    d#s0t 0)M N)\  \ %64/&"3!26=4&+''7(`d$g9`w7((``g`w7=J'.#"&'326?6&+&7326?6&+>326?6&'&#"#";#";327>< 0JJ2Iq 68K 5,  -5UCD)+ +&=!"&=463!5466=!26=4&#!54&`|``|`aHHa aHHa ;"/&4?!"&=463!'&4?622?64/!26=4&#!764/&"d 3e3 dd 3e3 dd 00 d d 00 d  "2"2>4.".4>2'"&462';26?6&+"CrCCrrCCrC6\66\l\66\ ""Q*6CrrCCrrC@6\l\66\l\6h"ˆ(8#!"&5463!24&#!"3!26'"&462';26?6&+"`0T""Q*6p`TL"ˆC'37;26?6&+""&462.3!2>'62#!"&*6R"" !! 4pp"W `!!r02+"&5'4632"&46#"2>54'6?6& D .&&4&&H\#  4<4  #&4&&4&P%!-44-!%/"/"/&4?'&46;2'&";264/764/&"k l _ k _ l _ l kl _ k ;776+"&?'+"&=467'&=46;27'&6;2/z66yy56zz56yy56y56zz55yy56zz66c%+"&=4637'72+"&=46;27'+"&=46;2#'7'"&=46;2+"&57'7'46;2>>>>t>>>>)>S=46;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |d`d |d| d || dd| d |d| )>S546;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |d d |d| d | | dd| d |d| A%;%#!"&5463!2#!"3!26=4?67#"276=4&TTt0 1`1 05!"3!2654&!"&5463!2#"2?6=4&`T80 1`pT01 0=!"3!2654&!"&5463!2#"372?;26=4&`T8: `pT0 :@E+"&57'"/&47'"&=46;2#!"&5463!26/&#!"3!26=4&@ ! I .` I ! T$)&"'&"732?2?64/7>#57L^  8F  ^<<^  F8  ^K<<@4E%.7"&'67'327'%&'&6?6632'.'2651>(= L%!7@&+JKY I-0  8,.YKJ+0"rD!.!()CY2J'J>8$'*A  I+,.p+BE  O ,+I  9H.!!+b&:Ay1%&'&"276764"&'>7"&512>54'9+JKKJ++JKKJ+L%"rD!.!%>J>%*C%I+,,+I  I+,,+I J>9H.!!"%>%%>%.%;&>J'*-;26=>=>54.54.54&+"/'     ɐP | @ }  =}}}'*-#"'&'&??;2654&55    7P | } h|~| /?O_u~#";2654&+"&546;2546;2+"&546;2+"&7546;2+"&546;2+"&54/&+"3!2654&%3;#!5!P%%%%   ((((`(((( 0  `%%% %   (([((e(([((&* 0 X X `4(E%'&'654&"3;26=2>2"&46#+"&=#"&?>;732-0 ;R; 0 !& &! ,f0   0 0  0 t &);;)& ' && '0,,P P  /LU'76&+".764&"276?32>54&'76=4&".46762?%"&462l=-["" /B4Xi+<%!7 )!U4)" /B-S); 3*<**<*`=-[ !B/F&4Y3!) 7!%<"(5:4 !B/.R;)  H**<**1_/#'>4&+3'#37#3264&'73?676764'&'&'##5##'53535'575#5#57335331l* GJ%%JG *l$  %p'`0(8 (88( 8(0`'p% X @ %>x>% @ X  . b xH 7"7 Hx 14=%+"&=46;2#";26=4&7#!"&546;2'3#"&=#  gTLh MT.rT 4LР h$$)    ^T`LLdh L$8$Y  : 2'&+"3!2654#53;'"/&4?62762rT 4LР h K ,o ^T`LLdh K -n 2BX'&+"3!2654#53;/7>/&"2?6&7'&6?6&'&"271764rT 4LР h!!99R77T9!!9^T`LLdh s66\66+9'&+"3!2654#53;'&?62/&?62rT 4LР h}/s0sT.^T`LLdh /s0s.E'&+"3!2654#53;'#"'&'&+";276?;26/676&rT 4LР hL .. . #^T`LLdh $  NN "  N= -6'&+"3!2654#53;';26576&+""&462rT 4LР h".L""^T`LLdh hh"*3'&+"3!2654#53;%35'&"'&"7"264&rT 4LР h X' '0(^T`LLdh 0X('((:='&+"#";2?3264&+'&"'#53;!5#3!26545T0 q!2W  9!2/ h0 L^T  A c"A c"h ``LLL#58A74&+"#";;26=326=4&+7'&+"3!2654'#!3;088088T LLP h80880T`L=764&'5'!`@%@'/ ݢ'08AKO#6."6767676;;26=4&'536=4&"&462#5463127'57 : % #   ) )(   Y`pp !# "   5!  !4  h 5   [*L4&"&=4&2>54'&'&'&'&".54672654'&'&'&7  " &,4XhX4  # 'B' 4H4   7  'B  0.%&$ jT/4X44X4,& f'B'18$44$ '$"5"'B'@#3=AK73;26=326=4&+54&+"#"!"3!2654&#"&546;!!+32808808K <**P `**880880`pT`` $*17m56&/'65&5&'&'675%6756'7576#"'&'&'&#"+"&5.54663232#"'.'&#">3232767( !" '!&&"  (#%h%#, ('o&"#h =C (  ') ,T!& 3H! 3OF E B EC  B R F GE FC F  ( S        5T"'&'&'&#"6'.'&;26=67632327>=4.#"'.'&#"56763232767P )'  ( C= AT3 !H3 &!p   j S (      -%'5326=4&+";3!2>!"&?6=3uu'2'J u`u -4"#3&  C'+%#54&+'#"3!26?6.%332!"546!7!0@ P @ ?M{0@ #p@* h##'#"3!26=4&!"&546;32@l@@@@+4%&+"#";26=4&+73#";26=4&#%7671 6 x##x76ydd '.z.'#&767676&'&'&%'>7''&"'&"2?2?64/72?64/72?64/764/&"'&"CCVQ DCVP J i.>X{XV.+         WPtLN VPuL+.iN>Y|Y +.        3:SY]f%#'7>'.#";3276'&/3367>74=4&#'&6?'+"/#.7>7632'.'35#'3%"264&| Eg;@74C5*(  + 4$  ($  _16)-4>f.* epv L 9[4a8520'1$1  $9 Hu"0R/I%,OF9" ((1BK`%54/.+"#"26532654&3#"/"&4627#."53;&#""&4627#4&+";26=4&N08P8@8P8Oz M0(Z ,3BNz ,F(`   gl p(88((88(%6 <((` }="v((@ `   #7'&?64'5%'&?64'5  ė.  ė٠   }   } -AQ2".4>7"2>4."12"&51264&#"12"&51264&.7>>6\66\l\66\6CrCCrrCCr  !.!!  !.!!PP  23  6\l\66\l\60CrrCCrrC  !!.!  !!.!&&   #*19.#"327>'?''57'/6'&'7'73G`4'&@WG`4'&@W`4,G' G@/=/@G &5%'G+O,; 3N* c@3N* c4.'2#"&'##".4>30 00 0"Q"#;"";ETE;"";#0Q//Q0#>.>#0Q//Q0 00 00=""P""";F;"  ";F;"0/Q`Q//Q`Q/16B'.'6&/&"7&"2?64'72?641'77'7''77  6 'h  9'l%(l9   % jU%l%tgt 6  h(  9l(%l'9   j'%l%*thtC!$!"276/&#'#3#'3#3'3?3d d?D4Z4<94D4DaPD4U0`````0S P2"&467"2>4.(88P88('B''BNB''B 8P88P80'BNB''BNB',8DLT#654&#"&'&#"#";3!26=326=4&'>7632+'2#"&46535#537#3#53<4$$4<  `  Vz V7蠀 $4&&4$  PP "!"P!""P0PЀ0P6&#!"#"3!2654&+57' l ( l    #).4:@"2>4.#&'#6'3&73&/3#&767'#>3.673CrCCrrCCrqT (>"^^l ^^ k T>PT (> T>CrrCCrrC9. 6((((((((0A,,A(((XA,,Ag.9$69. 6C.9$6?N[hu%4.;2;26=4&+"&=3+";26=46;26=>'2#.54>#"&'>'#"&'>'#"&'>'7^p`:"!!  !!"+J+##+J[    P    @    8_86^8-P:!! !!;N+J+'CC'+J+      K   8'&%&3!2676&#!"'&71326=4&+5326=4&+546w z.%/6 HHHH dI&& p  0  C1?G'1&;265'>4&'727654'7>4&#"'&'72?'/76_  0 3 K77K c X5++5 n n|,O O {{ R++O  C"" MMMC!"3!2654&!"&5463!2+"&=#+"&=46;23546;2`T4`pT$\\\\eaKm7+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32#"2?#";26=4&+4&llllyD 88A\\\\B je0|%32+"&'&54767676764&#"/.76762+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32э      ![:* llllQ   (   5)'  !\\\\ia/{%#"&'.?>3264'&+"/&?"&=46;2+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32h?/4 #!"A oL&/4llll,= +L X1i\\\\A97!2654&#!"73753!&"+"&=46;2676&+"!2?>p`  'P@@P ]V * Vu    p pXJ F`y @C%'.#!";#";2354#54&/&+"&546;26?6&+"&=463!2- !/!r$4!d0c r &  !!/04$!&H|$p'@  ![54..&&;26?6=4&#'&>6=46;26=46;26=46;26=46u' // &!w  .s       O ""~ 7  )w  &       L #_.54&"'.;26?6=4.+"/&6?>/&6;26=46;26=46;26546j #+<+  88 87 %(  7@;      X++^O80bwF"w b       8ir26=6767>=4'&'&'&=6=4&+"13277"&="#"'&54767676767673'''462"&"1 !(3    /$ 1"       ! $ }@1"$ 5.  @  @    *2V"10          [ 8ir5;;2767676;;26=4&+"#"&'1&'&'&'&#"#"46;4'&'&547632+"&7.7.7#"&2"&461"$ 5.  @  @    *2V"10          [ "1 !(3    /$ 1"       ! $ }7gp#654&#"1+&+";2732;267>'673264&#+"'&'&'&'5676767676763232"&462V2*    @  @  .5 $"11"[          6 $/    3(! 1D1v $ !        7gp&#"1;26=4'54767676=4&'.&'54&"666#&'&'&'&'&'&547632354622"&46j $/    3(! 1D1v $ !        mV2*    @  @  .5 $"11"[          "_o..54&"&;26?6=4.6=46;26=46;26=46;26546+"/&>546;2+"&7546;2+"&7546;2+"&f- '7'!m %*        m fL K  J'' 7 wT# m&   # #    Tw ` ` ` ` ` `  @PT""/.?6.354?6=4&."/54&"354'7'&"2?64'7` Z &9 k `& Z k a  a a  a KKK l  3  M"+    3  l   +"b b  b b XKJJ*o.&"&&;26=456?6=4.#54/&=466=46;26=46;26=46;265469@4#*b + 0+a      q  &%9-U   dr'  d U9 ) t  ) (    #^32?>=4&/&'&'";7"&6326=4&+"&6;26=4&+"&6;26=4/.66?>Fwb08O^++X"       b w % 78 88  +<+# (0      ;@7  )k7;26?6=4?6.#.'&'."&71626='&6;26/&6;26?>;26?>#'&4   "0/!5%45#  *- *&  |By k%'i"&'8+2 E        q  % `u9Bn#"#'.+"&+"#&+";26732726767673;26=4&"&462%'''#"'&/&+532?6;26?7#4/6."'&6?6;23"&462h0  (/ *' 0  0 L23$#( 0        Q  ,  ,..I IN6  :/.'0  `$'  D          I ,36 ` h > D5   KO76&+76&+"#76&+"#";#";;26?3;26?326?6&+7326#73Yo]Y^Yo]Y^pp j nj n p j nj n pvp@&/%'.#!"3!26=4%!!!5!"&462"&4627i i YNV  `ԗ p@  K3#5326=4&+";#";26=4&+53#";26=4&+326=4&+",%%$$%%$$p`8>D";26=4&+"54>2.+";2>576=4."&4652FuE 3  38`p`83  3 Eu&&&&EuF2 2 8`88`8 2 2FuE&4&&4&)0'&'&54632632"'767654&#"'&'&#" QG6::6ES $62""260.ER22QF%&# џ25 52 (G%"/#2?#"&#"372?3654'&'&#'&"'&"#&7>32>7632  mD4E8++8%#&&u82&&#/M1:$<=,"  ,=l ##"%/8,H c,,8/%"7 b V"+(; !;(+1.+";26?64'#'73 pq qppp   .@%#"&'&4?6232>4.#"+"&=46>3276&/54&+"6CrC/V! D&6\66\6)I1-"[3CrCDX CrC" 6\l\60,"'Cq 2@!'4"27676=4'&'&".=767".4>2G<@%((%@==@%((%@<+S #r +7r $0_@     5pHp x Epp11B%'54&+"'&"?;26=3;26=6?64#54&+"#576--    @ ```%d<{     Ό/?O_%#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&7#54&+"#";;26=326=4&7#54&+"#";26546;546;232;2654&((((((((((((x  x!  ! ((((((((((((* *!`ZZ`! ="2>4.".4>2#"#54&+";26=3;26=4&FuEEuuEEuF8`88`p`88` `  ` EuuEEuuE08`p`88`p`8@PPPP/?]u7546;2+"&326=4&+"54&+";26326=4&+"!546;46;546;23232%3546;23#+"&=#7#54&+"#";;26=326=4&((((G((L((@ X p Y p(qA p @((((T((((|$${ (  ( CC_  01:!";#"3!26=4&+4'&'6765326=4&".5!t//h//#;"";?7<<7??7<<7?2T22T217=326=4&#!";#"3!26=4&+4'&'676'#&5#>2p//h//0 ?J??7<<7??7<<7?*&&*/9919!";#"3!26=4&+4'&'6765326=4&!4>2t//h//9";F;"?7<<7??7<<7?02T22T19A326=4&#!";#"3!26=4&+4'&'676%!".!4>2p//h//";F;"";F;"?7<<7??7<<7?2T22T2T22TM&'&#"36#";"32767326=4&#'&=326=4&+54726=4&#"$#"$$$\#$$#"$$$\#$  "7   "7 "73!2654&#!"#!"&52"&46''&';26=4& P)):))m `4zP):)):) @&0R#54&+"#"3!2654&%3#"&46232#546#54&'654."#3;26=3  @     !!.!!?P)p080p `      @!.!!.!0@* %00% *`   /9BV%#"&=46;254&+";267#!"&5463!25!3!26%2"&46'&';26=4&hhhh``0`*N&  < **h     (5!"3!2654&!"&5463!2%"264&!5'&"'&"`l"1@X x( ( ""PXx((@+;DQ%#!"&546;#"3!26=!"3!26=4&72#!"&5463"&462762762! tZtx""H( (h H 0 P0p"q((hHP@@"/&6;546;232##'#!7#!"&=4?>3373'&?6c cC(Cx x0  f=i t i= f cc@@pnnnrE@@ErABJ762++"&=#"&7#!"&=4?6;2+3373'#"&=46;2##'#!c dC(C  f449i t i854f 0x xZccnnr$@@@@$r@@p@%%'.#!"3!26=4%!##'#!533737i i YN{ t { x xԗ p@@@@/?K5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"/&?64XX,``p        g` `'7GW54&54&+"3!2654&!3??#"&=46;2+"&=46;2+"&=46;2ۋ  p   `@  <((((((4.".4>22"&46+"&=46;5#"&=46;232CrCCrrCCrC6\66\l\66\6"IX @ CrrCCrrC@6\l\66\l\6R""@d(G#!"&5463!24&#!"3!262"&46+"&=46;5#"&=46;232`0T"IX @ p`T6""@d$-L754'654.";26=4&2"&46+"&=46;5#"&=46;2322:2&&o##2##i   `  _*22 ' "(&&(9#2##2#p ( q '  !%)-;#"#54&+"!54&+"35!34&3#53353354&#!"#5!p 0   0 0 x0x0  0      0p #3#";26?6&+326?6&+"Y)D-*D.p  `  @$0<m47>. 7654'&"'&4762'762+"&?62+"&54&+""'54&+"&'&'&6;26=26768 ?G4G?:Bt9CC99CC90 0`0 0`B4Q0V $ i8??8ie7?u$**$$**$PPPP* ##  7@2#"'###57&54>7";26=326=732>4.264&"@'B''B'* 0`'B'4X4{  (4X44X4(('BNB' *00`'B'04X4 {   (4XhX4(@/?O_o!"3!2654&#!"&5463!254&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26   ```````b  M`&*1r!"3!2654&#"/#+"&?6;2!5!#?17546;546;232+'&'&/&6767&'&6?667#"&h  P w  < : :iP & @@        o`      e%%!         +;K%!"+"&=4&#!"3!26=4&!53;2653%!26=4&#!"463!2#!"&5t   ) P  `l`  ddp@  P A7_o2#&'&/"#"'&47676765'&'&547676767676?6767"32736767654'&>>&'&6 -'B;;!     +'="0$   &( M04 /#$:7DFN.6&dD  Qy-p'J:2      9,(  0 49I0)#7676'&5476&'&.7676'&767>76767676.767>766 ++'/U *6 ++'/U +  F&$'    F&$'   A0  P$  U0&++ 6* U0&++ 64 '$&F    '$&F   0A  $)'9 /%"/&6;#"/&6;232)a aDd  D$``P  A!%"/&4?62#"/&6;2762g  y> /'&";#";265326)a aDd  D\``  pA!'&"2?#";2652?64  >  %-52>4."'727"7"&462'64'7'&"'62&4CrCCrrCCr$545/p/B//B/[5 5a545/p5 58CrrCCrrCM5 5!//B//545/p5 5a545/pq'>]%+"&=.=46;2'463264&#"2672#&'.'&54>7";267676767654.  P  & (8  @#;"  ^  ";#0Q/    ~    /Q    &  8( ";# %  % #;"0/Q0((0Q/+X%1.6?62?64'&'&76?67.1?676'&'&4?62?>&: &*HH6?-1FL  HH*&   LF1-?CD&*6HH?.F1KF   *&DC   FK1F.?HHC%#"+57>=4&57>=4&54&+"??;2674&t$.,K  (7 17 1QezL)(! /! ?M  /  pd/?OXaj!"3!2654&!"&5463!2'+"&=46;25+"&=46;25+"&=46;2"&462"&462"&462`l,`pT\[[oo/Ls!"&=463!254&#!"3!2654&#!"3!26;2=4+54+"?#";2=4+6767654'&#"7632327654&'76=4+";7;2#"'&hhh C     D '        :  D      !  T  (           *:J"&462"264&"264&54&#!"3!2654&#!"3!2654&#!"3!26`((0((hhh`(((((      /?O_!"&=463!254&#!"3!2654&#!"3!2654&+";2654&+";2654&+";26hhh\@@@@@@D      5@@@@@@&=#"&67%63 ,% %`|` %, &a &.27"&=4627#!"&=46;54>232%354&"!!  'BNB' 8P8`$ @  @ 0'B''C'/0(88(`@&*7"#"3!26=4&+546226=4.!5"&=462'B'`@7P9'BG 'B'0/(98(8  7'C' @  @ @&*"#"3!26=4&+546226=4.!5'B'`@7P9'BG'B'0/(98(8  7'C'!%#54."#"3!26=4&%462#!5! 'BNB' `8P8`/'C''B'00(88(072?6&+4&+"#"d dG GLdd4/6=!26=4&#!54&ldd4)c cH G/%764/&!"3!Tdd4Rc cG H'&";;265326d dG G4dd40%'&"4&+"'&"2?64, NM  yQYQ  P?64/!26=4&#!764/&"2QYQ  4 NN  P!"3!2?64/&"(QYQ  L NN  02?;2652?64/&" NN  QYQ  A/@%&'&#"'.'67767?>/>764'>'1"&479+JKY.-5 .-JR2s .-J(!.!Dr"DI+, P EC+  .G   EB+ &b+!!.H9&;$PU`lw";2>=4.+".=4>2*#.+";;2654&'&'326=4&+"#6'"&=322+"&4637+'546;=g<+J++J+=4&'2"&46++"&=#"&=463272;R;&4&h,f  4  (%);;) )Y F&&F Y)v,, p p Y+4"6?67>54.&'&'.54>2'462"&4X4,; ;,4X4&(  'BNB'  (/B//B/4X4.$F] ]F#.4X40(;@#'B''B'"@!//B//+"6?67>54.&'&'.54>24X4,; ;,4X4&(  'BNB'  (4X4.$F] ]F#.4X40(;@#'B''B'"@@"34."2?5>".4>2'#""&54632@+IVJ,$>&  &>$44<44   *  +J++J+'E,,EI4<44<4  * ;@E2?64/&+54&+"#";#";;26=326=4&+5!'7'5! 88   88   N 88 p  88tt p  P@ @ A!%'&??>54.'7%7  xhxx9;@ 9;@  u0 0 5 5 5%K%4'76=4&+"&#"2>"&462%/#".'67264&'677'&6;2 8?8%.'B''BNB'(88P88H8'B'%>(7O86& &8?.%8?8'BNB''B98P88P8?8%.'B'";$ &68O78U1:%'&#54&+"#&'.67673;26=3?64'"&462-#* JJ77JJ *#-P88P8,-!7JJ7!-- L8P88P%097&'5326=4&+5326/&";#";>&"&462!-, ,-!7JJ7=P88P8 +!--!+ JJ77JJ8P88P09#"'&"&#"2>54'72?64/76=4&"&462t? %.'B''BNB' (88P88 'BNB''B'.% ?8P88P8%#"&#"2>54'76=4&"&462t?X%.'B''BNB'X(88P88X'BNB''B'.%X?8P88P8-Q#54&+"#"3!2654&%3#"&5463!2#'++"&=#"&=46;546;232p`p``j8 88 8`  88 88 -AK2".4>7"2>4."12"&51264&#"12"&51264&#";26&6\66\l\66\6CrCCrrCCr  !.!!  !.!!q  6\l\66\l\60CrrCCrrC  !!.!  !!.!!FO%4&'67674&+""&'.+"#";;26=326=4&+54'>"&462 # ,:, #E4,,,,4E(88P88%@''@%5Q6,,6Q+8P88P8  4H\p#";2654&+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546q****************`7m_ 0b 0b 0b 00 `0 `0 `0 x:n72>=4."'4632#";#";#";#"&5732+"&=46;5.=46;22>=46;244<44"&!144443$&*I-D  D-I*%>J>%X4444&&$$.O4& &4O.$$%>%%>%$_f'>2'54&#"54&+"6"/32+"&=46;5.=46;2327'".='&4?62/32$4=4/&"%D p%.D  D-I*%>%(!<4 S& c$4 /j&$$%#o& &4O.$$%>%4F ) S&xP72>=4."'462"&5732+"&=46;5.=46;22>=46;244<44"&4&&4&*I-D  D-I*%>J>%X4444&&&&$$.O4& &4O.$$%>%%>%$)7"&=46;2#7".4>24."2>CrrCCrrC06\l\66\l\6  CrCCrrCCrC6\66\l\66\1-.+";26?64'#'73"&=46;2# pq qppp      0'&+";2?6=4'#'573"&=46;2#"*d  /7"&=46;2#7#!"&5463!24&#!"3!26ll`0T  `T%26=4&#!"3X  @(87"&46274&+";26+"&546;24&+";260P0 /9`Rl@/?7#"&546;2+"&546;24&+";26'54&+";26W0@HHP@`Rl(@/#";2654&#"&546;2'#"&=46;2HHH`0l @(7"&462+"&546;24&+";260 c`Rl )9I"2>4.+"=4;57&/&?6;2327!"3!2654&!4ᒑ!3"@,,4,, C     P r/!!//!!/04<44<4  (  T   O !//!!//,!"3!2654&265!3"!4J>2".h  P !//!!//!,4,,4,  O /!!//!!/@44<44,2676..5467>.#"27#".4>;h$ )I-%,EvEEvE*2=d7U08`88`@2-( B)$> (#EuuET28Z* $)8_r_8KZ`v"'326=4&+"'&+";#&'&+";2&#"3267326'&672>4."&4632;7#73"&5467?>/632!U  - ' LA28 8#;"";#+D Q %" ";F;"";]$44$ 3 \ ,B$4 6 5 $448 +) 4  ";F;"4( )H5#;"";F;"4H4[ \x>}4$" [ Z4H4y.%'&??>/32>#&/&546e3&%3 /+ $@Z0* -J##)  0,%3(o iH ] !*3&#"26=%&#"2654&5%"&462%"&462 (88P8(88P8!!.!!)!!.!!` 1F11#U| 1F11#LwV>V^$$@$$!4.";26=>"&462 'BNB'E33E(88P88'B''B'5P  P+8P88P8 A 04DTdt!"#"3!2654&53"&!7!326=4&+"73#546;2+"&7546;2+"&=46;2+"&546;2+"&(H+ ! _!PP(hhhhhh ! P ``P(dC8\#4&"#"3!2654&'2"&46#!"&546;;26=32#54&+"#";;26=326=4&PP&4&P  **8808808&&`^T$$880880 7;?CG_y}26=4&+"!54&+";#";26=!;26=4&+'3#%3##53#53'#"!54&+326=!;#54&+";;26=4&%3##5326=3HH H@H ( `  (  @ $TTL8@H HH H@   @44p@L AUY]ae}%26=4&+"#5326=4&+"#54&+";#";26=3#";26=3;26=4&+5'3#3#!#535#5354&+5326=3;#"#53%#"#54&+53;26=4&+53;#535#534HX HH HX HH   `   XH X ( H H HH H H     HX   '&+";2?6=4'#'573"*/?K5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'6=4&XX``p        Q` `&<T"&'&3265>76767654&#"'&'26716767#"&5467676762'9+ G# #<%ER%#+04  $& $ 1;) #2&  E!L1PB/8-8(J&   ( SG)0%+4%  @DHL7!26=4&+54&#!"%3#'3#26=4&#!";#"3!26=4&+5#53#53#53p   pp  00 ` 0p@@p@@  0    `   ```````<@DH7!2654&#!"73753!26=4&#!";#"3!26=4&+5#53#53#53`  'P@@P  00 ` 0p@@p@@   P P   `   ```````$6?327676.5'76.'%` r )+p ;$%l #"0T"&4?622?64&"2?62&D;;,B0   '7;S LMML+;;/B   7'S; "*#"3;2653;265326=4&".4>3t-L-,K- ( 822,KYL,l|| 2:2!*3K]%'&+54&+."#";;26=4'#532'2"&46#"&546;26732#"#"&546;;4= =Pb0@   J7 7` j X4000 @   *X  )9"2>4.".4>2+"&=46;2+"&=46;2CrCCrrCCrC6\66\l\66\* 0 0 p 0 0 CrrCCrrC@6\l\66\l\6    /?+"&546;24&+";26+"&546;24&+";26``0TT0``0TTq`T\`T9GTbo"654&#"&'&#"&#"327676232764'67>54&'2#"&5&767&4'6'2#"'&546"&547632'&'&"&6767627"&54632 *" "* &,'$  && C5 -R- 6I7!   '#) 4  !"$44$, 3#&!# A&3 ,Nm  + ,   ,-| , +!+'&"'&"2??64?7'762680%  pI] RR0R06v60% p I8 ]RR0R06 -=&?627'&"2?647#!"&5463!24&#!"3!2679 d7``0T7 : 7\`T '&"?64?7'76268 pI] RR0R06v6p I8 ]RR0R06 &1'&"?642?5#5#7'?331'76268 ;w0)wp *010X05v6ŕ =8w)0wJ0*30X06 ('&"?6475#5'?331'76268 ;yX0P *010X05v6ŕ =8ЩX)0J0*30X06B(6'&'&6.#";26=6767367167676.56/M[aZ ! 19=J$I2E;WLYh~d&/  15"!rL!%> }+8D# #17264&"72"&46"264&"&462+"&76;2`(88P88(((88P88((J$E#8P88P8((8P88P8((}X  9C%#"&/&6?6'6"'&4?6267'.?>'6765'#6}Cg O7crE )  ( ,_6=/[*D-"$'_,O D*[    eTMK<=5BDJc7=>!"3!2654&!"&5463!2#"&/&6?6>7'.?>`T,>k? 8.4`pT?k>4.8 ,@Xl7'.&76?6&/&?>.67'76764'.727>4&'&"2764'&"  8! >> !8 j4$$47<<e     W    1   && #G++G! # =TQQT= # !$45"E4V4EI $ @W  ?D?  MTM1  !X!  -v-.'&'.32767654&'7>7'7_, (,Q eyhd;=Yc7JY"D*[65Y\e Q,( ,_=:egzK[*D"XK7ck\Y56F'/7"2>=4.#54762.>&'.'&'6p44<44"4aRR>=SR>$'%6Ӛ$'%64444p?>RR>>RR6%'T6%'AIf#'326=4&+'.+"'.+";26?;26?326=4&+7326764'.##7#&'&'#7'367673'332f . 5 '  ' 5 . f77a! %&))&% !a**1(/ * < < * /(10n?UU?A.C#'.+"#'.+";26?3;26?32>4.##7##7'33'332XY 54 // 45 YX 7!!7 ua!##!au++ $ [[ $ %*%p5UU5 %%'&?644."2>%4>2".t  xCrrCCrrC@6\l\66\l\6ke CrCCrrCCrC6\66\l\66\-&7%>&46&""` xN ` )19!";35>5326=4&#".=#5!'5462#5462h  $>&0&>$ " 4<4  H0 P 'E,RR,E' P P0440 @h  hh  h#0=%++"&=#"&=46;546;232".4>24."2>X XX XxCrrCCrrC06\l\66\l\6 XX XXCrCCrrCCrC6\66\l\66\1A.+";26?64'#'73'++"&=#"&=46;546;232 pq qppp`X XX X    XX XX D'&+";2?6=4'#'573++"&=#"&=46;546;232"PX XX X*8 XX XX#3C%++"&=#"&=46;546;2327#!"&5463!24&#!"3!26`X XX X``0T XX XX`T#%#54&+"#";;26=326=4&  ܸ   2Xa"&'&542'4>7>54.67676'&"65'4'&'&4>27>54."264&+J 3<5*GRE(qAl?OA.5ZjZ58.@O?lA%%6%%)0(-,,-(33*  9!)F))E) 9  >l@Hw!-/lZ55Zl\!uH@l@%6%%6%,S_s232122#!".6?.76?.673676'3!2654&'6&'6&'4'&'&"2676&#'"12"&51264&#"12"&51264&    ,0  " .8);&" (n6>6(  (  (  "2-' ) &#f0 " " *6.;)+8(A     (  ((=3!2654&#!"#!"&5463!22"&46''&';26=4& P!//B//}$ $ `lL/B//B/    @=%#"#5326=4&+546326?6&'&#"#";#"3!26=4&4dd'" +4&?#$(X9M& 7"P`$4".46762>4&'.?>4&+";265>CqrC>5  *26\l\62*  h"oACrCCqo" Yj\66\jY #=AE73;26=326=4&+54&+"#"!";3!265326=4&!!7!5!808808   @  = `880880@ `  P ` 0@00?!";3!265326=4&!!!5326=4&+5326=4&+5326=4&+5!   @  `@XXXXXX  `  P ` 00( 0 0 (#(,HQ54/&+"";3!26=326=4&%3##53#54&#!"#54633!26=2"&462: (8 H  H 8ȴ,`0 0  n : 8( (  ( (8,P(  (p   $+4=Y%#"#4&+";26=!;26=4.!532264&"72"&46'32?3264&+'&"'#"     7'*P!//B//! r%6v  X%6 ((!7 */B//B/pJl"Jl"  AY%01"767#'467654&#"'&'327654'.'&54627>;'&76327654'&'&"'&'&'&#"'&76767654'&"'&'57654'.'&47627327>762  4#'#  >%-:+& " /:  !"  L  J  ";%0  3#< %  7) !)"       , O $  5   !"  ,     ( /%"  #/37535#3#735#5335#3#73#3#!#533#5##5333#'3#(pp(pph(pp 0000000( `@ @ (pph(pP0000 `  GP"2>4.".4>27+"&=476?67654&"/.7>32"&462CrCCrrCCrC6\66\l\66\5  .   0"0A""CrrCCrrC@6\l\66\l\6      ("MV#!"&5463!24&#!"3!26'+"&=476?67654&"/.7>32"&462`0TE  .   0"0A""p`T      ("~$-]"32>54'6?67654'."&4627+"&=476?67654&"/.7676328U %080 &!T5!!.!! <   !)  %!- >  ./2 $ (00(&6-'%,0!.!!.!       $ % %:DMV'.'&"767676?>/7>6?6&>7677'762"264&"&462} " :$!3  7@t% T$q+2K.%  < D',(88P88((+I +#3$(!.#( - r  $ : K27/8O88O8'',7B327;26=4&+67>=4&&+67>=4&%47673#'47673#0 #Pi  #gp,-WY^,-WY^  A^J Am[9<AT[9<AT,7B#"&+";7>7;7>=4&567#53567#53а #Pi  #gp,-WY^,-WY^  A^J Am[9<AT[9<AT%)0E.1&'&?6'62267>'7767%#&'.7676;#h_p2+8 * { " |/. &O%2<b)   B2-=B2&"O)=7W 0 V #acE- .N(+*N)*#C%"&=#"/735462%37'&+"%'&"#"#";2732?64OZ'O O \P&ZoO\o O0I (a*W0 GV)a *G ( 0 I!"3!2654&!"&5463!2bn 4&#!"3!26%463!2#!"&!`l` !"3!26=4&!"&=46!6#P `?_/.?>76/.?'.76/.;26=4&+".%'.+54&6=32> @@,#  X  ", 2"  X  "1 5$DD# # `@@`$5 y1  1I WI R XQE."):  :"( @@ (.E-.#"326764/.#".4>32;26=4&5"[2CrCCrC/V! C%5Z55Z5(G75#&CrqC" 5ZjZ575#".#"326764/.#".4>32'";26=4&"n@CrBCrC/V! C%5Z55Z5;`c34.".4>27&/>54&+";26=3;26'#532CrCCrrCCrC6\66\l\66\8 24O' 0+q"CrrCCrrC@6\l\66\l\6R, '),TZ @ !C`+/&4?632>54'&6?64>;?64/&#"?>'&4;57&/&?6;232+"5*F*XX0 R0XX*F*      C )4)E)@X X@0! `0@X X@)E)4)  (  T  (Qn%+"/&4?6232>4'&6?6&4>;2?64/&"#"?>74;57&/&?6;232+"5)F)7 hd 30 ?03 dh 7)F)      C )F)7 h e 309%c903 e h 7)F).% (  T  !C+/&4?632>54'&6?64>;?64/&#"?>'&*F*XX0 R0XX*F* )4)E)@X X@0! `0@X X@)E)4) (Q%+"/&4?6232>4'&6?6&4>;2?64/&"#"?>)F)7 hh 70 ?07 hh 7)F) )F)7 h h 709%c907 h h 7)F).%2?726=7>54'&'54&"?26'&'&#%76/&4':2 (''PM\?46;2+"&73265'4&+"73265'4&+"73265'4&+"32676&+"!326'&+"-;) AcAd hhLLx((Hp k(->CL4&'&'.#"#";767?>=6736763256752"&46 ]T 8B H  p `50U 0?KJ YKv`5+(P ` p  H B8 T#`*6ZvKY JK?0'0L(((=S!"3!2654&!"&5463!2'"&462.'"3;267.'"3;26`T""^,J+/ERCoC6Z7`pTX"/+J,D0BpC7Z6+A72"&467"264&&'&'&'"3;26'.'"3;26P  !//B//O<:bduhYW45RPDqEP0/B//B/uea:<54WYhQREqD087264&+"#";#";;26=326=4&+=32+>OO>4444(j(./(iNM&DD&-Q/@=26=4&#!";2#";+";26/3267326=4&+&'4^) .&]=  T @PPTh  dN4H44H4"" A/?O_oy!"3!26=76=4&!5'5!#";26=4&3#";26=4&'#";26=4&3#";26=4&'326=4&+"74&+"374&+"37#";2654&+"354&3#";2654&  ' @@@m@@s@@m@@  0@@ 000@=    0000`00000      A/9CScm!"3!26=76=4&!5'5!326=4&+"4&+"374&+"37#";2654&+";2654&+"354&  ' @  w0@@ 00cC0@        /?Onry#";26=4&'#";26=4&#";26=4&#";26=4&'#";26=4&%!"26?326=326=4&'73+737#"&46;#";26=4&x4,#I 7 7"2>4."264&6\66\l\66\6CrCCrrCCrC&&4&&6\l\66\l\60CrrCCrrC&4&&4&.;%+"&=46;2"/&=#".4>2324."2>8 yF&9_88_r_8z+JVJ++JVJ+y8_r_88_9&Fy +J++JVJ++J#BO%++"&=#"&=46;546;232"/&=#".4>2324."2>8DDDD yF&9_88_r_8z+JVJ++JVJ+DDDDy8_r_88_9&Fy +J++JVJ++J+'&+>54."32672?64%".4>2z8_r_88_9&Fz +J++JVJ++JzF&9_88_r_8y h+JVJ++JVJ+ #GKOS\e%"&462'"264&7"264&#"264&7#!"&=47&=47&=463!2!5!!!!!264&"#264&"X 6 J `0```@ 6 0 H ` `` ` ````0`82?%'&">'&7>72?645"&'&54767635&'7'>'t'&7>72?645&'&54767675676#!"&546;2+"3!26=462'I05$-(' )1'H(1&<)Fw  VT"9!(;-K # 6(h  :$3 h+`  A 4'&">'&767672?645&'&547676352'Gd.'  "G'[4? /'L4ZQ"1r6., #+N(Ā',L%.B% 9#+"&546;2+"&=4&7#"#"&=4&+";2654&@(}>O .(@(. O>}hO@ ).8.) @O+7&'&%'&'&'&546?6'67676q<%(y&!7.2905"0-+21*. <%?BtgVH6-37JS^PPPPQHB1/.1AI%:'&76767654&&'&'&577"/&4?62762"5092.7!&2+-.*c [ < lPP^SJ73-6HVg/1BHQPPSIA1.[ = %76767654&/&&'&'&52.7!&"50K.*12+-<-6HVgPP^SJ73PSIA1./1BHQCGN[%7>&/54&+54&+"#"#"32767;267326=4&#"'&3#3'&+"&='7J8 0 0 8J#%51%(--)$15%#pp@hh hhE> " (  ( " >(#&&#|0W$$  @XHHXENT]eu%#54/&+54&+"#";26=4&+546;2#."5#2653265326=4&"&46232#"&4627.#"53%54&+";26726=4&+"3pT$!!8} ,308P88P80 )($ I~@(< *$PtT(!!(( -(88((88(  `((@I((eI;ENagpx"264&+"&=46;232#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53+==V==0pT$!!!8P88P80 )(} ,4, 00$ I~@(< *$h=V==V=P8tT(!!!(88((88(  `((`0XI((eY24."#3!265'2#46#!"&5326=326=3`";F;"`/! !/!// 00@#;"";#!//!0P/!!/  (  ((  (A)-9EQ#'.!76.#";3!26?326=4&!'!"&=462"&=462"&=4624IffIlcp xx 8P  P  P  P  P  P B-6?C!'.+";2654'3264'76&#!'!26?6&"&4623"&4627!'!(h dPF%6% %6% 9 -   p- 5%%%%6 0  hȠ%+4=FOXajs|..#"346322?64/&"&462"264&264&"7"264&"264&264&"7"264&"264&264&"7"264&264&"7"264&"264&3"264&"264&"264&g B1$>$02#   %44  9  G    )   P    9  G  g  G  g  9  '  '  h $=%9$3!Y   4%>                   @             #'+07<@#54&+54&+"6?>=4&'773'7.7&7'?773(H# qA(77A i[RS>3G%nQ.GS2V$2H( A77(Aq #@>[R{2$SGN.QYGVK(>>#";?64/&5#535#"&=46;26=4&+"&=46;2``''TTTT(88P4X4(dXd8((8>!#"&=46;26=4&+"&=46;2#";2?64/&"TTTT(88qq  8((8m nn  /nx%'.'&#"&#";2?>=7>326=4&+"&6;26=4&+"&6;26=4&+"&6;26/&>+"&6'.'&>#'&>'?64/&>?>/&>65'&6&"-.    !!  !!\E0 6l  m  l  jE \  9A  (YQRBY &= 2+'' "X%   O { EV5V  %VAjkWt"  >#";?64/&5#535'32+";2+"&=46``''TTTT(88P4X4(dXd08((8>32+";2+"&=46#";2?64/&"`TTTT(88qq  8((8 nn  8/?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"y@hh$KkXUY]ae%#54&+5326=4&+";#"#";26=4&+53#";26=4&+53#";26=4&#5!#=3#53h00   00   00   00  `@````0(  (0  ((  ((  0```````Cg!"3!2654&!"&5463!2'++"&=#"&=46;546;232++"&=#"&=46;546;232`T,        `pT        @#Gk%++"&=!"&=463!546;232'!54&+"#";;26=!26=4&!54&+"#";;26=!26=4&@T  l  T L  44                  Cg!"3!2654&!"&5463!2'++"&=#"&=46;546;232++"&=#"&=46;546;232`T        `pT      #Gk++"&5#"&=46;546;232#4&+"#";;26=326=4&7#54&+"#";;26=326=4&          H T  TTT  TT       -AQ2".4>7"2>4."12"&51264&#"12"&51264&6.&'&66\66\l\66\6CrCCrrCCr  !.!!  !.!!  DD  "aa6\l\66\l\60CrrCCrrC  !!.!  !!.!  !!  .!!:JZjn.=4&+";26=4&7&=4&+";26=4&#";26=4&+";26=4&#!"3!26=4&#53 !   $ .&  S  ch "2 %>B 8 $!9I >> B&1W@ p p@%'7>.'7>&/7>.76.576."54&"'&"/.'&?'&?6?2?26=2>/5>/>&B;  URRU  ;BBHE &  & EHBB;  URRU  ;BBHE &  & EHB\'  **  '&8Z*T; .M M. ;T*Z8&'  **  '&8 Z*T; .M M. ;T*Z8&,1U7"/&6;46;2327+"&?6;2+"/#73/6?6=4&+";;26=4&#D D,,e9 $9 4  F{AF,HHT  ,cb,1U762++"&5#"&+"&?6;2+"/#73/6?6=4&+";;26=4&##D D,,9 $ 9 4  E{@FTHHTf  ,cb%5EU7"/&6;46;232!26=4&#!"546;2+"&546;2+"&=46;2+"&D D,,JHH,HHTTe%5EU762++"&5#"&!26=4&#!"546;2+"&546;2+"&=46;2+"&D D,,HHTHHTTeA %#"2?64&'3p(pp'pp'py!<F\+"&=46;5"/&4?6;232"'.?>67.547632'3254&"#4&+"#"2?6&uk )X&!* ,,D DJ '  "V  (THHy!<F\+"&=46;5"/&4?6;232"'.?>67.547632'3254&"%3;265326/&"uk )X&!* ,,D DJ '  "V  THHA 732>/&"7#0p(pp'pp'pA !%#"2?64&'3'32>/&"7#p(ppp(pp'pp'pp'pp'p6ALVa"'&'&'&'&'&#""3"3327676767676326764.%2##5273%!64'!2'"&=46323( &!!!!&!'31T3U{#&" $#3D$$,    "8 0  0 8"    3(X HH 3@ :%%1]#1"&'&"+"&7676=4&"#1"&5476?";27;2>'&';2>56'#&'&'&--[ 3$^$3 \YZ_ $>% ^ 1& _T+,Z#2   2#Y W]#+$=$  %1+#]R %'.76.'"&=4632V3>l? J  -eX5Am8#,5>"&462"264&74&"26%4&"267"264&"264&!"264&(""("""`""!!!"w""""!!!!!!!!!0`0!"3!2654&!"&5463!2`T`pT,6@&6;2+"&'"264&7/.?'.6?>/7'7*"j   j  AA B>>d||X""Fg DD g   ~~bBB %7'?5"? |d> A  j  ?Bb~D  g D,'/.?>/7>&'7'?AA  j   j ||d>>   g DD g BBb~~326=>54.54&+"'L     X~Ğ#"'&?;2654&t   ;CL72>=>54.".=>=4&/&"&=7>/.%2"&46x-M\M- .B0 7B7 3EF*8O9*FEk r+J++J+d*!//"*d44 P5 ':8( 5P%4&#!"3!2?653#"# TLh d T%4>2".%+"&=46;2CrrCCrrC@6\l\66\l\6(   CrCCrrCCrC6\66\l\66\  *7G764/&"&'5326=4&+";2>54".4>2'#"&=46;2 1Ah3T18_r_8+J++JVJ++J +11:[49_88_9B+JVJ++JVJ+p(Df654&";26=>=4&'2"&46++"&=#"&=463272"'&'&54732>7&'567S;R;&4&h,f  4  (0'C3e4B'1] %LA<.^@@ ]%);;) )9 &&&& 9)v,, P P 9$  $2     -J%!"&=463!2#"'&54&+"327654/&'&4632;26=4'&#" 1("  /*:B*-%,#  *'6>'+  $  -!$>#P9  " <*/k%#6767567654&#"67632;26=4&%32+"/&'+"&=46;7'#"&=46;26?6;2+t $5)1  &<65= A<%C01A%= #%0   ' WVd\M M[5=ANR%462"&264&"+"/#+"&?.=47>;2!.+"35#!;2676=#3"""Q8+;0=|=0;*9@""@sZ32 `+ x"""$: ;<<; :$PB P'+5#54&+"#"3!2654&%3##"&546;#3#32p`p``p**Z**`   Y'..?6&#'.6?64/.6?26/&>6?>?63"/&&77>'&6?'&4?'.?&//767".4>2'"264&- 6 )) 6 -- 5 )) 5 - '+ 3''3 +''+ 3''3 +'#;"";F;"";#!//B//(1 4 ## 4 1 1 4 ## 4 1 P// 1! ( !1 // 1! ( !1 ";F;"";F;"/B//B//k%#6767567654&#"67632;26=4&32+"/&'+"&=46;7'#"&=46;26?6;2+t $5)1  &<65= A<%C01A%= #%0   ' WVd\M M[!C.#";265>32;26=4&#"#"&'76&+"?32>74&5"[2ApC6X3(G76X3(G75"[2ApC5#&?l@3U173U175#&?l@)S#".#";265>32'";26=4&#"#"&'26=4&+";265'32>76&"m@&'."6?732>542&'7676'7'.7"'&'"&462#PX$$ J  1 $ @(-+4"?(&& !(=]'l2  &&4&&z*_Z#! %CD @ $ 1  J 4*6(n1  #l'^1?!!  Z&4&&4&!%!"3!2654&#"&=35#53#537#53`Ⲹ`p0/8%!"&5463!2#!"&5463!24&#!"3!26'"264&dW`0T P@`RlL/?%!"&5463!2#!"&5463!24&#!"3!26'54&+";26dW`0TphhP@`Rl(/!"3!2654&!"&5463!2'#"&=46;2`Txhh`0l ;K6=4/4&#!"3!26576=4/576=4/5#!"&5463!2       0    L    L    L    L    L    L    (%"&462#!"&5463!24&#!"3!26`0T c`Rl )19"2>4.3"'&'6762.>&'.'&'6+J++JVJ++J L L DRR>=SR>$'%6Ӛ$'%6+JVJ++JVJ+*Z**>RR>>RR6%'T6%'@*3<ENWf"3!267654'&'&#!"&'&7>762%462"&2"&46"&4627"&462"&462"&46?> NCB&' 1j1 '&BC B24z51B  8Y$%6%$#''ACN2.##.2NCA''9:8^^8:  {  %a7%%5%` @(8"3!267654'&'&#!"&'&54>2'"&46?> NCB&' 1j1 '&BC@oo@-%6%#, ''ACN2.##.2NCA''')AnAAnA)%%5% %'&+"2?64'53%"&462((((t( $-%"'1732"/&=46;2/#"264&r(1(0t(((p((/DYb54&#!"3!2654&#!"3!2654&#!"3!26"/&4?62762"/&4?62762"264&(((\ 1  G  \ 1  G  f(@      \2  G  \2  G  ((15?O_hq%4&/.+54&+"#";26=!;26=653#32!7>"&=463!2#'+"&=46;2"&462"&4620 0   pp0 B @ h" D%(  (%D "H1   1(0 **  HH <3*BN%09.'1&#"1132>54'%#">632>547#".654>327>d< CrC>d< CrC%: ^h %L3 B`  %L3 B`%: ^CrC CrC :%A^ 3L%  `B 3L%  `i :%A^$"/&4?'&4?6254&#!"3!26*  ZH   O-I5463!2+"&=#32+"&=46;#+"&%;#"2?6&+326/&"(R11SD,,D D,,D 5__;`;lHHHH-I5463!2+"&=#32+"&=46;5#+"&'&!54&6=!?6411HHHH5__;;D,,D D,,D $+3!2654&#!"#54633#"&553#7#532`p`ȘȘ%,33!2654&#!"!5!#!5'3#75!2%#54633#"&5`uuu uip``T```T``T` #*1593!2654&#!"#53#53#5'3#753'#54633#"&553#53`uuvvvuuvu ui;uuup```````````T` ```47"&4627+".54754624'&/54&";26!.!!.!( ";#";" 8P8  !.!  3$$4@!!.!!>%0#;"#;#0$(88( !! $44+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" `$3  !.!  4!.!`(88($0#;#";#0%4$ !! $4X!!  %=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!u  uD%0#;"#;#0$(88( !! $44%=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!5  5D%0#;"#;#0$(88( !! $44%=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!  D%0#;"#;#0$(88( !! $44:&2?37>'&#572?64/72?64/72?64/7>MYYd2B! " !  !'eYY4YC!  "  "  ! +6?s%6'6&'&'&+"+&+";2673327654'32654"&462##&'&'&'&'&'&'&+52767676;22 8*$ @  @  0  - $$2` @h     %  !$,     ? $54"/        ##' 2fo%654&+654'&#"#";2672;2767>'6+"'&'&'�32#"&4622$$ -  0 c  @  #*8 D %     h "45$ ?     ,$##         'j )7'326=4&#!";;2?=32654&>?#53#2   %)   )&::&+ `  ` +I+ h00h +I\.x00x.@3C%#57!"3!26=4&354&#!"32+3!26=#"&46'!5>4&'5!     ``0  8hh"hh"& *2* BB *2* B@/%354&#!"32+3!26=#"&46'!5>4&'5!8  hh"hh"& *2* BB *2* B ="2>4.".4>2"/"/&4?'&4?62762CrCCrrCCrC6\66\l\66\0>> >> >> >> CrrCCrrC@6\l\66\l\6>> >> >> >> 1A.+";26?64'#'73"/"/&4?'&4?62762 pq qpppz >> >> >> >>   O>> >> >> >>  D'&+";2?6=4'#'573"/"/&4?'&4?62762"j >> >> >> >>*>> >> >> >> #3C%"/"/&4?'&4?627627#!"&5463!24&#!"3!26F>> >> >> >> w`0T>> >> >> >> n`Tnn#?64/&"'&"2?2?64'        z5I".547676767>'2>54'&'&'&'&"&"2654'&'&2V1   ++   1V%?J?%  _  @2U2)%,((*+)(+%)2U2%?%%?%&),0/,)'    A)#";2>4.4>2".#>&'324X44X44X44X|'BNB''BNB'PA++A'B''B4XhX44XhX4'B''BNB''Bi&jj&'BNB'A%+".4>;2'"2>4.@4X44X44X44X4'B''BNB''B4X44XhX44X\'BNB''BNB'aT#"&=46;2++"&532376?6;2+"&/&=#+"/&/#+"&746i]]"+< <+" 0"0 ".4   uu  (,08E%"&4627+"/#+"&?.=47>;2!5!7!.+"5!;2676""8+;0=|=0;*9@""@p`Z32U+ p"$: ;<<; :$P0BB [d#"&"'764/&"'76&+"?2?#";;26=326=4&+5>54'76=4&"&462?X%\% ? E3,,,,3EX(88P88X ? &.5P "$$" P5.%X?8P88P89B#"&#"#";;26=326=4&+5>54'76=4&"&462t?X%.'B'E3,,,,3EX(88P88X'B'5P "$$" P5.%X?8P88P8CKU+"&=46;27#";26=4&72+#!"&5#"&=46;7>;2#3'&+"!3!265d  J" d "Č^` P 9 9M#'+'.+"#";3!267326=4&#%3#!!~" d "Z    dFp9 9 T  P-i6.."&;;26'&'&=32>54&#54&+"#"&476?'&'&5463276762767632;# 6@6 #;2tpt2Vt   t# !  E ! #">"##">"-2) '2- #2   !!   2#-B%'>/>/&";;26'&'&532>54&+"#7#7#7##v# #Y*Y# # ppp   pX=U9YY9U=Xn, &. *``* .& ,$ $ pp``ppC.3!2>'J !!   `!!`@LSah/&"?6/76&754&#!"#"#";2654&+56767>=4&#53."&'&=37653g+ +  ''  S  p *I-@@-I* P (444( P5(( ++ L0 0 =;-)SS)-;= MD144/3BHHC3/41D@3:HO54&#!"#"#";2654&+56767>=4&#53."&'&=37653  p *I-@@-I* P (444( P0 0 =;-)SS)-;= MD144/3BHHC3/41D'0CIRZ%#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53pT$!!!8P88P80 )(} ,4, 00$ I~@(< *$PtT(!!!(88((88(  `((`0XI((eI!0@P`p/.?&"&/&67676'&'&7'62#"&=46;23#"&=46;23#"&=46;23#"&=46;2#"&=46;2!#"&=46;2%#"&=46;23#"&=46;23#"&=46;23#"&=46;23#"&=46;2#"&=46;2% !J1J! %  BYWVZB 29LKKL9%J9\9J[[[{{[[[[g<  <! BB ! 88;AART{%546;2+"&326=4&+"'"'&'&'&"27676?676764'&'&'7+#'!#5#"&546;'&46276232!!  "b"  "c! 0 06WW60`G H  H )  7YY7/!";#"3!264&+532654&!"&5463!2P  P  00@4CBV%&'.'54&"736676767"&54&"26=76763>'&.#"&'&6762?(%n>>m&(  #!  "4H4    #  H# 17("  =99>;.,4  4+.<  ! +    $44$  + ! 8 2 5A5463!2#!"&;"&=326=4&+";276=326=4&+"X)8f7()-*,-)47978O*))+N->32#"&'&4?>32>4.#"+"&=465"[2CrCCrC/V! C%5Z55Z5(G75#&CrqC" 5ZjZ57532>32#"&'&4?>32>4.#"72+"&=46 "n@CrBCrC/V! C%5Z55Z5;`c34.".4>2&/&'&'#.?6767&'.>7676'462"&CrCCrrCCrC9_88_r_88_W7    77""7  CrrCCrrC88_r_88_r_8 D#      #D   # )-HK%#54&+5##5##5##5##"#"3!26=4&#!5!'&;3!26=326=47 0000000  B@HP8  8   #[[  HH;K%.6?622?62'7622?>.2764'&"20AHH6A A3DA !@G0A A6HHA /  ; A6HHA @G0AA3DA AHH6A   /%)6%!546226=4."#"3!26=4&!5!"&=4627P9'BNB' `` _(98(  'C''B'`ఐ 8  8 %)%!546226=4."#"3!26=4&!5!7P9'BNB' ``_(98(  'C''B'`@!(6?%#532>/&";#"3!26=4&%7##5!53;26=3"&462@(@\p` `( '' P  @  d"2>4.".4>2';26=>4'&'5&'&463616?6&'&'54&+"1#"'&'1&CrCCrrCCrC6\66\l\66\K%!    ""    CrrCCrrC@6\l\66\l\60):   !  &  j!"3!2654&!"&5463!2'&'&'&?>132654'&'1&'&5467546;21&'&#"+"&5`T    ""    ! %`pT5  & !  :)&:%'654."3!26=4'&'2"&46#!"&=46?27c 'BNB' #!+.+ (88P88  $%Z%$ $,'B''B',$ #2Y++Y2#8P88P8y  Y+  + (1C"2>4.2&'&'654."&4>"&462546?27"&CrCCrrCCrC6\6";F;"6\/B//B/NAHACrrCCrrC06\m.%#;"";H.m\6!//B//fox%654.";26=467654&'573276?4&#'54676"?>=4&'5;26=4&"&4627"&462e&APB'8C  -#*"&!$ # $#-  CH(88P88&-&B('B'-& Q4 #5`$"f2,8 )+ 8,26# 4Q 8P88P8)=a%'654."3!26=4'&'2".4>#!"&=46?277++"&=#"&=46;546;232p+JVJ+)+.+44<44 ,r,LLLL&.+J++JY& $++$4<44<4  " $$ "LLLL<\cmw%76&+6'654&'&'&'.'&/&#"3!26=4&%767627676?47"&57#7546;#"&%+732 ' 1%!    !%1 &*0*      8P8:&&@%P ` P%" !"        "!  2H**H2y(88( %ppXH% %|#@Ma%"/"/&4?'&4?62762%'654."3!26=4'&'2".4>#!"&=46?27x 66 66 66 66+JVJ+)+.+44<44 ,r,y66 66 66 66 ,&.+J++JY& $++$4<44<4  " $$ "*>%'654."3!26=4'&2".4>#!"&=46?27"0SbS0".. d .$<$$32#"'67+326=4'&+"&=4767&54>2'264&"4&/"';265H$ 8(    B 8(    BH$z&&! 4<4 !%6%%6% J   $  (8 (   (8 (   $ K=&&= 44 u%%6%%= K.'.6?67676.'"/&4?&676?6?6?6!*K 0/&N1  C0)&ZaTZ U 3M&/0 J*!B)0D ZT`Z+.6?767>54'&'"/.76.31{5)0" F.#33o 00 !P,'#' 1^R*/1&'&6?67>'&''"/&4?&767>/,[B ,1*N" ":A&,D")"BN*1, " \+/,%")#CB.Q[l6??6&/67676.'.'.#'&.76?6?6?6&"/&47462"/"'&%(OD@FE?;(- &A$;*\ #! N RI M  A0J Il^+'vY8=<@OQ?8A&  -#.*B  M IR N !# <9T ? 2-!L_t4'.#"&"&#";26/>+"&?.54?>6?>67546;2654&#"747>32+"&57&'& "&"& !<! &x < !''!8!!$O098"#PP &=""=--!,)rrrr), -L#  3(,/II"!&l)2g4."#";;26=326=4&+5>'462"&32++"&=#"&=46;5&'673264&#"&'632 'BNB'E3,,,,3E8P88P8X,,,,$ $(88($ '2'B'E'B''B'5P :,,: P5(88P88f:,,:8P8'B'5P@)2Z%4."#";;26=326=4&+5>'462"&%/#"'673264&#"&'6327'&6;2 'BNB'E3,,,,3E8P88P88'B'2' $(88($ '2.%8?'B''B'5P :,,: P5(88P88?8%.'B'8P88!)24."#";;26=326=4&+5>'462"& 'BNB'E3,,,,3E8P88P8'B''B'5P :,,: P5(88P88#'&"272?64"&4?37#7ި 4.&'67737'6&''&'&'6&76>7&677#"CrCCrrCCrP9p/(:?! &+$#.)9(X .K#8N4V*@ Vi/7?CrrCCrrC  $ &X3d,%;,n9dRF,>4.6U,/4[ B;1#";2654&"'&+532?.67654.>Yf  fY7 XX 7    yY Y P 7`7n&     (*:?H`g.?>'454&'&7654&'&7654&'&767%'&+53'#";26=4&"^ Y  >#( 0(  ;3<& I=  - (  7 XW=2  fY > + (  ;>$!#1SMi>4/=DJ&  e7`0 Y zH  #";2654&"'&+532?Yf  fY7 XX 7yY Y P 7`7A3I]#";2654&"'&+532?.67>54&'.>.67>54&'.>'.67654.>Yf  fY7 XX 7p@9 /5<3   =I #   (0*6    yY Y P 7`7nEz'!e9>i&S1-P}&     ( F%#54&+"3!26=4&#535#53#53'&;26546?6;2654&   砠f    `p   p@@@@"i i" C hh  C"!G%!";26=!;26=4&!5!5!5!7'&;26546?6;2654&  `  ``f     00 @ @i i" C hh  C"!'4H54&+";26=>4&'3&"#527'".4>2/&=46;2@ "" "")^))^)X'B'&CNB'&C= * OY  YJTJY  YJTJd-}-'BNB''BNB'H)qZ ">M#."#"3!2654&'2".4>#!"&546;2>54'32264'76&ACLCA&&&&44<44  (+JVJ+(   ""&&&@&4<44<4p @ +J++J+ p F  F(?%&/#"&/4632+3276'##".5467'3267 ? B  (  =) G.#;",5/Q04V0 ! &H0#-;";# 83T30Q/8.;Ch7"&4627/#"'.'&7.54632632?6%>7&"64/"/.?'&'&3276?67""O  M)90.8 &-3$#  J  g! E =&#+"; <,"!y jW\483 &   G R7 #0   #TS%* ['A%2"&467"264&76&'.27>2?&'&276762?6&@  !//B//99 1||1 ~XtpqsX OgeegO P0/B//B/  4$$4 ++RR II !*4!"3!2654&462"&'462"&'462"&#!"&=!`d``l`P   C!"3!2654&#!"&5463!2"/"/&4?'&4?62762`lk>> == >= == `vTm== >= == >> !"3!2654&#!"&=!`l`v !"&463!2@    &!"#"3!26=32654&!5!#54&+5!0@0t@`0@00@0p0!*4!"3!2654&462"&'462"&'462"&#!"&=!```l`P   AUYchrv26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7!3##'&/3?3#'&/37#'34. 0; FQ0*2=2,1PE j S0>> g> U kI NNNN I000a00a00(1@7"&462%#"'"&4?&54>2+32&'27%#'73."26cJ+H4+JVJ ]]$ " My y3=44=30 %+4I+J++%!"I$ " 884<4U\c73#";#"2653264&+5326=4&+5326=4&+5326=4&+54&+"#";#"46&7&4626=4&#!";#"3!26=4&+!!``8(@(8```` ``;88p80`  ((   ((   6  `  `jF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&\,I I,^4M\\']]N4^# ll   %? Yd +z   $  4 46 j , V &Font AwesomeFont Awesome 5 ProRegularFont Awesome 5 Pro RegularFont Awesome 5 Pro RegularVersion 5.0FontAwesome5ProRegularGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProRegularFont Awesome 5 Pro RegularFont Awesome 5 Pro RegularVersion 5.0FontAwesome5ProRegularGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZ@*Dplugins/wps-limit-login/assets/fontawesome/webfonts/fa-light-300.eotnu[LP#$Font Awesome 5 Pro LightVersion 5.00Font Awesome 5 Pro Light 0GSUB %z8TOS/2?PVcmap(d -glyfi,EXq`head A6hhea;$hmtxM 4loca`-L: 8maxp name7Epost|=%h#_< ֺ"ֺ"  0>DFLTlatnligafGfPfEd@.E@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ```@@@@@ @@@@@@@@@@@@  @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{8(Pp$ d $$4D$pD<ht$,H\ @ !D!"T"#p#$$%H&&'h(()0)*D*+P+-D-.X/p11234(568 89p:L>?@ABDE EG0HLIIKTKLMNOQXSSTTTVlWTWXHZL[L[\^(_d`<`apbpcdef8gti$jklmhn0o$p,pqrstv vw4wxDxxyyz4z{\{|}XtD| , L $T(t4H\@(dxT$8dL`lhd„pĔǨȰp̬ψАDHӤԴ$נHؠDٜڤ|4ݜ@ߐTT`8d(0lppdd\HlPxl d  (  T Px$P!0" "#$&('X()+0,./$0X2234h5<5678889:`<(<>P?|@ABCpDXE\FGHIJKXL8M(MN\O$OPQR`S4UpVWYZtZ[D[\] ^__`btcLdLdepf0fghghhphi(iijHkxlnho@ppqLqrs(t8uuvw xxy{|}~t8(hth$T`l@HhTdXD08dhHxhd`0DXlDD pp0 ŐD`ΨшӠ(ՠhxDP ڨd8Pld,4 T4TlDDD@@t$x<t    Pd`(PX  !<!"#@#$%P&H'))*+<+,-.//010234@56(6789$:;p<?@A8BDBCDE,FFGHHIXJxKL\M8NOQhRSPTUVpWX|Y[\ \]<^(^_`xab,cDd defglhijLkkkllm$nxo8pq`->Xau26=4&+54&#!"3!26=326=4&+5326=4&+5'#!"&5463!2654&";26=4'&'2"&46+"&=46?27@  @ r/B/  X(d    (0`0(@(@4  !//!j((  /?Oir!"3!2654&#!"&5463!2#"&=46;2'#"&=46;2'#"&=46;2654&";26=4'&'2"&46+"&=46?27` `  ,hhhhhh/B/  X(d       @@B!//!j((   '2".4>7"2>4..467"3;c::duc::d:CrCCrrCCrc)77I+J++J+:duc::duc: CrrCCrrC| DZD/+JVJ+BNYf%/&=46;2"/"'"&4?.547&54>3223>32654&#">7.#""2>4.* @7M! $::$ !!%4!7 7!4%)E /!# E) #!/4X44XhX44Xc,z& j" $))$ "U/81(4##4( 08/U` ,!!/+ - /4XhX44XhX4/?+"&=46;2!26=4&#!"!26=4&#!"%#";26=4&`LLV/?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"LLLLt/?#!"&=463!2!26=4&#!"!26=4&#!"%!"3!26=4& LL/?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"LLt #,5>f7"264&3"264&'"264&7"264&"264&'"264&'"264&7"54&#"."&#"&'&;26?6=4&+"/&6766=462;26=462;26=462;26=462  Y      G  G  G  ! $ ! ' r #!  r %        `   @       !! .h"#x! g 7      P  #S\ov#54&+"#";;26=326=4&#54/&+54&#!";2654'32654'326=4&"&4627#."#"&5463!232#"&4627#."#53(808808MT,/B//B/:(ܰ !&!  > , TP(< !&! 880880lT1!//!!//!`((` " Q T((``;%&'.'&&'&'6.6&#"?277327>?>676&&67676&&'&4676&#"&'&613264&#"1&7>32?6.'"'"&/&6?6?65>76767676'.32".#"32671>'0#"&462707632"'|7O  !+!0 )7S !+!0   $  (  #%      $V>)6&%R>)6&%  $ (  #%       %   )*  $ M+;S $ M+;        #  SE&DnSE&D         #  J BHQTW%&";326=4&+5>.'&#";.'326/&";2>7326'462"&7!7 D1 `A44#(44A` 1D D4 " _l_@ 4zD4G"$0#&#"G4DD/%$(*I- K*7'&4?62762"'764/&"'&"2xt dd t t dd u v ff vv ff v+A*?62"/&42?64/764/&"v ff v}v ff vt dd t t dd t +A*7"/&4?'&4?627'&"2?64v ff vv ff vt dd t t dd t K*7"/"/&4?62'2?2?64/&"t dd u t dd t v ff v}v ff v 7'&4?62762"'xt dd t yv ff vA?62"/&4v ff vt dd t A7"/&4?'&4?62v ff vt dd t  "/"/&4?62t dd u v ff v+;K!"3!2654'>=4&#!"&5463!27#!"&=463!2#"&=46;2``$  ` `  hh    p  @    18"2>4.".4>2#54&+"#"2?64&'3533CrCCrrCCr:cud::cud:X@ P @  `@`CrrCCrrC:d::cud::ch  h  18%4."2>".4>2'5326=4&+54&"26'73#CrrCCrrC:d::cud::ch  h CrCCrrCCr:cud::cud:X@ P @  `@` 1872>4."72".4>#";2?64/&"5#535CrrCCrrC:d::cud::ch  h CrCCrrCCr:cud::cud:X@ P @  `@` 182>4."'4>2".73;26=3264/&"7##5#CrCCrrCCr:cud::cud:X@ P @  `@`8CrrCCrrC:d::cud::ch  h -232"/&6;54637#"#"2?64&+54& uu VVU , U    %=!"&=463!2'326=326/&";"&=#".?62+#thN ^^ > ( > `    p  p%=546;2+"&7;?64/&#"46;54>.=#"&5`    p  p hN ^^ > ( >%=+"&546;254&+54&6=3267+/&4?632`    p  pthN ^^ > ( >%=!2#!"&=46#"#"2?6&+54&'232"/&>;5463 hN ^^ > ( >`    p  p-%+/&4?63254&+54&"26=326     uu VVU , U-746;546&=#"&5';2?64/&"#"     uu VVU , U7>!"3!2654&#!"&5463!2#54&+"#"2?64&'3533`  ` @@ P @  `@``p ` h  h 7>%4&#!"3!26%"&5463!2#'5326=4&+54&"26'73#`p ` h  h ` `  @@ P @  `@`7>3!2654&#!"2#!"&5463#";2?64/&"5#535`  h  h p`  ` @@ P @  `@`7>!2654&#!"463!2#!"&573;26=3264/&"7##5#0` `  @@ P @  `@` `  h  h -=232"/&6;54637#"#"2?6.+54&54&#!"3!26 ^^ NN> ( >h    p  pL-=%+/&4?63254&+54.>=32632654&+"    p  pL ^^ NN> ( >h-=746;546&=#"&5';?64/&#"%#";2654&    p  p ^^ NN> ( >h-=3"&=#"&?62+#326=32>/&";3!26=4&#!" ^^ NN> ( >h    p  p-3"&=#"&?62+#326=3264/&"; uu VVU , U     8"2>4.".4>2'&"54&+"'&"2?64'CrCCrrCCr:cud::cud:\ S R s sCrrCCrrC:d::cud::c6UU ss  8%4."2>".4>2/&4?6232+"'CrrCCrrC:d::cud::cGtt UU CrCCrrCCr:cud::cud:]s s S R  872>4."72".4>"/&4?#"&=46;'&4?62CrrCCrrC:d::cud::cHss UU CrCCrrCCr:cud::cud:\s r R S  82>4."'4>2".?62"/+"&="/&47CrCCrrCCr:cud::cud:]s s S R 8CrrCCrrC:d::cud::cHss UU %'&"4&+"'&"2?64'    x  .762"/+"&5"/&4754&#!"3!26$  s s ]h t8t -"/&4?!"&=463!'&4?6232654&+"( t8t ]  s s h.7'&4?62!2#!"'#";2654& t8t $  s s ]h-%"/&4?6246;27623!26=4&#!"]  s s hx t8t 764/!26=4&#!764/&"2x      !"3!2?64/&"x      .>%"/&4?62546;27627#!"&5463!24&#!"3!265\s r R S d`  ` tt UU `  .>7'&4?6232+"'!"&5463!2'2654&#!"3tt UU `  Es s S R e` `  -="/&4?#"&=46;'&4?62'!2#!"&546"3!2654&#ss UU ` ` ?62"/+"&="/&47463!2#!"&73!2654&#!"es s S R e` `  ss UU ` ` -%"/&4?6246;276254&#!"3!26]  s s  h t8t .7'&4?62!2#!"'32654&+"ؔ t8t $  s s #h-!"3!2?64/&"7+"&546;2t8t  ] s s  h.?62"/+"&5"/&47'3!26=4&#!"$  s s #hȕ t8t 72?;2652?64/&"    x  !+7!54&"26=!2?64/&"/&4?6%&=46 @ @  @ @ @@?@@// @  @ // @  @ @@@@+77#3264/&";#"2?64&"&?62#"/&6;2// @  @ // @  @ @@@@@ @ @  @ @ @@@@CO[gs%#53?64/&#532>/&";#54.>=3#"2?6.7&=46'"&?62#'&4?6'&6;2"B2l B B l2 C  C 2l B B l2 C  C NCCBBCCBBDl2 C  C 2l B B l2 C  C 2l B B BBQCCBBCC!+!764/&"2?64/!2?64/&"4x4 TT 44 TT  33 T T 33 T T+7&"2?64/&"2?'&"2?64' 33 T T 33 T T044 TT 4x4 TT c%"/&4?6235#"/&4?6235#"/&4?62"/#35'&4?62"/&4?5#3762RJ J )) II )) J J )) II ))  II )) J J )) II )) J J )) -ARclu~"&46326476767654.""&54>24&"265462267>'.'&7>'.'&"264&"264&"264&"264&7' ,  #;F<" +JWJ,  1V9Q9 '6& k , &  D9( #3    G  g  G  @@@  ,< #;##;# ,J++J, 1(::( '' 5 $= 5 .O F)O   @   `   @   K@@5%'7>/.54&+"'&?;26=6?6&ۻ    Tll ll ll ll JY"3267>/.#".4>2#"&?6&+".#"32767327654'."&547>32CrCCrC(K  B";c::cvc" 2 !  '"=0+ O)'" rj-CrrC :cvc:2-/:4  (#%\4 '$@C64;$ #$;95@NV!"3!2654&#!"&5463!2#+"&?6;2+"/3'&/746;2+"&57264&+` `  D  ;; /2n6-55-6@"#    )   33 3Z3"@" "%>54.?%>54.?  ,    @    @   (i~%4&'6.."&7267>'>#"'#"/#"'&?'&'&54?'&'&767676327676'"/&4?62762 &3.4.3&  &4 .4. 3& [  0" 8 "5 0" 8$ V  E  .3&  &3.4.3&  &3.*  8 "5 0" 8 "5 0V  E  (i"&'.7.467&>>26''3276?3276'&/7654'&/76'&'&#"'&32.4&  &3 .4.3&  &3.^0  8 #0 5" 8 #@ &3 .4. 3&  &3.4. 3& [8  0 5" 8 "0 5"@.7MPUjmr>5326=4&+.#";#"3!26=4&+462"&054&/&"32>5'#3&'154&/&"2>'#3&0t} ++ }th0@ / $ . C-4pP 66 / $ . 4:4pP 66"##` -KI/)7, 5-KI/,,  "2>4..67&%>CrCCrrCCr'$1*ki*kiOCrrCCrrCo(ik*$31$Oik`'09BK!"3!26=4&#"&=46;!!+32264&"3264&"264&"3264&"0 !//!!//OPP PP  h  X  h  `/!!//!!/4     `     /?O_o#";2654&+";2654&%!"3!2654&#!"&5463!2#";2654&!#";2654&+";2654&Cu     800}0000`00``0  0000 )>Scs#";26=326=4&#54&+";26=4&#";;26=4&#"#";26=4&%#";2654&32654&+"#";2654&+";2654&3#";2654&xxݐxx00M00M00= 00@000  '1;EOYcs4&+"374&+"374&+"374&+"374&+"3;26=#;26=#;26=#;26=#;26=#7!"3!26=4&P`0@` `0@`0@0@@ P`0@ 0@xpp #'+/37;?13333333333333333333333333333333  $    s/!"&=463!2!"&=463!2!"&=463!2LLLN 6>F"2>4.67'&'&7677&'>67&'&7'6'7&547CrCCrrCCr (  'g36* %   ,73e  CrrCCrrCh! 0911* !$ &! ,611-# !' { >> %&# $&#" >#/FOX'.#&'&71676'7676?>'76767'67676?6"264&"&462s7E8=E A EVNE # !+& &F  ! /B//B/((  $).6>.>&.'7767677'7%6?677'6767.'/_!!__!!$E94K=2A A0?*4N;82B,3C ,W$C65 O;6o0!!__!!_8;$=+?G* A1 49E", C3,B2u6;O 56C$ ,CGJNQTW[^f%?6=&'&"'.5767676762'''#"&=463!2+7'7#7'7#'7'7'?75!353l] TMNS ^l *8FE8) KBBKp/,*@*S@,/1?'$$+++s7 l-$' |Q-**-Q| '$- $))$ ;HHHH@,,*)@,,* 5++(5ZZ::SZd%!546322?64/&"..#"#";;26=3!27;26=>=326=4&%>&6#!"&=!L Z$ "*  -&& .Z *@%,,%@- &&@#7Qh++7326=35#54&+&'73232546;7#";7#"&%#"&?#"&?>;232'#76&+";2?6&  [  _c  "8h6,`ha,   00   !!Ks `-23##!"&=463%!"3!26=326=4&+54&0    @ 00    `-=M]m}23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";26754&+";26754&+";26754&+";260    <@@@@@@@ 00   tttttttttttttt`-=M]m23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";260    <@@@@ 00   tttttttt`-=M23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";260    <@@ 00   tttt9G%!"&=46;#"3%++#"'&6?632!232#54&#!326=3NOf P j5AP  Ǹ @   Ȑ I  [0 0`-=M]m}23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";26754&+";26754&+";260    <@@@@@@ 00   tttttttttttt@$.5!2#5!#46;2462"&7264&"!546;24&+3   8P88P8 &4&&4& (8 &tt``ty(88P88(&&4&&:@ 8(&`)3?KW#54&#!"3!26=7>=4&#!"&5463!2532'"&=462"&=462"&=462 =&Z   ` .    @     ` & `         A!KY7"&76767';2653'"&53'6&'&'&'&54.'654&"'&"2?642>p    p&4&8$T @C  #=&!7 # #;" 9 (?2" '&& @ ;!  "2'D-  #s  ";#J+" *1G%&'&'&54.'654&";2653264"&537!"&767654>2 #=&&=# p&4&p @  ";F;" R "2'D-  -D'2" '&&'c @"+J#;"";#J+"9HMTl"'&+";#54&+";&#"326732?2>."&4632;7#7#4&'73.'&67?>/632T D;)T 8 #;"";#,E 4e ":E;##;](88(C k 1AQ1H({%65 5(8. @  - #:F;"6*4";#!:F;$8P8_$`G %35&&S T8(-CM]aeiy4&+54&+"#54&+"#";26=46;2;26=4'&'&'&+"&=37#47671676735#53#5373#531#54&#"&=3  P @ P    `h`  `   `@@`@@ @@`  ` H (  ((  ( &)4004)& T/%$ ! @ ! $%/T  ,Bj"&547>76523"&547>76523"&547>7652#5##5##5##"!54&!5>76227676762276767625&'&""'&'&'&""'&'&'&"5463!2`  r  r  " ` `                  ` `   %&   %&   %&H    (    @ *2;&/7'&6>/#"26=76?5'26"264& Cq x G 07 I"* . Oe[6Ʀ ډ""@ +67>4&'&+";#";27>4&'32++532/* ''n%,$y!t|+42?6  ?O< $%.4*-C0232"&?#"&?4637#";32676.+76& "h  1j  vv@&  > |   % "T&6CO\ht'&"&#"2>54'764/7#"'.7>3277+"&46;2'"&=462&4?62"'&462"'"/&462#""&546328&  7^98`s_8 &8G/Q0%!1;1O/ cm<    H  U   &  8( {8& 6]7:b:8`8  &8 /Q0[6/N.c 70    3  g & (8 :>GP#"&=46;254&+";2632#!"&5463!2%!!6;#"&7!"3dA!//!X  `t 4/!`!/   &Q``p  !"74&'463!2P   0pp8]]  "+4"2>4.".4>2"264&74&"26"264&CrCCrrCCrC;c::cvc::c c CrrCCrrC0:cvc::cvc:8 3+=Q~%&'&'&'&'&7>76'."37>#&'&'&7>2#.76767673&7>76'."37>'&'&'&'&/#&'&'&7>2#.76767673  ):)   M*n  0   ):)      *n  0       ++     'r' &r  X"_%  %_   ++     (q''q(  b  X"_%  %_")3@U'.#!"3!2>54.%32#"#'>;#"&=33".4>27&"'&"2?64'"24X4&C *J! .(j+J++JVJ++JE7^;d4X4-N6oU" -dU+JVJ++JVJ+F7^(2'.#!"3!26544?>;#!"&=!5#53232 2 ` Ѝ2  #,1:C%#54&#!"#"3!2654&3''5#3753!'5#3753)53753p   ` @ ` `@@@@ `@@@P@P@@@    > > >kk > >kkkk#@7/&/&6?'.?>76#!"&='&54>;2>54&+"2#.547#"'&4?62;6;54&+"32+!5#"&=46;2222" 10$ 3&)Z/# "s *+  "W I  `aZ[00, /(HGPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&@                       P     P     P     @   #=AQ%#54&+"#";;26=326=4&7#54&+"#"3!2654&%3##!"&5463!2X808808up p܀ `  880880H  H @@   15?#54&+"#"3!2654&%3##!"&=3;26=3!3#'5463!2p p܀ `  P @@  `(  (   (  ( @p p '!"3!2654&46;##!"&5!5!5!2`< 0@ ` P `0 @  @ 0AH\%#5764&"#4."#'&"#";2?;267264/6=3264&%2#4654&+"".=! @# $(";F;"*, +@ @9 8A$ $A8 9@ (887'B'@'By$ ##;"";#+ ,y  6-: 77 :-6  8((8H'B''B'/?O_s+"&=46;27#";26=4&#";26=4&3#";26=4&#";26=4&3#";26=4&!546;463!232'!3546;2((t(((({(((({((@ P @(U((((`((((`((((  8@UUA6GQ[54&#+";32676&'.76&'&6726=264&&/&'&73'546;#"&&'&'56767  =CXX  ")    VXB=   $  J  8:GGGG;7 5 +`!%(    * 5  &! ` ," "+ &3<2".4>7"2>4.2".4>7"2>4."264&:d::cud::c;CrCCrrCCrC!7 7B7 7!)F))FRF))F)!!.!!:cud::cud: CrrCCrrC 7B7 7B7 )FRF))FRF)`!.!!.!!72>54'&4767"'#.654/&54767V461WpW165 99 '! !'xx)B(66(BMQT:>`66`>:TQ1@@1$22KJ2K:X5445X:KKOWaku7"&4627"264&7++"&=#+"&=.=#"&=46;547676232!5!5!."#;265!5#;2675!3!26 s 00  (!9.`.9!( @5UdU5\@0@0 ` ` P  P %  %r Kpp #3CScs!"3!2654&!2!546!"&5!+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2P   ' @ ((`((`((((`((`((((`((` PP @ 0 ((((((e((((e(((( #-7GWgw#54&+"#54&+"#"3!2654&!2!546!"&5!%#"&=46;23#"&=46;23#"&=46;2#"&=46;2+"&=46;23#"&=46;200`` g  (([(([((e((e((((4444` 00  ((((((`((((((#-7L#54&+"#54&+"#"3!2654&!2!546!"&5!'"/&4?6276200`` g  I D  2v  4444` 00  ÆD 2u #-7EU#54&+"#54&+"#"3!2654&!2!546!"&5!'&?62"/&4?6200`` g  "#M"4444` 00  "#"#-7GP#54&+"#54&+"#"3!2654&!2!546!"&5!32+"&/&6"&46200`` g   ,4444` 00  xx #-7G#54&+"#54&+"#"3!2654&!2!546!"&5!'#"&=46;200`` g  c4444` 00  #GQ[%++"&=#"&=46;546;2327#!"&546;546;23546;232!54&#!"!3!26@DDDD00`   ` tDDDD`444400  #-7[#54&+"#54&+"#"3!2654&!2!546!"&5!'"/"/&4?'&4?6276200`` g  p 00 00 00 04444` 00  ` 00 00 00 0#-7#54&+"#54&+"#"3!2654&!2!546!"&5!00`` g  4444` 00   %>X%".4>2'"264&463264&#"267232#!"&546;7>37#"#"3!2654&+'.!7 7B7 7!$44H44D  &  dn ` n XX( 7B7 7B7 4H44H4X   & ;    6 ! & %5ITd546;2+"&4."2>'"&462463264&#"26%#!"&546;76;23254&+"4&#!"3!265 ttX 7B7 7B7 4H44H4x  &   `"  `  !7 7B7 7!$44H44$   &  -$ J  2?H232#!"&546;7>37#"#"3!2654&+'.".4>2'"264&Dn ` n XXQ!7 7B7 7!$44H44;    6 ! &  7B7 7B7 4H44H4)'0:C%'.".#"2>=27>2#546"&=36'&67&/7o3< ;&44<4p4;(H!//!!//?009@//!$.444Y/!pp!//!PP!/fRPS@ !SOS Vdr7+"&462%";264&7++"&=#+"&=&=467#"/&6;27>;276;263!2'.+""#"'1;265%01+;265'!"3!26=4&#";264  # #  Z 00   ''  ^  0@ 00& p &` p  ### X &8))8&  BB 5  &8  8&P *"2>4.".4>2'5"2?64&#CrCCrrCCr:cud::cud:x`` `  ` CrrCCrrC:d::cud::c``  ` `  *%4."2>".4>2/734&"265CrrCCrrC:d::cud::c``  ` ` CrCCrrCCr:cud::cud:x`` `  `  *72>4."72".4>#2?64/&"CrrCCrrC:d::cud::c``  ` ` CrCCrrCCr:cud::cud:x`` `  `  *2>4."'4>2".?264/&"3CrCCrrCCr:cud::cud:x`` `  ` 8CrrCCrrC:d::cud::c``  ` ` A! !"2?64&'!     a 74&"26'7 @  a 2?64/&" @  "0!"3!2654&#!"&5463!2'5"2?64&#`  ` ``` `  ` `p ` ``  ` ` "0%4&#!"3!26%"&5463!2#/734&"265`p ` ``  ` ` ` `  ``` `  ` "03!2654&#!"2#!"&5463#2?64/&"`  ``  ` ` p`  ` ``` `  ` "0!2654&#!"463!2#!"&5?264/&"30` `  ``` `  `  `  ``  ` ` A 7!264/&"7!   ` B,5>BX!'.+";2654'3264'.#!'!26?6&"&462"&4627!'!"/&6;546;232(Y UOF%6% %6% L + $4 4##, 4%%%%6 @   -t4444B,5>Bf!'.+";2654'3264'.#!'!26?6&2"&46#2"&46%!'!546;546;232++"&=#"&(Y UOF%6% %6% L +c  3$$$$$, 4%%%%6 @  d$$$$G%'7>&/76.'.'.'&?6?6?>/7>&//&/&?'.?'&6?'&67>7676# '' ## '' #.7 6 '' 6 7 )) 7 6 '' 6 7 ))' "" '' "" '-6 7 )) 7 6 '' 6 6 ))  6 6 ''  &%2#!"&546;2%'&"!'.77!TTV xZ cYV> h6U`Y9$4DT%2#!"&546;2754&+";26%54&+";26'54&+";26'54&+";26 `` hFTT6A%2#!"&546;2"/"//&4?627'&46;24+"65 $`74&#'3'54&#76764'%4>7&'&:^8 C4*J,-74]8^: X<@G%pP,L=d;E846 . /R5!0,. ."2>4.".4>2"/&4?62762CrCCrrCCrC:d::cud::cS V  E  CrrCCrrC0:cud::cud:W F 4!"3!2654&2#!"&5463'&"'&"2?64`  >  E  V `  ` bF  V h '&"2764/&"c  w ,  dc  w,  Oow754&+&'&5326=4&+5676514&'>4&+"1#";#";26=4'47>322?#5'&'&3#6#5753 - ( -    -% < "< V}  $T   T$  66% ,%' ** ^,@BN^73567654'&'>54&+"72?#5'&'.547>32'"&46;2#!"&=463!2   ' 0 'aY  x  : S 0 |(&::&5A?#  #?ADaY3'22(4.FM   @ #'+/37;?CGKO!!!#5;#73#'#5;#553%#5#5;#'#5353353%#553353'#53#53#53 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3CPYiv#5326=4&+";#26=4&+"3#"3!26=4&#!"&=463!2!"2>4."&4627"/&4?627"2>4."&462'+"&=46;2XxHHd0 0P!7 7B7 7!$44H44 ( ' !7 7B7 7!$44H44@   7B7 7B7 4H44H4 ' (H 7B7 7B7 4H44H4883CPYfo#26=4&+"3#5326=4&+";#"3!26=4&#!"&=463!2#"2>4."&462%"2>4."&462'+"&=46;2"/&4?62XdHHx0 0!7 7B7 7!$44H44!7 7B7 7!$44H44@( ' @   7B7 7B7 4H44H4 7B7 7B7 4H44H488 ' ([_lt754&+&'&75326=4&+76&+5326=4&+54&+"#";#"#";#";26=4'#'13#6765#5753   11   ; @ "<T~%! a  a &664`` $$ 7A#!"&=463!2!'&6;5#"&=46;546;232+32'!"376&hVV::::-NN,"8::8"@5[c"&462#!"&=4?5463'547'.=47&>;22'3754.+"?6?6?'5#!T     S,K, Ȑ#<$S & .  88   l ,K, %$<#l #  8  a;DT7!54.+"74?'&6;2!546?>=/&57462"&#!"&=463!2(@4X4t   t+J+ > !  /   Hh #?4X4      +J+ !C + r  @5>DL%54&+&'326=4&+64&"#";#"3!26=4'2"&463#6!5753 ;R;(((8((Hr 6BP;;PA766S(8((8(@88@.7=M!&'&'&'&'326=4&+5>54&"#";462"&3#6#!"&=463!2   8P8   8&4&&4&'2""($'((88(('$  &&4&&FWII\gs{754&+&'&=326=4&+76/&"&54&+""'&+"#"'&'.#";#";26=4'7677#'3#6765#5753"&462 2   2  $D$< V ~D(( {     { %*66O XXw %) !(% !7g!"&=463!2"264&'2"&46#"'&'##"'37'#"72327>!&6?63276746;226763h  !!/ i > :#[[$: (ii(   ) @ !.!!.!  E%%e &  A 5IQ7#546312#!"&=4?546;65'&=46;232'3&=75##5##5#'5#!0 ! !Μ(( @ (( 0  66ET! ]  ] !TE%G](Q0000Q(\/7G7!&'&576=4&#!"73353353#676='#5462#!"&=463!2P$) 0 ` 0008h-'CIHD'-) n  n w0000c0/!;?@:"/0}8  %'54&+&576=4&+"#"14/54&+&'&75326=4&+76&+5326=4&+54&+"#";#"#";#";2651;26=43#13#6765#5753753353353#6'5#5753'#546;2      11   @ @<T~P 0 " n N$  -7C  C7-%! a  a &668` $$ 1 1;00;f&  ."2>4.".4>2764/&"'&"2CrCCrrCCr:cud::cud:s cc s CrrCCrrC:d::cud::ct dd s .%4."2>".4>2'762"/&4CrrCCrrC:d::cud::ct dd sCrCCrrCCr:cud::cud:s cc s  /72>4."72".4>"/&4?'&4?62CrrCCrrC:d::cud::cs dc sCrCCrrCCr:cud::cud:s cd s  .2>4."'4>2".7"/"/&4?62CrCCrrCCr:cud::cud:s cc s 8CrrCCrrC:d::cud::cs dc sz+"/&4?62762'&"'&"2?64'      ^  n  z*'&4?62"'764/764/&"27^  r        z+"/&4?'&4?6272?64/&"#  o        z*?62"/"/&472?2?64/&"      #  s  )'&"'&"2?64'     764/764/&"2     2?64/&"     5!"3!2654&#!"&5463!2'&4?62762"'`  ` s cd s `p ` t dd s4%4&#!"3!26%"&5463!2#%762"/&4`p ` t dd s` `  s cc s 53!2654&#!"2#!"&5463"/&4?'&4?62`  s dc sp`  ` s cd s 4!2654&#!"463!2#!"&5"/"/&4?620` `  s cc s `  s dc s:72?2?64/&"   R  (J&"."&";27;26=764'2"&46+"&=#+"&='&462376258N85%M!!M%%6%%W     W  NVN e'77'%6N!!N6M%6%%6%V  pp  V  OO +".54>7>=4&2>54.'& 1O.:cud:-P1 9]4CrqC5\9  4.".4>2CrCCrrCCr:cud::cud:CrrCCrrC:d::cud::c"<Q#654&"#"3!2654&'2"&46#!"&546;;26=32&"'&"2?64'PY!.!Y    00 ; v2 C !!` P `  tu2 D (1KTn%#";26=4&#";26=4&'"264&"264&#654&"#"3!2654&'2"&46#!"&546;;26=32pppp  Y!.!Y    00 `h`!!` P `  1:#74&"#"3!2654&#!"&546;;26=32'2"&46PY!.!Y   00 !!`p `  P -"2>4.".4>2'&=46;2CrCCrrCCr:cud::cud:QG CrrCCrrC:d::cud::c;4  +;!"#"3!26=32654&#!"&546;;7#!"&5463!20@0d  0`  @ 00@0 @ 0 @ .>^'&"2762'&547>7!"3!2654&#!"&5463!2'&"2762'&547> 6&5 Q 88` `  1 6%6 Q 88=#/" x    L=#/" 9QT262#!".5467&54>7"3!2>4&'654.#".#"2?64&+54&+"'-HD/#.8(48)'B'.P0+5'B'p#;"%4L@ P  P @`PP2(/!5$(84*? 'B' -M.K.'B'";F=4 #(T HH TyHH9W262#!".5467&54>7"3!2>4&'654.#".'&"2?64/&"54&+"-HD/#.8(48)'B'.P0+5'B'p#;"%4LD c c D2(/!5$(84*? 'B' -M.K.'B'";F=4 #(D cc D9QT262#!".5467&54>7"3!2>4&'654.#".53264/&";;26'7-HD/#.8(48)'B'.P0+5'B'p#;"%4L@ P  P @`PP2(/!5$(84*? 'B' -M.K.'B'";F=4 #(T HH TyHH9W262#!".5467&54>7"3!2>4&'654.#".52?64/&"2?;26-HD/#.8(48)'B'.P0+5'B'p#;"%4LD c c D2(/!5$(84*? 'B' -M.K.'B'";F=4 #(D cc D9262#!".5467&54>7"3!2>4&'654.#".-HD/#.8(48)'B'.P0+5'B'p#;"%4L2(/!5$(84*? 'B' -M.K.'B'";F=4 #(>n2376#"'&'&+"&7676=4&#"&54>26/&>7"&3267;2>/&'&532>54.6. 0 ,08' d '80, 0 +A$A'!9"  d  ,"9!'A$A&:),'6 !  ! 6',):& 3O'<%"9!  ##  !9"%<'O38ALX4&"5>54&"2654&'>767167>7>%462"&"&463127"&462/B/%%$/B/$$/B/! + $#((`( (0!//!,,!//!,,!//!+  -%,\(((a !.7#"&=46;%#326=4&%"264&'2".4>wwww.BB\BB.+J++JVJ++J(!(PB\BB\B0+JVJ++JVJ+*3<E"&'&'>54&"2654&'53264&%462"&"&4627"&4620.8 #/B/$$/B/$ +F*!//((`(((*0,!//!,,!//!,u &/B/p((\((A$8'.5>3'76&/7>/&"2%764/&2Nyyyy@~fggfA '0)"&43!2++"&=463!2'!;26574&+326 /8( 8((8(9&&& &!(9 (88(8&&&&Gqz%'6'7>'&'.&'54&'&'&?7>=6767676&''5.'&'7&47'67>7567'"264&"&462!!)! 99 !)!!)! 99 !)I.,,....,,...(88P88(&&4&&8+ &  & +88+ &  & +8a 6 6 "**" 6 6 "**8P88P8&4&&4& GwN~%'''&'.?&'#"&'&7>;67'&67676237>32+&767'76?36'#'&/7&''&'#3775&'&'.'&6?&7'.7>7>6754676276/"'.77576?67'76/7&''&/5&'77"&462'"264&'"#'&'.?&'#"&'&7>;67'&6767667>32+&767'76?36'#'&/7&''&'#37?4&"264&"26         t   . 0 . &&  )! )) !)  &&  ) )) )  '#00E11"*.                 )   ((    )&3   0 %  % // %  $ :1D11D1**        *  < =!"3!2654&#"&53+3` `` P `@09BK"76732>4."'6767&'&54>2'"&462"&462"&462 NN"    YF/3NNMN60MM#EvvEEv%`8_9%D  % 8_r_8-  #/Q00Q^Q0   @0"76732>4."'6767&'&54>2 NN"    YF/3NNMN60MM#EvvEEv8_9%D  % 8_r_8-  #/Q00Q^Q0B&?Z#"'&'6773&'&'6764'6'"276732>4.'2#"'#".676767.54>? <<(V(.++'!    8`8 ##(+8`88`8AnAAnA)&@A   Ao $   <="9 }(C(  'DOC( 0RbR/ $  :1R0 09"2>4.".4>2'??6?6&#""&462CrCCrrCCr:cud::cud:!g!Qg! g! CrrCCrrC:d::cud::c;byb  b  ;'&4?#"&=46;2+"&="7326=4&+764/&"54&+" =d  d=    d= =d )>S%#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| tt|  |tt|  |t|t| tt |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| tt|  |tt|  |t|t| tt |   )2;DMbfj%!"3!264&!"&463!2%"264&"&462%"264&"&462'"264&"&462'!26=4&+54&#!"%3#%3# @(88((88(@&&&&V(  Y(  (     8P88P8&4&&4&p((@   @((@   @((@    0    )2;DM]bk%!"3!264&!"&463!2%"264&"&462%"264&"&462'"264&"&462'!2654&#!"3''3753! @(88((88(@&&&&V(  Y(  (  `  @ `@@`8P88P8&4&&4&p((@   @((@   @((@     LL "4F'&+"#";26=32654'#+"&546;;7+"&546;;4PP`4@@  Pp   H~400 04 @ 0 @ H  @"2>4.".4>2#".4>32'&"327676CrCCrrCCr:cud::cud:p  $&>$#>&#   P56)   CrrCCrrC:d::cud::c %@N?$    8V:    @/?!"3!2654&#!"&5463!2+"&=46;2+"&=46;2     HH`p `  @/?OScs!"3!2654&#!"&5463!2+"&=46;2+"&=46;2#";26=4&#53#"&=46;27546;2+"&'546;2+"&%+"&=46;2     HHhP  P @@888888HH`p `  0  0 @ (( ((((-((@#3C!"3!2654&!2!546!"&=!%+"&=46;2+"&=46;2      HH` 00  T"0;ENW'.&/.767%>/&6?>'&'&'&'&?7'?67'76"264&"&462y    A3 -   % E  e o!//B//!(  i  9\ i O0{| /B//B/(( 37;>AEIMQ%#764/&"!54&+"#";3!;26=326=4&3#5!53#'573#7#53(8 8 0 (  (  0 ( n @i ɩ7  @ @ ` 8 8(  ( 0  (  ( 0 @ @ ɩ @I 3gp%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&462#7X55X7##7X55X7#,J.AA.J,,J.AA.J$5X7##7X55X7##7X5AA.J,,J.AA.J,,J. "2?>=4&/&''57  NhhN"Tbb#ZhhZ #(,159=AEI%54&/&??>=4&'#57'7/5'5575'7'5575'7 ` ` e `ll` k6stt56kk|lltsrkk|lltsto $$ o& f 0660 f b/k++2bk5m/>5s/22+5m/>5s/22+(=GQ%.+46;26=4&+"3!2>=4&%546;#"32!6763!".5!%4>3!27!p  #;". 4F'B'`'B'F8(&"  4@44`4$  ";##P6 'B''B' 6P* (8 & 4444)2;D?64'&"'654&"327&#"2654'72764'"&462"&4627"&462  18P88(11(88P81  &&4&&&&4&&n 1(88P8118P88(1 &4&&4&&4&&4& 0@Y2".=4>".=276".=276".=276"2767654'&'&4X44XhX44X4XhX452v254XhX452v254XhX452v25/.9!))!9.^.9!))!9.  ++ K++ K++  $$  $@$ Mb'&4?62"764/&"2%476767654."2654>2#"32>'"&54&""&5462R R }  A  +JXJ+  #;F;#  , 1 '6& 9Q9 T R Rt  k ,J++J, #;##;# <,  1 '' (::( @#-7!";#"3!264&+'32654&737#!"&=!5!5463!2 H   H.     `   `  @@ 0  @#3!";#"3!264&+'32654&737#!"&5463!2 H   H.    `   `  @@    !09Xu~4&"26"&462!"3!26=4&%01632&7&#"264&"'&';2=6?6&'&'767;2=&/&6?&'7264&"264&"264&"8P88P8`&&4&&p%VJ;F H?O[ P  ` ?B+&%   &&+C>   S    `   `(88P88&4&&4&!#    H%` (  2 `%   (J     g  &"2?64'"/&?62 $ $    =CHN4&+"!&'4&+"67&'3;26567!;265&'&'6767673'#67#&'#I$(>g08*ZZ*  8&%    .0O7 !1!8^87  25W98X43I!! --!!R7&'&'&'&5476326?6&'&'&'54&+"1#"'&'&";26=6764 -$   !)& +( #   !))    /1(/   #   //YA'0%.&#".+";2>54'7>'"&462; `*KKa "0- (P  */# (L(( NW`7!26=4&+54&#!"3#3#'3#!4&+";;2654'32654'326=4&"&462!"&462 0  ``pX;(([U    `  p  ` ``h  @     -6?%!4&+";;2654'32654'326=4&"&462"&462xpX;(([e      h  0    KT]7!2654&#!"3''3753!!4&+";;2654'32654'326=4&"&462!"&462  `00`PP`pX;(([U    `   QQ `h  @     A(:C%'.'.'.+";2>54'7>%7?>/7&#""&462@"J *KKa !1- zjaK ( N3 */# (L#JK :~(( "+"2>4.".4>2"264&"&462CrCCrrCCrC:d::cud::c;!//B//!(CrrCCrrC0:cud::cud:(/B//B/((7Mc%"&462'"264&7#!"&=46;'&>;546;232322?6&+54&+"#"4&+"/#"3!265   T  Xc8 5`5 8cU`Ur5 " 5    0hh8  8$  {4 4hScs%#54&+"54&+"#54&+"&+"#";;27;26=3;26=;26=326=4&#"&=46;2+"&546;2+"&546;2+"&=46;2x              i          `     ````   0 `  `   @%38B%76#!"&5463!2#!"3!26=47&?62'7'&"764$ ` d  9 # 5 jCK04 0C0`    d9 5 #=CL ?40C0  )9%'&"3!2>!"&?62#!"&=463!2!"3!26=4&*`1  &`0 ` ''"p       #,5"264&"&4627"264&"&462%"264&"&462**<**"**<**"**<**"*<**<*p""p*<**<*p""p*<**<*p""97"&4627"264&#"264&X   #,5264&"72"&46"264&"&462"264&"&462`**<**"**<**"**<**"(*<**<*p""*<**<*p""@*<**<*p""@Y72"&46'264&"264&" X  4T&'&'&"3!2654'&!"&5476?6762'"'&/.?>276?6]* GJJ,` FK    LE r(r q  q   9<= 9< <9  [  [ [ [/=K!"3!2654&#!"&5463!2!"3!26=4&#1"/&'5531276?`  ` @    < <E  E`p ` 0   "00"u7 7u%;!"3!2654&!2"'&/&'546!"&=276?67`L #t    t# ` #` ( `#   )\ \) M  M !-%64/&"3!26=4&+62'"/&4?#(`dt `t5((`{u`u45K%.#"&'326576&+&7326?6&+>326?6&'&#"#";#";327>'07"2>4.32+"&5'&6"264&:d::cvc::c;CrCCrrCCrN :cvc::cvc: CrrCCrrCx(8A!"3!2654&#!"&5463!2"264&'32+"&5'&6"264&`  `  `p ` C#3<%#!".7>&"3!26%"264&'32+"&5'&6"264&:  !!    !! P`\02+"&'&632"&46#"2654&'676&:+&&4&&EV 8P8 &4&&4&` '(88(' ;732+"&=46;27627#";2?;26=4&=h h=  h= =hCNYdo%'726=4&+"'764&+"2?'&";264/7;26=4&"32/&6&=4;2#"=46!#"&?6$mm$ ^ #mm# ^ $mm$ ^ #mm# ^Q^^^^^^^v#mm# ^ $mm$ ^ #mm# ^ $mm$ ^^^e^^^^^c%+"&=46;7'32+"&=46;27'+"&=46;2+7'#"&=46;2+"&='7546;2h::h  h::h  Th  h::h  h::)>S=46;2++"&%32+"&=#"&=46+"&=46;546;2#"&=46;232 |tl| t |t| t| t |t| t |t)>S546;2++"&%32+"&=#"&=46+"&=46;546;2#"&=46;232 |t,| t |t| t | t |t| t |tAA1#"2726=4&'3#!"&5463!2#!"3!26=4?6 ` # )#  ```D `  # (# ` ``  8;!"3!2654&#!"&5463!21#"2?26=4&'3`  ` `` # #  ```p ` 0 # # ` `?!"3!2654&#!"&5463!2&4?'#"&=46;2+"&='"'`  ` Z  `p `   Z@E7&47'#"&=46;2+"&='"'7#!"&5463!2?6&#!"3!26=4&CZ    T`I C Z ` $)5&"'&"732?2?64/764#577'7762KB@ 8N @BSSY#))#Y1"B@ N8 @BKuSSY#))#Y"1@%B\i%#"'&'&476732'327'.547&'&6?6632'4.#">1"2651>7.'>76AYKJ+'B=$'O+I,!8 K.9  >26YKJ+";#*!#&  &~B( "%+G*,+I  C*&=CM!*H*"7!U+CM  T,+I )"9!.   045 %<"TO=)@x :N%&'&"276764'".4>2"&'&7>72>54'%471264٠"&9+JKKJ++JKKJ+";F;"";F;"~''B("+IXI+"(B %%6%I+,,+I  I+,,+I "9!!9D9!!9FCMNB%<*6*H**H*6*;&  %6%%)-27326=>=>54.54.54&+"%57%71'     ] v @ w  )-2#"/&'&??;2654&#1     v w h@@ /?O_u#";2654&+"&546;2+"&=46;2+"&=46;27+"&=46;2+"&=46;2754/&+"3!2654&%46;;!#!"&=!`00 0 0 ((((`((((@ 0  (   `@ @ ((e(([((e((J 0 X( ` !*G7'&/654&";;26=3262"&46#+"&=#"&?>;732( 4H4 (  !!.!!g-  - (  ( k "$44$" %;;%K!.!!.![ [   -KT'76&+".764&"276?7>76&'76=4&".5467622?%"&462l8DU " /B4Xj+" ?)+>1&O,I+(%5D^$3@/B//B/K8DU "B/F&5X3" '1>+)?  +I, :(5%D^4$  O!//B//1]%/#'>4&+3#'#373#3264&'73?67>4&'&'##5##'53535'575#5#5733533g*T@::@T*g )(j(n20@ *::* @02n(j( h xHD^DHx h  " V H 7&7 H *:JZ'&+"3!2654#5!"&546;;'+"&=46;2+"&=46;2+"&=46;2rT %`I  h 7^T`L `E  h  EE .26:>LUY'&+"3!2654'##!"&546;353;'#53#5#53#53#5#26/."&4627#53rT T``  P @ h @  2  ^T`LPT  h @ @ a&&W *@Uhn'&+"3!2654#5!"&546;;'>54&'&32'>4&'&3'>4&'&32''#537"#";26=4&rT %`I  h U!%      ?,,, ^T`L `E  h  C>"&@ 380 ) )0+      )  HJ$F$H$*?'&+"3!2654#5!"&546;;'"/&4?62762rT %`I  h ) D  2v  ^T`L `E  h  ӆD 2u *:Od'&+"3!2654#5!"&546;;/.57>3'764/764/.6?64/&rT %`I  h ::3&&====&&^T`L `E  h  C0""9999""*6D'&+"3!2654#5!"&546;;'&5?6/&?62rT %`I  h |qqD ^T`L `E  h  qq *T'&+"3!2654#5!"&546;;'76&+"'&/&+";276767;26'rT %`I  h 2 3;  ^T`L `E  h  R "% RY  )  *:C'&+"3!2654#5!"&546;;32+"&/&6"&462rT %`I  h  ,^T`L `E  h   xx  %7>P7'&"!5'&"#57'264&"72"&46%'&+"3!2654'##!"&546;;' &7  0 &&4&& T T``   hp(&q8% cC0}&4&&4&`>T`LPT  h EL'&+"#";2?3264&+'&"'&+546;;#!"&=#3!26545T8~# 9Z F# 95  h   T^TEr,  Fq( h  ppL_T#5<N74&+"#";;26=326=4&+7'&+"3!2654'##!"&546;;088088T T``   h80880T`LOT  h *:'&+"3!2654#5!"&546;;'#"&=46;2rT %`I  h C^T`L `E  h  *NV]do'&+"3!2654#5!"&546;;'&&'7676'.7>?6726&6?72&43673#'&'6rT %`I  h ;5 .$   _    ^T`L `E  h  '    8   T ( $( *N'&+"3!2654#5!"&546;;'++"&=#"&=46;546;232rT %`I  h 7DDDD^T`L `E  h  DDDD*=F'&+"3!2654#5!"&546;;#";26=3264&+532rT %`I  h @,&$ '(^T`L `E  h  <'<%b T'*N'&+"3!2654#5!"&546;;'"/"/&4?'&4?62762rT %`I  h P 00 00 00 0^T`L `E  h   00 00 00 0#);BT74&+";26=;26=4&+"#5;#'57'&+"3!2654'##!"&546;; n  n      ``P0T T``   h  n   p ]``)T`LPT  h *f'&+"3!2654#5!"&546;;'&'&'.+"'&'.+";26?67;26?6&+"rT %`I  h =  +  +^T`L `E  h  5N (Xa  } x U  *'&+"3!2654#5!"&546;;rT %`I  h ^T`L `E  h  7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&546;2+"&=46;25+"&=46;25+"&=46;2((  (@( n(((((( `((((((  P (8(8(((8(8( 7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n(((((( `((((((  P (8(8(x8x(8(8(!">=764&'5'!@ @  @  8  86@IM#6."67676763;26=4&'536=4&#546312'2"&46'57= ) A  "". ."0 %&p %(H "!7#  #6! ` &&]*O4&"&=4&2>54'&'&'&'&".54672654'&'&'&567  " &,4XhX4  # +J+*<*  $  +J  0.%&$ jT/4X44X4,& V+J+$F`**  #$$ "%+J+@#3=AK73;26=326=4&+54&+"#"!"3!2654&#"&546;!!+32808808K <0 0`@` 00 880880`` `    $*17js56&/'65.5'&'675%6756'7576#"'&'&'&#"+"&5.>7663232%264&"#"'.'&#">3232767+ #$ *#$:$ "+'&'&0 **w)$%  !% ,$$) 6   ") 7 L#7 gHG D GE E U H HGHD H     z#!       2;Z"'&'&'&#"6&;26=6763232767654&%2"&46#"'.'&#"56763232767X )$$, %!  P   7#L 7 )"u !#iz     %/       /%'5326=4&+";3!2>!".?6=3#B#A @%0!!01  C'4%#54&+'#"3!26?6.%332!"46#!7>3!20@% C @ % G D |R h 0@p"@ 0u  q ##'#"3!26=4&#!"&546;32@ ` @ @@   @ +2#"#";26=4&+73#";26=4&+&767X--X`KKhxxKcjqy"/"/"/"/&4?'&4?627'&4?627'&4?62762'#.'&7676763&'&'&''>X        7WCB QVCB .)-r })-q p p         V NKuPV NKu r-) o r-) q*1MSW`%#'7>'.#";32>/3276=4&#'&763'"'&/#.7>7632'.'35#'3%"264&| Fg;@74C5V "  + 5$-  &   C6:-08Ht) epv L 9[4a85d'++1$1 p  He&T  ! "S+/UXE" ( /8MVk%54/.+"#"3267332654&46;2#"/"&4627#.#"546;;&#""&4627#4&+";26=4&N0/!,,!/  NX0(, :Z,I(xPc p!/$$/!!,  K((@$ M"$\((@P #7'&?64''&?64'    ٠   @   @(8ER"&5471264٠'"12"&51264&.7>>"2>4.'2".4>p(    (TS ?? v;c::duc::d:CrCCrrCCr    (- -##E:duc::duc: CrrCCrrC #*16:AGKRW.#"327>76'?%7'&7/67'577#%'7''6676&'73?G`4=63D G`4=63E >_!F]E"^V VTRRe 3 $==,*4E ^ >!/;;`L0D5"" UE/0, ?VV> 2h,5>b2#"'&'#".4>3%!"3267332>4."264&"264&%54&+"#";;26=326=4&#%>%%>%nH>%%>%0.M--M.7V7.M--MO...H%>J>% %>J>% -M\M--M\M-d@....3Dh'.'6&/&"7'&"2?64/72?64"'1'&4?62%"/&4?'"/&4?62762  R   r   : $ r ' $ r ;   r s 's 'q~q~ R   r   ; r $ ' r $ :   r s' s' q~q~C!$!"276/&#'##7#3#3'3?3d dJS8(99iA8S IR+sHRIE$||||| H P 2".4>7"2>4.44<44'B''BNB''B04<44<4 'BNB''BNB')3=AHLSW#654&"&#"#";3!26=326=4&'2+676462#"&53"&=3337+537#53H/C A!/H  ` P)PPp @ p  !/&P/! p pp p `(;0 >`` p `6&#!"#"3!2654&+5' v 4 v    "(.4:@%4."2>'#6'3&'3'&73#6#&''#>3#&3.673CrrCCrrC*c c/z K/]%0M%]Moc c ^%0M%^MCrCCrrCCr@@@*LLl@@@@*LLLD/ %4>2#.7#"&'>'#"&'>'#"&'>'9b97^7*&       %+/Q`Q/9..9    P    @    9a78^72V-    -U10Q//Q04WW%      K   >'&%&+"3!2676&#!"&=326=4&+5326=4&+546312y  &&+7  XXXX H%& s @# '*5C%&;265'64'672765'7>&"&'7?'%&47%6d    ; J55J q ]z] vv-OO    Y&&Y" P$$JOO OO C!"3!2654&#!"&5463!2+"&=#+"&=46;23546;2`  ` P`p ` <ddddPaKo546;2+32+"&=46;5#32+"&=46;#"&=46;2+35#"&%#"2?67#";26=4&+4&^^^^= ;9Nssrr> Xd/{%32+"&'54767676764&#"/.7>32'3#5326=4&+";#";26=4&+53#";26=4&+326=4&+"  % $!  1-5+$ ^^^^@  4  3MrrssY`4%#"'&'.?>3264&+"/&?67+"&=46;2%3#5326=4&+";#";26=4&+53#";26=4&+326=4&+"X=, &),!K lY)^^^^*:   %;#XfrrssB;V7!26=4&#!"73''3753!&#"#"&=46;2>&+"!7>!576;2+";762p`  @ `@@`wE0;(1( E    LL P t(; )S1 { @!G%'.#!";+";2354#54&/&+"&546;26?6&+"&=463!2. *q!/~ ] ^~ q  0 *;/!:;z z 9  A "]54..&&";26?6=4.#'&>6=46;26=46;26=46;26=46q' 0/&%}   %{ I   1     ' O $b%.54&"'.;26?6=4.76/&>;26=462;26=46;26546+"&/&6l *'8' 33 < : 'C ?   9g((lZ4f{H  H{ f 37aj26=367676=4'&'&'6=4&+"327#5"&=""&547>767673'''462"&*# '/    (* # # $'    @*9  .+ @  @   + z*@@@      d  37aj5;;276767;26=4&+"&'&'&'&'&#"#"#5346;4'&'&4632+"&7.7.7#"&2"&46*9  .+ @  @   + z*@@@      d  *# '/    (* # # $'    26_h#654&#"&+";27;26'>'6753264&3#%#+"'&'&'56767>763232"&462z +   @  @ +.  9**J@@d         -(    /' #*9*- '$ # #   26_h&#";26=4'67676=4&.&'#54&"53666#&'&'.'&5462354622"&46s(    /' #*9*- '$ # #   zz +   @  @ +.  9**J@@d         "aq..54&"&";26?6=4.6'546;26=46;26=46;26546+"/&>546;2+"&7546;2+"&7546;2+"&i0 %#1#%s )  s lON  X## 1 {W b' $$W{ WWWWWW<LPo7.#""/54&"354'#&/&=46232?'&>32'&"2?64'74&""'76&'&#"354?65#54?63232?5462   #:( k ek A3 +a  a a  a ```(:#   * k #k e+ 3A   '0E +"  OG : a a  a a m```E0' :"+  ` : GO -|..&&3!26=456?6=4.'.=466=4>;26'5>2;26=462;265462#54'& $* )( 3#,f  , /f  -m  % #;+Y    hx$ Y ;+z+*  xh $b32?>=4&/&'&'";+"&6326=4&+"&6;26=4&+"&46;26=4/.>?>I{f4Zl((f f {I   : < 33 '8'* '9   ? C+h4&'&'.&'&;26?6=4?6.#'&471>6='&6;265'&6;2?>;2?>+*##2"  !!#!  7 $ ,.+' h $$ %2} o&%E & i| 4Ju:>h#"#'.+"&+".+";267276767673;26=4&53%'''&/&'1516?6;26?'6.&'&4?6;23#56'#53462"&%"&462hP  #+%" P  P :1-! , P @V   & G1/('@ 2 2 " 6+* @@0     `    5        A):/$ %Q  >  C+P    KO76&+76&+"#76&+"#";#";;26?3;26?326?6&+7326#73cgbgcgbg  r vr v  r vr v A-6?%'.#!"3!26=4%63!2!#!"&=463!2"&462"&4627i i LY&    8@ݏ y0  G  K3!5326=4&+";#";26=4&+5!#";26=4&+326=4&+"1//00//00<DL";26=4&+"'54>2.+";2>=76=4.3#"&46#532FuE4  %: 32>7632"/#2?#.z--z."y82"e1:$S'+%# +' -',t,,,-63)H c,)367 b V2' $'21).+";26?64'+"/&?6;2 pq qp pp p   4F32>2#"&'&4?6232>4.#"32+"&=4676&/54&+"6 !rrBCrC/V! I):b:9c:=fbGHU _9BCrqC" 9ctb:?5  4>!'4"27676=4'&'&".=767".4>2E   * t@t * ^`h`1L2q!  !܄~~A/?O_%#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&7#54&+"#";;26=326=4&#54&+"#";26546;546;232;2654&((((((((((((pp    @((((((((((((PPH p p H#0=#"#54&+";26=3;26=4&'"2>4.".4>2X[FuEEuuEEuF=g<2'32+"&?>7>;2+"&p)*h)* 'BNB' 'BNB'|/-/"$$"/-//-/"$$"/-/6\66\v6\66\  3   9AIWg326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2+"/&6;232+"&?>p)*h)* 'BNB' 'BNB'B|/-/"$$"/-//-/"$$"/-/6\66\v6\66\    9AIYg326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2#"&/&6;2+"/&6;2p)*h)* 'BNB' 'BNB'2|/-/"$$"/-//-/"$$"/-/6\66\v6\66\J 3   9AI326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2p)*h)* 'BNB' 'BNB'/-/"$$"/-//-/"$$"/-/6\66\v6\66\I.'"3#";"3>726=4&#.=326=4&+546726=4&#`0,**,00,**,03<P!"3!2654&#!"&5!654&";26=4'&'2"&46+"&=46?27P   @U8P8a%&4&%{0`0 "(88("  %6%%6%  @$.7a#54&+"#"3!2654&%46;2#3546;2'"&462+54&'64&"#"&546;;26=32    P@``&&4&& p"8P8"p  @  ` P00&4&&4&p 0+O88O+0 `  )9Icl!"3!2654&#!"&5!#"&=46;2'#"&=46;2'#"&=46;2&'654&";26=4'2"&46+"&=46?27` ` ,  ):)  l` Pl $   @@E **   p    (1HO!"3!2654&#!"&5463!2264&"72"&46'&"3!26=4/&"!577` `  !!.!! _XhXZP0pP    x!.!!.!P_X \ XP0pP@+;DMdk!"#"3!26=32654&#!"&546;3!7#!"&5463!2264&"72"&46&"'&"3!26=4'!577`D ` p@ `  !!.!! _XhP0pP p   0   x!.!!.!P_X \ YP0pP@#7OV%'&##'#7>/.3!26=4#!"&=46;3732'#54&+"#"2?64&'35331_/.3!26=4#!"&=46;3732%3;26=3264/&"7##5#1_7"2>4.35#"&=46;232+"&=467"264&:d::cvc::c;CrCCrrCCrg 0 H) :cvc::cvc: CrrCCrrCx>G!"3!2654&#!"&5463!235#"&=46;232+"&=467"264&`  ` 0 H) `p ` x$-L754'>54&"#";26=4&2"&46+"&=46;5#"&=46;2328P8a%%6%%s   h  O&(88(%0B00T%6%%6%P 0 0  !%)-;#"#54&+"!54&+"35!34&3##53533#54&#!"#5!x@   @   @@  @ #3#";26?6&+326?6&+"g-K1.K2    @)58iux054767>'&#" 7654'&"'&4762'326/&"7#54&+""'54&+"&'&'&6;26=2676%326/&"7#0 #CHH>>HH>Z` 00 9(tB4Q0V` 00 9(    #?7gi8??8ig7?c(..((..(PPA!R ##  -PPA!:CL2#"'###57&54>7";26=326=32?32>4.2"&467"264&P'B''B'*0@` 'B'0Q/ p (  0Q//Q  ('BNB' *@@P'B' /Q0 [  ( (/Q`Q/l   ((@/?O_o!"3!2654&#!"&5463!254&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26     ````````    K`-6v!"3!2654&!!!!32?3;26/&+"7671#7546;546;232+'&'&/&6767&'&6?667#"&h  P 0  D  ;;C2DD "      v`   ))   3>%&       ?Q7!2654&#!"463!2#!"&5!"+"&=4&#!"3!26=4&#!"&=3;2653p`  `      @ `0  P  DDP 0  @9dt2#"'&/"#"'&47676765'&'&5&7676767676?6767"3276732767654'&>2>&#&6 0*E@? #    /)B$4&    -(L04 ' @?EGN.6*nK  S~/ P?7        >0,  58H ( !#>G[1'/93 8A 1_q&#""'&7672767>7676'&5676&'&.7676'&767>76767676+.7>76  -,&.V "*  -,&.V  M("'*$  M("'*$ 1W  e; V.&,-  *" V.&,-  **$*'"(M  $*'"(M ( W1 ;e  7#4&+";#"2?64&'6 v ^6 H  H HH@h   @@  @@!7"/&4?62#"/&6;2762c c Af ~ A 'cc A  XA '&";#";26532647H  H 6^ v 6HHx@@   h@@!'&"2?#";2652?64c c Af ~ A Ycc Ad  A  "(/5<BI"2>4.&'7"&462&'62'6&47&77"7'677'6'7CrCCrrCCrf??(88P88DB**B2t??!BB/??.B**B2t??!BBCrrCCrrCq??8P88P8BB/??.B**B2t??!BB/??.B**B2tq8>BZ#""&54632+"/&=&'&'&'&'&54>2#375#374."36767676 &  8(    H    0P`Q/`B```'BNB'   t   p & (8 g(W W(0P//Q M 'B''B'!  %K%.6?62?64'&'&67>'67>'&'&4?62?>.-OCC2SK7NP  s  PN7KS2CCO5O2CCS LN7OM  CCE  MO7NL SCC2OCCC%#"+5726=4&5726=4&54&+""?"?;2674&t52R/  7 17 1SdyS.,&%0&%T]  /  pd(1:JZj2#!"&5463%!"3!2654&"264&"264&"264&%54&+";2654&+";2654&+";26 ` `     ` ````^^Dk{4;5/&?6;232+"547676764&"/&763232+"5762654+"'5&?+"=4;2"'&54&#!"3!2654&#!"3!2654&#!"3!26   B      - E    < *ttt1 ? [                d/8AJ!"&=463!254&#!"3!2654&#!"3!26"264&"264&"264&ttt0Nr/?O_!"&=463!254&#!"3!2654&#!"3!2654&+";2654&+";2654&+";26tttT000000N6000000&=#"&67%6';676& ,% %;`  |` %, &   &0@7"&=4627#!"&=46;54>232%!54."54&#!"3!26  +JWI+";F;"@  `  @ @ @+J+,J+?@#;"";#   7G7"&=462"!"3!26=4&+54>2;26=4.2#!"&=463  ,J+`0";E;#+I|   @ @ +J+@?"<#";#TS+J,   *:"!"3!26=4&+54>2;26=4.2#!"&=463,J+`0";E;#+I|  +J+@?"<#";#TS+J,   #3%#54."#"3!26=4&%4>2!!"&=463!2+IWJ+`";F;"0 ` ?+J,+J+@@#;"";#@   7#4&+"#"2?64&'3N N `  ` n` ` ` `A75!26=4&#!54&"26'7 ` ` `aN N `  ` n`A!"3!2?64/&"5  ` ` `N N `  ` n`3;2653264/&"7#!N N `  ` n` ` ` `7'&"4&+"'&"2?64 S S t tiTxT tt @?64/!26=4&#!764/&"2TxT tt D S S t tA!"3!2?64/&"7TxT tt < S S t t2?;2652?64/&" S S t tTxT tt A:Ta%&'&#"'.'&/&767'6767767?>/>764'>'1"&4631&'6327'>&'9+JKY62> 9.K/R9)  9.K&  &#!*#;"G+%" (BI+,T MC+  P+M7   MC+ V40   .!9"50)=NU"<%$PU`mx";2>=4.+".=4>2*#.+";;2654&'&'326=4&+"#67'"&=32+"&46;27+'546;=g<+J++J+=4&'2"&46++"&=#"&=46;27324H46]!!.!!o  6   & 4$44$&i]]i&t!.!!.! { { i(>"264&"&462"2?67>54.&'&'.54>2(88P88(&&4&&4X42CC24X4&0.:@:.0`8P88P8&4&&4&4X4 1$H` `H$1 4X4E") :..: )"E,"2?67>54.&'&'.54>24X42CC24X4&0.:@:.04X4 1$H` `H$1 4X4E") :..: )"E1"34.2?5>".4>2'#""&546320&ANC(":$  $:"44<44   * 0'B&&C'$?((?L4<44<4  * ;@E32++"&=#"/&4?6;5#"&=46;546;232#7'!!!!   --   --  i i @ P ..@ P ..@ @ A#'&??>54&'7%7  ;=@ ;=@ @)66;@99@9$1b%4'7;26=4&+";&#"2>".4>2%+"&=#".'6732>54&'677#"&=46;2 ?X-?(2'B''BNB'44<44R?'B'%>(@,4<+*!?-X2(?-X?'BNB''BI4<44<4X-?(2'B'";$,;4,@@U8E%'&"#54&+"#&'.67673;26=32?64".4>2>  F!#JJ77JJ#!F  >44<44>  ,,2$7JJ8$2,,  > u4<44<4%8E7&'5326=4&+52?64/&"2?#";>&".4>2$2,,  > >  ,,2$7JJ744<44#!F  >>  F!#JJ77JJ4<44<48E#";'&"&#"2>54'72?64/7;26=4&".4>2tX-1 '3'B''BNB' 144<442   'BNB''B'2( 2.X4<44<4$1#";&#"2>54'7;26=4&".4>2tX-_(2'B''BNB'_44<44_'BNB''B'2(_-X4<44<4!+5Y#54&+"#"3!2654&%3#!46;#"&%+32++"&=#"&=46;546;232p p܀` 00  00 8 88 8`(  (  @   @  88 88 #7K2".4>7"2>4.#";26&'"12"&51264&#"12"&51264&:d::cud::c;CrCCrrCCr    (  (:cud::cud: CrrCCrrC  (  ( CP%4&'>76&+""&'.+"#";;26=326=4&+5>".4>2 ,%+:+%,";#4444#;"44<44*F !! F*$?(A44A(?L4<44<4 3G[o#";2654&+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546p   ****************`0  : 0b 0b 0b 00 `0 `0 `0 @ 4h726=4&"462#";#";#";"&5732+"&=46;5.=46;22>=46;2(88P88&4&::::::&4&&B(DD(B&";F;"`8((88((8&&  &&$$)F,AA,F)$$#;"";#$!ah%'674=46;2'46254&#""/32+"&=46;5.=46;2327'#"&='&4?62/32&4& 8(!4< %0DD(B&";#,"(8 `&   && (8) oAA,F)$$#;"8(I  `)&@ L726=4&"462"&5732+"&=46;5.=46;22>=46;2(88P88&4&&4&&B(DD(B&";F;"`8((88((8&&&&$$)F,AA,F)$$#;"";#$)7"&=46;2#7".4>24."2>CrrCCrrC :duc::duc:  CrCCrrCCrC;c::duc::d1)9.+";26?64'+"/&?6;2"&=46;2# pq qp pp p     /?&+";2?6=4'+"/&=4?6;2"&=46;2#jZ  /2#!"&5463%!"3!2654&26=4&+"3  ``P  ` `  %26=4&#!"3X  @ ,<7"&462#32+"&54637+"&546;24&+";265    3` ` @#3C#57#";2654&"&546;2##";2654&#";26=4&  5HH```  ` @/3#"&=46;2+"&546;24&+";265HHw   ` ` @(7"&462+"&546;24&+";265   c` ` `(F!"3!2654&"!4ᒑ!3%"264&+"=4;7/&?6;232h  P %@%%%!//B// B   `   %%%% 8P88P8  : V `(!"3!2654&"!4ᒑ!3"&462h  P %@%%%/B//B/`   %%%%@(88P88-%.5467>&'&#"32676.".4>3271Z7,' FuEEuF;h$ =g<.'3#"&4632;7#73.'&67?>/632T  <   LC'"0 0  "<#";#,E U #!";E:##;U6T(88( 7 j 1F%59 9(8. * 0  *,@ ";E;#6* +L6":#!;E<#d(8P8e$`B5%)^ ]8(-A-'"&5462+&'?>/326'&7*/  A* $&>$=q(e4 w i +/=&#"26=%&#"2654&"&5476325%"&547632 %(88P8 %(88P8{))I @))` %5&&`%5&&`  $@`@  !$4.";26=>".4>2 'BNB'":$$:"44<44'B''B'$?((?L4<44<4 @"26FVfv!"#"3!2654&3"&!65!326=4&+"73#546;2+"&7546;2+"&=46;2+"&=46;2+"&546;2+"&(0 (    =l    P  0TE;"<`#654&"#"3!2654&'2"&46#!"&546;;26=32#54&+"#";;26=326=4&PY!.!Y    00 H808808!!` P `  880880 &^vz~#54&+";;26=4&%3##5326=3726=4&+"!54&+";#";26=!;26=4&+#"!54&+326=!;%#5!#5#5!#5TT砠T@tHHH@H @   44 @ T`HHHH@ AUY]ae}%26=4&+"#5326=4&+"#54&+";#";26=3#";26=3;26=4&+5#53#%3##537#5326=3;#"#54&#53%#54&+53;26=4&+53;#"#53'534H`HHH`HH  `H`@ H HHH HH`    H`9 /&+";2?6=4'+"/&=4?6;2j/?KN5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'/&4?65LLD`` 9t ``r9+@X"&'&326=2>76?654&"'&'26716767#"&54767676762':- %"" "'H@O+,('8 ;'+5<* $5(  .  I/6JA74+N% )) % 29|K+3 , 06' @DHL7!26=4&+54&+"73#'3#26=4&#!";#"3!26=4&+5#53!5!#53p   88p8`@@ `@@  0  `AEIM7!2654&#!"3''3753!26=4&#!";#"3!26=4&+5#53!5!#53`  @ `@@`88p8`@@ `@@   LL ` 6?676.5'76&'@   <@7r:f J5 Y#U/8"&'.6762"&4?622?64&"2?620T;=*  ! (99P 0@BC;T*=  ! 9(P9 "*#"3;2653;265326=4&".4>3t+J+*I+ < R!8!!8!*IUI+xp !8B8!!(1I[%'&+54&+."#";;26=4#5'2"&46"&546;26732#"#"&546;;4CCP%@  i CC p  H 400 @      0`   H   +;2>4."'4>2".7'32+"&=46;2+"&=46CrCCrrCCr:cud::cud: b8CrrCCrrC:d::cud::c/?32654&+"46;2+"&532654&+"46;2+"&50`` ` ` `` ` ` `  0`  >L_m|"654&#"&'&#"&#"7327671621327654&'7>4&'2#"&54767."6&'>'2#"'&5464762#"."'.'&"#"'&5467627"'&54>2'$$ &" ) !  "#B&1 6.6 1&Vt! K #  $   1#$<$#1  !%"0%%0":80)  !08;)[[ $,,${ $ $    DD  $ $!+'&"'&"2??6477'762%52 |  r`~] SI2S2  & %2 |r  `5v ]SI2S2 & -2<!"3!2654&#!"&5463!2&"?64'?7'762`  ` C !  G '#2#`p `  G  ! '#2# 7?64/&"77'762  r`%5] SI2S2  & Mr  `5%> ]SI2S2 &  &0'&"?642?5#5#7'?33'762%5  r`0#";#0E2S2  & %r  `5#0~;0#E2S2 &  ''&"?645#5#7'?33'762%5  r`r0#;#0E2S2  & %r  `5z#0;0#E2S2 & B%.@'&'&64&";26=67676767676.%2"&4667($3O_nd(#)26?J&I2  NI<]U*/H%#"&/&6?667'26"'&4?6267'.?>'6765''9BDH  l ,#;lBz   "6. e ! :66d.I *( e .6 I.d'-  $-, l  YRO?7 :ILRl;E>K!"3!2654&#!"&5463!2'&'.3267654&'7>7'7`  ` 7: 1 ?   K$& <"/7*7Ao`p `   ? 1 : J?AK 7*60"< BoA:Mbv7.&76?6&/&?>'0#&'&767212#'726764'.727>&'&"6764'. ++ ! A  CC  A A==A!DD!d   Y%%  2  g II Q )C[XX[C) )=SPPS=)Q;a:QZ"V -t- $XX$0 B #X# /'&'.32767654&'7>7'7e .6R4, l  |jh=gk} ;d.I$^N;lsca8:A -6?"2>=4."&=35#5462"2>4.".5477'632p44<442/B//B/+J++JVJ++J+#;"#:#+#;"4444!//!P p!//!+JVJ++JVJ+";#+#2";#+AA_#'26=4&+'&+"'&+"732?;2?326=4򲹜'&##7&'&'#7'36767'332#m"!6  (    (  6!"m+''+d."&!))!&".d@(2 :  C C  :  3(@@`I`aJ  @*@#'&+"#'&#&732?3;2?32764'&##7##7'33'332#b]6 L(  (L 6]b+''+ud."$$".du#..$  3 ``  3  @`@`aA %12>4."'4>2".%'&?64546&CrCCrrCCr:cud::cud:L  8CrrCCrrC:d::cud::cMke[QM-&7%>&&546""` ` ` .  )19!";35>5326=4&#".=#5!'5462#5462h  &B( (B&  ";F;" @P     0 )F,aa,F) 0 @ #;"";# 0  #0=%++"&=#"&=46;546;232".4>24."2>b bb bxCrrCCrrC :duc::duc: bb bb CrCCrrCCrC;c::duc::d1)M.+";26?64'+"/&?6;2'++"&=#"&=46;546;232 pq qp pp prb bb b    bb bb/S&+";2?6=4'+"/&=4?6;2++"&=#"&=46;546;232j`b bb bB bb bbC2#!"&5463%!"3!2654&#54&+"#";;26=326=4&  ``Pb bb b  ` `bb bb #%#54&+"#";;26=326=4&    #JVenw%&'&7654.'&54>2&"65'&'.54>76764."&'&5424&276767"&4624&"26F 5,> 'CMA'!h=g<1%*3VhZ5*%16  (  (  & /!"  ,!Z '  ." *#54$* #>4$  8AU!"3!2654&#!"&5463!26.";26=4'&'2"&46+"&=46?27P     U8N8a%&4&%{0`0  K58("  %6%%6%  @=%#"#5326=4&+546326?6&'&#"#";#"3!26=4&4jj.'!  )/%;!""*(P>j!-  5!l X%5".46762>4&'.?>4&+";265>CqrC>5 .6:duc:6. p"oACrCCqo" a8;c::ds` #=AE73;26=326=4&+54&+"#"!";3!265326=4&!!7!5!h808808     2 @880880@ P   ` P  ` @;?!";3!265326=4&!5326=4&+5326=4&+5326=4&+5!7!5!h     2XXXXXX @ P   ` P  @@@@ @#(,HQ54/&+"";3!26=326=4&%3!!5!#54&#!"#54633!26=2"&462: (8 H  H 85`@ @&  &   n : 8( (  ( (85` (  (&(  (&  6=[7264&"72"&46%!"#4&+";26=!;26=4.!532%32?3264&+'&"'&+"!//B//!( @42!/(~2z f2@/B//B/(( 884/!7 c,  7 c(A^%"'&7'&76767654&#"'&'327654'.'&5476327635&'&763264&"'&'&'&#"#'&7>7654&"#"'7654'.'&5476327327>7632  1$> + # 8#-=-%   .1   &&   %  ( -I* 3#*?)8  :&> %    j   %          .1B/ '0 $#9  ,       &4!,  #/37535#3#735#5335#3#3#!#533#%3#5##5333#'3# ` @@@@@@@` `@ @ ` `@@@ ` 6CP%"264&'#"&51476767654'&#"/.76763212".4>7"2>4.       )8   :d::cvc::c;CrCCrrCCrl       ,$   :cvc::cvc: CrrCCrrC(V!"3!2654&#!"&5463!2"264&'#"&51476767654'&#"/.7676321`  `       )8  `p `        ,$   {8Aq"67>322654&'>=676767654'."&4627+"&=476767654'&"/.7676328T *'     8P8    S4&&4&& D   -  *"$1$D ! ./&      &(88(&   $,&$* &4&&4&       '"#'  %:DNW'&"'&""767676?>/764+6?6&>7677'762264&#"&462~ - 0%"6! 7Bt'! M-tP D.0'"%D =9Dk!//B//!( 9E -#3%)! 3 # 8T7 H& U*H(TH.C//C.''!2Le326=4&+67>=4&7467632+"&5326=4&+67>=4&7467632+"&5P2 6%`31WU [W  2 6%`31WU [W  *&FCf[x &  [  0*&FCf[x &  [   2Le#";7676=4&&=46767#"&=46;2%#";7676=4&&=46767#"&=46;2Р2 6%`31WU [W  2 6%`31WU [W  *&FCf[x &  [  0*&FCf[x &  [  $(1@.&?6'632767>''77'67%.>h`o1*8 3 p  p98 /!;62;q  (+^P+3U^Q*,&#O*D=O * O  &$ac%\*O*!$ 3=RR<7>/.?>'.'.+764/&"2?64/32>%7?>/.?;26=4&+"., ,??/ ^5/ **5 5 #i% DD %i$5 %8 ^58 5$dd#F FJ4^ JU U.& D D &/EY4^ YE/..1+"&4?&#"326762#".4>327623  68G:b::b:(J !V/CrCCrC*M 2    5*:btb: "CqrC2 4#"."326764/&"#".4>32#";26=4& !rrBCrC/V! I):b:9c:=fro9BCrqC" 9ctb:?5  6@"2>4.".4>2&/>54+";26=3;26'#532CrCCrrCCr:cud::cud:q^G36a4+ CrrCCrrC:d::cud::c ) 'P_e V #&JMk7&54>;2?64/&"#"?647.+54&"26=32>54'?4;5/&?6;232+"56";# HH +J+ (HH ";# HH +J+HHE   B x!'#;"@ P  P @+J+2)+PP!'#;"@ P  P @+J+2PP ? [  )Sq%+"/&4?6232>54'&6?6&54>;2?64/&"#"?>74;5/&?6;232+"5+J+D bb D#;"  9";#D bb D+J+     B +J+D c c D";#*" *"*#;"D c c D+J+6* ! ? [  #&JM7&54>;2?64/&"#"?647.+54&"26=32>54'76";# HH +J+ (HH ";# HH +J+HHx!'#;"@ P  P @+J+2)+PP!'#;"@ P  P @+J+2PP)S%+"/&4?6232>54'&6?6&54>;2?64/&"#"?>+J+D bb D#;"  9";#D bb D+J+  +J+D c c D";#*" *"*#;"D c c D+J+6* @3@726=767654'&'54&"?6'&'&'%762"/&4i ?  (U;p M/>!%1)Q   ɠ G 42&)/g,I  h #>,%F&" h @!>726=767654'&'&'54&"?626'&'&#/&4 !V&0 # .(N=_! " b7N)0 C0g ĸ X @A#3?Q/)X x #(K3)!W,' x:=%#54&#!";#"2?64&'3'&+53264/&";3!26%7`@  @ P  P ^P @ P  P @  PP  HH hH+ HH  HH!C%"/&4?62#"/&63!2762&+2?64/&"2?3!26'{c c D D D c c D  Tbb D D D bb D A(4BP%746;2+"&73265'&+"7325'4+"7325'4+"3274&+"!326'&+"!, +u +vttVVx00Hxv(-2GPY&'&'&#"#";767?>=654'&73567/6767632"264&"&462XV K S D  `#Ke+#~H81&.1;: 4+L=x!!.!! ` D S K VXр8Hb#+e1D=L+4 :;1.& !.!!.!P(1G]!"3!2654&#!"&5463!22"&467"264&#"&5.'"&=463+"&5.'"&=463`  `   (:_9@nBM&?%-L/`p `    ((`9_:Bn@%?&/L-+A72"&467"264&&'&'&'"3;26'.'"3;26P(!//B//O<:bdul][67ONEuG`(( /B//B/uea:<86Z]lNOGuE087264&+"#";#";;26=326=4&+=32+=MM=TTTTi-56-hGtE:TT:.R0@=54&#!";2#";+";26/3267326=4&+&'326@I#1 4+H:MTWu%+A7!09B'&#!"3!2654'#5#!"&546;;26="264&"&462T`@   T$44H44$!!.!!>T P`` ` h  hTD4H44H4!.!!.! A%59IYiy!"3!26=76=4&#!"&='5!326=4&+"73##";26=4&3#";26=4&#";26=4&3#";26=4&4&+"374&+"37#";2654&+";2654&+"354&    `  HPP}PPPP}PP;0@@ 00cC0@`    @ @ @ `@x888@88 A%59CM]mw!"3!26=76=4&#!"&='5!32654&+"3#4&+"3'4&+"3%#";2654&+";2654&+"354&    `   @0@800cC0@`      888@88 )08HXhx!"26?326=326=4&#"/.?3+737#"&46;#";26=4&#";26=4&#";26=4&'#";26=4&'#";26=4&#";26=4&p4,#I 7 7"2>4.2"&467"264&;c::cvc::c;CrCCrrCCrC  &&4&&:cvc::cvc: CrrCCrrC &4&&4&.;%#"&=46;2"/&=#".>364."2>4  G(8_89ar^7 /Q`Q//Q`Q/  7^ra98_8(G 0Q//Q`Q//Q#BO%++"&=#"&=46;546;232"/&=#".>364."2>@TTTT  G(8_89ar^7 /Q`Q//Q`Q/TTTT  7^ra98_8(G 0Q//Q`Q//Q+'&+>54."32672?64%".4>2 8_r_88_9(I  0Q//Q`Q//Q"I(9_88_r_8   e/Q`Q//Q`Q/ 5EUenw%462"&264&"7#!"&=47&=47&=463!23!26=4&#!"!"3!26=4&4&#!"3!265264&"#264&""264&#"264&x(  `   ` `  `  P 6 J J  PPPPPP P  P P  P 0A3@%'&">'&67672?645&'&54767675"'7'62נ p;U(  ? Q)1%!>/Mw   I,g/)&24 G h "&F%,># h CLU^!"3!2654&#!"&5463!2"&547'#"&46327&5462"'62'"264&"264&"264&`  ` H!.!6!!6!.!!/22/!8   `p ` !! !.! !!.!!PP*3<E%"&547'#"&46327&5462#"&'>32"264&"264&"264&8P8_%(88(%_8P88(%__%(8`&&4&&&&4&&&&4&& (88(;8P8;(88P8;&;8X&4&&4&&4&&4&&4&&4&@3]'&">'&67672?645"&'&54767675676#!"&546;2+"3!26=47 z?O "C S)6'!A0O{  `  I#-b8.35 G h "&I$-?# h9`   2A!>%'&">'&67672?64&="&'&54767635465 !_=N(. # 0&V! " g0C 0)N7b  X)/Q?3#A@ X x ',W!)3K(# x9#+"&546;2+"&=4&7#"#"&=4&+";2654&Tu=N5T-5N=uxtF:)/(t/):F #9%7&'&'?'&76767654&'&'&'&54?6+'L"5092.7!&3-0  0-%7;VHA&),0 @PP^SJ73-6HVgz14EMT PP TME41-B'&76767654&'&'&'&54?6"/&4?62762"5092.7!&3-0  0-^ V E  lPP^SJ73-6HVgz14EMT PP TME41V  F .'&76767654&''&'&'&54?6"5092.7!&3-0  0-lPP^SJ73-6HVgu14EMT PP TME41EIP]%76&/54&+54&+"#"#"32767;267326=4&#"'&'&3#!'&+"&='7UM 0 0 L V%-0'&4!!4&'0,$@s s%%`RN #!z (  ( z # N" )) "c \11@%%@X``\elu26=4&+"3#54/&+54&+"#";26=4&+546;2#.#"5#2654'32654'326=4&"&46232#"&4627#."#53%54&+";26PT,8  ! /B//B/:(, TP(< !&! lT1 P!//!!//!`((@ T((``(  *Zcv}"2>4."&4627#54&+";26=4&#54/&+54&#!";2654'32654'326=4&"&4627#."#"&5463!232#"&4627#."#53!7 7B7 7!$44H440}T,/B//B/:(ܰ !&!  > , TP(< !&! ` 7B7 7B7 4H44H4P8PlT1!//!!//!`((` " Q T((``24."#3!265'2#46#!"&5326=326=3`";F;"`/! !/(88@   @@#;"";#!//!0`8((8p0 00 0A)3?KW#'&"!764&"#";3!26?326=4&#!"&/!"&=462"&=462"&=4624M xx MlS     p       8p p p p p p B,5>B!'.+";2654'3264'.#!'!26?6&"&462"&4627!'!(Y UOF%6% %6% L + $, 4%%%%6 @   -#,5>GPYbkt}%"&4627"264&3"264&"264&3"264&3"264&"264&3"264&3"264&"264&3"264&"264&3"264&"264&"264&"/&4?.467.#"#4>326762.   0  9    9  9    9  9  g  9  g  9  '  '  F  $(7 #;#1!J -G                              #  ,0+9(?#;# "F!%).6:?C#76&54&+"26?>=4&'7'37'747#"&'77'?773> I + vC'*'C ` \H+f^X+$h+i i+XY=|6FI >  C77Cv + MP\^F6 YX+Ii+i i+XuR;f-M746;546&=#"&5';?64/&#"4&+";2+";26    p  p  ^^ NN> ( >   ="/&4?!"&=463!'&4?624&+";2+";26  L m       0q{%'.'&"&#";;2?>=7>&6;26=4&+"&6;26=4&+"&6;26=4&+"&6;26/&>+"&#'&>'.'&>?>/&>?>/&>65'&6&#+ 80$  5  `H4  7p  q  o   n H ` ; n  *ETUD\  )I  0 , ''"_)    R     ' \Q7  [n  oZ  x#  !-M746;546&=#"&5';?64/&#"';26=4&+"&546;26=4&+"    p  p  ^^ NN> ( >U   =32+";2+"&546!"3!2?64/&"0 +          /?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"|@tt*Nnd [_cgk%#54&+5326=4&+";#"#";26=4&+546;#";26=4&+532#";26=4&#5!#=3#53hH8   8H   ( 8   8 (  .`0    0  0 @  @ 0   CGko!"3!2654&#!"&5463!2#54&+"#";;26=326=4&#53#54&+"#";;26=326=4&#53`  ` \d 0 $$ 0 d  0 tt 0 9 `p ` P(  ((  (@`(  ((  (@`@#'KOsw!54&+"#";;26=!26=4&#53#54&+"!"3!;26=326=4&#53!54&+"#";;26=!26=4&#534l 0 44 0 G T 0 t 0 Ty t 0  0  \(  ((  (@`(  ((  (@`(  ((  (@`CGko!"3!2654&#!"&5463!2#54&+"#";;26=326=4&#53#54&+"#";;26=326=4&#53`  ` ((  (( ``((  (( ```p ` P   0 tt 0 @ @ 0  0 @ #'KOsw#54&+"#";;265326=4&#53#4&+"#";;26=326=4&#537#54&+"#";;26=326=4&#53((  (( ``((  (( ``((  (( ```TT 0 4 0 @ 4 0 TT 0 @  0  0 @ #7DQ7&>676&7"12"&51264&#"12"&51264&7"2>4.'2".4> HH  ]]  (  (,;c::duc::d:CrCCrrCCr )) 2##  (  (h:duc::duc: CrrCCrrC/9=Zx%#";26=4&+";26=4&#!"3!26=4&#"&=46;!5!&=4&+";26=4&.=4&+";26=4&xCSH ΐ  L  %,L`@ p  @ ``#?>E'/S *=C3 ) 7%6.'7>&/7>.76.576."54&"'&"/.'&?'&?6?2?26=2>/5>/>&/76 ^XX^ CF F PD , , DP G GC ^XX^ CG G PD , , DP F FC ..  ( )@ ].\E 4Q Q4 E\.] @) (  ..  ( )@ ].\E 4Q Q4 E\.] @) ( 38\7"/&4?6246;276273;26/&+";2?056?6=4&+";;26=4&#T T 3 3 a> <  < ,'3rN]x8TT 4x4 ,  K448I38\762"/+"&5"/&43;26/&+";2?056?6=4&+";;26=4&#T T 3 3 !> <  < ,'3rN]xHTT 4x4 0,  K448I-=M]7"/&4?6246;2762754&+";26754&+";26754&+";2654&+";26T T 3 3 hh@@((8TT 4x4 Pee-=M]762"/+"&5"/&454&+";26754&+";26754&+";2654&+";26T T 3 3 phh@@((HTT 4x4 eeA %!"2?64&'!    A\f7"/&4?6246;2762#";26=4&+54&+"27#"'.?>67.546324&"326T T 3 3 `& c)!,' +  8TT 4x4 ,b  %  -!   #&  A\f762"/+"&5"/&4%#";26=4&+54&+"27#"'.?>67.546324&"326T T 3 3 H`& c)!,' +  HTT 4x4 $b  %  -!   #&  A 7!264/&"7!    A !%!"2?64&'!%!264/&"7!      ` )5ELS_mx"'&'&'&'&+""3;27676767632>4.+#53264&+532'46;#53#"&5273%#64'32'"&=4632?.'  * *  '.?4X44X̂ ?0  0@%&Z   @ -+$$    %@@%   (0(] 0  0&5%`@`] >@@((,^%&'&"3267;2>/&'&532>54&"'&'&+"&7676=4&#"&54676?#  !9"  d  ,"9!i d '8 \ZZ\ 7( 0"9!  ##  !9"0 !  ! 6'# \YY\ #'6%'.76.'"&=4636^7>l? J 1n^:Am8#,5>"&462"264&74&"26%4&"26"264&!"264&"264&  @"/  S  q<!%!!@@ !"3!2654&#!"&5463!2`  ` `p ` , 4>46;2+"5"264&7/.?'.6?>/7', j   j  AA IIu"^g DD g   sMM %7'?5"? uI A  j  -Ms  g D,'/.?>/7>&'7'?AA  j   j uII   g DD g MMs!326=>54.54&+"?1L  .   X!#"/&?;2654&1t  - HQZ".=>=4&/&.=7>/.2>=>54&"&4627"&462!-%";F;"$:"7 (3=4( 7":$+JVJ+$0 ( `0!+i!7 7! )>% 44 %>) *E))E*i,"/''0 *%4&#!"3!2?653#"#"&5463!2 Ty`h  ` d TK_ h `  )-2>4."'4>2".%#";26=4&#53CrCCrrCCr:cud::cud:(  8CrrCCrrC:d::cud::c   +8H764/&"&'5326=4&+";2>54&".4>2'#"&=46;2 9KP9_7c:=g<=4&'2"&46++"&=#"&=46;2732"'&'&54732767654'567G4H46]!!.!!o  6   & 1(B4b4B(1g +.$;0#(19$*` g4$44$&K;;K&t!.!!.! Y Y K#  #4     0P%!"&=463!2#"'&=4&+"32654/3&'&547632;26=4'&#".&# ! =OK&*! ($19$'*  C90@ &  63=l%2+"/&/+"&=46;7'#"&=46;21?6;2+676716764&#"67>32;26=4&#3==4$JD*:6 89(DK} &0(+   'dcukY Xku E. , #  #EIUYd7264&"72"&46264&"72"&46#";2?3;26/>54.3#+".=!5#53%4>;2p(  (  ;%?,7==7,?$<,,,@((@   @((@   @,"68<<86",`` `  !+5#54&+"#"3!2654&%3#!46;#"&%+32p p܀` 00  00 `(  (  @   @ Y%'&4?>&/"&?6.&/./&#2?66?>>/&637>&/&"/.&?6&/"&?64/&637>/&66?62?62'"2>4."&462** 7  /  /  7 ** 7  /  /  7 7 /""/ 7* *7 /""/ 7* *#;"";F;"";#(88P88# # 53 35 # # 53 356 33 6$ $ $6 33 6$ $ $";F;"";F;"8P88P8;j!2+"/&/+"&=46;7'#"&=46;2?6;2+7676716764&#"67>32;26=4&#3==4$JD*:6 89(DK} &0(+   'dcukYXku E. , # "%HK.#";265>32;26=4&"#7#"#"'764&+"2?32>74&532 M*ApC ;`8F96   ;`8F96   2 M*ApC/2?l@8]6*5  8]6*5   2?l@(Q#".";265>32#";26=4&#"#"&'326=4&+";26=2>74& !rpC ;`8=fr ;`8=fr !rpCo8C?l@8]6?5 8]6?5 o8C?l@7^'&"'&"2?6?2?64/72?64/&?2?64/72?64/72?64/7O -J  C B@"  I- W:' (.' (.' (-oO -I  "@B C  J- ^:( (-( (-( (-)6EN%>&'."76?732>54>&"''7'.7'&'"&462 #OW%$S  2 I&+,4$`_$+<4Mb2m, !//B//{)_Z#! %AAH  2  T  4*##,y5n2c,A! \/B//B/ "&*159!"3!2654&#"&=35#535#53#535#535#53+57#535#53`p p`` P ` `` ` `P ` ` `#3<!%!"3!2654&7!"3!2654&#!"&5463!2"264&`(`  ` ` (@`0  #3C!%!"3!2654&"&5463!2#!"3!2654&#";26=4&`0` ` (ehh```  ` (/!"3!2654&#!"&5463!2#"&=46;2`  ` hh`0  p;dtx6=4/4&#!"3!26576=4/576=4/5#!"&='575'575'575463!2'#";2654&#3           0   L    L    L    L    L    L  -888 88888 88  ` @(%"&462#!"&5463!24&#!"3!265`  ` c` `  +28"2>4.".5477'632%"2>4."&'3'>2+J++JVJ++J+#;"#:#+#;"@+J++JVJ++J+1GGGbG+JVJ++JVJ+";#+#2";#+ +JVJ++JVJ+@00@0@@0 @#,=F\l"&4624&"26%4&"267"264&!"264&"&467>4&"26%#!"&'&54767624."3!2768@* 2 Q3 %6%*3 9!X!'&BCCB&' EuuE  `    %%7& -H>  >HNCB&''&BCNFuEEuF@7 7@1A&&2654&'76&"&462"3!267654'&'&#!"'&54>2m 3*%6% 3T  NCB&'!!'&BC X EuuE7&7%%  `'&BCNH>  >HNCB&'i 7@FuEEuF@#,5%'&+"2?64"/&=46;2%2"&467"264&(%   ((    ((+=FO%"/72?64/&+'32%#"2?64/&'2"/&=463"264&'2"&46r( 3| (`  ( (  (|   ((/8Mb!"&=463!254&#!"3!2654&#!"3!26%"264&'&"'&"2?64'&"'&"2?64444DX N'  7 ` O&  6 `N6MP'  6a P'  6` 15CS`m}%4&/.+54&+"#";26=3;26=653#>;2&#!"463!2#!"&5+"&=1;#"&=3271%546;2+"&'462"&%462"&' '00ЀY *& & P0 80 ` 'M(  (M'8))( >  4^&&8  P l   6D"2>4.#">>32>5467#".'654>327CrCCrrCCrO )@7[ &J3 Ge  &K2 Ge *?7[6CrrCCrrC!?* 6[7 3K%  eG 2K&  eG@) 6[7$"/&4?'&4?6254&#!"3!26"  aH   M  -I5463!2+"&=#32+"&=46;#+"&%;#"2?6&+326/&"_+x+_((((LHH44V0 00 @ 0-I5463!2+"&=#32+"&=46;#+"&'&!54&6=!?64+x+0 00 @ 0LHH44(((($+3!2654&#!"#546353#"&53#7#532`   p`  а %,33!2654&#!"!5!2!5)3#7#546353#"&5!#`  @ p  p`[k jjk[ [k k[ &-18?3!2654&#!"#5#53#53!3#7#546353#"&53353##532`@ p p p`kkjjjjk[ [k kkk[ k 47"&4627+".54754624'&/54&";26((0 ";#";" 8P8  &4&  8'(8@(A%0#;"#;#0$(88( && (98+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" `'8  &4&  8(  `(88($0#;#";#0%9( && (8` %=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@ F%0#;"#;#0$(88( && (98%=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@C CF%0#;"#;#0$(88( && (98%=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@ F%0#;"#;#0$(88( && (98N&2?32?>'&.?#"'76=72?64/72?64/72?64/7>L r (q7 Gs7 =< #' (-( (-( '37r r 4M1 <= 7#( '.( '.( '9<@v%6&'6&'6&+"+&+";26=3132654'&/3264#3##&'&'&'&'&'&'&+532767676;2%"&462  0,)"#  `  `     "+( F+``7p !    #")  &$ )1      C0- ,;J         %'- ;?r{%64&+767654&#"&+";26=2;26'>'>3%+"'&'&'츟>7676767232"&462+F (+"     `  `   %$),0  +`H ) "   ! p ;, -0C       1) $&'%        )9%'326=4&#!";;2?532654'&676?#5!#- %   % &    @@ L P  P L"#) { "y )#"^@@@3O!"3!26=4&!5!354&#!"32+3!26=#"&46#!"&=264ᕗ!2"           &&  &&    pppp`P P&4&P P&4&@;%354&#!"32+3!26=#"&46#!"&=264ᕗ!2"        &&  &&pppp`P P&4&P P&4& ="2>4.".4>2"/"/&4?'&4?62762CrCCrrCCrC:d::cud::c$EE  EE  FF  EE  CrrCCrrC0:cud::cud:EE  FF  EE  EE  1)M.+";26?64'+"/&?6;2"/"/&4?'&4?62762 pq qp pp p  EE  FF  EE  EE   V FF  EE  EE  EE /S&+";2?6=4'+"/&=4?6;2"/"/&4?'&4?62762j  EE  FF  EE  EE FF  EE  EE  EE C!"3!2654&#!"&5463!2"/"/&4?'&4?62762`  ` aEE  EE  FF  EE  `p ` kEE  FF  EE  EE  gg#?64/&"'&"2?2?64'ډ                w4H".547676767>'2>54'.'&'1&"&"2654'&'&2T1  %% 1T)ERE) :: l  @1T2(&,)*-.*),%(2T1)E))E)!!R,1 1,S!    A#,92+".4>37#";2>4.2"&467"2>4. :..: :..: 4X44X44X44X(88P88(#;"";F;"";`.:@:..:@:. 4XhX44XhX4`8P88P8 ";F;"";F;"A.2+".4>37#";2>4.2>4."+J++I,+J++I,4X44X44X44X444<4+`+IWJ++IWJ+ 4XhX44XhX44<44* aT#"&=46;2++"&532376?6;2+"&5'&=#+"/&/#+"&746zbbF F=<94     (37BN72"&467"264&#";2?3;26/>54.!!732!4>#".=!  (L ;%?,7==7,?$<`,,,   (( ,"68<<86",` ``mz#";&"'764/&"'326=4&+";26=2?#";;26=326=4&+5>54'7;26=4&".4>2X-_(d( ,-X,  ":$4444$:"_44<44_  ,X-, '3$?(),,)(?$2(_-X4<44<4CP7>54'7;26=4&+";&#"#";;26=326=4&+'".4>2$:"_X-_(2'B'":$444444<44A(?$2(_-X_'B'$?(),,H4<44<4!)3CSc'&+"#";3!265326=4&#'32#76#!"&5!46;2+"&'46;2+"&746;2+"&P"P"X   P  @P-- p  P p!)3'&+"#";3!267326=4&#%32#76#!"&'!p"P"h !! P  !j-- t  Oq-g6.."&;;26'&'&=32>54&#54&+"#"&476?'&'&546326762767632 <"8B8"< 2|`|2T||- #   G   # -!?!$$!?!/2) )2/->   ##$#   >-1F%'2>/>/&"3;;26'&'&532>54&+"#7#7#7##y7 6  c  c  6 7 ` bD^?cc?^DbTD D p p D D   xxppxxC.3!2>'!"&762J !!  *   `!!(`@"Xbmw/&"?6/76&'7'?754&#!"#"#";2654&+5676767>=4&#53&'.".=!76=3s33%  --  %Ctt*$&- V  V -&$*`!#;""; `5.. #22# +b44>?+a  a+?>J*I9.>k?XX?k>.9I@5?JT54&#!"#"#";2654&+5676767>=4&#53&'.".=!76=3t*$&- V  V -&$*`!#;""; `44>?+a  a+?>J*I9.>k?XX?k>.9I/6?R[f%#54/&+54&#!";2654'32654'326=4&'2#5"&4627."#"&5463!2"&462'"#53#.xT,/B//B/: T(, !&!  > p(!  !@lT1!//!!//! T`((` " `((``:JZjz>/66?6&'&'&7/056761#'"57&"#"54&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26 II Q )C[XX[C) )=SPPS=)Q;a:Q?```````` ++ ! A  CC  A A==A!DD![7GT%546;2+"&7+#'!#5#"&546;'&4623762324&#!"3!265%"2764'&'2"'&/&'&'&47676?676326=4&+"` Ked J `  T)**)T9'  'r'  'i!!!! C [[ C  {{  S  S /!"3!#"3!264&+5!2654&#!"&5463!2P `     @   @@ @ C@X%&'.'54&"76676767"&54&"26=7676>.#".67>2&?)'q@  @q') $   (  /B/   # 169'&fng%(**'32#"&'&4?6232>4.#"+"&=462372 M*CrCCrC/V! J(:b::b:G86   2CrqC" :btb:*5   432>2#"&'&4?6232>4.#"32+"&=46 !rrBCrC/V! I):b:9c:=fro9BCrqC" 9ctb:?5  MV"2>4.".4>2&/&'&'#.?6765&'.>7676'462"&CrCCrrCCrC:d::cud::cQ9       9 7##7   CrrCCrrC0:cud::cud:,  H)    )H    $ )-HO!#54&+5##5##5##5##"#"3!26=4&%!!'&;3!26=326=4!576 ( @ @ @ (   I@(  (  8ff    QQ;K&4?>"/&4?64&""'"&4?64/&"6?64/&"2?64'&"RCC2R  R7NS N7R  R2CCR  ! 7 R2CCR SN7R7NS RCC2R  j ! )9F%#54762;26=4'&"#"3!26=4&#!"&=463!2"&=462Pd!"       `: && :F+0/*G`   @ @ )9%#54762;26=4'&"#"3!26=4&#!"&=463!2Pd!"     `: && :F+0/*G`  3Ic%"&462'"264&7#!"&=46;5#".?62+32%;26=326/&"34&++"&=#"3!265   T  X|5 " 5|`Um|`|    0hhc c  h c"2>4.".4>2&'&'&>322?6&'&'54&+"#"'&'&"1;26=6764CrCCrrCCr:cud::cud: !     !    CrrCCrrC:d::cud::cA         9i!"3!2654&#!"&5463!2&'&'&>322?6&'&'54&+"#"'&'&"1;26=6764`  ` !     !    `p `          9*>%'654."3!26=4'&'2".4>#!"&=46?27o'BNB'*#J#44<44  /'`'/ '2'B''B'2' $h##h$4<44<4[  h++ -6G"2>4.2&'&/654."&54>"&462"&'>?27CrCCrrCCrC;c:  !";F;"!  :c;(88P88(/S7F7SCrrCCrrC :c;=4  $2#;"";#2$  4=;c:8P88P8%""%hq~%'>54.";26=4672654&'573276574&#'54676"?>=4&'5;26=4&"&4627".4>2U 'BNB'& .=-#&4&"& $# $".=@44<442'B''B'7*G/#5O"&&"U2,: )+ 8,26#/G 4<44<4#ANb%++"&=#"&=46;546;232'654."3!26=4'&'2".4>#!"&=46?27DDDD+$'BNB'$+&#J#44<44 ?$V$?DDDD% )7'B''B'7) (##('4<44<4  (%%6Z{%76&+6'654'&'&#"'&'&#"#"3!26=4&%767627676?46?".'4676767>6?6"'&"&=46;:37'77+?62;2%1B  B1% h        5@5.     2--2/! ''| !/? "'&&'" <4 DD4w!8!!8[   D!/`& &` /!{#ANb"/"/&4?'&4?62762'654."3!26=4'&'2".4>#!"&=46?27q00 00 00 00 +$'BNB'$+&#J#44<44 ?$V$? 00 00 00 00f )7'B''B'7) (##('4<44<4  (%%!.B%'67654."3!26=4'&2".4>#!"&=46?271 /Q`Q/ 1*&&'B''BNB''B  F,h,F (0Q//Q0( #&&$%'BNB''BNB'`  ++$8aj%654.";26=4'&'2"&46+"&=46?275#"&=46?3276767&547.#";&2"&46654&#"327+326=4'&'"&4624<4o!//B//  Db    &(8e%%6%%8(&    beb%%6%%&44&+==+/B//B/ =##=-  !8( - %6%%6%z (8!  - -%6%%6%L4&4.6?676716.'"/&4?&676716?6?6"#P 1 " &M8  G0M bi]c U" 7N$ " 0  P$9,1 F6 c ]ic''&4762'" 2?7654'&"I0 w %  18M 'N1 3 20 % w !+8/6  1e+1E1'&4?&67>'2?767>'.'&<0 " X*-:!"T( $!0(!%!,$"I40 $ (T"":-*X " !%!(0!I!%-C/V`q6??6&/77676.'.'.'&'7&676?6?6?6"/&474>"/"'&20[i4]Z2l@.- A. 0"|- %" Q W L Q  52`  I   d/*i:7]4ij3d.A -.@ "*5  Q L V Q #$ 4;m  W    61)Kx7&'&547>32+"&;2654&#"'."&"&";26/>54'&+"&?.54?>6?>67546X!H 8"89O& ( &&! < !&] < !''"&-+&2M7#)#i .&::&.0#0,z{{z-/#0+8p4."#";;26=326=4&+5>%4>2".32++"&=#"&=46;5&'6732>4.#"&'632 'BNB'":$4444$:"4<44<4`4444) (44( '2'B'":'B''B'$?(A44A(?$44<44qA44A 4<4 'B'$?(@+8i%4."#";;26=326=4&+5>%4>2".%+"&=#"'6732>4.#"&'627#"&=46;2 'BNB'":$4444$:"4<44<4 ?'B'2' (44( 'd(?-X'B''B'$?(A44A(?$44<44X-?(2'B' 4<4 ?!+84."#";;26=326=4&+5>%4>2". 'BNB'":$4444$:"4<44<4'B''B'$?(A44A(?$44<44#'&"272?64"&4?37#7ު 8P 6%C Z P8 %5C Z#;?GW3265326=4&+";#3"&53265326=4&+";#3"&5!"3!26=4&H/B/;```'/B/;```'p!//!0 0!//!0 @/?#"54&#!"3!26=;2654&#!"&5463!2+"/576;2 b b      yy  b@@b     xFx   *6@L"2>4.&'6777'6&''&'.'6&76767>7&677'&CrCCrrCCri@6!,an &# $"$/,1-$"(H8V &oV=/F8 +3AE'..6CrrCCrrC''7)J=v1  +2/}B 6f+ W8@6*! @d/3S24# '1&7>4&'"/#"&=46;762+32V    jYf  fY N aa N    (.(i Y YNN)8EOgn.?>654&'&754&"764&'&654&'&767''&+53'#";26=?h c "' 0(  %7@$I= _    N aa(A  fYw  =  E(%(1S %R %@"pB?6@& (    ɊN  Y ^ "/#"&=46;762+32Yf  fY N aa Nh Y YNN@)=Q[%.67>4&'.>4&'&7>'&7>4&'"/#"&=46;762+32@I= 7@@7 =I`0( "''" (0    jYf  fY N aa NJ& "pp" &J1S EPE S|   (.(i Y YNN D%#54&+"3!26=4&#535#53#53%&;26547%6;2654&   c   `p   ` `` rrV ss V!E%!";26=!;26=4&!5!5!5!7%&;26547%6;2654&  c    88 @ @rrV ss V!'4H54&+";26=>4&'3&"#527'".4>27'&=46;2@ "" "",h,,h,`,I++IWJ++J<4 OY  YJTJY  YJTJl:z:+JVJ++JVJ+\,xn& ">PY#."#"3!2654&'2".4>#!"&546;2>54'32264'76.&72"&46ACLCA&&&&#;"";F;"";  .+JVJ+.     ""&&&@& ";F;"";F;"`  @ !+J++J+! )G F@   )?%&/#"&/46#"'32+3276'#".5467'3267+ <  (  9 ~ N3'B'/'2?/Q04U4 (A@ 1?'B'+H Z70Q/7-BKp"264&"&4627/&?6&/&'&'&#"&#"267676?6&/.%462&/"'.767676?&&6&&  #$3-& 1MRM  O K  0?9-*) (&0&) F 4  |&6&&6&aS   & <1Wj y[  [&' a36)%  7$ )d'A%"264&"&4627"'."/&47>7"'&'&"/&47676@!//B//!( 33 ::c PkihlP VtpptV/B//B/((. . 3$$3 hLL RR *4>"&46274&"2674&"267#!"&5463!2!3!26=4&#!" s`@` @  `    =` p pC!"3!2654&#!"&5463!2"/"/&4?'&4?62762` `  DD  DD  DD  DD  `p ` lDD  DD  DD  DD  #!"3!2654&#!"&=!%5463!2` ` @  `p  P P !"&463!2     #-?!"#"3!26=32654&463!2!#!"&=!+54&+5463!20@0< @ `  `` 0 @ 00@ P p 0 *4>"&46274&"2674&"267#!"&5463!2!3!26=4&#!"` s`` @  `    =` p pAUY]gluy26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7'3#3##'&/3?3#'&/37#'3466@ MV24H43VM y `8M/  aN b | H NNNN H88>(8|(38|(8&/>7"&462%#"'"&4?&54>2+32&'27%#'73."26xsI,B/+JWI mm-(]((;F;"";F; %+/B+J++% N-(@@#";F;"#W`i73#";#"26=3264&+5326=4&+5326=4&+5326=4&+54&+"#";#""&46272"&4626=4&#!";#"3!26=4&+!!hh@(@(@hhhhhhK    88p8 @  ((         @@@BF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&4W Wc9K^^]]L:d  tt    #; S^ +r   $   0 0& V (l V &Font AwesomeFont Awesome 5 ProLightFont Awesome 5 Pro LightFont Awesome 5 Pro LightVersion 5.0FontAwesome5ProLightGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProLightFont Awesome 5 Pro LightFont Awesome 5 Pro LightVersion 5.0FontAwesome5ProLightGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZDUiddFplugins/wps-limit-login/assets/fontawesome/webfonts/fa-solid-900.woff2nu[wOF2d OTV $6$4  nh[qFഥZHnv"0V$n{5R*FᓳZG& upQL)rAɛ0뢼A4FHwE1"s͒S *5b휯%vQj7ɲ^¡ً!~'5|ȶmX )x3hVkCԫMbvAa8ߕ'L#(ű,˒?*?Gm1?=1O~IE9K qNx2A"r?/cV 7Ij9=p pFa nt\ ۓ`xm=[E@(n̙lā#KqT-Mqƕ]mq5fewj$10KCSf6NN?V1/3B@Ԕek/v.1#FZe^" fk{Į3$]oz:D@@CÿBQ6 f lbIMu YW9Uٺօ8 e{qZ~ I 'G]#ۻ$xӈlFs7w@{iՖ.28/^FQʖhm5Y$l-0KѥrN|T]p g75Fgw^4HX YdJ﷪pQ7~!~|9\^]-!Y`+:"vdƑ"9R'\A1Ec la{=I)࣎>*#$RuMʊw帇+\i;At4$v*'ƁHBieX 7O@#,ȣuoMנ1巌ؖ-;o H"x4*Ī\V.<+n0A!V/N^Tc4{@L 瑩&8 Lκq @0,H}TpA< eұ)؃t8fqQV# :zQ>#N0_}$ ƀD0ə7>_ 2+1mP KйmyK&Ӻ]n:u1.)d6_c: mR1ٴfdkN+bS2s˛jӮsvֻ3i{xxն`7/~ G=/|d/Z#O83A-߉s0yڔ K?eSH0vzE^h?Kn̒{{?>ɿw`X lmx`ul;+{a 4̭#w8wYpp=O(/'?Л.{մHKSV)n&_{Wrul OmS1}yM֢E $B;h-Ri/iW5BsW{/C_ w{ׄ⑴G&+o7nh+8E6ZG {[z՞t=ͬʗV: H=Rr6Q=hw3Ti}.vƛfp/ZuOʊ)gngN8nd)U>Cgmē`5koxk{mS & }2jyz]Ė,I$LTxV;NNvwEZ{3jjȳaЌ{1{l\.f#fx[rp_C驇u=c48uMQG}uSvWjU}SkZ4%&. 2D混}w 94Kckd?鬘|}ƚ=gr} |xk_cO˯~gs; jZ`%[f[e5V[g^ YTBJv&_ ʫJ:h.z#~/; A%-*u9WӌZm]_~9{t𓷌^܏|o?\XuH@"bJ &H #>* h؟C'LLA19A\,HuB\ F6.$up7GƤFdB!i 6"1iB:F%iMfU2D|Gcv"&"KmCAdUGְ1Y%dے-@q>9@n$Gp9 LNGJˑ HyEY BFKB>FO،|x@' ߈_I,%Kpd%@dj @$?vX2= @.L /o0ӥKA"1 э !_?@J6 0E@(@A|Ay Q!&C ybɃ0yY`@M.4 k00mHOC2])t >tʆ F rd!_ 2P\bS1*(aԀ-P23 fLnV Q>, бljȅ˽@Xnj5_0@/ł-7[fh;<\ /}ߐ0N08InS,`=p< Hp2 +T jmxLSZ һ ?2":gf$g3r9|lR|' /؍7"d6©  ~ (SdA5A28Z`dQUp9 @4 FCP; h:؀fcv9h.蒖rZJ؝VZgZ؅m|yȊ"(:::43(. C2+8@:N7{6^;xxzxz>.ϸRsC 8~Ė6&UWOa3Ĉ/ Ec8GNAq 1bS'Gב@O!#nFnA2݊+nHvN[A 2) hȦFЃfA/4}( R*R:( (cGG y'@G)y 3D`1܊a61܁rr*U\p9"c49c2ŲP ųdJ`!5 iXH 9uԓC@D&L&1lTL'{1샙d!llsN%0l@يd}"uXL4D etK)1! (CVF-8FN -\Dv!vpϰ[(wD0IWYڋh~G =5[QB3w 88L*/S~f*r t1m5vЍN$z^2 n `^>,(E%C)lSHQ TpL Q pN4޵F|tDk)J}J?i<3DF(([C&qSif`,LVAFtE`Z +iXkpcmƒ-v8$1rBNI3R|`%jPkr nYòy\Oz{A^i7:;(IG|ӣ~~i?sW?q}4Z|)N';ӏ:3+;WLi7Ό(u&']kN &׊f:\,߰Sd>L}EmmyIqK ng`'3S4IhE Am[vVnNF;^"ϠQd.7)cZض1h!|p3e(9G^]o&\{{ϒLitbS~sSҢ<1ԍ5@ءrE3uLWH%5C`qHq3 PQq R~jk,*_2fb?˛GvYr HݚrGxi,ʤE;,Xem׽̎@nG{?(,"[R%9g)u\_RW0+p[meTqvU"Q0U9LŠm'`$D'Z{fRY*P"dn| >QZj2U`J=o5*Ap{ ЋNj{_8T$T}d? }kBvVGOEzlvC#- }wAS ҦK~8`1Z3b}^Rwb;vzC㢰պ~6&dvd&l1\iҼAI0/i~bo #`̧ s>!Mx&*Xm" qQ;W027Ԙ˘xM6\f\MuBZRt`J ߄#4WOA6Ao3e50nokYn604oYv0GN+U3C3.l$ l|uMџ=F`Tj`g{9n1MŶ;>v] ,P ͆|uf*SDŖu$ځ5Vv~['8f=|9Z9@<%I垇CpD8'҃jX7].UITwkocӭg8pqv<ޖ7 m߉>Oڭ/wW~qg;ܸ f2A9I12Y(UvBņ0s: oeFFytKLB4 6T13f֯^oo )V3NUoavHT ;-X6{1ڹ bdHU-ra+(Z;*wvWp;(&&`]\ÈȞP i+#l;cqDŽTV1悵e|x~"7Qj@(>}0W U-ZXű&C::HnLU,Pn_msxw6oc_n!d h ^] rh:L30S  Sq+YG==ߥMpia$CIj H1FZIz@k(~#wX8|v#&r4m&ox H`CZtGyË+xA)8>yl-ȖP11xQPʅ4`)7AG-; 0ABAe!`h4Y=0YQd3D^Žnr/-T%N_JhK.6H!-.mŔAX*War+;ʋ@Oz.ER:.<ԡxԾcųI&c sEbh$FfR#C*<|卭1 2q6= )>5lP{ ǘKs1@{i+ͳKks_W- t-ؘ)k$Ű8&?Wh7ģw." -{5RX K"]ƞm\H_0+D%)"njS`NTaܼ-K_mE;fwwε7UڥZ?;zxA/]Ngyg]YWn~+usGok<|ZNzцtha9>ҷ;#%I䶸\#7儴7۞F$uɲtg>v C\f1Xj7rKvH`r%$N(CԱi Phs`S#C N[.uly(+J'xbwgáqxzګeΪtz4'DȺԽ6V;G7F?w]vx!ˤ . _&mUjiߨF$-NaZp}C$.wpC1ή5a"Wڤxnnd^d)z?g,\8 Ӕow+p)<`IH7&_"|UTf}U\y;u$JNPhXǶְDLlIF{'uJ3[y+czinD?I`13V!,VIbhO3Dq9ʞ|$揿Ik\$Ks10>Б\Pz47"@oRf6U*H&uWr2Swۓe|0%aG0W q08H`x{C3nhi¹ |AG n (DR*Au 㲡%҅C#k3_- ?KH<]y"͓4ғ%"]fc1c]Ca6 F>|73__Xב%>k!swhJcS|^x"';lڕZA'mWN{5c?x1Q[:&dݼ?OIέParEXËayHo6d;@^cI%35KDe|Ɣk'jG `mI;<0MlGsYɋ 97\ '=@u351܇RGi ,ٻ}.F/W }W%f?dqH T>GTDF\ 0_~S׏فFKOU[6J޹4 քη`쾐1ҤP2uӬ1!I&NQ]"6Q(9`2eT>yHvdSa$FFInqvD,Z7|Ys\(}؀Gu"m@Q,cs"Y,Eba' ] ^sறb)|"l)lH2Axm ޺A}IFF x \|*El;o0oOE1,oBA`Z+ Gd1҅Ud9!@yuw O!) z%(V!{ysSgO"ROg9EN3=nPC ~ߧ`EiBB| &\kJӛ7!uHqDcBxV.[Mx5 kѮN{gvy8EI})`"NgiyC-c &z4Ifa (BIº^#,n(G n*Pޱ2`d ]H!|Pa* oh}:ۛfu!|G`umò0RxgI ź#\ E'gA)n .@o7oxmO]u*_ *:ւ/9*MR;#u}dMMMvmSr}_ vY@ Ϗ)abL ~Mg"J=sY@nZ#T)H>EKp*/X:qD|,%H.;q\pvަV,<dޤ9nrf]~i!>u;GT /r=W(&A%;t=d_Yqrľ =6.~۱\i-{h^(w}G Ut3XX꫒PbyPɕ(1L@WF\ ٪F[KH^5Ru6Np>d"y _>ut2IYp3|>ѾmkA1÷lfr'q/UVē| C[_ӎQ*eRSyGZcEh2~Bz - 9oj> jbp\_M4m-Y -܊x*˅[" V2CeDœ\0I< c'A,PY2.ԭHFciꍎ] A'yfn%imH`TK|(c0b#Vw AcGQ,^Y !6͚ODS:U^3yѺA.Jh]quFN!E[Lo z+lKcGhŦg~ rdkB1}Fjo)R` O_ c@C#f`-|G1;*<_}< S d ?¸hZ;RgwTR7Fs^_gq#|jR X6u$+67)GND9 !"=$En*s<:>4RX!؉]> ZsК<-'@K4UoXV(+ues$..f{ԧ&i܂N.qs `?I-ʚ;U4*ӚU1~-$爅z{6F%:uL/Y?x]QjLJxQWo0:01.cGz ֵߩ=0U?ݫps*=F&z~~y.rI2ݶ*lO,{G8ce̙\oBh*k$7́WzM 4eX;tЭ3fXFS8m\-2oS<6yXUq*KS`/ tbhiQ8=ա"r2.G'T#WgE)gHg ~2ݩG߀g)M%ڔvy>c)NtN..Hm?׋G3ߛ|ETcw 2w(k.< 옋LLMfۺPE,ݼn+yZ=0i;\4AOA*LM8V690?꿵%}Fu:ݜ iv\O ΖƽXY!{`;j4UIuԷQN_G4YU_ؿ43~v2$孯Wv1i=yʳ=R> x`$Ny2ןpfߜG`JՅ~EL$KXb[ϭ[!s1 ۙɥ8'`WBSERyV OJҴU~^ˤf w ,DᢰP{&#Lhi%cV;?Y67'7FngjN:O}zVX[bnzrk&o= M6z!Ðŀmx:5\[ :ʌjɜ[ "f@Ck n+Aq݃9o 6B1R/І\,-Z0L!RwJjtPV-5rǮLRЦb>f2DZ]^8KTm0殗6SdƴTI~(uWqBL{r#EdňJגF[qRҾ:O󩇆=wd$S}v)E}n HcD *95ʿVEL\nƐޭV7UnԽJ9&.2Lt0A7\b-RDwʸ<ԛ8*X!7~Pg+` :*Y-soݧQWd➆^h'V!On~>IY/󄍵wLO!`ڀ,GFFt| ŋW#8dK[u3qKf\F0|҅~QLyKV3 tJK_zwXIM8)afLnJf⩞'&rfnLq!$1F\o XH|QRpwT.x+۷L.uWϵܦr$iaMy ʩa86ڶZ*j)NY uOC̽0O3 ~AT}dRXX!éܓЛz*I$qBb..t{C@"d+?9)d/H4/ZuhI~o[4GVg=@y;t9R1lI)a SoMC ru@z]ySFYJ}ꀫچJ3\z^d$lW&3_h%Xs2ÇT/Tƍt3=2`$A (v+M| ?\k ؃Ƥ7ݖBE}MapQLjlAzYGBpFյYufbkhop"8ooZqHCR|PhV#|^Xjspq\F]gO V?ZkfE'(U1B)56tl.\[걚kh"k(NgyJa%Y@-;Ҿ1֔N"'Gx ~2()e4iUΊ!)uili$K p3K]4YG1 )ZJ8Gؔ~yDo. hL]eI:d  XW;jA-8tWbQ-@C R0&1ZPE2cC5S֖&:.eڄ,_ߙb2^>ri}Z' Bm}@0LҜe/mNV_tܝ)nBߦU Mwk1GVfXL٘5CJhfM9Gn쌩%ᬭ)Ԧ,ጭ)Mfp؊iF)A 211~e_TNz&|z-4n,WXu=k/:;TB1uO5dou }ԴkSziUM|59gթ>la)7S$F[`]e'Drm%mH$jjH6 i~ ]20l(<֧B{*O(ٸBn6o$avGLóvoqlluR+Jzz>Kşr[ v͐Ǫw7p( -`K!]H_4!} c/ F*egiZ z`?N/]Y#B(|"u(dD4/~JFO™tdHz$ $ b)Reu8O}2&DADEZz!ka-2W6ez]ʡEPl?QZჴtnrLAǗݝeG~ku9H 1'䳯i C 1|ӳf􍏮!xm˅@B BƟb5xv$Kp2A/Jٱn< \oc`eV@MEpr$弚$yY ΠSw1—GŠ#p)#BM2q 0m$Lz)?>Yk7PJYbp8?疻Ot#@dZ91)x]$Y-j^B jZ:jC^At,SrȢPA6O EUgS]Sy~gx \ҊS~̡K1>͖j"Ef"MԏU*UOfOH|%7 9|ag Wʽ]Mp&'à-ġ,oSN-oN^evk"< Y^j=s ?#z|kGv_cȮ!ЕN.9&cᜮc~=p_b3:w0خvO㎡ZrYRg9B{G3O5IOa c.%u>;{Pآp 0j^r_oPoH&mb#kE[s/ J ? ٖ"@X^AF2Y8t͍ 2Xp !HXVm@ GF$Χy M2$.xwHؓUބ|'DOx>3kw(Wݲxo>yVPYV .hi³w8ّZF4C_i_><@:FnV<~n&_'zhbS(Ucp+FiAτ$S$2E%cc#u/DIeB.U#ɭYk"j(T)~Vs+H #x-)Jl<<%]Ѻ^b@5E\#J "wǟ,~ɊJg99&cJ{lHb(i;5P.#_BK__R7_qs8?ʒx"o;|7xfK&m=_5iI}{S FSpg}Y6녺}v?V$&=}@IW{L3x)'߂LΌ$|mqʓD &.3|SUqd"oD{HT:zY>a'gF䆼~dyaiXzTR4d#Ǒ*P|1'l7-8,;4Vaڥ=>VǼ#$£*9KgE̋]:ţx^ a4үXK5p$ Ok^7NW`i!߽b8nEU=VӏZ dfR^ Y'k^c'Xy?1z8 p0`&;],_3H!k(ZlX׻pMw!ܓKs;x)C׫hU3{7!J,9JO୻`,M?7ZBψ :!LܾO݇,j)g5K4AMBH+& X >SE|r$8[$uC⚸Nid[jaR 0PܙtE!Rʮ #&$l!Z֑5Vjܢw\F9{Z=̲3gHwG욟RMiP~zޠWj0 䃻)kҽ (핬m6[gtPI4KTqE@["\ IP+HEZ ׿( y<ݑ-&JF<&.ğX蟿hۓg-܄PSGQ&X_]W\bI !|l?/.ܼY=(Y9OADܬsQ?Yf?1 %.#K%tݦJ*eeUđ&d _URH9ntV$FHrg&33G_M9̕Zt: zuK0wI2jCHB?j:h$…jc2S؜ީ]|\i9wzDdW7})nxxMhZ - {UjOEֳ7biEڝ=$VQ:W#59%s QR!Vvh[Žm[XD%,6I~lY~/OID_$<"cт8f+ט&-2 I>&pQ6KIh2wy(S^ˍWs5RqFp=m0/EZ ;eSj~eWA;~-Pto[pY>RsE$m!ƍC1$QO \ ޭTNm/"wyE>Dgч?LF^'{~_/\{)j@  DGQ҉0A dq>(bg5<XAǼ$$! "l+"oA jD0ApuSw  Ԣv/cOrzt,#da'i'Vu} 2:]8ކAa%kS"Sͧ 4%R@1M5uټ ?cH>u=gS3HF;j1crIG^́s>|vTpi$FڨiY!4wblhSĠyZdT[َ^ĕk}s͢mz] IÛ/::`wcn5e^=a둲޴vv^0sV#"W# ,=~ѷ#oKyOv9'wZ_pq54`n@FY3۵-zT=Ӆ~c+HRzR2 JXh~\{hsUO 'jXDw7^۪^i`(kGZKtA* hb ȶsF.FtY }$=n vhi' *퍙͡ۓJ"˰uD[]-[5YɩkJvgd/2[h.!٠Y ӈ n5BtHAg<:dbr'2~J4c>4VXvW\%MIZozy6mf||]: FO:N$hN Z2A؉IfaInкrSX-%D=QʁukC*8 =Ι=ʼnB\AAvvtlS󂬡?=|#߳l͏$O\ф~x`95w=<0$k N$It`XoT`q01_W,kJ"54 0bRS\+JLJhP&F/ihy1ԘPá2)IJ;=4݋%͇8h$iI^[!xpgˏ(={uGehMBx7*kq/F};Fme[:-}vj/^je\VkZ-4k,x^Ѡw-;Qŭ}^)H1hu= 0((5| 3E Sx\mwe5x_;+&nq*S ^f;Χ7ii^ij ||`c2ӼU36⥳=>!04Ga߻ 1<235 +**(6S|cӮBؖM(-Ϧ,U CEe=Ǧp{ĭ|fJ'xG,5))r@=U}x0"v_)"zYQ.1,(c^c{{z7x.>>*0.a%c+b ahvZ;6:\c,U%dQyy.f$":a$?TXuQSJPbxH\EJF-z%̄Gx}gUx\9vr䃯:f Նt_=&LȻ} 5I=nj7s|VǏ)z۰`оV \N>XR6@>1qO?||p#m:k )z͓+qޗuVKOhvy縛0x;gĵ-VItlҫjpe1.b2;-gEw_ J8 e2"xŐUo「( MƢM)Z-V$śx Z{=j{M(ZиW?F6UN'6fɀCGU*`J)2wk}ruev.B/+U㧺xCI/C mP~݁@`=H掺swL؜-7w6SGeiͬffBݭg1"~M|L":;W,c ם<=?h "v cI x֠ 0v&go~m|GuH+dDt丆dEO[h(HdZzlQh!. Ba>00KJՀ荨xhCz:h2;?~>u`oi4}xhd{΃"=hs OV WjNV Q$]gocۮe6 8ͤUD9ѽU&;W 0 8,kRy JR`*۔d` 8e#g &W>MTk1O,`GO?IT{]72P&xWv2FNt kHZXh׬^讙x,06%3iwAƼj б[a@G٣pX-.GQRM_<$h?ݚ621ZR}H܇쥳*[?SD$J\ $Eot,ȪzN|2KYCG,gA`KTw'EQpL`a*aSEl7}'lY[Fohi<*\s4Gf"mVg]]+)w>EpDUz@u6$| :vBCA'D[xl =|˝Zs0*'4:\ՠݢJń.iz0BaxuD!HVX $@<(Γ⚸[juJv"5FɿtrG2]'F  q{{[́%tz!w.~sA u r2WI})Ja3Q(ژ]Zh G-uffFt{mxB)R忷?ngeoQ(RIœ-Ztb^IDyTɶ9hh2F^aU BĘx] `_*1;+^KD0/ڀ_FB#VBHR5}XifQW/?_g؝(hpM.q_V2OAf|w݊m¶K@7ҕa;g n) a3DDP§W)ԓoW|8=ǿeW QB3s _>3/ߓ̆PRċvOاKFUPh<=c皭3xwQ i?$IH"QljYuUk18%$J.zm,RNǹ&'MnK2Ӕ0F&uҚ[3)y AyA'-Oا*F4)i搎PDD Z2è{= 1h;JD%)x{xN %ל]sRr"KՆT]-^$ϔw{3Yq֗~X6d>ݽׯ^|'q[ww5q.Y=lo<:' >r CO8dOcXF ؓQ{OO_I b$!ƢyӷQGez]@ƙ_^zg.aC0b90P |X&³Aܥ}H~Vf%fB.ڂ*IGp6FJs:9>* bv'R֘i^Aw}(XX2tCMe [qVWw2g(P31p+ XcA9 ^T=[p%Fec.IʙmxJ*E2(0^x+>FĊ1|_?xM?M <=+}<ξE8!_&O~R_te2lW)'[(c1~?6a8,sJb ˰0-Ey:ܳ%fw)@W5Sį`E*%.,$E}qn |;blX.V^ Pav!>}{=H}Ǒ!!NʓqB@k4ixo1Hbb0N10Sږ'(0q^ Wewdٍ\cI4!:=@xrbXхVUaN:e^?)z\{%gea390T(0GQetgZ$>*^n8EKNߔy+/¤0բGa׶03H,VFa~P}WvM\E~E JI *H }6)x"𑡩u4FJAUx)1fu))AA ~ԉqa1SQ6=ѿ\DO  IVydVD<3|^[#Amo''lź>~a99yHԨ}=| )?ɿ]W^Kʤq"@Qx?%cU4`wm}ɶ4[]&17GɯS#p)Qw4^.Uz꟤a/oKτMI}֞RLIw+`z o"v/RU;-Wudg "=yDYM,Q=99wHDNd\B*[Kg=# £gPO?16x?f~J 23kׅ` k뮰Av 6͛ӲIp/\ߜ̸GH zn-H#ܻIn 6Чn|g$]g'pa,yEymqYĄU,#m,򹕌yCU IͭB+ 󯥁 T+Af8~}!rNb+< :|mt {+`ykbkc<0 'x BD+v::Ba#pP91րS7?E:!/a۞(ƗGJ$źu`Հ|)QXd벊#Gxv3n0k$wذ]ť>Tsb/<}wzT)]S Wv HLlFwCVO|7L5~A{yGs}M4ZmQCΊ*q8^r ʝD,2}hTqxԙnF'd̕ocay!TO 78K!?=gd!b""^u3ɼK aVGreddQTV%f; nb}Jj6a Բ ҋԜV/AW}I 0<@HT7+'n Z=-bϸ#z{:o Zʹ zѹӳ< -X2xp.ʋQȎ il8$m wFQBD?.&u]#'_;Yp'k* T~! N lrT&j9z64ᣞ{:.ʗP^c~AsY.CYlb&@+Œ38>sUGGU'S*5YQX3s/zz"ieFԮvnU[$[mV_mLV@%n\~ wm%R]Õ=_swsޭrJ.SY^)ڨ uJGFۻ\y]~kmYNې&pKAW G4J|'s;u:=2t&0P;yVYzoL4T<%A]+e(BGxU£W6.xҒar+ a?rp2RMv:p28Ba^=q~ߗA n|h˂AZ @Oa-\{ĶF}pZmE`*jḵ>`U4Mۜ_,7Q~I| <(Wyf1;C:9ǣhUuG٨UD@H9\(ܥVa:Pz,+^ *sVlU-JKaP})^{9x;i>սS}4݅tk>}D٨M|u'dteP8a]8}:@٨Camr7b[oԗ|{\ͭ|":K2nBmA~SJ@{ʓSfvdܕpJ28N-"c APrJPj7pz݌ԌesԦ| s{mf^2ym^ pK#{tj^Λ%˞ WAʸv 3RrT`ܚœs1$ŵip"ߋLUW9]Yg5h[۩Ph>\KNVȘH]ݫWg-φy剙ːU-x{ͭ 0{JbZJ/ ȏ~D{^)-*;_I,tc"Nac&ۻ۱w_澽vì#ܑ2u4uiWU J %VJ7 gMRAF:&H ե{2kJݺ[{aqPhJw^]!]&D& @%|'覶Ct:JAzxN͹uN;+!5[Cs ]_k#: SY!z D*ys>IݨxF t>@/Ȕ!w]5ͽˋ4LvV[(PY(2WJu3lDvKVuʋ=k3Lm$=-{A)ΆN}d$L*I1c%*^gJs68PqJ7,2NUFk-/"YL:~mnpY2sAmEBu3W%EiSol'^l SqꥁإK&%(۝iͪ[p$iFD7Ny Up.xoN&'Ѷ~ףlFawd5.6zeP[؄[ %CKqqx䍎ttnqNqܝ[әϓ<Ԓ )}-G2#}"9bW1{CSNjqoȺHrH{/a#'^&f$Kiczlˬ,5pvBu~J<>wS@b/'X4?5PdI‡!qh⌶bkvP,.K |QQ}]^*;o`3MajyhSv5Vy(tUd:ikʫU+|vӺ%~8&#z9 *MB`02mkfDj.Rsҧ7 Y Yݣ" + >+w~Hۀ[ɍ-:5HпS \Kh,29 sAǛQm=v{O(l~[:sFY9`<HP=RNJ]uYTqS*yhm1!SŪtl0۽o^0ù&.J0*SSx.UnHˉ>.Oi\]FSd erЯnq11sӊ3t4/|Vwmm!*Y[6)\BC@ktNbAq0iNfR%N(+9/({/#yev_p _=p2A~gsBQ؅Ѐm*x/\7/fsE ).q_+ב#oxpѦ"A`B*{ǟ`iz삑&Тbr|Is%yWucGŰ1 CLd">@{>$Tzt+~@Dc!$;MP*}i귿P-ǩPA22PPpȷ_t0sGp.$_L묜IFswDECVծ^nwYtݹ ctG}I?-]Ew~]`:ɷ胜2)3 ՝&; ūkVn`cB;d'cOI%, 13 =p 0=aѿ|d˪ogS&!Uߦ^qbjޑ*S{UC*A5VW#7i.Jy';pdUӨN TJ K5-lV(Ӟsa9--[SˀS4/-]ES:hWl2ϽMAtakm3&%yz/IoJ xx-ta7j1/HD}S|5 9hSato# M| ^TWe>I%GOh&\|qzic:CMѦbSGrBhvn[ EPS))S:SS0a0& ]pԂ5 ˽H^Cp֐P@DYYLvr ꃛW KROEβQ*0ƈ@/#8~NݜsX;#n_~w!f'40/IQ'71x `=  KB:^9QHQWH)E7to\+ oL oƺ߼p\u(΄x#=SQbc5VWPHGm\tz+z,`(zp2'a ,_K4Pz6a-$tZq9%~i(>6U皺!!*Ӛ3̑Кf~Ĕi[*u7 _I_d e6d9z(%{AժaK[Ȩj!m<\s:?:lFGQVYGy Uǃ]%]D^9/,᜘v&|4PɸuFJCs*&e_U5 :o.uCW P=NpL#`Ger97&@&v؏oAgk)>fP8/wͳVLM>Ы\Y,xtQڊ5Sco++avZa^`c,XS\4n2_sd,&.m/绑CP K~9Hiد`3Z˚?QR [i(%yɍ I z3ާF+X.GM<Z~ K Zo'Fxj Wwă)Ax|q tnv¬7x{A7*?˹zQ@r;v5M1~J-[hWKpb9 M, ͋Ƀ=ebJ2U8 AϧKFʻ {wL/@:1lrmdCjI))8! &Zkc\#5 yƯÄjx :(UԄzXJ}Z= b2Bն/䡷J)xB&IXXTȏ>^b#XȤ{)WGxF4oB9&P  t&v^Cf@IzxS^{jqp_;qS*H V~Iۯv#{i7tL @MYAS8Yc%+ݧΕۍm| տg!2V̩ŖA(!hA7+{ܰ,"Sٸ0hOIZs{o>k]ioEqT÷W6OZgEll? #.QLyԲ_f @:L&>SudfMcWTG{~̒Y58CZ: (F(;+ڽ6Mcbm09$>vr- \n1$r8WATXD(zNvGt>˙E?mx>dmg5M#rI֧I77mC$ m`*H (qmn,ɍY4KjPKh :{ة Fl?\9tō~T s&ΚrjYbUIV\qPHȀ 1vJ8!cL,%R(31 ?rɂV<'WGLǸ67C$0=BlH fM$1(vNp¢ŋXalo%j~%mZoBK: I9KoyB'KR)2! XJ=s| SEx敜/q$ӣwcFD  dl[p{]cydv$9HQV˓ ę Ii Q8=w"RG?,b,Yx{k^Y? PQy( /־6 /'™JjF{M?,j6|hÑjPO7۟nk]4 xo~(QZ GdKiɌDw/mV Wp/l.!Tȕ6+ܟiy kYk*ЊiON~ɞ=dz'B9]ŗs3ѭV6*iaJBnÆ&L^)8,`>@e/)p4wDTHfUn IB؎)tl@U|!Áu z{O~T!h9As*?yx\btã2!}b}7ovμv`oO5^W)εb%|t]ֽMj~$Blk\deAw߫G {rAZXᢼPX}"\W8s7 CJ|R/G2  h 6'IՏjLN;/yM^YBՓg-]w _p߯EF˿Nzyt !5gbrGULz'M~BᷝO6kV~T::|."Һe˗G_Y{=]N*`IZُvt  2=2 e;SC.{} %%Eȋűd<cAD;+ʡv%^J(OΫ:㯝?$5a2CatQM[-vZ}Ԏ5 i{)>;F;[_ #P^D~ ~OOV>qkի~" ?4ǁ(I~ň{< ;¦q)fg} j5UcF XGG.s;ȉ ߧ֌.[*˙D:u&kä/1a@,7a$)l BDb1+5)7!۞){ɦ v//f% j*'OLY@ jqeIoκ"[D@Jȩhg*f<*xoY.<$Z{į|Ļ  !_q:ai7h"!'  aTg=E$:1+(vUsb32pt,#|hˏͧޤ?v bgVyL:xJ:WB&T˪+؏4/r:ԩqA9pa߲I'nҊ؜1hv ^!m!^3MFƱɤ,Qn/u:IVے0bf=Ajdr'9jEh V15ܘf6e$l,6W4=Iyex|- l2Lp%2ݭCP$5qۼQP\:' 0cWh.+=p/0&7ζ{]ZFh1aJ8iJдu%|QNE#yi}}冬VG+o^"U Il^l۪fat:(lONJ$ *™\>[WDg䞕\Ryt[x`Zr̭Y%4liE`_q9wo"#0 4RRSRxnASW҆$Wyǎ5HZaJ@jp7iX5I^c2q39sنݞw*Pg>_Y({>5lx"K}mUs,2@L*`oaG6[> 7~y!a%HbCrIMafKF֡KnQd ˏr2Y8/ Ml,Q(8+}`ROO] ΙAP0KU8pdIۥ}9r pÿJ[}'HYE}y{˖>p)lԀ %&_mmv<=+;y}Milv[VَU dy:vSCVTJZ+z[_8y=m|A•NmY@Er^H6T!*G;[kWZFd{%,-}?M=9NZ\(:Oٳ9ۊB:}F<_Ǣ`!9N0!+ćbp\X7V'͐>A䡞* ?¿AxήB% >{3p˯Ϩ,ߧ7Y\ąl?Lydz$e+iH@3+Jvrb\/hP>B⨨b }F`z٘@}`rL6k4EE`24,'C@/=uޡeY';=b.kp`3faKFc1SB^Q`a72NY4 dmVD]t" 6ƮRk7eHHr%4CR^ Mew-6HGYhgG yӠV+ Y4{J!L gf~jyJ$o&8O‡+i؆pFt oUVITWO(6qשUO݉ /,]Vs0po8%H6?gETԚ8yC<5jL`ߥ)֘@(nڹ[GDޱ.o\4M'>" Xqs2GWQ%U4wYZZ6?$k Eϱmb匄w.#ZïTQP}r!}S DIq_X+cX~e!5\3q@?C{nvsD; v z< 쯱}Eͮh9K+^HܩTO\'v-wqϤ}.F|aunzGoٵH|w5_qT‹kՋVbj: #k p~If"w;r?iQ.Bsܑ]Ͻdq$&u=,7TéI.L_G/sfguH\wIc YfcHXzXk +ew#+!:M+(qV'M!bhj#*`UbNYI W,$V_TueQeAhNoK}qr>gۿoń )4? p-xwՔOQZ,b}+ /MɄC>z }Y Fp|kѭ,Rq'B&y"Cws)o1)Y{*B &2ٱ>mR"(8)taF(} HQꢰ(r?ii'Ax>H#r2pG'&&@JH&fk}.fUev4^[teAe#:\/&vVFv߄};?GvFrim-+qbT_cNFKߔhģJC QG% U @%\[EZ(ȶ!Zf<4ڏ ޵"hZJ gKN6PUPo|>2۝;%:ܩ'O4D5-`&F~!Ňٙ!8fU.Kc. FAd9σLooh'Y|j`k#1b8^\ShёV C("{s4@KCFMXCT"6aL: Hz6#o#q&΍v.&(Ȩ$gssYKDSe&SgR%rVn2xLSDjj&Qz![X#N0KJw<]>.\chΝQի#[j6uf9\:GWMG(F;@IL!\UUv䤷rX9Q\…r &)@_rhIbF*a@z~#zyIme+\umIrjuĵb*בBUO~Q_=-5\y=/;? jD Ֆ*r\i~$s2:ќݽ2VV2- ׉'n#DRr:J("?qMݥ^9Wx0]V @Wo?@nJWxuV!T-yd NB@;e@ˋ w0 P@^\ߘzJxyw]xyk*烬 07d;W,{5{Mѕr]9ڟ=!|+tfG95e;ݜEo|cP^*Th-*?nQT{޸{" CFEKy!ޡeќwZ'p+ϙ7eCZ!R݇P !:Ɇo{sFZP kb|`c.b0f'euO[CHNE$e@2k+ _z1 wyR@DQU<o-;( Z8q{~ݽн7udrkDUV+z;WG4UPP&> GK.IXaWy|tޕ.e}̒ xQa[b!! ݍE9dkK@vc* BLKlǜ=->bUbQNKhY%>^ӢE{ GǒWCVD+ s*' )(I\ c+>'OQ=HƋ523y3XxLRܙ;Gs,b =Ks hU3+]jo().IjE)gtM߅֭vЖi]w@OLxw*ZCӖXl|QW%w|̝7UcA7~'&18 (f ӌ&Kk6-.Ϳ}0z˛GkCJj i9N Cu#.(5Q1HւV 9qMq!Ϫ;ޫu*v:YD(K>9Z3 X'bc*18Dx#<ލB9~\H<{<`鶮[ 98xj-1A7æRv4;{tЫ>],5Z/(R@~^IZURO;*_!x/H~z8Tb_ǚ:l%)m_G~W az󁛨;:y%9s[4Yk%d?*pmQX7h%aEб5\ZӔk7WöqTzy7K:xĽ~'(];N&3>ƴKm]"OP>C0jctjBڕy_]/X(&Fn 8-֘o•#mnCc>rnaȑ4Q^QYO$9jўKW ymbƇ#%hq _vjd 30v1Ms̨Tn4Mz!3 KPO3?Ame˗hΥKfu{#ޭ1IlVâ+3HйY9Dk˚uzdlH:ef%9#2-bvW,hK"E#ZF; ʵ.>G}mya7U:e7}F(?//襗7$p Xy0(K1byP.fMr\ ($<1l.4x,* ܾkkZf֍B埡$V6}p7tDejIF";ͯ 5*M3%a>Ut6r#IGpRNXd6wo!NW iv sq4U@I?#ЖMK\P#{q ScFzْ) ج `:*֖knxGg˿~LJ߲m/.{Xyi^;`d!fŖ}~L7Y6-Fse$=li}r+G>x1>Џ L.eIaC؆}ъ{uR7i,U+ ꓸrDcLZF@ᲇ3ˢ Iv=mQTTlb=M=y:aTeJZjJ3RDբ}RBwi2WϨ]^YG,S(xUՅeC˘s$6[YܽpY1Lkf]%KnZ羻Z!(@HIYȿJ$7׽Wk=Wq?u ϓf kR:h,Bh*|1aM2fÁ%\m,huH׍Ve%VG0qdgte:4ɐ]T4gvݕ&6k'ir,)0Ky"s&w&6J:,S$!ban-Xȳ@VYd7y FSiin{rmp3[aF;NQђ% 1.6>M>ȇ_=+yHIYz˩ }@j9>MCvV3B3idW/ vvz#tIpO4=m]zzXaGNՔW}Mwu!-T "!Bl3O`ғ d<xqQ e 1 7则#Ô|8o"IqdZE '챿]%FPsS dw єbPn:US#2}4$E';M+Є1Kfq,93mgOtL2c>z y%~- >?iJ;7: u QGP"=TC`,40??8%^Tij!n& _7aJO'[њCa 4.'SWc)h`)$%<|= IJ\dA˽b7 =)UnBa^`OCb)lE2Y4&*/MS77!ɛN?3 JK[tDPƅTXo6IEYM8˺yݏ #( J%YQ50-q=?8I3qʪnڮi^m?~@FP 'Hr Jja ynFqfy!Ҵ]?'|\)FIE@ e\Hui~yY8}~=?Xmۏ_>"L(;͕J|Fqfy!~ni~9-u?=jr@1 )a9^%YQ50-q=?8I(i~yY7]y;yWTAR4r JjaZz~ 7'ie>8'nX֛n8;"Oh^U „2.:ߴ]?Ӽ~?WՂ$E3Y\ln^>ʸJ|FqfyQVuv0Nnq^~?B0b8AR4r JjaZz~FqfyQVuv0Nnq^~?B0b8AR4r JjaZz~FqfyQVuv0LgrlwÑMZХGCF0.Ubs/%H?/t)x @&??-pR ':L vpy?8@0oĪ,`[5'y+ \r~zs:a_Ͼ ;o(Ia$BP?ע[Wʡw /H0a :|M 8L!2Zy>o|_dt"æG)oh@YGBcUy 9Mt.rr-И&6ix$%Su`3k:o_xNj'*`ō[P_k p|7p4 IMZΗst@Ɯ>.湡%*\aD[5!v邶K|"3ۡ&nnh"@B/H^L7K$H$:Q w QEoG8@N6۾s}tUcD8-e&N1;-(pt힑`y$'+x,<2lPNg @7M2Nց7 \XXr٫1&O2NdG 1$/D4qCtG%pJ77V=+T護VP[`~ e zXe Iz3q,C3{!#jOmpV wJK Qmׯ?6 ̊r<J"dӺW:}װ{@r·Y7tTy_g֖sR N!@ؓ1qB*Bosl0V)粃 r=hAOԜBrXC@ѱ@܇xh#%j ҎmIl<$_`7J{9UҶ%HNCǏ"S_~-23wv leÉg4p8kHxvS&iFMtQ&Vڡ2kvnUURaWjp^)HIaz-Ow_-F}N\dKW%07Ds ^0,&7_ڸrVSMhr f߻])@t @N%^u8Gz 7޿lSC#pnmc:fg >F@"4N;[gLnKz:;q,-ǞlmLiAPLbNvOZ|W(x^IyfҖ+ m.{+vg !lwjAm4 "_h#1zp (ʹrʓyYȧN)GlrRi3D7> Yop![59}ǡ$O z*GFu$=8#=1E%,Y#$#]VcSz)w]R2YYSRV`Ee|cøh:5+vRAbA lORpESJ3|H%]EM 3F ^!:*qPY4 cb%pIfԊS?(/cMTmXZjiaO'X"fCOW%Dɏ9&nZW6~x9F&r|w'̕=،\s"I|8%(8 I`2֧;uvY>娦 Ŋ`AB3 н 8_x`j~?72W8\wI_ynY.@仒'dh),5 lT{ ]$C_Z= y )ݻM5#aAzpT:V1vLw )Q( M|٪ZEh|iy s%EH1imp]PXBۤ`KYӅnAXUo@a(FP^`*6R4OywS- ~o [awPKZ^g Fplugins/wps-limit-login/assets/fontawesome/webfonts/fa-regular-400.svgnu[ PKZd.  Eplugins/wps-limit-login/assets/fontawesome/webfonts/fa-solid-900.woffnu[wOFF OGSUB;T %zOS/2DCV?Pcmap-(dglyf ;head06 9hhea !$;hmtxDz 4XAloca["maxp\ name|Y":post%h|=xc`d``b0`c`rq aI,cb`a<21'3=ʱi f&;Hxc`d|8qc; ̀08|`2 zg܀Œ 9 R <xiOeo$!Mdy(DD"ͥBi&4)R!ͳyiέpku~^?oc:k]Zj*u,zjV}f35(ZV;195k5:g=ltvfvIvY6#*&.g;%ٲl]n>ېm~lsjS05I-R)uNҀtLƥӴte楛-iaZiMZ>Nc%mΙk yc7O'SkY |Q~w~Tl|b*_o. Eb@1U/&SbAxxXUZ).-o(J:eiٯT+77!jdu|VPK;#4&;GhZfgs}dيC,5!mz>BR2O.OF1ib9[FhAzGhYz&HkF!m5G^yK?#4!jfW|q~_Z?˿̳EQѲR SLQ\#tۖZ^>B_lGoU#ԪP#?֔{ ;չ:: ~WUF~M~̪[M~bQ6γIv]6A{VmM˖Wl+PQ^EaE~u8[E*N8✊+*fT,Uײ*^XZQ⃊+m*TSyQ%~Pܯ*_-oT]zg_V뫸RA&՚jkȱ6dk;&yݦր<Sx+;D{Ξiv:Ni3y(sMsUVy\ )N|6 gWַs>Xy C?F֔ ѓ[d;c]ⷸ؈y/^3VZn[1Wimll5h;xΣy aьvzncO;'[{ o-Hyjrb 'vmvNLϕ̿C؍l[ބo-⟞(;+Ӷ/`[aRlcMڎ. kr'bn\Vgvlg[Ãf]u.x;bώ+p~c}Xa ٟ3&c?UUvƏܟ-s_y uX8'hM1Naw'*\:|^܅ocnf3J 텛qgU;q>'Z#K(u=>{6#0#q,kyp!fN^.I<9M؂x܎Y5Sxc^x/b9502p0h vGC셽Χ1`O4E}F.aWm;ְm֭c&b ;x_k[/ռp>S\u%~d2wmSRnu{^gC0C1 Lq']~܇CXG 6{a\?B~<8@2PX a!,k!"y*q0~h pB#'GwlFnF b>| >Q2V,rv0IŸ=,";EXߧ clO^ aљXg c]NF=8GDvbEM($d^XkE"p0r"ałȻK bOD^!8]3F6CǫĎxXYb9 n:Gl-7 8_9q0rA]x#F'_5d =$0#box\"yT b xU^FzEU Z,rukQƜ)zK,m-׉}GXχ¸ߏ# b??!!T s_E\/a_kabDm^,ElZA01~? b2ȯ$5ZXb KAׯș$~?.|C o?C?&(~C BT)~D&~D.~E!~&EJ/[ }N5żZB鴭/i{}'.* @,5~ D,9i/5ނ=#5(+9H ΦfB b< 5'5ܧB [gxNm^s^ďAQI)*YbӦ.߇RWAW7aTwȓB_cXI/ }H}1G.~Ƚb޿o עtkZ,qJC&P4LlGN|KLjy M#1W 8J0b,LjX/cyX߉b1~c|_O|O1Gwz,}1/}1M&=/M{!}%^)ϙ#sD^\1:^%50+Xӯ N&ڳZuyaZi >caԫOQW?F|!cZ/k}XԹ/xO:(s r[a&ab16? "?D* wAԆ?FKY9˶ B_b6fG=/ go.^+o-u,o#"o+=qNpbW{(g `Mu3.xm{ }佄~{ O>}żKABgy,:.*{&-{#g!8Rwן|Obo^s~x+(="$J>Y4@4"K,sXȑxXDž?1o^w;|w bZ[}l~X'O ͟{yA|E1?+11b^1[#{jXb1oym "_ OX{by&g\KZ,zXԇob+5;ߋŜS,yXb ?E$yXp&ybb XXEE{?bQ~Xb#S,¬B΂B„E磨<Մ~- =B9B߿B_GE-bb[׊ǶNx:Bb{jfH; .vz,vTY'}U赢/h =]PHXcD`h*u^%Q bb_b?Ay3G^׊EKA颵 梍AE[svuAg ^I;X;D;T,u u^xxx^_kEoAsAs_A႘#1W1W1W$b b (A`AAP00Aтȅc##㣄c /}0bvNJŚ'y~XԀbqq|*.TL>TSS\%}ZD1[MuX Z#z_,{$5R}{J8Bˋ5Xk~+<-~W9zs77bQs~yKVb^|H1?Sż)kyQn'̲3&kʦBV_ekCVl'l/8ceG e'mω 塂xz"* <nc?w=۔ߖ۔}}>c#>e?׮r0Ha@an0^7Xx!Br0a.(GH)海Isy؛ `@x Gu(կ陞cgf_ڝYV+ɖ,۲-cȒ '1/g!Ng|>KNIb}ܿrpZc*+-i`7\şyb0&}4d45 g Ӆ YBg$N`# G 1RӍaӀi1Od 2' Dpd 8a5ef `=Grraڨռ= RvF xB{PI4tپ!q<ջ0/:7{s:ٟoXls{D+-יLf5on[(ǖ4Onc e0 W8l Y?_ #[8_WkC·}%)~ yCe`?n]pb ATCbp>Q&ra[&zhG ="3H7o@IP;(Ezau HзS%C1}QK.b<nB`RCͱ7;ϫ+\Z 0`4s(25B\&#@  'F0?: eK?"ͪ5!a3dc$:}Fb$mݚ6$tjL[ql~}vf8N@- bspL,u!==T4 ݨԸj }lJ8_Rpۏ qZ` T&DdISo=+LajTE͚t oޤ~:`vwRd~KWݞR(텣i覾.^ks{!5.bN6w] ]%f6tzms\t"hAqņ7q.<~6]W{B*4 tqyHȌ0H@WO%oБS%̀/FõO 'Oc#3i.$K݆Y\8_/a{;2 =L^(3C/74z:ҋ^E^7^eU^6I/2KH;YoIh"ŭîW)WLMSm~< ]bjd[9Hi1Xb lXc !x1(nF7Iw'\ ^p6urX/x9_X2%9( '-hg3}D uTTǙd{I09%Ŏ &gkK5pw[XKE1fbTZ3tRjf̀k&tj{TزCsCT;zl5- MfY %Z,"~S)3eBBCP<Ԑf(a'64 ߯Z/ҝWe#SH>ys|" cgNEREN.h'g3E}(-3T DzE8؁tE=i>vHUV6t'.C]$p7e+N9TZhJе2t9[".L 5mY;47wUҙh,D)--T5bT*{cN,9SzJܡU˕tV"}c8FT٭C-]{gڧv!e8pdxBFtʻDD0֗QP0O׏bguLIg>ivY߷&m:$$}H07PN/|mxزn37w?:iTCu- RKL`f9bt]ᖞ3z+?YEm6_=z_M8e5+NMq8,aMA۳+!}l1oYڢgPP򤢤kI)ټg'!n&1|Z[4RaUMn*n;MΦkM7$*Y(u p0~ 5L7!ǶNs"TB(3$` M륒e(m߷A`XyGDOm}E,lh ~'lғ3%apeGL Rj@vvt\k>BnpeBґlm/g>&.؂#qaN.1F@`ic+:T٪n} Hj'7RhedY[d0F$AYeo ưvpsN,fO.|! P{#b bNI2A`"ۧ__tF[?aTtj!oWԣvg({FR`}L:`q,Ͼ'VQ&2]-sׄ?CA/O~,`>Cա_΢vOɃQNF]Dt2]_B훧bf0RolwF*wb~:9~ S>^a<U B[o,!+ZP UeapCf)WY)V*jȃEƂFjT.F8Zk2SmoŠ&0Y^n> _Y? KUkSӑ-2/׆f&Nѩ|V j]Mh$RFN旀:ȉM#)҅bVasK;Ҷ%DovPIUh8,WW(?![߱dٓBF4i Io-*>5Fk(Brx%w]K2e\RSvP iW81S-}2I<>bGzD$),!EV(hHlj.yIɈgb8,I7d+r*=˥`V=LօǽMK}˘sXq&jrb,wQ+`~I_4D$\ Z>! 0DA[]'Z)"@$<#,X|Ze' WѮT(t(.tx_ l[`4K4<)@-^=&PFBJdqÒ.jZAqk/< kysi`3{N9kVMr6`&+:i,cq:qO\3JZ¯ob ﻷ)W]Kb/s#cs޾M@@yocSJmzQEq0WkLu]n^>ց]Y!GsDkcKq:C\Jw@ }#f(L%).SuW@=ثٙެS ~N=(~'Tdc!jugYqe+J%?d- Gπ@!E3𔎡[.͕v8Oϩ OSUY*kգ&TH[VY 8̫v4;dDv4Wh0KvWќ0[@8c)ٖw&꾣4QRNt &5lʲLM"U&UEI12;pJ84GTyEby{gy7S SW8 2xPa4L\E`jz|RtgՑxh@p[w  >ā+l[a(qEqaBLm LVgpl46}%-MDhHSɺ ae ą 'k\0bo{ IYcY-EYRuYUe]dYOE9~0?Wݤ^tORY*UVɍ A2ܞUeRpiԪr)7':L`]U{~AI߬)⨒I{h6_ض;aYJ8Ht-q(J!ӒCF&LoF~Lׯ/j$ß~XҐ"o95 i7cxbRG^vIuU0f3B<1"b?vc#̕W_7Tj6FFT!!e'h TB{jKj6i)xЧE9jRȍX%cK>BL?!; Y_ äN \ g*PGˁ˺lG>B].R{[#xŸ}Rn|MAd E,n^Zy}+Ӹn3(IԐbuj`'Gs[1eiueQ3tfL59 lr[Bw;BMh azIJ@&{ޑ},~OXϷ[70O2D&X$BPLº 'ʭ&}jL+~ԭ#*꟢R?|gguw75$Y1o9`s5o9Cfaw2 `HX&kL"!Xl'"JGDE'M5i+(vR,h$h 9)fFfz4[LRDz_zߗњ0vZ=^=..3&^itYfIkCKUW8+̉gKX)Ԉt.2v#, H+$) [J>F?2:~vnl"_wӃ[%J$T $a4Sun 8o,{ hJ.ŁwCk@e<хA~{Πb`pУodttI0j}5\i Ya2j eLQG?!q \#ƒD|`H(QTt{cr~*ȞHbȉK")KbXTlLtX`YcH"6o^46&/rռOM) `ɤj[$.^!e!Q),QqxXR_w阡.腲0%,@_"nn^ jQ$Qko#+Gnd/!tE\7챕"+dٹ|&o6@VŃzN:gb^p dqZ9 +e}m|‡0DN2+Ho?a.l; r;gq}GavZ9d*ϣnAQw%'Hc!BW;X-<$*Hl4QPg$Ti HܩYcqآf3#K3,,lf)b>3<UځtP,Mo O{ aތ'|!d*9-sm? a h+}]μvJֆNs%nkCHS IS2z4bT5>I5+kq% ^ҍ\}nFW(љВ{|-o/1vr M+n*p<):?L/Fᇫdtj0pĢluՇ-...o;tu= l>1l^7̾ѳ{ƺ7^&v&a4:{D44fAјD3 C4Bj2)d1)vʰugo$&:#3^e/ J{=uu*"0 $rx"C꾥DBߩщ}]ckۄwA׹O9~x6+2g0%0[qP lɁhp4q$FBBi||biz%a i"rM^2LkqOze53OI{Ѣ5v JvxصPU *<,k2jLFpFU랛 :Qc*Ucݲ n{oa-`9ɥb5S :P3E.hʢA5N7QEӼי/muƅ I/[ZY)}K{c[#ƅb*;X^P~+ձ_Re1E0E*޻/iX*ĕ;&Bہlo+lG"II(i/ z8Ejp"EyoGP[f,f/zɛQL??!)*{^hl,+c#L)v;#m:2*Sa;P9sPנ@>Qﵯ@#âo~r)T7-aꫲ8*[$^&;u7|4kK3.<{00'ѼIR0" #/Q’}G쏼26C+MG" tQJDc l' A*Zl!6ړp>.t\s?jj枱71JEMԇq+!C7%4>[@YU9'DJ2 t%iiMOCV vzˑ$R(RFTvEǎxdzZ(OQ{@hW6D=1ݖż6|@67|3=|$R`cHj4tY bP]v<*\ր23d+a6ê>DȀ|-{Ⱦa'-n;_w4猽Ov)`*V>h.ɻTp?(IBvnP2 =y{ /N,>Na!րBqcTn]\vLT):ll2 &)lѦZ>&?nC%)Xq *VN'G"!S:yWؔf=LV91^V24g9L̪ IZytFCږxnqγW[C?s}iW6^\^]g>hMvVǸ=*(g#0:h*8VʎG; $6mh]q9a.[RزEKֲ"$^gf jwbMYc]Eg+֮c^BYehh&n=Au21${[6~{1(|䋊$ϔ&9Tbv ":0 Sɜ<9Bw[.nP3 ).:|d4IAqM{4aВK$pHEjG=4\ -O)<x$lI1Ӯ+B Q|u#yX?zL[v߳{ew4emOSƮ_h YkLtr5K < $Ll`I);#J7_j .X/kuZ626/0ԎՒ)4EG5 F/Mg9р_nl'唁zȯR5i஦ZGjjo)y59S7x(Fi0qBG/ 볈㲢z(Ğh$MmeHR£7P'eE9%wDY$%$IL[5yͪ1,(3ga5Ei= ?g& {jfXGuhsX`qz2M'4%U`z풷-xfQ%hz<֤Zm\I'h5bbX3.ҸO#<2v} haGImY$$! ԋv,Y UqeDoIXX$F zsd.ϳsLf;GQA~3Zc*%0Cڞ$[ֈ20Qe)RNWp ϜIՌ!1BJhFEe=nP=/tp[r?ž|z< .qX˄-QszFw<44 !g`X~)$K% BbA8?2$ J>6 D,~\oJ"uw9b55ԁ;u5z[;ٝͦi]B1L ñpu1)Ζ3{>]pBiZ46ahO[wT1^ox$aZ0^̸\|9d<,_ :._0\#I(]=H%j^ׁX)r[hU/X"0Ey"?[O"ҁQE1jD$IdIQMT- YHp5E_;Un2:^$]ә O 3dCL: M5f *i &̰fH<դjQB7Q(N!F dB2_Mi#D$^wXt`\҅]6sRRvƀ.X?0*ԕ ӗ`i &b'5X&%iTa$5:tib,tL~VFlǽ[\}ZMÏ8w*-VkP58?WvzVI dwr& Y:|-SipV1 >wn: ~sm,E I^vDq</5|?* ůJ(<[_q(###낪 (FCD,,{yzz>{ܠ'fQS{'MXq+/k6^*?vO |_^מ3计^zg;4Ikᴯ}{bXܠik3`@Πۄ:&Kז>M}*NCW6Oȇ6_ce!пC靐]L;zMFcr350 ?}FO NhҀ`0XކH]?BYu`V#꜄``  {y/ #4]a2^j|8{⽅4jf7 :4 '+/glYYN]lee J;y]2` )P[pÍL۽vaكPycmV3sͤS8==zU1;UbY;G-ެ1~bHo_weC4|̣ %]^cP4*W~J }6ͰC {{-1-"ZbzsnĈ ݻ֐HEm09O O26P&Hܞ32[4xg |o;ypcDQgs5Lelp,9S{%ZJW=WG؃ >Jw9H%^ye#p#lm׾ C-h,->_OM16O[ [Ŗ[Y,Xc mVyRrsaݴ.E*^~QNuF5vjg^?ףjO{u'v=ņ>p^ ɧdbs3S!$!q8|(#1Q-C-* ̂bp?#J9YNFNft:&Ih,mog9'.Z6Hz Zi{}81y %CcKԶܭi5)j%H6}yTlrjZ}񣸉4 U;>晥RF]Ly/`mLĬ46NXP69 0l{j  ̜ǖ)N^> jҗsPᡲkiŵ_߽VL{bgB~;n~[x(Oߨzݠ{e! s _"թ-6w:LLfL:XݵR%'cxh=WBF&%zX LUU5edGRvJ$r1TRۦAKeLj 3Q0LcA?1vz85eR6o6g%tt4o:VfG2wʐdNptו܄Ϊ(I:aYכ5NvBx ^aNV'qj&:J8W T.95 &A"?z2R&ztZŏ,Y"y|ܠo;S|!:=Q/2^s[Z(tE4/xQTmu7ײoiPn&`P7bT2K4SQ7LBtDIXO3e]18xrlȾiYzl܇a3m>*B`)'ɂ]D:cN`ZcKvܾ0T ۂ .#YYcM㹱%RgfD" ?MOb t35CT{0&x*`p G+xJ1O19U| Y""7RMȚTęP6>5ya7LI8L<v2(/Ț)/ 7Gd}oqsp'-ۘ QOUb3¢Al>@={0883~NI*޴R~P&rܔPXD6.j՛DMWB&QTY/1:kժIi1`ȪVT"%A|HVpfԂ!)ZI} )p.)ZyF߇%]6QU۲.(QIʒHTF0Mi Ul3\LLi1UcPIJdLZNHL\J4JzFKH,%6D1"~l#*@g.< ] lf}9ְᯛ&54On|K yz698WߓDer#\yLEŵ9e,qzK&kZg4Rފtqʃq36a<; 1P&{I|]N'O{ggP-Yr#j&mJD( aFP`*)!7޿]:C||y;ާBHs| { fg",@ZK]ԋ\pbXv{׫U-Na+;6Ѥ>Aߖ+G+TK%> [Y:?ty%:4T)I,]YA\(kl.sVC.A.BFZu ^(Y /:NywPCv ם"9|R3D3U^쑥jZ+$1,;hp J 25R}m)BHT4f'i'2bP=aHTEYUÓQ%IF.6DzdNϻh luE9VN`OZ;e:ړ8x]mUE^+Aٍ)t*lySB'Z'D^zld 81 ТAƶa]OZtzZN^f/P^hV@E.;#)_y;BEaT(YUfp.)K硙@Q5 eQ#TE9)˜9zuf*( MR^E$H>+9zj$Q .L3Tl\4乱\Ts<[4D_zp+Ln@dNz4χa30? |j}]mުӹ'W%𝟇9L~4z>ֳ^ {2qcT_Gg6ʡp>kLX3).vЃI'Ik B3f̌6RNZ֙utۦQ#c~;V'w~u/r@߀~G"̲h%nFrYk"6hm9BɫjZqQB%)" <@-TYuPG#T?>'SH}x~4;o} __X kKDȏZ_Ed).Kc5*{':oԲLa6a5f;_5D7pCA7O˺(7x|^, 4ɐ$(<3;uxȧ73\ꑳ ["!Mв{D"ЌV F+簲[oa\_Ŕ{C;@[nӔR' S5:DPH^\8in ̈́f4Brɛ3]F06.""2ܜC:lt=*HJ,eRDN3h޼ƿnu.cn;' kG7ϪAԴCp  \lX-zi}>^E|_.\NL!lbrb*-Wkе-(Adagh[S[*i,ND,!8th"Gk7úFD'CCSS1Coۉ1n@t76Ha,t)@&C0x^9z&J>!;!1-Rl6W5$bT:B-ٍ!-.$K%Q5)fL3JH!1 K"K j+PeF=UHQH`z2/%RL6 aqY+[q!տTSK1DBV&ϏUS\aU/لLa6l䆧BL)6O'8_;Y3R [.5: ,]<ڶtV(/3Z4,}/^K+;'i:O$y^.Ex\'E] 6:MIt^?Omo$. %ƙmioL90LwYY\?9phlA 7%:rd > D8{tnp刞 ftkeZ̾<_^pS-1݈6ɜiDt ?x |dN?w]l4:kixW6;-tv7Y$IPӨ~Qu=\^jG#|\\ƣ[ s'a5ZVws$,ƸU{'PՅeb|C>1.F%e&ZwiLU?zb2&1/ '|"+QO󸦪cQYƩR> Ti1mRpGh>aN[Fijf˲Zf-8P"FPXB"04Mʮ~k_?m㊳6ytѲ7~ɾ9_t+?[1#|Q>p |Wݛ}H}!]䭻zk]u~wxFͩrKj$4wx* bԽh(<5=8{ٝ?'=*wߏKDωQ>3i2jjїQ׉hށijCuyZOǼJg)c[tZӟ9T@NhEP.[\ݥ ԒLξ_x*,]crh,4/:Ax("{G\H74o4&kIC IE:zH`dWeIZZQU7d1Sĺ~#ӤgN8bl-5kLs3 &r68G.:vw xĘ1bރd7>M2j<ڑ ؖItIMZEky,51LT%TAM$}vs#òRRT9ꎭC^ĭ(SN+TM(y҈x[~F(`ք!wLЃ~ aP a<4 KX1`A4/|EXbK :霾аƄL> {k yȃ3eY.}Λa{ϓ3w}>۹\5ۥ1Epmw6#O)Ovf/0;^ +Y0tcUzCt wgpv)Gڨ6MۅxVŢ>1ښUtE֭Pja_]w vn=Er)\yqOp큮5WAz@"ˎods>F N+dSw" BcA |or c~}@;@M6<)$׾vԇiFc%az8]0ŏMeB%TW&aWq=&qh!Eì Ì{x`54F< SxI_uScˇC_IvY )(c`mrGtviJ<P`& W'7óq_…~*lRuőIS3_Lt\g䋱"[Uzi"!?+#ki[D3{XSk8I~D)d!7s5NH0=D(Bz!{R\_4"w<,HL:9 5hC13,{ˀƚ:GwKD+ۑ\KUM"%ì$T/=xJ C0b@ qj^ XymT7V,ǔkS{TgES,ZOH{14Q*!8v.:A]K- ȭ1J!ǏG幼(5 "q=brJ1x?З8[~JqaTPaWZpkPDŔ3Wٔ ﴦH!jxeت.]ξ E"ZBmiODU+LžhƔvc25yi(Z&@+ZB1 si%@S%rij;2j(awQ|ռ]ܭ,GʳxI:yϪygey0+NSrn:pNL9uXU;w5~r;@2ɰgL3xcDEm"qQۘ U&T4. `-7mdJOŒb` Ӱ:^)E3ӭ띵CklҬlS3iX6ٴaVtj6}|/bLɠ.)7NVRwT~YJ]hx5"b]2x1a.MoiV8ĈGA]k5%$qԽ2<g*Trlٓ >2d$}$_"-Ya)IŨgȘYi&2tfv mϐrwhdVhb2INDӏMM) TȮ k/ivܪ-J] ֭: VdY3J ]lIڄ&Y~< aZAYDR\[CNYa7u[Hv4hvA ;V6pVTJ OHN-,|UbX.5hgX{s6Qep$PBQB#$.hvΆ߷ +k[TLu!dY)W)C߰FB!pSj*Y曨0QȦn5Qe4UEJ =J$B}bdP.ҳuQ(렊jMC-؞4ZKs!-Cky6r,žIv#k8('Nk MYLcO2`O3$I"R)LC s|!te6qO9niG9Dsp;" IqlL$/,W-`:BvQhDh4y4d9k?o:ߴ7f 萹 /-\%(ggMG:sƙ)RKfc2*JĖCe/$Sƒn4W_ V/6E5jDMZj;mxP${A{nrnw׸nWN>'^-Do̗R\h⡁P-9a ll6$?~,i-n ~"[.' v{1U4>܃~YPX>u;&+>u";*tEle-ʞ.0L X\/|"֗ }pNlc{W0q} b]QlE *W ףfu14M Cf?JD4IrrE**QI7so'Q wU}MOL\;;αήѽlie˶0@,&"$/^$ $` k$&/_@@ɏCHbސsz{d}luuuuwuuus+*F HF<Byń6m4 (H\{œzd73K.z§f0^q* ᦇsOR~f=P 7>؇Ctt:" ]lg#``'1]dڸ֐4@)աQrkZMgR>mn%ݱC͐'15eJ%#]'|#{EW䱜ͣdiPل.~ |J$qbT=%t}J{ z(Gd 4~Oڿnw|>jrE:_r D_ Wk s [lg间'B&1t6Kx%~h!%ݮn}?A:x/"v/>`n HDmQ^2WGi3WBg?-`)3a(sJ!3F\9Tg(sdnz-*{Aږ6I@1B<pDM; pà i>¹Si;Ff̀ȧz*_()ӄLz.bt3epwvY+&$) T/qǏ``D)#k#t(3"TR %- !Rf Ɇ=Bof\~B6x 2H[3]Vi.8rZ!vQ dxg z[ Eϱ(S):ۨC;d]Ba9:K`nʘ/ʘT0 uȕ1R:17o'aͰhf|\;Rm}y2ej/BDֻ*R Z.#&dGw C8ϐ:, "Hutz792рnȢJ ((AQǻ!{[hȻyG qA>,衽 n]'8ZOQv1< 䛋v2.dt0/$c|@}0;} AJr1!G4AVC,J/6 PKr)aSbûyNwJ9SegU)W?n0sLPjAJ#wS\A@% nM't!ilCKLl2$$CyO`}Cq92m}XcUZXљWM $=q4 S#X9m!Yx$z{>$ *zK+^){p҅C%VϠgS& xlV:i/NC$fmlM,ОRE)|P 1<&GBz} @ML/ѿmO)\i c1$kk1Yⷀfvu$+`W=҉ z~! ~ӲKIETi*S.A !/g$%˄K (ҩؕ7XF4 d0E*b.i}/+-QE}12ludR&ֿwf~l6+epP|$Iv l[ $7hP&D~G:q+Qz[eBir7e[ŋ>u_%x4n:5 X{cP;eMQHY:="wKbL Hi($lI%da(޷OEAqI dyǗ&wWpU^2:!7asIh"فx/4 1cV"B$k$bQD[`2f%5h)ägSr6 *FEw4ɽ GHp}lt&1f]qKUo};Rf-]%$MJD^\=`Q}~u0= i@%':zئ})!)ef"b-wc}II׆za|$:  @EoRx0%jƛV"X>N^3sr0;ƩZY ~H43|[ӄh.XֳO;H ST" >@OP*Efa-:&]D3\ߦEZKJ2&(%!)^M>vn4A+. '-Q,?"B&ZI& |2FUlvދz$=V>O\<˖=JUA클=Iv*͟U쌖7 >)$m0 Bp, %/8L~| ?OiےR@2%=0'$N^!Ix (;$H?K=E/d/,  ƛ JʀBW{Ka-ِaBᜪ󆢫̀iIH0-mfHʌh[l2ֺV c^6Ce)x%x-zh CSj͵ₛ RY¾Ä Uovj@r &I2,bFШT$E C"q:܄^.xKeдO+5ޤcdyc⟔Nh 06:>a}ܪh1N3WIkp_ l7wa0gQAwJ_*VŢ-F>::QS!C6b!#*v㺇 4F1޵GSL~xp5찂h{B{[U-o7Ӛxf[aZ}J.͙_Gj bcnCYbhJ&Sgq6je/CV"a윘JPЎO(͐< L2xXjB|Arm*d>%O!{O"Nٝa3!1*mm)M O_Hb`R!cW*M} Y];%yOxJ3eb2_+ke=$nǮ y^N֗˸[|l@1NlTFsnБC;5ĪGH?d^ G_Gk~8AΐcE$h6*d݁ ׇ+v*c*PGJXSSu=~m0J8F -^6(wJ!({4[ỳFfH렑* ݁< ϡ2Г~tvYn*kZ77KQ#x?JK_CO^ًtCa+\"%7zZBzۈ{tO,Βn@$ocHqJ;%E!|,f-ǏpӘ(*N{}C%_C飻MS96F1L[qu~mGwq;}^yr,%iPʵI)N;XS7ٛډm*~iyx-h@_Fm];H[lV CYV }$GoTo-I)~Lp)<@Aoػsњ }"v Glq jE#?;~$eZ[V6 5ZKkKm}">>[oI_6͎?mÒ0RUY[(ʼEM,gAZ;}#)Jq_@=Eb$lId2rG^ӽ"8v /4=n8!k"9/U^Hey4 mp g K3 ?'ի3d`^#9d5 pMuvz'?(vXR 0.6cl!EDCeS@#"{2hH ZLynp5dű^K'O3:YÓBJjRiR6y\C[aQܓ_z}|~kOK/":+$o}Jio雼R\rYj}{'?Gj~䫨VDO `%)<+ftAU5A7M]H\\+hMڨG(Q(*B>Z.s^4¼0bx2b+]ԒddhH¾)RT#3gI/tW3xt{u,?o-zhϾb9%YTuɅ -#Q!]#Lg"MѐF,N~+eW_H5)SOJPNՃZ\9U $#5!PxO9^D_ |n!ϖ4RF/?%k夏3Lڠ`?vuTʆ xmks" u!yyi^훥tЁۉ$PI0ؒL RLM&N'U>>Vq_>6cdOl90w6e&).BrBfd$CU<)ປSN $t43|o]/?h|C017D)2N*B^EW PlR-I$%uE?G]AOkȹ@1kFZ_ Ş[1*&Ǽ|cCWw4ɵ@ˁ[^#y|'Cy+[|pҨֳ;0'&>| -eDzj\9_#߱ps;ZRD g;;6kuww)!:dˈ521Jw;Py >E2S4|F*uV 怵Z|>l;47%ؑxARAleSt07'K"EB,(P[1'_JlI0 Urgstyũʄˬ{)GRD>\)}3ksGPӀVX{@j~dˁd2=< ܘY9 2?fQHMh2Ӥ`)u_4Xnrm0ԝD"eʷ<. 4XYPa8 g3Z !>Vݱwd̖6-$8=;5XXҞg1{}'z,T#BcZocWixJhͯ.]Aw:S{ jv/u|%(j8b (q!EeYaف}á_4b ɿ1 A'Z.4e3Yє)5ȐRcgSqt!5juaɔEV>\bË#%t-A2d3|t"Kja{DZ@8/v92ТLNl+%h-(b(Cney\ǐ mwUdrg;dr '3<;,j̸,>'Lovc􀚦4'Ӧ}!J!T2)ZTXY\e0EGa<5TDOrUi:zrڳ,~_^3;4DMߐ̯ II#f&;&x>YƋ^?v{Y2}oҽNt|KGQ6%u!C^'$",VdO1Saѱvwv{>7oIIHжQVɬljS4~Fh'+ēnpqo~D;&#Ceʊ3t2gP,##[ [Q]Zツy*xE-dvڴqjnT>(-|z[&N3 /QCCU,QlcG#Gsoٴ zMFMdk'}#.|4;6reK+sT*OS!D>Ra z\YoAϱ0WxOk3 J4Nhdn(e>4N<?QE>',{+jeGޮbwЊ|t[lxr=2=&S~+ֿµU݄duoX;fqѻtBۀʻ;UF%[tS:뚗^Ѡ;cم~D;Ґ-l(͜:K}#BC$3=.OH}!`a|I~3վ'>D2owܴlp'NKez.;rbjþ.ZGMGB: ѽ.DMCMm_{H˕Nbï7z Ԉufl:[wキ o}yzx}ƶ ؓ9Kpy2Ǩwh>$)ֹƮ$'={nNA^;7o.)YHF=&=.%kk)@9sf}tSijW. pq0?H}d0:sWZ jC;h6ToٳpX*a~:?8n@-`nNLjb2uN)ԯVb1 (N`S_j=CUZ_S V9^_iьXd$zrI iR)+fdE5 G84n[uMf,e OQ}j ,s b\S~ןm9¼#y/t<׽x+R:6[ YwXkI)X(a9urdiIxEr }$NjT`0J]S^@3/~f! Q=[g8 [yuO.\8%$+=w{c1 ڞJF6;S,,h&x6gzK723|&6z|ݽS>Z"?C 3:ɢloɚ9NEM<_{^Aӯ@Bʜ{hZ3gf nQ'L=EGL*/\M/\+@Y93p~xc\ZFEUfuLmrZ9*cʖMx^'s+Tmx@ Qr׬x:Z$Gd)Ě@نSZ(WF3xճj']H l áK%֔ɛAQo֢@c?E#^6#:: k V8gQ g=YGJi;:W͛ƂاcQ{X H$VO*/'k :X<4՘emƷ%")FjKԱ5 ~%u<-;N|̛y}H Q^rf̜(KSA\>b]4fe 2<`+9焩V2rs<˖ҧSBP޹$kx'F#K0 2tt[;_` =BZ\H]Vc tJ: CO.]B;/7qױ(:XZ{qڐdӊΦ; &7BՃ eM2J+SB4p/3@쁭+te]fovNJB;9IS6LK+ppn~xtatx'N$lV: 6;-Gy G'MwYq+4|kBSD!^@GSLgX*M4mM&n#+lk I Ϋʏd q]FαrN`,Яiq/dnԊ5djٌfφ?wy. q` 4df@aV?XW25MNlMSE{$44mB4C +YJi.F L\͂㹽|g[(&?hq"̘(o[e9|oQG_xU%Ɗ(fWʇ@, pynE'$"I+|( |פv"Fm X  *9QBA^YP s?8$z,W#1fD)).x5#W.E\re"1BnZYz3nXNiS,sYҧMx $:J%PN=r\y.Ԇeܠ_ӎ1 3%Q? ;FYzݜ.4H N9F\)pfvИ{>9 ,g> ={o9BA T^+oQZ 'evZ\iTk: huQIFWźl\~H Qu,-ʹe7oI?)Kw-v?9^@BOaUQg{GiYnXg,vہ7c[^ إܼ~s/dO<zWӇ1zn.uv.u3ki -67|;UJ?u% s+%xGӰji#`Ϧ~4)OC\1L&R|q]`J؂Bty2-׋/8BJ<ŽR `k/ T?\%$da.?[S;ccxf)Z(1 ^B eJaHj :$"?x ;SK;W3/99v.~hT<(>S*EEZ=-UڱM"=ljjmDɷY z)w]ql:42R ҵ׵dk%QN K|1ݰII @ YJR{vP4m!AE]^YRܪI(8ǓtNP %a,.Bf {*S.}ǿP2u+N{p6@@Ll , 36t*l;?$(j|#tl9DԪ- 6##\"\@ d7 mj}l+S/~ڇJ^(}5.x0B`z[5WU%8;4~e(ZRz* z{v[ ;<~p|Dy_\ +iUz ie0uC$5_Tz=b~/@\ qv8 NUulЉm.6JWcb+ :$ؙqk^KzD`0iH1c5/MWʫK t+fuo-7L!oϫ>m?Pm;R)eטh]h8C^mQtOh%gdf92F>Bg)2UYƳ_bPy׆KYLO,12gͭ'y^@ ֚/ $Tk>|xaMb rڌoIȋKFe Nқnyx#; Lo/(Noo/l»\ɂh'pA6ڋl7\ ܶZَЏ0^ĶYYƭ{E5`YFR:%v_C2/PNh yB)Wo: )ߣe<|=e'XP'\:Zd[?lgtB}-rOdl#b؃eۮ ځQD;6_xI~ 1PQ涡aRbؠN3Cuî ~l{+4 T o+/d)AdROK%tZ@N2{' 뒝^LNx^ۘQr1rnUWEEN`=M}= L| |j#nh~ %S{ gspM ;.&" aZ h|/FDjB&OaWV =Nwo r$wM^#SΖCF,~R5,_><ηvW>CCF'M|0g,XsIBg]'j~M ֓d9KS Ahfr ql(zqF9+qJGu:%{oA>\(A1l^&<=٭_;qZn7NU!I D=Pj1!+$5e#86@[Y3-lA<n]GܦĒ;^}ᐅzb@"叹|2!σ1 ygr62:4ci?5^*S ͬz^Q?DzI>~37:)ltXw]9/6 3(;+O#d<) ҎS[FoM06Ծ@X\$ܔF>ׯhfIKd@,ݻ O.HhZV"HEnE$t\e(}! ,H _tTVʎ܎)be[W_nGE?X,\h<%5煦f1n [ _Asq,Q'U _0i1'ff ŕ7et^oC YW)*k "w%K|s\o50a͔adܱY Ү;w##]N+cI*d&NCtuLh -DT!TY)KzxhRryg7oZuPvjfPҕC@!~ݍ7oqՃד¶? ig B%}G$8bi?,T*C^98Tlk=n Is@w,.U*#zֳ^9llʃC?"HW(K:oT9ؐh6EZXA!~- d:Fmd ݃;<#i,zi~ L+gQ$̶#? <+[\ Cڡv=_13EiK5k1k=Nq`UJ1~UAuѕ+JBDѲ$8Od=% KнSQ[>e~nn@C8v(ށvw5EFJ_}|ݩWx 4$i~cZўvҐO YgP]]ne=b" O(}r\|TCpI{e\~sp{ Z;4 ,s| , u5ʶv~]õ+zŮsl"z#Lu =*ڸAVd0 o+ m'Vvb\s ]scFOV |L7@i:wPkH.qi8(?G[Ġ E>KIjzH^f~jӄFG}Ӹu9߼i}I N0I8ưnc. }KNYu^9@g[LFҭLm^, ILeռrnA6)Z7wb&C @ 0~l!Ie҂'ѬևAhkCccKO;Ҧc <.ϖMPv0j8TTIޓ1k(pqk7V4dl pZ`L3a;CTM[Ph}F,哯W$g )`%ڌd+F3ѦӺ1wDs!f쯚>j7-s'qļ2E[.z'ZMERu&B']FK7 gaO` Ja_&c^Җ/ &_@lȞzdPEs /] ӱ>Rd*1ާ.5.|˩a,>_5‘IpVz=C!$'&!Qb?<{m,>yW3~U(Kt8<_g&gӨʫfmEqjW\K([_wkl{!_Ý[?y,$Iqܸ8D*ӓKLo9ZNKANҀDL^F3|8<=ȕ,.(U$7H!֋b)6jf~|rQh^C Nj&3GB7Ɏ\hCfV2UqvDzw}`o D(Fw%x){vޜ咛i6j#hIKbf]]G8;8V6L򖘎!>z5g<)>/l7 ;&p)}{;V]n99v6+lw-3YY0\sr|=Fwz:1 F't q@iQ }~(;sXrk펁+{m!1W>E#bsgҋ?Lt-QBhi2YB2J="KIB< $/l7ʳ%WvP"%PA{J* Ka}ކkty|tJRH[N I ԰6%-*b,ܶK3[/6-Yy|Z;N+{.ZIկ֓|lmzo~'ol&)ʝ7&Lg($A|I4ZoPJ޽ B_AySoJ]g&>$IBkX)Y:E*lr3jn;r>lLMFk!W:s\y? 9笍t?! |<N4K;ʩ);5T/6Kl6ő]5WMAs~64&@%;aZ~ wmlKX]}kop\(F*vU`K̕ C2Եѻ@tV`P}qj߯\F~ï{ tŐv2y fD7 dK~_hQԂ0 $Q3yxfrxUR jP2A!7bQtV|4&o:-l(t|^"㫄)ZcmCi𣡱{axCΡqclwkxD}!=uih`* $03(°&ֹc6 Emi; JyaH ;_tp.{kv؟&Ebl!٣6@"GÞRncQzF%LJ*Ȭhʸc +i${jd~v1NV٫(7}G(_*ٛ+ROL~?42ɿN'g8n7Bgicɞ]}…_$v7_|-vïea(c}yLaJbFV*xvF>gmDQƧFdX|#_Nka(vȫT&1+ ڕuxCbratOJ~NR5Kⳗ OMP<߰j@f r#./4~R[)ԯa;X4x婧ZKMIGkzS$L2z9j* dǻKQzJvԊvVnzF&xpϴwCF d&v\m#\Pz] ,4Oc/qeV`EgEHIyn<+*-IMe3G,#4f0lphyK2jD5˕ud\PsPF4CCPvvQXH>2zuw2 ɓQ bqP!_vڏ)'gisW! 8Q_J񻮡7 ޡJw(!6RU7qeNn~J=b]xZNCENZ?8 }LDGy!jgqCl^ihz 7@GuR[(Q lբ yÁjA}05N2d)}o5;~jDPaL"D8MLyIBZ U-Q Hlŝc;8H )VozSꄿpWS c4`i ,9<o+ي29Qpg0ao 'Y&n)Pȕ+MV&.Ҍ?=nѝB|8Obr3s(ėr#JlwPSY/ ݱKWҹx4~M; T,cZ[+%j,ZHbXX bjƉA)S(C AYsZ2AwΗƲMd#Ѹ!TB-L7fTÚhXLCsBiil3S\m+jPGw, I޸_?7,7AQ2z$)[DU@~{c1]~ehYrW$JKb!H"v[p|/` naD{v9"$qQ8 \b|;ZY=5Y/T3~t{^In"pcg}.r(Q`< =/C< *1{$.'=$ ! b R{' ^PȍohP{gǮ9PAi Xaډ>c?1qģ*}% Oϥ'UZRJf~ߦr<P$uOXi`{Rvh@A|mCtMՉWL#~W9M4/ A*< N ?$' EkPp&hc}@;~u_ॣA>nL/a5:0C!u:I(}$<ydͣ $<"WiRQ!^82Qڈ!$30p͈lJ{|D\kL̦bç423Օs+ՙ Xc-q1 PA !5b&dh X:ECzWцx'JZ 3bL1ZpGc@kz0IhP;'I=`R ;5# l4h;C{Qɳb)`,R^3W ̸GUKp]&BMUַK ,u3 q1%^iLgSF&7%Q("@ yผy]Z(Ң_ioեTÉVSwNzKgY:_h q{an1TsmBv&- ?@ = ,D](nhy!G}1~^g؈ ݖTtZy\qk>|6b"=CܾS70n^0gpDk57Mn؄[ ,\>πzTۿŽZt]Q?G8Ӯ&> ]MsyCIqDJ7׿|!>ȥ&/Åy=k++0wAbw8h% (! `d~S#W۲o|PSM|($*'bH2JPk FIhJMsk-f/ExRVbjrEMKW)-э[# H:˶/LJ>y AOPsL|<{O$ў͜WVnP _dMIe( '$wh Oq܎]ً=YGaF3 GF!Qmmd=Ҟ Hv&{ 95y0;-aaCի8dR "';ن$\و u 9d4rN<$/qJAVHy7Vٖ$n?N^3 ~/Xr^^plC{ˆ6} f/}q[O_Nunn߅=T?{=@e)}u!ڠ s.TdD;g/䳘 (.TEe: r]&N\jBmb; *g&3PlcڮLL Pd^`T!$Kn&LY\!\<io2ZA?7ApTE\nK$i@Rz:tN%UT)z~}k9R]z}YL*|Gy V?nP ?K]j2,ǩ<=? `,<5Gdn;:\/lϫ>_ph^sD^k1r62iS/&5Lm#؟k tE@l,, 1#Bj  Hj!~*L 7a?j*A_Gx;"@UQ70 )P#ol_gxw%LѠB"#Leʶw;-M?޲m((*w[:T4(D&l>#("!< (P}P'*H>,#!An$PPaz[Îk4$6BP*[MPtͦuke+n('@S8qXW kBJ)e7s\ ;ڥ2H\@N©p/Ɂ$`Y ]?NP˴3WÔwpI],>{uyvʹg ߚ2e~Wwxe`,++CJ?IξT#M'Y痗/P덁z;|-]j3˼zyHG?}H4RW y { dyhwF[jcohy#}'^d؂KE ŕr,2!^CW6BR aPD r2yj]|Vl]5T՘JJU\A0$=%$A;=ErVtpUIlڈRksmz?ׇݙeeg(X;t>ԍn(2P)#@J5+IO]Y)}*[p xlIELLm߈W 5s[!$ɵHl2?-0"rb /|:2;"#0qr9N~Ds҃z4#$`8?j_#I״CD(\Q]܆»J4XZFY$7{㙀b.P{]]nԈx޸|!f:V\} Wa4JDdVU@ti:+R{+Y@?! b@43H7beB]X4UW~ɽu ř 7}ZnqR9OH}3f~xQK-d!2!1N'k^qD&~p΍wÄAPHc`;qM'F%͟Ӯ gBg-])f "x.\wD;Eb~ ơ)")eEDiL\\3yd$ÓT%9hpxu>|-,ijivjfLmU絸(AF̯ĵXCe4M#S-Iמy) êFID?)<&c] %N !>s0!wă6Cd1?&`d^? jBP\N;&Bl(U r [ǷE@5 r̆xDKiℴQDxvI8Tfp~Ҁc1Ř7e4]m$K,b)Pu-dL6zFSXD*} @+PD8mIkLa(ź3uEڝNhݒ1q|kn^1&kj4Djm2R OuʢH3H$&xWmcۊtcqt',6Y7 ~"immmr.Gѹ$nCzBMդKI}?DPF,B[V:NJi)W#owwowwS.)HfWRE' Stxu7n8a\A7 bv ľ CF!Tc no!;Z? ` /"jTۚT{ d1M :)-_ƻSvfJ^vJ2i(={~JZgw J?=͑`6LY41m2_*NI@ VJOU!624mpK{=پ1Teq2fq;RyމVl^fr_˵0,M Fm;Vu9iy1Ɛ4tG_xU@c-L>hYoj_8`L0T 2DDDhqI8UGF4隋Ws|֗$w0I ~(/CcԒ?pNc A( zOgx=P$$rm7vmCa(qnᰈ?"Sx oY?)-T/$P ۲2ƽ/SAks4nC&VWI&ԷD&I,[7R;\ <,ze xǫK_ܲ:="xǒ-_"6MF'܆!(mNK_/SΫvb3̋rx= $mVYzy䱠e$cF\rM >!ŋPKeM0DSd"ݎU<  dE?d9[~-_8>?#H\Β9Ięg5X@ta֌4%9&Ŷ66I0 @uL[հ bZJ`-E`Y1  G4ˎӻmGunܽ$϶jlU8}s\ڐrH}kwOS$-$L ]u*DA%$3bˏ/15Ti}=*" f DM3P*2z9M`bnk/?;<:. 1OjĻ 7M #z8foƣ-d˻ ):v\(3H")b< Ƌe C<?45 ۇN5+[T] %yP9f4@=򈃞ڛZZTT<4TL IpNf,,mvVs6>\RꪊJ0RJs|Z g3UH UC#$C3ω@2'r(ԁJ< V,j"&0$F4fb5WaKI'tZ5vQg(E!$(pEq 2wG #+xOar% Lo$1Q<9ϖϙE[Hlˮ%wwI8})T|Oj%٥N|ևپSMe֨ZCXt[%M^aTiMcħr3I>Y-+j<I6jٶGB@/d8 x5rศ+oWtr;5QD @M1F~hlPjD_.i4*mS m˫.8 ܋M3F[Ԕ-eP)Z h} ^4^9@\-ɒ &H&xaO-~ >׻KgT:)ˁ_%OʱxevmgEuӂ]TbP)ڵ"D?bX',IAf:٥6Q9|p2!GpR`Jf+OMȦ^תw\ " MU%ƲJJ~צ+O _tA)R`畤Q/vC\n{ج| 8jd$(!*l:iik>Њ :+]l)E-lLE9 gI}Q57UW^:Ͳ$)OPOr''pF1L4m|4# .AXq-#P˕& Az5Y,7$"mzzF*DM 8e:9ω,d;7CD&Ų c,9;ΫUEQ5M欣Aut%2 [QmkP 5*:{>=,.`g }"^c^]Y!oe\뼤7ױq9 <)NRLfE{<^.տOäOX%oira@QL(DChnE6.6m!k0$P8w7}N.8*P@ hs}'|pQBH:Zq8&Ξ`8ڥ%z{`?`x'S2+"9₈4/DDLbto;JȎx <-:l5 nftni^Qeˎ+sW\zNNg.lt%[>֏,4&߹ õt1RA;О@yݼ7. AB u / k07TP(8F$av_OxN (Ȩ87~^O][([Đ!kn78Tp$1o8ġvWΗQ`<}8a֩UVz;RgC& 5PT\p>'Xt hwa<7EPAST"RԮٵJ9L}[ +I$H+gVs\^, MN4+Ouzz7Q~_[}*W5Xr  ĂTrjwYwJȦbm3x.k sZV C=倰/R==٭FSPsP>P2Y8[st*LNH:鹭My_iko$Sǘkс"lxlm;#hӧDNX4L̘iU+'({7p-u[gB}.!rX4>19a$V\L/ ݒ4n'8%5 <2Y[]Fm*5Q'OM^ڱc5y^λ~絴\vt7U2[DC-f&/x p H)W,oEŰ!m '?2Cz񁍋ϱV TmEPpFضƳ!4g~k9x.Z{k@sq,(J7>BRgId'b9X9p7ȔL1qsT1;5/!'Iљ4z8 ]x/q>ssd䀱c`x|n{ mC;^? 6bhsrMT\ThNhȒIOEP #Ph.J;&zg5uj3~RǫUNiѡ\.(#4=yY;~K7!|(LQb,@BJFA%JIr{X|a xc`d``k|efbkn_bja<r0xc`d``<S/30EYCxVQ0 +ťPJB0clYWN&KvWrFti}5-=Z}whWS϶5?7bOGybkl:'2C4Ŀb@'fzcN{^K^-ևJzjSgrb3u]=88iY-pooycȉފRCs?yŮwU0|g\O{{M<t4X?lP]˅c5;z3j3'l.Zn~KE 1,ܟv^8|y03"dzhoүpO-,_\$Qd?ݥ/䵾Mqs臤}?NZf ~2h.pH~"H ( N r X  : ` & h " h X$h4d$j4$0ZtBDJ,$\"ZT4~ 0 Z !L!b!""r""#$4$$%%t&&~&&'p(()&))*Z*+H++,l,----. .6.P.j.../ /:/T/0000181122>2d23034|5556<667D7868899:&:^::;;b;;;<>>? ?T?@@j@A A8ABBFBC CLCE8EbEEF6FvFG*GGHPHHI,IJJpJKJKKL0LLMjMMNjNOOlOP.PnPQ,QRQRRvRRS&SxSTTXTTUHUUV"V`VVWWnWXTXYYPYYZ&ZZ[&[b[\.\z\]0]^^P^_ _~_``f``aab,bbcNcxd6eetą* \ƈFf(Z̉"R$hʍ6^:TL(t:h.l vꖊ4ޚBț R,b@@Ҡ ^"@~¢dڣtJ8ئ,&fΨ:DNj0xƬ4`Ntȱb|д&ҵ`2ƷJ"2x,"~ȼN \>ðLtLZx&R~DȖrhʢF2̤^͒Jβ:϶"fjh ӠXԤTլR4t׺2؎8rٺ.ڞv>~0ݼ(ހߤRDp>Jv~2~> v H~dp4v L4t&xc`d``:A  9xJ@lRR!-lꪛv[(d)gҦ$ -}Sڵ7-E03=sa8 _M.+ p Lk8ǽpH8#' W-< +\Yoet.\AWPp 7*S Ė[Hfri űLN:"7ұNV/hlY듟rCCIjznIEw&1,lqNpy A?~RvE_rORfG SvkV3xͰ=V-|3b:dk$ٚ9VEW>:r0|+*k:n187- $ p;w]p7}p?<C0<c8<OS4|> </ "| _ &| ߁!~ ? % ~ # ' p "%,cX:638s8Kq.pu\ĵpm\u>nF17M 7-pKlV5nv=;p'w]q7ߌo='{>/x oÃ<÷;p<߉wxx'xF-. 졋}WbƘ#\'{>|?4<3,<s<</ "/K! /G «?ÏMx3ނOx~ ?x'ޅw=x/އ >#(>$>Og >/ ~?_/*~ o.~?) _-?+ /QT2UJ5S4C4G󴔖rZV5hMZ֦uh]Z^G!mDiڔ@isڂmE[6-mG#viڕvڃJ{^7C~?@A6:C0z;#.z7IGt KtH'Am2"AM'| h%QL hH 4Ut2K)t*}N :΢:Σ.>Hr0}+*k:n18D7- $Jѧt;Aw]t7C}t?=@C0=Bc8=AOS4}>Kг=O/ЋL,i(j}7&Z%ZDqp2]Zb65eΨ+:ӵ":"v)66"tLkEu+Zl5ExpeI[݆޴Evtʢz2%A-C/=T5*'AMՌ0-Í[iW[eCʪ\*sLl~'!EVE6Ew N0Z>+.ԺRsl~MTޢ27&$HM%h~gLr l"ۛqL/6TpnP-W) R>fLUn)WE$H 'ڄTRhg`P`#~e 7c+1GoM,oY"2C'߫ 7dQoogfpmߊL6daj,%K52 SR{ĭE[t[R,67xxݸQ'q1 39Kea k &5DDQ%=GC-r &\.WDambʧO[>}:eb(*v”%єC2%AEs ēUR7E!05ńQհ-G!^#"5h)I(%ע"s|l?C3S~X)Y3G MyskCZ/0^io+!\oB%Z\A{_lSv-i#G̒'mS5"#;e草l3[[mS"\ʩ% xx7شK̚[yfeiQMzb EQLڼUo2ˈ  0:uϽXrct=̨{YQ|C Qq^;wheU9e+*VaV٭XI-`A~_Qf< Xtli'td0d<1Ӌ{cU,LyS:*c5(U 攥2Js J?ךӖt9esxnYb FVuP sXmtZxpEZ!JqX@gK5M$P9 5s w.Tɠ~ IwAT AO`ut2j99ԥdpC? v#%wPH{",H W yXe o9*O#IXLbVbrҐm$2$LXC74[C5rl+(ikRb44F(a%EWxgy%yڰ1L<:QQ_\,65S&ݮJ-Ⲧԣq*&'XƂS/̹ oDeB>ZbۼXî(Kc{>ܧv2E۔ANӲ!=_;o>/1NHsBZDӰһL`h 2Y>)2R~Wa3 rߜ& _{|"se#uQT"ZTZ,%H\S Q%kPQMTxH 0irXK N<*%l$pIÒ>F%ica?Kpߪ:nV(z%,K`EAd6Hcy?fdLK*# >L4b`anQ^ Y+.G,kOv-rSMvVPcVT4ԛch حLˊȈȈȈ+jbSzc+⪫ 4ծ׼-Ȋrv+ 3{S=K"kb|OY X7B%*7љUIenDdn_fovX~ i=9sAYYQJ4+~G3Ocx}Di%*_΃?vƝ{ls dr!k%sy'$!D >ZRPڙ< /_hD4)798 5 {YQy x}%XZ%](&![Ǣa,XFnlF #rJE( P*Qo榟-1xԉ7Po>%nsUh (!G#L PrS,ǔ?@DtV/'oJ%4Ȗ!Ѱçt!0`L $F#c?,S2?< (~.}kK׀? I&.C !|6*)܌"}Xw@HDPV>Ȓ"")X0wwKoxꋴ j*O~-jתn.1gD u70`̑/K׵O )1ݭunT@QY {.]iNY4JɝsܯVOhp\GϦ_  Ǵ18nw*[^MުT !3}yGa'χK}yY"Z-iUW(1AZFM2ͤ}_l` s)&Mu)A:ƥ ˒v. L;GEcZDg)씝@r IԬ}={ox1Ӏ"a 'dݚO_@:)7M`ee$T=kmiCKQ?!ʾʔf[,\\ D @$h)KPQϻ !$(!~1,]uW6UW4׷+YɆVq DZ, d=6LJ3靍u:c+mG3=F3 ) D H-H3C4Ww:=9'Iv .?. ? _'Ne:=tWA{KH n_=U[QDDǽdP Aՠg~3vy%4BR`:2 GB5E Lf&1GOYR8Vbjdж7z}~T֊c1VB}lc7\+YDh8jOtN AV$ } @.6f~ W, G@*,} ]^k|]^*I hpDN3fM_} fi 0LBTgK61;of8Dd4L\dhYN`bvbs!OPQeSlJhj뙹(hٸ=y_`1%ۤjjAjVnQ6i֢mm>B%82ObK+YŊ߫E/OFƼЍ=7hTgVǗ^nWZ#$ 0A6:j֮{վO*ua3 A`8+5ػ)TaoHcriCr'O\U"GuU_m9CwoV[nAM7|-vwu=v{W6i>o;mxM7;Î@aI `H`I-H?2z i`"8ظ \ x)j@pŅF ;J16CFrI&cPP?tPޅz#ЈMa3zhF7lt>>Ao\#zX@` 1:\gV*֒^X86a6 ؂a+΄m8 ->v nrɰ+a:B`xN8^8N4py.p/x\"ptRWFm|.AW=t%ܟ{Q$ 1 <&k ^% Wdo(=oЋl$>lO 'w4. q"} p  PrF'A QPo@6H,]`8`Z`9BUJA!+n 6o 2:tۺ@ހ@똰-jr #CK_@$k(zttK^C&DyI$B0JHc4Kd!"r`f"iEBl:B#(6r`.=mˮCnŒS ,cðb n : ΅]6!o^z"~+ 28'pM! 8N=qpi*Y9*y*ew.h <0JoCq&#crP c{9l/dۄ[%-7lc=, ?Db3S W&7wO/UߡG(?0|?/S$>BQxk)8:.gS*CR_tALꇶhkPZK(Bh2™(j2Ei$ZAD&QLcf84ƣ4ͣh 4&4ͤ)h5 4MihMGiC3Xl4b5c2'x#BC-&Bh zm@ә8ڂ t.z<9gt-XN(OԆ㸛iLJY+a:2vYӇg }M;I0@'KB_&W8ЗA'Mӯ~UQ[E-6A QƄL= $ G;;DDDp_b#ߐ8DjSa5S+J/FjR&J2ɢ ɦWvл'>4&$Ì`bn3da+e"LNH9$Lƫ|T+T?jA@j1SA1 ZJ%e*4QeES;fJɊlޖYG2PZdzs~C/ d>=,2^Yӻ'~YBYF?sYA? 銺;AWkH(Ip~+Tɗsb~4ՃQRoz\X]h(s-PȻxުU:[ (V[l(T+fkR_jtlCi9Kt-0T4\IkNV\fo9Q^ L'vl_| Ls'%OqDyV\!aO޲N9hSMmR&€[Kiriƹ_8eMpDjkX8s|.+L~qbҨdtHDvmXO&8 > eڐHg7k8%$-BǐD&(irPsSЀܣFX kTeY!ƍkkC  4vdRI5nS곌ę͢<ڼ(GM" .q$-\h]hǚoH$$d3ېAsYl36troHdyr`a42ͅZSN qTFe%" ~!z9O:>4?g7d|ЊM' PeG pQ1B1w.LUE*J'T,RNv& ̙U$ՒR/;c#eQ*XhaJ&ˋ 9Kj(_ۈq +=LirQSbVhH@F@7ɮkڪmGyp:Mі#Fr6}nt sИapS%:i %1+ nw<4#r]>E-.)Yb1)yZe}|hg5@U~O(T4bG"(ԽP5%~UU]!@'M˵@/q|Ў}"MOVi=YDAd(Y"͊S ѫ$yz'Q:J(>'@' AꜳXSbl`0FG==LS8&RM0pY2^&p3ܾqmY!yS.> ob7kDPHI:9)n^k\e ]q$-F$tF{Vh?d k/D_)TN<_N@r!:.E5dP}Eu@>sP~?r:=9riJ-(%sDƨʗzو5KVuti#p&G՘ ds*&5YDGZmqafȤIgb)"Ryp Zv{@|t(-z>t*ʜlHj suCPc'2{TבR1'"Skccऑ6z(,=T)K!vk[_PoWj檞TSln2ZoV˿lIdb[+I8bhK$]X sP|oUH]jS3A;2 EVڐQqj"$*W(2 JЕ-|Q%(Q'tfpuOQQwC z$1Cq$97_T;,۶*D[ 9uO:"/7Ģ`w.:n^v{ͷ3睂za^Zԣ]EH̊;>7*mz[!>~B+G:^̇P d ba!B*qE&E)'ҩP\צN$/v 8иzܫEiu;ZS&X \IrL%%AS9*=dnC q I60ӀY!%ZXZ4P-(!oG ,F_q~*J~&"JLILvl< a?JV[8V7+qR׺4 <H@Oެ5@;bnJ%n2ڛ-S=G$ݸwL`dCTG"e*UZ 6fXga$)I݅9G#j4{6ѩGUдCRʗKhfq/dc9]SֹVOTI/oLq !e4R=o 7£qꆶiS|q.p6^S4r6Fr2;ŚC o[L_} qtSGVZ]C*SF] ax+Gō}._8|F6O~LwH%qhN~DɓT\GA rk 8QrZSF(R=I왋 hi}\z$zG&@\f>}mNAI?%.UL?+BJ w/zH0 7k2C:\> ~s~ʗ3PjA]%xMw09\x`Sں.l;7ʏcxԠN d2kY7$XJoT# ,e4SRQWBrU\M49ohc$B6qì%4n#U*_nlG9h-R\Grj~&;lyrWNg<G$ZV1\.YQ!x&.*Y"mϒ(һ"DCTjBGL&$tVFObQuA=#w%iWhvTwUבuu69q mpe?koUrr-Zu)hVt`܁^d%f2ޗUy0^ג"0 [뺁Az 4rJ$sf@{ql8‚xC77eo0#|7g='CÊX%1-G.i:7 6=ǂy|h`YwٿIѴ70>Kzk Vr- 葅gtr::umRRNt)G(bf1+!%('_)2V.The2qq;U`O7`UKaܦ'|'z¸AnVX8JRNWpugA;*M֬P<8\ȐWB[n+fu!'N$ŶuD}.v/z/t=_ƃc<]37b%RRsQ6"1kCs.t 3,yd"U2-R{`}KwԆR?6޿=x=cJD?Yvp'IC.cH ʝm#@EEPUǞJgsB RdpQ%vP@쐁 %%BĠ/3=)? SJ0KK?M{CZnocŖS.IU=ŵǖWpi،8O6G_6=Yۇ>H26DILѝzTGhQ#q&pԗk6 T<F[FOv3]X$лكgIm uxqPnCaG"j$'k? @)R\D<{ d>I4 JTK}判&ZWhI o.Jwj,%_r,Д޸5xi 0Q3YӜ+2rrnAݽ-u2hnKڝK?>9?WXv^ P.S+mHܫզ"u9̰:p E r0NiVSԕ*k6=`cjH+NM>q}86%a"!dZv\3HoIp ͡XC'H?+a=Rbo1b Y^ W#TS_^bx37V[,./ϬMRyz^yBf 'mx@ N+ ^ ߵS"rD}6p`3,es>;?emv"JEv3W ƶ6;:>Q>;=X '7ύJ0O:{˙ ;u7;Uh+,)-"giD`W P NOs{c!G J֨P4=̵?C26؀5)"l2;٪i̶ѮҬ' ;/!uFbzw28*(hĢnjB#K7ߢ6A2;?k}J_(H[LbV `qϪwv%4,PVim|SU5}cV+WEr:5v4?y%w}N0Q\a{<Ԟ'ckx\̲U uE{Q%ܭ^PUDүU81qg?}?֙!7W:ӄ{Wf̕K5AoE}Ͱ!M)_ckp멐ԥ FB2: 8 Sf0 8io2L%jdz@ֈ#n"=Wki!0eMv1l b!~!&:QCR'MlIn4Z6A5Kf; ii<EfHH'5T)JGs^d&IMc LnZ*og 2Zkv0N@,,8Th:P?C9!r3T#h>V2qwdۘLT:j>p2+;f1h,S@]30՗꩸娷OBR,luFh/-J8+TB=r]Ѵ@o W+6k- mvhf(&,V4&7l#\WT*Hfqͥ'Q@v;mSSެz Lg.CWYl]딗Ȯ$"Wg64]1{\oo)B1"ol*)^FGZ3v3d4QcyID*zzߤ(X CPWϩ@)- FD&z0J85L-()ª67Uu 0_idpCsre l!1Z}UOı='N~|!jrkT RAAFM\I%(lE([jg˕!1e+7S \ё $rT A䣎Y&1"J '.-z Wxf_omGvI(5Ccap'7z;k(mQ\%"Q΄; QJhxEQ!kGpD}xlK .4rW#5)#N(Pu횗myx;nϥ)ϗyMN5jj5{(ah#=䮑w q61'ć{ַze"s5fKgp Yv`Ngivb@Y% AYD4 qfͷQON̶ ̒1UCY?\ \0EEFUV`ׇUlrtYYey5IF܎bZ]R쬹2p"NVO@%YCӂj.!=\6k_:Չ8)vdm.QPTA2I]HۃFj>&b-O/@B;FјRrt]xECt ^wZfMA/DE| bX􄴮Ҥ ;lOs$ *qviLP`UiLkLk6L gfRNWGFyP\?+,7ڊkKt>>wBp8jX< ݪlb-crr S4%hv*YMfibϩ鐂iqc^=k}ͮ 1-sgG_ȄȬA/T|oN(*n(%lДDSرHP:#( h ?ӎVqB}Sx0O_l8 gce'[]oEЍT~,(mJGGOxFq;Q >*]gz~sbL36Zʼn=Xdc=%AƚꟅ˰>5^Q"a9z9h"Jϡk)% ,xE$>:/Y7814#ؔz NI1 ?*0ɥ)T]=:($ 5:,@Ɲ  V \$Jo|p8FM_{wկHQCQ̕ f=+vfa`n,kXKU;sY% 7߶x #neW`Ilx(|c5oa=d]^sG > 0H0nc*OmV)Q丸*=?4v~ckK8T4SvA5G7Hj7;dAYj vbDiNA Smk!gp׊`Υ%|LO =xe},]B]A?B"-''nNKEJin#S ѯ˲ƶX +oǩh䛂a~f?Ҽ/8.d{愧K1|?>ٍ;m0ҐBUOe_j]} & Z Cʼn;|K.,!*E8Iz.jª'1 awm)+H-̀ 19Dpl0lxO͵UbHs4%&d=^7l8qQ"x ۍBϪ{4:?j6)>F1AY]NcWDet}5+ L:\[UfL9Jls)P(>R˝@&Qb_X/^0 b'.31$NhMʊH)QR#:iқEh.B1ԣ-26Bnpq7xmYA/ `3bPCa:9F8.X~VTz ^ta}iG]s~}9)SjܞT1" !gvv} 32ҁ8X&aRE#+dwƆ~8B]1bs3hiPM̥U8evy[ Eݰlb iMy( ?ɖ6/T Ao$ r>ʮj2fA" 4QMHq;Oy|Mbk~^0H3)8n:ͥeMBH yK/KCn 9?2ׯ,+2+,\:S,|jk.8T-j慕E=Ԥ&󞸯`^tj-TX#\ýe ӦAk4 z+EnD9u+GAkU 2Cv[xQp!m rq,=}vt'4aSJF#f~r`Ɔna}Ȳ#,yІ6PzSOL8#AM⛕\c6Kpa#q^6og6^|"#!C `0H*t;8p {^Mm ;gוa̜g6\+zίoWww|9nj ,n)Nʪ>~t~Õ ǝ-`*՘*E.u4UTcfyx{Kb@ lxO8#ɶ|msߤ;'TsѬc)Uc?o" G T'ą%J)Jrܲp(a/dd/z$4 `7ҝUkwy)5]xVz0/%u'[pEO4wcPk~Ij_rҠ xe(kFRj=S7N4,#T=o5Y=*Qk{x߭b!PĂWeFF@6%)x+2# K B%cYB%yc+ fg)xg`W!Ass\: 24VᏢ-}U&]yB6/-5kY)U.i4%CM xrbL*䵫(&(LMb== ˕۠h@o_# L m Pq:!z 8) ai-IC0jaĜvRx8k@]|D-,T|ݡޑʖ.jJUJ/cyeku"CYit㪾>B^Kl$xRRa_'oewG2sor)Mua2]z;Bd3qo!j\;xp՗SA/BnZ,Y? ˢuPb?`=on?Oo@_}hx6zd %@oՈ^8*ٷK+n,ߪ0_\WFâc*1H.jtBܞg-7ngC͊pbv?.ßk^fk&>Klxn_\}r33sE\jA3jqt-9K2a%yWU()9 VW>lr[{pme}o+cOuAֶϟqP[JG>WO0J/ځϦٱ+$Dxv0J:9CPs3Q"ۧ\Cr'w;1pwAR~0aR3ih-c#I{,nh^ݩ_irˡ|W3Bd1]þi^WHKȚ|jaUn6yrhfPȰoثpj.2y=WH c'􌥔5h7k.EzDTƺ쪹PĀQ@C9I2,sBvCH+s-J }_E4)VM${M3B0gBcB6bK/Js<)XQ!jV/&,ŗɳo0ryKl D&ketHRPK:l. B45c1)t^]ɝ4HRNϵ9fŔT|x⡠9^r 9_>$*EM &. =ȱ$Y+0=E\k}*qIAv^=bVaI$n>nYo 7_e@R p)n-u6!mmwկ峂\ m5jx,ɡ/[[gU xZkc]b=xs@p lJ!OBZc5m7@>9'$ G'95-LFef]^t^0DL,.22dS"]Ni"M#s}1hbCjkc$!D27Frv ہr" ohbk*@L6{a_-6EDXLP : 0$E?)gBNlːZYG|%h+BePb\ZD\^Fu$VʪL >ugKp@L)ԦtQ8(:aO9Rh6}a_xj%ϝguzU1`dӂT(0]seE°z:g촢m@]aƌh,-bfk YZO 6 ^>Hv5׮(B#riPތС^k{-l*凌h;ɥ5s]ajZ6V׳q$In@}t_NyZ?fۏ zja8>t|>Ǜ +A*Ҧ{qxc?Upz^+͒!TWB6`J)K}C`_=H~8 5{.J6:ңm5aS5zml7X[vsrԽ'}ˮlq{}maqMIqXt<8caѤMn"+yMs0^ lt`bń2(jI^&B1ԌdО62k0>답˾@َܨ~ˮ@5njoΛ@C]K_A~k2!] Zc]Mb:pc Dbg.a*]\3!H  X2|v,LN5Tl}?qrCϟ<ϟ\u9\"|}-K(oSXǚv@Y:mv7IGbPr"yM*Zɢ@rB-"Vs* ָn:۵~5t YLFB)y)`jXϊ?$HThƥ?r$cI(al K() H;48M|&?}D3uW9TAPl1FumIHÎsҿ&f ׮PbxN'V`煗@S,(0՗$޷[\Z Y[T[Å7MR $XD+zG͉Wy̼ɕFLy& S HlV!5]t\SC+u#jB!6>3$f03z2P1:Ngx8 }Q J"1 ~l>@0p3x! "(HgN3*=b8ml,`SqNi ^IG~l*8Py$ D@Z:)vﳏAXC]j|}אn,wY\emYҰݺ K ,9[ 0fW{ζ!>Ci.cٸ=ns#:/忑X - tL4yX_~]S\`y=_&%i3y ]9x&ʔ˚XC"y׭ܲNjyܢQyT)Cet* |QIXdhH뮓@Mb'2.ў{W;()[7'>ĥ2|.sf#d1)xuAkgdۺ~b9瓭Ŵy&ʥ 4C? պ;/Ę4e+7Z\VE#tDsb3 S\/O8 %BH,pw$;@Ŋŕ44;nl]M}{"|1\ Uٷ*+@}FF~P, dPՉ42oWdW=< n~ޟG K |}"Pj+{z~Og=}Jtn_yZQmel>1yOu%%nN*XR4Zh]-/ |5R~#m B~릏 \7Z -oDtknXJ~^?0x' Δmf`[S}!ʼ@7<8_3=;nu ٤6{U{=3Lzk{I/@iƒ Ō&(2B~EvPq:Lc,ސ;c[/" \Hlb1gՍT9j[hvޤW+-k0~"6yuB[hufDZ#9 nٿՀ=47^>ݜjm]*ZJ;;vɧ)0[ui5^M6aLל#^&A8CZw3R' "磱@#ygNƌS}翜0k . Tasp+8 5q_{Lvn RͅlUז3 t0/VuUTR{Ҍ5I!-04|hŬ5q> ͯ$s<M ]5$wB|=3:3PkX Zpj!˻DX[[ ~{Y6PQXٜ73kNeͱY nXV܀וCƫ D%Τo[o4oў]+ Upn4!t}= cg1 |G!WËj{[PO$ ?8`N؂-K\}wjJ՗( Ѱq,?j!l{ =WfL “H,+EHEE&R;֊)g[6t^_;oً׬ټS~,!Kva[N5v5{!թ_1Ql<@aDuGS{A7Gs,$/zoi%Ve^ȁmȹ,G،^X.@u*|md/S<V"EmWWTڗK0gLyH)U8|]0_}X=#?-y4(B;T{ENK7Z1jcBB9G"A#" c ¬+ j>xElƔ0%,9LUwEtNSؙ!w"Au!e;O'PgeOфOT6% NY9N>DuS"oLȩ)LHS,yyD$WQ8Ȳx3"^f6՞l.%uR=9 o#¾<7%E+fԦEc8̦xKzDsxF|F>匕޻<:ǠC^pʈBI:]h| FiW)'yynl;o2^Gx{Ũ')#$6*P5jh{n.y?@S^;8I/㢶ҸL(u=x[~>ŀJiуg7jwT˟@_zLZx]+޼V'Vv"x=;33 (<_1_ĹLixf׬f/:({&^G'W:lguT,Ncَϻ)鯆smnlL`/ˑ#0>-CsO},GhLYUJsU\7!)tyJR"AJ7c3EI!%IՈ RΤLDZqYBbef/wYq6'A<@ƈ}xO5wӆ)FAkR cf0%qEAZyQ3hb2Lf酨9xmWٯCcu^kk0!Kd,fk{z,v̸BUmϹMZ#G('j8T:]L`A3G r|0oba)O3;G7&G5UiCB n#/.=_US."UNb;u]ޡחluApLtɁBu gp|tATڮjq nc^qmkѰ_yw1~kq1 v:s, X򒼡bBTF}P {3X*43Dɰbت}Wp#x{(Hy"7͠"fdCIiozrc]Cٶ1ߌ77Cd 7Pz8IidoU$$YWO @6ed Y'7Rj <0fڍ'\Q_ȉ#q]!YbzASJ`T`.s]en;>T= G3fn"/rEzw>},2d f[1bJ)┼MfyUI+ЃqN 3z-B\l< mj1yVfhRi̓ mF $3.-t"[{7-ae('a2G(,$bl$7K9 P7\D,:+)Iu+@nmTn*)k0+*W}q~a8跧]֚:;"D0]ܛB j lF֤pB q2ή-7Rnoq]͘ ^S\܅5UP;  bMBy_wru7\TC0>[ A O2bŒn:؊ \Q]=E\ҋY G.w@蔊'׫,B4`&$*=ʆu=3/R&P* qSk9̴mw>/MyOof f>\Қ&ɚzkFM(n18"]6ew`U7{jJ3)AVLD _㨴@tc1< `,Ipp:SAj͊YZ,9HѴӻ!Exag*i)dovR V^0>[ǥYTM/4HZt%;N_b}_+ )QtI g{ҝ8Kbck @twSm[1P JP'А9EK'a&Mu=аפ-\.@_}ce~y$΢բ#?+. ѦoecaL=Lr }9oe:m *oK~zl _ 0 *o*&LԹ΄&S-SOrt{%~&A WQo>}ڦ`ۄѿD]B,҅c̭[ssГƸр P ѐh%hT7˅ӱBHn,a=R5p|IgȺ-YG$M#UIzCf\-5.t-E@*CTDgu/׍Jդ`m] +/lm.qݰ(|ZjEk+BRY|w3vm ˓}^3s} uQkF3E-lXbo)< ]$' UD1cpcp\; q(W|cvܛ"j5 dR6V;ړוۡvEq $ܾ,qc op2snj\zgR ̎vc=5u$o~Wr%}n՚eK=_\nZU{soCcv.lxHC.J_]iX|$/"@kp_Ze2pE, ɝ1h^h9"MWf xWS ΟiCP9 |Ȉ9"tLF-D.Yr.pF;v,zڇξjR$œó1 nlebuώ`õ͡9޽206_Vn͍o4s(-~#`gfoe vf斔C9`z-v O 3|]hJys2N?GÁAԙI;1Ruuu4?h˜]v|| iHK(WT{l:C{ \o6<Z m/VٮC\PGE<$a|nؖ;VCW($a3-i$7/HCj-j5h=%_.f3g bW I s}5^Ex $-{ 0Vq +X wv~0uuԕZ+]k,Y7CҺEGF"P:^YTA@U{tulJ MZ&qn˃e $ }Vg/53:[UYgS&&Ӆò1QZiX=dՐ7up+?-1^T@Q$fvz2i$q[?@Gc#x.g募 ?-[X dh  A_[(ω oc)CIRs,e'ad4w6흴 X-Wշ%UiH2ϖAI)PԜ\D}G.="rKOX* #5"رS ֮-(P`F,K'E!Ӵ2ݶ ys0a03uJs{ZJa kͶڳΌ" JS:b~mK;CVƿAlw 'L0Q Ex/W|Wt͛ܧq_E BN,D|4ffV~-,rջ櫄|m:[QlLA!`' kO|#I].l/~ #"ls2},+$E>v ">w{M#)/VÊ`\(E:+!rMά-i$4빟5ThJ\ӦNDp`E411Ų(lgh'V>iS][m=m-DG#{edѯӽS+3mEk[wj^.ߕ@(_=ʣ5}{2t:RYԸM$5g]LeWgPv`YYBT̓ O O$cs79gҰVgkcAg3+&WY[m&_KO~nj;']CQG}dMT}%Zϳ37?mjj8sqI$vRS_,$~8->t\.p_iqI-AoVFU$7yA~F!$9CPAUrƇVړCrz0rs_߶jG}^qh(p$->N 0޳%tGoH Y8KwEzqZ(`眠9!q\Vpf?VOmذщm"in?f@cT H%A ̧=x " Z)bL\]&\wNss snx (A 0>|$'_!G! SgAY ;CSP?TR0VӍ+ p/Ff(*Hi7K*?Yj18#J+$<L0z{v:E}FF`oP hCzfN>k'up3f+^kS3j RIkSfѓuH%VViVO6KݚLbsfRQ)@4οgphX$Pѯ1I=H[*#T6D>2D We'y3#I* 3R"gD6TnIź3Ou`u*o5P( Jpf]uјni2GMeZ%T,+1с"ْuJ}IW)q۟:sڝXk0AcPbƐc_%q 9]̯Q% gsY%!X{j~VtMZgg+sf [q@wED-BN-2۷3bҔ^^A%`wk2qv IC048rw=.;q㷺 '+"+]|JKϫƺ+^yN]m-XV.Q;@Gu v񐚯#;FNOgF)>=СԍԀYD Q. :#y0Q%931X *Ϙ_  y&+6 m)# JS!_/a/Ht5G9uK**ϫ[{}I(3֞Vпl6xkm'~gg "v 8qRKl]5~]ti7Dډ.&&<a= t-,(>.=3 9A pfVd_qR^WVĠ:6֩ 7RilzĮ SS+n!ealv ^=}N0Kڒ" v^T%62y; A >Jw*eo/ZSJѨ'J67g#ZrqE7(= `73`3B% p흋S&nG>CE0@m--4,WmU8Ǝ7OMP6& 1 1U$Q,? SBթBJ8ޒ-%,FJO=r w:aVV~aծE \'!CLΉTPhr8PHsJќ`<^F[1rY#XVq 9ks R}(KP#Sv#lj=hCGоX˭F= ,jE UfU"n2a?Jez"%~V+?KwN֘=$٧01B®ȍaNX#QةWJGz/wYkؗYì0fKU0{*e즸LlM2$ RYVƐWÉ)/S7VK*$*f|VW)]#՟!|œ97YB\6DA6ЛwI'{L_0m znt9D_ 4gW 2yΧrbdԪYQg/wI_w"Fu0E?ɐ3QD&l\v{l90;dDVT OLnHp4c=6Cn^wSI}q])1Bi努)f҄/2\=T+v7gi2A{e.7f2ሲ1FDhv+ !۔̛ݙ@FٔN֝w+Ctx;a3ZEqkx(K3UуM8;3tjt>_Zln^ 8)ZĈ)xJCEP8>"nt'R*?P>LP>Zݷ]nwcSM"CyPD'O >έϻ})5Y% CNXlQV^kOal.I^#XL)74A PJ7h0[lymƗsqs;QXҸ W緖pОh'q$#Okurjȁp〧F0v ff v4&%92+ɱs c_SRis%"Ѝ\q:"oD^ɭ\ G QqCHb?Q|!bļv.+&Kbggg~sqRr*:UAɁ{w*pZCøTX,Q1IN&45I0&wHPM|~5Jfd~vt=YmA]9L aɅ$,o-Eo"Nx ؽG+f]pÌ𣒄x tϝ#v0wt錀'w/!>w 9/om{yyȻ3N=5:~6vCvm/n+<_}ڐ}:ݙ?YfFgt_L9G Rq"s:RAH%XQYVQ cM37*@ (~Ik[}M4I Ӑ$&lb.3$}A"^yJBtB6ͷ->y)$=cv.ض!K4p2)6bc Ge:"%tgsMzBtTB&豈vɑ& si/ NU ;$ 3'=om {ZQT{a7,vH~^waF4siȬ2Aܠ:YX(2cFQA(-[Ri+)bikxeAYs~RlΉϫADZBHg.:èSй)P3T#?(DkJ5O ZKrW#>A#xeub\OƋX2D]@Vi{2_:YGZ #䭙AF}ggngd!]pYrb` oX  > K=QnO쀄@/iu+⹨ 9iHucu|^kMB1" 9]r^vk,b{NV 286P2oBi2v7-̾n`e W* \p#nv>5ʹL9$4tW6W ?j2c"no v{aPRv~1$3G9h!c-`3;.a D;rQYt9I>>Io([Ds/ZQclWt*Ȩ} jj% q3HAqJ=VlN-?M$`r}syzI2c JN㭄2&V~3d-0Yx벦e˷E=- >{d[`ٳ1:_6hבI,H*"I*<*RҨoPmn)MI⋒E3*%$ˈ[KQ>Gw8EJιJ6S:f~M%*M|8|=jffp$ ӷ;n$ T1(bl/^w*eقSeDZUnN`1_K,+2_ڋ)ǞXZ-V&pSќfY&KMny&=S5N3JnɞYŀC%P(#<9㋭b<11]la' =@l4Hx1a;t$JF63r I}}* xd;oj %0!3#ˆ,5e܄g?fԗWmR&Iʾ4Dve8zʕ*GR0fm6NE_nO?l rC,0QF77Kmd>]-ח.F'BVg;E xzϮ_ئ1Vx;M3 u6Uɼ^){!=39A \KVevJ;O9|5$N ^}W`on_հbu%K8&.A!y_V_SWu I@9L\lBH/d _x2LEV&'$%LiF?Zu.pམ;MpYn[4$0Y ]۶굻lʽ;*_lgo^E-Xyk,:/v0諅tX)G&CL'7nE'e{-&uzynY|V#~h7:(D*Ԁ l 3 sh5;©rKd fX\4KLCIAP&UN sBa6Uy.4dˍKics%,mbzmu D7\— .GwS c(‰_.D1ϙkj9O[r[EqJ0w6١J;$k+Lt^&Z}?%v{4J M==KTLzLʊhϖcXhX)b9VuWRNRka匘J#91<&)sF?f]c?/q]#B&.KŖ_ mP f?lGds₶~0nZk\ށtVI+ VӳE$A/Ac0 \ zsFh}S^yl~wz-ER_y#$zmjԤ6N%6?3&YY桋̤&Tׅj y| 9/ q'37Qۉ.Ʀ2r--@u' _nʴV t9$"8sF w.\1C=ms!?:Z#V-:kMЛ' `L)z6Qċek嘊ls[]=C!h!nRzyx'}/3ax0WtAޑn}}n IϠ̸гVQT@XLcz"Yf>\3u{j%.T=8wVk tЕf3G&X~7gKnBƴ$\8 %ޑ%0wo#"#C,0gEM^_2d0)55*]]5%JlOZ3rt xпF& )UJ(h7BmRDO ^bXH u1iiW[up| eKq/)$޲-wzJ6G|g_M}ݸ\o/͗L#WUĒyx֋VWnG?KA-:(fl7QReh[V;۰oDZS6&Ղ(sZ7"5v㿥{ݵʹ^UEĤ-E[V]wJh,#T5dYOWg2$Fɧb;# LNzM&J[45ˣ dR\K6y"XyVàe#/y1Oء+vW.}+ B1^7R8۽^EZ57Z?p CT[W\g 9Q򋚕bj?ϡKO)h\Ky.Y]W6A1K8ʶڡ5,9:U4PV{iyӼyȓ^ ]].N^_\WƃᘝZ XmN#a Mx"+ `)a\1-&ga#WP#1]:Y ~,o b OM358JмR:(#@8Wa [6;e4MRYw8BD/Cvn(v %QL I=BBxX%% ƬqDs|PeQ'DKj=D-ƱZ6~ggL/@vQڥ.nR@?㛈iSGfx35 *MRqX$ǸC9V|g'<^ƫ5FT_g!=>X*D*SÊI3"B]-H:afYInz4~.'9ʥxV 'N@6Cc\}-!у3+rQƬPtb4םH*1w k,OxG &{x n_HKJPװ+]G(f= EkIXq`#:|o;%lI//hM ",\H8a$nV0xRC7& X]Pm{wF(|E[.!MNZԫէH as"^Hj)Nm8yy`T9el'g=dVCFӸ5Q 7F+9jረtAb+2犑LզAI-KױyNY11NSt#itE,%@7O ʁ ߵVw\+D4z~FdlеYCN0z:i'I᮵@5cT3Xz6D0+Ed&΀Bɓ+(p;\+8UW(W+3cqNO~~^1[ۜ*N7XdYJW'E==QZmmP#o.^/i)RX=zc T,?EG  _rfdھ\H rs*le̬J[/``h3^a#3?-4( -ߦa:!5cm*LHrSh9*!tvօڞ&cfxtzW%Y8>ʻcFc!sC|&֨b#'~akLyQm \q،7b!a0$|_lN^`w=zZ]2`k[өZ 3U^WNK YٴY>"A#O mwg#~*tԬ';m|Wh4 |6Iztys{oYerA Ѹ;FB,z@dpK/'ɖ9:-2.Ya2ʤ]֋\%R.`>&C"&h$xS8ieKR=u>5_y9D4 |!Oy>M@E'?eˍT#Ѣ$r~ᡑd1 R‘(a2q8Eu)#F_vTw:YBgr;ǓC#͕cfْ :Al72*5&o񔬄`pG_$B~*D$QJ)X2 PtǗRyABͽsh!:g.=)E2yd5;i>XwHd@yAvrN"SIDXLtߛg(r\{- D56$}e'Eqaஅם prD=Xq9BvY YvF5/+ ww k%Os%urk*,uc}L.-BwX! lqi? xBBqҴe*|piPވ#o7ŚTaPq8^ hN 9r@wļ>AG?P[QH7(}f;"Y"#&frr!{\#j&iN,F>Ǵ{ 8|AVߒzzl`LSlNJzLNK3Բe7Ûfo#H#aTRjh>[D[qޝJpP/jS+لҘ5Ɇ<~0qG;6VZ fs,Vbρ+}Q< 釗1Y36)js9?YefX 10oy` (3a& B!\A| _|!K 4X? dEAH$VF&]K{B@ݢ 1]Ⱥim~ec /*T ;6}dP3HOOHj\\hU\PL*7BəƒOhZHWؙ4X"&Yf˄*rF=#rx`k(XksH[g#֦ŷ=e] aԉlAWU;ߐznPK&Ima%ZiJn͎4X([PQ{n]zuNN'^3S';ՉGԽ|m4CSHנ`(!z-'!ևjPSxgͶm9%]5)J}Z\zʭ, xpAwGbDX#{Bj.6uh66Ϸg=5|.xtGGwPVk=w1;BX2*&= l~3*fZRӦJ:9$U,.ހQ1(g@'~`\i8nEwl3Okp{%z?^f#Jۣ=/򠋤sP&$4t[ey8&!$C|A!HE1~m8m?I-s%X _)7U[2ˬd(K7#W=Q8}w!ۑ{LvJpO$x?8Q'tBdM(ԛY~pͥO{Ŕ[!J`G-X+@wiQo f'ڍ.nf5H*t޽52;ɯT(Q~[{GmmmB+"SMz p`&#^U$HDYiaža!0JV[- H-t@wD<c -'  &pXl41qd7щ\ grvcoU4C8j+.e&k>̨[G՝@|8מ%^cg06fzq=9\XӦA*k%q1, FnpqK zH:J78dly](4G'Xg⎺F&#Rs9<,Sn>!ղ<~GɮQ#bꝃg(fS*TcǬC22̐ä6ߚF&c[܆kp[G*c՝>0-AA *~Jw Qy{Er<9#m?R+!=8c唾'ؤ/Ņ=(=OLG&|on9Ab–Q(&sf+k z&*Q;kqt>9xeeq^ө[n 捍<.pg7 ! ۓGn ,Z4~#c#AUYH1aĬ.eAQ2Zy1<3xuuh"FN=_5q616kef8]uq3:4rH%MZj۞.&N?ve^2(XP2g,.FYzzqt傌XWl)ׄ2a!lUR[[-ŎL{5{'lxr{_cMHn擊Q$DuMd^>!,f2I,VS}54:uhyyg2E{XNMK}{]h;L)s>W--Z\޿i8a{L{;#;廉YͿ&*!2+4 )TV#-h{jB &LvU oUm|wwƒ SP-+L(S,pyo=J7n^QtX׿nK'L _/h+|@$]QQSD wYK@Vf 4lFC]OͳefcsAN#'HeИOX-%ܢ~u!qø /sFĐúWtȑD }1}Pgm~B3l? ,jQ_答QL<V < B䫄ǮJKt梙m6(_ ) r^/Ow# k$C?ZD~bsNY {6 uIzܕ\>?S*fw`^Aps9x@.]Kx}997yP*e.ҏexybZȑ8ևՓ)4}EqF :gX"? G=~_Ϫm[zmc9kSܬ Q"ZCJ^%[x*G39Z?JԆaʡBpq7s <Ӱ5oC8kk(\0W=y*u27uǛj /'"Nb CQ^6X0_%[m؅NkL"xH%,4wSĀ!%ݿOK|Ӟ)z\R𕷐*On A/3{Z]lZǮw$zW6miLu2-_⛫xսn:R^b}vgNlp*p!$0hƩ4QgHpEybbNbIP>ѧfdTL-47. : .[ ;8A3qO Лx1,G(yM/BP@CQp*yoܙ|S'j2iI dO%F4$J+ΝNݚ9Pd6A+jI+NJ܅-Cޑd5Ny?YHIYi$Uvtʻ"]R_,VDqXyp)R@|M53!-e値81YJ= ^-p#ODW.Y?w dTk#%Ԩgr<K=9{Qmbdؗv#RuW*% Ý:Y\SlD4}̘{8)HS`1O[ 2R41 1"(_2?ǻOW ͞E^oYt,3nE/! |:S"zw[ 4f_cΥ1aKL:94{1xOϛK祪7^j㱑951 'BJDkt:BY4=3,UfVOQ&df0;ؘM\)Tw\5K3alИw!,P741ж|C} Y|!Jpox*X(@raq0#K4pZa HC(T"P+T8(ltYM8b`$Pp  K<䦘$ֹh˲R]u銀VSԔz &SZKip(Jsun&i|4qөKK`ZcFωKM8GTLpalh$,)? 3!\0 R\h, ,d(4eD߻ 1$͙Tj L> ML&ƇnUE^;n=(S5=8L d"PTSyDrk hSQ|ǐX/~*k7T2=!fh6|71xYDl\BAu+ zǀce-tZn6^ީsSmH2TPB+[iL XR1Iej뻢+Ģ {JAl󈞝1PTnFVtfNYp(v,BҁWƶ7Re#.U eTkKlr+V`r@$mj(΍9 (tg8"Y9ʖ`(S NӘnAE2`c{B+vHǦ;~Y-юYYJbሩA ٰf;M/uȞlD# C 'Yn[{z6q5Ĵ(-|?PsCBb!`㒝z&N'+mB4h\W8@j@Wl#,h>; o_wۦh0(u"RVCW8io4Y}R#NjF e֌"R.gq&;v9 Lxɻ'8*zwa߃MLTƌb^ LWKF!6lpL:€J`ƚT^t2>C'zӦӣ?X{(uWlVn7_|?a.N~P̋vM-vgE'u ~Nl`7֋unIvL?HAk&&nƛ$T`䕓Gm7o|s(mڊtlƻ̇rGC[0?WK*dߐ i!U*JYc'ZA)|G(dq^ܹdifrJkI͎Ԩhܭ/# n/'-fpoj16`C)mSNESqSfݯ!u>~ktEࠏAN{[=? *>}΃ ꆬi( ,y૯ڪ+܈R]]]wi9XB>|\_xP,Ek/\Îɠ(~UUp0;mGbK;q2孫V(&5nt[όv7jRi !*!7x 2F3ŷ?Y5f AV(B<zjE*hlqS%3%E0p, `p:'HYK HТ@ӿO[ aBO bT aO h<4Ŋ/ ޾ix@FcUgb.(9`a-O:r Vmzdn qi{gwHDŽmhwlwKv-=N?V^+]⶗n| O{e6\C)|S+FZk ?6БLdkP,_n+,\m:T BUŬ=޳·'^w8?;#c.AfZ^ΉYCf_%9&Ջ0F5 3D^NJ's EJAۡ7ա 3"Ϸ-!(C%~=ՕKtlKjIiB@"z@3(hatOmaQ[NK&ZڑO/ggd%O 306Z8087tAsR؎oLO ڤY5?L=., ˀ[ziY?Z5#:Pbսw3=ZPEVjEߙ /K?$ZX,eSmU2]@ԑxY$|V_vJ+7O饲$n0i1k1j4U^kJ,KY#FU!ITܛNf5Vi.ma}-@ "ysom(I u|VV&q[2M=WH// _ꇘ`Sg4?i*_6d5$ nNSԾ>?L^~Q}牞rcĿ1 Y]f**| X|,r|cgr=xxp_,s.@Sq000W.Br" ˻?R #h~#1zr̎JwPVٻ3tiswc*1c{OֵK4w(C &3MC4Z?mX3[EV:; _e НckI]cz>GF Q!Cܹ3zKkP6W>U@CnPGe+<spݑ2TPJmzC٘xT#H8HH"&!?7[_Qp0HvgIp wsUE$p˸]n-Hh= nTkT-E˓q  ZS` UEt=M&h~)c;Y:C!yn,g|I0!k@@vdaQ#xsxϸ ad!~$y͞]FoDssKn9q8Wǭ( >R4{=H3\䁟BK6O&8[Se Ӿ5(Ȅk.}K /{/g @$Y TE#QW?2]9|Nz0dh.ou7glϪ(ߕմJMuavlo eCW֏4$: rL jP$wc61^|+%_ w"&neŲ&J<,P;Q[>ON$Uݹ٠yUJx='U:g+ESIKg[A #@ bF>:*WąDt151 \J${F~y% [KKԢ?HwY[}}=k˹ i/m& 7R B@PVd:lxHK÷p&aKɂ02 No\;7` 7 O8xE}r0f+Fy‹t1.ðpCxQ%@U0%@5$XWfYZ iGzp9B9Fhp6θόB(0BEyF5x 0HAJ a$jlqImeЛeg: `Uf*6RPUNü:^G9~Yx9l\VJo=$N9k?_gcxЍ47;o)ff$:K)n>ns w30ϘuqdC4j*5>$cőcUl(p9)[2[+eLM۳u ղN+@26JWKP}K( UP$S_CBl'XGd$Jѡ$yM12Z-Jlee((C{y*-w#:)IZ0oVse 27#niG1I5ljU<#5=9a{-%M^t7ê,rð:X?^|pQಕhXT7%A.>^Hn,E,m$^i.UM*7"IR<[i*[U`Qdy2jN'dg;TޢATYdf*)QPтYOZ+C%%H>lT?ͽiP 0ӑW-6rw?L} NB- T4߈IA :F&.tdc{8X=DP]V&>}LNʄ9P'7wBN+i9 u^]EB(p*ΫrR v%K Sdx[²c0\͢PN!~N ZQ8fsԃ\hL/@H!@E[x3ykm:^;^((xK܏WFyK)fO7dX&KtutARMN0˜3rg<4' <{ho7pذU]4F|P=SfB?i-KX+?Q!J y))&t'e({ a0h ﳡ^a4tѻsST·Wf],,/Ŧ ^\J/`E{nsۅps w'L^_ݲԸ| P]m@mYn,ݽl\!|{ݞyE"{l5&C(6[SE/^ߐf@SF|ZXZc=c"*hh{{c<Cl]+MN+u >Bg(Gwz7ܴV-`kNqs:c~aC qi>f>)ꒌO7hx'=j pjV*8 ;;Е95][NRrH+u}GXy(!`< y9 KݲO\?7:/tA"h=6'jtg L?J~9دxߴ0။KLD z(O NbRzg;}׎ $&52e R0$@O6h.P== H{5D>JNu*VF륶-v )y2姃K)^^;{c;Bp(/>(Oҥ?]?M2/VC7Ii5t7BoIZy& w 3yn9hm]N.D *wFj؍ATA?5P#ek,'&s\D8xr.J Ic:k,h*;h8ho^̇D%m+>Lo}AA,|J؏-_~`mU\ ; WuTZ@tc$pzGWg+u|+ o<͞жΦW0hy} 9MO?ON+\zoü`d՝BUR}:6x+6ru]?T{VXA࿀0p1#R+gԅWł0g`,4?V_^b8+: wBMp\)/* y3%[xPe^/mniV[ZMjC_).C<.\b]Sx'U192l:MQ;, .ii=E!? j?GowwM{+%~WJ6[tp󩚔|%55?K"&"Lک̊hafS\|Xb&O{i{~.ݚ?=Y)5<}Njco6kxn?^T?OYͯѪGHҞ.Oz{G*HQ*C>J7S$TKzQKUi$TzLk!K؅QA>=xwT(8"Sljn'] F [8QWDWھ] n?g8gVm5K(()"z;FQkc PH% Qht81s(CBM~c 9P۝ѓO".]\eeF}4 0\teI5 V%* Њw |C1eF-D.Qj9h,XaZ߇ۻuUwHR敤\:{OtMu+ K `X3ܑS[$aʚjF^+ƈK<u`~nCC;~"g2zUiO=^H?ݜjWM^r-Wo:g3r \ګe_ů|u0?ǿڶ*xz/z]N}2dhxcߏW׮;q<:Ao ԕo$dJcjW+(\ @Uct3ԪiW@ghi;ZI)57R3@P: FTE MF',9YJ=*w]Pl&j EBA3_HjF-Dy3vO*1i X X4۶-ZK -77Tnx3L${l3iq'3Z'cukjQZ@P3 O u#ݎROr,-<nh(hߛY3SUNTouS@ +<=Y7DN~I<12ZNۑ;9mq`CЖ,㖠@$*Rh1Ү4 Z^PDm%Q@@D*jX fw*7hEF{qWƕbH+E#sx:jUjׂj#z6HJ}U<袍4*Љ7 YZvD qjyhÑE"!ô|m ZC]t;@+t [W6Os<(A萈 Y'C bػ'1Z2B(Q4U^|jIRVMJP@CT %SV" 0cL[,v+DZҩwAnڔ`$I. x {/SRd%R/1,)Rx=(lb)IFZ1K" JqEw#: m5|6'3ҷj4ƚhݒp ̳yo5_/!B‚3o*^bg 6 'A&3ӑPO0Z)rˤ`GQޟnJjg(LAE%E\S4+hLjp-46 FS<;H#Tc*EWM Kp7Ǔ%ό~QkAn)Pa&UwJF\-PI|g&o&T3PV#NQtOWd@vWH=}Ozf^YycbVbGՎF єJKL Ttf񢊳TG؉;s0Ka PF+L]x{V4-)Gƕa 椵%/C7s G[FA}WJٍ 9e>zk86|{S =E>q060賘> !ƥiq=A·sg'||ct|2ϼ^{g$Auz+$| \Q*r iIӁ2cvTI+ϸbEۄ ū&qRg(KYe%;ʟF-݄ ]qOLQ9ixr:K*o2R[iDLA;E>s4[{[^WR[XƆ4y 󓡼) (2qwW$'qd9I_q':'Qb-MPC~ge9|-(>}gIdx ŰOU<y@b +3[.ci8I`?zݴ]?5Ѳnq^]P 'HfX;(ɊiَAIEYM8˺&Du?Ka9^%YQ50-q=?X˵'yLu*_@)&/qV D CH8psdn 8"P|oYV}Dqgȡ}/He_rF*춠@")n&U||ȪTLwUzrنM|EǗWH " *䲝(hMW[+QFR=n7:o3^t/j'r 0Nm'd5f-"/q@ UG{⩟bظBƜ>*s95*șf,cz+t9ޝPdu/nDJCVp?& @@ #%5h=pQcmb{#P#sEf=\rnR^l?X0{`x$'+x~71 XZ'Q[c "> =91>H!߾g?kru࠵ZiӀ[S<ȟz0X{+oF 5l%G#1m BH¦}zHJ!ס ɢ+ huR!K|+}@rB.-09t,B+%C; cκ@äv] yPwMrEQs`q́@.V+sE.OSE/3鼳/kZH?5Q3qBxg?@IiWu 1d)zUȯu%- _|*pףU_͡~d?^b6dD>U >i˪;d oDŽIGjEhVO Z=RZ[ ~aSKr=,KΗá%넑M E皨݃DKaUoqfл1Au@)]hR ֜Xt/ٕV)-jkR{aWzaV%a /@s~Z-R_ĤYڡW7G#qWꍝ &Cuh-]cNoZ^̢0kQ6Vh%ooЋVR" R/G<`^[< I*ņof̊rUR6΂wCL69bo|j-xʽQJԂc1z.vLu6D"ў'#\-hZjQ.np;S(Z+%;aRsT~xkÏpӦG:}ff+ȭ5&{" ds7f^Aq枡J0&~A FCp˱:\>Pz ZHR H\%l+>\zDYɕvٱ Ÿ+0rm_6JDQq $_6ZaJIL-W&ƈd1APjV;8'3pgfz-BCXk1C];7Tdž oR ۘu2*48bg4eJ+vUn S3v]5u]pWu^¾Z3wVY ] =0 ?F_5QuՊc!fzɓyysj3SM;!Г-#zMA,ReFR8n5h/6N?jm{ G8FutRx=cA&tLGKGUt(.Z%W@nzW/Stb^EpEd 5FՇ1~ 5ΠW/b@~A uP[lORwa8n2)?ZՏ cF..r}52?n#тW("y Q68<x J̨ vmLtAeoJ 6stHl顤C򖤜Ȟ|61mZAc_~e}f9B_]Cȭv܊j׸ i,Z *nHi`eˎs';)c^V;cR\ 'R72eqDRJ1Ø1cJoB޷7g[Q y27Y͟6YZG"#ZU-[p/9)֮jA%-@nAju@P:hy1U!S6%!|c<ܺ\m ?)HJZsܪYwg#!! 2ɸ"WpcrkCl{]a"mEv u.A>g#Ԗ=G9C.gZ\\Bҝy'5iVJӹ:[lOOLr/SNnފ'ܬ,59sA1N=/HDJ4;soWEQN=oQTKlâ3NҬ6{-CS u&DJdF6SJzkyvŇ]QYm;8NeJn.gnݫ ӯF^=N<!V(_;Mu7E_=VV _/[M}T[W2a&L_z(^Ǒ-Bcj!]v~1>_v |)/hTfӌFZl2r/ұ/z`w4X:t֜4%[핗lmtTCX +Ŷ6jhgNgM}.G(O[j*T1 (\cMwG||CU=/ K/9RF 9;Z٤ KcK}d&t+YY_2jl%Aw)4a0_u;@xD&4=2 !c;ocN4ʰ6fIvş;JHЭܲN@+T9[j\hRi섶KЙ`6:W= +DDа&\ZNa9.JFXfuU"\i5!=G`Z1Dnc- ۧX)2e"Siٝ+HU%mٷ͇O89s ZLib@#$b@uT(GyJ6)34`WUԌ ܶ'<;#k]fw{&` 9W5W%PZM|+00ˌQJ1!˜*<$F)1v88GbĠĄ [|꥕"C:3Co H% e:Vn4/NK,NM]sXlO[&܋Jw|Jlq..v9K@ؚ\hhl0fy\A(BEac]7nwXFy*3=hWVIg&Eu:QYt9Dč5',uq֏:9Yw+hs?;r\-?Y[kw`a=/͓_o`œ(yH:WF!XQ[FW/4OeF}A m.~>:k|/ގEK~yN!:BI kD*#,TQk`{בζ&VΚwM\:ԯDdoe\\Ǻ[gU50?%wDrS:.G򋁨B,PGxbU0SʋJ II]|q8r4.$GG:OioPD>RQM"O87I>ZlZu-`vTPiUD3ɝ=QKJh5箝ahՆ=uLֽY|8-"h닥÷OΌ*tcT;&jĝeѾp6CaF8'SG(o3a 0շїQǧ^Y`)so^ɒYzn$!ϒfa4*;BXg~@4,^ ='QIarQ"df-20=3 a:j 7]>+RtrGY:H ւ2o[) BC y}xϰ,neY$F|e>SD|LZs;tssiƟ_Ԭ+1ݶOZo"bD{=qY̤ؠ^5UO7O`º^ڮmYi~v0|7k~&.2wKGHUe@y,30l0dNu8 :1X=dh(e"W'nSoL52W@suLШSOx>DRfMldC"j˘vk )ϼ+O\Y 71$SOTfBOGL֠w@.ڱY-89eݝTAV3?b# |&fܱɡssfD]3VܜtwL,-~zNLwsۖį5_rH\L03)2ɑPVq={d RPLOQ[QܰpdPE(QQcif>GB9p)GZbOD %LZ ndh #TOXk,>TO wJ)ŭ,占  u-jDAk8D YY]z0Cblb"G`ShLq ]P&,`-}Cz#m9zË;HM:ͳVlߦ~z ᙍv[s"곝Ϲ>=:t/!7`Y;>~w{78l{s^/?~ǁޟO%mQ1O?Ő#nʷv/#lBUw.ؽ9OwG J3׸΃clq[qCS:{LH^+ %0ACuV^벝uuoID/cbWƒ:D_Aj(#P_#z|/xt/KVVER8)(8= ] GR穒 2|~ts^k\<_KmcgZRA pT]X#;ټ0l:=V׷)HQg_)d c목*YjzG:O8lTx9 }O،˿=|Yk%YT#: < pk-vԧx9_(||u͙!lZ r]>oc,n1^((D` FBt/QJو"x `=xFܝ %*rE`*Vno|bI'eDn+)g!Xsp*Lcbb[bD[ClTBW<BdG2LhUc>aX.jҜ%+(. J:ZucЮY)x缊9BUeQ<]sM }I1}q(œA@.PCoЈ.Zg2n !ad~sl$B/6 U{H٥iIKx}޲ۥ0Q'6$#^_]X4a\a|T7 e~(àmQθVl(tlw1-uZHٖeG3^Q#aSKꏴs%DiMYyhB( sy! p%LRz@QG^b[-D D/PT%F*ea^K} @J2nQN2γ@V|>H@TeT#`zr_5nĥ.3QkY{ʌq41-G-Sj1WcXsԏ^l:YEF#T8jAKlKQCѝ_PC8P E:bFơ.Tql-PSTIy:+E8RH8 @Pjl53&`~9 }"!}5j_~9mMLy kvz$Αzᶦ>&)iǍ%(QG9^ѽ͎[VKÓ`/J\^UWyټ3bOpg~QHt;C .I_G xzuqzXݘcUxݟC cGߩc}'3qu\kԝϾ6n:B}FND =yp3?,Eӯ|_.5W[~52TѵeQlfqI'ܚz{ۊ#΁y[uuMpx Sm%eRs$47%w. Jj-kIlλ9'~EI;${ہk&$cB07mK'9Μ΅ĩ)pRXLwՆ=UV*{egg+b:]>o+#"`V_%502;7#/R$IqW"Xi#D:k8h8ā3 &31#ad Z,6}4kܶsٟLN .f +[:!GnmG x#ab'7"e{G|IkIFetiYΦCGLӟQB'cyG'oNNrTD9xS dieOw7%4kma}WRLPVEqrosp4m*Ys& rRaKzNT~VnQh!0ub)2ܸ=&R-L W0'ֽ 0r@P]l,C]Ȼ&e'Is%\bC[}:wd4o_s*i+ʸDk~|n~4"u&%x!닐.]+oeJY,z~}$k4t[WLx9zuǭv4YɌ o2y|QE79-_l^OX]{gk BAx%z!&ż-Au?H[hؕ,;qrLe 3%D~!UF*gB+y i3Sӹb&9Xt}ET#ƵJ{IF~񿃦XkKyv; [\=05̙L}3D\IL{HiF|ʢp7;IB_WD.L=|eLSa5}WMآ+Zw%Lbc*fƭ$ߵ9ߤoG)srˤCژ(֎.Qn zJ(cQhEŇN&˥%sݲjGނc%QˇUe G G< LE|d\";7P|5e+ulX%!^k|bh8 8/SnкB5 ǘX0Y#Zȩ/*Y Ѽ#ڰ da @Q/8x6J Z$Lu`GXsPzͥQl#g,cD%.P RI+P$I0Q.MD.60X47 R)[T-;X:<'񍥋`3Di23 ,wav* Z6 ksDqn|-c}96v~v}~]Mݏ*{m=⚦NflϣKt$ov36ZaA|0>РA fo-}ϐ܊@4wpvtb|gճNܚN1E2ɜ|1 BR ,Prkv,0Ts;+EI>Q7pZHG~ąWmXkn4 uKE #OYcxxr(8Sq/ŇSG,uTVF^GxԊףD{NL1]ǴtGfkj|e?F@&k[r]"K JOiYGFVGeӞ{{ e))C'*& bcpsTmrզݼ5?m5Q>\ ڗ4x&v{4K(5ۘ֋ʵ( F j`]HA4xhT  RvnWO%E-2&^g~ Xp F+њ$vb ˇD~ɱʀ,F>ءdw^z,-4a {n_d;~?/󛇗+fo6Y0{hMa0|(\iZR-D svقi;ߟsesw7[ԐҜ٣?/* gE+Pa\-EɓʑD|HEar"+ſQ̈́B/ (\|jp{#t{qɉ|%vIަL lG?]Omn36sʸF osfsbP^T`Lj:Ѕ(SgdC i; f ZsAv#*-ɣ4[M_̓N4:f}<qO\3BW1@@2\b|KjHZX6!/[ǣ$LT u)JI2X ŃoV@)dG܆\D8ggA.D)Sm/-]#FL։|f3CENE[ Zf=QJˆ6Jh%Xu$2d{nZGfD h)L B@˭!$A*;"?)bdEvIfE3>Rgf_SSr\ʎʐ>S,\NK܆Wsy!b3h͍ࣚ$rA14k+cPŘQOI4J#ß/PKC/) rT&7!JftOZ6%0` 0Sef^!ew&15nMVc'Qg:t*3$nAy0+V5/͞o081)po@D,`H; ;>7E+ dbi\@[:@D#ĸ|[f&>-C! k~=ܺU3p@N\R8*ݍ!^McҬ0IONAs\gOQw,#Q\mPC۠e)ole: ^؀Vl"2mF RXLge/6X9`cT'3 _bR|cXZl <#W5!q W3lxaxlJֳ"?y"vK4MrY%9tT mG!X56y][d~xDŽd[F'0A|p[j(s !,ή10q<6I5f8^l #qJ%Gx@~j@Fm%R̪+Ft DjNT|ލu'-R")D UEXbGCWz{vb ~5WJ }ct革}gO|-{-υE@ln,Pү]4cbiiZ3xk M*`2^UMk{r[>JnD't87K'&7Gz(V#PmLj! wUł"<S`4SQ7Qi+ӫG;ޤ qԜpU䛞0'o}[d7⡽ԙ]_O|Ci xBQ1ϑ?y+@Z,~FDUPDC(V wX| <4/L`*ҋ21sٚۨl/Ă Wp; JU2Z7CK-~ϧZ辞'f-~[gI;CΥ^Qdzq6Aހϭ']գ|d򥧢g r>⤷4Nln-G#,e51[/5O.SIӟKRNTTk  81yLݼr.Jqg҃D4b6T#iOp r`uMeip Q,+V'u%Oe>qo  2j o)aBp'M,I%_c$GZm~ ib9.&K@!wLA VDՂ3@$rwPǢX0"גm[ŴG kQc c "Yإ5iEIdk+WTVGX­lYͻqz3~5beƤ99"A; 1Ӕb4?LY?fgZYO0m/CZrORqRrGS9@:Hl]XZRd3n-B`O%S*ESrm'HFnx[YWCW7'*`n~#etJD+ܮȂ tjD8s/yǕvZ{r {7ol)  u;pϫ]>\%`?k2X+K#;n;Ggo_<vՕ6?ܫJ >x A}U~a՛br_b\nahuzewBy`81z 9ovæt`,}`JHHd}^:K]ܱgkE_31|WQVq%-\/m&rwb/Arx=R^H"6>l Pf#t3)RE@/bv[ui,U27Tbt Mkk= eob\ء޾a=W$w v0^fl?\j1ŒkPCˉ* !h7$)+wIY1}󼤜C^rD_$`2xA-WPDTDaNypݠgm?mi,i5Q#f+ǠO8*4tu|?M>GKĽI"ePWP^gN"{79<-A%-5񉀜4  y%Sjv" "R 5Ko1Ώ[5b΢F^4tL*3pq!m deI|*0gXG |?vԖﶡxuAsAPO-u̶;lA'zi3;J{m55r ѧL˓7Yg.4;1yuRa ˔(4u-IUʄ-6PcǑƢ`lk-&zHF1g4ۧYӥxİjf !g;, G`FbS[#e%IӟǞa&p5߫R5U Q[Wsa>M eW7T&ہqiצbJʝ'X- ކ'Vjߞ#mvy)]Vigd"j%LEZ,2 gni͑3$$sf2a0~S d*{`a0✻e//Z6m'}E6E[yDJy[6^? i6%jvC/\JJ-XV{}l]=~A;ar \UT6gR)K^kMϮTŝҚJvNQ2^zs#k՗%;/͔V̐J/ge^!g|A;=p5/=XB\qlM]R201}"]ht#(0X|Ë忣cs5 ?=&T}Ut18ba_S7wnFk?(ղ!WYӟ%[^Zs& 7~@4Pq4oͤX;MD>%iuٖ %ILZqO31]\?gJ8Ui~X!s,d%$K}XF 0,-;ě4cLaI+eEݯ ՟KtI*UW65L$G¦9{y)S,&Cf_Ong}jʯG&^Iΐ ([BD5 cc{l%Sru0 UK\HL?ȋOGnbFJy?3~C0pԅ^r:8?u<Z *-V~zΝ>韻~\zѩ..o^oj 5KqSaJ%)@VGظR_ ; mmFıPB#W״'NVEqj/|(xu{Unp, Y@+՝U55.iw%h|mcg|n#CETۭq8qwiΐ E(j(+Eϐ O@+pKU Gi;kjYct|fOb$d&kO%[:Fn{ܨ8mM, ]&?mpӇ n `Bp6Q0ZKTyJ߼5 /d$ޮ."۷,ʴk.Jf.{3>DÆPdz-_W!6i <Ba",rty,)-*T5"j֬.X3onna27ELܫD\eHn/6+!g~GjZ._̂vZ:nwx". #yz EZI Nr7.v'&3̖ G-9uVM2lc5m[gN|AD)Jcuʉo5x amZ.3Ɖ[DT<t4'WϮ>fs*JUcl#'T I(Es&C|sd` .t~*~V Ic_8ղHㆠRAo*aa/VB!oLJڛ.j-aKG>>*°. Ƃ_nP6Ά ]"ڳZFiA==FҰv<; r n Ks~V =5g/^^=8_<͆} Ni= U_~wFoDUXC]kR*q11LTuۈ8Wl~#J%:d`.#z3i\b]#T+_J$?.xQ˩6Qgix.BA3A~+nrc1o`x"[v$°v>İysY΄$iщSDt,?z 05'+}l,#1}3ZmOz>Q,X).|jmjbjl$Zlb'i_t+/>i4A+$qQ`_Oۿ<>>~{OffAx,JʟټЮ27fWO>(M,XbuI]l̮PTs_DoZ &nQ硾GUs֜D=4Z̥ٽ6W/@]DQ]?_"Mr&c.eUmNq(;Z ".헽b/yF/P=8_DUVΟ;'# <މ*$}&ǻ80cQ%Wv!}gV Uvaz% xQMzUe\hlaP]DS7[xajKxP(ǧ/br$)s%Mi$lXw \5.$7p.JVSX}sr-v.]WT߅fQq鄲eƝx;YVkplyd='X?+aNHW74X3[ [/[b+ܐc*Y-Mo}3Ry,fQl3'* 7^=DJZ'*zc51I`-rX[FlXAdF4) UIULXPz}kzPuORe9(c~tܯ.ķ C J6\ϝ&9diB@ T۶NE%kdlG*S"a5 ؅)|39+wAз"t.\9I#ÀȽM933ks3yǎy6뮻Ӌ_#f1bðO UDžJ7>zX"YlZN#ʤk܆ ko?P rU:Ix{Nb @"pC^&jY%Vjm'bݛecҽLSXk D9=X@e>^UOvuߡkb7ַ\i=yT͗atzksOhR]Mo^ L.}0>'M0 ='FP%]Ȱj#W %EirT*(J:캻nŞq\2[Dctm-Զ8HG';ۍ I`@_ YE gsFRQA~!unR[lR$QO︍z:}n64AVoPئ{p̹FGmsdmxEi e&@KY v RJUbʗ=L2i9$C1 4`UPbط*6}s};xw ׅɆ+l Tcpg*HehHR 9WX^J9Rx`>;p jUf L4oI~{}D쯅s'Z ٲwtBrjЭ/*uqVO+W'ˉR3P"t֓ϡP_b@ו„!CQ͙/Ml@t>,K4<#~9J7.c?چlMB[:SHq2ۘ3rade)&iNA ?.ksUPw 1]ݸtcO+)Dw-W͒^K:ds?1~B48tMyاF[k 12,cQh{vMoܻיz*qjP|!{,.m%i}Ǽ(fҋ<^yYpטJ R%t;Mny*_K XB,M#ffx nL3ƌ AKSt蕐WmGјRp DLkhm+͉V77>;E\jnw!r_,-rQAKŕ)\q5ryF &n (8D Dbڙ%Kho v(>tC=Yԛ ݽzIz| ՏĞe,{"Pdc&Po"":^T-NS]& 3mځAЩS%2P><^)sr&eTU%Dt҄pHzo_tCQ˼%oKrfo4K1yG9Y|l1,!Q+1# quów\9+" E)ikZX53G,r@ H_M/1GoA1X~'sfl~['CY!̯gz׫@<ğ/r\OdXK#zOQ &آ/^} NUlr(BWeH89ցN؏oȯw,SDd:> +3.X5!g㨓*-Q9CXx kx,D0j>G|"8χsHE*r:!I 3H߂#`G/?>K 4N$vJ\ u`WP[!C>g $8qyvxGA'r25QzC}%Tȧ_׮۟6_GN='r~bW7-ߍ8S@{D#}9Q], Ia\{GvdR:qIIlpYr'2#AFs?d7Ro Y{类mD' n5 2lwB=_܍~_jȡmԿM񯬵 1{f??MZiҖ df1 ŎxCe5%I|uOڬqWxzK*ĩ)?K7@/jKy`/o:B l5hdMƤ_28mC/b^]\{IZĔֺ`u#A}-;`4< K+gMөGV?BMWo<~bȧĉ>,_Z&S8!r\(ܩx͚,fQkV| *O'&3!{^59Y&*[3.uOp4RA>7h9P/Y~t2j3ۓVsf .hfI#ذ|7# s^:+.Q-m?Bn5= VbF4t -f6Hȑ!aJ9X`yrG3\'᝷]K@yM'7#@T7ANLKgò(4k7^x(gJ\I6=k}nrT9OjS|vt7FU:83fM*Ч#ۇ>O?;|sɷ>=ꧏ~f;uf-z6i&_h$Nd#-5Vӟ΢yD jC㤟~bwTZi#' d-g@"Gԅk٢(+_YP$>/Ϯ/[-~8J =#>W9SX [^M+|}^QO hp\.n$Zs-!ŁrCƌ0E8XfES l@>bx-?phA5aKH3%VzG)my^e٣'/4kFTw@%l6-A2&Ly&30e88e5 qb7[{$i1Oͅ ҷyyZ<#Z>nMSJ4i7&6 c+N1q {|y"h1W3m[tv`xiHGݫSZkju=m%ӍJ@Fwi*pNqQŀ۳$Gڛ]y ǫ@ 4apu,J)ڃkx40<SGHff6H3'A r$L{F8(k*',b&53[WdO./ܟ{pvz64ƵS+rU۰Z"m}R2ɓ_HS;  p80']x%8M 4%|:q Aᄱb;;8u__K~el=-G2X:1F2 K/ )M:?3^g;#<\q|GK>" kmnrUyڍ~A? R`kLb,i8n l_xxB؍H&h=$;$"8(B2F;g׼L\avcJ$m0mۧ0,, eo5 {:m7K&`^W1gQxCǶW 'O n>j-^Mny9mlzb[9ro9`tZےq>L;xEǏ5owd >VS5K\W&{1[܅Wb$:eȢR80j{>2`s??&r(bm@RHb:כd[ˍ(`-G$Ee,w8%-;WY^4{źYkmoUV6_JKZJJZWgJG$! 05,(%hHefn 9@@y/ܭ6ȊYN^8MJT#`uxEjDX)M[:^~&%)Ǩ09e8!>j6{̬2H (QX=Ķ xJȇiSs k1/25]г߈a&jɈ72.!ED?Oy)Asr}>%KOKs7IZ!oϢtonܭcW=Bjo/[JЀĒ#⏬'Ĵ~!h~Vxd`(C򉬈gspb'Z/+#Ιv~!GWD]h7^qز^"<`a_,-F|¦\= v>L8۫Kܻq4-v-N@C@LB׹{+m;!3ÿlt73ú!K&/$]X5qA)LӖ1'Nd-u]g?#O?o.A#yPL/D`!^L($'&Ї/xGjf*H <ᵑ2R1Ҍ?)@i(Ot~!U#BJJ#Sx>fxm|'a( `Oq;9.E=sR r\q(j=FBzԗYe öD2@0#@GȌ/% 럟,n$1n_7w'T 7.;^Ӽ 3GK.^*z^/ǚJ,dϋB;]O9|_A[5ØC'9W *1O~Mvl9n\?t|R*eFi Gi(G33f||vML?|]tjXno  S5umEgÙ\jE+sKځxkmEtRVu޴Y}!|ckeLv@6jLF(}Q,@" I%E˗F6IɓLmapLlܬ"lSGqۧ ̬H n;gĦqG?`r{ͣo}$agy$Вq4|xqTzc "!ǻ&n\:~|b/`5[Rvr[|NH; :ž>w0a!_ȚXe UڠfCi4T<~|o7I# 'TX)1N c0ܬ$dfactn"Qa.Jx~4gR`"NJc}BJ4ny乳{q{e˱}rfEžc|H2"I&P, >J s~MFK.Rҥ,X,F9`Ԧ(NM4Cģ&S$?P ,M4R6*pXEWLQ^(`rOdYWQR%,Hl^2RH s\GM3*g[-i,]..);_iuLkAQn= F?ϩ~q2|kݺ||ְ0 G0 %𤿣;IBnQn'=g839><;N 0).T?: Ny WS\h(T],+oЈI"Mru{d۝YHrYzC!pLm?h8z8R^Sgސ€ʙ[Ec>41ϕ|2䩘"QZlLm,7;~Y|DiBM@!gU涽fSc۫)u5Xe:C 9gf,!9R8NӃp\Nm/<\ l_\8?=@=WyH1)lT̢!pMBjA{dVx >x|:ɓX+tb$T^&L2OxCtos~ . BߟnD0Fx SF=!vJJ MB'j9Z0zIa(J%cRpR>[[ub] 2TaTv"#}Mxt0Bn)6Ux0 qA!dI疘Kqw`6<b!8]yzfC?%LjG330.H$e1#$R?t1uCw#rb UזFa#P-_ɦ1ivf"u ^ fìصgrl. 5Ɉ"r0 /2g22fN);22TP<\Y?yٌC=e)x"'s.M#.k7\b"Tez"˰z /vC?"lָpdg1Dxtډi,  /o 9:b&co) PωΜ֭CE|W_m'iO3Q"0\3QJnpjlUcke L5G[ /4HWn]4>SidS(3)va!!&h$F `82tĻ(H* c:r_:Olv} G4OwVO-wm% ;~%M8o碷E;81SX&ݿwaI#_I-Z T# ϚAW]bGF++,uYBYMYZ1^_UQت1oz 4`,O3ޢ%CqTlQSVdh[ P3҇ `h;Pá}TGh}(PCLJrٿ! ^ck TȐmpd*9W7捻BQ !bFd /l:}(ѓ;xKSғRS2c2mS RTR2kַfT!*}blDYբr)))s Q鵿,;)!s!XxWSw9i\s6rk'%F/֪\%i,]5݋U@ONؘH{hJ64TX&ҿ ZzafY1;Z=2}bue.Mnt#.X~Cmvyzv8M}~oY 19╎W Ϥ}Ha4p2m:Z2,Mk[dG+KŻAO/ӬT˥zyW~JR?S'vQuUN| qdn2S1sWARA# ;Sܫ)z~`"/+y7%Vņ9?p" +ߠ]ce;JS A;$t@@#ݚ<+ 3w'M/=\nqI;_O/eV_oShؙbtb}ZzK/%#չCRVetW)k.ɗNqMI?Wz3]I׌иB޾W^KHș#H% RR狌ALg^#,6a]+NE ]졂{zL4] .l>IPl_bʡ/˗X'N]5wҔѲFnlIwlbvT|FOmmx!"8,ٓАV(dsc_!Q:E2ߎn}CPar!qu 89 ()kfMHnk5!VٲAn Vȭ`׽; X&nr/q-KDx%2*Mr^_mVN=e#]bÏn6Xr3}&h.VQ4vE 8V_kً̊NI˒; A fu%f7Ro9;G9#5p1jwHxq{?xp;IYsn.!)Y]_P˷"#3{BySEaU*Z0_. d '@VF'O <%Iě)\ȑIKopkbawOZO*,d8J4NGG@D ΋/5z,]Eo}޷D:9d?(StSzMgpi})SmmnaR񭶕ʗ]Dt;q,?|bځg'6s@md|k󎄅F%IXy@+=Y?6uǝ~R[l>pcGL!k/^X)-<f[1+G:H2 2v艀x!޾M4X@H'L{-߈X'*&j+Ih,F G~$C.. *jhG3׽abG\R7T4Ev_OF_xk҂f_$(T4갰)ă A_M^.&"91u73ݻ_ygReZM!Jas&uGFK^v2*q9sP3~!7~Ym^ fhۂM4<;xp8I֮IQQ#x{j2Q(=f5iV%uQ\|fgKW;OO7!3T `zVm*)2R5 [F;cm!]G8xf>au&&\ON#*';r7uvΟWPlyy!TMG0( C^=y &q([ O¶A lIN]/Ol1&2TF'('/-~0.̺Ќ^FOy4';>/9:cQc͘Yg7jX9#2;wF%ncS2CYYEqfb+mw*-N+9#6$&'IhS`)Jb@~=&oWIq7Tvr!J?׿|{k0o2چiv<9\EMYE'CЅ:!&U¢.Fi˸70TRd&F%+9Ky]f=&'2zۖ4>ӏIt(Syroq?;u>[ؽ KӘRؕzoE@axB6*N:js3g萧^Mes'c WQ!MaVvPꄵo)$+YR<+WԸ"QQۉT.XgT &\@8#EgAzFi#ƌEt]NH6t\cF//l6z|oI<1' (y)F[v-x!i/z1u0jnXxlid=harvBE[]\ʍO\T95J  qdԈ"O{8/pzq %)zDG^oVJ D'Q E<$LЛ3(f}tfi]Ba{y )g W ;R![ZV<e dy%pWVGQwd9HFJ^?G!Vf5Rل{Iwc{3Rufw.icWM68)[O2IX (By'D x}JJ$5Uy K:PxcZBι*@ oU/n+_EЪfZC/z+0ڇ)RWX1ZNN%|K[ۦN FVn; 7LY:I bxXu:d`Ȍ,i:{j~wa&J<1 )1 0fCEKs .o} ;wWhS~!>=̵QĭXA^w]6EL7J9)4,^bp2 S@R`at)Z[hCUUi6 an ]VHo]v0`/C2LKl:zziچ; "*Bu[_I-j_nĄ6شv`waWZ%xIRZwkI8_ޙbV<:^pV5t͌B2(j/ФkO[eq};{ {_`uzb!'c0.i# _t,=ʢ\ը)IݑQ*.nk8T/yb:&A I`ӛ~?-%£}2nH,j0ٛ2mCQW($D:&"k}r>שkxI?kNzs+| @Յ/VnxV' -_ƍC EidIqtR"]@-]mCD׋˽^>IzIפPZNP X>P^Dx# kI}xl?o|Ը1Qlw/]kÁsN O1t `?Ɩ]Jk'vDj\((8~_izU߯ܮG9(1vZ ,y`7ڀG";D;Xmu2㺣n k2{xlwӹJ7vsج aoS,~A^0M.!,c0BqB=5x&Z",_u]Aʁ;=؞eeG,8hj[I'Q!b$w!OiNSX (N޴˫h=5玻lXQO9AT@؁9 :zo9da VL&{tR!T )(GdFLR nQǧlrz0{P.9y–֫&=p(&#ᦍ, g)2I{2SI3z²!n͐2=H0ۄN@MlYa$׵ !GgK$oa1uuFBA"qt[z]pĸ|W6K2{ r?Fdwc躡{ D(c+lX#|FFx(QZܦ0z2v{S|NN).OHJ[_X(^2#IRkehH-ʝlK<: cp#T{H>zz!چUL!:`:-LEQf8u#}zJ]3I`N9F$aOVV3{mw$;5!rN兴Kurʔ>_G=t4w ɖ*ِbc8g*<4X FҲ7P)dHfז Py^eml[1>|=qJ)3ҘaiJq LG?+senUVy`{qg4]|uN,e+ 4A-S&"r1O7Ń+* Tn.$M~ ri4Q.M.Qk\ :.gH'o7gbӦf އoȆÃǥ<9PľԳgz8A>\)7zš=PG#'{_dD}MD`tƵ<]^>ې`ȭ٦%^G`7(G5l֜=pДGG]ߋ{q<^"˝Iz!v{e T1^ᢚ*uŴU(4{HrëPưWq٬ gHJFem$m,{њ(\- ό氦:gѡ9Ƣn`K]F3:"JIzXT%auu4]$+W8L5QHuS!`h& iDHc:FQL $Q&ibLQCh}zO,͜ROƼЖ#l@?%qpB˚5RxWx/?|+#I0dB\_0[Iɒ?x[x(vv:ј!sG&ģW7Rl{l0#mGxv"׿,}DhVKTJL}}*?9wΔW6i`W?|pg2`@MBPʞ**{72dSI*B#͕c5a٫/C)Lk܆mu:JuOJBް0`-;ەK spgVhKhg )})¢- T&;#U2ɅyYd d {"] #_O8 p<$FXǀ|) $\,HG |[Qd*F-#rwMsy^Тeac"U۶۲ IBRAhŕ.'6D|_z5`lJ ''AR\^Āh K i5#pK88/'ZZϞ+ezrAv>іBL9Ț xY`]6o0fS>#f8':`0tβd,{h87a=9:)?bv>YTC9-]o}ftW'xx>ӗip-[U0m80A!=6( ?ꓩ#E.#=h}|o?inaMjUe<[aၒekJz)ǯ.uP*|jgp6bDUGӫIKS7f4dAe`A}j5)ο+ GVfv2jDhqK ͈Կjs*}@wi tJ\+nXpXx5na+2 A8U9q&A3Vf$J&8V5?!7ÌO{ˈޏ^99}$|[szm.6uR&^pSl sSM:.lvx- [Cp3BROqR-z_c0&TNt̽6vE, d<=oP) ^|"7!A Au8ԑ×b8 JG8ͫX e4{\߯eӧ}OYK\uن[^mLdu;1q{v=LۢEx2˖u~1nlJuY擯=˱Pt50(ŒדSo q.il1Z<@ /G5-T-uޓ9Jܕ%hi>_^+MBn-`4^3e٢%CŖ(~Y3!oʇ\O g]1rDxHz!7Y3^WSCAXUjH3\^g.hv\٣kÑrLg ޿]r 7p TfN| $׫X&+p708g5ͬwv)4 -4Mi}r,/h]ӣW*yPI7>d~iEUwɎHvK`MHthƚwt̶[zwmws:#S2(1Խ+ 4ogͿ=<(֛{GuVV];jYJ<Cl Z=!|Q"*qy. uW&7)$Y@ف%a'Pw5k7լA`OoS$3AїU=YNQSגGWk:Lb99 fkyN/r(euj2}V.8HPL@ߠ2.phQ5Ռ&97<UJ'@[܃l O]ixEu:p ^:}k ?Ӌ,AQ})ɪXGAWQ}ݞH7OXâڣ8r,Ù~"m=ȥ1ڤmVi+„m[kJPY? vpO ]l/j^iUē3^Ttir)>>.Mv]C|%~qA1|r\jaHgF-rQ16m+%ACQU^b,E.Y첎q{_S= IaMқ^UeZfvv]k| hmǻ>wBI[5MG1jmu 7MJtdn/f*́ULgY6A{;.KS98 VuC!*8")9+9S S?Mڗ-dCr矎³Zf 0pN :w79Oi{3Tom\b{F.|M~Ч0FfQl&5muŸ'&}umNz쭨'Re7?IYQQ&1HC@QW5uLCKl Y):Zbݕ\IW(tRQ(p;P@nj#قۿEjs13plKTXfZ5ij2{1ق0\êk3T%/1=eo~g~-4?Ul)šh? *PD Zm%ti;VM0094hJ¢"V,( ZzQSsN؞I ܼIudǫ;*ZelM[E{֝ʹ(2 ;;mnxgf>E}8H&FCM;˕Rꆒ}ZO +@i-U,"V>Y'>@8q-&֯rH~iBƷ <ƁIi3n/a;@DfjIr$&Ɖlީ%Ëq]MX$&R#I=5c]qirohAؤj)gԣL*P5<52yj̑MoZ$zgGZЯ1$1E?XUresd -*3V^unǕLASL8-ہ;F>M![e %D)9s"NC9bm䙦Nx&S)kB+tk3YT}/D|eɕR /ݡwXq2S.EjpIΣKd*טBSITC'#?Г,IX .7I1 >;`yWT٭]n>Dn/ؓkɐrY¨: A23ܐX@ vp*qo>p_}T412 dtPJ[ٔ-AU?dun4/\둦S}M)_3Fgjoˤ١4)T6w׃9%h ,:8ugm_-MK?/)z ֦l7rԑ8^2.>]U1._sa#/Mp)ʘxɘdWt+:]*/} WIs$]|uqTG^79R[|U] 8鑱=Ɨtre_ZJ9XTQ~-xy9]n;{-Xj`鼣_d9q)i՘|lУHZ=oBQJ'jsUpߦVmFԘS&Upk]&+T{yWi7tv/;&d9AKQК)K?s*AC"2|(ف&WNW]`zդul ^ў-7Nq&(2a2}: gSucE m 䅺+g:(2}=WW1R侎(WJR\a.䞛5on `!ޘKs,;ύ#[87_"aY9kaL˸4mlDB7ptk+Z|\HU˞i҈1j(->iQƍd\kV5Vr;k缿~҄s U!8oi , نko7Z%WO4_xj/9Uga$k=Xk|v  \BJ e@3l&`_aFŘ[|xW6nkmfܳ'Ӌ,KKpG;,'>m2Ʌ1O2ƥ'-aB(ZӴHyp[Sek g%i% v~v{BxOίC^˔L6B%1^1E\mmV"n7O zR=MIjfT2Xz;L. KX\x  iU D,uYe+Q.'?@QzLFdB&TCtf,:=%>""^$jҚ2Wl?xp{)41v'铜n;;7FG,ĭ~_گp`avU`9K} Ϙcf̊8֏P+Lā[^tfwp1~߻vo_?-"IMY"a qsM1ŀbOP0͇.w@:9a@21JqUE3PI霋8G8j g' ۰YI[N;jr)\u}%xrc^ƛy{ܔ[td6E  viB]7]s'[?tշO&GZ vs /w fʪ =\cJrU9uIrz\jIZI΢ i[iPI-&=J f8OzRD)젇x.w30C g{Ha`^-[צeắ-@JSE\$IlF|sn; ]tJPoW$<ɄXaG掍_vyR؋ܯ>]a`Z5@=s3mkz3h3jgXD/i`Po4tō }3 㸎FHLu/] Q$ZxиqgNU%HLR-괸x{|Z;x:re+4smh lp@3 $Yy7ウcmq]bBbRqM0p`~ VIRp%]( +OOn4oșE,VZ0?+@GiT#!dNaxRGZyF&84wCĀ 7߭\0X*QuIYza2BS!v`[Uu?7???z[vM=~ Ϣ>.LlJM3<Z&O@hXrk'rr'plOgWn0w_v5kخ ?}|Oo68|'9&{!kI9ynngA{&~)ﻚ\o^E tǺ/xnH&t]X㎩%kww7b;=1e zכ9:N5h<:Uٸ<52BPE\7k扟ϝzbr]_Vz]=ZU@ p1[K,?^ ; ]O}M.ag4N]2pi&Q=EG"(l('nEBudVqTB@"MIoOh+gs&=`~apn9scƔ-{θn<mIi`<PaT|IC@d(FA.q.jJ.B?@;NKUCV2ݍkXDpk23`Yà caz |Og=.]YwUU#`-d^#Am!~X8PͤJ Hj Jy&e2c0͍LRC&pH Z5úVzOzQ*>X52 V|̱- 8dK![ikE)Jl9q ֔ZFP30wdJ+;Vwo½&gl@)YgXYUq>g)Gںb%y8mgJqRдbe0~a_5i~<{}TT|XD// FUz>~sjOt5zWUzPgEM8󷶥Su{f d>E˧8u:!"L^`NkU牚r91eY>T㝦dI=3 ٔ}~os"avBH7[A_s;~č/LE$~5B?B A bsۍ0"%Q[s"GU= },t;2$$˲EP;7V~b>+a׋ v)Ϗl*  W vMi+d¬s_اu2k۞s9, gyJްmm% 62Xx$9~AxƨtvēeYSFQQH:Ҕ].z\sЬe674[}A9B5ŽŦJkaO̸>!\Ae7O?ϡr|s\!2 &F˭HGo^V -f"zB"z*\^g⚀WEA](?ǹqSD_LwuK{<1tCY钜ՇyϦ{ <1Y7[ү EP ]N,x lqݎۙ-3ce9i,t_ xZIUR*3*k*sgN W{7>싪U?LmQB%ҥW+TnT:j%rU${BC=䨆S>UDy)iA )Ŭ=GьW&--؟Pc '_0*kbT@xo2JUrfkqÔ|xE 0?>y_# 70y_} ݨ# P[Y& X>b/tɦa=w_YV):6UɟyR:$xbsǕJ+idۖ`Gn~,G3 p_z [v&Yjl>1,2:}uvx;n^eX`K[y);՟8%jUFJTI2N[$&g'*N*UMH!5ybb%I:֙ jjWRYW5QMyhjgE^991<^G=N|@Һ[ <MQ=qfSwQ vK3j>Tg1 b|⟆cngm& r9vqYU mlpl{iODHP(dO~eJO3wR8#Q ycݷS@)'"6"̄'cvϊ4Ϝ{naѤ\䄈/SΌ칾^BG!d|g?zwTTCV4R_̗4DO7 {9i&@FO%yaWAJn_!=?y7rS{ƶ%X"O7W$>>lAW͵|~U8sVCN#K-^L M3H l(Ϸ3[ZCs]{^lIu5,NG "l3Iyi|J3X1f$7;:|UKϤFmT{P2,r2$u9kNT̬ R_YAU!m:É"dtEfQWgM?HDOlo xyw2R r:v8oĿLZo9]^KGq%8cq(s/+Z(}@HXdHvHRj}ʓ 9èZ7~Ȏb(NpC?, JQސ˰Hm<ԩ)T./9-FefI$xb fhx !#)!d T6 B\\-K9+,5j2Ԙô2h Hm?atJ)u. /?שI{{ߺoMkϷ?=3mj$2s\ec[cjib HJE2J-a"6}$w%lRxe%m} E\;CV׃}(Y{D?#FZ0aYF!mqXXi|I[V-ʞzfdxV UfA^#֟BKRi"<~J"NqaNҤzVFaYRKhV|b){s2\*dܵŜ@DȳZ|L)nM1zv[M̳ߪ6경 eDڟ)4׸q02̂eLD8gF_zD=zb Ej&(kJ_ 7Ur"g~9h.`RZG/r"xo#J ~"d?m3j26U8PrVK<21e+K :3eoa<}0~"wI5+z\”M|/qg<-)QA+)Y]D8C0g1m VmGB ~VCb^` Fb"LgX:yS f7IS#>-:}ΎJ2lOЫ/"?eLIxB (֦f8TBH{{7jx+Q$ã|wH;bqDi?), xmn'O֋VdHYpw|ZCm񎤮;Q{5#d%TEh!|HA3LwJ(e%-;D>SY[lBIkYoۏ[щ- l'd@i''Oc -?fH6x5gm{4OL|ZtS`ZqF4d\w ?A~PS YAr$ Y8qnOF#?3GgGe2e-G-׌ڭI*Oe *[Ec/D53U0qe"jaYJK,\QFkkouIRNoI$e%X^ǣ|K ?k7(o~ ەo)dL>r>^h3ɣtrQ扱aDx$\>ėgDx➽"#YyWdUdbʿ)ݹIZ@EokPڊL_A\7n5K6r_{ 2@8rkTjf?4SP&f)ui,2,cii ~0yrGw˄`FogS{e9'FO{~0K.Mu5v2y`7L>noS#M~;j{F/FWAi>(I7wYBc>-= (TЧ,ƥw(lD0MIᕏۧd݄L M =v AdE~Ӳd37 "D*+3n[XZY;8:9A`G Q?`qxDPitpy|P$HerRhuzdXmvx}|`phxAdE&?XA_Y^Uݴ]?Ӽ~ޟ' DBLBX"JZ F &e;|8] &H, J#z]=}C#cS3s K+k[;{G'gE%eU5u M-G[Y4!#%:MAl _ iBA[~ WpA^:YcRz%Epz%XE1࣭#.8^ǁwryr Q; ߁|.789Q7bO+L;z&!nk pΌ!e]9'ݩ'Nt<47os>UawE,nݺ KlONsM\j&F9OM%yfq&3c/,R}c\}$!l}Pg ,a\ȶ.^s!bDrȕe!#NU*Aߢ.NCg EAEo dm7 +)/RSmCh캯11AYdO!By]":f(QGX(Fiٺo]G8Wu"8%.@ţquÿcZg1I8jGgcFuur4\4vι]QC߮#EIu.7Z2/81"2-Gi-+àq?rk`Q NҗOF[N&RnE^3<:ݦPG!qRQR(_?ﮬ٪xC= sX/bGeZDQ;&h1t66ڍWpQ`؊uǦ} \0TRG:j'C:k/,˱dKsЬi8٧/}jK|7\"똡V:xΥuTevwHΌ*݀j19Kou%p/kȁېc~Ri,WrYfL;񏐄9z&ITx8q>)Su>xd^Պ)7u!p>e4SԲ]6 |OΛhSAء8-׳@fķ$?P"ߣr:sw5}uRZrlg J@azg&y:Y-_OkJzuk8ԚoK~ vLId*'N4w:"C_] !{c𗵳Fn~l\~ڣɦv wwgo\&w!ݸWbFuyÚ^uJ>y䘉E6?/x sJ͉'PKZzzDplugins/wps-limit-login/assets/fontawesome/webfonts/fa-solid-900.svgnu[ PKZ{lDplugins/wps-limit-login/assets/fontawesome/webfonts/fa-light-300.ttfnu[ 0GSUB %z8TOS/2?PVcmap(d -glyfi,EXq`head A6hhea;$hmtxM 4loca`-L: 8maxp name7Epost|=%hC_< ֺ"ֺ"  0>DFLTlatnligafGfPfEd@.E@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ```@@@@@ @@@@@@@@@@@@  @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{8(Pp$ d $$4D$pD<ht$,H\ @ !D!"T"#p#$$%H&&'h(()0)*D*+P+-D-.X/p11234(568 89p:L>?@ABDE EG0HLIIKTKLMNOQXSSTTTVlWTWXHZL[L[\^(_d`<`apbpcdef8gti$jklmhn0o$p,pqrstv vw4wxDxxyyz4z{\{|}XtD| , L $T(t4H\@(dxT$8dL`lhd„pĔǨȰp̬ψАDHӤԴ$נHؠDٜڤ|4ݜ@ߐTT`8d(0lppdd\HlPxl d  (  T Px$P!0" "#$&('X()+0,./$0X2234h5<5678889:`<(<>P?|@ABCpDXE\FGHIJKXL8M(MN\O$OPQR`S4UpVWYZtZ[D[\] ^__`btcLdLdepf0fghghhphi(iijHkxlnho@ppqLqrs(t8uuvw xxy{|}~t8(hth$T`l@HhTdXD08dhHxhd`0DXlDD pp0 ŐD`ΨшӠ(ՠhxDP ڨd8Pld,4 T4TlDDD@@t$x<t    Pd`(PX  !<!"#@#$%P&H'))*+<+,-.//010234@56(6789$:;p<?@A8BDBCDE,FFGHHIXJxKL\M8NOQhRSPTUVpWX|Y[\ \]<^(^_`xab,cDd defglhijLkkkllm$nxo8pq`->Xau26=4&+54&#!"3!26=326=4&+5326=4&+5'#!"&5463!2654&";26=4'&'2"&46+"&=46?27@  @ r/B/  X(d    (0`0(@(@4  !//!j((  /?Oir!"3!2654&#!"&5463!2#"&=46;2'#"&=46;2'#"&=46;2654&";26=4'&'2"&46+"&=46?27` `  ,hhhhhh/B/  X(d       @@B!//!j((   '2".4>7"2>4..467"3;c::duc::d:CrCCrrCCrc)77I+J++J+:duc::duc: CrrCCrrC| DZD/+JVJ+BNYf%/&=46;2"/"'"&4?.547&54>3223>32654&#">7.#""2>4.* @7M! $::$ !!%4!7 7!4%)E /!# E) #!/4X44XhX44Xc,z& j" $))$ "U/81(4##4( 08/U` ,!!/+ - /4XhX44XhX4/?+"&=46;2!26=4&#!"!26=4&#!"%#";26=4&`LLV/?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"LLLLt/?#!"&=463!2!26=4&#!"!26=4&#!"%!"3!26=4& LL/?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"LLt #,5>f7"264&3"264&'"264&7"264&"264&'"264&'"264&7"54&#"."&#"&'&;26?6=4&+"/&6766=462;26=462;26=462;26=462  Y      G  G  G  ! $ ! ' r #!  r %        `   @       !! .h"#x! g 7      P  #S\ov#54&+"#";;26=326=4&#54/&+54&#!";2654'32654'326=4&"&4627#."#"&5463!232#"&4627#."#53(808808MT,/B//B/:(ܰ !&!  > , TP(< !&! 880880lT1!//!!//!`((` " Q T((``;%&'.'&&'&'6.6&#"?277327>?>676&&67676&&'&4676&#"&'&613264&#"1&7>32?6.'"'"&/&6?6?65>76767676'.32".#"32671>'0#"&462707632"'|7O  !+!0 )7S !+!0   $  (  #%      $V>)6&%R>)6&%  $ (  #%       %   )*  $ M+;S $ M+;        #  SE&DnSE&D         #  J BHQTW%&";326=4&+5>.'&#";.'326/&";2>7326'462"&7!7 D1 `A44#(44A` 1D D4 " _l_@ 4zD4G"$0#&#"G4DD/%$(*I- K*7'&4?62762"'764/&"'&"2xt dd t t dd u v ff vv ff v+A*?62"/&42?64/764/&"v ff v}v ff vt dd t t dd t +A*7"/&4?'&4?627'&"2?64v ff vv ff vt dd t t dd t K*7"/"/&4?62'2?2?64/&"t dd u t dd t v ff v}v ff v 7'&4?62762"'xt dd t yv ff vA?62"/&4v ff vt dd t A7"/&4?'&4?62v ff vt dd t  "/"/&4?62t dd u v ff v+;K!"3!2654'>=4&#!"&5463!27#!"&=463!2#"&=46;2``$  ` `  hh    p  @    18"2>4.".4>2#54&+"#"2?64&'3533CrCCrrCCr:cud::cud:X@ P @  `@`CrrCCrrC:d::cud::ch  h  18%4."2>".4>2'5326=4&+54&"26'73#CrrCCrrC:d::cud::ch  h CrCCrrCCr:cud::cud:X@ P @  `@` 1872>4."72".4>#";2?64/&"5#535CrrCCrrC:d::cud::ch  h CrCCrrCCr:cud::cud:X@ P @  `@` 182>4."'4>2".73;26=3264/&"7##5#CrCCrrCCr:cud::cud:X@ P @  `@`8CrrCCrrC:d::cud::ch  h -232"/&6;54637#"#"2?64&+54& uu VVU , U    %=!"&=463!2'326=326/&";"&=#".?62+#thN ^^ > ( > `    p  p%=546;2+"&7;?64/&#"46;54>.=#"&5`    p  p hN ^^ > ( >%=+"&546;254&+54&6=3267+/&4?632`    p  pthN ^^ > ( >%=!2#!"&=46#"#"2?6&+54&'232"/&>;5463 hN ^^ > ( >`    p  p-%+/&4?63254&+54&"26=326     uu VVU , U-746;546&=#"&5';2?64/&"#"     uu VVU , U7>!"3!2654&#!"&5463!2#54&+"#"2?64&'3533`  ` @@ P @  `@``p ` h  h 7>%4&#!"3!26%"&5463!2#'5326=4&+54&"26'73#`p ` h  h ` `  @@ P @  `@`7>3!2654&#!"2#!"&5463#";2?64/&"5#535`  h  h p`  ` @@ P @  `@`7>!2654&#!"463!2#!"&573;26=3264/&"7##5#0` `  @@ P @  `@` `  h  h -=232"/&6;54637#"#"2?6.+54&54&#!"3!26 ^^ NN> ( >h    p  pL-=%+/&4?63254&+54.>=32632654&+"    p  pL ^^ NN> ( >h-=746;546&=#"&5';?64/&#"%#";2654&    p  p ^^ NN> ( >h-=3"&=#"&?62+#326=32>/&";3!26=4&#!" ^^ NN> ( >h    p  p-3"&=#"&?62+#326=3264/&"; uu VVU , U     8"2>4.".4>2'&"54&+"'&"2?64'CrCCrrCCr:cud::cud:\ S R s sCrrCCrrC:d::cud::c6UU ss  8%4."2>".4>2/&4?6232+"'CrrCCrrC:d::cud::cGtt UU CrCCrrCCr:cud::cud:]s s S R  872>4."72".4>"/&4?#"&=46;'&4?62CrrCCrrC:d::cud::cHss UU CrCCrrCCr:cud::cud:\s r R S  82>4."'4>2".?62"/+"&="/&47CrCCrrCCr:cud::cud:]s s S R 8CrrCCrrC:d::cud::cHss UU %'&"4&+"'&"2?64'    x  .762"/+"&5"/&4754&#!"3!26$  s s ]h t8t -"/&4?!"&=463!'&4?6232654&+"( t8t ]  s s h.7'&4?62!2#!"'#";2654& t8t $  s s ]h-%"/&4?6246;27623!26=4&#!"]  s s hx t8t 764/!26=4&#!764/&"2x      !"3!2?64/&"x      .>%"/&4?62546;27627#!"&5463!24&#!"3!265\s r R S d`  ` tt UU `  .>7'&4?6232+"'!"&5463!2'2654&#!"3tt UU `  Es s S R e` `  -="/&4?#"&=46;'&4?62'!2#!"&546"3!2654&#ss UU ` ` ?62"/+"&="/&47463!2#!"&73!2654&#!"es s S R e` `  ss UU ` ` -%"/&4?6246;276254&#!"3!26]  s s  h t8t .7'&4?62!2#!"'32654&+"ؔ t8t $  s s #h-!"3!2?64/&"7+"&546;2t8t  ] s s  h.?62"/+"&5"/&47'3!26=4&#!"$  s s #hȕ t8t 72?;2652?64/&"    x  !+7!54&"26=!2?64/&"/&4?6%&=46 @ @  @ @ @@?@@// @  @ // @  @ @@@@+77#3264/&";#"2?64&"&?62#"/&6;2// @  @ // @  @ @@@@@ @ @  @ @ @@@@CO[gs%#53?64/&#532>/&";#54.>=3#"2?6.7&=46'"&?62#'&4?6'&6;2"B2l B B l2 C  C 2l B B l2 C  C NCCBBCCBBDl2 C  C 2l B B l2 C  C 2l B B BBQCCBBCC!+!764/&"2?64/!2?64/&"4x4 TT 44 TT  33 T T 33 T T+7&"2?64/&"2?'&"2?64' 33 T T 33 T T044 TT 4x4 TT c%"/&4?6235#"/&4?6235#"/&4?62"/#35'&4?62"/&4?5#3762RJ J )) II )) J J )) II ))  II )) J J )) II )) J J )) -ARclu~"&46326476767654.""&54>24&"265462267>'.'&7>'.'&"264&"264&"264&"264&7' ,  #;F<" +JWJ,  1V9Q9 '6& k , &  D9( #3    G  g  G  @@@  ,< #;##;# ,J++J, 1(::( '' 5 $= 5 .O F)O   @   `   @   K@@5%'7>/.54&+"'&?;26=6?6&ۻ    Tll ll ll ll JY"3267>/.#".4>2#"&?6&+".#"32767327654'."&547>32CrCCrC(K  B";c::cvc" 2 !  '"=0+ O)'" rj-CrrC :cvc:2-/:4  (#%\4 '$@C64;$ #$;95@NV!"3!2654&#!"&5463!2#+"&?6;2+"/3'&/746;2+"&57264&+` `  D  ;; /2n6-55-6@"#    )   33 3Z3"@" "%>54.?%>54.?  ,    @    @   (i~%4&'6.."&7267>'>#"'#"/#"'&?'&'&54?'&'&767676327676'"/&4?62762 &3.4.3&  &4 .4. 3& [  0" 8 "5 0" 8$ V  E  .3&  &3.4.3&  &3.*  8 "5 0" 8 "5 0V  E  (i"&'.7.467&>>26''3276?3276'&/7654'&/76'&'&#"'&32.4&  &3 .4.3&  &3.^0  8 #0 5" 8 #@ &3 .4. 3&  &3.4. 3& [8  0 5" 8 "0 5"@.7MPUjmr>5326=4&+.#";#"3!26=4&+462"&054&/&"32>5'#3&'154&/&"2>'#3&0t} ++ }th0@ / $ . C-4pP 66 / $ . 4:4pP 66"##` -KI/)7, 5-KI/,,  "2>4..67&%>CrCCrrCCr'$1*ki*kiOCrrCCrrCo(ik*$31$Oik`'09BK!"3!26=4&#"&=46;!!+32264&"3264&"264&"3264&"0 !//!!//OPP PP  h  X  h  `/!!//!!/4     `     /?O_o#";2654&+";2654&%!"3!2654&#!"&5463!2#";2654&!#";2654&+";2654&Cu     800}0000`00``0  0000 )>Scs#";26=326=4&#54&+";26=4&#";;26=4&#"#";26=4&%#";2654&32654&+"#";2654&+";2654&3#";2654&xxݐxx00M00M00= 00@000  '1;EOYcs4&+"374&+"374&+"374&+"374&+"3;26=#;26=#;26=#;26=#;26=#7!"3!26=4&P`0@` `0@`0@0@@ P`0@ 0@xpp #'+/37;?13333333333333333333333333333333  $    s/!"&=463!2!"&=463!2!"&=463!2LLLN 6>F"2>4.67'&'&7677&'>67&'&7'6'7&547CrCCrrCCr (  'g36* %   ,73e  CrrCCrrCh! 0911* !$ &! ,611-# !' { >> %&# $&#" >#/FOX'.#&'&71676'7676?>'76767'67676?6"264&"&462s7E8=E A EVNE # !+& &F  ! /B//B/((  $).6>.>&.'7767677'7%6?677'6767.'/_!!__!!$E94K=2A A0?*4N;82B,3C ,W$C65 O;6o0!!__!!_8;$=+?G* A1 49E", C3,B2u6;O 56C$ ,CGJNQTW[^f%?6=&'&"'.5767676762'''#"&=463!2+7'7#7'7#'7'7'?75!353l] TMNS ^l *8FE8) KBBKp/,*@*S@,/1?'$$+++s7 l-$' |Q-**-Q| '$- $))$ ;HHHH@,,*)@,,* 5++(5ZZ::SZd%!546322?64/&"..#"#";;26=3!27;26=>=326=4&%>&6#!"&=!L Z$ "*  -&& .Z *@%,,%@- &&@#7Qh++7326=35#54&+&'73232546;7#";7#"&%#"&?#"&?>;232'#76&+";2?6&  [  _c  "8h6,`ha,   00   !!Ks `-23##!"&=463%!"3!26=326=4&+54&0    @ 00    `-=M]m}23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";26754&+";26754&+";26754&+";260    <@@@@@@@ 00   tttttttttttttt`-=M]m23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";260    <@@@@ 00   tttttttt`-=M23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";260    <@@ 00   tttt9G%!"&=46;#"3%++#"'&6?632!232#54&#!326=3NOf P j5AP  Ǹ @   Ȑ I  [0 0`-=M]m}23##!"&=463%!"3!26=326=4&+54&54&+";26754&+";26754&+";26754&+";26754&+";26754&+";260    <@@@@@@ 00   tttttttttttt@$.5!2#5!#46;2462"&7264&"!546;24&+3   8P88P8 &4&&4& (8 &tt``ty(88P88(&&4&&:@ 8(&`)3?KW#54&#!"3!26=7>=4&#!"&5463!2532'"&=462"&=462"&=462 =&Z   ` .    @     ` & `         A!KY7"&76767';2653'"&53'6&'&'&'&54.'654&"'&"2?642>p    p&4&8$T @C  #=&!7 # #;" 9 (?2" '&& @ ;!  "2'D-  #s  ";#J+" *1G%&'&'&54.'654&";2653264"&537!"&767654>2 #=&&=# p&4&p @  ";F;" R "2'D-  -D'2" '&&'c @"+J#;"";#J+"9HMTl"'&+";#54&+";&#"326732?2>."&4632;7#7#4&'73.'&67?>/632T D;)T 8 #;"";#,E 4e ":E;##;](88(C k 1AQ1H({%65 5(8. @  - #:F;"6*4";#!:F;$8P8_$`G %35&&S T8(-CM]aeiy4&+54&+"#54&+"#";26=46;2;26=4'&'&'&+"&=37#47671676735#53#5373#531#54&#"&=3  P @ P    `h`  `   `@@`@@ @@`  ` H (  ((  ( &)4004)& T/%$ ! @ ! $%/T  ,Bj"&547>76523"&547>76523"&547>7652#5##5##5##"!54&!5>76227676762276767625&'&""'&'&'&""'&'&'&"5463!2`  r  r  " ` `                  ` `   %&   %&   %&H    (    @ *2;&/7'&6>/#"26=76?5'26"264& Cq x G 07 I"* . Oe[6Ʀ ډ""@ +67>4&'&+";#";27>4&'32++532/* ''n%,$y!t|+42?6  ?O< $%.4*-C0232"&?#"&?4637#";32676.+76& "h  1j  vv@&  > |   % "T&6CO\ht'&"&#"2>54'764/7#"'.7>3277+"&46;2'"&=462&4?62"'&462"'"/&462#""&546328&  7^98`s_8 &8G/Q0%!1;1O/ cm<    H  U   &  8( {8& 6]7:b:8`8  &8 /Q0[6/N.c 70    3  g & (8 :>GP#"&=46;254&+";2632#!"&5463!2%!!6;#"&7!"3dA!//!X  `t 4/!`!/   &Q``p  !"74&'463!2P   0pp8]]  "+4"2>4.".4>2"264&74&"26"264&CrCCrrCCrC;c::cvc::c c CrrCCrrC0:cvc::cvc:8 3+=Q~%&'&'&'&'&7>76'."37>#&'&'&7>2#.76767673&7>76'."37>'&'&'&'&/#&'&'&7>2#.76767673  ):)   M*n  0   ):)      *n  0       ++     'r' &r  X"_%  %_   ++     (q''q(  b  X"_%  %_")3@U'.#!"3!2>54.%32#"#'>;#"&=33".4>27&"'&"2?64'"24X4&C *J! .(j+J++JVJ++JE7^;d4X4-N6oU" -dU+JVJ++JVJ+F7^(2'.#!"3!26544?>;#!"&=!5#53232 2 ` Ѝ2  #,1:C%#54&#!"#"3!2654&3''5#3753!'5#3753)53753p   ` @ ` `@@@@ `@@@P@P@@@    > > >kk > >kkkk#@7/&/&6?'.?>76#!"&='&54>;2>54&+"2#.547#"'&4?62;6;54&+"32+!5#"&=46;2222" 10$ 3&)Z/# "s *+  "W I  `aZ[00, /(HGPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&@                       P     P     P     @   #=AQ%#54&+"#";;26=326=4&7#54&+"#"3!2654&%3##!"&5463!2X808808up p܀ `  880880H  H @@   15?#54&+"#"3!2654&%3##!"&=3;26=3!3#'5463!2p p܀ `  P @@  `(  (   (  ( @p p '!"3!2654&46;##!"&5!5!5!2`< 0@ ` P `0 @  @ 0AH\%#5764&"#4."#'&"#";2?;267264/6=3264&%2#4654&+"".=! @# $(";F;"*, +@ @9 8A$ $A8 9@ (887'B'@'By$ ##;"";#+ ,y  6-: 77 :-6  8((8H'B''B'/?O_s+"&=46;27#";26=4&#";26=4&3#";26=4&#";26=4&3#";26=4&!546;463!232'!3546;2((t(((({(((({((@ P @(U((((`((((`((((  8@UUA6GQ[54&#+";32676&'.76&'&6726=264&&/&'&73'546;#"&&'&'56767  =CXX  ")    VXB=   $  J  8:GGGG;7 5 +`!%(    * 5  &! ` ," "+ &3<2".4>7"2>4.2".4>7"2>4."264&:d::cud::c;CrCCrrCCrC!7 7B7 7!)F))FRF))F)!!.!!:cud::cud: CrrCCrrC 7B7 7B7 )FRF))FRF)`!.!!.!!72>54'&4767"'#.654/&54767V461WpW165 99 '! !'xx)B(66(BMQT:>`66`>:TQ1@@1$22KJ2K:X5445X:KKOWaku7"&4627"264&7++"&=#+"&=.=#"&=46;547676232!5!5!."#;265!5#;2675!3!26 s 00  (!9.`.9!( @5UdU5\@0@0 ` ` P  P %  %r Kpp #3CScs!"3!2654&!2!546!"&5!+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2P   ' @ ((`((`((((`((`((((`((` PP @ 0 ((((((e((((e(((( #-7GWgw#54&+"#54&+"#"3!2654&!2!546!"&5!%#"&=46;23#"&=46;23#"&=46;2#"&=46;2+"&=46;23#"&=46;200`` g  (([(([((e((e((((4444` 00  ((((((`((((((#-7L#54&+"#54&+"#"3!2654&!2!546!"&5!'"/&4?6276200`` g  I D  2v  4444` 00  ÆD 2u #-7EU#54&+"#54&+"#"3!2654&!2!546!"&5!'&?62"/&4?6200`` g  "#M"4444` 00  "#"#-7GP#54&+"#54&+"#"3!2654&!2!546!"&5!32+"&/&6"&46200`` g   ,4444` 00  xx #-7G#54&+"#54&+"#"3!2654&!2!546!"&5!'#"&=46;200`` g  c4444` 00  #GQ[%++"&=#"&=46;546;2327#!"&546;546;23546;232!54&#!"!3!26@DDDD00`   ` tDDDD`444400  #-7[#54&+"#54&+"#"3!2654&!2!546!"&5!'"/"/&4?'&4?6276200`` g  p 00 00 00 04444` 00  ` 00 00 00 0#-7#54&+"#54&+"#"3!2654&!2!546!"&5!00`` g  4444` 00   %>X%".4>2'"264&463264&#"267232#!"&546;7>37#"#"3!2654&+'.!7 7B7 7!$44H44D  &  dn ` n XX( 7B7 7B7 4H44H4X   & ;    6 ! & %5ITd546;2+"&4."2>'"&462463264&#"26%#!"&546;76;23254&+"4&#!"3!265 ttX 7B7 7B7 4H44H4x  &   `"  `  !7 7B7 7!$44H44$   &  -$ J  2?H232#!"&546;7>37#"#"3!2654&+'.".4>2'"264&Dn ` n XXQ!7 7B7 7!$44H44;    6 ! &  7B7 7B7 4H44H4)'0:C%'.".#"2>=27>2#546"&=36'&67&/7o3< ;&44<4p4;(H!//!!//?009@//!$.444Y/!pp!//!PP!/fRPS@ !SOS Vdr7+"&462%";264&7++"&=#+"&=&=467#"/&6;27>;276;263!2'.+""#"'1;265%01+;265'!"3!26=4&#";264  # #  Z 00   ''  ^  0@ 00& p &` p  ### X &8))8&  BB 5  &8  8&P *"2>4.".4>2'5"2?64&#CrCCrrCCr:cud::cud:x`` `  ` CrrCCrrC:d::cud::c``  ` `  *%4."2>".4>2/734&"265CrrCCrrC:d::cud::c``  ` ` CrCCrrCCr:cud::cud:x`` `  `  *72>4."72".4>#2?64/&"CrrCCrrC:d::cud::c``  ` ` CrCCrrCCr:cud::cud:x`` `  `  *2>4."'4>2".?264/&"3CrCCrrCCr:cud::cud:x`` `  ` 8CrrCCrrC:d::cud::c``  ` ` A! !"2?64&'!     a 74&"26'7 @  a 2?64/&" @  "0!"3!2654&#!"&5463!2'5"2?64&#`  ` ``` `  ` `p ` ``  ` ` "0%4&#!"3!26%"&5463!2#/734&"265`p ` ``  ` ` ` `  ``` `  ` "03!2654&#!"2#!"&5463#2?64/&"`  ``  ` ` p`  ` ``` `  ` "0!2654&#!"463!2#!"&5?264/&"30` `  ``` `  `  `  ``  ` ` A 7!264/&"7!   ` B,5>BX!'.+";2654'3264'.#!'!26?6&"&462"&4627!'!"/&6;546;232(Y UOF%6% %6% L + $4 4##, 4%%%%6 @   -t4444B,5>Bf!'.+";2654'3264'.#!'!26?6&2"&46#2"&46%!'!546;546;232++"&=#"&(Y UOF%6% %6% L +c  3$$$$$, 4%%%%6 @  d$$$$G%'7>&/76.'.'.'&?6?6?>/7>&//&/&?'.?'&6?'&67>7676# '' ## '' #.7 6 '' 6 7 )) 7 6 '' 6 7 ))' "" '' "" '-6 7 )) 7 6 '' 6 6 ))  6 6 ''  &%2#!"&546;2%'&"!'.77!TTV xZ cYV> h6U`Y9$4DT%2#!"&546;2754&+";26%54&+";26'54&+";26'54&+";26 `` hFTT6A%2#!"&546;2"/"//&4?627'&46;24+"65 $`74&#'3'54&#76764'%4>7&'&:^8 C4*J,-74]8^: X<@G%pP,L=d;E846 . /R5!0,. ."2>4.".4>2"/&4?62762CrCCrrCCrC:d::cud::cS V  E  CrrCCrrC0:cud::cud:W F 4!"3!2654&2#!"&5463'&"'&"2?64`  >  E  V `  ` bF  V h '&"2764/&"c  w ,  dc  w,  Oow754&+&'&5326=4&+5676514&'>4&+"1#";#";26=4'47>322?#5'&'&3#6#5753 - ( -    -% < "< V}  $T   T$  66% ,%' ** ^,@BN^73567654'&'>54&+"72?#5'&'.547>32'"&46;2#!"&=463!2   ' 0 'aY  x  : S 0 |(&::&5A?#  #?ADaY3'22(4.FM   @ #'+/37;?CGKO!!!#5;#73#'#5;#553%#5#5;#'#5353353%#553353'#53#53#53 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3CPYiv#5326=4&+";#26=4&+"3#"3!26=4&#!"&=463!2!"2>4."&4627"/&4?627"2>4."&462'+"&=46;2XxHHd0 0P!7 7B7 7!$44H44 ( ' !7 7B7 7!$44H44@   7B7 7B7 4H44H4 ' (H 7B7 7B7 4H44H4883CPYfo#26=4&+"3#5326=4&+";#"3!26=4&#!"&=463!2#"2>4."&462%"2>4."&462'+"&=46;2"/&4?62XdHHx0 0!7 7B7 7!$44H44!7 7B7 7!$44H44@( ' @   7B7 7B7 4H44H4 7B7 7B7 4H44H488 ' ([_lt754&+&'&75326=4&+76&+5326=4&+54&+"#";#"#";#";26=4'#'13#6765#5753   11   ; @ "<T~%! a  a &664`` $$ 7A#!"&=463!2!'&6;5#"&=46;546;232+32'!"376&hVV::::-NN,"8::8"@5[c"&462#!"&=4?5463'547'.=47&>;22'3754.+"?6?6?'5#!T     S,K, Ȑ#<$S & .  88   l ,K, %$<#l #  8  a;DT7!54.+"74?'&6;2!546?>=/&57462"&#!"&=463!2(@4X4t   t+J+ > !  /   Hh #?4X4      +J+ !C + r  @5>DL%54&+&'326=4&+64&"#";#"3!26=4'2"&463#6!5753 ;R;(((8((Hr 6BP;;PA766S(8((8(@88@.7=M!&'&'&'&'326=4&+5>54&"#";462"&3#6#!"&=463!2   8P8   8&4&&4&'2""($'((88(('$  &&4&&FWII\gs{754&+&'&=326=4&+76/&"&54&+""'&+"#"'&'.#";#";26=4'7677#'3#6765#5753"&462 2   2  $D$< V ~D(( {     { %*66O XXw %) !(% !7g!"&=463!2"264&'2"&46#"'&'##"'37'#"72327>!&6?63276746;226763h  !!/ i > :#[[$: (ii(   ) @ !.!!.!  E%%e &  A 5IQ7#546312#!"&=4?546;65'&=46;232'3&=75##5##5#'5#!0 ! !Μ(( @ (( 0  66ET! ]  ] !TE%G](Q0000Q(\/7G7!&'&576=4&#!"73353353#676='#5462#!"&=463!2P$) 0 ` 0008h-'CIHD'-) n  n w0000c0/!;?@:"/0}8  %'54&+&576=4&+"#"14/54&+&'&75326=4&+76&+5326=4&+54&+"#";#"#";#";2651;26=43#13#6765#5753753353353#6'5#5753'#546;2      11   @ @<T~P 0 " n N$  -7C  C7-%! a  a &668` $$ 1 1;00;f&  ."2>4.".4>2764/&"'&"2CrCCrrCCr:cud::cud:s cc s CrrCCrrC:d::cud::ct dd s .%4."2>".4>2'762"/&4CrrCCrrC:d::cud::ct dd sCrCCrrCCr:cud::cud:s cc s  /72>4."72".4>"/&4?'&4?62CrrCCrrC:d::cud::cs dc sCrCCrrCCr:cud::cud:s cd s  .2>4."'4>2".7"/"/&4?62CrCCrrCCr:cud::cud:s cc s 8CrrCCrrC:d::cud::cs dc sz+"/&4?62762'&"'&"2?64'      ^  n  z*'&4?62"'764/764/&"27^  r        z+"/&4?'&4?6272?64/&"#  o        z*?62"/"/&472?2?64/&"      #  s  )'&"'&"2?64'     764/764/&"2     2?64/&"     5!"3!2654&#!"&5463!2'&4?62762"'`  ` s cd s `p ` t dd s4%4&#!"3!26%"&5463!2#%762"/&4`p ` t dd s` `  s cc s 53!2654&#!"2#!"&5463"/&4?'&4?62`  s dc sp`  ` s cd s 4!2654&#!"463!2#!"&5"/"/&4?620` `  s cc s `  s dc s:72?2?64/&"   R  (J&"."&";27;26=764'2"&46+"&=#+"&='&462376258N85%M!!M%%6%%W     W  NVN e'77'%6N!!N6M%6%%6%V  pp  V  OO +".54>7>=4&2>54.'& 1O.:cud:-P1 9]4CrqC5\9  4.".4>2CrCCrrCCr:cud::cud:CrrCCrrC:d::cud::c"<Q#654&"#"3!2654&'2"&46#!"&546;;26=32&"'&"2?64'PY!.!Y    00 ; v2 C !!` P `  tu2 D (1KTn%#";26=4&#";26=4&'"264&"264&#654&"#"3!2654&'2"&46#!"&546;;26=32pppp  Y!.!Y    00 `h`!!` P `  1:#74&"#"3!2654&#!"&546;;26=32'2"&46PY!.!Y   00 !!`p `  P -"2>4.".4>2'&=46;2CrCCrrCCr:cud::cud:QG CrrCCrrC:d::cud::c;4  +;!"#"3!26=32654&#!"&546;;7#!"&5463!20@0d  0`  @ 00@0 @ 0 @ .>^'&"2762'&547>7!"3!2654&#!"&5463!2'&"2762'&547> 6&5 Q 88` `  1 6%6 Q 88=#/" x    L=#/" 9QT262#!".5467&54>7"3!2>4&'654.#".#"2?64&+54&+"'-HD/#.8(48)'B'.P0+5'B'p#;"%4L@ P  P @`PP2(/!5$(84*? 'B' -M.K.'B'";F=4 #(T HH TyHH9W262#!".5467&54>7"3!2>4&'654.#".'&"2?64/&"54&+"-HD/#.8(48)'B'.P0+5'B'p#;"%4LD c c D2(/!5$(84*? 'B' -M.K.'B'";F=4 #(D cc D9QT262#!".5467&54>7"3!2>4&'654.#".53264/&";;26'7-HD/#.8(48)'B'.P0+5'B'p#;"%4L@ P  P @`PP2(/!5$(84*? 'B' -M.K.'B'";F=4 #(T HH TyHH9W262#!".5467&54>7"3!2>4&'654.#".52?64/&"2?;26-HD/#.8(48)'B'.P0+5'B'p#;"%4LD c c D2(/!5$(84*? 'B' -M.K.'B'";F=4 #(D cc D9262#!".5467&54>7"3!2>4&'654.#".-HD/#.8(48)'B'.P0+5'B'p#;"%4L2(/!5$(84*? 'B' -M.K.'B'";F=4 #(>n2376#"'&'&+"&7676=4&#"&54>26/&>7"&3267;2>/&'&532>54.6. 0 ,08' d '80, 0 +A$A'!9"  d  ,"9!'A$A&:),'6 !  ! 6',):& 3O'<%"9!  ##  !9"%<'O38ALX4&"5>54&"2654&'>767167>7>%462"&"&463127"&462/B/%%$/B/$$/B/! + $#((`( (0!//!,,!//!,,!//!+  -%,\(((a !.7#"&=46;%#326=4&%"264&'2".4>wwww.BB\BB.+J++JVJ++J(!(PB\BB\B0+JVJ++JVJ+*3<E"&'&'>54&"2654&'53264&%462"&"&4627"&4620.8 #/B/$$/B/$ +F*!//((`(((*0,!//!,,!//!,u &/B/p((\((A$8'.5>3'76&/7>/&"2%764/&2Nyyyy@~fggfA '0)"&43!2++"&=463!2'!;26574&+326 /8( 8((8(9&&& &!(9 (88(8&&&&Gqz%'6'7>'&'.&'54&'&'&?7>=6767676&''5.'&'7&47'67>7567'"264&"&462!!)! 99 !)!!)! 99 !)I.,,....,,...(88P88(&&4&&8+ &  & +88+ &  & +8a 6 6 "**" 6 6 "**8P88P8&4&&4& GwN~%'''&'.?&'#"&'&7>;67'&67676237>32+&767'76?36'#'&/7&''&'#3775&'&'.'&6?&7'.7>7>6754676276/"'.77576?67'76/7&''&/5&'77"&462'"264&'"#'&'.?&'#"&'&7>;67'&6767667>32+&767'76?36'#'&/7&''&'#37?4&"264&"26         t   . 0 . &&  )! )) !)  &&  ) )) )  '#00E11"*.                 )   ((    )&3   0 %  % // %  $ :1D11D1**        *  < =!"3!2654&#"&53+3` `` P `@09BK"76732>4."'6767&'&54>2'"&462"&462"&462 NN"    YF/3NNMN60MM#EvvEEv%`8_9%D  % 8_r_8-  #/Q00Q^Q0   @0"76732>4."'6767&'&54>2 NN"    YF/3NNMN60MM#EvvEEv8_9%D  % 8_r_8-  #/Q00Q^Q0B&?Z#"'&'6773&'&'6764'6'"276732>4.'2#"'#".676767.54>? <<(V(.++'!    8`8 ##(+8`88`8AnAAnA)&@A   Ao $   <="9 }(C(  'DOC( 0RbR/ $  :1R0 09"2>4.".4>2'??6?6&#""&462CrCCrrCCr:cud::cud:!g!Qg! g! CrrCCrrC:d::cud::c;byb  b  ;'&4?#"&=46;2+"&="7326=4&+764/&"54&+" =d  d=    d= =d )>S%#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| tt|  |tt|  |t|t| tt |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| tt|  |tt|  |t|t| tt |   )2;DMbfj%!"3!264&!"&463!2%"264&"&462%"264&"&462'"264&"&462'!26=4&+54&#!"%3#%3# @(88((88(@&&&&V(  Y(  (     8P88P8&4&&4&p((@   @((@   @((@    0    )2;DM]bk%!"3!264&!"&463!2%"264&"&462%"264&"&462'"264&"&462'!2654&#!"3''3753! @(88((88(@&&&&V(  Y(  (  `  @ `@@`8P88P8&4&&4&p((@   @((@   @((@     LL "4F'&+"#";26=32654'#+"&546;;7+"&546;;4PP`4@@  Pp   H~400 04 @ 0 @ H  @"2>4.".4>2#".4>32'&"327676CrCCrrCCr:cud::cud:p  $&>$#>&#   P56)   CrrCCrrC:d::cud::c %@N?$    8V:    @/?!"3!2654&#!"&5463!2+"&=46;2+"&=46;2     HH`p `  @/?OScs!"3!2654&#!"&5463!2+"&=46;2+"&=46;2#";26=4&#53#"&=46;27546;2+"&'546;2+"&%+"&=46;2     HHhP  P @@888888HH`p `  0  0 @ (( ((((-((@#3C!"3!2654&!2!546!"&=!%+"&=46;2+"&=46;2      HH` 00  T"0;ENW'.&/.767%>/&6?>'&'&'&'&?7'?67'76"264&"&462y    A3 -   % E  e o!//B//!(  i  9\ i O0{| /B//B/(( 37;>AEIMQ%#764/&"!54&+"#";3!;26=326=4&3#5!53#'573#7#53(8 8 0 (  (  0 ( n @i ɩ7  @ @ ` 8 8(  ( 0  (  ( 0 @ @ ɩ @I 3gp%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&462#7X55X7##7X55X7#,J.AA.J,,J.AA.J$5X7##7X55X7##7X5AA.J,,J.AA.J,,J. "2?>=4&/&''57  NhhN"Tbb#ZhhZ #(,159=AEI%54&/&??>=4&'#57'7/5'5575'7'5575'7 ` ` e `ll` k6stt56kk|lltsrkk|lltsto $$ o& f 0660 f b/k++2bk5m/>5s/22+5m/>5s/22+(=GQ%.+46;26=4&+"3!2>=4&%546;#"32!6763!".5!%4>3!27!p  #;". 4F'B'`'B'F8(&"  4@44`4$  ";##P6 'B''B' 6P* (8 & 4444)2;D?64'&"'654&"327&#"2654'72764'"&462"&4627"&462  18P88(11(88P81  &&4&&&&4&&n 1(88P8118P88(1 &4&&4&&4&&4& 0@Y2".=4>".=276".=276".=276"2767654'&'&4X44XhX44X4XhX452v254XhX452v254XhX452v25/.9!))!9.^.9!))!9.  ++ K++ K++  $$  $@$ Mb'&4?62"764/&"2%476767654."2654>2#"32>'"&54&""&5462R R }  A  +JXJ+  #;F;#  , 1 '6& 9Q9 T R Rt  k ,J++J, #;##;# <,  1 '' (::( @#-7!";#"3!264&+'32654&737#!"&=!5!5463!2 H   H.     `   `  @@ 0  @#3!";#"3!264&+'32654&737#!"&5463!2 H   H.    `   `  @@    !09Xu~4&"26"&462!"3!26=4&%01632&7&#"264&"'&';2=6?6&'&'767;2=&/&6?&'7264&"264&"264&"8P88P8`&&4&&p%VJ;F H?O[ P  ` ?B+&%   &&+C>   S    `   `(88P88&4&&4&!#    H%` (  2 `%   (J     g  &"2?64'"/&?62 $ $    =CHN4&+"!&'4&+"67&'3;26567!;265&'&'6767673'#67#&'#I$(>g08*ZZ*  8&%    .0O7 !1!8^87  25W98X43I!! --!!R7&'&'&'&5476326?6&'&'&'54&+"1#"'&'&";26=6764 -$   !)& +( #   !))    /1(/   #   //YA'0%.&#".+";2>54'7>'"&462; `*KKa "0- (P  */# (L(( NW`7!26=4&+54&#!"3#3#'3#!4&+";;2654'32654'326=4&"&462!"&462 0  ``pX;(([U    `  p  ` ``h  @     -6?%!4&+";;2654'32654'326=4&"&462"&462xpX;(([e      h  0    KT]7!2654&#!"3''3753!!4&+";;2654'32654'326=4&"&462!"&462  `00`PP`pX;(([U    `   QQ `h  @     A(:C%'.'.'.+";2>54'7>%7?>/7&#""&462@"J *KKa !1- zjaK ( N3 */# (L#JK :~(( "+"2>4.".4>2"264&"&462CrCCrrCCrC:d::cud::c;!//B//!(CrrCCrrC0:cud::cud:(/B//B/((7Mc%"&462'"264&7#!"&=46;'&>;546;232322?6&+54&+"#"4&+"/#"3!265   T  Xc8 5`5 8cU`Ur5 " 5    0hh8  8$  {4 4hScs%#54&+"54&+"#54&+"&+"#";;27;26=3;26=;26=326=4&#"&=46;2+"&546;2+"&546;2+"&=46;2x              i          `     ````   0 `  `   @%38B%76#!"&5463!2#!"3!26=47&?62'7'&"764$ ` d  9 # 5 jCK04 0C0`    d9 5 #=CL ?40C0  )9%'&"3!2>!"&?62#!"&=463!2!"3!26=4&*`1  &`0 ` ''"p       #,5"264&"&4627"264&"&462%"264&"&462**<**"**<**"**<**"*<**<*p""p*<**<*p""p*<**<*p""97"&4627"264&#"264&X   #,5264&"72"&46"264&"&462"264&"&462`**<**"**<**"**<**"(*<**<*p""*<**<*p""@*<**<*p""@Y72"&46'264&"264&" X  4T&'&'&"3!2654'&!"&5476?6762'"'&/.?>276?6]* GJJ,` FK    LE r(r q  q   9<= 9< <9  [  [ [ [/=K!"3!2654&#!"&5463!2!"3!26=4&#1"/&'5531276?`  ` @    < <E  E`p ` 0   "00"u7 7u%;!"3!2654&!2"'&/&'546!"&=276?67`L #t    t# ` #` ( `#   )\ \) M  M !-%64/&"3!26=4&+62'"/&4?#(`dt `t5((`{u`u45K%.#"&'326576&+&7326?6&+>326?6&'&#"#";#";327>'07"2>4.32+"&5'&6"264&:d::cvc::c;CrCCrrCCrN :cvc::cvc: CrrCCrrCx(8A!"3!2654&#!"&5463!2"264&'32+"&5'&6"264&`  `  `p ` C#3<%#!".7>&"3!26%"264&'32+"&5'&6"264&:  !!    !! P`\02+"&'&632"&46#"2654&'676&:+&&4&&EV 8P8 &4&&4&` '(88(' ;732+"&=46;27627#";2?;26=4&=h h=  h= =hCNYdo%'726=4&+"'764&+"2?'&";264/7;26=4&"32/&6&=4;2#"=46!#"&?6$mm$ ^ #mm# ^ $mm$ ^ #mm# ^Q^^^^^^^v#mm# ^ $mm$ ^ #mm# ^ $mm$ ^^^e^^^^^c%+"&=46;7'32+"&=46;27'+"&=46;2+7'#"&=46;2+"&='7546;2h::h  h::h  Th  h::h  h::)>S=46;2++"&%32+"&=#"&=46+"&=46;546;2#"&=46;232 |tl| t |t| t| t |t| t |t)>S546;2++"&%32+"&=#"&=46+"&=46;546;2#"&=46;232 |t,| t |t| t | t |t| t |tAA1#"2726=4&'3#!"&5463!2#!"3!26=4?6 ` # )#  ```D `  # (# ` ``  8;!"3!2654&#!"&5463!21#"2?26=4&'3`  ` `` # #  ```p ` 0 # # ` `?!"3!2654&#!"&5463!2&4?'#"&=46;2+"&='"'`  ` Z  `p `   Z@E7&47'#"&=46;2+"&='"'7#!"&5463!2?6&#!"3!26=4&CZ    T`I C Z ` $)5&"'&"732?2?64/764#577'7762KB@ 8N @BSSY#))#Y1"B@ N8 @BKuSSY#))#Y"1@%B\i%#"'&'&476732'327'.547&'&6?6632'4.#">1"2651>7.'>76AYKJ+'B=$'O+I,!8 K.9  >26YKJ+";#*!#&  &~B( "%+G*,+I  C*&=CM!*H*"7!U+CM  T,+I )"9!.   045 %<"TO=)@x :N%&'&"276764'".4>2"&'&7>72>54'%471264٠"&9+JKKJ++JKKJ+";F;"";F;"~''B("+IXI+"(B %%6%I+,,+I  I+,,+I "9!!9D9!!9FCMNB%<*6*H**H*6*;&  %6%%)-27326=>=>54.54.54&+"%57%71'     ] v @ w  )-2#"/&'&??;2654&#1     v w h@@ /?O_u#";2654&+"&546;2+"&=46;2+"&=46;27+"&=46;2+"&=46;2754/&+"3!2654&%46;;!#!"&=!`00 0 0 ((((`((((@ 0  (   `@ @ ((e(([((e((J 0 X( ` !*G7'&/654&";;26=3262"&46#+"&=#"&?>;732( 4H4 (  !!.!!g-  - (  ( k "$44$" %;;%K!.!!.![ [   -KT'76&+".764&"276?7>76&'76=4&".5467622?%"&462l8DU " /B4Xj+" ?)+>1&O,I+(%5D^$3@/B//B/K8DU "B/F&5X3" '1>+)?  +I, :(5%D^4$  O!//B//1]%/#'>4&+3#'#373#3264&'73?67>4&'&'##5##'53535'575#5#5733533g*T@::@T*g )(j(n20@ *::* @02n(j( h xHD^DHx h  " V H 7&7 H *:JZ'&+"3!2654#5!"&546;;'+"&=46;2+"&=46;2+"&=46;2rT %`I  h 7^T`L `E  h  EE .26:>LUY'&+"3!2654'##!"&546;353;'#53#5#53#53#5#26/."&4627#53rT T``  P @ h @  2  ^T`LPT  h @ @ a&&W *@Uhn'&+"3!2654#5!"&546;;'>54&'&32'>4&'&3'>4&'&32''#537"#";26=4&rT %`I  h U!%      ?,,, ^T`L `E  h  C>"&@ 380 ) )0+      )  HJ$F$H$*?'&+"3!2654#5!"&546;;'"/&4?62762rT %`I  h ) D  2v  ^T`L `E  h  ӆD 2u *:Od'&+"3!2654#5!"&546;;/.57>3'764/764/.6?64/&rT %`I  h ::3&&====&&^T`L `E  h  C0""9999""*6D'&+"3!2654#5!"&546;;'&5?6/&?62rT %`I  h |qqD ^T`L `E  h  qq *T'&+"3!2654#5!"&546;;'76&+"'&/&+";276767;26'rT %`I  h 2 3;  ^T`L `E  h  R "% RY  )  *:C'&+"3!2654#5!"&546;;32+"&/&6"&462rT %`I  h  ,^T`L `E  h   xx  %7>P7'&"!5'&"#57'264&"72"&46%'&+"3!2654'##!"&546;;' &7  0 &&4&& T T``   hp(&q8% cC0}&4&&4&`>T`LPT  h EL'&+"#";2?3264&+'&"'&+546;;#!"&=#3!26545T8~# 9Z F# 95  h   T^TEr,  Fq( h  ppL_T#5<N74&+"#";;26=326=4&+7'&+"3!2654'##!"&546;;088088T T``   h80880T`LOT  h *:'&+"3!2654#5!"&546;;'#"&=46;2rT %`I  h C^T`L `E  h  *NV]do'&+"3!2654#5!"&546;;'&&'7676'.7>?6726&6?72&43673#'&'6rT %`I  h ;5 .$   _    ^T`L `E  h  '    8   T ( $( *N'&+"3!2654#5!"&546;;'++"&=#"&=46;546;232rT %`I  h 7DDDD^T`L `E  h  DDDD*=F'&+"3!2654#5!"&546;;#";26=3264&+532rT %`I  h @,&$ '(^T`L `E  h  <'<%b T'*N'&+"3!2654#5!"&546;;'"/"/&4?'&4?62762rT %`I  h P 00 00 00 0^T`L `E  h   00 00 00 0#);BT74&+";26=;26=4&+"#5;#'57'&+"3!2654'##!"&546;; n  n      ``P0T T``   h  n   p ]``)T`LPT  h *f'&+"3!2654#5!"&546;;'&'&'.+"'&'.+";26?67;26?6&+"rT %`I  h =  +  +^T`L `E  h  5N (Xa  } x U  *'&+"3!2654#5!"&546;;rT %`I  h ^T`L `E  h  7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&546;2+"&=46;25+"&=46;25+"&=46;2((  (@( n(((((( `((((((  P (8(8(((8(8( 7GWgw#+"&=!+"&=#";546;2!546;232654&+"&=46;25+"&=46;25+"&=46;2+"&=46;25+"&=46;2+"&=46;25+"&=46;25+"&=46;2((  (@( n(((((( `((((((  P (8(8(x8x(8(8(!">=764&'5'!@ @  @  8  86@IM#6."67676763;26=4&'536=4&#546312'2"&46'57= ) A  "". ."0 %&p %(H "!7#  #6! ` &&]*O4&"&=4&2>54'&'&'&'&".54672654'&'&'&567  " &,4XhX4  # +J+*<*  $  +J  0.%&$ jT/4X44X4,& V+J+$F`**  #$$ "%+J+@#3=AK73;26=326=4&+54&+"#"!"3!2654&#"&546;!!+32808808K <0 0`@` 00 880880`` `    $*17js56&/'65.5'&'675%6756'7576#"'&'&'&#"+"&5.>7663232%264&"#"'.'&#">3232767+ #$ *#$:$ "+'&'&0 **w)$%  !% ,$$) 6   ") 7 L#7 gHG D GE E U H HGHD H     z#!       2;Z"'&'&'&#"6&;26=6763232767654&%2"&46#"'.'&#"56763232767X )$$, %!  P   7#L 7 )"u !#iz     %/       /%'5326=4&+";3!2>!".?6=3#B#A @%0!!01  C'4%#54&+'#"3!26?6.%332!"46#!7>3!20@% C @ % G D |R h 0@p"@ 0u  q ##'#"3!26=4&#!"&546;32@ ` @ @@   @ +2#"#";26=4&+73#";26=4&+&767X--X`KKhxxKcjqy"/"/"/"/&4?'&4?627'&4?627'&4?62762'#.'&7676763&'&'&''>X        7WCB QVCB .)-r })-q p p         V NKuPV NKu r-) o r-) q*1MSW`%#'7>'.#";32>/3276=4&#'&763'"'&/#.7>7632'.'35#'3%"264&| Fg;@74C5V "  + 5$-  &   C6:-08Ht) epv L 9[4a85d'++1$1 p  He&T  ! "S+/UXE" ( /8MVk%54/.+"#"3267332654&46;2#"/"&4627#.#"546;;&#""&4627#4&+";26=4&N0/!,,!/  NX0(, :Z,I(xPc p!/$$/!!,  K((@$ M"$\((@P #7'&?64''&?64'    ٠   @   @(8ER"&5471264٠'"12"&51264&.7>>"2>4.'2".4>p(    (TS ?? v;c::duc::d:CrCCrrCCr    (- -##E:duc::duc: CrrCCrrC #*16:AGKRW.#"327>76'?%7'&7/67'577#%'7''6676&'73?G`4=63D G`4=63E >_!F]E"^V VTRRe 3 $==,*4E ^ >!/;;`L0D5"" UE/0, ?VV> 2h,5>b2#"'&'#".4>3%!"3267332>4."264&"264&%54&+"#";;26=326=4&#%>%%>%nH>%%>%0.M--M.7V7.M--MO...H%>J>% %>J>% -M\M--M\M-d@....3Dh'.'6&/&"7'&"2?64/72?64"'1'&4?62%"/&4?'"/&4?62762  R   r   : $ r ' $ r ;   r s 's 'q~q~ R   r   ; r $ ' r $ :   r s' s' q~q~C!$!"276/&#'##7#3#3'3?3d dJS8(99iA8S IR+sHRIE$||||| H P 2".4>7"2>4.44<44'B''BNB''B04<44<4 'BNB''BNB')3=AHLSW#654&"&#"#";3!26=326=4&'2+676462#"&53"&=3337+537#53H/C A!/H  ` P)PPp @ p  !/&P/! p pp p `(;0 >`` p `6&#!"#"3!2654&+5' v 4 v    "(.4:@%4."2>'#6'3&'3'&73#6#&''#>3#&3.673CrrCCrrC*c c/z K/]%0M%]Moc c ^%0M%^MCrCCrrCCr@@@*LLl@@@@*LLLD/ %4>2#.7#"&'>'#"&'>'#"&'>'9b97^7*&       %+/Q`Q/9..9    P    @    9a78^72V-    -U10Q//Q04WW%      K   >'&%&+"3!2676&#!"&=326=4&+5326=4&+546312y  &&+7  XXXX H%& s @# '*5C%&;265'64'672765'7>&"&'7?'%&47%6d    ; J55J q ]z] vv-OO    Y&&Y" P$$JOO OO C!"3!2654&#!"&5463!2+"&=#+"&=46;23546;2`  ` P`p ` <ddddPaKo546;2+32+"&=46;5#32+"&=46;#"&=46;2+35#"&%#"2?67#";26=4&+4&^^^^= ;9Nssrr> Xd/{%32+"&'54767676764&#"/.7>32'3#5326=4&+";#";26=4&+53#";26=4&+326=4&+"  % $!  1-5+$ ^^^^@  4  3MrrssY`4%#"'&'.?>3264&+"/&?67+"&=46;2%3#5326=4&+";#";26=4&+53#";26=4&+326=4&+"X=, &),!K lY)^^^^*:   %;#XfrrssB;V7!26=4&#!"73''3753!&#"#"&=46;2>&+"!7>!576;2+";762p`  @ `@@`wE0;(1( E    LL P t(; )S1 { @!G%'.#!";+";2354#54&/&+"&546;26?6&+"&=463!2. *q!/~ ] ^~ q  0 *;/!:;z z 9  A "]54..&&";26?6=4.#'&>6=46;26=46;26=46;26=46q' 0/&%}   %{ I   1     ' O $b%.54&"'.;26?6=4.76/&>;26=462;26=46;26546+"&/&6l *'8' 33 < : 'C ?   9g((lZ4f{H  H{ f 37aj26=367676=4'&'&'6=4&+"327#5"&=""&547>767673'''462"&*# '/    (* # # $'    @*9  .+ @  @   + z*@@@      d  37aj5;;276767;26=4&+"&'&'&'&'&#"#"#5346;4'&'&4632+"&7.7.7#"&2"&46*9  .+ @  @   + z*@@@      d  *# '/    (* # # $'    26_h#654&#"&+";27;26'>'6753264&3#%#+"'&'&'56767>763232"&462z +   @  @ +.  9**J@@d         -(    /' #*9*- '$ # #   26_h&#";26=4'67676=4&.&'#54&"53666#&'&'.'&5462354622"&46s(    /' #*9*- '$ # #   zz +   @  @ +.  9**J@@d         "aq..54&"&";26?6=4.6'546;26=46;26=46;26546+"/&>546;2+"&7546;2+"&7546;2+"&i0 %#1#%s )  s lON  X## 1 {W b' $$W{ WWWWWW<LPo7.#""/54&"354'#&/&=46232?'&>32'&"2?64'74&""'76&'&#"354?65#54?63232?5462   #:( k ek A3 +a  a a  a ```(:#   * k #k e+ 3A   '0E +"  OG : a a  a a m```E0' :"+  ` : GO -|..&&3!26=456?6=4.'.=466=4>;26'5>2;26=462;265462#54'& $* )( 3#,f  , /f  -m  % #;+Y    hx$ Y ;+z+*  xh $b32?>=4&/&'&'";+"&6326=4&+"&6;26=4&+"&46;26=4/.>?>I{f4Zl((f f {I   : < 33 '8'* '9   ? C+h4&'&'.&'&;26?6=4?6.#'&471>6='&6;265'&6;2?>;2?>+*##2"  !!#!  7 $ ,.+' h $$ %2} o&%E & i| 4Ju:>h#"#'.+"&+".+";267276767673;26=4&53%'''&/&'1516?6;26?'6.&'&4?6;23#56'#53462"&%"&462hP  #+%" P  P :1-! , P @V   & G1/('@ 2 2 " 6+* @@0     `    5        A):/$ %Q  >  C+P    KO76&+76&+"#76&+"#";#";;26?3;26?326?6&+7326#73cgbgcgbg  r vr v  r vr v A-6?%'.#!"3!26=4%63!2!#!"&=463!2"&462"&4627i i LY&    8@ݏ y0  G  K3!5326=4&+";#";26=4&+5!#";26=4&+326=4&+"1//00//00<DL";26=4&+"'54>2.+";2>=76=4.3#"&46#532FuE4  %: 32>7632"/#2?#.z--z."y82"e1:$S'+%# +' -',t,,,-63)H c,)367 b V2' $'21).+";26?64'+"/&?6;2 pq qp pp p   4F32>2#"&'&4?6232>4.#"32+"&=4676&/54&+"6 !rrBCrC/V! I):b:9c:=fbGHU _9BCrqC" 9ctb:?5  4>!'4"27676=4'&'&".=767".4>2E   * t@t * ^`h`1L2q!  !܄~~A/?O_%#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&7#54&+"#";;26=326=4&#54&+"#";26546;546;232;2654&((((((((((((pp    @((((((((((((PPH p p H#0=#"#54&+";26=3;26=4&'"2>4.".4>2X[FuEEuuEEuF=g<2'32+"&?>7>;2+"&p)*h)* 'BNB' 'BNB'|/-/"$$"/-//-/"$$"/-/6\66\v6\66\  3   9AIWg326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2+"/&6;232+"&?>p)*h)* 'BNB' 'BNB'B|/-/"$$"/-//-/"$$"/-/6\66\v6\66\    9AIYg326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2#"&/&6;2+"/&6;2p)*h)* 'BNB' 'BNB'2|/-/"$$"/-//-/"$$"/-/6\66\v6\66\J 3   9AI326=4&#!";#"3!26=4&+4'&'&'67676%!".!4>2p)*h)* 'BNB' 'BNB'/-/"$$"/-//-/"$$"/-/6\66\v6\66\I.'"3#";"3>726=4&#.=326=4&+546726=4&#`0,**,00,**,03<P!"3!2654&#!"&5!654&";26=4'&'2"&46+"&=46?27P   @U8P8a%&4&%{0`0 "(88("  %6%%6%  @$.7a#54&+"#"3!2654&%46;2#3546;2'"&462+54&'64&"#"&546;;26=32    P@``&&4&& p"8P8"p  @  ` P00&4&&4&p 0+O88O+0 `  )9Icl!"3!2654&#!"&5!#"&=46;2'#"&=46;2'#"&=46;2&'654&";26=4'2"&46+"&=46?27` ` ,  ):)  l` Pl $   @@E **   p    (1HO!"3!2654&#!"&5463!2264&"72"&46'&"3!26=4/&"!577` `  !!.!! _XhXZP0pP    x!.!!.!P_X \ XP0pP@+;DMdk!"#"3!26=32654&#!"&546;3!7#!"&5463!2264&"72"&46&"'&"3!26=4'!577`D ` p@ `  !!.!! _XhP0pP p   0   x!.!!.!P_X \ YP0pP@#7OV%'&##'#7>/.3!26=4#!"&=46;3732'#54&+"#"2?64&'35331_/.3!26=4#!"&=46;3732%3;26=3264/&"7##5#1_7"2>4.35#"&=46;232+"&=467"264&:d::cvc::c;CrCCrrCCrg 0 H) :cvc::cvc: CrrCCrrCx>G!"3!2654&#!"&5463!235#"&=46;232+"&=467"264&`  ` 0 H) `p ` x$-L754'>54&"#";26=4&2"&46+"&=46;5#"&=46;2328P8a%%6%%s   h  O&(88(%0B00T%6%%6%P 0 0  !%)-;#"#54&+"!54&+"35!34&3##53533#54&#!"#5!x@   @   @@  @ #3#";26?6&+326?6&+"g-K1.K2    @)58iux054767>'&#" 7654'&"'&4762'326/&"7#54&+""'54&+"&'&'&6;26=2676%326/&"7#0 #CHH>>HH>Z` 00 9(tB4Q0V` 00 9(    #?7gi8??8ig7?c(..((..(PPA!R ##  -PPA!:CL2#"'###57&54>7";26=326=32?32>4.2"&467"264&P'B''B'*0@` 'B'0Q/ p (  0Q//Q  ('BNB' *@@P'B' /Q0 [  ( (/Q`Q/l   ((@/?O_o!"3!2654&#!"&5463!254&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26     ````````    K`-6v!"3!2654&!!!!32?3;26/&+"7671#7546;546;232+'&'&/&6767&'&6?667#"&h  P 0  D  ;;C2DD "      v`   ))   3>%&       ?Q7!2654&#!"463!2#!"&5!"+"&=4&#!"3!26=4&#!"&=3;2653p`  `      @ `0  P  DDP 0  @9dt2#"'&/"#"'&47676765'&'&5&7676767676?6767"3276732767654'&>2>&#&6 0*E@? #    /)B$4&    -(L04 ' @?EGN.6*nK  S~/ P?7        >0,  58H ( !#>G[1'/93 8A 1_q&#""'&7672767>7676'&5676&'&.7676'&767>76767676+.7>76  -,&.V "*  -,&.V  M("'*$  M("'*$ 1W  e; V.&,-  *" V.&,-  **$*'"(M  $*'"(M ( W1 ;e  7#4&+";#"2?64&'6 v ^6 H  H HH@h   @@  @@!7"/&4?62#"/&6;2762c c Af ~ A 'cc A  XA '&";#";26532647H  H 6^ v 6HHx@@   h@@!'&"2?#";2652?64c c Af ~ A Ycc Ad  A  "(/5<BI"2>4.&'7"&462&'62'6&47&77"7'677'6'7CrCCrrCCrf??(88P88DB**B2t??!BB/??.B**B2t??!BBCrrCCrrCq??8P88P8BB/??.B**B2t??!BB/??.B**B2tq8>BZ#""&54632+"/&=&'&'&'&'&54>2#375#374."36767676 &  8(    H    0P`Q/`B```'BNB'   t   p & (8 g(W W(0P//Q M 'B''B'!  %K%.6?62?64'&'&67>'67>'&'&4?62?>.-OCC2SK7NP  s  PN7KS2CCO5O2CCS LN7OM  CCE  MO7NL SCC2OCCC%#"+5726=4&5726=4&54&+""?"?;2674&t52R/  7 17 1SdyS.,&%0&%T]  /  pd(1:JZj2#!"&5463%!"3!2654&"264&"264&"264&%54&+";2654&+";2654&+";26 ` `     ` ````^^Dk{4;5/&?6;232+"547676764&"/&763232+"5762654+"'5&?+"=4;2"'&54&#!"3!2654&#!"3!2654&#!"3!26   B      - E    < *ttt1 ? [                d/8AJ!"&=463!254&#!"3!2654&#!"3!26"264&"264&"264&ttt0Nr/?O_!"&=463!254&#!"3!2654&#!"3!2654&+";2654&+";2654&+";26tttT000000N6000000&=#"&67%6';676& ,% %;`  |` %, &   &0@7"&=4627#!"&=46;54>232%!54."54&#!"3!26  +JWI+";F;"@  `  @ @ @+J+,J+?@#;"";#   7G7"&=462"!"3!26=4&+54>2;26=4.2#!"&=463  ,J+`0";E;#+I|   @ @ +J+@?"<#";#TS+J,   *:"!"3!26=4&+54>2;26=4.2#!"&=463,J+`0";E;#+I|  +J+@?"<#";#TS+J,   #3%#54."#"3!26=4&%4>2!!"&=463!2+IWJ+`";F;"0 ` ?+J,+J+@@#;"";#@   7#4&+"#"2?64&'3N N `  ` n` ` ` `A75!26=4&#!54&"26'7 ` ` `aN N `  ` n`A!"3!2?64/&"5  ` ` `N N `  ` n`3;2653264/&"7#!N N `  ` n` ` ` `7'&"4&+"'&"2?64 S S t tiTxT tt @?64/!26=4&#!764/&"2TxT tt D S S t tA!"3!2?64/&"7TxT tt < S S t t2?;2652?64/&" S S t tTxT tt A:Ta%&'&#"'.'&/&767'6767767?>/>764'>'1"&4631&'6327'>&'9+JKY62> 9.K/R9)  9.K&  &#!*#;"G+%" (BI+,T MC+  P+M7   MC+ V40   .!9"50)=NU"<%$PU`mx";2>=4.+".=4>2*#.+";;2654&'&'326=4&+"#67'"&=32+"&46;27+'546;=g<+J++J+=4&'2"&46++"&=#"&=46;27324H46]!!.!!o  6   & 4$44$&i]]i&t!.!!.! { { i(>"264&"&462"2?67>54.&'&'.54>2(88P88(&&4&&4X42CC24X4&0.:@:.0`8P88P8&4&&4&4X4 1$H` `H$1 4X4E") :..: )"E,"2?67>54.&'&'.54>24X42CC24X4&0.:@:.04X4 1$H` `H$1 4X4E") :..: )"E1"34.2?5>".4>2'#""&546320&ANC(":$  $:"44<44   * 0'B&&C'$?((?L4<44<4  * ;@E32++"&=#"/&4?6;5#"&=46;546;232#7'!!!!   --   --  i i @ P ..@ P ..@ @ A#'&??>54&'7%7  ;=@ ;=@ @)66;@99@9$1b%4'7;26=4&+";&#"2>".4>2%+"&=#".'6732>54&'677#"&=46;2 ?X-?(2'B''BNB'44<44R?'B'%>(@,4<+*!?-X2(?-X?'BNB''BI4<44<4X-?(2'B'";$,;4,@@U8E%'&"#54&+"#&'.67673;26=32?64".4>2>  F!#JJ77JJ#!F  >44<44>  ,,2$7JJ8$2,,  > u4<44<4%8E7&'5326=4&+52?64/&"2?#";>&".4>2$2,,  > >  ,,2$7JJ744<44#!F  >>  F!#JJ77JJ4<44<48E#";'&"&#"2>54'72?64/7;26=4&".4>2tX-1 '3'B''BNB' 144<442   'BNB''B'2( 2.X4<44<4$1#";&#"2>54'7;26=4&".4>2tX-_(2'B''BNB'_44<44_'BNB''B'2(_-X4<44<4!+5Y#54&+"#"3!2654&%3#!46;#"&%+32++"&=#"&=46;546;232p p܀` 00  00 8 88 8`(  (  @   @  88 88 #7K2".4>7"2>4.#";26&'"12"&51264&#"12"&51264&:d::cud::c;CrCCrrCCr    (  (:cud::cud: CrrCCrrC  (  ( CP%4&'>76&+""&'.+"#";;26=326=4&+5>".4>2 ,%+:+%,";#4444#;"44<44*F !! F*$?(A44A(?L4<44<4 3G[o#";2654&+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546p   ****************`0  : 0b 0b 0b 00 `0 `0 `0 @ 4h726=4&"462#";#";#";"&5732+"&=46;5.=46;22>=46;2(88P88&4&::::::&4&&B(DD(B&";F;"`8((88((8&&  &&$$)F,AA,F)$$#;"";#$!ah%'674=46;2'46254&#""/32+"&=46;5.=46;2327'#"&='&4?62/32&4& 8(!4< %0DD(B&";#,"(8 `&   && (8) oAA,F)$$#;"8(I  `)&@ L726=4&"462"&5732+"&=46;5.=46;22>=46;2(88P88&4&&4&&B(DD(B&";F;"`8((88((8&&&&$$)F,AA,F)$$#;"";#$)7"&=46;2#7".4>24."2>CrrCCrrC :duc::duc:  CrCCrrCCrC;c::duc::d1)9.+";26?64'+"/&?6;2"&=46;2# pq qp pp p     /?&+";2?6=4'+"/&=4?6;2"&=46;2#jZ  /2#!"&5463%!"3!2654&26=4&+"3  ``P  ` `  %26=4&#!"3X  @ ,<7"&462#32+"&54637+"&546;24&+";265    3` ` @#3C#57#";2654&"&546;2##";2654&#";26=4&  5HH```  ` @/3#"&=46;2+"&546;24&+";265HHw   ` ` @(7"&462+"&546;24&+";265   c` ` `(F!"3!2654&"!4ᒑ!3%"264&+"=4;7/&?6;232h  P %@%%%!//B// B   `   %%%% 8P88P8  : V `(!"3!2654&"!4ᒑ!3"&462h  P %@%%%/B//B/`   %%%%@(88P88-%.5467>&'&#"32676.".4>3271Z7,' FuEEuF;h$ =g<.'3#"&4632;7#73.'&67?>/632T  <   LC'"0 0  "<#";#,E U #!";E:##;U6T(88( 7 j 1F%59 9(8. * 0  *,@ ";E;#6* +L6":#!;E<#d(8P8e$`B5%)^ ]8(-A-'"&5462+&'?>/326'&7*/  A* $&>$=q(e4 w i +/=&#"26=%&#"2654&"&5476325%"&547632 %(88P8 %(88P8{))I @))` %5&&`%5&&`  $@`@  !$4.";26=>".4>2 'BNB'":$$:"44<44'B''B'$?((?L4<44<4 @"26FVfv!"#"3!2654&3"&!65!326=4&+"73#546;2+"&7546;2+"&=46;2+"&=46;2+"&546;2+"&(0 (    =l    P  0TE;"<`#654&"#"3!2654&'2"&46#!"&546;;26=32#54&+"#";;26=326=4&PY!.!Y    00 H808808!!` P `  880880 &^vz~#54&+";;26=4&%3##5326=3726=4&+"!54&+";#";26=!;26=4&+#"!54&+326=!;%#5!#5#5!#5TT砠T@tHHH@H @   44 @ T`HHHH@ AUY]ae}%26=4&+"#5326=4&+"#54&+";#";26=3#";26=3;26=4&+5#53#%3##537#5326=3;#"#54&#53%#54&+53;26=4&+53;#"#53'534H`HHH`HH  `H`@ H HHH HH`    H`9 /&+";2?6=4'+"/&=4?6;2j/?KN5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'/&4?65LLD`` 9t ``r9+@X"&'&326=2>76?654&"'&'26716767#"&54767676762':- %"" "'H@O+,('8 ;'+5<* $5(  .  I/6JA74+N% )) % 29|K+3 , 06' @DHL7!26=4&+54&+"73#'3#26=4&#!";#"3!26=4&+5#53!5!#53p   88p8`@@ `@@  0  `AEIM7!2654&#!"3''3753!26=4&#!";#"3!26=4&+5#53!5!#53`  @ `@@`88p8`@@ `@@   LL ` 6?676.5'76&'@   <@7r:f J5 Y#U/8"&'.6762"&4?622?64&"2?620T;=*  ! (99P 0@BC;T*=  ! 9(P9 "*#"3;2653;265326=4&".4>3t+J+*I+ < R!8!!8!*IUI+xp !8B8!!(1I[%'&+54&+."#";;26=4#5'2"&46"&546;26732#"#"&546;;4CCP%@  i CC p  H 400 @      0`   H   +;2>4."'4>2".7'32+"&=46;2+"&=46CrCCrrCCr:cud::cud: b8CrrCCrrC:d::cud::c/?32654&+"46;2+"&532654&+"46;2+"&50`` ` ` `` ` ` `  0`  >L_m|"654&#"&'&#"&#"7327671621327654&'7>4&'2#"&54767."6&'>'2#"'&5464762#"."'.'&"#"'&5467627"'&54>2'$$ &" ) !  "#B&1 6.6 1&Vt! K #  $   1#$<$#1  !%"0%%0":80)  !08;)[[ $,,${ $ $    DD  $ $!+'&"'&"2??6477'762%52 |  r`~] SI2S2  & %2 |r  `5v ]SI2S2 & -2<!"3!2654&#!"&5463!2&"?64'?7'762`  ` C !  G '#2#`p `  G  ! '#2# 7?64/&"77'762  r`%5] SI2S2  & Mr  `5%> ]SI2S2 &  &0'&"?642?5#5#7'?33'762%5  r`0#";#0E2S2  & %r  `5#0~;0#E2S2 &  ''&"?645#5#7'?33'762%5  r`r0#;#0E2S2  & %r  `5z#0;0#E2S2 & B%.@'&'&64&";26=67676767676.%2"&4667($3O_nd(#)26?J&I2  NI<]U*/H%#"&/&6?667'26"'&4?6267'.?>'6765''9BDH  l ,#;lBz   "6. e ! :66d.I *( e .6 I.d'-  $-, l  YRO?7 :ILRl;E>K!"3!2654&#!"&5463!2'&'.3267654&'7>7'7`  ` 7: 1 ?   K$& <"/7*7Ao`p `   ? 1 : J?AK 7*60"< BoA:Mbv7.&76?6&/&?>'0#&'&767212#'726764'.727>&'&"6764'. ++ ! A  CC  A A==A!DD!d   Y%%  2  g II Q )C[XX[C) )=SPPS=)Q;a:QZ"V -t- $XX$0 B #X# /'&'.32767654&'7>7'7e .6R4, l  |jh=gk} ;d.I$^N;lsca8:A -6?"2>=4."&=35#5462"2>4.".5477'632p44<442/B//B/+J++JVJ++J+#;"#:#+#;"4444!//!P p!//!+JVJ++JVJ+";#+#2";#+AA_#'26=4&+'&+"'&+"732?;2?326=4򲹜'&##7&'&'#7'36767'332#m"!6  (    (  6!"m+''+d."&!))!&".d@(2 :  C C  :  3(@@`I`aJ  @*@#'&+"#'&#&732?3;2?32764'&##7##7'33'332#b]6 L(  (L 6]b+''+ud."$$".du#..$  3 ``  3  @`@`aA %12>4."'4>2".%'&?64546&CrCCrrCCr:cud::cud:L  8CrrCCrrC:d::cud::cMke[QM-&7%>&&546""` ` ` .  )19!";35>5326=4&#".=#5!'5462#5462h  &B( (B&  ";F;" @P     0 )F,aa,F) 0 @ #;"";# 0  #0=%++"&=#"&=46;546;232".4>24."2>b bb bxCrrCCrrC :duc::duc: bb bb CrCCrrCCrC;c::duc::d1)M.+";26?64'+"/&?6;2'++"&=#"&=46;546;232 pq qp pp prb bb b    bb bb/S&+";2?6=4'+"/&=4?6;2++"&=#"&=46;546;232j`b bb bB bb bbC2#!"&5463%!"3!2654&#54&+"#";;26=326=4&  ``Pb bb b  ` `bb bb #%#54&+"#";;26=326=4&    #JVenw%&'&7654.'&54>2&"65'&'.54>76764."&'&5424&276767"&4624&"26F 5,> 'CMA'!h=g<1%*3VhZ5*%16  (  (  & /!"  ,!Z '  ." *#54$* #>4$  8AU!"3!2654&#!"&5463!26.";26=4'&'2"&46+"&=46?27P     U8N8a%&4&%{0`0  K58("  %6%%6%  @=%#"#5326=4&+546326?6&'&#"#";#"3!26=4&4jj.'!  )/%;!""*(P>j!-  5!l X%5".46762>4&'.?>4&+";265>CqrC>5 .6:duc:6. p"oACrCCqo" a8;c::ds` #=AE73;26=326=4&+54&+"#"!";3!265326=4&!!7!5!h808808     2 @880880@ P   ` P  ` @;?!";3!265326=4&!5326=4&+5326=4&+5326=4&+5!7!5!h     2XXXXXX @ P   ` P  @@@@ @#(,HQ54/&+"";3!26=326=4&%3!!5!#54&#!"#54633!26=2"&462: (8 H  H 85`@ @&  &   n : 8( (  ( (85` (  (&(  (&  6=[7264&"72"&46%!"#4&+";26=!;26=4.!532%32?3264&+'&"'&+"!//B//!( @42!/(~2z f2@/B//B/(( 884/!7 c,  7 c(A^%"'&7'&76767654&#"'&'327654'.'&5476327635&'&763264&"'&'&'&#"#'&7>7654&"#"'7654'.'&5476327327>7632  1$> + # 8#-=-%   .1   &&   %  ( -I* 3#*?)8  :&> %    j   %          .1B/ '0 $#9  ,       &4!,  #/37535#3#735#5335#3#3#!#533#%3#5##5333#'3# ` @@@@@@@` `@ @ ` `@@@ ` 6CP%"264&'#"&51476767654'&#"/.76763212".4>7"2>4.       )8   :d::cvc::c;CrCCrrCCrl       ,$   :cvc::cvc: CrrCCrrC(V!"3!2654&#!"&5463!2"264&'#"&51476767654'&#"/.7676321`  `       )8  `p `        ,$   {8Aq"67>322654&'>=676767654'."&4627+"&=476767654'&"/.7676328T *'     8P8    S4&&4&& D   -  *"$1$D ! ./&      &(88(&   $,&$* &4&&4&       '"#'  %:DNW'&"'&""767676?>/764+6?6&>7677'762264&#"&462~ - 0%"6! 7Bt'! M-tP D.0'"%D =9Dk!//B//!( 9E -#3%)! 3 # 8T7 H& U*H(TH.C//C.''!2Le326=4&+67>=4&7467632+"&5326=4&+67>=4&7467632+"&5P2 6%`31WU [W  2 6%`31WU [W  *&FCf[x &  [  0*&FCf[x &  [   2Le#";7676=4&&=46767#"&=46;2%#";7676=4&&=46767#"&=46;2Р2 6%`31WU [W  2 6%`31WU [W  *&FCf[x &  [  0*&FCf[x &  [  $(1@.&?6'632767>''77'67%.>h`o1*8 3 p  p98 /!;62;q  (+^P+3U^Q*,&#O*D=O * O  &$ac%\*O*!$ 3=RR<7>/.?>'.'.+764/&"2?64/32>%7?>/.?;26=4&+"., ,??/ ^5/ **5 5 #i% DD %i$5 %8 ^58 5$dd#F FJ4^ JU U.& D D &/EY4^ YE/..1+"&4?&#"326762#".4>327623  68G:b::b:(J !V/CrCCrC*M 2    5*:btb: "CqrC2 4#"."326764/&"#".4>32#";26=4& !rrBCrC/V! I):b:9c:=fro9BCrqC" 9ctb:?5  6@"2>4.".4>2&/>54+";26=3;26'#532CrCCrrCCr:cud::cud:q^G36a4+ CrrCCrrC:d::cud::c ) 'P_e V #&JMk7&54>;2?64/&"#"?647.+54&"26=32>54'?4;5/&?6;232+"56";# HH +J+ (HH ";# HH +J+HHE   B x!'#;"@ P  P @+J+2)+PP!'#;"@ P  P @+J+2PP ? [  )Sq%+"/&4?6232>54'&6?6&54>;2?64/&"#"?>74;5/&?6;232+"5+J+D bb D#;"  9";#D bb D+J+     B +J+D c c D";#*" *"*#;"D c c D+J+6* ! ? [  #&JM7&54>;2?64/&"#"?647.+54&"26=32>54'76";# HH +J+ (HH ";# HH +J+HHx!'#;"@ P  P @+J+2)+PP!'#;"@ P  P @+J+2PP)S%+"/&4?6232>54'&6?6&54>;2?64/&"#"?>+J+D bb D#;"  9";#D bb D+J+  +J+D c c D";#*" *"*#;"D c c D+J+6* @3@726=767654'&'54&"?6'&'&'%762"/&4i ?  (U;p M/>!%1)Q   ɠ G 42&)/g,I  h #>,%F&" h @!>726=767654'&'&'54&"?626'&'&#/&4 !V&0 # .(N=_! " b7N)0 C0g ĸ X @A#3?Q/)X x #(K3)!W,' x:=%#54&#!";#"2?64&'3'&+53264/&";3!26%7`@  @ P  P ^P @ P  P @  PP  HH hH+ HH  HH!C%"/&4?62#"/&63!2762&+2?64/&"2?3!26'{c c D D D c c D  Tbb D D D bb D A(4BP%746;2+"&73265'&+"7325'4+"7325'4+"3274&+"!326'&+"!, +u +vttVVx00Hxv(-2GPY&'&'&#"#";767?>=654'&73567/6767632"264&"&462XV K S D  `#Ke+#~H81&.1;: 4+L=x!!.!! ` D S K VXр8Hb#+e1D=L+4 :;1.& !.!!.!P(1G]!"3!2654&#!"&5463!22"&467"264&#"&5.'"&=463+"&5.'"&=463`  `   (:_9@nBM&?%-L/`p `    ((`9_:Bn@%?&/L-+A72"&467"264&&'&'&'"3;26'.'"3;26P(!//B//O<:bdul][67ONEuG`(( /B//B/uea:<86Z]lNOGuE087264&+"#";#";;26=326=4&+=32+=MM=TTTTi-56-hGtE:TT:.R0@=54&#!";2#";+";26/3267326=4&+&'326@I#1 4+H:MTWu%+A7!09B'&#!"3!2654'#5#!"&546;;26="264&"&462T`@   T$44H44$!!.!!>T P`` ` h  hTD4H44H4!.!!.! A%59IYiy!"3!26=76=4&#!"&='5!326=4&+"73##";26=4&3#";26=4&#";26=4&3#";26=4&4&+"374&+"37#";2654&+";2654&+"354&    `  HPP}PPPP}PP;0@@ 00cC0@`    @ @ @ `@x888@88 A%59CM]mw!"3!26=76=4&#!"&='5!32654&+"3#4&+"3'4&+"3%#";2654&+";2654&+"354&    `   @0@800cC0@`      888@88 )08HXhx!"26?326=326=4&#"/.?3+737#"&46;#";26=4&#";26=4&#";26=4&'#";26=4&'#";26=4&#";26=4&p4,#I 7 7"2>4.2"&467"264&;c::cvc::c;CrCCrrCCrC  &&4&&:cvc::cvc: CrrCCrrC &4&&4&.;%#"&=46;2"/&=#".>364."2>4  G(8_89ar^7 /Q`Q//Q`Q/  7^ra98_8(G 0Q//Q`Q//Q#BO%++"&=#"&=46;546;232"/&=#".>364."2>@TTTT  G(8_89ar^7 /Q`Q//Q`Q/TTTT  7^ra98_8(G 0Q//Q`Q//Q+'&+>54."32672?64%".4>2 8_r_88_9(I  0Q//Q`Q//Q"I(9_88_r_8   e/Q`Q//Q`Q/ 5EUenw%462"&264&"7#!"&=47&=47&=463!23!26=4&#!"!"3!26=4&4&#!"3!265264&"#264&""264&#"264&x(  `   ` `  `  P 6 J J  PPPPPP P  P P  P 0A3@%'&">'&67672?645&'&54767675"'7'62נ p;U(  ? Q)1%!>/Mw   I,g/)&24 G h "&F%,># h CLU^!"3!2654&#!"&5463!2"&547'#"&46327&5462"'62'"264&"264&"264&`  ` H!.!6!!6!.!!/22/!8   `p ` !! !.! !!.!!PP*3<E%"&547'#"&46327&5462#"&'>32"264&"264&"264&8P8_%(88(%_8P88(%__%(8`&&4&&&&4&&&&4&& (88(;8P8;(88P8;&;8X&4&&4&&4&&4&&4&&4&@3]'&">'&67672?645"&'&54767675676#!"&546;2+"3!26=47 z?O "C S)6'!A0O{  `  I#-b8.35 G h "&I$-?# h9`   2A!>%'&">'&67672?64&="&'&54767635465 !_=N(. # 0&V! " g0C 0)N7b  X)/Q?3#A@ X x ',W!)3K(# x9#+"&546;2+"&=4&7#"#"&=4&+";2654&Tu=N5T-5N=uxtF:)/(t/):F #9%7&'&'?'&76767654&'&'&'&54?6+'L"5092.7!&3-0  0-%7;VHA&),0 @PP^SJ73-6HVgz14EMT PP TME41-B'&76767654&'&'&'&54?6"/&4?62762"5092.7!&3-0  0-^ V E  lPP^SJ73-6HVgz14EMT PP TME41V  F .'&76767654&''&'&'&54?6"5092.7!&3-0  0-lPP^SJ73-6HVgu14EMT PP TME41EIP]%76&/54&+54&+"#"#"32767;267326=4&#"'&'&3#!'&+"&='7UM 0 0 L V%-0'&4!!4&'0,$@s s%%`RN #!z (  ( z # N" )) "c \11@%%@X``\elu26=4&+"3#54/&+54&+"#";26=4&+546;2#.#"5#2654'32654'326=4&"&46232#"&4627#."#53%54&+";26PT,8  ! /B//B/:(, TP(< !&! lT1 P!//!!//!`((@ T((``(  *Zcv}"2>4."&4627#54&+";26=4&#54/&+54&#!";2654'32654'326=4&"&4627#."#"&5463!232#"&4627#."#53!7 7B7 7!$44H440}T,/B//B/:(ܰ !&!  > , TP(< !&! ` 7B7 7B7 4H44H4P8PlT1!//!!//!`((` " Q T((``24."#3!265'2#46#!"&5326=326=3`";F;"`/! !/(88@   @@#;"";#!//!0`8((8p0 00 0A)3?KW#'&"!764&"#";3!26?326=4&#!"&/!"&=462"&=462"&=4624M xx MlS     p       8p p p p p p B,5>B!'.+";2654'3264'.#!'!26?6&"&462"&4627!'!(Y UOF%6% %6% L + $, 4%%%%6 @   -#,5>GPYbkt}%"&4627"264&3"264&"264&3"264&3"264&"264&3"264&3"264&"264&3"264&"264&3"264&"264&"264&"/&4?.467.#"#4>326762.   0  9    9  9    9  9  g  9  g  9  '  '  F  $(7 #;#1!J -G                              #  ,0+9(?#;# "F!%).6:?C#76&54&+"26?>=4&'7'37'747#"&'77'?773> I + vC'*'C ` \H+f^X+$h+i i+XY=|6FI >  C77Cv + MP\^F6 YX+Ii+i i+XuR;f-M746;546&=#"&5';?64/&#"4&+";2+";26    p  p  ^^ NN> ( >   ="/&4?!"&=463!'&4?624&+";2+";26  L m       0q{%'.'&"&#";;2?>=7>&6;26=4&+"&6;26=4&+"&6;26=4&+"&6;26/&>+"&#'&>'.'&>?>/&>?>/&>65'&6&#+ 80$  5  `H4  7p  q  o   n H ` ; n  *ETUD\  )I  0 , ''"_)    R     ' \Q7  [n  oZ  x#  !-M746;546&=#"&5';?64/&#"';26=4&+"&546;26=4&+"    p  p  ^^ NN> ( >U   =32+";2+"&546!"3!2?64/&"0 +          /?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"|@tt*Nnd [_cgk%#54&+5326=4&+";#"#";26=4&+546;#";26=4&+532#";26=4&#5!#=3#53hH8   8H   ( 8   8 (  .`0    0  0 @  @ 0   CGko!"3!2654&#!"&5463!2#54&+"#";;26=326=4&#53#54&+"#";;26=326=4&#53`  ` \d 0 $$ 0 d  0 tt 0 9 `p ` P(  ((  (@`(  ((  (@`@#'KOsw!54&+"#";;26=!26=4&#53#54&+"!"3!;26=326=4&#53!54&+"#";;26=!26=4&#534l 0 44 0 G T 0 t 0 Ty t 0  0  \(  ((  (@`(  ((  (@`(  ((  (@`CGko!"3!2654&#!"&5463!2#54&+"#";;26=326=4&#53#54&+"#";;26=326=4&#53`  ` ((  (( ``((  (( ```p ` P   0 tt 0 @ @ 0  0 @ #'KOsw#54&+"#";;265326=4&#53#4&+"#";;26=326=4&#537#54&+"#";;26=326=4&#53((  (( ``((  (( ``((  (( ```TT 0 4 0 @ 4 0 TT 0 @  0  0 @ #7DQ7&>676&7"12"&51264&#"12"&51264&7"2>4.'2".4> HH  ]]  (  (,;c::duc::d:CrCCrrCCr )) 2##  (  (h:duc::duc: CrrCCrrC/9=Zx%#";26=4&+";26=4&#!"3!26=4&#"&=46;!5!&=4&+";26=4&.=4&+";26=4&xCSH ΐ  L  %,L`@ p  @ ``#?>E'/S *=C3 ) 7%6.'7>&/7>.76.576."54&"'&"/.'&?'&?6?2?26=2>/5>/>&/76 ^XX^ CF F PD , , DP G GC ^XX^ CG G PD , , DP F FC ..  ( )@ ].\E 4Q Q4 E\.] @) (  ..  ( )@ ].\E 4Q Q4 E\.] @) ( 38\7"/&4?6246;276273;26/&+";2?056?6=4&+";;26=4&#T T 3 3 a> <  < ,'3rN]x8TT 4x4 ,  K448I38\762"/+"&5"/&43;26/&+";2?056?6=4&+";;26=4&#T T 3 3 !> <  < ,'3rN]xHTT 4x4 0,  K448I-=M]7"/&4?6246;2762754&+";26754&+";26754&+";2654&+";26T T 3 3 hh@@((8TT 4x4 Pee-=M]762"/+"&5"/&454&+";26754&+";26754&+";2654&+";26T T 3 3 phh@@((HTT 4x4 eeA %!"2?64&'!    A\f7"/&4?6246;2762#";26=4&+54&+"27#"'.?>67.546324&"326T T 3 3 `& c)!,' +  8TT 4x4 ,b  %  -!   #&  A\f762"/+"&5"/&4%#";26=4&+54&+"27#"'.?>67.546324&"326T T 3 3 H`& c)!,' +  HTT 4x4 $b  %  -!   #&  A 7!264/&"7!    A !%!"2?64&'!%!264/&"7!      ` )5ELS_mx"'&'&'&'&+""3;27676767632>4.+#53264&+532'46;#53#"&5273%#64'32'"&=4632?.'  * *  '.?4X44X̂ ?0  0@%&Z   @ -+$$    %@@%   (0(] 0  0&5%`@`] >@@((,^%&'&"3267;2>/&'&532>54&"'&'&+"&7676=4&#"&54676?#  !9"  d  ,"9!i d '8 \ZZ\ 7( 0"9!  ##  !9"0 !  ! 6'# \YY\ #'6%'.76.'"&=4636^7>l? J 1n^:Am8#,5>"&462"264&74&"26%4&"26"264&!"264&"264&  @"/  S  q<!%!!@@ !"3!2654&#!"&5463!2`  ` `p ` , 4>46;2+"5"264&7/.?'.6?>/7', j   j  AA IIu"^g DD g   sMM %7'?5"? uI A  j  -Ms  g D,'/.?>/7>&'7'?AA  j   j uII   g DD g MMs!326=>54.54&+"?1L  .   X!#"/&?;2654&1t  - HQZ".=>=4&/&.=7>/.2>=>54&"&4627"&462!-%";F;"$:"7 (3=4( 7":$+JVJ+$0 ( `0!+i!7 7! )>% 44 %>) *E))E*i,"/''0 *%4&#!"3!2?653#"#"&5463!2 Ty`h  ` d TK_ h `  )-2>4."'4>2".%#";26=4&#53CrCCrrCCr:cud::cud:(  8CrrCCrrC:d::cud::c   +8H764/&"&'5326=4&+";2>54&".4>2'#"&=46;2 9KP9_7c:=g<=4&'2"&46++"&=#"&=46;2732"'&'&54732767654'567G4H46]!!.!!o  6   & 1(B4b4B(1g +.$;0#(19$*` g4$44$&K;;K&t!.!!.! Y Y K#  #4     0P%!"&=463!2#"'&=4&+"32654/3&'&547632;26=4'&#".&# ! =OK&*! ($19$'*  C90@ &  63=l%2+"/&/+"&=46;7'#"&=46;21?6;2+676716764&#"67>32;26=4&#3==4$JD*:6 89(DK} &0(+   'dcukY Xku E. , #  #EIUYd7264&"72"&46264&"72"&46#";2?3;26/>54.3#+".=!5#53%4>;2p(  (  ;%?,7==7,?$<,,,@((@   @((@   @,"68<<86",`` `  !+5#54&+"#"3!2654&%3#!46;#"&%+32p p܀` 00  00 `(  (  @   @ Y%'&4?>&/"&?6.&/./&#2?66?>>/&637>&/&"/.&?6&/"&?64/&637>/&66?62?62'"2>4."&462** 7  /  /  7 ** 7  /  /  7 7 /""/ 7* *7 /""/ 7* *#;"";F;"";#(88P88# # 53 35 # # 53 356 33 6$ $ $6 33 6$ $ $";F;"";F;"8P88P8;j!2+"/&/+"&=46;7'#"&=46;2?6;2+7676716764&#"67>32;26=4&#3==4$JD*:6 89(DK} &0(+   'dcukYXku E. , # "%HK.#";265>32;26=4&"#7#"#"'764&+"2?32>74&532 M*ApC ;`8F96   ;`8F96   2 M*ApC/2?l@8]6*5  8]6*5   2?l@(Q#".";265>32#";26=4&#"#"&'326=4&+";26=2>74& !rpC ;`8=fr ;`8=fr !rpCo8C?l@8]6?5 8]6?5 o8C?l@7^'&"'&"2?6?2?64/72?64/&?2?64/72?64/72?64/7O -J  C B@"  I- W:' (.' (.' (-oO -I  "@B C  J- ^:( (-( (-( (-)6EN%>&'."76?732>54>&"''7'.7'&'"&462 #OW%$S  2 I&+,4$`_$+<4Mb2m, !//B//{)_Z#! %AAH  2  T  4*##,y5n2c,A! \/B//B/ "&*159!"3!2654&#"&=35#535#53#535#535#53+57#535#53`p p`` P ` `` ` `P ` ` `#3<!%!"3!2654&7!"3!2654&#!"&5463!2"264&`(`  ` ` (@`0  #3C!%!"3!2654&"&5463!2#!"3!2654&#";26=4&`0` ` (ehh```  ` (/!"3!2654&#!"&5463!2#"&=46;2`  ` hh`0  p;dtx6=4/4&#!"3!26576=4/576=4/5#!"&='575'575'575463!2'#";2654&#3           0   L    L    L    L    L    L  -888 88888 88  ` @(%"&462#!"&5463!24&#!"3!265`  ` c` `  +28"2>4.".5477'632%"2>4."&'3'>2+J++JVJ++J+#;"#:#+#;"@+J++JVJ++J+1GGGbG+JVJ++JVJ+";#+#2";#+ +JVJ++JVJ+@00@0@@0 @#,=F\l"&4624&"26%4&"267"264&!"264&"&467>4&"26%#!"&'&54767624."3!2768@* 2 Q3 %6%*3 9!X!'&BCCB&' EuuE  `    %%7& -H>  >HNCB&''&BCNFuEEuF@7 7@1A&&2654&'76&"&462"3!267654'&'&#!"'&54>2m 3*%6% 3T  NCB&'!!'&BC X EuuE7&7%%  `'&BCNH>  >HNCB&'i 7@FuEEuF@#,5%'&+"2?64"/&=46;2%2"&467"264&(%   ((    ((+=FO%"/72?64/&+'32%#"2?64/&'2"/&=463"264&'2"&46r( 3| (`  ( (  (|   ((/8Mb!"&=463!254&#!"3!2654&#!"3!26%"264&'&"'&"2?64'&"'&"2?64444DX N'  7 ` O&  6 `N6MP'  6a P'  6` 15CS`m}%4&/.+54&+"#";26=3;26=653#>;2&#!"463!2#!"&5+"&=1;#"&=3271%546;2+"&'462"&%462"&' '00ЀY *& & P0 80 ` 'M(  (M'8))( >  4^&&8  P l   6D"2>4.#">>32>5467#".'654>327CrCCrrCCrO )@7[ &J3 Ge  &K2 Ge *?7[6CrrCCrrC!?* 6[7 3K%  eG 2K&  eG@) 6[7$"/&4?'&4?6254&#!"3!26"  aH   M  -I5463!2+"&=#32+"&=46;#+"&%;#"2?6&+326/&"_+x+_((((LHH44V0 00 @ 0-I5463!2+"&=#32+"&=46;#+"&'&!54&6=!?64+x+0 00 @ 0LHH44(((($+3!2654&#!"#546353#"&53#7#532`   p`  а %,33!2654&#!"!5!2!5)3#7#546353#"&5!#`  @ p  p`[k jjk[ [k k[ &-18?3!2654&#!"#5#53#53!3#7#546353#"&53353##532`@ p p p`kkjjjjk[ [k kkk[ k 47"&4627+".54754624'&/54&";26((0 ";#";" 8P8  &4&  8'(8@(A%0#;"#;#0$(88( && (98+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" `'8  &4&  8(  `(88($0#;#";#0%9( && (8` %=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@ F%0#;"#;#0$(88( && (98%=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@C CF%0#;"#;#0$(88( && (98%=7"&546754627+".54754624'&/54&";26(  0 ";#";" 8P8  &4&  8'(8@ F%0#;"#;#0$(88( && (98N&2?32?>'&.?#"'76=72?64/72?64/72?64/7>L r (q7 Gs7 =< #' (-( (-( '37r r 4M1 <= 7#( '.( '.( '9<@v%6&'6&'6&+"+&+";26=3132654'&/3264#3##&'&'&'&'&'&'&+532767676;2%"&462  0,)"#  `  `     "+( F+``7p !    #")  &$ )1      C0- ,;J         %'- ;?r{%64&+767654&#"&+";26=2;26'>'>3%+"'&'&'츟>7676767232"&462+F (+"     `  `   %$),0  +`H ) "   ! p ;, -0C       1) $&'%        )9%'326=4&#!";;2?532654'&676?#5!#- %   % &    @@ L P  P L"#) { "y )#"^@@@3O!"3!26=4&!5!354&#!"32+3!26=#"&46#!"&=264ᕗ!2"           &&  &&    pppp`P P&4&P P&4&@;%354&#!"32+3!26=#"&46#!"&=264ᕗ!2"        &&  &&pppp`P P&4&P P&4& ="2>4.".4>2"/"/&4?'&4?62762CrCCrrCCrC:d::cud::c$EE  EE  FF  EE  CrrCCrrC0:cud::cud:EE  FF  EE  EE  1)M.+";26?64'+"/&?6;2"/"/&4?'&4?62762 pq qp pp p  EE  FF  EE  EE   V FF  EE  EE  EE /S&+";2?6=4'+"/&=4?6;2"/"/&4?'&4?62762j  EE  FF  EE  EE FF  EE  EE  EE C!"3!2654&#!"&5463!2"/"/&4?'&4?62762`  ` aEE  EE  FF  EE  `p ` kEE  FF  EE  EE  gg#?64/&"'&"2?2?64'ډ                w4H".547676767>'2>54'.'&'1&"&"2654'&'&2T1  %% 1T)ERE) :: l  @1T2(&,)*-.*),%(2T1)E))E)!!R,1 1,S!    A#,92+".4>37#";2>4.2"&467"2>4. :..: :..: 4X44X44X44X(88P88(#;"";F;"";`.:@:..:@:. 4XhX44XhX4`8P88P8 ";F;"";F;"A.2+".4>37#";2>4.2>4."+J++I,+J++I,4X44X44X44X444<4+`+IWJ++IWJ+ 4XhX44XhX44<44* aT#"&=46;2++"&532376?6;2+"&5'&=#+"/&/#+"&746zbbF F=<94     (37BN72"&467"264&#";2?3;26/>54.!!732!4>#".=!  (L ;%?,7==7,?$<`,,,   (( ,"68<<86",` ``mz#";&"'764/&"'326=4&+";26=2?#";;26=326=4&+5>54'7;26=4&".4>2X-_(d( ,-X,  ":$4444$:"_44<44_  ,X-, '3$?(),,)(?$2(_-X4<44<4CP7>54'7;26=4&+";&#"#";;26=326=4&+'".4>2$:"_X-_(2'B'":$444444<44A(?$2(_-X_'B'$?(),,H4<44<4!)3CSc'&+"#";3!265326=4&#'32#76#!"&5!46;2+"&'46;2+"&746;2+"&P"P"X   P  @P-- p  P p!)3'&+"#";3!267326=4&#%32#76#!"&'!p"P"h !! P  !j-- t  Oq-g6.."&;;26'&'&=32>54&#54&+"#"&476?'&'&546326762767632 <"8B8"< 2|`|2T||- #   G   # -!?!$$!?!/2) )2/->   ##$#   >-1F%'2>/>/&"3;;26'&'&532>54&+"#7#7#7##y7 6  c  c  6 7 ` bD^?cc?^DbTD D p p D D   xxppxxC.3!2>'!"&762J !!  *   `!!(`@"Xbmw/&"?6/76&'7'?754&#!"#"#";2654&+5676767>=4&#53&'.".=!76=3s33%  --  %Ctt*$&- V  V -&$*`!#;""; `5.. #22# +b44>?+a  a+?>J*I9.>k?XX?k>.9I@5?JT54&#!"#"#";2654&+5676767>=4&#53&'.".=!76=3t*$&- V  V -&$*`!#;""; `44>?+a  a+?>J*I9.>k?XX?k>.9I/6?R[f%#54/&+54&#!";2654'32654'326=4&'2#5"&4627."#"&5463!2"&462'"#53#.xT,/B//B/: T(, !&!  > p(!  !@lT1!//!!//! T`((` " `((``:JZjz>/66?6&'&'&7/056761#'"57&"#"54&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26 II Q )C[XX[C) )=SPPS=)Q;a:Q?```````` ++ ! A  CC  A A==A!DD![7GT%546;2+"&7+#'!#5#"&546;'&4623762324&#!"3!265%"2764'&'2"'&/&'&'&47676?676326=4&+"` Ked J `  T)**)T9'  'r'  'i!!!! C [[ C  {{  S  S /!"3!#"3!264&+5!2654&#!"&5463!2P `     @   @@ @ C@X%&'.'54&"76676767"&54&"26=7676>.#".67>2&?)'q@  @q') $   (  /B/   # 169'&fng%(**'32#"&'&4?6232>4.#"+"&=462372 M*CrCCrC/V! J(:b::b:G86   2CrqC" :btb:*5   432>2#"&'&4?6232>4.#"32+"&=46 !rrBCrC/V! I):b:9c:=fro9BCrqC" 9ctb:?5  MV"2>4.".4>2&/&'&'#.?6765&'.>7676'462"&CrCCrrCCrC:d::cud::cQ9       9 7##7   CrrCCrrC0:cud::cud:,  H)    )H    $ )-HO!#54&+5##5##5##5##"#"3!26=4&%!!'&;3!26=326=4!576 ( @ @ @ (   I@(  (  8ff    QQ;K&4?>"/&4?64&""'"&4?64/&"6?64/&"2?64'&"RCC2R  R7NS N7R  R2CCR  ! 7 R2CCR SN7R7NS RCC2R  j ! )9F%#54762;26=4'&"#"3!26=4&#!"&=463!2"&=462Pd!"       `: && :F+0/*G`   @ @ )9%#54762;26=4'&"#"3!26=4&#!"&=463!2Pd!"     `: && :F+0/*G`  3Ic%"&462'"264&7#!"&=46;5#".?62+32%;26=326/&"34&++"&=#"3!265   T  X|5 " 5|`Um|`|    0hhc c  h c"2>4.".4>2&'&'&>322?6&'&'54&+"#"'&'&"1;26=6764CrCCrrCCr:cud::cud: !     !    CrrCCrrC:d::cud::cA         9i!"3!2654&#!"&5463!2&'&'&>322?6&'&'54&+"#"'&'&"1;26=6764`  ` !     !    `p `          9*>%'654."3!26=4'&'2".4>#!"&=46?27o'BNB'*#J#44<44  /'`'/ '2'B''B'2' $h##h$4<44<4[  h++ -6G"2>4.2&'&/654."&54>"&462"&'>?27CrCCrrCCrC;c:  !";F;"!  :c;(88P88(/S7F7SCrrCCrrC :c;=4  $2#;"";#2$  4=;c:8P88P8%""%hq~%'>54.";26=4672654&'573276574&#'54676"?>=4&'5;26=4&"&4627".4>2U 'BNB'& .=-#&4&"& $# $".=@44<442'B''B'7*G/#5O"&&"U2,: )+ 8,26#/G 4<44<4#ANb%++"&=#"&=46;546;232'654."3!26=4'&'2".4>#!"&=46?27DDDD+$'BNB'$+&#J#44<44 ?$V$?DDDD% )7'B''B'7) (##('4<44<4  (%%6Z{%76&+6'654'&'&#"'&'&#"#"3!26=4&%767627676?46?".'4676767>6?6"'&"&=46;:37'77+?62;2%1B  B1% h        5@5.     2--2/! ''| !/? "'&&'" <4 DD4w!8!!8[   D!/`& &` /!{#ANb"/"/&4?'&4?62762'654."3!26=4'&'2".4>#!"&=46?27q00 00 00 00 +$'BNB'$+&#J#44<44 ?$V$? 00 00 00 00f )7'B''B'7) (##('4<44<4  (%%!.B%'67654."3!26=4'&2".4>#!"&=46?271 /Q`Q/ 1*&&'B''BNB''B  F,h,F (0Q//Q0( #&&$%'BNB''BNB'`  ++$8aj%654.";26=4'&'2"&46+"&=46?275#"&=46?3276767&547.#";&2"&46654&#"327+326=4'&'"&4624<4o!//B//  Db    &(8e%%6%%8(&    beb%%6%%&44&+==+/B//B/ =##=-  !8( - %6%%6%z (8!  - -%6%%6%L4&4.6?676716.'"/&4?&676716?6?6"#P 1 " &M8  G0M bi]c U" 7N$ " 0  P$9,1 F6 c ]ic''&4762'" 2?7654'&"I0 w %  18M 'N1 3 20 % w !+8/6  1e+1E1'&4?&67>'2?767>'.'&<0 " X*-:!"T( $!0(!%!,$"I40 $ (T"":-*X " !%!(0!I!%-C/V`q6??6&/77676.'.'.'&'7&676?6?6?6"/&474>"/"'&20[i4]Z2l@.- A. 0"|- %" Q W L Q  52`  I   d/*i:7]4ij3d.A -.@ "*5  Q L V Q #$ 4;m  W    61)Kx7&'&547>32+"&;2654&#"'."&"&";26/>54'&+"&?.54?>6?>67546X!H 8"89O& ( &&! < !&] < !''"&-+&2M7#)#i .&::&.0#0,z{{z-/#0+8p4."#";;26=326=4&+5>%4>2".32++"&=#"&=46;5&'6732>4.#"&'632 'BNB'":$4444$:"4<44<4`4444) (44( '2'B'":'B''B'$?(A44A(?$44<44qA44A 4<4 'B'$?(@+8i%4."#";;26=326=4&+5>%4>2".%+"&=#"'6732>4.#"&'627#"&=46;2 'BNB'":$4444$:"4<44<4 ?'B'2' (44( 'd(?-X'B''B'$?(A44A(?$44<44X-?(2'B' 4<4 ?!+84."#";;26=326=4&+5>%4>2". 'BNB'":$4444$:"4<44<4'B''B'$?(A44A(?$44<44#'&"272?64"&4?37#7ު 8P 6%C Z P8 %5C Z#;?GW3265326=4&+";#3"&53265326=4&+";#3"&5!"3!26=4&H/B/;```'/B/;```'p!//!0 0!//!0 @/?#"54&#!"3!26=;2654&#!"&5463!2+"/576;2 b b      yy  b@@b     xFx   *6@L"2>4.&'6777'6&''&'.'6&76767>7&677'&CrCCrrCCri@6!,an &# $"$/,1-$"(H8V &oV=/F8 +3AE'..6CrrCCrrC''7)J=v1  +2/}B 6f+ W8@6*! @d/3S24# '1&7>4&'"/#"&=46;762+32V    jYf  fY N aa N    (.(i Y YNN)8EOgn.?>654&'&754&"764&'&654&'&767''&+53'#";26=?h c "' 0(  %7@$I= _    N aa(A  fYw  =  E(%(1S %R %@"pB?6@& (    ɊN  Y ^ "/#"&=46;762+32Yf  fY N aa Nh Y YNN@)=Q[%.67>4&'.>4&'&7>'&7>4&'"/#"&=46;762+32@I= 7@@7 =I`0( "''" (0    jYf  fY N aa NJ& "pp" &J1S EPE S|   (.(i Y YNN D%#54&+"3!26=4&#535#53#53%&;26547%6;2654&   c   `p   ` `` rrV ss V!E%!";26=!;26=4&!5!5!5!7%&;26547%6;2654&  c    88 @ @rrV ss V!'4H54&+";26=>4&'3&"#527'".4>27'&=46;2@ "" "",h,,h,`,I++IWJ++J<4 OY  YJTJY  YJTJl:z:+JVJ++JVJ+\,xn& ">PY#."#"3!2654&'2".4>#!"&546;2>54'32264'76.&72"&46ACLCA&&&&#;"";F;"";  .+JVJ+.     ""&&&@& ";F;"";F;"`  @ !+J++J+! )G F@   )?%&/#"&/46#"'32+3276'#".5467'3267+ <  (  9 ~ N3'B'/'2?/Q04U4 (A@ 1?'B'+H Z70Q/7-BKp"264&"&4627/&?6&/&'&'&#"&#"267676?6&/.%462&/"'.767676?&&6&&  #$3-& 1MRM  O K  0?9-*) (&0&) F 4  |&6&&6&aS   & <1Wj y[  [&' a36)%  7$ )d'A%"264&"&4627"'."/&47>7"'&'&"/&47676@!//B//!( 33 ::c PkihlP VtpptV/B//B/((. . 3$$3 hLL RR *4>"&46274&"2674&"267#!"&5463!2!3!26=4&#!" s`@` @  `    =` p pC!"3!2654&#!"&5463!2"/"/&4?'&4?62762` `  DD  DD  DD  DD  `p ` lDD  DD  DD  DD  #!"3!2654&#!"&=!%5463!2` ` @  `p  P P !"&463!2     #-?!"#"3!26=32654&463!2!#!"&=!+54&+5463!20@0< @ `  `` 0 @ 00@ P p 0 *4>"&46274&"2674&"267#!"&5463!2!3!26=4&#!"` s`` @  `    =` p pAUY]gluy26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7'3#3##'&/3?3#'&/37#'3466@ MV24H43VM y `8M/  aN b | H NNNN H88>(8|(38|(8&/>7"&462%#"'"&4?&54>2+32&'27%#'73."26xsI,B/+JWI mm-(]((;F;"";F; %+/B+J++% N-(@@#";F;"#W`i73#";#"26=3264&+5326=4&+5326=4&+5326=4&+54&+"#";#""&46272"&4626=4&#!";#"3!26=4&+!!hh@(@(@hhhhhhK    88p8 @  ((         @@@BF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&4W Wc9K^^]]L:d  tt    #; S^ +r   $   0 0& V (l V &Font AwesomeFont Awesome 5 ProLightFont Awesome 5 Pro LightFont Awesome 5 Pro LightVersion 5.0FontAwesome5ProLightGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProLightFont Awesome 5 Pro LightFont Awesome 5 Pro LightVersion 5.0FontAwesome5ProLightGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZnžžEplugins/wps-limit-login/assets/fontawesome/webfonts/fa-brands-400.svgnu[ PKZ 0ddEplugins/wps-limit-login/assets/fontawesome/webfonts/fa-brands-400.ttfnu[ 0GSUB %z8TOS/2@:PVcmap9"6glyfNN\head ,6hhea<{$hmtxqb,loca^eHmaxp| name_ n<*postqhK_< ֺ"ֺ"K'  0>DFLTlatnligafGfPfEd@Y.Gcx@@@@@@@@@@@@@Lh@@@@p@P@@@@ @@@@@@@qj@@@@@@,, |66L^knp~\u} !#1MRWY6;Zgkpsy 17:K^`mp|\hx#%MRWY (*,.:<<DFF\^^bfrtz|006BDDLLR^~~`y azx@'JBAQe: Pp14-<DDHR  G09Xvw5G30.+12 );Co7)C]/->uts95b< .!lU:n&&%|=?Y~+*cHjq\>h  "$#(4678=?ABEFIJKLMNOSTZ^_dkmr{   "#$%'(,/268;@FE,g3Wi}!*[VIf J`y azx66;;<<@ZZ'ggJhhBiiAkkQllmmnneppqqssttyyzz:{{ ||}}P~~p14-<DDHR  G09Xvw5G30.+12 );Co1122777)::;;C<<==>>]KK/LL-^^>``uaatbbccddeesff9gghh5iibjjkkmm<nnpp ||}}.~~!lU:n&&%|=?Y~+*cHjq\>\\hhhiijjkkllmm nn ooppqqrrssttuuxxyyzz {{"||$}}#(4678=?ABEFIJKLMNOSTZ^_dkmr{   "#$%'( , / 2 6 8;@FE,g3 !!##W%%i&&}''(())**++!,,--*..[//00V11IMMfRRWWYYLl82  Z  "Rr20DZ~"x*n2z2 !"B"l""$%%P%&@&b&&'|''(2():))**,0,,.n/P///0f11&1T1123344"455X5667`78889z9: :L:x;;<*<=>>>?v@@F@A&AFArABBJBBCD*DG~HHHIJnKxKKLLdLMMNdNOXRst$ttuXuuvNvvw@xyLyz*z{2{|Z|}}`}~"~Ԁ^ցB0ZV^֋<&^ \48f4x2ДX2R$&vPȞ^|",^ΡtX (Hr>.Maw7&>5>2'&4627654&"67>4."'&=46;2+676'&762>'&'&'"&'&'4&7676.'12?26/76.'&'"g9P:%;! ,*8 %[ %051 %3/Z'$n14( D?"$  ,%(!(63e$&  *(u   ( '*<?0-( 1 h  *3D%&?'6&'&#"'6?'.?>76'264&"".7'767'  )'*''#.L+3 D  :jB*'7 (!N+-$' z %7'P' V. ! =Q C**2J '*50&#&(+=%&/&76;632'&7'&/&?6'%2?1'46?5yt :: v j;;  9; < ~   s]ZL  0 J 8GN%"S#%".4>2'373A9CrrCCrrCd""c CrCCrrCCr44CUv!"3!2654&&"'#&'&7>76&/&'&'&6767>7676#'!"&>32;6#"'."&'&'&76767654>;6&'&7>"#&'&54676?6;  #  =@ #C  / u>  $  4 $$ !   "& z   "'  ' M ,22 G 32 $3 " 7&4>%&'32>5482292F$a`H V5&l=J}I#15EF04F=Q,31F-4J~K $6FS"2>&"&=437!"3!2654&46;2#&""&5762/&4".4>2%44J45;! _##J## - (U  ":"":E:"": 4J44J48C###J#U   ":D;"":E:"d"CR56767676#'&'&'&/"#'&+";275767676'&/476'"'&570+?6#&'&6?;2754'&'&/'.>2.'&3766?676?'&/&+"/"376?6+"=*B@=&9  R  J   #! +_/&"6"<=LT" 'B'  $8  0   b    ! (    5F"767632327673654'&4547676767#"'&1.3&  )-'DJO+  1".*&:.1 !$'("    & '$ )?#&  k  #7@IV7"&=462;6=36=326=#7#467'&66276'4&"2674&"26"26=4&Z  & #9"  q_ t  t  = == = 5## ##58 s  t +4BS%654&#"'&#"&#"327>54'&'632/46'&#"'&2#"'.546#"&'&7>2#"'&/26'32376&54767>7&+'&54636'[.7%* +$'/9-*/ D ." "  -   ,A-C.  '&( &., !'2  | ~7<v #$%E]9&s@ )ew0 1/)? ; !   !")b NFRZ^a%777'77?'7&767676?6?77?7?''.6?6&67677'/???567676?6'7?7''7''7>&7>7?&'&#7'###"@ /  x  !'%A$$%%7 K :(  ;  ( 9 & %'  +"% )&  p "? qsvPSx$%   uoV[> & =< &(Mzfh?B)    +.O,-+$'%'  *(?BO@   &73'57#'##L& N1n0\JbbBB%2E!"3!2654&.?67#"&46;7'&>7>32#&/&76732`x 3A V>[J  ;4 `  r# !f  "5BO7>32#"&46;7'&>.?6732+&/&767'"2>4.".4>2 W? 4BF5 K  CrCCrrCCr:cud::cud:G   s$ " +  "  CrrCCrrC:d::cud::c  )?I_i72154&"#467>32#7##"&46264&"733>32#"&'1#74&26731>32#"&'##74&"26746762#2653#".7454&"733>32#54&#"#5* & '' Z&  (Q:&  'Q6 AL&L^& # '   L '0_  , Fl   O  , Fl       !  .     DwD 0:B\fx'&>3&"'&#326232767671&'&5&73&7353264&#32+2673354&"3>327"&56?26?##'##'2u              J)%$*""2  & "W 5#$3 " ! !   'B$9$%^ a &  Jss y(3%&7&'&"'&#7276236767&'&7'6'17;39 & !5 " ! (9& % 7( +'*! -#&% ( (%A4<%676&'&67>'.6767673773'673'6''79YQ`pmZWT7r4KO0! 1!1T*$!"e!$!.fI!$!fO;92I 3- Gb30:! 0*)+3"%5 Gn;)5{ +,%%5?."7>6327."'6767&'&"6@~/[j[,mg-.2:2@PNHJ11)AD)66Ȁ*22*%*Bk3 !D?$%I? 3733'73/%>NxN)) Ш  QQ/88 *!"3!2676&'/767'?7619"819"W s)4: Y g"#_)))4)n @ =0 q w ( 2D7'##7'3'373537#5#53".4676?624."2>557?'&'&/33'373''264264&'5#35335#5#35335#576?#35335#57>4&'57"264&'7#'k4>>>']>--)d       ^YAA>?@@Y P & & P ))b+<``sss 3     ` ))              X++((h.Zj+"&/&63237>;27>;2+"&'?>'&=6'&'&?6'&?'2'.76762>'&/.54676&'&/&676?64&'&/.?27?676'4&'&'&76 '   )  +      g & ! *!'O@ QY,/`Q$+SX   $8", lh/:m 6     /  /  C       % "/"+^  "2>4.#73CrCCrrCCrUCrrCCrrC$(7J7+53'4+323"3&7#!"&5463!235#4&'>54+327674&"327##"&535 -.(+?m`NN+ =[]$?(' 2! d5R-`}0 + +*@)/ Au!7=764'&+327654&'32+#532%#534'&#"327##"&53'>20!45!'!I5OSSU8-8 #:&!! 3d3"/n(b3/#;')$>&26'&'7''7''#'''777676'6#"/77"/7CrrCCrrC    7    6    & (9  CrCCrrCCr  -+,-  3H-,---6< C6  0=[>'..6&'.76&>'.'54&"265"'&'&754&276=4&N0|=?/)ml)j  7M !Y32#"'.7.>;21  (%84' -  ;" /# $!  -  MT  ~   2)  5#%;2#"'."3?>'1.#!&'.'&'47>76 '&'&/".54'&'&'"76767> C(40 )  I!V "  %v X #  :0  Q' ?''77'5]VllV9222gV ll Vƕ2d22&'7'7"'&'&5476327''77%+,++%{(/8/^<&,O}J]]J+V++.d955:c>57;cXI]]I.9C%6'&'&'5#5##'36'#3013533567676'&'276'#536'6/!31&15   a1&1B!&+'(* 3./3:(OMNO4 :DCCD5,t B j H  #'+/37;?C35#53735#53735#5335#53735#53735#5335#53735#53735pp(pp(ppHpp(pp(ppHpp(pp(xpxpxpxpxpxpxpxp#%#!"&5463!2 #37+V `A__[p)`*[[@/T74=476'"'&7672=4#'&%#!"&5463!2#'"376?6+"'&+"6?;2=4'&'&/#?6#&'&';2=767656'&/'&+"&'&'&/&6767671>&7.'&37626?676?}) 0 2   ;%&~%         AH'(926D # /$.     /     `,z jjf   [   T?  0     Ay%1EHYbel%"#"5#"5#&'&+&+'#373527373326?32767#!"&=373353735335;733535#'#'#"1#"5#&'&+'#'#5463!237#"#54&+#532'4+32735#"3+3275&'&"&54#5#35'535#5#3254'&#"&54;5#"32'"#";735353#'#'##"4;3/#3'#54&+#532'4+32'5#35#535#55#'#'##735373/+#'#53732'#3#3774+32@ O  :SR1 ' ?@  5 B 4)( + ! (  . ( '  !    Z78'&&Q    !  W "#!" T' '    <77'&&-"#} !BC5q)$$(B0  ]Z  \ 6n_   E   E (   7BB00E44E( E   E  E 66666EBB//EfE" /(@"*OZs%+532326=7#!"&5463!26'"01&'&5&73&'&"'&#"326227>?4&+353264&"3>323267137##'#+3267.0   @   >          3Z# & f$ 6L `  W    6/   cPPc@ (=">4..4675!"3!2654&#".547>;20Q//Q_Q00PX (( P(( [4Y4X5[4]\p/Q_Q0/Q_Q/ 8F9 9F8;``3X38-,12+-83-*4 @  ,3<Mhrv7+532%#3247#!"&5463!235#535#535+37#'264&"75.4625&"'654&'.5467.'4&+32767#3!26='654'&#353S  8 --V#$d%%D  "     ? 7KKcV   6h`TT77*%  +     R 9R#$% #R!!@ ';P`%52#1"#"+327>4&7#!"&5463!2##"'7127676'7&"375&4654&'1>54&'#326)` v9&)$#*)#!2!!2x{  # `    ( F  2 Y  @)4DT\x *%"&462%"264&7"3&"264&01/?303=#353#!"&5463!2327.67&#">&'4&"&"5#35463'4637#&"27374'.427&"'63'"=35#5##3734#"7'&7&5#3546467&27'&7#&"2737&5#35467#&"27373535#45'1337#'#1537374.#"32>   q c eJ %@%*#$##*%@%"""l  - ( $   :      B "  * %@%*##$#*%@%&      Z`%@%VV&?RRRRg%   %       %    %%  |V&?&WV%@ @.C\s7"&462'#"32>&!#"32654'&7#!"&5463!24&+";26?63267#"1&"3267;2?4&#7054+"'&+";274&+";2?63267#"1&"3267;2?4&74+";265'"264&   i    @(U" )@ (U$ .J   ) `f  @b]'&>nf  @!i1   @<LZ^br%"'5627#!"&5463!24'&'&'&54325&#"#"'3267#5275'&=37&'#356767#3574&#"'#75327674&"3275#"'3'"34&   :     E#! J $ ,$$$${ #  p1 F4 $ 5`  "  "jr 3 }U!}P" ( $%! 1 @#'GQ%#70?#!"&5463!27#'&'#37#74'.>367&#""&/26'#"373!m Y?+'@$("  &$  ' <*4+ `j]  2 !/ # (%.>&'.7>7676'&'&'6I)5!)5!YG:89 K8;@32'&264&"%7>'7&M#f7C:@!,J1F11F1;pJ@5@ ^(7`;?*Mu,0!%B .O#11F116!W%%dvR>J=iF })$1>&#"&>32&26'76&"&462'"2>4.".4>2> '-#;#,$ L Y   =g<M2E11E2T".-F4*E10G0-#11F111F12E)5E..E-l/`p776727676.'&'&'&#2+"&=#"3'.7'&'.676&'&'676676''&'#"&=46;2'"&=46;2#7546;2+"&+"&=46;2Q;ED2%" /$#(#*   / D&!'   5 &G8  ,:( ( }p4>+@1 ) ,  (9 &2  :3 " 0# "&)  ( ( (X $(+'&?6=4'/''77'7577'7 M_,_M77M_NNN8_M77   gs3?gg?3)%%s3?&444g?3)%%3%2+#5#".4>32'".4>327.#"26  W 954'7>4&'35#'75/6=7275'6=757'7#7'77#'7'7#273'?7'7#&/533&"#737'3735#77'7'38 jj 8 674 jk 47n,,,-3843.,,,F#@b  SPSJOD|`:bSlq9w K3 36<4?.|&!)4 !3   g=|0Sk73+";2#"&7>76;2+7>;26.+#7056+"&?32+"&6;+";2?2+"&?6&++"&?;+"&?>;2+7>;2?4&+"76;25(    &# %    : N 90#p   IC / 5!E$ (j  `E 4 E(!( @b&(  Jb%;P2#"&'&54676"3267654..#"327#"&4632&#"327#"&4632Cr!"%!s?Br!#A7:F:0-46.074]7]:!"  ""(). "  "!)*.A8:EH;7>B8:DAr"#-]i]2-0;8]6 ,(I)$,(I)73/3?#'7#'##Gso bc156w{t44P/2J& >.2/'73?!7!7!7@RtM PP_),,aR5R%".4>267.#"3267&'X 690096 A#_5CrCCrC5_#A080R#&+CrrC+&#R*.ghm&767767676'&/&76'.&'&'&'&&6?#&?5767673#7>7676&/#"&76?&67&?6'673&776767./7676&/'"/&/&/&/&'1&6776?'37>'&%&'6&7'&'&5&767567&/&'&?6756'&/676'&2?37'67'676.67'67&#76'&'&#6767>7&S "  8       * )" 4%   "  %)  #+H,     ;   2   0!  Z                ~ ] )  ;% $#{  - . -:  6$ *+ ?   V0   !  1    )   !  %            %          #";265"&=>;2#G&55&&5  3X7&%00%` {5,./&#!"3!2654+5#546;3   `  | `  ,5EU3#5'.4676264&"'3#5'.4676264&"%2#!"&5463%!"3!2654&~44@33AD   &&&&8 &0' : &0' :    &&&&EJ76767654/372767#7##"'&'.#"'&'&75476;6654'326& O "  LJ !  [S  TH @$@&   3 7 (  -d@3##57'#53?3@b[ , ]]V+ bc  T ] T ` !%)#35##53%3#35#533#35#3#'3#3#RR3)RR3RR3{4444]))]))]3#'52676'.'&#4676'#3+3'#32P -42.<`]JNR8SP___JJJ>>8`4."'7&54>2=g>Q";F;"";;e<=gxg= K!#;"";F;"#5+325&+32=089__ 22QT~  /37;?%#535#3#3'#37#3.&/#!3267276?%#37#37#3'#3^BBBBNBBBBNBB +$ M 8nv) BBNBBNBBNBB;=T;<<<($ < ',.!Bic %;;;;;< K%5%67676&''"&462#676'&'&'&32654&'>76!7r/a6 &Z?   [M#7AH!"!% ! IUP6hB0   Dc  AX>+.' 42*"!"% SY@R'0=MZ7>77.6767&'7&''676>7&'&'6&'7#!"&5463!24."2>Z(),@! J!'W+3#!G /"  `@+JVJ++JVJ+3 #+ J%+   17T  4(4.0, 0%  `+J++JVJ++J "+:CL"2>4.&'&&'676'&'6#>452767.6767&7&'6CrCCrrCCra5- 1& #0$+3d*$>E% >M*NC 73/R*/= 4s *.0CrrCCrrCrC% 'C9 9A1N*&/I%#(SM GP,J '7'7757'7LUTTUTTTUUTTTTTUTT 4Kr.'&'267654'&'&'&'&63327676'62&'&'&"'&76"'&'&'.'&6763227>7632@ +    YfW .   9  d   %"      M &   +25,*2/),62-    1     3   ,3532+32767654&'.#@k7*(,'+:M:5 "]8w7IQ#&@!439,P## !*>&'&'676."264&#"264&'&'7673&'&>>72#&'&5&5&57#"&63.'&76?67&'&'&'&54?6?676767&'&>>2'%6'&'&7>&'&'&'+22767&'&'#&67>76'9         8 @4   !"     ?/<  " *$- 6*"     & 3     & m      3@           ;/      (     .     .* .+  W ) 57094'.#"6767#6767327675'&'&'!h@C40$3>G   : D4'2+,'\+/:G46;40<4 ' $-1C6b i-!"3!2654&#53#535#535#53l  ''xxxxxx l  '((((y*%&''"'&57&'&#56&'&'7676&'&7676'&'&7676'&54?64.'7674&'76&'&#'&5767676'&#"#"&1136?>76?33>76?3?67767671767176?376?6%4>%67676167"'5&7676763454767632                      $         O     ''    0:     6         A   |  *7      '4AN[i&'&'7&47'67'7&&'&'5"'67'6356'#>7'7".4>24."2>'646767'64'7&'&'7&"'727 :a )= =) b:s)=:a @)=:bQCrrCCrrC @ll@@ll@' 3 @@ 3  4 @@ 4 90  . = 2r2 _ / 09Q. 90 / 90 yCrCCrrCCrC@l@@ll@@l = 1r,  ,CC,  ,C72#''&'&'&'&'&7&2/&'&/&'&'&ZL# QF #(#  C  )," (">0@$8RG *@L  +;%5 +!('&7#3%#!673#091"3.(&dW"jT2 $GWA` QQ#3-@l)'bC_Y28i0/" /$%.8%''78]]\F%&576765654'&'&/537#'&'&+"?2676?3#'&'&/&#;2676?  i  $ *-Y  d 57C\n5 60 & PP ' " +;G[hu"2>4.462+"&=4'&"+"&=+"&=46;2+"=4;2+"&=.5462"2>4.".4>2:a::ata::a9P92       #CrCCrrCCrC>j>>j|j>>j:ata::ata:(99(  5   CrrCCrrC">j|j>>j|j> 5#5354632#"3#MMM@5+0 U I@[H9?Q ?["7767654.'77K96-;KFCB(+<=%+537#5476;5&#"#3#"&5463!2U< E$(/==`pD+ </*2D`%+537#5476;5&#"#3#"&5463!2 r: C$'0::   r C+ =.+2C  %&5&'&'&/.'&'&/&'&'5&'#"'&'&'1?67616'.#/"#&'01&'&767'152'&'6'6'46'?6?675.'.'7670"172&761551&1&/##1&515490154116767'327676?67676'76754         3               ?"$4#     #   2           # )- 50B&    ,4 HNTZg7097"''''777727'67'67'67'64'7&'7&'7&'7&'7'7'57"2>4. - 3= @DD@ >3-  - 2= @CD@ =2 - ʼ-M--MZM--MۄD@ >3-  - 3= @DEA =3-  - 3= @DuuvvPmnn;-M\M--M\M- ####535353##3535#353353535@ZZ@@Z@!!"3!2654&"&4623"&462`%%5%%%%5%%`%5%%5%%5%%5%!#3##535#53XXXWWW@X`XXg+6G7#"&7675>&'&"727567676'&&'&'&7676767>'&'" +%Q%*6"?3)6  '' *f !#46H.=04D/0,:'"&5'(1,;O"( "P2#!"&5463%!"3!2654&"#"'&'&#"5654&"26756=276323276=6&\\O  #   ' | \$\      ,  6%#"'&'&'&#""&5.5462763232767632  2B "/">1   Y Nw""   @!"3!2654&#"'&#""&=&54626763232762\B  &   "  \ -    )<K73#3#57>=4+53546324&#"#57>=4/73''7'73733r]M;&55*E  ! n *+ & &3"#32. *  " (9-  -% &&,?N!3##5726=4+53546326&#"#5726=4/733'''7'73733D 8,&'3 gP    @%uo%%!  l!!   D7+=4;23#";=40#'./4?6?6?6762576754+"#54+"#54+"#54+5632276=4""&#"564&#"#54+"#54+"#54+"5462676r!.#1R .*333+. SD     ($(44445'0%OA    AO- )5NH1ZG LL _kx%#"#54+"#54+"#54#56323676=4#""&#"564&#&#54+"#54+"#54+"354762354%+"=4;2+"=4;2$%%       %$$,   &<p   ` `@@@@ )7&54>32%&'>6767&7&'>"h Vt<!"76?6;276?6&+";2+"&146;2C  T 1-  k  [  I Y  N! J; $ lS 8}$|#"'&'&'&5476767632054/&'&547>7654'&432654&4327>54.#"#"/&'&'&'&"32767654'&'.!"3!24E          !      $ '   !3  03A>1  !(+'%           /'#    , /)74h'  '/0*'" 067676.'&'&6.'&667&#"2>4'0"! %#"! Y ,-   /4;c::cuc:` !!#%% #"1L ):cvc::ct1(!"2>=4&"/.546327>324.'7'7'7'77''7CrCCrrCCrt~~# MM5N$ MM5MK}CrrCCrrC~~$ MM5NI$ MM5MK~t 7'7'7'77'7'7gg-4MggM4-gf-4LfgM3- EMVt72#"47254&%#!"&5463!2#&13254'&'&'&547>54'6?#3&474&"26#547##6393275#"=3,M`+  !A9((i%(  %d%$u `r   6   # = +"? #A(.7V_g73254'&'&'&467>54'675#&2#"47"5462#"'&=15#&5354'33'327'"&462#64'  -&Z  $ <(X)&+$+%  833 8*)#L - 2  +43""11 (X0 0[!Y   6N[7"'&4762%+"'&'&'&547&547672632>34&#""/&#";276'"2764'& #  # &#%/4 50 '*#1*/*&1"'@(" 0 "'0$B0B$1S # w& ;G#(7A0   .w#00#;r&& dinsx}!"3!2654&&=4'6767654'&'676'&1&"'&'&'&'&/"137'.54>2'"&6#"42&6'&6'&6'&6'&6`      +         2>*KZL-=     `8          )W7-J**J-7W,  puz7432'>&36&"65''&'&/&'&/&63767&'&'&5467&5&766276767>54'.6&'6&76.'76'.  +=Ep@^L      $    A   % K]"!t  3@pDS=     -    -  TSD97@% Iz.567>54&'&5>4&'6767>=4&'&'#.5467>.5.5476.57>76542"&46"&4626 =i@ 5U0E9 4>N>    0! 0    >N>4 9E0U5 @i= %%K K%%  J -0CrJ|h Dc9Cr  g=Ep\! O""O !\oF=g  rC9cD h{JrC0- 15LB@NN@BM4l0 7'.7&"31'7>&"3h8^^W9ڸ &XXڸ  p 7#3#3#3#3B22e22e33d22~BLLLK`%&#"'6767654&";2&547654'&#"327676767>7676322654&'+"'&5476762   7l*%IB )  .'%!  #    "50!0,-BG-  '1# # 8VG?(#*"d+&'&54767627#!"&5463!24&'&#"'67654&";2&54?4&#"3276?676763226 `@"C .)  "   + T   <`"  $!(-   $&  +%##".>327.#"32767&'&'#3254'&D &4$=$#=$1? P,=e;;e=0+." 0jv' "$$>I=%? "32753'&'&"767676'&'&+' 5'*2 7"N\ O;*! -696; (!" -0 1'*  #[Y% 7@=?(.  + ,1&+ -(.8""N'&'&7676327#!"&5463!245#"'1&'&#"7>?'&'4+76,  "'!!!P!v&4 <4$  !#("&C   **C!!P!!lm( *$:< 2     %3!7SQ6QQ %'%7'76&%'E;AA<<ݡ F #A@" (<t!-%#".4>32&#"3276767#55##33535.T64Y33Y4K54. 7 7 # mn877887U04XhX422 8B8  C888888(4!"3!2654&"&4632&"2767#537##5#53533`);;)'2$%3 9^5`;R;%4% ",6R '3"2>4.".4>32&"3267#537#5#53533CrCCrrCCr"8""8"1"!>-- )FuB$##$#CrrCCrrC!9D9! !.@.+ 5Dj##$##$ "2&'&'6'4#"3&'&'&73&'&'7.+"654'5  0]<h(;!)r '$; YJAUM212( 3= Mn9+3*X\Re]cbZQEHJajfn#%#".4>32&'&3276767#53CrrCAA$$'2+G+V #"2>4.'&'&7676>76CrCCrrCCr0qq&CrrCCrrC♙      !07D%"/&4?62'64&"226."7&'&67&>".4>26'.'&'&6734'&'6/>76&'&&'&'&7'#>?4&"5>7'&7676514''&'7>76767-     F   )! CrrCCrrCB               3  /(       #   7  lCrCCrrCCrn %            !    K* A,R47654'&'&547676765457##"&576764'"&54?674/N!("       C   2 8 8!)),&       CF-#G%  ~",;^kz'2AK677176'265'&'&'&1#'."'&'&6;27'&?76767765&'167&#"'#7>7'&'13"'&'&6;'27#1"'&5476?67654'&/&'.676&'&74767637'4'&'&"'&?#"&7&'5"&'&#"2.'31276767676'&'632&#"'6&'>%&'632&'&#'./2&/&'&46?767676&''&'&>32'&'&'676276763245&'&/&'&+"67&'6'.&5&7"&&"'&6;2767277#6/6767=      R   B         _           #      ( ((( +   *    (    &  T  &    u    & c> v  :                        #                   #  (  (     (             3+..,3     @A =   7"&5/267676"'1&326?62"&67#"'276?&4?64&576?61&/&7#"&75676327>?6276716?63232?>32762?'&7'&5463?64'"5726%4%i    B          3003<88&/&'&76716322'&#"##"'&=46'"36=32>4."&462+"=4;2'"&463)$  ; )! 5  &:   x)!22$$4$$))  pQ # { 9   -   *" &Y2;2%3%%3%&V!!>7."&"#"47675676/4&+"#"&"#"637>7676=4'&'&6322632#;27656=4'#&63226322)'t''($p$ "n")&(r( $ $   Fe   )  )   eF  )_k%3535%&'&'+&'&'5&5&'&747654254&#"5376767676=4'&"&=4627&'&'+76767676=4'&"&=4627264&"3&'5&'&'7"'::J: '4 .      3      3   .& v6(%&`9oo    ?1 ^ 6     <)    <)! x J *&'&'&'1&767676'67>&!L7F$   $>+"o,# :)&:*  *i:M#0$!"&$`&+'Ya4 775715 UVUUUUUUU7#3/3?#'3##L bd065 t441L&>8A%&#26'6'732>54&'5>54&"'&'654&"367"&462 2"2#,#<#?/ ' :Q+ ((9))1,"2"2#;$0I>= +;+(9))9( '+/>Pa%0"'&7542'454&#2657#!"&5463!2097#37#'&'#353737454'&'&+327676574'.5#37276=_ V`UL!!q++  W" V  ' T`%<(UUWWS   * $ ?k"2>4."&4627"&462&'.'."267>7>4+"'&'&'&'&=476767676;255>55,,>,,tL %99%  %99% 1 &) (%  %( (& 35>55>5,>,,>, &%  %99% %9  %( (&  &) (%+4:G67654&&6773267#&'&5!6&'&'&7>2'632&'& 3.1?5dH E5O9 91J#Jwy"DIL 4#/#%=R>. %&.X8OFg %, D& ND $"J&A#&)66)!=I#.#"#";32>54'3264&"&'!264&#!&54>2!"3!!32+"&46hC|LCrC5  C|LCrC5 j6\n^  6\n^  *   DTCrCDTCrC`6\69/6\69/B%'&'.7676?671>7'4&'.67676?>74&767>37632~ .      &    }i <( , " &  =#   DTa"2>4.&'.7676?2716=4'.7676?>'4>376#";26=4&".4>2/O-.N]O..O!   \   s *+<<++<<5X44XiX44Xp.O]O..O]O.Jk  W) e> <++<<++'"'&7>74&5>76'676&6'&'&/&&'&'.673&4/67676&'6&'"&'77>3&'&76/.72&'6761570?7&/&'5&762#4&"#&'77634767#7.'64'&>7>&&>7'&73&7&7&7236776?6'&/&'&56'.'&'..7&>&767677'&'&/.37 31(          M" .   C(#   "               h " =)#<    5  /    #  u      $  ,   9V    %    59>'   ?   7  U  !         (  %!      +T     #m   )  =/      #  %  -   E  )/   6-  F   '        .=\&/&76767673#"'>'.7676?>&&6'>&'&#"1?5.'&/?676'&#" #>#<a7 dr175 *"   T1 #>ruF>9   5"0&M49uF=su#%>  #0H`46326&"'.7.762>'>54&"&6&/"'732654&/"&47'326767#!2, d,d ,d -#/"5Ec-d ,8"#j,d ,#!3d#, d,d6!_-d -4!# E2d,d -#!8-d -3!#E!"3!2654&#"'726=3"'&'73264'&/&'&4632."`"-" *c "   " !    '` '     0     9!#"'726=3"'&'73264'&/&'&4632.""-" *c "   " !    '@ '     0     A E|%&/&'.'&;272>&'##'"'&67>'&627676'"'&'.?676.5676>."&7>Rf.(/M;$.Z{='< +(P2RRDE&(0k$&k'1 ,(  ,,!#$ '% +0  1=)81CE.1JD#<C '/('*< 2:9  - ) &&  (  %$ ,,D[jwx?7'&'6#"&54>%6"'&7'>76'%&7>7''&>%2#"'&'&'67&5462.7>3'654&"7@<=)/'1;C3'r  -! . ' r ?1N/'1;C3) '< .FM<Q J "0":';!" +'' 17!>  /@#*(} 0 ,;,&18!? $'/76&'. #''$ p %([K)*SN(.#%/*L 5sk3 v,!"&5463!24&"326=>/76&'&`$< "1( % , `.*L  ?:  @!"3!2654&#373#'#53##G##`>oQB`X###H#Wttrr*:HT%&/..#767736?>/76'""'&43720&/767'&?6~ 'Z@›  e k?   afOW ,Gj-?L$%9H1(0 [.  :r "%kH  :@j2. N =Y!"3!2654&"'&/&'."3276?#"&46323254'&/.547632&#"`p, $    ')+(    &  :%   `  ,V0  "    /   3ON7'#"&547623254'&'&/.467&#"#"'&/&'&'&#"32767 &;  'Fz " );^-! $# )  3@DB>Q3  2)3 *0Q J-&  #5"MFCF :)?#&&#"6326"'&#"&#"+>32632 &#"&#"67632632 8/-: ",0=*)$"75>))>57#"*E"@**@"E"/6>))>6/"+"#8//8#"Q+)))]&&  I'I|%4654&+32##32654&4635"&&'&'&54327&""'32654"&=#"#2;5#"&=654&'5>5'46;327'"7&'&'&54327&""'32654'"327'#"'35654&>32e     j 7!) ( ""nK     +  7"* ( !"-,##_#>  !  44  !   "- " !   3 6";   "S.K, " !+B%6Rbw%+"/+"=4;254;2+";2=4#54+";2=47#";2=4+532=4+532=47#!"&5463!24."67676 !    R   ...q0""/0""/>,JYK,N; #(0"G,*G,*GG<9G <G     W"/0""/0$<$$<$1J !' $#3'"&462#54'&"#3367632d]]. , t] @ \Y  A +) , , $#+) )!E5!"3!2654&#53'"&462#54'&"#53367632   BC"  B. B@.   h  j 2 BFJNRVZfjrv%0/&'&'4#'765'4/#3765'?657?2576'7'''''77056/76=7'7'76/7?F;#$"Z{"ATC7 []j<P*F (>  VC=B)@104'$ #,' d NEC.5!,@]=a~7K}1[[:^9D=DG=F5D00D/)"(&A$  s B\4716"7024'1&'&'1&''&#'7&'&'.76/&5476?6?67&76767674'&767632&6>'&">15&>676&"37>7>/&'&"'.17676'&'&05656767636'6&'&'"&#&'&'&'"/&/&7676#767.#.'#6767>7674'033271>#&"/&"             + (# !   ,             # %           !    /   D     .3 # (#*% D        $     $  ! $  0            u .N3'.5%535#.#"7>=35#54635"&%&=#76?'&'>=#N   8%*< ''<+  M    (I*Mo   "M#.<+ M M+7636'&''&/#"'&726&+"326&+"37676767567654."16/&'&'&'&'&54>26v      p  X  z+JVJ+  ";D;"   3 F  A  @ ' "*G**G*"!'    #!9!!9!#  %4/5373#57>=##576'H-l_'&'l33 2 6%%& >> (!#576=#'#576'56/5373LvC O Z WD;S@js&&"$%6f7#".4>32&'>&'&'%6>&'."&=4&+"+";2;26=46;26=4&#r2Y6DrCCrD6Y2)&YS ^fV+ ,1b   LUD0((0(GPs7.>>.>.&>&%>.>.>.7.>'>.#&'&'&'.67&>7>6&'.'&5&7>76'&'"/.'&'&726767>6?676676>.c  [ u     z  " Q   %-E%# 9C!?&V          #    "L      5    7N  !K 2?3% ) 7##)X  1     _  83 (  F #(P  3#73#3#73#26=>26=>>=$"'"$t|5DS%.#"3!2654&!"&462>'&'>32>77"&764'&>"&764'&>.J+6X*74"'8*5**:  ?%":"%  %G  *F(?3?+48'"3);)  !)":"  4C8  -l-  6D0(  H  ' ("2>4.462&"5462&'5462CrCCrrCCr/!"x("x!/"CrrCCrrC   %'#%37d%.Y}TA&`  %3"&'357573654."`l!qq!lhhK CrrC @7AA7iiPП')CrCCrC)'!=L[k%&'767&'&=62'>&"&/676?>&'5.&672767675'"'0.'&&/'1271&*'"cc"&+hSS ,d, Y+':9s'*(rq)  ) >)&&4J  ?*'&+> E=>F/++.E=>E- -    {  +>Wh326=4&'#"'&'.'&47>7>;327>'.7027>76?>=4'.'&"&'&47>`"1 /$90 18TG $L   K/ 4$Qb    -! ,Zd#0#޼ 9  X߻$! #\z%2 Ey"/&7676?6=4/&6=>;2#"'&/.=46?6274'&'.54762;265.#"#"'&'&+"326 >  /2  1  . 9-,(,S # 7,0<%kjj  kk k   !9   !:ajs&),"/&672?6=4/&6=4;2#"/&=4?674.5432;7&#"#"&'4+"3267"&4624&"26#'4+#5322'4+32%4/&+"?6=4?6265%/&=4?66=464#'"#"3?0=76=4/&?64/&=4?67'132176154#'0#54/&?675'#3'<::9:::+     7  >=$%P===%-===%>)   ==>=JL !B!!B BB B!!B!B    <  $$_-  -DZ##G$ ^   $$G##  2F$$F##}@  %%#53%!#5#5#35337#3537#3533533  @ @@@ @@ `` ````E EP['#3737%&'&'&1&+"?637#";2#2727167676&'1676'.67677&'&>"711-390 /=!X  KI   X   a %Op% 1    rrkk   $  $ '  '&8 V <  =MV_hqz23767676'7676767#"'&'&'&''&'&'&'&"&'&547624&"2654&"2654&"264&"2654&"2654&"264&"2654&"2654&"264&"2654&"2654&"2674'&'."62X             9 Y`Y (BB(HHHKPKO         O55OBB11B N M y N M y N M y N M 3!!I462"&%#!"&5463!2264&".#"'&'1&?>/67676  `/D//D/    %=00 <#!r`u"//C0/}     < 00 < ?(5>%/.?&'&'&7676276?6%4>2".7264&"!9a ! ML " a;   4   #HeY-*   3@ S&&&,  ! ,6!%.4>777'7&'57D9]62X67EM:D%(E3# )?H=*+ 8J:T!+-"327+.4>;2&&'>4&'>:=1,-&%'+5.!U/ Al?CrC.U!-0G*76+F 4$%"q&&''.747&667&674265"'.67>27&'&'5&'&'.676767&7676767&/6>75>#">3>#6666'6'&'&6767.'276&'%&54&6&67&'75367264&"76767&#'1276'4'"#17654>767'6767&71''&/#'#'.'&'.676767&'&'1&'&''&'5765&'.7'&'>7>76.092654.&'>&%&>&'  %,( !B %  #$          '%" T    N    x  < h-?,,?-  Q" *: # W 2$#(-/*!)   0  ! #55 C! 98 716:  # ! "      k          *(     "G% "         #!$  C# 9  !6 --?,,  0  & *      &  "F 3    a    #   ,V567>76&/&7676.'&'&'&'&'7?6'&7>7676'.'&`;C>:P L65 %';-6 )!$!";-0-@(-7!5 G6:B5ZB74C c>;mT '1#+   *9/3u8 1 1-u/HY:a =02  #/7?S".4>323=67'"3547#'35##5##5##54"355'57'#353#"&67'2>CrCCrCΕF)6kDTE E*EEE$    #8CrrC ]?&  471M|$0!! v V   Y%'&/#"&63267'&'667'&'&'&'617'&'&'&7671767676'1767676a90Q,%5H3"5(   7  %) & >H ;3 H%$, ""5 *&     ;)%  8 7x%4'&3267603632"&5467>6'1&'&767';3!76767657376765'&'&+&'&+5'.+##!$'  !9,$>%B         ; V    I//H )"&$"%<( `@6P          %".4>23#2TdU11UdT2ZZ2T22TdU22U<7+"&7>372#&7&"+";26?676;276o K; IC* m $** @  y Q(s  '#1Y0  [pB/E.#"3276767656&"&'&'&54>32#"'.712654&'6rJ(9_9! &/@#2X41U2"=a30! % %A'!:b:1@)'*"0()?1*Np8*.-3'5[55[4(3-.*82V$  ;;DWd%5765'&#'5&#'&#'&"#"1172733725'732374/.>7'.6?64.>&C         8a%bb%_a%bb%_;NO::ON           a$$`0a$$`0ON;;NO: IRw 727"'&'&'&7>67'&'&'&6767>7'&'&'&'&'&364'167&'&/&'776'&'&703676#5&'&&'&'#&6"'17676?6761&'09#&#&/176?67676'"'532?3'&'&'&'&/76301&'&'#7  #   ?&)    # $$*#$' .  u #! %#     4B!"'             (    $%\       h        &*  D$          i          i"/<S_l2"'.467635"27>4&'&+732372767>&+7332#7>&'"+#7+732372767>&+@SHDPPDHHDPPDHSWJIVVIJJIVVIJ    y%   G%  % %    |%   GXFNFFNFM\MM\MGk-6 -, *$&"`?G|-6 :-6<@D>7676?736767676?'.'""7'&'&"#7'5&'&54676767.'.#"#"&=7>&#".#"2?>76727676'5&'&/726767'&'&7'45'"76    "  I4  z6 73  7;!)2    /5(  AM ,       1  C3     ! /9   - 1=37%  "  4     " !  (-      $1B#"'5632"3264&7#!"&5463!2264&#"#754&#"#75326  5  `++-4 + 4 +DSD`/A/ 3!. 3/H&6?67676'&'&'&437676763?676767-    .(#'2),%%,95 6<$BFA #)5517   &,"" '   7    `    f.* 1O6* N"327654'&'&54>32#"&547>7654&7676?3276764'.4^  $A'5A  &      (2%!S-'*6!  (>$:4 '  &  070*4 /+a'$)M+6?3>4.#"?6'.5467632#"&767654&#"&5463!2 %:!(F*3&#& "-:-!  Y`p$; (FRA%D(8  18,1? $9=#`H%#"'6?32>4.#"?6'.5467632#"&76764&#".54>2CrC&# $;!(F+3'#' ".:-! GWCrrCCrC (; )FSB%E(9  19,2@ %"{.~NCrCCrE'9%57>&5676'54'&'.476?6?;͗ ! d%'F  ^6L;// !a ! .PL I66 #8   P  <9%+ t 06# 1 %+532".4>24&+35326FFFCrrCCrrC3$x2F$3J5CrCCrrCCr$3J3 &,'76.6?64&'6'&6&'77b i#xVa-SZjP "  , Q;(h (IR3#";546;26=4&'&2.46+"3276=#53276764'&#2"&46 k$%(k7;  (k 6k (d   ) /1( f &    Q0(!f &) 3 7   6%'&'1#"'#"&767&'&5'"'&7676?&762    A7##7A     '*+'       8^9@?9_9   )#".4>32654."327&/462"&.+I**I+.L(BppBBpC%!:R::R:+IUI+2Q..3CpBBppB E)::R::$<%#"'&'67654'."7327676/&'&#"632#".62  "\e['$t:"%"*   834p5=  &)/9/+22,.9A30) :  NNNP?5=EQ&&'&//&'&733237676767676&667'&.'/&'&'&'67676'.'&'&/67654'&/&67>326:5; !  ?  mE  38   ) /7S$ @3  &%$ *;A%4Y4;(2"%  BU$ 4!>mI j## 0+ J4t          4Y58^+6>FYaio{&'76.'.6?>/7>4&'>&'&'&'67&'67676762"'.6767&'&''&6'6'&6&'&'&'46?'.?7&'27&/67677#&'67'2"&46 (+*,,*> B+,.)d7&   J %'''  \ [N$3   ! 2#0   "k ! !"^&&b"'.7>75276?676'&/&'&/76'&/716767176?676'&'&/&3E98@<7  "    -,       ">o8#"uD54'>&462"&&'&4626762'"&462F(X! aO9 9`s`9   FF<= }! ((0 *E))E* 0(j!M  4 !$4`%&'&4626762'4&"267"264&7#!"&5463!2"&'7264&#"'&&#"2>56'>& //  )) Y[ `d '6;  B6& 'AMA&g    4 &` U ] ! // !AS\7"&462%".4>2"&'7264&#"'"&#"2>5&'>&&'&"6764&"7"264& $CrrCCrrC $28  =2$ $2&'&/67676'&'&32.'&54676767>&'&#&32765'47>54.CrCCrC=g<7"'67677.=RB6^:)?7, !-7BR:^6R!"Q-=hF '*..*'X R Fh=-Q"$=DMV#".=4>;2'&#"#'#35>32#"&'37654.#"3267'#>2264&"264&"@#:##:##:##:  $  x S  #""3V    #:##:##:##:# Z F %%"' ^   j   ,/%676/&'&"7>%2>4.#'!   %:eF "  ] 0:rCBrD& ( 6bG1V7@%$ " %P#CrrCF*@IR[%4.#"&'&'&17676732>"''676'&54>2'"&462"&462"&462;e<  ((  4.#'&>;'#762'CrCCrrCCrZZpKTUZ " JCrrCCrrC] cc "r{7462"&%".4>24."2>'4#"#"'764".'764&#&54724/>7265'6322?"37'&#"'767    CrrCCrrC;fxf;;fxf;H>$70   +  ?$90 *  !t`v  CrCCrrCCrC%90  +=$8/kn%"'&'5&6?&#"&/&6?4#"6#"&76?6&76'&"'&'&'&767676'&'.1767>."67676'5727676752717676?3>76'&'76?676'4'6767>.&>?7.7>7>&?7&767'    '  ! @  {/+'6 #&0  $%1;  0:7 %               "! % -:( B x #'+/37;?'77'7'7'7'777'?'7'?'/7'77?_7JN."7Z %# 8 8=+!)#+.|F7,*3=5PCBY".',"<##B1 " &  /  )@ H96`.2W B!E7&'47>36'7&"76&%.&76#"&'7'727>76&*L/<6$2&8C4!++/ !*" ?.'J!#=(b5)#7 31$!#H'% 7 ( "'H#& 0'#GAJ57.4>&/&'&/./7>54&'5'4&"26D66&/$&>#$?^!  &,$-5+)D(  >s25 7"';6-EOD-F  8 :&)>4,G*0*  ! ,M!"3!2654&'&?>0>&/&>47'&2'&'&'.>76a'88''88YQ$   /   $   .   %)Q%8''88''8%   )/ Q )/ QH z-=M]%654.#"&#"3!2>54&+"&=46;2+"&=46;2+"&=46;2+"&=46;2-M.:[#1 '!9!~!9!5   Y   Z   W   .M-H82" '&'3&'&'&'&X-?H2<x%@"/-5#* `/*>6=7".8<.G%)F&!'.7;LI@61 ' %)-159=AEIMQUY]bgkosw%3#535#35#'#335#'#3'#3'#335#37'7'735#7'7'7'77'7'7'#37#3'#37#3'#37'!7!!%#37#3'#3462"&7#"'#32764'&#"'&5476237'&'&#"3'#3#35#3#37#3#3#35#3#3 $""$ S""0!!/!! "# #XFF ""^""!!""_!!zz""^!!/""6K65L6y           ""F" u!!u !+"x! ! "  2"*  1  &    s 5jbbuUUf:, &55L55  $" " "M L!5!L!5""+#"#54&+"3!2654&"&4623"&462j  j   ''7''''7'' ((   L '7''7''7''7''654."327'".4>2# -L[L--L.;-#;##;E;##;#,7.M..M\M.&#3232764'&#""&4654&#""&47>326326 '#A!&4 6 C  SRF*)F*.("!$#!  C2  7(?$4w!4 S!V! "%BTE&"-%9 1A   $?' 1[%654.#"&#"32732>54".54632264'&/&'&'&54762#"'&'&'&#"7^8&47^8&4 8   ' $ #W!#  * (# 8^74&8^74&=    )   ")BF%.'7>.'.'.3?3?>/7>/7>'7-- -^ - 0- /^ -] Z / // / Z . 0/  /![ZS7'.>7.'7>.'.'.2?2?>/7>/7><fOdA/ MdA/ M     <         ;   :: MdA/ MdA  :        :       :R[7"&462&7='5&'&'&7&'&'&>5463!276'4&#!"73663767'"264&$3$$3$&5%%5& g 3),&  '.*~%%3$$""0!!J6*%%?@'%*6   m!0""0!i%#1"'&#"''&/&'&#"#"/&'&'463676756&'&/&7>327'&567676;232761<         D,!   . )!# !,7        '    %1 ($     ' r!"3!2654&#1"'&#""'&'#&'&#""/&'&'467676716&/&7>327'&567676;236763`'       ,  .   `             o"2>4.#1"'&#""'&'#&'&#""/&'&'467676716&/&7>327'&567676;236763CrCCrrCCrg'       ,  .   CrrCCrrC            K %0;FQ`o|7"5'7427"32657'4&7"32657'4&"2?'&7"2?'&7"257'47"257'47&"2657'4&"2657'4"2?'4&".#"3264&%"2657'4'"32?'4&"32657'4&os v'=#!..=AEEA)iEEiDD`####9899 DBBDFDDFoAA BACC>":" .A/<AACCCC?!"3!2654&"'&=3264'&/&'&547632#54&"`(88((88!(%  "( "8((88((8     "    " 7P"2>4."'&#"&54767"/&'&#"&547627"'&'&#"&467632CrCCrrCCr"S| ` 0?C< 0b\% 5TQ? 4B857) CrrCCrrC2 9 B     L    7!+5#"&=!5!5!5!%!"!54&&W&dd[&&t'ZZ'-UUr((~ %'77'7''!5#!5##3&Aw w:'(g('ȔU$U(?_)')Zx((*T62'/&4?622?64/.1"/&47?17>/.1"/&6?62?64/&,. ^T DH 29 _\  . +A*#JRA'7\H$*4=F76&/6&'67!"675462'#"&/3!2654&"&462'264&" %&$u83I35%O'$Y`x""0##%\  &&  E0 Q$33I48(%q`"0""0"$$ !3="&4623##"&/5674>24&&/3674.265$3##3$44m1 .:aG4>4$&$-?--?,##3$$4O!,&k'e44% && % ,-?--#1:C%#".'326'764&"&'>32'>.7"&462'264&"CrC8cF_&*T(87M7;EmACrC '('  %%3%%'CrC.S3' +<8N66'V 7?h=Cr ((  $4$$4$&&A"&76&"&/&7656'&>5&76'"&'&'&#".6/&'.54.7565&"5&54&'&75>76767676767676>22?>"21&'54'&/&#a;G    ' 5, %      "    >   %' -  !9 !       /  ! r %'#7 373.,-CpoڗY>>YXX$ttk+4325&#"#"'&'327654'&'&'&'&1!M BLXi$,'7",)%KQ\57&-% %VK- #  &)K0"   D(159GWz%4&"3675#"'36'462'"'#?327654'&"/62'53#'676&#53#3#7"&=7#"'53254'&'&'&54632&#""=%(! VX ',# _,--0  ,&V"" (+x  " !$..#'( ! A 3 (%{ B$$ %2 ) g&?" S - (  * 37637??7'7''''/'7'?'8P C]8Y9}Rsf|1.+l &  ,ND&  '$J .3E6 {l&Jc&Tz8a &   +<"2>4.""&=326=462'54&#"&=726=3CrCCrrCCrC ,>,:  ,>," ,>,"  :CrrCCrrC k+,.- l*+  {,+/ / 03%".=726='754.""&=#2>=4624=4"4#33<4V4=3F43FG  H:$22  EF43   7>76&'.>!C.K-W-K.+EN@#,DN@# 2N.*MW!2N.)N'@")DN@")D a!JZfnz%#"'232>54'%4>3&#"&73264'&'.462354&#"#"/7"&=#26=353264&+3532#353264&+3532#;2=#+"=4+32;2=#+"=35#532354+373535#7353735#'BoB$$ BpA3.5ApB"%BpA5.3<       p    ' -  ' -& ?'4;  5 ":#+#1##:# 5 1"  ?7 777V+" >=    /#?6&'&67%6Dg2 f] L0i  !"2>4./#?6&'&6?6CrCCrrCCr7)>s=   CrrCCrrC .?hY ] g:&'&767&>32'"26'&7>32'&7>54.H 7 !)3=.+   J1%?%N(  51-9-M0  _SN:$!, 7GK'%8:4 -0-=%?%,#"   T2.L- [dv462"&##"&'"'#"'#"&5#"'67&'67&'&47676326?6?67>3262632%264&"47327654#"'&4&"26574&"26574&"26574&"2657#"'.547>263262>2>74'&#"327632>   0 "N       " #6 G' 0  -  23( 4)   1   1   2   M*+2/%$(%"      & )))R  h  $+%-   7!.V  N*  7/!"3!2654&+"&=46;2+"&=46;2!!P!! S  S  S  S !!!P!     Dl.<GV`jt~7"&462%"264&&''.67&'3>63%4."2>57>7&.1>1"&46254&"26%1"&4624&"265 PLGEK> Z-d43b,`  4?55?4&>$CC%>' /=:' /<;' *;**;*'':*;**;)''  /. -GLKFZ 45>55 $<$#=' 0<& /< **;**'**;**'=!"3!2654&#"'&=#"&=4767676;232+76`f2  ,44` !Z+  H3S (:0#"'&'&=#"&=46767676;232+766 !7$ /*GST$  $ D %%sR A  33737#5#!#5##5(k<9Wu(Ck9ZAC(C(M99uC99Muuuu=!"3!2654&#"'2327"&'7.=.47&>326767`E(-97. -$" F)!`-*-$ #%%  2#"'327"&'327.=.47&54>326767#$AG\XI I:#5 $0'q@0'$ "( HCG*//-):% .71: 1% *%#"'.547673262#"'.5463K $0805 =).$R=#* & k6/" 49AOq &-):%!_"1!"3!2654&.'3;26=4&+"#>2|%B*^DD^&CIOSW[_cgm%35#535#35##3&7367#36?##327#35#535#535##3!67!75#3735#367!#35#3#3#35#35#3#3&ggggggrni/rgg:10gggggggg@1 Egggg -ggggggggggggin Vh  0 HB N h p i(y - t/Kk'.'&6?6?>76756;6=&32'?6/5&#'&574#"'&'&/./4"7>76&)!  4   ,B )      4 S: !&   2B  ,*    )! % Z%"'&=#;546;2+"&=#"'&'&'&+#"&463237>7>763>32#"&'#"!546Y YY   e&**&       7Y5# @ Y) *:*(#- @ #6 y7#'&?'''''#'&'7&'7&'7&'7&'7&'7&='767'67'67'67'67'67'6?2777777'4."2>'".4>264&5'64&564&5.=#+'#'#'#'&47'&+'&47'326713275#27'&'& ,+- "%    $" -+3378:; 7; 16 (."  ".( 61 ;8 <:883J/Q`Q00Q`Q/)FSF))FSF)  )             >  k    #  &$ '&&&&' #% "   ,' 73 A>GFHHFG?A 48 ',  (0Q00Q`Q//Q0)F))FSF))F    Zp@)       !eB 5I676;26=462+""&=4'&+"&=462;226?6&#"'&#" c  !"de"!  c b  CC  b3  %      %   vv ##'##3#3735#735#'3@Q^Q@00E RgYYgRD06p0 00 0@C[!"3!2654&&'&'&67632&#"676545&'#654'677"'6765&5467676767`=<%#1')   E%1 . ) `#!? 5$ 0;+9.1 "$U+3%!$x  >.7R&'#7>54'.54>3267&#&67676'67673276&.! $?'76A1?$>& !;-*) (!a`"(W    % "K&*JM/)+y'@%"iB97 [E^ M4%B'  !d49*%$+:5/  ! +)%#d,Xbn|&'&'#"76?6776?67676'&'&579&'&'&75676767676;'"5&'"636&'"63""54'&#"4321'1&'.'./&7671676?>!6J%% 7   44!(. %  -, - ?/ +(%*/ / $!39%' !.        )%524"+:   &I\A<<"# V "*+,#  58  7 , 4&;# %& $1         2!"3!2654&#"/&'&#"'767676>76'&6`$?B-    %  ' B2`.RT3'= 7E>N#'"/&'&#"'76767667676'&6Y[?' (4  !]E&ArwH6V($ La#)*- l2!"3!2654&#"/&'&#"'767676>76'&6f-@B.    %  ( C2f/RV4'> 8F?N0%#&'&'&'367.4632"'&'64&" ,&%K !+-%+7/5  #<4$$ -DYxmN=6->NcA#/' ,&50aS6+""&=4&+"#"&'&'.+"3276'5474632;26'&/&4767676!;   ]  $ ; "$`/ (  ;  H J  t   W ,#&(  $/.48  & # J  !#"Ei7"'&/&6;226?>;2#!"'&/&6;226?>;2#'2+"&/."+"&?6763i8 !)  )! 8 h8 !)  )! 7  8 !)  )! 8 `pRR p pRR p  pRRp  #'#373eM80x6rr6YY  -:LU^g6&&676&"&'&54>7>721627.>76676'&'&.>'&>&7&>&  ) 6c (H&"7 (> 0 65<>c    ,  " )!JH$# #!$"M*"27*"2%!@"  0.,563 3!*>HR2.#"7327&54>'2"&46"&4624.#"32?'676'"&46323"&4632 9T/5Z4ND $ ,L; } .L+.L,,L.%6  `   '>$,L-M7;#*G)5   0   &A&&AMA& 18     >N`"7712>54.&'&'5&4756;27>!"3!2654&"'7&4>32$<$ 2$$=$&04 %    ``)#T+I+ :-+JE#=$& 0 #=#1% +&     `R%UI+-: +H+(U.#"7312>54&"/7'&54>327&'&"'&'&'&67676/.+"7>&'} Q,4.47."'76726&#"/"3'726&##'>32'"7654'CrCCrrCCrk9E CD$ "0Rc9+M  D<CrrCCrrC0+l ü H  _ .6    O:+% 29=f;BLYf.544'&/&'&546;.#"32?6#7'"'1"&62?6#7676327'>54".4>24."2>>e6Be J)7^M/! L@$#vA0:#CrrCCrrC @mm@@mm@g>-"  4, [  N  , $(b:77CrCCrrCCrC@m@@mm@@m!)-%#"&''#".7&7>762%35#5&''35# !.77.@ >3562>**-e)&kl~ J4J 052WW25#: "j: (,0%".4>24."2>%'#'#7'7''7'EvvEEvvE #!"&5463!24&+''#"3!26%#5#5?##5#5?##5j% o==n jIIIT6vp@vcujjK22K%%J&&,u%%J&&,%%2N_%'&'.5467>'&'&'&'&'&67676&'&'&"7>76764%676763&'&r!;6;3 /*6T   " "e %''  'C &2=@;)? $ ! K-0R  D  &9 $"/9$! #01>+" <" !1!"3!2654&#"&?01'&6;27+"/76;2`.1. 2gB/Bh/`W6 7X ֵw x #7+"&?2#'&6;2%+"/76;2, AE,A  [A \ B,N zL W !7#/#3@N!. -#M@[ [^7&"7'&'&'2776727'*%!#"M"E %&DK&?0=}'6p;4.533o7R^4y@*7#7&547>;#5#";W@`KC*R7&'&g4%#%u#6IZ70#&'&'&767627&/&7>0'&'&76?6277.?676'&/&>k  Q 1 k ]  $ 5Q" 0 *0   88x#  ! o   Tt   > m  C> <14 *63#"3#"&=46%35676574&/37#6734'7[+) %65 CG* 0!  ->2 1t)5$%48q"13 Gr- *67%#!"&5463!24'&'.'&/767>765__`* A<76?'&5&`[[``[[`D7288227Q  !(E bm +   *  : :N  2 V &&Font AwesomeFont Awesome 5 BrandsRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularVersion 5.0FontAwesome5BrandsRegularGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 BrandsRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularVersion 5.0FontAwesome5BrandsRegularGenerated by svg2ttf from Fontello project.http://fontello.comK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL500pxaccessible-iconaccusoftadnadversalaffiliatethemealgolia amazon-payamazonamiliaandroid angellist angrycreativeangular app-store-ios app-storeapper apple-payapple asymmetrikaudible autoprefixeravianexaviatoawsbandcampbehance-squarebehance bimobject bitbucketbitcoinbity black-tie blackberry blogger-bblogger bluetooth-b bluetoothbtcburomobelexperte buysellads cc-amazon-paycc-amex cc-apple-paycc-diners-club cc-discovercc-jcb cc-mastercard cc-paypal cc-stripecc-visa centercodechrome cloudscale cloudsmith cloudversifycodepencodiepieconnectdevelopcontaocpanelcreative-commonscss3-altcss3 cuttlefishd-and-ddashcube delicious deploydogdeskpro deviantartdigg digital-oceandiscord discoursedochubdocker draft2digitaldribbble-squaredribbbledropboxdrupaldyalog earlybirdsedge elementoremberempireenviraerlangethereumetsy expeditedssl facebook-ffacebook-messengerfacebook-squarefacebookfirefox first-order firstdraftflickr flipboardflyfont-awesome-altfont-awesome-flag font-awesome fonticons-fi fonticonsfort-awesome-alt fort-awesomeforumbee foursquarefree-code-campfreebsd get-pocket gg-circlegg git-squaregit github-alt github-squaregithub gitkrakengitlabgitterglide-gglidegofore goodreads-g goodreads google-drive google-play google-plus-ggoogle-plus-square google-plus google-walletgooglegratipaygravgripfiregruntgulphacker-news-square hacker-newships hire-a-helperhoolihotjarhouzzhtml5hubspotimdb instagraminternet-explorerioxhost itunes-noteitunesjenkinsjogetjoomla js-squarejsjsfiddlekeycdn kickstarter-k kickstarterkorvuelaravel lastfm-squarelastfmleanpublessline linkedin-inlinkedinlinodelinuxlyftmagentomaxcdnmedappsmedium-mmediummedrtmeetup microsoftmixmixcloudmizunimodxmoneronapsternintendo-switchnode-jsnodenpmns8 nutritionixodnoklassniki-square odnoklassnikiopencartopenidopera optin-monsterosipage4 pagelinespalfedpatreonpaypal periscope phabricatorphoenix-frameworkphppied-piper-alt pied-piper-pp pied-piper pinterest-ppinterest-square pinterest playstation product-huntpushedpythonqq quinscapequoraravelryreactrebel red-river reddit-alien reddit-squareredditrendactrenrenreplyd resolving rocketchatrockrmssafarisassschlixscribd searchenginsellcastsellsy servicestack shirtsinbulk simplybuiltsistrixskyatlasskype slack-hashslack slidesharesnapchat-ghostsnapchat-squaresnapchat soundcloudspeakapspotifystack-exchangestack-overflow staylinked steam-square steam-symbolsteam sticker-mulestravastripe-sstripe studiovinaristumbleupon-circle stumbleupon superpowerssuppletelegram-planetelegram tencent-weibo themeisletrello tripadvisor tumblr-squaretumblrtwitchtwitter-squaretwittertypo3uberuikit uniregistryuntappdusbussunnahvaadinviacoin viadeo-squareviadeoviber vimeo-squarevimeo-vvimeovinevkvnvvuejsweiboweixinwhatsapp-squarewhatsappwhmcs wikipedia-wwindowswordpress-simple wordpress wpbeginner wpexplorerwpformsxbox xing-squarexing y-combinatoryahooyandex-internationalyandexyelpyoastyoutube-squareyoutubePKZ]Fplugins/wps-limit-login/assets/fontawesome/webfonts/fa-brands-400.woffnu[wOFF dGSUB;T %zOS/2DCV@:Pcmap 69"glyf N\Nhead|06 ,hhea!$<{hmtx,qblocad^emaxp |namee*_ post kxc`d``b0`c`rq aI,cb`a<21'3=ʱi f&;Hxc`d|8qc; ̀08|hx= @aF xxN$4s!l3v9mHj!TbI$9 !fӚm-)3ف=ߧl{{ޮ}z/@GBEhy6nF3N hMlMmMknjM=Ӏ484*KҤtYMӜ4?=M.Or5o{|Tyd')yzya^5r9SƖ2\Q)roy^W6z֧t h;0G8mH83|h;p?atȷ8Os 8v#$_.j/=c p__m㣼s1eqgEa|gY1@_Mu8<687kU?>Z|؇gٔ=ħwW5q`)kèVW'q'$Օcv =2G-aWvaL8.`\!"xogck~93b.DUމ^q0rm$U;:tc 6;ؚؒ؁fgv @>A|Or(3|#88W8!|0KLb*q9W0\u9\M-Vn.>PrUl[]ؓ8+yWVvo6m>#j57}&^ZSM1ih3-v8Ӛmi4}2ZOU@kBzjiji7vxJYq␆_x i2FZә϶N(S#6}gjM4THcM54THz HdLxESLtrxEgMut]2Ͳkslu|i'eC'[|)m jG>Ŕ"ȧ4S 5O7 0S 7F}Vc55%8Sf!7S!O4%$ECب)'2S"O1"UF馬DaԹ_cQ۵$EiT[M<ר7B|o;,;~E],wwcڕ5%8O KLIKCJ^jJUH~ƔɫMِQ9S^$1E^˦\I9є0)P֤ ݖӭve)R0eRpnaʩ+e)R4XYo1skͨky3F];wu2-0ĨwQӽF]FL ~F]EF6}/6DGzߏ>7꼖z'RWFF2^I^QԁQVO2F*SFyƨsYm(ϙ::F=F=KΏ֨?{ Rh ):Dk^ka)L$ϦSwIygR֛:N{Ei,Ww,_-jEWZ2JftPi6Pi:Zhk:[iX5]-iBBB5ftPizXjNWlimf6[n>fkS'N'ԝ53u4ʣ.fGS?OQǧjiv3T+-yоi}ˢ^Q~o> 5Tךiom(5ͱ8{,fx eG]/֪5Þdz:3sItҝ4tB&B 0NBA$4 ^5CE>Py<:D_ZtwOjժU~%E.>>~S:$,Vz$ (N⤿:q(mIg8 Fx0\GY܀#k7XAp %nB4Gj.kSRACc!ԛ,t6 ?DFo'8ꢥ˭:t\ ,YFuC|w(UͦϣVwtݳGݻSe(x8HY `xL Áb*~0TpiڍtXtVv1g|; GC >6kt9FIS_.Df\u,/[f9\%2#3㦽XYA #dQhNeo+/Kߋ_DBJRW+I-b0f~7P,@먊*Я0Hig#JXn̢aJ0OZZFiKi9m^=u;Mb,eJeRp:4z>wxjf,-_CH$I<= 羷޷Gln}J E3:羟~^P_`>54¸[ ^M`l96] +Z,9Ŕw`Ѵ ' $ʹ n:;٠,j@rmrPY"No\fA b♆~7ͭ/[ )C.MM2a*M(jiO./(2sNFd5 cRK(ŃcEq^ 19ƴ$V꺍uzozo~Q] X-bl7j6:{0Kd $^` +HnF̡Ψ&k5R˺0VcFcy b=2 ]\P"cj2}cyJV [v"t9.="WzJSIR㌌+K ՚L'`#mONoXOO}8?%j@eeęW4MOB~ XND@6If}8  X4t59I܅lKUWԫsҵ&S'Zr.o]ʇ"HD&(b iVxA%V ̧,z<'Cb9pa0~2)KSRO :姤JFN!>7D$y: F; 4=ːjua>𑝅2H`:o 2 F0Mj7|ɍuu^(Sn|;w[߽KcPGIiߏ*FvR kf8`!EٺJ! [Dqr΃abwW(h:rrqn( S E6VzP ](غ*jq_Oʏb_L{=^.(RKlP4~ xa$>a"IS<6!LS =e@9inr rh|bܺ,6ˈ/V3S]ql 5ĩG>v}ayT-& Ь4!m;+ 绤m(-p/e\C'0 V1"Vn*TjBNF:0U/CMFp:af;2Gy䥧 ~6"jj 5aj%V"3Ք4jۺbgk{_E?Fr^ZQMzwne  ܺoawp669aEh (o(@l̈́Wu^C= L9VY8t!U `Kc&Ju:Qn'a9JN kNP*MuINWhڕeSdPUSl3cG,VB _fQ>hiIbh`0(6B#۵zUTYVZ+kRNqAki6ym\n6~BOb[Xm8TΪ&\,ʠh5CMM, f K:vӽ<}݉}y7x%\YN&X>^veX#w,u4$S纮߶/WHw+)@JW&]x1\ϕ@m" @}ń11o= |h|]7Wb5?κ7Zصgw^)'+VE֕qoB۞KF†r?r8`7&@Q'ío~R9Vرw<\]\t_d7LR0^ LpUz@Hj؟fx*n' ۘ6Dy剉2'>fڼ[GUJ'ƅHF+1H{/K_Q0IY7I 3a7=rrOPqY}XO8J05<4QZ)7#ӿ~ $xCqYief^o}}=HϬ{33^?q[u?WK6KldrT;|[Um? lSЮ]7@Բ 4P?R(d(vJRBi[5#mBD*GyqF>xsSo7ivmޠ )4B!\-go.& ʸL0H>a8m`#?F#`-1%9@v0`3%r2/4y8P-fKzsGP(|!U2U ?Yf.ڷ%GVXFz=q-E( fXOG5`_"2)NeY5.<~,6.aBMEFTA?PH+Es*Aq (:W &ivו؏؄nNHøH'1J=}&YeNMt )+cS\oQlUG2XAf9(OE& bwh-WRcLx1ϳlyWTx+,ZDl{ѰRczS)Ba/$Hܙȕ,PJZKѠA0FLnS i@芢 ;LRp ^ vbe9p~/C׭0%D^qi(YN~7.-fH p1w_VXy|x ;튧=ZLُ?1:N]5ϻ|3]̛"a=Lզ&7'T@BTYfڔ{W8, {-Iz"0;ڞrJ7R#\s"y{kjꍥuR+}׺%Pm3G?םV҉ߨM+$8?a3ZpOqa>C4<E )jϰi2CgTg"6U;G9Xk Г</pA ۠-d~S!mn?ĩ0)2h?8ՀB%Qzxks+`K}xlc˓o^ `óe|&ΚfWxn]zDFۮ]is̥xfۺUZcw5S7p oxWz#ǯ`r +, Ang$pGuOeGܸ&&zf N=}2CwDЛS,pc`!غcAy]^}i%?޲m<=~%ouo?ldrOFkPSg0}ǩq䚑2/гkҊog#"(0(k S@ =>1BLWd]/b/k39ca|Şk46-٩PS՞q05ЂfPMMxX1DHf3N0BܳyRHRI{G Eh?+w`Hx-̢f1V\}D& aYlfޢʂ+pG=sIxϸGe@7y̜$[Y2b@Е bNb-SV|F-gD,8ҊZ9rPOxzC1ƣ.#Q$"ANBV|䣟uDZ-?[ty5݄|Ϡ=#=I@$~ջﮞ_t:_CpvݵtnNg/,0 R4Ka: /Ex`+^~jM驏'T sVq#o:Xلiȶ\c]ผ35yQPFɮ+b baS 2[kFQ5Njչ1J,u Aɑoh1P/;)FM/`C)氌>cȧezB|= T~0oKQn3(7`5ad,"+ (ɹQr;W( L0ϙTXDw QA4\Vxc: X g}7;t:ǥ'JZhCWSz9dR \(9MDe tp%rnf!E!'ojRi,@2q327p"ƝP"ghB="wL} Í t* rQ/V zE.NMc ތ$˲Ze62U۳wjpީ!蕬ġqL5zj1;ˎ{q]Hi E~Z," XFzĸ1q10ǩ6d,/Lf!%ȥܴHM# s:j.O !ZLcZApE zVl GP+R ڤAډqRLnj<jD:BU39'Nj\7 m5d0ڽ'Wccy=g1R(0)|'R(OskAEThp/sY{ ֘m$ϧ\u a:ZxmNl u ^DVp}/j }21.́+6T0{ܾrtIFh\4zB'|tG`48)NKKo! <"E}oh2).7Q $VDm1NbCQlS8f;y]5$Nai%N H% KWlTnT ESۢNw9W Kt"8ɪbtTK~r67XjךGP٘{S@Gy_i.u4qaf22]x tf z氮ova6]nH%DOMȔ1<(TUoz>J J{"د5'sJ~YuNȳ{ ~5Y* <+T{KbSҐa$xAC}d)I'Q)3-x~&9i֝z^7JdYߑDz^;$! Фx`qˑ8 8x^fVd8EP"}g%~vBs᠟nMO{'M7OxX̤b8A1 R-ǹkNC)XxbSd\00Xu1 dh}t,9jf&Wrdgj_Z.Rࢪ3=zmrƲ\(gz1}FdF7| i[QQ3*XYU(WW;eY^0=r;7Zjoy4;2iatt~uNɲbCgBi*,nzsI|EDd=a?ʢ?}HۅA6z !2?Z6=7 &su^Iq_UŃT!cr蘸ڴr-.Tj*(=f8`;pei<l]U>'Rʀѭnx_7t- iVfG+ C:^<*UZY5S/3Iu@:'~Id1S7/_Zyg =4M+5niR VKJzǟ^?v~MċQ Ҙ s(0EX[t8攐!{QsZҙ t~X|/ՊvJ1UԈv盵SSO j @pl;:r%Ԕv< .u-,뜀M[?0fJYl:&fg^=*vW:/GѽuxRFmf9yL9e~m$-<h^f/>lXOc+}{sVTܘӬ7+@1P5@(TbFuԊn?WR]ȕ,J5gdKM/[T8Ӵ7qXPG+DleJ?{=˗KSc"Ei "<tb2v-ˎ-wmV=%o|Y3Q6 rmo\'YDXP"@<}M9Lm9C|x'pW0f<E=>}Cpe؋>(P탪Aj~Ф;ݸDAmzgKs`OWى^HB@sc&@-5 ՖV=Zydމxzfz Zs #pOخWSm;^4{+>xʲUwg}黥WIۥwK~Z1S/IwHT4̾\QMDkɣmg;e_-HRlSgCt@UсO3Bq26ym0(jQL@=`45O2#&٤.V"x.b[C$!b}ahHݺgzztES,QsX5oIF5wjULǻ&ꑉ+[n8n}#+oPSd$c5|͊oDH謌N)pX4"PjU7&qOSUO?~ rEynm,AN9sҿ,g 9{dƵ55 s󥡀eI3+LR8@Y0ЃеY v nMAҽQ; ȍ;WO·[^Tzկ~;YAџl0W Y[6UKD{kYQ#5/]#Bza>CPOZ"F$iL ]zu~\mYAHs$!Ze?_<W_`.:dl5ѳ7?/ lk\X gd#vݒE<9eм[ވtSWeIycXTyV]C.8pW]jPMWlcBE:c !c͖WMCGď\wt,{!k(EݤE+;)l8-bӤ)\=Qk>&&JDVty`ŦLv>~ =#Y\Rmb# K)ӱe4с?koxztG՚o_ܺ)~  sZ3lЬ<'YLlȘ,BMaE]PUdPkfPʽ5= 7bRY&2>3L{)rN!V_#itC~KB?HMnN?'&w˓S['˪֞O50|?(J`[k.J&؊[~Kd#ٞ#z a70 #\:J 'qsZ,T;xDגrøP WX^uGf%e?TXVNWԒ6YnlYp ׺Ɯ0,9.ն=S6@QL Eozk%LO?6~I`fv9vGivvY ̯ib*:ʋI"&_ߒ["%j< CƲ&Z*uU47!CLJio=VNnW>{Sr$,P6X׃/uy"sqc̮tbgϞ=xMs ʌч|_g?qtN_ж7%gv8:e^ԓY2 ml0[&ؒ,M8| 9_oGjW@REKNoqn!6,+pu G !oIŗ?{r+/SJ-ȏ޵+Z+m/&]cIKHvz -D36RG$!p`(NGCtgn J8*T +j~C9D͊U'w;FܲݞrsCq?i ҂T֯LkC{t6 Zfyr+i)2qּvޞ%3vyT^8)YYd{|[CU:p1NcWĤ>r]=q>'_~[jR8>ӸIE/*TsWvc1y7&uU]缮m*ʦweM+,é삍!xi^s g>+:}֜smK_ܨݹuaQ36EuYi<[[<|b8Md,bs)I9O6uu-iٿa 2Z߷#b?}u"+jO9XֵrbJ41ݠvH0) ͱň?WՌRZ,l^tEea-+~=UWҠqNPM湜q61 :Bu'd̢x}uDGzgmun*Ԏٕ?f~ 鹷9:9?@OhscK~EH-^ ΜAdK1CIaa~6o{~7hՐR)L'tg:Fѧ):P r8uՌJl`B)dJX'gN*n[  `DΫfn0oB/?z)2.ޙ:و]"^CzKV a"1/R }8È>pg^$fCtb?L {a_7O.]"bQ|^ưyϖȻ4(DJEwFAO*cKKE T,{㕳J 1]RWx!k(Q}z{rD8VftСTqךWn W,m(L=޸/%|/=5|m_TD<0-M_4q=>z[k-0[ufLq];t/wM|fjdggF~zYq߲'{V:mݺ~|>=STg/;:z7\~7pg5G6H~,3FŅl#Vof;5tA%7HRnx닅R* NІnͅvAAB ӈȱ02 9q@DL',tY֬U˴ƌ9nO"$@M,( 2sx#V {Elqb̈́Z,k §*8s9,HQA_㶙"Ǖ|XQ0K%rn R3;BL@ozI-N:)L 6NuML2,`OCpH9! Pe%gyMΗ #Ȃ%90ڴ͉n{tW)STۯ@Md_: @D'm6h/"Q.;ÔÙO;WQHR%C9Xַ ]2[5lEh& %WY/ZUk<{T@^Oڻt}U{\}_q$_[ -8;pckj/}K+>K'Nހ/=TQm+I՗Bkz;Se캙ӅgI|zK/ҋ^}K'o lw9+'bK2˄"ra \=$g}go(}0?sY=y]8 }.:J p ;gNd&DQcVP}rO?~{_LK;o8"1qMB*JtS vH'h &$񂄐&o:Wt|uOdaAʈ*fWvyR11ǏݰHcFtauqoRmG%7lWv#Ǫ1'c_N1U`(CE9FHhԾ/uɛ9h;?srDzDneT/2 +hYWNFԣgAb*6 tPB54豋ׅ(gʄ}:ˑ&QB!3 D#O 9lz.A9q] \?ģjdZvlnZ؎}ԁfZ͔=兑K^Nn5InCIwA[>Z͎v-ͻZh&v. ӵٌgVtcu竈t uT9м>Myc 8%CAB Ō\sW z}51U,*l,37'5δzw8*G WkxT9tRê]hUFy;vkv0!& цEcg(dcHcct< VX,NScY{t=*駽  _1ŇbݨO4f֝$.g^FSRuur΃x%ļ|1ĝa5 -cʽ[--VѨV)6Pœ#5~֖) diE̥ȳ>И%0f,$w.8vr6 (hgX\ %Q`:#-]Y m- MADq/Zvm-ePTI?co/2j | tE|F*zP'+9|VtȝqҊ&nm-ƞXw]nd}cy:mᙟrw-Q+ퟺT}8yuU~;']X:Z8Y֮`#w񬛗/ZCx5~wpt2Yb7H~̾"7+ $n웉.|[pUo%~堫%9Ii|cY: :@/sGgbɳRh&oH%fds*l4Qio47nނꁀf"i-˅1-n?[ ,~i4Ż0 {}43ƽ8&: &xfA/L]̥z{Cd#aFcF1z9{z0JY**U${H֏=EP<'J*;Ή!\dP0L-O_ڶE~{m( jEJ*yNK;'IjIrq)ykWID1.3 L)&8It?8%yQ/Y0ҍ433tثX au y l42-Azfn͊Wc{Z=4vo:C7^zQu0. \c7fW%|(Ze YM]x&'~ /*$W^[xhl\GX4c+q5@8Y!m΃mNI{,GI÷3f.͢ZeТ( S"HŦg(\)N1\Kpbi-b d*jhU<sʞXg w]X4TpP#]̾4LÁuǗ-yX|U_dFt$S:KMixiƒ.Y"(̓~n '%FJӛzͿ?&<2MfHPw?7.b GgÛh(n k,l'4* eЄ3{&: g6l 0DqTՠڥ7[!:lxOADITllWF%=B2rB9y\Pj!jz墟[%J5 Y2RXru LSK(.#+NjCWy :D[&*^E$rC7>`]n,oS ?CB em< EB&shB-  0ĵҕr璫@#Rd158B05G7`ԶfrKV*_ l]fh^SEiR˺՝ ok9(LWV9}UܾqL2M;snTSZ0>nxYMiqY/ K/>ug37n?bߥWh^]R`(*kb?BȏSܛs|!>$A~0e52a5B4q*$1hX&۪B7?cx;_|\8Bo狤{\}&~\SV^YO?<;_E9A~?R8~|\Iky?nքkhbR*|u5&,@\+(%eC7w(9b3ajuvjY\@~)} r;%D%˄ P'`xi H^I6w0Lzcư7|>u#սͷ6!Kiy1W6^̦V(5تkZ7oQ;40gmvBǭ5׺ I..勺I\h!%y$創;0yxIK0vz`aZÚ,uK8t˖IY1{?Jw~)mRryzi-H݁ jU"v0!r̓M®xS} gI`3qq&%z"vM[5 il{\J*ZcҐ\3? +v+~uLܝoljs}| hNOHAsF4/˙~Vhȋ:4kЦH@viS+\ukR$=mq)=OWɷP 9 ucM yn4I Ǧ$s[IHeRF JʧIv`L@F< Wg Qa0g=Օ\QBޘ+$P j&binABa{ |:%!ؕcqQ㇈ Nvj4K`V*JB!vE-9 U 8-v1},Vkp&pLYKgʒUIuƑ3fT6tx?X*!,mЈ*t7KL%P3\)Z[U%baYaRTxj oU4;RYEKmͰx ,SCnZ }H-m\DŽS0^ds9s>J?Kc6Uo,YW:=oNSaZL! i @bQ  sQ1OIe/<3hslh5]' #lZګTzA8c}ȋ+τGz_AP{i _ā0oǁ3,ϓ9ҭTf9|?E2h5Cot%kABĒ<T493so X7c`Y2'QÅ*$k(Ҹ?LԹ;I袤O"및3/70cPߋ'i +_^}=q)߳>Q*#"1h ^L޽|ZuK5"Ou ,X%M%Њy^KcCGY(VUKxj'WJ0bvQzt4Ƌ_i2]xnlxQUaXōb"/VX=pf/{\ivCL7)s(6n4tۡg]ëqyI`ڈJ?C~<(U3r'"6n%gZ9:ZNMu}'9 1v{tn."y_;__d| gyj8ޑߊpέG+X)&.-9r ǫpT1[2S7H&y{&OOeab}(мܠaKYtE7q_zcc!SKabAI$l8J)r-AŌAJcxC.dyTЕ,?$ C8,$T*{FcvCc Jjؚa9/ M9(&I@[REp"BL[g RMJ2B!:ѵIu O3v 3UסRNJ 35]AFD<*[䛓8I-6)MM 𘡗`!fnkwZP}jPl˴#cTOMfۺ]AR]62P*qw0=lLA1Y9BGZ[P7}fx@[)1HTo(QM\B K*:^̘K+hC%b`6\+ ·D2Zj8[$(WGi0" H&EV*&+B_`35oZ@ԯM\UPvT596yAPHs{yEL-.&\;9Ni$`m?NJszH/(mVm[lqfm.댬.P&{ U 0po "L\"Yu,+vo#2XwIVL[Ji=^tq%k0뉻8ZRVڬ< .;̤,F{J;.e0@[LR 'RV.:I݄Һ%?v)yGSZ8֞ɾIc3gF#!x[TȪYSyԮ-m5{5 W=M 崫qhv`Q3nl"xC0*[!W[mzAlhoER nP߼q4o0Å&n*=e )-듑ˢ ,KrRPXJ Wχ1d8Ocr)V1T_|lI[9 \f^ vma+ f7fh"áb轕1m6M.w#mFe);WAVC閺Ah92:3EtĂT4&HㅤZs w^e:!0s[Qt6)=.C;y^#ʞBbHe x[?1lVzھ}RT LkjAI7REH%-S[Qc}))N"9V_;59~Dͺ|f]W(k7޾Vb$t^5K[5J@6?J]oi/U2SUA*ˢ r퍎̯hZ 6גwH%FRMVd2?Gͬכi}Vg K%ݫȩ$Zv%' ×CWN{9&%su a'X/?8/ b_Ng8 Mmmud$Yd9IOD$iܿ׬6 HyGTNZ1 B䡝'JYV"a[_|G~ЭO&oϊ;"]̙2=U:^yWOu62&~4v/E|*z;4R]..n Hʼn5{\7xo"Vom|*]gE"nF~X!KT0s?=1`Š)gŠG{#Ϋglv=)>Uto|/`@u-\,ܭ=yN &@yz#OKAgtjg,ږ-/-6C䦢Y^kHثU;b9% e^?ul5 oWuU涝vhd48抒bfW 2H~w:Oa>6yhXN5I/p-tA{^emN2}J9efPo̕@"M8rhV+~)7_^-֯hDELj>q<]i\ Kq N;| V|i4NBB|[PBH(Ú$7t=ˡM['枕FX\ݚL{<ܞ6m?>Z'vgeeOD%BÅ{GnZ-w>Kq|zsאK % ¯ sF_-QvWLXw\z{IUNʌÑA$,!::&zm_O,,z6nLB)d  ,!ǾE Uƭ9U86N"^:KmGa8 hKڊ .,?jo՗bV/[hM}F*EENJQjNI1I]*Iøn{ ê%%.>j$] gAHil'jŠj^CmB0*\Yx.DG\!@I QbMV')pR !t 0Mf+MEee`j4_WVۤ^^<~Yh~fW?]⼢cᴹs,6q ;՟ٜiPjܛ˜w;ˆSIX'D7ݴ4&y&n'FRl,GM0[;#3^doU͵_"Ebm?zu|]0u LJ|狇$i)1brΗ?ÝO=i#Kw?UstZ#J>^8T8V8µ LnwF G0WK%.PE qD=q>#P&X!@Q=zW1 r} GR:Ӧ^H R]}ҫ R*(&h|y8gmbh15rxJCJ9!g2Ô,}+1;hLBO\tHh!d즭Uk{s޼qdhؐGVW9 W곕?K /H"7;^Is{zk]anN.j9$n1[p:,kL6iNS i^$[ɣu*KJyzzṚslb\4+W=^;rF[5*:cIJ@M"[ ܽԠԪY5631E1 X BO5GZg+P摧0B#MvYb2KG#:8S=ވDWL U% 9?)S=&𘎢c}ULj`.L08 3,%񰴀TZ՟V(O} jDeE[D8iB F(*cdo;ky,2%ֆp1 RdQ:TS(bmyN:I 35 ͘fxH@˘p1$Х@u [L0ދ:aTj =T-a6՝q$ιʨb;!:94[x~DZLx/ۊEhZb :X!u+AXd3 ,2Ma*zfUԎsL+0:oSsQy`QvM@ r^50 }YO` <:s0)S0Z6bYә߬Ƕ˛ E:%3tA'g/?I^ߓ B=鷓~gɅ͓ Nz+UUG1f?0(yc Ű'ž?E~:{>職f[OfƧ R8sc]ΡW; ,kש wۀymڼmsvI~g4^uG49]X>Ϡk["5Yx稰MU| TI#6%tâopf[&ٞhv+}ih^% F j5*hn=o<19:!vaxsԻX,=r-߃S1rj딬bkE|C(M2~y$zҷ5m[v qЂ ^CE^awz(Ȼ"O(2V|i/#j&B#mwL9Zޗ{V.J[}[t<^|YDr:2N뤗8b$,$/)'x2c6 M3׏#nv^]N_UϿvA;~,< |͊TKzR:q,ﰊs?ܼ.dЏX)pqAߺ宅띾^Kjͪ~ς4?X.dv Fӈ[ NhF3ۖWu;LӝolkAgyq- :nH(eFݼ+n˳ q܎ץAA9gNDGU*LsTYs=(he4=ET8&rΩa§M2+WpyG+t,~FÕ.2kP"\I0ynk X\*HT hԳq"nese#߰D!ya[(UO0*bPi,Bu +> ۂ[0XUI8x6<=ں4 h]$wdlܚYkFWlX 3 3MWU :[g1e٬,L\\|B p R&&/|oy _Bi{6w J2(K%H3eViѾ]i9(M#Zއ1Ib0:Ϗ:iw6?76HN{o~Qn|G5+:UxEQ}>ho7"5ZJ/s%3RёYUf;׍}gυ/cS=n/+GWZi;h6Ekd?5秩cOrM+04h8uILJwpYW~?;Ӽos Ʒˈ0@nu뮝o㝗E!g_?w|7a#鏓&? wZ‰s0 r9tC [ژB)ԅbFʺ(ZDo5FIO>F%gu|Rŏ6z7]n\uU0X4kQT / RZ8{G @S28zިgЗ0vQI 9Fe{jwaF^q4<9lmV\|௣D,5Kbg\͖AYCj(yh*&hj0]J n+NiMs"{9Z>2 YKs[Jb0ksI'yL[Nrn~[kg\:hODPHۓɱS+~>,c FN0%tZF<V\L0^e*8}з sV{Na DZ8hO/FriFIAcK$ rtRe GQ1&NMabWH]w?* J7_?WML&PahlZZ lOZhudk o(§ _$.#ĶIڳ6@""E~>VEEwYLdFsh|q 2lEoz$S.H?N?*e!VTY >n%-< fo>qmkNgD,맽l+dX!d6qF8ߛOtTJvUӆs˥` ,2C!;m704V\bt-L&73C6!N m a۰## 9Aj%E!9ϿCsPZ LZz&TNhd! 466U @UүDT ˄= C UngP.!ܟzB32\{b%7 m"EB_n;fV,03B8 cӽwOBJM&fًYy$ N*|Uy!f4wrh6av+OzͳzYXzka*=Dtp#h(z Xf!Nφ˵e--Xfb}!ieՑxOjk#>-51tķZj46fθ+ .7_mVmFҹ,tS N亊!eKIyct*V=f|aiIhqƳDjT^'zym\f,Y1/mrгy-{ 'x{ TxR1&6Iˉydb=L{S":%D)@}i!|7" ;Lj^XdM'2*\l9oXtul4z}9{#fwgL*NXKk4L50mn12mӁ' :aaEnƶkX4Rn:Iik R)^vڡN"{S>L ݥwiOCZ>Y +y:8H֝^hl蜐b.|ʑ~Q 5LT~Djofʲ4=+ՕWjC'b ´M=x-7$~pgOv ͱ*{bCw %9Na91r$lmf[- m9kVq ,/ Jk-4]|#<١ әfl<pl`9V!0\a̾,wβH$}D_C#4CY& zӢד49FܭT坰_؉kWMN?yMxz35C?7U"%qEt~NVю(nq0A֣ҪTe 9e?Xscٸ Fh|#S=ϼ:y9W[;gEX!﵆udRWOFR^ܴrT8C'{]:rA#״VǣƱ`&;:7fQTؑ>sU$dW=׋Y=>=H~tͰP/(n?+|?a 4 r 9C^KBI U1tZEfN:z"=mUAv(<#,ɊllbvNj#iGJwW (2T4% 趬j>;>L3iq%`U;<#]uGӪ^D΍4/7r%"z@]ìu8t-5Oz xYЋ4ZQQ'|,ԉSa2:Qs╗`c1It7. u ;Ejaw>@|wqVo݉l=,ׄjmX)b4KL4#d4Eib;H4D+jQw^]Ŀv1$ :l$F'X1eJglph(Mb(ZတLMe1/._z+^\%Ftkm^JT=3u@5g٥֜j6L(WtVsaaU$-RRg1VJaYCi \r6qLioyx50nj2?7ҶA"\Pi䒔x).~kơcnM6N=6.W@%(Y 23QT͚ isZ0Cj_v( TV |BU|TEPC} `\蠄u*&Enay=%;{n:7P9[U^*uVwKRj[L0,` # clc`-fЌ{燱^^x63~߹UA6~us<}"nYzx-Ւʻnåʮ$(kHWM5z ,Ⱦ@7my[ Ѽm/`8 Sf-D}G 䘂" ޿ lcZݱ"cPI+u|V4yG |6(_tFEІDxE E7P54MG|MLgYtwD'30 , jM0#}7ZԈ*P2ڲmD1bL2\R3;P-E`͡F /ʟ=4*jf]rsзSmVnID{m_EXVkq/.?~[K+ c?r.1~xt#74uk$*a<̆cg#̉VIݭ7GgFa(#o}˲LHyȑ#-,624/**{ol7tLEer_R5%\0bӣZ/u\ٻr|~$GG*aL>_l2m9ND$Yry G] +Qk-η$?\aح(h7 ?vnqηK3p0uWn7;kn#qVXCU7nᡚ;B ?I$UsH-:خ7*DPsU+n@j:dXKaaQÂ_?ue&鴒6}FVPpo$8 ށ`7_#<.V v \$j0Mu˯~ɑlIMyno[^[W r nYYm) 7ɏA80c Rﳵ>ظ>S{壘 %)I]VWNzqN'9xdhd~8~0t j0QZX;Xdw޵fPk4:b1uRsV0o_ז Rnl}0#֗dd\,Ϟ{tuvφww*WWj깖W.{f$<ʕoo6pB_H0iL1$˘, + l+}: ga>J @VUuh rQnFv U|▂u|jlq= o)4LhJqU-aZ52ꂆ*r1'iC$"Er33|'F975#ԺKIvM4K *mPl,%lUm{utjdlGV]!wm*h^.fL3#U/(R)+E$Qe:%*GDD)U LSPcy::@vT Z >/-*@ꖌ䖼!| }! Bdژ]y>ab$m[| J p}?A_%4j&BQCX "* :d~b)P*tD"@1Gf9,a7A{#.. 1lAlqCL'DF,F*iDk:z-tg~Ĺs'N~<}Vrjib+۪Y7+P*cmFIcP \vM}Er 8WprG=s4lNGd">#`y`gvV'q(ogrkէurq#( ?*oOYr&g|oFD?A_9㌀4}c`04eI`ÌB Zٹڧ1~ J?p4>@N*g`IpJfm@uKщQB1u'W#BvI5bfifET$ R{!JT?*t)\aQ<E;Ef)VfѡTF~FP,o.q}T%l^$N3pCV6^GC驾eAJ[VxІ^7.y &Xđ%L>OW@ rndzj G:x9x쒍"4ʌ}jjSKBu{~ݔb#(A(۵-#Fm8 {SBpU!/v҂ o7ҬvRo糷slD+tva ֑nu : SYexvOJB0c#B.Cl,@ O9t37g(,'P7k{L!lj]+=SŽF 7RUzb4 PUS&7. UnԗAX(eHxb"y)l}}j(ޥ~뉕j_Ǔ}N+B!dn $cq"F?B/IF33!1yH]u[)<,b=!9A}-?7z .nRPXy>4>r/ ubQ&_/y;,VgEa粁5p &tS3w '=J'4?0GYhQW#Q7p #Qñ b:ziXU]w <%[zqƬjbumDuQ.D8T6X^)=8}ɧ@a1 ' A7iW}E#;N4,FEZԔXe+WH2B(z jX. NmTV{pamz@ui?來<42k: J܉s GC,7_ym'V.T\~8͏ B?L;sֵN" ;7Xz,KORc> JYfA!ip8-^ WdpP4Uu@\\[[Y_X;_q8E\/v\}*375W !2\OsVrJ*Ӭh4q_e2<=ᆢ&mj!Oa԰# >y{MiYHTqDR34+^H"+Z`D\S!бj5AsPqLJ xϦf/,m*T`;U̗X6c?m TeA-N\xPnV ߜ f-zqTrk~a8M*O8'$a xˢ xgUc0r4N'?%Zn0fP(]IWJ-cި5EYIGYk?}#Oϊc+y1x瀓l}7\f6 2CI,`#kx~sLj$'gYJSGePu TUʝd6q1Rl񤆤QUj+mQ!RLgJgKJT}K$Eέ{$:5QБ~l#e?VK{_5XUgGU;=([ՠ> 9Ku-x̯*łnxdy420O>4Pi*c+8[aJ*¯DNhrG܌cWAQ߸DZ{}kBA}ЈFG=;-KPd' `ZD$DžCKn92kR.@oYfp ]k{\dFGMC"*ڒaI2I33*/w"ێ;۶wg#qu" F᳃vEA E1ET#ZʟƬLntܬP 4/륦ryQY~/yݐ|\/Ңm]f_%eݲB":-fRmçy|E-`t]'ɿ|V(iE[v`+%V)T)%ETLioyFj{gMhedyh?)#믰Anၹ& 14ꠓr_uq٪^U9UK4#ܸvQ1[>a=]lEGvT@7==7}l$ŭ]ub](ƥj,i¢: B)؈lK.B?qrAkz}*iw{a/>y|,,bXlv/hSQ\ cLXpr}txf7C73I| j{A.,f7~ zgko|h[a[$c$ŠT#}g j4"n#tc>/MOH Zr O4;i=qJ">J4CgKo GFe'2v;Tzb[./ _-w12=l012=;wcb׎CDRlT%i5 yv!ޟo|lcUS#rlB\h-״r917y6^tekYM 4aqq `ii2] 7 J~X,G!nULەJN[l> VҺ]l6ggv%WgwdNgd5# $;zV)Z:jk%Z5󆎣]7yy>crc7HF1˙$1^B|[o.-~ZuiwN+{LSz { n]}_fjc4h6&3р[d])> !,!  GRh-Qb˱]'7K'.o:`Mypro*Wowsrs.[mɖHD^%^PÀ `/(g~Dz1ΕOg? _¸RJ-T0bb#bP/$tKN[(t>lT TըVJ* D"ta^ͶHT tT[O+F azhu#t \g*4Xx+'s}.Υ>76"(Ҙلasqa;$C,2cDL1 3Wd|SjRMPAU%ŹTn(\`hq<ҊHdX0CU[$0-p`H+;ٶ$,jvJ{_lG"d3F "Qd0W;c ݍzih]qn4s1)'@Dj wZz,4Z0L{S:Re<,*\vUV,_ WC70_^?OeMW@zX ekn#S`$Mk(05gG[]% ±̧KG;^3[o:q`܀g~O_f䗹!zrq[<]^½{w8cF w"kܯ##nHv6d&Mg͹kgcp_Yf%5U 5 䇩a^@x67{||oo<>6Yg8<5[!+-tNYAlp1$2}@59jK)'$WMy!:!*ot;i[8:0H%}f䒭w 1 n}LX`> T})~t-ήJw6ztN&A-' Q5Tqk'C4&w^f-o;a Uf;A#' ;~A߳EA| RI5U;+rnۛk) SӅ6Qwa-m+W1۩]<ӕ͔T #ne&l`y":ȑꁠZa2S:+L%b\3fn#.NyI9ωeWYZzTXs#,K|]j(@T͏)cS ˔ D^,d/q^ml& 6 !^,R}ѴH޼~!-oW|,tkP%{#yxeC7>xp8~6WUUa d^U2!mǨp_,L/ӏں*xk5ʞZ pš!a?\s;Ņ,)zYG)aJ@Bm, lM4}ճ y&-bʩۭ~ jQ8\(jyҲO.e=[pgK%MAm*0v{4*m2\<_6IrX_%b`i9j 7J$7y<=%DN &lÁa#2scHS&nj#ނo˛%WMdXWE 50(Mx"h&8tYVeV>V, EhZ 6L=R0-؜"\ռ&%0Su",n2oau~9Ӵ+Bd 2dޕ?Sc < `u%9C˚b(nfR ˰)wAJ1\\^0U`_D֣*~d/=*T&KĒi):>E#4R)H;Q^,u~͗|_Kzg1*xc 1{bq7p*mnvJ5;Y0VIHci"kAOMv\G\, *| #08TR6贯;<|uX/e DT8q$I|/"I$d)%1,Ȕ:o)DaR1W[_x)E/m!J8JZsaaEQa""( D|(9(HüP^{R4JHX[5AC^8zX^K3M>#`[ [vey--' mQ" 7%M9oR@.;Bu} ^G<75܄F&56vuU ]]b3.u R n0PMbGyz{1bM~yCwkkFPn,WK7ϿJE>Ac}B]'|1,gLƯYdCyW93*k}"ɷdͷ'Ij(&Np ZgL&NqD*[B}MzH )uő8BSb]Q\[;+fNGG0W3`>&9 iԌ&|<)RC{ \,f.dmVr ?| ḛ$iFp4פ?;ރhbꒋ~]n^=t{g OG~|E'Ǣ2FkE3Et[]fT$w2#ߺ7nS"(Gy_]m^XTEGnAiPüp\P G:p/,#w7E~䅟fy׈E )/O¦?KK c.y҂[ fkq`mnmM1F"5จ>#an>g9"lLml2v}J֭vNKZeQ&?EaF -Dx4-bXˬ;v 0ɑJ3K&ZNE$&VU$ȕ&ׇT_hCE2ķڏԦt"NJ14O~kP_,,7 qX}=} ԼR뫽 v ijHfϯj/ hwJlHwO_Ł[wj5F8k6ƻM;{:,:>=(o h]ͺ 4(nJ%+1~Vh6(#9ycvb՚֠vS?#5bσ4`'$#P:S4YxG9Z;o@3:i,^ e膙'ʨ We$ꖵ{{Or>H"~@ÓA"2> ν c@:y k~{;d(Hņt.bbzStcd(J:y?W_ԵE m8?K%k C\N'jA-ؑ_oxvlhmPkG:Ώ;vRT?G&F;w_,*GЭMڒd%B(A\|1lHz::U $l,; FA Q%aW*V Wɼ3VTU-ϳjN5R.&j1A"»RWrŸ)'an<#z5J/m[:1_?r9 @8 xOE+Cnjx1P+ k:r%8lVKcEQ2⥭9Ӭ&Fvr.tUMT˽%U{o9l@ޗWz[p|4tx=o]Y88 B{{9ķq> -`J/AJjA*aj|fh&?A[oV`e2#&O snXOMÒT3U7Z-"]Q={lvqfDPۼIqqy]0rųEqL?}\ҩl' 9:C@R$0PfZt2;f\^?Z|mEO]?^;x#Aݬvz3Id].?W[[ Y?'qJ1J~zVzk`YQ8,lr<y:^ &B6i\.@{bF+,Ơ3;ߞv3^o=py "fOگq51.wl;{qcp?vk7ƩL2 +4' G6G&(fx8`gyȿ&lR]/? A>fO\x,kDz??2{'MGMPڅ,&K]}S~M׵2LrT sv!-&X {GxEAczULA0_,aqc򎙦1dO L֝*UC`HDԫ$X3<_~"Pȏ[ѨoȠhGF4y-FUE!bWmry҃H5ٔxThz[SIE4MA%g}?ZH#̤)Ddch.0tJk<D`u2yo*5̲$aK+0/w eŎl:X^J\vF#rr4JƊt^, CBx95~yr)I,WƵZ ERwSNP$ #a&^>2Wr?ʽ{YG*4ξb ?o |Y4z_0_}eeAG PΦ [br:L^,n v 086tld2a~h_ tIpU 1E<E:J1[ǫ! XVwr ㊢k'e^ZhP7VUys]WW ?xKK0Y, !3loȼ)ٺSжW$0x; ]eѐ0ۢNt`R("TYb~˞6l%IZ֭zb{qiZ9cg>mY?i&~^ՠbjyE躁FXQS!h mjp@%~Ԫ/yP>J"]9 c1_!r1s^ɥg9{`iy/l^z{yD|ѥW &6]Cbts3LaSAYF3T`a!?GGq7)!l1nmY*+Ym7fqo/S JYpDuցS.CĥԴa$;sk6]X6IZ͑~;pZmpJeE n*L$nb'| /@?9FT&wdXu<]Нz&Y|0k zk'#;N)js7;*%]E (9t@ J2KNg^Ye$y(y䞒zz>QflXjͭM•-EUW&5fJA7YQ2=5K2L%vq,}8^P 7LY@JF}Ml~V0G2eaۨtXd9[".xɨ\k,.:"E1dMtE -w YWj+x6_/֣YYxe"ρ9ц"1VOZ;5ñZsw*Tu͵4B'%8DV<1`4L{R$sj12-蜸W7kBj@ϙIe0'pUr7qc^0'o BrV!\M14eآ#권 ٮvM6 5"3r|]#o;z_wnV.UaF Vo?pl˯ؾWl"¶IrF ̮'E:.&zieǹ,s'XfR-vݪ;0M+{GHc Gݰ\jNݟΈ"?;J>y=Jljf^6]Dzم)Wx6Meqh&8(*gl<>v(s,Xra Xk\*rTp)fiWoύŀ˴ GQ첛n~a Zb&ow/>5mgw0.fu^|T ic(ǍgaWI֧t!'aܽ Cuiq@wD" Ơ iЯ۷+s箎\fx9]h[S~ Q?/xE(}j 8L逘3S:'&t2Cm/_^ۼ~?Gbu嶕?ׯKT,"~_MK-RSro=|KeٽD0 jl D$Z]$QDyFfc`:+`c["E"l,6 1vA Ii1v8$ ;f6I N;$?6!|y8#$+BU)A,E_VJYC6K^]^?, Y3jmktH¡m[1kTFZj{] (5H=T"K%1˪he#U!4* w`bӵfv{PEi'v,gd`AGDNe#? gGhl&Ӥ~Ф#'MRh1 &o~Ph>2xkܞXJ=ۥڪIT VJ2yP7Ug[ ];pkQ\ yэh4?m V\=,r}3q0a: _wwkۨ;{wk{}]n}޷RI9@IDr=R(PDP VZJK&q<ć" )|! T uwsۣ1F3?W^6}7";PH1m_]aEÝpjiP"*qjJ- 2D, nOS*R6D4b2Fgn0dPڐӣNJ0<WqWc4{y7`|>Nk8~b)lhIUlXŨ-cy~`b3i x j!1vig ϝ(ajd=?hlwEt!H0t?E=͐N96YNuC\tB^Pq]Zj8]"v.ЃmYE:&I7 1 Q[qfR < c|P[_{;xϿ<E jB}Ij̎tkߢwDkW,O| g!\hu.u'?n?t7JGi`FZVv83WuI.emL4/:gu˖bȮwzwХG(/TlmZx(!٦̤5ŖVQnؽ~]|͝s7<ۼVX͛x!RC8bWFT3{21b^s7"R'UglV畬KS܅/:O9r {WgIu[Y{Z}fb+7bU7 P"pmԋd@_hģՈ:H J9 C &xYKLrnti KjX4U9NSa9eQy-Vߩp ]-*fxydQ*P,J m}<ķ)d)N_-Z:m XiR6T%\@㭢<eC a}yv^"h4kH ĶFa"_'6f&Lcn[5g4}ȉ'Dovڗc?Pw\a?"){/X_B DhI`wu K 3O2bNm$83\r3\wܰF{ۃpaGϴ^{w<ĸs,^z`S[bںz% F<[cC\KA[>fk%MUwoW4=ZYn'<ށ-]m S/S\O$щ>^2"*Y ;22 ;NOnZڮ} A0ۂo᾿KƎ}C>-!_CRh؏@&!w7 Qs"b0-xP@lqClH:MŅaH U AeTU  :.$BA)nj ɦy T&͌?XSI\"2 f<UPV(Ġ%|SÊl*Uq&+/Y'ju Gq[ L&Vqv/7ٟGHvr_]T\h$s ޝ[v#ӧ3('䥹%|uwm*䩅VP>a$YJo1|bX_IpI:s7eE5yV߅xc`d``M"B6_@.0;ZO `iI !xc`d``<S/32E7xuTM1/"JAF(@B'nŚ+˿7RCRsQ+]9{5>Π{1˼P\km9p=oC$W 9).b8.~OXٮAq)'ڇ':~~rAj[:;Lw&봹qW-^}w}xN7VW{=*O!f_U {:/Pl^3/`5^c8i9bKj̆0{,y/^sWgܯyiוWz-Wפrsui@q}wl#KqOWw =RD.X_{J:FLl82  Z  "Rr20DZ~"x*n2z2 !"B"l""$%%P%&@&b&&'|''(2():))**,0,,.n/P///0f11&1T1123344"455X5667`78889z9: :L:x;;<*<=>>>?v@@F@A&AFArABBJBBCD*DG~HHHIJnKxKKLLdLMMNdNOXRst$ttuXuuvNvvw@xyLyz*z{2{|Z|}}`}~"~Ԁ^ցB0ZV^֋<&^ \48f4x2ДX2R$&vPȞ^|",^ΡtX (Hr>.xc`d``f̠L@ |+~xKJ`ߗ؊_@N(Ig-ty郼 pq-޴bEE$9ܓ oPX{|Y՚sp.0Q@3e\^Cg>ڼEsGLHV;CLV[ ;wxmVݫIvv_[JrgffffffffffON2ݫepVB|tE} 0*ְ۰`~@qa8GHq q8'Dq Ӱ ™؍p68\"\Kp).W*\kp-z7q ­qqwqwqpC`)$1FJ쁆E ^½q<ƒ<<£<<O“<O <³</‹/ «o›o»|‡| |§||_—|_ |·|?? ¯Ÿ¿ma`k3úllla;ؾl??;bCء0v8;ɎbGcر8v<;Nb'SXNetvdYlv;g MEbv ].gW+Ujv ]Ǯ޽sg9[Q$a&C2jdWxL$mxG#InME.|%h|*qq2i쐐#-H!/XiqeMHhi[4{A=n<V˱ϫy+J-Fr&'b9k NH;x^"E$Z euYB6>HɢEƁנPhUìV)aw6VZ"3:yڐSxlQBab6pvyU",( AUa&RzIrnq}V!C*x" EpXxQJ(SUl"-a.m:hѮRRRRXLDJʋJr}u Ry Ӊ̶EEˤ~PhsFU(d$Uec0R-F\V,dHiyHol5YJѥ@G"lD^J-ؾ4|yʳLXo:l ];Ua[z 1ݘuP+MTd$TzܑjvjlO0-aWrZ5&]mʼ}f2/mU ouQxJ/Mg݌dg:r͸b-7VzR : 3ҥQ ߜlY1)Yt#@ &SZY=~Wx^g ?1ɤ鐕UhKDت2Ҫr9_m^.Vl*y$SB+ѵ9U`tEnZήeRsEEj*l 5B v (qCUZ:SIZwE.gvx$C#%Zv ])eC-#2U4,Q2-WI㠤K@7e/$-0ݍ;t9"^YT^YTlϞr*h穀~nSEt!v5-*P@( Ț95ń$Z/2cl"]RNԹ q-[( }7$QJK 2s=Y*Ɂ:FaFhXFu1㚓6RL-tHE&uh(U](gqiR1/}Wt6XP 253˺[:Un Fp򊪚N'3oC="鎬JU47%Q3xyYtQ:1rZΒ\L U']Pg껵Fa^&œy)Ug,mۺTZNvEgTZ$.ZOJT&TTESo9ɍOkdckY{"iDdnl$d2)hϣLkSiy=MS!`O%il 5.Dwc7-C:5aOKrӚQ ӧEb-kBk\jNʎ/1 wES[5;ZQY֪t˖PKZ@@Fplugins/wps-limit-login/assets/fontawesome/webfonts/fa-regular-400.eotnu[@`LPa#$Font Awesome 5 ProRegularVersion 5.04Font Awesome 5 Pro Regular 0GSUB %z8TOS/2?PVcmap(d -glyf:UEX$hmtxX 4loca?: 8maxpD name`ipost|=%h#a_< ֺ"ֺ"8  0>DFLTlatnligafGfPfEd@.F@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@@@@@@@@@@@@@@@@@@  @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @@@, \ V, \ *  >DN[^n~ ".5:>FNY^ex -69IN]lwz.>N[]gw~"$LQVX!@GP^`p  $07=@HP[`u !38@MQlqy 0@P]`v~"$2NSXZ $&4::>>>x &(88<JR^tvx*..:<BDRjpr @D`|""IdP3sut6jz_9cQkljk=gqr{vCQHMAR~L34=.$E H6 }.<;BAO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N gK<BD8p  ]Y(5 y#1?@ABDE}|\vHMwn+0%-' !/#gb9"!iCd|aFec{%)WeG_ZZ^[\YrTKponq\T]S^ZU~}U,-`fGrD 3_suwzxyv/W>^VNI41'wxyfOPQ".*,&$ JI>?56789:;</012%&'(!"#$ )     X]u2F|&8;:Jcedi TSUVlmq>?KLhi0Lao MNOPonpsz)(7@R[klt*+=`fh{ !IdP3 s u t 6jz!!_""##$$9%%c&&''(())**Q++k,,l--j..k//0011=22g3344q55r66778899::;;<<{==>>v@@AABBCCDDGGCHHQIIJJHKKLLMMMNNAPPQQRRRSSTTUUVVWWXXYYZZ~[[^^L``3aa4bb=cc.dd$eeffgghhiiEjj kkHllmm6nnppqq rrss}ttuuvvwwxxyyzz.{{<||;}}B~~AO5~2axXWYV+,-*Jm4t@:MRXbGCFEjh7S[bm `N   g  K<BD8 p!!"" $$%%&&''(())** ++],,Y--..001122(3344555778899::== >>@@yAABBCCDDEEFFHHIIJJKKLLMM#NNPPQQRRSSTTUUVVWWXXYY[[1\\]]?^^@``AaaBbbDccEdd}ee|uuvvwwxx\vHMwn+0%-' !/#gb9"!iCd|aFec{ %)We!!""##$$%%&&''(())**++,,--G33445566_8899Z@@ZAA^BB[CC\DDYEEFFrGGHHIITMMNNKQQpRRoSSnTTqUU\VVTWW]XXSYY^ZZZ[[U\\]]llqqrrsstt~uu}vvwwyyzzU,-`fGrD 3_suwzxyv/W>^VNI41'w     xyfOPQ".*,&$ !! ""##$$%%&&''(())**++,,--..001122334455J66I77>88?995::6;;7<<8==9>>:@@;AA<BB/CC0DD1EE2FFGGHHIIJJ%KK&LL'MM(NNPP!QQ"RR#SS$TTUUVV WW)XXYYZZ[[]]``aabbcc dd ee ff gg vvXww]~~u2F|&8;:Jcedi""$$ 22T33S44U55V66l77m88q99::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLNN>OO?PPKQQLSShTTiUUVVXXZZ[[0\\L]]a^^o__``aa bbMccNddOeePffoggnhhpiisjjzkkllmmnnooppqqrrssttuuvvww)xx(yy7zz@{{R||[}}k~~lt*+=`fh{pPp4 h xL,@(4pPxlhp !T""#p$$$%4%&D&''\(()*4+,P-D.0.0@12344567898:;;=>>?(?@@pAAB BD DF(GhIIJlJLPM(MxNOPQHQSlTUV(VWY Z,Z[\]_8_`ab8c cdxeHf4fg|hiDij<jjk8kxllmmmnoqPqrs0stptuDvw\xHyz{|x}t~`<p|\,4`p|\D,thLDTxx|8HX0<x\, H4dp¸00,(njTʨT̐ ϨЀ4ҌTԼXtؘٜڠP0݄ޔH\Dd,x<$|t0<dxP d@,L  4 t ,(P\,d$T<l !"@"#$p%%&'(|)8**|+P,<,-t.<//01X24L56l79$9x9:8:;P<\=l>(?L@ABCCD@DE,EtEFFLFG GlGHIKdL0LMN NO|PPQR0RSXT0UUWXYZ[@[\\\] ]^t^_x`H`a`bcDcdHefxgitijkl|mDmntnopqLrstDtuXuvw,xxz z{l|}P}~0~|4(\dxhdtL |04XXL 4(<`$T@d,l(ʴˤ̈lͬδϼpьҔӨ<\Lְ׌l4PD8(l,d| (\8t8THXX8|<x`H <   4Xh0,,\| 8!"#X$%X&'()8)*+,,-.0/H00123P45`667(7X78p9:|;<-=F[26=4&+54&#!"3!26=326=4&+5326=4&+5!"&5463!2462"&+"&=46?7@64/B//B/ $ $ (0`0(@(@l!//B//d    /?H]!"3!2654&!"&5463!2'#"&=46;2#"&=46;2'2"&46''&';26=4&`l8hhhh##2##^    H#2##2#}     !2".4>7"2>4."36\66\l\66\6CrCCrrCCrC)F))F)6\l\66\l\60CrrCCrrC`)FRF)1;ERf%>54.#"&.#"2?67264/>54'2&'>4632&".4>2/&=46;24!77!4**)dd(++`&)>&>)0Q//Q`Q//QE 2 +4$$4+,1'H++!!+*H'1&5@&5/Q`Q//Q`Q/`/l" /?+"&=46;2!26=4&#!"!26=4&#!"%#";26=4&`XXM        /?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"X XXXp        /?#!"&=463!2!26=4&#!"!26=4&#!"%!"3!26=4& XX         /?5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"XXp         C%"264&'"264&"264&"#54&#"."&#"&#;26?6=4&+"/&>6=46;26=46;26=46;26=46"264&7"264&"264&'"264&  G  9  * !&! *  r #-*  r  %     '  '       p    **\ ;$h#%X* g   7   @    P   p   @   #KTgmv~#54&+"#";;26=326=4&#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53(808808ET$!!!8P88P80 )(} ,4, 00$ I~@(< *$ 880880tT(!!!(88((88(  `((`0XI((eI4%&'.'"&'6.#."?27327>?>%.32"'1.#"3267162#'"&/&6?6?65>76767676.7676&&67676&&'&4676&#"&'&6213264&#"1"&7>32?6{ %4M  *"+- ( %4O  *"+- "$      #T;(4%$   " ' "4%$  "  '  "$      $S;(()  " K+6 $Q  " K+6 $'   #  PC%A       .C%A        #  PBKT%'&";5326=4&+5>54&"#";&'&'326/&";32>73262"&46=4&463!2#!"&5#!"&=463!2#"&=46;2``LlT|hh@@64R /"2>4.".4>2#"2?6&+54&+"CrCCrrCCrC6\66\l\66\VCc cC(CrrCCrrC@6\l\66\l\64."".4>2+/&4?632CrrCCrrC6\l\66\l\6HtcctCrCCrrCCrC6\66\l\66\"(Cc cC /%4."2>%4>2".7546;546&=#"&CrrCCrrC@6\l\66\l\6HtdctCrCCrrCCrC6\66\l\66\"(Cc bC /2>4."2".4>#"&=#"&?62+CrCCrrCCrC6\66\l\66\J(Cc cC8CrrCCrrC6\l\66\l\6tdct%#54&+"#"2?64&'3533JlJ(Űzlz''ర'.%#!"&=463!2%762++"&=#"&43353'h(4X40dXd'PP''.3#"&546;2"&=#"&=46;5462#37$'PP'hr(4X40dXd'.32+"&546'&4?6232+"7535#5'PP'h(4X40dXd'.5463!2#!"&"/&46;546;232'#5##hr(4X40dXd|'PP'%5326=4&+54&"26'73#''రJlJ(Űzlz#";2?64/&"5#535''రpJlJ(Űzlz%53232"/&6;5467#!"&5463!24&#!"3!26(Cc bC`0T@tcct0`T%5%+/&4?6327#!"&5463!24&#!"3!26`tcct``0T(Cc cC`T%57546;546&=#"&%#!"&5463!24&#!"3!26`tdct``0T(Cc bC`T%57#"&=#"&?62+#!"&5463!24&#!"3!26(Cc cC`0T@tdct0`T.#54&+"#"2?64&'3533#!"&=463!2P4X4(dXd0h``''.%5326=4&+54.>'73##"&546;20``''04X4(dXd0h.#";?64/&5#535732+"&546``''P4X4(dXd0h.73;26=32>/&"7##5#'5463!2#!"&04X4(dXd0hp``''73;26=3264/&"7##5#0JlJ(Űzlz''ర 7"2>4.".4>27'&"54&+"'&"2?64CrCCrrCCrC6\66\l\66\L CC z yCrrCCrrC@6\l\66\l\6GG yy  7%4."2>%4>2".'&4?6232+"CrrCCrrC@6\l\66\l\6yy FG CrCCrrCCrC6\66\l\66\Lz y CC  772>4."".4>2'"/&4?#"&=46;'&4?62CrrCCrrC6\l\66\l\6yy GF CrCCrrCCrC6\66\l\66\Ly y CC  72>4."2".4>762"/+"&="/&4CrCCrrCCrC6\66\l\66\Lz y CC 8CrrCCrrC6\l\66\l\6yy GF %'&"4&+"'&"2?64   U  -762"/+"&="/&4!"3!26=4&$  ^^ Th aa -"/&4?#"&=46;'&4?624&+";26( aa ]  ^^ h.7'&4?6232+"';2654&+" aa $  ^^ Qh-%"/&4?62546;2762%!26=4&#!"]  ^^ hx aa 764/!26=4&#!764/&"2U     !"3!2?64/&"U     -=%"/&4?62546;27627#!"&5463!24&#!"3!26by y CC [`0Tyy GG `T-=7'&4?6232+"#!"&5463!24&#!"3!26yy GG `0T>z y CC 5`T-="/&4?#"&=46;'&4?627#!"&5463!24&#!"3!26yy GF `0TBy y CC +`T-=?62"/+"&="/&4%#!"&5463!24&#!"3!26^z y CC e`0Tyy GF `T-%"/&4?62546;2762!"3!26=4&]  ^^ hؔ aa .7'&4?6232+"'4&+";26 aa $  ^^ h-"/&4?#"&=46;'&4?627;2654&+"ȕ aa ]  ^^ h-?62"/+"&="/&4'!26=4&#!"$  ^^ h aa 72?;2652?64/&"   U  2%'&!54&6=!?64ccc cdGGd dGGd 7#326/&";#"2?6&GGd dGGd d; cccc;%3546&=#32"/&6;5#/&4?635#"&?62+t``tLa aLt``tLa aLLa `Lt``tL` aLt``I+!764/&"2?64/!2?64/&"[II || IJI || 1 FF } } FF } })+%&"2?64/&"2?'&"2?64' FF | | FF } |eIJI }} II || c%"/&4?6235#"/&4?6235#"/&4?62"/#35'&4?62"/&4?5#3762ia a *- `` -* a a *- `` -* $`` -* a a *- `` -* a a *- /CRajs|"&4632651676767654.""&54>274&"265462267>'&'&7>'&'&"264&"264&"264&7'  '  7B7 -M\M- 4L4H4" 0 (P $; 2 J  _@"@@' !7 7!  .M--M.  5$44$   Q 7%- ' K.'@ v@x@"@5%'7>/.54&+"'&?;26=6?6&߯        [ee ee ee ee FT%4'."3267>/.#".4>2#"&?6&+".#"32673276"&547>32" qrCCrC(K  5A6\66\m\!' "$>%1,, H)' "-C418CrrC &6\l\6*')6- 'F,.8 *( %96;IQ!"3!2654&!"&5463!2/&+";26?3;26'#?#";264&#532`l9 $94 T  99.550 @  g?4Y3b0 "%>54.7'>54.7'  З  ŗ @  } @   }(q%4&'6.."&7267>'>'&/"'&/&76?'&'&476?'&'&6767627676'"/&4?62762&2.6.2&&2.6.2&l % 5 %    & 5 %    [ < .2&&2.6.2&&2."$    & 5 %    & 5 r[ = (q"&'.7.467&>>26''276?6'&/76764'&/7676&'&'&"'&'&767.2&&2.6.2&&2.X 5 %    & 5 &    % @&2.6.2&&2.6.2&l   $ 5 %    % 5 & @-6LOfi>5326=4&+&"#";#"3!26=4&+2"&4694&/.12>'#!014&/.12>5'#8t0th  9$ "" $4<4p@$ "" $4<4p@%  `   1G G1 $$ 1G G1 $$ "2>4.>.67&CrCCrrCCrJ$&`_$&`_CrrCCrrCk#_`&#_`&`"+4=G!"3!26=4&"&=46;72"&46'462"&462"&7"&462+532(0$44$$44 hP ` hh`4$$44$$4XH V R`/?CSc%326=4&+";26=4&+"#326=4&+"!"3!2654&!!326=4&+";26=4&+"h00c00+  800c@`0 4IYi~#";26=4&+";26=4&#54&+";26=4&326=326=4&+"54&+";26'#";26=4&#"#";26=4&#";;26=4&#";26=4&C00+`    `  005 `   `  00@`   0 `    `   `  `   #-7AKU_is%!"3!26=4&%4&+"374&+"374&+"3%4&+"3%4&+"3;26=#;26=#;26=#;26=#;26=#xp0@` `0@P`0@@0@ @0@0@P`$$ #'+/37;?13333333333333333333333333333333  $    |/!"&=463!2!"&=463!2!"&=463!2XXXD       4<D"2>4.67'.7677&'>67&''&7'6'7&547CrCCrrCCr     %_/2'     %_01  CrrCCrrCt "X-/& ! # "Y,/& ! p >> %&# $&#" >!5>G'..>'>?>''67'7676?6"264&"&462rBL7;M@JH >1B*-$%+  K(88P88(( 7?C7 P 5E5A /0!  &#  8P88P8((  "',28"2>4.&'7767677'7!6?677'667&CrCCrrCCrQ=0{+-P-&1 A&/ *D6+{&'1 "(2 \;/{(-F7({%CrrBBrrCA&{+6- /H 1' -+{0 2(" 1'Z%{(7 -({/ +BFIMPSVZ]e%?6=&'.'.57676767632'''#"&=463!2+7'7#7'7#'7'7'?75!353gRNHINQg *7FVoR;' KBBKp.,*A)R@,.0>'%%+++s7 o*5"vO,(),Ov"5* %+3$;0HHHH  @,,*)@,,* 5++(5PP00PWa%!546322?64/&"..#"#";;26=3!3;26=>=326=4&%>&6#!"&=!\    _   # #!/ (` /  _   /!0) && )0( 0$@%"&?#"&?>;232%37#";7#%#54&+33##326=326=4& %_  m ] mnt 8       E000@`@0 `!3#!5%!"3!26=326=4&+54&0   0@`@0 `!%3#!5%!"3!26=326=4&+54&!!0   D`0@`@0 `` %%#537!!535#5232+#!"&=463@   0@`p ` %7#53%!!535#5232+#!"&=463P   0@`p  19%!"&=46;#%++"'&6?62!232#5!353:#@#cP \/  DI 0 ۦ P00ฐ ?  ["@@` %%!5!7!!535#5232+#!"&=463@   0@`p @$.5!2#5!#46;2462"&7264&"!546;24&+300 0 8P88P80(( (80ttPPty(88P88((4@ 8(@ 2BL"&=4627"26=4&#!"&5463!232'#";2654&4&+7>5H 6*d "(    ($ `*:TX  A#M]7"&76767';2653'"&53'6&'&'&'&54.'654&"'&"2?642%>  /  ']%6%-76 0D   %@(5z   7  10 1) & '%%0H <- &)G/  k * | 7 . -4N%&'&'&54.'654&";26532654"&537!"&76767654>2  %@((@%  ']%6%]' 0   7@7   u &)G/  /G)& '%%'v H  . 7 7 .  9HLSk"'&+";#54&+";&#"326732?2>4."&4632;573#.'73.'&67?>/63O D9 ` =#;"#:#+D ! n#:E<"":\$44$< \ ,':x"1 0  /#1, 4  % #;E;"4( 3";#"7652"&264&#!546;53353353322767676227676762276?54&#!"5"'&'&'&""'&'&'&""'264&#  m@0P0P0p  !    "  `     "    0    %&&%   pppppp9    9Q    Qp&%   6?&/7"264&62>/&+1"26=76?5'&'> 3Hj$i x D / A> ~H $$ TV J(  wq!,7%>54.+";#";276764&'32++532$"82""*$+T(Z_d#*4 #5 !U;  '*#(C 37#?#";32676.+76&'}7vv@&  >0% "T&2?KXdp7''&"&#"2>54'764'".4>3277+"&46;2'"&=462&4?62"'&462"'"/&462#""&54>328859_88_r_8R+JVJ++J+  L<    H  U   !0 08848_r_88_9% +J++JVJ+L 70    3  w !  09CL546;2+"&326=4&+"#!"&5463!2!"3!&4!"63!. !//!` /  : @(  U   .   /!`!/   &m  !"74&'463!2P0ppTTTv "+4"2>4.".4>2"264&74&"26"264&CrCCrrCCrC6\66\l\66\ c CrrCCrrC@6\l\66\l\6( 3+6Jv%&'.'&'&767676'."37>#.7>#.76767673&767676'."37>'&'.'&'#.7>#.76767673 -B-  ]d      -B-    d       *    ".."    * (q' 'r 00 m U"  "U   "..#    ) (q' 'q( ) m 00 m U"  "T"*7L'.#!"3!2>54.'3#'3#533".4>27&"'&"2?64'"24X4&C%A!#'B''BNB''BE7^;d4X4-N6_P*.*K'BNB''BNB'F7^!'.#!"3!2654+53!3#5!323ƅ"+4%#54&+"#"3!26=4&%3753##53753#53753Ppp l@00@XP00H(H00P[[[[[[#@7/&/&6?'.?>767#!"&='&54>;24&+"#.547#"'&4?62;>;26=4&+"32+35#"&=46;4?>2222!440!!.G/# "X # %& W*ONSfXY33!-!2"   %%:6#T*00 ; y#,5>GPYbk7"&462"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&"264&p((0  (   (   (   (X((X((X((@#=AQ%#54&+"#";;26=326=4&7#54&+"#"3!2654&%3##!"&5463!2X808808up`p``l88088000 00';#54&+"#"3!2654&%3#463!2!#!"&=3;26=3p`p```lh` 6jz$$)9!"3!2654&46;2+"&5#!"&5!5#!"&=463!2`L((l`<41AH\%#5764&"#4."#'&"#";2?;267264/6=3264&%2#4654&+"".=!@)) %>J>%))@  @7370737@ $44;44^))%>%%>%))^+%7337%+4$$4p44/?O_s546;2+"&326=4&+"326=4&+";26=4&+"54&+";26326=4&+"!546;&63!232%3546;23%(((({((((G((L((@ Q p(q,((((`((((T((((|$$  HCCA8<MW%4&'54&#+";7676&/&'&46&'&6726=>53&'&'&73&%&'&'56767@B6RV?  NK2=? 4 "U:7>AA>7:9+`#&*  !*5"`` '!#N.f. &3<2".4>7"2>4.2".4>7"2>4."264&6\66\l\66\6CrCCrrCCrC00800)F))FRF))F)!!.!!6\l\66\l\60CrrCCrrC0800800)FRF))FRF)`!.!!.! "22>4'&'&'&/&5476.54767S581WpW195R5&5)4 3(5&##..#IPUzb66b{UO57L1*%.;"9 9";.%*1L7, )33) ,KUY_7462"&264&"7++"&=#+"&=.=#"&=46;547676232!3!265%!5%!."h"""     ' 8.f.8 ' PH`V_|_p"""P /  ((  / P ( (tPP0#3CScs!"3!2654&!2!546!"&=!'+"&=46;2+"&=46;2+"&=46;2+"&=46;2+"&=46;2`TV`((`((`((((`((`0rr`((((e((((/?O_7#"&=46;2754&+";26754&+";2654&+";26'54&+";26754&+";26#!"&546;546;23546;232!3!26((g((`((`((`((((`0((00T(( (((([(((((( `4444*#-B#54&+"#54&+"#"3!2654&!"&5!'"/&4?627620((0``7 K ,o 4444`p*ɎK -n  ?I7&?627'&"?647#!"&546;546;23546;232!3!26/s0sT.t0((00T/s0s .u`4444*<F7;26576&+""&462#54&+"#54&+"#"3!2654&!"&5!".L""0((0``hh"/4444`p*3=7"&=46;2#7#!"&546;546;23546;232!3!26||0((00Tx`4444*#GQ%++"&=#"&=46;546;2327#!"&546;546;23546;232!3!26PLLLLp0((00TLLLL`4444*#GQ%"/"/&4?'&4?62762#!"&546;546;23546;232!3!268 66 66 66 660((00TI66 66 66 66 `4444*#-#54&+"#54&+"#"3!2654&!"&5!0((0``4444`p* %-G%".4>2'"264&463264&#"2673!3737#"#"3!2654&+'.!7 7B7 7!**<**6  !  oy`y~ XX( 7B7 7B7 *<**<*H   !  @0! & #'+8AQ#"&=46;2!#!"&546;76;2!!#34."2>'"&462463264&#"26ttd`"0` X 7B7 7B7 0*<**<*`  !  p$$ -T`!7 7B7 7!**<**   ! !.73!3737#"#"3!2654&+'.".4>2'"264&Wy`y~ XXQ!7 7B7 7!**<**0 @0! &  7B7 7B7 *<**<*!(2%'.".#"2>=2>4%#54762&7>o3; <&44<4p4;54Z-,n!$.4444;Cp/K@ PZjz7+"&462%";264&7++"&=!+"&=&=467#"/&6;7>;232!'.+"4&#!"3!265'#";26=4&  # #  Z    .<$$<.`> $$ [ p ~ p  ### ` "H1   1H"  !((! lH 8   %732"/&6".4>24."2>b ccCrrCCrrC06\l\66\l\6cc(CrCCrrCCrC6\66\l\66\ %/&4?6".4>2'2>4."(cc(CrCCrrCCrC6\66\l\66\#c cCrrCCrrC06\l\66\l\6 %7546&2".4>"2>4.bb(CrCCrrCCrC6\66\l\66\]b ccCrrCCrrC06\l\66\l\6 %%#"&?62%4>2".72>4."cc cCrrCCrrC06\l\66\l\6bb(CrCCrrCCrC6\66\l\66\A! #"2?64&'3p(pp 'pp'pa 754&"26'7'pp'pPp(ppa 2?64/&"5'pp'p0p(pp +732"/&6%#!"&5463!24&#!"3!26}b cK`0Tcc`T +/&4?67#!"&5463!24&#!"3!26cc`0T#c cE`T +7546&#!"&5463!24&#!"3!26bb`0T]b c`T +%#"&?627#!"&5463!24&#!"3!26Cc cu`0Tbb`TA1 73264/&"7#0p(pp`'pp'pB-6?CY!'.+";2654'3264'76&#!'!26?6&"&4623"&4627!'!"/&6;546;232(h dPF%6% %6% 9 -   p~4 4- 5%%%%6 0  hȠd4444B-6?Cg!'.+";2654'3264'76&#!'!26?6&2"&46#2"&46%!'!546;546;232++"&=#"&(h dPF%6% %6% 9 -c  !p    - 5%%%%6 0  X    0l%>&'6..&#"&76767>'>&//&/&?'.?'&6?'&67>7676.)2%..)22).3 3 3 %% 3 3 %% 3 3 %% 3 3 %1)..)12)..)1 3 3 %% 3 3 %% 3 2 && 2 3 % &%2#!"&546;2'&!'.77!DTU XZ :PQ,0h8U`gP5o$4DT%2#!"&546;2754&+";26754&+";26754&+";26754&+";26````0hv2!82#'#".4>'"326?2?>=4&+4.+"2T20D%2T22T:E?k>>k?.U!" "%$?V/$2T22TdT2&H $>k~k>#!"#Y0$/TA$ ."2>4.2".4>'&"'&"2?64CrCCrrCCrC6\66\l\66\ ; [ CrrCCrrC06\l\66\l\6= [ (!"3!2654&!!"/&4?62762``$ [ ; `p`n[ = q '&"2764/&"a  , ma , Ignv754&+&'&5326=4&+5654&'>4&+"#";#";26=4/47>72?#5'.3#6#5753 -  0  -     ,, > ep!*#UU#* @@"  &&c,!!y@<L54>7&546;2#5&735767>54'"/&4?&'&#"54&#!"3!26 505 @@0 ` K U 6($YN  NY$N44N**#/J V A+/ #'+/37;?CGKO!!!#5;#73#'#5;#553%#5#5;#'#5353353%#553353'#53#53#530`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0p@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@37DTaq#5326=4&+";#26=4&+"3#"3!2654&!!2>4."746;2+"&52>4."?62"/&4XphhT0 44<4444<443 3 @004<44<4Hl4<44<4x3 3 37DTaq#26=4&+"3#5326=4&+";#"3!2654&!!2>4."746;2+"&52>4."?62"/&4XThhp0 `44<44044<443 3 @004<44<4Hl4<44<4x3 3 Y]fn754&+&'&=326=4&+76&+5326=4&+54&+"#";#"#";#";26=4'#'53#6'#5753 66  K.$ 6 bp!"X  XF( @@HHyE*+D7;#!"&=463!2!'&6;5#"&=46;546;232+32!3hVV22$228G "0$22$0"@"GOX%54&'&+"3!26=4/46?>=/&=4?'&6;2##5753"&462()$&-N  ( .    " N4 &)J# d2 EE=  :  &d 4X  #8HQ2#546?>=/&=4?'&637#"!54.54&#!"3!26"264&'B' : #  ,  dd @4Xh  p'B'J  2  0&$24X4,i   @9BHP%54&+&5326=4&+6'.'&#";#"3!26=4'2"&463#6#5753(# :)2 #(!!.!!4 L &)7&):0$6* EE5!.!!.!6*+ @:@I#!"&=463!2%676767#"&=46;.54>232+'&'#'264&"@( $4<4$ M$&4&&4& &))44))&05;;5&&4&&eoy462"&+"&=4?546;6'5#"&=46;'&?:3276746;2276;227>32+3237&'"'3&'&=#'5#3d  - " - 6  8$ap @@ +Jq  q!#@@  $ H}HX5463!2#!"&264&" &6?63276746;22676;2327>%37.'&'@h!!/ xi(   ) ) (iBB-$44-4!.!!.!   &ӣ  A 5MU7#546312#!"&=4?546;65'&=46;232'3&'&=75##5##5#'5#30      ʄ( (0( (0  EE 8T h  h T8"(.+ D((((D +.t 19I3!&'&7576=4&#!"3353353#676'5'#5462#!"&=463!2 @) ) (0P0(0 08hC8!+ ) ~  ~ ) + 9-0000\0#+00+#0t8  %#5462+"&5+"&=4?546;6'5#"&=46;'&6;5#"&=46;546;232+3232+3254?546;65'&=46;232373&=#'5#373&7575##5##5#'5#3$  n  66    Q.J6 $aph#V#"|^$ tB@ (FX  X"  %*S  S*% HH*ED{1''1'  ."2>4.".4>2'764/&"'&"2CrCCrrCCrC6\66\l\66\-z \\ { CrrCCrrC@6\l\66\l\6lz \\ z .%4."2>%4>2".?62"/&4CrrCCrrC@6\l\66\l\6lz \\ zCrCCrrCCrC6\66\l\66\?z \\ {  /72>4."".4>2"/&4?'&4?62CrrCCrrC6\l\66\l\6k{ \\ {CrCCrrCCrC6\66\l\66\>{ \\ z !."/"/&4?62".4>24."2> z \\ { CrrCCrrC06\l\66\l\6{ \\ {`CrCCrrCCrC6\66\l\66\)"/&4?62762'&"'&"2?64      f    )'&4?62"'764/764/&"2          )"/&4?'&4?622?64/&":          )?62"/"/&472?2?64/&"          1'&"'&"2?64     764/764/&"2     2?64/&"     %57'&4?62762"'#!"&5463!24&#!"3!26{ \\ z `0Tdz \\ z `T$4?62"/&4%#!"&5463!24&#!"3!26z \\ z@`0Tz \\ { `T%5%"/&4?'&4?627#!"&5463!24&#!"3!26={ \\ {`0T{ \\ z `T$4"/"/&4?627#!"&5463!24&#!"3!26z \\ { `0T{ \\ {P`T?72?2?64/&"   Y   )K.."&;27;26=764'2"&46+"&=#+"&='&4623762-;N;-;**;##2##I  0  II\I[ %22% <;**;7>=4&2>54.'& -G(6\l\6(G- 8Z3CrqC3Z8   8R/6\66\6/R8    Fg;DqBCrC;fF   "2>4.".4>2CrCCrrCCrC6\66\l\66\CrrCCrrC@6\l\66\l\6*3M%&"'&"2?64'7#4&"#"3!2654&'2"&46#!"&546;;26=32 X&Ew+P&4&P   (  (W'Ev &&`   hP   (1GPj%#";26=4&#";26=4&'"264&"264&#4&"#"3!2654&'2"&46#!"&546;;26=32pppp  P&4&P   (  (`h`&&`   hP   /8#4&"#"3!2654&!"&546;;26=322"&46PP&4&P ** &&`pT$$ -"2>4.".4>27'&=46;2CrCCrrCCrC6\66\l\66\U C CrrCCrrC@6\l\66\l\6h>0 +;!"#"3!26=32654&!"&546;;7!"&5463!20@0z*^400@04*`4=[!"3!2654&!"&5463!2'&'&5476'.6762&'&5476'.6762`l;9!T-+;9!T-, V $.. $..6L"3!2>54&'.#".263232#!".546754>2?6&+54&+"#"?a -7+J+P'B'5+A, H)(@% (88(47)";9d dC(CO=Q1+J+'B'.K,<$0,#%8P84*?#;"ddTT6T263232#!".546754>7"3!2>54&'.#".'&"2?64/&"54&+"(@% (88(47)";#?a -7+J+P'B'5+A, H17 h h 7p,#%8P84*?#;"0O=Q1+J+'B'.K,<$7 hh 76L"3!2>54&'.#".263232#!".546754>'&";;26=326?a -7+J+P'B'5+A, H)(@% (88(47)";d dC(CO=Q1+J+'B'.K,<$0,#%8P84*?#;"ddTT6T263232#!".546754>7"3!2>54&'.#".52?64/&"2?;26(@% (88(47)";#?a -7+J+P'B'5+A, H7 h h 7p,#%8P84*?#;"0O=Q1+J+'B'.K,<$7 hh 76263232#!".546754>7"3!2>54&'.#".(@% (88(47)";#?a -7+J+P'B'5+A, Hp,#%8P84*?#;"0O=Q1+J+'B'.K,<$@s237632#1"&'&"+"&7676=4&"#1"&463226/&>7";27;2>'&';2>54.'&'6'.- (#23$ ]$32#( -":$%$>% ^ %=%&$:#6&2G2   2G2%6#06  %1$=$  $=$1%  5 7@IR4&"5>54&"2654&'>7673676767>%2"&46"&462"&462/B/ $/B//B/ +#   0!//!**!//!**!//!)   **z` a !.7#"&=46;%#326=4&%"264&'2".4>wwww.BB\BB.+J++JVJ++J(!(PB\BB\B0+JVJ++JVJ+)2;D"&'&'>54&"2654&'53264&%2"&46"&4627"&4620,4 /B//B/.K (!//   #% )!//!**!//!*n,/B/`@$9'.5>2'764/764/&"2%764/&"2''Vjjjj@  z^^^^&2!";26=32>4.+"&=!#532!"'.3!2p /!!/ #;"";s  P !//  P   !//!";F;"  ࠠ/B/  Gqz%7>'&'.&'54&'&'&?7>=6767676&/6''5.'&'7&47'67>7567'"264&"&462/ @@ // @@ /6, ,"", ,, ,"", ,(88P88((@/ $  $ /@@/ $  $ /@,  22    22  m8P88P8((R.7"'.=&'&'&'&'&6?&7'.76767>6754676276/'7576?67'76/7&''&/5&'77"&462'"264&%.+&'76&'&'&&'.#";6?7767>/6732676'"&462.+&'76&'&'&&'.#";6?7767>/6732676"&462      !0!      7 ' '' '  & '' ' %44I44$!     k_      o  ! !       3,  --   )3I43J3""          2          !!"3!2654&#"&53#3`Ⲹ`p:@@:CLU"76732>4."'>7&'&5476762'"&462"&462"&462 NN!    WF,/NNMN3.$'%"3::33:((p((p((8_9$C     $ 8_r_8 2!%$&&$J$&(((@:"76732>4."'>7&'&5476762 NN!    WF,/NNMN3.$'%"3::33:8_9$C     $ 8_r_8 2!%$&&$J$&C!<Z%#"'&'67673&'67654'6'"273276764'&'&'2#"'#".6767&'&4676?15'S$?54+)  #:.*14>%):.**.:H94;%@*-4%"@9  ;49 !%%%72)\)& <0R,#A2"  %UR )2"2>4.".4>2.?6?6"264&CrCCrrCCrC6\66\l\66\%!f  !f  ^ CrrCCrrC@6\l\66\l\68b b[/75462762+"&726=4&+"2p p _ p _ p _ p pp _ p )>S%#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| dd|  |dd|  |d|d| dd |)>S#"&=46;232%54&+"#";2654&+";;2675326=4&+";26| dd|  |dd|  |d|d| dd |  )2GKO%!"3!264&!"&463!2%"264&!"264&#"264&'!26=4&+54&#!"%3#'3# @(88((88(@L s     pp8P88P8((P`  0    )2BK%!"3!264&!"&463!2%"264&!"264&#"264&'!2654&#!"73753! @(88((88(@L s  `  'P@@P8P88P8((P`   p p-?H'&+"#";26=32654#"&546;;7#"&546;;#5324PPJ`~j X@ 0~400 4*`4X @0 B"2>4.".4>27#".4>32'&#"327676CrCCrrCCrC6\66\l\66\5 !&(@$$@(#  !$*$  CrrCCrrC@6\l\66\l\6e %@O@%  .D   A/?!"3!2654&!"&5463!2%+"&=46;2+"&=46;2 ,HH`pTD A/?O_o!"3!2654&!"&5463!2%+"&=46;2+"&=46;2'#"&=46;27546;2+"&'546;2+"&%+"&=46;25+"&=46;2 ,HH|888888HH P  P `pTD'(( ((((-((0  0 A#3C!"3!2654&!2!546!"&=!%+"&=46;2+"&=46;2  ,HH`0**d(((( '2;D'.&/.7%>/&6?>.'77'?6"264&"&462|   E7G   %/lK&l&PG(88O88''f  ;b   f[D(l4krF9O88O9((369%#764/&"!54&+"#";3!;26=326=4&57(> =  (  ( (  ( "@> =(  (   (  (  3cl%#.'54&+"#";;26=>7326=4&54&+".'326=4&+>7;26=#";'"&4624T11T44T11T47O**O77O**O/1T44T11T44T1**O77O**O77O #2?>=4&/&''57  иN gi N,NUT4J\[J #'+/39=AEJ%54&/&??>=4&/57'7'''5'1773'5575'57 \ \ i ciib \hhhh\\aaanll ````zaanllq ## q' k 1441 k b b|''% b 1]'B)(,'^00]&61g',,(+3;%.+546;26=4&+"#"3!2>=4&'!2!46!"&5! 3! 4 !3,8'B'`'B'8,t`(88(8 8 (   4( K/ 'B''B' /K(8((88((8)2;D%764'&"'654&"327&#"2654'72764'"&462"&4627"&462(+ 8P88(++(88P8 +(((l+(88P8 ++ 8P88(+(((( 0@Y2".=4>".=276".=276".=276"2767654'&'&0Q//Q`Q//Q/Q`Q/1.l.1/Q`Q/1.l.1/Q`Q/1.l.13.8 '' 8.f.8 '' 8. L L  (( ($( Od'&4?62"764/&"2%476767654."2654>21#"32>'"&54&""&5462W W   = -M\M- 7B7  '  4 "4H4D W W  s  .M--M.  !7 7! '5   $44$ @.!"3!2654&463!2!#!"&46;76;232     c N c  6 88@4!"3!2654&!"&5463!2#!"&46;76;232 ,,  c N c   88 !*Gc{!"3!26=4&%264&"7264&"264&"#"'&'3526?6&'&'276735#"/&6?.'7632&7&'654."72"&46264&"xp     w   =60"  # "06=   `Q;F 4<458 &&4&&:       )      8 !q,  5;  ,q! 5[(  )44)  &4&&4&  '&4?62"7' * *0 "  " 8>CI4&+"!.+"67&'3;2>7!;265&'&'676673'#67#&'  < "-e/  &RR'  &     ),G5 #8\88   22S87S3Q7&'&'&'&476326?6&'&'&'54&+"#"'&'&;26=6764 *  ")' (!   "(*   *   /1)0       //ZB&/%'..+.+";22654'7>"&462? '^Y Y]8P8(H   +(88( H (( N7!26=4&+54&#!"73#3#'3#!4&+";;2654'32654'326=4& 0  PP p P 3((S `  p  P0@`      -%!4&+";;2654'32654'326=4&p p P 3((S 0      F7!2654&#!"73753!!4&+";;2654'32654'326=4&  'p00p p P 3((S `   p p`      B'0B%'.'.'.+";22654'7>"&4627.+'7?>/7? HY Y]8P8(8'2V RFJV   +(88( H ((k; ; "2".4>7"2>4."264&6\66\l\66\6CrCCrrCCrC!//B//6\l\66\l\60CrrCCrrC/B//B/@%,6?%#76.+54&+"#"#"3!26=4&%3533!532?3462"&\.@`@.\\p`p B(BX.'pp'.P`BB@ O_o%#54&+54&+"#54&+"'#"#";;7;26=3;26=326=326=4&#"&=46;2+"&546;2+"&546;2+"&=46;2x! ! !`! ! !! ! !`! ! !  e    `  H! !!!! !H0H! !!!! !H08PPA*/9%76#!"&5463!2+!547&?62'7'&"764   `Z 1+t:A+ :g `  r Z+10:A +: !$%!"3!26=4&!5!%!264/&"7!```(Ű@@p@@''#,5"264&"&4627"264&"&462%"264&"&462**<** **<** **<** *<**<*``*<**<*``*<**<*`%"&4627"264&!"264&0((x(((((((#,5"264&"&462"264&"&462264&"72"&46`**<**  **<**  **<** *<**<*`P*<**<*`0*<**<*`p72"&46'264&"264&"@(((((((h((1Q&/&'&"3!2654#!"&=4?6762"'&/.?>276?6$d 0 _(0l   4Q Q0Q Q  Q O    K!s )BB B  B A A*:J7&/546;2"'"'&/&';26=7#!"&5463!24&#!"3!26> >W8 q`0T*  *  ' \  \ `T+!"3!2654&"'&/&'55276?`#d    d#s0t 0)M N)\  \ %64/&"3!26=4&+''7(`d$g9`w7((``g`w7=J'.#"&'326?6&+&7326?6&+>326?6&'&#"#";#";327>< 0JJ2Iq 68K 5,  -5UCD)+ +&=!"&=463!5466=!26=4&#!54&`|``|`aHHa aHHa ;"/&4?!"&=463!'&4?622?64/!26=4&#!764/&"d 3e3 dd 3e3 dd 00 d d 00 d  "2"2>4.".4>2'"&462';26?6&+"CrCCrrCCrC6\66\l\66\ ""Q*6CrrCCrrC@6\l\66\l\6h"ˆ(8#!"&5463!24&#!"3!26'"&462';26?6&+"`0T""Q*6p`TL"ˆC'37;26?6&+""&462.3!2>'62#!"&*6R"" !! 4pp"W `!!r02+"&5'4632"&46#"2>54'6?6& D .&&4&&H\#  4<4  #&4&&4&P%!-44-!%/"/"/&4?'&46;2'&";264/764/&"k l _ k _ l _ l kl _ k ;776+"&?'+"&=467'&=46;27'&6;2/z66yy56zz56yy56y56zz55yy56zz66c%+"&=4637'72+"&=46;27'+"&=46;2#'7'"&=46;2+"&57'7'46;2>>>>t>>>>)>S=46;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |d`d |d| d || dd| d |d| )>S546;2++"&%;;26=4&+"#"#";26=4&54&+54&+";26 |d d |d| d | | dd| d |d| A%;%#!"&5463!2#!"3!26=4?67#"276=4&TTt0 1`1 05!"3!2654&!"&5463!2#"2?6=4&`T80 1`pT01 0=!"3!2654&!"&5463!2#"372?;26=4&`T8: `pT0 :@E+"&57'"/&47'"&=46;2#!"&5463!26/&#!"3!26=4&@ ! I .` I ! T$)&"'&"732?2?64/7>#57L^  8F  ^<<^  F8  ^K<<@4E%.7"&'67'327'%&'&6?6632'.'2651>(= L%!7@&+JKY I-0  8,.YKJ+0"rD!.!()CY2J'J>8$'*A  I+,.p+BE  O ,+I  9H.!!+b&:Ay1%&'&"276764"&'>7"&512>54'9+JKKJ++JKKJ+L%"rD!.!%>J>%*C%I+,,+I  I+,,+I J>9H.!!"%>%%>%.%;&>J'*-;26=>=>54.54.54&+"/'     ɐP | @ }  =}}}'*-#"'&'&??;2654&55    7P | } h|~| /?O_u~#";2654&+"&546;2546;2+"&546;2+"&7546;2+"&546;2+"&54/&+"3!2654&%3;#!5!P%%%%   ((((`(((( 0  `%%% %   (([((e(([((&* 0 X X `4(E%'&'654&"3;26=2>2"&46#+"&=#"&?>;732-0 ;R; 0 !& &! ,f0   0 0  0 t &);;)& ' && '0,,P P  /LU'76&+".764&"276?32>54&'76=4&".46762?%"&462l=-["" /B4Xi+<%!7 )!U4)" /B-S); 3*<**<*`=-[ !B/F&4Y3!) 7!%<"(5:4 !B/.R;)  H**<**1_/#'>4&+3'#37#3264&'73?676764'&'&'##5##'53535'575#5#57335331l* GJ%%JG *l$  %p'`0(8 (88( 8(0`'p% X @ %>x>% @ X  . b xH 7"7 Hx 14=%+"&=46;2#";26=4&7#!"&546;2'3#"&=#  gTLh MT.rT 4LР h$$)    ^T`LLdh L$8$Y  : 2'&+"3!2654#53;'"/&4?62762rT 4LР h K ,o ^T`LLdh K -n 2BX'&+"3!2654#53;/7>/&"2?6&7'&6?6&'&"271764rT 4LР h!!99R77T9!!9^T`LLdh s66\66+9'&+"3!2654#53;'&?62/&?62rT 4LР h}/s0sT.^T`LLdh /s0s.E'&+"3!2654#53;'#"'&'&+";276?;26/676&rT 4LР hL .. . #^T`LLdh $  NN "  N= -6'&+"3!2654#53;';26576&+""&462rT 4LР h".L""^T`LLdh hh"*3'&+"3!2654#53;%35'&"'&"7"264&rT 4LР h X' '0(^T`LLdh 0X('((:='&+"#";2?3264&+'&"'#53;!5#3!26545T0 q!2W  9!2/ h0 L^T  A c"A c"h ``LLL#58A74&+"#";;26=326=4&+7'&+"3!2654'#!3;088088T LLP h80880T`L=764&'5'!`@%@'/ ݢ'08AKO#6."6767676;;26=4&'536=4&"&462#5463127'57 : % #   ) )(   Y`pp !# "   5!  !4  h 5   [*L4&"&=4&2>54'&'&'&'&".54672654'&'&'&7  " &,4XhX4  # 'B' 4H4   7  'B  0.%&$ jT/4X44X4,& f'B'18$44$ '$"5"'B'@#3=AK73;26=326=4&+54&+"#"!"3!2654&#"&546;!!+32808808K <**P `**880880`pT`` $*17m56&/'65&5&'&'675%6756'7576#"'&'&'&#"+"&5.54663232#"'.'&#">3232767( !" '!&&"  (#%h%#, ('o&"#h =C (  ') ,T!& 3H! 3OF E B EC  B R F GE FC F  ( S        5T"'&'&'&#"6'.'&;26=67632327>=4.#"'.'&#"56763232767P )'  ( C= AT3 !H3 &!p   j S (      -%'5326=4&+";3!2>!"&?6=3uu'2'J u`u -4"#3&  C'+%#54&+'#"3!26?6.%332!"546!7!0@ P @ ?M{0@ #p@* h##'#"3!26=4&!"&546;32@l@@@@+4%&+"#";26=4&+73#";26=4&#%7671 6 x##x76ydd '.z.'#&767676&'&'&%'>7''&"'&"2?2?64/72?64/72?64/764/&"'&"CCVQ DCVP J i.>X{XV.+         WPtLN VPuL+.iN>Y|Y +.        3:SY]f%#'7>'.#";3276'&/3367>74=4&#'&6?'+"/#.7>7632'.'35#'3%"264&| Eg;@74C5*(  + 4$  ($  _16)-4>f.* epv L 9[4a8520'1$1  $9 Hu"0R/I%,OF9" ((1BK`%54/.+"#"26532654&3#"/"&4627#."53;&#""&4627#4&+";26=4&N08P8@8P8Oz M0(Z ,3BNz ,F(`   gl p(88((88(%6 <((` }="v((@ `   #7'&?64'5%'&?64'5  ė.  ė٠   }   } -AQ2".4>7"2>4."12"&51264&#"12"&51264&.7>>6\66\l\66\6CrCCrrCCr  !.!!  !.!!PP  23  6\l\66\l\60CrrCCrrC  !!.!  !!.!&&   #*19.#"327>'?''57'/6'&'7'73G`4'&@WG`4'&@W`4,G' G@/=/@G &5%'G+O,; 3N* c@3N* c4.'2#"&'##".4>30 00 0"Q"#;"";ETE;"";#0Q//Q0#>.>#0Q//Q0 00 00=""P""";F;"  ";F;"0/Q`Q//Q`Q/16B'.'6&/&"7&"2?64'72?641'77'7''77  6 'h  9'l%(l9   % jU%l%tgt 6  h(  9l(%l'9   j'%l%*thtC!$!"276/&#'#3#'3#3'3?3d d?D4Z4<94D4DaPD4U0`````0S P2"&467"2>4.(88P88('B''BNB''B 8P88P80'BNB''BNB',8DLT#654&#"&'&#"#";3!26=326=4&'>7632+'2#"&46535#537#3#53<4$$4<  `  Vz V7蠀 $4&&4$  PP "!"P!""P0PЀ0P6&#!"#"3!2654&+57' l ( l    #).4:@"2>4.#&'#6'3&73&/3#&767'#>3.673CrCCrrCCrqT (>"^^l ^^ k T>PT (> T>CrrCCrrC9. 6((((((((0A,,A(((XA,,Ag.9$69. 6C.9$6?N[hu%4.;2;26=4&+"&=3+";26=46;26=>'2#.54>#"&'>'#"&'>'#"&'>'7^p`:"!!  !!"+J+##+J[    P    @    8_86^8-P:!! !!;N+J+'CC'+J+      K   8'&%&3!2676&#!"'&71326=4&+5326=4&+546w z.%/6 HHHH dI&& p  0  C1?G'1&;265'>4&'727654'7>4&#"'&'72?'/76_  0 3 K77K c X5++5 n n|,O O {{ R++O  C"" MMMC!"3!2654&!"&5463!2+"&=#+"&=46;23546;2`T4`pT$\\\\eaKm7+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32#"2?#";26=4&+4&llllyD 88A\\\\B je0|%32+"&'&54767676764&#"/.76762+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32э      ![:* llllQ   (   5)'  !\\\\ia/{%#"&'.?>3264'&+"/&?"&=46;2+"&=46;5#"&=46;2+35#"&=46;2+32+"&=46;5#32h?/4 #!"A oL&/4llll,= +L X1i\\\\A97!2654&#!"73753!&"+"&=46;2676&+"!2?>p`  'P@@P ]V * Vu    p pXJ F`y @C%'.#!";#";2354#54&/&+"&546;26?6&+"&=463!2- !/!r$4!d0c r &  !!/04$!&H|$p'@  ![54..&&;26?6=4&#'&>6=46;26=46;26=46;26=46u' // &!w  .s       O ""~ 7  )w  &       L #_.54&"'.;26?6=4.+"/&6?>/&6;26=46;26=46;26546j #+<+  88 87 %(  7@;      X++^O80bwF"w b       8ir26=6767>=4'&'&'&=6=4&+"13277"&="#"'&54767676767673'''462"&"1 !(3    /$ 1"       ! $ }@1"$ 5.  @  @    *2V"10          [ 8ir5;;2767676;;26=4&+"#"&'1&'&'&'&#"#"46;4'&'&547632+"&7.7.7#"&2"&461"$ 5.  @  @    *2V"10          [ "1 !(3    /$ 1"       ! $ }7gp#654&#"1+&+";2732;267>'673264&#+"'&'&'&'5676767676763232"&462V2*    @  @  .5 $"11"[          6 $/    3(! 1D1v $ !        7gp&#"1;26=4'54767676=4&'.&'54&"666#&'&'&'&'&'&547632354622"&46j $/    3(! 1D1v $ !        mV2*    @  @  .5 $"11"[          "_o..54&"&;26?6=4.6=46;26=46;26=46;26546+"/&>546;2+"&7546;2+"&7546;2+"&f- '7'!m %*        m fL K  J'' 7 wT# m&   # #    Tw ` ` ` ` ` `  @PT""/.?6.354?6=4&."/54&"354'7'&"2?64'7` Z &9 k `& Z k a  a a  a KKK l  3  M"+    3  l   +"b b  b b XKJJ*o.&"&&;26=456?6=4.#54/&=466=46;26=46;26=46;265469@4#*b + 0+a      q  &%9-U   dr'  d U9 ) t  ) (    #^32?>=4&/&'&'";7"&6326=4&+"&6;26=4&+"&6;26=4/.66?>Fwb08O^++X"       b w % 78 88  +<+# (0      ;@7  )k7;26?6=4?6.#.'&'."&71626='&6;26/&6;26?>;26?>#'&4   "0/!5%45#  *- *&  |By k%'i"&'8+2 E        q  % `u9Bn#"#'.+"&+"#&+";26732726767673;26=4&"&462%'''#"'&/&+532?6;26?7#4/6."'&6?6;23"&462h0  (/ *' 0  0 L23$#( 0        Q  ,  ,..I IN6  :/.'0  `$'  D          I ,36 ` h > D5   KO76&+76&+"#76&+"#";#";;26?3;26?326?6&+7326#73Yo]Y^Yo]Y^pp j nj n p j nj n pvp@&/%'.#!"3!26=4%!!!5!"&462"&4627i i YNV  `ԗ p@  K3#5326=4&+";#";26=4&+53#";26=4&+326=4&+",%%$$%%$$p`8>D";26=4&+"54>2.+";2>576=4."&4652FuE 3  38`p`83  3 Eu&&&&EuF2 2 8`88`8 2 2FuE&4&&4&)0'&'&54632632"'767654&#"'&'&#" QG6::6ES $62""260.ER22QF%&# џ25 52 (G%"/#2?#"&#"372?3654'&'&#'&"'&"#&7>32>7632  mD4E8++8%#&&u82&&#/M1:$<=,"  ,=l ##"%/8,H c,,8/%"7 b V"+(; !;(+1.+";26?64'#'73 pq qppp   .@%#"&'&4?6232>4.#"+"&=46>3276&/54&+"6CrC/V! D&6\66\6)I1-"[3CrCDX CrC" 6\l\60,"'Cq 2@!'4"27676=4'&'&".=767".4>2G<@%((%@==@%((%@<+S #r +7r $0_@     5pHp x Epp11B%'54&+"'&"?;26=3;26=6?64#54&+"#576--    @ ```%d<{     Ό/?O_%#";26=4&'#";26=4&#";26=4&'#";26=4&#";26=4&'#";26=4&7#54&+"#";;26=326=4&7#54&+"#";26546;546;232;2654&((((((((((((x  x!  ! ((((((((((((* *!`ZZ`! ="2>4.".4>2#"#54&+";26=3;26=4&FuEEuuEEuF8`88`p`88` `  ` EuuEEuuE08`p`88`p`8@PPPP/?]u7546;2+"&326=4&+"54&+";26326=4&+"!546;46;546;23232%3546;23#+"&=#7#54&+"#";;26=326=4&((((G((L((@ X p Y p(qA p @((((T((((|$${ (  ( CC_  01:!";#"3!26=4&+4'&'6765326=4&".5!t//h//#;"";?7<<7??7<<7?2T22T217=326=4&#!";#"3!26=4&+4'&'676'#&5#>2p//h//0 ?J??7<<7??7<<7?*&&*/9919!";#"3!26=4&+4'&'6765326=4&!4>2t//h//9";F;"?7<<7??7<<7?02T22T19A326=4&#!";#"3!26=4&+4'&'676%!".!4>2p//h//";F;"";F;"?7<<7??7<<7?2T22T2T22TM&'&#"36#";"32767326=4&#'&=326=4&+54726=4&#"$#"$$$\#$$#"$$$\#$  "7   "7 "73!2654&#!"#!"&52"&46''&';26=4& P)):))m `4zP):)):) @&0R#54&+"#"3!2654&%3#"&46232#546#54&'654."#3;26=3  @     !!.!!?P)p080p `      @!.!!.!0@* %00% *`   /9BV%#"&=46;254&+";267#!"&5463!25!3!26%2"&46'&';26=4&hhhh``0`*N&  < **h     (5!"3!2654&!"&5463!2%"264&!5'&"'&"`l"1@X x( ( ""PXx((@+;DQ%#!"&546;#"3!26=!"3!26=4&72#!"&5463"&462762762! tZtx""H( (h H 0 P0p"q((hHP@@"/&6;546;232##'#!7#!"&=4?>3373'&?6c cC(Cx x0  f=i t i= f cc@@pnnnrE@@ErABJ762++"&=#"&7#!"&=4?6;2+3373'#"&=46;2##'#!c dC(C  f449i t i854f 0x xZccnnr$@@@@$r@@p@%%'.#!"3!26=4%!##'#!533737i i YN{ t { x xԗ p@@@@/?K5463!2#!"&!26=4&#!"!26=4&#!"7!26=4&#!"/&?64XX,``p        g` `'7GW54&54&+"3!2654&!3??#"&=46;2+"&=46;2+"&=46;2ۋ  p   `@  <((((((4.".4>22"&46+"&=46;5#"&=46;232CrCCrrCCrC6\66\l\66\6"IX @ CrrCCrrC@6\l\66\l\6R""@d(G#!"&5463!24&#!"3!262"&46+"&=46;5#"&=46;232`0T"IX @ p`T6""@d$-L754'654.";26=4&2"&46+"&=46;5#"&=46;2322:2&&o##2##i   `  _*22 ' "(&&(9#2##2#p ( q '  !%)-;#"#54&+"!54&+"35!34&3#53353354&#!"#5!p 0   0 0 x0x0  0      0p #3#";26?6&+326?6&+"Y)D-*D.p  `  @$0<m47>. 7654'&"'&4762'762+"&?62+"&54&+""'54&+"&'&'&6;26=26768 ?G4G?:Bt9CC99CC90 0`0 0`B4Q0V $ i8??8ie7?u$**$$**$PPPP* ##  7@2#"'###57&54>7";26=326=732>4.264&"@'B''B'* 0`'B'4X4{  (4X44X4(('BNB' *00`'B'04X4 {   (4XhX4(@/?O_o!"3!2654&#!"&5463!254&+";26754&+";26754&+";26754&+";2654&+";26%54&+";26%54&+";26754&+";26754&+";26754&+";26754&+";2654&+";26   ```````b  M`&*1r!"3!2654&#"/#+"&?6;2!5!#?17546;546;232+'&'&/&6767&'&6?667#"&h  P w  < : :iP & @@        o`      e%%!         +;K%!"+"&=4&#!"3!26=4&!53;2653%!26=4&#!"463!2#!"&5t   ) P  `l`  ddp@  P A7_o2#&'&/"#"'&47676765'&'&547676767676?6767"32736767654'&>>&'&6 -'B;;!     +'="0$   &( M04 /#$:7DFN.6&dD  Qy-p'J:2      9,(  0 49I0)#7676'&5476&'&.7676'&767>76767676.767>766 ++'/U *6 ++'/U +  F&$'    F&$'   A0  P$  U0&++ 6* U0&++ 64 '$&F    '$&F   0A  $)'9 /%"/&6;#"/&6;232)a aDd  D$``P  A!%"/&4?62#"/&6;2762g  y> /'&";#";265326)a aDd  D\``  pA!'&"2?#";2652?64  >  %-52>4."'727"7"&462'64'7'&"'62&4CrCCrrCCr$545/p/B//B/[5 5a545/p5 58CrrCCrrCM5 5!//B//545/p5 5a545/pq'>]%+"&=.=46;2'463264&#"2672#&'.'&54>7";267676767654.  P  & (8  @#;"  ^  ";#0Q/    ~    /Q    &  8( ";# %  % #;"0/Q0((0Q/+X%1.6?62?64'&'&76?67.1?676'&'&4?62?>&: &*HH6?-1FL  HH*&   LF1-?CD&*6HH?.F1KF   *&DC   FK1F.?HHC%#"+57>=4&57>=4&54&+"??;2674&t$.,K  (7 17 1QezL)(! /! ?M  /  pd/?OXaj!"3!2654&!"&5463!2'+"&=46;25+"&=46;25+"&=46;2"&462"&462"&462`l,`pT\[[oo/Ls!"&=463!254&#!"3!2654&#!"3!26;2=4+54+"?#";2=4+6767654'&#"7632327654&'76=4+";7;2#"'&hhh C     D '        :  D      !  T  (           *:J"&462"264&"264&54&#!"3!2654&#!"3!2654&#!"3!26`((0((hhh`(((((      /?O_!"&=463!254&#!"3!2654&#!"3!2654&+";2654&+";2654&+";26hhh\@@@@@@D      5@@@@@@&=#"&67%63 ,% %`|` %, &a &.27"&=4627#!"&=46;54>232%354&"!!  'BNB' 8P8`$ @  @ 0'B''C'/0(88(`@&*7"#"3!26=4&+546226=4.!5"&=462'B'`@7P9'BG 'B'0/(98(8  7'C' @  @ @&*"#"3!26=4&+546226=4.!5'B'`@7P9'BG'B'0/(98(8  7'C'!%#54."#"3!26=4&%462#!5! 'BNB' `8P8`/'C''B'00(88(072?6&+4&+"#"d dG GLdd4/6=!26=4&#!54&ldd4)c cH G/%764/&!"3!Tdd4Rc cG H'&";;265326d dG G4dd40%'&"4&+"'&"2?64, NM  yQYQ  P?64/!26=4&#!764/&"2QYQ  4 NN  P!"3!2?64/&"(QYQ  L NN  02?;2652?64/&" NN  QYQ  A/@%&'&#"'.'67767?>/>764'>'1"&479+JKY.-5 .-JR2s .-J(!.!Dr"DI+, P EC+  .G   EB+ &b+!!.H9&;$PU`lw";2>=4.+".=4>2*#.+";;2654&'&'326=4&+"#6'"&=322+"&4637+'546;=g<+J++J+=4&'2"&46++"&=#"&=463272;R;&4&h,f  4  (%);;) )Y F&&F Y)v,, p p Y+4"6?67>54.&'&'.54>2'462"&4X4,; ;,4X4&(  'BNB'  (/B//B/4X4.$F] ]F#.4X40(;@#'B''B'"@!//B//+"6?67>54.&'&'.54>24X4,; ;,4X4&(  'BNB'  (4X4.$F] ]F#.4X40(;@#'B''B'"@@"34."2?5>".4>2'#""&54632@+IVJ,$>&  &>$44<44   *  +J++J+'E,,EI4<44<4  * ;@E2?64/&+54&+"#";#";;26=326=4&+5!'7'5! 88   88   N 88 p  88tt p  P@ @ A!%'&??>54.'7%7  xhxx9;@ 9;@  u0 0 5 5 5%K%4'76=4&+"&#"2>"&462%/#".'67264&'677'&6;2 8?8%.'B''BNB'(88P88H8'B'%>(7O86& &8?.%8?8'BNB''B98P88P8?8%.'B'";$ &68O78U1:%'&#54&+"#&'.67673;26=3?64'"&462-#* JJ77JJ *#-P88P8,-!7JJ7!-- L8P88P%097&'5326=4&+5326/&";#";>&"&462!-, ,-!7JJ7=P88P8 +!--!+ JJ77JJ8P88P09#"'&"&#"2>54'72?64/76=4&"&462t? %.'B''BNB' (88P88 'BNB''B'.% ?8P88P8%#"&#"2>54'76=4&"&462t?X%.'B''BNB'X(88P88X'BNB''B'.%X?8P88P8-Q#54&+"#"3!2654&%3#"&5463!2#'++"&=#"&=46;546;232p`p``j8 88 8`  88 88 -AK2".4>7"2>4."12"&51264&#"12"&51264&#";26&6\66\l\66\6CrCCrrCCr  !.!!  !.!!q  6\l\66\l\60CrrCCrrC  !!.!  !!.!!FO%4&'67674&+""&'.+"#";;26=326=4&+54'>"&462 # ,:, #E4,,,,4E(88P88%@''@%5Q6,,6Q+8P88P8  4H\p#";2654&+"&546;2++53232++53232++53232++53232%3#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;54673#"&=#"&=46;546q****************`7m_ 0b 0b 0b 00 `0 `0 `0 x:n72>=4."'4632#";#";#";#"&5732+"&=46;5.=46;22>=46;244<44"&!144443$&*I-D  D-I*%>J>%X4444&&$$.O4& &4O.$$%>%%>%$_f'>2'54&#"54&+"6"/32+"&=46;5.=46;2327'".='&4?62/32$4=4/&"%D p%.D  D-I*%>%(!<4 S& c$4 /j&$$%#o& &4O.$$%>%4F ) S&xP72>=4."'462"&5732+"&=46;5.=46;22>=46;244<44"&4&&4&*I-D  D-I*%>J>%X4444&&&&$$.O4& &4O.$$%>%%>%$)7"&=46;2#7".4>24."2>CrrCCrrC06\l\66\l\6  CrCCrrCCrC6\66\l\66\1-.+";26?64'#'73"&=46;2# pq qppp      0'&+";2?6=4'#'573"&=46;2#"*d  /7"&=46;2#7#!"&5463!24&#!"3!26ll`0T  `T%26=4&#!"3X  @(87"&46274&+";26+"&546;24&+";260P0 /9`Rl@/?7#"&546;2+"&546;24&+";26'54&+";26W0@HHP@`Rl(@/#";2654&#"&546;2'#"&=46;2HHH`0l @(7"&462+"&546;24&+";260 c`Rl )9I"2>4.+"=4;57&/&?6;2327!"3!2654&!4ᒑ!3"@,,4,, C     P r/!!//!!/04<44<4  (  T   O !//!!//,!"3!2654&265!3"!4J>2".h  P !//!!//!,4,,4,  O /!!//!!/@44<44,2676..5467>.#"27#".4>;h$ )I-%,EvEEvE*2=d7U08`88`@2-( B)$> (#EuuET28Z* $)8_r_8KZ`v"'326=4&+"'&+";#&'&+";2&#"3267326'&672>4."&4632;7#73"&5467?>/632!U  - ' LA28 8#;"";#+D Q %" ";F;"";]$44$ 3 \ ,B$4 6 5 $448 +) 4  ";F;"4( )H5#;"";F;"4H4[ \x>}4$" [ Z4H4y.%'&??>/32>#&/&546e3&%3 /+ $@Z0* -J##)  0,%3(o iH ] !*3&#"26=%&#"2654&5%"&462%"&462 (88P8(88P8!!.!!)!!.!!` 1F11#U| 1F11#LwV>V^$$@$$!4.";26=>"&462 'BNB'E33E(88P88'B''B'5P  P+8P88P8 A 04DTdt!"#"3!2654&53"&!7!326=4&+"73#546;2+"&7546;2+"&=46;2+"&546;2+"&(H+ ! _!PP(hhhhhh ! P ``P(dC8\#4&"#"3!2654&'2"&46#!"&546;;26=32#54&+"#";;26=326=4&PP&4&P  **8808808&&`^T$$880880 7;?CG_y}26=4&+"!54&+";#";26=!;26=4&+'3#%3##53#53'#"!54&+326=!;#54&+";;26=4&%3##5326=3HH H@H ( `  (  @ $TTL8@H HH H@   @44p@L AUY]ae}%26=4&+"#5326=4&+"#54&+";#";26=3#";26=3;26=4&+5'3#3#!#535#5354&+5326=3;#"#53%#"#54&+53;26=4&+53;#535#534HX HH HX HH   `   XH X ( H H HH H H     HX   '&+";2?6=4'#'573"*/?K5463!2#!"&326=4&+"!26=4&#!"7326=4&+"'6=4&XX``p        Q` `&<T"&'&3265>76767654&#"'&'26716767#"&5467676762'9+ G# #<%ER%#+04  $& $ 1;) #2&  E!L1PB/8-8(J&   ( SG)0%+4%  @DHL7!26=4&+54&#!"%3#'3#26=4&#!";#"3!26=4&+5#53#53#53p   pp  00 ` 0p@@p@@  0    `   ```````<@DH7!2654&#!"73753!26=4&#!";#"3!26=4&+5#53#53#53`  'P@@P  00 ` 0p@@p@@   P P   `   ```````$6?327676.5'76.'%` r )+p ;$%l #"0T"&4?622?64&"2?62&D;;,B0   '7;S LMML+;;/B   7'S; "*#"3;2653;265326=4&".4>3t-L-,K- ( 822,KYL,l|| 2:2!*3K]%'&+54&+."#";;26=4'#532'2"&46#"&546;26732#"#"&546;;4= =Pb0@   J7 7` j X4000 @   *X  )9"2>4.".4>2+"&=46;2+"&=46;2CrCCrrCCrC6\66\l\66\* 0 0 p 0 0 CrrCCrrC@6\l\66\l\6    /?+"&546;24&+";26+"&546;24&+";26``0TT0``0TTq`T\`T9GTbo"654&#"&'&#"&#"327676232764'67>54&'2#"&5&767&4'6'2#"'&546"&547632'&'&"&6767627"&54632 *" "* &,'$  && C5 -R- 6I7!   '#) 4  !"$44$, 3#&!# A&3 ,Nm  + ,   ,-| , +!+'&"'&"2??64?7'762680%  pI] RR0R06v60% p I8 ]RR0R06 -=&?627'&"2?647#!"&5463!24&#!"3!2679 d7``0T7 : 7\`T '&"?64?7'76268 pI] RR0R06v6p I8 ]RR0R06 &1'&"?642?5#5#7'?331'76268 ;w0)wp *010X05v6ŕ =8w)0wJ0*30X06 ('&"?6475#5'?331'76268 ;yX0P *010X05v6ŕ =8ЩX)0J0*30X06B(6'&'&6.#";26=6767367167676.56/M[aZ ! 19=J$I2E;WLYh~d&/  15"!rL!%> }+8D# #17264&"72"&46"264&"&462+"&76;2`(88P88(((88P88((J$E#8P88P8((8P88P8((}X  9C%#"&/&6?6'6"'&4?6267'.?>'6765'#6}Cg O7crE )  ( ,_6=/[*D-"$'_,O D*[    eTMK<=5BDJc7=>!"3!2654&!"&5463!2#"&/&6?6>7'.?>`T,>k? 8.4`pT?k>4.8 ,@Xl7'.&76?6&/&?>.67'76764'.727>4&'&"2764'&"  8! >> !8 j4$$47<<e     W    1   && #G++G! # =TQQT= # !$45"E4V4EI $ @W  ?D?  MTM1  !X!  -v-.'&'.32767654&'7>7'7_, (,Q eyhd;=Yc7JY"D*[65Y\e Q,( ,_=:egzK[*D"XK7ck\Y56F'/7"2>=4.#54762.>&'.'&'6p44<44"4aRR>=SR>$'%6Ӛ$'%64444p?>RR>>RR6%'T6%'AIf#'326=4&+'.+"'.+";26?;26?326=4&+7326764'.##7#&'&'#7'367673'332f . 5 '  ' 5 . f77a! %&))&% !a**1(/ * < < * /(10n?UU?A.C#'.+"#'.+";26?3;26?32>4.##7##7'33'332XY 54 // 45 YX 7!!7 ua!##!au++ $ [[ $ %*%p5UU5 %%'&?644."2>%4>2".t  xCrrCCrrC@6\l\66\l\6ke CrCCrrCCrC6\66\l\66\-&7%>&46&""` xN ` )19!";35>5326=4&#".=#5!'5462#5462h  $>&0&>$ " 4<4  H0 P 'E,RR,E' P P0440 @h  hh  h#0=%++"&=#"&=46;546;232".4>24."2>X XX XxCrrCCrrC06\l\66\l\6 XX XXCrCCrrCCrC6\66\l\66\1A.+";26?64'#'73'++"&=#"&=46;546;232 pq qppp`X XX X    XX XX D'&+";2?6=4'#'573++"&=#"&=46;546;232"PX XX X*8 XX XX#3C%++"&=#"&=46;546;2327#!"&5463!24&#!"3!26`X XX X``0T XX XX`T#%#54&+"#";;26=326=4&  ܸ   2Xa"&'&542'4>7>54.67676'&"65'4'&'&4>27>54."264&+J 3<5*GRE(qAl?OA.5ZjZ58.@O?lA%%6%%)0(-,,-(33*  9!)F))E) 9  >l@Hw!-/lZ55Zl\!uH@l@%6%%6%,S_s232122#!".6?.76?.673676'3!2654&'6&'6&'4'&'&"2676&#'"12"&51264&#"12"&51264&    ,0  " .8);&" (n6>6(  (  (  "2-' ) &#f0 " " *6.;)+8(A     (  ((=3!2654&#!"#!"&5463!22"&46''&';26=4& P!//B//}$ $ `lL/B//B/    @=%#"#5326=4&+546326?6&'&#"#";#"3!26=4&4dd'" +4&?#$(X9M& 7"P`$4".46762>4&'.?>4&+";265>CqrC>5  *26\l\62*  h"oACrCCqo" Yj\66\jY #=AE73;26=326=4&+54&+"#"!";3!265326=4&!!7!5!808808   @  = `880880@ `  P ` 0@00?!";3!265326=4&!!!5326=4&+5326=4&+5326=4&+5!   @  `@XXXXXX  `  P ` 00( 0 0 (#(,HQ54/&+"";3!26=326=4&%3##53#54&#!"#54633!26=2"&462: (8 H  H 8ȴ,`0 0  n : 8( (  ( (8,P(  (p   $+4=Y%#"#4&+";26=!;26=4.!532264&"72"&46'32?3264&+'&"'#"     7'*P!//B//! r%6v  X%6 ((!7 */B//B/pJl"Jl"  AY%01"767#'467654&#"'&'327654'.'&54627>;'&76327654'&'&"'&'&'&#"'&76767654'&"'&'57654'.'&47627327>762  4#'#  >%-:+& " /:  !"  L  J  ";%0  3#< %  7) !)"       , O $  5   !"  ,     ( /%"  #/37535#3#735#5335#3#73#3#!#533#5##5333#'3#(pp(pph(pp 0000000( `@ @ (pph(pP0000 `  GP"2>4.".4>27+"&=476?67654&"/.7>32"&462CrCCrrCCrC6\66\l\66\5  .   0"0A""CrrCCrrC@6\l\66\l\6      ("MV#!"&5463!24&#!"3!26'+"&=476?67654&"/.7>32"&462`0TE  .   0"0A""p`T      ("~$-]"32>54'6?67654'."&4627+"&=476?67654&"/.7676328U %080 &!T5!!.!! <   !)  %!- >  ./2 $ (00(&6-'%,0!.!!.!       $ % %:DMV'.'&"767676?>/7>6?6&>7677'762"264&"&462} " :$!3  7@t% T$q+2K.%  < D',(88P88((+I +#3$(!.#( - r  $ : K27/8O88O8'',7B327;26=4&+67>=4&&+67>=4&%47673#'47673#0 #Pi  #gp,-WY^,-WY^  A^J Am[9<AT[9<AT,7B#"&+";7>7;7>=4&567#53567#53а #Pi  #gp,-WY^,-WY^  A^J Am[9<AT[9<AT%)0E.1&'&?6'62267>'7767%#&'.7676;#h_p2+8 * { " |/. &O%2<b)   B2-=B2&"O)=7W 0 V #acE- .N(+*N)*#C%"&=#"/735462%37'&+"%'&"#"#";2732?64OZ'O O \P&ZoO\o O0I (a*W0 GV)a *G ( 0 I!"3!2654&!"&5463!2bn 4&#!"3!26%463!2#!"&!`l` !"3!26=4&!"&=46!6#P `?_/.?>76/.?'.76/.;26=4&+".%'.+54&6=32> @@,#  X  ", 2"  X  "1 5$DD# # `@@`$5 y1  1I WI R XQE."):  :"( @@ (.E-.#"326764/.#".4>32;26=4&5"[2CrCCrC/V! C%5Z55Z5(G75#&CrqC" 5ZjZ575#".#"326764/.#".4>32'";26=4&"n@CrBCrC/V! C%5Z55Z5;`c34.".4>27&/>54&+";26=3;26'#532CrCCrrCCrC6\66\l\66\8 24O' 0+q"CrrCCrrC@6\l\66\l\6R, '),TZ @ !C`+/&4?632>54'&6?64>;?64/&#"?>'&4;57&/&?6;232+"5*F*XX0 R0XX*F*      C )4)E)@X X@0! `0@X X@)E)4)  (  T  (Qn%+"/&4?6232>4'&6?6&4>;2?64/&"#"?>74;57&/&?6;232+"5)F)7 hd 30 ?03 dh 7)F)      C )F)7 h e 309%c903 e h 7)F).% (  T  !C+/&4?632>54'&6?64>;?64/&#"?>'&*F*XX0 R0XX*F* )4)E)@X X@0! `0@X X@)E)4) (Q%+"/&4?6232>4'&6?6&4>;2?64/&"#"?>)F)7 hh 70 ?07 hh 7)F) )F)7 h h 709%c907 h h 7)F).%2?726=7>54'&'54&"?26'&'&#%76/&4':2 (''PM\?46;2+"&73265'4&+"73265'4&+"73265'4&+"32676&+"!326'&+"-;) AcAd hhLLx((Hp k(->CL4&'&'.#"#";767?>=6736763256752"&46 ]T 8B H  p `50U 0?KJ YKv`5+(P ` p  H B8 T#`*6ZvKY JK?0'0L(((=S!"3!2654&!"&5463!2'"&462.'"3;267.'"3;26`T""^,J+/ERCoC6Z7`pTX"/+J,D0BpC7Z6+A72"&467"264&&'&'&'"3;26'.'"3;26P  !//B//O<:bduhYW45RPDqEP0/B//B/uea:<54WYhQREqD087264&+"#";#";;26=326=4&+=32+>OO>4444(j(./(iNM&DD&-Q/@=26=4&#!";2#";+";26/3267326=4&+&'4^) .&]=  T @PPTh  dN4H44H4"" A/?O_oy!"3!26=76=4&!5'5!#";26=4&3#";26=4&'#";26=4&3#";26=4&'326=4&+"74&+"374&+"37#";2654&+"354&3#";2654&  ' @@@m@@s@@m@@  0@@ 000@=    0000`00000      A/9CScm!"3!26=76=4&!5'5!326=4&+"4&+"374&+"37#";2654&+";2654&+"354&  ' @  w0@@ 00cC0@        /?Onry#";26=4&'#";26=4&#";26=4&#";26=4&'#";26=4&%!"26?326=326=4&'73+737#"&46;#";26=4&x4,#I 7 7"2>4."264&6\66\l\66\6CrCCrrCCrC&&4&&6\l\66\l\60CrrCCrrC&4&&4&.;%+"&=46;2"/&=#".4>2324."2>8 yF&9_88_r_8z+JVJ++JVJ+y8_r_88_9&Fy +J++JVJ++J#BO%++"&=#"&=46;546;232"/&=#".4>2324."2>8DDDD yF&9_88_r_8z+JVJ++JVJ+DDDDy8_r_88_9&Fy +J++JVJ++J+'&+>54."32672?64%".4>2z8_r_88_9&Fz +J++JVJ++JzF&9_88_r_8y h+JVJ++JVJ+ #GKOS\e%"&462'"264&7"264&#"264&7#!"&=47&=47&=463!2!5!!!!!264&"#264&"X 6 J `0```@ 6 0 H ` `` ` ````0`82?%'&">'&7>72?645"&'&54767635&'7'>'t'&7>72?645&'&54767675676#!"&546;2+"3!26=462'I05$-(' )1'H(1&<)Fw  VT"9!(;-K # 6(h  :$3 h+`  A 4'&">'&767672?645&'&547676352'Gd.'  "G'[4? /'L4ZQ"1r6., #+N(Ā',L%.B% 9#+"&546;2+"&=4&7#"#"&=4&+";2654&@(}>O .(@(. O>}hO@ ).8.) @O+7&'&%'&'&'&546?6'67676q<%(y&!7.2905"0-+21*. <%?BtgVH6-37JS^PPPPQHB1/.1AI%:'&76767654&&'&'&577"/&4?62762"5092.7!&2+-.*c [ < lPP^SJ73-6HVg/1BHQPPSIA1.[ = %76767654&/&&'&'&52.7!&"50K.*12+-<-6HVgPP^SJ73PSIA1./1BHQCGN[%7>&/54&+54&+"#"#"32767;267326=4&#"'&3#3'&+"&='7J8 0 0 8J#%51%(--)$15%#pp@hh hhE> " (  ( " >(#&&#|0W$$  @XHHXENT]eu%#54/&+54&+"#";26=4&+546;2#."5#2653265326=4&"&46232#"&4627.#"53%54&+";26726=4&+"3pT$!!8} ,308P88P80 )($ I~@(< *$PtT(!!(( -(88((88(  `((@I((eI;ENagpx"264&+"&=46;232#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53+==V==0pT$!!!8P88P80 )(} ,4, 00$ I~@(< *$h=V==V=P8tT(!!!(88((88(  `((`0XI((eY24."#3!265'2#46#!"&5326=326=3`";F;"`/! !/!// 00@#;"";#!//!0P/!!/  (  ((  (A)-9EQ#'.!76.#";3!26?326=4&!'!"&=462"&=462"&=4624IffIlcp xx 8P  P  P  P  P  P B-6?C!'.+";2654'3264'76&#!'!26?6&"&4623"&4627!'!(h dPF%6% %6% 9 -   p- 5%%%%6 0  hȠ%+4=FOXajs|..#"346322?64/&"&462"264&264&"7"264&"264&264&"7"264&"264&264&"7"264&264&"7"264&"264&3"264&"264&"264&g B1$>$02#   %44  9  G    )   P    9  G  g  G  g  9  '  '  h $=%9$3!Y   4%>                   @             #'+07<@#54&+54&+"6?>=4&'773'7.7&7'?773(H# qA(77A i[RS>3G%nQ.GS2V$2H( A77(Aq #@>[R{2$SGN.QYGVK(>>#";?64/&5#535#"&=46;26=4&+"&=46;2``''TTTT(88P4X4(dXd8((8>!#"&=46;26=4&+"&=46;2#";2?64/&"TTTT(88qq  8((8m nn  /nx%'.'&#"&#";2?>=7>326=4&+"&6;26=4&+"&6;26=4&+"&6;26/&>+"&6'.'&>#'&>'?64/&>?>/&>65'&6&"-.    !!  !!\E0 6l  m  l  jE \  9A  (YQRBY &= 2+'' "X%   O { EV5V  %VAjkWt"  >#";?64/&5#535'32+";2+"&=46``''TTTT(88P4X4(dXd08((8>32+";2+"&=46#";2?64/&"`TTTT(88qq  8((8 nn  8/?O732+"&=467;26=4&+"7;26=4&+"7;2654&+"7;2654&+"y@hh$KkXUY]ae%#54&+5326=4&+";#"#";26=4&+53#";26=4&+53#";26=4&#5!#=3#53h00   00   00   00  `@````0(  (0  ((  ((  0```````Cg!"3!2654&!"&5463!2'++"&=#"&=46;546;232++"&=#"&=46;546;232`T,        `pT        @#Gk%++"&=!"&=463!546;232'!54&+"#";;26=!26=4&!54&+"#";;26=!26=4&@T  l  T L  44                  Cg!"3!2654&!"&5463!2'++"&=#"&=46;546;232++"&=#"&=46;546;232`T        `pT      #Gk++"&5#"&=46;546;232#4&+"#";;26=326=4&7#54&+"#";;26=326=4&          H T  TTT  TT       -AQ2".4>7"2>4."12"&51264&#"12"&51264&6.&'&66\66\l\66\6CrCCrrCCr  !.!!  !.!!  DD  "aa6\l\66\l\60CrrCCrrC  !!.!  !!.!  !!  .!!:JZjn.=4&+";26=4&7&=4&+";26=4&#";26=4&+";26=4&#!"3!26=4&#53 !   $ .&  S  ch "2 %>B 8 $!9I >> B&1W@ p p@%'7>.'7>&/7>.76.576."54&"'&"/.'&?'&?6?2?26=2>/5>/>&B;  URRU  ;BBHE &  & EHBB;  URRU  ;BBHE &  & EHB\'  **  '&8Z*T; .M M. ;T*Z8&'  **  '&8 Z*T; .M M. ;T*Z8&,1U7"/&6;46;2327+"&?6;2+"/#73/6?6=4&+";;26=4&#D D,,e9 $9 4  F{AF,HHT  ,cb,1U762++"&5#"&+"&?6;2+"/#73/6?6=4&+";;26=4&##D D,,9 $ 9 4  E{@FTHHTf  ,cb%5EU7"/&6;46;232!26=4&#!"546;2+"&546;2+"&=46;2+"&D D,,JHH,HHTTe%5EU762++"&5#"&!26=4&#!"546;2+"&546;2+"&=46;2+"&D D,,HHTHHTTeA %#"2?64&'3p(pp'pp'py!<F\+"&=46;5"/&4?6;232"'.?>67.547632'3254&"#4&+"#"2?6&uk )X&!* ,,D DJ '  "V  (THHy!<F\+"&=46;5"/&4?6;232"'.?>67.547632'3254&"%3;265326/&"uk )X&!* ,,D DJ '  "V  THHA 732>/&"7#0p(pp'pp'pA !%#"2?64&'3'32>/&"7#p(ppp(pp'pp'pp'pp'p6ALVa"'&'&'&'&'&#""3"3327676767676326764.%2##5273%!64'!2'"&=46323( &!!!!&!'31T3U{#&" $#3D$$,    "8 0  0 8"    3(X HH 3@ :%%1]#1"&'&"+"&7676=4&"#1"&5476?";27;2>'&';2>56'#&'&'&--[ 3$^$3 \YZ_ $>% ^ 1& _T+,Z#2   2#Y W]#+$=$  %1+#]R %'.76.'"&=4632V3>l? J  -eX5Am8#,5>"&462"264&74&"26%4&"267"264&"264&!"264&(""("""`""!!!"w""""!!!!!!!!!0`0!"3!2654&!"&5463!2`T`pT,6@&6;2+"&'"264&7/.?'.6?>/7'7*"j   j  AA B>>d||X""Fg DD g   ~~bBB %7'?5"? |d> A  j  ?Bb~D  g D,'/.?>/7>&'7'?AA  j   j ||d>>   g DD g BBb~~326=>54.54&+"'L     X~Ğ#"'&?;2654&t   ;CL72>=>54.".=>=4&/&"&=7>/.%2"&46x-M\M- .B0 7B7 3EF*8O9*FEk r+J++J+d*!//"*d44 P5 ':8( 5P%4&#!"3!2?653#"# TLh d T%4>2".%+"&=46;2CrrCCrrC@6\l\66\l\6(   CrCCrrCCrC6\66\l\66\  *7G764/&"&'5326=4&+";2>54".4>2'#"&=46;2 1Ah3T18_r_8+J++JVJ++J +11:[49_88_9B+JVJ++JVJ+p(Df654&";26=>=4&'2"&46++"&=#"&=463272"'&'&54732>7&'567S;R;&4&h,f  4  (0'C3e4B'1] %LA<.^@@ ]%);;) )9 &&&& 9)v,, P P 9$  $2     -J%!"&=463!2#"'&54&+"327654/&'&4632;26=4'&#" 1("  /*:B*-%,#  *'6>'+  $  -!$>#P9  " <*/k%#6767567654&#"67632;26=4&%32+"/&'+"&=46;7'#"&=46;26?6;2+t $5)1  &<65= A<%C01A%= #%0   ' WVd\M M[5=ANR%462"&264&"+"/#+"&?.=47>;2!.+"35#!;2676=#3"""Q8+;0=|=0;*9@""@sZ32 `+ x"""$: ;<<; :$PB P'+5#54&+"#"3!2654&%3##"&546;#3#32p`p``p**Z**`   Y'..?6&#'.6?64/.6?26/&>6?>?63"/&&77>'&6?'&4?'.?&//767".4>2'"264&- 6 )) 6 -- 5 )) 5 - '+ 3''3 +''+ 3''3 +'#;"";F;"";#!//B//(1 4 ## 4 1 1 4 ## 4 1 P// 1! ( !1 // 1! ( !1 ";F;"";F;"/B//B//k%#6767567654&#"67632;26=4&32+"/&'+"&=46;7'#"&=46;26?6;2+t $5)1  &<65= A<%C01A%= #%0   ' WVd\M M[!C.#";265>32;26=4&#"#"&'76&+"?32>74&5"[2ApC6X3(G76X3(G75"[2ApC5#&?l@3U173U175#&?l@)S#".#";265>32'";26=4&#"#"&'26=4&+";265'32>76&"m@&'."6?732>542&'7676'7'.7"'&'"&462#PX$$ J  1 $ @(-+4"?(&& !(=]'l2  &&4&&z*_Z#! %CD @ $ 1  J 4*6(n1  #l'^1?!!  Z&4&&4&!%!"3!2654&#"&=35#53#537#53`Ⲹ`p0/8%!"&5463!2#!"&5463!24&#!"3!26'"264&dW`0T P@`RlL/?%!"&5463!2#!"&5463!24&#!"3!26'54&+";26dW`0TphhP@`Rl(/!"3!2654&!"&5463!2'#"&=46;2`Txhh`0l ;K6=4/4&#!"3!26576=4/576=4/5#!"&5463!2       0    L    L    L    L    L    L    (%"&462#!"&5463!24&#!"3!26`0T c`Rl )19"2>4.3"'&'6762.>&'.'&'6+J++JVJ++J L L DRR>=SR>$'%6Ӛ$'%6+JVJ++JVJ+*Z**>RR>>RR6%'T6%'@*3<ENWf"3!267654'&'&#!"&'&7>762%462"&2"&46"&4627"&462"&462"&46?> NCB&' 1j1 '&BC B24z51B  8Y$%6%$#''ACN2.##.2NCA''9:8^^8:  {  %a7%%5%` @(8"3!267654'&'&#!"&'&54>2'"&46?> NCB&' 1j1 '&BC@oo@-%6%#, ''ACN2.##.2NCA''')AnAAnA)%%5% %'&+"2?64'53%"&462((((t( $-%"'1732"/&=46;2/#"264&r(1(0t(((p((/DYb54&#!"3!2654&#!"3!2654&#!"3!26"/&4?62762"/&4?62762"264&(((\ 1  G  \ 1  G  f(@      \2  G  \2  G  ((15?O_hq%4&/.+54&+"#";26=!;26=653#32!7>"&=463!2#'+"&=46;2"&462"&4620 0   pp0 B @ h" D%(  (%D "H1   1(0 **  HH <3*BN%09.'1&#"1132>54'%#">632>547#".654>327>d< CrC>d< CrC%: ^h %L3 B`  %L3 B`%: ^CrC CrC :%A^ 3L%  `B 3L%  `i :%A^$"/&4?'&4?6254&#!"3!26*  ZH   O-I5463!2+"&=#32+"&=46;#+"&%;#"2?6&+326/&"(R11SD,,D D,,D 5__;`;lHHHH-I5463!2+"&=#32+"&=46;5#+"&'&!54&6=!?6411HHHH5__;;D,,D D,,D $+3!2654&#!"#54633#"&553#7#532`p`ȘȘ%,33!2654&#!"!5!#!5'3#75!2%#54633#"&5`uuu uip``T```T``T` #*1593!2654&#!"#53#53#5'3#753'#54633#"&553#53`uuvvvuuvu ui;uuup```````````T` ```47"&4627+".54754624'&/54&";26!.!!.!( ";#";" 8P8  !.!  3$$4@!!.!!>%0#;"#;#0$(88( !! $44+=4&";2>54'#"&5476?54627"&546754628P8 ";"#;" `$3  !.!  4!.!`(88($0#;#";#0%4$ !! $4X!!  %=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!u  uD%0#;"#;#0$(88( !! $44%=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!5  5D%0#;"#;#0$(88( !! $44%=7"&546754627+".54754624'&/54&";26!.!( ";#";" 8P8  !.!  3$$4@!!  D%0#;"#;#0$(88( !! $44:&2?37>'&#572?64/72?64/72?64/7>MYYd2B! " !  !'eYY4YC!  "  "  ! +6?s%6'6&'&'&+"+&+";2673327654'32654"&462##&'&'&'&'&'&'&+52767676;22 8*$ @  @  0  - $$2` @h     %  !$,     ? $54"/        ##' 2fo%654&+654'&#"#";2672;2767>'6+"'&'&'�32#"&4622$$ -  0 c  @  #*8 D %     h "45$ ?     ,$##         'j )7'326=4&#!";;2?=32654&>?#53#2   %)   )&::&+ `  ` +I+ h00h +I\.x00x.@3C%#57!"3!26=4&354&#!"32+3!26=#"&46'!5>4&'5!     ``0  8hh"hh"& *2* BB *2* B@/%354&#!"32+3!26=#"&46'!5>4&'5!8  hh"hh"& *2* BB *2* B ="2>4.".4>2"/"/&4?'&4?62762CrCCrrCCrC6\66\l\66\0>> >> >> >> CrrCCrrC@6\l\66\l\6>> >> >> >> 1A.+";26?64'#'73"/"/&4?'&4?62762 pq qpppz >> >> >> >>   O>> >> >> >>  D'&+";2?6=4'#'573"/"/&4?'&4?62762"j >> >> >> >>*>> >> >> >> #3C%"/"/&4?'&4?627627#!"&5463!24&#!"3!26F>> >> >> >> w`0T>> >> >> >> n`Tnn#?64/&"'&"2?2?64'        z5I".547676767>'2>54'&'&'&'&"&"2654'&'&2V1   ++   1V%?J?%  _  @2U2)%,((*+)(+%)2U2%?%%?%&),0/,)'    A)#";2>4.4>2".#>&'324X44X44X44X|'BNB''BNB'PA++A'B''B4XhX44XhX4'B''BNB''Bi&jj&'BNB'A%+".4>;2'"2>4.@4X44X44X44X4'B''BNB''B4X44XhX44X\'BNB''BNB'aT#"&=46;2++"&532376?6;2+"&/&=#+"/&/#+"&746i]]"+< <+" 0"0 ".4   uu  (,08E%"&4627+"/#+"&?.=47>;2!5!7!.+"5!;2676""8+;0=|=0;*9@""@p`Z32U+ p"$: ;<<; :$P0BB [d#"&"'764/&"'76&+"?2?#";;26=326=4&+5>54'76=4&"&462?X%\% ? E3,,,,3EX(88P88X ? &.5P "$$" P5.%X?8P88P89B#"&#"#";;26=326=4&+5>54'76=4&"&462t?X%.'B'E3,,,,3EX(88P88X'B'5P "$$" P5.%X?8P88P8CKU+"&=46;27#";26=4&72+#!"&5#"&=46;7>;2#3'&+"!3!265d  J" d "Č^` P 9 9M#'+'.+"#";3!267326=4&#%3#!!~" d "Z    dFp9 9 T  P-i6.."&;;26'&'&=32>54&#54&+"#"&476?'&'&5463276762767632;# 6@6 #;2tpt2Vt   t# !  E ! #">"##">"-2) '2- #2   !!   2#-B%'>/>/&";;26'&'&532>54&+"#7#7#7##v# #Y*Y# # ppp   pX=U9YY9U=Xn, &. *``* .& ,$ $ pp``ppC.3!2>'J !!   `!!`@LSah/&"?6/76&754&#!"#"#";2654&+56767>=4&#53."&'&=37653g+ +  ''  S  p *I-@@-I* P (444( P5(( ++ L0 0 =;-)SS)-;= MD144/3BHHC3/41D@3:HO54&#!"#"#";2654&+56767>=4&#53."&'&=37653  p *I-@@-I* P (444( P0 0 =;-)SS)-;= MD144/3BHHC3/41D'0CIRZ%#54/&+54&#!";2653265326=4&"&4627#."#"&5463!232#"&4627.#"53pT$!!!8P88P80 )(} ,4, 00$ I~@(< *$PtT(!!!(88((88(  `((`0XI((eI!0@P`p/.?&"&/&67676'&'&7'62#"&=46;23#"&=46;23#"&=46;23#"&=46;2#"&=46;2!#"&=46;2%#"&=46;23#"&=46;23#"&=46;23#"&=46;23#"&=46;2#"&=46;2% !J1J! %  BYWVZB 29LKKL9%J9\9J[[[{{[[[[g<  <! BB ! 88;AART{%546;2+"&326=4&+"'"'&'&'&"27676?676764'&'&'7+#'!#5#"&546;'&46276232!!  "b"  "c! 0 06WW60`G H  H )  7YY7/!";#"3!264&+532654&!"&5463!2P  P  00@4CBV%&'.'54&"736676767"&54&"26=76763>'&.#"&'&6762?(%n>>m&(  #!  "4H4    #  H# 17("  =99>;.,4  4+.<  ! +    $44$  + ! 8 2 5A5463!2#!"&;"&=326=4&+";276=326=4&+"X)8f7()-*,-)47978O*))+N->32#"&'&4?>32>4.#"+"&=465"[2CrCCrC/V! C%5Z55Z5(G75#&CrqC" 5ZjZ57532>32#"&'&4?>32>4.#"72+"&=46 "n@CrBCrC/V! C%5Z55Z5;`c34.".4>2&/&'&'#.?6767&'.>7676'462"&CrCCrrCCrC9_88_r_88_W7    77""7  CrrCCrrC88_r_88_r_8 D#      #D   # )-HK%#54&+5##5##5##5##"#"3!26=4&#!5!'&;3!26=326=47 0000000  B@HP8  8   #[[  HH;K%.6?622?62'7622?>.2764'&"20AHH6A A3DA !@G0A A6HHA /  ; A6HHA @G0AA3DA AHH6A   /%)6%!546226=4."#"3!26=4&!5!"&=4627P9'BNB' `` _(98(  'C''B'`ఐ 8  8 %)%!546226=4."#"3!26=4&!5!7P9'BNB' ``_(98(  'C''B'`@!(6?%#532>/&";#"3!26=4&%7##5!53;26=3"&462@(@\p` `( '' P  @  d"2>4.".4>2';26=>4'&'5&'&463616?6&'&'54&+"1#"'&'1&CrCCrrCCrC6\66\l\66\K%!    ""    CrrCCrrC@6\l\66\l\60):   !  &  j!"3!2654&!"&5463!2'&'&'&?>132654'&'1&'&5467546;21&'&#"+"&5`T    ""    ! %`pT5  & !  :)&:%'654."3!26=4'&'2"&46#!"&=46?27c 'BNB' #!+.+ (88P88  $%Z%$ $,'B''B',$ #2Y++Y2#8P88P8y  Y+  + (1C"2>4.2&'&'654."&4>"&462546?27"&CrCCrrCCrC6\6";F;"6\/B//B/NAHACrrCCrrC06\m.%#;"";H.m\6!//B//fox%654.";26=467654&'573276?4&#'54676"?>=4&'5;26=4&"&4627"&462e&APB'8C  -#*"&!$ # $#-  CH(88P88&-&B('B'-& Q4 #5`$"f2,8 )+ 8,26# 4Q 8P88P8)=a%'654."3!26=4'&'2".4>#!"&=46?277++"&=#"&=46;546;232p+JVJ+)+.+44<44 ,r,LLLL&.+J++JY& $++$4<44<4  " $$ "LLLL<\cmw%76&+6'654&'&'&'.'&/&#"3!26=4&%767627676?47"&57#7546;#"&%+732 ' 1%!    !%1 &*0*      8P8:&&@%P ` P%" !"        "!  2H**H2y(88( %ppXH% %|#@Ma%"/"/&4?'&4?62762%'654."3!26=4'&'2".4>#!"&=46?27x 66 66 66 66+JVJ+)+.+44<44 ,r,y66 66 66 66 ,&.+J++JY& $++$4<44<4  " $$ "*>%'654."3!26=4'&2".4>#!"&=46?27"0SbS0".. d .$<$$32#"'67+326=4'&+"&=4767&54>2'264&"4&/"';265H$ 8(    B 8(    BH$z&&! 4<4 !%6%%6% J   $  (8 (   (8 (   $ K=&&= 44 u%%6%%= K.'.6?67676.'"/&4?&676?6?6?6!*K 0/&N1  C0)&ZaTZ U 3M&/0 J*!B)0D ZT`Z+.6?767>54'&'"/.76.31{5)0" F.#33o 00 !P,'#' 1^R*/1&'&6?67>'&''"/&4?&767>/,[B ,1*N" ":A&,D")"BN*1, " \+/,%")#CB.Q[l6??6&/67676.'.'.#'&.76?6?6?6&"/&47462"/"'&%(OD@FE?;(- &A$;*\ #! N RI M  A0J Il^+'vY8=<@OQ?8A&  -#.*B  M IR N !# <9T ? 2-!L_t4'.#"&"&#";26/>+"&?.54?>6?>67546;2654&#"747>32+"&57&'& "&"& !<! &x < !''!8!!$O098"#PP &=""=--!,)rrrr), -L#  3(,/II"!&l)2g4."#";;26=326=4&+5>'462"&32++"&=#"&=46;5&'673264&#"&'632 'BNB'E3,,,,3E8P88P8X,,,,$ $(88($ '2'B'E'B''B'5P :,,: P5(88P88f:,,:8P8'B'5P@)2Z%4."#";;26=326=4&+5>'462"&%/#"'673264&#"&'6327'&6;2 'BNB'E3,,,,3E8P88P88'B'2' $(88($ '2.%8?'B''B'5P :,,: P5(88P88?8%.'B'8P88!)24."#";;26=326=4&+5>'462"& 'BNB'E3,,,,3E8P88P8'B''B'5P :,,: P5(88P88#'&"272?64"&4?37#7ި 4.&'67737'6&''&'&'6&76>7&677#"CrCCrrCCrP9p/(:?! &+$#.)9(X .K#8N4V*@ Vi/7?CrrCCrrC  $ &X3d,%;,n9dRF,>4.6U,/4[ B;1#";2654&"'&+532?.67654.>Yf  fY7 XX 7    yY Y P 7`7n&     (*:?H`g.?>'454&'&7654&'&7654&'&767%'&+53'#";26=4&"^ Y  >#( 0(  ;3<& I=  - (  7 XW=2  fY > + (  ;>$!#1SMi>4/=DJ&  e7`0 Y zH  #";2654&"'&+532?Yf  fY7 XX 7yY Y P 7`7A3I]#";2654&"'&+532?.67>54&'.>.67>54&'.>'.67654.>Yf  fY7 XX 7p@9 /5<3   =I #   (0*6    yY Y P 7`7nEz'!e9>i&S1-P}&     ( F%#54&+"3!26=4&#535#53#53'&;26546?6;2654&   砠f    `p   p@@@@"i i" C hh  C"!G%!";26=!;26=4&!5!5!5!7'&;26546?6;2654&  `  ``f     00 @ @i i" C hh  C"!'4H54&+";26=>4&'3&"#527'".4>2/&=46;2@ "" "")^))^)X'B'&CNB'&C= * OY  YJTJY  YJTJd-}-'BNB''BNB'H)qZ ">M#."#"3!2654&'2".4>#!"&546;2>54'32264'76&ACLCA&&&&44<44  (+JVJ+(   ""&&&@&4<44<4p @ +J++J+ p F  F(?%&/#"&/4632+3276'##".5467'3267 ? B  (  =) G.#;",5/Q04V0 ! &H0#-;";# 83T30Q/8.;Ch7"&4627/#"'.'&7.54632632?6%>7&"64/"/.?'&'&3276?67""O  M)90.8 &-3$#  J  g! E =&#+"; <,"!y jW\483 &   G R7 #0   #TS%* ['A%2"&467"264&76&'.27>2?&'&276762?6&@  !//B//99 1||1 ~XtpqsX OgeegO P0/B//B/  4$$4 ++RR II !*4!"3!2654&462"&'462"&'462"&#!"&=!`d``l`P   C!"3!2654&#!"&5463!2"/"/&4?'&4?62762`lk>> == >= == `vTm== >= == >> !"3!2654&#!"&=!`l`v !"&463!2@    &!"#"3!26=32654&!5!#54&+5!0@0t@`0@00@0p0!*4!"3!2654&462"&'462"&'462"&#!"&=!```l`P   AUYchrv26=4&+76&+"#'.+"#'.+"#";#";;26?3;26?326=4&+7!3##'&/3?3#'&/37#'34. 0; FQ0*2=2,1PE j S0>> g> U kI NNNN I000a00a00(1@7"&462%#"'"&4?&54>2+32&'27%#'73."26cJ+H4+JVJ ]]$ " My y3=44=30 %+4I+J++%!"I$ " 884<4U\c73#";#"2653264&+5326=4&+5326=4&+5326=4&+54&+"#";#"46&7&4626=4&#!";#"3!26=4&+!!``8(@(8```` ``;88p80`  ((   ((   6  `  `jF#"#'&/&+"#";#";;26=326=4&+57326=4&+76&\,I I,^4M\\']]N4^# ll   %? Yd +z   $  4 46 j , V &Font AwesomeFont Awesome 5 ProRegularFont Awesome 5 Pro RegularFont Awesome 5 Pro RegularVersion 5.0FontAwesome5ProRegularGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 ProRegularFont Awesome 5 Pro RegularFont Awesome 5 Pro RegularVersion 5.0FontAwesome5ProRegularGenerated by svg2ttf from Fontello project.http://fontello.com      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ address-book address-cardadjust alarm-clock align-center align-justify align-left align-right allergies ambulance#american-sign-language-interpretinganchorangle-double-downangle-double-leftangle-double-rightangle-double-up angle-down angle-left angle-rightangle-uparchivearrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-uparrow-alt-downarrow-alt-from-bottomarrow-alt-from-leftarrow-alt-from-rightarrow-alt-from-toparrow-alt-leftarrow-alt-rightarrow-alt-square-downarrow-alt-square-leftarrow-alt-square-rightarrow-alt-square-uparrow-alt-to-bottomarrow-alt-to-leftarrow-alt-to-rightarrow-alt-to-top arrow-alt-uparrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrow-downarrow-from-bottomarrow-from-leftarrow-from-rightarrow-from-top arrow-left arrow-rightarrow-square-downarrow-square-leftarrow-square-rightarrow-square-uparrow-to-bottom arrow-to-leftarrow-to-right arrow-to-toparrow-up arrows-alt-h arrows-alt-v arrows-altarrows-harrows-varrowsassistive-listening-systemsasteriskataudio-descriptionbackward badge-checkbadge balance-scalebanband-aid barcode-alt barcode-read barcode-scanbarcodebars baseball-ballbaseballbasketball-ballbasketball-hoopbath battery-bolt battery-empty battery-full battery-halfbattery-quarter battery-slashbattery-three-quartersbedbeer bell-slashbellbicycle binoculars birthday-cakeblindboldboltbombbookbookmark bowling-ball bowling-pins box-checkboxboxes boxing-glovebraillebriefcase-medical briefcasebrowserbugbuildingbullhornbullseyeburnbus calculator calendar-altcalendar-check calendar-editcalendar-exclamationcalendar-minus calendar-pluscalendar-timescalendar camera-alt camera-retrocameracapsulescarcaret-circle-downcaret-circle-leftcaret-circle-rightcaret-circle-up caret-down caret-left caret-rightcaret-square-downcaret-square-leftcaret-square-rightcaret-square-upcaret-upcart-arrow-down cart-plus certificate chart-area chart-bar chart-line chart-pie check-circle check-squarecheckchess-bishop-alt chess-bishop chess-boardchess-clock-alt chess-clockchess-king-alt chess-kingchess-knight-alt chess-knightchess-pawn-alt chess-pawnchess-queen-alt chess-queenchess-rook-alt chess-rookchesschevron-circle-downchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-double-downchevron-double-leftchevron-double-rightchevron-double-up chevron-down chevron-left chevron-rightchevron-square-downchevron-square-leftchevron-square-rightchevron-square-up chevron-upchild circle-notchcircleclipboard-checkclipboard-list clipboardclockcloneclosed-captioningcloud-download-altcloud-downloadcloud-upload-alt cloud-uploadcloudclub code-branch code-commit code-mergecodecoffeecogcogscolumns comment-altcommentcommentscompass compress-alt compress-widecompressconveyor-belt-alt conveyor-beltcopy copyrightcredit-card-blankcredit-card-front credit-cardcricketcrop crosshairscubecubescurlingcutdatabasedeaf desktop-altdesktop diagnosesdiamonddna dollar-sign dolly-emptydolly-flatbed-altdolly-flatbed-empty dolly-flatbeddolly dot-circledownloaddumbbelleditejectellipsis-h-alt ellipsis-hellipsis-v-alt ellipsis-v envelope-openenvelope-squareenvelopeeraser euro-sign exchange-altexchangeexclamation-circleexclamation-squareexclamation-triangle exclamation expand-altexpand-arrows-alt expand-arrows expand-wideexpandexternal-link-altexternal-link-square-altexternal-link-square external-link eye-dropper eye-slasheye fast-backward fast-forwardfaxfemale field-hockey fighter-jetfile-alt file-archive file-audio file-check file-code file-edit file-excelfile-exclamation file-imagefile-medical-alt file-medical file-minusfile-pdf file-plusfile-powerpoint file-times file-video file-wordfilefilm-altfilmfilterfire-extinguisherfire first-aidflag-checkeredflagflask folder-openfolderfont football-ballfootball-helmetforkliftforwardfrownfutbolgamepadgavelgem genderlessgift glass-martiniglobe golf-ball golf-clubgraduation-caph-squareh1h2h3hand-holding-box hand-lizard hand-paper hand-peacehand-point-downhand-point-lefthand-point-right hand-point-up hand-pointerhand-receiving hand-rock hand-scissors hand-spock handshakehashtaghddheading headphonesheart heartbeathexagonhistory hockey-puck hockey-stickshome hospital-althospital-symbolhospital hourglass-endhourglass-halfhourglass-start hourglassi-cursorid-badge id-card-altid-cardimageimagesinbox-in inbox-outinboxindent industry-altindustry info-circle info-squareinfo inventoryitalicjack-o-lanternkeykeyboardlanguagelaptopleaflemonlevel-down-alt level-down level-up-altlevel-up life-ring lightbulblink lira-signlist-altlist-ollist-ullistlocation-arrowlock-alt lock-open-alt lock-openlocklong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-uplong-arrow-downlong-arrow-leftlong-arrow-right long-arrow-up low-visionluchadormagicmagnetmalemap-marker-alt map-markermap-pin map-signsmap mars-double mars-stroke-h mars-stroke-v mars-strokemarsmedkitmehmercury microchipmicrophone-altmicrophone-slash microphone minus-circle minus-hexagon minus-octagon minus-squareminus mobile-altmobile-android-altmobile-androidmobilemoney-bill-alt money-billmoon motorcycle mouse-pointermusicneuter newspaper notes-medical object-groupobject-ungroupoctagonoutdent paint-brush pallet-altpallet paper-plane paperclip paragraphpaste pause-circlepausepawpen-alt pen-squarepen pencil-altpencilpennantpercent phone-slash phone-square phone-volumephonepills plane-altplane play-circleplayplug plus-circle plus-hexagon plus-octagon plus-squarepluspodcastpooportrait pound-sign power-offprescription-bottle-altprescription-bottleprint procedures puzzle-pieceqrcodequestion-circlequestion-squarequestion quidditch quote-left quote-rightracquetrandomrectangle-landscaperectangle-portraitrectangle-widerecycleredo-altredo registered repeat-1-altrepeat-1 repeat-altrepeat reply-allreply retweet-altretweetroadrocket rss-squarerss ruble-sign rupee-signsavescanner-keyboardscanner-touchscreenscannerscrubber search-minus search-plussearchserver share-allshare-alt-square share-alt share-squareshare shekel-sign shield-alt shield-checkshieldship shipping-fastshipping-timed shopping-bagshopping-basket shopping-cartshower shuttlecock sign-in-altsign-in sign-language sign-out-altsign-outsignalsitemapsliders-h-square sliders-hsliders-v-square sliders-vsmilesmoking snowflakesort-alpha-down sort-alpha-upsort-amount-downsort-amount-up sort-downsort-numeric-downsort-numeric-upsort-upsort space-shuttlespade spinner-thirdspinner square-fullsquarestar-exclamation star-halfstar step-backward step-forward stethoscope sticky-note stop-circle stopwatch street-view strikethrough subscriptsubwaysuitcasesun superscriptsync-altsyncsyringe table-tennistable tablet-alttablet-android-alttablet-android tablet-ruggedtablettabletstachometer-alt tachometertagtagstaskstaxi tennis-ballterminal text-height text-widthth-largeth-listththermometer-emptythermometer-fullthermometer-halfthermometer-quarterthermometer-three-quarters thermometer thumbs-down thumbs-up thumbtack ticket-altticket times-circle times-hexagon times-octagon times-squaretimestint toggle-off toggle-on trademarktraintransgender-alt transgender trash-alttrashtree-alttreetriangle trophy-alttrophytruckttytv-retrotvumbrella underlineundo-altundouniversal-access universityunlink unlock-altunlockupload usd-circle usd-squareuser-alt user-circleuser-md user-plus user-secret user-timesuserusers utensil-fork utensil-knife utensil-spoon utensils-altutensils venus-double venus-marsvenusvialvialsvideovolleyball-ball volume-down volume-mute volume-off volume-up warehouse-alt warehousewatchweight wheelchairwhistlewifi window-alt window-closewindow-maximizewindow-minimizewindow-restorewindowwon-signwrenchx-rayyen-signPKZ?RPPEplugins/wps-limit-login/assets/fontawesome/webfonts/fa-brands-400.eotnu[PdLPz︃*Font Awesome 5 BrandsRegularVersion 5.0:Font Awesome 5 Brands Regular 0GSUB %z8TOS/2@:PVcmap9"6glyfNN\head ,6hhea<{$hmtxqb,loca^eHmaxp| name_ n<*postqhKz_< ֺ"ֺ"K'  0>DFLTlatnligafGfPfEd@Y.Gcx@@@@@@@@@@@@@Lh@@@@p@P@@@@ @@@@@@@qj@@@@@@,, |66L^knp~\u} !#1MRWY6;Zgkpsy 17:K^`mp|\hx#%MRWY (*,.:<<DFF\^^bfrtz|006BDDLLR^~~`y azx@'JBAQe: Pp14-<DDHR  G09Xvw5G30.+12 );Co7)C]/->uts95b< .!lU:n&&%|=?Y~+*cHjq\>h  "$#(4678=?ABEFIJKLMNOSTZ^_dkmr{   "#$%'(,/268;@FE,g3Wi}!*[VIf J`y azx66;;<<@ZZ'ggJhhBiiAkkQllmmnneppqqssttyyzz:{{ ||}}P~~p14-<DDHR  G09Xvw5G30.+12 );Co1122777)::;;C<<==>>]KK/LL-^^>``uaatbbccddeesff9gghh5iibjjkkmm<nnpp ||}}.~~!lU:n&&%|=?Y~+*cHjq\>\\hhhiijjkkllmm nn ooppqqrrssttuuxxyyzz {{"||$}}#(4678=?ABEFIJKLMNOSTZ^_dkmr{   "#$%'( , / 2 6 8;@FE,g3 !!##W%%i&&}''(())**++!,,--*..[//00V11IMMfRRWWYYLl82  Z  "Rr20DZ~"x*n2z2 !"B"l""$%%P%&@&b&&'|''(2():))**,0,,.n/P///0f11&1T1123344"455X5667`78889z9: :L:x;;<*<=>>>?v@@F@A&AFArABBJBBCD*DG~HHHIJnKxKKLLdLMMNdNOXRst$ttuXuuvNvvw@xyLyz*z{2{|Z|}}`}~"~Ԁ^ցB0ZV^֋<&^ \48f4x2ДX2R$&vPȞ^|",^ΡtX (Hr>.Maw7&>5>2'&4627654&"67>4."'&=46;2+676'&762>'&'&'"&'&'4&7676.'12?26/76.'&'"g9P:%;! ,*8 %[ %051 %3/Z'$n14( D?"$  ,%(!(63e$&  *(u   ( '*<?0-( 1 h  *3D%&?'6&'&#"'6?'.?>76'264&"".7'767'  )'*''#.L+3 D  :jB*'7 (!N+-$' z %7'P' V. ! =Q C**2J '*50&#&(+=%&/&76;632'&7'&/&?6'%2?1'46?5yt :: v j;;  9; < ~   s]ZL  0 J 8GN%"S#%".4>2'373A9CrrCCrrCd""c CrCCrrCCr44CUv!"3!2654&&"'#&'&7>76&/&'&'&6767>7676#'!"&>32;6#"'."&'&'&76767654>;6&'&7>"#&'&54676?6;  #  =@ #C  / u>  $  4 $$ !   "& z   "'  ' M ,22 G 32 $3 " 7&4>%&'32>5482292F$a`H V5&l=J}I#15EF04F=Q,31F-4J~K $6FS"2>&"&=437!"3!2654&46;2#&""&5762/&4".4>2%44J45;! _##J## - (U  ":"":E:"": 4J44J48C###J#U   ":D;"":E:"d"CR56767676#'&'&'&/"#'&+";275767676'&/476'"'&570+?6#&'&6?;2754'&'&/'.>2.'&3766?676?'&/&+"/"376?6+"=*B@=&9  R  J   #! +_/&"6"<=LT" 'B'  $8  0   b    ! (    5F"767632327673654'&4547676767#"'&1.3&  )-'DJO+  1".*&:.1 !$'("    & '$ )?#&  k  #7@IV7"&=462;6=36=326=#7#467'&66276'4&"2674&"26"26=4&Z  & #9"  q_ t  t  = == = 5## ##58 s  t +4BS%654&#"'&#"&#"327>54'&'632/46'&#"'&2#"'.546#"&'&7>2#"'&/26'32376&54767>7&+'&54636'[.7%* +$'/9-*/ D ." "  -   ,A-C.  '&( &., !'2  | ~7<v #$%E]9&s@ )ew0 1/)? ; !   !")b NFRZ^a%777'77?'7&767676?6?77?7?''.6?6&67677'/???567676?6'7?7''7''7>&7>7?&'&#7'###"@ /  x  !'%A$$%%7 K :(  ;  ( 9 & %'  +"% )&  p "? qsvPSx$%   uoV[> & =< &(Mzfh?B)    +.O,-+$'%'  *(?BO@   &73'57#'##L& N1n0\JbbBB%2E!"3!2654&.?67#"&46;7'&>7>32#&/&76732`x 3A V>[J  ;4 `  r# !f  "5BO7>32#"&46;7'&>.?6732+&/&767'"2>4.".4>2 W? 4BF5 K  CrCCrrCCr:cud::cud:G   s$ " +  "  CrrCCrrC:d::cud::c  )?I_i72154&"#467>32#7##"&46264&"733>32#"&'1#74&26731>32#"&'##74&"26746762#2653#".7454&"733>32#54&#"#5* & '' Z&  (Q:&  'Q6 AL&L^& # '   L '0_  , Fl   O  , Fl       !  .     DwD 0:B\fx'&>3&"'&#326232767671&'&5&73&7353264&#32+2673354&"3>327"&56?26?##'##'2u              J)%$*""2  & "W 5#$3 " ! !   'B$9$%^ a &  Jss y(3%&7&'&"'&#7276236767&'&7'6'17;39 & !5 " ! (9& % 7( +'*! -#&% ( (%A4<%676&'&67>'.6767673773'673'6''79YQ`pmZWT7r4KO0! 1!1T*$!"e!$!.fI!$!fO;92I 3- Gb30:! 0*)+3"%5 Gn;)5{ +,%%5?."7>6327."'6767&'&"6@~/[j[,mg-.2:2@PNHJ11)AD)66Ȁ*22*%*Bk3 !D?$%I? 3733'73/%>NxN)) Ш  QQ/88 *!"3!2676&'/767'?7619"819"W s)4: Y g"#_)))4)n @ =0 q w ( 2D7'##7'3'373537#5#53".4676?624."2>557?'&'&/33'373''264264&'5#35335#5#35335#576?#35335#57>4&'57"264&'7#'k4>>>']>--)d       ^YAA>?@@Y P & & P ))b+<``sss 3     ` ))              X++((h.Zj+"&/&63237>;27>;2+"&'?>'&=6'&'&?6'&?'2'.76762>'&/.54676&'&/&676?64&'&/.?27?676'4&'&'&76 '   )  +      g & ! *!'O@ QY,/`Q$+SX   $8", lh/:m 6     /  /  C       % "/"+^  "2>4.#73CrCCrrCCrUCrrCCrrC$(7J7+53'4+323"3&7#!"&5463!235#4&'>54+327674&"327##"&535 -.(+?m`NN+ =[]$?(' 2! d5R-`}0 + +*@)/ Au!7=764'&+327654&'32+#532%#534'&#"327##"&53'>20!45!'!I5OSSU8-8 #:&!! 3d3"/n(b3/#;')$>&26'&'7''7''#'''777676'6#"/77"/7CrrCCrrC    7    6    & (9  CrCCrrCCr  -+,-  3H-,---6< C6  0=[>'..6&'.76&>'.'54&"265"'&'&754&276=4&N0|=?/)ml)j  7M !Y32#"'.7.>;21  (%84' -  ;" /# $!  -  MT  ~   2)  5#%;2#"'."3?>'1.#!&'.'&'47>76 '&'&/".54'&'&'"76767> C(40 )  I!V "  %v X #  :0  Q' ?''77'5]VllV9222gV ll Vƕ2d22&'7'7"'&'&5476327''77%+,++%{(/8/^<&,O}J]]J+V++.d955:c>57;cXI]]I.9C%6'&'&'5#5##'36'#3013533567676'&'276'#536'6/!31&15   a1&1B!&+'(* 3./3:(OMNO4 :DCCD5,t B j H  #'+/37;?C35#53735#53735#5335#53735#53735#5335#53735#53735pp(pp(ppHpp(pp(ppHpp(pp(xpxpxpxpxpxpxpxp#%#!"&5463!2 #37+V `A__[p)`*[[@/T74=476'"'&7672=4#'&%#!"&5463!2#'"376?6+"'&+"6?;2=4'&'&/#?6#&'&';2=767656'&/'&+"&'&'&/&6767671>&7.'&37626?676?}) 0 2   ;%&~%         AH'(926D # /$.     /     `,z jjf   [   T?  0     Ay%1EHYbel%"#"5#"5#&'&+&+'#373527373326?32767#!"&=373353735335;733535#'#'#"1#"5#&'&+'#'#5463!237#"#54&+#532'4+32735#"3+3275&'&"&54#5#35'535#5#3254'&#"&54;5#"32'"#";735353#'#'##"4;3/#3'#54&+#532'4+32'5#35#535#55#'#'##735373/+#'#53732'#3#3774+32@ O  :SR1 ' ?@  5 B 4)( + ! (  . ( '  !    Z78'&&Q    !  W "#!" T' '    <77'&&-"#} !BC5q)$$(B0  ]Z  \ 6n_   E   E (   7BB00E44E( E   E  E 66666EBB//EfE" /(@"*OZs%+532326=7#!"&5463!26'"01&'&5&73&'&"'&#"326227>?4&+353264&"3>323267137##'#+3267.0   @   >          3Z# & f$ 6L `  W    6/   cPPc@ (=">4..4675!"3!2654&#".547>;20Q//Q_Q00PX (( P(( [4Y4X5[4]\p/Q_Q0/Q_Q/ 8F9 9F8;``3X38-,12+-83-*4 @  ,3<Mhrv7+532%#3247#!"&5463!235#535#535+37#'264&"75.4625&"'654&'.5467.'4&+32767#3!26='654'&#353S  8 --V#$d%%D  "     ? 7KKcV   6h`TT77*%  +     R 9R#$% #R!!@ ';P`%52#1"#"+327>4&7#!"&5463!2##"'7127676'7&"375&4654&'1>54&'#326)` v9&)$#*)#!2!!2x{  # `    ( F  2 Y  @)4DT\x *%"&462%"264&7"3&"264&01/?303=#353#!"&5463!2327.67&#">&'4&"&"5#35463'4637#&"27374'.427&"'63'"=35#5##3734#"7'&7&5#3546467&27'&7#&"2737&5#35467#&"27373535#45'1337#'#1537374.#"32>   q c eJ %@%*#$##*%@%"""l  - ( $   :      B "  * %@%*##$#*%@%&      Z`%@%VV&?RRRRg%   %       %    %%  |V&?&WV%@ @.C\s7"&462'#"32>&!#"32654'&7#!"&5463!24&+";26?63267#"1&"3267;2?4&#7054+"'&+";274&+";2?63267#"1&"3267;2?4&74+";265'"264&   i    @(U" )@ (U$ .J   ) `f  @b]'&>nf  @!i1   @<LZ^br%"'5627#!"&5463!24'&'&'&54325&#"#"'3267#5275'&=37&'#356767#3574&#"'#75327674&"3275#"'3'"34&   :     E#! J $ ,$$$${ #  p1 F4 $ 5`  "  "jr 3 }U!}P" ( $%! 1 @#'GQ%#70?#!"&5463!27#'&'#37#74'.>367&#""&/26'#"373!m Y?+'@$("  &$  ' <*4+ `j]  2 !/ # (%.>&'.7>7676'&'&'6I)5!)5!YG:89 K8;@32'&264&"%7>'7&M#f7C:@!,J1F11F1;pJ@5@ ^(7`;?*Mu,0!%B .O#11F116!W%%dvR>J=iF })$1>&#"&>32&26'76&"&462'"2>4.".4>2> '-#;#,$ L Y   =g<M2E11E2T".-F4*E10G0-#11F111F12E)5E..E-l/`p776727676.'&'&'&#2+"&=#"3'.7'&'.676&'&'676676''&'#"&=46;2'"&=46;2#7546;2+"&+"&=46;2Q;ED2%" /$#(#*   / D&!'   5 &G8  ,:( ( }p4>+@1 ) ,  (9 &2  :3 " 0# "&)  ( ( (X $(+'&?6=4'/''77'7577'7 M_,_M77M_NNN8_M77   gs3?gg?3)%%s3?&444g?3)%%3%2+#5#".4>32'".4>327.#"26  W 954'7>4&'35#'75/6=7275'6=757'7#7'77#'7'7#273'?7'7#&/533&"#737'3735#77'7'38 jj 8 674 jk 47n,,,-3843.,,,F#@b  SPSJOD|`:bSlq9w K3 36<4?.|&!)4 !3   g=|0Sk73+";2#"&7>76;2+7>;26.+#7056+"&?32+"&6;+";2?2+"&?6&++"&?;+"&?>;2+7>;2?4&+"76;25(    &# %    : N 90#p   IC / 5!E$ (j  `E 4 E(!( @b&(  Jb%;P2#"&'&54676"3267654..#"327#"&4632&#"327#"&4632Cr!"%!s?Br!#A7:F:0-46.074]7]:!"  ""(). "  "!)*.A8:EH;7>B8:DAr"#-]i]2-0;8]6 ,(I)$,(I)73/3?#'7#'##Gso bc156w{t44P/2J& >.2/'73?!7!7!7@RtM PP_),,aR5R%".4>267.#"3267&'X 690096 A#_5CrCCrC5_#A080R#&+CrrC+&#R*.ghm&767767676'&/&76'.&'&'&'&&6?#&?5767673#7>7676&/#"&76?&67&?6'673&776767./7676&/'"/&/&/&/&'1&6776?'37>'&%&'6&7'&'&5&767567&/&'&?6756'&/676'&2?37'67'676.67'67&#76'&'&#6767>7&S "  8       * )" 4%   "  %)  #+H,     ;   2   0!  Z                ~ ] )  ;% $#{  - . -:  6$ *+ ?   V0   !  1    )   !  %            %          #";265"&=>;2#G&55&&5  3X7&%00%` {5,./&#!"3!2654+5#546;3   `  | `  ,5EU3#5'.4676264&"'3#5'.4676264&"%2#!"&5463%!"3!2654&~44@33AD   &&&&8 &0' : &0' :    &&&&EJ76767654/372767#7##"'&'.#"'&'&75476;6654'326& O "  LJ !  [S  TH @$@&   3 7 (  -d@3##57'#53?3@b[ , ]]V+ bc  T ] T ` !%)#35##53%3#35#533#35#3#'3#3#RR3)RR3RR3{4444]))]))]3#'52676'.'&#4676'#3+3'#32P -42.<`]JNR8SP___JJJ>>8`4."'7&54>2=g>Q";F;"";;e<=gxg= K!#;"";F;"#5+325&+32=089__ 22QT~  /37;?%#535#3#3'#37#3.&/#!3267276?%#37#37#3'#3^BBBBNBBBBNBB +$ M 8nv) BBNBBNBBNBB;=T;<<<($ < ',.!Bic %;;;;;< K%5%67676&''"&462#676'&'&'&32654&'>76!7r/a6 &Z?   [M#7AH!"!% ! IUP6hB0   Dc  AX>+.' 42*"!"% SY@R'0=MZ7>77.6767&'7&''676>7&'&'6&'7#!"&5463!24."2>Z(),@! J!'W+3#!G /"  `@+JVJ++JVJ+3 #+ J%+   17T  4(4.0, 0%  `+J++JVJ++J "+:CL"2>4.&'&&'676'&'6#>452767.6767&7&'6CrCCrrCCra5- 1& #0$+3d*$>E% >M*NC 73/R*/= 4s *.0CrrCCrrCrC% 'C9 9A1N*&/I%#(SM GP,J '7'7757'7LUTTUTTTUUTTTTTUTT 4Kr.'&'267654'&'&'&'&63327676'62&'&'&"'&76"'&'&'.'&6763227>7632@ +    YfW .   9  d   %"      M &   +25,*2/),62-    1     3   ,3532+32767654&'.#@k7*(,'+:M:5 "]8w7IQ#&@!439,P## !*>&'&'676."264&#"264&'&'7673&'&>>72#&'&5&5&57#"&63.'&76?67&'&'&'&54?6?676767&'&>>2'%6'&'&7>&'&'&'+22767&'&'#&67>76'9         8 @4   !"     ?/<  " *$- 6*"     & 3     & m      3@           ;/      (     .     .* .+  W ) 57094'.#"6767#6767327675'&'&'!h@C40$3>G   : D4'2+,'\+/:G46;40<4 ' $-1C6b i-!"3!2654&#53#535#535#53l  ''xxxxxx l  '((((y*%&''"'&57&'&#56&'&'7676&'&7676'&'&7676'&54?64.'7674&'76&'&#'&5767676'&#"#"&1136?>76?33>76?3?67767671767176?376?6%4>%67676167"'5&7676763454767632                      $         O     ''    0:     6         A   |  *7      '4AN[i&'&'7&47'67'7&&'&'5"'67'6356'#>7'7".4>24."2>'646767'64'7&'&'7&"'727 :a )= =) b:s)=:a @)=:bQCrrCCrrC @ll@@ll@' 3 @@ 3  4 @@ 4 90  . = 2r2 _ / 09Q. 90 / 90 yCrCCrrCCrC@l@@ll@@l = 1r,  ,CC,  ,C72#''&'&'&'&'&7&2/&'&/&'&'&ZL# QF #(#  C  )," (">0@$8RG *@L  +;%5 +!('&7#3%#!673#091"3.(&dW"jT2 $GWA` QQ#3-@l)'bC_Y28i0/" /$%.8%''78]]\F%&576765654'&'&/537#'&'&+"?2676?3#'&'&/&#;2676?  i  $ *-Y  d 57C\n5 60 & PP ' " +;G[hu"2>4.462+"&=4'&"+"&=+"&=46;2+"=4;2+"&=.5462"2>4.".4>2:a::ata::a9P92       #CrCCrrCCrC>j>>j|j>>j:ata::ata:(99(  5   CrrCCrrC">j|j>>j|j> 5#5354632#"3#MMM@5+0 U I@[H9?Q ?["7767654.'77K96-;KFCB(+<=%+537#5476;5&#"#3#"&5463!2U< E$(/==`pD+ </*2D`%+537#5476;5&#"#3#"&5463!2 r: C$'0::   r C+ =.+2C  %&5&'&'&/.'&'&/&'&'5&'#"'&'&'1?67616'.#/"#&'01&'&767'152'&'6'6'46'?6?675.'.'7670"172&761551&1&/##1&515490154116767'327676?67676'76754         3               ?"$4#     #   2           # )- 50B&    ,4 HNTZg7097"''''777727'67'67'67'64'7&'7&'7&'7&'7'7'57"2>4. - 3= @DD@ >3-  - 2= @CD@ =2 - ʼ-M--MZM--MۄD@ >3-  - 3= @DEA =3-  - 3= @DuuvvPmnn;-M\M--M\M- ####535353##3535#353353535@ZZ@@Z@!!"3!2654&"&4623"&462`%%5%%%%5%%`%5%%5%%5%%5%!#3##535#53XXXWWW@X`XXg+6G7#"&7675>&'&"727567676'&&'&'&7676767>'&'" +%Q%*6"?3)6  '' *f !#46H.=04D/0,:'"&5'(1,;O"( "P2#!"&5463%!"3!2654&"#"'&'&#"5654&"26756=276323276=6&\\O  #   ' | \$\      ,  6%#"'&'&'&#""&5.5462763232767632  2B "/">1   Y Nw""   @!"3!2654&#"'&#""&=&54626763232762\B  &   "  \ -    )<K73#3#57>=4+53546324&#"#57>=4/73''7'73733r]M;&55*E  ! n *+ & &3"#32. *  " (9-  -% &&,?N!3##5726=4+53546326&#"#5726=4/733'''7'73733D 8,&'3 gP    @%uo%%!  l!!   D7+=4;23#";=40#'./4?6?6?6762576754+"#54+"#54+"#54+5632276=4""&#"564&#"#54+"#54+"#54+"5462676r!.#1R .*333+. SD     ($(44445'0%OA    AO- )5NH1ZG LL _kx%#"#54+"#54+"#54#56323676=4#""&#"564&#&#54+"#54+"#54+"354762354%+"=4;2+"=4;2$%%       %$$,   &<p   ` `@@@@ )7&54>32%&'>6767&7&'>"h Vt<!"76?6;276?6&+";2+"&146;2C  T 1-  k  [  I Y  N! J; $ lS 8}$|#"'&'&'&5476767632054/&'&547>7654'&432654&4327>54.#"#"/&'&'&'&"32767654'&'.!"3!24E          !      $ '   !3  03A>1  !(+'%           /'#    , /)74h'  '/0*'" 067676.'&'&6.'&667&#"2>4'0"! %#"! Y ,-   /4;c::cuc:` !!#%% #"1L ):cvc::ct1(!"2>=4&"/.546327>324.'7'7'7'77''7CrCCrrCCrt~~# MM5N$ MM5MK}CrrCCrrC~~$ MM5NI$ MM5MK~t 7'7'7'77'7'7gg-4MggM4-gf-4LfgM3- EMVt72#"47254&%#!"&5463!2#&13254'&'&'&547>54'6?#3&474&"26#547##6393275#"=3,M`+  !A9((i%(  %d%$u `r   6   # = +"? #A(.7V_g73254'&'&'&467>54'675#&2#"47"5462#"'&=15#&5354'33'327'"&462#64'  -&Z  $ <(X)&+$+%  833 8*)#L - 2  +43""11 (X0 0[!Y   6N[7"'&4762%+"'&'&'&547&547672632>34&#""/&#";276'"2764'& #  # &#%/4 50 '*#1*/*&1"'@(" 0 "'0$B0B$1S # w& ;G#(7A0   .w#00#;r&& dinsx}!"3!2654&&=4'6767654'&'676'&1&"'&'&'&'&/"137'.54>2'"&6#"42&6'&6'&6'&6'&6`      +         2>*KZL-=     `8          )W7-J**J-7W,  puz7432'>&36&"65''&'&/&'&/&63767&'&'&5467&5&766276767>54'.6&'6&76.'76'.  +=Ep@^L      $    A   % K]"!t  3@pDS=     -    -  TSD97@% Iz.567>54&'&5>4&'6767>=4&'&'#.5467>.5.5476.57>76542"&46"&4626 =i@ 5U0E9 4>N>    0! 0    >N>4 9E0U5 @i= %%K K%%  J -0CrJ|h Dc9Cr  g=Ep\! O""O !\oF=g  rC9cD h{JrC0- 15LB@NN@BM4l0 7'.7&"31'7>&"3h8^^W9ڸ &XXڸ  p 7#3#3#3#3B22e22e33d22~BLLLK`%&#"'6767654&";2&547654'&#"327676767>7676322654&'+"'&5476762   7l*%IB )  .'%!  #    "50!0,-BG-  '1# # 8VG?(#*"d+&'&54767627#!"&5463!24&'&#"'67654&";2&54?4&#"3276?676763226 `@"C .)  "   + T   <`"  $!(-   $&  +%##".>327.#"32767&'&'#3254'&D &4$=$#=$1? P,=e;;e=0+." 0jv' "$$>I=%? "32753'&'&"767676'&'&+' 5'*2 7"N\ O;*! -696; (!" -0 1'*  #[Y% 7@=?(.  + ,1&+ -(.8""N'&'&7676327#!"&5463!245#"'1&'&#"7>?'&'4+76,  "'!!!P!v&4 <4$  !#("&C   **C!!P!!lm( *$:< 2     %3!7SQ6QQ %'%7'76&%'E;AA<<ݡ F #A@" (<t!-%#".4>32&#"3276767#55##33535.T64Y33Y4K54. 7 7 # mn877887U04XhX422 8B8  C888888(4!"3!2654&"&4632&"2767#537##5#53533`);;)'2$%3 9^5`;R;%4% ",6R '3"2>4.".4>32&"3267#537#5#53533CrCCrrCCr"8""8"1"!>-- )FuB$##$#CrrCCrrC!9D9! !.@.+ 5Dj##$##$ "2&'&'6'4#"3&'&'&73&'&'7.+"654'5  0]<h(;!)r '$; YJAUM212( 3= Mn9+3*X\Re]cbZQEHJajfn#%#".4>32&'&3276767#53CrrCAA$$'2+G+V #"2>4.'&'&7676>76CrCCrrCCr0qq&CrrCCrrC♙      !07D%"/&4?62'64&"226."7&'&67&>".4>26'.'&'&6734'&'6/>76&'&&'&'&7'#>?4&"5>7'&7676514''&'7>76767-     F   )! CrrCCrrCB               3  /(       #   7  lCrCCrrCCrn %            !    K* A,R47654'&'&547676765457##"&576764'"&54?674/N!("       C   2 8 8!)),&       CF-#G%  ~",;^kz'2AK677176'265'&'&'&1#'."'&'&6;27'&?76767765&'167&#"'#7>7'&'13"'&'&6;'27#1"'&5476?67654'&/&'.676&'&74767637'4'&'&"'&?#"&7&'5"&'&#"2.'31276767676'&'632&#"'6&'>%&'632&'&#'./2&/&'&46?767676&''&'&>32'&'&'676276763245&'&/&'&+"67&'6'.&5&7"&&"'&6;2767277#6/6767=      R   B         _           #      ( ((( +   *    (    &  T  &    u    & c> v  :                        #                   #  (  (     (             3+..,3     @A =   7"&5/267676"'1&326?62"&67#"'276?&4?64&576?61&/&7#"&75676327>?6276716?63232?>32762?'&7'&5463?64'"5726%4%i    B          3003<88&/&'&76716322'&#"##"'&=46'"36=32>4."&462+"=4;2'"&463)$  ; )! 5  &:   x)!22$$4$$))  pQ # { 9   -   *" &Y2;2%3%%3%&V!!>7."&"#"47675676/4&+"#"&"#"637>7676=4'&'&6322632#;27656=4'#&63226322)'t''($p$ "n")&(r( $ $   Fe   )  )   eF  )_k%3535%&'&'+&'&'5&5&'&747654254&#"5376767676=4'&"&=4627&'&'+76767676=4'&"&=4627264&"3&'5&'&'7"'::J: '4 .      3      3   .& v6(%&`9oo    ?1 ^ 6     <)    <)! x J *&'&'&'1&767676'67>&!L7F$   $>+"o,# :)&:*  *i:M#0$!"&$`&+'Ya4 775715 UVUUUUUUU7#3/3?#'3##L bd065 t441L&>8A%&#26'6'732>54&'5>54&"'&'654&"367"&462 2"2#,#<#?/ ' :Q+ ((9))1,"2"2#;$0I>= +;+(9))9( '+/>Pa%0"'&7542'454&#2657#!"&5463!2097#37#'&'#353737454'&'&+327676574'.5#37276=_ V`UL!!q++  W" V  ' T`%<(UUWWS   * $ ?k"2>4."&4627"&462&'.'."267>7>4+"'&'&'&'&=476767676;255>55,,>,,tL %99%  %99% 1 &) (%  %( (& 35>55>5,>,,>, &%  %99% %9  %( (&  &) (%+4:G67654&&6773267#&'&5!6&'&'&7>2'632&'& 3.1?5dH E5O9 91J#Jwy"DIL 4#/#%=R>. %&.X8OFg %, D& ND $"J&A#&)66)!=I#.#"#";32>54'3264&"&'!264&#!&54>2!"3!!32+"&46hC|LCrC5  C|LCrC5 j6\n^  6\n^  *   DTCrCDTCrC`6\69/6\69/B%'&'.7676?671>7'4&'.67676?>74&767>37632~ .      &    }i <( , " &  =#   DTa"2>4.&'.7676?2716=4'.7676?>'4>376#";26=4&".4>2/O-.N]O..O!   \   s *+<<++<<5X44XiX44Xp.O]O..O]O.Jk  W) e> <++<<++'"'&7>74&5>76'676&6'&'&/&&'&'.673&4/67676&'6&'"&'77>3&'&76/.72&'6761570?7&/&'5&762#4&"#&'77634767#7.'64'&>7>&&>7'&73&7&7&7236776?6'&/&'&56'.'&'..7&>&767677'&'&/.37 31(          M" .   C(#   "               h " =)#<    5  /    #  u      $  ,   9V    %    59>'   ?   7  U  !         (  %!      +T     #m   )  =/      #  %  -   E  )/   6-  F   '        .=\&/&76767673#"'>'.7676?>&&6'>&'&#"1?5.'&/?676'&#" #>#<a7 dr175 *"   T1 #>ruF>9   5"0&M49uF=su#%>  #0H`46326&"'.7.762>'>54&"&6&/"'732654&/"&47'326767#!2, d,d ,d -#/"5Ec-d ,8"#j,d ,#!3d#, d,d6!_-d -4!# E2d,d -#!8-d -3!#E!"3!2654&#"'726=3"'&'73264'&/&'&4632."`"-" *c "   " !    '` '     0     9!#"'726=3"'&'73264'&/&'&4632.""-" *c "   " !    '@ '     0     A E|%&/&'.'&;272>&'##'"'&67>'&627676'"'&'.?676.5676>."&7>Rf.(/M;$.Z{='< +(P2RRDE&(0k$&k'1 ,(  ,,!#$ '% +0  1=)81CE.1JD#<C '/('*< 2:9  - ) &&  (  %$ ,,D[jwx?7'&'6#"&54>%6"'&7'>76'%&7>7''&>%2#"'&'&'67&5462.7>3'654&"7@<=)/'1;C3'r  -! . ' r ?1N/'1;C3) '< .FM<Q J "0":';!" +'' 17!>  /@#*(} 0 ,;,&18!? $'/76&'. #''$ p %([K)*SN(.#%/*L 5sk3 v,!"&5463!24&"326=>/76&'&`$< "1( % , `.*L  ?:  @!"3!2654&#373#'#53##G##`>oQB`X###H#Wttrr*:HT%&/..#767736?>/76'""'&43720&/767'&?6~ 'Z@›  e k?   afOW ,Gj-?L$%9H1(0 [.  :r "%kH  :@j2. N =Y!"3!2654&"'&/&'."3276?#"&46323254'&/.547632&#"`p, $    ')+(    &  :%   `  ,V0  "    /   3ON7'#"&547623254'&'&/.467&#"#"'&/&'&'&#"32767 &;  'Fz " );^-! $# )  3@DB>Q3  2)3 *0Q J-&  #5"MFCF :)?#&&#"6326"'&#"&#"+>32632 &#"&#"67632632 8/-: ",0=*)$"75>))>57#"*E"@**@"E"/6>))>6/"+"#8//8#"Q+)))]&&  I'I|%4654&+32##32654&4635"&&'&'&54327&""'32654"&=#"#2;5#"&=654&'5>5'46;327'"7&'&'&54327&""'32654'"327'#"'35654&>32e     j 7!) ( ""nK     +  7"* ( !"-,##_#>  !  44  !   "- " !   3 6";   "S.K, " !+B%6Rbw%+"/+"=4;254;2+";2=4#54+";2=47#";2=4+532=4+532=47#!"&5463!24."67676 !    R   ...q0""/0""/>,JYK,N; #(0"G,*G,*GG<9G <G     W"/0""/0$<$$<$1J !' $#3'"&462#54'&"#3367632d]]. , t] @ \Y  A +) , , $#+) )!E5!"3!2654&#53'"&462#54'&"#53367632   BC"  B. B@.   h  j 2 BFJNRVZfjrv%0/&'&'4#'765'4/#3765'?657?2576'7'''''77056/76=7'7'76/7?F;#$"Z{"ATC7 []j<P*F (>  VC=B)@104'$ #,' d NEC.5!,@]=a~7K}1[[:^9D=DG=F5D00D/)"(&A$  s B\4716"7024'1&'&'1&''&#'7&'&'.76/&5476?6?67&76767674'&767632&6>'&">15&>676&"37>7>/&'&"'.17676'&'&05656767636'6&'&'"&#&'&'&'"/&/&7676#767.#.'#6767>7674'033271>#&"/&"             + (# !   ,             # %           !    /   D     .3 # (#*% D        $     $  ! $  0            u .N3'.5%535#.#"7>=35#54635"&%&=#76?'&'>=#N   8%*< ''<+  M    (I*Mo   "M#.<+ M M+7636'&''&/#"'&726&+"326&+"37676767567654."16/&'&'&'&'&54>26v      p  X  z+JVJ+  ";D;"   3 F  A  @ ' "*G**G*"!'    #!9!!9!#  %4/5373#57>=##576'H-l_'&'l33 2 6%%& >> (!#576=#'#576'56/5373LvC O Z WD;S@js&&"$%6f7#".4>32&'>&'&'%6>&'."&=4&+"+";2;26=46;26=4&#r2Y6DrCCrD6Y2)&YS ^fV+ ,1b   LUD0((0(GPs7.>>.>.&>&%>.>.>.7.>'>.#&'&'&'.67&>7>6&'.'&5&7>76'&'"/.'&'&726767>6?676676>.c  [ u     z  " Q   %-E%# 9C!?&V          #    "L      5    7N  !K 2?3% ) 7##)X  1     _  83 (  F #(P  3#73#3#73#26=>26=>>=$"'"$t|5DS%.#"3!2654&!"&462>'&'>32>77"&764'&>"&764'&>.J+6X*74"'8*5**:  ?%":"%  %G  *F(?3?+48'"3);)  !)":"  4C8  -l-  6D0(  H  ' ("2>4.462&"5462&'5462CrCCrrCCr/!"x("x!/"CrrCCrrC   %'#%37d%.Y}TA&`  %3"&'357573654."`l!qq!lhhK CrrC @7AA7iiPП')CrCCrC)'!=L[k%&'767&'&=62'>&"&/676?>&'5.&672767675'"'0.'&&/'1271&*'"cc"&+hSS ,d, Y+':9s'*(rq)  ) >)&&4J  ?*'&+> E=>F/++.E=>E- -    {  +>Wh326=4&'#"'&'.'&47>7>;327>'.7027>76?>=4'.'&"&'&47>`"1 /$90 18TG $L   K/ 4$Qb    -! ,Zd#0#޼ 9  X߻$! #\z%2 Ey"/&7676?6=4/&6=>;2#"'&/.=46?6274'&'.54762;265.#"#"'&'&+"326 >  /2  1  . 9-,(,S # 7,0<%kjj  kk k   !9   !:ajs&),"/&672?6=4/&6=4;2#"/&=4?674.5432;7&#"#"&'4+"3267"&4624&"26#'4+#5322'4+32%4/&+"?6=4?6265%/&=4?66=464#'"#"3?0=76=4/&?64/&=4?67'132176154#'0#54/&?675'#3'<::9:::+     7  >=$%P===%-===%>)   ==>=JL !B!!B BB B!!B!B    <  $$_-  -DZ##G$ ^   $$G##  2F$$F##}@  %%#53%!#5#5#35337#3537#3533533  @ @@@ @@ `` ````E EP['#3737%&'&'&1&+"?637#";2#2727167676&'1676'.67677&'&>"711-390 /=!X  KI   X   a %Op% 1    rrkk   $  $ '  '&8 V <  =MV_hqz23767676'7676767#"'&'&'&''&'&'&'&"&'&547624&"2654&"2654&"264&"2654&"2654&"264&"2654&"2654&"264&"2654&"2654&"2674'&'."62X             9 Y`Y (BB(HHHKPKO         O55OBB11B N M y N M y N M y N M 3!!I462"&%#!"&5463!2264&".#"'&'1&?>/67676  `/D//D/    %=00 <#!r`u"//C0/}     < 00 < ?(5>%/.?&'&'&7676276?6%4>2".7264&"!9a ! ML " a;   4   #HeY-*   3@ S&&&,  ! ,6!%.4>777'7&'57D9]62X67EM:D%(E3# )?H=*+ 8J:T!+-"327+.4>;2&&'>4&'>:=1,-&%'+5.!U/ Al?CrC.U!-0G*76+F 4$%"q&&''.747&667&674265"'.67>27&'&'5&'&'.676767&7676767&/6>75>#">3>#6666'6'&'&6767.'276&'%&54&6&67&'75367264&"76767&#'1276'4'"#17654>767'6767&71''&/#'#'.'&'.676767&'&'1&'&''&'5765&'.7'&'>7>76.092654.&'>&%&>&'  %,( !B %  #$          '%" T    N    x  < h-?,,?-  Q" *: # W 2$#(-/*!)   0  ! #55 C! 98 716:  # ! "      k          *(     "G% "         #!$  C# 9  !6 --?,,  0  & *      &  "F 3    a    #   ,V567>76&/&7676.'&'&'&'&'7?6'&7>7676'.'&`;C>:P L65 %';-6 )!$!";-0-@(-7!5 G6:B5ZB74C c>;mT '1#+   *9/3u8 1 1-u/HY:a =02  #/7?S".4>323=67'"3547#'35##5##5##54"355'57'#353#"&67'2>CrCCrCΕF)6kDTE E*EEE$    #8CrrC ]?&  471M|$0!! v V   Y%'&/#"&63267'&'667'&'&'&'617'&'&'&7671767676'1767676a90Q,%5H3"5(   7  %) & >H ;3 H%$, ""5 *&     ;)%  8 7x%4'&3267603632"&5467>6'1&'&767';3!76767657376765'&'&+&'&+5'.+##!$'  !9,$>%B         ; V    I//H )"&$"%<( `@6P          %".4>23#2TdU11UdT2ZZ2T22TdU22U<7+"&7>372#&7&"+";26?676;276o K; IC* m $** @  y Q(s  '#1Y0  [pB/E.#"3276767656&"&'&'&54>32#"'.712654&'6rJ(9_9! &/@#2X41U2"=a30! % %A'!:b:1@)'*"0()?1*Np8*.-3'5[55[4(3-.*82V$  ;;DWd%5765'&#'5&#'&#'&"#"1172733725'732374/.>7'.6?64.>&C         8a%bb%_a%bb%_;NO::ON           a$$`0a$$`0ON;;NO: IRw 727"'&'&'&7>67'&'&'&6767>7'&'&'&'&'&364'167&'&/&'776'&'&703676#5&'&&'&'#&6"'17676?6761&'09#&#&/176?67676'"'532?3'&'&'&'&/76301&'&'#7  #   ?&)    # $$*#$' .  u #! %#     4B!"'             (    $%\       h        &*  D$          i          i"/<S_l2"'.467635"27>4&'&+732372767>&+7332#7>&'"+#7+732372767>&+@SHDPPDHHDPPDHSWJIVVIJJIVVIJ    y%   G%  % %    |%   GXFNFFNFM\MM\MGk-6 -, *$&"`?G|-6 :-6<@D>7676?736767676?'.'""7'&'&"#7'5&'&54676767.'.#"#"&=7>&#".#"2?>76727676'5&'&/726767'&'&7'45'"76    "  I4  z6 73  7;!)2    /5(  AM ,       1  C3     ! /9   - 1=37%  "  4     " !  (-      $1B#"'5632"3264&7#!"&5463!2264&#"#754&#"#75326  5  `++-4 + 4 +DSD`/A/ 3!. 3/H&6?67676'&'&'&437676763?676767-    .(#'2),%%,95 6<$BFA #)5517   &,"" '   7    `    f.* 1O6* N"327654'&'&54>32#"&547>7654&7676?3276764'.4^  $A'5A  &      (2%!S-'*6!  (>$:4 '  &  070*4 /+a'$)M+6?3>4.#"?6'.5467632#"&767654&#"&5463!2 %:!(F*3&#& "-:-!  Y`p$; (FRA%D(8  18,1? $9=#`H%#"'6?32>4.#"?6'.5467632#"&76764&#".54>2CrC&# $;!(F+3'#' ".:-! GWCrrCCrC (; )FSB%E(9  19,2@ %"{.~NCrCCrE'9%57>&5676'54'&'.476?6?;͗ ! d%'F  ^6L;// !a ! .PL I66 #8   P  <9%+ t 06# 1 %+532".4>24&+35326FFFCrrCCrrC3$x2F$3J5CrCCrrCCr$3J3 &,'76.6?64&'6'&6&'77b i#xVa-SZjP "  , Q;(h (IR3#";546;26=4&'&2.46+"3276=#53276764'&#2"&46 k$%(k7;  (k 6k (d   ) /1( f &    Q0(!f &) 3 7   6%'&'1#"'#"&767&'&5'"'&7676?&762    A7##7A     '*+'       8^9@?9_9   )#".4>32654."327&/462"&.+I**I+.L(BppBBpC%!:R::R:+IUI+2Q..3CpBBppB E)::R::$<%#"'&'67654'."7327676/&'&#"632#".62  "\e['$t:"%"*   834p5=  &)/9/+22,.9A30) :  NNNP?5=EQ&&'&//&'&733237676767676&667'&.'/&'&'&'67676'.'&'&/67654'&/&67>326:5; !  ?  mE  38   ) /7S$ @3  &%$ *;A%4Y4;(2"%  BU$ 4!>mI j## 0+ J4t          4Y58^+6>FYaio{&'76.'.6?>/7>4&'>&'&'&'67&'67676762"'.6767&'&''&6'6'&6&'&'&'46?'.?7&'27&/67677#&'67'2"&46 (+*,,*> B+,.)d7&   J %'''  \ [N$3   ! 2#0   "k ! !"^&&b"'.7>75276?676'&/&'&/76'&/716767176?676'&'&/&3E98@<7  "    -,       ">o8#"uD54'>&462"&&'&4626762'"&462F(X! aO9 9`s`9   FF<= }! ((0 *E))E* 0(j!M  4 !$4`%&'&4626762'4&"267"264&7#!"&5463!2"&'7264&#"'&&#"2>56'>& //  )) Y[ `d '6;  B6& 'AMA&g    4 &` U ] ! // !AS\7"&462%".4>2"&'7264&#"'"&#"2>5&'>&&'&"6764&"7"264& $CrrCCrrC $28  =2$ $2&'&/67676'&'&32.'&54676767>&'&#&32765'47>54.CrCCrC=g<7"'67677.=RB6^:)?7, !-7BR:^6R!"Q-=hF '*..*'X R Fh=-Q"$=DMV#".=4>;2'&#"#'#35>32#"&'37654.#"3267'#>2264&"264&"@#:##:##:##:  $  x S  #""3V    #:##:##:##:# Z F %%"' ^   j   ,/%676/&'&"7>%2>4.#'!   %:eF "  ] 0:rCBrD& ( 6bG1V7@%$ " %P#CrrCF*@IR[%4.#"&'&'&17676732>"''676'&54>2'"&462"&462"&462;e<  ((  4.#'&>;'#762'CrCCrrCCrZZpKTUZ " JCrrCCrrC] cc "r{7462"&%".4>24."2>'4#"#"'764".'764&#&54724/>7265'6322?"37'&#"'767    CrrCCrrC;fxf;;fxf;H>$70   +  ?$90 *  !t`v  CrCCrrCCrC%90  +=$8/kn%"'&'5&6?&#"&/&6?4#"6#"&76?6&76'&"'&'&'&767676'&'.1767>."67676'5727676752717676?3>76'&'76?676'4'6767>.&>?7.7>7>&?7&767'    '  ! @  {/+'6 #&0  $%1;  0:7 %               "! % -:( B x #'+/37;?'77'7'7'7'777'?'7'?'/7'77?_7JN."7Z %# 8 8=+!)#+.|F7,*3=5PCBY".',"<##B1 " &  /  )@ H96`.2W B!E7&'47>36'7&"76&%.&76#"&'7'727>76&*L/<6$2&8C4!++/ !*" ?.'J!#=(b5)#7 31$!#H'% 7 ( "'H#& 0'#GAJ57.4>&/&'&/./7>54&'5'4&"26D66&/$&>#$?^!  &,$-5+)D(  >s25 7"';6-EOD-F  8 :&)>4,G*0*  ! ,M!"3!2654&'&?>0>&/&>47'&2'&'&'.>76a'88''88YQ$   /   $   .   %)Q%8''88''8%   )/ Q )/ QH z-=M]%654.#"&#"3!2>54&+"&=46;2+"&=46;2+"&=46;2+"&=46;2-M.:[#1 '!9!~!9!5   Y   Z   W   .M-H82" '&'3&'&'&'&X-?H2<x%@"/-5#* `/*>6=7".8<.G%)F&!'.7;LI@61 ' %)-159=AEIMQUY]bgkosw%3#535#35#'#335#'#3'#3'#335#37'7'735#7'7'7'77'7'7'#37#3'#37#3'#37'!7!!%#37#3'#3462"&7#"'#32764'&#"'&5476237'&'&#"3'#3#35#3#37#3#3#35#3#3 $""$ S""0!!/!! "# #XFF ""^""!!""_!!zz""^!!/""6K65L6y           ""F" u!!u !+"x! ! "  2"*  1  &    s 5jbbuUUf:, &55L55  $" " "M L!5!L!5""+#"#54&+"3!2654&"&4623"&462j  j   ''7''''7'' ((   L '7''7''7''7''654."327'".4>2# -L[L--L.;-#;##;E;##;#,7.M..M\M.&#3232764'&#""&4654&#""&47>326326 '#A!&4 6 C  SRF*)F*.("!$#!  C2  7(?$4w!4 S!V! "%BTE&"-%9 1A   $?' 1[%654.#"&#"32732>54".54632264'&/&'&'&54762#"'&'&'&#"7^8&47^8&4 8   ' $ #W!#  * (# 8^74&8^74&=    )   ")BF%.'7>.'.'.3?3?>/7>/7>'7-- -^ - 0- /^ -] Z / // / Z . 0/  /![ZS7'.>7.'7>.'.'.2?2?>/7>/7><fOdA/ MdA/ M     <         ;   :: MdA/ MdA  :        :       :R[7"&462&7='5&'&'&7&'&'&>5463!276'4&#!"73663767'"264&$3$$3$&5%%5& g 3),&  '.*~%%3$$""0!!J6*%%?@'%*6   m!0""0!i%#1"'&#"''&/&'&#"#"/&'&'463676756&'&/&7>327'&567676;232761<         D,!   . )!# !,7        '    %1 ($     ' r!"3!2654&#1"'&#""'&'#&'&#""/&'&'467676716&/&7>327'&567676;236763`'       ,  .   `             o"2>4.#1"'&#""'&'#&'&#""/&'&'467676716&/&7>327'&567676;236763CrCCrrCCrg'       ,  .   CrrCCrrC            K %0;FQ`o|7"5'7427"32657'4&7"32657'4&"2?'&7"2?'&7"257'47"257'47&"2657'4&"2657'4"2?'4&".#"3264&%"2657'4'"32?'4&"32657'4&os v'=#!..=AEEA)iEEiDD`####9899 DBBDFDDFoAA BACC>":" .A/<AACCCC?!"3!2654&"'&=3264'&/&'&547632#54&"`(88((88!(%  "( "8((88((8     "    " 7P"2>4."'&#"&54767"/&'&#"&547627"'&'&#"&467632CrCCrrCCr"S| ` 0?C< 0b\% 5TQ? 4B857) CrrCCrrC2 9 B     L    7!+5#"&=!5!5!5!%!"!54&&W&dd[&&t'ZZ'-UUr((~ %'77'7''!5#!5##3&Aw w:'(g('ȔU$U(?_)')Zx((*T62'/&4?622?64/.1"/&47?17>/.1"/&6?62?64/&,. ^T DH 29 _\  . +A*#JRA'7\H$*4=F76&/6&'67!"675462'#"&/3!2654&"&462'264&" %&$u83I35%O'$Y`x""0##%\  &&  E0 Q$33I48(%q`"0""0"$$ !3="&4623##"&/5674>24&&/3674.265$3##3$44m1 .:aG4>4$&$-?--?,##3$$4O!,&k'e44% && % ,-?--#1:C%#".'326'764&"&'>32'>.7"&462'264&"CrC8cF_&*T(87M7;EmACrC '('  %%3%%'CrC.S3' +<8N66'V 7?h=Cr ((  $4$$4$&&A"&76&"&/&7656'&>5&76'"&'&'&#".6/&'.54.7565&"5&54&'&75>76767676767676>22?>"21&'54'&/&#a;G    ' 5, %      "    >   %' -  !9 !       /  ! r %'#7 373.,-CpoڗY>>YXX$ttk+4325&#"#"'&'327654'&'&'&'&1!M BLXi$,'7",)%KQ\57&-% %VK- #  &)K0"   D(159GWz%4&"3675#"'36'462'"'#?327654'&"/62'53#'676&#53#3#7"&=7#"'53254'&'&'&54632&#""=%(! VX ',# _,--0  ,&V"" (+x  " !$..#'( ! A 3 (%{ B$$ %2 ) g&?" S - (  * 37637??7'7''''/'7'?'8P C]8Y9}Rsf|1.+l &  ,ND&  '$J .3E6 {l&Jc&Tz8a &   +<"2>4.""&=326=462'54&#"&=726=3CrCCrrCCrC ,>,:  ,>," ,>,"  :CrrCCrrC k+,.- l*+  {,+/ / 03%".=726='754.""&=#2>=4624=4"4#33<4V4=3F43FG  H:$22  EF43   7>76&'.>!C.K-W-K.+EN@#,DN@# 2N.*MW!2N.)N'@")DN@")D a!JZfnz%#"'232>54'%4>3&#"&73264'&'.462354&#"#"/7"&=#26=353264&+3532#353264&+3532#;2=#+"=4+32;2=#+"=35#532354+373535#7353735#'BoB$$ BpA3.5ApB"%BpA5.3<       p    ' -  ' -& ?'4;  5 ":#+#1##:# 5 1"  ?7 777V+" >=    /#?6&'&67%6Dg2 f] L0i  !"2>4./#?6&'&6?6CrCCrrCCr7)>s=   CrrCCrrC .?hY ] g:&'&767&>32'"26'&7>32'&7>54.H 7 !)3=.+   J1%?%N(  51-9-M0  _SN:$!, 7GK'%8:4 -0-=%?%,#"   T2.L- [dv462"&##"&'"'#"'#"&5#"'67&'67&'&47676326?6?67>3262632%264&"47327654#"'&4&"26574&"26574&"26574&"2657#"'.547>263262>2>74'&#"327632>   0 "N       " #6 G' 0  -  23( 4)   1   1   2   M*+2/%$(%"      & )))R  h  $+%-   7!.V  N*  7/!"3!2654&+"&=46;2+"&=46;2!!P!! S  S  S  S !!!P!     Dl.<GV`jt~7"&462%"264&&''.67&'3>63%4."2>57>7&.1>1"&46254&"26%1"&4624&"265 PLGEK> Z-d43b,`  4?55?4&>$CC%>' /=:' /<;' *;**;*'':*;**;)''  /. -GLKFZ 45>55 $<$#=' 0<& /< **;**'**;**'=!"3!2654&#"'&=#"&=4767676;232+76`f2  ,44` !Z+  H3S (:0#"'&'&=#"&=46767676;232+766 !7$ /*GST$  $ D %%sR A  33737#5#!#5##5(k<9Wu(Ck9ZAC(C(M99uC99Muuuu=!"3!2654&#"'2327"&'7.=.47&>326767`E(-97. -$" F)!`-*-$ #%%  2#"'327"&'327.=.47&54>326767#$AG\XI I:#5 $0'q@0'$ "( HCG*//-):% .71: 1% *%#"'.547673262#"'.5463K $0805 =).$R=#* & k6/" 49AOq &-):%!_"1!"3!2654&.'3;26=4&+"#>2|%B*^DD^&CIOSW[_cgm%35#535#35##3&7367#36?##327#35#535#535##3!67!75#3735#367!#35#3#3#35#35#3#3&ggggggrni/rgg:10gggggggg@1 Egggg -ggggggggggggin Vh  0 HB N h p i(y - t/Kk'.'&6?6?>76756;6=&32'?6/5&#'&574#"'&'&/./4"7>76&)!  4   ,B )      4 S: !&   2B  ,*    )! % Z%"'&=#;546;2+"&=#"'&'&'&+#"&463237>7>763>32#"&'#"!546Y YY   e&**&       7Y5# @ Y) *:*(#- @ #6 y7#'&?'''''#'&'7&'7&'7&'7&'7&'7&='767'67'67'67'67'67'6?2777777'4."2>'".4>264&5'64&564&5.=#+'#'#'#'&47'&+'&47'326713275#27'&'& ,+- "%    $" -+3378:; 7; 16 (."  ".( 61 ;8 <:883J/Q`Q00Q`Q/)FSF))FSF)  )             >  k    #  &$ '&&&&' #% "   ,' 73 A>GFHHFG?A 48 ',  (0Q00Q`Q//Q0)F))FSF))F    Zp@)       !eB 5I676;26=462+""&=4'&+"&=462;226?6&#"'&#" c  !"de"!  c b  CC  b3  %      %   vv ##'##3#3735#735#'3@Q^Q@00E RgYYgRD06p0 00 0@C[!"3!2654&&'&'&67632&#"676545&'#654'677"'6765&5467676767`=<%#1')   E%1 . ) `#!? 5$ 0;+9.1 "$U+3%!$x  >.7R&'#7>54'.54>3267&#&67676'67673276&.! $?'76A1?$>& !;-*) (!a`"(W    % "K&*JM/)+y'@%"iB97 [E^ M4%B'  !d49*%$+:5/  ! +)%#d,Xbn|&'&'#"76?6776?67676'&'&579&'&'&75676767676;'"5&'"636&'"63""54'&#"4321'1&'.'./&7671676?>!6J%% 7   44!(. %  -, - ?/ +(%*/ / $!39%' !.        )%524"+:   &I\A<<"# V "*+,#  58  7 , 4&;# %& $1         2!"3!2654&#"/&'&#"'767676>76'&6`$?B-    %  ' B2`.RT3'= 7E>N#'"/&'&#"'76767667676'&6Y[?' (4  !]E&ArwH6V($ La#)*- l2!"3!2654&#"/&'&#"'767676>76'&6f-@B.    %  ( C2f/RV4'> 8F?N0%#&'&'&'367.4632"'&'64&" ,&%K !+-%+7/5  #<4$$ -DYxmN=6->NcA#/' ,&50aS6+""&=4&+"#"&'&'.+"3276'5474632;26'&/&4767676!;   ]  $ ; "$`/ (  ;  H J  t   W ,#&(  $/.48  & # J  !#"Ei7"'&/&6;226?>;2#!"'&/&6;226?>;2#'2+"&/."+"&?6763i8 !)  )! 8 h8 !)  )! 7  8 !)  )! 8 `pRR p pRR p  pRRp  #'#373eM80x6rr6YY  -:LU^g6&&676&"&'&54>7>721627.>76676'&'&.>'&>&7&>&  ) 6c (H&"7 (> 0 65<>c    ,  " )!JH$# #!$"M*"27*"2%!@"  0.,563 3!*>HR2.#"7327&54>'2"&46"&4624.#"32?'676'"&46323"&4632 9T/5Z4ND $ ,L; } .L+.L,,L.%6  `   '>$,L-M7;#*G)5   0   &A&&AMA& 18     >N`"7712>54.&'&'5&4756;27>!"3!2654&"'7&4>32$<$ 2$$=$&04 %    ``)#T+I+ :-+JE#=$& 0 #=#1% +&     `R%UI+-: +H+(U.#"7312>54&"/7'&54>327&'&"'&'&'&67676/.+"7>&'} Q,4.47."'76726&#"/"3'726&##'>32'"7654'CrCCrrCCrk9E CD$ "0Rc9+M  D<CrrCCrrC0+l ü H  _ .6    O:+% 29=f;BLYf.544'&/&'&546;.#"32?6#7'"'1"&62?6#7676327'>54".4>24."2>>e6Be J)7^M/! L@$#vA0:#CrrCCrrC @mm@@mm@g>-"  4, [  N  , $(b:77CrCCrrCCrC@m@@mm@@m!)-%#"&''#".7&7>762%35#5&''35# !.77.@ >3562>**-e)&kl~ J4J 052WW25#: "j: (,0%".4>24."2>%'#'#7'7''7'EvvEEvvE #!"&5463!24&+''#"3!26%#5#5?##5#5?##5j% o==n jIIIT6vp@vcujjK22K%%J&&,u%%J&&,%%2N_%'&'.5467>'&'&'&'&'&67676&'&'&"7>76764%676763&'&r!;6;3 /*6T   " "e %''  'C &2=@;)? $ ! K-0R  D  &9 $"/9$! #01>+" <" !1!"3!2654&#"&?01'&6;27+"/76;2`.1. 2gB/Bh/`W6 7X ֵw x #7+"&?2#'&6;2%+"/76;2, AE,A  [A \ B,N zL W !7#/#3@N!. -#M@[ [^7&"7'&'&'2776727'*%!#"M"E %&DK&?0=}'6p;4.533o7R^4y@*7#7&547>;#5#";W@`KC*R7&'&g4%#%u#6IZ70#&'&'&767627&/&7>0'&'&76?6277.?676'&/&>k  Q 1 k ]  $ 5Q" 0 *0   88x#  ! o   Tt   > m  C> <14 *63#"3#"&=46%35676574&/37#6734'7[+) %65 CG* 0!  ->2 1t)5$%48q"13 Gr- *67%#!"&5463!24'&'.'&/767>765__`* A<76?'&5&`[[``[[`D7288227Q  !(E bm +   *  : :N  2 V &&Font AwesomeFont Awesome 5 BrandsRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularVersion 5.0FontAwesome5BrandsRegularGenerated by svg2ttf from Fontello project.http://fontello.comFont AwesomeFont Awesome 5 BrandsRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularVersion 5.0FontAwesome5BrandsRegularGenerated by svg2ttf from Fontello project.http://fontello.comK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL500pxaccessible-iconaccusoftadnadversalaffiliatethemealgolia amazon-payamazonamiliaandroid angellist angrycreativeangular app-store-ios app-storeapper apple-payapple asymmetrikaudible autoprefixeravianexaviatoawsbandcampbehance-squarebehance bimobject bitbucketbitcoinbity black-tie blackberry blogger-bblogger bluetooth-b bluetoothbtcburomobelexperte buysellads cc-amazon-paycc-amex cc-apple-paycc-diners-club cc-discovercc-jcb cc-mastercard cc-paypal cc-stripecc-visa centercodechrome cloudscale cloudsmith cloudversifycodepencodiepieconnectdevelopcontaocpanelcreative-commonscss3-altcss3 cuttlefishd-and-ddashcube delicious deploydogdeskpro deviantartdigg digital-oceandiscord discoursedochubdocker draft2digitaldribbble-squaredribbbledropboxdrupaldyalog earlybirdsedge elementoremberempireenviraerlangethereumetsy expeditedssl facebook-ffacebook-messengerfacebook-squarefacebookfirefox first-order firstdraftflickr flipboardflyfont-awesome-altfont-awesome-flag font-awesome fonticons-fi fonticonsfort-awesome-alt fort-awesomeforumbee foursquarefree-code-campfreebsd get-pocket gg-circlegg git-squaregit github-alt github-squaregithub gitkrakengitlabgitterglide-gglidegofore goodreads-g goodreads google-drive google-play google-plus-ggoogle-plus-square google-plus google-walletgooglegratipaygravgripfiregruntgulphacker-news-square hacker-newships hire-a-helperhoolihotjarhouzzhtml5hubspotimdb instagraminternet-explorerioxhost itunes-noteitunesjenkinsjogetjoomla js-squarejsjsfiddlekeycdn kickstarter-k kickstarterkorvuelaravel lastfm-squarelastfmleanpublessline linkedin-inlinkedinlinodelinuxlyftmagentomaxcdnmedappsmedium-mmediummedrtmeetup microsoftmixmixcloudmizunimodxmoneronapsternintendo-switchnode-jsnodenpmns8 nutritionixodnoklassniki-square odnoklassnikiopencartopenidopera optin-monsterosipage4 pagelinespalfedpatreonpaypal periscope phabricatorphoenix-frameworkphppied-piper-alt pied-piper-pp pied-piper pinterest-ppinterest-square pinterest playstation product-huntpushedpythonqq quinscapequoraravelryreactrebel red-river reddit-alien reddit-squareredditrendactrenrenreplyd resolving rocketchatrockrmssafarisassschlixscribd searchenginsellcastsellsy servicestack shirtsinbulk simplybuiltsistrixskyatlasskype slack-hashslack slidesharesnapchat-ghostsnapchat-squaresnapchat soundcloudspeakapspotifystack-exchangestack-overflow staylinked steam-square steam-symbolsteam sticker-mulestravastripe-sstripe studiovinaristumbleupon-circle stumbleupon superpowerssuppletelegram-planetelegram tencent-weibo themeisletrello tripadvisor tumblr-squaretumblrtwitchtwitter-squaretwittertypo3uberuikit uniregistryuntappdusbussunnahvaadinviacoin viadeo-squareviadeoviber vimeo-squarevimeo-vvimeovinevkvnvvuejsweiboweixinwhatsapp-squarewhatsappwhmcs wikipedia-wwindowswordpress-simple wordpress wpbeginner wpexplorerwpformsxbox xing-squarexing y-combinatoryahooyandex-internationalyandexyelpyoastyoutube-squareyoutubePKZj̭̭Uplugins/wps-limit-login/assets/fontawesome/web-fonts-with-css/fontawesome-all.min.cssnu[/*! * Font Awesome Pro 5.0.7 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */ .fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:a 2s infinite linear;animation:a 2s infinite linear}.fa-pulse{-webkit-animation:a 1s infinite steps(8);animation:a 1s infinite steps(8)}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-alarm-clock:before{content:"\f34e"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-backward:before{content:"\f04a"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-check:before{content:"\f467"}.fa-boxes:before{content:"\f468"}.fa-boxing-glove:before{content:"\f438"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-browser:before{content:"\f37e"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-retro:before{content:"\f083"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comments:before{content:"\f086"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-wide:before{content:"\f326"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-crop:before{content:"\f125"}.fa-crosshairs:before{content:"\f05b"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-dot-circle:before{content:"\f192"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-image:before{content:"\f1c5"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-times:before{content:"\f317"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-filter:before{content:"\f0b0"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-firstdraft:before{content:"\f3a1"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frown:before{content:"\f119"}.fa-futbol:before{content:"\f1e3"}.fa-gamepad:before{content:"\f11b"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-hexagon:before{content:"\f312"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-inventory:before{content:"\f480"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-male:before{content:"\f183"}.fa-map:before{content:"\f279"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-maxcdn:before{content:"\f136"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-meh:before{content:"\f11a"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-moon:before{content:"\f186"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-paragraph:before{content:"\f1dd"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pennant:before{content:"\f456"}.fa-percent:before{content:"\f295"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-racquet:before{content:"\f45a"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-rebel:before{content:"\f1d0"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-road:before{content:"\f018"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-rupee-sign:before{content:"\f156"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-scanner:before{content:"\f488"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-schlix:before{content:"\f3ea"}.fa-scribd:before{content:"\f28a"}.fa-scrubber:before{content:"\f2f8"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shower:before{content:"\f2cc"}.fa-shuttlecock:before{content:"\f45b"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smoking:before{content:"\f48d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-space-shuttle:before{content:"\f197"}.fa-spade:before{content:"\f2f4"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-spotify:before{content:"\f1bc"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-star:before{content:"\f005"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-strava:before{content:"\f428"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-circle:before{content:"\f2bd"}.fa-user-md:before{content:"\f0f0"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f2e2"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-watch:before{content:"\f2e1"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:Font Awesome\ 5 Brands}@font-face{font-family:Font Awesome\ 5 Pro;font-style:normal;font-weight:300;src:url(../webfonts/fa-light-300.eot);src:url(../webfonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.woff) format("woff"),url(../webfonts/fa-light-300.ttf) format("truetype"),url(../webfonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-weight:300}@font-face{font-family:Font Awesome\ 5 Pro;font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fal,.far{font-family:Font Awesome\ 5 Pro}.far{font-weight:400}@font-face{font-family:Font Awesome\ 5 Pro;font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:Font Awesome\ 5 Pro;font-weight:900}PKZ<<Aplugins/wps-limit-login/assets/fontawesome/fontawesome-all.min.jsnu[/*! * Font Awesome Pro 5.0.7 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */ !function(){"use strict";var c={};try{"undefined"!=typeof window&&(c=window)}catch(c){}var h=(c.navigator||{}).userAgent,l=void 0===h?"":h,v=c,z=(~l.indexOf("MSIE")||l.indexOf("Trident/"),"___FONT_AWESOME___"),m=function(){try{return!0}catch(c){return!1}}(),a=[1,2,3,4,5,6,7,8,9,10],H=a.concat([11,12,13,14,15,16,17,18,19,20]);["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(a.map(function(c){return c+"x"})).concat(H.map(function(c){return"w-"+c}));var M=v||{};M[z]||(M[z]={}),M[z].styles||(M[z].styles={}),M[z].hooks||(M[z].hooks={}),M[z].shims||(M[z].shims=[]);var V=M[z],s=Object.assign||function(c){for(var h=1;h1&&void 0!==arguments[1]?arguments[1]:{}).asNewDefault,l=void 0!==h&&h,v=Object.keys(O),z=l?function(c){return~v.indexOf(c)&&!~x.indexOf(c)}:function(c){return~v.indexOf(c)};Object.keys(c).forEach(function(h){z(h)&&(O[h]=c[h])})}H.FontAwesomeConfig=O;var N=H||{};N[C]||(N[C]={}),N[C].styles||(N[C].styles={}),N[C].hooks||(N[C].hooks={}),N[C].shims||(N[C].shims=[]);var E=N[C],P=[],_=!1;f&&((_=(M.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(M.readyState))||M.addEventListener("DOMContentLoaded",function c(){M.removeEventListener("DOMContentLoaded",c),_=1,P.map(function(c){return c()})}));var T=function(c){f&&(_?setTimeout(c,0):P.push(c))},F=r,I={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function R(c){if(c&&f){var h=M.createElement("style");h.setAttribute("type","text/css"),h.innerHTML=c;for(var l=M.head.childNodes,v=null,z=l.length-1;z>-1;z--){var m=l[z],a=(m.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(v=m)}return M.head.insertBefore(h,v),c}}var W=0;function B(){return++W}function D(c){for(var h=[],l=(c||[]).length>>>0;l--;)h[l]=c[l];return h}function X(c){return c.classList?D(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function Y(c,h){var l,v=h.split("-"),z=v[0],m=v.slice(1).join("-");return z!==c||""===m||(l=m,~g.indexOf(l))?null:m}function U(c){return(""+c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function K(c){return Object.keys(c||{}).reduce(function(h,l){return h+(l+": ")+c[l]+";"},"")}function G(c){return c.size!==I.size||c.x!==I.x||c.y!==I.y||c.rotate!==I.rotate||c.flipX||c.flipY}function J(c){var h=c.transform,l=c.containerWidth,v=c.iconWidth;return{outer:{transform:"translate("+l/2+" 256)"},inner:{transform:"translate("+32*h.x+", "+32*h.y+") "+" "+("scale("+h.size/16*(h.flipX?-1:1)+", "+h.size/16*(h.flipY?-1:1)+") ")+" "+("rotate("+h.rotate+" 0 0)")},path:{transform:"translate("+v/2*-1+" -256)"}}}var Q={x:0,y:0,width:"100%",height:"100%"},Z=function(c){var h=c.children,l=c.attributes,v=c.main,z=c.mask,m=c.transform,a=v.width,H=v.icon,M=z.width,V=z.icon,s=J({transform:m,containerWidth:M,iconWidth:a}),e={tag:"rect",attributes:y({},Q,{fill:"white"})},f={tag:"g",attributes:y({},s.inner),children:[{tag:"path",attributes:y({},H.attributes,s.path,{fill:"black"})}]},t={tag:"g",attributes:y({},s.outer),children:[f]},C="mask-"+B(),r="clip-"+B(),L={tag:"defs",children:[{tag:"clipPath",attributes:{id:r},children:[V]},{tag:"mask",attributes:y({},Q,{id:C,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[e,t]}]};return h.push(L,{tag:"rect",attributes:y({fill:"currentColor","clip-path":"url(#"+r+")",mask:"url(#"+C+")"},Q)}),{children:h,attributes:l}},$=function(c){var h=c.children,l=c.attributes,v=c.main,z=c.transform,m=K(c.styles);if(m.length>0&&(l.style=m),G(z)){var a=J({transform:z,containerWidth:v.width,iconWidth:v.width});h.push({tag:"g",attributes:y({},a.outer),children:[{tag:"g",attributes:y({},a.inner),children:[{tag:v.icon.tag,children:v.icon.children,attributes:y({},v.icon.attributes,a.path)}]}]})}else h.push(v.icon);return{children:h,attributes:l}},cc=function(c){var h=c.children,l=c.main,v=c.mask,z=c.attributes,m=c.styles,a=c.transform;if(G(a)&&l.found&&!v.found){var H=l.width/l.height/2,M=.5;z.style=K(y({},m,{"transform-origin":H+a.x/16+"em "+(M+a.y/16)+"em"}))}return[{tag:"svg",attributes:z,children:h}]},hc=function(c){var h=c.prefix,l=c.iconName,v=c.children,z=c.attributes,m=c.symbol,a=!0===m?h+"-"+O.familyPrefix+"-"+l:m;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:y({},z,{id:a}),children:v}]}]};function lc(c){var h=c.icons,l=h.main,v=h.mask,z=c.prefix,m=c.iconName,a=c.transform,H=c.symbol,M=c.title,V=c.extra,s=c.watchable,e=void 0!==s&&s,f=v.found?v:l,t=f.width,C=f.height,r="fa-w-"+Math.ceil(t/C*16),L=[O.replacementClass,m?O.familyPrefix+"-"+m:"",r].concat(V.classes).join(" "),i={children:[],attributes:y({},V.attributes,{"data-prefix":z,"data-icon":m,class:L,role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 "+t+" "+C})};e&&(i.attributes[o]=""),M&&i.children.push({tag:"title",attributes:{id:i.attributes["aria-labelledby"]||"title-"+B()},children:[M]});var n=y({},i,{prefix:z,iconName:m,main:l,mask:v,transform:a,symbol:H,styles:V.styles}),d=v.found&&l.found?Z(n):$(n),u=d.children,p=d.attributes;return n.children=u,n.attributes=p,H?hc(n):cc(n)}function vc(c){var h=c.content,l=c.width,v=c.height,z=c.transform,m=c.title,a=c.extra,H=c.watchable,M=void 0!==H&&H,V=y({},a.attributes,m?{title:m}:{},{class:a.classes.join(" ")});M&&(V[o]="");var s,e,f,C,L,i,n,d,u,p=y({},a.styles);G(z)&&(p.transform=(e=(s={transform:z,startCentered:!0,width:l,height:v}).transform,f=s.width,C=void 0===f?r:f,L=s.height,i=void 0===L?r:L,n=s.startCentered,u="",u+=(d=void 0!==n&&n)&&t?"translate("+(e.x/F-C/2)+"em, "+(e.y/F-i/2)+"em) ":d?"translate(calc(-50% + "+e.x/F+"em), calc(-50% + "+e.y/F+"em)) ":"translate("+e.x/F+"em, "+e.y/F+"em) ",u+="scale("+e.size/F*(e.flipX?-1:1)+", "+e.size/F*(e.flipY?-1:1)+") ",u+="rotate("+e.rotate+"deg) "),p["-webkit-transform"]=p.transform);var b=K(p);b.length>0&&(V.style=b);var g=[];return g.push({tag:"span",attributes:V,children:[h]}),m&&g.push({tag:"span",attributes:{class:"sr-only"},children:[m]}),g}var zc=function(){},mc=O.measurePerformance&&s&&s.mark&&s.measure?s:{mark:zc,measure:zc},ac='FA "5.0.7"',Hc=function(c){mc.mark(ac+" "+c+" ends"),mc.measure(ac+" "+c,ac+" "+c+" begins",ac+" "+c+" ends")},Mc={begin:function(c){return mc.mark(ac+" "+c+" begins"),function(){return Hc(c)}},end:Hc},Vc=function(c,h,l,v){var z,m,a,H,M,V=Object.keys(c),s=V.length,e=void 0!==v?(H=h,M=v,function(c,h,l,v){return H.call(M,c,h,l,v)}):h;for(void 0===l?(z=1,a=c[V[0]]):(z=0,a=l);z"+a.map(dc).join("")+""}var uc=function(){};function pc(c){return"string"==typeof(c.getAttribute?c.getAttribute(o):null)}var bc={replace:function(c){var h=c[0],l=c[1].map(function(c){return dc(c)}).join("\n");if(h.parentNode&&h.outerHTML)h.outerHTML=l+(O.keepOriginalSource&&"svg"!==h.tagName.toLowerCase()?"\x3c!-- "+h.outerHTML+" --\x3e":"");else if(h.parentNode){var v=document.createElement("span");h.parentNode.replaceChild(v,h),v.outerHTML=l}},nest:function(c){var h=c[0],l=c[1];if(~X(h).indexOf(O.replacementClass))return bc.replace(c);var v=new RegExp(O.familyPrefix+"-.*");delete l[0].attributes.style;var z=l[0].attributes.class.split(" ").reduce(function(c,h){return h===O.replacementClass||h.match(v)?c.toSvg.push(h):c.toNode.push(h),c},{toNode:[],toSvg:[]});l[0].attributes.class=z.toSvg.join(" ");var m=l.map(function(c){return dc(c)}).join("\n");h.setAttribute("class",z.toNode.join(" ")),h.setAttribute(o,""),h.innerHTML=m}};function gc(c,h){var l="function"==typeof h?h:uc;0===c.length?l():(H.requestAnimationFrame||function(c){return c()})(function(){var h=!0===O.autoReplaceSvg?bc.replace:bc[O.autoReplaceSvg]||bc.replace,v=Mc.begin("mutate");c.map(h),v(),l()})}var wc=!1;var Sc=null;var yc=function(c){var h=c.getAttribute("style"),l=[];return h&&(l=h.split(";").reduce(function(c,h){var l=h.split(":"),v=l[0],z=l.slice(1);return v&&z.length>0&&(c[v]=z.join(":").trim()),c},{})),l};var kc=function(c){var h,l,v,z,m=c.getAttribute("data-prefix"),a=c.getAttribute("data-icon"),H=void 0!==c.innerText?c.innerText.trim():"",M=ic(X(c));return m&&a&&(M.prefix=m,M.iconName=a),M.prefix&&H.length>1?M.iconName=(v=M.prefix,z=c.innerText,tc[v][z]):M.prefix&&1===H.length&&(M.iconName=(h=M.prefix,l=function(c){for(var h="",l=0;l-1&&Yc(z.nextSibling),Yc(z),z=null),v&&!z){var m=l.getPropertyValue("content"),a=M.createElement("i");a.setAttribute("class",""+Bc[v[1]]),a.setAttribute(i,h),a.innerText=3===m.length?m.substr(1,1):m,":before"===h?c.insertBefore(a,c.firstChild):c.appendChild(a)}})})}(),wc=!1,h()}}function Kc(c){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(f){var l=M.documentElement.classList,v=function(c){return l.add(n+"-"+c)},z=function(c){return l.remove(n+"-"+c)},m=Object.keys(Ic),a=["."+Rc+":not(["+o+"])"].concat(m.map(function(c){return"."+c+":not(["+o+"])"})).join(", ");if(0!==a.length){var H=D(c.querySelectorAll(a));if(H.length>0){v("pending"),z("complete");var V=Mc.begin("onTree"),s=H.reduce(function(c,h){try{var l=Xc(h);l&&c.push(l)}catch(c){d||c instanceof Nc&&console.error(c)}return c},[]);V(),gc(s,function(){v("active"),v("complete"),z("pending"),"function"==typeof h&&h()})}}}}function Gc(c){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,l=Xc(c);l&&gc([l],h)}var Jc=function(){var c=L,h=O.familyPrefix,l=O.replacementClass,v="svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1em}.svg-inline--fa.fa-stack-2x{height:2em;width:2em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}";if("fa"!==h||l!==c){var z=new RegExp("\\.fa\\-","g"),m=new RegExp("\\."+c,"g");v=v.replace(z,"."+h+"-").replace(m,"."+l)}return v};var Qc=function(){function c(){w(this,c),this.definitions={}}return S(c,[{key:"add",value:function(){for(var c=this,h=arguments.length,l=Array(h),v=0;v1&&void 0!==arguments[1]?arguments[1]:{},l=h.transform,v=void 0===l?I:l,z=h.symbol,m=void 0!==z&&z,a=h.mask,H=void 0===a?null:a,M=h.title,V=void 0===M?null:M,s=h.classes,e=void 0===s?[]:s,f=h.attributes,t=void 0===f?{}:f,C=h.styles,r=void 0===C?{}:C;if(c){var L=c.prefix,o=c.iconName,i=c.icon;return hh(y({type:"icon"},c),function(){return ch(),O.autoA11y&&(V?t["aria-labelledby"]=O.replacementClass+"-title-"+B():t["aria-hidden"]="true"),lc({icons:{main:Zc(i),mask:H?Zc(H.icon):{found:!1,width:null,height:null,icon:{}}},prefix:L,iconName:o,transform:y({},I,v),symbol:m,title:V,extra:{attributes:t,styles:r,classes:e}})})}},function(c){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=(c||{}).icon?c:lh(c||{}),v=h.mask;return v&&(v=(v||{}).icon?v:lh(v||{})),vh(l,y({},h,{mask:v}))}),ah={noAuto:function(){var c;j({autoReplaceSvg:c=!1,observeMutations:c}),Sc&&Sc.disconnect()},dom:{i2svg:function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(f){ch();var h=c.node,l=void 0===h?M:h,v=c.callback,z=void 0===v?function(){}:v;O.searchPseudoElements&&Uc(l),Kc(l,z)}},css:Jc,insertCss:function(){R(Jc())}},library:zh,parse:{transform:function(c){return Ac(c)}},findIconDefinition:lh,icon:mh,text:function(c){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=h.transform,v=void 0===l?I:l,z=h.title,m=void 0===z?null:z,a=h.classes,H=void 0===a?[]:a,M=h.attributes,V=void 0===M?{}:M,s=h.styles,e=void 0===s?{}:s;return hh({type:"text",content:c},function(){return ch(),vc({content:c,transform:y({},I,v),title:m,extra:{attributes:V,styles:e,classes:[O.familyPrefix+"-layers-text"].concat(k(H))}})})},layer:function(c){return hh({type:"layer"},function(){ch();var h=[];return c(function(c){Array.isArray(c)?c.map(function(c){h=h.concat(c.abstract)}):h=h.concat(c.abstract)}),[{tag:"span",attributes:{class:O.familyPrefix+"-layers"},children:h}]})}},Hh=function(){f&&O.autoReplaceSvg&&ah.dom.i2svg({node:M})};Object.defineProperty(ah,"config",{get:function(){return O},set:function(c){j(c)}}),function(c){try{c()}catch(c){if(!d)throw c}}(function(){e&&(H.FontAwesome||(H.FontAwesome=ah),T(function(){Object.keys(E.styles).length>0&&Hh(),O.observeMutations&&"function"==typeof MutationObserver&&function(c){if(V){var h=c.treeCallback,l=c.nodeCallback,v=c.pseudoElementsCallback;Sc=new V(function(c){wc||D(c).forEach(function(c){if("childList"===c.type&&c.addedNodes.length>0&&!pc(c.addedNodes[0])&&(O.searchPseudoElements&&v(c.target),h(c.target)),"attributes"===c.type&&c.target.parentNode&&O.searchPseudoElements&&v(c.target.parentNode),"attributes"===c.type&&pc(c.target)&&~b.indexOf(c.attributeName))if("class"===c.attributeName){var z=ic(X(c.target)),m=z.prefix,a=z.iconName;m&&c.target.setAttribute("data-prefix",m),a&&c.target.setAttribute("data-icon",a)}else l(c.target)})}),f&&Sc.observe(M.getElementsByTagName("body")[0],{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}({treeCallback:Kc,nodeCallback:Gc,pseudoElementsCallback:Uc})})),E.hooks=y({},E.hooks,{addPack:function(c,h){E.styles[c]=y({},E.styles[c]||{},h),rc(),Hh()},addShims:function(c){var h;(h=E.shims).push.apply(h,k(c)),rc(),Hh()}})})}();PKZG V? ? 3plugins/wps-limit-login/assets/img/logo-icon-32.pngnu[PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<!iTXtXML:com.adobe.xmp j:IDATxڼWkp~6{ I&DC"Dm !I :P ERDb 3 V %1 4A@ @.{ɲ[ya. 1̛o}999&eҬXsftgFW;.=[h#((?[q*2N1%mc'őb^iѠ#^x- Ӊwh̛AvS}"'+kWL&6n pCoE䉘7+gPu21uaw/{Afwd0@ EʔG̩x~t!/v|J`U8dqȚwګ=B\oAh9ӭ6y<ؔںZt9 puh4t߻EpΈᘐ:1LiUZZ/yؓ9q;˃d3Eh&zE_-b6x52ဎu̜YS9(B 0,[+< ~~~Sp0p׼dV~KK+vAcē]nDG"#}_HyꡅKB^CoUl*/0$%:&޹݊'g]CC̸|@71!1PqMbiBϲV<I BE(6 ߔ·'ʔ0dzxh@媺3)%'%b{ ::``,Ǿ0w.zr$ޓq97C'cXlv54*2 q4=(hX~*,r'{.ի݀atvzHX;c n!Y[2B{6 >*vshkPĥ;>:“AqG|ZzG_"1·YG@g"'@_]SGHN!*$Z^z3}X=)}wW#ynj{[>V1|Cz>,6PXT9̔JF6ICAv\YDC_ ) !TqsoM;xIENDB`PKZ*j33Eplugins/wps-limit-login/assets/img/check-and-tools-logo-in-plugin.pngnu[PNG  IHDRX<͛/ pHYs  CiTXtXML:com.adobe.xmp Adobe Photoshop CC 2014 (Macintosh) 2021-03-03T14:24:23+01:00 2021-03-03T14:34:50+01:00 2021-03-03T14:34:50+01:00 xmp.iid:e9b22913-04ba-4bdb-ab3d-dc0ad9a4b472 adobe:docid:photoshop:cc4f5fc5-b99c-117e-8763-e3a9d8c00c81 xmp.iid:b179274d-3a34-4fed-8be7-f9057ddae4ad xmp.did:9311d684-cce3-4647-9999-54d3a8b447c0 xmp.did:D987806A083411E8A1218916F26750E6 xmp.did:D987806A083411E8A1218916F26750E6 saved xmp.iid:3b23c1d0-27fc-4305-b0bf-ce4cb32ba4aa 2021-03-03T14:30:26+01:00 Adobe Photoshop CC 2014 (Macintosh) / converted from image/png to application/vnd.adobe.photoshop derived converted from image/png to application/vnd.adobe.photoshop saved xmp.iid:9311d684-cce3-4647-9999-54d3a8b447c0 2021-03-03T14:30:26+01:00 Adobe Photoshop CC 2014 (Macintosh) / saved xmp.iid:b179274d-3a34-4fed-8be7-f9057ddae4ad 2021-03-03T14:34:50+01:00 Adobe Photoshop CC 2014 (Macintosh) / converted from application/vnd.adobe.photoshop to image/png derived converted from application/vnd.adobe.photoshop to image/png saved xmp.iid:e9b22913-04ba-4bdb-ab3d-dc0ad9a4b472 2021-03-03T14:34:50+01:00 Adobe Photoshop CC 2014 (Macintosh) / image/png 3 1 720000/10000 720000/10000 2 65535 600 60 O cHRMz%u0`:o_FZIDATx]HaϾS֊ml"A4a_DDU0\]D()uUEI}HBB$em6<8; %_ Kio.־P&f hPs{ɜdT=J`jڿ: q`w:/qP;zaE5 MSECe μm gtm'LLkkl.rK`GlGQOsmhK3nG^%7NL$菱ΛC)K!}^`)fѲFDD'"dgZꜤD$d"rՀ"Rid."Ԇ^eXPA$=R},:kl1Cw/J⾴dzbTo]s ѩ{pS?C p8 aεi_:nI'ȤID6;MDJ ?]HTAncmAI,Xѓ؂&ADADe%=KaKI`lhJvWmx̹۫ws9Y(g]}^Tnf,/GG7@S+,ǡ<송jEV*o!W)̗1?\=z4 3@RW^qA:(lb$=*VLy]K}SAyMK 0QĒikD6ר@ן#+7ʍ-asRUȱxC&uxW 3/ pu:_qũ}T:uB+VMlVsc*7$eR~퇖&7yWIrV=NK,~h5.݋4Ft{U9RRIT]ݨz?c1r 62I){ d$8oOhiFꀃƝo(:hG[o DY[^)E^y1<{2[RuO[Lel@"n[Dں/(AjL#jLH Ui41V0(񆤅/&Ɛ65Dr)ؔfadY֤1d23w滜g gn"d5WC虝@) nL?6eENA ,^s5XYth _r,]mϻqo$0 Uz`zPGtOrg̨=,Ӻ])ڰYhOD9В @ JAZPV p~m eC/B9_d.qc'TIuD[;B"&Vc4+M/CefݚafHK-E=u!ʄR$l@=1>(O9Ls,c-l7!28'<(N&#HKQos&rJIig6僙#=61w|7kCP|lEKܚ*ŵgr\wYD4B{Y$@'dzxqDjާ[.q]-?୑m0Ts3M:luwV~wz  '{=%e]ɬ ˚:GSi/OvIҞݯ6?=}.[`ƅjX6; HXMc: Fx_` 05D2!XJ SjV&CzoUI-52>/+6B~Ee7M/bc< mSFXR~Mzwع_u-;R|fbN;yK9[0NDG=__Gȑ许}hM4|J> cmW(dW `fq!ƲK1<$ܗ*`/Jaj$Y{߁S>2.|\qpMp!;m8i¾t W,u/:i<ڳT1Wvҟ31oQ/:.K>Q.>]@XD8)\f|L~I+6}$ZDе/)JH2?)|v*|I9G3*L }"1h'pځC1^YܪN+EmLUmF_u.<}5[sޒejjqO;uQ.;Q a( ؔ] II#^ʬO"&ꗖd+H]C&$]է&Dx /XZD1=7L;xI}WM1_l21Ȣq(^շqɓS{ĿU.@Fzziko2) EPQ}wK]@1wJ]zrh{t Q RR6/j뀻hk9t,JETMXfa0댈T[]"tk^ЫL (~:FzMi*FFxeܻ걘0-Έ!ʅq׋4ޠ&R ^09tF>{G9Ho/ _"6cP[]xy_vE(91r;9ۗel \e;6zbx_YgR<(^eoKo{r6cL aan![/2WSQ!^XBah҅W*fnha DihhJ-R yr꽬Vj2-KX(,xk02J¡"{p?yB+!"<*B;B5Cˈh:ڡtFZEGA[uJPPTZJq * (BK =ln%PF;7s=={~E,e)K:7d뽣jb`'%* s;2s kVƏ6`T?'߰w3x6W@ a)SXЫ6lwp),ZL"bt`(s#_Y! XY?A]g5F?pc=_$\NBXslIB@BN" " •9y y|u8zRV$7X7DL!%z:{6K ,n$Irw}%. UG&"Z"<9]hLBV0᭭:Y2iLy\)V ۀBXօf#9i3x:HZz4đ-ؿ;j<"UIQ&FOB*Vg[ H=Hs4#ݥQ{iu/'׆i鎃@@9Ȥ1?21@~2x.5lyXSyT+SY9|cWDzְZ{l1cьY gVcn=WcP8–%69ѽd[\h==$&Ycxp<†`upI4/%\{zd Bx=ݟVʧ,u қk*]>׊@; :Jyy:oϢ|oi+iy 1 Ԧ5.U;li#=P@?x({eȤk5 t&IZxLv9KPbbkXnϤ<`&FAna /l.);+apW-0P7|W]'NN<ݱOQѱCMbvX:p1ba@S}DZ ɆQyZXt96AzkGs5G: ^Vt p6=tiڳ; g/hGI:VSuBz>WJ,/4O)>J*ǍOHoy}A |ghMAn,8>TAzTZL+ǨO9LTN2ש1!㐦ndZ" @)͘n6tQnkHy-]HnTq4Oۂ毪-u;'O.,l=F٪ۍE 3`5pʊ, FQ IP}8d^f.-\CJ3؏KN\e"ZK5EGXÄ0"Lː"a2~ґe8Bн[gf GIq8P oeB}g.؊ RoRF+ VXͫn =#̆wu]$I]$ɡHukRG#}sm#|1MtڀQ\O"7/ eF4(=@GQq #bEbj@ gQ+ej&aV_~~4kGvJN X ,dc"#ilʮ/ 5nCL9V>ec[=4KҾ/@$kn&&\oMq: ~|Q%Bq\ƥK?syz6EցDaFs:1T77gյI|wY:؆VWQoxz/(lJ ez7{Ӷ<ʳA Kui,Skku}qU:8S]0\TUc>yoڈhJK&°Fp17Óz<D߁ XWYpyuRqJ'S {S4'G}-Èfڥ5>ecϽj#,F:tR Qґ_g2p oڰmPLoٵl) R23=L̟1vlxБ3TUȉcgʦQِnO K3^bӔx U6GV@ߡ@k#H#ݑuGzecũA&ʔDyat6kE-%UR d(F齞SQTm~~ݝ D+@ʷ`vR+Գ e+K_'&X-db9CT= >`:֡)MM"cOG5uVh Ҥ=З꜊YYM!`xȉF4fgI2Dys6E ]t/L7)0Jjz&umCs%a+kJӧaz1rqڸ4uٻ>,W>2.cr;f? gά,JNlG":o M)#0lZmUm̴70xp|!Ɖ=+5maL*`uS ,Id)/=x`5Yȭ BJ<ӑ>y!W2^OCWak Oאk #79g>P@.kRu+HM2DW1ȅ.`>7dCԽ>v$# ݛRtq}fq}o|R #0o:|R0\,=6*tt; c'K9bccuye$IDTS.a Jd#dAk$={++ $;W4owMBW_ކl@'-5ݎݼa^{A-(y#dUE#~B)}6E3LGԏmDynDS1Ja9lӹMjjx*^=({P383>:v3 x=F_#%qx,6xWXOYw~B}7iV !06cP\<z Ir'cڱ_:hǞLLrwvTCۼ˳}9l~E]p?z2ߣ.} ~C&KXtT=ٍ6 ݸm|n|wn\3 [+:0ڈtoE"tmG0eW>]:."uclf;~ð =jpV.>65bT4Sʠ\t D,2U@HH&J F/R,:ôcNliC\Q4LDs9'C'jrHlJRy2nkAIÄ'o}N۶8 0ӌ"mRf2sbˣh>41ڿO3^AY'+e,:˸[QG°e/鈅1 s eTцP4T߁{q=]Rޢ!5 !3l_e D~.rXtd N4S ΀Q䬂n8 Ǿ @,Xysom74R/&XՐ$mH%zK'yT-,ӄdemӎM%'h +Z IclLPel:o-$_=30a$H[nl .@N,¬ǖk6V$ ƱbxRtVijWWrug( &U $!]{b |j[lxu]^e /А,;f-'@$12}{q/}ԇHBr+ VV8b5UXa]`X\"s^;zl]^y_Cwf,Ë.@n~ 79cΊg=1:BX-ķDZ[o}5Tdmf 1_CQ{U8Ma̛~Xis:9v+/"= i3U$S `Fr+'MUHo9PH_]@d@tJ;4{T=* XeR{*uTibid]x_#}#e9M9% |G8A _W!\0Ĥ3+/}:{!`e<-rn4}w`i+?<'78qԭ]qsgvOocُ`gݘexڍFm.[z e]؝fT"M3_=9_xSl ̥^48ARM tf)4ه/YVT˴vt,駩~^{>>T˩F$ej+iwQCլ1W-P^B?;4H:88󬥓74PkkJuWHL:ssemMzDikhYm/Lw~;yo\"HEK~0:DS& .z&C, m@b9l~;/j^LP #NcmWw֦NmA_g(-3kߐ5WFw~AP)cd&qi f:IHəIȬUn NNm- |2?"53AnMîG :WSS*E%G~H EgUpaEMsMVd~NL̇ Sr*7gɛߏ9@I'͚ 91GQoфʭQȔH8 $g/0qk _?xvrw5!o2qp紝 B͍130}@#klcL|b#qQCaQ<0ZߠCg9~T2 Bt`!Wۥv0 O$CHPk%ciXTi!U'R#*A$K\CHO)BSXYxj4J8(gw}4J)@~K DBT\ge?B WA\,&7_̏gIIHYjt%vO\ͧ /71Kj>^ A}ƕE8{x;NfH%S7"7058Hx|XX aZ.dڰţI0dkY!HwQY6jޤ ܬ1{A^)i&2t Ü4jMuަSnpg-W5?_om7U/spC`WzJK-N9xlZ+-ɧ`s.tE/#M!pq︅Kï.b8c>akǢt|smM/<88.=MK2?~<#\&fr3dvVCs昚0d]=PLz#eW4#TzO]ePu\krͼH؅@ bwZKJ >-6fWu, & @USҽ%GUf]/ĄciMNg_MlLٙ.|NK0܅uJGy!gvAKDH'}CKj9Q^$;70Ӝ{dl:,zf/ל#,h r9tqz1 gSzrr% I83N\$ 3k351FX]نǃ[q) hN\oyEϿ- ;MQM,lyne; *GL/`<׭̭#w/ӧziS(!7w:]=*rEugGѻ!WK2 :z5p͐T~3 ǽʞ РG@fN`jL:2&M~ d 4nxmtG'^L^=hgdR̡ˡDkj2oՀS$CZ"U6@~fl$ޡ闩W! 9+[ YN;2( L64WG3tyT߳gT]֞3JKdLgڀu%R'DrŕD$c~m^{kZ VУ3ͻ?a&+b⬬q8n޳:,zӏ HAn:ԹNy4Tp6uM9(~5IKK࿌:w F ~ IcGZM䲗iK ^hC B.y[bi&2pwB;2p9w i$%%BϨ4*wPjXҗ`T(o7AƗ6^EV'-2Z9h㌉#v~ӀVzg%.C V!gCM,A@i/& p-O% f;ii g!5At|ߌ x?;|E6xj6C%|&4A+KHF2Cugұ. d[8V]? ^!1aΜ92eL5;G<i_X\ RW+S{RgYH EL`_f:qb Mh՞7 gPC 5r5,WLy%y?"8l0-N}̶Ӯ*?(1׫"f9]ԯw|e-v?yzӦ};=}ˍ\9 }Y#6&D0[PY6/|!Jwl`4t0:l?+ږFp\/V\+wqVTg93sVvaaYzA"Q+DcM4M IĂ;Q²)|w^޽ ˂|~;̙SyoB #JzBX1y&Jkrj&|nB`wgq0Q rfa[`JU-\U ` *q_5cMd]d)=ʀy[eFN?m{6| 10;><F8`@*'`'p !Kj8ƎXy-r?׉=x˃ f`A9=x-eӶp@p, d_§@1,)U#BM j7" 6tY!i8~t+9;( s8c#ۃeT2Gu"pWʤze0`U @qpQiBwN^]x,:( tx1nEFa 9Gh50U-?Ҧp107֭='zd'Pq jhE~X0ߔ0㏃1Ga+|j["|DƔxuPV믇)*s䳂AK^}|פ_+8OhϝKe08(,=BA&IB\H 7|A }yKjfLz~7dnLȇtwL~Z,2=#DR12FM3nvqU {~#1O9L`yͩ \k`SBXlS 0_X"p1se(O!?7w'Im=OX +)Wp)s}Bc:QŐxb*2q!WU-ڶ)*,\~UaCw(([i][w*K|`,Tq@=!4~#c0T'XPއI]ۻѱ/"E㎄LeMׁ`tQ>;hp MԶiNhK y6 y~AsäTS*r^|^X{/ |$zEuP^ V/xE m Nų? W- >,bi𛘖3C`z9Կ2d C¿V:A0ưjBk_ci _(9Yq&4 \f׿C`*PvMFTf*cPX=j­ςBڑsq!BjL@5|F˟M !KqisG xV XJ/hy`@GRvbE[֜!%L%|s„l!{Qg#rdb?gv;mw|[Pȳ,@$lH~2gKl<6o|MIl+&!J!΃Addi _r"z#Yf``uSV,xo:[  yBp,``Mʯ;'tśᯋ`W(~HЌ]./FBq9\)\ ?-g1# ?Gj\oP,̳Torw+>g̬\s1қAL|(n66'S TA Ap/D1R8 G%  ~u C-~|Uݑ -U}J{POteRp/N.~dKt\r|¹|X\…,3LZ4BX pcr(9,6()*꫅H 0d@TeZdI+*0 TSb,$˅b. ($` w 2/32`*cҊl! 9܇N6i8Iu,(cEfUUtf8|@clHȝH52M-w)4_WpʴKFT g%!e4D ,ߦđH@E"j6V`u$JTC]H N^~hʤx% fC>.t8r 7 r-ZPKSH*7!]i~(H R @)Vf9R1ڠ /{2mt<i?WO4L3qcd1:TH3-H_km?hדJm2HW޺rE"irߴj'ᨻhߛចw,L!R'^?2&V;~3nh('Pq| ? sm.p:cmJ*Xt@1H-`}ˏjk`Cw]3?K4Lp!qL5"͆=aa&['ޜsrfݵz<_qtx'U>` 0Z>W2c/(m׾=FBcjsDN0juYQn1m5DP05wѹ`8&Vm3I?CzOnXdr[`i]D_Lc6`Lq >`:ΐlfd\ SM8@ldAھW[:2d#`6iQrn׼ BnI! AB yNE5WCB^' r-"'Yh}oA.)R]E);E, H'Rԥ82(X 묟 )2,Andmsݩ.ϦKD* MC}p!v_!cEFUWPn٥g. oL Hx8gE]6.b'6Uiˠ8>@:o=3?v` r@)irEm|<$ xƜi}mi&s gŝ{-\|08Z@i% aE ]Ov`#eLan%w >7 iެ/~A$ _Y Ni셈k&|!E t!!5(Sƅ,Gs!b{E X"3n h?[0uܞL{'ZXCSO!PC. Xx?8 ]$@Ai <2 r>LӰs!M{Zu&1wg}[Vm6|,#NPb[u4BwcK{Rin8 2"\HJiu}v@xtsK+93wO=:uG!0z"D8Mm]m/o]13#_8-[WңA 7ާ4?pOKPı!7մ\ 'tݎߛѷxo ˞1n2LwM뮋0H\:dHI~=xo VgP" jqQ}Mѐm sQ}E-`n>bfu[8ޕwhFR\;dikHLxƅ]c?#b 4vW*t,v=?FLxn4ql+TipQ+!srmmb w7>CK"X$|Zokj )K8K=MRh?Ʊ@ʇBߑl\(ĸls[ɢ^Hwf6.ӑt3ntm;mh})hς4ƅ\-kۆ ?˴3&0%j;xo|v1OjBM컾a Ħl-]wyՖ(^j 3'^^aw~Ƴc`=f(|++:T 6샯jDKiDsRS.4o+.y:㯉I3KIt CAjnzODP44f"H t5I搱5Y9S=mpy@J8Fk, `NɢI-QOJ268@;!tjWbPu e(IvKW4t9O3: i dC}weBf*='KspBJ=9#Ҕ:.:BdB2op|&_vʉ|ߜò)ЩJh*%0z)|¡5g/놣vA,@ar, !α8h<熈Q9rѫUpӏ]ݡׯi| E>+36bۺ:(h@ #zy0>@UEE;Rh[[vAor?o(׃`Y a;KZ.A kΠg@',b8lf~'ki&tJA,[Z2]wx-M#xd[;d,Mg$ {շdq-W6qbV5fDYϑ=Y0i۔[1;\ iHK@MQW qfZ zEK1mT jGwл*Ogçɮ&ۄ(yWGnr'm[s-l=髋6ݶԺ'O,^Q̄chxvF,]ظaȹEm\h94k&PϠc 948tǭ^AoqHjj߃aգcј0a;6N.T@alBX Wbw&MR_mO & @q :B1Pw`Cy$kYNf~Vr睐t m 1\posOn눌R@')$iS]6:!LJ_gSw!nyxsHgDNvK?r"xckϥ lT1Jނ@*I/hnTmkP{J ,os!0n=էȖ ,8K Y^xk;@ w~n%H(Eﱔ\oW`ʠ<-:p χř3jEЮ7`h܃GRyX[/Dym,2g} -kLB cK>C6Bg'r?eSpC<9]B wc MЂѐqEgcߝtÅ?ƻYtHuPJ?2> B: :ȘWZ<!]~\؍mzd^>UN+$((_e<0N4y2:n mo/6PyWtVftę ,EXE톴Y~vWW\aa ufUz}$wyCބ|Ȭ@ʂp*FMævHu] [4_S\2vFΡUZ|̟\V#!0JZRiJGX};ț nK; d$n 'T:u|t-귯%ݰqyw\6"s̋v~vWi]񓚤y4twRJEqt.ך^+粹d_9*AdËp?Vu\J^H\26o$QHF*[!객6Ga.+ >&]!wo|޽qd26Ynϱ@z&zdX0p1 1WA4Ȉ;+&X;zGY.) 9A⢒[h DK#DZ(Bngm~!ݢ1Y@ƺ}j+̅dMN~'u64iZDt *ǧ7Hd1]N!T;h&@[C4:*3<L h#BY*.cUsi`}x-bW3ie 4#Ax7=_jzrKz =|Mʳ됻U+d=gذ:-e"x\ P (. ?G-yGvX={+Ռ[8O۾1I׳A3J gfGuFlu!o'i3Fјf J$YR" H3Sr#CjCxBdbXr7{3Sϡ1=a7e;2#2QޕD6"b/h~F`6Է3rϦ2T"cK{yCe9I=_ Ose[Ȕ}it UTamkF[]Lu=n.#˳:,Dj>': w˃DGZ`rJxIͱL]87D±EfL\,f_P5.=g7sW !&.xHS'sXϲ,{݊}1DE)-XvFRMbYAc ג =D̾4B$}1M!U~D&v'w G9Hʹ0,#I*"U|"[I͙Ep-d%d&^D贻!厠ͤ9O08?M88;EDr>"R rc2kשн)  =F*˙D@1Dԏ&t2սD;Id~d(F}V"|WAH7r<NU0ω 6|1%5~BaoE6E P6Dk%G9sKT+ "7}E\}XޱXMNG Ys#D1$h&d(;@*GiT RޠEڎW@i')PA#!]wdx\Rnt@R*Z`#7P[a5+ o%5z.6@ďs9$cgϺH 4, {C+p(*ziC6 V=o__jg=;)IE>;+KWx˃E2eɍ4:oZ |NUP~7fsBY Q>9jb2غ@ O$8a8唳3EjSƅh|Z4<.; 2>RLc)EA`$2Q' I^y:xHHINꖟxrHw9%Tq/X٨!5VSN>rv` %9EeJc48%ԧ.㑌Itedsz? )eak77,9ɯP3C56P6Q L)g* hL8L{=̓U~!7_HNjmraL#OJ;.GX _/r_́V>փ\ Adobe Photoshop CC 2014 (Macintosh) 2021-03-03T14:24:23+01:00 2021-03-03T14:39:43+01:00 2021-03-03T14:39:43+01:00 xmp.iid:89448e7b-7569-410a-8bc0-dce4ec53ef82 adobe:docid:photoshop:7e654c9e-b99d-117e-8763-e3a9d8c00c81 xmp.iid:56b145a0-93bf-49f9-b65b-9b0a61656186 xmp.did:9311d684-cce3-4647-9999-54d3a8b447c0 xmp.did:D987806A083411E8A1218916F26750E6 xmp.did:D987806A083411E8A1218916F26750E6 saved xmp.iid:3b23c1d0-27fc-4305-b0bf-ce4cb32ba4aa 2021-03-03T14:30:26+01:00 Adobe Photoshop CC 2014 (Macintosh) / converted from image/png to application/vnd.adobe.photoshop derived converted from image/png to application/vnd.adobe.photoshop saved xmp.iid:9311d684-cce3-4647-9999-54d3a8b447c0 2021-03-03T14:30:26+01:00 Adobe Photoshop CC 2014 (Macintosh) / saved xmp.iid:56b145a0-93bf-49f9-b65b-9b0a61656186 2021-03-03T14:39:43+01:00 Adobe Photoshop CC 2014 (Macintosh) / converted from application/vnd.adobe.photoshop to image/png derived converted from application/vnd.adobe.photoshop to image/png saved xmp.iid:89448e7b-7569-410a-8bc0-dce4ec53ef82 2021-03-03T14:39:43+01:00 Adobe Photoshop CC 2014 (Macintosh) / image/png 3 xmp.did:06626C521C9311E8ADA383500965AF3F 1 720000/10000 720000/10000 2 65535 600 60 +z cHRMz%u0`:o_FYIDATxKTQ?獣2:e2PJ 6.*%XA76n*4ZhCZL0BS>yO(/w9y?CfKX:ߖUFb g0s!uAO>,74zh]؛{QJ:둩0%it3ޜ-3",q$iIF]Z|K.?ɉ<+L/ϏH$[=@`8 sy` paƜC0MqBmOqס L-c ;@>sjC_hv>KP"adoҤpw&&8JO7JDQK">.!L9N3,^+p8ȹg5*PD-pIy3K.c=FJbQnܼj@?0 \G`/PbUYiˍJvv%FDԐ%1"GKj+ve SUkQ?olM4m0Dxz)"T J ZElA\bU (5&>/oj@T˛ͼy;3<Y_ϫq:4B ,LDV Xrzy|:/ţx%T2Ià(󜩟>ǀG ӼrkhRٮ<_)m˃S| | ^.hoDVx47j=ק3śQzh v@ǀPSA"\=IW8ϒ~X2a<[[ Ʀ O|.+fȥGR~+Ǯ{A%Hx}LbVDπua txq~g' ͝|zng+p`ljÃGI)(..Kլ*,*$XeUtnlCt6p^Iiw­q7l0L ǙPDf/m/j[h\E{$[M4ް)//^*!y(jPQ|H*^P"mlm4FKIJScM\ݜ=~sb,F=3gfv曙oYYT 'q`Ԯ+uZbLQN̯\& m&8W r_n-rYOkqj),|lb:  \HtX]7 h~ZuG&%SZeN/̶B/{«m)yNuիzPVt|y?dҕ!}V$K-l~R$wmkT9SP<ɬ2x4}_${2ٌ!D ³ewe]Ph6F~ (yZ T!98"(_'vʻD\)xVB[ԯ`Q6.JZu x?0|j y܍35n)Qgr 4;Ѽgl tyTnӃK,(bH'F=fZqiWOжv2ϯeyo2ڛy׷HmD뛏F+lS[;$֖js)ӊ5ƶm-ldfoL69H5'*`;@Q CM_ST"ErL8&Z6^*D7i(\Yk[O=i͜zc"*B٣RHDǯ̟ m{pT?޻fHjL"̃1 ;&UHCZfL>"([Mhth9u m>2T-Dd7ݻ{O8&7dQJ~3g9δ`M4p.bXVcML؄lg^1$O<Ǿzem C’pTςog KAz^ӂu^BiN b6;-82[C~/З|<_;<ʡc3``6yQMY{ґ _-YA&૨°l@7j fU&>ޓXt8^6coW 5&dlzO0GDgpO} %H8tIB_/SiƤ1)ikX@[COĥv$00pl9a:č GJݎ;ݼ*K8:5nT6us|t01ҷtc>Or)J{,#տD\`;Q$˅QB l΍?LWe˝A!HɴXlw?Wd*m),7\Y}5 uw\ݴ\v.نe !MTn:Yxix {"<~PU?&z!c=­Zh'4՚f;. :y 1ZRk[QSRe?l0M5/̢뤶!oYeoݪsU|}j -ZdQu[Jb}Q&jG P}domz/_6V}EuCNܶ*鬀՗Iw1DKbp辇-Yڇ~ ݵ%t3r ;|\6wdYV~u ukL~_Vm#X{r2r, 켓 \ҭG[(4=*E1A:c&6梡Q)i3p\Wu?aR,Y+?ء 3a51LS))ӦO 73! %xhLpIP'i 1E,9؎-Kjnyvu\{ιĪP*tPjBnkLeWLP@.Y~:ܚ=ph Dfr/o ?`e}fDk+x,|.ذta\C3ԳbϺui*D*j5uN%7#~R- \xr:QyЁ=:ڬA",ޣיzF.¿T+tznY=<}!4Q+C]GUL,=ڨC4d O#7?uj|5'ю; G?V&㣃`?9cef8>W[dN#30g J3|xx0>XdwHm^0IǻHazߦC\`.6a:vbΝUk}1jŘg 7 c8:A8Z-uk̡V@Eط#Rg7&L¹P,$㷲m uZ]Sui엏F'6C @}εDIo ˓nEӫ:g6n:|,\_M(/aE p\; RkWU?Ikh]tSj\9n+F> 1lqci)`&1Y$u `%bi0!,p6U>;J0Z}/`m`@:s}U @@TJĀX% cɤ'9~ȰyZ]'׭z)$Xe>87wAٓkSdW淇}G+<-dw%4]\PSSuA~o>N(h==YͨWsH51sE.<} 7֥us8xW5ϷS aLPXE&BÛ]7 hgP[5M1m:o`eox"'=M ? XyiN8n#}վcIvALЈ*]cBx,3j=lX/v팥mx,Ga T"8&mC&iWd"tiu2KVknJUš;_O^Nzj$zQE{Չ:͊B@gvJmCƃ"1Xʎ]= Y[X;h/w̖: W'HUuH V{H;EU^v|1}%*E6OP0 dNIw1&qDY$u݃1h<;v6uR+WQ*G+FlvyG#hqFM >ǓW\ЮG} N9s$W ^MG۪iulwqxl+ȡXJ)%}%0Vե, zUuz}Avy)?i/F l,au+Yocr9wawWX:/;_%͡y27J}m*J1 `E85uڰ{Tޏ<5YsX'^P8O.ZD+ŏ/I]IץMrpN~BC=}ݙ|n6=UӜb8{:rf' ׋+V-4d M^`,reѲ?"'aO|=j 8e uoau*)(Ck1ED" h̀u9 XnCM!c%Fb`5S]n\pɳчd1ghI8C^_hQaH϶:]^tV.qЩB:k7<{ +:JZp.ZMԴƶ g*P~(%\k}9JGo/`8Xr䷂"9YHY`]?\ɢ7-sTlz "+Kz~YnHwUgϗ_z=ZW_Ez;Zf~`7@nʕ1=Ѧ깶mGSrR[t2 1{0tOP8K)? |•Ji 9z3],LA7mŏz46ik{;1N0C&g-cw@tќ?e߇].!- v ea\9 ]x4©7Io. ,2ìEWdvWK:kN|C / />W%)-}kl׋N.Q0xl0x^t7,#KZLHOSA0X$C6M{y3mPY`ƒb_]ٳү>#T@D#==2ϑ")c]taFL6YvP,RDL<H@#]T]t7essUhB2Lx);dFWFk=8"uXzGaNO:ɯD˲G0}<;RbL2bOF71֔[HX U,iE`%jc;?hQ~|g¾.wmVuC tOUfcz[dQ-n#⇱ti :4A6fJß}E7͖({$6>QYqqêP*twaVWܙaVF`X@ Q~/1d׸%0=&JBPLĘ ĠF\A6edvUQ30si.kuuթs:uNF`eAG 2&adp ^&`x+TN~(1㒀*(`Д(:y睇+Vd>rF1X<-Fy79Ms0LU`1v2+ >7LbiI©'a ^cbV 280M19A0+BK.;AGN~quԊB!9⨵FZIY+k젛PjLS}") u_rU1Gw lNdfG@DZC=FB ;m( g5n HOscQHxiF @qb.PE =_踷nW:dVG-Z;\m>0vqΆս>6ln I:Np=GaěcB{&vqk /\`CGpNDs;ac466So\gE)iȱTQ.%yAu CFK}~!kN3ΞAWgRKHeTri?1 3ɉ;бJ0Xן!bx £#ѹ5{:n_ײ(vea$O[Þ Dhq(͍(*[)41<! ^דd:8OVI2ֱqM)N뫴Z@iF1V sTϳ:%^)aV3A !aeM[Y!׸&9a { 'RcW +Ꙑa(zҩM:h$T!@ut>/2X.u#[>i8 x640@wa=8kR3d{5*YGFPX>5$ZQT:X XҠQ]!voYa> ãiMOpxʼ8U01Z5ې^pP[(cE:߉!NB{ Ǖ2[NO>2&AױP /@1+Sm6a*F"w^G䛅 a@/+UO{:"xvι w l6aԃXT '*˄n< HXa0Ho'-\ nf9𥩏tf X\@hʞ}1}`OLMπuY&u2c N*0<.b&p.ɋ^"!V.+.@r?Xn@h|\$b*rwpf1k\"P >vw}}*!Ass(K .2!LAV4A&<QB;Ah#M'R4ʕ଻V臖6FޟN8.)U_ `gN$~_ 3@#a w+bdx)4KH< E>F^O!33E I+M"jףk MCL"ɪtD{F{ScqՇȆ;k-N"vlYܓѣAg8C4jíTZqpOgimVI\րR5?{YM at@S&44qoƮz %m,x "koDG 67R5+}IP<#ZR s<"0$rE gӕ9s}sk{o k92Afƴ-xRΤ*A90zU"鞵ϖa-+g-|2#s8G* 障pWXNpu-Go_O*"圛I`4ܳEBW{rVه`:w(#9r*Vw+mgOL0L~UO80lp~ _m9&8z]C{ه5E+7ʱv&D;0@5c6%I-w136kw{ufi &!W?gcG|xʖ$w|HYJz[ /71Cj>Oہ>qa~U"@т6wořW,SP&hw&oBnUOdx,g,̛t44m2mX QVh,k;|+<J:Xv&+w>2̈w תY" S}u@Dr3256ewOW ц!c,fԜ*7}'o,ku.sn1FQ$J GB`K,`:(x̅G+(0q`G_Po883I_r~&KSy/T >ǟ"4ɳzy_heM:~r2}ˈOI8=rH;؃@1bk ~涆׿i5s1XوIcjSqݡ$^eEג hvd}Œ9L27,q9Xz$V~ _sj 3yg7hd9!V'4ғ S!5>>w'/I |lwo^xzB/8vhx<*Gx{v;kk=u@ /E< @Qs7#x[xK3cd:[fbEZÓWYO3 JHھhHִ|5$yzfV)&;d]C^ ~N鷐Z9=t:U=}Pu M].CkC %Ew+ mg{5P=:\b7A@ YdLu~`$pz=].~Icfӹ>G›3yRCf)s7,^X^]x8a앓gw(Vo&Uͽ`SEm$m4ԡwCΠ/}Ҟ"17#n39ڦ~pv}re`Ҩ|W~?U1Σ/XѨkE^PܫQ(4__\eUL3vE0jH4 2UU ߥq3mcc*F sב-,Z|D}n΢ڈyِN72ziJ0.*]f.YW@6Dc-;>τI,Hׂ|NtX %f1kRd E@̢*Wi;&ݟ4ݐ+&UP(?\y:Gkwܕaept" . 2~K1:aw!]; Z# .)H)s|Q㌉u|6FUX=4 X^HWR\>4$htM9]FZS kP~Oj'{;b8 W$HOɈG~u)ұkiCKϥw:$aa~<2YRo,18T x (vns0t|\`TsЁ]&#m8ؖ.,j+`qűVMaƍ6SʓO>`yF:qP}NO^O\+Hؑ-  @42&&XŽ#X\PCL]41&GnYԀd0)Dᐔ}5 o)*[yʶ Ԉw߰"Q0| ".e%tL";#m2G@V W#s%"[Nk"M]2X4Ϻ7 Bm yΐ Oq|r2ޮ, 4'^L29|6+ "[ԸȢȯMO*^ (~gϮg#æ0Dŧ<a0E`k7c\H n'N :(nXF4$)~$9}K*xrN k)dR?m4m,-#Ѷ :|{0!#oA.9ͯHN#`%pxMWL0yo=Q /C;Cu I건CW,/FRq)p_a S.NF3c >hǶh\B( &|g9A+_=3g4l`F)z8fC j#{jp o[] r3q$Ca2?_~zǟANh\h^` !4@moߟcc&ȹl幢dy;gh?\Iv!Xo; 0dj'Yv[ߍ4El- re'#x|dh'Nw_%b6mlV(sVAMti[/sCF%H׎DA6؏c[ 껲(2L C#7(){B oqVV{ȉ>a*Q_@ +Kcyt w.EX U4 f`0h!b#?NUi &c0e2aV~ .O;CМKh]ՃhiiBQrnrqgEQdJ yњo.o!ةaYΣK^J8<,VW#>04K2,c,#0^J  V X&DG&|<˚@|y;q$Vr"7CHZdi_ 2ho ;L(#޶ID,e@7HJkۅu4HOwig󽔢yЦ, /{Rr.VSU\f_g`r 2O hQjћ&~7ۨya[P#,{s;o&EԎWQH+'CAH 0/p)5ɖb%DU*R~G V83ܣ`0yX1irijcPVL_\ jnL@e Bf2!9Ysw1J(XdlzPK>B= ^]5:, }3qMOB wb/ӵW=.+D0Bz:搲<ۑ)-hmr%.X0 ڷa_b Xn1;zf#c ĒFxGgPADiK 符]QпNawHwJ{o4ԟ׉ mM3#dE:g;?|DzAnnb7DC Xi1PmWH_~hTu;тPnzHr5iqhKB6Mm AHk| a#hl$1]]!ZG .e_2R~&Ǟ?@]Tu̸ Gk+?ہйdH ԛz(̵Y\Tƴ _z<6 s DS$C`}D̋i'k`CwU?LT)]`èD{VayaDzh~sBզ{nϼK Gט&/ɇ!%jTa}؇*sW]Oʋ1WTS$r<S ؖk@: XWd 0C /:Z7@Xh)eCp̏nEtŐTQZ[?lfȔ ӈvy}iԞ .n˕Yη8U?dgtx^^EvC Vzs: i0 c+>B-4J\9w` `;8 NIXYnߍr2~.If7i|蝷d=;>K#KTޭ"Md.WcҌً6}$4Ѹa]ɒ1b>!4݊Bmd6 ui[ Sy˄DmLHy8Wɢg $nɲ҅\+bnsFzM 0lݥ^ָ8ƧZ!0+-S;KBŗրS{!w` SkBpkP;ƅCKMVxSqڡнd5sS#6Y vgIyhEdHWCoc;Rxߑ ?U>tU^ 9?>{+ڃHc:Э-LC:أdoS U̮2 >k/Cǻ su̸A?ӭ"ADwaM[uAn c o vRFdD); F";}B(Bq9ؓw3Q{~;I'XchŸ]w1tX 4> ZO *-]rB~dEk˨/guIs۪ݛHr٪L5 S<{vn_c=N^GH@ 7HarVJqO/ l?~i5Mȑ/^S֖" +sc!#Z5-`ƫ6|R+ Ja[~#1L!q-c /zk9)} ŵu.Q`\]ex1z䑝kG}aZ%,0y_(˫6532YHQ+o6t/Wi,N:hͽ24%';6 ]Cݴrm$ .YzAk;,y-#\Lq s>OF#8D;kL]:p D/![BAƇBsakFNGulk\o5B37 (-Cc0k1sNL*j=wSΦmr%md0x6uر`BXiAӫjAku_y.emMUQszi((W]T|ȷ)]Z <|j?/au@8B 4o~["+WwʪWmI| !\Ɔ,BEY{?#Btm]E6ݶ@Э專m1VnS`)fo`rL,s=7 _8nC ʌ2g~nEJ3͔BTmr>Ny 1QE/ZP8E =sAwV[]< E> 7`(n@Uj ]͆0l񵋶R(T༣@ kN] C0d&r؆9G=vo :W#&abK|jsWHh^eӡ0u mE#J >#۽F߄! $k"ǫ: g w}/?@ئE w 'ۮkHb/l iMu{qh9 jE{v !A[QYk4M.r;82p_5:.{$|C9 eG<̐1n{W}ۈ9 X\*x}kt4pt)[NH6Sm!s'˸ eͦ .؎vط}EBZ[VnSGz)*.ou' 2`/aCvXs\6M}O0U<~bB \/6۴=uhصƮP}Vf&"0?\xO͉M7rnn;|^[X97;t6d̖Ebdg OAxv+<0Fd1=wRKnXiƿ@-uy9l No*ڋYWԮK/CAFW]_N~RF̬$oʏ H7v4aR{'NC@g.֙u[W[Ժ2PA}=ZЏ컭'4UcnGv+ sf}x}.Cאr cx,D DdU)2Oyb w$r|^CyǺǟ@M 3t' ъhT\ dW#My+:"PV(ŝkDX)@wFfXwv^]`h1t窣;ƧR"+cЌԍ%WI#Cˆ+kݼU;CJEF;?9BDIN-z f'zAnJDD&84́v$Aˋp\x dpٯlk]$~M,u^o ͟1{BxH2Z#Z5~P "ԗgZB lHZJ S:y4 t Զ%^<6ѕ'V7</H=7 {GSӵ;{ֳt'&.'{#t(uy!Hxxc)#Ύ^1bp gKOq\[qGǘEe3t&.C+t_P5,?'7~U][ !ZM\𐦎ᢩ=4 8it/Y,I`Yi}Jɢ[:v$0M"a+/#_O$w1hb\\HMH75$Ak ͲɲTM'VF}NDr% Yo +9~V޸["?l"K}A)"Ng8&";@dyH*Hm!/ H*R}P;,+x2~C:@w=۱mG⾋JZ8v8 Q\149}oqS( (g"kYk;Ob̘ ȕuekvZsIf*rK"A3 C[dEy/,@ sC$瑢;O!?tЉd)\Ge5h㻾qv}B;312׍n ,A |049P ĕ);7;G/D"'bgva!4 .wps-pub-logo { margin-top: -45px; text-align: center; position: relative; } .wps-autopromo .pub-wp-serveur > .wps-pub-logo img { border-radius: 100%; } .wps-autopromo .pub-wp-serveur > .wps-pub-logo:before { content: ''; display: block; width: 64px; height: 64px; border: 3px solid rgba(255, 255, 255, 0.27); box-shadow: 0px 0px 0px 5px #f2f2f2; position: absolute; border-radius: 100%; margin: 0 auto; left: 0; right: 0; top: 0; box-sizing: border-box; } .admin-color-light .wps-autopromo .pub-wp-serveur > .wps-pub-logo:before { box-shadow: 0px 0px 0px 5px #f5f5f5; } .wps-autopromo .pub-wp-serveur > .message { width: 100%; padding: 0px; font-size: 14px; box-sizing: border-box; margin-bottom: 15px; } .wps-autopromo .pub-wp-serveur .cta { padding: 0px 0px; } .wps-autopromo .btn-install-plugin.activate-now, .wps-autopromo .btn-pubwps { display: block; background: #fff; width: 100%; padding: 8px 20px; white-space: nowrap; margin-bottom: 4px; text-decoration: none; text-align: center; font-weight: 500; border-radius: 4px; line-height: 18px; height: unset; text-shadow: none; box-sizing: border-box; } .wps-autopromo .plugin-card-wps-bidouille .notice-dismiss:before { color: #ffffff; font: 400 26px/26px dashicons; } .wps-autopromo .btn-wps-details { color: #fff; } .wps-autopromo .btn-abonner { background: #95bf23; color: #fff; } .wps-autopromo .btn-abonner:focus, .wps-autopromo .btn-abonner:hover { color: #95bf23; background: #fff; box-shadow: none !important; } .wps-autopromo .btn-install-plugin.activate-now, .wps-autopromo .btn-install-plugin { background: #26a0d2; color: #fff; position: relative; } .wps-autopromo .btn-install-plugin.activate-now:hover, .wps-autopromo .btn-install-plugin:hover { color: #26a0d2; background: #fff; } .wps-autopromo .btn-wps-details { text-align: center; width: 100%; display: block; white-space: nowrap; padding: 0 20px; box-sizing: border-box; } .wps-autopromo a.btn-wps-details:focus { color: #fff !important; box-shadow: none !important; } .wps-autopromo .btn-install-plugin.updating-message:before { font: normal 20px/1 'dashicons'; position: absolute; left: 10px; top: 7px; } @media screen and (max-width: 860px) { .wps-autopromo .pub-wp-serveur, .wps-autopromo .pub-wp-serveur .logo, .wps-autopromo .pub-wp-serveur .message, .wps-autopromo .pub-wp-serveur .cta { display: block !important; padding: 5px 10px; } .wps-autopromo .btn-pubwps { width: unset; } .wps-autopromo .pub-wp-serveur .message, .wps-autopromo .pub-wp-serveur .logo { text-align: center; } .wps-autopromo .pub-wp-serveur .cta { margin-bottom: 20px; } } /*pub hébergement*/ /* *responsive */ @media screen and (max-width: 1300px) { .wps-limit-login-page-settings .wps-autopromo { padding: 0 0 0 0; } .wps-limit-login-page-settings .wps-content-limit-login, .wps-limit-login-page-settings .wps-autopromo, .wps-limit-login-page-settings .wps-content-tab { float: none; width: 100%; } .wps-limit-login-page-settings .wps-autopromo { display: table; } .wps-limit-login-page-settings .wps-content-limit-login { margin-bottom: 45px; } .wps-autopromo .pub-wp-serveur { width: calc(50% - 5px); width: -moz-calc(50% - 5px); width: -webkit-calc(50% - 5px); float: left; } .wps-autopromo .pub-wp-serveur:first-child { margin-right: 10px !important; margin-bottom: 45px !important; margin-top: 0px !important; } } @media screen and (max-width: 1000px) { .wps-autopromo .pub-wp-serveur { width: 100%; float: none; } .wps-autopromo .pub-wp-serveur:first-child { margin-right: 0px !important; margin-bottom: 45px !important; } } @media screen and (max-width: 960px) { .wps-limit-login-page-settings span.wps-ip { display: block; } } @media screen and (max-width: 830px) { .wps-limit-login-page-settings .wps-nav-menu a { width: 50%; } .wps-limit-login-page-settings .wps-nav-menu:nth-child(3) a, .wps-limit-login-page-settings .wps-nav-menu:nth-child(4) a { border-top: 1px solid rgba(255, 255, 255, 0.3); } } @media screen and (max-width: 782px) { .wps-limit-login-page-settings .wps-tab td.wps_unlock, .wps-limit-login-page-settings .wps-tab td.wps_unlocked { padding: 0px !important; } .wps-limit-login-page-settings .wps-tab td.wps_unlock a, .wps-limit-login-page-settings .wps-tab td.wps_unlocked span { position: relative; display: block; } .wps-limit-login-page-settings .wps-limit-login-log .hide-mobile { display: none; } .wps-limit-login-page-settings .wps-limit-login-log .display-mobile { display: block; width: 90px; float: left; font-weight: 600; text-align: right; margin-right: 5px; } .wps-limit-login-page-settings .wps-limit-login-log table td { padding: 10px 5px; border-bottom: 1px solid #d6d6d6; border-right: 0px; } } @media screen and (max-width: 690px) { .wps-title .wps-logo-img img { height: auto; width: 90%; } } @media screen and (max-width: 460px) { .wps-limit-login-page-settings .wps-nav-menu a { width: 100%; border-right: 0px !important; border-left: 0px !important; } .wps-limit-login-page-settings .wps-nav-menu a { border-top: 1px solid rgba(255, 255, 255, 0.3); } .wps-limit-login-page-settings .wps-nav-menu:first-child a { border-top: 0px !important; } }PKZ[OII,plugins/wps-limit-login/blocks/blacklist.phpnu[get_option( 'wps_limit_login_blacklist' ); $wps_limit_login_black_list_ips = ( is_array( $wps_limit_login_black_list_ips ) && ! empty( $wps_limit_login_black_list_ips ) ) ? implode( "\n", $wps_limit_login_black_list_ips ) : ''; ?>

PKZmKK(plugins/wps-limit-login/blocks/title.phpnu[

PKZg ,plugins/wps-limit-login/blocks/whitelist.phpnu[get_option( 'wps_limit_login_whitelist' ); $wps_limit_login_white_list_ips = ( is_array( $wps_limit_login_white_list_ips ) && ! empty( $wps_limit_login_white_list_ips ) ) ? implode( "\n", $wps_limit_login_white_list_ips ) : ''; if ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ip = $_SERVER['REMOTE_ADDR']; } ?>

PKZ &plugins/wps-limit-login/blocks/pub.phpnu[ 'install-plugin', 'plugin' => $add['plugin'], ), network_admin_url( 'update.php' ) ), 'install-plugin_' . $add['plugin'] ); $button_plugin = __( 'Install', 'wps-limit-login' ) . ' ' . $add['title']; } elseif ( is_plugin_inactive( $plugin ) ) { $action_url_plugin = wp_nonce_url( add_query_arg( array( 'action' => 'activate', 'plugin' => $plugin, 'plugin_status' => 'all', 'paged' => 1 ), network_admin_url( 'plugins.php' ) ), 'activate-plugin_' . $plugin ); $button_plugin = __( 'Enable', 'wps-limit-login' ) . ' ' . $add['title']; } if ( empty( $button_plugin ) ) { continue; } $details_url_plugin = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => $add['plugin'], 'TB_iframe' => true, 'width' => 722, 'height' => 949, ), network_admin_url( 'plugin-install.php' ) ); ?>
get_option( 'wps_limit_lockout_notify' ) ); $email_checked = in_array( 'email', $wps_limit_lockout_notify ) ? ' checked ' : ''; $wps_limit_login_show_credit_link = $this->get_option( 'wps_limit_login_show_credit_link' ); $show_credit_link = ''; if ( 'true' == $wps_limit_login_show_credit_link || '1' == $wps_limit_login_show_credit_link ) { $show_credit_link = 'checked'; } ?>

get_option( 'wps_limit_login_allow_local_options' ) ? 'checked' : '' ?> value="1"/>

network_mode ): ?>

get_option( 'wps_limit_login_use_local_options' ) ? '' : 'checked' ?> value="1" class="use_global_options"/>

value="email"/>

WPS Limit Login

value="true"/>

PKZ%9w w 0plugins/wps-limit-login/blocks/pub-wpserveur.phpnu[ 'install-plugin', 'plugin' => 'migrate-guru', ), network_admin_url( 'update.php' ) ), 'install-plugin_migrate-guru' ); $button = __( 'Install Migrate Guru', 'wps-limit-login' ); } else { $action_url = wp_nonce_url( add_query_arg( array( 'action' => 'activate', 'plugin' => $plugin, 'plugin_status' => 'all', 'paged' => 1 ), network_admin_url( 'plugins.php' ) ), 'activate-plugin_' . $plugin ); $button = __( 'Enable Migrate Guru', 'wps-limit-login' ); } if ( empty( $action_url ) ) { return false; } $details_url = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'migrate-guru', 'TB_iframe' => true, 'width' => 722, 'height' => 949, ), network_admin_url( 'plugin-install.php' ) ); ?>


WPSC&T)', 'wps-limit-login' ); ?>
PKZ4z&plugins/wps-limit-login/blocks/log.phpnu[get_option( 'wps_limit_lockouts_total', 0 ); $lockouts = $this->get_option( 'wps_limit_login_lockouts' ); $lockouts_now = is_array( $lockouts ) ? count( $lockouts ) : 0; ?>
0 ) : ?>

' . __( 'No lockouts yet', 'wps-limit-login' ) . '

'; endif; if ( $lockouts_now > 0 ) : ?>


0 ) : ?> 0 ) : ?>
get_option( 'wps_limit_login_logged' ); $log = \WPS\WPS_Limit_Login\Plugin::sorted_log_by_date( $log ); $lockouts = (array) $this->get_option( 'wps_limit_login_lockouts' ); ?>

PKZ;(4 4 'plugins/wps-limit-login/blocks/menu.phpnu[ PKZբ4/plugins/wps-limit-login/blocks/pub_wpboutik.phpnu[ 'install-plugin', 'plugin' => 'wpboutik', ), network_admin_url( 'update.php' ) ), 'install-plugin_wpboutik' ); $button = __( 'Install WPBoutik', 'wps-limit-login' ); } else { $action_url = wp_nonce_url( add_query_arg( array( 'action' => 'activate', 'plugin' => $plugin, 'plugin_status' => 'all', 'paged' => 1 ), network_admin_url( 'plugins.php' ) ), 'activate-plugin_' . $plugin ); $button = __( 'Enable WPBoutik', 'wps-limit-login' ); } $details_url = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'wpboutik', 'TB_iframe' => true, 'width' => 722, 'height' => 949, ), network_admin_url( 'plugin-install.php' ) ); ?>
PKZ*YY%plugins/wps-limit-login/composer.locknu[{ "_readme": [ "This file locks the dependencies of your project to a known state", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], "content-hash": "3f70dba486e59c616679955fd5c6769a", "packages": [], "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=5.6.0" }, "platform-dev": [], "plugin-api-version": "2.0.0" } PKZ5Bqq.plugins/wps-limit-login/admin_page/options.phpnu[ PKZ̲[+plugins/wps-limit-login/vendor/autoload.phpnu[= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require __DIR__ . '/autoload_static.php'; call_user_func(\Composer\Autoload\ComposerStaticInitbc3098982633c785c2ddf8c2ed44f740::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { $loader->set($namespace, $path); } $map = require __DIR__ . '/autoload_psr4.php'; foreach ($map as $namespace => $path) { $loader->setPsr4($namespace, $path); } $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { $loader->addClassMap($classMap); } } $loader->register(true); return $loader; } } PKZEE6plugins/wps-limit-login/vendor/composer/installed.jsonnu[{ "packages": [], "dev": true, "dev-package-names": [] } PKZt!ו?plugins/wps-limit-login/vendor/composer/autoload_namespaces.phpnu[ array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '554bd1ed85354b5090e670e682012a713e398846', 'name' => 'wpserveur/wps-limit-login', ), 'versions' => array ( 'wpserveur/wps-limit-login' => array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '554bd1ed85354b5090e670e682012a713e398846', ), ), ); public static function getInstalledPackages() { return array_keys(self::$installed['versions']); } public static function isInstalled($packageName) { return isset(self::$installed['versions'][$packageName]); } public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } public static function getVersionRanges($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } $ranges = array(); if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { $ranges[] = self::$installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } public static function getVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['version'])) { return null; } return self::$installed['versions'][$packageName]['version']; } public static function getPrettyVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { return null; } return self::$installed['versions'][$packageName]['pretty_version']; } public static function getReference($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['reference'])) { return null; } return self::$installed['versions'][$packageName]['reference']; } public static function getRootPackage() { return self::$installed['root']; } public static function getRawData() { return self::$installed; } public static function reload($data) { self::$installed = $data; } } PKZdW5plugins/wps-limit-login/vendor/composer/installed.phpnu[ array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '554bd1ed85354b5090e670e682012a713e398846', 'name' => 'wpserveur/wps-limit-login', ), 'versions' => array ( 'wpserveur/wps-limit-login' => array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '554bd1ed85354b5090e670e682012a713e398846', ), ), ); PKZ@=plugins/wps-limit-login/vendor/composer/autoload_classmap.phpnu[ $vendorDir . '/composer/InstalledVersions.php', ); PKZ?T447plugins/wps-limit-login/vendor/composer/ClassLoader.phpnu[ * Jordi Boggiano * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Autoload; /** * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. * * $loader = new \Composer\Autoload\ClassLoader(); * * // register classes with namespaces * $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony', __DIR__.'/framework'); * * // activate the autoloader * $loader->register(); * * // to enable searching the include path (eg. for PEAR packages) * $loader->setUseIncludePath(true); * * In this example, if you try to use a class in the Symfony\Component * namespace or one of its children (Symfony\Component\Console for instance), * the autoloader will first look for the class under the component/ * directory, and it will then fallback to the framework/ directory if not * found before giving up. * * This class is loosely based on the Symfony UniversalClassLoader. * * @author Fabien Potencier * @author Jordi Boggiano * @see https://www.php-fig.org/psr/psr-0/ * @see https://www.php-fig.org/psr/psr-4/ */ class ClassLoader { // PSR-4 private $prefixLengthsPsr4 = array(); private $prefixDirsPsr4 = array(); private $fallbackDirsPsr4 = array(); // PSR-0 private $prefixesPsr0 = array(); private $fallbackDirsPsr0 = array(); private $useIncludePath = false; private $classMap = array(); private $classMapAuthoritative = false; private $missingClasses = array(); private $apcuPrefix; public function getPrefixes() { if (!empty($this->prefixesPsr0)) { return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); } return array(); } public function getPrefixesPsr4() { return $this->prefixDirsPsr4; } public function getFallbackDirs() { return $this->fallbackDirsPsr0; } public function getFallbackDirsPsr4() { return $this->fallbackDirsPsr4; } public function getClassMap() { return $this->classMap; } /** * @param array $classMap Class to filename map */ public function addClassMap(array $classMap) { if ($this->classMap) { $this->classMap = array_merge($this->classMap, $classMap); } else { $this->classMap = $classMap; } } /** * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * * @param string $prefix The prefix * @param array|string $paths The PSR-0 root directories * @param bool $prepend Whether to prepend the directories */ public function add($prefix, $paths, $prepend = false) { if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( (array) $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, (array) $paths ); } return; } $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { $this->prefixesPsr0[$first][$prefix] = (array) $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( (array) $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], (array) $paths ); } } /** * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param array|string $paths The PSR-4 base directories * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException */ public function addPsr4($prefix, $paths, $prepend = false) { if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( (array) $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, (array) $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( (array) $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], (array) $paths ); } } /** * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * * @param string $prefix The prefix * @param array|string $paths The PSR-0 base directories */ public function set($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr0 = (array) $paths; } else { $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; } } /** * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param array|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException */ public function setPsr4($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr4 = (array) $paths; } else { $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } } /** * Turns on searching the include path for class files. * * @param bool $useIncludePath */ public function setUseIncludePath($useIncludePath) { $this->useIncludePath = $useIncludePath; } /** * Can be used to check if the autoloader uses the include path to check * for classes. * * @return bool */ public function getUseIncludePath() { return $this->useIncludePath; } /** * Turns off searching the prefix and fallback directories for classes * that have not been registered with the class map. * * @param bool $classMapAuthoritative */ public function setClassMapAuthoritative($classMapAuthoritative) { $this->classMapAuthoritative = $classMapAuthoritative; } /** * Should class lookup fail if not found in the current class map? * * @return bool */ public function isClassMapAuthoritative() { return $this->classMapAuthoritative; } /** * APCu prefix to use to cache found/not-found classes, if the extension is enabled. * * @param string|null $apcuPrefix */ public function setApcuPrefix($apcuPrefix) { $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; } /** * The APCu prefix in use, or null if APCu caching is not enabled. * * @return string|null */ public function getApcuPrefix() { return $this->apcuPrefix; } /** * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not */ public function register($prepend = false) { spl_autoload_register(array($this, 'loadClass'), true, $prepend); } /** * Unregisters this instance as an autoloader. */ public function unregister() { spl_autoload_unregister(array($this, 'loadClass')); } /** * Loads the given class or interface. * * @param string $class The name of the class * @return bool|null True if loaded, null otherwise */ public function loadClass($class) { if ($file = $this->findFile($class)) { includeFile($file); return true; } } /** * Finds the path to the file where the class is defined. * * @param string $class The name of the class * * @return string|false The path if found, false otherwise */ public function findFile($class) { // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; } if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { return false; } if (null !== $this->apcuPrefix) { $file = apcu_fetch($this->apcuPrefix.$class, $hit); if ($hit) { return $file; } } $file = $this->findFileWithExtension($class, '.php'); // Search for Hack files if we are running on HHVM if (false === $file && defined('HHVM_VERSION')) { $file = $this->findFileWithExtension($class, '.hh'); } if (null !== $this->apcuPrefix) { apcu_add($this->apcuPrefix.$class, $file); } if (false === $file) { // Remember that this class does not exist. $this->missingClasses[$class] = true; } return $file; } private function findFileWithExtension($class, $ext) { // PSR-4 lookup $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; $first = $class[0]; if (isset($this->prefixLengthsPsr4[$first])) { $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); $search = $subPath . '\\'; if (isset($this->prefixDirsPsr4[$search])) { $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { if (file_exists($file = $dir . $pathEnd)) { return $file; } } } } } // PSR-4 fallback dirs foreach ($this->fallbackDirsPsr4 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { return $file; } } // PSR-0 lookup if (false !== $pos = strrpos($class, '\\')) { // namespaced class name $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); } else { // PEAR-like class name $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; } if (isset($this->prefixesPsr0[$first])) { foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { if (0 === strpos($class, $prefix)) { foreach ($dirs as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } } } } // PSR-0 fallback dirs foreach ($this->fallbackDirsPsr0 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } // PSR-0 include paths. if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { return $file; } return false; } } /** * Scope isolated include. * * Prevents access to $this/self from included files. */ function includeFile($file) { include $file; } PKZ ../plugins/wps-limit-login/vendor/composer/LICENSEnu[ Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PKZD9plugins/wps-limit-login/vendor/composer/autoload_psr4.phpnu[= 50600)) { $issues[] = 'Your Composer dependencies require a PHP version ">= 5.6.0". You are running ' . PHP_VERSION . '.'; } if ($issues) { if (!headers_sent()) { header('HTTP/1.1 500 Internal Server Error'); } if (!ini_get('display_errors')) { if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); } elseif (!headers_sent()) { echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; } } trigger_error( 'Composer detected issues in your platform: ' . implode(' ', $issues), E_USER_ERROR ); } PKZ&A((;plugins/wps-limit-login/vendor/composer/autoload_static.phpnu[ __DIR__ . '/..' . '/composer/InstalledVersions.php', ); public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { $loader->classMap = ComposerStaticInitbc3098982633c785c2ddf8c2ed44f740::$classMap; }, null, ClassLoader::class); } } PKZh"plugins/wps-limit-login/readme.txtnu[=== WPS Limit Login === Contributors: WPServeur, NicolasKulka, wpformation Donate link: https://www.paypal.me/donateWPServeur Tags: login, limit login, security, authentication, WPS Limit Login, wps-limit-login, Limit Login Attempts, Limit Login Attempts Reloaded, Limit Login Attempts Revamped, Limit Login Attempts Renovated, Limit Login Attempts Updated, Better Limit Login Attempts, Limit Login Attempts Renewed, Limit Login Attempts Upgraded, limit, wpserveur Requires at least: 4.2 Tested up to: 6.5 Stable tag: 1.5.9.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html WPS Limit login limit connection attempts by IP address == Description == = Français = Limitez le nombre de tentatives de connexion possibles via la page de connexion et en utilisant les cookies auth. WordPress par défaut permet des tentatives de connexion illimitées soit via la page de connexion ou en envoyant des cookies spéciaux. Cela permet aux mots de passe (ou hashs) d'être craqués via la force brute relativement facilement. WPS Limit login limite les tentatives de connexion et bloque l'envoi d'autres tentatives à une adresse Internet après l'atteinte d'une limite spécifiée, ce qui rend une attaque par force brute difficile, voire impossible. Caractéristiques: * Limiter le nombre de nouvelles tentatives lors de la connexion (pour chaque IP). Ceci est entièrement personnalisable. * Limitez le nombre de tentatives de connexion en utilisant des cookies d'autorisation de la même manière. * Informe l'utilisateur sur les tentatives restantes ou le temps de verrouillage sur la page de connexion. * Journalisation et notification par courriel facultative. * Gère le serveur derrière le proxy inverse (reverse proxy). * Il est possible de mettre en liste blanche / liste noire les adresses IP. * Compatibilité avec le pare-feu du site Web Sucuri. * Protection de passerelle **XMLRPC**. * **Woocommerce** protection de la page de connexion. * **Compatibilité multi-sites** avec des paramètres MU supplémentaires. Pour en savoir plus lisez l'article suivant : https://wpformation.com/wps-limit-login Ce plugin vous est gentiment proposé par WPServeur l'hébergeur spécialisé WordPress. Découvrez également nos autres extensions gratuites : - WPS Hide Login pour changer votre URL de connexion en ce que vous voulez. - WPS Bidouille pour optimiser votre WordPress et faire le plein d'infos. - WPS Cleaner pour nettoyer votre site WordPress. Ce plugin est seulement maintenu, ce qui signifie que nous ne garantissons pas un support gratuit. Envisagez de signaler un problème et soyez patient. = English = Limit the number of login attempts that possible both through the normal login as well as using the auth cookies. WordPress by default allows unlimited login attempts either through the login page or by sending special cookies. This allows passwords (or hashes) to be cracked via brute-force relatively easily. WPS Limit login blocks an Internet address from making further attempts after a specified limit on retries has been reached, making a brute-force attack difficult or impossible. Features: * Limit the number of retry attempts when logging in (per each IP). This is fully customizable. * Limit the number of attempts to log in using authorization cookies in the same way. * Informs the user about the remaining retries or lockout time on the login page. * Optional logging and optional email notification. * Handles server behind the reverse proxy. * It is possible to whitelist/blacklist IPs. * Sucuri Website Firewall compatibility. * **XMLRPC** gateway protection. * **Woocommerce** login page protection. * **Multi-site** compatibility with extra MU settings. To learn more read the following article: https://wpformation.com/wps-limit-login This plugin is kindly proposed by WPServeur the specialized WordPress web host. Découvrez également nos autres extensions gratuites : - WPS Hide Login to change your login URL to whatever you want. - WPS Bidouille to optimize your WordPress and get more info. - WPS Cleaner to clean your WordPress site. This plugin is only maintained, which means we do not guarantee free support. Consider reporting a problem and be patient. == Installation == = Français = 1. Aller dans Extensions › Ajouter. 2. Rechercher *WPS Limit Login*. 3. Recherchez ce plugin, téléchargez-le et activez-le. = English = 1. Go to Plugins › Add New. 2. Search for *WPS Limit Login*. 3. Look for this plugin, download and activate it. == Frequently asked questions == == Screenshots == 1. Configuration 2. Whitelist 3. Blacklist 4. Log 5. WP Login == Changelog == = 1.5.9.1 = * Fix Fatal Error = 1.5.9 = * Tested up to 6.5 * Add pub WPBoutik = 1.5.8.1 = * Fix : Fatal error: Uncaught TypeError: Typed property WPS\WPS_Limit_Login\Plugin::$allow_local_options must be an instance of WPS\WPS_Limit_Login\mixed, bool used = 1.5.8 = * Tested up to 6.4 * Fix Deprecated with PHP 8.3 = 1.5.7 = * Tested up to 6.3 = 1.5.6 = * Tested up to 6.0 = 1.5.5 = * Tested up to 5.9 = 1.5.4 = * Tested up to 5.8 = 1.5.3 = * Tested up to 5.7 = 1.5.2 = * Fix : remove WP_Review = 1.5.1 = * Fix fatal error with vendor wp-dismissible-notices-handler and wp-review-me = 1.5 = * Tested up to 5.6 * Add compatibility with PHP8 = 1.4.9 = * Fix : range_ip * Add : button for add your ip in whitelist = 1.4.8 = * Fix : save option "wps_limit_lockout_notify" = 1.4.7 = * Tested up to 5.4 = 1.4.6.1 = * Fix : Security vulnerabilities = 1.4.6 = * Fix : Security vulnerabilities (Thanks @juliobox) = 1.4.5 = * Fix : "Fatal error: Uncaught Error: Class 'WPS\WPS_Limit_Login\IXR_Error' not found" = 1.4.4 = * Fix : "Fatal error: Uncaught Error: Class ‘WPS\WPS_Limit_Login\WP_Error’ not found" = 1.4.3 = * Fix : Fatal error on log = 1.4.2 = * Fix : Error with library for compat WordPress and PHP = 1.4.1 = * Fix : Remove message review if PHP is too old = 1.4 = * Enhancement code with composer, namespace and autoload * Fix remove review message = 1.3 = * Update readme * Add: review message = 1.2 = * Remove: redirect activate = 1.1 = * Enhancement: Add widget dashboard = 1.0 = * Initial version.PKZdg %plugins/wps-limit-login/uninstall.phpnu[get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A ); delete_site_option( 'wps_limit_lockout_notify' ); delete_site_option( 'wps_limit_login_show_credit_link' ); delete_site_option( 'wps_limit_login_allow_local_options' ); delete_site_option( 'wps_limit_login_use_local_options' ); delete_site_option( 'wps_limit_login_allowed_retries' ); delete_site_option( 'wps_limit_login_lockout_duration' ); delete_site_option( 'wps_limit_login_valid_duration' ); delete_site_option( 'wps_limit_login_allowed_lockouts' ); delete_site_option( 'wps_limit_login_long_duration' ); delete_site_option( 'wps_limit_login_notify_email_after' ); delete_site_option( 'wps_limit_login_whitelist' ); delete_site_option( 'wps_limit_login_blacklist' ); delete_site_option( 'wps_limit_login_retries' ); delete_site_option( 'wps_limit_login_retries_valid' ); delete_site_option( 'wps_limit_login_logged' ); delete_site_option( 'wps_limit_lockouts_total' ); delete_site_option( 'wps_limit_login_lockouts' ); if ( $blogs ) { foreach ( $blogs as $blog ) { switch_to_blog( $blog['blog_id'] ); delete_option( 'wps_limit_lockout_notify' ); delete_option( 'wps_limit_login_show_credit_link' ); delete_option( 'wps_limit_login_allow_local_options' ); delete_option( 'wps_limit_login_use_local_options' ); delete_option( 'wps_limit_login_allowed_retries' ); delete_option( 'wps_limit_login_lockout_duration' ); delete_option( 'wps_limit_login_valid_duration' ); delete_option( 'wps_limit_login_allowed_lockouts' ); delete_option( 'wps_limit_login_long_duration' ); delete_option( 'wps_limit_login_notify_email_after' ); delete_option( 'wps_limit_login_whitelist' ); delete_option( 'wps_limit_login_blacklist' ); delete_option( 'wps_limit_login_retries' ); delete_option( 'wps_limit_login_retries_valid' ); delete_option( 'wps_limit_login_logged' ); delete_option( 'wps_limit_lockouts_total' ); delete_option( 'wps_limit_login_lockouts' ); //info: optimize table $GLOBALS['wpdb']->query( "OPTIMIZE TABLE `" . $GLOBALS['wpdb']->prefix . "options`" ); restore_current_blog(); } } } else { delete_option( 'wps_limit_lockout_notify' ); delete_option( 'wps_limit_login_show_credit_link' ); delete_option( 'wps_limit_login_allow_local_options' ); delete_option( 'wps_limit_login_use_local_options' ); delete_option( 'wps_limit_login_allowed_retries' ); delete_option( 'wps_limit_login_lockout_duration' ); delete_option( 'wps_limit_login_valid_duration' ); delete_option( 'wps_limit_login_allowed_lockouts' ); delete_option( 'wps_limit_login_long_duration' ); delete_option( 'wps_limit_login_notify_email_after' ); delete_option( 'wps_limit_login_whitelist' ); delete_option( 'wps_limit_login_blacklist' ); delete_option( 'wps_limit_login_retries' ); delete_option( 'wps_limit_login_retries_valid' ); delete_option( 'wps_limit_login_logged' ); delete_option( 'wps_limit_lockouts_total' ); delete_option( 'wps_limit_login_lockouts' ); //info: optimize table $GLOBALS['wpdb']->query( "OPTIMIZE TABLE `" . $GLOBALS['wpdb']->prefix . "options`" ); }PKZb@.? :plugins/wps-limit-login/languages/wps-limit-login-ro_RO.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b?\ EIAM8 $ % D Z k : @  ! #8 \ r }  '       %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:06+0100 PO-Revision-Date: 2018-03-02 12:06+0100 Last-Translator: Robert Tudor Language-Team: German Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d incercari de logare nereusite (%d inchidere(i)) de la IP: %s%d ora%d ore%d inchidere de la ultima resetare%d inchideri de la ultima resetare%d Minut%d Minuteincercare ramasa %dincercari ramasa %dEROARE: Nume de utilizator sau parola incorecta.EROARE: Prea multe incercari nereusite.Sterge logAm curatat logul cu IPAm curatat numaratoarea inchiderilorNotifica adminul dupaIP-ul a fost blocat pentru %s.Ultimul incercare: %sLog de inchidereNici o inchidere pana acumVa rugam incercati in %d ora.Va rugam incercati in %d oreVa rugam incercati in %d Minut.Va rugam incercati in %d Minute.Va rugam incercati mai tarziu.Reseteaza numaratoareaReseteaza numaratoarea inchiderilorRestaureaza inchideriStatisticiincercari permiseoreore pana cand incercarile sunt resetateinchideriinchiderile maresc timpul inPKZE(w2w2:plugins/wps-limit-login/languages/wps-limit-login-tr_TR.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:07+0100\n" "PO-Revision-Date: 2018-03-02 12:07+0100\n" "Last-Translator: canarkadas \n" "Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "İstatistik" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "En son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d " msgstr[1] "En son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d " #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Henüz giriş denemesi yok" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d no'lu IP halen engelleniyor" msgstr[1] "%d no'lu IP halen engelleniyor" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Sayacı Sıfırla" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Giriş denemelerini düzenleyin" #: blocks/log.php:41 msgid "Lockout log" msgstr "Giriş denemesi kayıtları" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Kayıtları Sil" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP was geblokkeerd voor %s." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "Müsaade edilen giriş denemesi sayınızı yazınız." #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "Sıfırlamaya kadar yapılabilecek giriş denemesi sayınızı yazınız." #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "Defadan fazla giriş denemesi yapılamasın." #: blocks/settings.php:54 msgid "hours" msgstr "(Saat içinde)" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Site yöneticisi" #: blocks/settings.php:61 msgid "lockouts" msgstr "giriş denemesi olduğunda e-posta ile bilgilendirilsin." #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d kez daha giriş yapmayı deneyebilirsiniz." msgstr[1] "%d kez daha giriş yapmayı deneyebilirsiniz." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "HATA: Çok fazla sayıda başarısız giriş denemesi." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d Saat" msgstr[1] "%d Saat" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d Dakika" msgstr[1] "%d Dakika" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "" "%d başarısız giriş denemesi (%d). Aynı IP adresi ile yapılan deneme: %s " #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Denemede kullanılan isim: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "%s no'lu IP engellendi" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Lütfen daha sonra tekrar deneyin." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Lütfen %d saat sonra tekrar deneyin." msgstr[1] "Lütfen %d saat sonra tekrar deneyin." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Lütfen %d dakika sonra tekrar deneyin." msgstr[1] "Lütfen %d dakika sonra tekrar deneyin." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "HATA: Yanlış kullanıcı adı veya şifre." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP denemesi yapanların bilgileri silindi" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Giriş denemeleri sayacı sıfırlandı" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Giriş denemeleri silindi" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Tüm giriş denemeleri" #~ msgid "Active lockouts" #~ msgstr "Aktif giriş denemesi" #~ msgid "Options" #~ msgstr "Tercihler" #~ msgid "Lockout" #~ msgstr "Giriş denemeleri" #~ msgid "minutes lockout" #~ msgstr "Dakika sonra yeniden giriş denemesi yapılabilsin." #~ msgid "Notify on lockout" #~ msgstr "" #~ "Giriş denemeleri bildirilsin (Yazacağınız sayı giriş denemesini değil, " #~ "her IP no'su adına ayrı bir kullanıcıyı ifade eder)" #~ msgid "Tried to log in as" #~ msgstr "İsim ve deneme sayısı" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Hatalı giriş denemeleri bilgisi" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Hatalı giriş denemeleri bilgisi" #~ msgid "Options changed" #~ msgstr "Seçenekler değiştirildi" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Sizin IP adresiniz: %s (bu IP ile site gezilebilir)." #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Proxy sunucusu kullanıyorsunuz (proxy IP: %s) %s IP adresinizle ile site " #~ "gezilebilir." #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Seçenekler geçersiz. Girdilerin doğru olduğundan emin " #~ "olun, daha fazla bilgi için bakınız." #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Ayarlar" #~ msgid "Site connection" #~ msgstr "Site bağlantınız" #~ msgid "Direct connection" #~ msgstr "Direk bağlantı" #~ msgid "From behind a reversy proxy" #~ msgstr "Bir proxy (vekil, aracı sunucu) arkasından" #~ msgid "Handle cookie login" #~ msgstr "Çerezler kullanılarak giriş yapılabilsin" #~ msgid "Yes" #~ msgstr "Evet" #~ msgid "No" #~ msgstr "Hayır" #~ msgid "Log IP" #~ msgstr "IP kayıtları dahil" #~ msgid "Change Options" #~ msgstr "KAYDET" #~ msgid "IP|Internet address" #~ msgstr "IP No" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d giriş denemesi" #~ msgstr[1] "%d giriş denemesi" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NOT: Eklenti sadece Wordpress 2.7 ve daha sonrası ile " #~ "çalışır." #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "Her IP için giriş deneme sayısı (çerezler dahil)." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ}t :plugins/wps-limit-login/languages/wps-limit-login-es_ES.monu[)48N%7t7 +AU my:> )= NYio!>L>WSD?0 A W "s      P TT      5 &; b k     %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sInternet addressIPLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:04+0100 PO-Revision-Date: 2018-03-02 12:04+0100 Last-Translator: Marcelo Pedra Language-Team: Español Language: es_AR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d intentos de acceso fallidos (%d bloqueo(s)) desde la IP: %s%d hora%d horas%d bloqueo desde el último reinicio.%d bloqueos desde el último reinicio.%d minuto%d minutosLe queda %d intento más.Le quedan %d intentos más.ERROR: Nombre de usuario o contraseña incorrectos.ERROR: Demasiados intentos de acceso fallidos.Limpiar registroDirecciones liberadasBloqueos actuales liberadosEnviar email al administrador cadaLa IP se ha bloqueado para %sIPUltimo usuario probado: %sRegistro de bloqueosNingún bloqueo hasta ahoraPor favor inténtelo dentro de %d hora.Por favor inténtelo dentro de %d horas.Por favor inténtelo dentro de %d minuto.Por favor inténtelo dentro de %d minutos.Por favor inténtelo más tarde.Reiniciar contadorReiniciar contador de bloqueosRestablecer bloqueosEstadísticasreintentos permitidoshorashoras hasta restablecer los reintentosbloqueosbloqueos incrementan el tiempo aPKZR Z Z 7plugins/wps-limit-login/languages/wps-limit-login-ca.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b<NRI?L8+ 8 Y t  b d *i       , / 9      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:04+0100 PO-Revision-Date: 2018-03-02 12:04+0100 Last-Translator: Robert Buj Language-Team: Catalan Language: ca_ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d intents d'accedir fallits (%d bloqueig(s)) de de l'IP: %s%d hora%d hores%d bloqueig des de l'ultim restabliment.%d bloqueigs des de l'ultim restabliment.%d minut%d minuts%d intent restant.%d intents restants.ERROR: Nom d'usuari o contrasenya incorrectes.ERROR: Massa intents d'accedir fallits.Netejar registreNetejat el registre IPNetejats els bloqueigs actualsEnviar després un correu a l'administradorLa IP ha estat bloquejada per %sÚltim intent d'usuari: %sRegistre de bloqueigsEncara sense bloqueigsSi us plau torneu-ho a provar d'aquí a %d hora.Si us plau torneu-ho a provar d'aquí a %d hores.Si us plau torneu-ho a provar d'aquí a %d minut.Si us plau torneu-ho a provar d'aquí a %d minuts.Si us plau torneu-ho a intentar més tard.Restablir contadorRestablir contador de bloqueigRestablir bloqueigsEstadístiquesreintents permesoshoreshores fins que es restableixen els reintentsBloqueigsbloqueigs incrementen el temps aPKZA0 :plugins/wps-limit-login/languages/wps-limit-login-bg_BG.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bPpb ]w  ' 2 ;F ! ; & , m4 w 8 S .o )    8 = ZT      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:03+0100 PO-Revision-Date: 2018-03-02 12:03+0100 Last-Translator: Hristo Chakarov Language-Team: iNetStudio Language: bg_BG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-KeywordsList: __;_e;_ngettext:1,2 X-Generator: Poedit 1.8.12 %d грешни опити за вход (%d заключвания) от IP: %s%d час%d часа%d заключване от последното нулиране%d заключвания от последното нулиране%d минута%d минутиИмате право на само %d опит!Имате право на още %d опита.ГРЕШКА: Грешно потребителско име или парола.ГРЕШКА: Твърде много грешни опита за вход.Изчисти логIP логът беше зачистенЗаключванията са изчистениПрати Email до администратора следIP е блокирано за %s.Последно потребителя е опитал: %sЛог на заключваниятаНяма заключвания досегаМоля, опитайте пак след %d час.Моля, опитайте пак след %d часа.Моля, опитайте пак след %d минута.Моля, опитайте пак след %d минути.Моля, опитайте отново по-късно.Нулирай броячаНулирай броя заключванияПоднови заключваниятаСтатистикипозволени опитичасачаса грешните опити се нулиратзаключваниязаключвания увеличават времето на заключване на PKZױ x1x1:plugins/wps-limit-login/languages/wps-limit-login-nl_NL.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:06+0100\n" "PO-Revision-Date: 2018-03-02 12:06+0100\n" "Last-Translator: BjornW \n" "Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistieken" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d Blokkade sinds de laatste reset" msgstr[1] "%d Blokkades sinds de laatste reset" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Nog geen blokkades actief" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP is op dit moment voor inloggen geblokkeerd" msgstr[1] "%d IP is op dit moment voor inloggen geblokkeerd" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Teller resetten" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Blokkades opheffen" #: blocks/log.php:41 msgid "Lockout log" msgstr "Log van blokkades" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Log wissen" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP kayıtları dahil" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "mogelijke inlogpogingen" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "aantal uren voordat het aantal ondernomen pogingen wordt gereset" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "Blokkades verhogen de blokkade tijd naar" #: blocks/settings.php:54 msgid "hours" msgstr "uren" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Email de beheerder na" #: blocks/settings.php:61 msgid "lockouts" msgstr "Blokkades" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "Nog %d loginpoging mogelijk." msgstr[1] "Nog %d loginpogingen mogelijk." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "FOUT: Teveel gefaalde inlogpogingen." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d uur" msgstr[1] "%d uren" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minute" msgstr[1] "%d minuten" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d gefaalde login pogingen (%d blokkades) van IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Laatste inlogpoging werd gedaan met de gebruikersnaam: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP was geblokkeerd voor %s." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Probeer het later nogmaals" #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] ".Probeer het over %d uur nogmaals." msgstr[1] "Probeer het over %d uren nogmaals." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Probeer het over %d minuut nogmaals" msgstr[1] "Probeer het over %d minuten nogmaals." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "FOUT: Ongeldige gebruikersnaam of wachtwoord." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP log is gewist" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Reset blokkades teller" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Actieve blokkades zijn gewist" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Totaal aantal blokkades" #~ msgid "Active lockouts" #~ msgstr "Actieve blokkades" #~ msgid "Options" #~ msgstr "Instellingen" #~ msgid "Lockout" #~ msgstr "Blokkade" #~ msgid "minutes lockout" #~ msgstr "Aantal minuten geblokkeerd na een gefaalde inlogpoging" #~ msgid "Notify on lockout" #~ msgstr "Waarschuwen in het geval van een blokkade" #~ msgid "Tried to log in as" #~ msgstr "Inlogpoging als" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Teveel gefaalde login pogingen" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Teveel gefaalde login pogingen" #~ msgid "Options changed" #~ msgstr "Instellingen zijn gewijzigd" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "Het lijkt erop dat de site direct te bereiken is (van uw IP-adres: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Het lijkt erop dat de site te bereiken is via een proxy server, (Proxy " #~ "Server IP adres: %s, Uw IP-adres: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "De huidige instelling lijkt ongeldig te zijn. Pas deze " #~ "zo aan dat deze wel geldig is, informatie over hoe u dit kunt doen kunt u " #~ "vinden in de FAQ (in het Engels)." #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Instellingen" #~ msgid "Site connection" #~ msgstr "Verbinding naar deze website" #~ msgid "Direct connection" #~ msgstr "Directe verbinding" #~ msgid "From behind a reversy proxy" #~ msgstr "Via een reverse-proxy" #~ msgid "Handle cookie login" #~ msgstr "Omgaan met cookie loginverzoeken" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nee" #~ msgid "Log IP" #~ msgstr "Log IP adres" #~ msgid "Change Options" #~ msgstr "Instellingen aanpassen" #~ msgid "IP|Internet address" #~ msgstr "IP|Internet adres" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d Blokkade" #~ msgstr[1] "%d Blokkades" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NB: Werkt alleen vanaf Wordpress 2.7 of hogere versie " #~ "nummers" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Beperkt het aantal inlogpogingen, inclusief bij het gebruik van cookies, " #~ "voor elk IP adres." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZs :plugins/wps-limit-login/languages/wps-limit-login-nb_NO.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b6MOM5I4 $ E V 0n 5     * 5 O U l 'y      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.2 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:05+0100 PO-Revision-Date: 2018-03-02 12:05+0100 Last-Translator: Rune G Language-Team: DigitalHverdag Language: nb_NO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d påloggingsforsøk (stoppet %d gang(er)) fra IP: %s%d time%d timer%d blokkering siden siste nullstilling%d blokkeringer siden siste nullstilling%d minutt%d minutter%d forsøk gjenstår.%d forsøk gjenstår.Feil: Feil brukernavn eller passord.Feil: For mange påloggingsforsøk.Nullstill loggenNullstill IP loggenFjernet gjeldende blokkeringerSend epost til admin etterIP blokkert i %sSiste brukernavn som feilet : %sBlokkerings loggIngen blokkeringer endaPrøv igjen om %d time.Prøv igjen om %d timer.Prøv igjen om %d minutt.Prøv igjen om %d minutter.Prøv igjen senereNullstill tellerNullstill antall blokkeringerFjern blokkeringerStatistikkAntall påloggingsforsøktimertimer til nullstillingblokkeringerBlokkeringer øker blokkeringstiden tilPKZx :plugins/wps-limit-login/languages/wps-limit-login-ru_RU.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bnYwXdeS   8 7! %Y >  | 5 < ,X )  >  @ O @`      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:06+0100 PO-Revision-Date: 2018-03-02 12:06+0100 Last-Translator: Studio-XL.com Language-Team: Catalan Language: ca_ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d неудачных попыток авторизации (%d изоляция(ий)) с адреса IP: %s%d час%d часов%d изоляция с последнего сброса счетчика.%d изоляций с последнего сброса счетчика.%d минута%d минут%d intent restant.Осталось %d попыток.ОШИБКА: Неверное имя пользователя или пароль.ВНИМАНИЕ: превышен лимит попыток авторизации.Очистить логЧистый IP логСуществующие изоляции очищеныОтправлять имейл админу послеIP заблокирован для %sПоследняя попытка пользователя: %sЛог изоляцийПока без изоляцийПожалуйста попробуйте через %d час. Пожалуйста попробуйте через %d часов.Пожалуйста попробуйте через %d минуту.Пожалуйста попробуйте через %d минут.Пожалуйста попробуйте позже.Сброс счетчикаСброс счетчика изоляцийВосстановить изоляцииСтатистикаразрешено дополнительных попытокчасовчасов до сброса количества попытокизоляцийизоляций повысят время изоляции доPKZ;;00:plugins/wps-limit-login/languages/wps-limit-login-es_ES.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:04+0100\n" "PO-Revision-Date: 2018-03-02 12:04+0100\n" "Last-Translator: Marcelo Pedra \n" "Language-Team: Español \n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Estadísticas" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d bloqueo desde el último reinicio." msgstr[1] "%d bloqueos desde el último reinicio." #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Ningún bloqueo hasta ahora" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "La IP %d actualmente tiene restringido el acceso" msgstr[1] "La IP %d actualmente tiene restringido el acceso" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Reiniciar contador" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Restablecer bloqueos" #: blocks/log.php:41 msgid "Lockout log" msgstr "Registro de bloqueos" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Limpiar registro" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 msgctxt "Internet address" msgid "IP" msgstr "IP" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "reintentos permitidos" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "horas hasta restablecer los reintentos" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "bloqueos incrementan el tiempo a" #: blocks/settings.php:54 msgid "hours" msgstr "horas" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Enviar email al administrador cada" #: blocks/settings.php:61 msgid "lockouts" msgstr "bloqueos" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "Le queda %d intento más." msgstr[1] "Le quedan %d intentos más." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "ERROR: Demasiados intentos de acceso fallidos." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d horas" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuto" msgstr[1] "%d minutos" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d intentos de acceso fallidos (%d bloqueo(s)) desde la IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Ultimo usuario probado: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "La IP se ha bloqueado para %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Por favor inténtelo más tarde." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Por favor inténtelo dentro de %d hora." msgstr[1] "Por favor inténtelo dentro de %d horas." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Por favor inténtelo dentro de %d minuto." msgstr[1] "Por favor inténtelo dentro de %d minutos." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "ERROR: Nombre de usuario o contraseña incorrectos." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Direcciones liberadas" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Reiniciar contador de bloqueos" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Bloqueos actuales liberados" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Bloqueos totales" #~ msgid "Active lockouts" #~ msgstr "Bloqueos activos" #~ msgid "Options" #~ msgstr "Opciones" #~ msgid "Lockout" #~ msgstr "Bloqueo" #~ msgid "minutes lockout" #~ msgstr "minutos por bloqueo" #~ msgid "Notify on lockout" #~ msgstr "Notificar al bloquear" #~ msgid "Tried to log in as" #~ msgstr "Intentó ingresar como" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Demasiados intentos de acceso fallidos" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Demasiados intentos de acceso fallidos" #~ msgid "Options changed" #~ msgstr "Opciones actualizadas" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "Al parecer, el sitio está siendo accedido directamente (desde tu IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Al parecer, el sitio está siendo accedido desde un servidor proxy (IP del " #~ "proxy: %s, tu IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "La configuración actual parece ser incorrecta. Asegúrate " #~ "de verificarla. Para mayor información, click aquí" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Preferencias del Limitador de Acceso" #~ msgid "Site connection" #~ msgstr "Conexión" #~ msgid "Direct connection" #~ msgstr "Connexión directa" #~ msgid "From behind a reversy proxy" #~ msgstr "Detrás de un proxy" #~ msgid "Handle cookie login" #~ msgstr "Gestionar cookies de login" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "No" #~ msgstr "No" #~ msgid "Log IP" #~ msgstr "Registrar IP" #~ msgid "Change Options" #~ msgstr "Cambiar opciones" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d bloqueo" #~ msgstr[1] "%d bloqueos" #~ msgid "Limit Login Attempts" #~ msgstr "Límitador de intentos de login" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "Limita la tasa de intentos de acceso, usando cookies por IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" #~ msgid "IP|Internet address" #~ msgstr "IP|Dirección de Internet" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NOTA: Este plugin sólo funciona en Wordpress 2.7 o " #~ "superior" PKZHJJ J :plugins/wps-limit-login/languages/wps-limit-login-tr_TR.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bNXE}Y>G ^ )n       K/ O{ "  ' ( H 6T  I 8 ,      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:07+0100 PO-Revision-Date: 2018-03-02 12:07+0100 Last-Translator: canarkadas Language-Team: German Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d başarısız giriş denemesi (%d). Aynı IP adresi ile yapılan deneme: %s %d Saat%d SaatEn son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d En son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d %d Dakika%d Dakika%d kez daha giriş yapmayı deneyebilirsiniz.%d kez daha giriş yapmayı deneyebilirsiniz.HATA: Yanlış kullanıcı adı veya şifre.HATA: Çok fazla sayıda başarısız giriş denemesi.Kayıtları SilIP denemesi yapanların bilgileri silindiGiriş denemeleri silindiSite yöneticisi%s no'lu IP engellendiDenemede kullanılan isim: %sGiriş denemesi kayıtlarıHenüz giriş denemesi yokLütfen %d saat sonra tekrar deneyin.Lütfen %d saat sonra tekrar deneyin.Lütfen %d dakika sonra tekrar deneyin.Lütfen %d dakika sonra tekrar deneyin.Lütfen daha sonra tekrar deneyin.Sayacı SıfırlaGiriş denemeleri sayacı sıfırlandıGiriş denemelerini düzenleyinİstatistikMüsaade edilen giriş denemesi sayınızı yazınız.(Saat içinde)Sıfırlamaya kadar yapılabilecek giriş denemesi sayınızı yazınız.giriş denemesi olduğunda e-posta ile bilgilendirilsin.Defadan fazla giriş denemesi yapılamasın.PKZZ( :plugins/wps-limit-login/languages/wps-limit-login-hu_HU.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bB`OyDA  " #3 W )t 9   = =H   "  * * =/ m 8      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:05+0100 PO-Revision-Date: 2018-03-02 12:05+0100 Last-Translator: Vereskuti Balint Language-Team: Hungarian Language: hu_HU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d hibás bejelentkezési kísérlet (%d kizárás) %s IP-címről%d óra%d óra%d kizárás az előző nullázás óta%d kizárás az előző nullázás óta%d perc%d percMég %d bejelentkezési lehetőség maradt.Még %d bejelentkezési lehetőség maradt.HIBA: Érvénytelen felhasználónév vagy jelszó.HIBA: Túl sok hibás bejeletkezési kísérlet.Log törléseIP log törölveA kizárások feloldásra kerültekEmail az adminisztrátornak Az IP-cím %s időre kizárásra került.Az utolsó helyes bejelentkezés %s felhasználónévvel.Kizárási naplóJelenleg nincs aktív kizárásPróbálja meg %d óra múlva.Próbálja meg %d óra múlva.Próbálja meg %d perc múlva.Próbálja meg %d perc múlva.Próbáljs meg később.Számláló nullázásaKizárási számláló nullázásaKizárások feloldásaStatisztikákengedélyezett bejelentkezési lehetőségóraóra teljen el a hibás bejelentkezések visszaállításáigdarab kizárás utánkizárás ennyivel emeli meg a teljes kizárási időt: PKZ007plugins/wps-limit-login/languages/wps-limit-login-fi.ponu[msgid "" msgstr "" "Project-Id-Version: wp-limit-login-attempts-plugin\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:05+0100\n" "PO-Revision-Date: 2018-03-02 12:05+0100\n" "Last-Translator: AriK \n" "Language-Team: Finnish\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Tilastotietoa" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d lukitus edellisen nollauksen jälkeen" msgstr[1] "%d lukitusta edellisen nollauksen jälkeen" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Ei lukituksia" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "IP-osoitteesta %d on tällä hetkellä estetty kirjautuminen" msgstr[1] "IP-osoitteesta %d on tällä hetkellä estetty kirjautuminen" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Nollaa laskuri" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Palauta lukitukset" #: blocks/log.php:41 msgid "Lockout log" msgstr "Lukitusloki" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Tyhjennä loki" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP estettiin: %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "uudelleenyritystä sallitaan" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "tuntia, kunnes uudelleenyritykset nollataan" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "lukitusta lisää lukitusaikaa" #: blocks/settings.php:54 msgid "hours" msgstr "tuntiin" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Lähetä sähköposti ylläpitäjälle" #: blocks/settings.php:61 msgid "lockouts" msgstr "lukituksen jälkeen" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d yritys jäljellä." msgstr[1] "%d yritystä jäljellä." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "" "VIRHE: Liian monta epäonnistunutta kirjautumisyritystä." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d tunti" msgstr[1] "%d tuntia" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuutti(a)" msgstr[1] "%d minuutti(a)" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d epäonnistunutta kirjautumisyritystä (%d lukitus(ta)) IP:stä %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Viimeisin käyttäjä yritti: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP estettiin: %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Yritä myöhemmin uudelleen." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Yritä uudelleen %d tunnin kuluttua." msgstr[1] "Yritä uudelleen %d tunnin kuluttua." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Yritä uudelleen %d minuutin kuluttua." msgstr[1] "Yritä uudelleen %d minuutin kuluttua." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "VIRHE: Virheellinen käyttäjätunnus tai salasana." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP loki tyhjennetty" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Nollaa lukitusten laskuri" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Lukitusten laskuri nollattu" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Lukituksia yhteensä" #~ msgid "Active lockouts" #~ msgstr "Aktiiviset lukitukset" #~ msgid "Options" #~ msgstr "Asetukset" #~ msgid "Lockout" #~ msgstr "Lukitus" #~ msgid "minutes lockout" #~ msgstr "minuutin lukitus" #~ msgid "Notify on lockout" #~ msgstr "Ilmoita lukituksesta" #~ msgid "Tried to log in as" #~ msgstr "Yritti kirjautua tunnuksella" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Liikaa epäonnistuneita kirjautumisyrityksiä" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Liikaa epäonnistuneita kirjautumisyrityksiä" #~ msgid "Options changed" #~ msgstr "Asetuksia muutettu" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Sivustolle näytään tulevan suoraan (IP-osoitteesta: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Sivustolle näytään tulevan välityspalvelimen kautta (proxy IP: %s, koneen " #~ "IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Nykyinen asetus saattaa olla virheellinen. Varmista " #~ "oikeellisuus. Lisätietoja löytyy tästä" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts asetukset" #~ msgid "Site connection" #~ msgstr "Sivuston yhteys" #~ msgid "Direct connection" #~ msgstr "Suora yhteys" #~ msgid "From behind a reversy proxy" #~ msgstr "Käänteisen välityspalvelimen (proxy) takana" #~ msgid "Handle cookie login" #~ msgstr "Käsittele evästesisäänkirjautuminen" #~ msgid "Yes" #~ msgstr "Kyllä" #~ msgid "No" #~ msgstr "Ei" #~ msgid "Log IP" #~ msgstr "Kirjaa IP" #~ msgid "Change Options" #~ msgstr "Muuta asetuksia" #~ msgid "IP|Internet address" #~ msgstr "IP | Internet-osoite" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d lukitus" #~ msgstr[1] "%d lukitusta" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "HUOM: Toimii vain WordPress 2.7 tai uudemmassa" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Rajaa sisäänkirjautumisten määrää, mukaalukien evästeillä, per IP-osoite." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZl55:plugins/wps-limit-login/languages/wps-limit-login-ru_RU.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:06+0100\n" "PO-Revision-Date: 2018-03-02 12:06+0100\n" "Last-Translator: Studio-XL.com \n" "Language-Team: Catalan \n" "Language: ca_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Статистика" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d изоляция с последнего сброса счетчика." msgstr[1] "%d изоляций с последнего сброса счетчика." #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Пока без изоляций" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "IP %d в данный момент заблокирован от попыток авторизации" msgstr[1] "IP %d в данный момент заблокирован от попыток авторизации" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Сброс счетчика" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Восстановить изоляции" #: blocks/log.php:41 msgid "Lockout log" msgstr "Лог изоляций" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Очистить лог" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "La IP ha estat bloquejada per %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "разрешено дополнительных попыток" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "часов до сброса количества попыток" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "изоляций повысят время изоляции до" #: blocks/settings.php:54 msgid "hours" msgstr "часов" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Отправлять имейл админу после" #: blocks/settings.php:61 msgid "lockouts" msgstr "изоляций" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d intent restant." msgstr[1] "Осталось %d попыток." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "ВНИМАНИЕ: превышен лимит попыток авторизации." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d час" msgstr[1] "%d часов" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d минута" msgstr[1] "%d минут" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d неудачных попыток авторизации (%d изоляция(ий)) с адреса IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Последняя попытка пользователя: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP заблокирован для %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Пожалуйста попробуйте позже." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Пожалуйста попробуйте через %d час." msgstr[1] " Пожалуйста попробуйте через %d часов." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Пожалуйста попробуйте через %d минуту." msgstr[1] "Пожалуйста попробуйте через %d минут." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "ОШИБКА: Неверное имя пользователя или пароль." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Чистый IP лог" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Сброс счетчика изоляций" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Существующие изоляции очищены" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Всего изоляций" #~ msgid "Active lockouts" #~ msgstr "Активные изоляции" #~ msgid "Options" #~ msgstr "Опции" #~ msgid "Lockout" #~ msgstr "Изоляция" #~ msgid "minutes lockout" #~ msgstr "изоляция в минутах" #~ msgid "Notify on lockout" #~ msgstr "Сообщать об изоляциях" #~ msgid "Tried to log in as" #~ msgstr "Пытался войти как" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Превышен максимальный лимит попыток авторизации" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Превышен максимальный лимит попыток авторизации" #~ msgid "Options changed" #~ msgstr "Опции изменены" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Сайт доступен напрямую (с вашего IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "Сайт досупен через прокси-сервер (proxy IP: %s, ваш IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Данные настройки недействительны. Пожалуйста проверьте " #~ "их. Дополнительная информация доступна здесь" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Ограничение попыток авторизации" #~ msgid "Site connection" #~ msgstr "Подключение к сайту" #~ msgid "Direct connection" #~ msgstr "Прямое подключение" #~ msgid "From behind a reversy proxy" #~ msgstr "За прокси (reversy proxy)" #~ msgid "Handle cookie login" #~ msgstr "Обрабатывать кукис логина" #~ msgid "Yes" #~ msgstr "Да" #~ msgid "No" #~ msgstr "Нет" #~ msgid "Log IP" #~ msgstr "Записывать IP" #~ msgid "Change Options" #~ msgstr "Изменить настройки" #~ msgid "IP|Internet address" #~ msgstr "IP|Интернет-адрес" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d изоляция" #~ msgstr[1] "%d изоляций" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "Внимание: Работает только в версии Wordpress 2.7 или выше" #~ msgid "Limit Login Attempts" #~ msgstr "Ограничение попыток авторизации" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Лимит количества попыток авторизации, включая поддержку куки, по IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZJ22:plugins/wps-limit-login/languages/wps-limit-login-de_DE.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:04+0100\n" "PO-Revision-Date: 2018-03-02 12:04+0100\n" "Last-Translator: Johan Eenfeldt \n" "Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistik" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d Sperrung seit letztem Zurücksetzen" msgstr[1] "%d Sperrungen seit letztem Zurücksetzen" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Derzeit sind keine Sperrungen aktiv" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP ist derzeit für Anmeldeversuche gesperrt" msgstr[1] "%d IP ist derzeit für Anmeldeversuche gesperrt" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Zähler zurücksetzen" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Sperrungen aufheben" #: blocks/log.php:41 msgid "Lockout log" msgstr "Protokoll der durchgeführten Sperrungen" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Protokoll zurücksetzen" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP-ul a fost blocat pentru %s." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "erlaubte Anmeldeversuche" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "Stunden bis fehlgeschlagene Anmeldeversuche zurückgesetzt werden" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "Sperrungen erhöhen die insgesamte Sperrzeit um" #: blocks/settings.php:54 msgid "hours" msgstr "Stunden" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Email an den Administrator nach" #: blocks/settings.php:61 msgid "lockouts" msgstr "Sperrungen" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "Es ist noch %d Anmeldeversuch möglich." msgstr[1] "Es sind noch %d Anmeldeversuche möglich." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "FEHLER: Zuviele ungültige Anmeldeversuche." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d Stunde" msgstr[1] "%d Stunden" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d Minute" msgstr[1] "%d Minuten" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d ungültige Anmeldeversuche (%d Sperrung(en)) von IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Letzter Anmeldeversuch erfolgte mit dem Benutzernamen: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP wurde gesperrt für %s." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Bitte versuchen Sie es später noch einmal." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Bitte versuchen Sie es in %d Stunde noch einmal." msgstr[1] "Bitte versuchen Sie es in %d Stunden noch einmal." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Bitte versuchen Sie es in %d Minute noch einmal." msgstr[1] "Bitte versuchen Sie es in %d Minuten noch einmal." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "FEHLER: Ungültiger Benutzername oder Passwort." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Protokoll wurde gelöscht" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Anzahl Sperrungen zurücksetzen" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Sperrungen wurden deaktiviert" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Bisher vorgenommene Sperrungen" #~ msgid "Active lockouts" #~ msgstr "Aktive Sperrungen" #~ msgid "Options" #~ msgstr "Einstellungen" #~ msgid "Lockout" #~ msgstr "Sperrung" #~ msgid "minutes lockout" #~ msgstr "" #~ "Minuten Sperrung nach Überschreiten der zulässigen " #~ "Anmeldeversuche" #~ msgid "Notify on lockout" #~ msgstr "Benachrichtigung im Falle einer Sperrung" #~ msgid "Tried to log in as" #~ msgstr "Anmeldeversuch als" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Zu viele ungültige Anmeldeversuche" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Zu viele ungültige Anmeldeversuche" #~ msgid "Options changed" #~ msgstr "Einstellungen wurden geändert" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "Der Zugriff auf diese Webseite erfolgt auf direktem Weg (von Ihrer IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Der Zugriff auf diese Webseite erfolgt über einen Proxy Server (IP des " #~ "Proxy Servers: %s, Ihre IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Die aktuellen Einstellungen sind u.U. nicht korrekt, bzw. nicht " #~ "konsistent. Weitere Infos zu den Einstellungen finden Sie hier" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Einstellungen" #~ msgid "Site connection" #~ msgstr "Verbindungsweg zu dieser Webseite" #~ msgid "Direct connection" #~ msgstr "Direkte Verbindung" #~ msgid "From behind a reversy proxy" #~ msgstr "Über einen Reverse Proxy Server" #~ msgid "Handle cookie login" #~ msgstr "Anmeldungen via Cockies berücksichtigen" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nein" #~ msgid "Log IP" #~ msgstr "IP protokollieren" #~ msgid "Change Options" #~ msgstr "Einstellungen speichern" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d Sperrung" #~ msgstr[1] "%d Sperrungen" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "Hinweis: Erst ab Wordpress 2.7 verwendbar" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ} :plugins/wps-limit-login/languages/wps-limit-login-nl_NL.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b4XF]>V5   97 q  E I - H X o   @ (      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:06+0100 PO-Revision-Date: 2018-03-02 12:06+0100 Last-Translator: BjornW Language-Team: German Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d gefaalde login pogingen (%d blokkades) van IP: %s%d uur%d uren%d Blokkade sinds de laatste reset%d Blokkades sinds de laatste reset%d minute%d minutenNog %d loginpoging mogelijk.Nog %d loginpogingen mogelijk.FOUT: Ongeldige gebruikersnaam of wachtwoord.FOUT: Teveel gefaalde inlogpogingen.Log wissenIP log is gewistActieve blokkades zijn gewistEmail de beheerder naIP was geblokkeerd voor %s.Laatste inlogpoging werd gedaan met de gebruikersnaam: %sLog van blokkadesNog geen blokkades actief.Probeer het over %d uur nogmaals.Probeer het over %d uren nogmaals.Probeer het over %d minuut nogmaalsProbeer het over %d minuten nogmaals.Probeer het later nogmaalsTeller resettenReset blokkades tellerBlokkades opheffenStatistiekenmogelijke inlogpogingenurenaantal uren voordat het aantal ondernomen pogingen wordt geresetBlokkadesBlokkades verhogen de blokkade tijd naarPKZr@ @ :plugins/wps-limit-login/languages/wps-limit-login-de_DE.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b:gW{$D@& B ` ~  9 , # bD b / : #X |   E  3      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:04+0100 PO-Revision-Date: 2018-03-02 12:04+0100 Last-Translator: Johan Eenfeldt Language-Team: German Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d ungültige Anmeldeversuche (%d Sperrung(en)) von IP: %s%d Stunde%d Stunden%d Sperrung seit letztem Zurücksetzen%d Sperrungen seit letztem Zurücksetzen%d Minute%d MinutenEs ist noch %d Anmeldeversuch möglich.Es sind noch %d Anmeldeversuche möglich.FEHLER: Ungültiger Benutzername oder Passwort.FEHLER: Zuviele ungültige Anmeldeversuche.Protokoll zurücksetzenProtokoll wurde gelöschtSperrungen wurden deaktiviertEmail an den Administrator nachIP wurde gesperrt für %s.Letzter Anmeldeversuch erfolgte mit dem Benutzernamen: %sProtokoll der durchgeführten SperrungenDerzeit sind keine Sperrungen aktivBitte versuchen Sie es in %d Stunde noch einmal.Bitte versuchen Sie es in %d Stunden noch einmal.Bitte versuchen Sie es in %d Minute noch einmal.Bitte versuchen Sie es in %d Minuten noch einmal.Bitte versuchen Sie es später noch einmal.Zähler zurücksetzenAnzahl Sperrungen zurücksetzenSperrungen aufhebenStatistikerlaubte AnmeldeversucheStundenStunden bis fehlgeschlagene Anmeldeversuche zurückgesetzt werdenSperrungenSperrungen erhöhen die insgesamte Sperrzeit umPKZ?.F F :plugins/wps-limit-login/languages/wps-limit-login-fa_IR.monu[|47&7^  ' ?Ma r}!JV/P'*E1d$;(  6,W$ 0  9      %d failed login attempts (%d lockout(s)) from IP: %sERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:05+0100 PO-Revision-Date: Last-Translator: mostafa.s1990@gmail.com Language-Team: mostafa.s1990@gmail.com Language: fa_IR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . X-Generator: Poedit 1.8.12 Plural-Forms: nplurals=1; plural=0; X-Poedit-SearchPath-0: . %d حملات ورود ناموفق (%d تحریم(s)) از آی پی: %sخطا: نام کاربری یا رمز عبور اشتباه است.خطا: تلاش نا موفق برای ورود به سایت.پاک کردن گزارشگزارش آی پی ها پاک شدهپاک کردن تعداد بن شدگانرایانامه به مدیرآی پی شما برای %s قفل شده استآخرین حملات کاربر: %sگزارش تحریمهم اکنون کاربر تحریمی وجود نداردلطفا بعدا امتحان کنید.ریست کردن شمارندهریست کردن تعداد بن شدگانبازگردانی تحریمی هاوضعیتاجازه retriesساعتریست کردن ساعت بازنشانی هاتحریمافزایش زمان تحریم برای بن شدگانPKZ5r1r1:plugins/wps-limit-login/languages/wps-limit-login-pt_BR.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.5.1\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:06+0100\n" "PO-Revision-Date: 2018-03-02 12:06+0100\n" "Last-Translator: Luciano Passuello \n" "Language-Team: Luciano Passuello \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Estatísticas" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d bloqueio desde que o contador foi reiniciado pela última vez" msgstr[1] "%d bloqueios desde que o contador foi reiniciado pela última vez" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Sem bloqueios ainda" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP está atualmente bloqueado de novas tentativas de login" msgstr[1] "%d IP está atualmente bloqueado de novas tentativas de login" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Reiniciar contador" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Restaurar bloqueios" #: blocks/log.php:41 msgid "Lockout log" msgstr "Registros de bloqueios" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Excluir registros" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP foi bloquado para %s." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "tentativas permitidas" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "horas até o bloqueio expirar" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "bloqueios aumentam o tempo de bloqueio para" #: blocks/settings.php:54 msgid "hours" msgstr "horas" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Mandar email para o administrador após" #: blocks/settings.php:61 msgid "lockouts" msgstr "bloqueios" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d tentativa restante." msgstr[1] "%d tentativas restantes." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "ERRO: Muitas tentativas de login mal-sucedidas." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d Stunden" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuto" msgstr[1] "%d minutos" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d tentativas de login mal-sucedidas (%d bloqueio(s)) do IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Último usuário tentou: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP foi bloquado para %s." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Por favor tente novamente mais tarde." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Por favor tente novamente em %d hora." msgstr[1] "Por favor tente novamente em %d horas." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Por favor tente novamente em %d minuto." msgstr[1] "Por favor tente novamente em %d minutos." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "ERRO: Nome ou senha inválidos." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Limpou o log de IPs" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Zerar contagem de bloqueios" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Limpou bloqueios correntes" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Total de bloqueios" #~ msgid "Active lockouts" #~ msgstr "Bloqueios ativos" #~ msgid "Options" #~ msgstr "Opções" #~ msgid "Lockout" #~ msgstr "Bloqueio" #~ msgid "minutes lockout" #~ msgstr "minutos de bloqueio" #~ msgid "Notify on lockout" #~ msgstr "Notificar em bloqueios" #~ msgid "Tried to log in as" #~ msgstr "Tentou entrar como" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Muitas tentativas de login mal-sucedidas" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Muitas tentativas de login mal-sucedidas" #~ msgid "Options changed" #~ msgstr "Opções alteradas" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Aparentemente o site é acessado diretamente (de seu IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Aparentemente o site é acessado através de um servidor proxy (IP do " #~ "servidor proxy: %s, seu IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Configurações atuais parecem ser inválidas. Por favor " #~ "certifique-se que estão corretas. Informações adicionais podem ser " #~ "encontradas aqui" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Configurações do Limit Login Attempts" #~ msgid "Site connection" #~ msgstr "Conexão ao site" #~ msgid "Direct connection" #~ msgstr "Conexão direta" #~ msgid "From behind a reversy proxy" #~ msgstr "Através de um proxy reverso" #~ msgid "Handle cookie login" #~ msgstr "Monitorar o cookie de login" #~ msgid "Yes" #~ msgstr "Sim" #~ msgid "No" #~ msgstr "Não" #~ msgid "Log IP" #~ msgstr "Registrar IP" #~ msgid "Change Options" #~ msgstr "Modificar Opções" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d bloqueio" #~ msgstr[1] "%d bloqueios" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "NOTA: Funciona apenas no Wordpress 2.7 ou superior" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limita a frequência de tentativas de logins, incluindo cookies de login, " #~ "para cada IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ۵--:plugins/wps-limit-login/languages/wps-limit-login-fa_IR.ponu[msgid "" msgstr "" "Project-Id-Version: limit-login-attempts\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:05+0100\n" "PO-Revision-Date: \n" "Last-Translator: mostafa.s1990@gmail.com \n" "Language-Team: mostafa.s1990@gmail.com\n" "Language: fa_IR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.8.12\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-SearchPath-0: .\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "وضعیت" #: blocks/log.php:12 #, fuzzy, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "افزایش زمان تحریم برای بن شدگان" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "هم اکنون کاربر تحریمی وجود ندارد" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "در حال حاظر آی پی شما %d برای ورود به سایت مسدود شده است" #: blocks/log.php:25 msgid "Reset Counter" msgstr "ریست کردن شمارنده" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "بازگردانی تحریمی ها" #: blocks/log.php:41 msgid "Lockout log" msgstr "گزارش تحریم" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "پاک کردن گزارش" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "آی پی شما برای %s قفل شده است" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "اجازه retries" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "ریست کردن ساعت بازنشانی ها" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "افزایش زمان تحریم برای بن شدگان" #: blocks/settings.php:54 msgid "hours" msgstr "ساعت" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "رایانامه به مدیر" #: blocks/settings.php:61 msgid "lockouts" msgstr "تحریم" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "" #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "خطا: تلاش نا موفق برای ورود به سایت." #: classes/plugin.php:596 #, fuzzy, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "ساعت" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d حملات ورود ناموفق (%d تحریم(s)) از آی پی: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "آخرین حملات کاربر: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "آی پی شما برای %s قفل شده است" #: classes/plugin.php:818 msgid "Please try again later." msgstr "لطفا بعدا امتحان کنید." #: classes/plugin.php:826 #, fuzzy, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "لطفا بعدا امتحان کنید." #: classes/plugin.php:828 #, fuzzy, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "لطفا بعدا امتحان کنید." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "خطا: نام کاربری یا رمز عبور اشتباه است." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "گزارش آی پی ها پاک شده" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "ریست کردن تعداد بن شدگان" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "پاک کردن تعداد بن شدگان" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "کل تحریم ها" #~ msgid "Active lockouts" #~ msgstr "فعال کردن تحریم ها" #~ msgid "Options" #~ msgstr "تنظیمات" #~ msgid "Lockout" #~ msgstr "تحریم" #~ msgid "minutes lockout" #~ msgstr "دقیقه تحریم" #~ msgid "Notify on lockout" #~ msgstr "آگاهی از تحریم" #~ msgid "Tried to log in as" #~ msgstr "برای ورود سعی کنید" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] حملات زیاد برای ورود ناموفق" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] حملات زیاد برای ورود ناموفق" #~ msgid "Options changed" #~ msgstr "تنظیمات ذخیره شد" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "به نظر میرسد این سایت از یک پروکسی سرور رسیده است (از آی پی شما: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "تنظیمات فعلی معتبر نیستلطفا درستی را چک کنید. اطلاعات " #~ "تکمیلی میتواند در بر داشته باشد در اینجا" #~ msgid "Limit Login Attempts Settings" #~ msgstr "تنظیمات محافظت از حملات ورودی" #~ msgid "Site connection" #~ msgstr "اتصال سایت" #~ msgid "Direct connection" #~ msgstr "هدایت اتصال" #~ msgid "From behind a reversy proxy" #~ msgstr "از قبل با پروکسی استفاده شده است" #~ msgid "Handle cookie login" #~ msgstr "به کار گرفتن کوکی ها برای ورود" #~ msgid "Yes" #~ msgstr "بله" #~ msgid "No" #~ msgstr "خیر" #~ msgid "Log IP" #~ msgstr "گزارش آی پی" #~ msgid "Change Options" #~ msgstr "ذخیره تغییرات" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "نکته: فقط در وردپرس 2.7 یا بالاتر" PKZ :plugins/wps-limit-login/languages/wps-limit-login-pt_BR.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b?aQv0@: L ` '{     L PP %     . 4 R +\      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.5.1 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:06+0100 PO-Revision-Date: 2018-03-02 12:06+0100 Last-Translator: Luciano Passuello Language-Team: Luciano Passuello Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-SourceCharset: utf-8 X-Generator: Poedit 1.8.12 %d tentativas de login mal-sucedidas (%d bloqueio(s)) do IP: %s%d hora%d Stunden%d bloqueio desde que o contador foi reiniciado pela última vez%d bloqueios desde que o contador foi reiniciado pela última vez%d minuto%d minutos%d tentativa restante.%d tentativas restantes.ERRO: Nome ou senha inválidos.ERRO: Muitas tentativas de login mal-sucedidas.Excluir registrosLimpou o log de IPsLimpou bloqueios correntesMandar email para o administrador apósIP foi bloquado para %s.Último usuário tentou: %sRegistros de bloqueiosSem bloqueios aindaPor favor tente novamente em %d hora.Por favor tente novamente em %d horas.Por favor tente novamente em %d minuto.Por favor tente novamente em %d minutos.Por favor tente novamente mais tarde.Reiniciar contadorZerar contagem de bloqueiosRestaurar bloqueiosEstatísticastentativas permitidashorashoras até o bloqueio expirarbloqueiosbloqueios aumentam o tempo de bloqueio paraPKZi$$5plugins/wps-limit-login/languages/wps-limit-login.potnu[# Copyright (C) 2024 WPServeur, NicolasKulka, wpformation # This file is distributed under the GPLv2 or later. msgid "" msgstr "" "Project-Id-Version: WPS Limit Login 1.5.9\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wps-limit-login\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "POT-Creation-Date: 2024-05-13T14:18:34+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.7.1\n" "X-Domain: wps-limit-login\n" #. Plugin Name of the plugin #: classes/plugin.php:1471 msgid "WPS Limit Login" msgstr "" #. Description of the plugin msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin msgid "WPServeur, NicolasKulka, wpformation" msgstr "" #. Author URI of the plugin msgid "https://wpserveur.net" msgstr "" #: admin_page/options.php:9 msgid "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:12 #: blocks/menu.php:43 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:13 msgid "Defines a list of IP addresses for which you want to completely block access to the login page." msgstr "" #: blocks/blacklist.php:14 #: blocks/whitelist.php:17 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:16 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/log.php:11 msgid "Statistics" msgstr "" #: blocks/log.php:17 msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "" msgstr[1] "" #: blocks/log.php:21 #: blocks/log.php:48 #: classes/plugin.php:1407 msgid "No lockouts yet" msgstr "" #: blocks/log.php:25 msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IP are currently blocked from trying to log in" msgstr[0] "" msgstr[1] "" #: blocks/log.php:30 msgid "Reset Counter" msgstr "" #: blocks/log.php:34 msgid "Restore Lockouts" msgstr "" #: blocks/log.php:44 msgid "Lockout log" msgstr "" #: blocks/log.php:46 msgid "You can unlock an IP address individually (by clicking on \"Unlock\" red button)." msgstr "" #: blocks/log.php:57 msgid "Clear Log" msgstr "" #: blocks/log.php:64 #: blocks/log.php:73 msgid "Date" msgstr "" #: blocks/log.php:65 #: blocks/log.php:74 msgctxt "Internet address" msgid "IP" msgstr "" #: blocks/log.php:67 #: blocks/log.php:76 msgid "Gateway" msgstr "" #: blocks/log.php:75 #: classes/plugin.php:1421 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:80 msgid "Unlock" msgstr "" #: blocks/log.php:82 #: blocks/log.php:108 msgid "Unlocked" msgstr "" #: blocks/menu.php:17 #: blocks/settings.php:15 msgid "Configuration" msgstr "" #: blocks/menu.php:30 #: blocks/whitelist.php:14 msgid "Whitelist" msgstr "" #: blocks/menu.php:56 msgid "Log" msgstr "" #: blocks/pub-wpserveur.php:23 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:35 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:60 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:61 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:62 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:63 msgid "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:67 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:71 #: blocks/pub.php:71 msgid "More about %s" msgstr "" #: blocks/pub.php:33 msgid "Install" msgstr "" #: blocks/pub.php:45 msgid "Enable" msgstr "" #: blocks/pub_wpboutik.php:18 msgid "Install WPBoutik" msgstr "" #: blocks/pub_wpboutik.php:30 msgid "Enable WPBoutik" msgstr "" #: blocks/pub_wpboutik.php:191 msgid "Say goodbye to complications! WPBoutik simplifies online sales with WordPress." msgstr "" #: blocks/pub_wpboutik.php:192 msgid "Lightness and efficiency: discover the WPBoutik e-commerce plugin for WordPress." msgstr "" #: blocks/pub_wpboutik.php:193 msgid "Transform your WordPress site into a seamless sales platform with WPBoutik." msgstr "" #: blocks/pub_wpboutik.php:194 msgid "Maximum simplicity, optimal results: adopt WPBoutik for your WordPress e-commerce." msgstr "" #: blocks/pub_wpboutik.php:195 msgid "Your online store deserves the best: choose WPBoutik for a hassle-free experience." msgstr "" #: blocks/pub_wpboutik.php:196 msgid "Ditch the bulky plugins! WPBoutik gives you the simplicity you need to sell online on WordPress." msgstr "" #: blocks/pub_wpboutik.php:197 msgid "WPBoutik: the lightweight and efficient solution for your WordPress e-commerce" msgstr "" #: blocks/pub_wpboutik.php:198 msgid "Save time and energy with WPBoutik: the obvious choice for a stress-free online store." msgstr "" #: blocks/pub_wpboutik.php:199 msgid "Online sales without complications? It's possible with WPBoutik on WordPress." msgstr "" #: blocks/pub_wpboutik.php:200 msgid "Your online store deserves a simple and effective solution: discover WPBoutik today." msgstr "" #: blocks/pub_wpboutik.php:210 msgid "Discover WPBoutik" msgstr "" #: blocks/pub_wpboutik.php:211 msgid "More about WPBoutik" msgstr "" #: blocks/settings.php:22 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:23 msgid "If disabled, the global settings will be forcibly applied to the entire network." msgstr "" #: blocks/settings.php:27 msgid "Use global settings" msgstr "" #: blocks/settings.php:48 msgid "allowed retries" msgstr "" #: blocks/settings.php:48 msgid "for a period of" msgstr "" #: blocks/settings.php:50 msgid "minutes" msgstr "" #: blocks/settings.php:54 msgid "hours until retries are reset" msgstr "" #: blocks/settings.php:58 msgid "lockouts increase lockout time to" msgstr "" #: blocks/settings.php:60 msgid "hours" msgstr "" #: blocks/settings.php:65 msgid "Email to admin after" msgstr "" #: blocks/settings.php:67 msgid "lockouts" msgstr "" #: blocks/settings.php:70 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:71 msgid "By default, WPS Limit Login will display the following message on the login form:" msgstr "" #: blocks/settings.php:73 #: classes/plugin.php:1282 msgid "Login form protected by" msgstr "" #: blocks/settings.php:76 msgid "This helps others know about the plugin so they can protect their blogs as well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:80 msgid "Show credit link" msgstr "" #: blocks/settings.php:87 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:15 msgid "Sets a list of IP addresses that will have no attempt limit and will never be blocked. Be careful, you must put trusted IP addresses (example: the IP address of your home), you must never put the IP address of a public network (Internet cafe or other)." msgstr "" #: blocks/whitelist.php:16 msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:19 msgid "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:267 #: classes/plugin.php:1010 msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "" msgstr[1] "" #: classes/plugin.php:320 #: classes/plugin.php:795 #: classes/plugin.php:856 msgid "ERROR: Too many failed login attempts." msgstr "" #: classes/plugin.php:638 msgid "%d hour" msgid_plural "%d hours" msgstr[0] "" msgstr[1] "" #: classes/plugin.php:644 msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "" msgstr[1] "" #: classes/plugin.php:651 msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:655 msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:660 msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "" #: classes/plugin.php:664 msgid "Last user attempted: %s" msgstr "" #: classes/plugin.php:668 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:670 msgid "IP was blocked for %s" msgstr "" #: classes/plugin.php:860 msgid "Please try again later." msgstr "" #: classes/plugin.php:868 msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "" msgstr[1] "" #: classes/plugin.php:870 msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "" msgstr[1] "" #: classes/plugin.php:938 msgid "ERROR: Incorrect username or password." msgstr "" #: classes/plugin.php:1110 msgid "Cleared IP log" msgstr "" #: classes/plugin.php:1116 msgid "Reset lockout count" msgstr "" #: classes/plugin.php:1122 msgid "Cleared current lockouts" msgstr "" #: classes/plugin.php:1151 #: classes/plugin.php:1169 #: classes/plugin.php:1187 msgid "Options saved." msgstr "" #: classes/plugin.php:1412 msgid "List of the last 5 lockouts:" msgstr "" #: classes/plugin.php:1428 msgid "See all lockouts" msgstr "" #: classes/plugin.php:1470 msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!" msgstr "" #: classes/plugin.php:1472 msgid "Thanks :)" msgstr "" PKZ9[0[0:plugins/wps-limit-login/languages/wps-limit-login-ro_RO.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:06+0100\n" "PO-Revision-Date: 2018-03-02 12:06+0100\n" "Last-Translator: Robert Tudor \n" "Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistici" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d inchidere de la ultima resetare" msgstr[1] "%d inchideri de la ultima resetare" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Nici o inchidere pana acum" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "IP-ul %d are momentan accesul de intrare blocat." msgstr[1] "IP-ul %d are momentan accesul de intrare blocat." #: blocks/log.php:25 msgid "Reset Counter" msgstr "Reseteaza numaratoarea" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Restaureaza inchideri" #: blocks/log.php:41 msgid "Lockout log" msgstr "Log de inchidere" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Sterge log" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP wurde gesperrt für %s." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "incercari permise" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "ore pana cand incercarile sunt resetate" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "inchiderile maresc timpul in" #: blocks/settings.php:54 msgid "hours" msgstr "ore" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Notifica adminul dupa" #: blocks/settings.php:61 msgid "lockouts" msgstr "inchideri" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "incercare ramasa %d" msgstr[1] "incercari ramasa %d" #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "EROARE: Prea multe incercari nereusite." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d ora" msgstr[1] "%d ore" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d Minut" msgstr[1] "%d Minute" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d incercari de logare nereusite (%d inchidere(i)) de la IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Ultimul incercare: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP-ul a fost blocat pentru %s." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Va rugam incercati mai tarziu." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Va rugam incercati in %d ora." msgstr[1] "Va rugam incercati in %d ore" #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Va rugam incercati in %d Minut." msgstr[1] "Va rugam incercati in %d Minute." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "EROARE: Nume de utilizator sau parola incorecta." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Am curatat logul cu IP" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Reseteaza numaratoarea inchiderilor" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Am curatat numaratoarea inchiderilor" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Total inchideri" #~ msgid "Active lockouts" #~ msgstr "Inchideri active" #~ msgid "Options" #~ msgstr "Optiuni" #~ msgid "Lockout" #~ msgstr "Inchidere" #~ msgid "minutes lockout" #~ msgstr "inchidere in minute" #~ msgid "Notify on lockout" #~ msgstr "Notifica-ma de inchidere" #~ msgid "Tried to log in as" #~ msgstr "A incercat sa se logheze ca" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Prea multe incercari nereusite" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Prea multe incercari nereusite" #~ msgid "Options changed" #~ msgstr "Optiuni schimbate" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Se pare ca site-ul este accesat direct (de la IP-ul dvs: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Se pare ca site-ul este accesat printr-un adresa PROXY (IP Proxy: %s, IP " #~ "dvs.: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Se pare ca setarile curente sunt invalide. Verificati " #~ "corectitudinea lor. Mai multe informatii pot fi gasite aici" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Setari Limitari Incercari Access" #~ msgid "Site connection" #~ msgstr "Conexie site" #~ msgid "Direct connection" #~ msgstr "Conexie directa" #~ msgid "From behind a reversy proxy" #~ msgstr "In spatele unui proxy" #~ msgid "Handle cookie login" #~ msgstr "Logare tip cookie" #~ msgid "Yes" #~ msgstr "Da" #~ msgid "No" #~ msgstr "Nu" #~ msgid "Log IP" #~ msgstr "Logheaza IP" #~ msgid "Change Options" #~ msgstr "Schimba optiunile" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d inchidere" #~ msgstr[1] "%d inchideri" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NOTA: Functioneaza doar in Wordpress 2.7 sau mai nou." #~ msgid "Limit Login Attempts" #~ msgstr "Limiteaza incercarile de logare" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limiteaza ratia incercarilor de logare, incluzand cookie, pentru fiecare " #~ "IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ+ ? ? :plugins/wps-limit-login/languages/wps-limit-login-cs_CZ.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bG_n2~OAJ [ f &u " ! #   m1 m . '@ h {   K  I      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.3 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:04+0100 PO-Revision-Date: Last-Translator: Jakub Jedelsky Language-Team: Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>=2 && n<=4 ? 1 : 2; X-Poedit-SourceCharset: utf-8 X-Generator: Poedit 1.8.12 %d špatných pokusů o přihlášení (zablokováno %d krát) z IP: %s%d hodina%d hodin%d hodin%d blokování od posledního resetu%d blokování od posledního resetu%d blokování od posledního resetu%d minuta%d minuty%d minut%d zbývající pokusů.%d zbývající pokusy.%d zbývajících pokusů.CHYBA: Špatné uživatelské jméno nebo heslo.CHYBA: Příliš mnoho chybných pokusů o přihlášeníSmazat logIP log smazánAktuální blokování bylo promazánoPoslat e-mail administrátorovi poIP adresa byla zablokována na %sPoslední chybující uživatel: %sLog blokováníDosud nebylo nic blokovánoProsím, opakujte akci za %d hodinu.Prosím, opakujte akci za %d hodiny.Prosím, opakujte akci za %d hodin.Prosím, opakujte akci za %d minutu.Prosím, opakujte akci za %d minuty.Prosím, opakujte akci za %d minut.Prosím, opakujte akci později.Reset počítadlaaktuální blokování bylo resetovánoSmazat blokováníStatistikypovolených pokusůhodin- počet hodin, po kterém jsou chybné pokusy o přihlášení resetoványpokusech- počet blokovaných pokusů, po kterém se zvýší čas blokování naPKZ`S22:plugins/wps-limit-login/languages/wps-limit-login-cs_CZ.ponu[msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:04+0100\n" "PO-Revision-Date: \n" "Last-Translator: Jakub Jedelsky \n" "Language-Team: \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>=2 && n<=4 ? 1 : 2;\n" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistiky" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d blokování od posledního resetu" msgstr[1] "%d blokování od posledního resetu" msgstr[2] "%d blokování od posledního resetu" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Dosud nebylo nic blokováno" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "IP %d je aktuálně blokována z důvodu chybného přihlášení" msgstr[1] "IP %d je aktuálně blokována z důvodu chybného přihlášení" msgstr[2] "IP %d je aktuálně blokována z důvodu chybného přihlášení" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Reset počítadla" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Smazat blokování" #: blocks/log.php:41 msgid "Lockout log" msgstr "Log blokování" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Smazat log" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP adresa byla zablokována na %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "povolených pokusů" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "- počet hodin, po kterém jsou chybné pokusy o přihlášení resetovány" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "- počet blokovaných pokusů, po kterém se zvýší čas blokování na" #: blocks/settings.php:54 msgid "hours" msgstr "hodin" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Poslat e-mail administrátorovi po" #: blocks/settings.php:61 msgid "lockouts" msgstr "pokusech" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d zbývající pokusů." msgstr[1] "%d zbývající pokusy." msgstr[2] "%d zbývajících pokusů." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "CHYBA: Příliš mnoho chybných pokusů o přihlášení" #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hodina" msgstr[1] "%d hodin" msgstr[2] "%d hodin" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuta" msgstr[1] "%d minuty" msgstr[2] "%d minut" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d špatných pokusů o přihlášení (zablokováno %d krát) z IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Poslední chybující uživatel: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP adresa byla zablokována na %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Prosím, opakujte akci později." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Prosím, opakujte akci za %d hodinu." msgstr[1] "Prosím, opakujte akci za %d hodiny." msgstr[2] "Prosím, opakujte akci za %d hodin." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Prosím, opakujte akci za %d minutu." msgstr[1] "Prosím, opakujte akci za %d minuty." msgstr[2] "Prosím, opakujte akci za %d minut." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "CHYBA: Špatné uživatelské jméno nebo heslo." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP log smazán" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "aktuální blokování bylo resetováno" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Aktuální blokování bylo promazáno" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Celkem blokováno" #~ msgid "Active lockouts" #~ msgstr "Aktivní blokování" #~ msgid "Options" #~ msgstr "Nastavení" #~ msgid "Lockout" #~ msgstr "Blokování" #~ msgid "minutes lockout" #~ msgstr "minut blokován" #~ msgid "Notify on lockout" #~ msgstr "Upozornění na blokování" #~ msgid "Tried to log in as" #~ msgstr "Pokus o přihlášení jako" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Příliš mnoho chybných pokusů o přihlášení" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Příliš mnoho chybných pokusů o přihlášení" #~ msgid "Options changed" #~ msgstr "Nastavení změněno" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Zdá se, že web je přímo dosažitelný (z Vaší IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Zdá se, že web je dosažitelný přes proxy server (IP proxy: %s, Vaše IP: " #~ "%s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Aktuální nastavení je zřejmě chybné. Prosím, ujistěte se " #~ "o jeho správnosti. Další informace jsou k nalezení zde (anglicky)." #~ msgid "Limit Login Attempts Settings" #~ msgstr "Nastavení Limit Login Attempts" #~ msgid "Site connection" #~ msgstr "Připojení webu" #~ msgid "Direct connection" #~ msgstr "Přímé připojení" #~ msgid "From behind a reversy proxy" #~ msgstr "Za proxy serverem" #~ msgid "Handle cookie login" #~ msgstr "Pracovat s přihlašovacím cookie" #~ msgid "Yes" #~ msgstr "Ano" #~ msgid "No" #~ msgstr "Ne" #~ msgid "Log IP" #~ msgstr "Logovat IP" #~ msgid "Change Options" #~ msgstr "Změnit nastavení" #~ msgid "IP|Internet address" #~ msgstr "IP|Internetové adresy" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d uzamčení" #~ msgstr[1] "%d uzamčení" #~ msgstr[2] "%d uzamčení" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "POZNÁMKA: Funguje pouze ve verzi Wordpress 2.7 a vyšší" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" # Popis rozšíření v seznamu pluginů - z nějakého důvodu nefunguje #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Omezení pokusů o přihlášení, mimo jiné prostřednictvím cookies, pro " #~ "každou IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ-.w1 1 :plugins/wps-limit-login/languages/wps-limit-login-zh_TW.monu[%p4q8N7T7  ! 9E:U>   %5;Y!b6 ) &/4N   # < Z x       '      %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: Limit Login Attempts v1.5 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:07+0100 PO-Revision-Date: 2018-03-02 12:07+0100 Last-Translator: Denny Huang Language-Team: 小弟的大發現 Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 1.8.12 登入失敗嘗試次數: %d (%d 鎖定) 來自 IP: %s%d 小時自從上次重設,已有%d次鎖定。%d 分鐘嘗試次數剩%d次.錯誤: 帳號或密碼錯誤.錯誤: 嘗試過多次失敗登入清除記錄清除IP紀錄目前鎖定次數已重設Email 給管理員當超過IP已被封鎖。 原因: %s最後一位使用者嘗試: %s鎖定紀錄未有任何鎖定紀錄請在%d小時後再重試。請在%d分鐘後再重試。請稍候再試.重設計數器重設鎖定計數器還原鎖定數據允許嘗試次數小時小時直到重設登入嘗試鎖定次數次鎖定後,將鎖定時間增加為PKZi5cKK:plugins/wps-limit-login/languages/wps-limit-login-fr_FR.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: wps-limit-login 1.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wps-limit-login\n" "POT-Creation-Date: 2024-05-13T14:18:34+00:00\n" "PO-Revision-Date: 2024-05-13 16:19+0200\n" "Last-Translator: ova \n" "Language-Team: WPserveur \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.1\n" #. Plugin Name of the plugin #: classes/plugin.php:1471 msgid "WPS Limit Login" msgstr "" #. Description of the plugin msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin msgid "WPServeur, NicolasKulka, wpformation" msgstr "" #. Author URI of the plugin msgid "https://wpserveur.net" msgstr "" #: admin_page/options.php:9 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" "WPS Limit Login permet de limiter les tentatives de connexion à votre " "administration WordPress." #: blocks/blacklist.php:12 blocks/menu.php:43 msgid "Blacklist" msgstr "Liste noire" #: blocks/blacklist.php:13 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" "Définir une liste d'adresses IP pour lesquelles vous souhaitez bloquer " "totalement l'accès à la page de connexion." #: blocks/blacklist.php:14 blocks/whitelist.php:17 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "Une plage IP (88.88.88.86/90) ou une IP (88.88.88.86) par ligne" #: blocks/blacklist.php:16 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" "ce qui bloquera toutes les ip comprise entre 88.88.88.86 et 88.88.88.90" #: blocks/log.php:11 msgid "Statistics" msgstr "Statistiques" #: blocks/log.php:17 msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d blocage depuis la dernière réinitialisation." msgstr[1] "%d blocages depuis la dernière réinitialisation." #: blocks/log.php:21 blocks/log.php:48 classes/plugin.php:1407 msgid "No lockouts yet" msgstr "Aucun blocage" #: blocks/log.php:25 msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IP are currently blocked from trying to log in" msgstr[0] "%d adresse IP est actuellement bloquée en connexion" msgstr[1] "%d adresses IP sont actuellement bloquées en connexion" #: blocks/log.php:30 msgid "Reset Counter" msgstr "Réinitialiser le compteur" #: blocks/log.php:34 msgid "Restore Lockouts" msgstr "Tout débloquer" #: blocks/log.php:44 msgid "Lockout log" msgstr "Journal de blocage" #: blocks/log.php:46 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" "Vous pouvez débloquer une adresse IP individuellement (En cliquant sur " "\"Bloqué\" bouton rouge)." #: blocks/log.php:57 msgid "Clear Log" msgstr "Vider le journal" #: blocks/log.php:64 blocks/log.php:73 msgid "Date" msgstr "" #: blocks/log.php:65 blocks/log.php:74 msgctxt "Internet address" msgid "IP" msgstr "IP" #: blocks/log.php:67 blocks/log.php:76 msgid "Gateway" msgstr "Passerelle" #: blocks/log.php:75 classes/plugin.php:1421 msgid "lockout" msgid_plural "lockouts" msgstr[0] "blocage" msgstr[1] "blocages" #: blocks/log.php:80 msgid "Unlock" msgstr "Bloqué" #: blocks/log.php:82 blocks/log.php:108 msgid "Unlocked" msgstr "Débloqué" #: blocks/menu.php:17 blocks/settings.php:15 msgid "Configuration" msgstr "Configuration" #: blocks/menu.php:30 blocks/whitelist.php:14 msgid "Whitelist" msgstr "Liste blanche" #: blocks/menu.php:56 msgid "Log" msgstr "Journal de blocage" #: blocks/pub-wpserveur.php:23 msgid "Install Migrate Guru" msgstr "Installer Migrate Guru" #: blocks/pub-wpserveur.php:35 msgid "Enable Migrate Guru" msgstr "Activer Migrate Guru" #: blocks/pub-wpserveur.php:60 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "Découvrez l'hébergement spécialisé WordPress avec WPServeur !" #: blocks/pub-wpserveur.php:61 msgid "For fast, secure and efficient hosting." msgstr "Pour un hébergement rapide, sécurisé et performant." #: blocks/pub-wpserveur.php:62 msgid "We only do WordPress but we do it well!" msgstr "Nous ne faisons que du WordPress mais nous le faisons bien !" #: blocks/pub-wpserveur.php:63 msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" "(-10% de réduction sur votre abonnement avec le code promo WPSC&T )" #: blocks/pub-wpserveur.php:67 msgid "Subscribe to WPServeur" msgstr "S'abonner à WPServeur" #: blocks/pub-wpserveur.php:71 blocks/pub.php:71 msgid "More about %s" msgstr "Plus d’infos sur %s" #: blocks/pub.php:33 msgid "Install" msgstr "Installer" #: blocks/pub.php:45 msgid "Enable" msgstr "Activer" #: blocks/pub_wpboutik.php:18 msgid "Install WPBoutik" msgstr "Installer WPBoutik" #: blocks/pub_wpboutik.php:30 msgid "Enable WPBoutik" msgstr "Activer WPBoutik" #: blocks/pub_wpboutik.php:191 msgid "" "Say goodbye to complications! WPBoutik simplifies online sales with " "WordPress." msgstr "" "Dites adieu aux complications ! WPBoutik simplifie la vente en ligne avec " "WordPress." #: blocks/pub_wpboutik.php:192 msgid "" "Lightness and efficiency: discover the WPBoutik e-commerce plugin for " "WordPress." msgstr "" "Légèreté et efficacité : découvrez le plugin e-commerce WPBoutik pour " "WordPress." #: blocks/pub_wpboutik.php:193 msgid "" "Transform your WordPress site into a seamless sales platform with WPBoutik." msgstr "" "Transformez votre site WordPress en une plateforme de vente fluide avec " "WPBoutik." #: blocks/pub_wpboutik.php:194 msgid "" "Maximum simplicity, optimal results: adopt WPBoutik for your WordPress e-" "commerce." msgstr "" "Simplicité maximale, résultats optimaux : adoptez WPBoutik pour votre e-" "commerce WordPress." #: blocks/pub_wpboutik.php:195 msgid "" "Your online store deserves the best: choose WPBoutik for a hassle-free " "experience." msgstr "" "Votre boutique en ligne mérite le meilleur : choisissez WPBoutik pour une " "expérience sans tracas." #: blocks/pub_wpboutik.php:196 msgid "" "Ditch the bulky plugins! WPBoutik gives you the simplicity you need to sell " "online on WordPress." msgstr "" "Laissez tomber les plugins encombrants ! WPBoutik vous offre la simplicité " "dont vous avez besoin pour vendre en ligne sur WordPress." #: blocks/pub_wpboutik.php:197 msgid "" "WPBoutik: the lightweight and efficient solution for your WordPress e-" "commerce" msgstr "" "WPBoutik : la solution légère et performante pour votre e-commerce WordPress" #: blocks/pub_wpboutik.php:198 msgid "" "Save time and energy with WPBoutik: the obvious choice for a stress-free " "online store." msgstr "" "Gagnez du temps et de l’énergie avec WPBoutik : le choix évident pour une " "boutique en ligne sans stress." #: blocks/pub_wpboutik.php:199 msgid "" "Online sales without complications? It's possible with WPBoutik on WordPress." msgstr "" "Des ventes en ligne sans complications ? C’est possible avec WPBoutik sur " "WordPress." #: blocks/pub_wpboutik.php:200 msgid "" "Your online store deserves a simple and effective solution: discover " "WPBoutik today." msgstr "" "Votre boutique en ligne mérite une solution simple et efficace : découvrez " "WPBoutik dès aujourd’hui." #: blocks/pub_wpboutik.php:210 msgid "Discover WPBoutik" msgstr "Découvrir WPBoutik" #: blocks/pub_wpboutik.php:211 msgid "More about WPBoutik" msgstr "En savoir plus sur WPBoutik" #: blocks/settings.php:22 msgid "Let network sites use their own settings" msgstr "Autoriser les sites réseau à utiliser leurs propres paramètres" #: blocks/settings.php:23 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" "Si cette option est désactivée, les paramètres globaux seront appliqués de " "force à l'ensemble du réseau." #: blocks/settings.php:27 msgid "Use global settings" msgstr "Utiliser les paramètres généraux" #: blocks/settings.php:48 msgid "allowed retries" msgstr "" "tentative(s) autorisée(s) avant le blocage de votre IP pour accéder à " "l'administration de votre WordPress" #: blocks/settings.php:48 msgid "for a period of" msgstr "pour une durée de" #: blocks/settings.php:50 msgid "minutes" msgstr "minutes" #: blocks/settings.php:54 msgid "hours until retries are reset" msgstr "" "heure(s) jusqu'à ce que les tentatives de connexion soient réinitialisées" #: blocks/settings.php:58 msgid "lockouts increase lockout time to" msgstr "" "blocage(s) supplémentaires augmentent le temps de blocage de votre adresse " "IP à" #: blocks/settings.php:60 msgid "hours" msgstr "heures" #: blocks/settings.php:65 msgid "Email to admin after" msgstr "Envoyer un email à l'administrateur après" #: blocks/settings.php:67 msgid "lockouts" msgstr "blocages" #: blocks/settings.php:70 msgid "Show Credit Link?" msgstr "Afficher le lien de crédit ?" #: blocks/settings.php:71 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" "Par défaut, WPS Limit Login affichera le message suivant sur le formulaire " "de connexion:" #: blocks/settings.php:73 classes/plugin.php:1282 msgid "Login form protected by" msgstr "Formulaire de connexion protégé par" #: blocks/settings.php:76 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" "Cela aide les autres à connaître le plugin afin qu'ils puissent également " "protéger leurs sites s'ils le souhaitent. Cependant, vous pouvez désactiver " "ce message si vous préférez." #: blocks/settings.php:80 msgid "Show credit link" msgstr "Afficher le lien de crédit" #: blocks/settings.php:87 msgid "Reset the original settings" msgstr "Réinitialiser les paramètres d'origine" #: blocks/whitelist.php:15 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" "Définir une liste d'adresses IP qui n'auront aucune limite de tentative et " "qui ne seront jamais bloquées. Attention, vous devez mettre des adresses IP " "de confiance (exemple : l'adresse IP de votre domicile), vous ne devez " "jamais mettre l'adresse IP d'un réseau public (Cyber café ou autre)." #: blocks/whitelist.php:16 msgid "Add your IP address (%s) to a whitelist." msgstr "" "Vous pouvez ajouter votre adresse IP (%s) en liste blanche, si elle rempli " "les conditions ci-dessus." #: blocks/whitelist.php:19 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" "ce qui ajoutera toutes les ip comprise entre 88.88.88.86 et 88.88.88.90 dans " "la liste blanche" #: classes/plugin.php:267 classes/plugin.php:1010 msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d tentative restante." msgstr[1] "%d tentatives restantes." #: classes/plugin.php:320 classes/plugin.php:795 classes/plugin.php:856 msgid "ERROR: Too many failed login attempts." msgstr "ERREUR: Trop de tentatives de connexion ont échouées." #: classes/plugin.php:638 msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d heure" msgstr[1] "%d heures" #: classes/plugin.php:644 msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minute" msgstr[1] "%d minutes" #: classes/plugin.php:651 msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" "[%s - WPS Limit Login] Echec des tentatives de connexion à partir de " "l'adresse IP de la liste blanche" #: classes/plugin.php:655 msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "[%s - WPS Limit Login] Trop de tentatives de connexion qui ont échoué" #: classes/plugin.php:660 msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "" "%d tentatives d'accès ont échouées (%d bloqué(s)) depuis l'adresse IP: %s" #: classes/plugin.php:664 msgid "Last user attempted: %s" msgstr "Dernière tentative de l'utilisateur: %s" #: classes/plugin.php:668 msgid "IP was NOT blocked because of external whitelist." msgstr "IP n'a pas été bloqué à cause de la liste blanche externe." #: classes/plugin.php:670 msgid "IP was blocked for %s" msgstr "L'adresse IP a été bloquée pour %s" #: classes/plugin.php:860 msgid "Please try again later." msgstr "Merci de réessayer plus tard." #: classes/plugin.php:868 msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Merci de réessayer dans %d heure." msgstr[1] "Merci de réessayer dans %d heures." #: classes/plugin.php:870 msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Merci de réessayer dans %d minute." msgstr[1] "Merci de réessayer dans %d minutes." #: classes/plugin.php:938 msgid "ERROR: Incorrect username or password." msgstr "ERREUR: Nom d'utilisateur ou mot de passe incorrect." #: classes/plugin.php:1110 msgid "Cleared IP log" msgstr "Journal d'IP effacé" #: classes/plugin.php:1116 msgid "Reset lockout count" msgstr "Réinitialiser le nombre de blocage" #: classes/plugin.php:1122 msgid "Cleared current lockouts" msgstr "Effacer les blocages actuels" #: classes/plugin.php:1151 classes/plugin.php:1169 classes/plugin.php:1187 msgid "Options saved." msgstr "Options enregistrées" #: classes/plugin.php:1412 msgid "List of the last 5 lockouts:" msgstr "Liste des 5 derniers blocages :" #: classes/plugin.php:1428 msgid "See all lockouts" msgstr "Voir tous les blocages" #: classes/plugin.php:1470 msgid "" "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!" msgstr "" "Si vous aimez %1$s, n’hésitez pas à nous laisser une note de %2$s. Un " "grand merci par avance !" #: classes/plugin.php:1472 msgid "Thanks :)" msgstr "Merci :-)" #~ msgid "Settings" #~ msgstr "Réglages" #~ msgid "" #~ "Do you like plugin WPS Limit Login?
Thank you for taking a few " #~ "seconds to note us on" #~ msgstr "" #~ "Vous aimez l'extension WPS Limit Login ?
Merci de prendre quelques " #~ "secondes pour nous noter sur" #~ msgid "" #~ "WPS Bidouille provides information about your WordPress and contains " #~ "optimization tools." #~ msgstr "" #~ "WPS Bidouille fournit des informations sur votre WordPress et contient " #~ "des outils d'optimisation." #~ msgid "Install WPS Cleaner" #~ msgstr "Installer WPS Cleaner" #~ msgid "Enable WPS Cleaner" #~ msgstr "Activer WPS Cleaner" #~ msgid "Clean up your WordPress site." #~ msgstr "Nettoyer votre site WordPress." #~ msgid "Install WPS Hide Login" #~ msgstr "Installer WPS Hide Login" #~ msgid "Enable WPS Hide login" #~ msgstr "Activer WPS Hide login" #~ msgid "Secure access to your WordPress administration" #~ msgstr "Sécuriser l'accès à votre administration WordPress" #~ msgid "More about WPS Hide Login" #~ msgstr "Plus d’infos sur WPS Hide Login" #~ msgid "More about Migrate guru" #~ msgstr "Plus d'infos sur Migrate Guru" #~ msgid "Tried to log in as" #~ msgstr "Tentative de connexion de" #~ msgid "" #~ "Defines a list of IPs that will override the plugin settings which will " #~ "completely block the access to authentication for the IP of this list." #~ msgstr "" #~ "Définit une liste d'IP qui outrepasseront les paramètres du plugin ce qui " #~ "permettra de bloquer totalement l'accès à l'authentification pour les IP " #~ "de cette liste." #~ msgid "One IP or IP range (1.2.3.4-5.6.7.8) per line" #~ msgstr "Une plage IP ou IP (1.2.3.4-5.6.7.8) par ligne" #~ msgid "Unlocked auto" #~ msgstr "Débloquer auto" #~ msgid "Total lockouts" #~ msgstr "Blocages totaux" #~ msgid "Active lockouts" #~ msgstr "Blocages actifs" #~ msgid "Options" #~ msgstr "Options" #~ msgid "Lockout" #~ msgstr "Blocage" #~ msgid "minutes lockout" #~ msgstr "minutes de blocage" #~ msgid "Notify on lockout" #~ msgstr "Notifier lors d'un blocage" #~ msgid "Save Options" #~ msgstr "Enregistrer" #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Trop de tentative de connexions ont échouées" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Trop de tentatives de connexions ont échouées" #~ msgid "Options changed" #~ msgstr "Options modifiées" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "Il semble que le site soit directement accessible (depuis votre IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Il semble que le site soit accessible via un serveur proxy (IP du proxy: " #~ "%s, votre IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Le réglage actuel semble être invalide. Merci de vous " #~ "assurer qu'il est correct. Pour plus d'informations, cliquez ici" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Paramètres des tentatives d'accès" #~ msgid "Site connection" #~ msgstr "Connexion" #~ msgid "Direct connection" #~ msgstr "Connexion directe" #~ msgid "From behind a reversy proxy" #~ msgstr "Derrière un serveur proxy" #~ msgid "Handle cookie login" #~ msgstr "Gérer les cookies de connexion" #~ msgid "Yes" #~ msgstr "Oui" #~ msgid "No" #~ msgstr "Non" #~ msgid "Log IP" #~ msgstr "Enregistrer l'adresse IP" #~ msgid "Change Options" #~ msgstr "Modifier options" #~ msgid "IP|Internet address" #~ msgstr "IP|Adresse Internet" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d blocage" #~ msgstr[1] "%d blocages" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NOTE: Cette extension ne fonctionne qu'avec la version " #~ "2.7 de Wordpress 2.7 ou un version supérieure" #~ msgid "Limit Login Attempts" #~ msgstr "Limiter les tentatives de connexion" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limiter le taux de tentatives de connexion, y compris par voie de " #~ "cookies, pour chaque adresse IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ5W**:plugins/wps-limit-login/languages/wps-limit-login-fr_FR.monu[Yb4 A8RPN7@ 7x ( Q 5 ? N g _u  : `"     '  1 % P; I      (0 PY    R BPd9tM: >F VNC  KNLA' OTRe@5/?OUs!J;>lMOdU*QEHda Y,=R ot}AH+6( _>j%nk> (A UL%] l  ? V C!FY!H!!"##"(G"p"l"T"B#&Y#$$ $$ $$Q%% %#&N+&`z&<& '`&'i'c'fU(G(l)q))L)))Q)D*]L*G*R ,U:2*B/&$(1X?P@0JM. 4K;8T=W QE 6'D!>I+"VG)C#%3AYH<-F OL97NS5%d IP is currently blocked from trying to log in%d IP are currently blocked from trying to log in%d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes(-10% discount on your subscription with the promo code WPSC&T)%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Add your IP address (%s) to a whitelist.BlacklistBy default, WPS Limit Login will display the following message on the login form:Clear LogCleared IP logCleared current lockoutsConfigurationDefines a list of IP addresses for which you want to completely block access to the login page.Discover WPBoutikDiscover the specialized WordPress hosting with WPServeur!Ditch the bulky plugins! WPBoutik gives you the simplicity you need to sell online on WordPress.Email to admin afterEnableEnable Migrate GuruEnable WPBoutikFor fast, secure and efficient hosting.GatewayIP was NOT blocked because of external whitelist.IP was blocked for %sIf disabled, the global settings will be forcibly applied to the entire network.If you like %1$s please leave us a %2$s rating. A huge thanks in advance!InstallInstall Migrate GuruInstall WPBoutikInternet addressIPLast user attempted: %sLet network sites use their own settingsLightness and efficiency: discover the WPBoutik e-commerce plugin for WordPress.List of the last 5 lockouts:Lockout logLogLogin form protected byMaximum simplicity, optimal results: adopt WPBoutik for your WordPress e-commerce.More about %sMore about WPBoutikNo lockouts yetOne IP range (88.88.88.86/90) or IP(88.88.88.86) per lineOnline sales without complications? It's possible with WPBoutik on WordPress.Options saved.Please try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countReset the original settingsRestore LockoutsSave time and energy with WPBoutik: the obvious choice for a stress-free online store.Say goodbye to complications! WPBoutik simplifies online sales with WordPress.See all lockoutsSets a list of IP addresses that will have no attempt limit and will never be blocked. Be careful, you must put trusted IP addresses (example: the IP address of your home), you must never put the IP address of a public network (Internet cafe or other).Show Credit Link?Show credit linkStatisticsSubscribe to WPServeurThanks :)This helps others know about the plugin so they can protect their blogs as well if they like. However, you can disable this message if you prefer.Transform your WordPress site into a seamless sales platform with WPBoutik.UnlockUnlockedUse global settingsWPBoutik: the lightweight and efficient solution for your WordPress e-commerceWPS Limit Login limits attempts to connect to your WordPress administration.We only do WordPress but we do it well!WhitelistYou can unlock an IP address individually (by clicking on "Unlock" red button).Your online store deserves a simple and effective solution: discover WPBoutik today.Your online store deserves the best: choose WPBoutik for a hassle-free experience.[%s - WPS Limit Login] Failed login attempts from whitelisted IP[%s - WPS Limit Login] Too many failed login attemptsallowed retriesfor a period ofhourshours until retries are resetlockoutlockoutslockoutslockouts increase lockout time tominuteswhich will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelistwhich will block all ip between 88.88.88.86 and 88.88.88.90Project-Id-Version: wps-limit-login 1.0 Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wps-limit-login PO-Revision-Date: 2024-05-13 16:19+0200 Last-Translator: ova Language-Team: WPserveur Language: fr_FR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.1 %d adresse IP est actuellement bloquée en connexion%d adresses IP sont actuellement bloquées en connexion%d tentatives d'accès ont échouées (%d bloqué(s)) depuis l'adresse IP: %s%d heure%d heures%d blocage depuis la dernière réinitialisation.%d blocages depuis la dernière réinitialisation.%d minute%d minutes(-10% de réduction sur votre abonnement avec le code promo WPSC&T )%d tentative restante.%d tentatives restantes.ERREUR: Nom d'utilisateur ou mot de passe incorrect.ERREUR: Trop de tentatives de connexion ont échouées.Vous pouvez ajouter votre adresse IP (%s) en liste blanche, si elle rempli les conditions ci-dessus.Liste noirePar défaut, WPS Limit Login affichera le message suivant sur le formulaire de connexion:Vider le journalJournal d'IP effacéEffacer les blocages actuelsConfigurationDéfinir une liste d'adresses IP pour lesquelles vous souhaitez bloquer totalement l'accès à la page de connexion.Découvrir WPBoutikDécouvrez l'hébergement spécialisé WordPress avec WPServeur !Laissez tomber les plugins encombrants ! WPBoutik vous offre la simplicité dont vous avez besoin pour vendre en ligne sur WordPress.Envoyer un email à l'administrateur aprèsActiverActiver Migrate GuruActiver WPBoutikPour un hébergement rapide, sécurisé et performant.PasserelleIP n'a pas été bloqué à cause de la liste blanche externe.L'adresse IP a été bloquée pour %sSi cette option est désactivée, les paramètres globaux seront appliqués de force à l'ensemble du réseau.Si vous aimez %1$s, n’hésitez pas à nous laisser une note de %2$s. Un grand merci par avance !InstallerInstaller Migrate GuruInstaller WPBoutikIPDernière tentative de l'utilisateur: %sAutoriser les sites réseau à utiliser leurs propres paramètresLégèreté et efficacité : découvrez le plugin e-commerce WPBoutik pour WordPress.Liste des 5 derniers blocages :Journal de blocageJournal de blocageFormulaire de connexion protégé parSimplicité maximale, résultats optimaux : adoptez WPBoutik pour votre e-commerce WordPress.Plus d’infos sur %sEn savoir plus sur WPBoutikAucun blocageUne plage IP (88.88.88.86/90) ou une IP (88.88.88.86) par ligneDes ventes en ligne sans complications ? C’est possible avec WPBoutik sur WordPress.Options enregistréesMerci de réessayer dans %d heure.Merci de réessayer dans %d heures.Merci de réessayer dans %d minute.Merci de réessayer dans %d minutes.Merci de réessayer plus tard.Réinitialiser le compteurRéinitialiser le nombre de blocageRéinitialiser les paramètres d'origineTout débloquerGagnez du temps et de l’énergie avec WPBoutik : le choix évident pour une boutique en ligne sans stress.Dites adieu aux complications ! WPBoutik simplifie la vente en ligne avec WordPress.Voir tous les blocagesDéfinir une liste d'adresses IP qui n'auront aucune limite de tentative et qui ne seront jamais bloquées. Attention, vous devez mettre des adresses IP de confiance (exemple : l'adresse IP de votre domicile), vous ne devez jamais mettre l'adresse IP d'un réseau public (Cyber café ou autre).Afficher le lien de crédit ?Afficher le lien de créditStatistiquesS'abonner à WPServeurMerci :-)Cela aide les autres à connaître le plugin afin qu'ils puissent également protéger leurs sites s'ils le souhaitent. Cependant, vous pouvez désactiver ce message si vous préférez.Transformez votre site WordPress en une plateforme de vente fluide avec WPBoutik.BloquéDébloquéUtiliser les paramètres générauxWPBoutik : la solution légère et performante pour votre e-commerce WordPressWPS Limit Login permet de limiter les tentatives de connexion à votre administration WordPress.Nous ne faisons que du WordPress mais nous le faisons bien !Liste blancheVous pouvez débloquer une adresse IP individuellement (En cliquant sur "Bloqué" bouton rouge).Votre boutique en ligne mérite une solution simple et efficace : découvrez WPBoutik dès aujourd’hui.Votre boutique en ligne mérite le meilleur : choisissez WPBoutik pour une expérience sans tracas.[%s - WPS Limit Login] Echec des tentatives de connexion à partir de l'adresse IP de la liste blanche[%s - WPS Limit Login] Trop de tentatives de connexion qui ont échouétentative(s) autorisée(s) avant le blocage de votre IP pour accéder à l'administration de votre WordPresspour une durée deheuresheure(s) jusqu'à ce que les tentatives de connexion soient réinitialiséesblocageblocagesblocagesblocage(s) supplémentaires augmentent le temps de blocage de votre adresse IP àminutesce qui ajoutera toutes les ip comprise entre 88.88.88.86 et 88.88.88.90 dans la liste blanchece qui bloquera toutes les ip comprise entre 88.88.88.86 et 88.88.88.90PKZ(" " 7plugins/wps-limit-login/languages/wps-limit-login-fi.monu[%p4q8N7T7  ! 9E:U>   %5;Y!bDBSP D]J &, S d I M 7 T c }   +        %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was blocked for %sLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: wp-limit-login-attempts-plugin Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:05+0100 PO-Revision-Date: 2018-03-02 12:05+0100 Last-Translator: AriK Language-Team: Finnish Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d epäonnistunutta kirjautumisyritystä (%d lukitus(ta)) IP:stä %s%d tunti%d tuntia%d lukitus edellisen nollauksen jälkeen%d lukitusta edellisen nollauksen jälkeen%d minuutti(a)%d minuutti(a)%d yritys jäljellä.%d yritystä jäljellä.VIRHE: Virheellinen käyttäjätunnus tai salasana.VIRHE: Liian monta epäonnistunutta kirjautumisyritystä.Tyhjennä lokiIP loki tyhjennettyLukitusten laskuri nollattuLähetä sähköposti ylläpitäjälleIP estettiin: %sViimeisin käyttäjä yritti: %sLukituslokiEi lukituksiaYritä uudelleen %d tunnin kuluttua.Yritä uudelleen %d tunnin kuluttua.Yritä uudelleen %d minuutin kuluttua.Yritä uudelleen %d minuutin kuluttua.Yritä myöhemmin uudelleen.Nollaa laskuriNollaa lukitusten laskuriPalauta lukituksetTilastotietoauudelleenyritystä sallitaantuntiintuntia, kunnes uudelleenyritykset nollataanlukituksen jälkeenlukitusta lisää lukitusaikaaPKZ44:plugins/wps-limit-login/languages/wps-limit-login-bg_BG.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:03+0100\n" "PO-Revision-Date: 2018-03-02 12:03+0100\n" "Last-Translator: Hristo Chakarov \n" "Language-Team: iNetStudio \n" "Language: bg_BG\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-KeywordsList: __;_e;_ngettext:1,2\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Статистики" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d заключване от последното нулиране" msgstr[1] "%d заключвания от последното нулиране" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Няма заключвания досега" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP е блокирано" msgstr[1] "%d IP е блокирано" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Нулирай брояча" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Поднови заключванията" #: blocks/log.php:41 msgid "Lockout log" msgstr "Лог на заключванията" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Изчисти лог" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP е блокирано за %s." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "позволени опити" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "часа грешните опити се нулират" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "заключвания увеличават времето на заключване на " #: blocks/settings.php:54 msgid "hours" msgstr "часа" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Прати Email до администратора след" #: blocks/settings.php:61 msgid "lockouts" msgstr "заключвания" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "Имате право на само %d опит!" msgstr[1] "Имате право на още %d опита." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "ГРЕШКА: Твърде много грешни опита за вход." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d час" msgstr[1] "%d часа" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d минута" msgstr[1] "%d минути" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d грешни опити за вход (%d заключвания) от IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Последно потребителя е опитал: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP е блокирано за %s." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Моля, опитайте отново по-късно." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Моля, опитайте пак след %d час." msgstr[1] "Моля, опитайте пак след %d часа." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Моля, опитайте пак след %d минута." msgstr[1] "Моля, опитайте пак след %d минути." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "ГРЕШКА: Грешно потребителско име или парола." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP логът беше зачистен" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Нулирай броя заключвания" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Заключванията са изчистени" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Общо заключвания" #~ msgid "Active lockouts" #~ msgstr "Активни заключвания" #~ msgid "Options" #~ msgstr "Настройки" #~ msgid "Lockout" #~ msgstr "Заключване" #~ msgid "minutes lockout" #~ msgstr "минути заключване" #~ msgid "Notify on lockout" #~ msgstr "Уведомявай при заключване" #~ msgid "Tried to log in as" #~ msgstr "Опитва да влезе като" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Твърде много грешни опити за вход" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Твърде много грешни опити за вход" #~ msgid "Options changed" #~ msgstr "Настройките са запазени" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Изглежда сайтът е достъпен директно (от IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Изглежда сайтът е достъпен през прокси сървър (IP на прокси сървъра: %s, " #~ "IP на сайта: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Настройките са невалидни. Повече информация тук" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Настройки" #~ msgid "Site connection" #~ msgstr "Връзка към сайта" #~ msgid "Direct connection" #~ msgstr "Директна връзка" #~ msgid "From behind a reversy proxy" #~ msgstr "През Прокси сървър" #~ msgid "Handle cookie login" #~ msgstr "Наблюдавай cookie login" #~ msgid "Yes" #~ msgstr "Да" #~ msgid "No" #~ msgstr "Не" #~ msgid "Log IP" #~ msgstr "Log IP" #~ msgid "Change Options" #~ msgstr "Обнови настройки" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d заключване" #~ msgstr[1] "%d заключвания" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "ЗАБЕЛЕЖКА: Работи само с WordPress версия 2.7+" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Ограничава броя на опитите за вход, включително тези от cookies, за всяко " #~ "различно IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ11:plugins/wps-limit-login/languages/wps-limit-login-hu_HU.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:05+0100\n" "PO-Revision-Date: 2018-03-02 12:05+0100\n" "Last-Translator: Vereskuti Balint \n" "Language-Team: Hungarian \n" "Language: hu_HU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statisztikák" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d kizárás az előző nullázás óta" msgstr[1] "%d kizárás az előző nullázás óta" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Jelenleg nincs aktív kizárás" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP, melyről bejelentkezni próbál jelenleg kizárva!" msgstr[1] "%d IP, melyről bejelentkezni próbál jelenleg kizárva!" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Számláló nullázása" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Kizárások feloldása" #: blocks/log.php:41 msgid "Lockout log" msgstr "Kizárási napló" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Log törlése" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "Az IP-cím %s időre kizárásra került." #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "engedélyezett bejelentkezési lehetőség" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "óra teljen el a hibás bejelentkezések visszaállításáig" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "kizárás ennyivel emeli meg a teljes kizárási időt: " #: blocks/settings.php:54 msgid "hours" msgstr "óra" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Email az adminisztrátornak " #: blocks/settings.php:61 msgid "lockouts" msgstr "darab kizárás után" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "Még %d bejelentkezési lehetőség maradt." msgstr[1] "Még %d bejelentkezési lehetőség maradt." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "HIBA: Túl sok hibás bejeletkezési kísérlet." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d óra" msgstr[1] "%d óra" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d perc" msgstr[1] "%d perc" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d hibás bejelentkezési kísérlet (%d kizárás) %s IP-címről" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Az utolsó helyes bejelentkezés %s felhasználónévvel." #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "Az IP-cím %s időre kizárásra került." #: classes/plugin.php:818 msgid "Please try again later." msgstr "Próbáljs meg később." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Próbálja meg %d óra múlva." msgstr[1] "Próbálja meg %d óra múlva." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Próbálja meg %d perc múlva." msgstr[1] "Próbálja meg %d perc múlva." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "HIBA: Érvénytelen felhasználónév vagy jelszó." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "IP log törölve" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Kizárási számláló nullázása" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "A kizárások feloldásra kerültek" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Eddigi kizárások" #~ msgid "Active lockouts" #~ msgstr "Aktív kizárás(ok)" #~ msgid "Options" #~ msgstr "Beállítások" #~ msgid "Lockout" #~ msgstr "Kizárás" #~ msgid "minutes lockout" #~ msgstr "perc kizárás az engedélyezett lehetőségek elérése után" #~ msgid "Notify on lockout" #~ msgstr "Értesítés kizárásról" #~ msgid "Tried to log in as" #~ msgstr "Bejelentkezés mint" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Túl sok hibás bejelentkezési kísérlet" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Túl sok hibás bejelentkezési kísérlet" #~ msgid "Options changed" #~ msgstr "A beállítások megváltoztatásra kerültek" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Az oldal direkt módon került elérésre (%s IP-címről)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Az oldal proxy-n keresztül került elérésre (proxy IP: %s, saját IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Helytelenek az aktuális beállítások. További információk " #~ "itt érhetők el." #~ msgid "Limit Login Attempts Settings" #~ msgstr "A Limit Login Attempts beállításai" #~ msgid "Site connection" #~ msgstr "Oldal elérése" #~ msgid "Direct connection" #~ msgstr "direkt-elérés" #~ msgid "From behind a reversy proxy" #~ msgstr "elérés Reverse Proxy Serveren keresztül" #~ msgid "Handle cookie login" #~ msgstr "Cookie-n keresztüli bejelentkezés" #~ msgid "Yes" #~ msgstr "Igen" #~ msgid "No" #~ msgstr "Nem" #~ msgid "Log IP" #~ msgstr "IP logok mentése" #~ msgid "Change Options" #~ msgstr "Beállítások mentése" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d kizárás" #~ msgstr[1] "%d kizárás" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "Figyelmeztetés: Csak a Wordpress 2.7, és annál újabb " #~ "verziókkal működik!" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Bejelentkezések felügyelete - akár cookie-kon kereszütl minden IP-re." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ4..:plugins/wps-limit-login/languages/wps-limit-login-zh_TW.ponu[# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Johan Eenfeldt # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Limit Login Attempts v1.5\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:07+0100\n" "PO-Revision-Date: 2018-03-02 12:07+0100\n" "Last-Translator: Denny Huang \n" "Language-Team: 小弟的大發現 \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "數據" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "自從上次重設,已有%d次鎖定。" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "未有任何鎖定紀錄" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "IP: %d嘗試登入,但目前已被阻擋" #: blocks/log.php:25 msgid "Reset Counter" msgstr "重設計數器" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "還原鎖定" #: blocks/log.php:41 msgid "Lockout log" msgstr "鎖定紀錄" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "清除記錄" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP已被封鎖。 原因: %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "允許嘗試次數" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "小時直到重設登入嘗試" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "次鎖定後,將鎖定時間增加為" #: blocks/settings.php:54 msgid "hours" msgstr "小時" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Email 給管理員當超過" #: blocks/settings.php:61 msgid "lockouts" msgstr "鎖定次數" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "嘗試次數剩%d次." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "錯誤: 嘗試過多次失敗登入" #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d 小時" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d 分鐘" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "登入失敗嘗試次數: %d (%d 鎖定) 來自 IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "最後一位使用者嘗試: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP已被封鎖。 原因: %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "請稍候再試." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "請在%d小時後再重試。" #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "請在%d分鐘後再重試。" #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "錯誤: 帳號或密碼錯誤." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "清除IP紀錄" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "重設鎖定計數器" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "目前鎖定次數已重設" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "總共鎖定次數" #~ msgid "Active lockouts" #~ msgstr "解除鎖定" #~ msgid "Options" #~ msgstr "選項" #~ msgid "Lockout" #~ msgstr "鎖定" #~ msgid "minutes lockout" #~ msgstr "分鐘鎖定" #~ msgid "Notify on lockout" #~ msgstr "鎖定的提醒" #~ msgid "Tried to log in as" #~ msgstr "嘗試登入為" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] 嘗試過多次的失敗登入" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] 嘗試過多次的失敗登入" #~ msgid "Options changed" #~ msgstr "設定已儲存" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "網站與您的電腦(IP: %s)似乎是直接連線" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "網站似乎是透過代理伺服器(IP:%s)再與您的電腦(IP: %s)連線" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "目前設定有些問題. 請再次檢查. 更多資訊可以在 這邊找到" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts 設定" #~ msgid "Site connection" #~ msgstr "網站連結" #~ msgid "Direct connection" #~ msgstr "直接連線" #~ msgid "From behind a reversy proxy" #~ msgstr "透過代理伺服器" #~ msgid "Handle cookie login" #~ msgstr "控管Cookie登入" #~ msgid "Yes" #~ msgstr "是" #~ msgid "No" #~ msgstr "否" #~ msgid "Log IP" #~ msgstr "紀錄 IP" #~ msgid "Change Options" #~ msgstr "儲存設定" #~ msgid "IP|Internet address" #~ msgstr "IP|網路位址" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d 次鎖定" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "注意: 只在 Wordpress 2.7 或以後版本有效" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "限制登入嘗試比率(包含Cookies 和 IP) [外掛中文化: Denny " #~ "Huang]" #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZU尊{1{17plugins/wps-limit-login/languages/wps-limit-login-ca.ponu[# Limit Login Attempts German Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.3\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:04+0100\n" "PO-Revision-Date: 2018-03-02 12:04+0100\n" "Last-Translator: Robert Buj \n" "Language-Team: Catalan \n" "Language: ca_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Estadístiques" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d bloqueig des de l'ultim restabliment." msgstr[1] "%d bloqueigs des de l'ultim restabliment." #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Encara sense bloqueigs" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "La IP %d actualment està bloquejada al tractar d'iniciar la sessió" msgstr[1] "La IP %d actualment està bloquejada al tractar d'iniciar la sessió" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Restablir contador" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Restablir bloqueigs" #: blocks/log.php:41 msgid "Lockout log" msgstr "Registre de bloqueigs" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Netejar registre" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP заблокирован для %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "reintents permesos" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "hores fins que es restableixen els reintents" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "bloqueigs incrementen el temps a" #: blocks/settings.php:54 msgid "hours" msgstr "hores" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Enviar després un correu a l'administrador" #: blocks/settings.php:61 msgid "lockouts" msgstr "Bloqueigs" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d intent restant." msgstr[1] "%d intents restants." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "ERROR: Massa intents d'accedir fallits." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d hores" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minut" msgstr[1] "%d minuts" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d intents d'accedir fallits (%d bloqueig(s)) de de l'IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Últim intent d'usuari: %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "La IP ha estat bloquejada per %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Si us plau torneu-ho a intentar més tard." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Si us plau torneu-ho a provar d'aquí a %d hora." msgstr[1] "Si us plau torneu-ho a provar d'aquí a %d hores." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Si us plau torneu-ho a provar d'aquí a %d minut." msgstr[1] "Si us plau torneu-ho a provar d'aquí a %d minuts." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "ERROR: Nom d'usuari o contrasenya incorrectes." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Netejat el registre IP" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Restablir contador de bloqueig" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Netejats els bloqueigs actuals" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Bloqueigs totals" #~ msgid "Active lockouts" #~ msgstr "Bloqueigs actius" #~ msgid "Options" #~ msgstr "Opcions" #~ msgid "Lockout" #~ msgstr "Bloqueig" #~ msgid "minutes lockout" #~ msgstr "minuts a bloquejar" #~ msgid "Notify on lockout" #~ msgstr "Notificar al bloquejar" #~ msgid "Tried to log in as" #~ msgstr "Heu tractat d'accedir com" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] Massa intents d'accés fallits" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] Massa intents d'accés fallits" #~ msgid "Options changed" #~ msgstr "Opcions canviades" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "" #~ "Pel que sembla, al lloc s'arriba directament (a partir de la vostra IP: " #~ "%s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Pel que sembla, al lloc s'arriba a través d'un servidor intermediari " #~ "(proxy IP: %s, la vostra IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "La configuració actual sembla ser incorrecta. Si us " #~ "plau, assegureu-vos que és correcta. Podeu trobar més informació aquí" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Preferències del límit d'intents d'identificació" #~ msgid "Site connection" #~ msgstr "Lloc de connexió" #~ msgid "Direct connection" #~ msgstr "Connexió directa" #~ msgid "From behind a reversy proxy" #~ msgstr "Des de darrere d'un proxy reversy" #~ msgid "Handle cookie login" #~ msgstr "Manejar galletes d'identificació" #~ msgid "Yes" #~ msgstr "Si" #~ msgid "No" #~ msgstr "No" #~ msgid "Log IP" #~ msgstr "Registre IP" #~ msgid "Change Options" #~ msgstr "Canviar opcions" #~ msgid "IP|Internet address" #~ msgstr "IP|Adreça d'internet" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d bloqueig" #~ msgstr[1] "%d bloqueigs" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "" #~ "NOTA: Només funciona amb Wordpress 2.7 i posteriors" #~ msgid "Limit Login Attempts" #~ msgstr "Límit d'intents d'identificació" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limitar la taxa d'intents d'accés, per mitjà de galetes, per a cada IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZna//:plugins/wps-limit-login/languages/wps-limit-login-nb_NO.ponu[# Limit Login Attempts Swedish Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.2\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:05+0100\n" "PO-Revision-Date: 2018-03-02 12:05+0100\n" "Last-Translator: Rune G \n" "Language-Team: DigitalHverdag \n" "Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistikk" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d blokkering siden siste nullstilling" msgstr[1] "%d blokkeringer siden siste nullstilling" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Ingen blokkeringer enda" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "%d IP står på blokkeringslisten" msgstr[1] "%d IP står på blokkeringslisten" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Nullstill teller" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Fjern blokkeringer" #: blocks/log.php:41 msgid "Lockout log" msgstr "Blokkerings logg" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Nullstill loggen" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 #, fuzzy msgctxt "Internet address" msgid "IP" msgstr "IP blokkert i %s" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "Antall påloggingsforsøk" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "timer til nullstilling" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "Blokkeringer øker blokkeringstiden til" #: blocks/settings.php:54 msgid "hours" msgstr "timer" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "Send epost til admin etter" #: blocks/settings.php:61 msgid "lockouts" msgstr "blokkeringer" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d forsøk gjenstår." msgstr[1] "%d forsøk gjenstår." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "Feil: For mange påloggingsforsøk." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d time" msgstr[1] "%d timer" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minutt" msgstr[1] "%d minutter" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d påloggingsforsøk (stoppet %d gang(er)) fra IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Siste brukernavn som feilet : %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "" #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP blokkert i %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Prøv igjen senere" #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Prøv igjen om %d time." msgstr[1] "Prøv igjen om %d timer." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Prøv igjen om %d minutt." msgstr[1] "Prøv igjen om %d minutter." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "Feil: Feil brukernavn eller passord." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Nullstill IP loggen" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Nullstill antall blokkeringer" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Fjernet gjeldende blokkeringer" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Totalt antall blokkeringer" #~ msgid "Active lockouts" #~ msgstr "Aktive blokkeringer" #~ msgid "Options" #~ msgstr "Innstillinger" #~ msgid "Lockout" #~ msgstr "Blokkering" #~ msgid "minutes lockout" #~ msgstr "minutters blokkering" #~ msgid "Notify on lockout" #~ msgstr "Gi melding om blokkering" #~ msgid "Tried to log in as" #~ msgstr "Prøvde å logge inn som" #, fuzzy #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] For mange påloggingsforsøk" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] For mange påloggingsforsøk" #~ msgid "Options changed" #~ msgstr "Innstillinger endret" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Det ser ut som om du kan nå bloggen direkte (fra din IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Det ser ut som om bloggen din er bak en proxy server (proxy IP: %s, din " #~ "IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Dine innstillinger kan være feil. Sjekk at de er " #~ "korrekte. Mer informasjon her" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Innstillinger" #~ msgid "Site connection" #~ msgstr "Blogg forbindelse" #~ msgid "Direct connection" #~ msgstr "Direkte forbindelse" #~ msgid "From behind a reversy proxy" #~ msgstr "Bak en omvendt proxy" #~ msgid "Handle cookie login" #~ msgstr "Behandle pålogginger med cookies" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nei" #~ msgid "Log IP" #~ msgstr "Logg IP" #~ msgid "Change Options" #~ msgstr "Endre innstillinger" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d blokkering" #~ msgstr[1] "%d blokkeringer" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "NB: Du må bruker WordPress 2.7 eller nyere" #~ msgid "Limit Login Attempts" #~ msgstr "Begrense påloggingsforsøk" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Begrenser antall påloggingsforsøk, inkludert forsøk med cookies, for alle " #~ "IPer" #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" PKZ&WH H :plugins/wps-limit-login/languages/wps-limit-login-sv_SE.monu[ )48 N577  &1;m :>E ]k !?iuF HR   $ 1 - A 'D l % F G < Z 4v    *  !&    %d failed login attempts (%d lockout(s)) from IP: %s%d hour%d hours%d lockout since last reset%d lockouts since last reset%d minute%d minutes%d attempt remaining.%d attempts remaining.ERROR: Incorrect username or password.ERROR: Too many failed login attempts.Clear LogCleared IP logCleared current lockoutsEmail to admin afterIP was NOT blocked because of external whitelist.IP was blocked for %sInternet addressIPLast user attempted: %sLockout logNo lockouts yetPlease try again in %d hour.Please try again in %d hours.Please try again in %d minute.Please try again in %d minutes.Please try again later.Reset CounterReset lockout countRestore LockoutsStatisticsallowed retrieshourshours until retries are resetlockoutslockouts increase lockout time toProject-Id-Version: limit-login-attempts 1.2 Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts POT-Creation-Date: 2018-03-02 12:06+0100 PO-Revision-Date: 2018-03-02 12:06+0100 Last-Translator: Johan Eenfeldt Language-Team: Swedish Language: sv_SE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.12 %d misslyckade inloggningar (blockad %d gång(er)) från IP: %s%d timme%d timmar%d blockering sedan räknaren nollställdes%d blockeringar sedan räknaren nollställdes%d minut%d minuter%d försök återstår.%d försök återstår.Fel: Felaktigt användarnamn eller lösenord.Fel: För många misslyckade försök.Rensa LogRensade IP loggenTog bort aktuella blockeringarE-post till administratör efterIP blockerades INTE på grund av extern vitlista.IP blockerades i %sIPMisslyckades senast med användare : %sLog över blockeringarInga blockeringar har skett ännuFörsök igen om %d timme.Försök igen om %d timmar.Försök igen om %d minut.Försök igen om %d minuter.Försök igen senare.Nollställ räknareNollställde räknaren för blockeringarTa bort blockeringarStatistiktillåtna misslyckandentimmartimmar tills misslyckanden nollställsblockeringarblockeringar ökar tiden tillPKZXz1z1:plugins/wps-limit-login/languages/wps-limit-login-sv_SE.ponu[# Limit Login Attempts Swedish Translation # Copyright (C) 2009 Johan Eenfeldt # This file is distributed under the same license as the Wordpress package. # Johan Eenfeldt , 2009. # msgid "" msgstr "" "Project-Id-Version: limit-login-attempts 1.2\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n" "POT-Creation-Date: 2018-03-02 12:06+0100\n" "PO-Revision-Date: 2018-03-02 12:06+0100\n" "Last-Translator: Johan Eenfeldt \n" "Language-Team: Swedish\n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.12\n" #: admin_page/options.php:4 msgid "" "WPS Limit Login limits attempts to connect to your WordPress administration." msgstr "" #: blocks/blacklist.php:7 blocks/menu.php:15 msgid "Blacklist" msgstr "" #: blocks/blacklist.php:8 msgid "" "Defines a list of IP addresses for which you want to completely block access " "to the login page." msgstr "" #: blocks/blacklist.php:9 blocks/whitelist.php:18 msgid "One IP range (88.88.88.86/90) or IP(88.88.88.86) per line" msgstr "" #: blocks/blacklist.php:11 msgid "which will block all ip between 88.88.88.86 and 88.88.88.90" msgstr "" #: blocks/blacklist.php:14 blocks/settings.php:78 blocks/whitelist.php:23 msgid "Save" msgstr "" #: blocks/log.php:6 msgid "Statistics" msgstr "Statistik" #: blocks/log.php:12 #, php-format msgid "%d lockout since last reset" msgid_plural "%d lockouts since last reset" msgstr[0] "%d blockering sedan räknaren nollställdes" msgstr[1] "%d blockeringar sedan räknaren nollställdes" #: blocks/log.php:16 msgid "No lockouts yet" msgstr "Inga blockeringar har skett ännu" #: blocks/log.php:20 #, fuzzy, php-format #| msgid "%d IP is currently blocked from trying to log in" msgid "%d IP is currently blocked from trying to log in" msgid_plural "%d IPs is currently blocked from trying to log in" msgstr[0] "" "%d IP är för närvarande blockerade från att logga in" msgstr[1] "" "%d IP är för närvarande blockerade från att logga in" #: blocks/log.php:25 msgid "Reset Counter" msgstr "Nollställ räknare" #: blocks/log.php:29 msgid "Restore Lockouts" msgstr "Ta bort blockeringar" #: blocks/log.php:41 msgid "Lockout log" msgstr "Log över blockeringar" #: blocks/log.php:42 msgid "" "You can unlock an IP address individually (by clicking on \"Unlock\" red " "button)." msgstr "" #: blocks/log.php:48 msgid "Clear Log" msgstr "Rensa Log" #: blocks/log.php:55 blocks/log.php:64 msgid "Date" msgstr "" #: blocks/log.php:56 blocks/log.php:65 msgctxt "Internet address" msgid "IP" msgstr "IP" #: blocks/log.php:57 blocks/log.php:66 msgid "Users" msgstr "" #: blocks/log.php:58 blocks/log.php:67 msgid "Gateway" msgstr "" #: blocks/log.php:66 msgid "lockout" msgid_plural "lockouts" msgstr[0] "" msgstr[1] "" #: blocks/log.php:71 msgid "Unlock" msgstr "" #: blocks/log.php:73 blocks/log.php:98 msgid "Unlocked" msgstr "" #: blocks/menu.php:5 blocks/settings.php:10 msgid "Configuration" msgstr "" #: blocks/menu.php:10 blocks/whitelist.php:15 msgid "Whitelist" msgstr "" #: blocks/menu.php:20 msgid "Log" msgstr "" #: blocks/pub-wps-hide-login.php:13 msgid "Install WPS Hide Login" msgstr "" #: blocks/pub-wps-hide-login.php:25 msgid "Enable WPS Hide login" msgstr "" #: blocks/pub-wps-hide-login.php:43 msgid "Secure access to your WordPress administration" msgstr "" #: blocks/pub-wps-hide-login.php:47 msgid "More about WPS Hide Login" msgstr "" #: blocks/pub-wpsbidouille.php:13 msgid "Install WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:25 msgid "Enable WPS Bidouille" msgstr "" #: blocks/pub-wpsbidouille.php:43 msgid "" "WPS Bidouille provides information about your WordPress and contains " "optimization tools." msgstr "" #: blocks/pub-wpsbidouille.php:47 msgid "More about WPS Bidouille" msgstr "" #: blocks/pub-wpserveur.php:13 msgid "Install Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:25 msgid "Enable Migrate Guru" msgstr "" #: blocks/pub-wpserveur.php:44 msgid "Discover the specialized WordPress hosting with WPServeur!" msgstr "" #: blocks/pub-wpserveur.php:45 msgid "For fast, secure and efficient hosting." msgstr "" #: blocks/pub-wpserveur.php:46 msgid "We only do WordPress but we do it well!" msgstr "" #: blocks/pub-wpserveur.php:47 #, php-format msgid "" "(-10% discount on your subscription with the promo code WPSC&T)" msgstr "" #: blocks/pub-wpserveur.php:51 msgid "Subscribe to WPServeur" msgstr "" #: blocks/pub-wpserveur.php:55 msgid "More about Migrate guru" msgstr "" #: blocks/settings.php:16 msgid "Let network sites use their own settings" msgstr "" #: blocks/settings.php:17 msgid "" "If disabled, the global settings will be forcibly applied to the entire " "network." msgstr "" #: blocks/settings.php:21 msgid "Use global settings" msgstr "" #: blocks/settings.php:42 msgid "allowed retries" msgstr "tillåtna misslyckanden" #: blocks/settings.php:42 msgid "for a period of" msgstr "" #: blocks/settings.php:44 msgid "minutes" msgstr "" #: blocks/settings.php:48 msgid "hours until retries are reset" msgstr "timmar tills misslyckanden nollställs" #: blocks/settings.php:52 msgid "lockouts increase lockout time to" msgstr "blockeringar ökar tiden till" #: blocks/settings.php:54 msgid "hours" msgstr "timmar" #: blocks/settings.php:59 msgid "Email to admin after" msgstr "E-post till administratör efter" #: blocks/settings.php:61 msgid "lockouts" msgstr "blockeringar" #: blocks/settings.php:64 msgid "Show Credit Link?" msgstr "" #: blocks/settings.php:65 msgid "" "By default, WPS Limit Login will display the following message on the login " "form:" msgstr "" #: blocks/settings.php:67 classes/plugin.php:1239 msgid "Login form protected by" msgstr "" #: blocks/settings.php:70 msgid "" "This helps others know about the plugin so they can protect their blogs as " "well if they like. However, you can disable this message if you prefer." msgstr "" #: blocks/settings.php:74 msgid "Show credit link" msgstr "" #: blocks/settings.php:81 msgid "Reset the original settings" msgstr "" #: blocks/whitelist.php:16 msgid "" "Sets a list of IP addresses that will have no attempt limit and will never " "be blocked. Be careful, you must put trusted IP addresses (example: the IP " "address of your home), you must never put the IP address of a public network " "(Internet cafe or other)." msgstr "" #: blocks/whitelist.php:17 #, php-format msgid "Add your IP address (%s) to a whitelist." msgstr "" #: blocks/whitelist.php:20 msgid "" "which will add all ip between 88.88.88.86 and 88.88.88.90 in the whitelist" msgstr "" #: classes/plugin.php:210 classes/plugin.php:968 #, php-format msgid "%d attempt remaining." msgid_plural "%d attempts remaining." msgstr[0] "%d försök återstår." msgstr[1] "%d försök återstår." #: classes/plugin.php:263 classes/plugin.php:753 classes/plugin.php:814 msgid "ERROR: Too many failed login attempts." msgstr "" "Fel: För många misslyckade försök." #: classes/plugin.php:596 #, php-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d timme" msgstr[1] "%d timmar" #: classes/plugin.php:602 #, php-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minut" msgstr[1] "%d minuter" #: classes/plugin.php:609 #, php-format msgid "[%s - WPS Limit Login] Failed login attempts from whitelisted IP" msgstr "" #: classes/plugin.php:613 #, php-format msgid "[%s - WPS Limit Login] Too many failed login attempts" msgstr "" #: classes/plugin.php:618 #, php-format msgid "%d failed login attempts (%d lockout(s)) from IP: %s" msgstr "%d misslyckade inloggningar (blockad %d gång(er)) från IP: %s" #: classes/plugin.php:622 #, php-format msgid "Last user attempted: %s" msgstr "Misslyckades senast med användare : %s" #: classes/plugin.php:626 msgid "IP was NOT blocked because of external whitelist." msgstr "IP blockerades INTE på grund av extern vitlista." #: classes/plugin.php:628 #, php-format msgid "IP was blocked for %s" msgstr "IP blockerades i %s" #: classes/plugin.php:818 msgid "Please try again later." msgstr "Försök igen senare." #: classes/plugin.php:826 #, php-format msgid "Please try again in %d hour." msgid_plural "Please try again in %d hours." msgstr[0] "Försök igen om %d timme." msgstr[1] "Försök igen om %d timmar." #: classes/plugin.php:828 #, php-format msgid "Please try again in %d minute." msgid_plural "Please try again in %d minutes." msgstr[0] "Försök igen om %d minut." msgstr[1] "Försök igen om %d minuter." #: classes/plugin.php:896 msgid "ERROR: Incorrect username or password." msgstr "Fel: Felaktigt användarnamn eller lösenord." #: classes/plugin.php:919 msgid "WC Error" msgstr "" #: classes/plugin.php:1071 msgid "Cleared IP log" msgstr "Rensade IP loggen" #: classes/plugin.php:1077 msgid "Reset lockout count" msgstr "Nollställde räknaren för blockeringar" #: classes/plugin.php:1083 msgid "Cleared current lockouts" msgstr "Tog bort aktuella blockeringar" #: classes/plugin.php:1106 classes/plugin.php:1124 classes/plugin.php:1142 msgid "Options saved." msgstr "" #. Plugin Name of the plugin/theme msgid "WPS Limit Login" msgstr "" #. Description of the plugin/theme msgid "Limit connection attempts by IP address" msgstr "" #. Author of the plugin/theme msgid "WPServeur, NicolasKulka" msgstr "" #. Author URI of the plugin/theme msgid "https://wpserveur.net" msgstr "" #~ msgid "Total lockouts" #~ msgstr "Antal blockeringar" #~ msgid "Active lockouts" #~ msgstr "Aktiva blockeringar" #~ msgid "Options" #~ msgstr "Inställningar" #~ msgid "Lockout" #~ msgstr "Blockering" #~ msgid "minutes lockout" #~ msgstr "minuters blockering" #~ msgid "Notify on lockout" #~ msgstr "Notifiera om blockering" #~ msgid "Tried to log in as" #~ msgstr "Försökte logga in som" #~ msgid "[%s] Failed login attempts from whitelisted IP" #~ msgstr "[%s] För många misslyckade inloggningar från IP i vitlista" #~ msgid "[%s] Too many failed login attempts" #~ msgstr "[%s] För många misslyckade inloggningar" #~ msgid "Options changed" #~ msgstr "Inställningar ändrade" #~ msgid "It appears the site is reached directly (from your IP: %s)" #~ msgstr "Sajten tycks vara direktansluten (från din IP: %s)" #~ msgid "" #~ "It appears the site is reached through a proxy server (proxy IP: %s, your " #~ "IP: %s)" #~ msgstr "" #~ "Sajten tycks ansluta genom en proxy server (proxy IP: %s, din IP: %s)" #~ msgid "" #~ "Current setting appears to be invalid. Please make sure " #~ "it is correct. Further information can be found here" #~ msgstr "" #~ "Nuvarande inställningar kan vara fel. Säkerställ att de " #~ "är korrekta. Mer information kan hittas här" #~ msgid "Limit Login Attempts Settings" #~ msgstr "Limit Login Attempts Inställningar" #~ msgid "Site connection" #~ msgstr "Sajten ansluter" #~ msgid "Direct connection" #~ msgstr "Direktansluten" #~ msgid "From behind a reversy proxy" #~ msgstr "Bakom en reverse proxy" #~ msgid "Handle cookie login" #~ msgstr "Hantera inloggning med kakor" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nej" #~ msgid "Log IP" #~ msgstr "Logga IP" #~ msgid "Change Options" #~ msgstr "Ändra Inställningar" #~ msgid "%d lockout" #~ msgid_plural "%d lockouts" #~ msgstr[0] "%d blockering" #~ msgstr[1] "%d blockeringar" #~ msgid "Limit Login Attempts" #~ msgstr "Limit Login Attempts" #~ msgid "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgstr "http://devel.kostdoktorn.se/limit-login-attempts" #~ msgid "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgstr "" #~ "Limit rate of login attempts, including by way of cookies, for each IP." #~ msgid "Johan Eenfeldt" #~ msgstr "Johan Eenfeldt" #~ msgid "http://devel.kostdoktorn.se" #~ msgstr "http://devel.kostdoktorn.se" #~ msgid "IP|Internet address" #~ msgstr "IP" #~ msgid "NOTE: Only works in Wordpress 2.7 or later" #~ msgstr "OBS: Fungerar endast i WordPress 2.7 eller senare" PKZ11-plugins/speedycache-pro/main/settingspage.phpnu[

License

'.esc_html__('SpeedyCache Version', 'speedycache').' '.SPEEDYCACHE_PRO_VERSION.(defined('SPEEDYCACHE_PRO') ? ' (Pro Version)' : '').'
'.esc_html__('SpeedyCache License', 'speedycache').'
'.(defined('SPEEDYCACHE_PRO') && empty($speedycache->license) ? 'Unlicensed    ' : '').'
'; if(!empty($speedycache->license)){ $expires = $speedycache->license['expires']; $expires = substr($expires, 0, 4).'/'.substr($expires, 4, 2).'/'.substr($expires, 6); echo '
License Status : '.(empty($speedycache->license['status_txt']) ? 'N.A.' : wp_kses_post($speedycache->license['status_txt'])).'       License Expires : '.($speedycache->license['expires'] <= date('Ymd') ? ''.esc_attr($expires).'' : esc_attr($expires)).'
'; } echo '
URL '.get_site_url().'
Path '.ABSPATH.'
Server\'s IP Address '.esc_html($_SERVER['SERVER_ADDR']).'
.htaccess is writable '.(is_writable(ABSPATH.'/.htaccess') ? 'Yes' : 'No').'
'; } // Earlier we use to just log deletion, but now we will log other stuff too. static function logs(){ global $speedycache; $speedycache->logs['logs'] = get_option('speedycache_delete_cache_logs', []); echo '
SpeedyCache Logs
'; if(!empty($speedycache->logs['logs']) && count($speedycache->logs['logs']) > 0){ foreach($speedycache->logs['logs'] as $key => $log){ echo '
'.(isset($log['date']) ? esc_html($log['date']) : '') . (isset($log['via']) ? esc_html(\SpeedyCache\Logs::decode_via($log['via'])) : '').'
'; } }else{ echo '
'. esc_html__('No logs found', 'speedycache'). '
'; } echo '
'; } static function stats(){ global $speedycache; if(!class_exists('\SpeedyCache\Util')){ return; } // CACHE SIZE $cache_stats = get_option('speedycache_html_size', 0); if(empty($cache_stats)){ $desktop_cache = \SpeedyCache\Util::cache_path('all'); $cache_stats = 0; if(file_exists($desktop_cache)){ $cache_stats = \SpeedyCache\Util::dir_size($desktop_cache); } $mobile_cache = \SpeedyCache\Util::cache_path('mobile-cache'); if(file_exists($mobile_cache)){ $cache_stats += \SpeedyCache\Util::dir_size($mobile_cache); } update_option('speedycache_html_size', $cache_stats); } // MINIFIED SIZE $assets_stats = get_option('speedycache_assets_size', 0); if(empty($assets_stats)){ $assets_dir = \SpeedyCache\Util::cache_path('assets'); $assets_stats = 0; if(file_exists($assets_dir)){ $assets_stats = \SpeedyCache\Util::dir_size($assets_dir); } update_option('speedycache_assets_size', $assets_stats); } $img_count = 0; if(class_exists('\SpeedyCache\Image')){ $img_count = \SpeedyCache\Image::optimized_file_count(); } echo '
Cache Stats
'.esc_html(size_format($cache_stats)).'
options['status'])? 'style="background-color:#0c6;"' : '').'>Enabled
Assets Stats
'.esc_html(size_format($assets_stats)).'
Object Cache Stats
'.esc_html($speedycache->object_memory).'
object['enable'])? 'style="background-color:#0c6;"' : '').'>Enabled
Image Stats
'.esc_html($img_count).' IMG
'; } static function image_optm(){ echo '

Image Optimization

'; \SpeedyCache\Image::statics(); \SpeedyCache\Image::settings(); \SpeedyCache\Image::list_image_html(); } static function bloat_tab(){ global $speedycache; echo '

Bloat Remover

'; wp_nonce_field('speedycache_ajax_nonce'); if(!defined('SPEEDYCACHE_PRO')){ return; } $bloat_options = array( 'disable_xmlrpc' => array( 'id' => 'speedycache_disable_xmlrpc', 'title' => __('Disable XML RPC', 'speedycache'), 'description' => __('XML-RPC can cause performance and security issues'), ), 'remove_gfonts' => array( 'id' => 'speedycache_remove_gfonts', 'title' => __('Disable Google Fonts', 'speedycache'), 'description' => __('Use users system fonts to prevent loading of fonts from server', 'speedycache'), ), 'disable_jmigrate' => array( 'id' => 'speedycache_disable_jmigrate', 'title' => __('Disable jQuery Migrate', 'speedycache'), 'description' => __('Disable jQuery Migrate for better speed.', 'speedycache'), 'docs' => 'https://speedycache.com/docs/bloat-remover/how-to-remove-jquery-migrate-in-wordpress/', ), 'disable_dashicons' => array( 'id' => 'speedycache_disable_dashicons', 'title' => __('Disable DashIcons', 'speedycache'), 'description' => __('DashIcons are used on WordPress admin and might not be used on Front End.', 'speedycache'), ), 'disable_gutenberg' => array( 'id' => 'speedycache_disable_gutenberg', 'title' => __('Disable Gutenberg', 'speedycache'), 'description' => __('Decouple Gutenberg if you use another page builder.', 'speedycache'), ), 'disable_block_css' => array( 'id' => 'speedycache_disable_block_css', 'title' => __('Disable Block Editor CSS', 'speedycache'), 'description' => __('Some themes might not use Block Editor CSS on the front.', 'speedycache'), ), 'disable_oembeds' => array( 'id' => 'speedycache_disable_oembeds', 'title' => __('Disable OEmbeds', 'speedycache'), 'description' => __('OEmbeds increases load on site if a lot of embeds are being used.', 'speedycache'), ), 'update_heartbeat' => array( 'id' => 'speedycache_update_heartbeat', 'title' => __('Update Heartbeat', 'speedycache'), 'description' => __('Change how frequently heartbeat is checked.', 'speedycache'), 'settings' => 'speedycache_update_heartbeat', ), 'limit_post_revision' => array( 'id' => 'speedycache_limit_post_revision', 'title' => __('Limit Post Revision', 'speedycache'), 'description' => __('Change how many post revision you want to keep.', 'speedycache'), 'settings' => 'speedycache_limit_post_revision', ), 'disable_cart_fragment' => array( 'id' => 'speedycache_disable_cart_fragment', 'title' => __('Disable Cart Fragments', 'speedycache'), 'description' => __('Disable WooCommerce cart fragments for better performance.', 'speedycache'), ), 'disable_woo_assets' => array( 'id' => 'speedycache_disable_woo_assets', 'title' => __('Disable WooCommerce Assets', 'speedycache'), 'description' => __('Disables WooCommerce assets to reduce unwanted asset loading.', 'speedycache'), 'docs' => 'https://speedycache.com/docs/bloat-remover/how-to-remove-woocommerce-assets/', ), 'disable_rss' => array( 'id' => 'speedycache_disable_rss', 'title' => __('Disable RSS feeds', 'speedycache'), 'description' => __('Disable RSS feeds to reduce request which use server resources.', 'speedycache'), ), ); foreach($bloat_options as $bloat_key => $bloat_option){ echo '
'.esc_html($bloat_option['title']). ''; // Docs Link here if(isset($bloat_option['docs'])){ echo ''; } // Setting if any if(isset($bloat_option['settings'])){ echo '- '.esc_html__('Settings', 'speedycache').''; } echo ' '. esc_html($bloat_option['description']).'
'; } // Bloat modals echo '
'.esc_html__('Limit Post Revision', 'speedycache').'
'.esc_html__('Update HeartBeat', 'speedycache').'
'; $heartbeat_modes = array( '15' => esc_html__('15 Seconds(Default)', 'speedycache'), '30' => esc_html__('30 seconds', 'speedycache'), '45' => esc_html__('45 Seconds', 'speedycache'), '60' => esc_html__('60 seconds', 'speedycache'), '120' => esc_html__('2 Minutes', 'speedycache'), ); $disable_heartbeat = array( 'dont' => esc_html__('Do not Disable', 'speedycache'), 'disable' => esc_html__('Disable', 'speedycache'), 'editor' => esc_html__('Allow on Editor only', 'speedycache'), ); echo ''; echo '
'; echo '
'; \SpeedyCache\Settings::save_btn(); echo '
'; } static function db_tab(){ global $wpdb; echo '

Database Optimizer

'; // TODO: Show notice which mentions about the bloat settings as we will slowly migrate the html code of bloat to the Pro version, to prevent the GPL plugin providers from making users fool. if(!defined('SPEEDYCACHE_PRO')){ return; } $statics = array('all_warnings' => 0, 'post_revisions' => 0, 'trashed_contents' => 0, 'trashed_spam_comments' => 0, 'trackback_pingback' => 0, 'transient_options' => 0, 'expired_transient' => 0); $statics['post_revisions'] = $wpdb->get_var("SELECT COUNT(*) FROM `$wpdb->posts` WHERE post_type = 'revision';"); $statics['trashed_contents'] = $wpdb->get_var("SELECT COUNT(*) FROM `$wpdb->posts` WHERE post_status = 'trash';"); $statics['trashed_spam_comments'] = $wpdb->get_var("SELECT COUNT(*) FROM `$wpdb->comments` WHERE comment_approved = 'spam' OR comment_approved = 'trash' ;"); $statics['trackback_pingback'] = $wpdb->get_var("SELECT COUNT(*) FROM `$wpdb->comments` WHERE comment_type = 'trackback' OR comment_type = 'pingback' ;"); $element = "SELECT COUNT(*) FROM `$wpdb->options` WHERE option_name LIKE '%\_transient\_%' ;"; $statics['transient_options'] = $wpdb->get_var( $element ) > 20 ? $wpdb->get_var( $element ) : 0; $statics['expired_transient'] = $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->options` WHERE option_name LIKE '_transient_timeout%' AND option_value < " . time() ); $statics['all_warnings'] = $statics['all_warnings'] + $statics['transient_options'] + $statics['trackback_pingback']+ $statics['trashed_spam_comments']+ $statics['trashed_contents']+ $statics['post_revisions']; echo '
'.esc_html__('Clean everything', 'speedycache').' ('.esc_html($statics['all_warnings']).')
'.esc_html__('Run the all options', 'speedycache').'
'.esc_html__('Post Revisions', 'speedycache').' ('.esc_html($statics['post_revisions']).')
'.esc_html__('Clean the all post revisions', 'speedycache').'
'.esc_html__('Trashed Contents', 'speedycache').'('.esc_html($statics['trashed_contents']).')
'.esc_html__('Clean the all trashed posts & pages', 'speedycache').'
'.esc_html__('Trashed & Spam Comments', 'speedycache').' ('.esc_html($statics['trashed_spam_comments']).')
'.esc_html__('Clean the all comments from trash & spam', 'speedycache').'
'.esc_html__('Trackbacks and Pingbacks', 'speedycache').' ('.esc_html($statics['trackback_pingback']).')
'.esc_html__('Clean the all trackbacks and pingbacks', 'speedycache').'
'.esc_html__('Transient Options', 'speedycache').' ('.esc_html($statics['transient_options']).')
'.esc_html__('Clean the all transient options', 'speedycache').'
'.esc_html__('Expired Transients', 'speedycache').' ('.esc_html($statics['expired_transient']).')
'.esc_html__('Clean the expired transients', 'speedycache').'
'; } static function object_tab(){ global $speedycache; echo '

'.esc_html__('Object Cache', 'speedycache').'

'; echo '
Caching Status: '.(!empty($speedycache->object['enable']) ? 'Enabled' : 'Disabled').'
Memory Usage: '.esc_html__($speedycache->object_memory).'
Drop In: '.(defined('SPEEDYCACHE_OBJECT_CACHE') ? 'Valid' : 'Not Valid').'
phpRedis Status: '.(empty(phpversion('redis')) ? '' . esc_html__('phpRedis Not Found', 'speedycache') : (version_compare(phpversion('redis'), '3.1.1') > 0 ? ''. esc_html__('Available', 'speedycache') . '('.esc_html(phpversion('redis')).')' : '' . esc_html__('You are using older version of PHPRedis'))).'
'; wp_nonce_field('speedycache_ajax_nonce'); echo '

'.esc_html__('Settings', 'speedycache').'

'.esc_html__('Enables Object caching, if you have full page caching then it might show some conflicts.', 'speedycache').'
'.esc_html__('Choose which Object Cache Driver you want to use.', 'speedycache').'
'.esc_html__('Your Redis host name or IP address.', 'speedycache').'
'.esc_html__('Your Redis host port number', 'speedycache').'
'.esc_html__('Username of your Redis acccount.', 'speedycache').'
'.esc_html__('Password for your Redis Account.', 'speedycache').'
'.esc_html__('How long you want the cached Object to persist', 'speedycache').'
'.esc_html__('Set the database number, make sure to keep it different for every website you use it on', 'speedycache').'
'.esc_html__('This will Keep Alive the connection to redis.', 'speedycache').'
'.esc_html__('This will cache the admin pages too.', 'speedycache').'
'.esc_html__('Deletes asynchronously, without blocking', 'speedycache').'
'; $serialization_methods = ['SERIALIZER_PHP', 'SERIALIZER_IGBINARY']; echo '
'.esc_html('If you don\'t see IG_BINARY option then the phpredis is not built with IG_BINARY, IG_BINARY can save upto 50% space', 'speedycache').'
'; $serialization_methods = ['None', 'COMPRESSION_ZSTD', 'COMPRESSION_LZ4', 'COMPRESSION_LZF']; echo '
'.esc_html('If you dont see any option then your phpredis is not built with compression options', 'speedycache').'
'.esc_html__('These are the groups which should not be cached, One Per Line', 'speedycache').'
'; \SpeedyCache\Settings::save_btn(); echo '
'; } } PKZ..(plugins/speedycache-pro/main/license.phpnu[
license) ? 'Unlicensed    ' : '')?>  
license)){ $expires = $speedycache->license['expires']; $expires = substr($expires, 0, 4).'/'.substr($expires, 4, 2).'/'.substr($expires, 6); echo '
License Status : '.(empty($speedycache->license['status_txt']) ? 'N.A.' : wp_kses_post($speedycache->license['status_txt'])).'       License Expires : '.($speedycache->license['expires'] <= date('Ymd') ? ''.esc_attr($expires).'' : esc_attr($expires)).'
'; }?>
URL
Path
Server's IP Address
.htaccess is writable Yes' : 'No');?>
'.var_export($lic_resp, true), 'speedycache'), 'error')); return; } $json = json_decode($lic_resp['body'], true); // Save the License if(empty($json['license'])){ speedycache_notify(array(__('The license key is invalid', 'speedycache'), 'error')); return; } } PKZތ;yy&plugins/speedycache-pro/main/admin.phpnu[

Update Speedycache to Latest Version!

SpeedyCache Pro depends on the free version of SpeedyCache, so you need to update the free version to use SpeedyCache without any issue.

Install Now '; } function speedycache_pro_img_stats(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must be admin'); } if(!class_exists('\SpeedyCache\Image')){ wp_send_json_error(__('The file required to Process Image optimization is not present', 'speedycache')); } $res = \SpeedyCache\Image::statics_data(); wp_send_json($res); } function speedycache_pro_optimize_image(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must be admin'); } if(!class_exists('\SpeedyCache\Image')){ wp_send_json_error(__('The file required to Process Image optimization is not present', 'speedycache')); } $res = \SpeedyCache\Image::optimize_single(); $res[1] = isset($res[1]) ? $res[1] : ''; $res[2] = isset($res[2]) ? $res[2] : ''; $res[3] = isset($res[3]) ? $res[3] : ''; $response = array( 'message' => $res[0], 'success' => $res[1], 'id' => $res[2], 'percentage' => $res[3], ); wp_send_json($response); } function speedycache_pro_save_img_settings(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must be admin'); } global $speedycache; $settings = speedycache_optpost('settings'); foreach($settings as $key => $setting){ $new_key = str_replace('img_', '', $key); $settings[$new_key] = $setting; unset($settings[$key]); } $speedycache->image['settings'] = $settings; if(update_option('speedycache_img', $speedycache->image['settings'])){ wp_send_json_success(); } wp_send_json_error(); } function speedycache_pro_list_imgs(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must be admin'); } $query_images_args = array(); $query_images_args['offset'] = intval(speedycache_optget('page')) * intval(speedycache_optget('per_page')); $query_images_args['order'] = 'DESC'; $query_images_args['orderby'] = 'ID'; $query_images_args['post_type'] = 'attachment'; $query_images_args['post_mime_type'] = array('image/jpeg', 'image/png', 'image/gif'); $query_images_args['post_status'] = 'inherit'; $query_images_args['posts_per_page'] = speedycache_optget('per_page'); $query_images_args['meta_query'] = array( array( 'key' => 'speedycache_optimisation', 'compare' => 'EXISTS' ) ); $query_images_args['s'] = speedycache_optget('search'); if(!empty($_GET['filter'])){ if(speedycache_optget('filter') == 'error_code'){ $filter = array( 'key' => 'speedycache_optimisation', 'value' => base64_encode('"error_code"'), 'compare' => 'LIKE' ); $filter_second = array( 'key' => 'speedycache_optimisation', 'compare' => 'NOT LIKE' ); array_push($query_images_args['meta_query'], $filter); array_push($query_images_args['meta_query'], $filter_second); } } $result = array( 'content' => \SpeedyCache\Image::list_content($query_images_args), 'result_count' => \SpeedyCache\Image::count_query($query_images_args) ); wp_send_json($result); } function speedycache_pro_revert_img(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must Be admin'); } global $speedycache; if(!empty($_GET['id'])){ $speedycache->image['id'] = (int) speedycache_optget('id'); } wp_send_json(\SpeedyCache\Image::revert()); } function speedycache_pro_revert_all_imgs(){ check_ajax_referer('speedycache_ajax_nonce', 'security'); if(!current_user_can('manage_options')){ wp_die('Must be admin'); } \SpeedyCache\Image::revert_all(); } function speedycache_pro_verify_license(){ if(!wp_verify_nonce($_GET['security'], 'speedycache_license')){ wp_send_json_error(__('Security Check Failed', 'speedycache')); } if(!current_user_can('manage_options')){ wp_send_json_error(__('You do not have required permission.', 'speedycache')); } global $speedycache; $license = sanitize_key($_GET['license']); if(empty($license)){ wp_send_json_error(__('The license key was not submitted', 'speedycache')); } $resp = wp_remote_get(SPEEDYCACHE_API.'license.php?license='.$license.'&url='.rawurlencode(site_url()), array('timeout' => 30)); if(!is_array($resp)){ wp_send_json_error(__('The response was malformed
'.var_export($resp, true), 'speedycache')); } $json = json_decode($resp['body'], true); // Save the License if(empty($json['license'])){ wp_send_json_error(__('The license key is invalid', 'speedycache')); } $speedycache->license = $json; update_option('speedycache_license', $json, false); wp_send_json_success(); } PKZ_YзJJ,plugins/speedycache-pro/main/googlefonts.phpnu[ SpeedyCache '; foreach($fonts as $font_name => $url){ $url = esc_url($url); if(substr($url, 0, 2) === '//'){ $url = 'https:' . $url; } $response = wp_remote_get($url, array('user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36')); if(is_wp_error($response) || !is_array($response)){ continue; } $css = wp_remote_retrieve_body($response); if(is_wp_error($css) || empty($css)){ continue; } if(!file_exists(speedycache_cache_path('fonts'))){ @mkdir(speedycache_cache_path('fonts')); } if(!file_exists(speedycache_cache_path('fonts/index.html'))){ file_put_contents(speedycache_cache_path('fonts/index.html'), $html); } if(!file_exists(speedycache_cache_path('fonts/').$font_name)){ @mkdir(speedycache_cache_path('fonts/').$font_name); } if(!file_exists(speedycache_cache_path('fonts/').$font_name . '/index.html')){ file_put_contents(speedycache_cache_path('fonts/').$font_name . '/index.html', $html); } preg_match_all('/url\((.*?)\)/m', $response['body'], $urls); // Get URL from the CSS we got if(empty($urls) || empty($urls[1])){ continue; } foreach($urls[1] as $url){ $file_name = basename($url); if(file_exists(speedycache_cache_path('fonts/') . $font_name . '/' . $file_name)){ continue; } if(strpos($url, 'display=swap') === FALSE){ $url_to_hit = add_query_arg(array('display' => 'swap'), $url); } $response = wp_remote_get($url_to_hit); if(is_wp_error($response) || !is_array($response)){ continue; } $font = wp_remote_retrieve_body($response); if(is_wp_error($font) || empty($font)){ continue; } file_put_contents(speedycache_cache_path('fonts/').$font_name.'/'.$file_name, $font); // Creating the font file $css = str_replace($url, SPEEDYCACHE_CACHE_URL .'/'. SPEEDYCACHE_SERVER_HOST . '/fonts/'. $font_name .'/'. $file_name, $css); } if(file_exists(speedycache_cache_path('fonts/').$font_name.'/'.$font_name . '.css')){ return; } //If we need to add swap then either we failed to add display=swap to the url or it didnt return what we expected. if(strpos($css, 'swap') === FALSE){ $css = preg_replace('/(^@font-face\s{)/m', "$1\n font-display: swap;", $css); } file_put_contents(speedycache_cache_path('fonts/').$font_name.'/'.$font_name . '.css', $css); } } // Replaces font url to the local font url static function replace($content){ $cache_dir = speedycache_cache_path(); if(!is_dir($cache_dir . '/fonts')){ @mkdir($cache_dir . '/fonts', 0755, true); } $fonts = array_diff(@scandir($cache_dir . 'fonts'), array('..', '.')); if(empty($fonts)){ return $content; } // To remove any preload or dns-fetch or preconnect for google fonts preg_match_all('/]+)?href=(["\'])([^>]*?fonts\.(gstatic|googleapis)\.com.*?)\1.*?>/i', $content, $google_links, PREG_SET_ORDER); if(!empty($google_links)){ foreach($google_links as $google_link){ preg_match('/rel=(["\'])(.*?(preload|preconnect|dns-fetch).*?)\1/i', $google_link[2], $removeable_link); if(!empty($removeable_link)){ $content = str_replace($google, '', $html); } } } /** * Our Font css name is in md5(created from the font URL) and we dont have URL in this function to get * all the google fonts url to replace the fonts . */ preg_match_all('/render_blocking = array(); $speedycache->render_blocking['except'] = ''; $speedycache->render_blocking['tags'] = array(); $speedycache->render_blocking['header_start_index'] = 0; $speedycache->render_blocking['js_tags_text'] = ''; $speedycache->render_blocking['html'] = $html; self::set_header_start_index(); self::set_tags(); $speedycache->render_blocking['tags'] = self::reorder_tags($speedycache->render_blocking['tags']); } static function set_tags(){ self::set_comments(); self::set_js(); self::set_css(); } static function set_comments(){ global $speedycache; $comment_tags = self::find_tags(''); self::set_except($comment_tags); foreach($comment_tags as $key => $value){ if(preg_match("/\<\!--\s*\[if/i", $value['text'])){ if(preg_match("/data-speedycache-render\=[\"\']false[\"\']/i", $value['text'])){ continue; } array_push($speedycache->render_blocking['tags'], $value); } } } static function set_css(){ global $speedycache; $style_tags = self::find_tags(''); foreach($style_tags as $key => $value){ // if(!preg_match("/<\/script>/i", $value['text'])){ array_push($speedycache->render_blocking['tags'], $value); } } $link_tags = self::find_tags(''); foreach($link_tags as $key => $value){ if(preg_match("/href\s*\=/i", $value['text'])){ if(preg_match("/rel\s*\=\s*[\'\"]\s*stylesheet\s*[\'\"]/i", $value['text'])){ array_push($speedycache->render_blocking['tags'], $value); } } } } static function set_js(){ global $speedycache; // Creating regex to exclude js from RenderBlocking if(!empty($speedycache->options['render_blocking_excludes'])){ $exclude_script_list = array_map('preg_quote', $speedycache->options['render_blocking_excludes'], array_fill(0, count($speedycache->options['render_blocking_excludes']), '/')); $exclude_user_script = '/\b(?:' . implode('|', $exclude_script_list) . ')\b/'; } $script_tag = self::find_tags(''); foreach($script_tag as $key => $value){ if(self::exclude_scripts($value['text'])){ continue; } // Excludes the user specified scripts if(!empty($exclude_user_script) && preg_match($exclude_user_script, $value['text'])){ continue; } // Import map should always load at the same place as it is meant to be loaded before other scripts. if(preg_match("/importmap/i", $value['text'])){ continue; } // if(preg_match("/partner\.googleadservices\.com\/gampad\/google_service\.js/i", $value['text'])){ continue; } // if(preg_match("/]*>\s*GS_googleAddAdSenseService\([\"\'][^\"\']+[\"\']\)\;\s*GS_googleEnableAllServices\(\)\;\s*<\/script>/i", $value['text'])){ continue; } // if(preg_match("/]*>\s*GA_googleAddSlot\([^\)]+\)\;\s*<\/script>/i", $value['text'])){ continue; } // if(preg_match("/]*>\s*GA_googleFetchAds\(\)\;\s*<\/script>/i", $value['text'])){ continue; } // if(preg_match("/]*>\s*\(function\(i,s,o,g,r,a,m\)\{i\[\'GoogleAnalyticsObject\'\]/i", $value['text'])){ if(preg_match("/ga\(\'send\',\s*\'pageview\'\)\;\s*<\/script>/i", $value['text'])){ continue; } } // // // if(preg_match("/]+googletagmanager\.com\/gtag\/js[^\>]+>/i", $value['text'])){ continue; } if(preg_match("/^ */ if(preg_match("/data-skip-moving\=[\"\']true[\"\']/i", $value['text'])){ continue; } if(preg_match('/amzn_assoc_placement/i', $value['text'])){ // continue; } // if(preg_match("/^]*>\s*document.write\([\"\']\s*
[\"\']\)\s*<\/script>$/i", $value['text'])){ if(preg_match("/amazonjs/i", $value['text'])){ continue; } } } if(preg_match('/reklamstore/i', $value['text'])){ if(preg_match("/reklamstore_region_id/i", $value['text'])){ continue; }else if(preg_match("/reklamstore\.com\/reklamstore\.js/i", $value['text'])){ continue; } } // if(preg_match("/document\.write\s*\(/i", $value['text'])){ if(preg_match("/'+ if(preg_match("/^\/\/about\:blank/", $matches[0])){ return $matches[0]; } //""; if(preg_match("/^\/\/www\'/", $matches[0])){ return $matches[0]; } // if(URL.match( /^https?:\/\// ) ){ if(preg_match("/^\/\/\s*\)\s*\)\s*\{/", $matches[0])){ return $matches[0]; } // "string".replace(/\//,3); if(preg_match("/^\/\/\s*\,/", $matches[0])){ return $matches[0]; } // src = src.replace('https?://[^./].',''); if(preg_match("/^\/\/\[[^\]\[]+\]/", $matches[0])){ return $matches[0]; } // comments: /\/\*[^*]*\*+([^/][^*]*\*+)*\//gi, if(preg_match("/^\/\/\s*gi\s*\,/", $matches[0])){ return $matches[0]; } // var proto = document.location.protocol, host = "whatshelp.io", url = proto + "//static." + host; if(preg_match("/^\/\/static\./i", $matches[0])){ return $matches[0]; } // whatsapp://send?text= // NOTE: preg_match_replace gets only 5 chars so we check "tsapp://" instead of "whatsapp://" if(preg_match("/^tsapp\:\/\/send/", $matches[0])){ return $matches[0]; } // sms://?&body="+postTitle+" "+postUrl if(preg_match("/^\/\/\?\&/", $matches[0])){ return $matches[0]; } // viber://forward?text="+postTitle+" "+postUrl if(preg_match("/^viber\:\/\//", $matches[0])){ return $matches[0]; } //threema://compose?text="+postTitle+" "+postUrl if(preg_match("/^reema\:\/\//", $matches[0])){ return $matches[0]; } // weixin:// if(preg_match("/^eixin\:\/\//", $matches[0])){ return $matches[0]; } // fb-messenger://share? if(preg_match("/^enger\:\/\//", $matches[0])){ return $matches[0]; } // rtmp://37.77.2.234:1935/redirect/live.flv if(preg_match("/^rtmp\:\/\//", $matches[0])){ return $matches[0]; } // comgooglemaps://?q=40.956572,29.0859053&directionsmode=driving if(preg_match("/^emaps\:\/\//", $matches[0])){ return $matches[0]; } // javascript:// if(preg_match("/^cript\:\/\//", $matches[0])){ return $matches[0]; } // jsFileLocation:"//29.59.155.173/~cfo/site-data/plugins/revslider/public/assets/js/", if(preg_match("/^\/\/([0-9]{1,3}\.){3}[0-9]{1,3}\/\~/", $matches[0])){ return $matches[0]; } // var url = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi; if(preg_match("/\/\/\=\]/", $matches[0])){ return $matches[0]; } if(preg_match("/^maps\:\/\//", $matches[0])){ return $matches[0]; } // "line://msg/text/" + postTitle + "! " + postUrl if(preg_match("/^line\:\/\//", $matches[0])){ return $matches[0]; } // document.write(''); if(preg_match("/^\/\/\:\"/", $matches[0])){ return $matches[0]; } // url: "//$1/p/$2/media/?size=l" if(preg_match("/^\/\/\\$/", $matches[0])){ return $matches[0]; } if(preg_match("/^\/\/\//", $matches[0])){ return $matches[0]; } if(preg_match("/^http/", $matches[0])){ return $matches[0]; } // var xxx={"case":"\nhttp://www.google.com"}; if(preg_match("/^nhttp/", $matches[0])){ return $matches[0]; } // var currUrl = 'file://' + "something"; if(preg_match("/^file\:\/\//i", $matches[0])){ return $matches[0]; } // if(preg_match("/cript\:\/\/nop/i", $matches[0])){ return $matches[0]; } // Flash.RTMP_RE = /^rtmp[set]?:\/\//i; if(preg_match("/^\/\/i\;/", $matches[0])){ return $matches[0]; } //segs.unshift('//*[@id="' + elm.getAttribute('id') + '"]'); if(preg_match("/^\/\/\*\[/", $matches[0])){ return $matches[0]; } // e.write('') if(preg_match("/^\/\/W3C\/\/DTD\s+XHTML/i", $matches[0])){ return $matches[0]; } // var sourceURL = '\n/*\n//# sourceURL=' + (options.sourceURL || '/lodash/template/source[' + (templateCounter++) + ']') + '\n*/'; // var xxx = "} catch (e){ throw 'TemplateError: ' + e + ' (on " + name + "' + ' line ' + this.line + ')'; } " + "//@ sourceURL=" + name + "\n" // source map if(preg_match("/^\/\/(\#|\@)\s+sourceURL/i", $matches[0])){ return $matches[0]; } // options.tileLayerThem = '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; if(preg_match("/^\/\/\{[^\}]+\}\./", $matches[0])){ return $matches[0]; } // document.write("<"+"script defer src=\"//:\" id=\"__onload_ie_pixastic__\">"); if(preg_match("/^\/\/\:\\\\(\"|\')/", $matches[0])){ return $matches[0]; } // a.src='//cdn.'+w[r+'h']+'/libs/b.js'; if(preg_match("/^\/\/cdn\./", $matches[0])){ return $matches[0]; } //\x3c/script> if(preg_match("/x3c\/script>/i", $matches[0])){ return $matches[0]; } return ''; } if(preg_match("/<\/script>/", $matches[0])){ return preg_replace("/\/\/[^\<]+<\/script>/", '', $matches[0]); } return ''; } static function minify_js_in_body($exclude_rules = false){ global $speedycache; $data = $speedycache->enhanced['html']; $script_list = array(); $script_start_index = false; for($i = 0; $i < strlen( $data ); $i++){ if(isset($data[$i - 6])){ if(substr($data, $i - 6, 7) == ''){ array_push($script_list, array('start' => $script_start_index, 'end' => $i)); $script_start_index = false; } } } if(empty($script_list)){ return $speedycache->enhanced['html']; } foreach(array_reverse($script_list) as $key => $value){ $script_tag = substr($data, $value['start'], ($value['end'] - $value['start'] + 1)); if(!preg_match("/^\<]+src\=[^\>\<]+>/i", $script_tag) && preg_match("/\/speedycache\-assets\//i", $script_tag)){ continue; } preg_match("/src\=[\"\']([^\'\"]+)[\"\']/i", $script_tag, $src); $http_host = str_replace(array('http://', 'www.'), '', sanitize_text_field($_SERVER['HTTP_HOST'])); if(!isset($src[1])){ continue; } if(!preg_match('/'.preg_quote($http_host, '/').'/i', $src[1])){ continue; } if(!empty($exclude_rules)){ $is_excluded = false; foreach((array)$exclude_rules as $exclude_key => $exclude_value){ if(!empty($exclude_value['prefix']) && $exclude_value['type'] === 'js'){ if($exclude_value['prefix'] === 'contain'){ $preg_match_rule = preg_quote($exclude_value['content'], '/'); } if(preg_match('/'.$preg_match_rule.'/i', $src[1])){ $is_excluded = true; break; } } } if(!empty($is_excluded)){ continue; } } // Skip if the file is already minified. if(strpos($src[1], '.min.') !== FALSE){ continue; } if(preg_match("/alexa\.com\/site\_stats/i", $src[1])){ continue; } if(preg_match("/wp-spamshield\/js\/jscripts\.php/i", $src[1])){ continue; } //amazonjs/components/js/jquery-tmpl/jquery.tmpl.min.js?ver=1.0.0pre if(preg_match("/jquery-tmpl\/jquery\.tmpl\.min\.js/i", $src[1])){ continue; } // if(preg_match("/[\?\=].*".preg_quote($http_host, '/').'/i', $src[1])){ continue; } $js_file_name = md5($src[1]); $cache_file_path = WP_CONTENT_DIR.'/'.$speedycache->enhanced['cache_speedycache_minified'].'/'.$js_file_name; if(!defined('SPEEDYCACHE_WP_CONTENT_URL')){ $js_script = content_url().'/'.$speedycache->enhanced['cache_speedycache_minified'].'/'.$js_file_name; }else{ $js_script = SPEEDYCACHE_WP_CONTENT_URL.'/'.$speedycache->enhanced['cache_speedycache_minified'].'/'.$js_file_name; } $js_script = str_replace(array('http://', 'https://'), '//', $js_script); $args = array( 'src' => $src[1], 'cache_file_path' => $cache_file_path, 'js_script' => $js_script, 'script_tag' => $script_tag, 'value' => $value ); self::fetch_and_minify_js($args); } return $speedycache->enhanced['html']; } static function fetch_and_minify_js($args){ global $speedycache; $response = wp_remote_get(\SpeedyCache\Enhanced::fix_protocol($args['src']), array('timeout' => 10 ) ); if(empty($response) || is_wp_error($response)){ return false; } if(wp_remote_retrieve_response_code($response) != 200){ return false; } $js_content = wp_remote_retrieve_body($response); if(preg_match('/<\/\s*html\s*>\s*$/i', $js_content)){ return false; } $minified_js_content = \SpeedyCache\Enhanced::minify_js($js_content); if(!is_dir($args['cache_file_path'])){ $prefix = time(); \SpeedyCache\Cache::create_dir($args['cache_file_path'], $minified_js_content, 'js'); } if(file_exists($args['cache_file_path']) && $js_files = @scandir($args['cache_file_path'], 1)){ $new_script = str_replace($args['src'], $args['js_script'].'/'.$js_files[0], $args['script_tag']); $speedycache->enhanced['html'] = substr_replace($speedycache->enhanced['html'], $new_script, $args['value']['start'], ($args['value']['end'] - $args['value']['start'] + 1)); } } static function combine_js_in_footer($minify = false){ global $speedycache; $footer = strstr($speedycache->enhanced['html'], ''); \SpeedyCache\JS::init($footer, $minify); $tmp_footer = \SpeedyCache\JS::combine(); if(!empty($speedycache->options['render_blocking'])){ \SpeedyCache\RenderBlocking::init($tmp_footer); $tmp_footer = \SpeedyCache\RenderBlocking::action(false, true); } $speedycache->enhanced['html'] = str_replace($footer, $tmp_footer, $speedycache->enhanced['html']); return $speedycache->enhanced['html']; } /* Js Part End */ static function fix_protocol($url){ if(!preg_match('/^\/\//', $url)){ return $url; } if(preg_match('/^https:\/\//', home_url())){ return 'https:'.$url; } return 'http:'.$url; } static function set_html($html){ global $speedycache; $speedycache->enhanced['html'] = $html; self::set_head_html(); self::set_body_html(); } static function set_body_html(){ global $speedycache; preg_match("//si", $speedycache->enhanced['html'], $out); if(isset($out[0])){ $speedycache->enhanced['body_html'] = $out[0]; return; } $speedycache->enhanced['body_html'] = ''; } static function set_head_html(){ global $speedycache; preg_match("//si", $speedycache->enhanced['html'], $out); if(isset($out[0])){ $speedycache->enhanced['head_html'] = $out[0]; return; } $speedycache->enhanced['head_html'] = ''; } static function delay_js($content){ global $speedycache; // If Delay js mode is selected and the scripts are empty then return if(empty($speedycache->options['delay_js_mode']) || (!empty($speedycache->options['delay_js_mode']) && $speedycache->options['delay_js_mode'] == 'selected' && empty($speedycache->options['delay_js_scripts']))){ return $content; } $scripts = self::find_tags('', $content); if(empty($scripts)){ return $content; } foreach($scripts as $tag => $script){ // Dont process a tag without src if(strpos($script['text'], ' src') === FALSE){ continue; } // Don't delay a module. if(strpos($script['text'], 'type="module"') !== FALSE){ continue; } // Don't touch any import maps as they are meant to be loaded early. if(strpos($script['text'], 'importmap') !== FALSE){ continue; } // We dont want to delay jQuery if(preg_match('/jquery\./U', $script['text'], $match)){ continue; } // Excluding Scripts if($speedycache->options['delay_js_mode'] == 'all' && !empty($speedycache->options['delay_js_excludes'])){ $script_matched = false; foreach($speedycache->options['delay_js_excludes'] as $to_delay){ if(empty($to_delay)){ continue; } if(strpos($script['text'], $to_delay) !== FALSE){ $script_matched = true; } } if(!empty($script_matched)){ continue; } } // Delay Selected Scripts if($speedycache->options['delay_js_mode'] == 'selected' && !empty($speedycache->options['delay_js_scripts'])){ $script_found = false; foreach($speedycache->options['delay_js_scripts'] as $to_delay){ if(empty($to_delay)){ continue; } if(strpos($script['text'], $to_delay) !== FALSE){ $script_found = true; break; } } if(empty($script_found)){ continue; } } $new_tag = self::updating_tag($script['text']); if(!empty($new_tag)){ $content = str_replace($script['text'], $new_tag, $content); } } // Adds the script which loads the JS files on user interaction self::inject_js($content); return $content; } static function updating_tag($tag){ global $speedycache; if(preg_match('/src=["\'](.*)["\']/U', $tag, $src)){ return ''; } } static function inject_js(&$content){ $js = file_get_contents(SPEEDYCACHE_PRO_DIR . '/assets/js/delayjs.min.js'); $js = ''; $content = str_replace('', $js . "\n", $content); } static function find_tags($start_string, $end_string, $html = false){ global $speedycache; if(!empty($html)){ $data = $html; } $list = array(); $start_index = false; $end_index = false; for($i = 0; $i < strlen($data); $i++){ if(substr($data, $i, strlen($start_string)) == $start_string){ if(!$start_index && !$end_index){ $start_index = $i; } } if(empty($start_index) || $i < $start_index){ continue; } if(substr($data, $i, strlen($end_string)) !== $end_string){ continue; } $end_index = $i + strlen($end_string) - 1; $text = substr($data, $start_index, ($end_index - $start_index + 1)); if($html === false){ $tag = self::get_tags($start_index, $text, $end_index); if($tag !== FALSE){ array_push($list, $tag); } }else{ array_push($list, array('start' => $start_index, 'end' => $end_index, 'text' => $text)); } $start_index = false; $end_index = false; } return $list; } // Adds Image dimensions to the images where height and width is not present // It helps in reducing the Cumulative Layout shift(CLS) as the browser knows how much space to allocate for the image. static function image_dimensions($content){ if(!function_exists('getimagesize')){ return $content; } // Get Images without height and width $images_regex = '](?!height=[\'\"](?:\S+)[\'\"]))*+>|](?!width=[\'\"](?:\S+)[\'\"]))*+>'; preg_match_all('/'.$images_regex.'/Uis', $content, $image_matches); if(empty($image_matches)){ return $content; } $images = $image_matches[0]; $site_url = site_url(); foreach($images as $image){ // Get the SRC if(!preg_match( '/\s+src\s*=\s*[\'"](?[^\'"]+)/i', $image, $src_match)){ continue; } $url = $src_match['url']; // We will proccess image which is uploaded inside wp-content if(strpos($url, 'wp-content') === FALSE || strpos($url, '.svg') !== FALSE || strpos($url, $site_url) === FALSE){ continue; } $url = str_replace($site_url, '', $url); $image_path = str_replace('/wp-content', '', WP_CONTENT_DIR) . $url; if(!file_exists($image_path)){ continue; } $sizes = getimagesize($image_path); if(empty($sizes)){ continue; } preg_match('/[^\'\"\s]+)[\'\"]?.*>/i', $image, $initial_height); preg_match('/[^\'\"\s]+)[\'\"]?.*>/i', $image, $initial_width); $dimensions_attr = ''; if(empty($initial_height['height']) && empty($initial_width['width'])){ $dimensions_attr = $sizes[3]; } if(!empty($initial_height['height']) && empty($dimensions_attr)){ if(!is_numeric($initial_height['height'])){ continue; } $ratio = $initial_height['height'] / $sizes[1]; $dimensions_attr = 'width="' . (int) round($sizes[0] * $ratio) . '" height="' . $initial_height['height'] . '"'; } if(!empty($initial_width['width']) && empty($dimensions_attr)){ if(!is_numeric( $initial_width['width'])){ continue; } $ratio = $initial_width['width'] / $sizes[0]; $dimensions_attr = 'width="' . $initial_width['width'] . '" height="' . (int) round($sizes[1] * $ratio) . '"'; } $changed_image = preg_replace('/\s(height|width)=(?:[\'"]?(?:[^\'\"\s]+)*[\'"]?)?/i', '', $image); $changed_image = preg_replace('/<\s*img/i', '', '', $content); return $content; } static function preload_critical_images($content){ global $speedycache; preg_match_all('#(]+?)\/?>(?><\/picture>)?#is', $content, $images, PREG_SET_ORDER); if(empty($images)){ return $content; } $count = 0; $preload_tags = ''; foreach($images as $image){ // Break once the Critical Image Count is reached. if($count >= $speedycache->options['critical_image_count']){ break; } if(strpos($image[0], 'secure.gravatar.com') !== FALSE){ continue; } // NOTE:: Will remove this in future, firt we will just support tag if(strpos($image[0], '') !== FALSE){ continue; } // Excluding base64 image from preloading. if(strpos($image[0], ';base64') !== FALSE){ continue; } $atts_array = wp_kses_hair($image[2], wp_allowed_protocols()); $atts = []; foreach($atts_array as $name => $attr){ $atts[$name] = $attr['value']; } if(empty($atts['src'])){ continue; } // To preload unique images. if(strpos($preload_tags, $atts['src']) === FALSE){ $preload_tags .= ''; } $count++; } if(empty($preload_tags)){ return $content; } // If title tag is not there then don't add the preload. if(strpos($content, '') === FALSE){ return $content; } $content = str_replace('', '' . $preload_tags, $content); return $content; } static function pre_connect_hint($urls, $relation_type){ global $speedycache; if($relation_type !== 'preconnect'){ return $urls; } foreach($speedycache->options['pre_connect_list'] as $url) { if(empty($url) || empty($url['resource'])){ continue; } $preconnect = array('href' => $url['resource']); if(!empty($url['crossorigin'])){ $preconnect['crossorigin'] = 'crossorigin'; } $urls[] = $preconnect; } return $urls; } static function preload_resource(){ global $speedycache; if(empty($speedycache->options['preload_resource_list']) || !is_array($speedycache->options['preload_resource_list'])){ return; } foreach($speedycache->options['preload_resource_list'] as $preload_resource){ if(empty($preload_resource['resource']) || empty($preload_resource['type'])){ continue; } $crossorigin = ''; if(!empty($preload_resource['crossorigin'])){ $crossorigin = 'crossorigin'; } echo ''; } } } PKZ +plugins/speedycache-pro/main/statistics.phpnu[settings['static_extension'] = $extension ? $extension : false; $speedycache->settings['static_size'] = $size ? $size : false; } static function get(){ $desktop_files = get_option('speedycache_html'); $desktop_size = round(get_option('speedycache_html_size')/1000, 2); $mobile_files = get_option('speedycache_mobile'); $mobile_size = round(get_option('speedycache_mobile_size')/1000, 2); $js_files = get_option('speedycache_js'); $js_size = round(get_option('speedycache_js_size')/1000, 2); $css_files = get_option('speedycache_css'); $css_size = round(get_option('speedycache_css_size')/1000, 2); $stats = array(); $stats['desktop'] = array('size' => $desktop_size, 'file' => $desktop_files); $stats['mobile'] = array('size' => $mobile_size, 'file' => $mobile_files); $stats['js'] = array('size' => $js_size, 'file' => $js_files); $stats['css'] = array('size' => $css_size, 'file' => $css_files); return $stats; } static function update_db(){ global $speedycache; // We do not need stats if its a test if(!empty($_GET['test_speedycache'])){ return; } $option_name = 'speedycache_' . $speedycache->settings['static_extension']; $option_name_for_size = $option_name . '_size'; $current_opt = get_option($option_name); if(!empty($current_opt)){ $current_opt = $current_opt + 1; update_option($option_name, $current_opt); }else{ update_option($option_name, 1, null, 'yes'); } $size_current_opt = get_option($option_name_for_size); if(!empty($size_current_opt)){ $size_current_opt = $size_current_opt + $speedycache->settings['static_size']; update_option($option_name_for_size, $size_current_opt); return; } update_option($option_name_for_size, $speedycache->settings['static_size'], null, 'yes'); } static function statics(){ ?>

Desktop Cache

0Kb
of 0 Items

Mobile Cache

0Kb
of 0 Items

Minified CSS

0Kb
of 0 Items

Minified JS

0Kb
of 0 Items

license['license'])){ self::log('speedycache_ccss_logs', 'License Not found, please link your License'); return false; } $path = speedycache_cache_path('critical-css/'); $error = ''; // To hold errors when single Critical CSS is generated $attempted_url = []; // Keeping track of URL that have been proccessed to generate CriticalCSS to handle in case of Timeout if(!is_dir($path)){ mkdir($path); touch($path . 'index.html'); } foreach($urls as $url){ // Handeling php timeout here if($time < time()){ $urls = array_diff($urls, $attempted_url); self::schedule($urls); return; } $url = trim($url, '/'); $license = strpos($speedycache->license['license'], 'SPDFY') !== 0 ? '' : $speedycache->license['license']; $attempted_url[] = $url; $basename = md5($url); $file_name = $path . $basename . '.css'; $response = wp_remote_post($api, array( 'timeout' => 30, 'body' => array( 'url' => $url, 'license' => $license, ), 'sslverify' => false, )); if(is_wp_error($response)){ $error = $response->get_error_message(); self::log('speedycache_ccss_logs', $response->get_error_message(), $url); continue; } $body = json_decode(wp_remote_retrieve_body($response), true); if(empty($body)){ $error = __('The response recieved is empty.', 'speedycache'); self::log('speedycache_ccss_logs', __('The response recieved is empty.', 'speedycache'), $url); continue; } if(empty($body['success'])){ $error = !empty($body['message']) ? wp_strip_all_tags($body['message']) : __('Unable to extract CriticalCss', 'speedycache'); self::log('speedycache_ccss_logs', !empty($body['message']) ? wp_strip_all_tags($body['message']) : __('Unable to extract CriticalCss', 'speedycache'), $url); continue; } if(empty($body['css']) || strlen($body['css']) < 20){ $error = __('Was unable to generate Critical CSS', 'speedycache'); self::log('speedycache_ccss_logs', __('Was unable to generate Critical CSS', 'speedycache'), $url); continue; } if(!is_dir($path)){ mkdir($path); } file_put_contents($file_name, $body['css']); self::update_css($url, $body['css']); self::log('speedycache_ccss_logs', 'success', $url); //Updates the log on success if(!empty($error)){ return $error; } return true; } } // Builds up the list to schedule URLs static function get_url_list(){ global $blog_id; $pages = get_pages(array('child_of' => 0, 'number' => 9)); if(empty($pages)){ return false; } $page_to_crawl = []; $url = get_home_url(!empty($blog_id) ? $blog_id : null); if(!empty($url)){ $page_to_crawl['home'] = $url; } foreach($pages as $p){ $page_to_crawl[$p->ID] = get_page_link($p->ID); } return $page_to_crawl; } // Adds the generated css and asynchronyses the css includes static function update_css($url, $css){ global $speedycache; if(empty($url)){ return false; } if(empty($css) && file_exists(speedycache_cache_path('critical-css/') . md5($url) . '.css')){ $css = file_get_contents(speedycache_cache_path('critical-css/') . md5($url) . '.css'); } if(empty($css)){ return false; } $css = ''; $url = parse_url($url); $uri = !empty($url['path']) ? $url['path'] : ''; $cache_loc = $uri . '/index.html'; if(empty($cache_loc)){ return; } if(!empty($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] === 'SpeedyCacheTest'){ $cache_path = speedycache_cache_path('test' . $cache_loc); } else { $cache_path = speedycache_cache_path('all' . $cache_loc); } $cache_path = rtrim($cache_path, '/'); // For Desktop \SpeedyCache\CriticalCss::update_cached($cache_path, $css); if(!empty($speedycache->options['mobile_theme']) && $_SERVER['HTTP_USER_AGENT'] !== 'SpeedyCacheTest'){ $cache_mobile = speedycache_cache_path('mobile-cache' . $cache_loc); // For Mobile Cache if(file_exists($cache_mobile)){ \SpeedyCache\CriticalCss::update_cached($cache_mobile, $css); } } } // Updates the content of the cached file static function update_content($content, $css){ if(strpos($content, 'speedycache-generated-criticalcss') !== FALSE){ $content = preg_replace('/', $content); } // Lazy Load HTML elements if(class_exists('\SpeedyCache\Enhanced') && !empty($speedycache->options['lazy_load_html']) && !empty($speedycache->options['lazy_load_html_elements'])){ $content = \SpeedyCache\Enhanced::lazy_load_html($content); } if(!empty($speedycache->options['combine_css'])){ \SpeedyCache\CSS::combine($content); } if(!empty($speedycache->options['minify_css'])){ \SpeedyCache\CSS::minify($content); } if(!empty($speedycache->options['combine_js'])){ \SpeedyCache\JS::combine_head($content); } // if(class_exists('\SpeedyCache\Enhanced') && !empty($speedycache->options['combine_js'])){ // \SpeedyCache\JS::combine_body($content); // } if(!empty($speedycache->options['minify_js'])){ \SpeedyCache\JS::minify($content); } // Adds Image dimensions to the Image which does not have height or width if(class_exists('\SpeedyCache\Enhanced') && !empty($speedycache->options['image_dimensions'])){ $content = \SpeedyCache\Enhanced::image_dimensions($content); } // Google Fonts if(class_exists('\SpeedyCache\GoogleFonts') && !empty($speedycache->options['local_gfonts'])){ \SpeedyCache\GoogleFonts::get($content); $content = \SpeedyCache\GoogleFonts::replace($content); $content = \SpeedyCache\GoogleFonts::add_swap($content); } // Preload Critical Images if(class_exists('\SpeedyCache\Enhanced') && !empty($speedycache->options['critical_images'])){ $content = \SpeedyCache\Enhanced::preload_critical_images($content); } // Delay JS if(!empty($speedycache->options['delay_js']) && class_exists('\SpeedyCache\ProOptimizations')){ \SpeedyCache\ProOptimizations::delay_js($content); } // Defer JS if(!empty($speedycache->options['render_blocking']) && class_exists('\SpeedyCache\ProOptimizations')){ \SpeedyCache\ProOptimizations::defer_js($content); } // IMG Lazy Load if(class_exists('\SpeedyCache\ProOptimizations') && !empty($speedycache->options['lazy_load'])){ \SpeedyCache\ProOptimizations::img_lazy_load($content); } // For other plugins to hook into. $content = (string) apply_filters('speedycache_content', $content); // ----- DO NOT DO ANY OPTIMIZATION BELOW THIS ------ // Unused and Critical CSS if( !empty($_SERVER['HTTP_HOST']) && !empty($_SERVER['REQUEST_URI']) && !empty($_SERVER['HTTP_USER_AGENT']) && class_exists('\SpeedyCache\ProOptimizations') && speedycache_optserver('HTTP_USER_AGENT') !== 'SpeedyCacheCCSS' ){ $post_meta = get_post_meta(get_the_ID(), 'speedycache_post_meta', true); if(!empty($speedycache->options['critical_css']) && empty($post_meta['disable_critical_css'])){ \SpeedyCache\ProOptimizations::critical_css(); } if(empty($post_meta['disable_unused_css']) && !empty($speedycache->options['unused_css'])){ \SpeedyCache\ProOptimizations::unused_css(); } } // Rewriting to a CDN if( !empty($speedycache->cdn) && !empty($speedycache->cdn['enabled']) && !empty($speedycache->cdn['cdn_url']) && !empty($speedycache->cdn['cdn_type']) && $speedycache->cdn['cdn_type'] !== 'cloudflare' ){ \SpeedyCache\CDN::rewrite($content); } self::create($content); $end_time = microtime(TRUE); $content .= ''; $content .= ''; if(file_exists(self::$cache_file_path)){ header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime(self::$cache_file_path)) . ' GMT'); } return $content; } static function clean_html(&$content){ $content = str_replace("\r\n", "\n", trim($content)); } static function is_excluded(){ global $speedycache; $excludes = get_option('speedycache_exclude', []); if(empty($excludes)){ return false; } $is_excluded = false; foreach($excludes as $rule){ switch($rule['type']){ case 'page': $is_excluded = self::is_page_excluded($rule); break; case 'useragent': $is_excluded = self::is_useragent_excluded($rule); case 'cookie': $is_excluded = self::is_cookie_excluded($rule); } if(!empty($is_excluded)){ return true; } } return false; } static function can_handle_query(){ $uri = sanitize_text_field(wp_unslash($_SERVER['REQUEST_URI'])); $uri = remove_query_arg(self::$ignored_parameters, $uri); $parsed_uri = wp_parse_url($uri); if(!empty($parsed_uri['query'])){ return false; } return true; } static function is_page_excluded($rule){ if(empty($rule['prefix'])){ return false; } if($rule['prefix'] === 'homepage'){ return is_front_page(); } if($rule['prefix'] === 'page'){ return is_page(); } if($rule['prefix'] === 'category'){ return is_category(); } if($rule['prefix'] === 'archive'){ return is_archive(); } if($rule['prefix'] === 'tag'){ return is_tag(); } if($rule['prefix'] === 'attachment'){ return is_attachment(); } if($rule['prefix'] === 'startwith' && !empty($rule['content'])){ return (bool) preg_match('/^'.preg_quote($rule['content']).'/', trim($_SERVER['REQUEST_URI'], '/')); } if($rule['prefix'] === 'contain' && !empty($rule['content'])){ return (bool) preg_match('/'.preg_quote($rule['content']).'/', trim($_SERVER['REQUEST_URI'], '/')); } return false; } static function is_cookie_excluded($rule){ if(!isset($_SERVER['HTTP_COOKIE'])){ return false; } $cookie = sanitize_text_field(wp_unslash($_SERVER['HTTP_COOKIE'])); return preg_match('/'.preg_quote($rule['content'], '/').'/i', $cookie); } static function is_useragent_excluded($rule){ return (bool) preg_match('/'.preg_quote($rule['content'], '/').'/i', $_SERVER['HTTP_USER_AGENT']); } // Adds DNS prefetch static function dns_prefetch_hint($urls, $relation_type){ global $speedycache; if($relation_type !== 'dns-prefetch'){ return $urls; } foreach($speedycache->options['dns_urls'] as $url) { if(!empty($url)){ $urls[] = $url; } } return $urls; } // Deppricated since 1.2.0 do not use it // Just to prevent site breaking static function create_dir($path, $content, $type = ''){ } static function disable_emojis(){ add_filter('emoji_svg_url', '__return_false'); remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('admin_print_scripts', 'print_emoji_detection_script'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action('admin_print_styles', 'print_emoji_styles'); remove_filter('the_content_feed', 'wp_staticize_emoji'); remove_filter('comment_text_rss', 'wp_staticize_emoji'); remove_filter('wp_mail', 'wp_staticize_emoji_for_email'); } static function instant_page(){ wp_enqueue_script('speedycache_instant_page', SPEEDYCACHE_PRO_URL . '/assets/js/instantpage.js', array(), SPEEDYCACHE_PRO_VERSION, ['strategy' => 'defer', 'in_footer' => true]); } } PKZAҒbYbY%plugins/speedycache/main/settings.phpnu[
'; self::dashboard_tab(); echo '
'; self::cache_tab(); echo '
'; self::file_tab(); echo '
'; self::preload_tab(); echo '
'; self::media_tab(); echo '
'; self::excludes_tab(); echo '
'; self::cdn_tab(); echo '
'; do_action('speedycache_image_optm_tmpl'); if(!defined('SPEEDYCACHE_PRO') || (defined('SPEEDYCACHE_PRO_VERSION') && version_compare(SPEEDYCACHE_PRO_VERSION, '1.2.0', '<'))){ self::pro_notice('Image Optimization'); } echo '
'; do_action('speedycache_object_cache_tmpl'); if(!defined('SPEEDYCACHE_PRO') || (defined('SPEEDYCACHE_PRO_VERSION') && version_compare(SPEEDYCACHE_PRO_VERSION, '1.2.0', '<'))){ self::pro_notice('Object Cache'); } echo '
'; do_action('speedycache_bloat_tmpl'); if(!defined('SPEEDYCACHE_PRO') || (defined('SPEEDYCACHE_PRO_VERSION') && version_compare(SPEEDYCACHE_PRO_VERSION, '1.2.0', '<'))){ self::pro_notice('Bloat Settings'); } echo '
'; do_action('speedycache_db_tmpl'); if(!defined('SPEEDYCACHE_PRO') || (defined('SPEEDYCACHE_PRO_VERSION') && version_compare(SPEEDYCACHE_PRO_VERSION, '1.2.0', '<'))){ self::pro_notice('DB Optimization'); } echo '
'; do_action('speedycache_license_tmpl'); echo '

Support

'.esc_html__('If you are facing any issue contact us, our team will help you', 'speedycache').'

'; } static function dashboard_tab(){ global $speedycache; $speed_results = get_option('speedycache_pagespeed_test', []); $speed_score = 0; $speed_colors = ['#0c6', '#00cc663b', '#080']; if(!empty($speed_results)){ $speed_colors = Util::pagespeed_color($speed_results['score']); $speed_score = $speed_results['score']; } $speedycache->object_memory = 'None'; if(!empty($speedycache->object['enable']) && class_exists('Redis') && class_exists('\SpeedyCache\ObjectCache')){ try{ $speedycache->object_memory = \SpeedyCache\ObjectCache::get_memory(); } catch(\Exception $e) { $memory = 'None'; } } $license_expires = ''; if(defined('SPEEDYCACHE_PRO') && !empty($speedycache->license['expires'])){ $license_expires = $speedycache->license['expires']; $license_expires = substr($license_expires, 0, 4).'/'.substr($license_expires, 4, 2).'/'.substr($license_expires, 6); } echo '

Dashboard

Performance Score [Analyze]

'.esc_html($speed_score).'
0-49
50-89
90-100

License

Version: '.esc_html(SPEEDYCACHE_VERSION).' Status: '.(!defined('SPEEDYCACHE_PRO') ? 'Free' : (!empty($speedycache->license) && defined('SPEEDYCACHE_PRO') ? 'Pro' : 'License not Linked')).' Expires on: '.(!defined('SPEEDYCACHE_PRO') ? 'Never' : (!empty($speedycache->license) && !empty($license_expires) ? esc_html($license_expires) : '')).'

Cache Info

File Cache: '.(!empty($speedycache->options['status']) ? esc_html__('Enabled') : esc_html__('Disabled')).' Object Cache: '.(!empty($speedycache->object['enable']) ? esc_html__('Enabled') : esc_html__('Disabled')).' CDN: '.(!empty($speedycache->cdn) && !empty($speedycache->cdn['cdn_type']) ? esc_html(ucfirst($speedycache->cdn['cdn_type'])) : 'OFF').'
'; // TODO: Need to add this stats code in the Pro version. if(defined('SPEEDYCACHE_PRO')){ do_action('speedycache_pro_stats_tmpl'); } echo '

Manage Cache

'; wp_nonce_field('speedycache_post_nonce'); echo '
'.esc_html__('Delete Minified', 'speedycache').' '.esc_html__('Deletes Minfied/ Combined CSS/JS files', 'speedycache').'
'; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Delete Fonts', 'speedycache').' '.esc_html__('Deletes Local Google Fonts', 'speedycache').'
'; } echo '
'.esc_html__('Delete Gravatars', 'speedycache').' '.esc_html__('Delete locally hosted Gravatars.', 'speedycache').'
'.esc_html__('Preload Cache', 'speedycache').' '.esc_html__('After cache gets deleted, it restarts auto cache generation.', 'speedycache').'
'; if(defined('SPEEDYCACHE_PRO')){ do_action('speedycache_pro_logs_tmpl'); } } static function cache_tab(){ global $speedycache; echo '

Cache Settings

'; wp_nonce_field('speedycache_ajax_nonce'); echo '
'.esc_html__('Enable Cache', 'speedycache').' '.esc_html__('Enables caching', 'speedycache').'
'.esc_html__('Mobile Override', 'speedycache').' '.esc_html__('Disable desktop cache display on mobile devices.', 'speedycache').'
'; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Mobile Cache', 'speedycache').' '.esc_html__('Separate cache for Mobile version of your website, modern themes don\'t require this', 'speedycache').'
'; } else { echo '
'.esc_html__('Mobile Cache', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Separate cache for Mobile version of your website, modern themes don\'t require this', 'speedycache').'
'; } echo '
'.esc_html__('Preload', 'speedycache').' - Settings '.esc_html__('Create the cache of all the site automatically', 'speedycache').'
'.esc_html__('Preload Settings', 'speedycache').'

'.esc_html__('Select the interval after which you want the preload to run', 'speedycache').'

'.esc_html__('Browser Caching', 'speedycache').' '.esc_html__('Stores web data locally for faster loading.', 'speedycache').'
'.esc_html__('Logged-in Users', 'speedycache').' '.esc_html__('Serve cached version to logged in user.', 'speedycache').'
'.esc_html__('GZIP Compressions', 'speedycache').' '.esc_html__('Compresses the text files to reduce the size to be sent on the network.', 'speedycache').'
'.esc_html__('Purge Varnish', 'speedycache').' - Settings '.esc_html__('Deletes cache created by Varnish on Deletion of cache from SpeedyCache', 'speedycache').'
'.esc_html__('Varnish Settings', 'speedycache').'

'.esc_html__('If you use any different IP for Varnish than the default then set it here.', 'speedycache').'

Cache Lifespan

'.esc_html__('This defines the time after which the cache will be automatically deleted. Set to 0 to disable automatic cache deletion.', 'speedycache').'

options['purge_enable_exact_time']) ? checked($speedycache->options['purge_enable_exact_time'], true, false) : '').'/>'.esc_html__('Run at exact time', 'speedycache').'

'.esc_html__('This is dependent on WP Cron, which does not guarantee execution at an exact time. For more details, ', 'speedycache').'click here

'; self::save_btn(); echo '
'; } static function file_tab(){ global $speedycache; echo '

File Optimization

'; wp_nonce_field('speedycache_ajax_nonce'); echo ''; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Minify HTML', 'speedycache').' '.esc_html__('Removes comments, extra spaces', 'speedycache').'
'; } else { echo '
'.esc_html__('Minify HTML', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Removes comments, extra spaces', 'speedycache').'
'; } echo '
'.esc_html__('Minify CSS', 'speedycache').' '.esc_html__('You can decrease the size of CSS files', 'speedycache').'
'.esc_html__('Combine CSS', 'speedycache').' '.esc_html__('Combines CSS files to reduce HTTP requests', 'speedycache').'
'; // Critical CSS Option if(defined('SPEEDYCACHE_PRO') && !empty($speedycache->license) && !empty($speedycache->license['active'])){ echo '
'.esc_html__('Critical CSS', 'speedycache'); if(!empty($speedycache->options['critical_css'])){ echo ' - '.esc_html__('Create Now', 'speedycache').'   |   '.esc_html__('Logs', 'speedycache').''; } echo ''.esc_html__('It extracts the necessary CSS of the viewport on load to improve load speed.', 'speedycache').'
'; echo wp_kses(\SpeedyCache\CriticalCss::status_modal(), array_merge(wp_kses_allowed_html('post'), [ 'div' => [ 'modal-id' => true, 'class' => true, 'title' => true, 'style' => true, ] ])); } else { if(empty($speedycache->license) || empty($speedycache->license['active'])){ $need_key = true; } echo '
'.esc_html__('Critical CSS', 'speedycache').' '.(!empty($need_key) ? 'Link License Key' : 'Premium').' '.esc_html__('It extracts the necessary CSS of the viewport on load to improve load speed.', 'speedycache').'
'; } // Unused CSS if(defined('SPEEDYCACHE_PRO') && !empty($speedycache->license) && !empty($speedycache->license['active'])){ echo '
'.esc_html__('Unused CSS', 'speedycache').' - Settings '.esc_html__('It removes the unused CSS.', 'speedycache').'
'.esc_html__('Unused CSS Settings', 'speedycache').'

'.esc_html__('Extracts the CSS being used on the page.', 'speedycache').'

options['unusedcss_load']) || (!empty($speedycache->options['unusedcss_load']) && $speedycache->options['unusedcss_load'] == 'async') ? 'checked' : '').'/> options['unusedcss_load']) && $speedycache->options['unusedcss_load'] == 'interaction' ? 'checked' : '').'/> options['unusedcss_load']) && $speedycache->options['unusedcss_load'] == 'remove' ? 'checked' : '').'/>


'; } else { echo '
'.esc_html__('Unused CSS', 'speedycache').''.(!empty($need_key) ? 'Link License Key' : 'Premium').' '.esc_html__('It removes the unused CSS from the page.', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Minify JS', 'speedycache').' '.esc_html__('You can decrease the size of JS files', 'speedycache').'
'; } else { echo '
'.esc_html__('Minify JS', 'speedycache').'Premium '.esc_html__('You can decrease the size of JS files', 'speedycache').'
'; } echo '
'.esc_html__('Combine JS', 'speedycache').' '.esc_html__('Reduce HTTP requests by Combining JS files', 'speedycache').'
'; // Delay JS option if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Delay JS', 'speedycache').' - Settings '.esc_html__('Delays JS until user interaction(like scroll, click etc) to improve performance', 'speedycache').'
'.esc_html__('Delay JS', 'speedycache').'

'.esc_html__('Delay All is a more aggressive option which can increase the chances of breaking the site too.', 'speedycache').'

options['delay_js_mode']) || (!empty($speedycache->options['delay_js_mode']) && $speedycache->options['delay_js_mode'] == 'selected') ? 'checked' : '').'/> options['delay_js_mode']) && $speedycache->options['delay_js_mode'] == 'all' ? 'checked' : '').'/>
'; }else{ echo '
'.esc_html__('Delay JS', 'speedycache').'Premium '.esc_html__('Delays JS until user interaction(like scroll, click etc) to improve performance', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Defer JS', 'speedycache').' - Settings '.esc_html__('Defers render-blocking JavaScript resources', 'speedycache').'
'.esc_html__('Defer JS', 'speedycache').'
'; } else { echo '
'.esc_html__('Defer JS', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Defers render-blocking JavaScript resources', 'speedycache').'
'; } echo '
'.esc_html__('Disable Emojis', 'speedycache').' '.esc_html__('You can remove the emoji inline css and wp-emoji-release.min.js', 'speedycache').'
'; // Lazy Render HTML element if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Lazy Render HTML Element', 'speedycache').' - Settings '.esc_html__('Lazy Render a HTML element(class or id) if not in view-port.', 'speedycache').'
'.esc_html__('Lazy Render HTML Elements', 'speedycache').'

'.esc_html__('Lazy Rendering HTML is usually good for Comments.', 'speedycache').'

'; }else{ echo '
'.esc_html__('Lazy Render HTML Element', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Lazy Render a HTML element(class or id) if not in view-port.', 'speedycache').'
'; } self::save_btn(); echo '
'; } static function preload_tab(){ global $speedycache; echo '

Preload Settings

'; wp_nonce_field('speedycache_ajax_nonce'); echo ''; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Preload Critical Images', 'speedycache').' - Settings '.esc_html__('Preloads critical Images to improve LCP', 'speedycache').'
'.esc_html__('Preload Critical Images', 'speedycache').'

'.esc_html__('Select the number of images you want to be preloaded.', 'speedycache').'

'.esc_html__('Critical Image Count', 'speedycache').'
'; } else { echo '
'.esc_html__('Preload Critical Images', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Preloads critical Images to improve LCP', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Instant Page', 'speedycache').' '.esc_html__('Improves page load speed', 'speedycache').'
'; } else { echo '
'.esc_html__('Instant Page', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Improves page load speed', 'speedycache').'
'; } echo '
'.esc_html__('DNS Prefetch', 'speedycache').' - Settings '.esc_html__('DNS prefetching can make external files load faster.', 'speedycache').'
'.esc_html__('Prefetch DNS Requests', 'speedycache').'

'.esc_html__('How DNS Prefetch can help?', 'speedycache').'

'.esc_html__('DNS prefetch can improve page load performance by resolving domain names in advance, so that the browser can start loading resources from those domains as soon as possible.', 'speedycache').'

'; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Preload Resources', 'speedycache').' - Settings '.esc_html__('Hints browser to load resources early.', 'speedycache').'
'; } else { echo '
'. esc_html__('Preload Resources', 'speedycache').''.esc_html__('Premium', 'speedycache').' '. esc_html__('Hints browser to load resources early.', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'. esc_html__('PreConnect', 'speedycache').' - Settings '.esc_html__('Establish early connections to speed up page load.', 'speedycache').'
'; } else { echo '
'. esc_html__('Preconnect', 'speedycache') .''.esc_html__('Premium', 'speedycache').' '. esc_html__('Establish early connections to speed up page load.', 'speedycache').'
'; } self::save_btn(); echo '
'; if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Preload Resource', 'speedycache').'
'. wp_kses(self::preload_modal_options('preload_resource', ['type' => true, 'crossorigin' => true]), [ 'input' => ['type' => true, 'value' => true, 'style' => true, 'name' => true, 'placeholder' => true], 'option' => ['value' => true], 'select' => ['name' => true, 'required' => true], 'label' => ['for' => true], 'div' => ['class' => true], 'span' => true, ]).'
'; if(!empty($speedycache->options['preload_resource_list']) && count($speedycache->options['preload_resource_list']) > 7){ echo '

Note: Preloading too many resources can actually slow down your website, so it\'s important to only preload the resources that are absolutely necessary for the initial load. These might include fonts, image, CSS or JS files.

'; } echo ''; if(empty($speedycache->options['preload_resource_list']) || !is_array($speedycache->options['preload_resource_list'])){ echo ''; } else { foreach($speedycache->options['preload_resource_list'] as $pkey => $preload_resource){ echo ''; } } echo '
'.esc_html__('Resource', 'speedycache').' '. esc_html__('Type', 'speedycache').' '. esc_html__('CS', 'speedycache').'
No Resource Preload added yet
'.esc_url($preload_resource['resource']).' '.esc_html($preload_resource['type']).' '.(!empty($preload_resource['crossorigin']) ? 'Yes' : 'No').'
'. esc_html__('Preconnect', 'speedycache').'
'.wp_kses(self::preload_modal_options('pre_connect', ['crossorigin' => true]), [ 'input' => ['type' => true, 'value' => true, 'style' => true, 'name' => true, 'placeholder' => true], 'option' => ['value' => true], 'select' => ['name' => true, 'required' => true], 'label' => ['for' => true], 'div' => ['class' => true], 'span' => true, ]).'
'; if(!empty($speedycache->options['pre_connect_list']) && count($speedycache->options['pre_connect_list']) > 6){ echo '

Note: A good rule of thumb is to limit the number of preconnects to 6-8. However, the exact number will vary depending on the specific website and the resources that are being loaded.

'; } echo ''; if(empty($speedycache->options['pre_connect_list']) || !is_array($speedycache->options['pre_connect_list'])){ echo ''; } else { foreach($speedycache->options['pre_connect_list'] as $pkey => $pre_connect){ echo ''; } } echo '
'.esc_html__('Resource', 'speedycache').' '. esc_html__('Crossorigin', 'speedycache').'
'.esc_html__('No PreConnect added yet', 'speedycache').'
'.esc_html($pre_connect['resource']).' '.(!empty($pre_connect['crossorigin']) ? 'Yes' : 'No').'
'; } } static function cdn_tab(){ global $speedycache; $default_file_types = ['aac', 'css', 'eot', 'gif', 'jpeg', 'js', 'jpg', 'less', 'mp3', 'mp4', 'ogg', 'otf', 'pdf', 'png', 'svg', 'swf', 'ttf', 'webm', 'webp', 'woff', 'woff2']; echo '

CDN Settings

'; wp_nonce_field('speedycache_ajax_nonce'); echo '
'.esc_html__('Enable CDN', 'speedycache').' '.esc_html__('This will start rewriting asset URL\'s to the CDN URL', 'speedycache').'
'.esc_html__('It is the URL that CDN Provider provides you.', 'speedycache').'
'.esc_html__('API keys/ tokens are not required but used to purge cache on CDN when cache from SpeedyCache gets purged.', 'speedycache').'
'.esc_html__('Types of files you want to be served through the CDN(one file per line)', 'speedycache').'
'.esc_html__('Files you do not want to be rewritten to a CDN url(one file per line).', 'speedycache').'
'.esc_html__('Specific files which you want to be rewritten using CDN URL(one file per line).', 'speedycache').'
'; self::save_btn(); echo '
'; } static function excludes_tab(){ $excludes = get_option('speedycache_exclude', []); echo '

Exclude Settings

'; if(empty($excludes)){ echo ''; } else { foreach($excludes as $id => $exclude){ echo ''; } } echo '
Type Prefix Content Actions
'.esc_html__('No exclude rule added yet','speedycache').'
'.esc_html($exclude['type']).' '.esc_html($exclude['prefix']).' '.esc_html($exclude['content']).'
'.esc_html__('Add Exclude Rule', 'speedycache').'
'; wp_nonce_field('speedycache_ajax_nonce'); echo '
'; } static function media_tab(){ global $speedycache; // Backward compatibility if(!empty($speedycache->options['lazy_load_keywords']) && is_string($speedycache->options['lazy_load_keywords'])){ $speedycache->options['lazy_load_keywords'] = explode(',', $speedycache->options['lazy_load_keywords']); } echo '

Media Settings

'; wp_nonce_field('speedycache_ajax_nonce'); echo '
'.esc_html__('Gravatar Cache', 'speedycache').' '.esc_html__('Locally host Gravatar', 'speedycache').'
'; if(defined('SPEEDYCACHE_PRO')){ echo '
options['lazy_load_exclude_full_size_img']) ? esc_attr($speedycache->options['lazy_load_exclude_full_size_img']) : '').' id="speedycache_lazy_load_exclude_full_size_img" name="lazy_load_exclude_full_size_img">
'.esc_html__('Lazy Load', 'speedycache').' - Settings '.esc_html__('Load images and iframes when they enter the browsers viewport', 'speedycache').'
'.esc_html__('Lazy Load Settings', 'speedycache').'

'.esc_html__('Image Placeholder', 'speedycache').'

'.esc_html__('Specify an image to be used as a placeholder while other images finish loading.', 'speedycache').'

'; $hide_css_class = ''; if(isset($speedycache->options['lazy_load_placeholder']) && $speedycache->options['lazy_load_placeholder'] != 'custom'){ $hide_css_class = 'speedycache-hidden '; } echo '

'.esc_html__('Exclude above fold images', 'speedycache').'

'.esc_html__('Number of images you want to exclude from getting lazyloaded from top of the screen', 'speedycache').'

'.esc_html__('Exclude Sources', 'speedycache').'

'.esc_html__('It is enough to write a keyword such as', 'speedycache').' home.jpg or iframe or .gif instead of full url.

'; echo '
'; } else { echo '
'.esc_html__('Lazy Load', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Load images and iframes when they enter the browsers viewport', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Image Dimensions', 'speedycache').' '.esc_html__('Adds dimensions to the image, to reduce CLS', 'speedycache').'
'; } else { echo '
'.esc_html__('Image Dimensions', 'speedycache').''. esc_html__('Premium', 'speedycache').' '.esc_html__('Adds dimensions to the image, to reduce CLS', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Local Google Fonts', 'speedycache').' '.esc_html__('Loads google fonts from your local server', 'speedycache').'
'; } else { echo '
'.esc_html__('Local Google Fonts', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Loads google fonts from your local server', 'speedycache').'
'; } if(defined('SPEEDYCACHE_PRO')){ echo '
'.esc_html__('Google Fonts', 'speedycache').' '.esc_html__('Load Google Fonts asynchronously', 'speedycache').'
'; } else { echo '
'.esc_html__('Google Fonts', 'speedycache').''.esc_html__('Premium', 'speedycache').' '.esc_html__('Load Google Fonts asynchronously', 'speedycache').'
'; } echo '
'.esc_html__('Improve Font Rendering', 'speedycache').' '.esc_html__('Improved Font rendeing by adding text-rendring CSS.', 'speedycache').'
'; self::save_btn(); echo '
'; } static function preload_modal_options($field_name, $fields){ if(empty($fields)){ return ''; } switch($field_name){ case 'pre_connect': $placeholder = 'https://fonts.google.com'; break; default: $placeholder = site_url() . '/wp-content/uploads/image.jpg'; } $html = '
'; $html .= '
'; if(isset($fields['parent_selector'])){ $html .= ''; } if(isset($fields['crossorigin'])){ $html .= ''; } $html .= '
'; if(isset($fields['type'])){ $html .= ''; } if(isset($fields['priority'])){ $html .= ''; } $html .= '
'; return $html; } static function pro_notice($tab_name){ echo '

'.esc_html($tab_name).'

'.esc_html__('This is a part of SpeedyCache Pro, so update/upgrade to pro to utilize this feature', 'speedycache').'

'; } static function save_btn(){ echo '
'; } } PKZdy %plugins/speedycache/main/gravatar.phpnu[post_author); } elseif(is_a($id_or_email, 'WP_Comment')){ if(!empty($id_or_email->user_id)){ $user = get_user_by('id', (int) $id_or_email->user_id); } if((empty($user) || is_wp_error($user)) && !empty($id_or_email->comment_author_email)){ $id_or_email = $id_or_email->comment_author_email; } if(is_a($id_or_email, 'WP_Comment')){ return false; } } if(!empty($user) && is_a($user, 'WP_User')){ $id_or_email = $user->user_email; } // We need an email which should be a string if something else is being passed then just return if(!is_string($id_or_email)){ return false; } $email_hash = md5(strtolower(trim($id_or_email))); return $email_hash; } // Deletes all the gravatar stored static function delete(){ $path = \SpeedyCache\Util::cache_path('gravatars'); if(!file_exists($path)){ return; } $files = scandir($path); if(empty($files)){ return __('No file present to delete', 'speedycache'); } foreach($files as $file){ // We dont want to delete index.html or any directory. if(file_exists($path . $file) && !is_dir($path . $file) && $file != 'index.html'){ @unlink($path . $file); } } return __('Gravatar files deleted', 'speedycache'); } static function convert_path_to_link($path){ preg_match('/\/cache\/speedycache\/.+/', $path, $out); $prefix_link = str_replace(array('http:', 'https:'), '', content_url()); return $prefix_link . $out[0]; } } PKZ@TAA$plugins/speedycache/main/install.phpnu[options = get_option('speedycache_options', []); $speedycache->options['lbc'] = true; $speedycache->options['minify_css'] = true; $speedycache->options['gzip'] = true; update_option('speedycache_options', $speedycache->options); update_option('speedycache_version', SPEEDYCACHE_VERSION); \SpeedyCache\Htaccess::init(); self::set_advanced_cache(); \SpeedyCache\Util::set_config_file(); } // Called during Deactivation static function deactivate(){ if(is_file(ABSPATH.'.htaccess') && is_writable(ABSPATH.'.htaccess')){ $htaccess = file_get_contents(ABSPATH.'.htaccess'); $htaccess = preg_replace("/#\s?BEGIN\s?speedycache.*?#\s?END\s?speedycache/s", '', $htaccess); $htaccess = preg_replace("/#\s?BEGIN\s?Gzipspeedycache.*?#\s?END\s?Gzipspeedycache/s", '', $htaccess); $htaccess = preg_replace("/#\s?BEGIN\s?LBCspeedycache.*?#\s?END\s?LBCspeedycache/s", '', $htaccess); $htaccess = preg_replace("/#\s?BEGIN\s?WEBPspeedycache.*?#\s?END\s?WEBPspeedycache/s", '', $htaccess); $htaccess = preg_replace("/#\s?BEGIN\s?SpeedyCacheheaders.*?#\s?END\s?SpeedyCacheheaders/s", '', $htaccess); $htaccess = preg_replace('/\n\n+/', "\n\n", $htaccess); // Cleans extra white space which gets added @file_put_contents(ABSPATH.'.htaccess', $htaccess); } self::remove_constant(); wp_clear_scheduled_hook('speedycache_preload'); wp_clear_scheduled_hook('speedycache_purge_cache'); wp_clear_scheduled_hook('speedycache_preload_split'); } static function set_advanced_cache(){ if(file_exists(WP_CONTENT_DIR . '/advanced-cache.php')){ unlink(WP_CONTENT_DIR . '/advanced-cache.php'); } if(!copy(SPEEDYCACHE_DIR . '/main/advanced-cache.php', WP_CONTENT_DIR . '/advanced-cache.php')){ return; } // Adding WP_CACHE Constant self::add_constant(); } // Adds WP_CACHE constant in wp-config.php static function add_constant(){ $wp_config_file = ABSPATH . '/wp-config.php'; if(!file_exists($wp_config_file) || !is_writable($wp_config_file)){ return false; } $wp_config_content = file_get_contents($wp_config_file); if(empty($wp_config_content)){ return; } // Removing if WP_CACHE is already placed $wp_config_content = preg_replace('/define\(\s*["\']WP_CACHE[\'\"].*/', '', $wp_config_content); // Adding the Constant $wp_config_content = preg_replace('/<\?php/', "options['preload'])){ \SpeedyCache\Preload::build_preload_list(); } } } /** * Deletes cache of a single page * @param int $post_id */ static function cache($post_id = false){ global $speedycache; if(!isset($post_id) || $post_id === FALSE || !is_numeric($post_id)){ return; } $link = get_permalink($post_id); // If its 0 then it's a homepage if($post_id == 0){ $link = home_url(); } if(empty($link)){ return; } self::url($link); if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } if(!empty($speedycache->options['preload'])){ \SpeedyCache\Preload::url($link); } delete_option('speedycache_html_size'); delete_option('speedycache_assets_size'); } /** * Deletes cache of a URL * Parses and converts a URL to cache path and purges it * @param array|string $urls */ static function url($urls){ global $speedycache; $urls = (array) $urls; $cache_paths = []; foreach($urls as $url){ $parsed_url = wp_parse_url($url); $path = !empty($parsed_url['path']) ? $parsed_url['path'] : ''; // Path to be used in glob so that we can get all the variations of file created like for language or currency $file = (empty($path) || $path == '/') ? 'index*html' : trim($path, '/') . '/index*html'; // Cache path for desktop cache $all_path = glob(Util::cache_path('all') . $file); if(!empty($all_path)){ $cache_paths = array_merge($cache_paths, $all_path); } // Cache path for Mobile cache if(!empty($speedycache->options['mobile_theme'])){ $mobile_path = glob(Util::cache_path('mobile-cache') . $file); if(!empty($mobile_path)){ $cache_paths = array_merge($cache_paths, $mobile_path); } } } foreach($cache_paths as $cache_path){ if(!file_exists($cache_path)){ continue; } if(is_dir($cache_path)){ self::rmdir($cache_path); continue; } unlink($cache_path); } } // Delete cache of whole site static function all_cache(){ // Our cache is saved in 2 file, /all and /mobile-cache // We also need to delete Critical CSS too as it gets injected in the HTML $deletable_dirs = ['all', 'mobile-cache', 'critical-css']; foreach($deletable_dirs as $dir){ $path = Util::cache_path($dir); self::rmdir($path); } if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } } // Delete minified and Critical css content. static function minified(){ $assets_cache_path = Util::cache_path('assets'); if(!file_exists($assets_cache_path)){ return; } self::rmdir($assets_cache_path); if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } } // Delete local fonts static function local_fonts(){ $fonts_path = Util::cache_path('fonts'); if(!file_exists($fonts_path)){ return; } self::rmdir($fonts_path); if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } } static function gravatar(){ $gravatar_path = Util::cache_path('gravatars'); if(!file_exists($gravatar_path)){ return; } self::rmdir($gravatar_path); if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } } // Delete everything of the current domain, like minfied, cache, gravatar and fonts. static function all_for_domain(){ } static function rmdir($dir){ if(!file_exists($dir)){ return; } $files = array_diff(scandir($dir), ['..', '.']); foreach($files as $file){ if(is_dir($dir.'/'.$file)){ self::rmdir($dir.'/'.$file); continue; } unlink($dir.'/'.$file); } rmdir($dir); } static function purge_varnish(){ global $speedycache; if(empty($speedycache->options['purge_varnish'])){ return; } $server = !empty($speedycache->options['varniship']) ? $speedycache->options['varniship'] : '127.0.0.1'; $url = home_url(); $url = parse_url($url); if($url == FALSE){ return; } $sslverify = ($url['scheme'] === 'https') ? true : false; $request_url = $url['scheme'] .'://'. $server . '/.*'; $request_args = array( 'method' => 'PURGE', 'headers' => array( 'Host' => $url['host'], ), 'sslverify' => $sslverify, ); $res = wp_remote_request($request_url, $request_args); if(is_wp_error($res)){ $msg = $res->get_error_message(); return array($msg, 'error'); } if(is_array($res) && !empty($res['response']['code']) && '200' != $res['response']['code']){ $msg = 'Something Went Wrong Unable to Purge Varnish'; if(empty($res['response']['code']) && '501' == $res['response']['code']){ $msg = 'Your server dosen\'t allows PURGE request'; if(!empty($res['headers']['allow'])){ $msg .= 'The accepted HTTP methods are' . $res['headers']['allow']; } $msg = __('Please contact your hosting provider if, Varnish is enabled and still getting this error', 'speedycache'); } return array($msg, 'error'); } if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } return array(__('Purged Varnish Cache Succesfully', 'speedycache'), 'success'); } static function expired_cache(){ global $speedycache; self::$cache_lifespan = Util::cache_lifespan(); // We don't want to clean cache if cache is disabled if(empty($speedycache->options['status']) || empty(self::$cache_lifespan)){ wp_clear_scheduled_hook('speedycache_purge_cache'); return; } $cache_path = []; $cache_path[] = Util::cache_path('all'); $cache_path[] = Util::cache_path('mobile-cache'); foreach($cache_path as $path){ if(!file_exists($path)){ continue; } self::rec_clean_expired($path); } // We will delete it even if the cache does not gets deleted delete_option('speedycache_html_size'); delete_option('speedycache_assets_size'); if(class_exists('\SpeedyCache\Logs')){ \SpeedyCache\Logs::log('delete'); \SpeedyCache\Logs::action(); } } // Recursively deletes expired cache static function rec_clean_expired($path){ $files = array_diff(scandir($path), array('..', '.')); if(empty($files)){ return; } foreach($files as $file){ $file_path = $path . '/'. $file; if(is_dir($file_path)){ self::rec_clean_expired($file_path); continue; } // We will delete all cache if the lifespan is greater than 10 hours to prevent nonce issues, // We could delete all the cache for lifespan above 10 hrs, but for larger sites deleting // everything colud be a overhead. if((self::$cache_lifespan >= 10 * HOUR_IN_SECONDS) || ((filemtime($file_path) + self::$cache_lifespan) < time())){ unlink($file_path); } } } // Deletes the cache of the post whose status got changed, // only deletes when the post transitions in our out of published mode static function on_status_change($new_status, $old_status, $post){ global $speedycache; if($old_status == $new_status && $old_status !== 'publish') return; if($old_status !== 'publish' && $new_status !== 'publish'){ return; } if(empty($speedycache->options['status'])){ return; } if(!empty(wp_is_post_revision($post->ID))){ return; } // Current post should not be deleted when its anything other than publish, // As in some states its URL changes to ?page_id= if($new_status == 'publish'){ self::cache($post->ID); } // Deleting the cache of home page and blog page $home_page_id = get_option('page_on_front'); self::cache($home_page_id); // For some sites home page and blog page could be same $blog_page_id = get_option('page_for_posts'); if($home_page_id !== $blog_page_id){ self::cache($blog_page_id); } // Deleting the author page cache $author_page_url = get_author_posts_url($post->post_author); self::url($author_page_url); // Deleting cache of related terms self::terms($post->ID); // Delete shop page when product status changes. if(function_exists('wc_get_page_id')){ $shop_page_id = wc_get_page_id('shop'); if($home_page_id !== $shop_page_id){ self::cache($shop_page_id); } } // This is used to delete post which may have the current post as the related post / product in them self::adjacent_posts_urls(); } // Deletes cache of the page where a comments status got change. static function on_comment_status($new_status, $old_status, $comment){ global $speedycache; if($old_status == $new_status && $old_status !== 'approved') return; if($old_status !== 'approved' && $new_status !== 'approved'){ return; } if(empty($speedycache->options['status'])){ return; } self::cache($comment->comment_parent); } static function terms($post_id){ global $speedycache; if(empty($post_id) || !is_numeric($post_id)){ return; } $post_type = get_post_type($post_id); if(empty($post_type)){ return; } // Get all taxonomies for the post type $taxonomies = get_object_taxonomies($post_type, 'objects'); // Filter to keep only public taxonomies $public_taxonomies = []; foreach($taxonomies as $taxonomy){ if($taxonomy->public){ $public_taxonomies[] = $taxonomy->name; } } if(empty($public_taxonomies)){ return; } $terms = wp_get_post_terms($post_id, $public_taxonomies); if(empty($terms) || is_wp_error($terms)){ return; } $deletable_links = []; foreach($terms as $term){ $link = get_term_link($term->term_id); $deletable_links[] = $link; $ancestors = get_ancestors($term->term_id, $term->taxonomy); if(!empty($ancestors)){ foreach($ancestors as $ancestor){ $deletable_links[] = get_term_link($ancestor); } } } if(empty($deletable_links)){ return; } $deletable_links = array_unique($deletable_links); self::url($deletable_links); if(!empty($speedycache->options['preload'])){ \SpeedyCache\Preload::url($deletable_links); } } static function adjacent_posts_urls(){ $post_urls = []; $prev_post = get_adjacent_post(); $prev_post_term = get_adjacent_post(true, ''); $next_post = get_adjacent_post(false, '', true); $next_post_term = get_adjacent_post(true, '', true); if(!empty($prev_post)){ $post_urls[] = get_permalink($prev_post); } if(!empty($prev_post_term)){ $post_urls[] = get_permalink($prev_post_term); } if(!empty($next_post)){ $post_urls[] = get_permalink($next_post); } if(!empty($next_post_term)){ $post_urls[] = get_permalink($next_post_term); } if(!empty($post_urls)){ self::url($post_urls); } } // Deletes cache of product page and its related pages when a order is made static function order($order_id){ global $speedycache; if(empty($speedycache->options['status'])){ return; } if(!function_exists('wc_get_order')){ return; } $order = wc_get_order($order_id); $items = $order->get_items(); foreach($items as $item){ $product_id = $item->get_product_id(); if(empty($product_id)){ continue; } self::cache($product_id); $categories = wp_get_post_terms($product_id, 'product_cat', array('fields' => 'ids')); foreach($categories as $category){ self::cache($category); } } $shop_page_id = wc_get_page_id('shop'); self::cache($shop_page_id); } } PKZm plugins/speedycache/main/cdn.phpnu[cdn['cdn_url']; self::$allowed_types = $speedycache->cdn['file_types']; self::$excludes = $speedycache->cdn['excludekeywords']; self::$specific = $speedycache->cdn['keywords']; if(empty(self::$cdn_url) || empty(self::$allowed_types)){ return; } // Define the patterns to match specific URLs (e.g., images, CSS, JS) $patterns = [ '/'. preg_quote(home_url('/wp-content/uploads/'), '/') . '([^"\']+)/i', // Uploads directory '/'. preg_quote(home_url('/wp-includes/'), '/') . '([^"\']+)/i', // WordPress core assets '/'. preg_quote(home_url('/wp-content/themes/'), '/') . '([^"\']+)/i', // Theme assets '/'. preg_quote(home_url('/wp-content/plugins/'), '/') . '([^"\']+)/i', // Plugin assets '/'. preg_quote(home_url('/wp-content/cache/'), '/') . '([^"\']+)/i', // Cache files ]; // Loop through each pattern and replace only URLs with the specified file types foreach($patterns as $pattern){ $content = preg_replace_callback($pattern, '\SpeedyCache\CDN::replace_urls', $content); } } static function replace_urls($matches) { global $speedycache; // Get the file extension $file_url = preg_replace('/\?.*$/', '', $matches[0]); if(empty($file_url)){ $file_url = $matches[0]; } $file_url = trim($file_url, '/'); if(self::is_excluded($file_url)){ return $matches[0]; } // To rewrite just some specific files only if(!empty(self::$specific) && is_array(self::$specific)){ $is_specific = false; foreach(self::$specific as $required_source){ if(preg_match('/'.preg_quote($required_source).'/i', $file_url)){ $is_specific = true; break; } } if(empty($is_specific)){ return $matches[0]; } } $file_extension = pathinfo($file_url, PATHINFO_EXTENSION); // Check if the file extension is in the allowed list if(in_array(strtolower($file_extension), self::$allowed_types)){ $home_url = home_url(); // Rewrite the URL to use the CDN return str_replace($home_url, self::$cdn_url, $matches[0]); } // If not in the allowed list, return the original URL return $matches[0]; } static function is_excluded($url){ if(empty($url)){ return false; } // array check if just to make sure things dont break for 1.2.0 in which we rewrote the plugin if(empty(self::$excludes) || !is_array(self::$excludes)){ return false; } foreach(self::$excludes as $exclude){ if(preg_match('/'.preg_quote($exclude).'/i', $url)){ return true; } } return false; } static function purge(){ global $speedycache; // Only cloudflare and Bunny can be purged, that too we only want that to happen if CDN is enabled. if( empty($speedycache->cdn['enabled']) || empty($speedycache->cdn['cdn_key']) || empty($speedycache->cdn['cdn_type']) || $speedycache->cdn['cdn_type'] == 'other' ){ return; } if($speedycache->cdn['cdn_type'] == 'bunny'){ self::purge_bunny($speedycache->cdn); }elseif($speedycache->cdn['cdn_type'] == 'cloudflare'){ self::purge_cloudflare($speedycache->cdn); } } // Get unique pull ID to purge cache on CDN static function bunny_get_pull_id(&$cdn){ global $speedycache; $pull_zone = $cdn['cdn_url']; // bunny cdn calls it cdn url as pull zone $access_key = $cdn['cdn_key']; if(empty($access_key)){ return array('success' => false, 'message' => __('Bunny CDN Access Key not found', 'speedycache')); } $options = array( 'headers' => array( 'AccessKey' => $access_key, 'accept' => 'application/json' ) ); $res = wp_remote_get('https://api.bunny.net/pullzone', $options); if(is_wp_error($res) || empty($res)){ if(empty($res)){ return array('success' => false, 'message' => __('Bunny CDN retuned an empty response', 'speedycache')); } return array('success' => false, 'message' => 'Something Went Wrong: ' . $res->get_error_message()); } $res_code = wp_remote_retrieve_response_code($res); if(substr($res_code, 0, 1) != 2){ return array('success' => false, 'message' => __('Something Went Wrong: Getting Pull ID was unsuccessful ', 'speedycache') . $res_code); } $res_body = wp_remote_retrieve_body($res); if(empty($res_body)){ return array('success' => false, 'message' => __('Bunny CDN pull ID response body is empty', 'speedycache')); } $res_body = json_decode($res_body, true); foreach($res_body as $pull_zones){ if($pull_zones['OriginUrl'] == $cdn['origin_url']){ return $pull_zones['Id']; } } return array('success' => false, 'message' => __('Bunny Pull Zone not found', 'speedycache')); } static function purge_bunny($cdn){ if(empty($cdn['cdn_key']) || empty($cdn['cdn_url'])){ return false; } $pull_zone = $cdn['cdn_url']; // bunny cdn calls it cdn url as pull zone $access_key = $cdn['cdn_key']; $pull_id = !empty($cdn['bunny_pull_id']) ? $cdn['bunny_pull_id'] : ''; if(empty($access_key) || empty($pull_id)){ return false; } $options = array( 'headers' => array( 'AccessKey' => $access_key, 'content-type' => 'application/json' ) ); $res = wp_remote_post('https://api.bunny.net/pullzone/'.$pull_id.'/purgeCache', $options); if(is_wp_error($res) || empty($res)){ if(empty($res)){ return __('Bunny CDN retuned an empty response', 'speedycache'); } return 'Something Went Wrong: ' . $res->get_error_message(); } $res_code = wp_remote_retrieve_response_code($res); if($res_code != 204){ return esc_html__('Something Went Wrong: Purge was unsuccessful with response code of ') . $res_code; } return esc_html__('Success: Bunny CDN purged successfully', 'speedycache'); } static function cloudflare_zone_id(&$cdn){ if(empty($cdn['cdn_key'])){ return false; } $api_token = $cdn['cdn_key']; $domain = parse_url(home_url(), PHP_URL_HOST); $url = 'https://api.cloudflare.com/client/v4/zones?name='.$domain; $args = [ 'headers' => [ 'Authorization' => 'Bearer ' . $api_token, 'Content-Type' => 'application/json', ], ]; $response = wp_remote_get($url, $args); if (is_wp_error($response)) { return 'Error: ' . $response->get_error_message(); } $body = json_decode(wp_remote_retrieve_body($response), true); if($body && isset($body['result'][0]['id'])){ return $body['result'][0]['id']; // This is the Zone ID } return false; } static function purge_cloudflare($cdn){ if(empty($cdn['cloudflare_zone_id']) || empty($cdn['cdn_key'])){ return; } $zone_id = $cdn['cloudflare_zone_id']; $api_token = $cdn['cdn_key']; $url = 'https://api.cloudflare.com/client/v4/zones/'.$zone_id.'/purge_cache'; $args = [ 'headers' => [ 'Authorization' => 'Bearer ' . $api_token, 'Content-Type' => 'application/json', ], 'body' => json_encode([ 'purge_everything' => true, // Set to true to purge all cache ]), ]; $response = wp_remote_post($url, $args); if (is_wp_error($response)) { return 'Error: ' . $response->get_error_message(); } $body = json_decode(wp_remote_retrieve_body($response), true); if ($body && isset($body['success']) && $body['success'] === true) { return esc_html__('Cloudflare cache purged successfully.', 'speedycache'); } return 'Failed to purge Cloudflare cache. ' . $body['errors'][0]['message'] ?? ''; } } PKZl ! ! %plugins/speedycache/main/htaccess.phpnu[ RewriteEngine On RewriteBase /'; if(!empty($speedycache->options['mobile']) && !empty($speedycache->options['mobile_theme'])){ $htaccess_rules .= ' RewriteCond %{REQUEST_METHOD} GET RewriteCond %{HTTP_USER_AGENT} !(Mediatoolkitbot|facebookexternalhit|SpeedyCacheCCSS) RewriteCond %{HTTP_USER_AGENT} (Mobile|Android|Silk\/|Kindle|Opera\sMini|BlackBerry|Opera\sMobi) [NC] RewriteCond %{QUERY_STRING} ="" '.self::cookie_excludes().' RewriteCond %{REQUEST_URI} !(\/){2}$ RewriteCond %{REQUEST_URI} !^/(wp-(?:admin|login|register|comments-post|cron|json))/ [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/speedycache/%{HTTP_HOST}/mobile-cache%{REQUEST_URI}/index.html -f RewriteRule ^(.*) /wp-content/cache/speedycache/%{HTTP_HOST}/mobile-cache%{REQUEST_URI}/index.html [L]'."\n"; } $htaccess_rules .= ' RewriteCond %{REQUEST_METHOD} GET RewriteCond %{HTTP_USER_AGENT} !(Mediatoolkitbot|facebookexternalhit|SpeedyCacheCCSS) RewriteCond %{QUERY_STRING} ="" '.self::cookie_excludes()."\n"; if(!empty($speedycache->options['mobile'])){ $htaccess_rules .= ' RewriteCond %{HTTP_USER_AGENT} !(Mobile|Android|Silk\/|Kindle|Opera\sMini|BlackBerry|Opera\sMobi) [NC]' . "\n"; } $htaccess_rules .= ' RewriteCond %{REQUEST_URI} !(\/){2}$ RewriteCond %{REQUEST_URI} !^/(wp-(?:admin|login|register|comments-post|cron|json))/ [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/speedycache/%{HTTP_HOST}/all%{REQUEST_URI}/index.html -f RewriteRule ^(.*) /wp-content/cache/speedycache/%{HTTP_HOST}/all%{REQUEST_URI}/index.html [L] # END speedycache' . PHP_EOL; } static function browser_cache(&$htaccess_rules){ global $speedycache; if(empty($speedycache->options['lbc'])){ return; } $htaccess_rules .= '# BEGIN LBCspeedycache ExpiresActive on ExpiresDefault A0 ExpiresByType text/css A31536000 ExpiresByType text/javascript A31536000 ExpiresByType font/ttf A31536000 ExpiresByType font/otf A31536000 ExpiresByType font/woff A31536000 ExpiresByType font/woff2 A31536000 ExpiresByType image/jpg A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType image/png A31536000 ExpiresByType image/gif A31536000 ExpiresByType image/webp A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/svg+xml A31536000 ExpiresByType image/vnd.microsoft.icon A31536000 ExpiresByType video/ogg A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/webm A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType application/pdf A31536000 ExpiresByType application/javascript A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType application/x-font-ttf A31536000 ExpiresByType application/x-font-woff A31536000 ExpiresByType application/font-woff A31536000 ExpiresByType application/font-woff2 A31536000 ExpiresByType application/vnd.ms-fontobject A31536000 # END LBCspeedycache' . PHP_EOL; } static function webp(&$htaccess_rules){ $htaccess_rules .= '# BEGIN WEBPspeedycache RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{REQUEST_FILENAME} \.(jpe?g|png|gif)$ RewriteCond %{DOCUMENT_ROOT}/$1.webp -f RewriteRule ^(.+)\.(jpe?g|png|gif)$ $1.webp [T=image/webp,L] Header append Vary Accept env=REDIRECT_accept AddType image/webp .webp # END WEBPspeedycache' . PHP_EOL; } static function gzip(&$htaccess_rules){ global $speedycache; if(empty($speedycache->options['gzip'])){ return; } $htaccess_rules .= '# BEGIN Gzipspeedycache AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE font/woff AddOutputFilterByType DEFLATE font/woff2 AddOutputFilterByType DEFLATE text/js AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/font-woff2 AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml # END Gzipspeedycache'. PHP_EOL; } static function headers(&$htaccess_rules){ $url = site_url(); $parsed_url = wp_parse_url($url); $htaccess_rules .= '# BEGIN SpeedyCacheheaders FileETag None Header unset ETag Header set x-speedycache-source "Server" Header set Cache-Tag "'.$parsed_url['host'].'" Header set CDN-Cache-Control "max-age=1296000" Header set Cache-Control "public" Header unset Pragma Header unset Last-Modified Header unset Pragma Header set Cache-Control "public" # END SpeedyCacheheaders'. PHP_EOL; } static function cookie_excludes(){ $cookies = []; $cookies[] = 'comment_author_'; $cookies[] = 'wordpress_logged_in_'; if(is_plugin_active('woo-currency/wcu.php')){ $cookies[] = 'wcu_current_currency'; } $cookies_to_exclude = implode('|', $cookies); $cookies_to_exclude = preg_replace("/\s/", "\s", $cookies_to_exclude); return 'RewriteCond %{HTTP:Cookie} !('.$cookies_to_exclude.')'; } } PKZvj.plugins/speedycache/assets/config-template.phpnu[ PKZNV003plugins/speedycache/assets/images/icons/license.svgnu[PKZyGG1plugins/speedycache/assets/images/icons/media.svgnu[ PKZ*o0plugins/speedycache/assets/images/icons/file.svgnu[ PKZ'LL2plugins/speedycache/assets/images/icons/reload.svgnu[ PKZ2plugins/speedycache/assets/images/icons/object.svgnu[PKZg˂5plugins/speedycache/assets/images/icons/dashboard.svgnu[PKZ1plugins/speedycache/assets/images/icons/image.svgnu[PKZ\ן|4plugins/speedycache/assets/images/icons/excludes.svgnu[ PKZɺ<</plugins/speedycache/assets/images/icons/cdn.svgnu[PKZqÕ.plugins/speedycache/assets/images/icons/db.svgnu[PKZ1plugins/speedycache/assets/images/icons/cache.svgnu[PKZ".KK3plugins/speedycache/assets/images/icons/preload.svgnu[PKZV{5))*plugins/speedycache/assets/images/icon.svgnu[ PKZyV1plugins/speedycache/assets/images/speedycache.pngnu[PNG  IHDR^jnsRGB, pHYs  AIDATx xU3$̐y$&! B $yq€֡CP ucZ_l\v*T<"̓Z8>p.{osYׯ]kp&3S2wk'xq{;ѷ˾'Y1\~ߒʿ=;8$X>t\qK*Vg޷3%`5c 8OGS1d{PN9-yi/ Fp9rVFx XƐ6W,@uiOPE+:Ҟ Fi/  \&7w׺yv,j~1pO^L.v'WL+`w~<1x鿧-x7k^~l-QHWudaϺ^.$N>;ؿ;Ž]\6~2%`W`Ns2weDrZʑ~QB)^dٽSGLCBT]RQ^}[soQ*P /uF |8t 2X@9xkIkI#o4n]TK*䊉'dx's."i9M6^5rDx!>~pkߢPq(MLdu[t./?*6Y}8&ww={k\^rrV%`ï{{Jp''[0__\6v6c>?e.8Myj+W^]?vχwU.˧;w`&WY⣹Kw .GN0z 뉗6↿Wڰ;Y'i =-Yx *r im۱s-{ؘRx1 oRM[dL꾉OՎd=rLe-{Eά O@/{zş +Dz{o剗o]?v2_5`D=w@K\B3 ^~-ncm}⥵59U;Tx ؐ~u }Լ/)IioRg.]K> :>*5)OKTZ͸o-`k{zGnp4"9ƻ7]](Q~e9|?j/Z3eؔsD@ӻwKִSaHHy-;*Y#.{Y_7//j?|X>n^\?h:9u[e#ǭŴ10߾#rʯ?)mCj~-bn;ʈ^V{FnN}u&=W-~}IeAxC8)ç~w`p4 )2r^m׿ҙՎ{ED /+Yv߾ԪF%-.1$%co>9a9aSxڳQwm͸`S)o$#NZRڰ rE'^"^x X嵫&WLxG,`K&,+ؼfWr vCqCxic%ۙ8i ~[ַ)58j^:QwgA ){)?lcܥ ;[G!Æ)_3I~IC,i a5`&>nnq VvCSf<3hҳgމYS^; '١/sp%X}χwU2} 6?;PMeJ֨NnÉV;1;2/!ڈHu}N!UF(&7OzZٟ@߿w .9}Vbś ym~2lq=1O:TMLX~+}orۣG^r…^g|;dQ0OKog_ PXX /%_:G-{;13[p^_EUO#mԼzY]Q@ z:Gϩ8Op1wM-TFOQ0ܢlOO*B\ߔJGWse%w<_+ #G+rn4Sxɟ]xQl n2-ߜ8w+ /sdCq_E| >?~޿rnɿ4r!Y-62|#t:B Y@xۘ5L6nQ"2|/V~/%^\]@p@x" /7R5>t )V?i#wy;H0CŋoߔXZӸ+/@d&zd4hM[i0`%[EH[WY S\{w, \A|| ;Hi1r'/ 6/},:.o, Neߤ_֎dvXx9 ytQh"boD^N%g›G^śEr'} \3a~ ᮤ0^ i^|kVF^6g4dܚnޱܕ ҁD^!!!qJvUcf<[d}?m܂N۷' Bu RD^NOr#Ul`oƉZmos/[TxweD I+ﲒa{u ‹mU2+'K,?rD^ M._758 8JϼL)^%:@$, lErșE'~گ`^l~7-C]/^ wp3^ .FKwm̌?ρ0/3Fj3, 镔:k?]v5'^k%ۙ4WNz, 3{hS!iZ[@oz(sIcoUw #҆~ğo `qyS['8L`+3t ޑ>. B3C׋m[VdV@x" /mdv k6vFw}&ţ<|Dx_cwɤ-EͷNvAvl3K528 7, 5>f`S7U]zaWth'Gxie C:i=]Xo56r&.ۜ4dt n Y@xh#3o#3~. B{HL$u /^z®̦;FX.4g[o4b2 Y@xh#)qb=zN "ţ<%K;^]?6NWEK϶ lC/aSI&o"/@dO[.;M9FnJnVdG{.>r*/<8dޡ]45#{ܒ#_NYa 6R2G=:EXvیꦟ_8ݺ-1š /eFé7F y؀[6' WE= Y@xh#%gSO~]\oS>?Ԝa8,cuw=')<񺽾`(hC.~ˤyz'*@x" /me36itG)uw1a /G}]~ X͏Y 5kݘ?e));ksW#J?ew N5Z~\>'27  Y@xh#9'NX.8ݙ=/qq=)LqO%k*Gt N!@rWV_@@~~P9xj@ȵ{$ܾQ^}YBx 8:k[~~ &1s{rh' ;]x)$c_PPP,}&z RRRz Y1Z+n!mq/W RTx XB%FA W삆ݭfgOpA~A&rr*SU]hUo=(:b`k?Zpr-:[XdHZlk`F69٦sjQV-n |*/c%={WڌwjVl_Ae `' /F[d,v&R :|60^Vb>kg҆h/hӛ?0J]^Rڈkd*zDx9bO;eW-/ v1l7.sSq<*Zf.3@vәt*ES+*X vrb*s]E4jMtɁiu`EIJ>U~uDnn*{߱\\e'tdd9rLgqU̺me=WlD<7l+yu{bb4ӡ,ASIF4Sٯ[z28"DYU=fLA1qiKF [_;K:|ܿ$O&1`P]6Y.U ̿c-/#۬UirYVC:rv(DmA/"qfyv NDŲ\Y/Ȝr,FkB?C wZ@)_XG*ůȏ<"Z7Nު<7fgg's, Ńw]fN sW7.‹6yo\&+GuٻY$~ ۔0zoJc43:u/_/} n~]eb%KޓZ5W35X.w6 ,s_HW**vOU%g P~0`b'Ɏn2Yz)hgW~O;O ˡFcxu 񛔺(.I+B" Y?A.;5DRSS{Q gAg$|ܝ[p=c1/s<&(/G_?oɻZva҆^[#r7H&NY V9qǵŽ[(kMB*Dpfb .L3'V %O]N)y FnUfWqn\06xi&wrcuc'^o_ }!b w̋p00ĝ,]MKy]p5L{_x ݺeaL(c]ܰc9+r $m䊵FV㢷 >1u*tT1K+bf̺ ywLUcT} ͑©Jw *MTNa ۵Pk*/Xc ߹c2lePq6ea7U?nÉ\WsTGKע"}&w fb)dbxKKJiyV%`%ILjci-\yRo, G")W\-[NO 2n_g‰hĝ~q{5E.cvor=9=VnWKtKq'6RUFIxqΏ^B[.]"a"\ڿZc_'q=?a~nT\.{RRRzSkWrsse罁+7/uV&O[1"\گ~:an#4 /=ey<"-Mwl$ZTY.Z8FM||qdmWd]#_*/_Ґ);n!%X׍)|Xt wB#kW*NV۵+mR3OhO&(&E/rfȫk'!n䯹*GoTp=W,Poa#pc՟mn[/_CS\.X_tcSd.mOGgf1 ^.[˜ɶI||hs|n=3Nm kW#;^_ڼ?q=ï{N2ѝFi+H3Yn܉:. ^0,.oN rj`ɥo]?uoS͍qo[]olNh1=fyKPf+aM/)))w ʚwp|6sƑt뙱~E ;ԓ4J]93wds,D%~Q{Ѵs5uzFj=2| 1Ůf ^pgr*eggs`qu]nv1:pc!}f+7<C[l0 !m튿Zen,~˝߮ ԯqʜ:fFԧ ;ܥ;+|VS>wqˑ/-FAvW׊t'}Kϝ( I![J{Z-VG{ڛY >KjaBѣmg~CEwme~sC[Op}ڬLy1)d8v|Yaz3n'BMx`8Jn~y݊\Xs`"cܯ̼^l]Cl& eauOz3z9ų@ Vs̈́@xQz LpJ`i]䰛5L}`Vҳq'8Vx XgK6eW&4|1pҪgZQw=UnfKᙧCTAZMDo͜r8XtN<bG鷵_‚`Y'\Xl&M+uNFr=zJE;m1DRu1//D9*吐]>6Z6v7P/M_LE&x7$5[/Bykӊ-(jM= L=Iv.6i.N"z/mĤzNsa^CTؑ#;A#vxZ'ӚyzMi&];25e-:hU~= caŭvfXq(T.5-cLqY]q7Zc.iV?bCT.**?ͧG^ױѬ:اD_W<~r2G ̫F;IoR͍_/wuSB5WurovSFM|]٧fTݺ'dq'E!?+>8tΒe}R{Fs>Mp%wR@NL>i-P8w /~JV0,z**+t,Է),cxuB?X*/i=J*c .Q`]ȸ*{RSS{Q>nnо#2E<@}jA8O3]McD, /Sfy=-ԋM6aQ۱|x& Ԗףh[eer½+#i[,&X: ۝f"D mV9&_k8e3ve=ǺIoc9h^oVh\"4=6&MOw W͹!wlm6_OWu/Q@xe^ڂ(DzzzOH۫#NS_WfU/D2sƠ-!Ýb+N3d%wZ]׷"nP]qSCxiw[OUBLO4s&!$nBPva~1&Zq.%2YM~SY,먷\mP6}LBA[Mv&4~夰^~Ճ#ŚޟZ/.3֎ ll|ٝ#檱ޛ;`dܥ /K(_tc{Sg9Ƶb`G;_]‹]vFǎk; (f^ckDS;椪vM(aQDLv9 c9xXq 鎁Kگ{D:]ubѦ ,ʷEsħ8^&_86o0o8_wao>;ֶfvpa˫oĘs "4k)t[5G bMw2v] 8(vi!=Twz+1&n }2!#X6tb=ĴquB]NdnWuJq-UAA8qFqry_uEG C4& 'q{r,(_;\S]f;Z|؄$N871ݱAPBmrA0onnu;M;6;S?wnaʦQ\q}Ӫ^x{3~r#&fmT ^՞e_55E;S/S=l7r%*l k oɢ'3ष|+Zu3Q3Mu.;!xZ /%{ UQq̫ޡO, ‹SJxe#& ZO8PH5!\lሧ+m:ű|.l,W<"=Pq>M7@imDWtO>`:oq es GAAAT!/MT. >g-|֩jU6!hxQYĴU1i#Ə\~0WMY{wRRMG\;_ߢ<o'\A?y v`j#~#Uƈ#ס8r!!ѕc>q-9-6 bISN'\e>E3 5'_AUg;uourJ8qģ@N ='^.jdL^厍K3wL]A(r)-릲|s'ڨIOI:{Ƌq.\vGT Sv憘>2H\R;y4,w]A='XPn8JFN)=Z$rcm9c 9;g<(ޯ8 ~ojh_Yj+nh_XTiTxouBY1j~XTA0 T\8eܿz;wcKhz\|#v$AQ:w@g"%->S8Q=/eEh&6B⽏;H wu+*T[dT=t"n C yݦ0=k4t b_Thr1p Kk;%Lӵ;\{p.+]gaSAJ<ЧJki:DI\tJnqhnnq2szcPzKLV Z`-v{#Ge܉ *O8r (-]nQ3k*aBŤT j|V6TОzsǗ]_P:;c!j[B[NF:WJ ׌4Z_߂HxqhAO1-((|muY-UQ\Zy-i 5J+/ܔ9ɛ ν(hanÓ?㭨n0/aZ|0;nGqǼ4!h @8Mr{;e_]_\;q.q ջ3z*=:Ctxu)MB~~BP)RRZwh ~M~SxzwI񆳕ׁJ 7̀C>-cT5eNG'EbA/WuLZkQ=NNb'@xy}gcTdYN[![c&NND"skrk2\(BP:DKo;6Gv*mw\!}XoE:Qa;w<ݢw;u +<:4O_' e:c5cxNxy^|p03oC7[݃KE'ս;E%4<`xs|,^IuB8A(mMF`ܚ8~J_9Q|ݘ_m[wQo s;ű;MWkAA qOQyŭ'oE': 7wEu#cCPV+uƠzֺÚ762ƀA>9E 6$4}=G OOx2˔;o4Ũ؄܉uWHxqCm4Or|H+7*J}25J_)d7^!gB$-Dow\m>]8; BF>w,vhF vS<1HB ^s sfU74[OC([2gư;2 Ya|m]Zuج/GuK9]m7J{Jm.g9cznUUZ\;#*, %0<sވy,yv4B|C /0wlTY ώv9ջ NBW;@qneF(__PPp7Y]W/ڕ 6VZs`'UDBb MOOd|g+FJJ54Q|:],|K2q o}2kxJmK$": >Gtr_gqo8?)Ǯ@=tkv~Ikm>䎋Pdp8?R,Ԟd"[{;nssQC~{x w\/)R+z5 p6Nlc)6BBW8cub߅5 OscOZCpcchdz͓;݄uXo+N(_񵲼34‹&+;g]LBr9v-e%9`8;N7A0NڕNkO3TtvG;ᔝ_cWB냌.1;&sFq\sssu@Pgu@08s~O<%999I)]_oU%5hEډ(>f}r/sX|d5w E"`kQ=reWcucmEL@ס_Ee"Կ@v%j_ ;}~*nSWRh'TvC(IPx+QmHKS1ݯqN n0\Nlc9N$wBr7wLDdФq|u n!)W{Jp;y8>^+nq;Mtע<=i/똴Qriȱk z趣6 2Bʋ sJ*uO;zRPh'v@u{ Wș8bWqUq?<"}د2&]WP]g:rUB֜m~߮}C$# /52Ν*L׼_(s3wc%z8l}:kn\8+m)"OuBY1Q#c|^e"~; | eYyVwEp|ZC :^Uk<%Hhz}۩Wq~2/ f|ѽ_T0OA9+|O !ObOvk!Da`nv]FM|1XqXmڡׂQ_G9 h# /f㎉ooYoQ9 Fq$dKx O׼5w/j1b?sO~[)^fvkzd\-sj>#a[k!&[msݚ3$WwZT %ȫ]r>M}UݦThW; [=*'55/@:bGzŖm@zz᥆;&jd-lX?YMg'\oM徔7bx;~5_s/dL!Sx1>玧3놔+i9ubo{;@x!c]|%lg:YOu=K@xkyviٍ+L_|G)mױ8?1#FʝF~+=%K'[KF-0阧 ;[-:!F@x MA~aaA^!0#3ϱ>S|U_fFyyy:|ouVD*0ʱNׯW:ʜ~t G@x ' /߶gyvѩY/KpuڧFy5S[?scBՑfqXb.WvlK+N ouQ~(z]kFL>wv%l~>bjSW'ȫ;;cܪFANRS-b~>w>#/S-4MN0'>~^BƉ‹P?熅ayv=oٞEѓܞYa̾@f ; 1? "^f#IJTt\? pV["#w /a#   ywgg[b_\ &9Z*}.((Os,v0xmXO# XFgG`xt׷s;?=OU\{Ajqv9fmTϜH/sۢ{{+sXpk; \G]ơ  | *sjU3v-rqʸ{_;Gqޠ7vA+̓\uCjOw# XFgG]0s<"L[13k_6&4>¾ kb2ߍ Yb?y9pn@7aw*A@x oaOq^!_eN*Qv@3ҤP{(W!ϩ.5 C-_G^2^`ᚹ:׶'%vHt9=ߌV|m ϰ-&{c+V ~^B ε؂9&d_xf1Sޔ9,$^`#dMxG[2mN 8kR,56`;Nc /a# 4ZEyo~9G9X2~֫^8?P_W^" q6 %ͩ6S$>~%d 5m 4:yȪ!~ɽ b/sWI^+./61'}m8~/\4j܄`)' 0]&K/ EJW/BW>(.;?wqdEE˿bF+/! >-+߾.9>~^B ,3γ]xjLf5?d_<ǿչ/6!}ZxͦK~Kpi%VUU p+DW,:R=b K/V}a#d=_:%mjUgg;PU{Sf+j~B@x(l5벸NlcQ?ݏ2^`vͳS2nO)[<̾@ bf'UI.}^e7 uV.b:\/~u* _!|[|^F( |T_XhWS+^Ģ(|+s'T997VUү*K4r 8]ww=p=8,.'ӧo<K@xjk{zulFݪ/VڷCKq'Y/R\wwspwdM2e_Kp X㤋:w"b 3()/acMm]ṿ.flWGq.5ă.yXBq [***.%X9;& \%#'^&^🲲^sטĎ2!ȴ莁 jc>!wL@y>~SHSYr̴0?rss~B_s*mq wLdi{c(|8u,) %d kݯWqEm/ ^x ӯ%dPw_0ssn/.M850'Ͷx#FxȘt AII1PuBb)Hs.1's9GqJ8~6"~qPozStjݏ2N^vqm閾(&Ud6a :g+wnOqevL竮.kteMejވi&:{Jg¡)n(|U' 45iF(^ĕ t` [}((( эhXCH N܂n*r,vrB8t@P?[t G@x ' /&*}eN&#OOh|};-VCy{Ztb?*[vsdHHeX;[˂ˑ/] 9X"L.FCBȨ.7+ZӶaD ߟ;&p6##};^wUYu Nѩ߹!R638 %d 6>UI忏twY8^T,EuO'wk+rfOۑW6cS_ҵb /WY%(1Ќl tL]sru|~.$1u\؟9s)˫+1E2! 'oZ!8e᷀(zqjx]6=2dY?6H'K,pʖ1<O߯pҖqߥZp ؘOeeeȴ0}4'7\?!̑ /x۝8CsǤ~SW_TfK0+saΑ+lPg $C o<K8XxFB:2c)YInqŋ>eNqwqEtUq-ngllxqK>#\0We><9 Xאm鞨LJ"b #4 %W< 'ucxt 6ǺPC]A}*7X ޸cTs)\2^rB]2^0&_Kq-n6}Yɲ+w^LC?V#>aCQf5F*92{LĐhz -Mf^ͦwNvX,7 ^ܞWoX#ѦXo sjjj/].H85lGT ;&Uyi.G@x  / xz{һd_4wy7RAبޅd};~cJ#yKɄޯCp9reU |v2׍QLJp± (T\Y1CyU}e wL-AKim:=߻GWYuէq~0q.mqjK!CK8Ux:D+~tNtgeVkcFL? XNB벸 ̮0r՛6ҴM P/:N b\̨Ww~E`z D'Oq 777Q(<"7̃^ 4@2SeWh3( qO\ƪ [ª}^BƩ‹j!Y`ozMNzkp/<O"KvLWSZ|ՍF|V0{[-mx.Q=1q\#LI|>>#u킩Sv=ﻘK|TY6^~gϺ*\ꬖf0 6c[7n~PFWs~u92N^,ߕ oy3>L}q^jY2=gVtRqîd/P)#hgyhemP]cӜT./jUt)]wLE։%@^]\5C#U*X i7BJn ba͛T.]` e/!pEi{,p 1)Ozr j󔝹)JSxNL)kk~^]A~կ`† |nae?X ?>I /WNL!϶L@A{J!5?wl*wz`} q˵bPWq ORDݨSr> /!degftʰG\{݉)9H ܁i> "Ś1 EQ;ݺ0$j@W D cS|^oeUUVB pǤU[ TkpTd+"aY 'u- lt **.&ys>G / lEitj_=egN{Sp}ڑU >nAg%ȝ鑳$&m+57U*.۟^bYҩroR?w&'>bɄk0LN(Cu^KAtMNG0CSCtkpۘ;FSU\/wY9};.UPM(|+ͩa{Wr9Dn;q,m:[~ʾXoW )4q'$E'oڄ*vܧޒ \/EύKWq'`#ZxY]a5/>- m3D`3w\A]uM^O玑Yn?W]NO-1SAQg2~2 CwWr;@ /!tŊYڡ$6}ʿ^[8$IqTQBc(aÆޱvn1%4ey؟@0pK*p TCUNB,}:ckCvJ{J0wA0cM:~bIqsIGk(;=Du;BXg[T' | xI(6X῀2.^0sn|Vjs䖍Ic2F_m+`qeڧ.k ЋnY_%م% D6ΧҰ[ jPjź y(u,vlW,[7y]uc sQA妨o E*h玓 /{l QiT*qCvakc$Gofr~jY^B% ~WXqg 좇,_rȝO<96jobe7l*rPµ|f4];TQ`-TB~APD;ԱP! |WFu,N_W%ʭV1X;uYR혟;V*dli*Pt*oLsrJ^5rdic O^tǢ >G~qbAq%zQ=^P2wqC.-|p,squwB@E7ސPwW#SpoJ{jpueQ?voDuuKW;8׈/':ND}‹#5wP:EϪ,@E[N~uzXzC%Duׯ3^b%Ϛj_~q 8N<9}<~Eo~(sfwoS,^B-‹ Z6e{jL7G. /7)ܩPAOxJnJh|4(Rxs]4Q",h{3ɡ@q'Ie[+Pt<4+4 /VL1`HksEKH86]>q,n 뮟!zEY7k,clo.UP )J-~‹N~)8n+4M^@x /cdgAt kt$Ssun!Dr)LNBj%lW˪b@Og/|],Q+|b]zC:v ‹fT@k.e@ WP}P jNl)N0Ye/N+ޑDƗ#˴:u@ZwD}uY9f.A}U-Bج?hng\qRrĢ:c^B-‹ iW|:ZO`'NW\ť_s!ZtWN| u:=㝻#kϦӗ" h頀qw_Ao Xn+iRW =̶j!#rnk**w? 6W2.cFrm|,TCYgZ> WP9~s* sU:^BM Vr(I,;+&{̇#"zKv5=c?c};S}r?xyKw $T6gF}Op'AϜ8 ` A$y@aSRt1kq9V}!rOCת(玟qLeFruVUuujXL4ru5 kK~mraȊmPbm#\lk@_WJOp5ڦTZ2oߵ͇&c`7c`CZk~ :t:lo<~ $v9u݆kKG K̼k1<:$6N:Ӯc0ON#'?smղ_|MxK|[ۏZt@bY2rzDQS?nkͬI"/ *conNbvMpb:0Tَ%ْ?,M7mcqhV0!B}Z٧aNSqxՎo&`8"ym1cI BV/E{E kS){^G^cmx~{d;#uV}B3/:0Av=:0ё}RgɛJ/~4}>EvoKȿA<(1?xYѾl>Rn!cCG?B^A>b}lw v#<[fG.b(IaqI}lvv]v]IƦ6nģGkޏB1 u)1Ŏ l;b!5DƧa}*H̋FX<8`ņ/Kjn+6bWeZcxkLL ^FD^HwJƞ{Ә[_~H "w+*v5O0Nx7†O;j۾!8oؼM6Cq -4loX>Ud; ;ǮS4Xo-\,7jNͷ7Ic@vP9M]s-/$7{N-p1$B3/:;^:3{[^Jp{Fs{myF?s̾GT_ssԜf3%ֿwd~5ƧaKvZ-QS^bExyQWg`}K6rohmҲFzw~#>4o{CTB ]999]KtlM^IW(g8%Ps› K̼p>*_':yIr\֊A nRL \ZVryz >ϥx 6GPڢ`Բ ^}AӪn޿P٢j7rW" N\pw^t6ۑS^bECU[g-M \W^a\nY\ѱF+C?˄#f&ZT2J+$E緛|tz{ROڊEɯJO?nr,*/m<ӻwNmt :̶c=GygMAI7/-xZ\/gK$T)?>OŃ ĆYK>D15HN8x%|q`ff[*/Y?Sh99a۝q⛅=(> ^t9V;x%f~ ^t<~;:(g-}ө 函[ads9v|YgST&+\/JtB3/: Ħ7LZZ=)Vo]I\tHҨQ[ M/y?%Bb :};v9񻈾{mEbE^Ww>aV%f~^t~{!ظv5Jw!O^ӵV,J?uvWR.[]0 OyvI^9ԢѿN`.29R1xyfǩj%<6y 6.Q> I?a!R^L]ۧڟ9N]n`,{skef+)NZ1B3/?6uK8I{ Xqc_J&fWMHȹR(xB=K`d'/I -Vxj缬8&'Pe~46Ց?2iso}:9$벫ZKqCe,oE3Ϛ܏oKm^V'^xL?ϢP?ЭE^I;o4KjZ6:ȟLWU㋵ :0 ?SĪʽ{;9N9{ ^rԃK:xb]xijtHŪZX\T:-0]"o _5D4~]톭2Q1͡s_C,J˭aO n&NRb13v56urm ט8&jd{6YMyh^tJ <ϺTNR FAn*_/xJ=s);<<'OgᄗvZ(4lm&n\jYz3Z`ᖇXR cl?溅?-!⒇XnXksǯywܟn遅ֻ}=Zn؆՘[%wl;n~큨_lt{쐚a5E{H,Y㫝C;xfwH!Uj'pg\ yZ^Eis Թtwx 7^/S_3nݶطx EJq@a,.8fED s};,~]4Hmm>2իWg{L^-./Q-ҬtBexn=֞M86;Ҥb<Ԥsjt[_Noyu.r4'Tϫ+C}/.姟RV색 $R5OpޗŽz1ʵaKs͎p_29"1nNW06n)>6nㄗ[L4cXKj.p}711qtx˾I-|_iv/+ydb|5}#͏c9,}|mW:cKn|h`K&kHj-[ˬQWCK.KpCoN\Y|/cIw\ieJǞzJ~/? g8ںYU>fR4? VEدyY j 3~xЗlqg6tHh6Z:>#s^Z6׏J/'ƿ7,} N#e3/9{YhM6.64 QYs$6ˮס{zO%p8Jءɟ&vhEOSVq=!fjAQ-[Yx[9#x.Ã>5he~eq~6 ~c'2޶ܼ6ҏ-ǭq4FO9ZϨ"c4h4etp`Z?5>@t̸GV7\WdZlsK{Y6!z%+2>{<J#C~xҡ*?+St(}:]A7N+ZĹ~YQ-43(. ^yy7&&&@J΁+.PtA[K}^om?b6/׫z Ƭ.,. W 3t@_T13Oڜy6W]uϺⅽ*|6WNGq 6' j.9rd)'}*8Pk¬Լfal/S {m .Nn5~xtX#67}KܠzmpVT_nޛA"x_Xp$|)AwyK7 K.wx@ L_;_#Ώiv]՚>urɘ3ߚ0`3l5"x-L}X.cY}&szB+>V{e}߯`cB{ ^ oVu?X7'⸒g?Q5W_ԟG<\啞`Xڂ /qm!\KUcnSf~ԡC/ oQȸ'MOOO>m>=P&xyVoZ\~5555C]U:w ^xÛ%2iɎ÷.!X~QuM^;祽a}UxZɩ"ĊLn`v;XxLhy7ζb7]3&lKܡ, ^nӃU!!ՊeSև("x?{hsf@`tSw1g..p:|e ?v/z [Ѳ;]5'/( P 3VJ\#!x?RC?6N]YSF|-J T2eٞ#v%d]렇wp/axp@?o5V)uA yt3ݡ[N^[WGmKIBUj ^jKǞ\'ʤ[xB?ՙ<]]@uJlҡe^ ?5ᘌqX2vm&>y'ae^i}++++_ 6yοKM)]8|syY<0̫;UGW852oP+ׂ`^𾤤4{5%%et30moxh@JZXsxP@S'PZAhE/}|td l6/vEuPىJ_ hmG=&5,uTzeU37_'P/}1g?v5 N1y@M]>6x@L`17Ec&fqK{J_XmܼL6v;gpakrx@Vil.="x̜-zI]*CF^ėҡ]Vc9/-sjk:V/xW x6~p1S腼_C/|}ulݝK/GKp /x6''&.S8ENnӍ%(7VU< 0 .5kJ pq/-U3/ۊ>S"=+Iqڜ9>55BQc蘢s}ҁe/vE/'2Po+hm^yڰBh,פA.J5iSMߋ/^S'TM~âY$ XLfD6n2"> ^0iO5YYY ޢ#Mw%&&%.u:#c􋙗+/5}K_),8Oz,v#x[ vRM}K'Jm~*㋗jʢIm(*{m0%= /xGbbbm.egnu9.kՐo*H॰|k|\\:יC ,&wY/ٿ^nd9;kVíE0OCesdgImL ]v_H?LϧI!gb]Q˺칯 KkW.{΋cp+=,  Oq>_"שSƔ[x{⁆[%rfulݝo^  0A hP)F߯LII!EWk^xS;*ph_:{?5P/U'<33sm:J#b}~P˪jaE4^s^d̙/UHHdl)o|CWoP˫x8<}=q].yн[CV/U?vVc'TM~yw$U-yf!鋗 34T6wMNNP&:rod_x/_K(Ĺ~\~Y}եgFMi~\tǿŃ/v#DSSNܬx?^ qXcz{/|R5g233st!FN9jkYTfKKƜ} }@cNy+77|2yjńM8{;8Ojg%!'߱Qmũ_TM}ҙ.n?a7ۊ~aOGTHwp#.>g ^xξ񗼜_T}j0l//uw2wmURgjU/* ϸ5777E#W?* ?/LfKqɬ?JzQSG-J:+_dR7c~tN~xЭ{zƴ ?,kUՂ eʉ[57zqVV1ϰnC~~[K o*,p0%}@u]3cK|ॶaZ2feeUKC:tJ6 ?T+&\ja' ,}&[zCi=//U~*?A *z[PבnxpkJV>4$fy ^&-xW-’9ixV{fT?pjKRg)6twnnn0[{zK}jZ0ܘ~eŒ5[K*''P:`~''\ʐx+[n/uʹmSҵʪ~*fsJ۩\sֆ҅_TZ=)I5Yu-.Ç#.=XQP%IENDB`PKZA_kɇɇ&plugins/speedycache/assets/js/admin.jsnu[(function($){ window.addEventListener('DOMContentLoaded', function(){ speedycache_handle_tab(); window.addEventListener('hashchange', speedycache_handle_tab); if(speedycache_ajax.premium){ speedycache_image_optimization(); } jQuery('.speedycache-save-settings-wrapper button').on('click', speedycache_save_settings); jQuery('#speedycache-analyze').on('click', speedycache_analyze_speed); // Delay JS jQuery('#speedycache_delay_js').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_purge_varnish').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_critical_images').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_lazy_load_html').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_preload').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_dns_prefetch').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_preload_resources').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_render_blocking').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); // Critical CSS Status jQuery('#speedycache_critical_css').change(function(e) { let prevent_open = true; if(e.isTrigger){ prevent_open = false; } if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this), prevent_open); }); jQuery('#speedycache_pre_connect').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_unused_css').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('.speedycache-action-link').on('click', function(){ let action_name = jQuery(this).attr('action-name'); switch(action_name){ case 'speedycache_critical_css': speedycache_critical_css(); break; } }); // Lazy Load jQuery('#speedycache_lazy_load').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_update_heartbeat').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache_limit_post_revision').change(function() { if(!jQuery(this).is(':checked')){ speedycache_toggle_settings_link(jQuery(this)); return; } speedycache_toggle_settings_link(jQuery(this)); speedycache_open_modal(jQuery(this)); }); //Event Listener for Settings link for popup options jQuery('.speedycache-modal-settings-link').off('click').click(function() { var id = jQuery(this).attr('setting-id'), input = jQuery('#'+id); input.trigger('change'); }); // Add Excludes Btn jQuery('#speedycache_add_excludes').click(function() { speedycache_open_modal(jQuery(this)); }); jQuery('#speedycache-cdn-type').change(function(e){ let cdn_type = jQuery(e.target).val(), cdn_key = jQuery('#speedycache-cdn-key').closest('.speedycache-stacked-option-wrap'), cdn_url = jQuery('#speedycache-cdn-url').closest('.speedycache-stacked-option-wrap'); if(cdn_type == 'cloudflare'){ cdn_url.hide(); cdn_key.show(); return; }else if(cdn_type == 'bunny'){ cdn_url.show(); cdn_key.show(); return; } // For other we only need to show the URL field cdn_url.show(); cdn_key.hide(); return; }); // Toggle exact time field of cache lifespan jQuery('#speedycache-run-exact-time').click(function(e){ if(jQuery(this).is(':checked')){ jQuery('#speedycache-exact-time-selector').css('display', 'flex'); return; } jQuery('#speedycache-exact-time-selector').hide(); }); jQuery('#speedycache-ll-type').change(function(e){ let type = jQuery(e.target).val(), custom_input = jQuery('#speedycache-custom-ll-url'); if(type == 'default'){ custom_input.hide(); return; } custom_input.show(); }); jQuery('#speedycache-cdn-type').trigger('change'); jQuery('#speedycache-exclude-type').on('change', speedycache_update_excluded_options); jQuery('#speedycache-exclude-rule-prefix').on('change', speedycache_update_excluded_prefix); jQuery('.speedycache-exclude-btn-wrap button').on('click', speedycache_update_excludes); jQuery('#speedycache-type-filter').on('change', speedycache_filter_exclude_type); jQuery(document).on('click', '.speedycache-delete-rule', speedycache_delete_exclude_rule); jQuery('.speedycache-db-optm-btn').on('click', speedycache_db_optm); jQuery('.speedycache-preloading-add').on('click', speedycache_add_preload_resource); jQuery('.speedycache-preloading-table').on('click', '.dashicons-trash', speedycache_delete_preload_resource); jQuery('.speedycache-flush-db').on('click', speedycache_flush_objects); jQuery('#speedycache-license-btn').on('click', speedycache_verify_license); }); })(jQuery); function speedycache_handle_tab(){ let hash = location.hash.trim().replace('#', ''), nav = jQuery('#speedycache-navigation'); if(!hash.length){ let tab = jQuery('#speedycache-dashboard'); tab.siblings().hide(); tab.css('display', 'flex'); nav.find('.speedycache-nav-selected').removeClass('speedycache-nav-selected'); nav.find('a[href=\\#'+hash+']').addClass('speedycache-nav-selected') return } let tab = jQuery('#speedycache-'+hash); tab.siblings().hide(); tab.css('display', 'flex'); nav.find('.speedycache-nav-selected').removeClass('speedycache-nav-selected'); nav.find('a[href=\\#'+hash+']').addClass('speedycache-nav-selected') } function speedycache_save_settings(){ event.preventDefault(); let jEle = jQuery(event.target); jEle.find('span').addClass('speedycache-spinner-active'); form_data = jEle.closest('form').serializeArray(); jQuery.ajax({ url : speedycache_ajax.url, method : "POST", data : form_data, success: function(res){ if(res.success){ return; } if(res.data){ alert(res.data); } alert("Something went wrong"); } }).always(function(){ jEle.find('span').removeClass('speedycache-spinner-active'); }); } function speedycache_filter_exclude_type(){ let jEle = jQuery(event.target), list = jQuery('.speedycache-exclude-list'), filter = jEle.val(); list.find('tbody tr').filter(function(){ jQuery(this).toggle(jQuery(this).find('td').eq(0).text().toLowerCase().indexOf(filter) > - 1); }); } function speedycache_delete_exclude_rule(){ event.preventDefault(); let jEle = jQuery(event.target), tr = jEle.closest('tr'), rule_id = tr.data('id') jEle.find('span').addClass('speedycache-spinner-active'); jQuery.ajax({ url : speedycache_ajax.url, method : "POST", data : { '_ajax_nonce' : speedycache_ajax.nonce, 'action' : 'speedycache_delete_exclude_rule', 'rule_id' : rule_id }, success: function(res){ if(res.success){ tr.slideUp(); return; } if(res.data){ alert(res.data); return; } alert('Something went wrong deleting the rule'); } }).always(function(){ jEle.find('span').removeClass('speedycache-spinner-active'); }); } function speedycache_toggle_settings_link(jEle) { var wrap = jEle.closest('.speedycache-option-wrap'), setting = wrap.find('.speedycache-modal-settings-link, .speedycache-action-link'); if(jEle.is(':checked')) { setting.show(); return; } setting.hide(); } function speedycache_open_modal(jEle, prevent_open) { var id_attr = 'id'; if(prevent_open){ return; } if(jEle.attr('modal-id')) { id_attr = 'modal-id' } //For Settings Link if(jEle.attr('setting-id')) { id_attr = 'setting-id'; } var modal_id = jEle.attr(id_attr), speedycache_modal = jQuery("div[modal-id='"+modal_id+"']"); if(speedycache_modal && speedycache_modal.css('visibility') === 'hidden') { speedycache_modal.css('visibility','visible'); speedycache_close_modal(); } } function speedycache_update_excluded_options(){ let jEle = jQuery(event.target), prefix = jQuery('#speedycache-exclude-rule-prefix'), exclude_type = jEle.val(); prefix.val(""); // Resets to select value option prefix.find('option').filter(function(){ jQuery(this).toggle(jQuery(this).data('partof').toLowerCase().indexOf(exclude_type) > - 1); }); } // Toggles content input of excludes settings function speedycache_update_excluded_prefix(){ let jEle = jQuery(event.target), val = jEle.val(), content = jQuery('#speedycache-exclude-rule-content').closest('.speedycache-input-wrap'); if(val == 'contain' || val == 'exact' || val == 'startwith'){ content.show(); return; } content.hide(); } function speedycache_update_excludes(){ event.preventDefault(); let jEle = jQuery(event.target), form = jEle.closest('form'); jEle.find('span').addClass('speedycache-spinner-active'); form_data = form.serializeArray(); jQuery.ajax({ url : speedycache_ajax.url, method : "POST", data : form_data, success: function(res){ if(res.success){ form.trigger('reset'); jQuery('#speedycache-exclude-list').load(window.location.href + ' #speedycache-exclude-list'); return; } if(res.data){ alert(res.data); return; } alert('Something went wrong saving the details'); } }).always(function(){ jEle.find('span').removeClass('speedycache-spinner-active'); }); } //Close SpeedyCache Modal function speedycache_close_modal() { jQuery('.speedycache-modal-footer > button, .speedycache-close-modal').on('click', function() { jQuery(this).closest('.speedycache-modal').find('form').trigger('reset'); jQuery(this).closest('.speedycache-modal *').off(); jQuery(this).closest('.speedycache-modal').css('visibility','hidden'); }); } function speedycache_analyze_speed(){ jEle = jQuery(event.target); jEle.text('[Analysing...]'); jQuery.ajax({ url : speedycache_ajax.url, method : 'GET', data : { security : speedycache_ajax.nonce, action : 'speedycache_test_pagespeed', }, success : function(res){ if(!res.data || !res.data['score']){ return } let donut = jQuery('.speedycache-perf-score-donut'), tspan = donut.find('tspan'), lowerCircle = donut.find('circle:first-child'), strokeCircle = lowerCircle.next(); lowerCircle.attr('fill', res.data['color'][1]); strokeCircle.css('stroke', res.data['color'][0]); strokeCircle.attr('stroke-dasharray', res.data['score']+' '+(100 - res.data['score'])); tspan.text(res.data['score']); // Updated the score tspan.css('fill', res.data['color'][2]); } }).always(function(){ jEle.text('[Updating results]'); setTimeout(() => {jEle.text('[Analyse]')}, 1000) }); } function speedycache_db_optm(){ event.preventDefault(); let proceed = confirm('Are you sure you want to proceed with this DB optimization action'); if(!proceed){ return; } let jEle = jQuery(event.target), db_action = jEle.closest('.speedycache-db-row').attr('speedycache-db-name'), spinner = jEle.find('.speedycache-spinner'); spinner.addClass('speedycache-spinner-active'); jQuery.ajax({ url : speedycache_ajax.url, method : 'POST', data : { security : speedycache_ajax.nonce, action : 'speedycache_optm_db', db_action : db_action, }, success: function(res){ if(res.success){ // TODO: make this update the UI too chaning the numbers. return false; } if(res.message){ alert(res.message); return; } alert("Something went wrong unable to optimize this option"); } }).always(function(){ spinner.removeClass('speedycache-spinner-active'); }); } function speedycache_add_preload_resource() { event.preventDefault(); let ele = jQuery(event.target), loader = ele.find('.speedycache-spinner'), form = ele.closest('form'), error = false; if(!form){ alert('Unable to get the form details!'); return; } let form_type = form.data('type'); // Disabling Add Button ele.prop('disabled', true); let form_val = {}; form_data = form.serializeArray(); form_data.forEach((field) => { form_val[field.name] = field.value; if(!field.value){ error = true; } }); if(error){ alert('Fill all the fields before adding'); ele.prop('disabled', false); return; } loader.addClass('speedycache-spinner-active'); jQuery.ajax({ 'method' : 'POST', 'url' : speedycache_ajax.url, 'data' : { action : 'speedycache_preloading_add_settings', settings : form_val, type : form_type, security : speedycache_ajax.nonce }, 'success' : function(res){ ele.prop('disabled', false); if(!res){ alert('Something went wrong, the response returned is empty'); return; } if(!res.success){ alert(res.data); return; } let table = ele.closest('.speedycache-modal-content').find('table'); html = `${form_val.resource} ${form_type != 'pre_connect_list' ? ''+form_val.type+'' : ''} ${form_val.crossorigin ? 'Yes' : 'No'} `; if(table.find('.speedycache-preloading-empty').length > 0){ let tr = table.find('.speedycache-preloading-empty').closest('tr'); table.find('.speedycache-preloading-empty').remove(); tr.append(html); } else { let tbody = table.find('tbody'); tbody.append(''+html+''); } // Resetting the form form.find('input, select').map(function(){ let type = jQuery(this).prop('type'); if(type == 'checkbox'){ jQuery(this).prop('checked', false); return; } else jQuery(this).val(''); }); alert('Settings Saved Successfully'); } }).always(function(){ loader.removeClass('speedycache-spinner-active'); }); } function speedycache_delete_preload_resource(){ let ele = jQuery(event.target), key = ele.closest('td').data('key'), type = ele.closest('table').data('type'); jQuery.ajax({ 'method' : 'POST', 'url' : speedycache_ajax.url, 'data' : { action : 'speedycache_preloading_delete_resource', type : type, key : key, security : speedycache_ajax.nonce }, success : function(res){ if(!res || !res.success){ alert(res.data ? res.data : 'Unable to delete this resource'); return; } ele.closest('tr').remove(); } }); } function speedycache_flush_objects() { event.preventDefault(); let jEle = jQuery(event.target), spinner = jEle.find('.speedycache-spinner'); spinner.addClass('speedycache-spinner-active'); jQuery.ajax({ 'method' : 'GET', 'url' : speedycache_ajax.url + '?action=speedycache_flush_objects&security='+speedycache_ajax.nonce, 'success' : function(res){ if(res.success){ return; } if(res.data){ alert(res.data); return; } alert("Unable to flush Object Cache"); } }).always(function(){ spinner.removeClass('speedycache-spinner-active'); }); } function speedycache_image_optimization() { var stats, total_page = { value: 0, set: function (value) { this.value = value; this.update_num(); disabling_paging_btn(jQuery('#speedycache-image-list')); }, update_num : function(){ jQuery('.speedycache-total-pages').text(this.value); } }, current_page = { value: 0, set: function (value) { this.value = value; this.update_num(); disabling_paging_btn(jQuery('#speedycache-image-list')); }, update_num : function(){ jQuery('.speedycache-current-page').text(this.value+1); } }; //Gets Stats var get_stats = function(onload = false) { jQuery.ajax({ type : 'GET', url : speedycache_ajax.url + '?action=speedycache_statics_ajax_request', cache : false, data : { 'security' : speedycache_ajax.nonce }, success : function(res){ stats = res; //For pagination var $total_page = jQuery('.speedycache-total-pages'), optimized = res.optimized $total_page.text(Math.ceil(optimized/5)); total_page.set($total_page.text()); if(total_page == '1') { jQuery('.speedycache-image-list-next-page').addClass('disabled'); jQuery('.speedycache-image-list-last-page').addClass('disabled'); } if(!onload) { optm_count = `${optimized}/${stats.total_image_number}`; jQuery('.speedycache-img-optm-count').text(optm_count); reduction = res.reduction > 10000 ? (res.reduction/1000).toFixed(2) + 'MB' : res.reduction.toFixed(2) + 'KB'; var stat_block = jQuery('.speedycache-img-stats'); stat_block.find('.speedycache-img-reduced-size').text(reduction); stat_block.find('.speedycache-donut-percent').text(res.percent + '%'); stat_block.find('.speedycache-img-success-per').text(res.percent + '%'); stat_block.find('.speedycache-img-error-count').text(res.error); var sub = 100 - parseInt(res.percent); stat_block.find('.speedycache-donut-segment-2').attr('stroke-dasharray', res.percent+' '+sub); var donut_style = stat_block.closest('.speedycache-tab-image').find('style').eq(0); //this regex wont work in PHP as it dosent supports look behind without fixed size var dash_array = donut_style.text(); //(?<=100%\s*{(?:\s*|\n)stroke-dasharray\s*:\s*)([\d]+\s*[\d]+[^;]) this reg ex can be used too its more precise and gets just numbers but need to update it to handle floats dash_array = dash_array.replace(/100%.*(?:[\d]|[\d]+\.[\d]+)[^;]/, `100%{stroke-dasharray:${res.percent}, ${sub}`); var segment = stat_block.find('.speedycache-donut-segment-2'); segment.removeClass('speedycache-donut-segment-2'); segment.addClass('speedycache-donut-segment-2'); donut_style.text(dash_array); } if(res.uncompressed > 0) { jQuery('.speedycache_img_optm_status').css('backgroundColor', '#EED202'); jQuery('.speedycache_img_optm_status').next().text(`${res.uncompressed} File(s) needed to be optimized`); }else { jQuery('.speedycache_img_optm_status').css('backgroundColor', '#90ee90'); jQuery('.speedycache_img_optm_status').next().text(`All images are optimized`); } } }); } //Updates Image Optimization Stats on load get_stats(true); jQuery('.speedycache-img-opt-settings input').on('change', function() { var settings = jQuery('.speedycache-img-opt-settings').serializeArray(); settings = speedycache_convert_serialized(settings); jQuery.ajax({ type: 'POST', url : speedycache_ajax.url + '?action=speedycache_update_image_settings', data : { 'security' : speedycache_ajax.nonce, 'settings' : settings }, success: function(res) { //Succeed or Fail silently } }); }); var file_counter = 1, optm_stopped = false, optm_ajax; jQuery('.speedycache-img-optm-btn').on('click', function() { if(optm_ajax && optm_stopped) { optm_ajax.abort(); optm_stopped = false; file_counter = 1; return; } var inner_content = `
${file_counter - 1}/${stats.uncompressed}
`; //If all images are optimized if(stats.uncompressed == 0) { inner_content = `
All images are Optimized
`; } var inc_per = parseInt(100/stats.uncompressed), modal_html = `

Optimizing Images

${inner_content}
`; var optm_modal = jQuery('[modal-id="speedycache-modal-optimize-all"]'); if(optm_modal.length == 0) { jQuery('body').append(modal_html); speedycache_open_modal(jQuery(this)); optm_modal = jQuery('[modal-id="speedycache-modal-optimize-all"]'); } optm_modal.find('.speedycache-optm-close button').off('click').on('click', function() { optm_modal.remove(); speedycache_update_list(); get_stats(); if(stats.uncompressed != 0) { optm_stopped = true; } file_counter++; }); optm_ajax = jQuery.ajax({ type : 'POST', url : speedycache_ajax.url + '?action=speedycache_optimize_image_ajax_request', data : { 'id' : null, 'security' : speedycache_ajax.nonce }, success: function(res) { var progress = jQuery('[modal-id="speedycache-modal-optimize-all"] .speedycache-progress-value'), new_per = file_counter * inc_per; progress.css('width', `${new_per}%`); file_counter++ var modal = progress.closest('.speedycache-modal-wrap'); if(!res.id && res.message != 'finish') { var error_html = `

Something Went Wrong
${res.message}

`; progress.parent().before(error_html); progress.css({'width': '100%', 'backgroundColor' : 'var(--speedycache-red)'}); setTimeout( () => { optm_modal.find('.speedycache-img-optm-close').show(); optm_modal.find('.speedycache-image-optm-stop').hide(); },700); return; } if(res.message != 'finish' && file_counter <= stats.uncompressed + 1) { modal.find('.speedycache-img-optm-counter').text((file_counter) - 1 +'/'+stats.uncompressed); jQuery('.speedycache-img-optm-btn').trigger('click'); return; } progress.css('width', '100%'); //To show when Optimization completes var success_html = ` `; progress.parent().before(success_html); modal.find('.speedycache-img-optm-counter').hide('slow'); modal.find('.speedycache-already-optm').show('slow'); setTimeout( () => { optm_modal.find('.speedycache-img-optm-close').show(); optm_modal.find('.speedycache-image-optm-stop').hide(); },700); } }); }); //revert Image var revert_image = function() { var jEle = jQuery(this), post_id = jEle.find('input').val(); if(!post_id) { return; } //speedycache_add_loader(); jQuery.ajax({ type : 'GET', url : speedycache_ajax.url + '?action=speedycache_revert_image_ajax_request&id='+post_id, data : { 'security' : speedycache_ajax.nonce, }, beforeSend : function(){ jEle.closest('tr').css('backgroundColor', 'rgba(255,0,0,0.2)'); }, success : function(res) { speedycache_update_list(jEle); get_stats(); //speedycache_hide_loader(); }, error: function(err) { //speedycache_hide_loader(); jEle.closest('tr').css('backgroundColor', 'rgb(255,255,255)'); } }); } //Revert the image conversion listener jQuery('.speedycache-revert').on('click', revert_image); jQuery('.speedycache-img-delete-all-conv').on('click', function(e) { e.preventDefault(); var confirm_modal = jQuery('[modal-id="speedycache-modal-all-img-revert"]'); if(confirm_modal.length == 0) { return; } speedycache_open_modal(confirm_modal); confirm_modal.find('.speedycache-db-confirm-yes').off().on('click', function() { //speedycache_add_loader(); confirm_modal.css('visibility','hidden'); jQuery.ajax({ type : 'GET', url : speedycache_ajax.url + '?action=speedycache_img_revert_all', data : { 'security' : speedycache_ajax.nonce }, success : function(res) { if(res.success) { //speedycache_hide_loader(); speedycache_update_list(); get_stats(); return; } //speedycache_hide_loader(); alert(res.message); } }); }); confirm_modal.find('.speedycache-db-confirm-no').off().on('click', function() { confirm_modal.css('visibility','hidden'); }); }); var speedycache_update_list = function(jEle = null) { var img_list = jQuery('#speedycache-image-list'), search = img_list.find('#speedycache-image-search-input'), per_page = img_list.find('#speedycache-image-per-page'), per_page_val = per_page.val() ? per_page.val() : 5, filter = img_list.find('#speedycache-image-list-filter'), page = 0; if(jEle) { if(jEle.hasClass('disabled')) { return; } if(jEle.data('page-action')) { switch(jEle.data('page-action')) { case 'last-page': current_page.set(total_page.value - 1); break; case 'next-page': current_page.set(current_page.value + 1); break; case 'first-page': current_page.set(0); break; case 'prev-page': current_page.set(current_page.value > 0 ? current_page.value - 1 : 0); break; } } } var optimized = stats.total_image_number - stats.uncompressed; if(optimized <= per_page_val) { current_page.set(0); } jQuery.ajax({ type : 'GET', url : speedycache_ajax.url + '?action=speedycache_update_image_list_ajax_request', data : { 'search' : search.val(), 'per_page' : per_page_val, 'filter' : filter.val(), 'page' : current_page.value, 'security' : speedycache_ajax.nonce }, success: function(res) { if(!res.content) { return; } total_page.set(Math.ceil(res.result_count/per_page_val)); if(total_page.value - 1 == current_page.value) { img_list.find('.speedycache-image-list-next-page').addClass('disabled'); img_list.find('.speedycache-image-list-last-page').addClass('disabled'); } jQuery('#speedycache-image-list tbody').empty(); jQuery('#speedycache-image-list tbody').append(res.content); jQuery('.speedycache-revert').on('click', revert_image); jQuery('.speedycache-open-image-details').on('click', open_img_details); } }); } var disabling_paging_btn = function(img_list) { if(current_page.value == 0 && total_page.value - 1 == 0) { img_list.find('.speedycache-image-list-first-page').addClass('disabled'); img_list.find('.speedycache-image-list-prev-page').addClass('disabled'); img_list.find('.speedycache-image-list-last-page').addClass('disabled'); img_list.find('.speedycache-image-list-next-page').addClass('disabled'); }else if(current_page.value == 0) { img_list.find('.speedycache-image-list-first-page').addClass('disabled'); img_list.find('.speedycache-image-list-prev-page').addClass('disabled'); img_list.find('.speedycache-image-list-last-page').removeClass('disabled'); img_list.find('.speedycache-image-list-next-page').removeClass('disabled'); } else if(current_page.value == total_page.value - 1) { img_list.find('.speedycache-image-list-first-page').removeClass('disabled'); img_list.find('.speedycache-image-list-prev-page').removeClass('disabled'); img_list.find('.speedycache-image-list-last-page').addClass('disabled'); img_list.find('.speedycache-image-list-next-page').addClass('disabled'); } else { img_list.find('.speedycache-image-list-first-page').removeClass('disabled'); img_list.find('.speedycache-image-list-prev-page').removeClass('disabled'); img_list.find('.speedycache-image-list-last-page').removeClass('disabled'); img_list.find('.speedycache-image-list-next-page').removeClass('disabled'); } } //Toggles the image variants var open_img_details = function() { var post_id = jQuery(this).closest('tr').attr('post-id'); if(!post_id) { return; } var details = jQuery('tr[post-id="'+post_id+'"][post-type="detail"]'); if(details.is(':hidden')) { details.show(); jQuery(this).find("span").attr('class', 'dashicons dashicons-arrow-up-alt2') } else { details.hide(); jQuery(this).find("span").attr('class', 'dashicons dashicons-arrow-down-alt2'); } } //Downloading cwebp jQuery('button.speedycache-webp-download').on('click', function(e) { e.preventDefault(); type = jQuery(this).data('type') ? jQuery(this).data('type') : 'cwebp'; jQuery.ajax({ url : speedycache_ajax.url + '?action=speedycache_download_cwebp', type : 'GET', data : { security : speedycache_ajax.nonce, type : type }, beforeSend : function() { //speedycache_add_loader(); }, success : function(res) { //speedycache_hide_loader(); if(res.success) { location.reload(); return; } if(!res.error_message) { alert('Something went wrong try again later!'); } alert(res.error_message); } }) }); //Listener For Scheduled Count jQuery('span.speedycache-scheduled-count').on('click', function() { speedycache_open_modal(jQuery(this)); }); //Listeners Starts here //Search button listener jQuery('#speedycache-image-search-button').on('click', function() { speedycache_update_list(jQuery(this)); }); //All or Error image filter jQuery('#speedycache-image-list-filter').on('change', function() { speedycache_update_list(jQuery(this)); }); //Per page listener jQuery('#speedycache-image-per-page').on('change', function() { speedycache_update_list(jQuery(this)); }); //Paging Number Listeners jQuery('.speedycache-image-list-first-page, .speedycache-image-list-prev-page, .speedycache-image-list-next-page, .speedycache-image-list-last-page').on('click', function() { speedycache_update_list(jQuery(this)); }); //Toggles the image variants Listener jQuery('.speedycache-open-image-details').on('click', open_img_details); } /* Converts the format of jQuery serializeArray i.e, [ 0:{name:someName, value:expectedvalue} ] to { someName:expectedvalue } */ function speedycache_convert_serialized(arr) { var converted_obj = {}; for(var i of arr) { converted_obj[i.name] = i.value; } return converted_obj; } function speedycache_critical_css(){ jQuery.ajax({ type: 'GET', url : speedycache_ajax.url + '?action=speedycache_critical_css&security='+speedycache_ajax.nonce, success: function(res){ if(!res.success){ alert(res.data.message ? res.data.message : 'Something went wrong ! Unable to intitiate Critical CSS!'); return; } alert(res.data.message); } }) } function speedycache_verify_license(){ event.preventDefault(); let jEle = jQuery(event.target), form = jEle.closest('form'), form_data = form.serializeArray(), spinner = jEle.find('.speedycache-spinner'); spinner.addClass('speedycache-spinner-active'); jQuery.ajax({ type: 'GET', url : speedycache_ajax.url, data : form_data, success: function(res){ if(res.success){ alert('License verified, please reload the page'); return; } if(res.data){ alert(res.data); return; } alert('Something went wrong when trying to verify license'); } }).always(function(){ spinner.removeClass('speedycache-spinner-active'); }) } PKZÍ#oNoN(plugins/speedycache/assets/css/admin.cssnu[:root { --speedycache-color: #3d5afe; --speedycache-txcolor: #0f172a; --speedycache-red: #dc3545; } #speedycache-admin{ display:flex; flex-direction:row; margin-top: 20px; color: var(--speedycache-txcolor); } #speedycache-navigation{ display:flex; flex-direction:column; flex:0 0 200px; padding: 10px; margin-right:10px; } #speedycache-admin *{ box-sizing:border-box; } .speedycache-tabs{ display:flex; flex-direction:column; flex: 1 1 auto; max-width: 960px; } .speedycache-tab{ position:relative; display:none; flex-direction: column; background-color:white; color: #0F172A; border-radius: 8px; padding: 20px 25px; box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; } .speedycache-disabled{ position:relative; } .speedycache-disabled::after{ position:absolute; height:100%; width:100%; top:0; left:0; background: rgba(0, 0, 0, 0.3); } .speedycache-tab svg{ color:#0F172A; } .speedycache-tab h2{ display: flex; align-items: center; gap:10px; padding: 0 0 15px 0; border-bottom: 1px solid #e0e0e0; font-size:1.3rem; line-height:2rem; } .speedycache-tab h3{ display: flex; align-items: center; gap:10px; padding: 0 0 15px 0; border-bottom: 1px solid #e0e0e0; } .speedycache-tab h4{ font-size:1rem; margin: 0; padding: 0; } .speedycache-logo{ text-align:center; padding: 20px 0; } .speedycache-logo span{ display:inline-block; color: #6b6b6b; } #speedycache-navigation li a { display:flex; align-items: center; gap:10px; color: black; padding: 10px; text-decoration:none; font-size: 16px; font-weight:500; border-radius:5px; cursor:pointer; border: 1px solid transparent; } #speedycache-navigation li a:hover{ background-color: #2ca5eb22; border: 1px solid #106fa5; } #speedycache-navigation li a:focus{ outline: none; background-color: #2ca5eb22; border: 1px solid #106fa5; box-shadow:none; } #speedycache-navigation li a.speedycache-nav-selected:not(:focus){ background-color: #2ca5eb22; border: 1px solid #106fa5; } .speedycache-sidebar{ display:flex; flex-direction:column; flex: 0 0 250px; padding: 0 10px 10px 10px; margin-left: 10px; } .speedycache-need-help{ display:flex; flex-direction:column; word-wrap:wrap; border-radius: 20px; padding: 15px; background-image:linear-gradient(352deg,rgba(255,209,0,0.62) 0%,rgb(254,255,186) 100%); } .speedycache-need-help h3{ font-size:1.3rem; line-height:1rem; margin: 5px 5px 5px 0; } .speedycache-need-help p{ font-size:0.85rem; } .speedycache-admin-row{ display:flex; gap: 10px; margin-bottom: 20px; } .speedycache-admin-row .speedycache-is-block{ border: 1px solid #E2E8F0; padding: 10px; width: 100%; border-radius:1px; } .speedycache-perf-score{ flex: 0 0 60%; } .speedycache-dashboard-info{ display:flex; flex-direction:column; gap: 8px; width:100%; } .speedycache-dashboard-info > div{ display:flex; flex-direction:column; gap: 6px; } .speedycache-dashboard-info > div > h4{ display:flex; align-items:center; gap:5px; margin-bottom:9px; } .speedycache-perf-score-meter{ display:flex; flex-direction: column; width:50%; } .speedycache-perf-score-meter-heading{ display: flex; align-items: center; gap:10px; } #speedycache-analyze{ display:inline-flex; font-size: 12px; font-weight:400; color: blue; cursor:pointer; } .speedycache-perf-score-donut{ display: flex; justify-content: center; } .speedycache-perf-score-guide{ display:flex; justify-content: space-evenly; font-size: 12px; } .speedycache-perf-score-guide span{ display: inline-block; height: 10px; width: 10px; border-radius: 50px; background-color: red; } /* CSS for Single option starts here */ div.speedycache-option-wrap{ display:flex; flex-direction:row; align-items:center; column-gap: 13px; margin: 4px 0 4px 0; padding-top: 5px; line-height: 18px; } .speedycache-option-info > span { display:block; } .speedycache-option-info span.speedycache-option-desc { font-size: 0.85rem; line-height: 1.5rem; color: #6b6b6b; } .speedycache-option-info .speedycache-option-name { font-weight: 600; color: #212529de; font-size: 1rem; line-height:1.5rem; } .speedycache-stacked-option-wrap{ display:flex; flex-direction:column; gap: 5px; margin: 10px 0 4px 0; padding-top: 5px; line-height: 18px; } .speedycache-custom-checkbox { display:inline-block; width:40px; height:22px; position:relative; flex-shrink: 0; } .speedycache-custom-checkbox input { display:none; } .speedycache-input-slider { background-color: #ccc; bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 0; transition: background-color .4s; border-radius: 4px; width:40px; } .speedycache-input-slider:before { content: ""; background-color: #fff; top:50%; transform: translateY(-50%); height: 15px; left: 4px; position: absolute; transition: transform .4s; width: 15px; border-radius:4px; } input:checked + .speedycache-input-slider { background-color: var(--speedycache-color); } input:checked + .speedycache-input-slider:before { transform: translate(18px, -50%); } /* CSS for Single option ends here */ /* Components */ /* Buttons */ .speedycache-button{ display: inline-flex; outline: 0; text-align: center; cursor: pointer; padding: 8px 13px; border-radius: 3px; border: 1px solid transparent; transition: all .3s ease; font-weight: 600; text-transform: uppercase; font-size: 11px; text-decoration: none; gap: 8px; align-items:center; justify-content:center; } .speedycache-btn-black{ background: var(--speedycache-txcolor); border-color: var(--speedycache-txcolor); color: #fff; } .speedycache-btn-black:hover{ background: #e4461b; border-color: #e4461b; } .speedycache-btn-transparent{ background-color:transparent; color: currentcolor; } .speedycache-btn-transparent:active{ outline:0; } .speedycache-100{ width:100%; } /*Modal Classes start here*/ .speedycache-modal{ display:flex !important; visibility:hidden; justify-content:center; align-items:center; position:fixed; top:0; left:0; width: 100%; height: 100% !important; z-index:99999; background-color: #00000040 !important; /*hexa decimal opacity used here*/ backdrop-filter: blur(2px); } .speedycache-close-modal { cursor: pointer; } .speedycache-modal-wrap{ padding: 6px; height: auto; width: 440px; z-index: 10001; background-color:#FFF; /* box-shadow: 0 0 8px 0 #ccc; */ box-shadow: 0 3px 10px 2px rgba(0 0 0 / 30%); transition: height 1s ease-in; border-radius: 6px; } .speedycache-modal-wrap * { box-sizing:border-box; } .speedycache-modal-header { color: #000; font-weight:bold; display:flex; justify-content: space-between; align-items:center; padding:15px; border-radius: 3px 3px 0 0; border-bottom: 1px dashed #ccc; } .speedycache-modal-header > * { font-size:20px !important; } .speedycache-modal-content{ padding:10px; background-color: #FFF; text-shadow:0 0 5px #fff; overflow-y:auto; max-height: 75vh; background: /* Shadow covers */ linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), white 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%; background-repeat: no-repeat; background-color: white; background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px; background-attachment: local, local, scroll, scroll; } .speedycache-modal-content .speedycache-form-input { display:flex; justify-content:space-between; width:100%; margin:7px 0; float: none !important; } .speedycache-modal-content .speedycache-modal-block { padding: 15px; border-bottom: 1px dashed #ccc; } .speedycache-modal-content .speedycache-modal-block:first-child { padding-top: 5px; } .speedycache-modal-content .speedycache-modal-block:last-of-type { border:none; padding-bottom:0; } .speedycache-modal-footer{ background-color: #FFF; padding:10px; display:flex; width:100%; justify-content:center; } .speedycache-modal-footer > button { outline:none; border:none; background-color:#24b974; color: #FFF; border-radius:3px; box-shadow: 1px 0 5px 0 #ccc; padding: 8px 20px; font-weight:bold; cursor:pointer; } .speedycache-info-modal { margin: 10px; } .speedycache-info-modal p{ /* color:#666; */ background-color: #f2f2f2; padding: 10px; border-radius: 6px; font-family: monospace; } .speedycache-modal-highlight { background-color: #e4dcdc; border-radius: 6px; padding: 10px; } /*Ends Modal Classes*/ .speedycache-db-row{ display:flex; width: 100%; justify-content:space-between; padding: 10px 7px; align-items:center; } .speedycache-db-row > div{ display:flex; align-items:center; gap:4px; padding: 5px 0; } .speedycache-db-info{ display:flex; flex-direction:column; gap:4px; } .speedycache-db-info > div:first-child{ font-weight: 600; font-size: 1rem; line-height: 1.5rem; } .speedycache-db-info > div:last-child{ font-size: 0.85rem; line-height: 1.5rem; color: #6b6b6b; font-style: italic; } .speedycache-db-row:not(:last-child){ border-bottom: 1px solid #e0e0e0; } .speedycache-save-settings-wrapper{ position:sticky; bottom:0px; background-color:white; padding:15px 10px; border-top:1px solid #e2e2e2; margin-top:30px; } .speedycache-spinner{ display:none; border: 2px solid #dddcdc80; border-left-color: #e3e3e3; height: 15px; width: 15px; border-radius:50%; animation: speedycache-spinner 1s linear infinite; } .speedycache-spinner-active{ display:inline-block; } @keyframes speedycache-spinner{ 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .speedycache-table-actions{ display:flex; justify-content:space-between; } .speedycache-table{ width:100%; margin-top:10px; } .speedycache-table > table{ width:100%; border-collapse: collapse; } .speedycache-table thead tr { } .speedycache-table thead th { border-bottom: 1px solid #595b5e; text-align:left; } .speedycache-table th, .speedycache-table td { padding: 16px; border-bottom: 1px solid rgb(228, 228, 231); } .speedycache-table tr:hover{ background-color: rgba(244, 244, 245, 0.5) } .speedycache-radio-input{ display:flex; justify-content:center; align-items:center; gap:10px; width:100%; } .speedycache-radio-input label{ padding:8px 10px; border:2px solid var(--speedycache-color); border-radius:7px; font-weight:500; } .speedycache-radio-input label:hover{ box-shadow: 0 0 0 0.1rem rgba(61, 90, 254, 0.4); } #speedycache_delayjs_selected, #speedycache_delayjs_all{ display:none; } #speedycache_delayjs_selected:checked ~ div.speedycache-radio-input > label[for="speedycache_delayjs_selected"], #speedycache_delayjs_all:checked ~ div.speedycache-radio-input > label[for="speedycache_delayjs_all"]{ box-shadow: 0 0 0 0.20rem rgba(61, 90, 254, 0.4); } .speedycache-delay_js_list label{ display:none; font-weight:500; margin:10px 0 3px 0; } .speedycache-delay_js_list textarea, .speedycache-unusedcss-excludes textarea{ width: 100%; } #speedycache_delayjs_selected:checked ~ div.speedycache-delay_js_list > label[for="speedycache_delay_js_scripts"], #speedycache_delayjs_all:checked ~ div.speedycache-delay_js_list > label[for="speedycache_delay_js_excludes"]{ display:block; } #speedycache_unusedcss_async, #speedycache_unusedcss_interaction, #speedycache_unusedcss_remove{ display:none; } #speedycache_unusedcss_async:checked ~ div.speedycache-radio-input > label[for="speedycache_unusedcss_async"], #speedycache_unusedcss_interaction:checked ~ div.speedycache-radio-input > label[for="speedycache_unusedcss_interaction"], #speedycache_unusedcss_remove:checked ~ div.speedycache-radio-input > label[for="speedycache_unusedcss_remove"]{ box-shadow: 0 0 0 0.20rem rgba(61, 90, 254, 0.4); } .speedycache-exclude-btn-wrap{ margin-top:2.2rem; } .speedycache-input-wrap{ display:flex; justify-content:space-between; align-items:center; gap: 10px; margin-bottom: 15px; } .speedycache-info-modal .speedycache-input-wrap select, .speedycache-info-modal .speedycache-input-wrap input{ max-width: 60%; } .speedycache-modal-settings-link, .speedycache-action-link{ font-size:0.75rem; color: var(--speedycache-color); cursor: pointer; } .speedycache-premium-tag{ position:relative; display:inline-block; font-size: 12px; margin-left: 10px; padding: 0 8px; border-radius: 3px; background-color: gold; } .speedycache-premium-tag::before { content: ''; display: inline-block; position: absolute; background: rgba(255, 255, 255, 0.5); width: 10px; height: 100%; top: 0; left:0; filter:blur(3px); transform: skewX(-15deg); animation: speedycache-shine 2s ease-in-out infinite; } @keyframes speedycache-shine { 0% { opacity: 0.5; left: 60px; transition-property: opacity, left; }, 100% { opacity: 0.6; left: 50px; transition-property: opacity, left; } } /* Terminal CSS Here */ .speedycache-logs{ background: #22212c; box-shadow: 0 22px 70px 4px rgba(0, 0, 0, 0.46); width: 100%; border-radius: 6px; color:#fff; } .speedycache-logs-header{ height: 40px; background: #191a22; border-radius: 6px 6px 0px 0px; display: flex; align-items: center; justify-content:center; padding: 0px 14px; position: relative; text-align:center; font-weight:500; } .speedycache-logs-content{ padding: 20px; min-height: 30vh; border-radius: 6px 6px 0px 0px; max-height: 50vh; overflow-y: scroll; } .speedycache-hidden{ display:none; } .speedycache-logs-row{ padding: 5px 0; font-family:monospace; } .speedycache-stat-status{ display:inline-flex; align-items:center; justify-content:center; padding: 3px 10px; margin-top:10px; border-radius: 50px; border:1px solid #e2e2e2; line-height: 1.3; } .speedycache-stats-block{ position:relative; overflow:hidden; } .speedycache-stats-block img{ position: absolute; width: 80px; top: 0px; right: -12px; transform: rotate(40deg); opacity: 0.1; } .speedycache-stats-name{ margin-bottom:5px; font-weight:500; } .speedycache-stat-status-indicator{ border-radius:50%; width: 12px; height:12px; background-color: #e2e2e2; margin-right: 10px; } .speedycache-stats-number{ font-size:2.5rem; line-height:3.2rem; } .speedycache-object-stat{ display:flex; flex-direction:column; max-width: 350px; gap: 5px; } .speedycache-flush-db{ margin-top:10px; width: 40%; display:flex; gap:10px; align-items:center; } .speedycache-img-stat-info { display: flex; flex-wrap:wrap; align-items:top; justify-content:flex-end; } .speedycache-img-main-stat { display:flex; flex-direction:column; justify-content: flex-start; align-items: center; flex-grow: 1; flex-basis: calc(100% / 3); padding: 5px; min-width: 85px; max-width: 100px; font-size:0.9rem; border-right: 1px dashed #ccc; } .speedycache-img-main-stat:last-child{ border-right: none; } .speedycache-img-main-stat span { font-size: 1.1rem; padding-top:4px; font-weight: bold; } .speedycache-img-optimize-all { margin-top: 30px; align-items:flex-end; } .speedycache-optm-close { display : flex; justify-content : center; margin-top: 10px; gap:5px; } .speedycache-optm-close button{ padding: 7px 20px; font-weight: bold; } .speedycache-disabled-methods > *:not(.speedycache-more-info, .speedycache-img-method-actions){ opacity:0.5; cursor: not-allowed; } .speedycache-img-remain-optm{ margin-left:auto; display:flex; align-items: center; vertical-align: middle; font-weight: 500; } .speedycache_img_optm_status{ height: 15px; width: 15px; margin-right: 5px; border-radius: 50%; display: inline-block; } .speedycache-img-delete-all-conv { margin-left:5px; } .speedycache-img-start-optm{ display:flex; flex-direction:column; justify-content: space-around; align-items:center; height:100%; } .speedycache-img-opt-stat { display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; } .speedycache-img-optm-count { font-size:3.3rem !important; font-weight:400; line-height:1.4; } .speedycache-img-optm-count-text{ font-size:1rem; line-height:1.2; padding:20px; text-align:center; } .speedycache-img-reduced-size{ color:var(--speedycache-color); font-weight:bold; font-size:1rem; } .speedycache-img-optm-close{ display:none; } .speedycache-tooltip { position:absolute; top:-50px; background-color: rgba(0, 0, 0, 0.9); color: #FFF; padding: 5px; border-radius: 3px; } .speedycache-already-optm{ text-align:center; margin : 30px; } .speedycache-already-optm i { font-size: 5em; color: var(--speedycache-color); } .speedycache-already-optm span { font-size:1.5rem; font-weight: 500; display: block; margin-top: 10px; } .speedycache-img-optm-counter { font-size: 3.3rem; line-height: 1.5; text-align: center; font-weight: bold; } .speedycache-scheduled-count { position: relative; color: var(--speedycache-color); cursor: pointer; } .speedycache-scheduled-count-indicator::after { content: ''; position: absolute; height: 12px; width: 12px; margin-right: 5px; border-radius: 50%; display: inline-block; top:8px; right: -25px; background: rgb(220,105,53); background: radial-gradient(circle, rgba(220,105,53,1) 24%, rgba(242,242,242,0.89) 100%); animation: speedycache-blink 2s ease-out 0s infinite; } @keyframes speedycache-blink { 0%{ opacity: 1; }, 25% { opacity: 0.5; } 50% { opacity: 0.0; } } .speedycache-table-item { padding: 10px 5px; text-align: left; border-bottom: 1px dashed #ccc; } .speedycache-table-hitem{ border-bottom: 2px solid #ccc; padding: 10px 5px; text-align: left; } .speedycache-img-optm-error{ display:block; text-align:center; } .speedycache-img-optm-error > i { font-size: 5rem; color: var(--speedycache-red); } .speedycache-img-optm-error > p { font-size: 1.4rem; font-weight: 500; } .speedycache-more-info{ position:relative; cursor:pointer; } .speedycache-more-info:hover:before{ content: attr(data-info); position: absolute; bottom: 16px; left:auto; padding: 10px; background-color: rgba(0 0 0 / 90%); color: #FFF; width: 170px; border-radius:3px; max-width: 200px; } .speedycache-img-method-actions{ display:block; } td div.speedycache-revert:before{ font-family: "dashicons"; content: "\f531"; } td div.speedycache-revert{ width:30px; height:28px; vertical-align: middle; margin: auto; position:relative; cursor:pointer; border-radius: 3px 3px; border:1px solid #aaa; background:#ddd; padding:3px; background-color: white; } td div.speedycache-revert:hover{ border-color:#000; background-color: white; } td div.speedycache-revert:active{ background-color: #F5F5F5; } #speedycache-revert-loader{ display: none; background: rgba(255, 255, 255, .7) url(../images/loader.gif) no-repeat center; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9998; } .speedycache-perf-extras{ display:flex; flex-direction:column; gap:5px; font-size:14px; justify-content:space-around; width:50%; } .speedycache-perf-extras div { display:flex; justify-content:space-between; align-items:center; } .speedycache-perf-extras div span{ margin-left: 10px; padding: 6px; border-radius: 2px; background-color: #0c6; color: white; } #speedycache-exact-time-selector{ display:flex; flex-direction:column; gap:5px; margin-top:8px; }PKZcӒ!plugins/speedycache/functions.phpnu[ false, 'message' => 'Security check failed')); } } // Deprecated since 1.2.0 use Util::cache_path function speedycache_cache_path($loc = ''){ if(!empty($loc)){ $loc = trim($loc, '/'); } return \SpeedyCache\Util::cache_path($loc); } // Checks if the given plugin active // Deprectaed do not use it function speedycache_is_plugin_active($plugin){ return in_array($plugin, (array) get_option('active_plugins', array()), true); } PKZ=gMMplugins/speedycache/license.txtnu[ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . PKZq#plugins/speedycache/speedycache.phpnu[=')){ // Let SpeedyCache load // Lets check for older versions }else{ if(!function_exists('get_plugin_data')){ include_once ABSPATH . 'wp-admin/includes/plugin.php'; } $speedycache_pro_info = get_plugin_data(WP_PLUGIN_DIR . '/speedycache-pro/speedycache-pro.php'); if( !empty($speedycache_pro_info) && version_compare($speedycache_pro_info['Version'], '1.1.1', '<') ){ return; } } } // If SPEEDYCACHE_VERSION exists then the plugin is loaded already ! if(defined('SPEEDYCACHE_VERSION')) { return; } define('SPEEDYCACHE_VERSION', '1.2.8'); define('SPEEDYCACHE_DIR', dirname(__FILE__)); define('SPEEDYCACHE_FILE', __FILE__); define('SPEEDYCACHE_BASE', plugin_basename(SPEEDYCACHE_FILE)); define('SPEEDYCACHE_URL', plugins_url('', __FILE__)); define('SPEEDYCACHE_BASE_NAME', basename(SPEEDYCACHE_DIR)); define('SPEEDYCACHE_WP_CONTENT_DIR', defined('WP_CONTENT_FOLDERNAME') ? WP_CONTENT_FOLDERNAME : 'wp-content'); define('SPEEDYCACHE_CACHE_DIR', WP_CONTENT_DIR . '/cache/speedycache'); define('SPEEDYCACHE_WP_CONTENT_URL', content_url()); define('SPEEDYCACHE_CONFIG_DIR', WP_CONTENT_DIR . '/speedycache-config'); define('SPEEDYCACHE_CACHE_URL', content_url('/cache/speedycache')); define('SPEEDYCACHE_DEV', file_exists(SPEEDYCACHE_DIR.'/DEV.php')); if(SPEEDYCACHE_DEV){ include_once SPEEDYCACHE_DIR .'/DEV.php'; } if(!defined('SPEEDYCACHE_API')){ define('SPEEDYCACHE_API', 'https://api.speedycache.com/'); } function speedycache_autoloader($class){ if(!preg_match('/^SpeedyCache\\\(.*)/is', $class, $m)){ return; } $m[1] = str_replace('\\', '/', $m[1]); if(strpos($class, 'SpeedyCache\lib') === 0){ if(file_exists(SPEEDYCACHE_DIR.'/'.$m[1].'.php')){ include_once(SPEEDYCACHE_DIR.'/'.$m[1].'.php'); } } // For Free if(file_exists(SPEEDYCACHE_DIR.'/main/'.strtolower($m[1]).'.php')){ include_once(SPEEDYCACHE_DIR.'/main/'.strtolower($m[1]).'.php'); } // For Pro if(defined('SPEEDYCACHE_PRO_DIR') && file_exists(SPEEDYCACHE_PRO_DIR.'/main/'.strtolower($m[1]).'.php')){ include_once(SPEEDYCACHE_PRO_DIR.'/main/'.strtolower($m[1]).'.php'); } } spl_autoload_register(__NAMESPACE__.'\speedycache_autoloader'); if(!class_exists('SpeedyCache')){ #[\AllowDynamicProperties] class SpeedyCache{} } register_activation_hook(__FILE__, '\SpeedyCache\Install::activate'); register_deactivation_hook(__FILE__, '\SpeedyCache\Install::deactivate'); register_uninstall_hook(__FILE__, '\SpeedyCache\Install::uninstall'); add_action('plugins_loaded', 'speedycache_load_plugin'); function speedycache_load_plugin(){ global $speedycache; if(empty($speedycache)){ $speedycache = new SpeedyCache(); } speedycache_update_check(); if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return; } // This file is just to handle deprications. include_once __DIR__ . '/functions.php'; $speedycache->options = get_option('speedycache_options', []); $speedycache->settings['noscript'] = ''; $speedycache->cdn = get_option('speedycache_cdn', []); $speedycache->settings['cdn'] = $speedycache->cdn; $speedycache->image['settings'] = get_option('speedycache_img', []); $speedycache->object = get_option('speedycache_object_cache', ['admin' => true, 'persistent' => true]); $speedycache->bloat = get_option('speedycache_bloat', []); if(!is_dir(SPEEDYCACHE_CACHE_DIR) && is_writable(WP_CONTENT_DIR)){ mkdir(SPEEDYCACHE_CACHE_DIR, 0755, true); } // Creating config folder if it dosent exists if(!is_dir(SPEEDYCACHE_CONFIG_DIR) && is_writable(WP_CONTENT_DIR)){ mkdir(SPEEDYCACHE_CONFIG_DIR, 0755, true); } if(wp_doing_ajax() && !empty($_REQUEST['action']) && strpos($_REQUEST['action'], 'speedycache') === 0){ \SpeedyCache\Ajax::hooks(); return; // we don't want to process anything else if it is Ajax } // NOTE:: If actions or code which are required to run on both admin and front grows then move that to a seperate file and keep this file small. add_action('speedycache_purge_cache', '\SpeedyCache\Delete::expired_cache'); // Schedule action for cache lifespan add_action('cron_schedules', '\SpeedyCache\Util::custom_expiry_cron'); add_action('cron_schedules', '\SpeedyCache\Util::custom_preload_cron'); add_action('init', '\SpeedyCache\Util::lifespan_cron'); add_action('init', '\SpeedyCache\Util::preload_cron'); add_action('speedycache_preload_split', '\SpeedyCache\Preload::cache'); add_action('speedycache_preload', '\SpeedyCache\Preload::build_preload_list'); add_action('after_switch_theme', '\SpeedyCache\Delete::run'); // Deletes cache when Theme changes add_action('wp_update_nav_menu', '\SpeedyCache\Delete::run'); // Deletes cache when Menu is saved add_action('transition_post_status', '\SpeedyCache\Delete::on_status_change', 10, 3); add_action('transition_comment_status', '\SpeedyCache\Delete::on_comment_status', 10, 3); add_action('admin_bar_menu', '\SpeedyCache\Admin::admin_bar', PHP_INT_MAX); add_action('woocommerce_order_status_changed', '\SpeedyCache\Delete::order'); if(!is_admin()){ \SpeedyCache\Cache::init(); return; } if(current_user_can('manage_options')){ \SpeedyCache\Admin::hooks(); } } // Looks if SpeedyCache just got updated function speedycache_update_check(){ $current_version = get_option('speedycache_version'); $version = (int) str_replace('.', '', $current_version); // No update required if($current_version == SPEEDYCACHE_VERSION){ return true; } // Is it first run ? if(empty($current_version)){ \SpeedyCache\Install::activate(); return; } if(version_compare($current_version, '1.2.0', '<')){ // Cleaning the cache because we have a new way if(file_exists(SPEEDYCACHE_CACHE_DIR)){ \SpeedyCache\Delete::rmdir(SPEEDYCACHE_CACHE_DIR); } \SpeedyCache\Install::activate(); \SpeedyCache\Util::set_config_file(); } // TODO: Remove when the version above 1.2.7 is 90% in adoption. if(version_compare($current_version, '1.2.8', '<')){ $options = get_option('speedycache_options', []); $options['logged_in_user'] = false; update_option('speedycache_options', $options); } // Save the new Version update_option('speedycache_version', SPEEDYCACHE_VERSION); }PKZfx4OOplugins/speedycache/readme.txtnu[=== SpeedyCache - Cache, Optimization, Performance === Contributors: softaculous Tags: cache, minify, pagespeed, seo, cdn, wordpress cache, website cache, lazy loading, mobile cache, minify css, combine css, minify js, combine js, gzip, browser caching, render blocking js, preload, widget cache, softaculous, speedycache, performance Requires at least: 4.7 Tested up to: 6.7 Requires PHP: 7.0 Stable tag: 1.2.8 License: GPLv3 or later License URI: https://www.gnu.org/licenses/gpl-3.0.html == Description == SpeedyCache is a WordPress cache plugin that helps you improve performace of your WordPress site by caching, minifying, and compressing your website. You can find our official documentation at [https://speedycache.com/docs](https://speedycache.com/docs). We are also active in our community support forums on wordpress.org if you are one of our free users. Our Premium Support Ticket System is at [https://softaculous.deskuss.com](https://softaculous.deskuss.com) [Home Page](https://speedycache.com "SpeedyCache Homepage") | [Support](https://softaculous.deskuss.com "SpeedyCache Support") | [Documents](http://speedycache.com/docs "Documents") Other than caching SpeedyCache can also do the following:- 1. It can minify and combine CSS/JS giving even better optimization as it reduces the file sizes and reduces the HTTP requests to the server. 2. Eliminate render-blocking Javascript resources helping your website to load faster. 3. Lazy load images so that the images can be requested only if they come into the viewport. 4. GZIP files to reduce the size of the file sent from the server. == Free Features == * **Caching:** Storing copies of the web pages of the desktop version. Caching happens when a user visits a webpage on your website * **Preload:** Preload makes sure the user always sees the cached version of your website as it periodically creates cache. * **Combine CSS:** Combines CSS files present in the header of the page reducing HTTP requests. * **Minify CSS:** Reduces the size of the CSS files. * **Automatic Cache:** Creates cache of post when it gets deleted if preload is enabled. * **Combine JS:** Combines JS files present in the header of the page reducing HTTP requests. * **GZIP:** It applies GZIP compression on the files hence reducing the file size sent from the server. * **Browser Caching:** Caches the website on the browser of the client for repeating visitors. * **DNS-Prefetch:** DNS prefetch is a technique that improves website performance by resolving domain names in advance, before they are needed. * **Disable Emojis:** You can remove the emoji inline CSS and wp-emoji-release.min.js. * **Exclude:** You can exclude certain Pages, User-Agent, Cookies, CSS, or JS from being cached. * **CDN:** CDN helps improve website speed by placing the static files of your cached on their network of servers hence helping deliver content faster at any point in the world. * **Display Swap:** Adds display swap to Google font URL, so when Google font loads the font will stay visible this is enabled by default. * **Purge Varnish:** If enabled it will purge Varnish cache, whenever cache from SpeedyCache is purged. * **Gravatar Cache:** Host Gravatars on your server. * *Improve Font Rendering:** Adding CSS property of text-rendering to prioritize speed of render of Fonts. == GET SUPPORT AND PRO FEATURES == Get professional support and more features to make your website load faster with [SpeedyCache](https://speedycache.com/pricing) == Pro Features:- == * **Image Optimization:** Image optimization is a way to convert an image to next-gen image formats like webp which load images faster on the web. * **Instant Page:** It loads the page just before user clicks the link, reducing the page load time. * **Google Fonts:** Google fonts are also seen as render-blocking so this feature helps load Google fonts asynchronously. * **Local Google Fonts:** Cache the Google fonts to be compliant with the GDPR rules. * **Lazy Load:** Loading all assets at once can make the page load slower hence lazy load helps by only loading certain resources when they come into the viewport. * **Minify HTML:** It removes empty lines, line breaks, minifies inline Js And Css, removes comments and space in Tags * **Minify JS:** Reduces JS file size. * **Delay JS:** Delays the JS to load on user interaction to reduce or remove the issue of Unused JS. * **Advanced Combine JS:** Combines JS files placed in the footer section helping reduce HTTP calls. * **Render blocking JS:** Before rendering a page the browser parses the HTML to create a DOM tree and if an external script comes it has to stop and wait for the script to execute hence the rendering of the page ends up taking time, hence Render blocking JS feature helps in deferring the load of JS after the render has happened hence the first load get faster. * **Delete Cache Stats:** Provides statistics about the cached files of Desktop or Mobile version and combined/ minified version of CSS and JS. * **Mobile Cache:** Caches the mobile version of your website and shows that version on mobile devices. * **Database Cleanup:** Database cleanup helps you free up your database storage from temporary data, trashed contents, and post revisions which may take a lot of your database storage. * **PreConnect:** Preconnect improves website loading times by establishing early connections to third-party domains. * **Preload:** Preload improves website performance by downloading resources in advance, before they are needed. * **Critical CSS:** Extracts the CSS used by the page in the visible viewport at the time of load. * **Unused CSS:** Removes the unused CSS, keeping the CSS that is being used by the paged, which reduces the size of CSS used on the page. * **Object Cache:** It makes the object to persist by using redis, to improve availability of the cache. * **Bloat Remover:** Options to remove unnecessary features of WordPress or WooCommerce. * **Image Dimension:** Adds dimensions to the image tag which does not have width or height, to reduce (CLS)Cumulative Layout Shift. * **Lazy Render HTML:** User can lazy render HTML elements which are not in view-port. * **Preload Critical Images:** Preload above-the-fold images to improve LCP(Largest Contentful paint). == Caching == SpeedyCache caches the website by creating static files on the server and delivers those static files to most of the users who visit the website, The static files eliminate the heavy load of Querying the database for data hence the load of your website is faster. You can preload as many pages as you want, and preloading caches the website in regular intervals of time to reduce the load on the server. Deleting Cache on New/updating Post. You can decide to delete the cache on the creation or updating of a post so that the cache can always stay updated. == Minifying/Combining CSS and JS == SpeedyCache helps minify the JS and CSS hence it reduces the file sizes. Combining JS combines the CSS and JS fines reducing the file count and making the server handle lesser requests. == Cache Lifespan == Cache Lifespan is a way to schedule the deletion of cache. == Exclude == Exclude is a way to prevent SpeedyCache from caching certain files/ user-agents/ cookies. == CDN (Content Delivery Network) == CDN helps you host your static content on a distributed network optimized to deliver internet content faster it's not a replacement to a web host. It caches your files on the network edge and delivers the content to the user through the closest and fastest server. SpeedyCache helps you integrate a CDN by rewriting the URLs of the static files you want to host on the CDN or in the Case of Cloudflare it helps with the purging of the cache on the Cloudflare servers. == [Pro] Image Optimization == Image optimization is a way to convert your images from old formats like JPG and PNG to the new next-gen formats like webp which is designed with the web as the target platform to load images faster. webp images result in smaller and richer images that make the web faster. We provide 3 ways to convert your images to webp. GD(a PHP extension), Imagick(a PHP extension), and cwebp(a webp conversion utility from Google). == [Pro] Bloat Remover == SpeedyCache has 12 bloat removal options which are listed below. 1. Disable Dashicons 2. Update Heartbeat 3. Limit Post Revisions 4. Disable XML-RPC 5. Disable Google Fonts 6. Disable jQuery Migrate 7. Disable RSS feeds 8. Disable Gutenberg 9. Disable OEmbeds 10. Disable Block Editor CSS 11. Disable Cart Fragments 12. Disable WooCommerce Assets == [Pro] Database Cleanup == Data cleanup cleans the database by removing the following data:- 1. Post Revisions 2. Trashed Content 3. Trashed and Spam comments 4. Trackbacks and pingbacks 5. All Transient options 6. Expired Transient Options == Frequently Asked Questions == = How to install SpeedyCache = Go To your WordPress install -> Plugins -> Add New Button -> In Search Box, Look For SpeedyCache -> Click on Install. = How will I know if my website got cached = You can either go to the Delete Cache Tab where you will find Stats about the Cache or you can just visit your website in incognito mode and Inspect the HTML and at the last, you will find a comment saying that page got cached with time. = How can I report security bugs? = You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. [Report a security vulnerability.](https://patchstack.com/database/vdp/speedycache) == Screenshots == 1. SpeedyCache Settings page 2. SpeedyCache Delete Cache page 3. CDN integration page 4. SpeedyCache Exclude page == Changelog == = 1.2.8 (13th Jan 2025) = * [Bug-Fix] There was an issue with Logged in user cache, that has been fixed. * [Bug-Fix Pro] There was an issue with Defer JS, that has been fixed. * [Bug-Fix Pro] The Defer JS exclude was not saving this has been fixed. * [Improvement Pro] Some WEBP converters were setting the URL of the original images to .webp that has been taken care of. = 1.2.7 (21st Nov 2024) = * [Bug-Fix] Licensing fix = 1.2.6 (19th Nov 2024) = * [Task] Tested compatibility with WordPress 6.7. * [Improvement] Support for WeGlot translation plugin. = 1.2.5 (22th October 2024) = * [Task] SpeedyCache has been updated to support PHP 7.0 and later, expanding its compatibility from PHP 7.3. * [Bug-Fix] There was a bug releated to jQuery which was making it unable to switch tabs which has been fixed. = 1.2.4 (15th October 2024) = * [Feature] Option to make cache lifespan run on a specific time. * [Improvement] Handling cache for URI of non-ASCII characters. * [Improvement] Deletion of related posts. * [Improvement] Support for WBW Currency Switcher. * [Improvement] Deletion of Cache on saving Menu. * [Improvement] Deletion of cache of all the ancestors of the posts who's cache is being deleted. * [Bug-Fix] There was an issue with expiring cache, which has been fixed. = 1.2.3 (20th September 2024) = * [Bug-Fix] There was issue with query string serving homepage's cache that has been fixed. * [Bug-Fix] For a user the SpeedyCache admin requests type were getting overridden, speedycache has been made to handle that. * [Task] License handling improvements. = 1.2.2 (3rd September 2024) = * [Added] Deletion of Cache on comment status change. * [Added] Admin Bar option to delete cache. * [Added] Cache deletion on WooCommerce order completion. * [Improvement] AutoCache has been improved(is enabled by default if preload is enabled). * [Improvement] Cache Logs have been improved further. * [Bug-Fix] There was an issue with saving Delay JS excludes that has been fixed. * [Bug-Fix] There was an issue with excluding pages, that has been fixed. * [Bug-Fix] In cache lifetime Mobile cache was not getting deleted, that has been fixed. = 1.2.1 (27th August 2024) = * [Improvement] Cache purge on post status change has been improved. * [Bug-Fix] There was an issue with htaccess rule in case the admin username had a space. * [Bug-Fix] There was an issue in which user was unable to open SpeedyCache settings page, that has been fixed. * [Bug-Fix] There was an issue with serving Mobile specific cache that has been fixed. = 1.2.0 (23nd August 2024) = * [Improvement] The UI has been improved, by reducing some unnecessary options or making them default. * [Improvement] CSS Minification has been improved. * [Improvement] We now use Advanced cache, for better cache load performance. * [Improvement] Cache Preloads have been improved, with less options to configure. * This version has some breaking changes. = 1.1.9 (26th July 2024) = * [Security-Fix] A Security issue reported by Rafie Muhammad (Patchstack) has been fixed. = 1.1.8 (16th July 2024) = * [Task] Removed StackPath from CDN(as StackPath CDN was retired in September 2023) * [Task] Tested with WordPress 6.6 * [Bug-Fix] There was an issue with deletion of Preloading setting that has been fixed. * [Bug-Fix] There was an issue with enabling Precaching using URL which has been fixed. = 1.1.7 (31st May 2024) = * [Bug-Fix] There was an issue with Delay JS which has been fixed. * [Bug-Fix] Deletion of cache was creating warnings which has been fixed. = 1.1.6 (20th April 2024) = * [Task] Changed the license to GNU GPLv3. * [Bug-Fix] There was an issue with Minify HTML that has been fixed. * [Bug-Fix] There was an issue with render blocking JS which has been fixed. = 1.1.5 (25nd March 2024) = * [Bug-Fix] There was an issue with preload that has been fixed. * [Bug-Fix] There was a conflict with SuperPWA that has been fixed. * [Bug-Fix] PHP Warnings have been fixed. * [Task] Tested with WordPress 6.5. * [Pro Feature] Option to exclude JS files from getting deferred. = 1.1.4 (15th December 2023) = * [Security] There was a privilege check which has been fixed. (Reported by Lucio Sá) * [Bug-Fix] There were some warnings when deleting the cache which have been fixed. * [Improvement] While reverting all optimized images if the image count was 50+ then the images were queued one image per schedule. Which has been changed to a batch of 100 images per schedule. And the limit for schedule has been increased to 100 from 50. = 1.1.3 (30th November 2023) = * [Security] A subscriber could trigger a create cache request which has been fixed. * [Bug-Fix] There was an issue with Object Cache not able to save data in Redis that has been fixed. = 1.1.2 (16th November 2023) = * [Task] Tested on WordPress 6.4. * [Bug-Fix] In Lazy Load DOMSubTreeModified(which is a deprecated Browser API) has been changed to Mutation Observer. * [Bug-Fix] Dynamic Property warnings have been fixed for PHP 8.2. = 1.1.1 (19th October 2023) = * [Structural Change] SpeedyCache Pro will now require the free version to be installed for it to to work. * [Feature] Text Rendering: It tells the browser to prioritize rendering speed over legibility and geometric precision. * [Feature] DNS-Prefetch: It is a technique that tells the browser to resolve domain names in advance, which can speed up website loading. * [Pro-Feature] Preconnect: It is a technique that tells the browser to establish connections to external resources in advance, which can speed up website loading. * [Pro-Feature] Preload Resources: It is a technique that tells the browser to start downloading resources in advance. * [Pro-Feature] Unused CSS: Removes the unused CSS to reduce the size of CSS being loaded on the page. * [Task] We have created a new section in Settings tab "Preloading" it contains all the options related to preloading. Hence Instant Page, Preloading Critical Images, have been shifted to this section. * [Task] Added option to set number of images to skip from lazy loading from top of the page. * [Task] Instant page has been upgraded and improved. * [Bug-Fix] When Mobile Theme was enabled a .mobile file was being created as a cache which has been fixed. = 1.1.0 (8th August 2023) = * [Feature] Localize Gravatar: Caches Gravatar on your server. * [Pro-Feature] Preload Critical Images: Preloads above-the-fold images to improve LCP(Largest Contentful paint). * [Pro-Feature] Lazy Render HTML elements: It helps in reducing the rendering time of the HTML elements, which are not in the viewport. = 1.0.9 (28th July 2023) = * [Pro-Feature] Image Dimensions: Add Image dimensions to Local Images if height or width is not present for it. * [Bug-Fix] Precache was causing a fatal error for some users while uploading via media, which has been fixed now. * [Bug-Fix] Delay JS was breaking HTML for some users that has been fixed. = 1.0.8 = * [Tweak] Updated a nag, to notify user to test Page Speed. * [Bug-Fix] There was an issue with Combine CSS that has been fixed. = 1.0.7 = * [Feature] Added Test Mode, for a user to test the options before pushing it to the live site. * [Feature] Test Score, now user can get Pageinsight scores of their website on how it will score with the cache settings enabled. * [Feature][Pro] Bloat Remover, we have added more than 10 options to remove bloat and speed up your WordPress site. * [Bug-Fix] There was an issue with Minify JS it was breaking some sites, but that has been fixed. * [Bug-Fix] Instant Page was conflicting with JS of other files which has been fixed. = 1.0.6 = * [Bug-Fix] There was an issue while activating the Plugin for some users, default settings weren't getting saved properly. * [Bug-Fix] SpeedyCache was minifying already minified CSS/JS files, that has been fixed. * [Tweak] Added a reminder to enable SpeedyCache if it is activated. = 1.0.5 = * [Feature][PRO] Object Cache: Reduce the count of SQL queries you need to make by caching it in a persistent Cache like Redis. * [Bug-Fix] There was an issue in Preload settings in which the order of the preload was not getting updates as expected which has been fixed. = 1.0.4 = * [Bug-Fix] There was an undefined index issue with Plugins that have custom post types that have been fixed. * [Bug-Fix] WP_User_Query::query was called incorrectly PHP Notice has been fixed. * [Bug-Fix] There was a warning related to an index Brand Data. * [Bug-Fix] [Pro] The License status was not updating immediately after the license was submitted that has been fixed. * [Task] Tested with WordPress 6.2. = 1.0.3 = * [Bug-Fix] When saving a product in Woocommerce if the cache was enabled on SpeedyCache, the user was getting redirected to a JSON response page, which has been fixed. * [Bug-Fix] When saving a product there was a Security Check failed warning, that has been fixed. * [Bug-Fix] There was an issue with deleting SpeedyCache, it has been fixed. * [Bug-Fix] Disabling the Cache for the single page was not working, that has been fixed. = 1.0.2 = * [Feature] Purging Varnish cache when cache from SpeedyCache is purged. * [Feature][Pro] Display swap for Google fonts to keep fonts visible on a load of Google fonts. * [Feature][Pro] Critical CSS: Now SpeedyCache can extract critical CSS from your page to remove Render Blocking CSS to improve page speed. * [Tweak] The Cache folder structure has been updated, to follow common practice. * [Bug-Fix] Cloudflare prompt use to pop-up continuously if user website was being proxied through Cloudflare that has been fixed by converting that popup to an alert. * [Bug-Fix] PHP 8.2 warnings and deprecations have been fixed. * [Bug-Fix] There was an issue while clearing Cache if you have disabled cache in a meta box. * [Bug-Fix][Pro] There was an issue with LazyLoading Iframes that has been fixed. * [Bug-Fix][Pro] There was an issue with Delete Cache logs that has been fixed. * [Bug-Fix][Pro] There was an issue with linking License that has been fixed. = 1.0.1 = * [Bug-Fix] Cache folder was not being created at activation that has been fixed. * [Bug-Fix] There was a PHP Warning that has been fixed. = 1.0.0 = * First release PKZ?B3plugins/speedycache/lib/PathConverter/composer.jsonnu[{ "name": "matthiasmullie/path-converter", "type": "library", "description": "Relative path converter", "keywords": ["relative", "path", "converter", "paths"], "homepage": "https://github.com/matthiasmullie/path-converter", "license": "MIT", "authors": [ { "name": "Matthias Mullie", "homepage": "https://www.mullie.eu", "email": "pathconverter@mullie.eu", "role": "Developer" } ], "require": { "php": ">=5.3.0", "ext-pcre": "*" }, "require-dev": { "phpunit/phpunit": ">=4.8", "friendsofphp/php-cs-fixer": ">=2.0", "squizlabs/php_codesniffer": ">=3.0" }, "autoload": { "psr-4": { "MatthiasMullie\\PathConverter\\": "src/" } }, "autoload-dev": { "psr-4": { "MatthiasMullie\\PathConverter\\Tests\\": "tests/" } } } PKZ-5plugins/speedycache/lib/PathConverter/NoConverter.phpnu[ * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved * @license MIT License */ class NoConverter implements ConverterInterface { public function convert($path) { return $path; } } PKZ 81plugins/speedycache/lib/PathConverter/ruleset.xmlnu[ ./src ./tests PKZSR<plugins/speedycache/lib/PathConverter/ConverterInterface.phpnu[ * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved * @license MIT License */ interface ConverterInterface { /** * Convert file paths. * * @param string $path The path to be converted * * @return string The new path */ public function convert($path); } PKZ)M3plugins/speedycache/lib/PathConverter/Converter.phpnu[ * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved * @license MIT License */ class Converter implements ConverterInterface { /** * @var string */ protected $from; /** * @var string */ protected $to; /** * @param string $from The original base path (directory, not file!) * @param string $to The new base path (directory, not file!) * @param string $root Root directory (defaults to `getcwd`) */ public function __construct($from, $to, $root = '') { $shared = $this->shared($from, $to); if ($shared === '') { // when both paths have nothing in common, one of them is probably // absolute while the other is relative $root = $root ?: getcwd(); $from = strpos($from, $root) === 0 ? $from : preg_replace('/\/+/', '/', $root . '/' . $from); $to = strpos($to, $root) === 0 ? $to : preg_replace('/\/+/', '/', $root . '/' . $to); // or traveling the tree via `..` // attempt to resolve path, or assume it's fine if it doesn't exist $from = @realpath($from) ?: $from; $to = @realpath($to) ?: $to; } $from = $this->dirname($from); $to = $this->dirname($to); $from = $this->normalize($from); $to = $this->normalize($to); $this->from = $from; $this->to = $to; } /** * Normalize path. * * @param string $path * * @return string */ protected function normalize($path) { // deal with different operating systems' directory structure $path = rtrim(str_replace(DIRECTORY_SEPARATOR, '/', $path), '/'); // remove leading current directory. if (substr($path, 0, 2) === './') { $path = substr($path, 2); } // remove references to current directory in the path. $path = str_replace('/./', '/', $path); /* * Example: * /home/forkcms/frontend/cache/compiled_templates/../../core/layout/css/../images/img.gif * to * /home/forkcms/frontend/core/layout/images/img.gif */ do { $path = preg_replace('/[^\/]+(? $chunk) { if (isset($path2[$i]) && $path1[$i] == $path2[$i]) { $shared[] = $chunk; } else { break; } } return implode('/', $shared); } /** * Convert paths relative from 1 file to another. * * E.g. * ../images/img.gif relative to /home/forkcms/frontend/core/layout/css * should become: * ../../core/layout/images/img.gif relative to * /home/forkcms/frontend/cache/minified_css * * @param string $path The relative path that needs to be converted * * @return string The new relative path */ public function convert($path) { // quit early if conversion makes no sense if ($this->from === $this->to) { return $path; } $path = $this->normalize($path); // if we're not dealing with a relative path, just return absolute if (strpos($path, '/') === 0) { return $path; } // normalize paths $path = $this->normalize($this->from . '/' . $path); // strip shared ancestor paths $shared = $this->shared($path, $this->to); $path = mb_substr($path, mb_strlen($shared)); $to = mb_substr($this->to, mb_strlen($shared)); // add .. for every directory that needs to be traversed to new path $to = str_repeat('../', count(array_filter(explode('/', $to)))); return $to . ltrim($path, '/'); } /** * Attempt to get the directory name from a path. * * @param string $path * * @return string */ protected function dirname($path) { if (@is_file($path)) { return dirname($path); } if (@is_dir($path)) { return rtrim($path, '/'); } // no known file/dir, start making assumptions // ends in / = dir if (mb_substr($path, -1) === '/') { return rtrim($path, '/'); } // has a dot in the name, likely a file if (preg_match('/.*\..*$/', basename($path)) !== 0) { return dirname($path); } // you're on your own here! return $path; } } PKZ'##-plugins/speedycache/lib/PathConverter/LICENSEnu[Copyright (c) 2015 Matthias Mullie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PKZx999plugins/speedycache/lib/Minify/data/js/keywords_after.txtnu[in public extends private protected implements instanceofPKZ)cdxx4plugins/speedycache/lib/Minify/data/js/operators.txtnu[+ - * / % = += -= *= /= %= <<= >>= >>>= &= ^= |= & | ^ ~ << >> >>> == === != !== > < >= <= && || ! . [ ] ? : , ; ( ) { }PKZ[N<plugins/speedycache/lib/Minify/data/js/keywords_reserved.txtnu[do if in for let new try var case else enum eval null this true void with break catch class const false super throw while yield delete export import public return static switch typeof default extends finally package private continue debugger function arguments interface protected implements instanceof abstract boolean byte char double final float goto int long native short synchronized throws transient volatilePKZ垧:plugins/speedycache/lib/Minify/data/js/keywords_before.txtnu[do in let new var case else enum void with class const yield delete export import public static typeof extends package private function protected implements instanceofPKZiOrr:plugins/speedycache/lib/Minify/data/js/operators_after.txtnu[+ - * / % = += -= *= /= %= <<= >>= >>>= &= ^= |= & | ^ << >> >>> == === != !== > < >= <= && || . [ ] ? : , ; ( ) }PKZg0ss;plugins/speedycache/lib/Minify/data/js/operators_before.txtnu[+ - * / % = += -= *= /= %= <<= >>= >>>= &= ^= |= & | ^ ~ << >> >>> == === != !== > < >= <= && || ! . [ ? : , ; ( { PKZ%MM,plugins/speedycache/lib/Minify/composer.jsonnu[{ "name": "matthiasmullie/minify", "type": "library", "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", "keywords": ["minify", "minifier", "css", "js", "javascript"], "homepage": "https://github.com/matthiasmullie/minify", "license": "MIT", "authors": [ { "name": "Matthias Mullie", "homepage": "https://www.mullie.eu", "email": "minify@mullie.eu", "role": "Developer" } ], "require": { "php": ">=5.3.0", "ext-pcre": "*", "matthiasmullie/path-converter": "~1.1" }, "require-dev": { "friendsofphp/php-cs-fixer": ">=2.0", "matthiasmullie/scrapbook": ">=1.3", "phpunit/phpunit": ">=4.8", "squizlabs/php_codesniffer": ">=3.0" }, "suggest": { "psr/cache-implementation": "Cache implementation to use with Minify::cache" }, "autoload": { "psr-4": { "MatthiasMullie\\Minify\\": "src/" } }, "autoload-dev": { "psr-4": { "MatthiasMullie\\Minify\\Tests\\": "tests/" } }, "bin": [ "bin/minifycss", "bin/minifyjs" ] } PKZGxx&plugins/speedycache/lib/Minify/CSS.phpnu[ * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ namespace SpeedyCache\lib\Minify; use SpeedyCache\lib\Minify\Exceptions\FileImportException; use SpeedyCache\lib\PathConverter\Converter; use SpeedyCache\lib\PathConverter\ConverterInterface; /** * CSS minifier. * * Please report bugs on https://github.com/matthiasmullie/minify/issues * * @author Matthias Mullie * @author Tijs Verkoyen * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ class CSS extends Minify { /** * @var int maximum inport size in kB */ protected $maxImportSize = 5; /** * @var string[] valid import extensions */ protected $importExtensions = array( 'gif' => 'data:image/gif', 'png' => 'data:image/png', 'jpe' => 'data:image/jpeg', 'jpg' => 'data:image/jpeg', 'jpeg' => 'data:image/jpeg', 'svg' => 'data:image/svg+xml', 'woff' => 'data:application/x-font-woff', 'woff2' => 'data:application/x-font-woff2', 'avif' => 'data:image/avif', 'apng' => 'data:image/apng', 'webp' => 'data:image/webp', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'xbm' => 'image/x-xbitmap', ); /** * Set the maximum size if files to be imported. * * Files larger than this size (in kB) will not be imported into the CSS. * Importing files into the CSS as data-uri will save you some connections, * but we should only import relatively small decorative images so that our * CSS file doesn't get too bulky. * * @param int $size Size in kB */ public function setMaxImportSize($size) { $this->maxImportSize = $size; } /** * Set the type of extensions to be imported into the CSS (to save network * connections). * Keys of the array should be the file extensions & respective values * should be the data type. * * @param string[] $extensions Array of file extensions */ public function setImportExtensions(array $extensions) { $this->importExtensions = $extensions; } /** * Move any import statements to the top. * * @param string $content Nearly finished CSS content * * @return string */ protected function moveImportsToTop($content) { if (preg_match_all('/(;?)(@import (?url\()?(?P["\']?).+?(?P=quotes)(?(url)\)));?/', $content, $matches)) { // remove from content foreach ($matches[0] as $import) { $content = str_replace($import, '', $content); } // add to top $content = implode(';', $matches[2]) . ';' . trim($content, ';'); } return $content; } /** * Combine CSS from import statements. * * \@import's will be loaded and their content merged into the original file, * to save HTTP requests. * * @param string $source The file to combine imports for * @param string $content The CSS content to combine imports for * @param string[] $parents Parent paths, for circular reference checks * * @return string * * @throws FileImportException */ protected function combineImports($source, $content, $parents) { $importRegexes = array( // @import url(xxx) '/ # import statement @import # whitespace \s+ # open url() url\( # (optional) open path enclosure (?P["\']?) # fetch path (?P.+?) # (optional) close path enclosure (?P=quotes) # close url() \) # (optional) trailing whitespace \s* # (optional) media statement(s) (?P[^;]*) # (optional) trailing whitespace \s* # (optional) closing semi-colon ;? /ix', // @import 'xxx' '/ # import statement @import # whitespace \s+ # open path enclosure (?P["\']) # fetch path (?P.+?) # close path enclosure (?P=quotes) # (optional) trailing whitespace \s* # (optional) media statement(s) (?P[^;]*) # (optional) trailing whitespace \s* # (optional) closing semi-colon ;? /ix', ); // find all relative imports in css $matches = array(); foreach ($importRegexes as $importRegex) { if (preg_match_all($importRegex, $content, $regexMatches, PREG_SET_ORDER)) { $matches = array_merge($matches, $regexMatches); } } $search = array(); $replace = array(); // loop the matches foreach ($matches as $match) { // get the path for the file that will be imported $importPath = dirname($source) . '/' . $match['path']; // only replace the import with the content if we can grab the // content of the file if (!$this->canImportByPath($match['path']) || !$this->canImportFile($importPath)) { continue; } // check if current file was not imported previously in the same // import chain. if (in_array($importPath, $parents)) { throw new FileImportException('Failed to import file "' . $importPath . '": circular reference detected.'); } // grab referenced file & minify it (which may include importing // yet other @import statements recursively) $minifier = new self($importPath); $minifier->setMaxImportSize($this->maxImportSize); $minifier->setImportExtensions($this->importExtensions); $importContent = $minifier->execute($source, $parents); // check if this is only valid for certain media if (!empty($match['media'])) { $importContent = '@media ' . $match['media'] . '{' . $importContent . '}'; } // add to replacement array $search[] = $match[0]; $replace[] = $importContent; } // replace the import statements return str_replace($search, $replace, $content); } /** * Import files into the CSS, base64-ized. * * @url(image.jpg) images will be loaded and their content merged into the * original file, to save HTTP requests. * * @param string $source The file to import files for * @param string $content The CSS content to import files for * * @return string */ protected function importFiles($source, $content) { $regex = '/url\((["\']?)(.+?)\\1\)/i'; if ($this->importExtensions && preg_match_all($regex, $content, $matches, PREG_SET_ORDER)) { $search = array(); $replace = array(); // loop the matches foreach ($matches as $match) { $extension = substr(strrchr($match[2], '.'), 1); if ($extension && !array_key_exists($extension, $this->importExtensions)) { continue; } // get the path for the file that will be imported $path = $match[2]; $path = dirname($source) . '/' . $path; // only replace the import with the content if we're able to get // the content of the file, and it's relatively small if ($this->canImportFile($path) && $this->canImportBySize($path)) { // grab content && base64-ize $importContent = $this->load($path); $importContent = base64_encode($importContent); // build replacement $search[] = $match[0]; $replace[] = 'url(' . $this->importExtensions[$extension] . ';base64,' . $importContent . ')'; } } // replace the import statements $content = str_replace($search, $replace, $content); } return $content; } /** * Minify the data. * Perform CSS optimizations. * * @param string[optional] $path Path to write the data to * @param string[] $parents Parent paths, for circular reference checks * * @return string The minified data */ public function execute($path = null, $parents = array()) { $content = ''; // loop CSS data (raw data and files) foreach ($this->data as $source => $css) { /* * Let's first take out strings & comments, since we can't just * remove whitespace anywhere. If whitespace occurs inside a string, * we should leave it alone. E.g.: * p { content: "a test" } */ $this->extractStrings(); $this->stripComments(); $this->extractMath(); $this->extractCustomProperties(); $css = $this->replace($css); $css = $this->stripWhitespace($css); $css = $this->convertLegacyColors($css); $css = $this->cleanupModernColors($css); $css = $this->shortenHEXColors($css); $css = $this->shortenZeroes($css); $css = $this->shortenFontWeights($css); $css = $this->stripEmptyTags($css); // restore the string we've extracted earlier $css = $this->restoreExtractedData($css); $source = is_int($source) ? '' : $source; $parents = $source ? array_merge($parents, array($source)) : $parents; $css = $this->combineImports($source, $css, $parents); $css = $this->importFiles($source, $css); /* * If we'll save to a new path, we'll have to fix the relative paths * to be relative no longer to the source file, but to the new path. * If we don't write to a file, fall back to same path so no * conversion happens (because we still want it to go through most * of the move code, which also addresses url() & @import syntax...) */ $converter = $this->getPathConverter($source, $path ?: $source); $css = $this->move($converter, $css); // combine css $content .= $css; } $content = $this->moveImportsToTop($content); return $content; } /** * Moving a css file should update all relative urls. * Relative references (e.g. ../images/image.gif) in a certain css file, * will have to be updated when a file is being saved at another location * (e.g. ../../images/image.gif, if the new CSS file is 1 folder deeper). * * @param ConverterInterface $converter Relative path converter * @param string $content The CSS content to update relative urls for * * @return string */ protected function move(ConverterInterface $converter, $content) { /* * Relative path references will usually be enclosed by url(). @import * is an exception, where url() is not necessary around the path (but is * allowed). * This *could* be 1 regular expression, where both regular expressions * in this array are on different sides of a |. But we're using named * patterns in both regexes, the same name on both regexes. This is only * possible with a (?J) modifier, but that only works after a fairly * recent PCRE version. That's why I'm doing 2 separate regular * expressions & combining the matches after executing of both. */ $relativeRegexes = array( // url(xxx) '/ # open url() url\( \s* # open path enclosure (?P["\'])? # fetch path (?P.+?) # close path enclosure (?(quotes)(?P=quotes)) \s* # close url() \) /ix', // @import "xxx" '/ # import statement @import # whitespace \s+ # we don\'t have to check for @import url(), because the # condition above will already catch these # open path enclosure (?P["\']) # fetch path (?P.+?) # close path enclosure (?P=quotes) /ix', ); // find all relative urls in css $matches = array(); foreach ($relativeRegexes as $relativeRegex) { if (preg_match_all($relativeRegex, $content, $regexMatches, PREG_SET_ORDER)) { $matches = array_merge($matches, $regexMatches); } } $search = array(); $replace = array(); // loop all urls foreach ($matches as $match) { // determine if it's a url() or an @import match $type = (strpos($match[0], '@import') === 0 ? 'import' : 'url'); $url = $match['path']; if ($this->canImportByPath($url)) { // attempting to interpret GET-params makes no sense, so let's discard them for awhile $params = strrchr($url, '?'); $url = $params ? substr($url, 0, -strlen($params)) : $url; // fix relative url $url = $converter->convert($url); // now that the path has been converted, re-apply GET-params $url .= $params; } /* * Urls with control characters above 0x7e should be quoted. * According to Mozilla's parser, whitespace is only allowed at the * end of unquoted urls. * Urls with `)` (as could happen with data: uris) should also be * quoted to avoid being confused for the url() closing parentheses. * And urls with a # have also been reported to cause issues. * Urls with quotes inside should also remain escaped. * * @see https://developer.mozilla.org/nl/docs/Web/CSS/url#The_url()_functional_notation * @see https://hg.mozilla.org/mozilla-central/rev/14abca4e7378 * @see https://github.com/matthiasmullie/minify/issues/193 */ $url = trim($url); if (preg_match('/[\s\)\'"#\x{7f}-\x{9f}]/u', $url)) { $url = $match['quotes'] . $url . $match['quotes']; } // build replacement $search[] = $match[0]; if ($type === 'url') { $replace[] = 'url(' . $url . ')'; } elseif ($type === 'import') { $replace[] = '@import "' . $url . '"'; } } // replace urls return str_replace($search, $replace, $content); } /** * Shorthand HEX color codes. * #FF0000FF -> #f00 -> red * #FF00FF00 -> transparent. * * @param string $content The CSS content to shorten the HEX color codes for * * @return string */ protected function shortenHexColors($content) { // shorten repeating patterns within HEX .. $content = preg_replace('/(?<=[: ])#([0-9a-f])\\1([0-9a-f])\\2([0-9a-f])\\3(?:([0-9a-f])\\4)?(?=[; }])/i', '#$1$2$3$4', $content); // remove alpha channel if it's pointless .. $content = preg_replace('/(?<=[: ])#([0-9a-f]{6})ff(?=[; }])/i', '#$1', $content); $content = preg_replace('/(?<=[: ])#([0-9a-f]{3})f(?=[; }])/i', '#$1', $content); // replace `transparent` with shortcut .. $content = preg_replace('/(?<=[: ])#[0-9a-f]{6}00(?=[; }])/i', '#fff0', $content); $colors = array( // make these more readable '#00f' => 'blue', '#dc143c' => 'crimson', '#0ff' => 'cyan', '#8b0000' => 'darkred', '#696969' => 'dimgray', '#ff69b4' => 'hotpink', '#0f0' => 'lime', '#fdf5e6' => 'oldlace', '#87ceeb' => 'skyblue', '#d8bfd8' => 'thistle', // we can shorten some even more by replacing them with their color name '#f0ffff' => 'azure', '#f5f5dc' => 'beige', '#ffe4c4' => 'bisque', '#a52a2a' => 'brown', '#ff7f50' => 'coral', '#ffd700' => 'gold', '#808080' => 'gray', '#008000' => 'green', '#4b0082' => 'indigo', '#fffff0' => 'ivory', '#f0e68c' => 'khaki', '#faf0e6' => 'linen', '#800000' => 'maroon', '#000080' => 'navy', '#808000' => 'olive', '#ffa500' => 'orange', '#da70d6' => 'orchid', '#cd853f' => 'peru', '#ffc0cb' => 'pink', '#dda0dd' => 'plum', '#800080' => 'purple', '#f00' => 'red', '#fa8072' => 'salmon', '#a0522d' => 'sienna', '#c0c0c0' => 'silver', '#fffafa' => 'snow', '#d2b48c' => 'tan', '#008080' => 'teal', '#ff6347' => 'tomato', '#ee82ee' => 'violet', '#f5deb3' => 'wheat', // or the other way around 'black' => '#000', 'fuchsia' => '#f0f', 'magenta' => '#f0f', 'white' => '#fff', 'yellow' => '#ff0', // and also `transparent` 'transparent' => '#fff0', ); return preg_replace_callback( '/(?<=[: ])(' . implode('|', array_keys($colors)) . ')(?=[; }])/i', function ($match) use ($colors) { return $colors[strtolower($match[0])]; }, $content ); } /** * Convert RGB|HSL color codes. * rgb(255,0,0,.5) -> rgb(255 0 0 / .5). * rgb(255,0,0) -> #f00. * * @param string $content The CSS content to shorten the RGB color codes for * * @return string */ protected function convertLegacyColors($content) { /* https://drafts.csswg.org/css-color/#color-syntax-legacy https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl */ // convert legacy color syntax $content = preg_replace('/(rgb)a?\(\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0,1]?(?:\.[0-9]*)?)\s*\)/i', '$1($2 $3 $4 / $5)', $content); $content = preg_replace('/(rgb)a?\(\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*\)/i', '$1($2 $3 $4)', $content); $content = preg_replace('/(hsl)a?\(\s*([0-9]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9]{1,3}%)\s*,\s*([0-9]{1,3}%)\s*,\s*([0,1]?(?:\.[0-9]*)?)\s*\)/i', '$1($2 $3 $4 / $5)', $content); $content = preg_replace('/(hsl)a?\(\s*([0-9]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9]{1,3}%)\s*,\s*([0-9]{1,3}%)\s*\)/i', '$1($2 $3 $4)', $content); // convert `rgb` to `hex` $dec = '([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])'; return preg_replace_callback( "/rgb\($dec $dec $dec\)/i", function ($match) { return sprintf('#%02x%02x%02x', $match[1], $match[2], $match[3]); }, $content ); } /** * Cleanup RGB|HSL|HWB|LCH|LAB * rgb(255 0 0 / 1) -> rgb(255 0 0). * rgb(255 0 0 / 0) -> transparent. * * @param string $content The CSS content to cleanup HSL|HWB|LCH|LAB * * @return string */ protected function cleanupModernColors($content) { /* https://drafts.csswg.org/css-color/#color-syntax-modern https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hwb https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lch https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lab https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklab */ $tag = '(rgb|hsl|hwb|(?:(?:ok)?(?:lch|lab)))'; // remove alpha channel if it's pointless .. $content = preg_replace('/' . $tag . '\(\s*([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+\/\s+1(?:(?:\.\d?)*|00%)?\s*\)/i', '$1($2 $3 $4)', $content); // replace `transparent` with shortcut .. $content = preg_replace('/' . $tag . '\(\s*[^\s]+\s+[^\s]+\s+[^\s]+\s+\/\s+0(?:[\.0%]*)?\s*\)/i', '#fff0', $content); return $content; } /** * Shorten CSS font weights. * * @param string $content The CSS content to shorten the font weights for * * @return string */ protected function shortenFontWeights($content) { $weights = array( 'normal' => 400, 'bold' => 700, ); $callback = function ($match) use ($weights) { return $match[1] . $weights[$match[2]]; }; return preg_replace_callback('/(font-weight\s*:\s*)(' . implode('|', array_keys($weights)) . ')(?=[;}])/', $callback, $content); } /** * Shorthand 0 values to plain 0, instead of e.g. -0em. * * @param string $content The CSS content to shorten the zero values for * * @return string */ protected function shortenZeroes($content) { // we don't want to strip units in `calc()` expressions: // `5px - 0px` is valid, but `5px - 0` is not // `10px * 0` is valid (equates to 0), and so is `10 * 0px`, but // `10 * 0` is invalid // we've extracted calcs earlier, so we don't need to worry about this // reusable bits of code throughout these regexes: // before & after are used to make sure we don't match lose unintended // 0-like values (e.g. in #000, or in http://url/1.0) // units can be stripped from 0 values, or used to recognize non 0 // values (where wa may be able to strip a .0 suffix) $before = '(?<=[:(, ])'; $after = '(?=[ ,);}])'; $units = '(em|ex|%|px|cm|mm|in|pt|pc|ch|rem|vh|vw|vmin|vmax|vm)'; // strip units after zeroes (0px -> 0) // NOTE: it should be safe to remove all units for a 0 value, but in // practice, Webkit (especially Safari) seems to stumble over at least // 0%, potentially other units as well. Only stripping 'px' for now. // @see https://github.com/matthiasmullie/minify/issues/60 $content = preg_replace('/' . $before . '(-?0*(\.0+)?)(?<=0)px' . $after . '/', '\\1', $content); // strip 0-digits (.0 -> 0) $content = preg_replace('/' . $before . '\.0+' . $units . '?' . $after . '/', '0\\1', $content); // strip trailing 0: 50.10 -> 50.1, 50.10px -> 50.1px $content = preg_replace('/' . $before . '(-?[0-9]+\.[0-9]+)0+' . $units . '?' . $after . '/', '\\1\\2', $content); // strip trailing 0: 50.00 -> 50, 50.00px -> 50px $content = preg_replace('/' . $before . '(-?[0-9]+)\.0+' . $units . '?' . $after . '/', '\\1\\2', $content); // strip leading 0: 0.1 -> .1, 01.1 -> 1.1 $content = preg_replace('/' . $before . '(-?)0+([0-9]*\.[0-9]+)' . $units . '?' . $after . '/', '\\1\\2\\3', $content); // strip negative zeroes (-0 -> 0) & truncate zeroes (00 -> 0) $content = preg_replace('/' . $before . '-?0+' . $units . '?' . $after . '/', '0\\1', $content); // IE doesn't seem to understand a unitless flex-basis value (correct - // it goes against the spec), so let's add it in again (make it `%`, // which is only 1 char: 0%, 0px, 0 anything, it's all just the same) // @see https://developer.mozilla.org/nl/docs/Web/CSS/flex $content = preg_replace('/flex:([0-9]+\s[0-9]+\s)0([;\}])/', 'flex:${1}0%${2}', $content); $content = preg_replace('/flex-basis:0([;\}])/', 'flex-basis:0%${1}', $content); return $content; } /** * Strip empty tags from source code. * * @param string $content * * @return string */ protected function stripEmptyTags($content) { $content = preg_replace('/(?<=^)[^\{\};]+\{\s*\}/', '', $content); $content = preg_replace('/(?<=(\}|;))[^\{\};]+\{\s*\}/', '', $content); return $content; } /** * Strip comments from source code. */ protected function stripComments() { $this->stripMultilineComments(); } /** * Strip whitespace. * * @param string $content The CSS content to strip the whitespace for * * @return string */ protected function stripWhitespace($content) { // remove leading & trailing whitespace $content = preg_replace('/^\s*/m', '', $content); $content = preg_replace('/\s*$/m', '', $content); // replace newlines with a single space $content = preg_replace('/\s+/', ' ', $content); // remove whitespace around meta characters // inspired by stackoverflow.com/questions/15195750/minify-compress-css-with-regex $content = preg_replace('/\s*([\*$~^|]?+=|[{};,>~]|!important\b)\s*/', '$1', $content); $content = preg_replace('/([\[(:>\+])\s+/', '$1', $content); $content = preg_replace('/\s+([\]\)>\+])/', '$1', $content); $content = preg_replace('/\s+(:)(?![^\}]*\{)/', '$1', $content); // whitespace around + and - can only be stripped inside some pseudo- // classes, like `:nth-child(3+2n)` // not in things like `calc(3px + 2px)`, shorthands like `3px -2px`, or // selectors like `div.weird- p` $pseudos = array('nth-child', 'nth-last-child', 'nth-last-of-type', 'nth-of-type'); $content = preg_replace('/:(' . implode('|', $pseudos) . ')\(\s*([+-]?)\s*(.+?)\s*([+-]?)\s*(.*?)\s*\)/', ':$1($2$3$4$5)', $content); // remove semicolon/whitespace followed by closing bracket $content = str_replace(';}', '}', $content); return trim($content); } /** * Replace all occurrences of functions that may contain math, where * whitespace around operators needs to be preserved (e.g. calc, clamp). */ protected function extractMath() { $functions = array('calc', 'clamp', 'min', 'max'); $pattern = '/\b(' . implode('|', $functions) . ')(\(.+?)(?=$|;|})/m'; // PHP only supports $this inside anonymous functions since 5.4 $minifier = $this; $callback = function ($match) use ($minifier, $pattern, &$callback) { $function = $match[1]; $length = strlen($match[2]); $expr = ''; $opened = 0; // the regular expression for extracting math has 1 significant problem: // it can't determine the correct closing parenthesis... // instead, it'll match a larger portion of code to where it's certain that // the calc() musts have ended, and we'll figure out which is the correct // closing parenthesis here, by counting how many have opened for ($i = 0; $i < $length; ++$i) { $char = $match[2][$i]; $expr .= $char; if ($char === '(') { ++$opened; } elseif ($char === ')' && --$opened === 0) { break; } } // now that we've figured out where the calc() starts and ends, extract it $count = count($minifier->extracted); $placeholder = 'math(' . $count . ')'; $minifier->extracted[$placeholder] = $function . '(' . trim(substr($expr, 1, -1)) . ')'; // and since we've captured more code than required, we may have some leftover // calc() in here too - go recursive on the remaining but of code to go figure // that out and extract what is needed $rest = $minifier->str_replace_first($function . $expr, '', $match[0]); $rest = preg_replace_callback($pattern, $callback, $rest); return $placeholder . $rest; }; $this->registerPattern($pattern, $callback); } /** * Replace custom properties, whose values may be used in scenarios where * we wouldn't want them to be minified (e.g. inside calc). */ protected function extractCustomProperties() { // PHP only supports $this inside anonymous functions since 5.4 $minifier = $this; $this->registerPattern( '/(?<=^|[;}{])\s*(--[^:;{}"\'\s]+)\s*:([^;{}]+)/m', function ($match) use ($minifier) { $placeholder = '--custom-' . count($minifier->extracted) . ':0'; $minifier->extracted[$placeholder] = $match[1] . ':' . trim($match[2]); return $placeholder; } ); } /** * Check if file is small enough to be imported. * * @param string $path The path to the file * * @return bool */ protected function canImportBySize($path) { return ($size = @filesize($path)) && $size <= $this->maxImportSize * 1024; } /** * Check if file a file can be imported, going by the path. * * @param string $path * * @return bool */ protected function canImportByPath($path) { return preg_match('/^(data:|https?:|\\/)/', $path) === 0; } /** * Return a converter to update relative paths to be relative to the new * destination. * * @param string $source * @param string $target * * @return ConverterInterface */ protected function getPathConverter($source, $target) { return new Converter($source, $target); } } PKZ1F1F)plugins/speedycache/lib/Minify/Minify.phpnu[ * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ namespace SpeedyCache\lib\Minify; use SpeedyCache\lib\Minify\Exceptions\IOException; use Psr\Cache\CacheItemInterface; /** * Abstract minifier class. * * Please report bugs on https://github.com/matthiasmullie/minify/issues * * @author Matthias Mullie * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ abstract class Minify { /** * The data to be minified. * * @var string[] */ protected $data = array(); /** * Array of patterns to match. * * @var string[] */ protected $patterns = array(); /** * This array will hold content of strings and regular expressions that have * been extracted from the JS source code, so we can reliably match "code", * without having to worry about potential "code-like" characters inside. * * @internal * * @var string[] */ public $extracted = array(); /** * Init the minify class - optionally, code may be passed along already. */ public function __construct(/* $data = null, ... */) { // it's possible to add the source through the constructor as well ;) if (func_num_args()) { call_user_func_array(array($this, 'add'), func_get_args()); } } /** * Add a file or straight-up code to be minified. * * @param string|string[] $data * * @return static */ public function add($data /* $data = null, ... */) { // bogus "usage" of parameter $data: scrutinizer warns this variable is // not used (we're using func_get_args instead to support overloading), // but it still needs to be defined because it makes no sense to have // this function without argument :) $args = array($data) + func_get_args(); // this method can be overloaded foreach ($args as $data) { if (is_array($data)) { call_user_func_array(array($this, 'add'), $data); continue; } // redefine var $data = (string) $data; // load data $value = $this->load($data); $key = ($data != $value) ? $data : count($this->data); // replace CR linefeeds etc. // @see https://github.com/matthiasmullie/minify/pull/139 $value = str_replace(array("\r\n", "\r"), "\n", $value); // store data $this->data[$key] = $value; } return $this; } /** * Add a file to be minified. * * @param string|string[] $data * * @return static * * @throws IOException */ public function addFile($data /* $data = null, ... */) { // bogus "usage" of parameter $data: scrutinizer warns this variable is // not used (we're using func_get_args instead to support overloading), // but it still needs to be defined because it makes no sense to have // this function without argument :) $args = array($data) + func_get_args(); // this method can be overloaded foreach ($args as $path) { if (is_array($path)) { call_user_func_array(array($this, 'addFile'), $path); continue; } // redefine var $path = (string) $path; // check if we can read the file if (!$this->canImportFile($path)) { throw new IOException('The file "' . $path . '" could not be opened for reading. Check if PHP has enough permissions.'); } $this->add($path); } return $this; } /** * Minify the data & (optionally) saves it to a file. * * @param string[optional] $path Path to write the data to * * @return string The minified data */ public function minify($path = null) { $content = $this->execute($path); // save to path if ($path !== null) { $this->save($content, $path); } return $content; } /** * Minify & gzip the data & (optionally) saves it to a file. * * @param string[optional] $path Path to write the data to * @param int[optional] $level Compression level, from 0 to 9 * * @return string The minified & gzipped data */ public function gzip($path = null, $level = 9) { $content = $this->execute($path); $content = gzencode($content, $level, FORCE_GZIP); // save to path if ($path !== null) { $this->save($content, $path); } return $content; } /** * Minify the data & write it to a CacheItemInterface object. * * @param CacheItemInterface $item Cache item to write the data to * * @return CacheItemInterface Cache item with the minifier data */ public function cache(CacheItemInterface $item) { $content = $this->execute(); $item->set($content); return $item; } /** * Minify the data. * * @param string[optional] $path Path to write the data to * * @return string The minified data */ abstract public function execute($path = null); /** * Load data. * * @param string $data Either a path to a file or the content itself * * @return string */ protected function load($data) { // check if the data is a file if ($this->canImportFile($data)) { $data = file_get_contents($data); // strip BOM, if any if (substr($data, 0, 3) == "\xef\xbb\xbf") { $data = substr($data, 3); } } return $data; } /** * Save to file. * * @param string $content The minified data * @param string $path The path to save the minified data to * * @throws IOException */ protected function save($content, $path) { $handler = $this->openFileForWriting($path); $this->writeToFile($handler, $content); @fclose($handler); } /** * Register a pattern to execute against the source content. * * If $replacement is a string, it must be plain text. Placeholders like $1 or \2 don't work. * If you need that functionality, use a callback instead. * * @param string $pattern PCRE pattern * @param string|callable $replacement Replacement value for matched pattern */ protected function registerPattern($pattern, $replacement = '') { // study the pattern, we'll execute it more than once $pattern .= 'S'; $this->patterns[] = array($pattern, $replacement); } /** * Both JS and CSS use the same form of multi-line comment, so putting the common code here. */ protected function stripMultilineComments() { // First extract comments we want to keep, so they can be restored later // PHP only supports $this inside anonymous functions since 5.4 $minifier = $this; $callback = function ($match) use ($minifier) { $count = count($minifier->extracted); $placeholder = '/*' . $count . '*/'; $minifier->extracted[$placeholder] = $match[0]; return $placeholder; }; $this->registerPattern('/ # optional newline \n? # start comment \/\* # comment content (?: # either starts with an ! ! | # or, after some number of characters which do not end the comment (?:(?!\*\/).)*? # there is either a @license or @preserve tag @(?:license|preserve) ) # then match to the end of the comment .*?\*\/\n? /ixs', $callback); // Then strip all other comments $this->registerPattern('/\/\*.*?\*\//s', ''); } /** * We can't "just" run some regular expressions against JavaScript: it's a * complex language. E.g. having an occurrence of // xyz would be a comment, * unless it's used within a string. Of you could have something that looks * like a 'string', but inside a comment. * The only way to accurately replace these pieces is to traverse the JS one * character at a time and try to find whatever starts first. * * @param string $content The content to replace patterns in * * @return string The (manipulated) content */ protected function replace($content) { $contentLength = strlen($content); $output = ''; $processedOffset = 0; $positions = array_fill(0, count($this->patterns), -1); $matches = array(); while ($processedOffset < $contentLength) { // find first match for all patterns foreach ($this->patterns as $i => $pattern) { list($pattern, $replacement) = $pattern; // we can safely ignore patterns for positions we've unset earlier, // because we know these won't show up anymore if (array_key_exists($i, $positions) == false) { continue; } // no need to re-run matches that are still in the part of the // content that hasn't been processed if ($positions[$i] >= $processedOffset) { continue; } $match = null; if (preg_match($pattern, $content, $match, PREG_OFFSET_CAPTURE, $processedOffset)) { $matches[$i] = $match; // we'll store the match position as well; that way, we // don't have to redo all preg_matches after changing only // the first (we'll still know where those others are) $positions[$i] = $match[0][1]; } else { // if the pattern couldn't be matched, there's no point in // executing it again in later runs on this same content; // ignore this one until we reach end of content unset($matches[$i], $positions[$i]); } } // no more matches to find: everything's been processed, break out if (!$matches) { // output the remaining content $output .= substr($content, $processedOffset); break; } // see which of the patterns actually found the first thing (we'll // only want to execute that one, since we're unsure if what the // other found was not inside what the first found) $matchOffset = min($positions); $firstPattern = array_search($matchOffset, $positions); $match = $matches[$firstPattern]; // execute the pattern that matches earliest in the content string list(, $replacement) = $this->patterns[$firstPattern]; // add the part of the input between $processedOffset and the first match; // that content wasn't matched by anything $output .= substr($content, $processedOffset, $matchOffset - $processedOffset); // add the replacement for the match $output .= $this->executeReplacement($replacement, $match); // advance $processedOffset past the match $processedOffset = $matchOffset + strlen($match[0][0]); } return $output; } /** * If $replacement is a callback, execute it, passing in the match data. * If it's a string, just pass it through. * * @param string|callable $replacement Replacement value * @param array $match Match data, in PREG_OFFSET_CAPTURE form * * @return string */ protected function executeReplacement($replacement, $match) { if (!is_callable($replacement)) { return $replacement; } // convert $match from the PREG_OFFSET_CAPTURE form to the form the callback expects foreach ($match as &$matchItem) { $matchItem = $matchItem[0]; } return $replacement($match); } /** * Strings are a pattern we need to match, in order to ignore potential * code-like content inside them, but we just want all of the string * content to remain untouched. * * This method will replace all string content with simple STRING# * placeholder text, so we've rid all strings from characters that may be * misinterpreted. Original string content will be saved in $this->extracted * and after doing all other minifying, we can restore the original content * via restoreStrings(). * * @param string[optional] $chars * @param string[optional] $placeholderPrefix */ protected function extractStrings($chars = '\'"', $placeholderPrefix = '') { // PHP only supports $this inside anonymous functions since 5.4 $minifier = $this; $callback = function ($match) use ($minifier, $placeholderPrefix) { // check the second index here, because the first always contains a quote if ($match[2] === '') { /* * Empty strings need no placeholder; they can't be confused for * anything else anyway. * But we still needed to match them, for the extraction routine * to skip over this particular string. */ return $match[0]; } $count = count($minifier->extracted); $placeholder = $match[1] . $placeholderPrefix . $count . $match[1]; $minifier->extracted[$placeholder] = $match[1] . $match[2] . $match[1]; return $placeholder; }; /* * The \\ messiness explained: * * Don't count ' or " as end-of-string if it's escaped (has backslash * in front of it) * * Unless... that backslash itself is escaped (another leading slash), * in which case it's no longer escaping the ' or " * * So there can be either no backslash, or an even number * * multiply all of that times 4, to account for the escaping that has * to be done to pass the backslash into the PHP string without it being * considered as escape-char (times 2) and to get it in the regex, * escaped (times 2) */ $this->registerPattern('/([' . $chars . '])(.*?(?extracted. * * @param string $content * * @return string */ protected function restoreExtractedData($content) { if (!$this->extracted) { // nothing was extracted, nothing to restore return $content; } $content = strtr($content, $this->extracted); $this->extracted = array(); return $content; } /** * Check if the path is a regular file and can be read. * * @param string $path * * @return bool */ protected function canImportFile($path) { $parsed = parse_url($path); if ( // file is elsewhere isset($parsed['host']) // file responds to queries (may change, or need to bypass cache) || isset($parsed['query']) ) { return false; } try { return strlen($path) < PHP_MAXPATHLEN && @is_file($path) && is_readable($path); } // catch openbasedir exceptions which are not caught by @ on is_file() catch (\Exception $e) { return false; } } /** * Attempts to open file specified by $path for writing. * * @param string $path The path to the file * * @return resource Specifier for the target file * * @throws IOException */ protected function openFileForWriting($path) { if ($path === '' || ($handler = @fopen($path, 'w')) === false) { throw new IOException('The file "' . $path . '" could not be opened for writing. Check if PHP has enough permissions.'); } return $handler; } /** * Attempts to write $content to the file specified by $handler. $path is used for printing exceptions. * * @param resource $handler The resource to write to * @param string $content The content to write * @param string $path The path to the file (for exception printing only) * * @throws IOException */ protected function writeToFile($handler, $content, $path = '') { if ( !is_resource($handler) || ($result = @fwrite($handler, $content)) === false || ($result < strlen($content)) ) { throw new IOException('The file "' . $path . '" could not be written to. Check your disk space and file permissions.'); } } protected static function str_replace_first($search, $replace, $subject) { $pos = strpos($subject, $search); if ($pos !== false) { return substr_replace($subject, $replace, $pos, strlen($search)); } return $subject; } } PKZ 8*plugins/speedycache/lib/Minify/ruleset.xmlnu[ ./src ./tests PKZ)EYyii,plugins/speedycache/lib/Minify/Exception.phpnu[ */ namespace SpeedyCache\lib\Minify; /** * Base Exception Class. * * @deprecated Use Exceptions\BasicException instead * * @author Matthias Mullie */ abstract class Exception extends \Exception { } PKZ * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ namespace SpeedyCache\lib\Minify\Exceptions; /** * File Import Exception Class. * * @author Matthias Mullie */ class FileImportException extends BasicException { } PKZȮUd<plugins/speedycache/lib/Minify/Exceptions/BasicException.phpnu[ * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ namespace SpeedyCache\lib\Minify\Exceptions; use SpeedyCache\lib\Minify\Exception; /** * Basic Exception Class. * * @author Matthias Mullie */ abstract class BasicException extends Exception { } PKZ9plugins/speedycache/lib/Minify/Exceptions/IOException.phpnu[ * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved * @license MIT License */ namespace SpeedyCache\lib\Minify\Exceptions; /** * IO Exception Class. * * @author Matthias Mullie */ class IOException extends BasicException { } PKZFY'plugins/catch-gallery/catch-gallery.phpnu[. */ if ( ! defined( 'CATCH_GALLERY_VERSION' ) ) { define( 'CATCH_GALLERY_VERSION', '2.0' ); } // The URL of the directory that contains the plugin if ( ! defined( 'CATCH_GALLERY_URL' ) ) { define( 'CATCH_GALLERY_URL', plugin_dir_url( __FILE__ ) ); } // The absolute path of the directory that contains the file if ( ! defined( 'CATCH_GALLERY_PATH' ) ) { define( 'CATCH_GALLERY_PATH', plugin_dir_path( __FILE__ ) ); } // Gets the path to a plugin file or directory, relative to the plugins directory, without the leading and trailing slashes. if ( ! defined( 'CATCH_GALLERY_BASENAME' ) ) { define( 'CATCH_GALLERY_BASENAME', plugin_basename( __FILE__ ) ); } if ( ! function_exists( 'activate_catch_gallery' ) ) : function activate_catch_gallery() { /* Check if Catch Gallery Pro is installed and active, abort plugin activation and return with message */ $required = 'catch-gallery-pro/catch-gallery.php'; if ( is_plugin_active( $required ) ) { $message = esc_html__( 'Sorry, Pro plugin is already active. No need to activate Free version. %1$s« Return to Plugins%2$s.', 'catch-gallery' ); $message = sprintf( $message, '
', '' ); wp_die( $message ); } } endif; register_activation_hook( __FILE__, 'activate_catch_gallery' ); if ( ! function_exists( 'catch_gallery_load_textdomain' ) ) : function catch_gallery_load_textdomain() { load_plugin_textdomain( 'catch-gallery', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); } endif; add_action( 'plugins_loaded', 'catch_gallery_load_textdomain' ); // Include admin part. include( plugin_dir_path( __FILE__ ) . 'admin/admin.php' ); include( plugin_dir_path( __FILE__ ) . 'inc/functions.php' ); include( plugin_dir_path( __FILE__ ) . 'inc/tiled-gallery.php' ); include( plugin_dir_path( __FILE__ ) . 'inc/jetpack-carousel.php' ); /* CTP tabs removal options */ require plugin_dir_path( __FILE__ ) . '/inc/ctp-tabs-removal.php'; $ctp_options = ctp_get_options(); if ( 1 == $ctp_options['theme_plugin_tabs'] ) { /* Adds Catch Themes tab in Add theme page and Themes by Catch Themes in Customizer's change theme option. */ if ( ! class_exists( 'CatchThemesThemePlugin' ) && ! function_exists( 'add_our_plugins_tab' ) ) { require plugin_dir_path( __FILE__ ) . '/inc/CatchThemesThemePlugin.php'; } } PKZC8331plugins/catch-gallery/admin/display-dashboard.phpnu[

PKZ? ? 'plugins/catch-gallery/admin/sidebar.phpnu[ PKZ.# ((&plugins/catch-gallery/admin/footer.phpnu[ PKZyޝ%plugins/catch-gallery/admin/admin.phpnu[' . esc_html__( 'Settings', 'catch-gallery' ) . ''; array_unshift( $links, $settings_link ); } return $links; } endif; // catch_gallery_action_links add_filter( 'plugin_action_links', 'catch_gallery_action_links', 10, 2 );PKZ(7$$5plugins/catch-gallery/admin/catch-gallery-display.phpnu[

PKZY{ $ $=plugins/catch-gallery/admin/images/premium-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp VK yIDATx] xSe>ٓ6-7v(ア"ꨃ:0(3.#:?#;>"* ("tK&~Mi4iW/I&ss5(B=Æ O{E0;w ` Il Il Il Il Il Il Il IlX%Gf0Kxa9h OSBf6[<FOB[bh8ͷxJ/C4dcƞ y>/Ψh6Bjm?s9PĕZ!10zJbKt } :z x_`-df'LսɌwJrKbKtJB*M*TmI 3;f9W4ȒJ!0#\lVh 9Ls-^[R|4dn!Ӂ?77~p |7WaAM @B 3>iO%qc]lGjkk{oL=ɀu_A4E栌3-j!lM$ko!<Ҵ_v,|=fʛQ24'x<kly-q-F:UI*4%cIRKbKtjkK͠y0Iz$4%2Z d[Ⱥw2+rc$I-\hHk@.x+/}ieUKrٓRݿڜPⶢ2B˩|M/*^!/$DW#sJ%3ř"D7j,qW-mSZ5Pc --q,wP;$A%1 b's*Cb )7eI8)nc٭hYguLcw)D[3fkCiJ\&HHNӂ͡D'Tl.൦-B$$%(8TѕsMr}D-?JMR[[KMq@AU6IRC |ɴdx<4k,ڶm$8ƳMH!qn!vʅީאhuHN̪Ua<Um7} & !.yX; DUVQ vGI |94b+Bnf3Y,=˦Y)fd5dWgܪ~LѺDfwR49JR,4ҧPHV:tJ/:F"N JbG&kF&筡L=fkdeVt VXSB{^)6[pр4+HH+k ЦZe@7gķ1rbL%i #?nȞ:*bO6k풦x$@ATo>jjj"}weҕ)( RWukS]WSh7IFvH.Gp t6ʁ|'WmgJmekbM\IŅ.zljTեjtriZz@=S%ؑuV/OW^{-=c- xO@G6GC3U7"97+hShbJT)`*##tIN\_N& e_a&Q@K~eN|l􇋙8W[Y֗_~9ݻ1^W#5l-XQdW"4"]7Y[FsLUIef +-2Fnb>7u_f)_4|/s26H7kA4nSbb$D(s`DA3"ptv}&ȼAyl?C<2`\72e8ùK)))|/_N/=tsN2~i:S9׬Y?"pWsKD 'Obǔu{g,0vFT{YGůVMCɽ&1ܒ~ }ĉӣ>MqnJ #'2k.-v#F^V~@K\ZO[LoOUocMaG[^A}YL;v뮻x ͯv:fΜI}Y 3. 2c%%"pO]#}5󍷜CggѭGT?3zy9L˥US՝Xc$FhS~>EKDRO\.n~czkƍ6HThF5u>c rx86J\~dS%Xgx>L'6`͈_vn2w=bnn=C'tG'+%%Z#ߦR7պ-u~Tm Cn@MLG8,{^vMl3$fTǔ{G1. PÇ77I3D}D"&CZnNγтItJGG# _Hmd[ƔѩUyg3e1R{AN7.^WG?Nf 10-nQn(n$1vyoJSV$Oy}Nf0tՄ4ZW4FB~`d\HStFi/ϵYMOa`2MJhkm#>(c˾}"8bݻ7@;+1fڹsgEl[tcym'|Bgu_?gΜf[lon}|W!pnKb=!#}&1)hflL_#e #i4R 1cNbwU9"S^!ذaڵK{}}j6$: pBI.2?...V[?N" o03$[T0v6!EE.e$KdN]_N?7@qasg}6y!>7~msb, ~RCakOsVOOiii4~x >B32l)4 q_,`vL注ZzuYe"Ǵ%wymb >ܹs@*+"ea#nBa >|>.&v@in)hV.6)f#5L=.?ls>\֫]n`r1D{Gm? p(?Ȃnj4S 9DS|7h߄3r+iu`1DY&O=smu2cr=#m_y$p.50ǯ q"~'gO vsGk=qE΂$$vw)$$$$$v"E!$`ѷ6B-[}~nljI"ᤥHΫo{R&C@'|rMT2$K:@s#HIEKxmMhA"*̢m$XP3-~tfC=-xEڵk#<؆sao9b {GBrv?% ĝSDaJD2r  **Ͱ|" &EE]ED袋"QFу>ȷ=Zw~lx"p "n[r1mڴBpD"m#H\8Z4EJmqS\w<j s| z뭚RF:ꫯT T,5΢# t4*\Ea`hiak8M擷`fRּT{d,#؃]ʷvʥcJ~Tʸo5== \W?U-x>e2Vj8aY6$X/ޟm&"v)vrr]OPfP,x;o$NJ'"-}dXI/ M|m}Srr 4Q#Lɶe]qrE5xԩ-&5|Rlo:mvv|CsrP5'>CKy:h/9n`ڵ׌k: ɏ,p)$" `D3fx#ںohф[-\ϼ0}Ydp7p꾁JăX:]26ԑeVu对5a29mY$ hRŒĂHn{KX""*؞+E $ӿ&m0C)$\hf9[?LC ϧ.֭k1x/j &^ M7W\t0c/ÁvKH)Z4m]0j~д o ޼t0㭅{BL_D"pL?!R q/~2?Ǯ\? * ,ĖĖĖIbϟ?_+@CyXKĻ(ԗpJ-G_"+7:^]o٨5,!%$$[H"{Ly` *t‚WD XtPE"He#XO[hI&|J#c7[W `>I,$o#n{^c' /PTa0@zN:h~:cF 6}6вئD?%h ޿L5?&3յ<\<<%|e")O͓M0/-F4Wr5zs`Y\Ch3'< {WGhOOO 08팳fYz:oqG=FݴwHñ#Nl ·_ l߽%(QpT=b trΚ35Bcp:J]<'Lٳg󬲻ロC"i?z^7hРN&x.Տ"vb또.f4f)r V;i'W{u8k62w uoةfΜ\~QnEHuDǓsw[ܧ^ԯw?>#|n%zkYP] 3ͷ}zBWSX'oxLDžCB"M4aK"}낿=XtP qgprGZ;H+nx9!k*>S.͢CwEr6~w>U^ם|mgDN%4!A0Nr]Q"/f4kn?|3?䮜[8rb-5:uh,3|S <z8;->>u)䥄ڶht' t۞Hަ)gJ杫j(/au'jŜ`WǠF=R_Z QeE@>Opg^Ў5kCVwu3TyJ8#!{?B-dѹ^W0aS["aW#:[_~:꫏}k,1|;T"l^T:ez*}h4LY)Et,ꛨvD3WYhxzD|*[tdʶ%C`~EĖl*1Ѧ& )ewu}aNo ݶ*f 8^آ IlNFc~z/WGFke]&XL_*$1ʖ4y!$"B$$$%$$$%$$$%$$$%$$Z=v.CWȟB^o'oJŖ0(JaÆIk#ZnIŖĖĖĖĖĖ({Ͷ7rIENDB`PKZ9plugins/catch-gallery/admin/images/free-theme-246x175.jpgnu[ExifII*Duckyd+http://ns.adobe.com/xap/1.0/ Adobed     !1 A"Qaq2#$ Bb3Rr45UCsDTt%6Sd  !1AQa"q2BR#ԕbr3 ᢲS$4TdVCsu%& ?wFJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJT5痝[?]]=_]SnqC [qEw68㍓561 Oav9;9t&IcI$$IFgByz_km6k\QaL&[B> 9a{az n)7\+2(i=5<@o2Y7G&p%wxd9gX[/O[4\@9vFnoRM0dZ~78dqyPi+[{lV,ikkcKOb8@";d?d0I6ld%U4( XO5ʽ G0`w>}[:Z!vZX9n (Lđ8%d,ZNKk鞬VBvwBY5$GE+yɮ+nCv|tݬSvoζjKKtZ5ZQxQ3џ0aάX&OنnpzO"4T K \\zFit.Ùowč? + ч:M$8˧k]mԿQpojTJT*ww&[ $B%TAۈHG Q)my'.;jϭ7M,]orWʲo6Mu<(kIRB~IhRTANOR瞨(1|wLʐS'i>` ooe y[},@ɤ [ot>gAVӮCf)!h/CЌ] @4r9o Y6pqb>{ Nl_ZZxc̸0}[i=56 v9}޽YZzێm?C4O>^}?w:F1MA0z"uoWsx> |O {xJjEr36o6^0hcY<$] *)EMG_UҔiJ4R)FJQ(ҔiJ4elSErNMdǂCjA9|vh #^iu'Xlmϩw]܋%n./1lfir(v0ri|xmc% AB[%,F?v43gL~u&t;~}:ln";7i@>f\?S@$耣[y]K/#-L亴: =d&h=:d~T&HHlAq &JbaJbZb֑S QU2ՆIDØ6jN;lyj66J]M1ro"yNpnr(r ?VdӺ^j 8W1~0DFe3KT!0\oh7P5wrڏN&_>C?&?ɵOMΘMo~}mBHH@z D?6 t?Sz\_ N?÷EϧkK_Q鿟}3O.-t)S(lR@lA#i:d՟ޖ%I_/ϯp&j3M?ɇ7&3MQfD:>?3i?-_Q\?7|tr~OgKsׯ5Xo3< S:>?3iI?-_G7R~OgKsdat}~gLғ:3~[gC:~_gEXjs5qhfйy>oIvN]w믿ÿg_3<+vwgm.]q /_T0Jj1wԻ_QSxCj>߆_d,+ϨҔiJ4R)MO8@J?0xD/AAA,455Lu!تx<] ܻ.=in w#rXZs"C yaԽ?ǴFK(4J$v92@Ri\vviuxJ1I֧ZjWIE9 >xELJAP.8}ces紱ŤG,Gػn@u^ڶCQo44ioCd+h,2o9XIaX$uLUfeDD^]lF ^83әbI|d 8e8 Vii8&}c96^yU%Z1aO pJQS네4jJTY*bhO}`W.1LqLn6؏օX4{0SFŖq3L9p&QJfoCZbDXd!!òb>!g= {d@Ϙ PmɐE,vJG6DvæV D]ﷆRqw )^7ۦ>:*yO;}٪R/UM(!GîmJ_}|~zbo||:lR *"`;}J;Q#! Yxysh Ө8 #lLƀ1]ɀ %{;~s.Mg0~;͈f4)T48Y^\*9J`\gI68>"ȷFvMeعA'fd22zpc\I!*p_(1&Ò,'$s27).-y>QHe$^Z.uk_q$^3\{ۻRKEv; o(B>{Gu~׸sy{lQ}^'7d2qO1dkNBT"oyb¾nE&&V}'* A]Һ'L۩G7Xܮ"hٞ/`q ~ 5Qa(:x@ QY5YO4rZ#J\ƬUK+]jm,jñO>aw>87#DŽrV_3Ok2kkXa%M@5 љK^ke6%́P֜(1)RoZHIlPwj^3xZ[fy!E-YbdbT [nۦu(wX4Gjk"b#tK{{#ĕvR X6OtD/ F:X!q+ic= [lǒrW IufaqF+|V^87;)" &a~aezeg:bd4H #Z0y ^w7Vd 8㩄f1F1R释d:&5Ts0bѣAl[ "{ G341dց!ˇoy{OƮ"!M=uu[@6v w=D5ZT~Ν ap  uOE*`uҕ8 =G )S{n> ?z۪ҽn"Q>O۠mm?7ҕ<w]贯[ow=p߮>;鷏>:+?JÎuҩFJQ(ҔiJv7&q 2MK6~䬇m8YFmQ̦)'pIE)eT6+t뉷Kئhviɭj{g`!PZ7mv[](%lI܈anW“8YG!ZmӋ$d`Zqge -Ţ#\àt=duۺ^ůc$5KPC:ůD_nm[̞613K4Y 5o:I㻌_%k*ܫ.&Xŗъ&_&G{I#\jahH0AxBLK7^k2m`.^v;wNdB'8Lc#u+C{E]/!Lqqo~XrJc娴E3"ۙ;dlČM22U;3WLʊNݬĒn`qFFOoFd?$=һmewđ(g GTa9JG4y܊ʼn[?qyz5V1玹p$$rRROKFI(tђ"bik dtĒcF Stm{;X,aTB&#BW9 <[\p'Uˑa_:s&pWy |G9AZL(5@ 썬`&+ԝQ;#XSEZ V1xS~ % Vy7 4ֱ^r({0Ì819r ÕISS\ ={a1@ziL@mU*Xs:Ĭ%KI)!Ʃw-@srD@˻ 06D7us $iwkUo;̀_e$ARo9SD6/F*!1;Q@D?kxH{AWx&ܴ\ H@k?C\R 91ɀ]Q2Ği::e83v![# 9|+G[=|V@HpO_VYAoQ62² `Po -c Fʏ[lͻ4jt!!U7+{kYUPHXX&i5Gq3 *DR*LLwB"Dr%H9Z0!*- K󢼿ݛU-K sFjrRM@,}һݭn-- c#sE.%B(.0\ g xuȜup5swLP(6`_0fB }H_UCcf߲8eoku+[te2CWS>PR./w7tl /xk&SÜɂi®ܴwW檔wQ{]r1AE+%$mN٘X>8v*aNur[7EۓE>GFhanG{FA] Fm;Pj&mY>G -SwC/ՒIsZҥݸ))[Ŏ߫1Shl^`p\ 9$XmĎ$Nk\:/s'k4Ǒbjc!șË|#$/2^<]c\b]-.2ymUHPtt 3VScd]`RP^$^^[ͻ|K907Կ(uJ߸ hZ>9ri^35e [-RHNc95*j `3fh94Xx ~q)ĠE#Pδ6Ĕk*B㫵s|WwХW~$d_V,Ϝzhl`$O Fmqv>:qw3#&HAwiSwo=ǫw `di]WvF.@`P\t;NX%XPg]a$NSg6DVY"@GSV0D*y_4LndG8@n4c N15exGPLC0Mڐ̫$]#mBzpmq29 R6=tۏ. N{?x*|1ipv#Tu]+6%QműLXO!@Y&3N^U~? `jg*C6l؞rLUxdLȀw`V§ή{2~ǹW&1!2Dkn fW(fPRE'4 oEUj=6>HKj{^[&,'2N{N{`VjKJ9cXcW,rOgoEzFۦ"پިoTI3PYfryk#)?kf[ 4S+2/."D1b2q ud7,-׳JղE,.3\" Y%҄DLiI?6">ZE0C;*ĩRaʇX7B)*U*'@㿈TJsҩyEJ 0A!NI~BA P~RPOrUG~ዷZqoN9˵p>H3,%ց27j J-C} /rUo䌧0AМT@TO^8a($4*%O$d"iB)HdzB(JR0JRliTJYy'(zsdr̉tʪ(5+3jDL6;"msT:Oմt뿈RoNiR_ ߨx|viLx =(4y?Q&m&"ܘ=Dg˕q;rI5F#"Δw/E@Dۨ&v ~ӽCu@i8wR<ަ1̷:gu;+8kM ,E;(+XҤZ9g.~ґCyCig7& {K u}<|D;ߖV\:!GHYJr"pp,ƅfKK.E6)SC\ӫlc@$9WQ>.U_.,34c "@y+cI;h8v2f;1TS`1|G_6&kn>60 ~^3uSnw\i\cvK1vt4sGӝf+(Rc@0:M%aGm"{t` aSu\*72} DШI8xHӝ8S1,x%.JJ:.;-V BgcDf}QwB-Kqm6{>^]T kZgGB RڲB)34)eO㾶Pm ,&PUF燮7XXhIÎ.[U]` 7%#$fh|da{8Q;[R E(%آ:CkBV]vzWb7˽ ɿ|=Ep00}‘8 axH܂Y9h%ǼC/- M1FtS{7a2^-QCaC`%,ȎW'u,\Kt&H"ZΓ E\`o?sk}>-/ uTw`S G!cQc"VJIPz&?1GShgpd*#c' HQ9 +&M0 W' 0龭v:pN ]PKK<~pMbXʡ$lb»P"5% 27lݺLc`SNx S?rqf3_-܀>QU;Ʊoa{d#v0ay 9b7;OG-yiïf&iSȶ5WZ5Z%Fy%!R=FphIvML] (|2uTپMܒA0/fD *9J^H׹T~;un~y ND7 v=>ϏQRlӨl&(6DG})P)ӸDۇ|C .å*`n`?!_#?ۯ]7V4|[J?Ҡ?ۮèݥ*>t2PmlWI^g ϖ+S{(Rn5kȬ܀9vG &AvIj %)eǎ|uStKm o:}̬P%kXcLX0#eXwd)R=Ke6zA!T8w /ۯ,^O t/׳$'E5E9'DĮ[eV! buPݥ"e c߇XkK `^ROc[Re!e Axd9".c^.PK5b][{w2=rM107n#c+/4|~=+jmvSᧄ}T.T7#'YHFLʊL C|GN݆L{@nlQMl %I%x&#ҵRj=xec5wi3D(7JⲊz|K(Lz> c&Q_-##$#ңI $RP@ 2}"kUlq! РJp],ECî&k ]/lL8 63:B]A+>q7:\ -;,y7 :\low72^=lduL71U0j%oн7n`9،l\%I p<w'l򱁨X8icZ,d^F&i{+q7, N'8\QS)2يJ*`PDG6o,ic[Րӹų:Y˂.gk2~sb"S_5Uɮu)\V0jȊ@jB=LC}f1qU}r_e#,RLxIBICcOG@PD1{Dr^~]i` oqƾ< ri^ pMqIg_n ŵULNmk%++\dz)DU[^YJus*UuxG+ւf&-MN*}ml## Lj{VwqWw@x6-Nh(/5Kݲe5@Fs CA4Yo Ȝ<~.XXO9vYʖDAbN%ҁS@6r v㕚+ GU"HQcį#Ýu;?r)6 W,#!V&FԂMJ)k# 46(*JvƑ,N'\9aY[pD N83ƑE[P\۹ Xs!HVո#go ,֠uԎZˉIk%ɷM&MW,Į uU1&5F*S@P&Jt͕̒n8BdܸT |'Wv  ehʖY-Y\V!dFN (3V,cc*chv7-Mf1,6F $x[ l,b8IsyF%ˀG2pYXR0.PU|7Q Wno(Tܤr:JwG rT@CJ aoW2&]^eO"]a;m?~US @Gu m~ҕ%0x|zoҩPP ߨקߥ*a;zx4zzl?*I`0l"CnV ;#ӮJP8;7m*1›7ErSCP]m(pL&7:]^^[tԤbS_zohݿwm)}Khsav(( B-5VCAȨ)jԁ_㚙TB%:E#gMαG v10t~ 3lX[nj<<1-}!ݭ&\.isKx[k8(/^DB=8SAv L2{o!ZFmpk*9<_>-ef{alcF ·4.(yejf'!"̉CgRWP'M\\2耵 Ď5Ll{(oձu$ Ћ|7[Z zҪN@!Hys^9$*M^[Y\rYc* "E< P.6ᵋhlZAϮ[Qo}Ax7 cS&鍧Hn B$׶0Ye:aos&efo ))L`D&Ǝ>(J[ԂLf]UQG21%I+I+dS4y{rb z:T`2{l!CmST?X :L>SP㪥*?q(@?6=4 @nS: P6(0鿃NcJ6CR@D S w:ؠv Pvv~:%*rvl"'{U*I""lo>!:Pg5VOn >vnNU&)\4ÙC0Z"Y8ݠžљ\(,g~rBݵ_w}pUTyq3Fe;t{qKȍx?9p@ (7N'LaɼrbA9^.s$>d<{RkOOļ\?=] ZF\Z'3] .!@ 9Ũ䆴 W#8"Λ>cn{bf%ϊ&ZvBK+Ge?o ~S9s-G'%CKw((׫^պ~jBN5#`u6O} >+J C8{O%<~0n/4ϫ.u9by3< ?NUܙ}+mS#r c#6&l JU9RĢ]=%5c4f (=Chxn6Niks.${]kcɌ#t vmeej* *4-}B3;WtB%p]OWk VA7W\BV@8,C(D #Ds^t' 10CfǵV~Yl=|nz:"D۹IpY,$-4& wz?n|?%c=NJsn7VɆ䥂xV|%-A/].Lă@ ĝInb݄QVg,taQ\ns;18y+.Yqn|]Əɛ +:~}BM xrm1\a%uga&wQם&ROS*{T]4KJ|b؃P TWM7uXe4`J`{uYʋp_*AlC+iˣ7:覩J(X p.RN3uiw~89C\8v(m6 5{2SrAi^|,=RA; Ș>AUMdDJʂt~Mt&oۛ $vjQ z3<_0u77n꭭ܢvlf# N`dk6sH⼢BJfLm=v:E)rⶲUˢR6 >k*o Osvt:Ll]Y.c. 95v:L#?AgW5(LvdԤF%]8K({r=ʈ创S5Ԥ/!ˏλLn5o`&fįz}u^E299l&inIdΤ /Q>o3tȄ28rd$Wgdk L_V7p=b"uJBC\^QhAO닊4#zĤ+=DMLSW*JR}fɷic.%|fܚ@/Y@̔S^9F.c8%jFfT&v<-vż\Zlh b]n.D BE*C}8-(Q !h'$G4lO;Hs8R=8wvEu`\)d/4@9FbFj25m̏cm8r#h8EȊ .J&ʸ&qm٥<]ۑx "Z1L6kI$3N`.+Oޅ_wd\]Ѯ-J,+Ha&ucX˹]2(qQf`@z :,7foҲFJ 1TBx+Q1Zκak"_;Gjm}(SIY6EK! j8$Qp)+&g'^_l6qHpR8%緶]ԶxNQjru8_Q.94 "36f(Y7x|qRlcan:,k5=1<VҸc.(8S+WNIk~^QW>6N#ȗ{-)t S1^t{tyepϕemql |Q锣Đ4°T*rɑ"VsTN3kDxl]gl4z٫̤c{s0+1-%9w2*nMH_ n VErW hpxSVH;B81OE%^GrS"ŕ޳mFi\jh*I6|᳥b)LS;M6TR{s$=0U)٠6UǙ9/RdO1;LM%^R!+ylL.ڸ[ tQԕ1@e@D52{AQZV6#J HBȮr8*31 $,:1;HJ#omlBTz ’ia ;>GՕb6=WfN3'LCz Ē-dN"Tăa1D7״?Ѷs sps\ 1Ya㲕j;B9A(v|~EU-uKji$$BWZN8wuRsOc T{J&0ʷqq[iNev-$" -=;=]wتiGVGmҩT y)'i{6alvׁ{p;8JK\i-Sq`}EpSWQp܃wʦ/6]Z]b(S*p K_Yxe' {H9FtޑM1-9CkoKU"0)I!o FX)( {8P}}⧀3ZѼs|U̙j4 -8 ܾPz\[*J Qnݣqb@@81{ Xe]&D=MEL=*Sƹتh )Z`B?as]"ҭ,T[ȑYj I0&9ARb}.Qp^40$&Xǥmk5]7N`5Y2Y' 䂸¶h7uIRnfefII BJ)A1 "[]jDppiiL<֠Ua&aow MMq(Up}9NcOoXRFW̳n>>n@Cn͉5oZDO[lNH;*>jU6g]US9J)jECqyZAyD q~MeM^1'34ՏAb\\,%|<WƮOڷ3-}, °'^[7݉c<3uk@.:r&;TIj^4ȕM_xݔ۸Ts;11SS;S5jp8BB3c61ޒUP") OXx}斒ˆ.yqk#vtb*bBj7iDo(D^CsR!IA', c6jmT $L(J"@86'c#{!I.(8br_U%Nb2=eYv8)"S#ar LM)wt :~Rr} Gb;S!UAp .)`!e⼼Dj$qYLdBr.Hs =L62 ED@QFP}?CTiDW>&oh=H- QJ߀-Iѧ4u4޷`)Ref3TN-ak:݄#':M _h2f8+񆴄*\6Dga>F TT'(czP2(];jR?>]rGwr4Luk#$5y`=kfk֖9)uNqrʼn!^$3# RgM'g욖]9lTz 4Qb:Ur&du~k%{KC 5\tGc"gN66j!QNJ=qᲶf̈̉G}21t5R"0tB/++ 8fݞA̧iu=߾L@mlp-cU^*mG"c'w%%ohTp:7䘒qkV;mBM$K@H]rz,V1̨o clXٮ;DIjjs9ξ`pLnIǗo$̞a8]]ʄ~?Q6ssaYR$5Cz) .'N;M25xQrRAh.vՕL+Hxv$v @QO b(<E;?m6Skax{^-ExkLԛDV- #ErF17/X?+U@ u"7 s9xqcPW]w Jb)G&r9Ķ\)..5zV M͎"X{ *ѳ(?rBۮa8.6{VB!P@s\Om2[HxD1Ԅx%j"`V,[uOky/l䪴ɕYl4 GPɦcNc?al;L5`r p9nLu-p#$nY&YB+55POCBK@‰^]!sUi2r*.p9uK\${:70 U% <w]@[KNffأk8gm4-jN)*d[SpԧMBE.6H.$taLEh۳}2958J Z)bh*M|[K9FQ-ltZM}#gR)be 1mr0+˭g9/!Hġ(;rV hhcJpy)WQ/ \BV^t[Ӥ#ض&] IF4"̲"n"T%dfS{Nx9;Z8G2U?SIw2Ujw<2cƼqQߐн5ZYUD&^HQŻ9  ҟ8ʣrڽc2Fa\ 3Y1\ ᴆ;hb(Dc Z|N3;$1Y5m/.RY`I a$츳g9kШC9<`uԍ@8 bh)\r3,Qq,Lyd!AjӤLIb逈*ePJmA`}%pW`C~PpT3ImٶMy CX]~ IApQQ:Fa*Q/`X"f ,ZE2P;DSj"``!m,%B@ Ln빬H (0P rwwLs\ErupWnHMD)ZE&MHeΡj+8|v w.8s+m~K(H4U4dr]aL,XhE֩AB(&W+n8[=S;<ʯP-Xݸ34(i82uYǪ[%\`Afv%m雃r ș>q q.6[p<07f$zHPV@V?*=ba}\6Lz[N_m3h %DE%A.AtMЀyaleɌʮ|SC $ ="![LB`>, :{ ?"!`+F eg^sorn#:]eC2P@J8ptm<(&O/` Tx֚nuNnc~OZ8B'&מQF;8aQu@('xիeQ:ouZfET.DU3/q\ NBQĢkh+WHӆ>WEiOH\, aڙ"y39#|-*/ Ttܙ+Ro:ȑ&z?qF;yK,ĕDzĭ}(ۙfW1B䖠C\byWccڅ[0Vrfl 5| Xړ-!1? l3km|nEtR34@JeJamb&/H#|lFּR54ZI~fE’+LaGC[ܷ|{y0כy xfcm"aV762F2R] ®tA[PbYfnmak_euіZcsZHȻYkt.. QZZL N@8! )QrfÝL-14ղ+;*L;;]vWA5XI.)"wH}o!tbZ,=w^7]^sm#<70"{p@9ةqV|u2MIE*:[gt:޺ũ="ʑB;T.jIs☡O4F]zH>Uļ:{l-Dڢ$4 @> 7 UÁ!Y:ҁ12gL m%oG-f5qJ1Nv} mdd rra%1R{!d[j%Q2\r/e}%x%4Jp398G"J_d.tdmUŢ@Aw4u)!R`l[.4bwAIFgXqc6gi ! =+δ|Ws g)bl*Pw*EpQz}Ap/ oۗg5p׌UuJ̳@Dm.ŤDIj_LT1J׭϶ZL.-4sqH9ۂƎ{#ԜNN KBm٭^\0exf#E]% qj^^+Boto3(rATp$E`PCQ>Hk@A̜}ub+q3x#V夓,Έ3vaW, @pTDi@J=u'􌈭BNsp#*Ao=lߊvQYž:y$`G h]K-`gp%Ce/+q;۝<@=X~Pπ3mJȔc$~&hb7p&0 ml.,ֱ "ZXnv`W5x_*_,Qf55ln^S@Ҭ@hQeH>;j8;HCڤSPHöۅPhHvE^_8v+GR 6fQmSF*1B;U¬d6n:].65Am3a7;K:ZX݄GN4جp7c{ۅ)empC M#7'a`ހbu8 J (DJu!c5J9 ~owݒ`t0SFjրICNQyz֩W\ė_^fYR&R)ԴŒܵIZ]i`<{{ ӱ_}wM!+X%+PYGuͩ|m%__|L`n0bݗϖo)yKq9ԇadqC -/$d ~RvVU%07ݸW+Sμƫmp?*^ʘPVMJ&7 vO OK݌13O3lM6.(o[Ā?|sUo==ŏ蓏WWqV^:X(g IśytA605.$ ܀j༫k[}qYXiI\JfCxĚG6qjVZϋD:a'3&& *e;TT"B% = G^#sڞV9Ci_K9K~q1ȩ.q겸+&LƖ֋ 6KUIU*(Vz܇tzśݕsJCp#U aS/|[Mrr6yaAI$q#l2;C!9;Ux͒7<:==/F$ 1K9@&,q#kECJI:ٳoUCWL$ B pn0 p%ˍ~)$3N3g:Ye6&_R9$f5I B&:ԟhۡ hr~J+qgtuQ(ϴ-tK)/gMzBTc-05<=6K2^ ]+uI4rSIi+D /t`xuťĖhG yGзN([+Wm` # aghE}^XLhp>Xg³ֆu洢uZd5__JVq }^#AXH?-* 'ڬΣd`Qd ^♶P#- ,-hXkd9+_M ZP'fz>!Dy윻U&nCskӊVQQʒY ՆFN5r(6|qbc2f"@mz՟fS8NqCug~NTA!mutь[H*%{C?@Gt%GdLIm1E\,PAOV w-j Ttoa얒!'R 텩W6ߨSo&E6I8f /yҕɐbYb+d ֡tFᏘ{:h߹pvC,4 ])[/`k%h9L8]h;YN ØՁb`)&Lm+έ ԪlwG9cZݱky7!0rD:1TtJ%S+dXv-R54dk 47~Eu;5wҕwdڍ #ih@~j,4'.ƅQ`D>M6G |: :RM.Vd1$*ԓ2w,)fq)wHE#(_&`njLnV\lln6ip_CJW)L2r3<.O4Ӕe4K[3qaK1?Vw~[mªqh>*Ǟ7=4S>{SCܷ6amJ/+֗ tUB{zn@ 4ۑQiXX\2~E_!Ծ{ps54H)D!{Gp ^v̹<׻]m^c<@ ?)gGc-ˤ [ll9> 8WLRHNqŽ#u"Bj3twD@2fPn;kZ{1 c\5$Vtľ(jwEQӁpܵƼj25@cLazhDc% HZElqU1i(uN9d[u\Qi-qLrᨅqdpsß#\M.$)62O\/n/ I~"`ѕaT\nUx\ An dNxz}XˍKl1Ų4HQKypWNJs3}gF4:5ImՓPOE[l©̈W?Tu-=i{Y J}9`"IlKkJͨK1OnAS>L$B z9gv h9N?ӹE{U &1״5{71>Fm٩0* x{_wT$ Apjx0 q8@Cmz6k^C'͈ӣӀÒ3j4IU{v EskI-XqM-H휙I:>28Hn7@cto95SMJ˙)F+kɸH\,w|).elq6’zTnr&x;Y%§ʻ@ǪB8),2+b؛$GNHDu)BTїHťYZFIXmgq]ta.ЕcV8n[gD9 m)Y>PKZ0<plugins/catch-gallery/admin/images/premium-theme-246x175.jpgnu[ExifII*Duckyd+http://ns.adobe.com/xap/1.0/ Adobed      ! 1A"Q aq2B#3Rr$Td%ђS4XbCcDV֗s5Ee&6v7 !1AQ"aq2#BRbr3SCTcs$D%Ô4t ?ۣEhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhSQ70uif6d:o"T"3zC"壦pu%:g(Ӕ[>: ax\ ɺm9\E6 ȀSo1^˾0AH&3){QO+b |GٮS68Fm2ߨR||ő%['Z-nێVV(+gL^vmP9Wtw@;6R1>Fޭ<3F +p&HH2bOq\fhk/IH@ d0L|@C:_I'/k??ğ_F#~s8%J?-c??ufƀ^%v<Qƾr!:A6d0 cɔqVȎC[kS|yL2o7Aּ8쭆<9Yre0ԫU6g,Lԓ7`ݭU^.B&1 s:cNBEl=·*Y|P kn)PBO_XUTW0TA7*|n:Mt9YnG!ܛl%q<(*b|@U?zm}hyJ}1H>կqy30 iFMM&?si=)^*Bk\|>tJf|p6wdHw\_}#3}r>֮ad?$ypӌ|o֟;h[z3?]jsgIReҙ<}&kalM3?JHTqYs &CGz/V+d@GE?w_{$?kܠI ~C&To_;V8du.iyC䟙β%_&?R!灊Gw~ X1翐/c'+^Vk{\^Z\(E(EhQ4QF(E(E|5ZɾRf)G>oqexkCa,dlcA R ^,t ̸`П,r ؃[Z7!.37!uo6^ځޟ52o#!fa/uc8#uZQ6]a$'*N^7YF;l BۮD 6*C{!б @W3zX6.Av'/#Ѓre苵Uq )y#-3ngxί 6| l~wzTm;b$(F@RhG&`VǮ\Lq HITP{[PyMR2.TP<,u wx}ى.`|x$"e#H)`") CDXFLXo ,x $Xr,k$+8 [qĵYx(R)!cf4JjUU@SnّT(bPv@u՝dJ\\mllE _ an#\o0l?"z)@&p3 z con:Ȋ3 .2Y:ٴ-Ƙ0d~S6ع&vPYPX]P]Q SrF9ע:RBBթcFP؂i1rvfieޜ{) R&:YUk:-Uk I 0!:N^^m5 eR հu })قzYӦmRR 5F~L%b,B1wsDAL(uEC:Ke#m@LJ q6#V`6+,dW CL$3r(ƫVtP&"% GbXŬ4}P\gkk:+86YhUH4u&RxmDaQFtY1[@Ni$@q6jifD$Dpl?!R4peW`}td*G@:B%uxzuF(E(EhQ4QF(E(e9o՗,K# _-f\U,?) m@tы+LaK\_U+m6㕒yoW1]'瘪ʿWA>V8o途Cvԏqm zQM[.X`- r 6L&Qe-QI$M0Y"TB @"`UsGnQrU"5k :4t v1HPPrDrE/I\y"#iQcݶӷm((`|yHZޏ_g|㓯Q֬t_jIDZ*IO|\QUHie$! ~tMҮ`6RKޢNea^i$(Wn^FJo,iLʑkLݱ:dy\B$ϊI %as C2` 9#EW*yq<(V3Ԭ9$Q{ t19?I}Ǜbmz&qi?eFkէәI6-q6Ƞ,k2%YEo0.1[mߦ<|d98egK_N I6K?EOSs4$!ْT$&! $zneEDRn]"cRn,e"֝(X;>dfߤ ]omaMxV}UtI?yt2F+SKaPC۰{ϡ[⏦?uw:mF(E(Ehc ""PKT(yZLzTXI֫$cDua^7ѤgZN/FSC~dgK1q"[Ef8˞i6 %Md0Q0 *q MCK E+c!Xdcߖ-4݃oG}ox1;ԌhF ͜zR؛(>K}Y|d]ZTr[_m?`/uY`\N2te®@ahɸ&]m4cvٹ[>#9ǰEU[f`Z>?J+̟69! I0"8)H37`eRD0m4n`L̐bI!.G^W!XK/wI޺ntRKUʈ5aLqnw.$˹ofe鎐A"XU_yˢOM"ʜ&k'\^rYN1Hu0&z DD<ΣH(." Ssln82G X72[ 4u&y+c.dʷ760/nTOd7 S6f0nSFHw I^bְ>._ek+<2 S-Ǥ|c*gq0GlڪQ lrͱfRE%9!>oimHʟE=n>JV1U񗈈E%3&6Q7l;ByQ;i tyԂ7MzF>3 m!skMuDcȫvmpnٍP.h.rԐjXZf+T".~RY]17M#qg5rPh 8sV֧qk,el3G}DG"mj8(YO|j0 SBU%2ڥ)Q2 W-UD "c=ryx>B` B*yq*ʊ"jTl9~J+1̲Wm<'$38 }&cI:V┻0IldQvPOzG7`Knqƫ{8 ^Sw Si-zxV]HeXɈud3G42D6:C6ᤓbm9 Y+trkf_.rvV⚯JJL Q/Wt4y<9%qsm/8 Et夠f& FЊtWos`d!11T:{yCiީWl`uJܛmnp _+ dSVC7.T7]J 0W(e$kޥKlgj;JidLakTdu">N9.b/`6p÷lX# ;C$JTRWOji-jb!iYrrX$iRURȼmu2U'Lm~A1MI3e/:amqm*!Of^$` +s;H,ͺR(eUSePcqx鑶 rTAIŪ2!%26W , [q漢Ga 3ss_Yc/[5f@QO^ogk9:p~6,THPt  D,hwEc. .BqF6{+>'\'ÒwD+3DdGm"xg_=L bEATQ08u>˚_Y_Rפmlh.5yUJ(μAI(qڝU G>i LLc74WR^D8d ,PQԟ%/#Vp1.$)ؔ[T:Gb4-rn+\Nƭ\& IF~]p@$T*oN& 9@HnbfÊ5Фq\^e(13؉ m v hE Rs{GfNq9bqm.EflnjM5 љDŽd˦V$x;1c+i7]Ν# WI>,]Ubm9YɼdhEi q q Ҭ]qYoǚt9ǀ-k(LC䄶[x͗xnFr v;g/2UW]T2v4hZc/+@Ha "Ñ&ž59::! JC#u$E# |ME$WpDO ܠR$a_S"sM&7ֱQ ۖeG8QƙO!?nK][enB8wb @U(iBHð +=gvS}߻bo33蜪 <BW c^ԶÀ{޼?1;FTQQ_;)k59UuiR,x==b0,d`]i.a['Q)6!6\Y2}bTEa$199X5;5~s2LnA;o&.I=:zoqhk2zixѳ6`sd+"29[ADS#-τDCKxMl5SH0 Ae%c+Ms-7;K%=H%l7iSp*AKi%ǯht7̓*f."4D>&iC$mtP/ҽ͍bnCI;E2D\XLUuBb=$av Ϙ`}l}$YaOx9L}6.f>D92r͛(VL fbW&&LpLcXP-0 &LBkMG[xyaUf &/R4pKʂ§RN74rk6bl&oќp3NC 5/4b*CK%--cW;j-LŊ=YH0= T=[o ~aؚJq y7Q)n;Ħ "ϕٿO jx#WrZ9C~;c"כ\~ruxnѨ&)us(rDeN&7.bjcKAmӮҩ#Dqw۷LiWΔ{-1 ܿ~Qe>>݊P؄/@IA)e'ֱgA;{ {}݇}t\ ׭T+Y " m~ ÿԃc 9 WWV<^{R漺]0EWoz%QzM~ $ w6" LpB 2nRnQcQݳoJ6t1P6).CqO0 1Sr0RJk&$'w_%!$>puped1S"-Ժ׃e:XY(;~Gn,Fk2QU⬏R:a!$`ɔ@rxskc w|y<_u#$Pp*A4U0(MhH1e~Ω"YQl)d)=jKGLb)%0,QE(b\¿)Sc,4כ߶QC#Hm`2  Et\$l}jmz̽c33m(Nܑrl!&:Vk[FK,5Ú9koq!pAcieJ{X+2̵[${NCQs9yAfwZ vna. rd8x!Ȓ&3;JRv۱v84~u,^^FO%X 1gVqk/ /QB9a5a,+9˪=1^{ݰU^q=z6 ? H ,[rFT~.TV_mI֦}kҙ0p{1)Sp!3~4݉2gTfJDFTɳ>}74~Sv -Dzpێnz2,kFXix¼r)6ɨi=®e$|ଠW \H֋UdկwZ4V6nJpIH-YJQȧN˯KJD|G17}zwʌH?|?4qQU=vFڀ@>/bp' .3:u) :REû-[3`K;QQOSlU4Sw=>xg/2X%Hq/ؠ\Z{VEdX4,B(vv7݃'eUR:;I8[g!eSȄM;eF˟q-4s.2 ŻJ-6pN`I7f XBkY2Noh) c`Y0TX [U- g~c?Giy2SK3Z%/hCPiCB32"4E~u|a΂Y/kq7<ܺ~$jȠ,t{/C7k`KbʓՉ#k vA $رYk W"c˖B=mJ\DͮFm3I'r"`%8 fܐ FY^$ΜUfTh<ʱC`^I (f\xfyny KNfirKǺFyj[B RQGF]exf鼑c'*0H]au3D s*Ԃ vfT(q&XnxfPPM xy(cK]j#Z35)x7/,geBr"S+甄+tUpM_fc ۶H̒@![1^Pܾ7(1nE"6_RrYXuQ[S`jSG L}6yN,>W2R"\(;*:`hArIӕum^nI]d,k@56 Y[^ mE'7r"7'@ zSF7QʌݏcT/]m/H&޴)-'*SVT=ӕH : %TPͳv\f$XFa)+?2?m))P-3(hj7qqj{ho8Ѳ*3l2i  X 쾆.zIĉ*)#/;r3 `.AZqQ"U)rgm*8A9.5fTnFE|lW?Kd]oqJTP -qASSHV8e|i ݉PW4VF)ĬO wf Zϔ=1̴}6bɴAn %9+3C3EL1>_:"j$i J"[pA0np*:p3^FQbO1VPJkg>*q RVMxUa]X^=T|jj J'&=pȽQ܃ dUQ˳tgJ#&8>n9:?*:V4Hd8<}nM-~j]p }UV%T`FB:gtWn hqs[R;Edn`a[H.}ËIDx8>!Ls|$Þʉj<9IԜ6%ELM] ]5 H@$=oGqwCA3&Ik MCv3.DpwכM鷃_rr\mI ՛eL>L_37Y@eD?}-!ːx40o'$bS9QW"rneAuCuؤ3Ca Ml40@T[roXy5tG6HL b& \%V*&[GJ2z8/ˋsZQ˧mԆ+rU]$BہA" D6 $Wc?mr2a|2D._刁Ly]$K/:iXci>%'!MtGłh|8 wwV&3PO[`3O7r<_#X@+R cEVo/51Mpɠb uGƖ&yoi7C9Wq ` kr8WK@CAD"da"ce* 6mM[U D00~XpǏ (T`UjUV;~_,$pBW]8xj=]GH˨u [cr3BȨ>χA}G#[dWgCp(E_yEȘC ;q`*J>VmdXd>t/sUw#l* ~6$SV2b}@?^E< Qr۶]BP{`?]^N#N*yKoZ_"߫d^>l,e.S&I'`UgQ^ JѾQf_h_暔=`n e H6]HKr92fFjr'6K.s`1hn͢h݂76 5=:I('$U X(c: r:=T!-05 uS., zJsVV%hU32]TvM lEJmv"?ͪ ~3*`PB(< m GS:]9]y L6`Ա2asg|6,Orc9xwv Ͻ{F 8b!k|Qr]#kPNmp~ŒFβK;0X)3wWW+LhT%xBUmpEf]ԋZ,B h(w1:][hNaVLUYr ]+ɟ'wJrRV;.4`>}zXR=Z{ɓFW%gn@qaJķ)"w` ¥ʏI訢 ..[l?+Ӌ}@oGu"R3\3+ZLI"-/ t\]EMH2KG,zr'NgkqQgW`n5Xv߃qmJ/D;d6IT!nQݳVW"ZXAL9\\1+7v8;Il #mmu~<@;Ԓ̀3tAe]yf_Ed'U<+]^ϝ;sW(,C&=A˪,\$'QEr}(96KY/"ht5rl+12u@D<8InVca,}O9dj-8qi=[K0Ug*qIScb )h-(7^'n1k,Aok_p瘝7҂,^r2rOp=-\8ÍGXΚ9h,Ed>Eőe+yE-m=T{AhL~_BW_yĂ[׃)r3MVz#^AB*]ȼKxBaH.*N䀏/}ED k: p ĞK;Fݒٸ1L{YKr@:/ݰ $+E 誕eWP RLC,Eohum[&VkT Yq kq?YgZOC2F'& C$bI3<3~zeZ6UUH IPv/cG:.G >M-iމ$ HS*# 1M 9ƿt VwԌ sv:c&8;Ze'6N^awI|$nC Dc Œ^.E("{oDmoa@SO08_)잹Uߝ _y5@ Va"O"m,^3"O?!Xvkq50 H`A!>䟫"V02֯T'@[ $ׄ[%^,*`QUJ@P mfk|ɝFKA)PlF;*7]m\6i“؟5C13LLuv^qU=F4Js9;L8۷Fm~ f,bÍ$vSVnf@Y$& ׹}mnRO%FImQ"JFW&xpȢRE(s6(x86ʹc49EŭN=s/XU#0X{k_f=qH>H"ޮrLY4eMUB8V>r;uo̓go.;Qo륹8pn82[hXvxEuZ2Dت ~!'Q}ݯeFP*+0&Kb&4!J~jPLs`viָlPȐzH"#m`]8Ks#/uaqaA='&R Ēx)S)#.7 /Y, Q|'!d("-BTuB(X7MG oD=A6x_/s,\TJSP@vį Ou^:G9hBl΁M 8UWc V/(Ft|шHZѐV2qSaԳ:(U% {dm!(oFG+>0a+ɋ9 9D|5dC,c$b<3eI~|!EːYbiQ9K[:ĢY9'*DAǏ(oդ .aJiY\v%I7$$5iAG5U;"*P#2ڣ2 ><ߓ"Ȓ`1Ug(Ycnb/4s~MmO1hϻhޒ*K@B+uI ilyŚ8V#aQne(I&xIՓ[e_G ĩ1H ՜xKh5c=Vs2]ʊkcǩ:{iscTdbl͏gqEGNh5^Bd"RHܑ8SwEbaư{g:}'{ )0WŹP 3?Aܷ?sIQs~+T :鬲ehTFԃP TUP~(-'o~cǷMs2>V(>G&wԛN?W6@\I(p(t+^(G>:??(YO`$Wpv|La-s~)^$%l"*~)zJeaJUמ# X$ʆ-}{~uyRy0  ;O#)Y22dt nDx{{DYG2EH& а9{ kMr #Ua: J buS(v=Pq05=ܬ6eD__-A?:+15lWx.j-5Em)y1Vb edn4)*;sr:d,D0 HivFi< N{]kERz\9=+9ӂj%*^b(fk'G]{&$thi4UB';meD+f;Zs f:@*k{i3 ]2^U$oz1xf.՘˻UGP+6an(:xi˩sLbk\:ہӈ` ǘq#^NGݡ]lRTD 6(6{Gp- :_?fWҲ ߕJ?!1j iD-KT3ݯ_6l&DIQ TCꥦ^`Eak^;[q"Ps4NĨG8qCh#"&o*X&XTXJ F!؏ ;VV %y¨jyyU[De;^/5ª&HS ԁ](CP>> # %t--[Ӟ0aGv$Ho#gQDLG5'a~CHƸj2J:~fn&U|\t3* =%TmkEp/2󹽮| +k1 dBnyIIDebHLIn+ftvHV0 "]&0f/!_N-oUJ菲a"4GR)/J@+0)@<4+k-<$/T V sE#n>O wy0)1@vЕ?G_PZy:/?ӓW@8BtPrm!m5KO̠5>~vn tēdƲ*11Ԭy< @vֱ|LJlzQ+ݚƿ$}gkgƋ_۷LoT,v;-1\&O^_ݸė +,|_Rhk_xM \[vs_[B(me2`zm?6GVMߎ?$#h?]_)5X|SzΝCMC􁅨p͟[8IzztM0r|uȄr|K0Pt!I!8 CVCt=<2s/ۗ{{xmYnAÿZ|1rsJWWڞZg]7`@ͳSL8p!bnTP7ıilFG Qe̱ b}tU GZ@YtیyWpQ]˕ҝ*P:sl#σ׺{6\,;'6ڪUI'zradu][XcCeJGhxke,@=2v!վB9r 7m+i3YWό]AA&Hӎ33c6ԋ ?5: |4UE0r4LuYvA?JE+Qaca$E9#v7L t2n ٯ¶0af_ۥ&㢨Su%"*&lh?*=n) m{c{mƹUOZv_#~N%dp*^^83gBQu2;_L&L*Gä6:sH n=8YLa O*[6*X3G~PYü{)!O$_$Y=I[8eH>\q. Ce/,X0倰@Q )'|MǷT9 7;$%+2ǑCW%+4,vRyDG@vݲ1qN, /YY/)`.M΄&7D Yʗ,T*H|6lo Y̼7xhL 4]4a#Z$O2狑?IMʌGn6[rz3&_8}ܾc[5%\ {rɾXWg++F(UQxD(avJqƖ'24PFx!]9M/ F,@0EY؆1Ru[wP1ϥ& (&a5  B8_^M:d[SI[16}TsB?NUݛ;Nvʊi1L%.yuσOZ) ubmF`p;aуpotk*}u}Q7 -†G-%j&SFEҗƦ@ؾ`VLwz=p2H^ځ^2Z_UkaqcXpx|d:?(jS;GMu5. 0$Slu:@~0G7"EĖ9c3CC!!@h/Y*8+£)Hc;oO¡[=B"Ī0 0w&!;%a m-'`;t~a 敽&icaV1٢_7fhR?@ULm5ʼ )<ǚ-VTO;U|ͬf+3E}frʻ&r6sRHqEe2jU u?M,\5hzo°LIox>[ݰSX%r;D* #7v׬aS"f/AG 46.;g[պLo4GtnmPv's?m2֩?,C)\o? cmO=ƽKYt خ AMPPIQ8?3Ô TpBnB"(xߴ?H?[CGGo-gj?[CGY.IHyGb0(p1zS/xkgj?[CGI>^9Qr%cigmF&ذ (IlA6 >ԘaaeŸ^8o-#X̺SLYa4Lkjvrv MֿZt͕zg=m;) Z%jt<^,B9a!`ӾOܷI1FT9޻iZdO-RNgݱLM&cgbjA*K}$,ߑ.qצ1[xdYW5y<4rZ1ThN4>O}PG dJcM&>فFc'&8 IrI'0!KjM}期ihήK(:aR p xj֗– (XpՠU.OnkK1ۙ1.yYneJkЫ3wx\ɥqÉV47G#niz턌k!S)ɪda R_͍ ~ʛ,$oʤx@9A׸4Sn; yLu0c1Hfo4s4syj)<8{G[yҧ PnM[2Q$ʩD8>=_6xAm@ssnk^wvĂ\\KѸ {jRB;k1ěf`=62\ n>eh3s24sE;Cmiȳ9&ßr0롸*[[z׸}mx{ Lذ̶+_-T'K6eC"3$"G ;-~Zdd3TȐAG=%X6ԉć 'T 7&MSfeddf!9eBnmLE+2ؙӵH*:10h3$#yěx'4x(nvz+ oLsdBbIf$3nu|؂0D& mlJTs O bS[4zBsFӌp%n*)2yjO R;S5nDHp"풳a-p![A{Y<(3 U+yE~-]O-)-Vy"cW,S(cقG)^~ϋ6n"S"Eܲh@ү ٰs$Vy H + /0ֻ|,nIF\2* ]vO"UPzͧ5Q4QF+sIN<H}W/G8ORJvǴZj:3@a ;{CRUu*\ZVQ g.cF-Bd sddh9YlmfHYzNX511#Uʇh JV, KsF9`!(G5jo),m6TzA1bXq`lf\z%"G8\]u'5jVUVeJݑ@$fؾVf7G>7ex1J)@Y$Oyf7~sAP=)խ`=ˮ-ϼg㥬Z㦘w=jkZ."*%@=*b ( aP gޕEװt돼BS1 F)u,ÛL&%Ш]ccvUea*VeĖB_g%w/dkSvpvDEE@!p;:wߓeooY4{Կj*q#}}#J93X>^`xXeye^Q;2XqyɝSŁm=y/Mo+m*e%8 /,_2Wo}u2g\|XCcD1 6kSB#c;~${ZrMі]f-)3 ӎ9#nUˆw(e1[n“.|"sGssۦÅtޚN7}~? Ó 7hH*3_ 9)]c[5&Y<͡&B-DdywX9[nþc2ekS=]@4^7r9}AdlFd3K,S\rnvWB*hkO=qVFf,S>^?9_Ƅ ܪY"'UU1˰AI948Y3Ux$6VӼBn% n|JΔW2èQvr?>vvxqS$B!vY5^ ͞[>cDY[cr:\[f$ಝ-x%7Vvj=*}b'1OMd6Ke0&kLFakB6>f^BؔIL\’qCI1id JW>T tb2HET2Lޣ=]m8I0׉h:΀!<?Ws܅LcÄYw[qy֍Z"_'!3euJ4UgT:iX+_V4ER.wL- d9Jm6 ;Qoq"bе_*1<~Q@`x(OgmK@[T\ݡ86@D5uO/p;% z ZBx^ߗ]qXT 4& Db$dXPSaeÏҜ>oIxmH:(}!ԡ(ѢC}Ep`oIIWW!\%+LKu}i9t^ p7  \=ZW `dHJr3l/oG3 ۱'0PJQfM4ШG =ZksY7 {Ց4D^XdE<7-k7iAxM?QFew~K j$! CCkJ G 'p}Fsvp &r|y<('bI^-g6E5^I Ų5yQ0t́:ʡRrc"߼M'iIv Vp1~1[[f<Ҙ"%[.6[^5{;f|qUŝܳΨ/JTl-z5H4f10՛FCu(d7MCe TL>I6E^{[VhQ܏}cS?2=I_A<[GEC1]Ȋ.nU˅e1R /3jySnĚqTFҌh4%A:nUGո;z>Fj=~.I|Rٽq*vSH;wH*&rNH̫c}6 cT~0l@ ب6 /E0c-aZ, <ۨ kMkS.ц"铰˜[4"/B z }WM'Pc 0b4*wGOZ,X& ΢?/tݷIML|#>h bf nB>鮴LU$i`e_ %]+W/<5ޠ[a }i)eEF(H.ُoغs~YWe^fkydInx𸺑p+׿,>qu:/\ӒLr|K{FAun4yܲ2lozmvod$UMcG*@cf\bJAcX*'n9pHR4:2_cF+Z\.Td"ђVhCA"삅L;i( &8Yxzagfg ]M,AbǮy LpqR0LcP(@68~qu!9XPI<@{q L<_h]T 5$=5Uv39K2D1]ܬ F0aPy2ӗ83\7@T)L?,VگM|~)caf#.}jXrifCYm+*^GY]{E(yXvcJEi%D"=A5^;Af탶˟EP5Nh7#zgҝg/mrmk9#TF Jb~@:ŖMEɾMD\ Yg&^T֒ 9B$cC)8X̐{UJտgi!H@/{iWab6<>5-+;V)%\I@) ]C"bq0]< AU0֯ .`Q9FS(2\HFW>[6ӲH# )R?c[;hP-}}:VK;˒c s T~ LPDC@µsz o} |.?Oڬ> ?YyǸQD8?h4cQp>FK> ?Y<l\{S}~<ڡ)ߒ~?Y< 24B] _n{>*?Uc=´n.mKs>JqfedF Iju^?b6zy]EDc40):nL5B4G<nZz>}Yv$, rF cוosO[D^:9Ĩ3 $C~)4ζG [4k+x!KJJG(Ӻ ߞ5>S f VܨS^Uo4cWX 1N21FqLC!YK֨Y J=˥RvBU2 ,=#(C-ArĪߞYX[ED1|otΞ]b Tyy3ȖHMK &Du"gc R&RZXQyÜ51Dz[JM. w1.=cS%c%2SοV`iN0M#;4D{C6F>@;f:J=dX\tOaӍZM%^o-Da}-sُfyVԲRllz&ud+21.&Zf۳$NDM 'ldBFӧw zlC7Xh8uԐ}Uv?]~?WCs W :}?}QNN\ʩm?ǭTŠ<*aY8SvQY 'Ѣ4QX7!fm74QP#ޟX˓Sy;aƸ3wj=S#dP=\PñNbq051!O5?.Mugϝ kcE[BaՋ7^x>ݿ7a_eS0Y*ɸPTL>;oY?!ڙʏ0"^ 6?sa԰ňʷ\^  #b-\⪂ _f*$7Y#~DojrW-ا1C[Ш 16TPqIC%L2I5L%7|7<xۍkikRd?o}(wb[M k$ @ wc"_b=.?R2L{8Ed1xU_+Gv͆.9[UD1sGnҋzr $ȁ@r(c×w:3EuLJmu}6V.-6a'"?W;tuF}tUfA5$TLY"._xctpAV_xJse hԟo6|r;t41$^,zI"Y˸C25LC'k=Un$\J%/doȘ?> 3V7}%ꔥu[zv3q :ysWϸMa=N$J7{;{o "hV9hg+T2_x+EU}VȜqW[[5引Ds0ƚ^.sICNd&攆IrKT8 CI#5n>{*wilnpO+X#Aֵ>M]AMʓvꛖa\U`D>X1JzĥQ)zKϙi|.E76V/Wn~>;_ 8]!T)aKqS.elLrivZKr94eifWV7fFXjIP*:::22.r$=Y<&*\[[`tft#υOjrwƳK%ekO|*S4Z?pk?XDh($q(LLi"%0qLd' F6 ]ԞJ1O)YJa<3I6h˼3dģD#@t6tK C\5R3tW?[Go<εM'3~ʓc!ʲWV%Ɔn8Øߦ~ېS?ZW!v}x2%JܵX#ShbJļ§9D,d0=i{>2bL]v&Ezi7[7 N&>V<""2qtv,? G"T "EG ] WIC=Wc4+9inOl*o9z[P|騫hŏ*tP0i@]{&͋|aL* n-N׭>D|ꮲ;ŗ#|;r-ijEE{CF;@ۇSj_󧡣6sL >WƿfWՋПWܝ_1g׿k <ĔNQvUg,!&Ge"ɿM!lmb%P9|󗫶mcioH2$@'F7t ] 9[7Y=]IQFSE-`}[Pn-z2Iƻyɞ:rKS3bB8r'S)w˓$גǯ17㆜;Gy%e8>c_y-č{xa,v\[%/<^JI(쬷KF+8'` n^I<]B0CL0MN:V߸4Y(K"VZ(F0A$&vu"WhluABzLM@DK#ON5-m}^GW:}8r!45G*2xc@ ֣Y,n)52&p/2I"쮢&9&>ð_N?P_?-iSʮiw r~'pUЃJR;.Rjq&ߧh7#ee5Oό#\%9]N r"r|D ^~Y$)+.¡(Xt(0{"Q`u}Gi4ɆM!~~Fuj2eys-%X}IhkO>`Wgm)~]m~R޾ nN]eX`%U&.&u4s`*sYClh{{M-ji`ɏڳrߓe&I1,YfKŦe`;dJf& IP8oXྛ_EwRuʍ 9jY99o,1J#+UR !c}k{Vt,GN&A'1W]Fʦ6HtYRyJg,FU÷=MN܌Ġ).78T]J9o2 ~"ڛ~j,A[}u{f.Wpp݇e~s.n3}扮AګFX: Cku/@E8rcDZW)2-+ZY\k<j$$$tz&Vc?RA 4r Ԏ`eƂ 9mIb)hE1W V q1CWoJHcrWTD6LCrPnQkpq'{i7y}#G'{i=f}Tq~Gmw˼PNy{|{._HC>5GJ:y7׫#yί/79=#K=q=y䏿hmx}v_HҾ$};G/{hmbg_A|fCv(e>gχ}9}#G'{i"Zҍ?0Ig|`cut>-9=#N?Hv_HyG˭___Ӿ9}#G'{iI!i;=y^zkv: to=rzG_=q=y䏿hm+uKҕR#x赏ejݢ9q(aqD>&Bb\o`Ȋ sH5$wvlevC|J:>a56 hxvSԟ 1ްru 1qV+Ԧ7<Ŏ~(#S0C>)xu`e/naGjCew“ 1wmA"ܱD.w))?Fbb2?02EW_Luvgm2%H@2Zo v,6ކ1._$0?uny-jPKZ :plugins/catch-gallery/admin/images/free-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp *<yIDATx] xΒs$Ⱦj)nPQ[}KENJqb*֥(,(\dA @=g?3$hNއ!sf柜M4JV3F&MHL߮]`0 `0 `0 `0 `0 `b3 &6`b3^(i/>++Krf=`$ɬVG7(7#1Iob3Llf0Llf0LlHha '߂ԁpьM[Q JU7zlyo!I?T~7dZ4N=rЈ} ܂859iCJʦx_56"H #Jlb{F\|s،B(F_JC?#5$[*xIG;ocr37jUi[VUTfoUuF~_"IcoyLl DHdZ'!@(u/X\}甜Td0;5ݐ6vh]%9cVz.Ob>>5uꩧ?O^͛G۶mKrsܦH 51ߖF}Qf[3(ؒX}EҾWn4y LPxN.e9_ QWr9DXFm#Fȑ#iժU =Ǐtp :5M#CNRRRԑāIų":o;Ol*Y: ێ7/W[ Qa3rR(aF)vrAPk5>ZU饪:?Q]vA֤~Wp_`P~Nr[4J w#-H3kLm-H.1I-%n4,E 66h /9Q ['T|rfcpF*vcl+@AT뮣XْduhZ[YT"cn%T!HҀĽo@ _1<ޞK -@wnn=BWNͣu^zbB?ـTzjsݱ/??!ϥk [nO?T#*엿ec1fd9 UPAZ\?jotۂܫr-Y!J^7NxZ8.IPMLN̡44Ӥat ӥtcݺ.nEy=>%nXB”xxGOj|eћotF;;!ƶDU𝋆.M sZz+_<UvL:v4KO˅8/QPj |9Swi W> m,LUҚAHVϧKJ23Fnۿ?[:o݉#HHRSS)##C(n|? ̊ؒ/)Qʜ!5AyǥܯkJ; b%$=1ÙlV!~ n Э{:{.^|9ogy.I3fSO=%U^fMZɟp;Q`F ]BCm/w&nONs:bXq)kd;1~o؞NMR5:Cꚑ&+r*KWNtm,<^ܹz)Lo~#csΥ?];4 +̍m*vc7YZ+#N86&a U%SLܖS誑'9tso,ҝ¤^s@/USrg8%QYP(TCVJlEߘڰa0FJSSSO{iS@l&릢sf S5 ^16^81Zt*Zy./ܴ<5c*txOOv-p|wi siwsC0?)"ܛ7owۥB1u2ekhٞGdMP r5xRO̥k|4dtGDӯBe:^qC_O+S~F;|dVWB;$L%K|x -I ѣ |ڢ(p{E6nishdMߒbKN-vӢ贜( X.ԷB(sG禄wT9I#2i\zFA 8U(Ð-P\+7曘΃vPd Z1:ЬUB 3,U> a^-t1+)nXwh3$b:hII3=0:2m؞ 5T  %7c0՗oz?=:1'P7620 NdЂf2e},s["/cZ /|JA.a#lѾ&Zr}͠O9@+vfY;ٳqw]]]8Ɛ `,]ZZ*簓6K:AIv'Oڗ[>Cȕ¬B?4!AV|aC-t~R;*m¸!69:3#-  CTZUU!4MWWkeosjJGjl<#=;hEKO/xT&s;'B)\Aܜl'%⢶oJQ`u :ϟQs_2tǎG6D2d`c>p@ڽ{LI4 Te3)`cMtr(s oMw%\;Rх2$Qbaz9.pun #2T+yzZ b_9(rK C G}$בrh֬YrOJu+׿E5554x` ///Og ]⿱$=@>"0A^A~QJ3$Y{4XT;Hs{/=@ 2wRILlf -[FۑRKDŽPAѰagȑ#RAl5<{>|ў'f+PtgLvТYpOx4Iǹ.9]N%wHFbCi-Zˣ)Su(4 /xP1cb+av/[l-H$`h(ɘr_&T!~=/ ~ oH4FZR Y`b}zٿo7@)Pq`\LhFj;l*LJ Aj jc'34z!*4hxUWGGQ::@hسgW+lsٌ(aJ(y7B"] HG[nᤣMiw)Lr"(7.s`NիWwUϷDh iWZ[[kdJ n9Nt3Lb仚r=JeJp$SYHW;(Rgm(rg a׼NNEiyV]a}/=s`s`r {P_#,bέ*7j;Z]x '߂u>pwˌ5L!4^{-{rTȀ;8q7|3}'|wYj4M1NF*PtUX/g0@ŋ:Yk2 1+V/Lo<ިqPR9sO?F/: ("jklg3PIW@Lb(*~ȥ9*ƾ3= z+l10 0rWHBQ`~Pi… t~W~w}*(`Վ/,NSpzG}~{#$>yeTY9@<@wqI'csUc~'ɇ9H͛o߯Vˍ7hgevZx1JĹ;::~W<3jL' _r%r-:0p@8~WHX`G ^|/h„ t}}'Nԏ: 3<'PO:rʕ+ow8`nǩpɍJ2 8HnV3<z]U}917y7m$Vp(qu|n߾]馛tj](3W^*mB'A1scaC8'c6>s(r:P'V]+o3gq8@.X+,8QeV /`Tv*M)? 8錿&zg^By% #ᱡ0$1A;FJٻ5IrH:lJ۶;n;ϬH1+ZW"Ŋx-/^d߱+/$4/RA`,Xt1Sp);Exqӧ}p8v';8MHEƋ)=N0;ڽpn Մ:+u' w.B^Hs5X᱾뮻C㏇{F@Tt>6ulx)]yQbj7fw粭Z}G㜺Mr{aݬ!@(*;a8]$Rc a*|gӻt Vf 2+ *j[,{x:F VߪpHQc*(8ҿ^^C*#{Easj^ `}OOvj j3+_ caݩsowlͩqwi6[MqUG,ۤ^FMlL!azc>[n|F-8p@Nej[,{uu ˱ˆ/c{=W<\ftoUϓli]}dz]# qDWPXq`0،.U!L'a16WX?ͥP>8svd 8V,h% ǎ# Dac>9U, Ku87]6I糍eTt htߎD#_S+UrBKU&;{!ͩPs()J#5G(uEټ?8n@ D%} % j4ÂQTSӳЌ%)Xhb$ AX` p饗HCTN0ߘhDJ#E E $t,*EV\8^rSXhz b(RSi8)e%4,|Ϫ ug0+QWYY#}RfJ` p>I3chDS?j71[*w)ܱ/N)wNQbIKlŠ܏cƌab'sPBMqf0Llf0Llf0 m›IENDB`PKZ@LL'plugins/catch-gallery/admin/js/admin.jsnu[(function ($) { 'use strict'; $(function () { // Tabs $('.catch_widget_settings .nav-tab-wrapper a').on( 'click', function (e) { e.preventDefault(); if (!$(this).hasClass('ui-state-active')) { $('.nav-tab').removeClass('nav-tab-active'); $('.wpcatchtab').removeClass('active').fadeOut(0); $(this).addClass('nav-tab-active'); var anchorAttr = $(this).attr('href'); $(anchorAttr).addClass('active').fadeOut(0).fadeIn(500); } } ); /* CPT switch */ $('.ctp-switch').on('click', function () { var loader = $(this).parent().next(); loader.show(); var main_control = $(this); var data = { action: 'ctp_switch', value: this.checked, security: $('#ctp_tabs_nonce').val(), option_name: main_control.attr('rel'), }; $.post(ajaxurl, data, function (response) { response = $.trim(response); if ('1' == response) { main_control.parent().parent().addClass('active'); main_control.parent().parent().removeClass('inactive'); } else if ('0' == response) { main_control.parent().parent().addClass('inactive'); main_control.parent().parent().removeClass('active'); } else { alert(response); } loader.hide(); }); }); /* CPT switch End */ }); // jQuery Match Height init for sidebar spots $(document).ready(function () { $( '.catch-sidebar-spot .sidebar-spot-inner, .col-2 .catch-lists li, .col-3 .catch-lists li, .catch-modules' ).matchHeight(); }); // jQuery UI Tooltip initializaion $(document).ready(function () { $('.tooltip').tooltip(); }); })(jQuery); PKZa 8plugins/catch-gallery/admin/js/jquery.matchHeight.min.jsnu[!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){var b=-1,c=-1,d=function(a){return parseFloat(a)||0},e=function(b){var c=a(b),e=null,f=[];return c.each(function(){var b=a(this),c=b.offset().top-d(b.css("margin-top")),g=f.length>0?f[f.length-1]:null;null===g?f.push(b):Math.floor(Math.abs(e-c))<=1?f[f.length-1]=g.add(b):f.push(b),e=c}),f},f=function(b){var c={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof b?a.extend(c,b):("boolean"==typeof b?c.byRow=b:"remove"===b&&(c.remove=!0),c)},g=a.fn.matchHeight=function(b){var c=f(b);if(c.remove){var d=this;return this.css(c.property,""),a.each(g._groups,function(a,b){b.elements=b.elements.not(d)}),this}return this.length<=1&&!c.target?this:(g._groups.push({elements:this,options:c}),g._apply(this,c),this)};g.version="master",g._groups=[],g._throttle=80,g._maintainScroll=!1,g._beforeUpdate=null,g._afterUpdate=null,g._rows=e,g._parse=d,g._parseOptions=f,g._apply=function(b,c){var h=f(c),i=a(b),j=[i],k=a(window).scrollTop(),l=a("html").outerHeight(!0),m=i.parents().filter(":hidden");return m.each(function(){var b=a(this);b.data("style-cache",b.attr("style"))}),m.css("display","block"),h.byRow&&!h.target&&(i.each(function(){var b=a(this),c=b.css("display");"inline-block"!==c&&"flex"!==c&&"inline-flex"!==c&&(c="block"),b.data("style-cache",b.attr("style")),b.css({display:c,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),j=e(i),i.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||"")})),a.each(j,function(b,c){var e=a(c),f=0;if(h.target)f=h.target.outerHeight(!1);else{if(h.byRow&&e.length<=1)return void e.css(h.property,"");e.each(function(){var b=a(this),c=b.attr("style"),d=b.css("display");"inline-block"!==d&&"flex"!==d&&"inline-flex"!==d&&(d="block");var e={display:d};e[h.property]="",b.css(e),b.outerHeight(!1)>f&&(f=b.outerHeight(!1)),c?b.attr("style",c):b.css("display","")})}e.each(function(){var b=a(this),c=0;h.target&&b.is(h.target)||("border-box"!==b.css("box-sizing")&&(c+=d(b.css("border-top-width"))+d(b.css("border-bottom-width")),c+=d(b.css("padding-top"))+d(b.css("padding-bottom"))),b.css(h.property,f-c+"px"))})}),m.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||null)}),g._maintainScroll&&a(window).scrollTop(k/l*a("html").outerHeight(!0)),this},g._applyDataApi=function(){var b={};a("[data-match-height], [data-mh]").each(function(){var c=a(this),d=c.attr("data-mh")||c.attr("data-match-height");b[d]=d in b?b[d].add(c):c}),a.each(b,function(){this.matchHeight(!0)})};var h=function(b){g._beforeUpdate&&g._beforeUpdate(b,g._groups),a.each(g._groups,function(){g._apply(this.elements,this.options)}),g._afterUpdate&&g._afterUpdate(b,g._groups)};g._update=function(d,e){if(e&&"resize"===e.type){var f=a(window).width();if(f===b)return;b=f}d?-1===c&&(c=setTimeout(function(){h(e),c=-1},g._throttle)):h(e)},a(g._applyDataApi);var i=a.fn.on?"on":"bind";a(window)[i]("load",function(a){g._update(!1,a)}),a(window)[i]("resize orientationchange",function(a){g._update(!0,a)})});PKZ~Ma,plugins/catch-gallery/admin/js/our-themes.jsnu[jQuery(document).ready(function($){ var our_themes = '
  • Catch Themes
  • '; $('.filter-links').append( our_themes ); });PKZf=::3plugins/catch-gallery/admin/css/admin-dashboard.cssnu[/** * All of the CSS for your admin-dashboard functionality should be * included in this file. */ .wpcatchtab.active, table td strong { display: block; } .show-more.button { margin: 10px 0 5px 0; } .as-shortcode .new:hover .show-me, .welcome-panel img, .as-shortcode .new > div a, .wpcatchtab.active, #public-usage .content p strong, table td strong { display: block; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100%; } .welcome-panel img { height: 40px; width: 40px; vertical-align: middle; margin: 0 auto 14px auto; } .welcome-panel .welcome-panel-column, .welcome-panel .welcome-panel-column:first-child { max-width: 980px; width: 100%; } /* Form */ .show-more .dashicons { vertical-align: middle; } .button.reset-token, .button.reset-token:hover, .button.reset-token:focus { background-color: #d54e21; border-color: #d54e21; color: #fff; } .button.get-token, .button.get-token:hover, .button.get-token:focus { background-color: #22D41A; border-color: #22D41A; color: #fff; } .as-shortcode .new { position: relative; } .as-shortcode .new .dashicons, .as-shortcode .button { vertical-align: middle; } .as-shortcode .new > div a { margin-bottom: 3px; } .as-shortcode .new>div { display: none; position: absolute; right: -54px; top: -1px; } #welcome-message { border-radius: 4px; margin-right: 20px; margin-top: 10px; padding: 1px 5px; } #access-token .info { padding: 10px 12px; } #access-token .info, #request-queries { line-height: 2; } /* Custom Scripts */ .wrap { position: relative; margin: 25px 20px 0 10px; -ms-word-wrap: break-word; word-wrap: break-word; } .wrap, .welcome-panel p, .welcome-panel .welcome-panel-close::before, .content .widefat td, .content .widefat thead th { color: #23282d; } .welcome-panel .welcome-panel-close::before { left: inherit; right: 10px; z-index: 9; } .welcome-panel { border-left: 4px solid #44b450; margin: 21px 0; padding-bottom: 21px; padding-left: 21px; padding-right: 21px; } .welcome-panel-content { margin-left: 0; } .wrap h1, .wrap h2, .wrap h3, .wrap h4, .wrap h5, .wrap h6, .welcome-panel h3, .wrap p, .welcome-panel-column p, #go-premium ul { margin-top: 0; } .wrap a { text-decoration: none; } .wrap a:hover, .wrap a:focus { opacity: 0.9; } .welcome-panel-column >:last-child, #public-usage .content > div:last-child, #public-usage .content .as-widget >:last-child, #public-usage .content .as-shortcode >:last-child, #public-usage .content .shortcode-option-container > div:last-child { margin-bottom: 0; } .content-wrapper { background-color: #fff; position: relative; max-width: 1280px; } .content-wrapper .content { padding: 21px; } .content-wrapper .button.dismiss { position: absolute; right: 15px; top: 15px; background-color: transparent; border: 0; box-shadow: none; padding: 0; } .content-wrapper h2, .content-wrapper .header h3 { margin: 0; padding: 16px 21px; } .content-wrapper h2, .content-wrapper .header h3, .catch-sidebar-title, .sidebar-spot-inner { border-bottom: 1px solid #ddd; } .content-wrapper h2, .content-wrapper .header h3, .catch-sidebar-spot h2, .catch-sidebar-full-width h2, .widefat td, .widefat thead th, .about-text h2 { font-size: 18px; font-size: 1.125rem; line-height: 1.5; } .welcome-panel .button { border: none; background: none; box-shadow: none; } .welcome-panel .welcome-panel-close { text-indent: -9999px; } .welcome-panel .welcome-panel-close::before { font-size: 30px; font-size: 1.875rem; text-indent: 0; } .catch-content-wrapper { display: table; width: 100%; table-layout: fixed; } .wpcatchtab { display: none; } .widefat thead th, .table-icons { font-weight: 600; } .content-wrapper .catch-lists li strong { font-weight: 700; } .wrap .content .as-shortcode .shortcode-option-container > div, .about-text h2, .wrap p, .welcome-panel h3 { margin-bottom: 14px; } .dashicons { font-size: 24px; font-size: 1.5rem; height: 30px; width: 30px; } .sidebar-spot-inner ul li, .catch-sidebar-spot h3 { margin-bottom: 7px; } .wrap .wpcatchtab, #sidebar, .content-wrapper { margin-top: 21px; } .content-wrapper, .sidebar-spot-inner, .sidebar-spot-inner ul, .catch-sidebar-title { margin-bottom: 21px; } .catch-sidebar-spot, .catch-sidebar-full-width { float: left; width: 100%; box-sizing: border-box; } .sidebar-spot-inner { padding-bottom: 21px; } .catch-lists:before, .catch-lists:after, .content-wrapper:before, .content-wrapper:after, .content-wrapper .content:before, .content-wrapper .content:after { content: ""; display: table; table-layout: fixed; } .catch-lists:after, .content-wrapper:after, .content-wrapper .content:after { clear: both; } .catch-lists li { position: relative; padding-left: 21px; } .catch-lists li:before { content:"\2713\0020"; left: 0; font-weight: 700; position: absolute; } #pro-screenshot .catch-lists li { padding-left: 0; } #pro-screenshot .catch-lists li::before { content: none; } .wp-ui-highlight { background-color: #0073aa; } /*Sidebar*/ .catch-sidebar-title { padding-bottom: 10px; } .catch-sidebar-title, .catch-sidebar-spot h3 { font-size: 14px; font-size: 0.875rem; font-weight: 700; } .catch-sidebar-spot h3 { color: #444; } /*For Table*/ .table-icons { font-size: 21px; font-size: 1.3125rem; display: inline-block; } .icon-green, .highlighted { color: #48a348; } .icon-red { color: #c7353e; } #title, #pro, #free, .fixed .column-free, .fixed .column-pro, .catch-footer { text-align: center; } img { height: auto; max-width: 100%; } table { border-collapse: collapse; border-spacing: 0; } table thead th { padding: 14px; } #premium-extensions table, #premium-extensions th, #premium-extensions td { border: 1px solid #ddd; } table td strong, table td p { letter-spacing: 0.01em; } dd, li { margin-bottom: 21px; } .widefat td p, .catch-lists li p { margin-top: 7px; } .fixed .column-free, .fixed .column-pro { width: 15%; } .fixed .column-free, .fixed .column-pro, .widefat td { vertical-align: middle; } .widefat td, .widefat thead th { padding: 14px 21px; } /*Footer*/ .catch-footer { margin-top: 14px; border-bottom: 1px solid #fff; } .catch-footer-menu ul li, .catch-footer-menu ul li a, .catch-footer-site-info a { display: inline-block; margin-bottom: 0; } .catch-footer-menu ul { margin: 0; } .catch-footer-menu ul li a{ padding: 10px; } .catch-footer-site-info { border-bottom: 1px solid #ddd; } .catch-footer-site-info a { padding: 12px; } .catch-footer-menu { border-top: 1px solid #fff; border-bottom: 1px solid #ddd; } .content-wrapper.col-1, .content-wrapper.col-2 { max-width: 735px; } #plugin-description { max-width: 1200px; } /* => 667px */ @media screen and (min-width: 41.6875em) { .shortcode-option-container { display: flex; flex-flow: row wrap; } .shortcode-option-container > div { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } .welcome-panel h3 { text-align: left; } .welcome-panel img { display: inline-block; margin-bottom: 0; margin-right: 14px; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } #public-usage .content > .as-widget { padding-right: 21px; } #public-usage .content > .as-shortcode { border-left: 1px solid #ddd; padding-left: 21px; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { margin-bottom: 0; } .catch-sidebar-spot { width: 50%; padding-right: 21px; } .catch-sidebar-spot-wrapper .catch-sidebar-spot:nth-of-type(even), .col-2 .catch-lists li:nth-of-type(even), .col-3 .catch-lists li:nth-child(2n), .col-4 .catch-lists li:nth-child(2n) { padding-right: 0; } .catch-footer { margin-top: 21px; } .catch-lists li { display: inline-block; float: left; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; } .content-wrapper.col-3 { max-width: 100%; width: 100%; } .col-2 .catch-lists li, .col-3 .catch-lists li, .col-4 .catch-lists li, .module-container .module-wrap { width: 50%; } .col-2 .catch-lists li, .col-3 .catch-lists li, .col-4 .catch-lists li { padding-right: 21px; } .module-wrap { padding-right: 21px; } .module-container .module-wrap:nth-child(2n) { padding-right: 0; } } /* => 783px */ @media screen and (min-width: 48.9375em) { .wrap { margin-right: 30px; } .form-table input[type="text"], .form-table input[type="search"], .form-table input[type="radio"], .form-table input[type="tel"], .form-table input[type="time"], .form-table input[type="url"], .form-table input[type="week"], .form-table input[type="password"], .form-table input[type="checkbox"], .form-table input[type="color"], .form-table input[type="date"], .form-table input[type="datetime"], .form-table input[type="datetime-local"], .form-table input[type="email"], .form-table input[type="month"], .form-table input[type="number"], .form-table select, .form-table textarea { margin-right: 10px; display: inline-block; } .form-table td span { display: inline-block; } h3.option-toggle a { background-position: 99% 50%; } h3.option-active a { background-position: 99% 50%; } } /* => 1024px */ @media screen and (min-width: 64em) { .catch-sidebar-spot-wrapper .catch-sidebar-spot, .catch-sidebar-spot-wrapper .catch-sidebar-spot:nth-of-type(even), .col-3 .catch-lists li:nth-child(2n) { padding-right: 21px; } .catch-sidebar-spot-wrapper .catch-sidebar-spot:nth-child(3n) { padding-right: 0; } .catch-sidebar-spot, .col-3 .catch-lists li { width: 33.33%; } .col-3 .catch-lists li:nth-child(3n) { padding-right: 0; } .table-icons { font-size: 30px; font-size: 1.875rem; } } /* => 1200px */ @media screen and (min-width: 75em) { .welcome-panel .welcome-panel-close::before, .welcome-panel .welcome-panel-close { top: 50%; transform: translateY(-50%); } .welcome-panel { padding-right: 49px; } .catch_widget_settings, .catch-widget-sidebar { display: table-cell; vertical-align: top; } .catch_widget_settings, .catch-sidebar-spot, .col-2 .sidebar-spot-inner .catch-lists li, .col-3 .sidebar-spot-inner .catch-lists li { width: 100%; } .catch-widget-sidebar { width: 245px; padding: 0 0 0 50px; } #sidebar { margin-top: 66px; } .col-4 .catch-lists li, .col-4 .catch-lists li:nth-child(2n) { padding-right: 21px; } .catch-sidebar-spot, .catch-sidebar-spot-wrapper .catch-sidebar-spot, .catch-sidebar-spot-wrapper .catch-sidebar-spot:nth-of-type(even), .col-2 .sidebar-spot-inner .catch-lists li, .col-3 .sidebar-spot-inner .catch-lists li, .col-4 .catch-lists li:nth-child(4n) { padding-right: 0; } .catch-sidebar-spot:last-child .sidebar-spot-inner { border: 0; } .catch-footer { margin-top: 160px; } .col-4 .catch-lists li { width: 25%; } .module-container .module-wrap { width: 33.33%; } .module-container .module-wrap:nth-child(2n) { padding-right: 21px; } .module-container .module-wrap:nth-child(3n) { padding-right: 0; } } /* jQuery UI Tooltip CSS */ .ui-tooltip { padding: 8px; position: absolute; z-index: 9999; max-width: 300px; } body .ui-tooltip { border-width: 2px; } .ui-widget-content { background: #ffffff; } .ui-widget.ui-widget-content { border: 1px solid #c5c5c5; } .tooltip { cursor: pointer; } /*-------------------------------------------------------------- # Toggle Switch --------------------------------------------------------------*/ .catch-gallery-main .switch { -webkit-box-flex: 0; -webkit-flex-grow: 0; -moz-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; position: relative; float: none; right: 0; top: 2px; } .catch-gallery-main.module-title.active { background-color: #0085c3; } .catch-gallery-main .switch label { background-color: #48a348; border-radius: 11px; cursor: pointer; height: 16px; right:0; position: absolute; top: 3px; width: 30px; } .catch-gallery-main .inactive .switch label { background-color: #ccc; } .catch-gallery-main .switch input[type="checkbox"] { visibility: hidden; display: none; } .catch-gallery-main .switch label:after { background-color: #fff; border-radius: 100%; content: ''; height: 12px; left: 2px; position: absolute; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; top: 2px; width: 12px; } .catch-gallery-main .switch input[type="checkbox"]:checked + label:after { left: 16px; background-color: #fff; } .catch-gallery-main .loader { border: 5px solid #48a348; border-radius: 50%; border-top: 2px solid transparent; width: 20px; height: 20px; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; position: absolute; right: 60px; display: none; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Catch Themes & Plugins switch */ #ctp-switch .switch { position: relative; display: inline-block; width: 60px; height: 34px; top: 7px; } #ctp-switch.catch-gallery-main .module-header { background-color: transparent; } PKZ>e'plugins/catch-gallery/images/arrows.pngnu[PNG  IHDR~VtEXtSoftwareAdobe ImageReadyqe<$iTXtXML:com.adobe.xmp q:PLTE>>>===<<<:::666444gggfffdddbbb111///^^^ZZZ,,,++++++******|||)))PPPxxxwwwNNNMMMLLLqqqKKKJJJooo%%%$$$III$$$iiifffeeedddddd!!!```~~~}}}|||WWWnnnkkkϴ˰ŪؿצԼ̜йͷq9tRNS  !"#$%&'()*+,-./0123456789:;<=>?@ABBCCDDEFFGHIJKLLMNNOOPPQRRSSTTUVWWWX[[\]]^__``abbcddeffgghjkllmmnnnopppqttuxyyzz{}}~5[ IDATx\wGdݒuز$Keɲeaˑ-[Ƶ嘤&(B(UR(G P4@ 41g9R)qvf-ݼO~x"?OOF MOP dR5SUP(2Wk:^i5%JJ2shl4xT8 %$<@! &f1t5F7ZZNg+d5u͚'F"uh9=>_崙+iR|^wݺ-$3Z@8v;=V#<h$s;[Lf hqzў`*LĂ6 ^x H^""amCO>găuǀpbO\7s1ҴՑD5Xp"3z?+{Nͨn6kA^_y$JARmqz‰=vM_04@&;؛Cʁb i 2!+w`jSH-N Rx0 bss+;(XhCUR?39yf䘔qh6_,U(߲Q,bKJمb6*B@tt%ug7b@R/imy85Qf;PsJu&7:X%Om}u6`"@ ғ{'ϹT mp2 Ot5u Sor\/4`uzsd'E PAFb 6*@;1590D zY:qe.5d=n ;sQNMxZ< n l9]ce\Z/͌ 5SaNO,X?K/s⮡`}5D CE_tp||2C ͅmw5L`-Lpņav`|2Oe &$ =XtR!7ҀT+̥Sw9R@ZD"WZ} p^"4j`rX`?H^x/ hD (=ޗAvtUQ윽ݏc̀Cm1@@ML嫯]-z.X/q(o1@@s/ ݼ2R) [tq+k?I#7 ttD" ?RbЬV\|H>K88V qJ?~0ut *I㋃u/W4*;R"bǖ{` H911P5M!3ãK]@^)7pq @UC0П/ߎS2(&\L0==jHą(;PBp$_i0h͹p/MMbxO"QĜsZ\|kLƃ(*̳+=D%fV@}?hŠ^xh")"꒧pDZTNr XH.>bA\KzeMP]8jF8$Њ-'lTo_2eD@5yxN7)E) *nຍ1`CV@M#%( z! Fwu\h~y`V"4z[W)$#uel0C ވ`PS4kBS<4!Wkt'>b#~_Є @\#lgW> >V+i[&f^Va,CzRƜjO?e]Ḋ&2ncAYyr`FQB V_ړAR3kl1f^ Ij՞BL;"m3([LI`6x&WYZY'rRgkO3q0# 8Krŭך}`qd Ë'nV3.,kxjeR qFJ7mlw [E|<@rݲ¢,U^ s)U+Çv@-SH(=7Tkb e}}-/S/05s)Y[=VϕklR< O!bLJv ,">B.TFSJ+tT"|Oty)54444444< _ڽIENDB`PKZ3***plugins/catch-gallery/images/arrows-2x.pngnu[PNG  IHDR:tEXtSoftwareAdobe ImageReadyqe<$iTXtXML:com.adobe.xmp ]M'IDATx]iUՕ>%L( (dPQFDXƘDjmNb̠1Nd &elW.JHl `F0Lss};orއ$GhA4v`0T D 6N]N=$(R~5BAA42fNMe20L*AJ”A 1d,i&RN3e $(W 1C^#t;QKCdPARV!.1BÙ@&3s z"Ő$<h,5N8"RIt:ȩqZd$zG4 AlRK2KMdԐ<уc8'2hLSN;e sx<}@dhq^$(eq$D )'ͧ},s9Tpt2&s3y}*{ E8iC|@a+ qpLpMfYf_(L4[8gC#:jd:dVUV} \NSId5#n]\nG f8]ƧCkA+hh[[-[>O"N !:ǯDzEGx}>x嗢enocC3c"C郔$7pk ,zЫdo+D>^B`r$3J:D k:1sN895 8$+^[0~^)L5ӛI?і'5x|iWɮd9FNaI AT Fr.K =4Ɛ0R@uBO;N_&Yl"+9HB&! *9G$gSqC羫!4J@B"^3 .,xbVz%r6Y q p{ɘD ynJ7x&68q8@<Cd5,԰T2Z?o*<rYy"5Z"H.4V(پI8|2ܨcY(+@hBJ ؂'ZN|'kDx-91Hcs6Ϧg#{HfI Ahĥ \ ty "tmDdO j,5/R}Od!>DZq̤6Nc#Dͦ8 @k rAdd)Yr]؇@0eVkKbn!gEZ7`"|y*t} T֑ _$K1@; rY 5 ɺ6T  e2#T H'[?QHlz 1|*z R`EJy#J֝,(9qr}Ӑ)wsC]S%@~;zvAd)\-sY L}A~ Rr z{w@Z&I:b2/}k2oXŢtmsBRٕYo چ "ZE vww5tW1'\,:4.O]msC.2Q*H_01ds./|n>qtpbH2f4!Œ0}?Hnճ8Y:0HAkP%c[o2F5g$߀X?5/bdy\Zp Dsy5= d\ۆNLA9_7odz0J΋G b4@Yʴ#920JW1IDFjL"<ه윟K6OqXzBWx#$e<(^L(LԹ̊g76W&@^tfk#$0vykvAXB.: 8csְ`nRΤ "fiJjGRpmD(Y_.HG$; y tɅ?{ƱJլ)y>S84(tH&Pz;?6utυAE g ֛u <@Q%Asg -*=u[X`+"m5#!`χӏaȒ%Adebn՜}:`7-҈HqxR!тdVb,Z.І _hRoWD{q2%ه.L Y0zN\zd>#! idP<6wD𬘀a R Ǣ0qg DD;!k4cS#Ct 'YFrBEIa<}z=W3 b(uu[_2@87H[  cQT oqckU\7OƏiBa|@R#  mƢJ M7<4\jQLYJ@ $ T F ǢFƢ0^chqw>z TZ)t"Q*DTA؎Ee&j5"HΪ&v@8JI'LǢ:h.oNo5 umV$b|UP^I(U ,(-'uBuRM]R\k'e%ug#V5BNDQU љaɑm)'^L} _m,*C6Ue![|Ya=NN Rz,j2nLb1iI{E+JUէDX{JКݖ(`,2JI;՞Cl O}rjΊQh;4{aƢiIgIKr)v( +0 bIҒғ( oFQzHXЄ(m\YoC8S̫3miBI &I7%r_;*suZu`"LԱTR-IcQ0і}D%wiI&snjL$bb}[%e8L㲄wP6&@N2n7 -:/YC˂ﻇ mҒ,JŮo~Q^d~R}=uNQiIz8k(7X|4 6cQKj(-Ez;as>kp} ouڋJK}9k(X|xԡRo jiʐZAxTSW3/m3Lwf06@MtҒI(-)c%l Aw(`Di ,1&"k\.w-I?* b>06p s0L QF=Rav/!-Ғ2|vo~a뱼Gj 6cQB6JK*0k+vOSv0&@xmI壍֔ l@om[sRq"@ҌEe׎Ғ 场V.x8k G79EB_euЁΙ}H}\GD(-Y\YK2ZHkGiIZgl8צX+^t(mmP,@iI're[]NLVR(Eclp&JK}D: C(U-$XT6վHҒ5tfiRHڥ Ƣ%PZRp(*ΪE~{v,J*ޙҒIOrY.gJ.@`J4bz#b 1NYl D?΋d3i(-V[idr&Bkļ5Lxae“̌(-YC,/9͊ĐZH$M8A+ ҒجRnp]Z{W喱R2LWjT&ʡ1$:kO|q+iUyHM$?F)A4^ %MۿtlgiG+bA!XAM0]IW N|嬡w3PKx C IV$49~Bi=mmRP8^),sHrXvEX(

    HS""{:4bCN|=$X+h,Vu k 퇄I9VH7Z+oeBֱj j F󷏒]d'xҌլ40l QXYnqF> crm:K NQQ/Ţ 4\M>Mv-t*e@JGT2/['p7Ǫ UA"& zOr%[b{M!ks0ɪ4 [tKp#/$鹖yA#l΁N6JU`jQA̛{Py}>"&AT%!HO Ԯ)bL&zX΋(,탓B5JHcHe z{py/~R M$Y|{lM&U? K\!07+M^( l^:n;=!策sK(w/c?+6a˽Y"7Ax}ubw2r{"Q+0ͪWjRimqK ~$VV'MmҫS"o+{MǸ6Nk2 UAN 0"HϫCDLZ>`>VX`I =e `PpAo9 NiѤ`VCM;j9$|]%&0/ G-$F2EFk/WBߪ(G5%jlW}ã#YCM$d +^T1w I/ZUŶ8 Zۜe(@w5G~p#@J1Gٛ6S؂R\.W%ֵƻH ͯfK]G\Z5̝}%cQaQq02oÂoJKJE9vu; tZaor9KK<&v& ?aJ%'qp<LR%\%E3@JR9\EZb'5e RĨG;WSPpPj05_*"L. ? rMZb&BDLQ*Ê!\.]ZsԱZ in3FX6"!R~iIdÊR9 ō€_g_{]R*H69킇ش\'嗖(cQ L]w_3I%Asr,YTw)* n^uuCr_{]_}U*uiɮkqk&єcQ(o-`ҹcE7ӫ݃/[Zf_;XR9TXo2.L VܽOW[Ԃ)Q*=Ғ,O&RܽVgIOT8,YyBآhLy":=E.Lk=ܱҬuR o;biɏ6z{b_;Rg滎RA;#yBRu=xcl]6׍2\ SER]?z9uy Ԛ4i D98_w&P@|U&R9?q%ro3Ku_ W?aY=X$ӗ).#.e_`t3s} 8(×qm6}i~@o_,k֯֝;2)WL+LD(Ut{@;LyŐdyͨ d!Q}R|p艣2eײ 2Ph`þu_{0ˤf"ѪKps, yi۾p < 6&| LQP{џ:X K !jj[.`PhrG$.x6r}OADp;:S"֠&ZE!@r2)wd}';x@&4ߏwTT/)؞O"H/ sDXIJuAsWښ?!:!DMA~tۍ Z_&(U 뼞_L u=ͨ: jpQ:`sP ya"$$ 9Yu >\cܔ7֤ȉ !u׎/SR"yo5TŊd`Uy5DCrEA%s  9~{Oj uvb"GdӰwe^)U .~By˔,:!DVwP]68IM]A@ <_Bqp6\8YrEѡ+7 Q@ח"~Ȧ̦b=$ r%YlL@D1AyimKD5[gcapWɐz "@ ~3T &s3y[Yr]>%L.@ԭ4Cd"D6,RXmڪ)> D8]xp<I@vQHS$2jWQY[HdRIK3NX11y3RpǏe 0iG ?UYD@N\&XZjbVfIpD-#F+ !HZřŎ,aa/c) "46=ivofQZjvT< ȺMh=4 ux/Ù5x9H adXdLN8xihK.ސux?e GD$D(8kH PPPS3&NS=n/SL vSkR!ގ~ΗF9ӓ@X vB#z7L$\:oxD&;Q+5RU b !LG\(m'j VR$aBN׈QARN}+D D@&U[JD (D Ob??.V*f' @@=/8J[WNl;J +!@9#+!@~)@ A< 6IDATx]hTG6PAK)fEJ $jcFѷڇ>Tҷ>֖S7OhDQZD>JBz?fn>Z ,윙3g果0 21]e2l jLi `]fBqr0tk1u-dAu](}/L$UN?a uj;e3P> լm'*›zsi=a1bijjӅz|ۥoJ `3ׄ C7l}]r( ~dş>E'| lny={߸ |(j =m.C:m<? U8JͰ:ZGtwNJj44P'G%QJW/2H`XS*bfEUS$q}Ģ:H{Fehbʐk*.G\fTS3G?de/$ xp=qĀ/id2_eSKF2@6&"@fAuE齖 aGJ[tDb:mJxq]hUҾ2=WGr3YHjj`v2)JӔf}/G,Ru":ΙbKg< @>?pu !$ Fu0ٙh:iLL {1ޭrXdL7`a&M6(w;'b)݅^)TYL"Htx\!M ϯ?yi96yiLL ̉'8v۷ˆ:#ݤ[wĉ}czuNup[3õ'YXTuzSs iLL 7)c7ztڮu(nQ;ˬ(M]}%?\sjA03'"2iLRsr>Qh/ڝ`u*[W~D8ׯ-r-'zuI#8Ҙ2p6GIENDB`PKZ"P$ $ 3plugins/catch-gallery/images/carousel-sprite-2x.pngnu[PNG  IHDR @~tEXtSoftwareAdobe ImageReadyqe<hiTXtXML:com.adobe.xmp )RIDATxOWŘhHcWV㪋h kj+7.ԭwe"~Xn*~G !gp9sϙ93I{y;י旹KcK$4N RX FK>nߥ!p'p6iR'FNV@BRR`N!0'ES6%6:~l߂༃ϋB`&3bp3xl8`8>-~u-LZ.2!NŒK e@ut.X f}σSWS.^J5&բȋ.~ .1/#bl$5("U98$@$@$@$ jֶu^ F k/ >Llp{ `uW{w&\~ ` \sIע \Ps ӬOX|.>á<`s66,c ۇ6ǀk {0C v<> !n{;,k :f])?r0I,Tw'wj0 `徚rڼn_A:Zx#`'(1/|L>!&X>! -)loEzƜo.N[o%P96x\&L\CVY78J !t)O1 áQ@.⡏,P<}yc)0[ .cyɶފ1š?%-Y⬧R    OTH,jp,9'E>"n^P* |}B1u0Cz)Qԩb`Iqr0U*zt0 e]a޴'Q'DTUIYӌb>!b:Ȧq2'p#:_4g'DRTixǰ&&1zAE\3 .h5Q +¸}?Ni~1HKfc <$%sr}@ sX@SSJ0 ĸ篭U) GTd ɌTL)hzԑ#sҾR_:*(;KM@0@[pD/&$@$@$@$@$0A5!^ڌw.`#$PfBС5 zI$!p(5T߂'aLg}W80Y\u&1GLKӦ| H'!)0Z@\I@hX|HHHH`nf2Ey;k3޹D@E?PfBСo>%-x&pb7ݗ0!oNN|/ͧ@ Wz# `7WWMi<Yy_VD.A16!U \CZڃ7^"-~k9⍕)6DCkx} ˶PoՀi1G>ac;;$[ o qeM_v!n%B`'ă r>!voMx 5q hRqAOXc`1"wXO6 >]m'Do;xB0 +'o^mn/'x*Z׋vߏjOd:pmQtH= 8 IHH9vڱIENDB`PKZ%QL4L41plugins/catch-gallery/images/preview/bfastmag.jpgnu[JFIFC C     9X  n !1"AQ2aq #B3R$VWbr45CTUX%7DSsu8tvw&'6EFceI!1AQ"aq2BR#TScr$356Cbs ?% Z$j6J.I>@ ?ghWQDOc?*E6 AIjo%F5!%(xQ\HZ?smE@XO+{LA`4RM2-k!k_Z6ҟŠ4'ovcRJ_R.- cB[%#0L2'QJby` O>LY˫)I԰5yL&Nm8+ą&ïSkc odj\z_ $c6h&ALn1ۭ8A搠\h>j?&(-4mk5RMg`UJ7*HM= iiJolo80JC HI=s[ܤFJ84%S, \Ny< /UV紊kG_` 1m%.3^nǤKէkGeTI[M v]l:SQ\ aL 0h!m )d%F*Lڅ$Ɔqc<-,ʎb!+DoOLaIR٤eL̓o,W﷒G7V3l8ZiI4+1 Q >s&uZR52,\ voeHKCH5lY#P:݊ųF&Tn`y, b*/l::#֨v\Vln[)^>8*1mU2C4 ]W=$iN>Q y@·j]};Qa5GB H$^ď;͓QM7DžFD *՞Ƅl}59%M)nJ، -XpHB@SK-J!.b;>j{€ڇ.d,zu$Ao"rc^z _˓':Ēl!(zbS40?ΐ MD5~ ؋bMM:B&z/=0$`)-/*'5/TkK$#uQehEA)qҟrqJZbJ=$Z|)JBTS**K`V;`f PdEQ^EA2]|kX&WBm:ԕ[}J>+@%X6`@dvt4ddX"tlȏͮJ啍)e = }ؔek6*Jz*ZU7JPH` Э'zHPe^ BaOޣ,6MD$~xZt'7mdy!%EYVm)S1ⱌټ`0ZKBCnޢ-ө1$ב3C[\:5}Xi="zh|+Lm !TU#Rrv1b_}#q\OKzrauV$sn#p$Qݫ/6ŕ'hAnɋ$7hq`,Z.{l-y儲~2oY(*BlRWk{,@I$DG ',Ω%2#X,~?ǀ,e&-= }ilYR~'fEŮ0`iT'_[EeHr3bB®EOq5$ZZH5֭ԫ\nd0T+5 /t.}D.1T=?{dEV庩龔C|zqЪ+yprO'co47.NLc2k$xm=:%,8=1%)ufvZq(1Rvc*S8vUkiV0C P-fͬ=C*JƤzNh5YZ :kEI]kpڕUtN'])=VE*HT2)/9d9WkvߠJEI5*+u I℺֫惷(h-K- Y(Hv׹Ͱ!K *O`{X)ƙ)JȹnBJRp+R]-QJͤy!\H ߔ׈l(N#Ch}EOLYBN$@MBg^HRbуerg$Mud;1!R@\@3,B[UEyQ4.TY|mq$ۢGG!Mz-aW)R|~# gb\uji'C$5iHP}6HVIBkz CN䔛VTIF[l 6VJt6Ԥ"A]!J( _> # SQC ~8ei^jKO}bANi\!{w䄤"29)߮,I]pҝWŰ+$=++Ԫ_Awԡe~>_$c&5@C,4'Ar*X1&ATGUuQ8$"؊$SgfBÖG#kJ b@0 0;Rڈ-y'c#.5};&懧Fʙ{.M&r~4VJVZA\5%Z]j+잵亲pkUvI]'HB2UQ;ۊ&Ye>->J_k3˘GcYK.὚?R5/1s0~pbo~pbo~p5/0'gʛnCJmC5X$ttol?''9+HV&~'m[|o]zI>뇰`0;ƻ6"fv|JBSR:Y6-dt_%f)J˫܁\m؂%fӅo'M2Os J R ~|R>Kβ [ZrwݛuWI/[؆'\a 6a:Z*LQwpJ NO mg&K*{ my my m鉟rM~G-W~hMjjAYFqexƬm?&gCaWE+s}TNLpU? AUbj]lL`YuY2*Co/3\\<^py&'C8y5gd{#TI'穷߯lF볊׋AAf8A 8f :*`n(Y`mJ\XP"=5M7O:x/ , l S\Lu.z R JHs/? , GWOK G%M%EUȺAsk YKl-V^ E2o!˟ VN-nepޭq` u7zJ5Zw(G;|y|a"1 x6y(%i!\X/#TjR"2T :[@*Ŕ*bdl&1%ȊHW_.T>Of o yC *DwHz,z:18L2ec4^Ys?aGD zGT떰;_OSctTyQTy'C]~]M0>5j>I`"+JJKcVY!*6m?$oPb:tۅ"qz{+V|1m.V_*EM]Ǖi>Xi2Ptr9jQ&P=@;Ū%6ȕBU+{Gkk/k$ȴ9cگ_|@$J PU>{+t:vUht4:DpUDSj2>&ƭE R}F,cf`%I'pz`Jtuk䫑91)inivD<4+F\u1еhK,V% m9VH9έ`RNR5>I]F!Qs:#,UΆTjJ׸#nť"D}IK97\*}Q\T565i;)j=`//i. ms@ت'4}GO6(Q;{Ilr&Gqi\=ㅴ{$WgI]F4FDCZGP_7w?sxGէw%}Ôر3pԔȃ8댔]5kqdYS2r$d 2ŎƤ"])9TƹrZ)֖3]êOFv(XM6(FnK)^ąXL`````SMh->:G) 5 FTΊyF,0~ 6UIU=8|o+d'ԕy )u簃f BE’Ҭ>bhKV)~u Gٸ!e UHNDpNy'ڷⓕ#M-tjqBRx,8唓,wRSp8;3ۢ#+vDڛZKsY:,iu#]6Φ4Ebbر(>LK#P,ҙoZ9t7RoFAJZSPn{e<꼀(jn/e+1 ߰XJS3{"+b?h= 'pO<˨}iZq!IP8H&uM^:.L6NA !E*I BPGB0 ]5zzQS?G-o\ m..>8j!p8P%A_<Viۛ!g{`ku6{G<GBRWNۮ劾KH*6BBvo "%SMLCVg]EjRn ..G1 ʏ)U83):~ p 0R&'/u4$>Ck1$_q;2l@v L|Нaqt9uzU>S磾9?լTZqx'ٮQTd NV N$.` <ד),&I\xLSNH_Hh8IT*/Ӫi:ix5,z"8eƘ6m;. 0 0 0 0 0|>dJ| IDk` 3(.EipG4c4#4ZNBEժbC4FݯbRviCr-6}** ھGnp_* 7[Gu,j&&D}$"GH_? 6Ru4 JIW\mľ뒃t)1)kMyۑ Kim *1iRJФE6fSytK-nqlI L;Ե x#'ԨPi,wtYɎno$UCFJƠ&YW䩚R֗eQvj#ŭ&sGb dImI i)$z_ʒLV%ҜO${M,'uvEAȻHA=>#/ՕGYi诰 *Jҕ%@t 8ɍi7~8$Iǀ $8uI`)&ǫA(qBr[8ÅR~?q4%1PLST>ˎ6y`ĕ!{*P\m[mA6-D@'7)`o! v(kQ<\ [KZ)SS) F{c3WĤELaVŠj>REV 0V~GR]3=/T)m5JQq8#1{4?Lʎ/pBᤎͯ V]jdJ(iyeQQ~m?\QXON{ `c *2nO%qm ^Ef֖IO3>S;-8!QCmF'-!r2UL2ܗV3%T 7e[ҋ)h$~O㿵ÉPMF._iGٕvmMFM2][{7w7oH7WgN_OCe?̯zwo[l_8ϋd2.EJL r0 PA}Է"u^NS~ӜoqnpQ4Sԧ*{oeVU9.5o\p~}K [W#s\?jߪsVUG~տUr>?9.5o\p~}K [W#s\?jߪsVUG~տUr>?9.5o\p~}K [W#s\O!RvrZlj^hpTF(bV%H}Z[_8hą3Mb-Jm+f9ܸ KoUʙRV7L\hRoKbR¡QIUȿX`Z|Aa$-7?Dޖ Ê>"m(=n6)KCPf, Jf([wqĐ$,{m]R )P$/{|)2t'&' d84GQg226~Z:C3W1H\ũrJ|CU%4:zR`BX}\J؆L}8fmr *b,< -+RMLHs-U k^uOۀ)[u #e$` C%V; H]ߊ5F''0W5MbN2m}*fb4ʋ)~òR=T DKSNOX1w _Ÿ>N#v+2*p"hn"JwQ> P$%!)CHHd  ?9( )}([jO`%n/b@aSnI=0:6OLF[m%j>CYǜ=86$3\Q }-zj7wrn\(iZQ*7V=#MViE2c$h6 c'N`:0WoUYҰ^g`׷wsk2_xjR[|J8JJ*H6ӿ+(گ%^5@ᬌQ+9*uK2̴'I*X^$! PAj+^O/~W v_+|xgd;U@y 4Dx/*lL._׹ ɼ`\"SMHeu崓DdF!\s!@]ܔT͋w_5!ud c"tILZH`+P_~}5I2/nK .6$?@#IxU U5=ݷ4G-DfQUo?b\,r K^KJ$x G*+J%}34n什kqGuJ?7r֎RYTeV֔%$)MqU8wU߻!z,vnn[+WZrJeQ㨔_WlLpi[2({p|2rNR]wS<\֩楕ݫQXcɤ3} [Q- JC%.@~g#Tnf21UrKUQRԢ:JZp rD8\T2K!J[iꒀT<kUy'y.1$'"Btj%* ym^!!*)HP(*Jap5;L0+\]U_nU>TZBXu&,u3%[b6$|CtAKsG-C.O.!ҿ u,k\nWN|HU?kJVMiĈhi)`,ӯvJv'`..G ͉^^P+}bcħU"N@bpOUvJS#5M8C2"$$VwXJ7^J? ZR"ٔC.,!Lf$]/8'AĥM<PlnlbM#,S. ??X9!,) D)|UFyNp kIRn:khCjB֗S`}&ȢQqknĂln_CSH!·~ 1e=K#=AI0}` 96&0nr4'pFcASz6 pW0C$mo$S'r*P⬔D}1sEj!\=-Į\?FoN#AZR)ߒm9 Zln@ߦ!E]$!@]q$ +rvA蟬qu *A:Lx5j'btw8lh[p4B̥A[D{EBJm$:;i YfA}'7i?Vt+I'JJҠI!IP NbVNqW+r'm:LAaaaaBo騧}RTRO(~kG+4Xf+ggt(Ym`JxTY#6k=FO#6k=FO#ڿ7齂 )'hԟC)/x2/G;_Zzy?u/R>p*M? ib,i|Ǩa:^ߛ5%b}l!/0Oh+Yiz ̔Nj{{[Jܗ̪en]$z` NwjwWLm`a%%a>qd.I$${?`T"S^l}w>&K=Wf=ۊ΍ˉ }ey_'{Crt4őPU)ʼn(\ŒT 'u) _Б?뽖?sKwrfEZlU\DvroqoXGHk,.0w9_SJNa'Fh'8?Kc,sWi#4U. |#BUŬn[Ctbإo?98%Mʕm[{OgJC|TaCIcW#e5%'\-(T96N70g?]3?B3Wnď+7o`.7Y꽞ٞ%S'hǒӨqP<t2ףez$ˏ qиѴTd>t@Nw;żJqrQqTQrB:\ْjτH4y'TcO$Nff6w.q,fNS*'Km~{EfFbsmr*f}1$.A,Z }>W`Nڊ ;u1-U \}06u~ڇSg[' !e*;]6T\); 㻈 O#yHN;ċܴ:`uRXmZNf =:IB/Bȋ8ˎ\WUH3 /HZBTln7|J%)^#צ7~؍Ax.[7(z%}HB]BXԅqYiJ Jw$Cϑ7H ,N! "ăԥKPJT1)X:eYE,xF #9pUJ՚yBjB!K G\ @ $rju1ǃx6pնK͌Y/\䘱z ISw +BH6$Ӯ2km-=/H=ҏA?Rmˈ]s#s{LW"!vRUbš'(?z'&'HZCS:5%[rOL{29^9J[تSTϏi:\m[)'ߋC"uxOa,^eMn.`SiGn ɹ.z3fGƗj/c# MƞU|_D~R_ g#tҎkMfr(H)~3CL{0?zZx4½__J_iGws#=C/Y=\o]/\gOwf(|Lw'joTs%RgrJJgLTcGZ̉m2aԄRBFj?ʭ籺WAv؉\#pM]U_)R8"QPcy(mI T@]h8>'qv*۞+'fwXZuwVWuwbן>Ce^*Atھn N)͍MvTu7gՖ6IqrdZ90&pTkS"?Q̣5P3MAr"Lt36&Aqķj"@v :LTFQShKʹ i`({u8l^zA|qNjORTo}KU=><3Lz[MRomwPr>TI1I"CND$;;=*jw6ֹz?N7v8 !Z2[ RߖKy` 7 0 c}WC>3c5C5TQQ&E%Tʩ_ʐh(Y l=Pq0JYi^{=)*wOyNck/lFjf|~T-ի,6S˜CD6NDhoR6%-+7.ք%V_[:I(ă/7j ͵ÙԙȐ(uj1!֞u˥R<7Ǧ1M_?3WBS{i۹`ZC0Eb]-˚ԎܧjLCwmІPNB.PrWirKqà˓,T2EbR)<J RW]'-Q*-֩W#kٛܩTe{{nT?8q6HQ>3=e6376h- #E}oe-г%X zqŇ4TVI[o6}\RwQmw܆W|/g"R;0~;fRꙁȣz\V,ZGv:x㇮8m~[r=<ѓQmUz{W6k92)T5RS E0&eN )[mQacRl\>)t4[;r5:gqrR[륤 C|diuZ2Rt:D [瘝M5sKB9rl2d}{>ﵿ/3Xź={In'RgaEx KKr[H#Jm`bncb 4}(i #J& )/;͘zٶ( Ln/AС2e>ՙ.km / >@ĔXZvRVJlG`WϪ<[ٴŒ)-@L[+L Ԥy|N$9)j.7! 7Z5 rn;b,iԁdhpc׮ 8Vy2[5{IĀ!ހ: ȵ yy Y$ , l+ARRs\nv@1$ ZeǕ_a}S%qB^c!NY)C!9Pl@eXcIŢ쬕bH$HEEB%yG\%Gkb vz*Znjy} )jR֢nܓ'y1 lqqW*Nk=Oٍv7gHK_=^鲎IQ[M>KŮ%hċ%g{ nߖRR,HvH>s\%N[k"|1C)Tdk2\bRjIR֢'90᎟OSrJߞ`Le,-$vA,r~-K/u̡鉒PBssԓz'O Si'9ҥKߵN|{" hUjLWZY H wU |'d͆II.um{Pi q}9EaЏGѿfӜW NAN`5AIJMmC Sp`vcJ[qovriEK_4_rA15*.VL]M&JBmt܎QACABIؑ4;"8U[Ow-HnJM"=[mhc7ْ|nI)s6s [b.)#`VK`1svUvHH#9* K!…B. XnK8N6ϩjˎn3I\:%~zfy/DuNьvXDsqFLHq:7 L_Ukwoe{.][K4]J)>F)+jOwr` h;J˔yR]!iMr[3}1%%'ƇlnjERN i܉{]8̚mZufZu*_.Hq$̂6BzktW/|}22.VtL*F13yeV#8}r)IT}M4BEsj%^W_5qJګ"3PܩZO-<6RIŦ c"Nk~+k{bE#6 )J>.mIrGV6EpuW$()` ţr141 Jws'&p\02Nj=-CiDm_/FnV/nWP"MIyF61b[mcn&Tx[xjXǣƛ]R,R"n1ȼb?PScS?0*~2;cOTXoGK' yt&}'Km!KZH$m\zVm@v/YLzuE-rVA W$[9q⎊\&Fk0$ 0QPIcn8:zЌ;qª_)'_[Tj4 wL:TiRRnB:bb-n7r62 Z*st%TCP@AH>+Ijsxe~҇KWo;/=H,n[hvr[=쵕$^YZ&uktq/@)Nsvi:}KBZnTm[|qOڧcIwq\ן>ɾ$4(xcI:1i&TfJJRO-NcoB{/xdub)Nq{ %lO kܢvðl|h\ vSUru !M=/<#`````*IJ(xJjCY^kZ(Ax_;KBz[N5~݊g9y~FGxRxJJ'gH3:z{ٸW9y~Gw)=:rp |6~'KO+䃥uB-XXTە2-b#aҗ MW)Ť TSqx\_uɇtw`~Hz#);D)*#, %#Jo{^JwJN=?۲yZ_CiqQ|Oc% J<\H!J *v'Rҽ=5#O m. m'}[Bt2 J5@ H %J&8}xUG;*]a 祋~Hi&^G*]F^ii%3?(n(KVt6<ٽydn[%Wg^N5 $=q}C7ˣMq-~m(ԟݦ5EO:< ԥI#[蒂[r\ysLzgM~9*0FX\z6WŐxqfʉI䢭&3m!1҂#n!GhqZH_]'Lc-5%JӷQNG֕@ R*'7N(8:h|ӔREJP)\$,(5JW,nvMWD NqER;̠q\JM]S88-x8,@KR҆Pu-TBBEI (|$DͿhJkU==Z ( mhVx YF-f>dTW4p/cl@#C/ t<HKHt6I1%.ϛ1\n_vE4 P(%;E [77{}u%&%KZm[[bRIQVXBQ'ak"s)֣yh"κ 8QA ee&C FT+* KHPmDWսI%*2ZZ&!AiJ"X$./bJVuCkhaUZ= 5 pȋ!2JS"(ղ,M>]gNZMN+~!tX,PRXn>_ڔ,\ %y\J>?ş&jgz!b 7"!bj1yoGt]5 ZЯZ:Ei5vqʔeTMbH@ѧHʜ * %WjJWP-i/?mb}1bXYGZO_j%;,RAy!,4cR,4`Yi/ӟɀ%sPf 'Rߔ.jT: -.)'~k-~[ B2f˯/% A)` -JА*'W=ۂKLf&Di}1CпKU/ǻ͗^wϳ p|'snOmH$<݆åA},ωɚ:?ۅ|^x)Ԗ.>q!qf[,$qV˼ȭ.]kX|~/j<a9vMV=(<^%oK{7q3ļª4MM1t_|d'Bߦ>bDkOF?=(l@۟Խ30t;כ8c5w3AYR*%%np;$l1o7:\9ǎn1b}C>lrsmr_,O_y{/u/k|⣏6Wa؏&+?ڷ߬G'r9T5)(mnC͡?d$ Ջ}4y~l>7@?DkOF?vs߹zgp?}/Ln5'ϣ~Fdoܽ3~l>7ѿr#]\7^?DkOF?vs߹zgp?}/Ln5'ϣ~Fdoܽ3~l>7ѿr#]\7^?DkOF?vs߹zgp?}/Ln5'ϣ~Fdoܽ3~l>7ѿr#]\7^?DkOF?9,HԵj}d1`b"Mp2yTv@iN!O0i[`SR$[ @v;#v/(y!暮S£Kq- LR".h(*һqTj+dͯ"2#4V|˲$ QIR 4}8psxw-R̺P\XP%JBP-+^l]g el7d" \C,i[1c!\Ŵ#^'RA!D:i|i (enZQē2^vY2, ̺ [P^fʱĐp3fN-mϕ"us35s;uns)<)! )J$h|MUVzrRUGKYilA*Ci-x%u㌐.U?1z֒bǍPx>ʔ%t&O1S*硶8+ )K˵stוK`(>-iuN #V$d+vT)Yf`iٵ\ ҩ.)<ݴA#RM~FdL猩|%mR[vlН{e`I-.Z [ɛ>d~M^Z*G.Hf,L;Z\u֖P-$QJ 42 Ғ5-OVRRAEILY-QF%B3vW8ԵTjzsrި2$ʘj==H[&ʸPAfQe|yz-|fSkwU!%T#8'sS~$8.HF火hP:e[ q\HGI=Q\aHSav–T$&*J8Gu^*P|cDGYQuL(\ZI^Gt!:GdQ̩桭m!nIs̶͵'g m86a>.!kԄ$ܶt-'F m#4q,Ie_)Th8(Ҿc֜OiN.Mm.TlP"8aSܯ£d+Ϳ!2M)JKԕ]ZO(:flvU2jnFLiK 4ih}$O"TN7-x 4ֲwshJ%$'CN%&I-BNu72G~p(}kRC鎷T(6-KX JI>X9QYFΡP>Hn?˂rMJ*Sd۳ekewKvH-'N&yF r#?#8s}q!6Ju`#mYI %)%EeDcL~'LfS)̙nr`!wj@$2(!r vЊs9^÷ <7wKc'dEQ̸0ws9 8%:-%ZGXN+)5noȕA8JJJV"c=ҭ:tڼ|` ӂ]8?zi?|p_7j?h_í_G/O)/-py!vc2RJbX#KjCiKJ + e+.vOxxZɚQyg 5iM:^K}_-sdž-b۫kj{U(XyGc.8_+̝ry|bV޶q?Qٵ5v8i.7!&VvcbT@ ls|IbMm dϱ.U# SÎR%.Rb، TfK !.8a c1k.~M)OĐ7E1@)]M` jvO&2h/C*Hh KJ{Ņ@~uhG]4Í5-=KKiZ$E)*IEJRC;9',IЪl[2TQ) I$.BTAiJT,aHaV]]zV6S225Xz" .ܐt@g@w衭$/0e-̏"P ҝ_1HqjAk(*RG6LwTz56mvT7 E]G"j:6Pm:R옷fP?]DyN+6Z)mK*ZqܤBmU渎&sLb.oBa%2 +YllÀ%y4g|xqT$*Zp 0.8So.HlvWqlWQaОnT'Ldt8 Xq8T$(‘CEO5[K&@W3—H0S6ΌlrYw i_;TU.1-jiM+ Ją)W*~B61/,8+%Ra PHW /]>B5!)B]tTk*\BԹB.O i(r2):HwU3]4O$ՂX/wYV[W(6ѧ;a3*rxUAʷ{ %*6 !.*ix`.f6hѢ֫IyC{duC.$lj)mMT+G_9/.^!UWzš 11F0,JnN I$ 7 .@׶Dk D`T-Iǀ7vݡp]Sb>LMHPi%'A!jTHlyv~qv [a XaZz| Ob(v's\:";,IӍ2G+NLw$2u@@l˒w!+HVQp?>ef%2UjU5luMa1JI BYX i*ԅkI? qqC1:&445Sn6]J.hwJI o1~P.psMN[SFMane:<X_-o]/V.RA-+E>Y%|#TT[LuEA>˅kZPTB^q"xaFMW|nL8Ui))"2{m FH;2rB6l)QȾJ\Է$)ե, HWɓj xOx="?BwцQi ^26Pd )}]]G<^L9XRdUYPYq%5 3Zp"1ϣI^bF/m=꧶ݯk}Jd]=OmOf>\zD[R#/qusešZTHXV.j%ʚxh,SSQmFi߲w ݭV .uFTRN}uJLQJF )vI6JܲSFVl}^7䓦L[oQ>cܺQmZn;w~|yIn 1#9*\yBT% 'Ucpv=&JD(!OdmRHRJ}16;Aew8AE7nw~rjQ Iv%BH:j XOxk5 Y8<9RBP8}Lxw=>72Y1ͻ}_nT*vz8H`|0@)͞p}UAR. ?ye9OJx>4*ꋂ雜}R.&8TzgooO)tTT:5 ToEzJiyqL1jj#VaZy)eȵO~Fe+k8<*}K릝_UWr]ݜ}8?92VkrD9a 26`>S6BA~s^~0kA똆 p#Z^VBߘӁ JEA?C|[]ZF 9n/m/ywސxv0b˞1cMoYGO$$Hb?c濸>;Z_}¿CҕA!W$'?#4aϖGgؤKJb?NyX#_Y_f׵fߺI潬?6?`{Xm\@5a/sk_3o׵fߺ?9k|Ϳt~s^~0潬?6?`{Xm\@5a/sk_3o׵fߺ?9k|Ϳt~s^~0潬?6?`{Xm\@5a/sk_3o׵fߺ?9k|Ϳt~s^~0潬?6?` [tD5ed yKyij(wWD|ʚܐbq mUIҢA6I;`x9;u#(/i6&*B[Ae!-ը◹'Տdl^'ff-uJFi710f? %=R2p+XX3{hQj,TxAՆ| 4ARԣ~b*_4 u+iLqm,KnX4jBkԒwD6.-q燜< )ժ1"2wRޡ);Rv}wc^BWLeJ-C\wSJ}T+ZfƮ#SxtrGiVPiZTo"-2TT;6R5GjTHmiֹJ.A(DD&\`vvC7+9.(F.MM*tΨ<ĆKx\x>ҔWIzw_٦ 8CT<Ԡ ˁ_ ըQ=l.aK2u%QaMԝ.% IB.%lw#w$WjO &҂U` b#&s9Qj/]5w?ITi~S6)EaIU'JBTnX#jHЕN(8\%}KRBNmk D$ 1voJudTF"46aisBoN)<Їq\ptWvS/*ZuFPJZqPA.!iSZnIYM<'D褣d7vaK?eCUjtPQJn 7d|Z٭M-'3UuϦCn:]sZZ`kR\YCN QljOiqA*3Obj6ȞG})1a9 -j$6m8YY8}_^-q?=sEzXH=P)vX%eH%, )KY ZFJIѯE8xj ghzSQPTuiVŒ.Lu$*ihFVD>V2ǎY嘏H%1Rriu\XRp6^%oeD $E9Omȁ)rNcJ b7o>VVt5fQWj);NZDx}M[\m)z*äbSCV}O!6ۍRhsB¾ =Iq QFZVBS)8==xԈM! q*YLfRZJSs)G@ Qd4jFPؤ[,Aڍ_e.͠UQf<;. id#[e*9:<:gV5ß&ՎN/N3t3fV̓bcERʅ!^`u;iCnڌTmMN>fMGcMY)g9K)=89-*H@QVq[`o5ۼ)(wb +3ަɛT.E;O:ꖨ!>@yc5( )K9}fkp>p׼'@X<t'M_(:g8BOԇKu!?Ht|?R,8CoHtk.11{kmE+ qh7_ OR##ҟé`J:Y1K5TN|ҡI@Ogp^BaC? @B@NAGhѲR qz!m+Ke`P9duj*s !/˭BV֙J%D([j( {q>6Df*eU/#U.C2'ʏ!)r,f %E-HJ~["q/26m˒eG5ʐdRЗJy趬EW϶ AVm2Q= ijt*4T<[ 934ȮCs8QN\gk6ǤJTZS(MM|߃4^E1 “-x}Q\hxCk"Rmr0|5f@QQKAy Sk(J,Rxlt+e'.K_q\Wjqј%@9hEBPv)+J3Xpk1qfØ5(ˣ,?9KBtj m\iI¬{SvZ:f.fF("jx<(' JO+QIۢ_&˜AƓ ȧϨKKm:!diAEҠF#r}t7sM+8e>{l̉%uZSo7)FihґQ܏ػeNV5r3hST\S4CjmKO!!v=A6I"Xsg*#+xgJ%Sgji!7 4AcS~MݹcTC.iۅ.I$%. B\RaZYs2q>5[v%2L ym`\*pG]=)W V^e S)Y[(KN *5j b2j1uPfU)SŌʃjJl#AJQ#ٰ\Lk)po% *)MܐK|';c?X\܁d:ڔJK̨":ukFҡUQN[GƓ$1jK @FUt?fa(8)6n,TV oo)SSJwY tjTsj59§XTIenl*oTjU5B2:#)J(ye:rc&{ټ4%ڍf̽I8Px=FRҳzŻKKi[j$zt>NU[YJ)eZ (ui.Y2R1я_ :{Ӧ]ޏb@;>g߀z %():|d1E\}E]IyչSKˑ#O ~H>|DeʴY sĽʅK3)rG%l.A+#ce ā{`ky)imF)F̕,: Uk?E.Z0(%GKvU'8/#l_g~_F9(ї87ļۖ!g:.m@vJG*O@I s8ú:RQ)MU9!f)Sn` [NC4wV%m- u)Yen" JQ7dq]R[i%n(llyO cۛK Dv|Waڊ%Q@*)JQ@ɳlߑ;EU%f/_QgҧAI2 HN-}ϥ w Y_Nroo$oA=sw~@pJ6AylpJ5H6G+T]; Y ]HKV,.+ZO"8uq%\3O/m{]"sHȕHj}LD}LLB^*PINkdy2QTӬ-)v]ldyKi#75*WP%B}/(V6&cL\e$[iJm[Z;a7iJJ3YR{Yn |pF+ۃG)j |leq wu-6෥(VZsj&ŧxOɹ;9jU{/Ԥ>W9jv] n8#;Lgó($)A [{*r8&&BekM9A JB JI ϿfT_0G>d\즉_6:IGmjO7!z贄cX/3,hVu[=27i+e*4yn|]A7yogp>>G ss$cgAOL('bi"LZw_%Il5,i8e!e;hh?Dw #9&GBv|:A CȸhTXztW0n.Ćy@go|^HP[A>fgZR )A%ŝ)>]0)kuөTRXcSI/3\9bu aUz0 [;ʵ8RTRB|:ƐWb \ ؃smrEu$R ꨍ@ Zy⃨A6OItGjS6Eŧ;=ĔFh+nqr[ 0c1~=]H= }/أ׺V,q,q9k:tǛvTLc%rԃI;Y$ 62_%ڞL?ƌ8RPy:n@ ObJk.#f].8ꖉ5eT`+Se2 NTmJ@ӹ &[bFtBOw<2 ow bd1#)2Үxrc )B{UZ/!/ɣMqYy-Ɛr키OJ\[xjD'K0q>jUYҚXءHnFrc0RlwWrJÂy#pWxu=&Q^B"k,)ȵX$΢Ɇ)F繼87ұ%(mfi{dx%MQ+5P:uJZEW'ѓg6M.<3667=qi\P!nz\{#պy_fUGKAP8)%z>zb'Fr9B-YtKn4(CP㍅[aFp)Mn#+Ȉb(Ws1Wg"Lj,1`l#,8]orJpޯ3E]nʒ25Z e nc8+9RTv>(+T.Yd^TgayG* MZ, X#T}m<9W%ҫH\.fv(6w 2:RT^ԛՒz?#Md7 52ed9%Tgn9d0RYZ$ ٞ Pc.ƅjyit n+F.c㺄1~7oR8Ug'}9çMYeS0ùٔJqմK%dFrf~u7j7 niNZW6o+RESjј3+ODQOs\)@V{;È\.QrURkmĺVZRYl˦7!Ɔס#^'AVR[\V~/V QxUlvVf2Ԗ+YdA:n&!.nce|:FqRiťO])"*rR,>ҖҮ :hݏ򥕕KΙRG̕vGRbnR1MJ I>3-Ɣ #*"Z2ajע¬6[Rird!'?#|9d&hS{zV+,-)p7;;h~ ֱK$?G~k`;{gOa`'Aщ6(LWڞTx?6 ȍ斷ym}7$&g3𳍵l*^U2%Z%bP-ɐ^KJj#8 [5şUphLSI_3,92OT⌑$߀zw`&0_{_beZvxWna*=EfRo{nHCi#ine͹tf`NTr*BN3mRF<̙s/f{ZWe*Ѥڲ SEw0F)6\%ТCb(xTr2l3o Yͤ(28)HVbG"8eLPX*T/yi>GӌF 2[Y^FR$'&[+J>X|v9dh/gcgk-JRqPMzd|qVU:51"M1Jʋ\؅GXKuƱL2hGu."8y(gN_苗Qv;$3JTRUoK#bvem:B$j=Ib9ȶ\;[xe |τB#m8ġz, G l/)Î5f^p)qd.sFdЊ|l` QA[360ũ71kqY5L~ډ`)(CVSImQ*}?̼pznGAG',%hlnf!A ,Rn[EnNE*n>?^,H>\瘙&rĆٕg"[̜L$6˭(PARl%YtV虣.R[eqk [R3Tƪ)D}!,]iRɡ'v9:s89YYAeT.?ِ'!攢$NhXHJKjQu]n>,j txṄ$Lu(‡-!^emSo!afì2],UcPf:̪f71-l$hKq[fd(yrRȔlI:ruzt*T)y_il|/Bx+VɆ=|X<\c'Vub4`I4;25(sLXKM6ugV-%ipCv˵,lx%W8P+9OԝoP`GZy|9k!uCɞL@5%v%e_&< _iXqA uX$*tHѸm8P)u|Y/˒æq8SPq@s[<ȢϹ siڷ>Q +n2dT9)0V⒄:mbGi|FUʪEG'68W>aLzb.AaZnxj|eEn0v2^vTHfQQuhǓaˇK5"J3|b J^odxT=;cM'(Q!P2^Gg]!dRז*KQJSܦܪ> KBeJl_V!J!j(?/QՉ&Y].+5r:-!Y֧)Wcp.| Pk+s#$?Ú/DUeI? \u1%2;42J"ILj+q71q1E}sN#0ҖxI7Y$ XL]I^Q~`S'0ӟ`7]{>4Y(۾=q~\/n/ɿ(*q-Ca|H>>Gul6OӘ*"3Q+)ye!ijmmR,AIp9T\]oqxc Ng'QY6Gwy8wy8=Fx :Z#&jO\t[ cCQSPV QK)mrD PbF٥Ҹ_qI[(ΒyQ&;aFk%-%#Jۥ@O0kzwOj3fXqFЪc%0]E-~&xvqc:z ryO \õ ín{otƙ._b[ @eKl-e$Z bӒMG\ ՙK!)HcyA>ozt&]j~c9K}p# C2S\Z4gvQs/~tv;]4գMPq4"oJ!1iYigoNز(s24yf<< Hu(Rsx+JH}1^ 1|3Z+4 2R1mזӀ ԞчRٕy-,aשEjSu,TrʺBM`YٯRh:T B (:TĠIw…6Hv#li|ܻ#%Փ0+ϸϥS{ m)% oY=Lś5&%1d9-˅5@!O%ɾ&L؇p*7?5Yә&xTJu4d;W4ޖPS,vW3Oe[W*f~$r]fKnIr%Xeq.. D3d :QIJf22Z|"Uk )Os3&!zTUbAM S\I~qV!j8ҡ^W#SA3gZ|.'p,Vzʽ|UŮWILN? Pεvi1_J=v[T\mIBd (IlK{Wٯ@es5*gd)1(MEe" !YTRFkHS ܣg ٞFp/.RPfǫ|:"FD7Pu-+QPSD"f/'N"@AbaScFqHVȎJY.jRMقpTѸsg*p2H <3-YftL_9Jw+ƛ2$tF}ٱPKjL - eL;Ej9-be3y1C] mƥYwI)2YXg&9A4AZ kZ˜Bʋf񫆼2̂1P8ꑦG%Ru,B^XB F`ncfc.=KLEv~fNLt4V_BRŵe 2+ZY{#V;@~(IV+C=H]\dpT[HJPۈăI8K36VLD5ĥf uDSbR.JVޅu'J<+`0O`r9}{>ҁ3m;dk{Qs|{> *bp&Aha&CYJiJkZoPܙp\QsvbM#d8@8 x{=F"N| 2w`(߀RL@)Kd_{t-IήegW7۷~^q?G 4zC\ֹ Amm 棏/]ÃImKTەSڪu: Ҵ͈RUA\pi.6xqR:N%l@HNAXl}ޘHr~AJQ@x1#'1D%i\2[qg^^6pmU:\{S(QdnyiI=AǛ(kMf[i-3W# qyvC8y-`RUZ~X5qkԹ/Z^}bwuXhIG'Bc:#9%RTDhRRC+iۈ) ;MV^ 檴 ee K`JGJv[25'f40ځ!ZIMخ4Ӣ$(G* .%wK&ZNv =:{ L9H˔P \K2ǔW˃V(Z<}UXܥioL$?Pͤ*V@NzۆѥWj^dDǯoHp_̟,xU^gu*|s&p\/0 HhZSPs[>-u%V8ⓎΙǗԝ8q(B۠$ϛ,5g<ȬxrŖwϟOFzo$fz)̵|ј99ΙNV"fD– v$+eR!*SCԢyĩIP_\:6_ΎQ4HPZisB$lң IkI#Mroj#yԣYs3G[fTtR+^*+N}!IԲ#cd췗٨=U"J[I#IސT&YE؜zDWYk u:1+&iTR>6q8YB6i W5.|Z̴JOf6WTz]}-* ӨTњb5C<젃t%)L˂&C'RӚj0rKEP)QJm[&`$8Sc1C\gUTE1&MyK]TfO@┱HI$-ǻNPG3df9$ѲAn1ljd27ݨԚe4AK!@ k@e&C(FQZXBSNFm>l$8"O:҅z~ ALԠRm֥Fq+v<o(B$ڧB&vGy*Lқ9Z}*rxL7)BYdY>($Hqf4fi)m$u6**$ ςYe5/[:HRMnS8C>D/%f⬓i{w`{*>,|?eJ3o{C|7D2ňҬ ':fߤ?hY$O\A C=pz; "݀3x:_@#|f<'tH?I~gTY2Uve7 _O|~SJ;tmѤN(qhUJi^Rz{G||6w6\az.;"W" 6,.Ht4ۃE^/ v"s&KEҁ Ơ[Xn:ZnIʍNW0qPh2^$I6Y;=tZ"4AV0kqhtVzPY;$[Hv/R/4*ҔJBBaJ4:#pN?.WVdȢK+ԩqۭ !@cteڱ}*+0[ 3<=vIPcI8.xGG5%R %+U?_wɋK3EK3)}y΂?)*%&]ʤa`2ۗO5ܒRHb/d 29*Hw8S[{/4A HCm ,6ne+ E\D.|Lǝ܏&PJY+Zڮ^.МkFɬPr 2 ܊@=PKhP؍ 5z[ǣ°w?y Yy$XDzS)P'Jд}ꖃ8#j"p.^jTNw5Rd;OAO'^o ;#ֻM񧥱JJLVN)KXX_lX-RQ$< 䐸Ĥ^S B70xQRE~wVT R _.  zK}d4@Mc+j4jsl8, <$y{ؚlGaיS78J&*{yY#A :VoLV m JOPMϸH/w"Y '`Scٸ_} `@S`! }^{&j[m\ygf.IUU *;J@tM7Y>IR^m؏FͶ|A&aĮ tJzuꡁ'Vul`@>dBVGF.uf#n|d8 blqJ.6JFۓ '22-T@[ohbP'l h\l'R`=G} .^h2MY&{> {>`{׿>HM2X4;r4ڛ5?m⬔C׿Iz޽| ;z`,U}]#ZU?T{r0%j}0)!$/֛_/N6JU[ :50OCjK^AWi rUԌȵ LݔDwt'~R,}7TD-FJ4!̷OPmu)"E$T,zcW9cr~l{tOTv~ 4SYtXt玼O=\ip8/{gҖ[w)-*C+P> 촀GB, ќXU5&@S-5o_G0p`ԒC!G~XT>An<|H&GDב<żB@RU}iHqsyyYS,m`Oe(_co#DJ)EkQrOH<c|x|ȎdQꆣ %j5=%_h ԼB)TWmۉ2 1BuhS+`mlV׹QvshB)CJQrRt  NYibǦ:Vn(uДL3tڋσr>Q(uZ~ 8+)O:%'ؔG8Q,[.I:6^.47.-]/rAbzPթ KM6|Xk|ԠM2H {J|6YLt% B]SڬOkpNHTnv2rF&S8]WIJJé>&BTb#t:c`}v#hzz :լdJ|ϼ[V˦$꓀)|0;NEU~@{ {{ 1L ߿;› kl,T|KOoҤ&VGy;Ͽ>蓸C;!VRUIKEL#N%x?QVǝrӪMYqR+囨3Mo$= TKnHUzvta'nTD宐㔔1=Ҷ<'PJZ6+SWFjvt5§Sk5 ) 2)vY WSduےU QZB7ޣ$Q$u=IF]gT{l#ۇ$H!.;!mw^YJ+[i.rHg O`AR{wCvT* :%BzaǪܜJnJUtFXJm:R6ipYb[nPA+.:.^2ݝtH:EZQS;EVlmHe!љ .6P)D]~)ҝKc^IE}b4\[deIp] ,jɶ tǫXxpFYEMq>REڒF)$nMĒMI37*be=e$T*:(6bqu赪-YYF3HuT>|ډo:wMpO<QwvkJ lRӍm'm:1R='moؓQ3(3^h0uMURYpV|FOI117YRq\gav3l}Rze%N"XR݈$7-MU>Z$ > AN|WQZu 1m$w68[[HW)쏬~!4#һNNKRPC(>պqr }JZC%) @RI*W+EG"3jnsm{~ȎE: m(h |m (ؤo{~ 4bMy2d<ԒzUK+|7*:JH|1c#7KF5} `͂'M[K)1H $;Hr9bt,-?ŊElפ$Y !i6ҝymiltAR-ۘ6MͅϖkQT~z\Bd)AQU%=NwM>w([T}c_to$hm% OQx`bƦa { #{ad5z:dy%|E#c/dbD~w=( f|,ۯgM{^OIiZ@s<-&Fq(6* ͎)HĜJZ%e:+v\6m(Ub 'l|bK+ʛ]-FZ]ӻ}g'C$86oUT%{1?"D̖cgT tG;Oz?Rci}/|Ɨ=լAb/{==v=:$f])8O| &MS E-yCG`E;Jq$ EČUʃL%{hTPjuV*cUB::V&^&jUsQeu\>ʂZr-^ɷb&Ҫ5-7 U_g\aYqRV2Ěz*DqyH_WKeNFdάjqn˨D&tQ \S="dMeRbZAȸ^8<y2kabyvA8-EWM9ets$ZEK{>'EW!Dj`RҕD7M>onMjzT&M:b'yA^}b/Sݪ}ޖm6%%!`8!k;XiRQfT0=Tv[-2~iKnES8Bl5fJħ8$>(bɕ=%93pS6s!.Ȃ]wO(졎3Q,m3hS !ELWIܤFq9sQ՗+Vh9%{6Mceش2F qUϒOA(b@ѻ3D0R215JٌE~ Gَsp%TV^61IꟳHʣk_{yĂoM(5@7$wSla l{qVZ"7$h4w럁) )P*m} v%DYkMY4ОĘ6#UwЧSՃbSOV IC`@ rcӨtԾkK PEf Z$) PaV,ip `'A4stR*PNT(hu)-G=tu\Qt4Jy$建Ϲ>I8m!N:`0n\-f53N= O76,SWd-FyFq;EG Km21|po;) m5{4i x$?[ ?+gXX?+d[X䥀J@u$nS8X!46!IMG4()2RIUvUn.PZ7VWX%d;)د4iȊ mgZT6=zi薧r`Ƀ$1*_Zm4'E}$F<͎s?VINfΊ+'38yٶ)I-J$[5RW'? |ʛUJɐh{i>_L:c{[T㵤l_L4ZˤË$^E}4jNaz>LJ2Lq$ Ȧq̍e ^", 1ls9y}^7&mMDמe[;g"+JtGB I>=#`<}9Oz=}nx-J'0Ш !IKZyJln2aQ_/G?<fӣ! :u8%ekRS~n=I䡍5Ͷ\Z)IJɱc,4SGtSa0qa6DqUElU9 eEve6BRc3+َf[`H8Rғd8JH I:XdNJxǎֻ1g3e2S5CS[6ZG?fkQ9zBVٛSUCDe(_^ Drk>UX4 cBzXģqv&KNBR7%3F]Uީ!,et' ~e:lm)j6mP5#[WJWr:J mMiJ/uz.ws&hKX 0Zmo€Iv<ƜvI>;QyTQP+:"ttW2/5*\%qߢT!jn~PAm&I*]"v2̈598 [Rnw JAǟu*:`wIiΉL(%]Ӱ, Ħʵffe0r,K!${pQʝqRDRb֛Eҝ'%2&LH"G&%rIay 4"6,GR7Q)Xywcd0u:4Œˊ ҅/k16:d!7"0x**|HI˻ϐ?Y?f34l}Ǯ;d-'߀%L$!se #~9! k%nVD[tYd6>EmQ7G1I@%~҅(N'qen+n@ TSLJ)( aYS˒ɲ-M"T\f JnRJJ Nl_WuHn\E 6̧5T>:[mͰSqK !O'eʃEA2L!ҋYm!Fbb_z\2bp8ANd[֠抍!Ɔ]LB\!:m|4:.={˕ʛ"%ČhS4H.-X&tJNv "3;ƶ;jcjF>wHU_,P&cҚde5ĭIUͱN}~O~YC{_;pY9K9!).VdTr4Q!Czn:SƞnS#JmubHɤd=8wӵ&-_g)4*TbFmՕt\p<$r܆iJn+n7^f >~gZ e׫ruV+SUCi5m &RqI%?ilR=[~?;$SE*ĠZj3ȚYJo gPV7)a8dᢱ+3JZE}ܑ.qmy mzH^WiQ?Ϧͥ)vq%fjnvc79}ZrPR8jg{Jd%+:#` uݶ5G̔dҋI6V[mrHZYlJDo v[@NXw^{j]JmZN(UbIMfWbUV,zjDdɩBDZT֭$ln:j)>8/Ȩ&p&tGz]Nq܈X g/ l[ Jtkq}~< 건~$K^$x`f"THzLIK) C*)X)X8`#53EԒ]O9v.۪?3!͐)2GYιQG]¹5PUP!R#ܖ\-a>+o]liorؿ FVmO9RUE 8|U'TVDǎ7I*:qq5vj$|pY-^i`&NqLIU%Q/^ūB1N)~-D%Kxx |OBVM=:zKrLhfPʐddtr[í'Ljݗ(ȜE]L͝Tv3b¤*)fESw[(J֠i:HmyUFOV5 q.%)E9r0Q7-7$u_1JD$wfӺm/:Qw <|j8ʧ͓2 ,O5S#Mma%$!I)!HW\Fm%7?2yy q"f\bU^͕ qiȲК/Xl肸$mZ8bŗ[3-LL-=-cj6 P>vOVN Z"تtx9+>"օt8ڊ\A#*X p-,np" SEiN|O"R:EfZ+MnzLSmm=CjBaf$mR MJJ ĀҶ"<׼`Hul>H0DǓ#+!0G,E]BCq?O ;HChKm ! JR, [!ڍe$%&#Rj$P[1򂣠.hdTd+OSm[~:JT&9B%w!^e o%ЁQJ VRK\XgQf9R5񣝍Cq<{:}q- .S#.xbV6FR>T\\y%>x5ea+ZcۗʸuI >c{غ8TQYh$dERnp z:f<pi/ߤ(XP:LmC=)Kǖ.JHX RL~q~]n-R].UI.nWtz,z\w}}\# U]vn:^]N4LÜ12f_k~̜ X&q;\Sd0|ө̮nJcZOUۓi~&)HTVҙ˳OaM@ְyQe{o:K`BF.>8"RrӹZ~Kfjs;2tTYILe%%JJN˿=iYRELW+j#!o$p@i HĂN5 5̢™YPY3;%ESf8 Y^PQMm˙6Y\Fӥ.5C=Hmv^i29֙S5úa(Y`\Q~/6Wd圽?+@LrP:J-6;!ItTU8ę>AMFzTi A^҇[`H'uze9zFVk/ː#ɥ4֤Hը؃bA wʵpꍑ"|X&ڙQ Jcqףd7).zR%QO!(Iԛ[S*WW'͙I̕.,XssWj3*ЛOf4f;"COT␿RuI:H2zǗ[N1GZ#*Dj'Kel[-!ޅ#Ru8R^bԼv"zHi~2N XvtZ>rN{jaԺڦ 4dHրoQ6FU[9dQզgb'35P |Óߙ~(b :JGqWיMB3ojz~g w:QڱWmJS>;6!-ŗ;ԩZ3|xTbպ&NGș{ 6R髢MTόĪ!ْrKMfd-죇ڪ{oߒ4nñV8 ҇JD5StwE{Z4T&vn珩Q_*Oj'빗3Vep.㘲gkfWKIZiBI>Mko_VVO˿#^ Ú;+ryڻ3mFWmKM2HfX-Kvy0ˋld\gDd#c%R^PIǠ2DX.2*k$pyG6'̎yKhm%BEңZ(Iz  Rҍ$G$Z}=.El#UO5#_Uo)#Hl867`n.0Hj$ )j0ॆio1t$u'Dz)DۈyQCJccD%HΆRW$bn;Kd<i7+okb !KYHmllq G$A,eIrdT`D;}3ܟ/YibLfϪ\BJZ[BzD>$OHd:Z!E c .HV 1ǽlS]PC,8BH[njHy?6E*9B-[,b8ݞ$p3(&47NX7E!dJK(GMҠ9$-=PTuMf Ix&9IRqH sY=Ye7Pc|"2zB!,ve-WZtbU?!IY:]r5yf*\Pʣߪ֘EQRCĤv *Nȕx^2T˒?+-`GqhbPT4i)IP>,ȵ]ͫ3`wFdn+-tmjBIR6:p&ĵQEq۩UIˁ!!O12"gb(RR6>_E&ӲxTZF\v.SX~)r)bbR4۩)H*&M;K8vĺI!Qeh6jJFur|n D&*'E2cyw@p,1Aԧ4ߞدIn-|89!hU* UD$W)bP.㭋\tH?Pd0'OyH\BMB H^cl'Uz\iɨ:i2[XRҦ ` q1ꋾJN*H֨#BMliúAlx92|1s0`/L֮KŔ-iFN@u1b[/50 \A71j)tSuhB-#ztyEt<ڴiQ'ǭImJy)I֥_e6€2,HSjw(QK0Xi"9 N+߿Gy]}ϙ>/Q՗hYOf)v>22XS-8NY?1}4B5:o{OKRs- }TJKRK퇮\J>mBJ DT %'e#@'*QŁt_I;%no8(X4˿ ̆Λ&f*r; |QǶ5o ]MAioDҵu#ȜUw"yOç"7w>G1(>mLÍ784*x ߐE~%+!":ZԈ`?*ޠ DNIژIf3Kԉn^ȱ'DͽD^AQ%*q\>wH q=R.bH* 0:}Y%4v1 h֧2>F78|sގ`$] ҍ[95!ߩe4֚qu*a6SN u!¯Sr fU\ȫ-sdBRjAp;P:8E9$Hԣu;[Ŭ:}fj>QSjS 49 !Nm8 ť--)T7QnBJ=TI1Py?jۓ3c "xYɵ7.YmhTࢋUafZPk3X98LJ)bea;Z?2OHq.4P)k{ZH;Z$2ꚕhIO^`CZ$,LP˷C~"u'U UoaZ8Ĩ0f+] bb] >>%Do\N==^B5X_o Pt;Km_F˄:(Q %Gcpa#. JWsm%=AKyKVNaE:@ T-t̍MSqԥ*j = lhvr+K wRHX A+!}TXЛ9`H7JHq,nmvMXW7IzaAT&ζ-@ %DmD"ؙ7f>ı}>ׂ'䇓K!ʞWMވF*>h;qOWGޏC]&:_^}VMTh[AOwuJwJN{Ku?7ˇ&oXv9)e(+8™xj#%wXHܜ_z?\4@V%ɾ7Khk~Jh8čJq]~8%5Lá<Ǘ*UJ2V Atj_擌^݌qSgBqqMBPpDM.ZꑏdnsR]D!.")W _1)RشVd4ٔF`B܎zGwP)DQ\r4אZl(X}lqlͺZӪ M Dr7q*8yym%P|IT`OSW]!N<+qi$>{\+{"3Bx@1'bO7yIq4n!:_.=gˆX) r}?&Q>IW:CDO`VIUca<5'YnDrMǿeUS!ԩٻ O~DAAQmA\( @*6H$!tLb+c6*r0{^vm//et% ^q獏8T=)ZJi'4Jm;Big[%"Q|xU:2b!>6R21ռ(e*[ߛ=e˒:#ޤH?ǎKϯȒœul-A#V?[*9qm;jq٣mܐ/.$]Rӭ"+>?UI]Kf).6v %j{S_Xtr/|Bd-H0uQ :i[t!l\oJEMb ʓm?/WgF8.IZ(!!V>TQS_n_TGZ[:DBXYZ9NTM[HU7n,U=)9QYh-ӥNrX !+ZB0LU%LӛnܶG8ܐN7K[ jMBtKgvTrV+Yݶ9!HP錗&S80si:)!gՎ9tXz_ݱ\ RWv厐NUش^QM^߻B-2P8+%<&GW#=׳*'TlљaGh%΅%R.WZS|odncƤݦmū䧠2=s))J!)NG`>'" Ƅ1NGyxuvۭqG@ߵdB~TAo({P}}c{aBȔf?SW%"kKycXovyuǶ=ߙ2m-6!x$'P`Nd%1#in$[dYW1#ICW* :kqڬJ9(}1VݒHZcB7 =Eymo/qdز@-T+MRGC!5(~5ΞC WmͺZ1 P!8 0FdYQf؀Y4NZJkgsFJS$S*V?HAPTo3e/o\bvw|ow+r]J-fFfP.L`YWu$[bIƅE2xZA4*-`ۉx:#dTZHp*i[:W)w#TX\ 媂R(*?aً;\6HS^Ŋ>Bd*39uZn.(r#rB{{<*4ľFI |,}za '``ԣ9TpK>Q>EmrĒ 0FHlL mPLz ȨCHaƘ.$Jyș4]M_Q)i[vLa3B.[re|f;34-2XT)R0 &|O1xGnb%Qq%! 4V@&7Vrnj&O(9J'94FmM唴+3JH( _ iR'ry9h.THi[\ԕ@!@{Dgz4|AM T hZt$ZXqmږQu@?$g1E\ӳ}ZkY^ _KlE <^\J^:ETqW-9+1cXC} J͓С6ăKJDS!.wNKiK-KRtN#2שE0Tҫ%9_CL:RmHRN8 8YnҠe鉛VIy pTYm`mԔĐDf0".[iPj|7kyqBB9O)6#yH۩q64ti9P}dEPZYSQ JZM1RfK)yNǥӳd*έƥ0^e2gZZp/bMYF$ Ǧ~ un4xˎF *] ψ$ o|Ky4~2f:qit3_6L?J!r*0ʚ>6$1U6iM?91hO.ePSŲxΤ'ЭB-Km=LJ}G3 y }mFs\}V^qF_JV.ePgrR*sZM+0y_STz0Ȭy>),ֲ9ɴXRSueHrF6Ζ֤,ؓrsw=695:V8rJu Q:D&)џ2hwUKԤ6ҭǘ:,r? N=^Zr*UBOiQ7Bj>LqO1 yWKz)*[\neT[Uϼpo3"1KكUKR:2qO=CQW8-6Ť*ku^3)@+ 6Ǒ iHSnŐ넧kN >_ļZ6E~_LfHce$4z5n@xl%ޕ)ЅAB0]G5[pyoya53PQy6&r׭OS+H!*m9Y;c#d%\]JT>t㓖SΆDxRIS!.:Mļ;轥SfV]jK%SD,4Y)+ZVQЩV<(/2;9!f]:=IDA"Dm!hBMU\ܿM_;COeU$T?$: i*!++юM+دlY4>-f|38JjIOεW:^L%D9 Xօ! JΡ69:{lr os3 ֊=m:Ivz,`VƕAqGZ)ăp1I.-NaG\v7ʕ^b[KNxE_M*_զ`:t]JR\i{_ӦBKWZ@'>'p\ʈ## SKRE=)s\FŮ{y~i^e}MXb>;k1R}Ǧ-R#QW_RJ)#@ bҳ4"E6K{ PS̘A;jT{7$n08iH֖%M%FNc!)ܜR[/8F_:XoPSUDt861]CIl6բğ!ke'AJi)"%K #MA79&u!jJT cm%:609c!28M% )\x mki N$c6&2Wuo TΓt%D!EP7M8&U,.ˋuH}§\Vn@Av8[rvE{*ShuhBmj #/&r}կYzt~7d[P*77;~7}oU;-#Oh^2eXܫĺQͤC6\8#)<]ډj);뚢l&ehl):)CT}@aQ5^豛\j`$-i,H! ICIY"EJv+rVMSJڌ 1VXRhm.BM|fDN)baCx,y'nqMȬOJ)/H@*S;qN8y%vbSiveBMkc%tSS7*UVj"PME] ibԄD trRv9]Na:QLjLL0 QVbZV8ZI(l2SK";8[yдxO_[oȓt1(7ur >h˧S%)kӎ%թda7^0$[Yg4 >q8 k ب<ǖ%;>?t/K+>${=ؓϱBp$b)eSmo'+CA6%^[ cli92e%ė%ۖ`J9T1vL*Z6HCOƫ:5).k[3ZJJ\t7Lg9;ؗD[]֔-H%QH^% n!R+8jQ=q1iUx켑JzB}$OnsLv)_Z@%JZ<쟷7]݄+ @:`p V8<>Y&[cƁy$oq-؆@T k+,]Άi$ԜC%=[BHO2^sՓh2e4u )S\y1&al*m$ |ow%+EM@~Z?_LOo_ `n)_I8&蓥 oXrX \'@#)]Tm|'R`0d9:2VYE@%}߁&]$)a)HN`J5$'&nŧ! WRw$'a6UdG#l_zeeq+RI/G@>K*3 $RqHLp:tY~#ǜ z@Oh5&326; >H]Yndu1IDCd19ơ^MLE=4?.Դ ԱldX6*K` +I鉢R](՚Vba Z+rh5 7`ı)rjmzQ%C)'Uʟa\^\;xWz7缍C g9^'5or}f%>4"Җd86vSHLDRz~<m_FeR~\Vq+ )Q&} OԎ,ًrxy|"16u [qO}F͇b[<\yy<2#oŐuRl[U`1hrN[C~2 L;{Ԥ RtqlT]MGfKd%55.9$ݽŽgv"?X%R_rڶO-q&:{14=58k`<+Jۂ6?e8_s)Ҵ4,,z؏f2e>Rqhf`/~>Oi )@.N@'ݶrI65N>W"ңwWݼvob(KJ Ajk0Q6)-qGN"9-0NI)RM|ɍkQۮKi qQ9Iv=Ǎǩ}e}2:{[ -6s F5Oq2f6ROeGm:cDsn̗V[}D7ğ,Zu%|D]0DJ}vu +sHq1KZREO4uSo"NQE9*-qS=DiJ:H?U9SIKq7όbD89&u"Ԥܴ|QH=~XcWgȂsLB$hQM0M9p!oM+b#OEBn\W(3~'y:z >C ;Q5/GUĐ>GJtZ厛${`"@`:":|#b}[,d5Aj)k^@wZoj` o 0_4ZU LfD or FjWVyIi`?FٜB:@R|()| F+v27L}<"Pb>!{īTa$]G'0r3J!-A>%F,Xט5K+"[CAn}k! z\JZΟ|r YZӥHEu}W$/L1=iƦ` ٗfks6X%JkrfSP  8) RHݪ?Y*sBڵ8+ln)&{]{Y:TuP}Os_!Yg5Ľe9+UIلThqf_>$^DKS<3֓Кp\&*RRԣzIcWa]{S]4譩NN%JTGH$Y|%LyV]klS%@Хl\}{OU/#|9q.M}BlU ~r=4xBF -P; Լ5*Eo tFo(9l_10AK}psHR w<nG:|8 |i-WRR:u>:Kip|-WR?~F:|'lXX-ʑe$Əqsɸ}HRjU*Fgy3M_!횆 JS[ʎ{OƋ Zh~-,~ ]>;gHq<kGTz{ZyY|oLڒ{e]`_T؏ȷ'lէB U J3Tq 0Y3bA[N3u:iJg :@|JMoeunnw ZIRԝ9-&d`njx$[qY+D*s`,z^,sX Nb\@klfFILJ\"Ougك|ǖX՗8;\LmA)i#$qgK,n*q͊He K56.ƞ -8ߥƐk&5Q ueGm+Efru³,=s"ȤImKi2OTH.rօ͚-e)6b($d50 R*^.pĐHPm%Y)YH.pʛy93^4WU l=8pI*ztc4ť]oyOCtF>HH˫KL1RCjAVe{^LYü+!gA8sd@28\wK%Ľd!jIG7r)+\\sM~OMrgS*r) I WB/Ty2c8Q(UCP)->$`$OC:;_pNYk4~zi9.|5Q&VDv *PRAV.T4SNOۨ6[ju@MO&|rO@G`˾½7'pZXBǪH?(E"H&uHqE9 r]}Чu(h  )p,=\:4ƙ9+\JTUVHzc-+o –4ALіj Tɫ:#ed%gR6\lMo:./e(z)@̹rCa5ݸi岥lN"Сy ώ9A^ . KQ&"+8R^74"L"=:;n]t X ā1Ϲt 5f9$E[zsKO詿K#&gl@#7QH=zsNsem?2AXc7Q_-07>:l4)I9m==0c9e5 G)~d|@b)B}ԖoEdk$*$uKC{ DDgisC7I6E n:\o @gc1R-v&r+Ԧ 6$** @rQZ7VYEvKZ趭IM0M $IZ"5yĨб bY*iT ƨ=Tߧـ$Suz{T4xV:}08%p-=ae\mlSիud5oipl0|r/y+<.%=u q@: _f,]A//S,>@SHk|(&LiKCi]xEc_>Xs2l Sr,9rˎ6Koku)I #)O6wkprJʰ?HR}ЙS\C i( dYm2QK^dLj1CB/ylxA iZBB8~7:PR*<0:Qo<5m R)m]Rb:͈ Pʵl^*JNjVe7J|KWD')@yˣT`&#s3wFAϜ\ Wd LCVYݿPo"AcpK4~VwZfbo[WZ=1,}r٧ҽbe2~re劝J ҇ЅbZO5I|%dǥ'[v9DSUSOF+c.vHZU"si$u3d$[t8{CܠqU6'7wcW6%.NȪS£2S]EqyEJT4Rw䛳6G@P`KqzjXB ʅ[(ujq*H ;-S8ʅZ9ʆ*)qIiO-Bs\GJ[emJuVW_v<#n!';!%ǚ1ЛUf:vj5V{TR~<܋~ e5}Qdqa$4 |Tmב*4zL*{0MnFF~YX1: 8-<̀uϧsﴷ1OCi b2qQO,KwF=\0qmV?_ FV̡OE츯i.?N\RrY4zj*2U#3I5(MI u IPsodU/(FEkޅM@:d?hbzc!{JۚgUo-T*X[Aq8s;x]R$ũzE!*R4|۪9Eu \fUNTqǥ>a}OI}Jƍ*&S2NEMNV0N&T \mdd>Yr5fS:ܤcӥ]RA)fB\HP4>\OS գ':.OR[bz&6LZ;%r"HnR֒ iI79>Ĥ3`Qtze5bAUu) _#VR(?m,NR- "q9yk.ɗˏFT-Zʐ(-{lt㋊U*:nE*It82?71tZ1WP].8 yCS1Ua;hO=>$1ŗSh='9s˼B%&!)CtIeĩ7JpXzx"Rr:S& ,2ɗ.W皲YYԥSU⯪7-prvS@HUs<8XD":ҒfG2k̻v>,--‰4um|E"29CY+Ng#JghƀlL) O)np+6exRֲlYr(j!JFH*AWǪpt #t+/`'g?`$~!߆iw}ek_uh>U9f$/_#.$0cO]?}0Q\gKrgKkql` _Gdd`0˟,ߏH?~$ ꓀*l0:xk{l+!w*_m#(r9g? ?d:_gvC)?TXr̳jeMct#_p;ocɵ9C?|W46C80"8ۜG`!#"fd?/+";BG_T!QlԿO92}H8O.'1H}d3}F|paW'G$ob?g'nei*4\j' yg|_qciSCYӏ+S1-ljeuEĉ3eG\/W?ۏc 1(䂏~ >K5?<i8x*I`tg_ŋ)#JZlp$]' _/1$he~3(Z+ggNs?DMmĚOF44;/=PKZ2plugins/catch-gallery/images/preview/videozine.jpgnu[JFIFC C     6X  'ٝ2##T\Q\RVV#BM5$1R0L!4H &46H)%LmMM6к!aT\QZKTȬ*Li A  H6 `dČ,& LF$lhm-RlmM7NŪ)ĜQZV$$+pKRKIDThQ$%)EH4JE@h0& `i1,&$ ȁ d -2m,H$ia1.Im#&1ȁ (ZEmijG&ޯXvԗ(z%2nPQ췑,}oR (FLf$`dM aK1  lFLKdč,Hɉ6M !l&҈5ߙuz29yg<=ླ'ZVL̝Sд͛esCׯ/FM3<]k\CHСq?I@ 2 2`2 0 0;1@ p^zkjJ-?>~g/> ssz켏P WgxvN5~nޝ|pi|Et@k `l7_4<ZSc;_? w)|켌go=/ڼz{;}}R|6}OG\na7wݛf!B_mPۆ3H(` Au6yV"" Xڛua:ܷ/T)t0w_)ԼŘQG*d8o[{2Sg1O[%Ohj@A 00 @ t(#_Ňٻ}?AӤPv)\r1Y,JZJ"% Ȫ"44|Gts}GP ;:ݏFt$xE݅6lMx$WCd8(VX\(>K3w3Iե4uޔ RKIj.TSTb'"KV%WdTh8o_ElpV[_yE܅*@e8G^lŅX VONG-M#\tg@_AXڭJA~w-)u>M #/2e,Kq]y&T_Bsdؒ8*K2|y?W3L-:UqDHϾDlJ^x-1(R=me2fFbfoq-%kM[lYU R479;,//p*osЄ5o?2fI;e(v3jQehnD6AQ+EҚ 6S<[N Flþ@{E̯U`*w49;wD$[]uW7IHR/goax_EqZVtmeo.pk5uR~=7s'MS_}zpW]NNʊrd䖸lֶdE؟#F W+j.y=^lUc4M3Z

    hs o'pz#ϙ& )R3Ɋl(\lM&ʕqg]MiMW&jIHQ$%D~|еP;y_sac ;pJi-q״R*o5Y*+߮_m,;'_65{ݜqRJ3ŕ/s/KBu/za%:=:xGaBv(9æNy~Pbsv\ke=f5M7U=xmQ!b4#GO_܆+m! LޏI|gAH__5̶k1nˑ֮#T=EAѠNϡg 5m9Qt#ϻo{_HIT=⊢98Aȧ\S*ESZAEi)% ^xXulQ3HР4(h}cBX1ϭ?w7諞yZs!*5U]Kv8{깝5B%'*"RN?zv[gg+p]yG9)%+?~:/")N(β6t 4DR}3UlS7Je5\ R-v慒rlg-II!>jc}~9s@,UmGɡES{.)Д+Rjc?Bds~ u4n/y*+3[ʻm3tlIWgռEu/Aեӓif 6WamU Kam/J0p0ۑi@r9܊Q&Ϛf^{7%yEQ%9V MTZfPT޷gUiJ;.l~[\jlm] Z>~>g3p/3v>8-'K3#МOٟƟMo9]OcKz -'".$)EI-%\GTRQ%KH4(Fg]FMr/hJ>NY)t+:cFC 5bK;XVj@)1r!N 0 jy'o& IX>ͮ͢m{)m-f=Lȣ"JIH2*BQ- Hesek2G4kM]vˮF$ILP͛Afim@v,_fw<k  x5œv-ڌkl\;}޼vzs"Pvβ쭺e&U渽ZVIJ+Ij. HRФǓ0/6˯Lh㕦rf-peb7>np+X͹uN5\$U+.q WQ7:<|(M84de+' M:v\CiB_:w9%[NT99zq9msrI6Ls5Ң]/4Q韙}eʣ"0ׇvY_A%)28(1t܍fP  >fcהf55"]*}+v2ˮw9$&ۨfȪ4ϢZ\:^7moT U7߼l}:xFfڹF+,Kuy̾UvtpINS-PphP0000`;o/Fکr 9(.UuL'KȅlcXl6L,I2$%iZȜa繲@>Og6Hvfo6F>š_B0+3~~)8tKpsGL|(ZZ=:\-/KYM1:]S5΋6kEHZFR i, #ho~ӣ˵,|dŐqaB4 Z7Ԑ.גDiJw7,ڼ֧z'}ir1:u$PS.VX٭fiP.)B -% ȭ% b4 ?6uV c P8s]4z&2T9<(0 Dd]Ĝ:Nr~~TvZ*:"b4ӣve59RL(ZNF.$DZTb. ğNIb~qj,B)BRJi|/ {b"U%TVX< A @zWd'L'ZKjl?m>ۉhsYgQiWee~xM5v3(9ve5~[ڦLSeGuLâġJʻ=WotQ?w+ 8 zCk7xv;jSEks^1+\PyFCs]am Q9P3:dN*Ei?d M&j@000_ ߢ}G,^zUng_$k0 H7}3Ȁ{W(&y;~+ԗUݘ-:塱BqPE#u;}*y)f(Dn45()!@` ӝM/"fA K +/B"oeؐr$֚86S#a}eIAދ_?nEUF=R쩊q&]LjrwiuT6_;Uv- QRKIĖ [}v~E_d4lCt 2~}K،RߠcKVfy6K|H(gmW7Z~U%DZi5DE()dTYo;l1=Nn|^}/~MH6>Ӿ8}Ov-+[}L+F}>_Q\j9H%<:焭e.!]G)x]cZG m*W %slފZ3z#p;Mo^KF?G2Cnz9G2ޏFoG7ћfz3z=ޏFoG7ћfGIM&i-)e4ˢ,,U) Ҟkkpچcz _RǝSi0赭86$b\F%+ ZF5!7$d?|1|L|ڣ/p;H,wf9ebذ+ڏ̖v9=ՀGbGHV$ +3-6.#6 I%'L^DvOB_fA糈y7o~M4wy,+y<*e _`Й9%yW[(gr juU =I|l+_+"3m6$$/pmUոn/Tb! ib҂lk~4Git#>^Z [B?c3{SeF#[l_Ia1}_m qr&6l.py)[M%3} GO$ڔ~kBu/ɪKpCq 7Cq ErԺGZHIh"$obH֍ZII56$j/9MA*ՄGDَO}cA#R {"0m4I@ @f C?j?)߅~$:qːk a6։q:TJ9kA4J>ihqDl"B_~m_p衤9U H{ JO )ܱSZKClBdP!Qԙz ʹSmi3h%NwAX7 TZCBHm!Hh4ތm,qLH7%dװ\VmmkMj )q ؉G6 (4,v,jzxjC-`Aq;_*z{2QE}ȏ²L[mpc8i#71O 6V'yFNpR9duO^K Z4(%iU;7oH$s97Cq F2qZC1|* M옸DI.ӷb 1*oՋ [r--%(gǪAB֏o_%)YX:^e^J>[kÜ\aP۪Zp#6 }.McG {qlE32rc]td# vH$צmPb~+mÍ-gc 6:.i: *I%kh76>cnmǦ]nXe3w\,3qa˲nYMiA]*q>EbtGlG~sJήVXS-Ec$y J B uN-dRCV-'Y)9ɒNc(׋ S_©cXdp%ńlS'H[U1i-#f#)%.RRd?V#:FJ:HQ FRԆ2oG,nE.J7_WŭݍduJ>y>4U벑6cv8ͼktr"(&D%ՄwV֑c~6!@լA6Y1\I"-/RcKqn+\ nH=UJb5cqINiLq0Խ(q5OcUkK,V<Ƅͺԅ(A&C4! 6Vjؔd&`-061 ޅIVI1^p۲^Xe,8DCD-< EJ$--&.0MBk:Җ##Lښ8HaJ04=Ɔ4P?a EDZriMSLJYh.dl'Hrґe)u HJ!4J %Nen2 :Y6$$Kj8>]s+I-z$MJ%&,jmn5jN_щ` A22Z2#teq%ʊz[*S[[zRch(E":2)L$$,R):섭/4[:UMֱlVZq" [/6 LHR>#rABl@؁b[sb 6mHZ_3Jzƒ]ciK:)&VR쨵}MlFQ>&Ș\W.(oR&7:Ct]JZV!dQkkoF@CK縔-8R[kn!%Ix-.㥵)M&C/6w(Ùe O/ Sdd4B۫qȬ=ԣbIW\aRSIȫaRK!QTՉ O,:ʒi- N>mڑKmJơ2@2Pi+Ե Vna ՏEaf`-;E##.p78 &hЪARvw/e/iX+yuWJ$(I"UsL&EGF`©5 L@HQYތ/܌iWɎ!7\;yway/:&9Zn%3sfm]t-U&D r37<Ҳn%O/T,2j]SL:3 NKQ"ʅ 0MFZ%m=5FQdz0C,Y5TCȂFʚD_*1q=Ǹ{q=Ǹ{pZc)$6K q6 1HDluGAUc̨q"ȵ?hRl~8DH2 L q<7Љ/tq˹L{tq"T.⬓*li}bPSFme9*~_2 .ZA*L:;Ǥ<= -ǜ y`iޕǜ q9c6 `6 etK{ƅ c|S0mɹG5 &@ʁCm]Ƈc@|lbAJ;2ve1ٔc(fQ̣F 3F;/tv~:-PxmJhZq i#ВBp¨QTd C$Tm"#3[kmM KN(B| DF"3$̍'G͊yL&C*)Lɵv>AAAAAAAAA 4n~・zBkoM? BiXZW]SLU&;9KO#_4xn4[? %].2ap(#qLsH+khm 4! 6mHڑ#jFZ<@ IȢV39qhCBІ"7OLc1t:c1LbR9r "r^imGTXh &U yN?ShcCo1k"#QJ"J[mn! -!/KmJZ⹎HKFj5!n!ԅ:ɼ['%j{2[18漽jh|A'Q;Q FQHT,? +Rnse5xlyQ"\SC⣥_20_7 C1&>C_8&d斈>k)f͓pI#:\)m*dCiͧ6D+]h7X_Xk2oɁaՙI`&#`A ;]Uz0Bb-2Fjڍ4vy|SR+hXSĒ] x*yf׋2{M:^a7LYb4nkqwͧn1i۸/LZv ŧn1i۸/LZv {p^ۂͧm>3iW/MZzjn v{p^{ۂݫ-^9jW/NZzrn Ӷ{p^ۂ~=k_/OZzzn ֿ{p^ۂ?l{ۂP[=-{pCn EivDd }:ևuEnyZ vM EZKZh;3ius-۶ȭ3hwa1*MwW!X)zBM^ZWDmb_֒n~]i MpfVG<*~~+U1R[ⴎӳ/ڄ¯]sT'pV"ՁZ }N (V63ȩLReH DѿP<3''yKH$1f4YkZ׭?ZV'phv->  EUV*?奴N8/xL&\ƶ ;|?U?kJ}ogw٭r)l7y+=DmeZ*p'r;,"N=MwtG%ZEJ@Pm֫P7u]* ='^2ܕ-Jl8jZ-PJOPݻzvfݦ![4}V/z&OUڍ S\ZHSih֬Z6NQNtn:Ly+CfXdޯ diCAP3TXM_Wy[}#ˣ45I&I삭zbR4[=h?338<'[}#RKsJh<#Shs&Y[gqepY2v ١hҳq9G#8€J" P =SʕmCM'. 5]I*MW^;zϧ)i>V5Nc#,glgyHR>{_úF^PlN:RS S3{P{ IxV{O\0g8@aǛrTm6nbu@:;m/uևc&db0Sժ.@"~)հi $xLT.iv j'Q9rڨ :Cy;(#zezvcTua (* wG`!`Vcoz2xݒ'rK&=eO(Y]jx*h0>{v``|=eHk%OnSnOV8í$gv%k|_e%;6%,fɾ{Eo V=oQ絿%[./BYvwz|P~=c䟠$e>:͵I&5wz&˵K6oϻf%[?ܽf#c2%lfcM:ph?33=@܄+/S2=h23~'zi Ha?5;4uٞiZEk2]˓Sq #R6zeף>VnPMNGք-p5w.Kub*ӗ`4d" EC*[账]ߩiD4*>Ms)YSRI R`mNq"zثa'jMۈÃAGtp0Z*59&Z7u Xt)O=y*xn~Oiטmf$OxkK-XH v8#^LZT;>;KㄦZp*}Rog*s.\bh !YqDԽM|.5W2*f43Vpr {˺cR]p;iw6:i20̜1ln<iҾ& @'iԉ+KA"괗}ok^>Qު$ F51Ap8f7Y:+IH]>Lc :Aqc@O_rUJpl@IjA=?tN1#!&~x˰'=^_Reן_[#fmN|*:PBָ i%2Ď*VԃB룯Z 1ܸ#&P5u}ōk>cPk˿Nl2WuAU_1өAVEph?33;8 >X8Qf0pM ox(F^dVWb0P]$ ] ~.CYXi!9)L-ʕɪfT֜ < PsBvtd<ք2LQn ꨜPAnj(SWx-< W,/yJжڟQ桧N0̞J'V?%)15yvOZm^״mڨ v~ѵSsM umթLa-c c*5U YDQ/=!~l84sθOL2sORngoPVl@W(p}2<;BHOM c?x`+w|, ׵*6G#BRgV:Шe9l"IFJj8Q:nkH6*`>"n`&WpNTx-< mNkEh!byyuu)/`;113WmḈ,p12U"dq-˨,Yw.טt`D6WLG(5aL'ЩQ0 @덥r7b#G aRmK{۔mN^?0xШڗQ݋T[f3\k a1 ζ K(xgq<ɫqp20ԛf{מgj!RZĐs*I;g`SUI@QgxFښA9!Wd *™ġP?"n4z}q%hr^45DEf(~MSxx/eU>BO 6~\RpCTm;["ZiU8)(G'<2JnrN!ZW\[(SFFWUHMkSP!2N%qA6EV{eʮ'iU8ΈWm+mqk$֢GF za؅qigׯڹe8׳#>;һ{Q՞Zզe"cZ~10> ֚a~q'$]7;aw^[#p(]Q S)92ӎItuB.@P\:,xU:UN?VVM?y}k6IݑZ/A2׎[k/N I3*6D7+w^ǷZu6%3U:uj$zbH <Usp lㄣb8|dU`^.I5%izsZwiC3;{C!PR6Ī^2d9G Lwj1̓&Xazm44*[9wB6Q\䅄k"1jcr݊u>{Үt]*WJUҮtAPT(Vn6@ʊcEBg&3˽z[N7*33 䑗tSHќ+sղUz՞}эS?v5'kpڴ淵hgDp Sx)Ea*x'-(_5fL}䷚َډ>FJsckZZNuF~g)9Z!tk]Jm;bsˌPtL`}]hߴgDp:)Y} ?g5;oת漗6<Rcj`.2́{k36wμՉeN/*MJ,]78*u*I0k}蟼ြpqZ$qwvԮh `gQ}3w{wGh]8f~*8*:0\u@2H%5йuHtD"/I?`CHt+EբVM?ytG A*juzA:I r؍u>Lgީe>&)zo.$c0 ++X˧o}?0/>ۿ> '952 GR}`D?*n(ҥ+-Ȯ- @McNn4WF=⸊?Ѥ2=2o⸊RR@ڠmW[g5t##됷 |!ꮍ};&%T7R_Qų tKW:~Oix 1>mF#\%6]3#% pB ۿ>P0l1:Ǐ9Ǽ&￸>.C>:tyuZ⃮NՖ4;`':#YotvaXO5],fX?um"qOhG<1uo5>UxʓձhߴgDvp:)](9l֪\ר]V {EWE:Ol i$Gq'<6k ȸ "#\cUV-=c+κ{*Ϫ6$̙0{'-qZ9c3ۆ+vsgwgԭ4˅xDlU:yNFY`LU':g-kVVZOak=q&cV%_g'TRanMTBTDO6#<5w[ҶsJ:>Sp9vg$F R*Cp u5vuj[FyځO:f'jus\"{SN*ĈO&U;cqFLЪ9;\ڴ-L RMhnIZ'6 zbfنp؞ֻ1ܹ=(:3чRSNB9;S)T0ъ{Zn0[ti4|ٴmMW}_Wy^UXʢą7Dٽz&*sTW$ŢmV:W>s^{MWlfw7fӢҥJ*TRQ6g0k/CY}z+ж_wyUQm*xeqEJ(Z74!E&tzmzoH #a8L&)XΑ:UcL%9JEh@GiJͥYv@J8Nj3Qx/3%tP1fX]4zi>jW)Jy^P3~Oit-&j6KriU,{SSn}DIhKH*S oRUU ukGoQ/2FS9 ֐N閼]Q̻.EK,#_*6QepܞC LKNcG~*g6s;aY-{]#1;?^\dM=ܯ]98ٯǹ7zGWFZՓس\%ORRV Mݑ*Xƌֆc ~U)qN-O}N9 %C7pOZqe=A+;=[WiZB0If-}>_^;Gӆu>Py3مXup5PNZ74!橞hR^ Bk s띨()z,7փHh{Xhl@:{qNtKFC4˯'nQxBkZ +}i);eFT(PB (UX_m mNf(R-"Ϧ3!g` jP FZe[WiV0 Q(BR,!: p&00Rf;M?ytG}C'>*-~Ҹ(jиЍV7jmgg1'Ѕ@>ݧ4oiC3;=C0O Ҕ:߇k g7Ҹ~#+g7Ҹ~#+g7Ҭh C†PݪvM*FU%_x;=/.OKGKQx;=.MGGKQQx;5.MGGJf3U|JIo<خj UD7j|'wOO[\ҹ5?orjJɩ+|+SV?W&MO[\Ҵ]08v'V`/K !1AQaq"24Rr B#0Sb3@CT$5Pc`?~''T(PT%%a+ XJV%a+ PV%APTAPTAPTAPTa+ PT%a+ XJVa* V* * BGퟩvԤ 1r -\?Z4`:/NڭTRn"I?N!*v4;V~1PBQ ( (PB aPB°+ °PB (Q40?XVhԶl4r-G UmlXwt/,Skg~kmoT-WvbJ>N^8{¨0pίwgõUvg= (x|SmmʻD2wo<;"P^mS<{q` V8V5gʪy7| DkvξcS=U赇{JZ=z-aҽiE>~kZ=i^|E>Wy^|z1awŇWy^X|z1cw͏W6?y^=z5cՏWV?y^X=z7cݏWv_y^|=z7eW_y^Y|=z9eW_y^Y|=z;eW_y^|=',uXw#O :ǭ,W5 tM !y/lDLu\mV.cn[= aqX%{aCݘĈMsjNuEKrػrNew/*NjH޶wRJ+u%luV{;to [WXۉKfԫW6d̼m;}!@P( c6ΐ{? G?bGH[&:wڟ/&+[iSb] Ƙa]ݫn7p|B| 8ރ7kg|v趃/mpI3kmP;B9ɸ-ksGh1:L&^yGZmGӽy_ǃ?| ~Kyg)}7Ǭ51a;t[R*nI.37>Ko vťH4wRZќS EOգ.#oEPng.eg*??*.jmmFBwȭ6kW`Kco^m nTπ mYdgU{aU|ە:?~VJ>PW)k`z7ʛm pþ`㭪@ګ0 3Ry֯dfv5o*\?C%bX%ls7MLa\һmZsNQ6Tԣdbdgb.qo -i IVwOh~i] ?m}&;ՎޭZP{z*^#G i9DXFpd #prJ%IRV:_#|>j7N [YЪ4E&ןsZʸgYl nb=9GSp;SóhyAcoFsk:(PB%ls7ÂmR46?U#{ٻn晁PME mKwWˡW>TTMҩխT).*f:xh?T6s[sIp4^W^^׏eUU滠1TͱrWrUu&зvDЌAwZ>P] =awSVM1b3M.O۷,'PoawW黯w__Cm? ˧Q곰'I_gYJk1 o{NO}G?2;`NF\de wd WT;# ؁#";z.S7jVn,"7@:D&kfuLr*S3}X1k=ϑם6iaޯt>Go蛚2e5RRS(**ws6٭Ox2>gYQ$a9a'%mЦr-ZU:%b h z5Ck[o=ɷ4j6Zf !`[W==*@Nk PAB}*|UѢ0Ճ [1 7;7*^#9 hUϯmb;;jf{߆INU,5Z1og {[.Rޥ1.i";F7? urګz\uF#f4OFdD^iWv| j8C *t Г &A 'NǃrAIOAV8ꁚ~m )s'NRd'Bf7~;{aj. $'4ڲdY,:_#|8+n|ިOr5*Q 5WJ+v-`k[_AиT)>U k̭eoLH[6"p#ǥ)P" ׊]hXGal0mjE6TasR&?mNLg46[yy'\_Mѭbugب'fIFiiAc'8$4H)`2@'Nbjڱ嘤8Ixc,:G?,mXy3.vs\{!QZ=V-6*T8`54vס]קZCjoah7ɪu2ad>-C,"L!PB%a['|UZ3U+UaL '8BÓlyU6PQۋgݘO4c?*8Vљ=[[ݘe3JA)5(](X!ȉY-LSp;S~JϩOṴyOqqOXsS?Sj)# :Qb:u=![aǚKl @Ww͠ :C=!21$cq(ԉ@ҫPjX#+X~xB32"cp0JbXRls7ÂTX0cR%V*?HGɋgZq#f:7+JqeȎɪtOUި[2'Tv_ cD:IiV5kc;ܚBZpnʥB9*UBxF\O5);7g͑MqNqy.v'o{NO M0BsK7OlJ,uRnD@Iоx@#q4:W2T~(Q8 kdA\ܮ<_l4 {wV~3Z v/US˾% kFsXsw'!kAo$Tk:(L{fPKliį>e~+D9113癜a+ XJV%a*:_#|86?TlyDf<]cNYuPcb1IBUh+gbhe$6,TEZ͘Ǖ[S7"k[OSASڅys 7?Jon9vBM 5dAƚ ;{zm}zS@_غD4pN~ܹe A՟Ŵy#"rM&XK\7\kf<~Wth7laU{Cp?­iQJJ B"4smBY*a58NnF@ٚOV4ay/ U:G?ahQu8z{g:Ek\tvYpSj84jr_* =`iF#_U)D[qۻOs> #QDuB֥|X$999e}Η 0?U0ŋ~Q5ˁ NU:q=RI ߹ŋpU|ck ĞNTݷn9uJ~UȜJM*-s@Dᾰ*8!u9SjY NJrIZW9Wu-v7#;2iӤ}Jb'm- b 8q.U:Bڛj?NOoJN}x-(p{Ҷv> [7jQesnm1 jF#cf{!mj5vf>*^ a{U t}qJ}e9]H«M/3rup;9}ʧW~f֧FᏩrh֤È~yeJ~GKy?* c5Ra`z.1aw\S@$<@"trktqq$3 ? m'8 pɡ-y:uJF}Cp#R=`5c=a9qhJspW߫sU[g6Z03 `|[ˆ=HFeR =fyd-s@W˿g,gZ&P}QH4,DS#qiF@y9F&ZZb$g|Z7L ?v8ݧW7" (Pls7Ãm{O[VVk*6TN7giB7lUp=uW;:7qT\c~u^#Ŧ.~El6&o2JyLxwNITk'VW N]_:Dj'A};ς8w*՟V)zJM<^]W (t)ҭoIܭ"g$S;2qŹ k.ʧW~'WT2d>[:)OY}w@ǯ['~R~"-p4<*{[S_E2UVsMVk.wn[NBR}@ΝJiw¤jЈWTe.)7%Sz|qN$z'6#,ןQ `zKChitPRTq8=rOhT.W5NR;ʣ /52:pg"2A2I&`ʩ}I_ES-0왘9FsWWDdt7 e%qJx>&9Sa}Η IP;o*vݦӢeJmV Цʽw*`%URK iԬ֊bLhPBU ]T)ddђvz!@~<.!yy4ØJzG/JnɾZƛۻ ;>n+mPٗ?waO?wa[ᗴn<1TRhUmGHO%J*TRJ*T*T}Η ډ\NÆ_>Ԅ5`~buHMBqT{ /]Tĩʚ̌f`$'lF't3DbTY)L i0}1NڛZ aj:֤';^T-^cu*cVhsnTLVh9r'4vit挾 j &dDy>,0'-~V¥aMk<Эvas<3ӐD!eUZ& ObaZK4CuA/c^m( (P8aB>KoQs'1(5 Z2nÑN(EjdeT)̏i 8sPAP\2NiWp2 Պed. ++34)o[Kj|;^[[m0Tn7O!GqTfq[)ܭnU_꜈kfHL'Y%V5%Gi23.t..]Wq.~ 1Ԇ:DqmA 3s*5*;?Yz_[W)g02c\ls7Âϸug2'6ڭ[G: iTB@lnB}ҋ]O"!)NJ%=7CL -\n_ivjVQzPhj5UNJݩ|[{Xuvbvf7h-Jc4'鶴G /v0zZ)O9KƱ.0.0.0.0.0.0.0.0,ab X !HR_b(['|q21؄mV UhChhqYAS!Y{?mʖi:yΣ~sCyq܎{|ܛ.]x{ݫ{C <5z]eăGVN"kߧQӴu\^}l;l͟1^h[Kj|?^}Dۛ!R:j SI\D N cIY:jd]wkj1.˴gUŃCS2d6 g\Fam+ZX9613; x8P kr@:׳$OiM޷֒Dn~c3vʦ=bN }.#aqϞS˦vOzֻ1+oa(;qToʩJ^v?'^ίE+#\ނw&Gի̍÷V\YT(o)BhޟRi; ^O&lɘy}klм6agL^CHhoH֞8k5Zr*̲[7unkb;%m/uxZ0r*&Q}yaS3O{P ƱTs #zw%'|'|wLoU.j<${fOl]:ƒ4$f>إ ò?zq'*0 294N3-c[IENZ$'|wtV%a+ XJV+ XJOWf._G*nց$n^tx\%r;:G= *Ssn5ݔeGG_#G~(lR?GcHIO=;p;w⏑ߊ?C${>>?Ȧ;N;Fy (c*W+(?PSk>`C𺟫9U0fߠU-.>ӼnO'9ΦJծӂ"3XPmzwFӽVэ/$鵕G^S> ڟ-#5T$ 1?ܶO.]uv닁kt9jk^q38bz0A6nʕBmm T:obd=V^qVjTb=4U@IL kc$PxBduzl#m/uOͥNS'ڼD95ӻxU]RCNu0A8~iu jlږckc>\;+-C-Y-r۱ag'<ɗo*k+Qs7~X 4#֙3A΁<\~&QvVAȓ=T#g }PB (['|aiOk0UiX?#`HU)Z$oݮht^iKFqڅTrbGzS8rMoiC;QQt}?#ms{L}J>I,$ȌZ)NS]Tn &a$8҅PЛwU_ԫӻO;˺ ˨Jqc0p)`垊\2׼a=f]էT.qls7__i_r;~i>dV|e0 9Njk6a%Sǰz?z-1˷Z]y1Dg i{O'~i: $1(Ȫ^ $N%T~#B˃R@['|5[J{ i0D/A8:ՎTTBڂ>1.lyOu״$;EeK_uUPqn-'C dS VUo+ >2˺c%Q˵_RN} hm&=A:~kfPh >SͧNSٟ^QZ[R @kvR?;Հm*Cf2[6ڭ ˋc/&Z4og-=z5I2rܩP]LCPeuB"Xsnb{BkaρQw _6x{VjEBKp_P{z92=3fSq^#@$4V. S Ù0Z1n I-wm1uU=dԗT7 AЪZcx .`59uAa)f]rpW˜8g'oqh5hէhE'-9Vʵ@9ž-8IXSn>)\gy?Vݶ3R`ޭvS(:ir!noXUZ6âv.DBj5I,OA rWv(LuX[mVZ)OJ.%>캐 緑qÆrO5}cJeFFg~ŋݣpHy\ѬqoUӫqy7*{N'?hy墥wVc'\Oʛr>*Z:c2#T}OhAcX5bX%[Էv:f EE>ҋ}yꙒ)ٲ!%Ji0h\t[E>ҋ}p/J/>^_}gs.@P@P@W>Q^ӪH}p/I>^|}%Zu xp,q Ai m/uQLNJXUKji2yZ`U%$s @`*L%JJImU䆴) @Ɗ7T8Z$f ؚ4]{ 8ANii K*M^d\[b Wؿ>k⿥e[#lY%+Z)NRuOfyEBٔ(&^l2}iNvtU˅<>sF:.3֘-\ׂ.d[}\3y-S Jod# YNc.hFkf`0sћzѥM\3G];Ui1d3ÑmyǂTRIXV"%I[6luFSO_w8>jηH;S_N~E)*T%[~o7 Nس(Tk6?k~N@OO76J}޲q2<=$k:eGiaj{R$֧|8FƺAƜѤ NEB}W.y#sP7q9v&Tu3-0yOgRKqo+6a\h\kpBu){eM<7_f|mL^nLsP<?U8A#֏$Qsz-.=68)wj̚ Z7Br*ʶO~'(XVcH.%\K9 hܰ _(y9 W^IQs.=p?^VlڕUٌv͜ GS'm/uxO2˃%dY,HO2e(SD2pּOמViZʿm?^yWkl](6=bKf9qAX౟XPc_H1 w;u?^{s]ݬ?Rۏs?ywԼ^{q]g/=.3\wK.?˻wk?yW4]֢~hj~]̬nQv3p^wW/g:vםU˻YkΪݬUrR󪿹wk?y_ܻԼ]^uW.g/:vU˻YKj\w#,-oЕ[ !1"2AQa#4Bqr 35Rbt$0Cs@c6Su%&`dPT?_Z317o#xF7o#xF7o#xF7o38#xF7o#xF7o#xF7o#xFqgq&|K_yCSkJp\BETAVݽD@CN$89(W52kmkRӭ*l~L(2p'7GC*Parm˻.M_CpeFQdct7Ln17Ln1ct錌nF21eFQeFQEGl5OÉU<)ӓC2hU^3ꧯ^XB ?2YeV5|HqH!1,A.?C6XhxJ'(TکB]eiuPMA iJkygD樫%8%?8 8Ҽg{;"A,ԕ~1zfsTQ!mOL/EgT!IPHڥ gJ4.!)>1%K̺*ۉO̦]'tTF&=-di$ܕb=3oi&[+:MG~ԷRdw=K}ߨ-G~ԷRdw=K}߈MG~#7Tdw=S}߈MG~#7Tdw=S}߈MG~#7Tdw=R;#TzvG}#;hHGGdw}R;#TvG}#;>C4F*HOOdw}Z{#VvG|գ/@f lQ6ت٭j>O"<3l^# bn+5O~ÐčhԺ=+Wؘ< s䐫"QEz\yKrR%1az k9e xWM1%,ṙts'C*J} @^D?7#,%E'5LȸoJId"5 1FC~m_TM|nY)D֐K+Rsi鉧e5$-\N"TNTwq?oG% SkMԊc:/:k*4jGkK8o.<P=5d#! Yn̕Z>SW?+w1~BHKEGVsw?O~Ðs,U֌NNYU^wfq(k}C̾ζUQ1a NG[H@_'Si-nP :!pYj>-bZqӫBX]̚eM(iIK~Ku]9$tuǹ&ZW_"_ŚcJ~8+, EmUEkҶ!(R` ak:Ѐ>L|yyGC4{y0Sw޵TEk@>.;}9`9T+Ǟp\DN4. t28ÈJ)y<.cq18cq186M\k7*%L)%z8DM)iU8E&Qo9kB `[[+ft/=cbaSzJ[]x*dLɍŸ kP:#(rHxȿ(EB cҀ mRbl׏Lsy\СzAvYZUN׏Lj'֣4OQkT jd$5(!I| Nn12斠2JPjQLdA팑=CےQasr.8E("pH04"a36\.I++L:bbEjԊyXo>;Y);-J~%3ܦ>x \۩%%d#$$}$1ѽѦ~Z<I'$S!Xr+CAzZNN 3}Տ}ՆtCu.q3"t}_2Uʽ۲+jJ=۲+nN׻gIᗻG2_GrF:jH}=G{#yC'Cd{!w=;z}=G{#yC'Cd{!w R(Q$JA:i!ifd0Zb.Ɯ+!.U-k9q~֣_L욘FTvN uqmA')CVH0_HNDgH|bwKL7ؔJJm.\nPNHxȿ(o?-Oc g9.YQtj)úkM0Skvfm5ղ/H**V#r3褤Z-JI6h2*i/6)թ+RҒƔkFO71;#(%8&#J/`0J[\q7@\JP;(P cp&33HC3DB\mah^:[ `~(L:[/Ysh371e:-&%Ѽ;pf4HgȖm.J0]:[b CUTjYX VR a/˴JI$^M;5rHxȿ(R(uGQB93812(4_g<̭z^/oR[3]ek Dw4Ō2[@)[V* wv>83p \K2!_\wՈ)i iXЬAx`(dZ|Q'%KhNR(}j qpӉyI*%4ӾC_G$a\,82达]i,?x@J|$?vR/v΄C`[&s6}brQ%}>c "eW)Z$}[x)QyYS]YME5 oyl\[J TnX:5Znĕuan4㠸Su%HJ1XC}X*@ @Ûk:fQVZ5)NV38?-M,%ձ(I$J9]~I1ڗ?D@I밒TRnҚ|Uf+-EM5O-D:._KiAT6!9PkKiHZ7i *5jwi CK*kjiь%֝!DЂq(Q&JM֐HTRy)ŠV0HG÷38Fb7?-MFkere8a1cx۾X뮯*8 +yQG 8bziWDŽcamʯ/XW`W;QI댫N#311C !֐8@κuדGr/蒚Gbu:uBYuUJJ&J5 p 9^hCܔv X v вڐ nT6EiP mhu%z-[ꖑro5xCM0+m!MBVh kҵiLJ]] R \ OPnq,l4<!~Z<1<,r+Hf.ss0棴|(ܽ?Tx-־A} ZGHRDuLe a@ q}ulGXV3S TaXڡ㈎#Ō(\n1OpO?ƿݫ~Qֺ)ğӇG-ͭHWIUDs'gɡ)r6kXJM{\tgikV[H0+wtRxSWv#'ΐY%9Ω'0}&.zV}U{ciJRiW'ZӪ:a9[rqX L!B#cjM'QT {.3\) *VVfRq<=%D ǓGr/Z @KtIT [\[Xc^&U͵ewmU*JJmtˋujNU, EkB(^R.T  L4EҦOH" W6 J7)mt'eRm$u vR'HiN݂`)-%TPWZYoYJuvqĴ`J)Bi o\{h-J\Ek[aLEnUI>xavئȡ#QL?%4_gA&4ޡVnUsA^ ` ZPKA7| $Cq@]5 R5j~✺iAUTPr?V)@55zz}ci?&|Njh0oHMH2*ТLFxB$t>sGqrX[Ԥ(ub}֤8a!(itNrcSe)m:k7Bs?Ieˍ#N3ЎMie@(%qt҉*D7u!( c8Hy)T-&0qm ьHiS:m[}`Ab^Ug TtCgZ7' ix\BI|aKMq%82>xAG,sYrS Li'3mkCNi="VErh|%uFK05 ☔`sɶCM욌5LTTZiuDrvVq:MdgDBSqgz`: 2鋖n~zu'S,IBUvEa-.jޱkSm$~q+\Ε-I6@qƦf% 2]9ƌѣ$g;m9 #GgeA9VWI°tJ]G> m25ާ4%f]cGtZҴRԤL/6;k)%[\\.n538ZOD)&`kaa R$\+eh,\l"QhFCL q!у]S-; #Sӄ8 0F+oH PTEFɊQ:gXB18A@H[ʃEƓQhvEG,0IR H*I _gEׄ \uO$w7DI*[t(Sg ES%R([DJm]uM쵙eUƚa-Pzhy 2FyOyC(:KGϻ<3)'2-`Sy9a:{ׯ: JCZri4\QD D}3D&BjHJF7'DےiK&aGT{aRceUXHBPHu+ ( 1Q9Ï%^eXais']x$qri?%m<;ƿݫ~QmQ{!0f6KkCrLttt2I5ܦ +X+JTl&¤TPWuF&Rah ݷԀ6q놃([KxR)))*MeZZZPtda8"J8O\OBu 6zcLH-;nJAy(T3ZBY{*OYR[FT<<S]?/cɠYA_3#?3#?3>Z<0% Hj& |/i%*pԙDkuVA:kK\ \$uAM>=|$#0J*AD-RJ~fdSVӲUTG;\۪iX["-UN^hcu6RkԀz 蕤TT inc.lԓF5w(n`cV@jzZ[)]:z$Qb6f\)cxprS1'SGɣkڹVfS& G.}CaAjڸ<aUu)Tq1u)Cv + .%źY-쐺uiM4mSA=xHr]Y'C70<K7 w֓rvEm6ERkTE,NXJRm =Z J7P┊vU£B ̡ki.njYC.1*pL~T"bֲ7逖qp!YM| (Tq;ԇ)Pmkg8))G 05E2q?FsdpAe_y"5KRJ ]:"ˋJ)ڐ@&d yWFpFU!M SbHza+,&j/}1C=-Q eа &yݚwk秶=ݯVxf,o:ƐwuTH+`£aĮFQe2(2(4_g $`8ERH;eR` 2Q*@e%"hpV*Ƥe6V D$h> TKxp'IN/ >hU:D '/ xԎNǓպx ToE Ry)$eYҪyZ\jh#q>O7lM2V@#q>FF})6Wc`#/<˲.uDC-nA8m uAm|@1gZW8TvEjkLy$uƚJTqGx8)Xahf,ԕNѭXc]jumKN"+ζj.In$?K_#eFQeFnnnnnƙkl2N)_0ľka @~nZz2[xoydeC7/4w?A(X*5ړ&/ 4{UN}^ #&> WAx=sHe?r& ZN8Ts]s}q*S @@x S.Zz!V\PZm,z`*_LnKLXH<NG2\|YpOU^8a?-FGVX4#ӌ2j3sU+:Eq9E׺E.EiSNq3F+B~OSO!*)ĔTH"Uij!3/qyht4 S* _r.HH4AR kJ6"@<=xd˭S_B鍹&Gj(¼RTUXR"U@3~ҡ7. UՌwPi5IWSI蠗G:`xViCKwQFx1`Ց\Zeܛy:eO>!JFv H< jh28Ҋ::|\IJLhj}iAć~ *VشC1 3 vrEm@xPsu'~Ъ:qjian7QFgHQ)ʮsv!)C~#uRoK]{wt[ܡp[Jp&h'KZTmj^xP@>561,NdhQ2td!_R(+2@Vxa7)Yצ5!ӫ-9.zbJrAָWu.}p밒T8E)OD9[R5´8c pb#8.WpW)XGklhY Q3'&O0Қ@|SƐ&L6:Y5_Ll4S^xV\Jҽǜ6Za`+ sn!Gdދ`S  R=im&qmC4RF9~)#43 {z5ai G[iM[{ݮ5ʈNtU5&^zSףZPU+J~ˇF(O7a}?XLaɟanmH c}s#ciS)3M{5_}=MeM=*e JMVf oz^k+V8($~ qJMa jI+(=w{UXX' i l"z]:/Mi1+:%t<çT"d8Luan-*^ա\cCΗwPRME> SfftL>+8)P@e\#A%kPQWs4V1!_*ѣ ^<[-6%(©8B Ρ< 81Nt ukMZWR-`lpCJצNy ƒ6/!+*U[U -om*&w iCZ\jvju_T- 8eUx?V}18ԭNkE Ïm!hE\"qMgRԕnYeZCmI ;IPWOl0ԥE(UE5HII<|,i &ԧmME j+z\U+O6V*á4RkԚv3ZNyfa8PiR R!FdHhEZ4unҴO7yLu}µE B؜@ueK@^Tࢍ$q膑3yA M7)Rc@^t-f]Y±!o15ܢfMiZ(AjjB8Tq2PZj|!lqHW&#.腔̺ q1}هOA0BVwGּ=Qjx":Z\oԺk7TZjxVR;nqKīfc331cz7o2e,WuwQ_GbJKQFmt*yi5o*qҥ+xAG{mˎS*cF[sQoGN%֗Xq˅帟͛yms /w{ ӚBlY,)I:;(?_Gy+9P$MxwW?;^}*W_lwjcUWZzx֯* #_G_G(?9I P#$OJTj(H0JH. Zn/i8 gKӮoq=%3FIu!VI%4@f{#iJ7F?iM7{x !t{sEs[26p "CqGڅPMQ_wFV17$Q8(Rz \+q#2"PCɵ9L4o !;%j9$c2"TW(Rz E{*y4nPODƗ WWd >n%uA5;u+i)-!|~#'G+r=^G:cwR-JҺ|jWXc$f"yԅ%c9M4bCqGUr_<2YCMM^,Kt@mzng4V~-K߉8/iZT4VK[a^N"jb|}P?숖qQKVEtĊd- D $fFw*ZnfĖɿZGێHDИBt)s ȸZ}IV&jNv"QƊC(,oN~D.en]An6$HVeyk^UMaV17ekeFQeFQ{,K5=;T% DJ ^iV$uZqTQMf̭j3aLm?T*>4TޛUO#6)OFQeFQeFPz}S쉰e17(XJ)K퐥V e9nEl8lSB3$.bX!ĨP]WSLtLtJ:tJ:!]:&:&:&:&:%ؘt|J:>&:>'=^GGDCccGQ%:'(t}1|Fc󉎥˼ U&˨PE=<ίV6 [^ޒҜ{kΡUvZ)aA>f h)䔩b3m{=8YCOWr ~\A`4|8V#JsŮ'Z_ 0`CԭZz (X'O7l'̤Ld8*`K6c4,8ҟT%}IߓM{pCU'r4b3L#qUyf@>*Gcνl<0gV\E[v/ū[ᨛCoGKfz(u3եۉ9J{  V]ֹbܯoiOOJbC/|zwTf5,Xbş0&TCL74~)&k2϶>Ix4wK$Q ؟[CzW*bgDFzoP=p +,Lj.Z˶]0 ֭G5paȐ9:Q˂BoyT̰i%Vw@TYVV-唺\7tС7ɉoxE0tqVҕAJvάZ6nmeZ4n58xGIOx~S=8%;e`5mW6ij4\(ٲӱmpԲЅYԾox0VHOdɓ&L2dɓ&Kf%W8/+Y8 L06ǵWfWGZ@kAO`н1JJ93?9!}!:_:ZNK ☤Kdw ] ey@iPԖcU 5bڱ!m4UqS.s2Q E-~n^a&Pu`BYe߈[U5,lM ۭ7}B`hyR-<h[T:^>={-AXcnt)rMֶVAheKo6H(ީXPʠՌYR5k?1ԼX[A"V AuJx ;[MZxǰnVe^YmhK~F g_*eHj%an;rި䫈eyloAf 򮃹TKFzK~#_^s#i[]Є2H/<"">drYUjsUU~aEID Q^ U]d *3K j6k N$pV^_hq!A^4qk%7g]:9ۥ!˄cН+/FvΛ\, 8HkEw8;o50̲N@.R lTXVhkH uuA 4`k!?b|n`ᵋ&#ZP a{OH2( ن5Z̤q%zy @dU4|+qej}B<l Q5xxг3ck`Pp7Ib,S+b/j[e0p}N"ڨ~f_@!7DzXrK$%k0hoBĦ;Q-PP2RFebz(Y3D L:|. T;Jlʠ+ѪEmlk#DЫeĭ6h[WZ, mW_Į~%+)]&%qUBilk`6X%rZ͠TlKUѱۨ_*#\״׼dSp\S CfOCR8gl?Q O?B܆! A-ޭ:(w!IEi+ y5u-SK'_[~,j3zb3һ|T1˺NW r4T5?H='2-]DE6я'2gq"h?a̴4雠̳f0qk>X#p}PRiBLjczV"%:ȿ_92v;EF%HHZ,=!VgprǤebTy82^phqAګ1݄rLiXeq/rʁ#aY?wQ6\B!ze,UuĖUd{ǫ,2^+v7yoosb7aY}؉m/T6ldru7ݰy9qT)ҥspXk\KU8q"enfĻ0NX8Rp/'W-0y[Gi n1#+D۽ȷl~i2IJi<ƛU؄Y DeXI g@7wwA.YJh8>Cңp3\cax IZtaXgۉJ g ([nXƦw aa{Wf-kuHi&6)]`-KU}WB"(@{5):AI.ܾ=9_/]Btdpĩp] 1 zyKEatb47פu8!$߉zo5;VO',KeH4|%P5 6j}`[1מ/@m.bvh|̣,Cg zZ7՛p?LqaДCk)-=b5ڭ@VLv^phLWՉzx+m m!7RO:A~=Yu*T{#;'kB+43Y%x8 2fqjƜmV-ک>lge`k4S @ëxGU6e> p_70SOzJȌ@>+d;'y'cY̧Ჸx̽uQf|+2r[qLK߾tN9<["AH?qk=_1 )hFW%Aw2)s Qct0)6dG1s2޴jyXAOmAn=*rq}\Jb5]b c/bfjQG*;|ͤ3qYJ=N t8G1 -6K".s}!ԾZFHW!Y9wBx9BhVƺ>Q!n)rfQv_e!< nDn:V=5TjVHsm랐@qo^v4 ܃%@H*Fbz3̉$ϓg摯DQ6s>%|hפ2^HEZBL@Mc/ O KO#x\EOq4N|f^Gej%5gOϥ(yVBḥeƪ6 :ۘe[CL &-f_j1I b{Z-Xcij@hyKVBr!mdЂyCS3u<4VhmShsĶӹBml ,j{xi@Fa3)eqCWtJaT!0Rʨ4E2k&NtZGUx`uOW:SF܏ &GQB*; y>KSKO66sIV LJ3TP/zaK]#\W1ZLWu5 AM? fvKcvPt^& (D{DR0R [fʠ ;3fUCQnZGSͦN =TVozoEɏE^%BU_?v}e;v}y^7D-h \e*eJX5E*t]W_ۈJwtToXa҈;5XkϚXge%ij,Vnݣ0˔t/%w;F"Np%Pгj%"̲IОҎJ:utJut'<t}'<uf9`@o?Ը% fZ&e(lW7iCeC+eůPw  Ly 1oІ;:L26+VU >>+_+FyD4>GiTK<1yDphoJ(nU_DZ:v6WSr~/;< 35bbG7gsuC׀g͠$XTi~`%t]-n(HTQǒ&qdP]anV"CMU*5c;N%`aCП/KD?/Rs\t&I8>*3o셍5En:l־<|O%@S kbRm&5Y QxG$DҼ9A=V4\j,p\xa=tr%ِ͵sՕxc[ LH;R ԵW\Y zaZ z,e5kyҿSQG">/& ;M!O[ku]D.T:Y lN'NR(2z$%Wc0 e ,9v<+DZq+UEѲ`5)-9RdRwH "(0en,ݍo*k\<02} D&]K'TUݻS侀LCRPOʬU, _QUfRgXxv͑Ih+Y;k;s;!I4Q~fzuFsW\z($y(X(='g./*{U/L/j lxlUVAbzjo_d4 Jju;s^l~ .yRW.W>Z2̲G֗)}66)o0Ж>؝a#XfX0tx`䇒7F 䚹e;Z*y/詙aL[5E$P2KQ>%}>oomDJKT Ey jW@D,ZL|o5jpik"g@W̲+7,У؃tk\=k=ad6Tl} ׫pse>/w=91Z-mDP FQH# Y䰭Ș=5t:vr(Udxf|L<1bξ}$d xFP 5EH8WG /[[[[ [ Bд/ NfS(暭h –0m쁨Y'1JԿf])1 N096бչJ%.F =3|A=3|A=3|A=3|A=3DaInP>`eF,H$@"]_PUYgMdÙ}_jiFeԘS!g c[gifRP`-P+wh~EQ8/pyooQP7v\JDtD!''(BQsoW8wk\K)M3ppo573ȩոs 1P@E.a`(_iR;vY0cGҨg< tI]Z(2۪0&/wBZF&fap kdDn2dCU|Aˀ%Yֆ$>e>eN*ϼ|åb;w S}$GUI±$ RnAVx%,v5%MYe@ڠ A^rށs%%OE=O Jt(1qUhÌe+*ԣS;E$yzLbU>3hE|Q2KmOV`g[A}ogxㆫA*=hy?vZjĉ5@|ЈNآ] b1w*gĽ"!s84=1|;0?5TsKggB/?yG%vSp2tԣܐkb}_C E/Őaps.l, }؈aOFeWQ2xb6% =M_Q5SG"Aj_[( &CE9,YD؟Oo%D,YܶORup2ƌ:R" RX[L򿁥yTɏvz9998^cd|B?yf]jpfShx7L(қ'`r.urF,wʰk3rc ,boUav J_;SFv4fJ Uh(<6y6pRq-Z}jza*\T Z&S' OGx%3 @Ïշ~3qTzTE)KtwߘRDntj_A s MhvJ`o[o.,/GZj3pO_@tKTuB7oJ]JlsP4KAX8Q'fWHcppF]6Vf,= $MOU*^8'Qo 1Ј*Jt lY~~~ ? |O/ya59'mV̥\ ZC\m#}zWL*+H)eR-g龍;u.7~3}f s=T|@+GĮ_:%t|J+WWĮ]?>&g"2˺GН2<.;\J{X ys^#,2Rȟ+ȼrUsqmCe#9NA1nNȞ#10w)zbS0cX+ʿ Zko"0 \2(+?{XZyHQ2JnP(FC9/.Z\GTO8mZJXdv'W*-;<+gx7۽o. Gc%ArE P/\oFmm m,LpBw96嘾# -Iyꪯ-{ H$@ D r]Fw\I0H@D\h"Ť.pSN8 $V%Lk aC'8a^B]Qr-2'Jp3`7jMijH[2۴;?XcUxapAw co r=6U@9 [K^ˆ'Y:&"rE)a>j,|טʉ ;mqD E=>"99!07MqkZ*b8`X)Z^IqTHc{I(dA#)0, ӣϼp{ߐa6̻*d9SGGCZ |Ybf6wR 섽p8tα3lG? aiRF`oGfC2pJk]~NγH d,&kE[DjZ15& ~ZIDM+?,LؒR >Q6M@PdO gx8W@Bmv "Z xKTyA H|j8M3>*<-(f^7!@ggI! (St5z׮eI$I$@Gt$Fksw/L N)R; ~!Tmd,{M2U>.ԩ_ΥJRx!F3W1'{2yV"ߘ*CӸڷ=>D^>_ _"X"Y%U Nөu:?NG:StNөu:NC}:OStNөu:NK}:OSu>Nөu:_NK}:oStNөu:NGS'2fV[s gOYx,='|ߤ@ӊVvly˨X }A 9Q[c`elgzYfD(:+I7+cc>fEn{T VOUn#\1xg;h xq?;Ne%" oM[z>P#)B=N+çM~"tU=`'%] H`` j)lGFxoH0oAZ;Lrᘤ.ڀg*c}%Վ8ItO? 9IS%A zBR S|}WFW(כwo!,eK;30(_YqW[<(4jl"dv..7|/we~Թ•Mv;[j*&UVA)GaK[2XX־3=,nú/M6KV/ngygygrCU` np`͸9. GoWgrm:%9U0khmRZie@Ŭ'࡯b`kJS4;!hGtNE%Ux Su'D(Dqmbes>ӗS ͯT{,8c:7ww_xxWKμNңUxKU6 qLNL`oYط {2୳[Њ(%zb/`:X(P"Yeͥ]R^,͓0Z;t KXJ5F8wVV,y@MS+ztP K3pR)cihNi%V,9@!cUYE-Юn2 nc.az,.t U@"RIo hE #{ܓTtp&pӛ$}'tvUCg,QJ=?atAoe ^D Q(LKuZ\b#/=PR"Vk:unxEeG74V/\wEQ@+0ΕWJ)g2ZWUyy SE4Se,Zl eU6Uw 9]S-„6!AҐf.ЧQ+h-MN6ΆUb&=e`hTJ$EœB,F{~"H`Pu*GxFO'ˈ?1@$ k ljjqIWS(8qm㡤 ֬IMhޕEnlYml+@P\axVZzh"su3-. (l)  TȚcaʧX 3,@F(p+ 窨y-֩5j _e a4̵"aib9_F!7(>0o5u.;TM*fk\J1N,+**cڞ2h};B3FǞ`ZIz E7H)&)`Vޢ bQ9P|_@[g]"ԦhE-\Oi fSM pYqtΆG< f%ۥE5 g՗Uq$h\f3VFSVyB$Mcbp U2(ֲrѻ[뙀ȴތ.T:[⎋h V:o)ƒ,%Z! *+mq)Sk. lˬܺwTšSZ1vn$EprXe ezǪupq;ߍDOcẟܲEPP!iBhGۀk8KI%FZyБDy–0 Ĩ:u]uEqJI5f @ XK؀bۚƏig:@` (hk-_d, 5ל6*:܋ 0b0h k-˂ӗ8"+i C7≐C3+4 )HF\@J5c vsq;Ws_]Q !dB164k<6 a0BNLvG7$I(%}#x|]m~bs(j!] RSs{ΐe@2[ bJ$Uj6:ʀ"pYw@RV*)#7 *.*ތYbM08[Ӎa 5xzYGXzv"`tCzeW5UgvNZ+-P+{JMбh-(&!W2Kf7yj"☽,ZݨUlmVp 鼳 PYAGLq0}g/ LH> {A~c(h{~ kPe(xUFˎXPF(Uv&|M<#KkNo vje`T~'ǂ"6>2PGzւ;DʢD! B^JЋ xc P xFVS-*٩tfb0SPPRUWQՎcTGڹ:(iq+3SFM6֦/F7%ޡdU2ɻShVMl `gu[F+N+ Ȇ-Nj7f9#pQ)EPDicHH}u7]n5/Be輈 QE*c Jdnm/y#IDAou5azg" "FTH~ ŗ,YlTqR9|(H-L\!p`Dk--At 2H?}>mܾ ] #k7>Cz{N/Lku(]UB9vɄE9 J9hf 7d (lr0ٰR:= s,eQCZ-(jڄY)&x9+1F$IQ'HƹvOiYԘ䞤}g/[JV1-P[̩Y!tu;Oj4\;!8n \44?KI"ǃ/nRDpj#-ߤ 5{0a ڰBƤT)y(Ww9HY\׶1V\-#VK5`)StThK/ԷuiƸgpho3|c1N_ 7o # ' 5~}I:q0o%iK%J7ai@_/É_9E3asVo^MYAG xc<;sϞ|o;;%/C2gri?0" F)9$ L#H* iP "`M!G }, Nv9 R\h7uˉU1e1DhhVpFfUIsmUH.nҀ8nsK&z'`nMq=p^_|7êXpv_EhURaˌכ4R gѺ4R P7Tb)Ju`4Y6+EV64gW>(9C2XltR*95N8t"e0yԽ_Qq!UV.lUcU4^S:?J*TN_ GxXKuNs]i &5FfIS{m|.JaX^jnzDm([h1ۏREaV e^L&ifph[^cPM :y Nݣ:'C:#FtN:'DRK>4jzE/ge XLrYuwSa뀸D:E:30'>`¿/S/QO_%~__oh#K6Rn:EyS ˗=gB!Еxg]BETΰ4(E2[u>>&#MMz󔺼,&1&\bT r4p@a*Ϋ* Zi=o.Ԉy7<St1l7K?M>ɄX'˼[rfz ڣ}-WoKKK !Ta畏ܑm,8nG ,x*dA&[ʥbx ^Hd { W?Ae:.LeAG1]3$HVB?!e1 ];Wrbw+]}g/bkj%e~Xݧ> +hvIEgV~͆z%/$zn&y^?@oO~#|P 15.u,x(4<G9hlyh+ci)ma#" P}Ɍm7ImNs7ygMJ b˦qu&X\ |95 = 2Ld!L=.#~BQBWK&z(~l 0kBnUz*z 2.l3l>@#e| ?`hH\4^JYX?D@b6uhQ3ZQM Y@DSR+i6UzǭDP.EF="6tfêаK+k()Օ [8ZPƾdh/E޵1.gE76>ʴRzpfW#BR-d` m\KF >w<a^{b$(ahqXiYtZA(Ylb-r<H€Zy2mƩfxB67D-  XV%+ 9kZU[AF QVf ֭<8tc*o//|PK/.!b"CB1`aԹ-yʗ*-.R L5аemV!pL51Ez Tr۵]JƬF84vrZ=6׬W(I5?i\/rm4]Kkl~#|PRơjܭWܩm9 TAJ_& FƦYw;w޷X1,]i( 0ڸ&rptb8-;sC@cN<_ZלB[g_}V(Jڔ K H.0V yn ~'y%yeWϿOJPz8lUlE3ZB>NMh|v~Ûp;)y PF5/wsKl٬wnO~#\X oMMyp{D,qW.\R/4[1,@SX2Θ3 h:im2TOAU_N=32`HT8FJeJ_c) ^E }5V:ĞҋV=EV{L9ⰻIU'  F{W(Qke֖Tg01H(Y.5ԽUin|̄#CHn,oоF`%Q2jTo[#ZZ+/;24:K Q[)t@LJբ]YQ.J]+_' dAe!O \}W)@/Bޟ2f7Ӝ򵴪%e#KE"p Ph#c Ѱ[,bՊj<韉X| YBо WQ[w)t^{˂ҍ4pҞJJ\yZ4x3$l{3sŗBV2QiN `;FX :@l{[6a' ,A'x*X4\X0 =|~P7.*!1AQaq 0@P?>#>}_Ug?C  \G<,gC:Dž cζt3 gC:Άu3SuN:TSuNΦt3LgC:Ζu gSu3 gS:qCLgDAJ`0Oc\Yr.,̸7-Kl[2o[K._._=5O1 *[hƆlɷ\~HJX]:5JTfTIG1cƹSC2lF컖 ^NwsG2sSG2ININI])<9ܧ$;̇yO945hݪ_y3,\&pwq8Gq_* <xuַZ'v/y`Wo+ڌ#|926AKiP-Xg N=iHg ⣒ 'jYSN%*hϻ 3xJqL?* ],^?^D`17U+8Ý6jq@))a -厄K7IR0Ξ/ _*mrEQ+m?#Hs H t,%c5gɓ1BE0qħDeIL,VZZ*/NL?zXztҘܳ9btѱ%#A[rzuX%%`B Z*uk/o~s,Jsg5xP{v ݝk\ʹ뵰嵫 < #mYM hmSl *%SC((ʩWгK ۬2e 3z.X.mje2 jBB9)Z.Z^.2x'D膾;B q/ T<~7<úNK 蛆@?/{D0NM?1d#L­RU,&=UNJFY\WPC|U%.FUd9^N3'G4i$]?d!Df5`;0[OmAR5Hjkz~TcBe\qBpT;.J72U]B&V+ VѠ.|R#.Es3`]a 0T\3`‚x]V4[0JP6撿pve&hxՖt5JjnؠuNB+GʪqxGM̸b+M"xE)qPOQ0!%Ђb<,{H[xu{+Wlc-"lTS 8]ȘjՖ5φ ^л}?kct5X gCi2 hiƝELYR #ńH{QE">e,iŋ{\/PkecYZ+Zkx G8JL@ek'SNd(d 65΄^^uZdR;ۭQXR6`h*݃c S BB@-ye\d:Y_S|%_̾==<UG;FhbˢU.9#Drʁ0it=d (pҩqq71kiv˙Zwx{s0Z4slYodt] 8Zc'=?NU6w+@U_$D.V5,sL Ndpj-ZmqIWK9jR2L^A+PŽhl*)6E8#&Nc嬭Yrϣp`u)M(KiE3S*]TztR7tKVKYBta~6CTrrAwl鄸LBwV )J?xJxyPTNRQoӺLTT+Y75K4f4jYjR~%B_q +?hو#Xx6b{3%ij TY*)?5QՁO1liGˆXs[bߗћnJ"'U|pCc-t,h7CEE VlK b1B# a<<Kn ӤtS'MxfĘ}@ 02ԻG;w").FPGQХ֑0E QE&^ulaĀ/@ ;(!3qU/2 BPPh cm.Ssk)ZT'eNR)jB6-1-k75E!\eՕaDžB\tV":R`U G0I FW7K(&[TIQg%KڙrX L\\T_|OElh5o]0#*^&&7r*{iqku|#Dlg? 6CH4J9n;m200\3]&XPAW CeAWvW8@1e ">vb&nop u?35?8(c&_zǨP9_l+S5G+-d*&8Zhi0#mCD&øUMc,J-@VA#Ssan@(ϊKT ˸e@o0h1y*Vy. eY *% A@Ozc><3:"4.p,}D 0~5\ŚMcu5thĶt ~q_u2y5QZSj 7^c Ō:VL\@;o0O4 PP7ӣ/0~b4!:DZmuʛÕp`.[UN =C@1qbnJ7<ţ vt#jf !xz淙()9`sQ XRd/@$bl OE br qu9S +)whr@)kWV;58!vT->\X\X - HJ*lWߑWIei^I6F+ 뮳BiКE$̵&פ#ah pf16  45u~aȺXWMÅn Vz!Ihq`|*ZZZZ.^^}'Gt; 6Po𧎢MhkRR n(->chQNr8_<*&?~dԳ5I5e <sҥAO'"X ԧ:WKMgŖRe\.E+1n <;?vdid,XS%c:T TzOpz/1cK]m> *5ȬKKsK%-P@ZZ+=*'=-#@[R/kkaL'ͻD`1^(]~lm:c^"y WH vZ_븘(^Q2(ݮ@ֵt bW+5Ѵn6LbKb?ph&mħ+0AG r/ZN VzOyb:! 'z/ƈ+j |DիWr- UJ)d,@^1!5lƥlkbYZêRSӎH B-!gH-fUwK@ k;3b)5;V3axH¶ d B·v3Ae]%_ &n LlUl&(V!a+6lZZl[E^0Tm ͑)deAԢK6֢44%~`I֖ A4 lX|a(}{CĠQ#ő18N }b 5so dL[ı@ҾeFbu@ū'ޢUQF&])p+v㯺J7߸aAE7(0"'v.lguB""d2@q`ԱE-5uK8lUr4-ՊU@},c0VdWqAJ@Vj-a.._˿Q a KB#5WUZ-B;g)jkyBFBd<6:[%Z G+5/h㢠c(i* Ф;%D)=(eu0tCSK-|q`_Zq zR>G[|K:]cH"<ʔuwVϙ V-HđhcVsce$%p{F?8hsZ3Z^X߈|L{P_}nk֐Dw{c<<䝓vKcG2s)N[`ղn_c_DlxZҶd؞cۺ/2Vi Hy]$J}h\a <&dXO51mi*Mm3-vFZ ]u:NQɊ2E r4Ո)*nK@. $DWAY4ojc@;YݎL]&V^E2YJA+$l Vm)Ef(qA% 7Y np\kV dZF$ 4"Pj ƢХ)ljP+AGD`R0u-GpdL~+]pLoЏ?A=h@0PfӇH"RӦ $K,0ĠZfW KǛ5CtcKd..Æ,AKqK:?j6:|8Wj_GXVG^Qk#NU::WS>&UMק~Ss6({ 0ݝkdoKp3p͌P4*yl-@;ڶUL%C4k21/kF00~+ MTsni sA(9sBȄρeJ+G=G2bw<9%9'G$byȟI="jQz_,bfux~`Mh`Z,l1wRXp8?gQ0km+79ƵᏪC_Uu~M5O6B4kM!,4'nB8S f6Y ZN2XcGP-, J/W|a*^3Ъ4,&q &.t]S v@B(JC#hsDWU,? t|XvF"8We_b5dfkLKWEW5jȼ??oJ ŧUbg7fqhķG[C0o.}w;cbCCLFZcUb#2B7L]Uq})Lch9z@R511 Du GKE*z[(zy],Q1iPkUe9Q̣G3CvO[@j̼-Gu{k*݅!e:,4~PBQ(n^4zh1^v1OӪT:kb <%U$"ց0RaU.ATK ILѰDCKp| tT-A7n (10 הdb%` ;(Mnv d3.- 2(pYg4읓vz]Ҹpג~n QAX5Lszfm 0Z鐫aCy+GOoα>X/DJ<=} --/-\ʻ/ASxL'oAR6f-QrgWb^mA#գF[9 jn=\Ff"?q_,~S_)E*jxmmVդLQEz(A)Υ<cTM1E]Uᗖ_&`CMs[^;I,Э]UiZWR.e;ɒX6nDBց@AFX(4 x֛U]Ub1ihxyyiyR"f˱˶`\/fv;C"nje5m)_P% `m/l)@Z[ LSxF*q6(^a&J4%t mQ{ š/shq~SSc^J+DM&itJ@=uF%Nx2aM_05(\Y*i)ΉZH5--̴U1M_,LFb")IJYRYSgK8Y/xK/K4~`y|H_$jC-)ǹ_J(PD+fy|9?dCcze~8jիW_~>W^Dkd>2tQ^O5i Hbř2d$X.@)!1AQaq 0@?'i=s{~s𝞙0:g^a/C!!d2!r?,xqqœ㝾 |ui>OOON3fu37>~懗Ɇ2@hzdgců6'G[K9gyS'3OOG8eQmi6˛C=xu|twF0q>;m˺j&!p"z)&w֌dq d>ghh6`xxd`aOcF?AJ>`i`r/? L' &~2?bW2c?`KdC'pA1b|!;?͟`/ 1AC'`:!dAC8}3^!xqnfd!81ĥپzຏ|2dq;`;}+ʶN@W|\.Kz.y]%aSIXy#hd;׏?>-;MD,h9pO"NYi}<=퀛z4?ho8l_8W8}8ŧGJbb5#'lx@OqX]x2Fe?oK!|eh/ǜ|ZzcY7u_f=ь'XO:x33~>Nqsy3/CVT=> nw~OF2 D(jh]ƗGt|;L0D3)_Lڃlz] .fP|NHȒ)Ӄl}!ZH aߋc~w%A:@fud2zinn1;؈cH@*w'2תy8q! "4L9r;ÌP8 dEn~Zzvū.÷T?#\B857: [Mrv9l44Qoob᳔p'dRH/,9'_t3v C*)(c8e#\cǩ-ծKP (J,7 gW -AoCAZ`GRgu#{CDdpX( Roo`Mǽ2 fr}}>ak0iVQ*<Wygv||FE?!A>݋Z/z҃q.ì BM&9+8s /'T Gx`-5kw1<u"q/;|^hcw$WW8UP@ g}M!r|a˕y3RSA1#iI6!E:fMZvB?w3?w3?w3?w0] crb*IDZbeeʏNuB oz 5JР iBS-$M9Hg2;I GyR`F]y/\NfJނmM""i \g: Y:{&k9ν}q%.V 8iy_7R!Ai8 }GB `ӷ!9M0 X:@.FP|dT64r\y7H !뽲(z9Kຊ$fn??24Wo( n6m}l>yr%h'MIL=3}:0HC~gS8۵qwx4sXMx )Cg+]@^)65B4B^*J̎]@GdzJAq>0lb%e< .ETt\!^H#нdUzkI}EWX7`UvkO >'!9RiX2A8$H4EɩʌlmT)* "T@zb -r[kѩjbop*fCp9"v'@Md0:h8m tJ4=PV("3P;uKAqj~&78aD#O_\aT>;يX"1DTG%8)JH׹ۇ4~ŒG9wzi6{n'[uە\;Mn\?u׾x _K@ v2CA!5Fu2x qd$r@q&j3w cDHxEȊ Z(_+ <1mV­~$7?8?p}xX7m+E"p:TpM0:F*\xpDtAt;np}UM,8S 6x"50Gb :3R$ RꞖDƢYu鉼?G9p8:9x>N ]_\OL<h TkP3y:._v:'$h7A>6A i4ZE9b{G@.tD|0`{NKjYu:E\4mF1֎f._vX8dZ6˯Sx]~zYmg1{/:!g=(cCx&QZd& Vt_L`s"OiPD*Bl}MGkc2;'+ h6j+ V%\SD-](9i% i3cF~"ܽd@Rѕ/? ZVJ7.2bt#Č@fGJI$$' "DIn?@![3Ú?HjbPn]Cl0W݄6Zcpiybj\atrF%ȿ.Fy[} ?9 UhFf>IL㢟4`'<R<==.ά*r/GctAq偔g߃Bz=^BہN淋,r/Di?\Lʢdo36My`89{cHAK*J]\Ƈ,sg 91"8okct5V~/'$*Sg~(B9SU}pY'{xI]eu||+vB~٠wpFӫ-vl$=xnS7`̯-[&<}Cd^ʆL T3/M_S5@I=Z^W# 4:NB.+Cw}bg\TcDzk3SpҌNdT"ؼ`˨(]}s1D@'G-`MLu:­94AqϜhwM>GANFWUlCIÁ-9 ʰĥyLi/Kal!89#L\K(=v+Ɨ~Vc|x©д"+ "[lnL lt4V5TDPX;UױՆ}A_ ͢eXސ℁Wi*Qhc=IC]^pۇ<lWH!kimExd\n쇜stA@OQ *H NB a-8#=ߜ_pkG%~\o\m_\KM Ag8JӬb.OI䘑ꅭ>Yԇޮ#M bq.[5%nžUKr&LBB(*0F$-ʁS[MN. k:M9JzDCVڽaTۣ~`Ҽ 6hF۾p 1=4݊J0ֽ 9 "ҡ}d6MHgӼX(&s>cxq xC|iY0*/ Yj2)Y[@4ju'x/Nu!evxlVun yu{wNZo|>@h![ɔ рT]Sd7%)ށ͉nqY@50+!&˷AgGJ՜ bC#(}3*hZt@:0yB w$I'weiJyS<2~.O#sJ@J 5Ҵ`):g U#RohQllhW4i IKQ,WI T ̪y -GpAN4Jt PjXh乣~,D[e*AС,դhFiY{BvD=n!': bZ-ub ؉ ϾEᕪPtz]⁾@4Jk=)<Wf6% |oET'g01yiX<-(G"-JA: $ ǃjX#_G+ +Tf輁)ǡI9}c;[H+§nGz.^10"EL!L.B'"f՗j\Cүe}OzE;*^3nJ"EM8ivv `Z4aſx~yoD g0~TbW7/E,p5޻,+zd IG#XRA5+/{GLQJ wln٥a]-JI9ƂPяP0ˊ& \B4hbi- ߦre~rVb-􇶧Yނ}d0! rFwa";9wwvHgG,< LTtR*L+墉!FђNcVm6eM&WF=6WH|XWa5ɼO䳼b-օbsO MR#tu38cȓqƁ>9Ο/߮ yZaw@0spWN) ZTK ҂VCXs`7+y`P퉹xLH_ (5##+|n^8b2uBYM`6RрnyFSf=@!s^h8 'by Am!9Q |_U48iDl㻓0%+ ~`;z|Ғ|c(4f^y(A5hZЇq=Px8f9r1ॹ`^P…qUQ.C㼇 [@gC(H%[b}3_+uC֚Rr,SEz <ì0'' e\כ%ᛓqBk8{@VwBF(]7DTD g0$ (րFV&1p28#76 dC]a#j DS|ni^yG:>a+az RPw†7G\8A[0 ӶTD]kU@;n4Vc OG=ϑ1#{qҨUE)g6f^ISda,; 2&)98»cg8Q Foq1 EZD#c{Gآ{6t! LX  8L, q(pLJjÇ8ݴA 7rVJ ލcnG @AQis4aPPC" *#ܤX=?Lo8F@4:;Pথ/AkJSU0 D٤]1p:a` By]tIM,p]-Uy/Tm~. !aɞ{/ &WrS@xW\qx*^F-T#N3 Y-uP%Eip0aEN'c|lŝj$sws PTIaZkQY X>av$ەĆY'r9%٥ 831j4,oLX8QUDBW@>l*Lzc༕oD.#luT i;+~ikM'8{S><1ѧ·'@RD혞]}TG^L!pa{ 5]0L#_ћџl#?.?L!>iF,UH]@5N BوAF$LxAQPs]h mwEʄjQwڰ}HNq4@`VZaB<8sA-095 $ڛg0\Cx4<(5MRT1"48◛hFO!ؗr~;0VU(<C!%we>3= ߰p 8mG~1 ۷?wglퟻO?OtJoկɋ.E1ȑ"/\!5y0 ડbA .Aj!6Qxofc&b &݂M9Y8A ؃ T"!m{2B7e A@8lQ JQFgWmT4\0Ns?w_?Gg/~?wᩯ_nޏg/z8D'ǭaL mb&x 3Nɥ4j~"iI0駲&mτ/R&D\,QSFsIJ3n\4}5)t eT,+> -Z "P㎯7`z@z0]NyeB/Ƚ;]:h CC8|2c 6y85AFx_NH8q ƃLrˈM3hQ # Eː RMBbQOd2cR+-s;=يZsFDU4*w~X |+h,CjEU7*.JɢiZ `"(hTu@w C1Z-eH G?|:O1DвuTi8s(h4-:C68_mĢ\9!οX'n3N>8-\88B;ؑ' $,ҟj`p5Ǒ`2Iizpx1r~C/׍׉dM > ßF#9Qafm}yr^K s$+5T˯w* y I+z1v`(FֳG?af, MvXjb)&z51 i6ܖ@]tO|!jpi~wʑLDY\eՓ,O!p0:تM rG1RKLţx})IPOM\l򙢩=|by/9 j6vّS|@2 cHi&yR雗-Aޘg\HxxdVl0 aA1U%p׫rXT|:o/4bArtY q$t9J3n쁆 ڰ ( ϰ[$ ~"O`MJߕQvЎ)ZTt>47P":!EpÌ80_ΔVExL]O |5a-8W z" .ق"*sTA]@J WC(YVӯ'` x́r40FtBbQzV"y߇% Gm "Pb0.DM avT3"Ki C-ճ%Dj1踢K0/  =wT G, 5ǩx⨴BJP"'& 9_{'="Og}0 _?Ogub]?[cvF{A=e2CLErm-^R& m3^qAqD\UieSlllllllllŲD_;YXzh.?F3~ {y$swkavkpg}f, ᥧ<;{vW#{)Rd#8؛_yaDt0 ,` t$*D@yVtUťPیærh#ի|QI0!%  <իݳSQ9WW:Z8 9`Aە\흰ξYY;3wa@&ՙCx <8PkAƑl5Um2MLtr &x, Ey69 vr:SB$}p0D/r#80O7'RQI̩8Â|q@ $lh1(?s/2V2>yIwwD5-l|gU=ţH>޿0{ayeKJXrUk 8Pܻ(g:7" 0 |KЧ0ZI޳IQLSM6`]Ȱ nKwx}0zP@hiuW@U`x@t[@UWtD8 ,v׌P?ſ[ŕW@Y29Z~a7ߌB`dP zpe_L4k~ίaߌJ J(J&'= ,,VIì>9?\#f&FM@b:;zžؿB)LZFvM:]:9Ҏ.٤t`z  NA)v A vۤaTj`4%JS*8#r` HkHpƐo}aFbVGp#inxL侂y  )B: Mk9$%@P"ÐIX#^&&T6##.i3\ZU+k]Q YF=zhaREqd ~,ATٔ:<jZ”i4ݜj$>A` cAJ AEs6=Rc(NNSwh DL#HAbz))DTr厣cI MX^..99ڂ?O/bſ6`'̘֩1XH.PV(QBga/A+ۧy* r(=lp曧BE%I  QΪBp)v(jYkgՉ:b*X7qMn]e kӬ&Hg|\P!Nd pGq)B@&n+!'i&^fv~BwG]jxP^aJ!BwWjh[{r]VWy'[}Jc|2IqCe!=JJ_CoL$c;Հ3N6 =ba/8|j\R^bZ_OY-[DR"[0p@A 5W3Z -[wlQǂ'+o Ku_2hnaD Dٱk29sgѐ? (Q 0@xdϖ%ù-( ZP/ϛkQɽ\)d8KyԆ,\ eGd{JPhuf$;a@z%nmo;\yۼxíp; /3Rr SɌͨcLH=5AS@^;A*r*TaP@ "6GxL 1M*ha.HZVd{^l+u a]uk21*$$v"zbK9i#':+5ϰW`сJp0 |Ev${fqHצ')3|b1G# *@<_G ~?ag3 +뫔&>ap1'܍?[㈱F7뀀H1gj%q@::g|;: $}Lǒŭp)zLcì* ДX\3 V2 C1qoGRzISÖr\ SPR Ʉ "  r/]I I"@c;:ȂC7832"/O⢚!Ve#QEQEY BS)ϠO %|a=لNş<ago"wh O:Ld E kq1k ?S/ߝBPH*jMǁGq3 o8_%ɫz>=bx>P_MrnrLd>ϗ_2OភZYm ަ-2r>AMj"Am$b@=x fS|iq~=.JȩɵՈV-L`?1,TN) HehRcc&'b9Me,xΞ/GNn|9~Vo&c H&((+tALD\_};:!]F̅=h-ϕ&=}6"l-։TbTСH`ED+Ql)"jZVXzHK&-C(ӡ\2iN/1U'ŋDm2rλb=2kt_o2[֚ntpLz\+mј1W{Oyv^_s ҋgy><.>tv9?55:ó6:}q8d&9֎ǟ7ykDj:_+%x&fd`]?Ih"T^+=n&NOSHPLzkJߞqӮڨ7GY$#vlv068K?mp/Mi|=N[;:*ltڻѭbaׯgp=GΖ*wyOTE0sN P r7u O_ g?qcw&r) ]YfRsrwrG·@lZ>j}7NmhΦn|PNwG.s[tS UbdtcQݸ72dUtOegKiu>ѤɱA9şQEmɏ cdcq?|meVَM='cu«6m][=x*Glh-[13DEٵyHP Mw}Q|ʾ= ״C<.rޖ K&i_0ӣ ݎuY07#qu*R-vjĢا,pV̺M=B˓YtbK1 Ut3=\H4ֵ˨8~xVJhwb ܻX%Y(9 2QPNJ/ͤ8vl[;Cwr2cs:lQ.gNKoÙ_4?_ks˓ ,$LkV9ȔhZwm *P4 x^k\റ<b{)˳q~v^/Ϩm{M-O~W{2ԺMLyW;w9oZ~Eq=n %[mKm-<#:Er]Z8b3 1 2vp@򄼸Nzkj/3 +ŀoh]2qQe=g:űeZKgvc˶pL<'Oe\>ַx 3\ͯIձjڪAD y0hP+-9fHPJ_MsMmfYg>]ʈh&6Í]>\Myi؜k\ܽZ٦{lz)y;s1lw?풎 Jsb@eR&GVuCu Pܗ|)ȥ/V7tI V-qZKa\V1TJrED͝laέӎ%zE+ۄ|D0QUu1j ͆1vGwpVYL|>;ߪr|j긘wJ^M~m|jk1gImfa.X9Xu_r5Ӯ|࿕R[yQa;iדV@œaͧr,[9J" V@SϚ 3%GGx2JRri풴QBRלh<$9KK0fI<¼BckT6MB˥2I1"Ҝð+:CVCIHه;&7)†2IQbYf;kӗ%Lo-qcS׬4K0s+f|!αa+Z ='jӕfI%|k eۄ|DhC$9R4! iI0iNMR@_# K~HxbcԆ_N]fL`WCg##$/ hCBІ4! hCBІ4! hCBІ4! hAQc,a/</</<G< ! ?S=|G2IK0ln6L7&'$nnX77, es2`̰nnX77, es2`̰nfX73, s2`̰nfX73, s2`̰nnX77, es2`̰nfX73, sr`̰nfX73, sr`ܰnnX77, e yq:hZU>#ďkWAWb4J}UTXw)b80pYRIV@8Mt/qaYh,"}M*E u'ƫi~+*]7qj,wpz-S UG~=Ed3ǛNUA}d'2s؝H0rG7&3`z*]Z\V\I(O[/ ٝmPY}5:#pl7z^#uzۄ|G3Jf%I>tI\h0+Cl?JUQE8Yd)Jk#ey (m̅ìL$yî|f''eX˦dLDxV ĕWWkIT_KMAb)ۙ^Ʋ19I8LV-8 QqnoؔOavaj5FQj5FQj5FQj5FQj5FQguhE,͜CybdJp+WGG:UdxJH@HԆ5!ddt9 ljIif=UR$Tiw cT "!œ=fl#͕^ CrcFW.9ëa Vk(3y$)B1p9shd5ZŴ[E 2 *BSSyMk12+-M4T5tOVVq>O^#%ck oWR`Jzo Z]! K3&r8*Aֻ~G!F$C'Q ޫXqzmJYeh $p朗(zSi6IP=# }W ^5xjW ^2r nr\J?Hhd|G}tѻ(T:^{Sj#}KExī+ :vf?D#YEp &D.tTjapi:%Ҧ<-.rc#>ZM5e5Bјn=e$nWKby8#dt5_OtXX5FSI1W:ݭSug Un.?4%V2X쇒XXtnvB#u t8>A.uP˚` :mͷnDlCw .+Enu YbR|umRm>em1$WR8a#&kWߠtSf8C@tcls:TU@q, @>9k!88^+ۄ|G(:ԸI%Hv kPhXu"vRr՗[x7 [ZKvtLs΀ލMoS&J?mI&_g+z(Fȇh#2 P6.|2:2KD۞1q ORGx2ɨmM -f gYI|0f )A5<3= BqHEmD2~s˜\Qs:ϣv͈Xl&Y5vޥo.C"G/ؒidG߄??BKU+_pwHAY$I?,;9Dk1O]I$4JQ(aq}jDh&4Z%?P$փA X5.X.}̀Kj5ٚwGwGIW>!hpcDxIp=)<[n?ӥYj<"Mh: J! u#ψb=ڵq)jsK BbRW^ѣ: -,*5'Fm- MZIY:̙d+fj >B#TeI(,9ܑYU#<!]=by!u:SK,eED:H_/S>È +ܯn-wı4Xip;]΁,j!E#td}%05rfԶV:ez>əKw+PSkՙJS+Ah8}gknvq ď0yo^;#K Mq׈ rGx\حG% Efq=|]DHhF}X\T5I3mmG.㐕q\n{%>#ĕjZWk7{(Pl/܅td97((s!D7[td5RjMIئIm(1 ?Up-T.Ij\4F`r"jb»r *jN4+f2 Ŗ1߫~v_YUCXHpb3 X bM mD}~Nﳏe 'IGtKƓ9Fk"d!WMHK{F=LYQs'6&Wkтm>sP VAfUa|ḧ́`P0v7g5@MENw6xQcJ1\l8`y^b{'hEæ%SЛ~GV=^xM L/4TBDek_f?Z#D\6ue ToU30@yv#Y^|#!wp"UƝ'ʼnzF;X]P R ح+}dz6[Il?z@P&BqhhUU#9-NڃU9Rb \ƆX򔋉5`j,){.~Z eI("e]fg 6 c#U6쿮Z @AuVh+n'yT]WtWO'^ Y3ָn^Ŕy-LҘREnfVZ0)NFk䠉Y ̱%βϓ ]eCš`&eͳGr'l#l:&d 1ĝ-}KOV=hdIJj:$?kY7%˜"7ME„M5YReq&;::(Bh;9cY*JUd**+%Y*hU T*Y*ĢT*P梡T*2LKpODL(jMDYqIJ˳$ЬN'pq пU .h\K:zJȂD P*!Ш=rnPᐠC%rTYV5u@( !P*krUS EYL{+;SI:'f'w)hSLQ:yCT ;,WLħy5DcDM5*\-5 $X>,nF+bl5Q<$4NpGz* :pZ&V}S.{T=z5+-D,uqY.yDFLL):bD$&eքݤy 0y>֜4 kR"Cp(A}SzCCx&΋74M['4kP->ݪxYFT DLL#LᡊޡUb0B%ҠQ@(M.KU:Is5Zd ٜ [F8*; r4F!62sx*EE[J33o;nGR}!0#7(n\6cl\6cl\6Œ>6f*mj#ʕʕibH´ T&IZQ2b$Ԩ0C'sWR-ɺQS@ާյԥ,#KԳM ˆ9KEj9E'(k"P}v*zm @j8JC(OYHE塖0.!KXQ|)g4*,.oE )^S-ª0EBSNGT hQ֠nVS"PEEeEBM Df>#3o”e l BdMrtD"#t%4)D\3EͲ+:)'C5Ec0P&5 (1/ !GɊC,mObrsoNmb)IFfcZ{A\E+lPcRBs35Lb)+PL32D;s-*4:1eT(ܦ*!VQqQ3%(E8Q%!BS$\F(fLUS.f9؝mE_1W_bV)>"( *TM Mj~ 6*:vq)|Q}ZSQ9_-|bnPT;A1"CJ Ɗ;PA (bz֟, nZZTxA9 x=Er*:ݨDnйVBlvojtXEQ3jĪRfdrVTB\/Q!JDW0 \Ze!֪,իpLp*$vrx(ݪv fУEQM*z9؜'ZEEDG INInM]: j+ƿdMz)SmWGgoENi# hFߤp(=瀪(i]mEoN;y{4}u7wE߯_RbkUW`';pD1Gehs|as`>0\.w?; |a ̡q2<\\{\{\{\{\{\{\{ &CA !1AQR "0a2@Sq#BP43`rbp?ֺ--5ŀZZkii,\X KMq`-+5ǀZVkiY,ҳ~_*ww޶:>u?{iBco[~?oO^ w7y=u@7 ƅr7g#qY|r7g#qY|r7g#qYw3 g#qLu^2J=!4UfxOleʂ՚'2׹׭yټNyvJRAas:g.q%YNŁ,;ZID $5c`OrwQ5h+AZ ֭jeF*h(ZsQa5UhzDay ޹b3"ǫ7xÒ m<7~ҧd1oAϹEricvn?d5=;R4lZ*JAR+D*-zTPcwt3iBqiT2S4C~*E;Z%aHm9ʰ ֔G >-Hs̉``֛Evz"5[rV |QQQRꊙ(a*܋(vʃ#ƒ0#Ck骷h`vA wJW{x [nmնV۽[nmնV۽[nmնQ Cuww&q 1hEx&˲<[.E%VZ_hY~eT$^D#rNİ*naЃH㪨k6OTHioٳeW(9u kaN{N{tj:.ځ@(_?:|6_3e!46r?({uus0gl.uEʾ+_^yG~ ;=.w{Q(=>壦8 D U͠V#Fܹ+G9š'YuKR+_d5Ep#U6jw:KCwỹC/6W_ND%Ko(^zm KFB.ER5'dHl(Դ(JE%|;)cCB%-ӿ%tKV۽Zmh*UU T*h*Uh*UPh+C% ܹ̄a5.Whƛ 52% (/Q9eQ暔"⚨L(\sPFOu98.nQA4 M*+dŸF:;(W:6ˍ.g39֍SE Aɦ(iGMSZw j}2O?HՁН4!uS^kUO}SBk@N=KaP U\eUU/Z&Ȫj Vt4X۔#Br9Ҁˉ>1kr+i"j!\$~"A9'^;IWZ>㏛n-a3?񧁮)^uЊk[{S Ӫ[N?m;h|3bMi N51A)B+ ZH#ym'A 𨹥MuP_\@[Qܜm=8Ӊ $>MsQz5).N'mP}v8TLUEJC%s!jkSEV":CDyMu"2jQTj\\@W#z"vOx3 G!N֠vy֗-8Zqhǂ%@6^[)))HB˵C֧)+0Q *Q0'd 5)QCPS\VDV4ړF~@HKςT6-!}j#ëu>z7{8- onz|FF^`$Y"/,~ 5vϽ6a:d@5M*ڴ\+YPuM^T'G֌Q܈UST.PVXbɐe P6K},Y0ag8婈qZ)z4}7j2NaQ0QsW9rlDȨEVzs59\IN ,{b6=5 9EulQЁNj(T'_*йƐ,l)h<)'(ϮߪT55XNj0BV6&AʚTULL7&pP7R֢PzjN#j0MP B*Rz(1ʕP%9$J!+(1stV0V{BԃTQ.(ߒd2K296jPuڔHnJ\KHTZrB5Aau h)9R*D,W~QNCBj_#E:޵5婮UUA UEFJ.@ Oz%[PՅ5Q(96zErCԢ>"܌Tɒ5Nc9&4S u"&[DY]H0̫S ja@9''!stiLԦ=5 *ZZ@D,z:%r:~(VMA܃TX[T7i8rTZ=v&z)cDJiVbU4dUQK솻*PǠUG$Y ]zѪRiЧBsF])F*X\!)iI{][D FEjc9\.茅9PtH^Jy܇Cz<ԏe NJ> qxO.!9<"v)8QblAi[~r!tQi6z%oPc"n(CvB;D*\erj]*zXMxOl'w9OuNkQ~yEQB|;ewEA.O>zՐrq&B!Qmɪiu7xf}|K~o}]QyS聣y<А\m}U|GB>klf^f>f^?T  !12AQ"3aq#45BR st$06br@CScd%P?9ޘBq !ԩGpYag@iPo׿Nf8c^rѯѯѭѯѭѭѭѭѭѭѭѭѭѭѭѭѭѭѭѭm1Z*;pPm遟Lq. EyɩiL0RXCb[⊀ĜC-JRJ5TqhpM鶐J e+R 2i<@oJ$ܗ 92§3 (3_7+`Ҟؒlb)Qq!wa짏 2M钕Uw9ȮkO(}Xpp= 7*,PmCOO_F:0/ p˩tCj ȳLɓoI5 ׫+ԓ XgQ3U)fTj1CtDf4tk\"m kGYh@zCm`2WT\6Cϔ4$iKfSH$+1,ߐQ%ٳt^uڛ S fYhҙzqT5{]-]֫4] G@}q([hUVA(Hf]ůx ZP]j&!OҶ (.'-*JLU.O[BZvY/5f4rPB(9]R/o'AZkĤ; ,y͇e.;AS]2w'zَ2w'zَ2w'zَ2w'zَ6xGhum׎q^;h?f8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vcf8vc2o8ɾ'2_J[Mo8rW19FPZՌ(2(2(2(2(2(+L0˫Ln-QQ?>&kDl7Gϟ C~L$, .ff]%[kJ֦_99P9ie-J aWJK* :ǀm.ݜƖrukRICcjmSTSm&P=-!}vA(}Z)pV)Hs ŽHTEFȪE#ЮcMUfp\w(e]rMh[v,ޑPq~9aK+Qfü\Tb]VGss-&sEq'dZ(6[֌xnOš*Ne `ɔ5bKX2j}QMRUJtlFw-ĔJSJrL&f~yX&lZe*rk՜An4ͷ7fq `U PeZl/4^q2 2)$K Zm.v{9-7˿>5׽{mc-$mw ".bVY&T\ZE/l4"Z9K+SL!jH) t6]%9GukI,[! *T(E_$iDG|WEItY֖ M0Ҥ+-,3-=68) e@"Ö:,٦j*x bx4gRn#5&&Ii}<-i GJv[h˰r±3ITЕ9FkD\ӳMLMZ)|EFW`.VV]1(\xC)Na*^G?Hΰy\;;ζe2J y,J*M cH!@Rw0$hkrnO nE}(C !K› VYu78:Ԯt)_Jw|8K*RH"Xu/ToCF4m#rwJA`bTVypphz5x[uwRDR;aRYAHvZb:fja̩( NJ.\H!WT+^-Ri+>̫M<av5`>\%D˸90a[m1Άo@ލKȺ(s`BQU}(m0r]Ȼ0o[rN".ZYmĨ . "'QݴZ/L%>1T ] P6j[M+]DHHAl$ O1@S)Ҩ8)7C1*.Ƹsmtni»s۸ );&̫Fi"/KJ ir)Q;H eHmPyzueO-V HM7)'tp֥5|_ҮwbѳД+s1VJj1Fose];es ,z 5`؋'b$~*;* Rrshe$FlRcbb=9.nQ@Q@(7NkJ my*%-iɪhphܺs$Cm/ `]RnH]4ʪNNM:+9pJrTDgqltRZUūp]\|F,q{8WxSWaO(*\kQE K̡Ԍ"cOyAÖ-̧[piT285IVct/JؒF3ڷ.ēR6t,22EZB0~9[| 3.4\5 S ZIiIu^mˉiDTſ(GYGɾAUP9,Oiwl8JTK+pBBp;bVѳ$SLoZ8ҭ`!ǜZ6+ݭ.ƵԗTlfT HqOagI9\oIyI#4lNь2%S˞]i*^ߕT܌ޓn2_^jSebҔmK$iz"h\,@p*- P,yVxxX -5$y3::Iҕb@Hy6lVx^Z* R"l&QLžڔ^X@k/v2>P0jj6LiRK-oઞ5*weͼ쯄616 ؼo$ΒjOuh&.1J_dw?$դ5MBBmjvb~VАjZq-!P)eJEz" %OJRZu7P5eC#Qa\;!Yg naҚJT@϶gK:`6(-= )jNY[ϭ[Xv22N呪jᗘ:'eԕ)h3i:ۀP,1gR=D%)O3Hnbu!n%:@R~pYsJ+˒]B[r\ (Ɇ{.󊳧.]LyA5:ἰS];WkÃ|"g'tL4M(4 4덵.a#c*触LT%*I<m*K|<D)xJPFrqɆn A%+&a!d[sTX3ֻ"uuEia..e:RN5BHqﲕݲrYOS\kˏ$ijoQ `(Z& U V\IrbY-GfMJ\X֣ 4k.[Z s_)*jh5u ̜m%~S{oB8jc2iql9tHCuX({bUe$M}kif[<@ 91K3K 2r%([0Y].!MvRk@4i-W9&.RcAZ* sLx)^p}ʙ{^Vf 1s)63ןE{se盖F <1UӜZvLBRҴjiV$HZT@39#q!VzV.u8͎)cg68͂$Ǎ%cV?΄KJȲVcK3<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj<ĎvHWj9)z[Z]'&O.z1?tplVaeIޔ${eBJ sXAshv"RgBآtƽL%J$\ՉA/MS-/%NФkXZ<)pV*w{LƑA)EƕtsomL0˨R}p^PZ E j!LN-nJJp$Kʛ(9B AXyiT-JZ1Ypܺeׂ\hM=gK@n((-K˭deՕ={B1A,bi* [(I'.huVWFWMo_tm:dSi7W?oKz])ѰTog,;J][e&B1b˃ A+C^Lt(ڊVI̽uWR魞@gؘ3LM%| 5<#hX FL*?2Ek} o bԘp2ĵhHfa>U=箲BB' +sSDLJJ 8RM2UsSz/t틼+m [1J'tӌ(j>aImyxF ; 7p+ti*!EҝLaW%~ZL`6yD1dY)E>'nLpHGt4"?& LT˴TT\IO5(bɳ7Jh՝n"ϳarZggf=nQͳ.fi2bvIqFrrffUmEw+QV)JSl!Bfl=ihI)nya:\E۾ذx[:OZYѭw޿y<Diх?kx5fK ^.$d@_ᩩ֔c^NVJWUo[DDr 1}SF  + rbD e22#MD7 UJ(W~<}m)~.u˸~H48:v~5x@r]U;Rȡ)'Xamk*aBe3 zbQ)u3@τ]d!M%TBME)'ҹnMSx0+uRk:cA,³4}nFpeT%>.fwaQ[C/T=gZ Gֹ7+snWZ<ܮόy]kr>1u|c\Ǜֹ7+snWZ<ܮόy]kr>1u|c\Ǜֹ^$C/Q+U7 .] H4f%&ZQHܗ:*'rJr95ѷZL[Dcp10yZ(* ;qC U7%م,fIɴIH4YnC EiP4L W(ۈ9b2l Pd4#(H\u)wvvxd|Di_N}MRi[RG$L-T[x `(WT쀒[ђI du3-:&' x7nT ANLsſ2E`*qTtƪ:cU1GLj5QTtƪ:cU1fs4]|3v<ȞGH"zdO]#̉뿤O4'B޽[DD_t aACAMW!Ǽ>,FF>m)AQ5z97l&jR3Y?,]>ÔJ;^ u^n{ V*E;Ef!ʥS8хҵIP}a͏46v}QCSͶSU5dA!0曾srR۴qXFI"|k vvBL}&T-4K-]+qR8LM.hC)lvp0(,\I@Н_TL/MV)ut.(J7T2P]GURBԔEv,*cDԢ{ H)XleHj[4+q?*L"ta5)BJ&$A AQmw<[_F[DGx{BcXoiNb0GϿ"4@}T}iFUPgJK8X`7iwU7~ΚqdÉUhA NXP\?ʰi$,%NNQ WQP*MapUMgحdzY#Pb2௘¨*}$z|z*.+QX_ Ni/ V'8),}Q*eܗ-e%KBh|c;)zR؂?`ރz m1ރz m1*Ԅnm Sm c̓cǘ1c<7?ZʟzM.֍NV˽o}?cR2TjƬGx1gfSAQ!|Al t4kİ(M ᱮ/SXm-$R!>њGĹKNS[TZΆL#\K·Q4RkNgg'yX`hkU\`+8Hc)tC[lƷ|`ڊd! K&E) J`V+YgLWh>_ޯ#QM¹w?4C\ca*;O/#V:nHCgv"29yrAREB"*a,?: BUӾڅA JM)zm^8G nV|*xH6e 6x6%u#g]O M100 90HRYYׯ 0]@9BPǗodV.iȯ 'Tslʍ Ц 1d't:wRXzDGx]o,W1_%=81!0>aUO(0nP(vB%sH}ϽTl61\L:״*[c1KՃ_ޯ?s3{O>տ,MW'-8- "HUjr\~G檙ATo7_kg a"']\¥$YSM̚i5jMY َ54MKH|Y߻DGxShhr_`g B/~+#(2 k o3CաA Bp΅:ޓ)A\W^im[C3x6?<DO c8Ifc0#/Z"њngTL8ށ!ͪrδ_Нnt?0&mVq k<A+-g5(usBS?<宪Pw#Qa\ 俼6a Ƽ;R&v]GtģcFMCu[Uǚ3xK@ / ӈ<\ @&D'cco) U99 Ԫwג0 <+CNJ톝3IgJRޙz6RTnzt/B(UE  )V° ɾs0sIs8: %kb )SHkMPf!8*2$~*; +sSDSydnG aH;!@`iͿ㖇KW(M2"ZV3[ݜk\(q6S 2U.`70+ߚh ܨ8G~OWȃcn0}CGt[RW}ל[WpKǂ:bau%j@.<IRSxr&a:n)WGqE[tQb ¨‚7R.-V-WnRanm֗E aI*. ‰ʃ^S R(7\ >e ʪ+ x)QiUW U'{5ʰcMO=α;?0ڹ*m8|%͠Bc+vzeWF\BHUitBAv}m^q̝!@a"JMO4( 0>prT@P9_4{`@Bb;_1qN@yz0--%dpUF'Yd9G x FTN'd_Tb[R{Q][7YhRIĒy~eHTwUwhS<%a9ڹR>1Ƨ8qQǷ~RRc^HDcmHuǞz|cr=z>1܏^yGG<#ף6ԉ2ӣ[֤&X[a8-J.pTt2n:f^IJu#JdU_&<VԅӚ̂(#KbFz>0|&(ď^yGG$"0%ƒSLjRr"ooガ1o ƺvmN<8C3B;_ޯ#Q ¹w?4C[cc!~c(FADFz#Q=ODjWFQ5GDj:#TtFQ5G{?Ԯ!XVU{0hh>Ǽŝ""vi,$,X,zʙI>:ۡS ac-$ۓIl4 10֤h/OD UfEE2je֝Shm.%J/`̮Tq &Kf*ͯ'15N *NjE0҈g;F^j BC_⯍ 0 u6$ܙBgC[RYc[M ~LN ijʵe l=<Yfb vC+W\R4fES.I4JZ{LY .$=%ÍY) I1A"S$(ԻUc[Bk-L˝RZ+Pa 9]m^FX\L Ztm.itj0hO jwGsSD9=ee喗]2R Ra+uu$:5>]5V9IrRNK&ZX[;ؒY5V:\4"R'2ҳkAx17he2RUH<+8N9+eFQeFQeFQeFQeF]{$W4w?4CmxS>8Kە $b?H݈#Ov#?؏4b?H݈#Ov#?؏4b?H݈"Ov#?؏b?HS;؏#=C!OPb?HS;؏##Ov#w{iN4F?Xˏ.kǗ5˚sqt9ƿ\yk_.<\Cˏ.kǗ5˚wqt;\ys].<\Cˏ.kǗ5˚wqt;>KezO{{*!1AQaq 0@P?!(shw+@b1k8+;YU=Yx0p'<ߴ>I'ys̞f7<.y͞d'2y˞\',쮐9̊$H"DmȪoMݻv۷nݻv۷nݻv۷nݻv۷nݻv۷nݻv۷nݻvGqȡs@JnX(~h{_mI*:)j_%I_%I_%I_%I_%I_%Hڠ Ze-^[JRjիVZj*GCR7ો %j`h4O'ߧ?=|,FV ]>/gJ{}`ߚqXՠE|>S|-GK.W ~>ply(>O)^O8'gMͣ>~ʈAL Nj,%Q9J ; ;./:[ O>Xw=%kXwAq{`+J(";5w]in|炟 w1&rL`6_ [ԺQTfuXhf Y(9x+Am~9فl)U Znp=E0b0lm|3Qr4ݔvtjF*]磊ޒXUXk *8=a3yYr˳9P],K;Y8`2׃D(6K;[ꗩ1rW˸Jk) aCn%QU)3ljulǶu=ǯb8iUj ImF>Ud]pVYiXV$];\."zL(ڭn=I 8Ʉ .A]WHq=P!nN>jevQ6`3DTBX@Pv(90(P"̘{Sh<5ΣZ0M RR-_) /|ei;KU L g0Z +SKޠ+YxϤ5 &$f%u6LH10}jCQr dVp.wB6ɪPf(eXy<طM[༅@嫏p[jVֶT zC`oilNa?֬oBDty0F5h־j[!B\#1@S>==|3E4yLJ/|{&8dT3Am/Gcp)U'ɹ%.1khZL٢xeRfNt 6P-lc֢2.޵4-j-O!ynXM.80XQBoY;EF#~l[eR-հѪO7:Xe.: 0H<ˮPydlI =fR'z"] >eU1Yˏ):)9EŅncʾE'aeA=aaTvEhJ>xxȹc)`;qsle(P  ל!}cI,|UV!Sh9ԿIjQMzӁ޾ }l>gu=ǯT#&uhr p-߬5d&\m`4kJ sA bSh(X4$UqIW4Z!a_,юz/,!~T۵5O=bQWQLN8p~Eh@u<<<<<<<<<<<<<nqirـxǏJ09o-@Qx s՜gф ""9S' +4,b׈) @}%NxX7).-jfDs|!'Yo)tUeC82  kMk?*[u>vg=߼⯊zqf?$Lt&cYCj E&s)kX/B#-QMjc dT&fՒܢb A ih SS0xR&ZsHFbW+@*W9k. D)BPT]1=)x\D*־S) ɚkeEL"%RXʠLlRf%E5)݊ hqrㆉŮ` Se84`!OLuc>L{<ڄK땠Kdo?cUj $#ZdI{-o h6n@c^'ȸ]50Pī UnI ;1te7 g0#l1)[X%)lV=rj<ښO)W j281E( OL/d߈to[^).FXm[ї GS(6Z=Ǩ'O'I$#3'#T4H58pÇ8pÇ8pÇ8pÇ8pÇ8pÇ8p㲜X vEе!*UPY/<o/ e3,Ч3D.:/4sѬEYn3@"%3Ay+-@t6ViȎʁLP9X@pyUv@;.ӈs9ifsZjwjIZӼs%qbqr١Zȶ:ǂøSR ia0r|tdsoYCӺq*=86f1" X蕪 hbwX3B}==FeJT0~i@V̈́Niyid,l Eڤҹ.j0\XRc9YnrW6_u=^,9wu"p C6j`PZvv_mmmmeg 5#z6@4,O0H$R"Y<tβ.2;p}'̞7')~zxY}g#}D >e;~e;gٙ?zOɓ?)Nl=ssܢxJg+0pQ2Q;I1U p6,9*+}CK=j>=hs=hs=hs=hs,b!%WRD(_6/@̬? yqz[ӛHH*TFk]ySƥ3BPx[nҪ 0j9U%@625 ˪cQ&d^]zGpVxQv7[^|1-v>e),[̰@|eR},Կ1-e{Pk÷pkT,u{Z+Trbcd4r"gR2rG9ᬯY`/Mp?D&uyLN\aM4 _\:47p5z0RoЂ}`3ۨlBB ;3ix6J(kH%K&,W&p6xa3tu|t2HDj]Wp;}&U@S|l1Oޮ^`Qԡ/f'.qOjud2f5 %įA/S8f 3Lʑ9m^er>zyyyMo#@x/g0H*kG-q8[^x=CfҏMFmʕ0f%z|<>F1v?b_ ][Ù=ƮQ!z|= @%6NӋn@g)E_dbAPdjt]ZK<<,AT4u2K˒1-EML;ػ[#RiU3ӱԡX"Y}9TBH|9xщjʬ8 082\9K Nn)^3K9/8n]YSԧOR=JzC}/kk4O{XXq)=C,IMJKNyG'99X5;1/STz!v@/ N֝TV<:)T҅^u25x3i0[Tw9 ‚MW 7Ri*Ibk'rV[wWS+(V'8#O*΅!\'~q?8O' žTqe JUWPljD DM'dA c_{Qۀ /^pU%Y Qq ]1kZKBSAT\O12&18,WXDB9_[Wpgmq] SR} 9mJnZij0>R#SR6Eb23yh]tq"sVzjhȸO4uP,U'jѮeއXT5hjxb*>7QJ5| K XB$Z2Ut3 L \ΟPUKF#X|ObER>ivZ1'(y0Xx:P-3, 3N%blG_e5 oGI "*f3-Y )q}DFG„~٠Zn6L3]FJLd>Gl,]h3S迸:MJ\$jv|sCܱN<@HE!Z㴳B)MsK+,P|'36@Q`4[k7j)xOk{^'<׉O'?L 3~!@WE~ c'_|Ȭ5 aHi7)`"T"UW$!]s噁CI` Md7(]Je:*D~'\/0WAm  |6qWeQC*HP7eqVPFYBȜ>2 xZ/K /.: Os4- ʹzAVq> J5fX}'](-V!Sq+Z+Z1=TTب-\kU4:P0"XKOB>r.dL(ʮ"?9wsgnN4+ڼ1  |z`uoXk7G o3$yh%.s4F &YE.^'1{[ )08' ,/nzzy)!#/0u.oy<80R#QS)Jc0#Ø$4X=gL s8ʔO#|J=J u#S0'ʲé~]z%)t"yW:_]GKSE%G GMOu/>pX]v^Df٧*ߓq0cȐĻD6i2`M#zV^tx [1/8:zLE{Yp7/bo J!gyCWu+vS&mj8#zxطDŭ2jcuaq NJl|b-i7H1y]d8'ž^gu=ǩig^B,cʇ0R|֣%ŧ2t\gj3 [? [I@UWUs\ tu! p2۱"%/:,o3ŜL.:oӐ~R?v߮[Ɇ1C4rA h# A}[+lDiЌ ,5kfKO@ٯ3 .mYSԙ{ nYvN\ XOK*9Pr0BQ.j~.baK1v&k_>J>PP=ǩM ̻_"+jK1Hq5WG,=0;S[qfnَj^>QэAܿi028ՠ7I~q}"y 3GLOcaoo }zWwದ=IE>YA>QW>a`0vv.ߨK61sNU~VT EVӰV+ᵁ#O,Ts@>GNOznX{w!\cKҖQ- ")W?XAd~@&.K8ktS őB\V Lj Aڽ] 4}k4 m(.CLu|-&@ cZSiN%'Z bF.uոFX)N*y <nv}LW(맼u=ǯƿQԢQԣ!ԣB/':S D"~?Cۥ84|BSz?Oã5GS ,>}3g<xL>}3g<xL>}3ea`th~Og?=|eBہF&.Yf;:#M7}1E-Cʀt ҘR@-SU0%5$Y:>5}Cc6`עC؄0҅_5ra4{: (w.!jx(,[-TOIPkj$Qï+( 6"SȏxLJX- ^X'V⤪5Zqf©ثD`4C񫙜;dTF%UFJyN(N )MO+~wFA(.su51h+JODjnկ%ǖ m z: N#i%J 5™X`w-5ݫ-:1c迀fvҐsbDXddJ._q8T0k1E3333333333331񫉢Q8P,e==|*mMS&Y4C(Bm24wy<=AG?_x[_+_x'< Ox'< OxEB}>Oq^٩Klo߯^~q58\ի,Zؑ3m/3. >e~?w"ls|%<ϛ>|&2k@O' m&m}mmmmI'(\2A H (I$I)j@ }id` @Y&N@6@@@A Xb{C H I I@YRq8@I$$I$I$I 6mA LbI$I$$$I$$@,5 A Px nA;$@@ g$tB'] uNI RAWtusɄqrC0I$I$̐!h1=.(aa+ OHhW@;g>0xBE> 2qn?0 y'"@KЭOW|I%  ȜP9Z2`V׀_❶PQn $ I$hBIhURc/i$J~| xG~>cYgYjt/GUW8xTo3g[|ζm:uo3gC|Ά :5bjz{ѿw^Sߔw+qىh ]I11n[u4ڎƢ cq&>|=`6^/"> OԷ3xHA+D.Sg>58ӧDa~[kh<{2"K})Yo@xz\u?⮿?FU(*i6&.O2 wͷz=>b)kN^<[^Ȅ_ P-گ/ūӫ>N:O>Нt_HybOgAx8qEȹm溻4A_;09b]琑: U(w@I~ZhpVu: H^u+R$ЩB/ 'xoB@x4뜶{`-fVMw-0)ؗ8-kBJ S{_+TOq!ؿn;k.z@cw@8k&Z(g֌zh>? !"ڽ.߰rO1 Kx7EPnޥ gVFt[]]SŽ 0JU[YOk2PAxcFғXU(r{BwsV MgWdն۽_}b7Z /9UNr6W54Yty=T-d̬69iU+escvhof.krnX'Kpg-_ g-j2JeA;NT3S9L1-OmNS9L3eNS9S) -=|j{zQ{ߤGx֪[ )6n4Չ,38V( ʎ#LD35!ȗIzDWb[stoPQص4,dJQXia/ sˮp2o $+M\ &E*6HL+y;Sׁdfxi ӝ{kF pZݫ\@RUvO!;y Kwp>d5"6@(YzŁ e9^, /z-١fMY1 $Tފ_Pefח7Q*.hYy+yjtq-s>c>Wܔ1lPC$,IIJ#:r+v\R6Aac4 +h Y`<'0S,|ލdj86Yb$W_諕 >FOI*H\Mǒ#fGrT@.Rs!F-2KR2R%LY&oPumN1Bj`7mxˊ?fχ:zƭ]䲜:dPlmUw\RZ5`Sc9|nvU <&x&U! 5Ix$B2 "DJ,*0Fӄg ,sIXѤ"Q% 7w (xDt`_ {Jdz\W`t?S~7NY>/rxJ9N38K˘%rS H e)(٣1[##Sq)ZI\S5fQZKH Qg }4玁x6L#LNg_~r*1eԺT@\3 `dpPsNkp JJ7Opf^W:Ji3,^"bNh$h"4s=ȷeK=+0gqK[##QKI%̦TFdh`ܱiH`mRcG a47##b̘MM7 pˢbZʆZNS(#[Jw`H,+0pS7N1*=o=(Sڊ,YsbJe=DǼe.nļ{~"`Aj5#B$a*oMD𙫌 +s 3M7!JJYL@>ouU6ieĢ6ƒ 18V*Et#HFQ^} 5mO?7,\f& e3Gή2 {0{wVLf?ri2S- R04ck 1J2ZJق p6F`9ͦ=Ɏ" @0* Tjp:pfD V8ƬLى$ KW:J㢦 W,vM]&mt/Z˫l VG q^-Po!{rw?3V& ȘgyTMIJ(;RBDnw.7K „OBo5vTY44VrZ S5嘖'hU)O(nx']~\p9e=/<)Ϳ]^"xURh14[Y) ZW>+FϮ3ռw2YgJ6o L9v9L{T{ ٞ<] = 8g<%>=#~}LJ/YPy.-=jc hQh2<~!|'4_ǰjV wIJ;KA@<4\md6)-W ߾a] s@6y6y”C앨]@q+.z9G.*Q*b?2=kS#RԨj7fo$Ur5AU&Q̳z!hX=ZOXEB {}lulqU?0apEX7mphrݹZ~ˣ ލ_q׽Yq+ع{ lGkjm74àc5~tq/e~u+?\hJ*8'%粻*Tbܯ4yǍ%:a:#tG菉htG:t+uz??pzQi9DzOH v#⒈,!1AQaq 0@P`p? PYGv~ 'ov~ 'sςw> 'ww~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w~ 'w߂w 'V(uؿ]Pm^9d8:3;^zh7bu>c?JZ{Ucfi^뷕WtbQڕ3cп\tǚŞ38u97?"IQWT%Ãn*c& .ʀxUhj5*fbz [YGVmG!֘̿S@+3du_HY`Cn2Pkwwkꋺ՟d?MAGOXR4doۈEC7zͺT $rZѯ `ַ1,^ޚ"u9YSiԫ C*L&q,wq+ӬX2wDbD2TKAj_w]Z UcD:Mc繿BS=~iZ%fzV%Q ̐ D׾_ Ł| Umk6AZevfx7x[r9Nt$'I:INt ½a#YJTm/YN%8SN%8SN%8SN%8wp֓+$hUӅWxP*G[͵ 51 6ï3rq,+?n5ٸ΢jΏըb׋ZǑrq\~uOiEoYX=x_G|{m(+uu}_γ 4Kx :ө|<@ XWҪ 4"l9Ui*=(#B'kma ]|:@SAI;!`oZ^)_U7g…]ްM70,Ko"l*Q{+:jѴc.@أujUX-A*hYկfqn~|/7<FİwrTQXǔVG.`ahcCۘn߆VC ܂h=S )̧2KK. u'Xbu ֖xu 'PbS'PBu#3om Z65P m\iqszy}UIHQPPA-e.k6P[f 5Loa=uF:o(]גZ0)XlԖVHSM̔5:n>H2g. zV#z]EOE,T H[>0\LJU(e<T"#Ű1(\G͠4" b>˔qԄn_n4dhψ5?1 rq6fF F,5CQXGkR @ $+3L LNref 싅VKaĠf } Wh42Ndy̍ĬlY4M0R/vwo9vwo9vҴqEq")ie &51&fa"˔U*gHe&K&Q+c cxmFCBeU UQ$ 7m)*S[ί|K~~ל4kq.K˯<忢O X= 4=_vsҲ8Iqo1.XfѯKF"(S~WF*WqLu}!ho<SXm 9:tiZt,RgqSSG[4C ^hWni{1ߤ`Hx9DHZY(u7)lz\k9y@Qc/iFXL'Ois2W%ٍP A*05:BJ˗.\[ YlrŅe\&!U9j΂vu@~U1XYK5^A1uڲK}ON|)±Re],9uػzY-0M8i-sE`^v >x1%$//h~ yWbW5 b(+TA]pNu.|a!Qh7&eq@TjCi4>Q:a!)ѿ>Yw7wb4]0 c׍@mR/ . W/+*pYQ;þ3s?s?s?s?s?sA?|3{þ1Ǿ0e!^ LJ9Bo*!1AQaq 0@P?@Uޡy) C(,pAZ|,j%wVUt>"E( ^/ Ӹݴ Mkp$]91Uk Zq0ڳwQB'b ?F(;MVLcID'b mustM-<7j6G;ꪪIևrWcgrc1[L >W0=J}cJ6_!ll P~aFdge۰@9)AF*hFJ=2p5nA7Uᡙ P@bm o6^97ٲ/"4g'd~Ht,ɽ#òvqMqq! 9L˿,@YNL * <|7 ` TIVP^Lވw\(EtK @. Yj"*.8uq&>_UAD|sQ]{sFdzFYe\M@Qm A߷้ YqSjZk-yh]పe'#"&)t\ & @P+mJɓ%/Jˁc߿~߿~߿~߿~߿~߿~߿~ c:@*S~QqKY(*nj-VKSxG4xG4xG4xG4xG4xG{+ ڊ=]aY ٥mb|rSEfH"D$H2@\iv2I{_B+pUJkL薦WW'w+o=:,8G !M?5}@8A:# ]9SmB2re:V+c| : PqPA,JN Y5DK(uίezބ-.5.\&^*[`oxE^A0k4o~ܻ' vg =Z:F%R麆"X#m u]OhbAU@i6LG³)T1KDaihMc,X 0?H)UoBXĶ)mlpz6J *ʚ6+,¡CxQ>)TTnFm9%Қ-J(A$a0)2iZ s^p5gƢS\h>nT_HlL,zXQ'd$ +{C: WJLEElt\.a)0 zRO@A.(&˹G|W4b/{Yu`r*hZ.c3Db);*ZJ~Խ!f 2w*E|jgE` a6<&Eذ_{(HV`uCѭ'hy@C&%Usf[G>3NDa[DqWMJ{Im࠶P> |ǡ5];E16e?SP)dUSZq\"llq=T>)a啯oۿu kfSQgNCpW=ϴ+ApDQi!F)0*Pt*"_k,1&+XB!q[ `hfrU}7%5ثpBL 8s/‚ba [)"*2pdl( ԧ'Z3;%=+TM n{!`KE#X!-E^lVom; Cp|7éPu쨹b"q8>+ )kqBifs-v s9`Ykq cӚbTܠra%gQs&bȯ>Vۑ~5[(fIk;r[Dg.|tLq dvCNMaFF1[@`?bq !x)2۫)t )Ԃ++w/ç5DN3 YU@D $1a(GCPOsJh_a0B|//!U/!34 (sa֪26@K kIinC0^=ߴ/$Qd~?i쟴T)ƾ:h1 U_ӧN:tӧN:tӧN:tӧN:tӧN:tӧN:tӧkV֩( hdOJc(8sҥ̰W@z j-PZ ?>Pv8)W&SݻOw8!j4PHZI61DzN@],'rLH1Oඈ)1 A0!PYmQJOa1hP0XdujYӈ>0(Udfp@^4| *pe+x0 ̭#7@l!y)nbFFC=RZ1y(S;v@BVh1L+6/ dW:ĭU GZYsxnk,}ܻ^KʻygAV{"=0Z3ۊmP@(UP$:#dI l]`ܷo?2~eA-[̷o?2~eA-[̷o?2~eA-[̷o?2~eA-[̷o?2~eA-[ ?2~fw .m,H-,^DD0}WaTKRDkA ];'c&" /QJ[4׋=i?4IO4 ?~e;?wp_͘5hD"Xe+$3W6dC;舨LRQiL?0ԼeH"Ҳu( yblB^1(B ,G,b9ʧ};ƝQ BhԥQWZf͛6lٳf͛6f"6-D*TÞ觩ځ~kO0O 4r^+iD[<< V0z{h/5!0-W_1$hs5`ߖ4)Mz\LP@~lƵRk-s%緰,g> ̬.7{PqMP*0j^ׇ&WYqM & g*.[uEiZ4_5 eᘸ4l_jZ*_<< W5+]DE]mYP܁*R:8vYXJ)``2Nj(Z ]l%n0*ap Rߠk Y E6! (/ث=ʞ]HW[(1 ,^]ayeQ⚸p ZY+oY*Y@ỤKt{mpn4r :b`Z}Ei  y 9x58tE *5ۓjw^:L гvÝˣLO;{-9q"\Fu+E סdKr$J Z(\Uh2bn&l6`҇QUe}F U[ IPh)xD2"wrZ}r裂F0bو?avJÑBAypmZA4[7 L\%4 L]c(!A8}'wyI}'m1`ec`ԩǕ(W|Ӎ?%*()jxzY?4nDJ/~JΨPO2 2F:YPL>1f ʽp_UL tA,f`ݾ5'M@n^6uU+Zb_Q\!Gvt )7BJ0 WV"HyCdLT/YAc 6Yz.IM6zg+B҆,r cM-4$O ٮ*VT|^RaTBl{@"y rXx6Ȁh?˗.\r˗.\rIa{^# fzD)YݵɰBXAEs0I]}_z6ʨ9Y*ezҫ%US7/p V)nFxPcy?x΢@QX0 ~a6o䃢]6Ғ&+^zuhn24STx[+ CiJޚR@+ 55Nk؃&@|!Y!tfz`5x(p,9 *UVL<ǭoڈ:r=cl偭#L_Ӑ#kB@ukۍ<ގaAWtYz0"'щZ Ҿ@4 ?I]oqڭﯴ{=O}}_iﯴ{= %#Zz~iz Hy |9^[3f-y{gR߬VV/1TQ,7JYb+oB^I=, cUQEtפK% m` fXQЗ .6׫ t#,H%qGvEe!8Ñ1֩Vts@\ۉj[\SSGb NV(Eh ; RxKj 2e2Z3Z-x/Q[GG\Uϩf?"')ԥYvKby#W_[m)-'C־Qx}a UİM+咽1qQtUԠΨ͠X8bt@A7䀫/t˪S+蜭6mTqoei aTR-)Y% (=%ƑA\J6D:~T-Lʳl L;# ʼ,nEM) B骏sT[Qn˔>r8@gRF}X/mBtY愼,q>Dm[MbCEl`oRͺipKn 1\, 9R\htG, Bw4b74U\@ j~oD ^?ɓ&L2e+/eBxڹmHq]ݿ͋'w E'v +jK(L #J@e|?0wP勋Y3-jVy-zTrb"I!&̪`D+jTp 5U͆"ڛ0ZT,0kRnDTMĽglݴn0LZ0p]FK*UacIF߈dTy?$YLЖ JShCޛ`]*K\P|Uc8ɱ.^/Y,6tQ2Жj ennP}Jb.)mv}%.TGRJ:u(QԣGRʆq=블M_L"+{oré_Ʒ@ bC=u 1j \Z B6.EALNj9fv؎WTIM_rsQHBEjUHj:8RpQA2 rRa=c;q rlSDpye킆W خz@3b; pbyڢB]l4RC'Lb7x>|ê*pX>Ws/YrZ]URSnk;m"LP֩zD҅QW';>`GсXF4nSc9. ~<i{geakg%cH ӅZ,u!df>~rQYJ@:t}]W.0Q[Ut p^ud4c ӱ0A8`&0rjvFmy)݄!Kkew@BZC>Z"?<š -(؀Zx l%BPڌXgwd{)zB']EVh Xr̥01FzL3" J< 5!\R ;ygQbZZF# y >wlZF+KƑ ];ݴd YX [@(O #aQvÕ|`w|6`-1e7o6\CP[C/+Ӹ|q/ r y1/4$x*f<>%cܢ%3EdJlv= qvl]W8 ӿ )9~ytD5 $#dOqX Q% M+)KĂK&sbxXB/IdT+hp\͊QZDnޯ]m|-b@ֈއ2ݺz~ y2?#G gZ&U}L[j[lD~L@5Sb4^d[(9Z15v˦JPڸEL{2*q◓A` owN i8`ަ :#9^qQ-l: F{/4Pa|FZk,^t2xh!?(DvOGΈ_dLYv-CzĕNTSPp|D@B$@,3.'bڡA1&yǘA@u,)y~; -e}f)ʋ~0`6LÜh.9aj(H-p90e̥+QKЄ敯2IneeL5*2pm}ID/ƩCP4 n,n`TVv08izޥ]rzd&G8am0W|C`Yѷ672dp\lf)q 62&2i0LSi4fDsB@lYYR8V%v :p3Пtl!vXhɉBDe # Ϗ%Դ<!R(W/= ,Zlo@QQy4% jq)sm)Cf '&S1hiT02 9Ow&䄻sb`+T.%xAܴ(~p"5l:*ٓURD<"}[]ʓBK9|V!Oe `3\BWk2#Ht HPmprPȒ\ e~)0eY e": ai*Z20tWLBS-?y :RDXSMA8F`|R+B^fB VEnՔ~e*5>e$=tضjU"?@ࢻkZSs@G! U1UK(h|Vn E6Pok YXFA,RsVՁUh rcT,,$joʊ G_=˸4)v3LF,MB>P-#i'%L]}!g:\m_D _{Ⱥ@/p@N@}*a9&JDCEhLf?; 9=ߴ#h=0C=Z}'CijЇg'1OCugx=C_{= u"||Cxw{cz O*Lj6-tYZi:u#DzgBD+Gx. ZlmmmmP|S[+ThrOj|_{O?wg(%,:U*nN aD+2 7`FySC=xP dKS4FHF.CHNbrD `gl3"ܗr,\ ( Ԣ*-eelX*!߬X;>+? ;1P2ՆXEo?E ˗?dM}@bXdM{)hգZ!j eQCjZdfa BTrTIg?eQ2 A5L6tq^o,* -W;D<1nw!C\HJBoid8Mo$aV3 "]W.'yEPZC{r+1ch.VDQZ䔀nJvbiP6.]E(x()IwP"|T~b{. z t@QU'Ïß Zn,cg޷QJ. إUjlv,ų,UOsOsOsOsOsOsOsOsOsOsOsOsOsOz`%~&HQ M\FRSP>{hn`Ų~%:E㘕ܪܲYaS U`Cn#,m>(Bn 4!U-S1i$>: G}CItK|2sh@PhxaO a?'0O a?'0O a񡤴1Ls}{hy -ǯF]Np>*JqJ'2b4)Syy=@g) kfb '}/1Y ; t,gJy>dg'ϟaySdm_ηPKZp-Sjj+plugins/catch-gallery/inc/tiled-gallery.phpnu[ */ /** * Include the class file containing methods for rounding constrained array elements. * Here the constrained array element is the dimension of a row, group or an image in the tiled gallery. */ include_once plugin_dir_path( __FILE__ ) . '../math/class-constrained-array-rounding.php'; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery' ) ) : class Catch_Gallery_Tiled_Gallery { public function __construct() { add_filter( 'jetpack_gallery_types', array( $this, 'jetpack_gallery_types' ), 9 ); } public function set_atts( $atts ) { global $post; $this->atts = shortcode_atts( array( 'columns' => 3, 'size' => 'full', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post->ID, 'include' => '', 'exclude' => '', 'type' => '', 'grayscale' => false, 'link' => '', ), $atts ); $this->atts['id'] = (int) $this->atts['id']; $this->float = is_rtl() ? 'right' : 'left'; if ( ! $this->atts['orderby'] ) { $this->atts['orderby'] = sanitize_sql_orderby( $this->atts['orderby'] ); if ( ! $this->atts['orderby'] ) { $this->atts['orderby'] = 'menu_order ID'; } } if ( 'RAND' == $this->atts['order'] ) { $this->atts['orderby'] = 'none'; } } public function get_attachments() { extract( $this->atts ); if ( ! empty( $include ) ) { $include = preg_replace( '/[^0-9,]+/', '', $include ); $_attachments = get_posts( array( 'include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby, ) ); $attachments = array(); foreach ( $_attachments as $key => $val ) { $attachments[ $val->ID ] = $_attachments[ $key ]; } } elseif ( ! empty( $exclude ) ) { $exclude = preg_replace( '/[^0-9,]+/', '', $exclude ); $attachments = get_children( array( 'post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby, ) ); } else { $attachments = get_children( array( 'post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby, ) ); } return $attachments; } public function get_attachment_link( $attachment_id, $orig_file ) { if ( isset( $this->atts['link'] ) && $this->atts['link'] == 'file' ) { return $orig_file; } else { return get_attachment_link( $attachment_id ); } } public function column_style() { wp_enqueue_style( 'catch-gallery-column', plugin_dir_url( __FILE__ ) . '../css/column.css', array(), CATCH_GALLERY_VERSION ); } public function default_scripts_and_styles() { wp_enqueue_script( 'tiled-gallery', plugin_dir_url( __FILE__ ) . '../js/tiled-gallery.js', array( 'jquery' ) ); wp_enqueue_style( 'tiled-gallery', plugin_dir_url( __FILE__ ) . '../css/tiled-gallery.css', array(), CATCH_GALLERY_VERSION ); wp_style_add_data( 'tiled-gallery', 'rtl', 'replace' ); } public function gallery_shortcode( $val, $atts ) { if ( ! empty( $val ) ) { // something else is overriding post_gallery, like a custom VIP shortcode return $val; } global $post; $this->set_atts( $atts ); $attachments = $this->get_attachments(); if ( empty( $attachments ) ) { return ''; } if ( is_feed() || defined( 'IS_HTML_EMAIL' ) ) { return ''; } //Columns css $this->column_style(); if ( method_exists( $this, $this->atts['type'] . '_talavera' ) ) { // Enqueue styles and scripts $this->default_scripts_and_styles(); $gallery_html = call_user_func_array( array( $this, $this->atts['type'] . '_talavera' ), array( $attachments ) ); if ( $gallery_html && class_exists( 'Jetpack' ) && class_exists( 'Jetpack_Photon' ) ) { // Tiled Galleries in Jetpack require that Photon be active. // If it's not active, run it just on the gallery output. if ( ! in_array( 'photon', Jetpack::get_active_modules() ) ) { $gallery_html = Jetpack_Photon::filter_the_content( $gallery_html ); } } return $gallery_html; } return ''; } public function vt_resize( $attach_id = null, $img_url = null, $width=null, $height=null, $crop = false ) { // this is an attachment, so we have the ID if ( $attach_id ) { $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); $file_path = get_attached_file( $attach_id ); // this is not an attachment, let's use the image url } elseif ( $img_url ) { $file_path = parse_url( $img_url ); $file_path = ltrim( $file_path['path'], '/' ); //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; $orig_size = getimagesize( $file_path ); $image_src[0] = $img_url; $image_src[1] = $orig_size[0]; $image_src[2] = $orig_size[1]; } $file_info = pathinfo( $file_path ); $extension = '.' . $file_info['extension']; // the image path without the extension $no_ext_path = $file_info['dirname'] . '/' . $file_info['filename']; $cropped_img_path = $no_ext_path . '-' . $width . 'x' . $height . $extension; // checking if the file size is larger than the target size // if it is smaller or the same size, stop right here and return if ( $image_src[1] > $width || $image_src[2] > $height ) { // the file is larger, check if the resized version already exists (for crop = true but will also work for crop = false if the sizes match) if ( file_exists( $cropped_img_path ) ) { $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); $vt_image = array( 'url' => $cropped_img_url, 'width' => $width, 'height' => $height, ); return $vt_image; } // crop = false if ( $crop == false ) { // calculate the size proportionaly $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); $resized_img_path = $no_ext_path . '-' . $proportional_size[0] . 'x' . $proportional_size[1] . $extension; // checking if the file already exists if ( file_exists( $resized_img_path ) ) { $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); $vt_image = array( 'url' => $resized_img_url, // Commented out dimentions as it was unnecessary // 'width' => $new_img_size[0], // 'height' => $new_img_size[1], ); return $vt_image; } } // no cached files - let's finally resize it $tp_image = wp_get_image_editor( $file_path ); if ( ! is_wp_error( $tp_image ) ) { $tp_image->resize( $width, $height, $crop ); $new_img_array = $tp_image->save(); } $new_img_size = getimagesize( $new_img_array['path'] ); $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_array['path'] ), $image_src[0] ); // resized output $vt_image = array( 'url' => $new_img, 'width' => $new_img_size[0], 'height' => $new_img_size[1], ); return $vt_image; } // default output - without resizing $vt_image = array( 'url' => $image_src[0], 'width' => $image_src[1], 'height' => $image_src[2], ); return $vt_image; } public function rectangular_talavera( $attachments ) { $grouper = new Catch_Gallery_Tiled_Gallery_Grouper( $attachments ); Catch_Gallery_Tiled_Gallery_Shape::reset_last_shape(); $output = $this->generate_carousel_container(); foreach ( $grouper->grouped_images as $row ) { $output .= '

    '; } $output .= ''; return $output; } public function square_talavera( $attachments ) { $content_width = self::get_content_width(); $images_per_row = $this->atts['columns']; $margin = 2; $margin_space = ( $images_per_row * $margin ) * 2; $size = floor( ( $content_width - $margin_space ) / $images_per_row ); $remainder = count( $attachments ) % $images_per_row; if ( $remainder > 0 ) { $remainder_space = ( $remainder * $margin ) * 2; $remainder_size = ceil( ( $content_width - $remainder_space - $margin ) / $remainder ); } $output = $this->generate_carousel_container(); $c = 1; foreach ( $attachments as $image ) { if ( $remainder > 0 && $c <= $remainder ) { $img_size = $remainder_size; } else { $img_size = $size; } $img_dimensions = wp_get_attachment_image_src( $image->ID, 'full' ); $target_size = ( $img_dimensions[1] > $img_dimensions[2] ) ? $img_dimensions[2] : $img_dimensions[1]; $size_array = array( 'thumbnail' => ( $target_size < 150 ) ? $target_size : 150, 'medium' => ( $target_size < 300 ) ? $target_size : 300, 'large' => ( $target_size < 1024 ) ? $target_size : 1024, ); $size_name = $this->atts['size']; if ( 'full' === $size_name ) { $size_array['full'] = $target_size; } $image_size = $size_array[ $size_name ]; $img_src = $this->vt_resize( $image->ID, '', $image_size, $image_size, true ); $orig_file = wp_get_attachment_url( $image->ID ); $link = $this->get_attachment_link( $image->ID, $orig_file ); $image_title = $image->post_title; $output .= ''; $c ++; } $output .= ''; return $output; } public function circle_talavera( $attachments ) { return $this->square_talavera( $attachments ); } public function rectangle_talavera( $attachments ) { return $this->rectangular_talavera( $attachments ); } function generate_carousel_container() { global $post; $html = '
    gallery_classes() . ' data-original-width="' . esc_attr( self::get_content_width() ) . '">'; $blog_id = (int) get_current_blog_id(); $extra_data = array( 'data-carousel-extra' => array( 'blog_id' => $blog_id, 'permalink' => get_permalink( $post->ID ), ), ); foreach ( (array) $extra_data as $data_key => $data_values ) { $html = str_replace( '
    ID; $orig_file = wp_get_attachment_url( $attachment_id ); $meta = wp_get_attachment_metadata( $attachment_id ); $size = isset( $meta['width'] ) ? intval( $meta['width'] ) . ',' . intval( $meta['height'] ) : ''; $img_meta = ( ! empty( $meta['image_meta'] ) ) ? (array) $meta['image_meta'] : array(); $comments_opened = intval( comments_open( $attachment_id ) ); $medium_file_info = wp_get_attachment_image_src( $attachment_id, 'medium' ); $medium_file = isset( $medium_file_info[0] ) ? $medium_file_info[0] : ''; $large_file_info = wp_get_attachment_image_src( $attachment_id, 'large' ); $large_file = isset( $large_file_info[0] ) ? $large_file_info[0] : ''; $attachment_title = wptexturize( $image->post_title ); $attachment_desc = wpautop( wptexturize( $image->post_content ) ); // Not yet providing geo-data, need to "fuzzify" for privacy if ( ! empty( $img_meta ) ) { foreach ( $img_meta as $k => $v ) { if ( 'latitude' == $k || 'longitude' == $k ) { unset( $img_meta[ $k ] ); } } } //$img_meta = json_encode( array_map( 'strval', $img_meta ) ); $img_meta = json_encode( array_map( 'strval', array_filter( $img_meta, 'is_scalar' ) ) ); $output = sprintf( 'data-attachment-id="%1$d" data-orig-file="%2$s" data-orig-size="%3$s" data-comments-opened="%4$s" data-image-meta="%5$s" data-image-title="%6$s" data-image-description="%7$s" data-medium-file="%8$s" data-large-file="%9$s"', esc_attr( $attachment_id ), esc_url( wp_get_attachment_url( $attachment_id ) ), esc_attr( $size ), esc_attr( $comments_opened ), esc_attr( $img_meta ), esc_attr( $attachment_title ), esc_attr( $attachment_desc ), esc_url( $medium_file ), esc_url( $large_file ) ); return $output; } public function gallery_classes() { $classes = 'class="tiled-gallery type-' . esc_attr( $this->atts['type'] ) . '"'; return $classes; } public static function gallery_already_redefined() { global $shortcode_tags; if ( ! isset( $shortcode_tags['gallery'] ) || $shortcode_tags['gallery'] !== 'gallery_shortcode' ) { return true; } } public static function init() { if ( self::gallery_already_redefined() ) { return; } $gallery = new Catch_Gallery_Tiled_Gallery; add_filter( 'post_gallery', array( $gallery, 'gallery_shortcode' ), 1001, 2 ); } public static function get_content_width() { global $content_width; $tiled_gallery_content_width = $content_width; if ( ! $tiled_gallery_content_width ) { $tiled_gallery_content_width = 500; } return apply_filters( 'tiled_gallery_content_width', $tiled_gallery_content_width ); } /** * Media UI integration */ function jetpack_gallery_types( $types ) { $types['rectangular'] = esc_html__( 'Tiled Mosaic', 'catch-gallery' ); $types['square'] = esc_html__( 'Square Tiles', 'catch-gallery' ); $types['circle'] = esc_html__( 'Circles', 'catch-gallery' ); return $types; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Shape' ) ) : class Catch_Gallery_Tiled_Gallery_Shape { static $shapes_used = array(); public function __construct( $images ) { $this->images = $images; $this->images_left = count( $images ); } public function sum_ratios( $number_of_images = 3 ) { return array_sum( array_slice( wp_list_pluck( $this->images, 'ratio' ), 0, $number_of_images ) ); } public function next_images_are_symmetric() { return $this->images_left > 2 && $this->images[0]->ratio == $this->images[2]->ratio; } public function is_not_as_previous( $n = 1 ) { return ! in_array( get_class( $this ), array_slice( self::$shapes_used, -$n ) ); } public function is_wide_theme() { global $content_width; return $content_width > 1000; } public static function set_last_shape( $last_shape ) { self::$shapes_used[] = $last_shape; } public static function reset_last_shape() { self::$shapes_used = array(); } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Three' ) ) : class Catch_Gallery_Tiled_Gallery_Three extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 1, 1 ); public function is_possible() { $ratio = $this->sum_ratios( 3 ); return $this->images_left > 2 && $this->is_not_as_previous() && ( ( $ratio < 2.5 ) || ( $ratio < 5 && $this->next_images_are_symmetric() ) || $this->is_wide_theme() ); } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Four' ) ) : class Catch_Gallery_Tiled_Gallery_Four extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 1, 1, 1 ); public function is_possible() { return $this->is_not_as_previous() && $this->sum_ratios( 4 ) < 3.5 && ( $this->images_left == 4 || ( $this->images_left != 8 && $this->images_left > 5 ) ); } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Five' ) ) : class Catch_Gallery_Tiled_Gallery_Five extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 1, 1, 1, 1 ); public function is_possible() { return $this->is_wide_theme() && $this->is_not_as_previous() && $this->sum_ratios( 5 ) < 5 && ( $this->images_left == 5 || ( $this->images_left != 10 && $this->images_left > 6 ) ); } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Two_One' ) ) : class Catch_Gallery_Tiled_Gallery_Two_One extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 2, 1 ); public function is_possible() { return $this->is_not_as_previous( 3 ) && $this->images_left >= 2 && $this->images[2]->ratio < 1.6 && $this->images[0]->ratio >= 0.9 && $this->images[1]->ratio >= 0.9; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_One_Two' ) ) : class Catch_Gallery_Tiled_Gallery_One_Two extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 2 ); public function is_possible() { return $this->is_not_as_previous( 3 ) && $this->images_left >= 2 && $this->images[0]->ratio < 1.6 && $this->images[1]->ratio >= 0.9 && $this->images[2]->ratio >= 0.9; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_One_Three' ) ) : class Catch_Gallery_Tiled_Gallery_One_Three extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 3 ); public function is_possible() { return $this->is_not_as_previous() && $this->images_left >= 3 && $this->images[0]->ratio < 0.8 && $this->images[1]->ratio >= 0.9 && $this->images[2]->ratio >= 0.9; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Symmetric_Row' ) ) : class Catch_Gallery_Tiled_Gallery_Symmetric_Row extends Catch_Gallery_Tiled_Gallery_Shape { public $shape = array( 1, 2, 1 ); public function is_possible() { return $this->is_not_as_previous() && $this->images_left >= 3 && $this->images_left != 5 && $this->images[0]->ratio < 0.8 && $this->images[0]->ratio == $this->images[3]->ratio; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Grouper' ) ) : class Catch_Gallery_Tiled_Gallery_Grouper { public $margin = 4; public function __construct( $attachments ) { $content_width = Catch_Gallery_Tiled_Gallery::get_content_width(); //$ua_info = new Jetpack_User_Agent_Info(); $this->last_shape = ''; $this->images = $this->get_images_with_sizes( $attachments ); $this->grouped_images = $this->get_grouped_images(); $this->apply_content_width( $content_width - 5 ); //reduce the margin hack to 5px. It will be further reduced when we fix more themes and the rounding error. } public function get_current_row_size() { $images_left = count( $this->images ); if ( $images_left < 3 ) { return array_fill( 0, $images_left, 1 ); } foreach ( array( 'One_Three', 'One_Two', 'Five', 'Four', 'Three', 'Two_One', 'Symmetric_Row' ) as $shape_name ) { $class_name = "Catch_Gallery_Tiled_Gallery_$shape_name"; $shape = new $class_name( $this->images ); if ( $shape->is_possible() ) { Catch_Gallery_Tiled_Gallery_Shape::set_last_shape( $class_name ); return $shape->shape; } } Catch_Gallery_Tiled_Gallery_Shape::set_last_shape( 'Two' ); return array( 1, 1 ); } public function get_images_with_sizes( $attachments ) { $images_with_sizes = array(); foreach ( $attachments as $image ) { $meta = wp_get_attachment_metadata( $image->ID ); $image->width_orig = ( $meta['width'] > 0 ) ? $meta['width'] : 1; $image->height_orig = ( $meta['height'] > 0 ) ? $meta['height'] : 1; $image->ratio = $image->width_orig / $image->height_orig; $image->ratio = $image->ratio ? $image->ratio : 1; $images_with_sizes[] = $image; } return $images_with_sizes; } public function read_row() { $vector = $this->get_current_row_size(); $row = array(); foreach ( $vector as $group_size ) { $row[] = new Catch_Gallery_Tiled_Gallery_Group( array_splice( $this->images, 0, $group_size ) ); } return $row; } public function get_grouped_images() { $grouped_images = array(); while ( ! empty( $this->images ) ) { $grouped_images[] = new Catch_Gallery_Tiled_Gallery_Row( $this->read_row() ); } return $grouped_images; } // todo: split in functions // todo: do not stretch images public function apply_content_width( $width ) { foreach ( $this->grouped_images as $row ) { $row->width = $width; $row->raw_height = 1 / $row->ratio * ( $width - $this->margin * ( count( $row->groups ) - $row->weighted_ratio ) ); $row->height = round( $row->raw_height ); $this->calculate_group_sizes( $row ); } } public function calculate_group_sizes( $row ) { // Storing the calculated group heights in an array for rounding them later while preserving their sum // This fixes the rounding error that can lead to a few ugly pixels sticking out in the gallery $group_widths_array = array(); foreach ( $row->groups as $group ) { $group->height = $row->height; // Storing the raw calculations in a separate property to prevent rounding errors from cascading down and for diagnostics $group->raw_width = ( $row->raw_height - $this->margin * count( $group->images ) ) * $group->ratio + $this->margin; $group_widths_array[] = $group->raw_width; } $rounded_group_widths_array = Catch_Gallery_Constrained_Array_Rounding::get_rounded_constrained_array( $group_widths_array, $row->width ); foreach ( $row->groups as $group ) { $group->width = array_shift( $rounded_group_widths_array ); $this->calculate_image_sizes( $group ); } } public function calculate_image_sizes( $group ) { // Storing the calculated image heights in an array for rounding them later while preserving their sum // This fixes the rounding error that can lead to a few ugly pixels sticking out in the gallery $image_heights_array = array(); foreach ( $group->images as $image ) { $image->width = $group->width - $this->margin; // Storing the raw calculations in a separate property for diagnostics $image->raw_height = ( $group->raw_width - $this->margin ) / $image->ratio; $image_heights_array[] = $image->raw_height; } $image_height_sum = $group->height - count( $image_heights_array ) * $this->margin; $rounded_image_heights_array = Catch_Gallery_Constrained_Array_Rounding::get_rounded_constrained_array( $image_heights_array, $image_height_sum ); foreach ( $group->images as $image ) { $image->height = array_shift( $rounded_image_heights_array ); } } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Row' ) ) : class Catch_Gallery_Tiled_Gallery_Row { public function __construct( $groups ) { $this->groups = $groups; $this->ratio = $this->get_ratio(); $this->weighted_ratio = $this->get_weighted_ratio(); } public function get_ratio() { $ratio = 0; foreach ( $this->groups as $group ) { $ratio += $group->ratio; } return $ratio > 0 ? $ratio : 1; } public function get_weighted_ratio() { $weighted_ratio = 0; foreach ( $this->groups as $group ) { $weighted_ratio += $group->ratio * count( $group->images ); } return $weighted_ratio > 0 ? $weighted_ratio : 1; } } endif; if ( ! class_exists( 'Catch_Gallery_Tiled_Gallery_Group' ) ) : class Catch_Gallery_Tiled_Gallery_Group { public function __construct( $images ) { $this->images = $images; $this->ratio = $this->get_ratio(); } public function get_ratio() { $ratio = 0; foreach ( $this->images as $image ) { if ( $image->ratio ) { $ratio += 1 / $image->ratio; } } if ( ! $ratio ) { return 1; } return 1 / $ratio; } } endif; add_action( 'init', array( 'Catch_Gallery_Tiled_Gallery', 'init' ) ); PKZ EE.plugins/catch-gallery/inc/jetpack-carousel.phpnu[maybe_disable_jp_carousel() ) return; $this->in_jetpack = ( class_exists( 'Jetpack' ) && method_exists( 'Jetpack', 'enable_module_configurable' ) ) ? true : false; $options = catch_gallery_get_options(); if ( is_admin() ) { // Register the Carousel-related related settings if ( ! $this->in_jetpack ) { $carousel_disabled = isset( $options['carousel_enable'] ) ? $options['carousel_enable'] : false; if ( ! $carousel_disabled ) { return; // Carousel disabled, abort early, but still register setting so user can switch it back on } } // If in admin, register the ajax endpoints. add_action( 'wp_ajax_get_attachment_comments', array( $this, 'get_attachment_comments' ) ); add_action( 'wp_ajax_nopriv_get_attachment_comments', array( $this, 'get_attachment_comments' ) ); add_action( 'wp_ajax_post_attachment_comment', array( $this, 'post_attachment_comment' ) ); add_action( 'wp_ajax_nopriv_post_attachment_comment', array( $this, 'post_attachment_comment' ) ); } else { $carousel_disabled = isset( $options['carousel_enable'] ) ? $options['carousel_enable'] : false; if ( ! $carousel_disabled ) { return; // Carousel disabled, abort early, but still register setting so user can switch it back on } // If on front-end, do the Carousel thang. $this->prebuilt_widths = apply_filters( 'jp_carousel_widths', $this->prebuilt_widths ); add_filter( 'post_gallery', array( $this, 'enqueue_assets' ), 1000, 2 ); // load later than other callbacks hooked it add_filter( 'gallery_style', array( $this, 'add_data_to_container' ) ); add_filter( 'wp_get_attachment_link', array( $this, 'add_data_to_images' ), 10, 2 ); } if ( $this->in_jetpack && method_exists( 'Jetpack', 'module_configuration_load' ) ) { Jetpack::enable_module_configurable( dirname( dirname( __FILE__ ) ) . '/carousel.php' ); Jetpack::module_configuration_load( dirname( dirname( __FILE__ ) ) . '/carousel.php', array( $this, 'jetpack_configuration_load' ) ); } } function maybe_disable_jp_carousel() { return apply_filters( 'jp_carousel_maybe_disable', false ); } function jetpack_configuration_load() { wp_safe_redirect( admin_url( 'options-media.php#catch_gallery_options[carousel_background_color]' ) ); exit; } function asset_version( $version ) { return apply_filters( 'jp_carousel_asset_version', $version ); } function enqueue_assets( $output ) { if ( ! empty( $output ) && ! apply_filters( 'jp_carousel_force_enable', false ) ) { // Bail because someone is overriding the [gallery] shortcode. remove_filter( 'gallery_style', array( $this, 'add_data_to_container' ) ); remove_filter( 'wp_get_attachment_link', array( $this, 'add_data_to_images' ) ); return $output; } do_action( 'jp_carousel_thumbnails_shown' ); if ( $this->first_run ) { wp_register_script( 'spin', plugin_dir_url( __FILE__ ) . '../js/spin.js', false, '1.3' ); wp_register_script( 'jquery-spin', plugin_dir_url( __FILE__ ) . '../js/jquery.spin.js', array( 'jquery', 'spin' ) ); wp_enqueue_script( 'jetpack-carousel', plugin_dir_url( __FILE__ ) . '../js/jetpack-carousel.js', array( 'jquery-spin' ), $this->asset_version( CATCH_GALLERY_VERSION ), true ); // Note: using home_url() instead of admin_url() for ajaxurl to be sure to get same domain on wpcom when using mapped domains (also works on self-hosted) // Also: not hardcoding path since there is no guarantee site is running on site root in self-hosted context. $is_logged_in = is_user_logged_in(); $current_user = wp_get_current_user(); $comment_registration = intval( get_option( 'comment_registration' ) ); $require_name_email = intval( get_option( 'require_name_email' ) ); $options = catch_gallery_get_options(); $localize_strings = array( 'widths' => $this->prebuilt_widths, 'is_logged_in' => $is_logged_in, 'lang' => strtolower( substr( get_locale(), 0, 2 ) ), 'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'https' : 'http' ), 'nonce' => wp_create_nonce( 'carousel_nonce' ), 'display_exif' => isset( $options['carousel_display_exif'] ) ? $options['carousel_display_exif'] : false, 'display_geo' => isset( $options['carousel_display_geo'] ) ? $options['carousel_display_geo'] : false, 'display_comments' => isset( $options['comments_display'] ) ? $options['comments_display']: false, 'fullsize_display' => isset( $options['fullsize_display'] ) ? $options['fullsize_display'] : false, 'background_color' => isset( $options['carousel_background_color'] ) ? $options['carousel_background_color'] : 'black', 'comment' => esc_html__( 'Comment', 'catch-gallery' ), 'post_comment' => esc_html__( 'Post Comment', 'catch-gallery' ), 'loading_comments' => esc_html__( 'Loading Comments...', 'catch-gallery' ), 'download_original' => sprintf( __( 'View full size %1$s×%2$s', 'catch-gallery' ), '{0}', '{1}' ), 'no_comment_text' => esc_html__( 'Please be sure to submit some text with your comment.', 'catch-gallery' ), 'no_comment_email' => esc_html__( 'Please provide an email address to comment.', 'catch-gallery' ), 'no_comment_author' => esc_html__( 'Please provide your name to comment.', 'catch-gallery' ), 'comment_post_error' => esc_html__( 'Sorry, but there was an error posting your comment. Please try again later.', 'catch-gallery' ), 'comment_approved' => esc_html__( 'Your comment was approved.', 'catch-gallery' ), 'comment_unapproved' => esc_html__( 'Your comment is in moderation.', 'catch-gallery' ), 'camera' => esc_html__( 'Camera', 'catch-gallery' ), 'aperture' => esc_html__( 'Aperture', 'catch-gallery' ), 'shutter_speed' => esc_html__( 'Shutter Speed', 'catch-gallery' ), 'focal_length' => esc_html__( 'Focal Length', 'catch-gallery' ), 'comment_registration' => $comment_registration, 'require_name_email' => $require_name_email, 'login_url' => wp_login_url( apply_filters( 'the_permalink', get_permalink() ) ), ); if ( ! isset( $localize_strings['jetpack_comments_iframe_src'] ) || empty( $localize_strings['jetpack_comments_iframe_src'] ) ) { // We're not using Jetpack comments after all, so fallback to standard local comments. if ( isset( $localize_strings['display_comments'] )){ if ( $localize_strings['display_comments']) { if ( $is_logged_in ) { $localize_strings['local_comments_commenting_as'] = ''; } else { if ( $comment_registration ) { $localize_strings['local_comments_commenting_as'] = ''; } else { $required = ( $require_name_email ) ? __( '%s (Required)', 'catch-gallery' ) : '%s'; $localize_strings['local_comments_commenting_as'] = '' . '
    ' . '
    ' . '
    ' . '
    ' . '
    ' . '
    '; } } }else{ $localize_strings['loading_comments'] = ''; $localize_strings['comment'] = ''; } } } $localize_strings = apply_filters( 'jp_carousel_localize_strings', $localize_strings ); wp_localize_script( 'jetpack-carousel', 'jetpackCarouselStrings', $localize_strings ); wp_enqueue_style( 'jetpack-carousel', plugin_dir_url( __FILE__ ) . '../css/jetpack-carousel.css', array(), $this->asset_version( CATCH_GALLERY_VERSION ) ); wp_style_add_data( 'jetpack-carousel', 'rtl', 'replace' ); wp_enqueue_style( 'jetpack-carousel-ie8fix', plugin_dir_url( __FILE__ ) . '../css/jetpack-carousel-ie8fix.css', '', $this->asset_version( CATCH_GALLERY_VERSION ) ); wp_style_add_data( 'jetpack-carousel-ie8fix', 'conditional', 'lt IE 9' ); do_action( 'jp_carousel_enqueue_assets', $this->first_run, $localize_strings ); $this->first_run = false; } return $output; } function add_data_to_images( $html, $attachment_id ) { if ( $this->first_run ) // not in a gallery return $html; $attachment_id = intval( $attachment_id ); $orig_file = wp_get_attachment_image_src( $attachment_id, 'full' ); $orig_file = isset( $orig_file[0] ) ? $orig_file[0] : wp_get_attachment_url( $attachment_id ); $meta = wp_get_attachment_metadata( $attachment_id ); $size = isset( $meta['width'] ) ? intval( $meta['width'] ) . ',' . intval( $meta['height'] ) : ''; $img_meta = ( ! empty( $meta['image_meta'] ) ) ? (array) $meta['image_meta'] : array(); $comments_opened = intval( comments_open( $attachment_id ) ); /* * Note: Cannot generate a filename from the width and height wp_get_attachment_image_src() returns because * it takes the $content_width global variable themes can set in consideration, therefore returning sizes * which when used to generate a filename will likely result in a 404 on the image. * $content_width has no filter we could temporarily de-register, run wp_get_attachment_image_src(), then * re-register. So using returned file URL instead, which we can define the sizes from through filename * parsing in the JS, as this is a failsafe file reference. * * EG with Twenty Eleven activated: * array(4) { [0]=> string(82) "http://vanillawpinstall.blah/wp-content/uploads/2012/06/IMG_3534-1024x764.jpg" [1]=> int(584) [2]=> int(435) [3]=> bool(true) } * * EG with Twenty Ten activated: * array(4) { [0]=> string(82) "http://vanillawpinstall.blah/wp-content/uploads/2012/06/IMG_3534-1024x764.jpg" [1]=> int(640) [2]=> int(477) [3]=> bool(true) } */ $medium_file_info = wp_get_attachment_image_src( $attachment_id, 'medium' ); $medium_file = isset( $medium_file_info[0] ) ? $medium_file_info[0] : ''; $large_file_info = wp_get_attachment_image_src( $attachment_id, 'large' ); $large_file = isset( $large_file_info[0] ) ? $large_file_info[0] : ''; $attachment = get_post( $attachment_id ); $attachment_title = wptexturize( $attachment->post_title ); $attachment_desc = wpautop( wptexturize( $attachment->post_content ) ); // Not yet providing geo-data, need to "fuzzify" for privacy if ( ! empty( $img_meta ) ) { foreach ( $img_meta as $k => $v ) { if ( 'latitude' == $k || 'longitude' == $k ) unset( $img_meta[$k] ); } } // See https://github.com/Automattic/jetpack/issues/2765 if ( isset( $img_meta['keywords'] ) ) { unset( $img_meta['keywords'] ); } $img_meta = json_encode( array_map( 'strval', array_filter( $img_meta, 'is_scalar' ) ) ); $html = str_replace( ' array( 'blog_id' => $blog_id, 'permalink' => get_permalink( $post->ID ), //'likes_blog_id' => $likes_blog_id ) ); $extra_data = apply_filters( 'jp_carousel_add_data_to_container', $extra_data ); foreach ( (array) $extra_data as $data_key => $data_values ) { $html = str_replace( '
    'approve', 'order' => ( 'asc' == get_option( 'comment_order' ) ) ? 'ASC' : 'DESC', 'number' => 10, 'offset' => $offset, 'post_id' => $attachment_id, ) ); $out = array(); // Can't just send the results, they contain the commenter's email address. foreach ( $comments as $comment ) { $out[] = array( 'id' => $comment->comment_ID, 'parent_id' => $comment->comment_parent, 'author_markup' => get_comment_author_link( $comment->comment_ID ), 'gravatar_markup' => get_avatar( $comment->comment_author_email, 64 ), 'date_gmt' => $comment->comment_date_gmt, 'content' => wpautop($comment->comment_content), ); } die( json_encode( $out ) ); } function post_attachment_comment() { if ( ! headers_sent() ) header( 'Content-type: text/javascript' ); if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce($_POST['nonce'], 'carousel_nonce' ) ) die( json_encode( array( 'error' => esc_html__( 'Nonce verification failed.', 'catch-gallery' ) ) ) ); $_blog_id = (int) $_POST['blog_id']; $_post_id = (int) $_POST['id']; $comment = $_POST['comment']; if ( empty( $_blog_id ) ) die( json_encode( array( 'error' => esc_html__( 'Missing target blog ID.', 'catch-gallery' ) ) ) ); if ( empty( $_post_id ) ) die( json_encode( array( 'error' => esc_html__( 'Missing target post ID.', 'catch-gallery' ) ) ) ); if ( empty( $comment ) ) die( json_encode( array( 'error' => esc_html__( 'No comment text was submitted.', 'catch-gallery' ) ) ) ); // Used in context like NewDash $switched = false; if ( is_multisite() && $_blog_id != get_current_blog_id() ) { switch_to_blog( $_blog_id ); $switched = true; } do_action( 'jp_carousel_check_blog_user_privileges' ); if ( ! comments_open( $_post_id ) ) die( json_encode( array( 'error' => esc_html__( 'Comments on this post are closed.', 'catch-gallery' ) ) ) ); if ( is_user_logged_in() ) { $user = wp_get_current_user(); $user_id = $user->ID; $display_name = $user->display_name; $email = $user->user_email; $url = $user->user_url; if ( empty( $user_id ) ) die( json_encode( array( 'error' => esc_html__( 'Sorry, but we could not authenticate your request.', 'catch-gallery' ) ) ) ); } else { $user_id = 0; $display_name = $_POST['author']; $email = $_POST['email']; $url = $_POST['url']; if ( get_option( 'require_name_email' ) ) { if ( empty( $display_name ) ) die( json_encode( array( 'error' => esc_html__( 'Please provide your name.', 'catch-gallery' ) ) ) ); if ( empty( $email ) ) die( json_encode( array( 'error' => esc_html__( 'Please provide an email address.', 'catch-gallery' ) ) ) ); if ( ! is_email( $email ) ) die( json_encode( array( 'error' => esc_html__( 'Please provide a valid email address.', 'catch-gallery' ) ) ) ); } } $comment_data = array( 'comment_content' => $comment, 'comment_post_ID' => $_post_id, 'comment_author' => $display_name, 'comment_author_email' => $email, 'comment_author_url' => $url, 'comment_approved' => 0, 'comment_type' => '', ); if ( ! empty( $user_id ) ) $comment_data['user_id'] = $user_id; // Note: wp_new_comment() sanitizes and validates the values (too). $comment_id = wp_new_comment( $comment_data ); do_action( 'jp_carousel_post_attachment_comment' ); $comment_status = wp_get_comment_status( $comment_id ); if ( true == $switched ) restore_current_blog(); die( json_encode( array( 'comment_id' => $comment_id, 'comment_status' => $comment_status ) ) ); } } endif; new Catch_Gallery_Carousel; PKZ%HFF'plugins/catch-gallery/inc/functions.phpnu[gallery_types = apply_filters( 'jetpack_gallery_types', array( 'default' => __( 'Thumbnail Grid', 'jetpack' ) ) ); // Enqueue the media UI only if needed. if ( count( $this->gallery_types ) > 1 ) { add_action( 'wp_enqueue_media', array( $this, 'wp_enqueue_media' ) ); add_action( 'print_media_templates', array( $this, 'print_media_templates' ) ); } // Add Slideshow and Galleries functionality to core's media gallery widget. add_filter( 'widget_media_gallery_instance_schema', array( $this, 'core_media_widget_compat' ) ); } function add_plugin_meta_links( $meta_fields, $file ){ if( CATCH_GALLERY_BASENAME == $file ) { $meta_fields[] = "Support Forum"; $meta_fields[] = " " . "" . "" . "" . "" . "" . ""; $stars_color = "#ffb900"; echo ""; } return $meta_fields; } /** * Updates the schema of the core gallery widget so we can save the * fields that we add to Gallery Widgets, like `type` and `conditions` * * @param $schema The current schema for the core gallery widget * * @return array the updated schema */ public function core_media_widget_compat( $schema ) { $schema['type'] = array( 'type' => 'string', 'enum' => array_keys( $this->gallery_types ), 'description' => __( 'Type of gallery.', 'jetpack' ), 'default' => 'default', ); return $schema; } /** * Registers/enqueues the gallery settings admin js. */ function wp_enqueue_media() { if ( ! wp_script_is( 'jetpack-gallery-settings', 'registered' ) ) { /** * This only happens if we're not in Jetpack, but on WPCOM instead. * This is the correct path for WPCOM. */ wp_register_script( 'jetpack-gallery-settings', plugin_dir_url( __FILE__ ) . '../js/gallery-settings.js', array( 'media-views' ), '20180514' ); } wp_enqueue_script( 'jetpack-gallery-settings' ); } /** * Outputs a view template which can be used with wp.media.template */ function print_media_templates() { $default_gallery_type = apply_filters( 'jetpack_default_gallery_type', 'default' ); ?> 20, 'fields' => array_merge( (array) $theme_field_defaults, array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the Add Themes screen. ) ), ) ); if ( isset( $args['browse'] ) && 'catchthemes' === $args['browse'] && ! isset( $args['user'] ) ) { $args['author'] = 'catchthemes'; unset( $args['browse'] ); } if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] ) ) { $user = get_user_option( 'wporg_favorites' ); if ( $user ) { $args['user'] = $user; } } $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search'; /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args ); $api = themes_api( 'query_themes', $args ); if ( is_wp_error( $api ) ) { wp_send_json_error(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); foreach ( $api->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); if ( current_user_can( 'switch_themes' ) ) { if ( is_multisite() ) { $theme->activate_url = add_query_arg( array( 'action' => 'enable', '_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug ), 'theme' => $theme->slug, ), network_admin_url( 'themes.php' ) ); } else { $theme->activate_url = add_query_arg( array( 'action' => 'activate', '_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug ), 'stylesheet' => $theme->slug, ), admin_url( 'themes.php' ) ); } } if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $theme->customize_url = add_query_arg( array( 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ), ), wp_customize_url( $theme->slug ) ); } $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); $theme->compatible_wp = is_wp_version_compatible( $theme->requires ); $theme->compatible_php = is_php_version_compatible( $theme->requires_php ); } wp_send_json_success( $api ); } public function our_themes_script( $hook_suffix ) { if ( 'theme-install.php' === $hook_suffix ) { wp_enqueue_script( 'our-themes-script', plugin_dir_url( __FILE__ ) . '../js/our-themes.js', array( 'jquery' ), '2018-05-16' ); } } /* Add Catch Themes Section in Theme in Customizer */ public function customize_register( $wp_customize ) { $wp_customize->add_section( new WP_Customize_Themes_Section( $wp_customize, 'catchthemes', array( 'title' => __( 'Themes by CatchThemes', 'catch-themes-demo-import' ), 'action' => 'catchthemes', 'capability' => 'install_themes', 'panel' => 'themes', 'priority' => 6, ) ) ); } /** * Load themes into the theme browsing/installation UI. * taken from wp-includes/cllass-wp-customize-manager.php * @since 4.9.0 */ public function handle_load_themes_request() { check_ajax_referer( 'switch_themes', 'nonce' ); if ( ! current_user_can( 'switch_themes' ) ) { wp_die( -1 ); } if ( empty( $_POST['theme_action'] ) ) { wp_send_json_error( 'missing_theme_action' ); } $theme_action = sanitize_key( $_POST['theme_action'] ); $themes = array(); $args = array(); // Define query filters based on user input. if ( ! array_key_exists( 'search', $_POST ) ) { $args['search'] = ''; } else { $args['search'] = sanitize_text_field( wp_unslash( $_POST['search'] ) ); } if ( ! array_key_exists( 'tags', $_POST ) ) { $args['tag'] = ''; } else { $args['tag'] = array_map( 'sanitize_text_field', wp_unslash( (array) $_POST['tags'] ) ); } if ( ! array_key_exists( 'page', $_POST ) ) { $args['page'] = 1; } else { $args['page'] = absint( $_POST['page'] ); } require_once ABSPATH . 'wp-admin/includes/theme.php'; if ( 'installed' === $theme_action ) { // Load all installed themes from wp_prepare_themes_for_js(). $themes = array( 'themes' => wp_prepare_themes_for_js() ); foreach ( $themes['themes'] as &$theme ) { $theme['type'] = 'installed'; $theme['active'] = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme['id'] ); } } elseif ( 'catchthemes' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } $args['author'] = 'catchthemes'; // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } elseif ( 'wporg' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } // End if(). /** * Filters the theme data loaded in the customizer. * * This allows theme data to be loading from an external source, * or modification of data loaded from `wp_prepare_themes_for_js()` * or WordPress.org via `themes_api()`. * * @since 4.9.0 * * @see wp_prepare_themes_for_js() * @see themes_api() * @see WP_Customize_Manager::__construct() * * @param array $themes Nested array of theme data. * @param array $args List of arguments, such as page, search term, and tags to query for. * @param WP_Customize_Manager $manager Instance of Customize manager. */ $themes = apply_filters( 'customize_load_themes', $themes, $args, $wp_customize ); wp_send_json_success( $themes ); } /* Plugins */ /* Adds Catch Plugins tab in Add Plugin page to show all plugins by Catch Plugins in wordpress.org */ public function add_our_plugins_tab( $tabs ) { // Add our filter here $tabs['catchplugins'] = _x( 'Catch Plugins', 'Plugin Installer' ); return $tabs; } public function catchplugins() { /* From CORE Start */ global $paged, $tab; wp_reset_vars( array( 'tab' ) ); $defined_class = new WP_Plugin_Install_List_Table(); $paged = $defined_class->get_pagenum(); $per_page = 30; //$installed_plugins = catch_get_installed_plugins(); $args = array( 'page' => $paged, 'per_page' => $per_page, 'fields' => array( 'last_updated' => true, 'icons' => true, 'active_installs' => true, ), // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results. 'locale' => get_user_locale(), //'installed_plugins' => array_keys( $installed_plugins ), ); /* From CORE End */ // Add author filter for our plugins $args['author'] = 'catchplugins'; return $args; } public function plugins_table() { global $wp_list_table; printf( '

    ' . __( 'You can use any of our free plugins or premium plugins from Catch Plugins' ) . '.

    ', 'https://catchplugins.com/' ); ?>
    display(); ?>
    = 2) { originDomain = protocol + "://" + parts[2]; } } var likesWidgetContainer = $(""); $('div.gallery, div.tiled-gallery').find('img').each(function() { attachmentId = $(this).attr("data-attachment-id"); var dataSource = protocol + "://widgets.wp.com/likes/#blog_id=" + blogId + "&post_id=" + attachmentId + "&slim=1&origin=" + originDomain; if ('en' !== jetpackCarouselStrings.lang) { dataSource += "&lang=" + jetpackCarouselStrings.lang; } var likesWidgetWrapper = $("
    "); likesWidgetWrapper.addClass("jetpack-likes-widget-wrapper") .addClass("jetpack-likes-widget-unloaded") .addClass("slim-likes-widget") .attr("id", "like-post-wrapper-" + blogId + "-" + attachmentId) .attr("data-src", dataSource) .attr("data-name", "like-post-frame-" + blogId + "-" + attachmentId) .attr("data-attachment-id", attachmentId) .css("display", "none") .css("vertical-align", "middle"); var likesWidget = $(""); likesWidget.attr("name", "like-post-frame-" + blogId + "-" + attachmentId) .attr("src", dataSource); likesWidget.css("display", "inline-block"); likesWidgetWrapper.append(likesWidget); likesWidgetWrapper.append("
    "); likesWidgetContainer.append(likesWidgetWrapper); }); return likesWidgetContainer.html(); }; var prepareGallery = function(dataCarouselExtra) { buttons = ''; if (!overlay) { overlay = $('
    ') .addClass('jp-carousel-overlay') .css({ 'position': 'absolute', 'top': 0, 'right': 0, 'bottom': 0, 'left': 0 }); if (jetpackCarouselStrings.comment) { buttons = ''; } else { buttons = ''; } if (1 == jetpackCarouselStrings.is_logged_in) {} buttons += getCarouselLikeWidgets(dataCarouselExtra); if (buttons) { buttons = $(''); } caption = $('

    '); photo_info = $('').append(caption); imageMeta = $('
    ') .addClass('jp-carousel-image-meta') .css({ 'float': 'right', 'margin-top': '20px', 'width': '250px' }); imageMeta.append(buttons); imageMeta.append(""); imageMeta.append(""); imageMeta.append(""); if ( ! jetpackCarouselStrings.display_exif && ! jetpackCarouselStrings.display_comments && ! jetpackCarouselStrings.fullsize_display) { imageMeta.hide(); } titleAndDescription = $('
    ') .addClass('jp-carousel-titleanddesc') .css({ 'width': '100%', 'margin-top': imageMeta.css('margin-top') }); var commentFormMarkup = ''; var iframeSrc = ''; commentFormMarkup = ''; commentForm = $(commentFormMarkup) .css({ 'width': '100%', 'margin-top': '20px', 'color': '#999' }); comments = $('
    ') .addClass('jp-carousel-comments') .css({ 'width': '100%', 'bottom': '10px', 'margin-top': '20px' }); commentsLoading = $('') .css({ 'width': '100%', 'bottom': '10px', 'margin-top': '20px' }); leftWidth = ($(window).width() - (screenPadding * 2)) - (imageMeta.width() + 40); leftWidth += 'px'; if (isMobile) leftWidth = '100%'; leftColWrapper = $('
    ') .addClass('jp-carousel-left-column-wrapper') .css({ 'width': leftWidth }) .append(titleAndDescription) .append(commentForm) .append(comments) .append(commentsLoading); fadeaway = $('
    ') .addClass('jp-carousel-fadeaway'); info = $('
    ') .addClass('jp-carousel-info') .css({ 'top': ($(window).height() / 100) * proportion, 'left': screenPadding, 'right': screenPadding }) .append(photo_info) .append(imageMeta) .append(leftColWrapper); if (isMobile) info.prepend(leftColWrapper); else info.append(leftColWrapper); targetBottomPos = ($(window).height() - parseInt(info.css('top'), 10)) + 'px'; nextButton = $("
    ") .addClass('jp-carousel-next-button') .css({ 'position': 'fixed', 'top': 0, 'right': '15px', 'bottom': 0, 'width': screenPadding }); $('span', nextButton).css({ 'top': '40px', 'bottom': targetBottomPos }); previousButton = $("
    ") .addClass('jp-carousel-previous-button') .css({ 'position': 'fixed', 'top': 0, 'left': 0, 'bottom': 0, 'width': screenPadding }); $('span', previousButton).css({ 'top': '40px', 'bottom': targetBottomPos }); gallery = $('
    ') .addClass('jp-carousel') .css({ 'position': 'absolute', 'top': 0, 'bottom': targetBottomPos, 'left': 0, 'right': 0 }); close_hint = $('') .css({ position: 'fixed' }); container = $("
    ") .addClass('jp-carousel-wrap'); if ('white' == jetpackCarouselStrings.background_color) container.addClass('jp-carousel-light'); container.css({ 'position': 'fixed', 'top': 0, 'right': 0, 'bottom': 0, 'left': 0, 'z-index': 2147483647, 'overflow-x': 'hidden', 'overflow-y': 'auto', 'direction': 'ltr' }) .hide() .append(overlay) .append(gallery) .append(fadeaway) .append(info) .append(nextButton) .append(previousButton) .append(close_hint) .appendTo($('body')) .click(function(e) { var target = $(e.target), wrap = target.parents('div.jp-carousel-wrap'), data = wrap.data('carousel-extra'), slide = wrap.find('div.selected'), attachment_id = slide.data('attachment-id'); data = data || []; if (target.is(gallery) || target.parents().add(target).is(close_hint)) { container.jp_carousel('close'); } else if (target.hasClass('jp-carousel-commentlink')) { e.preventDefault(); e.stopPropagation(); $(window).unbind('keydown', keyListener); container.animate({ scrollTop: parseInt(info.position()['top'], 10) }, 'fast'); $('#jp-carousel-comment-form-submit-and-info-wrapper').slideDown('fast'); $('#jp-carousel-comment-form-comment-field').focus(); } else if (target.hasClass('jp-carousel-comment-login')) { var url = jetpackCarouselStrings.login_url + '%23jp-carousel-' + attachment_id; document.location.href = url; } else if (target.parents('#jp-carousel-comment-form-container').length) { var textarea = $('#jp-carousel-comment-form-comment-field') .blur(function() { $(window).bind('keydown', keyListener); }) .focus(function() { $(window).unbind('keydown', keyListener); }); var emailField = $('#jp-carousel-comment-form-email-field') .blur(function() { $(window).bind('keydown', keyListener); }) .focus(function() { $(window).unbind('keydown', keyListener); }); var authorField = $('#jp-carousel-comment-form-author-field') .blur(function() { $(window).bind('keydown', keyListener); }) .focus(function() { $(window).unbind('keydown', keyListener); }); var urlField = $('#jp-carousel-comment-form-url-field') .blur(function() { $(window).bind('keydown', keyListener); }) .focus(function() { $(window).unbind('keydown', keyListener); }); if (textarea && textarea.attr('id') == target.attr('id')) { // For first page load $(window).unbind('keydown', keyListener); $('#jp-carousel-comment-form-submit-and-info-wrapper').slideDown('fast'); } else if (target.is('input[type="submit"]')) { e.preventDefault(); e.stopPropagation(); $('#jp-carousel-comment-form-spinner').spin('small', 'white'); var ajaxData = { action: 'post_attachment_comment', nonce: jetpackCarouselStrings.nonce, blog_id: data['blog_id'], id: attachment_id, comment: textarea.val() }; if (!ajaxData['comment'].length) { gallery.jp_carousel('postCommentError', { 'field': 'jp-carousel-comment-form-comment-field', 'error': jetpackCarouselStrings.no_comment_text }); return; } if (!jetpackCarouselStrings.is_logged_in) { ajaxData['email'] = emailField.val(); ajaxData['author'] = authorField.val(); ajaxData['url'] = urlField.val(); if (jetpackCarouselStrings.require_name_email) { if (!ajaxData['email'].length || !ajaxData['email'].match('@')) { gallery.jp_carousel('postCommentError', { 'field': 'jp-carousel-comment-form-email-field', 'error': jetpackCarouselStrings.no_comment_email }); return; } else if (!ajaxData['author'].length) { gallery.jp_carousel('postCommentError', { 'field': 'jp-carousel-comment-form-author-field', 'error': jetpackCarouselStrings.no_comment_author }); return; } } } $.ajax({ type: 'POST', url: jetpackCarouselStrings.ajaxurl, data: ajaxData, dataType: 'json', success: function(response, status, xhr) { if ('approved' == response.comment_status) { $('#jp-carousel-comment-post-results').slideUp('fast').html('').slideDown('fast'); } else if ('unapproved' == response.comment_status) { $('#jp-carousel-comment-post-results').slideUp('fast').html('').slideDown('fast'); } else { // 'deleted', 'spam', false $('#jp-carousel-comment-post-results').slideUp('fast').html('').slideDown('fast'); } gallery.jp_carousel('clearCommentTextAreaValue'); gallery.jp_carousel('getComments', { attachment_id: attachment_id, offset: 0, clear: true }); $('#jp-carousel-comment-form-button-submit').val(jetpackCarouselStrings.post_comment); $('#jp-carousel-comment-form-spinner').spin(false); }, error: function(xhr, status, error) { // TODO: Add error handling and display here gallery.jp_carousel('postCommentError', { 'field': 'jp-carousel-comment-form-comment-field', 'error': jetpackCarouselStrings.comment_post_error }); return; } }); } } else if (!target.parents('.jp-carousel-info').length) { container.jp_carousel('next'); } }) .bind('jp_carousel.afterOpen', function() { $(window).bind('keydown', keyListener); $(window).bind('resize', resizeListener); gallery.opened = true; }) .bind('jp_carousel.beforeClose', function() { var scroll = $(window).scrollTop(); $(window).unbind('keydown', keyListener); $(window).unbind('resize', resizeListener); $(window).scrollTop(scroll); }) .bind('jp_carousel.afterClose', function() { if (history.pushState) { history.pushState("", document.title, window.location.pathname + window.location.search); } else { document.location.hash = ''; } gallery.opened = false; }); $('.jp-carousel').touchwipe({ wipeLeft: function() { gallery.jp_carousel('next'); }, wipeRight: function() { gallery.jp_carousel('previous'); }, min_move_x: 20, min_move_y: 20, preventDefaultEvents: true }); $('.jetpack-likes-widget-unloaded').each(function() { jetpackLikesWidgetQueue.push(this.id); }); nextButton.add(previousButton).click(function(e) { e.preventDefault(); e.stopPropagation(); if (nextButton.is(this)) { gallery.jp_carousel('next'); } else { gallery.jp_carousel('previous'); } }); } }; var methods = { testForData: function(gallery) { gallery = $(gallery); // make sure we have it as a jQuery object. if (!gallery.length || undefined == gallery.data('carousel-extra')) { return false; } return true; }, testIfOpened: function() { if ('undefined' != typeof(gallery) && 'undefined' != typeof(gallery.opened) && true == gallery.opened) return true; return false; }, open: function(options) { var settings = { 'items_selector': ".gallery-item [data-attachment-id], .tiled-gallery-item [data-attachment-id]", 'start_index': 0 }, data = $(this).data('carousel-extra'); if (!data) return; // don't run if the default gallery functions weren't used prepareGallery(data); if (gallery.jp_carousel('testIfOpened')) return; // don't open if already opened // make sure to stop the page from scrolling behind the carousel overlay, so we don't trigger // infiniscroll for it when enabled (Reader, theme infiniscroll, etc). originalOverflow = $('body').css('overflow'); $('body').css('overflow', 'hidden'); // prevent html from overflowing on some of the new themes. originalHOverflow = $('html').css('overflow'); $('html').css('overflow', 'hidden'); // Re-apply inline-block style here and give an initial value for the width // This value will get replaced with a more appropriate value once the slide is loaded // This avoids the likes widget appearing initially full width below the comment button and then shuffling up jQuery('.slim-likes-widget').find('iframe').css('display', 'inline-block').css('width', '60px'); container.data('carousel-extra', data); return this.each(function() { // If options exist, lets merge them // with our default settings var $this = $(this); if (options) $.extend(settings, options); if (-1 == settings.start_index) settings.start_index = 0; //-1 returned if can't find index, so start from beginning container.trigger('jp_carousel.beforeOpen').fadeIn('fast', function() { container.trigger('jp_carousel.afterOpen'); gallery .jp_carousel('initSlides', $this.find(settings.items_selector), settings.start_index) .jp_carousel('start', settings.start_index); }); gallery.html(''); }); }, start: function(start_index) { var slides = this.jp_carousel('slides'), selected = slides.eq(start_index); if (0 === selected.length) selected = slides.eq(0); gallery.jp_carousel('selectSlide', selected, false); return this; }, close: function() { // make sure to let the page scroll again $('body').css('overflow', originalOverflow); $('html').css('overflow', originalHOverflow); return container .trigger('jp_carousel.beforeClose') .fadeOut('fast', function() { container.trigger('jp_carousel.afterClose'); }); }, next: function() { var selected = this.jp_carousel('selectedSlide'), slide; container.animate({ scrollTop: 0 }, 'fast'); if (0 === selected.length) { // no selection return first item slide = this.jp_carousel('slides').first(0); } else if (selected.is(this.jp_carousel('slides').last())) { gallery.jp_carousel('loopSlides'); } else { slide = selected.next(); } if (!slide) { return this; } else { return this.jp_carousel('selectSlide', slide); } }, previous: function() { var selected = this.jp_carousel('selectedSlide'), slide; container.animate({ scrollTop: 0 }, 'fast'); if (0 === selected.length) { // no selection return first item slide = this.jp_carousel('slides').first(); } else if (selected.is(this.jp_carousel('slides').first())) { // if it's the last slide gallery.jp_carousel('loopSlides', true); } else { slide = selected.prev(); } if (!slide) { return this; } else { return this.jp_carousel('selectSlide', slide); } }, resetButtons: function(current) { if (current.data('liked')) $('.jp-carousel-buttons a.jp-carousel-like').addClass('liked').text(jetpackCarouselStrings.unlike); else $('.jp-carousel-buttons a.jp-carousel-like').removeClass('liked').text(jetpackCarouselStrings.like); }, loopSlides: function(reverse) { var slides = gallery.jp_carousel('slides'), last, first; gallery.jp_carousel('selectedSlide').removeClass('selected').css({ 'position': 'fixed' }); if (reverse !== true) { last = slides.last(); slides.first().nextAll().not(last).jp_carousel('setSlidePosition', gallery.width() + slides.first().width()).hide(); last.jp_carousel('setSlidePosition', -last.width()); last.prev().jp_carousel('setSlidePosition', -last.width() - last.prev().width()); slides.first().jp_carousel('setSlidePosition', gallery.width()); setTimeout(function() { gallery.jp_carousel('selectSlide', slides.show().first()); }, 400); } else { first = slides.first(); first.jp_carousel('setSlidePosition', gallery.width()); first.next().jp_carousel('setSlidePosition', gallery.width() + first.width()); first.next().nextAll().hide().jp_carousel('setSlidePosition', -slides.last().width()); slides.last().jp_carousel('setSlidePosition', -slides.last().width()); slides.last().prevAll().not(first, first.next()).hide().jp_carousel('setSlidePosition', -slides.last().width() - slides.last().prev().width()); setTimeout(function() { gallery.jp_carousel('selectSlide', slides.show().last()); }, 400); } }, selectedSlide: function() { return this.find('.selected'); }, setSlidePosition: function(x) { return this.css({ '-webkit-transform': 'translate3d(' + x + 'px,0,0)', '-moz-transform': 'translate3d(' + x + 'px,0,0)', '-ms-transform': 'translate(' + x + 'px,0)', '-o-transform': 'translate(' + x + 'px,0)', 'transform': 'translate3d(' + x + 'px,0,0)' }); }, selectSlide: function(slide, animate) { var last = this.find('.selected').removeClass('selected'), slides = gallery.jp_carousel('slides').css({ 'position': 'fixed' }), current = $(slide).addClass('selected').css({ 'position': 'relative' }), previous = current.prev(), next = current.next(), width = $(window).width(), previous_previous = previous.prev(), next_next = next.next(), left = (gallery.width() - current.width()) * 0.5, info_left, animated, info_min; // center the main image caption.hide(); method = 'css'; animated = current .add(previous) .add(previous.prev()) .add(next) .add(next.next()) .jp_carousel('loadSlide'); // slide the whole view to the x we want slides.not(animated).hide(); current.jp_carousel('setSlidePosition', left).show(); // minimum width gallery.jp_carousel('fitInfo', animate); // prep the slides var direction = last.is(current.prevAll()) ? 1 : -1; if (direction) { next_next.jp_carousel('setSlidePosition', gallery.width() + next.width()).show(); next.hide().jp_carousel('setSlidePosition', gallery.width() + current.width()).show(); previous_previous.jp_carousel('setSlidePosition', -previous_previous.width() - current.width()).show(); } else { previous.jp_carousel('setSlidePosition', -previous.width() - current.width()).show(); next_next.jp_carousel('setSlidePosition', gallery.width() + current.width()).show(); } // if advancing prepare the slide that will enter the screen previous.jp_carousel('setSlidePosition', -previous.width() + (screenPadding * 0.75)).show(); next.jp_carousel('setSlidePosition', gallery.width() - (screenPadding * 0.75)).show(); next.css({ 'position': '' }); document.location.href = document.location.href.replace(/#.*/, '') + '#jp-carousel-' + current.data('attachment-id'); gallery.jp_carousel('resetButtons', current); container.trigger('jp_carousel.selectSlide', [current]); gallery.jp_carousel('getTitleDesc', { title: current.data('title'), desc: current.data('desc') }); gallery.jp_carousel('updateLikesWidgetVisibility', current.data('attachment-id')) gallery.jp_carousel('updateExif', current.data('image-meta')); gallery.jp_carousel('updateFullSizeLink', current); gallery.jp_carousel('updateMap', current.data('image-meta')); gallery.jp_carousel('testCommentsOpened', current.data('comments-opened')); gallery.jp_carousel('getComments', { 'attachment_id': current.data('attachment-id'), 'offset': 0, 'clear': true }); $('#jp-carousel-comment-post-results').slideUp(); // $('
    ').text(sometext).html() is a trick to go to HTML to plain text (including HTML entities decode, etc) if (current.data('caption')) { if ($('
    ').text(current.data('caption')).html() == $('
    ').text(current.data('title')).html()) $('.jp-carousel-titleanddesc-title').fadeOut('fast').empty(); if ($('
    ').text(current.data('caption')).html() == $('
    ').text(current.data('desc')).html()) $('.jp-carousel-titleanddesc-desc').fadeOut('fast').empty(); caption.html(current.data('caption')).fadeIn('slow'); } else { caption.fadeOut('fast').empty(); } }, slides: function() { return this.find('.jp-carousel-slide'); }, slideDimensions: function() { return { width: $(window).width() - (screenPadding * 2), height: $(window).height() / 100 * proportion - 60 }; }, loadSlide: function() { return this.each(function() { var slide = $(this); slide.find('img') .one('load', function() { // set the width/height of the image if it's too big slide .jp_carousel('fitSlide', false); }); }); }, bestFit: function() { var max = gallery.jp_carousel('slideDimensions'), orig = this.jp_carousel('originalDimensions'), orig_ratio = orig.width / orig.height, w_ratio = 1, h_ratio = 1; if (orig.width > max.width) w_ratio = max.width / orig.width; if (orig.height > max.height) h_ratio = max.height / orig.height; if (w_ratio < h_ratio) { width = max.width; height = width / orig_ratio; } else if (h_ratio < w_ratio) { height = max.height; width = height * orig_ratio; } else { width = orig.width; height = orig.height; } return { width: width, height: height }; }, fitInfo: function(animated) { var current = this.jp_carousel('selectedSlide'), size = current.jp_carousel('bestFit'); photo_info.css({ 'left': (info.width() - size.width) * 0.5, 'width': size.width }); if (isMobile) { photo_info.css('left', '0px'); photo_info.css('top', '-20px'); } return this; }, fitMeta: function(animated) { var newInfoTop = { top: ($(window).height() / 100 * proportion + 5) + 'px' }; var newLeftWidth = { width: (info.width() - (imageMeta.width() + 80)) + 'px' }; if (animated) { info.animate(newInfoTop); leftColWrapper.animate(newLeftWidth); } else { info.animate(newInfoTop); leftColWrapper.css(newLeftWidth); } }, fitSlide: function(animated) { return this.each(function() { var selected = gallery.jp_carousel('selectedSlide'), $this = $(this), dimensions = $this.jp_carousel('bestFit'), method = 'css', max = gallery.jp_carousel('slideDimensions'); dimensions.left = 0; dimensions.top = ((max.height - dimensions.height) * 0.5) + 40; $this[method](dimensions); }); }, texturize: function(text) { text = new String(text); // make sure we get a string. Title "1" came in as int 1, for example, which did not support .replace(). text = text.replace(/'/g, '’').replace(/'/g, '’').replace(/[\u2019]/g, '’'); text = text.replace(/"/g, '”').replace(/"/g, '”').replace(/"/g, '”').replace(/[\u201D]/g, '”'); text = text.replace(/([\w]+)=&#[\d]+;(.+?)&#[\d]+;/g, '$1="$2"'); // untexturize allowed HTML tags params double-quotes return $.trim(text); }, initSlides: function(items, start_index) { var width = this.jp_carousel('slideDimensions').width, x = 0; // Calculate the new src. items.each(function(i) { var src_item = $(this), orig_size = src_item.data('orig-size') || '', max = gallery.jp_carousel('slideDimensions'), parts = orig_size.split(','); orig_size = { width: parseInt(parts[0], 10), height: parseInt(parts[1], 10) }, medium_file = src_item.data('medium-file') || '', large_file = src_item.data('large-file') || ''; src = src_item.data('orig-file'); src = gallery.jp_carousel('selectBestImageSize', { orig_file: src, orig_width: orig_size.width, orig_height: orig_size.height, max_width: max.width, max_height: max.height, medium_file: medium_file, large_file: large_file }); // Set the final src $(this).data('gallery-src', src); }); // If the start_index is not 0 then preload the clicked image first. if (0 !== start_index) $('')[0].src = $(items[start_index]).data('gallery-src'); // create the 'slide' items.each(function(i) { var src_item = $(this), attachment_id = src_item.data('attachment-id') || 0, comments_opened = src_item.data('comments-opened') || 0, image_meta = src_item.data('image-meta') || {}, orig_size = src_item.data('orig-size') || '', title = src_item.data('image-title') || '', description = src_item.data('image-description') || '', caption = src_item.parents('dl').find('dd.gallery-caption').html() || '', src = src_item.data('gallery-src') || '', medium_file = src_item.data('medium-file') || '', large_file = src_item.data('large-file') || '', orig_file = src_item.data('orig-file') || ''; var tiledCaption = src_item.parents('div.tiled-gallery-item').find('div.tiled-gallery-caption').html(); if (tiledCaption) caption = tiledCaption; if (attachment_id && orig_size.length) { title = gallery.jp_carousel('texturize', title); description = gallery.jp_carousel('texturize', description); caption = gallery.jp_carousel('texturize', caption); var slide = $('') .hide() .css({ //'position' : 'fixed', 'left': i < start_index ? -1000 : gallery.width() }) .append($('')) .appendTo(gallery) .data('src', src) .data('title', title) .data('desc', description) .data('caption', caption) .data('attachment-id', attachment_id) .data('permalink', src_item.parents('a').attr('href')) .data('orig-size', orig_size) .data('comments-opened', comments_opened) .data('image-meta', image_meta) .data('medium-file', medium_file) .data('large-file', large_file) .data('orig-file', orig_file) .jp_carousel('fitSlide', false); // Preloading all images slide.find('img').first().attr('src', src); } }); return this; }, selectBestImageSize: function(args) { if ('object' != typeof args) args = {}; if ('undefined' == typeof args.orig_file) return ''; if ('undefined' == typeof args.orig_width || 'undefined' == typeof args.max_width) return args.orig_file; if ('undefined' == typeof args.medium_file || 'undefined' == typeof args.large_file) return args.orig_file; var medium_size = args.medium_file.replace(/-([\d]+x[\d]+)\..+$/, '$1'), medium_size_parts = (medium_size != args.medium_file) ? medium_size.split('x') : [args.orig_width, 0], medium_width = parseInt(medium_size_parts[0], 10), medium_height = parseInt(medium_size_parts[1], 10), large_size = args.large_file.replace(/-([\d]+x[\d]+)\..+$/, '$1'), large_size_parts = (large_size != args.large_file) ? large_size.split('x') : [args.orig_width, 0], large_width = parseInt(large_size_parts[0], 10), large_height = parseInt(large_size_parts[1], 10); // Give devices with a higher devicePixelRatio higher-res images (Retina display = 2, Android phones = 1.5, etc) if ('undefined' != typeof window.devicePixelRatio && window.devicePixelRatio > 1) { args.max_width = args.max_width * window.devicePixelRatio; args.max_height = args.max_height * window.devicePixelRatio; } if (large_width >= args.max_width || large_height >= args.max_height) return args.large_file; if (medium_width >= args.max_width || medium_height >= args.max_height) return args.medium_file; return args.orig_file; }, originalDimensions: function() { var splitted = $(this).data('orig-size').split(','); return { width: parseInt(splitted[0], 10), height: parseInt(splitted[1], 10) }; }, format: function(args) { if ('object' != typeof args) args = {}; if (!args.text || 'undefined' == typeof args.text) return; if (!args.replacements || 'undefined' == typeof args.replacements) return args.text; return args.text.replace(/{(\d+)}/g, function(match, number) { return typeof args.replacements[number] != 'undefined' ? args.replacements[number] : match; }); }, shutterSpeed: function(d) { if (d >= 1) return Math.round(d) + 's'; var df = 1, top = 1, bot = 1; var limit = 1e5; //Increase for greater precision. while (df != d && limit-- > 0) { if (df < d) { top += 1; } else { bot += 1; top = parseInt(d * bot, 10); } df = top / bot; } if (top > 1) { bot = Math.round(bot / top); top = 1; } if (bot <= 1) return '1s'; return top + '/' + bot + 's'; }, parseTitleDesc: function(value) { if (!value.match(' ') && value.match('_')) return ''; // Prefix list originally based on http://commons.wikimedia.org/wiki/MediaWiki:Filename-prefix-blacklist var prefixes = $([ 'CIMG', // Casio 'DSC_', // Nikon 'DSCF', // Fuji 'DSCN', // Nikon 'DUW', // some mobile phones 'GEDC', // GE 'IMG', // generic 'JD', // Jenoptik 'MGP', // Pentax 'PICT', // misc. 'Imagen', // misc. 'Foto', // misc. 'DSC', // misc. 'Scan', // Scanners 'SANY', // Sanyo 'SAM', // Samsung 'Screen Shot [0-9]+' // Mac screenshots ]) .each(function(key, val) { regex = new RegExp('^' + val); if (regex.test(value)) { value = ''; return; } }); return value; }, getTitleDesc: function(data) { var title = '', desc = '', markup = '', target, commentWrappere; target = $('div.jp-carousel-titleanddesc', 'div.jp-carousel-wrap'); target.hide(); title = gallery.jp_carousel('parseTitleDesc', data.title) || ''; desc = gallery.jp_carousel('parseTitleDesc', data.desc) || ''; if (title.length || desc.length) { // $('
    ').text(sometext).html() is a trick to go to HTML to plain text (including HTML entities decode, etc) if ($('
    ').text(title).html() == $('
    ').text(desc).html()) title = ''; markup = (title.length) ? '' : ''; markup += (desc.length) ? '' : ''; target.html(markup).fadeIn('slow'); } $('div#jp-carousel-comment-form-container').css('margin-top', '20px'); $('div#jp-carousel-comments-loading').css('margin-top', '20px'); }, updateLikesWidgetVisibility: function(attachmentId) { // Hide all likes widgets except for the one for the attachmentId passed in $('.jp-carousel-buttons').find('.jetpack-likes-widget-wrapper').each(function() { var widgetWrapper = $(this); if (widgetWrapper.attr('data-attachment-id') == attachmentId) { widgetWrapper.css('display', 'inline-block'); } else { widgetWrapper.css('display', 'none'); } }); }, // updateExif updates the contents of the exif UL (.jp-carousel-image-exif) updateExif: function(meta) { if (!meta || 1 != jetpackCarouselStrings.display_exif) { return false; } var $ul = $(""); $.each(meta, function(key, val) { if (0 === parseFloat(val) || !val.length || -1 === $.inArray(key, ['camera', 'aperture', 'shutter_speed', 'focal_length'])) return; switch (key) { case 'focal_length': val = val + 'mm'; break; case 'shutter_speed': val = gallery.jp_carousel('shutterSpeed', val); break; case 'aperture': val = 'f/' + val; break; default: // making jslint happy break; } $ul.append('
  • ' + jetpackCarouselStrings[key] + '
    ' + val + '
  • '); }); // Update (replace) the content of the ul $('div.jp-carousel-image-meta ul.jp-carousel-image-exif').replaceWith($ul); }, // updateFullSizeLink updates the contents of the jp-carousel-image-download link updateFullSizeLink: function(current) { if (!current || !current.data) return false; var original = current.data('orig-file').replace(/\?.+$/, ''), origSize = current.data('orig-size').split(','), permalink = $('' + gallery.jp_carousel('format', { 'text': jetpackCarouselStrings.download_original, 'replacements': origSize }) + '') .addClass('jp-carousel-image-download') .attr('href', original) .attr('target', '_blank'); // Update (replace) the content of the anchor if (jetpackCarouselStrings.fullsize_display) { $('div.jp-carousel-image-meta a.jp-carousel-image-download').replaceWith(permalink); } }, updateMap: function(meta) { if (!meta.latitude || !meta.longitude || 1 != jetpackCarouselStrings.display_geo) return; var latitude = meta.latitude, longitude = meta.longitude, $metabox = $('div.jp-carousel-image-meta', 'div.jp-carousel-wrap'), $mapbox = $('
    '), style = '&scale=2&style=feature:all|element:all|invert_lightness:true|hue:0x0077FF|saturation:-50|lightness:-5|gamma:0.91'; $mapbox .addClass('jp-carousel-image-map') .html('\ \
    \ \ ') .prependTo($metabox); }, testCommentsOpened: function(opened) { if (1 == parseInt(opened, 10)) { $('.jp-carousel-buttons').fadeIn('fast'); commentForm.fadeIn('fast'); } else { $('.jp-carousel-buttons').fadeOut('fast'); commentForm.fadeOut('fast'); } }, getComments: function(args) { if ('object' != typeof args) args = {}; if (!args.attachment_id || 'undefined' == typeof args.attachment_id) return; if (!args.offset || 'undefined' == typeof args.offset || args.offset < 1) args.offset = 0; var comments = $('.jp-carousel-comments'), commentsLoading = $('#jp-carousel-comments-loading'); commentsLoading.show(); if (args.clear) { comments.hide(); comments.empty(); } $.ajax({ type: 'GET', url: jetpackCarouselStrings.ajaxurl, dataType: 'json', data: { action: 'get_attachment_comments', nonce: jetpackCarouselStrings.nonce, id: args.attachment_id, offset: args.offset }, success: function(data, status, xhr) { if (args.clear) { comments.fadeOut('fast'); comments.empty(); } $(data).each(function() { var comment = $('
    ') .addClass('jp-carousel-comment') .attr('id', 'jp-carousel-comment-' + this['id']) .css({}) .html( '
    ' + this['gravatar_markup'] + '
    ' + '
    ' + this['author_markup'] + '
    ' + '
    ' + this['date_gmt'] + '
    ' + '
    ' + this['content'] + '
    ' ); comments.append(comment); // Set the interval to check for a new page of comments. clearInterval(commentInterval); commentInterval = setInterval(function() { if (($('.jp-carousel-overlay').height() - 150) < $('.jp-carousel-wrap').scrollTop() + $(window).height()) { gallery.jp_carousel('getComments', { attachment_id: args.attachment_id, offset: args.offset + 10, clear: false }); clearInterval(commentInterval); } }, 150); }); // Verify (late) that the user didn't repeatldy click the arrows really fast, in which case the requested // attachment id might no longer match the current attachment id by the time we get the data back or a now // registered infiniscroll event kicks in, so we don't ever display comments for the wrong image by mistake. var current = $('.jp-carousel div.selected'); if (current && current.data && current.data('attachment-id') != args.attachment_id) { comments.fadeOut('fast'); comments.empty(); return; } // Increase the height of the background, semi-transparent overlay to match the new length of the comments list. $('.jp-carousel-overlay').height($(window).height() + titleAndDescription.height() + commentForm.height() + ((comments.height() > 0) ? comments.height() : imageMeta.height()) + 200); comments.show(); commentsLoading.hide(); }, error: function(xhr, status, error) { // TODO: proper error handling console.log('Comment get fail...', xhr, status, error); comments.fadeIn('fast'); commentsLoading.fadeOut('fast'); } }); }, postCommentError: function(args) { if ('object' != typeof args) args = {}; if (!args.field || 'undefined' == typeof args.field || !args.error || 'undefined' == typeof args.error) return; $('#jp-carousel-comment-post-results').slideUp('fast').html('').slideDown('fast'); $('#jp-carousel-comment-form-spinner').spin(false); }, setCommentIframeSrc: function(attachment_id) { var iframe = $('#jp-carousel-comment-iframe'); // Set the proper irame src for the current attachment id if (iframe && iframe.length) { iframe.attr('src', iframe.attr('src').replace(/(postid=)\d+/, '$1' + attachment_id)); iframe.attr('src', iframe.attr('src').replace(/(%23.+)?$/, '%23jp-carousel-' + attachment_id)); } }, clearCommentTextAreaValue: function() { var commentTextArea = $('#jp-carousel-comment-form-comment-field'); if (commentTextArea) commentTextArea.val(''); } }; $.fn.jp_carousel = function(method) { // ask for the HTML of the gallery // Method calling logic if (methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof method === 'object' || !method) { return methods.open.apply(this, arguments); } else { $.error('Method ' + method + ' does not exist on jQuery.jp_carousel'); } }; // register the event listener for starting the gallery $(document.body).on('click', 'div.gallery,div.tiled-gallery', function(e) { if (!$(this).jp_carousel('testForData', e.currentTarget)) return; if ($(e.target).parent().hasClass('gallery-caption')) return; e.preventDefault(); $(this).jp_carousel('open', { start_index: $(this).find('.gallery-item, .tiled-gallery-item').index($(e.target).parents('.gallery-item, .tiled-gallery-item')) }); }); // Set an interval on page load to load the carousel if hash exists and not already opened. // Makes carousel work on page load and when back button leads to same URL with carousel hash (ie: no actual document.ready trigger) $(document).ready(function() { last_known_location_hash = ''; var jp_carousel_open_interval = window.setInterval(function() { // We should have a URL hash by now. if (!document.location.hash || !document.location.hash.match(/jp-carousel-(\d+)/)) return; if (document.location.hash == last_known_location_hash) return; last_known_location_hash = document.location.hash; var gallery = $('div.gallery, div.tiled-gallery'), index = -1, n = document.location.hash.match(/jp-carousel-(\d+)/); if (!$(this).jp_carousel('testForData', gallery)) return; n = parseInt(n[1], 10); gallery.find('img').each(function(num, el) { if (n && $(el).data('attachment-id') == n) { // n cannot be 0 (zero) index = num; return false; } }); if (index != -1) gallery.jp_carousel('open', { start_index: index }); // open method checks if already opened }, 1000); }); }); // Swipe gesture detection (function($) { $.fn.touchwipe = function(settings) { var config = { min_move_x: 20, min_move_y: 20, wipeLeft: function() {}, wipeRight: function() {}, wipeUp: function() {}, wipeDown: function() {}, preventDefaultEvents: true }; if (settings) $.extend(config, settings); this.each(function() { var startX; var startY; var isMoving = false; function cancelTouch() { this.removeEventListener('touchmove', onTouchMove); startX = null; isMoving = false } function onTouchMove(e) { if (config.preventDefaultEvents) { e.preventDefault() } if (isMoving) { var x = e.touches[0].pageX; var y = e.touches[0].pageY; var dx = startX - x; var dy = startY - y; if (Math.abs(dx) >= config.min_move_x) { cancelTouch(); if (dx > 0) { config.wipeLeft() } else { config.wipeRight() } } else if (Math.abs(dy) >= config.min_move_y) { cancelTouch(); if (dy > 0) { config.wipeDown() } else { config.wipeUp() } } } } function onTouchStart(e) { if (e.touches.length) { startX = e.touches[0].pageX; startY = e.touches[0].pageY; isMoving = true; this.addEventListener('touchmove', onTouchMove, false) } } if ('ontouchstart' in document.documentElement) { this.addEventListener('touchstart', onTouchStart, false) } }); return this } })(jQuery);PKZ6t'' plugins/catch-gallery/js/spin.jsnu[//fgnass.github.com/spin.js#v1.3 /** * Copyright (c) 2011-2013 Felix Gnass * Licensed under the MIT license */ (function(root, factory) { /* CommonJS */ if (typeof exports == 'object') module.exports = factory() /* AMD module */ else if (typeof define == 'function' && define.amd) define(factory) /* Browser global */ else root.Spinner = factory() } (this, function() { "use strict"; var prefixes = ['webkit', 'Moz', 'ms', 'O'] /* Vendor prefixes */ , animations = {} /* Animation rules keyed by their name */ , useCssAnimations /* Whether to use CSS animations or setTimeout */ /** * Utility function to create elements. If no tag name is given, * a DIV is created. Optionally properties can be passed. */ function createEl(tag, prop) { var el = document.createElement(tag || 'div') , n for(n in prop) el[n] = prop[n] return el } /** * Appends children and returns the parent. */ function ins(parent /* child1, child2, ...*/) { for (var i=1, n=arguments.length; i> 1) : parseInt(o.left, 10) + mid) + 'px', top: (o.top == 'auto' ? tp.y-ep.y + (target.offsetHeight >> 1) : parseInt(o.top, 10) + mid) + 'px' }) } el.setAttribute('role', 'progressbar') self.lines(el, self.opts) if (!useCssAnimations) { // No CSS animation support, use setTimeout() instead var i = 0 , start = (o.lines - 1) * (1 - o.direction) / 2 , alpha , fps = o.fps , f = fps/o.speed , ostep = (1-o.opacity) / (f*o.trail / 100) , astep = f/o.lines ;(function anim() { i++; for (var j = 0; j < o.lines; j++) { alpha = Math.max(1 - (i + (o.lines - j) * astep) % f * ostep, o.opacity) self.opacity(el, j * o.direction + start, alpha, o) } self.timeout = self.el && setTimeout(anim, ~~(1000/fps)) })() } return self }, /** * Stops and removes the Spinner. */ stop: function() { var el = this.el if (el) { clearTimeout(this.timeout) if (el.parentNode) el.parentNode.removeChild(el) this.el = undefined } return this }, /** * Internal method that draws the individual lines. Will be overwritten * in VML fallback mode below. */ lines: function(el, o) { var i = 0 , start = (o.lines - 1) * (1 - o.direction) / 2 , seg function fill(color, shadow) { return css(createEl(), { position: 'absolute', width: (o.length+o.width) + 'px', height: o.width + 'px', background: color, boxShadow: shadow, transformOrigin: 'left', transform: 'rotate(' + ~~(360/o.lines*i+o.rotate) + 'deg) translate(' + o.radius+'px' +',0)', borderRadius: (o.corners * o.width>>1) + 'px' }) } for (; i < o.lines; i++) { seg = css(createEl(), { position: 'absolute', top: 1+~(o.width/2) + 'px', transform: o.hwaccel ? 'translate3d(0,0,0)' : '', opacity: o.opacity, animation: useCssAnimations && addAnimation(o.opacity, o.trail, start + i * o.direction, o.lines) + ' ' + 1/o.speed + 's linear infinite' }) if (o.shadow) ins(seg, css(fill('#000', '0 0 4px ' + '#000'), {top: 2+'px'})) ins(el, ins(seg, fill(o.color, '0 0 1px rgba(0,0,0,.1)'))) } return el }, /** * Internal method that adjusts the opacity of a single line. * Will be overwritten in VML fallback mode below. */ opacity: function(el, i, val) { if (i < el.childNodes.length) el.childNodes[i].style.opacity = val } }) function initVML() { /* Utility function to create a VML tag */ function vml(tag, attr) { return createEl('<' + tag + ' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">', attr) } // No CSS transforms but VML support, add a CSS rule for VML elements: sheet.addRule('.spin-vml', 'behavior:url(#default#VML)') Spinner.prototype.lines = function(el, o) { var r = o.length+o.width , s = 2*r function grp() { return css( vml('group', { coordsize: s + ' ' + s, coordorigin: -r + ' ' + -r }), { width: s, height: s } ) } var margin = -(o.width+o.length)*2 + 'px' , g = css(grp(), {position: 'absolute', top: margin, left: margin}) , i function seg(i, dx, filter) { ins(g, ins(css(grp(), {rotation: 360 / o.lines * i + 'deg', left: ~~dx}), ins(css(vml('roundrect', {arcsize: o.corners}), { width: r, height: o.width, left: o.radius, top: -o.width>>1, filter: filter }), vml('fill', {color: o.color, opacity: o.opacity}), vml('stroke', {opacity: 0}) // transparent stroke to fix color bleeding upon opacity change ) ) ) } if (o.shadow) for (i = 1; i <= o.lines; i++) seg(i, -2, 'progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)') for (i = 1; i <= o.lines; i++) seg(i) return ins(el, g) } Spinner.prototype.opacity = function(el, i, val, o) { var c = el.firstChild o = o.shadow && o.lines || 0 if (c && i+o < c.childNodes.length) { c = c.childNodes[i+o]; c = c && c.firstChild; c = c && c.firstChild if (c) c.opacity = val } } } var probe = css(createEl('group'), {behavior: 'url(#default#VML)'}) if (!vendor(probe, 'transform') && probe.adj) initVML() else useCssAnimations = vendor(probe, 'animation') return Spinner })); PKZ   ?plugins/catch-gallery/math/class-constrained-array-rounding.phpnu[ $value ){ $bound_array_int_floor[$i] = array( 'floor' => (int) floor( $value ), 'fraction' => $value - floor( $value ), 'index' => $i, ); } return $bound_array_int_floor; } private static function adjust_constrained_array( &$bound_array_int, $adjustment ) { usort( $bound_array_int, array( 'self', 'cmp_desc_fraction' ) ); $start = 0; $end = $adjustment - 1; $length = count( $bound_array_int ); for ( $i = $start; $i <= $end; $i++ ) { $bound_array_int[ $i % $length ]['floor']++; } usort( $bound_array_int, array( 'self', 'cmp_asc_index' ) ); } private static function cmp_desc_fraction( $a, $b ) { if ( $a['fraction'] == $b['fraction'] ) return 0; return $a['fraction'] > $b['fraction'] ? -1 : 1; } private static function cmp_asc_index( $a, $b ) { if ( $a['index'] == $b['index'] ) return 0; return $a['index'] < $b['index'] ? -1 : 1; } } endif;PKZZR;; plugins/catch-gallery/readme.txtnu[=== Catch Gallery === Contributors: catchplugins, catchthemes, sakinshrestha, pratikshrestha, maheshmaharjan, dreamsapana Donate link: https://catchplugins.com/plugins/catch-gallery/ Tags: gallery, tiled gallery, image gallery, mosaic, carousel, lightbox, media, jetpack, jetpack lite Requires at least: 5.7 Tested up to: 6.4 Stable tag: trunk License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Catch Gallery allows you to add three different types of layouts (in addition to the default layout provided by WordPress – Thumbnail Grid) for your galleries to stand out—Tiled Mosaic, Square Tiles, Circles. == Description == Catch Gallery - a simple gallery plugin for WordPress helps you create stunning galleries. Catch Gallery was inspired by the Jetpack’s Gallery Module. With Catch Gallery, you will be able to exhibit outstanding galleries and portfolios on your creative WordPress websites. It is extremely easy to use. The plugin carries a completely responsive design and your galleries will look appealing from any device. With our new gallery plugin, you can effortlessly boost your website's appearance, giving it the A-class look that it deserves. Catch gallery allows you to enable and choose the background color of the carousel, show photo metadata, comments, and view full-size images in the gallery. Catch Gallery allows you to add three different types of layouts (in addition to the default layout provided by WordPress – Thumbnail Grid) for your galleries to stand out—Tiled Mosaic, Square Tiles, Circles. These attractive layouts are sure to bring your galleries to life and make it more elegant and appealing. Catch Gallery is extremely lightweight, comes with responsive design, and compatible with all themes. Download Catch Gallery and make your galleries more appealing! Demo Tiled Gallery : [Demo link](https://catchplugins.com/demo/?data=b3BEbnJ1ZVpocXoxU0hvYXFLaGlWUT09 "Demo Link") Plugin Instructions : [Instructions link](https://catchplugins.com/plugins/catch-gallery/#instructions "Instructions Link") == Screenshots == 1. Main Page 2. Create Gallery in Page/Post Step 1 3. Gallery Settings - Select Type 4. Type: Tiled Mosaic Layout 5. Type: Square Tiles Layout 6. Type: Circles Layout == Installation == The easy way (via Dashboard) : * Go to Plugins > Add New * Type in the **Catch Gallery** in Search Plugins box * Click Install Now to install the plugin * After Installation click activate to start using the **Catch Gallery** * Go to **Catch Gallery** from Dashboard menu Not so easy way (via FTP) : * Download the **Catch Gallery** * Unarchive **Catch Gallery** plugin * Copy folder with catch-infinite-scroll.zip * Open the ftp \wp-content\plugins\ * Paste the plug-ins folder in the folder * Go to admin panel => open item "Plugins" => activate **Catch Gallery** * Go to **Catch Gallery** from Dashboard menu For Detailed Plugin instructions, checkout Instructions tab at https://catchplugins.com/plugins/catch-gallery/#instructions == Changelog == = 2.0 (Released: November 15, 2023) = * Compatibility check up to version 6.4 = 1.9 (Released: November 03, 2022) = * Compatibility check up to version 6.1 = 1.8 (Released: February 24, 2022) = * Compatibility check up to version 5.9 = 1.7 (Released: September 16, 2021) = * Bug Fixed: Security issue on ajax calls = 1.6.8 (Released: July 23, 2021) = * Bug Fixed: hover event replaced by mouseenter and mouseleave, deprecated as of jQuery 1.8 * Compatibility check up to version 5.8 = 1.6.7 (Released: May 04, 2021) = * Updated: CSS breakpoints for better responsiveness = 1.6.6 (Released: April 21, 2021) = * Bug Fixed: Gallery Responsive issue = 1.6.5 (Released: March 04, 2021) = * Bug Fixed: Deprecate required parameters after optional parameters in function/method signatures * Compatibility check up to version 5.7 = 1.6.4 (Released: August 28, 2020) = * Added: Title attribute on images = 1.6.3 (Released: August 19, 2020) = * Bug Fixed: Issue in add new theme page = 1.6.2 (Released: August 11, 2020) = * Update: Default image size set to full * Compatibility check up to version 5.5 = 1.6.1 (Released: April 09, 2020) = * Bug Fixed: Undefined index issue in tiled gallery = 1.6 (Released: April 08, 2020) = * Fixed: Ability to change column and image sizes = 1.5 (Released: March 10, 2020) = * Compatibility check up to version 5.4 = 1.4 (Released: November 12, 2019) = * Compatibility check up to version 5.3 = 1.3 (Released: August 20, 2019) = * Added: Tooltip for info icons * Added: Option to turn off Catch Themes and Catch Plugins tabs * Compatibility check up to version 5.2 * Updated: Catch Themes and Catch Plugins tabs displaying code = 1.2 (Released: February 21, 2019) = * Compatibility check up to version 5.1 = 1.1 (Released: 12 December, 2018)= * Added: Catch Themes and Catch Plugins tabs in Add themes and Add plugins page respectively * Added: Themes by Catch Themes section under Themes panel in customizer * Compatibility check up to version 5.0 = 1.0.1 (Released: 05 June, 2018)= * Bug Fixed: Gallery Widget now saves plugins options = 1.0 (Released: 04 June, 2018)= * Initial Release PKZ)à#plugins/catch-gallery/uninstall.phpnu[ h2 { font-size: 22px !important; margin-bottom: 0 !important; } .four-columns-wrap > h2 + p { margin-top: 12px !important; max-width: 645px; } .column-wdith-4 img { display: block; max-width: 100%; height: auto; } .column-wdith-4 > div { position: relative; overflow: hidden; padding: 15px; box-shadow: inset 0 1px 0 rgba(0,0,0,.1); } .column-wdith-4 > div h2 { float: left; margin: 0; font-size: 15px; line-height: 18px; font-weight: 600; height: 18px; } .column-wdith-4 > div a { position: absolute; top: 10px; right: 10px; } .column-wdith-4 .active-style { position: absolute; top: 0; right: 0; width: 100%; height: 38px; line-height: 38px; padding: 0; color: #fff; font-size: 14px; letter-spacing: 0.7px; font-weight: 600; background-color: #0085BA; text-align: center; cursor: default; } /* Recommended Plugins */ .three-columns-wrap .plugin-card { position: relative; width: 30% !important; min-height: 170px; padding: 20px; margin-right: 1% !important; margin-left: 0 !important; clear: none !important; } .three-columns-wrap .column-description { margin-top: 20px !important; margin-right: 90px !important; } .three-columns-wrap .column-description p { font-size: 13px !important; margin-bottom: 0 !important; } .three-columns-wrap .action-links { width: auto !important; } .theme-browser .theme .theme-screenshot:after { padding-top: 52%; }.theme a { text-decoration: none; } /* Responsive */ @media screen and ( max-width: 1600px ) { .three-columns-wrap .plugin-card { width: 49% !important; } } @media screen and ( max-width: 1360px ) { .free-vs-pro { width: 80% !important; } } @media screen and ( max-width: 1160px ) { .three-columns-wrap .plugin-card { width: 100% !important; margin-right: 0 !important; } .column-wdith-4 { width: 30%; margin-right: 3%; margin-right: 2%; margin-bottom: 20px; } } @media screen and ( max-width: 790px ) { .column-wdith-3, .column-wdith-4 { float: none !important; width: 100% !important; margin-right: 0 !important; } }PKZN}}/plugins/catch-gallery/css/tiled-gallery-rtl.cssnu[/* This file was automatically generated on Jan 05 2013 15:45:53 */ /* =Tiled Gallery Default Styles -------------------------------------------------------------- */ .tiled-gallery { clear: both; margin: 0; overflow: hidden; } .tiled-gallery img { margin: 2px !important; /* Ensure that this value isn't overridden by themes that give content images blanket margins */ } .tiled-gallery .gallery-group { float: right; position: relative; } .tiled-gallery .tiled-gallery-item { float: right; margin: 0; position: relative; width: inherit; /* prevents ie8 bug with inline width styles */ } .tiled-gallery .gallery-row { overflow: hidden; margin-bottom: 2px; } .tiled-gallery .tiled-gallery-item a { /* Needs to reset some properties for theme compatibility */ background: transparent; border: none; color: none; margin: 0; padding: 0; text-decoration: none; width: auto; } .tiled-gallery .tiled-gallery-item img, .tiled-gallery .tiled-gallery-item img:hover { /* Needs to reset some properties for theme compatibility */ background: none; border: none; box-shadow: none; max-width: 100%; padding: 0; vertical-align: middle; } .tiled-gallery-caption { /* Captions */ background: #eee; background: rgba( 255,255,255,0.8 ); color: #333; font-size: 13px; font-weight: 400; overflow: hidden; padding: 10px 0; position: absolute; bottom: 0; text-indent: 10px; text-overflow: ellipsis; width: 100%; white-space: nowrap; } .tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption { /* Smaller captions */ font-size: 11px; } /* =Greyscale -------------------------------------------------------------- */ .tiled-gallery .tiled-gallery-item img.grayscale { position: absolute; right: 0; top: 0; } .tiled-gallery .tiled-gallery-item img.grayscale:hover { opacity: 0; } /* =Circles Layout -------------------------------------------------------------- */ .tiled-gallery.type-circle .tiled-gallery-item img { border-radius: 50% !important; /* Ensure that circles are displayed in themes that add border-radius to all images as a default */ } .tiled-gallery.type-circle .tiled-gallery-caption { display: none; opacity: 0; }PKZ͋g@c@c.plugins/catch-gallery/css/jetpack-carousel.cssnu[* { line-height:inherit; /* prevent declarations of line-height in the universal selector */ } .jp-carousel-overlay { background: #000; opacity: 0.98; } div.jp-carousel-fadeaway { background: -moz-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); background: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); position: fixed; bottom: 0; z-index: 2147483647; width: 100%; height: 15px; } .jp-carousel-next-button span, .jp-carousel-previous-button span { background: url(../images/arrows.png) no-repeat center center; background-size: 200px 126px; } @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { .jp-carousel-next-button span, .jp-carousel-previous-button span { background-image: url(../images/arrows-2x.png); } } .jp-carousel-wrap { font-family: "Helvetica Neue", sans-serif !important; } .jp-carousel-info { position: absolute; bottom: 0; text-align: left !important; -webkit-font-smoothing: subpixel-antialiased !important; } .jp-carousel-info ::selection { background: #68c9e8; /* Safari */ color: #fff; } .jp-carousel-info ::-moz-selection { background: #68c9e8; /* Firefox */ color: #fff; } .jp-carousel-photo-info { position: relative; -webkit-transition: 400ms ease-out; -moz-transition: 400ms ease-out; -o-transition: 400ms ease-out; transition: 400ms ease-out; left: 25%; width: 50%; } .jp-carousel-info h2 { background: none !important; border: none !important; color: #999; display: block !important; font: normal 13px/1.25em "Helvetica Neue", sans-serif !important; letter-spacing: 0 !important; margin: 7px 0 0 0 !important; padding: 10px 0 0 !important; overflow: hidden; text-align: left; text-shadow: none !important; text-transform: none !important; -webkit-font-smoothing: subpixel-antialiased; } .jp-carousel-next-button, .jp-carousel-previous-button { text-indent: -9999px; overflow: hidden; cursor: pointer; } .jp-carousel-next-button span, .jp-carousel-previous-button span { position: absolute; top: 0; bottom: 0; width: 82px; zoom: 1; filter: alpha(opacity=20); opacity: 0.2; -webkit-transition: 500ms opacity ease-out; -moz-transition: 500ms opacity ease-out; -o-transition: 500ms opacity ease-out; transition: 500ms opacity ease-out; } .jp-carousel-next-button:hover span, .jp-carousel-previous-button:hover span { filter: alpha(opacity=60); opacity: 0.6; } .jp-carousel-next-button span { background-position: -110px center; right: 0; } .jp-carousel-previous-button span { background-position: -10px center; left:0; } .jp-carousel-buttons { margin:-18px -20px 15px; padding:8px 10px; border-bottom:1px solid #222; background: #222; text-align: center; } div.jp-carousel-buttons a { border: none !important; color: #999; font: normal 11px/1.2em "Helvetica Neue", sans-serif !important; letter-spacing: 0 !important; padding: 5px 2px 5px 0; text-decoration: none !important; text-shadow: none !important; vertical-align: middle; -webkit-font-smoothing: subpixel-antialiased; } div.jp-carousel-buttons a:hover { color: #68c9e8; border: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important; } .jp-carousel-slide, .jp-carousel-slide img, .jp-carousel-next-button, .jp-carousel-previous-button { -webkit-transform:translate3d(0, 0, 0); -moz-transform:translate3d(0, 0, 0); -o-transform:translate3d(0, 0, 0); -ms-transform:translate3d(0, 0, 0); } .jp-carousel-slide { position:absolute; width:0; bottom:0; background-color:#000; border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px; -ms-border-radius:2px; -o-border-radius:2px; -webkit-transition: 400ms ease-out; -moz-transition: 400ms ease-out; -o-transition: 400ms ease-out; transition: 400ms ease-out; } .jp-carousel-slide img { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; background: none !important; border: none !important; padding: 0 !important; -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.1); -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.1); box-shadow: 0 2px 8px rgba(0,0,0,0.1); zoom: 1; filter: alpha(opacity=25); opacity: 0.25; -webkit-transition: opacity 400ms linear; -moz-transition: opacity 400ms linear; -o-transition: opacity 400ms linear; transition: opacity 400ms linear; } .jp-carousel-slide.selected img { filter: alpha(opacity=100); opacity: 1; } .jp-carousel-close-hint { color: #999; cursor: default; letter-spacing: 0 !important; padding:0.35em 0 0; position: absolute; text-align: left; width: 90%; -webkit-transition: color 200ms linear; -moz-transition: color 200ms linear; -o-transition: color 200ms linear; transition: color 200ms linear; } .jp-carousel-close-hint span { cursor: pointer; background-color: black; background-color: rgba(0,0,0,0.8); display: block; height: 22px; font: 400 24px/1 "Helvetica Neue", sans-serif !important; line-height: 22px; margin: 0 0 0 0.4em; text-align: center; vertical-align: middle; width: 22px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -webkit-transition: border-color 200ms linear; -moz-transition: border-color 200ms linear; -o-transition: border-color 200ms linear; transition: border-color 200ms linear; } .jp-carousel-close-hint:hover { cursor: default; color: #fff; } .jp-carousel-close-hint:hover span { border-color: #fff; } div.jp-carousel-buttons a.jp-carousel-like, div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink, a.jp-carousel-image-download { background: url(../images/carousel-sprite.png?4) no-repeat; background-size: 16px 160px; } div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink { margin:0 14px 0 0 !important; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged, div.jp-carousel-buttons a.jp-carousel-like.liked { background-color: #303030; padding-right: 8px !important; border-radius: 2px; border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px; -ms-border-radius:2px; -o-border-radius:2px; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged { margin:0 2px 0 -12px !important; } div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover { background-position: 6px -36px; padding-left: 26px !important; color: #999; } div.jp-carousel-buttons a.jp-carousel-commentlink { background-position: 0px -116px; padding-left: 19px !important; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover { cursor: default; } div.jp-carousel-buttons a.jp-carousel-reblog:hover { background-position: 6px -56px; color: #68c9e8; } div.jp-carousel-buttons a.jp-carousel-like { background-position: 5px 5px; padding-left: 24px !important; } div.jp-carousel-buttons a.jp-carousel-like:hover { background-position: 5px -15px; } @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { div.jp-carousel-buttons a.jp-carousel-like, div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink, a.jp-carousel-image-download { background-image: url(../images/carousel-sprite-2x.png?4); } } /* reblog */ div#carousel-reblog-box { background: #222; background: -moz-linear-gradient(bottom, #222, #333); background: -webkit-gradient(linear, left bottom, left top, from(#222), to(#333)); padding: 3px 0 0; display: none; margin: 5px auto 0; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.9); -moz-box-shadow: 0 0 20px rgba(0,0,0,0.9); box-shadow: 0 0 20px rgba(0,0,0,0.9); height: 74px; width: 565px; } #carousel-reblog-box textarea { background: #999; font: 13px/1.4 "Helvetica Neue", sans-serif !important; color: #444; padding: 3px 6px; width: 370px; height: 48px; float: left; margin: 6px 9px 0 9px; border: 1px solid #666; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; } #carousel-reblog-box textarea:focus { background: #ccc; color: #222; } #carousel-reblog-box label { color: #aaa; font-size: 11px; padding-right: 2px; padding-left: 2px; display: inline; font-weight: normal; } #carousel-reblog-box select { width: 110px; padding: 0; font-size: 12px; font-family: "Helvetica Neue", sans-serif !important; background: #333; color: #eee; border: 1px solid #444; margin-top:5px; } #carousel-reblog-box .submit, #wrapper #carousel-reblog-box p.response { float: left; width: 154px; padding-top: 0; padding-left: 1px; overflow: hidden; height: 34px; margin:3px 0 0 2px !important; } #wrapper #carousel-reblog-box p.response { font-size: 13px; clear: none; padding-left: 2px; height: 34px; color: #aaa; } #carousel-reblog-box input#carousel-reblog-submit, #jp-carousel-comment-form-button-submit { font: 13px/24px "Helvetica Neue", sans-serif !important; margin-top: 8px; padding: 0 10px !important; border-radius: 1em; height: 24px; color: #333; cursor:pointer; font-weight: normal; background: #aaa; background: -moz-linear-gradient(bottom, #aaa, #ccc); background: -webkit-gradient(linear, left bottom, left top, from(#aaa), to(#ccc)); border: 1px solid #444; } #carousel-reblog-box input#carousel-reblog-submit:hover, #jp-carousel-comment-form-button-submit:hover { background: #ccc; background: -moz-linear-gradient(bottom, #ccc, #eee); background: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#eee)); } #carousel-reblog-box .canceltext { color: #aaa; font-size: 11px; line-height: 24px; } #carousel-reblog-box .canceltext a { color: #fff; } /* reblog end */ /** Title and Desc Start **/ .jp-carousel-titleanddesc { border-top: 1px solid #222; color: #999; font-size: 15px; padding-top: 24px; margin-bottom: 20px; font-weight:400; } .jp-carousel-titleanddesc-title { font: 300 1.5em/1.1 "Helvetica Neue", sans-serif !important; text-transform: none !important; /* prevents uppercase from leaking through */ color: #fff; margin: 0 0 15px; padding:0; } .jp-carousel-titleanddesc-desc p { color: #999; line-height:1.4; margin-bottom: 0.75em; } .jp-carousel-titleanddesc p a, .jp-carousel-comments p a, .jp-carousel-info h2 a { color: #fff !important; border: none !important; text-decoration: underline !important; font-weight: normal !important; font-style: normal !important; } .jp-carousel-titleanddesc p strong, .jp-carousel-titleanddesc p b { font-weight: bold; color: #999; } .jp-carousel-titleanddesc p em, .jp-carousel-titleanddesc p i { font-style: italic; color: #999; } .jp-carousel-titleanddesc p a:hover, .jp-carousel-comments p a:hover, .jp-carousel-info h2 a:hover { color: #68c9e8 !important; } .jp-carousel-titleanddesc p:empty { display: none; } .jp-carousel-photo-info h1:before, .jp-carousel-photo-info h1:after, .jp-carousel-left-column-wrapper h1:before, .jp-carousel-left-column-wrapper h1:after { content:none !important; } /** Title and Desc End **/ /** Meta Box Start **/ .jp-carousel-image-meta { background: #111; border: 1px solid #222; color: #fff; font-size: 13px; font: 12px/1.4 "Helvetica Neue", sans-serif !important; overflow: hidden; padding: 18px 20px; width: 209px !important; } .jp-carousel-image-meta li, .jp-carousel-image-meta h5 { font-family: "Helvetica Neue", sans-serif !important; position: inherit !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important; background: none !important; border: none !important; font-weight: 400 !important; line-height: 1.3em !important; } .jp-carousel-image-meta ul { margin: 0 !important; padding: 0 !important; list-style: none !important; } .jp-carousel-image-meta li { width: 48% !important; float: left !important; margin: 0 2% 15px 0 !important; color: #fff !important; font-size:13px !important; } .jp-carousel-image-meta h5 { color: #999 !important; text-transform: uppercase !important; font-size:10px !important; margin:0 0 2px !important; letter-spacing: 0.1em !important; } a.jp-carousel-image-download { padding-left: 23px; display: inline-block; clear: both; color: #999; line-height: 1; font-weight: 400; font-size: 13px; text-decoration: none; background-position: 0 -82px; } a.jp-carousel-image-download span.photo-size { font-size: 11px; border-radius: 1em; margin-left: 2px; display: inline-block; } a.jp-carousel-image-download span.photo-size-times { padding: 0 1px 0 2px; } a.jp-carousel-image-download:hover { background-position: 0 -102px; color: #68c9e8; border: none !important; } /** Meta Box End **/ /** GPS Map Start **/ .jp-carousel-image-map { position: relative; margin: -20px -20px 20px; border-bottom: 1px solid rgba( 255, 255, 255, 0.17 ); height: 154px; } .jp-carousel-image-map img.gmap-main { -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; border-right: 1px solid rgba( 255, 255, 255, 0.17 ); } .jp-carousel-image-map div.gmap-topright { width: 94px; height: 154px; position: absolute; top: 0; right: 0; } .jp-carousel-image-map div.imgclip { overflow: hidden; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; } .jp-carousel-image-map div.gmap-topright img { margin-left: -40px; } .jp-carousel-image-map img.gmap-bottomright { position: absolute; top: 96px; right: 0; } /** Comments Start **/ .jp-carousel-comments { font: 15px/1.7 "Helvetica Neue", sans-serif !important; font-weight: 400; background:none transparent; } .jp-carousel-comments p a:hover, .jp-carousel-comments p a:focus, .jp-carousel-comments p a:active { color: #68c9e8 !important; } .jp-carousel-comment { background:none transparent; color: #999; margin-bottom: 20px; clear:left; overflow: auto; width: 100% } .jp-carousel-comment p { color: #999 !important; } .jp-carousel-comment .comment-author { font-size: 13px; font-weight:400; padding:0; width:auto; display: inline; float:none; border:none; margin:0; } .jp-carousel-comment .comment-author a { color: #fff; } .jp-carousel-comment .comment-gravatar { float:left; } .jp-carousel-comment .comment-content { border:none; margin-left:85px; padding: 0; } .jp-carousel-comment .avatar { margin:0 20px 0 0; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; border: none !important; padding: 0 !important; background-color: transparent !important; } .jp-carousel-comment .comment-date { color:#999; margin-top: 4px; font-size:11px; display: inline; float: right; /*clear: right;*/ } #jp-carousel-comment-form { margin:0 0 10px !important; float: left; width: 100%; } textarea#jp-carousel-comment-form-comment-field { background: rgba(34,34,34,0.9); border: 1px solid #3a3a3a; color: #aaa; font: 15px/1.4 "Helvetica Neue", sans-serif !important; width: 100%; padding: 10px 10px 5px; margin: 0; float: none; height: 147px; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; overflow: hidden; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder { color: #555; } textarea#jp-carousel-comment-form-comment-field:focus { background: #ccc; color: #222; } textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder { color: #aaa; } #jp-carousel-comment-form-spinner { color: #fff; margin:22px 0 0 10px; display: block; width: 20px; height: 20px; float: left; } #jp-carousel-comment-form-submit-and-info-wrapper { display: none; /*margin-bottom:15px;*/ overflow: hidden; width: 100% } #jp-carousel-comment-form-commenting-as { } #jp-carousel-comment-form-commenting-as input { background: rgba(34,34,34,0.9); border: 1px solid #3a3a3a; color: #aaa; font: 13px/1.4 "Helvetica Neue", sans-serif !important; padding: 3px 6px; float: left; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; width:285px; } #jp-carousel-comment-form-commenting-as input:focus { background: #ccc; color: #222; } #jp-carousel-comment-form-commenting-as p { font: 400 13px/1.7 "Helvetica Neue", sans-serif !important; margin:22px 0 0; float: left; } #jp-carousel-comment-form-commenting-as fieldset { float:left; border:none; margin:20px 0 0 0; padding:0; } #jp-carousel-comment-form-commenting-as fieldset { clear: both; } #jp-carousel-comment-form-commenting-as label { font: 400 13px/1.7 "Helvetica Neue", sans-serif !important; margin:0 20px 3px 0; float:left; width:100px; } #jp-carousel-comment-form-button-submit { margin-top: 20px; float:right; } #js-carousel-comment-form-container { margin-bottom:15px; overflow: auto; width: 100%; } #jp-carousel-comment-form-container { margin-bottom:15px; overflow: auto; width: 100%; } #jp-carousel-comment-post-results { display: none; overflow:auto; width:100%; } #jp-carousel-comment-post-results span { display:block; text-align: center; margin-top:20px; width: 100%; overflow: auto; padding: 1em 0; box-sizing: border-box; background: rgba( 0, 0, 0, 0.7 ); border-radius: 2px; font: 13px/1.4 "Helvetica Neue", sans-serif !important; border: 1px solid rgba( 255, 255, 255, 0.17 ); -webkit-box-shadow: inset 0px 0px 5px 5px rgba(0, 0, 0, 1); box-shadow: inset 0px 0px 5px 5px rgba(0, 0, 0, 1); } .jp-carousel-comment-post-error { color:#DF4926; } .jp-carousel-comment-post-success { /*color:#21759B;*/ } #jp-carousel-comments-closed { display: none; color: #999; } #jp-carousel-comments-loading { font: 444 15px/1.7 "Helvetica Neue", sans-serif !important; display: none; color: #999; text-align: left; margin-bottom: 20px; } /* ----- Light variant ----- */ .jp-carousel-light .jp-carousel-overlay { background: #fff; } .jp-carousel-light .jp-carousel-next-button:hover span, .jp-carousel-light .jp-carousel-previous-button:hover span { opacity: 0.8; } .jp-carousel-light .jp-carousel-close-hint:hover, .jp-carousel-light .jp-carousel-titleanddesc div { color: #000 !important; } .jp-carousel-light .jp-carousel-comments p a, .jp-carousel-light .jp-carousel-comment .comment-author a, .jp-carousel-light .jp-carousel-titleanddesc p a, .jp-carousel-light .jp-carousel-titleanddesc p a, .jp-carousel-light .jp-carousel-comments p a, .jp-carousel-light .jp-carousel-info h2 a { color: #1e8cbe !important; } .jp-carousel-light .jp-carousel-comments p a:hover, .jp-carousel-light .jp-carousel-comment .comment-author a:hover, .jp-carousel-light .jp-carousel-titleanddesc p a:hover, .jp-carousel-light .jp-carousel-titleanddesc p a:hover, .jp-carousel-light .jp-carousel-comments p a:hover, .jp-carousel-light .jp-carousel-info h2 a:hover { color: #f1831e !important; } .jp-carousel-light .jp-carousel-info h2, .jp-carousel-light .jp-carousel-titleanddesc, .jp-carousel-light .jp-carousel-titleanddesc p, .jp-carousel-light .jp-carousel-comment, .jp-carousel-light .jp-carousel-comment p, .jp-carousel-light div.jp-carousel-buttons a, .jp-carousel-light .jp-carousel-titleanddesc p strong, .jp-carousel-light .jp-carousel-titleanddesc p b, .jp-carousel-light .jp-carousel-titleanddesc p em, .jp-carousel-light .jp-carousel-titleanddesc p i { color: #666; } .jp-carousel-light .jp-carousel-buttons { border-bottom-color: #f0f0f0; background: #f5f5f5; } .jp-carousel-light div.jp-carousel-buttons a:hover { text-decoration: none; color: #f1831e; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover { background-position: 4px -56px; padding-left: 24px !important; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked { background-color: #2ea2cc; color: #fff; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink { background-position: 0px -136px; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover { background-position: 5px -15px; padding-left: 23px !important; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged { background-position: 5px -36px; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked { background-position: 5px 5px; } .jp-carousel-light div#carousel-reblog-box { background: #eee; background: -moz-linear-gradient(bottom, #ececec, #f7f7f7); background: -webkit-gradient(linear, left bottom, left top, from(#ececec), to(#f7f7f7)); -webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.1); -moz-box-shadow: 0 2px 10px rgba(0,0,0,0.1); box-shadow: 0 2px 10px rgba(0,0,0,0.1); border:1px solid #ddd; } .jp-carousel-light #carousel-reblog-box textarea { border: 1px inset #ccc; color: #666; border: 1px solid #cfcfcf; background: #fff; } .jp-carousel-light #carousel-reblog-box .canceltext { color: #888; } .jp-carousel-light #carousel-reblog-box .canceltext a { color: #666; } .jp-carousel-light #carousel-reblog-box select { background: #eee; color: #333; border: 1px solid #aaa; } .jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit, #jp-carousel-comment-form-button-submit { color: #333; background: #fff; background: -moz-linear-gradient(bottom, #ddd, #fff); background: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); border: 1px solid #aaa; } .jp-carousel-light .jp-carousel-image-meta { background: #fafafa; border: 1px solid #eee; border-top-color: #f5f5f5; border-left-color: #f5f5f5; color: #333; } .jp-carousel-light .jp-carousel-image-meta li { color: #000 !important; } .jp-carousel-light .jp-carousel-close-hint { color: #ccc; } .jp-carousel-light .jp-carousel-close-hint span { background-color: white; border-color: #ccc; } .jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder { color: #aaa; } .jp-carousel-light #jp-carousel-comment-form-comment-field:focus { color: #333; } .jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder { color: #ddd; } .jp-carousel-light a.jp-carousel-image-download { background-position: 0 -102px; } .jp-carousel-light a.jp-carousel-image-download:hover { background-position: 0 -102px; color: #f1831e; } .jp-carousel-light textarea#jp-carousel-comment-form-comment-field { background: #fbfbfb; color: #333; border: 1px solid #dfdfdf; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); } .jp-carousel-light #jp-carousel-comment-form-commenting-as input { background: #fbfbfb; border: 1px solid #dfdfdf; color: #333; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); } .jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus { background: #fbfbfb; color: #333; } .jp-carousel-light #jp-carousel-comment-post-results span { background: #f7f7f7; border:1px solid #dfdfdf; -webkit-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.05); box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.05); } .jp-carousel-light .jp-carousel-slide { background-color:#fff; } .jp-carousel-light .jp-carousel-titleanddesc { border-top: 1px solid #eee; } .jp-carousel-light .jp-carousel-fadeaway { background: -moz-linear-gradient(bottom, rgba(255,255,255,0.75), rgba(255,255,255,0)); background: -webkit-gradient(linear, left bottom, left top, from(rgba(255,255,255,0.75)), to(rgba(255,255,255,0))); } /* Small screens */ @media only screen and (max-width: 760px) { .jp-carousel-info { margin: 0 10px !important; } .jp-carousel-next-button, .jp-carousel-previous-button { display: none !important; } .jp-carousel-buttons { display: none !important; } .jp-carousel-image-meta { float: none !important; width: 100% !important; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing: border-box; } .jp-carousel-close-hint { font-weight: 800 !important; font-size: 26px !important; position: fixed !important; top: -10px; } .jp-carousel-slide img { filter: alpha(opacity=100); opacity: 1; } .jp-carousel-wrap { background-color: #000; } .jp-carousel-fadeaway { display: none; } #jp-carousel-comment-form-container { display: none !important; } .jp-carousel-titleanddesc { padding-top: 0 !important; border: none !important; } .jp-carousel-titleanddesc-title { font-size: 1em !important; } .jp-carousel-left-column-wrapper { padding: 0; } } PKZJ`$plugins/catch-gallery/css/column.cssnu[/* For Columns */ .gallery-item { display: inline-block; max-width: 100%; padding: 0 1.1400652% 2.2801304%; text-align: center; vertical-align: top; width: 100%; } .gallery-columns-1 .gallery-item, .gallery-columns-2 .gallery-item, .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 100%; } @media screen and (min-width: 568px) { .gallery-columns-2 .gallery-item, .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 50%; } .gallery-columns-2 .gallery-item:nth-child(2n+1), .gallery-columns-3 .gallery-item:nth-child(2n+1), .gallery-columns-4 .gallery-item:nth-child(2n+1), .gallery-columns-5 .gallery-item:nth-child(2n+1), .gallery-columns-6 .gallery-item:nth-child(2n+1), .gallery-columns-7 .gallery-item:nth-child(2n+1), .gallery-columns-8 .gallery-item:nth-child(2n+1), .gallery-columns-9 .gallery-item:nth-child(2n+1) { clear: both; } } @media screen and (min-width: 768px) { .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 33.33%; } .gallery-columns-3 .gallery-item:nth-child(2n+1), .gallery-columns-4 .gallery-item:nth-child(2n+1), .gallery-columns-5 .gallery-item:nth-child(2n+1), .gallery-columns-6 .gallery-item:nth-child(2n+1), .gallery-columns-7 .gallery-item:nth-child(2n+1), .gallery-columns-8 .gallery-item:nth-child(2n+1), .gallery-columns-9 .gallery-item:nth-child(2n+1) { clear: none; } .gallery-columns-3 .gallery-item:nth-child(3n+1), .gallery-columns-4 .gallery-item:nth-child(3n+1), .gallery-columns-5 .gallery-item:nth-child(3n+1), .gallery-columns-6 .gallery-item:nth-child(3n+1), .gallery-columns-7 .gallery-item:nth-child(3n+1), .gallery-columns-8 .gallery-item:nth-child(3n+1), .gallery-columns-9 .gallery-item:nth-child(3n+1) { clear: both; } } @media screen and (min-width: 1024px) { .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 25%; } .gallery-columns-4 .gallery-item:nth-child(3n+1), .gallery-columns-5 .gallery-item:nth-child(3n+1), .gallery-columns-6 .gallery-item:nth-child(3n+1), .gallery-columns-7 .gallery-item:nth-child(3n+1), .gallery-columns-8 .gallery-item:nth-child(3n+1), .gallery-columns-9 .gallery-item:nth-child(3n+1) { clear: none; } .gallery-columns-4 .gallery-item:nth-child(4n+1), .gallery-columns-5 .gallery-item:nth-child(4n+1), .gallery-columns-6 .gallery-item:nth-child(4n+1), .gallery-columns-7 .gallery-item:nth-child(4n+1), .gallery-columns-8 .gallery-item:nth-child(4n+1), .gallery-columns-9 .gallery-item:nth-child(4n+1) { clear: both; } } @media screen and (min-width: 1200px) { .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 20%; } .gallery-columns-5 .gallery-item:nth-child(4n+1), .gallery-columns-6 .gallery-item:nth-child(4n+1), .gallery-columns-7 .gallery-item:nth-child(4n+1), .gallery-columns-8 .gallery-item:nth-child(4n+1), .gallery-columns-9 .gallery-item:nth-child(4n+1) { clear: none; } .gallery-columns-5 .gallery-item:nth-child(5n+1), .gallery-columns-6 .gallery-item:nth-child(5n+1), .gallery-columns-7 .gallery-item:nth-child(5n+1), .gallery-columns-8 .gallery-item:nth-child(5n+1), .gallery-columns-9 .gallery-item:nth-child(5n+1) { clear: both; } } @media screen and (min-width: 1366px) { .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 16.66%; } .gallery-columns-6 .gallery-item:nth-child(5n+1), .gallery-columns-7 .gallery-item:nth-child(5n+1), .gallery-columns-8 .gallery-item:nth-child(5n+1), .gallery-columns-9 .gallery-item:nth-child(5n+1) { clear: none; } .gallery-columns-6 .gallery-item:nth-child(6n+1), .gallery-columns-7 .gallery-item:nth-child(6n+1), .gallery-columns-8 .gallery-item:nth-child(6n+1), .gallery-columns-9 .gallery-item:nth-child(6n+1) { clear: none; } } @media screen and (min-width: 1600px) { .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item { max-width: 14.28%; } .gallery-columns-7 .gallery-item:nth-child(6n+1), .gallery-columns-8 .gallery-item:nth-child(6n+1), .gallery-columns-9 .gallery-item:nth-child(6n+1) { clear: none; } .gallery-columns-7 .gallery-item:nth-child(7n+1), .gallery-columns-8 .gallery-item:nth-child(7n+1), .gallery-columns-9 .gallery-item:nth-child(7n+1) { clear: both; } } @media screen and (min-width: 1920px) { .gallery-columns-8 .gallery-item { max-width: 12.5%; } .gallery-columns-9 .gallery-item { max-width: 11.11%; } .gallery-columns-8 .gallery-item:nth-child(7n+1), .gallery-columns-9 .gallery-item:nth-child(7n+1) { clear: none; } .gallery-columns-8 .gallery-item:nth-child(8n+1), .gallery-columns-9 .gallery-item:nth-child(9n+1) { clear: both; } } PKZǘcc2plugins/catch-gallery/css/jetpack-carousel-rtl.cssnu[/* This file was automatically generated on Apr 17 2013 14:28:54 */ * { line-height:inherit; /* prevent declarations of line-height in the universal selector */ } .jp-carousel-overlay { background: #000; } div.jp-carousel-fadeaway { background: -moz-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); background: -webkit-gradient(linear, right bottom, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); position: fixed; bottom: 0; z-index: 2147483647; width: 100%; height: 15px; } .jp-carousel-next-button span, .jp-carousel-previous-button span { background: url(../images/arrows.png) no-repeat center center; background-size: 200px 126px; } @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { .jp-carousel-next-button span, .jp-carousel-previous-button span { background-image: url(../images/arrows-2x.png); } } .jp-carousel-wrap { font-family: "Helvetica Neue", sans-serif !important; } .jp-carousel-info { position: absolute; bottom: 0; text-align: right !important; -webkit-font-smoothing: subpixel-antialiased !important; } .jp-carousel-info ::selection { background: #68c9e8; /* Safari */ color: #fff; } .jp-carousel-info ::-moz-selection { background: #68c9e8; /* Firefox */ color: #fff; } .jp-carousel-photo-info { position: relative; -webkit-transition: 400ms ease-out; -moz-transition: 400ms ease-out; -o-transition: 400ms ease-out; transition: 400ms ease-out; right: 25%; width: 50%; } .jp-carousel-info h2 { background: none !important; border: none !important; color: #999; display: block !important; font: normal 13px/1.25em "Helvetica Neue", sans-serif !important; letter-spacing: 0 !important; margin: 7px 0 0 0 !important; padding: 10px 0 0 !important; overflow: hidden; text-align: right; text-shadow: none !important; text-transform: none !important; -webkit-font-smoothing: subpixel-antialiased; } .jp-carousel-next-button, .jp-carousel-previous-button { text-indent: -9999px; overflow: hidden; cursor: pointer; } .jp-carousel-next-button span, .jp-carousel-previous-button span { position: absolute; top: 0; bottom: 0; width: 82px; zoom: 1; filter: alpha(opacity=20); opacity: 0.2; -webkit-transition: 500ms opacity ease-out; -moz-transition: 500ms opacity ease-out; -o-transition: 500ms opacity ease-out; transition: 500ms opacity ease-out; } .jp-carousel-next-button:hover span, .jp-carousel-previous-button:hover span { filter: alpha(opacity=60); opacity: 0.6; } .jp-carousel-next-button span { background-position: -110px center; left: 0; } .jp-carousel-previous-button span { background-position: -10px center; right:0; } .jp-carousel-buttons { margin:-18px -20px 15px; padding:8px 10px; border-bottom:1px solid #222; background: #222; text-align: center; } div.jp-carousel-buttons a { border: none !important; color: #999; font: normal 11px/1.2em "Helvetica Neue", sans-serif !important; letter-spacing: 0 !important; padding: 5px 0 5px 2px; text-decoration: none !important; text-shadow: none !important; vertical-align: middle; -webkit-font-smoothing: subpixel-antialiased; } div.jp-carousel-buttons a:hover { color: #68c9e8; border: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important; } .jp-carousel-slide, .jp-carousel-slide img, .jp-carousel-next-button, .jp-carousel-previous-button { -webkit-transform:translate3d(0, 0, 0); -moz-transform:translate3d(0, 0, 0); -o-transform:translate3d(0, 0, 0); -ms-transform:translate3d(0, 0, 0); } .jp-carousel-slide { position:absolute; width:0; bottom:0; background-color:#000; border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px; -ms-border-radius:2px; -o-border-radius:2px; -webkit-transition: 400ms ease-out; -moz-transition: 400ms ease-out; -o-transition: 400ms ease-out; transition: 400ms ease-out; } .jp-carousel-slide img { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; background: none !important; border: none !important; padding: 0 !important; -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.1); -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.1); box-shadow: 0 2px 8px rgba(0,0,0,0.1); zoom: 1; filter: alpha(opacity=25); opacity: 0.25; -webkit-transition: opacity 400ms linear; -moz-transition: opacity 400ms linear; -o-transition: opacity 400ms linear; transition: opacity 400ms linear; } .jp-carousel-slide.selected img { filter: alpha(opacity=100); opacity: 1; } .jp-carousel-close-hint { color: #999; cursor: default; letter-spacing: 0 !important; padding:0.35em 0 0; position: absolute; text-align: right; width: 90%; -webkit-transition: color 200ms linear; -moz-transition: color 200ms linear; -o-transition: color 200ms linear; transition: color 200ms linear; } .jp-carousel-close-hint span { cursor: pointer; background-color: black; background-color: rgba(0,0,0,0.8); display: block; height: 22px; font: 400 24px/1 "Helvetica Neue", sans-serif !important; line-height: 22px; margin: 0 0.4em 0 0; text-align: center; vertical-align: middle; width: 22px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -webkit-transition: border-color 200ms linear; -moz-transition: border-color 200ms linear; -o-transition: border-color 200ms linear; transition: border-color 200ms linear; } .jp-carousel-close-hint:hover { cursor: default; color: #fff; } .jp-carousel-close-hint:hover span { border-color: #fff; } div.jp-carousel-buttons a.jp-carousel-like, div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink, a.jp-carousel-image-download { background: url(../images/carousel-sprite.png?4) no-repeat; background-size: 16px 160px; } div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink { margin:0 0 0 14px !important; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged, div.jp-carousel-buttons a.jp-carousel-like.liked { background-color: #303030; padding-left: 8px !important; border-radius: 2px; border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px; -ms-border-radius:2px; -o-border-radius:2px; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged { margin:0 -12px 0 2px !important; } div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover { background-position: 6px -36px; padding-right: 26px !important; color: #999; } div.jp-carousel-buttons a.jp-carousel-commentlink { background-position: 0px -116px; padding-right: 19px !important; } div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover { cursor: default; } div.jp-carousel-buttons a.jp-carousel-reblog:hover { background-position: 6px -56px; color: #68c9e8; } div.jp-carousel-buttons a.jp-carousel-like { background-position: 5px 5px; padding-right: 24px !important; } div.jp-carousel-buttons a.jp-carousel-like:hover { background-position: 5px -15px; } @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { div.jp-carousel-buttons a.jp-carousel-like, div.jp-carousel-buttons a.jp-carousel-reblog, div.jp-carousel-buttons a.jp-carousel-commentlink, a.jp-carousel-image-download { background-image: url(../images/carousel-sprite-2x.png?4); } } /* reblog */ div#carousel-reblog-box { background: #222; background: -moz-linear-gradient(bottom, #222, #333); background: -webkit-gradient(linear, right bottom, right top, from(#222), to(#333)); padding: 3px 0 0; display: none; margin: 5px auto 0; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.9); -moz-box-shadow: 0 0 20px rgba(0,0,0,0.9); box-shadow: 0 0 20px rgba(0,0,0,0.9); height: 74px; width: 565px; } #carousel-reblog-box textarea { background: #999; font: 13px/1.4 "Helvetica Neue", sans-serif !important; color: #444; padding: 3px 6px; width: 370px; height: 48px; float: right; margin: 6px 9px 0 9px; border: 1px solid #666; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; } #carousel-reblog-box textarea:focus { background: #ccc; color: #222; } #carousel-reblog-box label { color: #aaa; font-size: 11px; padding-left: 2px; padding-right: 2px; display: inline; font-weight: normal; } #carousel-reblog-box select { width: 110px; padding: 0; font-size: 12px; font-family: "Helvetica Neue", sans-serif !important; background: #333; color: #eee; border: 1px solid #444; margin-top:5px; } #carousel-reblog-box .submit, #wrapper #carousel-reblog-box p.response { float: right; width: 154px; padding-top: 0; padding-right: 1px; overflow: hidden; height: 34px; margin:3px 2px 0 0 !important; } #wrapper #carousel-reblog-box p.response { font-size: 13px; clear: none; padding-right: 2px; height: 34px; color: #aaa; } #carousel-reblog-box input#carousel-reblog-submit, #jp-carousel-comment-form-button-submit { font: 13px/24px "Helvetica Neue", sans-serif !important; margin-top: 8px; padding: 0 10px !important; border-radius: 1em; height: 24px; color: #333; cursor:pointer; font-weight: normal; background: #aaa; background: -moz-linear-gradient(bottom, #aaa, #ccc); background: -webkit-gradient(linear, right bottom, right top, from(#aaa), to(#ccc)); border: 1px solid #444; } #carousel-reblog-box input#carousel-reblog-submit:hover, #jp-carousel-comment-form-button-submit:hover { background: #ccc; background: -moz-linear-gradient(bottom, #ccc, #eee); background: -webkit-gradient(linear, right bottom, right top, from(#ccc), to(#eee)); } #carousel-reblog-box .canceltext { color: #aaa; font-size: 11px; line-height: 24px; } #carousel-reblog-box .canceltext a { color: #fff; } /* reblog end */ /** Title and Desc Start **/ .jp-carousel-titleanddesc { border-top: 1px solid #222; color: #999; font-size: 15px; padding-top: 24px; margin-bottom: 20px; font-weight:400; } .jp-carousel-titleanddesc-title { font: 300 1.5em/1.1 "Helvetica Neue", sans-serif !important; text-transform: none !important; /* prevents uppercase from leaking through */ color: #fff; margin: 0 0 15px; padding:0; } .jp-carousel-titleanddesc-desc p { color: #999; line-height:1.4; margin-bottom: 0.75em; } .jp-carousel-titleanddesc p a, .jp-carousel-comments p a, .jp-carousel-info h2 a { color: #fff !important; border: none !important; text-decoration: underline !important; font-weight: normal !important; font-style: normal !important; } .jp-carousel-titleanddesc p strong, .jp-carousel-titleanddesc p b { font-weight: bold; color: #999; } .jp-carousel-titleanddesc p em, .jp-carousel-titleanddesc p i { font-style: italic; color: #999; } .jp-carousel-titleanddesc p a:hover, .jp-carousel-comments p a:hover, .jp-carousel-info h2 a:hover { color: #68c9e8 !important; } .jp-carousel-titleanddesc p:empty { display: none; } .jp-carousel-photo-info h1:before, .jp-carousel-photo-info h1:after, .jp-carousel-left-column-wrapper h1:before, .jp-carousel-left-column-wrapper h1:after { content:none !important; } /** Title and Desc End **/ /** Meta Box Start **/ .jp-carousel-image-meta { background: #111; border: 1px solid #222; color: #fff; font-size: 13px; font: 12px/1.4 "Helvetica Neue", sans-serif !important; overflow: hidden; padding: 18px 20px; width: 209px !important; } .jp-carousel-image-meta li, .jp-carousel-image-meta h5 { font-family: "Helvetica Neue", sans-serif !important; position: inherit !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; background: none !important; border: none !important; font-weight: 400 !important; line-height: 1.3em !important; } .jp-carousel-image-meta ul { margin: 0 !important; padding: 0 !important; list-style: none !important; } .jp-carousel-image-meta li { width: 48% !important; float: right !important; margin: 0 0 15px 2% !important; color: #fff !important; font-size:13px !important; } .jp-carousel-image-meta h5 { color: #999 !important; text-transform: uppercase !important; font-size:10px !important; margin:0 0 2px !important; letter-spacing: 0.1em !important; } a.jp-carousel-image-download { padding-right: 23px; display: inline-block; clear: both; color: #999; line-height: 1; font-weight: 400; font-size: 13px; text-decoration: none; background-position: 0 -82px; } a.jp-carousel-image-download span.photo-size { font-size: 11px; border-radius: 1em; margin-right: 2px; display: inline-block; } a.jp-carousel-image-download span.photo-size-times { padding: 0 2px 0 1px; } a.jp-carousel-image-download:hover { background-position: 0 -102px; color: #68c9e8; border: none !important; } /** Meta Box End **/ /** GPS Map Start **/ .jp-carousel-image-map { position: relative; margin: -20px -20px 20px; border-bottom: 1px solid rgba( 255, 255, 255, 0.17 ); height: 154px; } .jp-carousel-image-map img.gmap-main { -moz-border-radius-topleft: 6px; border-top-right-radius: 6px; border-left: 1px solid rgba( 255, 255, 255, 0.17 ); } .jp-carousel-image-map div.gmap-topright { width: 94px; height: 154px; position: absolute; top: 0; left: 0; } .jp-carousel-image-map div.imgclip { overflow: hidden; -moz-border-radius-topright: 6px; border-top-left-radius: 6px; } .jp-carousel-image-map div.gmap-topright img { margin-right: -40px; } .jp-carousel-image-map img.gmap-bottomright { position: absolute; top: 96px; left: 0; } /** Comments Start **/ .jp-carousel-comments { font: 15px/1.7 "Helvetica Neue", sans-serif !important; font-weight: 400; background:none transparent; } .jp-carousel-comments p a:hover, .jp-carousel-comments p a:focus, .jp-carousel-comments p a:active { color: #68c9e8 !important; } .jp-carousel-comment { background:none transparent; color: #999; margin-bottom: 20px; clear:right; overflow: auto; width: 100% } .jp-carousel-comment p { color: #999 !important; } .jp-carousel-comment .comment-author { font-size: 13px; font-weight:400; padding:0; width:auto; display: inline; float:none; border:none; margin:0; } .jp-carousel-comment .comment-author a { color: #fff; } .jp-carousel-comment .comment-gravatar { float:right; } .jp-carousel-comment .comment-content { border:none; margin-right:85px; padding: 0; } .jp-carousel-comment .avatar { margin:0 0 0 20px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; border: none !important; padding: 0 !important; background-color: transparent !important; } .jp-carousel-comment .comment-date { color:#999; margin-top: 4px; font-size:11px; display: inline; float: left; /*clear: right;*/ } #jp-carousel-comment-form { margin:0 0 10px !important; float: right; width: 100%; } textarea#jp-carousel-comment-form-comment-field { background: rgba(34,34,34,0.9); border: 1px solid #3a3a3a; color: #aaa; font: 15px/1.4 "Helvetica Neue", sans-serif !important; width: 100%; padding: 10px 10px 5px; margin: 0; float: none; height: 147px; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; overflow: hidden; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder { color: #555; } textarea#jp-carousel-comment-form-comment-field:focus { background: #ccc; color: #222; } textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder { color: #aaa; } #jp-carousel-comment-form-spinner { color: #fff; margin:22px 10px 0 0; display: block; width: 20px; height: 20px; float: right; } #jp-carousel-comment-form-submit-and-info-wrapper { display: none; /*margin-bottom:15px;*/ overflow: hidden; width: 100% } #jp-carousel-comment-form-commenting-as { } #jp-carousel-comment-form-commenting-as input { background: rgba(34,34,34,0.9); border: 1px solid #3a3a3a; color: #aaa; font: 13px/1.4 "Helvetica Neue", sans-serif !important; padding: 3px 6px; float: right; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2); -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; width:285px; } #jp-carousel-comment-form-commenting-as input:focus { background: #ccc; color: #222; } #jp-carousel-comment-form-commenting-as p { font: 400 13px/1.7 "Helvetica Neue", sans-serif !important; margin:22px 0 0; float: right; } #jp-carousel-comment-form-commenting-as fieldset { float:right; border:none; margin:20px 0 0 0; padding:0; } #jp-carousel-comment-form-commenting-as fieldset { clear: both; } #jp-carousel-comment-form-commenting-as label { font: 400 13px/1.7 "Helvetica Neue", sans-serif !important; margin:0 0 3px 20px; float:right; width:100px; } #jp-carousel-comment-form-button-submit { margin-top: 20px; float:left; } #js-carousel-comment-form-container { margin-bottom:15px; overflow: auto; width: 100%; } #jp-carousel-comment-form-container { margin-bottom:15px; overflow: auto; width: 100%; } #jp-carousel-comment-post-results { display: none; overflow:auto; width:100%; } #jp-carousel-comment-post-results span { display:block; text-align: center; margin-top:20px; width: 100%; overflow: auto; padding: 1em 0; box-sizing: border-box; background: rgba( 0, 0, 0, 0.7 ); border-radius: 2px; font: 13px/1.4 "Helvetica Neue", sans-serif !important; border: 1px solid rgba( 255, 255, 255, 0.17 ); -webkit-box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 1); box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 1); } .jp-carousel-comment-post-error { color:#DF4926; } .jp-carousel-comment-post-success { /*color:#21759B;*/ } #jp-carousel-comments-closed { display: none; color: #999; } #jp-carousel-comments-loading { font: 444 15px/1.7 "Helvetica Neue", sans-serif !important; display: none; color: #999; text-align: right; margin-bottom: 20px; } /* ----- Light variant ----- */ .jp-carousel-light .jp-carousel-overlay { background: #fff; } .jp-carousel-light .jp-carousel-next-button:hover span, .jp-carousel-light .jp-carousel-previous-button:hover span { opacity: 0.8; } .jp-carousel-light .jp-carousel-close-hint:hover, .jp-carousel-light .jp-carousel-titleanddesc div { color: #000 !important; } .jp-carousel-light .jp-carousel-comments p a, .jp-carousel-light .jp-carousel-comment .comment-author a, .jp-carousel-light .jp-carousel-titleanddesc p a, .jp-carousel-light .jp-carousel-titleanddesc p a, .jp-carousel-light .jp-carousel-comments p a, .jp-carousel-light .jp-carousel-info h2 a { color: #1e8cbe !important; } .jp-carousel-light .jp-carousel-comments p a:hover, .jp-carousel-light .jp-carousel-comment .comment-author a:hover, .jp-carousel-light .jp-carousel-titleanddesc p a:hover, .jp-carousel-light .jp-carousel-titleanddesc p a:hover, .jp-carousel-light .jp-carousel-comments p a:hover, .jp-carousel-light .jp-carousel-info h2 a:hover { color: #f1831e !important; } .jp-carousel-light .jp-carousel-info h2, .jp-carousel-light .jp-carousel-titleanddesc, .jp-carousel-light .jp-carousel-titleanddesc p, .jp-carousel-light .jp-carousel-comment, .jp-carousel-light .jp-carousel-comment p, .jp-carousel-light div.jp-carousel-buttons a, .jp-carousel-light .jp-carousel-titleanddesc p strong, .jp-carousel-light .jp-carousel-titleanddesc p b, .jp-carousel-light .jp-carousel-titleanddesc p em, .jp-carousel-light .jp-carousel-titleanddesc p i { color: #666; } .jp-carousel-light .jp-carousel-buttons { border-bottom-color: #f0f0f0; background: #f5f5f5; } .jp-carousel-light div.jp-carousel-buttons a:hover { text-decoration: none; color: #f1831e; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover { background-position: 4px -56px; padding-right: 24px !important; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked { background-color: #2ea2cc; color: #fff; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink { background-position: 0px -136px; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like, .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover { background-position: 5px -15px; padding-right: 23px !important; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged { background-position: 5px -36px; } .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked { background-position: 5px 5px; } .jp-carousel-light div#carousel-reblog-box { background: #eee; background: -moz-linear-gradient(bottom, #ececec, #f7f7f7); background: -webkit-gradient(linear, right bottom, right top, from(#ececec), to(#f7f7f7)); -webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.1); -moz-box-shadow: 0 2px 10px rgba(0,0,0,0.1); box-shadow: 0 2px 10px rgba(0,0,0,0.1); border:1px solid #ddd; } .jp-carousel-light #carousel-reblog-box textarea { border: 1px inset #ccc; color: #666; border: 1px solid #cfcfcf; background: #fff; } .jp-carousel-light #carousel-reblog-box .canceltext { color: #888; } .jp-carousel-light #carousel-reblog-box .canceltext a { color: #666; } .jp-carousel-light #carousel-reblog-box select { background: #eee; color: #333; border: 1px solid #aaa; } .jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit, #jp-carousel-comment-form-button-submit { color: #333; background: #fff; background: -moz-linear-gradient(bottom, #ddd, #fff); background: -webkit-gradient(linear, right bottom, right top, from(#ddd), to(#fff)); border: 1px solid #aaa; } .jp-carousel-light .jp-carousel-image-meta { background: #fafafa; border: 1px solid #eee; border-top-color: #f5f5f5; border-right-color: #f5f5f5; color: #333; } .jp-carousel-light .jp-carousel-image-meta li { color: #000 !important; } .jp-carousel-light .jp-carousel-close-hint { color: #ccc; } .jp-carousel-light .jp-carousel-close-hint span { background-color: white; border-color: #ccc; } .jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder { color: #aaa; } .jp-carousel-light #jp-carousel-comment-form-comment-field:focus { color: #333; } .jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder { color: #ddd; } .jp-carousel-light a.jp-carousel-image-download { background-position: 0 -102px; } .jp-carousel-light a.jp-carousel-image-download:hover { background-position: 0 -102px; color: #f1831e; } .jp-carousel-light textarea#jp-carousel-comment-form-comment-field { background: #fbfbfb; color: #333; border: 1px solid #dfdfdf; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); } .jp-carousel-light #jp-carousel-comment-form-commenting-as input { background: #fbfbfb; border: 1px solid #dfdfdf; color: #333; -webkit-box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); box-shadow: inset 2px 2px 2px rgba(0,0,0,0.1); } .jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus { background: #fbfbfb; color: #333; } .jp-carousel-light #jp-carousel-comment-post-results span { background: #f7f7f7; border:1px solid #dfdfdf; -webkit-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.05); box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.05); } .jp-carousel-light .jp-carousel-slide { background-color:#fff; } .jp-carousel-light .jp-carousel-titleanddesc { border-top: 1px solid #eee; } .jp-carousel-light .jp-carousel-fadeaway { background: -moz-linear-gradient(bottom, rgba(255,255,255,0.75), rgba(255,255,255,0)); background: -webkit-gradient(linear, right bottom, right top, from(rgba(255,255,255,0.75)), to(rgba(255,255,255,0))); } /* Small screens */ @media only screen and (max-width: 760px) { .jp-carousel-info { margin: 0 10px !important; } .jp-carousel-next-button, .jp-carousel-previous-button { display: none !important; } .jp-carousel-buttons { display: none !important; } .jp-carousel-image-meta { float: none !important; width: 100% !important; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing: border-box; } .jp-carousel-close-hint { font-weight: 800 !important; font-size: 26px !important; position: fixed !important; top: -10px; } .jp-carousel-slide img { filter: alpha(opacity=100); opacity: 1; } .jp-carousel-wrap { background-color: #000; } .jp-carousel-fadeaway { display: none; } #jp-carousel-comment-form-container { display: none !important; } .jp-carousel-titleanddesc { padding-top: 0 !important; border: none !important; } .jp-carousel-titleanddesc-title { font-size: 1em !important; } .jp-carousel-left-column-wrapper { padding: 0; } } PKZz45plugins/catch-gallery/css/jetpack-carousel-ie8fix.cssnu[.jp-carousel .jp-carousel-slide { display: none !important; } .jp-carousel .selected { margin: 0 auto; display: block !important; } PKZb**1plugins/catch-gallery/languages/catch-gallery.potnu[# Copyright (C) 2012-2022 Catch Plugins # This file is distributed under the GNU General Public License v2 or later. #, fuzzy msgid "" msgstr "" "Project-Id-Version: Catch Gallery\n" "Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n" "POT-Creation-Date: 2022-02-23 21:04-0800\n" "PO-Revision-Date: 2016-12-12 09:23-0500\n" "Last-Translator: Sakin Shrestha \n" "Language-Team: Catch Plugins \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 2.4.3\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx;_x;" "esc_html_e;esc_html__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_n_noop:1,2;" "__ngettext_noop:1,2;_c,_nc:4c,1,2\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: ..\n" #: ../admin/admin.php:17 ../admin/admin.php:18 #: ../admin/catch-gallery-display.php:17 msgid "Catch Gallery" msgstr "" #: ../admin/admin.php:34 msgid "You do not have sufficient permissions to access this page." msgstr "" #: ../admin/admin.php:139 ../admin/catch-gallery-display.php:25 #: ../admin/display-dashboard.php:31 msgid "Settings" msgstr "" #: ../admin/catch-gallery-display.php:19 msgid "Catch Gallery - Make your Galleries more Appealing!" msgstr "" #: ../admin/catch-gallery-display.php:26 ../admin/catch-gallery-display.php:68 msgid "Features" msgstr "" #: ../admin/catch-gallery-display.php:34 msgid "Catch Themes & Catch Plugins Tabs" msgstr "" #: ../admin/catch-gallery-display.php:39 msgid "" "If you want to turn off Catch Themes & Catch Plugins tabs option in Add " "Themes and Add Plugins page, please uncheck the following option." msgstr "" #: ../admin/catch-gallery-display.php:44 msgid "Turn On Catch Themes & Catch Plugin tabs" msgstr "" #: ../admin/catch-gallery-display.php:74 msgid "Tiled Mosiac" msgstr "" #: ../admin/catch-gallery-display.php:75 msgid "" "A normal photo gallery would often have regular spacing with unpleasant and " "uneven gaps between each image. With Tiled Mosaic layout, your galleries " "will reduce the gap between each image to produce a tiled effect. This will " "show your images in a beautiful mosaic layout." msgstr "" #: ../admin/catch-gallery-display.php:79 ../inc/tiled-gallery.php:492 msgid "Square Tiles" msgstr "" #: ../admin/catch-gallery-display.php:80 msgid "" "As the name suggests, Square Tiles layout allows you to display your " "galleries with square tiles. The spacing between the images are even and " "your galleries look sleeker than ever." msgstr "" #: ../admin/catch-gallery-display.php:84 ../inc/tiled-gallery.php:493 msgid "Circles" msgstr "" #: ../admin/catch-gallery-display.php:85 msgid "" "With Catch Gallery layout options, you can display all your gallery " "pictures in cool circular tiles. If you want your galleries to look a " "little fancier, you can select your gallery layout as Circles." msgstr "" #: ../admin/catch-gallery-display.php:89 msgid "Lightweight" msgstr "" #: ../admin/catch-gallery-display.php:90 msgid "" "Catch Gallery, a simple gallery plugin for WordPress is extremely " "lightweight. It means you will not have to worry about your website getting " "slower because of the plugin." msgstr "" #: ../admin/catch-gallery-display.php:94 msgid "Responsive Design" msgstr "" #: ../admin/catch-gallery-display.php:95 msgid "" "Catch Gallery comes with a responsive design, which means, your galleries " "will look beautiful on all devices. Your visitors will definitely enjoy " "strolling through your galleries that look elegant and aesthetic." msgstr "" #: ../admin/catch-gallery-display.php:99 msgid "Compatible with all Themes" msgstr "" #: ../admin/catch-gallery-display.php:100 msgid "" "Catch Gallery has been crafted in a way that supports all the themes on " "WordPress. The plugin functions smoothly on every WordPress theme. " "Therefore, you will not have to worry about the plugin not being compatible " "with your current WordPress theme." msgstr "" #: ../admin/catch-gallery-display.php:104 msgid "Incredible Support" msgstr "" #: ../admin/catch-gallery-display.php:105 msgid "" "No matter the device your users are using, galleries and portfolios put " "together with Catch Gallery will adapt to the screen like a dream. You " "don’t need to worry about the user experience since it will be intact. It " "is an extremely easy-to-use gallery plugin that provides an eye-friendly " "gallery for your users." msgstr "" #: ../admin/display-dashboard.php:20 msgid "Plugin Options Saved." msgstr "" #: ../admin/display-dashboard.php:41 msgid "Enable Carousel" msgstr "" #: ../admin/display-dashboard.php:44 msgid "Display images in full-size carousel slideshow" msgstr "" #: ../admin/display-dashboard.php:49 msgid "Carousel Background Color" msgstr "" #: ../admin/display-dashboard.php:53 msgid "Black" msgstr "" #: ../admin/display-dashboard.php:54 msgid "White" msgstr "" #: ../admin/display-dashboard.php:60 msgid "Metadata" msgstr "" #: ../admin/display-dashboard.php:63 #, php-format msgid "Show photo metadata (%1$sExif%2$s) in carousel, when available" msgstr "" #: ../admin/display-dashboard.php:68 msgid "Show Comments" msgstr "" #: ../admin/display-dashboard.php:71 msgid "Show Comment box Below in the Slideshow" msgstr "" #: ../admin/display-dashboard.php:76 msgid "Show View Fullsize" msgstr "" #: ../admin/display-dashboard.php:79 msgid "Display fill-size in carousel slideshow" msgstr "" #: ../admin/display-dashboard.php:84 msgid "Reset Options" msgstr "" #: ../admin/display-dashboard.php:87 msgid "Check to reset" msgstr "" #: ../admin/display-dashboard.php:89 msgid "Caution: Reset all settings to default" msgstr "" #: ../admin/display-dashboard.php:95 msgid "Save Changes" msgstr "" #: ../admin/footer.php:4 msgid "Catch Plugins" msgstr "" #: ../admin/footer.php:9 msgid "View Themes" msgstr "" #: ../admin/footer.php:10 msgid "View Plugins" msgstr "" #: ../admin/footer.php:11 msgid "Support" msgstr "" #: ../admin/sidebar.php:3 msgid "Recommendations" msgstr "" #: ../admin/sidebar.php:8 msgid "Premium Themes" msgstr "" #: ../admin/sidebar.php:9 msgid "" "Check out our simple, clean and responsive Premium WordPress Themes that " "come with an array of crucial features with a superior functionality." msgstr "" #: ../admin/sidebar.php:9 msgid "Check our premium themes." msgstr "" #: ../admin/sidebar.php:16 msgid "Free Themes" msgstr "" #: ../admin/sidebar.php:17 msgid "" "Check out our collection of Free WordPress Themes that are clean, simple " "and feature-rich." msgstr "" #: ../admin/sidebar.php:17 msgid "Check our free themes." msgstr "" #: ../admin/sidebar.php:25 msgid "Premium Plugins" msgstr "" #: ../admin/sidebar.php:26 msgid "" "Check out our secured Premium WordPress Plugins to enhance and add extra " "functionalities to your website. An exceptional way to get the most out of " "WordPress!" msgstr "" #: ../admin/sidebar.php:26 msgid "Check our premium plugins." msgstr "" #: ../admin/sidebar.php:34 msgid "Free Plugins" msgstr "" #: ../admin/sidebar.php:35 msgid "" "Check out our Free WordPress Plugins and get the taste of our service " "without affecting your wallet." msgstr "" #: ../admin/sidebar.php:36 msgid "check our free plugins." msgstr "" #: ../catch-gallery.php:64 #, php-format msgid "" "Sorry, Pro plugin is already active. No need to activate Free version. " "%1$s« Return to Plugins%2$s." msgstr "" #: ../inc/CatchThemesThemePlugin.php:154 msgid "Themes by CatchThemes" msgstr "" #: ../inc/CatchThemesThemePlugin.php:434 msgctxt "Plugin Installer" msgid "Catch Plugins" msgstr "" #: ../inc/CatchThemesThemePlugin.php:473 #, php-format msgid "" "You can use any of our free plugins or premium plugins from Catch Plugins" msgstr "" #: ../inc/ctp-tabs-removal.php:59 msgid "Invalid Nonce" msgstr "" #: ../inc/ctp-tabs-removal.php:62 msgid "Permission denied!" msgstr "" #: ../inc/ctp-tabs-removal.php:75 msgid "Connection Error. Please try again." msgstr "" #: ../inc/functions.php:24 msgid "Thumbnail Grid" msgstr "" #: ../inc/functions.php:74 msgid "Type of gallery." msgstr "" #: ../inc/functions.php:104 msgid "Type" msgstr "" #: ../inc/jetpack-carousel.php:105 msgid "Comment" msgstr "" #: ../inc/jetpack-carousel.php:106 msgid "Post Comment" msgstr "" #: ../inc/jetpack-carousel.php:107 msgid "Loading Comments..." msgstr "" #: ../inc/jetpack-carousel.php:109 #, php-format msgid "" "View full size %1$s×%2$s" msgstr "" #: ../inc/jetpack-carousel.php:111 msgid "Please be sure to submit some text with your comment." msgstr "" #: ../inc/jetpack-carousel.php:112 msgid "Please provide an email address to comment." msgstr "" #: ../inc/jetpack-carousel.php:113 msgid "Please provide your name to comment." msgstr "" #: ../inc/jetpack-carousel.php:114 msgid "" "Sorry, but there was an error posting your comment. Please try again later." msgstr "" #: ../inc/jetpack-carousel.php:115 msgid "Your comment was approved." msgstr "" #: ../inc/jetpack-carousel.php:116 msgid "Your comment is in moderation." msgstr "" #: ../inc/jetpack-carousel.php:117 msgid "Camera" msgstr "" #: ../inc/jetpack-carousel.php:118 msgid "Aperture" msgstr "" #: ../inc/jetpack-carousel.php:119 msgid "Shutter Speed" msgstr "" #: ../inc/jetpack-carousel.php:120 msgid "Focal Length" msgstr "" #: ../inc/jetpack-carousel.php:133 #, php-format msgid "Commenting as %s" msgstr "" #: ../inc/jetpack-carousel.php:136 msgid "" "You must be logged in " "to post a comment." msgstr "" #: ../inc/jetpack-carousel.php:138 #, php-format msgid "%s (Required)" msgstr "" #: ../inc/jetpack-carousel.php:140 msgid "Email" msgstr "" #: ../inc/jetpack-carousel.php:142 msgid "Name" msgstr "" #: ../inc/jetpack-carousel.php:144 msgid "Website" msgstr "" #: ../inc/jetpack-carousel.php:287 msgid "Missing attachment ID." msgstr "" #: ../inc/jetpack-carousel.php:324 msgid "Nonce verification failed." msgstr "" #: ../inc/jetpack-carousel.php:331 msgid "Missing target blog ID." msgstr "" #: ../inc/jetpack-carousel.php:334 msgid "Missing target post ID." msgstr "" #: ../inc/jetpack-carousel.php:337 msgid "No comment text was submitted." msgstr "" #: ../inc/jetpack-carousel.php:349 msgid "Comments on this post are closed." msgstr "" #: ../inc/jetpack-carousel.php:359 msgid "Sorry, but we could not authenticate your request." msgstr "" #: ../inc/jetpack-carousel.php:368 msgid "Please provide your name." msgstr "" #: ../inc/jetpack-carousel.php:371 msgid "Please provide an email address." msgstr "" #: ../inc/jetpack-carousel.php:374 msgid "Please provide a valid email address." msgstr "" #: ../inc/tiled-gallery.php:491 msgid "Tiled Mosaic" msgstr "" PKZJplugins/index.phpnu[=')){ // Let Pagelayer load // Lets check for older versions }else{ if(!function_exists( 'get_plugin_data' )){ include_once ABSPATH . 'wp-admin/includes/plugin.php'; } $pagelayer_pro_info = get_plugin_data(WP_PLUGIN_DIR . '/pagelayer-pro/pagelayer-pro.php'); if( !empty($pagelayer_pro_info) && version_compare($pagelayer_pro_info['Version'], '1.8.6', '<') ){ return; } } } // If PAGELAYER_VERSION exists then the plugin is loaded already ! if(defined('PAGELAYER_VERSION')) { return; } define('PAGELAYER_FILE', __FILE__); include_once(dirname(__FILE__).'/init.php'); PKZE 3m#m#%plugins/pagelayer/main/nav_walker.phpnu[item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } $indent = str_repeat( $t, $depth ); // Default class. $classes = array( 'sub-menu' ); // Filters the CSS class(es) applied to a menu list element. $class_names = implode( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) ); $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; $output .= "{$n}{$indent}{$n}"; } // Ends the list of after the elements are added. public function end_lvl( &$output, $depth = 0, $args = null ) { if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } $indent = str_repeat( $t, $depth ); $output .= "$indent{$n}"; } // Starts the element output. public function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) { if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } $indent = ( $depth ) ? str_repeat( $t, $depth ) : ''; // Menu setting keys $keys = array('_pagelayer_content'); foreach($keys as $key){ $menu_item_setting = get_post_meta( $item->ID, $key, true ); if(!empty($menu_item_setting)){ $item->$key = $menu_item_setting; } } $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; // Get custom setting data $item_content = $this->get_item_data($item, '_pagelayer_content'); $settings = array(); $pagelayer_has_content = 0; if(!empty($item_content) && has_blocks($item_content)){ $blocks = parse_blocks($item_content); $attrs = array(); foreach($blocks as $index => $block){ if($block['blockName'] != 'pagelayer/pl_nav_menu_item'){ continue; } // Overrig the menu ID to apply css and others foreach($item as $kk => $vv){ if($kk == '_pagelayer_content'){ continue; } $block['attrs'][$kk] = $vv; } $settings = $block['attrs']; // Add settings to $item foreach($settings as $skey => $sval){ if(isset($item->$skey)){ continue; } $item->$skey = $sval; } if(!empty($block['innerBlocks'])){ $pagelayer_has_content = $this->has_block_content($block['innerBlocks']); } $blocks[$index] = $block; } $item_content = serialize_blocks($blocks); } $pagelayer_has_content = pagelayer_is_live() ? 1 : $pagelayer_has_content; // Get menu type $menu_type = $this->get_item_data($item, 'menu_type'); if(!empty($menu_type) && $menu_type == 'mega' && $depth == 0 && !empty($pagelayer_has_content)){ $classes[] = 'pagelayer-mega-menu-item'; } if(!empty($menu_type) && $menu_type == 'column' && $depth == 0){ $classes[] = 'pagelayer-mega-column-item'; } $menu_icon_class = $this->get_item_data($item, 'icon_position'); if(!empty($menu_icon_class)){ $classes[] = 'pagelayer-nav-menu-icon-'.$menu_icon_class; } // Filters the arguments for a single nav menu item. $args = apply_filters( 'nav_menu_item_args', $args, $item, $depth ); // Filters the CSS classes applied to a menu item's list item element. $class_names = implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) ); $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; // Filters the ID applied to a menu item's list item element. $id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args, $depth ); $id = $id ? ' id="' . esc_attr( $id ) . '"' : ''; $output .= $indent . ''; $atts = array(); $atts['title'] = ! empty( $item->attr_title ) ? $item->attr_title : ''; $atts['target'] = ! empty( $item->target ) ? $item->target : ''; if ( '_blank' === $item->target && empty( $item->xfn ) ) { $atts['rel'] = 'noopener'; } else { $atts['rel'] = $item->xfn; } $atts['href'] = ! empty( $item->url ) ? $item->url : ''; $atts['aria-current'] = $item->current ? 'page' : ''; // Filters the HTML attributes applied to a menu item's anchor element. $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth ); $attributes = ''; foreach ( $atts as $attr => $value ) { if ( is_scalar( $value ) && '' !== $value && false !== $value ) { $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value ); // Get disable links $disable_link = $this->get_item_data($item, 'disable_link'); if ( 'href' === $attr && !empty($disable_link) ) { $value = 'javascript:void(0)'; } $attributes .= ' ' . $attr . '="' . $value . '"'; } } /** This filter is documented in wp-includes/post-template.php */ $title = $this->get_item_data($item, 'title'); $title = apply_filters( 'the_title', $title, $item->ID ); // Filters a menu item's title. $title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth ); $item_output = $args->before; $item_output .= ''; // Add menu icon $menu_icon = $this->get_item_data($item, 'menu_icon'); if (!empty($menu_icon)) { $item_output .= ''; } $item_output .= '' . $args->link_before . $title . $args->link_after .''; // Add highlight lable $highlight_label = $this->get_item_data($item, 'highlight_label'); if (!empty($highlight_label)) { $item_output .= ''.$highlight_label.''; } $item_output .= ''; $item_output .= $args->after; $mega_class = 'pagelayer-mega-editor-'.$item->ID; $item_output .= '
    '; // Add mega menu if(!empty($item_content)){ $item_content = pagelayer_the_content($item_content, true); // Change the pagelayer ID $item_output .= pagelayer_change_id($item_content); } $item_output .= '
    '; // Filters a menu item's starting output. $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } // Ends the element output, if needed. public function end_el( &$output, $item, $depth = 0, $args = null ) { if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } $output .= "{$n}"; } // Get the post value public function get_item_data( $item, $name ) { if(pagelayer_is_live() && isset($_REQUEST['pagelayer_nav_items']) && isset($_REQUEST['pagelayer_nav_items'][$item->ID][$name]) ){ $data = $_REQUEST['pagelayer_nav_items'][$item->ID][$name]; // If Title is empty if(empty($data) && $name == 'title'){ $_item = clone $item; $_item->post_title = ''; $_item = wp_setup_nav_menu_item($_item); return $_item->title; } if(!empty($data) && $name == '_pagelayer_content'){ $data = base64_decode($data); } return stripslashes_deep($data); } return @$item->$name; } // Check the block has inner block public function has_block_content( $blocks ) { $tags = array('pagelayer/pl_row', 'pagelayer/pl_inner_row', 'pagelayer/pl_col', 'pagelayer/pl_inner_col'); $has_content = 0; foreach($blocks as $block){ if(!in_array( $block['blockName'], $tags) || !empty($has_content)){ $has_content = 1; break; } if(empty($block['innerBlocks']) ){ continue; } $has_content = $this->has_block_content($block['innerBlocks']); } return $has_content; } } }PKZ-дzz%plugins/pagelayer/main/shortcodes.phpnu[ ['border_hover' => 'normal'], // Two value i.e. when both the values are true 'show' => ['border_hover' => 'normal', 'border_type' => 'solid', ], // Exception i.e. prefix the param name with ! (exclamation) 'show' => ['!border_hover' => 'normal', 'border_type' => 'solid', ], // Support for MULTIPLE values of ONE parameter. // NOTE : This will be treated as OR for that parameter i.e. if the current value of that parameter is any ONE of the array given 'show' => ['border_hover' => ['normal', 'hover']], */ // Example of 'css' prop attr /* // Set the value to the parent element 'css' => 'background-color: {{val}}', // Multiple vals 'css' => [ 'background-color: {{val}}', '-webkit-background-color: {{val}}', '-moz-background-color: {{val}}', ], // Multiple vals with some selectors or direct element val 'css' => [ '{{element}} .class' => 'background-color: {{val}}', '-webkit-background-color: {{val}}', '-moz-background-color: {{val}}', ], */ // Example of 'addAttr' or 'addClass' /* // Set the value to the parent element 'addAttr' => 'target="_blank"', // Multiple vals 'addAttr' => [ 'target="_blank"', 'href="/"', 'rel="{{rel}}"', ], // Multiple vals with some selectors or direct element val 'addAttr' => [ '{{element}} .class' => 'target="_blank"', 'href="/"', 'rel="{{rel}}"', ], // Define group and set default content if it has inner_row child 'has_group' => [ 'section' => 'params', 'prop' => 'elements', ], */ //////////////////////// // Default Styles //////////////////////// global $pagelayer; $pagelayer->anim_in_options = array( '' => __pl('none'), __pl('fading') => [ 'fadeIn' => __pl('fadein'), 'fadeInDown' => __pl('fadeindown'), 'fadeInUp' => __pl('fadeinup'), 'fadeInLeft' => __pl('fadeinleft'), 'fadeInRight' => __pl('fadeinright'), ], __pl('zooming') => [ 'zoomIn' => __pl('zoomin'), 'zoomInDown' => __pl('zoomindown'), 'zoomInUp' => __pl('zoominup'), 'zoomInLeft' => __pl('zoominleft'), 'zoomInRight' => __pl('zoominright'), ], __pl('bounceing') => [ 'bounceIn' => __pl('bouncein'), 'bounceInDown' => __pl('bounceindown'), 'bounceInUp' => __pl('bounceinup'), 'bounceInLeft' => __pl('bounceinleft'), 'bounceInRight' => __pl('bounceinright'), ], __pl('sliding') => [ 'slideInDown' => __pl('slideindown'), 'slideInUp' => __pl('slideinup'), 'slideInLeft' => __pl('slideinleft'), 'slideInRight' => __pl('slideinright'), ], __pl('rotating') => [ 'rotateIn' => __pl('rotatein'), 'rotateInDown' => __pl('rotateindown'), 'rotateInUp' => __pl('rotateinup'), 'rotateInLeft' => __pl('rotateinleft'), 'rotateInRight' => __pl('rotateinright'), ], __pl('effects') => [ 'lightSpeedIn' => __pl('lightspeedin'), 'bounce' => __pl('bounce'), 'pulse' => __pl('pulse'), 'rubberBand' => __pl('rubberband'), 'flash' => __pl('flash'), 'swing' => __pl('swing'), 'jello' => __pl('jello'), 'tada' => __pl('tada'), 'wobble' => __pl('wobble'), 'rollin' => __pl('rollin'), 'headShake' => __pl('headshake'), 'shake' => __pl('shake'), ], ); $pagelayer->anim_out_options = array( '' => __pl('none'), __pl('fading') => [ 'fadeOut' => __pl('fadeout'), 'fadeOutDown' => __pl('fadeoutdown'), 'fadeOutUp' => __pl('fadeoutup'), 'fadeOutLeft' => __pl('fadeoutleft'), 'fadeOutRight' => __pl('fadeoutright'), ], __pl('zooming') => [ 'zoomOut' => __pl('zoomout'), 'zoomOutDown' => __pl('zoomoutdown'), 'zoomOutUp' => __pl('zoomoutup'), 'zoomOutLeft' => __pl('zoomoutleft'), 'zoomOutRight' => __pl('zoomoutright'), ], __pl('bounceing') => [ 'bounceOut' => __pl('bounceout'), 'bounceOutDown' => __pl('bounceoutdown'), 'bounceOutUp' => __pl('bounceoutup'), 'bounceOutLeft' => __pl('bounceoutleft'), 'bounceOutRight' => __pl('bounceoutright'), ], __pl('sliding') => [ 'slideOutDown' => __pl('slideoutdown'), 'slideOutUp' => __pl('slideoutup'), 'slideOutLeft' => __pl('slideoutleft'), 'slideOutRight' => __pl('slideoutright'), ], __pl('rotating') => [ 'rotateOut' => __pl('rotateout'), 'rotateOutDown' => __pl('rotateoutdown'), 'rotateOutUp' => __pl('rotateoutup'), 'rotateOutLeft' => __pl('rotateoutleft'), 'rotateOutRight' => __pl('rotateoutright'), ], __pl('effects') => [ 'lightSpeedIn' => __pl('lightspeedin'), 'bounce' => __pl('bounce'), 'pulse' => __pl('pulse'), 'rubberBand' => __pl('rubberband'), 'flash' => __pl('flash'), 'swing' => __pl('swing'), 'jello' => __pl('jello'), 'tada' => __pl('tada'), 'wobble' => __pl('wobble'), 'rollin' => __pl('rollin'), 'headShake' => __pl('headshake'), 'shake' => __pl('shake'), ], ); $pagelayer->slider_arrow_styles = [ 'arrows_bg' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'default' => '#6a6969', 'css' => [ '{{element}} .pagelayer-owl-prev' => 'background-color: {{val}} !important', '{{element}} .pagelayer-owl-next' => 'background-color: {{val}} !important', ] ), 'arraow_color' => array( 'type' => 'color', 'label' => __pl('color'), 'default' => '#ffffff', 'css' => [ '{{element}} .pagelayer-owl-prev' => 'color: {{val}} !important', '{{element}} .pagelayer-owl-next' => 'color: {{val}} !important', ] ), 'nav_size' => array( 'type' => 'slider', 'label' => __pl('arraow_size'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-prev span' => 'font-size: {{val}}px !important;', '{{element}} .pagelayer-owl-next span' => 'font-size: {{val}}px !important;' ] ), 'arraow_bg_size' => array( 'type' => 'spinner', 'label' => __pl('background_size'), 'min' => 0, 'step' => 1, 'max' => 500, 'default' => 20, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-prev' => 'width: {{val}}px; height: {{val}}px', '{{element}} .pagelayer-owl-next' => 'width: {{val}}px; height: {{val}}px' ] ), 'arraow_bg_shape' => array( 'type' => 'spinner', 'label' => __pl('background_shape'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 20, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-prev' => 'border-radius: {{val}}% !important;', '{{element}} .pagelayer-owl-next' => 'border-radius: {{val}}% !important;', ] ), 'arrow_pos_type' => array( 'type' => 'select', 'label' => __pl('position'), 'list' => array( '' => __pl('default'), 'custom' => __pl('custom'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ), ), 'arrow_pos_top' => array( 'label' => __pl('alignment'), 'type' => 'radio', 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'default' => 'center', 'req' => [ 'arrow_pos_type' => 'top'], 'addClass' => ['pagelayer-slide-arrow-pos-top'], 'css' => ['{{element}} .pagelayer-owl-nav' => 'justify-content:{{arrow_pos_top}}'] ), 'arrow_pos_bottom' => array( 'label' => __pl('alignment'), 'type' => 'radio', 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'default' => 'center', 'req' => ['arrow_pos_type' => 'bottom'], 'addClass' => ['pagelayer-slide-arrow-pos-bottom'], 'css' => [ '{{element}} .pagelayer-owl-nav' => 'justify-content:{{arrow_pos_bottom}}' ] ), 'arrow_icon_type' => array( 'type' => 'select', 'label' => __pl('icon_type'), 'list' => array( '' => __pl('default'), 'custom' => __pl('custom'), ), ), 'arrow_icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'show' => ['arrow_icon_style' => ''], 'default' => 'fas fa-angle-left', 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-navText="{{arrow_icon}}"'], 'list' => ['angle-double-left', 'arrow-alt-circle-left', 'arrow-circle-left', 'arrow-left', 'long-arrow-alt-left', 'arrow-alt-circle-left', 'angle-double-left', 'angle-left'], 'css' => [ '{{element}} .pagelayer-owl-prev i' => 'font-size: {{nav_size}}px !important;', '{{element}} .pagelayer-owl-next i' => 'font-size: {{nav_size}}px !important;' ], 'req' => ['!arrow_icon_type' => ''] ), 'arrow_pos_style' => array( 'type' => 'radio', 'label' => __pl('arrow_pos'), 'list' => array( '' => __pl('left_arrow'), 'right' => __pl('right_arrow'), ), 'show' => ['arrow_pos_type' => 'custom'] ), 'arrow_left_horizontal_pos' => array( 'type' => 'slider', 'label' => __pl('horizontal_pos'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-prev' => 'left: {{val}}% !important;', ], 'req' => ['arrow_pos_type' => 'custom'], 'show' => ['arrow_pos_style' => ''], ), 'arrow_right_horizontal_pos' => array( 'type' => 'slider', 'label' => __pl('horizontal_pos'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-next' => 'right: {{val}}% !important;', ], 'req' => ['arrow_pos_type' => 'custom'], 'show' => ['!arrow_pos_style' => ''], ), 'arrow_vertical_pos' => array( 'type' => 'slider', 'label' => __pl('vertical_pos'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-prev' => 'top: {{val}}% !important;', '{{element}} .pagelayer-owl-next' => 'top: {{val}}% !important;', ], 'req' => ['arrow_pos_type' => 'custom'], ), ]; $pagelayer->slider_pager_styles = [ 'show_num' => array( 'type' => 'checkbox', 'label' => __pl('show_num'), 'addClass' => ['pagelayer-slide-dot-number'], 'css' => ['{{element}} .pagelayer-owl-dot span::before' => 'line-height: {{dot_height}}px;'], ), 'dot_state' => array( 'type' => 'radio', 'label' => __pl('dot_state'), 'list' => array( '' => __pl('normal'), 'active' => __pl('active'), ), ), 'pager_color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-owl-dot span' => 'background-color: {{val}} !important'], 'show' => ['dot_state' => ''], ), 'dot_num_color' => array( 'type' => 'color', 'label' => __pl('number_color'), 'css' => ['{{element}} .pagelayer-owl-dot span::before' => 'color:{{val}}'], 'req' => ['!show_num' => ''], 'show' => ['dot_state' => ''], ), 'dot_size' => array( 'type' => 'slider', 'label' => __pl('dot_size'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'width: {{val}}px !important; height: {{val}}px !important;' ], 'show' => ['dot_state' => ''], ), 'dot_width' => array( 'type' => 'slider', 'label' => __pl('dot_width'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'width: {{val}}px !important;' ], 'show' => ['dot_state' => ''], ), 'dot_height' => array( 'type' => 'slider', 'label' => __pl('dot_height'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'height: {{val}}px !important;' ], 'show' => ['dot_state' => ''], ), 'dot_radius' => array( 'type' => 'padding', 'label' => __pl('dot_radius'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px !important;' ], 'show' => ['dot_state' => ''], ), 'active_pager_color' => array( 'type' => 'color', 'label' => __pl('active_pager_color'), 'css' => ['{{element}} .pagelayer-owl-dot.active span' => 'background-color: {{val}} !important'], 'show' => ['!dot_state' => ''], ), 'active_dot_num_color' => array( 'type' => 'color', 'label' => __pl('number_color'), 'css' => ['{{element}} .pagelayer-owl-dot.active span::before' => 'color:{{val}}'], 'req' => ['!show_num' => ''], 'show' => ['!dot_state' => ''], ), 'active_dot_size' => array( 'type' => 'slider', 'label' => __pl('active_dot_size'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot.active span' => 'width: {{val}}px !important; height: {{val}}px !important;' ], 'show' => ['!dot_state' => ''], ), 'active_dot_width' => array( 'type' => 'slider', 'label' => __pl('dot_width'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot.active span' => 'width: {{val}}px !important;' ], 'show' => ['!dot_state' => ''], ), 'active_dot_height' => array( 'type' => 'slider', 'label' => __pl('dot_height'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot.active span' => 'height: {{val}}px !important;' ], 'show' => ['!dot_state' => ''], ), 'active_dot_radius' => array( 'type' => 'padding', 'label' => __pl('dot_radius'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot.active span' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px !important;' ], 'show' => ['!dot_state' => ''], ), 'dot_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-style: {{val}};' ], ), 'dot_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-width: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;' ], 'req' => ['!dot_border_type' => ''], ), 'dot_border_color' => array( 'type' => 'color', 'label' => __pl('border_color'), 'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-color: {{val}};' ], 'req' => ['!dot_border_type' => ''], ), 'dot_pos' => array( 'type' => 'select', 'label' => __pl('position'), 'list' => array( '' => __pl('bottom'), 'top' => __pl('top'), 'right' => __pl('right'), 'left' => __pl('left'), ), 'addClass' => ['pagelayer-slide-dot-pos-{{val}}'], 'css' => ['{{element}} .pagelayer-owl-dots' => '{{val}}: 10px'], ), 'pager_top_space' => array( 'type' => 'slider', 'label' => __pl('service_btn_spacing'), 'min' => 0, 'step' => 1, 'max' => 200, 'screen' => 1, 'css' => [ '{{element}} .pagelayer-owl-dots' => 'margin-top: {{val}}px !important;' ] ) ]; $pagelayer->slider_options = [ 'slide_items' => array( 'type' => 'spinner', 'label' => __pl('number_of_items'), 'np' => 1, 'min' => 1, 'step' => 1, 'max' => 10, 'default' => 1, 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-items="{{slide_items}}"'], ), 'slidein_anim' => array( 'type' => 'select', 'label' => __pl('animation_in'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-animate-in="{{slidein_anim}}"'], 'list' => $pagelayer->anim_in_options, 'req' => ['slide_items' => '1'] ), 'slideout_anim' => array( 'type' => 'select', 'label' => __pl('animation_out'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-animate-out="{{slideout_anim}}"'], 'list' => $pagelayer->anim_out_options, 'req' => ['slide_items' => '1'] ), 'slide_margin' => array( 'type' => 'slider', 'label' => __pl('space_between'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 10, 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-margin="{{slide_margin}}"'], 'req' => ['!slide_items' => '1'] ), 'slide_loop' => array( 'type' => 'checkbox', 'label' => __pl('loop'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-loop="{{slide_loop}}"'], ), 'slide_controls' => array( 'type' => 'select', 'label' => __pl('slider_controls'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-controls="{{slide_controls}}"'], 'list' => array( '' => __pl('Arrows and Pager'), 'arrows' => __pl('Arrows'), 'pager' => __pl('Pager'), 'none' => __pl('none'), ) ), 'slide_autoplay' => array( 'type' => 'checkbox', 'label' => __pl('autoplay'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay="{{slide_autoplay}}"'], ), 'slide_timeout' => array( 'type' => 'spinner', 'label' => __pl('autoplay_timeout'), 'min' => 1000, 'step' => 200, 'max' => 10000, 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay-timeout="{{slide_timeout}}"'], 'req' => ['slide_autoplay' => 'true'] ), 'slide_hoverpause' => array( 'type' => 'checkbox', 'label' => __pl('autoplay_hover_pause'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay-hover-pause="{{slide_hoverpause}}"'], 'req' => ['slide_autoplay' => 'true'] ), ]; $pagelayer->styles['ele_bg_styles'] = [ 'ele_bg_hover' => [ 'type' => 'radio', 'label' => __pl('Background'), 'default' => '', //'no_val' => 1,// Dont set any value to element 'list' => [ '' => __pl('normal'), 'hover' => __pl('hover'), ], ], 'ele_bg_type' => [ 'type' => 'radio', 'label' => __pl('Background Type'), 'default' => '', 'list' => [ '' => __pl('none'), 'color' => __pl('color'), 'gradient' => __pl('gradient'), 'image' => __pl('image'), ], 'show' => ['ele_bg_hover' => ''] ], 'ele_bg_color' => [ 'type' => 'color', 'label' => __pl('color'), 'css' => 'background: {{val}};', 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'color'] ], 'ele_bg_gradient' => [ 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'css' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);', 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'gradient'] ], 'ele_img_color' => [ 'type' => 'color', 'label' => __pl('color'), 'default' => '', 'desc' => __pl('fallback_color'), 'css' => 'background-color: {{val}};', 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_img' => [ 'type' => 'image', 'label' => __pl('Image'), 'css' => 'background-image: url("{{{ele_bg_img-url}}}");', 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_attachment' => [ 'type' => 'select', 'label' => __pl('ele_bg_attachment'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['ele_bg_hover' => ''], 'css' => 'background-attachment: {{val}};', 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_posx' => [ 'type' => 'select', 'label' => __pl('ele_bg_posx'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right'), 'custom' => __pl('custom') ], 'show' => ['ele_bg_hover' => ''], 'css' => 'background-position-x: {{val}};', 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_posx_custom' => array( 'label' => __pl('custom_x'), 'type' => 'slider', 'step' => 1, 'min' => -5000, 'max' => 5000, 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => 'background-position-x: {{val}};', 'req' => array( 'ele_bg_posx' => 'custom' ), ), 'ele_bg_posy' => [ 'type' => 'select', 'label' => __pl('ele_bg_posy'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom'), 'custom' => __pl('custom') ], 'show' => ['ele_bg_hover' => ''], 'css' => 'background-position-y: {{val}};', 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_posy_custom' => array( 'label' => __pl('custom_y'), 'type' => 'slider', 'step' => 1, 'min' => -5000, 'max' => 5000, 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => 'background-position-y: {{val}};', 'req' => array( 'ele_bg_posy' => 'custom' ), ), 'ele_bg_repeat' => [ 'type' => 'select', 'label' => __pl('ele_bg_repeat'), 'css' => 'background-repeat: {{val}};', 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_size' => [ 'type' => 'select', 'label' => __pl('ele_bg_size'), 'css' => 'background-size: {{val}};', 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['ele_bg_hover' => ''], 'req' => ['ele_bg_type' => 'image'] ], 'ele_bg_type_hover' => [ 'type' => 'radio', 'label' => __pl('background_type'), 'default' => '', 'list' => [ '' => __pl('none'), 'color' => __pl('color'), 'gradient' => __pl('gradient'), 'image' => __pl('image'), ], 'show' => ['ele_bg_hover' => 'hover'] ], 'ele_bg_hover_delay' => [ 'type' => 'spinner', 'label' => __pl('ele_bg_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => '-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;', 'req' => ['ele_bg_hover' => 'hover', '!ele_bg_type_hover' => ''] ], 'ele_bg_color_hover' => [ 'type' => 'color', 'label' => __pl('color_hover'), 'css' => ['{{element}}:hover' => 'background: {{val}};'], 'show' => ['ele_bg_hover' => 'hover'], 'req' => ['ele_bg_type_hover' => 'color'] ], 'ele_bg_gradient_hover' => [ 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,25,#72e584,75,#2ca4eb,100', 'css' => ['{{element}}:hover' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'show' => ['ele_bg_hover' => 'hover'], 'req' => ['ele_bg_type_hover' => 'gradient'] ], 'ele_bg_img_hover' => [ 'type' => 'image', 'label' => __pl('Image Hover'), 'css' => ['{{element}}:hover' => 'background: url("{{{ele_bg_img_hover-url}}}");'], 'show' => ['ele_bg_hover' => 'hover'], 'req' => ['ele_bg_type_hover' => 'image'] ], 'ele_bg_attachment_hover' => [ 'type' => 'select', 'label' => __pl('ele_bg_attachment_hover'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['ele_bg_hover' => 'hover'], 'css' => ['{{element}}:hover' => 'background-attachment: {{val}};'], 'req' => ['ele_bg_type_hover' => 'image'] ], 'ele_bg_posx_hover' => [ 'type' => 'select', 'label' => __pl('ele_bg_posx_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right') ], 'show' => ['ele_bg_hover' => 'hover'], 'css' => ['{{element}}:hover' => 'background-position-x: {{val}};'], 'req' => ['ele_bg_type_hover' => 'image'] ], 'ele_bg_posy_hover' => [ 'type' => 'select', 'label' => __pl('ele_bg_posy_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'show' => ['ele_bg_hover' => 'hover'], 'css' => ['{{element}}:hover' => 'background-position-y: {{val}};'], 'req' => ['ele_bg_type_hover' => 'image'] ], 'ele_bg_repeat_hover' => [ 'type' => 'select', 'label' => __pl('ele_bg_repeat_hover'), 'css' => ['{{element}}:hover' => 'background-repeat: {{val}};'], 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['ele_bg_hover' => 'hover'], 'req' => ['ele_bg_type_hover' => 'image'] ], 'ele_bg_size_hover' => [ 'type' => 'select', 'label' => __pl('ele_bg_size_hover'), 'css' => ['{{element}}:hover' => 'background-size: {{val}};'], 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['ele_bg_hover' => 'hover'], 'req' => ['ele_bg_type_hover' => 'image'] ] ]; $pagelayer->styles['ele_styles'] = [ 'ele_margin' => [ 'type' => 'padding', 'label' => __pl('margin'), 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => 'margin-top: {{val[0]}}; margin-right: {{val[1]}}; margin-bottom: {{val[2]}}; margin-left: {{val[3]}}', ], 'ele_padding' => [ 'type' => 'padding', 'label' => __pl('padding'), 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => 'padding-top: {{val[0]}}; padding-right: {{val[1]}}; padding-bottom: {{val[2]}}; padding-left: {{val[3]}}', ], 'ele_zindex' => [ 'type' => 'slider', 'label' => __pl('z-index'), 'css' => ['{{wrap}}' => 'z-index: {{val}} !important; position: relative;'], ], 'ele_shadow' => [ 'type' => 'box_shadow', 'label' => __pl('shadow'), 'css' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;', ], 'border_shadow_hover' => [ // This is actually box shadow hover 'type' => 'box_shadow', 'label' => __pl('box_shadow_hover'), 'css' => ['{{element}}:hover' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'], ], ]; $pagelayer->styles['border_styles'] = [ 'border_hover' => [ 'type' => 'radio', 'label' => '', 'default' => '', //'no_val' => 1,// Dont set any value to element 'list' => [ '' => __pl('normal'), 'hover' => __pl('hover'), ], ], 'border_type' => [ 'type' => 'select', 'label' => __pl('border_type'), 'screen' => 1, 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['border_hover' => ''], 'css' => 'border-style: {{val}}', ], 'border_width' => [ 'type' => 'padding', 'label' => __pl('border_width'), 'default' => '1,1,1,1', 'units' => ['px', 'em'], 'screen' => 1, 'show' => [ 'border_hover' => '' ], 'req' => [ '!border_type' => '' ], 'css' => 'border-top-width: {{val[0]}}; border-right-width: {{val[1]}}; border-bottom-width: {{val[2]}}; border-left-width: {{val[3]}}', ], 'border_color' => [ 'type' => 'color', 'label' => __pl('border_color'), 'default' => '#CCC', 'screen' => 1, 'show' => [ 'border_hover' => '' ], 'req' => [ '!border_type' => '' ], 'css' => 'border-color: {{val}}', ], 'border_radius' => [ 'type' => 'padding', 'label' => __pl('border_radius'), 'units' => ['px', 'em'], 'screen' => 1, 'show' => ['border_hover' => ''], 'css' => 'border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -webkit-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};-moz-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};', ], 'border_type_hover' => [ 'type' => 'select', 'label' => __pl('border_type'), 'screen' => 1, 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['border_hover' => 'hover'], 'css' => ['{{element}}:hover' => 'border-style: {{val}}'], ], 'border_width_hover' => [ 'type' => 'padding', 'label' => __pl('border_width'), 'units' => ['px', 'em'], 'screen' => 1, 'show' => [ 'border_hover' => 'hover' ], 'req' => [ '!border_type_hover' => '' ], 'css' => ['{{element}}:hover' => 'border-top-width: {{val[0]}}; border-right-width: {{val[1]}}; border-bottom-width: {{val[2]}}; border-left-width: {{val[3]}}'], ], 'border_color_hover' => [ 'type' => 'color', 'label' => __pl('border_color'), 'screen' => 1, 'show' => [ 'border_hover' => 'hover' ], 'req' => [ '!border_type_hover' => '' ], 'css' => ['{{element}}:hover' => 'border-color: {{val}}'], ], 'border_radius_hover' => [ 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'units' => ['px', 'em'], 'show' => ['border_hover' => 'hover'], 'css' => ['{{element}}:hover' => 'border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -webkit-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};-moz-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};'], ], ]; $pagelayer->styles['font_style'] = [ 'font_family' => [ 'type'=> 'font_family', 'label' => __pl('font_family'), 'screen' => 1, 'css' => ['{{element}}' => 'font-family: {{val}} !important;'], ], 'font_size' => [ 'type' => 'spinner', 'label' => __pl('font_size'), 'screen' => 1, 'min' => 0, 'step' => 1, 'max' => 200, 'css' => ['{{element}}' => 'font-size: {{val}}px !important;'], ], 'font_style' => [ 'type' => 'select', 'label' => __pl('font_style'), 'screen' => 1, 'css' => ['{{element}}' => 'font-style: {{val}} !important'], 'list' => [ '' => 'Default', 'Normal' => 'Normal', 'Italic' => 'Italic', 'Oblique' => 'Oblique', ], ], 'font_weight' => [ 'type' => 'select', 'label' => __pl('font_weight'), 'screen' => 1, 'css' => ['{{element}}' => 'font-weight: {{val}} !important'], 'list' => [ '0' => 'Default', '100' => '100', '200' => '200', '300' => '300', '400' => '400', '500' => '500', '600' => '600', '700' => '700', '800' => '800', '900' => '900', 'normal' => 'Normal', 'lighter' => 'Lighter', 'bold' => 'Bold', 'bolder' => 'Bolder', 'unset' => 'Unset', ], ], 'font_variant' => [ 'type' => 'select', 'label' => __pl('font_variant'), 'screen' => 1, 'css' => ['{{element}}' => 'font-variant: {{val}} !important'], 'list' => [ '' => 'Default', 'Normal' => 'Normal', 'Small-caps' => 'Small Caps', ], ], 'font_decoration_line' => [ 'type' => 'select', 'label' => __pl('decoration_line'), 'screen' => 1, 'css' => ['{{element}}' => 'text-decoration-line: {{val}} !important'], 'list' => [ 'none' => 'None', 'Overline' => 'Overline', 'Line-through' => 'Line Through', 'Underline' => 'Underline', 'Underline Overline' => 'Underline Overline', ], ], 'font_decoration_style' => [ 'type' => 'select', 'label' => __pl('decoration_style'), 'screen' => 1, 'css' => ['{{element}}' => 'text-decoration-style: {{val}} !important'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'wavy' => __pl('Wavy'), ], 'req' => [ '!ele_font_decoration_line' => 'none', ], ], 'line_height' => [ 'type' => 'spinner', 'label' => __pl('line_height'), 'screen' => 1, 'min' => 0, 'step' => 0.1, 'max' => 15, 'css' => ['{{element}}' => 'line-height: {{val}}em !important;'], ], 'text_transform' => [ 'type' => 'select', 'label' => __pl('text_transform'), 'screen' => 1, 'css' => ['{{element}}' => 'text-transform: {{val}} !important'], 'list' => [ '' => 'Default', 'Capitalize' => 'Capitalize', 'Uppercase' => 'Uppercase', 'Lowercase' => 'Lowercase', ], ], 'text_spacing' => [ 'type' => 'spinner', 'label' => __pl('text_spacing'), 'screen' => 1, 'min' => -10, 'step' => 0.1, 'max' => 10, 'css' => ['{{element}}' => 'letter-spacing: {{val}}px !important;'], ], 'word_spacing' => [ 'type' => 'spinner', 'label' => __pl('word_spacing'), 'screen' => 1, 'min' => 0, 'step' => 1, 'max' => 50, 'css' => ['{{element}}' => 'word-spacing: {{val}}px !important;'], ], ]; $pagelayer->styles['position_styles'] = [ 'ele_custom_pos' => array( 'type' => 'checkbox', 'label' => __pl('enable'), ), 'ele_width' => [ 'type' => 'select', 'label' => __pl('width'), 'screen' => 1, 'css' => ['{{wrap}}' => 'width:{{val}} !important;'], 'list' => [ 'initial' => __pl('default'), '100%' => __pl('full'), '' => __pl('custom'), ], 'req' => ['ele_custom_pos' => 'true'] ], 'ele_custom_width' => [ 'type' => 'slider', 'label' => __pl('custom_width'), 'screen' => 1, 'units' => ['px','%','vw'], 'css' => ['{{wrap}}' => 'width:{{val}} !important;'], 'min' => 0, 'max' => 1000, 'step' => 1, 'req' => [ 'ele_width' => '', 'ele_custom_pos' => 'true' ] ], 'ele_align' => [ 'type' => 'select', 'label' => __pl('alignment'), 'default' => 'margin', 'screen' => 1, 'css' => ['{{wrap}}' => 'position:relative; left:{{val}}; transform:translateX(-{{val}});'], 'list' => [ '0%' => __pl('left'), '50%' => __pl('center'), '100%' => __pl('right'), ], 'req' => [ 'ele_width' => '', 'ele_custom_pos' => 'true' ] ], 'ele_height' => [ 'type' => 'select', 'label' => __pl('height'), 'screen' => 1, 'default' => 'auto', 'css' => ['{{wrap}}' => 'height:{{val}};'], 'list' => [ 'auto' => __pl('default'), '100%' => __pl('full'), '' => __pl('custom'), ], 'req' => ['ele_custom_pos' => 'true'] ], 'ele_custom_height' => [ 'type' => 'slider', 'label' => __pl('custom_height'), 'screen' => 1, 'units' => ['px','%','vh'], 'css' => ['{{wrap}}' => 'height:{{val}};'], 'min' => 0, 'max' => 1000, 'step' => 1, 'req' => [ 'ele_height' => '', 'ele_custom_pos' => 'true' ] ], 'ele_position' => [ 'type' => 'select', 'label' => __pl('position'), 'default' => '', 'screen' => 1, 'css' => ['{{wrap}}' => 'position:{{val}} !important; z-index: 1; transform: translateX(-0%);'], 'list' => [ '' => __pl('default'), 'absolute' => __pl('absolute'), 'fixed' => __pl('fixed'), 'relative' => __pl('relative'), ], 'req' => ['ele_custom_pos' => 'true'] ], 'ele_vposition' => [ 'type' => 'select', 'label' => __pl('verticle_pos'), 'screen' => 1, 'css' => ['{{wrap}}' => '{{val}}:0;'], 'list' => [ '' => __pl('default'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'req' => [ '!ele_position' => '', 'ele_custom_pos' => 'true' ] ], 'ele_vposition_offset' => [ 'type' => 'slider', 'label' => __pl('ver_offset'), 'screen' => 1, 'units' => ['px','%','em'], 'css' => ['{{wrap}}' => '{{ele_vposition}}:{{val}};'], 'default' => 0, 'min' => -1000, 'max' => 1000, 'step' => 1, 'req' => [ '!ele_vposition' => '', '!ele_position' => '', 'ele_custom_pos' => 'true' ] ], 'ele_hposition' => [ 'type' => 'select', 'label' => __pl('horizontal_pos'), 'screen' => 1, 'css' => ['{{wrap}}' => '{{val}}:0;'], 'list' => [ '' => __pl('default'), 'left' => __pl('left'), 'right' => __pl('right') ], 'req' => [ '!ele_position' => '', 'ele_custom_pos' => 'true' ] ], 'ele_hposition_offset' => [ 'type' => 'slider', 'label' => __pl('hor_offset'), 'screen' => 1, 'units' => ['px','%','em'], 'css' => ['{{wrap}}' => '{{ele_hposition}}:{{val}};'], 'default' => 0, 'min' => -1000, 'max' => 1000, 'step' => 1, 'req' => [ '!ele_hposition' => '', '!ele_position' => '', 'ele_custom_pos' => 'true' ] ] ]; $pagelayer->styles['animation_styles'] = [ 'animation' => [ 'type' => 'select', 'label' => __pl('animation'), 'default' => '', 'addClass' => ['{{val}}',( !pagelayer_is_live() ? 'pagelayer-wow' : '' )], 'list' => $pagelayer->anim_in_options ], 'animation_speed' => [ 'type' => 'select', 'label' => __pl('animate_speed'), 'default' => '', 'addClass' => 'pagelayer-anim-{{val}}', 'list' => [ '' => __pl('normal'), 'fast' => __pl('fast'), 'slow' => __pl('slow'), 'fastest' => __pl('fastest'), 'slowest' => __pl('slowest'), ], 'req' => [ '!animation' => '' ] ], 'animation_delay' => [ 'type' => 'spinner', 'label' => __pl('animation_delay'), 'css' => '-webkit-animation-delay: {{val}}ms; animation-delay: {{val}}ms;', 'default' => 600, 'min' => 0, 'max' => 90000, 'step' => 100, 'req' => [ '!animation' => '' ] ], 'ele_hover_anim' => array( 'type' => 'select', 'label' => __pl('cta_hover_anim_label'), 'addClass' => 'pagelayer-animation-{{val}}', 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'pro' => 1, ), 'ele_sticky_pos' => array( 'type' => 'select', 'label' => __pl('scroll_sticky'), 'addClass' => 'pagelayer-sticky-ele', 'addAttr' => 'data-sticky-position="{{ele_sticky_pos}}"', 'list' => array( '' => __pl('none'), 'top' => __pl('top'), 'bottom' => __pl('bottom'), ), 'pro' => 1, ), 'ele_sticky_on' => array( 'type' => 'multiselect', 'label' => __pl('sticky_on'), 'default' => 'desktop,tablet,mobile', 'addAttr' => 'data-sticky-on="{{ele_sticky_on}}"', 'list' => array( 'desktop' => __pl('desktop'), 'tablet' => __pl('tablet'), 'mobile' => __pl('mobile'), ), 'req' => [ '!ele_sticky_pos' => ''], 'pro' => 1, ), 'ele_sticky_offset' => array( 'type' => 'slider', 'label' => __pl('offset'), 'addAttr' => 'data-sticky-offset="{{ele_sticky_offset}}"', 'req' => [ '!ele_sticky_pos' => ''], 'pro' => 1, ), 'ele_sticky_in_col' => array( 'type' => 'checkbox', 'label' => __pl('sticky_in_col'), 'addAttr' => 'data-sticky_in_col="{{ele_sticky_in_col}}"', 'req' => [ '!ele_sticky_pos' => ''], 'pro' => 1, ), ]; $pagelayer->styles['motion_effects'] = [ 'ele_motion_effects' => [ 'type' => 'radio', 'label' => '', 'list' => [ '' => __pl('Scrolling'), 'mouse' => __pl('Mouse'), ], ], 'ele_scrolling_effects' => array( 'type' => 'checkbox', 'label' => __pl('Scrolling Effects'), 'addClass' => 'pagelayer-scrolling-effects', 'show' => ['ele_motion_effects' => ''], 'pro' => 1 ), // Vertical Scroll Group 'ele_vertical_scroll_group' => array( 'type' => 'access', 'label' => __pl('Vertical Scroll'), 'show_group' => 'scrolling_v', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Vertical Scroll Settings 'ele_vertical_scroll' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_v', 'addAttr' => 'ele_vertical_scroll="{{ele_vertical_scroll}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_v_sc_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'scrolling_v', 'default' => 'opposite', 'list' => array( 'opposite' => __pl('Opposite'), 'similar' => __pl('Similar'), ), 'addAttr' => 'ele_v_sc_direction="{{ele_v_sc_direction}}"', 'req' => ['!ele_vertical_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_v_sc_speed' => array( 'type' => 'slider', 'label' => __pl('speed'), 'group' => 'scrolling_v', 'min' => 0, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_v_sc_speed="{{ele_v_sc_speed}}"', 'req' => [ '!ele_vertical_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_v_sc_top_viewport' => array( 'type' => 'slider', 'label' => __pl('Top'), 'group' => 'scrolling_v', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_v_sc_top_viewport="{{ele_v_sc_top_viewport}}"', 'req' => [ '!ele_vertical_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_v_sc_bottom_viewport' => array( 'type' => 'slider', 'label' => __pl('bottom'), 'group' => 'scrolling_v', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_v_sc_bottom_viewport="{{ele_v_sc_bottom_viewport}}"', 'req' => [ '!ele_vertical_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), //Horizontal Group 'ele_horizontal_scroll_group' => array( 'type' => 'access', 'label' => __pl('Horizontal Scroll'), 'show_group' => 'scrolling_h', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Horizontal Scroll 'ele_horizontal_scroll' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_h', 'css' => 'transform:translateX(var(--transX));', 'addAttr' => 'ele_horizontal_scroll="{{ele_horizontal_scroll}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_h_sc_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'scrolling_h', 'default' => 'toleft', 'list' => array( 'toleft' => __pl('Toleft'), 'toright' => __pl('Toright'), ), 'addAttr' => 'ele_h_sc_direction="{{ele_h_sc_direction}}"', 'req' => ['!ele_horizontal_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_h_sc_speed' => array( 'type' => 'slider', 'label' => __pl('speed'), 'group' => 'scrolling_h', 'min' => 0, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_h_sc_speed="{{ele_h_sc_speed}}"', 'req' => [ '!ele_horizontal_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_h_sc_left_viewport' => array( 'type' => 'slider', 'label' => __pl('Left'), 'group' => 'scrolling_h', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_h_sc_left_viewport="{{ele_h_sc_left_viewport}}"', 'req' => [ '!ele_horizontal_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_h_sc_right_viewport' => array( 'type' => 'slider', 'label' => __pl('Right'), 'group' => 'scrolling_h', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_h_sc_right_viewport="{{ele_h_sc_right_viewport}}"', 'req' => [ '!ele_horizontal_scroll' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Transparency Group 'ele_transparency_group' => array( 'type' => 'access', 'label' => __pl('Transparency'), 'show_group' => 'scrolling_trans', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Transparency Settings 'ele_transparency' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_trans', 'addAttr' => 'ele_transparency="{{ele_transparency}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_transp_type' => array( 'type' => 'select', 'label' => __pl('Type'), 'group' => 'scrolling_trans', 'default' => 'fadein', 'list' => array( 'fadein' => __pl('Fade In'), 'fadeout' => __pl('Fade Out'), 'fadeinout' => __pl('Fade In Out'), 'fadeoutin' => __pl('Fade Out In') ), 'addAttr' => 'ele_transp_type="{{ele_transp_type}}"', 'req' => ['!ele_transparency' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_transp_level' => array( 'type' => 'slider', 'label' => __pl('Level'), 'group' => 'scrolling_trans', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_transp_level="{{ele_transp_level}}"', 'req' => [ '!ele_transparency' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_transp_top_viewport' => array( 'type' => 'slider', 'label' => __pl('top'), 'group' => 'scrolling_trans', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_transp_top_viewport="{{ele_transp_top_viewport}}"', 'req' => [ '!ele_transparency' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_transp_bottom_viewport' => array( 'type' => 'slider', 'label' => __pl('bottom'), 'group' => 'scrolling_trans', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_transp_bottom_viewport="{{ele_transp_bottom_viewport}}"', 'req' => [ '!ele_transparency' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Blur Group 'ele_blur_group' => array( 'type' => 'access', 'label' => __pl('Blur'), 'show_group' => 'scrolling_blur', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Blur Setting 'ele_blur' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_blur', 'addAttr' => 'ele_blur="{{ele_blur}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_blur_type' => array( 'type' => 'select', 'label' => __pl('Type'), 'group' => 'scrolling_blur', 'default' => 'blurin', 'list' => array( 'blurin' => __pl('Blur In'), 'blurout' => __pl('Blur Out'), 'blurinout' => __pl('Blur In Out'), 'bluroutin' => __pl('Blur Out In') ), 'addAttr' => 'ele_blur_type="{{ele_blur_type}}"', 'req' => ['!ele_blur' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_blur_level' => array( 'type' => 'slider', 'label' => __pl('Level'), 'group' => 'scrolling_blur', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_blur_level="{{ele_blur_level}}"', 'req' => [ '!ele_blur' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_blur_top_viewport' => array( 'type' => 'slider', 'label' => __pl('top'), 'group' => 'scrolling_blur', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_blur_top_viewport="{{ele_blur_top_viewport}}"', 'req' => [ '!ele_blur' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_blur_bottom_viewport' => array( 'type' => 'slider', 'label' => __pl('bottom'), 'group' => 'scrolling_blur', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_blur_bottom_viewport="{{ele_blur_bottom_viewport}}"', 'req' => [ '!ele_blur' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Rotate Group 'ele_rotate_group' => array( 'type' => 'access', 'label' => __pl('Rotate'), 'show_group' => 'scrolling_rotate', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Rotate Setting 'ele_rotate' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_rotate', 'addAttr' => 'ele_rotate="{{ele_rotate}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'scrolling_rotate', 'default' => 'clockwise', 'list' => array( 'clockwise' => __pl('Clockwise'), 'anticlockwise' => __pl('Anticlockwise') ), 'addAttr' => 'ele_rot_direction="{{ele_rot_direction}}"', 'req' => ['!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_speed' => array( 'type' => 'slider', 'label' => __pl('Speed'), 'group' => 'scrolling_rotate', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_rot_speed="{{ele_rot_speed}}"', 'req' => [ '!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_top_viewport' => array( 'type' => 'slider', 'label' => __pl('top'), 'group' => 'scrolling_rotate', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_rot_top_viewport="{{ele_rot_top_viewport}}"', 'req' => [ '!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_bottom_viewport' => array( 'type' => 'slider', 'label' => __pl('bottom'), 'group' => 'scrolling_rotate', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_rot_bottom_viewport="{{ele_rot_bottom_viewport}}"', 'req' => [ '!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_x_anc_point' => array( 'type' => 'select', 'label' => __pl('X Anchor Point'), 'group' => 'scrolling_rotate', 'default' => 'center', 'list' => array( 'left' => __pl('Left'), 'center' => __pl('Center'), 'right' => __pl('Right') ), 'req' => ['!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_rot_y_anc_point' => array( 'type' => 'select', 'label' => __pl('Y Anchor Point'), 'group' => 'scrolling_rotate', 'default' => 'center', 'list' => array( 'top' => __pl('Top'), 'center' => __pl('Center'), 'bottom' => __pl('Bottom') ), 'css' => 'transform-origin:{{val}} {{ele_rot_x_anc_point}}', 'req' => ['!ele_rotate' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Scale Group 'ele_scale_group' => array( 'type' => 'access', 'label' => __pl('Scale'), 'show_group' => 'scrolling_scale', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Scale Setting 'ele_scale' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'scrolling_scale', 'addAttr' => 'ele_scale="{{ele_scale}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'scrolling_scale', 'default' => 'scaleup', 'list' => array( 'scaleup' => __pl('Scale Up'), 'scaledown' => __pl('Scale Down'), 'scaleupdown' => __pl('Scale Up Down'), 'scaledownup' => __pl('Scale Down Up') ), 'addAttr' => 'ele_scl_direction="{{ele_scl_direction}}"', 'req' => ['!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_level' => array( 'type' => 'slider', 'label' => __pl('Level'), 'group' => 'scrolling_scale', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_scl_level="{{ele_scl_level}}"', 'req' => [ '!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_top_viewport' => array( 'type' => 'slider', 'label' => __pl('top'), 'group' => 'scrolling_scale', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_scl_top_viewport="{{ele_scl_top_viewport}}"', 'req' => [ '!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_bottom_viewport' => array( 'type' => 'slider', 'label' => __pl('bottom'), 'group' => 'scrolling_scale', 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'addAttr' => 'ele_scl_bottom_viewport="{{ele_scl_bottom_viewport}}"', 'req' => [ '!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_x_anc_point' => array( 'type' => 'select', 'label' => __pl('X Anchor Point'), 'group' => 'scrolling_scale', 'default' => 'center', 'list' => array( 'left' => __pl('Left'), 'center' => __pl('Center'), 'right' => __pl('Right') ), 'req' => ['!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), 'ele_scl_y_anc_point' => array( 'type' => 'select', 'label' => __pl('Y Anchor Point'), 'group' => 'scrolling_scale', 'default' => 'center', 'list' => array( 'top' => __pl('Top'), 'center' => __pl('Center'), 'bottom' => __pl('Bottom') ), 'css' => 'transform-origin:{{val}} {{ele_scl_x_anc_point}}', 'req' => ['!ele_scale' => '', '!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Motion Area Selection 'motion_area' => array( 'type' => 'select', 'label' => __pl('Effect Relative To'), 'default' => 'viewport', 'list' => array( 'viewport' => __pl('Viewport'), 'entire_page' => __pl('Entire Page'), ), 'addAttr' => 'motion_area="{{motion_area}}"', 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''] ), // Motion Effect Screen Selection 'ele_motion_effect_on' => array( 'type' => 'multiselect', 'label' => __pl('Apply Effects On'), 'default' => 'desktop,tablet,mobile', 'addAttr' => 'ele_motion_effect_on="{{ele_motion_effect_on}}"', 'list' => array( 'desktop' => __pl('desktop'), 'tablet' => __pl('tablet'), 'mobile' => __pl('mobile'), ), 'req' => ['!ele_scrolling_effects' => ''], 'show' => ['ele_motion_effects' => ''], 'pro' => 1, ), // Mouse Effect 'ele_mouse_effects' => array( 'type' => 'checkbox', 'label' => __pl('Mouse Effects'), 'addClass' => 'pagelayer-mouse-effects', 'show' => ['ele_motion_effects' => 'mouse'], 'pro' => 1 ), // Mouse Track Group 'ele_m_track_group' => array( 'type' => 'access', 'label' => __pl('Mouse Track'), 'show_group' => 'mouse_track', 'req' => ['!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), // Mouse Track Setting 'ele_m_track' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'mouse_track', 'addAttr' => 'ele_m_track="{{ele_m_track}}"', 'req' => ['!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), 'ele_m_tr_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'mouse_track', 'default' => 'opposite', 'list' => array( 'opposite' => __pl('Opposite'), 'same' => __pl('Same') ), 'addAttr' => 'ele_m_tr_direction="{{ele_m_tr_direction}}"', 'req' => ['!ele_m_track' => '', '!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), 'ele_m_tr_level' => array( 'type' => 'slider', 'label' => __pl('Level'), 'group' => 'mouse_track', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_m_tr_level="{{ele_m_tr_level}}"', 'req' => [ '!ele_m_track' => '', '!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), // 3D Tilt Group 'ele_3d_tilt_group' => array( 'type' => 'access', 'label' => __pl('3D Tilt'), 'show_group' => 'mouse_3d', 'req' => ['!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), // 3D Tilt Setting 'ele_3d_tilt' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'group' => 'mouse_3d', 'addAttr' => 'ele_3d_tilt="{{ele_3d_tilt}}"', 'css' => 'will-change:transform; transform-style:preserve-3d;', 'req' => ['!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), 'ele_3d_tilt_direction' => array( 'type' => 'select', 'label' => __pl('Direction'), 'group' => 'mouse_3d', 'default' => 'opposite', 'list' => array( 'opposite' => __pl('Opposite'), 'same' => __pl('Same') ), 'addAttr' => 'ele_3d_tilt_direction="{{ele_3d_tilt_direction}}"', 'req' => ['!ele_3d_tilt' => '', '!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ), 'ele_3d_tilt_level' => array( 'type' => 'slider', 'label' => __pl('Level'), 'group' => 'mouse_3d', 'min' => 1, 'step' => 0.1, 'max' => 10, 'default' => 5, 'addAttr' => 'ele_3d_tilt_level="{{ele_3d_tilt_level}}"', 'req' => [ '!ele_3d_tilt' => '', '!ele_mouse_effects' => ''], 'show' => ['ele_motion_effects' => 'mouse'] ) ]; // Resposive stuff $pagelayer->styles['responsive_styles'] = [ 'hide_desktop' => [ 'type' => 'checkbox', 'label' => __pl('hide_desktop'), 'addClass' => 'pagelayer-hide-desktop' ], 'hide_tablet' => [ 'type' => 'checkbox', 'label' => __pl('hide_tablet'), 'addClass' => 'pagelayer-hide-tablet' ], 'hide_mobile' => [ 'type' => 'checkbox', 'label' => __pl('hide_mobile'), 'addClass' => 'pagelayer-hide-mobile' ], ]; // Custom attributes $pagelayer->styles['attributes'] = [ 'ele_attributes' => [ 'type' => 'textarea', 'label' => __pl('custom_attributes'), 'rows' => 5, 'pro' => 1, 'desc' => __pl('attribute_desc') ], ]; // Custom stuff $pagelayer->styles['custom_styles'] = [ 'ele_id' => [ 'type' => 'text', 'label' => __pl('ele_id'), 'desc' => __pl('ele_id_desc'), 'addAttr' => 'id="{{ele_id}}"', ], 'ele_classes' => [ 'type' => 'text', 'label' => __pl('ele_classes'), 'desc' => __pl('ele_classes_desc'), 'addClass' => '{{val}}', ], 'ele_css' => [ 'type' => 'textarea', 'label' => __pl('custom_styles'), 'desc' => __pl('ele_css_desc'), 'rows' => 5, 'css' => ['' => '{{val}}'], 'pro' => 1 ], ]; //////////////////////// // GRID Group //////////////////////// // ROW object pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_row', array( 'name' => __pl('row'), 'group' => 'grid', 'skip_props_cat' => ['position_styles'], 'skip_props' => ['ele_sticky_in_container'], 'html' => '
    {{vid_src}}
    {{slider}}
    {{{parallax_img-alt}}}
    {{svg_top}} {{svg_bottom}}
    ', 'holder' => '.pagelayer-row-holder', 'params' => array( 'stretch' => array( 'type' => 'select', 'label' => __pl('con_width'), 'default' => 'auto', 'list' => array( 'auto' => __pl('auto'), 'full' => __pl('full_width'), 'fixed' => __pl('fixed_width') ), 'addClass' => 'pagelayer-row-stretch-{{val}}' ), 'row_width' => array( 'type' => 'slider', 'label' => __pl('row_width'), 'default' => 500, 'min' => 300, 'max' => 3000, 'step' => 1, 'units' => [ 'px', '%', 'vw' ], 'css' => ['{{element}}' => 'max-width: {{val}}; margin-left: auto !important; margin-right: auto !important;'], 'req' => array( 'stretch' => 'fixed' ) ), 'col_gap' => array( 'type' => 'spinner', 'label' => __pl('col_gap'), 'default' => 10, 'min' => 0, 'step' => 1, 'screen' => 1, 'max' => 1000, 'css' => ['{{element}} .pagelayer-col-holder' => 'padding: {{val}}px;'], ), 'width_content' => array( 'type' => 'radio', 'label' => __pl('Content Width'), 'default' => 'auto', 'list' => array( 'auto' => __pl('auto_width'), 'fixed' => __pl('fixed_width'), 'full' => __pl('full_width') ) ), 'fixed_width' => array( 'type' => 'slider', 'label' => __pl('fixed_con_width'), 'default' => 500, 'min' => 1, 'max' => 3000, 'screen' => 1, 'units' => [ 'px', '%', 'vw' ], 'css' => ['{{element}}>.pagelayer-row-holder' => 'max-width: {{val}}; margin-left: auto; margin-right: auto;'], 'req' => array( 'width_content' => 'fixed' ) ), 'row_height' => array( 'type' => 'radio', 'label' => __pl('row_height'), 'default' => 'default', 'addClass' => 'pagelayer-height-{{val}}', 'list' => array( 'default' => __pl('default'), 'fit' => __pl('fit_to_screen'), 'custom' => __pl('min_height') ), ), 'min_height' => array( 'type' => 'slider', 'label' => __pl('min_height'), 'min' => 0, 'max' => 2000, 'screen' => 1, 'units' => ['px', 'vh', 'vw'], 'css' => 'min-height: {{val}};', 'req' => array( 'row_height' => 'custom' ) ), 'content_pos' => array( 'type' => 'select', 'label' => __pl('content_pos'), 'css' => ['{{element}}>.pagelayer-row-holder .pagelayer-col' => 'align-content: {{val}};'], 'list' => array( '' => __pl('default'), 'flex-start' => __pl('top'), 'center' => __pl('center'), 'flex-end' => __pl('bottom'), ), ), ), 'row_bg_styles' => [ 'row_bg_type' => array( 'type' => 'radio', 'label' => __pl('row_bg_type'), 'list' => array( '' => __pl('none'), 'video' => __pl('video'), 'parallax' => __pl('parallax'), 'slider' => __pl('slider'), ), ), 'bg_video_src' => array( 'type' => 'video', 'label' => __pl('video_src_label'), 'desc' => __pl('video_src_desc'), 'req' => ['row_bg_type' => 'video'] ), 'mute' => array( 'type' => 'checkbox', 'label' => __pl('mute'), 'req' => ['row_bg_type' => 'video'] ), 'stop_loop' => array( 'type' => 'checkbox', 'label' => __pl('stop_loop'), 'req' => ['row_bg_type' => 'video'] ), 'parallax_img' => array( 'type' => 'image', 'label' => __pl('Image'), 'req' => ['row_bg_type' => 'parallax'] ), 'parallax_align' => array( 'type' => 'radio', 'label' => __pl('obj_align_label'), 'screen' => 1, 'default' => 'center', 'css' => ['{{element}} .pagelayer-parallax-window' => 'text-align: {{val}}'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ), 'req' => ['row_bg_type' => 'parallax'] ), 'parallax_id_size' => array( 'label' => __pl('obj_image_size_label'), 'type' => 'select', 'default' => 'full', 'list' => array( 'full' => __pl('full'), 'large' => __pl('large'), 'medium' => __pl('medium'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom') ), 'req' => ['row_bg_type' => 'parallax'] ), 'parallax_custom_size' => array( 'type' => 'dimension', 'label' => __pl('image_custom_size_label'), 'css' => ['{{element}} .pagelayer-parallax-window img' => 'width: {{val[0]}}px; height: {{val[1]}}px;'], 'req' => [ 'parallax_id_size' => 'custom', 'row_bg_type' => 'parallax' ], ), 'parallax_max_width' => array( 'label' => __pl('max-width-percent'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-parallax-window img' => 'max-width: {{val}}%'], 'req' => ['row_bg_type' => 'parallax'] ), 'bg_slider' => array( 'type' => 'multi_image', 'label' => __pl('image_slider_ids_label'), 'req' => ['row_bg_type' => 'slider'], 'pro' => 1 ), 'bg_slider_speed' => array( 'type' => 'spinner', 'label' => __pl('speed_ms'), 'default' => 2000, 'min' => 200, 'max' => 50000, 'step' => 100, 'addAttr' => ['{{element}} .pagelayer-bgimg-slider' => 'data-speed="{{bg_slider_speed}}"'], 'req' => [ 'row_bg_type' => 'slider' ], 'pro' => 1 ), ], 'row_bg_overlay' => [ 'overlay_state' => array( 'type' => 'radio', 'label' => __pl('Overlay'), 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), ), 'overlay_type' => array( 'type' => 'radio', 'label' => __pl('overlay_type'), 'list' => array( '' => __pl('none'), 'color' => __pl('color'), 'image' => __pl('image'), 'gradient' => __pl('gradient') ), 'show' => ['overlay_state' => ''], ), 'overlay_color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-color: {{val}};'], 'req' => ['overlay_type' => 'color'], 'show' => ['overlay_state' => ''], ), 'overlay_gradient' => array( 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'gradient'] ), 'overlay_img' => array( 'type' => 'image', 'label' => __pl('Image'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background: url("{{{overlay_img-url}}}");'], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_img_attachment' => array( 'type' => 'select', 'label' => __pl('overlay_img_attachment'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-attachment: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_posx' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posx'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-position-x: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_posy' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posy'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-position-y: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_repeat' => array( 'type' => 'select', 'label' => __pl('overlay_bg_repeat'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-repeat: {{val}};'], 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_size' => array( 'type' => 'select', 'label' => __pl('overlay_bg_size'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-size: {{val}};'], 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_transperancy' => array( 'type' => 'slider', 'label' => __pl('overlay_transperancy'), 'default' => 0.5, 'min' => 0, 'max' => 1, 'step' => 0.1, 'css' => ['{{element}} > .pagelayer-background-overlay' => 'opacity: {{val}};'], 'req' => array( '!overlay_type' => '', ), 'show' => ['overlay_state' => ''], ), 'overlay_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('overlay_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} > .pagelayer-background-overlay' => '-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;'], 'show' => array( 'overlay_state' => 'hover' ), ), 'overlay_type_hover' => array( 'type' => 'radio', 'label' => __pl('overlay_type_hover'), 'list' => array( '' => __pl('none'), 'color' => __pl('color'), 'gradient' => __pl('gradient'), 'image' => __pl('image'), ), 'show' => ['overlay_state' => 'hover'], ), 'overlay_color_hover' => array( 'type' => 'color', 'label' => __pl('color'), //'desc' => __pl('video_src_desc'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: {{val}};'], 'req' => ['overlay_type_hover' => 'color'], 'show' => ['overlay_state' => 'hover'], ), 'overlay_gradient_hover' => array( 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'gradient'] ), 'overlay_img_hover' => array( 'type' => 'image', 'label' => __pl('Image'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: url("{{{overlay_img_hover-url}}}");'], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_img_attachment_hover' => array( 'type' => 'select', 'label' => __pl('overlay_img_attachment_hover'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-attachment: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_posx_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posx_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-position-x: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_posy_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posy_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-position-y: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_repeat_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_repeat_hover'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-repeat: {{val}};'], 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_size_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_size_hover'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-size: {{val}};'], 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_transperancy_hover' => array( 'type' => 'slider', 'label' => __pl('overlay_transperancy_hover'), 'min' => 0, 'max' => 1, 'step' => 0.1, 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'opacity: {{val}};'], 'req' => array( 'overlay_type' => 'image', 'overlay_type' => 'color' ), 'show' => ['overlay_state' => 'hover'], ), ], 'shape_styles' => [ 'row_shape_position' => array( 'type' => 'radio', 'label' => __pl('shape_position'), 'list' => array( 'top' => __pl('Top'), 'bottom' => __pl('Bottom'), ), ), 'row_shape_type_top' => array( 'type' => 'select', 'label' => __pl('shape_type'), 'default' => '', 'list' => array( '' => __pl('none'), 'arrow' => __pl('Arrow'), 'bigTriangle' => __pl('BigTriangle'), 'bigTriangleShadow' => __pl('BigTriangle Shadow'), 'curve' => __pl('Curve'), 'clouds' => __pl('Clouds'), 'mountains' => __pl('Mountains'), 'pyramids' => __pl('Pyramids'), 'stamp' => __pl('Stamp'), 'slit' => __pl('Slit'), 'split' => __pl('Split'), 'tilt' => __pl('Tilt'), 'tiltOpacity' => __pl('Tilt Opacity'), 'waves' => __pl('Waves'), 'zigzag' => __pl('Zigzag'), ), 'show' => ['row_shape_position' => 'top'], ), 'row_shape_top_color' => array( 'type' => 'color', 'label' => __pl('shape_bg_color'), 'default' => '#227bc3', 'css' => ['{{element}} .pagelayer-svg-top .pagelayer-shape-fill' => 'fill:{{val}}'], 'show' => ['row_shape_position' => 'top'], ), 'row_shape_top_width' => array( 'type' => 'slider', 'label' => __pl('shape_width'), 'screen' => 1, 'default' => 100, 'min' => 100, 'max' => 500, 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-top' => 'width:{{val}}%'], 'show' => ['row_shape_position' => 'top'], ), 'row_shape_top_height' => array( 'type' => 'slider', 'label' => __pl('shape_height'), 'screen' => 1, 'default' => 100, 'min' => 10, 'max' => 500, 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-top' => 'height:{{val}}px'], 'show' => ['row_shape_position' => 'top'], ), 'row_shape_top_flip' => array( 'type' => 'checkbox', 'label' => __pl('shape_flip'), 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-top' => 'transform: rotateY(180deg);'], 'show' => ['row_shape_position' => 'top'], ), 'row_shape_type_bottom' => array( 'type' => 'select', 'label' => __pl('shape_type'), 'default' => '', 'list' => array( '' => __pl('none'), 'arrow' => __pl('Arrow'), 'bigTriangle' => __pl('BigTriangle'), 'bigTriangleShadow' => __pl('BigTriangle Shadow'), 'curve' => __pl('Curve'), 'clouds' => __pl('Clouds'), 'mountains' => __pl('Mountains'), 'pyramids' => __pl('Pyramids'), 'stamp' => __pl('Stamp'), 'slit' => __pl('Slit'), 'split' => __pl('Split'), 'tilt' => __pl('Tilt'), 'tiltOpacity' => __pl('Tilt Opacity'), 'waves' => __pl('Waves'), 'zigzag' => __pl('Zigzag'), ), 'show' => ['row_shape_position' => 'bottom'], ), 'row_shape_bottom_color' => array( 'type' => 'color', 'label' => __pl('shape_bg_color'), 'default' => '#e44993', 'css' => ['{{element}} .pagelayer-svg-bottom .pagelayer-shape-fill' => 'fill:{{val}}'], 'show' => ['row_shape_position' => 'bottom'], ), 'row_shape_bottom_width' => array( 'type' => 'slider', 'label' => __pl('shape_width'), 'screen' => 1, 'default' => 100, 'min' => 100, 'max' => 500, 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-bottom' => 'width:{{val}}%'], 'show' => ['row_shape_position' => 'bottom'], ), 'row_shape_bottom_height' => array( 'type' => 'slider', 'label' => __pl('shape_height'), 'screen' => 1, 'default' => 100, 'min' => 10, 'max' => 500, 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-bottom' => 'height:{{val}}px'], 'show' => ['row_shape_position' => 'bottom'], ), 'row_shape_bottom_flip' => array( 'type' => 'checkbox', 'label' => __pl('shape_flip'), 'css' => ['{{element}} .pagelayer-row-svg .pagelayer-svg-bottom' => 'transform: rotateY(180deg);'], 'show' => ['row_shape_position' => 'bottom'], ), ], 'styles' => [ 'row_bg_styles' => __pl('row_bg_styles'), 'row_bg_overlay' => __pl('row_bg_overlay'), 'shape_styles' => __pl('shape_styles'), ], ) ); // Column object pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_col', array( 'name' => __pl('column'), 'group' => 'grid', 'skip_props_cat' => ['position_styles'], 'skip_props' => ['ele_sticky_in_container'], 'html' => '
    {{vid_src}}
    {{slider}}
    {{{parallax_img-alt}}}
    ', 'holder' => '.pagelayer-col-holder', 'params' => array( 'content_pos' => array( 'type' => 'select', 'label' => __pl('content_pos'), 'css' => ['{{element}}' => 'align-content: {{val}} !important;'], 'list' => array( '' => __pl('default'), 'flex-start' => __pl('top'), 'center' => __pl('center'), 'flex-end' => __pl('bottom') ) ), 'widget_space' => array( 'type' => 'spinner', 'label' => __pl('widget_space'), 'default' => get_option('pagelayer_between_widgets', 15), 'min' => -1000, 'step' => 1, 'max' => 1000, 'css' => ['{{element}} .pagelayer-col-holder > div:not(:last-child)' => 'margin-bottom: {{val}}px;'], ), 'col' => array( 'type' => 'select', 'label' => __pl('col_width'), 'addClass' => 'pagelayer-col-{{val}}', 'list' => array( '1' => __pl('1'), '2' => __pl('2'), '3' => __pl('3'), '4' => __pl('4'), '5' => __pl('5'), '6' => __pl('6'), '7' => __pl('7'), '8' => __pl('8'), '9' => __pl('9'), '10' => __pl('10'), '11' => __pl('11'), '12' => __pl('12'), '' => __pl('custom'), ) ), 'col_width' => array( 'type' => 'spinner', 'label' => __pl('width_custom'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' =>['.pagelayer-row-holder {{wrap}}' => 'width: {{val}}%;'], 'req' => ['col' => ''], ), ), 'col_bg_styles' => [ 'col_bg_type' => array( 'type' => 'radio', 'label' => __pl('col_bg_type'), 'list' => array( '' => __pl('none'), 'video' => __pl('video'), 'parallax' => __pl('parallax'), 'slider' => __pl('slider'), ), ), 'bg_video_src' => array( 'type' => 'video', 'label' => __pl('video_src_label'), 'desc' => __pl('video_src_desc'), 'req' => ['col_bg_type' => 'video'] ), 'mute' => array( 'type' => 'checkbox', 'label' => __pl('mute'), 'req' => ['col_bg_type' => 'video'] ), 'stop_loop' => array( 'type' => 'checkbox', 'label' => __pl('stop_loop'), 'req' => ['col_bg_type' => 'video'] ), 'parallax_img' => array( 'type' => 'image', 'label' => __pl('Image'), 'req' => ['col_bg_type' => 'parallax'] ), 'parallax_align' => array( 'type' => 'radio', 'label' => __pl('obj_align_label'), 'screen' => 1, 'default' => 'center', 'css' => ['{{element}} .pagelayer-parallax-window' => 'text-align: {{val}}'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ), 'req' => ['col_bg_type' => 'parallax'] ), 'parallax_id_size' => array( 'label' => __pl('obj_image_size_label'), 'type' => 'select', 'default' => 'full', 'list' => array( 'full' => __pl('full'), 'large' => __pl('large'), 'medium' => __pl('medium'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom') ), 'req' => ['col_bg_type' => 'parallax'] ), 'parallax_custom_size' => array( 'type' => 'dimension', 'label' => __pl('image_custom_size_label'), 'css' => ['{{element}} .pagelayer-parallax-window img' => 'width: {{val[0]}}px; height: {{val[1]}}px;'], 'req' => array( 'parallax_id_size' => 'custom', 'col_bg_type' => 'parallax' ), ), 'parallax_max_width' => array( 'label' => __pl('max-width-percent'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-parallax-window img' => 'max-width: {{val}}%'], 'req' => ['col_bg_type' => 'parallax'] ), 'bg_slider' => array( 'type' => 'multi_image', 'label' => __pl('image_slider_ids_label'), 'req' => ['col_bg_type' => 'slider'], 'pro' => 1 ), 'bg_slider_speed' => array( 'type' => 'spinner', 'label' => __pl('speed_ms'), 'default' => 2000, 'min' => 200, 'max' => 50000, 'step' => 100, 'addAttr' => ['{{element}} .pagelayer-bgimg-slider' => 'data-speed="{{bg_slider_speed}}"'], 'req' => [ 'col_bg_type' => 'slider' ], 'pro' => 1 ), ], 'col_bg_overlay' => [ 'overlay_state' => array( 'type' => 'radio', 'label' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), ), 'overlay_type' => array( 'type' => 'radio', 'label' => __pl('overlay_type'), 'list' => array( '' => __pl('none'), 'color' => __pl('color'), 'image' => __pl('image'), 'gradient' => __pl('gradient') ), 'show' => ['overlay_state' => ''], ), 'overlay_color' => array( 'type' => 'color', 'label' => __pl('color'), //'desc' => __pl('video_src_desc'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-color: {{val}};'], 'req' => ['overlay_type' => 'color'], 'show' => ['overlay_state' => ''], ), 'overlay_gradient' => array( 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'gradient'] ), 'overlay_img' => array( 'type' => 'image', 'label' => __pl('Image'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background: url("{{{overlay_img-url}}}");'], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_img_attachment' => array( 'type' => 'select', 'label' => __pl('overlay_img_attachment'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-attachment: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_posx' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posx'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-position-x: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_posy' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posy'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'show' => ['overlay_state' => ''], 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-position-y: {{val}};'], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_repeat' => array( 'type' => 'select', 'label' => __pl('overlay_bg_repeat'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-repeat: {{val}};'], 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_bg_size' => array( 'type' => 'select', 'label' => __pl('overlay_bg_size'), 'css' => ['{{element}} > .pagelayer-background-overlay' => 'background-size: {{val}};'], 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['overlay_state' => ''], 'req' => ['overlay_type' => 'image'] ), 'overlay_transperancy' => array( 'type' => 'slider', 'label' => __pl('overlay_transperancy'), 'default' => 0.5, 'min' => 0, 'max' => 1, 'step' => 0.1, 'css' => ['{{element}} > .pagelayer-background-overlay' => 'opacity: {{val}};'], 'req' => array( '!overlay_type' => '', ), 'show' => ['overlay_state' => ''], ), 'overlay_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('overlay_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} > .pagelayer-background-overlay' => '-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;'], 'show' => array( 'overlay_state' => 'hover' ), ), 'overlay_type_hover' => array( 'type' => 'radio', 'label' => __pl('overlay_type_hover'), 'list' => array( '' => __pl('none'), 'color' => __pl('color'), 'gradient' => __pl('gradient'), 'image' => __pl('image'), ), 'show' => ['overlay_state' => 'hover'], ), 'overlay_color_hover' => array( 'type' => 'color', 'label' => __pl('color'), //'desc' => __pl('video_src_desc'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: {{val}};'], 'req' => ['overlay_type_hover' => 'color'], 'show' => ['overlay_state' => 'hover'], ), 'overlay_gradient_hover' => array( 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'gradient'] ), 'overlay_img_hover' => array( 'type' => 'image', 'label' => __pl('Image'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background: url("{{{overlay_img_hover-url}}}");'], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_img_attachment_hover' => array( 'type' => 'select', 'label' => __pl('overlay_img_attachment_hover'), 'list' => [ '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-attachment: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_posx_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posx_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-position-x: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_posy_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_posy_hover'), 'list' => [ '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom') ], 'show' => ['overlay_state' => 'hover'], 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-position-y: {{val}};'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_repeat_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_repeat_hover'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-repeat: {{val}};'], 'list' => [ '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_bg_size_hover' => array( 'type' => 'select', 'label' => __pl('overlay_bg_size_hover'), 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'background-size: {{val}};'], 'list' => [ '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ], 'show' => ['overlay_state' => 'hover'], 'req' => ['overlay_type_hover' => 'image'] ), 'overlay_transperancy_hover' => array( 'type' => 'slider', 'label' => __pl('overlay_transperancy_hover'), 'default' => 0.5, 'min' => 0, 'max' => 1, 'step' => 0.1, 'css' => ['{{element}}:hover > .pagelayer-background-overlay' => 'opacity: {{val}};'], 'req' => array( '!overlay_type_hover' => '', ), 'show' => ['overlay_state' => 'hover'], ), ], 'styles' => [ 'col_bg_styles' => __pl('col_bg_styles'), 'col_bg_overlay' => __pl('col_bg_overlay'), ], ) ); //////////////////////// // TEXT Group //////////////////////// // Heading object pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_heading', array( 'name' => __pl('title'), 'group' => 'text', 'innerHTML' => 'text', 'html' => '
    {{text}}
    ', 'params' => array( 'text' => array( 'type' => 'textarea', 'label' => __pl('Edit Title'), 'default' => '

    Your Heading

    ', 'desc' => __pl('Edit the heading here'), 'e' => [ 'v', 'h', 'f', 'c', 'r'], 'edit' => '.pagelayer-heading-holder', // Edit the text and also mirror the same ), 'link' => array( 'type' => 'link', 'label' => __pl('image_link_label'), 'selector' => '.pagelayer-link-sel' ), 'align' => array( 'label' => __pl('obj_align_label'), 'type' => 'radio', 'addAttr' => 'align="{{align}}"', 'screen' => 1, 'css' => ['{{element}}' => 'text-align: {{val}}'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ) ), ), 'heading_styles' => [ 'heading_state' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-heading-holder *' => 'color:{{val}}', '{{element}} .pagelayer-heading-holder' => 'color:{{val}}'], 'show' => ['heading_state' => 'normal'] ), 'heading_typo' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-heading-holder *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} .pagelayer-heading-holder' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'normal'] ), 'heading_text_shadow' => array( 'type' => 'shadow', 'label' => __pl('text_shadow'), 'css' => ['{{element}} .pagelayer-heading-holder, {{element}} .pagelayer-heading-holder *' => 'text-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}} !important;'], 'show' => ['heading_state' => 'normal'] ), 'color_hover' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-heading-holder:hover *' => 'color:{{val}}', '{{element}} .pagelayer-heading-holder:hover' => 'color:{{val}}'], 'show' => ['heading_state' => 'hover'] ), 'heading_typo_hover' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-heading-holder:hover *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} .pagelayer-heading-holder:hover' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'hover'] ), 'heading_text_shadow_hover' => array( 'type' => 'shadow', 'label' => __pl('text_shadow'), 'css' => ['{{element}} .pagelayer-heading-holder:hover, {{element}} .pagelayer-heading-holder:hover *' => 'text-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}} !important;'], 'show' => ['heading_state' => 'hover'] ), ], 'styles' => [ 'heading_styles' => __pl('heading_styles') ], ) ); // Rich Text object pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_text', array( 'name' => __pl('Rich Text'), 'group' => 'text', 'innerHTML' => 'text', 'html' => '
    {{text}}
    ', 'params' => array( 'text' => array( 'type' => 'editor', 'label' => __pl('Edit Rich Text'), 'default' => pagelayer_is_gutenberg_editor() ? '' : '


    ', 'rows' => '15', 'desc' => __pl('Edit the content by clicking on the content you want to edit on the website'), 'edit' => '.pagelayer-text-holder', // Edit the text and also mirror the same ) ) ) ); // Quote pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array( 'name' => __pl('quote'), 'group' => 'text', 'innerHTML' => 'quote_content', 'html' => '
    {{quote_content}}
    ', 'params' => array( 'quote_content' => array( 'type' => 'textarea', 'label' => __pl('quotes_content_label'), 'default' => 'Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet.', 'edit' => '.pagelayer-quote-content', ), 'quote_background_color' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'default' => '#eeeeee', 'css' => ['{{element}} .pagelayer-quote-holder' => 'background-color: {{val}}'] ), 'quote_content_color' => array( 'type' => 'color', 'label' => __pl('quotes_content_color_label'), 'default' => '#050505', 'css' => ['{{element}} .pagelayer-quote-content' => 'color:{{val}}'], ), 'quote_content_space' => array( 'type' => 'dimension', 'label' => __pl('space_between'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-content' => 'margin-top:{{val[0]}}px;margin-bottom:{{val[1]}}px;'], ), 'quote_content_typo' => array( 'type' => 'typography', 'label' => __pl('quote_content_typo'), 'css' => ['{{element}} .pagelayer-quote-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ), 'qoute_styles' => [ 'quote_style' => array( 'type' => 'select', 'label' => __pl('style'), 'default' => 'quotation', 'list' => array( 'default' => __pl('default'), 'quotation' => __pl('quotation'), 'double' => __pl('double_quotation') ) ), 'quotation_pos' => array( 'type' => 'radio', 'label' => __pl('quotation_pos_label'), 'default' => 'default', 'css' => ['{{element}} .pagelayer-quote-holder' => 'position: relative;', '{{element}} .pagelayer-quote-content' => 'position: relative; z-index:1;', '{{element}} .pagelayer-quote-cite' => 'position: relative; z-index:1;'], 'list' => array( 'default' => __pl('default'), 'overlay' => __pl('overlay') ), 'req' => array( 'quote_style' => 'quotation' ), ), 'quotation_size' => array( 'type' => 'slider', 'label' => __pl('quotation_size_label'), 'min' => 1, 'step' => 1, 'max' => 1000, 'default' => 70, 'screen' => 1, 'css' => ['{{element}} .fa' => 'font-size: {{val}}px;'], 'req' => array( 'quote_style' => ['quotation','double'] ) ), 'quotation_color' => array( 'type' => 'color', 'label' => __pl('quotation_color_label'), 'default' => '#dadada', 'css' => ['{{element}} .fa' => 'color:{{val}}'], 'req' => array( 'quote_style' => ['quotation','double'] ) ), 'quotation_top' => array( 'type' => 'slider', 'label' => __pl('quotation_top_label'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 0, 'screen' => 1, 'css' => ['{{element}} .pagelayer-quotation-overlay' => 'top: {{val}}%;'], 'req' => array( 'quote_style' => 'quotation', 'quotation_pos' => 'overlay' ) ), 'quotation_left' => array( 'type' => 'slider', 'label' => __pl('quotation_left_label'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-quotation-overlay' => 'left: {{val}}%;'], 'req' => array( 'quote_style' => 'quotation', 'quotation_pos' => 'overlay' ) ), 'double_indent' => array( 'type' => 'slider', 'label' => __pl('quotation_double_indent_label'), 'min' => 1, 'step' => 1, 'max' => 500, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .fa-quote-right' => 'padding-left: {{val}}px;', '{{element}} .fa-quote-left' => 'padding-right: {{val}}px;'], 'req' => array( 'quote_style' => 'double' ) ), 'align' => array( 'label' => __pl('obj_align_label'), 'type' => 'radio', 'default' => 'left', 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-holder' => 'text-align: {{val}};'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ) ) ], 'cite_styles' => [ 'cite' => array( 'type' => 'text', 'label' => __pl('quotes_cite_label'), 'default' => '- John Smith', 'desc' => __pl('quotes_cite_desc'), 'edit' => '.pagelayer-cite-holder', ), 'cite_url' => array( 'type' => 'link', 'label' => __pl('quotes_url_label'), 'selector' => '.pagelayer-link-sel', 'desc' => __pl('quotes_url_desc'), ), 'cite_text_color' => array( 'type' => 'color', 'label' => __pl('quotes_cite_color_label'), 'default' => '#3f3f3f', 'css' => ['{{element}} .pagelayer-quote-cite span' => 'color:{{val}}'] ), 'cite_text_align' => array( 'label' => __pl('obj_align_label'), 'type' => 'radio', 'default' => 'left', 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-cite' => 'text-align: {{val}};'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ) ), 'cite_typo' => array( 'type' => 'typography', 'label' => __pl('cite_typo'), 'default' => ',16,italic,,,,solid,,,,', 'css' => ['{{element}} .pagelayer-quote-cite' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ) ], 'border_style' => [ 'quote_border_width' => array( 'type' => 'spinner', 'label' => __pl('quote_left_border_width'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 5, 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-holder' => 'border-left-width: {{val}}px; border-left-style: solid;'] ), 'quote_border_color' => array( 'type' => 'color', 'label' => __pl('quote_border_color'), 'default' => '#02CC90', 'css' => ['{{element}} .pagelayer-quote-holder' => 'border-left-color: {{val}}'] ), 'quote_lpadding' => array( 'type' => 'spinner', 'label' => __pl('quote_left_padding'), 'min' => 1, 'step' => 1, 'max' => 100, 'default' => 30, 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-holder' => 'padding-left: {{val}}px; padding-right: 10px;'] ), 'quote_vpadding' => array( 'type' => 'spinner', 'label' => __pl('quote_vertical_padding'), 'min' => 1, 'step' => 1, 'max' => 100, 'default' => 20, 'screen' => 1, 'css' => ['{{element}} .pagelayer-quote-holder' => 'padding-top: {{val}}px; padding-bottom: {{val}}px;'] ) ], 'styles' => [ 'qoute_styles' => __pl('qoute_styles'), 'cite_styles' => __pl('cite_styles'), 'border_style' => __pl('left_border'), ], ) ); pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_list_item', array( 'name' => __pl('list_item'), 'group' => 'text', 'not_visible' => 1, 'parent' => [PAGELAYER_SC_PREFIX.'_list'], 'innerHTML' => 'item', 'html' => '
  • {{item}}
  • ', 'params' => array( 'item' => array( 'type' => 'text', 'label' => __pl('list_items_label'), 'default' => __pl('list_items_default'), 'edit' => '.pagelayer-list-item', ), 'item_url' => array( 'type' => 'link', 'label' => __pl('list_item_url_label'), 'selector' => '.pagelayer-list-url', ), 'show_icon' => array( 'type' => 'checkbox', 'label' => __pl('list_show_icon'), 'default' => 'true' ), 'icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fas fa-star', 'req' => array( 'show_icon' => 'true' ) ) ) ) ); // List pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_list', array( 'name' => __pl('list'), 'group' => 'text', 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'holder' => '.pagelayer-list-ul', 'html' => '
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('List Item'), 'sc' => PAGELAYER_SC_PREFIX.'_list_item', 'item_label' => array( 'default' => __pl('List Item'), 'param' => 'item' ), 'count' => 2, 'text' => __pl('Add List Item'), ), 'list_type' => array( 'type' => 'select', 'label' => __pl('style'), 'default' => 'none', 'css' => ['{{element}} li' => 'list-style-type: {{val}};'], 'list' => array( 'none' => __pl('none'), 'circle' => __pl('list_list_type_circle'), 'disc' => __pl('list_list_type_disc'), 'square' => __pl('list_list_type_square'), 'armenian' => __pl('list_list_type_armenian'), 'georgian' => __pl('list_list_type_georgian'), 'decimal' => '1, 2, 3, 4', 'decimal-leading-zero' => '01, 02, 03, 04', 'lower-latin' => 'a, b, c, d', 'lower-roman' => 'i, ii, iii, iv', 'lower-greek' => 'α, β, γ, δ', 'upper-latin' => 'A, B, C, D', 'upper-roman' => 'I, II, III, IV' ) ), 'spacing' => array( 'type' => 'slider', 'label' => __pl('list_spacing_label'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list-icon-holder' => 'padding-bottom: calc({{val}}px/2); padding-top: calc({{val}}px/2);'], ), 'side_spacing' => array( 'type' => 'slider', 'label' => __pl('list_side_spacing_label'), 'min' => 0, 'step' => 1, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list_item' => 'padding-left: {{val}}px; padding-right: {{val}}px;'], ), ), 'text_style' => [ 'list_text_state' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => 'normal', 'list' => [ 'normal' => __pl('normal'), 'hover' => __pl('hover') ], ), 'list_color' => array( 'type' => 'color', 'label' => __pl('list_color_label'), 'css' => ['{{element}} .pagelayer-list-item' => 'color:{{val}}'], 'show' =>['list_text_state' => 'normal'] ), 'list_bg' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'css' => ['{{element}} .pagelayer-list-ul > div' => 'background-color:{{val}}'], 'show' =>['list_text_state' => 'normal'] ), 'list_typo' => array( 'type' => 'typography', 'label' => __pl('list_typo'), 'css' => [ '{{element}} li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;' ], 'show' =>['list_text_state' => 'normal'] ), 'item_indent' => array( 'type' => 'slider', 'label' => __pl('list_item_indent_label'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list-item' => 'margin-left: {{val}}px;'], 'show' =>['list_text_state' => 'normal'] ), 'list_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'css' => ['{{element}} .pagelayer-list-item, {{element}} .pagelayer-list-ul > div' => 'transition: all {{val}}ms;'], 'show' =>['list_text_state' => 'hover'] ), 'list_color_hover' => array( 'type' => 'color', 'label' => __pl('list_color_label'), 'css' => ['{{element}} .pagelayer-list-ul > div:hover .pagelayer-list-item' => 'color:{{val}}'], 'show' =>['list_text_state' => 'hover'] ), 'list_bg_hover' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'css' => ['{{element}} .pagelayer-list-ul > div:hover' => 'background-color:{{val}}'], 'show' =>['list_text_state' => 'hover'] ), 'list_typo_hover' => array( 'type' => 'typography', 'label' => __pl('list_typo'), 'css' => [ '{{element}} .pagelayer-list-ul > div:hover li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} .pagelayer-list-ul > div:hover li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;' ], 'show' =>['list_text_state' => 'hover'] ), ], 'icon_style' => [ 'list_icon_state' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => 'normal', 'list' => [ 'normal' => __pl('normal'), 'hover' => __pl('hover') ], ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('list_icon_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-list-icon' => 'color:{{val}}'], 'show' => ['list_icon_state' => 'normal'], ), 'icon_size' => array( 'type' => 'slider', 'label' => __pl('list_icon_size_label'), 'min' => 0, 'step' => 1, 'max' => 150, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list-icon' => 'font-size: {{val}}px'], 'show' => ['list_icon_state' => 'normal'], ), 'icon_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'css' => ['{{element}} .pagelayer-list-icon' => 'transition: all {{val}}ms;'], 'show' =>['list_icon_state' => 'hover'] ), 'icon_color_hover' => array( 'type' => 'color', 'label' => __pl('list_icon_color_label'), 'css' => ['{{element}} .pagelayer-list-ul > div:hover .pagelayer-list-icon' => 'color:{{val}}'], 'show' => ['list_icon_state' => 'hover'], ), 'icon_size_hover' => array( 'type' => 'slider', 'label' => __pl('list_icon_size_label'), 'min' => 0, 'step' => 1, 'max' => 150, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list-ul > div:hover .pagelayer-list-icon' => 'font-size: {{val}}px'], 'show' => ['list_icon_state' => 'hover'], ), ], 'divider' => [ 'icon_border_type' => array( 'type' => 'select', 'label' => __pl('type'), 'css' => ['{{element}} .pagelayer-list-ul > div:not(:last-child)' => 'border-bottom-style: {{val}};'], 'default' => 'solid', 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], ), 'icon_border_color' => array( 'type' => 'color', 'label' => __pl('color'), 'default' => '#cbd2dc78', 'css' => ['{{element}} .pagelayer-list-ul > div' => 'border-bottom-color: {{val}};'], 'req' => array( '!icon_border_type' => '' ), ), 'icon_border_width' => array( 'type' => 'slider', 'label' => __pl('border_width'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 3, 'screen' => 1, 'css' => ['{{element}} .pagelayer-list-ul > div' => 'border-bottom-width: {{val}}px;'], 'req' => [ '!icon_border_type' => '' ] ), ], 'styles' => [ 'text_style' => __pl('text_style'), 'icon_style' => __pl('icon_style'), 'divider' => __pl('divider'), ] ) ); // Icon pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_icon', array( 'name' => __pl('icon'), 'group' => 'text', 'html' => '', 'params' => array( 'icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fas fa-star', ), 'icon_background_size' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_background_size'), 'default' => 10, 'screen' => 1, 'css' => ['{{element}} i' => 'padding: calc(0.5em + {{val}}px);'], 'min' => 1, 'max' => 500, 'step' => 1, ), 'link' => array( 'type' => 'link', 'label' => __pl('icon_link_field_label'), 'selector' => '.pagelayer-ele-link' ), 'icon_alignment' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'default' => 'center', 'screen' => 1, 'css' => 'text-align: {{val}}', 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), ), ), 'icon_style' => [ 'icon_hover' => array( 'type' => 'radio', 'label' => '', 'default' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), ), 'icon_color_style' => array( 'type' => 'color', 'label' => __pl('service_box_icon_color_label'), 'css' => ['{{element}} i' => 'height: 1em; width: 1em; position: relative; color: {{val}};', '{{element}} i:before' => 'position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);'], 'default' => '#0986c0', 'show' => array( 'icon_hover' => '' ), ), 'bg_shape' => array( 'type' => 'select', 'label' => __pl('icon_background_shape'), 'default' => '', 'list' => array( '' => __pl('icon_shape_none'), 'pagelayer-icon-circle' => __pl('icon_shape_circle'), 'pagelayer-icon-square' => __pl('icon_shape_square'), 'pagelayer-icon-rounded' => __pl('icon_shape_rounded') ), 'show' => array( 'icon_hover' => '' ), ), 'icon_size' => array( 'type' => 'select', 'label' => __pl('obj_size_label'), 'default' => 'pagelayer-icon-large', 'list' => array( 'pagelayer-icon-mini' => __pl('mini'), 'pagelayer-icon-small' => __pl('small'), 'pagelayer-icon-large' => __pl('large'), 'pagelayer-icon-extra-large' => __pl('extra_large'), 'pagelayer-icon-double-large' => __pl('double_large'), 'pagelayer-icon-custom' => __pl('custom'), ), 'show' => array( 'icon_hover' => '' ), ), 'icon_size_custom' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_custom_size_label'), 'desc' => __pl('service_box_icon_custom_size_desc'), 'min' => 1, 'step' => 1, 'max' => 500, 'default' => 26, 'screen' => 1, 'css' => ['{{element}} i' => 'font-size: {{val}}px'], 'req' => array( 'icon_size' => 'pagelayer-icon-custom' ), 'show' => array( 'icon_hover' => '' ), ), 'icon_rotate' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_rotate'), 'default' => 0, 'css' => ['{{element}} i' => 'transform: rotate({{val}}deg)'], 'min' => -360, 'max' => 360, 'step' => 1, 'screen' => 1, 'show' => array( 'icon_hover' => '' ), ), 'icon_bg_rotate' => array( 'type' => 'spinner', 'label' => __pl('rotate_icon'), 'default' => 0, 'css' => ['{{element}} i:before' => 'transform: translate(-50%, -50%) rotate({{val}}deg)'], 'min' => -360, 'max' => 360, 'step' => 1, 'screen' => 1, 'show' => array( 'icon_hover' => '' ), 'req' => [ '!bg_shape' => ''] ), 'bg_color' => array( 'type' => 'color', 'label' => __pl('service_box_icon_background_color_label'), 'default' => '#42414f', 'css' => ['{{element}} i' => 'background-color: {{val}};'], 'req' => array( '!bg_shape' => '' ), 'show' => array( 'icon_hover' => '' ), ), 'icon_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('animation_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'screen' => 1, 'css' => ['{{element}} i' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;', '{{element}} i:hover:before' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => array( 'icon_hover' => 'hover' ), ), 'icon_color_style_hover' => array( 'type' => 'color', 'label' => __pl('service_box_icon_color_label'), 'css' => ['{{element}} i:hover' => 'height: 1em; width: 1em; position: relative; color: {{val}}', '{{element}} i:before' => 'position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);'], 'show' => array( 'icon_hover' => 'hover' ), ), 'icon_size_custom_hover' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_custom_size_label'), 'desc' => __pl('service_box_icon_custom_size_desc'), 'min' => 1, 'step' => 1, 'max' => 500, 'screen' => 1, 'css' => ['{{element}} i:hover' => 'font-size: {{val}}px'], 'req' => array( 'icon_size' => 'pagelayer-icon-custom' ), 'show' => array( 'icon_hover' => 'hover' ), ), 'anim_hover' => array( 'type' => 'select', 'label' => __pl('icon_animation'), 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'show' => array( 'icon_hover' => 'hover', ), ), 'icon_rotate_hover' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_rotate'), 'default' => 0, 'css' => ['{{element}} i:hover' => 'transform: rotate({{val}}deg)'], 'min' => 0, 'max' => 360, 'step' => 1, 'screen' => 1, 'show' => array( 'icon_hover' => 'hover' ), 'req' => [ '!bg_shape' => ''] ), 'icon_bg_rotate_hover' => array( 'type' => 'spinner', 'label' => __pl('rotate_icon'), 'default' => 0, 'css' => ['{{element}} i:hover:before' => 'transform: translate(-50%, -50%) rotate({{val}}deg)'], 'min' => 0, 'max' => 360, 'step' => 1, 'screen' => 1, 'show' => array( 'icon_hover' => 'hover' ), ), 'bg_color_hover' => array( 'type' => 'color', 'label' => __pl('service_box_icon_background_color_label'), 'css' => ['{{element}} i:hover' => 'background-color: {{val}};'], 'req' => array( '!bg_shape' => '' ), 'show' => array( 'icon_hover' => 'hover' ), ), 'icon_background_size_hover' => array( 'type' => 'spinner', 'label' => __pl('service_box_icon_background_size'), 'css' => ['{{element}} i:hover' => 'padding: calc(0.5em + {{val}}px)'], 'min' => 1, 'max' => 500, 'step' => 1, 'screen' => 1, 'req' => array( '!bg_shape' => '' ), 'show' => array( 'icon_hover' => 'hover' ), ) ], 'border_style' => [ 'icon_border_hover' => array( 'type' => 'radio', 'label' => '', 'default' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), ), 'icon_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} i' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'icon_border_hover' => '' ), ), 'icon_border_color' => array( 'type' => 'color', 'label' => __pl('service_box_icon_border_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} i' => 'border-color: {{val}};'], 'req' => array( '!icon_border_type' => '' ), 'show' => array( 'icon_border_hover' => '' ), ), 'icon_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} i' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!icon_border_type' => '' ], 'show' => array( 'icon_border_hover' => '' ), ), 'icon_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} i' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!icon_border_type' => '' ), 'show' => array( 'icon_border_hover' => '' ), ), 'icon_border_type_hover' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} i:hover' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'icon_border_hover' => 'hover' ), ), 'icon_border_color_hover' => array( 'type' => 'color', 'label' => __pl('service_box_icon_border_color_label'), 'css' => ['{{element}} i:hover' => 'border-color: {{val}};'], 'default' => '#0986c0', 'req' => array( '!icon_border_type_hover' => '' ), 'show' => array( 'icon_border_hover' => 'hover' ), ), 'icon_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} i:hover' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!icon_border_type_hover' => '' ], 'show' => array( 'icon_border_hover' => 'hover' ), ), 'icon_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} i:hover' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!icon_border_type_hover' => '' ), 'show' => array( 'icon_border_hover' => 'hover' ), ), ], 'styles' => [ 'icon_style' => __pl('icon_style_hover'), 'border_style' => __pl('border'), ] ) ); // Badge pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_badge', array( 'name' => __pl('Badge'), 'group' => 'text', 'innerHTML' => 'title', 'html' => ' ', 'params' => array( 'badge_text' => array( 'type' => 'text', 'label' => __pl('badge_text'), 'default' => 'Badge', 'edit' => '.pagelayer-badge-title', ), 'badge_url' => array( 'type' => 'link', 'label' => __pl('badge_url_label'), 'selector' => '.pagelayer-ele-link', ), 'badge_notification_type' => array( 'type' => 'select', 'label' => __pl('badge_notification_type'), 'default' => 'primary', 'list' => [ 'primary' => __pl('Primary'), 'secondary' => __pl('Secondary'), 'success' => __pl('Success'), 'warning' => __pl('Warning'), 'danger' => __pl('Danger'), 'info' => __pl('Info'), 'light' => __pl('Light'), 'dark' => __pl('Dark'), 'custom' => __pl('Custom'), ], ), 'custom_badge_state' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), 'req' => ['badge_notification_type' => 'custom'], ), 'custom_badge_text_color' => array( 'type' => 'color', 'label' => __pl('badge_text_color_label'), 'css' => ['{{element}} .pagelayer-badge-title' => 'color:{{val}} !important;'], 'show' => ['custom_badge_state' => ''], 'req' => ['badge_notification_type' => 'custom'], ), 'custom_badge_bg_color' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'css' => ['{{element}} .pagelayer-badge-title' => 'background-color:{{val}} !important;'], 'show' => ['custom_badge_state' => ''], 'req' => ['badge_notification_type' => 'custom'], ), 'custom_badge_text_color_hover' => array( 'type' => 'color', 'label' => __pl('badge_text_color_label'), 'css' => ['{{element}} .pagelayer-badge-title:hover' => 'color:{{val}} !important;'], 'show' => ['custom_badge_state' => 'hover'], 'req' => ['badge_notification_type' => 'custom'], ), 'custom_badge_bg_color_hover' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'css' => ['{{element}} .pagelayer-badge-title:hover' => 'background-color:{{val}} !important;'], 'show' => ['custom_badge_state' => 'hover'], 'req' => ['badge_notification_type' => 'custom'], ), 'badge_style_type' => array( 'type' => 'select', 'label' => __pl('badge_style'), 'default' => 'normal', 'list' => [ 'normal' => __pl('Normal'), 'pills' => __pl('Pills'), ], ), 'badge_vertical_align' => array( 'type' => 'select', 'label' => __pl('badge_vertical_align'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-badge-details' => 'vertical-align:{{val}};'], 'list' => [ '' => __pl('none'), 'top' => __pl('Top'), 'bottom' => __pl('Bottom'), ], 'req' => array( 'badge_button' => '', ) ), ), 'text_style' => [ 'text' => array( 'type' => 'text', 'label' => __pl('text'), 'default' => 'Your custom text', 'edit' => '.pagelayer-badge-text', ), 'text_state' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'text_color' => array( 'type' => 'color', 'label' => __pl('badge_text_color_label'), 'default' => '#000000', 'css' => ['{{element}} .pagelayer-badge-text' => 'color:{{val}};'], 'show' => ['text_state' => ''] ), 'text_color_hover' => array( 'type' => 'color', 'label' => __pl('badge_text_color_label'), 'css' => ['{{element}} .pagelayer-badge-text:hover' => 'color:{{val}};'], 'show' => ['text_state' => 'hover'] ), 'text_style' => array( 'type' => 'typography', 'label' => __pl('text_size'), 'default' => ',25,,400,,,,,,,', 'css' => ['{{element}} .pagelayer-badge-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'badge_style' => [ 'badge_text_color' => array( 'type' => 'color', 'label' => __pl('badge_text_color_label'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-badge-custom' => 'color:{{val}};'], 'req' => ['badge_notification_type' => 'custom'], ), 'badge_spacing' => array( 'type' => 'slider', 'label' => __pl('badge_spacing'), 'default' => 2, 'min' => 1, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-badge-details' => 'margin-left:{{val}}px;'], ), 'badge_background_color' => array( 'type' => 'color', 'label' => __pl('badge_text_background_label'), 'default' => '#4982ee', 'css' => ['{{element}} .pagelayer-badge-custom' => 'background-color:{{val}};'], 'req' => ['badge_notification_type' => 'custom'], ), 'badge_vspacing' => array( 'type' => 'slider', 'label' => __pl('quote_vertical_padding'), 'default' => 2, 'min' => 0, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-badge-details' => 'padding-top:{{val}}px; padding-bottom:{{val}}px;'], ), 'badge_hspacing' => array( 'type' => 'slider', 'label' => __pl('horizontal_spacing'), 'default' => 2, 'min' => 0, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-badge-details' => 'padding-left:{{val}}px; padding-right:{{val}}px;'], ), 'badge_text_style' => array( 'type' => 'typography', 'label' => __pl('badge_text_size'), 'default' => ',16,,400,,,,,,,', 'css' => ['{{element}} .pagelayer-badge-details' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'btn_badge' => [ 'badge_button' => array( 'type' => 'checkbox', 'label' => __pl('button_badge'), 'css' => ['{{element}} .pagelayer-badge-btn '=> 'display : block;', '{{element}} .pagelayer-badge-span'=> 'display : none;', ], ), 'badge_btn_type' => array( 'type' => 'select', 'label' => __pl('badge_btn_type'), 'default' => 'warning', 'list' => [ 'primary' => __pl('Primary'), 'secondary' => __pl('Secondary'), 'success' => __pl('Success'), 'warning' => __pl('Warning'), 'danger' => __pl('Danger'), 'info' => __pl('Info'), 'light' => __pl('Light'), 'dark' => __pl('Dark'), 'custom' => __pl('Custom'), ], 'req' => array( 'badge_button' => 'true', ) ), 'badge_btn_hover' => array( 'type' => 'radio', 'label' => '', 'default' => '', 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), 'req' => array( 'badge_button' => 'true', 'badge_btn_type' => 'custom', ), ), 'badge_btn_background_color' => array( 'type' => 'color', 'label' => __pl('badge_btn_background_label'), 'default' => '#4982ee', 'css' => ['{{element}} .pagelayer-badge-btn' => 'background-color:{{val}};'], 'req' => [ 'badge_btn_type' => 'custom', 'badge_button' => 'true', ], 'show' => ['badge_btn_hover' => ''], ), 'badge_btn_background_color_hover' => array( 'type' => 'color', 'label' => __pl('badge_btn_background_label'), 'default' => '#4982ee', 'css' => ['{{element}} .pagelayer-badge-btn:hover' => 'background-color:{{val}};'], 'show' => ['badge_btn_hover' => 'hover'], ), ], 'styles' => [ 'text_style' => __pl('text'), 'badge_style' => __pl('badge_style'), 'btn_badge' => __pl('btn_badge'), ] ) ); // Tooltip pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tooltip', array( 'name' => __pl('Tooltip'), 'group' => 'text', 'innerHTML' => 'tooltip_text', 'html' => '
    {{text}}
    {{tooltip_text}}
    ', 'params' => array( 'text' => array( 'type' => 'text', 'label' => __pl('text'), 'default' => __pl('hover_me'), 'edit' => '.pagelayer-tooltip-title', ), 'tooltip_text' => array( 'type' => 'editor', 'label' => __pl('tooltip_text'), 'default' => 'Hey there, I have an amazing tooltip !', 'edit' => '.pagelayer-tooltip-text', ), ), 'text_style' => [ 'tooltip_align' => array( 'label' => __pl('tooltip_align'), 'type' => 'select', 'default' => 'center', 'screen' => 1, 'css' => 'text-align: {{val}};', 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ) ), 'text_color' => array( 'type' => 'color', 'label' => __pl('tooltip_title_color'), 'css' => ['{{element}} .pagelayer-tooltip-title' => 'color:{{val}};'], ), 'text_size' => array( 'type' => 'typography', 'label' => __pl('tooltip_title_size'), 'default' => ',25,,400,,,,,,,', 'css' => ['{{element}} .pagelayer-tooltip-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} .pagelayer-tooltip-icon i' => 'font-size: {{val[1]}}px !important;'], ), 'tooltip_text_shadow' => array( 'type' => 'shadow', 'label' => __pl('tooltip_text_shadow'), 'css' => ['{{element}} .pagelayer-tooltip-title' => 'text-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}};', '{{element}} .pagelayer-tooltip-icon i' => 'text-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}};'], ), ], 'tooltip_style' => [ 'tooltip_position' => array( 'type' => 'select', 'label' => __pl('tooltip_positon'), 'default' => 'top', 'list' => [ 'top' => __pl('Top'), 'right' => __pl('Right'), 'bottom' => __pl('Bottom'), 'left' => __pl('Left'), ], ), 'tooltip_width' => array( 'label' => __pl('tooltip-width'), 'type' => 'slider', 'min' => 100, 'max' => 500, 'default' => 200, 'screen' => 1, 'css' => ['{{element}} .pagelayer-tooltip-text' => 'width:{{val}}px;'], ), 'tooltip_spacing' => array( 'label' => __pl('tooltip_spacing'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .pagelayer-tooltip-text' => 'padding:{{val}}px;'], ), 'tooltip_background' => array( 'type' => 'color', 'label' => __pl('tooltip_background_color'), 'default' => '#333333', 'css' => ['{{element}} .pagelayer-tooltip-text' => 'background-color:{{val}};', '{{element}} .pagelayer-tooltip-top:after' => 'border-top-color:{{val}};', '{{element}} .pagelayer-tooltip-right:after' => 'border-right-color:{{val}};', '{{element}} .pagelayer-tooltip-bottom:after' => 'border-bottom-color:{{val}};', '{{element}} .pagelayer-tooltip-left:after' => 'border-left-color:{{val}};', ], ), 'tooltip_color' => array( 'type' => 'color', 'label' => __pl('tooltip_text_color'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-tooltip-text' => 'color:{{val}};'], ), 'tooltip_text_size' => array( 'type' => 'typography', 'label' => __pl('tooltip_text_size'), 'default' => ',18,,400,,,,,,,', 'css' => ['{{element}} .pagelayer-tooltip-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'tooltip_shadow' => array( 'type' => 'box_shadow', 'label' => __pl('tooltip_shadow'), 'css' => ['{{element}} .pagelayer-tooltip-text' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}};'], ), ], 'icon_style' => [ 'show_icon' => array( 'type' => 'checkbox', 'label' => __pl('show_icon'), ), 'tooltip_icon' => array( 'type' => 'icon', 'label' => __pl('tooltip_icon'), 'default' => 'fas fa-exclamation-circle', 'req' => array( 'show_icon' => 'true', ) ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('tooltip_icon_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-tooltip-icon' => 'color:{{val}};'], 'req' => array( 'show_icon' => 'true', ) ), 'icon_spacing' => array( 'label' => __pl('icon_space'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'default' => 4, 'screen' => 1, 'css' => ['{{element}} .pagelayer-tooltip-icon' => 'margin-left:{{val}}px; margin-right:{{val}}px;'], 'req' => array( 'show_icon' => 'true', ) ), 'tooltip_icon_alignment' => array( 'label' => __pl('tooltip_icon_alignment'), 'type' => 'radio', 'default' => 'right', 'css' => ['{{element}} .pagelayer-tooltip-icon' => 'float: {{val}};'], 'list' => array( 'left' => __pl('left'), 'right' => __pl('right'), ), 'req' => array( 'show_icon' => 'true', ) ) ], 'styles' => [ 'icon_style' => __pl('icon'), 'text_style' => __pl('text_style'), 'tooltip_style' => __pl('tooltip_style'), ] ) ); //////////////////////// // Image Group //////////////////////// // Image pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array( 'name' => __pl('image'), 'group' => 'image', 'innerHTML' => 'text', 'html' => '

    {{caption}}

    ', 'params' => array( 'id' => array( 'label' => __pl('image_src_label'), 'desc' => __pl('image_src_desc'), 'type' => 'image', 'default' => PAGELAYER_URL.'/images/default-image.png', 'retina' => 1, ), 'id-size' => array( 'label' => __pl('obj_image_size_label'), 'type' => 'select', 'default' => 'full', 'list' => array( 'full' => __pl('full'), 'large' => __pl('large'), 'medium' => __pl('medium'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom') ) ), 'custom_size' => array( 'label' => __pl('image_custom_size_label'), 'type' => 'text', 'screen' => 1, 'default' => '100x100', 'sep' => 'x', 'css' => ['{{element}} img' => 'width: {{val[0]}}px; height: {{val[1]}}px;'], 'req' => array( 'id-size' => 'custom' ), ), 'align' => array( 'label' => __pl('obj_align_label'), 'type' => 'radio', 'default' => 'center', 'screen' => 1, 'css' => ['{{element}} .pagelayer-image-holder' => 'text-align: {{val}}', '{{element}} .pagelayer-image-holder .pagelayer-image-overlay-content' => 'text-align: {{val}}'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ) ), 'max-width' => array( 'label' => __pl('max-width-percent'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'screen' => 1, 'css' => ['{{element}} img' => 'max-width: {{val}}%'], ), 'img_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('normal'), 'hover' => __pl('hover'), ), ), 'img_filter' => array( 'type' => 'filter', 'label' => __pl('filter'), //'default' => '0,100,100,0,0,100,100', 'css' => ['{{element}} img' => 'filter: blur({{val[0]}}px) brightness({{val[1]}}%) contrast({{val[2]}}%) grayscale({{val[3]}}%) hue-rotate({{val[4]}}deg) opacity({{val[5]}}%) saturate({{val[6]}}%)'], 'show' => ['img_hover' => 'normal'] ), 'img_shadow' => array( 'type' => 'box_shadow', 'label' => __pl('shadow'), 'screen' => 1, 'css' => ['{{element}} img' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'], 'show' => ['img_hover' => 'normal'] ), 'img_rotate' => array( 'type' => 'spinner', 'label' => __pl('Rotate'), 'min' => 0, 'max' => 360, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} img' => 'transform: rotate({{val}}deg)'], 'show' => ['img_hover' => 'normal'], 'pro' => 1 ), 'img_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('btn_hover_delay_label'), 'desc' => __pl('btn_hover_delay_desc'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-img' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;',], 'show' => ['img_hover' => 'hover'] ), 'img_filter_hover' => array( 'type' => 'filter', 'label' => __pl('filter'), //'default' => '0,100,100,0,0,100,100', 'css' => ['{{element}} img:hover' => 'filter: blur({{val[0]}}px) brightness({{val[1]}}%) contrast({{val[2]}}%) grayscale({{val[3]}}%) hue-rotate({{val[4]}}deg) opacity({{val[5]}}%) saturate({{val[6]}}%)'], 'show' => ['img_hover' => 'hover'] ), 'img_shadow_hover' => array( 'type' => 'box_shadow', 'label' => __pl('shadow'), 'screen' => 1, 'css' => ['{{element}} img:hover' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'], 'show' => ['img_hover' => 'hover'] ), 'img_rotate_hover' => array( 'type' => 'spinner', 'label' => __pl('Rotate'), 'min' => 0, 'max' => 360, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} img:hover' => 'transform: rotate({{val}}deg)'], 'show' => ['img_hover' => 'hover'], 'pro' => 1 ), 'anim_hover' => array( 'type' => 'select', 'label' => __pl('icon_animation'), 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'show' => ['img_hover' => 'hover'], 'pro' => 1 ), ), // Image related Styles 'link_settings' => [ 'link_type' => array( 'type' => 'select', 'label' => __pl('image_link_label'), 'default' => '', 'list' => array( '' => __pl('none'), 'custom_url' => __pl('custom_url'), 'media_file' => __pl('media_file'), 'lightbox' => __pl('lightbox') ) ), 'link' => array( 'type' => 'link', 'label' => __pl('image_link_label'), 'desc' => __pl('image_link_desc'), 'selector' => '.pagelayer-ele-link', 'req' => array( 'link_type' => 'custom_url' ) ), 'rel' => array( 'type' => 'text', 'label' => __pl('image_rel_label'), 'default' => '', 'addAttr' => ['{{element}} a' => 'rel="{{rel}}"'], 'req' => array( 'link_type' => 'media_file' ) ), 'target' => array( 'label' => __pl('open_link_in_new_window'), 'type' => 'checkbox', 'addAttr' => ['{{element}} a' => 'target="_blank"'], 'req' => array( 'link_type' => ['custom_url', 'media_file'] ), 'show' => ['link_type' => 'media_file'] ), ], // Caption related Styles 'caption_style' => [ 'caption' => array( 'label' => __pl('gallery_grid_caption_label'), 'desc' => __pl('gallery_grid_caption_desc'), 'type' => 'text', 'edit' => '.pagelayer-image-caption' ), 'caption_color' => array( 'label' => __pl('Caption Color'), 'type' => 'color', 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-image-caption' => 'color: {{val}}'], ), 'caption_typo' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-image-caption' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ) ], 'overlay_style' => [ 'overlay' => array( 'label' => __pl('image_overlay_effect_label'), 'desc' => __pl('image_overlay_effect_desc'), 'type' => 'checkbox', ), 'icon' => array( 'label' => __pl('icon'), 'type' => 'icon', 'default' => 'fas fa-star', 'req' => array( 'overlay' => 'true' ) ), 'icon_color' => array( 'label' => __pl('icon_color'), 'type' => 'color', 'default' => '#e6cf03', 'css' => ['{{element}} .pagelayer-image-overlay-icon' => 'color: {{val}}'], 'req' => array( 'overlay' => 'true' ) ), 'icon_size' => array( 'label' => __pl('icon_custom_size'), 'desc' => __pl('icon_custom_size_desc'), 'type' => 'spinner', 'min' => 0, 'step' => 1, 'max' => 500, 'default' => 50, 'screen' => 1, 'css' => ['{{element}} .pagelayer-image-overlay-icon' => 'font-size: {{val}}px'], 'req' => array( 'overlay' => 'true' ) ), 'text' => array( 'label' => __pl('content'), 'type' => 'editor', 'default' => '

    Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s.

    ', 'edit' => '.pagelayer-image-overlay-text', 'req' => array( 'overlay' => 'true' ) ), 'overlay_bg_type' => array( 'label' => __pl('background_type'), 'type' => 'radio', 'default' => 'color', 'list' => array( 'color' => __pl('color'), 'gradient' => __pl('gradient') ), 'req' => array( 'overlay' => 'true' ) ), 'overlay_bg' => array( 'label' => __pl('image_overlay_background'), 'type' => 'color', 'default' => 'rgba(0,0,0,.6)', 'css' => ['{{element}} .pagelayer-image-overlay' => 'background: {{val}}'], 'req' => array( 'overlay' => 'true', '!overlay_bg_type' => 'gradient' ) ), 'overlay_gradient' => [ 'type' => 'gradient', 'label' => '', 'css' => ['{{element}} .pagelayer-image-overlay' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'req' => array( 'overlay' => 'true', 'overlay_bg_type' => 'gradient' ) ], 'content_position' => array( 'label' => __pl('Overlay Content Position'), 'type' => 'radio', 'default' => 'center', 'screen' => 1, 'css' => ['{{element}} .pagelayer-image-overlay' => 'display:-webkit-flex;display:flex;-webkit-align-items:{{val}}; align-items:{{val}};'], 'list' => array( 'flex-start' => __pl('Top'), 'center' => __pl('Middle'), 'flex-end' => __pl('Bottom'), ), 'req' => array( 'overlay' => 'true' ) ), 'show_always' => array( 'label' => __pl('image_show_always'), 'type' => 'checkbox', 'screen' => 1, 'css' => ['{{element}} .pagelayer-image-overlay' => 'opacity:1;'], 'req' => array( 'overlay' => 'true' ) ) ], 'styles' => [ 'link_settings' => __pl('link_settings'), 'caption_style' => __pl('caption_style'), 'overlay_style' => __pl('overlay_style') ], ) ); // Image Slider pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image_slider', array( 'name' => __pl('Image Slider'), 'group' => 'image', 'prevent_inside' => ['pl_slides'], 'html' => '
    ', 'settings' => [ 'params' => __pl('Image Slider'), 'slider_options' => __pl('slider_options'), ], 'params' => array( 'ids' => array( 'type' => 'multi_image', 'label' => __pl('image_slider_ids_label'), 'desc' => __pl('media_library_images_ids_desc'), ), 'size' => array( 'type' => 'select', 'label' => __pl('obj_image_size_label'), 'default' => 'full', 'list' => array( 'full' => __pl('full'), 'large' => __pl('large'), 'medium' => __pl('medium'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom') ) ), 'custom_size' => array( 'type' => 'dimension', 'label' => __pl('image_custom_size_label'), 'default' => '200,200', 'screen' => 1, 'css' => ['{{element}} .pagelayer-image-slider-ul' => 'width: {{val[0]}}px; height: {{val[1]}}px;'], 'req' => array( 'size' => 'custom' ), ), 'link_type' => array( 'label' => __pl('image_link_label'), 'type' => 'select', 'list' => array( '' => __pl('none'), 'custom_url' => __pl('custom_url'), 'media_file' => __pl('media_file'), ) ), 'link' => array( 'type' => 'link', 'label' => __pl('image_link_url'), 'desc' => __pl('image_link_desc'), 'selector' => '.pagelayer-link-sel', 'req' => array( 'link_type' => 'custom_url' ) ), 'target' => array( 'label' => __pl('open_link_in_new_window'), 'type' => 'checkbox', 'addAttr' => ['{{element}} a' => 'target="_blank"'], 'req' => array( 'link_type' => ['custom_url', 'media_file'] ), 'show' => ['link_type' => 'media_file'] // Backward compatibility of link props ), 'slider_img_gap' => array( 'type' => 'dimension', 'label' => __pl('space_between'), 'min' => 0, 'screen' => 1, 'css' => ['{{element}} .pagelayer-slider-item' => 'padding: {{val[0]}}px {{val[1]}}px;'], ), ), 'slider_options' => [ 'slide_items' => array( 'type' => 'spinner', 'label' => __pl('number_of_items'), 'min' => 1, 'step' => 1, 'max' => 10, 'default' => 1, 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-items="{{slide_items}}"'], ), 'slider_animation' => array( 'type' => 'select', 'label' => __pl('animation_in'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-animate-in="{{slider_animation}}"'], 'list' => $pagelayer->anim_in_options, 'req' => ['slide_items' => '1'] ), 'slideout_anim' => array( 'type' => 'select', 'label' => __pl('animation_out'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-animate-out="{{slideout_anim}}"'], 'list' => $pagelayer->anim_out_options, 'req' => ['slide_items' => '1'] ), 'controls' => array( 'type' => 'select', 'label' => __pl('slider_controls'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-controls="{{controls}}"'], 'list' => array( '' => __pl('Arrows and Pager'), 'arrows' => __pl('Arrows'), 'pager' => __pl('Pager'), 'none' => __pl('none'), ) ), 'pause' => array( 'type' => 'slider', 'label' => __pl('image_slider_slideshow_speed_label'), 'default' => 5000, 'min' => 200, 'max' => 20000, 'step' => 100, 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay-timeout="{{pause}}"'], ), 'speed' => array( 'type' => 'slider', 'label' => __pl('slider_animation_speed'), 'addAttr' => ['.pagelayer-image-slider-ul' => 'data-slides-smart-speed="{{speed}}"'], 'default' => 800, 'min' => 200, 'max' => 10000, 'step' => 100 ), 'loop' => array( 'type' => 'checkbox', 'label' => __pl('image_slider_loop'), 'desc' => __pl('image_slider_loop_desc'), 'default' => 'true', 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-loop="{{loop}}"'], ), 'adaptive_height' => array( 'type' => 'checkbox', 'label' => __pl('slider_height'), 'desc' => __pl('slider_height_desc'), 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-auto-height="{{adaptive_height}}"'], ), 'auto' => array( 'type' => 'checkbox', 'label' => __pl('image_slider_auto'), 'desc' => __pl('image_slider_auto_desc'), 'default' => 'true', 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay="{{auto}}"'], ), 'auto_hover' => [ 'type' => 'checkbox', 'label' => __pl('auto_hover'), 'desc' => __pl('auto_hover_desc'), 'default' => 'true', 'addAttr' => ['{{element}} .pagelayer-owl-holder' => 'data-slides-autoplay-hover-pause="{{auto_hover}}"'], ], ], 'arrow_styles' => $pagelayer->slider_arrow_styles, 'pager_styles' => $pagelayer->slider_pager_styles, 'styles' => [ 'slider_options' => __pl('slider_options'), 'arrow_styles' => __pl('arrow_styles'), 'pager_styles' => __pl('pager_styles'), ], ) ); // Grid Gallery pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_grid_gallery', array( 'name' => __pl('Grid Gallery'), 'group' => 'image', 'html' => ' {{pagin}}', 'params' => array( 'ids' => array( 'type' => 'multi_image', 'label' => __pl('grid_gallery_images'), 'desc' => __pl('media_library_images_ids_desc'), ), 'columns' => array( 'type' => 'select', 'label' => __pl('columns_count'), 'default' => 3, 'screen' => 1, 'css' => ['{{element}} .pagelayer-grid-gallery-ul' => 'display: grid; grid-template-columns: repeat({{val}},1fr);'], 'list' => array( 1 => __pl('1'), 2 => __pl('2'), 3 => __pl('3'), 4 => __pl('4'), 5 => __pl('5'), 6 => __pl('6'), 7=> __pl('7'), 8 => __pl('8'), 9 => __pl('9'), 10 => __pl('10') ) ), 'col_gap' => array( 'type' => 'slider', 'label' => __pl('col_gap'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 0, 'screen' => 1, 'css' => ['{{element}} .pagelayer-grid-gallery-ul' => 'grid-column-gap: {{val}}px;'], ), 'row_gap' => array( 'type' => 'slider', 'label' => __pl('row_gap'), 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 0, 'screen' => 1, 'css' => ['{{element}} .pagelayer-grid-gallery-ul' => 'grid-row-gap: {{val}}px;'], ), 'size' => array( 'type' => 'select', 'label' => __pl('obj_image_size_label'), 'default' => 'thumbnail', 'list' => array( 'full' => __pl('full'), 'large' => __pl('large'), 'medium' => __pl('medium'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom') ) ), 'custom_size' => array( 'type' => 'dimension', 'label' => __pl('image_custom_size_label'), 'req' => array( 'size' => 'custom' ), 'screen' => 1, 'css' => ['{{element}} .pagelayer-gallery-item img' => 'height: {{val[0]}}px; width: {{val[1]}}px;'], ), 'link_to' => array( 'type' => 'select', 'label' => __pl('image_link_label'), 'default' => 'lightbox', 'list' => array( '' => __pl('none'), 'media_file' => __pl('media_file'), 'attachment' => __pl('attachment_page'), 'lightbox' => __pl('lightbox'), ) ), 'rel' => array( 'type' => 'text', 'label' => __pl('image_rel_label'), 'default' => '', 'addAttr' => ['{{element}} a' => 'rel="{{rel}}"'], 'req' => array( 'link_to' => 'media_file' ) ), 'target' => array( 'type' => 'checkbox', 'label' => __pl('open_link_in_new_window'), 'addAttr' => ['{{element}} a' => 'target="_blank"'], 'req' => array( '!link_to' => ['lightbox', ''] ) ), 'caption' => array( 'type' => 'checkbox', 'label' => __pl('gallery_grid_caption_label'), 'desc' => __pl('gallery_grid_caption_desc'), 'default' => '', ), 'align' => array( 'label' => __pl('obj_align_label'), 'type' => 'radio', 'default' => 'left', 'addAttr' => 'align="{{align}}"', 'css' => ['{{element}} .pagelayer-grid-gallery-container' => 'text-align: {{val}}', '{{element}} .pagelayer-grid-gallery-container .pagelayer-grid-gallery-ul' => 'text-align: {{val}}'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ), 'req' => array( 'caption' => 'true' ) ), 'caption_color' => array( 'label' => __pl('Caption Color'), 'type' => 'color', 'default' => '#e6cf03', 'css' => ['{{element}} .pagelayer-grid-gallery-caption' => 'color: {{val}}'], 'req' => array( 'caption' => 'true' ) ), 'images_no' => array( 'type' => 'spinner', 'label' => __pl('num_images'), 'desc' => __pl('images_in_page'), 'min' => 0, 'step' => 1, 'max' => 1000, 'default' => 30 ) ) ) ); //////////////////////// // Button Group //////////////////////// // Button pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array( 'name' => __pl('button'), 'group' => 'button', 'html' => ' {{text}} ', 'params' => array( 'text' => array( 'type' => 'text', 'label' => __pl('button_text_label'), 'default' => __pl('button_name'), 'edit' => '.pagelayer-btn-text', ), 'link' => array( 'type' => 'link', 'label' => __pl('button_link_label'), 'desc' => __pl('button_link_desc'), 'selector' => '.pagelayer-btn-holder', 'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'href="{{{link}}}"'], 'req' => ['ele_scrollto' => ''] ), 'full_width' => array( 'type' => 'checkbox', 'label' => __pl('stretch'), 'screen' => 1, 'css' => ['{{element}} a' => 'width: 100%; text-align: center;'] ), 'btn_typo' => array( 'type' => 'typography', 'label' => __pl('quote_content_typo'), 'css' => [ '{{element}} .pagelayer-btn-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', '{{element}} .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;', ], ), 'align' => array( 'type' => 'radio', 'label' => __pl('obj_align_label'), 'default' => 'left', 'screen' => 1, 'css' => 'text-align: {{val}}', 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ), 'req' => array( 'full_width' => '' ) ), ), 'icon_style' => [ 'icon' => array( 'type' => 'icon', 'label' => __pl('service_box_font_icon_label'), 'default' => '', ), 'icon_position' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'default' => 'pagelayer-btn-icon-left', 'list' => array( 'pagelayer-btn-icon-left' => __pl('left'), 'pagelayer-btn-icon-right' => __pl('right') ), 'req' => array( '!icon' => '' ), ), 'icon_spacing' => array( 'type' => 'slider', 'label' => __pl('icon_spacing'), 'min' => 1, 'step' => 1, 'max' => 100, 'default' => 5, 'screen' => 1, 'css' => ['{{element}} .pagelayer-btn-icon' => 'padding: 0 {{val}}px;'], 'req' => array( '!icon' => '' ), ), ], 'btn_style' => [ 'type' => array( 'type' => 'select', 'label' => __pl('button_type_label'), 'default' => 'pagelayer-btn-default', //'addClass' => ['{{element}} .pagelayer-btn-holder' => '{{val}}'], 'list' => array( 'pagelayer-btn-default' => __pl('btn_type_default'), 'pagelayer-btn-primary' => __pl('btn_type_primary'), 'pagelayer-btn-secondary' => __pl('btn_type_secondary'), 'pagelayer-btn-success' => __pl('btn_type_success'), 'pagelayer-btn-info' => __pl('btn_type_info'), 'pagelayer-btn-warning' => __pl('btn_type_warning'), 'pagelayer-btn-danger' => __pl('btn_type_danger'), 'pagelayer-btn-dark' => __pl('btn_type_dark'), 'pagelayer-btn-light' => __pl('btn_type_light'), 'pagelayer-btn-link' => __pl('btn_type_link'), 'pagelayer-btn-anim' => __pl('btn_type_anim'), 'pagelayer-btn-custom' => __pl('btn_type_custom') ), ), 'anim_type' => array( 'type' => 'select', 'label' => __pl('type'), 'default' => 'glow', 'addClass' => ['{{element}} .pagelayer-btn-holder' => 'pagelayer-btn-anim-{{val}}'], 'list' => array( 'glow' => __pl('glow_button'), 'thin' => __pl('thin_button'), 'slide' => __pl('slide_button') ), 'req' => array( 'type' => 'pagelayer-btn-anim' ), ), 'direction' => array( 'type' => 'select', 'label' => __pl('animation_direction'), 'default' => 'pagelayer-btn-anim-left', 'addClass' => ['{{element}} .pagelayer-btn-holder' => '{{val}}'], 'list' => array( 'pagelayer-btn-anim-left' => __pl('left'), 'pagelayer-btn-anim-right' => __pl('right'), ), 'req' => array( 'anim_type' => 'slide', 'type' => 'pagelayer-btn-anim', ), ), 'size' => array( 'type' => 'select', 'label' => __pl('button_size_label'), 'default' => 'pagelayer-btn-large', 'list' => array( 'pagelayer-btn-mini' => __pl('mini'), 'pagelayer-btn-small' => __pl('small'), 'pagelayer-btn-large' => __pl('large'), 'pagelayer-btn-extra-large' => __pl('extra_large'), 'pagelayer-btn-double-large' => __pl('double_large'), 'pagelayer-btn-custom' => __pl('custom'), ) ), 'btn_custom_size' => array( 'type' => 'spinner', 'label' => __pl('btn_custom_size'), 'min' => 1, 'step' => 1, 'max' => 100, 'default' => 5, 'screen' => 1, 'css' => ['{{element}} .pagelayer-btn-holder' => 'padding: calc({{val}}px / 2) {{val}}px;'], 'req' => array( 'size' => ['pagelayer-btn-custom','pagelayer-btn-anim'], ), ), 'btn_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => '', //'no_val' => 1,// Dont set any value to element 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ), 'req' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], ), ), 'btn_bg_color' => array( 'type' => 'color', 'label' => __pl('btn_bg_color_label'), 'default' => '#818a91', 'css' => [ '{{element}} .pagelayer-btn-holder' => 'background-color: {{val}};', '{{element}} .pagelayer-btn-anim-thin' => 'background-color: unset !important;', '{{element}} .pagelayer-btn-anim-thin::before' => 'background-color: {{val}};', '{{element}} .pagelayer-btn-anim-thin::after' => 'background-color: {{val}};', ], 'req' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], ), 'show' => array( 'btn_hover' => '' ), ), 'btn_color' => array( 'type' => 'color', 'label' => __pl('btn_color_label'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-btn-holder' => 'color: {{val}};'], 'req' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], ), 'show' => array( 'btn_hover' => '' ), ), 'btn_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('btn_hover_delay_label'), 'desc' => __pl('btn_hover_delay_desc'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-btn-holder' => '-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;'], 'show' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], 'btn_hover' => 'hover' ), ), 'btn_bg_color_hover' => array( 'type' => 'color', 'label' => __pl('btn_bg_color_hover_label'), 'default' => '', 'css' => [ '{{element}} .pagelayer-btn-custom:hover, {{element}} .pagelayer-btn-anim-slide:after' => 'background-color: {{val}};', ], 'req' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], '!anim_type' => ['glow','thin'], ), 'show' => array( 'btn_hover' => 'hover', '!anim_type' => ['glow','thin'], ), ), 'btn_color_hover' => array( 'type' => 'color', 'label' => __pl('btn_color_hover_label'), 'default' => '', 'css' => ['{{element}} .pagelayer-btn-holder:hover' => 'color: {{val}};'], 'req' => array( 'type' => ['pagelayer-btn-custom','pagelayer-btn-anim'], ), 'show' => array( 'btn_hover' => 'hover' ), ), 'btn_shadow' => [ 'type' => 'box_shadow', 'label' => __pl('shadow'), 'css' => ['{{element}} .pagelayer-btn-holder' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'], ], 'btn_shadow_hover' => [ // This is actually box shadow hover 'type' => 'box_shadow', 'label' => __pl('box_shadow_hover'), 'css' => ['{{element}} .pagelayer-btn-holder:hover' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'], ], ], 'border_style' => [ 'btn_bor_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => '', //'no_val' => 1,// Dont set any value to element 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'btn_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => [ '{{element}} .pagelayer-btn-holder, {{element}} .pagelayer-btn-anim-thin:after, {{element}} .pagelayer-btn-anim-thin:before' => 'border-style: {{val}};', '{{element}} .pagelayer-btn-anim-thin' => 'border-style: unset !important;', ], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_color' => array( 'type' => 'color', 'label' => __pl('border_color_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-btn-holder' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type' => '' ), 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-btn-holder, {{element}} .pagelayer-btn-anim-thin:after, {{element}} .pagelayer-btn-anim-thin:before' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!btn_border_type' => '' ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-btn-holder, {{element}} .pagelayer-btn-anim-glow:before' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type' => '', '!anim_type' => 'slide' ), 'show' => array( 'btn_bor_hover' => '', '!anim_type' => 'slide' ), ), 'btn_border_type_hover' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => [ '{{element}} .pagelayer-btn-holder:hover, {{element}} .pagelayer-btn-anim-thin:hover:after, {{element}} .pagelayer-btn-anim-thin:hover:before' => 'border-style: {{val}}', '{{element}} .pagelayer-btn-anim-thin:hover' => 'border-style: unset !important;', ], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_color_hover' => array( 'type' => 'color', 'label' => __pl('border_color_hover_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-btn-holder:hover' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type_hover' => '' ), 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('border_width_hover'), 'screen' => 1, 'css' => [ '{{element}} .pagelayer-btn-holder:hover, {{element}} .pagelayer-btn-anim-thin:hover:after, {{element}} .pagelayer-btn-anim-thin:hover:before' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;' ], 'req' => [ '!btn_border_type_hover' => '' ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-btn-holder:hover, {{element}} .pagelayer-btn-anim-glow:before' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type_hover' => '', '!anim_type' => 'slide' ), 'show' => array( 'btn_bor_hover' => 'hover', '!anim_type' => 'slide' ), ), ], 'scroll_to_element' => [ 'ele_scrollto' => array( 'type' => 'checkbox', 'label' => __pl('Enable'), 'addClass' => 'pagelayer-scroll-to-element', ), 'ele_scrollto_type' => array( 'type' => 'select', 'label' => __pl('scroll_to'), 'default' => 'totop', 'list' => array( 'toid' => __pl('Element'), 'totop' => __pl('Top'), ), 'addAttr' => 'pagelayer_scrollto_type="{{ele_scrollto_type}}"', 'req' => ['!ele_scrollto' => ''], ), 'ele_scrollto_id' => array( 'type' => 'text', 'label' => __pl('ele_id'), 'default' => '', 'desc' => __pl('ele_scroll_id_desc'), 'addAttr' => 'pagelayer_scrollto_id="{{ele_scrollto_id}}"', 'req' => [ '!ele_scrollto' => '', 'ele_scrollto_type' => 'toid'], ), 'ele_scrollto_id_viewport' => array( 'type' => 'slider', 'label' => __pl('spacing_from_id'), 'min' => -200, 'step' => 1, 'max' => 200, 'default' => 0, 'addAttr' => 'pagelayer_scrollto_id_viewport="{{ele_scrollto_id_viewport}}"', 'req' => [ '!ele_scrollto' => '', 'ele_scrollto_type' => 'toid'], ), 'ele_scrollto_speed' => array( 'type' => 'slider', 'label' => __pl('slider_animation_speed'), 'min' => 0, 'step' => 0.1, 'max' => 10, 'default' => 0.4, 'screen' => 1, 'desc' => __pl('ele_scroll_speed'), 'addAttr' => 'pagelayer_scrollto_speed="{{ele_scrollto_speed}}"', 'req' => [ '!ele_scrollto' => ''], ), ], 'styles' => [ 'btn_style' => __pl('btn_style'), 'icon_style' => __pl('icon'), 'border_style' => __pl('border_style'), 'scroll_to_element' => __pl('scroll_to_element'), ] ) ); // Social Profile Item pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_social', array( 'name' => __pl('Social Profile'), 'group' => 'button', 'not_visible' => 1, 'parent' => [PAGELAYER_SC_PREFIX.'_social_grp'], 'html' => '', 'params' => array( 'icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fab fa-facebook-square', 'addAttr' => ['{{element}} .pagelayer-icon-holder' => 'data-icon="{{icon}}"'], 'list' => ['facebook', 'facebook-f', 'facebook-square', 'facebook-messenger', 'twitter', 'twitter-square', 'google-plus', 'google-plus-g', 'google-plus-square', 'instagram', 'linkedin', 'linkedin-in', 'behance', 'behance-square', 'pinterest', 'pinterest-p', 'pinterest-square', 'reddit-alien', 'reddit-square', 'reddit', 'rss', 'rss-square', 'skype', 'slideshare', 'snapchat', 'snapchat-ghost', 'snapchat-square', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'steam-symbol', 'steam-square', 'stumbleupon', 'stumbleupon-circle', 'telegram', 'telegram-plane', 'thumbtack', 'tripadvisor', 'tumblr', 'tumblr-square', 'twitch', 'vimeo-v', 'vimeo', 'vimeo-square', 'vk', 'weibo', 'weixin', 'whatsapp', 'whatsapp-square', 'wordpress', 'wordpress-simple', 'xing', 'xing-square', 'yelp', 'youtube', 'youtube-square', '500px', 'flickr', 'android', 'github', 'github-alt', 'github-square', 'gitlab', 'apple', 'jsfiddle', 'houzz', 'bitbucket', 'codepen', 'delicious', 'medium', 'medium-m', 'meetup', 'mixcloud', 'dribbble', 'dribbble-square', 'foursquare', 'get-pocket', 'tiktok'], 'onchange' => 'pagelayer_social_icon_onchange' ), 'social_url' => array( 'type' => 'link', 'label' => __pl('social_url_label'), 'selector' => '.pagelayer-ele-link', 'default' => get_option('pagelayer-facebook-url'), ), ) ) ); // Social Profile pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_social_grp', array( 'name' => __pl('Social Profile'), 'group' => 'button', 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('social'), 'sc' => PAGELAYER_SC_PREFIX.'_social', 'item_label' => array( 'default' => __pl('social'), 'param' => 'icon' ), 'count' => 3, 'text' => strtr(__pl('add_new_item'), array('%name%' => __pl('social_name'))), ), ), 'layout_style' => [ 'bg_shape' => array( 'type' => 'select', 'label' => __pl('icon_background_shape'), 'default' => '', 'css' => ['{{element}} i' => 'height:1em; width:1em; position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%);', '{{element}} .pagelayer-icon-holder' => 'position: relative; min-height: 1em; min-width: 1em;'], 'addClass' => '{{val}}', 'list' => array( '' => __pl('icon_shape_none'), 'pagelayer-social-shape-circle' => __pl('icon_shape_circle'), 'pagelayer-social-shape-square' => __pl('icon_shape_square'), 'pagelayer-social-shape-rounded' => __pl('icon_shape_rounded') ), ), 'bg_size' => array( 'type' => 'spinner', 'label' => __pl('social_grp_size_label'), 'css' => ['{{element}} .pagelayer-icon-holder' => 'padding: calc(0.5em + {{val}}px);'], 'min' => 1, 'step' => 1, 'max' => 500, 'default' => 10, 'screen' => 1, 'req' => array( '!bg_shape' => '' ) ), 'align' => array( 'type' => 'radio', 'label' => __pl('obj_align_label'), 'default' => 'center', 'css' => 'text-align: {{val}}', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right') ) ), 'group_layout' => array( 'type' => 'radio', 'label' => __pl('layout'), 'default' => 'pagelayer-btn-grp-horizontal', 'screen' => 1, 'css' => ['{{element}} > div' => 'display: inline-block;'], 'list' => array( 'pagelayer-btn-grp-horizontal' => __pl('horizontal'), '' => __pl('vertical') ) ), 'icon_spacing' => array( 'type' => 'spinner', 'label' => __pl('icon_spacing'), 'css' => ['{{element}} .pagelayer-social' => 'padding: {{val}}px;'], 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 3, 'screen' => 1, ) ], 'icon_style' => [ 'icon_size' => array( 'type' => 'spinner', 'label' => __pl('social_grp_size_label'), 'css' => ['{{element}} .pagelayer-social-fa' => 'font-size: {{val}}px;', '{{element}} .pagelayer-icon-holder' => 'font-size: {{val}}px;'], 'min' => 1, 'step' => 1, 'max' => 500, 'default' => 40, 'screen' => 1, ), 'color_scheme' => array( 'type' => 'select', 'label' => __pl('color'), 'default' => 'pagelayer-scheme-official', 'addClass' => '{{val}}', 'list' => array( '' => __pl('custom'), 'pagelayer-scheme-official' => __pl('official') ) ), 'social_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'default' => '', //'no_val' => 1,// Dont set any value to element 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('social_color_label'), 'default' => '#333333', 'css' => ['{{element}} .pagelayer-social-fa' => 'color: {{val}} !important;'], 'req' => array( 'color_scheme' => '' ), 'show' => ['social_hover' => ''] ), 'icon_bg_color' => array( 'type' => 'color', 'label' => __pl('social_bg_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-icon-holder' => 'background-color: {{val}} !important;'], 'req' => array( '!bg_shape' => '', 'color_scheme' => '' ), 'show' => ['social_hover' => ''] ), 'icon_color_hover' => array( 'type' => 'color', 'label' => __pl('social_color_label'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-icon-holder:hover .pagelayer-social-fa' => 'color: {{val}} !important;'], 'req' => array( 'color_scheme' => '' ), 'show' => ['social_hover' => 'hover'] ), 'icon_bg_color_hover' => array( 'type' => 'color', 'label' => __pl('social_bg_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-icon-holder:hover' => 'background-color: {{val}} !important;'], 'req' => array( '!bg_shape' => '', 'color_scheme' => '' ), 'show' => ['social_hover' => 'hover'] ), 'anim_hover' => array( 'type' => 'select', 'label' => __pl('icon_animation'), 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'addAttr' => 'pagelayer-animation="{{anim_hover}}"', 'show' => ['social_hover' => 'hover'] ), 'icon_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-icon-holder' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['social_hover' => ''] ), 'icon_border_color' => array( 'type' => 'color', 'label' => __pl('service_box_icon_border_color_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-icon-holder' => 'border-color: {{val}};'], 'req' => array( '!icon_border_type' => '' ), 'show' => ['social_hover' => ''] ), 'icon_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-icon-holder' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!icon_border_type' => '' ], 'show' => ['social_hover' => ''] ), 'icon_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-icon-holder' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!icon_border_type' => '' ), 'show' => ['social_hover' => ''] ), 'social_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('btn_hover_delay_label'), 'desc' => __pl('btn_hover_delay_desc'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'screen' => 1, 'css' => ['{{element}} .pagelayer-icon-holder' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;', '{{element}} .pagelayer-social-fa' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => array( 'social_hover' => 'hover' ), ), 'icon_border_type_hover' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-icon-holder:hover' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['social_hover' => 'hover'] ), 'icon_border_color_hover' => array( 'type' => 'color', 'label' => __pl('border_color_hover_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-icon-holder:hover' => 'border-color: {{val}};'], 'req' => array( '!icon_border_type_hover' => '' ), 'show' => ['social_hover' => 'hover'] ), 'icon_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('border_width_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-icon-holder:hover' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!icon_border_type_hover' => '' ], 'show' => ['social_hover' => 'hover'] ), 'icon_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-icon-holder:hover' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!icon_border_type_hover' => '' ), 'show' => ['social_hover' => 'hover'] ), ], 'styles' => [ 'layout_style' => __pl('layout_style'), 'icon_style' => __pl('icon'), ] ) ); //////////////////////// // Media Group //////////////////////// // Video pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_video', array( 'name' => __pl('video'), 'group' => 'media', 'html' => '', 'params' => array( 'src' => array( 'type' => 'video', 'label' => __pl('video_src_label'), 'default' => 'https://www.youtube.com/watch?v=t8Iz-v-qce8', 'desc' => __pl('video_src_desc'), ), 'lightbox' => array( 'type' => 'checkbox', 'label' => __pl('Lightbox'), 'desc' => __pl('Open the video on Lightbox'), 'default' => '', ), 'autoplay' => array( 'type' => 'checkbox', 'label' => __pl('Autoplay'), 'req' => [ '!overlay' => 'true', '!lightbox' => 'true', ], ), 'mute' => array( 'type' => 'checkbox', 'label' => __pl('mute'), ), 'loop' => array( 'type' => 'checkbox', 'label' => __pl('loop'), ), 'video_ratio' => array( 'type' => 'select', 'label' => __pl('aspect_ratio'), 'default' => 'aspect-8-5', 'list' => array( 'aspect-1-1' => __pl('1:1'), 'aspect-3-2' => __pl('3:2'), 'aspect-4-3' => __pl('4:3'), 'aspect-8-5' => __pl('8:5'), 'aspect-16-9' => __pl('16:9'), ), ), ), 'overlay_style' =>[ 'overlay' => array( 'type' => 'checkbox', 'label' => __pl('Overlay'), 'desc' => __pl('Enable this option to set the picture as overlay'), 'default' => '', ), 'video_overlay_image' => array( 'type' => 'image', 'label' => __pl('Custom thumbnail'), 'default' => PAGELAYER_URL.'/images/default-image.png', 'desc' => __pl('Use this option to set a picture from the media library'), 'req' => array( 'overlay' => 'true', ), ), 'play_icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fas fa-play-circle', 'req' => array( 'overlay' => 'true' ) ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('service_heading_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-video-overlay i' => 'color:{{val}}'], 'req' => array( 'overlay' => 'true' ) ), 'icon_size' => array( 'type' => 'spinner', 'label' => __pl('size'), 'min' => '0', 'max' => '700', 'screen' => 1, 'default' => '80', 'css' => ['{{element}} .pagelayer-video-overlay i' => 'font-size:{{val}}px;'], 'req' => array( 'overlay' => 'true' ) ), 'tooltip_text_shadow' => array( 'type' => 'shadow', 'label' => __pl('shadow'), 'css' => ['{{element}} .pagelayer-video-overlay i' => 'text-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}};'], 'req' => array( 'overlay' => 'true' ) ), ], 'styles' => [ 'overlay_style' => __pl('overlay_style'), ], ) ); //////////////////////// // Other Group //////////////////////// // Service Box pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array( 'name' => __pl('Image Box'), 'group' => 'other', 'innerHTML' => 'service_text', 'html' => '', 'params' => [ 'service_image' => array( 'type' => 'image', 'label' => __pl('service_box_image_icon_label'), 'default' => PAGELAYER_URL.'/images/default-image.png', 'retina' => 1, ), 'service_image_size' => array( 'type' => 'radio', 'label' => __pl('service_box_image_icon_size_label'), 'default' => 'full', 'list' => array( 'full' => __pl('full'), 'thumbnail' => __pl('thumbnail'), 'custom' => __pl('custom'), ) ), 'service_image_custom_size' => array( 'type' => 'slider', 'label' => __pl('service_img_custom_size_label'), 'min' => '0', 'max' => '2000', 'screen' => 1, 'default' => '200', 'css' => ['{{element}} .pagelayer-service-image img' => 'width:{{val}}px;'], 'req' => array( 'service_image_size' => 'custom', ) ), 'box_url' => array( 'type' => 'link', 'label' => __pl('url'), 'selector' => '.pagelayer-box-link', ), 'anim_hover' => array( 'type' => 'select', 'label' => __pl('icon_animation'), 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'addClass' => 'pagelayer-anim-par' ) ], 'service_img_style' => [ 'service_alignment' => array( 'type' => 'radio', 'label' => __pl('service_box_media_alignment'), 'default' => 'top', 'list' => array( 'left' => __pl('left'), 'top' => __pl('top'), 'right' => __pl('right'), ), ), 'service_vertical_alignment' => array( 'type' => 'radio', 'label' => __pl('service_box_media_vertical_alignment'), 'default' => 'top', 'list' => array( 'top' => __pl('top'), 'middle' => __pl('middle'), 'bottom' => __pl('bottom'), ), 'req' => ['!service_alignment' => 'top'] ), 'service_image_height' => array( 'type' => 'slider', 'label' => __pl('img_height'), 'min' => '0', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-image img' => 'height:{{val}}px;'], ), 'service_image_object_fit' => array( 'type' => 'select', 'label' => __pl('object_fit'), 'screen' => 1, 'list' => array( '' => __pl('none'), 'contain' => __pl('contain'), 'cover' => __pl('cover'), 'fill' => __pl('fill'), 'scale-down' => __pl('scale_down'), ), 'css' => ['{{element}} .pagelayer-service-image img' => 'object-fit:{{val}};'], ), 'service_image_object_pos' => array( 'type' => 'select', 'label' => __pl('object_pos'), 'screen' => 1, 'list' => array( '' => __pl('none'), 'top' => __pl('top'), 'bottom' => __pl('bottom'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right'), ), 'css' => ['{{element}} .pagelayer-service-image img' => 'object-position:{{val}};'], 'req' => [ '!service_image_object_fit' => ''], ), 'service_img_alignment' => array( 'type' => 'radio', 'label' => __pl('horizontal_pos'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-image' => 'text-align: {{val}};,'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'req' => ['service_alignment' => 'top'] ), 'service_image_spacing' => array( 'type' => 'padding', 'label' => __pl('service_image_spacing'), 'css' => ['{{element}} .pagelayer-service-image' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'], ), 'img_bor_state' => array( 'type' => 'radio', 'label' => __pl('icon_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'img_filter' => array( 'type' => 'filter', 'label' => __pl('filter'), 'default' => '0,100,100,0,0,100,100', 'css' => ['{{element}} img' => 'filter: blur({{val[0]}}px) brightness({{val[1]}}%) contrast({{val[2]}}%) grayscale({{val[3]}}%) hue-rotate({{val[4]}}deg) opacity({{val[5]}}%) saturate({{val[6]}}%)'], 'show' => ['img_bor_state' => 'normal'], ), 'img_border_type' => array( 'type' => 'select', 'label' => __pl('icon_border_type'), 'css' => ['{{element}} .pagelayer-service-image img' =>'border-style: {{val}};'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['img_bor_state' => 'normal'], ), 'img_border_color' => array( 'type' => 'color', 'label' => __pl('icon_border_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-image img' => 'border-color: {{val}};'], 'req' => [ '!img_border_type' => '', ], 'show' => ['img_bor_state' => 'normal'], ), 'img_border_width' => array( 'type' => 'padding', 'label' => __pl('icon_border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-image img' =>'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;'], 'req' => [ '!img_border_type' => '', ], 'show' => ['img_bor_state' => 'normal'], ), 'img_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => ['{{element}} .pagelayer-service-image img' => 'border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -webkit-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -moz-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};'], 'req' => [ '!img_border_type' => '', ], 'show' => ['img_bor_state' => 'normal'], ), 'img_transition' => array( 'type' => 'spinner', 'label' => __pl('ele_bg_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-image img' =>'-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;'], 'show' => ['img_bor_state' => 'hover'], ), 'img_filter_hover' => array( 'type' => 'filter', 'label' => __pl('filter'), 'default' => '0,100,100,0,0,100,100', 'css' => ['{{element}}:hover img' => 'filter: blur({{val[0]}}px) brightness({{val[1]}}%) contrast({{val[2]}}%) grayscale({{val[3]}}%) hue-rotate({{val[4]}}deg) opacity({{val[5]}}%) saturate({{val[6]}}%)'], 'show' => ['img_bor_state' => 'hover'], ), 'img_border_type_hover' => array( 'type' => 'select', 'label' => __pl('icon_border_type_hover'), 'css' => ['{{element}}:hover .pagelayer-service-image img' =>'border-style: {{val}};'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['img_bor_state' => 'hover'], ), 'img_border_color_hover' => array( 'type' => 'color', 'label' => __pl('icon_border_color_hover_label'), 'default' => '#0986c0', 'css' => ['{{element}}:hover .pagelayer-service-image img' => 'border-color: {{val}};'], 'req' => [ '!img_border_type_hover' => '', ], 'show' => ['img_bor_state' => 'hover'], ), 'img_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('icon_border_width_hover'), 'screen' => 1, 'css' => ['{{element}}:hover .pagelayer-service-image img' =>'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;'], 'req' => [ '!img_border_type_hover' => '', ], 'show' => ['img_bor_state' => 'hover'], ), 'img_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'units' => ['px', 'em', '%'], 'css' => ['{{element}}:hover .pagelayer-service-image img' => 'border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -webkit-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}; -moz-border-radius: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}};'], 'req' => [ '!img_border_type_hover' => '', ], 'show' => ['img_bor_state' => 'hover'], ), ], 'service_heading_style' => [ 'service_heading' => array( 'type' => 'textarea', 'label' => __pl('service_box_heading_label'), 'default' => 'This is an Image Box', 'edit' => '.pagelayer-service-heading', ), 'heading_url' => array( 'type' => 'link', 'label' => __pl('url'), 'selector' => '.pagelayer-service-heading-link', 'req' => ['!service_heading' => '', 'box_url' => ''] ), 'heading_alignment' => array( 'type' => 'radio', 'label' => __pl('service_box_heading_alignment'), 'default' => 'center', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'css' => ['{{element}} .pagelayer-service-heading' => 'text-align:{{val}};'], ), 'service_title_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'screen' => 1, 'default' => ',,10,', 'css' => ['{{element}} .pagelayer-service-heading' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'] ), 'heading_state' => array( 'type' => 'radio', 'label' => __pl('icon_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'service_heading_color' => array( 'type' => 'color', 'label' => __pl('service_heading_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-heading' => 'color:{{val}}'], 'show' => ['heading_state' => 'normal'], ), 'service_heading_typo' => array( 'type' => 'typography', 'label' => __pl('service_heading_typo'), 'default' => ',28,,600,,,,,,,', 'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'normal'], ), 'heading_transition' => array( 'type' => 'spinner', 'label' => __pl('ele_bg_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-heading' =>'-webkit-transition: all {{val}}ms !important; transition: all {{val}}ms !important;'], 'show' => ['heading_state' => 'hover'], ), 'heading_color_hover' => array( 'type' => 'color', 'label' => __pl('service_heading_color'), 'css' => ['{{element}}:hover .pagelayer-service-heading' => 'color:{{val}}'], 'show' => ['heading_state' => 'hover'], ), 'heading_typo_hover' => array( 'type' => 'typography', 'label' => __pl('service_heading_typo'), 'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'hover'], ), ], //service content style 'service_content_style' =>[ 'service_text_alignment' => array( 'type' => 'radio', 'label' => __pl('service_box_text_alignment'), 'default' => 'center', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), 'justify' => __pl('justify'), ), 'css' => ['{{element}} .pagelayer-service-details' => 'text-align:{{val}};'], ), 'service_content_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-text' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'], ), 'service_text' => array( 'type' => 'editor', 'label' => __pl('service_box_text_label'), 'default' => 'Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.', 'edit' => '.pagelayer-service-text', ) ], //service button style 'service_btn_style' =>[ 'service_button' => array( 'type' => 'checkbox', 'label' => __pl('show_btn') ), 'service_button_type' => array( 'type' => 'select', 'label' => __pl('type'), 'default' => 'pagelayer-btn-default', 'list' => array( 'pagelayer-btn-default' => __pl('btn_type_default'), 'pagelayer-btn-primary' => __pl('btn_type_primary'), 'pagelayer-btn-secondary' => __pl('btn_type_secondary'), 'pagelayer-btn-success' => __pl('btn_type_success'), 'pagelayer-btn-info' => __pl('btn_type_info'), 'pagelayer-btn-warning' => __pl('btn_type_warning'), 'pagelayer-btn-danger' => __pl('btn_type_danger'), 'pagelayer-btn-dark' => __pl('btn_type_dark'), 'pagelayer-btn-light' => __pl('btn_type_light'), 'pagelayer-btn-link' => __pl('btn_type_link'), 'pagelayer-btn-custom' => __pl('btn_type_custom') ), 'req' => array( 'service_button' => 'true' ), ), 'service_button_size' => array( 'type' => 'select', 'label' => __pl('button_size_label'), 'default' => 'pagelayer-btn-small', 'list' => array( 'pagelayer-btn-mini' => __pl('mini'), 'pagelayer-btn-small' => __pl('small'), 'pagelayer-btn-large' => __pl('large'), 'pagelayer-btn-extra-large' => __pl('extra_large'), 'pagelayer-btn-double-large' => __pl('double_large'), 'pagelayer-btn-custom' => __pl('custom'), ), 'req' => array( 'service_button' => 'true' ) ), 'service_btn_dim' => array( 'type' => 'dimension', 'label' => __pl('service_btn_dim'), 'default' => '10,15', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[0]}}px;padding-left:{{val[1]}}px;'], 'req' => [ 'service_button' => 'true', 'service_button_size' => 'pagelayer-btn-custom', ] ), 'service_btn_stretch' => array( 'type' => 'checkbox', 'label' => __pl('stretch'), 'css' => ['{{element}} .pagelayer-service-btn' => 'width:100%;'], 'req' => array( 'service_button' => 'true' ), ), 'service_button_url' => array( 'type' => 'link', 'label' => __pl('service_btn_url_label'), 'selector' => '.pagelayer-service-btn', 'req' => array( 'service_button' => 'true' ), ), 'service_button_text' => array( 'type' => 'text', 'label' => __pl('service_button_text_label'), 'default' => 'Click Here!', 'req' => array( 'service_button' => 'true' ), ), 'service_button_typo' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'req' => ['service_button' => 'true'] ), 'service_btn_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], 'req' => ['service_button' => 'true'] ), 'service_button_font_size' => array( 'type' => 'slider', 'label' => __pl('iconbox_btn_text_size'), 'min' => '0', 'max' => '50', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'font-size:{{val}}px;'], 'req' => [ 'service_button' => 'true', 'iconbox_button_type' => 'pagelayer-btn-custom', ] ), 'service_btn_state' => array( 'type' => 'radio', 'label' => __pl('button_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), 'req' => array( 'service_button' => 'true', 'service_button_type' => 'pagelayer-btn-custom' ), ), 'service_button_color' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-service-btn' => 'color:{{val}};'], 'req' => [ 'service_button' => 'true', 'service_button_type' => 'pagelayer-btn-custom', ], 'show' => ['service_btn_state' => 'normal'] ), 'service_button_bg_color' => array( 'type' => 'color', 'label' => __pl('service_button_bg_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-btn' => 'background-color:{{val}};'], 'req' => [ 'service_button' => 'true', 'service_button_type' => 'pagelayer-btn-custom', ], 'show' => ['service_btn_state' => 'normal'] ), 'service_btn_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('service_btn_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-btn' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => ['service_btn_state' => 'hover'], ), 'service_button_color_hover' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'default' => '', 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'color:{{val}};'], 'show' => ['service_btn_state' => 'hover'], ), 'service_button_bg_color_hover' => array( 'type' => 'color', 'label' => __pl('service_button_bg_color_hover'), 'default' => '', 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'background-color:{{val}};'], 'show' => ['service_btn_state' => 'hover'], ), ], 'border_style' => [ 'btn_bor_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'btn_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-service-btn' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_color' => array( 'type' => 'color', 'label' => __pl('border_color_label'), 'css' => ['{{element}} .pagelayer-service-btn' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type' => '' ), 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!btn_border_type' => '' ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type' => '' ), 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_type_hover' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_color_hover' => array( 'type' => 'color', 'label' => __pl('border_color_hover_label'), 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type_hover' => '' ), 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('border_width_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!btn_border_type_hover' => '' ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type_hover' => '' ), 'show' => array( 'btn_bor_hover' => 'hover' ), ), ], 'styles' => [ 'service_img_style' => __pl('service_img_style'), 'service_heading_style' => __pl('service_heading_style'), 'service_content_style' => __pl('service_content_style'), 'service_btn_style' => __pl('service_btn_style'), 'border_style' => __pl('btn_border_style'), ], ) ); // Icon Box pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array( 'name' => __pl('Icon Box'), 'group' => 'other', 'innerHTML' => 'service_text', 'html' => '', 'params' => array( 'service_icon' => array( 'type' => 'icon', 'label' => __pl('iconbox_font_icon_label'), 'default' => 'fas fa-exclamation-circle', ), 'service_alignment' => array( 'type' => 'radio', 'label' => __pl('iconbox_box_media_alignment'), 'default' => 'top', 'list' => array( 'left' => __pl('left'), 'top' => __pl('top'), 'right' => __pl('right'), ), ), 'service_vertical_alignment' => array( 'type' => 'radio', 'label' => __pl('iconbox_box_media_vertical_alignment'), 'default' => 'middle', 'list' => array( 'top' => __pl('top'), 'middle' => __pl('middle'), 'bottom' => __pl('bottom'), ), 'req' => array( '!service_alignment' => 'top' ) ), 'service_icon_alignment' => array( 'type' => 'radio', 'label' => __pl('horizontal_pos'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon' => 'text-align: {{val}};,'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'req' => ['service_alignment' => 'top'] ), 'box_url' => array( 'type' => 'link', 'label' => __pl('url'), 'selector' => '.pagelayer-box-link', ), ), // icon style 'service_icon_style' => [ 'service_icon_view' => array( 'type' => 'select', 'label' => __pl('iconbox_icon_view'), 'default' => 'default', 'list' =>array( 'default' => __pl('Default'), 'stacked' => __pl('Stacked'), 'framed' => __pl('Framed'), ), ), 'service_icon_shape_type' => array( 'type' => 'select', 'label' => __pl('iconbox_icon_shape_label'), 'default' => '', 'list' =>array( 'square' => __pl('Square'), 'circle' => __pl('Circle'), ), 'req' => ['!service_icon_view' => 'default'], ), 'service_icon_padding' => array( 'type' => 'slider', 'label' => __pl('service_icon_padding'), 'min' => '0', 'max' => '200', 'default' => '15', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon i' => 'padding: calc(0.5em + {{val}}px);'], 'req' => ['!service_icon_view' => 'default'], ), 'service_icon_spacing' => array( 'type' => 'padding', 'screen' => 1, 'label' => __pl('service_icon_spacing'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'], ), 'anim_hover' => array( 'type' => 'select', 'label' => __pl('icon_animation'), 'list' => [ '' => __pl('none'), 'grow' => __pl('Grow'), 'shrink' => __pl('Shrink'), 'pulse' => __pl('Pulse'), 'pulse-grow' => __pl('Pulse Grow'), 'pulse-shrink' => __pl('Pulse Shrink'), 'push' => __pl('Push'), 'pop' => __pl('Pop'), 'buzz' => __pl('Buzz'), 'buzz-out' => __pl('Buzz Out'), 'float' => __pl('Float'), 'sink' => __pl('Sink'), 'bob' => __pl('Bob'), 'hang' => __pl('Hang'), 'bounce-in' => __pl('Bounce In'), 'bounce-out' => __pl('Bounce Out'), 'rotate' => __pl('Rotate'), 'grow-rotate' => __pl('Grow Rotate'), 'skew-forward' => __pl('Skew Forward'), 'skew-backward' => __pl('Skew Backward'), 'wobble-vertical' => __pl('Wobble Vertical'), 'wobble-horizontal' => __pl('Wobble Horizontal'), 'wobble-bottom-to-right' => __pl('Wobble Bottom To Right'), 'wobble-top-to-right' => __pl('Wobble Top To Right'), 'wobble-top' => __pl('Wobble Top'), 'wobble-bottom' => __pl('Wobble Bottom'), 'wobble-skew' => __pl('Wobble Skew'), ], 'addClass' => 'pagelayer-anim-par' ), 'service_icon_state' => array( 'type' => 'radio', 'label' => __pl('icon_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'service_icon_color' => array( 'type' => 'color', 'label' => __pl('iconbox_icon_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-icon i' => 'color:{{val}};'], 'show' => ['service_icon_state' => 'normal'], ), 'service_icon_background_color' => array( 'type' => 'color', 'label' => __pl('service_icon_background_color'), 'default' => '#eff0f0', 'css' => ['{{element}} .pagelayer-service-icon.pagelayer-service-stacked i' => 'background-color:{{val}};'], 'show' => ['service_icon_state' => 'normal'], 'req' => ['service_icon_view' => 'stacked'] ), 'service_icon_font_size' => array( 'type' => 'slider', 'label' => __pl('service_icon_size'), 'min' => '0', 'max' => '300', 'default' => '75', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon' => 'font-size:{{val}}px;'], 'show' => ['service_icon_state' => 'normal'], ), 'service_rotate' => array( 'type' => 'slider', 'label' => __pl('service_icon_rotate'), 'min' => '0', 'max' => '360', 'default' => '0', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon i' => 'transform: rotate({{val}}deg);'], 'show' => ['service_icon_state' => 'normal'], ), 'service_icon_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('service_icon_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-icon i' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => ['service_icon_state' => 'hover'], ), 'service_icon_color_hover' => array( 'type' => 'color', 'label' => __pl('service_icon_color_hover'), 'css' => ['{{element}}:hover .pagelayer-service-icon i' => 'color:{{val}};'], 'show' => ['service_icon_state' => 'hover'], ), 'service_icon_background_color_hover' => array( 'type' => 'color', 'label' => __pl('service_icon_background_color_hover'), 'default' => '', 'css' => ['{{element}}:hover .pagelayer-service-icon.pagelayer-service-stacked i' => 'background-color:{{val}};'], 'show' => ['service_icon_state' => 'hover'], 'req' => ['service_icon_view' => 'stacked'] ), 'service_icon_size_hover' => array( 'type' => 'slider', 'label' => __pl('service_icon_size_hover'), 'min' => '0', 'max' => '300', 'screen' => 1, 'css' => ['{{element}}:hover .pagelayer-service-icon' => 'font-size:{{val}}px;'], 'show' => ['service_icon_state' => 'hover'], ), 'service_rotate_hover' => array( 'type' => 'slider', 'label' => __pl('service_rotate_hover'), 'min' => '0', 'max' => '360', 'screen' => 1, 'css' => ['{{element}}:hover .pagelayer-service-icon i' => 'transform: rotate({{val}}deg);'], 'show' => ['service_icon_state' => 'hover'], ), ], 'service_icon_border' => [ 'service_bor_state' => array( 'type' => 'radio', 'label' => __pl('icon_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'service_icon_border_type' => array( 'type' => 'select', 'label' => __pl('icon_border_type'), 'css' => ['{{element}} .pagelayer-service-icon i' =>'border-style: {{val}};'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['service_bor_state' => 'normal'], ), 'service_icon_border_color' => array( 'type' => 'color', 'label' => __pl('icon_border_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-icon i' => 'border-color: {{val}};'], 'req' => [ '!service_icon_border_type' => '', ], 'show' => ['service_bor_state' => 'normal'], ), 'service_icon_border_width' => array( 'type' => 'padding', 'label' => __pl('icon_border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon i' =>'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;'], 'req' => [ '!service_icon_border_type' => '', ], 'show' => ['service_bor_state' => 'normal'], ), 'service_icon_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-icon i ' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => [ '!service_icon_border_type' => '', ], 'show' => ['service_bor_state' => 'normal'], ), 'service_icon_border_type_hover' => array( 'type' => 'select', 'label' => __pl('icon_border_type_hover'), 'css' => ['{{element}}:hover .pagelayer-service-icon i' =>'border-style: {{val}};'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['service_bor_state' => 'hover'], ), 'service_icon_border_color_hover' => array( 'type' => 'color', 'label' => __pl('icon_border_color_hover_label'), 'default' => '#0986c0', 'css' => ['{{element}}:hover .pagelayer-service-icon i' => 'border-color: {{val}};'], 'req' => [ '!service_icon_border_type_hover' => '', ], 'show' => ['service_bor_state' => 'hover'], ), 'service_icon_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('icon_border_width_hover'), 'screen' => 1, 'css' => ['{{element}}:hover .pagelayer-service-icon i' =>'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;'], 'req' => [ '!service_icon_border_type_hover' => '', ], 'show' => ['service_bor_state' => 'hover'], ), 'service_icon_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}}:hover .pagelayer-service-icon i' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => [ '!service_icon_border_type_hover' => '', ], 'show' => ['service_bor_state' => 'hover'], ), ], 'service_heading_style' =>[ 'service_heading' => array( 'type' => 'textarea', 'label' => __pl('iconbox_box_heading_label'), 'default' => 'This is Icon Box', 'edit' => '.pagelayer-service-heading', ), 'heading_url' => array( 'type' => 'link', 'label' => __pl('url'), 'selector' => '.pagelayer-service-heading-link', 'req' => ['!service_heading' => '', 'box_url' => ''] ), 'heading_alignment' => array( 'type' => 'radio', 'label' => __pl('service_box_heading_alignment'), 'default' => 'center', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), 'css' => ['{{element}} .pagelayer-service-heading' => 'text-align:{{val}};'], ), 'service_title_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'screen' => 1, 'default' => ',,10,', 'css' => ['{{element}} .pagelayer-service-heading' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'] ), 'heading_state' => array( 'type' => 'radio', 'label' => __pl('icon_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'service_heading_color' => array( 'type' => 'color', 'label' => __pl('service_heading_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-heading' => 'color:{{val}}'], 'show' => ['heading_state' => 'normal'] ), 'service_heading_typo' => array( 'type' => 'typography', 'label' => __pl('service_heading_typo'), 'default' => ',28,,600,,,,,,,', 'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'normal'] ), 'heading_delay' => array( 'type' => 'spinner', 'label' => __pl('service_icon_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-heading' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => ['heading_state' => 'hover'] ), 'heading_color_hover' => array( 'type' => 'color', 'label' => __pl('service_heading_color'), 'css' => ['{{element}}:hover .pagelayer-service-heading' => 'color:{{val}}'], 'show' => ['heading_state' => 'hover'] ), 'heading_typo_hover' => array( 'type' => 'typography', 'label' => __pl('service_heading_typo'), 'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'show' => ['heading_state' => 'hover'] ), ], //service content style 'service_content_style' =>[ 'service_text_alignment' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'default' => 'center', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), 'justify' => __pl('justify'), ), 'css' => ['{{element}} .pagelayer-service-details' => 'text-align:{{val}};'], ), 'service_content_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'css' => ['{{element}} .pagelayer-service-text' => 'padding-top:{{val[0]}}px; padding-right:{{val[1]}}px; padding-bottom:{{val[2]}}px; padding-left:{{val[3]}}px;'], ), 'service_text' => array( 'type' => 'editor', 'label' => __pl('iconbox_box_text_label'), 'default' => 'Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.', 'edit' => '.pagelayer-service-text', ), ], //service button style 'service_btn_style' =>[ 'service_button' => array( 'type' => 'checkbox', 'label' => __pl('show_btn'), ), 'iconbox_button_type' => array( 'type' => 'select', 'label' => __pl('Button Type'), 'default' => 'pagelayer-btn-primary', 'list' => array( 'pagelayer-btn-default' => __pl('btn_type_default'), 'pagelayer-btn-primary' => __pl('btn_type_primary'), 'pagelayer-btn-secondary' => __pl('btn_type_secondary'), 'pagelayer-btn-success' => __pl('btn_type_success'), 'pagelayer-btn-info' => __pl('btn_type_info'), 'pagelayer-btn-warning' => __pl('btn_type_warning'), 'pagelayer-btn-danger' => __pl('btn_type_danger'), 'pagelayer-btn-dark' => __pl('btn_type_dark'), 'pagelayer-btn-light' => __pl('btn_type_light'), 'pagelayer-btn-link' => __pl('btn_type_link'), 'pagelayer-btn-custom' => __pl('btn_type_custom') ), 'req' => ['service_button' => 'true'] ), 'service_button_size' => array( 'type' => 'select', 'label' => __pl('button_size_label'), 'default' => 'pagelayer-btn-small', 'list' => array( 'pagelayer-btn-mini' => __pl('mini'), 'pagelayer-btn-small' => __pl('small'), 'pagelayer-btn-large' => __pl('large'), 'pagelayer-btn-extra-large' => __pl('extra_large'), 'pagelayer-btn-double-large' => __pl('double_large'), 'pagelayer-btn-custom' => __pl('custom'), ), 'req' => ['service_button' => 'true'] ), 'service_btn_dim' => array( 'type' => 'dimension', 'label' => __pl('service_btn_dim'), 'default' => '10,15', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[0]}}px;padding-left:{{val[1]}}px;'], 'req' => [ 'service_button' => 'true', 'service_button_size' => 'pagelayer-btn-custom', ] ), 'service_btn_stretch' => array( 'type' => 'checkbox', 'label' => __pl('stretch'), 'css' => ['{{element}} .pagelayer-service-btn' => 'width:100%;'], 'req' => ['service_button' => 'true'] ), 'service_button_url' => array( 'type' => 'link', 'label' => __pl('iconbox_btn_url_label'), 'selector' => '.pagelayer-service-btn', 'req' => ['service_button' => 'true'] ), 'service_button_text' => array( 'type' => 'text', 'label' => __pl('iconbox_button_text_label'), 'edit' => '.pagelayer-service-btn', 'default' => 'Click Here!', 'req' => ['service_button' => 'true'] ), 'service_button_typo' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], 'req' => ['service_button' => 'true'] ), 'service_btn_spacing' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'css' => ['{{element}} .pagelayer-service-btn' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], 'req' => ['service_button' => 'true'] ), 'service_button_font_size' => array( 'type' => 'slider', 'label' => __pl('iconbox_btn_text_size'), 'min' => '0', 'max' => '50', 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'font-size:{{val}}px;'], 'req' => [ 'service_button' => 'true', 'iconbox_button_type' => 'pagelayer-btn-custom', ] ), 'service_btn_state' => array( 'type' => 'radio', 'label' => __pl('button_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), 'req' => array( 'service_button' => 'true', 'iconbox_button_type' => 'pagelayer-btn-custom' ), ), 'service_button_color' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-service-btn' => 'color:{{val}};'], 'req' => [ 'service_button' => 'true', 'iconbox_button_type' => 'pagelayer-btn-custom', ], 'show' => ['service_btn_state' => 'normal'] ), 'service_button_bg_color' => array( 'type' => 'color', 'label' => __pl('service_button_bg_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-service-btn' => 'background-color:{{val}};'], 'req' => [ 'service_button' => 'true', 'iconbox_button_type' => 'pagelayer-btn-custom', ], 'show' => ['service_btn_state' => 'normal'] ), 'service_btn_hover_delay' => array( 'type' => 'spinner', 'label' => __pl('service_btn_hover_delay'), 'min' => 0, 'step' => 100, 'max' => 5000, 'default' => 400, 'css' => ['{{element}} .pagelayer-service-btn' => '-webkit-transition: all {{val}}ms; transition: all {{val}}ms;'], 'show' => ['service_btn_state' => 'hover'], ), 'service_button_color_hover' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'default' => '', 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'color:{{val}};'], 'show' => ['service_btn_state' => 'hover'], ), 'service_button_bg_color_hover' => array( 'type' => 'color', 'label' => __pl('service_button_bg_color_hover'), 'default' => '', 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'background-color:{{val}};'], 'show' => ['service_btn_state' => 'hover'], ), ], 'border_style' => [ 'btn_bor_hover' => array( 'type' => 'radio', 'label' => __pl('state'), 'list' => array( '' => __pl('normal'), 'hover' => __pl('hover'), ) ), 'btn_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-service-btn' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_color' => array( 'type' => 'color', 'label' => __pl('border_color_label'), 'css' => ['{{element}} .pagelayer-service-btn' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type' => '' ), 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!btn_border_type' => '' ], 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type' => '' ), 'show' => array( 'btn_bor_hover' => '' ), ), 'btn_border_type_hover' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_color_hover' => array( 'type' => 'color', 'label' => __pl('border_color_hover_label'), 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-color: {{val}};'], 'req' => array( '!btn_border_type_hover' => '' ), 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_width_hover' => array( 'type' => 'padding', 'label' => __pl('border_width_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => [ '!btn_border_type_hover' => '' ], 'show' => array( 'btn_bor_hover' => 'hover' ), ), 'btn_border_radius_hover' => array( 'type' => 'padding', 'label' => __pl('border_radius_hover'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-service-btn:hover' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => array( '!btn_border_type_hover' => '' ), 'show' => array( 'btn_bor_hover' => 'hover' ), ), ], 'styles' => [ 'service_icon_style' => __pl('service_icon_style'), 'service_icon_border' => __pl('service_icon_border'), 'service_heading_style' => __pl('service_heading_style'), 'service_content_style' => __pl('service_content_style'), 'service_btn_style' => __pl('service_btn_style'), 'border_style' => __pl('btn_border_style'), ], ) ); // Tabs pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tabs', array( 'name' => __pl('tabs'), 'group' => 'other', 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'holder' => '.pagelayer-tabcontainer', 'html' => '
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('Tabs list'), 'sc' => PAGELAYER_SC_PREFIX.'_tab', 'item_label' => array( 'default' => __pl('tab'), 'param' => 'title', ), 'count' => 2, 'text' => strtr(__pl('add_new_item'), array('%name%' => __pl('tab_name'))), ), 'vertical' => array( 'type' => 'checkbox', 'label' => __pl('tabs_vertical'), ), 'vertical_width' => array( 'type' => 'slider', 'label' => __pl('Tabs container width'), 'default' => 30, 'min' => 0, 'max' => 70, 'step' => 1, 'screen' => 1, 'css' => ['{{element}}' => 'width:100%; display: -webkit-flex; display: flex;', '{{element}} .pagelayer-tabs-holder' => '-webkit-flex-basis: {{val}}%; flex-basis:{{val}}%', '{{element}} .pagelayer-tabcontainer' => '-webkit-flex-basis: calc(100% - {{val}}%); flex-basis:calc(100% - {{val}}%)', '{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'width: 100%;'], 'req' => array( 'vertical' => 'true', ) ), 'rotate' => array( 'type' => 'radio', 'label' => __pl('tabs_rotate'), 'list' => array( '' => __pl('disable'), '3000' => '3', '5000' => '5', '10000' => '10', '15000' => '15', ), 'addAttr' => 'pagelayer-tabs-rotate="{{rotate}}"' ) ), 'tabs_holder_styles' => [ 'tabs_holder_bg_color' => array( 'type' => 'color', 'label' => __pl('Background color'), 'default' => '#f1f1f1', 'css' => ['{{element}} .pagelayer-tabs-holder' => 'background-color:{{val}}'], ), 'tabs_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'default' => 'solid', 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'css' => ['{{element}} .pagelayer-tabcontainer' => 'border-style: {{val}}', '{{element}} .pagelayer-tabs-holder' =>'border-style: {{val}}'], ), 'tabs_border_color' => array( 'type' => 'color', 'label' => __pl('border_color'), 'default' => '#cccccc', 'req' => [ '!tabs_border_type' => '' ], 'css' => ['{{element}} .pagelayer-tabcontainer' => 'border-color: {{val}}','{{element}} .pagelayer-tabs-holder' => 'border-color: {{val}}'], ), 'tabs_holder_border_width' => array( 'type' => 'padding', 'label' => __pl('Border Width'), 'default' => '1,1,0,1', 'screen' => 1, 'req' => [ '!tabs_border_type' => '' ], 'css' => ['{{element}} .pagelayer-tabs-holder' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], ), 'tabs_holder_border_radius' => array( 'type' => 'padding', 'label' => __pl('Border Radius'), 'default' => '1,1,0,1', 'screen' => 1, 'req' => [ '!tabs_border_type' => '' ], 'css' => ['{{element}} .pagelayer-tabs-holder' => 'border-top-left-radius: {{val[0]}}px; border-top-right-radius: {{val[1]}}px; border-bottom-right-radius: {{val[2]}}px; border-bottom-left-radius: {{val[3]}}px'], ), ], 'tabs_styles' => [ 'tabs_holder_align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'default' => 'left', 'screen' => 1, 'list' => array( 'left' => __pl('Left'), 'center' => __pl('Center'), 'right' => __pl('Right'), ), 'css' => ['{{element}} .pagelayer-tabs-holder' => 'text-align:{{val}}'], ), 'tabs_color' => array( 'type' => 'color', 'label' => __pl('Color '), 'default' => '#444', 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'color:{{val}}'], ), 'tabs_bg_color' => array( 'type' => 'color', 'label' => __pl('Background color'), 'default' => '#f1f1f1', 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'background-color:{{val}}'], ), 'tabs_active_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Color'), 'default' => '#fff', 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks.active' => 'color:{{val}}', '{{element}} .pagelayer-tabs-holder .pagelayer-tablinks:hover' => 'color:{{val}}'], ), 'tabs_active_bg_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Background Color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks.active'=> 'background-color:{{val}}', '{{element}} .pagelayer-tabs-holder .pagelayer-tablinks:hover' => 'background-color:{{val}}'], ), 'tab_title_typo' => array( 'type' => 'typography', 'label' => __pl('tab_title_typo'), 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'tabs_icon_align' => array( 'type' => 'radio', 'label' => __pl('Icon Position'), 'default' => 'left', 'list' => array( 'left' => __pl('Left'), 'right' => __pl('Right'), ), 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks i'=> 'float:{{val}};'], ), 'tabs_icon_spacing' => array( 'type' => 'slider', 'label' => __pl('tabs_icon_spacing'), 'default' => 10, 'max' => 50, 'min' => 0, 'steps' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks i'=> 'padding:0px {{val}}px;padding-{{tabs_icon_align}}:0px;'], ), ], 'content_styles' => [ 'tabs_content_typo' => array( 'type' => 'typography', 'label' => __pl('tab_content_typo'), 'css' => ['{{element}} .pagelayer-tabcontainer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'tabs_content_color' => array( 'type' => 'color', 'label' => __pl('Color'), 'default' => '#000000', 'css' => ['{{element}} .pagelayer-tab' => 'color:{{val}}'], ), 'tabs_content_bg_color' => array( 'type' => 'color', 'label' => __pl('Background Color'), 'default' => '#fff', 'css' => ['{{element}} .pagelayer-tab'=> 'background-color:{{val}}'], ), 'tab_padding' => array( 'type' => 'slider', 'label' => __pl('tabs_padding_label'), 'default' => 15, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}}.pagelayer-tabs .pagelayer-tabcontainer .pagelayer-tab' => 'padding: {{val}}px;'], ), 'tabs_content_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'default' => '1,1,1,1', 'screen' => 1, 'req' => [ '!tabs_border_type' => '' ], 'css' => ['{{element}} .pagelayer-tabcontainer' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], ), 'tabs_content_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'req' => [ '!tabs_border_type' => '' ], 'css' => ['{{element}} .pagelayer-tabcontainer' => 'border-top-left-radius: {{val[0]}}px; border-top-right-radius: {{val[1]}}px; border-bottom-right-radius: {{val[2]}}px; border-bottom-left-radius: {{val[3]}}px'], ), ], 'styles' => [ 'tabs_holder_styles' => __pl('tabs_holder_styles'), 'tabs_styles' => __pl('Tabs'), 'content_styles' => __pl('content'), ], ) ); // Tab pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tab', array( 'name' => __pl('tab'), 'group' => 'other', 'not_visible' => 1, 'parent' => [PAGELAYER_SC_PREFIX.'_tabs'], 'has_group' => [ 'section' => 'params', 'prop' => 'elements', ], 'holder' => '.pagelayer-tabcontent', 'html' => '
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('Inner Row'), 'sc' => PAGELAYER_SC_PREFIX.'_inner_row', // a.k.a the item being multiplied by the count 'count' => 1, 'item_label' => array( 'default' => __pl('Inner Row'), ), 'item_atts' => [], // orderwise array of attrbutes to be set as per the count given 'inner_content' => [ // This is the content within each item which is going to the created i.e. within each SC. This only use for inner rows ['pl_col' => [ 'inner_content' => [ ['pl_text' => [ 'atts' => ['text' => 'This is the default Tab content. Feel free to delete it.']]] ]] ] ], 'hide' => 1, ), 'default_active' => array( 'type' => 'checkbox', 'label' => __pl('Default active tab'), 'addAttr' => 'pagelayer-default_active="1"' ), 'tab_icon' => array( 'type' => 'icon', 'label' => __pl('icon'), 'addAttr' => 'pagelayer-tab-icon="{{tab_icon}}"', ), 'title' => array( 'type' => 'text', 'label' => __pl('title'), 'default' => 'Lorem', 'addAttr' => 'pagelayer-tab-title="{{title}}"' ), ) ) ); // Accordion pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion', array( 'name' => __pl('accordion'), 'group' => 'other', 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'holder' => '.pagelayer-accordion-holder', 'html' => '
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('Accordions'), 'sc' => PAGELAYER_SC_PREFIX.'_accordion_item', 'item_label' => array( 'default' => __pl('accordion_item_title_label'), 'param' => 'title' ), 'count' => 2, 'text' => strtr(__pl('add_new_item'), array('%name%' => __pl('accordion_name'))), ), 'acc_space' => array( 'type' => 'slider', 'label' => __pl('Space Between'), 'default' => 0, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion_item' => 'margin-bottom:{{val}}px;'], ), ), 'icon_styles' => [ 'icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fas fa-plus', ), 'active_icon' => array( 'type' => 'icon', 'label' => __pl('Active Icon'), 'default' => 'fas fa-minus', ), 'icon_align' => array( 'type' => 'radio', 'label' => __pl('Alignment'), 'default' => 'left', 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs span' => 'float:{{val}}'], 'list' => array( 'left' => __pl('left'), 'right' => __pl('right'), ) ), 'icon_padding' => array( 'type' => 'slider', 'label' => __pl('Spacing'), 'default' => 10, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs span' => 'padding:0px {{val}}px; padding-{{icon_align}}:0px;'], ), ], 'tabs_styles' => [ 'tabs_color' => array( 'type' => 'color', 'label' => __pl('Color '), 'default' => '#444444', 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'color:{{val}}'], ), 'tabs_bg_color' => array( 'type' => 'color', 'label' => __pl('Background Color '), 'default' => '#eeeeee', 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'background-color:{{val}}'], ), 'tabs_active_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Color '), 'default' => '#ffffff', 'css' => ['{{element}} .active .pagelayer-accordion-tabs' => 'color:{{val}}', '{{element}} .pagelayer-accordion-tabs:hover' => 'color:{{val}}'], ), 'tabs_active_bg_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Background Color '), 'default' => '#0986c0', 'css' => ['{{element}} .active .pagelayer-accordion-tabs'=> 'background-color:{{val}}', '{{element}} .pagelayer-accordion-tabs:hover' => 'background-color:{{val}}'], ), 'tab_padding' => array( 'type' => 'slider', 'label' => __pl('tabs_padding_label'), 'default' => 15, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'padding: {{val}}px;'], ), 'accordion_title_typo' => array( 'type' => 'typography', 'label' => __pl('accordion_title_typo'), 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'content_styles' => [ 'tabs_content_bg_color' => array( 'type' => 'color', 'label' => __pl('Background Color'), 'default' => '#fff', 'css' => ['{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel'=> 'background-color:{{val}}'], ), 'acc_content_typo' => array( 'type' => 'typography', 'label' => __pl('accordion_content_typo'), 'css' => ['{{element}} .pagelayer-accordion-panel' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'acc_content_padding' => array( 'type' => 'padding', 'label' => __pl('padding'), 'units' => ['px', '%', 'em'], 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-panel' => 'padding: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}'], ), 'acc_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-style: {{val}}', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' =>'border-style: {{val}}'], ), 'acc_border_color' => array( 'type' => 'color', 'label' => __pl('border_color'), 'default' => '#cccccc', 'req' => [ '!acc_border_type' => '' ], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-color: {{val}}', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' =>'border-color: {{val}}'], ), 'acc_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'default' => '1,1,1,1', 'screen' => 1, 'req' => [ '!acc_border_type' => '' ], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' => 'border-width: {{val[0]}}px 0 0 0'], ), 'acc_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px '], ) ], 'styles' => [ 'icon_styles' => __pl('icon'), 'tabs_styles' => __pl('Tabs'), 'content_styles' => __pl('Content'), ], ) ); // Accordion item pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion_item', array( 'name' => __pl('Accordion item'), 'group' => 'other', 'not_visible' => 1, 'parent' => [PAGELAYER_SC_PREFIX.'_accordion', PAGELAYER_SC_PREFIX.'_collapse'], 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'holder' => '.pagelayer-accordion-panel', 'html' => '{{title}}
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('Inner Row'), 'sc' => PAGELAYER_SC_PREFIX.'_inner_row', 'count' => 1, 'item_label' => array( 'default' => __pl('Inner Row'), ), 'hide' => 1, ), 'default_active' => array( 'type' => 'checkbox', 'label' => __pl('Default active tab'), 'addClass' => 'active' ), 'scroll_id' => array( 'type' => 'text', 'label' => __pl('ele_id'), 'addAttr' => ['{{element}} .pagelayer-accordion-tabs' => 'id={{scroll_id}}'] ), 'title' => array( 'type' => 'text', 'label' => __pl('title'), 'default' => 'Lorem', ), ) ) ); // Toggle / Collapse pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_collapse', array( 'name' => __pl('Collapse'), 'group' => 'other', 'has_group' => [ 'section' => 'params', 'prop' => 'elements' ], 'holder' => '.pagelayer-collapse-holder', 'html' => '
    ', 'params' => array( 'elements' => array( 'type' => 'group', 'label' => __pl('Collapse Items'), 'sc' => PAGELAYER_SC_PREFIX.'_accordion_item', 'item_label' => array( 'default' => __pl('tab'), 'param' => 'title', ), 'count' => 2, 'text' => strtr(__pl('add_new_item'), array('%name%' => __pl('tab_name'))), ), 'acc_space' => array( 'type' => 'slider', 'label' => __pl('Space Between'), 'default' => 0, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion_item' => 'margin-bottom:{{val}}px;'], ), ), 'icon_style' => [ 'icon' => array( 'type' => 'icon', 'label' => __pl('list_icon_label'), 'default' => 'fas fa-plus', ), 'active_icon' => array( 'type' => 'icon', 'label' => __pl('Active icon'), 'default' => 'fas fa-minus' ), 'icon_align' => array( 'type' => 'radio', 'label' => __pl('Alignment'), 'default' => 'left', 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs span' => 'float:{{val}}'], 'list' => array( 'left' => __pl('left'), 'right' => __pl('right'), ) ), 'icon_padding' => array( 'type' => 'slider', 'label' => __pl('Spacing'), 'default' => 10, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs span' => 'padding:0px {{val}}px; padding-{{icon_align}}:0px;'], ), ], 'tabs_styles' => [ 'tabs_color' => array( 'type' => 'color', 'label' => __pl('Color '), 'default' => '#444', 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'color:{{val}}'], ), 'tabs_bg_color' => array( 'type' => 'color', 'label' => __pl('Background Color '), 'default' => '#eee', 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'background-color:{{val}}'], ), 'tabs_active_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Color '), 'default' => '#fff', 'css' => ['{{element}} .active .pagelayer-accordion-tabs' => 'color:{{val}}', '{{element}} .pagelayer-accordion-tabs:hover' => 'color:{{val}}'], ), 'tabs_active_bg_color' => array( 'type' => 'color', 'label' => __pl('Active Tab Background Color '), 'default' => '#0986c0', 'css' => ['{{element}} .active .pagelayer-accordion-tabs'=> 'background-color:{{val}}', '{{element}} .pagelayer-accordion-tabs:hover' => 'background-color:{{val}}'], ), 'tab_padding' => array( 'type' => 'slider', 'label' => __pl('tabs_padding_label'), 'default' => 15, 'min' => 0, 'max' => 50, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'padding: {{val}}px;'], ), 'collapse_title_typo' => array( 'type' => 'typography', 'label' => __pl('collapsse_title_typo'), 'css' => ['{{element}} .pagelayer-accordion-tabs' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'content_styles' => [ 'tabs_content_bg_color' => array( 'type' => 'color', 'label' => __pl('Background Color '), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel'=> 'background-color:{{val}}'], ), 'acc_content_padding' => array( 'type' => 'padding', 'label' => __pl('padding'), 'units' => ['px', '%', 'em'], 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' => 'padding: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}'], ), 'acc_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], 'show' => ['border_hover' => ''], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-style: {{val}}', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' =>'border-style: {{val}}'], ), 'acc_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'default' => '1,1,1,1', 'screen' => 1, 'req' => [ '!acc_border_type' => '' ], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' => 'border-width: {{val[0]}}px 0 0 0'], ), 'acc_border_color' => array( 'type' => 'color', 'label' => __pl('border_color'), 'default' => '#cccccc', 'req' => [ '!acc_border_type' => '' ], 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-color: {{val}}', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' =>'border-color: {{val}}'], ), 'acc_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px '], 'req' => array( '!acc_border_type' => '' ), ) ], 'styles' => [ 'icon_style' => __pl('icon'), 'tabs_styles' => __pl('Tabs'), 'content_styles' => __pl('Content'), ], ) ); // Space pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_space', array( 'name' => __pl('space'), 'group' => 'other', 'html' => '
    ', 'params' => array( 'height' => array( 'type' => 'slider', 'label' => __pl('Space Height'), 'screen' => 1, 'units' => ['px', 'em'], 'css' => ['{{element}} .pagelayer-space-holder' => 'height: {{val}};'], 'default' => '10', 'min' => 0, 'max' => 1000, 'step' => 1 ) ) ) ); // Embed pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_embed', array( 'name' => __pl('embed'), 'group' => 'other', 'innerHTML' => 'data', 'html' => '
    {{data}}
    ', 'params' => array( 'data' => array( 'type' => 'textarea', 'label' => __pl('embed_paste_code'), 'default' => '

    Paste HTML code here...

    ', 'desc' => '', ), ) ) ); // Shortcodes pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_shortcodes', array( 'name' => __pl('shortcodes'), 'group' => 'other', 'no_gt' => 1, 'innerHTML' => 'data', 'holder' => '.pagelayer-shortcodes-container', 'html' => '
    {{{shortcode}}}
    ', 'params' => array( 'data' => array( 'type' => 'textarea', 'label' => __pl('shortcodes_paste_code'), 'desc' => 'Paste short codes here', ), ) ) ); // Shortcodes pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_missing', array( 'name' => __pl('missing_content'), 'group' => 'other', 'no_gt' => 1, 'not_visible' => 1, 'innerHTML' => 'data', 'holder' => '.pagelayer-missing-container', 'html' => '
    {{{missing_msg}}}
    {{data}}
    ', 'params' => array( 'data' => array( 'type' => 'textarea', 'label' => __pl('Incompatible Content'), 'no_val' => 1, 'desc' => __('This code will be saved exactly as it is with the post!'), ), ) ) ); // Google Maps pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_google_maps', array( 'name' => __pl('google_maps'), 'group' => 'other', 'innerHTML' => 'address', 'html' => '
    {{src_code}}
    ', 'params' => array( 'api_version' => array( 'type' => 'select', 'label' => __pl('api_version'), 'default' => 'v3', 'list' =>array( '' => __pl('version2'), 'v3' => __pl('version3') ), 'desc' => __pl('api_version_desc') ), 'api_key' => array( 'type' => 'text', 'label' => __pl('api_key'), 'desc' => __pl('google_api_key_desc'), 'req' => ['api_version' => 'v3'] ), 'map_modes' => array( 'type' => 'select', 'label' => __pl('map_modes'), 'default' => 'place', 'list' =>array( 'place' => __pl('place'), 'view' => __pl('view'), 'directions' => __pl('directions'), 'streetview' => __pl('streetview'), 'search' => __pl('search') ), 'req' => ['api_version' => 'v3'] ), 'address' => array( 'type' => 'text', 'label' => __pl('google_map_address_label'), 'default' => 'New York, New York, USA', 'desc' => __pl('google_map_address_desc'), 'req' => ['!map_modes' => 'search'] ), 'direction_origin' => array( 'type' => 'text', 'label' => __pl('origin'), 'default' => 'Oslow Norway', 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'direction_destination' => array( 'type' => 'text', 'label' => __pl('destination'), 'default' => 'Telemark Norway', 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'direction_waypoints' => array( 'type' => 'text', 'label' => __pl('waypoints'), 'desc' => __pl('waypoints_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'direction_modes' => array( 'type' => 'select', 'label' => __pl('modes'), 'default' => 'driving', 'list' =>array( 'driving' => __pl('driving'), 'walking' => __pl('walking'), 'bicycling' => __pl('bicycling'), 'flying' => __pl('flying') ), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'direction_avoid' => array( 'type' => 'multiselect', 'label' => __pl('avoid'), 'list' => array( 'tolls' => __pl('tolls'), 'ferries' => __pl('ferries'), 'highways' => __pl('highways'), ), 'desc' => __pl('direc_avoid_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'direction_units' => array( 'type' => 'select', 'label' => __pl('units'), 'default' => 'metric', 'list' =>array( 'metric' => __pl('metric'), 'imperial' => __pl('imperial'), ), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'directions' ] ), 'streetview_pano' => array( 'type' => 'text', 'label' => __pl('pano'), 'default' => 'eTnPNGoy4bxR9LpjjfFuOw', 'desc' => __pl('pano_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'streetview' ] ), 'streetview_location' => array( 'type' => 'text', 'label' => __pl('location'), 'default' => '46.414382,10.013988', 'desc' => __pl('center_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'streetview' ] ), 'streetview_heading' => array( 'type' => 'slider', 'label' => __pl('heading'), 'min' => -180, 'max' => 360, 'desc' => __pl('heading_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'streetview' ] ), 'streetview_pitch' => array( 'type' => 'slider', 'label' => __pl('pitch'), 'min' => -90, 'max' => 90, 'desc' => __pl('pitch_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'streetview' ] ), 'streetview_fov' => array( 'type' => 'slider', 'label' => __pl('fov'), 'min' => 10, 'max' => 100, 'desc' => __pl('fov_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'streetview' ] ), 'search_term' => array( 'type' => 'text', 'label' => __pl('google_search_term'), 'default' => 'Record stores in Seattle', 'desc' => __pl('google_search_desc'), 'req' => [ 'api_version' => 'v3', 'map_modes' => 'search' ] ), 'center' => array( 'type' => 'text', 'label' => __pl('center'), 'desc' => __pl('center_desc'), 'req' => [ 'api_version' => 'v3', '!map_modes' => 'streetview' ] ), 'map_type' => array( 'type' => 'select', 'label' => __pl('map_type'), 'default' => 'roadmap', 'list' =>array( 'roadmap' => __pl('roadmap'), 'satellite' => __pl('satellite') ), 'req' => [ 'api_version' => 'v3', '!map_modes' => 'streetview' ] ), 'noscroll' => array( 'type' => 'checkbox', 'label' => __pl('google_map_noscroll'), 'css' => ['{{element}} iframe' => 'pointer-events: none;'], ), 'zoom' => array( 'type' => 'slider', 'label' => __pl('google_map_zoom_label'), 'default' => 10, 'min' => 0, 'max' => 21 ), 'height' => array( 'type' => 'slider', 'label' => __pl('google_map_height'), 'screen' => 1, 'default' => 300, 'min' => 100, 'max' => 1000, 'css' => ['{{element}} iframe' => 'height: {{val}}px'], ), ) ) ); // Testimonial pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_testimonial', array( 'name' => __pl('testimonial'), 'group' => 'other', 'innerHTML' => 'quote_content', 'html' => '
    {{quote_content}}
    {{{avatar-alt}}}
    {{cite}} {{designation}}
    ', 'params' => array( 'image_position' => array( 'type' => 'select', 'label' => __pl('position'), 'default' => 'aside-position', 'list' =>array( 'aside-position' => __pl('aside'), 'top-position' => __pl('top') ), ), 'alignment' => array( 'type' => 'radio', 'label' => __pl('testimonial_alignment_label'), 'default' => 'center', 'css' =>'text-align:{{val}};', 'screen' => 1, 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ), ), 'author-spacing' => array( 'type' => 'slider', 'label' => __pl('author_spacing'), 'min' => '0', 'max' => '100', 'default' => '20', 'screen' => 1, 'css' => ['{{element}} .pagelayer-testimonial-author-details' => 'margin-top:{{val}}px;'], ), ), // Styles 'content_style' => [ 'quote_content' => array( 'type' => 'editor', 'label' => __pl('testimonial_content_label'), 'edit' => '.pagelayer-testimonial-content', 'default' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' ) ], 'avatar_style' => [ 'avatar' => array( 'type' => 'image', 'label' => __pl('testimonial_image_label'), 'default' => PAGELAYER_URL.'/images/default-image.png', 'desc' => __pl('testimonial_image_desc'), ), 'testimonial_image_size' => array( 'label' => __pl('testimonial_image_sizes'), 'type' => 'slider', 'min' => 0, 'max' => 500, 'default' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-testimonial-image' => 'width:{{val}}px !important; height:{{val}}px !important;'], ), 'img_shape' => array( 'type' => 'select', 'label' => __pl('image_shape'), 'default' => 'circle', 'list' =>array( 'square' => __pl('square'), 'circle' => __pl('circle'), ), ), 'testimonial_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-testimonial-image' =>'border-style: {{val}};'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ] ), 'testimonial_border_color' => array( 'type' => 'color', 'label' => __pl('testimonial_border_color_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-testimonial-image' => 'border-color: {{val}};'], 'req' => ['!testimonial_border_type' => ''] ), 'testimonial_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-testimonial-image' =>'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px;'], 'req' => ['!testimonial_border_type' => ''] ), 'testimonial_border_radius' => array( 'type' => 'padding', 'label' => __pl('border_radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-testimonial-image' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], 'req' => ['!testimonial_border_type' => ''] ), ], 'cite_style' => [ 'cite' => array( 'type' => 'text', 'label' => __pl('testimonial_cite_label'), 'default' => 'John Smith', 'desc' => __pl('testimonial_cite_desc'), 'edit' => '.pagelayer-testimonial-author', ), 'cite_color' => array( 'type' => 'color', 'label' => __pl('testimonial_name_color_label'), 'default' => '#426870', 'css' => ['{{element}} .pagelayer-testimonial-author ' => 'color:{{val}}'], ), 'cite_style' => array( 'type' => 'typography', 'label' => __pl('cite_style'), 'default' => ',20,,100,,none,,,,,', 'css' => ['{{element}} .pagelayer-testimonial-author' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'cite_url' => array( 'type' => 'link', 'label' => __pl('testimonial_url_label'), 'selector' => '.pagelayer-ele-link', 'desc' => __pl('testimonial_url_desc'), ), 'cite_spacing' => array( 'type' => 'padding', 'label' => __pl('cite_spacing'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-testimonial-cite' => 'margin-top: {{val[0]}}px; margin-right: {{val[1]}}px; margin-bottom: {{val[2]}}px; margin-left: {{val[3]}}px'], ), ], 'designation_style' => [ 'designation' => array( 'type' => 'text', 'label' => __pl('testimonial_designation_label'), 'default' => 'Web Developer', 'desc' => __pl('testimonial_cite_title_size_desc'), 'edit' => '.pagelayer-testimonial-author-title', ), 'designation_color' => array( 'type' => 'color', 'label' => __pl('testimonial_title_color_label'), 'default' => '#9cafc0', 'css' => ['{{element}} .pagelayer-testimonial-author-title' => 'color:{{val}}'], ), 'cite_designation_style' => array( 'type' => 'typography', 'label' => __pl('cite_designation_style'), 'default' => ',16,,100,,,,,,,', 'css' => ['{{element}} .pagelayer-testimonial-author-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'styles' => [ 'avatar_style' => __pl('avatar_style'), 'cite_style' => __pl('cite'), 'designation_style' => __pl('designation'), 'content_style' => __pl('content_style'), ], ) ); // Progress object - Make a group pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_progress', array( 'name' => __pl('Progress Bars'), 'group' => 'other', 'innerHTML' => 'progress_text', 'html' =>'
    {{title}}
    {{prefix}}
    {{suffix}}
    {{progress_text}}
    ', 'params' => array( 'progress_type' => array( 'type' => 'select', 'label' => __pl('progress_type'), 'default' => 'primary', 'list' => [ 'primary' => __pl('Primary'), 'secondary' => __pl('Secondary'), 'success' => __pl('Success'), 'warning' => __pl('Warning'), 'danger' => __pl('Danger'), '' => __pl('custom') ], ), 'progress_color' => array( 'type' => 'color', 'label' => __pl('progress_bar_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-progress-bar' => 'background-color:{{val}};'], 'req' => ['progress_type' => ''] ), 'progress_bg_color' => array( 'type' => 'color', 'label' => __pl('bg_color'), 'css' => ['{{element}} .pagelayer-progress-container' => 'background-color:{{val}};'], 'req' => ['progress_type' => ''] ), 'progress_height' => array( 'type' => 'slider', 'label' => __pl('progress_height'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-progress-bar' => 'height:{{val}}px;', '{{element}} .pagelayer-progress-percent' => 'line-height:{{val}}px; font-size: calc({{val}}px / 2);', '{{element}} .pagelayer-progress-text' => 'line-height:{{val}}px; font-size: calc({{val}}px / 2);', ], 'default' => 40, ), 'progress_radius' => array( 'type' => 'padding', 'label' => __pl('radius'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-progress-bar, {{element}} .pagelayer-progress-container' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px; -webkit-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;-moz-border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;'], ), 'progress_border_type' => array( 'type' => 'select', 'label' => __pl('border_type'), 'css' => ['{{element}} .pagelayer-progress-container' => 'border-style: {{val}}'], 'list' => [ '' => __pl('none'), 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], ), 'progress_border_color' => array( 'type' => 'color', 'label' => __pl('border_color_label'), 'default' => '#42414f', 'css' => ['{{element}} .pagelayer-progress-container' => 'border-color: {{val}};'], 'req' => ['!progress_border_type' => ''], ), 'progress_border_width' => array( 'type' => 'padding', 'label' => __pl('border_width'), 'screen' => 1, 'css' => ['{{element}} .pagelayer-progress-container' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px'], 'req' => ['!progress_border_type' => ''], ) ), // Styles 'heading_style' => [ 'title' => array( 'type' => 'text', 'label' => __pl('progress_title'), 'default' => 'Progress', 'edit' => '.pagelayer-progress-title', ), 'title_color' => array( 'type' => 'color', 'label' => __pl('title_color'), 'default' => '#768589', 'css' => ['{{element}} .pagelayer-progress-title' => 'color:{{val}};'], ), 'title_align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'css' => ['{{element}} .pagelayer-progress-title' => 'text-align: {{val}}'], 'screen' => 1, 'list' => array( 'left' => 'Left', 'center' => 'Center', 'right' => 'Right' ), ), 'title_style' => array( 'type' => 'typography', 'label' => __pl('title_size'), 'default' => ',25,,100,,,,,,,', 'css' => ['{{element}} .pagelayer-progress-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'percentage_style' => [ 'progress_text'=> array( 'type' => 'text', 'label' => __pl('progress_text'), 'default' => 'Designing', 'edit' => '.pagelayer-progress-text', ), 'progress_text_color' => array( 'type' => 'color', 'label' => __pl('progress_text_color'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-progress-text' => 'color:{{val}};'], ), 'progress_percentage' => array( 'type' => 'slider', 'label' => __pl('percentage'), 'min' => 0, 'max' => 100, 'css' => ['{{element}} .pagelayer-progress-container > .pagelayer-progress-bar:after' => 'width:{{val}}%;',], 'addAttr' => ['{{element}} .pagelayer-progress-bar' => 'pagelayer-progress-width="{{progress_percentage}}"'], 'default' => 75, ), 'progress_percent_color' => array( 'type' => 'color', 'label' => __pl('progress_percent_color'), 'default' => '#ffffff', 'css' => ['{{element}} .pagelayer-progress-percent' => 'color:{{val}};'], ), 'hide_percentage' => array( 'type' => 'checkbox', 'label' => __pl('hide_percentage'), 'screen' => 1, 'default' => '', 'css' => ['{{element}} .pagelayer-progress-percent' => 'display: none;'] ), ], 'progress_prefix_suffix' =>[ 'progress_pre_suf' => array( 'type' => 'checkbox', 'label' => __pl('prefix_suffix'), ), 'prefix' => array( 'type' => 'text', 'label' => __pl('prefix_name'), 'default' => 'Reached: $1000', 'edit' => '.pagelayer-progress-prefix', 'req' => ['progress_pre_suf' => 'true'], ), 'suffix' => array( 'type' => 'text', 'label' => __pl('suffix_name'), 'default' => 'Goal: $5000', 'edit' => '.pagelayer-progress-suffix', 'req' => ['progress_pre_suf' => 'true'], ), 'prefix_suffix_color' => array( 'type' => 'color', 'label' => __pl('color'), 'default' => '#444444', 'css' => ['{{element}} .pagelayer-progress-prefix, {{element}} .pagelayer-progress-suffix' => 'color:{{val}};'], 'req' => ['progress_pre_suf' => 'true'], ) ], 'styles' => [ 'heading_style' => __pl('heading_style'), 'percentage_style' => __pl('percentage'), 'progress_prefix_suffix' => __pl('prefix_suffix'), ] ) ); // Color Block pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_block', array( 'name' => __pl('Color Block'), 'group' => 'other', 'params' => array( 'block_color' => array( 'type' => 'color', 'label' => __pl('block_color'), 'default' => '#CCC', 'css' => ['{{element}}' => 'background:{{val}}'], ), 'block_height' => array( 'type' => 'spinner', 'label' => __pl('block_height'), 'default' => '200', 'screen' => 1, 'min' => 1, 'max' => 1000, 'step' => 1, 'css' => ['{{element}}' => 'height:{{val}}px'], ), ) ) ); // Alert pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_alert', array( 'name' => __pl('Alert'), 'group' => 'other', 'innerHTML' => 'alert_content', 'html' => '
    {{alert_title}}
    {{alert_content}}', 'params' => array( 'alert_type' => array( 'type' => 'select', 'label' => __pl('Type'), 'default' => 'alert-primary', 'addClass' => 'pagelayer-{{val}}', 'list' => array( 'alert-primary' => __pl('alert_type_primary'), 'alert-secondary' => __pl('alert_type_secondary'), 'alert-success' => __pl('alert_type_success'), 'alert-info' => __pl('alert_type_info'), 'alert-warning' => __pl('alert_type_warning'), 'alert-danger' => __pl('alert_type_danger'), 'alert-dark' => __pl('alert_type_dark'), 'alert-custom' => __pl('alert_type_custom'), ) ), 'alert_bg_color' => array( 'type' => 'color', 'label' => __pl('alert_bg_color'), 'css' => 'background-color: {{val}}', 'req' => ['alert_type' => 'alert-custom'] ), 'is_dismissible' => array( 'type' => 'checkbox', 'label' => __pl('is_dismissible'), 'default' => 'true', 'addClass' => 'pagelayer-alert-dismissible' ) ), 'icon_style' => [ 'alert_icon' => array( 'type' => 'icon', 'label' => __pl('alert_icon'), 'default' => 'fas fa-exclamation', ), 'alert_icon_color' => array( 'type' => 'color', 'label' => __pl('alert_icon_color'), 'css' => ['{{element}} .pagelayer-alert-icon' => 'color: {{val}}'], ), 'alert_font_size' => array( 'label' => __pl('alert_font_size'), 'type' => 'slider', 'min' => 0, 'max' => 500, 'default' => 20, 'screen' => 1, 'css' => ['{{element}} .pagelayer-alert-icon' => 'font-size:{{val}}px;'], ), 'alert_icon_spacing' => array( 'label' => __pl('alert_icon_spacing'), 'type' => 'slider', 'min' => 0, 'max' => 200, 'default' => 5, 'screen' => 1, 'css' => ['{{element}} .pagelayer-alert-icon' => 'margin-right:{{val}}px;'], ), ], 'title_style' => [ 'alert_title' => array( 'type' => 'text', 'label' => __pl('alert_title'), 'default' => 'This is an Alert', 'edit' => '.pagelayer-alert-title', ), 'alert_title_color' => array( 'type' => 'color', 'label' => __pl('alert_title_color'), 'default' => '', 'css' => ['{{element}} .pagelayer-alert-title' => 'color:{{val}}'], ), 'title_typo' => array( 'type' => 'typography', 'label' => __pl('title_typo'), 'default' => ',22,,600,,,,,,,', 'css' => ['{{element}} .pagelayer-alert-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'content_style' => [ 'alert_content' => array( 'type' => 'textarea', 'label' => __pl('alert_content'), 'default' => 'Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet.', 'edit' => '.pagelayer-alert-text', ), 'alert_content_color' => array( 'type' => 'color', 'label' => __pl('alert_content_color'), 'default' => '', 'css' => ['{{element}} .pagelayer-alert-text' => 'color:{{val}}', '{{element}} .pagelayer-alert-text *' => 'color:{{val}}'], 'req' => ['!alert_content' => ''], ), 'content_typo' => array( 'type' => 'typography', 'label' => __pl('title_typo'), 'default' => ',13,,,,,,,,,', 'css' => ['{{element}} .pagelayer-alert-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'styles' => [ 'icon_style' => __pl('icon'), 'title_style' => __pl('title_style'), 'content_style' => __pl('content_style'), ], ) ); // Anchor pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_anchor', array( 'name' => __pl('Anchor'), 'group' => 'other', 'html' => '
    ', 'params' => array( 'title' => array( 'type' => 'text', 'label' => __pl('Anchor ID'), 'desc' => __pl('Note : Please enter the name of Unique ID that you want to use as an Anchor (Without #)'), ), ) ) ); // Star object pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_stars', array( 'name' => __pl('Stars'), 'group' => 'other', 'html' => '{{rating_title}}
    ', 'params' => array( 'number_of_stars' => array( 'type' => 'spinner', 'label' => __pl('stars_count'), 'min' => 0, 'max' => 10, 'step' => 1, 'default' => 5, ), 'number_of_ratings' => array( 'type' => 'spinner', 'label' => __pl('stars_rating'), 'min' => 0, 'max' => 10, 'step' => .1, 'default' => 2.5, ), 'ratings_align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'css' => ['{{element}}' => 'text-align: {{val}}'], 'screen' => 1, 'list' => array( 'left' => 'Left', 'center' => 'Center', 'right' => 'Right' ), ), ), 'title_style' => [ 'rating_title' => array( 'type' => 'text', 'label' => __pl('rating_title'), 'default' => 'Rate us', 'edit' => '.pagelayer-stars-title', ), 'title_color' => array( 'type' => 'color', 'label' => __pl('title_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-stars-title' => 'color: {{val}}'], ), 'title_style' => array( 'type' => 'typography', 'label' => __pl('counter_number_size'), 'default' => ',25,,600,,,solid,,,,', 'css' => ['{{element}} .pagelayer-stars-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'stars_style' => [ 'stars_color' => array( 'type' => 'color', 'label' => __pl('stars_color'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-stars-icon:before' => 'color: {{val}}'], ), 'unmarked_stars_color' => array( 'type' => 'color', 'label' => __pl('unmarked_star_color'), 'default' => '#ccd6df', 'css' => ['{{element}} .pagelayer-stars-container' => 'color: {{val}}'], ), 'stars_font_size' => array( 'label' => __pl('stars_font_size'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'default' => 30, 'screen' => 1, 'css' => ['{{element}} .pagelayer-stars-container' => 'font-size:{{val}}px;'], ), 'stars_spacing' => array( 'label' => __pl('stars_spacing'), 'type' => 'slider', 'min' => 0, 'max' => 100, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .pagelayer-stars-icon' => 'margin-left:{{val}}px;'], ), ], 'styles' => [ 'title_style' => __pl('title'), 'stars_style' => __pl('stars_style'), ], ) ); // Divider pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_divider', array( 'name' => __pl('Divider'), 'group' => 'other', 'html' => '
    ', 'params' => array( 'divider_style' => array( 'type' => 'select', 'label' => __pl('divider_border_type'), 'css' => ['{{element}} .pagelayer-divider-seperator' =>'border-top-style: {{val}};'], 'default' => 'solid', 'list' => [ 'solid' => __pl('solid'), 'double' => __pl('double'), 'dotted' => __pl('dotted'), 'dashed' => __pl('dashed'), 'groove' => __pl('groove'), ], ), 'divider_color' => array( 'type' => 'color', 'label' => __pl('divider_color'), 'default' => '#999', 'css' => ['{{element}} .pagelayer-divider-seperator' => 'border-top-color: {{val}};'], ), 'divider_weight' => array( 'type' => 'slider', 'label' => __pl('divider_border_weight'), 'min' => 1, 'max' => 30, 'default' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-divider-seperator' =>'border-top-width: {{val}}px;'], ), 'divider_widht' => array( 'type' => 'slider', 'label' => __pl('divider_border_width'), 'min' => 1, 'max' => 100, 'default' => 100, 'screen' => 1, 'css' => ['{{element}} .pagelayer-divider-seperator' =>'width: {{val}}%;'], ), 'divider_gap' => array( 'type' => 'slider', 'label' => __pl('divider_gap'), 'min' => 1, 'max' => 100, 'default' => 10, 'screen' => 1, 'css' => ['{{element}} .pagelayer-divider-holder' =>'padding-top: {{val}}px; padding-bottom: {{val}}px;'], ), 'divider_alignment' => array( 'type' => 'radio', 'label' => __pl('divider_alignment'), 'default' => 'center', 'screen' => 1, 'css' => ['{{element}} .pagelayer-divider-holder' => 'text-align: {{val}};'], 'list' => array( 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ) ), ), ) ); // Counter pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_counter', array( 'name' => __pl('Counter'), 'group' => 'other', 'html' => '
    {{number_prefix}}{{counter_start_number}}{{number_suffix}}
    {{counter_text}}
    ', 'params' => array( 'counter_start_number' => array( 'type' => 'spinner', 'label' => __pl('starting_number'), 'min' => '0', 'default' => '1', 'addAttr' => ['{{element}} .pagelayer-counter-display' => 'pagelayer-counter-initial-value="{{counter_start_number}}"'], ), 'counter_end_number' => array( 'type' => 'spinner', 'label' => __pl('Ending_number'), 'min' => '0', 'default' => '200', 'addAttr' => ['{{element}} .pagelayer-counter-display' => 'pagelayer-counter-last-value="{{counter_end_number}}"'], ), 'animation_duration' => array( 'type' => 'spinner', 'label' => __pl('counter_animation_duration'), 'min' => '500', 'max' => '500000', 'default' =>'2000', 'addAttr' => ['{{element}} .pagelayer-counter-display' => 'pagelayer-counter-animation-duration="{{animation_duration}}"'], ), 'counter_align' => array( 'type' => 'radio', 'label' => __pl('counter_align'), 'default' => 'center', 'css' => 'text-align: {{val}};', 'screen' => 1, 'list' => [ 'left' => __pl('left'), 'center' => __pl('center'), 'right' => __pl('right'), ] ), ), // Styles 'counter_style' => [ 'counter_number_color' => array( 'type' => 'color', 'label' => __pl('counter_number_color_label'), 'default' => '#0986c0', 'css' => ['{{element}} .pagelayer-counter-content' => 'color:{{val}};'], ), 'number_prefix' => array( 'type' => 'text', 'label' => __pl('number_prefix'), ), 'number_suffix' => array( 'type' => 'text', 'label' => __pl('number_suffix'), ), 'thousand_seperator' => array( 'type' => 'checkbox', 'label' => __pl('thousand_seperator'), 'addAttr' => ['{{element}} .pagelayer-counter-display' => 'pagelayer-counter-seperator="{{thousand_seperator}}"'], ), 'thousand_seperator_type' => array( 'type' => 'select', 'label' => __pl('thousand_seperator_type'), 'default' => ',', 'list' => [ ',' => __pl('Default'), '.' => __pl('Dot'), ' ' => __pl('Space'), ], 'addAttr' => ['{{element}} .pagelayer-counter-display' => 'pagelayer-counter-seperator-type="{{thousand_seperator_type}}"'], 'req' => array( 'thousand_seperator' => 'true', ), ), 'counter_number_style' => array( 'type' => 'typography', 'label' => __pl('counter_number_size'), 'default' => ',60,,600,,,solid,,,,', 'css' => ['{{element}} .pagelayer-counter-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'counter_label_style' => [ 'counter_text' => array( 'type' => 'text', 'label' => __pl('counter_text'), 'default' => 'Counter', 'edit' => '.pagelayer-counter-info' ), 'counter_text_color' => array( 'type' => 'color', 'label' => __pl('counter_text_color_label'), 'default' => '#333333', 'css' => ['{{element}} .pagelayer-counter-info' => 'color:{{val}};'], ), 'counter_text_style' => array( 'type' => 'typography', 'label' => __pl('counter_text_style'), 'default' => ',25,,400,,,solid,,,,', 'css' => ['{{element}} .pagelayer-counter-info' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), ], 'styles' => [ 'counter_label_style' => __pl('counter_label_style'), 'counter_style' => __pl('counter_style'), ], ) ); // Address pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_address', array( 'name' => __pl('address'), 'group' => 'other', 'icon' => 'fas fa-map-marker-alt', 'html' => '
    '.pagelayer_get_option('pagelayer-address').'
    ', 'params' => array( 'color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'color:{{val}}'], 'desc' => __pl('CMA_desc') ), 'typography' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'screen' => 1, 'list' => [ 'flex-start' => __pl('left'), 'center' => __pl('center'), 'flex-end' => __pl('right'), ], 'css' => ['{{element}} .pagelayer-address-holder' => 'justify-content: {{val}}'], ), 'space' => array( 'type' => 'slider', 'label' => __pl('space'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['body:not(.rtl) {{element}} .pagelayer-address-icon' => 'margin-right: {{val}}px;', 'body.rtl {{element}} .pagelayer-address-icon' => 'margin-left:{{val}}px'] ), ), 'icon_style' =>[ 'icon' => array( 'type' => 'icon', 'label' => __pl('icon'), 'default' => 'fas fa-map-marker-alt' ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-address-icon i' => 'color:{{val}}'], ), 'icon_size' => array( 'type' => 'slider', 'label' => __pl('size'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-address-icon i' => 'font-size: {{val}}px;'] ), ], 'styles' => [ 'icon_style' => __pl('icon_style') ] ) ); // Email pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_email', array( 'name' => __pl('email'), 'group' => 'other', 'icon' => 'fas fa-envelope', 'html' => '
    ', 'params' => array( 'linked' => array( 'type' => 'checkbox', 'label' => __pl('make_link'), 'desc' => __pl('email_desc') ), 'color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'color:{{val}}'], ), 'typography' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'screen' => 1, 'list' => [ 'flex-start' => __pl('left'), 'center' => __pl('center'), 'flex-end' => __pl('right'), ], 'css' => ['{{element}} .pagelayer-email-holder' => 'justify-content: {{val}}'], ), 'space' => array( 'type' => 'slider', 'label' => __pl('space'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['body:not(.rtl) {{element}} .pagelayer-email-icon' => 'margin-right: {{val}}px;', 'body.rtl {{element}} .pagelayer-email-icon' => 'margin-left:{{val}}px'] ), ), 'icon_style' =>[ 'icon' => array( 'type' => 'icon', 'label' => __pl('icon'), 'default' => 'fas fa-envelope' ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-email-icon i' => 'color:{{val}}'], ), 'icon_size' => array( 'type' => 'slider', 'label' => __pl('size'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-email-icon i' => 'font-size: {{val}}px;'] ), ], 'styles' => [ 'icon_style' => __pl('icon_style') ] ) ); // Phone pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_phone', array( 'name' => __pl('phone'), 'group' => 'other', 'icon' => 'fas fa-phone-alt', 'html' => '', 'params' => array( 'linked' => array( 'type' => 'checkbox', 'label' => __pl('make_link'), 'desc' => __pl('CMA_desc') ), 'color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'color:{{val}}'], ), 'typography' => array( 'type' => 'typography', 'label' => __pl('typography'), 'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'], ), 'align' => array( 'type' => 'radio', 'label' => __pl('alignment'), 'screen' => 1, 'list' => [ 'flex-start' => __pl('left'), 'center' => __pl('center'), 'flex-end' => __pl('right'), ], 'css' => ['{{element}} .pagelayer-phone-holder' => 'justify-content: {{val}}'], ), 'space' => array( 'type' => 'slider', 'label' => __pl('space'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['body:not(.rtl) {{element}} .pagelayer-phone-icon' => 'margin-right: {{val}}px;', 'body.rtl {{element}} .pagelayer-phone-icon' => 'margin-left:{{val}}px'] ), ), 'icon_style' =>[ 'icon' => array( 'type' => 'icon', 'label' => __pl('icon'), 'default' => 'fas fa-phone-alt' ), 'icon_color' => array( 'type' => 'color', 'label' => __pl('color'), 'css' => ['{{element}} .pagelayer-phone-icon i' => 'color:{{val}}'], ), 'icon_size' => array( 'type' => 'slider', 'label' => __pl('size'), 'min' => 0, 'max' => 100, 'step' => 1, 'screen' => 1, 'css' => ['{{element}} .pagelayer-phone-icon i' => 'font-size: {{val}}px;'] ), ], 'styles' => [ 'icon_style' => __pl('icon_style') ] ) ); // Body Settings pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_post_props', array( 'name' => __pl('Body and Post Props'), 'group' => 'other', 'not_visible' => 1, 'parent' => [], // To hide on left panel block list 'overide_css_selector' => pagelayer_is_gutenberg_editor() ? '{{element}}' : 'body', // To prevent apply style in gutenberg, we use .pagelayer-body class, that is not exists in gutenberg edit. 'hide_active' => 1, 'skip_props_cat_type' => ['product' => ['custom_hf_code']], 'skip_props_cat' => ['position_styles', 'animation_styles', 'responsive_styles', 'motion_effects'], 'skip_props' => ['ele_zindex', 'ele_shadow', 'border_shadow_hover', 'hide_desktop', 'hide_tablet', 'hide_mobile'], 'params' => array( 'post_title' => array( 'type' => 'text', 'label' => __pl('post_title'), 'default' => (empty($post->post_title) ? 'No Title' : $post->post_title), 'export-def' => 1, ), 'post_status' => array( 'type' => 'select', 'label' => __pl('visibility'), 'default' => (empty($post->post_status) ? 'draft' : $post->post_status), 'export-def' => 1, 'list' => [ 'publish' => __pl('Published'), 'future' => __pl('Scheduled'), 'private' => __pl('private'), 'pass_protected' => __pl('password_protected'), 'draft' => __pl('Draft') ], ), 'post_password' => array( 'type' => 'text', 'label' => __pl('password'), 'export-def' => 1, 'req' => ['post_status' => 'pass_protected'] ), 'post_date' => array( 'type' => 'postDate', 'label' => __pl('publish_date'), 'default' => (empty($post->post_date) ? current_time( 'mysql' ) : $post->post_date), 'export-def' => 1, ), 'post_sticky' => array( 'type' => 'checkbox', 'label' => __pl('sticky_post'), 'default' => (!empty($post->ID) && is_sticky($post->ID) ? 'true' : ''), 'export-def' => 1, ), 'post_author' => array( 'type' => 'select', 'label' => __pl('author'), 'default' => (empty($post->post_author) ? 0 : $post->post_author), 'list' => [], 'export-def' => 1, ), 'post_trash' => array( 'type' => 'trashButton', 'label' => '', ), ), 'postPermalink' => array( 'post_name' => array( 'type' => 'permalink', 'label' => __pl('url_slug'), 'desc' => __pl('perma_desc'), 'default' => (empty($post->post_name) ? '' : $post->post_name), 'export-def' => 1, ), ), 'postCategory' => array( 'post_category' => array( 'type' => 'postCategory', 'label' => '' ) ), 'postTags' => array( 'post_tags' => array( 'type' => 'postTags', 'label' => __pl('add_new_tag'), 'desc' => __pl('post_tag_desc') ) ), 'postFeaturedImage' => array( 'featured_image' => array( 'type' => 'image', 'label' => '', 'default' => ( get_post_thumbnail_id($post) ? get_post_thumbnail_id($post) : PAGELAYER_URL.'/images/default-image.png' ), 'export-def' => 1, ), ), 'postExcerpt' => array( 'post_excerpt' => array( 'type' => 'textarea', 'default' => ( empty($post->post_excerpt) ? '' : $post->post_excerpt), 'export-def' => 1, 'label' => __pl('write_an_excerpt'), ) ), 'postDiscussion' => array( 'comment_status' => array( 'type' => 'checkbox', 'label' => __pl('allow_comments'), ), 'ping_status' => array( 'type' => 'checkbox', 'label' => __pl('allow_p_and_t'), ) ), 'pageParent' => array( 'post_parent' => array( 'type' => 'select', 'label' => __pl('post_parent'), 'list' => [] ), 'menu_order' => array( 'type' => 'spinner', 'label' => __pl('order'), ) ), 'styles' => array( 'params' => __pl('status_visibility'), 'postPermalink' => __pl('post_name'), 'postCategory' => __pl('wp_categories'), 'postTags' => __pl('tags'), 'postFeaturedImage' => __pl('featured_image'), 'postExcerpt' => __pl('excerpt'), 'postDiscussion' => __pl('discussion'), 'pageParent' => __pl('page_attributes'), ), ) ); /* $pagelayer->customizer_styles_options = array( 'params' => __pl('Site Identity'), 'breakpoint' => __pl('BreakPoints'), 'global' => __pl('Global Settings'), 'post_global' => __pl('Current Post Type Settings'), 'global_background' => __pl('Global Background'), 'global_button' => __pl('Global Buttons Style'), ); if(class_exists('WooCommerce')){ $pagelayer->customizer_styles_options['woocommerce'] = __pl('woocommerce'); } // Customizer Settings pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array( 'name' => __pl('Customizer'), 'group' => 'other', 'overide_css_selector' => 'body', 'hide_active' => 1, 'skip_save' => 1, 'skip_props_cat_type' => ['product' => ['custom_hf_code']], 'skip_props_cat' => ['ele_bg_styles','ele_styles','border_styles','font_style','animation_styles','motion_effects','responsive_styles','attributes','custom_styles','position_styles', 'animation_styles', 'responsive_styles', 'motion_effects'], 'skip_props' => ['ele_zindex', 'font_family', 'ele_shadow', 'border_shadow_hover', 'hide_desktop', 'hide_tablet', 'hide_mobile'], 'params' => array( 'site_name' => array( 'type' => 'text', 'label' => __pl('Site Name'), 'option' => 'blogname', ), 'site_description' => array( 'type' => 'text', 'label' => __pl('Site Description'), 'option' => 'blogdescription', ), 'site_logo' => array( 'type' => 'image', 'label' => __pl('Site Logo'), 'option' => 'site_logo', ), 'site_icon' => array( 'type' => 'image', 'label' => __pl('Site Fav Icon'), 'option' => 'site_icon', ), ), 'breakpoint' => array( 'content_width' => array( 'type' => 'slider', 'label' => __pl('Content Width'), 'option' => 'pagelayer_content_width', 'min' => 320, 'max' => 2000, 'css' =>['.pagelayer-row-stretch-auto > .pagelayer-row-holder'=>'max-width:{{val}}px;margin-left:auto;margin-right:auto'], ), 'widgets_space' => array( 'type' => 'slider', 'label' => __pl('Widgets Space'), 'option' => 'pagelayer_between_widgets', 'min' => 0, 'max' => 2000, ), 'mobile_breakpoint' => array( 'type' => 'slider', 'label' => __pl('Mobile Breakpoint'), 'option' => 'pagelayer_mobile_breakpoint', 'min' => 0, 'max' => 2000, ), 'tablet_breakpoint' => array( 'type' => 'slider', 'label' => __pl('Tablet Breakpoint'), 'option' => 'pagelayer_tablet_breakpoint', 'min' => 0, 'max' => 2000, ), ), 'global' => array( 'ele_body_group' => array( 'type' => 'access', 'label' => __pl('Body Settings'), 'show_group' => 'body_group', ), 'ele_header_group' => array( 'type' => 'access', 'label' => __pl('Header Settings'), 'show_group' => 'header_group', ), 'ele_h1_group' => array( 'type' => 'access', 'label' => __pl('H1 Settings'), 'show_group' => 'h1_group', ), 'ele_h2_group' => array( 'type' => 'access', 'label' => __pl('H2 Settings'), 'show_group' => 'h2_group', ), 'ele_h3_group' => array( 'type' => 'access', 'label' => __pl('H3 Settings'), 'show_group' => 'h3_group', ), 'ele_h4_group' => array( 'type' => 'access', 'label' => __pl('H4 Group'), 'show_group' => 'h4_group', ), 'ele_h5_group' => array( 'type' => 'access', 'label' => __pl('H5 Settings'), 'show_group' => 'h5_group', ), 'ele_h6_group' => array( 'type' => 'access', 'label' => __pl('H6 Settings'), 'show_group' => 'h6_group', ), 'ele_b_group' => array( 'type' => 'access', 'label' => __pl('B Settings'), 'show_group' => 'b_group', ), 'ele_i_group' => array( 'type' => 'access', 'label' => __pl('I Settings'), 'show_group' => 'i_group', ), 'ele_a_group' => array( 'type' => 'access', 'label' => __pl('A Settings'), 'show_group' => 'a_group', ), 'ele_a_hover_group' => array( 'type' => 'access', 'label' => __pl('A Hover Settings'), 'show_group' => 'a_hover_group', ), 'ele_aside_group' => array( 'type' => 'access', 'label' => __pl('Aside Settings'), 'show_group' => 'aside_group', ), 'ele_p_group' => array( 'type' => 'access', 'label' => __pl('P Settings'), 'show_group' => 'p_group', ), 'ele_entry_header_group' => array( 'type' => 'access', 'label' => __pl('Header Settings'), 'show_group' => 'entry_header_group', ), 'ele_entry_content_group' => array( 'type' => 'access', 'label' => __pl('Content Settings'), 'show_group' => 'content_group', ), 'ele_entry_footer_group' => array( 'type' => 'access', 'label' => __pl('Footer Settings'), 'show_group' => 'footer_group', ), 'body' => array( 'type' => 'typography', 'label' => __pl('body'), 'group' => 'body_group', 'css' => ['body.pagelayer-body' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'header' => array( 'type' => 'typography', 'label' => __pl('header'), 'group' => 'header_group', 'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h1' => array( 'type' => 'typography', 'label' => __pl('h1'), 'group' => 'h1_group', 'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h2' => array( 'type' => 'typography', 'label' => __pl('h2'), 'group' => 'h2_group', 'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h3' => array( 'type' => 'typography', 'label' => __pl('h3'), 'group' => 'h3_group', 'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h4' => array( 'type' => 'typography', 'label' => __pl('h4'), 'group' => 'h4_group', 'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h5' => array( 'type' => 'typography', 'label' => __pl('h5'), 'group' => 'h5_group', 'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'h6' => array( 'type' => 'typography', 'label' => __pl('h6'), 'group' => 'h6_group', 'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'b' => array( 'type' => 'typography', 'label' => __pl('b'), 'group' => 'b_group', 'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'i' => array( 'type' => 'typography', 'label' => __pl('i'), 'group' => 'i_group', 'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'a' => array( 'type' => 'typography', 'label' => __pl('a'), 'group' => 'a_group', 'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'a_hover' => array( 'type' => 'typography', 'label' => __pl('a-hover'), 'group' => 'a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'aside' => array( 'type' => 'typography', 'label' => __pl('aside'), 'group' => 'aside_group', 'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'p' => array( 'type' => 'typography', 'label' => __pl('p'), 'group' => 'p_group', 'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'entry-header' => array( 'type' => 'typography', 'label' => __pl('entry-header'), 'group' => 'entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'entry_content' => array( 'type' => 'typography', 'label' => __pl('entry-content'), 'group' => 'content_group', 'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'entry_footer' => array( 'type' => 'typography', 'label' => __pl('entry-footer'), 'group' => 'footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'body_color' => array( 'type' => 'color', 'screen' => 1, 'label' => __pl('body_color'), 'group' => 'body_group', 'css' => ['body.pagelayer-body' => 'color:{{val}};'], ), 'header_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'header_group', 'label' => __pl('header_color'), 'css' => ['body.pagelayer-body header' => 'color:{{val}};'], ), 'h1_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h1_group', 'label' => __pl('h1_color'), 'css' => ['body.pagelayer-body h1' => 'color:{{val}};'], ), 'h2_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h2_group', 'label' => __pl('h2_color'), 'css' => ['body.pagelayer-body h2' => 'color:{{val}};'], ), 'h3_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h3_group', 'label' => __pl('h3_color'), 'css' => ['body.pagelayer-body h3' => 'color:{{val}};'], ), 'h4_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h4_group', 'label' => __pl('h4_color'), 'css' => ['body.pagelayer-body h4' => 'color:{{val}};'], ), 'h5_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h5_group', 'label' => __pl('h5_color'), 'css' => ['body.pagelayer-body h5' => 'color:{{val}};'], ), 'h6_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h6_group', 'label' => __pl('h6_color'), 'css' => ['body.pagelayer-body h6' => 'color:{{val}};'], ), 'b_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'b_group', 'label' => __pl('b_color'), 'css' => ['body.pagelayer-body b' => 'color:{{val}};'], ), 'i_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'i_group', 'label' => __pl('i_color'), 'css' => ['body.pagelayer-body i' => 'color:{{val}};'], ), 'a_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'a_group', 'label' => __pl('a_color'), 'css' => ['body.pagelayer-body a' => 'color:{{val}};'], ), 'a-hover_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'a_hover_group', 'label' => __pl('a_hover_color'), 'css' => ['body.pagelayer-body a:hover' => 'color:{{val}};'], ), 'aside_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'aside_group', 'label' => __pl('aside_color'), 'css' => ['body.pagelayer-body aside' => 'color:{{val}};'], ), 'p_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'p_group', 'label' => __pl('p_color'), 'css' => ['body.pagelayer-body p' => 'color:{{val}};'], ), 'entry-header_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'entry_header_group', 'label' => __pl('entry_header_color'), 'css' => ['body.pagelayer-body .entry-header' => 'color:{{val}};'], ), 'entry-content_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'content_group', 'label' => __pl('entry_content_color'), 'css' => ['body.pagelayer-body .entry-content' => 'color:{{val}};'], ), 'entry-footer_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'footer_group', 'label' => __pl('entry_footer_color'), 'css' => ['body.pagelayer-body .entry-footer' => 'color:{{val}};'], ), 'body_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'body_group', 'label' => __pl('body_background_color'), 'css' => ['body.pagelayer-body' => 'background-color:{{val}};'], ), 'header_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'header_group', 'label' => __pl('header_background_color'), 'css' => ['body.pagelayer-body header' => 'background-color:{{val}};'], ), 'h1_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h1_group', 'label' => __pl('h1_background_color'), 'css' => ['body.pagelayer-body h1' => 'background-color:{{val}};'], ), 'h2_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h2_group', 'label' => __pl('h2_background_color'), 'css' => ['body.pagelayer-body h2' => 'background-color:{{val}};'], ), 'h3_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h3_group', 'label' => __pl('h3_background_color'), 'css' => ['body.pagelayer-body h3' => 'background-color:{{val}};'], ), 'h4_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h4_group', 'label' => __pl('h4_background_color'), 'css' => ['body.pagelayer-body h4' => 'background-color:{{val}};'], ), 'h5_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h5_group', 'label' => __pl('h5_background_color'), 'css' => ['body.pagelayer-body h5' => 'background-color:{{val}};'], ), 'h6_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'h6_group', 'label' => __pl('h6_background_color'), 'css' => ['body.pagelayer-body h6' => 'background-color:{{val}};'], ), 'b_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'b_group', 'label' => __pl('b_background_color'), 'css' => ['body.pagelayer-body b' => 'background-color:{{val}};'], ), 'i_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'i_group', 'label' => __pl('i_background_color'), 'css' => ['body.pagelayer-body i' => 'background-color:{{val}};'], ), 'a_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'a_group', 'label' => __pl('a_background_color'), 'css' => ['body.pagelayer-body a' => 'background-color:{{val}};'], ), 'a-hover_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'a_hover_group', 'label' => __pl('a_hover_background_color'), 'css' => ['body.pagelayer-body a:hover' => 'background-color:{{val}};'], ), 'aside_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'aside_group', 'label' => __pl('aside_background_color'), 'css' => ['body.pagelayer-body aside' => 'background-color:{{val}};'], ), 'p_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'p_group', 'label' => __pl('p_background_color'), 'css' => ['body.pagelayer-body p' => 'background-color:{{val}};'], ), 'entry-header_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'entry_header_group', 'label' => __pl('entry_header_background_color'), 'css' => ['body.pagelayer-body .entry-header' => 'background-color:{{val}};'], ), 'entry-content_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'content_group', 'label' => __pl('entry_content_background_color'), 'css' => ['body.pagelayer-body .entry-content' => 'background-color:{{val}};'], ), 'entry-footer_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'footer_group', 'label' => __pl('entry_footer_background_color'), 'css' => ['body.pagelayer-body .entry-footer' => 'background-color:{{val}};'], ), 'body_padding' => array( 'type' => 'padding', 'label' => __pl('body_padding'), 'screen' => 1, 'group' => 'body_group', 'css' => ['body.pagelayer-body' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'body_margin' => array( 'type' => 'padding', 'label' => __pl('body_margin'), 'screen' => 1, 'group' => 'body_group', 'css' => ['body.pagelayer-body' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'header_padding' => array( 'type' => 'padding', 'label' => __pl('header_padding'), 'screen' => 1, 'group' => 'header_group', 'css' => ['body.pagelayer-body header' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'header_margin' => array( 'type' => 'padding', 'label' => __pl('header_margin'), 'screen' => 1, 'group' => 'header_group', 'css' => ['body.pagelayer-body header' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h1_padding' => array( 'type' => 'padding', 'label' => __pl('h1_padding'), 'screen' => 1, 'group' => 'h1_group', 'css' => ['body.pagelayer-body h1' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h1_margin' => array( 'type' => 'padding', 'label' => __pl('h1_margin'), 'screen' => 1, 'group' => 'h1_group', 'css' => ['body.pagelayer-body h1' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h2_padding' => array( 'type' => 'padding', 'label' => __pl('h2_padding'), 'screen' => 1, 'group' => 'h2_group', 'css' => ['body.pagelayer-body h2' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h2_margin' => array( 'type' => 'padding', 'label' => __pl('h2_margin'), 'screen' => 1, 'group' => 'h2_group', 'css' => ['body.pagelayer-body h2' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h3_padding' => array( 'type' => 'padding', 'label' => __pl('h3_padding'), 'screen' => 1, 'group' => 'h3_group', 'css' => ['body.pagelayer-body h3' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h3_margin' => array( 'type' => 'padding', 'label' => __pl('h3_margin'), 'screen' => 1, 'group' => 'h3_group', 'css' => ['body.pagelayer-body h3' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h4_padding' => array( 'type' => 'padding', 'label' => __pl('h4_padding'), 'screen' => 1, 'group' => 'h4_group', 'css' => ['body.pagelayer-body h4' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h4_margin' => array( 'type' => 'padding', 'label' => __pl('h4_margin'), 'screen' => 1, 'group' => 'h4_group', 'css' => ['body.pagelayer-body h4' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h5_padding' => array( 'type' => 'padding', 'label' => __pl('h5_padding'), 'screen' => 1, 'group' => 'h5_group', 'css' => ['body.pagelayer-body h5' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h5_margin' => array( 'type' => 'padding', 'label' => __pl('h5_margin'), 'screen' => 1, 'group' => 'h5_group', 'css' => ['body.pagelayer-body h5' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'h6_padding' => array( 'type' => 'padding', 'label' => __pl('h6_padding'), 'screen' => 1, 'group' => 'h6_group', 'css' => ['body.pagelayer-body h6' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'h6_margin' => array( 'type' => 'padding', 'label' => __pl('h6_margin'), 'screen' => 1, 'group' => 'h6_group', 'css' => ['body.pagelayer-body h6' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'b_padding' => array( 'type' => 'padding', 'label' => __pl('b_padding'), 'screen' => 1, 'group' => 'b_group', 'css' => ['body.pagelayer-body b' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'b_margin' => array( 'type' => 'padding', 'label' => __pl('b_margin'), 'screen' => 1, 'group' => 'b_group', 'css' => ['body.pagelayer-body b' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'i_padding' => array( 'type' => 'padding', 'label' => __pl('i_padding'), 'screen' => 1, 'group' => 'i_group', 'css' => ['body.pagelayer-body i' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'i_margin' => array( 'type' => 'padding', 'label' => __pl('i_margin'), 'screen' => 1, 'group' => 'i_group', 'css' => ['body.pagelayer-body i' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'a_padding' => array( 'type' => 'padding', 'label' => __pl('a_padding'), 'screen' => 1, 'group' => 'a_group', 'css' => ['body.pagelayer-body a' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'a_margin' => array( 'type' => 'padding', 'label' => __pl('a_margin'), 'screen' => 1, 'group' => 'a_group', 'css' => ['body.pagelayer-body a' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'a-hover_padding' => array( 'type' => 'padding', 'label' => __pl('_-hover_padding'), 'screen' => 1, 'group' => 'a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'a-hover_margin' => array( 'type' => 'padding', 'label' => __pl('a_hover_margin'), 'screen' => 1, 'group' => 'a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'aside_padding' => array( 'type' => 'padding', 'label' => __pl('aside_padding'), 'screen' => 1, 'group' => 'aside_group', 'css' => ['body.pagelayer-body aside' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'aside_margin' => array( 'type' => 'padding', 'label' => __pl('aside_margin'), 'screen' => 1, 'group' => 'aside_group', 'css' => ['body.pagelayer-body aside' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'p_padding' => array( 'type' => 'padding', 'label' => __pl('p_padding'), 'screen' => 1, 'group' => 'p_group', 'css' => ['body.pagelayer-body p' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'p_margin' => array( 'type' => 'padding', 'label' => __pl('p_margin'), 'screen' => 1, 'group' => 'p_group', 'css' => ['body.pagelayer-body p' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'entry-header_padding' => array( 'type' => 'padding', 'label' => __pl('entry_header_padding'), 'screen' => 1, 'group' => 'entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'entry-header_margin' => array( 'type' => 'padding', 'label' => __pl('entry_header_margin'), 'screen' => 1, 'group' => 'entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'entry-content_padding' => array( 'type' => 'padding', 'label' => __pl('entry_content_padding'), 'screen' => 1, 'group' => 'content_group', 'css' => ['body.pagelayer-body .entry-content' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'entry-content_margin' => array( 'type' => 'padding', 'label' => __pl('entry_content_margin'), 'screen' => 1, 'group' => 'content_group', 'css' => ['body.pagelayer-body .entry-content' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'entry-footer_padding' => array( 'type' => 'padding', 'label' => __pl('entry_footer_padding'), 'screen' => 1, 'group' => 'footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'entry-footer_margin' => array( 'type' => 'padding', 'label' => __pl('entry_footer_margin'), 'screen' => 1, 'group' => 'footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), ), 'post_global' => array( 'post_body_group' => array( 'type' => 'access', 'label' => __pl('Body Settings'), 'show_group' => 'post_body_group', ), 'post_header_group' => array( 'type' => 'access', 'label' => __pl('Header Settings'), 'show_group' => 'post_header_group', ), 'post_h1_group' => array( 'type' => 'access', 'label' => __pl('H1 Settings'), 'show_group' => 'post_h1_group', ), 'post_h2_group' => array( 'type' => 'access', 'label' => __pl('H2 Settings'), 'show_group' => 'post_h2_group', ), 'post_h3_group' => array( 'type' => 'access', 'label' => __pl('H3 Settings'), 'show_group' => 'post_h3_group', ), 'post_h4_group' => array( 'type' => 'access', 'label' => __pl('H4 Group'), 'show_group' => 'post_h4_group', ), 'post_h5_group' => array( 'type' => 'access', 'label' => __pl('H5 Settings'), 'show_group' => 'post_h5_group', ), 'post_h6_group' => array( 'type' => 'access', 'label' => __pl('H6 Settings'), 'show_group' => 'post_h6_group', ), 'post_b_group' => array( 'type' => 'access', 'label' => __pl('B Settings'), 'show_group' => 'post_b_group', ), 'post_i_group' => array( 'type' => 'access', 'label' => __pl('I Settings'), 'show_group' => 'post_i_group', ), 'post_a_group' => array( 'type' => 'access', 'label' => __pl('A Settings'), 'show_group' => 'post_a_group', ), 'post_a_hover_group' => array( 'type' => 'access', 'label' => __pl('A Hover Settings'), 'show_group' => 'post_a_hover_group', ), 'post_aside_group' => array( 'type' => 'access', 'label' => __pl('Aside Settings'), 'show_group' => 'post_aside_group', ), 'post_p_group' => array( 'type' => 'access', 'label' => __pl('P Settings'), 'show_group' => 'post_p_group', ), 'post_entry_header_group' => array( 'type' => 'access', 'label' => __pl('Header Settings'), 'show_group' => 'post_entry_header_group', ), 'post_entry_content_group' => array( 'type' => 'access', 'label' => __pl('Content Settings'), 'show_group' => 'post_content_group', ), 'post_entry_footer_group' => array( 'type' => 'access', 'label' => __pl('Footer Settings'), 'show_group' => 'post_footer_group', ), 'current_body' => array( 'type' => 'typography', 'label' => __pl('current_body'), 'group' => 'post_body_group', 'customizer_mods' => 'pagelayer_body_typography_{{post_type}}', 'customizer_css' => 1, 'css' => ['body.pagelayer-body ' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_header' => array( 'type' => 'typography', 'label' => __pl('current_header'), 'group' => 'post_header_group', 'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h1' => array( 'type' => 'typography', 'label' => __pl('current_h1'), 'group' => 'post_h1_group', 'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h2' => array( 'type' => 'typography', 'label' => __pl('current_h2'), 'group' => 'post_h2_group', 'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h3' => array( 'type' => 'typography', 'label' => __pl('current_h3'), 'group' => 'post_h3_group', 'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h4' => array( 'type' => 'typography', 'label' => __pl('current_h4'), 'group' => 'post_h4_group', 'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h5' => array( 'type' => 'typography', 'label' => __pl('current_h5'), 'group' => 'post_h5_group', 'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_h6' => array( 'type' => 'typography', 'label' => __pl('current_h6'), 'group' => 'post_h6_group', 'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_b' => array( 'type' => 'typography', 'label' => __pl('current_b'), 'group' => 'post_b_group', 'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_i' => array( 'type' => 'typography', 'label' => __pl('current_i'), 'group' => 'post_i_group', 'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_a' => array( 'type' => 'typography', 'label' => __pl('current_a'), 'group' => 'post_a_group', 'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_a-hover' => array( 'type' => 'typography', 'label' => __pl('current_a_hover'), 'group' => 'post_a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_aside' => array( 'type' => 'typography', 'label' => __pl('current_aside'), 'group' => 'post_aside_group', 'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_p' => array( 'type' => 'typography', 'label' => __pl('p'), 'group' => 'post_p_group', 'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_entry-header' => array( 'type' => 'typography', 'label' => __pl('current_entry_header'), 'group' => 'post_entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_entry-content' => array( 'type' => 'typography', 'label' => __pl('current_entry_content'), 'group' => 'post_content_group', 'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_entry-footer' => array( 'type' => 'typography', 'label' => __pl('current_entry_footer'), 'group' => 'post_footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'current_body_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_body_group', 'label' => __pl('current_body_color'), 'css' => ['body.pagelayer-body ' => 'color:{{val}};'], ), 'current_header_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_header_group', 'label' => __pl('current_header_color'), 'css' => ['body.pagelayer-body header' => 'color:{{val}};'], ), 'current_h1_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h1_group', 'label' => __pl('current_h1_color'), 'css' => ['body.pagelayer-body h1' => 'color:{{val}};'], ), 'current_h2_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h2_group', 'label' => __pl('current_h2_color'), 'css' => ['body.pagelayer-body h2' => 'color:{{val}};'], ), 'current_h3_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h3_group', 'label' => __pl('current_h3_color'), 'css' => ['body.pagelayer-body h3' => 'color:{{val}};'], ), 'current_h4_color' => array( 'type' => 'color', 'screen' => 1, 'label' => __pl('current_h4_color'), 'group' => 'post_h4_group', 'css' => ['body.pagelayer-body h4' => 'color:{{val}};'], ), 'current_h5_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h5_group', 'label' => __pl('current_h5_color'), 'css' => ['body.pagelayer-body h5' => 'color:{{val}};'], ), 'current_h6_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h6_group', 'label' => __pl('current_h6_color'), 'css' => ['body.pagelayer-body h6' => 'color:{{val}};'], ), 'current_b_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_b_group', 'label' => __pl('current_b_color'), 'css' => ['body.pagelayer-body b' => 'color:{{val}};'], ), 'current_i_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_i_group', 'label' => __pl('current_i_color'), 'css' => ['body.pagelayer-body i' => 'color:{{val}};'], ), 'current_a_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_a_group', 'label' => __pl('current_a_color'), 'css' => ['body.pagelayer-body a' => 'color:{{val}};'], ), 'current_a-hover_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_a_hover_group', 'label' => __pl('current_a_hover_color'), 'css' => ['body.pagelayer-body a:hover' => 'color:{{val}};'], ), 'current_aside_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_aside_group', 'label' => __pl('current_aside_color'), 'css' => ['body.pagelayer-body aside' => 'color:{{val}};'], ), 'current_p_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_p_group', 'label' => __pl('current_p_color'), 'css' => ['body.pagelayer-body p' => 'color:{{val}};'], ), 'current_entry-header_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_entry_header_group', 'label' => __pl('current_entry_header_color'), 'css' => ['body.pagelayer-body .entry-header' => 'color:{{val}};'], ), 'current_entry-content_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_content_group', 'label' => __pl('current_entry_content_color'), 'css' => ['body.pagelayer-body .entry-content' => 'color:{{val}};'], ), 'current_entry-footer_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_footer_group', 'label' => __pl('current_entry_footer_color'), 'css' => ['body.pagelayer-body .entry-footer' => 'color:{{val}};'], ), 'current_body_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_body_group', 'label' => __pl('current_body_background_color'), 'css' => ['body.pagelayer-body ' => 'background-color:{{val}};'], ), 'current_header_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_header_group', 'label' => __pl('current_header_background_color'), 'css' => ['body.pagelayer-body header' => 'background-color:{{val}};'], ), 'current_h1_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h1_group', 'label' => __pl('current_h1_background_color'), 'css' => ['body.pagelayer-body h1' => 'background-color:{{val}};'], ), 'current_h2_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h2_group', 'label' => __pl('current_h2_background_color'), 'css' => ['body.pagelayer-body h2' => 'background-color:{{val}};'], ), 'current_h3_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h3_group', 'label' => __pl('current_h3_background_color'), 'css' => ['body.pagelayer-body h3' => 'background-color:{{val}};'], ), 'current_h4_background_color' => array( 'type' => 'color', 'screen' => 1, 'label' => __pl('current_h4_background_color'), 'group' => 'post_h4_group', 'css' => ['body.pagelayer-body h4' => 'background-color:{{val}};'], ), 'current_h5_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h5_group', 'label' => __pl('current_h5_background_color'), 'css' => ['body.pagelayer-body h5' => 'background-color:{{val}};'], ), 'current_h6_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_h6_group', 'label' => __pl('current_h6_background_color'), 'css' => ['body.pagelayer-body h6' => 'background-color:{{val}};'], ), 'current_b_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_b_group', 'label' => __pl('current_b_background_color'), 'css' => ['body.pagelayer-body b' => 'background-color:{{val}};'], ), 'current_i_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_i_group', 'label' => __pl('current_i_background_color'), 'css' => ['body.pagelayer-body i' => 'background-color:{{val}};'], ), 'current_a_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_a_group', 'label' => __pl('current_a_background_color'), 'css' => ['body.pagelayer-body a' => 'background-color:{{val}};'], ), 'current_a-hover_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_a_hover_group', 'label' => __pl('current_a_hover_background_color'), 'css' => ['body.pagelayer-body a:hover' => 'background-color:{{val}};'], ), 'current_aside_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_aside_group', 'label' => __pl('current_aside_background_color'), 'css' => ['body.pagelayer-body aside' => 'background-color:{{val}};'], ), 'current_p_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_p_group', 'label' => __pl('current_p_background_color'), 'css' => ['body.pagelayer-body p' => 'background-color:{{val}};'], ), 'current_entry-header_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_entry_header_group', 'label' => __pl('current_entry_header_background_color'), 'css' => ['body.pagelayer-body .entry-header' => 'background-color:{{val}};'], ), 'current_entry-content_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_content_group', 'label' => __pl('current_entry_content_background_color'), 'css' => ['body.pagelayer-body .entry-content' => 'background-color:{{val}};'], ), 'current_entry-footer_background_color' => array( 'type' => 'color', 'screen' => 1, 'group' => 'post_footer_group', 'label' => __pl('current_entry_footer_background_color'), 'css' => ['body.pagelayer-body .entry-footer' => 'background-color:{{val}};'], ), 'current_body_padding' => array( 'type' => 'padding', 'label' => __pl('current_body_padding'), 'screen' => 1, 'group' => 'post_body_group', 'css' => ['body.pagelayer-body' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_body_margin' => array( 'type' => 'padding', 'label' => __pl('current_body_margin'), 'screen' => 1, 'group' => 'post_body_group', 'css' => ['body.pagelayer-body' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_header_padding' => array( 'type' => 'padding', 'label' => __pl('current_header_padding'), 'screen' => 1, 'group' => 'post_header_group', 'css' => ['body.pagelayer-body header' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_header_margin' => array( 'type' => 'padding', 'label' => __pl('current_header_margin'), 'screen' => 1, 'group' => 'post_header_group', 'css' => ['body.pagelayer-body header' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h1_padding' => array( 'type' => 'padding', 'label' => __pl('current_h1_padding'), 'screen' => 1, 'group' => 'post_h1_group', 'css' => ['body.pagelayer-body h1' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h1_margin' => array( 'type' => 'padding', 'label' => __pl('current_h1_margin'), 'screen' => 1, 'group' => 'post_h1_group', 'css' => ['body.pagelayer-body h1' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h2_padding' => array( 'type' => 'padding', 'label' => __pl('current_h2_padding'), 'screen' => 1, 'group' => 'post_h2_group', 'css' => ['body.pagelayer-body h2' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h2_margin' => array( 'type' => 'padding', 'label' => __pl('current_h2_margin'), 'screen' => 1, 'group' => 'post_h2_group', 'css' => ['body.pagelayer-body h2' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h3_padding' => array( 'type' => 'padding', 'label' => __pl('current_h3_padding'), 'screen' => 1, 'group' => 'post_h3_group', 'css' => ['body.pagelayer-body h3' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h3_margin' => array( 'type' => 'padding', 'label' => __pl('current_h3_margin'), 'screen' => 1, 'group' => 'post_h3_group', 'css' => ['body.pagelayer-body h3' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h4_padding' => array( 'type' => 'padding', 'label' => __pl('current_h4_padding'), 'screen' => 1, 'group' => 'post_h4_group', 'css' => ['body.pagelayer-body h4' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h4_margin' => array( 'type' => 'padding', 'label' => __pl('current_h4_margin'), 'screen' => 1, 'group' => 'post_h4_group', 'css' => ['body.pagelayer-body h4' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h5_padding' => array( 'type' => 'padding', 'label' => __pl('current_h5_padding'), 'screen' => 1, 'group' => 'post_h5_group', 'css' => ['body.pagelayer-body h5' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h5_margin' => array( 'type' => 'padding', 'label' => __pl('current_h5_margin'), 'screen' => 1, 'group' => 'post_h5_group', 'css' => ['body.pagelayer-body h5' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_h6_padding' => array( 'type' => 'padding', 'label' => __pl('current_h6_padding'), 'screen' => 1, 'group' => 'post_h6_group', 'css' => ['body.pagelayer-body h6' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_h6_margin' => array( 'type' => 'padding', 'label' => __pl('current_h6_margin'), 'screen' => 1, 'group' => 'post_h6_group', 'css' => ['body.pagelayer-body h6' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_b_padding' => array( 'type' => 'padding', 'label' => __pl('current_b_padding'), 'screen' => 1, 'group' => 'post_b_group', 'css' => ['body.pagelayer-body b' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_b_margin' => array( 'type' => 'padding', 'label' => __pl('current_b_margin'), 'screen' => 1, 'group' => 'post_b_group', 'css' => ['body.pagelayer-body b' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_i_padding' => array( 'type' => 'padding', 'label' => __pl('current_i_padding'), 'screen' => 1, 'group' => 'post_i_group', 'css' => ['body.pagelayer-body i' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_i_margin' => array( 'type' => 'padding', 'label' => __pl('current_i_margin'), 'screen' => 1, 'group' => 'post_i_group', 'css' => ['body.pagelayer-body i' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_a_padding' => array( 'type' => 'padding', 'label' => __pl('current_a_padding'), 'screen' => 1, 'group' => 'post_a_group', 'css' => ['body.pagelayer-body a' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_a_margin' => array( 'type' => 'padding', 'label' => __pl('current_a_margin'), 'screen' => 1, 'group' => 'post_a_group', 'css' => ['body.pagelayer-body a' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_a-hover_padding' => array( 'type' => 'padding', 'label' => __pl('current_a_hover_padding'), 'screen' => 1, 'group' => 'post_a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_a-hover_margin' => array( 'type' => 'padding', 'label' => __pl('current_a_hover_margin'), 'screen' => 1, 'group' => 'post_a_hover_group', 'css' => ['body.pagelayer-body a:hover' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_aside_padding' => array( 'type' => 'padding', 'label' => __pl('current_aside_padding'), 'screen' => 1, 'group' => 'post_aside_group', 'css' => ['body.pagelayer-body aside' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_aside_margin' => array( 'type' => 'padding', 'label' => __pl('current_aside_margin'), 'screen' => 1, 'group' => 'post_aside_group', 'css' => ['body.pagelayer-body aside' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_p_padding' => array( 'type' => 'padding', 'label' => __pl('current_p_padding'), 'screen' => 1, 'group' => 'post_p_group', 'css' => ['body.pagelayer-body p' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_p_margin' => array( 'type' => 'padding', 'label' => __pl('current_p_margin'), 'screen' => 1, 'group' => 'post_p_group', 'css' => ['body.pagelayer-body p' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_entry-header_padding' => array( 'type' => 'padding', 'label' => __pl('current_entry_header_padding'), 'screen' => 1, 'group' => 'post_entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_entry-header_margin' => array( 'type' => 'padding', 'label' => __pl('current_entry_header_margin'), 'screen' => 1, 'group' => 'post_entry_header_group', 'css' => ['body.pagelayer-body .entry-header' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_entry-content_padding' => array( 'type' => 'padding', 'label' => __pl('current_entry_content_padding'), 'screen' => 1, 'group' => 'post_content_group', 'css' => ['body.pagelayer-body .entry-content' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_entry-content_margin' => array( 'type' => 'padding', 'label' => __pl('current_entry_content_margin'), 'screen' => 1, 'group' => 'post_content_group', 'css' => ['body.pagelayer-body .entry-content' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'current_entry-footer_padding' => array( 'type' => 'padding', 'label' => __pl('current_entry_footer_padding'), 'screen' => 1, 'group' => 'post_footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'], ), 'current_entry-footer_margin' => array( 'type' => 'padding', 'label' => __pl('current_entry_footer_margin'), 'screen' => 1, 'group' => 'post_footer_group', 'css' => ['body.pagelayer-body .entry-footer' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), ), 'global_background' => array( 'ele_bg_type' => array( 'type' => 'radio', 'label' => __pl('Background Type'), 'list' => array( '' => __pl('none'), 'color' => __pl('color'), 'gradient' => __pl('gradient'), 'image' => __pl('image'), ), ), 'ele_bg_color' => array( 'type' => 'color', 'label' => __pl('color'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background: {{val}};'], 'req' => ['ele_bg_type' => 'color'] ), 'ele_bg_gradient' => array( 'type' => 'gradient', 'label' => '', 'default' => '150,#44d3f6,23,#72e584,45,#2ca4eb,100', 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background: linear-gradient({{val[0]}}deg, {{val[1]}} {{val[2]}}%, {{val[3]}} {{val[4]}}%, {{val[5]}} {{val[6]}}%);'], 'req' => ['ele_bg_type' => 'gradient'] ), 'ele_img_color' => array( 'type' => 'color', 'label' => __pl('color'), 'desc' => __pl('fallback_color'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-color: {{val}};'], 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_img' => array( 'type' => 'image', 'label' => __pl('Image'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-image: url("{{{ele_bg_img-url}}}");'], 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_attachment' => array( 'type' => 'select', 'label' => __pl('ele_bg_attachment'), 'list' => array( '' => __pl('default'), 'scroll' => __pl('scroll'), 'fixed' => __pl('fixed') ), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-attachment: {{val}};'], 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_posx' => array( 'type' => 'select', 'label' => __pl('ele_bg_posx'), 'list' => array( '' => __pl('default'), 'center' => __pl('center'), 'left' => __pl('left'), 'right' => __pl('right'), 'custom' => __pl('custom') ), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-position-x: {{val}};'], 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_posx_custom' => array( 'label' => __pl('custom_x'), 'type' => 'slider', 'step' => 1, 'min' => -5000, 'max' => 5000, 'screen' => 1, 'units' => ['px', 'em', '%'], 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-position-x: {{val}};'], 'req' => array( 'ele_bg_posx' => 'custom' ), ), 'ele_bg_posy' => array( 'type' => 'select', 'label' => __pl('ele_bg_posy'), 'list' => array( '' => __pl('default'), 'center' => __pl('center'), 'top' => __pl('top'), 'bottom' => __pl('bottom'), 'custom' => __pl('custom') ), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-position-y: {{val}};'], 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_posy_custom' => array( 'label' => __pl('custom_y'), 'type' => 'slider', 'step' => 1, 'min' => -5000, 'max' => 5000, 'screen' => 1, 'units' => ['px', 'em', '%'], 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-position-y: {{val}};'], 'req' => array( 'ele_bg_posy' => 'custom' ), ), 'ele_bg_repeat' => array( 'type' => 'select', 'label' => __pl('ele_bg_repeat'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-repeat: {{val}};'], 'list' => array( '' => __pl('default'), 'repeat' => __pl('repeat'), 'no-repeat' => __pl('no-repeat'), 'repeat-x' => __pl('repeat-x'), 'repeat-y' => __pl('repeat-y'), ), 'req' => ['ele_bg_type' => 'image'] ), 'ele_bg_size' => array( 'type' => 'select', 'label' => __pl('ele_bg_size'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body' => 'background-size: {{val}};'], 'list' => array( '' => __pl('default'), 'cover' => __pl('cover'), 'contain' => __pl('contain') ), 'req' => ['ele_bg_type' => 'image'] ), ), 'global_button' => array( 'button' => array( 'type' => 'typography', 'label' => __pl('Typography'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'], ), 'button_padding' => array( 'type' => 'padding', 'label' => __pl('global_btn_dim'), 'screen' => 1, 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[2]}}px;padding-left:{{val[3]}}px;'], ), 'button_margin' => array( 'type' => 'padding', 'label' => __pl('spacing'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'], ), 'global_btn_state' => array( 'type' => 'radio', 'label' => __pl('button_state'), 'default' => 'normal', 'list' => array( 'normal' => __pl('Normal'), 'hover' => __pl('Hover'), ), ), 'button_color' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'color:{{val}};'], 'show' => ['global_btn_state' => 'normal'] ), 'button_background_color' => array( 'type' => 'color', 'label' => __pl('global_button_bg_color'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'background-color:{{val}};'], 'show' => ['global_btn_state' => 'normal'] ), 'button_hover_color' => array( 'type' => 'color', 'label' => __pl('iconbox_button_color'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder:hover' => 'color:{{val}};'], 'show' => ['global_btn_state' => 'hover'], ), 'button_hover_background_color' => array( 'type' => 'color', 'label' => __pl('global_button_bg_color_hover'), 'customizer_css' => 1, 'css' => ['body.pagelayer-body .pagelayer-btn-holder:hover' => 'background-color:{{val}};'], 'show' => ['global_btn_state' => 'hover'], ), ), 'woocommerce' => array( 'shop' => array( 'type' => 'select', 'label' => __pl('shop'), 'option' => 'woocommerce_shop_page_id', 'list' => pagelayer_get_posts(array('page')), ), 'cart' => array( 'type' => 'select', 'label' => __pl('cart'), 'option' => 'woocommerce_cart_page_id', 'list' => pagelayer_get_posts(array('page')), ), 'checkout' => array( 'type' => 'select', 'label' => __pl('checkout'), 'option' => 'woocommerce_checkout_page_id', 'list' => pagelayer_get_posts(array('page')), ), 'my_account' => array( 'type' => 'select', 'label' => __pl('my_account'), 'option' => 'woocommerce_myaccount_page_id', 'list' => pagelayer_get_posts(array('page')), ), 't_&c' => array( 'type' => 'select', 'label' => __pl('t_&c'), 'option' => 'woocommerce_terms_page_id', 'list' => pagelayer_get_posts(array('page')), ), ), 'styles' => $pagelayer->customizer_styles_options, ) ); */ //////////////////////// // WordPress Group //////////////////////// // Make a list of Widget Items global $wp_registered_sidebars; $pagelayer_wp_widgets = array(); $pagelayer_wp_widget_default = ''; if(!empty($wp_registered_sidebars)){ foreach($wp_registered_sidebars as $v){ if(empty($pagelayer_wp_widget_default)){ $pagelayer_wp_widget_default = $v['id']; } $pagelayer_wp_widgets[$v['id']] = $v['name']; } }else{ $pagelayer_wp_widgets['no'] = __pl('wp_widgets_area_no_sidebars'); } // Widgets Area pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_wp_widgets', array( 'name' => __pl('Sidebars / Widget Area'), 'group' => 'wordpress', 'no_gt' => 1, 'html' => '
    {{title}}
    {{{data}}}
    ', 'params' => array( 'title' => array( 'type' => 'text', 'label' => __pl('parameters_title'), 'default' => 'Title', 'desc' => __pl('wp_widgets_area_description'), 'edit' => '.pagelayer-wp-sidebar-title', ), 'sidebar' => array( 'type' => 'select', 'label' => __pl('wp_widgets_area_select'), 'default' => $pagelayer_wp_widget_default, 'list' => $pagelayer_wp_widgets ) ) ) ); // Load the wordpress widgets, IF ALLOWED ! //if(current_user_can('edit_theme_options')){ // Include the widgets //include_once(ABSPATH . 'wp-admin/includes/widgets.php'); //pagelayer_print($GLOBALS['wp_widget_factory']->widgets);die(); $wp_hidden_shortcode = array('media_audio', 'media_gallery', 'media_image', 'media_video'); foreach($GLOBALS['wp_widget_factory']->widgets as $widget_key => $widget){ $wp_shortcode = array( 'name' => $widget->name, 'group' => 'wordpress', 'no_gt' => 1, 'func' => 'pagelayer_does_not_exist', 'innerHTML' => 'widget_data', 'widget' => $widget_key, 'params'=>array( 'widget_data' => array( 'type' => 'text', 'not_visible' => 1, ) ) ); if(in_array($widget->id_base, $wp_hidden_shortcode)){ $wp_shortcode['not_visible'] = 1; } pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_wp_'.$widget->id_base, $wp_shortcode); } //} // Apply filter to load custom widgets after shortcodes do_action('pagelayer_after_add_shortcode'); PKZf!plugins/pagelayer/main/import.phpnu[template); } // Have we already imported ? $imported = get_option('pagelayer_theme_'.get_template().'_imported'); if(!empty($imported)){ $GLOBALS['pl_warn'] = __('You have already imported the content of this theme. You can re-import the same by either choosing to over-write existing pages / pagelayer templates OR creating duplicate content !', 'pagelayer'); } // Call the theme pagelayer_import_T(); } function pagelayer_import_T(){ global $pagelayer, $pagelayer_theme, $pagelayer_theme_url, $pagelayer_theme_path, $pagelayer_pages, $pl_error; pagelayer_page_header('Pagelayer - Import Template'); // Any errors ? if(!empty($pl_error)){ pagelayer_report_error($pl_error);echo '
    '; } // Saved ? if(!empty($GLOBALS['pl_saved'])){ echo '

    '. __('The theme content was successfully imported', 'pagelayer'). '

    '; // Warn ? }elseif(!empty($GLOBALS['pl_warn'])){ echo '

    '.$GLOBALS['pl_warn'].'

    '; } // Is it a pagelayer theme ? if(!file_exists($pagelayer_theme_path.'/pagelayer.conf')){ echo 'This utility is for importing content of the current active theme if its a Pagelayer Theme. Your current theme is not a Pagelayer exported theme ! If you want to export your content and make it into a distributable theme, please refer to the guide here.'; die(); } // Home screenshot $screenshot = $pagelayer_theme_url.'/screenshots/home.jpg'; if(!file_exists($pagelayer_theme_path.'/screenshots/home.jpg')){ $screenshot = PAGELAYER_URL.'/images/no_screenshot.png'; } echo '
    Import Theme Contents ×
    '; wp_nonce_field('pagelayer-import'); echo '
    Do not create Header Menu
    Delete Previously Imported Content
    Overwrite existing Pages with same name
    Set the Home Page as per the content

    '.$pagelayer_theme->name.'

    '; $pages = (array) @$pagelayer_pages['page']; foreach( $pages as $k => $v){ $screenshot = $pagelayer_theme_url.'/screenshots/'.$k.'.jpg'; if(!file_exists($pagelayer_theme_path.'/screenshots/'.$k.'.jpg')){ $screenshot = PAGELAYER_URL.'/images/no_screenshot.png'; } echo '
    '.$v['post_title'].'
    '; } echo '
    '; add_filter('pagelayer_right_bar_promos', '__return_false'); pagelayer_page_footer(1); } // Imports the required conf function pagelayer_import_conf(&$conf){ foreach($conf as $k => $v){ if(in_array($k, ['page_for_posts'])){ continue; } update_option($k, $v); } } // The actual function to import the theme function pagelayer_import_single($template_name, $items, $pagelayer_theme_path = ''){ global $wpdb, $wp_rewrite; global $pagelayer, $pl_error; if(empty($pagelayer_theme_path)){ $pagelayer_theme_path = get_stylesheet_directory(); } if(empty($items)){ $pl_error[] = 'Items were not submitted'; return false; } ///////////////////////// // Handle the PAGES Data ///////////////////////// // Load the new themes pages array $data = file_get_contents($pagelayer_theme_path.'/pagelayer-data.conf'); $data = @json_decode($data, true); //r_print($data);die(); if(empty($data['page'])){ $pl_error[] = 'Pages list not found. This is not a proper template !'; return false; } // Check the theme files foreach($data['page'] as $k => $v){ $path = pagelayer_cleanpath($pagelayer_theme_path.'/data/page/'.$k); // Does it have the title and slug ? if(empty($v['post_title']) || empty($v['post_name'])){ $pl_error[] = 'Something is fishy with this theme as there is no title or slug for '.$k; return false; } // Does the page exist ? if(!file_exists($path) || pagelayer_cleanpath(realpath($path)) != $path){ $pl_error[] = 'Something is fishy with this theme'; return false; } } $status = empty($_POST['save_as_draft']) ? 'publish' : 'draft'; // Now check the pages if it exist in this installation ? foreach($data['page'] as $k => $v){ if(!in_array($k, $items['page'])){ continue; } $path = pagelayer_cleanpath($pagelayer_theme_path.'/data/page/'.$k); // Is the page there ? $page = get_page_by_path($v['post_name'], OBJECT, array('page')); //r_print($page); $new_post = array(); // It does exist so save the revision IF its the header and footer if(!empty($page) && isset($_POST['overwrite'])){ $rev = wp_save_post_revision($page->ID); $new_post['ID'] = $page->ID; } // Make an array $new_post['post_content'] = file_get_contents($path); $new_post['post_title'] = $v['post_title']; $new_post['post_name'] = $v['post_name']; $new_post['post_type'] = 'page'; $new_post['post_status'] = $status; //r_print($new_post);die(); // Now insert / update the post $ret = pagelayer_insert_content($new_post, $err); // Did we save the post ? if(empty($ret)){ $pl_error[] = 'Could not update the page '.$v['post_name']; return false; } update_post_meta($ret, 'pagelayer_imported_content', $template_name); } //To import typography and breakpoint if(!empty($data['conf'])){ pagelayer_import_conf($data['conf']); } return true; } // The actual function to import the theme function pagelayer_import_theme($template_name, $pagelayer_theme_path = '', $to_import = array()){ global $wpdb, $wp_rewrite; global $pagelayer, $pl_error, $sitepad; if(empty($pagelayer_theme_path)){ $pagelayer_theme_path = get_stylesheet_directory(); } //die($pagelayer_theme_path); // Delete Old Data ? if(isset($_POST['delete_old_import'])){ $args = array( 'post_type' => ['page', 'post', $pagelayer->builder['name']], 'meta_query' => array( array( 'key' => 'pagelayer_imported_content', 'compare' => 'EXISTS' ) ) ); $query = new WP_Query($args); foreach ( $query->posts as $p ) { //echo $p->ID.'
    '; wp_delete_post($p->ID); } } $pagelayer->import_links = []; ///////////////////////// // Handle PAGELAYER DATA ///////////////////////// // Load the PGL conf $pgl = file_get_contents($pagelayer_theme_path.'/pagelayer.conf'); $pgl = @json_decode($pgl, true); if(empty($pgl['header'])){ $pl_error[] = 'Header list not found. Report to Website Builder Team'; return false; } // Load the new themes pages array $data = file_get_contents($pagelayer_theme_path.'/pagelayer-data.conf'); $data = @json_decode($data, true); //r_print($data);die(); if(empty($data['page'])){ $pl_error[] = 'Pages list not found. This is not a proper template !'; return false; } // Check the theme files foreach($pgl as $k => $v){ $path = pagelayer_cleanpath($pagelayer_theme_path.'/'.$k.'.pgl'); //print_r($path); // Does the page exist ? if(!file_exists($path) || (empty($GLOBALS['sitepad']['dev']) && pagelayer_cleanpath(realpath($path)) != $path)){ $pl_error[] = 'Something is fishy with this theme as the template - '.$k.' - of type - '.$v['type'].' - was not found'; return false; } } // Are we to add default templates ? if(empty($_POST['no_blog_templates'])){ add_filter('pagelayer_importing_templates', 'pagelayer_blog_templates', 10, 1); } /////////////////////////// // Lets import all MEDIA /////////////////////////// // Now lets download the templates if(!function_exists( 'list_files' ) ) { require_once ABSPATH . PAGELAYER_CMS_DIR_PREFIX.'-admin/includes/file.php'; } $_media = list_files($pagelayer_theme_path.'/images', 1); $imgs_json = array(); //pagelayer_print($_media);die(); if(file_exists($pagelayer_theme_path.'/images.json')){ $imgs_json = @json_decode(file_get_contents($pagelayer_theme_path.'/images.json'), true); } // Download images if(!empty($_REQUEST['download_imgs'])){ /* foreach($imgs_json as $k => $v){ if(empty($v['download_url'])){ continue; } $dest_dir = $pagelayer_theme_path.'/images'; $dest_file = $dest_dir.'/'.$k; $image_file = $v['download_url']; // Compare image md5 if($v['md5'] != md5_file($image_file)){ continue; } if(file_exists($dest_file)){ $imagesize = getimagesize($dest_file); // Download and resize image $resize_file = pagelayer_resizeImage($v['download_url'], $imagesize[0], $imagesize[1]); if(!empty($resize_file)){ $image_file = $resize_file; } } // Put image in file file_put_contents($dest_file, $image_file); } */ // Update option to set no update_option('pagelayer_import_images_'.$template_name, 'yes'); }elseif(empty($_REQUEST['download_imgs'])){ // && !file_exists($pagelayer_theme_path.'/images.json') foreach($_media as $k => $v){ $imagesize = getimagesize($v); $mime = !empty($imagesize['mime']) ? $imagesize['mime'] : ''; // Create blank image if(strpos($mime, "image/" ) !== false) { $blank_image = pagelayer_create_blank_image($imagesize[0], $imagesize[1]); file_put_contents($v, $blank_image); } } // Update option to set no update_option('pagelayer_import_images_'.$template_name, 'no'); } foreach($_media as $k => $v){ $file_name = basename($v); // We are going to create a loop to find the image for($i = 1; $i <= 3; $i++){ // Upload the image $ret = pagelayer_upload_media($file_name, file_get_contents($v)); // Lets check the file exists ? if(!empty($ret)){ // Lets check if the file exists $tmp_image_path = pagelayer_cleanpath(get_attached_file($ret)); // If the file does not exist, simply delete the old upload as well if(!file_exists($tmp_image_path)){ wp_delete_attachment($ret, true); $ret = false; // The image does exist and we can continue }else{ break; } } } if(!empty($ret)){ $pagelayer->import_media['{{theme_url}}/images/'.$file_name] = $ret; if(isset($imgs_json[$file_name])){ $fields = array('sitepad_img_source', 'sitepad_download_url', 'sitepad_img_lic'); foreach($fields as $field){ $_field = str_replace('sitepad_', '', $field); if(!empty($imgs_json[$file_name][$_field])){ update_post_meta($ret, $field, $imgs_json[$file_name][$_field]); } } } } } //r_print($pagelayer->import_media);die(); // If we are to import default templates $pgl = apply_filters('pagelayer_importing_templates', $pgl); ////////////////////// // Create Menus ////////////////////// // Create the menu if(empty($_POST['no_header_menu'])){ // Is there any MENU in this theme ? if(empty($data['menus'])){ $menu_id = pagelayer_import_create_menu($template_name.' Header Menu'); }else{ foreach($data['menus'] as $k => $v){ $new_id = pagelayer_import_create_menu($v['name']); $pagelayer->imported_menus[$v['term_id']] = $new_id; $pagelayer->imported_menus_slug[$new_id] = $k; } //r_print($pagelayer->imported_menus);die(); $menu_id = current($pagelayer->imported_menus); } }else{ // Get the first menu that has items if we still can't find a menu. $menus = wp_get_nav_menus(); foreach ( $menus as $menu_maybe ) { $menu_items = wp_get_nav_menu_items( $menu_maybe->term_id, array( 'update_post_term_cache' => false ) ); if ( $menu_items ) { $menu_id = $menu_maybe->term_id; break; } } } // Make a array of OLD IDs => NEW IDs for replace $pagelayer->imported_menus_preg = []; // If we have menus ! if(!empty($pagelayer->imported_menus)){ foreach($pagelayer->imported_menus as $k => $v){ $pagelayer->imported_menus_preg['('.$k.')'] = $v; } // Theme didnt import menus, so lets replace with 0 }else{ $pagelayer->imported_menus_preg['(\d*)'] = $menu_id; } ////////////////////// // Start import ////////////////////// // Import the Pagelayer Templates files foreach($pgl as $k => $v){ $path = pagelayer_cleanpath($pagelayer_theme_path.'/'.$k.'.pgl'); $new_post = array(); // Is the page there ? $template = get_page_by_path($k, OBJECT, array($pagelayer->builder['name'])); // It does exist so save the revision IF its the header and footer if(!empty($template)){ $rev = wp_save_post_revision($template->ID); // Did we save the rev ? if(empty($rev)){ // TODO : Throw error } $new_post['ID'] = $template->ID; } // Make an array $new_post['post_content'] = empty($v['post_content']) ? file_get_contents($path) : $v['post_content']; $new_post['post_title'] = $v['title']; $new_post['post_name'] = $k; $new_post['post_type'] = $pagelayer->builder['name']; $new_post['post_status'] = 'publish'; $new_post['comment_status'] = 'closed'; $new_post['ping_status'] = 'closed'; //pagelayer_print($new_post);die(); // Handle Menu data $new_post['post_content'] = pagelayer_import_handle_replaces($new_post['post_content']); //pagelayer_print($new_post);die(); // Now insert / update the post $ret = pagelayer_insert_content($new_post, $err); $post_id = $ret; $pagelayer->import_map[$k] = $ret; $pagelayer->imported_ids[$new_post['post_type']][$new_post['post_name']] = $ret; // Did we save the rev ? if(empty($ret)){ $pl_error[] = 'Could not update the Pagelayer Template '.$k; return false; } // Save our template type update_post_meta($post_id, 'pagelayer_template_type', $v['type']); update_post_meta($post_id, 'pagelayer_template_conditions', $v['conditions']); update_post_meta($post_id, 'pagelayer_imported_content', $template_name); // Any conditions having Page IDs that need to be updated ? if(!empty($v['conditions'])){ foreach($v['conditions'] as $ck => $cv){ if(!empty($cv['id'])){ $conditions[$post_id][$ck] = $cv['id']; } } } } ///////////////////////// // Handle the PAGES Data ///////////////////////// //pagelayer_print($data); // Import taxonomies $taxonomy_ids = array(); if(!empty($data['taxonomies'])){ $taxonomy_ids = pagelayer_import_taxonomies($data['taxonomies']); } foreach($data as $data_type => $data_v){ $pagelayer->imported[$data_type] = 1; // To import theme related settings if($data_type == 'conf'){ pagelayer_import_conf($data['conf']); continue; } if($data_type == 'menus' || $data_type == 'taxonomies'){ continue; } // Check the theme files foreach($data[$data_type] as $k => $v){ $path = pagelayer_cleanpath($pagelayer_theme_path.'/data/'.$data_type.'/'.$k); // Does it have the title and slug ? if(empty($v['post_title']) || empty($v['post_name'])){ $pl_error[] = 'Something is fishy with this theme as there is no title or slug for '.$k; return false; } // Does the file exist ? if(!file_exists($path) || (empty($GLOBALS['sitepad']['dev']) && pagelayer_cleanpath(realpath($path)) != $path)){ $pl_error[] = 'Something is fishy with this theme'; return false; } } $menu_pages = []; // Now check the pages if it exist in this installation ? foreach($data[$data_type] as $k => $v){ // Do we have to import selected pages ? if(!empty($to_import[$data_type]) && !in_array($k, $to_import[$data_type])){ continue; } $path = pagelayer_cleanpath($pagelayer_theme_path.'/data/'.$data_type.'/'.$k); $args = ['post_type' => $data_type, 'name' => $v['post_name'], 'post_status' => $v['post_status'], 'posts_per_page' => -1 ]; $type_query = new WP_Query($args); // Is the page there ? $page = @current($type_query->posts); //r_print($page); $new_post = array(); $insert_meta = 1; // It does exist so save the revision IF its the header and footer if(!empty($page)){ $insert_meta = 0; if(isset($_POST['overwrite'])){ $rev = wp_save_post_revision($page->ID); $new_post['ID'] = $page->ID; $insert_meta = 1; } } // Make an array $new_post['post_content'] = file_get_contents($path); $new_post['post_excerpt'] = $v['post_excerpt']; $new_post['post_title'] = $v['post_title']; $new_post['post_name'] = $v['post_name']; $new_post['post_type'] = $data_type; $new_post['post_status'] = 'publish'; if(isset($_POST['maintain_ids']) && empty($new_post['ID'])){ $new_post['import_id'] = $v['ID']; } // Category register if(!empty($v['taxonomies'])){ foreach($v['taxonomies'] as $tax => $tax_ids){ if(!empty($tax_ids)){ // Need to replace ids with new ids $tax_ids = explode(',', $tax_ids); foreach($tax_ids as $key => $id){ $tax_ids[$key] = (int) $taxonomy_ids[$id]; } switch ($tax) { case 'category': $new_post['post_category'] = $tax_ids; break; case 'post_tag': $new_post['tags_input'] = $tax_ids; break; default: $new_post['tax_input'][$tax] = $tax_ids; } } } } // Meta file path $meta_path = pagelayer_cleanpath($pagelayer_theme_path.'/data/'.$data_type.'/'.$k.'.meta'); if($insert_meta && file_exists($meta_path)){ $meta_path = pagelayer_cleanpath($pagelayer_theme_path.'/data/'.$data_type.'/'.$k.'.meta'); $new_post['meta_input'] = file_get_contents($meta_path); $new_post['meta_input'] = json_decode($new_post['meta_input']); } //r_print($new_post);die(); // Handle Menu data $new_post['post_content'] = pagelayer_import_handle_replaces($new_post['post_content']); // Now insert / update the post $ret = pagelayer_insert_content($new_post, $err); // Did we save the post ? if(empty($ret)){ $pl_error[] = 'Could not update the '.$data_type.' '.$v['post_name']; return false; } update_post_meta($ret, 'pagelayer_imported_content', $template_name); $pagelayer->import_map[$v['ID']] = $ret; $pagelayer->imported_ids[$new_post['post_type']][$new_post['post_name']] = $ret; // Skip Header, Footer and Home pages if($data_type == 'page' && preg_match('/^home/is', $new_post['post_name'])){ $home_page = $ret; } if(defined('SITEPAD')){ // Does the screenshot exist ? $screenshot_file = $pagelayer_theme_path.'/screenshots/'.$v['post_name'].'.jpg'; if(file_exists($screenshot_file)){ @mkdir($sitepad['screenshots_path'], 0755, true); @copy($screenshot_file, $sitepad['screenshots_path'].'/'.$v['post_name'].'.jpg'); } } } } // Update Post for import if(!empty($conditions)){ foreach($conditions as $post_ID => $v){ $cond = get_post_meta($post_ID, 'pagelayer_template_conditions', 1); foreach($v as $ck => $cv){ if(!empty($pagelayer->import_map[$cv])){ $cond[$ck]['id'] = $pagelayer->import_map[$cv]; } } update_post_meta($post_id, 'pagelayer_template_conditions', $cond); } } // Call a function for the theme if they want to execute something like create more templates, etc $ret = apply_filters('pagelayer_theme_imported', $template_name); if(isset($_POST['set_home_page']) || isset($_POST['create_blog_page'])){ // Get the home page ID $blog = get_page_by_path('blog', OBJECT, array('page')); // Insert the blog page if(empty($blog)){ $new_post['post_content'] = ''; $new_post['post_title'] = 'Blog'; $new_post['post_name'] = 'blog'; $new_post['post_type'] = 'page'; $new_post['post_status'] = 'publish'; // Now insert / update the post $blog_id = wp_insert_post($new_post); }else{ $blog_id = $blog->ID; } // Set the blog page update_option('page_for_posts', $blog_id); } if(!empty($data['conf']['page_for_posts'])){ $pagelayer->import_map[$data['conf']['page_for_posts']] = $blog_id; $pagelayer->imported_ids['page']['blog'] = $blog_id; } // Update any links that are to be updated if(!empty($pagelayer->import_links)){ foreach($pagelayer->import_links as $post_type => $v){ foreach($v as $slug => $link_maps){ // Lets get the post $tmp_post = get_post($pagelayer->imported_ids[$post_type][$slug]); foreach($link_maps as $old_link_type => $old_link_slugs){ //pagelayer_print($old_link_slugs);die(); foreach($old_link_slugs as $old_link_slug){ // Did we have such a link ? $new_link_id = @$pagelayer->imported_ids[$old_link_type][$old_link_slug]; // If not found, lets try to find a similar post if(empty($new_link_id)){ $args = ['name' => $old_link_slug, 'post_type' => $old_link_type]; // Make query $query = new WP_Query($args); // Get post if(!empty($query->posts)){ $link_post = current($query->posts); //echo $old_link_slug.' - ';pagelayer_print($link_post->post_name);die(); $new_link_id = @$link_post->ID; } } if(empty($new_link_id)){ continue; } $tmp_post->post_content = str_replace('||link_id|'.$old_link_type.'|'.$old_link_slug.'||', $new_link_id, $tmp_post->post_content); } } //pagelayer_print($tmp_post); wp_update_post($tmp_post); } } } if(isset($_POST['set_home_page'])){ // Set the blog page update_option('show_on_front', 'page'); // Set home page as the default page if(!empty($home_page)){ update_option('page_on_front', $home_page); } } // Update the menu if(empty($_POST['no_header_menu'])){ // Are we importing from the theme ? if(!empty($pagelayer->imported_menus)){ foreach($pagelayer->imported_menus as $k => $v){ pagelayer_import_update_menus($v, $pagelayer_theme_path); } // We created the menu, lets update it }else{ pagelayer_update_header_menu($menu_id, $pagelayer->import_map); } } // Save that we have imported the theme update_option('pagelayer_theme_'.$template_name.'_imported', time(), true); // Blank woocommerce fix update_option('pagelayer_template_product_fix', 0); return true; } // Import Taxonomies Handler function pagelayer_import_taxonomies($taxonomy){ $new_ids = array(); foreach($taxonomy as $term_id => $term){ $parent_id = null; $term_par = 0; // If tern has parent if(!empty($term['parent']) && empty($new_ids[$term['parent']])){ // Get parent taxonomy $par_terms = get_terms( array( 'taxonomy' => $term['taxonomy'], 'hide_empty' => false, 'meta_key' => 'pagelayer_imported_id', 'meta_value' => $term['parent'] ) ); $par_terms_len = count($par_terms) - 1; // If not exists if(is_wp_error($par_terms) || empty($par_terms)){ $par_ids = pagelayer_import_taxonomies(array($term['parent'] => $taxonomy[$term['parent']])); $term_par = $parent_id = $par_ids[$term['parent']]; $new_ids[$term['parent']] = $parent_id; }elseif($par_terms_len > -1){ $term_par = $parent_id = $par_terms[$par_terms_len]->term_id; } }elseif(!empty($new_ids[$term['parent']])){ $term_par = $parent_id = $new_ids[$term['parent']]; } $exist_term = term_exists($term['name'], $term['taxonomy'], $parent_id ); if($exist_term === null){ $tax_details = wp_insert_term($term['name'], $term['taxonomy'] ,array('description' => $term['description'],'parent' => $term_par, 'slug' => $term['slug'])); if(!(is_wp_error( $tax_details ))){ $new_id = $tax_details['term_id']; } }elseif(is_array($exist_term)){ $new_id = $exist_term['term_id']; }else{ $new_id = $exist_term; } // ID is empty? if(empty($new_id)){ continue; } update_term_meta( $new_id, 'pagelayer_imported_id', $term_id); $new_ids[$term_id] = $new_id; } return $new_ids; } add_filter('pagelayer_start_insert_content', 'pagelayer_import_start_insert_content'); function pagelayer_import_start_insert_content($post){ global $pagelayer; $_post = json_encode($post); // Does it have links ? if(preg_match_all('/(\|\|link_id\|([\w-]*)\|([\w-]*)\|\|)/', $_post, $matches)){ foreach($matches[3] as $kk => $link){ $pagelayer->import_links[$post['post_type']][$post['post_name']][$matches[2][$kk]][] = $link; } //pagelayer_print($matches);pagelayer_print($pagelayer->import_links);die(); } if(preg_match('/theme_url/is', $_post)){ $do = 1; } // Lets replace the images foreach($pagelayer->import_media as $k => $v){ $_post = str_replace($k, $v, $_post); $k = str_replace('/', '\/', $k);// Handle JSON $_post = str_replace($k, $v, $_post); $k = str_replace('/', '\/', addslashes($k));// Handle Doubled JSON $_post = str_replace($k, $v, $_post); } $post = json_decode($_post, true); if(!empty($do)){ //echo $_post; //pagelayer_print($post);die(); } return $post; } // Create the menu function pagelayer_import_create_menu($name){ // Create the menu if not exists $menu_name = (empty($name) ? 'Pagelayer Menu' : $name); $menu_exists = wp_get_nav_menu_object($menu_name); // If there is no menu we will need to add it if(!empty($menu_exists)){ wp_delete_nav_menu($menu_exists); } // Insert the Menu $menu_id = wp_create_nav_menu($menu_name); //r_print($menu_exists);r_print($menu_name);r_print($menu_id);die(); if(!is_int($menu_id)){ return false; } // We need to DISABLE auto add TEMPORARILY $options = (array) get_option('nav_menu_options'); if (isset($options['auto_add'])){ $key = array_search($menu_id, $options['auto_add']); if(!empty($key)){ unset($options['auto_add'][$key]); update_option('nav_menu_options', $options); } } return $menu_id; } // Callback for menu replacement function pagelayer_import_handle_replaces($content){ global $pagelayer; // Replace the old ID structure $content = preg_replace_callback('/pagelayer-id="(\w{16})"/s', 'pagelayer_handle_id_sc', $content); $content = preg_replace_callback('/"pagelayer-id"\:"(\w{16})"/s', 'pagelayer_handle_id', $content); foreach($pagelayer->imported_menus_preg as $k => $v){ $content = preg_replace('/\[pl_wp_menu ([^\]]*)nav_list="'.$k.'"([^\]]*)\]/is', '[pl_wp_menu ${1}nav_list="'.$v.'"${3}]', $content); } // Also for block format $content = preg_replace_callback('/).)*+)?}\s+)?(?P\/)?-->/s', 'pagelayer_handle_wp_menu', $content); // Lets replace the variables for social icons $content = preg_replace_callback('/\[pl_social ([^\]]*)\]/is', 'pagelayer_handle_social_urls', $content); $content = preg_replace_callback('/).)*+)?}\s+)?(?P\/)?-->/s', 'pagelayer_handle_social_urls_blocks', $content); return $content; } // Update the header menu function pagelayer_update_header_menu($menu_id, $pages){ $menu_pages = []; $home = get_option('page_on_front'); if(!empty($home)){ $menu_pages[] = $home; } $blog = get_option('page_for_posts'); if(!empty($blog)){ $menu_pages[] = $blog; } // The other links foreach($pages as $pk => $pv){ $tmp = get_post($pv); if(is_wp_error($tmp) || $tmp->post_type !== 'page'){ continue; } // Skip Header, Footer and Home pages if(in_array($pv, $menu_pages)){ continue; } $menu_pages[] = $pv; } // Get the pages foreach($menu_pages as $pk => $page_id){ $menu_pages[$pk] = get_post($page_id); } // The other links foreach($menu_pages as $pk => $pv){ wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => $pv->post_title, 'menu-item-url' => home_url( '/'.$pv->post_name.'/' ), 'menu-item-status' => 'publish', 'menu-item-type' => 'post_type', 'menu-item-object' => 'page', 'menu-item-object-id' => $pv->ID)); } // We need to enable auto add new pages $options = (array) get_option('nav_menu_options'); if (!isset($options['auto_add'])){ $options['auto_add'] = array(); } $options['auto_add'][] = $menu_id; update_option('nav_menu_options', $options); } // For import of our exported menus function pagelayer_import_update_menus($menu_id, $pagelayer_theme_path = ''){ global $pagelayer; $old_id = array_search($menu_id, $pagelayer->imported_menus); $slug = $pagelayer->imported_menus_slug[$menu_id]; $data = file_get_contents($pagelayer_theme_path.'/data/menus/'.$slug); $data = @json_decode($data, true); $ids = []; // Insert the links foreach($data as $k => $v){ $r = []; $r['menu-item-title'] = $v['post']['title']; $r['menu-item-status'] = $v['post']['post_status']; $r['menu-item-type'] = $v['post']['type']; $r['menu-item-object'] = $v['post']['object']; $r['menu-item-classes'] = implode(' ', $v['post']['classes']); // Any parent ? if(!empty($v['post']['menu_item_parent'])){ $parent = $ids[$v['post']['menu_item_parent']]; if(!empty($parent)){ $r['menu-item-parent-id'] = $parent; } } // Regular Data Object if($r['menu-item-type'] !== 'custom'){ $r['menu-item-object-id'] = $pagelayer->import_map[$v['post']['object_id']]; if(empty($r['menu-item-object-id'])){ continue; } $r['menu-item-url'] = get_permalink($r['menu-item-object-id']); // Custom URL }else{ $r['menu-item-url'] = $v['post']['url']; } //r_print($r); $updated_nav = wp_update_nav_menu_item($menu_id, 0, $r); $ids[$v['post']['db_id']] = $updated_nav; if(isset($v['post_metas']['_pagelayer_content'])){ $mdata = pagelayer_import_handle_replaces($v['post_metas']['_pagelayer_content']); $mdata = pagelayer_sanitize_content($mdata); update_post_meta($updated_nav, '_pagelayer_content', $mdata); } } // We need to enable auto add new pages $options = (array) get_option('nav_menu_options'); if (!isset($options['auto_add'])){ $options['auto_add'] = array(); } $options['auto_add'][] = $menu_id; update_option('nav_menu_options', $options); } // Callback for menu replacement function pagelayer_handle_wp_menu($matches){ global $pagelayer; foreach($pagelayer->imported_menus_preg as $k => $v){ $matches[0] = preg_replace('/nav_list"\s*:\s*"'.$k.'"/is', 'nav_list":"'.$v.'"', $matches[0]); } return $matches[0]; } // Change the old style ID to the new style function pagelayer_handle_id($matches){ //r_print($matches);die(); $str = '"pagelayer-id":"'.pagelayer_create_id().'"'; return $str; } // Change the old style ID to the new style function pagelayer_handle_id_sc($matches){ //r_print($matches);die(); $str = 'pagelayer-id="'.pagelayer_create_id().'"'; return $str; } // Replace Social URLs with the one given in setup function pagelayer_handle_social_urls($matches){ //r_print($matches);die(); // Get the icon preg_match('/icon=(\'|")([^\'"]*)(\'|")/is', $matches[0], $icon); $icon = $icon[2]; $urls = pagelayer_get_social_urls(); foreach($urls as $k => $v){ if(preg_match('/'.preg_quote($k, '/').'/is', $icon)){ $social_url = $v; break; } } if(!empty($social_url)){ // Is the social_url param there ? if(!preg_match('/social_url=/is', $matches[0])){ $matches[0] = substr($matches[0], 0, -1).'social_url="#"]'; } $matches[0] = preg_replace('/social_url=(\'|")([^\'"]*)(\'|")/is', 'social_url="'.$social_url.'"', $matches[0]); } //r_print($matches);die(); return $matches[0]; } // Replace Social URLs with the one given in setup function pagelayer_handle_social_urls_blocks($matches){ // Get the icon preg_match('/icon":"([^"]*)"/is', $matches[0], $icon); $icon = $icon[1]; $urls = pagelayer_get_social_urls(); foreach($urls as $k => $v){ if(preg_match('/'.preg_quote($k, '/').'/is', $icon)){ $social_url = $v; break; } } if(!empty($social_url)){ // Is the social_url param there ? if(!preg_match('/"social_url"/is', $matches[0])){ $matches[0] = preg_replace('/("icon"\s*:\s*"([^"]*)")/is', '"icon":"'.$icon.'","social_url":"#"', $matches[0]); } $matches[0] = preg_replace('/social_url"\s*:\s*"([^"]*)"/is', 'social_url":"'.$social_url.'"', $matches[0]); } return $matches[0]; } // Add the blog templates function pagelayer_blog_templates($pgl){ $conf = '{ "single-template": { "type": "single", "title": "Single Template", "conditions": [ { "type": "include", "template": "singular", "sub_template": "post", "id": "" }, { "type": "include", "template": "singular", "sub_template": "attachment", "id": "" } ] }, "blog-template": { "type": "archive", "title": "Blog Template", "conditions": [ { "type": "include", "template": "archives", "sub_template": "", "id": "" } ] }, "404": { "type": "single", "title": "404", "conditions": [ { "type": "include", "template": "singular", "sub_template": "404", "id": "" } ] } }'; $conf = json_decode($conf, true); // Do we have the blog template ? if(empty($pgl['blog-template'])){ $conf['blog-template']['post_content'] = ' '; $pgl['blog-template'] = $conf['blog-template']; } // Do we have the blog template ? if(empty($pgl['404'])){ $conf['404']['post_content'] = '

    The page you requested was not found we suggest you to go back to HomePage

    '; $pgl['404'] = $conf['404']; } // Do we have the blog template ? if(empty($pgl['single-template'])){ $conf['single-template']['post_content'] = ' '; $pgl['single-template'] = $conf['single-template']; } return $pgl; } // Resize Image function pagelayer_resizeImage($filename, $newwidth, $newheight){ $imagesize = getimagesize($filename); $width = $imagesize[0]; $height = $imagesize[1]; // Calculate the Height and width if($width <= $newwidth || $height <= $newheight){ return false; } $thumb = imagecreatetruecolor($newwidth, $newheight); switch($imagesize['mime']) { case 'image/jpg': case 'image/jpeg': $source = imagecreatefromjpeg($filename); break; case 'image/gif': $source = imagecreatefromgif($filename); break; case 'image/png': $source = imagecreatefrompng($filename); break; } if(empty($source)){ return false; } imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); imagedestroy($source); ob_start(); switch($imagesize['mime']) { case 'image/jpg': case 'image/jpeg': imagejpeg($thumb); break; case 'image/gif': imagegif($thumb); break; case 'image/png': imagepng($thumb); break; } $image = ob_get_clean(); imagedestroy($thumb); return $image; } PKZhhplugins/pagelayer/main/ajax.phpnu[shortcodes[$tag]); // No tag ? if(empty($pagelayer->shortcodes[$tag])){ $ret['error'][] = __pl('no_tag'); pagelayer_json_output($ret); } // Include the widgets include_once(ABSPATH . 'wp-admin/includes/widgets.php'); $class = $pagelayer->shortcodes[$tag]['widget']; // Check the widget class exists ? if(empty($class) || !class_exists($class)){ $ret['error'][] = __pl('no_widget_class'); pagelayer_json_output($ret); } $instance = []; $widget = new $class(); $widget->_set('pagelayer-widget-1234567890'); // Is there any existing data ? if(!empty($_POST['widget_data'])){ $json = json_decode(stripslashes($_POST['widget_data']), true); //pagelayer_print($json);die(); if(!empty($json)){ $instance = $json; } } // Are there any form values ? if(!empty($_POST['values'])){ parse_str(stripslashes($_POST['values']), $data); //pagelayer_print($data);die(); // Any data ? if(!empty($data)){ // Rss widget checkboxes fix if(!empty($data['widget-rss'])){ $data['widget-rss']['pagelayer-widget-1234567890']['show_summary'] = empty($data['widget-rss']['pagelayer-widget-1234567890']['show_summary'])? 0 : 1; $data['widget-rss']['pagelayer-widget-1234567890']['show_author'] = empty($data['widget-rss']['pagelayer-widget-1234567890']['show_author'])? 0 : 1; $data['widget-rss']['pagelayer-widget-1234567890']['show_date'] = empty($data['widget-rss']['pagelayer-widget-1234567890']['show_date'])? 0 : 1; } // First key is useless $data = current($data); // Do we still have valid data ? if(!empty($data)){ // 2nd key is useless and just over-ride instance $instance = current($data); } } } // Settings instance For Text widget if($widget->id_base == 'text'){ $instance['visual'] = false; $instance['legacy'] = false; } // Get the form ob_start(); $widget->form($instance); $ret['form'] = ob_get_contents(); ob_end_clean(); // Get the html ob_start(); $widget->widget([], $instance); $ret['html'] = ob_get_contents(); ob_end_clean(); // Widget data to set if(!empty($instance)){ $ret['widget_data'] = $instance; } // Custom html widget form elements if(!empty($widget) && $widget->name=='Custom HTML'){ $custom_html = explode('>', $ret['form']); $custom_html[0] = ''.$custom_html[0]; $custom_html[0] = str_replace('type="hidden"', 'type="text"',$custom_html[0]); $custom_html[1] = ''.$custom_html[1]; $custom_html[1] = str_replace('hidden', '', $custom_html[1]); $ret['form'] = implode('>', $custom_html); } pagelayer_json_output($ret); } // Update Post content add_action('wp_ajax_pagelayer_save_content', 'pagelayer_save_content'); function pagelayer_save_content(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $content = $_POST['pagelayer_update_content']; $postID = (int) $_GET['postID']; if(empty($postID)){ $msg['error'] = __pl('invalid_post_id'); pagelayer_json_output($msg); } $_post = get_post($postID); // Post found ? if(empty($_post)){ $msg['error'] = __pl('invalid_post_id'); pagelayer_json_output($msg); } // Are you allowed to edit ? if(!pagelayer_user_can_edit($postID)){ $msg['error'][] = __pl('no_permission'); pagelayer_json_output($msg); } // Check if the post exists if(!empty($postID)){ $content = base64_decode($content); /*if(!pagelayer_is_utf8($content)){ $content = utf8_encode($content); }*/ $content = wp_slash($content); $post = array( 'ID' => $postID, 'post_content' => $content, ); $is_xss = pagelayer_xss_content($content); if(!pagelayer_user_can_add_js_content() && strlen($is_xss) > 0){ $msg['error'][] = __pl('xss_found').' - '.$is_xss; pagelayer_json_output($msg); } // Any properties ? $allowed = ['post_title', 'post_name', 'post_excerpt', 'post_status', 'post_password', 'post_date', 'post_author', 'post_parent', 'menu_order']; foreach($allowed as $k){ if(isset($_REQUEST[$k])){ $post[$k] = $_REQUEST[$k]; } } if(!empty($post['post_password']) && $_REQUEST['post_sticky'] == true){ $msg['error'] = __pl('post_pass_with_sticky_err'); pagelayer_json_output($msg); } $post['comment_status'] = !empty($_REQUEST['comment_status']) ? 'open' : 'closed'; $post['ping_status'] = !empty($_REQUEST['ping_status']) ? 'open' : 'closed'; $post['post_status'] = empty($post['post_status']) ? $_post->post_status : $post['post_status']; if(!empty($post['post_status']) && $post['post_status'] == 'publish'){ // Allowed to publish pages ? if($_post->post_type == 'page' && !current_user_can('publish_pages')){ $msg['error'][] = __pl('no_publish_permission'); pagelayer_json_output($msg); } // Allowed to publish posts ? if($_post->post_type == 'post' && !current_user_can('publish_posts')){ $post['post_status'] = 'pending'; } } if(!empty($post['post_password'])){ $post['post_password'] = (in_array($post['post_status'], array('pass_protected', 'publish')) ? $post['post_password'] : ''); $post['post_status'] = 'publish'; }else{ $post['post_status'] = ($post['post_status'] == 'pass_protected') ? 'publish' : $post['post_status']; $post['post_password'] = ''; } // Set post GMT time if(!empty($post['post_date']) && '0000-00-00 00:00:00' !== $post['post_date']){ $post['post_date_gmt'] = get_gmt_from_date( $post['post_date'] ); if( in_array($post['post_status'], array('future', 'publish')) && $_post->post_date_gmt === '0000-00-00 00:00:00' ){ $post['edit_date'] = true; } } $_REQUEST['featured_image'] = (int) $_REQUEST['featured_image']; if(!empty($_REQUEST['featured_image'])){ set_post_thumbnail($postID, $_REQUEST['featured_image']); }else{ delete_post_thumbnail($postID); } if(!isset($_REQUEST['post_category'])){ $_REQUEST['post_category'] = ''; } if(!isset($_REQUEST['post_tags'])){ $_REQUEST['post_tags'] = ''; } if($_post->post_type == 'post'){ $post['post_category'] = pagelayer_sanitize_text_field($_REQUEST['post_category']); $post['tags_input'] = pagelayer_sanitize_text_field($_REQUEST['post_tags']); }else{ $cat_name = pagelayer_post_type_category($_post->post_type); if($cat_name){ $post['tax_input'][$cat_name] = pagelayer_sanitize_text_field($_REQUEST['post_category']); } $tag_name = pagelayer_post_type_tag($_post->post_type); if($tag_name){ $post['tax_input'][$tag_name] = pagelayer_sanitize_text_field($_REQUEST['post_tags']); } } if(isset($_REQUEST['post_sticky']) && !empty($_REQUEST['post_sticky'])){ stick_post( $postID ); }else{ if(is_sticky($postID)){ unstick_post( $postID ); } } // Any contact templates ? if(!empty($_REQUEST['contacts'])){ update_post_meta($postID, 'pagelayer_contact_templates', $_REQUEST['contacts']); }else{ delete_post_meta($postID, 'pagelayer_contact_templates'); } // Save copyright if(isset($_REQUEST['copyright']) && current_user_can('manage_options')){ update_option('pagelayer-copyright', wp_unslash($_REQUEST['copyright'])); } // Apply a filter $post = apply_filters('pagelayer_save_content', $post); // Update the post into the database $ret = wp_update_post($post, true); // Render the post //update_post_meta($postID, 'pagelayer_rendered_post', pagelayer_get_post_content($postID)); if (is_wp_error($ret)) { $errors = $ret->get_error_messages(); $msg['error'] = __pl('post_update_err').' : '.implode('', $errors); }else{ // Get the updated post $_post = get_post($postID); // Is this a Pagelayer post $data = get_post_meta($postID, 'pagelayer-data', true); if(empty($data)){ // Convert to pagelayer accessed post if(!add_post_meta($postID, 'pagelayer-data', time(), true)){ update_post_meta($postID, 'pagelayer-data', time()); } } $msg['success'] = __pl('post_update_success'); } }else{ $msg['error'] = __pl('post_update_err'); } $msg['post_status'] = (empty($_post->post_password)) ? $_post->post_status : 'pass_protected'; // Save global widgets data if(!empty($_REQUEST['global_widgets'])){ pagelayer_save_templ_content(true); } // Save nav menu data if(!empty($_REQUEST['pagelayer_nav_items']) && current_user_can('edit_theme_options')){ $menu_items = (array) $_REQUEST['pagelayer_nav_items']; foreach($menu_items as $items){ pagelayer_save_nav_menu_items($items); } } // Save Customizer data if(!empty($_REQUEST['pagelayer_customizer_options']) && current_user_can('edit_theme_options')){ $customizer_options = wp_unslash($_REQUEST['pagelayer_customizer_options']); $customizer_options = json_decode($customizer_options, true); // Add current post type $customizer_options['pagelayer_current_post_type'] = $_post->post_type; pagelayer_save_customizer_options($customizer_options); } pagelayer_json_output($msg); } // Save sections and global sections add_action('wp_ajax_pagelayer_save_templ_content', 'pagelayer_save_templ_content'); function pagelayer_save_templ_content($echo = false){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if ( ! current_user_can( get_post_type_object( 'pagelayer-template' )->cap->create_posts ) ) { $ret['error'][$g_post_id] = __pl('no_permission'); pagelayer_json_output($ret); return false; } // Are you allowed to edit ? if(!pagelayer_user_can_edit($_REQUEST['postID'])){ $msg['error'][] = __pl('no_permission'); pagelayer_json_output($msg); } $ret = array(); // Save global widgets data if(empty($_REQUEST['global_widgets'])){ $ret['error'][] = 'No widgets given'; pagelayer_json_output($ret); return false; } $global_widgets = $_REQUEST['global_widgets']; foreach($global_widgets as $key => $value){ $g_post_id = (int) $value['post_id']; // Are you allowed to edit ? if(!empty($g_post_id) && !pagelayer_user_can_edit($g_post_id)){ $ret['error'][$g_post_id] = __pl('no_permission').' : '.$g_post_id; continue; } // Decode base64 data $value['content'] = base64_decode($value['content']); $value['content'] = wp_slash($value['content']); $is_xss = pagelayer_xss_content($value['content']); if(!current_user_can('manage_options') && strlen($is_xss) > 0){ $ret['error'][$g_post_id] = __pl('xss_found').' - '.$is_xss; pagelayer_json_output($ret); } // We need to create the post if(empty($value['post_id'])){ $g_ret = wp_insert_post([ 'post_type' => 'pagelayer-template', 'post_title' => $value['title'], 'post_content' => $value['content'], 'post_status' => 'publish', 'comment_status' => 'closed', 'ping_status' => 'closed' ]); $g_post_id = $g_ret; // Save our template metas update_post_meta($g_post_id, 'pagelayer_template_type', $value['type']); update_post_meta($g_post_id, 'pagelayer-data', time()); }else if(!empty($value['content'])){ // Save global widget content $post = array( 'ID' => $g_post_id, 'post_title' => $value['title'], 'post_content' => $value['content'], ); wp_update_post($post); } if(is_wp_error($g_post_id)){ $ret['error'][$g_post_id] = __pl('template_update_err'); }else{ $ret['success'][$g_post_id] = __pl('template_update_success'); } } if(!$echo){ pagelayer_json_output($ret); }else{ return $ret; } } // Update the Site Title add_action('wp_ajax_pagelayer_set_jscss_giver', 'pagelayer_set_jscss_giver'); function pagelayer_set_jscss_giver(){ global $wpdb; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if( !current_user_can('manage_options') ){ $ret['error'] = __pl('no_permission'); pagelayer_json_output($ret); } $val = (int) @$_REQUEST['set']; if(in_array($val, [1, -1])){ update_option('pagelayer_enable_giver', $val); } $ret['success'] = 1; pagelayer_json_output($ret); } // Shortcodes Widget Handler add_action('wp_ajax_pagelayer_do_shortcodes', 'pagelayer_do_shortcodes'); function pagelayer_do_shortcodes(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!current_user_can('edit_posts')){// TODO : WooCommerce $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } $data = ''; if(isset($_REQUEST['shortcode_data'])){ $data = stripslashes($_REQUEST['shortcode_data']); } // Load shortcodes pagelayer_load_shortcodes(); $data = pagelayer_the_content($data); // Create the HTML object $node = pagelayerQuery::parseStr($data); $node->query('.pagelayer-ele')->removeClass('pagelayer-ele'); echo $node->html(); wp_die(); } // Give the JS add_action('wp_ajax_pagelayer_givejs', 'pagelayer_givejs'); function pagelayer_givejs(){ global $pagelayer; // WordPress adds the Expires header in all AJAX calls. We need to remove it for cache to work header_remove("Expires"); header_remove("Cache-Control"); // Load shortcodes pagelayer_load_shortcodes(); // Load font options pagelayer_load_font_options(); // Pagelayer Template Loading Mechanism include_once(PAGELAYER_DIR.'/js/givejs.php'); exit(); } add_action('wp_ajax_pagelayer_givecss', 'pagelayer_givecss'); add_action('wp_ajax_nopriv_pagelayer_givecss', 'pagelayer_givecss'); function pagelayer_givecss(){ global $pagelayer; // WordPress adds the Expires header in all AJAX calls. We need to remove it for cache to work header_remove("Expires"); header_remove("Cache-Control"); // Pagelayer Template Loading Mechanism include_once(PAGELAYER_DIR.'/css/givecss.php'); exit(); } // Shortcodes Widget Handler add_action('wp_ajax_pagelayer_get_section_shortcodes', 'pagelayer_get_section_shortcodes'); function pagelayer_get_section_shortcodes(){ global $pagelayer; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!current_user_can('edit_posts')){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } $data = ''; if(isset($_REQUEST['pagelayer_section_id'])){ $get_url = PAGELAYER_API.'/library.php?give_id='.$_REQUEST['pagelayer_section_id'].(!empty($pagelayer->license['license']) ? '&license='.$pagelayer->license['license'] : '').'&url='.rawurlencode(site_url()); // For SitePad users if(function_exists('get_softaculous_file')){ $get_url = get_softaculous_file($get_url, 1); } $fetch = wp_remote_get($get_url, array('timeout' => 60)); if ( is_array( $fetch ) && ! is_wp_error( $fetch ) && isset( $fetch['body'] ) ) { $data = json_decode( $fetch['body'], true ); // use the content }else{ $data['error'] = __pl('The response was malformed'); pagelayer_json_output($data); } } if(isset($_REQUEST['postID'])){ $post_id = (int) $_REQUEST['postID']; if(!empty($post_id)){ $post = get_post( $post_id ); // Need to make the reviews post global if ( !empty( $post ) ) { $GLOBALS['post'] = $post; $GLOBALS['wp_query'] = new WP_Query([ 'post_type' => $GLOBALS['post']->post_type, 'post__in' => array($post_id), ]); } } } // Upload the images if any in the shortcode preg_match_all('/"'.preg_quote('{{pl_lib_images}}', '/').'([^"]*)"/is', $data['code'], $matches); foreach($matches[0] as $k => $v){ $image_url = trim($v, '"\''); $urls[$image_url] = $image_url; } foreach($urls as $k => $image_url){ $file = basename($image_url); $id = 0; // Upload this if(!empty($data[$file])){ $id = pagelayer_upload_media($file, base64_decode($data[$file])); if(!empty($id)){ $data['code'] = str_replace('"'.$image_url.'"', '"'.$id.'"', $data['code']); } } } // Load shortcodes pagelayer_load_shortcodes(); if(!empty($data['code'])){ $data['code'] = pagelayer_the_content($data['code'], true); } pagelayer_json_output($data); } // Shortcodes Widget Handler add_action('wp_ajax_pagelayer_get_section_blocks', 'pagelayer_get_section_blocks'); function pagelayer_get_section_blocks(){ global $pagelayer; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!current_user_can('edit_posts')){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } $data = ''; if(isset($_REQUEST['pagelayer_section_id'])){ $get_url = PAGELAYER_API.'/library.php?give_id='.$_REQUEST['pagelayer_section_id'].(!empty($pagelayer->license['license']) ? '&license='.$pagelayer->license['license'] : '').'&url='.rawurlencode(site_url()); // For SitePad users if(function_exists('get_softaculous_file')){ $get_url = get_softaculous_file($get_url, 1); } $fetch = wp_remote_get($get_url, array('timeout' => 60)); if ( is_array( $fetch ) && ! is_wp_error( $fetch ) && isset( $fetch['body'] ) ) { $data = json_decode( $fetch['body'], true ); // use the content }else{ $data['error'] = __pl('The response was malformed'); pagelayer_json_output($data); } } // Upload the images if any in the shortcode preg_match_all('/"'.preg_quote('{{pl_lib_images}}', '/').'([^"]*)"/is', $data['code'], $matches); foreach($matches[0] as $k => $v){ $image_url = trim($v, '"\''); $urls[$image_url] = $image_url; } foreach($urls as $k => $image_url){ $file = basename($image_url); $id = 0; // Upload this if(!empty($data[$file])){ $id = pagelayer_upload_media($file, base64_decode($data[$file])); if(!empty($id)){ $data['code'] = str_replace('"'.$image_url.'"', '"'.$id.'"', $data['code']); } } } if ( false !== strpos( $data['code'], '[pl_' ) ) { // Load shortcodes pagelayer_load_shortcodes(); // Load Parse Shortcodes include_once(PAGELAYER_DIR.'/main/parse-shortcodes.php'); $data['code'] = pagelayer_do_shortcode_to_block($data['code']); } $data['code'] = pagelayer_add_tmp_atts($data['code']); pagelayer_json_output($data); } // Get the Site Title add_action('wp_ajax_pagelayer_fetch_site_title', 'pagelayer_fetch_site_title'); function pagelayer_fetch_site_title(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); echo get_bloginfo('name'); wp_die(); } // Update the Site Title add_action('wp_ajax_pagelayer_update_site_title', 'pagelayer_update_site_title'); function pagelayer_update_site_title(){ global $wpdb; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $site_title = $_POST['site_title']; if(!current_user_can('manage_options')){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } update_option('blogname', $site_title); wp_die(); } // Show the SideBars add_action('wp_ajax_pagelayer_fetch_sidebar', 'pagelayer_fetch_sidebar'); function pagelayer_fetch_sidebar(){ global $wp_registered_sidebars; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); // Create a list $pagelayer_wp_widgets = array(); foreach($wp_registered_sidebars as $v){ $pagelayer_wp_widgets[$v['id']] = $v['name']; } $id = @$_REQUEST['sidebar']; if(function_exists('dynamic_sidebar') && !empty($pagelayer_wp_widgets[$id])) { ob_start(); dynamic_sidebar($id); $result = ob_get_clean(); }else{ $result = __pl('no_widget_area'); } echo $result; wp_die(); } // Show the primary menu ! add_action('wp_ajax_pagelayer_fetch_primary_menu', 'pagelayer_fetch_primary_menu'); function pagelayer_fetch_primary_menu(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(isset($_POST['nav_list'])){ $_POST['nav_list'] = (int) $_POST['nav_list']; // Load Pagelayer nav menu walker include_once(PAGELAYER_DIR.'/main/nav_walker.php'); $postID = (int) $_REQUEST['postID']; // To on live mode $GLOBALS['post'] = get_post($postID); $GLOBALS['wp_query'] = new WP_Query([ 'post_type' => $GLOBALS['post']->post_type, 'post__in' => array($postID), ]); // Load short pagelayer_load_shortcodes(); wp_nav_menu([ 'menu' => wp_get_nav_menu_object($_POST['nav_list']), 'menu_id' => $_POST["nav_list"], 'menu_class' => 'pagelayer-wp_menu-ul', 'walker' => new Pagelayer_Walker_Nav_Menu(), //'theme_location' => 'primary', 'echo' => true, ]); } wp_die(); } // Save post revision add_action('wp_ajax_pagelayer_create_post_autosave', 'pagelayer_create_post_autosave'); function pagelayer_create_post_autosave(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = array(); $postID = (int) $_GET['postID']; $content = $_REQUEST['pagelayer_post_content']; // Decode base64 data $content = base64_decode($content); $content = wp_slash($content); // Are you allowed to edit ? if(!pagelayer_user_can_edit($postID)){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($postID)){ $ret['error'] = __pl('invalid_post_id'); }else{ $post = array( 'post_ID' => $postID, 'post_content' => $content, ); $ret['id'] = wp_create_post_autosave($post); } $ret['url'] = get_preview_post_link($postID); pagelayer_json_output($ret); } // Get post revision add_action('wp_ajax_pagelayer_get_revision', 'pagelayer_get_revision'); function pagelayer_get_revision(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = array(); $postID = (int) $_GET['postID']; // Are you allowed to edit ? if(!pagelayer_user_can_edit($postID)){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($postID)){ $ret['error'] = __pl('invalid_post_id'); }else{ $ret = pagelayer_get_post_revision_by_id($postID); } pagelayer_json_output($ret); } // Apply post revision add_action('wp_ajax_pagelayer_apply_revision', 'pagelayer_apply_revision'); function pagelayer_apply_revision(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $revisionID = (int) $_REQUEST['revisionID']; $parID = wp_get_post_parent_id($revisionID); $ret = array(); if(empty($parID)){ $parID = $revisionID; } // Are you allowed to edit ? if(!pagelayer_user_can_edit($parID)){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($revisionID)){ $ret['error'] = __pl('invalid_post_id'); }else{ $post = get_post( $revisionID ); if ( empty( $post ) ) { $ret['error'] = __pl('invalid_revision'); pagelayer_json_output($ret); } // Need to make the reviews post global $GLOBALS['post'] = $post; $GLOBALS['wp_query'] = new WP_Query([ 'post_type' => $GLOBALS['post']->post_type, 'post__in' => array($parID), ]); // Need to reload the shortcodes pagelayer_load_shortcodes(); $ret['id'] = $revisionID; $ret['content'] = pagelayer_the_content($post->post_content, true); if(is_wp_error($post)) { $ret['error'] = __pl('rev_load_error'); }else{ $ret['success'] = __pl('rev_load_success'); } wp_reset_postdata(); } pagelayer_json_output($ret); } // Get post revision add_action('wp_ajax_pagelayer_delete_revision', 'pagelayer_delete_revision'); function pagelayer_delete_revision() { // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $revisionID = (int) $_REQUEST['revisionID']; $parID = wp_get_post_parent_id($revisionID); $ret = array(); // Are you allowed to edit ? if(!pagelayer_user_can_edit($parID)){ $ret['error'][] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($revisionID)){ $ret['error'] = __pl('invalid_post_id'); }else{ $revision = get_post( $revisionID ); if ( empty( $revision ) ) { $ret['error'] = __pl('invalid_revision'); }else{ if ( ! current_user_can( 'delete_post', $parID ) ) { $ret['error'] = __pl('access_denied'); pagelayer_json_output($ret); } $deleted = wp_delete_post_revision( $revision->ID ); if ( ! $deleted || is_wp_error( $deleted ) ) { $ret['error'] = __pl('delete_rev_error'); }else{ $ret['success'] = __pl('delete_rev_success'); } } } pagelayer_json_output($ret); } // Get post navigation add_action('wp_ajax_pagelayer_post_nav', 'pagelayer_post_nav'); function pagelayer_post_nav() { // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!isset($_REQUEST['data']) || !isset($_REQUEST['postID'])){ return; } $el['atts'] = $_REQUEST['data']; $post = get_post($_REQUEST['postID']); // Need to make this post global $GLOBALS['post'] = $post; $in_same_term = false; $taxonomies = 'category'; $title = ''; $arrows_list = $el['atts']['arrows_list']; if($el['atts']['in_same_term']){ $in_same_term = true; $taxonomies = $el['atts']['taxonomies']; } if($el['atts']['post_title']){ $title = '%title'; } $next_label = ' '.$el["atts"]["next_label"].''.$title.' '; $prev_label = ' '.$el["atts"]["prev_label"].''.$title.' '; $el['atts']['next_link'] = get_next_post_link('%link', $next_label, $in_same_term, '', $taxonomies); $el['atts']['prev_link'] = get_previous_post_link('%link', $prev_label, $in_same_term, '', $taxonomies ); pagelayer_json_output($el); } // Get post comment template add_action('wp_ajax_pagelayer_post_comment', 'pagelayer_post_comment'); function pagelayer_post_comment() { global $post; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!isset($_REQUEST['postID'])){ return true; } $GLOBALS['post'] = get_post($_REQUEST['postID']); $GLOBALS['withcomments'] = true; // Load shortcodes pagelayer_load_shortcodes(); $el = []; pagelayer_sc_post_comment($el); echo $el['atts']['post_comment']; wp_die(); } // Get post comment template add_action('wp_ajax_pagelayer_post_info', 'pagelayer_post_info'); function pagelayer_post_info() { global $post; // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if(!isset($_REQUEST['postID']) || !isset($_REQUEST['el'])){ return true; } $el['atts'] = $_REQUEST['el']; $GLOBALS['post'] = get_post($_REQUEST['postID']); // Load shortcodes pagelayer_load_shortcodes(); pagelayer_sc_post_info_list($el); pagelayer_json_output($el['atts']); } // Get the Featured Image add_action('wp_ajax_pagelayer_fetch_featured_img', 'pagelayer_fetch_featured_img'); function pagelayer_fetch_featured_img(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $id = get_post_thumbnail_id( (int) $_POST['post_id'] ); $img = []; if(empty($id)){ pagelayer_json_output($img); } $img = pagelayer_image($id); pagelayer_json_output($img); } // Get the postfolio posts add_action('wp_ajax_pagelayer_fetch_posts', 'pagelayer_fetch_posts'); function pagelayer_fetch_posts(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); // TODO : Allowed echo pagelayer_widget_posts($_POST); wp_die(); } // Get the Posts add_action('wp_ajax_pagelayer_posts_data', 'pagelayer_posts_data'); function pagelayer_posts_data(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); // Load shortcodes pagelayer_load_shortcodes(); // TODO : Allowed echo pagelayer_posts($_POST); wp_die(); } // Get the Posts add_action('wp_ajax_pagelayer_archive_posts_data', 'pagelayer_archive_posts_data'); function pagelayer_archive_posts_data(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); // Set excerpt length if(!empty($_POST['atts']['exc_length'])){ $exc_length = (int) $_POST['atts']['exc_length']; add_filter( 'excerpt_length', function($length) use($exc_length){ return $exc_length; }, 999 ); } // Load shortcodes pagelayer_load_shortcodes(); foreach($_POST['atts'] as $k => $v){ $v = pagelayer_maybe_implode($v); $r[] = esc_html($k).'="'.pagelayer_escapeHTML($v).'"'; } $string = implode(' ', $r); if(preg_match('/\]/is', $string)){ die('Hacking Attempt'); } $sc = '[pl_archive_posts '.$string.'][/pl_archive_posts]'; // TODO : Allowed echo pagelayer_the_content($sc); wp_die(); } // Handle Contact Form Data add_action('wp_ajax_pagelayer_contact_submit', 'pagelayer_contact_submit'); add_action('wp_ajax_nopriv_pagelayer_contact_submit', 'pagelayer_contact_submit' ); function pagelayer_contact_submit(){ // Some AJAX security check_ajax_referer('pagelayer_global', 'pagelayer_nonce'); // A filter to short circuit this contact form $continue = apply_filters('pagelayer_contact_submit_start', 1); if(empty($continue)){ return false; } $formdata = $_POST; // NOTE : NEVER add anything to $formdata except $_POST vars if(isset($_POST['g-recaptcha-response']) ){ if(!pagelayer_captcha_verify()){ $wp['failed'] = get_option('pagelayer_recaptcha_failed', __pl('cap_ver_fail')); pagelayer_json_output($wp); } unset($formdata['g-recaptcha-response']); } // Unset the nonce unset($formdata['pagelayer_nonce']); $to_mail = get_option('pagelayer_cf_to_email'); $from_mail = get_option('pagelayer_cf_from_email'); $subject = get_option('pagelayer_cf_subject'); $additional_headers = get_option('pagelayer_cf_headers'); $reply_to = ''; $body = ''; $headers = ''; $custom_templ = array(); $use_custom = false; $use_html = false; $pagelayer_id = sanitize_text_field($formdata['cfa-pagelayer-id']); if(isset($formdata['cfa-custom-template']) && !empty($formdata['cfa-post-id'])){ $post_id = (int) $formdata['cfa-post-id']; if(!empty($post_id)){ $contact_array = get_post_meta($post_id, 'pagelayer_contact_templates', true); if(!empty($contact_array) && !empty($contact_array[$pagelayer_id])){ $custom_templ = $contact_array[$pagelayer_id]; $use_custom = true; } } } if($use_custom && !empty($custom_templ)){ if(!empty($custom_templ['to_email'])){ $to_mail = $custom_templ['to_email']; } if(!empty($custom_templ['from_email'])){ $from_mail = $custom_templ['from_email']; } if(!empty($custom_templ['cont_subject'])){ $subject = $custom_templ['cont_subject']; } if(!empty($custom_templ['cont_header'])){ $additional_headers = $custom_templ['cont_header']; } if(!empty($custom_templ['cont_body'])){ $body = $custom_templ['cont_body']; } if(!empty($custom_templ['cont_use_html'])){ $use_html = true; $headers .= "Content-Type: text/html\n"; } } if(!empty($from_mail)){ $headers .= "From: $from_mail\n"; } if ( !empty($additional_headers) ) { $headers .= $additional_headers . "\n"; } if ( empty($body) ) { // Make the email content foreach($formdata as $k => $i){ $not_allow = ['cfa-pagelayer-id', 'cfa-redirect', 'cfa-post-id', 'cfa-custom-template', 'pagelayer-contact-submit']; if(in_array($k, $not_allow)){ continue; } if(is_array($i)){ $i = pagelayer_flat_join($i); } // Record a reply to if it is to be used if(is_email(trim($i)) && empty($reply_to)){ $reply_to = trim($i); } $body .= $k."\t : \t $".$k."\n"; } $body .= "\n\n --\n This e-mail was sent from a contact form (".get_home_url().")"; } // Dow we have a reply to in the headers ? if(!preg_match('/reply\-to/is', $headers) && !empty($reply_to)){ $headers .= "Reply-To: $reply_to\n"; } // Add attachment if(!empty($_FILES)){ add_action('phpmailer_init', 'pagelayer_cf_email_attachment', 10, 1); } // If we are using HTML, then we should escape html as well if(!empty($use_html)){ foreach($formdata as $k => $i){ if(is_array($i)){ $i = pagelayer_flat_join($i); } $formdata[$k] = esc_html($i); } } // Add Site Title as option in formdata $formdata['site_title'] = get_bloginfo( 'name' ); // Do parse a variables $to_mail = pagelayer_replace_vars($to_mail, $formdata, '$'); $from_mail = pagelayer_replace_vars($from_mail, $formdata, '$'); $subject = pagelayer_replace_vars($subject, $formdata, '$'); $headers = pagelayer_replace_vars($headers, $formdata, '$'); $body = pagelayer_replace_vars($body, $formdata, '$'); if ( $use_html && ! preg_match( '%\s].*%is', $body ) ) { $header = ' ' . esc_html( $subject ) . ' '; $footer = ''; $body = $header . wpautop( $body ) . $footer; } $to_mail = apply_filters('pagelayer_contact_send', $to_mail, $formdata); // Send the email if(!empty($to_mail)){ $r = wp_mail( $to_mail, $subject, $body, $headers ); } if($r == TRUE){ $wp['success'] = pagelayer_get_option( 'pagelayer_cf_success' ); }else{ $wp['failed'] = pagelayer_get_option( 'pagelayer_cf_failed' ); } pagelayer_json_output($wp); } // Handle Login Submit add_action('wp_ajax_pagelayer_login_submit', 'pagelayer_login_submit'); add_action('wp_ajax_nopriv_pagelayer_login_submit', 'pagelayer_login_submit'); function pagelayer_login_submit(){ // Some AJAX security check_ajax_referer('pagelayer_global', 'pagelayer_nonce'); $creds = array(); $creds['user_login'] = $_REQUEST['username']; $creds['user_password'] = $_REQUEST['password']; $creds['remember'] = $_REQUEST['remember_me']; // Login the user $user = wp_signon( $creds, false ); if ( is_wp_error($user) ){ $data['error'] = $user->get_error_message(); }else{ // If After logout URL, then save if(!empty($_REQUEST['logout_url'])){ update_user_option($user->ID, 'pagelayer_logout_url', $_REQUEST['logout_url']); } $data['redirect'] = (empty($_REQUEST['login_url']) ? '' : $_REQUEST['login_url']); $data['error'] = ''; } pagelayer_json_output($data); } // Get Page List for SiteMap add_action('wp_ajax_pagelayer_get_pages_list', 'pagelayer_get_pages_list'); function pagelayer_get_pages_list(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $args = array( 'post_type' => $_POST['type'], 'orderby' => $_POST['post_order'], 'order' => $_POST['order'], 'hierarchical' => (empty($_POST['hier']) || $_POST['hier'] == null ? '' : $_POST['hier']), 'number' => (empty($_POST['depth']) || $_POST['depth'] == null ? '' : $_POST['depth']), 'posts_per_page' => -1, ); $option = '
      '; $pages = new WP_Query($args); $posts = $pages->posts; foreach ( $posts as $page ) { $option .= '
    • '.$page->post_name.'
    • '; } $option .= '
    '; echo $option; wp_die(); } // Get the data for template add_action('wp_ajax_pagelayer_search_ids', 'pagelayer_search_ids'); function pagelayer_search_ids() { // Some AJAX security check_ajax_referer('pagelayer_builder', 'pagelayer_nonce'); if ( empty( $_POST['filter_type'] ) || empty( $_POST['search'] ) ) { wp_die(); } $sel_opt = ''; switch ( $_POST['filter_type'] ) { case 'taxonomy': $query_params = [ 'taxonomy' => $_POST['object_type'], 'search' => $_POST['search'], 'hide_empty' => false, ]; $terms = get_terms( $query_params ); global $wp_taxonomies; foreach ( $terms as $term ) { $sel_opt .= ''. $term->name .''; } break; case 'post': $query_params = [ 'post_type' => $_POST['object_type'], //$this->extract_post_type( $data ), 's' => $_POST['search'], 'posts_per_page' => -1, ]; if ( 'attachment' === $query_params['post_type'] ) { $query_params['post_status'] = 'inherit'; } $query = new \WP_Query( $query_params ); foreach ( $query->posts as $post ) { $sel_opt .= ''. $post->post_title .''; } break; case 'author': $query_params = [ 'capability' => array( 'edit_posts' ), 'fields' => [ 'ID', 'display_name', ], 'search' => '*' . $_POST["search"] . '*', 'search_columns' => [ 'user_login', 'user_nicename', ], ]; // Capability queries were only introduced in WP 5.9. if( version_compare( $GLOBALS['wp_version'], '5.9-alpha', '<' ) ){ $args['who'] = 'authors'; unset( $args['capability'] ); } $user_query = new \WP_User_Query( $query_params ); foreach ( $user_query->get_results() as $author ) { $sel_opt .= ''. $author->display_name .''; } break; /* case 'menu': $menuItems = wp_get_nav_menu_items( (int)$_POST['object_type']); foreach ( $menuItems as $item ) { if($item -> menu_item_parent !=0 ){ continue; } $sel_opt .= ''. $item -> title.''; } break; */ default: $sel_opt = 'Result Not Found'; } if(!empty($sel_opt)){ echo $sel_opt; }else{ echo 'Result Not Found'; } wp_die(); } // Save the post data from pagelayer setting page add_action('wp_ajax_pagelayer_save_template', 'pagelayer_save_template'); function pagelayer_save_template() { // Some AJAX security check_ajax_referer('pagelayer_builder', 'pagelayer_nonce'); $done = []; $post_id = (int) $_GET['postID']; // Are you allowed to edit ? if(!empty($post_id) && !pagelayer_user_can_edit($post_id)){ $done['error'][] = __pl('no_permission'); pagelayer_json_output($done); } // We need to create the post if(empty($post_id)){ if (!current_user_can('edit_posts')) { $done['error'] = __pl('access_denied'); pagelayer_json_output($done); } // Get the template type if(empty($_POST['pagelayer_template_type'])){ $done['error'] = __pl('temp_error_type'); pagelayer_json_output($done); } $ret = wp_insert_post([ 'post_title' => $_POST['pagelayer_lib_title'], 'post_type' => 'pagelayer-template', 'post_status' => 'publish', 'comment_status' => 'closed', 'ping_status' => 'closed' ]); // An error occured if(is_wp_error($ret)){ $done['error'] = __pl('temp_error').' : '.$ret->get_error_message(); pagelayer_json_output($done); } $post_id = $ret; $done['id'] = $post_id; // Save our template type $ret = update_post_meta($post_id, 'pagelayer_template_type', $_POST['pagelayer_template_type']); } // The ID in consideration $done['id'] = $post_id; // Check if the post title in not empty if(!empty($_POST['pagelayer_lib_title'])){ $post = array( 'ID' => $post_id, 'post_title' => $_POST['pagelayer_lib_title'], ); // Update the post into the database $ret = wp_update_post($post); } // Save template library display conditions $condi_array = array(); $condi_len = count($_POST['pagelayer_condition_type']); if($_POST['pagelayer_template_type'] != 'section'){ for( $i =0; $i < $condi_len; $i++ ){ $condi_array[$i] = array( 'type' => $_POST['pagelayer_condition_type'][$i], 'template' => $_POST['pagelayer_condition_name'][$i], 'sub_template' => $_POST['pagelayer_condition_sub_template'][$i], 'id' => $_POST['pagelayer_condition_id'][$i], ); } } //print_r($condi_array); $ret = update_post_meta($post_id, 'pagelayer_template_conditions', $condi_array); if(is_wp_error($post_id)){ $done['error'] = __pl('temp_error').' : '.$ret->get_error_message(); }else{ $done['success'] = __pl('temp_update_success'); } pagelayer_json_output($done); } // Products Categories Handler add_action('wp_ajax_pagelayer_product_categories', 'pagelayer_product_categories'); function pagelayer_product_categories(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $attributes = ''; $attributes .= ' number="'. $_POST['atts']['number'] .'" '; $attributes .= ' columns="'. $_POST['atts']['columns'] .'" '; $attributes .= ' hide_empty="'. (!empty($_POST['atts']['hide_empty']) ? 1 : 0) .'" '; $attributes .= ' orderby="'. $_POST['atts']['nuorderbymber'] .'" '; $attributes .= ' order="'. $_POST['atts']['order'] .'" '; if ( 'by_id' === $_POST['atts']['source'] ) { $attributes .= ' ids="'. $_POST['atts']['by_id'] .'" '; } elseif ( 'by_parent' === $_POST['atts']['source'] ) { $attributes .= ' parent="'. $_POST['atts']['parent'] .'" '; } elseif ( 'current_subcategories' === $_POST['atts']['source'] ) { $attributes .= ' parent="'. get_queried_object_id() .'" '; } $shortcode = '[product_categories '. $attributes .']'; // do_shortcode the shortcode echo pagelayer_the_content($shortcode); wp_die(); } // Products Categories Handler add_action('wp_ajax_pagelayer_products_ajax', 'pagelayer_products_ajax'); function pagelayer_products_ajax(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); if ( WC()->session ) { wc_print_notices(); } $no_found = $_POST['atts']['no_found']; $attributes = ''; $type = $_POST['atts']['source']; $attributes .= ' columns="'. $_POST['atts']['columns'] .'" '; $attributes .= ' rows="'. $_POST['atts']['rows'] .'" '; $attributes .= ' paginate="'. (!empty($_POST['atts']['paginate']) ? true : false) .'" '; $attributes .= ' orderby="'. $_POST['atts']['orderby'] .'" '; $attributes .= ' order="'. $_POST['atts']['order'] .'" '; $attributes .= ' cache="false" '; // Hide the catalog order if( empty($_POST['atts']['allow_order']) ){ remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 ); } // Hide the result count if( empty($_POST['atts']['show_result']) ){ remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 ); } if( $type == 'by_id' ){ $type = 'products'; $attributes .= ' ids="'. (!empty($_POST['atts']['ids']) ? $_POST['atts']['ids'] : '') .'" '; }elseif( $type == 'pagelayer_current_query' ){ $atts['paginate'] = (!empty($_POST['atts']['paginate']) ? true : false); $atts['cache'] = false; $type = 'pagelayer_current_query'; // Set the current query add_action( 'woocommerce_shortcode_products_query', 'pagelayer_shortcode_current_query', 10, 10); // If product not found add_action( "woocommerce_shortcode_{$type}_loop_no_results", function ($attributes) use ($no_found){ echo '
    '.$no_found.'
    '; } ); // Get the products list $shortcode = new WC_Shortcode_Products( $atts, $type ); echo $shortcode->get_content(); return true; } $shortcode = '['.$type.' '. $attributes .']'; $content = pagelayer_the_content($shortcode); // If product not found if('
    ' == $content){ $content = '
    '. $no_found .'
    '; } echo $content; wp_die(); } // Get Taxamony List for SiteMap add_action('wp_ajax_pagelayer_get_taxonomy_list', 'pagelayer_get_taxonomy_list'); function pagelayer_get_taxonomy_list(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $args = array( 'title_li' => 0, 'orderby' => $_POST['post_order'], 'order' => $_POST['order'], 'style' => '', 'hide_empty' => $_POST['empty'], 'echo' => false, 'hierarchical' => (empty($_POST['hier']) || $_POST['hier'] == null ? '' : $_POST['hier']), 'taxonomy' => $_POST['type'], 'depth' => (empty($_POST['depth']) || $_POST['depth'] == null ? '' : $_POST['depth']), ); $taxonomies = get_categories( $args ); $option = ''; echo $option; wp_die(); } // Export the template add_action('wp_ajax_pagelayer_export_template', 'pagelayer_export_template'); function pagelayer_export_template(){ global $pagelayer; // Some AJAX security check_ajax_referer('pagelayer_builder', 'pagelayer_nonce'); $done = []; if(!current_user_can('edit_theme_options')){ $done['error'][] = __pl('no_permission'); pagelayer_json_output($done); } // Load the templates pagelayer_builder_load_templates(); if(empty($pagelayer->templates)){ $done['error'] = __pl('temp_export_empty'); pagelayer_json_output($done); } // Load Shortcodes pagelayer_load_shortcodes(); // Get the active theme $theme_dir = get_stylesheet_directory(); $conf = []; $pagelayer->export_mode = 1; // Write the files foreach($pagelayer->templates as $k => $v){ // Are there specific templates to export if(!empty($_POST['templates'])){ if(!isset($_POST['templates'][$v->ID])){ continue; } } // Only blocks allowed if(!has_blocks($v->post_content) && !empty($v->post_content)){ $done['error'] = 'The pagelayer template '.$v->ID.' has Shortcodes which is not allowed for export !'; pagelayer_json_output($done); } $v->post_name = (empty($v->post_name) && $v->post_status == 'draft') ? sanitize_title($v->post_title).'-draft' : $v->post_name; // Write the content file_put_contents($theme_dir.'/'.$v->post_name.'.pgl', pagelayer_export_content($v->post_content)); $conf[$v->post_name] = [ 'type' => get_post_meta($v->ID, 'pagelayer_template_type', true), 'title' => $v->post_title, 'conditions' => get_post_meta($v->ID, 'pagelayer_template_conditions', true), ]; } // Write the config file_put_contents($theme_dir.'/pagelayer.conf', json_encode($conf, JSON_PRETTY_PRINT)); $conf = []; // Load the other posts foreach($pagelayer->settings['post_types'] as $type){ // Anything to export for users ? if(!empty($_POST[$type]) && is_array($_POST[$type])){ mkdir($theme_dir.'/data/'); mkdir($theme_dir.'/data/'.$type); $pids = []; foreach($_POST[$type] as $k => $v){ $pids[] = (int) $k; } // Load the type $_query = new WP_Query([ 'post_type' => $type, 'status' => 'publish', 'post__in' => $pids, 'posts_per_page' => -1, ]); $posts = $_query->posts; // Write the files foreach($posts as $k => $v){ // Only blocks allowed if(!has_blocks($v->post_content) && !empty($v->post_content)){ $done['error'] = 'The '.$type.' '.$v->ID.' has Shortcodes which is not allowed for export !'; pagelayer_json_output($done); } $v->post_name = (empty($v->post_name) && $v->post_status == 'draft') ? sanitize_title($v->post_title).'-draft' : $v->post_name; file_put_contents($theme_dir.'/data/'.$type.'/'.$v->post_name, pagelayer_export_content($v->post_content)); unset($v->post_content); $meta = get_post_meta($v->ID); $meta = array_combine(array_keys($meta), array_column($meta, 0)); // Export media if(!empty($meta['_thumbnail_id'])){ $file = pagelayer_export_media_files($meta['_thumbnail_id'], $exp_img_url); // Did it export ? if(!empty($file)){ $meta['_thumbnail_id'] = $exp_img_url; } } // Also put the meta file_put_contents($theme_dir.'/data/'.$type.'/'.$v->post_name.'.meta', json_encode($meta, JSON_PRETTY_PRINT)); //Export taxonomies in post $taxonomies = get_object_taxonomies( $v->post_type, 'objects' ); $post_taxonomies = wp_filter_object_list( $taxonomies, [ 'public' => true, 'show_in_nav_menus' => true, ] ); foreach( $post_taxonomies as $slug => $object ){ if(empty($v->taxonomies) || !is_array($v->taxonomies)){ $v->taxonomies = array(); } $tax_name = $object->name; $the_terms = get_the_terms($v->ID, $tax_name); $v->taxonomies[$tax_name] = ''; if(!empty($the_terms)){ $v->taxonomies[$tax_name] = implode(',', array_column($the_terms, 'term_id')); } } $conf[$type][$v->post_name] = $v; do_action('pagelayer_'.$type.'_exported', $v, $theme_dir); } ksort($conf[$type]); } } // Export menus if(!empty($pagelayer->export_menus) && is_array($pagelayer->export_menus)){ mkdir($theme_dir.'/data/menus'); foreach($pagelayer->export_menus as $k => $v){ $menu = (int) $k; $menu = wp_get_nav_menu_object( $menu ); if(empty($menu)){ $done['error'] = 'Could not export menu ID - '.$k; continue; } // Menu Items $menu_items = wp_get_nav_menu_items( $menu->term_id ); $data = []; if(is_array($menu_items) && !empty($menu_items)){ foreach($menu_items as $kk => $singlenav){ //$navmetas = get_post_meta($singlenav->ID); //$navmetas = array_combine(array_keys($navmetas), array_column($navmetas, 0)); $data[$kk]['post'] = $singlenav; $navmetas = array(); $pl_content = get_post_meta($singlenav->ID, '_pagelayer_content', true); if(!empty($pl_content)){ $navmetas['_pagelayer_content'] = pagelayer_export_content($pl_content); } $data[$kk]['post_metas'] = $navmetas; } } // Also put the meta file_put_contents($theme_dir.'/data/menus/'.$menu->slug, json_encode($data, JSON_PRETTY_PRINT)); $conf['menus'][$menu->slug] = $menu; do_action('pagelayer_menus_exported', $v, $theme_dir); } } // Export the settings $settings = ['pagelayer_content_width', 'pagelayer_body_font', 'pagelayer_tablet_breakpoint', 'pagelayer_mobile_breakpoint', 'pagelayer_header_code','pagelayer_body_open_code', 'pagelayer_footer_code', 'pagelayer_sidebar', 'page_for_posts', 'pagelayer_global_fonts', 'pagelayer_global_colors']; foreach($settings as $v){ $vv = get_option($v); if($vv){ $conf['conf'][$v] = $vv; } } // Load CSS settings foreach($pagelayer->css_settings as $k => $params){ foreach($pagelayer->screens as $sk => $sv){ $suffix = (!empty($sv) ? '_'.$sv : ''); $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css' : $params['key']; $tmp = get_option($setting.$suffix); if(!empty($tmp)){ $conf['conf'][$setting.$suffix] = $tmp; } } } // Export all the taxonomies $post_types = pagelayer_get_public_post_types(); // Export all the Post Type CSS Settings foreach ( $post_types as $pt_slug => $type ) { if ( $pt_slug == 'attachment' ) { continue; } foreach($pagelayer->css_settings as $k => $params){ foreach($pagelayer->screens as $sk => $sv){ $suffix = (!empty($sv) ? '_'.$sv : ''); $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css_'.$pt_slug : $params['key'].'_'.$pt_slug; $tmp = get_option($setting.$suffix); if(!empty($tmp)){ $conf['conf'][$setting.$suffix] = $tmp; } } } } // Export all the taxonomies foreach ( $post_types as $post_type => $label ) { $type_taxonomies = get_object_taxonomies( $post_type, 'objects' ); $taxonomies = wp_filter_object_list( $type_taxonomies, [ 'public' => true, 'show_in_nav_menus' => true, ] ); foreach( $taxonomies as $slug => $object ){ $query_params = [ 'taxonomy' => $object->name, 'hide_empty' => false, ]; $terms = get_terms( $query_params ); foreach($terms as $term){ $conf['taxonomies'][$term->term_id] = $term; } } } // Write the config if(!empty($conf)){ file_put_contents($theme_dir.'/pagelayer-data.conf', json_encode($conf, JSON_PRETTY_PRINT)); } // Are we to export any media ? if(!empty($pagelayer->media_to_export)){ // TODO //$done['media'] = $pagelayer->media_to_export; } do_action('pagelayer_template_export_completed'); $done['success'] = __pl('temp_export_success'); // Output and die pagelayer_json_output($done); } add_action('wp_ajax_pagelayer_get_cat_checkboxes', 'pagelayer_get_cat_checkboxes'); function pagelayer_get_cat_checkboxes(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = []; $cat_name = ''; if(!current_user_can('manage_categories')){ $ret['error'] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($_POST['postid']) || !is_numeric($_POST['postid'])){ $ret['error'] = __pl('invalid_post_id'); pagelayer_json_output($ret); } $post = (int) $_POST['postid']; $post = get_post($post); if(empty($post) || is_wp_error($post)){ $ret['error'] = __pl('invalid_post_id'); pagelayer_json_output($ret); } $cat_name = pagelayer_post_type_category($post->post_type); if(!empty($_POST['new_cat'])){ parse_str($_POST['new_cat'], $formdata); $ret['new_cat_id'] = wp_insert_category([ 'taxonomy' => $cat_name, 'cat_name' => $formdata['category_name'], 'category_parent' => (($formdata['pagelayer_cat_parent'] == 0) ? '' : $formdata['pagelayer_cat_parent']) ]); } $ret += pagelayer_post_cats($post); pagelayer_json_output($ret); } add_action('wp_ajax_pagelayer_get_post_tags', 'pagelayer_get_post_tags'); function pagelayer_get_post_tags(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = []; $tag_name = ''; if(!current_user_can('manage_categories')){ $ret['error'] = __pl('no_permission'); pagelayer_json_output($ret); } if(empty($_POST['postid']) || !is_numeric($_POST['postid']) ){ pagelayer_json_output($ret); } $post = (int) $_POST['postid']; $post = get_post($post); if(empty($post) || is_wp_error($post)){ $ret['error'] = __pl('invalid_post_id'); pagelayer_json_output($ret); } $tag_name = pagelayer_post_type_tag($post->post_type); if(!empty($_POST['new_tag'])){ $ret['tag_id'] = wp_insert_term($_POST['new_tag'], $tag_name); $ret['tag_id'] = $ret['tag_id']['term_id']; } $ret += pagelayer_post_tags($post); pagelayer_json_output($ret); } add_action('wp_ajax_pagelayer_custom_font', 'pagelayer_custom_font'); function pagelayer_custom_font(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = []; if(empty($_POST['font_name'])){ pagelayer_json_output($ret); } $name = preg_replace('/_plf$/is', '', pagelayer_optREQ('font_name')); //echo $name; $args = [ 'post_type' => PAGELAYER_FONT_POST_TYPE, 'status' => 'publish', 'posts_per_page' => 1, 'name' => $name ]; //var_dump($pagelayer->fonts); $query = get_posts($args); //var_dump($query); if(empty($query)){ pagelayer_json_output($ret); } $post = $query[0]; $meta_box_value = get_post_meta( $post->ID, 'pagelayer_font_link', true); if(empty($meta_box_value)){ pagelayer_json_output($ret); } $ret['style']= ''; pagelayer_json_output($ret); } add_action('wp_ajax_pagelayer_trash_post', 'pagelayer_trash_post'); function pagelayer_trash_post(){ // Some AJAX security check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce'); $ret = []; if(empty($_POST['postid']) && !is_numeric($_POST['postid'])){ $ret = ['error' => __pl('invalid_post_id')]; pagelayer_json_output($ret); } if(!current_user_can( 'delete_post', $_POST['postid'] )){ $ret = ['error' => __pl('no_permission')]; pagelayer_json_output($ret); } $ret['url'] = admin_url('/edit.php?post_type=') .get_post_type($_POST['postid']); wp_trash_post($_POST['postid']); pagelayer_json_output($ret); } add_action('wp_ajax_pagelayer_infinite_posts', 'pagelayer_infinite_posts'); add_action('wp_ajax_nopriv_pagelayer_infinite_posts', 'pagelayer_infinite_posts'); function pagelayer_infinite_posts(){ // Some AJAX security check_ajax_referer('pagelayer_global', 'pagelayer_nonce'); pagelayer_load_shortcodes(); $tag = 'pl_posts'; if(isset($_REQUEST['data']['tag']) && $_REQUEST['data']['tag'] == 'pl_archive_posts' ){ $tag = 'pl_archive_posts'; } $content = get_comment_delimited_block_content( 'pagelayer/'.$tag, $_REQUEST['data']['atts'] , ''); $wp['posts'] = pagelayer_the_content($content); pagelayer_json_output( $wp ); } PKZx˖!(plugins/pagelayer/main/replace-media.phpnu[ 0){ $pl_error['upload_error'] = __('There was some error uploading the file ! Please try again.'); pagelayer_media_replace_theme(); return; } $filedata = wp_check_filetype_and_ext($_FILES['userfile']['tmp_name'], $_FILES['userfile']['name']); if ($filedata['ext'] == false){ $pl_error['ext_error'] = __('The File type could not be determined. Please upload a permitted file type.'); pagelayer_media_replace_theme(); return; } $result = pagelayer_replace_attachment($_FILES['userfile']['tmp_name'], $post_id, $err); if(empty($result)){ $pl_error['replace_error'] = $err; pagelayer_media_replace_theme(); return; } $redirect_success = admin_url('post.php'); $redirect_success = add_query_arg(array( 'action' => 'edit', 'post' => $post_id, ), $redirect_success); echo ''; } // Show the theme pagelayer_media_replace_theme(); } // Theme of the page function pagelayer_media_replace_theme(){ global $pl_error; pagelayer_report_error($pl_error);echo '
    '; $id = (int) $_GET['id']; ?>

    " />
    0){ chmod( $targetFile, $permissions ); // restore permissions } $updated = update_attached_file($post_id, $targetFile); $target_url = wp_get_attachment_url($post_id); // Run the filter, so other plugins can hook if needed. $filtered = apply_filters( 'wp_handle_upload', array( 'file' => $targetFile, 'url' => $target_url, 'type' => $fileMime, ), 'sideload'); // Check if file changed during filter. Set changed to attached file meta properly. if (isset($filtered['file']) && $filtered['file'] != $targetFile ){ update_attached_file($post_id, $filtered['file']); } $metadata = wp_generate_attachment_metadata($post_id, $targetFile); wp_update_attachment_metadata($post_id, $metadata); return true; } function pagelayer_remove_attahment_files($post_id){ $meta = wp_get_attachment_metadata( $post_id ); if (function_exists('wp_get_original_image_path')){ // WP 5.3+ $fullfilepath = wp_get_original_image_path($post_id); }else{ $fullFilePath = trim(get_attached_file($post_id, apply_filters( 'pagelayer_unfiltered_get_attached_file', true ))); } $backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true ); $file = $fullFilePath; $result = wp_delete_attachment_files($post_id, $meta, $backup_sizes, $file ); // If attached file is not the same path as file, this indicates a -scaled images is in play. $attached_file = get_attached_file($post_id); if ($file !== $attached_file && file_exists($attached_file)){ @unlink($attached_file); } } PKZs@55plugins/pagelayer/main/live.phpnu[check_post(); // Add the shortcodes // TODO : Make a json file add_action('wp_head', array($this, 'wp_head'), 999); // Add the Body Class Filter //add_filter('body_class', array($this, 'body_class')); // Add the content handler add_filter('the_content', array($this, 'the_content'), 999999); // Skip do_blocks for invalid blocks add_filter( 'pre_render_block', array($this, 'pre_do_render_block'), 10, 3 ); // Skip do_shortcode for invalid shortcodes add_filter( 'pre_do_shortcode_tag', array($this, 'pre_do_shortcode_tag'), 10, 4 ); // Build the Shortcodes MD5 for cache $scmd5 = md5(json_encode($pagelayer->shortcodes).json_encode($pagelayer->groups).json_encode($pagelayer->styles)); $premium_js = apply_filters('pagelayer_editor_give_js', ''); $premium_css = apply_filters('pagelayer_editor_give_css', ''); // Enqueue our Editor's JS wp_register_script('pagelayer-editor', admin_url( 'admin-ajax.php?action=pagelayer_givejs' ).'&give=pagelayer-editor.js,widgets.js,properties.js,base-64.min.js,slimscroll.js,vanilla-picker.min.js,trumbowyg.js,trumbowyg.fontfamily.js,trumbowyg-pagelayer.js,tlite.min.js,pagelayer-pen.js'.$premium_js.'&pagelayer_nonce=1&scmd5='.$scmd5, array('jquery'), PAGELAYER_VERSION); wp_enqueue_script('pagelayer-editor'); $css_url = admin_url('admin-ajax.php?action=pagelayer_givecss&pagelayer_nonce=1&'); if(pagelayer_enable_giver()){ $css_url = PAGELAYER_CSS.'/givecss.php?'; } // Enqueue the Editor's CSS wp_register_style('pagelayer-editor', $css_url.'give=pagelayer-editor-frontend.css,pagelayer-pen.css,'.(defined('PAGELAYER_PREMIUM') ? ',owl.theme.default.min.css,owl.carousel.min.css' : '').$premium_css, array(), PAGELAYER_VERSION); wp_enqueue_style('pagelayer-editor'); // Enqueue the DateTime picker CSS /* wp_register_style('datetime-picker', PAGELAYER_CSS.'/datetime-picker.css', array(), PAGELAYER_VERSION); wp_enqueue_style('datetime-picker'); */ // Enqueue the media library if(!did_action('wp_enqueue_media')){ wp_enqueue_media(); } // Force the Frontend CSS and JS if not already loaded pagelayer_enqueue_frontend(true); // Hide Admin Bar show_admin_bar(false); remove_action('wp_head', '_admin_bar_bump_cb'); // Load custom widgets do_action('pagelayer_custom_editor_enqueue'); // Add the footer scripts add_action('wp_footer', array($this, 'wp_footer'), 1); } // Add our body class function body_class($classes){ return array_merge($classes, array('pagelayer-body')); } // Header function to add certain things function wp_head(){ global $pagelayer, $post, $wp_query, $_wp_post_type_features; // Export the post props $_post = clone $post; unset($_post->post_content); // Add template type if(!empty($pagelayer->template_editor)){ $_post->pagelayer_template_type = get_post_meta($_post->ID, 'pagelayer_template_type', true); } $returnURL = ($_post->post_type == 'post' ? admin_url('edit.php') : admin_url('edit.php?post_type='.$_post->post_type) ); // Get CAPTCHA site key $pagelayer_recaptch_site_key = get_option('pagelayer_google_captcha'); $pro_url = defined('POPULARFX_PRO_URL') ? POPULARFX_PRO_URL : PAGELAYER_PRO_PRICE_URL; $pro_txt = defined('POPULARFX_PRO_URL') ? 'PopularFX Pro' : 'Pagelayer Pro'; $post_type = get_post_type_object($post->post_type); $post_type_name = (!empty($post_type->labels->singular_name)) ? $post_type->labels->singular_name : ucfirst($post_type->name); // Create list of nav menus and it's items list $pagelayer_menus_items_list = array(); $menus = wp_get_nav_menus(); foreach($menus as $menu){ if(!is_nav_menu($menu)){ continue; } $pagelayer_menus_items_list[$menu->term_id] = wp_get_nav_menu_items($menu->term_id, array('post_status' => 'any')); } echo ' '; echo ''; do_action('pagelayer_editor_wp_head'); } // Footer function to add certain things function wp_footer(){ global $pagelayer; echo ''; wp_enqueue_script('heartbeat'); _wp_footer_scripts(); } // Convert to Pagelayer post function check_post(){ global $post; // Is this a Pagelayer post $data = get_post_meta($post->ID, 'pagelayer-data', true); if(empty($data)){ // Is it a Gutenburg Post ? if(!empty($post->post_content)){ // Add our surrounding tag $post->post_content = ' '.$post->post_content.' '; // Regular post, but its empty so we will add our blocks ! }else{ // Add our surrounding tag $post->post_content = ' '; // Update the post $new_post = array( 'ID' => $post->ID, 'post_content' => $post->post_content, ); // Update the post into the database wp_update_post($new_post); // Convert to pagelayer accessed post if(!add_post_meta($post->ID, 'pagelayer-data', time(), true)){ update_post_meta($post->ID, 'pagelayer-data', time()); } } } } // Add certain things function the_content($content) { global $post, $pagelayer; if(empty($pagelayer->dont_make_editable)){ $content = '
    '.$content.'
    '; } // Check if we're inside the main loop in a single post page. if ( is_single() && in_the_loop() && is_main_query() ) { return $content; } return $content; } // Skip do_shortcode for invalid shortcodes function pre_do_shortcode_tag($return, $tag, $attr, $m){ if(!empty($pagelayer->dont_make_editable) || ! doing_filter('the_content')){ return $return; } $prefixes = ['pl_']; $prefixes = apply_filters( 'pagelayer_valid_shortcode_tag', $prefixes); $vailid = false; foreach($prefixes as $prefix) { if (strpos($tag, $prefix) === 0) { $vailid = true; break; } } if($vailid){ return $return; } return $m[0]; } // Skip do_blocks for invalid blocks function pre_do_render_block($return, $parsed_block = [], $parent_block = null){ if(!empty($pagelayer->dont_make_editable) || ! doing_filter('the_content') || empty($parsed_block['blockName'])){ return $return; } $prefixes = ['pagelayer/']; $prefixes = apply_filters( 'pagelayer_valid_block_tag', $prefixes); $vailid = false; foreach($prefixes as $prefix) { if (strpos($parsed_block['blockName'], $prefix) === 0) { $vailid = true; break; } } if($vailid){ return $return; } $serialize_block = serialize_block($parsed_block); $parsed_block['blockName'] = 'pagelayer/pl_missing'; $parsed_block['innerHTML'] = $serialize_block; $parsed_block['attrs'] = []; return render_block($parsed_block); } }PKZag~l''*plugins/pagelayer/main/getting_started.phpnu[

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    >
    ' : '

    PKZe_b b +plugins/pagelayer/main/parse-shortcodes.phpnu[&/\[\]\x00-\x20=]++)@', $content, $matches ); $tagnames = array_intersect( array_keys( $shortcode_tags ), $matches[1] ); if( empty( $tagnames ) ){ return $content; } $content = do_shortcodes_in_html_tags( $content, $ignore_html, $tagnames ); $pattern = get_shortcode_regex( $tagnames ); $content = preg_replace_callback( "/$pattern/", 'pagelayer_do_shortcode_tag', $content ); return $content; } function pagelayer_do_shortcode_tag($m){ // Allow [[foo]] syntax for escaping a tag. if ( '[' === $m[1] && ']' === $m[6] ) { return substr( $m[0], 1, -1 ); } $tag = $m[2]; $attr = shortcode_parse_atts( $m[3] ); $content = isset( $m[5] ) ? $m[5] : null; $output = $m[1] . pagelayer_shortcode_to_block( $attr, $content, $tag ) . $m[6]; return $output; } function pagelayer_shortcode_to_block($attr, $content, $tag){ if($tag == 'pl_post_props'){ return ''; } if($tag == 'pl_inner_col'){ $tag = 'pl_col'; } if($tag == 'pl_inner_row'){ $tag = 'pl_row'; } $block_name = 'pagelayer/'.str_replace('_', '-', $tag); $func = 'pagelayer_fix_block_'.$tag; // Is there a function of the tag ? if(function_exists($func)){ call_user_func_array($func, array(&$block_name, &$attr, &$content)); } $content = pagelayer_do_shortcode_to_block($content); return get_comment_delimited_block_content( $block_name, $attr, $content ); } function pagelayer_fix_block_pl_accordion_item(&$block_name, &$attr, &$content){ if(pagelayer_has_blocks($content) || false !== strpos( $content, '[pl_' )){ return; } pagelayer_content_to_block($content); } function pagelayer_content_to_block(&$content){ $content = ' '.$content.' '; }PKZ VV'plugins/pagelayer/main/font-options.phpnu[fonts['default'] = ['']; $query = get_posts([ 'post_type' => PAGELAYER_FONT_POST_TYPE, 'status' => 'publish', 'posts_per_page' => -1 // For get all posts ]); if(!empty($query)){ $pagelayer->fonts['custom'] = array(); foreach($query as $key){ if(!empty($key->post_title)){ $pagelayer->fonts['custom'][$key->post_name.'_plf'] = $key->post_title; } } } // System fonts $pagelayer->fonts['system'] = $pagelayer->system_fonts; // Fonts $pagelayer->fonts['google'] = ['ABeeZee', 'Abel', 'Abhaya Libre', 'Abril Fatface', 'Aclonica', 'Acme', 'Actor', 'Adamina', 'Advent Pro', 'Aguafina Script', 'Akaya Kanadaka', 'Akaya Telivigala', 'Akronim', 'Aladin', 'Alata', 'Alatsi', 'Aldrich', 'Alef', 'Alegreya', 'Alegreya Sans', 'Alegreya Sans SC', 'Alegreya SC', 'Aleo', 'Alex Brush', 'Alfa Slab One', 'Alice', 'Alike', 'Alike Angular', 'Allan', 'Allerta', 'Allerta Stencil', 'Allison', 'Allura', 'Almarai', 'Almendra', 'Almendra Display', 'Almendra SC', 'Alumni Sans', 'Amarante', 'Amaranth', 'Amatic SC', 'Amethysta', 'Amiko', 'Amiri', 'Amita', 'Anaheim', 'Andada Pro', 'Andika', 'Andika New Basic', 'Angkor', 'Annie Use Your Telescope', 'Anonymous Pro', 'Antic', 'Antic Didone', 'Antic Slab', 'Anton', 'Antonio', 'Arapey', 'Arbutus', 'Arbutus Slab', 'Architects Daughter', 'Archivo', 'Archivo Black', 'Archivo Narrow', 'Are You Serious', 'Aref Ruqaa', 'Arima Madurai', 'Arimo', 'Arizonia', 'Armata', 'Arsenal', 'Artifika', 'Arvo', 'Arya', 'Asap', 'Asap Condensed', 'Asar', 'Asset', 'Assistant', 'Astloch', 'Asul', 'Athiti', 'Atkinson Hyperlegible', 'Atma', 'Atomic Age', 'Aubrey', 'Audiowide', 'Autour One', 'Average', 'Average Sans', 'Averia Gruesa Libre', 'Averia Libre', 'Averia Sans Libre', 'Averia Serif Libre', 'Azeret Mono', 'B612', 'B612 Mono', 'Bad Script', 'Bahiana', 'Bahianita', 'Bai Jamjuree', 'Ballet', 'Baloo 2', 'Baloo Bhai 2', 'Baloo Bhaina 2', 'Baloo Chettan 2', 'Baloo Da 2', 'Baloo Paaji 2', 'Baloo Tamma 2', 'Baloo Tammudu 2', 'Baloo Thambi 2', 'Balsamiq Sans', 'Balthazar', 'Bangers', 'Barlow', 'Barlow Condensed', 'Barlow Semi Condensed', 'Barriecito', 'Barrio', 'Basic', 'Baskervville', 'Battambang', 'Baumans', 'Bayon', 'Be Vietnam', 'Be Vietnam Pro', 'Bebas Neue', 'Belgrano', 'Bellefair', 'Belleza', 'Bellota', 'Bellota Text', 'BenchNine', 'Benne', 'Bentham', 'Berkshire Swash', 'Besley', 'Beth Ellen', 'Bevan', 'Big Shoulders Display', 'Big Shoulders Inline Display', 'Big Shoulders Inline Text', 'Big Shoulders Stencil Display', 'Big Shoulders Stencil Text', 'Big Shoulders Text', 'Bigelow Rules', 'Bigshot One', 'Bilbo', 'Bilbo Swash Caps', 'BioRhyme', 'BioRhyme Expanded', 'Birthstone', 'Birthstone Bounce', 'Biryani', 'Bitter', 'Black And White Picture', 'Black Han Sans', 'Black Ops One', 'Blinker', 'Bodoni Moda', 'Bokor', 'Bona Nova', 'Bonbon', 'Bonheur Royale', 'Boogaloo', 'Bowlby One', 'Bowlby One SC', 'Brawler', 'Bree Serif', 'Brygada 1918', 'Bubblegum Sans', 'Bubbler One', 'Buda', 'Buenard', 'Bungee', 'Bungee Hairline', 'Bungee Inline', 'Bungee Outline', 'Bungee Shade', 'Butcherman', 'Butterfly Kids', 'Cabin', 'Cabin Condensed', 'Cabin Sketch', 'Caesar Dressing', 'Cagliostro', 'Cairo', 'Caladea', 'Calistoga', 'Calligraffitti', 'Cambay', 'Cambo', 'Candal', 'Cantarell', 'Cantata One', 'Cantora One', 'Capriola', 'Caramel', 'Carattere', 'Cardo', 'Carme', 'Carrois Gothic', 'Carrois Gothic SC', 'Carter One', 'Castoro', 'Catamaran', 'Caudex', 'Caveat', 'Caveat Brush', 'Cedarville Cursive', 'Ceviche One', 'Chakra Petch', 'Changa', 'Changa One', 'Chango', 'Charm', 'Charmonman', 'Chathura', 'Chau Philomene One', 'Chela One', 'Chelsea Market', 'Chenla', 'Cherish', 'Cherry Cream Soda', 'Cherry Swash', 'Chewy', 'Chicle', 'Chilanka', 'Chivo', 'Chonburi', 'Cinzel', 'Cinzel Decorative', 'Clicker Script', 'Coda', 'Coda Caption', 'Codystar', 'Coiny', 'Combo', 'Comfortaa', 'Comic Neue', 'Coming Soon', 'Commissioner', 'Concert One', 'Condiment', 'Content', 'Contrail One', 'Convergence', 'Cookie', 'Copse', 'Corben', 'Cormorant', 'Cormorant Garamond', 'Cormorant Infant', 'Cormorant SC', 'Cormorant Unicase', 'Cormorant Upright', 'Courgette', 'Courier Prime', 'Cousine', 'Coustard', 'Covered By Your Grace', 'Crafty Girls', 'Creepster', 'Crete Round', 'Crimson Pro', 'Crimson Text', 'Croissant One', 'Crushed', 'Cuprum', 'Cute Font', 'Cutive', 'Cutive Mono', 'Damion', 'Dancing Script', 'Dangrek', 'Darker Grotesque', 'David Libre', 'Dawning of a New Day', 'Days One', 'Dekko', 'Dela Gothic One', 'Delius', 'Delius Swash Caps', 'Delius Unicase', 'Della Respira', 'Denk One', 'Devonshire', 'Dhurjati', 'Didact Gothic', 'Diplomata', 'Diplomata SC', 'DM Mono', 'DM Sans', 'DM Serif Display', 'DM Serif Text', 'Do Hyeon', 'Dokdo', 'Domine', 'Donegal One', 'Doppio One', 'Dorsa', 'Dosis', 'DotGothic16', 'Dr Sugiyama', 'Duru Sans', 'Dynalight', 'Eagle Lake', 'East Sea Dokdo', 'Eater', 'EB Garamond', 'Economica', 'Eczar', 'El Messiri', 'Electrolize', 'Elsie', 'Elsie Swash Caps', 'Emblema One', 'Emilys Candy', 'Encode Sans', 'Encode Sans Condensed', 'Encode Sans Expanded', 'Encode Sans SC', 'Encode Sans Semi Condensed', 'Encode Sans Semi Expanded', 'Engagement', 'Englebert', 'Enriqueta', 'Ephesis', 'Epilogue', 'Erica One', 'Esteban', 'Euphoria Script', 'Ewert', 'Exo', 'Exo 2', 'Expletus Sans', 'Explora', 'Fahkwang', 'Fanwood Text', 'Farro', 'Farsan', 'Fascinate', 'Fascinate Inline', 'Faster One', 'Fasthand', 'Fauna One', 'Faustina', 'Federant', 'Federo', 'Felipa', 'Fenix', 'Festive', 'Finger Paint', 'Fira Code', 'Fira Mono', 'Fira Sans', 'Fira Sans Condensed', 'Fira Sans Extra Condensed', 'Fjalla One', 'Fjord One', 'Flamenco', 'Flavors', 'Fleur De Leah', 'Fondamento', 'Fontdiner Swanky', 'Forum', 'Francois One', 'Frank Ruhl Libre', 'Fraunces', 'Freckle Face', 'Fredericka the Great', 'Fredoka One', 'Freehand', 'Fresca', 'Frijole', 'Fruktur', 'Fugaz One', 'Fuggles', 'Gabriela', 'Gaegu', 'Gafata', 'Galada', 'Galdeano', 'Galindo', 'Gamja Flower', 'Gayathri', 'Gelasio', 'Gemunu Libre', 'Gentium Basic', 'Gentium Book Basic', 'Geo', 'Georama', 'Geostar', 'Geostar Fill', 'Germania One', 'GFS Didot', 'GFS Neohellenic', 'Gideon Roman', 'Gidugu', 'Gilda Display', 'Girassol', 'Give You Glory', 'Glass Antiqua', 'Glegoo', 'Gloria Hallelujah', 'Glory', 'Gluten', 'Goblin One', 'Gochi Hand', 'Goldman', 'Gorditas', 'Gothic A1', 'Gotu', 'Goudy Bookletter 1911', 'Gowun Batang', 'Gowun Dodum', 'Graduate', 'Grand Hotel', 'Grandstander', 'Gravitas One', 'Great Vibes', 'Grechen Fuemen', 'Grenze', 'Grenze Gotisch', 'Grey Qo', 'Griffy', 'Gruppo', 'Gudea', 'Gugi', 'Gupter', 'Gurajada', 'Habibi', 'Hachi Maru Pop', 'Hahmlet', 'Halant', 'Hammersmith One', 'Hanalei', 'Hanalei Fill', 'Handlee', 'Hanuman', 'Happy Monkey', 'Harmattan', 'Headland One', 'Heebo', 'Henny Penny', 'Hepta Slab', 'Herr Von Muellerhoff', 'Hi Melody', 'Hina Mincho', 'Hind', 'Hind Guntur', 'Hind Madurai', 'Hind Siliguri', 'Hind Vadodara', 'Holtwood One SC', 'Homemade Apple', 'Homenaje', 'Ibarra Real Nova', 'IBM Plex Mono', 'IBM Plex Sans', 'IBM Plex Sans Arabic', 'IBM Plex Sans Condensed', 'IBM Plex Sans Devanagari', 'IBM Plex Sans Hebrew', 'IBM Plex Sans KR', 'IBM Plex Sans Thai', 'IBM Plex Sans Thai Looped', 'IBM Plex Serif', 'Iceberg', 'Iceland', 'IM Fell Double Pica', 'IM Fell Double Pica SC', 'IM Fell DW Pica', 'IM Fell DW Pica SC', 'IM Fell English', 'IM Fell English SC', 'IM Fell French Canon', 'IM Fell French Canon SC', 'IM Fell Great Primer', 'IM Fell Great Primer SC', 'Imbue', 'Imprima', 'Inconsolata', 'Inder', 'Indie Flower', 'Inika', 'Inknut Antiqua', 'Inria Sans', 'Inria Serif', 'Inter', 'Irish Grover', 'Istok Web', 'Italiana', 'Italianno', 'Itim', 'Jacques Francois', 'Jacques Francois Shadow', 'Jaldi', 'JetBrains Mono', 'Jim Nightshade', 'Jockey One', 'Jolly Lodger', 'Jomhuria', 'Jomolhari', 'Josefin Sans', 'Josefin Slab', 'Jost', 'Joti One', 'Jua', 'Judson', 'Julee', 'Julius Sans One', 'Junge', 'Jura', 'Just Another Hand', 'Just Me Again Down Here', 'K2D', 'Kadwa', 'Kaisei Decol', 'Kaisei HarunoUmi', 'Kaisei Opti', 'Kaisei Tokumin', 'Kalam', 'Kameron', 'Kanit', 'Kantumruy', 'Karantina', 'Karla', 'Karma', 'Katibeh', 'Kaushan Script', 'Kavivanar', 'Kavoon', 'Kdam Thmor', 'Keania One', 'Kelly Slab', 'Kenia', 'Khand', 'Khmer', 'Khula', 'Kirang Haerang', 'Kite One', 'Kiwi Maru', 'Klee One', 'Knewave', 'Kodchasan', 'Koh Santepheap', 'KoHo', 'Kosugi', 'Kosugi Maru', 'Kotta One', 'Koulen', 'Kranky', 'Kreon', 'Kristi', 'Krona One', 'Krub', 'Kufam', 'Kulim Park', 'Kumar One', 'Kumar One Outline', 'Kumbh Sans', 'Kurale', 'La Belle Aurore', 'Lacquer', 'Laila', 'Lakki Reddy', 'Lalezar', 'Lancelot', 'Langar', 'Lateef', 'Lato', 'League Script', 'Leckerli One', 'Ledger', 'Lekton', 'Lemon', 'Lemonada', 'Lexend', 'Lexend Deca', 'Lexend Exa', 'Lexend Giga', 'Lexend Mega', 'Lexend Peta', 'Lexend Tera', 'Lexend Zetta', 'Libre Barcode 128', 'Libre Barcode 128 Text', 'Libre Barcode 39', 'Libre Barcode 39 Extended', 'Libre Barcode 39 Extended Text', 'Libre Barcode 39 Text', 'Libre Barcode EAN13 Text', 'Libre Baskerville', 'Libre Caslon Display', 'Libre Caslon Text', 'Libre Franklin', 'Life Savers', 'Lilita One', 'Lily Script One', 'Limelight', 'Linden Hill', 'Literata', 'Liu Jian Mao Cao', 'Livvic', 'Lobster', 'Lobster Two', 'Londrina Outline', 'Londrina Shadow', 'Londrina Sketch', 'Londrina Solid', 'Long Cang', 'Lora', 'Love Ya Like A Sister', 'Loved by the King', 'Lovers Quarrel', 'Luckiest Guy', 'Lusitana', 'Lustria', 'M PLUS 1p', 'M PLUS Rounded 1c', 'Ma Shan Zheng', 'Macondo', 'Macondo Swash Caps', 'Mada', 'Magra', 'Maiden Orange', 'Maitree', 'Major Mono Display', 'Mako', 'Mali', 'Mallanna', 'Mandali', 'Manjari', 'Manrope', 'Mansalva', 'Manuale', 'Marcellus', 'Marcellus SC', 'Marck Script', 'Margarine', 'Markazi Text', 'Marko One', 'Marmelad', 'Martel', 'Martel Sans', 'Marvel', 'Mate', 'Mate SC', 'Maven Pro', 'McLaren', 'Meddon', 'MedievalSharp', 'Medula One', 'Meera Inimai', 'Megrim', 'Meie Script', 'Merienda', 'Merienda One', 'Merriweather', 'Merriweather Sans', 'Metal', 'Metal Mania', 'Metamorphous', 'Metrophobic', 'Michroma', 'Milonga', 'Miltonian', 'Miltonian Tattoo', 'Mina', 'Miniver', 'Miriam Libre', 'Mirza', 'Miss Fajardose', 'Mitr', 'Modak', 'Modern Antiqua', 'Mogra', 'Molengo', 'Molle', 'Monda', 'Monofett', 'Monoton', 'Monsieur La Doulaise', 'Montaga', 'MonteCarlo', 'Montez', 'Montserrat', 'Montserrat Alternates', 'Montserrat Subrayada', 'Moul', 'Moulpali', 'Mountains of Christmas', 'Mouse Memoirs', 'Mr Bedfort', 'Mr Dafoe', 'Mr De Haviland', 'Mrs Saint Delafield', 'Mrs Sheppards', 'Mukta', 'Mukta Mahee', 'Mukta Malar', 'Mukta Vaani', 'Mulish', 'MuseoModerno', 'Mystery Quest', 'Nanum Brush Script', 'Nanum Gothic', 'Nanum Gothic Coding', 'Nanum Myeongjo', 'Nanum Pen Script', 'Nerko One', 'Neucha', 'Neuton', 'New Rocker', 'New Tegomin', 'News Cycle', 'Newsreader', 'Niconne', 'Niramit', 'Nixie One', 'Nobile', 'Nokora', 'Norican', 'Nosifer', 'Notable', 'Nothing You Could Do', 'Noticia Text', 'Noto Kufi Arabic', 'Noto Music', 'Noto Naskh Arabic', 'Noto Nastaliq Urdu', 'Noto Rashi Hebrew', 'Noto Sans', 'Noto Sans Adlam', 'Noto Sans Adlam Unjoined', 'Noto Sans Anatolian Hieroglyphs', 'Noto Sans Arabic', 'Noto Sans Armenian', 'Noto Sans Avestan', 'Noto Sans Balinese', 'Noto Sans Bamum', 'Noto Sans Bassa Vah', 'Noto Sans Batak', 'Noto Sans Bengali', 'Noto Sans Bhaiksuki', 'Noto Sans Brahmi', 'Noto Sans Buginese', 'Noto Sans Buhid', 'Noto Sans Canadian Aboriginal', 'Noto Sans Carian', 'Noto Sans Caucasian Albanian', 'Noto Sans Chakma', 'Noto Sans Cham', 'Noto Sans Cherokee', 'Noto Sans Coptic', 'Noto Sans Cuneiform', 'Noto Sans Cypriot', 'Noto Sans Deseret', 'Noto Sans Devanagari', 'Noto Sans Display', 'Noto Sans Duployan', 'Noto Sans Egyptian Hieroglyphs', 'Noto Sans Elbasan', 'Noto Sans Elymaic', 'Noto Sans Georgian', 'Noto Sans Glagolitic', 'Noto Sans Gothic', 'Noto Sans Grantha', 'Noto Sans Gujarati', 'Noto Sans Gunjala Gondi', 'Noto Sans Gurmukhi', 'Noto Sans Hanifi Rohingya', 'Noto Sans Hanunoo', 'Noto Sans Hatran', 'Noto Sans Hebrew', 'Noto Sans Hong Kong', 'Noto Sans Imperial Aramaic', 'Noto Sans Indic Siyaq Numbers', 'Noto Sans Inscriptional Pahlavi', 'Noto Sans Inscriptional Parthian', 'Noto Sans Japanese', 'Noto Sans Javanese', 'Noto Sans Kaithi', 'Noto Sans Kannada', 'Noto Sans Kayah Li', 'Noto Sans Kharoshthi', 'Noto Sans Khmer', 'Noto Sans Khojki', 'Noto Sans Khudawadi', 'Noto Sans Korean', 'Noto Sans Lao', 'Noto Sans Lepcha', 'Noto Sans Limbu', 'Noto Sans Linear A', 'Noto Sans Linear B', 'Noto Sans Lisu', 'Noto Sans Lycian', 'Noto Sans Lydian', 'Noto Sans Mahajani', 'Noto Sans Malayalam', 'Noto Sans Mandaic', 'Noto Sans Manichaean', 'Noto Sans Marchen', 'Noto Sans Masaram Gondi', 'Noto Sans Math', 'Noto Sans Mayan Numerals', 'Noto Sans Medefaidrin', 'Noto Sans Meroitic', 'Noto Sans Miao', 'Noto Sans Modi', 'Noto Sans Mongolian', 'Noto Sans Mono', 'Noto Sans Mro', 'Noto Sans Multani', 'Noto Sans Myanmar', 'Noto Sans Nabataean', 'Noto Sans New Tai Lue', 'Noto Sans Newa', 'Noto Sans Nüshu', 'Noto Sans Ogham', 'Noto Sans Ol Chiki', 'Noto Sans Old Hungarian', 'Noto Sans Old Italic', 'Noto Sans Old North Arabian', 'Noto Sans Old Permic', 'Noto Sans Old Persian', 'Noto Sans Old Sogdian', 'Noto Sans Old South Arabian', 'Noto Sans Old Turkic', 'Noto Sans Oriya', 'Noto Sans Osage', 'Noto Sans Osmanya', 'Noto Sans Pahawh Hmong', 'Noto Sans Palmyrene', 'Noto Sans Pau Cin Hau', 'Noto Sans Phags Pa', 'Noto Sans Phoenician', 'Noto Sans Psalter Pahlavi', 'Noto Sans Rejang', 'Noto Sans Runic', 'Noto Sans Samaritan', 'Noto Sans Saurashtra', 'Noto Sans Sharada', 'Noto Sans Shavian', 'Noto Sans Siddham', 'Noto Sans Simplified Chinese', 'Noto Sans Sinhala', 'Noto Sans Sogdian', 'Noto Sans Sora Sompeng', 'Noto Sans Soyombo', 'Noto Sans Sundanese', 'Noto Sans Syloti Nagri', 'Noto Sans Symbols', 'Noto Sans Symbols 2', 'Noto Sans Syriac', 'Noto Sans Tagalog', 'Noto Sans Tagbanwa', 'Noto Sans Tai Le', 'Noto Sans Tai Tham', 'Noto Sans Tai Viet', 'Noto Sans Takri', 'Noto Sans Tamil', 'Noto Sans Tamil Supplement', 'Noto Sans Telugu', 'Noto Sans Thaana', 'Noto Sans Thai', 'Noto Sans Thai Looped', 'Noto Sans Tifinagh', 'Noto Sans Tirhuta', 'Noto Sans Traditional Chinese', 'Noto Sans Ugaritic', 'Noto Sans Vai', 'Noto Sans Wancho', 'Noto Sans Warang Citi', 'Noto Sans Yi', 'Noto Sans Zanabazar Square', 'Noto Serif', 'Noto Serif Ahom', 'Noto Serif Armenian', 'Noto Serif Balinese', 'Noto Serif Bengali', 'Noto Serif Devanagari', 'Noto Serif Display', 'Noto Serif Dogra', 'Noto Serif Ethiopic', 'Noto Serif Georgian', 'Noto Serif Grantha', 'Noto Serif Gujarati', 'Noto Serif Gurmukhi', 'Noto Serif Hebrew', 'Noto Serif Japanese', 'Noto Serif Kannada', 'Noto Serif Khmer', 'Noto Serif KR', 'Noto Serif Lao', 'Noto Serif Malayalam', 'Noto Serif Myanmar', 'Noto Serif Nyiakeng Puachue Hmong', 'Noto Serif Simplified Chinese', 'Noto Serif Sinhala', 'Noto Serif Tamil', 'Noto Serif Tangut', 'Noto Serif Telugu', 'Noto Serif Thai', 'Noto Serif Tibetan', 'Noto Serif Traditional Chinese', 'Noto Serif Yezidi', 'Noto Traditional Nüshu', 'Nova Cut', 'Nova Flat', 'Nova Mono', 'Nova Oval', 'Nova Round', 'Nova Script', 'Nova Slim', 'Nova Square', 'NTR', 'Numans', 'Nunito', 'Nunito Sans', 'Odibee Sans', 'Odor Mean Chey', 'Offside', 'Oi', 'Old Standard TT', 'Oldenburg', 'Oleo Script', 'Oleo Script Swash Caps', 'Open Sans', 'Open Sans Condensed', 'Oranienbaum', 'Orbitron', 'Oregano', 'Orelega One', 'Orienta', 'Original Surfer', 'Oswald', 'Otomanopee One', 'Over the Rainbow', 'Overlock', 'Overlock SC', 'Overpass', 'Overpass Mono', 'Ovo', 'Oxanium', 'Oxygen', 'Oxygen Mono', 'Pacifico', 'Padauk', 'Palanquin', 'Palanquin Dark', 'Palette Mosaic', 'Pangolin', 'Paprika', 'Parisienne', 'Passero One', 'Passion One', 'Pathway Gothic One', 'Patrick Hand', 'Patrick Hand SC', 'Pattaya', 'Patua One', 'Pavanam', 'Paytone One', 'Peddana', 'Peralta', 'Permanent Marker', 'Petit Formal Script', 'Petrona', 'Philosopher', 'Piazzolla', 'Piedra', 'Pinyon Script', 'Pirata One', 'Plaster', 'Play', 'Playball', 'Playfair Display', 'Playfair Display SC', 'Podkova', 'Poiret One', 'Poller One', 'Poly', 'Pompiere', 'Pontano Sans', 'Poor Story', 'Poppins', 'Port Lligat Sans', 'Port Lligat Slab', 'Potta One', 'Pragati Narrow', 'Prata', 'Preahvihear', 'Press Start 2P', 'Pridi', 'Princess Sofia', 'Prociono', 'Prompt', 'Prosto One', 'Proza Libre', 'PT Mono', 'PT Sans', 'PT Sans Caption', 'PT Sans Narrow', 'PT Serif', 'PT Serif Caption', 'Public Sans', 'Puritan', 'Purple Purse', 'Qahiri', 'Quando', 'Quantico', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Quintessential', 'Qwigley', 'Racing Sans One', 'Radley', 'Rajdhani', 'Rakkas', 'Raleway', 'Raleway Dots', 'Ramabhadra', 'Ramaraja', 'Rambla', 'Rammetto One', 'Rampart One', 'Ranchers', 'Rancho', 'Ranga', 'Rasa', 'Rationale', 'Ravi Prakash', 'Recursive', 'Red Hat Display', 'Red Hat Text', 'Red Rose', 'Redressed', 'Reem Kufi', 'Reenie Beanie', 'Reggae One', 'Revalia', 'Rhodium Libre', 'Ribeye', 'Ribeye Marrow', 'Righteous', 'Risque', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rochester', 'Rock Salt', 'RocknRoll One', 'Rokkitt', 'Romanesco', 'Ropa Sans', 'Rosario', 'Rosarivo', 'Rouge Script', 'Rowdies', 'Rozha One', 'Rubik', 'Rubik Beastly', 'Rubik Mono One', 'Ruda', 'Rufina', 'Ruge Boogie', 'Ruluko', 'Rum Raisin', 'Ruslan Display', 'Russo One', 'Ruthie', 'Rye', 'Sacramento', 'Sahitya', 'Sail', 'Saira', 'Saira Condensed', 'Saira Extra Condensed', 'Saira Semi Condensed', 'Saira Stencil One', 'Salsa', 'Sanchez', 'Sancreek', 'Sansita', 'Sansita Swashed', 'Sarabun', 'Sarala', 'Sarina', 'Sarpanch', 'Satisfy', 'Sawarabi Gothic', 'Sawarabi Mincho', 'Scada', 'Scheherazade', 'Scheherazade New', 'Schoolbell', 'Scope One', 'Seaweed Script', 'Secular One', 'Sedgwick Ave', 'Sedgwick Ave Display', 'Sen', 'Sevillana', 'Seymour One', 'Shadows Into Light', 'Shadows Into Light Two', 'Shanti', 'Share', 'Share Tech', 'Share Tech Mono', 'Shippori Mincho', 'Shippori Mincho B1', 'Shojumaru', 'Short Stack', 'Shrikhand', 'Siemreap', 'Sigmar One', 'Signika', 'Signika Negative', 'Simonetta', 'Single Day', 'Sintony', 'Sirin Stencil', 'Six Caps', 'Skranji', 'Slabo 13px', 'Slabo 27px', 'Slackey', 'Smokum', 'Smythe', 'Sniglet', 'Snippet', 'Snowburst One', 'Sofadi One', 'Sofia', 'Solway', 'Song Myung', 'Sonsie One', 'Sora', 'Sorts Mill Goudy', 'Source Code Pro', 'Source Sans Pro', 'Source Serif Pro', 'Space Grotesk', 'Space Mono', 'Spartan', 'Special Elite', 'Spectral', 'Spectral SC', 'Spicy Rice', 'Spinnaker', 'Spirax', 'Squada One', 'Sree Krushnadevaraya', 'Sriracha', 'Srisakdi', 'Staatliches', 'Stalemate', 'Stalinist One', 'Stardos Stencil', 'Stick', 'Stick No Bills', 'Stint Ultra Condensed', 'Stint Ultra Expanded', 'STIX Two Text', 'Stoke', 'Strait', 'Style Script', 'Stylish', 'Sue Ellen Francisco', 'Suez One', 'Sulphur Point', 'Sumana', 'Sunflower', 'Sunshiney', 'Supermercado One', 'Sura', 'Suranna', 'Suravaram', 'Suwannaphum', 'Swanky and Moo Moo', 'Syncopate', 'Syne', 'Syne Mono', 'Syne Tactile', 'Tajawal', 'Tangerine', 'Taprom', 'Tauri', 'Taviraj', 'Teko', 'Telex', 'Tenali Ramakrishna', 'Tenor Sans', 'Text Me One', 'Texturina', 'Thasadith', 'The Girl Next Door', 'Tienne', 'Tillana', 'Timmana', 'Tinos', 'Titan One', 'Titillium Web', 'Tomorrow', 'Tourney', 'Trade Winds', 'Train One', 'Trirong', 'Trispace', 'Trocchi', 'Trochut', 'Truculenta', 'Trykker', 'Tulpen One', 'Turret Road', 'Ubuntu', 'Ubuntu Condensed', 'Ubuntu Mono', 'Uchen', 'Ultra', 'Uncial Antiqua', 'Underdog', 'Unica One', 'UnifrakturCook', 'UnifrakturMaguntia', 'Unkempt', 'Unlock', 'Unna', 'Urbanist', 'Vampiro One', 'Varela', 'Varela Round', 'Varta', 'Vast Shadow', 'Vesper Libre', 'Viaoda Libre', 'Vibes', 'Vibur', 'Vidaloka', 'Viga', 'Voces', 'Volkhov', 'Vollkorn', 'Vollkorn SC', 'Voltaire', 'VT323', 'Waiting for the Sunrise', 'Wallpoet', 'Walter Turncoat', 'Warnes', 'Wellfleet', 'Wendy One', 'WindSong', 'Wire One', 'Work Sans', 'Xanh Mono', 'Yaldevi', 'Yanone Kaffeesatz', 'Yantramanav', 'Yatra One', 'Yellowtail', 'Yeon Sung', 'Yeseva One', 'Yesteryear', 'Yomogi', 'Yrsa', 'Yusei Magic', 'ZCOOL KuaiLe', 'ZCOOL QingKe HuangYou', 'ZCOOL XiaoWei', 'Zen Dots', 'Zen Loop', 'Zen Tokyo Zoo', 'Zeyada', 'Zhi Mang Xing', 'Zilla Slab', 'Zilla Slab Highlight']; $pagelayer->font_style = ['' => 'Default', 'normal' => 'Normal', 'italic' => 'Italic', 'oblique' => 'Oblique']; $pagelayer->text_transform = ['' => 'Default', 'none' => 'None', 'capitalize' => 'Capitalize', 'lowercase' => 'Lowercase', 'uppercase' => 'Uppercase']; $pagelayer->font_weight = ['' => 'Default', '100' => '100 Thin', '200' => '200 Extra Light', '300' => '300 Light', '400' => '400 Normal', '500' => '500 Medium', '600' => '600 Semi Bold', '700' => '700 Bold', '800' => '800 Extra Bold', '900' => '900 Ultra Bold']; $pagelayer->text_decoration_line = ['' => 'Default', 'none' => 'None', 'overline' => 'Overline', 'line-through' => 'Line-through', 'underline' => 'Underline', 'underline overline' => 'Underline and Overline', ]; $pagelayer->text_decoration_style = ['' => 'Default', 'solid' => 'Solid', 'double' => 'Double', 'dotted' => 'Dotted', 'dashed' => 'Dashed', 'wavy' => 'Wavy', ];PKZb=WCC#plugins/pagelayer/main/template.phpnu[builder = array( 'name' => 'pagelayer-template', 'type_slug' => 'pagelayer_template_type', 'type'=> [ '' => __('Select'), 'header' => __('Header'), 'footer' => __('Footer'), 'single' => array( 'label' => __('Single'), 'need_selection' => 'singular', // To select the value in template select and hide it ), 'archive' => array( 'label' => __('Archive'), 'need_selection' => 'archives', // To select the value in template select and hide it ), 'popup' => __('Popup'), 'section' => array( 'label' => __('Section'), 'no_condition' => 1, // To hide the conditions options ), 'global_section' => array( 'label' => __('Global Section'), 'no_condition' => 1, // To hide the conditions options 'hide_drop' => 1, ), 'global_widget' => array( 'label' => __('Global Widget'), 'no_condition' => 1, // To hide the conditions options 'hide_drop' => 1, ), ], 'action' => [ 'include' => __('Include'), 'exclude' => __('Exclude'), ], 'dispay_on' => [ '' => __('Full Site'), 'archives' => array( 'label' => __('Archives'), 'check_conditions' => function ( $args = null ){ return is_archive() || is_home() || is_search(); }, ), 'singular' => array( 'label' => __('Singular'), 'check_conditions' => function ( $args = null ){ return ( is_singular() && ! is_embed() ) || is_404(); }, ), ], // NOTE: Templates list array name should be dispay_on name with suffix _templates 'archives_templates'=> [ '' => __('All Archives / Posts Archive'), 'author' => array( 'label' => __('Author Archives'), 'check_conditions' => function ( $args = null ){ return is_author($args['id']); }, 'filter_type' => 'author', // should be (author, taxonomy and post type) ), 'date' => array( 'label' => __('Date Archives'), 'check_conditions' => function ( $args = null ){ return is_date(); }, 'no_id_section' => 1, // ID select section not required ), 'search' => array( 'label' => __('Search Results'), 'check_conditions' => function ( $args = null ){ return is_search(); }, 'no_id_section' => 1, // Id select section not required ), ], // NOTE: Templates list array name should be dispay_on name with suffix _templates 'singular_templates'=> [ '' => __('All Singular'), // singular.php 'by_author' => array( 'label' => __('By Author'), 'check_conditions' => function ( $args = null ){ return is_singular() && get_post_field( 'post_author' ) === $args['id']; }, 'filter_type' => 'author', ), 'front_page' => array( 'label' => __('Front Page'), 'check_conditions' => function ( $args = null ){ return is_front_page(); }, 'no_id_section' => 1, // Id select section not required ), '404' => array( 'label' => __('404'), 'check_conditions' => function ( $args = null ){ return is_404(); }, 'no_id_section' => 1, // Id select section not required ), //'direct_child_of' => __('Direct Child Of'), //'any_child_of' => __('Any Child Of'), ], // conditions by post type ); add_shortcode($pagelayer->builder['name'], 'pagelayer_builder_posts_shortcode'); add_filter( 'manage_'. $pagelayer->builder['name'] .'_posts_columns', 'pagelayer_builder_add_columns' ); add_action( 'manage_'. $pagelayer->builder['name'] .'_posts_custom_column' , 'pagelayer_builder_columns', 10, 2 ); add_filter( 'views_edit-' . $pagelayer->builder['name'], 'pagelayer_builder_template_tabs' ); } // Create template builder conditions for singular by post type function pagelayer_builder_singular_conditions($post_types = []){ $condition = []; if(empty($post_types)){ $post_types = pagelayer_get_public_post_types(); //unset( $post_types['product'] ); // WooCommerce related $post_types['attachment'] = get_post_type_object( 'attachment' )->label; } foreach ( $post_types as $post_type => $label ) { //$post_type_object = get_post_type_object( $post_type ); if(array_key_exists($label, $condition)){ continue; } $condition[$label] = [ //TC: Need to change the name of variable $post_type => array( 'label' => $label, 'check_conditions' => function ( $args = null ) use ($post_type){ if ( isset($args['id']) && !empty($args['id']) ) { $id = (int) $args['id']; if ( $id ) { return is_singular($post_type) && get_queried_object_id() === $id; } } return is_singular( $post_type ); }, 'filter_type' => 'post', 'object_type' => $post_type, ), ]; $taxonomies = get_object_taxonomies( $post_type, 'objects' ); $post_taxonomies = wp_filter_object_list( $taxonomies, [ 'public' => true, 'show_in_nav_menus' => true, ] ); foreach ( $post_taxonomies as $slug => $object ) { $condition[$label] += [ $object->name => array( 'label' => sprintf( __( 'In %s' ), $object->labels->singular_name ), 'check_conditions' => function ( $args = null ) use ($object){ return is_singular() && has_term( (int) $args['id'], $object->name ); }, 'filter_type' => 'taxonomy', 'object_type' => $object->name, ), ]; if ( $object->hierarchical ) { $condition[$label] += [ 'in_' . $object->name . '_children' => array( 'label' => sprintf( __( 'In Child %s' ), $object->labels->name ), 'check_conditions' => function ( $args = null ) use ($object){ $id = (int) $args['id']; if ( ! is_singular() || ! $id ) { return false; } $child_terms = get_term_children( $id, $object->name ); return ! empty( $child_terms ) && has_term( $child_terms, $object->name ); }, 'filter_type' => 'taxonomy', 'object_type' => $object->name, ), ]; } } $condition[$label] += [ $object->name . '_by_author' => array( 'label' => sprintf( __( '%s By Author' ), $label ), 'check_conditions' => function ( $args = null ) use ($post_type){ return is_singular($post_type) && get_post_field( 'post_author' ) === $args['id']; }, 'filter_type' => 'author', 'object_type' => $post_type . '_by_author', ), ]; } return $condition; } // Create template builder conditions for archives by post type function pagelayer_builder_archives_conditions($post_types = []){ $condition = []; if(empty($post_types)){ $post_types = pagelayer_get_public_post_types(); //unset( $post_types['product'] ); } foreach ( $post_types as $post_type => $label ) { //$post_type_object = get_post_type_object( $post_type ); if ( ! get_post_type_archive_link( $post_type ) ) { continue; } $condition[$label] = [ //TC: Need to change the name of variable $post_type => array( 'label' => $label, 'check_conditions' => function ( $args = null ) use ($post_type){ return is_post_type_archive( $post_type ) || ( 'post' === $post_type && is_home() ); }, 'no_id_section' => 1, // Id select section not required ), ]; $taxonomies = get_object_taxonomies( $post_type, 'objects' ); $post_taxonomies = wp_filter_object_list( $taxonomies, [ 'public' => true, 'show_in_nav_menus' => true, ] ); foreach ( $post_taxonomies as $slug => $object ) { $condition[$label] += [ $object->name => array( 'label' => sprintf( __( '%s' ), $object->label ), 'check_conditions' => function ( $args = null ) use ($object){ $taxonomy = $object->name; $id = (int) $args['id']; if ( 'category' === $taxonomy ) { return is_category( $id ); } if ( 'post_tag' === $taxonomy ) { return is_tag( $id ); } return is_tax( $taxonomy, $id ); }, 'filter_type' => 'taxonomy', 'object_type' => $object->name, ), ]; } $all = 'pagelayer_all_'.$post_type; $condition[$label] += [ $all => array( 'label' => 'All '.$label.' Archive', 'check_conditions' => function ( $args = null ) use ($post_type, $condition, $all, $label){ foreach($condition[$label] as $k => $v){ if($all == $k){ continue; } $ret = $v['check_conditions']($args); if(!empty($ret)){ return $ret; } } }, 'no_id_section' => 1, // Id select section not required ), ]; } return $condition; } // Handle the links for the add URL add_action('admin_head', 'pagelayer_builder_admin_head', 9999); function pagelayer_builder_admin_head(){ global $pagelayer, $post_type; if(!isset($pagelayer->builder) || $post_type != $pagelayer->builder['name']){ return; } echo ''; } // This function will handle the Template Builder pages in Pagelayer add_action('init', 'pagelayer_builder_post_type', 9999); function pagelayer_builder_post_type() { global $pagelayer; if(!isset($pagelayer->builder)){ return; } // Add Template Post Supports $supports = array( 'title', // post title 'editor', // post content 'author', // post author 'custom-fields', // custom fields 'revisions', // post revisions ); // Add Template Post lables $labels = array( 'name' => _x('Pagelayer Templates', 'plural'), 'singular_name' => _x('Pagelayer Template', 'singular'), 'menu_name' => _x('Pagelayer Templates', 'admin menu'), 'name_admin_bar' => _x('Pagelayer Templates', 'admin bar'), 'add_new' => _x('Add New', 'add templates'), 'add_new_item' => __('Add New'), 'new_item' => __('New Template'), 'edit_item' => __('Edit Template'), 'view_item' => __('View Template'), 'all_items' => __('All Templates'), 'search_items' => __('Search Templates'), 'not_found' => __('No Pagelayer templates found'), ); $args = array( 'supports' => $supports, 'labels' => $labels, 'menu_icon' => PAGELAYER_URL.'/images/pagelayer-logo-19.png', 'public' => true, 'show_in_menu' => false, 'publicly_queryable' => true, 'query_var' => true, 'rewrite' => false, 'has_archive' => true, 'hierarchical' => false, 'exclude_from_search' => true, ); // Register custom post type register_post_type($pagelayer->builder['name'] , $args); // Add any other templates as well $pagelayer->builder['archives_templates'] += pagelayer_builder_archives_conditions(); $pagelayer->builder['singular_templates'] += pagelayer_builder_singular_conditions(); } // Register shortcode for custom post type function pagelayer_builder_posts_shortcode($atts){ global $pagelayer; // If id not exist if( !isset($atts['id']) ){return '';} // Get the post data $post = get_post((int) $atts['id']); // If post is not empty if(empty($post)){return '';} $pagelayer->dont_make_editable = true; $content = $post->post_content; $content = apply_filters( 'the_content', $content ); $pagelayer->dont_make_editable = false; return $content; } // Handle edit link of the post type add_filter('get_edit_post_link', 'pagelayer_builder_edit_link', 1000, 3); function pagelayer_builder_edit_link($link, $postID, $context){ global $pagelayer; $post = get_post($postID); if($post->post_type != $pagelayer->builder['name']){ return $link; } return admin_url('admin.php?page=pagelayer_template_wizard&post='.$post->ID); } // Handle row actions for pagelayer-template add_filter('post_row_actions', 'pagelayer_builder_row_actions', 10, 2); function pagelayer_builder_row_actions($actions, $post){ global $pagelayer; if($post->post_type != $pagelayer->builder['name']){ return $actions; } $actions['pagelayer'] = ''.__pl('edit_using').''; return $actions; } // Add the custom columns to the pagelayer-template post type: function pagelayer_builder_add_columns($columns) { // unset for re-setup unset( $columns['taxonomy-pagelayer_template_type'] ); $offset = 2; $type = array( 'pagelayer_template_type' => __( 'Type' ), 'pagelayer_template_conditions' => __( 'Display On' ), 'pagelayer_template_shortcode' => __( 'Shortcode' ) ); // Add the $type array in 2 position of $columns; $columns = array_slice( $columns, 0, $offset, true ) + $type + array_slice( $columns, $offset, null, true ); //print_r($columns);die(); return $columns; } // Add the data to the custom columns for the pagelayer-template post type: function pagelayer_builder_columns( $column, $post_id ) { global $pagelayer; switch ( $column ) { case 'pagelayer_template_type' : $type = get_post_meta( $post_id, 'pagelayer_template_type', true ); if(!empty($type)){ $type = pagelayer_multi_array_search($pagelayer->builder['type'], $type); if(is_array($type) && array_key_exists('label', $type)){ $type = $type['label']; } echo '' . $type . ''; }else{ echo __('None'); } break; case 'pagelayer_template_conditions' : $dis_conditions = get_post_meta( $post_id, 'pagelayer_template_conditions', true ); if( !empty($dis_conditions) && is_array($dis_conditions)){ $dis_html = ''; foreach($dis_conditions as $condi){ $dis_html .= ''; if(isset($condi['template'])){ $template = pagelayer_multi_array_search($pagelayer->builder['dispay_on'], $condi['template']); if(is_array($template) && array_key_exists('label', $template)){ $template = $template['label']; } $dis_html .= $template; } if(isset($condi['sub_template'])){ $sub_template = pagelayer_multi_array_search($pagelayer->builder[$condi['template'].'_templates'], $condi['sub_template']); if(is_array($sub_template) && array_key_exists('label', $sub_template)){ $sub_template = $sub_template['label']; } if(!empty($sub_template)){ $dis_html .= ' > '. $sub_template; } } if(!empty($condi['id'])){ $dis_html .= ' > #'. $condi['id']; } $dis_html .= '
    '; } } if(!empty($dis_html)){ echo $dis_html; }else{ echo __('None'); } break; case 'pagelayer_template_shortcode' : echo '[pagelayer-template id="'.$post_id.'"]'; break; } } // Print template tabs. function pagelayer_builder_template_tabs( $views ) { global $pagelayer; $current_type = ''; $active_class = ' nav-tab-active'; if ( ! empty( $_REQUEST[$pagelayer->builder['type_slug']] ) ) { $current_type = $_REQUEST[$pagelayer->builder['type_slug']]; $active_class = ''; } $url_args = [ 'post_type' => $pagelayer->builder['name'], ]; $baseurl = add_query_arg( $url_args, admin_url( 'edit.php' ) ); $template_types = $pagelayer->builder['type']; if ( 1 >= count( $template_types ) ) { return $views; } // If any pre define title $all_title = ''; if ( ! $all_title ) { $all_title = __( 'All' ); } echo ''; return $views; } // Add filter for pagelayer template add_action( 'parse_query', 'pagelayer_builder_query_filter_types' ); function pagelayer_builder_query_filter_types( \WP_Query $query ) { global $pagenow, $typenow, $pagelayer; if ( ! ('edit.php' === $pagenow && $pagelayer->builder['name'] === $typenow) || ! empty( $query->query_vars['meta_key'] ) ) { return; } if ( empty($_REQUEST[$pagelayer->builder['type_slug']]) ){ return; } $current_tab = $_REQUEST[$pagelayer->builder['type_slug']]; $template_types = $pagelayer->builder['type']; if( !array_key_exists($current_tab , $template_types )){ return; } $query->query_vars['meta_key'] = 'pagelayer_template_type'; $query->query_vars['meta_value'] = $current_tab; } // Add the button for choose template type - Remove add_action('edit_form_after_title', 'pagelayer_builder_editor_button', 11); function pagelayer_builder_editor_button(){ global $pagelayer, $post; if($post->post_type != $pagelayer->builder['name']){ return; } // Get the current screen $current_screen = get_current_screen(); // For gutenberg - Add the code in the footer if(method_exists($current_screen, 'is_block_editor') && $current_screen->is_block_editor()){ add_action('admin_footer', 'pagelayer_builder_gutenberg'); return; } echo ' '; } // For gutenberg editor function pagelayer_builder_gutenberg(){ global $pagelayer, $post; echo ' '; } // Load all templates function pagelayer_builder_load_templates(){ global $pagelayer; // Load all post types that are pagelayer-template $args = [ 'post_type' => $pagelayer->builder['name'], 'status' => 'publish', 'meta_key' => 'pagelayer_template_conditions', 'posts_per_page' => -1 // For get all posts ]; $query = new WP_Query($args); //print_r($query->posts);die(); // Cache the same $pagelayer->templates = $query->posts; } // Load all our templates add_action( 'template_redirect', 'pagelayer_builder_template_redirect'); function pagelayer_builder_template_redirect(){ global $pagelayer, $post; // Load all post types that are pagelayer-template pagelayer_builder_load_templates(); // If there is a match for a header $pagelayer->template_header = pagelayer_builder_try_to_apply('header'); // Singular style posts if ( is_singular() || is_404() ) { $pagelayer->template_post = pagelayer_builder_try_to_apply('single'); // Archive style posts } elseif ( is_archive() || is_home() || is_search() ) { $pagelayer->template_post = pagelayer_builder_try_to_apply('archive'); } // If there is a match for a footer $pagelayer->template_footer = pagelayer_builder_try_to_apply('footer'); // If the post type is pagelayer-template, then we are viewing i.e. EDITING PAGELAYER if(!empty($post) && $post->post_type == $pagelayer->builder['name']){ // Turn on template editor and default it to pagelayer-content $pagelayer->template_editor = 'pagelayer-content'; $pagelayer->template_post = $post->ID; // The type $pagelayer_template_type = get_post_meta($post->ID, 'pagelayer_template_type', true); // If the type is header if( $pagelayer_template_type == 'header' ){ $pagelayer->template_editor = 'pagelayer-header'; $pagelayer->template_header = $post->ID;// Fill in that we are rendering the header we want to edit $pagelayer->template_post = 0; $pagelayer->template_footer = 0; // If the type is footer }elseif( $pagelayer_template_type == 'footer' ){ $pagelayer->template_editor = 'pagelayer-footer'; $pagelayer->template_header = 0; $pagelayer->template_post = 0; $pagelayer->template_footer = $post->ID;// Fill in that we are rendering the footer we want to edit } } // If there is a match for a popup, get all ids with priority $pagelayer->template_popup_ids = pagelayer_builder_try_to_apply('popup', true); // Return all the posts //return $query['posts']; // Remove the filter first because it was added by remove_filter('template_include', 'pagelayer_template_include', 1000); // Add the filter again add_filter('template_include', 'pagelayer_template_include', 1000, 1); do_action('pagelayer_builder_template_redirect'); } // For check which template will be applied function pagelayer_builder_try_to_apply($type , $return_all = false){ global $pagelayer; // Get templates id by type $ids = pagelayer_builder_template_ids($type); $sel_id = pagelayer_template_check_conditons($ids, false, $return_all); if( !empty($ids) && !empty($sel_id) ){ return $sel_id; } return false; } // Get template post ids and conditions by type function pagelayer_builder_template_ids($type){ global $pagelayer; // No templates if(empty($pagelayer->templates)){ return []; } // List of templates to return $id_list = array(); foreach($pagelayer->templates as $template){ // The type $pagelayer_template_type = get_post_meta($template->ID, 'pagelayer_template_type', true); if($type == $pagelayer_template_type){ $id_list[] = $template->ID; } } return $id_list; } add_action('plugins_loaded', 'pagelayer_free_templ_wizards', 1); function pagelayer_free_templ_wizards(){ // Its Free if(!defined('PAGELAYER_PREMIUM')){ // Wizard to create / edit templates function pagelayer_builder_template_wizard(){ pagelayer_show_pro_div('Theme Template Creator', 'With the Pagelayer Theme Templates wizard you can create Headers, Footers, Singular, Archives and WooCommerce Templates. It allows you to control each and every aspect of your theme. You can also set conditions for these templates !'); } // Wizard to export theme function pagelayer_builder_export(){ pagelayer_show_pro_div('Export Templates', 'With the Pagelayer Export wizard you can export your Headers, Footers, Singular, Archives and WooCommerce Templates. These templates can then be imported in any other WordPress site.'); } } } // Fix the default blog template we insert for woocommerce function pagelayer_template_product_fix(){ global $pagelayer; // Have we already fixed $fixed = get_option('pagelayer_template_product_fix'); if(!empty($fixed)){ return; } // Make sure we have templates pagelayer_builder_load_templates(); if(empty($pagelayer->templates)){ return; } foreach($pagelayer->templates as $k => $v){ if($v->post_name == 'blog-template'){ $blog = $v; } } if(empty($blog)){ return; } // Get meta $dis_conditions = get_post_meta( $blog->ID, 'pagelayer_template_conditions', true ); //print_r($dis_conditions); foreach($dis_conditions as $k => $v){ if(!empty($v['sub_template']) && $v['sub_template'] == 'pagelayer_all_product'){ $found = 1; } } //echo $found;return; // We need to add conditions if(empty($found)){ $dis_conditions[] = ['type' => 'exclude', 'template' => 'archives', 'sub_template' => 'pagelayer_all_product', 'id' => '']; update_post_meta( $blog->ID, 'pagelayer_template_conditions', $dis_conditions ); } update_option('pagelayer_template_product_fix', time()); } // Pagelayer Template Loading Mechanism add_action('setup_theme', 'pagelayer_template_setup_theme', 5); function pagelayer_template_setup_theme(){ global $pagelayer; //$theme = wp_get_theme(); //$theme_tags = $theme->get('Tags'); //print_r($theme); //echo $theme->get('Tags').' Get option'; $theme_dir = get_stylesheet_directory(); $conf = $theme_dir.'/pagelayer.conf'; //echo get_template_directory(); // Pagelayer based template ? if(file_exists($conf)){ $pagelayer->cache['template'] = 1; $pagelayer->template_conf = @json_decode(file_get_contents($conf), true); // Not a pagelayer theme }else{ return; } // ORDER of preference of every template // 1) POST ID as per conditions - Only Premium // 2) TPL file if there - Free and Premium when pagelayer.conf // 3) PHP file if no Posts - Free and Premium // Filter to finally INCLUDE and render our template add_filter('template_include', 'pagelayer_template_include', 1000, 1); } // Handle the template files if any // NOTE : This has a priority of 100 while the posts based pagelayer_builder_template_redirect has a priority of 10 // If there are any post based templates, then that is given priority add_action( 'template_redirect', 'pagelayer_template_redirect', 100); function pagelayer_template_redirect(){ global $pagelayer, $post; // If no conf, then we dont have to do anything if(empty($pagelayer->template_conf)){ return; } // If post template was not there, search for a header PGL file // Also when we are editing, we can render header only when its a pagelayer-content edit if( (empty($pagelayer->template_editor) || @$pagelayer->template_editor == 'pagelayer-content') && empty($pagelayer->template_header) ){ $pagelayer->template_header = pagelayer_template_try_to_apply('header'); } // If post template was not there, search for a header PGL file // Also when we are editing, we cannot render the template file as post is being rendered if(empty($pagelayer->template_editor) && empty($pagelayer->template_post)){ // Singular style posts if ( is_singular() || is_404() ) { $pagelayer->template_post = pagelayer_template_try_to_apply('single'); // Archive style posts } elseif ( is_archive() || is_home() || is_search() ) { $pagelayer->template_post = pagelayer_template_try_to_apply('archive'); } } // If post template was not there, search for a footer PGL file // Also when we are editing, we can render footer only when its a pagelayer-content edit if( (empty($pagelayer->template_editor) || @$pagelayer->template_editor == 'pagelayer-content') && empty($pagelayer->template_footer) ){ $pagelayer->template_footer = pagelayer_template_try_to_apply('footer'); } } // Is our template being rendered function pagelayer_template_include($template){ global $pagelayer; $pagelayer_enqueue_frontend = false; // If we do have a header but not the footer or we have the footer and no header, // then we need to make sure to blank the other if(!empty($pagelayer->template_header) || !empty($pagelayer->template_footer)){ $pagelayer_enqueue_frontend = true; // Disable AIOSEO for pagelayer post types if(!empty($GLOBALS['post']) && $GLOBALS['post']->post_type == $pagelayer->builder['name']){ add_filter( 'aioseo_disable', '__return_true' ); } add_action('get_header', 'pagelayer_get_header'); add_action('get_footer', 'pagelayer_get_footer'); } // Handle the sidebar settings ! //add_action('get_sidebar', 'pagelayer_get_sidebar'); // If we do have Popup templates, then append it in body if(!empty($pagelayer->template_popup_ids) && empty($pagelayer->template_editor)){ $pagelayer_enqueue_frontend = true; add_action('wp_body_open', 'pagelayer_builder_popup_append'); add_action('wp_footer', 'pagelayer_builder_popup_append'); } // If the post being shown to the user is not a Pagelayer post, then we need to enqueue forcefully if(empty($pagelayer->cache['enqueue_frontend']) && $pagelayer_enqueue_frontend){ pagelayer_enqueue_frontend(true); } // Is there any post templates OR are we editing a pagelayer-template ? if(!empty($pagelayer->template_post) || !empty($pagelayer->template_editor)){ $template = $pagelayer->template_post; } // Its our template OR are we editing a pagelayer-template, then render it if(pathinfo($template, PATHINFO_EXTENSION) == 'pgl' || !empty($pagelayer->template_post) || !empty($pagelayer->template_editor)){ // We rendered from header to footer $pagelayer->from_header_to_footer = true; get_header(); echo '
    '; pagelayer_template_render($template); echo '
    '; // If a template needs to call the sidebar ! if(!empty($pagelayer->template_call_sidebar)){ get_sidebar(); } get_footer(); return false; } // Just return the original template if its not our file return $template; } // Expects the file to include or the POST ID function pagelayer_template_render($template){ global $pagelayer; // $template can be blank, e.g. blank header / footer if(empty($template)){ return; } if(is_numeric($template)){ echo pagelayer_get_post_content($template); }else{ echo pagelayer_the_content(file_get_contents(get_stylesheet_directory().'/'.$template.'.pgl')); } } // For check which template will be applied function pagelayer_template_try_to_apply($type){ global $pagelayer; // Get templates id by type $ids = []; // Find the templates by type foreach($pagelayer->template_conf as $k => $v){ if($v['type'] == $type){ $ids[] = $k; } } $file = pagelayer_template_check_conditons($ids, true); if( !empty($ids) && !empty($file) ){ return $file; } return false; } // Check conditions of template post ids / template files function pagelayer_template_check_conditons($ids = [], $file = false, $return_all = false){ global $pagelayer; $selected_templs = []; foreach( $ids as $id ){ $priority = 0; $selected_template = 0; $exclude_check = 1; // File based if($file){ $pagelayer_template_conditions = $pagelayer->template_conf[$id]['conditions']; // Post Template based }else{ $pagelayer_template_conditions = get_post_meta( $id, 'pagelayer_template_conditions', true ); } if( !empty($pagelayer_template_conditions) ){ foreach( $pagelayer_template_conditions as $condi ){ $check = 0; // Get template array $tmpl_array = (array) pagelayer_multi_array_search( $pagelayer->builder['dispay_on'], $condi['template'] ); // Get sub_template array $sub_tmpl_array = (array) pagelayer_multi_array_search( $pagelayer->builder[$condi['template'].'_templates'], $condi['sub_template']); // If the condition name is general priority if(empty($condi['template'])){ $check = 1; $set_prio = 1; // Set General Property 1 // If the condition name is singular }elseif( array_key_exists('check_conditions', $tmpl_array) ){ // If the condition callback is false, continue the loop if( is_callable($tmpl_array['check_conditions']) ){ if( empty($tmpl_array['check_conditions']($condi)) ){ continue; } }elseif( empty($tmpl_array['check_conditions']) ){ continue; } // Check sub_template conditions if( empty($condi['sub_template']) ){ $check = 1; $set_prio = 2; // Set all sub_template Property 2 }elseif( array_key_exists('check_conditions', $sub_tmpl_array ) ){ // If the condition callback is false, continue the loop if( is_callable($sub_tmpl_array['check_conditions']) ){ if( empty($sub_tmpl_array['check_conditions']($condi)) ){ continue; } }elseif( empty($sub_tmpl_array['check_conditions']) ){ continue; } $check = 1; if( !empty($condi['id']) ){ $set_prio = 4; // Set id Property 4 }else{ $set_prio = 3;// Set sub_template Property 3 // If no id section then Property if(!empty($sub_tmpl_array['no_id_section'])){ $set_prio = 4; } } } } // IF is set to the exclude then if($condi['type'] == 'exclude' && $check){ $exclude_check = 0; } if($check){ // If the template is valid for apply $selected_template = $check; // Set priority if($priority < $set_prio){ $priority = $set_prio; } } } } // Set priority to template id if( $selected_template && $exclude_check ){ $selected_templs[$id] = $priority; } } // Return all ids with priority if($return_all){ return $selected_templs; } $gprior = 0; $sel_id = ''; foreach( $selected_templs as $id => $prior ){ if($gprior <= $prior){ $gprior = $prior; $sel_id = $id; } } return $sel_id; } // The header to substitute function pagelayer_get_header($name) { global $pagelayer; // Output default header always if we have a header or footer ?> > > template_header)){ echo '
    '; // Render the content pagelayer_template_render($pagelayer->template_header); echo '
    '; } // Avoid running wp_head hooks again remove_all_actions('wp_head'); $templates = []; $name = (string) $name; if ($name !== '') { $templates[] = 'header-'.$name.'.php'; } $templates[] = 'header.php'; // Since, we already outputted our header, we need to do a locate_template for the existing theme // This is because, locate_template has the 3rd param as require once, so in the get_header // the header.php will not load again ob_start(); locate_template( $templates, true ); ob_get_clean(); } // The footer to load function pagelayer_get_footer($name) { global $pagelayer; // Output our content if(!empty($pagelayer->template_footer)){ echo '
    '; pagelayer_template_render($pagelayer->template_footer); echo '
    '; } // Output default footer always if we have a header or footer wp_footer(); echo ' '; // Avoid running wp_footer hooks again remove_all_actions( 'wp_footer' ); $templates = []; $name = (string) $name; if ($name !== '') { $templates[] = 'footer-'.$name.'.php'; } $templates[] = 'footer.php'; // Since, we already outputted our footer, we need to do a locate_template for the existing theme // This is because, locate_template has the 3rd param as require once, so in the get_footer // the footer.php will not load again ob_start(); locate_template( $templates, true ); ob_get_clean(); } // Any sidebar to load ? function pagelayer_get_sidebar($name = '') { global $pagelayer; // If any of our setting has been set, then only we apply. Otherwise we return ! if(is_customize_preview()){ $pagelayer->settings['sidebar'] = get_option('pagelayer_sidebar'); } if(is_array($pagelayer->settings['sidebar'])){ foreach($pagelayer->settings['sidebar'] as $k => $v){ $set = 1; break; } } // If no settings were saved for pagelayer, let the default persist // BUT if we are from_header_to_footer then we want default as no header and hence, we will render ours ! if(empty($set) && empty($pagelayer->from_header_to_footer)){ return; } // Output our content if(!empty($pagelayer->template_sidebar)){ pagelayer_template_render($pagelayer->template_sidebar); } $templates = []; $name = (string) $name; if ($name !== '') { $templates[] = 'sidebar-'.$name.'.php'; } $templates[] = 'sidebar.php'; // Since, we already outputted our sidebar, we need to do a locate_template for the existing theme // This is because, locate_template has the 3rd param as require once, so in the get_sidebar // the sidebar.php will not load again ob_start(); locate_template( $templates, true ); $sidebar = ob_get_clean(); // Lets see what are settings are ? $set = !empty($pagelayer->settings['sidebar']) ? $pagelayer->settings['sidebar'] : []; // For page if(is_page()){ $enabled = isset($set['page']) ? $set['page'] : 'default'; // For post }elseif(is_single()){ $enabled = isset($set['post']) ? $set['post'] : 'default'; // For Archives }elseif(is_archive() || is_home()){ $enabled = isset($set['archives']) ? $set['archives'] : 'default'; } // Load the default if(@$enabled == 'default' || is_front_page()){ $enabled = @$set['default']; } // If its not right or left, then its disabled. Disabled values can be stored as "no" or "0" if(!in_array($enabled, ['left', 'right'])){ return; } $width = (int) (empty($set['width']) ? 20 : $set['width']); if(empty($sidebar)){ return; } echo $sidebar; ?> rendering_template_id = $id; // Get the content $post = get_post($id); if(is_attachment()){ remove_filter( 'the_content', 'prepend_attachment' ); } $content = $post->post_content; pagelayer_load_shortcodes(); $pagelayer->dont_make_editable = true; $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); $pagelayer->dont_make_editable = false; // Reset the id $pagelayer->rendering_template_id = 0; return $content; } // Vars that can be used in template files function pagelayer_template_vars(){ $replacers['{{theme_url}}'] = get_stylesheet_directory_uri(); $replacers['{{theme_images}}'] = get_stylesheet_directory_uri().'/images/'; $replacers['{{themes_dir}}'] = dirname(get_stylesheet_directory_uri()); $replacers['{{content_url}}'] = dirname(dirname(dirname(get_stylesheet_directory_uri()))); $replacers['{{pl_site_url}}'] = home_url(); $replacers['{{pl_plugin_url}}'] = PAGELAYER_URL; return $replacers; }PKZPۗuu$plugins/pagelayer/main/functions.phpnu[ip_method; $pagelayer->ip_method = (int) $method; if(isset($_SERVER["REMOTE_ADDR"])){ $ip = $_SERVER["REMOTE_ADDR"]; } if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && $method == 1){ $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } if(isset($_SERVER["HTTP_CLIENT_IP"]) && $method == 2){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } // Hacking fix for X-Forwarded-For if(!pagelayer_valid_ip($ip)){ return ''; } return $ip; } // Execute a select query and return an array function pagelayer_selectquery($query, $array = 0){ global $wpdb; $result = $wpdb->get_results($query, 'ARRAY_A'); if(empty($array)){ return current($result); }else{ return $result; } } // Check if an IP is valid function pagelayer_valid_ip($ip){ // IPv6 if(pagelayer_valid_ipv6($ip)){ return true; } // IPv4 if(!ip2long($ip)){ return false; } return true; } function pagelayer_valid_ipv6($ip){ $pattern = '/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/'; if(!preg_match($pattern, $ip)){ return false; } return true; } // Check if a field is posted via POST else return default value function pagelayer_optpost($name, $default = ''){ if(!empty($_POST[$name])){ return pagelayer_inputsec(pagelayer_htmlizer(trim($_POST[$name]))); } return $default; } // Check if a field is posted via GET else return default value function pagelayer_optget($name, $default = ''){ if(!empty($_GET[$name])){ return pagelayer_inputsec(pagelayer_htmlizer(trim($_GET[$name]))); } return $default; } // Check if a field is posted via GET or POST else return default value function pagelayer_optreq($name, $default = ''){ if(!empty($_REQUEST[$name])){ return pagelayer_inputsec(pagelayer_htmlizer(trim($_REQUEST[$name]))); } return $default; } // For filling in posted values function pagelayer_POSTval($name, $default = ''){ return (!empty($_POST) ? (!isset($_POST[$name]) ? '' : esc_html($_POST[$name])) : $default); } function pagelayer_POSTchecked($name, $default = false){ return (!empty($_POST) ? (isset($_POST[$name]) ? 'checked="checked"' : '') : (!empty($default) ? 'checked="checked"' : '')); } // For check isset value function pagelayer_isset($var, $name, $default = ''){ return isset($var[$name]) ? $var[$name] : $default; } function pagelayer_POSTselect($name, $value, $default = false){ if(empty($_POST)){ if(!empty($default)){ return 'selected="selected"'; } }else{ if(isset($_POST[$name])){ if(trim($_POST[$name]) == $value){ return 'selected="selected"'; } } } } function pagelayer_inputsec($string){ $string = addslashes($string); // This is to replace ` which can cause the command to be executed in exec() $string = str_replace('`', '\`', $string); return $string; } function pagelayer_htmlizer($string){ $string = htmlentities($string, ENT_QUOTES, 'UTF-8'); preg_match_all('/(&#(\d{1,7}|x[0-9a-fA-F]{1,6});)/', $string, $matches);//r_print($matches); foreach($matches[1] as $mk => $mv){ $tmp_m = pagelayer_entity_check($matches[2][$mk]); $string = str_replace($matches[1][$mk], $tmp_m, $string); } return $string; } function pagelayer_entity_check($string){ //Convert Hexadecimal to Decimal $num = ((substr($string, 0, 1) === 'x') ? hexdec(substr($string, 1)) : (int) $string); //Squares and Spaces - return nothing $string = (($num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num < 0x20) ? '' : '&#'.$num.';'); return $string; } // Check if a checkbox is selected function pagelayer_is_checked($post){ if(!empty($_POST[$post])){ return true; } return false; } // Report an error function pagelayer_report_error($error = array()){ if(empty($error)){ return true; } $error_string = 'Please fix the below error(s) :
    '; foreach($error as $ek => $ev){ $error_string .= '* '.$ev.'
    '; } echo '

    ' . __pl($error_string) . '

    '; } // Report a notice function pagelayer_report_notice($notice = array()){ global $wp_version; if(empty($notice)){ return true; } // Which class do we have to use ? if(version_compare($wp_version, '3.8', '<')){ $notice_class = 'updated'; }else{ $notice_class = 'updated'; } $notice_string = 'Please check the below notice(s) :
    '; foreach($notice as $ek => $ev){ $notice_string .= '* '.$ev.'
    '; } echo '

    ' . __pl($notice_string) . '

    '; } // Convert an objext to array function pagelayer_objectToArray($d){ if(is_object($d)){ $d = get_object_vars($d); } if(is_array($d)){ return array_map(__FUNCTION__, $d); // recursive }elseif(is_object($d)){ return pagelayer_objectToArray($d); }else{ return $d; } } // Sanitize variables function pagelayer_sanitize_variables($variables = array()){ if(is_array($variables)){ foreach($variables as $k => $v){ $variables[$k] = trim($v); $variables[$k] = escapeshellcmd($v); } }else{ $variables = escapeshellcmd(trim($variables)); } return $variables; } // Is multisite ? function pagelayer_is_multisite() { if(function_exists('get_site_option') && function_exists('is_multisite') && is_multisite()){ return true; } return false; } // Generate a random string function pagelayer_RandomString($length = 10){ $characters = '0123456789abcdefghijklmnopqrstuvwxyz'; $charactersLength = strlen($characters); $randomString = ''; for($i = 0; $i < $length; $i++){ $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } function pagelayer_print($array){ echo '
    ';
    	print_r($array);
    	echo '
    '; } function pagelayer_cleanpath($path){ $path = str_replace('\\\\', '/', $path); $path = str_replace('\\', '/', $path); $path = str_replace('//', '/', $path); return rtrim($path, '/'); } // Returns the Numeric Value of results Per Page function pagelayer_get_page($get = 'page', $resperpage = 50){ $resperpage = (!empty($_REQUEST['reslen']) && is_numeric($_REQUEST['reslen']) ? (int) pagelayer_optreq('reslen') : $resperpage); if(pagelayer_optget($get)){ $pg = (int) pagelayer_optget($get); $pg = $pg - 1; $page = ($pg * $resperpage); $page = ($page <= 0 ? 0 : $page); }else{ $page = 0; } return $page; } // Are we editing from the Admin panel ? function pagelayer_is_editing($force = false){ global $post, $pagelayer; if(!empty($force)){ return true; } if(!is_admin()){ return false; } $current_file = basename($_SERVER['PHP_SELF']); $type = get_post_type(); //echo $type;return false; //$page = pagelayer_optreq('page'); // Are we in the live editor mode OR is this a post which is supported if((pagelayer_supported_type($type) && in_array($current_file, array('post.php', 'post-new.php'))) || pagelayer_is_live()){ return true; }else{ return false; } } // Is the given post type editable by us ? function pagelayer_supported_type($type){ global $pagelayer; $type = trim($type); if(in_array($type, $pagelayer->settings['post_types'])){ return true; } if($type == $pagelayer->builder['name']){ return true; } return false; } function pagelayer_shortlink($id){ $post = get_post( $id ); if ( ! empty( $post->ID ) ) { $post_id = $post->ID; } $post_type = get_post_type_object( $post->post_type ); if ( 'page' === $post->post_type && get_option( 'page_on_front' ) == $post->ID && 'page' === get_option( 'show_on_front' ) ) { $link = home_url( '/' ); } elseif ( $post_type->public ) { $link = home_url( '?p=' . $post_id ); } if(function_exists('is_post_status_viewable') && !is_post_status_viewable($post_id)){ $link = get_permalink( $post->ID ); } $link .= substr_count($link, '?') > 0 ? '' : '?'; return $link; } // Pagelayer live link function pagelayer_livelink($id){ return pagelayer_shortlink($id).'&pagelayer-live=1'; } // Are we in live mode ? function pagelayer_is_live(&$error = array()){ global $post; // Are we seeing the post ? if(!isset($post) || !isset($post->ID) || empty($post->ID)){ $error[] = 'Post ID is missing or blank - '.@$post->ID; return false; } $parID = $post->ID; // Is revision? if(wp_is_post_revision($post->ID) ){ $parID = wp_get_post_parent_id($post->ID); } // Are you allowed to edit ? if(!pagelayer_user_can_edit($parID)){ $error[] = 'You dont have editing rights for this page - '.$parID; return false; } // Is it the live mode ? if(pagelayer_optreq('pagelayer-live')){ $error[] = 'pagelayer-live is missing'; return true; } return false; } // Are we in live IFRAME mode ? function pagelayer_is_live_iframe(&$error = array()){ // Are we seeing the post ? if(!pagelayer_is_live($error)){ return false; } // Is it the live mode ? if(pagelayer_optreq('pagelayer-iframe')){ return true; } $error[] = 'pagelayer-iframe missing in GET'; return false; } // Are we editing a live template function pagelayer_is_live_template($post = []){ // Are we seeing the post ? if(!pagelayer_is_live()){ return false; } if(!$post){ $post = $GLOBALS['post']; } if($post->post_type == 'pagelayer-template'){ return true; } return false; } function pagelayer_has_blocks($post = null) { if ( ! has_blocks( $post ) ) { return false; } if ( ! is_string( $post ) ) { $wp_post = get_post( $post ); if ( $wp_post instanceof WP_Post ) { $post = $wp_post->post_content; } } return false !== strpos( $post, ''; $content = str_replace($div, $div.$data_attr, $content); } } return $content; } function pagelayer_create_id(){ return pagelayer_RandomString(3).rand(1000, 9999); } // Loads the shortcodes function pagelayer_load_shortcodes(){ global $pagelayer, $post; if(!empty($pagelayer->shortcode_loaded)){ return; } pagelayer_memory_limit(128); // We have loaded $pagelayer->shortcode_loaded = 1; do_action('pagelayer_before_load_shortcodes'); // pQuery include_once(PAGELAYER_DIR.'/lib/pquery/IQuery.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_formatter.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_node_html.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_tokenizer.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_parser_html.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_selector_html.php'); include_once(PAGELAYER_DIR.'/lib/pquery/gan_xml2array.php'); include_once(PAGELAYER_DIR.'/lib/pquery/pQuery.php'); include_once(PAGELAYER_DIR.'/main/shortcode_functions.php'); // Apply filter to load custom widgets functions do_action('pagelayer_load_shortcode_functions'); include_once(PAGELAYER_DIR.'/main/shortcodes.php'); // Apply filter to load custom widgets do_action('pagelayer_load_custom_widgets'); // Render Pagelayer element by blocks add_action('pre_render_block', 'pagelayer_render_blocks', 10, 2); // Add global widget data if(defined('PAGELAYER_PREMIUM') && !pagelayer_is_gutenberg_editor()){ // Get global widget templates id by type $args = [ 'post_type' => $pagelayer->builder['name'], 'status' => 'publish', 'meta_key' => 'pagelayer_template_type', 'meta_value' => array('global_widget', 'section', 'global_section'), 'posts_per_page' => -1 ]; $query = new WP_Query($args); $tmp_list = []; $global_widgets = array(); $global_widgets['global_widget'] = array(); $global_widgets['section'] = array(); $global_widgets['global_section'] = array(); foreach($query->posts as $template){ // The type $pagelayer_template_type = get_post_meta($template->ID, 'pagelayer_template_type', true); $global_data = []; $global_data['post_id'] = $template->ID; $global_data['title'] = $template->post_title; $global_data['$'] = pagelayer_the_content($template->post_content, true); $global_widgets[$pagelayer_template_type][$template->ID] = $global_data; } $pagelayer->global_widgets = $global_widgets['global_widget']; $pagelayer->saved_sections = $global_widgets['section']; $pagelayer->global_sections = $global_widgets['global_section']; } do_action('pagelayer_after_load_shortcodes'); } // Add the shortcodes to the pagelayer list function pagelayer_add_shortcode($tag, $params = array()){ global $pagelayer, $post; if($tag == 'pl_row'){ $inner_tag = 'pl_inner_row'; add_shortcode($inner_tag, 'pagelayer_render_shortcode'); } if($tag == 'pl_col'){ $inner_tag = 'pl_inner_col'; add_shortcode($inner_tag, 'pagelayer_render_shortcode'); } add_shortcode($tag, 'pagelayer_render_shortcode');//$params['func']); //unset($params['func']); // Is there a group ? if(empty($params['group'])){ $params['group'] = 'misc'; } // Add the advanced styling group $params['options'] = [ 'ele_bg_styles' => __pl('ele_bg_styles'), 'ele_styles' => __pl('ele_styles'), 'border_styles' => __pl('border_styles'), 'font_style' => __pl('font_style'), 'position_styles' => __pl('position_styles'), 'animation_styles' => __pl('animation_styles'), 'motion_effects' => __pl('Motion Effects'), 'responsive_styles' => __pl('responsive_styles'), 'attributes' => __pl('attributes'), 'custom_styles' => __pl('custom_styles'), ]; if(!empty($params['skip_props_cat'])){ foreach($params['skip_props_cat'] as $k => $v){ unset($params['options'][$v]); } } // Are the settings there which hold the params ? if(empty($params['settings'])){ $params['settings'] = [ 'params' => $params['name'], ]; } // Disable the style options if(!empty($params['styles'])){ $params['settings'] = array_merge($params['settings'], $params['styles']); unset($params['styles']); } /*// The following is for testing only $r = []; foreach($pagelayer->styles as $k => $v){ foreach($v as $kk => $vv){ $r[$kk] = $kk; } } //print_r($r);die(); foreach($params['settings'] as $k => $v){ if(empty($params[$k])) continue; foreach($params[$k] as $kk => $vv){ if(!empty($r[$kk])){ echo 'Duplicate KEY '.$kk.' in Shortcode '.$tag."
    "; } } } //die();*/ $params = apply_filters( 'pagelayer_shortcode_params', $params, $tag ); // Insert the shortcode $pagelayer->shortcodes[$tag] = $params; $pagelayer->groups[$params['group']][] = $tag; // Export the default values foreach($pagelayer->tabs as $tab){ if(empty($pagelayer->shortcodes[$tag][$tab])){ continue; } foreach($pagelayer->shortcodes[$tag][$tab] as $section => $Lsection){ $props = empty($pagelayer->shortcodes[$tag][$section]) ? @$pagelayer->styles[$section] : @$pagelayer->shortcodes[$tag][$section]; //echo $tab.' - '.$section.' -
    '; if(empty($props)){ continue; } // Save customizer params if( $tag == 'pl_customizer' ){ $pagelayer->customizer_params = array_merge($pagelayer->customizer_params, $props); } foreach($props as $prop => $param){ // Set default values to export for JS if(isset($param['export-def']) && isset($param['default']) && $param['export-def'] == 1){ $pagelayer->default_params[$tag][$prop] = $param['default']; } } } } } // Add a freemium shortcode i.e. available for render, but not to drag or edit function pagelayer_freemium_shortcode($tag, $params = array()){ // If we are the free version, we just allow render and some edits if(!defined('PAGELAYER_PREMIUM')){ $params['not_visible'] = 1; $params['freemium'] = 1; $cats = empty($params['styles']) ? array() : $params['styles']; if(!empty($params['settings'])){ $cats = array_merge($cats, $params['settings']); } $cats['params'] = $params['name']; //pagelayer_print($cats); foreach($cats as $k => $v){ if(empty($params[$k])) continue; foreach($params[$k] as $kk => $vv){ if(empty($params[$k][$kk]['np'])){ $params[$k][$kk]['pro'] = 1; } } } } return pagelayer_add_shortcode($tag, $params); } // Returns the permalink values function pagelayer_permalink($id){ if(is_numeric($id)){ $id = (int) @$id; $perma = get_permalink($id); if(!empty($perma)){ $id = $perma; } } $id = apply_filters('pagelayer_permalink', $id); return $id; } // Returns the Image values function pagelayer_image($id = 0){ global $pagelayer; $ret = []; if(!empty($id) && is_array($id)){ foreach($id as $key => $image){ $attachment = pagelayer_image(@$image); if(!empty($attachment)){ foreach($attachment as $k => $v){ if($key == 'retina'){ $ret['retina-'.$k] = $v; }else if($key == 'retina_mobile'){ $ret['retina-mobile-'.$k] = $v; }else{ $ret[$k] = $v; } } } } return $ret; } // External image ? if(pagelayer_is_external_img($id)){ $ret['url'] = $id; // Attachment }elseif(!empty($id)){ $id = (int) @$id; $image = get_post($id); // Is there an attachment which is an image ? if(!empty($image) && $image->post_type == 'attachment' && wp_attachment_is_image($id)){ // Need to export necessary media if(!empty($pagelayer->export_mode)){ $pagelayer->media_to_export[] = $id; } $sizes = get_intermediate_image_sizes(); array_unshift($sizes, 'full'); foreach($sizes as $size){ $src = wp_get_attachment_image_src($id, $size); $ret[$size.'-url'] = $src[0]; } // Title and Alt $title = esc_attr($image->post_title); $alt = get_post_meta($id, '_wp_attachment_image_alt', true); $alt = empty($alt) ? $image->post_excerpt : $alt; $alt = empty($alt) ? $image->post_title : $alt; $alt = empty($alt) ? '' : esc_attr(trim(strip_tags($alt))); $link = get_attachment_link($id); $caption = wp_get_attachment_caption($id); $caption = !empty($caption) ? esc_attr($caption) : ''; } } // First preference to full url if(!empty($ret['full-url'])){ $ret['url'] = $ret['full-url']; } // No image if(empty($ret['url'])){ $ret['url'] = PAGELAYER_URL.'/images/default-image.png'; } $ret['alt'] = @$alt; $ret['title'] = @$title; $ret['link'] = @$link; $ret['caption'] = @$caption; $ret = apply_filters('pagelayer_image', $ret); if(pagelayer_is_default_img($ret['url'])){ $ret['no-image-set'] = 1; } return $ret; } // Checks if the given parameter is an external link or a wp attachment id function pagelayer_is_external_img($img = ''){ if(empty($img)){ return false; } if(preg_match('#http://#is', $img) || preg_match('#https://#is', $img) || preg_match('#^{{#is', $img)){ return true; } return false; } // Checks if the given parameter is the default image function pagelayer_is_default_img($img){ if($img == PAGELAYER_URL.'/images/default-image.png'){ return true; } return false; } // Returns the attachment url function pagelayer_attachment($id){ $ret = []; // External url ? if(pagelayer_is_external_img($id)){ $ret['url'] = $id; // Attachment }elseif(!empty($id)){ // Need to export necessary media if(!empty($pagelayer->export_mode)){ $pagelayer->media_to_export[] = $id; } $ret['url'] = wp_get_attachment_url($id); } $ret = apply_filters('pagelayer_attachment', $ret); return $ret; } // Convert the regular URL of a Video to a Embed URL // Todo : Check function pagelayer_video_url($source, $no_url = false){ global $pagelayer; if (!empty($source)) { $source = esc_url( $source ); $source = str_replace('&', '&', $source); $url = parse_url($source); $videoSite =''; $videoId =''; $vid_atts = []; $youtubeRegExp = '/youtube\.com|youtu\.be/is'; $vimeoRegExp = '/vimeo\.com/is'; if (preg_match($youtubeRegExp, $source)) { $videoSite = 'youtube'; } else if (preg_match($vimeoRegExp, $source)) { $videoSite = 'vimeo'; } switch ($videoSite) { case 'youtube': $pagelayer->append_yt_api = true; if (preg_match('/youtube\.com/is', $source)) { if (preg_match('/watch/is', $source)) { parse_str($url['query'], $parameters); if (isset($parameters['v']) && !empty($parameters['v'])) { $videoId = $parameters['v']; } } else if (preg_match('/embed/is', $url['path'])) { $path = explode('/', $url['path']); if (isset($path[2]) && !empty($path[2])) { $videoId = $path[2]; } } } else if (preg_match('/youtu\.be/is', $url['host'])) { $path = explode('/', $url['path']); if (isset($path[1]) && !empty($path[1])) { $videoId = $path[1]; } } $vid_atts['type'] = 'youtube'; $vid_atts['src'] = '//www.youtube.com/embed/'.$videoId; $vid_atts['id'] = $videoId; break; case 'vimeo': if (preg_match('/player\.vimeo\.com/is', $url['host']) && preg_match('/video/is', $url['path'])) { $path = explode('video/', $source); } else if (preg_match('/vimeo\.com/is', $url['host'])) { $path = explode('.com/', $source); } if(isset($path[1]) && !empty($path[1])) { $videoId = $path[1]; } $vid_atts['type'] = 'vimeo'; $vid_atts['src'] = '//player.vimeo.com/video/'.$videoId; $vid_atts['id'] = $videoId; break; default: $vid_atts['type'] = 'local'; $vid_atts['src'] = $source; $vid_atts['id'] = $videoId; } if(!$no_url){ return $vid_atts['src']; } return $vid_atts; } } // As per the JS specification function pagelayer_escapeHTML($str){ $replace = [ ']' => ']', '[' => '[', //'=' => '=', '<' => '<', '>' => '>', '"' => '"', //'&' => '&', '\'' => ''', '\\' => '\' ]; $str = str_replace(array_keys($replace), array_values($replace), $str); return $str; } // As per the JS specification function pagelayer_unescapeHTML($str){ $replace = [ '#93' => ']', '#91' => '[', //'#61' => '=', 'lt' => '<', 'gt' => '>', 'quot' => '"', //'amp' => '&', '#39' => '\'', '#92' => '\\' ]; foreach($replace as $k => $v){ $str = str_replace('&'.$k.';', $v, $str); } return $str; } // Return true if user can add js content function pagelayer_user_can_add_js_content(){ // Unfiltered_html cap needs to be checked for multisite if(current_user_can('unfiltered_html')){ return true; } $pagelayer_js_permission = get_option('pagelayer_js_permission'); $current_user = wp_get_current_user(); // If not allowed any role by admin if(empty($pagelayer_js_permission) || empty($current_user->roles)){ return false; } foreach($current_user->roles as $role){ if(in_array($role, $pagelayer_js_permission)){ return true; } } return false; } // Check for XSS codes in our shortcodes submitted function pagelayer_xss_content($data){ $data = pagelayer_unescapeHTML($data); $data = preg_split('/\s/', $data); $data = implode('', $data); //echo $data; if(preg_match('/["\']javascript\:/is', $data)){ return 'javascript'; } if(preg_match('/["\']vbscript\:/is', $data)){ return 'vbscript'; } if(preg_match('/\-moz\-binding\:/is', $data)){ return '-moz-binding'; } if(preg_match('/expression\(/is', $data)){ return 'expression'; } if(preg_match('/\<(iframe|frame|script|style|link|applet|embed|xml|svg|object|layer|ilayer|meta)/is', $data, $matches)){ return $matches[1]; } // These events not start with on $not_allowed = array('click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'load', 'unload', 'change', 'submit', 'reset', 'select', 'blur', 'focus', 'keydown', 'keypress', 'keyup', 'afterprint', 'beforeprint', 'beforeunload', 'error', 'hashchange', 'message', 'offline', 'online', 'pagehide', 'pageshow', 'popstate', 'resize', 'storage', 'contextmenu', 'input', 'invalid', 'search', 'mousewheel', 'wheel', 'drag', 'dragend', 'dragenter', 'dragleave', 'dragover', 'dragstart', 'drop', 'scroll', 'copy', 'cut', 'paste', 'abort', 'canplay', 'canplaythrough', 'cuechange', 'durationchange', 'emptied', 'ended', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting', 'toggle', 'animationstart', 'animationcancel', 'animationend', 'animationiteration', 'auxclick', 'beforeinput', 'beforematch', 'beforexrselect', 'compositionend', 'compositionstart', 'compositionupdate', 'contentvisibilityautostatechange', 'focusout', 'focusin', 'fullscreenchange', 'fullscreenerror', 'gotpointercapture', 'lostpointercapture', 'mouseenter', 'mouseleave', 'pointercancel', 'pointerdown', 'pointerenter', 'pointerleave', 'pointermove', 'pointerout', 'pointerover', 'pointerrawupdate', 'pointerup', 'scrollend', 'securitypolicyviolation', 'touchcancel', 'touchend', 'touchmove', 'touchstart', 'transitioncancel', 'transitionend', 'transitionrun', 'transitionstart', 'MozMousePixelScroll', 'DOMActivate', 'afterscriptexecute', 'beforescriptexecute', 'DOMMouseScroll', 'willreveal', 'gesturechange', 'gestureend', 'gesturestart', 'mouseforcechanged', 'mouseforcedown', 'mouseforceup', 'mouseforceup'); $not_allowed = implode('|', $not_allowed); if(preg_match('/(on|onwebkit)+('.($not_allowed).')=/is', $data, $matches)){ return $matches[1].$matches[2]; } return; } // Check for XSS codes in our blocks array function pagelayer_sanitize_blocks_save_pre($block){ foreach($block as $k => $v){ // Recurse on arrays if(is_array($v)){ $block[$k] = pagelayer_sanitize_blocks_save_pre($v); // We dont support objects ! }elseif(is_object($v)){ $block[$k] = null; // Strings }else{ if(is_string($v)){ $v = wp_filter_post_kses($v); while(true){ $str = '"'.($v); $found = pagelayer_xss_content($str); //echo (string)$v.'--'.$found."\n"; if(strlen($found) > 0){ $v = str_replace($found, '', $v); }else{ break; } } } $block[$k] = $v; } } return $block; } // Check for XSS codes in our shortcode attributes function pagelayer_sanitize_shortcode_atts($content){ // Do we have something suspicious ? $tmp_check = pagelayer_xss_content($content); if(empty($tmp_check)){ return $content; } pagelayer_load_shortcodes(); preg_match_all( '/' . get_shortcode_regex() . '/', $content, $matches, PREG_SET_ORDER ); $prefixes = ['pl_']; $prefixes = apply_filters( 'pagelayer_valid_shortcode_tag', $prefixes); foreach ($matches as $shortcode) { $shortcode_name = $shortcode[2]; $vailid = false; foreach($prefixes as $prefix) { if (strpos($shortcode_name, $prefix) === 0) { $vailid = true; break; } } if(!$vailid){ continue; } $attrs = shortcode_parse_atts( $shortcode[3] ); $atts = ' '; foreach($attrs as $key => $value){ // Skip if key contains XSS if (!is_numeric($key) && strlen(pagelayer_xss_content($key . '=')) > 0) continue; $value = wp_filter_post_kses($value); // Skip if value contains XSS if (strlen(pagelayer_xss_content('"' . $value)) > 0) continue; $atts .= is_numeric($key) ? $value . ' ' : $key . '="' . $value . '" '; } $new_shortcode = '[' . $shortcode_name . $atts . ']'; if(!empty($shortcode[5])){ $new_shortcode .= $shortcode[5].'[/' . $shortcode_name .']'; } // Replace the original shortcode with sanitized attributes $content = str_replace($shortcode[0], $new_shortcode, $content); } return $content; } function pagelayer_getting_started_notice(){ // Is Sitepad setup done? $setup_done = get_option('sp_setup_done'); if(defined('SITEPAD') && empty($setup_done)){ return; } // If SitePad used custom BRAND SM if(defined('BRAND_SM_CUSTOM')){ return; } echo '

    '; if(defined('SITEPAD')){ echo ''.__('Thanks for choosing '.BRAND_SM .'. We recommend that you see the short and sweet Getting Started Video to know the basics of '.BRAND_SM.'.'); }else{ echo ''.__('Thanks for choosing Pagelayer. We recommend that you see the short and sweet Getting Started Video to know the basics of Pagelayer.', 'pagelayer'); } echo '

    '; } // Show Changelog promo function pagelayer_show_changelog_notice(){ // Is Sitepad setup done? if(defined('SITEPAD')){ return; } echo '

    '.__('Empower Your Designs: Pagelayer 1.8.1 - Unleashing Seamless Integration with Gutenberg for Enhanced Website Creation! Read More.', 'pagelayer') .'

    '; } // Show promo notice on dashboard function pagelayer_show_promo(){ global $pagelayer_promo_opts; $opts = $pagelayer_promo_opts; echo '
    Dismiss '; if(!empty($opts['image'])){ echo ''; } echo '

    We are glad you like Pagelayer and have been using it since the past few days. It is time to take the next step !

    '.(empty($opts['pro_url']) ? '' : 'Buy Pagelayer Pro').' '.(empty($opts['rating']) ? '' : 'Rate it 5★\'s').' '.(empty($opts['facebook']) ? '' : ' Facebook').' '.(empty($opts['twitter']) ? '' : ' Tweet').' '.(empty($opts['website']) ? '' : 'Visit our website').'

    Pagelayer Pro has many more features like 60+ widgets, 400+ sections, Theme Builder, WooCommerce Builder, Theme Creator and Exporter, Form Builder, Popup Builder, etc.'; if(date('Ymd') <= 20200331){ echo '
    Promotional Offer : If you buy Pagelayer Pro before 31st March, 2020 then you will get an additional year free and your license will expire on 31st March, 2022.'; } echo '

    '; } // Are we to show a promo ? function pagelayer_maybe_promo($opts){ global $pagelayer_promo_opts; // There must be an interval if(!current_user_can('activate_plugins')){ return false; } // There must be an interval if(empty($opts['interval'])){ return false; } // Are we to show a promo $opt_name = 'pagelayer_promo_time'; $promo_time = get_option($opt_name); // First time access if(empty($promo_time)){ update_option($opt_name, time() + (!empty($opts['after']) ? $opts['after'] * 86400 : 0)); $promo_time = get_option($opt_name); } // Is there interval elapsed if(time() > $promo_time){ $pagelayer_promo_opts = $opts; add_action('admin_notices', 'pagelayer_show_promo'); } // Are we to disable the promo if(isset($_GET['pagelayer_promo']) && (int)$_GET['pagelayer_promo'] == 0){ update_option($opt_name, time() + ($opts['interval'] * 86400)); die('DONE'); } } // Show the Pro notice function pagelayer_show_pro_notice(){ if(defined('PAGELAYER_PREMIUM')){ return; } echo '
    '.__('This feature is a part of Pagelayer Pro. You will need to purchase Pagelayer Pro to use this feature.').'
    '; } // Show the Pro Div function pagelayer_show_pro_div($head = '', $message = '', $admin_css = 1){ if(defined('PAGELAYER_PREMIUM')){ return; } if(basename(get_template_directory()) == 'popularfx'){ $pro_url = 'https://popularfx.com/pricing?from=pagelayer-plugin'; $pro_txt = 'PopularFX Pro'; }else{ $pro_url = PAGELAYER_PRO_PRICE_URL; $pro_txt = 'Pagelayer Pro'; } if(!empty($admin_css)){ wp_enqueue_style( 'pagelayer-admin', PAGELAYER_CSS.'/pagelayer-admin.css', array(), PAGELAYER_VERSION); } echo '
    '; if(!empty($head)){ echo '

    '.$head.'

    '; } echo '
    '; if(empty($message)){ echo __('This feature is a part of '.$pro_txt.'. You will need to purchase '.$pro_txt.' to use this feature.'); }else{ echo $message; echo ' '.__('This feature is a part of '.$pro_txt.'.'); } echo '
    Get '.$pro_txt.'
    '; } // Bread Crumbs with links function pagelayer_get_breadcrumb(){ global $post; // Home page $ret = '{{home}}'; // Is Front page if(is_front_page()){ return $ret; // Is search query }elseif(is_search()){ $ret .= '{{separator}}{{search_prefix}}'; $ret .= ''; $ret .= ''.get_search_query().''; $ret .= ''; //Is category or single post }elseif(is_category() || is_single()){ $ret .= '{{separator}}'; $categories = get_the_category(); $separator = ' '; $output = ''; if(!empty($categories)){ $ret .= get_category_parents($categories[0], true, ' {{separator}} '); } if(is_single()) { /* if (empty($categories)){ $ret .= ' {{separator}} '; } */ $ret .= ''.get_the_title().''; } // Is page }elseif(is_page() ){ if(!empty($post->post_parent)){ $ancestors = array_reverse(get_post_ancestors( $post->ID )); $page_on_front = get_option('page_on_front'); foreach( $ancestors as $ancestor ){ if($page_on_front == $ancestor){ continue; } $ret .= '{{separator}}'.get_the_title($ancestor).''; } $ret .=' {{separator}}'.get_the_title().''; }else{ $ret .= '{{separator}}'; $ret .= ''.get_the_title().''; } }else{ $ret .= '{{separator}}'; $ret .= ''.wp_title('', false ).''; } // wooCommerce Integration left return $ret; } // Portfolio Posts function pagelayer_widget_posts($args){ $r = new \WP_Query($args); $ret = ''; if ( $r->have_posts() ){ if($args['filter_by'] != 'none' && $args['post_type'] == 'post'){ $ret .= '
    '; $data_filter = ( $args['filter_by'] == 'category' ? get_categories() : get_tags() ); if(!empty($data_filter)){ $ret .= '
    '.__pl('All').'
    '; foreach($data_filter as $filter) { $ret .= '
    ' . $filter->name . '
    '; } } $ret .= '
    '; } $ret .= '
    '; while ( $r->have_posts() ) : $r->the_post(); $post_meta = ( $args['filter_by'] == 'category' ? get_the_category() : get_the_tags() ); $meta_attr = ''; if($post_meta){ $meta_array = array(); foreach( $post_meta as $meta ){ $meta_array[] = $meta->name; } $meta_attr .= ' data-category="'.implode(' ', $meta_array).'"'; } $ret .= ''; endwhile; $ret .= '
    '; } return $ret; } // List all available sizes of images registered on WordPress function pagelayer_image_sizes(){ $sizes = array(); $sizes = get_intermediate_image_sizes(); $ret = array(); foreach($sizes as $size){ $ret[$size] = __pl($size); } return $ret; } function pagelayer_remove_excerpt_more($more){ return ''; } function pagelayer_posts($params, $args = []){ global $post, $wp_query; if(isset($params['exc_length'])){ $exc_length = (int) $params['exc_length']; add_filter( 'excerpt_length', function($length) use($exc_length){ return $exc_length; }, 999 ); } add_filter('excerpt_more', 'pagelayer_remove_excerpt_more', 999); // If args is empty if(empty($args)){ $args = array( 'post_type' => $params['post_type'], 'posts_per_page' => $params['posts_per_page'], 'order' => $params['order'] ); if(!empty($params['paged'])){ $args['paged'] = $params['paged']; } if(!empty($params['term'])){ $term = explode(':', $params['term']); //pagelayer_print($term); if($term[0] == 'category'){ $args['category_name'] = $term[1]; } if($term[0] == 'post_tag'){ $args['tag'] = $term[1]; } } if(!empty($params['exc_term'])){ $term = explode(':', $params['exc_term']); //pagelayer_print($term); if($term[0] == 'category'){ $args['category__not_in'] = $term[2]; } if($term[0] == 'post_tag'){ $args['tag__not_in'] = $term[2]; } } if(!empty($params['author_name'])){ $author_name = explode(':', $params['author_name']); $args['author_name'] = $author_name[0]; } if(!empty($params['exc_author'])){ $exc_author = explode(':', $params['exc_author']); $args['author'] = '-'.$exc_author[1]; } if(!empty($params['offset'])){ $args['offset'] = $params['offset']; } if(!empty($params['ignore_sticky'])){ $args['ignore_sticky_posts'] = $params['ignore_sticky']; } if(!empty($params['orderby'])){ $args['orderby'] = $params['orderby']; } if(!empty($params['by_period'])){ $date_arg = array(); switch($params['by_period']){ case 'last_day': $date_arg['day'] = date('j')-1; break; case 'last_week': $date_arg['week'] = date('W')-1; break; case 'last_month': $date_arg['month'] = date('n')-1; break; case 'last_year': $date_arg['year'] = date('Y')-1; break; case 'custom': $date_arg['before'] = $params['before_date']; $date_arg['after'] = $params['after_date']; break; } $args['date_query'] = array( $date_arg ); } } //pagelayer_print($args); // Only see published posts $args['post_status'] = 'publish'; $postsquery = new WP_Query($args); $data = ''; if(!wp_doing_ajax() && !empty($params['infinite_types'])){ $data.='
    '; } if(!$postsquery->have_posts()){ return '

    No posts found!

    '; } // To reset the post when the $wp_query->post is empty $orig_post = $post; while($postsquery->have_posts()) : $postsquery->the_post(); $data .= '
    '; if(!empty($params['show_title'])){ $data .= '
    '. get_the_title().'
    '; } $data .= '
    '; $sep = ''; if(!empty($params['meta_sep'])){ $sep = ' '.$params['meta_sep'].' '; } if(!empty($params['author'])){ $data .= 'By '.esc_html(get_the_author()).''.$sep; } if(!empty($params['date'])){ $data .= ''.$sep; } if(!empty($params['category'])){ $category = get_the_category(); $singlecategory = ''; foreach( $category as $cat ){ $singlecategory .= ''. $cat->name .''; } if(!empty($singlecategory)){ $data .= '' . $singlecategory . ''.$sep; } } if(!empty($params['tags'])){ $tags = get_the_tags(); $singletag = ''; if(!empty($tags)){ foreach( $tags as $tag ){ $singletag .= ''. $tag->name .''; } if(!empty($singletag)){ $data .= ''.$singletag.''.$sep; } } } if(!empty($params['comments']) && comments_open($postsquery->ID)){ $data .= '' . esc_html(get_comments_number()).' '.__pl('comments').''.$sep; } $data .= '
    '; if(!empty($params['show_content'])){ $data .= '
    '; if($params['show_content'] == 'excerpt'){ $data .= pagelayer_the_content(get_the_excerpt()); }elseif($params['show_content'] == 'full'){ $data .= pagelayer_the_content(get_the_content()); } $data .= '
    '; } if(!empty($params['show_more'])){ $data .= ''; //$data .= ''.$params['more'].''; } //$data .= '

    '.get_the_date().'

    '; $data .= '
    '; endwhile; // In the Gutenberg while adding new page the $wp_query->post was empty if ( !isset( $wp_query ) || empty($wp_query->post) ) { $GLOBALS['post'] = $orig_post; }else{ wp_reset_postdata(); } return $data; } // Get Post Revision function pagelayer_get_post_revision_by_id($postID){ // Insert the post revision into the database $post_revisions = array(); $reviews = wp_get_post_revisions($postID); foreach($reviews as $values){ $date_format = date_i18n('j-M @ H:i', strtotime( $values->post_modified ) ); $user_meta = get_userdata($values->post_author); if ( false !== strpos( $values->post_name, 'autosave' ) ) { $type = 'autosave'; } else { $type = 'revision'; } $post_tmp_data = array( 'ID' => $values->ID, 'post_author_name' => $user_meta->data->display_name, 'post_author_url' => get_avatar_url($values->post_author), 'post_date' => $date_format, 'post_date_ago' => human_time_diff(strtotime($values->post_modified), current_time( 'timestamp' )) . ' ago ', 'post_type' => $type, ); $post_revisions[] = $post_tmp_data; } return $post_revisions; } // Gets author data function pagelayer_author_data($postID){ $authorID = get_post_field('post_author', $postID); $data['display_name'] = get_the_author_meta( 'display_name' , $authorID ); $data['description'] = get_the_author_meta( 'description' , $authorID ); $data['user_url'] = get_author_posts_url( $authorID , '' ); $data['avatar'] = get_avatar_url( $authorID ); return $data; } // Posts Slider function pagelayer_posts_slider($params){ $args = array(); if(isset($params['post']['post_type'])){ $args['post_type'] = $params['post']['post_type']; } if(isset($params['post']['category'])){ $args['category_name'] = $params['post']['category']; } if(isset($params['post']['tags'])){ $args['tag'] = $params['post']['tags']; } if(isset($params['post']['order_by'])){ $args['orderby'] = $params['post']['order_by']; } if(isset($params['post']['sort_order'])){ $args['order'] = $params['post']['sort_order']; } if(isset($params['post']['post_count'])){ $args['posts_per_page'] = $params['post']['post_count']; } $data = ''; $postsquery = new WP_Query($args); if ( $postsquery->have_posts() ){ while ( $postsquery->have_posts() ) : $postsquery->the_post(); $data .= '
  • '; $data .= '

    '. get_the_title().'

    '; $data .= '
    '; if($params['post']['show_excerpt'] == "true"){ if(has_excerpt()){ $excerpt = get_the_excerpt(); $data .= pagelayer_the_content($excerpt); } } $data .= '
    '; $data .= 'Read More'; $data .= '

    '.get_the_date().'

    '; $data .= '
  • '; endwhile; } return $data; } // Gets the site logo URLs function pagelayer_site_logo(){ if(get_theme_mod('custom_logo')){ $logo_id = get_theme_mod('custom_logo'); return pagelayer_image($logo_id); } return NULL; } // Create select options function pagelayer_create_sel_options( $opt_array , $selected = ''){ $options = ''; foreach($opt_array as $x => $val){ // Single item if(is_string($opt_array[$x])){ $options .= pagelayer_sel_option($x, $val, $selected); // Groups }else{ if(array_key_exists('hide_drop', $opt_array[$x]) && !empty($opt_array[$x]['hide_drop'])){ continue; } // If Label is there, then its a normal option if(array_key_exists('label', $opt_array[$x])){ $options .= pagelayer_sel_option($x, $opt_array[$x]['label'], $selected); // Optgroups } else{ $options .= ''; $options .= pagelayer_create_sel_options($opt_array[$x], $selected); $options .= ''; } } } return $options; } // Create option HTML function pagelayer_sel_option($val, $lang, $selected){ return ''; } // Get values from multi-dimensional array by key function pagelayer_multi_array_search(&$array, $key){ if(!is_array($array)){ return false; } foreach ($array as $k => $v) { if($k == $key){ return $v; } if (is_array($v)) { $found = pagelayer_multi_array_search($v, $key); if(!empty($found)){ return $found; } } } return false; } function pagelayer_get_post_term(){ $args = [ 'taxonomy' => array('category','post_tag'), 'hide_empty' => false, ]; $terms = get_terms( $args ); $ret = array(); foreach ( $terms as $term ) { $ret[$term->taxonomy.':'.$term->slug.':'.$term->term_taxonomy_id] = $term->taxonomy .': '. $term->name; } //pagelayer_print($terms);die(); return $ret; } function pagelayer_get_post_author(){ $args = [ 'capability' => array( 'edit_posts' ), 'fields' => [ 'ID', 'display_name', 'user_nicename', ] ]; // Capability queries were only introduced in WP 5.9. if( version_compare( $GLOBALS['wp_version'], '5.9-alpha', '<' ) ){ $args['who'] = 'authors'; unset( $args['capability'] ); } $authors = new \WP_User_Query( $args ); $ret = array(); foreach ( $authors->get_results() as $author ) { $ret[$author->user_nicename.':'.$author->ID] = $author->display_name; } //pagelayer_print($authors->get_results());die(); return $ret; } // Gets the registered post types function pagelayer_get_public_post_types( $args = [] ) { global $pagelayer; $post_type_args = [ 'public' => true, ]; $post_type_args = wp_parse_args( $post_type_args, $args ); $_post_types = get_post_types( $post_type_args, 'objects' ); $post_types = array(); foreach ( $_post_types as $post_type => $object ) { if($post_type == $pagelayer->builder['name']){ continue; } $post_types[ $post_type ] = $object->label; } //print_r($post_types); return $post_types; } // Simply echo and dir function pagelayer_json_output(&$done){ echo json_encode($done); wp_die(); } // Get the current query for render the product function pagelayer_shortcode_current_query($query_args, $atts, $type){ global $wp_query; if($type == 'pagelayer_current_query'){ if ( ! is_page( wc_get_page_id( 'shop' ) ) ) { $query_args = $wp_query->query_vars; } add_action( "woocommerce_shortcode_before_{$type}_loop", function () { wc_set_loop_prop( 'is_shortcode', false ); } ); if(!empty($atts['paginate'])){ $page = get_query_var( 'paged', 1 ); if( 1 < $page ) { $query_args['paged'] = $page; } } // Always query only IDs $query_args['fields'] = 'ids'; } return $query_args; } // Loads the tags which have parameters of a particular type function pagelayer_get_prop_type($types){ global $pagelayer; if(!is_array($types)){ $types = [$types]; } $ret = []; // Loop thru all shortcodes foreach($pagelayer->shortcodes as $tag => $vvv){ // Lets create the CSS, Classes, Attr. Also clean the dependent atts foreach($pagelayer->tabs as $tab){ if(empty($pagelayer->shortcodes[$tag][$tab])){ continue; } foreach($pagelayer->shortcodes[$tag][$tab] as $section => $Lsection){ $props = empty($pagelayer->shortcodes[$tag][$section]) ? @$pagelayer->styles[$section] : @$pagelayer->shortcodes[$tag][$section]; //echo $tab.' - '.$section.' -
    '; if(empty($props)){ continue; } // Loop all props foreach($props as $prop => $param){ // Load any attachment values if(!in_array($param['type'], $types)){ continue; } $ret[$tag][$prop] = $param['type']; } } } } //r_print($ret);die(); return $ret; } function pagelayer_export_content($content){ global $pagelayer; // Just call do_shortcode so we can get list of media files to export //do_shortcode($content); $theme_url = preg_replace('/http(s?):\/\//is', '', get_stylesheet_directory_uri()); $content = preg_replace('/http(s?):\/\/'.preg_quote($theme_url, '/').'/is', '{{theme_url}}', $content); // Remove unnecessary spaces $content = preg_replace('/--\>\s*(?!', $content); // Replace links of the theme for images $content = pagelayer_export_theme_links($content, get_stylesheet_directory_uri()); //////////////////// // Handle Link IDs //////////////////// if(empty($pagelayer->e['link_tags'])){ $pagelayer->e['link_tags'] = pagelayer_get_prop_type('link'); //r_print($pagelayer->e['link_tags']);die(); } if(empty($pagelayer->e['media_tags'])){ $pagelayer->e['media_tags'] = pagelayer_get_prop_type(['image', 'video', 'audio', 'media', 'multi_image']); //r_print($pagelayer->e['media_tags']);die(); } $parsed = parse_blocks($content); //r_print($parsed);//die(); $parsed = pagelayer_export_link_ids($parsed); // Export the media as well $parsed = pagelayer_export_media($parsed); // Reserialize $content = serialize_blocks($parsed); // We store in SP format $content = str_replace(').)*+)?}\s+)?(?P\/)?-->/s', $content, $matches); if(!empty($matches['attrs'])){ foreach($matches['attrs'] as $k => $v){ preg_match('/nav_list"\s*:\s*"(\d*)"/is', $v, $vmatch); if(!empty($vmatch[1])){ $vmatch[1] = (int)$vmatch[1]; $pagelayer->export_menus[$vmatch[1]] = $vmatch[1]; //r_print($pagelayer->export_menus); } } } return $content; } function pagelayer_export_link_ids($parsed){ global $pagelayer; foreach($parsed as $k => $v){ if(!empty($v['innerBlocks'])){ $parsed[$k]['innerBlocks'] = pagelayer_export_link_ids($v['innerBlocks']); } if(!preg_match('/pagelayer/is', $v['blockName'])){ continue; } $tag = str_replace('pagelayer/', '', $v['blockName']); //echo $tag;//die(); // Is there a tag having a link prop if(empty($pagelayer->e['link_tags'][$tag])){ continue; } //echo $tag;die(); foreach($pagelayer->e['link_tags'][$tag] as $kk => $vv){ if(!empty($v['attrs'][$kk]) && is_numeric($v['attrs'][$kk])){ $linked = get_post($v['attrs'][$kk]); if(!empty($linked->post_name)){ $parsed[$k]['attrs'][$kk] = '||link_id|'.$linked->post_type.'|'.$linked->post_name.'||'; } //echo $tag;echo '-'.$kk;r_print($parsed[$k]['attrs']);die(); } } } return $parsed; } // Replace theme links with theme_url function pagelayer_export_theme_links($content, $link){ global $sitepad; // Theme URL correction code $theme_url = preg_replace('/http(s?):\/\//is', '', $link); $theme_urls[0] = 'http://'.$theme_url; $theme_urls[1] = 'https://'.$theme_url; $theme_urls[2] = $theme_url; $theme_urls[3] = str_replace('/', '\\/', $theme_urls[0]); $theme_urls[4] = str_replace('/', '\\/', $theme_urls[1]); $theme_urls[5] = str_replace('/', '\\/', $theme_url); foreach($theme_urls as $k => $v){ $content = preg_replace_callback('/'.preg_quote($v, '/').'([^"]*)/is', 'pagelayer_export_theme_links_replacer', $content); } $content = str_ireplace($theme_urls, '{{theme_url}}', $content); return $content; } // This function is a part of pagelayer_export_theme_links function pagelayer_export_theme_links_replacer($matches){ return '{{theme_url}}'.str_replace('\\/', '/', $matches[1]); } // Export media function pagelayer_export_media($parsed){ global $pagelayer; foreach($parsed as $k => $v){ if(!empty($v['innerBlocks'])){ $parsed[$k]['innerBlocks'] = pagelayer_export_media($v['innerBlocks']); } if(!preg_match('/pagelayer/is', $v['blockName'])){ continue; } $tag = str_replace('pagelayer/', '', $v['blockName']); //echo $tag;//die(); // Is there a tag having a link prop if(empty($pagelayer->e['media_tags'][$tag])){ continue; } //echo $tag;die(); foreach($pagelayer->e['media_tags'][$tag] as $kk => $vv){ if(empty($v['attrs'][$kk])){ continue; } $is_array = 0; // Is it an array if(is_array($v['attrs'][$kk])){ $ids = $v['attrs'][$kk]; $is_array = 1; // Is it of the format 1,2,3 }elseif(preg_match('/^((\d*)(,?))*$/is', $v['attrs'][$kk])){ $ids = pagelayer_maybe_explode(',', $v['attrs'][$kk]); // Its a number or string }else{ // Is it our default image ? if(preg_match('/pagelayer-pro\/images\/default-image.png$/is', $v['attrs'][$kk])){ $parsed[$k]['attrs'][$kk] = ''; continue; } // It should be a number if(!is_numeric($v['attrs'][$kk])){ continue; } $ids = [$v['attrs'][$kk]]; } $ret = []; foreach($ids as $id){ $file = pagelayer_export_media_files($id, $exp_img_url); // Did it export ? if(empty($file) || !file_exists($file)){ continue; } $ret[] = $exp_img_url; } $parsed[$k]['attrs'][$kk] = $is_array ? $ret : implode(',', $ret); //echo $tag;echo '-'.$kk;r_print($parsed[$k]['attrs']);die(); } } return $parsed; } // Exports the media to the images folder of the current theme function pagelayer_export_media_files($id, &$url = ''){ $theme_dir = get_stylesheet_directory(); $image_dir = $theme_dir.'/images/'; @mkdir($image_dir); // Get the file path $file = get_attached_file($id); if(empty($file) || !file_exists($file)){ return false; } $dest_file = $image_dir.basename($file); // Copy the file copy($file, $dest_file); // Replace the text $url = '{{theme_url}}/images/'.basename($file); return $dest_file; //echo $content; } // Insert a post which is a Pagelayer Post function pagelayer_sanitize_content($content){ // Replace Vars $template_vars = pagelayer_template_vars(); foreach($template_vars as $key => $val){ $content = str_replace($key, $val, $content); } if(defined('PAGELAYER_BLOCK_PREFIX') && PAGELAYER_BLOCK_PREFIX == 'wp'){ $content = str_replace('

    '.($promos ? '' : '').'

    '.$title.'

    Review Pagelayer

    '; $promos = apply_filters('pagelayer_right_bar_promos', true); if($promos){ echo ' '; } echo '
    '; } // The Pagelayer Settings footer function pagelayer_page_footer($no_twitter = 0){ echo ' '; if(!defined('PAGELAYER_PREMIUM')){ echo '

    Upgrade to the premium version and get the following features :
    • 60+ Premium Widgets
    • 16+ WooCommerce Widgets
    • 400+ Premium Sections
    • Theme Builder
    • WooCommerce Builder
    • Theme Creator and Exporter
    • Form Builder
    • Popup Builder
    • And many more ...
    Upgrade
    '; } echo '

    Manage all your WordPress sites from 1 dashboard :
    • 1-click Admin Access
    • Update WordPress
    • Update Themes
    • Update Plugins
    • Backup your WordPress Site
    • Plugins & Theme Management
    • Post Management
    • And many more ...
    Visit wpCentral

    '; if(!defined('SITEPAD')){ if(empty($no_twitter)){ echo '
    Let your followers know that you use Pagelayer to build your website :
       

    '; } echo '
    Pagelayer v'.PAGELAYER_VERSION.' You can report any bugs here.'; } echo ' '; } function pagelayer_settings_page(){ $_REQUEST = wp_unslash($_REQUEST); $post_type = array(); $exclude = [ 'attachment', 'pagelayer-template' ]; $pt_objects = get_post_types(['public' => true,], 'objects'); foreach ( $pt_objects as $pt_slug => $type ) { if ( in_array( $pt_slug, $exclude ) ) { continue; } $post_type[$pt_slug] = $type->labels->name; } $support_ept = get_option( 'pl_support_ept', ['post', 'page']); $option_name = 'pl_gen_setting'; $new_value = ''; // DO an admin referrer check if(!empty($_POST)){ check_admin_referer('pagelayer-options'); } // We do a $_POST check and hence we are checking the POST var here as well // Everywhere down as well, $_POST should be used to save data if(isset($_POST['pl_support_ept'])){ $pl_support_ept = $_REQUEST['pl_support_ept']; foreach($pl_support_ept as $k => $v){ if(empty($post_type[$v])){ unset($pl_support_ept[$k]); } } // Update it update_option('pl_support_ept', $pl_support_ept ); $support_ept = get_option( 'pl_support_ept'); $done = 1; } if(isset($_POST['pagelayer_icons_set'])){ $pagelayer_icons_set = $_REQUEST['pagelayer_icons_set']; // Update it update_option('pagelayer_icons_set', $pagelayer_icons_set); $done = 1; } $socials = ['pagelayer-facebook-url','pagelayer-twitter-url','pagelayer-instagram-url','pagelayer-linkedin-url','pagelayer-youtube-url','pagelayer-gplus-url','pagelayer-copyright','pagelayer-phone','pagelayer-address']; foreach( $socials as $social ){ if(isset($_POST[$social])){ $url = $_REQUEST[$social]; update_option($social, $url); $done = 1; } } if(isset($_POST['pagelayer_cf_to_email'])){ $to_email = $_REQUEST['pagelayer_cf_to_email']; update_option( 'pagelayer_cf_to_email', $to_email ); $done = 1; } if(isset($_POST['pagelayer-gmaps-api-key'])){ $maps_id = sanitize_text_field($_REQUEST['pagelayer-gmaps-api-key']); update_option( 'pagelayer-gmaps-api-key', $maps_id ); $done = 1; } if(defined('PAGELAYER_PREMIUM')){ if(isset($_POST['pagelayer_cf_subject'])){ $subject = $_REQUEST['pagelayer_cf_subject']; update_option('pagelayer_cf_subject', $subject, 'no'); $done = 1; } if(isset($_POST['pagelayer_cf_headers'])){ $subject = $_REQUEST['pagelayer_cf_headers']; update_option('pagelayer_cf_headers', $subject, 'no'); $done = 1; } if(isset($_POST['pagelayer_cf_from_email'])){ $subject = $_REQUEST['pagelayer_cf_from_email']; update_option('pagelayer_cf_from_email', $subject, 'no'); $done = 1; } if(isset($_POST['pagelayer_cf_success'])){ $success = $_REQUEST['pagelayer_cf_success']; update_option( 'pagelayer_cf_success', $success, 'no'); $done = 1; } if(isset($_POST['pagelayer_cf_failed'])){ $failed = $_REQUEST['pagelayer_cf_failed']; update_option( 'pagelayer_cf_failed', $failed, 'no'); $done = 1; } if(isset($_POST['pagelayer_recaptcha_failed'])){ $failed = $_REQUEST['pagelayer_recaptcha_failed']; update_option( 'pagelayer_recaptcha_failed', $failed, 'no'); $done = 1; } if(isset($_POST['pagelayer_google_captcha'])){ $captcha = sanitize_text_field($_REQUEST['pagelayer_google_captcha']); update_option( 'pagelayer_google_captcha', $captcha ); $done = 1; } if(isset($_POST['pagelayer_google_captcha_secret'])){ $captcha_secret = sanitize_text_field($_REQUEST['pagelayer_google_captcha_secret']); update_option( 'pagelayer_google_captcha_secret', $captcha_secret ); $done = 1; } if(isset($_POST['pagelayer_google_captcha_lang'])){ $captcha_secret = $_REQUEST['pagelayer_google_captcha_lang']; update_option( 'pagelayer_google_captcha_lang', $captcha_secret ); $done = 1; } // Facebook APP ID if(isset($_POST['pagelayer-fbapp-id'])){ $fb_app_id = sanitize_text_field($_REQUEST['pagelayer-fbapp-id']); if(preg_match('/\W/is', $fb_app_id)){ $pl_error[] = 'The Facebook App ID is not correct'; }else{ // Save it update_option( 'pagelayer-fbapp-id', $fb_app_id ); $done = 1; } } } // reCAPTCHA Langs $recap_lang[''] = 'Auto Detect'; $recap_lang['ar'] = 'Arabic'; $recap_lang['af'] = 'Afrikaans'; $recap_lang['am'] = 'Amharic'; $recap_lang['hy'] = 'Armenian'; $recap_lang['az'] = 'Azerbaijani'; $recap_lang['eu'] = 'Basque'; $recap_lang['bn'] = 'Bengali'; $recap_lang['bg'] = 'Bulgarian'; $recap_lang['ca'] = 'Catalan'; $recap_lang['zh-HK'] = 'Chinese (Hong Kong)'; $recap_lang['zh-CN'] = 'Chinese (Simplified)'; $recap_lang['zh-TW'] = 'Chinese (Traditional)'; $recap_lang['hr'] = 'Croatian'; $recap_lang['cs'] = 'Czech'; $recap_lang['da'] = 'Danish'; $recap_lang['nl'] = 'Dutch'; $recap_lang['en-GB'] = 'English (UK)'; $recap_lang['en'] = 'English (US)'; $recap_lang['et'] = 'Estonian'; $recap_lang['fil'] = 'Filipino'; $recap_lang['fi'] = 'Finnish'; $recap_lang['fr'] = 'French'; $recap_lang['fr-CA'] = 'French (Canadian)'; $recap_lang['gl'] = 'Galician'; $recap_lang['ka'] = 'Georgian'; $recap_lang['de'] = 'German'; $recap_lang['de-AT'] = 'German (Austria)'; $recap_lang['de-CH'] = 'German (Switzerland)'; $recap_lang['el'] = 'Greek'; $recap_lang['gu'] = 'Gujarati'; $recap_lang['iw'] = 'Hebrew'; $recap_lang['hi'] = 'Hindi'; $recap_lang['hu'] = 'Hungarain'; $recap_lang['is'] = 'Icelandic'; $recap_lang['id'] = 'Indonesian'; $recap_lang['it'] = 'Italian'; $recap_lang['ja'] = 'Japanese'; $recap_lang['kn'] = 'Kannada'; $recap_lang['ko'] = 'Korean'; $recap_lang['lo'] = 'Laothian'; $recap_lang['lv'] = 'Latvian'; $recap_lang['lt'] = 'Lithuanian'; $recap_lang['ms'] = 'Malay'; $recap_lang['ml'] = 'Malayalam'; $recap_lang['mr'] = 'Marathi'; $recap_lang['mn'] = 'Mongolian'; $recap_lang['no'] = 'Norwegian'; $recap_lang['fa'] = 'Persian'; $recap_lang['pl'] = 'Polish'; $recap_lang['pt'] = 'Portuguese'; $recap_lang['pt-BR'] = 'Portuguese (Brazil)'; $recap_lang['pt-PT'] = 'Portuguese (Portugal)'; $recap_lang['ro'] = 'Romanian'; $recap_lang['ru'] = 'Russian'; $recap_lang['sr'] = 'Serbian'; $recap_lang['si'] = 'Sinhalese'; $recap_lang['sk'] = 'Slovak'; $recap_lang['sl'] = 'Slovenian'; $recap_lang['es'] = 'Spanish'; $recap_lang['es-419'] = 'Spanish (Latin America)'; $recap_lang['sw'] = 'Swahili'; $recap_lang['sv'] = 'Swedish'; $recap_lang['ta'] = 'Tamil'; $recap_lang['te'] = 'Telugu'; $recap_lang['th'] = 'Thai'; $recap_lang['tr'] = 'Turkish'; $recap_lang['uk'] = 'Ukrainian'; $recap_lang['ur'] = 'Urdu'; $recap_lang['vi'] = 'Vietnamese'; $recap_lang['zu'] = 'Zulu'; pagelayer_page_header('Pagelayer Settings'); // Media Replace. if(isset($_POST['submit']) || isset($_POST['pagelayer_disable_media_replace'])){ $disable_media = empty($_REQUEST['pagelayer_disable_media_replace']) ? 0 : 1; update_option( 'pagelayer_disable_media_replace', $disable_media ); $done = 1; } // Media Replace $media_replace = get_option( 'pagelayer_disable_media_replace'); // Clone Templates. if(isset($_POST['submit']) || isset($_POST['pagelayer_disable_clone'])){ $disable_clone = empty($_REQUEST['pagelayer_disable_clone']) ? 0 : 1; update_option( 'pagelayer_disable_clone', $disable_clone ); $done = 1; } // Disable Clone $disable_clone = get_option('pagelayer_disable_clone'); // Dark Mode if(isset($_POST['submit']) || isset($_POST['pagelayer_enable_dark_mode'])){ $enable_dark_mode = empty($_REQUEST['pagelayer_enable_dark_mode']) ? 0 : 1; update_option( 'pagelayer_enable_dark_mode', $enable_dark_mode ); $done = 1; } // Dark Mode $enable_dark_mode = get_option('pagelayer_enable_dark_mode'); // Enable JS/CSS Giver if(isset($_POST['submit']) || isset($_POST['pagelayer_enable_jscss_giver'])){ $done = 1; $enable_jscss_giver = empty($_REQUEST['pagelayer_enable_jscss_giver']) ? -1 : 1; update_option( 'pagelayer_enable_giver', $enable_jscss_giver ); } // Enable JS/CSS Giver $enable_jscss_giver = get_option('pagelayer_enable_giver'); if(defined('PAGELAYER_PREMIUM')){ // Enable Google Font local giver if(isset($_POST['submit']) || isset($_POST['pagelayer_local_gfont'])){ $done = 1; $enable_gfont_downloader = empty($_REQUEST['pagelayer_local_gfont']) ? -1 : 1; update_option( 'pagelayer_local_gfont', $enable_gfont_downloader ); } // Enable Google Font Downloader $enable_gfont_downloader = get_option('pagelayer_local_gfont'); } // User roles to allow saving js content if(isset($_POST['pagelayer_js_permission'])){ update_option( 'pagelayer_js_permission', array_filter($_POST['pagelayer_js_permission']) ); } $pagelayer_js_permission = get_option('pagelayer_js_permission'); $pagelayer_js_permission = empty($pagelayer_js_permission) ? array() : $pagelayer_js_permission; // Saved ? if(!empty($done)){ echo '

    '. __('The settings were saved successfully', 'pagelayer'). '


    '; } // Any errors ? if(!empty($pl_error)){ pagelayer_report_error($pl_error);echo '
    '; } ?>

    />
    '.__('You can change your contact email
    from the Contact Form Settings.').'

    '; }else{ ?>

    />
    />
    />
    />
    />
    />

    />

    />

    CLICK HERE to get help in getting API key.') ?>

    fieldname then use the variable $fieldname');?>

    '.__('To Email').' :

    '.__('You can use comma seperated values for multiple emails').'

    ';?>
    :
    :
    :

    '.__('You can edit messages used for information of your form here.');?>

    :
    :
    :

    support@pagelayer.com. We will get back to you as soon as possible!');?>

    support@pagelayer.com. We will get back to you as soon as possible!');?>

    post_type; $post_type_object = get_post_type_object( $post_type ); $user_ID = get_current_user_id(); // Set current screen set_current_screen($post_type); // Flag that we're not loading the block editor. $current_screen = get_current_screen(); $current_screen->is_block_editor = 0; $form_extra = ''; $form_action = 'editpost'; $nonce_action = 'update-post_' . $post_ID; $form_extra .= ""; // All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action). $lib = ABSPATH . 'site-admin/includes/meta-boxes.php'; $lib = file_exists($lib) ? $lib : ABSPATH . 'wp-admin/includes/meta-boxes.php'; require_once $lib; register_and_do_post_meta_boxes( $post ); $locations = array( 'side', 'normal', 'advanced' ); $priorities = array( 'high', 'sorted', 'core', 'default', 'low' ); $to_remove_box = array('submitdiv', 'categorydiv', 'tagsdiv-post_tag', 'pageparentdiv', 'postimagediv', 'revisionsdiv', 'commentsdiv', 'formatdiv', 'postexcerpt', 'commentstatusdiv', 'slugdiv', 'authordiv'); // Remove meta boxes from pagelayer settings $to_remove_box = apply_filters('pagelayer_remove_meta_boxes', $to_remove_box); // Remove Meta Boxes foreach( $locations as $location ){ foreach( $priorities as $priority ){ if( isset( $wp_meta_boxes[ $current_screen->id ][ $location ][ $priority ] ) ){ foreach( $to_remove_box as $to_remove ) { if(array_key_exists($to_remove, $wp_meta_boxes[ $current_screen->id ][ $location ][ $priority ])){ remove_meta_box($to_remove, $current_screen, $location); } } } } } // Add format div again to change the position if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type, 'post-formats' ) ) { add_meta_box( 'formatdiv', _x( 'Format', 'post format' ), 'post_format_meta_box', null, 'normal', 'default', array( '__back_compat_meta_box' => true ) ); } // TO show all hidden meta boxes add_filter( 'hidden_meta_boxes', function( $hidden, $screen, $use_defaults ){ return array(); }, 999, 3); $props_tabs = array( 'advanced_props' => array( 'label' => __('Advanced'), 'icon' => 'dashicons dashicons-welcome-add-page', 'class' => 'pagelayer-active-item', ), 'hf_code' => array( 'label' => __('Header, Body and Footer'), 'icon' => 'dashicons dashicons-editor-code', ), ); $props_tabs = apply_filters('pagelayer_post_props_tabs', $props_tabs); ?>
    >
    $props_tab){?>
    >

    public ? get_sample_permalink_html( $post->ID ) : ''; // As of 4.4, the Get Shortlink button is hidden by default. if ( has_filter( 'pre_get_shortlink' ) || has_filter( 'get_shortlink' ) ) { $shortlink = wp_get_shortlink( $post->ID, 'post' ); if ( ! empty( $shortlink ) && $shortlink !== $permalink && home_url( '?page_id=' . $post->ID ) !== $permalink ) { $sample_permalink_html .= '' . ''; } } if ( $post_type_object->public && ! ( 'pending' === get_post_status( $post ) && ! current_user_can( $post_type_object->cap->publish_posts ) ) ) { $has_sample_permalink = $sample_permalink_html && 'auto-draft' !== $post->post_status; ?>

    <head> Section.') ?>

    <body> Section.') ?>

    </body> Section.') ?>

    menu->term_id) ? $args->menu->term_id : ''; $locations = get_nav_menu_locations(); //pagelayer_print($locations); if(empty($locations) || !isset($locations['primary']) || $locations['primary'] != $menu_id) { return $items; } $options = pagelayer_get_customize_options(); if(!empty($options['woo_enable_menu_cart'])) { $items .= '
  • '; } return $items; } add_action( 'customize_controls_print_scripts', 'pagelayer_wc_add_scripts' ); function pagelayer_wc_add_scripts(){ ?> array( '.woocommerce-store-notice.demo_store' => 'background-color: {{color}}', ), 'woo_notice_color' => array( '.woocommerce-store-notice.demo_store' => 'color: {{color}}', ), 'woo_notice_a_color' => array( '.woocommerce-store-notice.demo_store a' => 'color: {{color}}', ), 'woo_notice_a_hover_color' => array( '.woocommerce-store-notice.demo_store a:hover' => 'color: {{color}}', ), 'woo_myaccount_padding' => array( 'body.woocommerce-account main.site-main' => array( 'top' => 'padding-top: {{val}}{{unit}};', 'right' => 'padding-right: {{val}}{{unit}};', 'bottom' => 'padding-bottom: {{val}}{{unit}};', 'left' => 'padding-left: {{val}}{{unit}};' ) ), 'woo_checkout_padding' => array( 'body.woocommerce-checkout main.site-main' => array( 'top' => 'padding-top: {{val}}{{unit}};', 'right' => 'padding-right: {{val}}{{unit}};', 'bottom' => 'padding-bottom: {{val}}{{unit}};', 'left' => 'padding-left: {{val}}{{unit}};' ) ), 'woo_cart_padding' => array( 'body.woocommerce-cart main.site-main' => array( 'top' => 'padding-top: {{val}}{{unit}};', 'right' => 'padding-right: {{val}}{{unit}};', 'bottom' => 'padding-bottom: {{val}}{{unit}};', 'left' => 'padding-left: {{val}}{{unit}};' ) ), 'woo_product_padding' => array( 'body.single-product main.site-main' => array( 'top' => 'padding-top: {{val}}{{unit}};', 'right' => 'padding-right: {{val}}{{unit}};', 'bottom' => 'padding-bottom: {{val}}{{unit}};', 'left' => 'padding-left: {{val}}{{unit}};' ) ), 'woo_product_cat_padding' => array( 'body.post-type-archive-product .site-main' => array( 'top' => 'padding-top: {{val}}{{unit}};', 'right' => 'padding-right: {{val}}{{unit}};', 'bottom' => 'padding-bottom: {{val}}{{unit}};', 'left' => 'padding-left: {{val}}{{unit}};' ) ), 'woo_menu_cart_color' => array( 'li.cart-customlocation span.dashicons-cart' => 'color: {{color}};', ), 'woo_menu_cart_number_color' => array( 'li.cart-customlocation span.dashicons-cart + sup' => 'color: {{color}};', ) ); $woo_styles = apply_filters('pagelayer_wc_styles_array', $woo_styles); // Apply customizer css foreach($woo_styles as $key => $rules){ $value = pagelayer_isset($options, $key); if(empty($value) && $value != '0'){ continue; } foreach($rules as $sel => $rule){ // Is not reponsive or not variable value? if(!is_array($value)){ $css['desktop'][$sel][] = pagelayer_parse_customize_styles($value, $rule); continue; } // If unit exists $unit = !empty($value['unit'])? $value['unit'] : 'px'; // Parse in array if responsive rule in string $rule = (array) $rule; foreach($rule as $kk => $_rule){ // Is not reponsive or not variable value? if(isset($value[$kk]) && !is_array($value[$kk])){ if(empty($value[$kk]) && $value[$kk] != '0'){ continue; } $css['desktop'][$sel][] = pagelayer_parse_customize_styles($value[$kk], $_rule, $unit); } foreach($modes as $mode){ // First level responsive key if(isset($value[$mode])){ // Responsive without variable $mode_val = is_numeric($kk) ? $value[$mode] : $value[$mode][$kk] ; if(empty($mode_val) && $mode_val != '0'){ continue; } $css[$mode][$sel][] = pagelayer_parse_customize_styles($mode_val, $_rule, $unit); // We are already in responsive mode continue; } // Second level responsive key like font size if(!isset($value[$kk][$mode]) || empty($value[$kk][$mode]) && $value[$kk][$mode] != '0'){ continue; } $css[$mode][$sel][] = pagelayer_parse_customize_styles($value[$kk][$mode], $_rule, $unit); } } } } // Create css $screen_css = array('desktop' => '', 'tablet' => '', 'mobile' => ''); foreach($css as $mode => $_css){ foreach($_css as $selector => $val){ $parsr_style = $selector.'{'.implode(';', $val)."}\n"; $screen_css[$mode] .= $parsr_style; } } $styles = ''; echo $styles; } // Get Option Values function pagelayer_get_customize_options(){ return get_option('pagelayer_customizer_options', array()); } add_action( 'customize_register', 'pagelayer_woo_customize_register', 11 ); function pagelayer_woo_customize_register( $wp_customize ) { //Pagelayer + WooCommerce Panel $wp_customize->add_panel( 'pgl_woocommerce', array( 'priority' => 10, 'title' => __('Pagelayer + WooCommerce'), ) ); // Add Store Notice Section $wp_customize->get_section( 'woocommerce_store_notice' )->description = ''.__('Click here') .' '. __('to change color scheme of store notice') .''; // Add Store Notice Section $wp_customize->add_section( 'pgl_woo_store_notice', array( 'panel' => 'pgl_woocommerce', 'priority' => 1, 'title' => __('Store Notice'), 'description' => ''.__('Click here') .' '. __('to enable the store notice') .'', ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_notice_bg_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_notice_bg_color]', array( 'label' => __('Background Color'), 'section' => 'pgl_woo_store_notice', 'priority' => 1 ) ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_notice_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_notice_color]', array( 'label' => __('Text Color'), 'section' => 'pgl_woo_store_notice', 'priority' => 1 ) ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_notice_a_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_notice_a_color]', array( 'label' => __('Link Color'), 'section' => 'pgl_woo_store_notice', 'priority' => 1 ) ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_notice_a_hover_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_notice_a_hover_color]', array( 'label' => __('Link Hover Color'), 'section' => 'pgl_woo_store_notice', 'priority' => 1 ) ) ); // Add Store Notice Section $wp_customize->add_section( 'pgl_woo_general', array( 'panel' => 'pgl_woocommerce', 'title' => __('General'), 'priority' => 2, ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_star_rating_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_setting( 'pagelayer_lable_menu_cart', array( 'capability' => 'edit_theme_options', )); $wp_customize->add_control( new Pagelayer_Customize_Control( $wp_customize, 'pagelayer_lable_menu_cart', array( 'type' => 'hidden', 'section' => 'pgl_woo_general', 'description' => __('
    Cart Icon on Menu
    ', 'pagelayer'), 'li_class' => 'pagelayer-accordion-tab', 'priority' => 9 ) )); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_enable_menu_cart]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, 'pagelayer_customizer_options[woo_enable_menu_cart]', array( 'type' => 'checkbox', 'label' => __('Show Cart Icon On Primary Menu'), 'section' => 'pgl_woo_general', 'priority' => 9 )) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_menu_cart_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh' ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_menu_cart_color]', array( 'label' => __('Icon Color'), 'section' => 'pgl_woo_general', 'priority' => 10, ) ) ); // Adds Customizer settings $wp_customize->add_setting( 'pagelayer_customizer_options[woo_menu_cart_number_color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh' ) ); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, 'pagelayer_customizer_options[woo_menu_cart_number_color]', array( 'label' => __('Cart Numbers Color'), 'section' => 'pgl_woo_general', 'priority' => 10, ) ) ); // Shop Page Section $wp_customize->add_section( 'pgl_woo_product_catalog', array( 'panel' => 'pgl_woocommerce', 'title' => __('Product Catalog'), 'priority' => 4, ) ); // Register the WooCommerce Default Padding pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => 'pagelayer_customizer_options', 'control_array_sufix' => 'woo_product_cat_padding', 'section' => 'pgl_woo_product_catalog', 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, 'priority' => 1 ), true); // Single Product Page Sections $wp_customize->add_section( 'pgl_woo_single_product', array( 'panel' => 'pgl_woocommerce', 'title' => __('Single Product'), 'priority' => 5, ) ); // Register the WooCommerce single page Padding pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => 'pagelayer_customizer_options', 'control_array_sufix' => 'woo_product_padding', 'section' => 'pgl_woo_single_product', 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, 'priority' => 1 ), true); // Single Product Page Breadcrumb Enabler $wp_customize->add_setting( 'pagelayer_customizer_options[woo_disable_breadcrumb]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, 'pagelayer_customizer_options[woo_disable_breadcrumb]', array( 'type' => 'checkbox', 'label' => __('Disable Breadcrumb'), 'section' => 'pgl_woo_single_product', 'priority' => 5 )) ); // Cart page settings $wp_customize->add_section( 'pgl_woo_cart_page', array( 'panel' => 'pgl_woocommerce', 'title' => __('Cart'), 'priority' => 7, ) ); pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => 'pagelayer_customizer_options', 'control_array_sufix' => 'woo_cart_padding', 'section' => 'pgl_woo_cart_page', 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, 'priority' => 1 ), true); // cross-sells disable $wp_customize->add_setting( 'pagelayer_customizer_options[woo_disable_cross_sells]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, 'pagelayer_customizer_options[woo_disable_cross_sells]', array( 'type' => 'checkbox', 'label' => __('Disable Cross-sells'), 'section' => 'pgl_woo_cart_page', 'priority' => 2 )) ); // Checkout Page Section $wp_customize->add_section( 'pgl_woo_checkout', array( 'panel' => 'pgl_woocommerce', 'title' => __('Checkout'), 'priority' => 9, ) ); // Checkout page settings pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => 'pagelayer_customizer_options', 'control_array_sufix' => 'woo_checkout_padding', 'section' => 'pgl_woo_checkout', 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, 'priority' => 1 ), true); $wp_customize->add_setting( 'pagelayer_customizer_options[woo_disable_order_note]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, 'pagelayer_customizer_options[woo_disable_order_note]', array( 'type' => 'checkbox', 'label' => __('Disable Order Note'), 'section' => 'pgl_woo_checkout', 'priority' => 2 )) ); $wp_customize->add_setting( 'pagelayer_customizer_options[woo_disable_coupon_field]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', ) ); $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, 'pagelayer_customizer_options[woo_disable_coupon_field]', array( 'type' => 'checkbox', 'label' => __('Disable Coupon Field'), 'section' => 'pgl_woo_checkout', 'priority' => 3 )) ); // My Account Page Section $wp_customize->add_section( 'pgl_woo_myaccount_page', array( 'panel' => 'pgl_woocommerce', 'title' => __('My Account'), 'priority' => 10, ) ); // My Account page settings pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => 'pagelayer_customizer_options', 'control_array_sufix' => 'woo_myaccount_padding', 'section' => 'pgl_woo_myaccount_page', 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, 'priority' => 1 ), true); } // Get product function pagelayer_get_product(){ $_product = wc_get_product(); if(!empty($_product)){ return $_product; } $post = $GLOBALS['post']; if( !wp_doing_ajax() && $post->post_type != 'pagelayer-template'){ return false; } $products = get_posts([ 'post_type' => 'product', 'numberposts' => '1', ]); if(empty($products)){ return false; } $_product = wc_get_product($products[0]->ID); return $_product; } // Load Product configurations to edit the product template add_action( 'template_redirect', 'pagelayer_load_product_template'); function pagelayer_load_product_template($post = []){ global $pagelayer, $product; if(!$post){ $post = $GLOBALS['post']; } if(!class_exists('woocommerce') || empty($post->post_type) || $post->post_type != 'pagelayer-template' || !isset($pagelayer->builder['singular_templates']['Products']) ){ return false; } $products = array_keys($pagelayer->builder['singular_templates']['Products']); $conditions = get_post_meta( $post->ID, 'pagelayer_template_conditions', true ); $is_product_temp = false; foreach( $conditions as $condi ){ if(in_array($condi['sub_template'], $products)){ $is_product_temp = true; } } if(!$is_product_temp){ return false; } // Add WooCommerce Class to body add_filter('body_class', function($classes){ $classes[] = 'woocommerce'; return $classes; }); $product = pagelayer_get_product(); //pagelayer_print($product); wp_enqueue_script( 'wc-single-product' ); wp_enqueue_style( 'wc-single-product' ); // Load woocomerce css and js if ( current_theme_supports( 'wc-product-gallery-zoom' ) ) { wp_enqueue_script( 'zoom' ); } if ( current_theme_supports( 'wc-product-gallery-slider' ) ) { wp_enqueue_script( 'flexslider' ); } if ( current_theme_supports( 'wc-product-gallery-lightbox' ) ) { wp_enqueue_script( 'photoswipe-ui-default' ); wp_enqueue_style( 'photoswipe-default-skin' ); add_action( 'wp_footer', 'woocommerce_photoswipe' ); } wp_enqueue_style( 'photoswipe' ); wp_enqueue_style( 'photoswipe-default-skin' ); wp_enqueue_style( 'photoswipe-default-skin' ); wp_enqueue_style( 'woocommerce_prettyPhoto_css' ); } // Apply filter to load extra woocommerce settings do_action('pagelayer_after_wc_customization'); PKZ4 ? ?%plugins/pagelayer/main/customizer.phpnu[fonts; $style = array('' => 'Default', 'normal' => 'Normal', 'italic' => 'Italic', 'oblique' => 'Oblique'); $weight = array('' => 'Default', '100' => '100', '200' => '200', '300' => '300', '400' => '400', '500' => '500', '600' => '600', '700' => '700', '800' => '800', '900' => '900', 'normal' => 'Normal', 'lighter' => 'Lighter', 'bold' => 'Bold', 'bolder' => 'Bolder', 'unset' => 'Unset'); $variant = array('' => 'Default', 'normal' => 'Normal', 'small-caps' => 'Small Caps'); $decoration = array('' => 'Default', 'none' => 'None', 'overline' => 'Overline', 'line-through' => 'Line-through', 'underline' => 'Underline', 'underline overline' => 'Underline Overline'); $decoration_style = array('' => 'None', 'solid' => 'Solid', 'double' => 'Double', 'dotted' => 'Dotted', 'dashed' => 'Dashed', 'wavy' => 'Wavy'); $transform = array('' => 'Default', 'capitalize' => 'Capitalize', 'uppercase' => 'Uppercase', 'lowercase' => 'Lowercase'); $pagelayer->font_settings = array( 'font-family' => array( 'label' => __('Family', 'pagelayer'), 'choices' => $font_family ), 'font-size' => array( 'label' => __('Size', 'pagelayer'), 'responsive' => 1, ), 'font-style' => array( 'label' => __('Style', 'pagelayer'), 'choices' => $style, ), 'font-weight' => array( 'label' => __('Weight', 'pagelayer'), 'choices' => $weight, 'responsive' => 1, ), 'font-variant' => array( 'label' => __('Variant', 'pagelayer'), 'choices' => $variant, ), 'text-decoration-line' => array( 'label' => __('Decoration', 'pagelayer'), 'choices' => $decoration, ), 'text-decoration-style' => array( 'label' => __('Decoration Style', 'pagelayer'), 'choices' => $decoration_style, ), 'line-height' => array( 'label' => __('Line Height', 'pagelayer'), 'responsive' => 1, ), 'text-transform' => array( 'label' => __('Transform', 'pagelayer'), 'choices' => $transform, ), 'letter-spacing' => array( 'label' => __('Text Spacing', 'pagelayer'), 'responsive' => 1, ), 'word-spacing' => array( 'label' => __('Word Spacing', 'pagelayer'), 'responsive' => 1, ), ); $styles = ''.PHP_EOL; // Added global JavaSript variables $styles .= ''.PHP_EOL; echo $styles; } add_action( 'customize_register', 'pagelayer_customize_register', 11 ); function pagelayer_customize_register( $wp_customize ) { global $pagelayer; // CSS for the custom controls wp_register_style('pagelayer-customizer', PAGELAYER_CSS.'/customizer.css', PAGELAYER_VERSION); wp_enqueue_style('pagelayer-customizer'); // Load fonts pagelayer_load_font_options(); // Load global colors and fonts pagelayer_load_global_palette(); // Add custom controls include_once(PAGELAYER_DIR . '/main/customizer-controls.php'); $post_types = array('' => __('Global')); $exclude = [ 'attachment', 'pagelayer-template' ]; $pt_objects = get_post_types(['public' => true,], 'objects'); foreach ( $pt_objects as $pt_slug => $type ) { if ( in_array( $pt_slug, $exclude ) ) { continue; } $post_types[$pt_slug] = $type->labels->name; } // Pagelayer Panel $wp_customize->add_panel( 'pagelayer_settings', array( 'priority' => 10, 'title' => 'Pagelayer', )); // Global colors section $wp_customize->add_section( 'pagelayer_global_colors_sec', array( 'capability' => 'edit_theme_options', 'priority' => 10, 'title' => __('Colors'), 'panel' => 'pagelayer_settings', )); $wp_customize->add_setting( 'pagelayer_global_colors', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', 'default' => json_encode( $pagelayer->global_colors ) )); $wp_customize->add_control( new Pagelayer_Color_Repeater_Control($wp_customize, 'pagelayer_global_colors', array( 'priority' => 10, 'section' => 'pagelayer_global_colors_sec', ))); // Global fonts section $wp_customize->add_section( 'pagelayer_global_fonts_sec', array( 'capability' => 'edit_theme_options', 'priority' => 10, 'title' => __('Typography'), 'panel' => 'pagelayer_settings', )); $wp_customize->add_setting( 'pagelayer_global_fonts', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', 'default' => json_encode($pagelayer->global_fonts), )); $wp_customize->add_control( new Pagelayer_Font_Repeater_Control($wp_customize, 'pagelayer_global_fonts', array( 'priority' => 10, 'section' => 'pagelayer_global_fonts_sec', ))); foreach($post_types as $sk => $sv){ $post_type = empty($sk) ? '' : '_'.$sk; $global_section = 'pagelayer_global_sec'.$post_type; $global_text = empty($sk) ? '' : __('Global'); // Global section $wp_customize->add_section( $global_section, array( 'capability' => 'edit_theme_options', 'priority' => 10, 'title' => sprintf( __('%s %s Styles', 'pagelayer'), $sv, $global_text), 'panel' => 'pagelayer_settings', )); foreach($pagelayer->css_settings as $set => $setv){ $setting_name = $set.$sk; $setting = empty($setv['key']) ? 'pagelayer_'.$set.'_css'.$post_type : $setv['key'].$post_type; $wp_customize->add_setting( 'pagelayer_lable_'.$setting_name, array( 'capability' => 'edit_theme_options', )); $wp_customize->add_control( new Pagelayer_Customize_Control( $wp_customize, 'pagelayer_lable_'.$setting_name, array( 'type' => 'hidden', 'section' => $global_section, 'description' => sprintf( __('
    %s
    ', 'pagelayer'), $sv.' '.$setv['name']), 'li_class' => 'pagelayer-accordion-tab', ) )); // Register the typography control for body pagelayer_register_typo_customizer_control($wp_customize, array( 'control' => $setting, 'section' => $global_section, 'label' => __( 'Typography', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'responsive' => 1, )); $wp_customize->add_setting( $setting.'[color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', )); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, $setting.'[color]', array( 'section' => $global_section, 'label' => __( 'Color', 'pagelayer' ), ) )); $wp_customize->add_setting( $setting.'[background-color]', array( 'type' => 'option', 'capability' => 'edit_theme_options', 'transport' => 'refresh', )); $wp_customize->add_control( new Pagelayer_Customize_Alpha_Color_Control( $wp_customize, $setting.'[background-color]', array( 'section' => $global_section, 'label' => __( 'Background Color', 'pagelayer' ), ) )); // Register the padding control for scroll to top pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => $setting, 'control_array_sufix' => 'padding', 'section' => $global_section, 'label' => __( 'Padding', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'setting_parts' => array('0', '1', '2', '3', 'unit'), 'responsive' => 1, )); // Register the padding control for scroll to top pagelayer_register_padding_customizer_control($wp_customize, array( 'control' => $setting, 'control_array_sufix' => 'margin', 'section' => $global_section, 'label' => __( 'Margin', 'pagelayer' ), 'capability' => 'edit_theme_options', 'setting_type' => 'option', 'transport' => 'refresh', 'default' => '', 'units' => ['px', 'em', '%'], 'setting_parts' => array('0', '1', '2', '3', 'unit'), 'responsive' => 1, )); } } } /** * Register the Typography control. * * @return void */ function pagelayer_register_typo_customizer_control($wp_customize, $args, $screen_array = false){ $settings_for_control = array(); $settings = array('font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing', 'global-font'); $screens = array(''); $control_array_sufix = ''; if(!empty($args['responsive'])){ $screens = array('desktop' => '', 'tablet' => '_tablet', 'mobile' => '_mobile'); } if(!empty($args['control_array_sufix'])){ $control_array_sufix = '['.$args['control_array_sufix'].']'; } // Register settings foreach($screens as $_screen => $screen){ foreach($settings as $setting){ // Skip units for responsive if($setting == 'unit' && !empty($screen)){ continue; } $setting_name = $args['control']; if($screen_array && count($screens) > 1){ $setting_name .= $control_array_sufix.'['.$_screen.']'; }else{ $setting_name .= $screen.$control_array_sufix; } $setting_name .= '['.$setting.']'; $settings_for_control[$setting.$screen] = $setting_name; $setting_args = array( 'capability' => $args['capability'], 'transport' => $args['transport'], ); if(!empty($args['setting_type'])){ $setting_args['type'] = $args['setting_type']; } if(!empty($args['default'])){ $setting_args['default'] = $args['default']; } $wp_customize->add_setting( $setting_name, $setting_args); } } $args['settings'] = $settings_for_control; $wp_customize->add_control( new Pagelayer_typo_Control( $wp_customize, $args['control']. @$args['control_array_sufix'], $args )); } /** * Register the padding control. * * @return void */ function pagelayer_register_padding_customizer_control($wp_customize, $args, $screen_array = false){ $settings_for_control = array(); $screens = array(''); $control_array_sufix = ''; if(empty($args['setting_parts'])){ $settings = array('top', 'right', 'bottom', 'left', 'unit'); }else{ $settings = $args['setting_parts']; } if(!empty($args['responsive'])){ $screens = array('desktop' => '', 'tablet' => '_tablet', 'mobile' => '_mobile'); } if(!empty($args['control_array_sufix'])){ $control_array_sufix = '['.$args['control_array_sufix'].']'; } // Register settings foreach($screens as $_screen => $screen){ foreach($settings as $setting){ // Skip units for responsive if($setting == 'unit' && (!empty($screen) || $screen_array)){ continue; } $setting_name = $args['control']; if($screen_array && count($screens) > 1){ $setting_name .= $control_array_sufix.'['.$_screen.']'; }else{ $setting_name .= $screen.$control_array_sufix; } $setting_name .= '['.$setting.']'; $settings_for_control[$setting.$screen] = $setting_name; $setting_args = array( 'capability' => $args['capability'], 'transport' => $args['transport'], ); if(!empty($args['default'])){ $setting_args['default'] = $args['default']; } if(!empty($args['setting_type'])){ $setting_args['type'] = $args['setting_type']; } if(!empty($args['sanitize_callback'])){ $setting_args['sanitize_callback'] = $args['sanitize_callback']; } $wp_customize->add_setting( $setting_name, $setting_args); } } // If we save responsive values in same variables if($screen_array && !empty($args['units'])){ $setting_name = $args['control'].$control_array_sufix.'[unit]'; $settings_for_control['unit'] = $setting_name; $setting_args = array( 'capability' => $args['capability'], 'transport' => $args['transport'], ); if(!empty($args['setting_type'])){ $setting_args['type'] = $args['setting_type']; } $wp_customize->add_setting( $setting_name, $setting_args); } $args['settings'] = $settings_for_control; $wp_customize->add_control( new Pagelayer_Padding_Control( $wp_customize, $args['control']. @$args['control_array_sufix'], $args )); } /** * Register the slider control. * * @return void */ function pagelayer_register_slider_custoze_control($wp_customize, $args){ $settings_for_control = array(); $setting = 'slider'; $screens = array(''); if(!empty($args['responsive'])){ $screens = array('desktop' => '_desktop', 'tablet' => '_tablet', 'mobile' => '_mobile'); } // Register settings foreach($screens as $screen => $_screen){ $setting_name = $args['control']; if(count($screens) > 1){ $setting_name .= '['.$screen.']'; } $settings_for_control[$setting.$_screen] = $setting_name; $setting_args = array( 'capability' => $args['capability'], 'transport' => $args['transport'], ); if(!empty($args['default'])){ $setting_args['default'] = $args['default']; } if(!empty($args['setting_type'])){ $setting_args['type'] = $args['setting_type']; } if(!empty($args['sanitize_callback'])){ $setting_args['sanitize_callback'] = $args['sanitize_callback']; } $wp_customize->add_setting($setting_name, $setting_args); } // Register setting for units if(!empty($args['units'])){ $setting_name = $args['control'].'[unit]'; $settings_for_control['unit'] = $setting_name; $setting_args = array( 'capability' => $args['capability'], 'transport' => $args['transport'], ); if(!empty($args['setting_type'])){ $setting_args['type'] = $args['setting_type']; } $wp_customize->add_setting( $setting_name, $setting_args); } $args['settings'] = $settings_for_control; $args['type'] = 'pl_slider'; $wp_customize->add_control( new Pagelayer_Custom_Control( $wp_customize, $args['control'], $args )); }PKZzy=(b(b"plugins/pagelayer/main/website.phpnu[ $b){ if(empty($b)){ unset($r[$a]); continue; } if(is_array($b)){ pagelayer_clear_empty_r($r[$a]); } } return $r; } // The License Page function pagelayer_website_settings(){ global $pagelayer, $pl_error; pagelayer_load_font_options(); if(!empty($_POST)){ check_admin_referer('pagelayer-options'); } if(isset($_POST['submit'])){ foreach($pagelayer->css_settings as $set => $params){ foreach($pagelayer->screens as $sk => $sv){ $suffix = (!empty($sv) ? '_'.$sv : ''); $key = $set.$suffix; $setting = empty($params['key']) ? 'pagelayer_'.$set.'_css' : $params['key']; if(isset($_POST[$key])){ foreach($_POST[$key] as $k => $v){ if($v == 'Default' || empty($v)){ unset($_POST[$key][$k]); } // For sidebar, width default should not be saved if($set == 'sidebar' && $k == 'width' && $v == 20){ unset($_POST[$key][$k]); } } // Padding and Margins or any array based setting if(!empty($_POST[$key]) && is_array($_POST[$key])){ pagelayer_clear_empty_r($_POST[$key]); //pagelayer_print($_POST[$key]); } // Are we to save ? if(!empty($_POST[$key])){ update_option($setting.$suffix, (!empty($_POST[$key]) ? $_POST[$key] : [])); }else{ delete_option($setting.$suffix); } }else{ delete_option($setting.$suffix); } } } // Blank the old color values delete_option('pagelayer_color'); // Blank the old Body font if(!empty($_POST['body']['font-family'])){ update_option('pagelayer_body_font', ''); } //pagelayer_print($_POST); // Content Width if(isset($_REQUEST['pagelayer_content_width'])){ update_option( 'pagelayer_content_width', absint($_REQUEST['pagelayer_content_width'])); } // Tablet breakpoint if(isset($_REQUEST['pagelayer_tablet_breakpoint'])){ update_option( 'pagelayer_tablet_breakpoint', absint($_REQUEST['pagelayer_tablet_breakpoint'])); } // Mobile breakpoint if(isset($_REQUEST['pagelayer_mobile_breakpoint'])){ update_option( 'pagelayer_mobile_breakpoint', absint($_REQUEST['pagelayer_mobile_breakpoint'])); } // Widget Space if(isset($_REQUEST['pagelayer_between_widgets'])){ update_option( 'pagelayer_between_widgets', absint($_REQUEST['pagelayer_between_widgets'])); } if(defined('PAGELAYER_PREMIUM')){ // Save Header code if(isset($_REQUEST['pagelayer_header_code'])){ $header_code = wp_unslash($_REQUEST['pagelayer_header_code']); if(!pagelayer_user_can_add_js_content()){ $header_code = sanitize_textarea_field($header_code); } update_option( 'pagelayer_header_code', $header_code); }else{ delete_option('pagelayer_header_code'); } // Save Body open code if(isset($_REQUEST['pagelayer_body_open_code'])){ $body_code = wp_unslash($_REQUEST['pagelayer_body_open_code']); if(!pagelayer_user_can_add_js_content()){ $body_code = sanitize_textarea_field($body_code); } update_option( 'pagelayer_body_open_code', $body_code); }else{ delete_option('pagelayer_body_open_code'); } // Save Footer code if(isset($_REQUEST['pagelayer_footer_code'])){ $footer_code = wp_unslash($_REQUEST['pagelayer_footer_code']); if(!pagelayer_user_can_add_js_content()){ $footer_code = sanitize_textarea_field($footer_code); } update_option( 'pagelayer_footer_code', $footer_code); }else{ delete_option('pagelayer_footer_code'); } } $GLOBALS['pl_saved'] = true; } pagelayer_website_settings_T(); } // The License Page - THEME function pagelayer_website_settings_T(){ global $pagelayer, $pl_error; pagelayer_page_header('Pagelayer Website Settings'); // Saved ? if(!empty($GLOBALS['pl_saved'])){ echo '

    '. __('The settings were saved successfully', 'pagelayer'). '


    '; } // Any errors ? if(!empty($pl_error)){ pagelayer_report_error($pl_error);echo '
    '; } // Reduce load echo ''; ?>
    '; foreach($pagelayer->css_settings as $k => $v){ echo '

    '.$v['name'].' Style

    '; foreach($pagelayer->screens as $sk => $sv){ echo '
    '; pagelayer_website_font_settings($k.(!empty($sv) ? '_'.$sv : '')); echo '
    '; } echo '
    '; } echo '
    '; ?>
    >

    >

    >

    >

    :

    No Sidebar option will be usable.');?>

    :

    :
    :
    :
    : %
    :

    :

    <head> Section.') ?>

    :

    <body> Section.') ?>

    :

    </body> Section.') ?>





    /> /> /> />px css; } ?>
    Background Color
    >
    Text Color
    >
    settings['sidebar'][$name]) ? $pagelayer->settings['sidebar'][$name] : 'default'; $val = !empty($_POST) ? @$_POST['sidebar'][$name] : $val; // We dont save the value "Default" (note case sensitivity), but the theme customizer saves "default" // We need to keep all values blank if user is submitting values as Default echo ' '; }PKZ8 plugins/pagelayer/main/class.phpnu[ '', 'tablet' => 'tablet', 'mobile' => 'mobile']; // Icons set var $icons = ['font-awesome5']; // For exporting templates var $media_to_export = array(); // For global widget var $global_widgets = array(); // For global section var $global_sections = array(); // For saved sections var $saved_sections = array(); // For saved default params var $default_params = array(); // Youtube API var $append_yt_api = false; var $css = array(); var $css_settings = array(); // Customizer options var $customizer_mods = array(); var $customizer_params = array(); var $data_attr = array(); var $sc_audio_enqueued = 0; var $support = 'http://pagelayer.deskuss.com'; // Global colors and typographies var $global_colors = array(); var $global_fonts = array(); function __construct() { // Load the langs $this->l = @file_get_contents(PAGELAYER_DIR.'/languages/en.json'); $this->l = @json_decode($this->l, true); // Load the langs hook $this->l = apply_filters('pagelayer_load_languages', $this->l); // Add after plugins_loaded add_action('plugins_loaded', [ $this, 'load_extra_languages' ], 11); // Array of font options $this->css_settings = ['body' => ['name' => 'Body', 'key' => 'pagelayer_body_typography'], 'header' => ['name' => 'Site Header', 'sel' => '> header'], 'main' => ['name' => 'Site Main', 'sel' => '.site-main'], 'footer' => ['name' => 'Site Footer', 'sel' => '> footer'], 'entry-header' => ['name' => 'Content Header', 'sel' => '.entry-header'], 'entry-content' => ['name' => 'Content', 'sel' => '.entry-content'], 'entry-footer' => ['name' => 'Content Footer', 'sel' => '.entry-footer'], 'p' => ['name' => 'Paragraph'], 'aside' => ['name' => 'Sidebar'], 'a' => ['name' => 'Link'], 'a-hover' => ['name' => 'Link Hover', 'sel' => 'a:hover'], 'h1' => ['name' => 'H1', 'key' => 'pagelayer_h1_typography'], 'h2' => ['name' => 'H2', 'key' => 'pagelayer_h2_typography'], 'h3' => ['name' => 'H3', 'key' => 'pagelayer_h3_typography'], 'h4' => ['name' => 'H4', 'key' => 'pagelayer_h4_typography'], 'h5' => ['name' => 'H5', 'key' => 'pagelayer_h5_typography'], 'h6' => ['name' => 'H6', 'key' => 'pagelayer_h6_typography'], 'b' => ['name' => 'Bold', 'sel' => 'strong, body.pagelayer-body b'], 'i' => ['name' => 'Italics', 'sel' => 'em, body.pagelayer-body i:not(.fa, .fas, .far, .fab)'], ]; $this->system_fonts = ['Arial', 'Arial Black', 'Courier', 'Georgia', 'Helvetica', 'impact', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana']; $this->customizer_mods = get_option('pagelayer_customizer_mods', []); $this->support = (defined('SITEPAD') ? 'http://sitepad.deskuss.com' : $this->support); $this->typo_props = ['font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing']; } function default_font_styles( $args = array()){ $default_font_styles = [ 'font-family' => 'Open Sans', 'font-size' => '', 'font-style' => '', 'font-variant' => '', 'font-weight' => '', 'letter-spacing' => '', 'line-height' => '', 'text-decoration-line' => '', 'text-decoration-style' => '', 'text-transform' => '', 'word-spacing' => '' ]; return array_merge($default_font_styles, $args); } function load_extra_languages(){ if(defined('SITEPAD')){ $this->l['email_desc'] = 'To change the email, visit your '.BRAND_SM.' Dashboard -> Settings -> Editor Settings'; $this->l['CMA_desc'] = 'To change text, visit your '.BRAND_SM.' Dashboard -> Settings -> Editor Settings'; } } }PKZIv#v#$plugins/pagelayer/main/live-body.phpnu[ [ 'undo' => 'Ctrl+Z', 'redo' => 'Ctrl+Y', 'save_post' => 'Ctrl+S', 'copy_widget' => 'Ctrl+C', 'paste_widget' => 'Ctrl+V', 'duplicate_widget' => 'Ctrl+D', 'delete_widget' => 'Delete' ] ]; echo ' '; do_action('pagelayer_live_body_head'); // Brand Name $brand = strtoupper($pagelayer->BRAND_TEXT); $brand = str_split($brand); echo '

    '.__pl('error').'

    '.__pl('error_submitting').'

    '.__pl('support').'
    10%
    '; foreach($brand as $k => $v){ echo ''.$v.''; } echo '
    '; do_action('pagelayer_iframe_top_bar'); echo '
    '; pagelayer_show_pro_div('Premium Feature', '', 0); echo '

    '.__pl('keyboard_shortcuts').'

    '; foreach($shortcut_groups as $grp_name => $group){ if(empty($group)) { return; } echo '
    '. (!empty($grp_name) ? '

    '.__pl($grp_name).'

    ' :'' ) .'
      '; foreach($group as $desc => $shortcut) { echo '
    • '.__pl($desc).' '; //Considering the whole shortcut as a single key $key = ''.$shortcut.''; //replacing "+" and "," from the string to put it inside $key = preg_replace('/\+/', ' + ', $key); $key = preg_replace('/\,/', '', $key); echo $key.'
    • '; } echo '
    '; } echo '
    '; die(); }PKZc.plugins/pagelayer/main/shortcode_functions.phpnu[ $parsed_block['innerBlocks'], 'content' => $parsed_block['innerContent'] ); $atts = $parsed_block['attrs']; $atts['is_not_sc'] = 1; if ( is_string( $block_name ) && 0 === strpos( $block_name, 'pagelayer/' ) ) { $tag = substr( $block_name, 10 ); } $allowed_tags = ['pl_inner_row', 'pl_inner_col']; if( (empty($tag) || !array_key_exists($tag, $pagelayer->shortcodes) ) && ! in_array( $tag, $allowed_tags) ){ return $pre_render; } return pagelayer_render_shortcode($atts, $content, $tag, $inner_blocks); } // Is there a tag ? function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_blocks = array()){ global $pagelayer; $is_block = 0; $el = []; // Is block ? if(!empty($atts['is_not_sc'])){ $is_block = 1; unset($atts['is_not_sc']); } $_tag = $class = $tag; $final_tag = $tag; // Check if the tag is inner row and col then change it to row and col tag if($tag == 'pl_inner_row'){ $tag = 'pl_row'; }elseif($tag == 'pl_inner_col'){ $tag = 'pl_col'; $final_tag = $tag; } // Clear the pagelayer tags if(substr($tag, 0, 3) == 'pl_'){ $_tag = str_replace('pl_', '', $final_tag); $class = 'pagelayer-'.$_tag; } if(empty($atts)){ $atts = array(); }else{ $atts = (array) $atts; } // If global - > Get the post and replace $atts if(!empty($atts['global_id'])){ if(!empty($pagelayer->global_widgets[$atts['global_id']])){ $content = $pagelayer->global_widgets[$atts['global_id']]['$']; return pagelayer_change_id($content); } if(!empty($pagelayer->global_sections[$atts['global_id']])){ $content = $pagelayer->global_sections[$atts['global_id']]['$']; return pagelayer_change_id($content); } // Set the global id as attr $el['attr'][] = 'pagelayer-global-id="'.$atts['global_id'].'"'; } // Is there any function ? $func = pagelayer_isset($pagelayer->shortcodes[$tag], 'func'); // If not, we will search for a default func if prefix of tag is pl_ if(empty($func) && substr($tag, 0, 3) == 'pl_'){ $func = 'pagelayer_sc_'.substr($tag, 3); } // UnescapeHTML for the attributes, Fix for old shortcode method if(empty($is_block)){ $atts = array_map('pagelayer_unescapeHTML', $atts); } // Create the element array. NOTE : This is similar to the JS el and is temporary $el['atts'] = $atts; $el['oAtts'] = $atts; $el['id'] = !empty($atts['pagelayer-id']) ? $atts['pagelayer-id'] : pagelayer_create_id(); $el['tmp'] = []; $el['tag'] = $final_tag; $el['content'] = $content; $el['inner_blocks'] = $inner_blocks; $el['selector'] = '[pagelayer-id="'.$el['id'].'"]'; $el['cssSel'] = '.p-'.$el['id']; $el['wrap'] = '[pagelayer-wrap-id="'.$el['id'].'"]'; // Remove pagelayer-id from attr if( !empty($atts['pagelayer-id']) ){ unset($el['atts']['pagelayer-id']); unset($el['oAtts']['pagelayer-id']); } $innerHTML = pagelayer_isset($pagelayer->shortcodes[$tag], 'innerHTML'); if(!empty($innerHTML) && !empty($content)){ $el['oAtts'][$innerHTML] = $content; $el['atts'][$innerHTML] = $content; } // The default class $el['classes'][] = 'p-'.$el['id']; $el['classes'][] = $class; // Register hook to filter $el $el = apply_filters('pagelayer_do_shortcode_el', $el); //pagelayer_print($el); // Lets create the CSS, Classes, Attr. Also clean the dependent atts foreach($pagelayer->tabs as $tab){ if(empty($pagelayer->shortcodes[$tag][$tab])){ continue; } foreach($pagelayer->shortcodes[$tag][$tab] as $section => $Lsection){ $props = empty($pagelayer->shortcodes[$tag][$section]) ? @$pagelayer->styles[$section] : @$pagelayer->shortcodes[$tag][$section]; //echo $tab.' - '.$section.' -
    '; if(empty($props)){ continue; } foreach($props as $prop => $param){ //echo $tab.' - '.$section.' - '.$prop.'
    '; // Handle the edit fields if(!empty($param['edit'])){ $el['edit'][$prop] = $param['edit']; } // No value set if(empty($el['atts'][$prop]) && empty($el['atts'][$prop.'_tablet']) && empty($el['atts'][$prop.'_mobile'])){ continue; } // Clean the not required atts if(!empty($param['req'])){ $set = true; foreach($param['req'] as $rk => $reqval){ $except = $rk[0] == '!' ? true : false; $rk = $except ? substr($rk, 1) : $rk; $val = pagelayer_isset($el['atts'], $rk); //echo $prop.' - '.$rk.' : '.$reqval.' == '.$val.'
    '; // The value should not be there if($except){ if(!is_array($reqval) && $reqval == $val){ $set = false; break; } // Its an array and a value is found, then dont show if(is_array($reqval) && in_array($val, $reqval)){ $set = false; break; } // The value must be equal }else{ if(!is_array($reqval) && $reqval != $val){ $set = false; break; } // Its an array and no value is found, then dont show if(is_array($reqval) && !in_array($val, $reqval)){ $set = false; break; } } } // Unset as we dont need if(empty($set)){ unset($el['atts'][$prop]); unset($el['atts'][$prop.'_tablet']); unset($el['atts'][$prop.'_mobile']); unset($el['tmp'][$prop]); unset($el['tmp'][$prop.'_tablet']); unset($el['tmp'][$prop.'_mobile']); } } // We could have unset the value above, so we need to check again if the value is there if(empty($el['atts'][$prop]) && empty($el['atts'][$prop.'_tablet']) && empty($el['atts'][$prop.'_mobile'])){ continue; } // Load any attachment values - This should go on top in the newer version @TODO if(in_array($param['type'], ['image', 'video', 'audio', 'media'])){ $attachment = ($param['type'] == 'image') ? pagelayer_image(@$el['atts'][$prop]) : pagelayer_attachment(@$el['atts'][$prop]); if(!empty($attachment)){ foreach($attachment as $k => $v){ $el['tmp'][$prop.'-'.$k] = $v; } } } // Load any attachment values - This should go on top in the newer version @TODO if($param['type'] == 'multi_image'){ $img_ids = pagelayer_maybe_explode(',', $el['atts'][$prop]); $img_urls = []; // Make the image URL foreach($img_ids as $k => $v){ $image = pagelayer_image($v); $img_urls['i'.$v] = @$image['url']; } $el['tmp'][$prop.'-urls'] = json_encode($img_urls); } // Backward compatibility of row if($el['tag'] == 'pl_row' && $prop == 'content_pos' && !empty($el['atts'][$prop])){ if($el['atts'][$prop] == 'baseline'){ $el['atts'][$prop] = $el['oAtts'][$prop] = 'flex-start'; }else if($el['atts'][$prop] == 'end'){ $el['atts'][$prop] = $el['oAtts'][$prop] = 'flex-end'; } } // Backward compatibility of Icons if($param['type'] == 'icon' && !empty($el['atts'][$prop]) && !preg_match('/\s/', $el['atts'][$prop])){ $el['atts'][$prop] = $el['oAtts'][$prop] = 'fa fa-'.$el['atts'][$prop]; } // Backward compatibility of Box Shadow if($param['type'] == 'box_shadow' && !empty($el['atts'][$prop])){ $shadow_atts = pagelayer_maybe_explode(',', $el['atts'][$prop]); if(count($shadow_atts) == 4){ $shadow_atts[] = '0'; $shadow_atts[] = ''; $el['atts'][$prop] = $el['oAtts'][$prop] = $shadow_atts; } } // Backward compatibility of units. And also for the default set value if it is numeric if(!empty($param['units']) && isset($el['atts'][$prop]) && is_numeric($el['atts'][$prop])){ $el['atts'][$prop] = $el['oAtts'][$prop] = $el['atts'][$prop].$param['units'][0]; } // Load permalink values if($param['type'] == 'link'){ $link = $el['atts'][$prop]; if( is_array($el['atts'][$prop]) ){ // Link is required for check IF and IF-EXT in html if(!isset($el['atts'][$prop]['link']) || strlen(trim($el['atts'][$prop]['link'])) < 1){ $link = ''; unset($el['atts'][$prop]); continue; } $link = $el['atts'][$prop]['link']; if(!empty($el['atts'][$prop]['target'])){ $el['attr'][][$param['selector']] = 'target="_blank"'; } if(!empty($el['atts'][$prop]['rel'])){ $el['attr'][][$param['selector']] = 'rel="nofollow"'; } if(!empty($el['atts'][$prop]['attrs'])){ $atts_ar = pagelayer_string_to_attributes($el['atts'][$prop]['attrs']); if(!empty($atts_ar)){ foreach($atts_ar as $att => $value){ $el['attr'][][$param['selector']] = $att.'="'.$value.'"'; } } } } $el['tmp'][$prop] = pagelayer_permalink($link); } // Handle the AddClasses if(!empty($param['addClass']) && !empty($el['atts'][$prop])){ // Convert to an array if(!is_array($param['addClass'])){ $param['addClass'] = array($param['addClass']); } // Loop through foreach($param['addClass'] as $k => $v){ $k = str_replace('{{element}}', '', $k); $el['classes'][] = [trim($k) => str_replace('{{val}}', $el['atts'][$prop], $v)]; } } // Handle the AddAttributes if(!empty($param['addAttr']) && !empty($el['atts'][$prop])){ // Convert to an array if(!is_array($param['addAttr'])){ $param['addAttr'] = array($param['addAttr']); } // Loop through foreach($param['addAttr'] as $k => $v){ $k = str_replace('{{element}}', '', $k); $el['attr'][] = [trim($k) => $v]; } } $modes = [ 'desktop' => '', 'tablet' => '_tablet', 'mobile' => '_mobile' ]; $global_typo = ($param['type'] == 'typography') ? pagelayer_is_global_typo(@$el['atts'][$prop]) : ''; // Handle the CSS if(!empty($param['css'])){ //echo $prop.'
    '; // Convert to an array if(!is_array($param['css'])){ $param['css'] = array($param['css']); } // Loop the modes and check for values foreach($modes as $mk => $mv){ $M_prop = $prop.$mv; $prop_val = pagelayer_isset($el['atts'], $M_prop); // If is global font if( $param['type'] == 'typography' && (!empty($prop_val) || !empty($global_typo)) ){ $prop_val = pagelayer_parse_typo($prop_val, $global_typo, $mk); } // Any value ? if(empty($prop_val)){ continue; } // Global color handler if($param['type'] == 'color'){ $prop_val = pagelayer_parse_color($prop_val); } // If there is global gradient color if($param['type'] == 'gradient'){ $prop_val = pagelayer_maybe_explode(',', $prop_val); foreach($prop_val as $grad_key => $grad_val){ if($grad_val[0] != '$'){ continue; } $prop_val[$grad_key] = pagelayer_parse_color($grad_val); } } // Loop through foreach($param['css'] as $k => $v){ // Make the selector $selector = (!is_numeric($k) ? $k : $el['cssSel']); $selector = pagelayer_parse_el_vars($selector, $el); if($mk == 'tablet'){ $selector = '|pl_tablet|'.$selector; } if($mk == 'mobile'){ $selector = '|pl_mobile|'.$selector; } // Make the CSS if(!empty($selector)){ $el['css'][$selector][] = rtrim( trim( pagelayer_css_render($v, $prop_val, pagelayer_isset($param, 'sep')) ), ';' ); }else{ $el['css'][][] = pagelayer_parse_el_vars($el['atts'][$M_prop],$el); } } } } $font_cache = ''; // Loop the modes and check for values foreach($modes as $mk => $mv){ $M_prop = $prop.$mv; if($param['type'] == 'typography' && !empty($el['atts'][$M_prop])){ $prop_val = pagelayer_parse_typo($el['atts'][$M_prop], $global_typo, $mk); $val = pagelayer_maybe_explode(',', $prop_val); //For backward comaptibility if($mk == 'desktop'){ $font_cache = $val[0]; } $val[0] = empty($val[0]) ? $font_cache : $val[0]; if(!empty($val[0])){ pagelayer_load_font_family($val[0], pagelayer_isset($val, 3), pagelayer_isset($val, 2)); //pagelayer_print($pagelayer->runtime_fonts); } } if($prop == 'font_family' && !empty($el['atts'][$M_prop])){ $val = $el['atts'][$M_prop]; if(!empty($val)){ pagelayer_load_font_family($val, pagelayer_isset($el['atts'], 'font_weight'.$mv), pagelayer_isset($el['atts'], 'font_style'.$mv)); } } } } } } //@pagelayer_print($el['css']); // Is there a function of the tag ? if(function_exists($func)){ call_user_func_array($func, array(&$el)); } // Create the default atts and tmp atts if(pagelayer_is_live()){ pagelayer_create_sc($el, $is_block); } $div = '
    '; $is_group = !empty($pagelayer->shortcodes[$tag]['has_group']) ? true : false; // If there is an HTML AND you are not a GROUP, then make use of it, or append the real content if(!empty($pagelayer->shortcodes[$tag]['html'])){ // Create the HTML object $node = pagelayerQuery::parseStr($pagelayer->shortcodes[$tag]['html']); // Remove the if-ext foreach($node('[if-ext]') as $v){ $reqvar = pagelayer_var($v->attr('if-ext')); $v->removeAttr('if-ext'); // Is the element there ? if(empty($el['atts'][$reqvar])){ $ext_html = $v->html(); if(strlen($ext_html) > 0){ $v->after($ext_html); } $v->remove(); } } // Remove the if foreach($node('[if]') as $v){ $reqvar = pagelayer_var($v->attr('if')); $v->removeAttr('if'); // Is the element there ? if(empty($el['atts'][$reqvar])){ $v->remove(); } } //die($node->html()); // Do we have a holder ? Mainly for groups if(!empty($pagelayer->shortcodes[$tag]['holder'])){ $node->query($pagelayer->shortcodes[$tag]['holder'])->html('{{pagelayer_do_shortcode}}'); $do_shortcode = 1; } $html = pagelayer_parse_vars($node->html(), $el); // Append to the DIV $div .= $html; // Is it a widget ? }elseif(!empty($pagelayer->shortcodes[$tag]['widget'])){ $class = $pagelayer->shortcodes[$tag]['widget']; $instance = []; // Is there any existing data ? if(!empty($el['atts']['widget_data'])){ $json = trim($el['atts']['widget_data']); $json = json_decode($json, true); //pagelayer_print($json);die(); if(!empty($json)){ $instance = $json; } } ob_start(); the_widget($class, $instance, array('widget_id'=>'arbitrary-instance-'.$el['id'], 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => '' )); $div .= ob_get_contents(); ob_end_clean(); }else{ $div .= '{{pagelayer_do_shortcode}}'; $do_shortcode = 1; } // End the tag $div .= '
    '; // Add classes and attributes if(!empty($el['classes']) || !empty($el['attr']) || !empty($el['atts']['ele_attributes'])){ // Create the HTML object $node = pagelayerQuery::parseStr($div); // Add the editable values if(!empty($el['edit']) && pagelayer_is_live()){ foreach($el['edit'] as $k => $v){ $node->query($v)->attr('pagelayer-editable', $k); } } // Add the post data editable if(pagelayer_is_live() && !empty($pagelayer->shortcodes[$tag]['edit_props']) && is_array($pagelayer->shortcodes[$tag]['edit_props'])){ $edit_props = $pagelayer->shortcodes[$tag]['edit_props']; foreach($edit_props as $k => $v){ $node->query($k)->attr('pagelayer-props-editable', $v); } } // Add the classes if(!empty($el['classes'])){ //pagelayer_print($el['classes']); foreach($el['classes'] as $k => $v){ if(!is_array($v)){ $v = [$v]; } foreach($v as $kk => $vv){ //echo $kk.' - '.$vv."\n"; if(is_numeric($kk)){ $node->query($el['selector'])->addClass($vv); }else{ $node->query($kk)->addClass($vv); } } } //echo $node->html(); //die(); } // Add the attributes if(!empty($el['attr'])){ //pagelayer_print($el['attr']); foreach($el['attr'] as $k => $v){ if(!is_array($v)){ $v = [$v]; } foreach($v as $kk => $vv){ $att = explode('=', $vv, 2); $att[1] = pagelayer_parse_vars($att[1], $el); $att[1] = trim($att[1], '"'); if(is_numeric($kk)){ $node->query($el['selector'])->attr($att[0], $att[1]); }else{ $node->query($kk)->attr($att[0], $att[1]); } } } } // Adding Custom Attributes if(!empty($el['atts']['ele_attributes'])){ $val = pagelayer_string_to_attributes($el['atts']['ele_attributes']); if(!empty($val)){ foreach($val as $att => $value ){ $node->query($el['selector'])->attr($att, $value); } } } // Get font family form inline style foreach($node->query('[style]') as $snode){ $ss = $snode->attr('style'); if(strpos($ss, 'font-family') === false){ continue; } $ss = explode(';', html_entity_decode($snode->attr('style'))); foreach($ss as $sss){ if(strpos($sss, 'font-family') === false){ continue; } $ff = explode(':', $sss); $val = trim( trim($ff[1]), '"' ); $fw = array('100', '100i', '200', '200i', '300', '300i', '400', '400i', '500', '500i', '600', '600i', '700', '700i', '800', '800i', '900', '900i'); foreach($fw as $ww){ $pagelayer->runtime_fonts[$val][$ww] = $ww; } } } $div = $node->html(); //die($div); } // Add the CSS if any or remove it $style = ''; if(!empty($el['css'])){ $screen_style = array('tablet' => '', 'mobile' => ''); $style = ''; $style = pagelayer_parse_vars($style, $el); if(!empty($pagelayer->shortcodes[$tag]['overide_css_selector'])){ $overide_css_selector = pagelayer_parse_el_vars($pagelayer->shortcodes[$tag]['overide_css_selector'], $el); $style = str_replace($el['cssSel'], $overide_css_selector, $style); $style = str_replace($el['wrap'], $overide_css_selector, $style); } $style = pagelayer_unescapeHTML($style); } $div = str_replace('', $style, $div); // Is there an inner content which requires a SHORTCODE ? if(!empty($do_shortcode)){ $inner_content = pagelayer_render_inner_content($el); $div = str_replace('{{pagelayer_do_shortcode}}', $inner_content, $div); } // Sanitize the content $div = apply_filters( 'pagelayer_sanitize_do_shortcode', $div ); return $div; } // Render inner content function pagelayer_render_inner_content(&$el){ $inner_content = ''; // Is block code? if( !empty($el['inner_blocks']) ){ $index = 0; foreach ( $el['inner_blocks']['content'] as $chunk ) { if ( is_string( $chunk ) ) { // If any string in Column the conver this is text widget in pagelayer live if(!empty(trim($chunk)) && pagelayer_is_live() && $el['tag'] == 'pl_col'){ $parsed_block['blockName'] = 'pagelayer/pl_text'; $parsed_block['innerHTML'] = $chunk; $parsed_block['attrs'] = []; $inner_content .= render_block($parsed_block); continue; } $inner_content .= $chunk; continue; } $inner_block = $el['inner_blocks']['blocks'][ $index ]; $inner_content .= render_block($inner_block); ++$index; } }else{ $inner_content .= do_shortcode($el['content']); } return $inner_content; } // Change pagelayer id in html function pagelayer_change_id($content){ global $pagelayer; preg_match_all('/pagelayer-id="(.*?)"/', $content, $matches); $matches = array_unique($matches[1]); foreach($matches as $val){ $id = pagelayer_create_id(); $content = str_replace($val, $id, $content); } return $content; } // Creates the shortcode and returns a base64 encoded files function pagelayer_create_sc(&$el, $is_block = 0){ global $pagelayer; $a = $tmp = array(); $pagelayer->data_attr[$el['id']] = ['attr' => $el['oAtts'], 'tmp' => $el['tmp']]; /*if(!empty($el['oAtts'])){ foreach($el['oAtts'] as $k => $v){ $v = str_replace('&', '&', $v); if($is_block){ $v = pagelayer_escapeHTML($v); } $el['attr'][] = 'pagelayer-a-'.$k.'="'.$v.'"'; } } // Tmp atts if(!empty($el['tmp'])){ foreach($el['tmp'] as $k => $v){ $v = str_replace('&', '&', $v); if($is_block){ $v = pagelayer_escapeHTML($v); } $el['attr'][] = 'pagelayer-tmp-'.$k.'="'.$v.'"'; } }*/ // Add the tag $el['attr'][] = 'pagelayer-tag="'.$el['tag'].'"'; // Make it a Pagelayer element for editing $el['classes'][] = 'pagelayer-ele'; } // Converts {{val}} to val function pagelayer_var($var){ return substr($var, 2, -2); } // Is the given global color function pagelayer_is_global_typo($value){ global $pagelayer; $typo_key = ''; // Backward compatibility if(is_string($value) && $value[0] == '$'){ $typo_key = substr($value, 1); } if(is_array($value) && isset($value['global-font'])){ $typo_key = $value['global-font']; } // If global color not exist if(!empty($typo_key)){ $typo_key = isset($pagelayer->global_fonts[$typo_key]) ? $typo_key : 'primary'; } return $typo_key; } // Parse typography and handle Backward compatibility function pagelayer_parse_typo($value, $desk_global = '', $mk = 'desktop'){ global $pagelayer; $value = empty($value)? [] : $value; // Backward compatibility for comma seperated val if(!is_array($value) && $value[0] != '$'){ return $value; } $val = ['','','','','','','','','','','']; $global_typo = pagelayer_is_global_typo($value); $_desk_global = false; if( empty($global_typo) ){ $global_typo = $desk_global; $_desk_global = true; } // Apply global typo foreach($pagelayer->typo_props as $typo => $typo_key){ // Backspace compatibility for normal array and if is set global in '$' format like $primary if(is_array($value) && !empty($value[$typo])){ $val[$typo] = $value[$typo]; } if(!empty($value[$typo_key])){ $val[$typo] = $value[$typo_key]; } if(!empty($val[$typo]) || empty($global_typo)){ continue; } $global_val = $pagelayer->global_fonts[$global_typo]['value']; if( empty($global_val[$typo_key]) || (is_array($global_val[$typo_key]) && empty($global_val[$typo_key][$mk])) || (!is_array($global_val[$typo_key]) && !empty($_desk_global) && $mk != 'desktop') ){ continue; } $val[$typo] = 'var(--pagelayer-font-'.$global_typo.'-'.$typo_key.')'; } return $val; } // Parse color for global color function pagelayer_parse_color($value, $var = true){ global $pagelayer; // Global color handler if($value[0] != '$' ){ return $value; } $gkey = substr($value, 1); $gkey = isset($pagelayer->global_colors[$gkey]) ? $gkey : 'primary'; if(empty($var)){ return @$pagelayer->global_colors[$gkey]['value']; } return 'var(--pagelayer-color-'.$gkey.')'; } // Replace the variables function pagelayer_parse_el_vars($str, &$el){ global $pagelayer, $post; // if is 404 then @$post->ID if(!empty( $pagelayer->rendering_template_id ) && @$post->ID != $pagelayer->rendering_template_id){ $is_editable = false; }else{ $is_editable = true; } $str = str_replace('{{element}}', $el['cssSel'], $str); $is_live = pagelayer_is_live(); if(!empty($is_live) && $is_editable){ $str = str_replace('{{wrap}}', $el['wrap'], $str); }else{ $str = str_replace('{{wrap}}', $el['cssSel'], $str); } $str = str_replace('{{ele_id}}', $el['id'], $str); return $str; } // Parse the variables function pagelayer_parse_vars($str, &$el){ //pagelayer_print($el); if(!empty($el['tmp']) && is_array($el['tmp'])){ foreach($el['tmp'] as $k => $v){ $str = str_replace('{{{'.$k.'}}}', pagelayer_maybe_implode($el['tmp'][$k]), $str); } } if(is_array($el['atts'])){ foreach($el['atts'] as $k => $v){ $str = str_replace('{{'.$k.'}}', pagelayer_maybe_implode($el['atts'][$k]), $str); } } return $str; } // Make the rule function pagelayer_css_render($rule, $val, $sep = ','){ // Seperator $sep = empty($sep) ? ',' : $sep; if(is_array($val)){ $val = implode($sep, $val); } // Replace the val $rule = pagelayer_css_val_replace('{{val}}', pagelayer_hex8_to_rgba($val), $rule); // If there is an array if(preg_match('/\{val\[\d/is', $rule)){ $val = explode($sep, $val); foreach($val as $k => $v){ $rule = pagelayer_css_val_replace('{{val['.$k.']}}', pagelayer_hex8_to_rgba($v), $rule); } } return $rule; } // Make the rule function pagelayer_css_val_replace($val, $v, $rule){ // If value has css var then we remove units if(strripos($v, 'var(') !== false){ $pattern = '/'.preg_quote($val, '/').'?[^\s|;]+/is'; $rule = preg_replace($pattern, $v, $rule); return $rule; } $rule = str_replace($val, $v, $rule); return $rule; } // Post Property Handler function pagelayer_sc_post_props(&$el){ global $post; if(empty($post)){ return; } $el['oAtts']['post_title'] = $post->post_title; $el['oAtts']['post_name'] = $post->post_name; $el['oAtts']['post_excerpt'] = $post->post_excerpt; $el['oAtts']['post_status'] = (empty($post->post_password)) ? $post->post_status : 'pass_protected'; $el['oAtts']['post_password'] = $post->post_password; $el['oAtts']['featured_image'] = get_post_thumbnail_id($post); $el['oAtts']['comment_status'] = ($post->comment_status == 'open') ? 'true' : ''; $el['oAtts']['ping_status'] = ($post->ping_status == 'open') ? 'true' : ''; $el['oAtts']['post_date'] = $post->post_date; $el['oAtts']['post_sticky'] = is_sticky($post->ID) ? 'true' : ''; $el['oAtts']['post_parent'] = $post->post_parent; $el['oAtts']['menu_order'] = $post->menu_order; $el['oAtts']['post_author'] = $post->post_author; $el['oAtts']['post_category'] = ''; $el['oAtts']['post_tags'] = ''; $tag_name = pagelayer_post_type_tag($post->post_type); if(!empty($tag_name)){ $postTags = wp_get_post_terms( $post->ID, $tag_name ); $el['oAtts']['post_tags'] = array_column((array)$postTags, 'name'); } $cat_name = pagelayer_post_type_category($post->post_type); if(!empty($cat_name)){ $category = get_the_terms( $post->ID, $cat_name ); $el['oAtts']['post_category'] = array_column((array)$category, 'term_id'); } // Load featured image details if(!empty($el['oAtts']['featured_image'])){ $attachment = pagelayer_image($el['oAtts']['featured_image']); if(!empty($attachment)){ foreach($attachment as $k => $v){ $el['tmp']['featured_image-'.$k] = $v; } } } } // ROW Handler function pagelayer_sc_row(&$el){ pagelayer_bg_video($el); if(!empty($el['atts']['row_shape_type_top'])){ $path_top = PAGELAYER_DIR.'/images/shapes/'.$el['atts']['row_shape_type_top'].'-top.svg'; $el['atts']['svg_top'] = file_get_contents($path_top); } if(!empty($el['atts']['row_shape_type_bottom'])){ $path_bottom = PAGELAYER_DIR.'/images/shapes/'.$el['atts']['row_shape_type_bottom'].'-bottom.svg'; $el['atts']['svg_bottom'] = file_get_contents($path_bottom); } // Row background slider if(!empty($el['atts']['bg_slider'])){ $ids = pagelayer_maybe_explode(',', $el['atts']['bg_slider']); $urls = []; $el['atts']['slider'] = ''; // Make the image URL foreach($ids as $k => $v){ $image = pagelayer_image($v); $urls['i'.$v] = @$image['url']; $el['atts']['slider'] .= '
    '; } if(!empty($urls)){ $el['tmp']['bg_slider-urls'] = json_encode($urls); } } // Row background parallax image. if(!empty($el['atts']['parallax_img'])){ $img_size = @$el['tmp']['parallax_img-'.$el['atts']['parallax_id_size'].'-url']; $el['atts']['parallax_img_src'] = empty($img_size) ? @$el['tmp']['parallax_img-url'] : $img_size; } } // Column Handler function pagelayer_sc_col(&$el){ // Add the default col class $el['classes'][] = 'pagelayer-col'; //return do_shortcode($el['content']); pagelayer_bg_video($el); // Column background slider if(!empty($el['atts']['bg_slider'])){ $ids = pagelayer_maybe_explode(',', $el['atts']['bg_slider']); $urls = []; $el['atts']['slider'] = ''; // Make the image URL foreach($ids as $k => $v){ $image = pagelayer_image($v); $urls['i'.$v] = @$image['url']; $el['atts']['slider'] .= '
    '; } if(!empty($urls)){ $el['tmp']['bg_slider-urls'] = json_encode($urls); } } // Col background parallax image. if(!empty($el['atts']['parallax_img'])){ $img_size = @$el['tmp']['parallax_img-'.$el['atts']['parallax_id_size'].'-url']; $el['atts']['parallax_img_src'] = empty($img_size) ? @$el['tmp']['parallax_img-url'] : $img_size; } } // Just for BG handling function pagelayer_bg_video(&$el){ if(empty($el['tmp']['bg_video_src-url'])){ return false; } // Get the video URL for the iframe $iframe_atts = pagelayer_video_url($el['tmp']['bg_video_src-url'], true); $source = esc_url( $el['tmp']['bg_video_src-url'] ); $source = str_replace('&', '&', $source); $url = parse_url($source); $iframe_atts['src'] .= substr_count($iframe_atts['src'], '?') > 0 ? '' : '?'; if(!empty($el['atts']['mute'])){ $iframe_atts['src'] .= "&mute=1"; $el['atts']['mute'] = " muted "; }else{ $iframe_atts['src'] .= "&mute=0"; $el['atts']['mute'] = ""; } if(empty($el['atts']['stop_loop'])){ $iframe_atts['src'] .= "&loop=1"; $el['atts']['stop_loop'] = " loop "; }else{ $iframe_atts['src'] .= "&loop=0"; $el['atts']['stop_loop'] = ""; } if (!empty($source)) { if ($iframe_atts['type'] == 'youtube') { $settings = ' data-loop="'.( !empty($el['atts']['stop_loop']) ? 1 : 0 ).'" data-mute="'.( !empty($el['atts']['mute']) ? 1 : 0 ).'" data-videoid = "'.( $iframe_atts['id'] ).'"'; $el['atts']['vid_src'] = '
    '; } else if ($iframe_atts['type'] == 'vimeo') { $el['atts']['vid_src'] = ''; }else{ $el['atts']['vid_src'] = ''; } } } // Heading Handler function pagelayer_sc_heading(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array('rel' => '', 'selector' => '.pagelayer-link-sel')); } // Heading Handler function pagelayer_sc_icon(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array('rel' => '', 'selector' => '.pagelayer-ele-link')); } // Heading Handler function pagelayer_sc_badge(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'badge_url', 'rel' => '', 'target' => 'badge_target', 'selector' => '.pagelayer-ele-link' )); } // Heading Handler function pagelayer_sc_btn(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array('selector' => '.pagelayer-btn-holder')); } // Image Handler function pagelayer_sc_social(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'social_url', 'rel' => '', 'selector' => '.pagelayer-ele-link' )); if(empty($el['atts']['icon'])) return; $icon = explode(' fa-', $el['atts']['icon']); $el['classes'][] = ['.pagelayer-icon-holder' => 'pagelayer-'.$icon[1]]; } // Image Handler function pagelayer_sc_image(&$el){ // Decide the image URL $el['atts']['func_id'] = @$el['tmp']['id-'.$el['atts']['id-size'].'-url']; $el['atts']['func_id'] = empty($el['atts']['func_id']) ? @$el['tmp']['id-url'] : $el['atts']['func_id']; $el['atts']['pagelayer-srcset'] = $el['atts']['func_id'].', '.$el['atts']['func_id'].' 1x, '; $image_atts = array( 'name' => 'id', 'size' => 'id-size' ); pagelayer_get_img_srcset($el, $image_atts); // What is the link ? if(!empty($el['atts']['link_type'])){ // Custom url if($el['atts']['link_type'] == 'custom_url'){ // Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'rel' => '', 'selector' => '.pagelayer-ele-link')); $el['atts']['func_link'] = @$el['tmp']['link']; } // Link to the media file itself if($el['atts']['link_type'] == 'media_file'){ $el['atts']['func_link'] = $el['atts']['func_id']; } // Lightbox if($el['atts']['link_type'] == 'lightbox'){ $el['atts']['func_link'] = $el['atts']['func_id']; } } //pagelayer_print($el); } // Image Slider Handler function pagelayer_sc_image_slider(&$el){ // Backward compatibility for new link props if( !empty($el['atts']['link_type']) && $el['atts']['link_type'] == 'custom_url' ){ pagelayer_add_link_backward($el, array( 'rel' => '', 'selector' => '.pagelayer-link-sel')); } if(empty($el['atts']['ids'])){ $el['atts']['ids'] = ''; } $ids = pagelayer_maybe_explode(',', $el['atts']['ids']); $urls = []; $all_urls = []; $final_urls = []; $ul = []; $size = $el['atts']['size']; // Make the image URL foreach($ids as $k => $v){ $image = pagelayer_image($v); $final_urls[$v] = empty($image[$size.'-url']) ? @$image['url'] : $image[$size.'-url']; $urls['i'.$v] = @$image['url']; foreach($image as $kk => $vv){ $si = strstr($kk, '-url', true); if(!empty($si)){ $all_urls['i'.$v][$si] = $vv; } } $li = '
  • '; // Any Link ? if(!empty($el['atts']['link_type'])){ $link = ($el['atts']['link_type'] == 'media_file' ? (!empty($image['url']) ? $image['url'] : $final_urls[$v]) : @$el['tmp']['link']); $li .= ''; } // The Image $li .= ''.$image['alt'].''; if(!empty($el['atts']['link_type'])){ $li .= ''; } $li .= '
  • '; $ul[] = $li; } //pagelayer_print($urls); //pagelayer_print($final_urls); //pagelayer_print($all_urls); // Make the TMP vars if(!empty($urls)){ $el['tmp']['ids-urls'] = json_encode($urls); $el['tmp']['ids-all-urls'] = json_encode($all_urls); $el['atts']['ul'] = implode('', $ul); // Which arrows to show if(in_array(@$el['atts']['controls'], ['arrows', 'none'])){ $el['attr'][] = ['.pagelayer-image-slider-ul' => 'data-pager="false"']; } if(in_array(@$el['atts']['controls'], ['pager', 'none'])){ $el['attr'][] = ['.pagelayer-image-slider-ul' => 'data-controls="false"']; } } }; //Grid Gallery Handler function pagelayer_sc_grid_gallery(&$el){ if(empty($el['atts']['ids'])){ $el['atts']['ids'] = ''; } $ids = pagelayer_maybe_explode(',', $el['atts']['ids']); $urls = []; $all_urls = []; $final_urls = []; $ul = []; $pagin = '
  • 1
  • '; $size = $el['atts']['size']; $i = 0; $j = 1; $img_Page = $el['atts']['images_no']; $gallery_rand = 'gallery-id-'.floor((rand() * 100) + 1); $ul[] = ''; $pagiComplete[] = ''; //pagelayer_print($urls); //pagelayer_print($final_urls); //pagelayer_print($all_urls); // Make the TMP vars if(!empty($urls)){ $el['tmp']['ids-urls'] = json_encode($urls); $el['tmp']['ids-all-urls'] = json_encode($all_urls); $el['tmp']['ids-all-links'] = json_encode($links); $el['tmp']['ids-all-titles'] = json_encode($titles); $el['tmp']['ids-all-captions'] = json_encode($captions); $el['atts']['ul'] = implode('', $ul); $el['atts']['pagin'] = ($j>1) ? implode('', $pagiComplete) : ''; $el['tmp']['gallery-random-id'] = $gallery_rand; } } // Testimonial Handler function pagelayer_sc_testimonial(&$el){ if(empty($el['atts']['avatar']) || !empty($el['tmp']['avatar-no-image-set'])){ $el['atts']['avatar'] = ''; } $custom_size = empty($el['atts']['custom_size']) ? '' : @$el['tmp']['avatar-'.$el['atts']['custom_size'].'-url']; $el['atts']['func_image'] = empty($custom_size) ? @$el['tmp']['avatar-url'] : $custom_size; } // Video Handler function pagelayer_sc_video(&$el){ $el['atts']['custom_size'] = empty($el['atts']['custom_size']) ? '' : $el['atts']['custom_size']; $el['tmp']['video_overlay_image-url'] = empty($el['tmp']['video_overlay_image-url']) ? '' : $el['tmp']['video_overlay_image-url']; $el['atts']['video_overlay_image'] = empty($el['atts']['video_overlay_image']) ? '' : $el['atts']['video_overlay_image']; $el['atts']['video_overlay_image-url'] = empty($el['tmp']['video_overlay_image-'.$el['atts']['custom_size'].'-url']) ? $el['tmp']['video_overlay_image-url'] : $el['tmp']['video_overlay_image-'.$el['atts']['custom_size'].'-url']; $el['atts']['video_overlay_image-url'] = empty($el['atts']['video_overlay_image-url']) ? $el['atts']['video_overlay_image'] : $el['atts']['video_overlay_image-url']; // Get the video URL for the iframe $vid_atts = pagelayer_video_url($el['tmp']['src-url'], true); $vid_atts['src'] .= substr_count($vid_atts['src'], '?') > 0 ? '' : '?'; $vid_atts['src'] .= !empty($el['atts']['autoplay']) ? '&autoplay=1' : '&autoplay=0' ; $mute = !empty($el['atts']['mute']) ? 1 : 0; $vid_atts['src'] .='&'.($vid_atts['type'] == 'vimeo' ? 'muted' : 'mute').'='.$mute; $vid_atts['src'] .= !empty($el['atts']['loop']) == 'true' ? '&loop=1' : '&loop=0' ; $el['atts']['vid_src'] = $vid_atts['src'].($vid_atts['type'] == 'youtube' ? '&playlist='.$vid_atts['id'] : ''); $el['tmp']['ele_id'] = $el['id']; } // Shortcodes Handler function pagelayer_sc_shortcodes(&$el){ $is_live = pagelayer_is_live(); if(empty($is_live)){ $el['tmp']['shortcode'] = pagelayer_the_content($el['atts']['data']); } } // Missing Handler function pagelayer_sc_missing(&$el){ if(pagelayer_is_live()){ $el['tmp']['missing_msg'] = __('The pagelayer doesn’t support this content. You can leave this block intact or remove it completely.'); } } // Shortcodes Handler function pagelayer_sc_wp_widgets(&$el){ global $wp_registered_sidebars; $data = ''; foreach($wp_registered_sidebars as $v){ if($el['atts']['sidebar'] == $v['id']){ ob_start(); dynamic_sidebar($v['id']); $data = ob_get_clean(); } } $el['tmp']['data'] = $data; } // Service Handler function pagelayer_sc_service(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'box_url', 'rel' => '', 'target' => 'box_target', 'selector' => '.pagelayer-box-link' )); //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'heading_url', 'rel' => '', 'target' => 'heading_target', 'selector' => '.pagelayer-service-heading-link' )); //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'service_button_url', 'rel' => '', 'target' => 'service_button_target', 'selector' => '.pagelayer-service-btn' )); if(!empty($el['atts']['service_image'])){ // Decide the image URL $el['atts']['func_image'] = @$el['tmp']['service_image-'.$el['atts']['service_image_size'].'-url']; $el['atts']['func_image'] = empty($el['atts']['func_image']) ? @$el['tmp']['service_image-url'] : $el['atts']['func_image']; $el['atts']['pagelayer-srcset'] = $el['atts']['func_image'].', '.$el['atts']['func_image'].' 1x, '; $image_atts = array( 'name' => 'service_image', 'size' => 'service_image_size' ); pagelayer_get_img_srcset($el, $image_atts); } } // Icon box Handler function pagelayer_sc_iconbox(&$el){ //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'box_url', 'rel' => '', 'target' => 'box_target', 'selector' => '.pagelayer-box-link' )); //Backward compatibility for new link props pagelayer_add_link_backward($el, array( 'link' => 'heading_url', 'rel' => '', 'target' => 'heading_target', 'selector' => '.pagelayer-service-heading-link', )); } function pagelayer_sc_google_maps(&$el){ $el['atts']['show_v2'] = true; if(empty($el['atts']['api_version'])){ $el['atts']['src_code'] = ''; return; } $el['atts']['show_v2'] = false; $api_key = @$el['atts']['api_key']; $gmaps_api = get_option('pagelayer-gmaps-api-key'); if( empty($api_key) && !empty($gmaps_api) ){ $api_key = $gmaps_api; } if($el['atts']['map_modes'] == 'view'){ $el['atts']['center'] = empty($el['atts']['center']) ? '-33.8569,151.2152' : $el['atts']['center']; } $src_code = (empty($el['atts']['center']) ? '' : '¢er='.$el['atts']['center']).($el['atts']['map_modes'] == 'streetview' ? '' : '&maptype='.$el['atts']['map_type'].'&zoom='.$el['atts']['zoom']); switch($el['atts']['map_modes']){ case 'place': $src_code .= '&q='.(empty($el['atts']['address']) ? 'New York, New York, USA' : urlencode($el['atts']['address']) ); break; case 'directions': $src_code .= '&origin='.(empty($el['atts']['direction_origin']) ? 'Oslow Norway' : urlencode($el['atts']['direction_origin']) ); $src_code .= '&destination='.(empty($el['atts']['direction_destination']) ? 'Telemark Norway' : urlencode($el['atts']['direction_destination']) ); $src_code .= (empty($el['atts']['direction_waypoints']) ? '' : '&waypoints='.join('|', explode(' ', trim($el['atts']['direction_waypoints']))) ); $src_code .= (empty($el['atts']['direction_modes']) ? '' : '&mode='.$el['atts']['direction_modes'] ); $src_code .= (empty($el['atts']['direction_avoid']) ? '' : '&avoid='.join('|', explode(',', $el['atts']['direction_avoid'])) ); $src_code .= (empty($el['atts']['direction_units']) ? '' : '&units='.$el['atts']['direction_units'] ); break; case 'streetview': $src_code .= '&pano='.(empty($el['atts']['streetview_pano']) ? 'eTnPNGoy4bxR9LpjjfFuOw' : $el['atts']['streetview_pano'] ); $src_code .= '&location='.(empty($el['atts']['streetview_location']) ? '46.414382,10.013988' : $el['atts']['streetview_location'] ); $src_code .= (empty($el['atts']['streetview_heading']) ? '' : '&heading='.$el['atts']['streetview_heading'] ); $src_code .= (empty($el['atts']['streetview_pitch']) ? '' : '&pitch='.$el['atts']['streetview_pitch'] ); $src_code .= (empty($el['atts']['streetview_fov']) ? '' : '&fov='.$el['atts']['streetview_fov'] ); break; case 'search': $src_code .= '&q='.(empty($el['atts']['search_term']) ? 'Record stores in Seattle' : urlencode($el['atts']['search_term']) ); break; } $src_iframe = 'https://www.google.com/maps/embed/v1/'.$el['atts']['map_modes'].'?key='.$api_key.$src_code; $el['atts']['src_code'] = ''; } /*pagelayer_print($atts); pagelayer_print($content); die();*/ ///////////////////////////////////// // Miscellaneous Shortcode Functions ///////////////////////////////////// // The font family list function pagelayer_font_family(){ return array( 'arial' => 'Arial', 'terminal' => 'Terminal' ); } // Supported Icons function pagelayer_icon_class_list(){ return array(); } // Function to convert string into set of attributes and their corresponding values. function pagelayer_string_to_attributes($val){ $final_att = []; $semi_arr = explode(';', $val); foreach($semi_arr as $att){ $attrs = preg_split("/=/", trim($att), 2); if(empty($attrs[0]) || !preg_match("/^[a-z_]+[\w:.-]*$/i", $attrs[0]) ){ continue; } if(!isset( $attrs[1])){ $final_att[$attrs[0]] = ''; continue; } $final_att[$attrs[0]] = $attrs[1]; } return $final_att; } // Retina image setting attribute. function pagelayer_get_img_srcset(&$el, $image_atts){ // Check if retina images is set if(isset($el['tmp'][$image_atts['name'].'-retina-url']) && strpos($el['tmp'][$image_atts['name'].'-retina-url'],'default-image') == false){ $retina_image = @$el['tmp'][$image_atts['name'].'-retina-'.$el['atts'][$image_atts['size']].'-url']; $retina_image = empty($retina_image) ? @$el['tmp'][$image_atts['name'].'-retina-url'] : $retina_image; $el['atts']['pagelayer-srcset'] .= $retina_image.' 2x, '; } // Check if retina mobile images is set if(isset($el['tmp'][$image_atts['name'].'-retina-mobile-url']) && strpos($el['tmp'][$image_atts['name'].'-retina-mobile-url'],'default-image') == false){ $retina_image_mobile = @$el['tmp'][$image_atts['name'].'-retina-mobile-'.$el['atts'][$image_atts['size']].'-url']; $retina_image_mobile = empty($retina_image_mobile) ? @$el['tmp'][$image_atts['name'].'-retina-mobile-url'] : $retina_image_mobile; $el['atts']['pagelayer-srcset'] .= $retina_image_mobile.' 3x'; } } // Backward compatibility of target and rel attrs for link function pagelayer_add_link_backward(&$el, $atts = array()){ global $pagelayer; $defaults = array( 'link' => 'link', 'target' => 'target', 'rel' => 'rel', 'selector' => 0, ); $_atts = wp_parse_args( $atts, $defaults ); if(empty($el['atts'][$_atts['link']])){ return; } $link = array(); if(!empty($_atts['target']) && !empty($el['atts'][$_atts['target']]) ){ $link['target'] = true; unset($el['oAtts'][$_atts['target']]); } if(!empty($_atts['rel']) && !empty($el['atts'][$_atts['rel']]) ){ $link['attrs'] = 'rel='.$el['atts'][$_atts['rel']]; unset($el['oAtts'][$_atts['rel']]); } if(empty($link)){ return; } // Set Attributes for backward compatibility if(!empty($link['target'])){ $el['attr'][][$_atts['selector']] = 'target="_blank"'; } // Set Attributes for backward compatibility if(!empty($link['attrs']) ){ $el['attr'][][$_atts['selector']] = $link['attrs']; } if(!is_array($el['atts'][$_atts['link']])){ $link['link'] = @$el['atts'][$_atts['link']]; } $el['oAtts'][$_atts['link']] = $link; $el['atts'][$_atts['link']] = $link; } PKZ bb.plugins/pagelayer/main/customizer-controls.phpnu[show_filter)){ $this->json['show_filter'] = $this->show_filter; } } protected function render() { $id = 'customize-control-' . str_replace( array( '[', ']' ), array( '-', '' ), $this->id ); $class = 'pagelayer-customize-control customize-control customize-control-' . $this->type; $class .= ' '.$this->li_class; printf( '
  • ', esc_attr( $id ), esc_attr( $class ) ); $this->render_content(); echo '
  • '; } } /** * Padding control to separate general and style controls * */ class Pagelayer_Padding_Control extends Pagelayer_Customize_Control { /** * The type of control being rendered */ public $type = 'pagelayer-padding-control'; public $responsive; public $units; /** * Constructor */ public function __construct( $manager, $id, $args = array(), $options = array() ) { parent::__construct( $manager, $id, $args ); } /** * Render the control in the customizer */ public function render_content() { $units = (array) $this->units; // Output the label and description if they were passed in. if ( isset( $this->label ) && '' !== $this->label ) { echo '' . sanitize_text_field( $this->label ); if(!empty($this->responsive )){ echo ' '; } if(!empty($units)){ ?> link('unit'); ?>> '.$unit.' '; } ?> '; } $settings = array(); foreach ( $this->settings as $key => $setting ){ $key = str_replace(['_mobile', '_tablet'], '', $key); if(in_array($key, $settings)){ continue; } $settings[] = $key; } $screens = array(''); if(!empty($this->responsive)){ $screens = array('', '_tablet', '_mobile'); } echo '
    '; $global_font = $this->value('global-font'); if(!empty($global_font) && !isset($pagelayer->global_fonts[$global_font])){ $global_font = 'primary'; } echo '
    '; ?>
    link('global-font'); ?> value="" data-key="">
    $sval){ ?>
    1){ $show_device = 'data-show-device="_'.$screen.'"'; $field_name = $sk.($screen == 'desktop' ? '' : '_'.$screen); } $field_val = esc_attr($this->value($field_name)); if(isset($sval['choices'])){ ?> link($field_name); ?> >
    '; } } /** * Alpha Color Picker Custom Control * * @author Braad Martin * @license http://www.gnu.org/licenses/gpl-3.0.html * @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker */ class Pagelayer_Customize_Alpha_Color_Control extends Pagelayer_Customize_Control { /** * The type of control being rendered */ public $type = 'pagelayer-alpha-color'; /** * Add support for palettes to be passed in. * * Supported palette values are true, false, or an array of RGBa and Hex colors. */ public $palette; /** * Add support for showing the opacity value on the slider handle. */ public $show_opacity; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_script( 'wp-color-picker' ); wp_enqueue_style( 'wp-color-picker' ); } /** * Render the control in the customizer */ public function render_content() { global $pagelayer; $setvalue = $this->value(); // Process the palette if ( is_array( $this->palette ) ) { $palette = implode( '|', $this->palette ); } else { // Default to true. $palette = ( false === $this->palette || 'false' === $this->palette ) ? 'false' : 'true'; } // Support passing show_opacity as string or boolean. Default to true. $show_opacity = ( false === $this->show_opacity || 'false' === $this->show_opacity ) ? 'false' : 'true'; // Output the label and description if they were passed in. if ( isset( $this->label ) && '' !== $this->label ) { echo '' . sanitize_text_field( $this->label ) . ''; } if ( isset( $this->description ) && '' !== $this->description ) { echo '' . sanitize_text_field( $this->description ) . ''; } ?>
    Global Colors
    global_colors[$gkey]) ? $gkey : 'primary'; } foreach($pagelayer->global_colors as $cid => $color){ $active_class = ''; if($cid == $gkey){ $active_class = 'pagelayer-global-selected'; } ?>
    link(); ?> /> button_label)){ $this->button_label = __( 'Add New Color', 'pagelayer' ); } } /** * Render the control in the customizer */ public function render_content() { $values = $this->value(); $decode_values = json_decode($values, true); $skip_keys = array('primary', 'secondary', 'text', 'accent'); ?>
    label ) ) { ?> label ); ?> description ) ) { ?> description ); ?> link(); ?>> $val){ ?>
    button_label)){ $this->button_label = __( 'Add New Font', 'pagelayer' ); } } /** * Render the control in the customizer */ public function render_content() { global $pagelayer; $values = $this->value(); $decode_values = (array) json_decode($values, true); $settings = $pagelayer->font_settings; $skip_keys = array('primary', 'secondary', 'text', 'accent'); ?>
    label ) ) { ?> label ); ?> description ) ) { ?> description ); ?> link(); ?>> $val){ ?>
    $sval){ ?>
    1){ $field_name = $sk.'['.$screen.']'; $show_device = 'data-show-device="_'.$screen.'"'; if(is_array($field_val)){ $field_val = (empty($field_val[$screen]) ? '' : $field_val[$screen]); } } if(isset($sval['choices'])){ ?> >
    units; $input_id = '_customize-input-' . $this->id; $description_id = '_customize-description-' . $this->id; $describedby_attr = ( ! empty( $this->description ) ) ? ' aria-describedby="' . esc_attr( $description_id ) . '" ' : ''; switch ( $this->type ) { case 'checkbox': ?> type="checkbox" value="value() ); ?>" link(); ?> value() ); ?> /> description ) ) : ?> description; ?> choices ) ) { return; } $name = '_customize-radio-' . $this->id; ?> label ) ) : ?> label ); ?> description ) ) : ?> description; ?> choices as $value => $label ) : ?> value="" name="" link(); ?> value(), $value ); ?> data-label="" /> '; break; case 'pl_slider': ?>
    label ); ?> responsive )){?> link('unit'); ?>> '.$unit.' '; } ?> responsive)){ $screens = array('desktop' => '_desktop', 'tablet' => '_tablet', 'mobile' => '_mobile'); } foreach($screens as $screen => $_screen){ $show_device = empty($_screen)? '' : 'data-show-device="'.$_screen.'"'; echo '
    '; ?> link($set_link.$_screen); ?> min="input_attrs['min'] ); ?>" max="input_attrs['max'] ); ?>" step="input_attrs['step'] ); ?>"/>
    default; } if ( false === strpos( $input, 'rgba' ) ) { // If string doesn't start with 'rgba' then santize as hex color $input = sanitize_hex_color( $input ); } else { // Sanitize as RGBa color $input = str_replace( ' ', '', $input ); sscanf( $input, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha ); $input = 'rgba(' . pagelayer_in_range( $red, 0, 255 ) . ',' . pagelayer_in_range( $green, 0, 255 ) . ',' . pagelayer_in_range( $blue, 0, 255 ) . ',' . pagelayer_in_range( $alpha, 0, 1 ) . ')'; } return $input; } } /** * Only allow values between a certain minimum & maxmium range * * @param number Input to be sanitized * @return number Sanitized input */ if ( ! function_exists( 'pagelayer_in_range' ) ) { function pagelayer_in_range( $input, $min, $max ){ if ( $input < $min ) { $input = $min; } if ( $input > $max ) { $input = $max; } return $input; } } // Create font options function pagelayer_create_font_options( $args, $set ){ $options = ''; foreach( $args as $value => $label ){ $_value = $value; if(is_numeric($value)){ $_value = $label; } // Single item if(is_string($label)){ $options .= pagelayer_sel_option( $_value, $label, $set); continue; } if( $value == 'default'){ $options .= pagelayer_sel_option( '', $value, $set); continue; } $options .= ''; $options .= pagelayer_create_font_options($label, $set); $options .= ''; } return $options; } PKZ=B)).plugins/pagelayer/images/pagelayer-logo-24.pngnu[PNG  IHDRw=gAMA a cHRMz&u0`:pQ<bKGDtIME ,;Elc?>ɮbMެEw:Ow{̥Alø?c+T=k46(@m #~)ed\pp7^\&G6J2FUGW+KUJdadpkA;NH0»OZ<pѡͦjm}xk}x)erߤLZ7eR܉T;ȥ~ݍd/^D̈́KҎBFQߩd. k [s[)WS8gUj},bKbx uj/VHDVT󍚫b! ®h(]r+qVl!"ᷲQ?>| &-֎pdZw씅Opﶧªy3hN6;IiiepRp5#` z۷pe@-2x0@\b2׊D …۰>M&tǁ-!4JݸX@(S\ .d€(4x63(hH)n]Af  Ы(95%U^P@k]*IUhS>PJiu, EҴS =È+^x :22%SiwZ(` A RGlŃ *@pFԠ^S"a7W^DHLqX ACZ%0ǀ| $;0/x/O}%,n(!,@@|Dִ\̬΄⤌Lޔܼ̤֜|֜ք漌L\ԴҌDܤlΌ⬌\ܤtԄLޤ\ܤ||D|Tޜ̴ք꼔TܬҌⴔd޼l΄pH,Ȥrl:ШtJZجvE W ,TH<ƺ0踥nWCry^uq h)u|Pq'h'G#/&Bhh#E9  1[.)E.gyD+'3Z Exr{C.4ϸW#)(%rtD3Ϲ X/!j2 X&מF.990`(Щ 蝘FkP6Z, (Q:)K@G4q0 3ѣH*]$R> N>*4>.J*b+ =pAT;[thP6nגm4ܽTq e6 ĈP [ HD`ΠCMGjlPi0`u,bخCl8"\.opʂD[+14pK=Ը_x6t`"M w Ђ7h80` @|-hfvh`!,@@|DޜtČLĴڌҌČ\dD|ڔ֔Ԕ\dޔT⤬΄̌T̴քԔdlLք֜ޜ@pH,Ȥrl:ШtJZجvMRp uR=N(p@ Y  ^jaDE\PPM [8v]`7|{Է_Ͼ!,@@|DڤԤƌ|֤TļڔڌҌLԜd޴քlLޜԬ|ִ\Ҍ\Լ֬\Lޤք֔dpH,Ȥrl:ШtJZجvz e|:f-Tz7(u|1 H0HulE$51"#\3Ez{t1E5 Z Cl{vD0X*F |rE)1ĭ~W G wD Ĭ"XݴRX0 SP#ˆx2bY`x@j0CE JZ U@ UʜI͛8GP@E/0$ g &(`'Hp©K'\⌄S%@Q5/Q0v g|P ַ[a}I6=Q`$P@'->|h8˘3k̹\bqU+)PO@=ڊ LpWJ6ѡ<$/pn~['08h 2R\Da8pBL7Jg_Է{ B /& 6JA!,@@|Dִ̜dքܔT⤬|ܤttLļޜT֔dĤtDԤlڔ|ޤl\\l|LڜpH,Ȥrl:ШtJZجvz Qb!j|c8׆6é":q.l }S kE*'$\ oFE-X %%%|ErE!-X.FizB.YE EݷY㬜R Ƞ'Y 0S-ɡ#Y(#vQ)˂Ţ@hq W[\  aaP0 @汤ɓ(SNA6MR\B ) `P'4'lcĆ#z ' 0$MUQJdK1W;.j6q@]TX ^HB HTĈ}ڈX]>F1q@F򅨰~}!h&!,@@|DޜĤlܬքLܤt\Լޜ꼌T|֌lĤ||ڌDެ̤tܔ\dĔ\l҄ڔpH,Ȥrl:ШtJZجvzi}a}lf85f#zTulS}kuE- 0!\-"oFutD  Z-% %"F-)myCV"¯EsnƧ̨!Yӱ GacD  #Yï%SYԱ*S+ν Y,O*Hl `Jv`R J DUȓ(S\)%Ê&Y2ɀM2H BE3ݴ)A (PL͡71T0bU۶l (J]$0KC80Ue<@{3]T.͊Gm)WPxv% \B0NɓxpϠCMZHgt'0sY@MXP(Ps0ɉ=t`ŝMB%)rD XZlpI/n…?p|//޽ PAzh& 6XE!,@@|DޤtT֌̌Lք洬΄dڜ섾DܴڌԬ|d֔̌\Lܬ҄lpH,Ȥrl:ШtJZجvzRc(c9j5m%Yq !{S&ixG.+]"mF.~jzD+,0[  "Gpq,sE0X" D i E ,, &YE(Y S,YϥRYT+2$SE}KF-+DxPEY  $e &qIɓR0`%b*$l"̙)l:Qa9sEݙeS":À\\I^"v̲LrE@ 2.(\^ud Hɴ^F rB̹ϠCF"uP&%J0`Èņ &tYv ,FEl ` ė"!qb ND q@z ~ȉϿZ!,@@Dޤ̤ƌ洬ʜTt޴Ĝdքܼ֤dLĔ\|޼ԼڔִLԬƔ\|Ĝlܼ֔ڬpH,Ȥrl:ШtJZجvzPݶ  Sh逑VDZǐS!su$!s${F+^-.HzkuDnZ# EurF.Z-G-mE-͏W))EacG#,Y.P!ߺY'ӧSwY U&FA )W儮o (E8 .]b CI 'Е\@>P6/H '2dps Hb! jy3ȉMZdx@hQ,'"PSh׮_sÓg3ҢjXP!DZ,Gb V?\,fƆ y)k̹(-JFOqL6@$v[؂@ /_;K %\xp н   @[%(P]ɉ ҇,1>gY x 6F(X!,@@|Dִ\Ĭ|Lܴڌ̤|TLܼ֜漄DܤlԴ֜\ܼڔLޤ\Όܤ|ޔ|ĎŤ\TԔd޼lҌ洤΄ޜ@pH,Ȥrl:ШtJZجvz˷"8Z;jWѼJ;b{Rv~p4G*%5-_G"hG*[22H.~orE.&[#HxEÏX2 J4G -YT߱5Y 7T*ĹY U [% ,Vh`7̝ )4F`9HŋMT( cF&$H0G$*(\)AɌ%4h( ,9@)A'\T`ABQ&j*/VIOt%HTEJd2i/*BNřɢ h,t'0e^ P ,^̸ Dx 2g~ñ$ Z!PtRA(@A sΌA ڴQTZ-1X ݹ3o"9L"zACTL*t&0 aQ{Ѐ`Mt}gxמgG\` F(Vh!,@@|DޜľLڌĴҌ\|ܜdD漬΄֔⼔\ܜd܄T⬤t܌Tޜ̴քdքlԄL|֜pH,Ȥrl:ШtJZجvz.aEh[:tİd a{T}u H_IxzF  \)"HvpF Z%dfqE # W)U  YSòX"&UߚZe$U \% 80w|b @#JH"H|2 2dGB6Y50$(tOJة@6n`$@AMAT vijɇL@JO401)^KZB52AÈ"|:@r>G9-$h@HE+hqi)+Nwº*e[r U(a˄!4Dna8}`pU`B!o> G.qx kHϿ2!,@@|Dڤƌ|T̼֬ڔL֔d⤤t洜l섶Lք\Ԍ\Ҍޤք\ִԼޔڌ⴬|Ld@pH,Ȥrl:ШtJZجvzf `bal%iK"tvWUIJo3Tzn|H1 Gt|vG1" ]+)3H&l}pF1/ Z -qE0  #[)/UWwTZyV/P\ .VMg H0$HlV0i@t!e@_VP74|¡8q$A4hkmPDU%T+/s|R rvH' 3]3  JimH $$'Z3 Jc+wG Y fT $ [ U2[ S+'\U3*[ U ⴶQ33NΟ (<0 Y1 r*dJp`aFV=d 0'P*kme&`A!,@@|DޜԤt⤔T֌Lք΄dڔĄD|dޤڌ̌\ڜL҄l@pH,Ȥrl:ШtJZجvz`g@j`0"-m~S gPSIk{k}~RqyuF ,&^-&H$kEx\-,J H/Z&#R[Už[V[S"]-X-P" -(bA%Xx`(-H93!X UX\ƍ(hERzY)'-4Z H IBi`bU`u-V,qwqH`8qB}f` ,E@@qnP0D>BE(65xWsF.͙o` Fc[L@Z 7N<-kGvݳ:?Aϋk%L7 Пh"!,@@Dޤ̤ƌ洬ʜTt޼dքdL漼ڜ\|ڔ섺LƔ\|ܜl֔ļִpH,Ȥrl:ШtJZجvzJު \BMҶ6D]|}Qzz+J-[0"E+i+B%]/))KcJ T0)U* ["V( fv\O éT %#T*} J*$$J#0@@\0abBJ@ ~9QG hBIT $&.oA  UfAJ +3rgHCʴӧ>0oցMD\T,0*"pPDZ\ A nײJb=kW^0D8ѡb{NE๑B0a&ҥIDB^'t0n!)p+HÇ+2hFF^nڤ{w,4XKnϗ[ M~~S7dP AxF(M!,@@|Dޤ\Ԭ΄洴ڌL|֜ԌLT޴ڬDlΌ漼ڔ\L\|֜꼼ޔ|Dܬ|T̔TҌĔdl΄֤ޜ@pH,Ȥrl:ШtJZجvzX)ka0-JSNU2-J8#`2 jIeiI$33 ]65V \2550W3Z 5 7W)*[25 W,\807 U*ő}S*tqD8H))T,b.R b.8xBr]!n!z8/`Eu$e@@JFpdI͛Ed\@`K+2FhQIQ`@ժBNQ_VYp(VNJ<] VR*5ZN~]hٹV ᭐l*6eUGS &Л , B m SS^^YquCP:@{"vU!Ȩlلo *Pင"#x7@{N'H#)'cE /_=o0ɀo4 GA'W ` NVhj!,@@|DޜľLڌҌ\⬬|dD΄ִ֔\ܜd܄Tt܌Tޜ̴քd⼬քl̄L|֜޼@pH,Ȥrl:ШtJZجvzxQ(2cl^0V"U)UE~O3% loJaK fH"[+!T-]W )W 'W W'W]'W,~S -Q Tc, Q` <k! ~AO0) _R$Hsz\eʗ0cʜTHbـ?zC.H)* J ^6,*jFPMV*Ku4W6DP!NM0ur%R&&i FU"2C@a6 C#1d>B( e]4` #R%Ѐ$@pޚ{Cz`@p$$h-=3n Ga>,^woEN>H?e!,@@|DڤĤƌ⤬|Tļ֬ڔL洴֔dtlLⴴք\Ԍ\ܬҌޤԬք\Լִޔ꼴ڌܬ|LdpH,Ȥrl:ШtJZجvzxsbcVWUsN)+o|R*G&!^1$,(W"\$ W. ],,W0]W! ](  .P(!Q( a(* *O(  +L`PH L=P w*tb/`/g`: ;q=&8x"LTF͛8!鉜, <+!ANK C/0Q  68P`fSJJ[ѢՅةLQuCVNJy.S\d=` X: H #FdT$Cv`W"X z#*ź" b-d04(@x+Y, I -Hv7 d0. F A o__y6}r7CM glINh&S!,@@|DޜԜd̼֔TtĜtL޴̌Tޜdܤt섺DlԼ֤||ޤܜlԼڜ\Č\ⴜl|LքpH,Ȥrl:ШtJZجvzx!>cb@Ti+Cy }T*$2J+ ^*hV#4\''!W! ]W]'.W ]!X Qb J&&F`- -Q ` %%%N\-lr% {9Y\./j>m^;'r+1O/ `aMp֝B JXhУH20J#I`Bj`T `DHq V5ƽ U kٲxeܿ5FiwZYXĭ) fEX 'p NE2Mk/G( kViVr,&f\"Z2DY"K9Y^Y.`u#4Fx䑎8@3 0-Bױ  'h!,@@|DִĤlք܌LܤtڔĜ\|քT̤|lڔޜ|ڌD̤tĔ\ޜĜd֌\Ԥ|lެ҄@pH,Ȥrl:ШtJZجvzx9fc jݎS~Hmo}TegK-!p\3U  Y|U!]W]W -]3X+~i# )J##F` !N` " N#\ " 蔠 /HoT2!BTx U - Dݽv_ś{ b)Lf (xJ `4 PAHXeF nj WR ^_B5ʌ cɖEFTߢ62!X @jaSP-WF Pe`d'8\" . /J`q!e8EPdƋWH-iApT&4:"0ȸb0X`(zuurm3gMh QBq0E 6.!,@@|DޜԤt⤔T֌Lք΄dڔĄD|dޤڌ̌\ڜL҄l@pH,Ȥrl:ШtJZجvzx"Zcla0*ū"~ }T- gK&p\-Y+Z W-# ]!V ]!$X ^ X$Uw"''|HE((_-P`$##M"]#7V<$4d Am$|EKllBA>+4( Y#qv;y JY%. O%DR`".jD>}PTҪby%EZg+L}""Xxxja%\ ,(;|oנ;hsUVvU5eF(B!,@@|Dޤ\Ԭ΄洴ڌL֜ܤ|ԌLT޴ҌڬDΌ漼ڔ\Ll֜Ԥ|꼼ޔ|D⤜lܬ|T̔TҌĔd֤΄ޜ@pH,Ȥrl:ШtJZجvzఘjsDۘjlC"&6HikC)2H J3 3\ U8"44ZU14 4YU8ZU 7XU71[#*O62&N" Y3H3,,2@!`f$32P?|PARł'g"Jl^JTQɈ.YO2VX J H,q" & 9o,h ĈױhӪ}aف!T @į:<@w.TVPqख]\30(PpܾM!2dɘȼx/O)* F" Ŋ.a#Kye8qB,-'b_N^āعm+3NHq/УdD\F8(^=/'cq5zux %%fvC!,@@|DޜľLڌҌ\⬬|dD΄ִ֔\ܜd܄Tt܌Tޜ̴քd⼬քl̄L|֜޼@pH,Ȥrl:ШtJZجvzఘr>jsp# )sB$ HikCxEI]U!+[wU+[U Y#T ![*U!Y N J!Y&(&C( dP CrhE Q_y eQbA  <_%D< a&0XP"E OYL 8EgQFs0!JJU#@h   @CN$`d)EB4tȎ% (e@`d-T1^PMw* *Ȱ8CDW v"H{25h`a ÀGRj ٭^8x֯_Ͽ_!,@@|DڤĤƌ⤬|Tļ֬ڔLĤt洴֔dlҌLⴴք\Ԍ\ܬҌޤԬք\Լִޔ̬|꼴ڌ܄Ld@pH,Ȥrl:ШtJZجvzf Ral*1htvwUv}0 032G{|~D3Fw4 0qC)&u4 F%H).%ZU [T..[3U[ V X23ʨMM"F AĿ$(0A#"0d(qA02…AMHT %Kr ]~a3'#(Q-P207JI8Q"GDpE`ÊK(VxQ6Ŋ q%e .\_ ZRpw*" KeÁˌ>TȌCh*$VeDi3`@qD* M#E %D . |cA/GX$O`_ ̅(`v)Fp߬(!,@@|DޜԜd̼֔TtČLt޴̌Tޜdܤt섺DlԼ֤|Č\|ޤܜlԼڜ\ČLⴜl|Lք@pH,Ȥrl:ШtJZجvE B{i}hɚm5zpR pg,F!0E}hC413D|~Bn#EvB)}sE+[Eep&F"(([*)G,,G[ U3[0כS/"ZƛbA1 B0!EO #JH#Hx@@E%@E#%J$tBb /!!6I"#%x:r(GB E1 ʕu &!mD-IJKݻx0DT<ו BN-5 ެA 6nQ1R"  w ΛqR!ڃg-` 6l@.| , m L>Eex^RD~ytu.t.`|u(h]A!,@@|DִĤlք܌LܤtڔĜ\քT̬|lڔޜ||ڌD̤tĔ\ޜĜd֌\Ԝlެ҄pH,Ȥrl:ШtJZجvE)J;hDȚm5zutQ }p(F/"1 2E)hC-, C0gB+Ev}y3/bC } G2Y" EepG[oԲ/G(H[1 UޡZ  VX2 P2+o@D/ /(ȰÇ#" $0hi,"ŁXxt 0Z.J  INx={€rBǛE y"'4fgϟTԬ911H$R,ۻx˗  Z}BE]AB G.ap6lϑ%T񷡀[ D|x 5pSTQ9[BDfqEGH "cjH@DIZ`yb\@Ć$hWg"G_^ A-(ׄVhfW;PKZ9b &plugins/pagelayer/images/sy-loader.gifnu[GIF89a00! NETSCAPE2.0! XMP DataXMP ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  ! ,00X0J B/SUfb0,,Dqu lpK(("8)Pt[NvnJ1 Dl8Nx긹t>YUl{ }~lu hxs~n k~r\E~ ll]e &]~RTJ7zmʵ́ъq، wAA &vW ЇBO. FED,`x"Ə $! , 2!#l @G 4ǙA$`-`e,Rk7+)hA18F! ,-0DD:p甝Vê Y(!] տk$! , 40I:ȑ@x$i6ؽ*878B#ĥ$! , 0Iͻ&'vhgB! , .00(Ţ0֜}$WBCmр#g; ` ! ,4H@0 ZNޝU3|\'-e0ͧ+ !uqƀ$! ,4JAT]@s  EW)ljJZ[] ʼnXF00A! , %Ѿ56мm߃y#X w^)ٚ/IBdBMY! , 3K=Gb"YQdt7 *.UI)EpH! , .,I\@Ώ0D Uk.]C"ԄYoH, ! ,6ă.Aל'NC'zb"!& *C0ŭNC4,>rl:! , (lI+ `(dihi! , 0!30.@RZ u$#"Z]r^6.ܳ8 #2@! , 6B@bɩA֋}`q֜^lgJ=ѣ: i0! , 82@G4_VDG|=_X}na6*RXgvQzP1̀1;PKZ+7NN*plugins/pagelayer/images/default-image.pngnu[PNG  IHDR  UtEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp =LW1KLIDATx{dua7\veQ`YV`AX@. r D 4jPITJGT=))M(1H/pQ$mA"wXs7zf{gd$3=}N>bf'BBBBBBBBBBBBBBBBBBBBBBB@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ BBBBBBBBBBBBBBBBBBBBBBBB@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ BBBBBBBBBBBBBBBBBBBBBBBBVԫhwBarrbzcX>Ozg~z{byd|j *3\>g7L&St"dBhbd>/ C+~_z{cKlMSaC 1>>L+too2Ʉb1 bX^=BCM˗zo֒bMٷ¬! K$d؛7A@ Ey/|>cXrK`+dl6 i0DG͆P%6 N S##!.%e[{fz|88*&u(@ sTnF6v́ Eɝ;r`*d2Iෆg i4X CНfǒdoooBBT!ˇ3ۻlώ̄XkdCBD>rQGIDJ̘LToo҉@@'BHc|#.2ψŲtf`v~tZ,.$8>S eeW*Nf1 |ndddbbB`!*gd2988)B[.9c8Ν;SL&Lh?33NLL(E 9B05UHҽ|>?22299RX\2 h3>r!*:צ( dLhESFF٬hb&LRx\ Zi0D\.ׅ /|.?t.!Ƭ*DBhvlժU2!!+ivQ9ipy < =88@XpI6;2+ #L_@XV!rK8R0x X&nccXqv d2C X,V4B4"fGNS-!ULGeJ2 " K-P(rU@ akK9Fk,Ȅ4Bȁ##ú#pbtZiP1T2==熆 NkLY8p3m 48>ߵkWq;H8dseBB"ĉIEю O.!KcccZ8|C\NQ |8njL@@ٱz G&&@ l6;44hge fdvvʝVLYLMMy=E;Ν &@ `΢c##Ê]QV*Qatƈ.P( Z)`2tK2a.GGG1>>>66* t1iL ŦFFC?<J%mOOl,#0L4t|>?<:SPr-4L&ӝǨ- P8hZBf-`oo`___kS,^!ajj*oT*s"Lf2}--~ _R<4H$PZ:NMi!h@89tf6L!x $h4X[zr5F%szzz|״ az@']~p5kx f}"f2}|H̫vBZ\+,NWplY+J'3DwEaͩTrbby3:9ۛhE!*{ X*ZSB,vf&' SSͧOC ^27펏O`#a>fsV !-)ˆZ{ X:N&S˶b{`>fu6 pժ!'G]dZ7O[2@ ^7Y˙[Bs8exᐂrf }ɡ`WZ Ђѫ* ij6e BCZB lr088,d+t:=001aa"_5111:::<<299Ź[~_.оP\<'Mj+LI.C rvnҴ:i†B|SS k!-[0RTɄ6;oq%l"lh2a"(.Ri699 Z5le&kꤔS䇇K,Ѧv([Dx:zj6\qBarxx(-]M2/X㎵PUBUuګf7ZxJ2*j$6ѕ$l7kE:tf PKk57<LMM Pڤbfaib@m^ 8 D> ]L6 >s: @ I<>>3h+̪`6m^Ֆ9vg:BZI"ZH60f(cc]tM%TE'H6eiHTIŸdBZނ#Ća Bja0Jx扉.4aŽ5%U[Ռg.Vp]j25 !T0M 0-d×@5 @[wBh]¤@@]tнP  @1(!t55D@&Lf2}xBQ @:@hj}dooo<1:ZT: IO>=4? @KJ$uI*JZTxkX-@@*1@ fףO3Dyb3L$B'J7o~񩩩yӝ2 !z,1bL'&&rlT@ J֬٭yr`6;jiN(,Eooo___S7ؘ$X,ܕzzs@ LUBkdZ-zL&7:,[lkRB!ͶY1 /ög[Rt@Ǔd__ɉlL$B4800jebB+61999>>.R`:^΍\.ۚX`M/C_d250z{g&\Qs|5vHr 2bxHkDCZ`}}}!'!)! `ɧ3bBNlR#a<+x x4Z@ STYwN?N*h5==>>ޚgI/ a@#_45a+ ccc-{fFlͦK(D l43G"pBipll`!@4x>k=M$ 3->/ Bf;, ULNNΎ! NMM}7sdB`~B!d쌱Ω&C 55+MNNrى':I-=@c o)&fӝKb=~i@ nVfvvCfB`[OSY<5 @˚+&g*R_t:ݛ8Bh@͎MLL4cXX_ $SFf4)ugd鴓 ;i!֨bL3k֬I$J@ * wm7 t3@<߯@ . @ K2$~ @ץ>E@YF{b~ExB, @vɏUe:_"XzM2TMUVHOšy.:U"mbի) @%Y&( B4(AK @7]ߚEFOQ3(tZ7 ]8tX,) @]3T*4Z/7FA !t]!tQLRL_@ .JxBi @OL_H @ T<1H  D[ޘABd2L__*iyBxwppU @Dd2JS@ Wl,*100hQBV{{]KdzcST|@ Ŋɤc+`2d2!3Ҡ@ ρi0ߟH$ !tbwӇ @Wbd2=A%@)Jb!MOR2t͚jq&xޥm?o',~gtZ?}_K7J֭ zLnE_?r,@ Ƹλn+ *ǿz֬^}y|W|cǛ!]>Mgv7,Ĥ2^z\9 nܰ~WDŽǵ|^ҩ;c:ciO=lSkh膛~PqO ,D !;w{۰ۚ56Dl߱7? [pY e~':9;:]'Lxu7Deָure|? a/|v!G{/]ً/ Pt.ƷK'|lw}swY:@eR '*&WϬ[{U!+*j:RxuɥCfo ;mMj%iϺ?!ԏFVW_wC*p::!zko~յGs;P>P?{ ivH}p|7#c߼JsБ _!~<쳌}ǎ+y[?Ǝ;F3;޼TtrZǐBk3o{o7, !?o%g/pɫW΄*BvА§#q\ϙkK?s5,0G{<:]GѼY@C|4WiH./zVfs>;[ӂۡLzؑ?5454k<y!KPvfkW|)%+tug_߽?K.@"oYi-7?6!~ӷBTW^s# ?<<ɋ `û`ɭEI1ug~j3vYݫf :\E/?{SI 4t卆wEp,:cP:3U\0s@-^~Fc`Ix }̢ήp,p^Eͫ/oA .c?ּۥVMVKmԹK?ben(p놛~P[lGV$7u^Ky-7B(~<{^CUo ,ԥjحӷTVŶL.Fb/juaasOR[|_xm:zr!ѕJ TB97E+3N3 [!._7Xʫͻ@؟_zg:)η5kLϳDL.4FVf xMj\Pڤ'e~cBb][ip>t7_\ tm5e#W?̳}1żT{&?Z޷4X|zͅZmG7W)* uͲIC>ò .Y8?%&߿z^i;7 ˺)b[d¹\䧜tbLZ[@7x+T{L_|j?Q9>õfqT}Ldܧ/^[(P,Uwߡ!j.]w 1zՌNP9B=x[} ha ;~Fi:΅BpÉ[SU~3Dz?U.8A=_Ѽ|Zbvҕ{:?fτ6n>xStLx>j8 BM20xg}Nᒼ6R*T谴淰Օ߸_i$Z 1riGm*jw܅]]ʷ߿aK%:"¦v[/-a;, M;hS-OnUߌoC}\ grxGoZk7T+Z0>h\r . Rٛw 68Zv܏}cj8e !MV k4nwX}/N;@˳ђܒDu.rrt![|G G*ԏKc#C-|gyuƲ:~FxԳ|VqMؙW}nk4l_N^z7sݺ+p9 o7ZrN:zqv`@BhcuĒ'6,W\%y!{LDž 6wt߻{{)GMgrRh6hO˶^-h󮲡mcfCXK :, #XK3dג7B~jz>_RcmX^S9|".4vQZfpijFu\Khy޻ hG7У 1rb_DyG'⋪ 5M‹ۢ!sFo>¶F߽/7TJ{ Y*x>-CY(!-bQ YѪpٖ{V<-?}+ſFTN|^G!%-*ۣU>U!_Ev3=_M49n}GY/7z-k^~;!6I2O[w e΁)C C_vGRO ?mhlِ^W_{O5j-uJ+Gev/vD{{φ3=¶z%/+? :Ǣ˯Z4կ7a%@+ڧjYf"7wPnأ~{o{zxйr󺵻|h706-7ֳ@ty3D,/.p B^|[ca:>̳?'|OW^s 7SN:B`!wyີoX3)C<,/ K떮=@H8׹g|qKfnws.TH7?ci-k-X^9~GKB߼vp]ޯAs2d2nہ@ 8KC|3O?kھZՇzH*|y' k߸W΄Ͻe!, o%x{Ju<^LKkW &}b'4I\@Zf_6IW)u7˦oF_o 3O?/ LJ \_GFǾyŕ|1*U@ y5D: />^*zNS:|-y)+ZZ% m:`wsl{qe_ \Ne9Q7Nߤ6i =baox=;YGO:ft'zG?{ݪ>Ëz·}ycmOaY+GQq^fvl-oGtF' .1*" ,usM `X~C_6i_{yO`z+?]np.yO~yg? 9Jߏmi;vD-rX{J79ePtF= mLU4-0o;k| 07d?_b_xPIe`{J!rmn]h֙=Œ@0cTxsg^Y6)' ;ʎo,ZϽ ˬl&pb||βSޖ"sIGnp2ѪTUʑ2|OZ>-Çji٘T{wcMJ8\wCj[G)O>LYtAFj%MoC<̢'?P*;K޽oI2@񥯼z-39caUm? d:;W{-Ou-ѱCv_A j$,"wyWD{3~N9[~Xn{m蜮+G{4}+M-=֮vwߗ)~ˍ޿EOPp.Ԡ|8avywթUUy5WGq|l_8 fmtͭk4k~*-ڀ@';':u[nWojX9Ī: !Z ŻPgenkD7Wϸt7ﲊ}#c7z[(ym,ѷ?F{x+}!%/itMU]p/+$ _F⒕u-. _oo}z 3OWZ+8f !t5W_p9߄+Mc3aF^3hsݰ;+Z W7VFw4!}K.hvB :]SU8rnNq~=\yGrwcˍU@hYoܯcךNakoH,~EbԘ WG}W(? E_9kIcv*@>-$7B֐_$A ř\}Vϸ]CCbWv/3ldn+MuwpnOK.U {Mip׾؄W\mGE_]Ŷ?=v SN:{4g`7]Twq8!up@B>8asݚի.('A)~-ms;w U}#φƹYܼ{X LVM_qT"rea+\e#*C=oϗk@/~˿ iжrGGԄjMދ/dՅ-]K[~/~hlX5߷.p(?tу~mW*OxL8esr޵yj`^yws֞e?lg eB5=/7nC6ny u]Ň}|>-{fol_vQ 7컾쵇Z/-\?ri-P+_#6ͻ8;^xq?PvdN 7N^]l?NpFP֞ΥϟR--+^~%z™BarAwYCeϰ'zecu7pCp֝)* jWU*|tԳKaO. .sߌM, !G7.jJd7o$l:zyK=>&R$d:8¹O~U^΍͟m|CbQ|usOU>wɧYc?΢;vrr]?lgQ{" h}LִXuBR[|Gyj*9DU?|?$*W&;PnVVO J_KÖU>Bkf.[~?OSwZusu' mXZ\qء|u}5-*~s y)'wMy;hӿ]}m=[Q,p |gn]K};\N<=M{F?|~|K-nj7۳j&pqEꅧtq zyay-ӗϊ-Vi^͛Ql[Y>8LiK</p?XYw1Gf՟Y_նy:I7T d!d*p!{loC-Tb.֤k֬' Djkp|gOkm)y;Ok~T ܫZؾ/dy?3U vǝwEUOp.=U{5 !_BYj7:omq\js=f}hn3|=¥^e-EQhÅZeW5Tnrru~e9W[hu=h58o o}{h W+?{A Ug;Lqo{cv[ZQ\ BJ|Gj|=o:-n ޱn<U}ǎ̮ѪA `nZƎ7/WZpOwytyէ:}+vhMt=֮]v +<¶w˔~ʫj\/~p+vh }+WcԤ5<2 u>pQ ?8]e%]yBZk~ ^E !-Cfp3;vI 0LSRC.(:W$+H{4z.J^ܦC4x wPHIDATxڬ\QH T. dC$>yHݒUѧգ1///<}m?3s?~~j?}~_x^d깯mƳ䳯䐍k!lL3O?{S~NW}n7Pts.NU}?4[]WvHysBY(g7q`1j8hQ5/kX}\aWn ApX a0(\cT ɢ"; %1d d}țA͓ `C}5;\M'qaz׎ 1PJٔad,nס~0WmtN,]g&f Y0Je9 X ́wC\uy:SpHXQqrG5n]dT.qY^L#Cs:|9*U_j2o(JNr3pA\8AY+QCsSzrC3 ;Hgfdđ(awnsIdCAv zcaʝ>a:BugK{.` DS8RV 3lLH9d&KWq1^Ezn$%dI N2NGq0*4tw\CӍ0Nn䟎UDS΋j/ӽLeh>#rdN!K +*a0PMX PkMKԟ+A,5M#44!acD*%`> %zهa#j\? wy {`񨕍"|zPxܾݩ})1gj>OQG-JU!Iqh5ݶSfĻ#̡6 Qm .X4-@!bt2(6V嘎AKDݕ8 e_O[@lvAM F>ɦ9ͤqXNDs+W4ڤ :tՕߟ?>-ElT jIW5Vx؎RTPa Yc (enTIb4lӜT_QLFaݱd%.,IENDB`PKZcB4!!"plugins/pagelayer/images/index.phpnu[;}6g8Ο}g̱|XotB]w)SH@;_L| :yJ=,:mp̹IKy,R~8>UF2IUZ)>2IVQBRMKUHV0UZ*ZʬVy0Ufʤj9J`E[2UvZ*YrD^+j*+Zʎ*ZI}lj56ki¦*CDY^cUd-UqU|j*509*\\Z+xhEjVL_V@ZVϓ/XI h%ZEPĢ*  hZ*eh%*=Xj%QbD+}VQJNk%Kv#vUbJwGZR~ d J`Vɬ hZE\U#lb'vή@+aJ]U؅2Vt G 8Zѵ0XJ9A+VB Ф; h J$X]V@+B#$v] G.4hEj5J9Za**Zѵ;X@+B!v9Zi;X] ZbF+V+8 4JVBke8 hrkj]+΂Z V{ЊO h]̉hKs,ij](2U:99G,jb(Zj^9 hZVFЊU%M VDGb hZJvX@+jZaVK3,h5P0.4ZEVZO5h+Za*ZѵJT8 d;j%  @J](JrZ`V؅t ZIV1*àV G@Jrj`?`qT+@+J]hVN5 ZjZ V2BV]k v@+hE*`IST; h.Zj`5`qT+ h.ԺV h 蓱$`q`.EbZEVj"X*h]( heRHQF+>h5GkQX@+jZqVjX](Њk DU ZEfV@+J](*EhEjR`p DمV3A+V`V؅t Z 5NUVA:V؅ƃTZ | Z1V2BYD+`p DA+BVqD+,TBV؅VhE,P*hEjhg݅VBkE@@+kh%GVZ"  h"Za*Zѵ ,>@+B>A*a,>k%.Z K@+UDJ Pk@.*ZS._+`a Z1X+vֵJ_,h.4oJ, ;ʤVAZDޅD+-UZa7bZVYKlc ZI 5j 3VbvZ@4JL.Tk`AV@+BV]`@+BV@Z ZA+ZibVBV@+B-]W`؁V@+BRZD+B%E+VAb ؅DbV⢕4P*^htVz b( M6؇NȅV؅ZQJZبDkS_/w`"sVtV@DՆَ;{tUjn~Wͳm>5qnrB@+j>X@+B#U,˝'HMN~zk 6@ծa_^Z̮޻w/jmy~{*'J ,& [_k͛ք%FGۇB9կ?M| شh% ZY P.U[8X48ni,*պv%.qoSTQᏓ^ps0?VxVBBk5;+,*VNj==U_]ނh&/Nurg~8bS۴-˕әM?pPN-Zѵ h 壭cS$/l[-}c?}SiVCSU5i:]뙾o*Wc; 4-uv *ӗ*rҀVUwt܌NDB\~ХU}xӐؕT=5G)?W~ز ڏ䏝? ZK:.T_Wk`5PWBSIתxs{?w>X)zAi ۔7f]PjU"Փ޵fZVd~Ճ;Iڽŋ]tNn}q9-5m<룗V?n!}w~=]9ۗCg.kZ9e h%.ԺVTx*ѵۛG3\V_'dhhy'&kmZyvV7wwѩ:\1JV-ζ]ՃJG+B h%=Z)z#% ۖ8C?W$A󒠔giۅ'O^y}: `kӈ/U߄YWT//ݤV؅ V!ZIV37=ǟ}yo}?))ibw4dK.\;ŽE oMjAo[3_;ab\_:3 |Uh V|#U8l\3ta6Hެi\/ϫ#RK a?\a~ۧ?ZɌVڙ5TvF+r{]U7]e[7aD6vN@4ҿ ,]SKnv`jg$f>ímz:ʋV" k5k4BgJܢvZ}=:6uh؅ʱ VZLk *9h<1tcFtLFTyA}7,G{(+(.TkT hjuL8-13s\{>-U/MLt5fm0}ǜ8|jdž5;*Z h%.4Knmyؾ6,=ZgnSg nvjgAqq,)kgb|ޢhevB+,? =[NyWl\RCM9DgT_xGX)OX6SisZ<+ӏCzVUZ1j؅tx!v9vƥdQIU<۝ۇ7=ܿA^*V׽ݯeכYG+wVV_U V]c_GVʹ܉2FTDmP.Zl;rkþpY`otVo&JWMĿ[7Oz;ZG';ΏڅnW^ٗT7?F>PBuvF&v@]+_V,UBw̼;[{ֵD+V%.Z/ݼ69]OmkʞkKn!LܐU ZK.XՏWVgYՙ=^QP.7w|֧Х'w/;[͙.UK _BwfV.7ER+xGHrkɃUꓻ=54W~ښGhʥRث*ɿ8 uj]+` M쒣]xo9?a]h Lzt_ɵ=EtjmztZs QBK ]!vj%.4^he,h[Z_zju't~33V`z|4⛙LL7ڏT_PYЊ>_M h%.Z~x}a-p(_:-t~|/XUecԷM aD-.\//VJ(A+V`D܅Z3l/fpi&ZeϮ&8|rgbN+Z;6ԪW֯@]Z%4Zɼ 03 @(x~1MH~sf׊^Ze?1]+)*ARUaJlmߝUo ׏%]ߠUlgn&ζQe*5ht}m2{.gVBBk l.-ZVJ@juy32]\{W ZEY+`DD+oNyyxvw/Y[]8S3ZmsM50g|y||e[WɛH;GUjk V_>ZIV%Z NwVlrӵ2$v/~M[s4?L=Z]gzV}W>zh% ZYKDb-6fԐtpNSIhHy#Q0/UÔ&V"zBe-&\?mZ ՗.Tt /t~f{ytS~Rwv~ύnpwtʼnbFخֺ YmҲ*k^rwEA~wбծj*_Kl ߵ1F <'v]+Vr̲%?V1զ5^1`6FfeZF_ Ll>{Э>840}v*>}="^c}{le:sJByrV#U\;yúeXBۮ_l^n<ݽ^njvJ|է{}`{U*NFW ke,BEžzR?fbbv7y:[%waiP7D.WD݅^-:fr 4\ZZ^A\ŊRs,.fV%71V؅&, wGJC/`V:X~}gdx23jul͋^{˧=v4D>WWey*!Z@VYVK: ]u|ZM 5>\_`,9[\+sQŇk$Wnu$؁V,]+,kS^6u8{NkRECkEKhEH@=ڷ~@+ ꋠ& PpŞ3ՔҔҬE/CU\iIVۭ:buU55Zؤ~OhΞP/YW;*JBmj]/r̓,fVٶE~3ʋ4ZԱgs:P^]>z}~'jo\X{2zu*/Q(ǁ]h_+`F+H&Ն.\؞^~ooI==\8RݚX]:~؞ 􇙋׻}p](*hE X@+^*]h ﴺtR 29pifj-XyK C+{4hxx6ܹ1wuefTkپ??|ZV3$v7];>")7#eۅ;Ke:4bx'̉(䡦)wĽ^Uŷoh_h%1Z*(X̢`Pvek!eQng3^ZSYٔ]:a?_xuZn^mHVBuĮ;ӂ%.hӫ)?ڏ[:j 1NLG>xKyڔ\PE5NuSf. D]+5X@+. B+^Pު> N޻ޑȦۅ/3~'wΨs}tTc_xYIv@ZV E+W/f੯wƥ  \P}|N珻+vW/{,y/ϻ}yYvheX+`ۅ%7okVʽݻ6z!|T)mxG?~GF,U U(gί:|->ⷞ5r\'_UDC/iZV  bۅZ X؅s L>Z}en넁qc_<|Wclm6xr}C%03voyT>j* |jΝhvT fE399$503=Z'k Њ5}ًm֝=}xQ=?MLO)`}}ަwo8}iZoZEVt`DBHv3U46N73F+V`܅Z{\6u o v@|mDkZ U$_ZqV؅T hb yEZ hZU @$qV؅M@+f3C+`'vЊZ]oZIV\B-R;$X; h]PTZqVBV J.h%\B h]Lh7Zѵ[h]( h%9ZՊ P@Q R+UZa bV`V؅ơV@\b Z k P@+)ʢVA.TTbZE+` Z Mufx TOVPIъ/X@+v@+fъZ V\;Jk`ЊU X"v@+*,BV@+J]ubZ cE Za/s ӀVB؁VIC+VZaVɩ,B vJJ@y ZqVB-R h.U :TV@+BG@k h](Z}K:q ZV$UV!.hZnj]`I@+hZz L,Њ.TB J@.h%Z hZqI@+\\+5Xlv@+50(X؅V"PZ+Za*.4Ehe, 8D֊ Њ1bV;Њ h]( hZ $; hZWֽN~ ZqV؅F?OHV@+ PNъUHVrv@+k,v@+õ /.hBkv@+Њ]كt#vЊUBRt , P]R ,h](J\  PLI ؁V@+!z ZV2B#V4Z VBD+} eŹ2VlV؅dC0  hi]hh.t&y Za0UZG+BD+}V£v@+1jE.T8bZX+}8A+BV@+*  h,VWn,h%>ZV|^ZG+h`dG+w@+*$X@+BV_9G0. bZp ,v@+3h]h‚Z V؅VZ (ZbۅV1s.hV.hbV.Xx@vqVԊs.h`8F+BV,v@+  PhvA؅VL&X v P{Za bVjV|Phh](Jkhe,BV@+&kk`H%v Pj hZa ,baXO4DǦ3Tl2s^x|@k9Lv~\nҭkl8uRfcPy<&uD*wp;y'^FC_;bkF<[dMY@D&[x4`::Nm6<-*K ԣݴғj":t&*K>ntQ"!*_t H^)EDnxPKVFBjbTFcwz7WzBm(m?_(<))ց}LvS~Ϯv)GCg E<\@]t¦u/6YtA Ԛ!ʓwMp#25(DpnR4k|p{9uh)qp>p5'%@'B^zfbiUfH c irO'(^e[y 3;S{"s;Ⱦ.&!2bJfOĈJ4=v،56ꤗ,ʀ`2P8:BTt/AФGz{0Nz"xSɸko~-ֵvz&nDq_=l4W5r>fl5ip"9wWE~"5fb޺N*4 n&Ok]|dTn /į')дt}^Ns 7Sn|nH_Σp;? ltrqA0xhCI\pXݡ=<+_|!ł.G]ty+=<%WwiK}".; :O&mm:̜9U' ;_c1Ƙu Ö{V <}̀?ÞO[w// 3u sd=}g1_HGIUΝ1c:G"Bqv5쿊v "XȈ6|Nun/qz?iK ?c1kDNYf+9s&[Kw+5e̞={C آtԽch^hsӂ:x~M)--cruc]|_aRQs1Է]h+**z0.C4\K ]I?MB[ Εm&& \Poep ݅FbJ!{Po%jOx-VG{;Z磌{jFNݻL907_c?'+񬃋}!Nhom1ʮVar 俳13-\lIF+@10zAZYheJ#K*++{0| vzr]9tPQ`;TmQ6FQ7C(ia}}(>'(99iUqgF} k3K" Iʶ+'jSBRrW"q{9V_hG9Iz8?2#UUU5ℇ❓-Z/5YObOv-˙w#o]qB9|rn&9Kt 5EܭCoٺXlu:(2Ŕ FeX(f"BLe0gJv*wBQ} b<CClSMY!\}o&!i]" Q-Hڦbj X_-RiB>3s>bmRzO@xRH3\ [bJշc7ESX2Gi@$NJ"|0 ʅp@Vg kN]p ))KKK_Vj,wP[#-me&-8ݏs T6(>=4x6g*P{Ƣ=GW;`ּuP04C؎HIob*- 0edu:gxF)^ւͅMD<~Rsb (m}SSEL`vr8շfT vd3Wck9/"!F~/_ qBq~ƋsOQ{(@_8II}@o+::u8ɻ`Azޮr0Fۨl?_#lqv;!nfu_Wlb`hqak%O^?!DQ>"ҙ|٫SYYcԝ­p{Y>ąqw=BLo9_4[BgcP:Aī.qM1\PP-O~/w\c)(&"i\Hʧ\qS Y"~Ǵ9KZymxN*aJ+X7>SNȞجI~wovXGcvx4ng ZτvJBbD};}͋x0\]:˨y|bj{n' ͤͷֆN)۹.BO@N̵\zCrD܌_;wn" Z/ kP'ۚ^:7qkLj6D'3jeGc1m_SSkQ]Tx ?)v*U'l[|Ѧ0b7Cn# ha%g3͋x,OH|o_D< v2y+b0i` jp'=ĝTvHʾ'vnkr @ߍ%9>Lٜqk#4ME='N X.z51@tG)5%C|(_N`t13r;2][ˆEmկil}'8pl &q'|b\`;^xc1t4ܖi  .E:NT!CJSUy?W\:1K(*WH8q1#/zfHGU$اI*⹀1sφ!xCP).w,LwsiieFi^u}5Xͨʭ8man]k6}>sR^bD|{%X:OU.{ia^,ˉ OH,1uedx61Z̼k$fi_mNWU(e9Oe{gEC3} ۞w9%#,E' |P<=^*sI-/R{ʧ >>%Rk*l:_%K6P[E ,kjjoaf?#ϥBi\}BvL/b*b^\Fs:rmm= {]TD;սI!Y[[[Sjqq.S ~(l|'d:KreobM*IfntLB1c5vMĘ5S;nMbBQپmѵd"~o1c1$zkꤲV @9]6m.tXc1ƘBo|==>-+|B.,2co1c*z+> ѧ$`}ӓ1c1c1c1c1c1c1c1c1c1W ܂IENDB`PKZn%plugins/pagelayer/images/404image.jpgnu[JFIF  - " " -D*2**2*D@*=nq)h]FR_@E|ӓeˋ,= "cZ?i\ܤ@c~c|=V$l;vvH@b 6W\.F ^ac~nnd˧׷'l ަuf󍿷|G;e Yc8݅n? ~Kұ}po2߷D$BdJqS-.Ԭ}WKUr}2|>GnѼoX[5Ŗ1{W{E7mO.F%GxUr.Զ}Ƕ]_:sruKCWݶNLk2rT]y4C;)M{D g {z#+#gIɈVj~C"xދEQ'Mvơф?')f]TwIWVm\eVK򸛕|gU4u.N _dKMOz{ニ:*X}Z  ?4&ǶZBgt98|SY\|yNrfݹ/d>DG6"FO64ŏ_'@ގjuIa >1ڋeOfPyݙd<5$s~.딱O5O}R\|{ ##ctoߘMztҒw]sM"nCLT^|*&8"6vo1ѧV0}FN"yD*bϼGcH>I|'û+egd~X,aM}F;NkMϟ66}>] +HJӮ,'ؠ0~pI+u5EIG/T嗠&vo N}?W뉩Xm:B7y(pR]_Y|޹ykrN#?^oߣ3̥zQOi*?-VnPpqHl2a| +tu2C%ijCuPH)pc =ݽ]]}ѣO$l˧^BkDf3W>s[\@Vd 1ꕝ8&/=|UꮷO!>wqΗg.cw XDlc_/\S nlwM=_5ʌE#F{i(b/6 a~6cf9E[nm0FG [yY_n?5>.ղ/}C12"b/_$(UvlИKr|-!z +ܖGVRaBwT썣Ŧm/'ٓFx+?pV`|}(r瞾!|,67*,K|;fINhs ~"=F|fiH -]+' +0 lW`W_DZKZ+mD>Vy|ONc}V/cATK]qT!9g!cWMKAZy zO (>gZaU޻7W4Cq߄HCFo@$u_Y'{VnJeh=+t9列pz)[rk.[-6>yl4}S^˺Do}5غ);w`ƴ^vE8'{g@9)WNY`9>Cg$h{ˎ >q /<(ud ]#硍[ϰuZ/Y{ [j?jJ >E5"% ]wꣾ#k 8=okMORLUC$0d Y3AG\4G׳ [@9(ҟH09Iͫ;&4V@=ݠ"@W44ZT&jz|w9zϠ7X ?L:p|?RZLTR`O涋z2^PןHZ{Z^gͻ%+ .3f^۞o1 z,`Bb@pAY@:%W##bfl ^ٶ򯍋W4KFpl:`.WNb.#ty_嚑#W..۶[}$Oe,xt/U %%=";gmEFK ;ttj°?& CILz뺦wmyH)TOPuϭo\wa^P͞^yt,\3p!=z Ԁɻ,-']bsW!YzRP=/@6ttu|||Vxc3߿~Ӓ}đ [s,ll۷v4P2P;/ъ5BѧZygnA >z_?"}R\|%㚠Kk0-=ܲ,0xϝ˼ϯU槨x|U@xxx᤾˼IWynR-{:iӫoـ MIpVKn͹* jׯ^0ի^~/,Fp|kzz6lٔEvJ@q 0ˣ^zJ3QS;9k=ݷv#2ю8c5Ӈ } u^Bshٷf͛6+:4}Fr0кƍuj <{Ymٻ/=V0[72=|>"x ƿ(fÀsOf@'ͰfקFvlym}|n@ ^,}9{2fcʔ5P*r3@y{?7{{zjg@F=l4@yGJ`;>ZzGB8OA0׆ZjLO} ^է~_,q P >Q3@~.pL߰V|vݙ^| 7="U@[[@vxqcˣ^b==>m]h?G0xVi9uŋڱ\@Ȯso鹀0T$g@Fd wsU07in= ueC@*Mxu4Bacr/9`'M?R;}~tkj +3ѷ@# ~ %?=hEkݟYT ҲH7loVKw<..7:X+T OVaV\3@bM@Uxe"xy5yZ/ σ=zd}Zd ^V.FtH[D &hR2D!! N((H% HZ{IEБV&"k1M$]O4"fc0ג)y3cj[^Si(R,c/=4j՝@c֥L}JL9hΦ &= &Zϝ\4ᭀIV`ZLڿ+OWն:2R2ֶ-O_}6L:"U"YNo|ン@6Z`3#}wAm M" %?qw:s:@ *-{ұ<|*& rC 78&j y:Ozd Zϛ6nJ 0G$TLQ=]#TN|:F1L(3N&FMDJ% |lI5"%9.$}"oSKuzT;X_׎8=: yxuǟ^^T@u<=~:Xgݠ_ =GK|/vr^<ϏWo` 9.3:xo{>p~w -=_ӹNGo ߣ:cS{y=N2I8wO>W,piw=Q[@gpa5puW lc^πy7 muҿ{8{}4Ӆ|H_]d|^8վ3lut &Չp ^o6鶚^bh\ZҔʙZ@|XL -E"+^ 8~q3^_OK{1th#:﵃m~^IrC O:|aq.0vt:3}Lm !7 \I״*4+ZMlu:&e@Mt צ@o\yP Vy$E(kZ sW5֫b TY4R̹CX޷K8+S\ n):^mu8|x_i[_!]m^4譼zJ%L=[V~ʱ:}6VfB*_{R kյ3N b^ptd@EWZ-{:*L UYakH[amy`OG0'y 2E+xɶӍr +H3Rm7[Ff_ )э@"-{yϾU mk+(81;_[ɿ.@Rt I(g6ml/?gұ ej߷ï8oXjJU^?f76@mVH&skNPoTi L!,&Y5=]vx| ,ZWOG2y7K$Be3jpyj BGw<^JN9<=mJܵ T7O@_TD7g mh^7뭈9q3ܽU@aɿW˕=NUr2G 1-|_@y\ovxަɗW_G'ep2_LJ8>y|ppo۴v+c^pwS5 4sOo/=ir9DNmgRf׽(~Oڷ3=,93 ~%_ېV)Lr'M3kHb+\k mo.uҐ]\t ⶵm}t@-\u2Ӿ9R^^Z O_izw cU\LoGcsvZm`MZs;)L8vkˀ{g\gI H@X+6h]mZtZN ]z9'9[Up#{Q`'KHP 1Qq!A "02RaPr#3BCS`b@T4Dcs5$%dEt£?$ݲ{w1/7ھ :]#jQzzGZHt5%_u-=)Hr+r Op{wS> St;!i<T.?~&AOR{W'#wsvcD꯺=AR\ Zbo6FцNiQtKeGzSXAi?! *"b\.Uos~l#:='bE0  [I[ܑ 3R;.?>&dZ:OjBZ:^7OJk;.8;>qJ5H$)71?Pt'HkX.sݛnіPdjE[dXW,ydyrN@'Ŵ*F5Y=\-C}T]ғ|RIzFc85_=Iӭn yPTUbh-n/'W.&_O^/b~DƤ%Gp{|AZZb]3/'*ץ][V;{jՍU߯/ti ̪M6ca VVw u}V%uucmLKT-7kͲο7eeb0A85q@HtE$T Te9&Ê{ 㷼;L7^eϥ6Sano$Utue# ~^ePZInI0E~W0Y K8Nussqw)yKn˼<ق?jK\A 3D ʃHqS[p1,J*} L>ŝͷb {õNf ѿaҧ<OmuBX%GSާ"YR$g¢{tKْwɹe_R3ekL-,0YTH\()=Ec;&@b~)®˫ltmŬX%h߈y֝ҘWFߴ#+e`A~[XNTx+T5'e!++rf ^jXEDQl~0Om/W662piv56FRTH>KAӮr]z~yOofjQP%zZOI،oj;U(D$,Eiϫ=J-%6 MvoϪ"H0}}ޏxq5qm=&B RIA+ {ΑEWF drt'jyeyr,no@o^ui6lXOJChdo;:۶2R#d>ayqM- *w~IMQZySt+OenD{+Z·H A *Zt]jDS}|c2<5}f>D\~b;$nUXkDזE%mN=6ؾ[4kNӮ5fyB{M _h;]ʾ%iƂVQqE v(Quidnq=&uٛ+kl=*RȞF=U$Rpiw}[%ZM"}#?Җ7['2 DNE&Oms S_Y:!<-Ft2 :w[7ͫh?~ot5?~}P-5k>2kCS?#K{fۮcWG[FHbHf|Xqgqm"z>m/&~g*};nI>]J:`2GLklZ*C)  ;L8} R'›򕥢Cئgi4M$ 3/X,O"w My[XVT_PȖrOAhڊpXQiWoqjGv+  @xk=2{)iО)3b$_O޿ ynWnlM`pؙ̑Q)< CZˀwAvґa>ɧGF(C-eKmq+,g;jz_d6TRC ;AkNO!3:86(ƥ%dIUծciPLaٲYźR{-r8 =*2 e;?O<ܿg  'pPWR`#PV2U@(AMIǺ(Y,@5Kwy]ē3Jʱ fcB(iZjăG7{_?xo}~]C,q5UeCl<$Z}WM/*in A{A[n8(v]tnqSC$2a 6ueu  F SM$$nUЂZ>Nttɜ 5⯺S+,(?h-ZRIἸ=W(JWf23HZ\v#=3HX*(b$TkXrPOXC53 b#px(&u?ʎ.B}(ϣ6223j}JD)h ,ogg!KXW 'ɂ@=L+ԉӽc&NH]FEaˁ)N _Oqs*/H\&Ww~NCw̷U{* 2Q$½i$8c"-*k˩SWy!TxI. k~j-.,l|a@l?YCُ4dT3KϨz"aD .,6IԙwWtL =x^D8e9 lSK BV-J$%GGPQ*1Jn#fgd?) &-Ep3Y$oA(nZ}RJS䞎ءg cV\1aďl~Q{vy"%fv,YI'j;E,pPhX CBQB:"?M J jj̧.,׭8<5vHVՆ?ύ^7Zr=JmѮì.Ñ",ēIب_` 'an a AZm ʡK gj7N8!A#gF5O- CUJA9# w C*h€y[&:[$쵴^+t G2P6^j6cKI܋[ˌM=n@Edq;<;sMQjEd^c+e7#eRx-_j/2j#Z$,wO"E'mer8&vuzG0s]-)yvD}>`{CΈk"ȥYA`N *NoBf5k)/T2<+Xn,xo&r9NwMiu[yn4A ~wJ/җfv5+u"cCpA1F7"* ml;C"Z#S h-7;I$I$rI؈QK1&n~dx SL7;9LN\Xtqkp>øCGb/1Myw1 Q2E峯cu_<#IPe#5X$ٿop]YYIԸ;y3wK_l촶s'?GyvAoS _ȟVѐp ֹqR1˳N1 I,jzKAlI 0p#twRET9 grx"TG*®\|2|ɏ9l$)\#Qk*JZ͌ Z??[ݸaQ[֣W(2x 4Jw_Z̐)k@6g/ @5{FZ7Z劺/*aHw$L%1$t^J./gd[^F$5Y$E5cLK\n`pV8 +w UQ$>f[N{_6#s'Fd`[$Yȕ`նi1?g!Q^O6pp{ik}g K|oOG6v:׊1CpX"dv%ez H:5aӧ(|b!`΀7)#Gw8Uqp2جo& '&%ϔ#ш٬MՎ8As<[i.XNZiDQRi{dЭf|M ou&b9JΦ!dR0EjzSږ%cT*w?CAA#$!ފy^F'a}^N!4//<` x ie_is TpDT80$ӻJrI<KUܲǯ(2tt*xwѬNEԃ?{8?@]T 1 TAow/ MO8ɷ0_}K RTdnmWDK AD}5o{+-].57WbŰП\I>~'fsc#]Ktf y p | ֱli+I597n> Q%X$dDyQ,Nil- lj;5|!!EGjf>ԧ=sqWlV~r$L>&~M֦.%#^7,T'&^AsV/lw6+kF:\WͿJůzKCV % NsCCP;PPm A>Y EO`yIwu/3 +mI8디|@Sg}>|,h[x[nHZЧМ5<DHx]OH 8 Ij-:ofV*FC#w jQvo ;{\ZiXb Ku=UtS{ :d/zUIօ6kӒ&;^gGWZ}Zܟmi0;5sqnz. B6@[(A+9.vO0%?NI4wۂ(8mP CWD~]oVڽqZ{2+&78 YOfW]Bw\10E&nyRjo}?7*7" ^^%GI31HȬ/Yj7 &5{MLK.xe]@NB6{B+$i{EMA *;_HH\ob;ʰA:%d5}%*蕹kA'ن&pǁ;4~G;ntfb6'O4gƆ?|x, hhςRi8P8ɧ`H&g.x 59Bʼn5=&W @yE͹I opwC!)evP4a_~_~}_~}_^_xQl`mnF$|n9YG$II;4*QojFVӠLx PFe@%AO"`smۊ]JdZ\qkqhNxZ6GF'SZ贐+RN3OywtIG_tTS3Ib*Ӥt+֟Yj>$y:u*h$[uiue_z=$]kDMp-m/WĿ٧?HiPq$ W2#VRrd+fsblj$5#Ob6n@M>鷠_@ҘsRgoKejS&8ٍ d>' -D6V)c4O?iCwQ{{\ Vڍù! 1EEww <̈́Z~K,OV-sw⧮* .c"v7SDxaZF ׾#A A dqA*8 V>[{ܲ5qx{W4A#x;.4{YdL}gŸC_aq̭OR8@9:)w-fmg&\jףfk0;3ZV|x33gblj9>bC,lԚdxM2%~(2|tNu֫`yi;q9GU`?6LwFtwwtw=y>/9txח y>ut7\IBCQO55I}<S;ï1IwjNDdG_lAmnfyzplw_6;tFNKʟm7[-&ʸ5 2B\qj` ]GV#`q~V-բK(s QE\i:}ǵnz&k@dBe^{z93bۢco\*K=E2#fD3%:;q5X8J gޕ#n/lnFYW1Ǭ*MJ?Z !n"5 DW̊\,%xi(qOj W!'ƟRmW9RA)/jtwֲn)x%˺6T2&/H{caRh-o%r \WZcpqA#;:'zRysDZ=:R,RWC]=:lO? RI  Eh٤pA$00цz8NeRV9e;/-.-UPI;5N ́(^ Q[xrAԺ%r74w jD*pM-<5xL*jMz>GY m9CaQAEHm;`?]=ǫ+]}٬#t;!FfaVOP12$GFF)26$`"ōcoݜ%~ 7PmH1?>iڥGՐ~ݝ~E_IgQmBP~-Q1mp̞vOABp׷dBAyf;/՟O5x?">=euvz9~6#"YƯ:7[h.&~/b8C\~Oq5r͎@ J_#y.Sۤ35=n9jy;x8㳣>0̿C}wf=dR ,NQs uC7pq]:$sL8\պz9e`V&.cQSM>A8OtyIγ\Fſ |YdWc0{dnCa8ݳuy{FSYf˽rIG*28ެ0|ޏ\[b~Ly)-K9'nԤЮI"U⤵ECD ɓE:L?Q Vk>3@)J:3$w`^1'eﶟd՟G5t3EdqVGYEdqjQbu$@S! Xdl+J`&S>8~m.#I~Y#SVقYcC@=~ Zxrm6ZYw&x%l*B#(nGY m}䚞CEuk'>fOY^jԑ#4~oIBHn8 P][܂a7Ο7٢jx<4Ԩ#( ^Zdx}Klݽ rSzY_/~}[4+E'VI\E}lI8Udž|¥=id_ x'DeTjFwf4f͔S؉\vmvODf"<m7O}V66=rfF:-bӧT\nu_Zdlʾ/e־๊#[*+TՐGzQ_Uok'7q_Z`<6YُocjT$qd_7Ud$lISzVWUu9V5Ol;5/j}xx,-SI1sqFjFnI_鳢FX ]+9nU>{!d=h%;q U2*֚1Ņ]?H(v5ocyu!m# `x@[h\3=Ld_A8Ĩchv յeU5s'Չ6r `Tb"K}9rf-RM(oRtTeNIOj_I$';4fLfP:kVr.UD_=_OL$bDDJgƥIidl%'^dSȚ|q@P{n-{ yGWrWw7Y,{^[t &.t1+{Ds2Fަux(tH@ jpJ#,;/k-Ejne\-|ݲO xGKq۹[ Iѽ-wCZh A<$h2Tq' [ʟBu_xT$m%q)ՏE%l=Gjִ_īu.n;y|5=H8 `٬7ZA. Hµ bWQhH[S^i/|&dB`O!Q'^E^& lԣʤx=Sn@IH mSJfYNk8ɭ/!XEOo],/<"`8liIxs( Xწ紱 #=7D|^!V:5/쾼I8WΡw܏ 6Pr!\ 8iv2^^Xdz"Gw`'pJzG,L -8䡨^$+(u@n'ϼ60 -s=づfFVSR<9JFd\'@ dW4Vgh~fi}bahA,2'#Ռ6Bߙ*97oktfE'c? jX5-]֥ɧE :9v*@$O .8KiOH3gpZN)k0 0Q !$\d^GvKY6ʿbqust 9'UPsvvX&c3Q 5ػEK]մWPKq+Qӧӧ1J SmcrN8) C6exufG ovmV&AYcE,sF*F֮Kjj^)]?_,CӹBI;y$`A U]bnj Oo59W \qH~W)b@*\|O؏ۋX.h:WIk9rJCd5&IAZۜJ ժ[kOYFTvHŒ.ZQ_챻k+n$);Y]Up=XaV܈\GW9wb~'gE{esH˨AxA+SaV1H5iZjp<3G'>ִ5[@#oEӵx/X9Sz><ޕٞ0]ͨ= 7ޛTVD)z M 3Ic MI0a֣]wKg; M_If'{/)dE6*Vwܲ',$-$NI9';՘~٧ X(O&ՑUqHz6trͧ#1O]YI[]Azw(5o?HXg\ >vt߰62si/ @<юs]>GQm7\[҈ ^C?tz/[ _ߜ(mg"&VZpa@ A҅̈́Mξ|jy$_2ȺXHoăFAsfYMKMG"0A ,߽c>wъ9kN˅AUľU;Σ oc+ֿT:u/=uсVAm6j}e>ZtR;6c yą w'v"F.G q4(C6Of+jzMv*4yr&u,oraM?F5'U$$4ȴ );]~H0ouKo3*]/ZӰ?Նc~1 z7cyʊY jOrw;z?fV#!{9QxKi8|XAHwAOzuIoqɆa9 ; Ð5[Y;ڌjҭu)5Hg[7w]qq M,y5cZ^$F>}*)f ;I8>WP2gAn#5,R+*uާgx=Kl7_vNڃWOa:GSƵ~{Gr'c0R]eoc( =FjF_|_=~>wclf9o9 od4!ä:՘ݺ@Ŀ٭?ҩ |Ta1B[W]MS"5IYaщY8ҧ"B(Gr_k69˙?f-Zm3wum}!e̖ fO(w3?l`nCgEmw&~KK`^[MW4Y{&? dCp)j3@|ӻ&Ld`HW6ш珬+ṮfX8,&H6 ImN -n'ݠy#k5 L$wsΏ@dLn8yZ{SV `ŭ|qԟDAnnlۣm r9 O-i:}&[qoSWȿj^j$m/S]3`H;GT]@kABGe݂IXٍ}(qv최$8@ GG#V׵n0_3\`uV -iH>u?ٌ/Z-%D c'5(DPEӡ)@KS#G,jwA_=ӬyW7vEmD,Y3`Ejԥ$B[1!x>+X$SAWWR]K<ӟ7 tb8:tnQVHDe \i"$e*Gj쮦}lӵ!O[ݠA8 Ʈsp%m4SJn#̚gBD'W-ԱZv"d1գд*:@l28+9Dֺ<.l%$rC#G*28ެ0Gۡ"cz1ڿܵ "AW] ԓ=Y ovT EijfEzQjn=VV};d%?J4;rP)WKu2[X/ZSOT!ҩ{!Ҷ)htwxKCwqCVx-ifK[̐IzGVَKj{L]Cm"Y7>S!#١z0ņ/ם"ӍHSܛfI܉@%D*$' 2[/^y1ňsҋh-iO}wS_v!զ=f˱,{$l&a%'GfqK}CkqcC]q|tRNG_Q*gxGo~?Qשu_5j=ƥGzܑRQ|Z4˫%{dU[K_kWp~7|vfR#꯮|y5>uDRy$ tF^j1_ڼwn*['^y5ƮOl[hS6Q*UȖbi诛gfe0=MeiN]I9'gF4/u( t9" :2:Ο!xX}>Vjz#A3I(E(5Z:މ5ep<>vz7#f8+֥;ѐd2ͺj KkQ H?\_~4< 𫎔Yd/?Aj: vif;ى$v~SH=zt q;O!s .ڍ\~B3ZU_4u:EUլg`$A AzIuytTa}mL y~܊9i4ujL (b#;*('aQw흋' UT qr 'a[Omg_[WJlvӇب=ek ͬ }5?FuX}o?kK?=m*|Y;>|;i`\  * p8oa~donc˻`{m:$rN>ߪYk //[qr cEM3g9=ø '8d첻{+nS$WTR$rxEfjXhUԩkr2yhl}DTXvE9ɥ~!٘6";9_ٳGNK ; 0 |ӄq; AE HxdA5)S\K1gr6Z<觽QƑ DdYN)rrIgo$z ]~I][;a2w (1 NSFbgE/<{b_߸څHQV%TA+:v35ީtI}f%~m@y?᱆Uhn@;.!0LSOj#`$A(wyvUVxiO62B43n@wl'.QF DzQp)&Ӥ-VFIDB lԢIzfuMJBpzɿqllb|n,5qBQ"QѵSil؝gg$&13"`J`R'RIA-g6ONV;儞w0jF"5V 8QC#q;f!Byx w7('Uۦk;$.ǐO= :r 4oQE}>1Qjp$4(d`GꦌK@FA}2cu?֪m3Fř,I$'e|P g~eAF.A1B1}㵭„򥶷S xP̸rg˹p*I8U۩'Wq?ryr p_Q CV paGa<Ān'9ͭ䁾OsqO+aI&e^e}7]Ǡcɡl bYG 4L<VF*‘OL2:Ice(lQ$I$rIO3Aq5ol13;MXI${ I),_}QŎ)t>r" f6+`X;7%7naP A xiN΋?'XxvR6#9 OHFdb.y3;cNIakL;nD㬸"YAwK۔dpaj%<?b~MQ̓O}rpdQ$I$''m`q5I AS|iy XD79]\eHP  ; ֶ'`viy )w| 6 >oF!ōI$I$w{I;,C#l{?},\C͚)9SXHu=DV˂l!6|㛩9LJxyOjT:}F}i!Pxydrvω{?S:xQdU{x$xՇϷ]>|C'm0yIzz(|Nɼ$n*@jD1| _n0M> ]9A N{spL{R9v`'YLH9$Ph\?4Y{̓X ,.<[2׃q 4{N*>#Z(f/w Hq&CIN|؃fKLG`_U~{ +!GQm~9M_P-Hl8^Éψ93a2{~ 2N[^7lӡ9 )g&$I 5b(}N@;ibw'eu-FO3.ggen Ƥ"W5{jF% iwuFY93jQZ+ :!//#~Q6ت]$QF"Qw;u90;cOq;g]?Rc$g`Ro$ vQz1u7ăM9@`A0ApW8"8&I  J@ 6jqe-FnIdlEG q;5ڿ,W7Z,65$[}>vN|q ^?>2 $zI ,׭uKxS.xcv̜@#jlDXzuI_rRY H@ٜQ5'ZğrE?٣Jbl[~+=X]X[0cZ[=ࢾP#axeMyѲG&O3X'o=D(H"=iᔏQ^%2uЫߎi3#ݠJ!w8';,%+"+#dVGYk"8E]Y]&H MLeW4}~լF)Ga54"%4{6s#Zƭ8H%LXpO`K's(KI$;/.H> |fg^"XsYg$$wNI;,K(9/ JK䪂sY$wIvYI VTdFV;u FrwUUn `(qF!1x{S\HB,rĞg>n1rOgD0^' Cx׺ q^D1P F]UHB>u-avBRXӋA )n&_1KxI< NG1AѽVbkP%l.6ZH׋ QyWX5X;1XJi s40g5纞&cQfoiZGo:3<.`v+#p=SS$d|T][W4;FGh٩dI͎9:Tx-}.^ _K|( 7fO2k3 -]4dԯnfe5x(OUFm{QSiڿ5a<al-P$C}CƳg~c'( '+\J<kX\` ?gI9e P~w-F ne${5)~<q43 ΥO5ۡYb&"͇A*CQ{<끘&PY@PS6k?2(YwcBhZB7y7F(7Vk'̐f9o9 n'!?]j_C܌ϺOi9$$4HZ%c#G]y#kW~gGw˜ֳ^śX~tQ~ 8I>ɡrr5lsouҹXE|(.[fA;|ޕ۔~#T٢ߋW8~Ʌj#6`җuI>~MfY*ts̞< ٦?_O<}vEdVEfY5+c{NOyI{M Ð[eG_'#­od3%D.yjC!>tMH[ AV\,l߭fJY5̚ɬɬ_XQt]2(B?L@77+7ʢi_{p/fB˟Ml#<7"﮺]mf%*y>9<Ȯ狰6GսDG*yo~Q.r˸ G#ш"PJO*+Sdp4.yP4.; bmΦ bkfvh/W5X5D`9F`ѼnV4or 7SB5y'4YyQ́Fw̞4oG<4uq9M.qTD$$䜝3ޛFol'\vGRGa4MBfa+JnbRg l{}F+ N3$';6=[Grbo v{Iup͎RjRn5oiu( E-ճ 8=~`КU#PP~"ih`p(MHEH% #;|EqXV+7eoh@?LQn$onV4otchLwRj`>`SCW SGRnG4u>JcQ;J(\=vykQ`QJC+UV+Q'3I/(rk][F7+#P6rGQI< ѷ&i |r*kHAܧ zU@)6 xe`Am۠"t [@A$-_ 짚|HhjcaW GoerҭO뒾md[>}.BѼ([~kB~Fl=Z:r9GS^O̊:B2hWruEgݏ2M`p"nO!Nۡs4,ńN q@^ mbݭjBCjtxݑЫVwXrYQ12I= t_!|$^:^~1:HyQ0)O̿)ه Z\XF T#ۑ M [atwPg; 0>KCLG44a9,FV0rf16p/t;x=Ϲ^tN3iǺS隅lRh =_xTP1(dE-Vԧ ʢ-+MѬRݭbK0+ֶ Si0~stنѰO&lM{|oMa[X< `5wh#3?4-_…KP†pw2hiwʃ&;?%4sBoByklJ@'ՍmhMhonD1KXnjn۸e5@RΗ@`;$4٦&u⟁zgfiu% OF~ٞ'OʇC}EKNOCZbLI?Ԛfe䂖4A@9Q=i$<]&YVp? sYYMdףvpf_GVh3 . *09 =^΍kcԶ4@^oگc6ta3bjwK^Mے䁼@H N `ڕsR$ Ė$rIvt_M9kWgL"Keods) %ԫ )o#>"6ZXXXH$"Vuu7~mEh=+Ȟ˰Hyt7L5 59{CCSW~5x:|Z1 k`d2kGL]H=UE j2D=dB*J! 0AO4^ĄIxH4^bL#>"ҍ5 +Sq_ \Sj vWWYΌ[4)ipzi,77"3cs<+4n>GR7VI5Om=)he9V#-`ިkN_'n;Ğ'fc%@|F*"'^}\x  lkF?"lw*>sҏttO_s˸44{Ohi\gZ].ow?0)lmSĒkS@@#kb'2.Ⱦ(_؝p};b8u#*G<3׉q~"C?liØ=\g&7?>K|CVEieek{XnF^B5 QBO0|RP⤃*\-ueåIA#{{dO2FXSL3$aj׷*R tLVv=9M[ב'tQ_?cr0;:%tR{Qɽm +}؜pR̪;'wYs,$+ҧqп0 HEdqfͧ2{osP $8up?rH#;TPI$ Q#ñjw*Gy\{1$vM) "1ޣT(Gfzlo!8wҺ+) K\Ѱt8#q~XU7@(ڝОh):_j/w-k!VTI U9O3*)f Zְ8-vo<)#ce5 Df>=;# W=B1kv>VHkQ7׳O$>ݳ@Qk$(&}`T.! AoeE#e 4yt+3! #juY"pzU~c,l78ԳCY|UyP15!X<Fb?4ARA{A-bUMgEm+xb9Tvt$gE)?i Waүw}e&xa-"** *ʮ0hȑR!Rb$]opa~(w0Al"XoQ%>gF:5 g/ݐ9'fΎZ(eO:{tx0ѹG#aj" QwuF6*@H.conRͳN8_ITq(|e+\㶡#aaI,rLAR78WFL}}wHxW昌r:?lԌ-!PCy< 'gGmœ ɢ$ԐOH{~',iypΉZ{!쯫.HOΥHe)Fs,Gb  E-v O#B~/fu*0#=-{o|첵{ۨm{wHp=*Z9`ae R$AGx;O Wxn<2+>uXa({̚(]N;I`Ob˲[#=xc8c\"(U:E]etn&7 w E #TsE(r+z2{REOx/m\_K8*=ޏi&<–4920 Z5iaKoQ7ýIuȲIkiGЙ9.65=8Uޡ$0Q&S{y*]J>$I$$䝖LݫImҕd~>WWήm-%1O#;#%xf#DoCUO҅" N45_y_}飩ZhvpV.\ Qx@>mGTHFuQmL,ğG#Fwc2Mh̷7x3oDO]C6%>B_5yjY2[zK@2G$p+OЯb}鶺|]HǵŵF9WN Won_=\^\[{z#z@@{ ۢ<85iK]L#vl!xi)j:V:1 !Q@A02BPq"3aRSbrC#$?d6~h#b7f׻L4!v!qB7yf'iuaECȃ1 B-a@d H) *«<'2x'2x\"B>:/znFlk43L43OpBO}mPv6Mͳl6ͳlbw$`v@TOVMop/AgtC|*υI-dq{1bzbNwݲl򤫧mwEb>)SgЇCn[wޅ"ăa60`ȒzDZVPǡ)чz 2p &F,<^@ BWܡՎZ}Yf `h<~;u`mz`(=XwTǤY_/[fVVŁ#=˗CF=㬯SC{N}ðw>w>;dܒjψ:ng6{͞an:{t/Au:|se}HE4H0bM>`XY=i зuGO}dPYi-_B*X*M-bF 6Mm}]~p,`،:1"M3L4{;&ɳlmUg4b$B He .a߹d=Yif`TE+m4[ŭnlN7iw HMz{MK54MwixYgxYb'vlAAXfdgL_*=#t>Y:ۨՁ4@^*¤*OMǯrX@H1{!ܟI9k<]"Lw㥽 tem+gV!{{͓g5=#Hitء^Zw  ~U>+ze]VWXucp8f>{&ٸz1X,ukw BrL1ǫ+k[@ lW} X@wRY۟zxqPI9.f~gENW. ez+v"ڝ(2![|ԜZ|Lb[hG&ZPV}BFUkʮT>]o WL]Ћ/՝aͲ9ҽ'3!L)ggcWf9/[ *D6& >pc;A1WLXVV#)&mpf:J4kTb$O1)*)$4ܘ8J7 ӿ~>eáJw=;GIܸOn_g|/>CwJ|^jeyF^ Jԁԏq .sjOj4,?cTz6Opik=WJ[R|oᩌ}_ * xYSAIol6Zg^|,>+7OBT|B&vLVfluzy1.T&:T%M=j;4w\umffl mg~(}_"z$jjk%tn/-NY|F3f[o@61nҦȐc^בNJ޶uW} bcg/7;6SZ7T80ۺ}WueLF/N.k-g3-3Vٛ 5vV3u潾]+ϟ~e*jq3?,tKkjf\Tl̙-ͬ2l m ږDe9ށzsI'eikQgb6ϞiLsC)}at^ɗDZz2hy*}FRŨXvTl>g-N&L+|׶OkiLGL 1L8)SʥLC9e\tW%JV<'0lQI92oiYJ7RR*@'#3>ulFc&cȅzX: ̼6gؙqC}o)O÷tLlW?^VtL tl-g9|ʝmwͿ}~.S|I){va1佳cme?|fԔ~DYA;b9W深Xݜnʞh(As_+㋚3:w=X|\+Qg `~C{} r,Q&N'.Z=ɇ҈:3qXloBz3c<8hiwLWy)hJ'RUvO 5U 91Y.|J:f 9oLx0?9RkC&LVe\#jd1J{+˞Bt,\YMʼnɶ}&"KvW 2Pҧ3SȘ썽]iOV?[Knߴf[_Ӥ i ia6eR_>fz/jul̼V}:<{W#;+[:ub_ d4Jsx:{vz_Jn=W(w''W='`~>}j [-0xUxX=HҏИqWcOOq_i>üW u*B:aw>}N]n_z3 W?3ַ D3l; It: m|udzk@@LSO\wkXr]YO>͍C[;8y{|5ψt}#;Gı'PꑽrЎcG5ow=_|>FMxq{ٜziF)ZWBz{;.(̜|7Y~oZY-y2OùUh;ɖKL_6?. CʷLLfr^JvEYN׮)Ï^u%b5LǮʍ~mNL K,WmчR 'r5ess0.i>!%{OVWƷL Q/\u?ʯ>C#:Х?z#׮jvu nӧf[yV_?/'\>^|LLl +B`a~y4]RM)Ɛemu-ݟG81xl;ͦf;\5?d濏$|s"llCk8ÏBt=h~:Gc t_AwXKǛu +uW~*C9^!Iu#jlG.3N<'}>cϿ҄yh򳿎9nzܯ':nYeBGc;ꓓG|wXk?B=*/INćN7+&ˇjDѝȵⲠl!z'y<l61V'IWƳZ;5ʕ& 4Е4y^DMvF h7 ;7~F lv'fp/kPȯ%fL'/ټY/$+ Ff=SSL43L5QkM>Ы @ Ƒ4M><,0 ?21 !AQ0@BP2Ra"q3r#b?3L4~P '6{g6{dB4cK=r{Rw]#cA#ec#h=XK]~p$,1ƉVV-`O;NgggcKHe}x+ҫ l(zI6Md6MgcQ1HZZTH,)¡ٲnyL4MD4MM3̃9+oF5"?WQ_"!Cyfi&6OMg6R9Oy)+PW5Yăq4guތv}]k>ŚXȖJ;G%mOǗO*|L_r1404J`pkMrVB&vKNŁ%2Zφo$;TGvƽf#F"vƔfe9e-/ nç}m ¬p>ZN,|?#Ggg^o1tnLy2m%jKtuuJPJrvRpGc<7qƖ&fPISvnG=:4y;|Z>fٲlaá_YAXIz̘cN_[^ 7KqN~p{Xܗ*q+R*/v͖t?Z^8SyO)<)K^jL8sU̗of,[LHz`e)lp|( fr[G헷 |?ik=)F*G1)K^Bac@UN;u_%!n7 h&h=BxÂ|81UY{wt'RAZEYn^ˈ粃xI^qS^:lTۼN B1e1$VPk0_i4ϙmU'MOSK_Vamgw4N Ơwei]7%:LSWIl%άHҽZS:pKZBgtyVaKgń*Ku|7a)Wq %R^lM/m#yff4αSY'iX%EVa{h~2C*f:7RP _Eh3޻d<=eJݝ%w~ǃs7%/UG 䨛%JTSzUїh'IVg-MBwջ諪7:Xi113I+o-ﱰhKg/E]{GJ`1YHpsԆJ?t-_ZwjisNnq2[_f|]bw_5Nm-H|LV|Jz 멓v/UmZ0zè}kjGvXgY/&F[w͓qI9a[[1jJ̆sٖ"q\tV[Q?L1rw.s^>i}ٝ{3GaKvW^ezcr]rR=@pG=Uv'ֆМ ]WȈl+}Xu%za?S]z=q>=~1i7͈B=AXa[[aLlq>L[OG$*h"vb+gLK[;GcǧzGk#,[ݝ&w޷6谥*GVW}ezJc7͆=N3er|}H :֠>akUؤSv?uNOҳ?s>S1X{3a~ρV| 'Y޳ywcgqE2=]+R=Voϕogg wxJ&7vBnUwRtǓQF=7#>K 4c4kcњ}{Bxc0x3ãb}lã{æ}È+S쿝\o$﫵x||~-]$f>)V:~uUSb8=iI`e=އ6#wǗv{ |=G7g~Y'mޝ5G}9j(篠Jm˚gMQ=a-W |8aKZŖ|0^=R7å=+Rgk2~8/j!]e|846Rww+HV|;̹\.5:5MOPg?IfjW!txETHY8Rr^stVo3G%6`)) N.>gb򬵶qOXP: ƬAHJw#W%Y N1)rƦC'acQYwv|#- I,dx?Kz0_Flmד9MB,>g6{OX؋) .MN;CЍ?PKZ5f.plugins/pagelayer/images/pagelayer-logo-19.pngnu[PNG  IHDREgAMA a cHRMz&u0`:pQ<PLTE+/        3 dPtRNScկl$ `l ]ˎups(^quwɖt| jz{~ ovq(Msrp{{mnհo$~y(bKGDpg!tIME ,;r#ǎ54Z: z@)efn`idX1;8::tم!wOF/oF_?CN9}șسG'$&JNIeL;t\:C22PPx"CJ+*bU5u M@b-m]݇BbpХbL6}C.Ϛ=*6wĿW/Xư굣ٗ,˲+8VyoMlڶ}] DqJy%tEXtdate:create2019-03-29T10:44:59-04:00}%tEXtdate:modify2019-03-29T10:44:59-04:00 ptEXtSoftwareAdobe ImageReadyqe<IENDB`PKZ:-plugins/pagelayer/images/shapes/split-top.svgnu[ PKZ@ .Y0plugins/pagelayer/images/shapes/split-bottom.svgnu[ PKZg7`-plugins/pagelayer/images/shapes/arrow-top.svgnu[ PKZ204plugins/pagelayer/images/shapes/mountains-bottom.svgnu[ PKZ 7/plugins/pagelayer/images/shapes/tilt-bottom.svgnu[ PKZ* A0plugins/pagelayer/images/shapes/curve-bottom.svgnu[ PKZ(B-plugins/pagelayer/images/shapes/curve-top.svgnu[ PKZd۟-plugins/pagelayer/images/shapes/waves-top.svgnu[ PKZ0plugins/pagelayer/images/shapes/stamp-bottom.svgnu[ PKZ1@@1plugins/pagelayer/images/shapes/clouds-bottom.svgnu[ PKZi50plugins/pagelayer/images/shapes/arrow-bottom.svgnu[ PKZ Z,plugins/pagelayer/images/shapes/tilt-top.svgnu[ PKZCR9plugins/pagelayer/images/shapes/bigTriangleShadow-top.svgnu[ PKZ/plugins/pagelayer/images/shapes/slit-bottom.svgnu[ PKZ0plugins/pagelayer/images/shapes/pyramids-top.svgnu[ PKZI^CC3plugins/pagelayer/images/shapes/tiltOpacity-top.svgnu[ PKZ-<3plugins/pagelayer/images/shapes/pyramids-bottom.svgnu[ PKZl%pp,plugins/pagelayer/images/shapes/slit-top.svgnu[ PKZ(<plugins/pagelayer/images/shapes/bigTriangleShadow-bottom.svgnu[ PKZ wB3plugins/pagelayer/images/shapes/bigTriangle-top.svgnu[ PKZH.plugins/pagelayer/images/shapes/zigzag-top.svgnu[ PKZO16plugins/pagelayer/images/shapes/bigTriangle-bottom.svgnu[ PKZ"-plugins/pagelayer/images/shapes/stamp-top.svgnu[ PKZd-0plugins/pagelayer/images/shapes/waves-bottom.svgnu[ PKZ>31plugins/pagelayer/images/shapes/zigzag-bottom.svgnu[ PKZ81plugins/pagelayer/images/shapes/mountains-top.svgnu[ PKZTOO6plugins/pagelayer/images/shapes/tiltOpacity-bottom.svgnu[ PKZ .plugins/pagelayer/images/shapes/clouds-top.svgnu[ PKZ+L%plugins/pagelayer/images/facebook.pngnu[PNG  IHDR szzIDATxŗ{PU#Ci fxXdь#A"zrQ@dcT$7Tr/RDtLa 5+v;g=޻՝g{4-84 @": 7ģt%;yqG~1`=i]3Lt!IG-F :zDa MJ믝y *9&4`Wf \R 3΂~dzۏf!;yiT6\#-W g|  Ղ,q%"BfceU6p~ t9HrD@:,> %^Iֲ.J.qTc_&c׋jxR. ԗDq FH5w]k ;U XU=gg.0^8G3a{YB_.09Oss^_es ׸{xmiIa oσqՕaӞT S`)@ a.hޛR>B"CLmYaD0|d?;l4^r{c:.43񂲢̖LZƇ6>X94p'+20@2.OCʣeW*7%u_&Hzm D-qFoCJA.:BX^؅#~;dzADX7oe^9`W7\V-0AJ@]ˀkg ׶] l}R}W?M膺瘭,.8*K 45 " 6a +p1F} q(Hjc^bhfk`6GC\`)kڦ LavuT1@ 2A|LSPx>Rpչ !Fx(č@|,`OiɅ162@`q(|Y `nӅ^W\סu`:9| 3cyPsϳ8y<>^ɮEU )~>d6 3B&;m@>XuY 慆dzjO ӉCphq~G1ZnІm:@[cY6.*Ͽ@jOIENDB`PKZ84HFF*plugins/pagelayer/images/default-image.jpgnu[JFIF   %# , #&')*)-0-(0%()(   (((((((((((((((((((((((((((((((((((((((((((((((((((X  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( Vp6n7p>l~T p.}ԏ@c%@Ѻr(Ʃgo+E4]zJ+6'΀+MYC+G$u8#cp*mO@Yb}d@ IdHc@XSp?'PǫVA?1@ z@ II4Abdz)#0IxBP5 \h]N1_I}pĈ/`(힁,"2nO@ҮlKveşs, zx PAi$8 ;{P]-޲.v o C@,;u$,-޵sunȐ~A_Sӿ/T9n=S3x =KBG,$69 ~{{'˔#߱ /ǽP. Ieq5,+.P@5K/[y>g3@DF\i#4o6V7ly}2>gwmv1 a@^&#`y?U±q$lq `61#L Q!!w__@$t*ݷr.w u vS18?Z12!v7S IGşҀ9tkf_~U!oa#cѿХ3$@,6C{KRɐᇧtY<1 Hu -L\>djpں&FB _([—h/E{2T8@|w>GKqga@ tʈd o˯Z( :n?P!c΀;Oc`ҢBT/[jQ@Pi }m ̃8Z]in:h/FEQnxwN{}aSZܠ2|A+$#2€9['-(VfYPhls`Su_/P#jͮIOݡ<U*iR\@vnP["Ǥ̈0:? }vzxI<42iC!A=huw]M{U+ h-^X0XGvjO(,ypހ-O>gp:w_Q(F3O,C,%JJ&=G- cܺ MF渷isvPj;Fpr tUxU@(7ĿoV5- GO A?f4<)r(X{[ zo n$A<vd72%,wz4@ʲ`/iYJY\1@eQ݀Qր(!n@ͼK.R DTXC)Cנ 0kב Rcy(9u{ $+cbtg(h ( ( ( 1--%*ø@(z( (cS "8lH=b@P@P@U2dPaX?ؠ #](: (Saϫ 4ԴF[§ =Pe9Wl2(!ejEF(z[xf9(܏(4[AnU h X"lQ?NV}Db'_>hV$;zhH#P0(P@ (]0DvA[hA v۷}sf' Y- ;hz( ( ( lTW_Fحᄓ QO]I@rWZݶr#JIc*<0J/?VleB߰( )@͕96\K1C4Lu@@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ A W ~X ( ( ( ( ( ( ( X!lQ F,mKX?ؠ a@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@PPKZ̧..$plugins/pagelayer/images/twitter.pngnu[PNG  IHDR szzIDATxŗ[pUͥWZJЩdF|jDK;P];cĪ(UJTUa:i[zfϞnv7&sNݞ}?xй2# QL_!Zr\8lG ED,Yțg5Db(Q.s]mx(_dz+Z4QD\63eV9{[pB#̽70@HLQuϷP"bw2~LA:KxA @fW glM>%VRT$G.?.`i =P>z@xw2Xà"d0n&kl5.^7Lp }Pa؜fC8rGϰɧ jcUi$Z&Af ?" _I2t 1t hcܯ% }^ NԎp.v2,&~rλij%9lLIvxu)%FDOWZa` 7O@6*0'oscx#a]4g 2Q`FŔP s@PJ%3BMZ$,_\z)@z @&i*;V$=3yoTG$J,I|& eavmWΠnc67)~Z:q/Yx}V-OE 8lRIDATxԚJ@caMPN--lZ`gSx+a Xl bsfrl`{r9QE` M<&otV| 4 @wB `;dR x X S[(FH- S:! *D sVޞas}™:*<|CB` nL}|_I=d: OZSt*DzJR -!(@^ܥHsJX^CL"+& /M"XvJ kpItv^x G2x<+IENDB`PKZlK2o/plugins/pagelayer/images/nivo-icons/prev@2x.pngnu[PNG  IHDR``w8tEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp PQFIDATxMag&2 RYLcA)+AsVbA) ؛4E2#Qs꿘f7~=O_Ibd?Ye"x`SF!C->)r +?2@GȦA.{"h及eQ-?@{Ⱦ|ZBF<_=h9@Q{(|OE@lxX~o X!VS>D˿':`!X!7`Z{vv\~/ʗO4~G|CoU,w4<;6{*p@|OY-;nx'R&hYȝ+d^F*/YS)qC)ǁw 4dQ!YT#"&sv35m!$!Xh/uh!lDAv،< BuѾb\alςΎd+U Y<57s 9Me >o5R,x$Uk_o`IENDB`PKZ$/plugins/pagelayer/images/nivo-icons/loading.gifnu[GIF89a eeeqqqmmmhhhpppȿggg! NETSCAPE2.0!"Created with Chimply.com"! , I8p`!B 9- R:cC!9 ^ ҁ`Bk,RxgtA+ 8$$F[UdL 7 f  9 ?7 },VSg , [ uHU@C6[UXH^K@zVH|⍍@&v <OL "! , I8pSb$e(FyNU(`j  AHa(b D2 28l[U{8 d}~P {y @}- =7S -|ʕt {^ m"a\V_! U \A !`0LJJ rKa6%8!! , I8pSb$ҡe,FyNU,. $ e24k7@ Y(Xc5sF45ż2 l[TV DY8A Fv- hR Qt~N-1  O›  w}Ϥ Щ   M(}4$@cn"b], ~L*I'APG! , I8@Sr$`u,FyNT,&58 $"3n9 GaqhIBgQ4xT1CA# ĜZEYS,8 f~N  ?~--1 O x}O 8 mYӮnH$ p{I AZ (C3Pŀ]!8Dy!><E! , I8@p Sb$u GyNbՀ łHqX(~ C0$P Fd%~? wP(@(U8 aFG}~s qy} 78  1 DŽ   rP84fCw;<HjԩH w${eLA! , I8@@ Sb$e9Vx&- VKD "YP! , I8!Sa@U" AVeCNB ] 0&p!kI@fQir4\/&( 7^tu} |7&XHY,X3%   ž 0 D   3@BOP$ ct@ x;pH !%P J&!%M oD! , I83  a q  4u%30  ( (3 c s $PP@\od$  Eh`0,AM,&i! , I82S< S!x`U9 V,@aͯWj FőѦFDf1܆=SⰨiEqYZ3Pjt-MN{ ~px~4Y5{Z7Y= º3  =  ( $Bg4 PЏ_ ""V Q_$hpxaZ./! , I8RR1S`8LyBV  $":p(LD1P|t6M70Wn"X &, 7kt vjks k_|k^ t N 8  ̽  N6?b |aڂ6 xf1|--0&QP 7Th&7՛QjZ@F! , I8}3<4 6$CY MsXE󒇭 )E;-(vK*"Q"-o1" 3$ЁPZ|F! , I8`B,9)Vc B!ƒQxh Z8i6c0(h,R$x*1y`=n1G Tu fX <7[F D,w ~ Rm$  ^̧Ū[ @| 'A!6m,2H@t,$1 "nCWo7$USr`U:F! , I8`B,9)/[ LC&  @$$CPISH E(p<f x>A% "|#_wx|>6Lu,wy_||~R GR   QRk  6 pfݽ[H;f7 m8` _4 !C' oP{QB=.nY! , I8`B 9)VFcJ N@AH \4R!8X0#P9☄!kj+ <7z { d QÜ˪U%$)U]'ԝZ #:9UfnDHU8O! , I8`B 9-VcJC! $plOC,HŽǬiqbŘ 9+ 7cF}Prx |@S7Z, I]Γ~ ke pO mKPaZwj^nHC(ⓀXHqCRTR8;PKZ{E11,plugins/pagelayer/images/nivo-icons/next.pngnu[PNG  IHDR00WtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp y2'9IDATx̚JCA*jcZ%|`66( iEl| ;  zRsfvpduVF́XeUA Upt2kƠk!O6l4#@fgpOW";R&r7Z$J6W!Q\BT qj!!l %Ru ƅ*I02*G}8gJhf, &9=Q$G@q AX2W`# X#+P ,E֬{əXr?i?/CD9pwP~Bj kL, %zK/0_"PE\Z,Q-#_w5|%@<>Vo| 0K:;IENDB`PKZ<&6-plugins/pagelayer/images/nivo-icons/close.pngnu[PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp :IDATxڴ n ]\\XAG+t: \[!woĈGBAvO u_x g RC:ax4,,z+G )—kpk,|+RO $P{9 {*(`sQ$!.fAE ]9\ +۪7#;nRmk j$j'4qc}6i0(:f#6+x'C$$, )8YBNn f 8_{sN 9VpToZ"3;IENDB`PKZ{b.0plugins/pagelayer/images/nivo-icons/close@2x.pngnu[PNG  IHDR@@iqtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp OIDATx웿kAҥv똭"@AcA]vSnff]*C(t[.=Wބ7=w|!y{'yẍ́d XG"#a\An ?Cl[)YDx9BV.tl@Ta)L?澘]Ra:U?>%% +]%4  IS5k7x= E#@/#pȆqK ;mk&* Ov)KPH8&JhߵPSPI }"|oZ]N6Yb ?O@lu" B >#-p9^Oߥr1 LP/ʗ/&|Ho*6L%l̨< o+@tW=9~[LXH )T«2Sc-`-1c ˌu>Aqûm#& /;yjj21kxSoM]LJp%ޛ,ayLMOo1_:2Y n$0=Tȧz(=4h _WǷCJ _ -=x 3*p1w 1{+7 Vc163Pk.uHÕJHޙHp'bx :r"|/ʗ>Rg2<' o*,`8N!;×%pRc<x/B:rvAu%L /KzNy~p-3IENDB`PKZxl FF2plugins/pagelayer/images/nivo-icons/loading@2x.gifnu[GIF89a@@fffpppyyygggkkkjjjmmm湹! NETSCAPE2.0!"Created with Chimply.com"! ,@@I8$dV AEb)kk;ՕsUa4 $č8yF+G3y1 &r0 Tj p. )ASwFu G  + UPRxwVO;X #  cc1gik:Wj2 seg{h~#[' e/1ˉ>ϩ^|$jaʺIKY3rW!Z³r\/P@: qG58@|HEH(+O @J_> (7ed9j`jUyT[v} Øpd]u6-,*RlÈ':cǁc`w%xyϠC'9)7`93^ b'@A*J#>-7m4sS 쯀p:uZ=y] / @J?zJXPu =_幏 Svܽ'e(8!`}P(]a@']烄Fp!(xHa&5z$n#@HH@)8ΰc44.A6b "sx'6G$XIA6WSuY܌ɀc8hu_> %@cgfe) Xa 2f#E`]SV\NNiUAəҢv"bf(.wed@6sꐇrjU! ,@@I8$dV AeDW[⨬ ۍA%@$l Y8Ka8TDhMcT/k0\ z>>bCE ql  8  RMOtsS UW1[  c`0ueyk$ \oE9uuyy{oX'/!ňz; ^YI1V{ʺ|U UFX!.qQ@RrB0j(`"1>f%C&L$ (&8)  $c H t)S N xz\"jAXAN0&.^ <ÈTcq?Kn] %޼wv ]BDXMXp5ج[n6 dz@H'ZU q-j$ Mo|tZq`ܟ[zH pypQ x;7qũR0\a`F@]W2:؁VP@(F RĠ8KXBlQ`F,D/7_ٍW/]͋'b MġOB=n0!J)Ugjc<(0Ij$2 U Ha"JL bl9&X ooJT! ,@@I8$dV AueL;E0Վ@zE`QI0 ]@ A q(r(1rgʅ[~0?ofCEeVupJL*@ NPyTVX }$ cScGik  IsewV  /!VS= 1aH1Zpv&ěā3h 4A@C[) 6C%728400 6DB>-XDਇǀ>z(0@Ĥ<UteիX5hA(wٲ @)Φmi5_lyWÈ(@7wI!2k}``)9(pi'c T)2Z.R/ GxIpdy.OO6 y2g\ ']uU, l؝4ʥ J(4@ǣ|5 +xE! ,@@I8,AdV 0Ae @r_ ÍUq "(8I  Hbb` %8 Beap(; UW]rP0@q{TFgWIKM7ROQhVX ~[$L u<eg|l: #KPy<`lcᔪ1Z 'a hfrw0M0HAR6xr'[r "Ah$CzpNЉ 7q A Be$9i@F05b;V^6@` d^Ȩ,0] ,WÈHh0]jNyPCW&L4=aWGG5ݤ' Z$9+^;MOSU lK%`B`(fh V$ WNb248:f b%>.!TB<̺s%;IX~mz~z*!T&0r:  B\(rM &HAY05X AY$p&E:+%$"ND;y&]Wm^!`0fҪv̊@RH+A 5)\x{D@ӭp.# (^8# "Ko˃F5|;p"*v\ՀZ-PhLnP QV(Cwd[><"k1((; xOԳmWy=Tdя'@;# ӭwq ODUT!`E8tMX`!Z '"f,$<(t*x45r7((s-  )4э ɥƦUsB:@mpB4gLmd:`9HW'^(I\$bh|Vhsğ^cu:Bvdy#S֚A! ,@@I8,Cd& 5Ce A;UՎ0z QQ@a0@)I%#R0)̭$7*m >@tEGqm W75NWcTVkYz$^s0fDx  l#5a6 y2@L'/!R<Ģ$jа=J$ԟH{~ 咡 BtW]w3s~j8a; 9(Dz/KԈ&$O&zfaAuƠw D? ux"|8)0x(05"AO@AlK=Kݻ<|˗/ܥǀ,ÈcAWhj\9X<sEz?C>5,Pz֧yhb u{tcAL$A$sCm?*;P4t# H'Av9}# OU`})XOu(5da\L Aw 4F |H,/ #4(pw6XgED  @X`gY@c{QB$`l)HAw׵s `xc8)r'VPx(h OM'uF*)Ji|hӦmb *|! ,@@I8,Dd&EDU b)kk;` sލU bQb(&Q R"HbA ,HI0۶)arDFqWq> YCOQTVXFx[|$`Tvpfl: # Pdswf{3@L' H/1;Zş2ȹy$kIڏ M%}}} jY$Q觉qVz ` RQ` pyACX%B  U 0s9U( 1h_jtiyN!4*]3+;)YʝKwx⛻߿-NTLQn+F c{ =4m ]lbZpZg #D/uȹ1YAÁY&*]ⷀ# D8#F:E fPCD(.C; `/a]4'x=AYrOWq%H_{ Xr1%7zaa1`f桂@b-,Hҋ:T iG (!<?D"Ƞ <'T$Р e4IHR'l9l@uEɉVʙ tIWci #"]p*'u6e|V BrJj0jSS! ,@@I8d0elVC0%Z%(J r l5,#0Nr0@ ;E17XK R~vsDoGIU)mOMsSMh y1\Jm^`rqdxx1I]W/PQuc0gmU'!^2^z=ԍ1W{{ݯ RA]Щ0uk N s0_!DgAD%@'dP \EҥvX`&.Dӧ;.(@Œ$0jXRJѴ@ST`ESÁSR0VV۷p)]i"—  j{n޷{Kr ģJc h4<Xs\2NƧNE&Pts[*L@K8=s 蝲969`kY𘱻̥+} gha@~$P^ p`6118L <ȴ@yX<040#4@P}HB4Mv8cN# 4@> ؍5@^ 8e S#\J"SiT"zQmK> )MN$:~! 4O֦%;&gƥf{96Bx͞nPK! ,@@I8d&DDeCA% ]n2z$AQ9@)A!  G)"[QV-,(}uEpU= Wq_NWtTVSUkYz$^@)fE  GU0y24L(/!U`<ĵ*_1jX=֍J$ݝH{ SH!Kc@; NӰ2֕  [w`0_N8q~ @dŖI ,nacQ @ ȹ'(ՄDPf@#RZH0)ȩ\*֨`+)۷p=(X@]<ٻƂ;È(Hc45j  p8g3 ׌ Jz+^e  ``\`ฌ 8SޝэG{ A`}}_{ȷq0 2`!!8ŠG|wCМLt} NI`@1!Ō)]!Bx-N@ 4 7{W܁z9.@dW6ЉMiH\0_NxdMUz`8e2*Y|(NN`&|d㙹N ڲe^ɖZ*s"g9s%ڑ#VjuPQ! ,@@I8d U E%b)kk;s ލUb&9RJbHb 0@>ŨZX t붼|@yvFHWb>Y7qOQtVXm[#`qbd1tFWa qfDuw;7W W#qM')!1{2lZ2ƏK$}} U*.!ԱD_wC䘛rhٰd8uApdH9 ҉Hb NŨZP&6OwkmI@DvFb W> Y`YOQSAVXmZ# LUq+0vhW 1Kq)5xWd#qR'/0ßȐa1lŴד#[|Ǐn  |±* $(+i0Fz%_V :ǁE4񂻄; XBDzKy81(2/Ƣ#C{U[Rh>J huVUWŠmaٳh Xʵ,mz VثxzHdPR;EpV-UL0@-_ceJZ@.řfsЌAI8,#קv S @Jg85V:X5v`` ٽYO`z.$X`<ŽM/ ~IZ }Ef Eug!_S  n^|(0BbL'p < <1"^ 8 5" 7WCT£ 4Ȁ|4@6d) +W)'`4pzjHd{Jp@}^# P%q VUffUU @%#hJ*p! ,@@I8\Bd %BK)oBN=D1DcUF 8TC$G9 !th$,k9BU ]9 BDtH` y`@ _XPRViZ{# n1ac+kx y#Uo{rd:<yyz3 oR'\c0y%ƶ82iJْM2Y?| K@x?iI`hv*@pنvS0@ɿjbϠ/~A)c@bAe! `M+ŸP`$d3s p]P;[JJ,^8ٗ]~ 7 ~u`}U&C 0! @DF" 8@iU0@0p!0&-ވ؆3 <! <"<"╀0)A>> T)v!!V)K>yJB ^Yf0lIҧiOVA [g`2pZYș'6C:*JRv*! ,@@I8LBd, %Be-¢@ro)d%68TA79҉R^J &RZDVBK]~)pr@BxFH W{ZqQSBVXUWmZ~^q~A]hGYuy;0 ^(/!lĸUM1[b ֧y v~V sζ~ C0ݚ~87ao `Tۿk400 !PbM8ɓUt @3Մѵ S&͟833L a(ϓzJjꕯ`ch@YT\[ַB,Gx&*,$,ڣ3rlqeKs#d!euKFn֋] %@jcv @R3(ё(W N0 k6 ]w!ܫ~BwGt1f`D7BGx r`h Ca9Ppa7Aspӡ00b;80 1%1@Kxl6i,s쀷l y9 \*4f`5 @rE5]8@<^}KPHao`+@ HSLJam #5#z ڿBG{fݑ7ÂP$u_%@U"8p :! `XO00c$5w8&Ғޒ 0AΨܠ@{KJ v  +9`|lwְ"U)cEAF)IG(^eMF9eh҂;~j6x^J睚ra]vjځE! ,@@I8<$$J,ig;-^\ {D0&(Q,°m< *f, )w2x<1ϧ@'ٸOQFKhzi.O ^TVY.Pn2d h>j@ !+-e8 ZIzy.JL?ku>;j ~kR RkR tT@cm ^J$0E{Vc000fYt˗ʃ 0A# 7],`Qd@8%#}.Ȗ(vQ x`fI,^ L ``WAN Sd`i cHYQ5R{ZH @gZqV`)v؟:'HzG! ,@@I8dFeő@Kl.mα^ *?^ za"< Ł(qeXY(U*&mI 1] Pi`># ` fM4 j+&HyFЧ|H`@UXr Kٳ=bX˖Ruw$'һԶm6lܹ ]Wf)Ձճh&nX:,ESsVlwPk. k<* @K' X|gXٿ3(A7wPAs{SF3 l`i3`#|Xu{Hz? H`M!*/JPkr ́h4XZnА$ %'1 d/1n \ƶ\k@Ճ̵ ڄw [\ ZI@<ĺaH`!('f$ OGGL-p-@`K@R6oXhU3h`P Jy!Jy:Ai6:XhӪ]jpF]z.] ~6nܹO޵:%h b 0ܗk/Լyh+ \qҧkB5!_XÂ;* O0.q8E&sw0=AË/X><7s 5 (Msv9 `7 h`z%48A,!s`k0@|X #f@K޹p*A/?JSW3SPI(VN>N(Rpwe%XeHON0%҉sQxR@b)KrBS3u蒏EɧUVp d7&oaPBܤ(Z{j基BШ 'E! ,@@I8dF)\0UJh45dx,*xqÆQb<ȵM (sGc5>lutDcUG|d MO:TV }uZ p:bfhzP}Ypev8:U/[.(/  % g`|Y ni  4<`:rE97 AŠܑ ~5$  $ t I0)qfMp * TD漐@JJ4'LV6}PٳhZ[b&JW +Ǭ ^۸@%S5;wW Ȧ )s^[k5EM@gP[56 zXhEl8oE<(ܸB/4AA7ưĭlnĻM܀s.z>;LYqHi^ u^dECCtZW%ёC Z"%2@|VLh'rb ԖXV)$}ao::fL7QJp@[leI}lQI?Fr!-b\?6"oec\ٓn"-i΅Ge۞!YZY hV- B 4#<! ,@@I8$dF4Aue,m54 [h z%API4 Px.*y1  (I~r-,ohlr?nxEG \Ju NPU W lXZ1^ {chQ#YrvS:}0}r[ )(t~=1 aێH1Y<KpNU p/W\α'tǥ/iT3U( aȍN(J@DĠ/;L3AA , z3c ;{y!5Us֯`ÊP`ٳhnU۷:[{,ڿjÈ7(( fX ]F`$0IX~HUeAh!tfRPg^hJs%2z&~ T :jrI! ,@@I8$dSaerEe _I`TDV$)Ep*/Pa `Dʠ!EhDbr-Q@mw8FHXIrL 4 PRzVXZVG\#a fUf(k t bQh5|k 0#CA^'/XU$Ц}$p d_Lr|[54` @% }aЏB*\u埵 PCi8` c28`(Pvt"(.RpL x)GVW`K/E`gvصpʝKgx}頰aj*XJw o+jAAWd+ȜR'@k F_:un.~;۸ PksP\yHV= tV#PP^JGJ{%.| @G]e_ }=G`f t5 0aYNa Q%aJ8iq[+؁[x8@գ38ߝ5 Kn@P5pZHH6(!+|Xjn9Hɗ}FBb%'g'S8 g8&˄i[8N+)gf)g!Jirƣ3ߩF+@N";PKZt///plugins/pagelayer/images/nivo-icons/next@2x.pngnu[PNG  IHDR``w8tEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp EIDATxKMQ]B20sQ"x\)Q<(52<2%3G12w I0Q8_{Rνg}=Ocwc}zFR@!k^=r FK!W-~7l@޹zj[)0ҏroҚ:Ȝ cNBqK+o6G|^} GKf$)s! uf'9~ ;pz$Ě 9τ#rw |.WK@K`lޘPM@"%DuBwGy% vلj̷Vsn&!C1B6";vG12#!f0!!g&$؄[_֘cQt&>6Q$*%HN&ܪ edTS"b]ߐs#K @-JބjOs 9$Oo #A46V[B䭏#aUMChfYJP#uj I\D^5gݭI\>)/B/Ph|OĪçGt`y>*~)B|D*@ |Rk@υt &"k k t'×,_5% P_u% 8GcK@Ohs`~mnA kf 2 ?f 4|ns6Ul ĩh>.3 p>cW;|!B@^_wXyuF>o7~ ;>w<ut$Dݶ;|3a+Fzu)%ҏ<2 F-feܦ!IENDB`PKZ_v9  .plugins/pagelayer/images/pagelayer_product.pngnu[PNG  IHDR@< ٓsRGB, pHYs  7PLTEUqfm|aY^tRNS .Ngy]?-rMfIp&Tݬ 48 p@i(ϯ P`Q*2b֊+z0E߈%e0`D"\O[k tPu6 ܐ{3Xdz}!=$o1m/VaBRH)zxx IDATxLJ D]d" *R҇ګfaP;& M4ѐx]oU әVUWzjhТ->fT?*|TDNXZOM\5V֌ڲo֞C >zB:myLc3^65jX7v{Yg̱9./M6tLǵ˟ԖFmXj[{7> 3ըZdW~)pV'.w~ ,[q=?=N7]vKH3P߸cpR.29ӹ횬` [=>篸RA4m٦OٹnI 3$h7Lp|^Gwe)zxoӸY7DL7ٗ S1lv78[oQʬ9 !HXF_ O%)bQlq8{&se_rw\`#4(vȴtf~xX&?-`t (IkhjdU64-D fhFZ.˪jߏc;Wjpm8UNbnyDZ;(kg(d~"u.)G x8MHd~bߍՄiwa72A;Dⅿ)m)== _ 0Hցs5lHMa ^~%s~˄?܍`@A |vm`-mGP›ҬrG[!%[ oK).ш c2w-`./d1},c35yMK@so6FQVt2t4L\uK ~i92ζ2Ds#6u&#kE8("(ʴa?Er=`LInA.Q4r[؅XLGeレ D"s|n &w.[mV4P&q#>htܡTL=-@@,,Vm0M:4E]0~#mÚpPab( d> '"H=_? 98Cfmz^-c5|JB&o> ReoF\.w`xM e3`BS.\RfErcq#»rMX@IhŤp@QHVa092EZyCs:\-@)A.(OJ۟Wԯ IeK X*%R Bz ?s"^X-)rZP.s7F:1tbl=,KJSF eavCE)RՖ#1̴eeȅ^ɭnd_|,/k|$0 =y=9tBL`ra{eīe 8tV$he:á 6:I]H WGd$^b@g 8@@@MXʳŎ(Ѡu::WP٬qf8)GlЩgHr!.xKa|_~vF,%?aBe @/{؄:r̭^yKqL:53ЬL L-zS\26qL{ՄrQɄHKxX^~6AlD"\TtF wnykoV Ð6[ ||lk-&hriE:|<뎗c pBë)vGqBbc;ϊnc;'RyhLݵ~ˑ[fpHo嗆zQ3XqЇaV{ pgC^q)6uQ 0InODo袼tu"/TW@6ƍ80 30{q2.\zeH{8dg]=Y;fGi+\]m} +upǮ?i DqFtJIENDB`PKZB-"plugins/pagelayer/images/space.pngnu[PNG  IHDRd2뎌sRGB, pHYs  vPLTEkdtRNS5m4 dR}S2Ja 78lр~C.*@!BxH,Ũ &ḳNDվ|뿁tW$](IF'eo9r0i `1#Q6pv?)Ӕ%nM :[gP^"V1*IDATx[LQߚѤiFf)ZURCQLJ)%mecPH&bMR9M/9{LLy|֌f&L ZVWCXITV 3:2خA*cŰ` sG'.Jnbf/\"aX`k nPa;w^ݑۥQ=^I4c,b【xw }Bbd&8HL6: 8TQ>Dc g t~QY'rN橓U> g O_Ā>SKJ.s(hRsQL#٥}ʪjW 2859<3B`ka(жBpC5=*ۯ ut] ܛiIٕݲǠv"u. ~,T f2i' e"ʀa2X:2{@NfzL$΃Y+ʠϕh'D.dU/1ˏ{188 J3-7L/Y=ST2O-){ t۝]G*|AM3fr>1Ӥ(mSe 30F$ _Λi v'`< NuU s1(rfW-wy:e5]}?i@X4HIENDB`PKZ7oQQ.plugins/pagelayer/images/pagelayer-logo-40.pngnu[PNG  IHDR((mtEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp Abstract P Logo Collection _zXIDATx̙[HTAǿsvմY]@ XdVd TCFPQ%SCDE_K)DK0Ƞ"ˬ| 5uwOYe]Ϝ3ݵ>̙}3'g{",d0La 474NOI J'eF c2J.lITKV@ Q{My`-0 TÃJSd, nKΧjK\FJS G4=뺳SdAxR {JTpqfSc8@{zC =(x)R]σqF |gg>v7ϳ`*[<3ƃY|Yk48V ,T כ$Yr \+ 1y:_>]/Y(Z7otd~vj-);` ͯ}y(rsV+(&083;Z!x DA^J7s;($op^m&z-9 \)S ^&.P%21_uңuq[0W vTAV/HQ8'V'nY =Yl )QVc5}LTKN%C0MUɜͭ 4]5[&QO:xNl_+PT~8&sP x kfilY#` d XZvlYX8_:RL.v_P%񻎜9]NYv3&@0惌[~QmcYgFl.gةS; Abstract P Logo Collection M?UIDATx TՕO5-4; #ѸDWhA%F1j Hu4΀$FG̨qA1MWǽ MTWի}?~wfBIC@]*>dL*Uwjӄ~t՜(uQ!b^6 @H,/ZXjzvj!k9KUz.QIDUcL*zu5deq{O|su[yhh0|=RR5_uTE6+Y΂a_vWTu^?q祪g\ߕXGOȾ>:NS}P>l4R p.Ib;CDFGvT}!iU[T󭃏@ `ZnKqcT;3y&x3xYuO 4by{>/)ڙLC^zVCC(7{T}GÑ8}TPըPݩ T`GTE:^s*c8kGTT %|n•+XQT MsTϨ.UeHaoMrSyg^R]ښ!CU3Tb8h́;gT]&n>vS݂iu@hk~ō&aHRky#N7Uuj"k|S`LӆglEuM'XL2c I`YBLh)}k%6{Ҁ Uϋe"7L2F]Bb+VVՎTJ]smi ,nJKұ5~?^YKwԷ79_h22],\:S]Sq7ճյ`|I-ad@>Y܎ϱ?A@͟O  ~n*m\$>IK{qYhq/M`n4۵ם')chc7_}$eM,'?Pz;H|IЭb5b_$p-Fhw d~HՑP|b`=7(8 G:G_' ?).4ANr+YK[j;%t$$6m >,$&@@`~ppM D@f')Zw D6^2Lh,b0Ecʺe@H!$1LvQXiFa b lj;ƺh|APaV Ϫ|a/R<4U'ѭCƋ|Wi7U4.y'!_gLH`]~3m?仼PJ6Tj8+!9sW* S~=L i1~6%!-e@/q'BZfIʄ/$p8Zn-ܚ P+)ժy󇪉 .=j5YV wI?E1g L-oygB0qBx4{Ҡ;}1>Zuz5_CZq)jWՁIpv{!GvĝsT v@S [q_譺^u@SQ˲1`VP"y/q^w]CRH*tb{jah s:z4ߐ973?84;fMɛyʯߨJa7 n3T#陡1@/Q}Bu8+M9v vRg">L5%0qg>+"6q Xax,2 [$w~.n+)7"'Of8+߬Gܪ7aՙe3čL. EMu6I  6XO͵y GΌ7iRH+ VϠI6GBPf"Y~&.w@I `(Lvj (<}8|.EfFJexG2񎯩.`(uC؀uj k|.@AH?>[[$m}(cۢ9( Htc(Ӂ&mhsZV}O8Wj>-̰`80,I@ s5kXc1XC_!%bpܾj0750}_vH<2  X@hWlŸ09?8>MËm*)絽0I)Bs)߹e(߯{ѿZP m߳X%֓}";ҧdbb$⧸-jB 4sTLE$ 7/x' ϲ%ȸ bs@Bg;`թmȪ?h$)6S&@Σb&fF/gHF 2C EPbX]Wks1+-peu+)UUU'w Ò(=jUH GWU?#)G'dIR-R95v߄&4zQ( Pa ) id)!X5I!r$ 0ꤤ ~]_D $,KM!G3Jh14B`j+!< | ;`;is%ch$< ס[?܅-BJl_/ b t  O $w~vi g J6K $y3z~qC ? Zm% ċ͊ɭ?3wy6N{ TZiaka2!k[u5 Ȧi-n)k7N y_5QuS<,n"AB b twTT#/nZ@0M[c  58,@l0Wj,k||mo CB 717I"9t@HazF4 =Kueq[sYH<9{{!tj_Z&.>1Q}- &Tf3Ȅ z~S ~i!-TdjUYcY:MnIL|Oky_n*vs=+nD:6bsK4bIENDB`PKZ63D  #plugins/pagelayer/images/anchor.pngnu[PNG  IHDRksRGB, pHYs  PLTED.tRNS"18;{`96~ 'J>- 3, 47R.$(5*SءCxL:D+зapInޏ @ʙi[K|ucrTvz lMFUXϴ]ܒ0HO_)w }G<ڮqQ\^gsZ֊jNAVY/h#ǓydÌ%PB2b?~0IDATx[TE_"ViSQ J +-*Z*j^T D 5ii%ô4Jh5?y,{1wQy2s=3;3 BP( BP hֽl Bt:};n\h<a1>}2^ (4,>U D>)xE #&Nݣz?)/4+FMs{ 1QO!>!h藔l{)ǜ[ O1OOiCtʅt cFi KCGdhg"KG6[4*} yf"ol>P_ƍr&ı &>#z4cK&סh4,4uϡ3o94>8'dH MQd3OZ(&aWk7[/~qaK:_{WVL%92ŢKb d%ǗX0~U3VA.'յae-i__UAysm%blƯGƒ6W ) < 6u(T'x^,Js$ljBo8v8fcV21mDsmDuU3'8X*m눖`0% vzxS}[mGŭ9:]q.;Fdž"6~.۔r݄0qlп#{L5DA{"qXwf '*!;q گ#eϤ7%.$UbC޵ &cg#"ē01SЛOq8*?N/'((x<sOSqBbdxͥxi+ r%&Uet1Q#ˏO'6kpji]|*rbZɎgyTa 7"0A|0^۝< s0B6Lɒ;mﶷaV#8çelWh'1(;*HkHŠZZcu+G\7;N_xܷݣdk<{GiEq% 8ՎLW'䔾yўlpmg"HW8f#DaܫU`GU'zxګOu+U.nբ!l|hA7B78e_hl`i 7fTb&W[}3 f/"**_f|pLk_s*y{ye~CxUk=5}]BtȶW@kx*_ou['̯Xzjx9\$3OMEu1 Dz흫LьmM{e%6^ :vwPo7x߈fץ[\-m)wBM> N!aIDATx} UvwtH#}  ~~ #( pdFH a Qa M YI:[o{zoW{z :ݼVսRB,IJg XbK,{Q;K B gRxgg:i{cL x9/)نWyѕ[ߌbt@v>Gϧ`rc >/]pU!Yju( Agz,<_\sqˌ={0|J!9vfCL-ô̡'M?89T T/B5iaBڈk7XY<Ց3v]  W`f]rDia5b{7NfR4y$-0An!} @tQ%!dXbʚH_L#q9+͢8RtyŻEпFP4H89bIQ13>yfx#qe WڬtFj2yr Ĕ=XjzMx.cN? -n~|@b#r//Ң0' ya֬YH\ @ƅ. LaXLiLb6K3 t$;rFS9k vQ>3ge2˘nEkhYD {b{,=̆!9cC%~~#h@W+;yzÍ1saOW\nBwidoOu}m uuu`l2{glxQ2zڀVQ}j/1묭F XZE ^lE28r?j v@O!i-4X/Nʼnǁ +uA'k@ iqC[ !Z]ҫ\z߹A=M9T@3Q>v )z/ͅg޵˧0ȷ@ͧ!O>DX0&lX#gow8b/H_`X~ glbMw}tR UrF3/en~.Ż%}㚏f `/`I?1Y.m^h̫A!w9{Q) <\dB1&gcNi RݐǛD8w7h M, й[Ƀ!%v5`&{z]F綖sS>tEYx $v?8PI#t bV œDz$Kzϩq,K9. )yN؟L\Q#l`?K06F-3ηwkrt4S+* W{[JG8YZ7srdXh<h{k,S@Y:x ӛ<4 2k0-߁P:GRٴQPj5W15՘Lb8o3TεD(VR* ]L=C%FL-QNovl 0Fu3!Z٫R 0-n:,-;.wZLhdx0֯HB[@5j4&mBs_ΰXiTOUOp9C<"j-xXޅi_L-\)@huKLߤO)ѵS苨Fv1&)lt'ݧ默f?!R>+L?T|M9ކ*Lt`kap^zVVu]y@ D[@Ѐ(w 0}_EH ~O2p+n2u+Tf$|o}"Q=ƙ6ZJªRٜ5,~:*/dEoA9BN@Xcj!Ǥ@JSu ʃl*[L%Vz2jrk }Ӱ*uc "$B* W!Tߪuӿ-̠:uj+Ӊ`66F{+9pFݳ`s\tHZ6natz6%|uyn"ɹRk\ 3sD265_\8<#y#J~%Sއy%{F'BNF@VDPl'O׬h|Yư3nғd n0|EEWoѶyL {R)I~]B rg^ДhbOS!F{ [czu4j;v[zHD !%et;fLb/ 74^_۳j. Q9n7i1/.,"eSYLKexQc^;I /77lgu U[*xU .J@iU שG6)_{vD[@R<%lqTP )+: 'n$QEx<مMRKɨj  `= wRpLE[\cv@" tיLvB23#kZVbxt>[Wl CT򤎧H{I_z[N>νבr?%fOcYKEfKh*\ewOfuN] Ei!м6sfm\\~FE"@͡ H_2+Xn}zQAƕ8X&s1?p*D7)gxoɕIgsDĽ[٤},_82J] Ugt䓲 X; LӢgB gѨq-r Y@FuKt]!;FwO=+1"k' D_ ]f*P~KDFؗ MTKT!/O79tdHԱTQyM{K~PyniZqcg";Cb a9@\-֗ht;|m 4^vKf@KL D砚AA4X' vÊhqׯ/xˈA=!G;/hx*FE/zz[-h>J<ߘ0:&oAߜ9*>9zF |CS&i(PI%^q+ <",N`sr#)s!ƺ(NFvyHiAHEkv$X|/vgdi?Sq  <Gݹa[b^$DGPhawe 0ORb) ;o8vipI/s^ޥ=SMg[+@]Q,If)hvBJ+sN E}hvh{$t 3UlJ?%eYEb?}ʆ>Y\ .2Sr2*2x>tz(ADs9{{!=q^ *8a9hi; \ﲯjm-P^y- ݿI ]8޾LkeA R$ׇs'{{#yڌb+!#-:SsÆd/ʟȻJ9!t?A%!4Q/嬔'?^0CZՀjgkx[*)]'mmiɔ(c@9*a5mHȑi2yFV5vs# ןQn:2*p=MTPBmԂWQe )s.R" +HǮ wLIǚslE\(`cq“[ŪgHK3& PGe fS״u;,:$v%0Se}XbFM$k } #7fzQ1 E:tSqڋ#D<|rwR各{+jw?h.HɌSF,h;=8Va(9o.G-XOk֜ȼ)efOQ*$x!݃=^AxURD Y6} !t+~/F^TP[v3 ^gnW89i9/ WT4X(zvx~nNrkÕ`yakh DSw9]5t3v >?ܥEgn8[*kG6ޏw]DeNmD:^!'d~RܻB ,9o>>>3fyW@h:E,mPyjKjě=V+  U|?ttMϯ\@(& BTF(0ؑ3:$"Tw/`S_XKc ka-A` zdrS୔frHeCnj ?8+@+>Ɣ*(9s|$<5vY7$J&Zv% b2@&_W佞w٬ϣ8qV ] r4~mvP=bPWB  5,؃ڞC ȈԱkC H}b8Cǡ{js^w}߀rĈD A:ZHNɫ7hW'>Z.*?a{IHGPc b)aC=t o )2.Y:Cբ4{dSSrdiQZtK-A{&ބb^pѨ$$J~OYȒqDke/ͣ+k{(z2tPq| jPGxpW(}&EBUyN#j۬J>#E mHv{o%Q -5ǩO+]jpn곬&̒+&=Tk|Z)`?RWU A֚s&\g, /XvkyiiKBވw0FT$>dyrZ }c)Y:5 3NLqV`|:b`}iQjGYo66wHb?cbE/7̈́ ˉ˦k [Ox&M؁4%MuW=U-/Hn4w#U̷΃lL$?_|˲vE? S ;j.O/qa`m$%UHjx}l=ڈ ]匦R.R52垩uo#myhSyjPxEf;t6 8{g_bBt,xRM"ׅ~Bk[Q,ʊ7mM~ܤ nSLnssd:jZNI- 00n쓅s* 7bW,D9ҹ`411vŠ{ޘn{۷@sd܄W4((pwf^^dW*{!p]L|)edr? 3Jt,b?> K,f娐(q\:`+<"RCbV̔±b#mNX: L?'grop 0&r;|[t.7o 5) v7:_ӁOk} GB{ 5nWb^Vj5o?R̐`l#dh3T<0ʓWrJ{m%A:VchJZZɳnݎ<^UK,d*H(c6&e?~89Yg-RnS >w*X=@4nNS(-ΈOSL<_666“O>RiAD`탑13- 5JbK0,et!Ӏ }o;)=+|3%[ /r osYfle3H?Oe{ҹ<9e]'R2<f?lu7X|tPZ) }fcĸv ^1>aq.3yO8tag橕Zє0- YZfIy e.5QYY}9//5) F}]@xܽK,= ]^Cs`,IdD5U2^H,=%z jg揮Yயvw=X=XbٳEK,{OdRzIENDB`PKZ PKZcB4!!plugins/pagelayer/index.phpnu[|=x=3 !@aFR {56xKq>n ϳ3c)ɵ\|q7s+?>_\ dF*dR/WM奼QiQWhFИ^XS}E~ԏd[r6f/6nm}1βXOͳy֥XKeD吜ڝeXwcZ3keցu_ƞ7l}JiJKt5MN tQ-ŨS:ZCS>8#8؀1UXw0L [x>$nA##E"Hܻz7NSr~PɀCN0샿 ~3Sx} Gy`W?{zz^=ݳ~{g>zXB^ cal9Cds!BCDg8r!@ ||\y|\>.qfꞙٙI"VWWWw_*sO\qJ C83PQ7EdիF \=Hnx.q2N&r񫂀֓7=?;)ccVegqɼ,(rsg.eX>dx*CB}_/'4-' ~ 큔0tWFܻ}zad!K9tH?xR0x#g788h{{\/qdl:SX@zlVZfp6C8g z4 l*83Fd[VVžDb|W/ή^>وm7ي_F*U8C/OsqI B3 B39HC8 c_{=͒*$HЧO}]oj{KDݜ xoڀV"WqGˠf8`_ J>l @m@3xܝ+Fqo=qsZD6΅EVmMhTaot5eْE.r]|_@s!jAbpc yEyZoU{eiN/(o+ʭ *7ߧ cH' EXD6{d]ҠzbL"MI$C>%JL¾CLwJ~KHXMހBDW?K_}K1C6@Q0kj.=oPh˦X7@l/zu+M|hRٗ旮% MP jHҽҝ0WsžI@oedƪ]f؀fQ-vxP!Ev PbhBagp$2q'$69K/'k[)f rÎK%Id\!3I ond-+=eq{-5T2Q\y2 p19*JZ6@8W|eDF5meӹk1ܬ_ɈTl54͹W}#wVh#CC\'0t|ZL%>O|'_SyEj;CO?4b6ڀ[}*K~2fƌ SF|ׇSwU$ ղen>cHEK1ƕF-Ht}!J[T> X8*f3&?͋Kk͕}0]z'FW85Y5[]IC*mk`svig+=֎^詄#ɲd/۹ڹߡºY|_h?+KN$%V=E+͒, F'd: x%xmR)lSa\ FޢM< 8YVLi*L# !R5Db|ħij80 cl3"Cmw$">Q4 :|1#80GR}:yd~Ee {\>+a[M7qH@+—B|۟EGW@me]X&$V hEP/Nߘb ?xE^ّlwԉ@R?|(%`UetMB(7d)Gfg-<̋^ώWUBz%}"imTQyܸ >-q)jnV&`eK\y0lO-PR]Q ~=u%<6#~q3'F 56(K,#bߒ|CAQ^!}Ho nP8K~B>W)G8N8?[;be 0`)kGn|1So, ZXT*Ud3:Qe5pնdff29M3TA.yC!HA 1EceU1Rr$j#'d23TFZ@t s a] #HA3'^ $wѷ~x(v6\Ě1琛C?fP,4 EW MZQgf†ʢDdN1T J VOeS5defJaV頎 Ȳ12<_'?ѓ xt0z(`}ϨLF/E U1gd kLX1m=9b(wIx3jTm+na#AiU$SL]ÃGۢQP>Qz^@na+2THP ƟR(6 úcxC ;1qԶmuMl8`LvIt߆jU0BM3V%O *gTn͗x0߬'d,qe"qx EWT^Yrx66Gbtajmkl6t -t*Õ5C?OUUGգ#G663+1y9U 1\_f&_a9@̤ -ɂy_]Rse)6-#Wʋ| t QL \ ͵치Fekh#{ңА>vJR4MЉؿ>k SWè̥5)sPeXjfV6gh2UE ̎lI9HazxX%'^.BB52|$ ɋ5\vz)7@Uy5@`C/YnyMcJ8"pR0}V JPoAqtDQ#EսZX?jtj*|{O{>9w`'sh ?tOôo;w'&Cj#A\V8MpMnYy@o[}lg4U(  u躭<evhs zFW/:|Ck^..gD1/_uiAZo46Bو4߁jAtGDJ/#ټu:=ut5`nnnkNhM;Ϲuolkڙ+`u,LWgo_匱Axy]i;rΕ,)@Cc4 Lcg[+QoyA!}* wq٢(CZ Y7b07E d31/' D/l}|YJ)HaXd0@)8ޖ(3JZVgi'jǗu573.{걑\V~\.͏B2JNN%<*Z@_d#(Y>JP* I|žTl904_Mգ X$d&*lD< pu5C/=b|Ci> y.ۗ=A.{6[H`ꌹEϲQ);+".d/%wAKl$\ mae]ENmr6+hv;ڥ/#ߖ_]]?yŰئOoϯ5v0e>i`ܷL+1LnkT&?9<8z&U-E0(=KdU__) 1^jϹ@Z[05xCgy9cM튲mt2';]DEjRO%*aٴPb L4;+BlԒGÓ%+! q^d/d4н2t"{C>wZj&z7Ft=*쳅$s9t'n"=~ETًr mvC<[/c`ZB }C/rJer8 JԠXo$,2%ɀRpGˌ~]e>7hjY^ѳO3eèL$s owuϐguDV l%x4NoRen*M41}| ER ViX^ky]GFȑpBYY vxj֠s}wqmHkico_^u~49,HL,èP7: dJr!( ';bM%߹%waC._T -='D1;sV4':YFzќޛ˫>[0N]˿Pȿv%K0)N1Is&ǁ&y>Đ5M{%DžYƮg1N鱓]S,=3F+.C&\f ijv4A;-p_L20h0N `1 _%O5Hj`(5^^,IՆ*!>9zGTA)C@|^N= ^3*||HKȭH C 3x au>Xy1Z qGQZ` #Z1431AFTx!+C*/DE^**xUB5*J|< +GE{M+Ꚁ wj?<( MЀEc{  [Yq"Z@ Q )@tU XBc8 41sرxԀf_Zdq%_jjŲ=A9)"L}|J5?-|w9^ vlWK 3ErFb`./j?u{zX@a\6+j^-y6RQI?J-R4SJǃbB)SCK)JؿDFB~s/*#wR~TߛNO,RY"b=Sht\9roUh& rDˉAa=r5G7m})Z0=1 R ƒ~M==\;5596x"P-T>/&Fbv7=aQN4wMĘZ]۟ҾBsჶMrUJ+Y@U" -I YMh& 5Ȑ,AB!Z֤0*|A=ȑ"ʿr9qry~J8KWǦFiMFfNZ^ 81:5x͢P{ND>H BR!v Rri1zӢSUath,F™5,t8q+tT@q'hQە6;N@'4"}:WeɆ{}*Vu>@߳>]qC?ΟZsAyR LP#t*M>}ymV[FKۜ=W"M^,A9f&5,\xFE2ӓ85Ax Kܻ_pW^uV:!\q?=ao]Q{NъWm,g:hw (-%)4Nx~UFKwRS\JM7ZӪiA W*3F6T2Wݑ+͍-'q\Fh8M#LB;)z% `St200FW0 ,lGfw J AAUV@u<̮ɠ`BB4& 7&#."P5MtE>?ty;|=5֬<07]dDٱyP^S@1n*3 郭$(zAe\ y !g9sɌ=*eKDF;zbH2D%<|LuOvB1,K}~?^tu]v?QD,ʣ➄qs #x^~he>bbFѠ{uQUu@|JJOWR#Yo X ULIIdIi4q2ѽe6a9_I]>yThs4y}]#JAGhǸw+))6̵hF֓vE\d; jq$ǓGc3g3qD>|STSc~S}PUȧ>i1LRF-Z3 j0i#CE$ w'C[D񒕮 Qz4B1qm~[y"d X%.=G |UKiJ- %Kz RQ"q_&&t!A:L/jnKO^h-E1]jem 5r߫^70qeF"B1Rd4žHXfL`ƄDža)*b18A`lv촙M'>&S$rfn ee(x_z?#/29IJ'gs&_b%`JuÒ/ruE٫@4v޷m~X[d{ٌ/6i+<1b0NC2Xf2H=c~ȫdWeF+{NJ RDN'ey~ :4,eih_Mk7?c/z{BK=T׊F6zB y#[':58c!&7$h"Nf=9;3X|֌ONY!VtK c@$SU=SZ*S;6Y,pRD(TeY<~oo w)Y[V\1Ѵ߷< ۮ--S Bs.o.ܰzX$8`{>~x0D_ J~#eėoEe% Ӌu>w/s?hbkUc,f,fp?yc6`0-g\+8;?JG`$mH P Rd| Uo~by-`o 4?f5AX؇ni6;F&JO7ێb 3c-PXy 23`L}0u-$͡:z76 Vp;T@)l(eUv/b$# )6 vsؠI}\OL2zOt>.t7B}:Zg7^ ^ZS!Rd`dicƵkvuҽj@#-mմjYM5yZ>OӒ7WZ6J!kκY yP[k7ꊢ+ ߣ'=H@c;+J"K ICx<(6zՔO!-ÕWQ R^FO1Y~q*zC)B~}cC&W<`A)Q,l\zyJu` y+0"]kE3irX^+T/BQ;PTQtNoa[0>SK8% >YVECM'Oӗ>ƇU? O6?iJ$ MELj*$QAOx: 8J=T-H@3S݊%BnnOO{C[in>[-q-ĨcERK!l>n/3،ynV/}#"YDB8Nr+]Nۭf/|/Ndd K8 {j mN(ӞiaR)_cG,Uc+{e62HēC(]򹼰ΰSYΰuo9̩TUsեSC%H٠n57Mk!fC}0_e2|;my˔4PjTBRSi eTzC]4]To+LH$_s ڶ҆7im.t ,E'؇=a )O!|h`R^V= /Bѣ+YD/a_B{{4" +D _Ʊ9 MY7c7:og-+ !}d/^<1PjzH5B-A]ab?0M&=}W9os1=L /.|j+̃UF=+ͫ%b+55\#̦t͇0CvZ뙾H;%u _ݏoi>ʮl34t,mnSB*ZaM\l#Vܾw>.,/:,f'|WeY4xL{J+F j DXj0rNMѶ$h9V⠌s|Nn5~קsW YhV&mUfCsݯwa7dv lNtjxmmG[ uc91G''?8n08ll@OTHH)nW+R;R̒JXŊ ,Eh}A߇jkկ;T=ʝwM !Et3!Wwyc?h?Spy%IY`@l%[*0frh$L ]ӭYcyYd?r˗l>6DU~,NG coX:9+ýky]} |‚T^ (:wԇ:']ǹE?;dztۙN}sw_z񃆺ngr];<Bg?#;ñ@Ш?ƿ΀g$/ V=MMAI9Ϣ!1 ʲ?I;\;ge}92Y(թb;3F}wg읡Z› VAIPãnQdE_Gi]!RPK +2-;6l܉5!cKڛօ}1UwH>q0M+;Jl <Uőt-՝tcT\AlaasF,0|E\%,~}/72qm}mUܝ' ^uN+JlFͤ *3ŋn/wx+2Ê&|>{qnмXDaV5v, k׵Rf e ]g"# DrT*] #F f|B2Q<9$Ag<^>gbX"B]T&/kdm\uT935U{z7?:0ez1 []w]}N Sg_^u?,1wƎY"}Y,;R[K~ >[+(ނW-yML35!n;L q=ȷP;pn -FX!&4̐ET圻E}}"9%W[R4C-$9"s^](=Em~]Rux]lO6^C2 ӉyڱX0E;T:)tC7&CUi5",`>{dzŋ$Eu#? ta7Ā_-GwFq1(}^M:~^[|q1ˇQPDᛂ[]{it;R]6-$q~Ki+MLhw0MN'](D"2+Dl , u( Jcq6zÎ^AU{zwE6x 1d]MbD KH7iɡׯbsous}83Jکz_J-S:w`c%W h蕽qs}thE>FiΒ@qtsܫh.8U f);UڡTv`2[,dAlvJ=ܢӼM/1B@*X DA'?᧫Y?X#ʔGMnyiw\AÇT"ljt#k#dʩ`JC~|3#&'b_Xtl'{K|:rݔ>u*="<9??Cمd.wheeT?nК-)ei2*:A7p%;жv-@peWŶuVrP{_^=_━r]\/Ώjlom?fK٩tqζbCz`?G qW [Db>K+ȃKc.HS1`hHf+-{Ӏ~ݭ DQ+% GfYhpU~‡/Ev^ݿ]*(:4ZvdXrk\m>Vԭ֨|x‘u;1 ez"dc%ב+< D"NWeE`]CQ]E=67 oavnW!<.ow*k/v]p{ lX`9:+уRI,Q{}_tP^lXxc`d``nS)tWhsk;YiI݋<[-K̾oO[@|n*^@ D PF >  h   ^ *d^H :x z88j(Z&>^  Z !*!\!"~"#P##$f$$$%&0&&''F'|''(V() )f)*L*+++,*,--|-.z./0011p12L23,334>4r45R566R6xc`d``Ű$3$xNAƿ- !0z(mb=FОHxd)Klv|> >1>nk#d73_ (wV(L>x\ J,89^m2nu̹υWQt QExtWyy'+vL x4UIxOY / `}"Jx| b"A.z( 6φ6Fr=&QguSm3z{f%r1ߋh_0Իad߼xmTgw6Ԝ$d.ޙ{$W$N Ae9'wCZ~Ll?G Yb#Ήt衏%,#@ac Qc83qNlsqb\Kq.Wj\k:\p#n͸6܎;p'ݸ>܏ x1<'$x9<"^x597&x=#A rpJHT؄A-̰9v!>3|/%;|S8#~7?'ĔiT֤4\ ӛӂi,܌ /HG WQS2mx&m,[ܥ9it>J2eU_NdQPi&R#a[^QT.ҡ#LL YD Si7OӵiTI^H,7} AT^"yO-Zқ5SPE’ "$DK]qİKfv([[PLiKK0ݷ}wVrQmb >bZ۝i@6`߄ :.bmȕRz6HiqEˬV3ҁh;!1nf匔on33jh$[Yrل[<%ٔLd>q{(a*+ ۸&Ki#in)#DuڂphELQ) 9՗VC e0hTG'\k#w6te׏Te5XB+ ;Ѭ.Wڃ^݂U GNmBVmY[LieWK#f,{DN[^n| ".15:>DFKNY^e -69IN]lwz (8[]`b"$46:JLPScmy}AY!AHP^`p  $037=@FJMP[` !38@MQlqy (7X]`b"$369JLPScmy{%$#"!   vutspgfecaVUSNMGDB40/jH0/,)&#  ~ } u q o m k U J I H G E D C B A @ ? > : 8 7 6 5 3 1 . ,       } { t s q g f a ` Z W R N C A ? < 7 2 0 - + " !        v m b a ^ ] T O '    0d p |thTDX(pt !#$`%%&,&&'8'()*+,H,-`-./X0,01D12334p5<56 667@8089|9:T:;;<<<=D=>t?8?@AHABCDDEdEEFHFG8GGHH|HIIhIJ JXJKKDKLLMMNPNOOxOP@PQQR(RS4STdTUPVVWXXYYYZ@[[[\(]]^P`aPabbcxd dxeepefxgghXi ijtk(klllmnDo`oppqrxrs8st`uu|uv<wxyXzzh{{|8|l||}}X}}~ ~,,h$( PxL(`D(((8|HDlD`8@`h\ d(\tlP8 |LLxp\4$D¬```0Ƹ Ʉ(ʴˀT΄HШ҄ ԠP|Xڴ ۴|tX޴,(lt8<<p <Xd\L,L@DppTx<,tDDH X     X 4 lTX`$ <L !""##$&''(@))*8*+D+,-,-..x../</0,011X122X23D34<45T566l67888t9D9:T:;;\>?p@@ABxCDE0EFG0HIIJ JJKPLMHMNLNOOP`PQRSTUDUVpVX(XY,YZ[ [\ \]^_``aab\bd(deDef\gthhi,jPjkldln<o$optpq8qr0rsttttuvpwx\xyz<z{t{|} }~ xP\0PxXDX(DLp0d8484<xH\X<|T 4hl< |pplP`ØĔhƌL˜̄D l`\״Pۘ<(ޠL|TxxP| @ D`dPPp0@d8|(HlLx|8 x    TLP8@4 t!#l$t%&p'D))+P-<-.,./00123x445x6(6889::;l<|<=>H>?@AXBBCTE<FXG|HHJK<L$LMNTOHOP(QQR<S STdTVVX<XYxZtZ[]]_`b<cdPeXf,ghiLjjkllmnhopqqrs,tuvwx4y|zTz|$||}}$,@`P @4``T|p< d00lLp`\xttDl#>%2+"&4&+"&'#"&=46;6757'&=46546;276/`B^ @  =L=] w" ! n   n ^B ## ` 00`       #-6>FNV%2#!."#"&5463!2%54+"6754+"6254+"54+"354+" 2"&4264&"p >T>2  @q loB//B/C   )77)   Ll YY(lD/B//BAQY%#1"/1#"/"/#0"##"&54?&'"#"&54?454767'&5463267'&54763267'&54763267'&5463267632376327232#"/264&"6264&"#"/#"/#"/#"/#"##"&54?&'#"&54?&547'&546326767'&547632467676767461'&546326767'&46263023763272312264&"                     i                                                   "M  6                         "/#"/"#"/"/#*##"'&54?&'#"&54?454767'&5463267'&5463267'&54763267'&5463267632376327632264&"6264&"        !              ((vY                        ((l -%!32;5!#!"&2!546;#"3!264&+7@%%n@ @   1 `  *@@   @ @@#K"&=46;546;232++"&=#!"&=46;76;2+";7632 @ @ @ @ @ X" 7/ *  N xx  @ @ @ @ @ @  d ` &   X_s"/&54?62+"/&546325462;2=462;2=462;2=462#'64/&"2?11"/&54?62k111;& }  &x    @11111111       H   & 0    P1111 !R$"&462'7>&#".=4627>32?>32?>0"%2+";2+";2+"'654&'546?63232+"3"&4622"&4((  "< '/ ," "J/<    _  !$0%l /  E((((B  08!q  2  z  k  lQ32      ,)@ !   ((7L%7654&#"#"'&54?63276;76;232+&'%3#"/#"/#"&=46g !Ku TLX V 7p b~  [  [ EQ 7   R  $,[3+6"2645#"/#"/%3#"&5:64&"%#"'&54?63276;76;2&/7654&#"H @7  @  [`@ )  Ku TLX V 7 @8 @   R  [ EQ 7v '/PX$"&4622"&4&2"&42"&462"&4&2"&4'+#";+#5&546;2&264&"rb223 `  `&@@pP*4Y5~FZv6;  & :UPp/)% (08KS%#"'&54?6326;2'654&#""&462"&462;+#5&547#"2"&4ƴ'1;*4Y5  jN `&@@? +!/)j  N& :U.(667#5&1!'>;2&264&"";#";+5!ܠCg>B4Y50   !ñ=7E/)%   0)y$2"&4&2"&4++!5&546;2'264&+"&?64&"&=4&"/&"+";22?626=46264/&63   7  = &@@pPJ4Y5    (  (       (  (    I  Z @&@9VPp/)  (       (  (       (@+3A%&/#!"&=&/&547%62546;2&"2642654&+"3;   e @ 4&&4&0 8(@(8    Z4 &4&&4 (88( 3MQ%#"&=#"/&54?62546;2#"54&+"32#!"&=46;546;2#5#   X   ; @ % 0  N' `4% @      9&"546;2327&54767>32&#"#";6"/&"&=4&"&4?6&+"&46;26/&4626=462?62;2+"&264&"264&"/&'32654/3264&+764&#"54632X    3"&=#"/&4?6235462z4&&4&@2 @  &@ H4&&4& &  @ 2H H  HH  @&4&&4& 0`   `&D&4&&4F&`   `0 & D D$$D D$$@4547+"&54?#+"&5457#"'&54?632'&546;232+ EB B 1g+( :% B irBB9,u : l '2'7N2+"&5457>354&+54&+"#";;26=3267"/##546;232%&%$(((( +C @ C !&&!(((( + `  62+"&5457>32654'&""/##546;232$&&$32#4 4 +C @ C "&%""EF  + `  ow2"&4%"'.546?632264&+"&?64&"&=4&"/&"+";22?626=46264/&63"2"&4  ,FH$*M@' n    (  (       (  (  [    u N[<C_GP  (       (  (       (   P75!#!"&%2#!"&=46;5#"&=46;235467632+"&=4&"3546;2+ 8((8   `@ P @+" (8   @ P @ (88       0$88(   0    (08D2#!"&=46;#";2654&'6"&462&"&4626"&46232+"&46(88((88(Y(88((8#F4&&4&((&&&&8((88((8%8P88(2 &4&&4z((&4&&4& )S^g'.7>75#"&=46;2+762#67>54#";27543230;2=4754&#"32&2#"="|WVyeI    8, 1 88   R 879E 3>WzULp "     " $  =< ' k ?j?tt,:#"&7#"'&54?632763!2#!3535#!"&53XJ ::#  V )5@@ @DD"-" )c2I  ` F73!"&=327'#"'.7#"'&54?632763!2#"'#"'532767za  +$"  =$-**  @ Y(mh(Z!!pP;C47#!"&547>5#"'&54?63263!&5462&264&"@<  :6# 28P8+!!6  &   ^*-e>I'3=PppPEh{%6%%6?JX7#"&547#"&=46;2$"&462#"'&54?632>32467#!"&5%2+.'63%(B &@4&&4&k>+.B' 7-<,& B( % :# & &4&&4g*8B.#8 +#I,B& #:W_g%2+"#"/&"&=4&#"&54?6&+"&46;26/&546326=462?6323264&"264&"  & GG &  & GG &((vG &  & GG &  & G,((T$Xa767"&=4&00.6?6&+"&463'&?6626=462?62;2+"%4654&#"r G  &      ]GG &     &G  I &  &G~ OW%2+""/&"&=4&"&4?6&+"&46;26/&4626=462?623264&"'""/&"&=4&"&4?6&+"&46;26/&4626=462?62;2#&264&"264&"p    (  (       (  (  e   5  5       5  5    i  `  (       (  (       ( 5       5  5       5  3  .:F%+57#"'#"&=4?546;232?6;264&"2764/&"  J#''#9   5    0 , 0 0 ) P   0  0 0.JRh%+57#"'#"&=4?546;232?6;22?264/764&"'&"264&"%26545.+56&'"#"3  J#''#9   5       ""/     ) P  p    ""a    032+"546;5'&63!288**632"&46325"&463247 8P88(8P88( %%6%K%%6%!%"/&=#"&46232&264&"d8HVzzz, jKKjKd ,zzzVH8KjKKj"/&6767>/+  +/)k&&k(|+ +|(# '' 162/&?'&6? ( A j  j &g DD g&$"&4622#!"&=46;27jKKjK&7OO7#L#KjKKjkO7**7O /;GS_kw2+54+"!54+"#"&546;;2=!;2=54+";2=4+";2=4+";254+";2=4+";254+";2=4+";2=4+";2   ( (    ( @ ( ( ( ( ( ( (  p ( ( ( ( ( (     P   ( ( l( ( l( ( ` ` ` ` ( ( l( ( l( ( /?32+"&=46#2+"&=46346;2+"&5"&=46;2#(  F     (             /?O_o+"&=46;2+"&=46;2746;2+"&5#+"&=46;22+"&=46346;2+"&5%"&=46;2#"&=46;2#%46;2+"&5 e  e  f  f   e  e   f  f   e   e  e   e  e  e   f  f P  P   P   P   P   P  P   P   P  P  P  P h  P  /?O_7+"&=46;246;2+"&52+"&=463"&=463!2#463!2#!"&5"&=463!2# e  e  e  e }  e            P  P   P   P  P @ P  P   P   P  P 7'&4?62762"%p% $p$aq#7"/"/&4?'&4?62762d   dd   dd   dd   d   dd   dd   dd   5=++"=#"=4;54;232"/&=#"&46232&4&"20 8 8 8 8 d8HVzzz, dPpPPp 8 8 8 8d ,zzzVH8dpPPpP %-+"=4;2"/&=#"&46232&4&"20 d8HVzzz, dPpPPp d ,zzzVH8dpPPpP$4"&5467632654&'.?>+"&=46;208͒80  $bFEc$ _  "k=gg=j# F)EcbG'G    h/?O72+"&=4632+"&=463%2+"&546372+"&546372+"&5463 0 P 0 0 0  0  0    ` ` `    `   `    <D%/'&=&''&'&?&47'&767667547676264&" &+" 76 "* & ** & *" 77 "* & *B//B/ 5) 1   1 )5 $ 5) 1   1 )5 ##-/B//BAC62+"&=4&+"+"&=%#"/&"#"/&54?62546;2 p @ p " Z8, ` ` 1 JI2"&4654/54&+"327ΑΑT:   CΑΨ*  1E!/?%+'4&+"#"&76;;265'32;26/&+"265'4&+"3= D bb((7  .  -bb@4,, 00 +3;3232"/&6;546#!"&=46;2?324&"264&"2P X  X2 0  1*1 |  L      p  p 11j    @%#!"&=4?63!23373'8 j U{ p {U  +@@52+"&=46303.#"327632#"&4632'41463eM-IggIB2"F`gf8b#/$*gg,"@͒.)R)S4146;2+"&=463.#"+"&545>322676;2#"&'1+"=46;2#'/ fM->_ 1Z8b#=` 1Z8b#/ fM /$*L; Ws.)L; Ws.)R /$*'3?K!"&5463!2"264"264"264754+";254+";254+";2`"""""" `h""I""I"" T T %2#!"&=46;5462#54&"Y~YP*<*H?YY?HH**H'276#"&#"+"&5&54662^0E;?$h>4  "!Gh]  )#^  ! #/2+"&=46;254&"6;2+"&/&=4ԖA-  /!qq!/  -Aj0 -? "OqqO" ?- 0j6/#"&=46;  Yf  fy  Y #6/#"&=46;.6764'.>  Yf  f    x  Y  )0)  . @%:L6/#"&=46;%.67>4&'.>&'&67>4&'.>.6764'.>  Yf  fB;2324&"26"&462`X ~ XFdFFd&4H44H0 !!dFFdFH44H4+.%2+"&=46;'#32+"&=46;6;2'3'    0^/     @@     j%-%+"&=46;#"&=46;2'3264&#264&+MR6   9LW W?$4F 0  0 T9$a`(!.!p@#+32+"&=46;#"&=46;2@ ?P/  ?P/        @   C-I2+"&=#32+"&=46;#+"&=4632"/&6;5#"&?62+0   8(  (8    PP 00 PP 0 `      0  ` PPPP-I2+"&=#32+"&=46;5#+"&=463&=#/&4?63546   x  x   [PPPP P p     p P PP 00 PP 00 /?7"&=463!2#"&=463!2#2#!"&=4632#!"&=463  `  ` `&&&&@         /?2#!"&=4632#!"&=463"&=46;2##"&=46;2 `  ` \         @((((/?7"&=463!2#2#!"&=4632#!"&=4632#!"&=463   `          &&&&/?%2#!"&=463%2#!"&=463%2#!"&=463%2#!"&=463 `  `  `  `                  /?O_72+"&=4632+"&=4632+"&=4632#!"&=4632#!"&=4632#!"&=463P @ @ @ @ @   @  @  P @ @ @ @ @ @ @     @          +;K7'&4?62#!"&=463%2+"&=46372+"&=46372#!"&=463e``D `  ` U`` -     &&&&      +;K7&=462#!"&=463%2+"&=46372+"&=46372#!"&=463`5 `  ` U `     &&&&     @2#!"&54636/5P"#n &  K")"&5463!2"264!5'&'&`.!!.!hX8H H!.!!.pX8H.5462"=" pp "=6#X$5"PppP"5$X#  6462"7264&#ΑgLllLYΑΑ@ll`!"&54>762264&#"&54&"6,!gg!-5- !/  B4_6I&JhhJ&H8^4@  /! .B@ 6&?67/&?624?6#!"&5463!2+!Z\   $Z$ ((@mZ  \ #Z# (`(@4;276/+"@ 0 %% 0   54;27676//+" ( %%%% ( h     7&4?6'7&4?6' %%@ %%      %&546136#"&546;2%+"&546;2`````0`2#!"&5463` %&546&546 %%@ %%  @  @ +"=&=&54654654;2 ( %%%% ( t  @  @+"=&54654;2 0 %% 0 X  %#!"&=463!2%"&?62#   p*@@  @ 399%?62"/&4#%%"/.?'&6?62#2"&454+54+"#";;2=32ΑΑ \ 8 \ \ 8 \ Α΃8 \ \ 8 \ \2"&4!2=4#!"ΑΑt ΑΏ 8 8 #2"&4'76/&'&??6ΑΑrBB( AA (BB( AA (ΑΨAA (BB( AA (BB("&46276/&'&Α΄  F  h 'ΑΑ  F  h *2"&462"7>32;2=4>54&"264Α`J+ #  8 H &&'ΑΑR@     &*<&&'2"&4$"26454+54+";#";2ΑΑ "" @ X Α#"" d  @  'OW%2++"=.'#"=4;>754;2>7#"=4;.'+"=32+54;24"&462  eF ( Fe   eF ( Fe ,? ) ) ?, ( ,? ) ) ?, (  ( Fe   eF ( Fe   eF ?, ( ,? ) ) ?, ( ,? ) y 2"&4.67ΑΑ`4&`4&Α` &4` &4%"/&4?62!2#!x  xs s762"/&6?!"&=463!'.x  x}s s7'&4?62&/+"&5#s sx  x%"/&4?646;27>s sx  x&='.54>7546 1D2  #02LP4  X *@+ U,,B) P !2C546;2++"%4;2+"=#"52+"=4;543+"&=4;232 | T (  |  ( T  | T |  ( T  |  ( T  | T |  ( T  | T !2C#"&=4;232%+"=4;54;2+"=#"=4;2+"=46;2+|  ( T  | T ( ( T |  (  | T | T (   ( T X T (  | |  ( #%2++"&=#"&=46;546;2            %2#!"&=463     5%/+"&?&/&6?'.?>'&6;276  &   &  r " T  T " NN " T  T " N"&462"264';2574&+"ΑT&&Z 0 @'ΑΑ&&  .7A353#"&53#2#!"&=46;&54632>32!3.#"3264&#"      , 4$..$4 V#!   @ P P $4 $$ 4$5""$%@'&'.7>3264&#"&546;26762"u8[5  @Q}G upPP/OBN .%,.  />0"  TPp/)!"&547632654.676#11#qq7 %& "2,2M/OqqON9 U&% "*=% @+%"&'&47>22654&"72"&54732654'6=***7&54Ԗj83AL9zz3 19JV>#"&=46;2%+"=46;232".54546;226=46hW hNt{tO2<2,PP  P|, Ht;;tG14-44-4;E/&/&4?62=;E7'&4?>76"C}!C%"/&4?625#"/&6;2762+"&="/&4?62"/32vee (   (   ( ee ( hdd +  +   + dd +B.%#!!2"&547#"&547#"&=46;2!2  !.!!.!FF  g     #!!!! W   - 2#!"&546;`@@ @D %#!"&?63!2%"46;32=I%pI%T, E@|  | 8v@0/?T%"&=46;2#3"&=46;2#!"&=46;2#3"&=46;2#2#!"&546;2M&:&&:& 0    FF@    P -5=M!2#!"&546";2=4#2=4&+"#"3264&"62"&4265463264&#"0` t@ dFFdFTH44H4!   &`  `J -$FdFFd4H44H4    &!)#"'+++"&=4?&54632264&"gI % ( p  gIIg((Ig( (  N Igg((;C'&'&?&'#"'&76;67'&767667632+/'>'&/'.=&''&'&?&7'&7676675467676>.6'&'&?&'#"'&76;67'&767667632+/'>'&            & & g" !  &&  !!  &&  "{#0#0             & &                     > # # (  ""  '   '  "  "  & 50#0#                    > # #B)#"'#"&767&5462#"'#"&'32654'zV<3+.&z.+3<@hc9HB^ ")3B^" 6,qO Q13  &?'&6?6  j A HD g&+%+"/&=#"&546?#"&=463!2+*&0   0& *    *;% h00h $<v 0  0 @3;C232#!"=46;5.'&'&=46;5463!2&'#%5#676( >0>" 0% %0$>0> h   @@ # 88-"$H H &"-88 (  ( )--) /7?%#"&=#"&?62+7#!"&=46;;26=324&"264&"2(P X  X 0  !P! |  L  @    p  p !!j    #5&.7>&>676>.2327>"  'BF:;-+ +"  'BF:;-+  4j  ^"+ +-;:FB'  "+ +-;:FB'  c j4  ,^#"/&?6>7'&?6p 1;[<0h0<\:2 p.2#!"&54632654/"#"'&#".x A %#KF `x  FK#% A &%2#!"&=46;5462+"&=4&#"Y}Z +*f@ZY?  *+g@ !+=!#!"&7;2=4+";2=4+"!5463!2@  H H X( ( ( ( 0006"&462+"&5.'"&=463+"&5.'"&=463%5&&5 0 wT t 0 ː st;5&&5%o Tw 0 t  0 u@#+%#!"&=463!2'!"763!2&"264&"264@ 0 a a3s``<`@,4$#"/&++"'&547#"&=46;2?632#2@  UBU K"%%UBU @!TkkTJ D5+"#5:%`%5D C`C;%//&/&?'.?'&6?'&67>7676.  ?> -- >?  ..  ?> -- >?  - >? .. ?> -- >? //  ?> &6>%+#*#"&'.=47>763232+"&=46;24&"2d  '(#G E   ` 0  0    +%#$$  -+     &6>3&'&632#*#"&7.7.7#"&54632+"&=46264&"-   E G#('  d0  0   $ +-  $$#%+     &6>2666+"'.'&54654632+"&=46"264 +%#$$  -+     d  '(#G E   ` 0  0   &6>5&547>76;2'''#"&546;2+"&64&"2\ +-  $$#%+        E G#('  d0  0   %"&462'326=4&+764/&"2?64gΑΑL  L  8ΑH  H  %2"&47#";2?64/&"ΑΑL  L  ΑH  H  %6462"'7;26=2?64/&"2ΑH  H  YΑΑL  L  %"&46254&+"'&"2?64/&"ΑH  H  'ΑΑL  L    "+17=#>2473#%#&'%#>#64'#&4733"&673%3.P 0:0Bl#5S$lSk rr r( 0:0$lSl#5S DTT@ @ \2K[2\3K !>!@"!>!!DTTJ2\3K~\2K$'"&4?&67>76264&" P&5% J$J DK <S$I %5%Q  KD J+3CSc"/&4?62762"/&4?627622"&4%2#!"&=4632#!"&=4632#!"&=463I / @ H / @ \((         H0 ? H/ ?((     @         2/&='&63  P   8 ι '+%53#!"&=3;2672!546;546;2#5#@` ` P@p00 PP00 ;%"/&6;5#/&4?635#"&?62+3546&=#32`OO 3e OO e3 OO 3e OO e3 OO e3 OO 3e OO e3 OO 3e%9G6"&462"&4622+.'63*&4622#!"&=46;27'#"&=46;2z4&&4&4&&4& & B(\BB\B#0CC0 !F!(B &@&4&&4&&4&&4F& #:B\BB\bC00C :# &%K"&4?62?64'&'&5&?66&'&'&?>'&"&'&4?6G,,D,~Y,&  <C  jY,&  <C   ,,D,-~,D,Y~,&  ;C<  Y~,&  ;C<   -~,D,%#!"&5467454632632,:K5`%6%%6  h 2#!"&5463`/"&=463!2#"&=463!2#"&=463!2#  `  `  < ( ( ( ( ( ( '7G2"&42"&42"&4%2#!"&=4632#!"&=4632#!"&=463((((((  @  @  ((((((     @         *:JZt7#"'&?63254+"/&?67#"=4;20%2#!"&=463%2#!"&=4632#!"&=463'"=4;5#"54?6;232#"=4>54#"/&763232#>  9   @  @  D    '/                  @X /M%2#!"&=46;&'&546;2#"'&+"3+"&/&54?632;2654   fH4D%= + BW^H4D%= + B     3I'  ` 3I'  /?"&=46;2+26=#"&=46;2+"&=2#!"&=463    /B/    ^^p `      !//!     B^^B     2#!"&54635#75#5#75#``````````'+/?/?/?"/&47627'  5555E5555b  U l  ;W3V`  `555555  U  l V3W'/7<%2+"&5#"&5#"&5463!232264&"264&"75'#p 08P88P8@,d,((\((d,`   (88((88(@0dlp(((( dp!&+2#!"&546334ᒑ#264&"5"75#`   @%%@B//B/`%@@%  @ %%8P88Ph@%@%W9 !2"/&6    `9 %!"&?62!  `  'Y /&4?6  A  'Y 546&  ?  2#!"&5463#!#`` 3 732"/&6%+"&?62) ww   w ww i  w 3 732"/&6) ww  ww  4 %#"&?62 ww  ww 86#!"&=462>76".#&'&=463!2"`!yvz4  1}X  Ue Y(  &[ +7#"&=4;2>3#"'&?63264&#"32 0 #a6gg_G " 2BIggI+Jb N'+͑@ ",gg'!07%"/&4?'"/&4?627'"/&4?62762|(Q s  . s  Q(}q}(Q  s .  s Q(|qD2#"&?#"&?>;2( .w   *     5EU72+"&=4637#546;5#"&=46;2+32#5##52+"&=463!2+"&=463  `  H0(   (00H  `  P  `  ` `  ` P0:@ `  ` @:000P `  `  `  ` B-C%'."'0.#""'.&7>75462632#"&'&>3265@ 57   ( 74 \\/!*     #+ '"+$ cz    zx!/  /8#"&546;6232#"6"2643+"&546;7#532h  QJQ !*h  r` B P   H!y  0 h &`B` 053+"/&46320#41&'&7264&#"26546` > `dKJg,%%, .B  /&&  GigIB2+00+2  B. !/U$"&462462"7#!"&=4672654&'527267?6/546?6=4&'jKKjK6J@0!.! :$00 $KjKKjN5--1KQ!!R .,,  *,?G2#"&'.=46?6326='.?>326=&7>264&"& gIGg7I ?  9('8  ? I7A-.B!$  P%%qEc_D Y9    {(8:'z    9X ):=+q&%P   !46;235+32#"&546;00`00 p P`)"&537#!"&54767>546754624&  H88H@%q  C,:V    V:,C'7"&=463!2+##3264&!"'&763!2(8 5KK5 8( &&! H@8( KjK(8 &4&  '3;GSo!54;46;546;23232#";2=432=4+"#"3547#";2=44+";25'3;2=32=4+54+"#"@  X p X  ( ( ( ( t( @4( ( ( ( , h H  H  ( ( @ ( ( TT ` ( ( ( '/KSX%2+"&5#"&5#"&5463!232264&"754+54+"#";;2=32264&"75'#p 08P88P8@,d,((808808((d,`   (88((88(@0dlp((088088(( dp %I3546;2335+32#"&546;4&+54&+"#";;26=3265`  @ 0   0 0   0 `00 P` 0 0   0 0 /%#32+535##'53535'575#5#57335#532+3 ``0u(s0C" 0@@0 "C0s(u0 P E*E P ".:2#!"&5463!254&+7626=4&"26=4&"p!/Q   @ 07   W  `/!' $*    (с E    3#!"&5463!2#"#54&+";26=3;26=4&`p        p`D PP  PP  +2#!"&546354+54+"#";;2=32@ \ 8 \ \ 8 \ `8 \ \ 8 \ \a)?62"/&4&4?62"'````ш````a)7"/&4?'&4?627"/&4?'&4?62````````A)7"/"/&4?62'62"/"/&47````````A)7'&4?62762""/&4?62762````````a?62"/&4 ``ш``a7"/&4?'&4?62````XA("/"/&4?62`` ``X@(7'&4?62762"`````@#2+32#!"&46;7#"&5463!H   H@00@ !%%2#!"&=46;;267!463!2!p &&  =@ && pP2#!"&5463264&"` @2+"&5463264&"c` 9%2+"&=46;2+"#2+"&=46;2+"^B  &^B  &B^ 0 &@B^ 0 &@92+"&=46;26=#"&=463#2+"&=46;26=#"&=463^B  &P^B  &PB^ 0 &@B^ 0 &@'/7"&4622"&462"&4 "&4622"&4$2"&42"&40(((((((((((B((((((`((((((((((B((2"&4ΑΑΑ%2"&4"264&"2646."'&2ΑΑU#n#-Α**6%2"&4"264&"264>'&"762ΑΑU--#nΑ66*2"&4"26424+"36264&"ΑΑΑ `+3;2#"'##"&46354+54+"#";;2=32264&"6264&"B^^BC/\/CB^^BX 4  4 4  4 ""W""`^^00^^ 4 4  4 4@""I"" @'3?KWco{)"&5463!254+";2754+";2754+";2754+";2754+";254+";2754+";2754+";2754+";254+";2%54+";2754+";2 \ ( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( ` ( ( ` ( ( ` ( ( ( (  ` ( (   ( ( ( ( ( ( ( ( ( ( T( ( ( ( ( ( ( ( T( ( ( ( ( ( -3W.'76#"&#"+"&5&546623256%5'5&'&56765767556 2 2;?$i>4  "!Gh0"(#M'##& >&#7.(! ?&#%% *D )"^  ! #HF GH DD GFFDD HFG$%"/&4?'&4?62#!"&=463!2w  0     +'&76'/&?6/&?'&?6=  = } + [[  + [[ + @   * t   . PP / . PP .  @.76&76&'/&4&4?61' 3N>!0# 9T x mm  S)F/,U ZR T  ^^  6&=#"&67/ -%  /` %- 7%2++"&53#"&5#"&=46;546;27#5376  ( 0 s (  ( 0 s;  ;` 0 (  `  0 (  `;  ;4<DL"&54675.546267>767.5462$"264264&""264 - 2 /B//B/9  /B/      0** )!//!**!//!*  *!///    7  /?%"&4?62?6/&?62/&?64&""'&4?620 -,~Y,- (-*<-( -,~Y,- (-*<-G* -,Y~,- (-<*-( -,Y~,- (-<*-Gz(02+"&=4>7>54&#"/.762"&4Bn%% H  ,"+?F:((:(Z@ 1   " ![)9))9&735#"&=46;232+"&=462"&4 p   6<**<* 0  0 0 *<**<6"&46246;2+"&5/B//Bh ^  B 1B//B/G  S2+"&=46;5#"&54?6;2'2+32+"/+"&=46;7'#"&=46;2763 `   0  !NN! CPPC !NN! CPP     `  ` 0 pp 0 ss 0 pp 0 ssS!2+"&=46;5#"&54?6;22+32+"/+"&=46;7'#"&=46;2763 `   0  !NN! CPPC !NN! CPP     `   0 pp 0 ss 0 pp 0 ss%32#!"/&4762%37 `(|PrD ( `((1}PC@E%2#"&#"".54654&#"&/054&54632>?03261 4-.$#$%54@p '#$(::) 2&#$## 0 M 2 20Ek` <6"&=4627232+"&=46;5.=46;26=463P88P8@ WA8  8AW  B19T `8((88((h 0Bc "   " iD( *3NM80 #C'&?654626=46;22+"&=46;5.=7z   8P8  L  8AW4 <)2    -(88(0 0*&   " iD)(9'" +!2#!"&54%#!"=46;54;2354;232   X 0 ( ( 0  , $4 44 46>6/&5#+"&=4675*.767&632347264&" () ) < !":   t4!  !5   L1-  *2#"&=&/&6?#"&54?>;>32264&"D< b   3 h 1 h'dH3 ""!2Hd'h 1 h 3   c =C"""&462%2?64/764/&"gΑΑee8ΑVff2"&4'&"2?64ΑΑjeeΑVff6462"2?2?64/&"ΑVffYΑΑjee"&462764/&"'&"2ΑVff'ΑΑeeBBJ7"&?6+5#"=4;5.54632+>7#"&?6+"&'"264 DD#R04 4$9((7$440R#DD `DD'1 (  2(98'2 (1'DDIWWI &2%2#!"&=46;5462+"&=4&#"54&"26Y}Z +*p""f@ZY?  *+g002"&4264&"62"&4264&"ΑΑllljKKjKf4&&4&ΑlllKjKKju&4&&4x$"&46:"&4$2"&4H*<**3546463276#!"&546;2+!8 -?0  +-FJ/   y 3@ H ';( O)*>& H Y`>2"&2"&46&?67GΑΑv B Α B B #!"&5463!2?6&+"`||p`||5463!2#!"&%'&;26`d||`||!2#!"&54676/&0`||`||BB%#"&'#"&=4;&7#"&=4;>32'&#"32+32+32767  Mp  !oH  (>  rA* ", VF  @P , (#    '/@1%2#!"=4;5#"=4;54632'&"32+354634 $ O=7/  7"T T{` h ( ( B7G# $!@ ( 3*A7+"&="'.?6;2654/.'&6;546;22'&+",- :$   0&" B g".A1   0&" B  T-!'0 0"    4"1G0 0"   @4#32++"/&=46;267#"=4;&+"&=43!24I ; 5L9ST' )U ( ` ( 8F5  ( - ( n:232+32++"=#"=4;5'#"=4;'&6;236?63_P: Xl l 8 l lX :PA7 7  % \ \ %  qH%#q)27#32++"=#"=4;5#"=46;54;2'32654&#\ ; 4 44 4 @QQM$((# ( 4 4 ( - OQۖ)#"(@ENRZdh#32++"/#+"/#"=4;'#"=4;'&6;2376;2376;2327#32>?#;'&'#7#136?#4?F U* 9 +7* 9 )T F> 0* m , n .0 x & Q  ' Q ( ( ( Q VV VV Q ( 66/  66   ;#!"&546;#532   Ƞ b8    zb)5>;#!"&546;54+";2=4+";254+";257#532   @ ` b8      L  T  zb5OR72"/&6;46;2%232+"&=4?#"&=4637+"/#+"&54?6;23' PP 0     =8  =8   G  ; * 4 ```0 @  F    F   U  e05OR"&?62++"&5232+"&=4?#"&=4637+"/#+"&54?6;23' PP 0   ` =8  =8   G  ; * 4  `` 0  F    F   U  e0%5EU%2+"&=463'2"/&6;46;2%2+"&=4632+"&=4632#!"&=4630 @ @ PP 0   0           @``0               %5EU%2+"&=463"&?62++"&5!2+"&=4632+"&=4632#!"&=4630 @  PP 0   p           `` 0              4<R"&54?6;232+"&=46;56&/&767.7>264&"2"/&6;46;20  0  `  (>*,   $+ "  PP 0   `  p     @ 1' 3>=&\  ``0 <R%6&/&767.7>264&"'"&54?6;232+"&=46;5'++"&5#"&?62J(>*,   $+ "    0  ` P 0   0 P 1' 3>=&\    p     @;` 0`D72+"&=463264&"32#+"'&#"&=47>767632h  P  X e#   *!0H#5    y?#.) M,:$D46;2+"&56264&""'&'.'&=463276;23+ P  P ( 5#H0!*   #e    2:,M ).#?$"2"&4++"&=#"&?6;732e6%%6% 8 8 0 %% %6%%6 h  h $2"&42++"&=#"&=46;7E6%%6%p  @   %%%6%%6k    /72"&4/"/&?'&4?'&67627664&"P88P8V ^! d0/d !^ ^! d//d !cKKjKK 8P88P/d !^ ^! d//d !^ ^! dKjKKjK"&463276jj/7]$h@Ԗ^6^y-2 %3!#!"&7;2=4+"%2#!"&=463   h h          0 0 ?E%+"/#54+""'"&4?&=#"&546;5'&4623762322#4 7=  6(3  3(6  =7  8/  66  /8 \B  <  7 7  <  ;.  77  .;B..!"&5463!26=4&`|| `d||2"&44&"2ΑΑH/B//BΑΈB//B/*@%&/#"&'&54632+3276'#"&54673267A >  (#  y 9% W5Ig=2B.*?> !  &$%!   {7/:gI7Y'3.B7):%2+"=&=4?5&=4?54;27676265463t{eP 1 71 7 8   Fbdp )   )  E 3) ) MH3<%#!3#5#"&="=435"=435463352#!226&#"Q//4E (B+*7" "7*+B( E5 4 #$#%@((@%#$# p((@%=2#!"&546322>36754&#!"".'&'3!265 J( (I I  `5    5    5  %9+#!"=#"=4?622#!"=4637335335332!54; x  0 8@@@@@$ ` $@ XX    #./+"&?&54767'&47%67"&57n 8 0 pp!'"U<  s s  "U,q%%q,  `DNd7#?%2#!54+54+"#";&'&767?6'&'6732%463!!"&57;2?3;26/&+" &    @  @ r           ;  <  9 &&! @x             ##l  8  %5EU^n2#!"&546;254&+";26=4&+";2654&+";26=4&+";26=#"&=#'2+"&5463   .                 0        .       y       w@ 0@  @ )5=IUa2!54;463!2;2=4+";2=4+"2=4+"354+"754+";2=4+";2=4+";2 @  P  ( ( ( ( 4 ( t ( ( ( ( ( ( (    8( ( l( ( ( ( T T( ( l( ( l( ( )462"6+"&=#+"&5'&462376x*<**< _    _  VfV Z<**<*P ^  pp   ^  WW "*262#"&#"#"&546&.>.>.6.>L\>&"LM"&>,*,/-/-,*,E/-/C_&&_j4- 4-  &A7 &A -4 -4 7A& 7A6/&=46?7575N h h HNNPB!'+/37%//&=4?54?65'75'57'57'dhhdad d"UwfffUUfffVUUfff n 2442 n $l && lI$E))&K'O''*FK'O''*8T7/;2+".?'&6?67&"/&?6276/.?+/&?6326/&?6 (3 4 4$6 3)  n | $  " j*(  n  ( 6$`P P`  "  Q! ( 0A"QI  --B n"A00 P P 0!,  5?N]2++"&=!+"&=&=47#"/&6;7>;2%!'.+":>54&"!264&":    < 9""9 9  "N"    06   60  * && *22 !!19BJ%+"&=!+"&=&=46?>;546;232264&"7!'.+"264&"    +   +5   #0$)   )%0#U"  "]C-%++"&?5#"&?#"&?#"'&?62++z  `  P O nn O F 11 Z [ uu [  "&=462"&= "&= G2GG2w.++.++g++g1og++g1 $@IM7.4326673#!"&546;&'6'.32767326'&7#532'6 3 O    & $>$ O %+(6V     $/  76 & >"  ;D;#!"&546;"&'&+"&'&+";27673;2?6#532   9    % %  & &O b8     es s_  c X  b4=;#!"&546;6&+"4'&+";2767;26/7#532   <#%%#<<#"#< b8     ED ]^ =!$ ^b";72+57#532;#!"&546;4&+";26=:>   7   5(!Q  =     !,9 "-#5323#!"&546;"2645'&'& b  j''( g((Fb0    ((p(h((0&*K#5322"&47;#!"&546;3533526/&+535#535#535##3#3#y    h @ 2  W      &W a!/=F;#!"&546;54&#";67764'&7&7647#532   @$ $!    O    )@ b8    l$ 8 $8  ;  n  N  *ub4#532;#!"&546;4&54&+";26=65 b   ` 7 p  p 7 Fb     7&  p  &7 3G`#5323#!"&546;7654/7654/&#"32032?454/0#"764/&#"327 b  s((AA5>>A((Fb0    $$==1g=$$ !'2"&4%&'264&"'677&'67'ΑΑ?P88P8 @m?@Α@8P88P?@m?"46#"&'46762654&'&5  QifgiQ :LllL: VggV b?LllL?b6/&=6&'.7 H }@ j P 4M Q%,%7#"'.?>3264&#"+"&=46632/546;2gXD 2@LllLI53  2Hcg$A  )'͒7 (ll23  2E3  h K32+"&=46;5#32+"&=46;#"&=46;2+35#"&=46;2#            `         @          !++"&5#+"&=#"&46;2 0     B^^B    p p^^ #Gk%2#!+"&=#"&=46;546;2%2++"&=!"&=463!546;272++"&=#"&=46;546;2    P P   P P    P   P        @                        %%2"&547'#"&46327&5462#"'6`(88P8f"(88("f8P88("ff8P88( @8P8@ (88P8@  @5#!"&5463!2"'64'73264&"&#"327264&`DD!!.!D!!D!.!!p`))!.!!)!.!)!!.!'/7?O"&4632762?2+"43&2"=&?6'&6/&6463264&#"264zzzV-)4M  0. U ; & (8  h4)-Vzzz4 <  +     &  8( %*"&462'7&''77'77'?6'7Αa?"'>KK>'#?&U%>>%U&NN'ΑΑ:T6**6T:B4" MM "4\88\ !-9EQ]iu>#"/&5057&0#"/&54+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2DD + W `` W +` ( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( ` ( ( ` ( ( ` ( ( ( (  ` ( ( XD11D E# <##< #E ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (  1;?#546;246;#+"&=>%+"&=#532%2#546353` @  `  `  `  `  ` p@00 w   ,,G)99)G,,  s 00 #+#54622+#5.=#"&=4637#5462@@0 I7@7I p@``    9Y cc Y9   `` @&2>JV2#!"&546;54632=#72=4+"3!2=4+"3'2=4+"3!2=4+"372=4#!"3( (! ( ( h 8 h  !       `     ` ( ( ,'& /&47>2"&4%'&"/&4762{" nn "W6%%6% " ?? "W%" dd "Q99%6%%6y" 66 "L/?O_o2#!"&546354&+";26=4&+";2654&+";26=4&+";2654&+";2654&#!"3!26P&&&&&&&&&&&`M&&&&{&&&&{ff#.4'&?66754621%#"&547>"&53z   %=8H ~  4&    p1    V:,C  2%!2#!"&=46;76;2!+"& ` x r       MS12"&4654/.#"&546326?654'.#"32>ΑΑm  "#'("$ 5>RQ? 8Α" 0 !+#R=>S:F2#".'#"&546326;2>54&#"3276#"&462654&#"jJL *,4Q9* -   jNLllL6-  =JgQ%$|d?T 91BV  y 2JVll (Α))  #?+'754"/&4?62763~~-8 8M )) Ms~~ 8-`8PM )) M+70#"&532762#"/&54>76XF:@@ j UP. @ '%?J8@XC D:a5  #8#4?JU%"&""&#"#"&"#546;5335335332!526226226323"&546523"&546523"&54652 '/''( '/' @@@@@@''/''/' '  r  r  @ P` @ %& %& %&%2#!"54;2%6!57>  ( 5 ZW U@ ( h hr!#%2/7+5463&'&676  =  Y@RA@R %"4./6%"4./694&++"&546;2+"&52+"&546;23265463!p 0  8P 0  P8  0 p! !  P8 0 8P  !( B0T%!!2#"&'&7#'.'&7#"&=46;2!2'#54&+"#";;26=326=4&  ! #FF  g   /t0  0 0  0  #! !"W   - ( (  ( (  B0C%!!2#"&'&7#'.'&7#"&=46;2!2'#54+"#"?6&  ! #FF  g   /y+  +DD  #! !"W   - < <DD;C%32#"'+"&'#"&=463267'&6?546;546;232%7625=,  X7 00 7X  ,> F * @ @ * v vK")  ;!!;  )"F # (  ( # X&&X26:V%#!"&=467'&6;&5&54767>?6327/77475#"'0326762676#% :@F  F@;  2*2J,42. =#--$><!  1"  "1  !x( (  GVl2'"&547'+#"&7>767&+"&546;23'#"&=46;276;2+6267#"&?&#"%6&#"&/7>4KL64K-  T E,6KH2  8  8EB P& -  R ( Q)!//0"1  22"+K46LK4;'B$ *6M63H (  &* 7 K/B/L"2Q R "0+#?%"&54672654&'56&"&462"&=46;2732#+"&5pAOԖOA3=zz=3M6%%6%  &   @ v .(88(. !!%6%%6 `` `   )%3"/3727#'&"'&"#&6?62762@m^9$!w1:$f!$&n''n&,H  %i(7 b V(i%(('' !)32++"=#"=4;5.5462264&" ?1$ $ ( $ $1?TxT/B//B3N 4 ( $ $ ( 4 N3KjKKjkO7**7O+6"&462%2+"&=!+"&546;235463B//B/.B       /B//BQB. 00 ` А '/##!"&?"&546;254&#!"3!26"264N4??4NO12N0  0 .!!.!`'92 29''99p  p 6!.!!.'7?G##!"&?"&546;254&+";26754&+";26"264$"264N4??4NO12N h  h  h  h ((((`'92 29''99p  p  p  p .(((( `!%!!535#7232+#!"&=463!5    ` @@ ` `!%!!535#7232+#!"&=463!5    p @@ ` `!%!!535#7232+#!"&=463#5     @@ ` `!%!!535#7232+#!"&=463#5     @@ ` `!!!535#7232+#!"&=463     @@ D%#&/&546.j81 5W wY  E#"32+72#".'#"&=4632=#"=4;54"&=4632>32T$ $T-.T$ $T-.0p ( p1((0p ( p1(,8G32+"=!+"=4;#"=4;2!54;2+;2=4+"54++;2 ( (  (  (  @ T H @ (  ( @ (  ( H 4 @+]7+"=4;5#"=4;2!54;2+32+"=732+"=!+"=4;53;26=4&+5354;2+@44 4444 @  h44444@44H  @ H4%"!"&5463!2+538    b     7b !2#!"&54633#!"&546;0/ `0 !/.1]%"&5054676762'3"&5054676762'3'2#!"&=46;&'#"&=46;6232+KjK  <  HKjK  <  ȐH ` & N &p!//!<4&(59 !//!<4&(59      ')     ))/2#2#!"&=463467.5"&=4634&"h  D55D   D55D  =V=  CkkC    CkkC  @;UU;)/52#2#!"&=463467.5"&=463."65#h  D55D   D55D   2<2   CkkC    CkkC  $,,$"")/2#!"&=463467.5"&=463!2265#hD55D   D55D  P V=CkkC    CkkC    U;;)2#!"&=463467.5"&=463!2hD55D   D55D  P CkkC    CkkC    =2+"&=4/&=4632546323546323546323460 p pt  d+B00/ 22+"/&>546323546323546323546} ! @q! ,ױW+4635#"&46;5#"&46;5'.>7>+"  в$  pP ""(E$%K @  @$54/&+"&=46;2?6&+"&=463!2 p  %| ! N =G %3 ! tH+"/&546324/&5463232545'&5463232?>32132?>32D 8%6'l  = * &38&"/#-%f  9)( } {-159%+"/&>46235462354623462#37#37#3  ! """"XX`! ,((a`````+$2+"/&6?'&>354623546234"  @ K%$E("Pp  $   `F2++"&=#"&=43+"/5#+"/#+"&76;236?6;2U6U t 6    2   6 A + + A `++ 6"UU6 ( 5  *%+5326"&462&'654+";26=3;26ۑΑ+&jG   ,8 'ΑΑO2Y  HS #'2+32#!"&=46;5#"&5463!P `      @ +G!"=46;54;2354;232!2#!"&544+54+"#";;2=325X 0 ( ( 0L H < ( < < ( <  $4 44 4$  < < ( < < +7!"=46;54;2354;232!2#!"&542=4+"3X 0 ( ( 0L <  $4 44 4$  ( ( +G!"=46;54;2354;232!2#!"&5476/&'&??6'X 0 ( ( 0L  0  00  00  00   $4 44 4$  0  00  00  00  +;!"=46;54;2354;232!2#!"&54'&'&?6X 0 ( ( 0L Y j.  R   $4 44 4$  ` j/ T 6#!"&546;276  0  p      XD  727"/2"&4724#"2546p xTTxT &6(!!TxTTx6& ($9#!"&=46;546;23253+"&2#!"/&?6;53 +      @     + + @k ,  P   9pp  P  , , @ 4?&576J8? 0@ 82+&=#"&5463&&} `&&&&^T& &'2"&454&+";26754&+";26ΑΑ 0 0 p 0 0 Αη    2"&454&+";26ΑΑX   Αη  !)3#!"&535462#354&"264&"264&"``/!!/`KjK&4& !//! 5KK5 &&@)5AM%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@   CkPPkC p     mm  p  p  p  p  p  p CG+32++"&?#+"&?#"&?6;7#"&?6;76;2376;2327# OK P (b )K OK P (b )Kc ( V RV R ( ( V RV R -6"&462&"2642"&4264&"32+"&76\BB\B\((\BB\B\((h  " pB\BB\^((B\BB\^(( 0   G"264$2"&462"&46"264>."'&67673>'.56VzzzΑΑpppR HLH 5       zzzΑYpppDM   /A.!!.A/ B#"/67'&/"&462&/&#".?5#"&=76;2|}~? $$$ofB 6 = ?Ú  X<$$'l  P  _O 4C7#76772+57#!"&5463!2'&+";2?3;2674&+";26  /`9 $9 4 5.99.5 1b_   V-34!3CS.676#"#'7232#"/&764'&?67/&764'&?6/&764'&?6a@-.? @   8 8  @   _--  %%  &  ;@@ ( Q ZZ Q ("V66 -t- 7#X# B '/7?GOW_6"&4622"&42"&42"&42"&42"&42"&42"&42"&42"&42"&42"&4%6%%6(6%%6%6%%6%6%%6%6%%6%s%6%%6s%6%%6s%6%%6S7?G\`7"&5462"&54&"&2#"&4632654>54&""&542"&42"&4%"&54=.'.>'7/B/1g?-  FdFSmQ@  Qf"P"  !//!  gI!2 -?%&2FF2  Im  Do V"P"1?q&2#2#'&/&?6766766&#"32763&%.6767&'&6767'.7>7"'&63"&7>376"#32654&# != +^C,:) F "(  -+ %  p:) F "(  -+  != +\C   3   !Y !JZ9   A4!JZ9    3   !G7CP7"&5462"&54&"&2#"&4632654>54&""&54%/&?6"/&?6/B/1g?-  FdF W W      !//!  gI!2 -?%&2FF2  I W W   2?k46;5#"&546;5#"&546;5#"&746;'.>+"&7'&6767054/&'&6767'&6767'&676'&>[ >~    }    | Pk I%   ={4 N^ _M g$    Z  .   #  0 ZC  cy  zb  &  @-B%&'#"/&'&767'&6?6632654&#"6"26591W+ )w }q<1W+ 5(*Y"P8*&$  T+: e :(fT+: H W'38P  $= (/7W2&/76'&"&'&4757633#"&5:64&"3#&"264///#576;? 7  P " b `@ )  `        5[7 TR; 7v I  ! Z@  ) @     &  R7 K<E#!"&547670>321&0#".1&'&2>767654'`)||)B#GG# $FF$ Z Z B3 32  2'/C#32+32+#!"&5463!232&"26454&+"'#";26  @ 4&&4&0'*'  @ ( @ ( 00 ( &4&&4"" @+7CO2#!"&5463"26454&+"'#";26754+";2=4+";2=4+";2 4&&4&0'*' ``&4&&4"" =HH2"&4$"26427.#""'&#"ΑΑH44H494 ( 4Α14H44HD!!#72#!"&5463";264&#"26454&+"'#";26P` ` 4&&4&0'*' `   &4&&4"" @ +7?Q2!5463!#!"&%;2=4+";2=4+";2=4+"&"264;26'.+"'#"0@ `4&&4&  "*"p0HH&4&&4 2B#0#"&54754622654.'54&"37"&5475462 K55J 8P8`!/(/ A%6%  `%05KL50$(88h/!       0P%%%  "B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%  0%05KL50$(88(       0/"B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%i  i0%05KL50$(88(       0/"B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%)  )0%05KL50$(88(       0/:6"&4627#0#"&54754624.'54&";26%6%%6E K55J 8P8(/ !/[6%%6%%05KL50$(88(       0/'/7?GOW_gow$2"&462"&4"&462"&462&2"&46"&462462"&2"&42"&462"&42"&42"&42"&42"&462"&47"/&4?&547'&#"#+"&5462632762)  )  7  )  7    @     i  )  7    7    I  &      Ie# .   i  7  )  7  )     @    )  7    7    I    . $ /4M$  I75!+"&=!+"&=&%2#!"&=46;5462662"/&47&7'&"         )9-#  i   @00+)  )   )  i  #,  +NV"'.542''&546'&'&7654&2&767>54&#"'.542"&4 Ju.W=9R0;)%5F8%,hHIg*$9E6%%6%)U,,U +>=UQ9A, ()95%+]BlN.IggH-NlB]%6%%62#!"&546354#!"` `T T`%2#!"&=463``  !)+54&+5463!2#!"&5463!24+"30/!  D !/0 0 4 /?O_o+"&546;2++53232++53232++53232++53232%3#"=#"=4;5473#"=#"=4;5473#"=#"=4;5473#"=#"=4;54`****************`N 0f 0f 0f 0 0 `0 `0 `0 %/&/"/+"&="/&4?5/.?/&?'.?>7'&/&6?'&?6'&6?65'&4?6546;2762?>76/76! ?5       6? !" F@@F "! ?6     6? ! " F@@F g   G$N5  ( (  6N$G    %%    G$N5  ( (  5N$G    %%  '"/&4?&67>(0$X% 3  $1*1$  3 %X$0);+"&?.5476227>56227562.>32+"&7%  @  %,,,y,"*9  8 _"&7  7&"_ G;#VLB& 0  $2#"'&?632676&+"&=466fg_G (0?FaeEB0*   $GΑ@ (*bEGc,*   $E !-E!#!"&26=4&"26=4&"26=4&"%2#!"&=46;76;2    `   `   @ ` x r P           9&#"+"&7>3276+"&73232676;2#"'&=46s1B:[ 9ZcH$   ׆ *1B:[ 9ZcH$ ;-G8 WsE$   y *-G8 WsE$  "0%"&54675#"=4;2+7654&+";2zzeK x 8,  "( ( VzzVMu " ( ( " $  3b 1%&=#"&=46;546+"&=46;2+";2     T(88(T T  T ` ` `  8((8 (   1!#"=4;26=4&+"=4;2'&=#"&=46;546T T  T T(88W    (   ( 8((8 ` ` ` $276+"&?&'&3276#"&46dG$   *0BEeaF?0( G_gE$   *,cGEb*( @Α08DL%#!"&5467&546;&546;2654'6323232$"2646&+"26&264&"#**#*&!/ (8&*<8<%O(**(#*&/!8(&*#[x `@!)4%#!"&546;3%#!"&5463!24&"2!5'&'&/!((D`X( !/PD((`0pX( !(/&?62'6&?6?6&5#75. o .(< o z \  $$ @2. o .<( o  z   h0@ $&?'762#r  99(c  r)(99 '762&76?'/&?6299(USQr  Qf  w !v(99(TSQ  rQf  v  732"/&6;4;2. VV . 8 f VV . M37/&4?6!2# VV . . VV . 8 M3%546&=!"=43: VV  . VV . 8  #"&?62++"5X. VV . 8  VV  ;%+"&?'+"&=467'&=46;27'&6;2/76 p $kk$ p  $kk$  p $kk$ p  $kk$ hp  $kk$  p $kk$ p  $kk$  p $kk$ )#!"&546;46232&"26454+";2P&4&PHP`&&4dM346&=#/&4?63z VV  VV  VV .. VV . 72"/&6;5#"&?62+ VV .. VV .F VV  VV "&462#"?6&+54+"ΑΓGssG @ 'ΑΑtsst "&462'#54&6=32=4gΑΑtsst 8ΑΓGssG @ 2"&43?6/&#"ΑΑtsst ΑΓGssG @ 6462"75326/&;;2ΑΓGssG @ YΑΑtsst 4%2#!"&546;2+!54632/"/&4?'&63  @ X  $$  `   p @  $$ ##!"&5463!2#"?6=4&`Xp  p`$  p +5463!546&=!"&2#!/&4?6 h PP     PP  0 PP 0  0 PP 00%#!"&54674546326326&+54&+"#"7,:K5Wh0    $%2 p+2#!"&5463"26454&+"'#";26P4&&4&0'*' `&4&&4"" 76&764.'/&4 4PL20#  2D1  P )B,,U +@* X '.546?62>7',FH$*M@'KclN[<C_GPF%lJ#2#!"&5463264&"74#!"3!2 H ` Y8 @ #+<FN2#!"'&54%"32?461.264&"6264&"%6.3654'73264&#"264&"' D '  C =# n L   .wNCCNwi 5  %@/!!$3#!"&=264ᕗ!2"'4&#!"3!265@ L  P  t(``(``8   $"&4622#!"&=46;27546;22676;23276.!!.!x  ff ' " ' P!.!!.          #+;2!65'546;23546;23546354&"2#!"&=463p @ @ 8 0 P 0 X    VJJV  00 00 @  @     /S2+"&=#"=4;54632++"&546;2'2+"&=#+"&546;235463h  0  @ 0  0   0  0  0  `  h0h 0h    h p      Q'&'&'&'>7'&'&'&??6/7?6/7?6/76/& 634 63ggf        45[45ooT        !+5?73+"+"=4&+"&%#.54622654''4''32674''326`   (   @5--5zzH@    7]]7Vzz/M<62"'67"&5ԖԖ77ԖP88P8((n(88(1%/6?6&67>32"&4'7>76W 65_<QC..C. ";V " m($*  pJ/B//Bp +  m7+ !!@  '%&'762&/"/&4?'.72"&40q"8??/ )$Y5g# >P88P8 /8??/$g5Y#Q"8P88P %-:7&'>7'&67&'&'667&'67#"'6#"16&5K$`D$>_GE#70Z0344LS)( F>!3vE[F; I\,-'!c=#.Gr 2Oc?Q&]2U( 1)+,GR;$/PE:BJRZbjr2+"/&>5462;2=462;2=462;2=4264&"6264&"264&"6264&"264&"264&"6264&"} !     I    I  )  )  P q! !      H  W    W  )  I  w   ` '/746;#"&52+!&"264"264&"264"264&``&@&&`Fn &&&&@@RnR0#532'#617>3!#!"&53c`!@)>%2+"&=46;75%"&=46;7532#2+"&=46;750  P  P P   P   ``@  ``  @   ``92#!"&546;546;2'3554+54+"#";;2=32`P 808808@ 00 088088 "&5462654'Ukkkj,T6``M:^vv^:5*8ii8*G%/%#"/&'"&=46326763254&"7'&#"+'$<"B\BB.-@ $<"(#RA  ']1 .BB..B>,!1pp-:] )-2#!"&546;462&"2646/&'&7PP&4&6a  j.  R `&& j/ T%-5AMY2#!"&546;462264&"6264&"6264&"6"26454+";2=4+";2=4+";2PP&4&h`&&RRhh3;CK[$"&462&"&462'&67676563267'&'#5&$"264&"264&"&4622#!"&=463  H44H4 7VJ7.'&6;2!676;23&'67+"'&'!+"&67#7!36!&'# B--B   8   *M1,"  *9    $  ./DIID/   (?9@ $Z8   hB2:%'&6?7'76&'.'&7#"&=46;276264&"&5>!=!= <D-+,\Y pd- (( cc 5) G,8,7#   $G((B7"&546;7532#2+"&547#"&547#"&5#"&=46;2 00   S((S 0 `   @     p   6#532;#!"&546;4+54+"#";;2=325y 7   @808808W     88088/8;#!"&=32?3264&+'&"'&+"=4;546;#532   F# 9Z F# 98 ș 8   Fr,  Fr( i @ )346;#"&5!%;;2=32=4+54+"#"%2+00@808808P0p@0@088088@%1=Ieq}2#!"&546;546;254+";2=4+";254+";2=4+";2754+54+"#";;2=3254+";2=4+";2      ( ( ( ( ( ( ( (  ( ( ( ( `  p @  @( ( ( ( t( ( ( ( ( ( ( ( #2"&454+"#54+";2=3;2ԖԖp0`00`0ԖXXXX@-72#!"&546;35"26426'.+"'#"3#546;2 F4&&4& "*"  @ ```&4&&4  `` 9E2#!"&546;462&"26454+54+"#";;2=32=4+";2PP&4&6H808808`&&0880888<@7"&=46;7532##32#!"&=46;5#"&=463!25#!5# p@@p 00  00 `    @     @     @@@@@D '2"&=454&"7.7>/&76B\BB\B(/vT"S #/B..BB..pp# Sv/7Tv/"!15!#!"&=32=4+532=4+532=4#72#!"&=463 @ xxxxx   @  @@@ 0  0 52#!"&=463!#!"&7;;2=32=4+54+"#"h   @ @808808 0  0  ` 088088#?G%2+"&=!+"&546;235463'"=4;276232+'"/"&462.B       2f z2L4&&4&B. 00 `  (c 7  ,c 7&4&&4IQY^%2+"&5#"&=32=4+"=4;2=4+"=4;2=4#!"=4;5463!232264&"264&"75'#p 08P88P88,d,((\((d,`   (88((88(00dlp(((( dp #37NZ%2+"=43+"=4&'&=4;22#!"&=4635#+"=4'&=4;22+"=43x0).0$0p `0$<0X0` W1&B%>>  @p@@B9!,*AB>,>7//&?'&??6/7?6'7//&?67'&?6@&@B C8 7-8  -I""9- AC B@&8 7.8  -J""8-  !+2#!"&562"&'463/&76.76dx[  / [x[ T #/F/vT #M::c:MM:kTv/#F# Tv/(#"&4?57?6/7?6/7?6/7>#dYY-2 2-2 2-2 3.M!RYYe.3 2.3 2.3 2./#"'&6?'&?67'" +/ "FO" $ R "EO';?"=4;2+"&=3352#!"&=463"=4;2+"&=335H/B/0@  X/B/0@00!//!``     00!//!`` #A%2#!"=432#!"=43%2#!"5743%+"=4&#!"+"547%62ppPP`00`0000   W q!22#!"&546;2654'"&462'"2654'76.&&&&qqd^^^" " &&&@&-3OqqO3-^^^: O 3}62"&4"&4622#!"&=4632#!"&=46;!'54+532=4+54+"#";#";#";#"26=3264&+532=4+532      `  0`hhhhhh@(@(@hh@         @     `    ((  "-%2?/.=32?7/76!6/.7  @@ \  \ ' 66 'kkp8   8"*2#"'#"&>7&54264&"264&"264&"Ԗj83AL9szz3 19JVv$747#"'#"&767&'&?6632@ E&(83AL, 9:  iI`j9 3 4+9    R5zVH:974&+463!2#"!%2+"&=!+"&=&546;2!5463& 8(@(8 && @ @ &  &(88(&@`&$y  y$& `` Eg$"&462'+"&;26=>54&/&546;2?6&'&'54&+"2#!"&=46;#"3!2=4+67Vzzz"? &    "> '     @  +? l @, zzz$!   $!    `  ` '' )1&'67673+#&'&6?&'&54762546264&" N5  ,pp ^BMA k.U}N/  ;1% E8K@B^8H$Qh=7 EX"#!"&=46;76;2+";2?62m= <m   7/ * N v] rH HrH  y ` &   JACl.'&67546;2'&+"+"&=&'&5474?6;254'#!"&=46;76;2+";2?62    $ 6    $   7/ *  N v] 0%  %    y ` &    JA 1$"&54762#!"&=46;76;2+";2?62HP8SS   7/ * N v] 7',pp,'  y ` &   J"E7+"'&/&=4622?6/&>$2+"&=4?>2?549  i Z & i  9& ZM"+p   l 3   p+"M  3 l %@2+++&/&6?54?26=%54&+"&=4?6;76   &g P PA*<*, P!"!gg  0 @ &< .0$'z**8% .!X~  < 3++"&=47'#"&7>7#6;5#462#327#4'     X?>t0pQ^Qp0t>?X    6TDlRnnRlDTdm"&462"&462#"/?#"#.?6?'#&/&/"#"&/&?676546;2?676.7((d((N ) C     +3 3+     C$    #) `((((p E.d L] \1G !! G1\ ]L P '" ` ` "' .E  @@HW%2++"&=#+"&=.5#"&7>32+";>;26;264&"'"4&54621&#0 1  @ @ "("!  + X:,  i  8P8    Q 00 QC&&  7I"L@  (88()?/.%'.4>?6762'67&"uO[D  E , "k ,"O4!Z!Xf  # I  I@&W;&.;C%2#!673264&+"&46;&5462#"3"2642.54264&"(88(  `(88(--8P80`  mxP80 5S8P8!8P8@ (88(P8(P &V(H2+"&="&5%3&'>@]   ]@tU+h`] ]@V =/4?#'2#!+"&5#"&=46;546;25!    0 0   @    p   0 0,<62"4&"276'."?62&276&"Α7 %(% &--  #nYΑΑ    o66  *!2"&42#!"&462&264&"4&&4& p]CP88P8&4&&4   ]^B@8P88P&.7'&6?7'76&!#"&'/&7%46264&"21M>M 2 LB.-Aw Z((H \] :~p.B?-l.^D @(()19?G%+"&547##"'#"&5463!232264&"264&"%3'&#264&"m /B//!((!/  &0\+V !//!!/ /!P  `0+&/'&?632576%5#!"&z %  N n" n    !  =K   %2+"546;5.?46;2(4@  @4u W77W u '&?6>323!"&=46z  M2232+"&'7;26=4&+"/?+54&+"#"&=46722"&4&2#54@ P`P P`P8(0(8H $$ $$3EP PE30p  W ` +55+ ` +55+X(88(Y$ $$ L3 @  @ 3L`   00+$"&4622#!"&=46;27%/&?676jKKjK&7OO7#L#T  Q  -i KjKKjkO7**7O R  -h +3$2"&454+54+";2'!"&=46;2732&"&462xTTxT & < (#O7#L# +jKKjKTxTTxB 6 L ,L*7O&HKjKKj;CKv%/'&=&''&'&?&7'&767667547676264&"&"&462#!"&=46;2732332?b !!  !! ((jKKjKI O7#L#     K    0((tKjKKj *7O  ' $/$"&4622!"&=46;277&7%'?62jKKjK&;)NO7#L#>G= *H%KjKKjk.M = *7OG *H&#76"&4622#!"&=46;27$"&4622+46=4'6;27\BB\B#0CC0 !F!P88P80.B(*B\BB\bC00C 8P88PXB.'9+9%#!"&=467&4?6"&547'+"&?&5475?6KK6_`KjKB * M6  6M_P..5KK55 > > ;4<D$"&462!"&=46;32730%2+"&=46;5462264&"754&"jKKjK O7#&&#   /B/]@KjKKj*7O  P!//!P}P  P+%2+"&=463"&4622#!"&=46;27p  jKKjK&7OO7#L#     0KjKKjkO7**7O#+%#!"&=467'47&52>32#"&'7"34&#E4GG4e++1>%5KK5,C g  L4**4Lf33(!'KjK5)` 6%'.54?6>7'&"&462#!"&=46;273230n++ 5Ps !;`jKKjK 7, O7#L#,M3"sN-N:&KjKKjsDm#*7O'&?6>32467!"&5z  I25K0&@/     r1DK5)B 1J !6%"/&=46;2264&"&"&462#!"&=46;2732w \  [OfjKKjK:O7#L#S  ] [O EJKjKKj(:*7O$"&462#!"&=4677'3jKKjK 5KK50 ` KjKKjlN5**5N88;CKb%/'&=&''&'&?&7'&767667547676264&"$"&462"&5462"'&#""#"&=46;3:630#327'#"&=46;2b !!  !! ((4&&4&.BA]B    hD/ !##   (B &@k    0((t&4&&4FB..BB. " 0C ' :# &*@CY\!2+"&5&'&/&6?&5463276%"&5054676762'3'1"&50546767623'    /!.v    KjK  <  ȐH KjK  632/+"&5'0546767621"&73'0546767621"&73'`    v.!/    `  <  KjK8H  <  KjK8H '!, '(/!+ 0  96(&4<!//1 95(&4<!//1;?%2#!"&=463264&"";#";#";!'#"&=463!3'#% %sHri gQQ F@%  %`@@@`@@!6#&5476'&'"&546 OM{O  ' l //  ' R $7Ieh"'&476;2#'+"'&476;2%+"&7>&'&6;22+"&764'&63&/#/.7&54623'  "  _  #  #  #   # y  "  R 11  &4&p`0 6 , 4]+ 9|9 9|9  )[6@ 6 , d  vv  :%%t)%/6?6&67>3%'7>76W 65_<Q ";V " m)$*  pJ +  m6+  !#463!2#2#!"&=463!53`@@P  x`     @@472+"&54632276&"&4622+&'3533!ᕗ/AA/(P88P8P L@!`B//B 8P88P&@@ 2.-6?%#54&"#54?5#"&=46;546;232+4?#"&5%+5`%6%`p0 0   0 0mp m p `%%` D3   0 0   3/ d  $,45 7"&5"&462267"&5%567$2"&4&'67==qqqqqhthqq?!4ppp 0n37++++&&@&4&&44&&)? +/B//B "%+2"&44635"264&"62"&4ΑΑX^BOqP88P8SΑgB^ qO`8P88PH(02/*+/#&54754632264&" (8`M=)  ,'&  ,ay t/!'J%PAep  xh  x= %!/ H;!2#!"&=4632#"'!'#"&4626?&5462?&54 ` (HH(H R(R H     @(( +  + (08@HP2+"&=7>'264&"'"/&4?62264&"264&"6264&"6264&"264&"P ((.1((rr'/72#!"&5463264&"6264&"264&"264&"6264&"%%%%3ss%%%@%ss'/2#!"&5463264&"6264&"264&"6264&"%%%%3%%%@%2#!"&5463264&"%%%%%%%@%'/7?2#!"&5463264&"6264&"6264&"264&"6264&"6264&"%%%%3%%%@%MMMM'2#!"&5463264&"264&"264&"%%%%3ss%%%@%ss2#!"&5463264&"264&"%%%%3%%%@%62"&46"&4622#!"&=4636%%6%[6%%6%   `%6%%6%6%%6U  !!2#!"&=46;463!2&264&"p  p m     s"*!2+#5326!"&=46;467264&"p `p P    @!   m 0P%2#!"&=463%2#!"&=463          "33&'"&476&&67>7>' !b'bGE:B  )!.,_Q'g9,'1B  5t*"-,!@5=32+'6.'&"?632#!"&5467>2264&":)b6  Zw F#  #& #O  &z,:,S_#"Vi  ~,  B0  %} %%C@D!2#!"&=463'.=4&+!46;23226=.='&4?625#P  /!%&&$4&      U +,p`&&4$  >& @CP]%+"&/#+"&=4?>/&6323632'&'&&/&6?67&#";26%5&#";26>C0%.B$B.%0C- C$ '));7J7;))' $C ##%$%6$%##%F/C=,'',=C/F&%        %&) %% )%&/&6?'.?>n   "   ff  &.?>&/&6?2#!"&=4637   .   p  T  xx  D 0  0 &+=%"/&6;235#"&=463!2+2#'3.#!"&=463!260 V  (+а  ] } D!# F  @ s@l :@     @] |/D     `#2#"'#"&4632627&#"!264&#"FccFQFFQFccFQFF////++L++///`^^OO^^OO@@&4&&4&@@@4<@%"#"/#"+"&=#"'+"&=.54>76;2264&"5@  J LL    ,4$0 TFCP .Ewh 1 ; 16 JY4)D& 0.=Kc %'%&=47%6m  3  Z  "   f&7&=47%6'2#!"&=4637.    D  p  x  DD  B 0  0 !E!5>4&'5463!25#35#35#5!#54&"#54&"#54&"#54&" @ `@@@`@     =cc#  ``    5U'&?65462#";#";#36=46;22+"&=46;5.=7z   8P8U UU UU),  L  8AW4 <)2    -(88(  0 0*&   " iD)(9'"#)17=#"'&#"#"'&5463232632267&.#6264&"575&'m +1>>?5 +1>>?#$"%B//B/`  >= >d= $8P88PT:1 #%#"'&#"#"'&5463232632264&"m +1>>?5 +1>>?B//B/ >= >8P88P %1=G1!#!"&%;26=4&+";2=4+"%3!2=4#!";2=4+"2!5463  ` ` pp00 @     Xh@ 00 IUam2#!"&5463>54&/&546;2?6'&'54+"+"'&;25754+";2754+";2=4#!"3!2`   -  -  ppPP            h3%#32+/&?#"&=46;7#"&=463!7632bK  S  37  K  R  4 ` j  C ` j  C %-56+".7>264&"6264&"6264&"264&"PU&P&(/hP) n/3=N&@";*P}CJmm-S"*2#!"&5463264&+";26=72+5(88(`   0  0`8P8  0@"&462"&467"/&4762%6%%6%%%6%%F     %%%6%%%6%%6%     $4%2+"&=4633#"'#"&=46;2%2+"&=463   @@$I`        @0p    %1=I6/"/"/&54676276254+";2=4+";2=4+";2f&6 66 6&&6 66 6 ------  -----hh !)-19=G73#"&=46%#!"&546;5462324&"2#37#364&"2#37+532  &&/!pp!/""@@`@@h""@@  0&&!/@  @/""X ""X 7&/&6??6/7?6/7?6/7?6/7?6/76|  P E< <87<<77< ;E   'ef/0ff/0ff' #G7&546;2#";#";#"32#!"'73;2=3;2=3;2= ` 88888x  @)@@)  @@@ ` 888888@@@72#!"&=46;;2=3;2=3;2=3;2=3;2=   0@@@@@  XXXXXXXXXX/73+"&546;2#";#";#";#"X  XXXXXXX @    @@@@ /7A546;#"&52+"=4;27#54&+"#4?62264&"%2+ @P h0 ` 3B//B/p  P  @@(@  u k/B//B  @ #.'7562"/&47@`>S S>+u  5 @S S>+>u 5  !3"&46;46;#"%2'&/52>76#"'.#57676%% % ,IfHM-4#-:+0MHfI80+:-#3 %6%6%2.&B   B&.2  '/72+54+"#54+"#"&?6'.54264&"264&"Ԗ2,  N@N  ,24&&4&4&&4&]4Z B 8888 B Z4]&4&&4&&4&&4 /G7546;#"&2"&427735654&#"32+'2+"'.#"&'46;2` `v 6ԖԖ=2$q| 3$qO=2| #,# $@ ` 7Ԗ$ 2=Oq o2=Oq$| @   t2#"'"'"'#"'.?63!22767#!"&=327!5Z&/,XX-/&A     @   I(Z!!!!!!Z(h  dd %%53#!"&53%#!"&?63!23+"&@@ @  U  %@   @  "" /"&=463!2#2#!"&=4632#!"&=463  @ ` ` ` @ @ @ P @ @ @ @  7'7'772"&464/76/&'7?6/76/&'&'76/&'&'76/&'&?'&?'&??6/7??6/7??6/76/&'77'7----------jԖԖ ."   "-  -"   !-  ."   "-  -"   !-------D------qԖԒ -"   !-  ."   "-  -"   !-  ."   "-3---+/M%#54&+"#54&+"#54?6;546;232'5#53#!"&=3;26=3;26     . 33  @      S  S . PP @@`  `  %/&#!"&=4&&/&6?267w9 9 9 9?L?` r  r `C:I"&462/&/&/&/&?.?67>327"&4?6((.   -   < " #8 ( ;  2 `(( E2 Y  J B"<      *"4 ," <  2 $2#!"&5463!2#!"3264&"s%%p  C@%@%  -D2"&42654':1276&/&>'&"7627>.3232654'ΑΑ P  b Fb P  ΑW      &&      @"2!2+"&=4&"+"&=46;!2#!"&=4630  8P8       (88(   `      !8@H%6?#&''#>#6&'37.'#!"&5463!2"2645!"3>- '' -V." '--'L   )77)FjKKjK 1) )**)11))** 4  7)@)7&KjKKj@(qy7327/"&?#'&/327>767'&"&'.'&'.'&764'&7>767>76276&264&"a4%4 .   4%4 J         7N77NU &p W&          P88P8-2#!"/&4?63'76/&'&??6@%% >>  >>  >>  >>  %%  >>  >>  >>  >>  %5K[2+"&=463#>7##"&46322+"&=4632#"&'##&'6=3>2+"&=463p  `  @62 9*P %% %  `  %% P*9 26U   `   `  ` 8H '?0O%6% `  ` %6%O0?' H `  ` 1;#"'&54675#"&=46;2+7'&?6/'!&/5#.&4,  ' 4 +%%`@!,34Y     ' 4 +.53,!''  #2!54635!+"&=#"&"264`  %@%6%@%  %@%%@%M4@HR\d2+++"&=#+"&="&=#"&=46;5462%;2=4+"264&"75#";26=4&+264&"        =p  p  ps@ P       P 0".."08] `  ` Y%#"##"'&'+"=#"'&767"#"'&4767.'4546320454>762>7632 (8 n /76.'&7264&"7'76.'&?>ΑΑc4&&4&Α>&4&&4=E%/67#"'&/7&'&6?67&5462'0"0"132676&"264767,R(J42G6G! D 8P8 4#03C#"9d h`:_~>H{:|"  v(88(Y$ Xt 7/  3J54&"54&"&'54&"&=4>3276322654&'#"/&54?&#"QH4<<4H0>R-97n  z.(v  IVzF9. f  wh  hw  f .-  G  % M /&5@ (32"&=46/627."75&"26>54&'8DF;<<"*"} @ &4&/:GD8K55KK55S, &&   &&m && , 33#"&476&67> -jQe:K>@9  2D[OV,}n5119  ."3W8.)T];#!"&546;;2=4+";2=4+""'.'&"+";26?212?62;264&##532   ȠPPPP +"       / I 8    HH )6  2     '0;#!"&546;6&+54&+"#"27#532   L A   A ` 8    P P`R G3#532&=#53546;#!"&546;;#" b `@@     Fb ` A@A |      373#"&=46%#532;#!"&=3?6/&#46;pp  7  ` ` Ƞ@       A ` ` A  *6BR%#5%#532;#!"&546;;2=4+";2=4+"54+";254&+";265  7   ȠPPPPPP   @@     HH ` &2l#532;#!"&546;;2=4+";2=4+">54&/&546;2?6'&'54+"+"'&;25y 7   ȠPPPP-  -  W     HX        ;CL;#!"&546;&'654&+";26=3??6/76/#5327#532   E !!%P  ;   00 ɀ b8     !&%  0;   7  bA6?DN73#!"&546;;&'.'&"+";26??62#5327#%'762     +"     b`DED(    /R )6  2  (bDD'0;#!"&546;26/&";;26=7#532   A `` A    8    ``P P &%"/&4?'&?67627'"/ Pu_V  VR  [1;;  ;Q  uP_V  VR 0;;  ;R @ "1%"&546?"/&4?'&?67627'"/@%6%  Pu_V  VR  [1;;  ;Q]#%%@  uP_V  VR 0;;  ;R  -A\k62#"&76'47'.76'4&'".76'&6&'.76'&767'.76'.'".676#"&54'&>'&'.'&#0#"&=&76 +>   " ;I   (Lm Q9    &]4X<9  GKl?q rn ik `<*MK  GH  ML  FI)< #.><  79?1:kJ 65 897O z,  '  Q  *1<9R  fHJ< @` 2#"&'&?'&6>264&"G0a@((@a0>p&X  W&p`)7337)<*B nn B*<'/$2"&4&2"&462"&4264&"24+"36264&"NΑΑP*<**<<**<*ΑΑ)<**<* h*<**<%2"&4264&"6'."7626264&"ΑΑ =<= 14)Α* "! 32+"546;5'&63!2!!88J0**0j2"&446;.'+";2;2/&+";232?676?6?6=4&+"/&6?63232?65ΑΑ Y;  Z  /       ΑG :R               _n2"&4654/&+.#"/&54?632;26/&54?6;2?6/&?6//2?676767654'ΑΑJ  C       G    _ Α         G&     /d /*8m2"&4762;2=4/&4?&#"32?6;26=4/&?63254/&=4+"+"/&+";237632;2?6ΑΑ 3Su>     '     Α_N  & uS-  f        !%)-15=DK2"&45#375#"6264&"5#75#5#75#5#75#6264&"5#326=4&+ΑΑ(   5000p000p000`(  Α( 8( ((8((8((8((8((8((h(% (%2"&4"264&"2642676&"'&ΑΑU`Y // Α6'  '#12"&4%2767&'&"2767&'&"2676&"'&ΑΑ8+`Y // Α!" !" !" !" 6'  ''52"&4$"?626'."?626'&2676&"'&ΑΑ[&#  &  &#  &  `Y // Α)))6'  ' -=K"&5476227"&4632&"?626'."?626'&2676&"'&(**0 ΑgJ>/L&#  &  &#  &  `Y // @77<03gΑ)!.)))6'  ''92"&4?6&'&'&2676&"'&%>'.'.7ΑΑZFi`Y // ΑF  6'  '  F!/2"&46/76&?64/&2676&"'&ΑΑP!!!!PPX`Y // Α-0((((006'  ' /<IY"&767622"&47667'676&&>'?6&/.?6&>'&26 * )!)yG!)yG Z  4] Z  4"k,<@PH)H) Gy) Gy) ([ 4   Z `"a$,k .G2"&4?6/76&/&"2676&"'&%6&/&"?6/ΑΑ_# F`Y // '# #Α ##   6'  '    ## 5EUc72"&476"'&'&61"&'067676&>2&'&&"?626'."?626'&2676&"'&f )S) Hr  ss   K&#  &  &#  &  `Y // H))G R9DD9R]]b)))6'  '%-D26=676&"'&.54264&"264&"#"&=6362?>ΑYH * // * HY&% gO~.$  $.~OgW@%'?   4AN%#"&=6362?>26=676&"'&.5464/&?'76&6%&% ΑYH * // * HYP!!!! PPI@%'?   jgO~.$  $.~OgA0((((00%5=T2"&4&26=676&"'&.546'."?62264&"#"&=6362?>NΑYH * // * HY%(% & 4&&4& &% gO~.$  $.~OgP   0&4&&4@%'?   -<62"4&"276'."?62&2676&"Α7%(% & Y`Y /YΑΑ   a '66'  `/?O_72+"&=46;2+"&=46;2+"&=463%2+"&=46;2+"&=46;2+"&=463`  @   @   @   @   @   @   @  @  @  @  @  @  @  @  @  @  @  @ @/?O_2+"&=4632+"&=4632+"&=4632+"&=4632+"&=4632+"&=463`  @  @  @  @  @    @  @  @  @  @   @  @  @  @  @  @ @ @  @  @  @  @  @ ;72+"&=46;2+"&=4632+"&=4&"+"&=6  %%%%  Ҕ  zz   &@&&@& ip pVzzVp piF7+"&=46;2#"&=46;22+"&46;23265454&"+"&=6 %%   %%Ҕ5% fzz  p %0% p %0%`i%5(VzzV i!77/'7'&54%'76DC#)#+3`3 + FC##* 3`3++ǩ';GS_ks&'&'&6;2+"'&'&'&6;2+"2#!"&=46;254+";2754+";2754+";2754+";2"&462+ + n+ +  %%%+o```6%%6%($> ($> ($> ($> @ %%% Spppppppp@%6%%6@-=M]ms#32+54&+"#"&=46;#"&=463!2;26=4&+";26=4&+"';26=4&+"26=4&+"334&"%54&+";26=4&+";260        &&&&&&3&38P8&&&&   P P        -&&e&&[&&&&(88e&&e&&6?K&=4;2+"=46#"'6+"=4&'&=4;22#"/2!2+"/<0(0$qYZ).0$0vYuV  v *AB>,9!,P8!W1&B%>>  p ,42"&4264&"4'654&'&7>264&"ΑΑ##)) ΑW     4D2"&465."?624'654&'&7>765."?62ΑΑ #&#  & h##))A #&#  & ΑK))     ))%-JZ%/&67676#"&462&#.&264&"4'654&'&7>?626'."S /4gΑ T##)) ' %(%.! S   TΑg.,%#        %2"&4"264&"2642676&#!"3ΑΑU87Q  Q7ΑH6 6H'52"&4?626'."?626'."6&#!";26ΑΑ  &  #&#  &  #&#  Q77QΑ6)))) 6HH!/2"&46/76&?64/&6&#!";26ΑΑP!!!!PP  Q77QΑ0((((00 6HH-2"&4?626'."&"2646&#!";26ΑΑ  & %(%Z  Q77QΑ5    6HH ALP7"&=46;%+5322+"&547#"&547#"&5#"&=46;2#46;25#  @ 0 S((S 0 ` ``0`      p    000@  )2"'&547&=42767'5%6hJrrw ,!!/J4>>40? (%@%( 8 @ (12"'&54264&"7&=42767'5%6hJrrm""w ,!!/J4>>4^""I0? (%@%( 8  ?&76'7'/&?6276^KKQr  5bW  i ! %KKQ  rs5KbW  h $ 4'&6;2%2&'7632"&46&/&"?6/?/o o U o/?E ʒggg 44&  //  = ++ sggg6 // %4  42"&4264&"264&"ΑΑΑW!32"&42654'"&54724+"362654'"&547ΑΑX&4&""4&""ΑG&&&   p&&  &*!2#!"&=463!6?654&+";26p  M M0FF     [; L L&& +#76322++"&767.5#"&=463d  C6  6C c$   76732#!"&5463264&+"36264&"7#&- '' -V. 'j  %%  ;jKKjK-'1) )**h**f)1 @ %%`   `KjKKj1)?'73264&"'766'OTc!] ];1#]$b!cT;] ]'T(b!7'73264&"'6%'762+  (] 99(5+! ](  J(99$67'&4?622?'762'&?%"/7?md Z  "> >,.q.(-qk  Z  d,> >d  Z "> >,.q.-(q k  Z e,> >.!2#!"&=4637&=46'46'%&'p   'f0 A db+ (&+     e  C   1 N 1!2#!"&=4637'&6?627'&6?63276+"p  AM(HhAc++.,     kS$4b!R21'$*2%//&?'#+"&546;276%3264&#-N  NN  N   (80$TN  `  `N  NN  NP  8($6TN  @+3D254&""'54&".546'."?62264&"76'."?62ΑA7  .d.  7A %(% &9((%(% & gBq!  !qBgG    &4&&4   #.2"&4"2642654'&"6264&">'&#"32ΑΑU(**3-F7Α776 !)-59%+"&5#"&5#"&5463!235#264&"75#264&"'3'#u  8P88P8  R``L((`((0PB o (88((88(  `((``((`:2##"'&7#"&?6&&/&?6>76327>o 4: C#+M b:  7:& *KJ 6 E=   "8= ' %#3hG6!'#32"&4?626'."6&"'&276'."?62ΑΑp  &  #&#  #n#  -3 #&#  & ΑF))  **  6))%)-159=!2+"&=46;53#!"&54>3!23'7#?#3'#73'3'#  077   j ` gFrj       B 1``pp``p``pA,2"'.543267>&'&'6768'SS''?D++D?'!FG"%;?QQ?;%$'88'$oo==o"%/&&?6/&6?6%">H6 F&3 &)'H!.L  C>"( 4949/!=  !)19AIQ#546;22"&42#!"&=463264&""&4622"&4&2"&462"&42"&4 @ (8 8(B//B/Mss`` m 8(  (8/B//B3s*5!2#!"&=46;26=4'&5463 @(8 @ 8(C  D-+ @@@8(  (8 (2,:+ *$ '#"/#"&?'&6?627// jj A ( ARr 3f&gDDg&Qg 6r#/;I2++"&=#+"&=#"&=46354+";2=4+";2'#546;2#5P     0`0   hPPPP2"&4264&"264&"6264&"ΑΑC4&&4&Α*&4&&4 %-1573622#!>?"&546;2264&"75#75# K   8P8 j8@@@  L   (88( [@@@@ hT\7&'76?6/&"'&+""2+"'"'"'+"&=46;276;2276;2276;23$"&462 D P(1d"dq 0  0 :&&t&&t&&: %JJ%1B//B/b 9 "& P      `/B//B4j%2+"'"'"'+"&=46;276;2276;2276;23%"'&'5462+"&=4&"35462+"&=4&"#5#p :&&t&&t&&: %JJ% 8P8   8P8          (88(   ``(88(    ` '&?66762%47#"&z   (-6,!2BIg    >@4_6I& (&-h!/2"&46/76&?64/&"7626'&ΑΑP!!!!PPRM )) Α-0((((00>-  -1"&/.""&/&'&'&7>76676/676% "" %2" #d   0)"2`>1(CS9"  "9SC(2="3 @# 3 1.7>>327/6'&2#!"&=46;7s-G'I!`+ .#:?f  I;&546232&264&"`I <8P8< ))$ (88( %!2+"546;5.?46;23'(4@  @4ru W77W uPP!5I]q2#!"&=463264&"#546;2"/&4?62'&4?62"'"/&4?62'"/&4?62(8 8(B//B/ @     @           8(  (8/B//BQ`` !            .    "5#"'&"#"'&'&767676676'#'&7676763_' $+A A+$ '*$$*?#/++G0:  :0G++/#  % $  %07>FNY62"&47'"''&7&766267&'&'767"&#">"6727&'6264&"6''6'&#"#77W$|$W77W$|$W% , 2 B//B/ % s5KK54 VV 45KK54 VV  # # %%K/B//B? # #   `M%#"&'4.#!"#"&=46764'.=46323!2>5>32W,'  ',,'  ', $,  ,$  $,  ,$)"&462'&'.=46%6&=476`8P88P> F|  <  |E DP88P8#  ")@%K2#"&'#"&547.547&5467&5463021>#"'#"&546320212&*&*(&"*&*&"&(&** (.( &( **x%& ()3BQ%+"&=!+"&=&=46?>;2%!'.+":>54&"!264&":    9""9 9  "N"  !06   60!2 && 222 !!#/K2#!"&546;546;23546;254+";2%54+54+"#";;2=32  @  ` ` pp((((@   0 00 0((((*fu7&?6/.?6/&6?>?6/.?'/&'&?&'&?676?676767676$&>767'&'&/&#"&> #  NA 2M  +=   %          {     { l)  .M  +=  NA 28+$/ 4 C 4. + ! 5 ` 6!+.O #+/3;2+"&5#"&5#"&=46?>;2264&"75#;'#264&" (8 08P88P80 0!m|((xM&MY((8(P (88((88( p"z((```((@Qh!2#!"&=46332'.=4&+!46;2327>=.=46;5462354626&+76&+";327P   2"'%%$4     : D ;     @  *x!..p`%%4$  v*  0 00 ` 3 kS'%"/&4?626/&#";2=37   {U p  `    N6 P@6'9AIQYa%2#"'##"&5475&546323632#0#23'"1"&463037#264&"64&"2$"264264&"264&"%%%%% %%%%%''&%%&  w     @  `%6% %%%% %6%A A @%6%@b        7AE%'&?67&?'&?6'2#!"&=46;;267!463!2!: : $$ U $$ : :  &&  =@; ; $$  $$ ; ; && pP0&4?62'%/&4?2?/&4?2?   ;  : :  ,jjjjjIIjjIIX%/.=32?654/32?&54767>3276=46;254632|N/<(V  V(] +>0%#!"&5467&546;&546;2654'6323232#**#*%!/ (8%*O(**(#*%/!8(%*##62"&4%+"&?622+"&=463KjKKjK  k * P   KjKKj%%  5%/+"&=&/&6?'.?>546;276   @      @   r 8O O8 NN 8O O8 N +9GUcq2#!"&546354&+"26=4&";2654&+"26=4&";2654&+"26=4&";2654&+"26=4&";26 (88(@(88(@ @ (( @ P !.!!.! P P !.!!.! P @ (( @ 8((88(@(8@ @@@ q8 8!!X!!X q8 8!!X!!X y@ @@@ +9GWes2#!"&=46354&";26754&";26754&";26754&";262#!"&=46354&+"26754&+"26754&+"26754&+"26 (8%%8(@( @ !.! P !.! P ( @ %8(@(8%` @ ( P !.! P !.! @ (8(@%%@(8   8!!8 8!!8    % (88( %P    !! !!   &2COWc7&6#"./&67632*#"&'&567%.?>766676.67&'7676.6  TF& #YJ gu$$ dY ,  SaAO6 ,  SF ." ,+ **2 # $D&' 91+  &)H! A`) ,'*(O )19A3"&'.535.535.53546;23264&"6264&"6264&"$@% F\F %@$@$@ @$((((((1 & 2 ,99, 2 & 1& 1  1 &((d((d((.2%2+."#."#"&=46;546;546;232%3'#2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"'2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"p CLCBCLC   qSJ 3Q0                ((                ((   """"   P ` h @`@                 P((4                 P((6:BJ%2+"&547#"&547#"&=46;546;546;232%3'264&"264&"p 2B\BDB\B2   qm0 M((<((   .BB. .BB.   @   @``(((( 0H?62"&472#!"&546326/&+";2?33754&+"&#"327;26` 66  F  **  55     $*<* @#.%2++"&=#"&=46;&5462&">54(  ` `  -%JlJ%E,    ;5AOOA5;"99:B%#!"&5463!2;;26=326=4&+54&+"#"5!"3   )77)F 0   0 0   0 Z 4  7)@)7v  p p   0 0 @/3B$2"&454+54+";2'"!546;546;232&'5#!"&=33xTTxT & < @7.uPP  TxTTxB 6 L P001` *&0 -9EQ]iu2#!"&546;546;23546;23546;254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2h   (  @  @  ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (   h P PP PH  ( ( l( ( l( ( ( ( l( ( l( ( T( ( l( ( l( ( ( ( l( ( S2#"'#"547>7&54>'./&54;2?6&'&'54&+"+"'&;265Ԗj83AL92   2   zz329JV%   %   BLd#"'#"54767&5462;2=>54&/&546;2?6'&'54+"+"'&#"'#"&'32654'zV<3+.&zf-  -  Z.+3<@hc9HB^)3B^         6,qO P23#2++"&=#"&=46;546;2`  ` @ `  ` @ @ @    @ `  ` W]ciou}%2#'"/+"&57&'"/&4?&'"&=46367'&4?6267'46;2762'7&'67#677&'7&'6264&"67'367'?&' $  /;  ;/  $ $  /;  ;/  $ +Y%+ l@ L1 C +2:%+ l@ @1  ;/  $ $  /;  ;/  $ $  /;@ 11 % L%+ @ 1w1 % H%+ -T7"&=46;2#546;2+"&2?#!"&=%5!'54767546;>3232     F4```NN   P  r՗ FF  , , !2#!"&546;54&+";26`@`   @ @  52#!"&546;54&+54&+"#";;26=326`@X @  @ @  @ @ @ @ @  @ @ V/&='&63!22"&4>54&/&546;2?6'&'54+"+"'&;25?R;#Py^^^-  -  gCQ9 < ''^^^        eoy%2+5#5#5#33#54&+"#53535####"&=46;546;546;54623546235462354623232'354&+"54&+" P P @ P P     @  @  @    0  8   `  ``P P``  p P p    p P p00 @ @1?G%"/&5476;5462;2=462;2=4623226?."62"&4 f88f @       @00 200 = n<7654'&547654'&54763231!QM(;/)V :)9+**  **%5):  V)/;`HXWE; )f<G+%7-D A!  ! !  !A5% 7%+G=f);%#!"&5463!2!"3!0#"/267#"'&54?<14'#"54?&''312545'764/7454#"#'4"'"#"32?.547&547#"/  )77)FC % =N= %       F 4  7)@)7  &11&  #  po ! A-;IW%&54?626"/.=54&?6754&?66=4/&'6=4/&* ,  PP``PP``l1PP1OmR 66 "-$ jrz/612#"&/"&5475#"&46307'/&'&6765'&?.5467'&?7>54'&54764'6'76/82 5 P/  ))  /P 8 /< &!M,;;,L"& U ~s?'$= *!      !* AE  (/(F6$ 33 55 33 $6F(/( t && "" &&'7#!"&=4?62335335332!546;2#!"&=463    @`@`@ @    d % % Z 00 `     @'9=L:767#!"&=72"#".'.'5463%2+5.+54635#%#5463!2#"*+ @ @ ,)" ),   $`  @` @ & 0  0 ! " ` ! @@`  `&  '2=HS^it2#546;2#546;2#546;2#54636"&546?"&546?"&546?"&546?"&546?"&546?"&546?546;2+32#!"&=46;5#"&=46;2;546;2326 @  @  @  @ } s s s s s s    8( ` (8      @       .   .   .   .   .   .   . Ӑ (8@     @8(    CP3+"&%!&5476?2+54&"#54&/#54&"#"&=463#5467 @ CXE++EX  @ @    @ C8+5 5+8C< @  @H$ &H@  @ @! 0 g'&4?6"2#".5'546326=4&"+#".5463264&+&/&6;264&#"/&47632?6#".'&66iR;;%'  #/  )K5*A$  !1 &&!   (8!1 / q1$) &'5;)d$4 &+ d !5K01&4& ( & . '$  $    $&#"'.'&'32#".'"'#"&463267&'#"'&.>6767&'#".'&#"&463232>7'.5462627&5462327>32#"#"'7>"264$"264g !   (  (   !      *#%6% : %6%#*         h  #8-%%-8#    !4"%%%%%%%%"4!  '    2"&44&'657677ΑΑWAY&s3&AWΑgCg g)rG"ir "? gC/)g,%+54?#"&5%#54&"#54?54?6m pmp `%6%`0 L L Qd L/  `%%` s K K s/?2#!"&546354&+";26754&+";26754&+";26p     `     `     `    @ @ /?%#!"&5463!2326=4&+"326=4&+"326=4&+"`    @ @ `p     `     `     ("&462'+"&46;'.?67676&6%%6%_#n\- 1&(': ! X !@%6%%6An1"#G!\!./ ! H (Q2#"&=4?54?03>26=4#"/.=46226=4/&67621/&Zu M  z&/  M u '? / `Q  M P ` / ?'  P M  Q1NV%#!"&5463!2"3237232/76&#/&"'"327654#0"#"&463:1324#&5!"3   )77)F  ;/DD/'88'u Z 4  7)@)7x CC`C8N8@![%"/&=#"&46232264&"7+"=&'&?6;2654/.546754;2'&+"d8HVzzz, xTTxT  -  d ,zzzVH8 TxTTxE       !-5%"/&=#"&46232264&"62"'&54264&"d8HVzzz, xTTxTq>+CC@d ,zzzVH8 TxTTx+$OO$5%47#"&'&6?535#546;272#546353#"&'&67( . W   3s - ^)!HA  @&W!HG;%//&?'&?67672+#"/#"&=46;2>3; ..  ..  ..  ..   b X,  Q :U ..  ..  ..  ..  0  0 jC 92#"&4632#0&#"3267#"/#"&?'&6?62T +.jj.,  W||W7 DD 7L" "  Ԗ || 6L$$L6  EE &),/25%+"/#"&?'&6;76232#'#3373'7#73'5 k8 * 8k 55 k8 * 8k B( 5p55p8.((.(Y$^^$YY$^^$!7XXX&8!!!&8! 'E762#547!#762'#54&#4?6'76&+'&"#";2?326F &r&  `-` H''''+  +f `'&]z f(((( EQTW]%'37'$2"&54737!;32?327654/7654&+'"#"$2"&54#''73@$Q((| < <  < < s(($,B!!B!!R @   ` 11 1 1 11 1 1 @   o888859=27+32++"&=!+"&=#"&=46;5#"&=3355#xH@ 0 0     0 0 @H`` ` @        @ ` `@@@@@@DH%+"&=#+"&=#+"&='&'&?5'&4?5'&6?%35!5!y7       7Y7 ww 7@/ 0 00 00 0 1@2@VV@2@@@@-6/#"&=46;//&?'&?676  Yf  fP-  ..  --  ..  y  Y `.  --  ..  --  %2"&4264&"&264&#"3"&462"&4ΑΑP88(PppP(8SΑm8P8pp8P@4DL";#";#";!!&'.7>/762#!"&=463264&"rip ' FF '  -- [% %@@@`@ MN  ? JJ p%  %`0LT\"&462#!"&5463!2";26=654??6/76/&'&5!"3"&462    )77)FB/ @ GGbbFFbb w  8   4  7)@)7&     ++**@8   #!2#!"&=46;'&?676%3p  5  ))  5t     JJ  88  J+5=E327+"&=32+"&54&"&4632>?"&=264&"264&"# F.    & (833@8P8@  Y  ,: `  & 8(V'`@(88(@P    7#546;2#54'#5##5#+"&=!+"&="&?63!2p0K5@5K0(000(N      j@5KK5.p pp p B<%+"&54674&5463263276&'654&#"&'&54632W*/!(8$8(, &5T%8( qO#)m_.!/8(1 (8&' A$(8 Pp F)F[CP%#!"&54674&54632632%&?'&4?'&676276&'&"74632.?$8((84%B."6&R L SS X))X  !\B1#) ; 'z 1(88(&6.B$ & X))X SS Y !B\.#1$D/  '09BHL7'"&?&=46&63''&4?6#76276/&62&=7#'3'klMArQ =m__}LP ujddd8.BY1b z bWBߜŰ #'&4?66&='46/&5   R ww e&] mt ]&  3;%+"&=#+"&=.54623%+'54632324&"2* @ @ $ & 5@ p  6 pp  1 p &$.     AG7&?>#"&?#!"&547>7.='&4?'&6;2+"/#77 u*x [ #H0  GUZ-3<<> K  @ u W+*)EB<#/@ _6m 2 c  % (&#"+"'&7'&4632?547623HV( #2"# (?23I X! ) #"1$ (VO?2 /?O_o7+"&767>%+"/&67622+"&=4632+"&=463/.7676"'&'&?6#''&'&?>2+"&=4632+"&=463'62+"5'67+"5+"5  a % * %@ ` ` `   S*   S *S  $ *I ` ` `  @    .+ h h  @ @ @ @   3$ 3+. 3  Z @ @ @ @   -Ohq;#!"&546;54+";2=4+"&=46;22654/&54;2=4+"+"374+"276=4+"&57#532   ` ,   `$$y 8        `  x7''7  BN^n#"546;2!5'&=;27;2732?>72=4+"&546;2'&+546;2"&=46;2#3"&=46;2#0   $%  ' # p&       @     X($@@%5N  (  ( %?p      &.6/&/&"/&&546264&"264&"Rt + )) + lqQ  0 .. 0  PvG'%/&?'/&='6276"&47%; Z  $1Z//-  14% Z   1-//-$ 1%4'/mx32#54#32#54;2#54;2#54#54;2!32#54!2+32#!"&=46;5#"&=46;2;546;2326=4636"&546?"&546?$"&546?"&546?"&546?"&546?"&546?"&546?"&546? 8  H ` H  8( ` (8           2 2  2 2  xxxxxxxxxxxx p(8@     @8(p p   p   '   '   ' @  '   '   '   '   '   ' #+!2#!"&=4637#76?#?/7?/   o$8V@@ @       @ &k @@    HP7#"'.7/.?>2+"&=#"/1"&='&54?>3235463&"&462Q#4   @:!  0 /W  /# \((5e  b" +   P/S  SV k/ @((<D2#+"&=#+"&="'+"&=4632546;2632>264&"E"   @ 3z3 @ pPI7  0   `*\     GG B^)1  ! P  AIQ&/0+"&='+"/&54?&5465+"&=4636;46;2264&"@!  @  B   4$+K5x G  sM  &f-! @i d D) 8 8$4!5K   G43+'7'#"&=265%/&/&7%62546;2  (hFN2+32+'32+";2+"&'&76=46;76;2"264267#7` 8(\7  PK@   p  l0(pP8 9  Mwf (82n  P   %*&.PpX   W;7 2"&=4$"6265427&"ړԖPp II 99:R>b;SS;b>/! ** !ZB"&462+"&46;%2+"/#"'.?'.?'&.6?6$((   M  C  6  >  U % (  '%,G*`(()N$ f W2 .W   (5 &2#"&=4&54'!2!!2#!265(P -P(8 P B.(8P @&'p8( .B8(#7?G/&/&6?'.?>76'.5462+"&76"264&"264     &TxT&  ~  ZZ EE ZZ E:"5KK5":   &?6S  M  =  9  Go'&54?>#/#+"&='"&547+"&=4?#/&?6;'&/&?637>23?632/&6?6#'&'   0/=  J7R7J  =/0  4 NE 5  2=$ $ $=2  5 EN s 6N H(  Ha N Iw (==(wI N aH  O P  L44L  P H N6 @!)19AI!#!"&7>=46264&"264&"264&"264&"62"&4264&"    8  I  I  I  P88P8Se>1  &   Pp        ppp%6%%6ksx$2"&4264&"2&#"#+"/+"&=&'"/&4?&'#"&=46;67'&4?6546;2354762264&"73'#H44H4Nh  3;$Q  ,   8f  oB//B/fn)kp4H44H< 3 3 0   ,  (.$ (/B//B``  (<#>32#7"&547367#'547"&%2+'72+654&+'327ZR@(\gB6jKbP0 *q7OP/!F*#L#D$,P2K5 5w0*=)D(`O7*!/`#+2+"&/&"+"&5463264&"264&"`    :    e6%%6%e6%%6% == @ %6%%6%%6%%6 ?Y72#"&'&6;2326'.+"&=4635"&=463!2676&#"+"&7>#2&'&6;23264&+&'%9:+#5     N   C)( :-06D /+H " t /$,A,"         '-(.G T7. +' (&'"/&4?>7&?67'  M5ZN#L  zZzw  L#NZ5M  ^zZz-W62"&4$2"&4'#"'"'#"'&7&47&66266+&'&#&""#"&5467&54632632:12((((G  2  $ 2 #8(+ < +(8%B. 5%!/(`(((( 2    2 #$P8  8(2 .B!/! B5BO\i%#!"&5467<146326326#"&"'.'&'>32#"'&?>#"'&?>#"'&?>#"'&?>^%/!!/%8(1,+E&+T: R$ % [$ % [$ % [$ % ,!//!,(8(%5/ +:P 55D@@@@@@@@+9G2#!"&5467&54632632:62"&546762"&546762"&546(88((8%B. 5%!/ "(" "(" "("@8P88(2 .B!/! 232323 )7Ec6#"'.?>#"'.?6&#"'.?6$#"'.?6&#"'.?672#!"&5467&54632632: @ @m @ @ @ @ @ @S @ @;(88((8%B. 5%!/Q p p p p p p p p p p8P88(2 .B!/! @DO\iv%#!"&5467<146326321&?'&4?'&6762760"1"&7&54632#"'&?>#"'&?>#"'&?>#"'&?>%/!!/$8(1,; GG K##K  % Ib&D$ % [$ % [$ % [$ % ,!//!,(8(%? K##K GG P & @@@@@@@@0Ib{%'.'!'+"/&?67&'.7676326&#/&""?65'76&#/&""?65'76&#/&""?65'5!+"&=#+"&}   6&   K  +*  Q&C      ` @ @   Nl# c # +**Q$    퐐 PP  1S[cks2+"&54327.5>7327&'.5>7&'327&'.5>676.264&"6264&"264&"6264&"   ,>&3=1S?AW3+O-%>&3=+O-%&.T,+O-. 5!6H+O-%&.T,:W52H/ &;3    I     0  $ E V>  = t!E    '  / 9 / %-7?"&4726767632676324&"2'"&462"&462  LB9r9D [a KjKKj5  a[ D9r9BL   jKKjK  I  @ 19NUb53+"&2+"/"&='0&5"&=46;2&"&462753"&5#"&'#"&?'46;#%2+"&5@    :)&-Y((  @`    0 Q= 8  8+e  `&-`((D `     0 L%2#"&?#"&?6;27+76'&+76&+"#"&5467&546;2654'632324X; D|+/! D0!/+ &!/ (8&p  ax Ao.!/"x/!.&/!8(&@<Y6+"&=4&'&+"&=466+"&=4&'&+"&=466+"&=4&"+"&=46 SS   oSf   lW   B19T   _N-F      +KQ V e tZ tV 3NM8 JrW :-    #9 ";T!546;26&/&"?6/76&/&"?6/76&/&"?6/2'.=#+"&=#+"&=!26=463 ^BB^       5#) ` `   @@B^^,    @#01 +p PP p @ /G%2#!"&=4632+"&=463!2#!"&=463'"&4632632632+"'p  @     P7>7627#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7622 +$)l+)l+#, !  X  Y  ! +$)l+)l+#, !  X  Y  ! +$)l+)l+#, !  X  Y  @                           %="&462#"/&4?7#"'.?'6#5&/.>2?6B//B/   0 .=u. 0   )) )'b') /B//B' ! @  9339  @ ! '       19A!46762+"&547"'"&5467&5!5463264&" 4&"2o0+ !h 0<"/B/!F!/B/"<&`6`" \   @K8+!//! !//!+8K@&B  em"&'62&.'632767632&7'&'&'&''&4767>.&76767&54762654'&6264&"  'V' %, 54 ,$k6 +`2+=66>+2`+ 6 ) FdF ) ((P  P/C**C/P = Xb   bX= ?13HH30@((3G7&=46;22654&'&=467+"&5.'.=46+"&5.'"&=46:D <)Ej 0 (0z   a Sv   S9 d=)< WD  2 z a   `vS :R    7!#!"&7;26=4&+"%2!546;546;23546;2@ ` ` P@0     ` ` 000 00 0 7!#!"&73!26=4&#!"%2!546;546;23546;2@    P@0     @ @ 000 00 0 ")-15;C#"/&67%>'&#"#"/&6?63267'7'?'?'77&'67')6  a     ! %,.O =<<Q - $=d9w!6  7 18>='''.  *'&&'&7276/>76/&67*."'f9 13  7SDX!"&#b.&29 1B 2 8 &"!XD )9IY]m}%#!"&=4?>;5#"&=463!2+32;26=4&+"";26=4&#'#";26=4&'35#26=4&+"3;26=4&+"54+";2754&+";26754&+";26 @  U`  `      0  (        0   E[  [ @ ` ` @   G   P     @  x  W  +@V72/"/&4?'&637"&=46762#/&=46;26+"&?'&4?62  c c!   c c! c c  p  p !c c p !c c @ p !c c c  c! p   p  c cB C#'32%#73#5"&?6;2++"&=!+"&='#"&=46;'!0ac  ~~  c        ` ` @         %?N^#53##7/32210'&/&"&?6;#+"&='#"&=46;'%"&54676>'&'&'32=d~! c  '  c51    %4^^D4( '?3&XH > `  ` K7H6    !`A]]A&m/$(?/S!('132+5##5##5##5##"&=46;546;546;232 P @ @ @ P 0 0  0    0 0 0 05<Ccmw7#"&546;'&?6'&6?67>763253#"&53#2#5+#546;&54632632#3&#"7654&#"36          )   ( 7!!7 (5  5# `   66   ``   ``  ,KK, 0  09=A%'&6?'#"&/#"'/&7>7.?>76767'7' ' (?  ?( ' '%W rr W%'_$p$_C h.'KK'.h C  fW( 00 (Wf  G'@..@'2#!"&'&63!!8$$89e@dt2"&44&#"#"#;2=732;2?6;2;2=4?6=46;2+";2;6$;2?6=4&">7#"/&+'&+";2ΑΑuS(    %       }5W  +  + ΑgSu            !  8- %   ` %2#!"&=463%2#!"&=463                +"&546;2+"&546;2`         0     +3.767>7676?6?62264&" /$L # #kS #&"7L /  ((  / L7"&" Sk## L%/ (("/&6?>'7'6$!!$"b&`0`"&a"v%i((i%#W@@h#?i"&4622462"&"&462&54'&6767>'&'&636762'&'.7676&'"'6'&5<546((@(((((@  72   94 27   49  ((((`((=3    :2    1:   +3   .6%+"/#"&'.+"&=4>?6264&". 3 ./   7") %B0 0 2 zt( @  &R Q?bU;K 6*8"'"/"/"'&63!2WB. ". ,$ W,l}@ '08!>32#47%#534'3+#."#553#"&62#54@'~J`Bp?B 2:F:2 P8~;EC=_=C@`  ##``8(``(%2#!"&=463$!'&>76p  e(H0@te  @ @ "5W:e@:'9A&'&'&6;2+"7&'&'&6;2+"2++"&=463264&+#  n#  .BB.8((8 p.#1 , #1 , B\B(88( (` "/%4'7>#"'.?2&"&462%"&5>76H&Q,6 Q7|7Q-(( 6,Q&, `8 D   (( 8` , %-5=%4'7>#27"'.7'"&7676"&462"264"&4628*4 $*"H"C 4*ΑΑlll#C*B 6 C  y B*C#Αllll )9U"&462"&462++"&=#"&?6727%2+"&5463++"&=#"&=46724&&4&Z4&&4&? 7 0 7 .8   |  P  8@&4&&4&&4&&4 h  h         ;?C%"//"&46327'&676327'&4?6;2762%7''a  P k l*0)& Q a  P0  / 0Q IEI2EIDa Q &)0*l k Q  a Q0 /  0P hIEJEIE1I.7>7&5462#"'%1+"&5.'.=463210+"&5.'"&=4632119bu C   a zZ   S9 Sv b9t + a   z :R   v 2#!"&575#35#35#@&&& 000&&&@`````` #*.546;#!"&575#354&+326=#35#;5'!5%35#"&&&@ @ @@ &&&@@ @@ @@ @`@@@ @(2O2"&42+"&46;264!6"/&627"&4?"&46;2"1"&='&6?|(() ` ` 'D  D =\  0  R=N((\    D  D \  1S=Y  SN8$C"&462#"'%.>7'&776'&76776/&//'((%x   .Kk(  1# >R04  : s/`((fEK5( #JF a  3   9 @.BN"&4622#!"&46;0&5&6?63232647'.?'&3737#"/d((*  +6 (%,G*, F U % '4> +!  = `(( *   (5 "Q2 .W  [)N$ L>%#!"&=463!2654/&?6%5"&46;2;26=32###5##5.e,    1T,T1&`  8(@@*6a&'    w4X4&@`(80004 E4Uw2#"'#"&>7&542654/&54;2=4+"+"3754&+"'&+";2=2?;232654/&54;2=4+"+"3Ԗj83AL9        0   zz3 19JV  h ## hD88D  EQ"&462'76#"'%&'&>&'&6?54?'&/&>#"'&7((TB4Z  !& J#*  ?o   <U`((?'f" !    5(:   4S --= QYaiq|+"'.547&507'.?>546;2167&5462704=46;276$264&"264&"6264&"6264&"7654&"6264&"! #%c !&,   8 8P8 8     )          ( 7 "-.Q C(?, 7   . !(88(" .  *    7  7  O  2  Z_k62"&462"&462"&462"&4"/&=##!"&5467546;546;2354?623'264&#!"3n^^^$ %)+ B..B# O@)% $@zD:H#% $*:.BB.!6[p 3:*$ % f S`@((2++"=#"=43%2#!"=43t 8 h  8 8 8 8 %19#+"&?.5475#"&=463!2;2=4+"264&"p /((/  ` 006tRRtR2TGGT2   /9A%"/.7'#'76'"'&7>76'&"&4?264&" 5  u k>`@k04 R*I%J DK   |5%u4  5 u0k@`>k 6R=+ KD J$J R {%5)-15="&462232#!"&=46;5"#"'&67%65#%35+3"&462-    ````c <\  S;  `````` "&54676>'&'&'32D4H_I9* $:\(!K8+0+__6D5: Y' Cu088EA(Q6'&67670767>767632%"#"/67>7>767 !5#$  $7E $C) %.&% 5  $7E %C( %.&%   !5#! !# J6&0  % %& J6'/  % &&!! !2:%#!"&5463!2;;2=32=4+54+"#"5!"3   )77)F808808 Z 4  7)@)7088088@@2##!"&5"&54##k>  > 5!#!"&5!%630 @ ,Y{  Z@,H3#!"&=26554+54+"#";;2=327#"/&"#"/&547%62  ` ;808808   M D088088 22#"1"'#"547>7&5454+54+"#";;2=32Ԗj73AL9`808808zz31:IVn088088%."/&4?627"/&4?6?7'76 7-nxf fn-7 D P  7-nf fxn-7{ D  P"*2:%/&&?6/&6?6264&"264&"6264&"%">H7 F&3 &)'H!.L )  C>") 4949/!= Ssm   2"&546b]2pp2u7PppP7 '/7?%2#!"&4632#!"&=4637"&7>2#&"264&"264"264` && ~~>      (( && 42BB24p  )     7%+"/&=4?2=46?62=463212=46B..!   ' $ S.B! J L    2 #%!5467546;272#!"&=463@B5) ` )5B   @@;aRp pRa     >JVr~$"&46220+"&50546322760!"&546;546;23254+";2=4+";27532=4+54+"#";;254+";2=4+";2P88P80.BB.**     ( ( ( ( 0P ( ( ( ( 8P88PXB..B *< p @  @ 4( ( ( ( ( ( ( (  7AK#"&547664&"2767>7>7>7>76'.?6&//"!/`(   ' '    ' ' | 3 3 /B/!"`w  ' '   ' '  3 3  2#!"&46;&5462'!"pTxTcc ( (( ;UU; %)A7"=4;54;232++"=%!463!2!2#!"&=46;;26780880 @ &&  =088088P` && #32#!"&54635#"3754&+326754&#!"3!26&&&&`P  PP   @ &&&&0   0 @  @ .%3#"&4632>77'#5'6326'&54?632Kk%KjL!!(?)!526YK$( '"G@)!.!&>@E&.D9N" + $7 !)1.'7>#"&5476264&"6264&"264&" 9/ rC{ ň 9 qi L{ 7!+"&7;;26=326/&"72#!"&=46;76;25E 9   9 Z ` x r Sp p^       7!#!"&7;;26=326/&"72#!"&=46;76;2 [ 9   9 Z ` x r Pp p^      :B%#!"&54676"&=4?62';;2=32=4+54+"#"26=?6K""K6_5jKU  U(/B/N6""6N_oK5n  n5]!//!-#"&5#+"&=46;546;23546;2+ܘ` p` p \      '/7?G"&462'"&='&54?63232+"2"&4264&"$2"&4264&"((4);*R p G5  @ 6jKKjKf4&&4&jKKjKf4&&4&`((!2   o6  `9 KjKKju&4&&4KjKKju&4&&42#!"&5463#3'#335#35#   `   @/?O_o/?O72+"&=46;2+"&=46;2+"&=463!2+"&=4632+"&=46;2+"&=46;2+"&=46372+"&=46372+"&=4632+"&=46372+"&=4632+"&=4632+"&=46;2+"&=46;2+"&=4632+"&=4632+"&=46372+"&=46372+"&=46372+"&=46;2+"&=463                                    @                                                               `                                          `         `         /?O_o72+"&=463#2+"&=46;2+"&=46372+"&=4632+"&=4632+"&=4632+"&=46372#!+"&5463   @                                           `     `          `     #+2/&?#"&'&6&546766264&"a=Z { Q<  #*=Z { Q<  #D@Q<  #*=Z { Q<  #*=Z { *2Hf7'&6767>"2+"&=46;76;2264&"%2"&?#"&?6;26"&46325"&46325467ua5 5a   0H[,,\ > L'&5%%p&5%% c> >c`  ,,V Sk 3`(0l(k %#"54?6327632h0 <8y1 Vhp 1y8< .2#!"&5463454/&#"&'7654/&#"#327P FK#& A x ` &#KF  x (4@PX_2+##546354+";254+";2=4+";2=4+";22#!"&5463"2645''`   H   `         M` @ @@` g    q  q  0   @`` @ ;?%2+"&=46;7#"'&54?6325463!2+"&=#'7#P   C 5s    v1C v     P4*Y, `  4`5OR72"/&6;46;27"&=4?#"&=46;232#+"/#+"&54?6;23' PP 0    =8  =8   G  ; * 4 ```0 Ѐ  F    F     e05OR"&?62++"&5"&=4?#"&=46;232#+"/#+"&54?6;23' PP 0    =8  =8   G  ; * 4  `` 0@  F    F     e0/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#!2"/&6;46;2 @ @       PP 0   `             @     ``0 /?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#%"&?62++"&5 @ @      ` PP 0   `             @     `` 05JR72"/&6;46;22+"&=46;5#"&54?6;26&/&767.7>264&" PP 0    `   0 6(>*,   $+ "  ```0 @     @  p} 1' 3>=&\  5JR++"&5#"&?622+"&=46;5#"&54?6;26&/&767.7>264&"kP 0   0 P) `   0 6(>*,   $+ "  ` 0`     @  p} 1' 3>=&\  A&@CX%"&=46;2#'3264&#3264&#'+"/#+"&54?6;23'"/&4?62762 K 2 2!3(  (8  D   X   D;.p- 7   *# +0`0 $$ E p -8 @#2#!"&4623&54264&"264&"xTT<7632GG';(;4BttB4  8?e56d?7  D5++5D    *%3!"'&7>32#"./&#"7>?632bB_HZ:5)=#84% b6@#U9/FV ,$  T+A) =!+"&#546;2#5^B@B^^B@B^`B^^ B^^B 2"&4264&"2"&4264&"V==V=^OΑΑjKKjK(=V==VCΑKjKKj"*:D$2"&42#!"&5#"&5463!2264&"754&+";2654&+"   8P8 &&`B^l((p   @   g   (88(&&^Bp((@  @ s  V6 H& ,v 3m 4 2Q   @ 2 Lb , X . &  ' 29 &  Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free SolidFont Awesome 5 Free SolidSolidSolidFont Awesome 5 Free Solid-5.15.4Font Awesome 5 Free Solid-5.15.4Font Awesome 5 Free SolidFont Awesome 5 Free Solid331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Free-SolidFontAwesome5Free-SolidThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeSolidSolidFont Awesome 5 Free SolidFont Awesome 5 Free SolidFont Awesome 5 FreeFont Awesome 5 FreeSolidSolid      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX#YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~faucettrailerbacteria bacterium box-tissuehand-holding-medical hand-sparkles hands-washhandshake-alt-slashhandshake-slashhead-side-coughhead-side-cough-slashhead-side-maskhead-side-virus house-user laptop-house lungs-virus people-arrows plane-slash pump-medical pump-soap shield-virussinksoap stopwatch-20store-alt-slash store-slashtoilet-paper-slash users-slashvirus virus-slashvirusesvest vest-patches glass-martinimusicsearchheartstaruserfilmth-largethth-listchecktimes search-plus search-minus power-offsignalcoghomeclockroaddownloadinboxredosynclist-altlockflag headphones volume-off volume-down volume-upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalic text-height text-width align-left align-center align-right align-justifylistoutdentindentvideoimage map-markeradjusttintedit step-backward fast-backwardbackwardplaypausestopforward fast-forward step-forwardeject chevron-left chevron-right plus-circle minus-circle times-circle check-circlequestion-circle info-circle crosshairsban arrow-left arrow-rightarrow-up arrow-downshareexpandcompressexclamation-circlegiftleaffireeye eye-slashexclamation-triangleplane calendar-altrandomcommentmagnet chevron-up chevron-downretweet shopping-cartfolder folder-open chart-bar camera-retrokeycogscomments star-half thumbtacktrophyuploadlemonphone phone-squareunlock credit-cardrsshddbullhorn certificatehand-point-righthand-point-left hand-point-uphand-point-downarrow-circle-leftarrow-circle-rightarrow-circle-uparrow-circle-downglobewrenchtasksfilter briefcase arrows-altuserslinkcloudflaskcutcopy paperclipsavesquarebarslist-ullist-ol strikethrough underlinetablemagictruck money-bill caret-downcaret-up caret-left caret-rightcolumnssort sort-downsort-upenvelopeundogavelboltsitemapumbrellapaste lightbulbuser-md stethoscopesuitcasebellcoffeehospital ambulancemedkit fighter-jetbeerh-square plus-squareangle-double-leftangle-double-rightangle-double-upangle-double-down angle-left angle-rightangle-up angle-downdesktoplaptoptabletmobile quote-left quote-rightspinnercirclesmilefrownmehgamepadkeyboardflag-checkeredterminalcode reply-alllocation-arrowcrop code-branchunlinkinfo exclamation superscript subscripteraser puzzle-piece microphonemicrophone-slashcalendarfire-extinguisherrocketchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-circle-downanchor unlock-altbullseye ellipsis-h ellipsis-v rss-square play-circle minus-square check-square pen-square share-squarecompasscaret-square-downcaret-square-upcaret-square-right euro-sign pound-sign dollar-sign rupee-signyen-sign ruble-signwon-signfilefile-altsort-alpha-down sort-alpha-upsort-amount-downsort-amount-upsort-numeric-downsort-numeric-up thumbs-up thumbs-downfemalemalesunmoonarchivebugcaret-square-left dot-circle wheelchair lira-sign space-shuttleenvelope-square universitygraduation-caplanguagefaxbuildingchildpawcubecubesrecyclecartaxitreedatabasefile-pdf file-word file-excelfile-powerpoint file-image file-archive file-audio file-video file-code life-ring circle-notch paper-planehistoryheading sliders-h share-altshare-alt-squarebombfutboltty binocularsplug newspaperwifi calculator bell-slashtrash eye-dropper paint-brush birthday-cake chart-area chart-pie chart-line toggle-off toggle-onbicyclebusclosed-captioning shekel-sign cart-pluscart-arrow-downship user-secret motorcycle street-view heartbeatvenusmarsmercury transgendertransgender-alt venus-double mars-double venus-mars mars-stroke mars-stroke-v mars-stroke-hneuter genderlessserver user-plus user-timesbedtrainsubway battery-fullbattery-three-quarters battery-halfbattery-quarter battery-empty mouse-pointeri-cursor object-groupobject-ungroup sticky-noteclone balance-scalehourglass-starthourglass-half hourglass-end hourglass hand-rock hand-paper hand-scissors hand-lizard hand-spock hand-pointer hand-peacetv calendar-pluscalendar-minuscalendar-timescalendar-checkindustrymap-pin map-signsmap comment-alt pause-circle stop-circle shopping-bagshopping-baskethashtaguniversal-accessblindaudio-description phone-volumebrailleassistive-listening-systems#american-sign-language-interpretingdeaf sign-language low-vision handshake envelope-open address-book address-card user-circleid-badgeid-cardthermometer-fullthermometer-three-quartersthermometer-halfthermometer-quarterthermometer-emptyshowerbathpodcastwindow-maximizewindow-minimizewindow-restore microchip snowflake utensil-spoonutensilsundo-alt trash-altsync-alt stopwatch sign-out-alt sign-in-altredo-altpooimages pencil-altpenpen-altlong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-upexpand-arrows-alt clipboard arrows-alt-h arrows-alt-varrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upexternal-link-altexternal-link-square-alt exchange-altcloud-download-altcloud-upload-altgemlevel-down-alt level-up-alt lock-openmap-marker-altmicrophone-alt mobile-altmoney-bill-alt phone-slashportraitreply shield-alt tablet-alttachometer-alt ticket-altuser-alt window-close compress-alt expand-alt baseball-ballbasketball-ball bowling-ballchess chess-bishop chess-board chess-king chess-knight chess-pawn chess-queen chess-rookdumbbell football-ball golf-ball hockey-puck quidditch square-full table-tennisvolleyball-ball allergiesband-aidboxboxesbriefcase-medicalburncapsulesclipboard-checkclipboard-list diagnosesdnadolly dolly-flatbed file-medicalfile-medical-alt first-aid hospital-althospital-symbol id-card-alt notes-medicalpalletpillsprescription-bottleprescription-bottle-alt procedures shipping-fastsmokingsyringetablets thermometervialvials warehouseweightx-raybox-open comment-dots comment-slashcouchdonatedove hand-holdinghand-holding-hearthand-holding-usdhand-holding-waterhands hands-helping parachute-box people-carry piggy-bankribbonrouteseedlingsign smile-winktape truck-loading truck-moving video-slash wine-glassuser-alt-slashuser-astronaut user-check user-clockuser-cog user-edit user-friends user-graduate user-lock user-minus user-ninja user-shield user-slashuser-taguser-tie users-cogbalance-scale-leftbalance-scale-rightblender book-openbroadcast-towerbroom chalkboardchalkboard-teacherchurchcoins compact-disccrowcrowndice dice-five dice-fourdice-onedice-six dice-threedice-two door-closed door-openequalsfeatherfroggas-pumpglasses greater-thangreater-than-equal helicopter kiwi-bird less-thanless-than-equalmemorymicrophone-alt-slashmoney-bill-wavemoney-bill-wave-alt money-checkmoney-check-alt not-equalpaletteparking percentageproject-diagramreceiptrobotrulerruler-combinedruler-horizontalruler-verticalschool screwdriver shoe-printsskull smoking-banstore store-altstream stroopwafeltoolboxtshirtwalkingwalletangryarchwayatlasaward backspace bezier-curvebongbrushbus-altcannabis check-doublecocktailconcierge-bellcookie cookie-bitecrop-altdigital-tachographdizzydrafting-compassdrum drum-steelpan feather-alt file-contract file-download file-export file-import file-invoicefile-invoice-dollarfile-prescriptionfile-signature file-uploadfill fill-drip fingerprintfishflushed frown-openglass-martini-alt globe-africaglobe-americas globe-asiagrimacegringrin-alt grin-beamgrin-beam-sweat grin-hearts grin-squintgrin-squint-tears grin-stars grin-tears grin-tonguegrin-tongue-squintgrin-tongue-wink grin-winkgrip-horizontal grip-verticalheadphones-altheadset highlighterhot-tubhoteljointkiss kiss-beamkiss-wink-heartlaugh laugh-beam laugh-squint laugh-wink luggage-cart map-markedmap-marked-altmarkermedal meh-blankmeh-rolling-eyesmonument mortar-pestle paint-rollerpassport pen-fancypen-nib pencil-ruler plane-arrivalplane-departure prescriptionsad-crysad-tear shuttle-van signature smile-beam solar-panelspasplotch spray-canstamp star-half-altsuitcase-rollingsurprise swatchbookswimmer swimming-pool tint-slashtiredtoothumbrella-beach vector-squareweight-hangingwine-glass-alt air-freshener apple-altatombone book-readerbraincar-alt car-battery car-crashcar-sidecharging-station directions draw-polygon laptop-code layer-grouplungs microscopeoil-canpoopshapes star-of-lifeteeth teeth-open theater-masks traffic-light truck-monster truck-pickupadankhbible business-timecitycomment-dollarcomments-dollarcross dharmachakraenvelope-open-text folder-minus folder-plus funnel-dollargopuramhamsabahaijedijournal-whillskaabakhandalandmark mail-bulkmenorahmosqueompastafarianismpeaceplace-of-worshippollpoll-hpray praying-handsquran search-dollarsearch-locationsockssquare-root-altstar-and-crescent star-of-david synagoguetorah torii-gatevihara volume-muteyin-yang blender-phone book-dead campgroundcatchair cloud-moon cloud-sundice-d20dice-d6dogdragondrumstick-bitedungeonfile-csv fist-raisedghosthammerhanukiah hat-wizardhikinghippohorse house-damagehryvniamaskmountain network-wiredotterrunningscrollskull-crossbonesspider toilet-papertractor user-injured vr-cardboardwind wine-bottlecloud-meatballcloud-moon-rain cloud-raincloud-showers-heavycloud-sun-raindemocratflag-usameteor person-booth poo-stormrainbow republicansmogtemperature-hightemperature-lowvote-yeawaterbaby baby-carriage biohazardblog calendar-day calendar-week candy-canecarrot cash-registercompress-arrows-altdumpster dumpster-fireethernetgifts glass-cheers glass-whiskey globe-europe grip-linesgrip-lines-verticalguitar heart-broken holly-berry horse-headiciclesigloomittenmug-hot radiation radiation-altrestroom satellitesatellite-dishsd-cardsim-cardskatingskiing skiing-nordicsleighsms snowboardingsnowmansnowplowtengetoilettoolstramfire-altbacon book-medical bread-slicecheeseclinic-medicalcomment-medicalcrutchdiseaseegg hamburgerhand-middle-fingerhard-hat hospital-userhotdog ice-creamlaptop-medicalpager pepper-hot pizza-slice trash-restoretrash-restore-alt user-nurse wave-squarebiking border-all border-none border-stylefanicons phone-altphone-square-alt photo-video remove-formatsort-alpha-down-altsort-alpha-up-altsort-amount-down-altsort-amount-up-altsort-numeric-down-altsort-numeric-up-alt spell-check voicemail hat-cowboyhat-cowboy-sidemouse record-vinylcaravan f0~0~ PKZBJK(plugins/pagelayer/fonts/fa-solid-900.ttfnu[ PFFTM9bGDEF*OS/23V`X`cmapj4h gaspglyfTɔ-lheadK¬6hheaC-$hmtx locajD8maxpN]8 name'3X+postFa1.K$[_< 0~0~ Z @LfGLfPfEd.T: @@ @@ @`@@@@@@@`@@@@@@@@@@@@@@@@@@@@ @ @ @@`@@@@@@@@@`@@@@ @@ @ @@@@  @   @@@ @@@@@@   @@@@`@@@@@@@@@@@@@@@@@ @@@@@h@@@@@@@@@ @@@@ @@@@@@@@@@@ @@@@@@@@@@@@ @ @@@@  @  Av>DN[^n| ".15:>DFKNY^e -69IN]lwz (8[]`b"$46:JLPScmy}AY!AHP^`p  $037=@FJMP[` !38@MQlqy (7X]`b"$369JLPScmy{%$#"!   vutspgfecaVUSNMGDB40/jH0/,)&#  ~ } u q o m k U J I H G E D C B A @ ? > : 8 7 6 5 3 1 . ,       } { t s q g f a ` Z W R N C A ? < 7 2 0 - + " !        v m b a ^ ] T O '    0d p |thTDX(pt !#$`%%&,&&'8'()*+,H,-`-./X0,01D12334p5<56 667@8089|9:T:;;<<<=D=>t?8?@AHABCDDEdEEFHFG8GGHH|HIIhIJ JXJKKDKLLMMNPNOOxOP@PQQR(RS4STdTUPVVWXXYYYZ@[[[\(]]^P`aPabbcxd dxeepefxgghXi ijtk(klllmnDo`oppqrxrs8st`uu|uv<wxyXzzh{{|8|l||}}X}}~ ~,,h$( PxL(`D(((8|HDlD`8@`h\ d(\tlP8 |LLxp\4$D¬```0Ƹ Ʉ(ʴˀT΄HШ҄ ԠP|Xڴ ۴|tX޴,(lt8<<p <Xd\L,L@DppTx<,tDDH X     X 4 lTX`$ <L !""##$&''(@))*8*+D+,-,-..x../</0,011X122X23D34<45T566l67888t9D9:T:;;\>?p@@ABxCDE0EFG0HIIJ JJKPLMHMNLNOOP`PQRSTUDUVpVX(XY,YZ[ [\ \]^_``aab\bd(deDef\gthhi,jPjkldln<o$optpq8qr0rsttttuvpwx\xyz<z{t{|} }~ xP\0PxXDX(DLp0d8484<xH\X<|T 4hl< |pplP`ØĔhƌL˜̄D l`\״Pۘ<(ޠL|TxxP| @ D`dPPp0@d8|(HlLx|8 x    TLP8@4 t!#l$t%&p'D))+P-<-.,./00123x445x6(6889::;l<|<=>H>?@AXBBCTE<FXG|HHJK<L$LMNTOHOP(QQR<S STdTVVX<XYxZtZ[]]_`b<cdPeXf,ghiLjjkllmnhopqqrs,tuvwx4y|zTz|$||}}$,@`P @4``T|p< d00lLp`\xttDl#>%2+"&4&+"&'#"&=46;6757'&=46546;276/`B^ @  =L=] w" ! n   n ^B ## ` 00`       #-6>FNV%2#!."#"&5463!2%54+"6754+"6254+"54+"354+" 2"&4264&"p >T>2  @q loB//B/C   )77)   Ll YY(lD/B//BAQY%#1"/1#"/"/#0"##"&54?&'"#"&54?454767'&5463267'&54763267'&54763267'&5463267632376327232#"/264&"6264&"#"/#"/#"/#"/#"##"&54?&'#"&54?&547'&546326767'&547632467676767461'&546326767'&46263023763272312264&"                     i                                                   "M  6                         "/#"/"#"/"/#*##"'&54?&'#"&54?454767'&5463267'&5463267'&54763267'&5463267632376327632264&"6264&"        !              ((vY                        ((l -%!32;5!#!"&2!546;#"3!264&+7@%%n@ @   1 `  *@@   @ @@#K"&=46;546;232++"&=#!"&=46;76;2+";7632 @ @ @ @ @ X" 7/ *  N xx  @ @ @ @ @ @  d ` &   X_s"/&54?62+"/&546325462;2=462;2=462;2=462#'64/&"2?11"/&54?62k111;& }  &x    @11111111       H   & 0    P1111 !R$"&462'7>&#".=4627>32?>32?>0"%2+";2+";2+"'654&'546?63232+"3"&4622"&4((  "< '/ ," "J/<    _  !$0%l /  E((((B  08!q  2  z  k  lQ32      ,)@ !   ((7L%7654&#"#"'&54?63276;76;232+&'%3#"/#"/#"&=46g !Ku TLX V 7p b~  [  [ EQ 7   R  $,[3+6"2645#"/#"/%3#"&5:64&"%#"'&54?63276;76;2&/7654&#"H @7  @  [`@ )  Ku TLX V 7 @8 @   R  [ EQ 7v '/PX$"&4622"&4&2"&42"&462"&4&2"&4'+#";+#5&546;2&264&"rb223 `  `&@@pP*4Y5~FZv6;  & :UPp/)% (08KS%#"'&54?6326;2'654&#""&462"&462;+#5&547#"2"&4ƴ'1;*4Y5  jN `&@@? +!/)j  N& :U.(667#5&1!'>;2&264&"";#";+5!ܠCg>B4Y50   !ñ=7E/)%   0)y$2"&4&2"&4++!5&546;2'264&+"&?64&"&=4&"/&"+";22?626=46264/&63   7  = &@@pPJ4Y5    (  (       (  (    I  Z @&@9VPp/)  (       (  (       (@+3A%&/#!"&=&/&547%62546;2&"2642654&+"3;   e @ 4&&4&0 8(@(8    Z4 &4&&4 (88( 3MQ%#"&=#"/&54?62546;2#"54&+"32#!"&=46;546;2#5#   X   ; @ % 0  N' `4% @      9&"546;2327&54767>32&#"#";6"/&"&=4&"&4?6&+"&46;26/&4626=462?62;2+"&264&"264&"/&'32654/3264&+764&#"54632X    3"&=#"/&4?6235462z4&&4&@2 @  &@ H4&&4& &  @ 2H H  HH  @&4&&4& 0`   `&D&4&&4F&`   `0 & D D$$D D$$@4547+"&54?#+"&5457#"'&54?632'&546;232+ EB B 1g+( :% B irBB9,u : l '2'7N2+"&5457>354&+54&+"#";;26=3267"/##546;232%&%$(((( +C @ C !&&!(((( + `  62+"&5457>32654'&""/##546;232$&&$32#4 4 +C @ C "&%""EF  + `  ow2"&4%"'.546?632264&+"&?64&"&=4&"/&"+";22?626=46264/&63"2"&4  ,FH$*M@' n    (  (       (  (  [    u N[<C_GP  (       (  (       (   P75!#!"&%2#!"&=46;5#"&=46;235467632+"&=4&"3546;2+ 8((8   `@ P @+" (8   @ P @ (88       0$88(   0    (08D2#!"&=46;#";2654&'6"&462&"&4626"&46232+"&46(88((88(Y(88((8#F4&&4&((&&&&8((88((8%8P88(2 &4&&4z((&4&&4& )S^g'.7>75#"&=46;2+762#67>54#";27543230;2=4754&#"32&2#"="|WVyeI    8, 1 88   R 879E 3>WzULp "     " $  =< ' k ?j?tt,:#"&7#"'&54?632763!2#!3535#!"&53XJ ::#  V )5@@ @DD"-" )c2I  ` F73!"&=327'#"'.7#"'&54?632763!2#"'#"'532767za  +$"  =$-**  @ Y(mh(Z!!pP;C47#!"&547>5#"'&54?63263!&5462&264&"@<  :6# 28P8+!!6  &   ^*-e>I'3=PppPEh{%6%%6?JX7#"&547#"&=46;2$"&462#"'&54?632>32467#!"&5%2+.'63%(B &@4&&4&k>+.B' 7-<,& B( % :# & &4&&4g*8B.#8 +#I,B& #:W_g%2+"#"/&"&=4&#"&54?6&+"&46;26/&546326=462?6323264&"264&"  & GG &  & GG &((vG &  & GG &  & G,((T$Xa767"&=4&00.6?6&+"&463'&?6626=462?62;2+"%4654&#"r G  &      ]GG &     &G  I &  &G~ OW%2+""/&"&=4&"&4?6&+"&46;26/&4626=462?623264&"'""/&"&=4&"&4?6&+"&46;26/&4626=462?62;2#&264&"264&"p    (  (       (  (  e   5  5       5  5    i  `  (       (  (       ( 5       5  5       5  3  .:F%+57#"'#"&=4?546;232?6;264&"2764/&"  J#''#9   5    0 , 0 0 ) P   0  0 0.JRh%+57#"'#"&=4?546;232?6;22?264/764&"'&"264&"%26545.+56&'"#"3  J#''#9   5       ""/     ) P  p    ""a    032+"546;5'&63!288**632"&46325"&463247 8P88(8P88( %%6%K%%6%!%"/&=#"&46232&264&"d8HVzzz, jKKjKd ,zzzVH8KjKKj"/&6767>/+  +/)k&&k(|+ +|(# '' 162/&?'&6? ( A j  j &g DD g&$"&4622#!"&=46;27jKKjK&7OO7#L#KjKKjkO7**7O /;GS_kw2+54+"!54+"#"&546;;2=!;2=54+";2=4+";2=4+";254+";2=4+";254+";2=4+";2=4+";2   ( (    ( @ ( ( ( ( ( ( (  p ( ( ( ( ( (     P   ( ( l( ( l( ( ` ` ` ` ( ( l( ( l( ( /?32+"&=46#2+"&=46346;2+"&5"&=46;2#(  F     (             /?O_o+"&=46;2+"&=46;2746;2+"&5#+"&=46;22+"&=46346;2+"&5%"&=46;2#"&=46;2#%46;2+"&5 e  e  f  f   e  e   f  f   e   e  e   e  e  e   f  f P  P   P   P   P   P  P   P   P  P  P  P h  P  /?O_7+"&=46;246;2+"&52+"&=463"&=463!2#463!2#!"&5"&=463!2# e  e  e  e }  e            P  P   P   P  P @ P  P   P   P  P 7'&4?62762"%p% $p$aq#7"/"/&4?'&4?62762d   dd   dd   dd   d   dd   dd   dd   5=++"=#"=4;54;232"/&=#"&46232&4&"20 8 8 8 8 d8HVzzz, dPpPPp 8 8 8 8d ,zzzVH8dpPPpP %-+"=4;2"/&=#"&46232&4&"20 d8HVzzz, dPpPPp d ,zzzVH8dpPPpP$4"&5467632654&'.?>+"&=46;208͒80  $bFEc$ _  "k=gg=j# F)EcbG'G    h/?O72+"&=4632+"&=463%2+"&546372+"&546372+"&5463 0 P 0 0 0  0  0    ` ` `    `   `    <D%/'&=&''&'&?&47'&767667547676264&" &+" 76 "* & ** & *" 77 "* & *B//B/ 5) 1   1 )5 $ 5) 1   1 )5 ##-/B//BAC62+"&=4&+"+"&=%#"/&"#"/&54?62546;2 p @ p " Z8, ` ` 1 JI2"&4654/54&+"327ΑΑT:   CΑΨ*  1E!/?%+'4&+"#"&76;;265'32;26/&+"265'4&+"3= D bb((7  .  -bb@4,, 00 +3;3232"/&6;546#!"&=46;2?324&"264&"2P X  X2 0  1*1 |  L      p  p 11j    @%#!"&=4?63!23373'8 j U{ p {U  +@@52+"&=46303.#"327632#"&4632'41463eM-IggIB2"F`gf8b#/$*gg,"@͒.)R)S4146;2+"&=463.#"+"&545>322676;2#"&'1+"=46;2#'/ fM->_ 1Z8b#=` 1Z8b#/ fM /$*L; Ws.)L; Ws.)R /$*'3?K!"&5463!2"264"264"264754+";254+";254+";2`"""""" `h""I""I"" T T %2#!"&=46;5462#54&"Y~YP*<*H?YY?HH**H'276#"&#"+"&5&54662^0E;?$h>4  "!Gh]  )#^  ! #/2+"&=46;254&"6;2+"&/&=4ԖA-  /!qq!/  -Aj0 -? "OqqO" ?- 0j6/#"&=46;  Yf  fy  Y #6/#"&=46;.6764'.>  Yf  f    x  Y  )0)  . @%:L6/#"&=46;%.67>4&'.>&'&67>4&'.>.6764'.>  Yf  fB;2324&"26"&462`X ~ XFdFFd&4H44H0 !!dFFdFH44H4+.%2+"&=46;'#32+"&=46;6;2'3'    0^/     @@     j%-%+"&=46;#"&=46;2'3264&#264&+MR6   9LW W?$4F 0  0 T9$a`(!.!p@#+32+"&=46;#"&=46;2@ ?P/  ?P/        @   C-I2+"&=#32+"&=46;#+"&=4632"/&6;5#"&?62+0   8(  (8    PP 00 PP 0 `      0  ` PPPP-I2+"&=#32+"&=46;5#+"&=463&=#/&4?63546   x  x   [PPPP P p     p P PP 00 PP 00 /?7"&=463!2#"&=463!2#2#!"&=4632#!"&=463  `  ` `&&&&@         /?2#!"&=4632#!"&=463"&=46;2##"&=46;2 `  ` \         @((((/?7"&=463!2#2#!"&=4632#!"&=4632#!"&=463   `          &&&&/?%2#!"&=463%2#!"&=463%2#!"&=463%2#!"&=463 `  `  `  `                  /?O_72+"&=4632+"&=4632+"&=4632#!"&=4632#!"&=4632#!"&=463P @ @ @ @ @   @  @  P @ @ @ @ @ @ @     @          +;K7'&4?62#!"&=463%2+"&=46372+"&=46372#!"&=463e``D `  ` U`` -     &&&&      +;K7&=462#!"&=463%2+"&=46372+"&=46372#!"&=463`5 `  ` U `     &&&&     @2#!"&54636/5P"#n &  K")"&5463!2"264!5'&'&`.!!.!hX8H H!.!!.pX8H.5462"=" pp "=6#X$5"PppP"5$X#  6462"7264&#ΑgLllLYΑΑ@ll`!"&54>762264&#"&54&"6,!gg!-5- !/  B4_6I&JhhJ&H8^4@  /! .B@ 6&?67/&?624?6#!"&5463!2+!Z\   $Z$ ((@mZ  \ #Z# (`(@4;276/+"@ 0 %% 0   54;27676//+" ( %%%% ( h     7&4?6'7&4?6' %%@ %%      %&546136#"&546;2%+"&546;2`````0`2#!"&5463` %&546&546 %%@ %%  @  @ +"=&=&54654654;2 ( %%%% ( t  @  @+"=&54654;2 0 %% 0 X  %#!"&=463!2%"&?62#   p*@@  @ 399%?62"/&4#%%"/.?'&6?62#2"&454+54+"#";;2=32ΑΑ \ 8 \ \ 8 \ Α΃8 \ \ 8 \ \2"&4!2=4#!"ΑΑt ΑΏ 8 8 #2"&4'76/&'&??6ΑΑrBB( AA (BB( AA (ΑΨAA (BB( AA (BB("&46276/&'&Α΄  F  h 'ΑΑ  F  h *2"&462"7>32;2=4>54&"264Α`J+ #  8 H &&'ΑΑR@     &*<&&'2"&4$"26454+54+";#";2ΑΑ "" @ X Α#"" d  @  'OW%2++"=.'#"=4;>754;2>7#"=4;.'+"=32+54;24"&462  eF ( Fe   eF ( Fe ,? ) ) ?, ( ,? ) ) ?, (  ( Fe   eF ( Fe   eF ?, ( ,? ) ) ?, ( ,? ) y 2"&4.67ΑΑ`4&`4&Α` &4` &4%"/&4?62!2#!x  xs s762"/&6?!"&=463!'.x  x}s s7'&4?62&/+"&5#s sx  x%"/&4?646;27>s sx  x&='.54>7546 1D2  #02LP4  X *@+ U,,B) P !2C546;2++"%4;2+"=#"52+"=4;543+"&=4;232 | T (  |  ( T  | T |  ( T  |  ( T  | T |  ( T  | T !2C#"&=4;232%+"=4;54;2+"=#"=4;2+"=46;2+|  ( T  | T ( ( T |  (  | T | T (   ( T X T (  | |  ( #%2++"&=#"&=46;546;2            %2#!"&=463     5%/+"&?&/&6?'.?>'&6;276  &   &  r " T  T " NN " T  T " N"&462"264';2574&+"ΑT&&Z 0 @'ΑΑ&&  .7A353#"&53#2#!"&=46;&54632>32!3.#"3264&#"      , 4$..$4 V#!   @ P P $4 $$ 4$5""$%@'&'.7>3264&#"&546;26762"u8[5  @Q}G upPP/OBN .%,.  />0"  TPp/)!"&547632654.676#11#qq7 %& "2,2M/OqqON9 U&% "*=% @+%"&'&47>22654&"72"&54732654'6=***7&54Ԗj83AL9zz3 19JV>#"&=46;2%+"=46;232".54546;226=46hW hNt{tO2<2,PP  P|, Ht;;tG14-44-4;E/&/&4?62=;E7'&4?>76"C}!C%"/&4?625#"/&6;2762+"&="/&4?62"/32vee (   (   ( ee ( hdd +  +   + dd +B.%#!!2"&547#"&547#"&=46;2!2  !.!!.!FF  g     #!!!! W   - 2#!"&546;`@@ @D %#!"&?63!2%"46;32=I%pI%T, E@|  | 8v@0/?T%"&=46;2#3"&=46;2#!"&=46;2#3"&=46;2#2#!"&546;2M&:&&:& 0    FF@    P -5=M!2#!"&546";2=4#2=4&+"#"3264&"62"&4265463264&#"0` t@ dFFdFTH44H4!   &`  `J -$FdFFd4H44H4    &!)#"'+++"&=4?&54632264&"gI % ( p  gIIg((Ig( (  N Igg((;C'&'&?&'#"'&76;67'&767667632+/'>'&/'.=&''&'&?&7'&7676675467676>.6'&'&?&'#"'&76;67'&767667632+/'>'&            & & g" !  &&  !!  &&  "{#0#0             & &                     > # # (  ""  '   '  "  "  & 50#0#                    > # #B)#"'#"&767&5462#"'#"&'32654'zV<3+.&z.+3<@hc9HB^ ")3B^" 6,qO Q13  &?'&6?6  j A HD g&+%+"/&=#"&546?#"&=463!2+*&0   0& *    *;% h00h $<v 0  0 @3;C232#!"=46;5.'&'&=46;5463!2&'#%5#676( >0>" 0% %0$>0> h   @@ # 88-"$H H &"-88 (  ( )--) /7?%#"&=#"&?62+7#!"&=46;;26=324&"264&"2(P X  X 0  !P! |  L  @    p  p !!j    #5&.7>&>676>.2327>"  'BF:;-+ +"  'BF:;-+  4j  ^"+ +-;:FB'  "+ +-;:FB'  c j4  ,^#"/&?6>7'&?6p 1;[<0h0<\:2 p.2#!"&54632654/"#"'&#".x A %#KF `x  FK#% A &%2#!"&=46;5462+"&=4&#"Y}Z +*f@ZY?  *+g@ !+=!#!"&7;2=4+";2=4+"!5463!2@  H H X( ( ( ( 0006"&462+"&5.'"&=463+"&5.'"&=463%5&&5 0 wT t 0 ː st;5&&5%o Tw 0 t  0 u@#+%#!"&=463!2'!"763!2&"264&"264@ 0 a a3s``<`@,4$#"/&++"'&547#"&=46;2?632#2@  UBU K"%%UBU @!TkkTJ D5+"#5:%`%5D C`C;%//&/&?'.?'&6?'&67>7676.  ?> -- >?  ..  ?> -- >?  - >? .. ?> -- >? //  ?> &6>%+#*#"&'.=47>763232+"&=46;24&"2d  '(#G E   ` 0  0    +%#$$  -+     &6>3&'&632#*#"&7.7.7#"&54632+"&=46264&"-   E G#('  d0  0   $ +-  $$#%+     &6>2666+"'.'&54654632+"&=46"264 +%#$$  -+     d  '(#G E   ` 0  0   &6>5&547>76;2'''#"&546;2+"&64&"2\ +-  $$#%+        E G#('  d0  0   %"&462'326=4&+764/&"2?64gΑΑL  L  8ΑH  H  %2"&47#";2?64/&"ΑΑL  L  ΑH  H  %6462"'7;26=2?64/&"2ΑH  H  YΑΑL  L  %"&46254&+"'&"2?64/&"ΑH  H  'ΑΑL  L    "+17=#>2473#%#&'%#>#64'#&4733"&673%3.P 0:0Bl#5S$lSk rr r( 0:0$lSl#5S DTT@ @ \2K[2\3K !>!@"!>!!DTTJ2\3K~\2K$'"&4?&67>76264&" P&5% J$J DK <S$I %5%Q  KD J+3CSc"/&4?62762"/&4?627622"&4%2#!"&=4632#!"&=4632#!"&=463I / @ H / @ \((         H0 ? H/ ?((     @         2/&='&63  P   8 ι '+%53#!"&=3;2672!546;546;2#5#@` ` P@p00 PP00 ;%"/&6;5#/&4?635#"&?62+3546&=#32`OO 3e OO e3 OO 3e OO e3 OO e3 OO 3e OO e3 OO 3e%9G6"&462"&4622+.'63*&4622#!"&=46;27'#"&=46;2z4&&4&4&&4& & B(\BB\B#0CC0 !F!(B &@&4&&4&&4&&4F& #:B\BB\bC00C :# &%K"&4?62?64'&'&5&?66&'&'&?>'&"&'&4?6G,,D,~Y,&  <C  jY,&  <C   ,,D,-~,D,Y~,&  ;C<  Y~,&  ;C<   -~,D,%#!"&5467454632632,:K5`%6%%6  h 2#!"&5463`/"&=463!2#"&=463!2#"&=463!2#  `  `  < ( ( ( ( ( ( '7G2"&42"&42"&4%2#!"&=4632#!"&=4632#!"&=463((((((  @  @  ((((((     @         *:JZt7#"'&?63254+"/&?67#"=4;20%2#!"&=463%2#!"&=4632#!"&=463'"=4;5#"54?6;232#"=4>54#"/&763232#>  9   @  @  D    '/                  @X /M%2#!"&=46;&'&546;2#"'&+"3+"&/&54?632;2654   fH4D%= + BW^H4D%= + B     3I'  ` 3I'  /?"&=46;2+26=#"&=46;2+"&=2#!"&=463    /B/    ^^p `      !//!     B^^B     2#!"&54635#75#5#75#``````````'+/?/?/?"/&47627'  5555E5555b  U l  ;W3V`  `555555  U  l V3W'/7<%2+"&5#"&5#"&5463!232264&"264&"75'#p 08P88P8@,d,((\((d,`   (88((88(@0dlp(((( dp!&+2#!"&546334ᒑ#264&"5"75#`   @%%@B//B/`%@@%  @ %%8P88Ph@%@%W9 !2"/&6    `9 %!"&?62!  `  'Y /&4?6  A  'Y 546&  ?  2#!"&5463#!#`` 3 732"/&6%+"&?62) ww   w ww i  w 3 732"/&6) ww  ww  4 %#"&?62 ww  ww 86#!"&=462>76".#&'&=463!2"`!yvz4  1}X  Ue Y(  &[ +7#"&=4;2>3#"'&?63264&#"32 0 #a6gg_G " 2BIggI+Jb N'+͑@ ",gg'!07%"/&4?'"/&4?627'"/&4?62762|(Q s  . s  Q(}q}(Q  s .  s Q(|qD2#"&?#"&?>;2( .w   *     5EU72+"&=4637#546;5#"&=46;2+32#5##52+"&=463!2+"&=463  `  H0(   (00H  `  P  `  ` `  ` P0:@ `  ` @:000P `  `  `  ` B-C%'."'0.#""'.&7>75462632#"&'&>3265@ 57   ( 74 \\/!*     #+ '"+$ cz    zx!/  /8#"&546;6232#"6"2643+"&546;7#532h  QJQ !*h  r` B P   H!y  0 h &`B` 053+"/&46320#41&'&7264&#"26546` > `dKJg,%%, .B  /&&  GigIB2+00+2  B. !/U$"&462462"7#!"&=4672654&'527267?6/546?6=4&'jKKjK6J@0!.! :$00 $KjKKjN5--1KQ!!R .,,  *,?G2#"&'.=46?6326='.?>326=&7>264&"& gIGg7I ?  9('8  ? I7A-.B!$  P%%qEc_D Y9    {(8:'z    9X ):=+q&%P   !46;235+32#"&546;00`00 p P`)"&537#!"&54767>546754624&  H88H@%q  C,:V    V:,C'7"&=463!2+##3264&!"'&763!2(8 5KK5 8( &&! H@8( KjK(8 &4&  '3;GSo!54;46;546;23232#";2=432=4+"#"3547#";2=44+";25'3;2=32=4+54+"#"@  X p X  ( ( ( ( t( @4( ( ( ( , h H  H  ( ( @ ( ( TT ` ( ( ( '/KSX%2+"&5#"&5#"&5463!232264&"754+54+"#";;2=32264&"75'#p 08P88P8@,d,((808808((d,`   (88((88(@0dlp((088088(( dp %I3546;2335+32#"&546;4&+54&+"#";;26=3265`  @ 0   0 0   0 `00 P` 0 0   0 0 /%#32+535##'53535'575#5#57335#532+3 ``0u(s0C" 0@@0 "C0s(u0 P E*E P ".:2#!"&5463!254&+7626=4&"26=4&"p!/Q   @ 07   W  `/!' $*    (с E    3#!"&5463!2#"#54&+";26=3;26=4&`p        p`D PP  PP  +2#!"&546354+54+"#";;2=32@ \ 8 \ \ 8 \ `8 \ \ 8 \ \a)?62"/&4&4?62"'````ш````a)7"/&4?'&4?627"/&4?'&4?62````````A)7"/"/&4?62'62"/"/&47````````A)7'&4?62762""/&4?62762````````a?62"/&4 ``ш``a7"/&4?'&4?62````XA("/"/&4?62`` ``X@(7'&4?62762"`````@#2+32#!"&46;7#"&5463!H   H@00@ !%%2#!"&=46;;267!463!2!p &&  =@ && pP2#!"&5463264&"` @2+"&5463264&"c` 9%2+"&=46;2+"#2+"&=46;2+"^B  &^B  &B^ 0 &@B^ 0 &@92+"&=46;26=#"&=463#2+"&=46;26=#"&=463^B  &P^B  &PB^ 0 &@B^ 0 &@'/7"&4622"&462"&4 "&4622"&4$2"&42"&40(((((((((((B((((((`((((((((((B((2"&4ΑΑΑ%2"&4"264&"2646."'&2ΑΑU#n#-Α**6%2"&4"264&"264>'&"762ΑΑU--#nΑ66*2"&4"26424+"36264&"ΑΑΑ `+3;2#"'##"&46354+54+"#";;2=32264&"6264&"B^^BC/\/CB^^BX 4  4 4  4 ""W""`^^00^^ 4 4  4 4@""I"" @'3?KWco{)"&5463!254+";2754+";2754+";2754+";2754+";254+";2754+";2754+";2754+";254+";2%54+";2754+";2 \ ( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( ` ( ( ` ( ( ` ( ( ( (  ` ( (   ( ( ( ( ( ( ( ( ( ( T( ( ( ( ( ( ( ( T( ( ( ( ( ( -3W.'76#"&#"+"&5&546623256%5'5&'&56765767556 2 2;?$i>4  "!Gh0"(#M'##& >&#7.(! ?&#%% *D )"^  ! #HF GH DD GFFDD HFG$%"/&4?'&4?62#!"&=463!2w  0     +'&76'/&?6/&?'&?6=  = } + [[  + [[ + @   * t   . PP / . PP .  @.76&76&'/&4&4?61' 3N>!0# 9T x mm  S)F/,U ZR T  ^^  6&=#"&67/ -%  /` %- 7%2++"&53#"&5#"&=46;546;27#5376  ( 0 s (  ( 0 s;  ;` 0 (  `  0 (  `;  ;4<DL"&54675.546267>767.5462$"264264&""264 - 2 /B//B/9  /B/      0** )!//!**!//!*  *!///    7  /?%"&4?62?6/&?62/&?64&""'&4?620 -,~Y,- (-*<-( -,~Y,- (-*<-G* -,Y~,- (-<*-( -,Y~,- (-<*-Gz(02+"&=4>7>54&#"/.762"&4Bn%% H  ,"+?F:((:(Z@ 1   " ![)9))9&735#"&=46;232+"&=462"&4 p   6<**<* 0  0 0 *<**<6"&46246;2+"&5/B//Bh ^  B 1B//B/G  S2+"&=46;5#"&54?6;2'2+32+"/+"&=46;7'#"&=46;2763 `   0  !NN! CPPC !NN! CPP     `  ` 0 pp 0 ss 0 pp 0 ssS!2+"&=46;5#"&54?6;22+32+"/+"&=46;7'#"&=46;2763 `   0  !NN! CPPC !NN! CPP     `   0 pp 0 ss 0 pp 0 ss%32#!"/&4762%37 `(|PrD ( `((1}PC@E%2#"&#"".54654&#"&/054&54632>?03261 4-.$#$%54@p '#$(::) 2&#$## 0 M 2 20Ek` <6"&=4627232+"&=46;5.=46;26=463P88P8@ WA8  8AW  B19T `8((88((h 0Bc "   " iD( *3NM80 #C'&?654626=46;22+"&=46;5.=7z   8P8  L  8AW4 <)2    -(88(0 0*&   " iD)(9'" +!2#!"&54%#!"=46;54;2354;232   X 0 ( ( 0  , $4 44 46>6/&5#+"&=4675*.767&632347264&" () ) < !":   t4!  !5   L1-  *2#"&=&/&6?#"&54?>;>32264&"D< b   3 h 1 h'dH3 ""!2Hd'h 1 h 3   c =C"""&462%2?64/764/&"gΑΑee8ΑVff2"&4'&"2?64ΑΑjeeΑVff6462"2?2?64/&"ΑVffYΑΑjee"&462764/&"'&"2ΑVff'ΑΑeeBBJ7"&?6+5#"=4;5.54632+>7#"&?6+"&'"264 DD#R04 4$9((7$440R#DD `DD'1 (  2(98'2 (1'DDIWWI &2%2#!"&=46;5462+"&=4&#"54&"26Y}Z +*p""f@ZY?  *+g002"&4264&"62"&4264&"ΑΑllljKKjKf4&&4&ΑlllKjKKju&4&&4x$"&46:"&4$2"&4H*<**3546463276#!"&546;2+!8 -?0  +-FJ/   y 3@ H ';( O)*>& H Y`>2"&2"&46&?67GΑΑv B Α B B #!"&5463!2?6&+"`||p`||5463!2#!"&%'&;26`d||`||!2#!"&54676/&0`||`||BB%#"&'#"&=4;&7#"&=4;>32'&#"32+32+32767  Mp  !oH  (>  rA* ", VF  @P , (#    '/@1%2#!"=4;5#"=4;54632'&"32+354634 $ O=7/  7"T T{` h ( ( B7G# $!@ ( 3*A7+"&="'.?6;2654/.'&6;546;22'&+",- :$   0&" B g".A1   0&" B  T-!'0 0"    4"1G0 0"   @4#32++"/&=46;267#"=4;&+"&=43!24I ; 5L9ST' )U ( ` ( 8F5  ( - ( n:232+32++"=#"=4;5'#"=4;'&6;236?63_P: Xl l 8 l lX :PA7 7  % \ \ %  qH%#q)27#32++"=#"=4;5#"=46;54;2'32654&#\ ; 4 44 4 @QQM$((# ( 4 4 ( - OQۖ)#"(@ENRZdh#32++"/#+"/#"=4;'#"=4;'&6;2376;2376;2327#32>?#;'&'#7#136?#4?F U* 9 +7* 9 )T F> 0* m , n .0 x & Q  ' Q ( ( ( Q VV VV Q ( 66/  66   ;#!"&546;#532   Ƞ b8    zb)5>;#!"&546;54+";2=4+";254+";257#532   @ ` b8      L  T  zb5OR72"/&6;46;2%232+"&=4?#"&=4637+"/#+"&54?6;23' PP 0     =8  =8   G  ; * 4 ```0 @  F    F   U  e05OR"&?62++"&5232+"&=4?#"&=4637+"/#+"&54?6;23' PP 0   ` =8  =8   G  ; * 4  `` 0  F    F   U  e0%5EU%2+"&=463'2"/&6;46;2%2+"&=4632+"&=4632#!"&=4630 @ @ PP 0   0           @``0               %5EU%2+"&=463"&?62++"&5!2+"&=4632+"&=4632#!"&=4630 @  PP 0   p           `` 0              4<R"&54?6;232+"&=46;56&/&767.7>264&"2"/&6;46;20  0  `  (>*,   $+ "  PP 0   `  p     @ 1' 3>=&\  ``0 <R%6&/&767.7>264&"'"&54?6;232+"&=46;5'++"&5#"&?62J(>*,   $+ "    0  ` P 0   0 P 1' 3>=&\    p     @;` 0`D72+"&=463264&"32#+"'&#"&=47>767632h  P  X e#   *!0H#5    y?#.) M,:$D46;2+"&56264&""'&'.'&=463276;23+ P  P ( 5#H0!*   #e    2:,M ).#?$"2"&4++"&=#"&?6;732e6%%6% 8 8 0 %% %6%%6 h  h $2"&42++"&=#"&=46;7E6%%6%p  @   %%%6%%6k    /72"&4/"/&?'&4?'&67627664&"P88P8V ^! d0/d !^ ^! d//d !cKKjKK 8P88P/d !^ ^! d//d !^ ^! dKjKKjK"&463276jj/7]$h@Ԗ^6^y-2 %3!#!"&7;2=4+"%2#!"&=463   h h          0 0 ?E%+"/#54+""'"&4?&=#"&546;5'&4623762322#4 7=  6(3  3(6  =7  8/  66  /8 \B  <  7 7  <  ;.  77  .;B..!"&5463!26=4&`|| `d||2"&44&"2ΑΑH/B//BΑΈB//B/*@%&/#"&'&54632+3276'#"&54673267A >  (#  y 9% W5Ig=2B.*?> !  &$%!   {7/:gI7Y'3.B7):%2+"=&=4?5&=4?54;27676265463t{eP 1 71 7 8   Fbdp )   )  E 3) ) MH3<%#!3#5#"&="=435"=435463352#!226&#"Q//4E (B+*7" "7*+B( E5 4 #$#%@((@%#$# p((@%=2#!"&546322>36754&#!"".'&'3!265 J( (I I  `5    5    5  %9+#!"=#"=4?622#!"=4637335335332!54; x  0 8@@@@@$ ` $@ XX    #./+"&?&54767'&47%67"&57n 8 0 pp!'"U<  s s  "U,q%%q,  `DNd7#?%2#!54+54+"#";&'&767?6'&'6732%463!!"&57;2?3;26/&+" &    @  @ r           ;  <  9 &&! @x             ##l  8  %5EU^n2#!"&546;254&+";26=4&+";2654&+";26=4&+";26=#"&=#'2+"&5463   .                 0        .       y       w@ 0@  @ )5=IUa2!54;463!2;2=4+";2=4+"2=4+"354+"754+";2=4+";2=4+";2 @  P  ( ( ( ( 4 ( t ( ( ( ( ( ( (    8( ( l( ( ( ( T T( ( l( ( l( ( )462"6+"&=#+"&5'&462376x*<**< _    _  VfV Z<**<*P ^  pp   ^  WW "*262#"&#"#"&546&.>.>.6.>L\>&"LM"&>,*,/-/-,*,E/-/C_&&_j4- 4-  &A7 &A -4 -4 7A& 7A6/&=46?7575N h h HNNPB!'+/37%//&=4?54?65'75'57'57'dhhdad d"UwfffUUfffVUUfff n 2442 n $l && lI$E))&K'O''*FK'O''*8T7/;2+".?'&6?67&"/&?6276/.?+/&?6326/&?6 (3 4 4$6 3)  n | $  " j*(  n  ( 6$`P P`  "  Q! ( 0A"QI  --B n"A00 P P 0!,  5?N]2++"&=!+"&=&=47#"/&6;7>;2%!'.+":>54&"!264&":    < 9""9 9  "N"    06   60  * && *22 !!19BJ%+"&=!+"&=&=46?>;546;232264&"7!'.+"264&"    +   +5   #0$)   )%0#U"  "]C-%++"&?5#"&?#"&?#"'&?62++z  `  P O nn O F 11 Z [ uu [  "&=462"&= "&= G2GG2w.++.++g++g1og++g1 $@IM7.4326673#!"&546;&'6'.32767326'&7#532'6 3 O    & $>$ O %+(6V     $/  76 & >"  ;D;#!"&546;"&'&+"&'&+";27673;2?6#532   9    % %  & &O b8     es s_  c X  b4=;#!"&546;6&+"4'&+";2767;26/7#532   <#%%#<<#"#< b8     ED ]^ =!$ ^b";72+57#532;#!"&546;4&+";26=:>   7   5(!Q  =     !,9 "-#5323#!"&546;"2645'&'& b  j''( g((Fb0    ((p(h((0&*K#5322"&47;#!"&546;3533526/&+535#535#535##3#3#y    h @ 2  W      &W a!/=F;#!"&546;54&#";67764'&7&7647#532   @$ $!    O    )@ b8    l$ 8 $8  ;  n  N  *ub4#532;#!"&546;4&54&+";26=65 b   ` 7 p  p 7 Fb     7&  p  &7 3G`#5323#!"&546;7654/7654/&#"32032?454/0#"764/&#"327 b  s((AA5>>A((Fb0    $$==1g=$$ !'2"&4%&'264&"'677&'67'ΑΑ?P88P8 @m?@Α@8P88P?@m?"46#"&'46762654&'&5  QifgiQ :LllL: VggV b?LllL?b6/&=6&'.7 H }@ j P 4M Q%,%7#"'.?>3264&#"+"&=46632/546;2gXD 2@LllLI53  2Hcg$A  )'͒7 (ll23  2E3  h K32+"&=46;5#32+"&=46;#"&=46;2+35#"&=46;2#            `         @          !++"&5#+"&=#"&46;2 0     B^^B    p p^^ #Gk%2#!+"&=#"&=46;546;2%2++"&=!"&=463!546;272++"&=#"&=46;546;2    P P   P P    P   P        @                        %%2"&547'#"&46327&5462#"'6`(88P8f"(88("f8P88("ff8P88( @8P8@ (88P8@  @5#!"&5463!2"'64'73264&"&#"327264&`DD!!.!D!!D!.!!p`))!.!!)!.!)!!.!'/7?O"&4632762?2+"43&2"=&?6'&6/&6463264&#"264zzzV-)4M  0. U ; & (8  h4)-Vzzz4 <  +     &  8( %*"&462'7&''77'77'?6'7Αa?"'>KK>'#?&U%>>%U&NN'ΑΑ:T6**6T:B4" MM "4\88\ !-9EQ]iu>#"/&5057&0#"/&54+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2DD + W `` W +` ( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( ` ( ( ` ( ( ` ( ( ( (  ` ( ( XD11D E# <##< #E ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (  1;?#546;246;#+"&=>%+"&=#532%2#546353` @  `  `  `  `  ` p@00 w   ,,G)99)G,,  s 00 #+#54622+#5.=#"&=4637#5462@@0 I7@7I p@``    9Y cc Y9   `` @&2>JV2#!"&546;54632=#72=4+"3!2=4+"3'2=4+"3!2=4+"372=4#!"3( (! ( ( h 8 h  !       `     ` ( ( ,'& /&47>2"&4%'&"/&4762{" nn "W6%%6% " ?? "W%" dd "Q99%6%%6y" 66 "L/?O_o2#!"&546354&+";26=4&+";2654&+";26=4&+";2654&+";2654&#!"3!26P&&&&&&&&&&&`M&&&&{&&&&{ff#.4'&?66754621%#"&547>"&53z   %=8H ~  4&    p1    V:,C  2%!2#!"&=46;76;2!+"& ` x r       MS12"&4654/.#"&546326?654'.#"32>ΑΑm  "#'("$ 5>RQ? 8Α" 0 !+#R=>S:F2#".'#"&546326;2>54&#"3276#"&462654&#"jJL *,4Q9* -   jNLllL6-  =JgQ%$|d?T 91BV  y 2JVll (Α))  #?+'754"/&4?62763~~-8 8M )) Ms~~ 8-`8PM )) M+70#"&532762#"/&54>76XF:@@ j UP. @ '%?J8@XC D:a5  #8#4?JU%"&""&#"#"&"#546;5335335332!526226226323"&546523"&546523"&54652 '/''( '/' @@@@@@''/''/' '  r  r  @ P` @ %& %& %&%2#!"54;2%6!57>  ( 5 ZW U@ ( h hr!#%2/7+5463&'&676  =  Y@RA@R %"4./6%"4./694&++"&546;2+"&52+"&546;23265463!p 0  8P 0  P8  0 p! !  P8 0 8P  !( B0T%!!2#"&'&7#'.'&7#"&=46;2!2'#54&+"#";;26=326=4&  ! #FF  g   /t0  0 0  0  #! !"W   - ( (  ( (  B0C%!!2#"&'&7#'.'&7#"&=46;2!2'#54+"#"?6&  ! #FF  g   /y+  +DD  #! !"W   - < <DD;C%32#"'+"&'#"&=463267'&6?546;546;232%7625=,  X7 00 7X  ,> F * @ @ * v vK")  ;!!;  )"F # (  ( # X&&X26:V%#!"&=467'&6;&5&54767>?6327/77475#"'0326762676#% :@F  F@;  2*2J,42. =#--$><!  1"  "1  !x( (  GVl2'"&547'+#"&7>767&+"&546;23'#"&=46;276;2+6267#"&?&#"%6&#"&/7>4KL64K-  T E,6KH2  8  8EB P& -  R ( Q)!//0"1  22"+K46LK4;'B$ *6M63H (  &* 7 K/B/L"2Q R "0+#?%"&54672654&'56&"&462"&=46;2732#+"&5pAOԖOA3=zz=3M6%%6%  &   @ v .(88(. !!%6%%6 `` `   )%3"/3727#'&"'&"#&6?62762@m^9$!w1:$f!$&n''n&,H  %i(7 b V(i%(('' !)32++"=#"=4;5.5462264&" ?1$ $ ( $ $1?TxT/B//B3N 4 ( $ $ ( 4 N3KjKKjkO7**7O+6"&462%2+"&=!+"&546;235463B//B/.B       /B//BQB. 00 ` А '/##!"&?"&546;254&#!"3!26"264N4??4NO12N0  0 .!!.!`'92 29''99p  p 6!.!!.'7?G##!"&?"&546;254&+";26754&+";26"264$"264N4??4NO12N h  h  h  h ((((`'92 29''99p  p  p  p .(((( `!%!!535#7232+#!"&=463!5    ` @@ ` `!%!!535#7232+#!"&=463!5    p @@ ` `!%!!535#7232+#!"&=463#5     @@ ` `!%!!535#7232+#!"&=463#5     @@ ` `!!!535#7232+#!"&=463     @@ D%#&/&546.j81 5W wY  E#"32+72#".'#"&=4632=#"=4;54"&=4632>32T$ $T-.T$ $T-.0p ( p1((0p ( p1(,8G32+"=!+"=4;#"=4;2!54;2+;2=4+"54++;2 ( (  (  (  @ T H @ (  ( @ (  ( H 4 @+]7+"=4;5#"=4;2!54;2+32+"=732+"=!+"=4;53;26=4&+5354;2+@44 4444 @  h44444@44H  @ H4%"!"&5463!2+538    b     7b !2#!"&54633#!"&546;0/ `0 !/.1]%"&5054676762'3"&5054676762'3'2#!"&=46;&'#"&=46;6232+KjK  <  HKjK  <  ȐH ` & N &p!//!<4&(59 !//!<4&(59      ')     ))/2#2#!"&=463467.5"&=4634&"h  D55D   D55D  =V=  CkkC    CkkC  @;UU;)/52#2#!"&=463467.5"&=463."65#h  D55D   D55D   2<2   CkkC    CkkC  $,,$"")/2#!"&=463467.5"&=463!2265#hD55D   D55D  P V=CkkC    CkkC    U;;)2#!"&=463467.5"&=463!2hD55D   D55D  P CkkC    CkkC    =2+"&=4/&=4632546323546323546323460 p pt  d+B00/ 22+"/&>546323546323546323546} ! @q! ,ױW+4635#"&46;5#"&46;5'.>7>+"  в$  pP ""(E$%K @  @$54/&+"&=46;2?6&+"&=463!2 p  %| ! N =G %3 ! tH+"/&546324/&5463232545'&5463232?>32132?>32D 8%6'l  = * &38&"/#-%f  9)( } {-159%+"/&>46235462354623462#37#37#3  ! """"XX`! ,((a`````+$2+"/&6?'&>354623546234"  @ K%$E("Pp  $   `F2++"&=#"&=43+"/5#+"/#+"&76;236?6;2U6U t 6    2   6 A + + A `++ 6"UU6 ( 5  *%+5326"&462&'654+";26=3;26ۑΑ+&jG   ,8 'ΑΑO2Y  HS #'2+32#!"&=46;5#"&5463!P `      @ +G!"=46;54;2354;232!2#!"&544+54+"#";;2=325X 0 ( ( 0L H < ( < < ( <  $4 44 4$  < < ( < < +7!"=46;54;2354;232!2#!"&542=4+"3X 0 ( ( 0L <  $4 44 4$  ( ( +G!"=46;54;2354;232!2#!"&5476/&'&??6'X 0 ( ( 0L  0  00  00  00   $4 44 4$  0  00  00  00  +;!"=46;54;2354;232!2#!"&54'&'&?6X 0 ( ( 0L Y j.  R   $4 44 4$  ` j/ T 6#!"&546;276  0  p      XD  727"/2"&4724#"2546p xTTxT &6(!!TxTTx6& ($9#!"&=46;546;23253+"&2#!"/&?6;53 +      @     + + @k ,  P   9pp  P  , , @ 4?&576J8? 0@ 82+&=#"&5463&&} `&&&&^T& &'2"&454&+";26754&+";26ΑΑ 0 0 p 0 0 Αη    2"&454&+";26ΑΑX   Αη  !)3#!"&535462#354&"264&"264&"``/!!/`KjK&4& !//! 5KK5 &&@)5AM%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@   CkPPkC p     mm  p  p  p  p  p  p CG+32++"&?#+"&?#"&?6;7#"&?6;76;2376;2327# OK P (b )K OK P (b )Kc ( V RV R ( ( V RV R -6"&462&"2642"&4264&"32+"&76\BB\B\((\BB\B\((h  " pB\BB\^((B\BB\^(( 0   G"264$2"&462"&46"264>."'&67673>'.56VzzzΑΑpppR HLH 5       zzzΑYpppDM   /A.!!.A/ B#"/67'&/"&462&/&#".?5#"&=76;2|}~? $$$ofB 6 = ?Ú  X<$$'l  P  _O 4C7#76772+57#!"&5463!2'&+";2?3;2674&+";26  /`9 $9 4 5.99.5 1b_   V-34!3CS.676#"#'7232#"/&764'&?67/&764'&?6/&764'&?6a@-.? @   8 8  @   _--  %%  &  ;@@ ( Q ZZ Q ("V66 -t- 7#X# B '/7?GOW_6"&4622"&42"&42"&42"&42"&42"&42"&42"&42"&42"&42"&4%6%%6(6%%6%6%%6%6%%6%6%%6%s%6%%6s%6%%6s%6%%6S7?G\`7"&5462"&54&"&2#"&4632654>54&""&542"&42"&4%"&54=.'.>'7/B/1g?-  FdFSmQ@  Qf"P"  !//!  gI!2 -?%&2FF2  Im  Do V"P"1?q&2#2#'&/&?6766766&#"32763&%.6767&'&6767'.7>7"'&63"&7>376"#32654&# != +^C,:) F "(  -+ %  p:) F "(  -+  != +\C   3   !Y !JZ9   A4!JZ9    3   !G7CP7"&5462"&54&"&2#"&4632654>54&""&54%/&?6"/&?6/B/1g?-  FdF W W      !//!  gI!2 -?%&2FF2  I W W   2?k46;5#"&546;5#"&546;5#"&746;'.>+"&7'&6767054/&'&6767'&6767'&676'&>[ >~    }    | Pk I%   ={4 N^ _M g$    Z  .   #  0 ZC  cy  zb  &  @-B%&'#"/&'&767'&6?6632654&#"6"26591W+ )w }q<1W+ 5(*Y"P8*&$  T+: e :(fT+: H W'38P  $= (/7W2&/76'&"&'&4757633#"&5:64&"3#&"264///#576;? 7  P " b `@ )  `        5[7 TR; 7v I  ! Z@  ) @     &  R7 K<E#!"&547670>321&0#".1&'&2>767654'`)||)B#GG# $FF$ Z Z B3 32  2'/C#32+32+#!"&5463!232&"26454&+"'#";26  @ 4&&4&0'*'  @ ( @ ( 00 ( &4&&4"" @+7CO2#!"&5463"26454&+"'#";26754+";2=4+";2=4+";2 4&&4&0'*' ``&4&&4"" =HH2"&4$"26427.#""'&#"ΑΑH44H494 ( 4Α14H44HD!!#72#!"&5463";264&#"26454&+"'#";26P` ` 4&&4&0'*' `   &4&&4"" @ +7?Q2!5463!#!"&%;2=4+";2=4+";2=4+"&"264;26'.+"'#"0@ `4&&4&  "*"p0HH&4&&4 2B#0#"&54754622654.'54&"37"&5475462 K55J 8P8`!/(/ A%6%  `%05KL50$(88h/!       0P%%%  "B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%  0%05KL50$(88(       0/"B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%i  i0%05KL50$(88(       0/"B7"&54754627#0#"&54754624.'54&";26%6%  K55J 8P8(/ !/@%%%)  )0%05KL50$(88(       0/:6"&4627#0#"&54754624.'54&";26%6%%6E K55J 8P8(/ !/[6%%6%%05KL50$(88(       0/'/7?GOW_gow$2"&462"&4"&462"&462&2"&46"&462462"&2"&42"&462"&42"&42"&42"&42"&462"&47"/&4?&547'&#"#+"&5462632762)  )  7  )  7    @     i  )  7    7    I  &      Ie# .   i  7  )  7  )     @    )  7    7    I    . $ /4M$  I75!+"&=!+"&=&%2#!"&=46;5462662"/&47&7'&"         )9-#  i   @00+)  )   )  i  #,  +NV"'.542''&546'&'&7654&2&767>54&#"'.542"&4 Ju.W=9R0;)%5F8%,hHIg*$9E6%%6%)U,,U +>=UQ9A, ()95%+]BlN.IggH-NlB]%6%%62#!"&546354#!"` `T T`%2#!"&=463``  !)+54&+5463!2#!"&5463!24+"30/!  D !/0 0 4 /?O_o+"&546;2++53232++53232++53232++53232%3#"=#"=4;5473#"=#"=4;5473#"=#"=4;5473#"=#"=4;54`****************`N 0f 0f 0f 0 0 `0 `0 `0 %/&/"/+"&="/&4?5/.?/&?'.?>7'&/&6?'&?6'&6?65'&4?6546;2762?>76/76! ?5       6? !" F@@F "! ?6     6? ! " F@@F g   G$N5  ( (  6N$G    %%    G$N5  ( (  5N$G    %%  '"/&4?&67>(0$X% 3  $1*1$  3 %X$0);+"&?.5476227>56227562.>32+"&7%  @  %,,,y,"*9  8 _"&7  7&"_ G;#VLB& 0  $2#"'&?632676&+"&=466fg_G (0?FaeEB0*   $GΑ@ (*bEGc,*   $E !-E!#!"&26=4&"26=4&"26=4&"%2#!"&=46;76;2    `   `   @ ` x r P           9&#"+"&7>3276+"&73232676;2#"'&=46s1B:[ 9ZcH$   ׆ *1B:[ 9ZcH$ ;-G8 WsE$   y *-G8 WsE$  "0%"&54675#"=4;2+7654&+";2zzeK x 8,  "( ( VzzVMu " ( ( " $  3b 1%&=#"&=46;546+"&=46;2+";2     T(88(T T  T ` ` `  8((8 (   1!#"=4;26=4&+"=4;2'&=#"&=46;546T T  T T(88W    (   ( 8((8 ` ` ` $276+"&?&'&3276#"&46dG$   *0BEeaF?0( G_gE$   *,cGEb*( @Α08DL%#!"&5467&546;&546;2654'6323232$"2646&+"26&264&"#**#*&!/ (8&*<8<%O(**(#*&/!8(&*#[x `@!)4%#!"&546;3%#!"&5463!24&"2!5'&'&/!((D`X( !/PD((`0pX( !(/&?62'6&?6?6&5#75. o .(< o z \  $$ @2. o .<( o  z   h0@ $&?'762#r  99(c  r)(99 '762&76?'/&?6299(USQr  Qf  w !v(99(TSQ  rQf  v  732"/&6;4;2. VV . 8 f VV . M37/&4?6!2# VV . . VV . 8 M3%546&=!"=43: VV  . VV . 8  #"&?62++"5X. VV . 8  VV  ;%+"&?'+"&=467'&=46;27'&6;2/76 p $kk$ p  $kk$  p $kk$ p  $kk$ hp  $kk$  p $kk$ p  $kk$  p $kk$ )#!"&546;46232&"26454+";2P&4&PHP`&&4dM346&=#/&4?63z VV  VV  VV .. VV . 72"/&6;5#"&?62+ VV .. VV .F VV  VV "&462#"?6&+54+"ΑΓGssG @ 'ΑΑtsst "&462'#54&6=32=4gΑΑtsst 8ΑΓGssG @ 2"&43?6/&#"ΑΑtsst ΑΓGssG @ 6462"75326/&;;2ΑΓGssG @ YΑΑtsst 4%2#!"&546;2+!54632/"/&4?'&63  @ X  $$  `   p @  $$ ##!"&5463!2#"?6=4&`Xp  p`$  p +5463!546&=!"&2#!/&4?6 h PP     PP  0 PP 0  0 PP 00%#!"&54674546326326&+54&+"#"7,:K5Wh0    $%2 p+2#!"&5463"26454&+"'#";26P4&&4&0'*' `&4&&4"" 76&764.'/&4 4PL20#  2D1  P )B,,U +@* X '.546?62>7',FH$*M@'KclN[<C_GPF%lJ#2#!"&5463264&"74#!"3!2 H ` Y8 @ #+<FN2#!"'&54%"32?461.264&"6264&"%6.3654'73264&#"264&"' D '  C =# n L   .wNCCNwi 5  %@/!!$3#!"&=264ᕗ!2"'4&#!"3!265@ L  P  t(``(``8   $"&4622#!"&=46;27546;22676;23276.!!.!x  ff ' " ' P!.!!.          #+;2!65'546;23546;23546354&"2#!"&=463p @ @ 8 0 P 0 X    VJJV  00 00 @  @     /S2+"&=#"=4;54632++"&546;2'2+"&=#+"&546;235463h  0  @ 0  0   0  0  0  `  h0h 0h    h p      Q'&'&'&'>7'&'&'&??6/7?6/7?6/76/& 634 63ggf        45[45ooT        !+5?73+"+"=4&+"&%#.54622654''4''32674''326`   (   @5--5zzH@    7]]7Vzz/M<62"'67"&5ԖԖ77ԖP88P8((n(88(1%/6?6&67>32"&4'7>76W 65_<QC..C. ";V " m($*  pJ/B//Bp +  m7+ !!@  '%&'762&/"/&4?'.72"&40q"8??/ )$Y5g# >P88P8 /8??/$g5Y#Q"8P88P %-:7&'>7'&67&'&'667&'67#"'6#"16&5K$`D$>_GE#70Z0344LS)( F>!3vE[F; I\,-'!c=#.Gr 2Oc?Q&]2U( 1)+,GR;$/PE:BJRZbjr2+"/&>5462;2=462;2=462;2=4264&"6264&"264&"6264&"264&"264&"6264&"} !     I    I  )  )  P q! !      H  W    W  )  I  w   ` '/746;#"&52+!&"264"264&"264"264&``&@&&`Fn &&&&@@RnR0#532'#617>3!#!"&53c`!@)>%2+"&=46;75%"&=46;7532#2+"&=46;750  P  P P   P   ``@  ``  @   ``92#!"&546;546;2'3554+54+"#";;2=32`P 808808@ 00 088088 "&5462654'Ukkkj,T6``M:^vv^:5*8ii8*G%/%#"/&'"&=46326763254&"7'&#"+'$<"B\BB.-@ $<"(#RA  ']1 .BB..B>,!1pp-:] )-2#!"&546;462&"2646/&'&7PP&4&6a  j.  R `&& j/ T%-5AMY2#!"&546;462264&"6264&"6264&"6"26454+";2=4+";2=4+";2PP&4&h`&&RRhh3;CK[$"&462&"&462'&67676563267'&'#5&$"264&"264&"&4622#!"&=463  H44H4 7VJ7.'&6;2!676;23&'67+"'&'!+"&67#7!36!&'# B--B   8   *M1,"  *9    $  ./DIID/   (?9@ $Z8   hB2:%'&6?7'76&'.'&7#"&=46;276264&"&5>!=!= <D-+,\Y pd- (( cc 5) G,8,7#   $G((B7"&546;7532#2+"&547#"&547#"&5#"&=46;2 00   S((S 0 `   @     p   6#532;#!"&546;4+54+"#";;2=325y 7   @808808W     88088/8;#!"&=32?3264&+'&"'&+"=4;546;#532   F# 9Z F# 98 ș 8   Fr,  Fr( i @ )346;#"&5!%;;2=32=4+54+"#"%2+00@808808P0p@0@088088@%1=Ieq}2#!"&546;546;254+";2=4+";254+";2=4+";2754+54+"#";;2=3254+";2=4+";2      ( ( ( ( ( ( ( (  ( ( ( ( `  p @  @( ( ( ( t( ( ( ( ( ( ( ( #2"&454+"#54+";2=3;2ԖԖp0`00`0ԖXXXX@-72#!"&546;35"26426'.+"'#"3#546;2 F4&&4& "*"  @ ```&4&&4  `` 9E2#!"&546;462&"26454+54+"#";;2=32=4+";2PP&4&6H808808`&&0880888<@7"&=46;7532##32#!"&=46;5#"&=463!25#!5# p@@p 00  00 `    @     @     @@@@@D '2"&=454&"7.7>/&76B\BB\B(/vT"S #/B..BB..pp# Sv/7Tv/"!15!#!"&=32=4+532=4+532=4#72#!"&=463 @ xxxxx   @  @@@ 0  0 52#!"&=463!#!"&7;;2=32=4+54+"#"h   @ @808808 0  0  ` 088088#?G%2+"&=!+"&546;235463'"=4;276232+'"/"&462.B       2f z2L4&&4&B. 00 `  (c 7  ,c 7&4&&4IQY^%2+"&5#"&=32=4+"=4;2=4+"=4;2=4#!"=4;5463!232264&"264&"75'#p 08P88P88,d,((\((d,`   (88((88(00dlp(((( dp #37NZ%2+"=43+"=4&'&=4;22#!"&=4635#+"=4'&=4;22+"=43x0).0$0p `0$<0X0` W1&B%>>  @p@@B9!,*AB>,>7//&?'&??6/7?6'7//&?67'&?6@&@B C8 7-8  -I""9- AC B@&8 7.8  -J""8-  !+2#!"&562"&'463/&76.76dx[  / [x[ T #/F/vT #M::c:MM:kTv/#F# Tv/(#"&4?57?6/7?6/7?6/7>#dYY-2 2-2 2-2 3.M!RYYe.3 2.3 2.3 2./#"'&6?'&?67'" +/ "FO" $ R "EO';?"=4;2+"&=3352#!"&=463"=4;2+"&=335H/B/0@  X/B/0@00!//!``     00!//!`` #A%2#!"=432#!"=43%2#!"5743%+"=4&#!"+"547%62ppPP`00`0000   W q!22#!"&546;2654'"&462'"2654'76.&&&&qqd^^^" " &&&@&-3OqqO3-^^^: O 3}62"&4"&4622#!"&=4632#!"&=46;!'54+532=4+54+"#";#";#";#"26=3264&+532=4+532      `  0`hhhhhh@(@(@hh@         @     `    ((  "-%2?/.=32?7/76!6/.7  @@ \  \ ' 66 'kkp8   8"*2#"'#"&>7&54264&"264&"264&"Ԗj83AL9szz3 19JVv$747#"'#"&767&'&?6632@ E&(83AL, 9:  iI`j9 3 4+9    R5zVH:974&+463!2#"!%2+"&=!+"&=&546;2!5463& 8(@(8 && @ @ &  &(88(&@`&$y  y$& `` Eg$"&462'+"&;26=>54&/&546;2?6&'&'54&+"2#!"&=46;#"3!2=4+67Vzzz"? &    "> '     @  +? l @, zzz$!   $!    `  ` '' )1&'67673+#&'&6?&'&54762546264&" N5  ,pp ^BMA k.U}N/  ;1% E8K@B^8H$Qh=7 EX"#!"&=46;76;2+";2?62m= <m   7/ * N v] rH HrH  y ` &   JACl.'&67546;2'&+"+"&=&'&5474?6;254'#!"&=46;76;2+";2?62    $ 6    $   7/ *  N v] 0%  %    y ` &    JA 1$"&54762#!"&=46;76;2+";2?62HP8SS   7/ * N v] 7',pp,'  y ` &   J"E7+"'&/&=4622?6/&>$2+"&=4?>2?549  i Z & i  9& ZM"+p   l 3   p+"M  3 l %@2+++&/&6?54?26=%54&+"&=4?6;76   &g P PA*<*, P!"!gg  0 @ &< .0$'z**8% .!X~  < 3++"&=47'#"&7>7#6;5#462#327#4'     X?>t0pQ^Qp0t>?X    6TDlRnnRlDTdm"&462"&462#"/?#"#.?6?'#&/&/"#"&/&?676546;2?676.7((d((N ) C     +3 3+     C$    #) `((((p E.d L] \1G !! G1\ ]L P '" ` ` "' .E  @@HW%2++"&=#+"&=.5#"&7>32+";>;26;264&"'"4&54621&#0 1  @ @ "("!  + X:,  i  8P8    Q 00 QC&&  7I"L@  (88()?/.%'.4>?6762'67&"uO[D  E , "k ,"O4!Z!Xf  # I  I@&W;&.;C%2#!673264&+"&46;&5462#"3"2642.54264&"(88(  `(88(--8P80`  mxP80 5S8P8!8P8@ (88(P8(P &V(H2+"&="&5%3&'>@]   ]@tU+h`] ]@V =/4?#'2#!+"&5#"&=46;546;25!    0 0   @    p   0 0,<62"4&"276'."?62&276&"Α7 %(% &--  #nYΑΑ    o66  *!2"&42#!"&462&264&"4&&4& p]CP88P8&4&&4   ]^B@8P88P&.7'&6?7'76&!#"&'/&7%46264&"21M>M 2 LB.-Aw Z((H \] :~p.B?-l.^D @(()19?G%+"&547##"'#"&5463!232264&"264&"%3'&#264&"m /B//!((!/  &0\+V !//!!/ /!P  `0+&/'&?632576%5#!"&z %  N n" n    !  =K   %2+"546;5.?46;2(4@  @4u W77W u '&?6>323!"&=46z  M2232+"&'7;26=4&+"/?+54&+"#"&=46722"&4&2#54@ P`P P`P8(0(8H $$ $$3EP PE30p  W ` +55+ ` +55+X(88(Y$ $$ L3 @  @ 3L`   00+$"&4622#!"&=46;27%/&?676jKKjK&7OO7#L#T  Q  -i KjKKjkO7**7O R  -h +3$2"&454+54+";2'!"&=46;2732&"&462xTTxT & < (#O7#L# +jKKjKTxTTxB 6 L ,L*7O&HKjKKj;CKv%/'&=&''&'&?&7'&767667547676264&"&"&462#!"&=46;2732332?b !!  !! ((jKKjKI O7#L#     K    0((tKjKKj *7O  ' $/$"&4622!"&=46;277&7%'?62jKKjK&;)NO7#L#>G= *H%KjKKjk.M = *7OG *H&#76"&4622#!"&=46;27$"&4622+46=4'6;27\BB\B#0CC0 !F!P88P80.B(*B\BB\bC00C 8P88PXB.'9+9%#!"&=467&4?6"&547'+"&?&5475?6KK6_`KjKB * M6  6M_P..5KK55 > > ;4<D$"&462!"&=46;32730%2+"&=46;5462264&"754&"jKKjK O7#&&#   /B/]@KjKKj*7O  P!//!P}P  P+%2+"&=463"&4622#!"&=46;27p  jKKjK&7OO7#L#     0KjKKjkO7**7O#+%#!"&=467'47&52>32#"&'7"34&#E4GG4e++1>%5KK5,C g  L4**4Lf33(!'KjK5)` 6%'.54?6>7'&"&462#!"&=46;273230n++ 5Ps !;`jKKjK 7, O7#L#,M3"sN-N:&KjKKjsDm#*7O'&?6>32467!"&5z  I25K0&@/     r1DK5)B 1J !6%"/&=46;2264&"&"&462#!"&=46;2732w \  [OfjKKjK:O7#L#S  ] [O EJKjKKj(:*7O$"&462#!"&=4677'3jKKjK 5KK50 ` KjKKjlN5**5N88;CKb%/'&=&''&'&?&7'&767667547676264&"$"&462"&5462"'&#""#"&=46;3:630#327'#"&=46;2b !!  !! ((4&&4&.BA]B    hD/ !##   (B &@k    0((t&4&&4FB..BB. " 0C ' :# &*@CY\!2+"&5&'&/&6?&5463276%"&5054676762'3'1"&50546767623'    /!.v    KjK  <  ȐH KjK  632/+"&5'0546767621"&73'0546767621"&73'`    v.!/    `  <  KjK8H  <  KjK8H '!, '(/!+ 0  96(&4<!//1 95(&4<!//1;?%2#!"&=463264&"";#";#";!'#"&=463!3'#% %sHri gQQ F@%  %`@@@`@@!6#&5476'&'"&546 OM{O  ' l //  ' R $7Ieh"'&476;2#'+"'&476;2%+"&7>&'&6;22+"&764'&63&/#/.7&54623'  "  _  #  #  #   # y  "  R 11  &4&p`0 6 , 4]+ 9|9 9|9  )[6@ 6 , d  vv  :%%t)%/6?6&67>3%'7>76W 65_<Q ";V " m)$*  pJ +  m6+  !#463!2#2#!"&=463!53`@@P  x`     @@472+"&54632276&"&4622+&'3533!ᕗ/AA/(P88P8P L@!`B//B 8P88P&@@ 2.-6?%#54&"#54?5#"&=46;546;232+4?#"&5%+5`%6%`p0 0   0 0mp m p `%%` D3   0 0   3/ d  $,45 7"&5"&462267"&5%567$2"&4&'67==qqqqqhthqq?!4ppp 0n37++++&&@&4&&44&&)? +/B//B "%+2"&44635"264&"62"&4ΑΑX^BOqP88P8SΑgB^ qO`8P88PH(02/*+/#&54754632264&" (8`M=)  ,'&  ,ay t/!'J%PAep  xh  x= %!/ H;!2#!"&=4632#"'!'#"&4626?&5462?&54 ` (HH(H R(R H     @(( +  + (08@HP2+"&=7>'264&"'"/&4?62264&"264&"6264&"6264&"264&"P ((.1((rr'/72#!"&5463264&"6264&"264&"264&"6264&"%%%%3ss%%%@%ss'/2#!"&5463264&"6264&"264&"6264&"%%%%3%%%@%2#!"&5463264&"%%%%%%%@%'/7?2#!"&5463264&"6264&"6264&"264&"6264&"6264&"%%%%3%%%@%MMMM'2#!"&5463264&"264&"264&"%%%%3ss%%%@%ss2#!"&5463264&"264&"%%%%3%%%@%62"&46"&4622#!"&=4636%%6%[6%%6%   `%6%%6%6%%6U  !!2#!"&=46;463!2&264&"p  p m     s"*!2+#5326!"&=46;467264&"p `p P    @!   m 0P%2#!"&=463%2#!"&=463          "33&'"&476&&67>7>' !b'bGE:B  )!.,_Q'g9,'1B  5t*"-,!@5=32+'6.'&"?632#!"&5467>2264&":)b6  Zw F#  #& #O  &z,:,S_#"Vi  ~,  B0  %} %%C@D!2#!"&=463'.=4&+!46;23226=.='&4?625#P  /!%&&$4&      U +,p`&&4$  >& @CP]%+"&/#+"&=4?>/&6323632'&'&&/&6?67&#";26%5&#";26>C0%.B$B.%0C- C$ '));7J7;))' $C ##%$%6$%##%F/C=,'',=C/F&%        %&) %% )%&/&6?'.?>n   "   ff  &.?>&/&6?2#!"&=4637   .   p  T  xx  D 0  0 &+=%"/&6;235#"&=463!2+2#'3.#!"&=463!260 V  (+а  ] } D!# F  @ s@l :@     @] |/D     `#2#"'#"&4632627&#"!264&#"FccFQFFQFccFQFF////++L++///`^^OO^^OO@@&4&&4&@@@4<@%"#"/#"+"&=#"'+"&=.54>76;2264&"5@  J LL    ,4$0 TFCP .Ewh 1 ; 16 JY4)D& 0.=Kc %'%&=47%6m  3  Z  "   f&7&=47%6'2#!"&=4637.    D  p  x  DD  B 0  0 !E!5>4&'5463!25#35#35#5!#54&"#54&"#54&"#54&" @ `@@@`@     =cc#  ``    5U'&?65462#";#";#36=46;22+"&=46;5.=7z   8P8U UU UU),  L  8AW4 <)2    -(88(  0 0*&   " iD)(9'"#)17=#"'&#"#"'&5463232632267&.#6264&"575&'m +1>>?5 +1>>?#$"%B//B/`  >= >d= $8P88PT:1 #%#"'&#"#"'&5463232632264&"m +1>>?5 +1>>?B//B/ >= >8P88P %1=G1!#!"&%;26=4&+";2=4+"%3!2=4#!";2=4+"2!5463  ` ` pp00 @     Xh@ 00 IUam2#!"&5463>54&/&546;2?6'&'54+"+"'&;25754+";2754+";2=4#!"3!2`   -  -  ppPP            h3%#32+/&?#"&=46;7#"&=463!7632bK  S  37  K  R  4 ` j  C ` j  C %-56+".7>264&"6264&"6264&"264&"PU&P&(/hP) n/3=N&@";*P}CJmm-S"*2#!"&5463264&+";26=72+5(88(`   0  0`8P8  0@"&462"&467"/&4762%6%%6%%%6%%F     %%%6%%%6%%6%     $4%2+"&=4633#"'#"&=46;2%2+"&=463   @@$I`        @0p    %1=I6/"/"/&54676276254+";2=4+";2=4+";2f&6 66 6&&6 66 6 ------  -----hh !)-19=G73#"&=46%#!"&546;5462324&"2#37#364&"2#37+532  &&/!pp!/""@@`@@h""@@  0&&!/@  @/""X ""X 7&/&6??6/7?6/7?6/7?6/7?6/76|  P E< <87<<77< ;E   'ef/0ff/0ff' #G7&546;2#";#";#"32#!"'73;2=3;2=3;2= ` 88888x  @)@@)  @@@ ` 888888@@@72#!"&=46;;2=3;2=3;2=3;2=3;2=   0@@@@@  XXXXXXXXXX/73+"&546;2#";#";#";#"X  XXXXXXX @    @@@@ /7A546;#"&52+"=4;27#54&+"#4?62264&"%2+ @P h0 ` 3B//B/p  P  @@(@  u k/B//B  @ #.'7562"/&47@`>S S>+u  5 @S S>+>u 5  !3"&46;46;#"%2'&/52>76#"'.#57676%% % ,IfHM-4#-:+0MHfI80+:-#3 %6%6%2.&B   B&.2  '/72+54+"#54+"#"&?6'.54264&"264&"Ԗ2,  N@N  ,24&&4&4&&4&]4Z B 8888 B Z4]&4&&4&&4&&4 /G7546;#"&2"&427735654&#"32+'2+"'.#"&'46;2` `v 6ԖԖ=2$q| 3$qO=2| #,# $@ ` 7Ԗ$ 2=Oq o2=Oq$| @   t2#"'"'"'#"'.?63!22767#!"&=327!5Z&/,XX-/&A     @   I(Z!!!!!!Z(h  dd %%53#!"&53%#!"&?63!23+"&@@ @  U  %@   @  "" /"&=463!2#2#!"&=4632#!"&=463  @ ` ` ` @ @ @ P @ @ @ @  7'7'772"&464/76/&'7?6/76/&'&'76/&'&'76/&'&?'&?'&??6/7??6/7??6/76/&'77'7----------jԖԖ ."   "-  -"   !-  ."   "-  -"   !-------D------qԖԒ -"   !-  ."   "-  -"   !-  ."   "-3---+/M%#54&+"#54&+"#54?6;546;232'5#53#!"&=3;26=3;26     . 33  @      S  S . PP @@`  `  %/&#!"&=4&&/&6?267w9 9 9 9?L?` r  r `C:I"&462/&/&/&/&?.?67>327"&4?6((.   -   < " #8 ( ;  2 `(( E2 Y  J B"<      *"4 ," <  2 $2#!"&5463!2#!"3264&"s%%p  C@%@%  -D2"&42654':1276&/&>'&"7627>.3232654'ΑΑ P  b Fb P  ΑW      &&      @"2!2+"&=4&"+"&=46;!2#!"&=4630  8P8       (88(   `      !8@H%6?#&''#>#6&'37.'#!"&5463!2"2645!"3>- '' -V." '--'L   )77)FjKKjK 1) )**)11))** 4  7)@)7&KjKKj@(qy7327/"&?#'&/327>767'&"&'.'&'.'&764'&7>767>76276&264&"a4%4 .   4%4 J         7N77NU &p W&          P88P8-2#!"/&4?63'76/&'&??6@%% >>  >>  >>  >>  %%  >>  >>  >>  >>  %5K[2+"&=463#>7##"&46322+"&=4632#"&'##&'6=3>2+"&=463p  `  @62 9*P %% %  `  %% P*9 26U   `   `  ` 8H '?0O%6% `  ` %6%O0?' H `  ` 1;#"'&54675#"&=46;2+7'&?6/'!&/5#.&4,  ' 4 +%%`@!,34Y     ' 4 +.53,!''  #2!54635!+"&=#"&"264`  %@%6%@%  %@%%@%M4@HR\d2+++"&=#+"&="&=#"&=46;5462%;2=4+"264&"75#";26=4&+264&"        =p  p  ps@ P       P 0".."08] `  ` Y%#"##"'&'+"=#"'&767"#"'&4767.'4546320454>762>7632 (8 n /76.'&7264&"7'76.'&?>ΑΑc4&&4&Α>&4&&4=E%/67#"'&/7&'&6?67&5462'0"0"132676&"264767,R(J42G6G! D 8P8 4#03C#"9d h`:_~>H{:|"  v(88(Y$ Xt 7/  3J54&"54&"&'54&"&=4>3276322654&'#"/&54?&#"QH4<<4H0>R-97n  z.(v  IVzF9. f  wh  hw  f .-  G  % M /&5@ (32"&=46/627."75&"26>54&'8DF;<<"*"} @ &4&/:GD8K55KK55S, &&   &&m && , 33#"&476&67> -jQe:K>@9  2D[OV,}n5119  ."3W8.)T];#!"&546;;2=4+";2=4+""'.'&"+";26?212?62;264&##532   ȠPPPP +"       / I 8    HH )6  2     '0;#!"&546;6&+54&+"#"27#532   L A   A ` 8    P P`R G3#532&=#53546;#!"&546;;#" b `@@     Fb ` A@A |      373#"&=46%#532;#!"&=3?6/&#46;pp  7  ` ` Ƞ@       A ` ` A  *6BR%#5%#532;#!"&546;;2=4+";2=4+"54+";254&+";265  7   ȠPPPPPP   @@     HH ` &2l#532;#!"&546;;2=4+";2=4+">54&/&546;2?6'&'54+"+"'&;25y 7   ȠPPPP-  -  W     HX        ;CL;#!"&546;&'654&+";26=3??6/76/#5327#532   E !!%P  ;   00 ɀ b8     !&%  0;   7  bA6?DN73#!"&546;;&'.'&"+";26??62#5327#%'762     +"     b`DED(    /R )6  2  (bDD'0;#!"&546;26/&";;26=7#532   A `` A    8    ``P P &%"/&4?'&?67627'"/ Pu_V  VR  [1;;  ;Q  uP_V  VR 0;;  ;R @ "1%"&546?"/&4?'&?67627'"/@%6%  Pu_V  VR  [1;;  ;Q]#%%@  uP_V  VR 0;;  ;R  -A\k62#"&76'47'.76'4&'".76'&6&'.76'&767'.76'.'".676#"&54'&>'&'.'&#0#"&=&76 +>   " ;I   (Lm Q9    &]4X<9  GKl?q rn ik `<*MK  GH  ML  FI)< #.><  79?1:kJ 65 897O z,  '  Q  *1<9R  fHJ< @` 2#"&'&?'&6>264&"G0a@((@a0>p&X  W&p`)7337)<*B nn B*<'/$2"&4&2"&462"&4264&"24+"36264&"NΑΑP*<**<<**<*ΑΑ)<**<* h*<**<%2"&4264&"6'."7626264&"ΑΑ =<= 14)Α* "! 32+"546;5'&63!2!!88J0**0j2"&446;.'+";2;2/&+";232?676?6?6=4&+"/&6?63232?65ΑΑ Y;  Z  /       ΑG :R               _n2"&4654/&+.#"/&54?632;26/&54?6;2?6/&?6//2?676767654'ΑΑJ  C       G    _ Α         G&     /d /*8m2"&4762;2=4/&4?&#"32?6;26=4/&?63254/&=4+"+"/&+";237632;2?6ΑΑ 3Su>     '     Α_N  & uS-  f        !%)-15=DK2"&45#375#"6264&"5#75#5#75#5#75#6264&"5#326=4&+ΑΑ(   5000p000p000`(  Α( 8( ((8((8((8((8((8((h(% (%2"&4"264&"2642676&"'&ΑΑU`Y // Α6'  '#12"&4%2767&'&"2767&'&"2676&"'&ΑΑ8+`Y // Α!" !" !" !" 6'  ''52"&4$"?626'."?626'&2676&"'&ΑΑ[&#  &  &#  &  `Y // Α)))6'  ' -=K"&5476227"&4632&"?626'."?626'&2676&"'&(**0 ΑgJ>/L&#  &  &#  &  `Y // @77<03gΑ)!.)))6'  ''92"&4?6&'&'&2676&"'&%>'.'.7ΑΑZFi`Y // ΑF  6'  '  F!/2"&46/76&?64/&2676&"'&ΑΑP!!!!PPX`Y // Α-0((((006'  ' /<IY"&767622"&47667'676&&>'?6&/.?6&>'&26 * )!)yG!)yG Z  4] Z  4"k,<@PH)H) Gy) Gy) ([ 4   Z `"a$,k .G2"&4?6/76&/&"2676&"'&%6&/&"?6/ΑΑ_# F`Y // '# #Α ##   6'  '    ## 5EUc72"&476"'&'&61"&'067676&>2&'&&"?626'."?626'&2676&"'&f )S) Hr  ss   K&#  &  &#  &  `Y // H))G R9DD9R]]b)))6'  '%-D26=676&"'&.54264&"264&"#"&=6362?>ΑYH * // * HY&% gO~.$  $.~OgW@%'?   4AN%#"&=6362?>26=676&"'&.5464/&?'76&6%&% ΑYH * // * HYP!!!! PPI@%'?   jgO~.$  $.~OgA0((((00%5=T2"&4&26=676&"'&.546'."?62264&"#"&=6362?>NΑYH * // * HY%(% & 4&&4& &% gO~.$  $.~OgP   0&4&&4@%'?   -<62"4&"276'."?62&2676&"Α7%(% & Y`Y /YΑΑ   a '66'  `/?O_72+"&=46;2+"&=46;2+"&=463%2+"&=46;2+"&=46;2+"&=463`  @   @   @   @   @   @   @  @  @  @  @  @  @  @  @  @  @  @ @/?O_2+"&=4632+"&=4632+"&=4632+"&=4632+"&=4632+"&=463`  @  @  @  @  @    @  @  @  @  @   @  @  @  @  @  @ @ @  @  @  @  @  @ ;72+"&=46;2+"&=4632+"&=4&"+"&=6  %%%%  Ҕ  zz   &@&&@& ip pVzzVp piF7+"&=46;2#"&=46;22+"&46;23265454&"+"&=6 %%   %%Ҕ5% fzz  p %0% p %0%`i%5(VzzV i!77/'7'&54%'76DC#)#+3`3 + FC##* 3`3++ǩ';GS_ks&'&'&6;2+"'&'&'&6;2+"2#!"&=46;254+";2754+";2754+";2754+";2"&462+ + n+ +  %%%+o```6%%6%($> ($> ($> ($> @ %%% Spppppppp@%6%%6@-=M]ms#32+54&+"#"&=46;#"&=463!2;26=4&+";26=4&+"';26=4&+"26=4&+"334&"%54&+";26=4&+";260        &&&&&&3&38P8&&&&   P P        -&&e&&[&&&&(88e&&e&&6?K&=4;2+"=46#"'6+"=4&'&=4;22#"/2!2+"/<0(0$qYZ).0$0vYuV  v *AB>,9!,P8!W1&B%>>  p ,42"&4264&"4'654&'&7>264&"ΑΑ##)) ΑW     4D2"&465."?624'654&'&7>765."?62ΑΑ #&#  & h##))A #&#  & ΑK))     ))%-JZ%/&67676#"&462&#.&264&"4'654&'&7>?626'."S /4gΑ T##)) ' %(%.! S   TΑg.,%#        %2"&4"264&"2642676&#!"3ΑΑU87Q  Q7ΑH6 6H'52"&4?626'."?626'."6&#!";26ΑΑ  &  #&#  &  #&#  Q77QΑ6)))) 6HH!/2"&46/76&?64/&6&#!";26ΑΑP!!!!PP  Q77QΑ0((((00 6HH-2"&4?626'."&"2646&#!";26ΑΑ  & %(%Z  Q77QΑ5    6HH ALP7"&=46;%+5322+"&547#"&547#"&5#"&=46;2#46;25#  @ 0 S((S 0 ` ``0`      p    000@  )2"'&547&=42767'5%6hJrrw ,!!/J4>>40? (%@%( 8 @ (12"'&54264&"7&=42767'5%6hJrrm""w ,!!/J4>>4^""I0? (%@%( 8  ?&76'7'/&?6276^KKQr  5bW  i ! %KKQ  rs5KbW  h $ 4'&6;2%2&'7632"&46&/&"?6/?/o o U o/?E ʒggg 44&  //  = ++ sggg6 // %4  42"&4264&"264&"ΑΑΑW!32"&42654'"&54724+"362654'"&547ΑΑX&4&""4&""ΑG&&&   p&&  &*!2#!"&=463!6?654&+";26p  M M0FF     [; L L&& +#76322++"&767.5#"&=463d  C6  6C c$   76732#!"&5463264&+"36264&"7#&- '' -V. 'j  %%  ;jKKjK-'1) )**h**f)1 @ %%`   `KjKKj1)?'73264&"'766'OTc!] ];1#]$b!cT;] ]'T(b!7'73264&"'6%'762+  (] 99(5+! ](  J(99$67'&4?622?'762'&?%"/7?md Z  "> >,.q.(-qk  Z  d,> >d  Z "> >,.q.-(q k  Z e,> >.!2#!"&=4637&=46'46'%&'p   'f0 A db+ (&+     e  C   1 N 1!2#!"&=4637'&6?627'&6?63276+"p  AM(HhAc++.,     kS$4b!R21'$*2%//&?'#+"&546;276%3264&#-N  NN  N   (80$TN  `  `N  NN  NP  8($6TN  @+3D254&""'54&".546'."?62264&"76'."?62ΑA7  .d.  7A %(% &9((%(% & gBq!  !qBgG    &4&&4   #.2"&4"2642654'&"6264&">'&#"32ΑΑU(**3-F7Α776 !)-59%+"&5#"&5#"&5463!235#264&"75#264&"'3'#u  8P88P8  R``L((`((0PB o (88((88(  `((``((`:2##"'&7#"&?6&&/&?6>76327>o 4: C#+M b:  7:& *KJ 6 E=   "8= ' %#3hG6!'#32"&4?626'."6&"'&276'."?62ΑΑp  &  #&#  #n#  -3 #&#  & ΑF))  **  6))%)-159=!2+"&=46;53#!"&54>3!23'7#?#3'#73'3'#  077   j ` gFrj       B 1``pp``p``pA,2"'.543267>&'&'6768'SS''?D++D?'!FG"%;?QQ?;%$'88'$oo==o"%/&&?6/&6?6%">H6 F&3 &)'H!.L  C>"( 4949/!=  !)19AIQ#546;22"&42#!"&=463264&""&4622"&4&2"&462"&42"&4 @ (8 8(B//B/Mss`` m 8(  (8/B//B3s*5!2#!"&=46;26=4'&5463 @(8 @ 8(C  D-+ @@@8(  (8 (2,:+ *$ '#"/#"&?'&6?627// jj A ( ARr 3f&gDDg&Qg 6r#/;I2++"&=#+"&=#"&=46354+";2=4+";2'#546;2#5P     0`0   hPPPP2"&4264&"264&"6264&"ΑΑC4&&4&Α*&4&&4 %-1573622#!>?"&546;2264&"75#75# K   8P8 j8@@@  L   (88( [@@@@ hT\7&'76?6/&"'&+""2+"'"'"'+"&=46;276;2276;2276;23$"&462 D P(1d"dq 0  0 :&&t&&t&&: %JJ%1B//B/b 9 "& P      `/B//B4j%2+"'"'"'+"&=46;276;2276;2276;23%"'&'5462+"&=4&"35462+"&=4&"#5#p :&&t&&t&&: %JJ% 8P8   8P8          (88(   ``(88(    ` '&?66762%47#"&z   (-6,!2BIg    >@4_6I& (&-h!/2"&46/76&?64/&"7626'&ΑΑP!!!!PPRM )) Α-0((((00>-  -1"&/.""&/&'&'&7>76676/676% "" %2" #d   0)"2`>1(CS9"  "9SC(2="3 @# 3 1.7>>327/6'&2#!"&=46;7s-G'I!`+ .#:?f  I;&546232&264&"`I <8P8< ))$ (88( %!2+"546;5.?46;23'(4@  @4ru W77W uPP!5I]q2#!"&=463264&"#546;2"/&4?62'&4?62"'"/&4?62'"/&4?62(8 8(B//B/ @     @           8(  (8/B//BQ`` !            .    "5#"'&"#"'&'&767676676'#'&7676763_' $+A A+$ '*$$*?#/++G0:  :0G++/#  % $  %07>FNY62"&47'"''&7&766267&'&'767"&#">"6727&'6264&"6''6'&#"#77W$|$W77W$|$W% , 2 B//B/ % s5KK54 VV 45KK54 VV  # # %%K/B//B? # #   `M%#"&'4.#!"#"&=46764'.=46323!2>5>32W,'  ',,'  ', $,  ,$  $,  ,$)"&462'&'.=46%6&=476`8P88P> F|  <  |E DP88P8#  ")@%K2#"&'#"&547.547&5467&5463021>#"'#"&546320212&*&*(&"*&*&"&(&** (.( &( **x%& ()3BQ%+"&=!+"&=&=46?>;2%!'.+":>54&"!264&":    9""9 9  "N"  !06   60!2 && 222 !!#/K2#!"&546;546;23546;254+";2%54+54+"#";;2=32  @  ` ` pp((((@   0 00 0((((*fu7&?6/.?6/&6?>?6/.?'/&'&?&'&?676?676767676$&>767'&'&/&#"&> #  NA 2M  +=   %          {     { l)  .M  +=  NA 28+$/ 4 C 4. + ! 5 ` 6!+.O #+/3;2+"&5#"&5#"&=46?>;2264&"75#;'#264&" (8 08P88P80 0!m|((xM&MY((8(P (88((88( p"z((```((@Qh!2#!"&=46332'.=4&+!46;2327>=.=46;5462354626&+76&+";327P   2"'%%$4     : D ;     @  *x!..p`%%4$  v*  0 00 ` 3 kS'%"/&4?626/&#";2=37   {U p  `    N6 P@6'9AIQYa%2#"'##"&5475&546323632#0#23'"1"&463037#264&"64&"2$"264264&"264&"%%%%% %%%%%''&%%&  w     @  `%6% %%%% %6%A A @%6%@b        7AE%'&?67&?'&?6'2#!"&=46;;267!463!2!: : $$ U $$ : :  &&  =@; ; $$  $$ ; ; && pP0&4?62'%/&4?2?/&4?2?   ;  : :  ,jjjjjIIjjIIX%/.=32?654/32?&54767>3276=46;254632|N/<(V  V(] +>0%#!"&5467&546;&546;2654'6323232#**#*%!/ (8%*O(**(#*%/!8(%*##62"&4%+"&?622+"&=463KjKKjK  k * P   KjKKj%%  5%/+"&=&/&6?'.?>546;276   @      @   r 8O O8 NN 8O O8 N +9GUcq2#!"&546354&+"26=4&";2654&+"26=4&";2654&+"26=4&";2654&+"26=4&";26 (88(@(88(@ @ (( @ P !.!!.! P P !.!!.! P @ (( @ 8((88(@(8@ @@@ q8 8!!X!!X q8 8!!X!!X y@ @@@ +9GWes2#!"&=46354&";26754&";26754&";26754&";262#!"&=46354&+"26754&+"26754&+"26754&+"26 (8%%8(@( @ !.! P !.! P ( @ %8(@(8%` @ ( P !.! P !.! @ (8(@%%@(8   8!!8 8!!8    % (88( %P    !! !!   &2COWc7&6#"./&67632*#"&'&567%.?>766676.67&'7676.6  TF& #YJ gu$$ dY ,  SaAO6 ,  SF ." ,+ **2 # $D&' 91+  &)H! A`) ,'*(O )19A3"&'.535.535.53546;23264&"6264&"6264&"$@% F\F %@$@$@ @$((((((1 & 2 ,99, 2 & 1& 1  1 &((d((d((.2%2+."#."#"&=46;546;546;232%3'#2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"'2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"p CLCBCLC   qSJ 3Q0                ((                ((   """"   P ` h @`@                 P((4                 P((6:BJ%2+"&547#"&547#"&=46;546;546;232%3'264&"264&"p 2B\BDB\B2   qm0 M((<((   .BB. .BB.   @   @``(((( 0H?62"&472#!"&546326/&+";2?33754&+"&#"327;26` 66  F  **  55     $*<* @#.%2++"&=#"&=46;&5462&">54(  ` `  -%JlJ%E,    ;5AOOA5;"99:B%#!"&5463!2;;26=326=4&+54&+"#"5!"3   )77)F 0   0 0   0 Z 4  7)@)7v  p p   0 0 @/3B$2"&454+54+";2'"!546;546;232&'5#!"&=33xTTxT & < @7.uPP  TxTTxB 6 L P001` *&0 -9EQ]iu2#!"&546;546;23546;23546;254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2h   (  @  @  ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (   h P PP PH  ( ( l( ( l( ( ( ( l( ( l( ( T( ( l( ( l( ( ( ( l( ( S2#"'#"547>7&54>'./&54;2?6&'&'54&+"+"'&;265Ԗj83AL92   2   zz329JV%   %   BLd#"'#"54767&5462;2=>54&/&546;2?6'&'54+"+"'&#"'#"&'32654'zV<3+.&zf-  -  Z.+3<@hc9HB^)3B^         6,qO P23#2++"&=#"&=46;546;2`  ` @ `  ` @ @ @    @ `  ` W]ciou}%2#'"/+"&57&'"/&4?&'"&=46367'&4?6267'46;2762'7&'67#677&'7&'6264&"67'367'?&' $  /;  ;/  $ $  /;  ;/  $ +Y%+ l@ L1 C +2:%+ l@ @1  ;/  $ $  /;  ;/  $ $  /;@ 11 % L%+ @ 1w1 % H%+ -T7"&=46;2#546;2+"&2?#!"&=%5!'54767546;>3232     F4```NN   P  r՗ FF  , , !2#!"&546;54&+";26`@`   @ @  52#!"&546;54&+54&+"#";;26=326`@X @  @ @  @ @ @ @ @  @ @ V/&='&63!22"&4>54&/&546;2?6'&'54+"+"'&;25?R;#Py^^^-  -  gCQ9 < ''^^^        eoy%2+5#5#5#33#54&+"#53535####"&=46;546;546;54623546235462354623232'354&+"54&+" P P @ P P     @  @  @    0  8   `  ``P P``  p P p    p P p00 @ @1?G%"/&5476;5462;2=462;2=4623226?."62"&4 f88f @       @00 200 = n<7654'&547654'&54763231!QM(;/)V :)9+**  **%5):  V)/;`HXWE; )f<G+%7-D A!  ! !  !A5% 7%+G=f);%#!"&5463!2!"3!0#"/267#"'&54?<14'#"54?&''312545'764/7454#"#'4"'"#"32?.547&547#"/  )77)FC % =N= %       F 4  7)@)7  &11&  #  po ! A-;IW%&54?626"/.=54&?6754&?66=4/&'6=4/&* ,  PP``PP``l1PP1OmR 66 "-$ jrz/612#"&/"&5475#"&46307'/&'&6765'&?.5467'&?7>54'&54764'6'76/82 5 P/  ))  /P 8 /< &!M,;;,L"& U ~s?'$= *!      !* AE  (/(F6$ 33 55 33 $6F(/( t && "" &&'7#!"&=4?62335335332!546;2#!"&=463    @`@`@ @    d % % Z 00 `     @'9=L:767#!"&=72"#".'.'5463%2+5.+54635#%#5463!2#"*+ @ @ ,)" ),   $`  @` @ & 0  0 ! " ` ! @@`  `&  '2=HS^it2#546;2#546;2#546;2#54636"&546?"&546?"&546?"&546?"&546?"&546?"&546?546;2+32#!"&=46;5#"&=46;2;546;2326 @  @  @  @ } s s s s s s    8( ` (8      @       .   .   .   .   .   .   . Ӑ (8@     @8(    CP3+"&%!&5476?2+54&"#54&/#54&"#"&=463#5467 @ CXE++EX  @ @    @ C8+5 5+8C< @  @H$ &H@  @ @! 0 g'&4?6"2#".5'546326=4&"+#".5463264&+&/&6;264&#"/&47632?6#".'&66iR;;%'  #/  )K5*A$  !1 &&!   (8!1 / q1$) &'5;)d$4 &+ d !5K01&4& ( & . '$  $    $&#"'.'&'32#".'"'#"&463267&'#"'&.>6767&'#".'&#"&463232>7'.5462627&5462327>32#"#"'7>"264$"264g !   (  (   !      *#%6% : %6%#*         h  #8-%%-8#    !4"%%%%%%%%"4!  '    2"&44&'657677ΑΑWAY&s3&AWΑgCg g)rG"ir "? gC/)g,%+54?#"&5%#54&"#54?54?6m pmp `%6%`0 L L Qd L/  `%%` s K K s/?2#!"&546354&+";26754&+";26754&+";26p     `     `     `    @ @ /?%#!"&5463!2326=4&+"326=4&+"326=4&+"`    @ @ `p     `     `     ("&462'+"&46;'.?67676&6%%6%_#n\- 1&(': ! X !@%6%%6An1"#G!\!./ ! H (Q2#"&=4?54?03>26=4#"/.=46226=4/&67621/&Zu M  z&/  M u '? / `Q  M P ` / ?'  P M  Q1NV%#!"&5463!2"3237232/76&#/&"'"327654#0"#"&463:1324#&5!"3   )77)F  ;/DD/'88'u Z 4  7)@)7x CC`C8N8@![%"/&=#"&46232264&"7+"=&'&?6;2654/.546754;2'&+"d8HVzzz, xTTxT  -  d ,zzzVH8 TxTTxE       !-5%"/&=#"&46232264&"62"'&54264&"d8HVzzz, xTTxTq>+CC@d ,zzzVH8 TxTTx+$OO$5%47#"&'&6?535#546;272#546353#"&'&67( . W   3s - ^)!HA  @&W!HG;%//&?'&?67672+#"/#"&=46;2>3; ..  ..  ..  ..   b X,  Q :U ..  ..  ..  ..  0  0 jC 92#"&4632#0&#"3267#"/#"&?'&6?62T +.jj.,  W||W7 DD 7L" "  Ԗ || 6L$$L6  EE &),/25%+"/#"&?'&6;76232#'#3373'7#73'5 k8 * 8k 55 k8 * 8k B( 5p55p8.((.(Y$^^$YY$^^$!7XXX&8!!!&8! 'E762#547!#762'#54&#4?6'76&+'&"#";2?326F &r&  `-` H''''+  +f `'&]z f(((( EQTW]%'37'$2"&54737!;32?327654/7654&+'"#"$2"&54#''73@$Q((| < <  < < s(($,B!!B!!R @   ` 11 1 1 11 1 1 @   o888859=27+32++"&=!+"&=#"&=46;5#"&=3355#xH@ 0 0     0 0 @H`` ` @        @ ` `@@@@@@DH%+"&=#+"&=#+"&='&'&?5'&4?5'&6?%35!5!y7       7Y7 ww 7@/ 0 00 00 0 1@2@VV@2@@@@-6/#"&=46;//&?'&?676  Yf  fP-  ..  --  ..  y  Y `.  --  ..  --  %2"&4264&"&264&#"3"&462"&4ΑΑP88(PppP(8SΑm8P8pp8P@4DL";#";#";!!&'.7>/762#!"&=463264&"rip ' FF '  -- [% %@@@`@ MN  ? JJ p%  %`0LT\"&462#!"&5463!2";26=654??6/76/&'&5!"3"&462    )77)FB/ @ GGbbFFbb w  8   4  7)@)7&     ++**@8   #!2#!"&=46;'&?676%3p  5  ))  5t     JJ  88  J+5=E327+"&=32+"&54&"&4632>?"&=264&"264&"# F.    & (833@8P8@  Y  ,: `  & 8(V'`@(88(@P    7#546;2#54'#5##5#+"&=!+"&="&?63!2p0K5@5K0(000(N      j@5KK5.p pp p B<%+"&54674&5463263276&'654&#"&'&54632W*/!(8$8(, &5T%8( qO#)m_.!/8(1 (8&' A$(8 Pp F)F[CP%#!"&54674&54632632%&?'&4?'&676276&'&"74632.?$8((84%B."6&R L SS X))X  !\B1#) ; 'z 1(88(&6.B$ & X))X SS Y !B\.#1$D/  '09BHL7'"&?&=46&63''&4?6#76276/&62&=7#'3'klMArQ =m__}LP ujddd8.BY1b z bWBߜŰ #'&4?66&='46/&5   R ww e&] mt ]&  3;%+"&=#+"&=.54623%+'54632324&"2* @ @ $ & 5@ p  6 pp  1 p &$.     AG7&?>#"&?#!"&547>7.='&4?'&6;2+"/#77 u*x [ #H0  GUZ-3<<> K  @ u W+*)EB<#/@ _6m 2 c  % (&#"+"'&7'&4632?547623HV( #2"# (?23I X! ) #"1$ (VO?2 /?O_o7+"&767>%+"/&67622+"&=4632+"&=463/.7676"'&'&?6#''&'&?>2+"&=4632+"&=463'62+"5'67+"5+"5  a % * %@ ` ` `   S*   S *S  $ *I ` ` `  @    .+ h h  @ @ @ @   3$ 3+. 3  Z @ @ @ @   -Ohq;#!"&546;54+";2=4+"&=46;22654/&54;2=4+"+"374+"276=4+"&57#532   ` ,   `$$y 8        `  x7''7  BN^n#"546;2!5'&=;27;2732?>72=4+"&546;2'&+546;2"&=46;2#3"&=46;2#0   $%  ' # p&       @     X($@@%5N  (  ( %?p      &.6/&/&"/&&546264&"264&"Rt + )) + lqQ  0 .. 0  PvG'%/&?'/&='6276"&47%; Z  $1Z//-  14% Z   1-//-$ 1%4'/mx32#54#32#54;2#54;2#54#54;2!32#54!2+32#!"&=46;5#"&=46;2;546;2326=4636"&546?"&546?$"&546?"&546?"&546?"&546?"&546?"&546?"&546? 8  H ` H  8( ` (8           2 2  2 2  xxxxxxxxxxxx p(8@     @8(p p   p   '   '   ' @  '   '   '   '   '   ' #+!2#!"&=4637#76?#?/7?/   o$8V@@ @       @ &k @@    HP7#"'.7/.?>2+"&=#"/1"&='&54?>3235463&"&462Q#4   @:!  0 /W  /# \((5e  b" +   P/S  SV k/ @((<D2#+"&=#+"&="'+"&=4632546;2632>264&"E"   @ 3z3 @ pPI7  0   `*\     GG B^)1  ! P  AIQ&/0+"&='+"/&54?&5465+"&=4636;46;2264&"@!  @  B   4$+K5x G  sM  &f-! @i d D) 8 8$4!5K   G43+'7'#"&=265%/&/&7%62546;2  (hFN2+32+'32+";2+"&'&76=46;76;2"264267#7` 8(\7  PK@   p  l0(pP8 9  Mwf (82n  P   %*&.PpX   W;7 2"&=4$"6265427&"ړԖPp II 99:R>b;SS;b>/! ** !ZB"&462+"&46;%2+"/#"'.?'.?'&.6?6$((   M  C  6  >  U % (  '%,G*`(()N$ f W2 .W   (5 &2#"&=4&54'!2!!2#!265(P -P(8 P B.(8P @&'p8( .B8(#7?G/&/&6?'.?>76'.5462+"&76"264&"264     &TxT&  ~  ZZ EE ZZ E:"5KK5":   &?6S  M  =  9  Go'&54?>#/#+"&='"&547+"&=4?#/&?6;'&/&?637>23?632/&6?6#'&'   0/=  J7R7J  =/0  4 NE 5  2=$ $ $=2  5 EN s 6N H(  Ha N Iw (==(wI N aH  O P  L44L  P H N6 @!)19AI!#!"&7>=46264&"264&"264&"264&"62"&4264&"    8  I  I  I  P88P8Se>1  &   Pp        ppp%6%%6ksx$2"&4264&"2&#"#+"/+"&=&'"/&4?&'#"&=46;67'&4?6546;2354762264&"73'#H44H4Nh  3;$Q  ,   8f  oB//B/fn)kp4H44H< 3 3 0   ,  (.$ (/B//B``  (<#>32#7"&547367#'547"&%2+'72+654&+'327ZR@(\gB6jKbP0 *q7OP/!F*#L#D$,P2K5 5w0*=)D(`O7*!/`#+2+"&/&"+"&5463264&"264&"`    :    e6%%6%e6%%6% == @ %6%%6%%6%%6 ?Y72#"&'&6;2326'.+"&=4635"&=463!2676&#"+"&7>#2&'&6;23264&+&'%9:+#5     N   C)( :-06D /+H " t /$,A,"         '-(.G T7. +' (&'"/&4?>7&?67'  M5ZN#L  zZzw  L#NZ5M  ^zZz-W62"&4$2"&4'#"'"'#"'&7&47&66266+&'&#&""#"&5467&54632632:12((((G  2  $ 2 #8(+ < +(8%B. 5%!/(`(((( 2    2 #$P8  8(2 .B!/! B5BO\i%#!"&5467<146326326#"&"'.'&'>32#"'&?>#"'&?>#"'&?>#"'&?>^%/!!/%8(1,+E&+T: R$ % [$ % [$ % [$ % ,!//!,(8(%5/ +:P 55D@@@@@@@@+9G2#!"&5467&54632632:62"&546762"&546762"&546(88((8%B. 5%!/ "(" "(" "("@8P88(2 .B!/! 232323 )7Ec6#"'.?>#"'.?6&#"'.?6$#"'.?6&#"'.?672#!"&5467&54632632: @ @m @ @ @ @ @ @S @ @;(88((8%B. 5%!/Q p p p p p p p p p p8P88(2 .B!/! @DO\iv%#!"&5467<146326321&?'&4?'&6762760"1"&7&54632#"'&?>#"'&?>#"'&?>#"'&?>%/!!/$8(1,; GG K##K  % Ib&D$ % [$ % [$ % [$ % ,!//!,(8(%? K##K GG P & @@@@@@@@0Ib{%'.'!'+"/&?67&'.7676326&#/&""?65'76&#/&""?65'76&#/&""?65'5!+"&=#+"&}   6&   K  +*  Q&C      ` @ @   Nl# c # +**Q$    퐐 PP  1S[cks2+"&54327.5>7327&'.5>7&'327&'.5>676.264&"6264&"264&"6264&"   ,>&3=1S?AW3+O-%>&3=+O-%&.T,+O-. 5!6H+O-%&.T,:W52H/ &;3    I     0  $ E V>  = t!E    '  / 9 / %-7?"&4726767632676324&"2'"&462"&462  LB9r9D [a KjKKj5  a[ D9r9BL   jKKjK  I  @ 19NUb53+"&2+"/"&='0&5"&=46;2&"&462753"&5#"&'#"&?'46;#%2+"&5@    :)&-Y((  @`    0 Q= 8  8+e  `&-`((D `     0 L%2#"&?#"&?6;27+76'&+76&+"#"&5467&546;2654'632324X; D|+/! D0!/+ &!/ (8&p  ax Ao.!/"x/!.&/!8(&@<Y6+"&=4&'&+"&=466+"&=4&'&+"&=466+"&=4&"+"&=46 SS   oSf   lW   B19T   _N-F      +KQ V e tZ tV 3NM8 JrW :-    #9 ";T!546;26&/&"?6/76&/&"?6/76&/&"?6/2'.=#+"&=#+"&=!26=463 ^BB^       5#) ` `   @@B^^,    @#01 +p PP p @ /G%2#!"&=4632+"&=463!2#!"&=463'"&4632632632+"'p  @     P7>7627#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7622 +$)l+)l+#, !  X  Y  ! +$)l+)l+#, !  X  Y  ! +$)l+)l+#, !  X  Y  @                           %="&462#"/&4?7#"'.?'6#5&/.>2?6B//B/   0 .=u. 0   )) )'b') /B//B' ! @  9339  @ ! '       19A!46762+"&547"'"&5467&5!5463264&" 4&"2o0+ !h 0<"/B/!F!/B/"<&`6`" \   @K8+!//! !//!+8K@&B  em"&'62&.'632767632&7'&'&'&''&4767>.&76767&54762654'&6264&"  'V' %, 54 ,$k6 +`2+=66>+2`+ 6 ) FdF ) ((P  P/C**C/P = Xb   bX= ?13HH30@((3G7&=46;22654&'&=467+"&5.'.=46+"&5.'"&=46:D <)Ej 0 (0z   a Sv   S9 d=)< WD  2 z a   `vS :R    7!#!"&7;26=4&+"%2!546;546;23546;2@ ` ` P@0     ` ` 000 00 0 7!#!"&73!26=4&#!"%2!546;546;23546;2@    P@0     @ @ 000 00 0 ")-15;C#"/&67%>'&#"#"/&6?63267'7'?'?'77&'67')6  a     ! %,.O =<<Q - $=d9w!6  7 18>='''.  *'&&'&7276/>76/&67*."'f9 13  7SDX!"&#b.&29 1B 2 8 &"!XD )9IY]m}%#!"&=4?>;5#"&=463!2+32;26=4&+"";26=4&#'#";26=4&'35#26=4&+"3;26=4&+"54+";2754&+";26754&+";26 @  U`  `      0  (        0   E[  [ @ ` ` @   G   P     @  x  W  +@V72/"/&4?'&637"&=46762#/&=46;26+"&?'&4?62  c c!   c c! c c  p  p !c c p !c c @ p !c c c  c! p   p  c cB C#'32%#73#5"&?6;2++"&=!+"&='#"&=46;'!0ac  ~~  c        ` ` @         %?N^#53##7/32210'&/&"&?6;#+"&='#"&=46;'%"&54676>'&'&'32=d~! c  '  c51    %4^^D4( '?3&XH > `  ` K7H6    !`A]]A&m/$(?/S!('132+5##5##5##5##"&=46;546;546;232 P @ @ @ P 0 0  0    0 0 0 05<Ccmw7#"&546;'&?6'&6?67>763253#"&53#2#5+#546;&54632632#3&#"7654&#"36          )   ( 7!!7 (5  5# `   66   ``   ``  ,KK, 0  09=A%'&6?'#"&/#"'/&7>7.?>76767'7' ' (?  ?( ' '%W rr W%'_$p$_C h.'KK'.h C  fW( 00 (Wf  G'@..@'2#!"&'&63!!8$$89e@dt2"&44&#"#"#;2=732;2?6;2;2=4?6=46;2+";2;6$;2?6=4&">7#"/&+'&+";2ΑΑuS(    %       }5W  +  + ΑgSu            !  8- %   ` %2#!"&=463%2#!"&=463                +"&546;2+"&546;2`         0     +3.767>7676?6?62264&" /$L # #kS #&"7L /  ((  / L7"&" Sk## L%/ (("/&6?>'7'6$!!$"b&`0`"&a"v%i((i%#W@@h#?i"&4622462"&"&462&54'&6767>'&'&636762'&'.7676&'"'6'&5<546((@(((((@  72   94 27   49  ((((`((=3    :2    1:   +3   .6%+"/#"&'.+"&=4>?6264&". 3 ./   7") %B0 0 2 zt( @  &R Q?bU;K 6*8"'"/"/"'&63!2WB. ". ,$ W,l}@ '08!>32#47%#534'3+#."#553#"&62#54@'~J`Bp?B 2:F:2 P8~;EC=_=C@`  ##``8(``(%2#!"&=463$!'&>76p  e(H0@te  @ @ "5W:e@:'9A&'&'&6;2+"7&'&'&6;2+"2++"&=463264&+#  n#  .BB.8((8 p.#1 , #1 , B\B(88( (` "/%4'7>#"'.?2&"&462%"&5>76H&Q,6 Q7|7Q-(( 6,Q&, `8 D   (( 8` , %-5=%4'7>#27"'.7'"&7676"&462"264"&4628*4 $*"H"C 4*ΑΑlll#C*B 6 C  y B*C#Αllll )9U"&462"&462++"&=#"&?6727%2+"&5463++"&=#"&=46724&&4&Z4&&4&? 7 0 7 .8   |  P  8@&4&&4&&4&&4 h  h         ;?C%"//"&46327'&676327'&4?6;2762%7''a  P k l*0)& Q a  P0  / 0Q IEI2EIDa Q &)0*l k Q  a Q0 /  0P hIEJEIE1I.7>7&5462#"'%1+"&5.'.=463210+"&5.'"&=4632119bu C   a zZ   S9 Sv b9t + a   z :R   v 2#!"&575#35#35#@&&& 000&&&@`````` #*.546;#!"&575#354&+326=#35#;5'!5%35#"&&&@ @ @@ &&&@@ @@ @@ @`@@@ @(2O2"&42+"&46;264!6"/&627"&4?"&46;2"1"&='&6?|(() ` ` 'D  D =\  0  R=N((\    D  D \  1S=Y  SN8$C"&462#"'%.>7'&776'&76776/&//'((%x   .Kk(  1# >R04  : s/`((fEK5( #JF a  3   9 @.BN"&4622#!"&46;0&5&6?63232647'.?'&3737#"/d((*  +6 (%,G*, F U % '4> +!  = `(( *   (5 "Q2 .W  [)N$ L>%#!"&=463!2654/&?6%5"&46;2;26=32###5##5.e,    1T,T1&`  8(@@*6a&'    w4X4&@`(80004 E4Uw2#"'#"&>7&542654/&54;2=4+"+"3754&+"'&+";2=2?;232654/&54;2=4+"+"3Ԗj83AL9        0   zz3 19JV  h ## hD88D  EQ"&462'76#"'%&'&>&'&6?54?'&/&>#"'&7((TB4Z  !& J#*  ?o   <U`((?'f" !    5(:   4S --= QYaiq|+"'.547&507'.?>546;2167&5462704=46;276$264&"264&"6264&"6264&"7654&"6264&"! #%c !&,   8 8P8 8     )          ( 7 "-.Q C(?, 7   . !(88(" .  *    7  7  O  2  Z_k62"&462"&462"&462"&4"/&=##!"&5467546;546;2354?623'264&#!"3n^^^$ %)+ B..B# O@)% $@zD:H#% $*:.BB.!6[p 3:*$ % f S`@((2++"=#"=43%2#!"=43t 8 h  8 8 8 8 %19#+"&?.5475#"&=463!2;2=4+"264&"p /((/  ` 006tRRtR2TGGT2   /9A%"/.7'#'76'"'&7>76'&"&4?264&" 5  u k>`@k04 R*I%J DK   |5%u4  5 u0k@`>k 6R=+ KD J$J R {%5)-15="&462232#!"&=46;5"#"'&67%65#%35+3"&462-    ````c <\  S;  `````` "&54676>'&'&'32D4H_I9* $:\(!K8+0+__6D5: Y' Cu088EA(Q6'&67670767>767632%"#"/67>7>767 !5#$  $7E $C) %.&% 5  $7E %C( %.&%   !5#! !# J6&0  % %& J6'/  % &&!! !2:%#!"&5463!2;;2=32=4+54+"#"5!"3   )77)F808808 Z 4  7)@)7088088@@2##!"&5"&54##k>  > 5!#!"&5!%630 @ ,Y{  Z@,H3#!"&=26554+54+"#";;2=327#"/&"#"/&547%62  ` ;808808   M D088088 22#"1"'#"547>7&5454+54+"#";;2=32Ԗj73AL9`808808zz31:IVn088088%."/&4?627"/&4?6?7'76 7-nxf fn-7 D P  7-nf fxn-7{ D  P"*2:%/&&?6/&6?6264&"264&"6264&"%">H7 F&3 &)'H!.L )  C>") 4949/!= Ssm   2"&546b]2pp2u7PppP7 '/7?%2#!"&4632#!"&=4637"&7>2#&"264&"264"264` && ~~>      (( && 42BB24p  )     7%+"/&=4?2=46?62=463212=46B..!   ' $ S.B! J L    2 #%!5467546;272#!"&=463@B5) ` )5B   @@;aRp pRa     >JVr~$"&46220+"&50546322760!"&546;546;23254+";2=4+";27532=4+54+"#";;254+";2=4+";2P88P80.BB.**     ( ( ( ( 0P ( ( ( ( 8P88PXB..B *< p @  @ 4( ( ( ( ( ( ( (  7AK#"&547664&"2767>7>7>7>76'.?6&//"!/`(   ' '    ' ' | 3 3 /B/!"`w  ' '   ' '  3 3  2#!"&46;&5462'!"pTxTcc ( (( ;UU; %)A7"=4;54;232++"=%!463!2!2#!"&=46;;26780880 @ &&  =088088P` && #32#!"&54635#"3754&+326754&#!"3!26&&&&`P  PP   @ &&&&0   0 @  @ .%3#"&4632>77'#5'6326'&54?632Kk%KjL!!(?)!526YK$( '"G@)!.!&>@E&.D9N" + $7 !)1.'7>#"&5476264&"6264&"264&" 9/ rC{ ň 9 qi L{ 7!+"&7;;26=326/&"72#!"&=46;76;25E 9   9 Z ` x r Sp p^       7!#!"&7;;26=326/&"72#!"&=46;76;2 [ 9   9 Z ` x r Pp p^      :B%#!"&54676"&=4?62';;2=32=4+54+"#"26=?6K""K6_5jKU  U(/B/N6""6N_oK5n  n5]!//!-#"&5#+"&=46;546;23546;2+ܘ` p` p \      '/7?G"&462'"&='&54?63232+"2"&4264&"$2"&4264&"((4);*R p G5  @ 6jKKjKf4&&4&jKKjKf4&&4&`((!2   o6  `9 KjKKju&4&&4KjKKju&4&&42#!"&5463#3'#335#35#   `   @/?O_o/?O72+"&=46;2+"&=46;2+"&=463!2+"&=4632+"&=46;2+"&=46;2+"&=46372+"&=46372+"&=4632+"&=46372+"&=4632+"&=4632+"&=46;2+"&=46;2+"&=4632+"&=4632+"&=46372+"&=46372+"&=46372+"&=46;2+"&=463                                    @                                                               `                                          `         `         /?O_o72+"&=463#2+"&=46;2+"&=46372+"&=4632+"&=4632+"&=4632+"&=46372#!+"&5463   @                                           `     `          `     #+2/&?#"&'&6&546766264&"a=Z { Q<  #*=Z { Q<  #D@Q<  #*=Z { Q<  #*=Z { *2Hf7'&6767>"2+"&=46;76;2264&"%2"&?#"&?6;26"&46325"&46325467ua5 5a   0H[,,\ > L'&5%%p&5%% c> >c`  ,,V Sk 3`(0l(k %#"54?6327632h0 <8y1 Vhp 1y8< .2#!"&5463454/&#"&'7654/&#"#327P FK#& A x ` &#KF  x (4@PX_2+##546354+";254+";2=4+";2=4+";22#!"&5463"2645''`   H   `         M` @ @@` g    q  q  0   @`` @ ;?%2+"&=46;7#"'&54?6325463!2+"&=#'7#P   C 5s    v1C v     P4*Y, `  4`5OR72"/&6;46;27"&=4?#"&=46;232#+"/#+"&54?6;23' PP 0    =8  =8   G  ; * 4 ```0 Ѐ  F    F     e05OR"&?62++"&5"&=4?#"&=46;232#+"/#+"&54?6;23' PP 0    =8  =8   G  ; * 4  `` 0@  F    F     e0/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#!2"/&6;46;2 @ @       PP 0   `             @     ``0 /?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#%"&?62++"&5 @ @      ` PP 0   `             @     `` 05JR72"/&6;46;22+"&=46;5#"&54?6;26&/&767.7>264&" PP 0    `   0 6(>*,   $+ "  ```0 @     @  p} 1' 3>=&\  5JR++"&5#"&?622+"&=46;5#"&54?6;26&/&767.7>264&"kP 0   0 P) `   0 6(>*,   $+ "  ` 0`     @  p} 1' 3>=&\  A&@CX%"&=46;2#'3264&#3264&#'+"/#+"&54?6;23'"/&4?62762 K 2 2!3(  (8  D   X   D;.p- 7   *# +0`0 $$ E p -8 @#2#!"&4623&54264&"264&"xTT<7632GG';(;4BttB4  8?e56d?7  D5++5D    *%3!"'&7>32#"./&#"7>?632bB_HZ:5)=#84% b6@#U9/FV ,$  T+A) =!+"&#546;2#5^B@B^^B@B^`B^^ B^^B 2"&4264&"2"&4264&"V==V=^OΑΑjKKjK(=V==VCΑKjKKj"*:D$2"&42#!"&5#"&5463!2264&"754&+";2654&+"   8P8 &&`B^l((p   @   g   (88(&&^Bp((@  @ s  V6 H& ,v 3m 4 2Q   @ 2 Lb , X . &  ' 29 &  Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free SolidFont Awesome 5 Free SolidSolidSolidFont Awesome 5 Free Solid-5.15.4Font Awesome 5 Free Solid-5.15.4Font Awesome 5 Free SolidFont Awesome 5 Free Solid331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Free-SolidFontAwesome5Free-SolidThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeSolidSolidFont Awesome 5 Free SolidFont Awesome 5 Free SolidFont Awesome 5 FreeFont Awesome 5 FreeSolidSolid      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX#YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~faucettrailerbacteria bacterium box-tissuehand-holding-medical hand-sparkles hands-washhandshake-alt-slashhandshake-slashhead-side-coughhead-side-cough-slashhead-side-maskhead-side-virus house-user laptop-house lungs-virus people-arrows plane-slash pump-medical pump-soap shield-virussinksoap stopwatch-20store-alt-slash store-slashtoilet-paper-slash users-slashvirus virus-slashvirusesvest vest-patches glass-martinimusicsearchheartstaruserfilmth-largethth-listchecktimes search-plus search-minus power-offsignalcoghomeclockroaddownloadinboxredosynclist-altlockflag headphones volume-off volume-down volume-upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalic text-height text-width align-left align-center align-right align-justifylistoutdentindentvideoimage map-markeradjusttintedit step-backward fast-backwardbackwardplaypausestopforward fast-forward step-forwardeject chevron-left chevron-right plus-circle minus-circle times-circle check-circlequestion-circle info-circle crosshairsban arrow-left arrow-rightarrow-up arrow-downshareexpandcompressexclamation-circlegiftleaffireeye eye-slashexclamation-triangleplane calendar-altrandomcommentmagnet chevron-up chevron-downretweet shopping-cartfolder folder-open chart-bar camera-retrokeycogscomments star-half thumbtacktrophyuploadlemonphone phone-squareunlock credit-cardrsshddbullhorn certificatehand-point-righthand-point-left hand-point-uphand-point-downarrow-circle-leftarrow-circle-rightarrow-circle-uparrow-circle-downglobewrenchtasksfilter briefcase arrows-altuserslinkcloudflaskcutcopy paperclipsavesquarebarslist-ullist-ol strikethrough underlinetablemagictruck money-bill caret-downcaret-up caret-left caret-rightcolumnssort sort-downsort-upenvelopeundogavelboltsitemapumbrellapaste lightbulbuser-md stethoscopesuitcasebellcoffeehospital ambulancemedkit fighter-jetbeerh-square plus-squareangle-double-leftangle-double-rightangle-double-upangle-double-down angle-left angle-rightangle-up angle-downdesktoplaptoptabletmobile quote-left quote-rightspinnercirclesmilefrownmehgamepadkeyboardflag-checkeredterminalcode reply-alllocation-arrowcrop code-branchunlinkinfo exclamation superscript subscripteraser puzzle-piece microphonemicrophone-slashcalendarfire-extinguisherrocketchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-circle-downanchor unlock-altbullseye ellipsis-h ellipsis-v rss-square play-circle minus-square check-square pen-square share-squarecompasscaret-square-downcaret-square-upcaret-square-right euro-sign pound-sign dollar-sign rupee-signyen-sign ruble-signwon-signfilefile-altsort-alpha-down sort-alpha-upsort-amount-downsort-amount-upsort-numeric-downsort-numeric-up thumbs-up thumbs-downfemalemalesunmoonarchivebugcaret-square-left dot-circle wheelchair lira-sign space-shuttleenvelope-square universitygraduation-caplanguagefaxbuildingchildpawcubecubesrecyclecartaxitreedatabasefile-pdf file-word file-excelfile-powerpoint file-image file-archive file-audio file-video file-code life-ring circle-notch paper-planehistoryheading sliders-h share-altshare-alt-squarebombfutboltty binocularsplug newspaperwifi calculator bell-slashtrash eye-dropper paint-brush birthday-cake chart-area chart-pie chart-line toggle-off toggle-onbicyclebusclosed-captioning shekel-sign cart-pluscart-arrow-downship user-secret motorcycle street-view heartbeatvenusmarsmercury transgendertransgender-alt venus-double mars-double venus-mars mars-stroke mars-stroke-v mars-stroke-hneuter genderlessserver user-plus user-timesbedtrainsubway battery-fullbattery-three-quarters battery-halfbattery-quarter battery-empty mouse-pointeri-cursor object-groupobject-ungroup sticky-noteclone balance-scalehourglass-starthourglass-half hourglass-end hourglass hand-rock hand-paper hand-scissors hand-lizard hand-spock hand-pointer hand-peacetv calendar-pluscalendar-minuscalendar-timescalendar-checkindustrymap-pin map-signsmap comment-alt pause-circle stop-circle shopping-bagshopping-baskethashtaguniversal-accessblindaudio-description phone-volumebrailleassistive-listening-systems#american-sign-language-interpretingdeaf sign-language low-vision handshake envelope-open address-book address-card user-circleid-badgeid-cardthermometer-fullthermometer-three-quartersthermometer-halfthermometer-quarterthermometer-emptyshowerbathpodcastwindow-maximizewindow-minimizewindow-restore microchip snowflake utensil-spoonutensilsundo-alt trash-altsync-alt stopwatch sign-out-alt sign-in-altredo-altpooimages pencil-altpenpen-altlong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-upexpand-arrows-alt clipboard arrows-alt-h arrows-alt-varrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upexternal-link-altexternal-link-square-alt exchange-altcloud-download-altcloud-upload-altgemlevel-down-alt level-up-alt lock-openmap-marker-altmicrophone-alt mobile-altmoney-bill-alt phone-slashportraitreply shield-alt tablet-alttachometer-alt ticket-altuser-alt window-close compress-alt expand-alt baseball-ballbasketball-ball bowling-ballchess chess-bishop chess-board chess-king chess-knight chess-pawn chess-queen chess-rookdumbbell football-ball golf-ball hockey-puck quidditch square-full table-tennisvolleyball-ball allergiesband-aidboxboxesbriefcase-medicalburncapsulesclipboard-checkclipboard-list diagnosesdnadolly dolly-flatbed file-medicalfile-medical-alt first-aid hospital-althospital-symbol id-card-alt notes-medicalpalletpillsprescription-bottleprescription-bottle-alt procedures shipping-fastsmokingsyringetablets thermometervialvials warehouseweightx-raybox-open comment-dots comment-slashcouchdonatedove hand-holdinghand-holding-hearthand-holding-usdhand-holding-waterhands hands-helping parachute-box people-carry piggy-bankribbonrouteseedlingsign smile-winktape truck-loading truck-moving video-slash wine-glassuser-alt-slashuser-astronaut user-check user-clockuser-cog user-edit user-friends user-graduate user-lock user-minus user-ninja user-shield user-slashuser-taguser-tie users-cogbalance-scale-leftbalance-scale-rightblender book-openbroadcast-towerbroom chalkboardchalkboard-teacherchurchcoins compact-disccrowcrowndice dice-five dice-fourdice-onedice-six dice-threedice-two door-closed door-openequalsfeatherfroggas-pumpglasses greater-thangreater-than-equal helicopter kiwi-bird less-thanless-than-equalmemorymicrophone-alt-slashmoney-bill-wavemoney-bill-wave-alt money-checkmoney-check-alt not-equalpaletteparking percentageproject-diagramreceiptrobotrulerruler-combinedruler-horizontalruler-verticalschool screwdriver shoe-printsskull smoking-banstore store-altstream stroopwafeltoolboxtshirtwalkingwalletangryarchwayatlasaward backspace bezier-curvebongbrushbus-altcannabis check-doublecocktailconcierge-bellcookie cookie-bitecrop-altdigital-tachographdizzydrafting-compassdrum drum-steelpan feather-alt file-contract file-download file-export file-import file-invoicefile-invoice-dollarfile-prescriptionfile-signature file-uploadfill fill-drip fingerprintfishflushed frown-openglass-martini-alt globe-africaglobe-americas globe-asiagrimacegringrin-alt grin-beamgrin-beam-sweat grin-hearts grin-squintgrin-squint-tears grin-stars grin-tears grin-tonguegrin-tongue-squintgrin-tongue-wink grin-winkgrip-horizontal grip-verticalheadphones-altheadset highlighterhot-tubhoteljointkiss kiss-beamkiss-wink-heartlaugh laugh-beam laugh-squint laugh-wink luggage-cart map-markedmap-marked-altmarkermedal meh-blankmeh-rolling-eyesmonument mortar-pestle paint-rollerpassport pen-fancypen-nib pencil-ruler plane-arrivalplane-departure prescriptionsad-crysad-tear shuttle-van signature smile-beam solar-panelspasplotch spray-canstamp star-half-altsuitcase-rollingsurprise swatchbookswimmer swimming-pool tint-slashtiredtoothumbrella-beach vector-squareweight-hangingwine-glass-alt air-freshener apple-altatombone book-readerbraincar-alt car-battery car-crashcar-sidecharging-station directions draw-polygon laptop-code layer-grouplungs microscopeoil-canpoopshapes star-of-lifeteeth teeth-open theater-masks traffic-light truck-monster truck-pickupadankhbible business-timecitycomment-dollarcomments-dollarcross dharmachakraenvelope-open-text folder-minus folder-plus funnel-dollargopuramhamsabahaijedijournal-whillskaabakhandalandmark mail-bulkmenorahmosqueompastafarianismpeaceplace-of-worshippollpoll-hpray praying-handsquran search-dollarsearch-locationsockssquare-root-altstar-and-crescent star-of-david synagoguetorah torii-gatevihara volume-muteyin-yang blender-phone book-dead campgroundcatchair cloud-moon cloud-sundice-d20dice-d6dogdragondrumstick-bitedungeonfile-csv fist-raisedghosthammerhanukiah hat-wizardhikinghippohorse house-damagehryvniamaskmountain network-wiredotterrunningscrollskull-crossbonesspider toilet-papertractor user-injured vr-cardboardwind wine-bottlecloud-meatballcloud-moon-rain cloud-raincloud-showers-heavycloud-sun-raindemocratflag-usameteor person-booth poo-stormrainbow republicansmogtemperature-hightemperature-lowvote-yeawaterbaby baby-carriage biohazardblog calendar-day calendar-week candy-canecarrot cash-registercompress-arrows-altdumpster dumpster-fireethernetgifts glass-cheers glass-whiskey globe-europe grip-linesgrip-lines-verticalguitar heart-broken holly-berry horse-headiciclesigloomittenmug-hot radiation radiation-altrestroom satellitesatellite-dishsd-cardsim-cardskatingskiing skiing-nordicsleighsms snowboardingsnowmansnowplowtengetoilettoolstramfire-altbacon book-medical bread-slicecheeseclinic-medicalcomment-medicalcrutchdiseaseegg hamburgerhand-middle-fingerhard-hat hospital-userhotdog ice-creamlaptop-medicalpager pepper-hot pizza-slice trash-restoretrash-restore-alt user-nurse wave-squarebiking border-all border-none border-stylefanicons phone-altphone-square-alt photo-video remove-formatsort-alpha-down-altsort-alpha-up-altsort-amount-down-altsort-amount-up-altsort-numeric-down-altsort-numeric-up-alt spell-check voicemail hat-cowboyhat-cowboy-sidemouse record-vinylcaravan f0~0~ PKZ&rȃȃ*plugins/pagelayer/fonts/fa-regular-400.ttfnu[ PFFTM9bGDEF*OS/2ASX`cmapǠ gaspglyf;y m\head=¬6hhea5$hmtxtTlocaѡH6maxp8 name;A"v|[postiA{K$_< 0~0~ @LfGLfPfEd.T: @@@@@@@@`@@@@@@@@@@*"$.>DYnpsu|3DFJNR\e IM[]tz([Vgz"$.>DWnpsu{3DFJMP[d GMT]qy(XVgy|zwZYB81-(}zpf`USC m H  g $   @|n*^@ D PF >  h   ^ *d^H :x z88j(Z&>^  Z !*!\!"~"#P##$f$$$%&0&&''F'|''(V() )f)*L*+++,*,--|-.z./0011p12L23,334>4r45R566R6$"/.676>64'&'.7$,$+u**u$O##O$UNOT$ ** W"##"W1"/&?'&6?627/7 j  j A ( Ad>>d||&g DD g&b~~bBB"*2%2#!"&=46322654&#"#"&#"6"&462&"264:7OO7 344b3#99#3xTTxThP88P8O77O#33#TxTTx8P88P2"&4264&"'&=4;2ΑΑuuuU C Αuuu > 0  '3?GOW2#!"&5463254#!"3%+"=4;25+"=4;25+"=4;2"&462"&462"&462`lj `pT\  T  T  uu(8276#"&#"+"&5&5466325#"&#"63232P,A+=C%gA?  ')%gE;f9-4Lf9p ( S    2'4634#!"7P 0ppTvT#.2#!"&5463254#!"362"&457676`l9""((xX ""0((xXPA*/7%76#!"&5463!2+!547&?62'7'&76   `Z 0+t:A+:g `  r Z+10:A +:+2"&4264&"%//&?'&?676ΑΑuuu.>> >> >> >> Αuuu>> >> >> >>2"&4$"264/&?676ΑΑKuuu< [  ; Αauuu  [ = 4<2"&4264&"%+"&=4>7>54&#"/&7632"&462ΑΑuuu3.    %@&?A""Αuuu       64""@!+2"&54732654'6"&'&47>2267." /AA]A !-***Ô%%%%0A]AA.! aPaaPPaaMCCMMCC2E#"'&54?632632#"&'7"'632'67.27#"&'&4767z   -AY -Ap/54[*&%J/54[*&%  ?-r?-$aP)"!CM$aP)"!CM #/;Ggo7#"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;27#!"&546;54;2354;232!3!2( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( `0 ( ( 00T ( ( ( ( ( ( ( ( ( ( `4 44 4*&2#"'#"&7>7&54264&"6?Ԗj/.AJ 5Vzzz(  &zz. %8FV^^^B3*   2#!"&546;25#"/#` 7 7@  7 7H"&%2#!"&546;32%763!54+'#"7!Pp@P?@PM1 @0jh*@/DT%"&=46;2+"&=46;2#3"&=46;2#2#!"&546;27"&=46;2#J 0   =`0   P 0FFE#6L%#"'#"&'&'#"&767&54632%3264&"67654&'32?&/  A<@g;B ,zV@hKeKA___x@1gL1R>  '6,' #+7B^6, Y<71B\BB.# /#$; d?7D g&D~b#?O&.7>&>6766&&7>>&6&.7>76*  '>D88(%6*  '>D88(%5 ,36&  *6%(88D>&  i+  DF<63+  DF<63 `)  7t@+72#!"&5463"!54#2=!37+"=4;2+"=4;2   H H `0**d( ( ( ( @#+%#!"&=4?63!2!'5!$"&462"&4627   iNNi M  ppM0RZ2++"&++"&=46;2327167>322654&+4654#";2'>'>'4&"2"11"$5."S  @  @    *2V,   L=  61""1 "(3( $/$ v,#$&=  & 0RZ546;&546321;6;2+"'#"+"&'&7&'#"&7;;2675&'&'.#"#""2641"V2*    @  @  S".5$"10[  =L   ,"1 $/$ (3(" 1" &  =&$#,0RZ46326+"&=4754'1&'.5463274&#""&#"3>=4.."264j1""1 "(3( $/$ v,#$&=  & m"11"$5."S  @  @    *2V,   L=  0RZ"&=#"&54>76716=&=46;2''26=6767=4&'#3263264&""1 $/$ (3(" 1" &  =&$#,@1"V2*    @  @  S".5$"10[  =L   ,*9B++"&546;546;22=#"&=#"3%2=#"&=#"354/&+PPt`JTX j0 ~0@0>*` X 0@+3;#!"&5463!2#3254/+"&=#"362"&4264&" NzN *H44H4G"">`"PNd  h4H44HL""2#!"&5463254#!"3Z`pT 22#!"&5463!32>567!5".'&'``#dd#`#FF# 0)N N7  7`A2#""&54653+"/&2#4767654&#"#.'&546 &  8( N PIg,0+ K54L +0,ep  & (8++%%gIB25=1$05KJ60$1=52BGi#17%#!"&54767>54675462!&5414&"0"&53  H88H8,B\B4&V  C,:V    V:,C;d.BB.d% #/Ka}754;2+"3"=4;2#+"=4;2"=4;2#!54;46;546;23232%354;23#+"&=#7#54+"#";;2=32=4 ( ( ( t ( ( L ( @  X p X  p ( p@ p @( ( ( ( T ( 4 ( ( |$$ { (  ( C C_  0+7%++"=#"=4;54;2327#!"&5463!24#!"3!2` X X X X ``0T X X X X`T2"&4264&"ΑΑuuuΑuuu/2"&4264&"6"&462"&462>"'&>2ΑΑuuu//!fΑuuuc\ 99 '02"&4264&"6"&46262"&42&'&".7ΑΑuuuso~)RΑuuuc-m1 +2"&4264&"6"&46262"&42+"&463ΑΑuuus(   Αuuuc-}@'3?KWco{2#!"&54634#!"3!2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2     `   `   `          `   `   `   `   b           n              '2#!"&546;54;2354;225!30 ( ( *`4 44 4p* %&=46"&462264&"t  4ΑuuueΑΑuuu '7"=4;2#7#!"&5463!24#!"3!2l l`0T `T#2#!"&5463!%/&?676`< [  ;  `p` [ =  A1X&='.54767675467'".>7676#!"&546;2+"3!2=42;1+ 6(-$50I;"!0<*&> -.   VT"( 6  )K-;(!9 h)A') +`     %6&?6764&"2"&4264&"\ B B 9ZΑΑuuu> B \Αuuu &732/&6%#!"&5463!24#!"3!2}ccK`0Tcc`T &%#"&?67#!"&5463!24#!"3!2Cccu`0Tcc`T &7546&#!"&5463!24#!"3!2cc`0T]cc`T#!"&546;2'!#"&=#r.L h ^rLL  h ),5%+"=4;22+"=43%#!"&546;2'3#"&=# TLh   T   T7>3232>'2654&+4654.#+2;2'>4&"288-E/ @  c 0  -3 $$2K h(" m&%@ !$,3   ? :/454"N) 9  G6#&B"U.6Z%+#".'.'#+"&=46;232>3:32264&"2654&'6&'6+"#322>54&52$$ 3-  0  @  @ .G-88]b  @%&m "("454/: ?  3,$h )"BG  9(8@H%/"/&?'&4?'&6762767'7''77&2"&4264&"<G( + (G<<G( , (G5MM[44[MM[44[V==V=Q.!!.! + )G<<F) + )G<<G54[MM[44\MM=V==Vc!.!!.&"&463276"3267&5467&jj %a>!"$h;VzzV0UT2*@Ԗ#( >$?P 9-2zz)$mU2T &/&?67#!"&5463!24#!"3!2cc`0T#ccE`T"264$2"&42"&4SuuuΑΑB//B/uuuΑ/B//B #/;GYe54;2+"3"=4;2#"=4;2#3"=4;2#+"=4;2"=4;2#!54;463!232%354;23% ( ( ( ( X ( t ( ( L ( @  P  p ( p,( ( ( ( ` ( ( ( ( T ( 4 ( ( |$$   HC C7=DJQ#!"&546;2'!#"&=##"''&76767&766>77"6467&'6&7r.L h  6' . $ 3N-  x^rLL  hD .0*[" #P#!"&546;2'!#"&=#32+"'&/+"'.'&6;2476;21676r.L h         ^rLL  h &b + H k `b aa B#!"&546;2'!#"&=#2+"'&'+"&?'&6;26763r.L h # . ..  ^rLL  h =N 7 NN ($5=#!"&546;2'!#"&=#54;2*#+"73264&+r.L h H E#   0 ^rLL  h %  /c(0#!"&546;2'!#"&=#57676&2"&4r.L h  ((X((^rLL  h@((X((  !$1>FJ3#7#53#3#57#!"&546;23#"&=##5#7"&?5332264&"7#5 @ @ Lh 0 P2  -@  &L  h`W&'a  /=#!"&546;2'!#"&=#/#"&=46;7664'&>.r.L h $$)   ^rLL  h$8$Y  : 7#!"&546;2'!#"&=#6/+"&=46;2r.L h 5 h h ^rLL  h p 4% h %$'0<M7#"/&?67#!"&546;23#"&=#7/&?6&?6/5&?99!Lh  7  7!99!c66&L  h`  O66$+"&46227''64&"264''&"67&7gΑΑ/p/522/B//B5/p/52258ΑD5UB//B//p/5225/p/522!6#"/&='.77'762< p+) r%%;`l !| .;T0 <2$-  &-4#"&'&676326767'7&'7'757/?'# ^a&'O ^a&'O2 'G,4%=/@G<& G@]+G'%e:@,O+ b ^Mb ^ */%L=4J/}45/J>J%?4I0== @+/;GS_2#!"&546;>32=#!7"=4;2#'3554;2+"754;2+"=4;2+"54;2+"(  ! +@`= lPx h h h h h h  !  x ` ` P((      <   5;'&?63!"&54767>77"'675462'&5414&"&53z > . |"&&8H;B4&  0 ='#D   V:7&/.B`%22"&4264&"#"&54632'&#"3276ΑΑuuu3)?=OP<;& !$**$$ Αuuu)Q< V6/.4"%6/.4"% +/37;Ocgo#32+"=!+"=4;#"=4;2!54;2'35!355#!5#'#"=!+32!543'2+"=#"=4;2'355#+ H H H @ H @ @   @  T `8 L@ H H  H H @ @ 4 4pppL  @CGKOSgk%#32+"=#+"=4;5#+"=4;5#"=4;2354;2+354;2'35355#5#354;5#"=#+325#%5#"=#32+"=#3235435#5#4 H H X H H H X H @ 8 X H X 4 H H  H H H  H  @ X H  @  %#!"&5463!27#!3546;T`LLP hdT`Lh (42+#!"&546;54632=#"&=#"3%254#!"300*0@00*`4%+132#!"=4;467.5#"=43!2#!2654&"p2//2 2//2 h KjKKjK?ss?   ?ss?   LllL`LllL)p6+"&5<&4&/&=46>62654&+"&=4&+"&=4&+"&=4&#"/&=4&354?6$C + b'8#I$@:H       a+q,(rd !  U"49#,)( r    ( )  t ) 9U d W6+"/&676546>654&+"&=4&+"&=4&+"&=4&/&376u.  w!3 P4      sO)  7 ~!($%)!ф L       &  w ["&7.7#"&463'.>6#'32?6=4/&#"/&+";2+";2#""( X++^O8+1b"wFFw b      6 #+<+  88 857'%0 7 @;      @@%#5'&+"&546;7#"&=463!254/&#!";2+";2-d!4$r!/!&'v   r c$|H&!$40/!!!L  @',_+"/&5476'&5467&546767>3266&&?6&"/././&;267 : E-k=,\(' 3)+ /+ $ 4  [*k+L *8*V R *'"6" Rh  iz"$0  V#[k{6+"/&676546266&;2?6=4&+"&=4&+"&=4&+"&=4&'546;2+"&7546;2+"&754;2+"f!9%"m!'7'!-m       DL K (#Tw7 ''J w  wT    # #   R` ` ` ` `` [6+"/&7'&>'462654&+"&=4&+"&=4&+"/.;2?6j 6%'758 88  +<+#0      ;@ 7  ("Fw"b1+8O^++XF      b w*22"&4264&"+"/#+"&=46;2'254&+ΑΑuuu6+0 'Of(: Αuuu# ZTU3)!@;C%++"=#"=4;54;2327#!"&546;54;2354;232!3!2P L  L L  L p0 ( ( 00T L L  L L`4 44 4* +37"=4;2#7#!"&546;54;2354;232!3!2| |0 ( ( 00Tx   `4 44 4*;C%//&?'&?6767#!"&546;54;2354;232!3!28 66 66 66 660 ( ( 00TI66 66 66 66`4 44 4*'72#!"&546;54;2354;225!3%/&?6760 ( ( * K  ,o  `4 44 4p*Ɏ K -n  @!&+2#"/#"&54?6327673#0     5=? Z5=?:./,!/*2+#"=#"&54634&#!";?326&&} `&&  C  &&^ T& &   <2 /2"&4264&"%+"&=46;2+"&=46;2ΑΑuuu( 0 0 p 0 0 Αuuu    "&462264&"+"&=46;2Αuuu   'ΑΑuuux  "*Kem3#"&5#'#"'&/#+376;2264&"6/&'&6?#"##36???5#'&+"6?6264&"y@ : #;U  @v0Q  l - '9>*a ! % -=T A7 gn  @  L 0 W ;#>X    $I> <3 S0 3Y#!"&54767>254'&'"."#3!2'".'&'&?622>3676`(_dQ4/V  77  77 !K  OB) %F -    -  ,   , '+3H#32+32+#!"&5463!232!6"&462"&=463232632#  @ P4&&4& ''  @ ( @ ( 00 ( `&4&&4 "" @0<HT2#!"&5463!6"&462"&=463232632#7"=4;2#'"=4;2#'"=4;2#  4&&4& '' >ppppp`p`&4&&4 "" @@@"42"&4264&"&2"&427&'#"'%654&"6322632P88P8L((7ΑΑ8.-%%uu%)@%$%@X8P88PX((ԑΑ0& '$4@SuuS@44 '<2#!"&5463!"&46;2#"&462"&=463232632#P ` ` 4&&4& '' `0``   &4&&4 "" @$0<HP2#!"&5463!3&54632326327"=4;2#'"=4;2#'"=4;2#"&462  !''9ppppp4&&4&`p ""P@@`&4&&42#!"&54635!3!2```v !"&463!2@    &2+#!"&546;54635!%!32000@00`@0%/&//+"&=/&4?5/.?&/&?'.?>7'&/&6?'&?6'&6?65'&?6546;276?>76/76'  H;    :H  ' '" PHHP "''  H:    :H  ( '" PHHP "] " Q*T; . . 62"&462"&462"&4&2#"'#"&7>7&54264&"6?Ԗj/.AJ 5Vzzz(  &zz. %8FV^^^B3*   '72"&4264&"$"'&>276&"&46262/&"&76ΑΑuuu6//!f!l(% & Αuuu$ 99 ''A)  3F2"&4264&"62&'&".?"&547'.>6"&5"'&6?6ΑΑuuuj">'  P   P Αuuu) q     @    +GO2"&4264&"6"/"&4?'&4627626"/"&4?'&462762"&4ΑΑuuu        4&&4&Αuuuk    L    &4&&4 '/7?K2"&4264&"$2"&4264&"62"&4&"&462264&"62"&42+"&463ΑΑuuuB//B/<((&X/B//B5((&   Αuuu/B//BQ((,B//B/((,-2"&4264&"6"&46:"&42'&"&76ΑΑuuuN<= 141 Αuuu]"   /6=AEIMT[2"&4264&"6"&462"&4622+"&=4635#375#"5#75#5#75#5#326=4&+ΑΑuuu(  h000p000h( Αuuuc#  ` ( ((((  %-2"&4264&"%6"&'&62&"&462"&462ΑΑuuu2 MRM )Αuuu" ".."  N #+97"'&'6762"'&'6762&2"&4264&"%6"&'&62qΑΑuuu2 MRM ) "" "" "" ""ڑΑuuu" ".."  .?2"&4264&"%6"&'&62'&7>2/&"7&7>2/&"ΑΑuuu2 MRM )#&#  & #&#  & Αuuu" ".."  V)))) *DU"&54762"&'&62766/&"'&7>27"&4632&#"2654'2$"'&7>2/,..RM ))   & #&#d ΑgC:2:Suuu & #&#   "EE."   "|)),%(gΑ" uuuS!)) 19A%6"&'&62/.7>7>7/&67676&2"&4264&"b MRM )pFFΑΑuuu ".."  > FDF Αuuu*82"&4264&"%6"&'&62.?'&63'&4?6ΑΑuuu2 MRM ) !!PPPP !! Αuuu" ".."  /((0000(( /;JYh76"&4767&67632&#"%67#"'67327>'&76762+&/.?"'&?6367>'&676u /")7Hg<5/6S:.{$9Ig30)-S:1C /"   4  Z4  4  &.:T&@R"/6D6I;-E9I;0TR"/s Z  4Z  4p/%T:6O2"&4264&"%6"&'&62'7'&6?62/&%/&?'&6?62ΑΑuuu2 MRM )# ## Αuuu" ".."  G#  #N ##  %3ARc76"&476"'&'&6"&'6726%&>2&.""&'&62766/&"'&7>2&"'&7>2/u /"M"/ Rl #l~l# _r_ ' & ppRM ))   & #&#& #&#  R"//"R P 2;;2 1;;^_ H``."   "|))")):BJ2"&45'&"/.3267>54&"&=&'&6276&2"&462"&4ΑΑ8  %&1;uu;1 )) Α,    +'%_9SuuS9_ ,   , :GT2"&45'&"/.3267>54&"&=&'&6276/&4?&?'&6ΑΑ8  %&1;uu;1 )) !! PPP !!Α,    +'%_9SuuS9_ ,   , ((0000(('/Db2/&"&7>2"&4264&"62"&4&2"&45'&"/.3267>54&"&=&'&6276(% & B//B/<((&ΑΑ8  %&1;uu;1 ))    L/B//BQ((,Α,    +'%_9SuuS9_ ,   , %-52/&"&76"&4626"&'&622"&4264&"4(% & Z MRM )ΑΑuuu    $T ".."  6Αuuu'/7?2"&4#"'&?64/&4?64/&762"&4264&"$2"&4##))ΑΑuuu q    Αuuu?O2/&"&7>2"&4264&"%#"'&?64/&4?64/&7662/&"&76&#  &  ΑΑuuu##))&#  &  ()Αuuu    )/7If%#"'&?64/&4?64/&7637&"&7>2'&462"/&67676#"&4632&#&'654&"320##))F & %(%ZS  /4ggg  uuuS-     D  ! S  1(Αg.,  Suuu-2"&464&"6"&462"&4622+"&'&63ΑΑKuuuuE..EΑuuuuS -<<- /=2"&464&"2/&"&76&7>2/&"2+"&'&63ΑΑKuuuu&#  &   #&#  & E..EΑuuuu0)#))M -<<- )72"&464&"/&4?6&?'&62+"&'&63ΑΑKuuuu!PP !!PE..EΑuuuu(00b((0R -<<- '52"&464&"2/&"&76"&4622+"&'&63ΑΑKuuuu(% & ZE..EΑuuuu$ $S -<<- 2"&4264&"62"&462"&4ΑΑuuukΑuuu)1CO2"&4264&"$2"&42654'"&547&"&4622654'"&5472+"&463ΑΑuuu<**<*7"@*<**262/&"&762"&4ΑΑ8uu8-f- & %(%p(% & >.!!.!Α:PSuuSP:r    2   * D&4&&4&.92"&4264&"72&'&#"&46&"&46262"&46"&54ΑΑuuu<&& As$"Αuuu#.@-P10A2"&4264&"%>"'&>2''&7>2/&"62/&"'&76ΑΑuuu//!f #&#  &&#  & Αuuu 99 '))%)'2"&4264&"62"&46"&46:"&4ΑΑuuu4&&4&Αuuu;&4&&4{)72"&4264&"$/&4?&?'&62'&"&76ΑΑuuuC !! PPP !!PHC #r# Αuuu((0030((0J6'  'V6"^&! , 1U 4 6Q  D 6& Lz 0 X: . &  E 6] & Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free RegularFont Awesome 5 Free RegularRegularRegularFont Awesome 5 Free Regular-5.15.4Font Awesome 5 Free Regular-5.15.4Font Awesome 5 Free RegularFont Awesome 5 Free Regular331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Free-RegularFontAwesome5Free-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeRegularRegularFont Awesome 5 Free RegularFont Awesome 5 Free RegularFont Awesome 5 FreeFont Awesome 5 FreeRegularRegular      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~heartstaruserclocklist-altflagbookmarkimageedit times-circle check-circlequestion-circleeye eye-slash calendar-altcommentfolder folder-open chart-barcomments star-halflemon credit-cardhddhand-point-righthand-point-left hand-point-uphand-point-downcopysavesquareenvelope lightbulbbellhospital plus-squarecirclesmilefrownmehkeyboardcalendar play-circle minus-square check-square share-squarecompasscaret-square-downcaret-square-upcaret-square-rightfilefile-alt thumbs-up thumbs-downsunmooncaret-square-left dot-circlebuildingfile-pdf file-word file-excelfile-powerpoint file-image file-archive file-audio file-video file-code life-ring paper-planefutbol newspaper bell-slashclosed-captioning object-groupobject-ungroup sticky-noteclone hourglass hand-rock hand-paper hand-scissors hand-lizard hand-spock hand-pointer hand-peace calendar-pluscalendar-minuscalendar-timescalendar-checkmap comment-alt pause-circle stop-circle handshake envelope-open address-book address-card user-circleid-badgeid-cardwindow-maximizewindow-minimizewindow-restore snowflake trash-altimages clipboardarrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upgemmoney-bill-alt window-close comment-dots smile-winkangrydizzyflushed frown-opengrimacegringrin-alt grin-beamgrin-beam-sweat grin-hearts grin-squintgrin-squint-tears grin-stars grin-tears grin-tonguegrin-tongue-squintgrin-tongue-wink grin-winkkiss kiss-beamkiss-wink-heartlaugh laugh-beam laugh-squint laugh-wink meh-blankmeh-rolling-eyessad-crysad-tear smile-beamsurprisetired f0~0~ PKZii/plugins/pagelayer/fonts/OpenSans-BoldItalic.ttfnu[GDEF z f.GPOS fGSUB)fOS/2q6T`cmap6cvt giC fpgmsu:<gaspf glyf2chead{'d6hhea 60$hmtx 'locaD Rmaxp: name_CpostruGprepB  /2/310!!7!!IhyJh"@   TY ?+?9/_^]10#!4632#"&TkaDRnYIRZlLEWlK ?3210#!#%GJ)5;@ 0@  ?3?399//]333333333310!!####7!7#7!333337# EtusqF!wuttENhhii3`%+C@%+ %&OY  PY@H,?99//3++33+3910#7&'&&546773&'6654&' ',ђG#!jn?BH?N1#>EP J k B=|DA 3a H>.;=D+ݴREBfR8TKOCUp_ġk P'5@QY   !%OY% OY ?+?+9/_^]+910#"'32654!#732654&#"'6632PT].IVN|ي}yuO 23q|nCJdQAP %@PY ??9/33+3910#!!7!3!7667#??07ê1: 8#a//i:#?vh&@PYNY OY?+?+9/+102#"&'32654&#"'!!6oԏu=smfoh7XHθ.# c{^^!NX&-@  PY OYOY?+?+9/+9104$32&#"3632#"&2654&#"Xz,}b3TkBsĝc}CEjRI1-H9$HئMFMF7\,A Dk(.Z8gYAJ @ LY??39/+910!!!!&55J'u' ,A\D`^z$x55@MY  LYLY?+?+9/_^]+9102!!32654##32654##ꦙdw5yyʴu na[Htg{7@ LY LY ?+?+10"327#"$32&&Ӏ\}ovjˢŵMM+-<;&5+ @ LYLY?+?+10#!! 2654&##+=5'۔|sch'H5 .@ LY  LY LY?+?+9/_^]+10!!!!!!!f526C7#P5 @ LYLY?+?9/+10!!!!!!f5.6O8'{m&@LY LY LY?+?+9/+10!# $32&&#"327!3sJW񉑖L^B5.!& c(0ͱ+5 @LYL ?3?39/]+10!!!!!!!oΆ)52yy1w= @  ?33?3310!!77'7!Ly$ɘ%%ɜRRRNRR  LY#?+?10"'53267!^]XLc{%14Rydq5 #@  ?3?9339310!!!!7!u}m52iPFBD5LY?+?103!!5526J5@  ?33?3910!!67#!#!!F'54= 65DqEJmX 5@   ?3?39910!!#!!36! "5eT 6R تPL{ @ LY LY?+?+10# $32%"32654&\ysyypA' >Ǝ5@ LY LY?+?9/+1032654##!#!!2 8J@Vm5Rt{!@LYLY?+3?+10!# $32%"32654&\ysyyp!bwH' >Ǝ5&@ MY   LY ?+?39/+91032654&##!!2!N_fJw5g-ruRRyŞ71)V# @ LYLY?+?+9910#"'32654&&'&&546632&#"݇p~2cp|ٴmSjBsyxZlUJ+A8JcpqcJZJ=[KP@ LY?+3?10!!!!!;77@  LY?+?310!"&547!326791{ NHBiJ3q  ??391067!!!N <'3+>pJ-Xg/@ ?3?33910!!3667!367!!'47.E-Zq +XJ5y145@3~JыXFy @   ?3?3910!!!!!dt@@kX+?@ ??393310!!!svVww8fPy/ $@LYLY?+9?+910!!7!!!+& 5)T1'?3?310!!#3'}- ??10!Jw'?3?3103#7!!\#-)qT' ?29103#k߮nJyFH /]310!7!{6! /10#&&'5!G$7$OEEZs %@  GYGY??+?+?9910"&54632373#7#'26654&#"a'9CENM?D{ICgTPG]tXX%h!+@   GYGY?+?+??99//102#"'##!366"326654-R:J->)+N-D|PJACzKsؾУubHP`uZs@  GYGY?+?+10"&54$32&&#"3267ו\6hBUM[QLE[H"߀`a/#OZ#'@ GYGY??+?+?9910"&546323767!#7#726654&#"Rw5L-G!B}LKAD{IeJZnUfWNP`tZBs!.@KY  JY FY ?+?+9/_^]+10"32654"&54$32!#3267X-3g`WesaS_RU[i&0V%*@ GYFYGY?+?+?+9910"'53267#?6632&#"3#-hF=6=\̣)ðhPE@9F 1MPZőTT1PA>s(4>4@:KY()&5KY&(JY(.KY?+?+?+/339/+10#"'!"&5467&5467&&5463232654&'"32654#;(T<;鉒JYfA>SSVjm—AiM_gK]\)4B 3"xf0/VGg/1~ZVBsZR'*șswuu%m@ GY  ?3??+910!!654#"!!36632Ӊl\+bJ-'*A>dD3{1M]Ik% @  IY  ???+104632#"!!B_WILX\-dWY>:Pc^ @IYGY?+??+10"'5327!4632#"ZhF=5$.MX_WILX\)PWY>:Pc%@  ?3??910!!!!3XxJJ-^HJ)Lf% ??10!!!RJ-%s&%@% !GY"??2+3?339910236632!654#"!654#"!336L+Diӊb\,`Ӊb\+bsnvLhD3{/D3{1^%ms@ GY  ?3??+910!!654#"!33632Ӊl\+bъD3{1^䧛IkZTs @ GYGY?+?+104#"3266%#"&54$32%KwKKxC/z}{ہMhs!'@ GYGY?+?+99??102#"&'#!336"326654-Sx3 HV :DMJACzKsJYJP`uZs$'@  GYGY?+?+??9910"&&54632373!667#726654&#"XMV:9/4:H=@IKAD{II_gKY^LކP`tXX%s@   ???29102&#"!336J;%B-7t%js  ^s" @ FY FY?+?+9910#"&'532654&'&&54632&#"=kEPfJ^y`ɢcv9F@X{nq#ZA8+D4D\_T3+';-?^oL'@@ FYGY?+?+3310%27#"&547#?3!!Aao sĄ12s#5~2>TJo^@  GY ??+?3910!3267!#7##"&547-l\+b-Ҋ^sD3{㥜]xf^  ??391067!!!7%)C'--FR^b}^@  ?33?3910!!3>7!3767!!47X>=3VH I3 \^+莛P2^ @   ?3?3910!!!!{Asb-}=!NVs^@   GY ?+?3/310!3667!!"'532677f'80)GXZ9D0T6^z3U `e1^ $@FYFY?+9?+910!!7!7!!#?s3+Sd'@  '?3?3933104#726766333#"&54776-z=&T1ZQB-US$C:5'?SaAJqN,E6(y9DE/ ?103#!&@ %&'?3?393310 3"##56676675&5477654T'-z>%-]XBo%II)8DETa䪌AI)on 3+E6(m'%}(@ ?_/]q333}/3310"56323267#"&'&&V6}6e@jV@^03z=g;daYLB7m$=@ RY  RY  ??39/3+3_^]29+310!3#3#!7#737#73!`s7'%//%')hNݲ/?/99//103#3#)*5@1+1( "?3?3910467&&54632&#"#"'532654&'&&6654_k*8ĬRQW&4̄c[B^ud3>Wd15YD"e9XTj+B'jżs#e:KiF9'C.95[66U._0mF  /333104632#"%4632#"UMNRTNADOQfNPlIWnNP84IW}\&6G@2p     #3+#?3?39/]q39/]q310"3267#"&54632&4$32#"$732$54$#"ohoh+;ЎKr~^]Í妤򒍆9H:^ZƤ椦m@  ?329910"&546632373#7#'26654#"qgr\dx<'P1-N5XIeuxgZB\hSLjwoHZ =@    0  /]3339/]33393333310%H9ϛgϛgm%?@?//]q310%#!5!%#l)j}\ &69@       #3+#?3?399//]3]39/3310###!232654&##4$32#"$732$54$#"XVC4L3HRGQ5\^]Í妤V!)j>=;;^ZƤ椦3@/?o/]310!7!- X@ p _  ?3]]21046632#"&&732654&#"][]\\^]][ABZ[AA[q]\^\][Z^?[\>?^_m% @ /33333/310!5!3!!#5!noq;J+@   ?3?3910!7%>54&#"'6632!x#o<3#VfdJn{,`[J[>8*(R9<~aFjef_\9-%'@ # !?3?39/]3910#"&'532654&##732654&#"'632-fsֲK2}Lb4>"ZTa4-VfRWu!H=:%389((B\o! /1067!#OO.VX8>^ @ GY ??+??399103267!#7##"&'#!!?0Z-b-u3MEV-\T\P3)}jD1@   ?33/99|/10#"'53254&'73VB?>f>O`'t~R"- H1J   ??99103#67'ϺT@fmb-Q)   ?3210#"&54632"32654)apЭ@WP?TinozkH7 E@'     Oo/]3339/33393333310'7'77on1N^g31N^g3aJ'&{< ?55a'tq&{?5'J'<Zu) ?55y^&&@ $$TY$ "?3?+9/_^]103267#"&546676677#"&54632spzE2q\9n]F`o^DQmYIS^NiLSV7v D}RsY>Y>!s\kLFVlJs&$CR&+5 s&$vR&+5s&$KsR&+5`&$RR&+5V&$jwR #&+55 &$P5X %?55oH@' LY   LY   LYLY?+?+3?99//+9/_^]+10!!!!!!!!!#9JVP6C7"OP\`X{7&&z35s&(CR &+55s&(v}R&+55s&(K9R&+55V&(j)R &+55s&,CR &+5s&,vR&+5s&,KrR&+5V&,jzR &+55%+ -@LY LY LY?+?+9/3+310#!#73! 2654&##3#+=}7'۔|sK7GcTdh'5`&1RR&+5{s&2CwR&+5{s&2vR$&+5{s&2KR"&+5{`&2RR%&+5{V&2jR /&+55  @ /_/]107'՘-1-Ӗ-+ј-՘d& @ #MY#LY?+?+9910#"''7&5$327%"&'326|lyb\{iu[~rTE;^|qAGs LuY E+P%=s&8CDR&+5s&8vR&+5s&8KR&+5V&8jR (&+55?s&<v{R&+55w @ LY LY  ??99//++10!#!!3232654##wV>522#d7J''w:,@& ))GYFY05GY0?+?+?+9102#"'532654&'&&54676654&#"#"'53276$NbI.,9kKֻne^5R^FZuBMOU`x+ЭZF=6%/rJ*55+SS=NB5(F>HtDTzB%N9>Igx=ƵZ!&DC"&+5Z!&Dvs)&+5Z &DK'&+5Z&DR*&+5Z&Dj 4&+55Z&DP $&+55Zs,:CT@0 >"KY> >>;JY4GY'FY -GY ??+3+?+?+?9/_^]+910"&'#7##"&546323736632!#3267%26654&#""32654m/G\`29,\4ohBLH|JBEDxFAqX-6<^XMڻ_MWZ1>`g.(VP`}T\saS_Zs&FzZB!&HC#&+5ZB!&Hv-*&+5ZM!&HK(&+5ZB&Hj 5&+55%C!&C&+5%P!&v@ &+5$M!&K &+5%7&j &+55H',7@&FYFY?+?29/+99910&'77#"&546323&''26654&#"j"ZvbLQ@S.aXnBqAMFIr?N".=NjkΥ>?a!odM[jkQ[%&QR+ &+5ZT!&RC&+5Zh!&RvX"&+5ZU!&RK &+5Z&RR#&+5ZT&Rj -&+55m%3@$ P`p?//]q3]2]2105!4632#"&4632#"&mJBBIJAAKJBCHJAAKdLKNIFRNKMQGFQN+f% @"FYFY?+?+9910#"''7&54$327%"&255T{fmwH`FTBBQEm#r 15lkM8Xnik6}~ P Do!&XC&+5o!&Xv&+5o!&XK&+5o&Xj *&+55s!&\v&+5h#'@ GYGY?+?+??99102#"'#!!36"326654&-≲] H-B3GvICHExKKs̓P`XXs&\j *&+55&$MR&+5Z&DM#$&+5}&$N\R&+5Z+&DN#&+5&$Q7Zs&DQ{7s&&vR"&+5Z+!&Fv"&+5{7s&&KR &+5Z&!&FK &+5{7f&&OR#&+5Z&FO#&+5{7s&&LR$&+5Z]!&FL$&+55+s&'L\R&+5Z&G8'%+Zq+J@) KY %GY   GY??+?9/_^]+9/3+3991023467!7!7!3##7##"&54626654&#"TX}- )'#-#)MUQDtLAIGzGL5EPlǡTZKõNwlHXzoXX5&(MVR&+5ZB&HM %&+55}&(NR&+5Zc+&HN$&+55I&(O-5&+5ZB&HO+&+55&(QZ(Bs&HQ5s&(L-R&+5Z!&HL,&+5{ms&*KR$&+5!&JKFE&+5{m}&*NR &+5+&JNA&+5{mf&*OR'&+5&JO#H&+5{;m&*9!&J:wC&+55s&+KR&+5%&KKN &+55-3@ LYL  ?3?39/]+9/39103#!!!#737!!7!7!{)Ά))(2))1V%)%w-ô%` <@!   KYGY   ?3?9/]+9/3+3910!!654#"!#737!!!36632}j]+V+#-!++&*>dPD3{oǡǤ}N\Of`&,RR&+5%|&R &+5&,MR&+5%&M&+5}&,N]R&+5%S+&N&+5&,Q&LQ`f&,OsR&+5%?^ ??10!!!R-^R&,-%&LM`Rs&-KUR&+5D!&7K&+55;&.9%;&N9{%^@  ?3?3910!!!!3XxJ-G ^H^x*5s&/vR&+5%&Ov &+55;&/9B;&O9"5&/8!?5%N&O85&/Oup%&OO!8 '@    LY?+?939103'7!7!9g:fݒ/kjV6wN˧h @  ??939107!'7!/@jcjys'  'Zs#09K@) 4KY4 44 1JY $GY +GYFY?+?+?+?+9/_^]+9910"&'#"&54$32632!#3267"3254&%"32654t.?{݊h3f`We]hGpEIImJX-MDDMI[i&0.(y~[b `evaS_5s&5vR&+5%!&Uv&+55;&59;s&U9&5s&5LBR!&+5%,!&UL&+5)xs&6vhR,&+5!&Vv+&+5)ds&6KR*&+5!&VKt)&+5)V&6zds&Vz/)s&6LR.&+5"!&VL-&+5;&798;oL&W9s&7LR&+5^(&W8$@  LY ?+3?9/333103#!#73!!!7}}7L77RTboL 9@ KY @FYGY?+?+339/3+310%27#"&5477#737#?3!!3#Aao !))Ą12))#5~2>TƔJ`&8RR&+5o&XR1 &+5&8MR&+5o&XM9&+5}&8NR&+5o+&XN&+5&8PR &+55o&XP &+55s&8S?R &&+55oR!&XS (&+55&8Qmo^&XQs&:KR%&+5}!&ZK%&+5?s&<KR&+5s!&\K&+5?V&<j#R &+55s&=vjR&+5 !&]v&+5f&=OR&+5&]O&+5s&=L R&+52!&]L&+5 @ GY GY?+?+10"'53276632&#"HhF=6$*ïkPE@9EM1PA/@ FYGYGY?+?+9/+9910"'5327#?6632&#"3#hF=6$)ðhPE@9F 1MqPT1PA>b)&.,@*LY** '`$$?3?39]29/+10!!!&54632%667!#4&#"326!&'=M+on$*V:Tנ7**600*7+5C pDJB0Bny/ 1p&-33--33oj5UZ !4BQ@/ @ H)@-3").):Pc  @    /3]210#"&546324&#"326 rnon7**600*7komk-33--44T  /?3103327#"&5467wH ,:TPfw_x`h2kXRM;!@ o /]99//3310".#"#3232673b1K@;!1;1MB:"0B!'!835!' 37! /321067!#%67!#ru1+`ru1+`5E5E5^/1067!#5LJxƧV /333910667!#4632#"%4632#"IZMD<=GJy'MD<=GJy*KNP93IWnNP93IW&$T 2>+5)}jD"/'(T 2>+5"7'+T 2>+5"',T 2>+5>&2wT 2 >+5"v'<7T  2 >+5>''vT #2##>+5Gx&U .&+555$5%5LY?+?10!!!!b5.6b(5(=5+{.@LY  LYLY?+?+9/_^]+10!7%# $3 %"32654&5D5\_"ńt}jf!V3 18Ŏ,5.R ?2?910#!!&5{V; /*TDDqOW5051h .@LY   LY LY ?+?+9/_^]+10!!!!!8eb755{3w=H{25@ LY?+?310!!!!!d350L53 *@LY LY?+9?+99910#77!!!+116> T5)7?<{H <@! MY  @   MYP`?]+99?_^]+99107.5%7!6654&'!-1wtY%%1dvpvo tב?  Ǧm ©py;%@MYO ??339/]3+310#!#"&547!33!3267!\_^'eop"f)omNϸYl!D1bR !@LY LY ?3+3?+10"!!&&54$3 !!$4&TooLO;5uewH#l7w;~K?ebV&,jzR &+55?V&<j#R &+55Z^&~TD7&+5'/^&T.&+5%m^&TB&+5`^&T&+5w&U 1&+555Zs!/+@)GY HY"GY?3++?+?99106673327#"'##"&546322654&#"w;-]C=$?f-Q\Y}3MtC@AGyHA)WSxA _F[N^ VP`xc\+0@$%%$GY%% GY GY ?+?+?9/+9102#"&'!66"32654&##732654&#๧}OLrY.Sfh6qic/3;n|Jw!*cx|#~\\|DK;^ ??33310!7!3>!}3'-- CbjP)i_> 7'$@" FYGY?+?+93310&54632&#"!"&542654'pcwCP.hef~M~5 ?3A^a$\909@100JY00'!%$%$FY%?+99/_^]9/+93310#"!6654&'&&5%5&&5467##7!#"33PFFlxW-WcqO;Jk`k:51-jusfsDU4[\qz.&3"F=^rPp* @xSPTZTsR^^"@ FYGY?+?+33?10%27#"&546!!#77!#ABd rο/l!7yF3yR(Hhs"@ GYGY?+?+?910#"'!>32"326654&h_ H.֝NWj"71dEuLB|R:oXmXbZs !@!  GY?+/_^]3310!6654&'&&54$32&#"Ndja1WcqO>G \~bTOPj-2ObB[\qz.(7 GƔKH9pZ;^@ FY GY?+?+310#"&54$3!!%"3254'JWσ1A/%5iRt)Nm[;-xՄof^%^@  FYGY?+?+310%27#"&547!77!!Aao s1s#5}2>RJw^@  GY?+?310"&547!3 !+5-PƶFP`=<}aZ#(@ FY ""GY"?+99?+?10%>54#"&&5476632DfQ^Y(i߬uTDn/̯Ω`݃3OmxҼ &s(@HY HY?+?+??9102!327#"&'!&&#"'63|@LJ 01-:ab~)5 **"'4es1:;!}NMA'w @  GY ?3+3??3?106!!&&547!ĵ-cb+[W `-1ƪFP`='4&##!!!!32uNPDIL% ?F7894b&'LF =6^'BL5s&av}R&+5{7.@LY  LY LY?+?+9/_^]+10"!!!27#"$32&&95\zhvH˿MM+18)8)V6,V&,jzR &+55R-?$0@$LYLY LYLY?+?+?+9/+1032!!# #"'53266!32654&##DJOP?5/ATPiGLw_amu?'HyuJQ5)@ LY  LY?+??39/3+310!!!!!!!3232654##@m52wy1wVI}my1Eynh#@ LY   LY ?+3?39/+104&##!!!!32!67JKِ789Td 'D7^>p^25s&vR&+5&6/R&+55V @  U LY ?3+??310!!!!!!j40\\LJV$5 &@ LY  LYLY?+?+9/+102!!!!2654##dN566A%lTyujw5%5a;V $@ ULY LY ?+33?+?31036!3!!!!5y\] NoLTV^5(!@  ?33?339310!!!!!!/ %H'ܗ TT-13)'-@MY $$MY$ MY ?+?+9/+910!"&'32654&##73 54&#"'6632ŏ͋N٪3_^m{mw $+cys]WHR{[GX5@    ?3?39910!!7'!!r^d#5AJ؏LF5&6R&+55 @  ?3?393310!!!!!`52X1T-@LY LY?+?+?10 #"'53266!!#OP?5/ATPiG]u?'J505+{25n53{7&7@  LY?+?39310"'32667!67!|WQu0J?13.XN  '"AQ]:n'yI{Hsy;5V @ U LY?+3??310%!!!!!h\/540`L@m@ LY ??39/+10!#"&547!327!w p1l 21V9;%.$JJ5 @ LY?+3?33103!!!!!55:};}9LLJ5V@ U LY?+33??3310%!!!!!!!\5:};}9`LL@' &@LY LY  LY?+?+9/+1032!!!!32654##CI7dlHuj5"@ LY  LY?+??39/+10!!!!!!3232654##59Rh52w%iEM6Kuj5R @LY LY?+?9/+10!!!3232654##RI52wCJdlKuj.@LY   LYLY?+?+9/_^]+10%267!7!75!"'63 #"&'<5A}PyS83ZE%.`5#2@ LY    LYLY?+?+??_^]9/+10#"47!!!!32%"32654&Ͱ52yPe kfwjkerD'2, 4;ɋ $@MY  LY ?+?39/+310!&&54$!!!#"33akY3wm^l1DkJ1roO[ZsDm#&$@  FYGY?+?9/+91076$%36632#"&%26654#"mH +ZB`BsGs8<K#g 9(-/WtTVykZRsOZZs *-@$$JY$$!JYJY?+?+9/+9102#"&54$32654&#"32654&ǻyyYZu۔[YU\apU'W_BsprTjYCh iuVDBAnFE05s& @"$FYFY?+?+9910632327#"&54>7>54#"гBpRdA^rFoE:yrX_{T;#$*dZ/']|S6,",VKZ)%1@  FY GYGY?+?+9/+9310#"&546323754&#"'63 267&&#"yݍ`|ja?j!YGsLJѺ$Ͼ)1BWݺXcZBsHs9=@ 7KY99'GY"-  GY2?3+3?3+3??9/3+310##"'7326654&#"56323!3632&#"327#"&55#!+9M:/5THHA-LLfd!d9$GA45}HA-LIiȬ` ށ`a/ `a-=s$-@#$$#JY$$ FY FY?+?+9/+9102654&#"'632!"&'53 54##7όtDVEMH~eE-;D.4-"Vh$8(#Xuo^Xo?&X6&+5%^ @  ?3?393310!!!!X!u.o^!^s@GY HY ?+?+?10!!&#"#"'53267>32Ӽ(CZJH#C[`Y<%/2O&fpWEu?gNio/u93^@    ?33?3910#&'!!667!!R*?; B-'>Oh^#TG54&'ܢ`h+ZVV]R]Q[Od٦&/ g j jr`^[jo^%@ "FYGY?+?+??39103267!327!&'##"&5473l\+b->'3`a Ɖ^sD3{Au-ȥD\^@GY ??29/+910!32677!!7##"&547->>9b--@+^D2?@/Oj^%%@%  !!GY?3+3??3399103267!#7##"'##"&547!3267c]+c-+Յ-b\/`^sF1{㦛Ik}sD3{jo^./@. $"FY**GY?3+3?+??3399103267!327!&'##"'##"&547!3267c]+c-=)1ag+Յ-b\/`^sF1{Au/㦛Ik}sD3{\^&@JY FY JY ?+?+9/+10632#"&547!732654#"cX}X1LCVgFZ^:xeFn=BYI{ NjJ^ "@JY JY ?+??39/+10632# 47"32654!!5bbisܘz%9J>4IY-^:yhEWfp}C5=>]Iw%^h^@JY  JY ?+?9/+10632#"&547!"32654V|-FZNBVfyeAsw}g%>AZH{s&@KYGY GY?+?+9/+102#"'53267!7!754&#"'6ב쿘h4xNq!+dWQ9]9Ps7'u{[c R%Ts *@ FY  GYGY?+?+??9/+10#"&55#!!36$32"326654Tb0]9NDnD@nB53^R y}{^#.@!!KY!!JY HY?+?+?9/+910"#"'53267767&5463!!"339R.Bo[<(%*5@_[O]FM];Odt-"3mAWI7CZB&Hj 5&+55%`*H@($ &'&KY'' ) GY    $)$GY?+??9/_^]+9/3+3910!!36632#"'53267654#"!#737!{++&,>d)ɣhF=5=]j\,X+#-sǻfN\OfLQYD3{oǡ!&v/&+5Zs&@KY GYGY?+?+9/+10"&54$32&&#"!!3267ؗ \6hB["o+LEZH"sr/#OsV%L%7&j &+55M{s(5:@!)JY &&GY&HY 1JY ?+?+?+9/_^]+10632#"&547'"#"&'532677>32"32654?ln|Z-CYGDHge3;!%/3M#+Q̝ΝEZLCVgyeIk@[ gp\:[#=BYI{1{^$-@JYFY JY ?+??39/++10632#"&547!!!!!"32654?tf|c/\'Z-EZLCVgye=]3^R}[#=BYI{%`%!&v&+5s?&\6&+5j^$@ GY??+??399103!3267!#7##"&547T1`Lۉl\+b-҉)=YsD3{㥜D\5@ LY?+?10!!!Bu56H%5@ GY?+?10!!!!I@f^1s&:C%R &+5}!&ZCs &+5s&:vR'&+5}!&Zv;'&+5V&:j}R 2&+55}&Zj 2&+55?s&<CR &+5s!&\CM&+5)/3107!)1T1)/3107!)1+1),2'BBv045H./H@ %)H]5]+++55sZ ?10'673{g[gjR ?10#6JgYj' /10%#6ygXj' ?10#'7 C hh s  ?3210'673!'6739gab%g[gj ?3210#6!#66JgYjg/}'5tLB /2210%#6!#66ygXj d2y'9{B  '@  ??9/333993310%!7!%ɘ4'"CBa;!E@!        ??99//3339933333993310%%!7777!%%XD447Z37D3/wvh) @ ?/]1046632#"&hUix}uja|Ȇ9&'1bs u &4@N9@5520LLL?";;+E?333?3??9/]39/]33310"3254#"&54632%#"3254#"&54632"326654#"&54632?_8A^pzo{@'I.7B^oxj|'H.7)H/lyj|``mJp]a`dړ!4paana`d۔#% HZ@ 0 /]39/]310H9ϛgHP-@Oo/]39/393310'7Pn1N^g3&3 ??10#?JX@   ?3]q2910654#"#3632'TA<\=͔d}adX "J|yo^-#R;@RY NY  NY ?+?9/+9/_^]3+310!!!#73!!!!$57%-5H8##V@0"#"RY ##/## ##RY OYNY?+9?+9/3+39/_^]3+31076632&#"!!!!!!7667#737#7s)îq`Hc+')%+71em%'VDM_qsE!n\s9.F@$%&@#& )&)QY&& NY NYQY?+?+?9/+9/+331032654&##!#!!2267#"&547#?33#3`^D+Ro8=+&@+h{>o{3.B.KP5t/Vjs$()&J@(RY @ RY OY NY?+?+9/3+3_^]2+310"!!!!327# #7367#73632&&a8\' +%Yg~B% }'WGdV}WXՕ"Qx{??C0.91{'3%@(%% /?3?3??9/39/310"&5432&#"3267##"&54632"32654ʨmb7U;2M+63!=@`?ʮ}̭+E(*&?T})#PA@#$))& @ H/+]q333}/33222}/3310"56323267#"&'&&"5632327#"&'&&V3zJqh @ ??933310#3h>s>s!fg%t&IL%&IO=? /3210#"&547!3267"Ԙ ck?LXbD^  GY?+?10"'53267!XhF=6=\-MPZ) ?1067!#S)@{9E{; /10667!#{Q!}EV39>Mm! /10!56673mWC(;;Jb5% !?3?310"3254#"&54632?_7B^i~i``d陟 /J- !@  ?3?9/]33310##7!7!3!77w !yw: <ᗗ-JL^95@p !?3?39/]3102#"'532654#"'!!6qڳ]3|9Yc?FLw)+$k6#NFnC Z9#$!@p!?3?39/]310632#"&54632&#"2654&#"LPtiyơ$f+9WmI=K3*=H/-X|mȬwp[G07MI1B{Jm ?3?10!7!{j'/J)R5'",@ ( # !?3?29102#"&5467&&54632654&"654&dYAOƫxm39=5,4<+##1@^*paXi $bIi^x&#W>n,]*2?+,82(8*)K"&Z9#!@ !?3?39/]310#"'53267#"&54632"32654&Y9\ z&ZshyƠ:K2*(A+B BA>=21 , 84 95!/333333333/3339333333333333339/333/39/3/339/393/310!#%5!#533!5353!5!!5!5!#3#35!#35!35!#35#3#3#"&546323254#"%32##32654&##32654#"'53253T/0momImmmm0oowoooomm~smp.,;0m^{B.$*/;J1%Z^4+V}i0oo/mmmmmmoo;mmJoooo/yhIaCS1D D8QYb" "+%J fVr_cT*1@ (("""//99//3333/993310 54676654&#"63232654&#"TV,AgIOGRZ?>1HT;GFBIHCHEVW/2A1R~X8*P:/5K6DpJ;?HI>@IH!&7L&+5jRu) 7H@'6)06770FY0 00FY0&FY?+?+9/_^]+9/39910654&#"#"&547654#"563232.546323|H?BA69+-tmfo#|z;|1Ye2;y\E]M9-e[IvS,f mr%#H@  MY?+??933107632&#"!!qCфSO8&;@uw8f{PN/^^+1@ ##  FY )FY?2+3?+339/910"&547!77!##"&'4'!32677!32)YIi/lBpESdrӾiRXoaim]I0۬oU2s+5u&0vT&+5%!&Pv/&+5&$[^Zs&D[B&2d\  /39/310#"&546324&#"326rppn7**600*7kmlk-33--44fh3 ?1067!#%467#"&=RxȖEO869Oyl^tJ)&  &,<%-8<GF@'@FIY@:#GY *66FY;' 2GY-?2+3?3+33?3+3??+10"'53267#?6632&#"!76632&#"3#!"'5327!!!4632#"-hF=6=\̣)ðhPE@9F )ðhOEA9E 1MhF=6$tM-`WILX\PZőTT1PA>T1PA>^WY>:Pc%;8<?@!;:#GY *66FY '2GY-?2+3?33+33?3+3??10"'53267#?6632&#"!76632&#"3#!"'5327!!!-hF=6=\̣)ðhPE@9F )ðhOEA9E 1MhF=6$tMI-PZőTT1PA>T1PA>{#'@ @  LY LY?+?+9910# $3 67!%"32654&\2p / /ysyypA' J:Tͷ>ƎZ"'@@ GYGY?+?+99102667!#"&54$4#"3266sDT' 0.KwKKxCs<3NMEz}{` @  @ LY ?+?39/310667!!"&547!3267'LT/ 7!#7##"&5473l\+b-3D+/ :̮҉^sD3{p >aj㥜D\!C!vRER /2910#76654&#"5632NA 3JIezAZH{5j$9@LY  LY LY?+?+??9/_^]3+310"!!3267#"7#!!3!2&75|JƆ52yR zhv˲#3 -M+ V;18a%s%1@ FY  GY GY?+?+??9/3+310"&547#!!36$32&&#"!!3267b0]B#µ\5hBP'g0]Q={[& 1^RH#mb`a#/O %@ MY ??339/+3910!!#!!!#7&'/)uD15|wDw~{;^ %@ JY   ??339/+3910!#!#!&'9%Pa) ^ZZ^e55@ MY LY  ??3?9/++3910!#!#!!!!!!3&'D1/Z5)x^?u*wwwCDdڗc%H^-@   FY  ?3?39/3+33910#!#!!!!!!!'Vhc\\jZt333^R4@ MYLY?+99?339/+33310#6677!!&&##!#"!VDHyq !/.}ʃ7W(Fkى$D`T{O_3qC^2@KY JY?+99?339/33+310#6677!#&&'!7!f=zPR%! \g/8źs}mhh3I@=885 %8@%LY LY?+9?39/33+3310!!#"!67!!!!7!!&&##7m˃ 9P)2;52yG^]2 !./qCL{M]/o?&[xD`T%^"8@ FY  " "JY ?+9?39/33+3310!67!!!!7!#&&'!7!+2c\SP%#]g/8ĻLX)3^RFhh 3HA=88/LN@(# M>8;GB B8@+,,+MY,,882MYJ8MY#?+?3+9/+9_^]293310327632&&#"&54667>54&##73 54&#"'667&'53>32&#"Œw^)wGXW7zJ8`yB3_^mVn2fk/P`b:<*"&%_Qw t)J)vY!:TF[SHR{7Mhp>YK' CW!/)dLP@+C**M /  #KLLKJYLL= JY =0FY=#?+?+39/+9_^]2933102654&#"'67&'53>32&#"32632&&#"#"&5467>54&##7ՍmDVEMHu)Tk/Q_e7>(%#$N>~wpUG>EADBL4V]ߌs4XX-;D.4-"4P{p>ZI' 1>?h$8vX -++! #;24:uw{ &@LY LY LY?+?+9/+10# $32267!"!74&\4{1x=yA' Cɴ8۷3ZTs &@JY GY GY?+?+9/+10#"&54$32267!"!54&TM|"{PK{$LMT|r[b{ndi@  LY?+??910667>32&#"!!J\v_RF4-@Z3'31:"῕HZcbQD>ff@  GY?+??91067>32&#"!! wux@H??>GV3X3i޴}>Vi:a4$DHcjW[)OmDvm"("3;&-&p \1* "-2Q)#i8NKVC(;,0pqXW2XZTR,@Rg@EDD P8-..488@& H8844; ;  ! FY& FY?3+3?3+399_^]23/+]9/39/310"'#"&54632&#"32673254&#"'632#".#"#6632356654&'&&5432'iɐfVvvw@I?}HVnnU>)z݌?Nl`)>"("4;&-&w\0* "^RB5CU@0;??CC/CCCC C8LLZ-%3))"00ZZgg  /32/329/39/3332229/33322233222102#&&#"#62#&&#"#662#&&#"#66!2#&&#"#662#&&#"#66!2#&&#"#662#&&#"#6!2#&&#"#66]qO0@ #037;(++;3# /3/3933333310#6736673#&'5&&'5'766'677'&&&'7BF$a5Ia4GA݁ZBO݁ExbCExbC{LbRC&b'Z1BO݁GA܂!Ia5F$a5DnXb'XDnXbYFcbxF24bE5VH$+@$!@ LY  U??3+?3229910!3!!!#7'!#"&547!3267jA r1^d#"Ԙ dlLFTL؏L/[_jo?+/@+#(@ "GYFY?+?+??392210!7##"&547!3267!3!#"&547!3267Ɖ-l\+b-i2 ckȥD\sD3{?¤Xb5R3@LY  LY LY?+?9/+9/3+310!!#737!3#3232654##RI7 2!8!CJdl!Kujs%=@ KYJY  !JY ?+?9/_^]+9/+9910!!632#"&547#737!"32654m/)eX})/-JFZLCVf5)xeFn N=BZH{54@  LY  LY ?+?9/+999910'##!!2327'7654##zt>DgtVm5Rd8+)416J BR%qRi?_hs';@ #"   GY GY ?+??+?999999102'"&'#!336"33'76654-7=4Sx3 HV :F|NE0 714:s]RJYJ}ZVyRhKl $@LY  LY ?+?9/3+310!!!#73!!58}7.6RTd^ $@ FY  GY ?+?9/3+310!!!!#735I/1XZ1b^^5'@ LY LYLY?+?+?9/+10"!!!632#"'3254&VI6u5.6VPXsؾzȑ/ g13 ӥ% ^'@GYGY HY?+?+?9/+10%#"'32654&#"!!!632ՒR`}YW/#P5I53Pʸ+6ؼqz^V-@   UMY?+33??339310!!!!!!3!;ܗk/ %Hя\13 TT-`os9C@$"&&KY $$"55GY FY).GY)?+/+?3+3???9/3+31023!3632&#"327!&&55#!##"'7326654&#"569d!d9$GA45}NERP\``9M:/5THHA-LLs/ `a!o֯-= ށ`a)&s&q5V$@  UMY?+???393310%!!#!!!#]52X`1T-%o^$@   "GY?+???393310!3!#!!X!`u.o^u!^5@    ?3?3910!!#!!73!`{Vyo52KXNTTf/Z^@ ?3?3910!!!737!!#'-oVDP"}#N/^dE_m  ` $-xL}fޯbZs+7\@,2" ))2KY))))) )@ H)) JY @GY"FY?+?++9/+_^]+99910327#"'#"&54$32&#"33&&546326654&#"yZ">8FUk`}ؙ A/D3{/D3{1^?<f^  ??3/331067!!!'3)Chi'05reR^PaL?-@ LY      ??393/]3+310!!!!!!7!svV'5:958fPy^@ FY  ??3?33+31067!!!!!7!!$:)C1781'-1mnR^9Vy#@ U MY?+???3910!!!!!!t@@kX߲\+`o^#@  " GY ?+???3910!!!!#!{Asb- ^}=!NuVVo&@U LY   LY?+3?3+3?10!!!!!!!B\/750 LNT\o1^#2@!" ! FY !FYGY?+?+?3+3?9103267!327!&'##"&547#7!Xfa+b->'3`a ƉP11yXD9uAu-ȡZyV"@LY UMY?+??39/+10!#"&547!327!!!w p1l 2\1V9;%.$J@`o^)@ GY "GY?+??39/+910!7##"&5477!32677!3!@+3->>9b--`/OD2?@um-@LY??39/+999910!!##"&547!367!7wfLFA p1l }EDR^21./9;%.$v H,^+@GY ??39/+9999910736677!!7##7"&5477!>H1/E\#-?+>I6/3^D2^#ß/D$ըO5@ LY ?3?9/+10!632!654#"!j2w pm V5@.$Jq%!^@ GY  ?3?9/+10!!654&#"!!3632=>9b--?+#F1?@^ѴD=;#-4@' '' MY''$LYLY?+?+9/+9910!2!#327# 7&&54733"32654&Xv~jűJ5--׀0\Ed'BƳKM&VqubQ='/gɞvr;Ds#,4@'''KY''$JYFY?+?+9/+3310"&55$547333632!#3267"32654:+)! <=ٱ3g`We6X-)dR@G*.[i&0VsaS_=V; 0;@ .MY')ULY*''"LY'?+3?+?9/+9910"32654&47333!2!#327!&57&&0\EzJ5-- ^~ v~jņV^ɞvr;DubQ='/,=ƳK= f2Vos/;@)% KY " JY !FY?+3?+?9/+3310"32654632!#3267!&&55$54733X-X<=ٱ3g`WeP\:+)!saS_[i&0C'ҡ)dR@G*.,&6`R&+5?&6y>&+55'@ MY LY?+??39/+310"!!!#"'325sSMm52XvbĨ{z!TR13 B% ^'@KY HY ?+??39/+310!#"'32654&#"!!X-]b{|oF;N-n^۷դ+6ȵt^V$@LYULY LY ?+?+??+10!!!! #"'532661OP?5/ATPiGTLu?'os!&@"FYGYHY?+?+?+?10%3!#&#"#"'53267>32 (CZJH#C[`Y<%/2O&fpWEu?gNio/u95,@ LY    LY  ??3?+9/_^]+10"'3267!!!!!{}'k)52yy1=12=% ^"@FY HY?+??39/+10!!#"'3267!!D]]Z-5ԛgrobx"Xb^R:<3^5V,@LY    LYU??2+?39/_^]+10!!!!!!!!=)52yy11w=TL%o ^%@FY " FY?+???39/+10!!!!!!3!`b0]]Z-3^RVm"@LY UMY?+??39/+10!!!#"&547!327![єD p1l 2V;V9;%.$JJo^)@GY " GY ?+??39/+91032677!!!37667##"&5477!>>9b--T 3^D2?@o7-uO5VH#@  LYU??33+?3910!#!!3!!!#7#j= 65D'1:/mHPXETL ou^$@    "FY?+??3?3910!#&'!!67!3!#R*?; X1'>Oh^#TGX,^&$6uR&+5Z?&D6%&+5V&$jqR #&+55Z&Dj 4&+55oZs5&(6'R&+5Z?&H6&&+5D"&@MY LY LY ?+?+9/+10"63 #"&54$!3654&267#"mS "k@N, NFĴ)%wn`%o^ @"GYGY?+?+?103!!3!%3I`^u5V&jRR *&+55jJ&j 4&+557@ LY  LY LYMY?+?+?+9/3+310"'532677!#73!!!!!iH7K4Ʈ1#9;fqɋ}KHZ#1,@   +GY $$GY ?3+3?+?99/10%#"&546323466!32677!#"&'%26654&#")Ϻ努` S- @3KN51C-߽s,IwFCIExKLȾhK[2$8=cVTI|P`XXq,0@MY**%MY* LY?+?+9/+9/103267!#"&54654&##732654&#"'6!2DntzBPT6c, ml/QOrs)n}t`w-&M-OUws?NiӐs+0@)JY ##FY# GY ?+?+9/+9/103267!#"&554&##732654&#"'632A2IM=1C+Ͻ\}-pIQFJH{s)65ZiŢ)OD:E6,.!Vj$"V%0@MY$U MY!MY?+?+?9/+910!654##73 54&#"'6632!!DO4~^^m{mň \m?-HR{[GX` wO`os$0@JY#"FY GY?+?+?9/+910!7654&##732654&#"'6323!L7^^-}tDVEMHр`DH;;D.4-"Vm!3%Xud&!@ &LY&  LY?3+3?+/103267!#"&547! #"'53266<;ETT5b+OP?5/ATPiG<"3?fq-ñ>qu?'s/"@*GY* GY"HY ?3++?+/1032677!#"&547&#"#"'53267>32+@3KN51C- b(CZJH#C[`Y<%/2O&fpWE T8=c¯6;?gNio/u9q25o.@ LY  LY?+??39/_^]+/103267!#"&5467!!!!<;ETT6c+!)52yy<"3?fq-ô-k=%^&@FY HY?+??39/+/10!!32677!#"&5477!!D]]Z- C6CQ51C- b^RV4&68`w®6;#3^{&@LY LY LY?+?+9/+10!! $32&&#"!267!#DseJ!50c6"ʷZs&@FY GY GY?+?+9/+10!!"&54$32&#"3267!7 82mDmh[iG2&Halkj9@LY LY?+?+3/10!!3267!#"&54777<;ETT5b+<"3?fq-ñ>q^^@FY GY ?+?+3/1032677!#"&547!7!!b@3KN52D+T/1` T8=cñEt17D'-@# MY LYLY?+?+9/+9102&&#"33#"3267!"$54675&54$#~Afjz3{ˉ{]O,>P/@^N[Sur\N5+VȲ H'/s"+@LY"LY"LY MY?+?+?+?+10!#"'532677!! #"'53266+X'iH732'M'hH7q,-#%5%A6=)x)A<>$^,o/#yx1 '- j`)<MRz<  /32910#"&54733275673;"џB?eG+N? 0  /32910#"&5473327&'53;"џB~58+Nsbji!@   /32299310#"&5473327'#76654#"5632;"џB5CD h 63-* *uQ5T28%#' 5)>5%0v t8I{Lpm.(F /?310254&'3#"'5Jm1-\=:f5a9vr|qZL @ OY&OY?+?+10"3254#"&54$32rq/ͽ&ԶU'Ts  ??9910!!67'3do9-PÇ5c(2}X@ NY&NY?+9?+10!!7%6654&#"'>32!8(mÅ<5A^lYŐJ/7JKWN*n}'-@QY %%OY%& OY %?+?+9/+910#"'32654!#732654&#"'6632񽧃T].IVN|ي:yuO 23q|nCJdQA)s '@PY %??9/3+93910%#!!7!3!667#MP191 &?D=smpE0s&@PYNY OY%?+?+9/+102#"&'32654&#"'!!67ԏu=smfoh7XHWθ.# c{^^!NZtu@ $NY?+9?10!!8) ?nE3'-@!PYOY& OY%?+?+9/+910#"'32667##"&54632"326654&3potys*oAAe7KDT1PA>"3>@1%%+*#  /#((*5-*?33/39/3/3993399310#"'532654&''&&54632&&#"##33#7#dunXsW-0$%2bFq_p38<(Q.FgGdq+6'#'1eC]r4}C .!2^o^/y&7z\VoL&Wz%s +.@&#(#GY#GYGY?+?+?+?9910%26654&#""'326767##"&54632373HxFFFExKL;e!HS_<9d߈|P`XX5BZcOkm^LֿeJZ/!&K2&+5+&N.&+5&O#5&+5!&:{0&+55 ??103!581J5s&CR&+55s&vR &+55s&KIR &+55V&jQR &+555`&ROR &+55~&MeR&+55}&N4R&+5&Qd5f&OXR &+55RE&-"/'T 2>+555V&jQR &+5555V&jQR &+55555;&fR&+5R&gW/\Kh)1Qy8Y'j/$FJ8^  L g @  . `  J f z $ p ?6]&Z)R-rGYU:VWs&p&GsK\m~ /@Rct%6Hr U# /A  K ! >Y>>??l??@@\@@AAsAAABB?B|BBBBBBBC.C6C}CDDeDDE3EvEFF#FFFFFFGGqGGGGH/HQHrHHHHHHHHI II'IMIeI}IIIIJ"JTJJJKiKqKyKKKKLL^LM2MMNENNNODO[OrOOOPP1P[PvPPQQQQRR@RLRXR}RRRRS SSSSST@TTTTTTTTTTTTTTUVVVVVW"W3WDWPW\WhWWX\XY.Y{YZZZ$Z-ZUZnZZZZ[[X[[\W\\]]h]^^U^__`;`C`K``aaSaeawaaabJccd:dde e=ebeeefg/ggh,hhi/i_iijjbjjjk)k^kkl lQlllm$m[mmn"noo&o2o^ooop4pmppqqgqqr2rzrrsDst trtztttu'ukuuv2vmvvw)wnwwwwwxx xx"x2xxxxxyy!y2yvyyyyyzz z(z0zBzSzezwzzzzzzz{{'{L{^{p{| |Q||}}C}K}~~^~WN݁!^Gɂڂ"4FXjɃۃ#8LXdu˄݄%7L`qÅԅ .@Rdyφ*6BSduȇه *;L\hƈ?ҊCNJW'/PX0@Tev̎׎ #+=EM^jV_< cI+ X J+)h3sD Jm\hm9)H^hBhhhhhhXhNh7hVHHhmhmhm\5{j5V5?5{55%5 5 5{5{5=)?'J^w93FoZ%ZZuZ%T%`%`%`%=%%ZZ^%H^ofN}?'shhmJhhhshXho}Hhm)}mhm;\o=H1 a a ){V5V5V5V5j% 5{{{{{hd5FZZZZZZZZuZuZuZuZ`%`%`$`%H%ZZZZZhm+oooo's'sZZZ{Z{Z{Z{Zj5Zj%ZV5uZV5uZV5uZV5uZV5uZ{T{T{T{T5%5%`%`%`%``%%`5%%%5`%%5`%5`%%5y%' 5% 5% 5%s 5%{Z{Z{Z5{Z5^%5^5^%=)=)=)=)?H8?H^?Hoooooo'N}'sJJJ hZ)Zd+=)o7oyHo`BTo;oo5oVH "-""N>"d>G55V5J5{5 5 5+{55X?{Z'%`wZ;7'Z%d`%ff\Z^ZZ^wZjwwZ`wZwZV55{=)555555;V5) 5 55 55{55{?{5b5V555 5ZmZZuZ1oo%T%Z%Z=%'sZ?j=j^jd\mjh%uZ%Z`%`%`1%%'sj5%'N}'N}'N}'s)))3,sj9wswj !;h s H}hh9h){)jm a \ f L {hmdbLhmhmhmhmqH%H%o=`{b/^Z{RZVyHTT`ju^ 5=%Z;f%%-{%Z3jbV5 5uZo1f{=5%Zd5%5%1ww{Z3^f3^f {}Z{Z1Z1f{ZhH-q?oZo;))5j5s5T5%Z)15%5Z5%{/J!5H%)5%B5%{Z{Z?h%fLu\bb5%;=J;=J5%F5%!5H%b5ZZ)ZV5uZHDu3HDu3)1q` 5o 5o{Z{Z{Z's's'sb5%5mj?=Z=ZB+5/%{ Zb^D'5ZZZZZZZZZZZZV5uZV5uZV5uZV5uZV5uZV5uZV5uZV5uZ`%`{Z{Z{Z{Z{Z{Z{Z-{%Z-{%Z-{%Z-{%Z-{%Zoo3j3j3j3j3j's's's6`FqZ'`hhNZ`}?E%?HV55555555595%"5555555 X33f @ [(1ASC! X ^  |FHI~'2ac7 # OP\_?M   " & 0 3 : < D p y  !!!! !"!&!.!^"""""""+"H"`"e% IJ(3bd7 #PQ]`>M   & 0 2 9 < D p t  !!!! !"!&!.!["""""""+"H"`"d%K+aIvhcb]gD h Xz}}{ Bvt l%"iOSvRIJ$%hikFu45]^@G[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! , `E% Fa#E#aH-, EhD-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,CRX!!!!!F#F`F# F`ab# # pE` PXaFY`h:Y-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,F#F`F# F`ab# # pE` PXaYh:-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BYYYYYYCTX@ @@ @  CTX@   CRX@ @@ @Y@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-,CPCT[X!# Y-,Y+-,-@ !H U UHUPLOMdNLd&4U%3$UMLdLLF 3UU3U?KFFF#3"UO"3U3UU3U0U3UoTS++KRK P[%S@QZUZ[XYBK2SX YKdSXBYss++ss++++s+s^st++++t+++++++++++++^Nu^{o+TV  r r  : *  & < ( 8 \@ \ TDigitized data copyright 2010-2011, Google Corporation.Open SansBold Italic1.10;1ASC;OpenSans-BoldItalicOpen Sans Bold ItalicVersion 1.10OpenSans-BoldItalicOpen Sans is a trademark of Google and may be registered in certain jurisdictions.Ascender Corporationhttp://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0ff  !"#$%&'()*+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde fghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,nullI.altuni00AD overscore Igrave.alt Iacute.altIcircumflex.alt Idieresis.altAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflexCdotcdotDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflexGdotgdot Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbar Itilde.altitilde Imacron.altimacron Ibreve.altibreve Iogonek.altiogonekIdotaccent.altIJ.altij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Aringacute aringacuteAEacuteaeacute Oslashacute oslashacute Scommaaccent scommaaccenttonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos.alt Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIota.altKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9Iotadieresis.altUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonos afii10023 afii10051 afii10052 afii10053 afii10054 afii10055.alt afii10056.alt afii10057 afii10058 afii10059 afii10060 afii10061 afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109 afii10110 afii10193 afii10050 afii10098WgravewgraveWacutewacute Wdieresis wdieresisYgraveygrave afii00208 underscoredbl quotereversedminutesecond exclamdbl nsuperior afii08941pesetaEuro afii61248 afii61289 afii61352 estimated oneeighth threeeighths fiveeighths seveneighthsuniFB01uniFB02 cyrillicbrevedotlessjcaroncommaaccent commaaccentcommaaccentrotate zerosuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperioruni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni200BuniFEFFuniFFFCuniFFFDuni01F0uni02BCuni03D1uni03D2uni03D6uni1E3Euni1E3Funi1E00uni1E01uni1F4Duni02F3 dasiaoxiauniFB03uniFB04OhornohornUhornuhornuni0300uni0301uni0303hookdotbelowuni0400uni040Duni0450uni045Duni0460uni0461uni0462uni0463uni0464uni0465uni0466uni0467uni0468uni0469uni046Auni046Buni046Cuni046Duni046Euni046Funi0470uni0471uni0472uni0473uni0474uni0475uni0476uni0477uni0478uni0479uni047Auni047Buni047Cuni047Duni047Euni047Funi0480uni0481uni0482uni0483uni0484uni0485uni0486uni0488uni0489uni048Auni048Buni048Cuni048Duni048Euni048Funi0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BF uni04C0.altuni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CE uni04CF.altuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0500uni0501uni0502uni0503uni0504uni0505uni0506uni0507uni0508uni0509uni050Auni050Buni050Cuni050Duni050Euni050Funi0510uni0511uni0512uni0513uni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7 uni1EC8.altuni1EC9 uni1ECA.altuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1uni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni20ABuni030Fcircumflexacutecombcircumflexgravecombcircumflexhookcombcircumflextildecombbreveacutecombbrevegravecomb brevehookcombbrevetildecombcyrillichookleftone.pnumzero.osone.ostwo.osthree.osfour.osfive.ossix.osseven.oseight.osnine.osffuni2120Tcedillatcedillag.altgcircumflex.alt gbreve.altgdot.altgcommaaccent.altItildeImacronIbreveIogonekIJ IotatonosIota Iotadieresis afii10055 afii10056uni04C0uni04CFuni1EC8uni1ECA  577;[]v  nZlatnMOL (ROM B      ligaligaligalnumlnumlnumloclloclonumonumonumpnumpnumpnumsaltsaltsaltss01ss01ss01ss02ss02ss02ss03ss03ss03tnumtnumtnum  <|.PJ.,ZgwEGn  l<  !$%IJ6 "(^IO]ILI5O4LIPKZ%plugins/pagelayer/fonts/pagelayer.eotnu[LP`icomoonRegularVersion 1.0icomoon 0OS/2`cmap:gasp glyf3V((0head"i+X6hhea zH$hmtx8Llocacc~(maxp 4( nameJ Hpost 3 @@@ v@6 =!$*JNRXZp 4BK\ejos| )9>DUs!AMq{ =$(,MQXZp 4BK\aios{ (6=DUs!AMq{TRE0# pmPDA<,iJ? 797979 ,A4&#"326534&#"326"3!5!2654&#!#"&'.'0&5461>32'#"'.'&'#"&'.5463267>763247>7632#"&'.'0&5461>32d    _3HH3T|3HH315 .',(         15 -'-'.K8M .K8MH4v4H||H44HZ)r - 82GRB$%L ;;u*u .[1>1 .! J y)r - 82G+ 3'3#'!#!!5f*T`.0`rVU%3#3732#!"'&547637ZPZ0""T""XX,Ԁ@"T"""#n%"&#"#"&547>=<'&"#!*6#"&#"#"&547>=4&'&5463232632&23!:764=4&'&5463232632&6#&L&&K&@~K (O($I% < E 'P'$I$ ?  @ &K&%J% BE  & 8  D  '  % 9!b '  % C  C %  &  C9% In0@%#!"&=463!25#!"&=463!25#!"&=463!25#!"&=463!2J%mnIIIIIIIIU*?7"&'.=47>767546762"'.=#:17'0">7 [?>J I H P5 U#700M CGU+MEEo&'H   =>P E,-48!U*>%.'&'.546762#"&'%&'.'&'&"1550225P H I J>?[  GD M007#iP>=     H'&oEFL+ !84-,En7!!3%!!265#!"&5463!2[\ [ I6&%66%&6I n I%66%&66@&M"'.'&547>7632#5267>7!"'.'&547>7632#5267>7 .))==))..))=##zRQ]@u- .))==))..))=##zRQ]@u- @=))..))==)). ]QRz##0. =))..))==)). ]QRz##0.  #/!!!!!!4632#"&4632#"&4632#"&K55KK55KK55KK55KK55KK55K@5KK55KK5KK55KK5KK55KK #'#!5!!## ࠀ@  @@@ V!%!2#!"'&54763%!#4763*,"",""TT"+V"""V"VV"!"3!2654&!!5KK55KK5K55KK55K/?OSW[_cgkosw{+"&=46;2+"&=46;2+"&=46;2+"&=46;275#'#37353#3#3#3#3#3#3#%3#'3#'3#3#73#%3#'3#``@````@``p0pp0pp0pp0@@@@@@@@@@@@@@@@```````p0pp0pp0pp0@@@@@@@@@@@@@@@!-48181!8181!5!"3!2654&##"&54632!537&&&&8((88((8@@@@&&&&(88((88 )-35#%!"!4&!!5!5463!2#!"3!2654&35#@@5KK &&`@   @@@K55K@&&  @@`+!";26573"3!2654&#'3;26=4&  @    @   `@  @`   @@ "!#535#535#53!!#535#535#53%@@@+U!"3!2654&##22##22#2##22##2'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&".!"27>54&"&54632#"2?0$((88((88x P0$($(d08((88((8 $(dUU#'7;KO#";26=4&#53%#";26=4&#53#";26=4&#53%#";26=4&#53$22$#22##22#$22$+$22$#22##22#$22$U2#$22$#2U2#$22$#22##22##2U2##22##2U"/<IVbn!";7!2654&#!"&5463!2"&54632#5"32654&#"&54632#5"32654&#"&54632'"32654&4LL4+5KK +$22$#22#$22$#22#$22$#22#L45KK5+4LU+2#$22$#22#$22$#22#$22$#2  $).38`oty3535#"35#35#335/./35#35#35#5#326?7>?'7>7>54&'.'";5#5#35#3'#1 @D+̀@ @@@@@@@@ G-% * !5S{ +E@ ` HI@ @ @ HG @@@@00 C )lW*1*  B"1I @HX @ @@ -13!265#3#3#3#3#54&+"#"!54&!#53&@&@@@@@@@@@&&@@@@PPPP?++G.#"3267>54&'535#546;5#"#3.'.5467>328OP888888PO88998<%S0UU <<(UU0T$,,+,,i?>i,,,,,79978OO898889OO8%*V; U+2V*%,h??h,,++,,i>>i, ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? k/?q!"3!26=4&!"3!26=4&!"3!26=4&!"3!26=4&%'&?>/.#"6?'.326?6& V V V V Z"99" !88! k * *  * *  * * * * BCCDB` @ !!!!!` ```@   r;am06?67>7>7>7>54&'.'.'&'.'&'&"'&'.'&'.7>7>7>676&#"67>54&'.#"654&#",++O$$7G \D.H3{EF76767>7676'.'&'&'.'&23237676767636272763:332727676767:2367676367:2367:236362367:562#""#"1'&32#"#"#&54""&54&1&'.&54"#&54&*54&&54&#"54"#&54"#&54&&54&#&54&&54&&54&&54&&54&#&54&*'4""&54&&5.#&54"*54&"5.#&""#"'&#&'&'*'*'*'&5&#&"#&"'&#"76761&"'&3232323076322362#&'&36236767:7:76767:32:3667623265466546:542365463>54632&'.16&'&""'.&54&#"&#"&'"&*'4&&54"#&54"#&54"#476&"&'.0&'.&'.54&1&72&#"&7<#"&5<54&5&4#.7465463245&63645&6326'46326'467>7265463267>265&62654665466546:546654636542365>65467263>27:762362362363623623623676762367632272122'.30'&76#32327632332"#0#"#"#"'"3#"#"01&76"7654#&'41&#&'*"#&#&"'&'&'"'&'&'*"#&"'&"#&'*'&"'"&'"&'.#"&'&"#&54"*54&&54&&54&&54"#&54&#&54&*54&"&54&*54"#&'."&54&*54"#&54&*54"#&54&"&54&&54"#&54"#&'."'.54&#"&74&#"&76&#"&54&"76&#"&76&67>67>365&6265467607>54'&"123623627:763607627:7:7:76762367636272763232670667>67>326726:762127>6762167>654236546267>2'&6326?67>142365>3674634'<6'<326'<326'46326'&6326'<726'&632654&'4&56&'&456&#"&74&#"&7<#"&7<#"474&#"&74&'"&5.&'4&"&'./&'.0'."&'.#.74"#&'.1&54&"&54&*54&#&54&*'4"#&54&*'.#"&'&"#""'*'&#&'&0'*76362227:767:725236'&"0767676323###"#"'&76'"'&'*'*"#&'&#*##'"&#"&'.&5&"#&54&&54&&'&"#&54&"&54&&74"#&54&&7<&'.&76"#&'4&#"&54205.#"&'&44'.&'4&'.7<#&76&07<#"474&#"&7<#"&76&#"&74&#"&764&76&#"&7<'.546326'&6326'<324'466'&66'&63245&6326'&626'&67>5466'&67>32654676267>36546365>36546:542365462654665466546:54665463654236546265>:54665466546:542:746265467263>3>362207>27>#07>#030&'.1"2'.7>#"H7"- ;12C!'&Q)*'.*+O$#!#( '45|DEFe   H     R  &7  T     \       %,  H  L   M 8 6  #b/]G;-"!K()+NML<<+ #!&&U..1(*)R''#;-.; v =  +    -          ' B #   8#. ](8Zj327>767>'4&'.'.'."'.7>%%'.1"14&/?/''5"6?>3071&/546100&/7>10 0 88  % 3) N, `5  I+ `X%4 A'!!4%X'$ +I>%] % 0  /0p....p0/ C NN Ck,?"::%H3zr,C/r+C$$Q !,r/C$z3H%z3H3 !!!5!"3!5!g3g+<<+g͙fg=*3*76764'&'.'&'&'&&'&'&'&676767>76763267>'.#"32676&'&'&"32654&'"#tC::]!!$$b<7>3623267>7>?'.'.'&#&""!7>7>?4&'.'&'.'&'.'&"2#"&'.'.57>7>;!5!75#!5!35#35#35#"1  6%9M_hB)G%7 #8+ D0It ! N""  5& .r: @\::v 3$&9 P  A 0.( 8) =0틏,Ym ""M!! R#8$ ;2# 'N(N(P(O'N'N ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? f3!55!5'!!73ffMgg3A73#535.546323#>71'!#"'.'&/!2654"3/yE-:Z@@Z9-Gy/I"#))\225522\))#"I"/= foN2@ZZ@2Nofi =/I#' '#IU ).383#1!"&51!312651#%31!.589!!!5!!5!!53Z@4@Z3g3<ggggf?ZZ?gff gggff`-]3265467>7>)'.'.'.#"3265467>7>!2654&'.'&#&""! 67>7>54&'.'.'.#"'.7>'.7>'.7>#"&'.=!A     L<  ^|`     L  gggg`  QN    bׂ    ss ]   SSSS  xA   `   SSSS  xA   ` @ջM     BB>      -- ';?CGKOS463!21#1!"&515463!21#1!"&515463!21#1!"&515353353533535335<*4*<<**<<*4*<<**<<*4*<<**<fgfggfggfgf+<<+f*<<*f*<<*f+<<+f*<<*g*<<*gffffffffgggg 2'7>%''`B^@@1@ P<@8^B1@@ @P@8'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&30Tw|2767>76764'.'&'.'&'.'.'&'.767>767>#535#3!574657#3#"&#'!!!0Q'+%%= S;1r@TNCCg"" %$Z459M M3//R##">55J=:;h,, "C--50izYX.2'F)*-%>*#.J0'2  ""gCCNT&C"3,+B +4$$+8BJ55> 6)(58B:55[#$>joq.\,>S"G''113126?137>5>7>?306?'7>7>5>?5'.50&'./7>50&/'.'.#./#"'&'.'&'&4767>763267>7>54&'.'.'.&'&65j,% &?=& L,5 2   2 5,L &>?& %,j 2  | Hd ;&%+:+%&; L0/3 M ! *:1"$= & =06((lP& L,5 2  5j,% %?>% %,j 2   3 5,L &><tK:+%&;;%&+:3++=P N.6 & =$"1en((76Q@ &-159=3!546;%!54&#!"!"&5463!2#?#"!5!5!5!5 %` 0%&`&v @  ``` % `  `&`&%@0  ` ` ` Wir'.'.#7267>?3267>54&'.'.#&'764/727>7>54&'.'.#*'.'&67>'.'&67>'.'&67>, $!6 " ;$$;  %<  2 ) +   .")9"' ")9"' ")9"' h!  m !  m   ;$$; m-m ;$$;T9!#+'4 9!#+'4 9!#+'4 @+3K%!575#"&546327.'.'.#!"3!2654&''#5#!"&546303:321;@8((88((8V-3') !//!!/% )   MNMN @@(88((883-/!!//!p )'6) % `  @ &-159=AEIMQ%!"&5463!2#3!546;%!54&#!"7#"35%3#7357!5%3#73535%3#7350%&`& %` v `` ``` ``` @&`&%@ % `  `  `@ `@ `@ @ %!!!@ @@ !!!%#35!#!35!@e@e@eee#t!(6Ym}2326767676'&'.!" !%327>'&'&/767>76'.'&'&32654&#"%6?'.!ÄXWiӄWXh4}D$N.-# ]#"+=8.$ TT\[< L#4B9"y09JOK#f#$uNMW]4 B'C5/91:  .-p33F 27RLHV- =/.k,,$3EID @`")-159=AE3#!"&5463!!"3!265#"&=;'35'35!5!5!5!5!5p% %&P   %  v`@` `%&&    %  ` ` ` ` ` @`")59=AEI3#!"&5463!!"3!265#"&=;'35335335!5%!5!5!5!5p% %&P   %  v `````%&&    % 0@ @ ` ` ` 8P6Mc326'4'.'&'.54&#"32654&'.+37#"!;#";/&3267>7>?#"  04We/  V8P#Gh~4Nj  %BbbJ,7M9QD$, Lm 7 7f  0 ` /"!L $3  V* !!!!!#53#53UV6ԯY(..\..\"7J]d18181463463!###!"&54631"3!265!"&5897"3!2651!"&51%!"3!265#"&=;'&&`%%% %%   @%@   @%   %  v %%%%%&&   &@  &@   % h7w;#"!54&+54&'.'.'467>7>=326=!#"&'.'.'.#"+7>7>7>54&'.'.=!367>7>7>76'. !,*/&7.   %!'21  2J !!%6. +8"$5 8 #*0 >& !+ Az@ /Q3; 59SpG. !R#H290("9gJ)!k-f*1'(!+7RwJ!#  . !2h) 15,&/X4JG)#$  ($2 !  `6[n>7.54632117'7'#"'.'&5467''7762#"&'"'&4?.546329>54&#"5#53#32654&+67>767326=#";54&#"&'.'&27>7654'.'&#"3527>7654'.'&#"32654&#"3%Z3B..B3Z%'D(-4dCCLLCCd4-(D'cd #$ %/!!/% ` O O<('-  -'(<O O<('-  -'(<F==[[==FF==[[==F821JJ128821JJ128  _". -.BB.- ."(D'1HLCCddCCLH1'D(dc $# G,!//!,> @  -'(<O O<('-  -'(<O O<('[==FF==[[==FF==[@J128821JJ128821J   v^W!Iaw32326767>7>''./%&"'&'.'&'&4767>7676267>54&'.'.#"#"#"&5463232676&6'.'&%7>32'.'&326?'.; KE88P t X  \\\\  \]^] OR#<$Z? !!"  )   ) %  c  & WWWW  WWWW 5Xp<9;  *e. 11-4 T   ye  l =i "!!%!5!!5!!!5!!5!!!5!l/\R99R99R\R>{>{=>{=={>={>~ *3#!5#53!!5!!5!!5!!"#"&#"1.=!@@@@TT@,@ZXMMt""T})R)RU) (I 33:;!#3!!#57375!@-k%%ے%$.ܮv%$%%$H Iw %9#5#3#37#4'&#!"3!276#!"'&54763!2%nےܒmI%m%%%w$nJJJ&&& @+12#5267>54&'.#"3 367>76!3]QRz####zRQ]G225522GG2&2 ''vLK##zRQ]]QRz##`522GG22552&_4QGFg@"a&?Uk%!7>?4&'.'.!"#"""#"&'.5467>327#"&'&67>32#"&'.5467>32# #&'.'.5!%326?5'.+3267>54&'.#"7375'"3?4&'.#"3267>5/"375#&3?4&'.#"%1645'7>52&/- ' ! ( krKL[   }       &wvvw Bd@@A=:@;T:UAM4XO>>OX4Q>;T`/;T4XO>211Z12^ 1R  " Hb 'B       uL  P ko%b-\`(?  A  B>  12:)a23c02 O9>'E W23:767>?&'.'.! ! &'&'&476767>323 #&'.'&#"3267>3267>3267>5467>76&&76&"'.#"&54&#"%3?54&'.#"5727>/.'&/&65623267>7>'.'.'.#"&'.#"&'.#"&'.##"&'.763267>'.'.'&6762%#"32;5467>;/.'&6326546676&'&|  rSRm  {r x^TT S  &    D      4HU&K''?$   "  =& '     $v  &)$    '%/     , 7 kllk PR ?lmfggf*      C )PvxS';{<9 !(68$   3 (+   4    )         &'?' @#!"3!2654&!!"&546327!!@(88((88x%%%%8((88(@(80 %%%%@!"3!2654&"&54632%!! (88((88  @8((88(@(8   `3b">7>3233267>7>54&'.'.#512#"&'5>54&'&'.'&547>763.'#"&'27>767>7>54&5&I"!9-0./&I"!9-00-9!"I&cXW%&&%WXc&&*)W,,-0D)!!. &%WXc2*MC H5744b-,''>6?TF@ %Z05..  %Z10Z% iGGPQGFj'Q1 "!M++.PGGi*E&B% ! K),^1-wDN. (D%'.>54'.'&#"326776&"'.'&547>7632'+1iFEPPEFiiFEPG2K5/.FF./55/.FF./Y2GPEFiiFEPPEFi1+'KF./55/.FF./55/.F !7')'7''77'7```````````37OS54&+"#3;26=!5534&+"!!;26=35#534&+"#3;26=!5!53@@@@@37OS326=4&+5##";33#26=4&+##";35'3#26=4&+5##";3'3#@@@@@"06!4&#"!"3!2654&%2#"&546!33!26=3'7%K55K  @ S%%%%  @::@5KK5  @ @%%%%`  `e:r:@ )%!!!!!!'#5#53#575#53#535#535#5@@@@2@<2@@@@@@ !!%!!!!%!!!!%!!UY]ae%#54&#!5326=4&+";!"#";26=4&+5!#";26=4&+5!#";26=4&#53#5353#53B..B܀.BB.@@$-4@LS[alw}"327>7654'.'&>73##>73!#53'5#'>7>7#>7#>73.'373#..'.'.'53'537.'3#7#.'%>7#>3.'.>73cXW%&&%WXccXW%&&%WX p p   & &   u  1  & P&   Qp @`& : {: &` )`& :y: &` &%WXccXW%&&%WXccXW%&A!!@@A!!@@!@ +)R+ )!@@!!A@ +)R+ )!@!A@!,M)#F)M,# ,M)#3)M,#3d"&'&'&476?>32"'&4?64'.#"#"&'&'&476?62326?64'&4762# ###Y11Y###X,X))33)) 1Y###X,X))33))+###Y1D$--^--$"%%"$--^--$W+X)t))t)+%"$--^--$W+X)t))t)+$--^--$"%7T'276764'&'&'&"012767871'01"'&'&'&476787162"'&47A(((s(!!"*+X**"g///;;{;;/A"**X**!""(r)((z ' EyA(r)(("**X+*"!!g/;;{;;///A""!**X**"(()r(z & EIU"327>767&'.'&#"&'.'>7>7327>7654&'1#"&54632TMM55$$55MMTTMM55$$55MM.KK.8CC8.KK.F./55/.F8((88((8T;;GG;;TT;;GG;;TM--M$&&$M--M,5/.FF./5,6(88((88(9Gf&".#"3267642.546>7>7.'%4&'327>767#"&'327>767.'('R+TMM55$X6 ` 1 z%8K.=(B'5/.F>E.KK.8C9M-`2TMM55$"c= T;;G>i((`(%z 1 (8-M,)K=F)F'F./EM--M$&MT;;GCq* %  %%'<<<<p*33A3`;$v@@3!26=4&#!"   @   5Q46;2+"&5!535#533"327>7654'.'&"'.'&547>7632  @@@j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLL P@@((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !S%81 81>76&/.81 81.'&81 817>781 816?>'.7  7 77 77 7  7  @ ' ` @ @@!!@ !! 7="327>7654'.'&"'.'&547>7632' j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLLZZ((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !ZZ 26%##7"&5#"&546;2#";#";2654&3#@   @ 3    `      @e)"&#"3.54670!37#73267 DhFqSTmIH eJK<?AM; &7o}~ŏ# 7k @@!######5!@@(>54'.'&#!!27>7654&32+#32 F./55/.FDe*<<)f,>>"T/5/.FF./5FtFK55KK55K@#3#"'.'&533267>5!!W:;BB;:WI((I`<45NN54<`88 #3!53#5@@@@@@=##"&'.5332654&#!5!.'.5467>32#4&#"3250,q>>q,05rNNrrN,0550,q>>q,05rNNrrN;n+@A"5b$!$$!$b54LL44L@$b55b$!$$!$b54LL44L! 3#575#53#'# 373܈2@<2@n %3#575#53#'# 373܈22@<2@R 7!!!#!5!''7'77@ѷ">>>@@>>>!####"'.'&547>765/.FF./F./55/.F !!!!!!!!!!@@@@ !!!!!!!!!!%@@@@35#"#3337#546`.))= =)).`` #!"3!#53546;#"3#!2654&(88(qO&  (888((8@Oq&@@8(@(8 HSe%4&'.5463:3.#":3261607'.1&603261607>53267.567>7654&'"327>7654'.'&"'.'&547>76329('0 $3K2//R#" HT<IH& s7"@ u+##2j]^((((^]jj]^((((^]j]QRz####zRQ]]QRz####zRQ833W"##L)#1*(.4 ,'kn}':4   B(""T/041Z(M((^]jj]^((((^]jj]^((@##zRQ]]QRz####zRQ]]QRz## .7/7#"'%#"'&547'&547%632ll*1 1    y##qq   ** In(=Qez%+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2%mmnnnn$mmnnInnmmnnInnmmnn!MCh#"/#"'&=476;7632#"'&547676767654'&'&'&'&5476323#"'&5476767654'&'&'&5476323#"'&54767676767654'&'&'&'&'&547632     (      (11P  **  P11IHy  F'(('F  yHI  ,%%      &&+XJJ!  /.54//   "JJWnn4  4NMXWNN4  4nn I%n #048#5#5!#535#535#35#!#53#5#5##3353!!!IIIIےIJJIIIJI%%JJIIIInIIII%JnIInn!1A"&=463!2#!"&=463!2#!2#!"&=4632#!"&=463       F   @    L  L  L  L  @  @  @  @ 1C2#!"&=4632#!"&=463"&=463!2#1!!"&=463!2#1`   @      00     @  @  @  @  P  P  P  P /@"&=463!2#2#!"&=4632#!"&=4632#!"&=463!  @    F        @  @  @  @  L  L  L  L /?%2#!"&=4632#!"&=4632#!"&=4632#!"&=463`   @   @   @    @  @  @  @  @  @  @  @ I%$#"/#!"'&54763!27632 00DnD1001DD00   _D1001DD0110D^  In+?#"'&547632!57%!"3!27654'&##!"'&54763!2n .. .. I۷\$%m[%m%%%n. .- n\%II%%&InDIV7'33&?6#!"'&54763!2'&#!"3!276=4?6#5'7632CWB6 %10D%D1001D$ %&&&$ 7}45VCVB 7 lD1001DD01 &%&&H% 554Wnn$@54&+54&+"#";;26=32657#"'.'&547>7632II#"wPP[[PPw#""#wPP[[PPw"#II%[PPw#""#wPP[[PPw"##"wPP #(<@EI]735#35#'35#35#'35#35#35#35#'35#54'&+";27635#'35#;5#754'&+";2767#!"'&5476;5476;235476;232Iɷɥɷɥܷ۷$$۷ۥ$$I&$&&$&Iɷܤ[$%n,%6&&66&&68H/"&=463!2#"&=463!2#"&=463!2#  @   @   @   P  P  P  P  P  P  In)>Sg|%54'&+";2765=4'&+";276554'&+";276554'&+";276554'&+";27654'&+";276554'&+";27654'&+";276=4'&+";2767#!"'&54763!2%$$%%I&%%&mmnnmmnnnnmmnnnnnn&&m&&"]@ !2"'&63? ! @1 1"^F !"&762A " 1 1: '&4761 1 " F 746&51 1 " !%2#!32#!"&546;7!"&5463! (88(  (88(8((8``8((8@@ /.I%#"'&547632/&'&7676 #"/&54?'&54?632a Q$$u   b  n%I0+"&=46;2+"&=46;2+"&=46;2 n n % n n %!n n!m m m m m m 'J%4'&#!"3!276#!"'&54763!2'#54'&#!";#"'&54763!2nI%&&n%J\\%%n&nu%%n&[[I&m&&,@UY2#!"'&5476;5476;235476;23';276=4'&+";276=4'&+"!32++"'&=#"'&=476;5476;2nI&$&&$&I$$I$$%%%%6&&66&&66II%%% $J|#"&546323#"&54632#"&54632">?327>7654'.'&##"&'#"&'1&67>7&'.'&547>76312n++++++++++++YPPx##RJ2 ,N$!&YPPx####xPPY((^]j*8J! 9,$#3 ((^]jj]^((**++**++**++P56;@t*701P55<;65PLCBc2F DH I)(,KCCccCCK nn -03G#57#5#57!5%!54'&+''#"3!27657#7##!"'&54763!2&Axxjt~$<$$$IIIIIIIIIIbb<zVVV <$$$ +F%#!"&546332672#"&54632!3!265#!"&546;;26=32I++-C7 7C-XM67MM76M % I5&%66% n &5%11%CyyC)6LL65LL5 I%66%I&67 76&+2#!"&54632654&#"74&#!"3!26 (88(@(88(%%%% p   8((88(@(8@%%%%p  +2#!"&54632654&#"%4&#!"3!26 (88(@(88(`%%%%{ p   8((88(@(8@%%%%p  `_< ޠ[ޠ[V#V`"UU@`*VV3333W@#8vlI@ O@@@@7 e@%In"":I%n JJ @(`DPl |  x t l  4 hzr N | !"#&$$%%"%X& &&''(4)*\+t++,",~,.X001 12<2r23N334456>67@788*899,9:9N9::B:`:::;N;x;;;<&?@@d@AAvABBBCCEE EeRw9 2-8t0tEO99꾥'%Rd ҂~K)kFx#׹5qLtOB}YpN1: vql O>ouO[p`skݬXom؄k.%ZGH<],J&WL}7)4dh CiyX[{HV`VBJxQ^Vu/*28gl9*4GBēs4HB4Xh?y͝vOOM7l)9;fBB yR//|@ 0!w4OR6g;ER=X#l"geߖ`_kPlŸ2_Z]It;{BJg&m.'PXׯbUB" A( Pe~oe=N@J(9qnry9ἧ=ǵ/Ul5VРWPXc< @_B4ľ<d&BPmOC24]Ta0xpHy̵\h-${U}Gajj]%;J$eYe='}u;GT_RJ"( ,7*h  +~;ӫVd9 ?Guߎ3)tmlJ*Gp:2 Y/E׀b?q;Q"~o \7*VQL+ 0^;fg-܌* el\xzm}XVAA"i̤?f5~E"E$EEAYXdΞqV1PYS1a2 w>7XQDHNX^0R$4?ONm0?o5qxSbścW rMk{sIH.,il̲>Րn; owZ3,'d{]HìJI£|i'P\\mIcIz;Ͱٵyp+vcx|̥+nݗ6 _(!bzAwzz)NԭpXdy듿;㷥fQM?o _KZs3=otbzaims;yxJ6 A(t@yx:/*uF[Gw&h Hg{>/Dtrο8{ʓw?+dpERÄiv64_\=#U}8MB$͉N&"+.G#,cr{8$@ 1۴^ނTFTGlzo7m/*mնc~fPk(_5erz/nߺ^ͳ' )ksU_CdBy`UOi4] m\r*ld-+餕e&Qj8bd(JN$ :}SI9eHA F sx%Qhe,,tM9yc[k,>.po{&߾9hZ!^RG#Ptj׺U˦ʊ؈ښjҢ"#BCz{걇cf96'-F%JD<6A8BS<.H$ X-&\$d3xՓ[.M peuMYe T ϧþM]*|,3\@\3;"`?>n|~+|q/F+v}b Ab )C1%+ӐƗ+D R֢෡Qxt@T ņa{ 0 8fsIU|`Ǣ#;b.JD3)],L02 ݾaL G<c- n#d`oְqh wvX߰L&Cq/\3IUW'fN~FSd_]'K-R0"&9 N'f^G fPJMcN -kQn SnK c")OESVh4tÝ9ZSdp3/JFn#^8p"SzIױ6Ґ}"W̖3n$ŚRLnvΆH־@ =օzxY7C;:D,'J=qxv4)ho\9`B,C y؜F(!\*,ql{ݸ a99TlxM%]lH/uFkʔ .Z7*D$r= oⲓR|ʦRZrHuOŘ} $jjƜGe[m/RYNw֦c;~tnv~}*:c^ {(XNM2 @S'&i=WnaDdI.fZ9QT8=ϩa<"7h:Z?&}QpصQ~oոmԲiJ(2}|m$bw`@4O99v] J),Q~Qx,s=IXٹX@Eo~jKLZW:{RQ=ILT<¼Z%ů%A{ݒwY^vYۊv4 N7"gʙy.u"$maXHnv})geliLm ex)Ŭej2Hd&/KY,eo+ᦤg6) Rg #R3 5 Z+6"9voZvJdT5n*o(kXٱ+u{iTuiOߝǂ,\ĝy}uNK5NYH2䴲wLuU? j=HXO ^,T[,ړ2&lɩ=J>#v@]!-k7Źoy=Ɋ,!)Pꊷ9_)]]b624p~d0Tf-BuMVu͡\̰Npޯ)`vq. z%3rO{(> Ho kε먕BMtSp(~%{ܫ}b>6B#ևV#U&%Sá+e,fbYdZ8؛ vk2Jܙ`8i7$׊9ޘXd#a^ĤUbL^&+~3Iv)˱6a먞]bc I9T#>\[zt` ~d(c El0dĎ%өH3f_`t*Zp sȞX:'ܗtAMP(q0 kɲDlrf>IӈE5浈,p!L Ja''Tίy KY|5IIŧn%3Yُf='y)y Kz"J+@R* O%e]$bFD%>-˛jY&vO{w~ ׽Ygz^奾 )-0 ]<:l{ %d'xo-ґcGmuC›a׉f~v i*DGL n&?DpNA9)dfTZ頰@7Yc8~\MpM[aVߡ? ["ٝ %7@Sq1H4G7i~s:cB5zl> !E if܊EOԓ<6~jtҞ٧Fwo$Z o1.8 2 .stn\ӧ/t;-sduЊc[|I$.W\֡5}U<&Ưꢤ7f2/DfЈ96xN[ [-πpbI+hf vxB] F¿VX:,hį4D'0H$Q֘wZW(k)~v;KZ6H~%p4d 2~? [Di /D"%3nl|X\ZRuоKX !>% wdm}G\0"R`BS9 - FI標JjۛAM[w^/⵬mY' DɡD,JYDP( D}Ow<(0'MBҍ< aTzL)6)&!V-QɷdLuPeK~2!FQc]\e7Z'NDM M:{Q+K#[L^ èXϳk1dcJr ׃{aQS#KҩFF΃ԗбDXW"{ iUerMI\#/R½raQKgXpudLxmRPIbdRI%[ Y$Ğ#&_*l:A1Y"$.]INpj* ^xw}u _⼯xXI2_,w_?ced1Uě@c˝Wzf9gMiM2zR3F :& k651=B&t F-G̲|G$|t~aTM8TiFR$)m1 isny{&E 0]BB1v엒] dQ,e#OJvIvp#dwj$&Tx"v!-ҧf:gh[K)W!D4.@iLP ~ݏ66L<Ys"wRwy:_+!oE3Wt765x9sq,9Lc2nz}kWo՛+CA*)°q7hAE !~lr?^ I~pfA`;}xX K^ZI> k P;tوOif*쨳I A! k,"̠6m[NXc>r J aوP <'dg=~m)ammB$eKZ\$L֥SM'~+'M |9 n4H BI?Ņz2)2yyW ܆Q KzaM^WŔAřZ4sw&K6ϣY(Y!cYCNDw,j A AԱ020T[]2;ʒG}5zf J`z-K /D>rZ; `nbn/Zac><T^0 ^~ /2-$?p Xڼ|p w!ƙhC0vRx#sNˋɋT?yPur7-mVfb/Kl1]6` "RdQڑly *|+@/3L/dΫ#, lA2S7wo+WnZ {θ], ߛ)Kt-j#[9`CGoܽU*gMlM7 x= V(П_qCt+䷤qrr5Bb_Yt)K~oNք\_|9_|ښ |^2XK9k4d0+m~]udHjZ@ft„`Ѓ[[ne)$&4u׷[n;p(5!"4O ?(&" YlMEh:qkLR (R'cc'""MqK ˢ^7e:.C\QxIIڕdEZp*5ɌsodML~MxXZ Q@rzn[*l1b"/.XsAUT(eEl39[4:$.aJ)ΨS4'>_]2?4̈< SdET0aiDPt&̺i ;Mz4gw_JZyx:E :"E\ C[~0aUfINNcMR !qs0d>\P=X54CE 8wMr8|"[=qz=c`^.l4IvLD]x< "w>U~ ^KcZ&of)- J=UO/S(_.3RLaΠkB6,8۶8S%Nl|۫TTY++Ko2!5xZCz"L");6J'a7Iye z-(rYpTc(?i{xYS@PKO%S̗rۻnԻ3uZp*˺Hd4Lho"0Sc3 !#9:Lg oG#π/m{)E G.(Xz*4W."'⼵}h|A+ 1oLj ҩ4U~9 V\S ұJrפ,15"#V$)PM ѝ!yB[v7.jה\m_t6L?ɔC^O;$^2Mсmh(tܞCIw LGPh#,orܿ~gJVD%P>XyIW_no?xX]Z^yX}Iu?% rw 1*umIUāPn6jWE?pY(2R_n ,{(S#ƍ]/20/H{ȀҜ#7.rC YWW6& 2ο3ɿft0/R4Nhld9/]]6|"#pugG2t\v!];pIL4ۗZvB(;h?B.g+çCAgCj9wxv։+%@OP{+̛z*;ucH<|i|"-,{~ܬ+ه!^cBм͖Tt*l!XKNVH;?YPbaœkaGGS`廧`9^ŗϛz 4RzwD0ЊWytBeW1q_2V/Oj'F4zHć ܂y\d'Z2ت plsqvZq0UXu<5^ $FaUi#ʃ%%;UBHz/c iJJ>H\PG2x[F* 6f`z^6;PkW_gA |K\ąiv%2iئאVK2祋4(r\.BLAqd㶩욝x /`G}+FZC8hvHԼ䠻 =FΘ}@H0^',D{+ W`@F@8Zǎ^RvK@j4 =~$2K9G#wܟ$THbe$HHA%Nb!&F&L- D%e8\9AХ; U| 啥knv7<\|ѦYOYfl kKW|&o' Y~d+a33{wlAp W'yA9v| Z؃IQBe|ZB 9^Kr.F-աT@Юe}u狍O/\4y*T$f \ Lߍ%\q`Xo݊^ݍ_YGK;77/|r-|Px4B.V|TǢ\.yOD2_: c%&#xW4ǘ"K쁔hi Oo) 7-&Dd VTI]yc28Ϸ>u :Q{Ҟv2½#HqΧC\lGVl,Vm2q ω [ c+#J r`"`aQ3ef,Eyϭ#̥EƋ_#ԾayȐ<?sF873Axe(?B&}CCXbyT]}0+4qF䍏J_&^nm6#x+'$c!99󥧷;v,0x)]d󀀏f"=4y-E{Uc`jFKfaCxϪx :v %,X|"3Z;&~kImPL !RYNK?&?bZ, e\*K.Ʉe9xz˯/:qa$c0֫Q e` 25%,JCb՞qvd\gFL#s6T ?Gx߱)HLlIPCrߡ0@l) (!P0,pQ;Rx>ىpDK6 E4| [+CbޏQv|Q*='g0=KBo%$D/$e)xOσO:Rz"qw|nƴbXTu,_$E 5.u]5EBwխ@DxX<5{xpXSS2*6NRt]1{t!"JY6% W=(c{¯XI]ς$)[k0`N8[Y']fp>bu|A:Scٗw O?# V!8g>VwoѠNO3zYQ.r E|e~kb(ohOdhmb|/YPym7t>O"EW C>Eg[U.,,{㣐+^Q+1D>.$Te'qDʢUN.SFwvbL:=GF@4Ԁ'T:J 趱8XݸCX`"ՌRDIf 9|7qȚL8D }hu?B+,yM&0xtQ5MK#cU!ku+D߯!^ciX "|9ˑ^T0\~}0{BDXvw?$R%x-$']KfaJRnNiEVwrNC0{YklK?d[Y"͡^/IHE --g$KLfl#$=/ag&qxw?*\*'q>7z y~ R4`kh0ͬږr[~v.m}A8ZȰ$!d F^ud묬+~6y% OG?5|2''-r4$wpa%aq>Gb,E/ 9SDz~H[jSp; M"~aG9X E-ac#*fLl8fWv^y2؈EHXuʽ"*tp4BoַDظ< n6\iD@AGBޢeܳBtt6Һ(=8&|ރ| jIJV9 |a7s Dםu=j1y{^ :㴃FY3X. 0[NAS. kU#ᘏL-duR@~V0`*1 ڗHCO"}9#'W4&-Z엞,>[3s QF5&ZdHwi8Ւ ~iʷX,3!pĶ[]xɒrqZPbWFv9h҃ %35(6+׈iR22Wݩe$]naGjJۙڻ yo;zU46G= R,3sց"92e؃ J턤$zЛR,Njگ2/ JgPQvH&oX~wt?+]FTu& QmHrp3.Za2Ʌ%J6nNt"- ܧ;cSAj$2.O4}t>ުPºjwޮLZ!rZhH,$f#m&X aŤm\(&%-iJA_̕2H(>| ˻vtBx?O%Qqm(&6a!QRfַ%xRRJ`%q!|\JqSX!`P'cࠩ`,m+t\Tlr9 |vڔ0'J%! (jɯ$A(".iIM&nF5TeI/T P5lȆ/S iV;&FC}^(Uux-[İ| KԤc>f̗ܕ" jSh5]ٲr Fk m2Oq}4~Er@ZdG_bm4esF`ݹQXW)P!?$QxTtgGCAHZ\{!cE1|W%F\{\xUʅ""=R.pP+ۮ"Pn<2Z&H}h40"J)VK>)ëw(řQ0BY*I*ऎ!F l%JqǙÙBF+wHVsIu|Ni P_-dn>\$zo}'Q<"!c8EeY3( BKlHfm!f.8>qB#\zjJ {L|*zsTHw. ڞYGvo/E94#!ᮭ[| r/+-[!P= ,,^cVCЧ3Vܨ7-R_Ex0D#EyG#xHORE)I ,;f:3Q 2L~$n|L mJ a!$GcT94Ҧ_gf㕌*GE |hM"Hh5Zn':8_n?=D?:w|$'wNBl\GIiF,H'|"~&.:bcKݺhF˺?hpF0(gbjq-."M[ƈ/]M,lT+f|U[Njj,jN||뤱28r ! >y:'#/E[E9m;pAS*J2vVu`#7. Q1Ώ1_dr{h42"Z*/ otQN@v,%|L\ِcp6pL ٺ!Nji<ϥ;ʁSOGg6 t.*ߤ!M2G 7Q p]>P>+.Cf%%\IcI񌥾:DhLa}e^|L-%9&)if7t˚7 lAQ.SRP z}Qex џD~̦l "jBr4խPO09Y8ƨO33_\yIc5~P{By ujZHubc,K9)a /9-= WrQk€tP !n+tW,A4D9~vyE$5=[iԔ֜t  DJRi9hwI&dn2Boxֺ/sSTزv4RFhp 0|/O?N:rzv/qwR\S ^ =/[GrQ.6ބ$ƪ)t!ni>>w(|(HfpeѤH ֋ tnv323CO͗k~>#;B3\ k􃣫DD:&xSjm*P Ÿ[^׺kqLMueed?Tdvّ E8U}Tsw!sUb>k =6On,'1 3gvCkKgi ?:Dk i^u&zW"]9.+3K&'33B-![2sG2cR/ԕy%!:q  %F!Zl$9 }qp*#ssd#tzKή&Ӷ54š3 2Ȩ8U!V:EU%_*&(In}'G2rDoq xc:(v=0jѻ> nItS$U! qU)n'l [Iy`ZfkaHb;Vɜ!J-3rgMqoJc)2'뵱EsJɐ"v2[Q֌b }T`.-)ÃED6?X=zE[A~!|޿IYGԉxF%b&MYc2IjC]?Ӏ v[:!ipH˶F M.㨼R`|lPdD7E|s? ɤHqǻM/@,W@ " 0pHHQE6$JMJK˱*7f.p: r5`5RxQ3+`kRڹ~~|SjOn8}KP Th5=J+ `rc\c[v41 Zo# GR92#uq`ި-6i/*{#ǰҩdS.횪nbZYp~Dؠ4Og|^TX [հD5kzN&wM,V_f>GΦa l hy=4VNg}`S.w:HkDڳya0*CXqr1n$ nY@f+3O7m1,Y5H:;]{#MuXSžE~oH!ب57hPQ7N?-7QMK$/Jw?W•â軆2& gEո:V8SB28gsPq0$8 qmSQZ*+iɰlY)ScG(M-YCwD+L35ۅxtQRl5{6 /ɱ3Ibk y7Y)ESݶlP)5<[bT I?aw[t~@}&1QdWQ,O49 ,+ݦ=1wPxi92P* i8F_˗V;hK6@=rZhS,`fȨ%VY !hZh=Lr/|^9ރwI`G\R'w8c u;& }kN>,Gfk3i웑ARʥZbSIO[TWXp}v2J=2s(2Uʀx|]6輙-&NLť>h{֤=EF.iXWR_G[k /`H NeF_9!: 4H~Ico[[-r·Ϲ,xקe?>?3v(S YUTO֢;-7pE yA(-E<J)U*/z]ƿHWV̎>Rړ:R(ր!μNR勣pX*G:emxp![옥/Q_ p\hh<#FLQvDƫ),1[} ) ,Ty qFޕY o(GnQJGpoµ[WK]LmX5vbŵ"Ѵ]%6mӲD~t [s! ^e9B3<,ӥih璪& Gzkأ}{B祄]KlIcQO\[MSS5dtM!5,eqU!s 3%EUgy{sJ'NOʔOXb]{PlMUY4lW_6&I=Wڄ -ˢ6c/DYz:u2jDMk*r:Xs̰K܌ ޓE<! 4_!Ti?c'}=蠴fW*ֺ1 zJS|G"wm-tɨf3&BMc Z¸ ҂(?q0+rSQ2R Y|gB]e^).^>:!BTprX"(k3^cNAxQ;h0Ch|©'z~ٺ{xoȵ[5EC|GtATzUi!i !oPS `BpoR/i@y]La7ĄjQSt#~= WU2?R^(8,K67rNα|Y,ԶvW>k'_1V.]#YEJTM w2^~ TԆLTl4컥pҗ!.L;!ӸrcA[KqhdGK 3QkT |!W<9jA%< Z?_R;$rZHu16v8csh5V$6C!4fT j#D_Tݤ3f|B'K~5<*I<1IJZJ]9+Mi1T^nRX-z3 bwO#Zbv6tȕ`1 7q? ܥLi9{;IlY;ç|)ЁmX`PX 6_-X?$r+owsIRETsO9C>RCi# ]S/S*g}EHDAyuA?ϻDɮJ:u WVf$9EB*cX{Ӄ붕z- }QO Jܧ%2V[ƺCBfK1L ~yHNB&$QZ˷$Re_d5̻m&5"2q{Z]guϧ4s#Kh{>5['PIiE婱IMS#h`B)ӃB~P @hx"c?۬JV-pwfLgqHbeB8; t WC#׊u,3I5sEdVIqݳ՚YdO[h\ ͹m ^u~ X9EȦjKtf"P4dnB<1`˕y)}3ŻS\$gh|T3YVPpn0)R0|  >&=QrmTKEڐpw(?YdD1 `GerESڜ0,ٸnbݛ2ҳY⪒ R2֌wJgLw|ާ+XÑ%oA넨Ͽz',OrU(X? !t`z׮$FoѸ[]3L'~s1dmoc4}+xx-n͍"\-qmݮXgb&ŶDZ N]:ed ֗HqơlFfESms 4`@],ؐkI2ϹY;MiPf9hȪקA59ȝێy] .1P?(1悔Hd&rvc-ȈyjhU<ã|.8O xF';"Jc L> ^Cuu HTYߵԮȅ*"Dd ?!^k,qwא V54(LO$0sL:v|Ԑ_< 9R&䙏?㨳ϵW&1&E/X r~`NG %RD8q[ j/^l8$@$h6`4y/`Ê6QYsDG@)Li7wS:4 1d:}Y>A IxUeƣ(w'}\^,OyBNQrO4Bu؋EFE`Y0a$=Ih<(xh).Ya.ﮌk_MHߴΗeAdm1 zӳ収*dc{]OXM8sl?J:gk! R:e˲YρRrj̜s#? '"3,LheK'Hk~pINïGvsI+:BseI``8DpJt5FAs.hJQO#pM xӨv ]HYL~gWO񥅀)g NT?%aV+鳇kةqb)%ߵOq)RahzUa4MyqPlBׄ1Co]wˢ~dyw 91%h򣥇BsG2)ua2X%Yo ^u*݆o#l2'FSf;ˆ['-`*iӵ =?sbnODHT ?BL y|qhПUB|<$`Odd4N.j , Q^.Ó\CAIpؼ"`6JWJ0'zJc~dVҐX6G(4NKZ\}\ȢD (g8!jEH4rZLJtMyzl&D,AԆ\tZDҮVMWyW1žTM,Q 0'rb׏\%g&Y/j-ʙL#ɩ7qd.ɡH:zY `Fjr"NOQ}g&yH5X@Ci pN]qQ3LhH`/jԄ<ʅ%o7,q-#5Gfxnc-iS լWl4w'NH9bM6Y#>0L=Ds#(cj*_@蛯U~~ӾZ{-^_?z3fWZw B>aZUH8e8p;觭&@ |h?:Q `[#sg,V*FA[7(uu.k+Rv(=axvít&!V85 N2\gimɉr|?kX5sHf\#KEB+|)/ &Yž]:=v8BɁ$d޳P zٞG"+ (W~O^+ V9J="4SCF?`EA]w0#: +ԦM.K\dvv&CSep'o8'eHґ_q$ڂqxN?bPJ?>wOo9'x5|о5_Zm SW,xTFx_)Zg|Wv0y"-p*Tzl;O1.'^czp0!Juϝߥ|y&<9v$R])*+:TO)ER.#;{`q7`,&h] 8z|&Rt=+x@٥fx۽99m!)ay\| pJ΁`3%. RhKpt%- ݟT= BM EJBg#ny?(4dDJMX' j]SݙY[/TG7-4TB"LGs뎟jp>̢{x`_Ha}C dBdEiT%]TmtP!҇# [G\M%aQ_XڿZUƤ7p^Y j'j쯬 9w.|X֝*OhPJ:{&F_j绪 9H Y[v:G$] $;"~B="v RkY0>؎\1 ۴.Gt,./Q|&gPiMmh'XWp\4iG. DUkM6c!gA-|+ wvspMsFOs?u}r0%8-Em|#Ym,g+"E;eCɅ*%eyyĭjt)Z O?ZjaQvq(Y?)sDCbuZjF|S\bRD`$)Aa셭dMp\] K}V^myOeRקIhx3@WҚRāHhh[ԧ0f,t[͌?tČkEx5Dlx .(n(]e9 '{ k] GqQ(rY6z8`U шB&5LbgyC\zWOԷ2_'\4m曕:n7ˮT"D]W-O(jm莽k](ިrZB\Ash.TZDL vRTKUboN7@ 0;WLۘ.4\<I ~rio/ge9`؇ߌ_զ3'luTK;[]uw\}7]:8vF7ͥiw~;DrLs[Rq}E<15s?!(sq: 8z)"L-yHx3%W _J}1-;յxj+{'cNϜJd"TMk0KA :Zۡ622jjtAܰw=*]Ub(/ Ch¥pFn*Ie8 \__?,ONdU&ɕ 9|U m \5(޵ 앂LZ+޸L<xUX{T=Sͷ2*Y@FQtT͵R"G[m*{f; @{)bHGzX=9SZ!a'V"x9V#hdUY GߥyACx'fVnoyUzP~9X:/ lX%{>nlo<18xm,zÒpI?5N!&eW?`vH~Aau'9ʶ,!^',s$@تSrak S> 6iqN4uR:{pxw^pd8eۯ4⮅H9oopON]J'?su*gbò ڍh0zc kժ礂hQsފAB`DN2DJ?dDŠIUu~ v 3 rIE{r}LAu,'|Pi9DohZ:=҂DD,QVlh^V #g[5TM x{qN6<27UOL'W!ЌN+yjuGS18?ݷ0#66у UDP䩂 l|9I(AǼb%U89&:wn"D\G7MXctHIQi?iMr?nu%:χ!E\FՖtNpm~ytCA׸,u,@滩r0/ًzNfo:.KJgbjtTA6v?5 % VPٜ< `vUV[fZyd0??W$Ȏ~:]穕džF˖? @T"Z<0eG` ًOE=RSs^c+@g?7_t+7Z?9*J‡OˍO|ufJ3]fMԦVXS(XtjU?o"IϸlA4j$"74 U oXr 7e\Cq?|:D1< W:$fNZt:aNMxViyX 0Z=w"N*TEJ:I PDL(i? 8ޯx,JN4 \ي=ri1U3l7vfT~XgM'3K*PU\*)V%iXYmOINx4ciGmuþ=Ek){zr=k{8me욞T~\ظ ntÆ%9B',E#tWfܬcyP'jBFwQ{ED@xI =/t.ƋpYV%xլԓJV8 " HD MkBr0\gmX/vЋ,x-mhY\={m QS`J֠Dwnl/|ᶻLzp`=DdM7 3CSu+UΊ@\(Z \YZcCek;q^"`g"c:2AL>u3z7T cU ,[JM_hBRLZ B?z$7w1WBKMI쟿'~?'qIEqYkuo=x<*_+ d}/iR(9N q!d] hݠd I^da\3?͵2~*YSs%tie023ʥ_ުaŢvj 4S}ICs,ruJ^^Gv,QAZ7q8C"KD[-8-E:nH(lj@G:dYÈU?X0Z5G6yΤ`u LaMRq=Dvϭ5El76]@@{ljZQg WYϼ]')/^%d5eOsPvkPvG 0h7rKܸ cnR6a0S[%\V{R~P.y^JmN}d;Aֆ(WWΥ s렯;œ]gE *k9R4ٹ~-zlZ%KTqБ& 7r M)KcڧaRilbzjV:🃔*l1e6)Îvш0Tj!VC>2s\3ԉ݃**&'3CH&ffh}~M^a󌋃LfOm龤k: |h~vv/V)9]VPGMJ&p-Y%fX:h18'fi|cc(u wQtx^q9ÝFZF#9K3ݪW\|~zi@C]Fve_8:qW_.hicpRl#VXI =^|s62dG̓ +\K2<ݷ_>襅L (Ikldƞ=Sd5;g%[Vw ht w\>S{z[Ģy8֑nD ]u{eҰ6۝nUY3|v\b'FFL#6TƕGlAŚiC+WT|p _ sCևA聏ذ: tan@,MK@S_- N!aTAC &k,@ 0ܱSS5ؽSDO6[8xBK|I3Q]oug'[ ` H*"&+jG:!COՂ\7B {ᆐo]C 6NJ&|e*f;ZY3̗dJ mYEٲL_y'[S|SsWfqj!&n%_&#Fc{K`|@^̉h-]@?e1AItn6Ν|./?R"rϖ'~_ z2vl/KY9ofޞY3Ú$pe/ ϯ2+fXy1@ |wY \ēGUGa6 \=+t1؍%/QA)OA&Ē J@{ ]y 5baL.I1 ,`6 u5eP wAMTj&BXfJaSljlt д blfU58O~A[iͱiPeo>X42r"~ uVQMMųÙ jh+MDRrӋ=϶ 9w7Nӈ3O$2O:`% X=RI<3:Ԛ?FSIC*Sr5ugq bQgin]6{s,;}iAŘM d=jxf|1\dEOز( 'lbA9d/WhJ fE(^ ;q _4 QjZ@oբUEq~ȵdDwr\nGz <7E]Zg U3ca.S &/Eg)ill {4 icTk-$CC&%Pq.SIjf/_%/ofΏ%=w%JA!%RqL՚#LʐO p2g=8Iq?[H!ଣM "^]#}aue ;v7D%}6\=6op!ﮋ+EƋM&Җ}H'n2Ae&eK9Q;^nj1( ,[ 7jbx\cQY_5vn6+ےjkQIkw&99]T;ز\kRRS-aݻ(e@*)8DXӧ)_ӝAFE"St2$|!،6w(;.x+~j̪ş8yS6f#nt㝤 R?n}]h ' L+٪0XOqb18~tѲh>yܡk}%Q98QdNWIT`Re-;(o7FK)_. A"(Ƥ2Hj߃|xoled|KTE,~4o%H,vI8J[׸ŘfL2U3 ּчgl9>fRE (NHɆ~Q;=ٷc/l_Sb%90o룂O:hwB<&,O51LFDBn5uNO%K!Irs XbQt}}H-@8JY, uSuyM+JI5MЖ0>4ڍhfї I8 :9:zdgI"__cA8Pp~#5|_ordim Inz=bȗUYcʪK-AV -;mdI`oeqT$ِZS+ٺ`ad],W}=L!Fήd[h:JMYHgaCQ!k0j>WT*㜢XygeqنuZ/lʓ إ%+ U`d+P:cL}^BftbnbO?ᚥEv碳iz]Q@dM*A"#ȓYr#$VVh N{A(%֢QX=|,=l;z׶S3BI$+FFHҾyH+;uxǩk;fM|}W3cǗ1qO/sH?T֒TbiNɍیxC-ZZ;ĐboVJ,4.4L\AITK%ayхw98NΘrEHSP~Yl`9YݵmhDJty ī)'*_6f!a$B]樲G9;sH`xbQ̞z@d4-;]BmqGN%Co ~R_3txXiv&W3Q9 4Q^0 ZƳgNNs-qcז*`C!P\'xۺ˛mz308j:#;b˾(8ɨ, d_X\?8 X%6=t 8?8=LMTN n}"+z$XYT>;OLSGa=j :h),j^wn\nNR19*uÄm.kA.}onC2[2[j>#QP3H ^! i0-fY5|e QXZO[,^`s^š;EA6i6O &ic_ߒ j 9p:|:$tԄ`t;/: b%IE*#eϭTW%s3IiuEU* ]П+"/EeHD י`l=hFtRxK)Gƥ2UY䵮6n>Ypq-7t^50Ei>V3>rJC4!T"skd7]il]a#ۦIMe!6]ZWX)DFj'e6Vh51PcfE. tvB=|BagqC/QjkmSP#ތo} yӊ_0 (K=eBl;)ĦA'8JYr:%Px6GGN3lgFϋ`G_ E;\ v u7\4,Z~$!4:"^p1!13b~\Qyv .59+= D?ettHC^~ BO/$9x* ތ;BirH.֕.M:Ӌ4g,W#="|>3@%11Ei7ējj(#X;*]7 GDg2ng>39b޽9yz=ՙě|=2:~\Hbd[b,R7#Г4. y8JgtDzI ؄;wO*~Lӡ7/a҃X8ǃPkGS\1֮Kyzj07~R?s=rJ۽xytH%XJX@% fQ-?L8~vZg5@MO&!S; 6`|'51n0}TLިzqh٭T#K̋ZE6dO`" ΃3Q!V$`qD^9͌ .͇ qO9wxVH(l(bj#2ʺ%ccàD){4tqdSDj=ڿpޙ](7] *iÌr81{ɕr.SmeQg&P'0弝6/%;w<,댗Ĥނ*=3FkK~pv钋d-Yݙ(1ޠsXƨÀՔeʶ3ZGdUxGK9cIK.NOpQT..\Wuc,).sS:Ff|pq-Qkp.% "󵼂:"vbiFJ]euO__~Eɺv@]%MW㘼SI7' Jl~ H/I(zu=軰7mi1)re+d9Ը҈/Ol"#Q0*,~*]j|OiER4ְ4y ͑><)SiΊ#umw̦={}Ic:]u:Pּ+>G?ټ poaj;HnJVtF{ dPI RYdrɑu\'w"B:9rA76XV1!3bC=#4`=(!H6PVVϤt"v@m\VL;AnμEoýG]ڐ{nަٍJUM3 q_+O4NY4Brr/dad' 8JTzyJ1mх N]sV0/g0MB^c+*-&mίiB|XtD(JiH|2sґQ^Y2d[MnK%K> GE*!ٯ%=afB7$uf )wW=WϖZ,HFw|[ÏP q1Âр낾;v{fz׆dSXpTu<آե]E;b &R;&ZԹ.N+IS{R rŬٽ{sV f6"vHz-HNHklc >Iu=cQƒ;2ҿ)߅/'7:rM'2ʸV÷3ʉ+t$ז@C߱kwܩK*SZ$0T*Q+kp׿aʈ1T5QX+h2Vm 3ND3&߁6QU 3㠆*r'P bk4-_v&!-0v9Wyv9;wod[{nF bX{)(X[݉\; Ws98?_8YAN?V_ZX!p`Q  xQIzH,. m\JnU¹lp ER! 14A#cJaU'wɴQJ`bk . "Q!%R{y5LDXC=J`Vk޴Rd%>SN3ߴaqgZ謑Nn;?y=vXhƵZVe9WK?k~d!?)6;Q/Fa,Iz$]cvj͂2Ijv:Q!r1.`Zsк?ix2gD#ѴBJm{e))l@ q̢EGBOBY{vhzMo.&Gy9g*K%9 /yqdžmZKKdgytDIǷF~ݚ\C'́ 1<|t)<[P +_t V +_2\e/h9oYa`l:)ᓓ0^z<͛؊k7kuqwǶᶰ$GN=̞I4M$qe4S+S*"ǭ{v\q*/( |T,a|$}&6v.$^ʀt'#K Ft8)ga7#6 v-游ND﯆Wۼ\M/ϩT=o"#=W7h`\ Ms.ď?U1[aJ* 3Yo~KI Iy ng猑PχG(XywcӞJ'3t0[^2wUyt_9s%e*xI"Q6ᢪ<*.qaMeIa{ ͠ɾLˋЛ8\6KQ%^ 1wix M)O9([>!v;~2ed4uSY(d>~ʈ+P"ouXruvcǵPV2̱1 M@#N6SgUgLٵhcFCVP[BA< 3ۚP PEr͙]eR dwGEA|vN ki7qNzh/A_5 d0^PjNW=wx/@T6 ù zcd:8iZ,lGAِ8+bMv3/@xX OB<»FGL4}Q/=.@Z}P)o2<.ť&(Y.{N6;|5 Ro|A섪V~a ]imCB+m6 7d Yk￧d=d!dޯYs8A3ب*3=1gzkaH.8~ .V.=VCGW¨3L挙%Th oNVO;'v}Żx-f WwtY UÉ*K=C1fR_̎εru9hcTdID#9j+!` .{ 0Jc{VyH:M^N o#Cp?&x 6j} |owӔ][;<6_?0r|Wk>R98NN-VU/Hhkl!&mMnX'E-4d wVD}oݐF#Id!]6:`% {ڥ0B(N< eԉP=+k.p1yP68 5 c1;x5f{5G%5'ߤ)X"Shu"6W+3 V ;Rт >È6"@*k)~ƭ2#c::SP/XcqԼ*5>uO*cjJxg|=t`{.] "À6F!Xі`5rFL؋c-\ͮYhpXG[++Z٭5.pՉ5XTԟna?V Nw FQ^%F*/|itaWݲ-Q,r6@5urW4QS,_z;Z h*>m3,kKs"f6oQ積۽v/KMM"E>$kǿ%5aV*Lv:rOˆ7L^\ѣ֮.2bZI3S4E|G|=4?鎹]|A#jY@یJyx7 T "2$y^@y@uJ]bV MA~#si:YmM/<\Py6z^PzSU c6o&Mcdc)M|(޴[HVAf=(nrcWGyN= zs SY͊(} hSv,GV?8nÛ.E%GpҨ57D U3Aq\'vaO 7d0EobIb/hL\4ND%?"3h^ӢD}&JFSͼ3Xϫk;K*xt&L#ղO6f?6+'įA?B  W>xbQxbP]c=g%"$ĻdQ:.ӐMEش)=Xz)n1%ܯw++l*|3Dž6#@5a/WBp?EB,LHE 7}uS qyPhNq \^ؿ b{+Ӓp 4I؋U5TAGS/Ji y${Q:rŊ)5i8N :~?&],懅!B O7C@rFeiOy$vQF9R %<_s'd%`Fd 8)3;PӲ{1k @g'?#02 T :e~dkp{He*"3dMl-|- VZIW Apq/(hWop*Ϳd;dԮBõW|]dj>{&_N$:T mf>0X.< 0M2 Զ|QNLK`hW3zo im!k" WOlMwn4;q'"k[N8|(`BOSCڄf&h #{ձ 3L=ͥ:6e?3`w5@tܻO θo.]~s6vZ7Xq}ԨQ[O FiBi41U`Dނ筺(TAb~#yu5TAG[:/La"z: >0vO63R4]lC2=I﮵x,$A`ZT/4 zA_  -RI);.ȖHAV!Tg~?NG[2syU-gQe Ɵ%\@6fg>:KsGᕄ)4.B21v~܃kJF,{0z%s!m̓Z{E4t'{l[F\}2Bw(; ?NI8F[S&,W.f4) E#ܭ,/ ?z/9M끢;=m锡sGv.σǼ/1Ќw3%jY9r$@\ *Rj+Gƛ'* F 5vKǧ/n2Zl@%<KǗNgIGu祫=\+ :A6:A]z9#cL1!umfa0bC)#¢d/fVayvy5CRXևN7$Ğg3rx$oDzؠ,/Tx&Es<>ծ}D Npڊ *{¦uMM|BIEjT즰25aˏBzX IU&R}"*襘~p2: Jlc:ԸtB"Tm6@8ŒC>a)gxIZ[t sj}uIbRjy?x4Wt2?@̨ga1g"R+)d@0> `EX{>h2p&aPV;7^G!وn z+ftR⼕ s2, ʚ-I]J̼it{uͭhgEX}(1b|3YW',ZRg$Ip~Ҷv `\BjTx%!3Zl+Z:>brBgEaϚhZy1-赩^Xy]=JlY1`eFf5awwve~nmG)ӎ`u O޷o0\6r$dQ) \.+?b$`b:ٴ.u[aD0#mւ:diQ5" ?nblemMOu$¤B{ kW!ف+ yx~6@Ɗfـ4W"Y&me6^A#;O&lsWV~~HACB,IopMpI>+~.V47W\]];.!c'p_ڌivOzYJVhֶԓ}ԫ4k5"boi|M{ţGz Ar+[NCxItx Y?3l~X)ב_@t0eV2tyAhIH[ Ky1t|aO,*܌>)1ΰEf~e8FT'Mw̶jxW?DffP;ЉWnxrׇwX;,"l6_fE[AɰR`ERY8 aÐxh ɜR-L%ryWRTʱD [ֿ,ISį #i懔Z QGZ6vʊ~ic6.ؤH@+,^<&L(>OxX+4YTn4İQeYf-/유&~g`{e7'FC2Ecs;lȬ={>Tͼd={XCETXvw ʁ?CYSi-4Y˥g\Qm[;0 R𪞑 .R+I/[ K'(a۫d$Νj=rVf#s?5WDctrsPuG\XT59Am`.3<9l,Ec -bao*g_*nm?()$IٛI&B^OQ]|~pUpe± rOe+@; **W ]ʝeP٧\֔KQRxQT" u%,,~Ap./ <PYCw-ʅ!́$ߒdRT?p6b?%BQ8*4QrI2v%U1A/Yw>Żӗϸ*`~'(GeNsBϜ!DrH)cn%ß~Q+d)XMTCu$kbSI kOv7\HxJxW!;9ptRg)D~wJ oП!,>aR۵#Os3쥈S$*AaSh&1aQO{̎|#UDmo~`ĕpR Ք1m<Ҕ8Od!ψ $CcBT/o#' &4(XMRjƏ?(%iob|O+W]]zuK')LҴ-=ca%?,JiTBulλ5`RMg|h3@Hm7-klhn`FZ өe( rb@w)MH,<"2Gv\£Frcy5xN /acfGRVVQ]&ilؘ4dllP((8gճⰂR#jY:w5&xmao}~GK ycHmKJ`0"OI.?]3_H8\a77h $$2޵xشÚ. -X4stD=,=apTRM [K{K66#'{2ױYV[-$_ 4IRax( 9 |2? ׶*kC5UmZ몦S4gܭU8p4,8zkT & e=2P*PD{izMELGiz@mHFɨNՋ`Xk3߼Lx J{|4O[UAbLhͩ ]c ؊H)0Ť90Sngӗ"#ŜdHyz"+"Ѥ\ YPJј2{ ">g-Peڈ 4&{CMA\㓃&'gL@$;z:6GWY! t=CR >7Ģܓ.V/czNfou m?Wa -UeIo ҉\Ytp%\K/k\(S%1)[zfF/Jv!5HΦ"s*3g%i7H#ior(ȸ#ȍYҵ59 s85Q,3Ds6҃v]O+(mGzOdf6ftdB:7v1OFFocAtqmZTTɯ wP(%0vDHCW}R$A?,6?&fQO@56θn4>mt}=*@}[Lge6Wn.0E/ZԢNJ.@EdX}7B18W|\ojU̍+Zxlv/G\:05ZNuO=\!~$u:a>~G_UNJ.?n. 6DCqZi/@Zx0D_7S4od z՘\bK MѨ ޼Ϳ.W$̮~^g(L`]uG#&EL~h&H87[]Uq2V{PQ3x)!fZF]`Tvo<%.|Q]fk}IY|jD属'Ce61𭆸Ͳeô:#d6{om˥w#v\zIj4j'@lQV/ $buvbk;RB*a|6t1PͶ0Q@'*di*fN9mn]ӀCAQ ȁc'*2HWБ)d!l9SS s91NuZ,pgT(@Bvf)LIˑgg#$˻x:AzK~K$&oĸX+[Fv w"niAQ`8Kç_N?^5[F􎻙Tq $iUPibn;COEDO(AY#\(R:RN>2YR =K`d7KpL! Fz $^&8w` M,+>iġQtz{xR&j͋]/lv*̪֒c$n #O7aaA07#P0Ju]4?mi50x|*gP?+y>O>u4* DZ-T~N1-$V,lyix6mԆmk J* nNe )(+].}2ios^RBo/~|h_]u-S@{}Aޫ|b&-YUU w=YyϟGu/qRw$ p}@p\,DX5/ܧvW3bv/[!mZ|v i'b6m"5s)9lS['T]m2] h,̔!GB7rǹ'=otYzDeR:d $NonQ7̅VJ\]nA̯6W%s/|_}k6s%{2ww/wy[=^9sCSP>5OD#PO܎BV3&Frhޏq¢UFȰ&^Viԍ zƫg'2 pڭ{{0K6:y1q&mS Ros8w^I۽T纐,<~VVu/V"O"JnBK˶t #uPd.YPRQm6 C"|CĒBU qoN]}P!kc^ұdPV۽U^No>;_7.(#~/2O13▗{ ɘ(ϚWGP*@-ooH"hEj8n [$5MHu+ a;ÒΩTx0 _0pCZÑ"'OJ]Gq42` *@n˯s8>L#^[2t5^cIWz^,&[A0*͌c>↲+UZ^cؚ$8=S38??b5%@E-x^|ߋfDiU@`,DM`s\`iBw0Ԇō(p9;&xm'}+s.۲9%%̟+grNL@(S=ϛsyIr8fNmذEdEMf҆R9[Zb(G|b%:_](Mwm@PE>$VD--[|vfj,|#L#y.%/g./3N?θIgӳT "?hK)AʉRoK"v]8>~ Ġ8!hw:RCF}٦CO.;޾ݾ$=MgZx2,8^RG8mziiGv,ځ?R2 \4[~'i8hqH;e Nk hLlZK\J|EFϬϋ=>c.Zvh}w"Ж%ȅXN/^ɿvUkk@K# LKƆ%N]r7N8Uy,5:,_obȚfbMKsͭ}]':QMkpQOsfެe\GLÔodͶgd*'-?ĦDbrp/,+W͸O6Ҳ]%j(Tm}V+``Fxw Wӓ6n[xuؒNf!M]5.LayP@H_rq`T7|^zнaQX~[ 'ͻ^{:8U;:ܚQĺX`[7m"8M‡CuBnBU%m;6!}7}SZ?$yQ ;y`*1α.S]&Q,^e=žx^Nϖzڢ|ic\tfl; 'ZߑcbowxCK)G:'5V[~9g#^Z\,9 N|J-2QO WV]7ei_uko6(`LjVuei|r7r4`1Zf>He{?s&lFܧ|qa 3Euw.R-xEPz?jE_0krQˌn;>3) CwoI%ms.:X-*4pe%bU-.ZbmfMܦ>&.3y>ߍN L$*;ϖΒgoA fQu~)s %{˽Wb]}?%l b,]w;Ե(+HQk++*jCOkxc"">›}z}h^c5{+`z\> u4xy32 atekgT y(>:1L*C)-6RjoUOV,wFK Q`gufxҠV/q>fgA\К&s~Kzw"!kTů2Eחv.4\Zqܿub`Y?u%s{ f?RbQ'>赆=LuY'Zg˗pJ̜@Lי̓U֥y; yts\J|dHԿ6zaP&SH cv 9c`g<0+5#]h"#y#eF!ͨYCYG4t`9˾q0.,V4DCů.Nl2kT5fM8qiȦwgV({G Ty夁?uM 'rk&D?}|1)qf`RO|{]5 `Q{pByPs4e׾i~/@B>р(w =gdrG%z!#bSU,`<<$6-+@m7c`PI/S?C}CDj!g@*(iA6߫()Uۃk1("?2:;K䅬̭l? ޮ֌0CIR#}#;C` q1 ]K}ƭ>㑛iED4mH{ }"KmH%lb~7,9mY7OP2?x`Fx/RUe)4֎GJEy}I4 `3CyY& ˖flšhҋ ezDwBMv^P'űt}"xRLں2B^pVr̲-|Wⓐ PLU)Zo# ߤd&0 *L[ qɍA7E#54;)WZM>(Yjf5? ȢҔC!k}It@,C?1SDK)GΖH̳UOi 6sl ߃]I"jhMJi/ri<6t=e+iY,xn~a6Aj!4S$d*96 0N|]HLv={mDH &aTthL a &v~ZLޗ{s>v?Ħ]飤 ݅Œͅ\cucjƐܔ$_#*qvTLޖN9]Nyލf74H{))ɐ a\m<~|`޼7H44ڨq0/0 v ` #y - >҄d[My')zڸ]^Y DI&srcB$( Bxc4ܶ":Pd5=jF7@)UrW8h~|~:.Jz+}&OJǚg6Z&'q ,.+mfw@ȰXwP̱F AAҤ6 !'^%^?*,8C+OX91ʠ]jީ`'6GQlyJ _/Sj#j3Q1&89^F.\WeN ywXuX4v("(UB6a@o'sI}$@t$qm댙lGT *#|ݕ+X2CY,Ľ KO!%9U^уtPmוE?QGnBxOHWgnwq h%HG$R~څ.J۰Α;oV1CYx@^ܱ d>47~I1ÿnW;7|'.56®msm bѻːUaJG֊s}OYTW8`B۴O3aWG03¿o"}p7;)qO 2w4MMDωb: L_~S+Oz|f2툹r# ?h6@1Z}zkD JW#;kM!cx1KÍCҦCgq^[,ɠO6.:aAUx*FU\Ԟc M!T0EۑS-0CûWLcjMszE:3`F7Jmn bҪhsAA/_WD5rBv]J,f{(&s:/@\:^h< ͞Aee; }Ʉ+'KHl24KrYjZ;;ޚW n{'ڕsdzܤxdJsCp *ٗ\ѐR=Ļ.qb좽r.G[2ތ]b2*7b<J']#)5mi/}Fvkzڙz9γ R܃%!̉VΊ;BQM#Qp2sqЊ9i/ozhF`)83TGWrl:?Z!7(zRqoxlI+E?X [9 )T}㠦U]Eh&B}vnNV˷=31:|KƷA(%ofk9 d{1^ ]nwɊU٘u3jzేTA{\{5~yYS~5-zkt<3?{5%]3:8;HZꚟ x,Χ*{5TZ3b(oi|eQ Bxv??}QdQFeõ'OԋB`DwDnbD4VGqOTz:@0zH[oF-'7 Z m:bAEs=ǻ0.p^7 ^A-Iy!S˦&zN pTX)~2h&sXX~Q.jTp7GG o/{^ׄX k&'Ud)fH{SsBU1␂UnM/xl3mbzY޾LEcUy-^ kBifra|$-ংY+mV7+e@ ̌ m+WR+") DE.-qU8&>ғ Gg<='Q *x>* nDKqf˵2ߟb\KG\ɘ08/MC]6I+AS6]R?FՃ#?]ۿ?G6猸ߴPDk{ž'Y0YIV]lHsO]i 23'd)>&[P9RSY7l/ۄS&zD$%9dflwSS8]qb4wd J*} @c{#t;NCjĈ DDw7cV*3~KgpKاsܾkH؞2D觻\Qhլ'`)~NT!.$$i 5aZVlQD:z`C'c+K:3¾3>thޙ!,!"OO-ڸSٚd@e^һkm-{?):P{»  N~JZDBuqӚ;+A]qY˒$ wkGoeXe+50 E9窱J:n|i+W-jDҜ6oɪ`CJ5X(^5̭L%B]s ]!B?KI$l;@+;Nadcx=EWFr/Fp)‹|S䓙^1!rnDb_gVǏġe.j&`t4[J=OHdH4M?eL?(m..hS(]c"o/Gd!o"".j4@fv͂+_~`JcvY-:lm<2ːm'J>`D@RqwS84&%Їwџr@AxOR7S.fU{dכ5?7|?dpIzӒR]6PF&GAhv ba] ]42sPsno%W̴Dh- qQ@/t(nJ/ʰb^;R.Og[|;-A L.@/Oyg&`G&H ,{ Kl8+-F}TƇ5j#)[Ϲt4f!' MQ~ _ w錵2Cuu;\1^y9l:"Vq_ ->z*0I~u5> &bL72]eҤ %^ )8ƴ@%?Nr1[\‘FEAH+@. vϢK^5*q<j߼# ]C_7,B6һו ͬ<jU?ˆo/og UU\(>ʨ7}Ph/`,G /~U\KFR}Ei) FdO?L2_kƂ#ܗNNpu!Fu3m^ 1BlOyumKO3E ad_EZ`nGD:zfD"h9EkθK)\8;sLLX-/Bn)Ggm6u P} ;:.zlm\v6.rYPߧ%[' Vd\I yk>'IR8|o0cڼttF59`PQ>'O6BK<\\vE9fT3\jW=orj2M9AI,I B˽ ,]KGE{uߺɷhUiT`!W|!Ra[d(ږ"~vy s.< q$ڈhbrBa&{eFVT7%x)f52m}L&[Fa@!5 *@g|?8kPU\!B &Ƿ Y^lٳo~Kgh4)寍= 8isŞsCLfIGG=m|le? )Ғ=腖bӎxՖ2eA:޺hz)njWVdZǻֱ,2Uѝkۗċ ΤejKq|( ly6*ݨrD_% ̸H,Ӻ88/1W@[:@ _zQ;~ hY5!)?pb\4ܧ~ETSH*r9O}lʑKz^ VuL;vE`^IT|a62f?] )݋o>50$׼)`jl,܃SS tӁxhg[@! 9xǢ1ŕ ɚpݠΑ:F#eDzovv";3GH6;“70,/+/P~oϗ -k$Cg}ۮLw'XGrj0oߕ$Q~s~18J_G,簸X.kPV"@yI0ij>Y@]ND` A?;=;i],?[JRM}) %Ԕv o(hleIydn V$9]T+q>wש-or OA9ż\D T)Ji ԭMxl| (\;Yh%!ʗdzdKf˓~lRTteꑩΏS>|!%ଇF6V휬Qd<' ۟?b( Њ+Qɨgdi(}{$]z;+z{ࡤ9SB)lLk$%*yL I?:FؒY^!)3^w->˻abMׂ;9354ߦc8,}qQX=#Y7a]@[Ia(mA;>0ͻ$MM9Kڨ'2 ]~oJ2;=Qg='SH)šݚ:໒;ե3`qlil,13u6eC`xƣtzYŹiv.ZJ*A#wD*ؼd_E})eCS1797?N^hsMi`GcQ6 {JPQYuE 8yy K1΄sЏKd@zJfAg:{ 7ۥ~ڌh9@.M-KgDC&Ρ $v_in6741}pg9`V4mK?20ɜ C3Q?5x-` zlRwErU%ck7@QB<~U@mU+Zܺ}Ӓ+%tgj3z [I0eF |F ΩeDh4H[W=x*{q3jB^Vq06eOwΟ r$>HyֈBu6Vrk$#KkxXM% ]CU].ΉڻEh Ѓ9ʦ  dzMֲ w܊/@,~k}Go7;]s,CbO-5oN?23kkm ,Ξ<9<;^dNVɀ? inD+P.?(3t `Qo坨%E +pq,$;l)6qoDhGW.AWbR I(+dol,X)thYI] ĺeY|~YAFa 5+,BwzwMWFû3kHP~PLss |zHZSqǭwҸܴ"% "y+LNL*ChjjIÞX񩽢<#ϵV5K<ͽQ:A-$g}qn׊JܖfY^H&j(+)l[餕\&90 5X֣Eeynaꨄg`j ^4'-by(2:L"(-7-CC*MџףE0VMӶzyqba oia,7(1%Ú%wPj!@xn6b x {iYZH"qJNN65ZpA05ڰdE%A;)dvdV$tJ^Ks1jQA55 b.JA *EDG,`1|(usRsK<\˝"^J L@?ZFռl3?7Kgm3*_$o^A]Ƒm8$w505lbWsK6VPRx6 \#G1tL :$^|F& 1;CB\ۘVÇŭc;B5j@0l, \PlGTo/"r^@geMz_(tU ՓE-kӎ{Es֗tlٞkJx(e,a/afW&GZ\!r!24u; Jg B@|SNNikn<@}(MZa(|-^ @'!Aۅ={ב˽ Z =KF.$ߐD!xYb 9*jZi@9 *g1äv_עboC)Q6Yiyq1Kϩ9'Rf=z;Z&bʑh\0n9>q-uҚY`XBv=[F-G羹μ#j7H.)k7 32ž0K" vьc䠡Z*?;0j51YKrjP1WÙcyc5Yտ&/}}Q)H7 yLσxd8l>!pR?uBgr:m|L_cR%Myf!s^,Peluw-pt ݹ)~?3oFOR<71_LqSL9L1mw`LTc0u:-7|tiX'a#f1IIqJa^i~;{ԔݷJC 3}a+A?PR <%?x)f(4G\"$VgyR^谥FӱBos/pF3XQ/ngm+l$;f/9DW|"8#|04Aޕ;OυpDw'= @G4SB6yv=Vu 5IC!!hB%kҌ "C$9!7g$s,_UXlϵ'ʸJ 8I(i~yY8y?ϕq(4$2J3,6 "D*+*F&j;Hrrvquss3I (ɊiَAIEYM8͋j|t@&TTM7Lv\(N,/ʪnڮi^m? Ӳ]=!i HfX.7?"L(B*m.$aeBH4O$S \P,+Z;^0'|\7pʸJ 8I(i~yY8y?H DBLBX" \TjV7MffwptrvqusDP 'HfXDIVTM7Lv\(N,/ʪnڮi^,Wv?OvaBRQ50-q=?8q3wUXgD'-80'G/NC9L%"/ Dݘl}F@Au9bBA378ۖpnYק`zђ-]͒Pi}۔s~|vx?Q~ $[H;W<+|U.L{\6d'Cou74r'ҧԋm% j\kroPB1Wf{;̃-vBaCrڐ~j,7qn;fS~ b~L]b?l3RcB6nӊ W˜k5QhBn0v w-dVbc[$Z%N_gɫo_>_N(C\xyy] iOT~o`{бLc*ä-K|bMIi{`퍚yG;6xiNάCl"COg E% t[H#L8 h'ǧɼT9ێRlŢvchNyzEWrizJaAԋC"Qf_I4 BƖWڝ&I@턤wE}KM d!7KxinD q Po͜Ho$0tѮ Ոs] XPqOǸeEzk%E{`6?%O ')JILKy䦚y*PJDH ~ %k& os`^]e5@O5lN:pzE4/ (=8p3$$ݤD.GPYZ& |zuX#r 'SC1,ty(}y5|b ><[ֽd;zPF<6{9xx*1cH0VxI OXkX#5lӹ^D}8@G(`ڊO$~Ɩ\+z4Oå^e(׀ IB~.څ4}?nN^}mZ2OI'53G_2 쿔;cX?{hX{8wYT쒙=и#Sg㆖&\kw5RJD$z%omiOؔ2Q.8o8Ƥ9Jp9=,Y܁9yB9%8qz @4H]`00]%੦y;/ z~AoTaH?<&n>[\Qr}P P0pu5k[~!.i}̈́ pgq })Z<)M͜5(Ebmf4뜯tc 4 fD J/8dGwu,n:0erX?)A8u)mMj~9lM#U^c&Cپlwp)J Bٰw8Lt+mrp /Wa1'nLV >ڪ͈x׀X]e8i0l$ɵj$z:AL]K">kL|CvOĊ KȤᘻA )aTyD?`9:il'qk<}D%,f[,(iUC0[dG ^nl/AIgB_ cUnu r܃̇4>J o=WVVV[`tPYl;4H ~S3h9^/kƦҰ}m{>3U}A~tm7lE/NBJ1N.N:.4 >x UcW g;,,%O먻Knu &wҩ>ۍI$YHYq&#_Lz&n-8rQjS]Z+OؔI hBT'C<E0$hJ'R]\Gk="lֹZBpSo-F tEM#nz3O!i-9X۔,>Q5${J8nb4 #u+4G3j/UH1o5>5Fܗ&ExH VbMɤv;]ǞO-G2AsB+rMT:$ [s?paTZ~iOMΎ3; OE Tư)̗ 7t0z\LŔ80% Hh=+p-NL/V$CX_.XRJ\}{+`fuٌ^dM| P_2Il%!hpCʠI&1I,҉NS2(E3u}H^*8Z4_ꏈ`z돉zh6Ҥ" u^8AB!T(mRWubNRq;hohlk`=n+"AS# V2>~pPYP×;7/>;)ħTyiºT܃c7 Kb*Osg' 7;PCiQ!PyR6l_qO ؘr4ivө P$Y,BSƙy`fH EvҒ[+~Jp5ꢥQF)nph+/$/p7ĠPRvGzJ i8j(3$\y}t~N%a Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 By Robert Madole Copyright (c) Font Awesome PKZ81o)plugins/pagelayer/fonts/fa-solid-900.woffnu[wOFF K$FFTM09bGDEFL*OS/2lL`3V`cmap j4gasptglyf|WlTɔhead`846K¬hhea`l $C-hmtx` locadt -jDmaxpn N]namen +'3postp91.Faxc```d7Үu PL xc`aØ2H2000123`i) Xg<0#Hъq)R``sex{X/8|RAn˭f$MI6flͱ4)^K uI*C!Dh:=s'mo{s.r6-0jX f&X/֛,ų ,eY[VUl [2a4a"$k焛 y|(?x4O|)_uM<_zo"DS{@xLċD;H+şYbDT*hf!Elnm'؉D{~>lcv}ڮkOfn;dgi(G/r&c)rLe|VNSd|YΔ<@.5\'3.Wd,BEgyw"S;gJʹ|\r+UM)KuSTT*F Q*NTI5NWIjdfjejڠmjڥ>PW:*?YuNը^5f%TjՆm0C(Wz/zNѩz^W7ZQgVw}P|]q]tI_B;Z]vw{?rCܱnvSw=tϹstbf ,iHFӉltjFeֱƘ ==w><1a>s:c>/*Ӎ|N_s|PyNWnfzާxN{N 1}5-nzN<}9n4N##FȰoHN+ܺúeu¬nVWeZ`Z!V UL/F@/ZZMyZI?e-' zi-G6fMt#@ߤ+h:]N:΢ЙtF_S9:>EOБ4>BѴ?7vn h 0fYo^2?6/9Yalsn.35Gf.j6lEXOq~0UU8~ꛆOpsP=܅e$*݈$Ԙ6 &%Of O͖ ˟ hT~p6ƒfd,RKU-}g)/,oMֻyϧm|V{"odY/JD-Uhj馎y^7-A+ Q4`^*Kp馦ߚP)sUIUA4 t!\. Pu+Z_6*@|{(r #?Pg^ d*jB(S?7\{1Lqr}KEQ;b*-7(oiYB²%ò4ILS\gGB 9;"  Q6&5%YI+AY- OUy>V-i}o5f_ZkÂ$AJrYÌ0ۡtYh iXtẑ@,;'AQ(Jf`VfIJ*(jm`M1K#OYR'=돯9pP ȓt+B&`#eZ镬Re9f6Ctt"d @ĵ(ʹWZdDcNK5a--Ӻ.E9FwlC 1Kk6iRPWUY%UhV[]/:oڿOSU-" *U_Qžs}Fŋ 3h5 ^CM]+S3L@r9::4:{xj `3 Z R!tYL~JBeEpc) g Sg0Z0 櫭꼊 FJo K@HLJ2~iW̒T:?_%:?KubȪ\d \l+Lƴ.ܘuXkQ#@e)&J2!)"[21@_Sb)Y*E2|DퟪryJDRʒKb$:1I.Ľ{%ʤ O&+J_5+tC- "Sr+MY!/t e<$:8k\9 ($C`'B|p*PS3c@! i]6ViN](w#E]M<0bDlD1l5gz}/]غ/ښ#v 8cdPR`Lk`ՈٜD^{Q$(٪ZZd4ΊG_."&4ʺnɖyIРY1n/w z 1]a;4y']I؎5,2bNJƻ.ؖ5Cy@a-7tbɻZD"&-. ^]_,5m"YN1 vf5lWěEM%`ixX®pMs@:! 4bm47D*AR;9^YCG$Mܿ?4yA^Mh땊y2yrn|xÕ hxDx`BgC'8h}al< :o4a’kiBg'K|^˔p꽊TU䴬T%%}$%$S۹BpgA| I?oU3(!Ic r:0a(ީaZtԻ>S4ayԴ5-eY=ʭE~O54Ľ{5 g(İx+B@at .{WU5ȗJÕ,cW rVK;_$ՐiSi^ZB#L(׏~No;{.rhmzΣ'(@t]$hjmh@[Dw\.4:98f2?_IMfZt˜W vvRd2`e9?% Z%J{+bvhMj# 5:_/opF&(p"EBcl^g?>mWL"XqA=LXdw#|1[,0VU1K]IiHT)X؆݅]~kx}WhϏ'ayⴐ4m~^I)PD5DyMFof盛vMoChO(zSnα۶<݊L%) %}@n ;uns7ܔb 0DlMrFp1^.5<*7x~'ׁFѻe@i1r0;Ѯ]o?c[֊]ȍ\>2 0v&j{t%f4W*q\/' p;dM"n:8ֆl;WP@@uF)X2W)oJ JUo> o\ى 3nlA:\(| )h_?:0Y7Ƥs|=]NLf9#XKs/&P"#>?#/|Ny3YD]#+?Ѩ(d"JЕHfBH7('+A:nz4?kS{璐OoF_a^\ 3cLpgp-.Onwԑ`f@ڈ Kr¥YhIhJCu5הdE EE&%j@l(wuEHA1#ї4#mԾnJ$]ֽC3~h:!'7NփTNj-ocP8t@5d#&nÈ  &l46Qy򯆼(p_}L 🛄v!1hS Y rD#Ǭϛ"œV>X7 fXNstJ~ kAT5 ;$q̯:b@q5KZ]{- =7Y* U"cc0Hʕ#ϣHDڶC~yMi$djipb]FƐ SKa2ΈU2FLпk>)O+^t[vCMZ־eҼ:8 >eLr R6ѷ$t(lg9ߓ@ݺ$~II@Oqy2> cG6(a`?X?1b_/n5Y o4{^v<+'<{\ vR0o)y-=2&OXv״^W-׭aMI^^hL,n+wkX7\o ދ>ݕ{OݵKK:|sy p`8mqyQmً5/jh"&y)bFȽOdD ۂ/F V_:Gy|,KS^G BEVC;AKk,0\4 B-Ʋq}[@rntb/ii/!^pr\7k~mou_~N.q~xXoQ_sF]Y\{I_.I{깐N|ΜLx54 =mh;IƲCM1Iv00@ݏ%WN<p+$No)t;E&yyրr&zujZK^;G|q$e *AN}nC2KN`숤7ڪHU>njƼu[uKK'Jf̷ݿ]ݯK:\ȓ#z^uzЀg s3Pan\esX]gLID|p@j|lQĹkv8Eі/W࠷nv{n(KjVI=#foeoR)YUz$}BKr ]\VK>x7#$ARLJj |T^:T6:k*n_h|r P:CQy>z}J8%Dܹ rА2i&CT>9%X:yz/tU!ZLAmį*:*:J4YGK#XLyƴM^J# UJE)ZJ{bq 3y3y/.. ~p)`#;:FIQV wE!%JDYL /y%LNTET4$QTGO}x(g50k vϭ)|kL#;EY/"E1\N8_Pn (ËzOYM' `>qLgHD;i6>xVǢ1vŹFA](VeYMʪ< ?OאcklryY:S)-a}ߦg]*J1H"'aG9dj-߯j! U#hd>za}>uњ=<T Hdں8҂u] ؄ߕ$\zWιY+楯͝Ƚү; }gx<>j0 }GD$;'_ %^ev0~J&A'/w辅QĂ Y>zϽ/(5?ٔѣ $ -# w]9܁C*9PO B5+;M?A*}jay Tz-X - iXMjjr.yrG%}8X}]Ia U!l92kVJʇ S!/7BCh}!t=r4 i 1Ċ vNg;/n=uHX\\$R+d^2 +:FNdvG-;Z 8c! [{ Zb?#EHE?`c3E!$ATn<<)=1`fw, &7 L[1j.^覛. 4cn톀 ġ(@9::ҫ[зA0ktn ѝF_CWݩI)1 O⊫Jj<n1Fj#$Gɘ4$'*_PfLuח[ꖻQk;abPZAu׮MӪՉ( 릷W,ٮ?cyɵG_%Eudg۞mF%95Q{) sai#= "6TWF/6WKnYz/V෶ZYM-Z˭\ΐVk ~Wrk\.H ?V)'M`1Uj&Qɿt,#XDJ{W|K _-κ_qoZW*<'0}B x"|AH/XVb4A Gi1 h:gӤ tIR">ٟyT"<`uiKKN.ZSATarxSX)w~) 0ҵ2W]yur9§g>%IZo=dv׵[e*}J_M)(dg6%ok쯊KO9nO>_>_Wn^/~XLC2q?jnF]"kpWC,oTNwh5O8(qP KU\7݊*f3JWJφz}>WRӰw}^_Xz>l [kSZV׿^=j=`8V}[}_ehWd^/] 0fMW&B֝hahO`#_=h 6 hkB[/=]Ogw(PمbehKYg97xÏ} 76;|R&bNdch吢WEV +-> h/P8oRe,?ܖ.pb`$N 7THESDcPQa7+5)FP?0e_a<섨(z>2jcR)x\as+nlLMѓQQ5"=385o$λ Ǡyd4P"V~0H-ڠdsaz$4!dz0lz'L>y1RJu. I0cEVx[V;>ZC~Ӿ[OP+A47@GQ)͎Z D[?!vw΅&\˕Clg:rgACyJ]֘ O ⧭Qt<5DMNP;MMޚmyxd`/0SGpxT Ð?=$T䆝 22 ýbp|;0{s3 I*c~?yc(ʸ7']Țw R<v|U|!64A{‚TTx(=iw~\ Bo 쮇 #aڣ8 G7uO'q (7h;k0nC9`E."X^,:Ƣ.tYz(+g2_KQKcՉ:nj1#՘]Nn}&C)BAOwtg j!*,ȿCHSuI#lg "RC~,'Qŗ3 lD)U})hߧR 0z}0m0Fg6|boX5T?'Fs j"/Eܾez}v6 f1/- I`*Fzv9(] =~[ZhhnV5 x꫗_ni*f]{mg11$jH3֌L12ّҕRts >>^5ʼTF4ZlVL_n40`~$AK+(ᄳ@[aP:%~ɶsٌ5oyKJIjI ':UJ }R < zAgWTRgFr`i^U-Uf*+&~hl(Ǐ+!l*w0J<7m{99!Di'2صׅkJ+,r~[Ybn? 4~D C2Pҡ3W7Ek*y6B4J n=FnPo_k/aǖA}&< ̒nUMUЏ@?cD-i86o,+-o盰wyK"fMhnsO'6׿>pcX@vN9J=Sqr=@ Ypΰ >rcqbPTq M{:"cĶ>hi#oD8|Fl,=ʑLTBc3E˹d>(=T5b*za 9|KvEdґR/ =]틕', d 罯% ͧqApߜRN}sH(t H;g6;z@mNS77G8;L1EOd] `{Yf("{"W|;8wk>ʷ2j*UhEނڑ˽Ϝ5"̲,Ǫ0!g[Ƭ/,!["L2E19`4/X/YZ Sw4ABF#B ^&QJ q|g?Ͽ}Z) Zk5l ݉rHwea~z RMD+셄S!KCb=R\W~;Ds@}xNH&:E۲A+Im?t;Zb5oFR.Pr j4r>h9#6rY1 {W_Z!Kl`2"z"FD DTQ6e4'Gb7j -QIW#Z4),ǣZqhng*͎k$Mn~R꫇iؐ; o̠?NXQ2>CK`80Ao^Bb3lk}lRx|C?QomKƬkmZD wI4-*J͍7]9E9jwCю)?r]T^ܥz=G+=' $4T;{hbh\(k|ԬZ&?m)i1bYث,ר.X0M G/>LdtX*RƒwKa%"׶[MeJFI0Ԏ?x:)S$ xq0MشE^+'qab~އ;;Med<{bD1ӽ S@1 I:rG!dkNSjZp2-y: ^%hPf4"EQZ’D]N@REl o>C؁OTU1Ul21fF|ZƂgo !jGg cslb=  +.Z^7a0u?Bkf1Gq:jjc;j:qO9bRrN+3[-\S~9(5lm\yFI!AN?sB!{6C&"T<0$aAТwl|VAЁbIFƣ|9 ~Ɏ G#yI; Gv<d&|5C4#USoY3Nb,sbPkBeߣGziP_1*>h!:R\n _}PV5|ftT|u/'5]k-dՉ 5+-W0m ] -Lc+H&zNMh]9;aMћ|JȘ;/ e5^[ Ruy.D1ͰJhޘbdvj[L{e)}&6"Rxh4'ac-0N(hgiizs?#K}"D-UҠv{"ԻZ-C!X&~7@æp&Ls!REt4vFI׵u֩3\£,b&$d9=rќ_ga|=;cAD7TmJW,D,;= \yw^0)߇U])(=A"}|{ =sHy7(;c]l+ݲEϻ@Ƭ`J^oy|Y3=5Z߷i׵']WRjsBÛsJGOC=Nq؃s$v)iab(!0qqn]CQ:9e,$BKGgHUKYIߴOӡܮzPW~}9ߞo Ϳ'w/?0Ȋ f/T73TQrƌ dcAگ: LE1oRV⁌t`_wwlP>%K{wϥLq̾u!M 싈8%Rk^KĨ .]E^[TE[jH!~0 ^rTExQyxDσ8zJedgAOن鴱}Z':у?ʼb|1ޔtJ쀑vA_ ڀ^v֨:)g 8KΪ3Z9QrL  t1JU=u9E.կ0."cmG':^C) 7EOt`eM^[v|֚*=(n]sW-,\Pdb;kj~O]+goq|uAJj;m IruLD}8kƏKm@J<`/h;*`3$ad$ R##hzpnxr:wƁ[G$a=_AP{0i^\0 ">6ZMگzC5%+~tλ_zj [Ϡo x:]%8ѵ֬ &P (!UMIޒy\ư4S UmK8kRTT4FӠ|bQL)vпN׎ щhMpCHG4,M-,)φ| )/Ь^ L[}`phG Ǥ?`Q6T(r, GD%aSĐ"Fz>4qGl. /GD-zgH$́Fa$t?k_gϽ-ώr-;9 S*]`""ϩf銡1y[V2UYtXHH)&]Bx^ZU[QKIeҪ,f(ʔ1㪦ʂB8 eH4aOuW@ҖPC]@DRDEXq\,}Vfw 8p&W \Z<|Uzã]m6rcB,.OFBZYy@J6<1l⽀D.t@L``ČOZ js(70 :Z!-T>44 G,7>K 빱{ D^]]E+./\`8_c3vYA쉥Ϭcbk`}oFD&u~ $D|3 ,tP T,|[%LZPY)\h?aČGmip7tP8nM¡ Hz(6}avMqk^Uzq_xb=Zx,6GV7"kR7pLfMP6!8ILXD^D ƙE| JLLnEѭHL!@w\UhM$jSԨ")Ou `Y8C2tCSJa+5۴uLVzC~j i&UUCnՠ6wxGaܹaޱ" 5{qlb:G)7po B-`<3r@| eqJ֨2 88{C69{U"2H-^mvD(բۣjLZj4~ md\֔eRboPml^<ɴ0MLpKCՃ( q (W03P7 F'&$ U@ŷ /O;vҭZO1Cne!S9ԓ3_n =E"2E Ȯ6U]4 q|n5fWH]?F#-v=_]FQޥ߄{ZEl4Ax&@5Ҳ+e=]@)K $4} 1}pW@+>©h,'^ +5>z⻡ϔE4a> s,/Sl,˝!϶mMjj3Cmn2O^.[bxO PzxCY A{u-/Ԓ7۵]Z5E/7W&kg≸m0Xwۂ2n}x3$'@;=|EdwPƛs2;DfC~t"?_p]\ ZT?E .OLVa&w}N>wk٫z8R/LhΖ=F:Mݥ⥥N%:ޞl@>էCWz] H`"]$ ,r$C˗zIi~<Ф=uh7p=$Oygy@:?7S +g͏=מGMաR2~\ ):φܺl6|6PѻAT>}u!kݠ#gՕV Wjr2P4)t_"1zݢB5[5SϵQܮW?v$R<KU͊Gc:QMnǣPw&̷l څ`ٵkgo,V_~ :Ѿ<>[v!^y۴Ng{xY+n']^FY#TnZWl]__KRnKm_ Z_C<ଶL:; D5,U)chTquXܿ,LS}Jb u܋B2P4b4Yb Ʉ}$DM{X>ҙ'"I"pqTh+s +˭#weMZ {{GgaΩv!cH|_ή[>rבZ B)V<쑗_] k7sq_o.|W_!}ix+m_(gyO?@=ENs|o |0?{޿C^|U6Xs%ʕF/f|΋'F{3(3&rݙx 4s~X}7?hBmaLd(sҍi-8ٖt,A|Jx¡;susM?*0 d+I7'r[P*5DM QMIlZzTMێK#)rΞŏь=˼fRQSi~ }fpɫ@=^poPG?1Q(Ϸ.wudbDх̼DonO(]({D@*Ho[(Lp)= uQZqBv`GrDe`ҥR2'Oe QAޱgs֮h3n\B#H"!UR_~ȦMϭѻP䴴DO!뺊a('>gn)CoOpЃk;MLU#t^u0͚f{HH& Y/n7vT6iʷ¾ w-W3*.b!ۢV*'_x!5S$eqaS*EY]'N0uo k[9&޶ZF$jilodi721|Gl%hE߻OFlY֪^wK`[}igLnjK]OE2P =29t Rb<]K@d?U#ghTr}fǙ;Ɛ(dz . nNu"Wɦ͛]7ꌨ3/g2Thbh-Ć ת:hBQ`Fy"9 4?7Nd$ե^Ӄ vm'Pe)燫=mL43eK Zvi-6T7UdWT*?WB۾}80÷6FeݚR(h1nn%GM3sZ.eE]1Ύ i6FyKbFeWmv.5cr'݃Zuh^O42$I9MU"nقYBt ,og<8|C*QϏd'267[{=oԚ)~'\yȌ|DD$6/ѩ][m V*Rc%LKiXzN;Hg3SҴ`ik]f~K7c?m@*BnXO5?}1mH]L9W.U ٷ%櫄mP@`o}u2x2LfZd)(Yqj97Yڥ($Y)ZT6ԼSM6(b9¢#i(%mf Ќ&k2>/OWT.|5:3[=ߍT'IgQtFx7X nPiYq+T@TÆV'_7ff)v _Q7GK}{S[yV]ޟ "e}\ 76-@=O%{bzyD,Eַ^*oK~!Ezҋ^)anձt/e[KΎqH&3ʯY|#', xl UӞvom;JSsYi4@ӆ *<)`)'eJNbS::H'={MdH6/@RST `![[W^ϟ&vCcى=S"0d-ר2:jIݰ5j8yrB] a?F"懃&ǤH]@ 8n;bSQp\hʩSuW0=yzg;+mPv$kDd^fW`|Yx\$˄!`0`r/~~XlwTuW.y~owԩS'|MI26nm!mco HӖIvrm kתk#^`[ :$v6H4 ݔCh_«]9žcyXH\4tfYsBXx';^4 x#p13F8=wI% n ofW0j]1"eּDĨEMӣ&gʄw8).:#eqB4fF\mPk.R5có MSlp4Fۚ>|/ސaJ/nE+ Aղq _Sc!sT)˼\`t[ ;Uŭ[ѱ|T,fp .gZHxz/YYϰL ;Le齚4ҁ -!H5ͷChA,ôfvo».)4I+3|B(%g~u{ @w yx*9fh'w; 9PXC[+CjM٫]Y/:p(+NdIϢO)t;64~CtdRf5B?Wؼ6ӡ{Ͳ!BzD~}x4+ g# Ojړ 4Hv8IGhcƄx0 4h4\Υ[RڦzZAYokK\j?suD\=7>uIYr'u20W-#:4(L/u Fw Эzl趖\&D/Ӥ tm9JrǐDҟ1씥NDS E#I$Æ8 - 2̖D,}8M,04E *ז1(FHJCk˸RHr^!Ф )A][g%Z-{q_{kV]wxs-{ /Zuu$$_T9u[wK(\|$>(}p2/Fx3ʢ| ʺMEtyա.[2<*x] .=p_sd1Y1j[,AIRٲw 6ae-],_R]4"ʬW-/&_{C=2dXkԱnLxăc3UuvGy8dv1YU Ⱥ)pO)>ۮ,òX2x5f(BK)tX )ҷ%!v0(uƪ7\-BaɦV2WWcS)Jx04MpqOUcY䀨h1y#1@u1o?q4<hPHiY%A 0 (7+t *'MJ߈ O 9b(HVb%3q:bDOBǿŽě;KvCҭnel!+flZꇘ= }\u8'LTvu8]Pi)d¼*Q1A9䅠~CUK7!1 DA ɋ8dI t%dQ!#l?#)m,ڍq[kOH%ᨂ2|ժ* n=D>$i\s_cS~;Z,q\=l!9[Miܟ6h !RL1 D]s(cfPr% ,>% #݌"urty4Y-53az*Z̀ LcL ~mr}!i<ׄ6B4w0n|SD'*%S?G"w1. O-s5\GPݑ0$h4>ScݷXn75s [͔3"!zh7چl~:;Q{jvJƇ-9 e|s.2Lt]9~P|.;t E8oNʚx>HϿ])Ҋ"ݰh~鼙;M٬x=޳8󥘧ˌ%m,r`+^gGX>O)S2G&&w}spp3Cȶo.4͠\|:e8P/-ҭ`"Dtii)NcUY_T[j/Xx]즶Эy6y%Y¸P8ÍzVzP ӥiD|/ i OƙqK/?Hz. l2Ĕ5QdocZbs4qW1n]*TXךPo 6򜚀]nB%"yVJڮ>ӂf{ bjHOro)]&Tgڶ0~+"1z]zP!*bZSӉG"p/G":j$eHqGE<n=TLSSET,W+G 4G )p?s$^Z;卬) NܑHT ߠs &0&BHpQ6T< _lQebhѨ.F$!90_8K{Hnmm3|- *%ֻHnh(*4MuP +`M\/oںkU:{k׌cKkwb8Gwl6DΥ{ VQ &Fhb4@w;z't:qRˏSf^N7:k$4iy?L>e2cP0_$A y'݆e2?gǎ,u GD\";cGgK^܋?jF@4k8~q\yzyMA..bp\^HC\ Иra]r,LcV o\\HF& -ɐ=:L71ﻣvhvNؑ1;r*LfSkog6/Mџi6cۏр >98WdJiօf]pNϥt AO!9a6p0N? &!7o9G<"MU8o)`}g"y֕X>^hYQ=pBӧCl N=7tS1z$-y{\RiU'ےZYZ6w`o!Rn?rw*]t<q᳼H&̀Ϝ&=[Dn $(R)Ԋ]MXA|D(Z6 t|6Ed+-A-"$yC?h[7y^F'rH(@[ GRR({>]zضoW>)Ĥ{ [;7 ܮCu)%Js+ 0pP=QMUOJ sySo\_~ySYa#!?N|8<&ȴ7 3>XKIkJn!+B!CCV$)Pې>Z4p*ŹITZBֆsrn825?NxAM$EYD2AtfN~ܭ$f<5Ǖx)FzDi S$&mS Xtѡn"S g!%^]ROz%ky&ڟ)%S"̸0<>!fᬨi &f|eY]uY`.#TAu26L/ƫ%FzуkiUi>٧\xΉy!vDώdS:5y{/s&h/ 5)m>e+@5F⣵D~$b1(<3,[18,a]Y$l9ZɁ-၌ ridEqƒTǍ`L"!Xd`"lN)U[l!ZЂStyIiW o$ȱ25$a@FCJF] :^Dy=I)4!AΗX=ߘ ީiwkuM~BӮ7 Re:$i/l6f,VfQQP* ,f]1ԿȦଚkJ~ k&H¤PemS"(~1`gg4yn_Rm:~"~=Rg5xz/doUC`Ĺ^qqbdC}K%-کAU$J=}7JZ~yJLi"DKvkS*i1):?_?E&a~0KjOw=p!/|S  -0>r"摛ԣ#F4mv`c˴؛z̩o HvہBR!\#Z;r;m.M@׵OUl*`{0#|$ExaTz>,Jgɵ0/\q} z~CǞ=urJTC*S-^:iƣf+S{?5 V4RyTiTM5QCUvV[=>̗ZSp[ W$+aC^?,QGr._2h=`1ls`(F{ ΋׼'(yVZPVKRZ3<ӼŬ27:|6ݑ30xd,E|ل"mp7\.=ڣ'Ef>, =S+MMq# GTP*tka=G\Ht&;Bq'ϻ"eGC ᆣRM/1 \fvgTaV}.e2փLbv ퟚN+J8rPXALf5W#ZX ›s4 XƜi2Db3$" cZ$}+2}w,0Si= dIOtɣ\Y5T\…k~kKKc-1|Сk||Q6ۦ mGi񪙙ֿD~5w3jAܻqo)X UͲT]pw!|b/5, _]iǓO 'FK! z`Jbl.7X$NIRz)4"9?qt/3h,6IHZ;sHIx"x-FP ,NZUa^Y^~Ɓ_G}ZTeҡVs/NI oeφ+7%æ(lqב3@eSdny_rfƢX$980i>n4f W R; S)m}V}yDy<[p>H>|QϛMC-ĽZɽUpo5HR0nov(H҉*do=1%%тnKЋFC a~,jQ)tD{4=λ{K47p$4L\O}E;ϼzzqtF={qػXĮ8E %-)``a %BpoeGr3aw'( #  e_6DGc#p k>W< W'\;͌Q)꘎ wO=:}dpc'Ln9ƘYQwGJ3`^{Q"p|q3laq+b `ƇrX& r^1%%*>OR_fr9L`ky?;fX,6E}òa4]Q䝪kV_ h*PH;lQrj`H4%͏fK#jە\6} ?:躾lģ\Gm N?!`*6G|Н-PdFݯ>ަ 4:tںAbV&*J44df*2 *ǻQIzWZ[5Oij-(ҊLT>sUu,x O0_GB)ul/1ըgEAG%" K~qs|B)1Ӷ D)/@K W)M{}):1g )u劥#y3pϕl(oԍ۪M^z{8B W$+ʦr ]M,^`G7Y#hz{sj!>i@q' ˡ@w-> &?Z>[#48%T_=99I[PCGͷ7IaMf`DJ,=&繛o #L!9 !)6LC)*0IM騮N𤾟CJ`9Z e'UC3q_bP;bYꘪ'&o)1 P 9 ل`&>=SNnoLW[.L l:u_9~w*4&Uj!? i4݉'8?RcEV:]X繎ؐ( ґ"lj2W27J8X/^ ?ls]"%Η1Z/T1뺁>:sCud4Ɓo~Y>?bm<% -~Ik]`miT%D9+Iaz|!eD1-K,1>ݝUh^'m`Y; JҟS6?qBNxg/;3QhAtyB)|U4DIJHިo$`X'9B".&b=5i ]UF\Edsd8hX!BN {P"ƹ ztWrmK,}#f7,m6ho MXgGQ,TZm 6Hך;.ŐU'?fG!'F5͓p9%T@ VZpX5- CM|>1 Ez$exn#T |d'= "] =6t=gb:I l@i2/nNIO::VcD}F)uucJ+q=cY=]&U%~cx*O'RٖyWHdh>0JMirG3P1ƃqѴg h>\zKx-gʥ'2RH~|XO3%0&a{Ə`{s9ekcC芧`[(/uMu^ ;냲B(X}<:BnBRhжQ]&r"?R`U d׾d\VԪJ\T"inMOp)PÀU48ReHNcuοn![S3UB CJtd0|+bP]/eHy t;[z.1Tp ZpXejѹKo(v?A#d͵C=&|Ӿq#@5+.+V 0mQSх7rPۏ6Y(j^ >| ORpٓ(B(R޾$|<]߰;UF`Y~YO8ip*▴}ǽGW5)@2mҟBeִ#GÛPNidU4-VkHOaчaYltRX1֒<27 ަ/hvu?,(0pv51;A?΄dYM dl4i),KcV/S3jU%O~," .kXYqŐq2l8^~5mF &`DJ?ü|ˠiڃY/rf;umYe5M'X+ ^Oʖecx^Kfo?Y>JB»7R &>]KsCۆ;H}rF54=Ǔ/1 P=d?ݝ/w:ЯPՒJ>0W[,r0S+8 [ Vu0Cn^ݥuhMٵR`ڪ\2L1qpLsrznGݫ-dS'p(@*_|9|yMasΑmрY$Eq;]?^*`1e S1%+DAnqnɕCU?A,\*6T oGh5@czKDrk/uk kyT޻q_'C`]=x 1-6xs9˅VY_q۞[i2vYך7^{K|/tR|Ϲ.]s|Ϸ^ė.^uz^#;(;)zAV&P?P㞇Knjjj{ð ؁ĕ=>zYck MKKM+^\8[x HG: 4DƳqK"]' B$\7ޛ:Ͱfv7gub f]<)QMm QEZQK߃!f>?j6>dѭ%b-U9uKӌ[߯*w^nӲJDr 1!DǠ4^.'|c܍ك/XU  Pt~>s{~ywA#V^eoWs^:j11Е0ʴ=87 RBҾ ,-aQԤo*ի~zޛoJPNϦ;է/9Cڙ=ٲh gz :˩`}C\#gBk#Cgs+!4B =V}Lo 9 y;؄gW$4{| ;zȭ1tئ^K%f zv.')0y*qx9[ \PvuWu˳hs &69}<pϞ#K ۴ex/_mݿC_ ^9wkT L7_D3*@3*F)H?]8~p<{"r@G~{\GL҇Nfs9'#@sI/hDi>ա?J,Z;ՁRHoJJtBx[kDF0]À)KNٗEznүqA ʆP@07k)RKvM !]9ڐWX+X-MM}^_u!lIۻm@r[ YswP&Z#N؊3e!nr0(aLX+dÎah$PuJȗ%)LU}ʊR:!ʯ/>~cQkUg8IXh:9sv'NUO߹I| βNEl_`pxm!o ؛b.fz=-E2+Ҁv,gh@ߋ21%}Z)߲[ 5GRׂ͘|b KGu=_n\_QWCɊ.4C}bP<s=^Y{>kv#㴬.B ".H@9s39Hɀ*yUyn</GKgmS^a L'y T5-j*=WzoWܚlzi!.]+'oGeBFSoPinգ6qV]D0=3IiZy$ղ\7I[~_j5Sʉ;SӨfKb8 i7%)OyjQ6MsG  m]kt `cwKtqG4G4 ﲴ36En5Q u\;E#Q˹uVx?r&s$ &]XрoGU~싫39AWd^"i,Y.SwCdgN[wg^' @VʩTQQ\ʦ[_ͿcϢS]';fףLK~쾽&ݮ $k̖f]GLߑS,,L tT.?Os @4G+v?]ti#V@(ah. XCARHJ4}/̷I ) lUMEuU1Ro~Ev:NRɈD; 12^ #wXO#\ t.؎0x&N!mv~ C^?T}> BD~zP~O;;Dח4iP?kex5Qܗ}Ǻ\|OH|qiU۶]*d >,b, o ˾0`ʤ3f$tNꡍ ?=H3OÓGm!ՠ$F'`4HRq ?yu<ecɊ`({Q A}".F%3`d@uw (|8+7ʼnфbI Y,%:!,A: 5$44l4AHMt`D"z gYOrky^_JF~:'4 R;d^Ul&‹HR#W ]9"~SPїn3I9/~Ieꃼȓm4Dan\{N,RGW,.MM)JO@ډJ5{gh)' { 6 xEuZ>Yy>FʺJ&&w U}BֵlVӏ If{~ k4s3=h";)xpcq}B4PV]56>|N4 f1Q[>iAH~b\;6꒦J&tZeڄ~KW%]WAХA/TI*!,G&]c*k"VԶtm0]2Vۍ[,{^$b/ *KzLוCka ^;1;>d%:JY\MWbSSalDm}z _gWjw T %@Ot|xڙ3C!3u]7w.'Krrj׮)MXW!'dq1#DžFdc/|3yJpqXD#bSs<?YRt4*RۚZ&fئ :Mh@_k$GD Z&EKc$uvF!}x e '66++Ujvϳ?U &BY $'EI"].q%u$blłHCjsԛn}-cNXwPxՋ{3vTNwRuNKud`ouB Hwg:@/|4wՁ&\6 h(_mx5;c/ wΌ~]k9 jAj @f#Ŧi(kTAZ SȀæ#8%J=V3GOQUj8n^)~pPGc70L9Jgm\\hO"J :kpN3xj8WQ&OHt/"x|Pu vo 3DtI&2lTmIϑ@OޔHtoOQ63e6}5I&ݹ'Ir9n$CP0Pc:3tNP3y; Du Y/K)(=eR@t=pB+B/,D A֥oFue8zYM4%EI;aa rELbp0ibPL_v7tGwI5E R,? Jwd!1 1Z*2ڌ娪ce^;&*"j0[N̎9V5 ('J] C]d1]c([d9 򼟿vTѻzSܿg^J4"H؎hFgJFGL%}J [!hI#ʡЯFU-$akE4s2%rbY<߽^ϫgU k2? (ߑ[?A+⧚t;'p<̞=ӟk:'(-09 wߑE!/ĩ/B GTw o.uvſCȱ!N"~kWزsWNK5qti બж/ЌUkb1OtYXjERmkZJTIUM⚹BM?WP=\ f>pyYP Jd* >iM:Rݩ&zq2GV gDkh44)iH씱m9bՑ>"$(3dvFkx*ڴQŴ=$a ƭ°6re48`M:%1}b-YdK.#|UK6 (9|W^x.DM-d8,BBI/M p^Aܶeo~ x׻O64ĝ;ʿ/k 4 h'A'a~ۼF oܟ1{M333F]>R8y?jԕ @}Zq㢪7V2:w~2C#?}2Y 5(n'h,}Ah=5gWgh@ 3 {a2&vWe!ObN(/g ]ތ1r;:Tʀ?t<}ݰ-vHwUUuPw_{ѷaxwnX~*7xHHX.p;z#CFȕ6Tq8>.V '<8#˩r/_-I<+JD<14]A1^GR|2 T_t8[| Er Ld'v;f&=fR/Z*lB!鼱dDh"Oz+,TՇ褗cQ y/wBu}>>G3(]]&f]'Eɿk6n Za>~[3"SvJ f081ϹϝrN~ZcqؗШW! oY6Яi\W FZ`wZ1 t qSniɿxѱ~Mbw'w{i{Gdam˜ \;g۬zņq:4vqsƼ)K/U&A}k#?:1/PyF6z 4]p}F윎o?QΥY}@abެQ]q0qe[ocog/E<:%}\6_.qi#Jt@/3]7زlkk7k$IMUi߫ޟw$o i7ݰӠo_4]k?ګ.Gu\}h5UYSUeu2]7 V e+zVthrjM3~iuH0 !JZ+Mei6\WΜ1"dѫ&p:eqmXɖ0=H@{T<>'NbmQGQ~c`IS.W?/B Aqł_Qx+8 ,%MW/;(=_{8:]g.JDž 4V|>,1(tz\ dq/$BU9%_ZoCʞtH>qݻ=On_o|1|Ͷ}D[؊[ U0~?yb_P]3:ܬ؈۰h#/1/==5X7/rpK'Krs@{AfYbŚRՀ%'P#5:_y?\y㍯!Ml͍ߣW%sy9 ^ /_\pd'b%E؉ҒU[=QI(/V+d,GB>7PO>uawntFHҿ 0t&WE[/_@+LekmWͯF}ծOi:ޮUF}>;<ݝQLZ޾VseWƒIƥr?M(Bj6lhOdlB>p?te+SetЙl7j_1f[g:3[O y䆣r}.3cޏpn^+tK3xfpYjH͹?+nB ޗ:Z|w0.Ӌ_ݦf^ޤzAѭ' R/ʋAYT] 8*ӥֳXd[eEM"&.'ϦK˥u)oKH;ft_@+h:,zA@!  !bVTLHQJ؁7[JU޸]1X)e+@i/F]^굁f/I//ׯ'tm]('+r53բԎɌyV%z 8OжcI2GZI Ǖ8@>C#Es+re\O##l43K+4k@$2|U Y+tb쿞?KnCl׾~w0!͋b{WN2wx 6؄e@n3;&]6&ljDNrvj¦yG*Z#U"6k&bn3`gGТa6Ynלzqvs# n?tRozDִR2 Ao{pC\@Lp!*Tz!K^!g26ɀuJ}3HCt[ݙT *bH%f &_oDuM]3`?}1ӽyց5mPӶmSU=^i+a UL&zH䋫cb{{Iuc8?]oWWwva cuě~ #n]әQjc4*&X/C:QgCJQQJS7d1s {rv_8hdB}ܞEBF3n_H&M&J]+_wr^|. 60T;99%*+x%:!gD,/o@.kPN6޴xc3sjGɧ6¡a~oc,sμbyLV*Gg[ F]Qg;:Rg,n.^ýJGAؕ2棞!rtH-)6ZRE˹iE)p%o[bG9]4mnmb:d<Ҫ-e ,ҥ֛X96,䳌r67y!=2Clle!laC&߸yd{xt4|ϡclsCB?ڳա^"6o?w˸kSܭC{ 0 +zsЫ+Yril a^U@ ^4<^* o@.=;>-d+-rcFukV46I> +`o^aALOZa"_zDr,d_H4 Nժ 'pPҷ-IhսKOUWg %;&W3D@4>!{4ho++ {C:ASg4)=Y50Q4W$Q)C2AYJnH;ciK.*( #,Uy9=>'qt&&B$F等HzJ##͌c6h_(6+ mq'gMq!B&k(Ms7J[ DST1x!]H QxXnyRlUIgM dmICxHWH@{߷,# U+o+]#PMpW2YTV@n)x< `˴#w%>NAOpLϽro=F_zG5,!۟E@T߱--n($CS u OPM\+d_HQt<)bـ?_!0;EQ!}N~/OH&1_є8I8Q@7pR>6-swAgR֠˕ʔfNDS Iӳt%U_Y'&"C}Wa.+}Zlz+4;dC7q͒XhxQXxaGl`˵ſlV+7|hz||ٮMjtȕo䯟-~Unp#gߐӯڒrl}r(}i`-< d 6r۸}eܕu-ܫHL^qU\ReЅyrXr^)WN"gexmUiZAϻ%m0ƕ'>!mo %3IQH0<G ) q[|G%t%W{v#iswk-:! zv@}sZjMw (Ǿto3RNk/㉴(¨r}3>\H ^q"kح~[F6m[37<3&i3<IjSs|:F7ooUދvjJ%ZK7MϾ,6c {+=1p3m ! i$6`5YN{ d!=;URI36fZ*9uwHJn8*`*FK [ɐ;JǓO#[Fo][p dT+9$7q>*ꯂ';[d %+2_ tu DӃfsu=omyJM݁N^s9];(]{eh {2_ 0wl? I )"QE0m4z*:h~. ?)Rfc-hIZȄMDA>Bj>q7tG ! =*/Q"~^hXTycPc1w׎ r~l,~ؕljcu=IOs?ϵҩb y7g݈[VlM2׳^ߣԀ=)-}u.]2Kb8gDCfL !u-?`[ 4G<ˤ'F@8D8|!F7)Y廎ٶnE8"IJ)eI&fg戌tl$g01O䇡-.i@_P,3$"W#/r|T?=cy\]U!Ol[F#|hS~wopzz hmkLա.[, ~XrǓ(b!Mqm/0n@L-},%pBL΀j6{wytH't?3L.Y$mh)ssNUDŠd; v)a}*HZR \Q$x"9ExI7H>1 ;0S76aCBo3Q{yO5O\#&zt zaʷ-%d.\ece踩5u.wCQ]citc;V"V񾤔g ߁$ɽԟ9'R(|w|;\A8nz.q.4cvK$:濰#=h4}Ʀk~:_wN3,NW^cʢSu)t@=xE(OOel6mrF!9g*۽Q4_ѥ* 9K$7s[JVQ:a\DԻN%Nڃ8) |wȎpJ$!uDm=SME2`OQ#rԶҼ4zy9+)2 p}4>~r5щbVu>TcޏMзTa zLm MDjf}+h{q=f οnsÕܵ!m&xHpq!DZY)&23>0(f\'cfvrKq.Q|I1Qo`'E۠S'&mc 4TtźkczxX*\Y1&i4LjqX?J6O5qk*o" *]BHO_#R1nj^*A*i d@N^Y܊3alHE+mNYZ\6&J٘uEB O0UjWqvH8[RD_K]8u5ް;ێ&ĸS´()$1 ^ړT[}d@oI-1\P 0t]ya}w.i‚߷Xe4ۯ\eM1Dw w̕Q&Bj HC\ @:= ?6B7k (amoY瓄 fCe]!F-!MۥiL1n6DUzOX^%~kof:$&ESN-?]J#B+U<2+XE=M,7q[}Iz4;<̝}[h@t4+7[Z۳nbA"|)#OIjN9҈q @YpKL?KRLNr*mUx#Td%mEaaWQԭ1ltoB` iF>N ?bO\Qçh.qlNd!.b$5`%f 3CFK9xR4uMdl]ݷUѼ|h>{.H՞S,ߘ%-)=Y3GI# Gҹx1IBqAmX;azG2vV48@6Gb[x4%E$M֭n./f'(err>>i;rW˖?kr\Yϋ9,fx£OaN6бȍHj>Up4wpZ^N)@cRJ!;O&~.b;UwWm>UXtiSZs:,?` Y<@({tk3?MF \ =%7| o%Z@쩂+GȾ_YL(@/^38lS^ πrL=W'QqP?=s~岲i|z6Bca+|qmFx2s,<}HD.gk:\=wnm|D0®AjaNW6\4B8L9A|X%o/ xT7q5'GI"J'BrG!_*imisl0`/ˠQua 9̙ϲH;}Mnx a:5ve@E+DS,bNMrX7EŷJ38]c? dk3Ԁ(6p4yvN6n֙Xlg]}vbWϢEb$a:2eFK.jrӣX3\0ƊH GH*sg(g4,jcRATAȒR{ޫY#B|yKA͛=:p߲9ٱ"$%$֧C%˖ XӵWq 򱛹㲊n< Չ_5OGRMGj*`O Ei)b{Ԭ9!|" p~kW)N}bc1l33HjOӘ=Yf1^X udO;\ %\u]i_Y}4OsQ`k<_>ї_FoݻֽAf|&rkgGZH׊%yGZTuUS*fiFxj|5tȾ^\qT֭i?QRgZ.Ry"F%?`(&G-zD[2i-$:Ř,ݐ#+"eRJrR\# J\zT$&GN)4v7o"tT]FHUAO閪 /e4qZRANg$>^{ϫ"DHAqԧﮑsu*O=ۣ!xN͡k|zKna$4no5 87_6[~x#i 7 <V8L^vRs0<'2 %#XE'Rd 9 5`D/[C ,")nf gb Tsx^vTkY+Q6:% mսl^ l$Yl] r0$uWUZ1- ~LƄ8zifTBEEe;t`.ob GZ캏K-)3/>4b1o2Z?*:N>ݿq z f.gam} -v #je2#w֣Z4ч/Ho4]+Vyf:TIQ xOd9|zf^?MMoJ<-T rA- Z!( ')Gp$%;ÉᨦUwk(4^mDQ} }Gs D>ƣ I:K X$&RRvaTeD8kc|e{V_ + 'Զq%x 4;ʫtBPv,Q(lm@"%ΐT?ڐ'rيK[F_ -]xI+ 60upڸ`Eb F%Mv^照b-DSy /s{A2t6HW]?r"&8I#_@ƏdB:Zٙ.&٘BgoeKgx]g_@1@i\kpklK _+Х.4h xӥ{8Zv"a覆JFH?؉4m](&:H52H$40a+}lBO lu (N92m9f+~]8ߵϖZ~X,h%Y`G$w$[fyj:@gst7 >8d ̶3q(H&;1.mF,M pP>&ÊD+(l6L%A0>.(wȊP::lҶϺp|$ǘ! | R2 {PE'@&z4EhmP1Ì-ZW.=9YdSWdB )O!&uzI{UחE)-䣓NDFHRcD5rt$*OƦAeճJP2xmՑum'_&D{%0ȋT4hEGǕu@A_A,*q"D~c :^l+n_lm &+>jh>:m@_vsrb K,ΛK}$t:ڼ{Ϡ:>ZlpV9%?xR$` 5zDp70 5-?gYv k2e lV}=wBgIxJ Iy_ =_RgnKo!suGhzqvlCgGdO9x==]gHʍdm]t +M9ei#cJ16Y %+E}n`:4Wr$w:idBDOF6akX(6ڞ[Fj\'Br[(l]$kܶuPX@IcԸ͹:4Tj]g`C6N5MS{+h8 suTag9ir==p02H(Gwl]TǶFXΏ hRS6t'~bJ쉱M{ɍt.C 4twCpz;"9P׌ZyhkƧ1OjnkϟG#n&t.tM-?(d!:פleF{QVv?b%Ie36/68` n->hOo],PoHJ*%n[TR \A:*;e"U=Y]|2e5 FXd_ _gfU 6Ba&+{dԏ!1CS ;<_s<: L"_Nw+NA֊|Cy+&±ZHC_o/ɋtI }N"29CĦtkTG7I[Ϭw;~*^M.gˀ! &;U vPѪldBn.hBϹȨ*=B< |34 0~Ydtvvg ,\΀` `z|>#NDf~?Q),Ie"^<yQ4rYP" ^e4,j_ Ci/_&8uCY[Zkuw~G#nd''~Vit9;VBc+-wv!_pv5ZJ_ ɓVjW+?8h騼6SMHF-f; Bn90d5cum%7؄j,_ĬiMt#SхX>t'[Fd0sHsL^Jiʍ/Y.vjjB* =*@w=CJer5A/ G-_>ZN|771 6s[;vۓL>qK;!x_Kp1`cpX.VEU¦uNC;g$EmfTEy!%蜿uбٵ!R}598 @_!1] ܃U9L*g2T. :]"h);s\^o'c*EϭBWO4σV;g}}1ouV_߶KEkj9ܫ%5ZBZ$} ,ͤ(ܴ*nLm\=ʻ8`8}ɕ?8 DosL7u]-ms0i~(pԈl1gAz#dıK~Z(?Bu[粷Ňר/ku*ۘNIXA'"$\f\ˌQZ sd]l]FT_5 KWo^D92*FU cȎUc:9$vΏnH ou ;80/ U`6D6ScK8#)zŭTFW 5!ֆ4nb)k8WUF^bY,d4{kde>&0,vB*ügd.5tPsZa]9% (y b0ՙrMS>CJ~'/B#. "oIl+ ~Mm:xj5y9VzxI҂oJsiOXXIbu!‰:T Z0&"ƸkHoXJxآ; “a=pI , 'Nqpפnyz+֊VȈW=ǠC VvbG-0@P`C\h4iS|XN5Q[Ѝ#j+>[cw\w/ba?X ;T4jp:S?~y;mOwKFV R#w)urX`gܨ tFmywE?kj|Y6^̋2o\$*?ZӅSnNkUn\Ob?l(/.H:b/zQQB l} nlC]11WJ?d?(J:)/7D ސD>%(JERH M$|U7P %jEΚem^"4LMNCgj<8tE뎣֨&x#aAs`B#KR('D&#)*ՄLnd쇥8S)-tH'/ss}1:'q<:ӕ9NS/12wJYϮD#/[X_gv@0l.ܲe dnz*r1I1g*Ƶ}Vl@?t66O]XJS Hc0 H i9XKY_é0ɹp zn p**Q0])/RH )J1T,ESGvn+̰ "]eJE|i, UVT~L7xI8ǫtAi+I|)]Qü$I ZMhtPXT ZYA%}Wy̋ځ+KEΔT [J6">(F% @A.ɉ*!+Sy@,E1E;Q5BJ!<# ~ ˜ Ӂxz%dd~TMqϺ@w (CF8yy z2BII^\JNb.mkſ!T١Ea\h]nЬ6eU+]T2扃pBOڗPJ'6tsW8<߾N|}>0IDOWk5]ƜVV4I8KR!.Ec+#Mh躦ӰU 4ӨgGWI杺E'7VGbR;q@Q |8x^>WDZ$C:2$9Y!V/w4мÁNt㋬>#m+<0d<E'A!1lJOtsY6,l\.kA|¶ h,qh"#a%郫!Jo%etL:3Wbŝ4LCJI4 !Oۭ(cs| cMV_i^(GbEGT8T4CKTv|ڪ~=Ѫ6Chb0 5+ہvaPv5Єv5?٠Zev}RfXo^'OpG |Fq\tDom($O!n@0ƻ5PHGA)sSͫ.D=j=yDT>)2EDfJ}K.bKĩ^X 7ؕ];ǂAT pџu(m&?Uks*1Ѻph@dB/Dn"7!I\zy}LORNzgyfdN>(s|nDl$0CN662\ov~^7:#yH6{c ;"vuq6n`|7WdtaY,"ua2y/(l,rQNVChQ]Gڝ c"*ޝ~wve,sV rg~ oʌGcA~C| %Ldq+V~u1TC߁(Op,pDZ^SUHcؓ?}]&frC95z ;$VVVi(jHorD-Ɯx?B'"ݰi 9:kHd8-ݕYf;ąm/03eUeTBfߔ$PG,8-Bu&k]-v`_mem ,[4Ynu|b7Dfa6@3ãP QW(#:Fu!Euet#:~Z5$}7/h봶C^ ;DJ Ymۖ205&Ld=RJGR,C- `fOtyѭ%U/N2dY׭QZ#+(kSt Y`{W#zxu9x *Iŵ_wZ/PGSu( P;[Z)c;."ռY1Z:-$]ޘֈ67`R sOug8r@sCRp.dP& !ua9P<)o@QjE&5 3HԈʼnFT3CrD㕡If%Foڵ1Q"/։!u,49qd7sK'旊ǔsқ`6QcVNksC XSS'}Xh±^t!ߝ)Dʭj|fCsCCs CpW AVɜfumhM2c Yv @⦹M"2A-+\6|!"@E3hy=U:Yoxzo,}ڱ4@=\eo &[ymՇI}P3ΠZ]vQƑ-?\NA+8l^Q(+I$Uh)0P8e8ūg eVxAyQۙ;diVȯ*·8KZ44{m+GBWbD|#" uJ%CP'OTv{0qjI 0b`f-iTEYԟ9G-nG1*glbR԰s9/D $Ii{vf⊬ )AEzN墆$؂ cy^ELZ߇8B!8#NSAY4t bR쌡h}jH&rPx1-RR5W>#6T.F!1EYi@6Wʵ[ _c3]NeB!r_ߑWXysU"C$QS O8$q"=_"=yM6D)|N^)|Q}őE~ `e|St"k D Y qs(!<7|}e{K#G'|JٵcT=DJkѹ=/{(띳!ˆSXr? 1 S6t~w򹁁οL)r\ #TDKEz q5&nqBJ[#j !nLh OdYxz JQq6^Bl.(k:j#Tiױ,' !./^=-9Wy[h0yъ,WV }>AMtL|Tq 6o'sC{}I)۩|ͱʹOfvLn5Kgxq'd7(Nb Ren0 j\#2#pLYo3dbĜc,!yS/œ#xː9hoRAS8ٰ8>$Бq+ ȢDfu8Һ>!IYlE(98%nB rP v5w6>! |琞%bZ*YcgyΡlVս8Α)jb}u0ͫ蝄j!s״ŎӦ F^N,rqwV"GTv\ÂsY"su(Bfz7[H'^g>wH[j]ȷ!bD)|Ld'0qඵo!\w&kMѨ}:ޥ I6HCʮϷ|LH39G(kX߫dr,IWVw",I˚іX`6bqm(;K@C~xݖ~ tzVo$dϹs\Q mrMLxoY\C6u3X%u^ bg/EeLo^ew]'?EW1pNP=rW{#C]ITe2hl4`s wG_Dgg-#fξw/ۨފp)yw^e*Ōk40wxv|eBvwYpbTCTy4kx?p? EذHcdҕ%; s/FvVM~QJWUW݊:>ǩ~&Ɋ|~"N$ ؆wDž ŭr{Yj5{ُK54%mk>>|(6\n Jh8ٱ5BY ׆E)R'OnVؐwg.*ffe]>—׿Ա%&1RqZGwSڇMZ/wh75?!cm+3|:o}VM;H8(oֺӇIpӡԝֲSHyMhv^Qd(]aU^^Aݏ]Ufqp_:u33/[f׃Ť24{]@l$bT%q0ЧiHc{N]527rսW t%5LYi^)S^ߕʮq;~O/*UܤU"E};{NIV;bĶR/Eѣ/qӦ !U+i ]m,cr$9;pbP;ʴ7.z5_@ I㞨:zř!JL8o Xpuu͎sU JzH{[B$9:']P[%5vcU_[KHZv%?[n.Տ^t&+\o+V"+ $ Rf*Aal Ⱦ\тmq˝IQ.F.Ab /+ #~Gy}ڱ"y4rֹgW1,q,(4Lfh }2wjgm7w1D&._LABa^|m}OidlL S[u{&*7Cm_F8_)-2dV#"! #խ ̍e{i43K_|B0Y hrEf"٘e _HPYI)$36SfXR)Wz%ǜ3JeÖyUje]A mOwǾYk Q cvPF~}ǢPgIzS$B,R||M7aN1+2PbNAPGo̊aq}\(XWnx_ƣAr~x:">:Ϣt́<T*b׳jeǖL'GU pG5i.Ϛ& /?ՎAQOfDo0y4 Upa7k9| p"j9ĵ@'8((I%7/IGcȣF/jmZ='02P u^o[Ka%4ͅtv^?2H 4l7PxJ>sB5 $& yŸa8k LMY3^(͕+k+I7=i~k*0&ש Rd^jөԖ"/HE$7ĝ`nBoa!b]"Ҩ۱R"aBS]: a P×- ;9ӁbU dkq"<϶-G,W^t-FzT.WhdYI!R?f67;k'޶3zah!!w6Ot_7;~&F3 B,]{1 qiDXQทcQ7h[N\zհC 8nn >,Ԇm Pn߄wsb:%mŒ%R|*Y(K5|O%9mPfҡX"RwvMeSEC]{l0]|Dm$P؁"Q;܂e!D\.<ތ!cF6%S s gAeo63;K\l<nJjjae[@)N#wuemeҥre`a6>Pf_'G m՘! .}I?؟gB8|;l_cE uie)773Ueh$^Q`fEX:#dq7Wuˋ!%XviJ7#DmLm6[}ͣ 5GL9(o ۷(ʖZ9v-W4o~[0&l&Ăo,PHpnn~QC66jW̱B'K ,X :>5()QP-E x|XuwVViYe}VGZ:6ք ZDF jeJvB%}DQߋDͭ`Cϣ>EfѧPI ۼLחJ 9JvU-B%ߠ=( ;jeۛQ t,_D<=5$oj(wF%&dtMA\LEL 9O iI6dΊKʇGʤ4Yϧr *F&sS1?9lN3 F8lQ5 -7{dԦ\YVLv^^i%o5h!DlSF>4bݽbnLwv'aCI7lL,!~{n !if#\Iw`ڿ9KV=m﫱;h8Ck* }(VeO-ն\e̒& 2hpP ![θ-oFԍeWF1i6zzn$29K ~  Zg{:S{WWUWogzzFKkXdidɒl<^1^`a.1 !H?|  l˅\<@%4od+f\!mշ{.\)fVހDB>i0y[ڭ\ˎJe\|nPƧ'\H%N ҸW"!;2́ ,m}4O)@wA1BXI,o~V-jωH&6OUh^Rb5Q S!)"MWثLbBCxJkOjPKhLb\/&0χWɓats"i IV1IxM**bd3JEpxW//@xUoF{_ <,R1dےDw\%n?H |,3KӣH s?'y~qFn3+ ᰩn+/aY| hE:Geztt edǯ*eC9DQC7B_8nBF.1;@(32_`.q6.S,$T,/+ôg\nႦ-Y4ݸ ܭH8VҰH/1kLneлhoNO ]Yҥ+M.X =o`s&Ix;NVWK)\.7&{6#/mSV K'&{)SψHs'633x |Pp?Ql9,DM !ꛏr)d:Quo[(Tk<9 \rr CNefehBm1$ė=I0%o{Kw]c9]?}1h\ I0ߎ[ 4) bU`1=_G#^kأM`#0o(*vi0.!?v cKJD08Ɉ)F_ gr AxS3E5dC2dQ(!rE;Im)Ntvd̶TAn>_߻9:3WhCn̈Um~ BV0ڵ@o ̙ͫ '#NǯNZ?G=Maf+$BnMr9_BjK, edxVAr/m<̃_W%ws sԽzs7W7iϓ-ܽ븷]7߷"\gԊEZsć;la[rGG)M~0eÉn‹%,2q"/D[6n`5".su^ U-望o_cce;٥bMk$pz9\HyۉΌUseP~iJ!Ýji0Pi"өIpf]&/ ߂xxE낼_OQQ 2$qٴN>uȒ\zlhf~X'OB8]Qo~,aEfț˦UeRR+JiN'H}¹|:uFӁ_$}+m BC16%WPeKʌA_D2]{I.W,zD#yQ|c:QGz]*Yi5^=(n<~ղvۮO9K)gI-9)c_BNԚ.'/jKUkYRN=̂lB4:YN9gYjw{)r~Y{[0zʍ'<1fe0*]4ճeUzVmrԺ*cƷc1ly~uKj_R7'.w,(L"䉰'Q(32uV FIv)C٣ 41}HP nQ?%T`*0,Ѵi;CyiȂ bYo'KpL $">Rϵc=ػ2vN`@q|+WUS42'Tآsi%% 5V5^쟏|_)3A˶e&˲o&q4;_- =w~_{̨دFMCv@EӔ.$im,4ΏX.adX4(z> 8+6n)vUHwj>p.N'"̧`;p~uՂ\p! O^VKѶ}1Tt\/1-zlHR Ry`lpQ4k<†,Q09("hݱzLY5q!e[e+*2-W(9jSc3"CRf;<%ƜHkF{Y2"]ncH\U)g;rjoQ~p,h 6p*>s]~A45Y{BY;y^W7IOŸ?Lqn-ns8rlSBnYC\4hD=ք `f; (ljLK599V[-{{=ߊxHh)4*Ja<š,.HI8ٹ38)LVQ5ihMunCh]H 03 inCpbyKN] 6jut#2?6"' -,8%ܷTԉ[ H!lJTjo٫%r AJeYY_lAnjF͒nKQADu"/ `>YHa1/'ԉ1 pfiN'ЉS#ܫ5jlgfi=(.A; eH~,\w"v YDoka-!};oE߂W|myHb#b]t+Kd?4spHv0'; h~ Q)SPڷ2 0e Kܤ=挴ɔ="]'^v,5ӔԌDP B*Ԓ&w"jlf'X9w4x&s,>/:!LRixm]N9`$ӊMd[I'$h͹PPU3^-"%jdҍf)Z4Baݖ&n\֝|;6<, H:fo\vlchloI]IKƒ ͢V"&^Z%XKiBq6GzbcJOQI*5DpI fioS]3OOy]01#kKbhvsx9#{{@; daZ 岆vXl~9^ci,}4 ڼh 2Ì%:A&衲.өRO./_,g}+EvkTX֪AR9[AgҰ ˬcY]1slunj >9g/¾gCP"FI#4naF`-PYi !EUwԾ)Ywe-;(f֦ {a3Y̞TSUS=4an,ݺ@#9;MՁ s˸ L你k|:w,4,?-4uX`<yH@B !dtB)QqT -IԄglN.5Ϧ"ZPmP8ܬgB*Hm7gDCDE.XcDe{7# 0 z*tqvG$ZM=kcP0(& Dfi\}p/H1;>̑x"Pd:2՘)!O*K #!Md |8ϗb!J\R|x>1Lb! 8 I, "LƜvju\]5{<`Lgh,WFTyy"X d\0t,6:NjHlnC<(hH6!0uТ>>?>Zx~-Yמhe)=@~9ά erͨB,P0y$>cq GҩꍝRR0m،$",@wfʿ/]kPLձM.</oW"1. ڲGSsQ\{ԏ_IEېEBʸ碩&r9,!>O!s?טq[XIfq|Fwh1j#rh4 .;q$)LS${sYSDD]ca^=~Ϟ=`pfW wq` 17'fRS ٗx2LYZN4'%nF'z#M[*_v̖-Lec%%l٬RWH"|՚xāRev q$(K`l^pwB[`#{QR~_‘bDggJm nbe#<,5!>l%px$"T=/jN\%ɣD6ya^0ڢ] D>nI݇O.ᣊEC-Q>Z/N㔳\s  7(5 kt PmԨBQ75/rGG:wD<~sf+Jǯ}uU-~l])Ea ڧNf˝=W#Ϩ[!¸Sss @DL@3CQA84mTLQh,E],q-i? B% U_4[$|[Oݪ-*X<RoR?,qP1\pV\TiQx:#8mR8CBfdYo:~> !P-ţzA<!te{ :Lm p/sZӎΎRod0 kF2` WW70O-d. gAFí8%@߹MY pB:-`Y^`krR@:c D.g4#f*^)IW\a(bt:tuEVW*7E3Bև( 9 ʌ}U;B@îUP׈V ss2vF#.mkXsrĿeǰHMw:).w#uƕ3cbfD'pas6hWDP"Wz^Waɱ BU jϟi(<92z#q^U 0F=ET iB+AXiL䞩v)Щ& ;/ "y<\5NG6]LnS̪Xv]+X--DҊ ?%pSLû>lÒC쀼 9$]bǯ1_|˴x EB!RdXJ0S-MU鰡؄ F:!kŴYrȉ;{xkxjل_܋%Fpi ęd1W3"C1m?`ʭvT<(9Jw6Q*wy@r {;%Eqy /BpZChB4=) "ROmdȅD;6rA:EՐ"l_{v!k^k୍J,}*N }{(*#憾ჼboƽ{a( |F:'C'6Ig ne*ThVz,)PVfxL %KbI(ӥߑ4EVc$;$43x Ix*x"N^5VU]%eYdE)(gxަiAI@ARhbTM0jHMh Ck$DEgmmY ~ńo?F_7hI|X+SŢiS=b*Q٦S>L ˣ4%eyڎ鲬K$YQ2"^[֫QtTqr pk4Q>}#\1V|P#$U\㙧 {hm4<Ns ڈOF$$yHقN=h u,e6866l.%DIQD$`(x%#/g!?0AG`^YT(=UMDyXy\ /̋J5ˤRWO`xO6#$Zh(B(JU(S6愦Mz w"*,kG`"l+Z]kTزyU.WOsE3_2oZꃎEDIw)]YQk,&V0%{{=VLE=!yQ6[#[ͭ[}Jc{$($`8s1v`BU+f K&{_h[ ]p.0'6Rbgu';";~h+P QÍg}9Nu~3Vc)T$->T0$;h5zeZ:{LZ^_g8_F,Lc6r)i!ePu#ݫA_&ޔab@ٲ]"{; <J[t-ִo*fn[ug o|{>յ/i[zrX,`/Tʕw&uhAG]oV T3;$J^W+hY1SWLP}*j*i(s;*Bb2xc6pX7C|u!'Zk!$I%|Uc*bAVqicGL=@(>N4D"^V׽l1ֺ Si[I1yw&Ln$**"q)| X1܋irH{Mz̲e q{x^L0d3Ƭ`Poh<U'+'mFB:1``s  Hv#,k;2c>=pANZe| 1hpIN%"s|_Vn*4!Y]D~yW+:<|$YLўD*۶[{ 4:` WE3I>-6S=GC{*[dXM.okPȆ<| y~*UM A]B's<<\8DH>tCZ>T8u%KjxL4¸P{H.|@q cǍ #ȑms' %Y 붌+Q+SJ$َ vJ)~mRn<& fzRGW#bt9USkdj&GA.㚘G;]ǽ|Dxi m27ȎB c5* p:U]r3D:7%Q'0rҚo3 ♫iEIES. K^?JөL.5-&TRbԌ:l[ʇޏfW u}fQ0tݷH0PXhk|yyؤ##sH*(S|::1ț>JgwVyVgk̖.]p#wm-um-ȑҿ>1y# Q5X*(ݑGhs$Dha?pwYwfe'H H$*FQBvH &D<'%J {Q/1gOS,Iۺ 1<:Z̆x(DyD^UyQQ/,"uq,7)%4<>^ iЇژ6wMk鰦\xjqJ4P=7#$A#kzgÞ=kԑ-%Ii4sm'sfB#cceY: ňۇzŠށ̾AqűaT ;p_zPUc+]2sXMc,@Y9Y>h 'hd\LeCZݳK{.ė HaM&p%x&oߋz` V6T(XԫԻ1.8a|Bxr~g ?&si`h7̇zfXBi1u昑 $4I^&\C٨skq 3Qv sH>GL e6#GwU_m5n!RlENxCHKkG~]"~8#̇﨩lQ"v>h8+,1,ZYlCb/aWfPeZxG!,x\8%zE+`ʭ[5MfmQ{ ѐt8hTN΋ ލ5,ngE(*@sicTY˹S^?s1 \Xz)bȽeFr+^}N}W PJY4?/EbAtxy߷Uѱߐ/:kT'I/!|K$iU nHO /}Dv ;u2\O>9QLOᦸ.3`h%seȡi*#5PSi-sdH1I)օKj$)7eXJ9 zm|lҪ3N/BnAix`e2s_>*ԃH M)E!Y*ޑyC|MJ7YQQ)>M>cd\#%]ON<8ԌzHdA5%T9q̿eaA*%'nsu`{# }WAuڮ*+^Ȁ>$UJw=h><鹥gq/~ax=@6P< jY:Tn>b.Փ[(pUZBn2ny^AX0ŕr~\9|G(F?{oʀ`3f2Qpu}סuxM?ԉ R`c*oA%\=* =)c:Fh@b""<_Ō OU^Ȭ3J"BbV"&$"+]Q"rg 4O YÙY]lr]ŨYcw"pL,y?Ĥ:xܼR7iJ]E1UBrjl}9_!^Uzy$// <=ޖ@$1eT@ 27@B!Q+qMJ<LQ˕|U)7 6.i*+ c6K5?:/[ds6^+55`k[h8vUrQf d G搎DWȀQyfiLJ@OwEu$,B2JJ 4`QT|'"IG'\<v7dzjȬ)FRk^45EE!OȎ=ñJ/YiQPU1F6&.I2Ҏqt׍W/ER Ҹ5.7,(Œx`|,xqRt,r;?/~OFV1^R:ס)" tE|YHg{ +@k}y9 Wv=[Lw^v.m\bp~YOvajoώwů_5m:RBw[ew:etGXv"~4z*D-U)|ٽ# gG7ݓݒn>BN=sʕ?S7b̢!1#]@Ea +bSթU;CY!z bNaifLպ-|'.4kJ !x+\m5_ ]*Au D 㝌p|T0tKTЧ l?܆p"A.Zצ=(RAa ӳt*,gE} /%c|]ys+,Ć><q:I!n߳$~<~=0$Ly;TVp@^\D$AQZhWhqs{d 2wҳŁx}@wyCGיqAF-|Z%6U_h'0a'F w%ƜhtTnFy'<C3Y>Q33I_X ,s+P׮oin sfl߀g%5 ! оߓzTQnP `(Ku5Ψj]]M7(QMc Z%7Pi/Q5uLEwE ZdU: ӷeqAVL/ [3ͪ^0د")d׈XT)hX̭]n5"1z }^n!dTW@ y!A?kp, LIלLMxYP,lp~^ljVp>S/r$ mGHo~SMOd01Dbw}~>^?&[s289l5,DC11% S#YK-B]`b~A/cTOnƲu]㕓Vv(G~EDj'p\R6ZP(){H 1%4=ů7l\49Ӣ|{hx[x$qa[}|(PMв\'1g@O*awi:CXڢL}o jwz$yƚ%"ꩃL`A$$="(CheNk57J!ruө/ ^ԳhS! rt@0VxP^ҏkuw Ӻ0Er >dΨC j?PMAPbL)pHi۶08qsX$˜DZ#̓3Wp$=Dt{?Te;)LV7lRۈQG mOlk#BSS!-%lT!ir-a:4 c8Whh^P*<FM=JɀV89l>Su )3ɝ%j.K'aƅT9Y])ǘ̙vVKhuc#1]ԯI=ǾL3(T*Wj T/emHESMmNg҆TTy_ 3c{XL;TS'j=.B!L1#Rk^[xqfܑ!'yT$ QF8ə)#|(29=q$fv{OdުB8" z-> g!dM#d|pn}x KM<~'zٱ%ipN+:ԉْ*PIbK8Ix2A$},__Inh,L"HbHb מTR,۟KRWI*XO{Gd\(`&1~ C.d潧jpM(j2c2 `U M({PaGcE!2] hB+ m~w]s{uADGP%<Aiwql׃yCmBzIutx?_@h!n;k ?MdzӃqv[U-XN :o|8xA||l4g׾r i+  +`Gu<"Oad!BnPu y{k9ۗ21asT0; #Ș!r)1f9LrQ@pGi+˶O=𡙕Օ~JWhZZ7Mf2nF" ir݋Ybt2Tcl^eeq0O}橄-rvǜvL1-Q12&QY7P['6Ad .w2Y 6SߟJ%s0'4IT <0OUM5Q}Hҧ+q0$%YM369qF͐̇j 6z}O*,XnDѽS#^PArI+΍>R1,FǯUԆL9n Q\ IIbSNypaǧsJꁈKܑ#sdwK,=cXVbmW50Y2A7CkWtMj@fP稣apGӰ6 kYph~[D~F1:~^j~mNxc14B+odwj}{$H*MY48Z ]Wi_D]u)Q2S<jaB̥$B!~(d|ꀕJY]c)|qFܻ4a0O*7>Je{Bb02{爥N hGiU/G#4݆1Y^[贗^;Nܷ@Sg:~, >(vF{9*GW.@:{ zϒW)peׯ!.KqisQѰ&V{X*eL7ˈ%e$C?yYQ_4bK&M8qTkD%A6n`^CkN~7SdVc@&֌p:Zd]RD#K_w|_,E~1bDGF;/F$'Kgȇ8Y"@I6T9I\;dcD3pr}A7~k+i?MribJL{{DCt0MlWfX/q8WVdUITHik?ٱ/53 /MI$SP~:m.ףA{>61RQVۊ=hZ$1ܞҝ-\Mml?a^g!SL./h7zm{[x}ح>kטnW.}^~;g_;nooo~7pg6bk קSj7YozfΨ鷺mwMtcx  I28b @1":xۓ$HwJ*P=ۋT~oq^ua`B氏9,14o 9;sD(XB/VQq$ ,-HpΝ4٨Y6|>lFY$ᅩQgQ4t0$F r@HΖ3AIZqީB8 E1`(9hW-*PDxF`4YC8[}QC,p,*JsMi7=ŀA7X. Xyg%G>dGCENun;< ԰lRfI513W;)|;lj0B0Xpyb6`}0RwsTWo~8gJLYfALhb ;ŞEsH~1i.wkaMIӫmWh}gd E6&Et $b84o7n)hj<:FP75zW y.Wo(sJq:? ݯ[lQVT٤JYϴ YcRVOmmGn4*2vHh6 3 kZt-{M^(#s)9LnwC=EъYsS;Z6 ׉HL=a$&bG].xc`d``nS^4+75ќ4,^ xc`d``<S7@r*P0SvxWKn0Y@6: etS=/P(6rP7Gw1Kr k=,8(vc.$Q#}_7Su| kEd{u/KAma.oh &t:H_O gCDVʒIC e%8D\lbx% 5_ks{B@Ȼq{V}Vzvds[?N2p͝kE냤t ;9;PZG~wަXcsq$o=dvy.k夿ϑ}s<. w+~v?<(ϋu99nx!S.U~ɼ%'2NWpgȾIc{/O_z޸S?qwwsgBc}By]/#1K=s;$GgT|òFu2qoϓG_{I =\ݤ7I򖘯mW~qw{{*緝ZSȇW0LB6 WWj;8~ 1͑Ja&xeyW𵷨!+ G:h8̓tFNNIs*AhNBB.K)M(,{^]u~omD2;ryyFqɌ|".͉,;D\*X )$_$`&F\&煊=7. p Oq3h)gѽ2"J\DIQ*Kl(2jUNm/6.q3~U UVDKܽ=:דSdD}u6 ~Y#o4ĿQ.o#k‡ͅfΛ xٵ]"<v{7}vw{֓ƞeo\gC"]я~5ˁ͖3 ^#(>a=v(>C.Ûa·a<n7> uro$yǣ6E."X:ƩI<)o: f6$X ^Lvf ShTڧ2|tLO|E,~ ط9υ3.̣w> PBZ99q\~%t?iAy9/eZfYg9+XfY%V\}8z6Ȼ^4,>yM]lfʫWa~mqyM8noI<|mmwkn=ON;C>_?r>Sw[hic»/~)K׽+쓳~{p87A-/^aڏ;t|QG('?u'8a^'ٞ³twʻSfwק:sX ¥p_-#T߭ŌHRtg$h*ZV$%򈵑ܞ!ԕĿ$mԗH)CwexPVϲ#"JSާUh';̀êەTIbT$r3OFRu>|ZY5 ~$ ~$^dc}X̣%/q] kwpY.o9>+r"Yi~+ծq":_g^ |ۀF6K="y^kw`oY&$[`l٣oVo7a6ym޿ .ywio;q~cO~jwo|_g&F_k^| >~ n;<ɷ8;ه9}w?#N?Ww?3~1x䟆sZ34Usoz93>>gH#OHΧL4WH/, GzHsD'Cx+'H/wH/mer.sHUŮH jum]Hs* 7n&97ϋpvOEhHՉN%Ԗ_:S,L),> {"T*H3eZjeҙHg#y,Z"&һBn_Y}5Yf͎!F7Tn3X<7׿[R=m5^k]<܎I~y+? /{c\=ͣ^ۛ>"}_/^>Pm6#`y!4 Yi]9r` 0;_NG}|Gi$':E: хc#gH6~zL7QLE:E)O}N f?3Yvo6q|gs~|~=[N8[ /"gK'5xn@?4(YGj%ȊRĂ j:X3=M@< ,gX!X;WA)f9 C,x"l76 @p 5puvY#{!G7;»(;}=ԜX9Jw3$g =N3|.g=.5‘]6\]TzSԝU| 4\#E LakM8dl^c1G:.F5-5sacI/$Sr>;rK@j:ճ[YmF\tw[wm>.}W ~SΣ"cP8ޔޢX=O5 aEz>PZ7-oYHym!*AE1=)nE*J SxXdM8f1gP-Q#SΌJtr5 R\eQ|ֳ0;V7\z zs $٠9gW+w=ֿf}d&I}xmZᙅ3pq8̬zFZڹp$0338̌n[MUKj^֚\p턵~XB JD[tDWD_ PĺbKq8V''I"bdqĕUĩ4q5quq q8CP)n$n,n"n*n&n.n!n)n%n-n#n+n'n/ ($,"*&.!)%-#+'/ |11A1HE&rQCFTb۵8,xxxxxxxxx8K~A!aQ1q I)iY9yE%eU5u Mq/o_?⿒@JJd[vdWd_PܐrKyN>^>A>Q>I/,"v9iY9yE%k]R2r J*jZ:zF&fV6vy||||||||P~K~[~G~W~O~_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GH$"E-jSԣ> hH#Z ڤ-GCqt<@'It(].NKt ].Mt"]<2]Nit5:]Nkҵt.]O73t&݈nL7t %݊nMt#݉Lwt'݋MiLiBӵ (ҌJ) :v>diNiAG z0=J#t=MtKz"=Χ'S4z:=IϢgs^H/K2z9^IWk:z=Ho7[6z;]@wһz/O҇(}>NOҧ,}>O_/җ*}Nߠo҅-6}Kߣ#1~J?/+5~K'3J?/7֔PRRڪjjՆT[jگcԱ8u:ANRQUSWPT'SԥԥeeՕNUWUk5յԵuu Lu#ucuuSu3usu uKu+ukuu[u;u{uuGu'uguuWu7uwuuOu/uouu_u?u嫱 TmDMHꠚD*S*!U**Um5WBQTRVQUSWPTgGGǨc9\uzzzzz:_=Y=E=U=M=]=C=S=K=[=G=W=O=_@PHXDTL\BRJZFVN^AQIYEUM]]ޡީޥޭޣޫާޯ>>>>>>>>>>>>>>>>.TjO:U*8ew.cu燽*6"? (O8zOF~9KfoVLݶF>nCy=9JwWﶦܴ5F{/_TyٖARgS:/IYs3(?k^aXiL*&bnel\3Uy\VW+Bi~Cw`cemԶ6Րf4yUŭ6q6/(+e*TܻIڭ"/˩Ua96U V ܽ^fiզWsl>M<|<խ Ƀ*s?0keUOuIU88TpE:FU8>M3/ѓj@gSJ|䃵BX:y]g% uފS_tCIam*+F҅2M|R. \ ؤ:|؞b fT^Av=]b Q6հ=8}gAj\Yz}]'Es״Jև 8{7ӢӇOǩi-zpl(R- QPWbѳ$qnj&t,ԉxVtz5ܲD/1m`Uu0cIǴj7]'X`ىv!Q˪g3VζuPxrޚmFcJXR'dž 9xi ƭ++5-u' ƲF? tiW w^j@F+r~-%xzī-6όXX;e^uX!]Dg /%xlXG31e߁ âƋv>efXN4)}bz0͖hicOK]ۣt]~L!nSˡ] 6M6]s}:odŦRDW >z|H/x/cph4* كS4+FN*2Z{K1cnF1Ӊ^`o9K60 /" ¤y& cj:bff9nӣޣELA S”{v<,Yy @دp›]*`@ ^vf&cK9;Z:-()5`TI7(I$8-Jm:iti#g7s.ScFX>]3zq;ƖSl$>Pom\?ܥwWh@G;u}GHکU-w q8_6DC aӗeY2?XQ `'g!lO6pcҜWcL(uYڎӛcl=a]t[_9Pu3Z*yL23*̷p(oO=M ^eƛG:၍ r1M3Z.E<l.8Z`(C6~es&V{sNy+xlNKm曖q,7Y_eSw*3̯+G׬5"c :^Dž&0ZUE>ׅ%(NDD?7‰kvx㘢?mud268LǡܮƘ8ci z2Of{p[ W0X1 0o!Sz7ai$N0,#pmOSUE.6)1lߪ8 y ,s{Ǝ.o:E:v`ohvrVmpmd6Vd*AwxK ,a`99CX駜j(*~=R$~:tj$m.2%FÒ))o4 ˵Yis姜pL|&:TNۮ`eՙlpw{pqd$6-|.̦ñ>(jHh̳tFLGDk5.-p x=A@5T Z2S6:cRG,6ҟTB=*,t$8 g,7}"4ڒ ӄAS/`8aW\a%=U!Pp\S]GM E:J=[kO8XoO~LK@+f]>X#2tcG4 ɠxAClK#VwOCus߽ K&Ŋ4:] "`d*ΝY~u: !5J47VӨo6|0S͸Rڎ@ jt @mTPJd RsF~_LHٖzbL6A,B1m'N 5@nj.r ꝷg[mآENN1`Ğ)J[Vbbj]͖r]S}tm3.e3AXʑAy{rYۊK"7;VA4"8ȑljY%Ge~Q8*OVch)֠=;t ׷0y^mM.MmF_&"%3,1d1ͳAD ,hٝW-ˊYU2ڹ'"[@*ۣEpFK;Ix'FKˆIHgB`QkGkL8*.dXn#6zCL%goO maQirגK=Ie6:Ӽ&A/S~ (AN3s~{:rKIq:xüv2u'>o&m&|̄K1>|"ņ=et[r٨F[n BXn f~1 ᗋ=i08Ʊ7łc̭!eڌW0Q = 0~WdBklžRn.h̑S;N8|چX9t"6Ux 7kMMUm[;}~Vb #)E\"_v>S:Qb_v6oirNrvN av8lZY3d'6mdu![,1{u[8.mg L~`otlھ;{<䬙M7i ZۋtCQ`Fյ;ۜx#c*~ % *PfSa㐷ڐ6oZ.߲yň6 yqOw?Ma;\( -6ߝW8o+zN -wY_P[P蛯f =Bm= WܥSn "[kN;񂄝8d4%egU]lw#5e?KӞd"Uz}G)W38B,x@J8@IY>gPR?/Wk;  NvQγuH1+3 3k؄AK)ke Mz:E^?0,)$\zS9awjc=Ə3&5iIJt u߽cVP\j]c6+k>D[41cNF6"Ŭ13 psemݎߨns‹V?j֡V-8zf*{lٶ5㣶n]=-lj-i!hdًFѥIPKZr<<&plugins/pagelayer/fonts/pagelayer.woffnu[wOFF< OS/2``cmaph:gasplglyft003V(head66"i+hhea$$ zHhmtxLL8locaL((cc~maxpt 4nameJ post 3 @@@ v@6 =!$*JNRXZp 4BK\ejos| )9>DUs!AMq{ =$(,MQXZp 4BK\aios{ (6=DUs!AMq{TRE0# pmPDA<,iJ? 797979 ,A4&#"326534&#"326"3!5!2654&#!#"&'.'0&5461>32'#"'.'&'#"&'.5463267>763247>7632#"&'.'0&5461>32d    _3HH3T|3HH315 .',(         15 -'-'.K8M .K8MH4v4H||H44HZ)r - 82GRB$%L ;;u*u .[1>1 .! J y)r - 82G+ 3'3#'!#!!5f*T`.0`rVU%3#3732#!"'&547637ZPZ0""T""XX,Ԁ@"T"""#n%"&#"#"&547>=<'&"#!*6#"&#"#"&547>=4&'&5463232632&23!:764=4&'&5463232632&6#&L&&K&@~K (O($I% < E 'P'$I$ ?  @ &K&%J% BE  & 8  D  '  % 9!b '  % C  C %  &  C9% In0@%#!"&=463!25#!"&=463!25#!"&=463!25#!"&=463!2J%mnIIIIIIIIU*?7"&'.=47>767546762"'.=#:17'0">7 [?>J I H P5 U#700M CGU+MEEo&'H   =>P E,-48!U*>%.'&'.546762#"&'%&'.'&'&"1550225P H I J>?[  GD M007#iP>=     H'&oEFL+ !84-,En7!!3%!!265#!"&5463!2[\ [ I6&%66%&6I n I%66%&66@&M"'.'&547>7632#5267>7!"'.'&547>7632#5267>7 .))==))..))=##zRQ]@u- .))==))..))=##zRQ]@u- @=))..))==)). ]QRz##0. =))..))==)). ]QRz##0.  #/!!!!!!4632#"&4632#"&4632#"&K55KK55KK55KK55KK55KK55K@5KK55KK5KK55KK5KK55KK #'#!5!!## ࠀ@  @@@ V!%!2#!"'&54763%!#4763*,"",""TT"+V"""V"VV"!"3!2654&!!5KK55KK5K55KK55K/?OSW[_cgkosw{+"&=46;2+"&=46;2+"&=46;2+"&=46;275#'#37353#3#3#3#3#3#3#%3#'3#'3#3#73#%3#'3#``@````@``p0pp0pp0pp0@@@@@@@@@@@@@@@@```````p0pp0pp0pp0@@@@@@@@@@@@@@@!-48181!8181!5!"3!2654&##"&54632!537&&&&8((88((8@@@@&&&&(88((88 )-35#%!"!4&!!5!5463!2#!"3!2654&35#@@5KK &&`@   @@@K55K@&&  @@`+!";26573"3!2654&#'3;26=4&  @    @   `@  @`   @@ "!#535#535#53!!#535#535#53%@@@+U!"3!2654&##22##22#2##22##2'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&".!"27>54&"&54632#"2?0$((88((88x P0$($(d08((88((8 $(dUU#'7;KO#";26=4&#53%#";26=4&#53#";26=4&#53%#";26=4&#53$22$#22##22#$22$+$22$#22##22#$22$U2#$22$#2U2#$22$#22##22##2U2##22##2U"/<IVbn!";7!2654&#!"&5463!2"&54632#5"32654&#"&54632#5"32654&#"&54632'"32654&4LL4+5KK +$22$#22#$22$#22#$22$#22#L45KK5+4LU+2#$22$#22#$22$#22#$22$#2  $).38`oty3535#"35#35#335/./35#35#35#5#326?7>?'7>7>54&'.'";5#5#35#3'#1 @D+̀@ @@@@@@@@ G-% * !5S{ +E@ ` HI@ @ @ HG @@@@00 C )lW*1*  B"1I @HX @ @@ -13!265#3#3#3#3#54&+"#"!54&!#53&@&@@@@@@@@@&&@@@@PPPP?++G.#"3267>54&'535#546;5#"#3.'.5467>328OP888888PO88998<%S0UU <<(UU0T$,,+,,i?>i,,,,,79978OO898889OO8%*V; U+2V*%,h??h,,++,,i>>i, ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? k/?q!"3!26=4&!"3!26=4&!"3!26=4&!"3!26=4&%'&?>/.#"6?'.326?6& V V V V Z"99" !88! k * *  * *  * * * * BCCDB` @ !!!!!` ```@   r;am06?67>7>7>7>54&'.'.'&'.'&'&"'&'.'&'.7>7>7>676&#"67>54&'.#"654&#",++O$$7G \D.H3{EF76767>7676'.'&'&'.'&23237676767636272763:332727676767:2367676367:2367:236362367:562#""#"1'&32#"#"#&54""&54&1&'.&54"#&54&*54&&54&#"54"#&54"#&54&&54&#&54&&54&&54&&54&&54&#&54&*'4""&54&&5.#&54"*54&"5.#&""#"'&#&'&'*'*'*'&5&#&"#&"'&#"76761&"'&3232323076322362#&'&36236767:7:76767:32:3667623265466546:542365463>54632&'.16&'&""'.&54&#"&#"&'"&*'4&&54"#&54"#&54"#476&"&'.0&'.&'.54&1&72&#"&7<#"&5<54&5&4#.7465463245&63645&6326'46326'467>7265463267>265&62654665466546:546654636542365>65467263>27:762362362363623623623676762367632272122'.30'&76#32327632332"#0#"#"#"'"3#"#"01&76"7654#&'41&#&'*"#&#&"'&'&'"'&'&'*"#&"'&"#&'*'&"'"&'"&'.#"&'&"#&54"*54&&54&&54&&54"#&54&#&54&*54&"&54&*54"#&'."&54&*54"#&54&*54"#&54&"&54&&54"#&54"#&'."'.54&#"&74&#"&76&#"&54&"76&#"&76&67>67>365&6265467607>54'&"123623627:763607627:7:7:76762367636272763232670667>67>326726:762127>6762167>654236546267>2'&6326?67>142365>3674634'<6'<326'<326'46326'&6326'<726'&632654&'4&56&'&456&#"&74&#"&7<#"&7<#"474&#"&74&'"&5.&'4&"&'./&'.0'."&'.#.74"#&'.1&54&"&54&*54&#&54&*'4"#&54&*'.#"&'&"#""'*'&#&'&0'*76362227:767:725236'&"0767676323###"#"'&76'"'&'*'*"#&'&#*##'"&#"&'.&5&"#&54&&54&&'&"#&54&"&54&&74"#&54&&7<&'.&76"#&'4&#"&54205.#"&'&44'.&'4&'.7<#&76&07<#"474&#"&7<#"&76&#"&74&#"&764&76&#"&7<'.546326'&6326'<324'466'&66'&63245&6326'&626'&67>5466'&67>32654676267>36546365>36546:542365462654665466546:54665463654236546265>:54665466546:542:746265467263>3>362207>27>#07>#030&'.1"2'.7>#"H7"- ;12C!'&Q)*'.*+O$#!#( '45|DEFe   H     R  &7  T     \       %,  H  L   M 8 6  #b/]G;-"!K()+NML<<+ #!&&U..1(*)R''#;-.; v =  +    -          ' B #   8#. ](8Zj327>767>'4&'.'.'."'.7>%%'.1"14&/?/''5"6?>3071&/546100&/7>10 0 88  % 3) N, `5  I+ `X%4 A'!!4%X'$ +I>%] % 0  /0p....p0/ C NN Ck,?"::%H3zr,C/r+C$$Q !,r/C$z3H%z3H3 !!!5!"3!5!g3g+<<+g͙fg=*3*76764'&'.'&'&'&&'&'&'&676767>76763267>'.#"32676&'&'&"32654&'"#tC::]!!$$b<7>3623267>7>?'.'.'&#&""!7>7>?4&'.'&'.'&'.'&"2#"&'.'.57>7>;!5!75#!5!35#35#35#"1  6%9M_hB)G%7 #8+ D0It ! N""  5& .r: @\::v 3$&9 P  A 0.( 8) =0틏,Ym ""M!! R#8$ ;2# 'N(N(P(O'N'N ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? f3!55!5'!!73ffMgg3A73#535.546323#>71'!#"'.'&/!2654"3/yE-:Z@@Z9-Gy/I"#))\225522\))#"I"/= foN2@ZZ@2Nofi =/I#' '#IU ).383#1!"&51!312651#%31!.589!!!5!!5!!53Z@4@Z3g3<ggggf?ZZ?gff gggff`-]3265467>7>)'.'.'.#"3265467>7>!2654&'.'&#&""! 67>7>54&'.'.'.#"'.7>'.7>'.7>#"&'.=!A     L<  ^|`     L  gggg`  QN    bׂ    ss ]   SSSS  xA   `   SSSS  xA   ` @ջM     BB>      -- ';?CGKOS463!21#1!"&515463!21#1!"&515463!21#1!"&515353353533535335<*4*<<**<<*4*<<**<<*4*<<**<fgfggfggfgf+<<+f*<<*f*<<*f+<<+f*<<*g*<<*gffffffffgggg 2'7>%''`B^@@1@ P<@8^B1@@ @P@8'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&30Tw|2767>76764'.'&'.'&'.'.'&'.767>767>#535#3!574657#3#"&#'!!!0Q'+%%= S;1r@TNCCg"" %$Z459M M3//R##">55J=:;h,, "C--50izYX.2'F)*-%>*#.J0'2  ""gCCNT&C"3,+B +4$$+8BJ55> 6)(58B:55[#$>joq.\,>S"G''113126?137>5>7>?306?'7>7>5>?5'.50&'./7>50&/'.'.#./#"'&'.'&'&4767>763267>7>54&'.'.'.&'&65j,% &?=& L,5 2   2 5,L &>?& %,j 2  | Hd ;&%+:+%&; L0/3 M ! *:1"$= & =06((lP& L,5 2  5j,% %?>% %,j 2   3 5,L &><tK:+%&;;%&+:3++=P N.6 & =$"1en((76Q@ &-159=3!546;%!54&#!"!"&5463!2#?#"!5!5!5!5 %` 0%&`&v @  ``` % `  `&`&%@0  ` ` ` Wir'.'.#7267>?3267>54&'.'.#&'764/727>7>54&'.'.#*'.'&67>'.'&67>'.'&67>, $!6 " ;$$;  %<  2 ) +   .")9"' ")9"' ")9"' h!  m !  m   ;$$; m-m ;$$;T9!#+'4 9!#+'4 9!#+'4 @+3K%!575#"&546327.'.'.#!"3!2654&''#5#!"&546303:321;@8((88((8V-3') !//!!/% )   MNMN @@(88((883-/!!//!p )'6) % `  @ &-159=AEIMQ%!"&5463!2#3!546;%!54&#!"7#"35%3#7357!5%3#73535%3#7350%&`& %` v `` ``` ``` @&`&%@ % `  `  `@ `@ `@ @ %!!!@ @@ !!!%#35!#!35!@e@e@eee#t!(6Ym}2326767676'&'.!" !%327>'&'&/767>76'.'&'&32654&#"%6?'.!ÄXWiӄWXh4}D$N.-# ]#"+=8.$ TT\[< L#4B9"y09JOK#f#$uNMW]4 B'C5/91:  .-p33F 27RLHV- =/.k,,$3EID @`")-159=AE3#!"&5463!!"3!265#"&=;'35'35!5!5!5!5!5p% %&P   %  v`@` `%&&    %  ` ` ` ` ` @`")59=AEI3#!"&5463!!"3!265#"&=;'35335335!5%!5!5!5!5p% %&P   %  v `````%&&    % 0@ @ ` ` ` 8P6Mc326'4'.'&'.54&#"32654&'.+37#"!;#";/&3267>7>?#"  04We/  V8P#Gh~4Nj  %BbbJ,7M9QD$, Lm 7 7f  0 ` /"!L $3  V* !!!!!#53#53UV6ԯY(..\..\"7J]d18181463463!###!"&54631"3!265!"&5897"3!2651!"&51%!"3!265#"&=;'&&`%%% %%   @%@   @%   %  v %%%%%&&   &@  &@   % h7w;#"!54&+54&'.'.'467>7>=326=!#"&'.'.'.#"+7>7>7>54&'.'.=!367>7>7>76'. !,*/&7.   %!'21  2J !!%6. +8"$5 8 #*0 >& !+ Az@ /Q3; 59SpG. !R#H290("9gJ)!k-f*1'(!+7RwJ!#  . !2h) 15,&/X4JG)#$  ($2 !  `6[n>7.54632117'7'#"'.'&5467''7762#"&'"'&4?.546329>54&#"5#53#32654&+67>767326=#";54&#"&'.'&27>7654'.'&#"3527>7654'.'&#"32654&#"3%Z3B..B3Z%'D(-4dCCLLCCd4-(D'cd #$ %/!!/% ` O O<('-  -'(<O O<('-  -'(<F==[[==FF==[[==F821JJ128821JJ128  _". -.BB.- ."(D'1HLCCddCCLH1'D(dc $# G,!//!,> @  -'(<O O<('-  -'(<O O<('[==FF==[[==FF==[@J128821JJ128821J   v^W!Iaw32326767>7>''./%&"'&'.'&'&4767>7676267>54&'.'.#"#"#"&5463232676&6'.'&%7>32'.'&326?'.; KE88P t X  \\\\  \]^] OR#<$Z? !!"  )   ) %  c  & WWWW  WWWW 5Xp<9;  *e. 11-4 T   ye  l =i "!!%!5!!5!!!5!!5!!!5!l/\R99R99R\R>{>{=>{=={>={>~ *3#!5#53!!5!!5!!5!!"#"&#"1.=!@@@@TT@,@ZXMMt""T})R)RU) (I 33:;!#3!!#57375!@-k%%ے%$.ܮv%$%%$H Iw %9#5#3#37#4'&#!"3!276#!"'&54763!2%nےܒmI%m%%%w$nJJJ&&& @+12#5267>54&'.#"3 367>76!3]QRz####zRQ]G225522GG2&2 ''vLK##zRQ]]QRz##`522GG22552&_4QGFg@"a&?Uk%!7>?4&'.'.!"#"""#"&'.5467>327#"&'&67>32#"&'.5467>32# #&'.'.5!%326?5'.+3267>54&'.#"7375'"3?4&'.#"3267>5/"375#&3?4&'.#"%1645'7>52&/- ' ! ( krKL[   }       &wvvw Bd@@A=:@;T:UAM4XO>>OX4Q>;T`/;T4XO>211Z12^ 1R  " Hb 'B       uL  P ko%b-\`(?  A  B>  12:)a23c02 O9>'E W23:767>?&'.'.! ! &'&'&476767>323 #&'.'&#"3267>3267>3267>5467>76&&76&"'.#"&54&#"%3?54&'.#"5727>/.'&/&65623267>7>'.'.'.#"&'.#"&'.#"&'.##"&'.763267>'.'.'&6762%#"32;5467>;/.'&6326546676&'&|  rSRm  {r x^TT S  &    D      4HU&K''?$   "  =& '     $v  &)$    '%/     , 7 kllk PR ?lmfggf*      C )PvxS';{<9 !(68$   3 (+   4    )         &'?' @#!"3!2654&!!"&546327!!@(88((88x%%%%8((88(@(80 %%%%@!"3!2654&"&54632%!! (88((88  @8((88(@(8   `3b">7>3233267>7>54&'.'.#512#"&'5>54&'&'.'&547>763.'#"&'27>767>7>54&5&I"!9-0./&I"!9-00-9!"I&cXW%&&%WXc&&*)W,,-0D)!!. &%WXc2*MC H5744b-,''>6?TF@ %Z05..  %Z10Z% iGGPQGFj'Q1 "!M++.PGGi*E&B% ! K),^1-wDN. (D%'.>54'.'&#"326776&"'.'&547>7632'+1iFEPPEFiiFEPG2K5/.FF./55/.FF./Y2GPEFiiFEPPEFi1+'KF./55/.FF./55/.F !7')'7''77'7```````````37OS54&+"#3;26=!5534&+"!!;26=35#534&+"#3;26=!5!53@@@@@37OS326=4&+5##";33#26=4&+##";35'3#26=4&+5##";3'3#@@@@@"06!4&#"!"3!2654&%2#"&546!33!26=3'7%K55K  @ S%%%%  @::@5KK5  @ @%%%%`  `e:r:@ )%!!!!!!'#5#53#575#53#535#535#5@@@@2@<2@@@@@@ !!%!!!!%!!!!%!!UY]ae%#54&#!5326=4&+";!"#";26=4&+5!#";26=4&+5!#";26=4&#53#5353#53B..B܀.BB.@@$-4@LS[alw}"327>7654'.'&>73##>73!#53'5#'>7>7#>7#>73.'373#..'.'.'53'537.'3#7#.'%>7#>3.'.>73cXW%&&%WXccXW%&&%WX p p   & &   u  1  & P&   Qp @`& : {: &` )`& :y: &` &%WXccXW%&&%WXccXW%&A!!@@A!!@@!@ +)R+ )!@@!!A@ +)R+ )!@!A@!,M)#F)M,# ,M)#3)M,#3d"&'&'&476?>32"'&4?64'.#"#"&'&'&476?62326?64'&4762# ###Y11Y###X,X))33)) 1Y###X,X))33))+###Y1D$--^--$"%%"$--^--$W+X)t))t)+%"$--^--$W+X)t))t)+$--^--$"%7T'276764'&'&'&"012767871'01"'&'&'&476787162"'&47A(((s(!!"*+X**"g///;;{;;/A"**X**!""(r)((z ' EyA(r)(("**X+*"!!g/;;{;;///A""!**X**"(()r(z & EIU"327>767&'.'&#"&'.'>7>7327>7654&'1#"&54632TMM55$$55MMTTMM55$$55MM.KK.8CC8.KK.F./55/.F8((88((8T;;GG;;TT;;GG;;TM--M$&&$M--M,5/.FF./5,6(88((88(9Gf&".#"3267642.546>7>7.'%4&'327>767#"&'327>767.'('R+TMM55$X6 ` 1 z%8K.=(B'5/.F>E.KK.8C9M-`2TMM55$"c= T;;G>i((`(%z 1 (8-M,)K=F)F'F./EM--M$&MT;;GCq* %  %%'<<<<p*33A3`;$v@@3!26=4&#!"   @   5Q46;2+"&5!535#533"327>7654'.'&"'.'&547>7632  @@@j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLL P@@((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !S%81 81>76&/.81 81.'&81 817>781 816?>'.7  7 77 77 7  7  @ ' ` @ @@!!@ !! 7="327>7654'.'&"'.'&547>7632' j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLLZZ((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !ZZ 26%##7"&5#"&546;2#";#";2654&3#@   @ 3    `      @e)"&#"3.54670!37#73267 DhFqSTmIH eJK<?AM; &7o}~ŏ# 7k @@!######5!@@(>54'.'&#!!27>7654&32+#32 F./55/.FDe*<<)f,>>"T/5/.FF./5FtFK55KK55K@#3#"'.'&533267>5!!W:;BB;:WI((I`<45NN54<`88 #3!53#5@@@@@@=##"&'.5332654&#!5!.'.5467>32#4&#"3250,q>>q,05rNNrrN,0550,q>>q,05rNNrrN;n+@A"5b$!$$!$b54LL44L@$b55b$!$$!$b54LL44L! 3#575#53#'# 373܈2@<2@n %3#575#53#'# 373܈22@<2@R 7!!!#!5!''7'77@ѷ">>>@@>>>!####"'.'&547>765/.FF./F./55/.F !!!!!!!!!!@@@@ !!!!!!!!!!%@@@@35#"#3337#546`.))= =)).`` #!"3!#53546;#"3#!2654&(88(qO&  (888((8@Oq&@@8(@(8 HSe%4&'.5463:3.#":3261607'.1&603261607>53267.567>7654&'"327>7654'.'&"'.'&547>76329('0 $3K2//R#" HT<IH& s7"@ u+##2j]^((((^]jj]^((((^]j]QRz####zRQ]]QRz####zRQ833W"##L)#1*(.4 ,'kn}':4   B(""T/041Z(M((^]jj]^((((^]jj]^((@##zRQ]]QRz####zRQ]]QRz## .7/7#"'%#"'&547'&547%632ll*1 1    y##qq   ** In(=Qez%+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2%mmnnnn$mmnnInnmmnnInnmmnn!MCh#"/#"'&=476;7632#"'&547676767654'&'&'&'&5476323#"'&5476767654'&'&'&5476323#"'&54767676767654'&'&'&'&'&547632     (      (11P  **  P11IHy  F'(('F  yHI  ,%%      &&+XJJ!  /.54//   "JJWnn4  4NMXWNN4  4nn I%n #048#5#5!#535#535#35#!#53#5#5##3353!!!IIIIےIJJIIIJI%%JJIIIInIIII%JnIInn!1A"&=463!2#!"&=463!2#!2#!"&=4632#!"&=463       F   @    L  L  L  L  @  @  @  @ 1C2#!"&=4632#!"&=463"&=463!2#1!!"&=463!2#1`   @      00     @  @  @  @  P  P  P  P /@"&=463!2#2#!"&=4632#!"&=4632#!"&=463!  @    F        @  @  @  @  L  L  L  L /?%2#!"&=4632#!"&=4632#!"&=4632#!"&=463`   @   @   @    @  @  @  @  @  @  @  @ I%$#"/#!"'&54763!27632 00DnD1001DD00   _D1001DD0110D^  In+?#"'&547632!57%!"3!27654'&##!"'&54763!2n .. .. I۷\$%m[%m%%%n. .- n\%II%%&InDIV7'33&?6#!"'&54763!2'&#!"3!276=4?6#5'7632CWB6 %10D%D1001D$ %&&&$ 7}45VCVB 7 lD1001DD01 &%&&H% 554Wnn$@54&+54&+"#";;26=32657#"'.'&547>7632II#"wPP[[PPw#""#wPP[[PPw"#II%[PPw#""#wPP[[PPw"##"wPP #(<@EI]735#35#'35#35#'35#35#35#35#'35#54'&+";27635#'35#;5#754'&+";2767#!"'&5476;5476;235476;232Iɷɥɷɥܷ۷$$۷ۥ$$I&$&&$&Iɷܤ[$%n,%6&&66&&68H/"&=463!2#"&=463!2#"&=463!2#  @   @   @   P  P  P  P  P  P  In)>Sg|%54'&+";2765=4'&+";276554'&+";276554'&+";276554'&+";27654'&+";276554'&+";27654'&+";276=4'&+";2767#!"'&54763!2%$$%%I&%%&mmnnmmnnnnmmnnnnnn&&m&&"]@ !2"'&63? ! @1 1"^F !"&762A " 1 1: '&4761 1 " F 746&51 1 " !%2#!32#!"&546;7!"&5463! (88(  (88(8((8``8((8@@ /.I%#"'&547632/&'&7676 #"/&54?'&54?632a Q$$u   b  n%I0+"&=46;2+"&=46;2+"&=46;2 n n % n n %!n n!m m m m m m 'J%4'&#!"3!276#!"'&54763!2'#54'&#!";#"'&54763!2nI%&&n%J\\%%n&nu%%n&[[I&m&&,@UY2#!"'&5476;5476;235476;23';276=4'&+";276=4'&+"!32++"'&=#"'&=476;5476;2nI&$&&$&I$$I$$%%%%6&&66&&66II%%% $J|#"&546323#"&54632#"&54632">?327>7654'.'&##"&'#"&'1&67>7&'.'&547>76312n++++++++++++YPPx##RJ2 ,N$!&YPPx####xPPY((^]j*8J! 9,$#3 ((^]jj]^((**++**++**++P56;@t*701P55<;65PLCBc2F DH I)(,KCCccCCK nn -03G#57#5#57!5%!54'&+''#"3!27657#7##!"'&54763!2&Axxjt~$<$$$IIIIIIIIIIbb<zVVV <$$$ +F%#!"&546332672#"&54632!3!265#!"&546;;26=32I++-C7 7C-XM67MM76M % I5&%66% n &5%11%CyyC)6LL65LL5 I%66%I&67 76&+2#!"&54632654&#"74&#!"3!26 (88(@(88(%%%% p   8((88(@(8@%%%%p  +2#!"&54632654&#"%4&#!"3!26 (88(@(88(`%%%%{ p   8((88(@(8@%%%%p  `_< ޠ[ޠ[V#V`"UU@`*VV3333W@#8vlI@ O@@@@7 e@%In"":I%n JJ @(`DPl |  x t l  4 hzr N | !"#&$$%%"%X& &&''(4)*\+t++,",~,.X001 12<2r23N334456>67@788*899,9:9N9::B:`:::;N;x;;;<&?@@d@AAvABBBCCEE EYk7v"LM7 tĄV6`CϋjrD?{HR4hmyc-YaEF 3DդnM#! I$-!&E0Pz RC1AiQB`9D< lwւbZ=\T%1<>BBʒ!~+I'')Ԍ()kabiRB5,$-F{W|G_2$l{ ^: EXte}0}ޚ^-r$;o`9O" ٸ׌yڰ򈃰3}`_i8S/ʱ _Ux&~0ZY6 ^7(XI'fρ=aaqڐ7\TRB.}WJmsSi{tW$ `ın""xc>> sZZS *{'D ^tu#  ABFv{tc<[Z?]xF+X0iQ;&6}a%7>n[pH  2'>ZYF+]Oq\)?Gy TcIi2v/Uo=RWAu-mukkɾT7{{'~_[5۲}; g"<tnTͳ̕/5jeIM{erZɶ#h?K?aԛ}؝^v:9l٦F^ݪjwZZe/[YjT<?ʷה;}=ݔ͔~Je1%^GGQ2y,#8 NzOzNzBK1-*V;Si4)?oW0PYO+?98B~0.ƟlX 49@@]L @.\$9H@24tAoHrZ\&YxHͻ)@cUXQ3եr1hFl>d}}<ʩ /bm 5L@%/h] !#ee %eCg0˯y1$$tx+CQ'sjX\Dp]zZ'!H{ ꩜NEB0a>xsabC"7L Fƀ&Lp Zf" -'˺ъnBV]Af9"jG iשe(^B:q(` Tق6K ^ B HV^#si? lU,xRH#+ Fi5"&̚ |hC[^ۂi0#q34l@j^2ư"+ƪwp묇 ,'CZvug:m}Yh܊&s:h2{t7y4Z{wǁ޷!mWz/F#,W tF :+i[k:b&~BXzT2#| ʳ Cw/$059(<'!$ONxKۋx?Ϭ Zܢ%(Cyс&}$&WPsZ&ܪm ʶAک,hE e}R0hENŁC`ցbׂm}UScK $#70g)MYDYE*h^4+Fth[cFmC(k X@m@Y}y.lh9#9~<|޺uQ3s_;zT2{ʘLzέЋ?qwoMSqIùBԕ}*٤Cߪ]Afr1}Eݭ3?5Sflg(fƑaOb|.L탆l\dކh9b(fO@-©uǬS`CĹx,1e6q354A y1@Y=|#(q*V*Ag?*h *!ͱOb5$aRzM2WD/$б^ uՈ/o@)['``yn}aXJ-6t}X#>)lP r(QG֠4s#aT(,}yԚ2| $Lo_zΞ/`X76AXSְ݆nhRu~ZV#.@ _s~ƌ⫳xZ- ϾD|(mIr6֔ɭoD}'49F|ϟ9Q6&}+1ӁCX !Dyr ΂N@]YDc t`:%E7HTlnrt K5I965h򳢪Aigו0t9A ӝ "W%3QԄG>L]@飸ز1|zK'cU綍Q|( 6jOT tt=eSmG6S,Po7@\fHX U dqvOсR8&.C_#=GLVOz찘:^BKkP:6{ wӝ/17R=i!0`qy͹tIFyGӋ` sݔɃKm'%CEo8PjgrN 8p =K,h8cfi6:35P;s8ո6]NrkJ1D^Ӽ;Tm?}gfe0i.ռ/ο1TUWz]ݠ>+sza)Ys>POy~ïv),"n10zŬ:\pۥ4RYq QW:\}xf-쒨9bL]#lhkS~R ()SU} eZ)j%iRl^PINW:X\ 8OtZ4tPNe{mM v89-}Mw_4wBg1U0@5^nA'3d䣃ײ(t.#nХ_t5`u~\w5Ekу︴B7,qqI{ rC^_H!5 鳭\Z"~vi1I| GiDZ!A4ױd__dUa T[hjZ^^mxܙz3rR v YYG = p \0j7)`Yb:wJ{_t}ѭ*? qtܪZv6\g_{ rcC+tyW&5U-|Pe{~/qڊȏJ2 eX -e&&TĆqPb16[ ZUZOiXꃯtP* $LتЃ=%Vֽ8ژLN0˨L$.]λn F;.(~ozr:5 m=NK('m cWf@hgJ ҌjBdTuZM6[WE}uWuPcW;ݯ&oʚÃ(잎-08/t21T\h n NŐfC+N z}<5S~G_K$i.6*R2Of9ڼκ3e?Ab1e?aK>,6GPkb׊-9=d=i(|r5Ku/pL"9VzOuuAИ ~H?$BaUMޖU.zW5G`noXZZ5ɲ<ϷZR+I%R\w/n|;ҝ(ȵ>ڮD(*I>Vv-Z޼^40l,?w1/\=0VM{x? |BvfO <7GֶqGX8{{۰70gM"i 4 f0r%=CDd~ q,++gB?\l^jÍ B TqH&n|g}ӍN[Nd}սg17 b^k8])v~2D:7o/^=DyW]9z J^_p4}9*p^|ۘ=3݆).Ķ ֛͐ kG`|A_zњ

    .s7,{&PW>)ktŬiOϻ+^#'o-w}Ɔ_|]>*t^9)"8 mYP&]JDNP/~*TK0#'iQcwvm󳛟G&7aMz숰B^QQ?V}hhfSH*c#90U&f˾aw)g4UϊT?hѳa,g؀a೴U{) DCBAhźwlNYT\lj@#M" xڥkA!T Ltl Vzҭ^T^jnŗ [OIrYj%@W+"hGuSyUvVrVOPd1gCS a?43vA*a |T `<,w- tuq4b\8h'F|ܿhА_Al8r0fA)V`ftPxu'E“P<Čy,La"**__`z.i,V>hLk̓ךO>puLj&>$eW٤fZ : Ez0~\1n(hvXS6gS.rg ;&?/K=3톷UY=v5A?Z5Aմ`~HӬ9z@Mao"yWtZ܃}'7.>E w甬mY=){|SX*G2D`씓#.p6rov9#K"q*B< G8r"e۰ 0m^n+ATm%< |s] N=PR=|/݉,TeoV)~rQe |s$#z|Z"t-:7f1݁ՇEtwYFW_{ǰIA+JҐtkZЂs@ gYUpG0 HJĚq cN=WCǡ˪=Y’Z2hlOf0u\zCBv2p)oѸ̩թj~!d~VAg;4)ISjj]tP:GLG`R+m&3˷_oB]0Vclηv?Mօ@?8׻f %ɠ.}NN ao Eg+~0͛9bN˟!/txYh| y_ÛY>PS3rf~/4[;bIr^ N.9S+FbqXxQӮ;C jhT)Pz2 ccpO9Q*ju hKlӄRWe53wbWO_Q @ _'P0 [ i5 ;A:)gJ|o4.5yi0&,9g] 'Zx F\q'.=oLЏP3t1@Jd:nE(3|$RX;cH6u{&rr`*([jAؼ!ɼE=_~D` KPCGҧYC4 ;z6M?i= 6rɐ%\W[ QN4X8&4C$u;z!#xٳEʍqu! ckLjtQC>EQ,-N _m1R)i%6Q,IFU]I$8EєHwjʪ|i\XvZn7<IvmwcRT˱Kz4Hu{"vnn VzP`ށOk<+Od[V ƣ`ܪA싈V]tê}o[ :_Yӝ5kRÃ'JH%x^҃CGP\Te#6RE?uͥYJbĘV-kgcWϭKlGBkU1Bϫg92 J&xvZXKxǣp [f{W&a6YOOg'M*5+[{k 7*zz%^Bb~F Lqk{jߟ˗߳+2^dy-c/K :=wQSCxV/s=Sp3*٣FOI>ꏨ-UnLqm? * ׿בW_7uLp{P X#NғAaz|j[Az ~n)XwK yŒj%EH m")7l2/k#ܹA2SgRwCu0"18=+˫Pe{T 0O42)*̸"28E9W]j/_t.uնYKn4L4Vӽ lof?).zZ>= LQIsc)D\qu[]ݮ@3hqS/. ҥ+ݳ-ܿ*x1ƲiQ ,>k潋|o5O?g"3ru# CnxoTLҭ >A}[N2 yDX̃9zjUyU9vq2 NP/#IO!ğT<q삝\E~spy8/LP[Lodl=⌗iH-wp|g+ ;?g:H_CYiֳg[}17EUa3/Ap\eFڅהLAakkdSXT`ͬfj Oi"4 eX$;^.0T߫pˢ8c@եxx"g rq2|(Z^sn`M뉣 ⫊6,?fD3Oj ݞ dS@^o9jHrPiX QaAc?# -v񰋝@XtI;7Yt>֯겶}k|sM7hТׁ`6}u I0A ^ xpNj Lf*`/}m ;>yfɇ_K \Vin{@0L6X.]?/d'y9#ŀe엳MQ: Nw]9mȢo0RziHRT\FLp#!?f˘OhSz ̵N,P!yǎ;I%R>ЮC۠.)31x,>ʣL>%3ۂlJG5&*8p~a3u&ȭGSRMAAlc-;%(p0ř|~kn1++t3 ~!϶5bg}eIG[*?6 YI7x!C'Ed{=yvTŒBKU: `^AQ:Ԧ<-,PD$-d)Z!0X8u~UqA 0oA8YO0Pbm1`/xN3f'"4UW9h hܾh>f6hĭS9C0F7wfԀqtu}D3;Y S+U9 ~l)#L#fV>C3$ݖgS"$IY+MPpVgj8ߢ`$u߀\vX ?Yn Te+eNJP TD8BWΣ" (:fU\+ߍSm{`eWOfR2(,Q '^R){$;"'):)jc)-v~1~I]T-JB$1md_z 3r*._DquCw9ԅ8U𵘠]À+hEqpo zg-;᎖*^ci* jjnl7hAikՐk3?*vF$/oT#`_鬝T8XoTTV?mb6H.PYX,Sqj X..N\]եZJi]zK-֥8N`z )]޸cy.{]U*+4 y.Կ)C550f>tٿkE0s_ei"L(B*mAIEYM8˺y  dD1X@{PPg0YlEbT&W(UjZ:zF&fVv?Ov<_WEAkgk{ LVp6}XEz`չRBs3>?xih$xc|zلI<Z :dpX5I 1rpE(WorUƭ[iEr祜+^쥁Y k" Up3Q[Pڴ <&Á*ah2Qg&l OŐ%4>y"7yl+רBvvղ qO.dp]A*҅;moẊ/7ԖehҐDHHPȴy TW2^VW1͒k0ju]aF?(?(P/hUG(18V$>3w Td"z)$peNhVwLd$Sl/r*5{$aoJ~~>ª3(-;l J! $=C5D|g Y2x 3dsపl¢4XӢdWR PKZ;/'%plugins/pagelayer/fonts/pagelayer.svgnu[ Generated by IcoMoon PKZ@>"c+++plugins/pagelayer/fonts/fa-brands-400.woff2nu[wOF2+  `+fK$?FFTM`z <"6$,  ][şq"z$̭n"ZUcbFng1^p\8[=$!G|BҤUUk:8RUzamDaxrv,lGyrHApRzs^H|XIx7U"etXL[nOk,o"6U}xM~Wh@d uY`Mwz '#(!s%O Ep [@ra95 C 9 !IGC#g8o&?x8nN]e'47 I{>?6ehtgC}}ٽ)/^>:,YhBa$R.=]PBQYhA&X 5$̄R&*jbB VޯEER FƈRVDhPlT81Ϭ3;ޥd4͐ H\Rlx~nfcc zE i ( zWV]w^WfLK6@@huE3RVI<ckBLB'C;0̹3B|P7{J4%$,N`UP՚;i|'A X>s];e_(pD}Ϗy~9ؑdrFLR `RCvT_hS󟯙@{HNؐTRf}\:\URC@R fbh2 arO{+?Sa6pŪfH7tʉ/qgpOWɉt ,p42߶ h@ko_߯ߌo:aFlXPP>cϱf~r TgZZ}-bE (ݺWk"I*D`mpyJ?)ILvM@f,ߛAuAPА9`sU%oNKJWSSIRyo\=`Ԧ8eֺ'iB.3S;Nsƌ 8zD1޷i d浺 [.F ϧjy%]fMzSǩvٽ=GAR# eP@Y4ow줴FZ =Cɳkɳ8811z1F.SZ*;cnuZ1',̓bL=6U *,Q%x{^NٶO83''%)vgx 7{wvN.L˒qJø0%D Ty]P!&8ҬQ mvVsXL1UU54Y )c%@PkocZ 0T.~1~̱@@8 /k E1P7^N. 0]yRXQMR @ AXw*;5p~ |a; Wt+xz4:$f`̢[m>'w<ose ~1{t}rysN{{Ǟuu[$Nd>y)Ql{lX|  57Ү]S"IT\Tj:rы_ڰʑ'1d}HQwv(SFNߨm0&>`k3:.;Ւή^vi__=J*SDnIҏ?iYR:]{Z.W]aeZRWhyֻjK/%[T`)ō%r}zQB3,fѥS馚b6-5jPxRF*E?qw#^ `̞5z;=h_\8o&/q:mGژ~IUˇÛoK)P eGOciзD\, $t+*IB3CxKM^^P$2Dh"SHH"H[ف JF1ye+!X6`<7Jfc1eŅ-%Jvtc<]ũP`.L蝲@&O,}0 Ô|1d/Q))ɊUw(`a ^5#.dlBLiw*NO>hXV(ӲĶ1;kz[ fqNխC#\ Íhy ck^ hk%LqСJs=.U"+6@[ѡmVB|mw;aPEyؽ68a !`pm8U`,q7J 1}(LӮk;]SԲ0?.BƫdE(yAͷ/j=p%r(4tqDFO2X[aXHEK[$Un%~Ji':(e (pr$j/4$M(udM&I9f̬L>|4ׄz͏4?o!gCS^6P5Phŋ8eC72+ϣ;&i1?p720~$ w>)\y,?|NjW>\,J+Nt̲: 3-wXp4RJ۸ n8ϤtL.ТNmAtVee$2 t ج(tSg2fԚ3grViKyɲ@}oRJPad֖>tݬ| n^`.6M,S`v>y^xp*0в6Ɣ*=DJ|ApYi?ާx"$\} ^fZtjq.f%B)6>!0C@Dռ!2 kLmQ|z9tD&Xްף0X}!;go*!Y,xaQ  D^Mq/ "d44AĂYֺ=_!5zK{$gtn>&J4rMiCxz0)^~\bH%@:UJ [T\mLr!Gr=*0yދ=WQ am \bW/^{tn|qa36#e"V9U2 ';վ6US١o N7Ń8k2sҥ=I?N>< &%5 ;sz]҆'oa발{+ [r1TeG@n+5Vt٫Mi߈Y b,Qӱ쩹!$֨ea$(+:fXs'8;Dw@ Gm1A͹?ݳpX>pkf܄o67sȼG`0I9 T>.g=9<:*Q7\Hp$geuhV9fmIkN{']6R py z ؋TZxɴ.0b@(N`#Yg~gP *j$؋ga-镙.:׋ӧr|h]C-j6,RjA4AKCOꡖ^o{ϥ>[cn X|AgϏ>1Kr9BK$Ě0#mΏ/<(9|lL$N&fx`*mND^MӉ}\"QCIscu^`EwSM^HȖkXѬbZ87P.".},8 $!sxKI*FsX9[΋C@]sI.~'u.j[F<ΎTkM?`piBLBbf uw/~DuF>@TyfKz1 G5^Wgv)Iv\һ=zA[W6&s^X|kDk^jO@S7vOe<}KR]{Z̰wpS=yIk7 "C220Cx{= fi(d0?MivBtP~ݩL׿,GZE8Y5X>l׉w16t; Bij1`Q}ԝ7γ̧g R" #^rt8칶Fg#5;!9 !X棠FoȢԮ\ysKg3~ワySmpc3y6 TNSMaZ+v}@;YfTWJ 񯺲uVWCzc"JkpAȗbS `As|T|n_a r6S#RtCsȷm2raqǹ6;0o[a^hnɻ2KzQ9pG,O.y#'#^8A D9"@_K>)󃣪}/vnYeyu%L(Yiے,?&pϨ?X_#9Y͍40$M"H UajC?y9L$±C^DG -GQ-cMM晥xBzFN*(| TÜ,,HdT'mkqQpu0%rZ]ay(biUIb ktçb?^^?nn LZ2c!hTܑ{lu)Yëk z:0UjϾ697~Q)r'43M=uiVn+e:$7cj+? Jfqtha|t.׹Qpƴ0/ l6u~ha 5gIzD%VJqx6 e6-^=Q(vPb;8ϊW!|}jl ?xywBB(->8?:zO1Nmqw`g㵕:RCYf֝5s,ބ`+|΁aX:W1Ϋ|5e^ ʟ7bcY „MV.IF8-+};~2%s +?9Kq] D}$‰դYM]~T=,?.sĜ{wmqİZ]uzލeT/^ y9@ʲTCқ.''Jo@.:`ܘw"5-]Tp{¦u%#ϻ;-NFwY`qޚ9)ZJ 7:st!7԰) ȫ04חbA2Z9I(z  : %xdf2/{0lY3o-L"}1'c@wVOYnXK ޚ5ԘG Y`3KU#o- li0i3xqJFba7`  څ-b}co+#yc+Lczl eDqS7Т-jWɍjJk+뻤v-lWoϜӘ|nիqG4h_Yj\rA:sre*;/Ջ[$]{URj}:w‹ ~:-`yW쭲"fT쁠™V6dP`ʍb;4f7"\6:ůN0u,RX!ؙ.LdcP<[ί.-/XK -lFh- /ZoE :8P*\*Va]`ae!2 ɜŽ=e>rxО}Nחt }vK&! IՃxPh]==.Oٮ tk{mAJ?i- p w9 %A?8G(x(qڌ;߈7!Z7^%wf$]|_aAc-$xރd~iy{zsI'5,ܬA%^ٞhidx;n*79\T ג]^>`,:cPE# /=t+@\Ǟ7TD 89*X=]̂#͆/@o+##GLsRlz\rv~ғٹDf>`.k7ͼ;zVO wI!n]kf}دL4k/u+ߘ* ˄zq}`F%F#3 =1{ [m (f5`v̲}qrXنXۣ0;cWw4#s`.h= L6`hhM __R-RT/v4-}}XzVNf5;rWI,t?c^~# ۽{oZX75%xO"|~SH Q2U+wZ{0^ɻh+W\x6]}{wrcL: t^> $`6*FŬGD?z)\g7$3E ơXUW,#jۺ3nJVQKݰOKkxUO4JoVTW){1qq ֆzyv/7ōoi:֦ iFK73"8DeLjəU+!w[j)A}˵E{wԒ陑C 97 CLų2r?wf6}wD$,]( w G/')x-숮醺eQ HXo!x{XbN܎FDWzw<:컐!{ N!EuXioV{Raq≻qQP5VW$8Ę"H=P}>0{Nldg6ecGg6 $_pH#S%p]&&KX&8x~ܑF^=bև\?qm2hX k NaJ`#$"O.Gs_ ;5Y2p K1l+/l$bQǺg8XnU({-b_,,H +̳yp4Z$}8\زC"ߣrJ:3[)t@7wuw_у[|NamZ+;%jb*Y\ Ray><;PH-ۜp#b|{͔2fC^SE>$q ߼9(7& o .Է^]5Ujyj;|k9Vv5mhz{f2kFOFa2@z1|N/,WRijW =8]1d>y9zA cl|Xn>qQ1f<[B+Qvv 3=S+ gF_l-3NJtHq׍VZ_7DA݌DP+mF{ oWCzW&}#FAoʟ_P2|Us?I*0KJ[WŽd)ZwXcxÉ,ߘy4΢.Y'T\{eG@]DAun %=z!Υ.?\]eRR;px&[;Uw^_H]o*XAR,IEY^Qx(|Ks{jj{6P˒gia#JYfy$3*c3"I/4d)#վ 삙.-yXrO 9l>a'-c3g j0Ðx2!M'Cdc%s^1Y N#Th+~R:W D'4qC}+o{3Bv*?s(w!>: )ilX3[R0Ƽ[A/msƪ(tOq O͌;r $^RVgqNuBIǼS .F#a <>Mbf|Қ$Ż&8^);x}G&niZ-˦ex}ʖ~I XUQ8 CMgt^[qid К mCouYsFIcm2O/+C mT޸Љn$ߐUə/)eJc#5l`^+48W~r^j>Ҽ&}yJ Cn/LJ=G3f2P((2A|]vP=F9({JCoT3ϭθUzw:bk)Pv}w?#XBlz]N|^%UiX)Io=,Svo'_>6gMX8O#9 7*o|p#_Uz^rge[yz{;+cn9T:%`1//3a+O_"nhyMu#n:1R }\FF M>?vPǃv,yyW/K:u;Q"QF37lFsSIKfŠANXN m `5$HzBe\bmIⅩ aye(ҽeפo($W4#.s^}={+:Z H""$( GII3g}Ky%US,Zg_}(CNpY81n6_iU-LgDKE *H6&"4&uV^?ǩQRݜ!h@ľ(IjV>e=6X=߳RZxO?JM\kI{fT=XA#\z*)XJR,gX$Y0R惼^"$8)R)H4-t3kUE۬#!~'/')DZonQ&gj*-)Gor=Eg'ښ<(@#<%c10JصxL_Vn2(d+TFk2djCɝwLRK,h|fGۡS# CAwHr׃ZGw#HS7hj*}ufdQ͈$*]gIdUEQE,Au۬~9'NNDh(Ww v`R9D_~N,q&8iyy Z5 ID5us2s*f?7\~#…ݩ)$N„||zc/) nc91K MA.kB }':d$\ű7b45e\f0d)Լ|o z9Hɏ6ezkU Jª鈺X+=ޡOLQFG4AwֆFc򭤊^Zgo+3ߚg0[T ,wIvABBu >yI7%6}|^M O nX)CoyCFw/D -J&xSsttzj3} J,22j կWst%=8(g<ԣ|{x*ĕSEڥ6rQwΏ?1;SS3%]|Z~] !>{a`.Ø^w-ܥDN٢%lrh%. H EUKOV14wńfDy_vmqA Q]M 4NނHߧ4voNdo룱US@B"@ !/ѵ͛ɉ~bN}7|bƬbe"jןEl˦f@Zu?ӗhBk*Zn~+vKTqxT q~PRͨM^/=2DUC$vs]æVޠ#━UbPPnUa>TN&S(a6@tq!&|͡:!Ȏ4eI%I*,yzT ԍgSv -s]`Hw3byX`&RBmccQ}LJzנXd_VZp8l4FD =', F?/om_[[څ}x_C\!2#jθ%ܽzs 4i)vCK=&U~S+r2g90Zqpy#l8ǥzN ˉfNbAr+1S"d[o~T9$JVf"}nor-y"?PIw~Fe> 9 LyE"kn7wU7 z±RcG['<{BSE7]'+]r]FW+]ҾczP2Me j ([CF>>\Hݚ*=C_նC/l/WN{Qӳ<$iH%Uӷ}9)#~3h.=W:|WaYyORfY@Z̤90$=&k"tRj*>;ݻ.jo\<ĐxnkQzrHܾ!0l.V,;c6\-K!$wv7_J\i-u+v.+}-,6ٻ$CN:T7*"3iS:cٟ:ې%$Q! ; 9'&l!3AS/.R(h P} yZ9W#Ԕr2 vvTݦ7,ldP8Ƅt9I ӻ*r]MVge{7q_ҡA!o0F̶x ,o] JEE+8ܩ1yyrvt'l'݂=)QԹ6LBX)Hx+ \#f$HB`9{ȑ%BF5kjiƩ^2t{^6A: y{Yl-AN _Cyge͜:<ڸ҆6j ?maNa+ qE@&5 h=K9  0 ?z]4oo5DwIsFt zK < ]2S-𘗡2#yk ~%Ɗ%5S1Pcs4˱\ΔvT rGC 6lt7ߛיC@ju%r03Lt)e f!'ٝfyeu5AIi6@Kl4gzW%cI.p,$=_괾n,~!cS["ǥ; ا|ClvwNE%m%FF"_mJQNaqس}1Bfl&mf6 QLj;I;c[VC L{7u7|N j4=dfoo<t\TsJ\V`kG]Cxu[,:A&C!j6 lg0]9$H9AT6;`FѭWZ/j ǟ mJCH>aJa4re*4 s_I\osB귉ة-LEPEBG2`eJGU_+.0d ͪ]GPN^k4ĤĝWɲ&G>z>=Tz>#WՅ5"4ų충UMGaˇL @CIX@{Ď5An%aiXE;{ut&KT]sFDx{t. kY) " M/D.DS.'Zϒqԙ%,'8R4[vAhv$$TAC `mQ*K"+81A&J,Jw?lOd'NBT2|~Yޥ{kkQיU\2w=rz`2͂s?NPY2%\1ɦьC~>임궅_Ui6>kIL] @QN,(lHaE0]²OpZ.6e_N,f)qfAO(HRyXB.= ]h9f探Ξ;GF6VqppO5r«_. }o%]| g +/σ MEENꎈ~aՃKVn靑FU98^&"u{064Z̓(sEQ.Ip$ċ\o&W6EZTAA8C̔;RVn9nB'AK7W f I6f%>} QI{f/?ۤoFjve"EW {t;nZFrls햱vUVu7_1xX ,|-U}58xU|ꢍZh^-9 鼝J7g{Tkt{)&0jA٘ܔO4bɍA}d C-+Ǻ}^R^k4bP F)l*:/}s븪8κ- [&0(b$}e 1JQU ^j3վxCV9H8"K&]R"%We9ݖ {i])=Y|K$"D޽}bcJĠ4m깤|U*h GY+uKS\,l`VJ1Z2iC1uEqY:/rIO+_XJe@W{8;JJɖU.e!5\RI^q•,+q=EYL*\ !A \%dV\XXsyI\ջ0RìR~~`kIQ#[ڧvlT>=01l*[-OGQ';\A?a'Ckxx̣h5??G[xZ=YMKEs1'#fc[ὌfbW>oGwkShq) 4e=Ywo)-`J{[O7nۿ0;b:mg7ck?QP74 -ZWzfy|}8h{3[uj[^2grL'.l(Tcf7QJ2) ^|wr8*EU>N,wr6&n0$>{ 0 N}kS"9(Hؤ9B_= mD^G=Pgɦx%'ux+qNgf1>0h 6=ͦY\'$ky.NP:"LBXnUHN]dD 2iE(H Dl] ɵ ߮B6Ç̙074jUo}_ZɪYv1k]Tb)2DCvcI&J sed-♏0@ i_cq੔}m>F n/A,U\U~@#IH` uy o1٫q?Lc9{@ԠUF6ldb,Tΐگ(ϙ;0ʀ݉2cU'$譛,e.>c\`V9>&NX!K?7%[E&3ĽM:U).Dq$ʥE(Zz'ҏ˗ms+ewF~'ʞh =bi*V;Gq{9ooX]VfZ꺠H8y{ h]Q HSj0EI:' R̐o7IehA텚/β0,aY݂ցSx }&cM}h?$CѳoD,iȎt\;n;aS@wZؐf*uNjWqqWOcDH?u7fWШ*=ø% =1JUW:Jl`/9J}Q f澤ee9Sɇ`d^姾# 3fZ/aĒzby4խcư9L9A( qiX{Şʻbp% A7fJŔJI핂eLpZ*<yo+$yD{fI|J J ȶ@v af86_ҥ5H"%Oz9eqVUޜ:MOT6 J6OuTC 3}Ke87whgFbZidľXXnv%qSqX?nyN{2:F`3 Hp8ϺMhuՌʴ;"٩ұ]H=g??̩HXW!Ƙ[C㫀!#GN?"-OX0*hޜcaYft2-ך/ 2XH!] v7R†X$@2s=ޖjvr6Ss nfS֩+;~{|'WHd!Xo8p3K 00s'[=HXH.DSt,ո1XvIeQ0X#n]GlAG٠P Y גptÎnº?vYW(^X#3gBjr"YDT'1H[Ի̶oWښ%i#?׈fcy%y' ] Ib@6Ho}9W]ov#84t mS$U*di #M,~Zi eʳ$U+ 7!Mo=hgQ -{I Tj, hg ;mak.kҴ_͏Ȑ"aCmuT/6;>ocO %`-B+WaLUs[xE1X]DԼ~@'Cjz_!,K !Vb2عGJyO6/gXbё:LZȳJ 0IȦhAf%`Z Po[,2?ob81%:9TcYwdÐIf麛 Б2dTVi{37#4K(XTZAmڷǵQR7{sSPF54bF2g7+xZ6M7 ~֪)Ud6l]NE"-Аlc_TT=2 B_+>:/ً/0etvH,m["H م~-`4)C {/@&vuQ7PFaQ5Ur}Gbxi.mPn KTѡ4ҢD w>ƵXOd/;=te~ \;r:NI7e[˖ 1JFD C+>}Z{qfL7XfޗCV*IJzVuAB(:~ fNv[Z%  nƄξHKYۦ;8JnRS2| |w(ėGg^ o^ Eì VOYF.bBʫT~wAe,XF׹,\N~H烣ejinЬ06"rI,- cZһTXx5So~3/ y2! >鴾= c`"BzX*Rk6Ti!XVt,pnSA ld |\9< jp.^f!v,d!6u[? D3Yʃc +gqlv5<f$*H;Yn j?+M3N'.Q0@xh C(2(Z<;M4\u"WہH9C0L?7r_g*О#`+y]20b` Mɱl,q&S(= ħi^HEv:DHDhPCGQP%$Rȗ/#[ `-L0n*sY L ,A7R,A'A.VBd:4F4"k*02,' -Zku=mUBx%u8nx,qpM7j;JXZQU;65~{ %8˴ЉW9vR#m;}7sOY{msT8$iu/MkE,q5&lG-py._D5=&D򩁷XZ}slߍC+ݪ[:KٚgOܡ.Ab{3ΟF?"t,9rmc٨7ů <@Ǝ&[3)kua jQ@# :j!sԥuyX.)?N+sd(rlik%ѣݡv.崕jҵ¨Xl~<Ŋ/__9$M"k[F)Ɖ 8MĊWC \u Bz5j+s31W33&?nmT3TF%F!ay9_^>fY4t53?De ДRT!+-vw#9c,>6ѣ=ȦnNIX u] F-l-.w4;R^X>E.P+t <)[Vɼ75k7hܕ:ێ#t雮u;Km9ʴt!XB-5mx9u屰'`-p;Iѓ*w?Vuo zI2cyʫ{Ey˖_^ 8 -A^ Ŷ{,P]u43}"3_okHFZ˛=,ښ7 N.{JMJ|R1p)3ΌgRQ }%ߕt ƨu ̬\pEG==Y 7ysrzа!S@W ٻ91x R?g}E?}P_YXqlŸ/̯#cV'@ [hZ x͇r 2u\gI[Yztʢ)"7"ێnt-.KmlLz[VGW+漞K^.:{ۗUN:u,b3XNJNuqVlԐ5ZPQes 8 '+kIaq 8Ou±$trT8;J=!3d V91̑L+e-L~Ag3.@w7Pi2f_BM{sˏZ,Nx6@ 4M)NdUK̈́L,/QMj(Sy0aAk4 ޯ%d+0ʲ[ѢW]QL~4ԓf7nr~Z}Ҧ4voMֱ7אvW7SsfNM1.^Ok5r2o0CRψ|aAKw|MOp"c1 O,78ݳqIғ跰y-WJ`yF  IW By/pVBb, MϱF[9~Do ziE*k] tz;#M5̘M<1KԟЃH!izݔ=f?6wi#΂ܞ}r%9,.lg&I'=ū%Mʫy._b-.R]0@Z0jo N{*SVP-6\7e,+׹lhl}b ذw!8G$sSԤMjTaޣsdS"Hu{&k]S0YVHf(pU^l=b }$9Xn!ĸz|Ya>& N ]9SL'̥<S$թ[G}Aq{/`;d/cl:9爥t|ZZ6ؽi ͖ -{2^n!klʏ>esJU[knd)0טրH(_"F _hv4UM*L;unR;EYna4H#'- bm Mܕ΍6=MQ,K: c- %Ւw!r±PH k LK8U'ձ>?gi<^͍fœhQS7{;]u|Ԝ2ٿ|v_(] v׹O8 %Y,mHGͅ fϼ5ի^XQsր\,I7L:=Ā{maSS=*52~J-hu6j_d,{Iq  6YU*fC#KC(L~t#,Т Xc10ĉp衺auX}-{kѩ{=дGp'=0 Tr &m12s!v#S/愙3#'lv‰/@_2jEu\pǾ,^&~Gh99U\_yyz 4r-coB<ݲY=X]t{zn0]r(]WOcS!Elބj*}j]|?nмjW˸Tf_*T/ X'ML g$D_v[J&eᱜ]+,;f ;w+qw>5_],XB!.PA=]|cI=A=OG+H;^`U{f۞XN\LF$O4˟BXOEN24k72r~f8lUjB,Vݢ޲R˃|&sS/J,x95ev~)) s3ނ%[˜g`h$ذIwNJ9ɰ2)oO$9d};?_/&t2+C[9h"E~mwxC>7?&@gS fvĠ*AO!Ukt`R'&Ms0Zf:yfe`ga L{W6tZ)[_ ۩w*i-wP/Ww+3 uk\"᷑_cO@EP"GPYvL.{-pJ]r^;\ێzT+Sr4RX.;Q'>+EВʐ =i*W؏|ӊ?H#4 ~7lBZfgt^$rQ)!P[?q%X{>9/W:~b{ן*~uVv P 1)/p`WW7w7ooEzFZS{Ziv;;@]iIFҊ!L%jET) ^A6JsU.sl_#4c5XR0]5x7V к}һtˏ,&E6iJ/-9nI"XHz5f_!*[,4vI>pgd,슡g%%V۱'%WfXOnBu[|;8b3|||ҿ|TnM<A y ᆭS?輠܀_:mٻb/k$Q0 m1t/*F=YՌ5L}`u^%c5=o;ߕzZ[[Ik'^t웴s,^qRTjڋ\" yk:· rP%Vb@[(pk^@_u\]gydt[pih(vJASrHړU3hkSs&GíKַ׏x4lvl.OO*]<){Y[GU>V =]f!i6gD)Y,+%R6:N !{j&U/P3][w #2K9#;:V2=i:Bo? ^:͔{exyu:]h~m3٪ie:\4h!`DzNNL;gGa+D2HZ,mZ7kh}m3>B{G.&2bg)Z]/d ƀ#T0u 箜,5^]b!z!Ra]9J$rs:C{ӃVjF5oQ07̝.V9/KI_QL6]/OG]0l懰bF ņ/&aw@D{tXUAMC)yBfFR"?;fg(WnZnz_"wo*&%9FCıaP5DO|g_%@Q󬬼 +ػED芓ox}v\q ,Gfq$$شq$pVk @.}S t14e"ppTMWQ@Q&XP5~GF%z*EvLKx bgd4h'xSԵZvO@TmhUG%;GKq,_ҩibFS4`Q$%dp! ` hJJ&YS.'=M8[[FVKDUORm0痏oO#wUuH:Jnۘ]Tn mJJ'϶2 w쇏44ZNXú!ӡFj~e^nWcRxxpIm=j4^*Av=8}2SK ġ{*65!zYp[0<6P]5nJ:xH!7Ȯ$R3Z(fg{vapVS }xӾRxN2Ǽ3y`6k wTLo7 Nȁv vCuz+tx%9!$$I1anvPrt 1MwEc(0nZ[5<@2~AH';:d~'`G ;,34vÌ|4*iT?V͹X;|4͜B1P!;}V}v鼮RTfխ4yнGs| al`ῪHRyIz2|xq~"4$hh-9 $L `I ݭw5EW|3A|v~ؕsCg̶ϙB[n`3D >gAbe:[d$v;⠜v]21j6cclm*+-m-2 +I0/ f*Ġmk*QDsl&u`|s3M(%3u2nDa22RmʢffcSǭ{.mD >}j9rJu)fEM(2lT7C/Ssx*% Lp˸I7~ČQ:Ɯq塷N_eNpL ʋ? wB?i_!M"|_"| Tx`-^&P²C|N-Ckj%1P~'H" 1y,D_E¯Djj#d2da[`6d3qif,tXWLN.Iyk(;3pUP5 iC}IŶYt͍ѹxK o b%/4[&g _[!iӟL2KBIeH @U2Q\Y=˳YO,m}wSiJ4l)uuJQ.?fuB֭m?}Jȫ\ձ, ~{V &T3Ԭ0{TvTP0 zM-80S~E}Ce8zctM躌nxpd'mEQZ^o2%E).á!Vp@hRaW!v1fb(:qxl#-[ga/;qCvvu.`O"MwM~p1:F32}+fqHSQٜg!t7h@074ۗ8[5ADsU+$Y!!Q@5{P C\!$&KL"džEs8-*ۢd%nbǮ$ma_[=ZPҎy3Po?X>o f? U^k,[pt\OPWARtҝכl@omݷ|di?q y/Lvg9 7]"Yu)^wpPI\,>W(HVb8zRH>s#\)'#%()KԿ$ Y%HJ8(N](Y~V˧2+I+d~ptb=9()SuSLCzaR^S-}1WU˦80`w֊'dƈѡS2Ia3?l>0iD8h0VZr44l ‘W~4[j|*#X d$j( (֒?FJ%%rBŊ"pS.F<߻eF.Ŕݑ,Ʒ*aY};1>]-k 7l+Hv }4 Z.! u/}?XZq -&ٯ6 WOSa"6T / O6&6/pu$$nK#:A.*%Fޤ5d.S{8oҵi=Dm:Zf]@yj<M0< Emmw7Yk\ F@goY0ڹںl#f$$Y[ KvK_Kg[ރ"F`IUԴfop!;&g|=-n$b7f7G /Ԥ0햄;Yghb |C3@OhOmtUk)>K4$~F`m!Qn} h<>0m`/f Lk0OWxG6+o8~AW?J>,1 O:kb]+ !w$o@ on"LHpvFǃG_2}麙v㋢Re:ΙU dYgrE༄:N#S/%puvSִ&Tj\tE2D{v_\H&ޟzæLe"{Uְlyr3uxg&`qS 4G#0 9) 5Wf`L9pù&mۇg1Kc${M׼_pB__iF~<=kH9<+r d [o--!^+?^EƥQ|iFzΥOD+P}7cciz;%w .RI/H}fI*|t&t=epՐ Zt|_@~9Ҟ˟̃K X۷7E,AC8dJI)Zq{Jdzo-?S27#'b%̠*6zqDh>(It[j(^Z+ДwZX.'̸ׅj|s3>l꫗{6QFGG-}pCm>̱,{e%üĢ%ˆ)y= E#RK<&l7K@Jk(ٴ4m m4V3؂|[')d\G d 9-WcXVCfW@0A&5 l}r9ylx;BGg-TsӹXp{\!#YDIo%QHؾiEX&XJCaiⰻaXԔxcJzoPWHWS cW2L,O,+ޅM9tcTs[vlCtawQofR߲$Ew9hSN^P&mDח#{v53gk}&SfD߹ :WXbλ=sᧅ:ne.pfiRD'Gg'[s퐔}bq{͛T_gWn::ˡxspuk;Bw.K_'frvT%a_jNI~aU"wݟK%a廆; SOrͥV*jL懪]#~8NUdD`H)^ R~m\z#) 9g'\FlQԋyHDqHo8Dw@5hWDz'eZϾ8{؆39yэ)Q:dz)ۣW=#\fOG G\;Q.z6*Qx}DeIg}&#*}vNRtn,=chCy^L"=,185Br)jC"¸%FDD#ʫ$WOZm2`2W@J&d2jLc7<X>sh(Z\śG;ȞO9YO )yΜI?^l;1 Ċ*9ٛ)JjI:RRwh`Ipʩ}=)Қ0Sި)z]Eh.H-}?cua՚5dʿ3zr !*:U,kH ek jPUO%PCAtEN]|绻.b<~8ުQkXP@3ͥ8VT^$3lӁY/ }}2ζh^>Jc~mE)_E1|9x"ۑb`':"Īōtt,CԣGUd#V¿2Nܸ{` D2ilAQ sM HS4VӧQi,Ŀ'A}NOqn~s5XO8y.OFI@~~\PR由۾uboYMH>65i" `02( y]I Y|;}U#R13>).A?m+ S!G<g&cb '9-5ppK W0A! ^7$YteM;Q{IrjW cg UB+G*C^WFK+[ ټ5,[Xcyj?'[Q^_p{6Z?(<6OJzYWEeXFUT2K}IJ6re Qzv )Z q l[KrWm1)MtV.\_FT*Bx4U Q:힊ƾ_-tef}:mFVfn]C/[GmRHDm5me&KԞ,ՃwNXAw;Ko魿zVoYzD @+:Z&WbJ s]OԟzxҍљgĔ-ey~> =z-ڽ5=w1~=aS7XP=k:?K zşx?ϹkuV0YqQR>e]?O|K<ƼW1;D%雛7rT ֖vO5^ݚ⦃4V͓iazOn;pXuB {9i߳,!4ij~YBg}++I9/.H8*HN1%jp r3bta@H);"xSÃ=L#K0OJ^;OSFc&-QXvXO݌|RU<+ρBj4D54zD2}D!Jy{hb2sOX#3c7:A$K_])Ѿ,j~ঊS/" VU<`4f9?T]RbNOݖxɨJL v骻FX+7$-eJR.EE,=s\JY:]Ng,_ؠmbsa&E`jDimL=Ӥq}DWpE2VFqdK-J_q q]+jFi5GFG98Y4H0\ʦ!T>q=9E{T2mMxfQ)_6$(+B\),nWg|3SY.R oS[SNޛ[L[&)dߚؼ<5z!"25%M]n.kpas)Z ]TtyrveT3yUs*Ι9RN.E y!'Y]Rw&p-ra$JU7:LkM_(]T%t+ՐLg[4El(a:^G)?NФ8zs\ Sa]!l_< \Nٿ~/3Y9\s/X.TY)\d}&g\ B[,]~OW;φaﰮ/lvӟBˮy[6RcQ kNیm>Gg&I\q3^WS. 3k AdC~v@?';$N)>ۦk%;vbw :t_y zb57v2 <7~Ǽ PAB?~AiTD?lxI숳n u p sS'QWr0T6N%qe.Kޥ|aцpn;]ɿklz>d&ut><D*O.}k4:@*Ynmub12%k)ȍi0{|u Yv1xAMNB8>(^AW7g`ߜm'RӳW姠6[#h/`i@d0* ?\gz]1^Dc4ΗMTO^{%D1Yg7!Wv♻ `HeCAPtU&y m TyAd ȅo *)fBpL$h@Y {quJDj ~kc>f_ Jnb@)Ʊd+3ݝ &-Ǎ-. `H1؅VȖh|[@M`-LmkPJ/v2@bkm%hQ& {- B;I5ATFynYGtOyP$4"6lF b w6Lú>WSZbqJS!ɾ0oF*Ga?w^?@/h7\By I2"=lzŏ א 3ROM [ƘJnAԔy5q=!E*Q]WdQH~݌qvs^e0~gr+ hSF\G]{+[??Et+v sM@Q}`uI;XMT汈:i ף~$OhK% E6;+%SmRآ}ePr1U Z?ԍ֣b42:E)`^)jQ׋O+hQj'ߢ⋵T~D ;3](6v} ,GՙU>\qI~)uE)K^m]`OR4b.4͐횂䣯Z$hH XO%YdtKD.66b8*beh'(fr\#II7'WR k}p:Ibu7hJ*ɱ`4| >=z_dHcIy}//c6H$D?l_>|jӉLZɩQǶ#W)`T>e"w١r6IQDЉL_ .@3> -Qg ̙#:c96h|je3O-C'/7U1>ןjRNRb^~v_ <84]wI*$AtE8\"tc |\7o6 Y2;b;.'ᵏ 4mM`رcK%-ͷfmLlL;s uiM e-^ش/nC@;cs{=qi]ϙمvNV/^RUlbhe)㚳223^Zjqy)Y9TQ26Ξieg09 zSPoS.Bà a_\mʵz91:wkiv_cv[,cb9'wW&nyCLG(֖\1rPʕC:?"v,M!q>V\` ,UAgIxܫ:l13 q/Ӏ *B~^gCI!Fj|'K>YyeO(?23 rsuD\m-ȳد3̈>`dS-ȫƗ*!!H3Mid`Q?6e5?SL@֙[ `O̿5qN Q5'+saK^H7FyUux]Bb@i @57V> {bNSAt]>,0u\ Yꚏ\ tCplul!4<|  9aW{7FH7,yUVŸa KK.:Ё ԜZi7Lo-nj+>8,ο̰Cx<"Dr|Z"2WFGc)v&M낷aPB6^^0%NT5Q`t/'$p%smv !b|VVP/1w=4cd^T! +ΜtvEJ!^Miu4՚~pLӛ$d%o4:/@faT|  R= fdfvȑ׍7豭<ݔ-yɓ@J%Jʣ3޲|$Ba҂ȯNi~Qqhƈ,R9W/Bfef%"d`ޛ_-i70xV;̲V{G[pBQR,kؤ꣺!pbΖn#NZ'Z =*@(Q"+N7 Rvĺ@J_ ԏQ, %9+Pbwg$Ƞt]޺Y&{cͷ/_42B Eδ9 ڒvNڒ͓ɩeaҞU =KKֳNC*)# Q@>B)>{Η}^=}"a_ ._W:Jfl,G/y⿐13pHꉘ Ic yγkPmLܹ5ԇ FԱ$Ur嶓Zeb].4>.~NzPe4 -)lX-aHkJ$~!}Zjϗs9- hANՅ,q1 i"yzkjHǷ9l@SFIbhtHE[ԢwN4N$ 1ʺ$}F3]i E 4c"t""\Z9 (7{n6l~oWjӫ`WĆpΔl]C 3ƪ/Ѫ1M=W&%d)/"$9wWba.jؠ_rG_sgD|k@#& f(m'Ϳ:XLuSe^\eѼA%>~|cM?bCV<5r P) Ykv A;vԆE5 n[-5z_E<A/`wwt=U$9Dw@f&= MPP rl:_QY$" F8́`- "eX4 pdk(e~eI4&ܟExcAⴴxxdj\nЄ7 3S iZHBX\ Bc>5scS7'3:gx mѥlKFS"¢IR:"dNχID A(]B.(1&~ICUHI*l+R'&@DV^ M~W.jo ""}K~oQ:ڞv7"n% #.pp?vJrt  TD*'I™{Ģ,p+iIՋ=$uo[Z;;wUUw D<&S{dG<'4#0oP仐>4$kI s +ࣚ]zc#Jº˘Lυ@=g֍`gyJ=> MxE.9Z9<֢.ʋ*ܚ{2]ނezvX& V0PY'Ereͻsgqs[,!X+"0FG蚧Ls\=c+LSm6ϪLgC#UȘ>i\%Ddu3CDgvz89R.dsOu@Re D=XnA@ |}̒X (:w;aҍmϵ4ntJD-}g*ٱSȵv&أg|POEP{gj<"e]i}fBY4ﶯ4ٴ&-Z`1i!#j ]OC#K?t(o{gޒU˦7#oZߩ^ZtgwiK ~솰xRu"S,]~b;kx[7~Wl%-VK7H=jlo#mYޮ_YB:; lal S":ff&ܤHdTƖjKU6䏒6IBfUVcyr7W{֪O|Oq͍ #^@6Rd4<&UFo>6ѱ (ůBAVɮfa%2 V`Q ޻0ڸ?VNHA\ϗމOMy [!Jk#_Nq.c~qp;rEEu0"4i~խ7(J<{BKͧ4Iay ʊhJ[ş.ëg@mrk؆3!*D1(HG#qSZ=HcTU١3}4q D{ Pa9 1n֘YzF.FŅ 9GyLfUĴȶljQMEQ]!ɩɝg9Q6T2˫H@+EJѣfc |X\6gF:! ^toFC:זd1.BD+Mݬ;Y">b}N3?FYpw,%+kb8XD!b447}LvrutLhx镣zz+BCr%)mm%#<|rzwon787mY["x\ܧ|i8;rd]W&EKwP#~.oJ4/h~gڽym iZY؈kkRm .>~XG &G{W&>بYmMF~k@A9lmZD#'r\/˞ە57[ݝUBᓖA 32myD/_͋xu'1BkRcqKT/5=(_^ fɘ4…1,  Kp%Ca "ހ-R\&1@IC2Nߛ0(QKgBn/I8)H!% (sQJuAȊu! К4&\oW>*^B3P "wԔyGuEt@J9lGT-Vt^ΰmr= 2M9XYڇޣXFf ~}(:i\*)"J|DmL\l:܏7=&1q4t h=^AK:k1_vF~s`!=+Leӽ WE__e턘%d[N NΝ…*L|yvJi%z1ߟ?|2av+2^5WȊ5=Bt4Wf# ƒXΥ$G7TcM8A22;Uc T*7j ȫz(rVj78I 8:Pkh 9 P(R 2G-*[E)ܐGP\m!bହiC+';6 :>ihMɯ7^QڱIQn,jm'?"`G`O׎noYƵ0^zg'LI<)m Z FtJJ&o-vJ+}TmHQݷKz,sjyH2"I ,ިV%?TQP%K$QJd֯ژ/S1B㦭wECu`%Ji kzz/]:PFZv2eΉe}n̥&ǯ3<h{PN DWn>L;U"i&PW%Hpo2yE."ԩgbo^&G70+L{xn}|5b*LPE" l⢑Ht1euEj0ns;Bp#EPFCXZ~#pEL>av >O(3 j-Ud_h=^ 2 SJuGWmR^)L9(C>p汮1];ġxdxŴ:xBhԕ[|1Yu2o~^|O8"ɱWkU/j[86?J@`#[ '|7޼cu0os\f.Kr <]SVEǬQr~h b+x=_' bhԩw44mkc*ӡHB\?sYF+ p /J;qì ֱ.Dah[PQC1*@:i>mXIhX(0A.(ZWtO%^}nݻ<l'aBnzQblM\ik47Nnc1* Ty לu'x~ZS^}!Z2=\Nւah{MWCݴzGaǛQ'H)NҔy[wV MbteK@"Y|`AB|­Wɒ6}N6c9y헾.:TEq}u#Ukդ\rJk!@x /H`zHȵ)\wx2+_p2<.ꕠ:*Uީ={'R'$ɛw|^ޓa,gFOv69FZd'e,rZ<7lw7~gxԧBgaSȻa 3,7/>8C(og.#p+Y>#R=M%nW&/BqP\wOKRt~?W73٫e jemµu%BPԲ^[u:\<~0S+X6?J.i Yc"$6K_z%߲zƃs~ 3S0B !d(IO'#: 0f<Iv"0,65bqE0;q\ D Χn G$4 -SMHd ƛbg09y R/!_,kVP&{$jG\V."hehJџ0RN}Dyt~7Ǝ2Q`"'Uq)) wJ 2Ɗwd\+Q̼1R{pYg ȄFx$|t@S2”q|C |cjO]Svh#Pq .m"U ׎'H42- Q(/ͭyree)* qߐ`eLykDP rozV=c&tyZfQ0 7$kldU,v޻Z.1{m\. Cb9{*P&Fʵxhâb̜92-P,q"_'k$I9c5Y_lRƗBΥ, Hѳk_%b|61*w#tzq->?]-oYSp#Pe}%fkޭx+0KOc3i#&gG#& v9}73Y6TAb3Z],C߼^O ?{hXi mhDto#0@ M;jGI GxA -k.G; @@o!a&M v>k=&qmEz>(R6Е86qc~4)c)\G;cGv *%DQBtDp?v]\ڬ/1lH$ @nhw6ӡהJw7L\@1RNw2HhGQ/`8R" +PHsXU~Q֛8) \LF:%֊Aq8Y~NJYǻ޴IPn G0ǽ^0ڶ[nq<1 ?]S-|C#[]NC#_tV-˝+[)˸nWpĐY!!!`خy6X'@ 49reȃ^ JAGSGKafs >sƸ-_][+`R; vuKHG9t@YN %Κp& Ofd9 |`liUCxE'FƥnBAQ2NXt?wǰonX ,*GNci'R(ָs?I8^{8fZ->>+hq ;ߦ$sO0>/7!dE/|cEQB F1Sx'wFbiTD?ڵp{wДʔ١].ٖjn75M8 X!xGN[ [O30y|@s#UZP?: PM4:wk`zOa QHDTw ?i]𛴶ogdkUDvuZ؞_yTO\έ+LL ETj7zw؁:ٱ~cJ{QPj ~׽ sB;T,ewqk.Bn iV涔՟\vݱ\&gڀV={vknSw܊goS:N|C|CBUUVy :9XZ$zN|neH&zʎX_'gfDpGSSPw<9V)B Q6 -bytxAlM)\<*-'G ~\D% q U!y[:pq2_]QсP 8fas"㨪Md9u•Cه3frP8-7(i ])=tB)Ǭ]l c# e"9JQ i3- :l#8vb~ir"9Fdl.&b\z 4{ YY2F>Ĕ\4æ1k7$puklY9̱ ix@m@Uf '1[M̑"aH<ְni Y N@?B+7`z%cQװL/ܺZ”__ aW~l F =#qbڼ>-Wc{ufրwA++ ~̋ :IeEK5rݳ$phkpR!227E+9sLF?rғ<mɳx!}y>xa3ixc4iF|Lľ`Ddz\pT [ȷeŞ٤GOʷ/& H"*W9Js}|@M@bO+HmV)}.r6JMD&md]ύp+u-)fd~^"[Ǒ'kxݓ<`gm,nZ}p7S#8 N ECAdr6ӭ4D"|KŽ AFn. hbIqg*J?^e1r,[SwT.j\UHa;m${Um8{3,RPӢk3Uz1>32V([bKJ 9G2^jBJ!:G@mދnJan{yv{۴o~hD8qCNÿt̑W\^{4")ORɌ<[ɺ לj&v< P^A(bwr^jmt vp2V;+[L4s'IaWkC(]{[B)q`X, +ZW(HL:9*!/, }rPG̅hA8p2ZMɐss:eZl"4NqmccXLxyk~u _Pގ/07OigM0 {2Z:?,(z{".?*5; ?P3b o@>Ѹ5\ntcuu}{r<%:vȷS>b7 G[Aӱ3r/CIGOfgv֤&܊Bţ*w?-scuF^7۳g&/ަ+Xݳ0i }<:0u懴]ޱQ IutPvd %۔` Bp4cvcWy5 8?VD}==T99W@?@F,m:֯K^=m:ޔ47ԖԤO+]^y.dSZҴ2f6ڕf˺iMf6aWNS2Y auiBn"yvЬpPK߼,t Ordw/>xjXSªjvQ$ W4lDžc!f7qFC\{e Ti,W0ʼn*b+֖#WToΜy +ul\hn(2!gĮ"&l#n5VK$A@ pW).>sѵ[÷p9)h !]g\HnGtVW&YqI 2%)9!IK!P[=e(z- ~|=߹/'+Zۉq .pL9g*U3ݥ]'dKa2%`QlXο[=Wwב.5 Wf7c>.MoqOj-ƣíKMe;WV|v5^BLPR-g $Ig *5,i)RqdkYAJN8w "X^L[=aJ2 (YGA~OM4=nV⒐tAOf ۩Gx#8mvNx3{LV[-ۆeJdRfS9I^N/S21ٞ ƒ6,r’WO$Qɾؙ&hpvX*g!x9L@]2g?2pi ~kqzjӷC {垛)l+ć̑ܲbpEc1S˵)eJ븩] VIÈx4`5IA~~U؞Ah#S?LG6"QpڸSs\:n.~Yxf@;Grd~F!/;z6h ++7W1trfv7!ٝpQ GU*FoJU]ʮמ(M(?ý*0mp"rQ ԰@!_8ʯ"2]sq6&kIKyi>DG|8es?vT ›*m,'֞9ؐL$uV/y2?>wY`2jMld7.ؔDڅ<.P .Dz^Y7QX$%LQeWC`(_J*,~CKU/{ĸ'f~}fC*jY~,@?4"b. `=ϑ zcaf?!B{n"Z]H&n/;^9 %ҙֶ|şGAjR~٠D_oY>T`WZ쭳1UrElMx@ˡl IPSdr*p=0Ȇ$VLڴ~V b pK!8''6G踗GN`% 01!kcF@Qܩ `SЂ1O$|֒g\yYIԎƼ\{?od9418xΰ9)-uCYzAE<4[wΊWo5V~ڧ<1OFM[]DZVnq)-1~w1sS`3NM)(fЯ.AdQ4 nZo6gVM5Glp ތ?ِ<0Iȿ3KĮ6m GEA328e1 $<>z3_ڝkL̂"s:"TQxY"wiE>',дBfcG^>ٷr{JukCB{A?f2ֹ@) #>FL r'tn\#¹q @bD*0\aREDCG Raϟfxh#/LP27{68Ḱɔ*,2se=.JMZ$if L{6^S=dyFc:f5^ ЯEA0=͕c[[8}g][SPK8Կ+Xfmך~Sj m"ÃPÅ`|0p( </1"5ba0h;B^#o:/F 8xoQLkQ1ha,Z52iP΃MG%CXI!YѦ䔞 S:bVgD*bIJ4%gGl(6|*|C5ammC"9D rݗGREGEO=Ch<6.駵|Ōh6 '_(bEF* GInOtC5ϯՊvQpf@P"ƕ2W5 2V9df)΋ 37?YSlܘm@ORqZ8[b;{_:B J,͠et&`j4lMόc2uRti Lؘ7:uwmh2θJT79%5" WN^ZW2tFΤIx5kO%ߐל()ѻgK 4s}Ĭnܸ՗X2ƙ"luՅMq\Xb+8C:}:~yv,.$b- ώLNxa zv?zHla`OR%'vE3KlN+SYt'Rه@}6/к@nKB{dq"ఀ}zl:b5I5Pi^}pԑ d("ȚSH] 8}}wTnuOZpA sOܹps+ A9L?=Ogv->)P/5Y/6ղpuOh4y)y ARlڱAJ0L--AL 2 ?il%w?cy]o1}Y5^A@:#M[*r'SA̠'Nuwsbs(+˜BH#3@VwwA57(zB<7vbp_g??pa_}­+.{p|K, ׈"nJE4Wzw \h POWoƧzXKо %IDy;[m[ֆ_"}V56> %Xj{]&>݈k(ttI:O> Fo(5%3Q#Z߽J_,5nF7k5~ὍSGCďGo)A6(yj@T:97 lAP&žXtd_:+KHҳzzѯLy&f20 +.SōB)O=^=ET3{ɳ~6u&Sj o_L1;x*ʗ[6)w4ۛ4)C jk\+ mͺ.Y &ep0>d TUY%Hw`(b@,O0E HefB:߹BVsyɄjH*3[ց}f)p"K4MR "O֊cNqIF1 P1|6I`/&<8!O,6?1λ|Q̥g> +dǷ/;8fLG..u}:=rvu`q{юrqIgGYd!3::(6I8JbD&3>D%J:%>/JB?clw݀bO|#dCkpkq& "6-ϙ,g I?;Y|UF]Z`$+:qp[LHb63Iڿ]ɴ+/OL9ҳ[(j -I)jy)[Ĥ2uf>3%me[?;@.=#p)" wvf FximOZ7uy>ʩ)@b\U0ɒs67>9*;5Lb@!ﲁb>"eV>u^-U L:M;4UXQpU$ f aT|H'~=N1H)U'Ξ5gNiZ(:%:N}˄ʊ;A! 뢷lF֡vgj)e,,_6qtpV}Uӄeb̸(kN;L2u;9$4=8:^|67$W,δ>,!Uל;W 6D[0u>s,#;RV퇅xفqd8l;:4_K `̊uv 2AdQԽ2(n K(Pm`S xAA!Hhfc/~CĪdBogXO(8&Bo܏l.Y*iފ, jdY2ZAsٳBȬ5Ƃ3yWQ̪&eE!<(>~Ҥ5$wsܑ`$jXF _wGOj)&8RĨ㍒}z ܎R1C^Qr.`P9+X[S'S"j*i0:[3%xTrlCݖm?,qjn.QtC1a&11z@A Ȥ@83ZkKNd(}g)ߙC/pQZ_nBlxeL2*lN^qAÑppx{)p+УO@H;`&Fr1^$U"/c8J&z1)9[S6FmYj[q!;/ݽΪh z ?`REO/-όwoș;Og1q;S;yĸ=(Y"6=@6'9ɖW.^\eiJƑ}RwG[r7Sd6yi1 t<+,ׄG>)|zanp6ǻk7%+Đ7DC`JP(NgРߧrwtB,n~jQTeLjv̤dQ|զDȹ1ܹ*_ {7j"bϨ,4$ȿLG<'AN\<(Ѿ ִHHi0r*%3B-ݚ,X!o/g͇Z]M YCb/8?9VMF{v3*~)/6qC2rWHCHwHc,MyϘ^K{y-Z|/WX.Ra)bO. ;Y]4NhzgRy.eКŔX3q\֮T쬭QĄ]B:.N "{ee-쩫41?'"^z N|@8c]1ԉxm3%LxQ u_^__\A`qR lݦBB SjHE@ɓ2D3%e=XUCnb 2AtU_K %gl3vE%.{]wNP}-jB>'fw0-G24԰fAkۉ|OteHz`~h͈245'cL#KqUV箦ju8 URRezrYdh1K.7&ea*CmwF  b6J&* P7Ƹg f'$nZ*m2 bqr$qw@C̄t+Bo[#p\r9ޯG,dY7eVy\)/[ !bV<ˤ)T_ؔ5ɋtFVekT==+x0 H~kG +VQ ')G|{,!z`lًYbU&Il9q9*K]Q/;^L82 (˶ -pERzoN۔*.8SL(ؠ@w#)JE1n 9nA*uzQu-)ZLB׭s[2&GB\W^[VY'0N<9vēHGjX豟h7%#}εHV1VZ@;qE++ɬUN!z([ݾVy1ttO652^ V=잺{ 6j#۪n=g%7/N\Q.=^aя^gUkZWe'` /? _ˆ7by=+Vd2~/s6 D45'TǨ+scFZᓸֹQ0Qy3Q>՜Otz &OV\Kd6eh<&QH& FE.c@)'#4UāN&ػ΢mQr876E~}T^A(q1Q+jn#l#+~qTKN^.XhE_rO3E8%*Qc>aә0zo@/evIwUULezPR6#&9G]/nn,lԔTc}c~[s ^Z;z'X`hGʍ۹u?)#)Ff.})siYR2n}ӂӂp53yJ#0$$-g:SM~xiHH`qAjxm /Bv7- ѢhmHa*q5BBTBSgXu?]!`pK6ړ`+s5o15 ߈LJcwj#˔񞬵Sg6˻/TME- VUu8` %r̷"1Ԉ,:cFjz!L/E9G@ Qr"0 &?` ~TT΢0 q"-& ȵDyx ܚgԣYQw54[pl+MTﷃ7GCSJԂSVk?dnxcnM E={M߫!Vm'Yxo M#*G\Yh ,07a2%0R!¿o v߾ !I/sT]{pBDkEKAT|n7wslvv!/x[+J EIjx нooʯ.f*gZ\!o,(LfQ/9EE4ʝz}o wu-kQskˬu]!;g@*lqc7:i]{86|~xY'>O!d0CA#sΟ;Gə4 ʯ~!?s{w,}f,6F ḫz*ƥ57νΪy`^M?,\ZIQ}NF3\^|*U(' QgS˓rCߪfg ]vWȺ8&S^R%n5TTb`Ia(W1cJK]3.W)S^w|%''siƹg⧾F{cg( =I֮-?^(>&jl&e V ;ɶ_=tCy9ꥯ?ݱP%&V[.oM 2OɷV#{eh22a!x-u9Qd&F/K~vD{D0n`^BF@q[֠oƖe46"`ߗ3>T%]C}?'+XVObz^gF*Rl`yDF7`VvhKGT'8j͎ifĽPG4N!ѵВ vCd#Y.H<|/*:L oxgHJ`źuW.WJ+XWI{$xTP~iו~'~ϱ@C_JT Wc =4TPԅ|GJXb_ɻ&v11F2.wI)Rźu)@a$vu}boHӈ3FQ;Ox)*˽Ԏ'&vW&^oH#סsXzmjd5)T 4B&FzJIq5|B]n`AAf 5|B! E/33 ,R@''SRjsܼ"r{G:z:A͹ʬ#t=@d[R~֠6 ,,XȲ]#W{ UO+KMP4 sp12ͼa .eqm%Uh˜ l]c5#QQkaFEn92E9RBIȭ8{­VE$*:?95y %O&M(vxꌈs_CӚ ~8i;>ZNjY_k1P:}ɛaxH1F>"Ÿ7CX6{,z.[0וr] X0n5oᏖb`_\9d )j3(3yC+Ih5G{8Q0GpbH-ND$%뫑"Px淲IsA0}WJH+p ",xh/&v\e `wxr}Rvqߓ?.ĥOUD{9ֶ,sv"+~4oq P7n}>2q C R4=&uF3}*aUs$$l%eSr M Y[9Gw:;^93z'LE5g#ƶL]X+`? YS+b@ fl6Y)SVυ3"9paj+V*Ι9,+,ߐrp_5ⲧ<=xPiWH aD݄@~D:M | '?$GZ`ɻ\ExqXr{Ypn߉-7~#N8VP ׹>B]MtRλ30K~H>EFFn"鱊v,Fcd!S//AY- RE}9@'$ݼq^RͭgoeՕU}&QxZ/*M&Q<ᑠOQZ1}jZ:N&M}mP'vQl &#(Ra$84%'up܏~0:b(W0LU]Տc_reWHrwG\lU/>H4 )ey;7CN93_Ȣl]}G!T6uNLI >?[N!,:XxɔYF c>m ϘLUAe|uPB&RTlx-^J)[YƄ5#ݥ29jJTQ5nDDEI{"HM).?pD׈z1 1#A%_Uƒvbh st_7 8)=떳` oͅHԮ9 > #= ZD=Un0QsI`(ܾ7TAketfLS+P{lDeyזOˬ܉vvV iGn߆* umʎͻzH;n|>_,]ba9>dY9xOB>&/'\/NN{E) Z̻n,ϻzY{Epϖɞ-ɾ D"૬wi{*])2e>i==H{-ST*%iWԉ/ETM\z4_枫c$ֵdʗ-PJ3jdc¡0m.̌k_ D%EsP16T WjLhkL>k~~j'h/ `zNN% ZxR.s$c &:`/qH ̉ vm*1It/9h +֦*Oı#G|öB5XELxrDsǧQQHqp:؇|ICn[u>NL͟d<,G9D "%w`FmSya$ Ma5IJSɍTe;jY%冐#fU9DUOsQc&1=QRiJҶ-Bχ^QFi:4Bei=s('6a^(6ޚ5jN*;] X:PPgF)SoTvըj'Æ)'āC3WC4m9$u m0Ocw*y9#1}wRZ͑z_X>I[W@\׉EI H{p?5?Vh/߬(]z~divLʧ& yX)ެ>; 6;)~Ff$wm=}}۶]ώjǿ=Lbk~x;Gw"| Pdǡ^dh{:>GZ:&bĆbAÝ_ )zyֺ))Mve[M 4)ѝs!z S&ā D=/Lqwk-Lkdam-@,:܅ 1`ȸ/JTY^U5MF18z|OGMAMǞs{[TWuof]%gQ}c3tkR3i~X eݳE陼d*b]oٞ1൬+mL]7xޞyG 9wMFH~2,uK:(䊡ixzU.8xH!":-|zM ]S;vyKO+ z{c_h%C\LڄdcĎz(7/a-vV,rHRa!F4_D$~Q2Mao@ ]nyďe-5 8Fj< ~*\]odɰ<+6~%& Gۯ씒b-&⽉!グue#=;a(j[cR֛sqb2*κ{jkPzpSøE]giZwmWfclXk }ndpWxsCbh/B(1="~Y7|x';Q?>[3*=Yy(/!aԓ 3,ATS3<]Qh' U€$\gw| R%ocшZ#s_J1:HC 3Ff0_R8(%ΥaN ^ ,yQjVF1#K֠53_{ULL/.Xc+,kZ#QSRr1ے{JcSȃ@Tn }άN"ѭH&?dT:;:cfz(ͺ8 1`Q), )|+y<[@e&oh`,SkO7.0ǣϬ:+9kt1۠m" %ssNW`wgM-D1=t8>ZL|u%IȟhP;WH ~yp)wMd* #ڣô ??z4i$6Ro3:KF|;o2\!tZE"k$cR/iClVxU GM!e(7:|c]V|i<;#0bZBX J(AsBh͔cL;u)r˭X..\Dzr+U,C&DPEVGjvsE׷# V V[eVVCHV+hA@ܲ>$I8϶T5+E6PNnF{t#KASxT@nYWV1V>lV6nkGr\6e[ڊ<3ܩx:T]Ea ˽Dynݹݔ(2(0Oz߯1MkGKݻ#P@hb Ź׼ Z1_c n߾%=Z#|#kBw}H~ <!36i¨s{51K_pH>nR;x -ݦX٥TtTsic'Ic}|M>.Z{AiO4gsONF2{znT*{ .CF|3;e2aܾ}lv(3B.i+P33A?P_,̪+U_/ʉ̿-N5{QyAV.(b R>Di]2<{^-`7]ş)vr9K0n`{flB?o]Aqr \:o@jduy^UXD.{sxEA[UW=\GU qso?sǏB3m晽{Zy}u;+ЌۡM=>PcKx׵E2 NzVj]ڄE"? *.zD DLcl,~;P~@`w1?w"9 5T!-¤Jdki86wHAۻⰖYZ SQd.ˡwh@7fZuʒX=B9Mf,Űr1R~dh*KIn[&r ] ,nbVgb{Yg1J16u <? >ڙ ҒFϬޖ̣`dTbQKP?/x AT f.j[88Zҁ_ت e.ji9%IVB-g?-t~\xpH9zJzvMR?lYZ[]˕+i}²( UF0C36 \W("i8HhK܈L|lX3n0S16#B[=9Yh Eph`gEJgK|G**ܲ`>%rv.,zqwjVk;FL GVuBZDIFzQ1G+89]Qp"%eE9o3m(I#qX@˙V!̽ej,MѨ_\jJJtد}>eK|!RUn6]3 `$~>W{$ܱVu}Uiy|#3K;r7mŁP:UC.j.t`ڱ%Т!8.*}SΌQ#2. 2!Zr:za`i6Fв#3k/ ==&KXt8eI\"B87"ڄ:h]\JyxN^A=3h/#(,f#Jo _&\2oTaL0L5J{.V{|UiysD'n =d[=at=.j# H%0 la*KvpJ_;QZ8*-ƝXFk1eXcnYc N~l8ٷ%d~dz,uuWe9\> %}j^H1vfzZK9\# tm\(ll~%0G﫮NB|w=0*dN$bJn-ژXur%-{Wv6nlx`EZqh:'ط|6Ox@eOSxq;.E$ЃC).%_%0`U,(eG +r E$0x. :ax tASdz,/:-UҎ*GVqŜҌFJcu/XmF'?# װAWi} K{=K^-.!靖W̵MlܖpV.ͷӺ$mlT #: |`K)wAbn;&NteQ=?OL۷##x2&K^{7;}Fћi{3_f\x@( 4 68p@FP 'HfXE~CR\T5Z`4-t=^B0b8AR4r Je;a'ieU7m4/u #($E3, $+e;a'ieU7m4/u?7(ɊiَAIEYM8ͫm?~tǹu#eU ӲDPƅTXAIEYM8˺y 0 #`qxDSitpy|P$HerRhuzdXmv@FP 'HfXDIVTM7Lv\(N,/ʪnڮi^m?~^'I\"-EN* ! 2'Y12WPl &#`U8L:BF Ռ*v_eKKNR$σbZ I|$'':ΗF@yw,lWa2Q992̷Ȟް#Cd[!_+sE`$s}[J˩]2U33݂dNqmG7Z_qZ.۪G)y uI1չ)zv47똓>Y< 8G逵T(U\ϞfuN8FWu87S^2\_=Y 2VLXb6[HˣcY'r "7#e.faO!EDa3}5Crr$pg4F8,/6Pݕ(>l3r_B1&lgL.ܙ)Q*݅Xdf Ir([3ZuvWY⹦}r9](Y ,AdzZ@!vH߃䘉D})<5n'r{0ܲRZ<:"B"C2eOP Nߧ2lqB&%MUvs,(T쌮ΜDQ |p:SMh{@ipfCA"&{r$̄:htnkwK5OWjw~)͑}*mS"{w%<9J̨ݙQ\/RhSnۂXdu> ^i ΰqjNQZw5fTN軕c*DSzOp~2p+<;$>&zgJM^5j}.%Z М ܧY] P ', :U/A3{7Q|$RTwuhJ{/y CCY&Rql0auE;V8̨# 5H<~.5?G, wZw1Hepu|GσFc=aʨ.پv\ޕL+M BމK[})k(x~S+D>Nutb5McS:Ŋl)#\z}zmZ#b7TɩU\ kKyVd$LgkX_? iLQx0* ' 7 ^j^*Fgm`FWu9]Hzҵu)= ɯ-99AÆߝKk*t&|u>vȣoBw`], bԛք j$y9S<cNvi' ŵ-]9~Rasۭ[U8yi'P*:|r x~|!>DN-ixAv2Ɋ v~-~&mgoɒVx])c{;,cQP $X7T{Cx 3\0y,(,/)@F7C&BJ-P7ϩdӧd/C2wDYS!}D&pu b{W v_bj]pCmVvް>JA@`\D-ɑp,tN D {=1P'*ܸl{ }Ĉ*wGҲ#A?}L) Ja#cNz|?@q0W qNlBO2݃uMLL(4Ji?ꠓ%~`~JEgF9fQ0ʒ3$?$Ӿ<%oؠ\>&Z7"~4_a f~x2*XU2q!ƻrB_Gd2yI9#,(ͦ-1Ԡ>䈓pS+9b>Pr`MWAVokf]8Nڀ+ֲzkb}:52:=]lk%$zEj>]j'd-l{̈́=VE囯+޴m@=+PKZ;L(plugins/pagelayer/fonts/fa-solid-900.svgnu[ Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 By Robert Madole Copyright (c) Font Awesome PKZ%i i )plugins/pagelayer/fonts/fa-brands-400.svgnu[ Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 By Robert Madole Copyright (c) Font Awesome PKZ̈d d )plugins/pagelayer/fonts/fa-brands-400.ttfnu[ PFFTM9b HGDEF* (OS/21V:X`cmapo[7gasp glyf'xhead=¹6hhea6$hmtxpD,loca ~Fmaxp4@8 name8post&o]K$i _< 0~0~ ='@LfGLfPfEd.T:  @ @@  @@@ p@@ @@@ @ @@@@@@.@ @@@@ @ @   @ @Lh@ @P  @ @@@@@ @@ @@ @E@@@@ @@  @@22IRW6L^aknp~\u} !#1MRWY?B1]{=BIRUw6;Zgkpsy 17:K^`cmp|\hx#%MRWY ?B0]z4?QF~}qmjiOKI=,+*)( j _ ] \ Z X V U T R Q P O M K J I F E C B A @ = < 8 5 4 1 0 / .   p U S m B &      ' .,\x @ T  D R Z\ H| @bTrX$ PF8f.B,>P  f !2!T"P""#$$%&0&V&&'X'((v() )+.+-.//0n011233H34585v56>6677>9::;;\;;<>??@X@AhABBHBbBCBCD D,DE EHEFFVFxFFGNGHHII|J JK2KtLLbMxMNNOOOOPQlQRvSS6S|TUUvUVVWlWXYjYZ[[V[\\]^^Z^_X__`H`va6ab*bTdeexef2fZf|fgJggi"iVixijjnlTlm>mrmn>n\nnqrs,sttttuBwxjxyyzzDz{{|||}Z}v}}~~&\D8Fdzօ$̆Dć 0މP `Ԍ"BꎊtĒr2֔ꕐ4̝ʟPTT8jҦ8pԩ8xت@īhJ~Pΰ2Z ijbB8>6jÀô:pĶzb ;,Єє8Z,N؂~bڠ"<ܨ ~ݦ:"br(dztx(r #"&=6505656567676767>167#"3>&'6&'&#&'"'&'"'&'�&1�#"#"#"'454767>79305&'_Ze     ,9(% T E.8B Wse (" /   * .?B  !Da($&$ ' '3;GPT2"&4537+5323+532654&+532#5#5#535#535#;'#373'2#!2654&+3#i)) OI9__ "m" 7 c>^5 y pvymK))荍.DSE[  [[[.@6mtUgeeej <%3#0#&'&#"##"&462'654#/&""32?32545'3&)\tH H:;;V! &xxxTG_DD,E))E !7463!1#!>7>7>7>7 F1GE1YXF1 3 /#  /2/<H1FZ9f1F&  4H7' %/#'73?37'#7'5;;mWW.**W223223ml&z,$#"&546301%!!%&'�#"3273  @w8  (  @K N   #+;T62"&47"'&'&476762264&"6264&"72#!"&546364'.'&"27>,,   D00D0  nO0+\+0+\+0,,H    0D00Dd  `\+0+\+00%#".?'&>32#"/&4?632s \\ q  \t$}{$$${$-8`f32'6123%>767676761232126'>'676767&4>767.&/7>'.767&'7~#c% /& 5  "- 7  /2   '%^ XJ4##0   B?")  99&    , -$! @z #'%53'3#5353353353353%53!53'53}}}}}}}}}}}}}IIHIIeIIIIIIIIeIIIIeII%7!67"'.5&736.'#>32>W\Nb'4Dz Gq$ zc@h4-6 ib69!.+ G4];64?A)GTeqz73#"&'5&547>3032&#"1"32767#$#5##"'&505463254'&#"'6365&#"32'0+#53212654'&+321%3#7'33jc*3 3(  9v  "  S'?  ''O4% 1!!   ;O    g   LX  A@x\ 9BLYbj%#0#'#"#'#"/"#"/"#"/""/&##"/&##"/&##"5057&'"#"5457&'#"'&54?4/&54?4/&54?4/&4?65'&54?65'&54?67'&5476;67'45432367'54326?6322?6322?6237632376327232072327267#"&'.5&+32+723232?6324&#"2&4&'#"2'35#&264&#"3254&+6=4;654/&54?.'#"/32&264&+"264&#"         O0-  %*)$   O5 , ;?#D(>+'               ##6  ## )  x  ( x   ($0 /    "%#"'"&4632&#"265313C7___D ,,=,X ,%'D___Z,=,,] 4 %!533=#5@}}}}?`.Q%#!"'&5467&54632>321"13%2+"5057>?27454'&#'&'&?632 U7'(O15S 'Q4J'32    '8 ( -9C3"`J4  1!67#&'!".'&546Y'/7V),2+++46%3 ,!6S?H "<$V4D%2#"/041742'054;20+"01+"5417'054;221+"541743nBoCCCmBm1#"/72?6="'&'56?657'&"%62 w! w!4   _E8WP _ D8WP 7%7'3'3+tvfgt 9uN%'&'.'&'.'.&'.>1'&76'.5&547> /3       *"3;X GBF c @A  L       &9=# !D>@%,!1:%2+5'2+5%2#!"&54634&#!"3!262+51:b:!00!!00!]%%%%}:bba0!!00!!0%%%%(b "EMU]emu}7"/#1"/&=4?622#"/&=43254323327676"&4622"&4"&4622"&4"&462"&46262"&42"&4tdKu  ee JJ   _ `   L   DV s:  +E  :: ++,   G  F 2  E ; +92"&47'&=7577.#"7'&?6>54/ƍƍj g -V07_I (!Y} ƍ !4Z%#(3+#Y  h -6HL7#'#'3733732"&4254#"#"&5463253#'"3254#5##"&=332=33#%&-&#$;##;"?  "   "" &&luuttvv,#;$$;E'(''%>f('(fLF#AW%92#!"&54636767&#"&'&''3#"'32>54/(S5 "$- .79X)`  0!@#$:T-#2+537#54;5&#"#3#"&5463: E(+3??H/&=2.7H`32#!"&546335#6264&"54&#"#5#354632   gC  @!.!@C    u24j  h TYagnu{2#!"&5463>54&#"54&5&'&'0'43767.547&7662>&&364#"32&'&6'6&'6'&&6'&'6'"2=aEE]>2       +    S   `W7D]]D7W      ) @  /#"'327"&'327.=&547&546326767(ItFXI I:#5 $0/'q@=+.$ "( 5iW6/-):%  81: +>!% %537#54;5&#"#3.5462xY: E(+3??YxΑ\H/&=2.7H\gbjrz7#54366'72&2&5<54'>54&'6'&&".&'./"?'.5466'&'6'&6'&'6&!(Gi]K $   " A%  "   + L^, " 3gS? (%   %!(    0Sh ! D#"'6?32654&#"7>76'&54632#"&7>54&#".5462g&# 7IXALW=3.:-! GW'Α (; YA=RX>9 "+A9,2@ $ " g.~NgN+6?32654&#"74676'&54632#"&7>54'&#"&5463!2 7IWAKW=2-:-!  Y`p$; X@=QW>8 !+@8,1? #  7  `)52#!"&54632654'#3#"&46327&#"%5#5##335t+5^9%$');;`6,"%4%;R;R t%%#"&4632&#"3267#53##5#5353fRPppPK54.1FF126mn888778Sipp22GdG6C88888 $3#3&"&462#54.#"#33>32d]], , T]!]Z . "- +) , ,*#+))0!0HP6"&462#*.'&547&5472632>34&#""'&#";2>&2"&4##9 ) 76-*#1*/*&1"'@(" ,0+ "(//00/d##&$$&$;$  (7A0 .w#00#++V$&$$& {%#76&+###'!2a41$% `--=!'7#3/#3?#'# 56/cat44 0>&L1'73?!7!7!7@RtM PP_),,aR5R+>Q%#5"##5"#723>75."#57536353'262>54.2>54.#6MGB1 1 X  T 1 13<      ! R5,DCCD:4ONMO%(:T`      2!$#"'&'.'547>7>7327'& 'j,,*'  j,,*ǏDBZ+%  %CY+ RQ#70+"&?'&6;2%+"/>76;2F AE,A  [B \H) B| zL V 6H  12#!"&54632767'&+"3%6&+";26/\0 .1 /fB/B` U7 6W x w '7'7757'7LUTTUTTTUUTTTTTUTT~ %'?'7'?'#553!53# zw w4((')'.$T%((Pxx0g2"&4264&"6"&462"'.'&47676762><.'&'.*#*:3:>76`CC`CT>,,>,\C==C!!==C- #)(#  #)'#3C`CC`{,>,,>6=CB=76;232+766 5!*> / *(F T T#!  ., D B% s R  @ 72#!"&54636/&'&&=32=4+54+";3244, 1&*`( S4H 8+Z}&%"&#"#.'&54672326''&7>7?= : ./ 1E.8@938 % &?&P26*'?F(n&( ( 7#53537#b"@@*$"&462"&462?654#"&#"'&#"!.0 1:AA:1 0?N@NS UU S"xIIx  j}%?"#ǜ#"#"54762"10'&'&#'.'&'&76'&5476767>7&767674.>32&63"6'&""60'&672676&367676'.'&#""6&/&'&6567656767636'6'&'"&#&'&''.'&'&76#%4'.'&'&'"1767>&72132767>2#"'&   %    +!  !    0       (   $ 29#%                 E    .3% "#"(#*%9   )  <    5$  2  # 1!.2 #) 3$      &   #  !,4:2"&4%6&'.>'7&>7&''7&'67&ΑΑ:# IKG'd3+$"7-> ^e$7b7 lnR.t3 =YM?EΑ* JR# 9C &(N1AR;267676&+"&=46;267C0  S  Y I  Z j  ! J l % !12#!"&54=46354&+";26754&+";26!!!! S  S  Q  Q !!!}(!  {  2"&4>&'&'.ΑΑk ! & " qΑQ    4`G0+".'&#"#"&'.54;2326=.546;227>?6;2!)";  ( /`$"-; = ]$ ;JD3   '   &! 84.[0  =` Wt<  &0>JT\6&&676&"&547676766.766&76&&6'.7>'&>&7&76  &3  ULH<,77.=RB:vX)?8-? ?-7BRXvR EZ\Q..QX R\ZO%&/#"43267.'>67".'665.674>2/>21-a9 0Q%/,&@*  !$4##& #*)  &&7&' >H;3 -'$, %  " $$6 *+( %2)%   7!+5#"&=!%5!'2!5463&W&dA&d&t'ZZ'-UUnUU((42#!"&54636'&6&'."6323276P2B! -A@`?N  *f  #!3TR)2>GS7"&46;462"&5"&4622+"&463462+'"&=4622"&=7"&46;2#^&/''/'/v3&/''/'/v'/v3&/''/'/v&/''/7AIQ.54'76&#'&33'76&#"#>32"#"#"'76546"&4624&"2>e6BeL "8 !/M #^7S=A#$:0A<ΑΆċg>-"4G [,48": 2/7:b($ ΑΑċċ%.546777'7&'57DWumS7EM:D%(E3# R85Q + 8$&:T!+3#7'362"&43#]^'j`80""0"|h]h3Z"0""0%#"&4632.32>7#53kggaEC YM7Z@#7jΑAA !M2A\#"V9GQ6"&5462$"&462"&'7264&#"'&&#"32654'>&6"'&7672"&46Α  $28 =2$ N67MUL C  ΑΑ N V (77(t Y  %5^%"'&76276'#"&5463272#"&5467#!"&5463!2"&'7264&#"'&&#"32654'>&RHW  [  `d '6; B6& T:;Sf1    ` U ] ! *<<* !%72"&42754&""&=#326=405#"&='26ΑΑ ",>,  :,,:  ",>,Α!  +*l -.,+kq.0 / /+,.%"&=726='54&"#"&=326=462B]B"4B/.BVC[C4F.BA.FG  H:  .AB.FE  -?@-$%3#!"'&'&'&'&5463!225#5#"3326 `  | `   ` !%)53#55#%3#535#75#53#535'35'3#3#R3RHRRRͅR4444L]]))]]))]]u3 #0@#"'56322#"'567#!"&5463!2264&#"#754&#"7532  G  `++-3+ 4 !DiD`/A/ 3:B. 39>B7'26322/>&67>77367>?&75.#&'<7465&#".'&'#"&54?.>3263263232654.547'6'632763'7>31#  37 6I  G#     ,g  ; #,  "  ?! ,     0  5/)    .%  E<     -      \ PK<  3  !%,    4. "   &"H3^ (:R#"&54>767676'&#"&/"6'763276&'&"6&#"#".#">2@ &pNNt& (   + $P&  V = "+#3(* 0M,E'RhmQ%D* #&  D 66*"$  11Ic46326&".'.7.67>>32'64&"#"&'&'7264/7'#"&5467&72767#!6*, d,3! V6"#-, Z#"9, d-[(b0' (7!#,,  Y d# *, d,2"6!_U #!8-- Zl!#, d,[ (0' (#!7,- X  @u 287+32'3254#254+%#53#32673#"&546323&#"AH5qO/5 :8U8!!>\7#!"&5463!235#4'654+32674&"327##"534-.+(?`NN+#>Z]'$?(' 2" "d47--`}) 0+ +* )/ #08@#"&'326'7654&"&'>32>&/6'&'6"&462264&"gU_&*T(87M7;bg   ( 3%%3%R'''ΑeO' +<8''66'V 7`   (v$4$$4&&5=E>&/6'&'2#!"&=326'7654&"&'5463"&462264&" &Y$'O%53I38u0""0#M%%N && ^q%(84%$33$Q 0"0""0$$.C2"&42654'&327672654'&#"327672654'&#"3276ΑΑ] `  |S  Md20  ?0$  R{B4  <5Α  9 2B  -  L 0 @3#0#57'#53?3@b[ , ]]V+ bc T ] T 5K #-9DN`u7#"5'743272#"5'7472#"5'742"5'?2#"5'7462#"5'762"5'?#"5/7547632#"'&5'?47622#"5'72+&=476326%2#"5'74'2#"5'742#"5'7o s ~!..! 7O.AEEA)iEEiDD`####9989 DBBDFDDFr@ :BCC8/ !.  I6<AACCCC+%#'.'367.54632&'654#"O* +%$ J ;+-%+7/(0  "L44\ ;K~Km5,>N12A)<: .:9 $(+/&=4?67'775'?'7'75 _MجM_7_MNNNdM_7   ;g?3ss3?5J%g?3444s3?5J%A!E{%##"'.'&676'&7606766&'&5.*&'&35236'#"'.'&67>76'.5676676.&76" <'#J$; '&/(1aT+ 0;A(&"# D+;'I!  ,!%B' $ "1D$&1."#C1)>1 ($X $>&('B<s L  !   &&H %  /, M"&7>721>?64/./76&/7>?>?>./65g<7     -,     (8h7"67527'676"&4624&"2'67'654'7&'"'7&'&'7&47'6767'6327' :a )= :b ); a:=)$ b:=)oΑ΅Ċc   4 @@ 4  4 @@ 490  .  2991 w90 /-  09 . 09 /ΑΑĊĊW2r1 CC,  ,CC,  , "*J\|7&5472#"&6%#!"&5463!23254#"#.32654&'654'7'"=#37'.541535#"545#23232e !!#  O`1$ @!$ 0  ! U 4He&$ r |`YD     XiK  = B&19LVv"'#"547&5467&54>4&'&'6'26&#"527>=4&'733'"&5432#"&=4&"#5>73;#067%)$ %:5f#)-( 453 T?%%!!$ &9= "#"   #&2 ,&    $##$d w! ###j%">)a!!77#.'#3@Q#  %P@6-/0"gg-'&67&632'2'&6654&#""'&>H 77 !;kEb{Q>jP9%>"  'M0_93!!sDbENeRC9P$9G# (VG-1%&/"'"'&67.5'"&6767&632 n##m   !QRQR!  7  7 0 Q^yx_Q 0 3(6AL"#"'7&54632&'"3264&264&#"'#"&46322654&#"32654&#"E` 1DNrQGq r   D6(F``FBc  r   Z@ ";7ME`N;5   0   =40 SuST!     E\2"&462"&46'&7<5"&#'&7&'&625463!254&#!"6366263$$3$3$$3% #G6"(& &("6H# gB)  *D&!0""0!!0""09 *f4! *  ) !4g+  #5##5'!#5#5!373&D'}oMatWDMYnnnng[[J@@!0?O7#"&'&547632&54?6#"#&7&6#"'7&?632%67232/&54+dl  1 J  +mi" Zk > !5; " h1    R o "' [   H7+"&7>3262"&7#*+"&76763:>7676o K; H$ *m $ y@  7?s O,Y BpW   (&'>&2#&'&6373#&&'&'&6;25 07h<m~r |JY AUM21c2$0=LvnM X¦nfjaJH@%)GR%#70>?#!"&5463!27#/&'#37#74'&56367&#"#"/26'#"3673!m X@+'@$("&$' <*4&+`jG  2  ! # @ 4BR^d -9F$"4!2#"462#72#"42011"1"1"1"1&1<143403030310030410+353#!"&5463!2327&67&#"64'4#"&#"5#3<>323<>3237#&#"327374&5427&"'63'=35#5##3734#"7'&7&5#3546467&7'7#&737&5#35467#&7373535#45&1&0#"0#111323210606107#'#537374&#"326 xu uJ Q9*#76#*9555Y - ( #   :    5"  *Q9*#67#*9Q1 Z`fsQ-,)))v%    %         %     % %  |~U:Q--Q @'3:BPhqu}%+53272#!"&54633533'654.*#35#535#535+37#&"264'&75&546"'654&'&5467&2654&+35#5!26%+532  :-r#$;%%^))! a  ,  $ l[3z *  `R!!#RTT7:%%  /      RRR i 6A-69@LM^ey|.F^juv#<.+#532254+2*##'#5377'#3#57254+'#3#3#53#54&+#532254+'#5#'#'##7353733':>7#!"&=3673353>7352335;6733535#&'#&'#"1#"5#.*+.'#.'#5463!2"#"5*5#."&*#&+.'#3673465273<52323267437"+73254&"&54;254&&54;#"6+5'#3##53'63023"'&47'3*;735353#'#'##"543'3#E '   !BC3)$$j?  '&&'77I  ' "#   5B 4)(+  (  g .(#  O  : SR 0 '&@$    !W  !   '&&'889 ""!L p  EZ E6  8  Ej  EP6666EBB//(Z        \    & n]    <  (  (  E^ 7BB11E44"# (E @ ,AXr7#"54632'2+743!2+7437#!"&5463!24+";2?46:3267#"&#"327;2?47454+"'&+"0;274+";2?>:1267#"&#"327;2?474+";27'2#"546  j   @"(T  %@  "(T  ,J   !  `f   @b\'&nf   @!h1  @!=MW[_n%2#462#"'5672#!"&54634.54325&#"#"'32675#53275&=5&'#3565#752654&#"'#757454&#"3275#"' $ n  J E#e $ =$$$n  $   5` "  "Lr 3! }U b}}! " ( 3$%! 1OT7#"&546323254.'&54632&#" #"&'.#"326?3>BD@% -)=  D<-^;+ zFE   )&& Q FCFM %#' <-'J#   Q60 ( /3)2 b2#!"&5463254.1&54327&#"2#"'. #"326?'#"&54632L  $:%+  &.    (+)'   +`3 /% . 0,*,    ";G2+#"&'#"&46;&546324'!"&463!.#"!2#!326%32+"&46h  5gL|C  5gL|  ^8Su*  ^8Su   gTDgTD`/9uS/9uk.%-6B~%#"&547&54632&54632>32654#"6'&"32654&>&'.#"723201&'"##"&732654&#"32'67&[!iVF_3 /%7 P!"/ ."=0 Y!r ( 1  .  C-A6 0&Xs\99#3%/^xeCQ\P:( '! ;A   ?$!)/ #%#!"&5463!2 #37+V `A__[p)`*[[ 3GJO\cfknrw%#"'#"'##"&547'&547'&54?4&14?&54632362363225#7575'#075175573'7'37'77&='&'#'#7#"7'"7'737'37#3'#362?#6?#747'74547'67& 7 4 kj 4 7 6 8 jj 8,,-,3483,.,rb@#  PSPY|D"uSb: 9 h3K x63)O<<$$kR#[ci\&\a |sZ#V.# _ Z  Y _ \ a  ` L30?\4Z`H!7&'677&'>7\\gq!!p$74(-CyU#"g \$a!rp!0>}B-k#V h":%:#&&#"6326"'&#"&#"+632632 &#"&#">32632 8/-:8C,0=*)$"75>))>57#"*>G@**@G>"/6>))>6/"!18//8#9Q+)))]##&& z+;K[%#!"&5467&54632>3254&+";26754&+";26754&+";26754&+";26)5I22I' 1#[:Ec   Y   Z   W   C+3HH3$< "28HcEo o       ' #'+/37;?CGMUtx|?7?7'777?#5##5##53#53#53#5##53#5#57#5#53"&462'6#"'32654&&543237&#"'#553%#5!'%!5!#5#57#553'53'#55353'#53#55#53'#5d,r" " "!"Q"=!" Q"$ "L66L5!   y a *zz " ! !Q"u"/"&      B    > g "" " 5L55L:    D""""M!!0jbbU;;!!+!! !!+!!x M"""" " "" !)2#!"&546;235463264&"264&"  >  j  7''7'7''7'  L  (( '7''7''7''7|U%#".#"327>32#"&5463232>.#"#"&54654&#"#"&547632632D26()!)'5*9 <+C;  S(@ZXA!<,,"'%.& % ! C2(&@>,* "R?@U",/,")) 2A ,O; >?2#"&'"'&54>7&547632>54&#"#"&546IkI2(       % & A50Pd P#"'7&546322656'&"77'.1&5476323217676}C\91v \\\Ln96mF+  )    ! _CZ\s3<\imLJ86lL5-D  ) 3#3#'#53'#53'3377#00DRgYYgRD00@Q^Q6p0 00 0p@(!!5#'#35'&753735'&75&7@tS;DW Z O Cv@V"&&s!7#/#3@N!. -#L@[ [^B#1BPcov%'''.567&667&674665"&'&7>762263&'&'45&'&67666667&6767&'6:>5>"23636#6666'6&'.6767&'"#276&67&54&&7&'6756"2654&#7>'"#276464'"#'7>7>7&7.#'&''''&'&'65.'&26'67&'&''&'5767#65&'&'&7&5&'6&3>.>6&5467"&7654'64676&%'.'&6'&'&6=3 3  !   (  !'% /T '     N 4  P  2 ?--?,(" 5#J*  $a 8 KQ/K*    1 2 $55+7 SE/98 7172 $B! <4  %  %0  %   ))  "   G   "G% "$         ! '(!$  !&' ("- --   # .&  $6  ( O 4*!     &O6R' "3%&     #   H  + 0$"&462"2"&42>..'&&&&Q';( '3 3&XQ:aB9 *e&&&&) #,8%'   ,) 0<LT\2"&4#;2=462;2=4&"54&+";26'+"=4;2+"=&54622"&4264&"}}}t  '.'  9P9       ΑΑ}}} !! (99  5    Α@ 9L\%531"#527#!"&5463!2##"'32>4&7.675&464&'>54&'+326& ((h v9  "  73!"651""1u{  #`   % !! 2 =  @ #12"&45>4&'72#!"&54632654&+"3ggg ((p(( OywQ[QprOpghh 9F8 8F9 x``qMTnmUNp)5A7&#"327#".54632&#"327#".54632'2#"&5462654&#"! !! , -.! !! + -.yidfjQzvUVuwX'"(%$X'!(%hkge=sXUvzQSx t 7'7'7'7'77''gg-4M-4Mggf-4L-4Lg 2"&47''77'7'7'7'ΑΑJM5MM #~~~JM5NN ΑKN5MM $~|~~KN5MM ?&0:%'&'.7617&'.7>26?6%462"&72654&"!9L 9L # L;  140 LlLLlLB&4&&4&rL # 9L M   6LL65LL5%%%%C6462"7#!"&5463!2264&".#"&/&?6/67>  `/D//D% % 0  0$  / # !!`SD//C0    /  0$ 0  +2#"&=46367>54&#"&'.#"2]]") "  *" ]] '  !  (  G#'&1.'.<53>7.'5676&#<5:3.#5'RJa 0 j <; -  <)&;@z  (!%780  r   B7.  {   .6FRZl~%7&2"&43237654'&#"'32?654'&#"&"2=32545'&#"264/&;24+654'&#"#32?654/&#"232454#"32754"27654/&#"32>4/&"'7%654/"#"32724+"3mGTΑΑq9S>  B `IC>  dttG GmΑS)  Q )  otGH '7'>32'&462"%'76&'7.547M#f7C:@!,J1F11F !%#"&'4&5&7>767>&67>"06764'&'.0#"0#9>3676;2023030021002210110010101g\ -%\*=     $` #a04     guYC9%,(9"b:1 #!)V$"      %"327#"#.546;2&&'>4&'>:=`* &=W5.F_cg^F-0G*76+GOJk~0K?dg?sb~bJ !)/8!673#"'.546767>667&73."7654&#"& /?DywJF ">59O5EQapI %1IY>R=C- DI$3 DN&# Q gFOUk+9',@ *)66J&27#"&546;%2+6''.'.676767&'- P: 4>7#  $6 /*A|0#>=g>  3E/;  73!I[l7&6765>32'&62654&6764'&#"#'&=4;2+3>.>#".&6.'&66'47'&63276#"'#"'&g  9((:O2 ,-*8'Z &&'77& %eU;%9HD<05;D%0C# 1oT  M`k   h ^%79(1;&&  / &m'&&  ("Q5*E' 1*  1&_?576#".'&62>76&7>'&'&>76  JI>. 9&?<,%3%T $T/0^37&@9J'$  *  &  (@ 8$ /',W)7  ))    &  %##3#im2uhV'#"'&'.#"'>76767676&6Y[?'   ( 4 "!]E&ArwI#-)0% L5-l !!%'7#@<@@@@\@{VVY*=L!!274&#"#3235'&74=37#4754>35'"454=#?'#'##77@ 3#'&,8 DSgPQ   @3 !%%oq% l  !)5CO%2#"&547.6326?6632#"&5'632654&#"6'&"'&272654&#" {XW{ 9O a XP9ky&1 ?YY? 0'( !}'inR@\#"'&547654'&#">320#"&'&767632.%#"'&'&76732767632  8 !.L/SYI{  Iy)/=*$$ )- c #%#5(fF$! :-) 6 0#2,#UoCoNA<:+ ##  1GAQ3:IO WW>H-;]7[[:b,aFQΑIAmnHW>>W?#/5; %''7'57#d%S}.*}TA`&::Yeq%2#54&"#54;2354;2354;235435&4663232632#"&#"2354;2354;23543%54+";2754+";2"*"$$%    %%$``   p<&   @@@@U$#"'&=#;54;2+"=#".+#"&46322>7>23>32#"&'#"!546Y  Y Y 'e&**&      6 Y 5$ <" Y ,6,*:* "-!< #6$+5326"&4624&+3532FFFȑΑ3$x2F$JΑΑH3J|4CR%#!"&5467>322654&'&7654&#"'&#"3$#"&764'&>#"&764'&>!*8'/B7*X6A`J4%?  ** %   "   3"'8C.+?3?X  4J)! );)x8  -l-  Ia(  H  87&54636'7&"76&%#/7327654'&7466*^I"<53%8C)G!G( 4RmR=#!@P_"*&3IP  H'%*# 6EL,IH'0A( #'76#".4>327''77%+*|3@-.C97D-,B3O}J]]J+VV+e66fi89XI^\I' 7''7'75#'7bVllV422gV ll VΝ2djd2 1#7627'&73%'#762i98f ^ 889Xڸ e &!)-%#"&'*##".67.>2%35#5&''35#7#77#7!=ZfZ=!**-e)&lm~8//8&TJ;##;JT-: "j:  $(+/36:#!"&5463!24+''#"3!2#5#5?##5#5?##5j% o==o jIIIT6vp@vcujjK22K%%J&&,u%%J&&,%%/2#'".'.&56'&'&'.VP5QF/"35#D $GI& %6 (,>=E10RG .A9l ,! g,c#"&54676327#!"&5463!24&'&#"'>54#"32321'&54>14&#"3267>7632   `@   D1;.)"3 ! + ,(0 3`"??O-(-<   "8$  DZ%#&#"#"&546327674"#"&54>32>32'654.#"3:>76#2 (5R6(. /   BI%R667   7  8Y1'6  *-GB-XA05f  P M(,?0E&'67"'.>32&#">54'654#"'6767&547>.%$ 33(&Y;! :N?1#1 m;Ob/&KB%  0**JMX CJ88*p^B  T:4M AUM' 79DR;$cI)+ !2 ?T2#!"&5463>''3654'5.'.5463267&#"2726&'>7 1%D '1$%8  c< ) .`H%3+U$"7 1./6( 0 $5 );F#.>   d2"&46'.'#&76763654'&"'6'.#0"1"#"'&03263277632327>76ΑΑ    .   ,'Α   < <  g%#"&#"''.#"#"'.5&'0547>7056'.'&7>327&47>3023232761<  ("*  D $   %( )D $7             I$*(I      l2#!"&54636'.'#&76763654'&"'6'.#0"1"#"'&03263277632327>76Z    .   ,'`   < <    )632654'67"&4632667&#"o $&3)/Ih- ;zzzV6/B\d%(IhJV6?#hIC2 =TVzzz7^hIRGMSYc?27777''''"'7&'7&'7&'7&547'67'67'67'6'7'7'5$"2654 - 2= @DC@ =2 -  -3= @DD@ =3 - ʼbbbۄD@ =3 - -3= AED@ =3 - -3> @DuuvvPmnn;bFEccEF-83#"3#"&=46%3 5>574&'&'37#6734'7[++) %65 C( 0! >2 1=t))5%%482i@E&( 3. GA1. S[my462"##"'"'"'#"&5#"'67&'7&'&54>3267>761>32632632$264&"47327654#"&4&"26574&"26574&"26574&"2657#"&5476326262632>74&#"32>6  &N    " $6 $G'  -   - 47)   1   1   2   MU2FZ%"    & 3)-")R-_  O-  7!25$" &(Dt!B6#  .9iH2>.VN*?$)".2"&426=4'#3#"&46327&#"%35#5##33ΑΑ5BuF) -- !"13II##$$$$ΑD5 +.@.! IfIj$##$#?2#!"&54635#"&#"54&"26=>32327#"&#"6303232 -+&   &++ +`    `  BFJNRVZcgos%#/#/##&1'&'&?&5'&?&/&?2327674?677'///7'75'??'? 7CTA&{Z"$#;Fe[ yjIP9@ F+: >NOU\_BX@)J3H,!6.CEN d ',# $&9a=/791=^:=D<>F=,DC/DJC("?$A1%#"'.546323267'654&#"327.#"'632(;%:tKxNOwJr588338   +!)= ">(dAUpoV_:$ :%?PNNPON>Rk#"'&'467632357>7>'0.76&/.67>/7#"'&547674'&547632aAC 4  ~]        # 4 CA `?[e@ $Aa1J% >(' 4 , #%98#/$#%J1b@$ @e[?2"&46&762?7ΑΑr   =s>Α ] Yh?.  2"&47#ΑΑ(UUΑε .6>%/&?6''&766'&7.7627&>"&4626&'.>;4'64/676&'&.'&7&'">374'&"417670.#636=4'&'6767-    N ! )! ΑO          2  '  /].('     $ 7  ΑΑ   %"   ; 3     !  5 n*%#X%&5>56'4.'57#.+"72>73#.'&#;2>7   h X C-Y   d1276a'88''88'*$  / $|%Q)% / 8''88''8IQ &  /)    HQ & /)  7&7>7>6&'&6W?_E**W?`E04P<;ZP<;ZW>VFe W=WFe ;XO;.6766&'&67'&6&6.''0&'&'.67&67>6.'&6'&'"'&#&'&'&767>7667>763266.6a  ?  1 m  - T   FE&#'f*3T ^(+      )  % ,P       L    :  <   w!K$ 2?#J2$ A5 @`  b    "k  F  0. K S O2#!"&54634&#!"3!262327#"&#"1"56323275#"&#""&=462>p  ` +--+ ++&   &`p`   `    )1A%&?'>.#"'6?'.?6176&"&46227.547  )*'1''#.L+3  D  :j-**'$ZJ3!(/ z $>-'<2#' V. = Q C**(#K05*'8.0Q%01#547>7>?&'.623632&7.#&$#&5&7067672?B.,]rvy 3 :: q z   ;9v *)"%txBy+ / LD6 J4@Wy2#!"&546367676'.6'<.'&67>4&*#"#"&63!22654*#".676766325'&'&7>0&".5&7676 ; ';1C# @=  73    2!  )- 4 %#  5E& |   '!"'   ZG 22!. ;32H-"&>#"&'>76MU,MU,!q=l&5V $7k4!bj4 ^ r4-F13!T!3DL2"&46'&'"?2#!"&546337632=4&+"767676/&"264&"J44J4)#### - T BiJJiJ 4J44J$C###J#U - JiJJi3F2"#"'&=#".5<>7>754.#"&'&'&76532a_@5X"0 D (V  LE (I?    & 7k      0NGT\`c%777'77?'7&7>721?6?77?7?''&76?6&2>77'/???>761?6'7?7''7#''767676'&76767?&'&#7'###"@ /  x  $!% '%A$$%%6 K :(  ;  ( 9 &  '  +"%  )&p "? qsvPSxx$&" (uoV\> & @< &(Mzfh?B)   +.N--+$'%' *(?BO@    &"7?K7>32#"&46;7'&>.?6732+&'.'&67&2"&44&#"326 W? 4BF5 2  ΑΑYZ~YZ~G   s$ " +  " V% ΑgZ~YZ~2G2#!"&54637&676&+76.'.#"3!264&+&'>/O>V A3  4+  3`!= #r   J$X! V)>J^j7254#"#47632#7##"&5462654&#"733>32#"&'##74&#"32673>32#"&'##74&#"326747632#32653#"'&7454&#"733632#454&#"#* & %, ''  Z& 'Q  :& 'Q  5 ! L & #& M ]' # '   L 0 _  %( Fl  O  %( Fl  #    3  .   DA.6%#'#7'#7&74767676&'&>67'?If.!$!e"E*;f!1+ 2I:rkrTWZ`QYOf!$!nG 5%"37)*= !.SN,2. I29 z5()%%57.#>2632&#"'>32'.@~6D[j[#<<#."4)MM)1166ȀG8*22*1110o ?II?DAT02#!"&7>37/>16./'7'67"91"91_ g E :4)s)))4)w qd 0= @ n.;d7#*&'#0#&7&6256&"#&47>323226765&#&/&5&1430367636763:'#/'"'&=47>'.'.5&632#.#&#"#"&'&63216766&&7>&7   &),(V 2 $!  !% 4  !! !  #  '$    3CY?~s I4&   "  e          "  #h&)?:T0   M#32#!"&546354&+"#5#353;26'+"&=46;2   @(@@@@ 9@(@..   #*('K#'(H=Pd"&4626'7'&'7'&/2130"''0&/377676'6".#727".'72Α=    %    #    "3 (9         'ΑΑ*-+,-  3H -,-- -6< Q6  )5O62'&"..7>7&67>'&6'"&=462746#"&=4632>NGI?>i`b UT   OR^ GE11E%"!%}CG=:e`  T  Q  ]1 H   G0++0G  !1! 2 s!)19+73272+72+732+7%2+72+72+7"&GD~!%FIFGFFF(FFyFFKYY1Y1Y61Y1Y61Y<^7>32"'.2"'.7>#"'&'&'&'&547>76 '&'.'&54'&'&'"76767> 9C) 04 I!V"2+ %v  X  .:G S$4E%"'.'.567>7>3%327654'&#">'.#"? #/ ";  - '48%( ,  -- .$  CB  TM %$3%-L^ #5  )22   #'+/37;?C3#75#73#75#73#75#3#75#73#75#73#75#3#75#73#75#73#xpxpxpxpxpxpxpxpppxppxpp(ppxppxpp(ppxppx#$.>.7>7>76.'6L)5!)58Gs8 K8/fYH+H5K;+35!*5!P~F@e$>]4m"C2. )u ;'/6"&4767&#"&546326&&2"&4264&">L  $'7L5-'UI^^^&X  8* 6N"q߃^^^M$"&462'""&54632654632L1E22E#".0G12"#)5##--?F11F1-#".."#5)#"21F1q(Vfs7#"&=46;;26=4#67>76#'&77>76/6.'&.1&677&'#"&=46;2'"=4;2#754;2+"+"&=46;21/  .*75/ 62 G2$q%;Q9, 7$>4R60    &>(D( ( }    p (  ,5 +Y1+9%">,%)&". #@/ 4C3    93$  ( ( (     T -LWo7+76;26'&++76;2";2#"&7>;#72+"&6;+";2?6+"&?%2#7632+"&576&++"&?3+"&?>;2+76;2?6+"   # %   ( 90 # : $   I B /5 !+  _ .( #4  "c#(!( @bJ (   !'#31/#?#7#{p651cb ost44>*6R#&+Α+&#R>T>*.y &767676.'&'&76'&'&0&'&0&&'&1.'241676727"#00'671327>7213"767676'&'4.501&'&'&76767632767617'"#7&'0'"'"#.76&'.'&'&'4'.'&7030236'45"37>'&'6%&'6&74&5&'&5&76767&'&'&'&7671676'&'6'&272637'67'676&'&67&'67&4>56'&'&"#>767&R "8       % ") )    ,H+#   )%     !0              "            2   '| ] )  ;%   $X-. -   V   15 +* !$  %          !             %        +5EU3#5'.546762654&"'3#5'.546762654&"%!"3!2654&'2#!"&5463~44-.@44 .-@D    &&&&8 &' :  &' :     &&&&CH767>54'&'37#73'##".5&#".7547;2254'326&  O 4" wZJ! [ !&R T&6 @$@& 3+7    # / )$J"'53'3#%#512>'.'&#4>1#53WJ>>Bj<3P -7]<`6[v@8S__"JJ=@v[6`<]7- Q2!""!>:-,z1 DD 1  ###1####1# 2+4546264&"7\\Z5KKjKR[KjKK5!K #53+32&+3250`ӽ__q ~Td  -159=%#535#5#5'#53#5'#"'.7!27&6?6%#53#53#5'#5^BBBBZBBW C)vn8 %+ BBB B;==;;H<<<'.#"&76767>357$4&"23676&/&'YH0!"!H)("M["/ 'sZ& #0 162R@]R/ !"*4 .>>XA76  bD!3$ 4=B !'/?G7>77&'6>7&7&504576&'67&&7#!"&5463!24&"2Z(C2!@ 9' KE$?#DI'-( 2'4/0`@^^^3$,K+%071 4(4 :".d %0 `^^^32+532654&+#rE> <_:V_dQk@F?[*P@&@a?@`7 !)>2&&#&676.2"&4&2"&4'3237.670>636"'&5"5&?"1"&6323&''&676767.'547>3>367.>>2'%6.67>4.'&"23267&'&7>9       N 5j!@   --H    b9 " $-  6*"( #' G  3  (# H    l    h         ]    (    . %    O .+   V . O #2#>%13#67'.5!456WANdE#-3 TQ `AWGDuOqS .%$/ k"/0ijY_*%##5#5354632#"3KdQQB7$ (Y]F.'&7667"&4632&760m5 %#01}~~~Z4/  M`5m #%%1U 19Y!4Hgow5'.54765&'.546765.547.=46723>54&'&765>54'&76"264264&"6s s b QiE9  4>N>  dd  >N>4  9EiQ b J15tt51  -1d |hUDr  g>Eo\        \pE=g  rCVh| e0-  ""%2#"&54632&"327572&+5DDg]\[A?&nNN74&%34v R\]B?'NpN$"q50*YJ'.7>327#!"&5463!245#"'.#"7670703'&'4+76,* ,"'!!!P!v(&4 <4. !#O!C7  5 *-*C!!P!!"(*$:<,    c.=732327676564/&'47>32753.'&"67>'.+  5'*2 7"N\ O;*= ,f%IE +D"(A"<-0 1'* #[Y% 7@+="EA1Q U.8@ %3!!'S6Q!SQ %'% &54'77E54'71"&5>54'#".5470>54/p   O,+!(!C  D    8* >105,9)6 CF-4,   * P~")JQ_ *67&'6?#>'&'.'&'4.77&"&576&''.77>2"'&'&637#"'&'&'&6?654&'&'.54746165>'&767674765&'.#'763263&67067>367632"22#66763267&#""67>76%2726767&'&#"&'&#667676;2&'67&76767>54/0&5&'&7676'&'&#"767&'&"'&'&#"45673&?67&'&'"276'&+"767#7>'12'"&/327"'&'&63=.%    n %.  ?     (/((/(        #         (    1   t     & T  &  ( =5  f>v  F< )   1     +         +       4   e %(--($#                    #1   + 30+..+-3     !  !     *+9 0@@<+*      7"&5/267#"527654&654#"0#"76746767476'&#"47>76'&#"#"7676'0#&327717670767464676767676767"./3276732767>54&#"'&7>7632'.7&54632?64'"=32%4%i         +-*    ttD0 =9 DF9P P    @      !  _P          1@<) 2#!"&54637#.'#3Q#  %P`6-/0"g!.'>72&#&'.=4676&#"#"&#"0+".5&54>16&#"#"&#""3262324'&'.46546;23262''')Nn$p$((&s)k  1Fe   :  :   eF1   + + $>&''&'&'&67>./ O: # & o"*>$! THN(_-.R&`J7-# AM%'#"&462675&5462#"'"'&46327&54264&" + '/?L6,#2 " 2e9))9(s+_ =  >I06L2 "2",8}(9))95EM2"&4654""7676547676762+"&=463264&"ede r  X /+<<++<<+)qqqpeee    q" 4<++<<++767>5&540'.7>767676763636~ .*  &  <(, 43&#7Jc  <  +SlDZj!&>HUk%!&'45.'&>767656.'&'&'.7>74&5&7>7676>367>7>72>5&626.5&6'6&'&'7676'&'.&6.'.'&'&7>36'&'&6'>7'"76'&'465.'30'&'&'".4173&'"7<5&#>7<5"'&'&7>7&#&'342;&76'4.'.'636>&&>7&721&'&7&726>7>.'.56'.'.#".7&6&7>7&'.'&'&36 Z .     %g# 4   k* " 6#-6,    FC     e "* )=    9 $S     #  `      $! %*! 8/V %   %!  -?   %(|0    "  ^4  F $'?^2    !%&  !)        ;  /           &  Z  )/ #   B   '   $(    ">[.7>3267"1326'6&'&>76767>320676zX/lȯ/6#q?FpG3C   7a3 57K/+&F-)  ! ."   3?6ȯ/lW8>     6>u".)KEP&/    6   " !4!!75##"'3262654&/.546327&#"#"'@* "-"c'   !)"  "@c'    " 0   +@2#!"&54635##"'3262654&/.546327&#"#"'* "-"c'   !)"  "`'    " 0   +-CZfst?73'&'2#"&546%016"'&7'676'%&767''&>%2#"'&'&'67&5462.7>3'654&'7@<1N/'1;C3$)z/  -? .'. r ?1N/'1;C3) ;H^uHQ J "":';B +#'17D5  02J*(} 1 ,;,&18D5 $'/76&'&`< ! 1( & , `.*L   ?:  @7>&/#"&54632SFK[>p( $''# )NGv 5ks6L**/%#.* RV\qw|"01*#0&1"1'&54745034625762203175450610610>1762001310%7?5'1&10&10'1&<15/?'575/?'75]a`P`axQQP".!/\/"u;P\T-."/)QQPXQ"/Ln5iooJ77.i77b.//\4C".511[K\[[V....[%6Rbv%+"/+"=4;254;2#2+"=432+"&=4;272+32+32+"=437#!"&5463!24&"7>76 !    R - .0""/0""/>_`N; X"G,*G,*GG< G9<     GW"/0""/06NN61J='u )C3'&5%3"&=4&3#'546323#%53'5767'&=325N , +<''<*%8M*#&(  -Mo+ '" M<+MM'+<.#MM(6 F   4q  ''7'7@@ ?__? @$\\%\$77$@19Aq7>3>32"".''&'&'*.7#"4;2#"4;27&767>54&"&'&'&'.5462v     (XX KhK  ^^  . A  @  ,1(3HH3(1,  ' /@[[@/ $4/5373#576=##576'H-m_'&'l33 2 6%%& >> +,P#"&54632>'&'&'66&'.2632+"+"=4+"=4;2=4;2rnSggS:&./ .7&"*  b1i((0((0gg);B^B/ ) 1-r+&U#* o0((0(( 3#73#3#73#!&=4&"&=4&&5,,*+$)+,,t$2"&454&"6754&"6324&"ΑΑ"!""/Α = %3"&'357#&5462#5'`l!qq!lhhK Α K@7AA7iiP')gg)'П6GYe%&'7&"&'>='6267&"6267.'&47>330#'236"'&'.4"'6?7**h+&$:FF:$' ,d, 0>>,,>VcU?,, #: 9$ $ 4&&J  -F%$G- -EEEg:T&&U;g(5({  ;g"/&7676?6=4/&6=4;2#"/&=4?67#"54;23254.'.54632+"'.#" >  /200,b#7)(,(V0).&<%jjj    k k  k!D@ @@  %%#53%!#5#5#35337#3537#3533533  @ @@@ @@ `` ```` =C%Dsw7537#54&"#546253+"&53;26'5#5462#54&#"32653"&%"#"&/73275&'&'&'&'45>32'&53%"&/767&'=>2'275&"5&"2'53#'#53h !4D10E6%&55L6'' '6&     ) F"   D"!)%%?41DD1&55&&55&&&&&b       qDD5       *  R  Z^)5DLT\dlt|64>'>7"&.'."'&5476324&"264&"264&"24&"264&"264&"24&"264&"264&"24&"264&"264&"27&'&"62X     # 9 BB (B^^B(XXX(>> O%    !( 2O5005OBB11BSStSStSStSSD' (  !-7?R"&463235#737'2#547#'35##5##5##54#"35'5'57'#353#"&7'326ggΕ`o)F9{DTE DEDD$   8Α ?.  471M|$0!! g V  ,8 4n%#"'67>454676765&5654&.3276'&#""'4>;>3735467;23232+!".='#"&'6) &.^O8 ,9  V b   &:/I^,5 (< [:4% HU    K    %#"&46323lLLllLLlZLllmm"4#"&'&546322>54&#"#".672654'6r/mKPn/?@B-$9%8U?WSn +?*mTX~9Qf(PttP(fQ9,A$5A G!)>F%#'#//75'73757372.67"'&'&476762564&"C       ,^88)8? 88Y~ZZ~Y !     E0_87*80?!87YZ~YY DKi7&'.'&'&"#67>3021'.'&70703'.'&167&'&'57601&'&76"45."&'&74"'50>767>0&'01&"'&167>76'0'27263231'&'.'&'6160&'&'61"Q  . K"#8)'4   R?(&$  D"%#   F 3* %=C"' "  ! " (  )!   $%\     h744D "//%  , &0     #     i        @&9%57>'&5676'54'&'.7>??;͗  e%'E= ^6L;/=  a  .PL I66  #8 U  <97*l #  /6#  1$)&'&67%6'76&7'&67'6/ ##i  atS jZP Q \-!1(7@= ">F%+3'&=46;26=32"264'"#"&7>;5#54676#&264&" k5656 k(((  (%+$k 38z  ?.)&&f )0  (1l7 ) f  /2#!"&5463&63265#"265265#"26=&6a'88''88'2 8   8''88''8   8 U2"&46#"#"3232#*#"&7676#*#"&767676&#*#"32327656323276ΑΑ | <  5  '   #.[A Α  F5 B?F+E&!@GQ[#"&=46;2'&#"#'#35>32#"&'365654'&'&'&#"32767&#>33264&#"3264&#"@5KK55KK  $  x S #"( 3\ K55KK55K Z F %%"'f  x   $'%'762#"/7/7676/&'&>&5( BgfE:0 ]$# 0"-{&9b6 'ff#P% " !)%0 @Sk>F??V$2"&4&2"&462"&47#"''&5476'&5476'&5476632264&""676?30Z)Rr$$LO 8 33 8 NM#%rR)`5+-L)..)$6' ;,5AA5,; '6X}XX>6*,8  2"&4'616/&"37#"ΑΑeJ " ZUTK pΑw( cc)x #'+/37;?'77'7'7'7'777'?'7'?'/7'77?^6JN."7Z %# 8 8<+!)#+.|G7-+3=5PCBY".',";##B1 " &  /  )@ H96`-2W B=A57'.546'0'.'&/?>54&'514"D66&/$:MO< ) &,$-5+?V& ,>҃s|5 7"';6[<4\@0* ( <7!>'#.'6X-~wx2M )ps^` 5EE"9m<Me>`L-T?- Q '#"&462264&".7'&>76767' - ^4 -5 - ]- .-^]/ / . 0 Z / // / ZK Z67&>&7&'&'"'3>56'.54>32@< w C !,z'/)7 / ("2  /8Bw < +)+&$ *! "& =%/&?6?6/&/&?67/&6/&?6, -]TD:4-\_92+ *"JR A,V$H\ 7'*.8"&462##"&/567>324&#"'.'3264&#"32$3##3XC/m1!.:aGB//$&%, -- (3##3$^CO!,&k'e/B4% && "?,,?-A%'"'<&'.'.01"'&7<"'&'&'&656&7>4645&>'"'.'&0#"'&'46'.'&54'&7>5&"5.6'.767>67>7>7>23>32307>302   "    +%   >59 ,     N      /   '*   $  $+-   , $*    !     2637??7'7''''/'7'?'8P C]8Y9}Rsf|1.+l &  ,ND& @'$J .3D6 {l&Jc&Tz8a %   Ea?MY`ls%#"'232654'%.54632&#73254.54632#54#"#"&'73"&=3255#532+53254+5#532+53254+54+532;2=3+"75#532#54+3#;2=3+"7#53##7373#5#'#e#$ e3.53.5e%" e<     v$"'    9'    9  %?4';1DJ5+#1,"10EJ]      M777H+HH+?=> ?   U/#?6'&'&67%6Dg2 f]"L0 i (2#!"&5463>'."354;2+"=#pGNhN^DD^| W84FF4D8 '575'7''7XeW"XVY@-uKK:55/7 #'+/39=AEIOSW]cko"'3'#4=3#&'7#&'7#57#57#5#5#57#5#5673'5353'53'3#&'!5353&'!'673'53#4=3v0ggbnfggggggggggggg ibgggggggg %ggg S t tVggg  F # E#EhE # % JMgs % R "y,Hk'.'&?6?>76367'432'&5676322'&'&#&56/&'&74>76$  4 5"     4     +D!& 7"    % "    } 7#&'&761'''''#'&'7&'7&'7&'7&'7&'7&545'767'67'67'67'67'67'6?27777774&"26"&462654'&5'654'&5654'&5&=#+&'#&'#.'1#.547&+'&54704&5232673275#327.#&,+- "%    $" -+3378:; 7; 16 (."  ".( 61 ;8 <:883JghhOYYY| )              > k  "  %$ '&&&&' #% "   ,' 84 A?GFHHFG?A 48 ',  !hhg~ZZ~Zy   Z p@$         !eB 5K>;2=462+""&5&54.+"&=462;2"'4.5&6327632 c  !"d  e"!  c $11  CC  a3   %     %   UUvv /Vao|#'"'.5'7#.767>;6&'.'*?>72>'"5&'"&636&'"&63&&54&#"432'.'&'&'./&6762?6!  "J%    ,0d$#4U  I,-)0) (D@  +(%*//E4:L ?       }\&     4&-,*m0Nm([)/)#OO #f 8!,4& ;C K"       22#!"&54636'&6'&'&6323276L2C!  % .B@f@N  *h8 />4VR`*U7"&/.>;2326?>;2#!"&/.>;2326?>;2#'2+"./&#"+"&?>3i7!$ $! 8h8!$ %! 78!% %! 8`pK K p pK K p pK K p BRa2#"/7'&546'&'&'&'.'&>76'.'&'"#"07>2#!"&54632654'&"7m'(N7$2     eB^0.]T#E'(56M 0 &7o        `]A@1.]A+%R/7''#/'7''7/5?'77'7?377264&"''#/'7''7/5?'77'7?3/3267;?3?'         /""/!/7'6'' * $%7&66'5%$ *  $/>,%:           B!/!!/2( #&4(66'2#&)'$4'4. :&+>/#  ?I2"&427&/7654'&54632&#"23767/"&63376>54'ΑΑE9k&$DC?P@W9c<  R0"%<  D3<ΑgAl$+  GJ6 #;6/_ f=92 %+)@Q%'&'.547>''&'&'&7>7>5476'&'67632%'476"&'".rG;14;3 Y6TZ!"  "N  `+# ?y2 1)W $ ! /_0RmU- 2G) D T<"Rx( @      7#7&546;#5#";W@`KU@R7&2X&gMT8;m.533p8R^4y@*<D5?G_i{'&76701#"&#"#'.7672326732+#73264&#"&54?54#"#>32#5#'26="#532?'3373u    nI$%*#6&  "r3$#5 "! 9 ##9$BM%& a  J ss@&BLcu+534?#"7#!"&5463!276'&5&7&'&#"&#3262327>4&+353274&#"363232737##'##"#3267.M  @  >     3t& f$77Z  `  W  ( .(/  cQQcl$+571#"&767672#&'&'&763276&'6"  _3U*'(%+}"  3>Acf5O===%.$>%===Q    =>==KL !B!!B BB B!!B!B  .   _,  ,_$$d$$G# ^     ##G$$*##F$$6,U7>76'&'&767654&'&'&'.707676'&7>7676'.zZfVR  %&-  X+C;0-@(7!5 cRrc v`Y! FE ')#+  FF "U  8b:;8 0  *-;:.IX[x };IQYpx&'&''.767&'.546767&'&67667>'676&'&&'&'67673276767&'&'&"67&'767&''6&'6767&1.67&'67&'&'76767#"'6'&'767>54&'&'2&"&462*47- ;!!?  +52*  @"!; !" 0 '   .   _ "!4%  #*'z"" 2 !#/ %/,#  }&&),+B  >* ,* *?  C-R'6    JF A aN3$ "!   d $1 0."   " ! ! && #'##73'#'%'7>MxNyT)A<  QQ 88 7I(L~%+5352654&5475&54654&+532#"'73254'&'&54632&#"23#"=#";#"&54654#5654&546;7#"'73254'&'&54632&#"'2#327#"&5&634#"e  j+""*!  +  K+"!*" #_##,-9 !  !  "  !*"  <"6 "  "  !  "  ;"  D+! # ,&%.B%72'47>&'&'&767&'&''&7676767&'&'5#"&?#"'.7671'.767>7.'&67676'.'&767>'.24767>2630>20127670476767>563206767632266'0"676'&2>65417654'.)1%#             <  ME,!9^Bw ;/%H -HW hK{:  ! ' $ r  "p[  EW, $    " (   % >%$&0.75"*)V Z"">B'+      V    :    "-& j3 2   3 37#'e[08ਨ6rrYY  ?'' 373&&& R0n\\Jbb$BB X( 0D7'##7'3'373537#5#53".46767624.'&"27>"&5475"4753#5##5353#5##535&/3#5##535'"475'"&5475'&5&5'43>?##7#'#077'373'k4>>>']>--)d          W   P  &  &  P   YAA ?>@@Y**c+<``ttt %   %D           )) Q((+yy%./#.='./&/'.?#+'&6?#'.5'"&'&'&'&4?67367672>?>7>;67>2?>0726?67>?6766>?4567>>?>7>3>?>6?67>'&%>'&6&/.>77>/&    :                0            X   :          "    "  6  $  - 5:/' -= ( %   1% m74 ,     ?#"&#"56323275#"&#"#01"&5463012>3232>   XXXJ    JX     @       p 7#3#3#3#5B22e332~BLLL L) 9A7573'7$"&546253#57'#'.454547>;654"2'+'.4547&'632&'54#"'&'#5.?>767>36'7&54"2&&)6:::Y  k  #A  ! : 2)@&  .`  x nnw      Z( ( T       6^ 1J&  '9( ( y #'#!3'3Y>>Y.CoqD-ttX <D=PWfqu3#267#"&=6&#5375#"'53254.54632&#"#327#"&5463234&#"'2#"'5362654&#"53""    ,&_,"!SW !(%"X. q$#,'  r,/&&? "* )g;$ $^  (  * +  ! ('#..3+%(( 2 {B ! v!#"'53254.54632&#"!090 l\QKTH7 090 iXLBDJ1%;(KO .#8%KV$ 327#".547>772#".546-E &R$Y; e8{% 1r"~i76'&'&5&3232=B ((TO+9%&)'QA   "  +!  ,  #       ##$   { !  :I )**  ( j         "  udZY   IH5@(8r870=476'"'&.7676232#%#!"&5463!2#0&#"376767674#0"1"45.'&'&#"#"6761323250=4'&'&'"&+"176760"1&'&'323254=01767656'&'*&1#01054&5&+"&'&'&'&'&230;21676767676&7&'&'&32376213676767674} " $    ' ~%           AH((926D # /$.   $#        `, Y 2eT <j  Y  T<   0    8%'7'8]]\2#!"&546337#53'#35####Qo>BvX`###G#Wttr2#!"&54635#35#75#75# l (xxxxx l  ((P((P((27%#!"&5463!24'&'.+";2767>5__`* Gr Gr66`; ,< , !!5!3535@fYZ@ YYZx 6bu~+"=4;2+"&=04.#"+"54;2632##"'&=463276/&'&76322'&"'2#"'+"=4>264&"&2"&4))`   ))$ $!5 &!+:.?@-!)# $$4$$" # { Q # "  -   i?[?Y+ %3%%3%i):av"264$2".466<.*#:>732"#73262#67>'.*##%64.*#:>732""#zVVVV  x!G   %   % %  x!G     X[z[[zk-M\M--M\Mm G e6,-  "`? G d6, ##"#"&462&'6&#"3762"&4: "#eˏ ^GB]]B%R::R:  ˏf3. Fk]]:R::R@ ,8DP\h+""'.+"&=46;2>354+";2=4+";2=4+";254+";2=4+";2=4+";2ZI>  >IZ$88$#((#.##.@@v@@&<Ngu%'&767>;0?'.7>'7>&'&766'&'"6766'&'&7672"67>/07'&76>?'&'67'&767Of9( )%)RM `+! 0%  w %  =eC !/0'G22+!  ).46EF$&S4( YK$ B    '7(2-"   G2 ##  <   -  Z   G1&7>01'&".54327>3270>7>" $ &', 5+:3'<#5 )bBU!1&A5f7 "2B  7  `  fX 1!"4( ,%##5#546;2'42"72#"&546"32654&;M ffEE#idfjVuwTQzvfxxf 9##"hkge-zQSxsXUv '@2#"&54632>7'#5"'774'&7">753&654'&idfV xS#>%! ]')""=j@_$" # 0-;;ikfe$Sw% )&&"  ]+''" 9V:< .0J2#"&5462>741'#327#"&'#53<5#53'7#7654&#"67632&#"3idfj!<%" [ 8 %-GA xCNvUl>Q&:" !Fikfe=#82 .50 #Sx<Uv]$ * 0   !%82#"&54627'##5#535'#53'7'7654&#"'3733idfjlDR@=@@: x7@evU=WQB(+B?&hkfe=c$$88' '8 Sx3-Uv9)$3V `t 2#"&546"32654&#5#5idfjVuwTQzv hkge-zQSxsXUv++P**!52"&4267&'327#".547'703654&#"632&ΑΑ8_$!.&'O3XwS4YJ!D. (0 Α:/`,, 4##0`L0Sw2*!4) '3:2#"&5462654&#"2+5254.+'2+#526&+idfjQzvUVuwFF56" ^2 "? hkge=sXUvzQSxl'Ol.  ,C) *1592#"&546"32654&".''574575#5'?'5idfjVuwTQzvM;:D @?;Cqq(%'Y-hkge-zQSxsXUvF@F>>f,.-/:5++ :2#"&546"32654&>32#".'332654.#"3'idfjVuwTQzv$#5 C>+'>4$ 211hkge-zQSxsXUv*++4P.$.(+",11 r2#"&546"32654&2742763276;#&/#"'4'#"'4'"5'#"'0&5'#"/+53767463274>276idfjVuwTQzvQ :3     4- hkge-zQSxsXUv5l< P@ a , \ LH W_ WT Y9 Lb E\Pb  ^r2#"&546"32654&3#&/"/"5'"/"/"/+53767627427627>7427624+54"#";2=idfjVuwTQzv;3 3+ Fhkge-zQSxsXUv,S @: HQ IF N+ I Z 9P CT ^-  E3 ]  08<2#"&546"32654&2+"&=#"&=4732354735##3idfjVuwTQzv6 ) 7lllhkge-zQSxsXUv6 6se (C '082#"&546"32654&2".4>"76'&3254idfjVuwTQzvr:* *:* G,6 %=  ,hkge-zQSxsXUv<+/6/++/6/+Yd .i Y?A9AL_d3#7'#&5#"&547#"'#6=3632672354#"#632'3264&"75"326%673#"&54632'.^"c$=) ('  &. C)!"C0 %7--/d)+!+*)*)$+"--6t B   P($ !!+m00  )!$*&&N_$2"&47'.7654'"1'&7'&'54>767'.?4763226?6'67'&3&545'7654/&#"32?32?322"&4  $  .<,.      (  7  R"# l    5:0'  &, !K< !"70$   )]  %`   t  0['26?'.45454>?62<.'&'.3547635476 A)fM& 316  ./KD D/ .  H2,  %-7 ..4    4r ??$ rE-@F%#'#5.5462532654&#"22>54.*#27&#EXCp(!%cf-E8   Ft`[     R9rK >> lGQrr_'A #1% #HBCN] <_i!!%5"'&'>54&#"'22#23235".4=372><1#3#"=463274.#""'5632@ <   $     d %@r!m.*     -E##Zh7'&'&7>'&'47>76327'&5<5&'&"#&=76767676'&76760'.>7276 3$# (f42,E%?  d(\N;  ,:m 4 Q!e"( !!%$ ,y. " s7%G. +'  1+1,i *4   *%c2"&4264&"2"&4264&"%'''"'7&'7&'7&'7&47'67'67'67'627777'ΑΑƍƍ|||J=7$  $6>JMRSNJ=7$  $7=J NSRΑƍ?|||'$7=JNSSNJ>7$  $6>JMRRMJ>6#  ' '?/?557`$##T))33d#$$T33),,+y--::"++,::- CIOU[ag"&462"264'&/'6373#'#5&''7&'#5367'76?#&'%#63&%3'6&'756_ΑΑ8-%.8.%-D  ;; RR ;;   ;; RR ;; """%.8--8.8ΑNr""+R ;;  ;; RR;;   ;; 4-8.%%.8p.%-88-%L""1Iqy3&=4'&'&">7#C26&'676&'676727""'&'.232.#"'.'"&'5>326="264&2"&46"2642327367632&#"'5.'"&'6  &      O      &) =!(&? :(!1  1!(: ?&(!=""7,  * *  xPPxy!')      )&@@L"" 3   ++ r%>7#./.>?.>?677'7'=57&'>&'>&'>4'   #,F**E-"         "????,      J ( &#+!''! '#I7. 5)# #D4/!60+ !<-'D$0 7...7 0 U *1P-1-713D# &'544Jy&76567<'45&'&54545&567>767>�'&5&'&7674'&'&'&676567>75'&'&/7<5/.54'&'"'&'&?'&'&'414767676367654'45&5&'&'&'&'&'&'&'&/5'7>32674&'&762763676?32?#"367>7676767674676761#"7&54'&54'&5476'.'4'4'&54'&43607&'.66'&'67&                I W D)! I&+%& #%@        8     '                  &-    %      9,:L8'', % % yWS<232210##"'"'"&#&#&'&'&'&'&'&'&'&'4&5&45&547<74656167>567676767672636212":372676767676767676767676'4&1&'&'&'&'&'*&#&67"#"'&'&'&'&5&'&'&7676767"'041465<5<5<5456767676767654'&'&'&'0&673676745<5<5<645<5<5<5<5121747676767636323676767>70'&'&'&'3"#"'&'.'&'676767'&'&'&'&'.'230323276366767676746567<5<545<54'&'&'&'&'"'47676767610#4&'<'"#*#"#"#41>12676345"'.#4):36702546721633230"""02220#*#"#1"14=46123#"'&'&'&'&'&'&'.50'&'67<7676%0#&'0�'&   ( +        5  +    +      (!  '/  u              f      "       &            t        '    2#  ,A    &   -<   #     2                      : $%                     & &,               ek66&67676327676765&'7>767677676'4&567654'&'&'&'5>6767`I\*,(!B. %$6!  # */1!- "0!(M;7< 3 93 -!"       '%!  -*6$#.($/<4-I#"%>,14^0 "*2'62777''''777&547'6"264&2"&4w [  [ wF;FF;Fw [[ wF;FF;gHIfIH44H4F;FF;Fw [[ wF;FF;Fw [ [ HgIIf%4H44H +5?IS[iq2"&4264&"%#3##5#'353#535##3353'7'7'7''7'7'7'7'7'7'7'7'&2"&4#535##3353'"353&2654'#3##5#'?'7'7'ΑΑŠŠTT0v%IS|S   x  켅BTƝ(u4T_Fp?}1TT@s,  ΑŠ¿#/.R\8P]        R !3R2RARAU}XM<3?8 XF   ''.'4.'6'777''4&467&7467>'.'.67'77'??'?67.67'''''776'7.'5'7'677&'67'677&'6'4&''&'47'67&'6       '' Y:k, !,l:Y '&   E (  ! ' ,  '   ((&""!# % % "!=2b']<&1xx1&<]'b2=!" % % #!""&((   n ,   >' L  '  J '?  Ce7"&46323.>?3:1>'.0#&7"#"&4632#"#7>.'.#"56&546212#"'&5./>7>5<13L  H-u$=,# [  '16 0   G+pH  >-$ [ (3N>-# \ )3}  F,wG   ?.$ [ '21  H,m  *28W%&'&76&"&#'476322'"#"'&6"&7662"&31&'46&'&#""&676%2.'"&'4547'&>017626'.'67>?&'&6'6720'&676'&'&'&'&'4'&'&#""#.#'"76767676.&'&7'53>2241&#"15674#"1675#K8   =   2 AONC)7FC ,?"  ,& > _#1 +Jq 9,'    H( ( " ((   G    &1 3'# GIB #   :"qT1 B2F a       -        '?'2"&45'5'5'757757"!!"EΑΑ;<<;!""!""B!! ΑW;X264&"j?Jhih-PnMMnNgggJO!#MmMMm!$"&462#.5467552654&'7"'6&&6SuoPmm32BQgg_Gdz7%"Ab@# "HI1Α@QJ 4!!  /+   ='=O?62"'764&""&46"'&4622?6"&4?622?62&4?62"'&"R:w))R)R:w))R)i:Rw(x_:Rw(p.5<EK6/.=467*#35326&'>&'*#3533'2+5'2+57"326&2"&  l u  * C !6** l  m m \f$$e# f""T!&!(!55#$$,P2#"'#"'.4&54632>32>654&#"#'&"#'&#"32?3327&1 C==C  3%- $ .8,- : -,A ! '( " ~/$ N=+F66E7"#  -# #s  %"uu"%?B8So0467>3>'.'.'&"+'67>27'#5<>7>7>7'&'&#'7'6767>  o B     B #)  S$ *+  SS# +,  < # =1 1> mm  S{ = > {| ? ? 2"&46&'&"&'.26ΑΑ  ARA   PfPΑΌ '33' 1?? @".4>226'&<74#"#"#6=276&"33:325&53",,#% P%&PS&&mm&&mb$VB%/i$$ta-0'2+"/+"54;276;20Cn33E6lΆ "2#!"&54635#'#3577#5##R$=>=>>>=\>==.MMxMMxlii #'#'#735737537#75'3#_lVb(m{WaCHU4N4POI 6SPߌHH@\?q?235';er5F=f5+Q BKU3#'#75#37'2#7''67#6;65#>1>3732#%'676''>+#"'&'236=#"&/35"'&'26?#0:62z1*aI Z=6@B 4  X3 ) z   l &) t,+<  ,^  !A" 1L3 !  '#(  ! :LI G d e4=2.'>?#535#5##3#3&#"3267#!"&5463&632#"z)d Xmm3nn\ Q.:-.0-MKa)))#-"K7?C)$ - 33/#/-$"6))4)! Ic!k#-Qg%'#"'&54&5&7461/2>36767'767'36&'&5476736'>6762#'&3&476726#&5�&'&#327"/67676'&7676'6=&'/7'7*#67654'&'&'&#"'#&?#7"ȼ363236767'"'5767"'"'&#"#7?7>4.5#&''.#'".'&'47&''&'367.'''2>7'2&/?&+57''#776.'&'.'77#6'.22077'327''7'3''76767/'#7#"#'67&7'&66'.67'&'&6327'52&#"#5#63'647674>7632.73230765654'&6?#&3'&'&547&'676 ]\BA( ! -5  #!     o     (        )/         (         8: $0 @8 '&  ,  )   / 6 ,       I,, !  +&+       7' F       (      \x<=Z-#   & -                  !*       $ &          <    ) ! K,   +/   0 H      v % 03    21        C     mp 1"76743765&54'&'3#6743627>7>46'4&#*#.'&3!#"#23#5232'0&'&32&27>767&'.'""'er) "s  7S0,   t  d   (  k IH      D-<@') < hW'H".2#&'"=4547>7'0.#0>162;2='"#"'&'&#"2*&543:65654'&"#&72012=432720;&'27215"5&'4327&'&'0.'#"#6272'&'4&'"013'&672=674#"#"'67625654#&54632'6:3"=.7>3201&'&6#"'>5454'"572725454'"4732#32"#*#*.'&*32%#&+"#&76'&'4#"#"#160+"72676742325454'"7032"#";276"'67236"54&#&#"7636'05&#&36762#"#"43656.'1"54'&7>56'.7620#"3>76"+"&3656'4'"43:'32#"#"4;265454'"#&63230#:3>7+"0'&1&541474+'3676&'&"&5653276&/"326&3645.' gi  aa  .  0  ()'#Zc4W &(*'+_    ! %$ +.e +g!  "   &$(  YeV  j    U{}~:<|t87 87O&   C  FGC=#'SAGJBJ7z  H1    ! "R  %&  )/('E n  q!: g  &3: $&e Z&"'Xp|$9GQXe%".5&&7'46?67632766''7&5&'46&'.<.523036'74'6'67&672>32>32&&&2#"'75'654%'4>2&16&#"&'6'3&74'&74.'&7276&5&633#65#6'&67"'6&261&>&'707&#&#'5063632*#75'35'32'22>=4.#":>5#54.*#3#75'3#362".626&"'#75'37'3'&'320637+676=40:>4."&3#.'#75'35'#6'254.*#&63&674'&':  $ '  !;//   *     89 e<QI4%+,2#J*,-*I!  #',')r        31NL! d    l    < M<9  B&&U '"O U,0 L '*i     #5>6+53%2#!"&546354&+32675#"735#535#57#'#r (n0/e? >5 &! & F hhGj } &&srr!CGK'36767&'&7>672&1&'&67.'.'1'&'6 37'7:  )"AJD!,  !& 5=*9   & &K|D!,   % 6   x1I\66'6%'#"&/4547'&54>6767667>.#0#"77''77''77'?( Wboo w QVRO9   X2$ s0mC=J!q: . >/ .18'8   ,-2$3   $! ,s,- -,~,'}%Wah'<V`~TY_v76&654&'&#6'76"10'4?#&'2#4'5654'&'654&#"#./>6'&7'7'>15.'675&'#&'56767.#5675".'565'#34>307&'.'&7"2#04&'5"267&'4.17676767#'4.56461##&563&'5#6376535"'&'474656'.#672<15&750765&7>7#7.767.7&#76&'&&561"&'2157>7202'3>17&6767&'&75."&7#76'&7627&'24767?.3'45'3654&5473.#&7'7'"'0#&7''''7''&'.?'>0327'7'067''&/67'7"'76%63''>'2#54.#"#&'56#"7>'&76567"& \9+aWYc.: 3o   I9E|,r6CIo*    8  7   &       +     1        &HL%CA"    ; _ (   !$ $*"  = %[UCB-K+m  AnI3,MsB<27  @  f  D(P G ,  sR      ) 1G9Si 2& G        -       P7 y   Y%  \ *    /B%=A=  + $ *   ;   !^+ XF D;7%+P  '/#b (& |2=; (P@( 7   ) % '73# 7 F!v'a_jk]A 0Lck Mh{-7?'373'7'373'2#"=432+"54"2545432+"=432+32+'+"5'#+"=4;2'54+327+"5'#+"?4;23'+"=#"=4;2+2+"=4;2+32+'2+"=4354"2'+"5'#+"=4;2'2=4+72+3+"=4354+323'7'3?#"&'&'>7'.7.5467&76326&'.&'>%16767632.#"6'&'67#"'32767>.'&'&'67&'.'&#"&'67&#&'6703273&'27327672767&'6753'32+"=4;22=433'7'37'7'?2+"=4;201#"1#;2#"1#73'7'3:a N   P    UJ .   `  --=8 "b2-( *6& 1A7 "a3+* +(I3 *+.X&%0-XT $ ( (   4:9:$$ $$ m  6 ( $ <; ; ;*265@?((4$ $ @   ! @ 300/[+HF ?@   N> $2[+GG >A  'Q;  ">@6'T ">@' ! +-- _442 2U?d 7!!"'%32#7;; )X=tGgf G 7+"&?>762+"'.>2  }b   ' 6;J*H3G  < Z#+37;CGKOW_573'7#'5#'73?5#'735%53#'%'#57'#'7'57#7'537'#5'53'357'#573"Lv -#78-  88ZL B8 P [Z ZZd- M!LNZZ L/-!mj87, z P!Z^Mllv88 -78- M -7- -N[[.N [[ LG- MdO Z[[- Mj l/ -77 * O [#F767>'&'./&"&'&'.?>>7076($533613373'3#73'3#7333#"&7;VRD#d)3 F>(>M[pu- N;ZIIM R:'(:8^ 75<  7 N55.7"1"&5064.'&>1250616232>1000#0&XVWAG HIgEESVY]w<~eNNf0z?}Z 48?KR^%#'#5##"&'#73&547##53#3>>32353#3733.26&#"5#535#535#737'#3'7#'#3J6@ "V# * @511m<7 32  8w> /&! 8878_18228(.-&(..&= " !%# M)L1+E 3,"(.99,"4233 #)/5;AHMS2+"&=64/'&6'&57'67'67'67'67'&5547'&/67'726&+"=46654&'&+"#";2#"&#36=367'67'67'67'67'67''6765']77#5"1$.'.4178+;@H "+  +>* !! .OB  $ 6#0$.(26)@ \ 8!6- $#$(6  8 -\@I , / =,8/!  >38$#$(5 * Ar(4?GO46;2+"'#"&547&47&#"32136;264&+"#"326=";53264&+8((8++8(%:('9++++B&&B %&&&'&B&&B B&&B`(88(34(8X(98(3h-%6%[6%%6%&5&'?A&5&&5&'/=E2#!"&54632=4"2=4"2=4"2=4"6."'&6754"2!!!!KKJC02:<!!!P!R-))0N2#!"&54634&32>27'#&5676.7#3547#36737676  & " D  !M ".- nr  4 5&($O$]  g$ %?&'&47677'IM&LLLJM&|LLL sBP%&'&76'&'&756'&'.676>'&6332>7262654&+"3q0%1+-1(''(1+,1)$  55)"55 "%%!{; 0,A@ -/";,- 20-VV-02(%%(mt|(4<HT`j%+"'&'.'&'.6?467&'&'&7&7&7&7&663666323626;6730764622>6626'6&>.677&'>7&'67"'67&'67'67'467'67*57&&7&461&7&7&5&&2656&'>7&'>&'&'&'&'&'0&'&#'''#&7676'&6&'.&>.26'4&&754&"266&'&67>&'&t %$$ %            0# +/:%.$ )=D(         $"$ D=)          7#1.+p  g  ! -%%.%.~&%(&O#1"#1"R  & #  %2$  $2%  #            # #&%'^/+ /* !#     l   "!     &$(%%  )$l*'  +. +  ~  -*. Y $)  '3%254'.'.#"#"&#"7#".54732654&VRB   $:Y7+54&"O>`>Oww()+3+CjffjCTwwT## %%}bis7&'367#".#.#"#.'&676&'&32>36#"&'47>'&'&'&767>6&'0#"72##"&463224"[& "0 74  1 . ;66 *&    $ 0!3  J$D33?I<.$&   Y  <      /4 E& -   0($#>04"/   #+7C2"&4$>.264&"7&47'>.767''7>?&'&'&6ΑΑ3 < +''+  %%.R+/2%.%%2/+RΑ?  2(^(2+  E$4//)a4$)0|%8CPh753"&=36'>.5!5&>'>'#7>54.46&'56'4.g!#!_J[ !,!2 f'\TY%1,*),1 $/!!  O; #7${gh (,   %+!()'"3#E_      %`2E%'&5>&#&'4>76;27236#>7%!!$7>&'.#.'&/ %:'Y447^E'%f"1DY QH 5  , ]#  NV%'&6?&/'&6?'.67&7.76767>30767"12676326"&462.#6'676&'&&'.7327676767>90  /         \ΑB     % /" g#     5!    '   ΑΑ / -  "1&   0J7676'&>'&'.#"767&'&63270#"'#"&767>32% #  U     j /&'., ))"Bd ;179971; j$&(K.%-$$x 2J %;38,);".C%I2P>>P2 %$EU =EMU%'"'&'&''&7'&'&767&'"6767&667667>'&'7&'7'&'676'&'47.#267&'&&'.67&'67>5#.&6&'&2&27&* {%' 44# &W%8 !4)+ ! l!% /  1$Dc;8   4A0!" "DA '. $$H +$&4%+H/&;2,  &.: >D $1* j +i  5)''   O_JO ::+'M.& (% 3'  9&6=%+532#!"&76'&'5676'&63!22654&'5>54&+72+5N3+2,%%    %%  H ',' bX754%G11';##;'11'<##<$  m'(O +9%"/&?622?62'"/&?622?62%&?62"'///CaaCCbbCC[[[['2+53!#54632#52#4&#4++%@>X+?,pPa+*@@%W>,?kPp+at~#*"#7&62326514&'0.'&&'&'&'467:62>7>5454>2#+"&772'.y  mO "      6    A  (H (<o 1 $ ,+. (    6wA&'Dr632#"&5"&5#"&5"&5#"&=4632327277 '.67672"3>572>&'."&#".''"15>7H iO1))1!#C $  ;<  $ C   #NN#      G,  8  8}f|{f") % % )"  /) ;^ &B^b7#6236+54626'&=4%''.'.67&>3263264'&562506350'&#"'&1327"11102>32&076=4.74+";257&#"32765'4##"53250<.254'&54323'06150'&#"#"'41"374+47632572'&#";"#"01376767325&#"32767&54+";2=476256750/#"432125656#&327617&#"032765'4##"53250<&2#e@ &6>A; #:  8"=%"/ 4#E8"     $  8  %"    P       6*   / 6 %% BT #$(#19:>2 1#  #?D  =    " O2 2   : 4 6   8 5'(  ` 77#"&46;2+";2+"&46;26&67326=4&+64'32#r);;)r);;) H+A v!..!;R;"(;R;"x3 x ./!!/z2"&4%>'4&*0.'&74676&676/&76#".76&"767>767656&'>36ΑΑ~    1        '! #*   Α #  *       !144  '7'$  #  #@FL_%#"&'*'#"1.7&'&632>7>32>76.#"#623632&46646&67>76"& >> >?% }IN|t 5 5P,@n  "<2 H [ $#.( 3@r-*1 2DY`6!.S>%M; * - !! !! )   (%,R'&6727632#"'"'.767"&'&63:%&5463237632#0#"'&5463033267*P_   _PT /WvO QM n&'   (!I    H!n     *&  +%"/&4?276&'576&'6&'762  2   / /23(     3 {$ % z.. 24) .9=A7+5327!4&'.5432;4&#"#"5#32674&+353267#7#3@   "~4!100*@ J/G 1=GOZgp%3#"&54632#.#"54&#"&5467>#">'32654>&''"67&3>.327.7367&'|`tt`|nVjune'$.54-IJ-45.$'Qhd$+$& ++*r)*" @&Y  vS[tt[SHMujgt1$'4/.4!4./4'$1L$%"&$D\%$##3$$#&D$&  9#29E2"&467.54632676&+%'#37377#7##"''2+?232+7褤X$- %.M&  % $rh5\- _.  <*,#&ݸ%%Z##ZTR' ,=x9c 0`9! &<FP373#'#'#%2+52>54&/+53:'30>5.#6654&#/*)- .-,#  0/    .4 <   vvMMPP '(   &  m  '2+5&2"&45#6264&"2654&+')+#/`ΑΑ  1=95Q,! Α  >*)?<k#"+"#"&'&'.54=454>7676767>7232;23276'&'656&'&'&'.''&'7367>2       F;: LS,V N?P+'BQA$      (7v"#N$/S<# @ c0 >#"N2"&464'4'&'&5&+11#"+"#"'&'&5476?514/"73>͑Α     =77=͑y )) )00V6$ n&7 ,  Ms' 4 :Q  H :2 L 4 XR . *! c :{ * Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularRegularRegularFont Awesome 5 Brands Regular-5.15.4Font Awesome 5 Brands Regular-5.15.4Font Awesome 5 Brands RegularFont Awesome 5 Brands Regular331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Brands-RegularFontAwesome5Brands-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegular      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~firefox-browserideal microblogpied-piper-squareunity dailymotioninstagram-squaremixershopifydeezer edge-legacy google-payrusttiktokunsplash cloudflareguildedhiveinnosoftinstalodoctopus-deployperbyte unchartedwatchman-monitoringwodutwitter-squarefacebook-squarelinkedin github-squaretwitterfacebookgithub pinterestpinterest-squaregoogle-plus-square google-plus-g linkedin-in github-altmaxcdnhtml5css3btcyoutubexing xing-squaredropboxstack-overflow instagramflickradn bitbuckettumblr tumblr-squarewindowsandroidlinuxdribbbleskype foursquaretrellogratipayvkweiborenren pagelinesstack-exchange vimeo-squareslack wordpressopenidyahoogooglereddit reddit-squarestumbleupon-circle stumbleupon deliciousdigg pied-piper-pppied-piper-altdrupaljoomlabehancebehance-squaresteam steam-squarespotify deviantart soundcloudvinecodepenjsfiddlerebelempire git-squaregit hacker-news tencent-weiboqqweixin slidesharetwitchyelppaypal google-walletcc-visa cc-mastercard cc-discovercc-amex cc-paypal cc-stripelastfm lastfm-squareioxhost angellist buyselladsconnectdevelopdashcubeforumbeeleanpubsellsy shirtsinbulk simplybuiltskyatlas pinterest-pwhatsappviacoinmedium y-combinator optin-monsteropencart expeditedsslcc-jcbcc-diners-clubcreative-commonsgg gg-circle odnoklassnikiodnoklassniki-square get-pocket wikipedia-wsafarichromefirefoxoperainternet-explorercontao500pxamazonhouzzvimeo-v black-tie fonticons reddit-alienedgecodiepiemodx fort-awesomeusb product-huntmixcloudscribd bluetooth bluetooth-bgitlab wpbeginnerwpformsenviraglideglide-gviadeo viadeo-squaresnapchatsnapchat-ghostsnapchat-square pied-piper first-orderyoast themeisle google-plus font-awesomelinodequorafree-code-camptelegrambandcampgravetsyimdbravelrysellcast superpowers wpexplorermeetupfont-awesome-altaccessible-iconaccusoftadversalaffiliatethemealgoliaamilia angrycreative app-store app-store-iosapper asymmetrikaudibleavianexaws bimobjectbitcoinbity blackberryblogger blogger-bburomobelexperte centercode cloudscale cloudsmith cloudversifycpanelcss3-alt cuttlefishd-and-d deploydogdeskpro digital-oceandiscord discoursedochubdocker draft2digitaldribbble-squaredyalog earlybirdserlang facebook-ffacebook-messenger firstdraft fonticons-fifort-awesome-altfreebsd gitkrakengofore goodreads goodreads-g google-drive google-playgripfiregruntgulphacker-news-square hire-a-helperhotjarhubspotitunes itunes-notejenkinsjogetjs js-squarekeycdn kickstarter kickstarter-klaravellinelyftmagentomedappsmedium-mmedrt microsoftmixmizunimoneronapsternode-jsnpmns8 nutritionixpage4palfedpatreon periscope phabricatorphoenix-framework playstationpushedpython red-riverwpressrreplyd resolving rocketchatrockrmsschlix searchengin servicestacksistrix slack-hashspeakap staylinked steam-symbol sticker-mule studiovinarisuppletelegram-planeuberuikit uniregistryuntappdussunnahvaadinvibervimeovnvwhatsapp-squarewhmcswordpress-simplexboxyandexyandex-international apple-pay cc-apple-payflynodeosireact autoprefixersassvuejsangularaviatoemberfont-awesome-flaggitterhoolistravastripestripe-stypo3 amazon-pay cc-amazon-payethereumkorvue elementoryoutube-square flipboardhipsphp quinscapereadmejavapied-piper-hatcreative-commons-bycreative-commons-nccreative-commons-nc-eucreative-commons-nc-jpcreative-commons-ndcreative-commons-pdcreative-commons-pd-altcreative-commons-remixcreative-commons-sacreative-commons-samplingcreative-commons-sampling-pluscreative-commons-sharecreative-commons-zeroebaykeybasemastodon r-project researchgate teamspeakfirst-order-altfulcrumgalactic-republicgalactic-senate jedi-order mandalorian old-republicphoenix-squadronsithtrade-federationwolf-pack-battalionhornbill mailchimpmegaportnimblrrevshopware squarespacethemecoweeblywixello hackerrankkagglemarkdownneoszhihualipay the-red-yetiacquisitions-incorporated critical-roled-and-d-beyonddevfantasy-flight-games penny-arcadewizards-of-the-coast think-peaks reacteurope artstation atlassiancanadian-maple-leafcentos confluencedhldiasporafedexfedorafigmaintercominvisionjiramendeley raspberry-piredhatsketch sourcetreesuseubuntuupsuspsyarnairbnb battle-net bootstrapbuffer chromecastevernoteitch-io salesforce speaker-decksymfonywazeyammergit-alt stackpath cotton-bureau buy-n-largemdborcidswiftumbraco f0~0~ PKZH,TT*plugins/pagelayer/fonts/font-awesome5.jsonnu[{"fas":{"text":"solid","pre":"fas","icons":["ad","address-book", "address-card", "adjust", "air-freshener", "align-center", "align-justify", "align-left", "align-right", "allergies", "ambulance", "american-sign-language-interpreting", "anchor", "angle-double-down", "angle-double-left", "angle-double-right", "angle-double-up", "angle-down", "angle-left", "angle-right", "angle-up", "angry", "ankh", "apple-alt", "archive", "archway", "arrow-alt-circle-down", "arrow-alt-circle-left", "arrow-alt-circle-right", "arrow-alt-circle-up", "arrow-circle-down", "arrow-circle-left", "arrow-circle-right", "arrow-circle-up", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "arrows-alt", "arrows-alt-h", "arrows-alt-v", "assistive-listening-systems", "asterisk", "at", "atlas", "atom", "audio-description", "award", "baby", "baby-carriage", "backspace", "backward", "bacon", "bacteria", "bacterium", "bahai", "balance-scale", "balance-scale-left", "balance-scale-right", "ban", "band-aid", "barcode", "bars", "baseball-ball", "basketball-ball", "bath", "battery-empty", "battery-full", "battery-half", "battery-quarter", "battery-three-quarters", "bed", "beer", "bell", "bell-slash", "bezier-curve", "bible", "bicycle", "biking", "binoculars", "biohazard", "birthday-cake", "blender", "blender-phone", "blind", "blog", "bold", "bolt", "bomb", "bone", "bong", "book", "book-dead", "book-medical", "book-open", "book-reader", "bookmark", "border-all", "border-none", "border-style", "bowling-ball", "box", "box-open", "box-tissue", "boxes", "braille", "brain", "bread-slice", "briefcase", "briefcase-medical", "broadcast-tower", "broom", "brush", "bug", "building", "bullhorn", "bullseye", "burn", "bus", "bus-alt", "business-time", "calculator", "calendar", "calendar-alt", "calendar-check", "calendar-day", "calendar-minus", "calendar-plus", "calendar-times", "calendar-week", "camera", "camera-retro", "campground", "candy-cane", "cannabis", "capsules", "car", "car-alt", "car-battery", "car-crash", "car-side", "caravan", "caret-down", "caret-left", "caret-right", "caret-square-down", "caret-square-left", "caret-square-right", "caret-square-up", "caret-up", "carrot", "cart-arrow-down", "cart-plus", "cash-register", "cat", "certificate", "chair", "chalkboard", "chalkboard-teacher", "charging-station", "chart-area", "chart-bar", "chart-line", "chart-pie", "check", "check-circle", "check-double", "check-square", "cheese", "chess", "chess-bishop", "chess-board", "chess-king", "chess-knight", "chess-pawn", "chess-queen", "chess-rook", "chevron-circle-down", "chevron-circle-left", "chevron-circle-right", "chevron-circle-up", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "child", "church", "circle", "circle-notch", "city", "clinic-medical", "clipboard", "clipboard-check", "clipboard-list", "clock", "clone", "closed-captioning", "cloud", "cloud-download-alt", "cloud-meatball", "cloud-moon", "cloud-moon-rain", "cloud-rain", "cloud-showers-heavy", "cloud-sun", "cloud-sun-rain", "cloud-upload-alt", "cocktail", "code", "code-branch", "coffee", "cog", "cogs", "coins", "columns", "comment", "comment-alt", "comment-dollar", "comment-dots", "comment-medical", "comment-slash", "comments", "comments-dollar", "compact-disc", "compass", "compress", "compress-alt", "compress-arrows-alt", "concierge-bell", "cookie", "cookie-bite", "copy", "copyright", "couch", "credit-card", "crop", "crop-alt", "cross", "crosshairs", "crow", "crown", "crutch", "cube", "cubes", "cut", "database", "deaf", "democrat", "desktop", "dharmachakra", "diagnoses", "dice", "dice-d20", "dice-d6", "dice-five", "dice-four", "dice-one", "dice-six", "dice-three", "dice-two", "digital-tachograph", "directions", "disease", "divide", "dizzy", "dna", "dog", "dollar-sign", "dolly", "dolly-flatbed", "donate", "door-closed", "door-open", "dot-circle", "dove", "download", "drafting-compass", "dragon", "draw-polygon", "drum", "drum-steelpan", "drumstick-bite", "dumbbell", "dumpster", "dumpster-fire", "dungeon", "edit", "egg", "eject", "ellipsis-h", "ellipsis-v", "envelope", "envelope-open", "envelope-open-text", "envelope-square", "equals", "eraser", "ethernet", "euro-sign", "exchange-alt", "exclamation", "exclamation-circle", "exclamation-triangle", "expand", "expand-alt", "expand-arrows-alt", "external-link-alt", "external-link-square-alt", "eye", "eye-dropper", "eye-slash", "fan", "fast-backward", "fast-forward", "faucet", "fax", "feather", "feather-alt", "female", "fighter-jet", "file", "file-alt", "file-archive", "file-audio", "file-code", "file-contract", "file-csv", "file-download", "file-excel", "file-export", "file-image", "file-import", "file-invoice", "file-invoice-dollar", "file-medical", "file-medical-alt", "file-pdf", "file-powerpoint", "file-prescription", "file-signature", "file-upload", "file-video", "file-word", "fill", "fill-drip", "film", "filter", "fingerprint", "fire", "fire-alt", "fire-extinguisher", "first-aid", "fish", "fist-raised", "flag", "flag-checkered", "flag-usa", "flask", "flushed", "folder", "folder-minus", "folder-open", "folder-plus", "font", "football-ball", "forward", "frog", "frown", "frown-open", "funnel-dollar", "futbol", "gamepad", "gas-pump", "gavel", "gem", "genderless", "ghost", "gift", "gifts", "glass-cheers", "glass-martini", "glass-martini-alt", "glass-whiskey", "glasses", "globe", "globe-africa", "globe-americas", "globe-asia", "globe-europe", "golf-ball", "gopuram", "graduation-cap", "greater-than", "greater-than-equal", "grimace", "grin", "grin-alt", "grin-beam", "grin-beam-sweat", "grin-hearts", "grin-squint", "grin-squint-tears", "grin-stars", "grin-tears", "grin-tongue", "grin-tongue-squint", "grin-tongue-wink", "grin-wink", "grip-horizontal", "grip-lines", "grip-lines-vertical", "grip-vertical", "guitar", "h-square", "hamburger", "hammer", "hamsa", "hand-holding", "hand-holding-heart", "hand-holding-medical", "hand-holding-usd", "hand-holding-water", "hand-lizard", "hand-middle-finger", "hand-paper", "hand-peace", "hand-point-down", "hand-point-left", "hand-point-right", "hand-point-up", "hand-pointer", "hand-rock", "hand-scissors", "hand-sparkles", "hand-spock", "hands", "hands-helping", "hands-wash", "handshake", "handshake-alt-slash", "handshake-slash", "hanukiah", "hard-hat", "hashtag", "hat-cowboy", "hat-cowboy-side", "hat-wizard", "hdd", "head-side-cough", "head-side-cough-slash", "head-side-mask", "head-side-virus", "heading", "headphones", "headphones-alt", "headset", "heart", "heart-broken", "heartbeat", "helicopter", "highlighter", "hiking", "hippo", "history", "hockey-puck", "holly-berry", "home", "horse", "horse-head", "hospital", "hospital-alt", "hospital-symbol", "hospital-user", "hot-tub", "hotdog", "hotel", "hourglass", "hourglass-end", "hourglass-half", "hourglass-start", "house-damage", "house-user", "hryvnia", "i-cursor", "ice-cream", "icicles", "icons", "id-badge", "id-card", "id-card-alt", "igloo", "image", "images", "inbox", "indent", "industry", "infinity", "info", "info-circle", "italic", "jedi", "joint", "journal-whills", "kaaba", "key", "keyboard", "khanda", "kiss", "kiss-beam", "kiss-wink-heart", "kiwi-bird", "landmark", "language", "laptop", "laptop-code", "laptop-house", "laptop-medical", "laugh", "laugh-beam", "laugh-squint", "laugh-wink", "layer-group", "leaf", "lemon", "less-than", "less-than-equal", "level-down-alt", "level-up-alt", "life-ring", "lightbulb", "link", "lira-sign", "list", "list-alt", "list-ol", "list-ul", "location-arrow", "lock", "lock-open", "long-arrow-alt-down", "long-arrow-alt-left", "long-arrow-alt-right", "long-arrow-alt-up", "low-vision", "luggage-cart", "lungs", "lungs-virus", "magic", "magnet", "mail-bulk", "male", "map", "map-marked", "map-marked-alt", "map-marker", "map-marker-alt", "map-pin", "map-signs", "marker", "mars", "mars-double", "mars-stroke", "mars-stroke-h", "mars-stroke-v", "mask", "medal", "medkit", "meh", "meh-blank", "meh-rolling-eyes", "memory", "menorah", "mercury", "meteor", "microchip", "microphone", "microphone-alt", "microphone-alt-slash", "microphone-slash", "microscope", "minus", "minus-circle", "minus-square", "mitten", "mobile", "mobile-alt", "money-bill", "money-bill-alt", "money-bill-wave", "money-bill-wave-alt", "money-check", "money-check-alt", "monument", "moon", "mortar-pestle", "mosque", "motorcycle", "mountain", "mouse", "mouse-pointer", "mug-hot", "music", "network-wired", "neuter", "newspaper", "not-equal", "notes-medical", "object-group", "object-ungroup", "oil-can", "om", "otter", "outdent", "pager", "paint-brush", "paint-roller", "palette", "pallet", "paper-plane", "paperclip", "parachute-box", "paragraph", "parking", "passport", "pastafarianism", "paste", "pause", "pause-circle", "paw", "peace", "pen", "pen-alt", "pen-fancy", "pen-nib", "pen-square", "pencil-alt", "pencil-ruler", "people-arrows", "people-carry", "pepper-hot", "percent", "percentage", "person-booth", "phone", "phone-alt", "phone-slash", "phone-square", "phone-square-alt", "phone-volume", "photo-video", "piggy-bank", "pills", "pizza-slice", "place-of-worship", "plane", "plane-arrival", "plane-departure", "plane-slash", "play", "play-circle", "plug", "plus", "plus-circle", "plus-square", "podcast", "poll", "poll-h", "poo", "poo-storm", "poop", "portrait", "pound-sign", "power-off", "pray", "praying-hands", "prescription", "prescription-bottle", "prescription-bottle-alt", "print", "procedures", "project-diagram", "pump-medical", "pump-soap", "puzzle-piece", "qrcode", "question", "question-circle", "quidditch", "quote-left", "quote-right", "quran", "radiation", "radiation-alt", "rainbow", "random", "receipt", "record-vinyl", "recycle", "redo", "redo-alt", "registered", "remove-format", "reply", "reply-all", "republican", "restroom", "retweet", "ribbon", "ring", "road", "robot", "rocket", "route", "rss", "rss-square", "ruble-sign", "ruler", "ruler-combined", "ruler-horizontal", "ruler-vertical", "running", "rupee-sign", "sad-cry", "sad-tear", "satellite", "satellite-dish", "save", "school", "screwdriver", "scroll", "sd-card", "search", "search-dollar", "search-location", "search-minus", "search-plus", "seedling", "server", "shapes", "share", "share-alt", "share-alt-square", "share-square", "shekel-sign", "shield-alt", "shield-virus", "ship", "shipping-fast", "shoe-prints", "shopping-bag", "shopping-basket", "shopping-cart", "shower", "shuttle-van", "sign", "sign-in-alt", "sign-language", "sign-out-alt", "signal", "signature", "sim-card", "sink", "sitemap", "skating", "skiing", "skiing-nordic", "skull", "skull-crossbones", "slash", "sleigh", "sliders-h", "smile", "smile-beam", "smile-wink", "smog", "smoking", "smoking-ban", "sms", "snowboarding", "snowflake", "snowman", "snowplow", "soap", "socks", "solar-panel", "sort", "sort-alpha-down", "sort-alpha-down-alt", "sort-alpha-up", "sort-alpha-up-alt", "sort-amount-down", "sort-amount-down-alt", "sort-amount-up", "sort-amount-up-alt", "sort-down", "sort-numeric-down", "sort-numeric-down-alt", "sort-numeric-up", "sort-numeric-up-alt", "sort-up", "spa", "space-shuttle", "spell-check", "spider", "spinner", "splotch", "spray-can", "square", "square-full", "square-root-alt", "stamp", "star", "star-and-crescent", "star-half", "star-half-alt", "star-of-david", "star-of-life", "step-backward", "step-forward", "stethoscope", "sticky-note", "stop", "stop-circle", "stopwatch", "stopwatch-20", "store", "store-alt", "store-alt-slash", "store-slash", "stream", "street-view", "strikethrough", "stroopwafel", "subscript", "subway", "suitcase", "suitcase-rolling", "sun", "superscript", "surprise", "swatchbook", "swimmer", "swimming-pool", "synagogue", "sync", "sync-alt", "syringe", "table", "table-tennis", "tablet", "tablet-alt", "tablets", "tachometer-alt", "tag", "tags", "tape", "tasks", "taxi", "teeth", "teeth-open", "temperature-high", "temperature-low", "tenge", "terminal", "text-height", "text-width", "th", "th-large", "th-list", "theater-masks", "thermometer", "thermometer-empty", "thermometer-full", "thermometer-half", "thermometer-quarter", "thermometer-three-quarters", "thumbs-down", "thumbs-up", "thumbtack", "ticket-alt", "times", "times-circle", "tint", "tint-slash", "tired", "toggle-off", "toggle-on", "toilet", "toilet-paper", "toilet-paper-slash", "toolbox", "tools", "tooth", "torah", "torii-gate", "tractor", "trademark", "traffic-light", "trailer", "train", "tram", "transgender", "transgender-alt", "trash", "trash-alt", "trash-restore", "trash-restore-alt", "tree", "trophy", "truck", "truck-loading", "truck-monster", "truck-moving", "truck-pickup", "tshirt", "tty", "tv", "umbrella", "umbrella-beach", "underline", "undo", "undo-alt", "universal-access", "university", "unlink", "unlock", "unlock-alt", "upload", "user", "user-alt", "user-alt-slash", "user-astronaut", "user-check", "user-circle", "user-clock", "user-cog", "user-edit", "user-friends", "user-graduate", "user-injured", "user-lock", "user-md", "user-minus", "user-ninja", "user-nurse", "user-plus", "user-secret", "user-shield", "user-slash", "user-tag", "user-tie", "user-times", "users", "users-cog", "users-slash", "utensil-spoon", "utensils", "vector-square", "venus", "venus-double", "venus-mars", "vest", "vest-patches", "vial", "vials", "video", "video-slash", "vihara", "virus", "virus-slash", "viruses", "voicemail", "volleyball-ball", "volume-down", "volume-mute", "volume-off", "volume-up", "vote-yea", "vr-cardboard", "walking", "wallet", "warehouse", "water", "wave-square", "weight", "weight-hanging", "wheelchair", "wifi", "wind", "window-close", "window-maximize", "window-minimize", "window-restore", "wine-bottle", "wine-glass", "wine-glass-alt", "won-sign", "wrench","x-ray","yen-sign","yin-yang"]},"far":{"text":"regular","pre":"far","icons":["address-book","address-card","angry","arrow-alt-circle-down","arrow-alt-circle-left","arrow-alt-circle-right","arrow-alt-circle-up","bell","bell-slash","bookmark","building","calendar","calendar-alt","calendar-check","calendar-minus","calendar-plus","calendar-times","caret-square-down","caret-square-left","caret-square-right","caret-square-up","chart-bar","check-circle","check-square","circle","clipboard","clock","clone","closed-captioning","comment","comment-alt","comment-dots","comments","compass","copy","copyright","credit-card","dizzy","dot-circle","edit","envelope","envelope-open","eye","eye-slash","file","file-alt","file-archive","file-audio","file-code","file-excel","file-image","file-pdf","file-powerpoint","file-video","file-word","flag","flushed","folder","folder-open","frown","frown-open","futbol","gem","grimace","grin","grin-alt","grin-beam","grin-beam-sweat","grin-hearts","grin-squint","grin-squint-tears","grin-stars","grin-tears","grin-tongue","grin-tongue-squint","grin-tongue-wink","grin-wink","hand-lizard","hand-paper","hand-peace","hand-point-down","hand-point-left","hand-point-right","hand-point-up","hand-pointer","hand-rock","hand-scissors","hand-spock","handshake","hdd","heart","hospital","hourglass","id-badge","id-card","image","images","keyboard","kiss","kiss-beam","kiss-wink-heart","laugh","laugh-beam","laugh-squint","laugh-wink","lemon","life-ring","lightbulb","list-alt","map","meh","meh-blank","meh-rolling-eyes","minus-square","money-bill-alt","moon","newspaper","object-group","object-ungroup","paper-plane","pause-circle","play-circle","plus-square","question-circle","registered","sad-cry","sad-tear","save","share-square","smile","smile-beam","smile-wink","snowflake","square","star","star-half","sticky-note","stop-circle","sun","surprise","thumbs-down","thumbs-up","times-circle","tired","trash-alt","user","user-circle","window-close","window-maximize","window-minimize","window-restore"]}, "fab":{"text":"brand","pre":"fab","icons":["500px", "accessible-icon", "accusoft", "acquisitions-incorporated", "adn", "adversal", "affiliatetheme", "airbnb", "algolia", "alipay", "amazon", "amazon-pay", "amilia", "android", "angellist", "angrycreative", "angular", "app-store", "app-store-ios", "apper", "apple", "apple-pay", "artstation", "asymmetrik", "atlassian", "audible", "autoprefixer", "avianex", "aviato", "aws", "bandcamp", "battle-net", "behance", "behance-square", "bimobject", "bitbucket", "bitcoin", "bity", "black-tie", "blackberry", "blogger", "blogger-b", "bluetooth", "bluetooth-b", "bootstrap", "btc", "buffer", "buromobelexperte", "buy-n-large", "buysellads", "canadian-maple-leaf", "cc-amazon-pay", "cc-amex", "cc-apple-pay", "cc-diners-club", "cc-discover", "cc-jcb", "cc-mastercard", "cc-paypal", "cc-stripe", "cc-visa", "centercode", "centos", "chrome", "chromecast", "cloudflare", "cloudscale", "cloudsmith", "cloudversify", "codepen", "codiepie", "confluence", "connectdevelop", "contao", "cotton-bureau", "cpanel", "creative-commons", "creative-commons-by", "creative-commons-nc", "creative-commons-nc-eu", "creative-commons-nc-jp", "creative-commons-nd", "creative-commons-pd", "creative-commons-pd-alt", "creative-commons-remix", "creative-commons-sa", "creative-commons-sampling", "creative-commons-sampling-plus", "creative-commons-share", "creative-commons-zero", "critical-role", "css3", "css3-alt", "cuttlefish", "d-and-d", "d-and-d-beyond", "dailymotion", "dashcube", "deezer", "delicious", "deploydog", "deskpro", "dev", "deviantart", "dhl", "diaspora", "digg", "digital-ocean", "discord", "discourse", "dochub", "docker", "draft2digital", "dribbble", "dribbble-square", "dropbox", "drupal", "dyalog", "earlybirds", "ebay", "edge", "edge-legacy", "elementor", "ello", "ember", "empire", "envira", "erlang", "ethereum", "etsy", "evernote", "expeditedssl", "facebook", "facebook-f", "facebook-messenger", "facebook-square", "fantasy-flight-games", "fedex", "fedora", "figma", "firefox", "firefox-browser", "first-order", "first-order-alt", "firstdraft", "flickr", "flipboard", "fly", "font-awesome", "font-awesome-alt", "font-awesome-flag", "fonticons", "fonticons-fi", "fort-awesome", "fort-awesome-alt", "forumbee", "foursquare", "free-code-camp", "freebsd", "fulcrum", "galactic-republic", "galactic-senate", "get-pocket", "gg", "gg-circle", "git", "git-alt", "git-square", "github", "github-alt", "github-square", "gitkraken", "gitlab", "gitter", "glide", "glide-g", "gofore", "goodreads", "goodreads-g", "google", "google-drive", "google-pay", "google-play", "google-plus", "google-plus-g", "google-plus-square", "google-wallet", "gratipay", "grav", "gripfire", "grunt", "guilded", "gulp", "hacker-news", "hacker-news-square", "hackerrank", "hips", "hire-a-helper", "hive", "hooli", "hornbill", "hotjar", "houzz", "html5", "hubspot", "ideal", "imdb", "innosoft", "instagram", "instagram-square", "instalod", "intercom", "internet-explorer", "invision", "ioxhost", "itch-io", "itunes", "itunes-note", "java", "jedi-order", "jenkins", "jira", "joget", "joomla", "js", "js-square", "jsfiddle", "kaggle", "keybase", "keycdn", "kickstarter", "kickstarter-k", "korvue", "laravel", "lastfm", "lastfm-square", "leanpub", "less", "line", "linkedin", "linkedin-in", "linode", "linux", "lyft", "magento", "mailchimp", "mandalorian", "markdown", "mastodon", "maxcdn", "mdb", "medapps", "medium", "medium-m", "medrt", "meetup", "megaport", "mendeley", "microblog", "microsoft", "mix", "mixcloud", "mixer", "mizuni", "modx", "monero", "napster", "neos", "nimblr", "node", "node-js", "npm", "ns8", "nutritionix", "octopus-deploy", "odnoklassniki", "odnoklassniki-square", "old-republic", "opencart", "openid", "opera", "optin-monster", "orcid", "osi", "page4", "pagelines", "palfed", "patreon", "paypal", "penny-arcade", "perbyte", "periscope", "phabricator", "phoenix-framework", "phoenix-squadron", "php", "pied-piper", "pied-piper-alt", "pied-piper-hat", "pied-piper-pp", "pied-piper-square", "pinterest", "pinterest-p", "pinterest-square", "playstation", "product-hunt", "pushed", "python", "qq", "quinscape", "quora", "r-project", "raspberry-pi", "ravelry", "react", "reacteurope", "readme", "rebel", "red-river", "reddit", "reddit-alien", "reddit-square", "redhat", "renren", "replyd", "researchgate", "resolving", "rev", "rocketchat", "rockrms", "rust", "safari", "salesforce", "sass", "schlix", "scribd", "searchengin", "sellcast", "sellsy", "servicestack", "shirtsinbulk", "shopify", "shopware", "simplybuilt", "sistrix", "sith", "sketch", "skyatlas", "skype", "slack", "slack-hash", "slideshare", "snapchat", "snapchat-ghost", "snapchat-square", "soundcloud", "sourcetree", "speakap", "speaker-deck", "spotify", "squarespace", "stack-exchange", "stack-overflow", "stackpath", "staylinked", "steam", "steam-square", "steam-symbol", "sticker-mule", "strava", "stripe", "stripe-s", "studiovinari", "stumbleupon", "stumbleupon-circle", "superpowers", "supple", "suse", "swift", "symfony", "teamspeak", "telegram", "telegram-plane", "tencent-weibo", "the-red-yeti", "themeco", "themeisle", "think-peaks", "tiktok", "trade-federation", "trello", "tumblr", "tumblr-square", "twitch", "twitter", "twitter-square", "typo3", "uber", "ubuntu", "uikit", "umbraco", "uncharted", "uniregistry", "unity", "unsplash", "untappd", "ups", "usb", "usps", "ussunnah", "vaadin", "viacoin", "viadeo", "viadeo-square", "viber", "vimeo", "vimeo-square", "vimeo-v", "vine", "vk", "vnv", "vuejs", "watchman-monitoring", "waze", "weebly", "weibo", "weixin", "whatsapp", "whatsapp-square", "whmcs", "wikipedia-w", "windows", "wix", "wizards-of-the-coast", "wodu", "wolf-pack-battalion", "wordpress", "wordpress-simple", "wpbeginner", "wpexplorer", "wpforms", "wpressr", "xbox", "xing", "xing-square", "y-combinator", "yahoo", "yammer", "yandex", "yandex-international", "yarn", "yelp", "yoast", "youtube", "youtube-square", "zhihu"]}}PKZi\%plugins/pagelayer/fonts/pagelayer.ttfnu[ 0OS/2`cmap:gasp glyf3V((0head"i+X6hhea zH$hmtx8Llocacc~(maxp 4( nameJ Hpost 3 @@@ v@6 =!$*JNRXZp 4BK\ejos| )9>DUs!AMq{ =$(,MQXZp 4BK\aios{ (6=DUs!AMq{TRE0# pmPDA<,iJ? 797979 ,A4&#"326534&#"326"3!5!2654&#!#"&'.'0&5461>32'#"'.'&'#"&'.5463267>763247>7632#"&'.'0&5461>32d    _3HH3T|3HH315 .',(         15 -'-'.K8M .K8MH4v4H||H44HZ)r - 82GRB$%L ;;u*u .[1>1 .! J y)r - 82G+ 3'3#'!#!!5f*T`.0`rVU%3#3732#!"'&547637ZPZ0""T""XX,Ԁ@"T"""#n%"&#"#"&547>=<'&"#!*6#"&#"#"&547>=4&'&5463232632&23!:764=4&'&5463232632&6#&L&&K&@~K (O($I% < E 'P'$I$ ?  @ &K&%J% BE  & 8  D  '  % 9!b '  % C  C %  &  C9% In0@%#!"&=463!25#!"&=463!25#!"&=463!25#!"&=463!2J%mnIIIIIIIIU*?7"&'.=47>767546762"'.=#:17'0">7 [?>J I H P5 U#700M CGU+MEEo&'H   =>P E,-48!U*>%.'&'.546762#"&'%&'.'&'&"1550225P H I J>?[  GD M007#iP>=     H'&oEFL+ !84-,En7!!3%!!265#!"&5463!2[\ [ I6&%66%&6I n I%66%&66@&M"'.'&547>7632#5267>7!"'.'&547>7632#5267>7 .))==))..))=##zRQ]@u- .))==))..))=##zRQ]@u- @=))..))==)). ]QRz##0. =))..))==)). ]QRz##0.  #/!!!!!!4632#"&4632#"&4632#"&K55KK55KK55KK55KK55KK55K@5KK55KK5KK55KK5KK55KK #'#!5!!## ࠀ@  @@@ V!%!2#!"'&54763%!#4763*,"",""TT"+V"""V"VV"!"3!2654&!!5KK55KK5K55KK55K/?OSW[_cgkosw{+"&=46;2+"&=46;2+"&=46;2+"&=46;275#'#37353#3#3#3#3#3#3#%3#'3#'3#3#73#%3#'3#``@````@``p0pp0pp0pp0@@@@@@@@@@@@@@@@```````p0pp0pp0pp0@@@@@@@@@@@@@@@!-48181!8181!5!"3!2654&##"&54632!537&&&&8((88((8@@@@&&&&(88((88 )-35#%!"!4&!!5!5463!2#!"3!2654&35#@@5KK &&`@   @@@K55K@&&  @@`+!";26573"3!2654&#'3;26=4&  @    @   `@  @`   @@ "!#535#535#53!!#535#535#53%@@@+U!"3!2654&##22##22#2##22##2'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&".!"27>54&"&54632#"2?0$((88((88x P0$($(d08((88((8 $(dUU#'7;KO#";26=4&#53%#";26=4&#53#";26=4&#53%#";26=4&#53$22$#22##22#$22$+$22$#22##22#$22$U2#$22$#2U2#$22$#22##22##2U2##22##2U"/<IVbn!";7!2654&#!"&5463!2"&54632#5"32654&#"&54632#5"32654&#"&54632'"32654&4LL4+5KK +$22$#22#$22$#22#$22$#22#L45KK5+4LU+2#$22$#22#$22$#22#$22$#2  $).38`oty3535#"35#35#335/./35#35#35#5#326?7>?'7>7>54&'.'";5#5#35#3'#1 @D+̀@ @@@@@@@@ G-% * !5S{ +E@ ` HI@ @ @ HG @@@@00 C )lW*1*  B"1I @HX @ @@ -13!265#3#3#3#3#54&+"#"!54&!#53&@&@@@@@@@@@&&@@@@PPPP?++G.#"3267>54&'535#546;5#"#3.'.5467>328OP888888PO88998<%S0UU <<(UU0T$,,+,,i?>i,,,,,79978OO898889OO8%*V; U+2V*%,h??h,,++,,i>>i, ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? k/?q!"3!26=4&!"3!26=4&!"3!26=4&!"3!26=4&%'&?>/.#"6?'.326?6& V V V V Z"99" !88! k * *  * *  * * * * BCCDB` @ !!!!!` ```@   r;am06?67>7>7>7>54&'.'.'&'.'&'&"'&'.'&'.7>7>7>676&#"67>54&'.#"654&#",++O$$7G \D.H3{EF76767>7676'.'&'&'.'&23237676767636272763:332727676767:2367676367:2367:236362367:562#""#"1'&32#"#"#&54""&54&1&'.&54"#&54&*54&&54&#"54"#&54"#&54&&54&#&54&&54&&54&&54&&54&#&54&*'4""&54&&5.#&54"*54&"5.#&""#"'&#&'&'*'*'*'&5&#&"#&"'&#"76761&"'&3232323076322362#&'&36236767:7:76767:32:3667623265466546:542365463>54632&'.16&'&""'.&54&#"&#"&'"&*'4&&54"#&54"#&54"#476&"&'.0&'.&'.54&1&72&#"&7<#"&5<54&5&4#.7465463245&63645&6326'46326'467>7265463267>265&62654665466546:546654636542365>65467263>27:762362362363623623623676762367632272122'.30'&76#32327632332"#0#"#"#"'"3#"#"01&76"7654#&'41&#&'*"#&#&"'&'&'"'&'&'*"#&"'&"#&'*'&"'"&'"&'.#"&'&"#&54"*54&&54&&54&&54"#&54&#&54&*54&"&54&*54"#&'."&54&*54"#&54&*54"#&54&"&54&&54"#&54"#&'."'.54&#"&74&#"&76&#"&54&"76&#"&76&67>67>365&6265467607>54'&"123623627:763607627:7:7:76762367636272763232670667>67>326726:762127>6762167>654236546267>2'&6326?67>142365>3674634'<6'<326'<326'46326'&6326'<726'&632654&'4&56&'&456&#"&74&#"&7<#"&7<#"474&#"&74&'"&5.&'4&"&'./&'.0'."&'.#.74"#&'.1&54&"&54&*54&#&54&*'4"#&54&*'.#"&'&"#""'*'&#&'&0'*76362227:767:725236'&"0767676323###"#"'&76'"'&'*'*"#&'&#*##'"&#"&'.&5&"#&54&&54&&'&"#&54&"&54&&74"#&54&&7<&'.&76"#&'4&#"&54205.#"&'&44'.&'4&'.7<#&76&07<#"474&#"&7<#"&76&#"&74&#"&764&76&#"&7<'.546326'&6326'<324'466'&66'&63245&6326'&626'&67>5466'&67>32654676267>36546365>36546:542365462654665466546:54665463654236546265>:54665466546:542:746265467263>3>362207>27>#07>#030&'.1"2'.7>#"H7"- ;12C!'&Q)*'.*+O$#!#( '45|DEFe   H     R  &7  T     \       %,  H  L   M 8 6  #b/]G;-"!K()+NML<<+ #!&&U..1(*)R''#;-.; v =  +    -          ' B #   8#. ](8Zj327>767>'4&'.'.'."'.7>%%'.1"14&/?/''5"6?>3071&/546100&/7>10 0 88  % 3) N, `5  I+ `X%4 A'!!4%X'$ +I>%] % 0  /0p....p0/ C NN Ck,?"::%H3zr,C/r+C$$Q !,r/C$z3H%z3H3 !!!5!"3!5!g3g+<<+g͙fg=*3*76764'&'.'&'&'&&'&'&'&676767>76763267>'.#"32676&'&'&"32654&'"#tC::]!!$$b<7>3623267>7>?'.'.'&#&""!7>7>?4&'.'&'.'&'.'&"2#"&'.'.57>7>;!5!75#!5!35#35#35#"1  6%9M_hB)G%7 #8+ D0It ! N""  5& .r: @\::v 3$&9 P  A 0.( 8) =0틏,Ym ""M!! R#8$ ;2# 'N(N(P(O'N'N ??%)-1!!!!##!5353!!!#!5!#!5!!!5!!!!b^^aB^?aBD`aa^`#<B>B_? f3!55!5'!!73ffMgg3A73#535.546323#>71'!#"'.'&/!2654"3/yE-:Z@@Z9-Gy/I"#))\225522\))#"I"/= foN2@ZZ@2Nofi =/I#' '#IU ).383#1!"&51!312651#%31!.589!!!5!!5!!53Z@4@Z3g3<ggggf?ZZ?gff gggff`-]3265467>7>)'.'.'.#"3265467>7>!2654&'.'&#&""! 67>7>54&'.'.'.#"'.7>'.7>'.7>#"&'.=!A     L<  ^|`     L  gggg`  QN    bׂ    ss ]   SSSS  xA   `   SSSS  xA   ` @ջM     BB>      -- ';?CGKOS463!21#1!"&515463!21#1!"&515463!21#1!"&515353353533535335<*4*<<**<<*4*<<**<<*4*<<**<fgfggfggfgf+<<+f*<<*f*<<*f+<<+f*<<*g*<<*gffffffffgggg 2'7>%''`B^@@1@ P<@8^B1@@ @P@8'1!"3!2654&!!!!!!4632#"&#"!54&`(88((88H@@@@8((88((8(8@88((88(@(8@@@@(88((888&@@&30Tw|2767>76764'.'&'.'&'.'.'&'.767>767>#535#3!574657#3#"&#'!!!0Q'+%%= S;1r@TNCCg"" %$Z459M M3//R##">55J=:;h,, "C--50izYX.2'F)*-%>*#.J0'2  ""gCCNT&C"3,+B +4$$+8BJ55> 6)(58B:55[#$>joq.\,>S"G''113126?137>5>7>?306?'7>7>5>?5'.50&'./7>50&/'.'.#./#"'&'.'&'&4767>763267>7>54&'.'.'.&'&65j,% &?=& L,5 2   2 5,L &>?& %,j 2  | Hd ;&%+:+%&; L0/3 M ! *:1"$= & =06((lP& L,5 2  5j,% %?>% %,j 2   3 5,L &><tK:+%&;;%&+:3++=P N.6 & =$"1en((76Q@ &-159=3!546;%!54&#!"!"&5463!2#?#"!5!5!5!5 %` 0%&`&v @  ``` % `  `&`&%@0  ` ` ` Wir'.'.#7267>?3267>54&'.'.#&'764/727>7>54&'.'.#*'.'&67>'.'&67>'.'&67>, $!6 " ;$$;  %<  2 ) +   .")9"' ")9"' ")9"' h!  m !  m   ;$$; m-m ;$$;T9!#+'4 9!#+'4 9!#+'4 @+3K%!575#"&546327.'.'.#!"3!2654&''#5#!"&546303:321;@8((88((8V-3') !//!!/% )   MNMN @@(88((883-/!!//!p )'6) % `  @ &-159=AEIMQ%!"&5463!2#3!546;%!54&#!"7#"35%3#7357!5%3#73535%3#7350%&`& %` v `` ``` ``` @&`&%@ % `  `  `@ `@ `@ @ %!!!@ @@ !!!%#35!#!35!@e@e@eee#t!(6Ym}2326767676'&'.!" !%327>'&'&/767>76'.'&'&32654&#"%6?'.!ÄXWiӄWXh4}D$N.-# ]#"+=8.$ TT\[< L#4B9"y09JOK#f#$uNMW]4 B'C5/91:  .-p33F 27RLHV- =/.k,,$3EID @`")-159=AE3#!"&5463!!"3!265#"&=;'35'35!5!5!5!5!5p% %&P   %  v`@` `%&&    %  ` ` ` ` ` @`")59=AEI3#!"&5463!!"3!265#"&=;'35335335!5%!5!5!5!5p% %&P   %  v `````%&&    % 0@ @ ` ` ` 8P6Mc326'4'.'&'.54&#"32654&'.+37#"!;#";/&3267>7>?#"  04We/  V8P#Gh~4Nj  %BbbJ,7M9QD$, Lm 7 7f  0 ` /"!L $3  V* !!!!!#53#53UV6ԯY(..\..\"7J]d18181463463!###!"&54631"3!265!"&5897"3!2651!"&51%!"3!265#"&=;'&&`%%% %%   @%@   @%   %  v %%%%%&&   &@  &@   % h7w;#"!54&+54&'.'.'467>7>=326=!#"&'.'.'.#"+7>7>7>54&'.'.=!367>7>7>76'. !,*/&7.   %!'21  2J !!%6. +8"$5 8 #*0 >& !+ Az@ /Q3; 59SpG. !R#H290("9gJ)!k-f*1'(!+7RwJ!#  . !2h) 15,&/X4JG)#$  ($2 !  `6[n>7.54632117'7'#"'.'&5467''7762#"&'"'&4?.546329>54&#"5#53#32654&+67>767326=#";54&#"&'.'&27>7654'.'&#"3527>7654'.'&#"32654&#"3%Z3B..B3Z%'D(-4dCCLLCCd4-(D'cd #$ %/!!/% ` O O<('-  -'(<O O<('-  -'(<F==[[==FF==[[==F821JJ128821JJ128  _". -.BB.- ."(D'1HLCCddCCLH1'D(dc $# G,!//!,> @  -'(<O O<('-  -'(<O O<('[==FF==[[==FF==[@J128821JJ128821J   v^W!Iaw32326767>7>''./%&"'&'.'&'&4767>7676267>54&'.'.#"#"#"&5463232676&6'.'&%7>32'.'&326?'.; KE88P t X  \\\\  \]^] OR#<$Z? !!"  )   ) %  c  & WWWW  WWWW 5Xp<9;  *e. 11-4 T   ye  l =i "!!%!5!!5!!!5!!5!!!5!l/\R99R99R\R>{>{=>{=={>={>~ *3#!5#53!!5!!5!!5!!"#"&#"1.=!@@@@TT@,@ZXMMt""T})R)RU) (I 33:;!#3!!#57375!@-k%%ے%$.ܮv%$%%$H Iw %9#5#3#37#4'&#!"3!276#!"'&54763!2%nےܒmI%m%%%w$nJJJ&&& @+12#5267>54&'.#"3 367>76!3]QRz####zRQ]G225522GG2&2 ''vLK##zRQ]]QRz##`522GG22552&_4QGFg@"a&?Uk%!7>?4&'.'.!"#"""#"&'.5467>327#"&'&67>32#"&'.5467>32# #&'.'.5!%326?5'.+3267>54&'.#"7375'"3?4&'.#"3267>5/"375#&3?4&'.#"%1645'7>52&/- ' ! ( krKL[   }       &wvvw Bd@@A=:@;T:UAM4XO>>OX4Q>;T`/;T4XO>211Z12^ 1R  " Hb 'B       uL  P ko%b-\`(?  A  B>  12:)a23c02 O9>'E W23:767>?&'.'.! ! &'&'&476767>323 #&'.'&#"3267>3267>3267>5467>76&&76&"'.#"&54&#"%3?54&'.#"5727>/.'&/&65623267>7>'.'.'.#"&'.#"&'.#"&'.##"&'.763267>'.'.'&6762%#"32;5467>;/.'&6326546676&'&|  rSRm  {r x^TT S  &    D      4HU&K''?$   "  =& '     $v  &)$    '%/     , 7 kllk PR ?lmfggf*      C )PvxS';{<9 !(68$   3 (+   4    )         &'?' @#!"3!2654&!!"&546327!!@(88((88x%%%%8((88(@(80 %%%%@!"3!2654&"&54632%!! (88((88  @8((88(@(8   `3b">7>3233267>7>54&'.'.#512#"&'5>54&'&'.'&547>763.'#"&'27>767>7>54&5&I"!9-0./&I"!9-00-9!"I&cXW%&&%WXc&&*)W,,-0D)!!. &%WXc2*MC H5744b-,''>6?TF@ %Z05..  %Z10Z% iGGPQGFj'Q1 "!M++.PGGi*E&B% ! K),^1-wDN. (D%'.>54'.'&#"326776&"'.'&547>7632'+1iFEPPEFiiFEPG2K5/.FF./55/.FF./Y2GPEFiiFEPPEFi1+'KF./55/.FF./55/.F !7')'7''77'7```````````37OS54&+"#3;26=!5534&+"!!;26=35#534&+"#3;26=!5!53@@@@@37OS326=4&+5##";33#26=4&+##";35'3#26=4&+5##";3'3#@@@@@"06!4&#"!"3!2654&%2#"&546!33!26=3'7%K55K  @ S%%%%  @::@5KK5  @ @%%%%`  `e:r:@ )%!!!!!!'#5#53#575#53#535#535#5@@@@2@<2@@@@@@ !!%!!!!%!!!!%!!UY]ae%#54&#!5326=4&+";!"#";26=4&+5!#";26=4&+5!#";26=4&#53#5353#53B..B܀.BB.@@$-4@LS[alw}"327>7654'.'&>73##>73!#53'5#'>7>7#>7#>73.'373#..'.'.'53'537.'3#7#.'%>7#>3.'.>73cXW%&&%WXccXW%&&%WX p p   & &   u  1  & P&   Qp @`& : {: &` )`& :y: &` &%WXccXW%&&%WXccXW%&A!!@@A!!@@!@ +)R+ )!@@!!A@ +)R+ )!@!A@!,M)#F)M,# ,M)#3)M,#3d"&'&'&476?>32"'&4?64'.#"#"&'&'&476?62326?64'&4762# ###Y11Y###X,X))33)) 1Y###X,X))33))+###Y1D$--^--$"%%"$--^--$W+X)t))t)+%"$--^--$W+X)t))t)+$--^--$"%7T'276764'&'&'&"012767871'01"'&'&'&476787162"'&47A(((s(!!"*+X**"g///;;{;;/A"**X**!""(r)((z ' EyA(r)(("**X+*"!!g/;;{;;///A""!**X**"(()r(z & EIU"327>767&'.'&#"&'.'>7>7327>7654&'1#"&54632TMM55$$55MMTTMM55$$55MM.KK.8CC8.KK.F./55/.F8((88((8T;;GG;;TT;;GG;;TM--M$&&$M--M,5/.FF./5,6(88((88(9Gf&".#"3267642.546>7>7.'%4&'327>767#"&'327>767.'('R+TMM55$X6 ` 1 z%8K.=(B'5/.F>E.KK.8C9M-`2TMM55$"c= T;;G>i((`(%z 1 (8-M,)K=F)F'F./EM--M$&MT;;GCq* %  %%'<<<<p*33A3`;$v@@3!26=4&#!"   @   5Q46;2+"&5!535#533"327>7654'.'&"'.'&547>7632  @@@j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLL P@@((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !S%81 81>76&/.81 81.'&81 817>781 816?>'.7  7 77 77 7  7  @ ' ` @ @@!!@ !! 7="327>7654'.'&"'.'&547>7632' j]^((((^]jj]^((((^]jVLLq !! qLLVVLLq !! qLLZZ((^]jj]^((((^]jj]^((`! qLLVVLLq !! qLLVVLLq !ZZ 26%##7"&5#"&546;2#";#";2654&3#@   @ 3    `      @e)"&#"3.54670!37#73267 DhFqSTmIH eJK<?AM; &7o}~ŏ# 7k @@!######5!@@(>54'.'&#!!27>7654&32+#32 F./55/.FDe*<<)f,>>"T/5/.FF./5FtFK55KK55K@#3#"'.'&533267>5!!W:;BB;:WI((I`<45NN54<`88 #3!53#5@@@@@@=##"&'.5332654&#!5!.'.5467>32#4&#"3250,q>>q,05rNNrrN,0550,q>>q,05rNNrrN;n+@A"5b$!$$!$b54LL44L@$b55b$!$$!$b54LL44L! 3#575#53#'# 373܈2@<2@n %3#575#53#'# 373܈22@<2@R 7!!!#!5!''7'77@ѷ">>>@@>>>!####"'.'&547>765/.FF./F./55/.F !!!!!!!!!!@@@@ !!!!!!!!!!%@@@@35#"#3337#546`.))= =)).`` #!"3!#53546;#"3#!2654&(88(qO&  (888((8@Oq&@@8(@(8 HSe%4&'.5463:3.#":3261607'.1&603261607>53267.567>7654&'"327>7654'.'&"'.'&547>76329('0 $3K2//R#" HT<IH& s7"@ u+##2j]^((((^]jj]^((((^]j]QRz####zRQ]]QRz####zRQ833W"##L)#1*(.4 ,'kn}':4   B(""T/041Z(M((^]jj]^((((^]jj]^((@##zRQ]]QRz####zRQ]]QRz## .7/7#"'%#"'&547'&547%632ll*1 1    y##qq   ** In(=Qez%+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2+"'&=476;2%mmnnnn$mmnnInnmmnnInnmmnn!MCh#"/#"'&=476;7632#"'&547676767654'&'&'&'&5476323#"'&5476767654'&'&'&5476323#"'&54767676767654'&'&'&'&'&547632     (      (11P  **  P11IHy  F'(('F  yHI  ,%%      &&+XJJ!  /.54//   "JJWnn4  4NMXWNN4  4nn I%n #048#5#5!#535#535#35#!#53#5#5##3353!!!IIIIےIJJIIIJI%%JJIIIInIIII%JnIInn!1A"&=463!2#!"&=463!2#!2#!"&=4632#!"&=463       F   @    L  L  L  L  @  @  @  @ 1C2#!"&=4632#!"&=463"&=463!2#1!!"&=463!2#1`   @      00     @  @  @  @  P  P  P  P /@"&=463!2#2#!"&=4632#!"&=4632#!"&=463!  @    F        @  @  @  @  L  L  L  L /?%2#!"&=4632#!"&=4632#!"&=4632#!"&=463`   @   @   @    @  @  @  @  @  @  @  @ I%$#"/#!"'&54763!27632 00DnD1001DD00   _D1001DD0110D^  In+?#"'&547632!57%!"3!27654'&##!"'&54763!2n .. .. I۷\$%m[%m%%%n. .- n\%II%%&InDIV7'33&?6#!"'&54763!2'&#!"3!276=4?6#5'7632CWB6 %10D%D1001D$ %&&&$ 7}45VCVB 7 lD1001DD01 &%&&H% 554Wnn$@54&+54&+"#";;26=32657#"'.'&547>7632II#"wPP[[PPw#""#wPP[[PPw"#II%[PPw#""#wPP[[PPw"##"wPP #(<@EI]735#35#'35#35#'35#35#35#35#'35#54'&+";27635#'35#;5#754'&+";2767#!"'&5476;5476;235476;232Iɷɥɷɥܷ۷$$۷ۥ$$I&$&&$&Iɷܤ[$%n,%6&&66&&68H/"&=463!2#"&=463!2#"&=463!2#  @   @   @   P  P  P  P  P  P  In)>Sg|%54'&+";2765=4'&+";276554'&+";276554'&+";276554'&+";27654'&+";276554'&+";27654'&+";276=4'&+";2767#!"'&54763!2%$$%%I&%%&mmnnmmnnnnmmnnnnnn&&m&&"]@ !2"'&63? ! @1 1"^F !"&762A " 1 1: '&4761 1 " F 746&51 1 " !%2#!32#!"&546;7!"&5463! (88(  (88(8((8``8((8@@ /.I%#"'&547632/&'&7676 #"/&54?'&54?632a Q$$u   b  n%I0+"&=46;2+"&=46;2+"&=46;2 n n % n n %!n n!m m m m m m 'J%4'&#!"3!276#!"'&54763!2'#54'&#!";#"'&54763!2nI%&&n%J\\%%n&nu%%n&[[I&m&&,@UY2#!"'&5476;5476;235476;23';276=4'&+";276=4'&+"!32++"'&=#"'&=476;5476;2nI&$&&$&I$$I$$%%%%6&&66&&66II%%% $J|#"&546323#"&54632#"&54632">?327>7654'.'&##"&'#"&'1&67>7&'.'&547>76312n++++++++++++YPPx##RJ2 ,N$!&YPPx####xPPY((^]j*8J! 9,$#3 ((^]jj]^((**++**++**++P56;@t*701P55<;65PLCBc2F DH I)(,KCCccCCK nn -03G#57#5#57!5%!54'&+''#"3!27657#7##!"'&54763!2&Axxjt~$<$$$IIIIIIIIIIbb<zVVV <$$$ +F%#!"&546332672#"&54632!3!265#!"&546;;26=32I++-C7 7C-XM67MM76M % I5&%66% n &5%11%CyyC)6LL65LL5 I%66%I&67 76&+2#!"&54632654&#"74&#!"3!26 (88(@(88(%%%% p   8((88(@(8@%%%%p  +2#!"&54632654&#"%4&#!"3!26 (88(@(88(`%%%%{ p   8((88(@(8@%%%%p  `_< ޠ[ޠ[V#V`"UU@`*VV3333W@#8vlI@ O@@@@7 e@%In"":I%n JJ @(`DPl |  x t l  4 hzr N | !"#&$$%%"%X& &&''(4)*\+t++,",~,.X001 12<2r23N334456>67@788*899,9:9N9::B:`:::;N;x;;;<&?@@d@AAvABBBCCEE EG؍ ;waN|_mF\I +p1.9X%Xex)^gc>\Q@Y8 `1 ȧN(; m0fC) %0nnõpL Wq[̫ΫCcOedIܾ3hUXօk5њ`36b~o0}fYc^d5IJoN9.W_3,"x Gu/ާz޻gz}Ν;[WWWmIj-,Y^dll f1 IL;<6% 6 ޟ|l_OB僄\O̕es]UJ _g8{ѧgBXk._<[Y)Ē>HrI,(AwehF5fT[3l7gqB*Q֢^A 7Nedx!JF54(ʂIK>S5"=5g傝<!xК8O7ӽ7|+s.&RKHcڳjHQ/a h8w;q׃=7w7*|n|O5c6|^u_o^WEB! 3am*%LBy.&‘#}: :/ufMrcb͏ߞA/jAL>J.c~LSKۏ۾xz[mPp7`{j{=Nf2b/eVή_irn԰ 96<NJd&/C*])%{|5] ZUXn|={+0vJw#A3HvJr^|*0$sD=wH3uW.^?^^Dy,}p9b f;T#T=ؒՙN2DHMce[59C|x]RHLlURX>(r-vNTEi*(DrqHW U^R@3UգptmeXJƕ=ȹ"f /:█+5Qϩ]Q֙4 sL,st^w4Ux2]wV |Up[WHg+# G8N+G]/(ֽdcת:n?y @?`^qGv+FF!d/|c4^D1J~K;h(Įa6_ ,9Q=+sӼS*kΗWްzKvoz8ggJdgkxV9ʍ$:Ľ{%~C3e##QP޳ D1ú_KxkD܀{h }L% ٦(<_HvҀ݉x0AH0Qft0V,xyVJ{X4Ypt/UuݱYV)3QňV3ՙb/׀ӴR? rBθ:YU ٫Ӿ dɐ=Y!?x,agV;.\x޳n8g6xLgCt<,3PK _49} El⒥~@;.?2^x1,"<Ϻ.KD *C#n^<1Q#^fv7a1ҞIVe~wf4LE$Č'`H K[meưptgJv$ԂaX4'/x1X*2.*(@DD~QApGRHLLL!E'Ar?" v |V²3"qyxۀOFmoQϿ"_-<4h4ϿG+@4"7&2!/SIQ?Q$q5~N"ʔb(D߾PH+y !Q2˓_uR"݊!oKJRW~ޗ 0-\2 u _,Ne'/i.^"fjZBȅd@Tja:jV2ዪg"tlYe,*ؼc>cbF][؆| zq3\ j/Oz1觺yxNZWZ:JԩR pǼ2M!ĿόH >_y^ig|-{&Q7]k?Np1~X)`2ݎJ<Q#2Vճ)G߱+EaE:)90LOJ- +1czn[ig5<>"(vgyloo9GjZM4SdUͨʠQc]G!H`|s094jv:85o.|Ymq#jf`=aѵ"S}>ekn;K6l#y &oX#gv_">[O|6) nO:̠F5PWv ^xXlN7zz! j+rZ{V劅\VUJE,rl֭l{>x;. ۣ1ωd1;nN{p6'&s-pX챍 &~?"Ը`oIJ1㘎ɮc`_)f)0mէڊ玎0~teb൫⪕]<:'7[i1 o /~)C!EbIozӼ}\OvWVޔowi.VÏpQvMf4a{)v#*߬K89? R ZmU @U?y ~wA9zOܖ-2>]cYN^spyY|LM@\^3PMn(<1E2Al$/ kJ"2lѠ<Ώ&$̋j,Ҿ۷\ %jTTi7Ev']AJsnZ;H #CAtl田Z1Tq.u$^?yr=>"*T%+#ReQ"%OY#T%/%S$g "sH"33K:KA@M\C ?D6nO#;` F&Fhw8zf^1UU1zXVd\/Rɇ1Azd0eATu}rJ O0*1g"UW?g(RD }.;Ϝx!agϟgD`sȗ?Qp{% r97P *Q}I4&hY@ctҰY-$X2:l eFgB&9/8o>)J0xuv;o}ɫd%gꎩZ3֒n(Z3xիDRt yuM1 n nHZB0x$O H (XS=vkUeXXo Tl0# ) q%Z< $ڃyDHߌ]He޾s#D5dx3 R?4 e`dHgaF_qt#&">mOW_ d[N?"cf߄統nۺtrqN%  j[:ZϫS˩iAc[ '%$C?20SFm'!Au4G8sN8!̥x% 3)lىfvfXMޤQ̔ڥLFH^oօfgxk; *U Aa[y']JkXDcfcIC'-2|o۳/\~q^7 mgg;t) FRUFABaR@nͧxb^ۗM;~.sK[;a}NOM]) id[ZkPPZsZcD`)-AYJR! Pil֘UПַm[GFԦz/Zl:Ă qj`HlV&:HUF,!Q~DMgK iȹmj\zxm|oug-lhpc83~auև_lĕQk2ހf4Y ,fQCVJ">KVkyQZ ($"rSf\*-g]J (p FOz4&Qn!/ϲw3T JݵXsa>V$apD#H'{d;4@BT0 .ÇC<|З1Θ`]_}ѮoyV;7 T$$+O~y彯pl=coƣVo5D才o'c-^0P|G|ZqA`L{C)#*~, ,/j '|$A1%2y°ӧm;w-߶Hۖ嗶XjuF0N^/'drYa.%Ɗ}+WYbkX^aZc0k_]Z/+,ͥGmVR؎~o|9_FJ&6gr))fG%U߶>ss,~3/c7>z߱/X a㓏Ɔ}6cuXW}_  wD&P;ǑXh%/AUب.eL%@W'KƌM`Pꡰ"ZSu]0zz@}8yU.l&CgpA=7(`yQ$H='I=iJaJ%i'.w:&%x.Iݒt,m<mE4ɽz(Aqf`Rl)VJf4([_ -Pԛi+>HYTOP(* c6~xxL3q?84/׾31n등>qNFGE&nI֭Y?p,1MTߺu~T^+UiMڃWafiݡϘ56 el9pR6cvZA+"HkSNqsiK )ue6}kbA%It$*L5Y/*olmw |d/΢@r֭TZg;x:vt@S׋M9Y +ʮeE@a!$'#(tj2DRbga96-+2f{!8peXn_(<|}#'sc|I00c4v-CaH\Ĉ~,@=,tg_˼iӘYŢZWsBOy,Z6Q节aerqӤo4Qe+Х2Y)YC* Z>cYJe˴Z.GQ9sNMI^__*ixw|Ç:VezE} *N[ qZ8FZƪ38YEjyUuES޺B]+UW&J7DN9ɱP͚CF7EԼ:8wr#Q  `!|/e܌wV'"vcXU~ N BB!ϸyL8u/A7α3Dn5BOZ%#D~w.$結s(2U 库x6mv|` nY̞BЗu%߼ J?ͷڋ _~/CӵTo_H1(7mr2Xv4 xL6ӟde<)}]q 08G~~̯쵍nhW[IeK9OPucE7M'岃Dqbbv#I,f<ӥs'.GڵZv-'oƇr B߻hoA2><ϟ~ʱ=0.AmojoZ֪{:[O[^cOoc|){|'nZ=mFq֊8!N q&V{'gjڂf%8bَdx ;,ڝB-<=mRUrI,٫kZ 5$f2x 1}9s7!R+ FqHl<G]ؠG#W.NM ĥ̩m@uih2#YӗM-8 8ɖDM/$6nt MSao*_alc˷-$媲L,.NT林 5uy{#2 NP-A82a&e! P)R̕c`UUjP(XVUyU,զJgTm<95'p?/ eK̒>̀${{'k'j=V`ʹ֮}k۵zZa;Ys/3| ~o\}ɓxaOf?ب/Yti&%R/-h^/f^}$o R"`4~''tdI$/t r W//lQv8f@4k7zd񌄸p[>},6.$"f M#f.P.EiS! Q E3ئk&`G "n 6I5D?|c]"QTd+9e9d3 <}`"4Kf8=V9I)@+2TNh"M@7#-xR6шڟq6cA:6xU0!m[^nEuPmˆ?@Qe4Gϛr ~>OUBJΜy"~ލe+)w"G \TI1PW)V1%ZD"KtAPm"bk"jy*nve ]:,va Hn ̏o;?6$ sgP5qOE%fWD*f{ޝk1+6i᝺Ŝz"kʎ:'~}'OuISk^&4t& {Dj{t7'̰Rw㓢ĤH|ZZmqd ڼ`"ꪩh~?{q K  P[hSX#!^mCe1[ᆤ5 y F6iĈgg!~p1z_2[ΜU4 :"Ƽ7F8ΔgAO7]e*EEA׀~%T U;^jռ,-q9n%H>2%c"\VO -ӎm7\4mS>&Q-~liF6$Rٴd%n^Jc-kԻ:'Fn{\~H-n%v͖!0Q?#IIQO?fȔ*Ӷu+iu^K*.f_ʿP$M+󦤐\GXdN-kN݆jm[L&Iea3XE,&,hӰG8XWHVkoL)'Ok7'3p's!'vX'*iԟֹiWrQPM٥iÂ$0Ij;xa2e"oe6nXxvG&!%.y|K$I|h{UտO==~7~é=_ܻw T$q]z\L,]uWweYLPmxvx mעF{w8$TR'& h`;A6%Hʉݛ  7Y qc\e1 T}AՂRԜcJ "ޤ ˜Ь2o3dO.Q&WX)YTEc|QʭYNrȊPdכW[p[ #qyV~rӑlLpLdZyJV^;`TqR6ʹ]uXw UqƑLE/ȗVK:&Ϡj@(Ƃck1 إ͆duxrrߠ/wG;w^ W7qu51^e61dFus\vH %:.Hxpo .6YeF_Lx@-ΪҕZQ0Qm]v[mԐqz(ɺoԔ[oҊ]J'NŐ_ofŚŨ %b$k5TV4oSd%q.|_.%Ra^a&A'Y4I'xSM8Y /-r(hraWn 7]].k)(P'YPUR:kXLxEf6AH]=u 5 A{C~ pDdfT|*m -HW?\.s|A3})'Y)R}dȭ۲n)/Nݩ_Φ\ ^v{A9/> 7v#_KF뼑gI";o ^1 )# ق@]Td< EP/YJ15l./׫Yϳ<)"o8?½,Y ,"1_ԣȈ$2O W;ͩ'ѐL4!D[o%C\t*+,3hRDz"[hɉUwH6^ ў. ;S\O \jź^TcJ5,uOA S~% E XȾR$$8`fEƑވjMsX&/HDi*|2H*j"%P/#8䱂*/xj"T2TWVyb!I߆@dmT*aŴ xUTV-[D6x}L!WLelSݭ/M c3n/:KLwEκ[%+rꍺio`,f}Y'@(FBL(tʟpՓ d |P]zG$͚ J(qNR %;sr]]wxkR7>dK|_icZ/\*: D 'dow,iyb._iƙxkVJ5MyRSX7 Rd,j:uFJb0DlkPRX6l `vkA#6EȥO/Vsutt|!1! ܱ fm*~AMضcՂTϘr%MFt'{q:elO0ueՑx'%+|9sIY9\RDh),EQPpa7OAlryR拍I^G+ iH%˂us}*8[Ɉ\P`("ԕzu|森Sk-=I4n<7y hSN] ?\{-qH>x%w5w{r;sOsރr7s>}= 6wۆ}mPx6gq?m)~AJ}8@v9lS<}t88x"!b Qjԋ#䉗ۋe$._((`B¸RϤ1=P$*H4&*!([ؒm/ld4Lu;EZSpw@wp߱z힃g<“s-w^% zW/./Jݭ''w' }R5 =:':" 9uVy&6n&rG5Ow!WemO=:*|7!xťW "t=,;sSs{C>tt<ݓG(,$Ġ, dm#DL?d 6l}sת}zg{w_9;ڹjտV /޾'.T.h !2<@|iN,H XxQ2uk[[Jwߒ;2Q<@.X:}уB%o ^nV4/ܰ)bAR *a8"p+Ln٩Y^n3;Xf,ЙɻLJTU(-ԙ< D'1gy]Hܝx9H%O< r ޙxO'>3 ws ^كx#b 5Fװca4s+9R攜땘 ) ;43py0\/G,N^(Lm)*(ϗ>R^}^;Pjgv{N撥xYʥ9ߣ˵_sK{IMN ϖKwFr]5U^5Ԍ,oVM%e jy/_vz7 druӱMIarR4W ?>LNm@4^*=ib wkڞr(1xP㸮)Ka1KkӈuaaxS<>v8sh5̹-PAt,8471QnԦRYRDUNDPH/#;aerzL,,LJΖ..07:4I$&ma!29EV`bfii\إ#u8 d;̝ mɰwF漫3^)zs#E _Fhuts #o$CrM%Z+6m#]o祊Vݰw. rfD|^1iZ*rĮD(<+.`+eiq\6oCͶ*袋vrSKoQ 'q)%=8SeN:&?t3@n9q흹X+3w&.~@@vtSA-SbP16yD;ǀp!J"`_te_/rj:s #r1(@BLy$[EnaN̥K1p9EA.+#t?%Pa kwEJ "ݕCQv=tDm >VװP38 zb*^"@)L6~GY}e9c|v=}:0OEy$mMr(; "Gۦ<1 5x`hU=!eՏg6kE&YԚj~C&YcF7uM% 2b1 zR$ IP#"]6ySde?a!"xDZ/hQ sPJ`rT)h"x,rҿ*$9G6@4xGhDܪ=P \|#IyeDp9̺ʒwMD44I0DNR򜐛*QOvQ~D&EYؗ1cDhI7nH` N&<8ZeR;dET]&Dt3ѦOh'º='y,gxY$ɥUR8M]BLAuE+)8qPn>!^Dطkq(EL ֯ߎS\, Ԏ|iֈ}};*(gI?kT@a~G>y>Y(J&W*p>2;1q8^fy~<¹~-65z~^Rڿ0ZRC -7@wEAV5tGB.wQƁ8|nD0M:2r9#w͢fFYS݌|<5^l˭3cھs'27E0(< Vt"M,S%hb࡫y٣9垉AfAƷ(5Bg`]_>>y'82rKaduC}nm믽{Q>c3g1 _vC/[بgugЛ0P>bUgMmkaKIuKPj'S*)n)Z'3S\ǯ?p]ҿscr4R#^Waucw1SB rcJ \#/Lj|O|b2:3K:y pm',Oڨ|gQ|3'I2{h߻~\Kݫ%^?ܵ7K/3kOEcJ2T q, H%@^A} 8+\ F>҉W vzgwEl,flE6U-Ho n>b5 drmʒ)nl~o&jc%k%=GoP00 E 3OSy&YL&xNe魯m3yI4m^Tf4Ѭ06*R躶z칥[2/ /L4ɴ4:oh:>3m O↙27p8-N?t(Y=_mprRISI瑋|GObtW/]/S)F h_W?X*R_o0fi:\ Vh!l*{TyiV\+ceAOcŽ,Z8 LiH\:Ҁ SfeR&VVk;QKsVnIqٯ{O=û&fN݆%Z#S5Cc}/ZY\.(w(b-pXvh H,]@,Fllwa'7鸐5 [ڸo-8ᦠj!,8"C'/z"rRL.NA~҂]$e7ԭM̋%0r #(I.#PCEU64z%?n~UPNT[f812[Hyņs[cP$7$KhH5YPbSAѐ 0$~䓡 *'.^O@ LH 1:@_#GꞈG@decF}hoj2壯?I.>,ȏ }Wn+(|! :Sa(򃺶ŭ=ɗl/z;{巬.[ke,IeHqrc'[Z+œ}oSX*h5~ z>?alKWF512Im-AU8AY"Ԭ}sC`Hgp < * F}/>1= /7}/7+ ՇLd~A=mzce$}ɻ'ˉ x BacV46;S1GH,Y`&"#g0m-30SKic,I?₍!MI7L2;2a_[Vɱ['{nD4MDz=RέsMRmܚm斊@+o>\vë}y SwAϋ µsb޾6im,$Kτ^R/oj떢ri5W>0uA̧ jp곢/Kx=s7rpVw[pр04ԏD'+q9:WƐ( sHa^a{(ϳg"PrnGDtF,W SI5f뒽87ujlQEn^ұ96pP_]ipbUy94^CjOr4fS$TtJn&pt5mZFG=^ V5s @9A# $*>QU #8_֛H|TzEI g.Fn{Wm:AFIl[=B&hMYmڵK)bV빥g.B[˞9rsx?8xyPbqJ6ԏy=pH$-.V(_$ +Gf/"N%ߨgɌ'mnmB;ÇT,HQLjAY"4KIU~BHEͪɒ8r|_gcNna m84gNVaLj_X1ry3^v˸τU.#';:?k~7iQd?CΉ'c'?t\<~|ЌfShF%ǿkXp~AكwO<5tLbyk`Zssͼši,$pHhwW[Ëk'X|?,f2ř"Z#Ǘ_#+-= NϏU>G9ΨHȓ ވ^-i*b žm;hf=Q9|՛)z4aXq oؔ96:|7/!Z>?gAb"~!?: K^'d2t[K-޹ )wRy]9pW Ws:3q,馗v]X8Xw_<-;k /6UT!W oScv7!U՟ؐm`OsW'nCXkdly1_ > &`9͎uOʟ2Bui ڭ&P>}f5>X՟ >ogO߹,˥/?"ނ >Rya痄x:/9}/@qdANFF9'jijʍRuQpWdE4Kqb1t2b +/\#\9GQ2(?a,!J1om& U3*崴pdmq:øh~Ckv9.+9lOWP;x' {q3am~we$J$ѻQBmI-#ݙSC>ka!3kW}@cAx 墈"k. lQϱ%幞wj-;r#^8Z5_)-4MseP r/:QЭFUx}/|Y6wfMF(y}&Ɣ RD}svY" Ac2Tgirjl.7:9оV2_Y }d7|u? a2跹@{7]7 g^Owi^gf&yG>"귞Q^W Rl{'5IVc_1R*`bZWZ,|zP,A2H~$O\sb$>56ɫG7ܟ.taz&Y?WMnx]dTٽ~Ðg,b"3󬞜k jl!CER.b.\]}Jz7UoV@ѽ^\]x]]I<[4nWPV[0qp/r$G/.3gb'@?^X@z;?]JLoUݱ\'!K ZMLmSyY&G 6!,fNT|cn3r|+ȨSʦ 5N;FTwİMϓE MK!/H̩;skk(J-@eYIK; eJJ)HU{bDȺw֙&r?,:&G& DRl,zNg #ܚ81Mq!qv5cj5:hAY'Ik,YHmeǒSGr>L^6El^!hGзM#PEѴB!JhbO:9HPP9jLD5$cM^t /sӎɢg$7Axny<,ܯh" ffbYO<'v&}t+!7IzrztܐJmnΫϋKrZ7bA$%!~Gk>]Ej,SxKaJݪѤE ;y~m&%W%sĖyِQDޕٙ8ۯujFkJREl=4эӕߝZ;/J6oGRȝBm o1@깳_dCa!рВg*^n1y˒ͷuw2D!O:fg^%Ad BN᷿?`gy++aP'hmkѽɼ=#iA3N'N"Sy.o%xmW^m{?|o>6 Јz:p1x=7z։N?8 YQm7L[*o DͦOyr7Jn֝i_>.hGJ-cS폮~H4~"c uAM{'^x{Ӊ?>w8=0ZA<wF8`q mI_bk@w0tĺ4Lo~fy͟O:SU[QlRgo8 "aa ejoJ[HԎ*;0)LjXϸY=ɟ| i gδ|bVVdn\cOW ه[?do{paD5CW0ueHrfԏgY^d Ѫh!Qjg`d76ܱ^mff:T,r[eKJ-#Wm:|G.P {߷Wp#OFār 'ۿ,v;uz~Cun<&r# &h[I}(33>0q&9uiO.dM%I,ؒ6e1M*б9Td^ry$[9c<,B6pH\xKW7]Z'iy]ZXiu@yNdI'D&)oTjL%-t8XKW_hpstz6h" ۨ& "G$\~(QR]w]sSY;Ϡ" ÃίZ<˰>N `m鬡YF,3fbȊyDA}H!$̸ ;aT10qn s7I1!rFYDLXW2 "ʲ&.U|!fJ/ڪ.1"h)%^aGRr=AxoK:f*x8Sq|(.JVURmrfؑ!#,"9##bsuGW(ר\^DV8W&Dc߿PM[pv]53sQ}CVx[!+:6(x Z i>/q5kdKueSKƲJ*$XcLtANɍ?*Sr=h/ȃG)x8 T_8dɶ@ke9STQ;HO4ˊl<{)]5SP^GGR~?+bH$슻e!A[}uTs].AS,':-{~+E" cCڧF$Zm#,AoyE Iwřݥ'%>"SƇ:GO$n-䉢wBa-/SN͍z>zsTWTUreUu씬^"|)˜dqEO䣉QCz=Q:tSV;L$9hwֹN_CpSuȏY n}Qy݉ҩHE⁞ |&Jz;2YiyAH؁J+NC(hEtiA:<:I_DT5UZxٶMK]f~[NYMpkuqpeA'DQ3Acd~p Z[mH33U~z,i҆Ӆ^r ev`4=. ׎FhcfחzNkO:[8h G&γ%ճ%kcw" π9 .pIEt{Ǝ. eۚ69.~" F8w5= d+fc-ڷIAW}#Oo|A>v VevBqݖz4a7N\^h%W]uj欗 Bӫ.y>'tm"[$v'nL|$DA4( :`UP"tdey"0w̠Z^zթ)"@Cs+ǜCeF,13n1v;-A4 uZ8yWߦ˲)bQMc Ҳ\^mG2S"7 *M'9UL}HNmBlpm`: * !`\BG'|ސC6Ehy Rҷ:4 I2(F9e~Pg7@:Я|]s-^se //,np[& /|@@Uΰ0^Z$ -ʊخM=u2UԜ+43I<&ϖå TxMiP6t d+'P.:-ƃmΉac)z%]wF ́H9GEVF\&)@Un{u󬢷N;Oջwl4?P3[h"1ؽ%O|(!D`,!84Tʠ#` [ysNCis>rD \2{c%cF כX>?a>ݨXFl~zbua͵+FQ>29oj䢾E$k)g$'Vv5{cT>1#0y}"m&- އcXn@ی>'Z :@AZA&m_ISK6Rr=\i@$ܰ%Lo$uLa.WJ'(YϹK/9h0\MDJ;EpdDx%ǃ nS̓>D] .a[ϥQf{/RCT"eΘAc]뙃1xP]Mܐ7eAwDLh{ LS zyJ139FWӝLP7ZA@֖ ЁIDe]YWBٔlQBepU !& (&u_̶KRO(`-R(QR&YI&p \=Msɫ3* YaĹ"t yߚ%7(| 3"UNJZݾb/" $o =n< %Rscd[^s yA1bfO=x qI[omD[nC7V'*J ZA!`'&XXW#/Ԕ!'H,$Ƌc"v"GuOѽtrj6hADdN-a"AI^TYLX5O Ab1 Yplb^uCBA l-t1$>DYf s]! wLA8hYҧ, =F z9i˚C׋8~~$(次;UV鿗ٶ4lSՔYxW2hj`qف w)fbJqAqz4ϳ܇dY Gl^QxySdL8pJDŽ?=]lyJ9 ImLvEF ecG@.$y@f %_"Dbқ8ę;;N'8чߌ_izO %6كHb[JQB1]Y$uQM|8w"o;: {4,I }「.o ~Q Ŷ_3R1Tlj{`Y$1+B?%W={NS@F. Yj#o t }/V4-Y(يkJPp)ݒ@)3uM DbVEN"u|&,ȋb˩ĂXJ>eT Lr_62\۟{g/o=8N?g2)UKݗP^'Nv0:6_TTiꂐ`{q D{ԗ۳{8ߠ cds0 0h*C}= sϑ*P s?U`={m֓ oi/tkZZ'[7 uiz]fpdkafB )2YqK0+r/-&R,O8xۂ@`wGINͭ!mnntK%AAB\h漱/LuO7&J#q~J3ׯKe(2渥Y+u1B9&Щ&KҏfH& tM7YSΉG뢼؍dYv q8\ C C#5ޠՉ7JD6Hs0HCH%G$G}ʵTZ-QhF5$Tsa&N⩕P-艒F tv/"pjn!;Q|Uٗzݺ )^lOj9.dT4RjdO k!̓@׾"> ݦ˚X$15r 5!$$D.U\[]!M;R(({ϵTQ_ vR|"1yƫSt9ӡ%oWѕfۄr ?oW չ]B;4\Ϋ;q%U\*J]ly~ }ψ9F6ocp f{\\T>M/o~M7ھa{isSSV8~8y-%}ːFS,xZ AXZ~cw``]ȟtnTK$~er3Ԙ?MkhWom<l.7!ɮJRɂ<.tff*)!F$k>U͂*EӘ=NF&L lZVGsOii^[4NN}kΚaj߀sꈚUE>%LY|2;q4qsIL=JJeaPab~% š ,ϭ-yci?T:SǴ8":kKxa!v('b!]9 ,@Zi5/]Uue=U;"rXg ެo9^紀++8wXN=zx#1g+JGI X?S< @1%KA*ꔪZAAU*jt_n@KT'4h:Qd =7Eΐ@`ni<[}㕼 - }$ ksdj*$;N>Q񏋚X!Ɍ@t)%&6]8&۾=2{^1i%'DrEW_-ڑ #E8d6>L#=#;p+W)Qh~QވzTGQlKS"]2bbE9 ~!/"!&5Aݘy6< Uhn#Xͦc /9ČjJYpP2}e*D \4$%Ku" m˔U B{薯p*U+. ʷU5F+MOy?S9b~ֽV= U V9+ kAjsYG.]K3|K++._6w ?97տ4;A/1D) LU]nug }I"6&達PƯ[a^h"j~6C;.QZw~BG"HL$1Bo!IaT*K4Å 7\ WVS t#[hPh:"!xIkIJEѶ^J*Y*:3ǰx4ӯv?^}:۵]Vt0E~OÖ]Rvuϓ1bā'I=a#?޼kXJ&Ct#hROwsD lbz0}-Ňcq@]Œں<$X\ym>_rԐS[FKf2H> ,\MWuu_oܸs!?EnsDCKnM5Sx#gƷh2LVMꕘVMZ0K+JAui'aN{[D>7 GL))YڙIF2gSsayzo0m~nSU4-o.>IE:g\)cTԵxS cSѪRi`q3T\fCQeMQE,Pf{b& Z` 0ՅӠ]8,J06\r 3 +E =ItR"*k%wKC.qc\os0 t4HխKu"yn'yGDŘ,VEiWc=hA}i0tǡɞ'Ek;.=g7yL^<Ϸ&[ ݛ yv53d~a BpXV~I?|xț0R'}+;dJ/+g4QKN=M5X!%xd:!ta&Y# *o9@ѬTUCshV~<:oT^ 見^1 Ըa+[oj6&˳ܿGs؊ķ{tĽrD42|*fH=[ϼB? 녍'Eɓoza(y6&|IimecVZC4Bch"o^ >Ci?* a>ZֵJ{0^cؾ&ƒi$˘1ڎ>''xM~\ClՍ?䗠`9#In;Yc\ ocv&[K},ݨ-;pek∗H܈ ëֈD ]Ħf1 $ac݃m2ޝlXsZ56n'>i;Mj |zZfCQ =hm#;Rg k:K8f^+;KNd\[0\j@Pk'5c$1.WJk`>D|f/_%EI byo)m' fw +pd ;#6_r.0ڷiݗsNs|?h,peZ|zjP[QU3fq2;ēϔ%Y^R+w/.@jdW*cn<}etw ] //P4r1Nq|8!_SrL( 9PALFIX?(G],,cG77(4zWEΩ+_ȯH:ma`@mV+W}bbt*Wo5^W2UGt#r;Vһ8f-wG˫L.KՎ r_S9WdR4WWc_uby~CG!Ψ@"2[ؘ]0xn˺@5 Z:|-xVN u}YQ[+ U5e^ӂ[Ĕ y(!*g3]V^>pj4{^R (4]s+fkE#{XV uM ~hm j|1Qjcv4 ;,9񪓯k-I[zIG\DA2}ٹh熃60j?IKf0pwcBfwFAUě )gˍSi \OK#+K)bhp.B*#ϤԦw9oO4=綮P:KkFV94|%#+ͣ-3bc|u ,7 G~ -ز1L/6Kmޛ%y{|݊ܘvEWkfӂ<֤jLoCy=$;^<~KM&d>ԒZ0;_%X_K>L~>#b.:jK'U(%{ArFƩ|!ʎ􍕯~_;%DkƤX_7WV: !ݪd<ra IGC??wPʨFM*ێǹ2;S!J'LwJMuR ٬aJ- VpJU|B]j;ȃې-SC׶vssfVkZ6 >{*h' IJ4M~|&Oɷ0EU&$%82! [@FFlP[rRA4W%가p1R0٬?,a3c<*ͳ-nhip`C1샷ٍ(SQ")GT("h»D7`hv\`_ZYM"P1!˳( xNvqE<.#_6@j(}5(iDY.*[

    Tus u3vW}fTɹ!mT!iNXhWUE5_ kB/'L؀\$7*owT2VSšo lCg{5:+2BMh;*b]@Lpgt{*SMcf`,VP45#|*V5(v l5,S >!xҝSHs' Ai8gb;`e[egx@Ѫ4(HsR8UMQYga6,-)-hyFqEvf1?m˂[-S5܅_NԼJl"zQ`Jg\) \Ϡ}w g9 s--E*FUVw:sL`8<*mMyYi:%tisZ@gNcI#h1 C7>*>䳠׾(=%.),9eP+c )t(q Jܔekg;;fo8d(@EXp#FP:ʲh7 7ː/iK]#)5>&v  o!\ƹF/Ub|CN?\7dn;e"Aj0 :)osga)wـ_?̥& CBmFagjP>"C["&] ohތ $ (jPo`I!;{8  _b!c,BLd !N>)wx)drTuq()E܎4>_\Y@ AME;TbE㉐狅[L~n^VAG$WIݪbZ@aQiYf#WNAbٵ%x!yӉ0Q|zmem&7J?|⟉N*ix_8YYY_8z;q'Nw$rנԌ&NN_v0֯! CcGArLedcH$& ɴ&YQrƊ!d,|h)-JM[%H6y}w*^@| y0RkPK{<8-2Y<b:␿&tƲln(;*+: ʦ `b4~7)'.8]40Vu b]K!h`Ck 1Wj1)/fXu؟K'fihr&&u f95Z#&te@/dET{mى|8Q.*q֎-ڎeXBL; b WDJp n1A ^ '$ȕ@F1 X5ሑHmK#õł\/B4c6&640xz *bY $Ld] Q+qYm.yFWRT -N/;49UG1)uLnhT [Ej5̂KMLW!n 8{ĩDh] ǩ j6BXC~pӎE\_Bi*3- 1V.7/[0l޹sцGep`Wf\5jT e~/ QU#ӵ|t\_#oyo˫h9h*by2|QV_Ԙڿ炨PSLP f,P1 Js9dq260爄!7!^ cW$4WG4rjX6\}Nag=hOl_7SUK F[6TDЭB4<3*^Y\,g<`4 t5P܃(ڨ*XA/G~&=PC~X;4CǁQG%#R;-xphYs5th}wh#mWLȼSJrypm:^t.R5F.ٶziiJ?vn}ӓ4ݞinm'݃"ld)ѕLkaf]ܫ d[Zy0%I=kh9-d;ɒcH #ge}#8dŨW&Mm;@擴RO&̊(6 yJ"]qff8ltH x˅+\9̭wL&:fm:5% -w(LO/H9?lOWJwJ/^'d}n.w۽F_:Ztm F-eJzbs7-d%Sx{p.|`kuGg#X&?&U3Ţ;r 8sNSÇ/+qBmʋ6 SÍrypJ_H }ax?9bݵ NTBT+;}m|A՘zW_+Ka(o6R |#ҵҋ 9Nfdͳ2$x:1NȈ|fjD)DD'˦ʰp ee re]_5 Rn,^چ;ZpY92V!kE(nYSg&ni:4d7_ LFK ܋UN-FqNb1B`#hî}L>TfsymלY):|\Yn-kN7ۓ&S̑L`^ixAމ3+̓G&[{ *'Tՙ)d=iG:vQg~J>֮zFOIҩ+<%trJ)i4"|ܣu8V@&?4_28U>C 3";m6-]D{*Q2%13\pbCPD&tÉ5]Cr}>CA{Л.kZŵߴv+iꗩi UIdq=d}V[6U+NFsGŞjt ?W,-֯b=P*\CN&8M@tԏAgҪ|:ɪs.{mWYOw[Si-o+-Mk+%Ӗi<=HeiV@tQO3$I28d03 ͮ|C RGR[eߙ/ 6WδckyRS1C{o7sgm+ T]3틛5㲙)E/k_yk_Zo~ǝhBG:il= NȕԌ2;KNQ1MJb4b.J3co;qV\)kp4[gIy􁴑( c?yW7~P+|g*o'ȟ?mMdi >tv?HGjt9rY6~߆S||}c7_ЙڻΗS_ ?ݠHTp`НQS찫t;aCASs1Rv:2^F8*Ȩ,u a$`(!I?2}L=uޭ}WsYzuٯͭHiS>-2UO[Jme_+ޖO3QSY26g'{J7֋ڤ}6G;c/1 $82.i26Sy3sЎ~Oچ I fblH@fi8  Ow3aҌpе8B7Y/AFj4UCsm*/T8\s0|^QkY nh9b%Ls Qn25^Q[% T Sx_QHE/3b*W^WR/VU%ʥ,+[0tr$uRJ*)Zq]$$hoRHmٓOQ; Ǐg/vz {v':42Y %8Y(ʍٶ6K @V؃[ oP3F$9Ig0Dkp?#i&cD'xX#7v"97EnrRH Y*°Eڃ_.  bS I--vmkU #)Ӑ:(&#XɟSQED["P+nVէXw BS5M%H PkB!B%sZ}R]%[FNHj$wHr t\"yiӎa80<3w?PL{|B$J:^{7HI#b + _ZU r78^t*J$fϔMP}&?L.^ؔ)7S;A%ԴUà`03l"$jLvcvNn|y}]{V~QXzq+!kZLDL*BxRO년K&wtwv~LR?fwǯռIWp5eK,UҜ@#<"I8Qg|wҌ9z:RfN1׸,H5 F (x?F%Wl_8wKL4w_,vxٽq 醥0ˠ2k_xڼihҨG+ߚB޽bU|V`-+-^JYtt!-I#F5AX&2t!\3(JU?{,jG"h2y͈>!JdvT*珝LC]'[b/ǘ5'L FXTK4ҵqG&75ibZځXYwK'W+.|Isa>"_l\qSGBM'C}=۶|=02w} 3[n>n=pV|oHG sxm&݈)D8T^9 Xv k;NnoW\rՅ_p};&Ը*/&'.v=?SZ^l9|s 쎉bP, -mjQx79(&_<:Q.)fh"\pDYWF b:P`+*zQWz,cG,, > _cdS˾VUGOđ^r96,8:b?>uL/Zp9/ :Abn.G-40`DbqH`F+Ja~ (P1\&ƱX'X7v|# Π+WX)e*z=L{U0m(F`?U7ar'`\14*\,UR˩\ԭD.Grkd8F6V -) \Z]p[ht1C+͹g0Bpغ' Jk;=^LV\$`IshGSEWEAX&9WTU&2Zݢ+ dRq0pPy5$EYnwu,׉tR*>lPdj.ۊ窪-Ǎ|e4}4%+ æ﹂yK)xMDnGaH尭#p8B _-ZSYM9>U6;S]73d Hö+ԯޤ~픰'2! ȸ:_{A72SY10(bd0G؆ɽ #qqi-`XKn)LNNF 㾾8ٚ):l"[Zley֏Kg׾!Mޭ|ٞ癮+6?,6=ag162O>3 l;exrT~DƟ4.=R.ê_|6wvrL_)*pseYcɉGaD9^~ ^(T&W2MYK64Fjؘy.W0Z5ef~ +#ܐ<ЕTke`*r+ʵYx.hM`ZYcSyyU 6S~gH Kp =$38M) j\V XkaԚՆڤIq ö e'ɟL5ß;^YLoq]s_4_jYiy.@T`%LF,E?_BȤmuMot_J鯎9dHkiqR o\A :%7FGk~^,+)[+%֜{ɍfJdIc3rRJ5 Jnf7D_0]{y[7 ~%KKwƱ//AVHڎ,2![e%iV)'10o/@Fd6~I-5o=V [O^]qV [֟۳ԛ̬]Rv쫶g#~5}2F6>ԮXY9qYE喭rq 2[[ӫʒrzwژ16VBϓ4{J;`6WxAfOq1>سAöܶ־ ]w4[=>P S${`|N`,ߜaFVe931?IW~ gSl+(1Ou4*lrQrUTT9|uֱU&wT]{6`ǀYKE]p,TaOtU8u,֪+)/L Edcy\HB>pXayG_?=BP!TD]Z:!Hہ8agqS|SsЛCj@Yw Ͱ[nh&F\p)ok)4_w3-q\$Ӯj-\ X1͐&ρWccfUK`qeJX=bu{/.>{Jp$#tF78:HH2-j&f] ɽzem&-Cv.,|dx!v,h~V$1u~}]No8΍O.۞FtokkspO !xs+J$7ϊX8CCC)+d(m0Dti4iNѯ274A'W"jv$OϲoY%Yb"x,"\J(dĦFVlN(xP`<މXjuR;B`R6A\3#UFD8 l&fdCY73iR˾x ì&UL0uLjƏhe`\)p(Q'LF$ 㠇ɳJ|v]Goq^}O)vV+VeN+4{hw;g)S(}=ߝC].z52l OI{Ir]JKǥ[K.}j3(:Ҋ͑v;R4406B1 *RVɀ$?c@-18,`#!Igo8Y8Lq|Ӊex??S0yDa'^uӎ"Bvm\nP ֱ[+߸hg߽y6~7 4y55oWM vSQ@ O yE8}szC1#Oln#:[K]p+Ǿ3;4N10S^K]r9<չ [`a88n+{xHIKJJWIIH/đN2жsq6L;78x]g';uZU,uN9_n1r3ZN 7Gl&Lk7KdavE.Ԍ{BN/5ړ ^OeUUmRGnr=Ѵ'Ѳ}vnBV\j-݋#MU ~4+\Q\4+20uDQ5"ik񊦋c0]ӄ$@h \5%o'\ s츲d[M oU2s a :j_\ÍR(x kD};uY9W׮+Jo&W 5ь! c2vջ|KMOTb:zA&eÏc{ 5SYgOAf"{;+ ang{MQ/0#ޞ.KxE,A#r!eiI˪U!2ӬFe/(f!ILDgO4,mnF}:Zl6Voh9Wld}_Q|}QtI,}۲V2Ln|=.{,g8"b] ʈU4dcP&oB<2R  ui ˲0?xEi>0m\5a`&Dj4[Sm~DaEc-"a_{l6 mW+sUlZYWP9V_{q05NCP13Qپ#:W'%˾ژIY2)EЉq5 gMlٰ8O iz ck"Yvtys!llˉ6hlD ~z^WB޸ħ8D:]źNhkN!}Îj"r`zVb'=r`eF/~qTqȇ5o' %5Y>8Mh }0!9C=f#~ 52 `6 ֶSQ> >R;k@3L@."4!L0q|Zp7 EW"ti6Q|v+O4.匴+*Tםs'DSvW+vփ6*g2 QV1%ƶ0%C7㈤3_ u0H˯2mMlA3cVmN{ux=xrZ)ffP`ǡ61F߳[ Bv类]ax_床Vt[Αn#**kbywH6nqkLl&soTjMˑmղba㫕oY4֌gOȧPzN' `^*DqZjY6<:KXh NyJ:gۊmؾ<7TEOz #ȇFk!Le0gQJ͍'peF+GS_Z3'tWeuǵw 9mυ\s©T+\䯀W6hyTOB7/UjEi٦4xFBr~ 9x6K׏xȨ^ܾE爳1y8r? r|G-l}d$x{i$f_-,Qy3 0GFO^C Gf9h.b}-PKA868:{?|_ԱBJ ܡg.717t -i9Y.~^yUTQD']+ER%bn(wiSB&Y9$ X4xM#d lnQ+pj0Ii`2 us_DwB('"z`4:EW wEh"}B5["Z *?>Y`ef ;X 2 TaItNcQۙPRKLPr1v `V,@C;bɎ?p4 &tu;F#WwM/昌 Q`E`#S3iLխ(Zo( gmQ]>Ҩ@ma71`Ii\1TJ@_Oa:ϥ|9=RqWQ?20xszF*nAuѳuݷ(z3L5`Qka 'u\C~eXlN鬃3;M3*S˱i";$ӎ,ke&Uij92]s\GT/ɚ:CG߷\R$@0{$( C5Q YMcwGm׈C?a\.y!AZ˲UsB3Z(Qp&zkV75qRAӐ[ ׮[+__{:)Zi؞NS{_?(+; F-" X+ΊW8;gdy0 KOr&If2xD fF!øLtX*":b*/n83NvK0.rr$9y嵍gI@ӼSϒh="2`(P>nT{9r߼גhGdb;wfce k't%Zni3 O;k̢QF'" U 4f'JgL<?Yˈrf3>9K\.DB\:Xx3x?J[¥_]] ;Wss~^0u WU,%$*jle?0|P//8)t΃ItQDS#r 6(mBA"5)rx`Eq u 8x>&K1p%֔`qWxpRܱIu)TEX7A>Ȃl s09е07jpPqnl9vdZ֫Sxhr]D6< /tZċ;pӠcR .dt XbK_\'@[lK20\ru{s.H/ej} =xe 6~ O#)C8*yhu3Yfo# U /j,P趭©-sGГ d*PO$4cms'͜6o>)g2~$3.Aj'؃~1lZTy.rgJܩJVZԣg-|]u }<׭YΨo Չ~~w tQ޹ ҿ̙s/Liٚ,iqVEkɐmgRo~_ׂNF>g?O6o#̸?^b7\si 8{+Ɓko=K^w͕̩ zۯ"+:\f):g TS1"X<1啫*쟮zErozs*ggC-zPappᓅG0g;ԫD:~w9Ѷgyeq4%xm-fO4Zr@lEZqrT׋`Tc\:DPS n&Q f+RD{>-^XTׅ tƘjRN$[Kv>83d$XyZQ1ꞸLVk~^Ⱥ+zj9Jy!fAתWT25L %mkz$i:&i} }bAR !paCw21)ELP "N,U 8RX&w  99 5pF;;-zm \ b(ژ֭o~+_?~/0[ -oYC`t)H@B,]?"ȩE]TcZEp7e=Cȅe{c35L䋌zJVIrΘ^ oAaL.,wYW@\P]t>$KJ90.S% :fl{@gj/whM2U݉tMsu͘#nRN=F&X&jqVRUlauJ ݖ[[{ t~bN}3k)_zo ]0Z\tu[oIWZde끝w[L})1>Č׺nl!BipO`bn u0L:$|tAZ r8*nX-&$~$p'???_x7ߞYl1bj\hkCQaƏ ^4\3&U.7A4y+<i"/)Q)3_sy;NC!1З}?&qR~8{FU-/x?޹x".0:%8~Lg1~6ŎN=aN+c08Q5 un/Mw jYAox/hˠ7\ v=:^B#~,k?x[p qf6'nÏۯ~ <睼Ԣպwk߅nwuRRv;,w܃sdzS_,\W' AvO` wH4eנS"D]E9oU=PPQĢb*A @e_}P>9$D-s[8}ҹ{[kDDN^Tw@O9[U#H0k(*pjvmRܶT[?h>qQffYr k`k a;P%ٴ׆u+ii-֣q[ImnFRZKi5t1 `ԧ0ي3uq`No'CG`Fdac*K1SPSdCDEC93Tt6GtMi'tJ<ԣ~- Xr7ʣlK%k Tk|?4>7ef5)i) 9^v(20x$[E/f0n`(߽`dZjN2m'shPPٟ/eui)Y?έ/BuMaPڀ)h+.lPK)ƚxp4驃q#eh;@_{ʻ.۾FɭWƵz\T^ȅ}ON,?o_j91kzc]L&j+N".t;@}~%FEI4-!'-&%_iZ Hzeܰ7X։uݒe)afW#7Z VLb]5; ]E\j5 B]1g-9$8= |⭚>u>7.>OtW,:Wg#0e\gjSA3IQC$`n<F;L' Yܬ,[jFAVp[y= ;;R+*܋ٝfvi?+;LWd;(Qb&| ;3iCzы :/mi]fiVoRHЦ~dͷzOj+*A{/YXmT]\X\[ꐕN&a2J%xQ6)o'K!h!%˫ՒB{nJW>-K*'u*o/]k jcvxʞ`9PtCq]{#HLl|Mʷ]Yg9O[x`[8'K`JӑR Sq0It u˵,㍵̡ˮB[iZ)v3]KAF$ L5y =G9!r6'-;I_ObߴHm4D3uP/czPMzeQ\W*|Z8LJe%4<10Fm9mQ]1բ-YQTN+]75Q9t,n^3(L@D-C 1ZyKr)y 1:DWiK:{ދ=U-r0&G7섆ɩYg:Wn8 r@ȲGht',|NM=Tq:fx8o\l`H=$#D EPd'D/U8nIL7 \"j <(Rb&zᥡ5WmF1):R̷4S K5?)QNK&8WY9uԐ#x1v;5iUeשfV-H׏g9Z vppz{db$ק,Hq7)WН0^gohrT^0J|:n/֨&W\[sd|U/k v K4b4`ΐ~)Y Z<UJFuҙ/:nR:M+ApWE1a6:uӤwli.eqd2mq"|qStnb6 /d/c~瞐Yz {Lkso}\}c/dW?姟?'O~u;{OrMs*VҹIo_튓)=sݥjtn[W;33>4NvwlXW\wfVv_Ixn̎g#)сȯ;eJ:M`业7GX$N !3DKO]|~uJW\:;}a{eYB&:n;MeS~JYފ8_ʲ:tiܦW.ןs VXXkZb/]o.f=Qx AK?]Wd MѠ?IfHr0ả`Se8٣}As` 1"j'Z;kVNvaҲ@/D:{$vQ˒e0׮9z,[|{`%7vSr0ˉ';1}TҤTs[Xl:FMwT% tu=H*.xng:bYtlK&`L؉lvap a̓u)R"HP%%b52Knd \" Ϣee3fuW}ꭒY>f{Κn礄-(IYzkhBџ5{'3&ExJɵ.f&AWnle)DM]oF;;O˴ĝT(%OUvmf,0KemӬfBtOLWm4^F}Тڒc7WJypܚaLW*`թaMZZ4z9]eײ毯_ 佗B!#bI W#0C"a0 D٫5HJ9$Ml/Q 7ƃy^\};9 J(!gH/BOjڇTC*?˪"NvP1M;D >"V+qkUl_TyЀ iEDK4#,Uґo(iiҥ~ʜ#PEU>gUYf߭&p"&=@OR U%g{@g TD)&\`\ec%*XMeƄc,~D1Iӵ:T(J'"ڜ1Щ"- AM]XFU)u#U1MK, 89|\[ `Z:X$FI" BUL+HCyd6 25IvN)XrrB}Z\_tm\F~<)w{e1%5 MMwP~ d2`Vte§1^i^ uaXgHf[Yv\Ni_O5L)-@p>ؓȧ=msE_+1]T 'pZsEbKr@z†Pă(qxT!!UU ro-vv8aM 6߄BP($ c@.2q_0!r,I'ݪH߶e]G0_JPI! ]:MTʹDź­.ƵgV[=[{.+ cD i| =C_+rZ4`oJZ8s\@-^Xlf)9y4)fAF=/g 2xz_NElOV ~(FlNgK l b`nbl +}w_6HjX$d5x*5.pL.4\+`\۫{eVn9̋XBbLd'`h/j|O<(&x(.3oG4jk}M$GcTb7yΠQC?|=a *|Yd'&a*MK7e: h@>X^hǩl&I]l,9&(&RԵ=ӎչ.fqFlKMHA㈘̀v&L!FN,É*>Ab2,IAVh &*4$rh5*@3o @%Wc'YB"~*YBCrњK)p"*a(L$#\ :!G 4M I,TA# Z"RKݴ-M/q2רD7$A0P|.#VaJLs݀S咕aPafѨ7"@+cHw-Y%mh+C2" SXtח 4OEymБpgpPc1̫H>MrQl63ZFB G 6Q\)tOGB(F!6ubwJv% ˒J]()ĩ4Al:نش \yϷŔcOEŔJ㦅u::8\h(mmlhG Mtn`RXq`R6B$eo8 LGD)֦[6y6@eO $L뉹1gS(Z m>)u ? u]R0u=7ocUh *č9lfc2cKRTF 5\A<5 #2t_MlVb*p0ss|76L+Ђea:ӪҕXm `©:$UCNNyϿ~w%ĦiJÑun+c)/x^l$_|oܛοrƻ]\ YTxg7A\*᥾Y'SQD#M&b L5?w@h8K$6' S`rݕDh)lf=XM\3m1eiFfSnFQV&SVAFiZA[ R,51E `%B '6hȲ^PTbC4+}5AqroB'(Ve[Ҷi þ]]IYӭx^ZسeiR@gqC,2i]ՊCzfԣzu\ooՆ/ܔ0.sa2BnޙpXj؆%ȟ<` Fɵ$i%hꎣr_!sͭnn=4$dB(E/GK2m8FZrcKDq6G`(^ǰf^n%'9^]-EtW`TS<64C_  [rD`a$%JNgtr$Z90=o3L4CCN&0WeLr' U\ru7jKKnp+3(_:&Y=yUzRen :%qZHCzDu&J! aIbp|#jg=sL):6j+/:v3ʺe8x0#FkT21(6:FШ8@fã nPǵŤ]LV1,+v.#vl*iZpp:B;0P%|P码-]u@WO,3g1Rؽ:v<%S6+JStڕnkͳnCٻ σFHEEYiyۄ4?O}?_⧞\Tɓ_jgx_}5ݯ|ɇt_P8v07MnZ8NXqu+ [6MH'_WCmwd_737<&;;ⶭCwqhh\9s"]a^lSq- rV07d9|=cG>u%$@~0-uG:D↫[:[dhn\{< EÓ*\O#-lj3`u>K私畩?'ANu/]|Hwvoc ^$?T둧|v HU7 WLf\fz@HxO3䂛}NGK0*ӎ _-?/_MSPoa= W6vb#] ê1 lRjui>ȋCnE~ǹ}]ުs΍~&a؝S]cT]~fV b1Mf)DG?W@oO^VubĶ#~'^cE7檎UR.ɊaeYj[7;-aߜӺnkdrUԗ(,]jnҔܮE+Jxzv_u^NOap}3a5P]JmH8NJ,`E?[!;d`N+=u1[t!@˞4&O5irW{oc˶l;"DŽmcawk"YHDDŽ9A.X93W\2i9 %)-Y *pn|At".DPz7ضJHbiZ~qIP ZSv3Lsu7vLs?_g[)&gb/mTa *"wN;5CC|F+b[H;Y<)<r"bZƋY Z7e7@( t]" 6& $]^{=G7_SןhəSyO<;$aknz?=J>dߞ#Xq/}[N0̶7V] tΐ1-!-@BKOHd!9 ${EHfH׶D$sGHEJ{0Wb0+kd V-*&S'p%)Άޚ}<0TUTJg2cLL^5:5'4(f( ?8M0bDUy3+!gLWY.$La CPTm20JSL[ 0IA"1KW1ߍ"B1õD~b:.M BYC1;(Po sv+я^ ,a>8]І&F%paJ Ku'#0w}4KTbVTS)650a+D<}[G"Rl33 |w>D"9O=i ~FbE!tN1st[D)a6czZE5een>MKVL `٦ˡv26i`"E:Ĥ ٵ2}:+FY)خe4i2&Aqh f1o!zhn <rSsNIx5I`)k},`f:k+dsՊz-^jy4Q#\&ypLqEwLʨ5Xƾؚ ,Y{$&ap2oyFB(l4-,CJ =$4bʑmTc,IZ[n ]S()خ '!eL)GB<㉰lJA+o"pscZh6&)u3Pnm)VPBI  <47 6n '+]@FѯBHKJcԩ.e&. Yp͔wivmrӱm tH)Y"xвQCڋZ5$ b`D֬bElG {.6璒k`VaApbdo$tDe}w LS~.FzpuJSffPn)<Yo"rдࢉWz Em/EF'*ؗk|\a.R ޚ._' LjB71^Lڵ֚qF\exL3zk#K7ylKDL¤Da _B6ҮZ*oKC]*"n@ǷL#9S9хseB4+PƼH||9h0׷z]܉I䦕Tnj(7eS} SGlmF'5O>)i!뀕A/ z:{LF;`qҨl4p)GMM ,_smsp%!a&yhrჅ?K?+?1UY! O#xrfEJ"[[%n<\U4* "Eyr6Lpu7[j E%cZi@C`,$Db }b]C*[ցQ"A}In5"֠<:a% VRxbCP ZR]B}a364> b]DAR*y{!#\UqQ,kl]և 6=]CP4#++0SB !)ဒ0 FOe$݋%RaBZLв'#$> )/*4+Ef'X d.= F1[YG6i,S)YP:rOaH cWܸWq=MiNVB 1ж0u9@(10? " utEŤy3Җb9lƬ 5ݰ&c*0͜ӍjmGI ?#==T`N{sm"( V"/D $$ARp"Vh-V\F!>$g cB.T(f#*h:g0m:ˑ_6X |u %ƋRM"fU3@z?Z[k:.\TMÈSDi%)TOB7H涎," J_cAGIiSӈ٧dYLe[WHO>Ǵݥ*> EM}abI)dD?(?}qn_Qڟf$pV!2 LΝDrԗ%SEU)c$^kP1^2]SM6=:*/ᕢS<^ P-+txydKX圀 i"'}9S1G SrWe\܁`,dЗTM>]4}k4SPi*3_e ;rmsZpX#r2DX@KZM8U",ePzU߷o9U&)rT F`TFLa ShCłB"bqX`яG&XfHN ݲnz$O(JA`Mݷ w~l.Ec.0t]- F-Љl%,p0SHa8 ]2Iy/I#DEe*CN78GB"R-2#K!5.FRwB ֑B ~NvdPYs*9Q3P6Kʵ\PlDf(IQ=zar{sB 1뵩Oۏzśq51B~_$ b`i;A9M7nˠ< ioqgL q>V,na\.&3}y&!.`~nQtq*۶2_Tھrzߎa`]ozo _I^\~XKzPF9=! -vHb>:.aVyh>h*}fm 5DyɄ|gG\J햣/1IJV>Ըwl˪Ԗm »vEߨxkPZ_I/2+q7yݕmQʪhdVg6Q8A~"(+1Ʌ/x*dH$'vD뤇\력eTPse,Q !qk9w`VD,ݯH$͒[^H^/Wq'HoӚ{fQVspV_cx|djcf1V}ZYX^l>k2%, Ftx1mYqi1WhˍQrx-7F=;t ( -{ /.0`L&o 'D~1J'S=9}-ϘN=~`-[!yb1#G/VQߺ[lJ3ltUNAB :BhqA#x`cka`|,uN eC<2Cģ}D.a*q&a3A?VjU"]sg\.wRmYt OqC1Ldr 02iQNdpzdn#?safq/CP2c ;˲LJ{nA%n/qervxԸkɉ+z2|)! |rl[OaTvyI``=Ȏ<eẋZ2(Xh9)D(atPVnw_Z'X;sPڒ"?3"hXr֓f0X`WQ=\.m.-]Hbqʕf͌a$ K(QX]GrXnb'Tw$h`zǯ9w0Z-\.h2PC;`@ %aݞٵ9m:41&r*j6I˷t5KC򇭄V'F)!'_qxsHtwJ<.U^2Sṁ[ρ3|O7W<)ˤ,mn֥Ue+Nji5Qx^ZZsp3(]N]ű /Б0*10JۂGU ڠ$U GUqY%z(RsDUu1aĴ+ID fgBE`XwAזz,:J HtY /T(_j.x]`XaF7bW@&bDr*mַ@/Qg/A9cQy.V!eX(f]_=j\^K4a[Jcrij0l9:P9 3,6(Sm3otHV%ӑV%]I_k7ݣ?>{v?Bw?tK}),~k3f-7_TW )iỤ@Lr| :ELD0ӽ-[`!}\\Ws8GSpo{3DZt@^FƏD*Q;rξ\0w/DKW]9W(K\9'{b3 {8M.&כ9c-G}*jڡyve҂XK4 Ui٠v˫^ƔtZ[Mնyˑ$V-;oXfiP;jQgPAHGFnGE܉Bw)I+$W,5I\Tu%Kն뀣ۅ|:QmWQ*;;~Fñ|ڠoxi4$1aP.O^]YS<6k b.^jmUIjOUydG` hAya_.y~: ɹn$U<+4L2'Z h'TPt!a 2Ĥc+м{昐 ?$"Yfk!r^߱ wSM3T4V7nOuݫ,*glPCXstJhҜ8 Ҭdl2' RxEtB FX E^9vwu5j]X[pXuUS3iRNWn^_؋'*Z=֫>UlEU=U;m+oTn{}U8zVUm5r:=Qeec7Ϝ[{f4r$"~v+D-tMq>o9 ^W0Nal-s Ət%7OBB0LlmeW3!M,7\`- CЍ.݉vy//O&w(_# g NL e ܓ܅܏X,-纋> F "lF4x'}M0VCIX`olUߥ#З`>~[ypgK#@.lon|Sw lj*_8! xȑpvfl k;}*I\Mf"1E:ِTUW䴙$% <d$Iq/L~ w.! l& T `:}I K}|9\8R%(#:xTO\{6`Vs!ĉ|Dnws3N57έA۾!wEz"rN93M[1m]Tle4#Fu "XF T(GB;:&zsWڲg mP 4kZ 0$̯n kOVv[cݫGnfǟ_*|:6`j2JVJﷻ;vԓ\pZ΅ކYK^nmopxc}4ܳO><˵7;SqC,ًhDF-8ȯZ&GRr:c9<؆ ?.a @#e0gbi2q\ s{ lyB 2.ɲ `$R:( D ]帱4gA:2 .w"U%e0/"Q')۲T&gDe*(E_ |N)Y{Jy W?ik5A>%Daq%!D`0m<5LkVW=AnQV+WDpVGLU5|ҫG/B*`fn]',늼W< unI c\Λ/!xv@ݳm0Y 93p0x;8kPp3y\['gZZŝlGjȾj,'VV(mGҸ_V*63&,An^|sm~;D`U'A]@ 鼖X1ʐ.\8# 8( laDs4R O,H)k) U^#a%Tv6r!@UqҮ*˾M2s (gQIq RdJor eӤE%>>k-4 I*/B"NyG0E X<5OtnZ zNWշWnYjvK-vd:-SS0Iu d^0K(rIMU`6&MNE&1*y0!ZSU wʥ-kfG-'`He,S1@&Y S@[Ij.5#4_m~& 3`Fan+x#2%DP9Ac0 ~umql;3/2n]AASHXU^ת%3*?[\<'5d*UJC㌑c$,\!3 0Jvw`E>]T"GzGYg=BԽw+/[YžU?*iZHBTY [v}]K+RN͙B~ $36q׸="&T{tB:C}}]_y5%?CCѧchݏFywo\ }||9$l3ڼƔPܔy?gKRg-Ts~UsU!Pm6s2nrS_=ܱS1E Q(IZˌa󛀵d|FNbh0Gt?B8 KUp\'Iδ\G0zY11pjvNy;q\XO@]n)WmI$" ,[ ?%_uQ1 GF#gnÍ4XATEZb'(<)ÈY}0_ #7to# WQ|ŖL4ڎH7a6Ͳl3|Vmܐv6 捆B`uM bXfAؤ/[t7N>FD8F)t+:Qo7uv plM։G|+MjddPO$ !i\NJ8L\MNҸf7IjaX5TrKvU6`2oiFjh2Ut*\8 }js>torpm-|5d;b3|IN7 R%tݰRZzTĬ>J7`Us#3˾S6jީNbrb)!\kp do-̡&:>[PCJtg2c\ɬq>#b<@ЧpO(7o4e=MB?W䍊:uTۇWtEUz}7+>1yQmmڦ5jyzf7Ean׻G>ya/ +|#"ݣ} G~T )/`TvjQ'ֿl*k oƁbjZ8&f -PC+r9|A'ʚ?+~ ʷo[rʱuwIx0&xFޓܺ!-&Bo$1<~~{k|n=w}7ra[$Gt"ft"H"m .bfrWfRUX؎"LB?!=c"`e'},)Bgǹ(OxF8xP? LrKSܾN$/ Cp>;"E']RNv6G=u8d:"~Φeo[(?aĔ,KO޺GmM+u#YQJfW[/1XD>VP5=OB1O;H%kT36Cm#|=t ph마.L!?'+@󘏪():7<l?acc#)n p $<)WOU͋D(􊚕6H;`N'Vi`(<ݝJ3BEȄbBpjQ/7  BMK`'!euId&/cOJ4%:< ~1@&p+J)-Ivۧ@8.  Xumu3N. 0g,w\Z__zoqgosi;^۲[vk]b=G[t^Zu؈4"M-LL<&HDFUؚX<M@vǴ.E>nC+5E)tT>')z2"hؒ+oX Nu]吡HDnVs"2A2. L͂Pmq.6;LSա1!H5BEu#j!L 9Bm0!*RXj8o) ZLdNek\89)cREd6C 2A,<f3{LIA R%mM,J-SmsSP2IPw7vl|Uh?9v77ܡ̪B s8N>n:;x cLp`xhϭi{fTUQBRL4kK"NKz& O|[ hrn%wl a9CG2Ukh5NҜ)Vh{wde@ϸg/xMneܝ>8 Ћ4pzKFW( F5W*jQ[W#AuwQ2/pn}OinV(]\| W"RUԥd7fXW! ^uKu ^nK\d4nGɖ:IL~\oˉR4K/?/.p Qvm O aL[|n=E@t83lW"n4\1oD΢l0EXЊM  #"xoE#uYhRQDK Pr~-x΂"ı+WJqpuEQONNu7w^s2_;/xWsnj# L{WnmO[X{__y9ln ڦ|[oLY!q%~97.a7"U$/+a\tQe,I Uv̈́ٮy> .[r."8(K`KxKA In CR?$$DLxc`d``nS@ɲWHeY=M|C[#!OYM |l}Me?o =t!kn{&bP5\Q.KV*Hֈ3L|CRGWE;X7byc #OssWr1!xuLԮW]C({m[qe98?hoxkXBy-_+ǫxjk^O|;Zew>8 /b$q{7ml패?a{>Rǭy.{K5ύGLꊿ;菥c {+BiR}IlD?-&#<]ܚl:|ĩ<;sY Ňӹ̷f znMGK;Ff^fNʜ˻AO5rv]IZHs 0j_z‰3܃<+Znjſ1KϺ7/;QVr&HeFB_"Ld0 G[{5y7c%O:VY}g?ɌhG z{;˜^dKxa}7H?s,.,\x @ T  D R Z\ H| @bTrX$ PF8f.B,>P  f !2!T"P""#$$%&0&V&&'X'((v() )+.+-.//0n011233H34585v56>6677>9::;;\;;<>??@X@AhABBHBbBCBCD D,DE EHEFFVFxFFGNGHHII|J JK2KtLLbMxMNNOOOOPQlQRvSS6S|TUUvUVVWlWXYjYZ[[V[\\]^^Z^_X__`H`va6ab*bTdeexef2fZf|fgJggi"iVixijjnlTlm>mrmn>n\nnqrs,sttttuBwxjxyyzzDz{{|||}Z}v}}~~&\D8Fdzօ$̆Dć 0މP `Ԍ"BꎊtĒr2֔ꕐ4̝ʟPTT8jҦ8pԩ8xت@īhJ~Pΰ2Z ijbB8>6jÀô:pĶzb ;,Єє8Z,N؂~bڠ"<ܨ ~ݦ:"br(dztx(rxc`d``!yxj@$$'jBRرZ- CM(:bXZĄB$齇 =Oz%!`-?v<!0vY+f|evT1/U|pkx>a@Ս7ky UoPq F@-zR,+{"yJoHFc#QKȽiUJ>'!Oh]b@#cBk}G!bh9G!ʾY6egvwH4JSZ,h،ЪZiQݮ9'z:QY(gnZv9#p`}NQaY R*ܞ߅$$c1ĊgcƱ -SU^ $RԱԆ4JMCQ6$thOʧnLN甜 gHwo"Cia= xuW츕U]f&?0f'd e[\U033333f1˛effJ :l}^cc1&uGԧ iDctNyt>]@Wte ]FEtu]Eצuzt}ݐnD7nB7ft ]Jtcߧ[tKݚnCtGݙBwtOݛC@z=BHz=C $(R4rRO3*4t YrМ$z2=JO3,z6=Kϣ "z1^J/+*z5^K&z3Jo;.z7K!0}>J')4}>K%2}J_7-6}K?E?M?Cߣ___/ӯЯүѯooowwOO//oo__??.8 J|WBk|._7M|1ߌ/K2oη+|+5߆o˷|'3߅w=|c>|_ߟ!P~?G1X~?cN8eS8g_/K2~9_ɯWk:~=o7[6~;w{>~??G18?ɟOg9<_/W5:owSeT/腕R)ABgk%ӨV4=#{M\;J*R;=UY'2#+ZJ\jҌdɨHauVȨm4N͜օ0)tN f*Rvs5}UU믦,tF ݆Xg:9h$B$/E FUYwf-sڝDZ6~LU5ɔ˛xno_?jU[ZwX|rb\wMveTDR,,.&^ډ]qM,KldەFױ^ 0,si^ '*HA\$37e\ɺPU 8 *aͲq!{vr8ՍY8#B1S8Sz bYPLb i7KN\RoQc 6Xh t-+Lފ\`1 M6vzԺeBt R̝(nlruscEuY0Xf"w6BxFHi;L\zC*];D۩JSX,k?XTG9B%Ura'NbE3*8-6_PVu[.Lh,VnaZNJCr9@׬3Mtr.[Vzk BY7֢*R誒C8d~NTa!EU7q?8)f#ʺhc$kaяӪ/rᬨNӔ6JtJ 'vj~}&ٍ`k[OU*ilM ϥY6Ȳ &: +S?ڄfIR-'"b* RaeF_wX_4B]~28묙b0Sr0Ż &3Dd̻Nc~]H%tk2L\7냸W ldO1C#.֢S^!ᢎeFx5-m 2ydg8TɺҫD p;Jy467q~0>2j`qrYJeGu샱bA4ڈPDuI|OyW:vU!Z0m߃4#`!^*QR;:g]$ 2"nV%RŎNU48n;AjvĄZ%Pض,%u&ss\v‚K#%Cpϙ.vP,iC/4M{qj\+MDu?1{1L 9U6ZS`8E+({Db'| A/ԈdV6 !Ja&ʤ)OOVK gLJyM =b0̈RxIa-b#-tS՞ zAvOiEb(sv„מ@:ZQ e55`;T0-hC`X!G,zԅ%4r:pܨb1zlw!A`4:DJ{}&FSeWpR-{"\*2 kG>rT"6*~52"u%l䣈\Aݺ##oOQT8hK.ЬsN諞lj9@N*/ʱD9 @x]AhXhՁM!@jRrgKF9!D)@~cmSU"B@zs_ Cg^w ,LޡV  E<.b  ڼ!{mtEVLjčE#Eֿk!y# <9ݓPs'>?y!p[sG]DZ_:\K_dYP#2ih!kv6y02 .y=8 SQ{)Rv<}AgUds#g,tF"Š $9V󼳺q]6ʾw:޽+ |rgٵ)@!{/FX6pKA7Ezޖ4<pz@9Ҭr)kSŪw$G2QCJ{Sy_wh2Qp]hXvmg]U݈jD%@ [IhA&>0H䉬N jWiG,QH''S(rd4d#Q,[]8SS3-Ne9 ӎያ6y ia#=wY#"Fvu _ bCEDT $,`󧁷 SH\f:i^K/D݇DAQl\ ]v>Hʮm`tvG+Le*3"aNt vq1+E,X!PTĦB[BH* wr@Ie]Iьpi DYnpsu|3DFJNR\e IM[]tz([Vgz"$.>DWnpsu{3DFJMP[d GMT]qy(XVgy|zwZYB81-(}zpf`USC m H  g $   @|n*^@ D PF >  h   ^ *d^H :x z88j(Z&>^  Z !*!\!"~"#P##$f$$$%&0&&''F'|''(V() )f)*L*+++,*,--|-.z./0011p12L23,334>4r45R566R6$"/.676>64'&'.7$,$+u**u$O##O$UNOT$ ** W"##"W1"/&?'&6?627/7 j  j A ( Ad>>d||&g DD g&b~~bBB"*2%2#!"&=46322654&#"#"&#"6"&462&"264:7OO7 344b3#99#3xTTxThP88P8O77O#33#TxTTx8P88P2"&4264&"'&=4;2ΑΑuuuU C Αuuu > 0  '3?GOW2#!"&5463254#!"3%+"=4;25+"=4;25+"=4;2"&462"&462"&462`lj `pT\  T  T  uu(8276#"&#"+"&5&5466325#"&#"63232P,A+=C%gA?  ')%gE;f9-4Lf9p ( S    2'4634#!"7P 0ppTvT#.2#!"&5463254#!"362"&457676`l9""((xX ""0((xXPA*/7%76#!"&5463!2+!547&?62'7'&76   `Z 0+t:A+:g `  r Z+10:A +:+2"&4264&"%//&?'&?676ΑΑuuu.>> >> >> >> Αuuu>> >> >> >>2"&4$"264/&?676ΑΑKuuu< [  ; Αauuu  [ = 4<2"&4264&"%+"&=4>7>54&#"/&7632"&462ΑΑuuu3.    %@&?A""Αuuu       64""@!+2"&54732654'6"&'&47>2267." /AA]A !-***Ô%%%%0A]AA.! aPaaPPaaMCCMMCC2E#"'&54?632632#"&'7"'632'67.27#"&'&4767z   -AY -Ap/54[*&%J/54[*&%  ?-r?-$aP)"!CM$aP)"!CM #/;Ggo7#"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;27#!"&546;54;2354;232!3!2( ( ` ( ( ` ( ( ` ( ( ` ( ( ( ( `0 ( ( 00T ( ( ( ( ( ( ( ( ( ( `4 44 4*&2#"'#"&7>7&54264&"6?Ԗj/.AJ 5Vzzz(  &zz. %8FV^^^B3*   2#!"&546;25#"/#` 7 7@  7 7H"&%2#!"&546;32%763!54+'#"7!Pp@P?@PM1 @0jh*@/DT%"&=46;2+"&=46;2#3"&=46;2#2#!"&546;27"&=46;2#J 0   =`0   P 0FFE#6L%#"'#"&'&'#"&767&54632%3264&"67654&'32?&/  A<@g;B ,zV@hKeKA___x@1gL1R>  '6,' #+7B^6, Y<71B\BB.# /#$; d?7D g&D~b#?O&.7>&>6766&&7>>&6&.7>76*  '>D88(%6*  '>D88(%5 ,36&  *6%(88D>&  i+  DF<63+  DF<63 `)  7t@+72#!"&5463"!54#2=!37+"=4;2+"=4;2   H H `0**d( ( ( ( @#+%#!"&=4?63!2!'5!$"&462"&4627   iNNi M  ppM0RZ2++"&++"&=46;2327167>322654&+4654#";2'>'>'4&"2"11"$5."S  @  @    *2V,   L=  61""1 "(3( $/$ v,#$&=  & 0RZ546;&546321;6;2+"'#"+"&'&7&'#"&7;;2675&'&'.#"#""2641"V2*    @  @  S".5$"10[  =L   ,"1 $/$ (3(" 1" &  =&$#,0RZ46326+"&=4754'1&'.5463274&#""&#"3>=4.."264j1""1 "(3( $/$ v,#$&=  & m"11"$5."S  @  @    *2V,   L=  0RZ"&=#"&54>76716=&=46;2''26=6767=4&'#3263264&""1 $/$ (3(" 1" &  =&$#,@1"V2*    @  @  S".5$"10[  =L   ,*9B++"&546;546;22=#"&=#"3%2=#"&=#"354/&+PPt`JTX j0 ~0@0>*` X 0@+3;#!"&5463!2#3254/+"&=#"362"&4264&" NzN *H44H4G"">`"PNd  h4H44HL""2#!"&5463254#!"3Z`pT 22#!"&5463!32>567!5".'&'``#dd#`#FF# 0)N N7  7`A2#""&54653+"/&2#4767654&#"#.'&546 &  8( N PIg,0+ K54L +0,ep  & (8++%%gIB25=1$05KJ60$1=52BGi#17%#!"&54767>54675462!&5414&"0"&53  H88H8,B\B4&V  C,:V    V:,C;d.BB.d% #/Ka}754;2+"3"=4;2#+"=4;2"=4;2#!54;46;546;23232%354;23#+"&=#7#54+"#";;2=32=4 ( ( ( t ( ( L ( @  X p X  p ( p@ p @( ( ( ( T ( 4 ( ( |$$ { (  ( C C_  0+7%++"=#"=4;54;2327#!"&5463!24#!"3!2` X X X X ``0T X X X X`T2"&4264&"ΑΑuuuΑuuu/2"&4264&"6"&462"&462>"'&>2ΑΑuuu//!fΑuuuc\ 99 '02"&4264&"6"&46262"&42&'&".7ΑΑuuuso~)RΑuuuc-m1 +2"&4264&"6"&46262"&42+"&463ΑΑuuus(   Αuuuc-}@'3?KWco{2#!"&54634#!"3!2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2     `   `   `          `   `   `   `   b           n              '2#!"&546;54;2354;225!30 ( ( *`4 44 4p* %&=46"&462264&"t  4ΑuuueΑΑuuu '7"=4;2#7#!"&5463!24#!"3!2l l`0T `T#2#!"&5463!%/&?676`< [  ;  `p` [ =  A1X&='.54767675467'".>7676#!"&546;2+"3!2=42;1+ 6(-$50I;"!0<*&> -.   VT"( 6  )K-;(!9 h)A') +`     %6&?6764&"2"&4264&"\ B B 9ZΑΑuuu> B \Αuuu &732/&6%#!"&5463!24#!"3!2}ccK`0Tcc`T &%#"&?67#!"&5463!24#!"3!2Cccu`0Tcc`T &7546&#!"&5463!24#!"3!2cc`0T]cc`T#!"&546;2'!#"&=#r.L h ^rLL  h ),5%+"=4;22+"=43%#!"&546;2'3#"&=# TLh   T   T7>3232>'2654&+4654.#+2;2'>4&"288-E/ @  c 0  -3 $$2K h(" m&%@ !$,3   ? :/454"N) 9  G6#&B"U.6Z%+#".'.'#+"&=46;232>3:32264&"2654&'6&'6+"#322>54&52$$ 3-  0  @  @ .G-88]b  @%&m "("454/: ?  3,$h )"BG  9(8@H%/"/&?'&4?'&6762767'7''77&2"&4264&"<G( + (G<<G( , (G5MM[44[MM[44[V==V=Q.!!.! + )G<<F) + )G<<G54[MM[44\MM=V==Vc!.!!.&"&463276"3267&5467&jj %a>!"$h;VzzV0UT2*@Ԗ#( >$?P 9-2zz)$mU2T &/&?67#!"&5463!24#!"3!2cc`0T#ccE`T"264$2"&42"&4SuuuΑΑB//B/uuuΑ/B//B #/;GYe54;2+"3"=4;2#"=4;2#3"=4;2#+"=4;2"=4;2#!54;463!232%354;23% ( ( ( ( X ( t ( ( L ( @  P  p ( p,( ( ( ( ` ( ( ( ( T ( 4 ( ( |$$   HC C7=DJQ#!"&546;2'!#"&=##"''&76767&766>77"6467&'6&7r.L h  6' . $ 3N-  x^rLL  hD .0*[" #P#!"&546;2'!#"&=#32+"'&/+"'.'&6;2476;21676r.L h         ^rLL  h &b + H k `b aa B#!"&546;2'!#"&=#2+"'&'+"&?'&6;26763r.L h # . ..  ^rLL  h =N 7 NN ($5=#!"&546;2'!#"&=#54;2*#+"73264&+r.L h H E#   0 ^rLL  h %  /c(0#!"&546;2'!#"&=#57676&2"&4r.L h  ((X((^rLL  h@((X((  !$1>FJ3#7#53#3#57#!"&546;23#"&=##5#7"&?5332264&"7#5 @ @ Lh 0 P2  -@  &L  h`W&'a  /=#!"&546;2'!#"&=#/#"&=46;7664'&>.r.L h $$)   ^rLL  h$8$Y  : 7#!"&546;2'!#"&=#6/+"&=46;2r.L h 5 h h ^rLL  h p 4% h %$'0<M7#"/&?67#!"&546;23#"&=#7/&?6&?6/5&?99!Lh  7  7!99!c66&L  h`  O66$+"&46227''64&"264''&"67&7gΑΑ/p/522/B//B5/p/52258ΑD5UB//B//p/5225/p/522!6#"/&='.77'762< p+) r%%;`l !| .;T0 <2$-  &-4#"&'&676326767'7&'7'757/?'# ^a&'O ^a&'O2 'G,4%=/@G<& G@]+G'%e:@,O+ b ^Mb ^ */%L=4J/}45/J>J%?4I0== @+/;GS_2#!"&546;>32=#!7"=4;2#'3554;2+"754;2+"=4;2+"54;2+"(  ! +@`= lPx h h h h h h  !  x ` ` P((      <   5;'&?63!"&54767>77"'675462'&5414&"&53z > . |"&&8H;B4&  0 ='#D   V:7&/.B`%22"&4264&"#"&54632'&#"3276ΑΑuuu3)?=OP<;& !$**$$ Αuuu)Q< V6/.4"%6/.4"% +/37;Ocgo#32+"=!+"=4;#"=4;2!54;2'35!355#!5#'#"=!+32!543'2+"=#"=4;2'355#+ H H H @ H @ @   @  T `8 L@ H H  H H @ @ 4 4pppL  @CGKOSgk%#32+"=#+"=4;5#+"=4;5#"=4;2354;2+354;2'35355#5#354;5#"=#+325#%5#"=#32+"=#3235435#5#4 H H X H H H X H @ 8 X H X 4 H H  H H H  H  @ X H  @  %#!"&5463!27#!3546;T`LLP hdT`Lh (42+#!"&546;54632=#"&=#"3%254#!"300*0@00*`4%+132#!"=4;467.5#"=43!2#!2654&"p2//2 2//2 h KjKKjK?ss?   ?ss?   LllL`LllL)p6+"&5<&4&/&=46>62654&+"&=4&+"&=4&+"&=4&#"/&=4&354?6$C + b'8#I$@:H       a+q,(rd !  U"49#,)( r    ( )  t ) 9U d W6+"/&676546>654&+"&=4&+"&=4&+"&=4&/&376u.  w!3 P4      sO)  7 ~!($%)!ф L       &  w ["&7.7#"&463'.>6#'32?6=4/&#"/&+";2+";2#""( X++^O8+1b"wFFw b      6 #+<+  88 857'%0 7 @;      @@%#5'&+"&546;7#"&=463!254/&#!";2+";2-d!4$r!/!&'v   r c$|H&!$40/!!!L  @',_+"/&5476'&5467&546767>3266&&?6&"/././&;267 : E-k=,\(' 3)+ /+ $ 4  [*k+L *8*V R *'"6" Rh  iz"$0  V#[k{6+"/&676546266&;2?6=4&+"&=4&+"&=4&+"&=4&'546;2+"&7546;2+"&754;2+"f!9%"m!'7'!-m       DL K (#Tw7 ''J w  wT    # #   R` ` ` ` `` [6+"/&7'&>'462654&+"&=4&+"&=4&+"/.;2?6j 6%'758 88  +<+#0      ;@ 7  ("Fw"b1+8O^++XF      b w*22"&4264&"+"/#+"&=46;2'254&+ΑΑuuu6+0 'Of(: Αuuu# ZTU3)!@;C%++"=#"=4;54;2327#!"&546;54;2354;232!3!2P L  L L  L p0 ( ( 00T L L  L L`4 44 4* +37"=4;2#7#!"&546;54;2354;232!3!2| |0 ( ( 00Tx   `4 44 4*;C%//&?'&?6767#!"&546;54;2354;232!3!28 66 66 66 660 ( ( 00TI66 66 66 66`4 44 4*'72#!"&546;54;2354;225!3%/&?6760 ( ( * K  ,o  `4 44 4p*Ɏ K -n  @!&+2#"/#"&54?6327673#0     5=? Z5=?:./,!/*2+#"=#"&54634&#!";?326&&} `&&  C  &&^ T& &   <2 /2"&4264&"%+"&=46;2+"&=46;2ΑΑuuu( 0 0 p 0 0 Αuuu    "&462264&"+"&=46;2Αuuu   'ΑΑuuux  "*Kem3#"&5#'#"'&/#+376;2264&"6/&'&6?#"##36???5#'&+"6?6264&"y@ : #;U  @v0Q  l - '9>*a ! % -=T A7 gn  @  L 0 W ;#>X    $I> <3 S0 3Y#!"&54767>254'&'"."#3!2'".'&'&?622>3676`(_dQ4/V  77  77 !K  OB) %F -    -  ,   , '+3H#32+32+#!"&5463!232!6"&462"&=463232632#  @ P4&&4& ''  @ ( @ ( 00 ( `&4&&4 "" @0<HT2#!"&5463!6"&462"&=463232632#7"=4;2#'"=4;2#'"=4;2#  4&&4& '' >ppppp`p`&4&&4 "" @@@"42"&4264&"&2"&427&'#"'%654&"6322632P88P8L((7ΑΑ8.-%%uu%)@%$%@X8P88PX((ԑΑ0& '$4@SuuS@44 '<2#!"&5463!"&46;2#"&462"&=463232632#P ` ` 4&&4& '' `0``   &4&&4 "" @$0<HP2#!"&5463!3&54632326327"=4;2#'"=4;2#'"=4;2#"&462  !''9ppppp4&&4&`p ""P@@`&4&&42#!"&54635!3!2```v !"&463!2@    &2+#!"&546;54635!%!32000@00`@0%/&//+"&=/&4?5/.?&/&?'.?>7'&/&6?'&?6'&6?65'&?6546;276?>76/76'  H;    :H  ' '" PHHP "''  H:    :H  ( '" PHHP "] " Q*T; . . 62"&462"&462"&4&2#"'#"&7>7&54264&"6?Ԗj/.AJ 5Vzzz(  &zz. %8FV^^^B3*   '72"&4264&"$"'&>276&"&46262/&"&76ΑΑuuu6//!f!l(% & Αuuu$ 99 ''A)  3F2"&4264&"62&'&".?"&547'.>6"&5"'&6?6ΑΑuuuj">'  P   P Αuuu) q     @    +GO2"&4264&"6"/"&4?'&4627626"/"&4?'&462762"&4ΑΑuuu        4&&4&Αuuuk    L    &4&&4 '/7?K2"&4264&"$2"&4264&"62"&4&"&462264&"62"&42+"&463ΑΑuuuB//B/<((&X/B//B5((&   Αuuu/B//BQ((,B//B/((,-2"&4264&"6"&46:"&42'&"&76ΑΑuuuN<= 141 Αuuu]"   /6=AEIMT[2"&4264&"6"&462"&4622+"&=4635#375#"5#75#5#75#5#326=4&+ΑΑuuu(  h000p000h( Αuuuc#  ` ( ((((  %-2"&4264&"%6"&'&62&"&462"&462ΑΑuuu2 MRM )Αuuu" ".."  N #+97"'&'6762"'&'6762&2"&4264&"%6"&'&62qΑΑuuu2 MRM ) "" "" "" ""ڑΑuuu" ".."  .?2"&4264&"%6"&'&62'&7>2/&"7&7>2/&"ΑΑuuu2 MRM )#&#  & #&#  & Αuuu" ".."  V)))) *DU"&54762"&'&62766/&"'&7>27"&4632&#"2654'2$"'&7>2/,..RM ))   & #&#d ΑgC:2:Suuu & #&#   "EE."   "|)),%(gΑ" uuuS!)) 19A%6"&'&62/.7>7>7/&67676&2"&4264&"b MRM )pFFΑΑuuu ".."  > FDF Αuuu*82"&4264&"%6"&'&62.?'&63'&4?6ΑΑuuu2 MRM ) !!PPPP !! Αuuu" ".."  /((0000(( /;JYh76"&4767&67632&#"%67#"'67327>'&76762+&/.?"'&?6367>'&676u /")7Hg<5/6S:.{$9Ig30)-S:1C /"   4  Z4  4  &.:T&@R"/6D6I;-E9I;0TR"/s Z  4Z  4p/%T:6O2"&4264&"%6"&'&62'7'&6?62/&%/&?'&6?62ΑΑuuu2 MRM )# ## Αuuu" ".."  G#  #N ##  %3ARc76"&476"'&'&6"&'6726%&>2&.""&'&62766/&"'&7>2&"'&7>2/u /"M"/ Rl #l~l# _r_ ' & ppRM ))   & #&#& #&#  R"//"R P 2;;2 1;;^_ H``."   "|))")):BJ2"&45'&"/.3267>54&"&=&'&6276&2"&462"&4ΑΑ8  %&1;uu;1 )) Α,    +'%_9SuuS9_ ,   , :GT2"&45'&"/.3267>54&"&=&'&6276/&4?&?'&6ΑΑ8  %&1;uu;1 )) !! PPP !!Α,    +'%_9SuuS9_ ,   , ((0000(('/Db2/&"&7>2"&4264&"62"&4&2"&45'&"/.3267>54&"&=&'&6276(% & B//B/<((&ΑΑ8  %&1;uu;1 ))    L/B//BQ((,Α,    +'%_9SuuS9_ ,   , %-52/&"&76"&4626"&'&622"&4264&"4(% & Z MRM )ΑΑuuu    $T ".."  6Αuuu'/7?2"&4#"'&?64/&4?64/&762"&4264&"$2"&4##))ΑΑuuu q    Αuuu?O2/&"&7>2"&4264&"%#"'&?64/&4?64/&7662/&"&76&#  &  ΑΑuuu##))&#  &  ()Αuuu    )/7If%#"'&?64/&4?64/&7637&"&7>2'&462"/&67676#"&4632&#&'654&"320##))F & %(%ZS  /4ggg  uuuS-     D  ! S  1(Αg.,  Suuu-2"&464&"6"&462"&4622+"&'&63ΑΑKuuuuE..EΑuuuuS -<<- /=2"&464&"2/&"&76&7>2/&"2+"&'&63ΑΑKuuuu&#  &   #&#  & E..EΑuuuu0)#))M -<<- )72"&464&"/&4?6&?'&62+"&'&63ΑΑKuuuu!PP !!PE..EΑuuuu(00b((0R -<<- '52"&464&"2/&"&76"&4622+"&'&63ΑΑKuuuu(% & ZE..EΑuuuu$ $S -<<- 2"&4264&"62"&462"&4ΑΑuuukΑuuu)1CO2"&4264&"$2"&42654'"&547&"&4622654'"&5472+"&463ΑΑuuu<**<*7"@*<**262/&"&762"&4ΑΑ8uu8-f- & %(%p(% & >.!!.!Α:PSuuSP:r    2   * D&4&&4&.92"&4264&"72&'&#"&46&"&46262"&46"&54ΑΑuuu<&& As$"Αuuu#.@-P10A2"&4264&"%>"'&>2''&7>2/&"62/&"'&76ΑΑuuu//!f #&#  &&#  & Αuuu 99 '))%)'2"&4264&"62"&46"&46:"&4ΑΑuuu4&&4&Αuuu;&4&&4{)72"&4264&"$/&4?&?'&62'&"&76ΑΑuuuC !! PPP !!PHC #r# Αuuu((0030((0J6'  'V6"^&! , 1U 4 6Q  D 6& Lz 0 X: . &  E 6] & Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free RegularFont Awesome 5 Free RegularRegularRegularFont Awesome 5 Free Regular-5.15.4Font Awesome 5 Free Regular-5.15.4Font Awesome 5 Free RegularFont Awesome 5 Free Regular331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Free-RegularFontAwesome5Free-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeRegularRegularFont Awesome 5 Free RegularFont Awesome 5 Free RegularFont Awesome 5 FreeFont Awesome 5 FreeRegularRegular      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~heartstaruserclocklist-altflagbookmarkimageedit times-circle check-circlequestion-circleeye eye-slash calendar-altcommentfolder folder-open chart-barcomments star-halflemon credit-cardhddhand-point-righthand-point-left hand-point-uphand-point-downcopysavesquareenvelope lightbulbbellhospital plus-squarecirclesmilefrownmehkeyboardcalendar play-circle minus-square check-square share-squarecompasscaret-square-downcaret-square-upcaret-square-rightfilefile-alt thumbs-up thumbs-downsunmooncaret-square-left dot-circlebuildingfile-pdf file-word file-excelfile-powerpoint file-image file-archive file-audio file-video file-code life-ring paper-planefutbol newspaper bell-slashclosed-captioning object-groupobject-ungroup sticky-noteclone hourglass hand-rock hand-paper hand-scissors hand-lizard hand-spock hand-pointer hand-peace calendar-pluscalendar-minuscalendar-timescalendar-checkmap comment-alt pause-circle stop-circle handshake envelope-open address-book address-card user-circleid-badgeid-cardwindow-maximizewindow-minimizewindow-restore snowflake trash-altimages clipboardarrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upgemmoney-bill-alt window-close comment-dots smile-winkangrydizzyflushed frown-opengrimacegringrin-alt grin-beamgrin-beam-sweat grin-hearts grin-squintgrin-squint-tears grin-stars grin-tears grin-tonguegrin-tongue-squintgrin-tongue-wink grin-winkkiss kiss-beamkiss-wink-heartlaugh laugh-beam laugh-squint laugh-wink meh-blankmeh-rolling-eyessad-crysad-tear smile-beamsurprisetired f0~0~ PKZ.  )plugins/pagelayer/fonts/fa-brands-400.eotnu[ d LPe:Font Awesome 5 Brands RegularRegularL331.524 (Font Awesome version: 5.15.4):Font Awesome 5 Brands Regular PFFTM9b HGDEF* (OS/21V:X`cmapo[7gasp glyf'xhead=¹6hhea6$hmtxpD,loca ~Fmaxp4@8 name8post&o]K$e_< 0~0~ ='@LfGLfPfEd.T:  @ @@  @@@ p@@ @@@ @ @@@@@@.@ @@@@ @ @   @ @Lh@ @P  @ @@@@@ @@ @@ @E@@@@ @@  @@22IRW6L^aknp~\u} !#1MRWY?B1]{=BIRUw6;Zgkpsy 17:K^`cmp|\hx#%MRWY ?B0]z4?QF~}qmjiOKI=,+*)( j _ ] \ Z X V U T R Q P O M K J I F E C B A @ = < 8 5 4 1 0 / .   p U S m B &      ' .,\x @ T  D R Z\ H| @bTrX$ PF8f.B,>P  f !2!T"P""#$$%&0&V&&'X'((v() )+.+-.//0n011233H34585v56>6677>9::;;\;;<>??@X@AhABBHBbBCBCD D,DE EHEFFVFxFFGNGHHII|J JK2KtLLbMxMNNOOOOPQlQRvSS6S|TUUvUVVWlWXYjYZ[[V[\\]^^Z^_X__`H`va6ab*bTdeexef2fZf|fgJggi"iVixijjnlTlm>mrmn>n\nnqrs,sttttuBwxjxyyzzDz{{|||}Z}v}}~~&\D8Fdzօ$̆Dć 0މP `Ԍ"BꎊtĒr2֔ꕐ4̝ʟPTT8jҦ8pԩ8xت@īhJ~Pΰ2Z ijbB8>6jÀô:pĶzb ;,Єє8Z,N؂~bڠ"<ܨ ~ݦ:"br(dztx(r #"&=6505656567676767>167#"3>&'6&'&#&'"'&'"'&'�&1�#"#"#"'454767>79305&'_Ze     ,9(% T E.8B Wse (" /   * .?B  !Da($&$ ' '3;GPT2"&4537+5323+532654&+532#5#5#535#535#;'#373'2#!2654&+3#i)) OI9__ "m" 7 c>^5 y pvymK))荍.DSE[  [[[.@6mtUgeeej <%3#0#&'&#"##"&462'654#/&""32?32545'3&)\tH H:;;V! &xxxTG_DD,E))E !7463!1#!>7>7>7>7 F1GE1YXF1 3 /#  /2/<H1FZ9f1F&  4H7' %/#'73?37'#7'5;;mWW.**W223223ml&z,$#"&546301%!!%&'�#"3273  @w8  (  @K N   #+;T62"&47"'&'&476762264&"6264&"72#!"&546364'.'&"27>,,   D00D0  nO0+\+0+\+0,,H    0D00Dd  `\+0+\+00%#".?'&>32#"/&4?632s \\ q  \t$}{$$${$-8`f32'6123%>767676761232126'>'676767&4>767.&/7>'.767&'7~#c% /& 5  "- 7  /2   '%^ XJ4##0   B?")  99&    , -$! @z #'%53'3#5353353353353%53!53'53}}}}}}}}}}}}}IIHIIeIIIIIIIIeIIIIeII%7!67"'.5&736.'#>32>W\Nb'4Dz Gq$ zc@h4-6 ib69!.+ G4];64?A)GTeqz73#"&'5&547>3032&#"1"32767#$#5##"'&505463254'&#"'6365&#"32'0+#53212654'&+321%3#7'33jc*3 3(  9v  "  S'?  ''O4% 1!!   ;O    g   LX  A@x\ 9BLYbj%#0#'#"#'#"/"#"/"#"/""/&##"/&##"/&##"5057&'"#"5457&'#"'&54?4/&54?4/&54?4/&4?65'&54?65'&54?67'&5476;67'45432367'54326?6322?6322?6237632376327232072327267#"&'.5&+32+723232?6324&#"2&4&'#"2'35#&264&#"3254&+6=4;654/&54?.'#"/32&264&+"264&#"         O0-  %*)$   O5 , ;?#D(>+'               ##6  ## )  x  ( x   ($0 /    "%#"'"&4632&#"265313C7___D ,,=,X ,%'D___Z,=,,] 4 %!533=#5@}}}}?`.Q%#!"'&5467&54632>321"13%2+"5057>?27454'&#'&'&?632 U7'(O15S 'Q4J'32    '8 ( -9C3"`J4  1!67#&'!".'&546Y'/7V),2+++46%3 ,!6S?H "<$V4D%2#"/041742'054;20+"01+"5417'054;221+"541743nBoCCCmBm1#"/72?6="'&'56?657'&"%62 w! w!4   _E8WP _ D8WP 7%7'3'3+tvfgt 9uN%'&'.'&'.'.&'.>1'&76'.5&547> /3       *"3;X GBF c @A  L       &9=# !D>@%,!1:%2+5'2+5%2#!"&54634&#!"3!262+51:b:!00!!00!]%%%%}:bba0!!00!!0%%%%(b "EMU]emu}7"/#1"/&=4?622#"/&=43254323327676"&4622"&4"&4622"&4"&462"&46262"&42"&4tdKu  ee JJ   _ `   L   DV s:  +E  :: ++,   G  F 2  E ; +92"&47'&=7577.#"7'&?6>54/ƍƍj g -V07_I (!Y} ƍ !4Z%#(3+#Y  h -6HL7#'#'3733732"&4254#"#"&5463253#'"3254#5##"&=332=33#%&-&#$;##;"?  "   "" &&luuttvv,#;$$;E'(''%>f('(fLF#AW%92#!"&54636767&#"&'&''3#"'32>54/(S5 "$- .79X)`  0!@#$:T-#2+537#54;5&#"#3#"&5463: E(+3??H/&=2.7H`32#!"&546335#6264&"54&#"#5#354632   gC  @!.!@C    u24j  h TYagnu{2#!"&5463>54&#"54&5&'&'0'43767.547&7662>&&364#"32&'&6'6&'6'&&6'&'6'"2=aEE]>2       +    S   `W7D]]D7W      ) @  /#"'327"&'327.=&547&546326767(ItFXI I:#5 $0/'q@=+.$ "( 5iW6/-):%  81: +>!% %537#54;5&#"#3.5462xY: E(+3??YxΑ\H/&=2.7H\gbjrz7#54366'72&2&5<54'>54&'6'&&".&'./"?'.5466'&'6'&6'&'6&!(Gi]K $   " A%  "   + L^, " 3gS? (%   %!(    0Sh ! D#"'6?32654&#"7>76'&54632#"&7>54&#".5462g&# 7IXALW=3.:-! GW'Α (; YA=RX>9 "+A9,2@ $ " g.~NgN+6?32654&#"74676'&54632#"&7>54'&#"&5463!2 7IWAKW=2-:-!  Y`p$; X@=QW>8 !+@8,1? #  7  `)52#!"&54632654'#3#"&46327&#"%5#5##335t+5^9%$');;`6,"%4%;R;R t%%#"&4632&#"3267#53##5#5353fRPppPK54.1FF126mn888778Sipp22GdG6C88888 $3#3&"&462#54.#"#33>32d]], , T]!]Z . "- +) , ,*#+))0!0HP6"&462#*.'&547&5472632>34&#""'&#";2>&2"&4##9 ) 76-*#1*/*&1"'@(" ,0+ "(//00/d##&$$&$;$  (7A0 .w#00#++V$&$$& {%#76&+###'!2a41$% `--=!'7#3/#3?#'# 56/cat44 0>&L1'73?!7!7!7@RtM PP_),,aR5R+>Q%#5"##5"#723>75."#57536353'262>54.2>54.#6MGB1 1 X  T 1 13<      ! R5,DCCD:4ONMO%(:T`      2!$#"'&'.'547>7>7327'& 'j,,*'  j,,*ǏDBZ+%  %CY+ RQ#70+"&?'&6;2%+"/>76;2F AE,A  [B \H) B| zL V 6H  12#!"&54632767'&+"3%6&+";26/\0 .1 /fB/B` U7 6W x w '7'7757'7LUTTUTTTUUTTTTTUTT~ %'?'7'?'#553!53# zw w4((')'.$T%((Pxx0g2"&4264&"6"&462"'.'&47676762><.'&'.*#*:3:>76`CC`CT>,,>,\C==C!!==C- #)(#  #)'#3C`CC`{,>,,>6=CB=76;232+766 5!*> / *(F T T#!  ., D B% s R  @ 72#!"&54636/&'&&=32=4+54+";3244, 1&*`( S4H 8+Z}&%"&#"#.'&54672326''&7>7?= : ./ 1E.8@938 % &?&P26*'?F(n&( ( 7#53537#b"@@*$"&462"&462?654#"&#"'&#"!.0 1:AA:1 0?N@NS UU S"xIIx  j}%?"#ǜ#"#"54762"10'&'&#'.'&'&76'&5476767>7&767674.>32&63"6'&""60'&672676&367676'.'&#""6&/&'&6567656767636'6'&'"&#&'&''.'&'&76#%4'.'&'&'"1767>&72132767>2#"'&   %    +!  !    0       (   $ 29#%                 E    .3% "#"(#*%9   )  <    5$  2  # 1!.2 #) 3$      &   #  !,4:2"&4%6&'.>'7&>7&''7&'67&ΑΑ:# IKG'd3+$"7-> ^e$7b7 lnR.t3 =YM?EΑ* JR# 9C &(N1AR;267676&+"&=46;267C0  S  Y I  Z j  ! J l % !12#!"&54=46354&+";26754&+";26!!!! S  S  Q  Q !!!}(!  {  2"&4>&'&'.ΑΑk ! & " qΑQ    4`G0+".'&#"#"&'.54;2326=.546;227>?6;2!)";  ( /`$"-; = ]$ ;JD3   '   &! 84.[0  =` Wt<  &0>JT\6&&676&"&547676766.766&76&&6'.7>'&>&7&76  &3  ULH<,77.=RB:vX)?8-? ?-7BRXvR EZ\Q..QX R\ZO%&/#"43267.'>67".'665.674>2/>21-a9 0Q%/,&@*  !$4##& #*)  &&7&' >H;3 -'$, %  " $$6 *+( %2)%   7!+5#"&=!%5!'2!5463&W&dA&d&t'ZZ'-UUnUU((42#!"&54636'&6&'."6323276P2B! -A@`?N  *f  #!3TR)2>GS7"&46;462"&5"&4622+"&463462+'"&=4622"&=7"&46;2#^&/''/'/v3&/''/'/v'/v3&/''/'/v&/''/7AIQ.54'76&#'&33'76&#"#>32"#"#"'76546"&4624&"2>e6BeL "8 !/M #^7S=A#$:0A<ΑΆċg>-"4G [,48": 2/7:b($ ΑΑċċ%.546777'7&'57DWumS7EM:D%(E3# R85Q + 8$&:T!+3#7'362"&43#]^'j`80""0"|h]h3Z"0""0%#"&4632.32>7#53kggaEC YM7Z@#7jΑAA !M2A\#"V9GQ6"&5462$"&462"&'7264&#"'&&#"32654'>&6"'&7672"&46Α  $28 =2$ N67MUL C  ΑΑ N V (77(t Y  %5^%"'&76276'#"&5463272#"&5467#!"&5463!2"&'7264&#"'&&#"32654'>&RHW  [  `d '6; B6& T:;Sf1    ` U ] ! *<<* !%72"&42754&""&=#326=405#"&='26ΑΑ ",>,  :,,:  ",>,Α!  +*l -.,+kq.0 / /+,.%"&=726='54&"#"&=326=462B]B"4B/.BVC[C4F.BA.FG  H:  .AB.FE  -?@-$%3#!"'&'&'&'&5463!225#5#"3326 `  | `   ` !%)53#55#%3#535#75#53#535'35'3#3#R3RHRRRͅR4444L]]))]]))]]u3 #0@#"'56322#"'567#!"&5463!2264&#"#754&#"7532  G  `++-3+ 4 !DiD`/A/ 3:B. 39>B7'26322/>&67>77367>?&75.#&'<7465&#".'&'#"&54?.>3263263232654.547'6'632763'7>31#  37 6I  G#     ,g  ; #,  "  ?! ,     0  5/)    .%  E<     -      \ PK<  3  !%,    4. "   &"H3^ (:R#"&54>767676'&#"&/"6'763276&'&"6&#"#".#">2@ &pNNt& (   + $P&  V = "+#3(* 0M,E'RhmQ%D* #&  D 66*"$  11Ic46326&".'.7.67>>32'64&"#"&'&'7264/7'#"&5467&72767#!6*, d,3! V6"#-, Z#"9, d-[(b0' (7!#,,  Y d# *, d,2"6!_U #!8-- Zl!#, d,[ (0' (#!7,- X  @u 287+32'3254#254+%#53#32673#"&546323&#"AH5qO/5 :8U8!!>\7#!"&5463!235#4'654+32674&"327##"534-.+(?`NN+#>Z]'$?(' 2" "d47--`}) 0+ +* )/ #08@#"&'326'7654&"&'>32>&/6'&'6"&462264&"gU_&*T(87M7;bg   ( 3%%3%R'''ΑeO' +<8''66'V 7`   (v$4$$4&&5=E>&/6'&'2#!"&=326'7654&"&'5463"&462264&" &Y$'O%53I38u0""0#M%%N && ^q%(84%$33$Q 0"0""0$$.C2"&42654'&327672654'&#"327672654'&#"3276ΑΑ] `  |S  Md20  ?0$  R{B4  <5Α  9 2B  -  L 0 @3#0#57'#53?3@b[ , ]]V+ bc T ] T 5K #-9DN`u7#"5'743272#"5'7472#"5'742"5'?2#"5'7462#"5'762"5'?#"5/7547632#"'&5'?47622#"5'72+&=476326%2#"5'74'2#"5'742#"5'7o s ~!..! 7O.AEEA)iEEiDD`####9989 DBBDFDDFr@ :BCC8/ !.  I6<AACCCC+%#'.'367.54632&'654#"O* +%$ J ;+-%+7/(0  "L44\ ;K~Km5,>N12A)<: .:9 $(+/&=4?67'775'?'7'75 _MجM_7_MNNNdM_7   ;g?3ss3?5J%g?3444s3?5J%A!E{%##"'.'&676'&7606766&'&5.*&'&35236'#"'.'&67>76'.5676676.&76" <'#J$; '&/(1aT+ 0;A(&"# D+;'I!  ,!%B' $ "1D$&1."#C1)>1 ($X $>&('B<s L  !   &&H %  /, M"&7>721>?64/./76&/7>?>?>./65g<7     -,     (8h7"67527'676"&4624&"2'67'654'7&'"'7&'&'7&47'6767'6327' :a )= :b ); a:=)$ b:=)oΑ΅Ċc   4 @@ 4  4 @@ 490  .  2991 w90 /-  09 . 09 /ΑΑĊĊW2r1 CC,  ,CC,  , "*J\|7&5472#"&6%#!"&5463!23254#"#.32654&'654'7'"=#37'.541535#"545#23232e !!#  O`1$ @!$ 0  ! U 4He&$ r |`YD     XiK  = B&19LVv"'#"547&5467&54>4&'&'6'26&#"527>=4&'733'"&5432#"&=4&"#5>73;#067%)$ %:5f#)-( 453 T?%%!!$ &9= "#"   #&2 ,&    $##$d w! ###j%">)a!!77#.'#3@Q#  %P@6-/0"gg-'&67&632'2'&6654&#""'&>H 77 !;kEb{Q>jP9%>"  'M0_93!!sDbENeRC9P$9G# (VG-1%&/"'"'&67.5'"&6767&632 n##m   !QRQR!  7  7 0 Q^yx_Q 0 3(6AL"#"'7&54632&'"3264&264&#"'#"&46322654&#"32654&#"E` 1DNrQGq r   D6(F``FBc  r   Z@ ";7ME`N;5   0   =40 SuST!     E\2"&462"&46'&7<5"&#'&7&'&625463!254&#!"6366263$$3$3$$3% #G6"(& &("6H# gB)  *D&!0""0!!0""09 *f4! *  ) !4g+  #5##5'!#5#5!373&D'}oMatWDMYnnnng[[J@@!0?O7#"&'&547632&54?6#"#&7&6#"'7&?632%67232/&54+dl  1 J  +mi" Zk > !5; " h1    R o "' [   H7+"&7>3262"&7#*+"&76763:>7676o K; H$ *m $ y@  7?s O,Y BpW   (&'>&2#&'&6373#&&'&'&6;25 07h<m~r |JY AUM21c2$0=LvnM X¦nfjaJH@%)GR%#70>?#!"&5463!27#/&'#37#74'&56367&#"#"/26'#"3673!m X@+'@$("&$' <*4&+`jG  2  ! # @ 4BR^d -9F$"4!2#"462#72#"42011"1"1"1"1&1<143403030310030410+353#!"&5463!2327&67&#"64'4#"&#"5#3<>323<>3237#&#"327374&5427&"'63'=35#5##3734#"7'&7&5#3546467&7'7#&737&5#35467#&7373535#45&1&0#"0#111323210606107#'#537374&#"326 xu uJ Q9*#76#*9555Y - ( #   :    5"  *Q9*#67#*9Q1 Z`fsQ-,)))v%    %         %     % %  |~U:Q--Q @'3:BPhqu}%+53272#!"&54633533'654.*#35#535#535+37#&"264'&75&546"'654&'&5467&2654&+35#5!26%+532  :-r#$;%%^))! a  ,  $ l[3z *  `R!!#RTT7:%%  /      RRR i 6A-69@LM^ey|.F^juv#<.+#532254+2*##'#5377'#3#57254+'#3#3#53#54&+#532254+'#5#'#'##7353733':>7#!"&=3673353>7352335;6733535#&'#&'#"1#"5#.*+.'#.'#5463!2"#"5*5#."&*#&+.'#3673465273<52323267437"+73254&"&54;254&&54;#"6+5'#3##53'63023"'&47'3*;735353#'#'##"543'3#E '   !BC3)$$j?  '&&'77I  ' "#   5B 4)(+  (  g .(#  O  : SR 0 '&@$    !W  !   '&&'889 ""!L p  EZ E6  8  Ej  EP6666EBB//(Z        \    & n]    <  (  (  E^ 7BB11E44"# (E @ ,AXr7#"54632'2+743!2+7437#!"&5463!24+";2?46:3267#"&#"327;2?47454+"'&+"0;274+";2?>:1267#"&#"327;2?474+";27'2#"546  j   @"(T  %@  "(T  ,J   !  `f   @b\'&nf   @!h1  @!=MW[_n%2#462#"'5672#!"&54634.54325&#"#"'32675#53275&=5&'#3565#752654&#"'#757454&#"3275#"' $ n  J E#e $ =$$$n  $   5` "  "Lr 3! }U b}}! " ( 3$%! 1OT7#"&546323254.'&54632&#" #"&'.#"326?3>BD@% -)=  D<-^;+ zFE   )&& Q FCFM %#' <-'J#   Q60 ( /3)2 b2#!"&5463254.1&54327&#"2#"'. #"326?'#"&54632L  $:%+  &.    (+)'   +`3 /% . 0,*,    ";G2+#"&'#"&46;&546324'!"&463!.#"!2#!326%32+"&46h  5gL|C  5gL|  ^8Su*  ^8Su   gTDgTD`/9uS/9uk.%-6B~%#"&547&54632&54632>32654#"6'&"32654&>&'.#"723201&'"##"&732654&#"32'67&[!iVF_3 /%7 P!"/ ."=0 Y!r ( 1  .  C-A6 0&Xs\99#3%/^xeCQ\P:( '! ;A   ?$!)/ #%#!"&5463!2 #37+V `A__[p)`*[[ 3GJO\cfknrw%#"'#"'##"&547'&547'&54?4&14?&54632362363225#7575'#075175573'7'37'77&='&'#'#7#"7'"7'737'37#3'#362?#6?#747'74547'67& 7 4 kj 4 7 6 8 jj 8,,-,3483,.,rb@#  PSPY|D"uSb: 9 h3K x63)O<<$$kR#[ci\&\a |sZ#V.# _ Z  Y _ \ a  ` L30?\4Z`H!7&'677&'>7\\gq!!p$74(-CyU#"g \$a!rp!0>}B-k#V h":%:#&&#"6326"'&#"&#"+632632 &#"&#">32632 8/-:8C,0=*)$"75>))>57#"*>G@**@G>"/6>))>6/"!18//8#9Q+)))]##&& z+;K[%#!"&5467&54632>3254&+";26754&+";26754&+";26754&+";26)5I22I' 1#[:Ec   Y   Z   W   C+3HH3$< "28HcEo o       ' #'+/37;?CGMUtx|?7?7'777?#5##5##53#53#53#5##53#5#57#5#53"&462'6#"'32654&&543237&#"'#553%#5!'%!5!#5#57#553'53'#55353'#53#55#53'#5d,r" " "!"Q"=!" Q"$ "L66L5!   y a *zz " ! !Q"u"/"&      B    > g "" " 5L55L:    D""""M!!0jbbU;;!!+!! !!+!!x M"""" " "" !)2#!"&546;235463264&"264&"  >  j  7''7'7''7'  L  (( '7''7''7''7|U%#".#"327>32#"&5463232>.#"#"&54654&#"#"&547632632D26()!)'5*9 <+C;  S(@ZXA!<,,"'%.& % ! C2(&@>,* "R?@U",/,")) 2A ,O; >?2#"&'"'&54>7&547632>54&#"#"&546IkI2(       % & A50Pd P#"'7&546322656'&"77'.1&5476323217676}C\91v \\\Ln96mF+  )    ! _CZ\s3<\imLJ86lL5-D  ) 3#3#'#53'#53'3377#00DRgYYgRD00@Q^Q6p0 00 0p@(!!5#'#35'&753735'&75&7@tS;DW Z O Cv@V"&&s!7#/#3@N!. -#L@[ [^B#1BPcov%'''.567&667&674665"&'&7>762263&'&'45&'&67666667&6767&'6:>5>"23636#6666'6&'.6767&'"#276&67&54&&7&'6756"2654&#7>'"#276464'"#'7>7>7&7.#'&''''&'&'65.'&26'67&'&''&'5767#65&'&'&7&5&'6&3>.>6&5467"&7654'64676&%'.'&6'&'&6=3 3  !   (  !'% /T '     N 4  P  2 ?--?,(" 5#J*  $a 8 KQ/K*    1 2 $55+7 SE/98 7172 $B! <4  %  %0  %   ))  "   G   "G% "$         ! '(!$  !&' ("- --   # .&  $6  ( O 4*!     &O6R' "3%&     #   H  + 0$"&462"2"&42>..'&&&&Q';( '3 3&XQ:aB9 *e&&&&) #,8%'   ,) 0<LT\2"&4#;2=462;2=4&"54&+";26'+"=4;2+"=&54622"&4264&"}}}t  '.'  9P9       ΑΑ}}} !! (99  5    Α@ 9L\%531"#527#!"&5463!2##"'32>4&7.675&464&'>54&'+326& ((h v9  "  73!"651""1u{  #`   % !! 2 =  @ #12"&45>4&'72#!"&54632654&+"3ggg ((p(( OywQ[QprOpghh 9F8 8F9 x``qMTnmUNp)5A7&#"327#".54632&#"327#".54632'2#"&5462654&#"! !! , -.! !! + -.yidfjQzvUVuwX'"(%$X'!(%hkge=sXUvzQSx t 7'7'7'7'77''gg-4M-4Mggf-4L-4Lg 2"&47''77'7'7'7'ΑΑJM5MM #~~~JM5NN ΑKN5MM $~|~~KN5MM ?&0:%'&'.7617&'.7>26?6%462"&72654&"!9L 9L # L;  140 LlLLlLB&4&&4&rL # 9L M   6LL65LL5%%%%C6462"7#!"&5463!2264&".#"&/&?6/67>  `/D//D% % 0  0$  / # !!`SD//C0    /  0$ 0  +2#"&=46367>54&#"&'.#"2]]") "  *" ]] '  !  (  G#'&1.'.<53>7.'5676&#<5:3.#5'RJa 0 j <; -  <)&;@z  (!%780  r   B7.  {   .6FRZl~%7&2"&43237654'&#"'32?654'&#"&"2=32545'&#"264/&;24+654'&#"#32?654/&#"232454#"32754"27654/&#"32>4/&"'7%654/"#"32724+"3mGTΑΑq9S>  B `IC>  dttG GmΑS)  Q )  otGH '7'>32'&462"%'76&'7.547M#f7C:@!,J1F11F !%#"&'4&5&7>767>&67>"06764'&'.0#"0#9>3676;2023030021002210110010101g\ -%\*=     $` #a04     guYC9%,(9"b:1 #!)V$"      %"327#"#.546;2&&'>4&'>:=`* &=W5.F_cg^F-0G*76+GOJk~0K?dg?sb~bJ !)/8!673#"'.546767>667&73."7654&#"& /?DywJF ">59O5EQapI %1IY>R=C- DI$3 DN&# Q gFOUk+9',@ *)66J&27#"&546;%2+6''.'.676767&'- P: 4>7#  $6 /*A|0#>=g>  3E/;  73!I[l7&6765>32'&62654&6764'&#"#'&=4;2+3>.>#".&6.'&66'47'&63276#"'#"'&g  9((:O2 ,-*8'Z &&'77& %eU;%9HD<05;D%0C# 1oT  M`k   h ^%79(1;&&  / &m'&&  ("Q5*E' 1*  1&_?576#".'&62>76&7>'&'&>76  JI>. 9&?<,%3%T $T/0^37&@9J'$  *  &  (@ 8$ /',W)7  ))    &  %##3#im2uhV'#"'&'.#"'>76767676&6Y[?'   ( 4 "!]E&ArwI#-)0% L5-l !!%'7#@<@@@@\@{VVY*=L!!274&#"#3235'&74=37#4754>35'"454=#?'#'##77@ 3#'&,8 DSgPQ   @3 !%%oq% l  !)5CO%2#"&547.6326?6632#"&5'632654&#"6'&"'&272654&#" {XW{ 9O a XP9ky&1 ?YY? 0'( !}'inR@\#"'&547654'&#">320#"&'&767632.%#"'&'&76732767632  8 !.L/SYI{  Iy)/=*$$ )- c #%#5(fF$! :-) 6 0#2,#UoCoNA<:+ ##  1GAQ3:IO WW>H-;]7[[:b,aFQΑIAmnHW>>W?#/5; %''7'57#d%S}.*}TA`&::Yeq%2#54&"#54;2354;2354;235435&4663232632#"&#"2354;2354;23543%54+";2754+";2"*"$$%    %%$``   p<&   @@@@U$#"'&=#;54;2+"=#".+#"&46322>7>23>32#"&'#"!546Y  Y Y 'e&**&      6 Y 5$ <" Y ,6,*:* "-!< #6$+5326"&4624&+3532FFFȑΑ3$x2F$JΑΑH3J|4CR%#!"&5467>322654&'&7654&#"'&#"3$#"&764'&>#"&764'&>!*8'/B7*X6A`J4%?  ** %   "   3"'8C.+?3?X  4J)! );)x8  -l-  Ia(  H  87&54636'7&"76&%#/7327654'&7466*^I"<53%8C)G!G( 4RmR=#!@P_"*&3IP  H'%*# 6EL,IH'0A( #'76#".4>327''77%+*|3@-.C97D-,B3O}J]]J+VV+e66fi89XI^\I' 7''7'75#'7bVllV422gV ll VΝ2djd2 1#7627'&73%'#762i98f ^ 889Xڸ e &!)-%#"&'*##".67.>2%35#5&''35#7#77#7!=ZfZ=!**-e)&lm~8//8&TJ;##;JT-: "j:  $(+/36:#!"&5463!24+''#"3!2#5#5?##5#5?##5j% o==o jIIIT6vp@vcujjK22K%%J&&,u%%J&&,%%/2#'".'.&56'&'&'.VP5QF/"35#D $GI& %6 (,>=E10RG .A9l ,! g,c#"&54676327#!"&5463!24&'&#"'>54#"32321'&54>14&#"3267>7632   `@   D1;.)"3 ! + ,(0 3`"??O-(-<   "8$  DZ%#&#"#"&546327674"#"&54>32>32'654.#"3:>76#2 (5R6(. /   BI%R667   7  8Y1'6  *-GB-XA05f  P M(,?0E&'67"'.>32&#">54'654#"'6767&547>.%$ 33(&Y;! :N?1#1 m;Ob/&KB%  0**JMX CJ88*p^B  T:4M AUM' 79DR;$cI)+ !2 ?T2#!"&5463>''3654'5.'.5463267&#"2726&'>7 1%D '1$%8  c< ) .`H%3+U$"7 1./6( 0 $5 );F#.>   d2"&46'.'#&76763654'&"'6'.#0"1"#"'&03263277632327>76ΑΑ    .   ,'Α   < <  g%#"&#"''.#"#"'.5&'0547>7056'.'&7>327&47>3023232761<  ("*  D $   %( )D $7             I$*(I      l2#!"&54636'.'#&76763654'&"'6'.#0"1"#"'&03263277632327>76Z    .   ,'`   < <    )632654'67"&4632667&#"o $&3)/Ih- ;zzzV6/B\d%(IhJV6?#hIC2 =TVzzz7^hIRGMSYc?27777''''"'7&'7&'7&'7&547'67'67'67'6'7'7'5$"2654 - 2= @DC@ =2 -  -3= @DD@ =3 - ʼbbbۄD@ =3 - -3= AED@ =3 - -3> @DuuvvPmnn;bFEccEF-83#"3#"&=46%3 5>574&'&'37#6734'7[++) %65 C( 0! >2 1=t))5%%482i@E&( 3. GA1. S[my462"##"'"'"'#"&5#"'67&'7&'&54>3267>761>32632632$264&"47327654#"&4&"26574&"26574&"26574&"2657#"&5476326262632>74&#"32>6  &N    " $6 $G'  -   - 47)   1   1   2   MU2FZ%"    & 3)-")R-_  O-  7!25$" &(Dt!B6#  .9iH2>.VN*?$)".2"&426=4'#3#"&46327&#"%35#5##33ΑΑ5BuF) -- !"13II##$$$$ΑD5 +.@.! IfIj$##$#?2#!"&54635#"&#"54&"26=>32327#"&#"6303232 -+&   &++ +`    `  BFJNRVZcgos%#/#/##&1'&'&?&5'&?&/&?2327674?677'///7'75'??'? 7CTA&{Z"$#;Fe[ yjIP9@ F+: >NOU\_BX@)J3H,!6.CEN d ',# $&9a=/791=^:=D<>F=,DC/DJC("?$A1%#"'.546323267'654&#"327.#"'632(;%:tKxNOwJr588338   +!)= ">(dAUpoV_:$ :%?PNNPON>Rk#"'&'467632357>7>'0.76&/.67>/7#"'&547674'&547632aAC 4  ~]        # 4 CA `?[e@ $Aa1J% >(' 4 , #%98#/$#%J1b@$ @e[?2"&46&762?7ΑΑr   =s>Α ] Yh?.  2"&47#ΑΑ(UUΑε .6>%/&?6''&766'&7.7627&>"&4626&'.>;4'64/676&'&.'&7&'">374'&"417670.#636=4'&'6767-    N ! )! ΑO          2  '  /].('     $ 7  ΑΑ   %"   ; 3     !  5 n*%#X%&5>56'4.'57#.+"72>73#.'&#;2>7   h X C-Y   d1276a'88''88'*$  / $|%Q)% / 8''88''8IQ &  /)    HQ & /)  7&7>7>6&'&6W?_E**W?`E04P<;ZP<;ZW>VFe W=WFe ;XO;.6766&'&67'&6&6.''0&'&'.67&67>6.'&6'&'"'&#&'&'&767>7667>763266.6a  ?  1 m  - T   FE&#'f*3T ^(+      )  % ,P       L    :  <   w!K$ 2?#J2$ A5 @`  b    "k  F  0. K S O2#!"&54634&#!"3!262327#"&#"1"56323275#"&#""&=462>p  ` +--+ ++&   &`p`   `    )1A%&?'>.#"'6?'.?6176&"&46227.547  )*'1''#.L+3  D  :j-**'$ZJ3!(/ z $>-'<2#' V. = Q C**(#K05*'8.0Q%01#547>7>?&'.623632&7.#&$#&5&7067672?B.,]rvy 3 :: q z   ;9v *)"%txBy+ / LD6 J4@Wy2#!"&546367676'.6'<.'&67>4&*#"#"&63!22654*#".676766325'&'&7>0&".5&7676 ; ';1C# @=  73    2!  )- 4 %#  5E& |   '!"'   ZG 22!. ;32H-"&>#"&'>76MU,MU,!q=l&5V $7k4!bj4 ^ r4-F13!T!3DL2"&46'&'"?2#!"&546337632=4&+"767676/&"264&"J44J4)#### - T BiJJiJ 4J44J$C###J#U - JiJJi3F2"#"'&=#".5<>7>754.#"&'&'&76532a_@5X"0 D (V  LE (I?    & 7k      0NGT\`c%777'77?'7&7>721?6?77?7?''&76?6&2>77'/???>761?6'7?7''7#''767676'&76767?&'&#7'###"@ /  x  $!% '%A$$%%6 K :(  ;  ( 9 &  '  +"%  )&p "? qsvPSxx$&" (uoV\> & @< &(Mzfh?B)   +.N--+$'%' *(?BO@    &"7?K7>32#"&46;7'&>.?6732+&'.'&67&2"&44&#"326 W? 4BF5 2  ΑΑYZ~YZ~G   s$ " +  " V% ΑgZ~YZ~2G2#!"&54637&676&+76.'.#"3!264&+&'>/O>V A3  4+  3`!= #r   J$X! V)>J^j7254#"#47632#7##"&5462654&#"733>32#"&'##74&#"32673>32#"&'##74&#"326747632#32653#"'&7454&#"733632#454&#"#* & %, ''  Z& 'Q  :& 'Q  5 ! L & #& M ]' # '   L 0 _  %( Fl  O  %( Fl  #    3  .   DA.6%#'#7'#7&74767676&'&>67'?If.!$!e"E*;f!1+ 2I:rkrTWZ`QYOf!$!nG 5%"37)*= !.SN,2. I29 z5()%%57.#>2632&#"'>32'.@~6D[j[#<<#."4)MM)1166ȀG8*22*1110o ?II?DAT02#!"&7>37/>16./'7'67"91"91_ g E :4)s)))4)w qd 0= @ n.;d7#*&'#0#&7&6256&"#&47>323226765&#&/&5&1430367636763:'#/'"'&=47>'.'.5&632#.#&#"#"&'&63216766&&7>&7   &),(V 2 $!  !% 4  !! !  #  '$    3CY?~s I4&   "  e          "  #h&)?:T0   M#32#!"&546354&+"#5#353;26'+"&=46;2   @(@@@@ 9@(@..   #*('K#'(H=Pd"&4626'7'&'7'&/2130"''0&/377676'6".#727".'72Α=    %    #    "3 (9         'ΑΑ*-+,-  3H -,-- -6< Q6  )5O62'&"..7>7&67>'&6'"&=462746#"&=4632>NGI?>i`b UT   OR^ GE11E%"!%}CG=:e`  T  Q  ]1 H   G0++0G  !1! 2 s!)19+73272+72+732+7%2+72+72+7"&GD~!%FIFGFFF(FFyFFKYY1Y1Y61Y1Y61Y<^7>32"'.2"'.7>#"'&'&'&'&547>76 '&'.'&54'&'&'"76767> 9C) 04 I!V"2+ %v  X  .:G S$4E%"'.'.567>7>3%327654'&#">'.#"? #/ ";  - '48%( ,  -- .$  CB  TM %$3%-L^ #5  )22   #'+/37;?C3#75#73#75#73#75#3#75#73#75#73#75#3#75#73#75#73#xpxpxpxpxpxpxpxpppxppxpp(ppxppxpp(ppxppx#$.>.7>7>76.'6L)5!)58Gs8 K8/fYH+H5K;+35!*5!P~F@e$>]4m"C2. )u ;'/6"&4767&#"&546326&&2"&4264&">L  $'7L5-'UI^^^&X  8* 6N"q߃^^^M$"&462'""&54632654632L1E22E#".0G12"#)5##--?F11F1-#".."#5)#"21F1q(Vfs7#"&=46;;26=4#67>76#'&77>76/6.'&.1&677&'#"&=46;2'"=4;2#754;2+"+"&=46;21/  .*75/ 62 G2$q%;Q9, 7$>4R60    &>(D( ( }    p (  ,5 +Y1+9%">,%)&". #@/ 4C3    93$  ( ( (     T -LWo7+76;26'&++76;2";2#"&7>;#72+"&6;+";2?6+"&?%2#7632+"&576&++"&?3+"&?>;2+76;2?6+"   # %   ( 90 # : $   I B /5 !+  _ .( #4  "c#(!( @bJ (   !'#31/#?#7#{p651cb ost44>*6R#&+Α+&#R>T>*.y &767676.'&'&76'&'&0&'&0&&'&1.'241676727"#00'671327>7213"767676'&'4.501&'&'&76767632767617'"#7&'0'"'"#.76&'.'&'&'4'.'&7030236'45"37>'&'6%&'6&74&5&'&5&76767&'&'&'&7671676'&'6'&272637'67'676&'&67&'67&4>56'&'&"#>767&R "8       % ") )    ,H+#   )%     !0              "            2   '| ] )  ;%   $X-. -   V   15 +* !$  %          !             %        +5EU3#5'.546762654&"'3#5'.546762654&"%!"3!2654&'2#!"&5463~44-.@44 .-@D    &&&&8 &' :  &' :     &&&&CH767>54'&'37#73'##".5&#".7547;2254'326&  O 4" wZJ! [ !&R T&6 @$@& 3+7    # / )$J"'53'3#%#512>'.'&#4>1#53WJ>>Bj<3P -7]<`6[v@8S__"JJ=@v[6`<]7- Q2!""!>:-,z1 DD 1  ###1####1# 2+4546264&"7\\Z5KKjKR[KjKK5!K #53+32&+3250`ӽ__q ~Td  -159=%#535#5#5'#53#5'#"'.7!27&6?6%#53#53#5'#5^BBBBZBBW C)vn8 %+ BBB B;==;;H<<<'.#"&76767>357$4&"23676&/&'YH0!"!H)("M["/ 'sZ& #0 162R@]R/ !"*4 .>>XA76  bD!3$ 4=B !'/?G7>77&'6>7&7&504576&'67&&7#!"&5463!24&"2Z(C2!@ 9' KE$?#DI'-( 2'4/0`@^^^3$,K+%071 4(4 :".d %0 `^^^32+532654&+#rE> <_:V_dQk@F?[*P@&@a?@`7 !)>2&&#&676.2"&4&2"&4'3237.670>636"'&5"5&?"1"&6323&''&676767.'547>3>367.>>2'%6.67>4.'&"23267&'&7>9       N 5j!@   --H    b9 " $-  6*"( #' G  3  (# H    l    h         ]    (    . %    O .+   V . O #2#>%13#67'.5!456WANdE#-3 TQ `AWGDuOqS .%$/ k"/0ijY_*%##5#5354632#"3KdQQB7$ (Y]F.'&7667"&4632&760m5 %#01}~~~Z4/  M`5m #%%1U 19Y!4Hgow5'.54765&'.546765.547.=46723>54&'&765>54'&76"264264&"6s s b QiE9  4>N>  dd  >N>4  9EiQ b J15tt51  -1d |hUDr  g>Eo\        \pE=g  rCVh| e0-  ""%2#"&54632&"327572&+5DDg]\[A?&nNN74&%34v R\]B?'NpN$"q50*YJ'.7>327#!"&5463!245#"'.#"7670703'&'4+76,* ,"'!!!P!v(&4 <4. !#O!C7  5 *-*C!!P!!"(*$:<,    c.=732327676564/&'47>32753.'&"67>'.+  5'*2 7"N\ O;*= ,f%IE +D"(A"<-0 1'* #[Y% 7@+="EA1Q U.8@ %3!!'S6Q!SQ %'% &54'77E54'71"&5>54'#".5470>54/p   O,+!(!C  D    8* >105,9)6 CF-4,   * P~")JQ_ *67&'6?#>'&'.'&'4.77&"&576&''.77>2"'&'&637#"'&'&'&6?654&'&'.54746165>'&767674765&'.#'763263&67067>367632"22#66763267&#""67>76%2726767&'&#"&'&#667676;2&'67&76767>54/0&5&'&7676'&'&#"767&'&"'&'&#"45673&?67&'&'"276'&+"767#7>'12'"&/327"'&'&63=.%    n %.  ?     (/((/(        #         (    1   t     & T  &  ( =5  f>v  F< )   1     +         +       4   e %(--($#                    #1   + 30+..+-3     !  !     *+9 0@@<+*      7"&5/267#"527654&654#"0#"76746767476'&#"47>76'&#"#"7676'0#&327717670767464676767676767"./3276732767>54&#"'&7>7632'.7&54632?64'"=32%4%i         +-*    ttD0 =9 DF9P P    @      !  _P          1@<) 2#!"&54637#.'#3Q#  %P`6-/0"g!.'>72&#&'.=4676&#"#"&#"0+".5&54>16&#"#"&#""3262324'&'.46546;23262''')Nn$p$((&s)k  1Fe   :  :   eF1   + + $>&''&'&'&67>./ O: # & o"*>$! THN(_-.R&`J7-# AM%'#"&462675&5462#"'"'&46327&54264&" + '/?L6,#2 " 2e9))9(s+_ =  >I06L2 "2",8}(9))95EM2"&4654""7676547676762+"&=463264&"ede r  X /+<<++<<+)qqqpeee    q" 4<++<<++767>5&540'.7>767676763636~ .*  &  <(, 43&#7Jc  <  +SlDZj!&>HUk%!&'45.'&>767656.'&'&'.7>74&5&7>7676>367>7>72>5&626.5&6'6&'&'7676'&'.&6.'.'&'&7>36'&'&6'>7'"76'&'465.'30'&'&'".4173&'"7<5&#>7<5"'&'&7>7&#&'342;&76'4.'.'636>&&>7&721&'&7&726>7>.'.56'.'.#".7&6&7>7&'.'&'&36 Z .     %g# 4   k* " 6#-6,    FC     e "* )=    9 $S     #  `      $! %*! 8/V %   %!  -?   %(|0    "  ^4  F $'?^2    !%&  !)        ;  /           &  Z  )/ #   B   '   $(    ">[.7>3267"1326'6&'&>76767>320676zX/lȯ/6#q?FpG3C   7a3 57K/+&F-)  ! ."   3?6ȯ/lW8>     6>u".)KEP&/    6   " !4!!75##"'3262654&/.546327&#"#"'@* "-"c'   !)"  "@c'    " 0   +@2#!"&54635##"'3262654&/.546327&#"#"'* "-"c'   !)"  "`'    " 0   +-CZfst?73'&'2#"&546%016"'&7'676'%&767''&>%2#"'&'&'67&5462.7>3'654&'7@<1N/'1;C3$)z/  -? .'. r ?1N/'1;C3) ;H^uHQ J "":';B +#'17D5  02J*(} 1 ,;,&18D5 $'/76&'&`< ! 1( & , `.*L   ?:  @7>&/#"&54632SFK[>p( $''# )NGv 5ks6L**/%#.* RV\qw|"01*#0&1"1'&54745034625762203175450610610>1762001310%7?5'1&10&10'1&<15/?'575/?'75]a`P`axQQP".!/\/"u;P\T-."/)QQPXQ"/Ln5iooJ77.i77b.//\4C".511[K\[[V....[%6Rbv%+"/+"=4;254;2#2+"=432+"&=4;272+32+32+"=437#!"&5463!24&"7>76 !    R - .0""/0""/>_`N; X"G,*G,*GG< G9<     GW"/0""/06NN61J='u )C3'&5%3"&=4&3#'546323#%53'5767'&=325N , +<''<*%8M*#&(  -Mo+ '" M<+MM'+<.#MM(6 F   4q  ''7'7@@ ?__? @$\\%\$77$@19Aq7>3>32"".''&'&'*.7#"4;2#"4;27&767>54&"&'&'&'.5462v     (XX KhK  ^^  . A  @  ,1(3HH3(1,  ' /@[[@/ $4/5373#576=##576'H-m_'&'l33 2 6%%& >> +,P#"&54632>'&'&'66&'.2632+"+"=4+"=4;2=4;2rnSggS:&./ .7&"*  b1i((0((0gg);B^B/ ) 1-r+&U#* o0((0(( 3#73#3#73#!&=4&"&=4&&5,,*+$)+,,t$2"&454&"6754&"6324&"ΑΑ"!""/Α = %3"&'357#&5462#5'`l!qq!lhhK Α K@7AA7iiP')gg)'П6GYe%&'7&"&'>='6267&"6267.'&47>330#'236"'&'.4"'6?7**h+&$:FF:$' ,d, 0>>,,>VcU?,, #: 9$ $ 4&&J  -F%$G- -EEEg:T&&U;g(5({  ;g"/&7676?6=4/&6=4;2#"/&=4?67#"54;23254.'.54632+"'.#" >  /200,b#7)(,(V0).&<%jjj    k k  k!D@ @@  %%#53%!#5#5#35337#3537#3533533  @ @@@ @@ `` ```` =C%Dsw7537#54&"#546253+"&53;26'5#5462#54&#"32653"&%"#"&/73275&'&'&'&'45>32'&53%"&/767&'=>2'275&"5&"2'53#'#53h !4D10E6%&55L6'' '6&     ) F"   D"!)%%?41DD1&55&&55&&&&&b       qDD5       *  R  Z^)5DLT\dlt|64>'>7"&.'."'&5476324&"264&"264&"24&"264&"264&"24&"264&"264&"24&"264&"264&"27&'&"62X     # 9 BB (B^^B(XXX(>> O%    !( 2O5005OBB11BSStSStSStSSD' (  !-7?R"&463235#737'2#547#'35##5##5##54#"35'5'57'#353#"&7'326ggΕ`o)F9{DTE DEDD$   8Α ?.  471M|$0!! g V  ,8 4n%#"'67>454676765&5654&.3276'&#""'4>;>3735467;23232+!".='#"&'6) &.^O8 ,9  V b   &:/I^,5 (< [:4% HU    K    %#"&46323lLLllLLlZLllmm"4#"&'&546322>54&#"#".672654'6r/mKPn/?@B-$9%8U?WSn +?*mTX~9Qf(PttP(fQ9,A$5A G!)>F%#'#//75'73757372.67"'&'&476762564&"C       ,^88)8? 88Y~ZZ~Y !     E0_87*80?!87YZ~YY DKi7&'.'&'&"#67>3021'.'&70703'.'&167&'&'57601&'&76"45."&'&74"'50>767>0&'01&"'&167>76'0'27263231'&'.'&'6160&'&'61"Q  . K"#8)'4   R?(&$  D"%#   F 3* %=C"' "  ! " (  )!   $%\     h744D "//%  , &0     #     i        @&9%57>'&5676'54'&'.7>??;͗  e%'E= ^6L;/=  a  .PL I66  #8 U  <97*l #  /6#  1$)&'&67%6'76&7'&67'6/ ##i  atS jZP Q \-!1(7@= ">F%+3'&=46;26=32"264'"#"&7>;5#54676#&264&" k5656 k(((  (%+$k 38z  ?.)&&f )0  (1l7 ) f  /2#!"&5463&63265#"265265#"26=&6a'88''88'2 8   8''88''8   8 U2"&46#"#"3232#*#"&7676#*#"&767676&#*#"32327656323276ΑΑ | <  5  '   #.[A Α  F5 B?F+E&!@GQ[#"&=46;2'&#"#'#35>32#"&'365654'&'&'&#"32767&#>33264&#"3264&#"@5KK55KK  $  x S #"( 3\ K55KK55K Z F %%"'f  x   $'%'762#"/7/7676/&'&>&5( BgfE:0 ]$# 0"-{&9b6 'ff#P% " !)%0 @Sk>F??V$2"&4&2"&462"&47#"''&5476'&5476'&5476632264&""676?30Z)Rr$$LO 8 33 8 NM#%rR)`5+-L)..)$6' ;,5AA5,; '6X}XX>6*,8  2"&4'616/&"37#"ΑΑeJ " ZUTK pΑw( cc)x #'+/37;?'77'7'7'7'777'?'7'?'/7'77?^6JN."7Z %# 8 8<+!)#+.|G7-+3=5PCBY".',";##B1 " &  /  )@ H96`-2W B=A57'.546'0'.'&/?>54&'514"D66&/$:MO< ) &,$-5+?V& ,>҃s|5 7"';6[<4\@0* ( <7!>'#.'6X-~wx2M )ps^` 5EE"9m<Me>`L-T?- Q '#"&462264&".7'&>76767' - ^4 -5 - ]- .-^]/ / . 0 Z / // / ZK Z67&>&7&'&'"'3>56'.54>32@< w C !,z'/)7 / ("2  /8Bw < +)+&$ *! "& =%/&?6?6/&/&?67/&6/&?6, -]TD:4-\_92+ *"JR A,V$H\ 7'*.8"&462##"&/567>324&#"'.'3264&#"32$3##3XC/m1!.:aGB//$&%, -- (3##3$^CO!,&k'e/B4% && "?,,?-A%'"'<&'.'.01"'&7<"'&'&'&656&7>4645&>'"'.'&0#"'&'46'.'&54'&7>5&"5.6'.767>67>7>7>23>32307>302   "    +%   >59 ,     N      /   '*   $  $+-   , $*    !     2637??7'7''''/'7'?'8P C]8Y9}Rsf|1.+l &  ,ND& @'$J .3D6 {l&Jc&Tz8a %   Ea?MY`ls%#"'232654'%.54632&#73254.54632#54#"#"&'73"&=3255#532+53254+5#532+53254+54+532;2=3+"75#532#54+3#;2=3+"7#53##7373#5#'#e#$ e3.53.5e%" e<     v$"'    9'    9  %?4';1DJ5+#1,"10EJ]      M777H+HH+?=> ?   U/#?6'&'&67%6Dg2 f]"L0 i (2#!"&5463>'."354;2+"=#pGNhN^DD^| W84FF4D8 '575'7''7XeW"XVY@-uKK:55/7 #'+/39=AEIOSW]cko"'3'#4=3#&'7#&'7#57#57#5#5#57#5#5673'5353'53'3#&'!5353&'!'673'53#4=3v0ggbnfggggggggggggg ibgggggggg %ggg S t tVggg  F # E#EhE # % JMgs % R "y,Hk'.'&?6?>76367'432'&5676322'&'&#&56/&'&74>76$  4 5"     4     +D!& 7"    % "    } 7#&'&761'''''#'&'7&'7&'7&'7&'7&'7&545'767'67'67'67'67'67'6?27777774&"26"&462654'&5'654'&5654'&5&=#+&'#&'#.'1#.547&+'&54704&5232673275#327.#&,+- "%    $" -+3378:; 7; 16 (."  ".( 61 ;8 <:883JghhOYYY| )              > k  "  %$ '&&&&' #% "   ,' 84 A?GFHHFG?A 48 ',  !hhg~ZZ~Zy   Z p@$         !eB 5K>;2=462+""&5&54.+"&=462;2"'4.5&6327632 c  !"d  e"!  c $11  CC  a3   %     %   UUvv /Vao|#'"'.5'7#.767>;6&'.'*?>72>'"5&'"&636&'"&63&&54&#"432'.'&'&'./&6762?6!  "J%    ,0d$#4U  I,-)0) (D@  +(%*//E4:L ?       }\&     4&-,*m0Nm([)/)#OO #f 8!,4& ;C K"       22#!"&54636'&6'&'&6323276L2C!  % .B@f@N  *h8 />4VR`*U7"&/.>;2326?>;2#!"&/.>;2326?>;2#'2+"./&#"+"&?>3i7!$ $! 8h8!$ %! 78!% %! 8`pK K p pK K p pK K p BRa2#"/7'&546'&'&'&'.'&>76'.'&'"#"07>2#!"&54632654'&"7m'(N7$2     eB^0.]T#E'(56M 0 &7o        `]A@1.]A+%R/7''#/'7''7/5?'77'7?377264&"''#/'7''7/5?'77'7?3/3267;?3?'         /""/!/7'6'' * $%7&66'5%$ *  $/>,%:           B!/!!/2( #&4(66'2#&)'$4'4. :&+>/#  ?I2"&427&/7654'&54632&#"23767/"&63376>54'ΑΑE9k&$DC?P@W9c<  R0"%<  D3<ΑgAl$+  GJ6 #;6/_ f=92 %+)@Q%'&'.547>''&'&'&7>7>5476'&'67632%'476"&'".rG;14;3 Y6TZ!"  "N  `+# ?y2 1)W $ ! /_0RmU- 2G) D T<"Rx( @      7#7&546;#5#";W@`KU@R7&2X&gMT8;m.533p8R^4y@*<D5?G_i{'&76701#"&#"#'.7672326732+#73264&#"&54?54#"#>32#5#'26="#532?'3373u    nI$%*#6&  "r3$#5 "! 9 ##9$BM%& a  J ss@&BLcu+534?#"7#!"&5463!276'&5&7&'&#"&#3262327>4&+353274&#"363232737##'##"#3267.M  @  >     3t& f$77Z  `  W  ( .(/  cQQcl$+571#"&767672#&'&'&763276&'6"  _3U*'(%+}"  3>Acf5O===%.$>%===Q    =>==KL !B!!B BB B!!B!B  .   _,  ,_$$d$$G# ^     ##G$$*##F$$6,U7>76'&'&767654&'&'&'.707676'&7>7676'.zZfVR  %&-  X+C;0-@(7!5 cRrc v`Y! FE ')#+  FF "U  8b:;8 0  *-;:.IX[x };IQYpx&'&''.767&'.546767&'&67667>'676&'&&'&'67673276767&'&'&"67&'767&''6&'6767&1.67&'67&'&'76767#"'6'&'767>54&'&'2&"&462*47- ;!!?  +52*  @"!; !" 0 '   .   _ "!4%  #*'z"" 2 !#/ %/,#  }&&),+B  >* ,* *?  C-R'6    JF A aN3$ "!   d $1 0."   " ! ! && #'##73'#'%'7>MxNyT)A<  QQ 88 7I(L~%+5352654&5475&54654&+532#"'73254'&'&54632&#"23#"=#";#"&54654#5654&546;7#"'73254'&'&54632&#"'2#327#"&5&634#"e  j+""*!  +  K+"!*" #_##,-9 !  !  "  !*"  <"6 "  "  !  "  ;"  D+! # ,&%.B%72'47>&'&'&767&'&''&7676767&'&'5#"&?#"'.7671'.767>7.'&67676'.'&767>'.24767>2630>20127670476767>563206767632266'0"676'&2>65417654'.)1%#             <  ME,!9^Bw ;/%H -HW hK{:  ! ' $ r  "p[  EW, $    " (   % >%$&0.75"*)V Z"">B'+      V    :    "-& j3 2   3 37#'e[08ਨ6rrYY  ?'' 373&&& R0n\\Jbb$BB X( 0D7'##7'3'373537#5#53".46767624.'&"27>"&5475"4753#5##5353#5##535&/3#5##535'"475'"&5475'&5&5'43>?##7#'#077'373'k4>>>']>--)d          W   P  &  &  P   YAA ?>@@Y**c+<``ttt %   %D           )) Q((+yy%./#.='./&/'.?#+'&6?#'.5'"&'&'&'&4?67367672>?>7>;67>2?>0726?67>?6766>?4567>>?>7>3>?>6?67>'&%>'&6&/.>77>/&    :                0            X   :          "    "  6  $  - 5:/' -= ( %   1% m74 ,     ?#"&#"56323275#"&#"#01"&5463012>3232>   XXXJ    JX     @       p 7#3#3#3#5B22e332~BLLL L) 9A7573'7$"&546253#57'#'.454547>;654"2'+'.4547&'632&'54#"'&'#5.?>767>36'7&54"2&&)6:::Y  k  #A  ! : 2)@&  .`  x nnw      Z( ( T       6^ 1J&  '9( ( y #'#!3'3Y>>Y.CoqD-ttX <D=PWfqu3#267#"&=6&#5375#"'53254.54632&#"#327#"&5463234&#"'2#"'5362654&#"53""    ,&_,"!SW !(%"X. q$#,'  r,/&&? "* )g;$ $^  (  * +  ! ('#..3+%(( 2 {B ! v!#"'53254.54632&#"!090 l\QKTH7 090 iXLBDJ1%;(KO .#8%KV$ 327#".547>772#".546-E &R$Y; e8{% 1r"~i76'&'&5&3232=B ((TO+9%&)'QA   "  +!  ,  #       ##$   { !  :I )**  ( j         "  udZY   IH5@(8r870=476'"'&.7676232#%#!"&5463!2#0&#"376767674#0"1"45.'&'&#"#"6761323250=4'&'&'"&+"176760"1&'&'323254=01767656'&'*&1#01054&5&+"&'&'&'&'&230;21676767676&7&'&'&32376213676767674} " $    ' ~%           AH((926D # /$.   $#        `, Y 2eT <j  Y  T<   0    8%'7'8]]\2#!"&546337#53'#35####Qo>BvX`###G#Wttr2#!"&54635#35#75#75# l (xxxxx l  ((P((P((27%#!"&5463!24'&'.+";2767>5__`* Gr Gr66`; ,< , !!5!3535@fYZ@ YYZx 6bu~+"=4;2+"&=04.#"+"54;2632##"'&=463276/&'&76322'&"'2#"'+"=4>264&"&2"&4))`   ))$ $!5 &!+:.?@-!)# $$4$$" # { Q # "  -   i?[?Y+ %3%%3%i):av"264$2".466<.*#:>732"#73262#67>'.*##%64.*#:>732""#zVVVV  x!G   %   % %  x!G     X[z[[zk-M\M--M\Mm G e6,-  "`? G d6, ##"#"&462&'6&#"3762"&4: "#eˏ ^GB]]B%R::R:  ˏf3. Fk]]:R::R@ ,8DP\h+""'.+"&=46;2>354+";2=4+";2=4+";254+";2=4+";2=4+";2ZI>  >IZ$88$#((#.##.@@v@@&<Ngu%'&767>;0?'.7>'7>&'&766'&'"6766'&'&7672"67>/07'&76>?'&'67'&767Of9( )%)RM `+! 0%  w %  =eC !/0'G22+!  ).46EF$&S4( YK$ B    '7(2-"   G2 ##  <   -  Z   G1&7>01'&".54327>3270>7>" $ &', 5+:3'<#5 )bBU!1&A5f7 "2B  7  `  fX 1!"4( ,%##5#546;2'42"72#"&546"32654&;M ffEE#idfjVuwTQzvfxxf 9##"hkge-zQSxsXUv '@2#"&54632>7'#5"'774'&7">753&654'&idfV xS#>%! ]')""=j@_$" # 0-;;ikfe$Sw% )&&"  ]+''" 9V:< .0J2#"&5462>741'#327#"&'#53<5#53'7#7654&#"67632&#"3idfj!<%" [ 8 %-GA xCNvUl>Q&:" !Fikfe=#82 .50 #Sx<Uv]$ * 0   !%82#"&54627'##5#535'#53'7'7654&#"'3733idfjlDR@=@@: x7@evU=WQB(+B?&hkfe=c$$88' '8 Sx3-Uv9)$3V `t 2#"&546"32654&#5#5idfjVuwTQzv hkge-zQSxsXUv++P**!52"&4267&'327#".547'703654&#"632&ΑΑ8_$!.&'O3XwS4YJ!D. (0 Α:/`,, 4##0`L0Sw2*!4) '3:2#"&5462654&#"2+5254.+'2+#526&+idfjQzvUVuwFF56" ^2 "? hkge=sXUvzQSxl'Ol.  ,C) *1592#"&546"32654&".''574575#5'?'5idfjVuwTQzvM;:D @?;Cqq(%'Y-hkge-zQSxsXUvF@F>>f,.-/:5++ :2#"&546"32654&>32#".'332654.#"3'idfjVuwTQzv$#5 C>+'>4$ 211hkge-zQSxsXUv*++4P.$.(+",11 r2#"&546"32654&2742763276;#&/#"'4'#"'4'"5'#"'0&5'#"/+53767463274>276idfjVuwTQzvQ :3     4- hkge-zQSxsXUv5l< P@ a , \ LH W_ WT Y9 Lb E\Pb  ^r2#"&546"32654&3#&/"/"5'"/"/"/+53767627427627>7427624+54"#";2=idfjVuwTQzv;3 3+ Fhkge-zQSxsXUv,S @: HQ IF N+ I Z 9P CT ^-  E3 ]  08<2#"&546"32654&2+"&=#"&=4732354735##3idfjVuwTQzv6 ) 7lllhkge-zQSxsXUv6 6se (C '082#"&546"32654&2".4>"76'&3254idfjVuwTQzvr:* *:* G,6 %=  ,hkge-zQSxsXUv<+/6/++/6/+Yd .i Y?A9AL_d3#7'#&5#"&547#"'#6=3632672354#"#632'3264&"75"326%673#"&54632'.^"c$=) ('  &. C)!"C0 %7--/d)+!+*)*)$+"--6t B   P($ !!+m00  )!$*&&N_$2"&47'.7654'"1'&7'&'54>767'.?4763226?6'67'&3&545'7654/&#"32?32?322"&4  $  .<,.      (  7  R"# l    5:0'  &, !K< !"70$   )]  %`   t  0['26?'.45454>?62<.'&'.3547635476 A)fM& 316  ./KD D/ .  H2,  %-7 ..4    4r ??$ rE-@F%#'#5.5462532654&#"22>54.*#27&#EXCp(!%cf-E8   Ft`[     R9rK >> lGQrr_'A #1% #HBCN] <_i!!%5"'&'>54&#"'22#23235".4=372><1#3#"=463274.#""'5632@ <   $     d %@r!m.*     -E##Zh7'&'&7>'&'47>76327'&5<5&'&"#&=76767676'&76760'.>7276 3$# (f42,E%?  d(\N;  ,:m 4 Q!e"( !!%$ ,y. " s7%G. +'  1+1,i *4   *%c2"&4264&"2"&4264&"%'''"'7&'7&'7&'7&47'67'67'67'627777'ΑΑƍƍ|||J=7$  $6>JMRSNJ=7$  $7=J NSRΑƍ?|||'$7=JNSSNJ>7$  $6>JMRRMJ>6#  ' '?/?557`$##T))33d#$$T33),,+y--::"++,::- CIOU[ag"&462"264'&/'6373#'#5&''7&'#5367'76?#&'%#63&%3'6&'756_ΑΑ8-%.8.%-D  ;; RR ;;   ;; RR ;; """%.8--8.8ΑNr""+R ;;  ;; RR;;   ;; 4-8.%%.8p.%-88-%L""1Iqy3&=4'&'&">7#C26&'676&'676727""'&'.232.#"'.'"&'5>326="264&2"&46"2642327367632&#"'5.'"&'6  &      O      &) =!(&? :(!1  1!(: ?&(!=""7,  * *  xPPxy!')      )&@@L"" 3   ++ r%>7#./.>?.>?677'7'=57&'>&'>&'>4'   #,F**E-"         "????,      J ( &#+!''! '#I7. 5)# #D4/!60+ !<-'D$0 7...7 0 U *1P-1-713D# &'544Jy&76567<'45&'&54545&567>767>�'&5&'&7674'&'&'&676567>75'&'&/7<5/.54'&'"'&'&?'&'&'414767676367654'45&5&'&'&'&'&'&'&'&/5'7>32674&'&762763676?32?#"367>7676767674676761#"7&54'&54'&5476'.'4'4'&54'&43607&'.66'&'67&                I W D)! I&+%& #%@        8     '                  &-    %      9,:L8'', % % yWS<232210##"'"'"&#&#&'&'&'&'&'&'&'&'4&5&45&547<74656167>567676767672636212":372676767676767676767676'4&1&'&'&'&'&'*&#&67"#"'&'&'&'&5&'&'&7676767"'041465<5<5<5456767676767654'&'&'&'0&673676745<5<5<645<5<5<5<5121747676767636323676767>70'&'&'&'3"#"'&'.'&'676767'&'&'&'&'.'230323276366767676746567<5<545<54'&'&'&'&'"'47676767610#4&'<'"#*#"#"#41>12676345"'.#4):36702546721633230"""02220#*#"#1"14=46123#"'&'&'&'&'&'&'.50'&'67<7676%0#&'0�'&   ( +        5  +    +      (!  '/  u              f      "       &            t        '    2#  ,A    &   -<   #     2                      : $%                     & &,               ek66&67676327676765&'7>767677676'4&567654'&'&'&'5>6767`I\*,(!B. %$6!  # */1!- "0!(M;7< 3 93 -!"       '%!  -*6$#.($/<4-I#"%>,14^0 "*2'62777''''777&547'6"264&2"&4w [  [ wF;FF;Fw [[ wF;FF;gHIfIH44H4F;FF;Fw [[ wF;FF;Fw [ [ HgIIf%4H44H +5?IS[iq2"&4264&"%#3##5#'353#535##3353'7'7'7''7'7'7'7'7'7'7'7'&2"&4#535##3353'"353&2654'#3##5#'?'7'7'ΑΑŠŠTT0v%IS|S   x  켅BTƝ(u4T_Fp?}1TT@s,  ΑŠ¿#/.R\8P]        R !3R2RARAU}XM<3?8 XF   ''.'4.'6'777''4&467&7467>'.'.67'77'??'?67.67'''''776'7.'5'7'677&'67'677&'6'4&''&'47'67&'6       '' Y:k, !,l:Y '&   E (  ! ' ,  '   ((&""!# % % "!=2b']<&1xx1&<]'b2=!" % % #!""&((   n ,   >' L  '  J '?  Ce7"&46323.>?3:1>'.0#&7"#"&4632#"#7>.'.#"56&546212#"'&5./>7>5<13L  H-u$=,# [  '16 0   G+pH  >-$ [ (3N>-# \ )3}  F,wG   ?.$ [ '21  H,m  *28W%&'&76&"&#'476322'"#"'&6"&7662"&31&'46&'&#""&676%2.'"&'4547'&>017626'.'67>?&'&6'6720'&676'&'&'&'&'4'&'&#""#.#'"76767676.&'&7'53>2241&#"15674#"1675#K8   =   2 AONC)7FC ,?"  ,& > _#1 +Jq 9,'    H( ( " ((   G    &1 3'# GIB #   :"qT1 B2F a       -        '?'2"&45'5'5'757757"!!"EΑΑ;<<;!""!""B!! ΑW;X264&"j?Jhih-PnMMnNgggJO!#MmMMm!$"&462#.5467552654&'7"'6&&6SuoPmm32BQgg_Gdz7%"Ab@# "HI1Α@QJ 4!!  /+   ='=O?62"'764&""&46"'&4622?6"&4?622?62&4?62"'&"R:w))R)R:w))R)i:Rw(x_:Rw(p.5<EK6/.=467*#35326&'>&'*#3533'2+5'2+57"326&2"&  l u  * C !6** l  m m \f$$e# f""T!&!(!55#$$,P2#"'#"'.4&54632>32>654&#"#'&"#'&#"32?3327&1 C==C  3%- $ .8,- : -,A ! '( " ~/$ N=+F66E7"#  -# #s  %"uu"%?B8So0467>3>'.'.'&"+'67>27'#5<>7>7>7'&'&#'7'6767>  o B     B #)  S$ *+  SS# +,  < # =1 1> mm  S{ = > {| ? ? 2"&46&'&"&'.26ΑΑ  ARA   PfPΑΌ '33' 1?? @".4>226'&<74#"#"#6=276&"33:325&53",,#% P%&PS&&mm&&mb$VB%/i$$ta-0'2+"/+"54;276;20Cn33E6lΆ "2#!"&54635#'#3577#5##R$=>=>>>=\>==.MMxMMxlii #'#'#735737537#75'3#_lVb(m{WaCHU4N4POI 6SPߌHH@\?q?235';er5F=f5+Q BKU3#'#75#37'2#7''67#6;65#>1>3732#%'676''>+#"'&'236=#"&/35"'&'26?#0:62z1*aI Z=6@B 4  X3 ) z   l &) t,+<  ,^  !A" 1L3 !  '#(  ! :LI G d e4=2.'>?#535#5##3#3&#"3267#!"&5463&632#"z)d Xmm3nn\ Q.:-.0-MKa)))#-"K7?C)$ - 33/#/-$"6))4)! Ic!k#-Qg%'#"'&54&5&7461/2>36767'767'36&'&5476736'>6762#'&3&476726#&5�&'&#327"/67676'&7676'6=&'/7'7*#67654'&'&'&#"'#&?#7"ȼ363236767'"'5767"'"'&#"#7?7>4.5#&''.#'".'&'47&''&'367.'''2>7'2&/?&+57''#776.'&'.'77#6'.22077'327''7'3''76767/'#7#"#'67&7'&66'.67'&'&6327'52&#"#5#63'647674>7632.73230765654'&6?#&3'&'&547&'676 ]\BA( ! -5  #!     o     (        )/         (         8: $0 @8 '&  ,  )   / 6 ,       I,, !  +&+       7' F       (      \x<=Z-#   & -                  !*       $ &          <    ) ! K,   +/   0 H      v % 03    21        C     mp 1"76743765&54'&'3#6743627>7>46'4&#*#.'&3!#"#23#5232'0&'&32&27>767&'.'""'er) "s  7S0,   t  d   (  k IH      D-<@') < hW'H".2#&'"=4547>7'0.#0>162;2='"#"'&'&#"2*&543:65654'&"#&72012=432720;&'27215"5&'4327&'&'0.'#"#6272'&'4&'"013'&672=674#"#"'67625654#&54632'6:3"=.7>3201&'&6#"'>5454'"572725454'"4732#32"#*#*.'&*32%#&+"#&76'&'4#"#"#160+"72676742325454'"7032"#";276"'67236"54&#&#"7636'05&#&36762#"#"43656.'1"54'&7>56'.7620#"3>76"+"&3656'4'"43:'32#"#"4;265454'"#&63230#:3>7+"0'&1&541474+'3676&'&"&5653276&/"326&3645.' gi  aa  .  0  ()'#Zc4W &(*'+_    ! %$ +.e +g!  "   &$(  YeV  j    U{}~:<|t87 87O&   C  FGC=#'SAGJBJ7z  H1    ! "R  %&  )/('E n  q!: g  &3: $&e Z&"'Xp|$9GQXe%".5&&7'46?67632766''7&5&'46&'.<.523036'74'6'67&672>32>32&&&2#"'75'654%'4>2&16&#"&'6'3&74'&74.'&7276&5&633#65#6'&67"'6&261&>&'707&#&#'5063632*#75'35'32'22>=4.#":>5#54.*#3#75'3#362".626&"'#75'37'3'&'320637+676=40:>4."&3#.'#75'35'#6'254.*#&63&674'&':  $ '  !;//   *     89 e<QI4%+,2#J*,-*I!  #',')r        31NL! d    l    < M<9  B&&U '"O U,0 L '*i     #5>6+53%2#!"&546354&+32675#"735#535#57#'#r (n0/e? >5 &! & F hhGj } &&srr!CGK'36767&'&7>672&1&'&67.'.'1'&'6 37'7:  )"AJD!,  !& 5=*9   & &K|D!,   % 6   x1I\66'6%'#"&/4547'&54>6767667>.#0#"77''77''77'?( Wboo w QVRO9   X2$ s0mC=J!q: . >/ .18'8   ,-2$3   $! ,s,- -,~,'}%Wah'<V`~TY_v76&654&'&#6'76"10'4?#&'2#4'5654'&'654&#"#./>6'&7'7'>15.'675&'#&'56767.#5675".'565'#34>307&'.'&7"2#04&'5"267&'4.17676767#'4.56461##&563&'5#6376535"'&'474656'.#672<15&750765&7>7#7.767.7&#76&'&&561"&'2157>7202'3>17&6767&'&75."&7#76'&7627&'24767?.3'45'3654&5473.#&7'7'"'0#&7''''7''&'.?'>0327'7'067''&/67'7"'76%63''>'2#54.#"#&'56#"7>'&76567"& \9+aWYc.: 3o   I9E|,r6CIo*    8  7   &       +     1        &HL%CA"    ; _ (   !$ $*"  = %[UCB-K+m  AnI3,MsB<27  @  f  D(P G ,  sR      ) 1G9Si 2& G        -       P7 y   Y%  \ *    /B%=A=  + $ *   ;   !^+ XF D;7%+P  '/#b (& |2=; (P@( 7   ) % '73# 7 F!v'a_jk]A 0Lck Mh{-7?'373'7'373'2#"=432+"54"2545432+"=432+32+'+"5'#+"=4;2'54+327+"5'#+"?4;23'+"=#"=4;2+2+"=4;2+32+'2+"=4354"2'+"5'#+"=4;2'2=4+72+3+"=4354+323'7'3?#"&'&'>7'.7.5467&76326&'.&'>%16767632.#"6'&'67#"'32767>.'&'&'67&'.'&#"&'67&#&'6703273&'27327672767&'6753'32+"=4;22=433'7'37'7'?2+"=4;201#"1#;2#"1#73'7'3:a N   P    UJ .   `  --=8 "b2-( *6& 1A7 "a3+* +(I3 *+.X&%0-XT $ ( (   4:9:$$ $$ m  6 ( $ <; ; ;*265@?((4$ $ @   ! @ 300/[+HF ?@   N> $2[+GG >A  'Q;  ">@6'T ">@' ! +-- _442 2U?d 7!!"'%32#7;; )X=tGgf G 7+"&?>762+"'.>2  }b   ' 6;J*H3G  < Z#+37;CGKOW_573'7#'5#'73?5#'735%53#'%'#57'#'7'57#7'537'#5'53'357'#573"Lv -#78-  88ZL B8 P [Z ZZd- M!LNZZ L/-!mj87, z P!Z^Mllv88 -78- M -7- -N[[.N [[ LG- MdO Z[[- Mj l/ -77 * O [#F767>'&'./&"&'&'.?>>7076($533613373'3#73'3#7333#"&7;VRD#d)3 F>(>M[pu- N;ZIIM R:'(:8^ 75<  7 N55.7"1"&5064.'&>1250616232>1000#0&XVWAG HIgEESVY]w<~eNNf0z?}Z 48?KR^%#'#5##"&'#73&547##53#3>>32353#3733.26&#"5#535#535#737'#3'7#'#3J6@ "V# * @511m<7 32  8w> /&! 8878_18228(.-&(..&= " !%# M)L1+E 3,"(.99,"4233 #)/5;AHMS2+"&=64/'&6'&57'67'67'67'67'&5547'&/67'726&+"=46654&'&+"#";2#"&#36=367'67'67'67'67'67''6765']77#5"1$.'.4178+;@H "+  +>* !! .OB  $ 6#0$.(26)@ \ 8!6- $#$(6  8 -\@I , / =,8/!  >38$#$(5 * Ar(4?GO46;2+"'#"&547&47&#"32136;264&+"#"326=";53264&+8((8++8(%:('9++++B&&B %&&&'&B&&B B&&B`(88(34(8X(98(3h-%6%[6%%6%&5&'?A&5&&5&'/=E2#!"&54632=4"2=4"2=4"2=4"6."'&6754"2!!!!KKJC02:<!!!P!R-))0N2#!"&54634&32>27'#&5676.7#3547#36737676  & " D  !M ".- nr  4 5&($O$]  g$ %?&'&47677'IM&LLLJM&|LLL sBP%&'&76'&'&756'&'.676>'&6332>7262654&+"3q0%1+-1(''(1+,1)$  55)"55 "%%!{; 0,A@ -/";,- 20-VV-02(%%(mt|(4<HT`j%+"'&'.'&'.6?467&'&'&7&7&7&7&663666323626;6730764622>6626'6&>.677&'>7&'67"'67&'67'67'467'67*57&&7&461&7&7&5&&2656&'>7&'>&'&'&'&'&'0&'&#'''#&7676'&6&'.&>.26'4&&754&"266&'&67>&'&t %$$ %            0# +/:%.$ )=D(         $"$ D=)          7#1.+p  g  ! -%%.%.~&%(&O#1"#1"R  & #  %2$  $2%  #            # #&%'^/+ /* !#     l   "!     &$(%%  )$l*'  +. +  ~  -*. Y $)  '3%254'.'.#"#"&#"7#".54732654&VRB   $:Y7+54&"O>`>Oww()+3+CjffjCTwwT## %%}bis7&'367#".#.#"#.'&676&'&32>36#"&'47>'&'&'&767>6&'0#"72##"&463224"[& "0 74  1 . ;66 *&    $ 0!3  J$D33?I<.$&   Y  <      /4 E& -   0($#>04"/   #+7C2"&4$>.264&"7&47'>.767''7>?&'&'&6ΑΑ3 < +''+  %%.R+/2%.%%2/+RΑ?  2(^(2+  E$4//)a4$)0|%8CPh753"&=36'>.5!5&>'>'#7>54.46&'56'4.g!#!_J[ !,!2 f'\TY%1,*),1 $/!!  O; #7${gh (,   %+!()'"3#E_      %`2E%'&5>&#&'4>76;27236#>7%!!$7>&'.#.'&/ %:'Y447^E'%f"1DY QH 5  , ]#  NV%'&6?&/'&6?'.67&7.76767>30767"12676326"&462.#6'676&'&&'.7327676767>90  /         \ΑB     % /" g#     5!    '   ΑΑ / -  "1&   0J7676'&>'&'.#"767&'&63270#"'#"&767>32% #  U     j /&'., ))"Bd ;179971; j$&(K.%-$$x 2J %;38,);".C%I2P>>P2 %$EU =EMU%'"'&'&''&7'&'&767&'"6767&667667>'&'7&'7'&'676'&'47.#267&'&&'.67&'67>5#.&6&'&2&27&* {%' 44# &W%8 !4)+ ! l!% /  1$Dc;8   4A0!" "DA '. $$H +$&4%+H/&;2,  &.: >D $1* j +i  5)''   O_JO ::+'M.& (% 3'  9&6=%+532#!"&76'&'5676'&63!22654&'5>54&+72+5N3+2,%%    %%  H ',' bX754%G11';##;'11'<##<$  m'(O +9%"/&?622?62'"/&?622?62%&?62"'///CaaCCbbCC[[[['2+53!#54632#52#4&#4++%@>X+?,pPa+*@@%W>,?kPp+at~#*"#7&62326514&'0.'&&'&'&'467:62>7>5454>2#+"&772'.y  mO "      6    A  (H (<o 1 $ ,+. (    6wA&'Dr632#"&5"&5#"&5"&5#"&=4632327277 '.67672"3>572>&'."&#".''"15>7H iO1))1!#C $  ;<  $ C   #NN#      G,  8  8}f|{f") % % )"  /) ;^ &B^b7#6236+54626'&=4%''.'.67&>3263264'&562506350'&#"'&1327"11102>32&076=4.74+";257&#"32765'4##"53250<.254'&54323'06150'&#"#"'41"374+47632572'&#";"#"01376767325&#"32767&54+";2=476256750/#"432125656#&327617&#"032765'4##"53250<&2#e@ &6>A; #:  8"=%"/ 4#E8"     $  8  %"    P       6*   / 6 %% BT #$(#19:>2 1#  #?D  =    " O2 2   : 4 6   8 5'(  ` 77#"&46;2+";2+"&46;26&67326=4&+64'32#r);;)r);;) H+A v!..!;R;"(;R;"x3 x ./!!/z2"&4%>'4&*0.'&74676&676/&76#".76&"767>767656&'>36ΑΑ~    1        '! #*   Α #  *       !144  '7'$  #  #@FL_%#"&'*'#"1.7&'&632>7>32>76.#"#623632&46646&67>76"& >> >?% }IN|t 5 5P,@n  "<2 H [ $#.( 3@r-*1 2DY`6!.S>%M; * - !! !! )   (%,R'&6727632#"'"'.767"&'&63:%&5463237632#0#"'&5463033267*P_   _PT /WvO QM n&'   (!I    H!n     *&  +%"/&4?276&'576&'6&'762  2   / /23(     3 {$ % z.. 24) .9=A7+5327!4&'.5432;4&#"#"5#32674&+353267#7#3@   "~4!100*@ J/G 1=GOZgp%3#"&54632#.#"54&#"&5467>#">'32654>&''"67&3>.327.7367&'|`tt`|nVjune'$.54-IJ-45.$'Qhd$+$& ++*r)*" @&Y  vS[tt[SHMujgt1$'4/.4!4./4'$1L$%"&$D\%$##3$$#&D$&  9#29E2"&467.54632676&+%'#37377#7##"''2+?232+7褤X$- %.M&  % $rh5\- _.  <*,#&ݸ%%Z##ZTR' ,=x9c 0`9! &<FP373#'#'#%2+52>54&/+53:'30>5.#6654&#/*)- .-,#  0/    .4 <   vvMMPP '(   &  m  '2+5&2"&45#6264&"2654&+')+#/`ΑΑ  1=95Q,! Α  >*)?<k#"+"#"&'&'.54=454>7676767>7232;23276'&'656&'&'&'.''&'7367>2       F;: LS,V N?P+'BQA$      (7v"#N$/S<# @ c0 >#"N2"&464'4'&'&5&+11#"+"#"'&'&5476?514/"73>͑Α     =77=͑y )) )00V6$ n&7 ,  Ms' 4 :Q  H :2 L 4 XR . *! c :{ * Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularRegularRegularFont Awesome 5 Brands Regular-5.15.4Font Awesome 5 Brands Regular-5.15.4Font Awesome 5 Brands RegularFont Awesome 5 Brands Regular331.524 (Font Awesome version: 5.15.4)331.524 (Font Awesome version: 5.15.4)FontAwesome5Brands-RegularFontAwesome5Brands-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegular      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~firefox-browserideal microblogpied-piper-squareunity dailymotioninstagram-squaremixershopifydeezer edge-legacy google-payrusttiktokunsplash cloudflareguildedhiveinnosoftinstalodoctopus-deployperbyte unchartedwatchman-monitoringwodutwitter-squarefacebook-squarelinkedin github-squaretwitterfacebookgithub pinterestpinterest-squaregoogle-plus-square google-plus-g linkedin-in github-altmaxcdnhtml5css3btcyoutubexing xing-squaredropboxstack-overflow instagramflickradn bitbuckettumblr tumblr-squarewindowsandroidlinuxdribbbleskype foursquaretrellogratipayvkweiborenren pagelinesstack-exchange vimeo-squareslack wordpressopenidyahoogooglereddit reddit-squarestumbleupon-circle stumbleupon deliciousdigg pied-piper-pppied-piper-altdrupaljoomlabehancebehance-squaresteam steam-squarespotify deviantart soundcloudvinecodepenjsfiddlerebelempire git-squaregit hacker-news tencent-weiboqqweixin slidesharetwitchyelppaypal google-walletcc-visa cc-mastercard cc-discovercc-amex cc-paypal cc-stripelastfm lastfm-squareioxhost angellist buyselladsconnectdevelopdashcubeforumbeeleanpubsellsy shirtsinbulk simplybuiltskyatlas pinterest-pwhatsappviacoinmedium y-combinator optin-monsteropencart expeditedsslcc-jcbcc-diners-clubcreative-commonsgg gg-circle odnoklassnikiodnoklassniki-square get-pocket wikipedia-wsafarichromefirefoxoperainternet-explorercontao500pxamazonhouzzvimeo-v black-tie fonticons reddit-alienedgecodiepiemodx fort-awesomeusb product-huntmixcloudscribd bluetooth bluetooth-bgitlab wpbeginnerwpformsenviraglideglide-gviadeo viadeo-squaresnapchatsnapchat-ghostsnapchat-square pied-piper first-orderyoast themeisle google-plus font-awesomelinodequorafree-code-camptelegrambandcampgravetsyimdbravelrysellcast superpowers wpexplorermeetupfont-awesome-altaccessible-iconaccusoftadversalaffiliatethemealgoliaamilia angrycreative app-store app-store-iosapper asymmetrikaudibleavianexaws bimobjectbitcoinbity blackberryblogger blogger-bburomobelexperte centercode cloudscale cloudsmith cloudversifycpanelcss3-alt cuttlefishd-and-d deploydogdeskpro digital-oceandiscord discoursedochubdocker draft2digitaldribbble-squaredyalog earlybirdserlang facebook-ffacebook-messenger firstdraft fonticons-fifort-awesome-altfreebsd gitkrakengofore goodreads goodreads-g google-drive google-playgripfiregruntgulphacker-news-square hire-a-helperhotjarhubspotitunes itunes-notejenkinsjogetjs js-squarekeycdn kickstarter kickstarter-klaravellinelyftmagentomedappsmedium-mmedrt microsoftmixmizunimoneronapsternode-jsnpmns8 nutritionixpage4palfedpatreon periscope phabricatorphoenix-framework playstationpushedpython red-riverwpressrreplyd resolving rocketchatrockrmsschlix searchengin servicestacksistrix slack-hashspeakap staylinked steam-symbol sticker-mule studiovinarisuppletelegram-planeuberuikit uniregistryuntappdussunnahvaadinvibervimeovnvwhatsapp-squarewhmcswordpress-simplexboxyandexyandex-international apple-pay cc-apple-payflynodeosireact autoprefixersassvuejsangularaviatoemberfont-awesome-flaggitterhoolistravastripestripe-stypo3 amazon-pay cc-amazon-payethereumkorvue elementoryoutube-square flipboardhipsphp quinscapereadmejavapied-piper-hatcreative-commons-bycreative-commons-nccreative-commons-nc-eucreative-commons-nc-jpcreative-commons-ndcreative-commons-pdcreative-commons-pd-altcreative-commons-remixcreative-commons-sacreative-commons-samplingcreative-commons-sampling-pluscreative-commons-sharecreative-commons-zeroebaykeybasemastodon r-project researchgate teamspeakfirst-order-altfulcrumgalactic-republicgalactic-senate jedi-order mandalorian old-republicphoenix-squadronsithtrade-federationwolf-pack-battalionhornbill mailchimpmegaportnimblrrevshopware squarespacethemecoweeblywixello hackerrankkagglemarkdownneoszhihualipay the-red-yetiacquisitions-incorporated critical-roled-and-d-beyonddevfantasy-flight-games penny-arcadewizards-of-the-coast think-peaks reacteurope artstation atlassiancanadian-maple-leafcentos confluencedhldiasporafedexfedorafigmaintercominvisionjiramendeley raspberry-piredhatsketch sourcetreesuseubuntuupsuspsyarnairbnb battle-net bootstrapbuffer chromecastevernoteitch-io salesforce speaker-decksymfonywazeyammergit-alt stackpath cotton-bureau buy-n-largemdborcidswiftumbraco f0~0~ PKZLLplugins/pagelayer/init.phpnu[prefix."pagelayer_logs`"; foreach($sql as $sk => $sv){ $wpdb->query($sv); }*/ add_option('pagelayer_version', PAGELAYER_VERSION); add_option('pagelayer_options', array()); } // Checks if we are to update ? function pagelayer_update_check(){ global $wpdb; $sql = array(); $current_version = get_option('pagelayer_version'); $version = (int) str_replace('.', '', $current_version); // No update required if($current_version == PAGELAYER_VERSION){ return true; } // Is it first run ? if(empty($current_version)){ // Reinstall pagelayer_activation(); // Trick the following if conditions to not run $version = (int) str_replace('.', '', PAGELAYER_VERSION); } // Backward compatibility of global typography if(version_compare($current_version, '1.7.0', '<') && !defined('SITEPAD')){ // Set the array $_pagelayer = new PageLayer(); $post_types = array('' => __('Global')); $exclude = [ 'attachment', 'pagelayer-template' ]; $pt_objects = get_post_types(['public' => true,], 'objects'); foreach( $pt_objects as $pt_slug => $type ){ if ( in_array( $pt_slug, $exclude ) ) { continue; } $post_types[$pt_slug] = $type->labels->name; } foreach($post_types as $sk => $sv){ $post_type = empty($sk) ? '' : '_'.$sk; // Load CSS settings foreach($_pagelayer->css_settings as $k => $params){ foreach($_pagelayer->screens as $sck => $scv){ $suffix = (!empty($scv) ? '_'.$scv : ''); $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css'.$post_type : $params['key'].$post_type; $tmp = get_option($setting.$suffix); if(empty($tmp) || empty($tmp['global-font'])){ continue; } // Do empty typo if global set foreach($tmp as $tk => $tv){ if(!in_array($tk, $_pagelayer->typo_props)){ continue; } $tmp[$tk] = ''; } // Update settings update_option($setting.$suffix, $tmp); } } } } // Show changelog notice if(version_compare($current_version, '1.8.1', '<') && !defined('SITEPAD')){ update_option('pagelayer_changelog_notice', 1); } // Save the new Version update_option('pagelayer_version', PAGELAYER_VERSION); } // Add the action to load the plugin add_action('plugins_loaded', 'pagelayer_load_plugin', 9); // The function that will be called when the plugin is loaded function pagelayer_load_plugin(){ global $pagelayer; // Check if the installed version is outdated pagelayer_update_check(); // Set the array $pagelayer = new PageLayer(); if(empty($pagelayer->BRAND_TEXT)){ $pagelayer->BRAND_TEXT = 'Pagelayer'; } if(empty($pagelayer->LOGO)){ $pagelayer->LOGO = PAGELAYER_URL.'/images/pagelayer-logo-40.png'; } // Is there any ACTION set ? $pagelayer->action = pagelayer_optreq('pagelayer-action'); $tablet_breakpoint = get_option('pagelayer_tablet_breakpoint'); $mobile_breakpoint = get_option('pagelayer_mobile_breakpoint'); // Load settings $pagelayer->settings['post_types'] = empty(get_option('pl_support_ept')) ? ['post', 'page'] : get_option('pl_support_ept'); $pagelayer->settings['enable_giver'] = get_option('pagelayer_enable_giver'); $pagelayer->settings['max_width'] = (int) (empty(get_option('pagelayer_content_width')) ? 1170 : get_option('pagelayer_content_width')); $pagelayer->settings['tablet_breakpoint'] = (int) (empty($tablet_breakpoint) ? 780 : $tablet_breakpoint); $pagelayer->settings['mobile_breakpoint'] = (int) (empty($mobile_breakpoint) ? 360 : $mobile_breakpoint); $pagelayer->settings['sidebar'] = get_option('pagelayer_sidebar'); $pagelayer->settings['body_font'] = get_option('pagelayer_body_font'); $pagelayer->settings['color'] = get_option('pagelayer_color'); // Any custom types $pagelayer->settings['post_types'] = apply_filters('pagelayer_supported_post_type', $pagelayer->settings['post_types']); // Load the language load_plugin_textdomain('pagelayer', false, PAGELAYER_SLUG.'/languages/'); // Load our array for builder pagelayer_builder_array(); // Its premium if(!defined('PAGELAYER_PREMIUM')){ // Show the promo pagelayer_maybe_promo([ 'after' => 1,// In days 'interval' => 30,// In days 'pro_url' => PAGELAYER_PRO_PRICE_URL, 'rating' => 'https://wordpress.org/plugins/pagelayer/#reviews', 'twitter' => 'https://twitter.com/pagelayer?status='.rawurlencode('I love #Pagelayer Site Builder by @pagelayer team for my #WordPress site - '.home_url()), 'facebook' => 'https://www.facebook.com/pagelayer', 'website' => PAGELAYER_WWW_URL, 'image' => PAGELAYER_URL.'/images/pagelayer-logo-256.png' ]); } // Are we to disable the getting started promo if(current_user_can('activate_plugins') && isset($_GET['pagelayer-getting-started']) && (int)$_GET['pagelayer-getting-started'] == 0){ check_ajax_referer('pagelayer_getting_started_nonce', 'pagelayer_nonce'); update_option('pagelayer_getting_started', time()); die('DONE'); } // Show the getting started video option $seen = get_option('pagelayer_getting_started'); if(empty($seen) && !empty($_GET['page']) && $_GET['page'] != 'pagelayer_getting_started'){ add_action('admin_notices', 'pagelayer_getting_started_notice'); } // Are we to disable the changelog notice if(current_user_can('activate_plugins') && isset($_GET['pagelayer-changelog-notice']) && (int)$_GET['pagelayer-changelog-notice'] == 0){ check_ajax_referer('pagelayer_changelog_nonce', 'pagelayer_nonce'); update_option('pagelayer_changelog_notice', 0); die('DONE'); } // Show the changelog notice $changelog = get_option('pagelayer_changelog_notice'); if(!empty($changelog)){ add_action('admin_notices', 'pagelayer_show_changelog_notice'); } include_once(PAGELAYER_DIR.'/main/customizer.php'); if(class_exists('WooCommerce')){ include_once(PAGELAYER_DIR.'/main/woocommerce.php'); } } // This adds the left menu in WordPress Admin page add_action('admin_menu', 'pagelayer_admin_menu', 5); // Shows the admin menu of Pagelayer function pagelayer_admin_menu() { global $wp_version, $pagelayer; $capability = 'activate_plugins';// TODO : Capability for accessing this page // Add the menu page add_menu_page(__('Pagelayer Editor'), __('Pagelayer'), $capability, 'pagelayer', 'pagelayer_page_handler', PAGELAYER_URL.'/images/pagelayer-logo-19.png'); // Settings Page add_submenu_page('pagelayer', __('Pagelayer Editor'), __('Settings'), $capability, 'pagelayer', 'pagelayer_page_handler'); // Meta Settings Page add_submenu_page('admin.php', __('Meta Settings'), __('Meta Settings'), 'edit_posts', 'pagelayer_meta_setting', 'pagelayer_meta_handler'); // UI Settings add_submenu_page('pagelayer', __('Website Settings'), __('Website Settings'), $capability, 'pagelayer_website_settings', 'pagelayer_website_page'); // Add new template add_submenu_page('pagelayer', __('Theme Templates'), __('Theme Templates'), $capability, 'edit.php?post_type=pagelayer-template'); // Add new template Link //add_submenu_page('pagelayer', __('Add New Template'), __('Add New Template'), $capability, 'edit.php?post_type=pagelayer-template#new'); // Add new template add_submenu_page('pagelayer', __('Add New Template'), __('Add New Template'), $capability, 'pagelayer_template_wizard', 'pagelayer_builder_template_wizard'); // Export Feature if(defined('PAGELAYER_PREMIUM')){ // Add new template add_submenu_page('pagelayer', __('Custom Fonts'), __('Custom Fonts'), $capability, 'edit.php?post_type='.PAGELAYER_FONT_POST_TYPE); // Export Theme add_submenu_page('pagelayer', __('Export Content into a Theme'), __('Export Theme'), $capability, 'pagelayer_template_export', 'pagelayer_builder_export'); // Import Theme add_submenu_page('pagelayer', __('Import content from a Theme'), __('Import Theme'), $capability, 'pagelayer_import', 'pagelayer_import_page'); } // Getting Started add_submenu_page('pagelayer', __('Getting Started'), __('Getting Started'), $capability, 'pagelayer_getting_started', 'pagelayer_getting_started'); // Its Free if(!defined('PAGELAYER_PREMIUM')){ // Go Pro link add_submenu_page('pagelayer', __('Pagelayer Go Pro'), __('Go Pro'), $capability, PAGELAYER_PRO_PRICE_URL); }else{ // License Page add_submenu_page('pagelayer', __('Pagelayer License'), __('License'), $capability, 'pagelayer_license', 'pagelayer_license_page'); } // Replace Media add_submenu_page('admin.php', __('Replace media', 'pagelayer'), __('Replace media', 'pagelayer'), 'upload_files', 'pagelayer_replace_media', 'pagelayer_replace_media'); } // This function will handle the Settings Pages in Pagelayer function pagelayer_website_page(){ global $wp_version, $pagelayer; include_once(PAGELAYER_DIR.'/main/website.php'); pagelayer_website_settings(); } // Getting Started function pagelayer_getting_started(){ global $wp_version, $pagelayer; update_option('pagelayer_getting_started', time()); include_once(PAGELAYER_DIR.'/main/getting_started.php'); } // This function will handle the post_metas Pages in Pagelayer function pagelayer_meta_handler(){ global $wp_version, $pagelayer; include_once(PAGELAYER_DIR.'/main/post_metas.php'); pagelayer_meta_page(); } // Pagelayer post meta page view handler add_action('admin_enqueue_scripts', 'pagelayer_post_meta_page'); function pagelayer_post_meta_page() { // Set Current screen $screen = get_current_screen(); $meta_id = 'admin_page_pagelayer_meta_setting'; if( !is_admin() || trim($screen->id) != $meta_id ) { return; } if(!isset($_REQUEST['post'])){ return; } // Remove all the notice hooks remove_all_actions('admin_notices'); remove_all_actions('all_admin_notices'); $_REQUEST['post'] = (int) $_REQUEST['post']; $post = get_post( $_REQUEST['post'] ); // Enqueue Scripts wp_enqueue_script( 'post' ); // Is support media $thumbnail_support = current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' ); if ( ! $thumbnail_support && 'attachment' === $post->post_type && $post->post_mime_type ) { if ( wp_attachment_is( 'audio', $post ) ) { $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' ); } elseif ( wp_attachment_is( 'video', $post ) ) { $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' ); } } if ( $thumbnail_support ) { add_thickbox(); wp_enqueue_media( array( 'post' => $post->ID ) ); } $meta_box_url = admin_url( 'post.php' ); $meta_box_url = add_query_arg( array( 'post' => $post->ID, 'action' => 'editpost', ), $meta_box_url ); echo ' '; } // Update post meta via gutenberg handler add_filter('sanitize_post_meta_pagelayer_header_code', 'pagelayer_sanitize_postmeta', 10, 2); add_filter('sanitize_post_meta_pagelayer_body_open_code', 'pagelayer_sanitize_postmeta', 10, 2); add_filter('sanitize_post_meta_pagelayer_footer_code', 'pagelayer_sanitize_postmeta', 10, 2); function pagelayer_sanitize_postmeta( $meta_value, $meta_key ) { // Sanitize Header, body and footer code if( in_array( $meta_key, array( 'pagelayer_header_code', 'pagelayer_body_open_code', 'pagelayer_footer_code' ) ) && !pagelayer_user_can_add_js_content() ){ return sanitize_textarea_field($meta_value); } return $meta_value; } // Pre post save handler add_filter( 'content_save_pre', 'pagelayer_content_save_pre' ); function pagelayer_content_save_pre($content){ if(!pagelayer_user_can_add_js_content() && strpos($content, '[') !== false){ $content = pagelayer_sanitize_shortcode_atts($content); } if(pagelayer_user_can_add_js_content() || !pagelayer_has_blocks($content)){ return $content; } $blocks = parse_blocks( wp_unslash($content) ); $output = ''; foreach ( $blocks as $block ) { $block_name = $block['blockName']; // Is pagelayer block if ( is_string( $block_name ) && 0 === strpos( $block_name, 'pagelayer/' ) ) { $_block = pagelayer_sanitize_blocks_save_pre($block); $output .= serialize_block($_block); continue; } $output .= serialize_block($block); } return wp_slash($output); } // On post save handler add_action('save_post', 'pagelayer_save_post', 10, 3); function pagelayer_save_post( $post_id, $post, $update ) { if( !isset($_REQUEST['is_pagelayer_editor']) || !pagelayer_user_can_edit($post_id)){ return; } // Save Header, body and footer code $header_code = !empty($_REQUEST['pagelayer_header_code']) ? $_REQUEST['pagelayer_header_code'] : '' ; $body_code = !empty($_REQUEST['pagelayer_body_open_code']) ? $_REQUEST['pagelayer_body_open_code'] : '' ; $footer_code = !empty($_REQUEST['pagelayer_footer_code']) ? $_REQUEST['pagelayer_footer_code'] : '' ; // Set Custom header, body and footer code if(!empty($header_code)){ update_post_meta($post_id, 'pagelayer_header_code', $header_code); }else{ delete_post_meta($post_id, 'pagelayer_header_code'); } if(!empty($body_code)){ update_post_meta($post_id, 'pagelayer_body_open_code', $body_code); }else{ delete_post_meta($post_id, 'pagelayer_body_open_code'); } if(!empty($footer_code)){ update_post_meta($post_id, 'pagelayer_footer_code', $footer_code); }else{ delete_post_meta($post_id, 'pagelayer_footer_code'); } } // This function will handle the Settings Pages in Pagelayer function pagelayer_page_handler(){ global $wp_version, $pagelayer; include_once(PAGELAYER_DIR.'/main/settings.php'); pagelayer_settings_page(); } // This function will handle the Settings Pages in Pagelayer function pagelayer_license_page(){ global $wp_version, $pagelayer; include_once(PAGELAYER_PRO_DIR.'/main/license.php'); pagelayer_license(); } // Import Pagelayer Templates function pagelayer_import_page(){ global $wp_version, $pagelayer; include_once(PAGELAYER_DIR.'/main/import.php'); pagelayer_import(); } // Load the Live Body add_action('template_redirect', 'pagelayer_load_live_body', 4); function pagelayer_load_live_body(){ global $post; // If its not live editing then stop if(!pagelayer_is_live()){ return; } // If its the iFRAME then return if(pagelayer_is_live_iframe()){ return; } // Are you allowed to edit ? if(!pagelayer_user_can_edit($post->ID)){ return; } // Load the editor live body include_once(PAGELAYER_DIR.'/main/live-body.php'); pagelayer_live_body(); } // Add the JS and CSS for Posts and Pages when being viewed ONLY if there is our content called add_action('template_redirect', 'pagelayer_enqueue_frontend', 5); function pagelayer_enqueue_frontend($force = false){ global $post, $pagelayer; if(!empty($pagelayer->cache['enqueue_frontend'])){ return; } if(empty($post->ID) && empty($force)){ return; } $is_pagelayer = false; $is_audio = false; // This IF is for Archives mainly as $post->ID is only the first post in the archive // and we need to make sure that other posts are pagelayer or not if(!empty($GLOBALS['wp_query']->posts) && is_array($GLOBALS['wp_query']->posts)){ foreach($GLOBALS['wp_query']->posts as $v){ if(get_post_meta($v->ID , 'pagelayer-data')){ $is_pagelayer = true; } if(preg_match('/(\[pl_audio|pagelayer\/pl_audio)/is', $v->post_content)){ $is_audio = true; } } } // Enqueue the FRONTEND CSS if((!empty($post->ID) && get_post_meta($post->ID , 'pagelayer-data')) || pagelayer_has_blocks() || $is_pagelayer || $force){ // We dont need the auto

    and
    as they interfere with us remove_filter('the_content', 'wpautop'); // No need to add curly codes to the content remove_filter('the_content', 'wptexturize'); pagelayer_load_shortcodes(); // Load global colors and fonts pagelayer_load_global_palette(); $pagelayer->cache['enqueue_frontend'] = true; // Load the global styles add_action('wp_head', 'pagelayer_global_js', 2); $premium_js = apply_filters('pagelayer_add_give_js', ''); $premium_css = apply_filters('pagelayer_add_give_css', ''); // Load this For audio widget do_action('pagelayer_load_audio_widget', $is_audio); if(pagelayer_enable_giver()){ $write = ''; // Dev mode - Dynamic JS and CSS if(defined('PAGELAYER_DEV') && !empty(PAGELAYER_DEV)){ $write = '&write=1'; } // Enqueue our Editor's Frontend JS wp_register_script('pagelayer-frontend', PAGELAYER_JS.'/givejs.php?give=pagelayer-frontend.js,nivo-lightbox.min.js,wow.min.js,jquery-numerator.js,simpleParallax.min.js,owl.carousel.min.js'.$premium_js.$write, array('jquery'), PAGELAYER_VERSION); // Get list of enabled icons $icons_css = ''; $icons = pagelayer_enabled_icons(); foreach($icons as $icon){ $icons_css .= ','.$icon.'.min.css'; } wp_register_style('pagelayer-frontend', PAGELAYER_CSS.'/givecss.php?give=pagelayer-frontend.css,nivo-lightbox.css,animate.min.css,owl.carousel.min.css,owl.theme.default.min.css'.$icons_css.$premium_css.$write, array(), PAGELAYER_VERSION); // Static Files }else{ wp_register_script('pagelayer-frontend', (empty($premium_js) ? PAGELAYER_JS : PAGELAYER_PRO_JS).'/combined.js', array('jquery'), PAGELAYER_VERSION); wp_register_style('pagelayer-frontend', PAGELAYER_CSS.'/combined'.(!empty($premium_css) ? '.premium' : '').'.css', array(), PAGELAYER_VERSION); } wp_enqueue_script('pagelayer-frontend'); wp_enqueue_style('pagelayer-frontend'); // Load the global styles add_action('wp_head', 'pagelayer_global_styles', 5); add_filter('body_class', 'pagelayer_body_class', 10, 2); // Load the global styles for gutenberg if(pagelayer_is_gutenberg_editor()){ add_action('admin_print_scripts', 'pagelayer_global_styles', 5); } // Load custom widgets do_action('pagelayer_custom_frontend_enqueue'); } } // Load the google and custom fonts add_action('wp_footer', 'pagelayer_enqueue_fonts', 5); function pagelayer_enqueue_fonts($suffix = '-header'){ global $pagelayer; if(empty($pagelayer->cache['enqueue_frontend'])){ return; } $url = []; $cst = []; foreach($pagelayer->css as $k => $set){ $font_family = pagelayer_isset($set, 'font-family'); if(empty($font_family)){ $key = str_replace(['_mobile', '_tablet'], '', $k); $font_family = isset($pagelayer->css[$key]['font-family'])? $pagelayer->css[$key]['font-family']: ''; } // Fetch body font if given if(!empty($font_family)){ pagelayer_load_font_family($font_family, pagelayer_isset($set, 'font-weight'), pagelayer_isset($set, 'font-style')); } } foreach($pagelayer->runtime_fonts as $font => $weights){ if(in_array($font, $pagelayer->system_fonts)){ continue; } if(strpos($font, '_plf')){ if(!in_array($font, $pagelayer->fonts_sent)){ $pagelayer->fonts_sent[] = $font; $cst[] = preg_replace('/_plf$/is', '', $font); } }else{ $v = $font.':'.implode(',', $weights); if(!in_array($v, $pagelayer->fonts_sent)){ $url[] = $v; $pagelayer->fonts_sent[] = $v; } } } // If no fonts are to be set, then we dont set if(!empty($url)){ $fonts_url = 'https://fonts.googleapis.com/css?family='.rawurlencode(implode('|', $url)); $fonts_url = apply_filters('pagelayer_google_fonts_url', $fonts_url); wp_register_style('pagelayer-google-font'.$suffix, $fonts_url, array(), PAGELAYER_VERSION); wp_enqueue_style('pagelayer-google-font'.$suffix); echo ''; } if(empty($cst)){ return; } $args = [ 'post_type' => PAGELAYER_FONT_POST_TYPE, 'status' => 'publish', 'post_name__in' => $cst ]; //var_dump($args); $query = get_posts($args); //var_dump($query); if(empty($query)){ return; } foreach($query as $font){ $meta_box_value = get_post_meta($font->ID, 'pagelayer_font_link', true); if(empty($meta_box_value)){ continue; } echo ''; } } // Load any header we have function pagelayer_global_js(){ global $pagelayer; $pagelayer_recaptch_lang = get_option('pagelayer_google_captcha_lang'); echo ''; } // We need to handle global styles function pagelayer_load_global_css(){ global $pagelayer; // Load CSS settings foreach($pagelayer->css_settings as $k => $params){ $tmp_desk = ''; foreach($pagelayer->screens as $sk => $sv){ $suffix = (!empty($sv) ? '_'.$sv : ''); $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css' : $params['key']; $tmp = get_option($setting.$suffix); if($sk == 'desktop'){ $tmp_desk = $tmp; } $tmp = pagelayer_sanitize_global_style($tmp, $tmp_desk, $sk); if(empty($tmp)){ continue; } $pagelayer->css[$k.$suffix] = $tmp; } } // Backward compat for colors if(!empty($pagelayer->settings['color']['background']) && empty($pagelayer->css['body']['background-color'])){ $pagelayer->css['body']['background-color'] = $pagelayer->settings['color']['background']; } if(!empty($pagelayer->settings['color']['text']) && empty($pagelayer->css['body']['color'])){ $pagelayer->css['body']['color'] = $pagelayer->settings['color']['text']; } // Link Color if(!empty($pagelayer->settings['color']['link']) && empty($pagelayer->css['a']['color'])){ $pagelayer->css['a']['color'] = $pagelayer->settings['color']['link']; } // Link Hover Color if(!empty($pagelayer->settings['color']['link-hover']) && empty($pagelayer->css['a-hover']['color'])){ $pagelayer->css['a-hover']['color'] = $pagelayer->settings['color']['link-hover']; } // Headings Color if(!empty($pagelayer->settings['color']['heading'])){ $htmp = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; foreach($htmp as $k => $v){ if(empty($pagelayer->css[$v]['color'])){ $pagelayer->css[$v]['color'] = $pagelayer->settings['color']['heading']; } } } // Backward compat for body font if(!empty($pagelayer->settings['body_font'])){ $pagelayer->settings['body']['font-family'] = $pagelayer->settings['body_font']; } } // We need to handle global styles function pagelayer_global_styles(){ global $pagelayer, $post; // Load css from settings pagelayer_load_global_css(); $styles = ' '; // Lets just build a temporary list of fonts so that we can add prefetch ! pagelayer_enqueue_fonts(); if(!empty($pagelayer->runtime_fonts)){ echo ' '; } echo $styles; } function pagelayer_body_class($classes, $class){ $classes[] = 'pagelayer-body'; return $classes; } // Load the live editor if needed // Changed this hook wp_enqueue_scripts to Template_include to make block theme compatibility add_action('template_include', 'pagelayer_load_live'); function pagelayer_load_live($template){ global $post, $pagelayer; $pagelayer->load_live_errors = array(); // If its not live editing then stop if(!pagelayer_is_live_iframe($pagelayer->load_live_errors)){ // Is it the live mode then lets throw an error ? if(pagelayer_optreq('pagelayer-iframe')){ add_action('wp_head', 'pagelayer_load_live_errors', 999); } return $template; } // Are you allowed to edit ? if(!pagelayer_user_can_edit($post->ID)){ return $template; } // Load the editor class include_once(PAGELAYER_DIR.'/main/live.php'); // Call the constructor $pl_editor = new PageLayer_LiveEditor(); return $template; } // Show the live errors if any function pagelayer_load_live_errors(){ global $post, $pagelayer; // Any errors ? if(empty($pagelayer->load_live_errors)){ return; } echo ''; } // If we are doing ajax and its a pagelayer ajax if(wp_doing_ajax()){ include_once(PAGELAYER_DIR.'/main/ajax.php'); } // Show the backend editor options add_action('edit_form_after_title', 'pagelayer_after_title', 10); function pagelayer_after_title(){ global $post; // Get the current screen $current_screen = get_current_screen(); // For gutenberg if(method_exists($current_screen, 'is_block_editor') && $current_screen->is_block_editor()){ // Add the code in the footer add_action('admin_footer', 'pagelayer_gutenberg_after_title'); return; } // Is pagelayer supposed to edit this ? if(!pagelayer_user_can_edit($post)){ return; } $link = pagelayer_shortlink($post->ID).'&pagelayer-live=1'; echo '

    '; } function pagelayer_gutenberg_after_title(){ global $post; // Is pagelayer supposed to edit this ? if(!pagelayer_user_can_edit($post)){ return; } $link = pagelayer_shortlink($post->ID).'&pagelayer-live=1'; echo ' '; } // Handle Old Slug URL redirect for live link add_filter( 'old_slug_redirect_url', 'pagelayer_old_slug_redirect', 10, 1); function pagelayer_old_slug_redirect($link){ if(pagelayer_optreq('pagelayer-live')){ $link = add_query_arg('pagelayer-live', '1', $link); } return $link; } // Clone Post add_action('admin_action_pagelayer_clone_post', 'pagelayer_clone_post'); function pagelayer_clone_post(){ // Nonce verification check_admin_referer('pagelayer-options'); if(!current_user_can('edit_posts')){ wp_die('You don\'t have access to clone this post.'); } // Get the original post id $post_id = (int) $_REQUEST['post']; $post = get_post( $post_id ); // If post data exists, create the post clone if(empty($post)){ wp_die('No post found'); } $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; unset($post->ID); $post->post_author = $new_post_author; $post->post_name = ''; $post->post_status = 'draft'; $post->post_title = $post->post_title.' Clone'; $post->post_date = ''; $post->post_date_gmt = ''; $post->guid = ''; $new_post_id = wp_insert_post( $post ); if(empty($new_post_id)){ wp_die('Post creation failed, could not find original post: ' . $post_id); } // Get all current post terms and set them to the new post draft $taxonomies = get_object_taxonomies($post->post_type); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } // Clone all post meta info $post_meta_infos = get_post_meta($post_id); if (count($post_meta_infos) > 0) { foreach ($post_meta_infos as $meta_key => $meta_value){ add_post_meta($new_post_id, $meta_key, wp_slash( maybe_unserialize($meta_value[0]) )); } } // Finally, redirect to the edit post screen for the new draft wp_redirect( get_edit_post_link($new_post_id, '') ); exit; } // Add the clone link to action list for post_row_actions add_filter('post_row_actions', 'pagelayer_clone_post_link', 10, 2); add_filter('page_row_actions', 'pagelayer_clone_post_link', 10, 2); function pagelayer_clone_post_link( $actions, $post ) { if (current_user_can('edit_posts') && $post->post_status !== 'trash' && !defined('SITEPAD') && get_option('pagelayer_disable_clone') != 1) { $actions['clone'] = ''.__( 'Clone', 'pagelayer') .''; } return $actions; } add_filter( 'post_row_actions', 'pagelayer_quick_link', 10, 2 ); add_filter( 'page_row_actions', 'pagelayer_quick_link', 10, 2 ); function pagelayer_quick_link($actions, $post){ global $pagelayer; // Some woocommerce pages are not having ID if(empty($post->ID)){ return $actions; } // Is pagelayer supposed to edit this ? if(!pagelayer_user_can_edit($post)){ return $actions; } $link = pagelayer_shortlink($post->ID).'&pagelayer-live=1'; $actions['pagelayer'] = ''.__( 'Edit using Pagelayer', 'pagelayer') .''; return $actions; } // Add settings link on plugin page add_filter('plugin_action_links_pagelayer/pagelayer.php', 'pagelayer_plugin_action_links'); function pagelayer_plugin_action_links($links){ if(!defined('PAGELAYER_PREMIUM')){ $links[] = ''._x('Go Pro', 'Upgrade to Pagelayer Pro for many more features', 'pagelayer').''; } $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } // Add custom header add_action('wp_head', 'pagelayer_add_custom_head', 102); function pagelayer_add_custom_head(){ global $post; $global_code = wp_unslash( get_option('pagelayer_header_code') ); if(!empty($post)){ $header_code = get_post_meta($post->ID , 'pagelayer_header_code', true); } if(!empty($global_code)){ echo $global_code."\n"; } if(!empty($header_code)){ echo $header_code."\n"; } } // Add custom body add_action('wp_body_open', 'pagelayer_body_open'); function pagelayer_body_open(){ global $post; $global_code = wp_unslash( get_option('pagelayer_body_open_code') ); if(!empty($post)){ $body_code = get_post_meta($post->ID , 'pagelayer_body_open_code', true); } if(!empty($global_code)){ echo $global_code."\n"; } if(!empty($body_code)){ echo $body_code."\n"; } } // Add custom footer add_action('wp_footer', 'pagelayer_add_custom_footer'); function pagelayer_add_custom_footer(){ global $post, $pagelayer; if(!empty($pagelayer->localScript)){ //Add local Script to variable to footer wp_register_script('pagelayer-localScript', false, true); wp_localize_script('pagelayer-localScript','pagelayer_local_scripts', $pagelayer->localScript); wp_enqueue_script( 'pagelayer-localScript'); } if($pagelayer->append_yt_api){ wp_register_script('pagelayer-youtube-script',"https://www.youtube.com/iframe_api", array(), PAGELAYER_VERSION, true); wp_enqueue_script('pagelayer-youtube-script'); } $global_code = wp_unslash( get_option('pagelayer_footer_code') ); if(!empty($post)){ $footer_code = get_post_meta($post->ID , 'pagelayer_footer_code', true); } if(!empty($global_code)){ echo $global_code."\n"; } if(!empty($footer_code)){ echo $footer_code."\n"; } } // Handle Logout Redirect here add_action('wp_logout', 'pagelayer_after_logout'); function pagelayer_after_logout($user_id){ // Get the URL $url = get_user_option('pagelayer_logout_url', $user_id); // Now blank it update_user_option($user_id, 'pagelayer_logout_url', ''); // We will redirect if we have the given item set. if(!empty($url)){ wp_redirect( $url ); exit(); } } // Replace Media $media_replace = get_option( 'pagelayer_disable_media_replace'); if(empty($media_replace)){ // Add URL to Replace Meda add_filter('media_row_actions', 'pagelayer_add_media_action', 10, 2); function pagelayer_add_media_action($actions, $post){ $url = admin_url('upload.php'); $url = add_query_arg(array( 'page' => 'pagelayer_replace_media', 'id' => $post->ID, ), $url); $actions['pagelayer_replace_media'] = ''.esc_html__('Replace media', 'pagelayer').''; return $actions; } } // Replace Media Function function pagelayer_replace_media(){ include_once(PAGELAYER_DIR.'/main/replace-media.php'); pagelayer_replace_page(); } // Hide admin bar add_action( 'init', 'pagelayer_hide_admin_bar'); function pagelayer_hide_admin_bar(){ // Is it the live mode ? if(!pagelayer_optreq('pagelayer-live', false) || !pagelayer_optreq('pagelayer-iframe', false)){ return false; } show_admin_bar(false); } // Check is gutenberg editor function pagelayer_is_gutenberg_editor(){ if(!function_exists('get_current_screen')){ return false; } $screen = get_current_screen(); if(empty($screen) || !method_exists($screen, 'is_block_editor')){ return false; } return $screen->is_block_editor(); } // Pagelayer Template Loading Mechanism include_once(PAGELAYER_DIR.'/main/template.php'); // Convert Pagelayer widgets to gutenberg block if(file_exists(PAGELAYER_DIR.'/main/blocks.php')){ include_once(PAGELAYER_DIR.'/main/blocks.php'); }PKZ>X"Vggplugins/pagelayer/license.txtnu[ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! PKZ{>>*plugins/pagelayer/js/pagelayer-frontend.jsnu[/* PAGELAYER http://pagelayer.com/ (c) Pagelayer Team */ var pagelayer_doc_width; // Things to do on document load jQuery(document).ready(function(){ // Current width pagelayer_doc_width = jQuery(document).width(); // Rows jQuery('.pagelayer-row-stretch-full').each(function(){ pagelayer_pl_row_full(jQuery(this)); }); jQuery('.pagelayer-anim_heading').each(function(){ pagelayer_anim_heading(jQuery(this)); }); // Setup any sliders jQuery('.pagelayer-image_slider').each(function(){ pagelayer_pl_image_slider(jQuery(this)); }); jQuery('.pagelayer-accordion').each(function(){ pagelayer_pl_accordion(jQuery(this)); }); jQuery('.pagelayer-collapse').each(function(){ pagelayer_pl_collapse(jQuery(this)); }); jQuery('.pagelayer-tabs').each(function(){ pagelayer_pl_tabs(jQuery(this)); }); jQuery('.pagelayer-video').each(function(){ pagelayer_pl_video(jQuery(this)); }); jQuery('.pagelayer-image').each(function(){ pagelayer_pl_image(jQuery(this)); }); jQuery('.pagelayer-grid_gallery').each(function(){ pagelayer_pl_grid_lightbox(jQuery(this)); }); jQuery('.pagelayer-row, .pagelayer-inner_row, .pagelayer-col').each(function(){ pagelayer_pl_row_video(jQuery(this)); }); jQuery('.pagelayer-parallax-window img').each(function(){ pagelayer_pl_row_parallax(jQuery(this)); }); jQuery('.pagelayer-recaptcha').each(function(){ pagelayer_recaptcha_loader(jQuery(this)); }); jQuery('.pagelayer-wp_menu').each(function(){ pagelayer_primary_menu(jQuery(this)); }); jQuery('.pagelayer-contact').each(function(){ pagelayer_contact_form(jQuery(this)); }); jQuery('.pagelayer-countdown').each(function(){ pagelayer_countdown(jQuery(this)); }); jQuery('.pagelayer-testimonial_slider').each(function(){ pagelayer_pl_testimonial_slider(jQuery(this)); }); jQuery('.pagelayer-social_grp').each(function(){ pagelayer_pl_social_profile(jQuery(this)); }); jQuery('.pagelayer-scroll-to-element').each(function () { pagelayer_button_element_scroll(jQuery(this)); }); jQuery('.pagelayer-bgimg-slider').each(function () { pagelayer_pl_row_slider(jQuery(this)); }); jQuery('.pagelayer-stars-container').each(function(){ pagelayer_stars(jQuery(this)); }); jQuery('.pagelayer-infinite-posts').each(function(){ pagelayer_infinite_posts(jQuery(this)); }); jQuery('.pagelayer-youtube-video').each(function(){ pagelayer_create_yt_player(jQuery(this)); }); // We need to call the is visible thing to show the widgets loading effect if(jQuery('.pagelayer-counter-content,.pagelayer-progress-container').length > 0){ // First Call pagelayer_counter(); pagelayer_progress(); jQuery(window).scroll(function() { pagelayer_progress(); pagelayer_counter(); }); } new WOW({boxClass:'pagelayer-wow'}).init(); // Remove pagelayer-wow temporary style after wow init added from wp_head jQuery('#pagelayer-wow-animation-style').remove(); }); // For automatic row change jQuery(window).resize(function() { // Primary Menu jQuery('.pagelayer-wp_menu').each(function(){ pagelayer_primary_menu(jQuery(this)); }); var new_vw = jQuery(document).width(); if(new_vw == pagelayer_doc_width){ return false; } pagelayer_doc_width = new_vw; // Remove style jQuery('.pagelayer-row-stretch-full').removeAttr('style'); // Set a timeout to prevent bubbling setTimeout(function(){ jQuery('.pagelayer-row-stretch-full').each(function(){ pagelayer_pl_row_full(jQuery(this)); }); }, 200); }); // Get document for gutenberg function pagelayerGetDocumentElement(){ // Find the iframe element with the name "editor-canvas". const editorIframe = document.querySelectorAll( 'iframe[name="editor-canvas"]' ); if(! editorIframe?.[ 0 ]){ return document; } // Get the document of the iframe. const iframeDocument = editorIframe[ 0 ]?.contentWindow?.document || editorIframe[ 0 ]?.contentDocument; if ( ! iframeDocument ) { return document; } // Set the root element to the iframe document. return iframeDocument; }; // Get Window for gutenberg function pagelayerGetCurrentWindow(){ var doc = pagelayerGetDocumentElement(); return doc.defaultView || window; } // Modify jQuery for gutenberg tablet and mobile function pagelayer_query(sel, doc) { doc = doc || pagelayerGetDocumentElement(); return jQuery(sel, doc); } // Check if element is visible function pagelayer_isVisible(ele) { var win = pagelayerGetCurrentWindow(); var offset = win.innerHeight; var viewTop = win.pageYOffset; var viewBottom = viewTop + offset - Math.min(ele.height(), ele.innerHeight()); var top = ele.offset().top; var bottom = top + ele.innerHeight(); if(top <= viewBottom && bottom >= viewTop){ return true; } return false; } // Get media mode function pagelayer_get_media_mode(){ var win = pagelayerGetCurrentWindow(); if(win.matchMedia("(min-width: "+ (pagelayer_settings['tablet_breakpoint'] + 1) +"px)").matches){ return 'desktop'; } if(win.matchMedia("(max-width: "+ pagelayer_settings['tablet_breakpoint'] +"px) and (min-width: "+ (pagelayer_settings['mobile_breakpoint'] + 1) +"px)").matches){ return 'tablet'; } if(win.matchMedia("(max-width: "+ pagelayer_settings['mobile_breakpoint'] +"px)").matches){ return 'mobile'; } return 'desktop'; } // Row background video and parallax function pagelayer_pl_row_video(jEle){ var vEle = jEle.children('.pagelayer-background-video'); // Not a video in the element if(vEle.length < 1){ return true; } var setup = vEle.attr('pagelayer-setup'); if(setup && setup.length > 0){ return true; } var frame_width = vEle.width(); var frame_height = (frame_width/100)*56.25; var height = vEle.height(); if(frame_height < height){ frame_height = height; } vEle.children().css({'width':frame_width+'px','height':frame_height+'px'}); if(vEle.find('.pagelayer-youtube-video').length > 0){ pagelayer_create_yt_player(vEle.find('.pagelayer-youtube-video')); } vEle.attr('pagelayer-setup', 1); } function pagelayer_create_yt_player(jEle){ var pEle = jEle.parent(), aspectRatioSetting = '16:9', containerWidth = pEle.outerWidth(), containerHeight = pEle.outerHeight(), aspectRatioArray = aspectRatioSetting.split(':'), aspectRatio = aspectRatioArray[0] / aspectRatioArray[1], isWidthFixed = containerWidth / containerHeight > aspectRatio, width= isWidthFixed ? containerWidth : containerHeight * aspectRatio, height= isWidthFixed ? containerWidth / aspectRatio : containerHeight; var yt_api_interval = setInterval(function(){ if(!(window.YT && YT.loaded)){ return } clearInterval(yt_api_interval); var settings ={}; settings.loop = jEle.attr('data-loop'); settings.videoid = jEle.attr('data-videoid'); settings.mute = jEle.attr('data-mute'); var player; var onPlayerReady = function(event) { event.target.playVideo(); } player = new YT.Player(jEle[0], { width: width, height: height, videoId: settings.videoid, playerVars: { controls: 0, rel: 0, loop: settings.loop, mute:settings.mute, playsinline: 1, playlist: settings.videoid, }, events: { 'onReady': onPlayerReady, } }); }, 500); } // Row background parallax function pagelayer_pl_row_parallax(jEle){ //Parallax background var setup = jEle.attr('pagelayer-setup'); if(setup && setup.length > 0){ return true; } new pagelayerParallax(jEle); jEle.attr('pagelayer-setup', 1); } // Adjust rows function pagelayer_pl_row_full(jEle, html){ html = html || pagelayer_query('html'); // Get current width var vw = html[0].clientWidth; // Now give the row the width jEle.css({'width': vw, 'max-width': '100vw'}); // Set the offset jEle.offset({left: 0}); // Set a timeout as well as some themes can interfere with us setTimeout(function(){ jEle.offset({left: 0}); }, 500); }; // Modal open function pagelayer_render_pl_modal(e){ jQuery(e.target).closest('.pagelayer-modal-container').find('.pagelayer-modal-content').show(); }; // Modal close function pagelayer_pl_modal_close(e){ jQuery(e.target).closest('.pagelayer-modal-content').hide(); } // Setup the image slider function pagelayer_pl_image_slider(jEle){ var ul = jEle.find('.pagelayer-image-slider-ul'); // Build the options var options = pagelayer_fetch_dataAttrs(ul, 'data-slides-'); pagelayer_owl_init(jEle, ul, options); } function pagelayer_get_tab_ele(temp_tabCont){ if(!pagelayer_empty(temp_tabCont.children('.pagelayer-ele-wrap').length)){ return temp_tabCont.children('.pagelayer-ele-wrap').children('.pagelayer-tab'); }else{ return temp_tabCont.children('.pagelayer-tab'); } } function pagelayer_tab_show(el, pl_id) { var parent_id = jQuery(el).closest('.pagelayer-tabs').attr('pagelayer-id'); var temp_tabCont = pagelayer_query('[pagelayer-id='+pl_id+']').closest('.pagelayer-tabcontainer'); pagelayer_get_tab_ele(temp_tabCont).hide(); pagelayer_query('[pagelayer-id='+pl_id+']').show(); jQuery(el).parent().find('.pagelayer-tablinks').each(function(){ jQuery(this).removeClass('active'); }); jQuery(el).addClass("active"); } var pagelayer_tab_timers = {}; function pagelayer_pl_tabs(jEle) { var default_active = ''; var jEle_id = jEle.attr('pagelayer-id'); var tabCont = jEle.children('.pagelayer-tabcontainer'); var children = pagelayer_get_tab_ele(tabCont); // Loop thru children.each(function(){ var tEle = jQuery(this); var pl_id = tEle.attr('pagelayer-id'); var title = tEle.attr('pagelayer-tab-title') || 'Tab'; var func = "pagelayer_tab_show(this, '"+pl_id+"')"; var icon = ''; if(tEle.attr('pagelayer-tab-icon')){ icon = tEle.attr('pagelayer-tab-icon'); } // Set the default tab if(tEle.attr('pagelayer-default_active') && !pagelayer_empty(pl_id)){ default_active = pl_id; } jEle.children('.pagelayer-tabs-holder').append(' '+title+''); }); // Set the default tab if(default_active.length > 0){ pagelayer_tab_show(jEle.find('[tab-id='+default_active+']'), default_active); // Set the first tab as active }else{ var first_tab = jEle.find('[tab-id]').first(); pagelayer_tab_show(first_tab, first_tab.attr('tab-id')); } try{ clearInterval(pagelayer_tab_timers[jEle_id]); }catch(e){}; var rotate = parseInt(jEle.attr('pagelayer-tabs-rotate')); // Are we to rotate if(rotate > 0){ var i= 0; pagelayer_tab_timers[jEle_id] = setInterval(function () { if(i >= children.length){ i = 0; } var tabCont = jEle.children('.pagelayer-tabcontainer'); var tmp_pl_ele = pagelayer_get_tab_ele(tabCont)[i]; var tmp_btn_ele = jEle.find('.pagelayer-tablinks')[i] var tmp_pl_id = jQuery(tmp_pl_ele).attr('pagelayer-id'); jEle.find('.pagelayer-tablinks').each(function(){ jQuery(this).removeClass('active'); }); jQuery(tmp_btn_ele).addClass("active"); pagelayer_tab_show(tmp_btn_ele, tmp_pl_id); i++; }, rotate); } } // Setup the Accordion function pagelayer_pl_accordion(jEle){ var holder = jEle.find('.pagelayer-accordion-holder'); var accHolder = jEle.find('.pagelayer-accordion_item'); var scrolltop = false; if(accHolder.length < 1){ return false; } var icon = holder.attr('data-icon'); var active_icon = holder.attr('data-active_icon'); accHolder.find('.pagelayer-accordion-tabs span i').attr('class', icon); var currentActiveTab = jEle.find('.pagelayer-accordion_item.active').first(); // Any URL HASH ? var hash = location.hash.slice(1); if(!pagelayer_empty(hash)){ var scrollTab = jEle.find('#'+hash); if(!pagelayer_empty(scrollTab) && scrollTab.length > 0){ currentActiveTab = scrollTab.closest('.pagelayer-accordion_item'); } } holder.unbind('click'); holder.on('click', '.pagelayer-accordion-tabs', function(){ var currentTab = jQuery(this).closest('.pagelayer-accordion_item'); if(currentTab.hasClass('active') && currentTab.children('.pagelayer-accordion-panel').is(':visible')){ currentTab.removeClass('active').children('.pagelayer-accordion-panel').slideUp('slow'); currentTab.find('.pagelayer-accordion-tabs span i').attr('class', icon); return true; } accHolder.find('.pagelayer-accordion-tabs span i').attr('class', icon); accHolder.removeClass('active').filter(function(index){ return accHolder[index]!=currentTab[0]; }).children('.pagelayer-accordion-panel').slideUp('slow'); currentTab.addClass('active').children('.pagelayer-accordion-panel').slideDown('slow'); currentTab.find('.pagelayer-accordion-tabs span i').attr('class', active_icon); }); // To prevent default active click in gutenberg var setup = jEle.attr('pagelayer-setup'); // Already setup ? if(setup && setup.length > 0){ return; } jEle.attr('pagelayer-setup', 1); // If active first tab from all active tabs currentActiveTab.removeClass('active'); currentActiveTab.find('.pagelayer-accordion-tabs').click(); } // Setup the Collapse function pagelayer_pl_collapse(jEle){ var holder = jEle.find('.pagelayer-collapse-holder'); var tabs = jEle.find('.pagelayer-accordion_item'); if(tabs.length < 1){ return false; } var setup = tabs.attr('pagelayer-setup'); var icon = holder.attr('data-icon'); var active_icon = holder.attr('data-active_icon'); // Any URL HASH ? var hash = location.hash.slice(1); if(!pagelayer_empty(hash)){ var scrollTab = jEle.find('#'+hash); if(!pagelayer_empty(scrollTab) && scrollTab.length > 0){ scrollTab.closest('.pagelayer-accordion_item').addClass('active'); } } var activeTabs = jEle.find('.pagelayer-accordion_item.active'); tabs.find('.pagelayer-accordion-tabs span i').attr('class', icon); jQuery(activeTabs).addClass('active').children('.pagelayer-accordion-panel').slideDown('slow'); jQuery(activeTabs).find('.pagelayer-accordion-tabs span i').attr('class', active_icon); // Already setup ? if(setup && setup.length > 0){ tabs.find('.pagelayer-accordion-tabs').unbind('click'); } tabs.find('.pagelayer-accordion-tabs').click(function(){ var currentTab = jQuery(this).closest('.pagelayer-accordion_item'); if(currentTab.hasClass('active')){ currentTab.removeClass('active').children('.pagelayer-accordion-panel').slideUp('slow'); currentTab.find('.pagelayer-accordion-tabs span i').attr('class', icon); return true; } currentTab.addClass('active').children('.pagelayer-accordion-panel').slideDown('slow'); currentTab.find('.pagelayer-accordion-tabs span i').attr('class', active_icon); }); // Set that we have setup everything tabs.attr('pagelayer-setup', 1); } // Counter function pagelayer_counter(){ pagelayer_query('.pagelayer-counter-content').each(function(){ var jEle = jQuery(this); if(pagelayer_isVisible(jEle)){ var setup = jEle.attr('pagelayer-setup'); // Already setup ? if(setup && setup.length > 0){ return true; } var options = {}; options['duration'] = jEle.children('.pagelayer-counter-display').attr('pagelayer-counter-animation-duration'); options['delimiter'] = jEle.children('.pagelayer-counter-display').attr('pagelayer-counter-seperator-type'); options['toValue'] = jEle.children('.pagelayer-counter-display').attr('pagelayer-counter-last-value'); jEle.children('.pagelayer-counter-display').numerator( options ); // Set that we have setup everything jEle.attr('pagelayer-setup', 1); } }); } function pagelayer_progress(){ pagelayer_query('.pagelayer-progress-container').each(function(){ var jEle = jQuery(this); if(pagelayer_isVisible(jEle)){ var setup = jEle.attr('pagelayer-setup'); if(setup && setup.length > 0){ return true; } var progress_width = jEle.children('.pagelayer-progress-bar').attr('pagelayer-progress-width'); if(progress_width == undefined){ progress_width = "1"; } var width = 0; var interval; var progress = function(){ if (width >= progress_width) { clearInterval(interval); } else { width++; jEle.children('.pagelayer-progress-bar').css('width', width + '%'); jEle.find('.pagelayer-progress-percent').text(width * 1 + '%'); } } interval = setInterval(progress, 30); jEle.attr('pagelayer-setup', 1); } }); } // Dismiss Alert Function function pagelayer_dismiss_alert(x){ if(!pagelayer_empty(pagelayer_is_live)){ return; } jQuery(x).parent().parent().fadeOut(); } // Video light box handler function pagelayer_pl_video(jEle){ var videoIframe = jEle.find('.pagelayer-video-iframe'); // Adding loop, autoplay and mute properties on video before loading videoIframe.on('load', function() { // Checking of video source if it is youtube or vimeo because // TODO: Need to check, if this is not local file then return if(jQuery(this)[0].src.indexOf('youtube.com') != -1 || jQuery(this)[0].src.indexOf('vimeo.com') != -1){ return; } var vidElm = jQuery(this).contents().find('video'); var vidSrc = (pagelayer_empty(vidElm[0].src)) ? vidElm.children()[0].src : vidElm[0].src; if(vidSrc[vidSrc.indexOf('&loop=')+6] == 1){ vidElm.attr('loop','loop'); } if(vidSrc[vidSrc.indexOf('&autoplay=')+10] == 0){ vidElm.removeAttr('autoplay'); vidElm[0].pause(); }else if(vidSrc[vidSrc.indexOf('&autoplay=')+10] == 1){ vidElm.attr('autoplay',''); vidElm.attr('playsinline',''); } if(vidSrc[vidSrc.indexOf('&mute=')+6] == 1){ vidElm[0].muted = "muted"; vidElm.attr('muted',''); } }); // A tag will be there ONLY if the lightbox is on var overlayval = jEle.find('.pagelayer-video-overlay'); var a = jEle.find(".pagelayer-video-holder a"); // No lightbox if(a.length < 1 && pagelayer_empty(overlayval)){ return; } a.nivoLightbox({ effect: "fadeScale", }); jEle.find(".pagelayer-video-holder .pagelayer-video-overlay").on("click", function(ev) { var target = jQuery(ev.target); if (!target.parent("a").length) { videoIframe[0].src = videoIframe[0].src.replace("&autoplay=0", "rel=0&autoplay=1"); jQuery(this).hide(); } }); } // Image light box handler function pagelayer_pl_image(jEle){ // Drag and Drop function for image if (typeof pagelayer_preDAndD_image !== "undefined") { pagelayer_preDAndD_image(jEle); } // A tag will be there ONLY if the lightbox is on var a = jEle.find("[pagelayer-image-link-type=lightbox]"); // No lightbox if(a.length < 1){ return; } a.nivoLightbox({ effect: "fadeScale", }); } function pagelayer_stars(jEle){ var setup = jEle.attr('pagelayer-setup'); if(setup && setup.length > 0){ return true; } var count = jEle.attr('pagelayer-stars-count'); if (isNaN(count)) { count = '0'; } i = 0; var stars = ""; while(i < count){ stars +='
    '; i++; } jEle.empty(); jEle.append(stars); var starsval = jEle.attr('pagelayer-stars-value'); if (isNaN(starsval)) { starsval = count; } starsval = starsval.split('.'); var fullstars = starsval[0]; var value = starsval[1]; var halfstar = parseInt(fullstars) + 1; var emptystars = parseInt(fullstars) + 2; jEle.children('.pagelayer-stars-icon').attr("class","pagelayer-stars-icon"); jEle.children('.pagelayer-stars-icon:nth-child(-n+'+ fullstars +')').addClass('pagelayer-stars-full'); if(value != undefined){ jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-'+value); }else{ jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-empty'); } jEle.children('.pagelayer-stars-icon:nth-child(n+'+ emptystars +')').addClass('pagelayer-stars-empty'); jEle.attr('pagelayer-setup', 1); } // Grid Gallery pagination Off On function function pagelayer_pl_grid_paginate(gridCont, pagination, pageValue, gridValue){ gridCont.hide(); pagination.removeClass('active'); pagination.eq(pageValue).addClass('active'); gridCont.eq(gridValue).show(); } //Grid Gallery Lightbox function pagelayer_pl_grid_lightbox(jEle){ // Grid Gallery pagination settings var gridCont = jEle.find('.pagelayer-grid-gallery-container').children(); var pagination = jEle.find('.pagelayer-grid-gallery-pagination ul').children(); gridCont.hide(); gridCont.eq(0).show(); // Adding event listners to pagination jEle.find('.pagelayer-grid-page-item').each(function(){ jQuery(this).on('click', function(event){ var text = jQuery(this).text(); switch(text){ case '«': pagelayer_pl_grid_paginate(gridCont, pagination, 1, 0); break; case '»': pagelayer_pl_grid_paginate(gridCont, pagination, (pagination.length-2), (gridCont.length-1)); break; default: pagelayer_pl_grid_paginate(gridCont, pagination, text, text-1); break; } }); }); // A tag will be there ONLY if the lightbox is on var a = jEle.find("[pagelayer-grid-gallery-type=lightbox]"); // No lightbox if(a.length < 1){ return; } a.nivoLightbox({ effect: "fadeScale", keyboardNav: true, clickImgToClose: false, clickOverlayToClose: true, }); } // Is string? function pagelayer_is_string(str){ if(typeof str == 'string'){ return true; } return false; } // PHP equivalent empty() function pagelayer_empty(mixed_var) { var undef, key, i, len; var emptyValues = [undef, null, false, 0, '', '0']; for (i = 0, len = emptyValues.length; i < len; i++) { if (mixed_var === emptyValues[i]) { return true; } } if (typeof mixed_var === 'object') { for (key in mixed_var) { // TODO: should we check for own properties only? //if (mixed_var.hasOwnProperty(key)) { return false; //} } return true; } return false; }; function pagelayer_fetch_dataAttrs(ele, prefix){ var options = {}; jQuery.each(ele.get(0).attributes, function(i, attrib){ //console.log(attrib); if(attrib.name.includes(prefix)){ var opt_name = attrib.name.substring(prefix.length); // Check for any Uppercase attribute if(opt_name.includes('-')){ opt_name = opt_name.split('-'); //console.log(opt_name); var opt_arr = []; jQuery.each(opt_name, function(key, value) { if(key != 0){ opt_arr.push(value.charAt(0).toUpperCase() + value.slice(1)); }else{ opt_arr.push(value); } }); //console.log(opt_arr); opt_name = opt_arr.join(''); } // Make the values correct var val = attrib.value; if(val == 'true') val = true; if(val == 'false') val = false; if(jQuery.isNumeric(val)) val = parseInt(val); options[opt_name] = val; } }); //console.log(options); if(options['controls']){ switch(options['controls']){ case 'arrows': options['nav'] = true; options['dots'] = false; break; case 'pager': options['dots'] = true; options['nav'] = false; break; case 'none': options['nav'] = false; options['dots'] = false; break; } }else{ options['nav'] = true; options['dots'] = true; } if(options['animateIn']){ switch(options['controls']){ case 'horizontal': options['animateIn'] = 'slideInLeft'; break; case 'vertical': options['animateIn'] = 'slideInDown'; break; case 'kenburns': options['animateIn'] = 'zoomIn'; break; default: options['animateIn'] = options['animateIn']; } } if(!options['items']){ options['items'] = 1; } options['responsive'] = { 0:{items: 1}, 500:{items: options['items']} } options['responsiveRefreshRate'] = 1000; // If we are in editor don't loop the Owl items if (window.location.href.indexOf('pagelayer-live=1') > -1) { //console.log('here'); options['loop'] = false; } return options; } function pagelayer_owl_init(jEle, ul, options){ //console.log(options); var setup = jEle.attr('pagelayer-setup'); var id = jEle.closest('[pagelayer-id]').attr('[pagelayer-id]'); if( options.navtext ) { var right = options.navtext.replace('left','right'); options.navText = [``, ``]; } // Already setup ? if(setup && setup.length > 0){ return true; } const wind = pagelayerGetCurrentWindow(); options['responsiveBaseElement'] = wind; var owlCar = ul.pagelayerOwlCarousel(options); // Refreshing Image slider after first load of page. var referrerOwl = function(){ setTimeout(function(){ owlCar.trigger('refresh.owl.carousel'); },700); } referrerOwl(); // To prevent slider drag inside the editable area jEle.on('mousedown', function(e){ var target = e.target; var isEditable = jQuery(target).closest('[contenteditable="true"]'); if(isEditable.length < 1){ return; } isEditable.on('mousedown.owl.core dragstart.owl.core selectstart.owl.core touchstart.owl.core touchcancel.owl.core', function(e){ e.stopPropagation(); }); }); // Gutenberg responsive Handler if(wind != window){ jQuery(wind).unbind('resize.pl_'+id, referrerOwl); jQuery(wind).on('resize.pl_'+id, referrerOwl); } // Set that we have setup everything jEle.attr('pagelayer-setup', 1); } // recaptcha handler function pagelayer_recaptcha_loader(jEle, loadScript){ loadScript = loadScript || false; // Render recaptcha var reParam = ''; if(!pagelayer_empty(pagelayer_recaptch_lang)){ reParam = '&hl='+pagelayer_recaptch_lang; } // Add recaptcha script if(pagelayer_empty(window.grecaptcha) && !pagelayer_empty(loadScript)){ pagelayer_query('body').append(''); } // Render recaptcha var recaptcha_interval = setInterval(function(){ if(!pagelayer_empty(window.grecaptcha)){ grecaptcha.ready(function() { try{ var widgetID = grecaptcha.render(jEle.get(0), {'sitekey' : jEle.data("sitekey")}); jEle.attr('recaptcha-widget-id', widgetID); }catch(e){ console.log("There is some issue in rendering reCaptcha. Please check your recaptcha site-key !"); } }); clearInterval(recaptcha_interval); } }, 500); } // Scroll to element button effect function pagelayer_button_element_scroll(jEle) { var speed = parseInt(jEle.attr('pagelayer_scrollto_speed') * 1000); var idspacing = 0; var scrollId = jEle.attr('pagelayer_scrollto_id'); if(jEle.attr('pagelayer_scrollto_type') == 'toid'){ var scrolltoEle = pagelayer_query('#' + scrollId); if(pagelayer_empty(scrollId) || scrolltoEle.length < 1){ return; } var idpos = parseInt(scrolltoEle.offset().top); var spacing = parseInt(jEle.attr('pagelayer_scrollto_id_viewport')); if (isNaN(spacing)) { spacing = 0; } idspacing = idpos + spacing; } jEle.on('click', function (e) { e.preventDefault(); pagelayer_query('html, body').animate({ scrollTop: idspacing }, speed); }); } //////////// // Freemium //////////// // Contact Form handler - Premium function pagelayer_contact_form(jEle){ jEle = jQuery(jEle); var id = jEle.attr('pagelayer-id'); // Set pagelayer id to input field jEle.find('form input[name="cfa-pagelayer-id"]').val(id); } // Contact Form Submit handler - Premium function pagelayer_contact_submit(jEle, e){ e.preventDefault(); // Checking for required checkboxes. for(var checkbox_div of jQuery(jEle).find('.pagelayer-contact-checkbox')){ checkbox_div = jQuery(checkbox_div); if(checkbox_div.attr('required') == 'required'){ if(pagelayer_empty(checkbox_div.find('input:checked').length)){ alert('Kindly select the required checkbox'); return; } } } // Trigger an action jQuery(document).trigger('pagelayer_contact_submit', e, jEle); // Disabling submit button with loading animation. jQuery(jEle).find('.pagelayer-contact-submit-btn').prop('disabled', true); jQuery(jEle).find('.pagelayer-contact-submit-btn .fa-spin').show('0.6'); //var fdata = jQuery(jEle).closest('form').serialize(); var redirect = jQuery(jEle).find('input[name="cfa-redirect"]'); var formData = new FormData( jQuery(jEle)[0] ); var par = jQuery(jEle).parent(); // Append the nonce formData.append('pagelayer_nonce', pagelayer_global_nonce); // Hide any message par.find(".pagelayer-message-box").hide(); // Message pos to use ? var msg_pos = 'top'; if(par.parent().hasClass('pagelayer-message-box-bottom')){ msg_pos = 'bottom'; } par.find(".pagelayer-message-box").removeClass('pagelayer-cf-msg-err pagelayer-cf-msg-suc'); jQuery.ajax({ url: pagelayer_ajaxurl+'action=pagelayer_contact_submit', type: "POST", data: formData, processData: false, contentType: false, cache:false, success:function(result){ var json = jQuery.parseJSON(result); jQuery(jEle).find('.pagelayer-contact-submit-btn').prop('disabled', false); jQuery(jEle).find('.pagelayer-contact-submit-btn .fa-spin').hide('0.6'); if('success' in json){ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-suc').html(json['success']).fadeIn(); if(redirect.length > 0 && !pagelayer_empty(redirect.val())){ window.location.href = redirect.val(); } }else{ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-err').html(json['failed']).fadeIn(); } }, error:function(result){ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-err').html(json['failed']).fadeIn(); } }); jEle.reset(); jQuery(jEle).find('.pagelayer-recaptcha').each(function(){ var widgetID = jQuery(this).attr('recaptcha-widget-id'); if(!pagelayer_empty(window.grecaptcha)){ grecaptcha.reset(widgetID); } }); return false; } // Primary Menu Handler - Premium function pagelayer_primary_menu(jEle){ var container = jEle.find('.pagelayer-wp-menu-container'); var menu_bar = jEle.find('.pagelayer-primary-menu-bar i'); var menu_holder = jEle.find('.pagelayer-wp-menu-holder'); var layout = menu_holder.attr('data-layout'); var submenu_ind = menu_holder.attr('data-submenu_ind'); var responsive = menu_holder.attr('data-responsive'); var drop_breakpoint = menu_holder.attr('data-drop_breakpoint'); var close = jEle.find('.pagelayer-wp_menu-close'); var media_mode = pagelayer_get_media_mode(); if( (drop_breakpoint == 'tablet' && (media_mode == 'tablet' || media_mode == 'mobile')) || (drop_breakpoint == 'mobile' && media_mode == 'mobile') ){ menu_holder.addClass('pagelayer-wp-menu-dropdown'); container.addClass('pagelayer-menu-type-dropdown'); container.removeClass('pagelayer-menu-type-'+layout); layout = 'dropdown'; }else{ menu_holder.removeClass('pagelayer-wp-menu-dropdown'); container.removeClass('pagelayer-menu-type-dropdown'); container.addClass('pagelayer-menu-type-'+layout); } // Set mega menu width // Wait for all other animations to finish setTimeout(function(){ container.find('.pagelayer-mega-menu-item, .pagelayer-mega-column-item').each(function(){ var liEle = jQuery(this), lEle = liEle.find('.pagelayer-nav_menu_item').first(), megaHolder = lEle.closest('.pagelayer-mega-menu'), setClass = 'pagelayer-set-position'; if(liEle.hasClass('pagelayer-mega-column-item')){ megaHolder = liEle.children('.sub-menu'); } if(megaHolder.length < 1){ return; } var Css = {}; // Remove all css settings jQuery(document).unbind('scroll.megaMenu'); megaHolder.css({'width' : '', 'left' : '', 'max-width' : '', 'max-height' : ''}); if(layout == 'dropdown'){ return; } // Set active to get position megaHolder.addClass(setClass); var megaLeft = megaHolder.offset().left, megaWidth = lEle.attr('pagelayer-mega-width'), wContainer = lEle.closest('.pagelayer-wp-menu-container'), megaCustomWidth = lEle.attr('pagelayer-mega-custom-width') || '', widthEle; // Is vertical menu? if(layout == 'vertical'){ var docWidth = jQuery('body').width(); var vWidth = docWidth - megaLeft; Css['max-width'] = vWidth; Css['width'] = vWidth; if(megaWidth == 'custom'){ Css['width'] = megaCustomWidth; } megaHolder.css(Css); megaHolder.removeClass(setClass); return; } var megaMenuHeight = function(e){ if(!pagelayer_empty(e) && megaHolder.is(':visible')){ return; } var windowHeight = jQuery(window).height(); var ulBottom = megaHolder.closest('.pagelayer-wp_menu-ul')[0].getBoundingClientRect().bottom; megaHolder.css('max-height', windowHeight - ulBottom); }; megaMenuHeight(); jQuery(document).on('scroll.megaMenu', megaMenuHeight); switch(megaWidth){ case 'row_container': widthEle = lEle.closest('.pagelayer-row[pagelayer-id]'); Css['width'] = widthEle.width(); break; case 'custom': widthEle = lEle.closest('li'); Css['width'] = megaCustomWidth; break; default : widthEle = wContainer; Css['width'] = widthEle.width(); } if(widthEle.length > 0){ var wLeft = widthEle.offset().left; if( wLeft < megaLeft ){ Css['left'] = (wLeft) - (megaLeft); } } megaHolder.css(Css); var mRect = megaHolder[0].getBoundingClientRect(); var wRect = wContainer[0].getBoundingClientRect(); // Set mega menu position if(megaWidth != 'custom' || mRect.right < wRect.right){ megaHolder.removeClass(setClass); return; } var left = parseInt(megaHolder.css('left')); var moveLeft = mRect.right - wRect.right; if(mRect.left < moveLeft){ moveLeft = moveLeft - (moveLeft - mRect.left); } left = left - moveLeft; megaHolder.css({'left': left}); megaHolder.removeClass(setClass); }); }, 500); // Menu toggle var toggle_class; jQuery(menu_bar).unbind('click'); jQuery(menu_bar).click(function(){ jQuery(container).toggleClass('pagelayer-togglt-on'); toggle_class = jQuery(this).data('icon'); toggle_class = ( pagelayer_empty(toggle_class) ? 'fas fa-bars' : toggle_class ); if(jQuery(container).hasClass('pagelayer-togglt-on')){ jQuery(this).removeClass(toggle_class); jQuery(this).addClass('fas fa-times'); }else{ jQuery(this).removeClass('fas fa-times'); jQuery(this).addClass(toggle_class); } }); // If has sub-menu the as icon var sub_menuEle = jQuery(container).find('.pagelayer-wp_menu-ul li.menu-item-has-children:not(.pagelayer-mega-menu-item), .pagelayer-wp_menu-ul li.pagelayer-mega-menu-item'); var aEle_sub_menu = sub_menuEle.children('a'); var afterIconSpan = aEle_sub_menu.children('.after-icon') if (aEle_sub_menu.children('.after-icon').length < 1) { aEle_sub_menu.append(''); }else{ // For gutenberg afterIconSpan.attr('class', 'after-icon fa fa-' + submenu_ind); } // Toggle Sub nav var after_icon = jQuery(container).find('.pagelayer-wp_menu-ul li.menu-item-has-children .after-icon, .pagelayer-wp_menu-ul li.pagelayer-mega-menu-item .after-icon'); after_icon.unbind('click'); after_icon.click(function(e){ e.preventDefault(); if(window.matchMedia("(max-width: "+pagelayer_settings['tablet_breakpoint']+"px)").matches || layout != 'horizontal'){ jQuery(this).closest('li').toggleClass('pagelayer-active-sub-menu'); }else{ jQuery(this).closest('li').removeClass('pagelayer-active-sub-menu'); } }); close.unbind('click'); close.click(function(){ jQuery(container).toggleClass('pagelayer-togglt-on'); jQuery(menu_bar).removeClass('fas fa-times'); jQuery(menu_bar).addClass(toggle_class); }); // To edit the mega menu in live editor jQuery(document).trigger('pagelayer_primary_menu_setup_end', [jEle]); } var count_int ={}; // Show countdown render function pagelayer_countdown(jEle){ var expiry_date = jEle.find('.pagelayer-countdown-container').attr('pagelayer-expiry-date'); var timetype = jEle.find('.pagelayer-countdown-container').attr('pagelayer-time-type'); var jEle_id = jEle.attr('pagelayer-id'); if(pagelayer_empty(expiry_date) || expiry_date == "{{date}}"){ var expiry_date = new Date(new Date().getTime() + 24 * 60 * 60 * 1000); } var now; if(timetype == "server"){ now = new Date(pagelayer_server_time*1000).getTime(); }else{ now = new Date().getTime(); } var countDownDate = new Date(expiry_date).getTime(); var distance = countDownDate - now; clearInterval(count_int[jEle_id]); count_int[jEle_id] = setInterval(function() { // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); jEle.find('.pagelayer-days-count').html(days); jEle.find('.pagelayer-hours-count').html(hours); jEle.find('.pagelayer-minutes-count').html(minutes); jEle.find('.pagelayer-seconds-count').html(seconds); // If the count down is over, write some text if(distance < 0) { clearInterval(count_int[jEle_id]); jEle.find('.pagelayer-countdown-expired').show(); jEle.find('.pagelayer-countdown-counter').hide(); } distance = distance - 1000; }, 1000); } function pagelayer_pl_testimonial_slider(jEle){ var ul = jEle.find('.pagelayer-testimonials-holder'); // Build the options var options = pagelayer_fetch_dataAttrs(ul, 'data-slides-'); pagelayer_owl_init(jEle, ul, options); } var pagelayerAnimTimer = {}; function pagelayer_anim_heading(jEle){ var animationDelay = 2500, //loading bar effect barAnimationDelay = 3800, barWaiting = barAnimationDelay - 3000, //3000 is the duration of the transition on the loading bar - set in the scss/css file //letters effect lettersDelay = 50, //type effect typeLettersDelay = 150, selectionDuration = 500, typeAnimationDelay = selectionDuration + 800, //clip effect revealDuration = 600, revealAnimationDelay = 1500; var id = jEle.attr('pagelayer-id'); if(pagelayer_empty(pagelayerAnimTimer[id])){ pagelayerAnimTimer[id] = {}; } // Clear the previous animations for( var time in pagelayerAnimTimer[id] ){ clearTimeout(pagelayerAnimTimer[id][time]); } initHeadline(); function initHeadline(){ // Re-set styles jEle.find('.pagelayer-aheading-holder').find('span').css('opacity', ''); //insert element for each letter of a changing word singleLetters(jEle.find('.pagelayer-aheading-holder.letters').find('span')); //initialise headline animation animateHeadline(jEle.find('.pagelayer-aheading-holder')); } function singleLetters($words){ $words.each(function(){ var word = jQuery(this), letters = word.text().split(''), selected = word.hasClass('pagelayer-is-visible'); for (i in letters) { if(word.parents('.pagelayer-aheading-rotate2').length > 0) letters[i] = '' + letters[i] + ''; letters[i] = (selected) ? '' + letters[i] + '': '' + letters[i] + ''; } var newLetters = letters.join(''); word.html(newLetters).css('opacity', 1); }); } function animateHeadline($headlines){ var duration = animationDelay; $headlines.each(function(){ var headline = jQuery(this); if(headline.hasClass('pagelayer-aheading-loading-bar')){ duration = barAnimationDelay; setTimeout(function(){ headline.find('.pagelayer-words-wrapper').addClass('pagelayer-is-loading') }, barWaiting); }else if(headline.hasClass('pagelayer-aheading-clip')){ var spanWrapper = headline.find('.pagelayer-words-wrapper'), newWidth = spanWrapper.width() + 10; spanWrapper.css('width', newWidth); } else if (!headline.hasClass('type') ){ var words = headline.find('.pagelayer-words-wrapper span'), width = 0; words.each(function(){ var wordWidth = jQuery(this).width(); if (wordWidth > width) width = wordWidth; }); headline.find('.pagelayer-words-wrapper').css('width', width); }; //trigger animation setTimeout(function(){ hideWord( headline.find('.pagelayer-is-visible').eq(0) ); }, duration); }); } function hideWord($word){ var nextWord = takeNext($word); if($word.parents('.pagelayer-aheading-holder').hasClass('letters')){ var bool = ($word.children('strong').length >= nextWord.children('strong').length) ? true : false; hideLetter($word.find('strong').eq(0), $word, bool, lettersDelay); showLetter(nextWord.find('strong').eq(0), nextWord, bool, lettersDelay); }else if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-clip')){ $word.parents('.pagelayer-words-wrapper').animate({ width : '2px' }, revealDuration, function(){ switchWord($word, nextWord); showWord(nextWord); }); }else if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-loading-bar')){ $word.parents('.pagelayer-words-wrapper').removeClass('pagelayer-is-loading'); switchWord($word, nextWord); clearTimeout(pagelayerAnimTimer[id][0]); pagelayerAnimTimer[id][0] = setTimeout(function(){ hideWord(nextWord); }, barAnimationDelay); clearTimeout(pagelayerAnimTimer[id][1]); pagelayerAnimTimer[id][1] = setTimeout(function(){ $word.parents('.pagelayer-words-wrapper').addClass('pagelayer-is-loading'); }, barWaiting); }else{ switchWord($word, nextWord); clearTimeout(pagelayerAnimTimer[id][2]); pagelayerAnimTimer[id][2] = setTimeout(function(){ hideWord(nextWord) ; }, animationDelay); } } function showWord($word, $duration){ if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-clip')){ $word.parents('.pagelayer-words-wrapper').animate({ 'width' : $word.width() + 10 }, revealDuration, function(){ clearTimeout(pagelayerAnimTimer[id][3]); pagelayerAnimTimer[id][3] = setTimeout(function(){ hideWord($word); }, revealAnimationDelay); }); } } function hideLetter($letter, $word, $bool, $duration){ $letter.removeClass('pagelayer-aheading-in').addClass('pagelayer-aheading-out'); if(!$letter.is(':last-child')){ clearTimeout(pagelayerAnimTimer[id][4]); pagelayerAnimTimer[id][4] = setTimeout(function(){ hideLetter($letter.next(), $word, $bool, $duration); }, $duration); }else if($bool){ clearTimeout(pagelayerAnimTimer[id][5]); pagelayerAnimTimer[id][5] = setTimeout(function(){ hideWord(takeNext($word)); }, animationDelay); } if($letter.is(':last-child') && pagelayer_query('html').hasClass('pagelayer-no-csstransitions')){ var nextWord = takeNext($word); switchWord($word, nextWord); } } function showLetter($letter, $word, $bool, $duration){ $letter.addClass('pagelayer-aheading-in').removeClass('pagelayer-aheading-out'); if(!$word.hasClass('pagelayer-is-visible')){ $word.parent().children().removeClass('pagelayer-is-visible'); $word.addClass('pagelayer-is-visible'); } if(!$letter.is(':last-child')){ clearTimeout(pagelayerAnimTimer[id][6]); pagelayerAnimTimer[id][6] = setTimeout(function(){ showLetter($letter.next(), $word, $bool, $duration); }, $duration); }else{ if(!$bool) { clearTimeout(pagelayerAnimTimer[id][7]); pagelayerAnimTimer[id][7] = setTimeout(function(){ hideWord($word); }, animationDelay) } } } function takeNext($word){ return (!$word.is(':last-child')) ? $word.next() : $word.parent().children().eq(0); } function switchWord($oldWord, $newWord){ $oldWord.removeClass('pagelayer-is-visible').addClass('pagelayer-is-hidden'); if(!$newWord.hasClass('pagelayer-is-visible')){ $newWord.removeClass('pagelayer-is-hidden').addClass('pagelayer-is-visible'); } } } var pagelayerSetInterval = {}; function pagelayer_pl_row_slider(jEle){ var index = 0; var id = jEle.closest('[pagelayer-id]').attr('pagelayer-id'); var imageEls = jEle.find('.pagelayer-bgimg-slide'); // Get the images to be cycled. var speed = parseFloat(jEle.attr('data-speed')); // Get the speed of loop. imageEls.first().addClass('pagelayer-slide-show'); clearInterval(pagelayerSetInterval[id]); pagelayerSetInterval[id] = setInterval(function (){ // Get the next index. If at end, restart to the beginning. index = index + 1 < imageEls.length ? index + 1 : 0; // Show the next imageEls.eq(index).addClass('pagelayer-slide-show'); // Hide the previous imageEls.eq(index - 1).removeClass('pagelayer-slide-show'); }, speed); } function pagelayer_pl_social_profile(jEle){ var icon_holder = jEle.find('.pagelayer-icon-holder'); // Assigning animation classes to icon holder if(!pagelayer_empty(jEle.attr('pagelayer-animation'))){ icon_holder.addClass('pagelayer-animation-'+jEle.attr('pagelayer-animation')); } } // Post infinite scroll handler function pagelayer_infinite_posts(jEle) { var loader = jEle.find('.pagelayer-btn-load'); var autoScroll = jEle.find('.pagelayer-infinite-scroll-auto').length < 1; loader.on('click', function(){ var bEle = jQuery(this); var loaded = jEle.attr('pagelayer-post-data-loading'); // Is loading? if(!pagelayer_empty(loaded)){ return; } jEle.attr('pagelayer-post-data-loading', 1); var current = bEle.attr('data-current') || 1; var nextPage = parseInt(current) + 1; var load_btn = jEle.find('.pagelayer_load_button'); bEle.hide(); load_btn.find('.pagelayer-loader-holder').show(); if(jEle.find('.pagelayer-post-max').attr('data-max') <= 1) { load_btn.text(load_btn.data('text')); return; } // Get Data from local variable var data = window['pagelayer_local_scripts']['pagelayer_post_' + jEle.attr("pagelayer-id")]; // Add next page number to load if(!pagelayer_empty(data.atts)){ data.atts['paged'] = nextPage; } // Get the Posts jQuery.ajax({ url: pagelayer_ajaxurl + 'action=pagelayer_infinite_posts', type: 'POST', data: { pagelayer_nonce: pagelayer_global_nonce, data: data, }, success: function(result){ var json = jQuery.parseJSON(result); var content = jQuery(json['posts']).find('.pagelayer-posts-container').html(); jEle.find('.pagelayer-posts-container').append(content); load_btn.find('.pagelayer-loader-holder').hide(); if (jEle.find('.pagelayer-post-max').attr('data-max') == nextPage) { load_btn.text(load_btn.data('text')); }else if(autoScroll){ bEle.show(); } bEle.attr('data-current', nextPage); }, complete: function(){ jEle.removeAttr('pagelayer-post-data-loading'); } }); }); // If already scrolled if(pagelayer_isVisible(loader)){ loader.click(); } // Auto scroll? if(autoScroll){ return; } var win = jQuery(pagelayerGetCurrentWindow()); win.on('scroll.archive_posts', function(){ var current = parseInt(loader.attr('data-current')) || 1; var total = loader.attr('data-max'); if(win.scrollTop() + win.height() < jEle.height() || current >= total) { return; } loader.click(); }); } //////////////// // Freemium End ////////////////PKZb(4Iplugins/pagelayer/js/wow.min.jsnu[/*! WOW wow.js - v1.3.0 - 2016-10-04 * https://wowjs.uk * Copyright (c) 2016 Thomas Grainger; Licensed MIT */!function(a,b){if("function"==typeof define&&define.amd)define(["module","exports"],b);else if("undefined"!=typeof exports)b(module,exports);else{var c={exports:{}};b(c,c.exports),a.WOW=c.exports}}(this,function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){return b.indexOf(a)>=0}function e(a,b){for(var c in b)if(null==a[c]){var d=b[c];a[c]=d}return a}function f(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)}function g(a){var b=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],c=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],d=arguments.length<=3||void 0===arguments[3]?null:arguments[3],e=void 0;return null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e}function h(a,b){null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)&&a["on"+b]()}function i(a,b,c){null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c}function j(a,b,c){null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]}function k(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight}Object.defineProperty(b,"__esModule",{value:!0});var l,m,n=function(){function a(a,b){for(var c=0;c=0){var b=a.target||a.srcElement;b.className=b.className.replace(this.config.animateClass,"").trim()}}},{key:"customStyle",value:function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a}},{key:"vendorSet",value:function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];a[""+c]=d;for(var e=0;e=e&&f>=c}},{key:"disabled",value:function(){return!this.config.mobile&&f(navigator.userAgent)}}]),a}();b["default"]=r,a.exports=b["default"]});PKZ6yhhplugins/pagelayer/js/pen.jsnu[/*! Licensed under MIT, https://github.com/sofish/pen */ (function(root, doc) { var Pen, debugMode, selection, utils = {}; var toString = Object.prototype.toString; var slice = Array.prototype.slice; // allow command list var commandsReg = { block: /^(?:p|h[1-6]|blockquote|pre)$/, inline: /^(?:bold|italic|underline|insertorderedlist|insertunorderedlist|indent|outdent)$/, source: /^(?:createlink|unlink)$/, insert: /^(?:inserthorizontalrule|insertimage|insert)$/, wrap: /^(?:code)$/ }; var lineBreakReg = /^(?:blockquote|pre|div)$/i; var effectNodeReg = /(?:[pubia]|h[1-6]|blockquote|[uo]l|li)/i; var strReg = { whiteSpace: /(^\s+)|(\s+$)/g, mailTo: /^(?!mailto:|.+\/|.+#|.+\?)(.*@.*\..+)$/, http: /^(?!\w+?:\/\/|mailto:|\/|\.\/|\?|#)(.*)$/ }; var autoLinkReg = { url: /((https?|ftp):\/\/|www\.)[^\s<]{3,}/gi, prefix: /^(?:https?|ftp):\/\//i, notLink: /^(?:img|a|input|audio|video|source|code|pre|script|head|title|style)$/i, maxLength: 100 }; // type detect utils.is = function(obj, type) { return toString.call(obj).slice(8, -1) === type; }; utils.forEach = function(obj, iterator, arrayLike) { if (!obj) return; if (arrayLike == null) arrayLike = utils.is(obj, 'Array'); if (arrayLike) { for (var i = 0, l = obj.length; i < l; i++) iterator(obj[i], i, obj); } else { for (var key in obj) { if (obj.hasOwnProperty(key)) iterator(obj[key], key, obj); } } }; // copy props from a obj utils.copy = function(defaults, source) { utils.forEach(source, function (value, key) { defaults[key] = utils.is(value, 'Object') ? utils.copy({}, value) : utils.is(value, 'Array') ? utils.copy([], value) : value; }); return defaults; }; // log utils.log = function(message, force) { if (debugMode || force) console.log('%cPEN DEBUGGER: %c' + message, 'font-family:arial,sans-serif;color:#1abf89;line-height:2em;', 'font-family:cursor,monospace;color:#333;'); }; utils.delayExec = function (fn) { var timer = null; return function (delay) { clearTimeout(timer); timer = setTimeout(function() { fn(); }, delay || 1); }; }; // merge: make it easy to have a fallback utils.merge = function(config) { // default settings var defaults = { class: 'pen', debug: false, toolbar: null, // custom toolbar stay: config.stay || !config.debug, stayMsg: 'Are you going to leave here?', textarea: '', list: [ 'blockquote', 'h2', 'h3', 'p', 'code', 'insertorderedlist', 'insertunorderedlist', 'inserthorizontalrule', 'indent', 'outdent', 'bold', 'italic', 'underline', 'createlink', 'insertimage' ], titles: {}, cleanAttrs: ['id', 'class', 'style', 'name'], cleanTags: ['script'], linksInNewWindow: false }; // user-friendly config if (config.nodeType === 1) { defaults.editor = config; } else if (config.match && config.match(/^#[\S]+$/)) { defaults.editor = doc.getElementById(config.slice(1)); } else { defaults = utils.copy(defaults, config); } return defaults; }; function commandOverall(ctx, cmd, val) { var message = ' to exec 「' + cmd + '」 command' + (val ? (' with value: ' + val) : ''); try { doc.execCommand(cmd, false, val); } catch(err) { // TODO: there's an error when insert a image to document, but not a bug return utils.log('fail' + message, true); } utils.log('success' + message); } function commandInsert(ctx, name, val) { var node = getNode(ctx); if (!node) return; ctx._range.selectNode(node); ctx._range.collapse(false); // hide menu when a image was inserted if(name === 'insertimage' && ctx._menu) toggleNode(ctx._menu, true); return commandOverall(ctx, name, val); } function commandBlock(ctx, name) { var list = effectNode(ctx, getNode(ctx), true); if (list.indexOf(name) !== -1) name = 'p'; return commandOverall(ctx, 'formatblock', name); } function commandWrap(ctx, tag, value) { value = '<' + tag + '>' + (value||selection.toString()) + ''; return commandOverall(ctx, 'insertHTML', value); } function commandLink(ctx, tag, value) { if (ctx.config.linksInNewWindow) { value = '< a href="' + value + '" target="_blank">' + (selection.toString()) + ''; return commandOverall(ctx, 'insertHTML', value); } else { return commandOverall(ctx, tag, value); } } function initToolbar(ctx) { var icons = '', inputStr = ''; ctx._toolbar = ctx.config.toolbar; if (!ctx._toolbar) { var toolList = ctx.config.list; utils.forEach(toolList, function (name) { var klass = 'pen-icon icon-' + name; var title = ctx.config.titles[name] || ''; icons += ''; }, true); if (toolList.indexOf('createlink') >= 0 || toolList.indexOf('insertimage') >= 0) icons += inputStr; } else if (ctx._toolbar.querySelectorAll('[data-action=createlink]').length || ctx._toolbar.querySelectorAll('[data-action=insertimage]').length) { icons += inputStr; } if (icons) { ctx._menu = doc.createElement('div'); ctx._menu.setAttribute('class', ctx.config.class + '-menu pen-menu'); ctx._menu.innerHTML = icons; ctx._inputBar = ctx._menu.querySelector('input'); toggleNode(ctx._menu, true); doc.body.appendChild(ctx._menu); } if (ctx._toolbar && ctx._inputBar) toggleNode(ctx._inputBar); } function initEvents(ctx) { var toolbar = ctx._toolbar || ctx._menu, editor = ctx.config.editor; var toggleMenu = utils.delayExec(function() { ctx.highlight().menu(); }); var outsideClick = function() {}; function updateStatus(delay) { ctx._range = ctx.getRange(); toggleMenu(delay); } if (ctx._menu) { var setpos = function() { if (ctx._menu.style.display === 'block') ctx.menu(); }; // change menu offset when window resize / scroll addListener(ctx, root, 'resize', setpos); addListener(ctx, root, 'scroll', setpos); // toggle toolbar on mouse select var selecting = false; addListener(ctx, editor, 'mousedown', function() { selecting = true; }); addListener(ctx, editor, 'mouseleave', function() { if (selecting) updateStatus(800); selecting = false; }); addListener(ctx, editor, 'mouseup', function() { if (selecting) updateStatus(100); selecting = false; }); // Hide menu when focusing outside of editor outsideClick = function(e) { if (ctx._menu && !containsNode(editor, e.target) && !containsNode(ctx._menu, e.target)) { removeListener(ctx, doc, 'click', outsideClick); toggleMenu(100); } }; } else { addListener(ctx, editor, 'click', function() { updateStatus(0); }); } addListener(ctx, editor, 'keyup', function(e) { if (e.which === 8 && ctx.isEmpty()) return lineBreak(ctx, true); // toggle toolbar on key select if (e.which !== 13 || e.shiftKey) return updateStatus(400); var node = getNode(ctx, true); if (!node || !node.nextSibling || !lineBreakReg.test(node.nodeName)) return; if (node.nodeName !== node.nextSibling.nodeName) return; // hack for webkit, make 'enter' behavior like as firefox. if (node.lastChild.nodeName !== 'BR') node.appendChild(doc.createElement('br')); utils.forEach(node.nextSibling.childNodes, function(child) { if (child) node.appendChild(child); }, true); node.parentNode.removeChild(node.nextSibling); focusNode(ctx, node.lastChild, ctx.getRange()); }); // check line break addListener(ctx, editor, 'keydown', function(e) { editor.classList.remove('pen-placeholder'); if (e.which !== 13 || e.shiftKey) return; var node = getNode(ctx, true); if (!node || !lineBreakReg.test(node.nodeName)) return; var lastChild = node.lastChild; if (!lastChild || !lastChild.previousSibling) return; if (lastChild.previousSibling.textContent || lastChild.textContent) return; // quit block mode for 2 'enter' e.preventDefault(); var p = doc.createElement('p'); p.innerHTML = '
    '; node.removeChild(lastChild); if (!node.nextSibling) node.parentNode.appendChild(p); else node.parentNode.insertBefore(p, node.nextSibling); focusNode(ctx, p, ctx.getRange()); }); var menuApply = function(action, value) { ctx.execCommand(action, value); ctx._range = ctx.getRange(); ctx.highlight().menu(); }; // toggle toolbar on key select addListener(ctx, toolbar, 'click', function(e) { var node = e.target, action; while (node !== toolbar && !(action = node.getAttribute('data-action'))) { node = node.parentNode; } if (!action) return; if (!/(?:createlink)|(?:insertimage)/.test(action)) return menuApply(action); if (!ctx._inputBar) return; // create link var input = ctx._inputBar; if (toolbar === ctx._menu) toggleNode(input); else { ctx._inputActive = true; ctx.menu(); } if (ctx._menu.style.display === 'none') return; setTimeout(function() { input.focus(); }, 400); var createlink = function() { var inputValue = input.value; if (!inputValue) action = 'unlink'; else { inputValue = input.value .replace(strReg.whiteSpace, '') .replace(strReg.mailTo, 'mailto:$1') .replace(strReg.http, 'http://$1'); } menuApply(action, inputValue); if (toolbar === ctx._menu) toggleNode(input, false); else toggleNode(ctx._menu, true); }; input.onkeypress = function(e) { if (e.which === 13) return createlink(); }; }); // listen for placeholder addListener(ctx, editor, 'focus', function() { if (ctx.isEmpty()) lineBreak(ctx, true); addListener(ctx, doc, 'click', outsideClick); }); addListener(ctx, editor, 'blur', function() { checkPlaceholder(ctx); ctx.checkContentChange(); }); // listen for paste and clear style addListener(ctx, editor, 'paste', function() { setTimeout(function() { ctx.cleanContent(); }); }); } function addListener(ctx, target, type, listener) { if (ctx._events.hasOwnProperty(type)) { ctx._events[type].push(listener); } else { ctx._eventTargets = ctx._eventTargets || []; ctx._eventsCache = ctx._eventsCache || []; var index = ctx._eventTargets.indexOf(target); if (index < 0) index = ctx._eventTargets.push(target) - 1; ctx._eventsCache[index] = ctx._eventsCache[index] || {}; ctx._eventsCache[index][type] = ctx._eventsCache[index][type] || []; ctx._eventsCache[index][type].push(listener); target.addEventListener(type, listener, false); } return ctx; } // trigger local events function triggerListener(ctx, type) { if (!ctx._events.hasOwnProperty(type)) return; var args = slice.call(arguments, 2); utils.forEach(ctx._events[type], function (listener) { listener.apply(ctx, args); }); } function removeListener(ctx, target, type, listener) { var events = ctx._events[type]; if (!events) { var _index = ctx._eventTargets.indexOf(target); if (_index >= 0) events = ctx._eventsCache[_index][type]; } if (!events) return ctx; var index = events.indexOf(listener); if (index >= 0) events.splice(index, 1); target.removeEventListener(type, listener, false); return ctx; } function removeAllListeners(ctx) { utils.forEach(this._events, function (events) { events.length = 0; }, false); if (!ctx._eventsCache) return ctx; utils.forEach(ctx._eventsCache, function (events, index) { var target = ctx._eventTargets[index]; utils.forEach(events, function (listeners, type) { utils.forEach(listeners, function (listener) { target.removeEventListener(type, listener, false); }, true); }, false); }, true); ctx._eventTargets = []; ctx._eventsCache = []; return ctx; } function checkPlaceholder(ctx) { ctx.config.editor.classList[ctx.isEmpty() ? 'add' : 'remove']('pen-placeholder'); } function trim(str) { return (str || '').replace(/^\s+|\s+$/g, ''); } // node.contains is not implemented in IE10/IE11 function containsNode(parent, child) { if (parent === child) return true; child = child.parentNode; while (child) { if (child === parent) return true; child = child.parentNode; } return false; } function getNode(ctx, byRoot) { var node, root = ctx.config.editor; ctx._range = ctx._range || ctx.getRange(); node = ctx._range.commonAncestorContainer; if (!node || node === root) return null; while (node && (node.nodeType !== 1) && (node.parentNode !== root)) node = node.parentNode; while (node && byRoot && (node.parentNode !== root)) node = node.parentNode; return containsNode(root, node) ? node : null; } // node effects function effectNode(ctx, el, returnAsNodeName) { var nodes = []; el = el || ctx.config.editor; while (el && el !== ctx.config.editor) { if (el.nodeName.match(effectNodeReg)) { nodes.push(returnAsNodeName ? el.nodeName.toLowerCase() : el); } el = el.parentNode; } return nodes; } // breakout from node function lineBreak(ctx, empty) { var range = ctx._range = ctx.getRange(), node = doc.createElement('p'); if (empty) ctx.config.editor.innerHTML = ''; node.innerHTML = '
    '; range.insertNode(node); focusNode(ctx, node.childNodes[0], range); } function focusNode(ctx, node, range) { range.setStartAfter(node); range.setEndBefore(node); range.collapse(false); ctx.setRange(range); } function autoLink(node) { if (node.nodeType === 1) { if (autoLinkReg.notLink.test(node.tagName)) return; utils.forEach(node.childNodes, function (child) { autoLink(child); }, true); } else if (node.nodeType === 3) { var result = urlToLink(node.nodeValue || ''); if (!result.links) return; var frag = doc.createDocumentFragment(), div = doc.createElement('div'); div.innerHTML = result.text; while (div.childNodes.length) frag.appendChild(div.childNodes[0]); node.parentNode.replaceChild(frag, node); } } function urlToLink(str) { var count = 0; str = str.replace(autoLinkReg.url, function(url) { var realUrl = url, displayUrl = url; count++; if (url.length > autoLinkReg.maxLength) displayUrl = url.slice(0, autoLinkReg.maxLength) + '...'; // Add http prefix if necessary if (!autoLinkReg.prefix.test(realUrl)) realUrl = 'http://' + realUrl; return '' + displayUrl + ''; }); return {links: count, text: str}; } function toggleNode(node, hide) { node.style.display = hide ? 'none' : 'block'; } Pen = function(config) { if (!config) throw new Error('Can\'t find config'); debugMode = config.debug; // merge user config var defaults = utils.merge(config); var editor = defaults.editor; if (!editor || editor.nodeType !== 1) throw new Error('Can\'t find editor'); // set default class editor.classList.add(defaults.class); // set contenteditable editor.setAttribute('contenteditable', 'true'); // assign config this.config = defaults; // set placeholder if (defaults.placeholder) editor.setAttribute('data-placeholder', defaults.placeholder); checkPlaceholder(this); // save the selection obj this.selection = selection; // define local events this._events = {change: []}; // enable toolbar initToolbar(this); // init events initEvents(this); // to check content change this._prevContent = this.getContent(); // enable markdown covert if (this.markdown) this.markdown.init(this); // stay on the page if (this.config.stay) this.stay(this.config); if(this.config.input) { this.addOnSubmitListener(this.config.input); } }; Pen.prototype.on = function(type, listener) { addListener(this, this.config.editor, type, listener); return this; }; Pen.prototype.addOnSubmitListener = function(inputElement) { var form = inputElement.form; var me = this; form.addEventListener("submit", function() { inputElement.value = me.config.saveAsMarkdown ? me.toMd(me.config.editor.innerHTML) : me.config.editor.innerHTML; }); }; Pen.prototype.isEmpty = function(node) { node = node || this.config.editor; return !(node.querySelector('img')) && !(node.querySelector('blockquote')) && !(node.querySelector('li')) && !trim(node.textContent); }; Pen.prototype.getContent = function() { return this.isEmpty() ? '' : trim(this.config.editor.innerHTML); }; Pen.prototype.setContent = function(html) { this.config.editor.innerHTML = html; this.cleanContent(); return this; }; Pen.prototype.checkContentChange = function () { var prevContent = this._prevContent, currentContent = this.getContent(); if (prevContent === currentContent) return; this._prevContent = currentContent; triggerListener(this, 'change', currentContent, prevContent); }; Pen.prototype.getRange = function() { var editor = this.config.editor, range = selection.rangeCount && selection.getRangeAt(0); if (!range) range = doc.createRange(); if (!containsNode(editor, range.commonAncestorContainer)) { range.selectNodeContents(editor); range.collapse(false); } return range; }; Pen.prototype.setRange = function(range) { range = range || this._range; if (!range) { range = this.getRange(); range.collapse(false); // set to end } try { selection.removeAllRanges(); selection.addRange(range); } catch (e) {/* IE throws error sometimes*/} return this; }; Pen.prototype.focus = function(focusStart) { if (!focusStart) this.setRange(); this.config.editor.focus(); return this; }; Pen.prototype.execCommand = function(name, value) { name = name.toLowerCase(); this.setRange(); if (commandsReg.block.test(name)) { commandBlock(this, name); } else if (commandsReg.inline.test(name)) { commandOverall(this, name, value); } else if (commandsReg.source.test(name)) { commandLink(this, name, value); } else if (commandsReg.insert.test(name)) { commandInsert(this, name, value); } else if (commandsReg.wrap.test(name)) { commandWrap(this, name, value); } else { utils.log('can not find command function for name: ' + name + (value ? (', value: ' + value) : ''), true); } if (name === 'indent') this.checkContentChange(); else this.cleanContent({cleanAttrs: ['style']}); }; // remove attrs and tags // pen.cleanContent({cleanAttrs: ['style'], cleanTags: ['id']}) Pen.prototype.cleanContent = function(options) { var editor = this.config.editor; if (!options) options = this.config; utils.forEach(options.cleanAttrs, function (attr) { utils.forEach(editor.querySelectorAll('[' + attr + ']'), function(item) { item.removeAttribute(attr); }, true); }, true); utils.forEach(options.cleanTags, function (tag) { utils.forEach(editor.querySelectorAll(tag), function(item) { item.parentNode.removeChild(item); }, true); }, true); checkPlaceholder(this); this.checkContentChange(); return this; }; // auto link content, return content Pen.prototype.autoLink = function() { autoLink(this.config.editor); return this.getContent(); }; // highlight menu Pen.prototype.highlight = function() { var toolbar = this._toolbar || this._menu , node = getNode(this); // remove all highlights utils.forEach(toolbar.querySelectorAll('.active'), function(el) { el.classList.remove('active'); }, true); if (!node) return this; var effects = effectNode(this, node) , inputBar = this._inputBar , highlight; if (inputBar && toolbar === this._menu) { // display link input if createlink enabled inputBar.style.display = 'none'; // reset link input value inputBar.value = ''; } highlight = function(str) { if (!str) return; var el = toolbar.querySelector('[data-action=' + str + ']'); return el && el.classList.add('active'); }; utils.forEach(effects, function(item) { var tag = item.nodeName.toLowerCase(); switch(tag) { case 'a': if (inputBar) inputBar.value = item.getAttribute('href'); tag = 'createlink'; break; case 'img': if (inputBar) inputBar.value = item.getAttribute('src'); tag = 'insertimage'; break; case 'i': tag = 'italic'; break; case 'u': tag = 'underline'; break; case 'b': tag = 'bold'; break; case 'pre': case 'code': tag = 'code'; break; case 'ul': tag = 'insertunorderedlist'; break; case 'ol': tag = 'insertorderedlist'; break; case 'li': tag = 'indent'; break; } highlight(tag); }, true); return this; }; // show menu Pen.prototype.menu = function() { var allMenus = document.getElementsByClassName('pen-menu'); // Hide all menus for(var x in allMenus){ try{ if('style' in allMenus[x]){ allMenus[x].style.display = 'none'; } }catch(e){} } if (!this._menu) return this; if (selection.isCollapsed) { this._menu.style.display = 'none'; //hide menu this._inputActive = false; return this; } if (this._toolbar) { if (!this._inputBar || !this._inputActive) return this; } var offset = this._range.getBoundingClientRect() , menuPadding = 10 , top = offset.top - menuPadding , left = offset.left + (offset.width / 2) , menu = this._menu , menuOffset = {x: 0, y: 0} , stylesheet = this._stylesheet; // fixes some browser double click visual discontinuity // if the offset has no width or height it should not be used if (offset.width === 0 && offset.height === 0) return this; // store the stylesheet used for positioning the menu horizontally if (this._stylesheet === undefined) { var style = document.createElement("style"); document.head.appendChild(style); this._stylesheet = stylesheet = style.sheet; } // display block to caculate its width & height menu.style.display = 'block'; menuOffset.x = left - (menu.clientWidth / 2); menuOffset.y = top - menu.clientHeight; // check to see if menu has over-extended its bounding box. if it has, // 1) apply a new class if overflowed on top; // 2) apply a new rule if overflowed on the left if (stylesheet.cssRules.length > 0) { stylesheet.deleteRule(0); } if (menuOffset.x < 0) { menuOffset.x = 0; stylesheet.insertRule('.pen-menu:after {left: ' + left + 'px;}', 0); } else { stylesheet.insertRule('.pen-menu:after {left: 50%; }', 0); } if (menuOffset.y < 0) { menu.classList.add('pen-menu-below'); menuOffset.y = offset.top + offset.height + menuPadding; } else { menu.classList.remove('pen-menu-below'); } menu.style.top = menuOffset.y + 'px'; menu.style.left = menuOffset.x + 'px'; return this; }; Pen.prototype.stay = function(config) { var ctx = this; if (!window.onbeforeunload) { window.onbeforeunload = function() { if (!ctx._isDestroyed) return config.stayMsg; }; } }; Pen.prototype.destroy = function(isAJoke) { var destroy = isAJoke ? false : true , attr = isAJoke ? 'setAttribute' : 'removeAttribute'; if (!isAJoke) { removeAllListeners(this); try { selection.removeAllRanges(); if (this._menu) this._menu.parentNode.removeChild(this._menu); } catch (e) {/* IE throws error sometimes*/} } else { initToolbar(this); initEvents(this); } this._isDestroyed = destroy; this.config.editor[attr]('contenteditable', ''); return this; }; Pen.prototype.rebuild = function() { return this.destroy('it\'s a joke'); }; // a fallback for old browers root.Pen = function(config) { if (!config) return utils.log('can\'t find config', true); var defaults = utils.merge(config) , klass = defaults.editor.getAttribute('class'); klass = klass ? klass.replace(/\bpen\b/g, '') + ' pen-textarea ' + defaults.class : 'pen pen-textarea'; defaults.editor.setAttribute('class', klass); defaults.editor.innerHTML = defaults.textarea; return defaults.editor; }; // export content as markdown var regs = { a: [/]*href=["']([^"]+|[^']+)\b[^>]*>(.*?)<\/a>/ig, '[$2]($1)'], img: [/]*src=["']([^\"+|[^']+)[^>]*>/ig, '![]($1)'], b: [/]*>(.*?)<\/b>/ig, '**$1**'], i: [/]*>(.*?)<\/i>/ig, '***$1***'], h: [/]*>(.*?)<\/h\1>/ig, function(a, b, c) { return '\n' + ('######'.slice(0, b)) + ' ' + c + '\n'; }], li: [/<(li)\b[^>]*>(.*?)<\/\1>/ig, '* $2\n'], blockquote: [/<(blockquote)\b[^>]*>(.*?)<\/\1>/ig, '\n> $2\n'], pre: [/]*>(.*?)<\/pre>/ig, '\n```\n$1\n```\n'], code: [/]*>(.*?)<\/code>/ig, '\n`\n$1\n`\n'], p: [/]*>(.*?)<\/p>/ig, '\n$1\n'], hr: [/]*>/ig, '\n---\n'] }; Pen.prototype.toMd = function() { var html = this.getContent() .replace(/\n+/g, '') // remove line break .replace(/<([uo])l\b[^>]*>(.*?)<\/\1l>/ig, '$2'); // remove ul/ol for(var p in regs) { if (regs.hasOwnProperty(p)) html = html.replace.apply(html, regs[p]); } return html.replace(/\*{5}/g, '**'); }; // make it accessible if (doc.getSelection) { selection = doc.getSelection(); root.Pen = Pen; } }(window, document)); PKZs+22plugins/pagelayer/js/base-64.jsnu[/* * [hi-base64]{@link https://github.com/emn178/hi-base64} * * @version 0.2.1 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT */ /*jslint bitwise: true */ /*Modified by Pagelayer*/ (function () { 'use strict'; var root = typeof window === 'object' ? window : {}; var NODE_JS = false; if (NODE_JS) { root = global; } var COMMON_JS = !root.HI_BASE64_NO_COMMON_JS && typeof module === 'object' && module.exports; var AMD = typeof define === 'function' && define.amd; var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); var BASE64_DECODE_CHAR = { 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9, 'K': 10, 'L': 11, 'M': 12, 'N': 13, 'O': 14, 'P': 15, 'Q': 16, 'R': 17, 'S': 18, 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24, 'Z': 25, 'a': 26, 'b': 27, 'c': 28, 'd': 29, 'e': 30, 'f': 31, 'g': 32, 'h': 33, 'i': 34, 'j': 35, 'k': 36, 'l': 37, 'm': 38, 'n': 39, 'o': 40, 'p': 41, 'q': 42, 'r': 43, 's': 44, 't': 45, 'u': 46, 'v': 47, 'w': 48, 'x': 49, 'y': 50, 'z': 51, '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61, '+': 62, '/': 63, '-': 62, '_': 63 }; var utf8ToBytes = function (str) { var bytes = []; for (var i = 0; i < str.length; i++) { var c = str.charCodeAt(i); if (c < 0x80) { bytes[bytes.length] = c; } else if (c < 0x800) { bytes[bytes.length] = 0xc0 | (c >> 6); bytes[bytes.length] = 0x80 | (c & 0x3f); } else if (c < 0xd800 || c >= 0xe000) { bytes[bytes.length] = 0xe0 | (c >> 12); bytes[bytes.length] = 0x80 | ((c >> 6) & 0x3f); bytes[bytes.length] = 0x80 | (c & 0x3f); } else { c = 0x10000 + (((c & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff)); bytes[bytes.length] = 0xf0 | (c >> 18); bytes[bytes.length] = 0x80 | ((c >> 12) & 0x3f); bytes[bytes.length] = 0x80 | ((c >> 6) & 0x3f); bytes[bytes.length] = 0x80 | (c & 0x3f); } } return bytes; }; var decodeAsBytes = function (base64Str) { var v1, v2, v3, v4, bytes = [], index = 0, length = base64Str.length; if (base64Str.charAt(length - 2) === '=') { length -= 2; } else if (base64Str.charAt(length - 1) === '=') { length -= 1; } // 4 char to 3 bytes for (var i = 0, count = length >> 2 << 2; i < count;) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v4 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; bytes[index++] = (v1 << 2 | v2 >>> 4) & 255; bytes[index++] = (v2 << 4 | v3 >>> 2) & 255; bytes[index++] = (v3 << 6 | v4) & 255; } // remain bytes var remain = length - count; if (remain === 2) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; bytes[index++] = (v1 << 2 | v2 >>> 4) & 255; } else if (remain === 3) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; bytes[index++] = (v1 << 2 | v2 >>> 4) & 255; bytes[index++] = (v2 << 4 | v3 >>> 2) & 255; } return bytes; }; var encodeFromBytes = function (bytes) { var v1, v2, v3, base64Str = '', length = bytes.length; for (var i = 0, count = parseInt(length / 3) * 3; i < count;) { v1 = bytes[i++]; v2 = bytes[i++]; v3 = bytes[i++]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] + BASE64_ENCODE_CHAR[v3 & 63]; } // remain char var remain = length - count; if (remain === 1) { v1 = bytes[i]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4) & 63] + '=='; } else if (remain === 2) { v1 = bytes[i++]; v2 = bytes[i]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2) & 63] + '='; } return base64Str; }; var btoa = root.btoa, atob = root.atob, utf8Base64Encode, utf8Base64Decode; if (NODE_JS) { } else if (!btoa) { btoa = function (str) { var v1, v2, v3, base64Str = '', length = str.length; for (var i = 0, count = parseInt(length / 3) * 3; i < count;) { v1 = str.charCodeAt(i++); v2 = str.charCodeAt(i++); v3 = str.charCodeAt(i++); base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] + BASE64_ENCODE_CHAR[v3 & 63]; } // remain char var remain = length - count; if (remain === 1) { v1 = str.charCodeAt(i); base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4) & 63] + '=='; } else if (remain === 2) { v1 = str.charCodeAt(i++); v2 = str.charCodeAt(i); base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2) & 63] + '='; } return base64Str; }; utf8Base64Encode = function (str) { var v1, v2, v3, base64Str = '', bytes = utf8ToBytes(str), length = bytes.length; for (var i = 0, count = parseInt(length / 3) * 3; i < count;) { v1 = bytes[i++]; v2 = bytes[i++]; v3 = bytes[i++]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] + BASE64_ENCODE_CHAR[v3 & 63]; } // remain char var remain = length - count; if (remain === 1) { v1 = bytes[i]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4) & 63] + '=='; } else if (remain === 2) { v1 = bytes[i++]; v2 = bytes[i]; base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2) & 63] + '='; } return base64Str; }; atob = function (base64Str) { var v1, v2, v3, v4, str = '', length = base64Str.length; if (base64Str.charAt(length - 2) === '=') { length -= 2; } else if (base64Str.charAt(length - 1) === '=') { length -= 1; } // 4 char to 3 bytes for (var i = 0, count = length >> 2 << 2; i < count;) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v4 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; str += String.fromCharCode((v1 << 2 | v2 >>> 4) & 255) + String.fromCharCode((v2 << 4 | v3 >>> 2) & 255) + String.fromCharCode((v3 << 6 | v4) & 255); } // remain bytes var remain = length - count; if (remain === 2) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; str += String.fromCharCode((v1 << 2 | v2 >>> 4) & 255); } else if (remain === 3) { v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)]; str += String.fromCharCode((v1 << 2 | v2 >>> 4) & 255) + String.fromCharCode((v2 << 4 | v3 >>> 2) & 255); } return str; }; utf8Base64Decode = function (base64Str) { var str = '', bytes = decodeAsBytes(base64Str), length = bytes.length; var i = 0, followingChars = 0, b, c; while (i < length) { b = bytes[i++]; if (b <= 0x7F) { str += String.fromCharCode(b); continue; } else if (b > 0xBF && b <= 0xDF) { c = b & 0x1F; followingChars = 1; } else if (b <= 0xEF) { c = b & 0x0F; followingChars = 2; } else if (b <= 0xF7) { c = b & 0x07; followingChars = 3; } else { throw 'not a UTF-8 string'; } for (var j = 0; j < followingChars; ++j) { b = bytes[i++]; if (b < 0x80 || b > 0xBF) { throw 'not a UTF-8 string'; } c <<= 6; c += b & 0x3F; } if (c >= 0xD800 && c <= 0xDFFF) { throw 'not a UTF-8 string'; } if (c > 0x10FFFF) { throw 'not a UTF-8 string'; } if (c <= 0xFFFF) { str += String.fromCharCode(c); } else { c -= 0x10000; str += String.fromCharCode((c >> 10) + 0xD800); str += String.fromCharCode((c & 0x3FF) + 0xDC00); } } return str; }; } else { utf8Base64Encode = function (str) { var result = ''; for (var i = 0; i < str.length; i++) { var charcode = str.charCodeAt(i); if (charcode < 0x80) { result += String.fromCharCode(charcode); } else if (charcode < 0x800) { result += String.fromCharCode(0xc0 | (charcode >> 6)) + String.fromCharCode(0x80 | (charcode & 0x3f)); } else if (charcode < 0xd800 || charcode >= 0xe000) { result += String.fromCharCode(0xe0 | (charcode >> 12)) + String.fromCharCode(0x80 | ((charcode >> 6) & 0x3f)) + String.fromCharCode(0x80 | (charcode & 0x3f)); } else { charcode = 0x10000 + (((charcode & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff)); result += String.fromCharCode(0xf0 | (charcode >> 18)) + String.fromCharCode(0x80 | ((charcode >> 12) & 0x3f)) + String.fromCharCode(0x80 | ((charcode >> 6) & 0x3f)) + String.fromCharCode(0x80 | (charcode & 0x3f)); } } return btoa(result); }; utf8Base64Decode = function (base64Str) { var tmpStr = atob(base64Str.trim('=').replace(/-/g, '+').replace(/_/g, '/')); if (!/[^\x00-\x7F]/.test(tmpStr)) { return tmpStr; } var str = '', i = 0, length = tmpStr.length, followingChars = 0, b, c; while (i < length) { b = tmpStr.charCodeAt(i++); if (b <= 0x7F) { str += String.fromCharCode(b); continue; } else if (b > 0xBF && b <= 0xDF) { c = b & 0x1F; followingChars = 1; } else if (b <= 0xEF) { c = b & 0x0F; followingChars = 2; } else if (b <= 0xF7) { c = b & 0x07; followingChars = 3; } else { throw 'not a UTF-8 string'; } for (var j = 0; j < followingChars; ++j) { b = tmpStr.charCodeAt(i++); if (b < 0x80 || b > 0xBF) { throw 'not a UTF-8 string'; } c <<= 6; c += b & 0x3F; } if (c >= 0xD800 && c <= 0xDFFF) { throw 'not a UTF-8 string'; } if (c > 0x10FFFF) { throw 'not a UTF-8 string'; } if (c <= 0xFFFF) { str += String.fromCharCode(c); } else { c -= 0x10000; str += String.fromCharCode((c >> 10) + 0xD800); str += String.fromCharCode((c & 0x3FF) + 0xDC00); } } return str; }; } var encode = function (str, asciiOnly) { var notString = typeof(str) != 'string'; if (notString && str.constructor === root.ArrayBuffer) { str = new Uint8Array(str); } if (notString) { return encodeFromBytes(str); } else { if (!asciiOnly && /[^\x00-\x7F]/.test(str)) { return utf8Base64Encode(str); } else { return btoa(str); } } }; var decode = function (base64Str, asciiOnly) { return asciiOnly ? atob(base64Str) : utf8Base64Decode(base64Str); }; var exports = { encode: encode, decode: decode, atob: atob, btoa: btoa }; decode.bytes = decodeAsBytes; decode.string = decode; root.pagelayer_Base64 = exports; })(); PKZq%(plugins/pagelayer/js/owl.carousel.min.jsnu[/** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ !function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"pagelayer-owl-refresh",loadedClass:"pagelayer-owl-loaded",loadingClass:"pagelayer-owl-loading",rtlClass:"pagelayer-owl-rtl",responsiveClass:"pagelayer-owl-responsive",dragClass:"pagelayer-owl-drag",itemClass:"pagelayer-owl-item",stageClass:"pagelayer-owl-stage",stageOuterClass:"pagelayer-owl-stage-outer",grabClass:"pagelayer-owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("
    ",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".pagelayer-owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return"left"===c&&b>i-f&&bi-g-f&&b",h[a+1]!==d?h[a+1]:i-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",h[this.minimum()])?e=b=this.minimum():this.op(b,"<",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a":return d?ac;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.pagelayerOwlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.pagelayerOwlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("pagelayer-owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"pagelayer-owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .pagelayer-owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".pagelayer-owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".pagelayer-owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='
    ',d=k.lazyLoad?a("
    ",{class:"pagelayer-owl-video-tn "+j,srcType:c}):a("
    ",{class:"pagelayer-owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("
    ",{class:"pagelayer-owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="pagelayer-owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".pagelayer-owl-video-frame").remove(),this._playing.removeClass("pagelayer-owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a(''),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('
    ').insertAfter(e.find(".pagelayer-owl-video")),this._playing=e.addClass("pagelayer-owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("pagelayer-owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1, animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated pagelayer-owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated pagelayer-owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated pagelayer-owl-animated-out pagelayer-owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
    '+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
    ")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"pagelayer-owl-nav",navClass:["pagelayer-owl-prev","pagelayer-owl-next"],slideBy:1,dotClass:"pagelayer-owl-dot",dotsClass:"pagelayer-owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("
    ").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('
    '; var wrapper = parseHTML(html, this.settings.doc); this.domElement = wrapper; this._domH = $('.picker_hue', wrapper); this._domSL = $('.picker_sl', wrapper); this._domA = $('.picker_alpha', wrapper); this._domEdit = $('.picker_editor input', wrapper); this._domSample = $('.picker_sample', wrapper); this._domOkay = $('.picker_done button', wrapper); wrapper.classList.add('layout_' + this.settings.layout); if (!this.settings.alpha) { wrapper.classList.add('no_alpha'); } if (!this.settings.editor) { wrapper.classList.add('no_editor'); } this._ifPopup(function () { return wrapper.classList.add('popup'); }); this._setPosition(); if (this.colour) { this._updateUI(); } else { this._setColor('#0cf'); } this._bindEvents(); return true; } }, { key: 'hide', value: function hide() { return this._toggleDOM(false); } }, { key: '_bindEvents', value: function _bindEvents() { var _this2 = this; var that = this, dom = this.domElement; addEvent(dom, 'click', function (e) { return e.preventDefault(); }); function createDragConfig(container, callbackRelative) { function relayDrag(_, pos) { var relX = pos[0] / container.clientWidth, relY = pos[1] / container.clientHeight; callbackRelative(relX, relY); } var config = { container: container, dragOutside: false, callback: relayDrag, callbackDragStart: relayDrag, propagateEvents: true }; return config; } dragTracker(createDragConfig(this._domH, function (x, y) { return that._setHSLA(x); })); dragTracker(createDragConfig(this._domSL, function (x, y) { return that._setHSLA(null, x, 1 - y); })); if (this.settings.alpha) { dragTracker(createDragConfig(this._domA, function (x, y) { return that._setHSLA(null, null, null, 1 - y); })); } var editInput = this._domEdit; { addEvent(editInput, 'input', function (e) { that._setColor(this.value, { fromEditor: true, failSilently: true }); }); addEvent(editInput, 'focus', function (e) { var input = this; if (input.selectionStart === input.selectionEnd) { input.select(); } }); } var popupCloseProxy = function popupCloseProxy(e) { _this2._ifPopup(function () { return _this2.closeHandler(e); }); }; var onDoneProxy = function onDoneProxy(e) { _this2._ifPopup(function () { return _this2.closeHandler(e); }); if (_this2.onDone) { _this2.onDone(_this2.colour); } }; addEvent(this.settings.doc, EVENT_CLICK_OUTSIDE, popupCloseProxy); addEvent(this.settings.doc, EVENT_TAB_MOVE, popupCloseProxy); onKey(dom, ['Esc', 'Escape'], popupCloseProxy); addEvent(this._domOkay, 'click', onDoneProxy); onKey(dom, ['Enter'], onDoneProxy); } }, { key: '_setPosition', value: function _setPosition() { var parent = this.settings.parent, elm = this.domElement; if (parent !== elm.parentNode) { parent.appendChild(elm); } this._ifPopup(function (popup) { if (getComputedStyle(parent).position === 'static') { parent.style.position = 'relative'; } var cssClass = popup === true ? 'popup_right' : 'popup_' + popup; ['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) { if (c === cssClass) { elm.classList.add(c); } else { elm.classList.remove(c); } }); elm.classList.add(cssClass); }); } }, { key: '_setHSLA', value: function _setHSLA(h, s, l, a, flags) { flags = flags || {}; var col = this.colour, hsla = col.hsla; [h, s, l, a].forEach(function (x, i) { if (x || x === 0) { hsla[i] = x; } }); col.hsla = hsla; this._updateUI(flags); if (this.onChange && !flags.silent) { this.onChange(col); } } }, { key: '_updateUI', value: function _updateUI(flags) { if (!this.domElement) { return; } flags = flags || {}; var col = this.colour, hsl = col.hsla, cssHue = 'hsl(' + hsl[0] * HUES + ', 100%, 50%)', cssHSL = col.hslString, cssHSLA = col.hslaString; var uiH = this._domH, uiSL = this._domSL, uiA = this._domA, thumbH = $('.picker_selector', uiH), thumbSL = $('.picker_selector', uiSL), thumbA = $('.picker_selector', uiA); function posX(parent, child, relX) { child.style.left = relX * 100 + '%'; } function posY(parent, child, relY) { child.style.top = relY * 100 + '%'; } posX(uiH, thumbH, hsl[0]); this._domSL.style.backgroundColor = this._domH.style.color = cssHue; posX(uiSL, thumbSL, hsl[1]); posY(uiSL, thumbSL, 1 - hsl[2]); uiSL.style.color = cssHSL; posY(uiA, thumbA, 1 - hsl[3]); var opaque = cssHSL, transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'), bg = 'linear-gradient(' + [opaque, transp] + ')'; this._domA.style.backgroundImage = bg + ', ' + BG_TRANSP; if (!flags.fromEditor) { var format = this.settings.editorFormat, alpha = this.settings.alpha; var value = void 0; switch (format) { case 'rgb': value = col.printRGB(alpha);break; case 'hsl': value = col.printHSL(alpha);break; default: value = col.printHex(alpha); } this._domEdit.value = value; } this._domSample.style.color = cssHSLA; } }, { key: '_ifPopup', value: function _ifPopup(actionIf, actionElse) { if (this.settings.parent && this.settings.popup) { actionIf && actionIf(this.settings.popup); } else { actionElse && actionElse(); } } }, { key: '_toggleDOM', value: function _toggleDOM(toVisible) { var dom = this.domElement; if (!dom) { return false; } var displayStyle = toVisible ? '' : 'none', toggle = dom.style.display !== displayStyle; if (toggle) { dom.style.display = displayStyle; } return toggle; } }]); return Picker; }(); return Picker; }))); PKZt7'00$plugins/pagelayer/js/blocks/index.jsnu[!function(){var e={250:function(){window.pagelayerBlockNameByTag=e=>"pagelayer/"+e.replaceAll("_","-"),window.pagelayerLength=e=>{var a,t,l,r=0,n=[void 0,null,!1];for(t=0,l=n.length;t{a=a||!1;var t=/vimeo\.com/,l="",r="",n={};switch(/youtube\.com|youtu\.be/.exec(e)?l="youtube":t.exec(e)&&(l="vimeo"),l){case"youtube":var s=/watch/;/youtube\.com/.exec(e)?s.exec(e)?r=e.split("?v="):s.exec(e)&&(r=e.split("embed/")):/youtu\.be/.exec(e)&&(r=e.split(".be/")),n={type:"youtube",src:"https://www.youtube.com/embed/"+r[1],id:r[1]},pagelayer_yt_api_register();break;case"vimeo":/player\.vimeo\.com/.exec(e)&&/video/.exec(e)?r=e.split("video/"):t.exec(e)&&(r=e.split(".com/")),n={type:"vimeo",src:"https://player.vimeo.com/video/"+r[1],id:r[1]};break;default:n={type:"local",src:e}}return a?n:n.src},window.pagelayer_yt_api_register=()=>{jQuery("#pagelayer-youtube-script-js").length>0||jQuery("body").append(''); } // Render recaptcha var recaptcha_interval = setInterval(function(){ if(!pagelayer_empty(window.grecaptcha)){ grecaptcha.ready(function() { try{ var widgetID = grecaptcha.render(jEle.get(0), {'sitekey' : jEle.data("sitekey")}); jEle.attr('recaptcha-widget-id', widgetID); }catch(e){ console.log("There is some issue in rendering reCaptcha. Please check your recaptcha site-key !"); } }); clearInterval(recaptcha_interval); } }, 500); } // Scroll to element button effect function pagelayer_button_element_scroll(jEle) { var speed = parseInt(jEle.attr('pagelayer_scrollto_speed') * 1000); var idspacing = 0; var scrollId = jEle.attr('pagelayer_scrollto_id'); if(jEle.attr('pagelayer_scrollto_type') == 'toid'){ var scrolltoEle = pagelayer_query('#' + scrollId); if(pagelayer_empty(scrollId) || scrolltoEle.length < 1){ return; } var idpos = parseInt(scrolltoEle.offset().top); var spacing = parseInt(jEle.attr('pagelayer_scrollto_id_viewport')); if (isNaN(spacing)) { spacing = 0; } idspacing = idpos + spacing; } jEle.on('click', function (e) { e.preventDefault(); pagelayer_query('html, body').animate({ scrollTop: idspacing }, speed); }); } //////////// // Freemium //////////// // Contact Form handler - Premium function pagelayer_contact_form(jEle){ jEle = jQuery(jEle); var id = jEle.attr('pagelayer-id'); // Set pagelayer id to input field jEle.find('form input[name="cfa-pagelayer-id"]').val(id); } // Contact Form Submit handler - Premium function pagelayer_contact_submit(jEle, e){ e.preventDefault(); // Checking for required checkboxes. for(var checkbox_div of jQuery(jEle).find('.pagelayer-contact-checkbox')){ checkbox_div = jQuery(checkbox_div); if(checkbox_div.attr('required') == 'required'){ if(pagelayer_empty(checkbox_div.find('input:checked').length)){ alert('Kindly select the required checkbox'); return; } } } // Trigger an action jQuery(document).trigger('pagelayer_contact_submit', e, jEle); // Disabling submit button with loading animation. jQuery(jEle).find('.pagelayer-contact-submit-btn').prop('disabled', true); jQuery(jEle).find('.pagelayer-contact-submit-btn .fa-spin').show('0.6'); //var fdata = jQuery(jEle).closest('form').serialize(); var redirect = jQuery(jEle).find('input[name="cfa-redirect"]'); var formData = new FormData( jQuery(jEle)[0] ); var par = jQuery(jEle).parent(); // Append the nonce formData.append('pagelayer_nonce', pagelayer_global_nonce); // Hide any message par.find(".pagelayer-message-box").hide(); // Message pos to use ? var msg_pos = 'top'; if(par.parent().hasClass('pagelayer-message-box-bottom')){ msg_pos = 'bottom'; } par.find(".pagelayer-message-box").removeClass('pagelayer-cf-msg-err pagelayer-cf-msg-suc'); jQuery.ajax({ url: pagelayer_ajaxurl+'action=pagelayer_contact_submit', type: "POST", data: formData, processData: false, contentType: false, cache:false, success:function(result){ var json = jQuery.parseJSON(result); jQuery(jEle).find('.pagelayer-contact-submit-btn').prop('disabled', false); jQuery(jEle).find('.pagelayer-contact-submit-btn .fa-spin').hide('0.6'); if('success' in json){ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-suc').html(json['success']).fadeIn(); if(redirect.length > 0 && !pagelayer_empty(redirect.val())){ window.location.href = redirect.val(); } }else{ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-err').html(json['failed']).fadeIn(); } }, error:function(result){ par.find(".pagelayer-message-"+msg_pos).addClass('pagelayer-cf-msg-err').html(json['failed']).fadeIn(); } }); jEle.reset(); jQuery(jEle).find('.pagelayer-recaptcha').each(function(){ var widgetID = jQuery(this).attr('recaptcha-widget-id'); if(!pagelayer_empty(window.grecaptcha)){ grecaptcha.reset(widgetID); } }); return false; } // Primary Menu Handler - Premium function pagelayer_primary_menu(jEle){ var container = jEle.find('.pagelayer-wp-menu-container'); var menu_bar = jEle.find('.pagelayer-primary-menu-bar i'); var menu_holder = jEle.find('.pagelayer-wp-menu-holder'); var layout = menu_holder.attr('data-layout'); var submenu_ind = menu_holder.attr('data-submenu_ind'); var responsive = menu_holder.attr('data-responsive'); var drop_breakpoint = menu_holder.attr('data-drop_breakpoint'); var close = jEle.find('.pagelayer-wp_menu-close'); var media_mode = pagelayer_get_media_mode(); if( (drop_breakpoint == 'tablet' && (media_mode == 'tablet' || media_mode == 'mobile')) || (drop_breakpoint == 'mobile' && media_mode == 'mobile') ){ menu_holder.addClass('pagelayer-wp-menu-dropdown'); container.addClass('pagelayer-menu-type-dropdown'); container.removeClass('pagelayer-menu-type-'+layout); layout = 'dropdown'; }else{ menu_holder.removeClass('pagelayer-wp-menu-dropdown'); container.removeClass('pagelayer-menu-type-dropdown'); container.addClass('pagelayer-menu-type-'+layout); } // Set mega menu width // Wait for all other animations to finish setTimeout(function(){ container.find('.pagelayer-mega-menu-item, .pagelayer-mega-column-item').each(function(){ var liEle = jQuery(this), lEle = liEle.find('.pagelayer-nav_menu_item').first(), megaHolder = lEle.closest('.pagelayer-mega-menu'), setClass = 'pagelayer-set-position'; if(liEle.hasClass('pagelayer-mega-column-item')){ megaHolder = liEle.children('.sub-menu'); } if(megaHolder.length < 1){ return; } var Css = {}; // Remove all css settings jQuery(document).unbind('scroll.megaMenu'); megaHolder.css({'width' : '', 'left' : '', 'max-width' : '', 'max-height' : ''}); if(layout == 'dropdown'){ return; } // Set active to get position megaHolder.addClass(setClass); var megaLeft = megaHolder.offset().left, megaWidth = lEle.attr('pagelayer-mega-width'), wContainer = lEle.closest('.pagelayer-wp-menu-container'), megaCustomWidth = lEle.attr('pagelayer-mega-custom-width') || '', widthEle; // Is vertical menu? if(layout == 'vertical'){ var docWidth = jQuery('body').width(); var vWidth = docWidth - megaLeft; Css['max-width'] = vWidth; Css['width'] = vWidth; if(megaWidth == 'custom'){ Css['width'] = megaCustomWidth; } megaHolder.css(Css); megaHolder.removeClass(setClass); return; } var megaMenuHeight = function(e){ if(!pagelayer_empty(e) && megaHolder.is(':visible')){ return; } var windowHeight = jQuery(window).height(); var ulBottom = megaHolder.closest('.pagelayer-wp_menu-ul')[0].getBoundingClientRect().bottom; megaHolder.css('max-height', windowHeight - ulBottom); }; megaMenuHeight(); jQuery(document).on('scroll.megaMenu', megaMenuHeight); switch(megaWidth){ case 'row_container': widthEle = lEle.closest('.pagelayer-row[pagelayer-id]'); Css['width'] = widthEle.width(); break; case 'custom': widthEle = lEle.closest('li'); Css['width'] = megaCustomWidth; break; default : widthEle = wContainer; Css['width'] = widthEle.width(); } if(widthEle.length > 0){ var wLeft = widthEle.offset().left; if( wLeft < megaLeft ){ Css['left'] = (wLeft) - (megaLeft); } } megaHolder.css(Css); var mRect = megaHolder[0].getBoundingClientRect(); var wRect = wContainer[0].getBoundingClientRect(); // Set mega menu position if(megaWidth != 'custom' || mRect.right < wRect.right){ megaHolder.removeClass(setClass); return; } var left = parseInt(megaHolder.css('left')); var moveLeft = mRect.right - wRect.right; if(mRect.left < moveLeft){ moveLeft = moveLeft - (moveLeft - mRect.left); } left = left - moveLeft; megaHolder.css({'left': left}); megaHolder.removeClass(setClass); }); }, 500); // Menu toggle var toggle_class; jQuery(menu_bar).unbind('click'); jQuery(menu_bar).click(function(){ jQuery(container).toggleClass('pagelayer-togglt-on'); toggle_class = jQuery(this).data('icon'); toggle_class = ( pagelayer_empty(toggle_class) ? 'fas fa-bars' : toggle_class ); if(jQuery(container).hasClass('pagelayer-togglt-on')){ jQuery(this).removeClass(toggle_class); jQuery(this).addClass('fas fa-times'); }else{ jQuery(this).removeClass('fas fa-times'); jQuery(this).addClass(toggle_class); } }); // If has sub-menu the as icon var sub_menuEle = jQuery(container).find('.pagelayer-wp_menu-ul li.menu-item-has-children:not(.pagelayer-mega-menu-item), .pagelayer-wp_menu-ul li.pagelayer-mega-menu-item'); var aEle_sub_menu = sub_menuEle.children('a'); var afterIconSpan = aEle_sub_menu.children('.after-icon') if (aEle_sub_menu.children('.after-icon').length < 1) { aEle_sub_menu.append(''); }else{ // For gutenberg afterIconSpan.attr('class', 'after-icon fa fa-' + submenu_ind); } // Toggle Sub nav var after_icon = jQuery(container).find('.pagelayer-wp_menu-ul li.menu-item-has-children .after-icon, .pagelayer-wp_menu-ul li.pagelayer-mega-menu-item .after-icon'); after_icon.unbind('click'); after_icon.click(function(e){ e.preventDefault(); if(window.matchMedia("(max-width: "+pagelayer_settings['tablet_breakpoint']+"px)").matches || layout != 'horizontal'){ jQuery(this).closest('li').toggleClass('pagelayer-active-sub-menu'); }else{ jQuery(this).closest('li').removeClass('pagelayer-active-sub-menu'); } }); close.unbind('click'); close.click(function(){ jQuery(container).toggleClass('pagelayer-togglt-on'); jQuery(menu_bar).removeClass('fas fa-times'); jQuery(menu_bar).addClass(toggle_class); }); // To edit the mega menu in live editor jQuery(document).trigger('pagelayer_primary_menu_setup_end', [jEle]); } var count_int ={}; // Show countdown render function pagelayer_countdown(jEle){ var expiry_date = jEle.find('.pagelayer-countdown-container').attr('pagelayer-expiry-date'); var timetype = jEle.find('.pagelayer-countdown-container').attr('pagelayer-time-type'); var jEle_id = jEle.attr('pagelayer-id'); if(pagelayer_empty(expiry_date) || expiry_date == "{{date}}"){ var expiry_date = new Date(new Date().getTime() + 24 * 60 * 60 * 1000); } var now; if(timetype == "server"){ now = new Date(pagelayer_server_time*1000).getTime(); }else{ now = new Date().getTime(); } var countDownDate = new Date(expiry_date).getTime(); var distance = countDownDate - now; clearInterval(count_int[jEle_id]); count_int[jEle_id] = setInterval(function() { // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); jEle.find('.pagelayer-days-count').html(days); jEle.find('.pagelayer-hours-count').html(hours); jEle.find('.pagelayer-minutes-count').html(minutes); jEle.find('.pagelayer-seconds-count').html(seconds); // If the count down is over, write some text if(distance < 0) { clearInterval(count_int[jEle_id]); jEle.find('.pagelayer-countdown-expired').show(); jEle.find('.pagelayer-countdown-counter').hide(); } distance = distance - 1000; }, 1000); } function pagelayer_pl_testimonial_slider(jEle){ var ul = jEle.find('.pagelayer-testimonials-holder'); // Build the options var options = pagelayer_fetch_dataAttrs(ul, 'data-slides-'); pagelayer_owl_init(jEle, ul, options); } var pagelayerAnimTimer = {}; function pagelayer_anim_heading(jEle){ var animationDelay = 2500, //loading bar effect barAnimationDelay = 3800, barWaiting = barAnimationDelay - 3000, //3000 is the duration of the transition on the loading bar - set in the scss/css file //letters effect lettersDelay = 50, //type effect typeLettersDelay = 150, selectionDuration = 500, typeAnimationDelay = selectionDuration + 800, //clip effect revealDuration = 600, revealAnimationDelay = 1500; var id = jEle.attr('pagelayer-id'); if(pagelayer_empty(pagelayerAnimTimer[id])){ pagelayerAnimTimer[id] = {}; } // Clear the previous animations for( var time in pagelayerAnimTimer[id] ){ clearTimeout(pagelayerAnimTimer[id][time]); } initHeadline(); function initHeadline(){ // Re-set styles jEle.find('.pagelayer-aheading-holder').find('span').css('opacity', ''); //insert element for each letter of a changing word singleLetters(jEle.find('.pagelayer-aheading-holder.letters').find('span')); //initialise headline animation animateHeadline(jEle.find('.pagelayer-aheading-holder')); } function singleLetters($words){ $words.each(function(){ var word = jQuery(this), letters = word.text().split(''), selected = word.hasClass('pagelayer-is-visible'); for (i in letters) { if(word.parents('.pagelayer-aheading-rotate2').length > 0) letters[i] = '' + letters[i] + ''; letters[i] = (selected) ? '' + letters[i] + '': '' + letters[i] + ''; } var newLetters = letters.join(''); word.html(newLetters).css('opacity', 1); }); } function animateHeadline($headlines){ var duration = animationDelay; $headlines.each(function(){ var headline = jQuery(this); if(headline.hasClass('pagelayer-aheading-loading-bar')){ duration = barAnimationDelay; setTimeout(function(){ headline.find('.pagelayer-words-wrapper').addClass('pagelayer-is-loading') }, barWaiting); }else if(headline.hasClass('pagelayer-aheading-clip')){ var spanWrapper = headline.find('.pagelayer-words-wrapper'), newWidth = spanWrapper.width() + 10; spanWrapper.css('width', newWidth); } else if (!headline.hasClass('type') ){ var words = headline.find('.pagelayer-words-wrapper span'), width = 0; words.each(function(){ var wordWidth = jQuery(this).width(); if (wordWidth > width) width = wordWidth; }); headline.find('.pagelayer-words-wrapper').css('width', width); }; //trigger animation setTimeout(function(){ hideWord( headline.find('.pagelayer-is-visible').eq(0) ); }, duration); }); } function hideWord($word){ var nextWord = takeNext($word); if($word.parents('.pagelayer-aheading-holder').hasClass('letters')){ var bool = ($word.children('strong').length >= nextWord.children('strong').length) ? true : false; hideLetter($word.find('strong').eq(0), $word, bool, lettersDelay); showLetter(nextWord.find('strong').eq(0), nextWord, bool, lettersDelay); }else if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-clip')){ $word.parents('.pagelayer-words-wrapper').animate({ width : '2px' }, revealDuration, function(){ switchWord($word, nextWord); showWord(nextWord); }); }else if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-loading-bar')){ $word.parents('.pagelayer-words-wrapper').removeClass('pagelayer-is-loading'); switchWord($word, nextWord); clearTimeout(pagelayerAnimTimer[id][0]); pagelayerAnimTimer[id][0] = setTimeout(function(){ hideWord(nextWord); }, barAnimationDelay); clearTimeout(pagelayerAnimTimer[id][1]); pagelayerAnimTimer[id][1] = setTimeout(function(){ $word.parents('.pagelayer-words-wrapper').addClass('pagelayer-is-loading'); }, barWaiting); }else{ switchWord($word, nextWord); clearTimeout(pagelayerAnimTimer[id][2]); pagelayerAnimTimer[id][2] = setTimeout(function(){ hideWord(nextWord) ; }, animationDelay); } } function showWord($word, $duration){ if($word.parents('.pagelayer-aheading-holder').hasClass('pagelayer-aheading-clip')){ $word.parents('.pagelayer-words-wrapper').animate({ 'width' : $word.width() + 10 }, revealDuration, function(){ clearTimeout(pagelayerAnimTimer[id][3]); pagelayerAnimTimer[id][3] = setTimeout(function(){ hideWord($word); }, revealAnimationDelay); }); } } function hideLetter($letter, $word, $bool, $duration){ $letter.removeClass('pagelayer-aheading-in').addClass('pagelayer-aheading-out'); if(!$letter.is(':last-child')){ clearTimeout(pagelayerAnimTimer[id][4]); pagelayerAnimTimer[id][4] = setTimeout(function(){ hideLetter($letter.next(), $word, $bool, $duration); }, $duration); }else if($bool){ clearTimeout(pagelayerAnimTimer[id][5]); pagelayerAnimTimer[id][5] = setTimeout(function(){ hideWord(takeNext($word)); }, animationDelay); } if($letter.is(':last-child') && pagelayer_query('html').hasClass('pagelayer-no-csstransitions')){ var nextWord = takeNext($word); switchWord($word, nextWord); } } function showLetter($letter, $word, $bool, $duration){ $letter.addClass('pagelayer-aheading-in').removeClass('pagelayer-aheading-out'); if(!$word.hasClass('pagelayer-is-visible')){ $word.parent().children().removeClass('pagelayer-is-visible'); $word.addClass('pagelayer-is-visible'); } if(!$letter.is(':last-child')){ clearTimeout(pagelayerAnimTimer[id][6]); pagelayerAnimTimer[id][6] = setTimeout(function(){ showLetter($letter.next(), $word, $bool, $duration); }, $duration); }else{ if(!$bool) { clearTimeout(pagelayerAnimTimer[id][7]); pagelayerAnimTimer[id][7] = setTimeout(function(){ hideWord($word); }, animationDelay) } } } function takeNext($word){ return (!$word.is(':last-child')) ? $word.next() : $word.parent().children().eq(0); } function switchWord($oldWord, $newWord){ $oldWord.removeClass('pagelayer-is-visible').addClass('pagelayer-is-hidden'); if(!$newWord.hasClass('pagelayer-is-visible')){ $newWord.removeClass('pagelayer-is-hidden').addClass('pagelayer-is-visible'); } } } var pagelayerSetInterval = {}; function pagelayer_pl_row_slider(jEle){ var index = 0; var id = jEle.closest('[pagelayer-id]').attr('pagelayer-id'); var imageEls = jEle.find('.pagelayer-bgimg-slide'); // Get the images to be cycled. var speed = parseFloat(jEle.attr('data-speed')); // Get the speed of loop. imageEls.first().addClass('pagelayer-slide-show'); clearInterval(pagelayerSetInterval[id]); pagelayerSetInterval[id] = setInterval(function (){ // Get the next index. If at end, restart to the beginning. index = index + 1 < imageEls.length ? index + 1 : 0; // Show the next imageEls.eq(index).addClass('pagelayer-slide-show'); // Hide the previous imageEls.eq(index - 1).removeClass('pagelayer-slide-show'); }, speed); } function pagelayer_pl_social_profile(jEle){ var icon_holder = jEle.find('.pagelayer-icon-holder'); // Assigning animation classes to icon holder if(!pagelayer_empty(jEle.attr('pagelayer-animation'))){ icon_holder.addClass('pagelayer-animation-'+jEle.attr('pagelayer-animation')); } } // Post infinite scroll handler function pagelayer_infinite_posts(jEle) { var loader = jEle.find('.pagelayer-btn-load'); var autoScroll = jEle.find('.pagelayer-infinite-scroll-auto').length < 1; loader.on('click', function(){ var bEle = jQuery(this); var loaded = jEle.attr('pagelayer-post-data-loading'); // Is loading? if(!pagelayer_empty(loaded)){ return; } jEle.attr('pagelayer-post-data-loading', 1); var current = bEle.attr('data-current') || 1; var nextPage = parseInt(current) + 1; var load_btn = jEle.find('.pagelayer_load_button'); bEle.hide(); load_btn.find('.pagelayer-loader-holder').show(); if(jEle.find('.pagelayer-post-max').attr('data-max') <= 1) { load_btn.text(load_btn.data('text')); return; } // Get Data from local variable var data = window['pagelayer_local_scripts']['pagelayer_post_' + jEle.attr("pagelayer-id")]; // Add next page number to load if(!pagelayer_empty(data.atts)){ data.atts['paged'] = nextPage; } // Get the Posts jQuery.ajax({ url: pagelayer_ajaxurl + 'action=pagelayer_infinite_posts', type: 'POST', data: { pagelayer_nonce: pagelayer_global_nonce, data: data, }, success: function(result){ var json = jQuery.parseJSON(result); var content = jQuery(json['posts']).find('.pagelayer-posts-container').html(); jEle.find('.pagelayer-posts-container').append(content); load_btn.find('.pagelayer-loader-holder').hide(); if (jEle.find('.pagelayer-post-max').attr('data-max') == nextPage) { load_btn.text(load_btn.data('text')); }else if(autoScroll){ bEle.show(); } bEle.attr('data-current', nextPage); }, complete: function(){ jEle.removeAttr('pagelayer-post-data-loading'); } }); }); // If already scrolled if(pagelayer_isVisible(loader)){ loader.click(); } // Auto scroll? if(autoScroll){ return; } var win = jQuery(pagelayerGetCurrentWindow()); win.on('scroll.archive_posts', function(){ var current = parseInt(loader.attr('data-current')) || 1; var total = loader.attr('data-max'); if(win.scrollTop() + win.height() < jEle.height() || current >= total) { return; } loader.click(); }); } //////////////// // Freemium End //////////////// /* * Nivo Lightbox v1.3.1 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ !function(t,i,o,e){function n(i,o){this.el=i,this.$el=t(this.el),this.options=t.extend({},l,o),this._defaults=l,this._name=a,this.init()}var a="nivoLightbox",l={effect:"fade",theme:"default",keyboardNav:!0,clickImgToClose:!1,clickOverlayToClose:!0,onInit:function(){},beforeShowLightbox:function(){},afterShowLightbox:function(t){},beforeHideLightbox:function(){},afterHideLightbox:function(){},beforePrev:function(t){},onPrev:function(t){},beforeNext:function(t){},onNext:function(t){},errorMessage:"The requested content cannot be loaded. Please try again later."};n.prototype={init:function(){var i=this;t("html").hasClass("nivo-lightbox-notouch")||t("html").addClass("nivo-lightbox-notouch"),"ontouchstart"in o&&t("html").removeClass("nivo-lightbox-notouch"),this.$el.on("click",function(t){i.showLightbox(t)}),this.options.keyboardNav&&t("body").off("keyup").on("keyup",function(o){var e=o.keyCode?o.keyCode:o.which;27==e&&i.destructLightbox(),37==e&&t(".nivo-lightbox-prev").trigger("click"),39==e&&t(".nivo-lightbox-next").trigger("click")}),this.options.onInit.call(this)},showLightbox:function(i){var o=this,e=this.$el,n=this.checkContent(e);if(n){i.preventDefault(),this.options.beforeShowLightbox.call(this);var a=this.constructLightbox();if(a){var l=a.find(".nivo-lightbox-content");if(l){if(t("body").addClass("nivo-lightbox-body-effect-"+this.options.effect),this.processContent(l,e),this.$el.attr("data-lightbox-gallery")){var h=t('[data-lightbox-gallery="'+this.$el.attr("data-lightbox-gallery")+'"]');t(".nivo-lightbox-nav").show(),t(".nivo-lightbox-prev").off("click").on("click",function(i){i.preventDefault();var n=h.index(e);e=h.eq(n-1),t(e).length||(e=h.last()),t.when(o.options.beforePrev.call(this,[e])).done(function(){o.processContent(l,e),o.options.onPrev.call(this,[e])})}),t(".nivo-lightbox-next").off("click").on("click",function(i){i.preventDefault();var n=h.index(e);e=h.eq(n+1),t(e).length||(e=h.first()),t.when(o.options.beforeNext.call(this,[e])).done(function(){o.processContent(l,e),o.options.onNext.call(this,[e])})})}setTimeout(function(){a.addClass("nivo-lightbox-open"),o.options.afterShowLightbox.call(this,[a])},1)}}}},checkContent:function(t){var i=t.attr("href"),o=i.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(video\/(.)+|watch\?v=([\w-]+)|([\w-]+))/);return null!==i.match(/\.(jpeg|jpg|gif|png)$/i)||(!!o||("ajax"==t.attr("data-lightbox-type")||("#"==i.substring(0,1)&&"inline"==t.attr("data-lightbox-type")||"iframe"==t.attr("data-lightbox-type"))))},processContent:function(o,e){var n=this,a=e.attr("href"),l=a.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(video\/(.)+|watch\?v=([\w-]+)|([\w-]+))/);if(o.html("").addClass("nivo-lightbox-loading"),this.isHidpi()&&e.attr("data-lightbox-hidpi")&&(a=e.attr("data-lightbox-hidpi")),null!==a.match(/\.(jpeg|jpg|gif|png)$/i)){var h=t("",{src:a,class:"nivo-lightbox-image-display"});h.one("load",function(){var e=t('
    ');e.append(h),o.html(e).removeClass("nivo-lightbox-loading"),e.css({"line-height":t(".nivo-lightbox-content").height()+"px",height:t(".nivo-lightbox-content").height()+"px"}),t(i).resize(function(){e.css({"line-height":t(".nivo-lightbox-content").height()+"px",height:t(".nivo-lightbox-content").height()+"px"})})}).each(function(){this.complete&&t(this).load()}),h.error(function(){var i=t('

    '+n.options.errorMessage+"

    ");o.html(i).removeClass("nivo-lightbox-loading")})}else if(l){var s="",r="nivo-lightbox-video";if("youtube"==l[1]&&(s="//www.youtube.com/embed/"+l[5],r="nivo-lightbox-youtube"),"youtube-nocookie"==l[1]&&(s=a,r="nivo-lightbox-youtube"),"youtu"==l[1]&&(s="//www.youtube.com/embed/"+l[3],r="nivo-lightbox-youtube"),"vimeo"==l[1]&&(s="//player.vimeo.com/video/"+(l[3].replace('video/','')),r="nivo-lightbox-vimeo"),s){var c=t("'),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('
    ').insertAfter(e.find(".pagelayer-owl-video")),this._playing=e.addClass("pagelayer-owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("pagelayer-owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1, animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated pagelayer-owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated pagelayer-owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated pagelayer-owl-animated-out pagelayer-owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.pagelayerOwlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
    '+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
    ")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"pagelayer-owl-nav",navClass:["pagelayer-owl-prev","pagelayer-owl-next"],slideBy:1,dotClass:"pagelayer-owl-dot",dotsClass:"pagelayer-owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("
    ").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('
    ',n=(t=o,r=this.settings.doc,(i=r.createElement("div")).innerHTML=t,i.firstElementChild);return this.domElement=n,this._domH=w(".picker_hue",n),this._domSL=w(".picker_sl",n),this._domA=w(".picker_alpha",n),this._domEdit=w(".picker_editor input",n),this._domSample=w(".picker_sample",n),this._domOkay=w(".picker_done button",n),n.classList.add("layout_"+this.settings.layout),this.settings.alpha||n.classList.add("no_alpha"),this.settings.editor||n.classList.add("no_editor"),this._ifPopup(function(){return n.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor("#0cf"),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"_bindEvents",value:function(){var t=this,r=this,e=this.domElement;function i(o,n){function e(e,t){var r=t[0]/o.clientWidth,i=t[1]/o.clientHeight;n(r,i)}return{container:o,dragOutside:!1,callback:e,callbackDragStart:e,propagateEvents:!0}}f(e,"click",function(e){return e.preventDefault()}),s(i(this._domH,function(e,t){return r._setHSLA(e)})),s(i(this._domSL,function(e,t){return r._setHSLA(null,e,1-t)})),this.settings.alpha&&s(i(this._domA,function(e,t){return r._setHSLA(null,null,null,1-t)}));var o=this._domEdit;f(o,"input",function(e){r._setColor(this.value,{fromEditor:!0,failSilently:!0})}),f(o,"focus",function(e){this.selectionStart===this.selectionEnd&&this.select()});var n=function(e){t._ifPopup(function(){return t.closeHandler(e)})},a=function(e){t._ifPopup(function(){return t.closeHandler(e)}),t.onDone&&t.onDone(t.colour)};f(this.settings.doc,p,n),f(this.settings.doc,c,n),d(e,["Esc","Escape"],n),f(this._domOkay,"click",a),d(e,["Enter"],a)}},{key:"_setPosition",value:function(){var r=this.settings.parent,i=this.domElement;r!==i.parentNode&&r.appendChild(i),this._ifPopup(function(e){"static"===getComputedStyle(r).position&&(r.style.position="relative");var t=!0===e?"popup_right":"popup_"+e;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(e){e===t?i.classList.add(e):i.classList.remove(e)}),i.classList.add(t)})}},{key:"_setHSLA",value:function(e,t,r,i,o){o=o||{};var n=this.colour,a=n.hsla;[e,t,r,i].forEach(function(e,t){(e||0===e)&&(a[t]=e)}),n.hsla=a,this._updateUI(o),this.onChange&&!o.silent&&this.onChange(n)}},{key:"_updateUI",value:function(e){if(this.domElement){e=e||{};var t=this.colour,r=t.hsla,i="hsl("+360*r[0]+", 100%, 50%)",o=t.hslString,n=t.hslaString,a=this._domH,s=this._domSL,l=this._domA,p=w(".picker_selector",a),c=w(".picker_selector",s),f=w(".picker_selector",l);k(0,p,r[0]),this._domSL.style.backgroundColor=this._domH.style.color=i,k(0,c,r[1]),v(0,c,1-r[2]),s.style.color=o,v(0,f,1-r[3]);var u=o,d=u.replace("hsl","hsla").replace(")",", 0)"),h="linear-gradient("+[u,d]+")";if(this._domA.style.backgroundImage=h+", url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgrey'/%3E%3C/svg%3E\")",!e.fromEditor){var g=this.settings.editorFormat,b=this.settings.alpha,m=void 0;switch(g){case"rgb":m=t.printRGB(b);break;case"hsl":m=t.printHSL(b);break;default:m=t.printHex(b)}this._domEdit.value=m}this._domSample.style.color=n}function k(e,t,r){t.style.left=100*r+"%"}function v(e,t,r){t.style.top=100*r+"%"}}},{key:"_ifPopup",value:function(e,t){this.settings.parent&&this.settings.popup?e&&e(this.settings.popup):t&&t()}},{key:"_toggleDOM",value:function(e){var t=this.domElement;if(!t)return!1;var r=e?"":"none",i=t.style.display!==r;return i&&(t.style.display=r),i}}]),r}()});PKZ~#plugins/pagelayer/js/base-64.min.jsnu[/* * [hi-base64]{@link https://github.com/emn178/hi-base64} * * @version 0.2.1 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT */ /*jslint bitwise: true */ /*Modified by Pagelayer*/ !function(){"use strict";var r="object"==typeof window?window:{};!r.HI_BASE64_NO_COMMON_JS&&"object"==typeof module&&module.exports,"function"==typeof define&&define.amd;var t,o,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),n={A:0,B:1,C:2,D:3,E:4,F:5,G:6,H:7,I:8,J:9,K:10,L:11,M:12,N:13,O:14,P:15,Q:16,R:17,S:18,T:19,U:20,V:21,W:22,X:23,Y:24,Z:25,a:26,b:27,c:28,d:29,e:30,f:31,g:32,h:33,i:34,j:35,k:36,l:37,m:38,n:39,o:40,p:41,q:42,r:43,s:44,t:45,u:46,v:47,w:48,x:49,y:50,z:51,0:52,1:53,2:54,3:55,4:56,5:57,6:58,7:59,8:60,9:61,"+":62,"/":63,"-":62,_:63},a=function(r){var t,o,e,a,h=[],f=0,i=r.length;"="===r.charAt(i-2)?i-=2:"="===r.charAt(i-1)&&(i-=1);for(var C=0,c=i>>2<<2;C>>4),h[f++]=255&(o<<4|e>>>2),h[f++]=255&(e<<6|a);var g=i-c;return 2===g?(t=n[r.charAt(C++)],o=n[r.charAt(C++)],h[f++]=255&(t<<2|o>>>4)):3===g&&(t=n[r.charAt(C++)],o=n[r.charAt(C++)],e=n[r.charAt(C++)],h[f++]=255&(t<<2|o>>>4),h[f++]=255&(o<<4|e>>>2)),h},h=r.btoa,f=r.atob;h?(t=function(r){for(var t="",o=0;o>6)+String.fromCharCode(128|63&e):e<55296||e>=57344?t+=String.fromCharCode(224|e>>12)+String.fromCharCode(128|e>>6&63)+String.fromCharCode(128|63&e):(e=65536+((1023&e)<<10|1023&r.charCodeAt(++o)),t+=String.fromCharCode(240|e>>18)+String.fromCharCode(128|e>>12&63)+String.fromCharCode(128|e>>6&63)+String.fromCharCode(128|63&e))}return h(t)},o=function(r){var t=f(r.trim("=").replace(/-/g,"+").replace(/_/g,"/"));if(!/[^\x00-\x7F]/.test(t))return t;for(var o,e,n="",a=0,h=t.length,i=0;a191&&o<=223)e=31&o,i=1;else if(o<=239)e=15&o,i=2;else{if(!(o<=247))throw"not a UTF-8 string";e=7&o,i=3}for(var C=0;C191)throw"not a UTF-8 string";e<<=6,e+=63&o}if(e>=55296&&e<=57343)throw"not a UTF-8 string";if(e>1114111)throw"not a UTF-8 string";e<=65535?n+=String.fromCharCode(e):(e-=65536,n+=String.fromCharCode(55296+(e>>10)),n+=String.fromCharCode(56320+(1023&e)))}return n}):(h=function(r){for(var t,o,n,a="",h=r.length,f=0,i=3*parseInt(h/3);f>>2]+e[63&(t<<4|o>>>4)]+e[63&(o<<2|n>>>6)]+e[63&n];var C=h-i;return 1===C?(t=r.charCodeAt(f),a+=e[t>>>2]+e[t<<4&63]+"=="):2===C&&(t=r.charCodeAt(f++),o=r.charCodeAt(f),a+=e[t>>>2]+e[63&(t<<4|o>>>4)]+e[o<<2&63]+"="),a},t=function(r){for(var t,o,n,a="",h=function(r){for(var t=[],o=0;o>6,t[t.length]=128|63&e):e<55296||e>=57344?(t[t.length]=224|e>>12,t[t.length]=128|e>>6&63,t[t.length]=128|63&e):(e=65536+((1023&e)<<10|1023&r.charCodeAt(++o)),t[t.length]=240|e>>18,t[t.length]=128|e>>12&63,t[t.length]=128|e>>6&63,t[t.length]=128|63&e)}return t}(r),f=h.length,i=0,C=3*parseInt(f/3);i>>2]+e[63&(t<<4|o>>>4)]+e[63&(o<<2|n>>>6)]+e[63&n];var c=f-C;return 1===c?(t=h[i],a+=e[t>>>2]+e[t<<4&63]+"=="):2===c&&(t=h[i++],o=h[i],a+=e[t>>>2]+e[63&(t<<4|o>>>4)]+e[o<<2&63]+"="),a},f=function(r){var t,o,e,a,h="",f=r.length;"="===r.charAt(f-2)?f-=2:"="===r.charAt(f-1)&&(f-=1);for(var i=0,C=f>>2<<2;i>>4))+String.fromCharCode(255&(o<<4|e>>>2))+String.fromCharCode(255&(e<<6|a));var c=f-C;return 2===c?(t=n[r.charAt(i++)],o=n[r.charAt(i++)],h+=String.fromCharCode(255&(t<<2|o>>>4))):3===c&&(t=n[r.charAt(i++)],o=n[r.charAt(i++)],e=n[r.charAt(i++)],h+=String.fromCharCode(255&(t<<2|o>>>4))+String.fromCharCode(255&(o<<4|e>>>2))),h},o=function(r){for(var t,o,e="",n=a(r),h=n.length,f=0,i=0;f191&&t<=223)o=31&t,i=1;else if(t<=239)o=15&t,i=2;else{if(!(t<=247))throw"not a UTF-8 string";o=7&t,i=3}for(var C=0;C191)throw"not a UTF-8 string";o<<=6,o+=63&t}if(o>=55296&&o<=57343)throw"not a UTF-8 string";if(o>1114111)throw"not a UTF-8 string";o<=65535?e+=String.fromCharCode(o):(o-=65536,e+=String.fromCharCode(55296+(o>>10)),e+=String.fromCharCode(56320+(1023&o)))}return e});var i=function(r,t){return t?f(r):o(r)},C={encode:function(o,n){var a="string"!=typeof o;return a&&o.constructor===r.ArrayBuffer&&(o=new Uint8Array(o)),a?function(r){for(var t,o,n,a="",h=r.length,f=0,i=3*parseInt(h/3);f>>2]+e[63&(t<<4|o>>>4)]+e[63&(o<<2|n>>>6)]+e[63&n];var C=h-i;return 1===C?(t=r[f],a+=e[t>>>2]+e[t<<4&63]+"=="):2===C&&(t=r[f++],o=r[f],a+=e[t>>>2]+e[63&(t<<4|o>>>4)]+e[o<<2&63]+"="),a}(o):!n&&/[^\x00-\x7F]/.test(o)?t(o):h(o)},decode:i,atob:f,btoa:h};i.bytes=a,i.string=i,r.pagelayer_Base64=C}();PKZ__%plugins/pagelayer/js/trumbowyg.min.jsnu[/** Trumbowyg v2.14.0 - A lightweight WYSIWYG editor - alex-d.github.io/Trumbowyg - License MIT - Author : Alexandre Demode (Alex-D) / alex-d.fr */ jQuery.trumbowyg={langs:{en:{viewHTML:"View HTML",undo:"Undo",redo:"Redo",formatting:"Formatting",p:"Paragraph",blockquote:"Quote",code:"Code",header:"Header",bold:"Bold",italic:"Italic",strikethrough:"Stroke",underline:"Underline",strong:"Strong",em:"Emphasis",del:"Deleted",superscript:"Superscript",subscript:"Subscript",unorderedList:"Unordered list",orderedList:"Ordered list",insertImage:"Insert Image",link:"Link",createLink:"Insert link",unlink:"Remove link",justifyLeft:"Align Left",justifyCenter:"Align Center",justifyRight:"Align Right",justifyFull:"Align Justify",horizontalRule:"Insert horizontal rule",removeformat:"Remove format",fullscreen:"Fullscreen",close:"Close",submit:"Confirm",reset:"Cancel",required:"Required",description:"Description",title:"Title",text:"Text",target:"Target",width:"Width"}},plugins:{},svgPath:null,hideButtonTexts:null},Object.defineProperty(jQuery.trumbowyg,"defaultOptions",{value:{lang:"en",fixedBtnPane:!1,fixedFullWidth:!1,autogrow:!1,autogrowOnEnter:!1,imageWidthModalEdit:!1,prefix:"trumbowyg-",semantic:!0,resetCss:!1,removeformatPasted:!1,tagsToRemove:[],tagsToKeep:["hr","img","embed","iframe","input"],btns:[["viewHTML"],["undo","redo"],["formatting"],["strong","em","del"],["superscript","subscript"],["link"],["insertImage"],["justifyLeft","justifyCenter","justifyRight","justifyFull"],["unorderedList","orderedList"],["horizontalRule"],["removeformat"],["fullscreen"]],btnsDef:{},inlineElementsSelector:"a,abbr,acronym,b,caption,cite,code,col,dfn,dir,dt,dd,em,font,hr,i,kbd,li,q,span,strikeout,strong,sub,sup,u",pasteHandlers:[],plugins:{},urlProtocol:!1,minimalLinks:!1},writable:!1,enumerable:!0,configurable:!1}),function(e,t,n,a){"use strict";var o="tbwconfirm",r="tbwcancel";a.fn.trumbowyg=function(e,t){var n="trumbowyg";if(e===Object(e)||!e)return this.each(function(){a(this).data(n)||a(this).data(n,new i(this,e))});if(1===this.length)try{var o=a(this).data(n);switch(e){case"execCmd":return o.execCmd(t.cmd,t.param,t.forceCss);case"openModal":return o.openModal(t.title,t.content);case"closeModal":return o.closeModal();case"openModalInsert":return o.openModalInsert(t.title,t.fields,t.callback);case"saveRange":return o.saveRange();case"getRange":return o.range;case"getRangeText":return o.getRangeText();case"restoreRange":return o.restoreRange();case"enable":return o.setDisabled(!1);case"disable":return o.setDisabled(!0);case"toggle":return o.toggle();case"destroy":return o.destroy();case"empty":return o.empty();case"html":return o.html(t)}}catch(r){}return!1};var i=function(o,r){var i=this,s="trumbowyg-icons",l=a.trumbowyg;i.doc=o.ownerDocument||n,i.$ta=a(o),i.$c=a(o),r=r||{},null!=r.lang||null!=l.langs[r.lang]?i.lang=a.extend(!0,{},l.langs.en,l.langs[r.lang]):i.lang=l.langs.en,i.hideButtonTexts=null!=l.hideButtonTexts?l.hideButtonTexts:r.hideButtonTexts;var d=null!=l.svgPath?l.svgPath:r.svgPath;if(i.hasSvg=d!==!1,i.svgPath=i.doc.querySelector("base")?t.location.href.split("#")[0]:"",0===a("#"+s,i.doc).length&&d!==!1){if(null==d){for(var c=n.getElementsByTagName("script"),u=0;u",{"class":n+"box "+n+"editor-visible "+n+e.o.lang+" trumbowyg"}),e.isTextarea=e.$ta.is("textarea"),e.isTextarea?(o=e.$ta.val(),e.$ed=a("
    "),e.$box.insertAfter(e.$ta).append(e.$ed,e.$ta)):(e.$ed=e.$ta,o=e.$ed.html(),e.$ta=a("'+ '
    '+ ''+ ''+ '
    '+ '
    '+ '
    '); HTMLviewer = jQuery('.pagelayer-pen-html-viewer'); } HTMLviewer.find('.pagelayer-pen-html-area').val(html); HTMLviewer.show(); HTMLviewer.find('.pagelayer-pen-html-btn-update').unbind('click'); HTMLviewer.find('.pagelayer-pen-html-btn-update').on('click', function(){ var html = HTMLviewer.find('.pagelayer-pen-html-area').val(); t.range = null; t.editor.click(); t.setContent(html); t.editor.trigger('focus'); HTMLviewer.hide(); }); HTMLviewer.find('.pagelayer-pen-html-btn-cancel').unbind('click'); HTMLviewer.find('.pagelayer-pen-html-btn-cancel').on('click', function(){ t.editor.click(); t.focus(); HTMLviewer.hide(); }); } } PKZplugins/pagelayer/js/widgets.jsnu[ pagelayer_svg_cache = {}; var pagelayer_document_width; // For automatic row parent change jQuery(window).resize(function(){ var new_vw = jQuery(document).width(); if(new_vw == pagelayer_document_width){ return false; } pagelayer_document_width = new_vw; // Set a timeout to prevent bubbling setTimeout(function(){ jQuery(pagelayer_editable+' .pagelayer-row-stretch-full').each(function(){ var par = jQuery(this).parent(); pagelayer_pl_row_parent_full(par); }); }, 200); }); // Render for row function pagelayer_render_pl_row(el){ var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : []; el.atts['slider'] = ''; if(!pagelayer_empty(img_urls)){ for(var x in img_urls){ el.atts['slider'] += '
    '; } } // Row background parallax image. if(!pagelayer_empty(el.atts['parallax_img'])){ el.atts['parallax_img_src'] = el.tmp['parallax_img-'+el.atts['parallax_id_size']+'-url'] || el.tmp['parallax_img-url']; el.atts['parallax_img_src'] = el.atts['parallax_img_src'] || el.atts['parallax_img']; } pagelayer_bg_video(el); } // Render for inner row function pagelayer_render_pl_inner_row(el){ pagelayer_render_pl_row(el); } // Render for col function pagelayer_render_pl_col(el){ var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : []; el.atts['slider'] = ''; if(!pagelayer_empty(img_urls)){ for(var x in img_urls){ el.atts['slider'] += '
    '; } } // We need the parent of type pagelayer-wrap-col var par = el.$.parent('.pagelayer-wrap-col'); // Apply to wrapper if(!pagelayer_empty(el.atts['col'])){ for(var x=1; x<=12; x++){ if(par.hasClass('pagelayer-col-'+x)){ par.removeClass('pagelayer-col-'+x); break; } } par.addClass('pagelayer-col-'+el.atts['col']); par.css('width', ''); } if(el.atts['col_width']){ par.css('width', ''); } // Col background parallax image. if(!pagelayer_empty(el.atts['parallax_img'])){ el.atts['parallax_img_src'] = el.tmp['parallax_img-'+el.atts['parallax_id_size']+'-url'] || el.tmp['parallax_img-url']; el.atts['parallax_img_src'] = el.atts['parallax_img_src'] || el.atts['parallax_img']; } pagelayer_bg_video(el); } function pagelayer_bg_video(el){ el.tmp['bg_video_src-url'] = el.tmp['bg_video_src-url'] || el.atts['bg_video_src']; var src = el.tmp['bg_video_src-url']; if(pagelayer_empty(src)){ return; } var iframe_atts = pagelayer_video_url(src, true); // console.log(iframe_atts); iframe_atts['src'] += (iframe_atts['src'].indexOf('?') == -1 ? '?' : ''); // Adding mute and loop option in row or col if(el.atts['mute'] == "true"){ iframe_atts['src'] +="&mute=1"; el.atts['mute'] = " muted "; }else{ iframe_atts['src'] +="&mute=0"; el.atts['mute'] = ""; } if(el.atts['stop_loop'] != "true"){ iframe_atts['src'] +="&loop=1"; el.atts['stop_loop'] = " loop "; }else{ iframe_atts['src'] +="&loop=0"; el.atts['stop_loop'] =""; } if (iframe_atts['type'] == 'youtube') { var settings = 'data-loop="'+(!pagelayer_empty(el['atts']['stop_loop']) ? 1 : 0)+'" data-mute="'+ (!pagelayer_empty(el['atts']['mute']) ? 1 : 0)+'" data-videoid="'+(iframe_atts['id'].split('&')[0])+'"'; el.atts['vid_src'] = '
    '; } else if (iframe_atts['type'] == 'vimeo') { el.atts['vid_src'] = ''; }else{ el.atts['vid_src'] = ''; } } // Load the full width row function pagelayer_render_end_pl_row(el){ // The parent var par = el.$.parent(); // Any class with full width if(el.$.hasClass('pagelayer-row-stretch-full')){ // Give it the full width pagelayer_pl_row_full(el.$); // Give full width to the parent pagelayer_pl_row_parent_full(par); // Also add that we had a full width el.$.addClass('pagelayer-row-stretch-had-full'); // Did this row have full width ? }else if(el.$.hasClass('pagelayer-row-stretch-had-full')){ // Remove style el.$.removeAttr('style'); par.removeAttr('style'); par.children('.pagelayer-ele-overlay').removeAttr('style'); // Remove HAD class el.$.removeClass('pagelayer-row-stretch-had-full'); } pagelayer_pl_row_video(el.$); el.$.find('.pagelayer-parallax-window img').each(function(){ pagelayer_pl_row_parallax(jQuery(this)); }); el.$.find('.pagelayer-bgimg-slider').each(function(){ pagelayer_pl_row_slider(jQuery(this)); }); // Row shape if('row_shape_type_top' in el.atts){ pagelayer_render_row_shape(el, 'top') } if('row_shape_type_bottom' in el.atts){ pagelayer_render_row_shape(el, 'bottom') } } // Render for inner row function pagelayer_render_end_pl_inner_row(el){ pagelayer_render_end_pl_row(el); } // Set Row parent width function pagelayer_pl_row_parent_full(par){ var vw = jQuery('html').width(); par.css({'width': vw,'max-width': '100vw'}); par.offset({left: 0}); par.children('.pagelayer-row').css({left: 0}); } // Row shape render function pagelayer_render_row_shape(el, shape_pos){ var name = el.atts['row_shape_type_'+shape_pos]+'-'+shape_pos+'.svg'; // DO we have in cache if(!(name in pagelayer_svg_cache)){ // Make url and fetch var url = pagelayer_url+'/images/shapes/'+name; jQuery.get(url, function(data){ el.$.find('.pagelayer-svg-'+shape_pos).html(data); pagelayer_svg_cache[name] = data; }, 'html'); // Fill with cache }else{ el.$.find('.pagelayer-svg-'+shape_pos).html(pagelayer_svg_cache[name]); } } // Load the col function pagelayer_render_end_pl_col(el){ pagelayer_pl_row_video(el.$); el.$.find('.pagelayer-parallax-window img').each(function(){ pagelayer_pl_row_parallax(jQuery(this)); }); el.$.find('.pagelayer-bgimg-slider').each(function(){ pagelayer_pl_row_slider(jQuery(this)); }); } // Render the image object function pagelayer_render_pl_image(el){ // Decide the image URL el.atts['func_id'] = el.tmp['id-'+el.atts['id-size']+'-url'] || el.tmp['id-url']; el.atts['func_id'] = el.atts['func_id'] || el.atts['id']; el.atts['pagelayer-srcset'] = el.atts['func_id']+', '+el.atts['func_id']+' 1x, '; var image_atts = { name : 'id', size : 'id-size' }; pagelayer_get_img_src(el, image_atts); // What is the link ? if('link_type' in el.atts){ // Custom url if(el.atts['link_type'] == 'custom_url'){ el.atts['func_link'] = el.tmp['link'] || ''; } // Link to the media file itself if(el.atts['link_type'] == 'media_file'){ el.atts['func_link'] = el.tmp['id-url'] || el.atts['id']; } // Lightbox if(el.atts['link_type'] == 'lightbox'){ el.atts['func_link'] = el.tmp['id-url'] || el.atts['id']; } } } // Incase if there is a lightbox function pagelayer_render_end_pl_image(el){ pagelayer_pl_image(el.$); } // Pre DragAndDrop function function pagelayer_preDAndD_image(jEle){ dropzoneParent = jEle.find('.pagelayer-img').parent(); // Check if drop zone is already there then return if(dropzoneParent.find('.pagelayer-image-drop-zone').length > 0){ return; } var dropDiv = '
    '+ '
    '+ ''+ '

    '+pagelayer_l('drop_file')+'

    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '; dropzoneParent.prepend(dropDiv); dropZone = dropzoneParent.find('.pagelayer-image-drop-zone'); // Inserting values in image drag and drop function pagelayer_img_dragAndDrop(dropzoneParent, dropZone, jEle, ''); } // Render for video function pagelayer_render_pl_video(el){ el.atts['video_overlay_image-url'] = el.tmp['video_overlay_image-'+el.atts['custom_size']+'-url'] || el.tmp['video_overlay_image-url']; el.atts['video_overlay_image-url'] = el.atts['video_overlay_image-url'] || el.atts['video_overlay_image']; el.tmp['src-url'] = el.tmp['src-url'] || el.atts['src']; el.tmp['ele_id'] = el['id']; var vid_atts = pagelayer_video_url(el.tmp['src-url'], true); vid_atts['src'] += (vid_atts['src'].indexOf('?') == -1 ? '?' : ''); vid_atts['src'] += el.atts['autoplay'] == 'true' ? '&autoplay=1' : '&autoplay=0' ; var mute = el.atts['mute'] == 'true' ? 1 : 0; vid_atts['src'] +='&'+(vid_atts['type'] == 'vimeo' ? 'muted' : 'mute')+'='+mute; vid_atts['src'] += el.atts['loop'] == 'true' ? '&loop=1' : '&loop=0' ; el.atts['vid_src'] = vid_atts['src']+(vid_atts['type'] == 'youtube' ? '&playlist='+vid_atts['id'] : ''); } // Incase if there is a lightbox function pagelayer_render_end_pl_video(el){ pagelayer_pl_video(el.$); } // Render the testimonial function pagelayer_render_pl_testimonial(el){ if(!pagelayer_empty(el.tmp['avatar-no-image-set'])){ el.atts['avatar'] = ''; return; } //console.log(el); // Decide the image URL el.atts['func_image'] = el.tmp['avatar-'+el.atts['custom_size']+'-url'] || el.tmp['avatar-url']; el.atts['func_image'] = el.atts['func_image'] || el.atts['avatar']; } // Render the stars function pagelayer_render_end_pl_stars(el){ var jEle = el.$.find('.pagelayer-stars-container'); pagelayer_stars(jEle); }; // Render the service box function pagelayer_render_pl_service(el){ // Decide the image URL el.atts['func_image'] = el.tmp['service_image-'+el.atts['service_image_size']+'-url'] || el.tmp['service_image-url']; el.atts['func_image'] = el.atts['func_image'] || el.atts['service_image']; el.atts['pagelayer-srcset'] = el.atts['func_image']+', '+el.atts['func_image']+' 1x, '; var image_atts = { name : 'service_image', size : 'service_image_size' }; pagelayer_get_img_src(el, image_atts); } function pagelayer_render_end_pl_service(el){ // Drag and Drop function for image if (typeof pagelayer_preDAndD_image !== "undefined") { pagelayer_preDAndD_image(el.$); } } function pagelayer_social(jEle,sel){ var holder = jEle.find(sel); var icon = holder.data('icon'); if(pagelayer_empty(icon)){ return; } //alert(icon); var icon_splited = icon.split(' fa-'); //console.log(icon_splited); holder.addClass('pagelayer-'+icon_splited[1]); } function pagelayer_social_icon_onchange(jEle, row, val){ var url = ''; // Lets get the value of the nearest social icon for(var k in pagelayer_social_urls){ var patt = new RegExp(k, 'i'); if(patt.test(val)){ url = pagelayer_social_urls[k]; } } if(url.length > 0){ var social_url_row = row.parent().find('[pagelayer-elp-name="social_url"]'); //console.log(social_url_row); social_url_row.find('.pagelayer-elp-link').val(url).trigger('change'); } } // Render the social icon function pagelayer_render_end_pl_social(el){ pagelayer_social(el.$, '.pagelayer-icon-holder'); } // Render the social profile group function pagelayer_render_end_pl_social_grp(el){ // Removing extra animation classes el.$.find('.pagelayer-icon-holder').removeClass (function (index, className) { return (className.match (/(^|\s)pagelayer-animation-\S+/g) || []).join(' '); }); pagelayer_pl_social_profile(el.$); } // Render the counter function pagelayer_render_end_pl_counter(el){ pagelayer_counter(); }; // Render the progress function pagelayer_render_end_pl_progress(el){ pagelayer_progress(); }; // Render the image slider function pagelayer_render_pl_image_slider(el){ // The URLs var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : []; var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : []; var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : []; //console.log(img_urls); var ul = ''; var is_link = 'link_type' in el.atts && !pagelayer_empty(el.atts['link_type']) ? true : false; // Create figure HTML for (var x in img_urls){ // Use the default URL first var url = img_urls[x]; // But if we have a custom size, use that if(el.atts['size'] != 'custom' && x in all_urls && el.atts['size'] in all_urls[x]){ url = all_urls[x][el.atts['size']]; } ul += '
  • '; if(is_link){ var link = (el.atts['link_type'] == 'media_file' ? (!pagelayer_empty(img_urls[x]) ? img_urls[x] : url) : (el.tmp['link'] || '')) ul += ''; } ul += ''+img_title[x]+''; if(is_link){ ul += ''; } ul += '
  • '; } if(pagelayer_empty(ul)){ ul = '

    '+ pagelayer_l('Please select Images from left side Widget properties.')+'

    '; } el.atts['ul'] = ul; // Which arrows to show if('controls' in el.atts && (el.atts['controls'] == 'arrows' || el.atts['controls'] == 'none')){ el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-pager="false"'}); } if('controls' in el.atts && (el.atts['controls'] == 'pager' || el.atts['controls'] == 'none')){ el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-controls="false"'}); } }; // Render the image slider function pagelayer_render_end_pl_image_slider(el){ pagelayer_owl_destroy(el.$, '.pagelayer-image-slider-ul'); pagelayer_pl_image_slider(el.$); } // Render the grid gallery function pagelayer_render_pl_grid_gallery(el){ // The URLs var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : []; var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : []; var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : []; var img_links = !pagelayer_empty(el.tmp['ids-all-links']) ? JSON.parse(el.tmp['ids-all-links']) : []; var img_captions = !pagelayer_empty(el.tmp['ids-all-captions']) ? JSON.parse(el.tmp['ids-all-captions']) : []; //console.log(img_urls); var ul = ''; var pagin = '
  • 1
  • '; var is_link = 'link_to' in el.atts && !pagelayer_empty(el.atts['link_to']) ? true : false; var i = 0; var j = 1; if(pagelayer_empty(el.tmp)){ ul = '

    '+ pagelayer_l('select_images')+'

    '; el.atts['ul'] = ul; el.atts['pagin'] = ''; return; } ul += ''; el.atts['pagin'] = (j > 1) ? '' : ''; el.tmp['gallery-random-id'] = gallery_rand; el.atts['ul'] = ul; } function pagelayer_render_end_pl_grid_gallery(el){ pagelayer_pl_grid_lightbox(el.$); } // Render for tabs function pagelayer_render_html_pl_tabs(el){ el.CSS.attr.push({'sel': '{{element}}', 'val': 'pagelayer-tabs-rotate="'+el.atts["rotate"]+'"'}); }; // Render the tab item function pagelayer_render_end_pl_tabs(el){ pagelayer_pl_tabs(el.$); } // Render the accordion item function pagelayer_render_end_pl_accordion(el){ pagelayer_pl_accordion(el.$); }; // Render the collapse item function pagelayer_render_end_pl_collapse(el){ pagelayer_pl_collapse(el.$); }; // Render the accordion item handler pagelayer_add_action('pagelayer_element_setup', function(e, jEle){ var tag = pagelayer_tag(jEle); if( tag != 'pl_accordion_item'){ return; } var panel = jEle.find('.pagelayer-accordion-panel'); pagelayer_add_inner_row_notice(panel); }); // Render the accordion item handler pagelayer_add_action('pagelayer_do_dirty', function(e, jEle){ var panel = jEle.closest('.pagelayer-accordion-panel'); pagelayer_add_inner_row_notice(panel); }); // Add inner row notice function pagelayer_add_inner_row_notice(panel){ if(panel.length < 1 || panel.children('.pagelayer-ele-wrap, .pagelayer-ele').not('.pagelayer-row-not-found').length > 0){ if(panel.children('.pagelayer-row-not-found').length > 0){ panel.children('.pagelayer-row-not-found').remove(); } return; } var div = `
    There is no editable area found. Please click here to Add a Row and continue editing!
    `; panel.html(div); panel.find('.pagelayer-click-add-row').on('click', function(){ panel.find('.pagelayer-row-not-found').remove(); // Create Row var row = jQuery('
    '); panel.append(row); var row_id = pagelayer_onadd(row, false); var rEle = pagelayer_ele_by_id(row_id); // Create Column var col = jQuery('
    '); rEle.find('.pagelayer-row-holder').append(col); var col_id = pagelayer_onadd(col, false); var cEle = pagelayer_ele_by_id(col_id); cEle.click(); }); } // Shortcode Handler var pagelayer_shortcodes_timer; function pagelayer_render_pl_shortcodes(el){ // Clear any previous timeout clearTimeout(pagelayer_shortcodes_timer); // Set a timer for constant change pagelayer_shortcodes_timer = setTimeout(function(){ // Make the call jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_do_shortcodes', type: 'POST', data: { pagelayer_nonce: pagelayer_ajax_nonce, shortcode_data: el.atts['data'] }, success:function(data) { el.$.find('.pagelayer-shortcodes-container').html(data); } }); }, 500); }; // Render the widget area i.e. Sidebars function pagelayer_render_pl_wp_widgets(el){ // Clear any previous timeout clearTimeout(pagelayer_shortcodes_timer); // Set a timer for constant change pagelayer_shortcodes_timer = setTimeout(function(){ // Make the call jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_fetch_sidebar', type: 'POST', data: { pagelayer_nonce: pagelayer_ajax_nonce, sidebar: el.atts['sidebar'] }, success:function(data) { el.$.find('.pagelayer-wp-sidebar-holder').html(data); } }); }, 500); }; function pagelayer_owl_destroy(jEle, slides_class){ var ul = jEle.find(slides_class); var setup = jEle.attr('pagelayer-setup'); // Already setup ? if(setup && setup.length > 0){ if(ul.children('.pagelayer-ele-wrap')){ ul.pagelayerOwlCarousel('destroy'); ul.find('[class^="pagelayer-owl-"]').remove(); jEle.removeAttr('pagelayer-setup'); } } } // Render the google maps v3 function pagelayer_render_pl_google_maps(el){ el.atts['show_v2'] = true; if(pagelayer_empty(el.atts['api_version'])){ el.atts['src_code'] = ''; return; } el.atts['show_v2'] = false; var gmaps_key = (pagelayer_empty(pagelayer_gmaps_key) ? '' : pagelayer_gmaps_key); var api_key = (pagelayer_empty(el.atts['api_key']) ? gmaps_key : el.atts['api_key']); if(el.atts['map_modes'] == 'view'){ el.atts['center'] = pagelayer_empty(el.atts['center']) ? '-33.8569,151.2152' : el.atts['center']; } var src_code = (pagelayer_empty(el.atts['center']) ? '' : '¢er='+el.atts['center'])+(el.atts['map_modes'] == 'streetview' ? '' : '&maptype='+el.atts['map_type']+'&zoom='+el.atts['zoom']); switch(el.atts['map_modes']){ case 'place': src_code += encodeURI('&q='+(pagelayer_empty(el.atts['address']) ? 'New York, New York, USA' : el.atts['address'] )); break; case 'directions': src_code += encodeURI('&origin='+(pagelayer_empty(el.atts['direction_origin']) ? 'Oslow Norway' : el.atts['direction_origin'] )); src_code += encodeURI('&destination='+(pagelayer_empty(el.atts['direction_destination']) ? 'Telemark Norway' : el.atts['direction_destination'] )); src_code += (pagelayer_empty(el.atts['direction_waypoints']) ? '' : '&waypoints='+(el.atts['direction_waypoints'].trim()).split(' ').join('|') ); src_code += (pagelayer_empty(el.atts['direction_modes']) ? '' : '&mode='+el.atts['direction_modes'] ); src_code += (pagelayer_empty(el.atts['direction_avoid']) ? '' : '&avoid='+el.atts['direction_avoid'].split(',').join('|') ); src_code += (pagelayer_empty(el.atts['direction_units']) ? '' : '&units='+el.atts['direction_units'] ); break; case 'streetview': src_code += '&pano='+(pagelayer_empty(el.atts['streetview_pano']) ? 'eTnPNGoy4bxR9LpjjfFuOw' : el.atts['streetview_pano'] ); src_code += '&location='+(pagelayer_empty(el.atts['streetview_location']) ? '46.414382,10.013988' : el.atts['streetview_location'] ); src_code += (pagelayer_empty(el.atts['streetview_heading']) ? '' : '&heading='+el.atts['streetview_heading'] ); src_code += (pagelayer_empty(el.atts['streetview_pitch']) ? '' : '&pitch='+el.atts['streetview_pitch'] ); src_code += (pagelayer_empty(el.atts['streetview_fov']) ? '' : '&fov='+el.atts['streetview_fov'] ); break; case 'search': src_code += encodeURI('&q='+(pagelayer_empty(el.atts['search_term']) ? 'Record stores in Seattle' : el.atts['search_term'] )); break; } var src_code_url = 'https://www.google.com/maps/embed/v1/'+el.atts['map_modes']+'?key='+api_key+src_code; el.atts['src_code'] = ''; } //////////// // Freemium //////////// // Render the excerpt function pagelayer_render_html_pl_post_excerpt(el){ el.$.find('.pagelayer-post-excerpt').addClass('pagelayer-empty-widget'); } // Render the featured image function pagelayer_render_html_pl_featured_img(el){ var param = {}; param['pagelayer_nonce'] = pagelayer_ajax_nonce; // Post Id param['post_id'] = pagelayer_postID; // Image size if('size' in el.atts){ param['size'] = el.atts['size']; } jQuery.ajax({ url: pagelayer_ajax_url+'action=pagelayer_fetch_featured_img', type: 'post', data: param, dataType: 'json', success: function(data){ var src = ''; var title = ''; var alt = ''; if(pagelayer_empty(data)){ src = el.tmp['img-'+el.atts['size']+'-url'] || el.tmp['img-url']; src = src || el.atts['img']; }else{ src = data['url']; alt = data['alt']; title = data['title']; if(el.atts['size']+'-url' in data){ src = data[el.atts['size']+'-url']; } } var img_html = ''; if(src){ img_html = '' + alt + ''; } el.$.find('.pagelayer-featured-img').html(img_html); if('link_type' in el.atts){ // Custom url if(el.atts['link_type'] == 'custom_url'){ el.$.find('a').attr('href', el.tmp['link']); } // Link to the media file itself if(el.atts['link_type'] == 'media_file' || el.atts['link_type'] == 'lightbox'){ el.$.find('a').attr('href', src); } } pagelayer_pl_image(el.$); } }); } // Retina image setting attribute. function pagelayer_get_img_src(el, image_atts){ // Check if retina images is set if(!pagelayer_empty(el.tmp[image_atts.name+'-retina-url']) && el.tmp[image_atts.name+'-retina-url'].includes('default-image') == false){ var retina_image = el.tmp[image_atts.name+'-retina-'+el.atts[image_atts.size]+'-url']; retina_image = pagelayer_empty(retina_image) ? el.tmp[image_atts.name+'-retina-url'] : retina_image; el.atts['pagelayer-srcset'] += retina_image +' 2x, '; } // Check if retina mobile images is set if(!pagelayer_empty(el.tmp[image_atts.name+'-retina-mobile-url']) && el.tmp[image_atts.name+'-retina-mobile-url'].includes('default-image') == false){ var retina_image_mobile = el.tmp[image_atts.name+'-retina-mobile-'+el.atts[image_atts.size]+'-url']; retina_image_mobile = pagelayer_empty(retina_image_mobile) ? el.tmp[image_atts.name+'-retina-mobile-url'] : retina_image_mobile; el.atts['pagelayer-srcset'] += retina_image_mobile +' 3x'; } } ///////////////// // Freemium ///////////////// // If you want to store ajax data then you can use this variable var pagelayer_ajax_data = {}; var pagelayer_posts_data = {}; // Compare two objects function pagelayer_compare_object(obj1, obj2){ var objectsAreSame = true; for(var propertyName in obj1){ if(obj1[propertyName] !== obj2[propertyName]){ objectsAreSame = false; break; } } for(var propertyName in obj2){ if(obj1[propertyName] !== obj2[propertyName]){ objectsAreSame = false; break; } } return objectsAreSame; } // Incase if there is a lightbox function pagelayer_render_end_pl_featured_img(el){ pagelayer_pl_image(el.$); } // Render the archive Posts function pagelayer_render_pl_archive_posts(el){ // Need to do empty el.atts['pagelayer_pagination_top'] = ''; el.atts['pagelayer_pagination_bottom'] = ''; } // Render the archive Posts function pagelayer_render_end_pl_archive_posts(el){ var post = {}; // All atts post['atts'] = JSON.parse(JSON.stringify(el.atts)); post['atts']['pagelayer-id'] = el['id']; // The nonce post['pagelayer_nonce'] = pagelayer_ajax_nonce; var data_handle = function(data){ //console.log(data); var d = jQuery(data); el.$.children(':not(style)').remove(); var child = el.$.append(d.children(':not(style)')); pagelayer_ajax_data[el['id']] = data; } if(pagelayer_empty(pagelayer_posts_data) || !pagelayer_compare_object(pagelayer_posts_data, post) || pagelayer_empty(pagelayer_ajax_data[el['id']])){ pagelayer_posts_data = post; jQuery.ajax({ url: pagelayer_ajax_url+'action=pagelayer_archive_posts_data', type: 'post', data: post, success: data_handle }); }else{ data_handle(pagelayer_ajax_data[el['id']]); } } function pagelayer_apply_megamenu_items(html, menuID, menuEle, eleActive){ if(pagelayer_empty(pagelayer_menus_items_list[menuID])){ return html; } var menu_data = jQuery('
    ').html(html); var $elements = pagelayer_menus_items_list[menuID]; var unset_ele = function(navItem){ var src = jQuery(navItem); var nhtml = src[0].outerHTML; var nEle = jQuery(nhtml); nEle.removeAttr('pagelayer-parent'); nEle.find('[pagelayer-parent]').removeAttr('pagelayer-parent'); nEle.find('style').remove(); nEle.find('.pagelayer-ele-overlay').remove(); // Unwrap the wraps nEle.find('.pagelayer-ele').each(function (){ var ele = jQuery(this); if(ele.parent().is('.pagelayer-ele-wrap')){ ele.unwrap(); } }); return nEle; } for($e in $elements){ var savedHTML = ''; if(pagelayer_empty($elements[$e]['pagelayer_content'])){ continue; } var mID = $elements[$e]['ID']; var navItem = menuEle.find('.pagelayer-mega-editor-'+mID).find('.pagelayer-nav_menu_item').first(); var id = pagelayer_id(menuEle); if(navItem.length > 0 && eleActive){ savedHTML = unset_ele(navItem); }else{ savedHTML = pagelayer_element_unsetup($elements[$e]['pagelayer_content']); } menu_data.find('.pagelayer-mega-editor-'+mID).html(savedHTML[0].outerHTML); } return menu_data.html(); } var pagelayer_nav = {}; var pagelayer_wp_menu_timer; var pagelayer_nav_force_refresh = {}; // Render the Primary menu function pagelayer_render_pl_wp_menu(el){ var jEle = el.$; var menuID = el.atts['nav_list']; var parMenu = jEle.parent().closest('.pagelayer-wp_menu'); var inside_mega = ''; var menu_error = ''; // If we are inside primary menu and have a same menu ID if(parMenu.length > 0){ var parMenuID = pagelayer_get_att(parMenu, 'nav_list'); if(menuID == parMenuID){ pagelayer_show_msg('Not allowed same Menu inside the Primary menu widget!', 'warning'); inside_mega = true; // If parent menu menuID is empty then we prevent menu inside menu }else if(pagelayer_empty(menuID) || pagelayer_empty(parMenuID) ){ menu_error = 'Primary Menu Holder. Please select the correct menu or parent menu.'; inside_mega = true; } } // Set atts for easy rendering in PHP pagelayer_set_atts(jEle, 'inside_mega', inside_mega); if(!pagelayer_empty(inside_mega)){ if(pagelayer_empty(menu_error)){ menu_error = 'Primary Menu Holder. Please select the correct menu.'; } el.atts['nav_menu'] = menu_error; return; } // Setting default toggle icon. If the icon is empty. if(pagelayer_empty(el.atts['menu_toggle_icon'])){ el.atts['menu_toggle_icon'] = 'fas fa-bars'; } // To avoid remove pagelayer id of mega menu item var eleActive = !pagelayer_empty(pagelayer_active.el) && (el.id == pagelayer_active.el.id || jEle.find(pagelayer_active.el.$).length > 0); if(pagelayer_empty(pagelayer_nav[menuID]) || !pagelayer_empty(pagelayer_nav_force_refresh[el.id])){ var pagelayer_nav_items_list = pagelayer_get_nav_items(jEle); var findPar = jEle.find('.pagelayer-wp_menu-ul').parent(); el.atts['nav_menu'] = ''; // Get menu container for the hold place of the menu if(findPar.length > 0){ el.atts['nav_menu'] = findPar[0].outerHTML; } // Clear any previous timeout clearTimeout(pagelayer_wp_menu_timer); // Set a timer for constant change pagelayer_wp_menu_timer = setTimeout(function(){ jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_fetch_primary_menu&postID='+pagelayer_postID, // Send post id to on live mode type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, nav_list: menuID, pagelayer_nav_items: pagelayer_nav_items_list, 'pagelayer-live': 1 }, success: function(data) { //console.log(data); data = pagelayer_apply_megamenu_items(data, menuID, jEle, eleActive); pagelayer_nav[menuID] = data; }, complete: function() { //console.log(data); // Is element html rendered ? var findCont = setInterval( function(){ var container = jEle.find('.pagelayer-wp-menu-container'); if(container.length < 1){ return; } clearInterval(findCont); // Replace the menu HTML container.find('.pagelayer-wp_menu-ul').parent().remove(); container.append(pagelayer_nav[menuID]); var render_ref = pagelayer_render_menu_par; pagelayer_render_menu_par = false; container.find('.pagelayer-ele').each(function(){ var iEle = jQuery(this); if(iEle.parent('.pagelayer-ele-wrap').length > 0){ return; } var id = pagelayer_assign_id(iEle); pagelayer_element_setup('[pagelayer-id="'+id+'"]', true); }); pagelayer_render_menu_par = render_ref; pagelayer_primary_menu(jEle); }, 100); } }); }, 500); }else{ el.atts['nav_menu'] = pagelayer_apply_megamenu_items(pagelayer_nav[menuID], menuID, jEle, eleActive); } pagelayer_nav_force_refresh[el.id] = false; } // Render end the Primary menu function pagelayer_render_end_pl_wp_menu(el){ var jEle = el.$; var render_ref = pagelayer_render_menu_par; pagelayer_render_menu_par = false; // Re-setup the element jEle.find('.pagelayer-ele').each(function(){ var ele = jQuery(this); if(ele.parent('.pagelayer-ele-wrap').length > 0){ return; } var id = pagelayer_assign_id(ele); pagelayer_element_setup('[pagelayer-id="'+id+'"]', true); }); pagelayer_render_menu_par = render_ref; pagelayer_primary_menu(el.$); } // The Primary menu handler on live pagelayer_add_action('pagelayer_primary_menu_setup_end', function(e, jEle){ jEle.find('li.pagelayer-mega-menu-item a > .after-icon').unbind('click'); jEle.unbind('click.mega_menu'); jEle.on('click.mega_menu', 'li.pagelayer-mega-menu-item', function(e){ var target = jQuery(e.target); var mEle = jQuery(this); if(target.closest('.pagelayer-mega-menu').length > 0 || target.closest(mEle).length < 1){ return; } jQuery('.pagelayer-active-mega-menu').each(function(){ var oEle = jQuery(this); if(mEle.is(oEle)){ return; } oEle.removeClass('pagelayer-active-mega-menu'); }); mEle.toggleClass('pagelayer-active-mega-menu'); }); }); var pagelayer_render_menu = {}; var pagelayer_render_menu_par = true; // Render end the Primary menu function pagelayer_render_end_pl_nav_menu_item(el){ if(pagelayer_empty(pagelayer_menus_items_ref[el.atts['ID']])){ return; } var jEle = el.$; if(pagelayer_render_menu_par){ // Render parent clearTimeout(pagelayer_render_menu); pagelayer_render_menu = setTimeout(function(){ var par = jEle.closest('.pagelayer-wp_menu'); var plID = pagelayer_id(par); if(par.length < 1) return; pagelayer_nav_force_refresh[plID] = true; pagelayer_render_menu_par = false; pagelayer_sc_render(par); pagelayer_render_menu_par = true; }, 500); } } var pagelayer_nav_menu_timmer = {} // On nav dirty handler pagelayer_add_action('pagelayer_do_dirty', function(e, jEle){ var navEle = jEle.closest('[pagelayer-tag="pl_nav_menu_item"]'); if(navEle.length < 1){ return; } var itemData = pagelayer_data(navEle); var atts = itemData.atts; var itemID = atts['ID']; if( !(itemID in pagelayer_menus_items_ref) ){ pagelayer_menus_items_ref[itemID] = {}; } var props = pagelayer_get_props(navEle); var menuEle = jEle.closest('.pagelayer-wp_menu'); var plID = pagelayer_id(menuEle); for(var prop in props['settings']){ for(var section in props[prop]){ if(section in atts){ pagelayer_menus_items_ref[itemID][section] = atts[section]; continue; } pagelayer_menus_items_ref[itemID][section] = ''; } } pagelayer_menus_items_ref[itemID]['pagelayer_content'] = navEle; pagelayer_menus_items_ref[itemID]['is_dirty'] = true; var currentID = pagelayer_get_att(menuEle, 'nav_list'); // Prevent unnecessary render jQuery(pagelayer_editable).find('.pagelayer-wp_menu').each(function(){ var mEle = jQuery(this); var mID = pagelayer_get_att(mEle, 'nav_list'); if(currentID != mID){ return; } mEle.attr('pagelayer-click-render', 1); }); menuEle.removeAttr('pagelayer-click-render'); }); // We need to render the original content before we can start editing pagelayer_add_action('pagelayer_element_clicked', function(e, jEle){ var menus = jQuery(pagelayer_editable).find('.pagelayer-wp_menu'); // Prevent unnecessary render if(!jEle.hasClass('pagelayer-wp_menu') || menus.length < 2 || pagelayer_empty(jEle.attr('pagelayer-click-render'))){ return; } jEle.find('[pagelayer-tag="pl_nav_menu_item"]').each(function(){ var cEle = jQuery(this), postID = pagelayer_get_att(cEle, 'ID'); if(!(postID in pagelayer_menus_items_ref)){ return; } var ref_data = pagelayer_menus_items_ref[postID]; if(!('is_dirty' in ref_data) || pagelayer_empty(ref_data['is_dirty'])){ return; } pagelayer_sc_render(jEle); return false; // Break the loop }); }); // Render the post navigation function pagelayer_render_end_pl_post_nav(el){ jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_post_nav&postID='+pagelayer_postID, type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, data: el['atts'], }, async:false, success: function(response){ //console.log(response); var obj = jQuery.parseJSON(response); el.$.find('.pagelayer-prev-post').html(obj['atts']['prev_link']); el.$.find('.pagelayer-next-post').html(obj['atts']['next_link']); } }); } // Render the site title function pagelayer_render_pl_wp_title(el){ //console.log(el.tmp); // Use default logo if(pagelayer_empty(el.atts['logo_img_type'])){ // But is there a default logo if(!pagelayer_empty(pagelayer_site_logo)){ el.atts['func_image'] = pagelayer_site_logo[el.atts['logo_img_size']+'-url'] || pagelayer_site_logo['url']; el.atts['logo_img-title'] = pagelayer_empty(pagelayer_site_logo.title) ? '' : pagelayer_site_logo.title; el.atts['logo_img-alt'] = pagelayer_empty(pagelayer_site_logo.alt) ? '' : pagelayer_site_logo.alt; } // Custom logo }else{ el.atts['func_image'] = el.tmp['logo_img-'+el.atts['logo_img_size']+'-url'] || el.tmp['logo_img-url']; el.atts['func_image'] = pagelayer_empty(el.atts['func_image']) ? el.atts['logo_img'] : el.atts['func_image']; } } // Render the Post comment function pagelayer_render_end_pl_post_comment(el){ var postID = pagelayer_postID; if(el['atts']['post_type'] == 'custom' && el['atts']['post_id']){ postID = el['atts']['post_id']; } jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_post_comment&postID='+postID, type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, }, success: function(response){ el.$.find('.pagelayer-post-comment-container').html(response); } }); } var pagelayer_post_info_timer = {}; // Render the Post info list function pagelayer_render_pl_post_info_list(el){ el.atts['post_info_content'] = 1; // Clear any previous timeout clearTimeout(pagelayer_post_info_timer[el.id]); // Set a timer for constant change pagelayer_post_info_timer[el.id] = setTimeout(function(){ // Make the call jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_post_info&postID='+pagelayer_postID, type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, el: el.atts, }, success: function(response){ var obj = jQuery.parseJSON(response); //console.log(obj);el['atts'] = obj; if( pagelayer_empty(obj['post_info_content']) ){ el.$.find('.pagelayer-post-info-list-container').remove(); return; } el.$.find('.pagelayer-post-info-list-container').show(); el.$.find('.pagelayer-post-info-label').html(obj['post_info_content']); el.$.find('.pagelayer-post-info-icon img').attr('src', obj['avatar_url']); el.$.find('.pagelayer-post-info-list-container > a').attr('href', obj['link']); } }); }, 500); } // Render the Post info list function pagelayer_render_html_pl_post_info_list(el){ el.$.find('.pagelayer-post-info-list-container').hide(); } // Render the contact form function pagelayer_render_pl_contact(el){ // Set post id in atts el.atts['con_post_id'] = pagelayer_postID; el.atts['grecaptcha'] = pagelayer_recaptch_site_key; } // Render the contact form function pagelayer_render_end_pl_contact(el){ jQuery(el.$).find('.pagelayer-recaptcha').each(function(){ var recaptcha = jQuery(this); var widgetID = recaptcha.attr('recaptcha-widget-id'); if( !pagelayer_empty(window.grecaptcha) && (!pagelayer_empty(widgetID) || widgetID == 0) ){ grecaptcha.reset(widgetID); }else{ pagelayer_recaptcha_loader(recaptcha, true); } }); // Showing contact form message in the editor only. if(el.atts['show_msg_box']){ var msgBox = el.$.find('.pagelayer-message-box'); if(el.$.find('.pagelayer-message-box').length==2){ msgBox.eq(0).text('Demo success box'); msgBox.eq(0).addClass('pagelayer-cf-msg-suc'); msgBox.eq(1).text('Demo failed box'); msgBox.eq(1).addClass('pagelayer-cf-msg-err'); } } pagelayer_set_atts(el.$, 'con_post_id', pagelayer_postID); } function pagelayer_render_end_pl_heading(el) { pagelayer_search_widgets(el.$); } function pagelayer_render_end_pl_text(el) { pagelayer_search_widgets(el.$); } // Render the contact form function pagelayer_render_pl_contact_item(el){ var html = ''; var options = ''; var placeholder = ''; var required = ''; if(!pagelayer_empty(el.atts['required'])){ required = 'required'; } if(!pagelayer_empty(el.atts['label_name']) && pagelayer_empty(el.atts['label_as_holder'])){ html = ''; } if(!pagelayer_empty(el.atts['label_as_holder'])){ placeholder = el.atts['label_name']; }else{ if(!pagelayer_empty(el.atts['placeholder'])) placeholder = el.atts['placeholder']; } // File accept var file_accept = '.jpg,.jpeg,.png,.gif,.pdf,.doc,.docx,.ppt,.pptx,.odt,.avi,.ogg,.m4a,.mov,.mp3,.mp4,.mpg,.wav,.wmv'; if(!pagelayer_empty(el.atts['accept_file'])){ file_accept = el.atts['accept_file']; } if(el.atts['field_type'] == 'select'){ html += ''; }else if(el.atts['field_type'] == 'checkbox'){ if(!pagelayer_empty(el.atts['values'])){ options = el.atts['values'].split("\n"); html += '
    '; for(var x in options){ html += '
    '; } html += '
    '; } }else if(el.atts['field_type'] == 'radio'){ if(!pagelayer_empty(el.atts['values'])){ options = el.atts['values'].split("\n"); html += '
    '; for(var x in options){ html += '
    '+options[x].trim()+'
    '; } html += '
    '; } }else if(el.atts['field_type'] == 'textarea'){ html += ''; }else if(el.atts['field_type'] == 'file'){ html += ''; }else if(el.atts['field_type'] == 'label'){ html += ''; }else{ html += ''; } el.atts['fieldhtml'] = html; } // Render the post content function pagelayer_render_pl_post_content(el){ el.atts['post_content'] = 'Post Content Holder'; el.CSS.css.push({'sel': '{{element}} .entry-content', 'val': 'min-height:20px;background-color:#e3e3e3;'}); } // Render the post excertp function pagelayer_render_pl_post_excerpt(el){ el.tmp['post_excerpt'] = '
    '; } // Render the flipbox function pagelayer_render_pl_flipbox(el){ var jEle = el.$; el.atts['func_image'] = el.tmp['heading_image-'+el.atts['heading_image_size']+'-url'] || el.tmp['heading_image-url']; el.atts['func_image'] = el.atts['func_image'] || el.atts['heading_image']; var back = pagelayer_get_att(jEle, 'back_section'); if(back){ jEle.attr('back_section', back); }else{ jEle.removeAttr('back_section', back); } } // Render the Testimonial Slider function pagelayer_render_end_pl_testimonial_slider(el){ pagelayer_owl_destroy(el.$, '.pagelayer-testimonials-holder'); pagelayer_pl_testimonial_slider(el.$); } // Render the countdown function pagelayer_render_pl_countdown(el){ if(pagelayer_empty(el.atts['custom_label_text'])){ el.atts['days_label_text'] = 'Days'; el.atts['hours_label_text'] = 'Hours'; el.atts['minutes_label_text'] = 'Minutes'; el.atts['seconds_label_text'] = 'Seconds'; } } // Render the countdown function pagelayer_render_end_pl_countdown(el){ var jEle = el.$; var exp = pagelayer_get_att(jEle, 'display_expired_text'); if(exp){ jEle.attr('display_expired_text', exp); }else{ jEle.removeAttr('display_expired_text', exp); } pagelayer_countdown(jEle); if(pagelayer_empty(el['atts']['days']) && pagelayer_empty(el['atts']['hours']) && pagelayer_empty(el['atts']['minutes']) && pagelayer_empty(el['atts']['seconds']) ){ jEle.find('.pagelayer-countdown-counter').html('

    Countdown Timer Holder

    '); } } // Render the share function pagelayer_render_pl_share(el){ if('text' in el.atts){ el.atts['icon_label'] = el.atts['text']; return; } var icon = ''; if(!pagelayer_empty(el.atts['icon'])){ var icon_splited = el.atts['icon'].split(' fa-'); icon = icon_splited[1]; } var labelList = { 'Facebook' : ['facebook', 'facebook-official', 'facebook-f', 'facebook-messenger', 'facebook-square'], 'Twitter' : ['twitter', 'twitter-square'], 'Google+' : ['google-plus', 'google-plus-square', 'google-plus-g'], 'Instagram' : ['instagram'], 'Linkedin' : ['linkedin', 'linkedin-square', 'linkedin-in'], 'Pinterest' : ['pinterest', 'pinterest-p', 'pinterest-square'], 'Reddit' : ['reddit-alien', 'reddit-square', 'reddit'], 'Skype' : ['skype'], 'Stumbleupon' : ['stumbleupon', 'stumbleupon-circle'], 'Telegram' : ['telegram', 'telegram-plane'], 'Tumblr' : ['tumblr', 'tumblr-square'], 'VK' : ['vk'], 'Weibo' : ['weibo'], 'WhatsApp' : ['whatsapp', 'whatsapp-square'], 'WordPress' : ['wordpress', 'wordpress-simple'], 'Xing' : ['xing', 'xing-square'], 'Delicious' : ['delicious'], 'Dribbble' : ['dribbble', 'dribbble-square'], 'Snapchat' : ['snapchat-ghost'], 'Pocket' : ['get-pocket'], 'Email' : ['envelope', 'envelope-open', 'envelope-o'] } jQuery.each(labelList, function(key, value){ if(jQuery.inArray(icon, value) != -1){ el.atts['icon_label'] = key; } }); } // Render the share icon function pagelayer_render_end_pl_share(el){ pagelayer_social(el.$, '.pagelayer-share-content'); } // copyright rendering function var pagelayer_copyright; function pagelayer_render_pl_copyright(el){ if(pagelayer_empty(el.atts['copyright_text'])){ return; } pagelayer_copyright = el.atts['copyright_text']; } // Render the animated heading function pagelayer_render_pl_anim_heading(el){ el.atts['rotate_html'] = ''; // Creates html for rotating text if(!pagelayer_empty(el.atts['rotate_text'])){ var rotate_text = ''; rotate_text = el.atts['rotate_text'].split(','); el.atts['rotate_html'] += '
    '; jQuery.each(rotate_text, function(i){ el.atts['rotate_html'] += ''; }); el.atts['rotate_html'] += '
    '; } // Required classes for particular rotate el.atts['rotate_req'] = ''; var letters = ['pagelayer-aheading-rotate2', 'pagelayer-aheading-rotate3', 'type', 'pagelayer-aheading-scale']; if(jQuery.inArray(el.atts['animations'], letters) != -1){ el.atts['rotate_req'] = 'letters '; } if(el.atts['animations'] == 'pagelayer-aheading-clip'){ el.atts['rotate_req'] = 'is-full-width '; } } // Render animated heading function pagelayer_render_end_pl_anim_heading(el){ var jEle = el.$; pagelayer_anim_heading(jEle); } function pagelayer_render_pl_post_title(el){ el['atts']['open_html_tag'] = !pagelayer_empty(el['atts']['html_tag']) ? '<'+el['atts']['html_tag']+'>' : ''; el['atts']['close_html_tag'] = !pagelayer_empty(el['atts']['html_tag']) ? '' : ''; } //////////////// // Freemium End //////////////// PKZFb'plugins/pagelayer/js/pagelayer-admin.jsnu[// Lets start jQuery(document).ready(function(){ var pl_admin_tabs = function(sel){ jQuery('.nav-tab-wrapper a').click(function(){ var tEle = jQuery(this); var sel = tEle.attr('tab-class') || 'pagelayer-tab-panel'; // Limit effect to the container element. var context = tEle.closest('.nav-tab-wrapper').parent().parent(); context.find('.nav-tab-wrapper a').removeClass('nav-tab-active'); tEle.addClass('nav-tab-active'); context.find('.'+sel).hide(); context.find(tEle.attr('href')).show(); location.hash = tEle.attr('href')+'_tab'; return false; }); // Make setting nav-tab-active optional. jQuery('.nav-tab-wrapper.pagelayer-wrapper').each(function(){ var jEle = jQuery(this); var hash = location.hash.slice(1, -4); if(hash){ var active_tab_ele = jEle.find('[href="#'+hash+'"]'); if (active_tab_ele.length > 0){ active_tab_ele.click(); return; } } var first = jEle.find('a').first(); first.click(); }); } var pl_admin_accordion = function(){ jQuery('.pagelayer-acc-wrapper .pagelayer-acc-tab').click(function(){ var tEle = jQuery(this); if(tEle.hasClass('nav-tab-active')){ tEle.toggleClass('nav-tab-active').next('.pagelayer-acc-panel').toggle(); }else{ // Limit effect to the container element. var context = tEle.closest('.pagelayer-acc-wrapper '); context.find('.pagelayer-acc-tab').removeClass('nav-tab-active'); context.find('.pagelayer-acc-panel').hide(); tEle.addClass('nav-tab-active'); tEle.next('.pagelayer-acc-panel').show(); } }); // Make setting nav-tab-active optional. jQuery('.pagelayer-acc-wrapper').each(function(){ var jEle = jQuery(this); var active_acc_ele = jEle.find('nav-tab-active'); if (active_acc_ele.length > 0){ active_acc_ele.click(); }else{ jEle.find('.pagelayer-acc-tab').first().click(); } }); } pl_admin_tabs(); pl_admin_accordion(); });PKZҖ9d(plugins/pagelayer/js/imagesloaded.min.jsnu[/*! * imagesLoaded PACKAGED v4.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ !function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o -1){ continue section_loop1; } } } var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section]; // In case of widgets its possible ! if(pagelayer_empty(props)){ continue; } for(var x in props){ var prop = props[x]; // Any prop to skip ? if(!pagelayer_empty(all_props['skip_props']) && jQuery.inArray(x, all_props['skip_props']) > -1){ pagelayer_delete_atts(x); continue; } // Are we to set this value ? if(!(x in ret.atts) && 'default' in prop && !pagelayer_empty(prop['default'])){ // We need to make sure its not a PRO value if(!('pro' in prop && pagelayer_empty(pagelayer_pro))){ var tmp_val = prop['default']; // If there is a unit and there is no unit suffix in atts value if('units' in prop){ if(jQuery.isNumeric(tmp_val)){ tmp_val = tmp_val+prop['units'][0]; }else{ var sep = 'sep' in prop ? prop['sep'] : ','; var tmp2 = tmp_val.split(sep); for(var k in tmp2){ if(jQuery.isNumeric(tmp2[k])){ tmp2[k] = tmp2[k]+prop['units'][0]; } } tmp_val = tmp2.join(sep); } } //console.log(x+' - '+tmp_val); ret.set[x] = tmp_val; } } if(!('req' in prop)){ continue; } //console.log('[pagelayer_data] Cleaning :'+x); // List of considerations var show = prop['req']; // We will hide by default var toShow = true; for(var showParam in show){ var reqval = show[showParam]; var except = showParam.substr(0, 1) == '!' ? true : false; showParam = except ? showParam.substr(1) : showParam; var val = ret.atts[showParam] || ''; //console.log('Show '+x+' '+showParam+' '+reqval+' '+val); // Is the value not the same, then we can show if(except){ if(typeof reqval == 'string' && reqval == val){ toShow = false; break; } // Its an array and a value is found, then dont show if(typeof reqval != 'string' && reqval.indexOf(val) > -1){ toShow = false; break; } // The value must be equal }else{ if(typeof reqval == 'string' && reqval != val){ toShow = false; break; } // Its an array and no value is found, then dont show if(typeof reqval != 'string' && reqval.indexOf(val) === -1){ toShow = false; break; } } } // Are we to show ? if(!toShow){ //console.log('Delete : '+x); pagelayer_delete_atts(x); } } } } } return ret; }; // Setup the properties function pagelayer_elpd_setup(){ // The Dialag box of the element properties // pagelayer-ELPD - Element Properties Dialog pagelayer_elpd_html = '
    '+ '
    Settings
    '+ //'
    Style
    '+ '
    Options
    '+ '
    Advanced
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ '
    '+ '
    '; // Create the dialog box pagelayer.$$('#pagelayer-elpd').append(pagelayer_elpd_html); pagelayer_elpd = pagelayer.$$('#pagelayer-elpd'); pagelayer.$$('.pagelayer-elpd-close').on('click', function(){ pagelayer_leftbar_tab('pagelayer-shortcodes'); pagelayer.$$('[pagelayer-widget-tab="widgets"]').click(); pagelayer.$$('.pagelayer-elpd-header').hide(); pagelayer.$$('.pagelayer-logo').show(); pagelayer.$$('.pagelayer-elpd-body').removeAttr('pagelayer-element-id').empty(); pagelayer_active = {}; }); // Copy pagelayer.$$('.pagelayer-elpd-options>.pli-clone').on('click', function(){ pagelayer_copy_element(pagelayer_active.el.$); }); // Delete pagelayer.$$('.pagelayer-elpd-options>.pli-trashcan').on('click', function(){ pagelayer_delete_element(pagelayer_active.el.$); //pagelayer.$$('.pagelayer-elpd-close').click(); }); // The advanced props pagelayer_elpd.find('.pagelayer-advanced-props').on('click', function(e){ e.preventDefault(); e.stopPropagation(); var propsModal = pagelayer.$$('.pagelayer-props-modal'); if(propsModal.find('.pagelayer-meta-iframe').length < 1){ propsModal.find('.pagelayer-props-wrap').append(''); propsModal.find('.pagelayer-meta-iframe').load(function(){ propsModal.find('.pagelayer-props-loading-screen').hide(); propsModal.find('.pagelayer-props-modal-close').css('visibility','visible'); jQuery(this).show(); }); } propsModal.show(); pagelayer.$$('.pagelayer-meta-iframe').contents().find('.pagelayer-tab-items[data-tab="post_props"]').click(); }); // The tabs pagelayer_elpd.find('.pagelayer-elpd-tab').on('click', function(){ var jEle = jQuery(this); var attr = 'pagelayer-elpd-active-tab'; var tab = jEle.attr('pagelayer-elpd-tab'); if(tab == 'advanced'){ return; } pagelayer_elpd.find('.pagelayer-elpd-tab').each(function(){ jQuery(this).removeAttr(attr); }); jEle.attr(attr, 1); // Trigger the showing of rows pagelayer_elpd_show_rows(); }); }; // Open the properties function pagelayer_elpd_open(jEle){ // Set pagelayer history FALSE pagelayer.history_action = false; // Set the position of the element and show //pagelayer_elpd.css('left', pagelayer_elpd_pos[0]); //pagelayer_elpd.css('top', pagelayer_elpd_pos[1]); pagelayer_leftbar_tab('pagelayer-elpd'); pagelayer.$$('[pagelayer-elpd-tab=settings]').show(); pagelayer.$$('.pagelayer-elpd-header').show(); pagelayer.$$('.pagelayer-logo').hide(); // The property holder var holder = pagelayer.$$('.pagelayer-elpd-body'); holder.html(' '); var el = pagelayer_elpd_generate(jEle, holder); // Set the active element pagelayer_active.el = el; // Set the header pagelayer.$$('.pagelayer-elpd-title').html('Edit '+pagelayer_shortcodes[el.tag]['name']); // Set pagelayer history TRUE pagelayer.history_action = true; // Render tooltips for the ELPD pagelayer_tooltip_setup(); }; // Show the properties window function pagelayer_elpd_generate(jEle, holder){ // Get the id, tag, atts, data, etc var el = pagelayer_data(jEle); //console.log(el); // Is it a valid type ? if(pagelayer_empty(pagelayer_shortcodes[el.tag])){ pagelayer_error('Could not find this shortcode : '+el.tag); return; } // Set the holder holder.attr('pagelayer-element-id', el.id); //console.log(el.id); var all_props = pagelayer_shortcodes[el.tag]; var sec_open_class = 'pagelayer-elpd-section-open'; for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; var section_close = false;// First section always open section_loop2: for(var section in all_props[tab]){ //console.log(tab+' '+section); // Any section to skip by post type ? if(!pagelayer_empty(all_props['post_type_cats'])){ for(var post_type in all_props['post_type_cats']){ if(pagelayer_post.post_type != post_type && jQuery.inArray(section, all_props['post_type_cats'][post_type]) > -1){ continue section_loop2; } } } var props = section in pagelayer_shortcodes[el.tag] ? pagelayer_shortcodes[el.tag][section] : pagelayer_styles[section]; //console.log(props); var sec = jQuery('
    '+ '
    '+all_props[tab][section]+'
    '+ '
    '+ '
    '); holder.append(sec); // The row holder sec = sec.find('.pagelayer-elpd-section-rows'); // Close all except the first section if(section_close){ sec.hide().prev().removeClass(sec_open_class); } section_close = true; if('widget' in all_props && section == 'params'){ pagelayer_elpd_widget_settings(el, sec, true); continue; } var mode = pagelayer_get_screen_mode(); // Reset / Create the cache for(var x in props){ props[x]['c'] = new Object(); props[x]['c']['val'] = '';// Blank Val props[x]['c']['name'] = x;// Add the Name of the row i.e. attribute of the element var prop_name = x; // Do we have screen ? if('screen' in props[x] && mode != 'desktop'){ prop_name = x +'_'+mode; } // Set default to value of attribute if any if(prop_name in el.atts){ props[x]['c']['val'] = el.atts[prop_name]; } // Set element props[x]['el'] = el; // Any prop to skip ? if(!pagelayer_empty(all_props['skip_props']) && jQuery.inArray(x, all_props['skip_props']) > -1){ continue; } // Add the row pagelayer_elpd_row(sec, tab, section, props, x); } // Hide empty sections if(sec.html().length < 1){ //console.log(section+' - '+sec.html().length); sec.parent().remove(); } } } /*// Set the default values in the PROPERTIES var fn_load = window['pagelayer_load_elp_'+el.tag]; if(typeof fn_load == 'function'){ fn_load(el, props); }*/ // Hide clone and delete options if(!pagelayer_empty(all_props['hide_active']) && (pagelayer_empty(pagelayer_active.el) || pagelayer_active.el.id == el.id)){ pagelayer.$$('.pagelayer-elpd-options').addClass('pagelayer-hidden'); }else{ pagelayer.$$('.pagelayer-elpd-options').removeClass('pagelayer-hidden'); } // Add Advanced settings options for the props if(el.tag == 'pl_post_props'){ pagelayer.$$('.pagelayer-elpd-tab[pagelayer-elpd-tab="advanced"]').removeClass('pagelayer-hidden'); }else{ pagelayer.$$('.pagelayer-elpd-tab[pagelayer-elpd-tab="advanced"]').addClass('pagelayer-hidden'); } // Section open close holder.find('>.pagelayer-elpd-section>.pagelayer-elpd-section-name').on('click', function(){ var _sec = jQuery(this); var par = _sec.parent(); pagelayer_active_tab.id = el.id; pagelayer_active_tab.section = par.attr('section'); // Get the active tab var active_tab = pagelayer_elpd.find('[pagelayer-elpd-active-tab]').attr('pagelayer-elpd-tab'); // Close all but dont touch yourself holder.children().each(function (){ var curSec = jQuery(this); if(par.is(curSec)) return;// Skip the current option if(curSec.attr('pagelayer-show-tab') != active_tab) return;// Skip the non active tabs as is curSec.find('.pagelayer-elpd-section-rows').hide().prev().removeClass(sec_open_class); }); // Now toggle your self par.find('.pagelayer-elpd-section-rows').toggle(); if(_sec.next().is(':visible')){ _sec.addClass(sec_open_class); }else{ _sec.removeClass(sec_open_class); } }); if(!pagelayer_empty(pagelayer_active_tab) && pagelayer_active_tab.id == el.id){ holder.find('>[section='+pagelayer_active_tab.section+']>.pagelayer-elpd-section-name').click(); } // Handle the showing of rows pagelayer_elpd_show_rows(); return el; }; // Show a row function pagelayer_elpd_row(holder, tab, section, props, name){ // The Prop var prop = props[name]; //console.log(tab+' '+name+' '+prop.el.tag); var fn = window['pagelayer_elp_'+prop['type']]; if(typeof fn == 'function'){ var row = jQuery('
    '); // Append the row holder.append(row); return pagelayer_elpd_render_row(row, prop); } }; // Render a row function pagelayer_elpd_render_row(row, prop){ var fn = window['pagelayer_elp_'+prop['type']]; if('group' in prop){ row.attr('pagelayer-access-item', prop.group); } var fn_ui = window['pagelayer_elp_'+prop['type']+'_ui']; // Is there a UI Handler ? if(typeof fn_ui == 'function'){ fn_ui(row, prop); // Use the default mechanism }else{ // The label pagelayer_elp_label(row, prop); // The main property fn(row, prop); // Showing default button or not if(pagelayer_properties_filter(prop['type']) && pagelayer_empty(row.find('.pagelayer-pro-req').length)){ pagelayer_show_default_button(row, prop, prop.c['val']); } // Is there a description ? if(!pagelayer_empty(prop['desc'])){ pagelayer_elp_desc(row, prop['desc']); } } if('script' in prop){ row.append(''); } return row; } // Show the rows as per the active tab and also handle the rows that are supposed to be shown or not function pagelayer_elpd_show_rows(){ //console.log('Called'); // Get the active tab var active_tab = pagelayer_elpd.find('[pagelayer-elpd-active-tab]').attr('pagelayer-elpd-tab'); pagelayer_elpd.find('[pagelayer-show-tab]').each(function(){ var sec = jQuery(this); // Is it the active tab ? if(sec.attr('pagelayer-show-tab') != active_tab){ sec.hide(); }else{ sec.show(); } }); // Find all Elements in the Property dialog and loop pagelayer_elpd.find('[pagelayer-element-id]').each(function(){ var holder = jQuery(this); var id = holder.attr('pagelayer-element-id'); var jEle = pagelayer_ele_by_id(id); var tag = pagelayer_tag(jEle); //console.log('Main : '+id+' - '+tag); //console.log(pagelayer_active); // All props var all_props = pagelayer_shortcodes[tag]; // Loop through all props for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section]; for(var x in props){ var prop = props[x]; // If the prop is a group, we continue if(prop['type'] == 'group'){ continue; } // Find the row var row = false; holder.find('[pagelayer-elp-name="'+x+'"]').each(function(){ var j = jQuery(this); var _id = j.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); //console.log(_id+' = '+id); // Is the parent the same ? if(_id == id){ row = j; } }); // Do you have a show or hide ? if(!row){ //console.log('Not Found : '+x+' - '+id); continue; } // Is the row visible ? if(row.closest('[pagelayer-show-tab]').attr('pagelayer-show-tab') != active_tab){ row.hide(); continue; } // Now lets show or hide the element if(!('req' in prop || 'show' in prop)){ row.show(); continue; } // List of considerations var show = {}; // We have both req and show, so lets just combine the values and then show // NOTE : We need to make an array and not just merge the 2 as they are references if('req' in prop && 'show' in prop){ // Add the req values show = JSON.parse(JSON.stringify(prop['req'])); // Now the show values need to be looped for(var t in prop['show']){ show[t] = prop['show'][t]; } }else{ show = 'req' in prop ? prop['req'] : prop['show']; } // We will hide by default var toShow = true; for(var showParam in show){ var reqval = show[showParam]; var except = showParam.substr(0, 1) == '!' ? true : false; showParam = except ? showParam.substr(1) : showParam; var val = pagelayer_get_att(jEle, showParam) || ''; //console.log('Show '+x+' '+showParam+' '+reqval+' '+val); // Is the value not the same, then we can show if(except){ if(typeof reqval == 'string' && reqval == val){ toShow = false; break; } // Its an array and a value is found, then dont show if(typeof reqval != 'string' && reqval.indexOf(val) > -1){ toShow = false; break; } // The value must be equal }else{ if(typeof reqval == 'string' && reqval != val){ toShow = false; break; } // Its an array and no value is found, then dont show if(typeof reqval != 'string' && reqval.indexOf(val) === -1){ toShow = false; break; } } } // Are we to show ? if(toShow){ row.show(); }else{ row.hide(); } } } } }); }; var pagelayer_widget_timer; var pagelayer_widget_cache = {}; // Load the widget settings function pagelayer_elpd_widget_settings(el, sec, onfocus){ var show_form = function(html){ sec.html('
    '+html+'
    '); // Handle on form data change sec.find('form :input').on('change', function(){ //console.log('Changed !'); // Clear any previous timeout clearTimeout(pagelayer_widget_timer); // Set a timer for constant change pagelayer_widget_timer = setTimeout(function(){ pagelayer_elpd_widget_settings(el, sec); //console.log('Calling'); }, 500); }); } // Is it onfocus ? onfocus = onfocus || false; // Its an onfocus if(onfocus && el.id in pagelayer_widget_cache){ show_form(pagelayer_widget_cache[el.id]); return true; } var post = {}; post['action'] = 'pagelayer_wp_widget'; post['pagelayer_nonce'] = pagelayer_ajax_nonce; post['tag'] = el.tag; post['pagelayer-id'] = el.id; // Any atts ? if('widget_data' in el.atts){ post['widget_data'] = el.atts['widget_data']; } // Post any existing data var form = sec.find('form'); // Archive widget checkbox fix var inputCheckbox = form.find('input[type=checkbox]'); for(var i=0; i 0){ //console.log(form.serialize()); post['values'] = form.serialize(); } jQuery.ajax({ url: pagelayer_ajax_url, type: 'post', data: post, success: function(data) { //console.log('Widget Data');console.log(data); // Show the form if('form' in data){ show_form(data['form']); // Store in cache pagelayer_widget_cache[el.id] = data['form']; } // Show the content if('html' in data){ el.$.html(data['html']); pagelayer_sc_render(el.$);// Re-Render the CSS } // Any set attributes ? if('widget_data' in data){ pagelayer_set_atts(el.$, 'widget_data', JSON.stringify(data['widget_data'])); } }, fail: function(data) { pagelayer_show_msg('Some error occured in getting the widget data', 'error'); } }); } // Will set the attribute and also render function _pagelayer_set_atts(row, val, no_default){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var jEle = jQuery('[pagelayer-id='+id+']'); var tag = pagelayer_tag(jEle); var prop_name = row.attr('pagelayer-elp-name'); var prop = pagelayer.props_ref[tag][prop_name]; // Is there a unit ? var uEle = row.find('.pagelayer-elp-units'); if(uEle.length > 0 && !pagelayer_empty(val)){ var unit = uEle.find('[selected]').html(); if(Array.isArray(val)){ for(var i in val){ if(val[i].length < 1){ continue; } val[i] = val[i]+unit; } }else{ val = val+unit; } } // Are we in another mode ? var mode = ('screen' in prop && pagelayer_get_screen_mode() != 'desktop') ? '_'+pagelayer_get_screen_mode() : ''; pagelayer_set_atts(jEle, prop_name+mode, val); // Are we to skip setting defaults ? no_default = no_default || false; if(!no_default){ // We need to set defaults for dependents var hasSet = pagelayer_set_default_atts(jEle, 5); // We need to reopen the left panel // Note : If two simultaneous calls are made, then this will cause problems // Also after this is called, ROW is destroyed and no other row related stuff will work i.e. set_atts in the same calls will fail if(hasSet){ pagelayer_elpd_open(jEle); } } //console.trace();console.log('Setting Attr'); // Render pagelayer_sc_render(jEle); // Show default button or not if(pagelayer_properties_filter(prop) && pagelayer_empty(row.find('.pagelayer-pro-req').length)){ pagelayer_show_default_button(row, prop, val); } if('onchange' in prop){ var fn = window[prop['onchange']]; if(typeof fn === 'function'){ fn(jEle, row, val); } } }; // Will set the attribute but not render function _pagelayer_set_tmp_atts(row, suffix, val){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var jEle = jQuery('[pagelayer-id='+id+']'); pagelayer_set_tmp_atts(jEle, row.attr('pagelayer-elp-name')+(suffix.length > 0 ? '-'+suffix : ''), val); }; // Will clear the attribute but not render function _pagelayer_clear_tmp_atts(row){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var jEle = jQuery('[pagelayer-id='+id+']'); pagelayer_clear_tmp_atts(jEle, row.attr('pagelayer-elp-name')); }; // Get the attribute of images only function _pagelayer_img_tmp_atts(row){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var jEle = jQuery('[pagelayer-id='+id+']'); return pagelayer_img_tmp_atts(jEle, row.attr('pagelayer-elp-name')); }; // Get the tmp att function _pagelayer_get_tmp_att(row, suffix){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var jEle = jQuery('[pagelayer-id='+id+']'); return pagelayer_get_tmp_att(jEle, row.attr('pagelayer-elp-name')+'-'+suffix); }; // Create the Label function pagelayer_elp_label(row, prop){ row.append('
    '); var label = row.children('.pagelayer-elp-label-div'); // Do we have screen ? if('screen' in prop){ var mode = pagelayer_get_screen_mode(); var screen = '
    '+ ''+ ''+ ''+ ''+ '
    '; label.append(screen); // Set screen mode on change label.find('.pli:not(.pagelayer-prop-screen)').on('click', function(){ var mode = 'desktop'; var jEle = jQuery(this); // Tablet ? if(jEle.hasClass('pli-tablet')){ mode = 'tablet'; } // Mobile ? if(jEle.hasClass('pli-mobile')){ mode = 'mobile'; } pagelayer_set_screen_mode(mode); label.find('.pagelayer-elp-screen .pli').removeClass('open'); }); // On change of screen handle the values label.find('.pagelayer-elp-screen').on('pagelayer-screen-changed', function(e){ label.find('.pagelayer-elp-screen .pli').removeClass('open'); var mode = pagelayer_get_screen_mode(); var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'}; // Get the current current new val prop.c['val'] = pagelayer_get_att(prop.el.$, prop.c['name']+modes[mode]); // Handle the amount if(pagelayer_empty(prop.c['val'])){ prop.c['val'] = ''; } // Remove the siblings label.siblings().each(function(){ var j = jQuery(this); if(j.hasClass('pagelayer-elp-desc')){ return; } j.remove(); }); // Create the vals again var fn = window['pagelayer_elp_'+prop['type']]; // The main property fn(row, prop); }); label.find('.pagelayer-elp-screen .pagelayer-prop-screen').on('click', function(e){ jQuery(this).siblings().toggleClass('open'); }) } // Do we have pro version requirement ? if('pro' in prop && pagelayer_empty(pagelayer_pro)){ var txt = prop['pro'].length > 1 ? prop['pro'] : pagelayer.pro_txt; var pro = jQuery('
    Pro
    '); pro.attr('data-tlite', txt); label.append(pro); } // Do we have units ? if('units' in prop){ var units = ''; var tmp_val = prop.c['val']; var default_unit = 0; // Get unit from value if(!(pagelayer_empty(tmp_val))){ for(var i in prop['units']){ if(pagelayer_is_string(tmp_val) && tmp_val.search(prop['units'][i]) != -1){ default_unit = i; }else if(tmp_val[0].search(prop['units'][i]) != -1 ){ default_unit = i; } } } for(var i in prop['units']){ units += ''+prop['units'][i]+''; } label.append('
    '+units+'
    '); // Set unit on change label.find('.pagelayer-elp-units span').on('click', function(){ label.find('.pagelayer-elp-units span').each(function(){ jQuery(this).removeAttr('selected'); }); jQuery(this).attr('selected', 1); }); } // Include default button if(pagelayer_properties_filter(prop['type']) && pagelayer_empty(row.find('.pagelayer-pro-req').length)){ var defaultButton = ''; label.append(defaultButton); label.find('.pagelayer-elp-default').on('click', function(){ prop.c['val'] = ('default' in prop) ? prop.default : ''; _pagelayer_set_atts(row, prop.c['val']); jQuery(this).attr('data_show',false); // Empty the row row.html(''); // Re-render the row pagelayer_elpd_render_row(row, prop); }); } }; // Create the Description function pagelayer_elp_desc(row, label){ row.append('
    '+label+'
    '); }; // The Text property function pagelayer_elp_text(row, prop){ var div = '
    '+ ''+ '
    '; row.append(div); row.find('input').on('input', function(){ _pagelayer_set_atts(row, jQuery(this).val());// Save and Render }); }; // The Select property function pagelayer_elp_select(row, prop){ var options = ''; var option = function(val, lang){ var selected = (val != prop.c['val']) ? '' : 'selected="selected"'; return ''; } for (x in prop['list']){ // Single item if(typeof prop['list'][x] == 'string'){ options += option(x, prop['list'][x]); // Groups }else{ options += ''; for(var y in prop['list'][x]){ options += option(y, prop['list'][x][y]); } options += ''; } } var div = '
    '+ ''+ '
    '; row.append(div); row.find('select').on('change', function(){ var sEle = jQuery(this); if(sEle.attr('name') == "animation"){ _pagelayer_trigger_anim(row, sEle.val()); } _pagelayer_set_atts(row, sEle.val());// Save and Render }); } // The MultiSelect property function pagelayer_elp_multiselect(row, prop){ var selection = []; if(!pagelayer_empty(prop.c['val'])){ //selection = JSON.parse(prop.c['val']); selection = prop.c['val'].split(','); } var options = ''; var option = function(val, lang){ var selected = (jQuery.inArray(val,selection) == -1 ? '' : 'selected="selected"'); return '
  • '+lang+'
  • '; } var show_sel = function(val){ var sel_html = ''; jQuery.each(val, function(index, value){ sel_html += ''+prop['list'][value]+' x'; }); return sel_html; } var setup_remove = function(){ row.find('.pagelayer-elp-multiselect-remove').on('click', function(){ var sVal = jQuery(this).parent().attr('data-val'); row.find('.pagelayer-elp-multiselect-option[data-val='+sVal+']').click(); }); } for (x in prop['list']){ options += option(x, prop['list'][x]); } var div = '
    '+ '
    '+show_sel(selection)+'
    '+ '
      '+options+'
    '+ '
    '; row.append(div); setup_remove(); row.find('.pagelayer-elp-multiselect-option').on('click', function(){ var sVal = jQuery(this).attr('data-val'); if(jQuery.inArray(sVal,selection) == -1){ selection.push(sVal); row.find('[data-val="'+sVal+'"]').attr('selected','selected'); }else{ selection.splice(jQuery.inArray(sVal,selection),1); row.find('[data-val="'+sVal+'"]').removeAttr('selected'); } //_pagelayer_set_atts(row,JSON.stringify(selection));// Save and Render _pagelayer_set_atts(row, selection.join(','));// Save and Render row.find('.pagelayer-elp-multiselect').html(show_sel(selection)); setup_remove(); }); // Open the selector row.find('.pagelayer-elp-multiselect').on('click', function(){ row.find('.pagelayer-elp-multiselect-ul').slideToggle(100); }); } function _pagelayer_trigger_anim(row, anim){ var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id'); var classList = jQuery('[pagelayer-id='+id+']').attr('class'); classList = classList.split(/\s+/); //console.log(classList); var options = []; row.find('option').each(function(){ var found = jQuery.inArray( jQuery(this).val(), classList ); if( found != -1){ //var found = jQuery(this).val(); jQuery('[pagelayer-id='+id+']').removeClass(jQuery(this).val()); //break; } //options.push(jQuery(this).val()); }); jQuery('[pagelayer-id='+id+']').removeClass('pagelayer-wow').addClass(anim + ' animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){ jQuery(this).removeClass(anim+ ' animated'); }); } // The Checkbox property function pagelayer_elp_checkbox(row, prop){ var div = '
    '+ ''+ '
    '; row.append(div); if(prop.c['val'].length > 0){ row.find('input').attr('checked', 'checked'); }else{ row.find('input').removeAttr('checked'); } // When the change is called row.find('input').on('change', function(){ // We set to string true or false var val = jQuery(this).is(':checked') ? 'true' : ''; _pagelayer_set_atts(row, val);// Save and Render }); } // The Radio property function pagelayer_elp_radio(row, prop){ var active = 'pagelayer-elp-radio-active'; var div = '
    '; for(var x in prop.list){ var addclass = (prop.c['val'] == x) ? active : ''; div += ''+prop.list[x]+''; } div += '
    '; row.append(div); row.find('.pagelayer-elp-radio').each(function(){ jQuery(this).on('click', function (){ // Remove existing active class jQuery(this).parent().find('.'+active).removeClass(active); // Set active jQuery(this).addClass(active); _pagelayer_set_atts(row, jQuery(this).attr('val'));// Save and Render }); }); } // The Image Property function pagelayer_elp_image(row, prop){ var imgObj = {}; var isRetina = false; // Is retina images options? if('retina' in prop && !pagelayer_empty(prop['retina'])){ isRetina = true; } // Previously saved values if(typeof prop.c['val'] === 'object'){ imgObj = prop.c['val']; }else{ imgObj['img'] = prop.c['val']; } var tmp = prop.c['name']+'-url'; var def = pagelayer.blank_img; // Background image URls var src = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : ((!pagelayer_empty(imgObj['img']) && String(imgObj['img']).search(/http(|s):\/\//i) == 0) ? imgObj['img'] : def ); // Do we have a URL set ? var style = 'style="background-image:url(\''+src+'\')"'; var div = '
    '+ '
    '+ '
    '+ ''+ '

    '+pagelayer_l('drop_file')+'

    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '; // Retina image icon if(isRetina){ div += '
    '; } div +='
    '; // Add retina images option if(isRetina){ var tmp_retina = prop.c['name']+'-retina-url'; var tmp_retina_mobile = prop.c['name']+'-retina-mobile-url'; var srcRetina = (tmp_retina in prop.el.tmp) ? prop.el.tmp[tmp_retina] : (('retina' in imgObj && !pagelayer_empty(imgObj['retina']) && String(imgObj['retina']).search(/http(|s):\/\//i) == 0) ? imgObj['retina'] : def ); var srcRetinaMobile = (tmp_retina_mobile in prop.el.tmp) ? prop.el.tmp[tmp_retina_mobile] : (('retina_mobile' in imgObj && !pagelayer_empty(imgObj['retina_mobile']) && String(imgObj['retina_mobile']).search(/http(|s):\/\//i) == 0) ? imgObj['retina_mobile'] : def ); var style_retina = 'style="background-image:url(\''+srcRetina+'\')"'; var style_retina_mobile = 'style="background-image:url(\''+srcRetinaMobile+'\')"'; div +=''+ ''+ '
    '+ ''+ ''+ '
    '+ ''; } row.append(div); if(def == src && jQuery.isNumeric(imgObj['img'])){ wp.media.attachment(imgObj['img']).fetch().then(function (data){ var fetch_url = wp.media.attachment(imgObj['img']).get('url') row.find('.pagelayer-elp-image-div .pagelayer-elp-image').css('background-image', 'url(\''+fetch_url+'\')'); _pagelayer_set_tmp_atts(row, 'url', fetch_url); }).fail(function(){ row.find('.pagelayer-elp-image-div .pagelayer-elp-image').css('background-image', 'url(\''+src+'\')') }); } if(isRetina){ if(def == srcRetina && 'retina' in imgObj && jQuery.isNumeric(imgObj['retina'])){ wp.media.attachment(imgObj['retina']).fetch().then(function (data){ var fetch_url = wp.media.attachment(imgObj['retina']).get('url') row.find('.pagelayer-retina').css('background-image', 'url(\''+fetch_url+'\')'); _pagelayer_set_tmp_atts(row, 'retina-url', fetch_url); }).fail(function(){ row.find('.pagelayer-retina').css('background-image', 'url(\''+srcRetina+'\')') }); } if(def == srcRetinaMobile && 'retina_mobile' in imgObj && jQuery.isNumeric(imgObj['retina_mobile'])){ wp.media.attachment(imgObj['retina_mobile']).fetch().then(function (data){ var fetch_url = wp.media.attachment(imgObj['retina_mobile']).get('url') row.find('.pagelayer-retina-mobile').css('background-image', 'url(\''+fetch_url+'\')'); _pagelayer_set_tmp_atts(row, 'retina-mobile-url', fetch_url); }).fail(function(){ row.find('.pagelayer-retina-mobile').css('background-image', 'url(\''+srcRetinaMobile+'\')') }); } } var getImgVal = function(val){ if(typeof val === 'object' && pagelayer_length(val) == 1 && 'img' in val){ return val['img']; } return val; } // Set an Image row.find('.pagelayer-elp-image').on('click', function(){ var button = jQuery(this); var inRetina = button.hasClass('pagelayer-retina'); var inRetinaM = button.hasClass('pagelayer-retina-mobile'); // Load the frame var frame = pagelayer_select_frame('image'); // On select update the stuff frame.on({ 'select': function(){ var state = frame.state(); var id = url = ''; // External URL if('props' in state){ id = url = pagelayer_parse_theme_vars(state.props.attributes.url); // Internal from gallery }else{ var attachment = frame.state().get('selection').first().toJSON(); // Set the new ID and URL id = attachment.id; url = attachment.url; var old = _pagelayer_img_tmp_atts(row); //console.log(attachment); if(inRetina){ // To remove past temp attr so that they are not involve in future temp values delete old[prop.c['name']+'-retina-url']; // Keep a list of all sizes for(var x in attachment.sizes){ _pagelayer_set_tmp_atts(row, 'retina-'+x+'-url', attachment.sizes[x].url); delete old[prop.c['name']+'-retina-'+x+'-url']; } for(var x in old){ // Skip for retina and with url atts if(! x.endsWith('-url') || !x.startsWith(prop.c['name']+'-retina') || x.startsWith(prop.c['name']+'-retina-mobile')){ continue; } _pagelayer_set_tmp_atts(row, x, ''); } }else if(inRetinaM){ // To remove past temp attr so that they are not involve in future temp values delete old[prop.c['name']+'-retina-mobile-url']; // Keep a list of all sizes for(var x in attachment.sizes){ _pagelayer_set_tmp_atts(row, 'retina-mobile-'+x+'-url', attachment.sizes[x].url); delete old[prop.c['name']+'-retina-mobile-'+x+'-url']; } for(var x in old){ // Skip for retina and with url atts if(! x.endsWith('-url') || ! x.startsWith(prop.c['name']+'-retina-mobile')){ continue; } _pagelayer_set_tmp_atts(row, x, ''); } }else{ // To remove past temp attr so that they are not involve in future temp values delete old[prop.c['name']+'-url']; // Keep a list of all sizes for(var x in attachment.sizes){ _pagelayer_set_tmp_atts(row, x+'-url', attachment.sizes[x].url); delete old[prop.c['name']+'-'+x+'-url']; } for(var x in old){ // Skip for retina and with url atts if(! x.endsWith('-url') || x.startsWith(prop.c['name']+'-retina')){ continue; } _pagelayer_set_tmp_atts(row, x, ''); } } } // Update thumbnail button.css('background-image', 'url(\''+url+'\')'); // Save and render _pagelayer_set_tmp_atts(row, 'no-image-set', ''); if(inRetina){ _pagelayer_set_tmp_atts(row, 'retina-url', url); imgObj['retina'] = id; }else if(inRetinaM){ _pagelayer_set_tmp_atts(row, 'retina-mobile-url', url); imgObj['retina_mobile'] = id; }else{ _pagelayer_set_tmp_atts(row, 'url', url); imgObj['img'] = id; } _pagelayer_set_atts(row, getImgVal(imgObj)); }, // On open select the appropriate images in the media manager 'open': function() { var selection = frame.state().get('selection'); var wp_id = pagelayer_get_att(prop.el.$, prop.c['name']); if(typeof wp_id === 'object'){ if(inRetina){ wp_id = ('retina' in wp_id && !pagelayer_empty(wp_id['retina']) ? wp_id['retina'] : 0 ); }else if(inRetinaM){ wp_id = ('retina_mobile' in wp_id && !pagelayer_empty(wp_id['retina_mobile']) ? wp_id['retina_mobile'] : 0 ); }else{ wp_id = (!pagelayer_empty(wp_id['img']) ? wp_id['img'] : 0 ); } } selection.reset( wp_id ? [ wp.media.attachment( wp_id ) ] : [] ); } }); frame.open(button); return false; }); // Finding and assigning values in the variables var dropzoneParent = row.find('.pagelayer-elp-image-div'); var dropZone = row.find('.pagelayer-elp-drop-zone'); // Inserting values in image drag and drop function pagelayer_img_dragAndDrop(dropzoneParent, dropZone, '', row); row.find('.pagelayer-elp-image-retina').click(function(){ row.find('.pagelayer-retina-label').toggle(); row.find('.pagelayer-elp-retina-image-div').toggle(); var checkval = row.find('.pagelayer-retina-checkbox').is(":checked"); if(checkval == true){ row.find('.pagelayer-retina-checkbox').trigger("click"); } }); row.find('.pagelayer-retina-checkbox').click(function(){ row.find('.pagelayer-elp-retina-mobile-image-div').toggle(); }); // Delete this row.find('.pagelayer-elp-image-delete').on('click', function(){ // Update thumbnail jQuery(this).parent().find('.pagelayer-elp-image').css('background-image', 'url(\''+def+'\')'); // Set to blank and render _pagelayer_set_atts(row, '', true); imgObj['img'] = def; _pagelayer_set_tmp_atts(row, 'no-image-set', 1); _pagelayer_set_tmp_atts(row, 'url', def); _pagelayer_set_atts(row, getImgVal(imgObj)); }); row.find('.pagelayer-elp-retina-delete').on('click', function(){ // Update thumbnail jQuery(this).parent().find('.pagelayer-elp-image').css('background-image', 'url(\''+def+'\')'); delete imgObj['retina']; _pagelayer_set_tmp_atts(row, 'retina-url', def); _pagelayer_set_atts(row, getImgVal(imgObj)); }); row.find('.pagelayer-elp-retina-mobile-delete').on('click', function(){ // Update thumbnail jQuery(this).parent().find('.pagelayer-elp-image').css('background-image', 'url(\''+def+'\')'); delete imgObj['retina_mobile']; // Set to blank and render _pagelayer_set_tmp_atts(row, 'retina-mobile-url', def); _pagelayer_set_atts(row, getImgVal(imgObj)); }); } // Main image drag and drop function function pagelayer_img_dragAndDrop(dropzoneParent, dropZone, jEle, row){ var reset_dragging = false; dropzoneParent.on('dragover', function(e){ e.preventDefault(); // Checking that the dragged element is a file or not var dt = e.originalEvent.dataTransfer; if(dt.types && (dt.types.indexOf ? dt.types.indexOf('Files') != -1 : dt.types.contains('Files'))){ if(e.originalEvent.dataTransfer.items[0].type.search('image/')!=-1){ dropZone.show(); reset_dragging = true; } } }); dropzoneParent.on('dragleave', function(e){ var rect = this.getBoundingClientRect(); // Checking that the cursor is in the drag area or not if (e.clientX >= (rect.left + rect.width) || e.clientX <= rect.left || e.clientY >= (rect.top + rect.height) || e.clientY <= rect.top) { dropZone.hide(); reset_dragging = false; } }); dropzoneParent.on('drop', function(e){ // Is not dropable? if(!reset_dragging){ return; } e.preventDefault(); var pagelayer_ajax_func = {}; // This function for ajax success call back pagelayer_ajax_func['success'] = function(obj){ if(obj['success']){ // Set the new ID and URL id = obj['data']['id']; url = obj['data']['url']; if(row == ''){ // Getting Id of jEle var widgetid = jEle.closest('[pagelayer-id]').attr('pagelayer-id'); // Finding widget image setting using id of jEle. Finding image editor setting from all of the other settings. row = pagelayer.$$('[pagelayer-element-id='+widgetid+']').find('.pagelayer-elp-image').eq(0).parent().parent(); } row.find('.pagelayer-elp-image').css('background-image', 'url(\''+url+'\')'); // To remove past temp attr so that they are not involve in future temp values var cname = row.attr('pagelayer-elp-name'); var old = _pagelayer_img_tmp_atts(row); delete old[cname+'-url']; for(var x in obj['data']['sizes']){ _pagelayer_set_tmp_atts(row, x+'-url', obj['data']['sizes'][x]['url']); delete old[cname+'-'+x+'-url']; } for(var x in old){ _pagelayer_set_tmp_atts(row, x+'-url', ''); } dropZone.find('.pagelayer-elp-img-up-bar').css('width', '3%'); dropZone.hide(); // Save and render _pagelayer_set_tmp_atts(row, 'url', url); _pagelayer_set_atts(row, id); }else{ alert(obj['data']['message']); } } // This function for ajax before send call back pagelayer_ajax_func['beforeSend'] = function(xhr){ // It activate the image widget if(row == ''){ jEle.click(); } } // This function for how much file is uploaded or for progress bar pagelayer_ajax_func['uploadProgress'] = function(xhr){ xhr.upload.addEventListener("progress", function(evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; percentComplete = parseInt(percentComplete * 100); if(row == ''){ dropZone.find('.pagelayer-img-up-bar').css('width', percentComplete+'%'); }else{ dropZone.find('.pagelayer-elp-img-up-bar').css('width', percentComplete+'%'); } } }, false); return xhr; } // Uploading image to the media library pagelayer_editable_paste_handler(e.originalEvent.dataTransfer.files[0], pagelayer_ajax_func); reset_dragging = false; }); } // The Multi Image Property function pagelayer_elp_multi_image(row, prop){ var div = '
    '+ '
    '+ '
    '+ '
    '; row.append(div); var tmp = prop.c['name']+'-urls'; var ids = new Array(); // Any IDs ? if(!pagelayer_empty(prop.c['val'])){ ids = prop.c['val'] if(pagelayer_is_string(ids)){ ids = prop.c['val'].split(','); } //console.log(ids); } // Do we have a URL set ? if(!pagelayer_empty(ids)){ if(tmp in prop.el.tmp){ var images = JSON.parse(prop.el.tmp[tmp]); //console.log(images); for(var x in ids){ row.find('.pagelayer-elp-multi_image-thumbs').append('
    '); } }else{ wp.media.query({ post__in: ids }).more().then(function(){ // You attachments here normally // You can safely use any of them here // TODO: Set tmp here for(var x in ids){ var fetch_url = wp.media.attachment(ids[x]).get('url'); if(!pagelayer_empty(fetch_url)){ row.find('.pagelayer-elp-multi_image-thumbs').append('
    '); } } }); } } var pagelayer_init_frame = function(state){ var button = row.find('.pagelayer-elp-multi_image-thumbs'); //console.log(ids); // Load the frame var frame = pagelayer_select_frame('multi_image', state); frame.on({ 'select': function(){ var state = frame.state(); var id = url = ''; var urls = {}; // External URL if('props' in state){ //console.log(state); var urls_str = state.props.attributes.url; var urls_arr = urls_str.split(','); //console.log(urls_arr); button.empty(); // Add to current selection for(var i = 0; i < urls_arr.length; i++){ var single_url = pagelayer_parse_theme_vars(urls_arr[i]); urls['i'+i] = single_url; // Create thumbnails button.append('
    '); } urls_arr = Object.values(urls); _pagelayer_set_tmp_atts(row, 'urls', JSON.stringify(urls)); _pagelayer_set_atts(row, urls_arr.join()); } }, // Set the current selection if any 'open': function(){ // Do we have anything if(!pagelayer_empty(ids)){ var selection = ''; if(state == 'gallery-edit'){ selection = frame.state().get('library'); }else if(state == 'gallery-library'){ selection = frame.state().get('selection'); } // Add to current selection if(!pagelayer_empty(selection)){ for(var x in ids){ attachment = wp.media.attachment(ids[x]); attachment.fetch(); selection.add(attachment ? [ attachment ] : [] ); } } } }, // When images are selected 'update': function(selection){ //console.log(selection); // Remove thumbnails row.find('.pagelayer-elp-multi_image-thumb').remove(); //Fetch selected images var attachments = selection.map(function(attachment){ attachment.toJSON(); return attachment; }); //console.log(attachments); var img_ids = []; var urls = {}; var img_urls = {}; var titles = {}; var links = {}; var captions = {}; for(var i = 0; i < attachments.length; ++i){ // Add Id and urls to array var id = attachments[i].id; var _id = 'i'+id; img_ids.push(id); urls[_id] = attachments[i].attributes.url; // Create thumbnails button.append('
    '); //get title titles[_id] = attachments[i].attributes.title; links[_id] = attachments[i].attributes.link; captions[_id] = attachments[i].attributes.caption; // Create a URL img_urls[_id] = {} for(var x in attachments[i].attributes.sizes){ img_urls[_id][x] = attachments[i].attributes.sizes[x].url; } } //console.log(img_urls); // Save and render _pagelayer_set_tmp_atts(row, 'urls', JSON.stringify(urls)); _pagelayer_set_tmp_atts(row, 'all-urls', JSON.stringify(img_urls)); _pagelayer_set_tmp_atts(row, 'all-titles', JSON.stringify(titles)); _pagelayer_set_tmp_atts(row, 'all-links', JSON.stringify(links)); _pagelayer_set_tmp_atts(row, 'all-captions', JSON.stringify(captions)); _pagelayer_set_atts(row, img_ids); // Update the IDs incase the user clicks on it again ids = img_ids; } }); frame.open(button); return false; }; row.find('.pagelayer-elp-multi_image-thumbs').on('click', function(){ pagelayer_init_frame('gallery-edit'); }); row.find('.pagelayer-elp-button').on('click', function(){ if(!pagelayer_empty(ids)){ if(isNaN(ids[0])){ pagelayer_init_frame('embed'); }else{ pagelayer_init_frame('gallery-library'); } }else{ pagelayer_init_frame('gallery'); } }); } // The Video Property function pagelayer_elp_video(row, prop){ var tmp = prop.c['name']+'-url'; var src = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : prop.c['val']; var div = '
    '+ ''+ ''+ '
    '; row.append(div); row.find('.pagelayer-elp-video-div .pli').on('click', function(){ var button = jQuery(this); // Load the frame var frame = pagelayer_select_frame('video'); // On select update the stuff frame.on({ 'select': function(){ var state = frame.state(); var id = url = ''; // External URL if('props' in state){ id = url = pagelayer_parse_theme_vars(state.props.attributes.url); // Internal from gallery }else{ var attachment = frame.state().get('selection').first().toJSON(); //console.log(attachment); id = attachment.id; url = attachment.url; } // Update URL button.prev().val(url); // Save and render _pagelayer_set_tmp_atts(row, 'url', url); _pagelayer_set_atts(row, id); } }); frame.open(button); return false; }); // Edited the video URL directly row.find('.pagelayer-elp-video').on('change', function(){ var input = jQuery(this); // Set the new URL _pagelayer_set_tmp_atts(row, 'url', input.val()); _pagelayer_set_atts(row, input.val()); }); } // The Audio Property function pagelayer_elp_audio(row, prop){ var tmp = prop.c['name']+'-url'; var src = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : prop.c['val']; var div = '
    '+ ''+ ''+ '
    '; row.append(div); // Choose from media row.find('.pagelayer-elp-audio-div .pli').on('click', function(){ var button = jQuery(this); // Load the frame var frame = pagelayer_select_frame('audio'); frame.on({ 'select': function(){ var state = frame.state(); var id = url = ''; // External URL if('props' in state){ id = url = pagelayer_parse_theme_vars(state.props.attributes.url); // Internal from gallery }else{ var attachment = frame.state().get('selection').first().toJSON(); //console.log(attachment); id = attachment.id; url = attachment.url; } // Update URL button.prev().val(url); // Save and render _pagelayer_set_tmp_atts(row, 'url', url); _pagelayer_set_atts(row, id); } }); frame.open(button); return false; }); // Edited the media URL directly row.find('.pagelayer-elp-audio').on('change', function(){ var input = jQuery(this); // Set the new URL _pagelayer_set_tmp_atts(row, 'url', input.val()); _pagelayer_set_atts(row, input.val()); }); } // The Media Property function pagelayer_elp_media(row, prop){ var tmp = prop.c['name']+'-url'; var src = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : prop.c['val']; var div = '
    '+ ''+ ''+ '
    '; row.append(div); row.find('.pagelayer-elp-media-div .pli-menu').on('click', function(){ var button = jQuery(this); // Load the frame var frame = pagelayer_select_frame('media'); frame.on({ 'select': function(){ var state = frame.state(); var id = url = ''; // External URL if('props' in state){ id = url = pagelayer_parse_theme_vars(state.props.attributes.url); // Internal from gallery }else{ var attachment = frame.state().get('selection').first().toJSON(); //console.log(attachment); id = attachment.id; url = attachment.url; } // Update URL button.prev().val(url); // Save and render _pagelayer_set_tmp_atts(row, 'url', url); _pagelayer_set_atts(row, id); } }); frame.open(button); return false; }); // Edited the media URL directly row.find('.pagelayer-elp-media').on('change', function(){ var input = jQuery(this); // Set the new URL _pagelayer_set_tmp_atts(row, 'url', input.val()); _pagelayer_set_atts(row, input.val()); }); } // The Slider Property function pagelayer_elp_slider(row, prop){ var div = '
    '+ ''+ ''+ '
    '+ '
    '; row.append(div); // Set an value in span row.find('.pagelayer-elp-slider-div input').on('input', function(){ var value = parseFloat(this.value); var max = parseFloat(this.max); if(!pagelayer_empty(max) && value > max){ value = max; } row.find('.pagelayer-elp-slider-div input').val(value); _pagelayer_set_atts(row, value);// Save and Render }); } // The Editor proprety function pagelayer_elp_editor(row, prop){ var rows = prop.rows ? prop.rows : '8'; var div = '
    '+ ''+ '
    '; row.append(div); var editor = row.find('.pagelayer-elp-editor'); editor.val(prop.c['val']); // Handle on change editor.on('input', function(){ _pagelayer_set_atts(row, pagelayer_trim(jQuery(this).val()));// Save and Render }); return; // No SVG Icons for now jQuery.trumbowyg.svgPath = false; // Initiate the editor editor.trumbowyg({ autogrow: false, hideButtonTexts: true, btns:[ ['viewHTML'], ['wpmedia'], ['fontfamily'], ['formatting'], ['undo', 'redo'], // Only supported in Blink browsers ['fontsize'], ['lineheight'], ['foreColor', 'backColor',], ['strong', 'em', 'del'], ['horizontalRule'], ['superscript', 'subscript'], ['link'], ['unorderedList', 'orderedList'], ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull'], ['removeformat'], ['fullscreen'] ], plugins: { fontsize: { sizeList: ['12px','13px','14px','15px','16px','17px','18px','19px','20px','21px','22px','23px','24px','25px'] } }, imageWidthModalEdit: true, // Handle the changes made in the editor }).on('tbwchange', function(){ _pagelayer_set_atts(row, editor.trumbowyg('html'));// Save and Render }); } // The Link proprety function pagelayer_elp_link(row, prop){ var values = {}; var settingOpt = false; // Show link options? if('selector' in prop){ settingOpt = true; } // Previously saved values if(typeof prop.c['val'] === 'object'){ values = prop.c['val']; }else{ values['link'] = prop.c['val']; } var tmp = prop.c['name']; var link = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : values['link']; var jEle = jQuery('[pagelayer-id='+prop.el.id+']'); var div = ''; row.append(div); var listWrap = row.find('.pagelayer-elp-link-list'); var time = null; //Add ID var addID = function(permaID){ permaID = permaID || false; var lDiv = row.closest('[pagelayer-elp-name]').find('.pagelayer-elp-label-div'); if(permaID){ lDiv = lDiv.find('.pagelayer-elp-label'); lDiv.after('ID : '+permaID+''); }else{ lDiv.find('.pagelayer-elp-link-id').remove(); } }; if(!isNaN(values['link'])){ addID(values['link']); } var getLinkVal = function(val){ if(typeof val === 'object' && pagelayer_length(val) == 1 && 'link' in val){ return val['link']; } return val; } var setTmpEmpty = function(){ if( 'link' in values && !pagelayer_empty(values['link']) ){ return; } _pagelayer_set_tmp_atts(row, '', ''); } // Set a Link row.find('.pagelayer-elp-link').on('change', function(){ var linkVal = jQuery(this).val(); values['link'] = linkVal; // Save and Render _pagelayer_set_tmp_atts(row, '', linkVal); _pagelayer_set_atts(row, getLinkVal(values)); // Remove ID Holder addID(); }); // Set a Link row.find('.pagelayer-elp-link').on('input click', function(e){ e.stopPropagation(); if(!listWrap.is(':visible')){ listWrap.show(); } var val = jQuery(this).val(); clearTimeout(time); time = setTimeout(function(){ jQuery.ajax({ url: pagelayer_ajax_url, type: 'post', data:{ 'action' : 'wp-link-ajax', '_ajax_linking_nonce' : pagelayer_internal_linking_nonce, 'search' : val, }, success: function(response) { var data = jQuery.parseJSON(response); var html = ''; //console.log('Link Data');console.log(response); if(pagelayer_empty(data)){ html = pagelayer_l('custom_url'); // Remove ID Holder addID(); }else if(typeof data === 'object'){ for(var key in data){ var vals = data[key]; html += ''; } } listWrap.html(html); }, fail: function(data) { listWrap.html('Some error occured in getting the link data'); } }); }, 200); }); listWrap.on('click', function(e){ e.stopPropagation(); var lEle = jQuery(e.target).closest('.pagelayer-elp-link-item'); // IF item not found if(lEle.length < 1){ return; } var perma = lEle.attr('data-permalink'); var ID = lEle.attr('data-id'); values['link'] = ID; // Save and Render row.find('.pagelayer-elp-link').val(perma); _pagelayer_set_tmp_atts(row, '', perma); _pagelayer_set_atts(row, getLinkVal(values)); listWrap.hide(); // Show ID addID(ID); }); pagelayer.gDocument.on('click', function(e){ listWrap.hide(); }); row.find('.pagelayer-elp-checkbox').on('change', function(event){ var cEle = jQuery(this); // Save or delete the value var saveVal = function(key){ if(cEle.is(':checked')){ values[key] = true; return; } delete values[key]; } switch(cEle.attr('name')){ case 'link_new_tab': saveVal('target'); break; case 'link_no_follow': saveVal('rel'); break; } setTmpEmpty(); _pagelayer_set_atts(row, getLinkVal(values)); }); var linkTime = ''; row.find('.pagelayer-elp-text').on('input', function(event){ var cEle = jQuery(this); clearTimeout(linkTime); linkTime = setTimeout(function(){ values['attrs'] = cEle.val(); if(pagelayer_empty(values['attrs'])){ delete values['attrs']; } setTmpEmpty(); _pagelayer_set_atts(row, getLinkVal(values)); }, 500); }); row.find('.pagelayer-elp-link-icon').on('click', function(){ row.find('.pagelayer-elp-link-addons').slideToggle('slow'); }); } // The Textarea property function pagelayer_elp_textarea(row, prop){ var rows = prop.rows ? 'rows="'+prop.rows+' "' : ''; var div = '
    '+ ''+ '
    '; row.append(div); row.find('.pagelayer-elp-textarea').val(prop.c['val']); // Handle on change row.find('.pagelayer-elp-textarea').on('input', function(){ _pagelayer_set_atts(row, pagelayer_trim(jQuery(this).val()));// Save and Render }); }; // Clear all editable function pagelayer_clear_editable(dontDestroy){ // Destroy all for(var x in pagelayer_editor){ if(dontDestroy == x){ console.log('Skipping '+dontDestroy); continue; } pagelayer_editor[x].pen.destroy(); } }; // Makes a field editable in the DOM function pagelayer_make_editable(jEle, e){ // The parent element var pEle = jEle.closest('.pagelayer-ele, [pagelayer-ref-id]'); // Mainly for editing table cells as pagelayer-ref-id is used by them if(!pEle.hasClass('pagelayer-ele')){ var refID = pEle.attr('pagelayer-ref-id'); pEle = jQuery('[pagelayer-id="'+refID+'"]'); } var prop = jEle.attr('pagelayer-editable'); var eId = pagelayer_id(pEle)+'|'+jEle.attr('pagelayer-editable');// Editing ID // Is it already setup ? if(jEle.hasClass('pagelayer-pen')){ //console.log('Already Penned'); //pagelayer_focus_editable(jEle, e, eId); return true; } var tag = pagelayer_tag(pEle); var all_props = pagelayer_shortcodes[tag]; var edit_opts; var fullEdit = false; for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ //console.log(tab+' '+section); var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section];//console.log(props); // Any editor options? if(prop in props){ if('e' in props[prop]){ edit_opts = props[prop].e; } if(props[prop]['type'] == 'editor'){ fullEdit = true; } } } } var pen_tools = { 'inline': [ 'viewHTML', {'formating' : ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p']}, 'bold', 'italic', 'underline', 'strike', { 'color': [] }, { 'background': [] }, 'removeformat' ], 'h': ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], 'headers': [{'formating' : ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']}], 'c': [{ 'color': [] }, { 'background': [] }], 'f': ['bold', 'italic', 'underline', 'strike'], 'a': [{ 'align': ['left', 'center', 'right', 'justify'] }], 'r': ['removeformat'], 'v': ['viewHTML'], }; // Create Toolbar Groups if(!('pen_tools' in pagelayer_editor)){ pagelayer_editor['pen_tools'] = {}; } pagelayer_editor['pen_tools'] = Object.assign(pagelayer_editor['pen_tools'], pen_tools); var toolbar_options = []; if( pagelayer_empty(edit_opts) ){ if(fullEdit){ toolbar_options = [ [ 'viewHTML' ], [ 'bold', 'italic', 'underline', 'strike' ], [ 'sub', 'super' ], //[ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'blockquote'], [ {'formating' : ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'blockquote']}], [ {'align': ['left', 'center', 'right', 'justify']} ], [ 'image', 'link'], [ 'unorderedlist', 'orderedlist'], [ {'size': []}, {'lineheight': []}, {'font': []}], [ {'color': [] }, {'background': []}], [ 'removeformat' ] ]; }else{ toolbar_options = pagelayer_editor.pen_tools['inline']; } }else{ var options = []; if(! Array.isArray(edit_opts) ){ edit_opts = [edit_opts]; } for( var tt in edit_opts){ var tool = edit_opts[tt]; if(pagelayer_is_string(tool)){ if(tool in pagelayer_editor['pen_tools']){ tool = pagelayer_editor['pen_tools'][tool] }else{ tool = [tool]; } } options.push(tool); } toolbar_options = options; } var options = { class: 'pagelayer-pen', editor: jEle, toolbar: toolbar_options } // Setup the editor pagelayer_editor[eId] = {}; pagelayer_editor[eId].pen = new PagelayerPen(jEle, options); pagelayer_editor[eId].$ = jEle; // Are we the clicked object, then set the focus if(e){ var target = jQuery(e.target); if(target.is(jEle) || jEle.find(target).length > 0){ jEle.focus(); } } // Reverse setup the event jEle.on('blur', function(){ //pagelayer_editor[eId].pen.destroy(); if(jEle.hasClass('pagelayer-pen-focused')){ return; } var cEle = pEle; // Do we have a parent ? var have_parent = function(Ele){ var pId = pagelayer_get_parent(Ele); if(pagelayer_empty(pId)){ return; } cEle = pagelayer_ele_by_id(pId); have_parent(cEle); } have_parent(cEle); var is_global = pagelayer_get_global_id(cEle); if(pagelayer_empty(is_global)){ return; } pagelayer_sc_render(pEle); }); /*// Reverse setup the event jEle.on('focus', function(){ //pagelayer_clear_editable(eId); });*/ // Reverse setup the event jEle.on('input', function(){ var val = pagelayer_trim(jEle.html()); // Set the property as well pagelayer_set_atts(pEle, prop, val); // Update the property var input = pagelayer.$$('[pagelayer-element-id='+pagelayer_id(pEle)+']').find('[pagelayer-elp-name='+prop+']').find('input,textarea,.trumbowyg-editor'); //console.log(input); if(input.length > 0){ if(input.hasClass('trumbowyg-editor')){ input.html(val); }else{ input.val(val); } } }); } // The Icon Property function pagelayer_elp_icon(row, prop){ var $ = jQuery; var sets_html = ''; pagelayer_loaded_icons.forEach(function(item){ sets_html += ''; }); var icons = {}; var cur_icon_set = pagelayer_loaded_icons[0]; var sel_icon = prop.c['val']; var sel_name = prop.c['val']; var icon_type = ''; var sorted_icons = {}; // Handle the icon name var icon_name = sel_icon.split(' fa-'); sel_name = icon_name[1]; // Is there a specific list if('list' in prop && prop.list.length > 0){ for(var i in pagelayer_icons){ icons[i] = {}; for(var j in pagelayer_icons[i]){ icons[i][j] = {}; var list_icons = []; prop.list.forEach(function(item){ if(pagelayer_icons[i][j]['icons'].includes(item)){ list_icons.push(item); } }); icons[i][j]['icons'] = list_icons; icons[i][j]['pre'] = j; } } }else{ icons = pagelayer_icons; } // Icon function var icon_html = function(name, cat){ return ''+ ' '+name+ ''; } var div = '
    '+ '
    '+ ''+ ''+ (pagelayer_empty(sel_name)?'Choose icon':sel_name)+ ''+ '
    '+ ''+ '× '+ '
    '; row.append(div); // Make all icons list var html = '
    '; if(pagelayer_loaded_icons.length > 1){ html += ''; } html += ''+ '

    '+pagelayer_l('Solid')+'

    '+ '

    '+pagelayer_l('Regular')+'

    '+ '

    '+pagelayer_l('Brand')+'

    '+ '
    '+ ''+ '
    '; for(var y in icons[cur_icon_set]){ //console.log(icons[x][y]) for(var z in icons[cur_icon_set][y]['icons']){ html += icon_html(icons[cur_icon_set][y]['icons'][z], y); } } html += '
    '+ '
    '; row.append(html); // Open the selector row.find('.pagelayer-elp-icon-div').on('click', function(){ row.find('.pagelayer-elp-icon-selector').slideToggle(); }); /*// When the set changes row.find('.pagelayer-elp-icon-sets').on('change', function(){ var v = cur_icon_set = jQuery(this).val(); var span = ''; for(var x in icons[v]){ for(var z in icons[v][x]['icons']){ span += icon_html(icons[v][x]['icons'][z], x); } } if(cur_icon_set == 'font-awesome5'){ row.find('.pagelayer-elp-icon-type').show(); sorted_icons = icons[cur_icon_set]['fas']; row.find('.pagelayer-elp-icon-type [data-tab="fas"]').click(); }else{ row.find('.pagelayer-elp-icon-type').hide(); } row.find('.pagelayer-elp-icon-list').empty().html(span); if(row.find('.pagelayer-elp-search-icon').val() != ''){ row.find('.pagelayer-elp-search-icon').keyup(); } });*/ // Handle type of icon row.find('.pagelayer-elp-icon-type p').on('click', function(){ jQuery(this).toggleClass('active'); row.find('.pagelayer-elp-search-icon').keyup(); }); // Handle search of icon row.find('.pagelayer-elp-search-icon').on('keyup', function(){ var v = this.value; var span = ''; v = v.toLowerCase(); v = v.replace(/\s+/g, '-'); //console.log(sorted_icons); row.find('.pagelayer-elp-icon-type p.active').each(function(){ var tab = jQuery(this).data('tab'); tab = tab.toLowerCase(); var cat = icons['font-awesome5'][tab]['icons']; for(var x in cat){ if(cat[x].includes(v) || v.length < 1){ span += icon_html(cat[x], tab); } } }); row.find('.pagelayer-elp-icon-list').empty().html(span); }); // Handle click within the icon selector row.find('.pagelayer-elp-icon-list').on('click', function(e){ var jEle = jQuery(e.target); var i = jEle.children().attr('class'); var name = jEle.children().attr('icon'); if(pagelayer_empty(name)){ return false; } // Set the icon in this list row.find('.pagelayer-elp-icon-preview').html(''+name+''); row.find('.pagelayer-elp-icon-selector').slideUp(); _pagelayer_set_atts(row, i);// Save and Render row.find('.pagelayer-elp-icon-close').show(); return false; }); // Delete the icon row.find('.pagelayer-elp-icon-close').on('click', function(){ // Set the icon in this list row.find('.pagelayer-elp-icon-preview').html(''+pagelayer_l('choose_icon')+''); // Save and Render _pagelayer_set_atts(row, ''); jQuery(this).hide(); return false; }); } // The Access Property function pagelayer_elp_access(row, prop){ var div = '
    '+ ''+ '
    '+ '
    '; row.append(div); var holder = row.find('.pagelayer-elp-access-holder'); row.find('.pagelayer-elp-access').on('click', function(){ // Setup first if(holder.children().length < 1){ var p = row.parent().find('[pagelayer-access-item='+prop.show_group+']').detach(); p.appendTo(holder); p.addClass('pagelayer-access-item-visible'); } // Show and hide if(holder.is(':visible')){ holder.hide(); row.find('.pli-caret-right').removeClass('pli-caret-open'); }else{ holder.show(); row.find('.pli-caret-right').addClass('pli-caret-open'); } }); }; // The Modal Property function pagelayer_elp_modal(row, prop){ var style = pagelayer_empty(prop.width) ? '' : 'style="width:'+prop.width+'"'; var div = '
    '+ ''+ '
    '+ '
    '+ '
    '+ prop.label +''+ '

    '+ '
    '+ '
    '+ '
    '+ '
    '; row.append(div); var wrapper = row.find('.pagelayer-elp-modal-wrapper'); var holder = row.find('.pagelayer-elp-modal-holder'); row.find('.pagelayer-elp-modal').on('click', function(){ // Setup first if(holder.children().length < 1){ var p = row.parent().find('[pagelayer-access-item='+prop.show_group+']').detach(); p.appendTo(holder); p.addClass('pagelayer-access-item-visible'); } // Show and hide wrapper.show(); }); // Close Modal Property row.find('.pagelayer-elp-modal-close').on('click', function(){ wrapper.hide(); }); // On click Pagelayer setting icon wrapper.on('click', function(event){ var target = jQuery(event.target); if(target.closest('.pagelayer-elp-modal-wrap').length > 0){ return; } wrapper.hide(); }); }; // The Color Property function pagelayer_elp_color(row, prop){ var val = prop.c['val']; var is_global = pagelayer_is_global_color(val); var global_active = ''; // If global color not exist if(!pagelayer_empty(is_global)){ val = pagelayer_global_colors[is_global]['value']; global_active = 'pagelayer-active-global'; } var div = '
    '+ '
    '+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ 'Global Colors'+ '
    '; for( cid in pagelayer_global_colors ){ var color = pagelayer_global_colors[cid]; var active_class = ''; if(cid == is_global){ active_class = 'pagelayer-global-selected'; } div += '
    '+ ''+ ''+ color['title'] +''+ ''+ color['value'] +''+ '
    '; } div += '
    '; row.append(div); row.find('.pagelayer-elp-color-preview').css('background', val); var picker = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-color-div')[0], popup : 'left', color : val, doc: window.parent.document }); var preview = row.find('.pagelayer-elp-color-preview'); // If no val, then set blank if(pagelayer_empty(val)){ preview.addClass('pagelayer-blank-preview'); } var handle_white = function(col){ if(col.charAt(1) == 'f'){ preview.addClass('pagelayer-white-border'); }else{ preview.removeClass('pagelayer-white-border'); } } handle_white(val); // Handle selected color picker.onChange = function(color) { preview.removeClass('pagelayer-blank-preview').css('background', color.rgbaString); handle_white(color.hex); _pagelayer_set_atts(row, color.hex);// Save and Render // Remove global row.find('.pagelayer-elp-color-global').removeClass('pagelayer-active-global'); row.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); row.find('.pagelayer-global-color-list').hide(); }; picker.onOpen = picker.onChange; row.find('.pagelayer-elp-remove-color').on('click', function(event){ event.stopPropagation(); picker.setColor(prop.default, true); preview.addClass('pagelayer-blank-preview'); handle_white(''); _pagelayer_set_atts(row, ' ');// Save and Render }); // Handle for global color row.find('.pagelayer-elp-color-global').on('click', function(e){ row.find('.pagelayer-global-color-list').slideToggle(); }); row.find('.pagelayer-global-setting-color').on('click', function(e){ e.stopPropagation(); if(jQuery(e.target).closest('.pli-service').length < 1){ return; } window.open(pagelayer_customizer_url+'&autofocus%5Bsection%5D=pagelayer_global_colors_sec', '_blank'); }); // Handle for global color row.find('.pagelayer-global-color-list-item ').on('click', function(e){ e.stopPropagation(); var listItem = jQuery(this); var globalID = listItem.data('global-id'); var listHolder = row.find('.pagelayer-global-color-list'); // Remove previous selecttion listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); listItem.addClass('pagelayer-global-selected'); row.find('.pagelayer-elp-color-global').addClass('pagelayer-active-global'); listHolder.slideUp(); var color = pagelayer_global_colors[globalID]['value']; preview.removeClass('pagelayer-blank-preview').css('background', color); handle_white(color); _pagelayer_set_atts(row, '$'+globalID);// Save and Render }); } // The Spinner property function pagelayer_elp_spinner(row, prop){ var div = '
    '+ ''+ '
    '; row.append(div); row.find('input').on('input', function(){ var value = parseFloat(this.value); var max = parseFloat(this.max); if(!pagelayer_empty(max) && value > max){ value = max; } _pagelayer_set_atts(row, value);// Save and Render }); } // The Group Property function pagelayer_elp_group(row, prop){ var btnHidden = ''; // Hide button, clone and delete if(!pagelayer_empty(prop['hide'])){ btnHidden = 'pagelayer-hidden'; } // Remove the pagelayer-show-tab row.removeAttr('pagelayer-show-tab'); var div = '
    '+ '
    '; row.append(div); // Add button var add_item = function(row){ var ele_id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id') || ''; var pEle = jQuery('[pagelayer-id="'+ele_id+'"]'); // First add the element inside the group element var id = pagelayer_element_add_child(pEle, prop['sc'], prop); //pagelayer_element_setup('[pagelayer-id='+id+']', true); show_item(id); }; // Show the properties of the existing things var show_item = function(id, sel){ // To append after an existing item sel = sel || false; // If pagelayer id empty then return if(pagelayer_empty(id)){ return false; } // Since the element is added very fast, we reselect via jQuery for it to re-access the dom jEle = jQuery('[pagelayer-id="'+id+'"]'); var label_param = prop['item_label']['param'] || ''; var title = pagelayer_get_att(jEle, label_param) || prop['item_label']['default']; // We need to get the correct value for select based params which are the label var child_props = pagelayer_shortcodes[prop.sc]; for(var section in child_props){ for(var _param in child_props[section]){ if(child_props[section][_param]['type'] == 'select'){ if(title in child_props[section][_param]['list']){ title = child_props[section][_param]['list'][title]; } } } } // Create the HTML var holder = jQuery('
    '+ '
    '+ ''+ ''+title+''+ ''+ ''+ '
    '+ '
    '+ '
    '); // Append to the row if(sel){ row.find(sel).after(holder); }else{ row.find('.pagelayer-elp-group-div').first().append(holder); } // Setup the toggle holder.find('.pagelayer-elp-group-item-title').first().on('click', function(){ var rEle = holder.find('.pagelayer-elp-group-item-body').first(); var r_id = holder.attr('pagelayer-group-item-id'); // If the props are not already setup if(rEle.html().length < 1){ pagelayer_elpd_generate(jQuery('[pagelayer-id="'+r_id+'"]'), rEle); // Change the group item title var tmp_title = holder.find('[pagelayer-elp-name="'+label_param+'"] [name="'+label_param+'"]'); if(tmp_title.length > 0){ jQuery(tmp_title).on('input', function(){ holder.find('.pagelayer-elp-group-item-title').html(tmp_title.val()); }); } } rEle.toggle(); }); // Clone the item holder.find('.pagelayer-elp-group-item-head .pli-clone').on('click', function(){ // If the element have any parent var jEle = jQuery('[pagelayer-id="'+id+'"]'); var par = pagelayer_get_parent(jEle); var clone_ele = pagelayer_copy_element(jEle); //console.log(clone_ele);console.log('[pagelayer-group-item-id="'+id+'"]'); show_item(clone_ele, '[pagelayer-group-item-id="'+id+'"]'); if(par){ pagelayer_sc_render(pagelayer_ele_by_id(par)); } }); // Delete the item holder.find('.pagelayer-elp-group-item-head .pli-trashcan').on('click', function(){ // If the element have any parent var jEle = jQuery('[pagelayer-id="'+id+'"]'); var par = pagelayer_get_parent(jEle); holder.remove(); pagelayer_delete_element(jEle); if(par){ pagelayer_sc_render(pagelayer_ele_by_id(par)); } }); }; // Setup the drag pagelayer.$$(".pagelayer-elp-group-div").sortable({ axis: 'y', nested : false, vertical : true, handle : ".pagelayer-elp-group-item-drag", placeholder: "pagelayer-drag-highlight", start : function(event, ui) { var start_pos = ui.item.index(); ui.item.data('start_pos', start_pos); }, stop : function(event, ui){ var end_pos = ui.item.index(); var id = jQuery(ui.item).closest('[pagelayer-group-item-id]').attr('pagelayer-group-item-id'); var jEle = jQuery('[pagelayer-id="'+id+'"]'); pagelayer_moving_element(jEle, ui.item.data('start_pos'), end_pos); var par = pagelayer_get_parent(jEle); if(par){ pagelayer_sc_render(pagelayer_ele_by_id(par)); } } }); // Handle click of the group row.find('.pagelayer-elp-button').on('click', function(){ if('pro' in prop && pagelayer_empty(pagelayer_pro)){ pagelayer_pro_notice(); return; } add_item(row); }); // Find the existing items prop.el.$.find('[pagelayer-parent="'+prop.el['id']+'"]').each(function(){ var jEle = jQuery(this); var id = pagelayer_assign_id(jEle); show_item(id); }); }; function pagelayer_pro_notice(){ var div = pagelayer.$$('.pagelayer-pro-notice'); div.find('.pagelayer-pro-x').click(function(){ div.hide(); }); div.show(); } // Moving an element function pagelayer_moving_element(jEle, start_pos, end_pos){ if(start_pos==end_pos){ return; } var id = pagelayer_assign_id(jEle); // Is there a wrap var wrap = pagelayer_wrap_by_id(id); var par = wrap.parent(); var children = par.children("div"); // This is required for Owl Carousel if(children.length==1){ par = par.parent(); children = par.children("div"); } var element = children.eq(start_pos).detach(); if(end_pos < start_pos){ children.eq(end_pos).before(element); }else{ children.eq(end_pos).after(element); } } // The Datetime Property function pagelayer_elp_datetime(row, prop){ var div = '
    '+ ''+ '
    '; row.append(div); row.find('.pagelayer-elp-datetime').on('change', function(){ _pagelayer_set_atts(row, jQuery(this).val());// Save and Render }); }; // The padding property function pagelayer_elp_padding(row, prop){ var val = ['', '', '', '']; if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); } } var div = '
    '+ ''+ ''+ ''+ ''+ ''+ '
    '; row.append(div); // Is the value linked ? var link = row.find('.pagelayer-elp-padding-div i'); var isLinked = 1; //isLinked = isLinked == 2 ? false : true; //console.log(isLinked); var tmp_val = val[0]; for(var p_val in val){ // Check if unlinked if(tmp_val != val[p_val] ){ isLinked = 0; } tmp_val = val[p_val]; } if(isLinked){ link.addClass('pagelayer-elp-padding-linked'); }else{ link.removeClass('pagelayer-elp-padding-linked'); } // Handle link on click link.on('click', function(){ var linked = link.hasClass('pagelayer-elp-padding-linked'); if(linked){ link.removeClass('pagelayer-elp-padding-linked'); }else{ link.addClass('pagelayer-elp-padding-linked'); } }); row.find('input').on('input', function(){ // Are the values linked var linked = row.find('.pagelayer-elp-padding-div .pli').hasClass('pagelayer-elp-padding-linked'); if(linked){ var val = jQuery(this).val(); row.find('input').each(function(){ jQuery(this).val(val); }); } var vals = []; // Get all values row.find('input').each(function(){ var val = jQuery(this).val(); vals.push(val ? val : 0); }); _pagelayer_set_atts(row, vals);// Save and Render }); }; // The shadow property function pagelayer_elp_shadow(row, prop){ var val =['','','','']; // Do we have a val ? if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); } } //var val = {color: '', blur: '', horizontal: '', vertical: ''}; var div = ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '; row.append(div); row.find('.pagelayer-prop-edit').on('click', function(){ row.find('.pagelayer-elp-shadow-div').toggleClass('pagelayer-prop-show'); }); var preview = row.find('.pagelayer-elp-color-preview'); preview.css('background', val[3]); var picker = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-color-div')[0], popup : 'left', color : val[3], doc: window.parent.document }); // If no val, then set blank if(pagelayer_empty(val[3])){ preview.addClass('pagelayer-blank-preview'); } var handle_white = function(col){ if(col.charAt(1) == 'f'){ preview.addClass('pagelayer-white-border'); }else{ preview.removeClass('pagelayer-white-border'); } } handle_white(val[3]); // Handle selected color picker.onChange = function(color) { preview.removeClass('pagelayer-blank-preview').css('background', color.rgbaString); handle_white(color.hex); val[3] = (color.hex ? color.hex : ''); _pagelayer_set_atts(row, val); }; // Remove Color row.find('.pagelayer-elp-remove-color').on('click', function(event){ event.stopPropagation(); picker.setColor(prop.default, true); preview.addClass('pagelayer-blank-preview'); handle_white(''); val[3] = ''; _pagelayer_set_atts(row, val); }); row.find('input').on('input', function(){ var i = 0; row.find('.pagelayer-elp-shadow-input').each(function(){ var value = jQuery(this).val(); val[i] = (value ? value : ''); i++; }); _pagelayer_set_atts(row, val); }); } // The box shadow property function pagelayer_elp_box_shadow(row, prop){ var val = ['','','','','','']; // Do we have a val ? if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); } } var val_pos = ['horizontal','vertical','blur','color','spread','inset']; var div = ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '; row.append(div); row.find('.pagelayer-prop-edit').on('click', function(){ row.find('.pagelayer-elp-shadow-div').toggleClass('pagelayer-prop-show'); }); var preview = row.find('.pagelayer-elp-color-preview'); preview.css('background', val[3]); var picker = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-color-div')[0], popup : 'left', color : val[3], doc: window.parent.document }); // If no val, then set blank if(pagelayer_empty(val[3])){ preview.addClass('pagelayer-blank-preview'); } var handle_white = function(col){ if(col.charAt(1) == 'f'){ preview.addClass('pagelayer-white-border'); }else{ preview.removeClass('pagelayer-white-border'); } } handle_white(val[3]); // Handle selected color picker.onChange = function(color) { row.find('.pagelayer-elp-color-preview').removeClass('pagelayer-blank-preview').css('background', color.rgbaString); handle_white(color.hex); val[3] = (color.hex ? color.hex : ''); _pagelayer_set_atts(row, val); }; // Remove Color row.find('.pagelayer-elp-remove-color').on('click', function(event){ event.stopPropagation(); picker.setColor(prop.default, true); preview.addClass('pagelayer-blank-preview'); handle_white(''); val[3] = ''; _pagelayer_set_atts(row, val); }); // Onchange set props row.find('.pagelayer-elp-shadow-input').on('input change', function(){ //var i = 0; row.find('.pagelayer-elp-shadow-input').each(function(){ var value = jQuery(this).val(); var name = jQuery(this).attr('name'); val[val_pos.indexOf(name)] = (value ? value : ''); //i++; }); _pagelayer_set_atts(row, val); }); } // The filter property function pagelayer_elp_filter(row, prop){ var val = [0,100,100,0,0,100,100]; // Do we have a val ? if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); } } var filters = [['blur','10','0.1'],['brightness','200','1'],['contrast','200','1'],['grayscale','200','1'],['hue','360','1'],['opacity','100','1'],['saturate','200','1']]; var div = ''+ '
    '; jQuery.each(val,function(key, value){ div += '
    '+ ''+ ''+ ''+value+''+ '
    '; }); div += '
    '; row.append(div); row.find('.pagelayer-prop-edit').on('click', function(){ row.find('.pagelayer-elp-filter-div').toggleClass('pagelayer-prop-show'); }); row.find('input').on('input', function(){ var val = []; jQuery(this).parent().find('span').html(this.value); row.find('.pagelayer-elp-filter-input').each(function(){ var value = jQuery(this).val(); val.push(value ? value : 'none'); }); _pagelayer_set_atts(row, val); }); } // The gradient property function pagelayer_elp_gradient(row, prop){ var val = ['','','','','','','']; // Do we have a val ? if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); } } var setColor = [val[1], val[3], val[5]]; //var val = {color: '', blur: '', horizontal: '', vertical: ''}; var getColorList = function(num){ var is_global = pagelayer_is_global_color(setColor[num]); var global_list = '
    '+ '
    '+ 'Global Colors'+ '
    '; for( cid in pagelayer_global_colors ){ var color = pagelayer_global_colors[cid]; var active_class = ''; if(cid == is_global){ active_class = 'pagelayer-global-selected'; } // If global color not exist if(!pagelayer_empty(is_global)){ setColor[num] = pagelayer_global_colors[is_global]['value']; } global_list += '
    '+ ''+ ''+ color['title'] +''+ ''+ color['value'] +''+ '
    '; } global_list += '
    '; return global_list; } var div = '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ getColorList(0)+ '
    '+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ getColorList(1)+ '
    '+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ getColorList(2)+ '
    '+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '; row.append(div); var i = 0; row.find('.pagelayer-elp-color-preview').each(function(){ jQuery(this).css('background', setColor[i]); i++; }); // Remove global var removeGlobal = function(holder){ holder.find('.pagelayer-elp-color-global').removeClass('pagelayer-active-global'); holder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); holder.find('.pagelayer-global-color-list').hide(); } var picker1 = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-gradient-color1')[0], popup : 'left', color : setColor[0], doc: window.parent.document }); // Handle selected color picker1.onChange = function(color) { var cPreview = row.find('.pagelayer-elp-gradient-color1') cPreview.css('background', color.rgbaString); val[1] = (color.hex ? color.hex : ''); _pagelayer_set_atts(row, val); removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder')); }; var picker2 = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-gradient-color2')[0], popup : 'left', color : setColor[1], doc: window.parent.document }); // Handle selected color picker2.onChange = function(color) { var cPreview = row.find('.pagelayer-elp-gradient-color2'); cPreview.css('background', color.rgbaString); val[3] = (color.hex ? color.hex : ''); _pagelayer_set_atts(row, val); removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder')); }; var picker3 = new pagelayer_Picker({ parent : row.find('.pagelayer-elp-gradient-color3')[0], popup : 'left', color : setColor[2], doc: window.parent.document }); // Handle selected color picker3.onChange = function(color) { var cPreview = row.find('.pagelayer-elp-gradient-color3'); cPreview.css('background', color.rgbaString); val[5] = (color.hex ? color.hex : ''); _pagelayer_set_atts(row, val); removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder')); }; row.find('input').on('input', function(){ var i = 0; row.find('.pagelayer-elp-gradient-input').each(function(){ var value = jQuery(this).val(); val[i] = (value ? value : ''); i = i+2; }); _pagelayer_set_atts(row, val); }); row.find('.pagelayer-global-selected').each(function(){ jQuery(this).closest('.pagelayer-elp-color-div-holder').find('.pagelayer-elp-color-global').addClass('pagelayer-active-global'); }); // Handle for global color row.find('.pagelayer-elp-color-global').on('click', function(e){ jQuery(this).closest('.pagelayer-elp-color-div-holder').find('.pagelayer-global-color-list').slideToggle(); }); row.find('.pagelayer-global-setting-color').on('click', function(e){ e.stopPropagation(); if(jQuery(e.target).closest('.pli-service').length < 1){ return; } window.open( pagelayer_customizer_url + '&autofocus%5Bsection%5D=pagelayer_global_colors_sec', '_blank' ); }); // Handle for global color row.find('.pagelayer-global-color-list-item ').on('click', function(e){ e.stopPropagation(); var listItem = jQuery(this); var globalID = listItem.data('global-id'); var listHolder = listItem.closest('.pagelayer-global-color-list'); var colorHolder = listItem.closest('.pagelayer-elp-color-div-holder'); var colorPreview = colorHolder.find('.pagelayer-elp-color-preview'); // Remove previous selecttion listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); listItem.addClass('pagelayer-global-selected'); colorHolder.find('.pagelayer-elp-color-global').addClass('pagelayer-active-global'); listHolder.slideUp(); var color = pagelayer_global_colors[globalID]['value']; colorPreview.removeClass('pagelayer-blank-preview').css('background', color); var i = 1; if(colorPreview.hasClass('pagelayer-elp-gradient-color2')){ i = 3; } if(colorPreview.hasClass('pagelayer-elp-gradient-color3')){ i = 5; } val[i] = '$'+globalID; _pagelayer_set_atts(row, val);// Save and Render }); } function pagelayer_elp_font_family(row, prop){ var options = ''; var option = function(val, lang, type){ var selected = (val != prop.c['val']) ? '' : 'selected="selected"'; var lang = pagelayer_empty(lang) ? 'Default' : lang; return ''; } for(y in pagelayer_fonts){ if(y != 'default'){ options += ''; } for (x in pagelayer_fonts[y]){ options += option((jQuery.isNumeric(x) ? pagelayer_fonts[y][x] : x), pagelayer_fonts[y][x], y); } } var div = '
    '+ ''+ '
    '; row.append(div); row.find('select').on('change', function(){ var sEle = jQuery(this); pagelayer_link_font_family(sEle); _pagelayer_set_atts(row, sEle.val());// Save and Render }); } // The typography property function pagelayer_elp_typography(row, prop){ var val = pagelayer_parse_typo(prop.c['val'], true); var is_typo = pagelayer_is_global_typo(prop.c['val']); var global_active = ''; var save_timer = {}; // Load value of tablet and mobile var val_tablet = pagelayer_get_att(prop.el.$, prop.c['name']+'_tablet'); var val_mobile = pagelayer_get_att(prop.el.$, prop.c['name']+'_mobile'); val_tablet = pagelayer_parse_typo(val_tablet); val_mobile = pagelayer_parse_typo(val_mobile); // If global color not exist if(!pagelayer_empty(is_typo)){ global_active = 'pagelayer-active-global'; } var select = { 'style' : {'' : 'Default', 'normal' : 'Normal', 'italic' : 'Italic', 'oblique' : 'Oblique'}, 'weight' : {'' : 'Default', '100' : '100', '200' : '200', '300' : '300', '400' : '400', '500' : '500', '600' : '600', '700' : '700', '800' : '800', '900' : '900', 'normal' : 'Normal', 'lighter' : 'Lighter', 'bold' : 'Bold', 'bolder' :'Bolder', 'unset' : 'Unset'}, 'variant' : {'' : 'Default', 'normal' : 'Normal', 'small-caps' : 'Small Caps'}, 'deco-line' : {'' : 'Default', 'none' : 'None', 'overline' : 'Overline', 'line-through' : 'Line Through', 'underline' : 'Underline', 'underline overline' : 'Underline Overline'}, 'deco-style' : {'' : 'Default', 'solid' : 'Solid', 'double' : 'Double', 'dotted' : 'Dotted', 'dashed' : 'Dashed', 'wavy' : 'Wavy'}, 'transform' : {'' : 'Default', 'capitalize' : 'Capitalize', 'uppercase' : 'Uppercase', 'lowercase' : 'Lowercase'}, 'fonts' : pagelayer_fonts, } var option = function(val, lang, setVal){ var selected = (val.toLowerCase() != setVal.toLowerCase()) ? '' : 'selected="selected"'; var lang = pagelayer_empty(lang) ? 'Default' : lang; return ''; } var font_options = ''; var font_option = function(val, lang, type, setVal){ var selected = (val != setVal) ? '' : 'selected="selected"'; var lang = pagelayer_empty(lang) ? 'Default' : lang; return ''; } for(y in select['fonts']){ if(y != 'default'){ font_options += ''; } for (x in select['fonts'][y]){ font_options += font_option((jQuery.isNumeric(x) ? select['fonts'][y][x] : x), select['fonts'][y][x], y, val[0]); } } var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'}; var mode = pagelayer_get_screen_mode(); var screen = '
    '+ ''+ ''+ ''+ ''+ '
    '; var div = ''+ ''+ ''+ '
    '+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ ''+ '
    '; for( cid in pagelayer_global_fonts ){ var font = pagelayer_global_fonts[cid]; div += '
    '+ ''+font['title']+''+ '
    '; } div += '
    '+ '
    '+ '
    '+ ''+ ''+ '
    '; div += '
    '+ ''+ ''+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ '
    '+ '
    '+ '
    '; row.append(div); if(pagelayer_empty(val[5]) || val[5]=='none'){ row.find('.pagelayer-elp-typo-deco-style').hide(); } row.find('.pagelayer-elp-typo-edit-div .pli-pencil').on('click', function(){ row.find('.pagelayer-elp-typo-div').toggleClass('pagelayer-prop-show'); }); var save_typography = function(){ var globalEle = row.find('.pagelayer-global-selected'); var atts = {}; atts[prop.c['name']] = {}; atts[prop.c['name']+'_tablet'] = {}; atts[prop.c['name']+'_mobile'] = {}; if(globalEle.length > 0){ atts[prop.c['name']]['global-font'] = globalEle.attr('data-global-id'); } row.find('.pagelayer-elp-typo-input').each(function(){ var iEle = jQuery(this); var name = iEle.attr('name'); var value = iEle.val(); var isGlobal = iEle.closest('[pagelayer-set-global]'); if((value == '' && isGlobal.length < 1 && globalEle.length < 1) || isGlobal.length > 0){ return; } if(name.indexOf('_tablet') > -1){ name = name.replace('_tablet', ''); atts[prop.c['name']+'_tablet'][name] = value; return; } if(name.indexOf('_mobile') > -1){ name = name.replace('_mobile', ''); atts[prop.c['name']+'_mobile'][name] = value; return; } atts[prop.c['name']][name] = value; }); pagelayer_set_atts(prop.el.$, atts); pagelayer_sc_render(prop.el.$); // Render } row.find('.pagelayer-elp-typo-input').on('change', function(e){ var jEle = jQuery(e.target); pagelayer_link_font_family(jEle); jEle.closest('[pagelayer-set-global]').removeAttr('pagelayer-set-global'); // Save value save_typography(); }); row.find('.pagelayer-elp-typo-deco-line select').on('change', function(){ var value = jQuery(this).val(); if(pagelayer_empty(value) || value=='none'){ row.find('.pagelayer-elp-typo-deco-style').hide(); }else{ row.find('.pagelayer-elp-typo-deco-style').show(); } }); // Handle for global font row.find('.pagelayer-elp-global-typo .pagelayer-elp-global-icon').on('click', function(e){ e.stopPropagation(); row.find('.pagelayer-global-font-list').slideToggle(); }); row.find('.pagelayer-elp-global-typo .pli-service').on('click', function(e){ e.stopPropagation(); window.open(pagelayer_customizer_url+'&autofocus%5Bsection%5D=pagelayer_global_fonts_sec', '_blank'); }); // Added restore global val row.find('.pagelayer-elp-typo > .pagelayer-elp-label').each(function(){ var label = jQuery(this); var defaultButton = ''; label.append(defaultButton); label.find('.pagelayer-typo-default').on('click', function(e, skip_save){ skip_save = skip_save || false; var globalID = row.find('.pagelayer-global-selected').data('global-id'); if(pagelayer_empty(globalID) || pagelayer_empty(pagelayer_global_fonts[globalID])){ return; } var setFonts = pagelayer_global_fonts[globalID]['value']; var holder = label.closest('.pagelayer-elp-typo'); var inputs = holder.find('.pagelayer-elp-typo-input'); var name = inputs.first().attr('name'); var val = ''; holder.attr('pagelayer-set-global', 1); if(name in setFonts){ val = setFonts[name]; } if(typeof val == 'object'){ for(var mode in modes){ var _val = ''; if(mode in val){ _val = val[mode]; } holder.find('.pagelayer-elp-typo-input[name="'+name+modes[mode]+'"]').val(_val); } }else{ if(inputs.length > 1){ inputs.val(''); } inputs.first().val(val); } if(skip_save){ return; } // save value clearTimeout(save_timer); save_timer = setTimeout(save_typography, 200); }); }); // Handle for global font row.find('.pagelayer-global-font-list-item').on('click', function(e){ e.stopPropagation(); var listItem = jQuery(this); var fontSelect = row.find('.pagelayer-elp-typo-family .pagelayer-elp-typo-input'); // Remove global typo if(listItem.hasClass('pagelayer-global-selected')){ row.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); row.find('.pagelayer-elp-global-icon').removeClass('pagelayer-active-global'); row.find('[pagelayer-set-global]').removeAttr('pagelayer-set-global'); row.find('.pagelayer-global-on').removeClass('pagelayer-global-on'); // To save and render the typo fontSelect.trigger('change'); return; } var globalID = listItem.data('global-id'); var listHolder = row.find('.pagelayer-global-font-list'); // Remove previous selecttion listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); listItem.addClass('pagelayer-global-selected'); row.find('.pagelayer-elp-global-icon').addClass('pagelayer-active-global'); row.find('.pagelayer-elp-typo-fonts').addClass('pagelayer-global-on'); listHolder.slideUp(); pagelayer_link_font_family(fontSelect); // Apply google fonts // Set global value to all fields and save row.find('.pagelayer-elp-label .pagelayer-typo-default').click(); }); // Active global typography if(!pagelayer_empty(is_typo)){ row.find('[data-global-id="'+is_typo+'"]').addClass('pagelayer-global-selected'); row.find('.pagelayer-elp-global-icon').addClass('pagelayer-active-global'); row.find('.pagelayer-elp-typo-fonts').addClass('pagelayer-global-on'); // Show the global values if is not customize row.find('.pagelayer-elp-typo').attr('pagelayer-set-global', 1); row.find('.pagelayer-elp-typo').find('select, input').each(function(){ var sEle = jQuery(this); var val = sEle.val(); if(pagelayer_empty(val)){ return true; } sEle.closest('.pagelayer-elp-typo').removeAttr('pagelayer-set-global'); }); row.find('[pagelayer-set-global="1"] .pagelayer-typo-default').trigger('click', [true]); } // Set screen mode on change row.find('.pagelayer-elp-screen .pli:not(.pagelayer-prop-screen)').on('click', function(){ var mode = 'desktop'; var jEle = jQuery(this); // Tablet ? if(jEle.hasClass('pli-tablet')){ mode = 'tablet'; } // Mobile ? if(jEle.hasClass('pli-mobile')){ mode = 'mobile'; } pagelayer_set_screen_mode(mode); row.find('.pagelayer-elp-screen .pli').removeClass('open'); }); row.find('.pagelayer-elp-screen').on('pagelayer-screen-changed', function(e){ var mode = pagelayer_get_screen_mode(); row.find('[pagelayer-screen-mode]').attr('pagelayer-screen-mode', mode); }); row.find('.pagelayer-elp-screen .pagelayer-prop-screen').on('click', function(e){ jQuery(this).siblings().toggleClass('open'); }); } // The dimension property function pagelayer_elp_dimension(row, prop){ var val = ['', '']; if(!pagelayer_empty(prop.c['val'])){ val = prop.c['val']; if(pagelayer_is_string(val)){ val = val.split(','); //console.log(val); } } var div = '
    '+ ''+ ''+ ''+ '
    '; row.append(div); // Is the value linked ? var link = row.find('.pagelayer-elp-dimension-div .pli'); var isLinked = 1; var tmp_val = val[0]; for(var p_val in val){ // Check if unlinked if(tmp_val != val[p_val] ){ isLinked = 0; } tmp_val = val[p_val]; } if(isLinked){ link.addClass('pagelayer-elp-dimension-linked'); }else{ link.removeClass('pagelayer-elp-dimension-linked'); } // Handle link on click link.on('click', function(){ var linked = link.hasClass('pagelayer-elp-dimension-linked'); if(linked){ link.removeClass('pagelayer-elp-dimension-linked'); }else{ link.addClass('pagelayer-elp-dimension-linked'); } }); row.find('input').on('input', function(){ // Are the values linked var linked = row.find('.pagelayer-elp-dimension-div .pli').hasClass('pagelayer-elp-dimension-linked'); if(linked){ var val = jQuery(this).val(); row.find('input').each(function(){ jQuery(this).val(val); }); } var vals = []; // Get all values row.find('input').each(function(){ var val = jQuery(this).val(); vals.push(val ? val : 0); }); _pagelayer_set_atts(row, vals);// Save and Render }); }; var first_time_cat = true; // Post Category property function pagelayer_elp_postCategory(row, prop){ if(pagelayer_empty(pagelayer_post_categories)){ return; } // Placing the checked categories on the top. var checked_on_top = function(with_checkbox){ var checked_list = ''; var unchecked_list = ''; jQuery(with_checkbox).children().each(function(){ var list = this; var temp = jQuery(list).find('input[checked=checked]'); if(!pagelayer_empty(temp.length)){ checked_list += list.outerHTML; }else{ unchecked_list += list.outerHTML; } }); return ('
    '); } // Getting checked and unchecked categories on opening of page props settings. if(first_time_cat == false){ var $div = jQuery('
    ').html(pagelayer_post_categories.with_checkbox); $div.find('input[type=checkbox]').attr('checked', false); if(!pagelayer_empty(prop.c['val'])){ var check_val = prop.c['val']; if(pagelayer_is_string(check_val)){ check_val = check_val.split(','); } for(var no in check_val){ $div.find('input[type=checkbox][value='+check_val[no]+']').attr('checked', true); } } pagelayer_post_categories.with_checkbox = $div.html(); } first_time_cat = false; // For making insert new categories functionality. row.append(checked_on_top(pagelayer_post_categories.with_checkbox)); var div = ''; row.append(div); // For making categories drop down options and adding an empty option. if(!pagelayer_empty(pagelayer_post_categories.without_checkbox)){ var options = pagelayer_post_categories.without_checkbox.replace('>', '>'); var options = jQuery(options); row.find('.pagelayer-parent-category').append(options); } // For initiating ajax call when user create new category row.find('form').on('submit', function(e){ e.preventDefault(); jQuery.ajax({ type: 'post', url: pagelayer_ajax_url+'&action=pagelayer_get_cat_checkboxes', dataType: 'json', data: { pagelayer_nonce: pagelayer_ajax_nonce, 'postid': pagelayer_postID, 'new_cat': row.find('form').serialize() }, success: function(obj){ if(pagelayer_empty(obj)){ return; } if('error' in obj){ alert(obj.error); } if(!pagelayer_empty(obj.new_cat_id)){ obj.with_checkbox = obj.with_checkbox.replace('value="'+obj.new_cat_id+'"', 'value="'+obj.new_cat_id+'" checked="checked"'); } var new_cat_elem = jQuery(obj.with_checkbox).find('input[value='+obj.new_cat_id+']').closest('li'); var post_cat = row.find('.pagelayer-post-category'); // Does the new element have no parents ? Then prepend the
  • to the existing list shown if(!pagelayer_empty(new_cat_elem.parent('.pagelayer-post-category').length)){ post_cat.prepend(new_cat_elem); }else{ // Siblings are already there ? if(!pagelayer_empty(new_cat_elem.siblings().length)){ post_cat.find('#'+new_cat_elem.parent().parent('li').attr('id')).children('ul').append(new_cat_elem); // No siblings, hence append }else{ new_cat_elem = new_cat_elem.parent(); post_cat.find('#'+new_cat_elem.closest('li').attr('id')).append(new_cat_elem); } post_cat.prepend(new_cat_elem.parentsUntil('.pagelayer-post-category').last()); } row.find('#pagelayer_cat_parent').replaceWith(obj.without_checkbox.replace('>', '>')); row.find('input[name="category_name"]').val(''); row.find('#pagelayer_cat_parent option[value="0"]').attr('selected', true); checked_cat(row.find('.pagelayer-post-cat-div')); event_function(); pagelayer_post_categories = obj; } }); }); // Show and hide 'Add new Category' button. row.find('.pagelayer-add-cat-btn').on('click', function(){ row.find('form').toggle('fast'); }); var checked_cat = function(elem){ var jEle = elem.find('input:checked'); var cat_array = []; for(var checked_input of jEle){ cat_array.push(jQuery(checked_input).attr('value')); } _pagelayer_set_atts(row, cat_array); }; var event_function = function(){row.find('.pagelayer-post-cat-div').on('change', function(){ checked_cat(jQuery(this)); }); }; event_function(); } var first_time_tag = true; // Post tags property function pagelayer_elp_postTags(row, prop){ if(pagelayer_empty(pagelayer_post_tags)){ return; } var div = ''; row.append(div); // Single tag html var singleTag = function(tags){ var html = ''; jQuery.each(tags, function(index, value){ if(pagelayer_empty(value['term_id'])){ return; } html += ''+value['name']+''; }); return html; } // Single list item html var singleLi= function(tags){ var html = ''; jQuery.each(tags, function(index, value){ html += '
  • '+value['name']+'
  • '; }); return html; } // For making new tags as well as removing using keyboard inputs. var keypresses = function(obj){ row.find('.pagelayer-elp-postTags-inp').on('keydown', function(e){ var val = e.target.value.trim(); var keycode = (event.keyCode ? event.keyCode : event.which); if(keycode == '13' || keycode == '188'){ for(var tag of obj.allTags){ if(tag['name']==val){ insertTags(val, tag['term_id']); return false; } } jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_get_post_tags', type: 'post', dataType: 'json', data: { pagelayer_nonce: pagelayer_ajax_nonce, 'postid': pagelayer_postID, 'new_tag': val }, success: function(resp){ if(pagelayer_empty(resp)){ return; } if('error' in resp){ alert(resp.error); } if(!pagelayer_empty(resp.tag_id)){ insertTags(val, resp.tag_id); tagSearching(resp); pagelayer_post_tags = resp; } } }); return false; }else if(keycode == '8'){ if(!pagelayer_empty(val)){ return true; } row.find('.pagelayer-post-tags').children('span').last().remove(); selected_tags(); } return true; }); } // Inserting tags in the Metabox. var insertTags = function(name, tag_id){ var newItem = []; newItem[0] = { name:name, term_id:tag_id }; row.find('.pagelayer-post-tags').children('input').before(singleTag(newItem)); row.find('.pagelayer-elp-postTags .pagelayer-elp-postTags-inp').val('').focus(); tag_remove(); selected_tags(); } // Removing tags by clicking on the x button. var tag_remove = function(){ row.find('.pagelayer-elp-tags-remove').each(function(){ jQuery(this).on('click',function(){ jQuery(this).parent().remove(); selected_tags(); }); }); } // For searching tag name in the list of the fetched tags var tagSearching = function(obj){ row.find('.pagelayer-elp-postTags-inp').off('keyup'); row.find('.pagelayer-elp-postTags-inp').on("keyup", function() { var value = jQuery(this).val().toLowerCase(); var listUl = row.find('.pagelayer-postTags-list'); listUl.empty(); if(value.length<2){ return; } var listValues = obj.allTags.filter(function(currentValue){ if(currentValue.name.indexOf(this)>-1){ var temp = false; var tags = row.find('.pagelayer-post-tags').children('span'); for(var indi of tags){ if(jQuery(indi).attr('data-val')==currentValue.term_id){ temp = true; } } if(temp==false){ return currentValue; } } }, value); if(!pagelayer_empty(listValues.length)){ listUl.append(singleLi(listValues)); listUl.children().each(function(index, value){ var ele = jQuery(this); ele.off('click'); ele.on('click', function(){ insertTags(ele.text(), ele.attr('data-val')); listUl.empty(); }); }); } }); } var tagsArray = pagelayer_post_tags.postTags; // Getting tags on opening of page props settings. if( first_time_tag == false ){ var i=0; var tags_array = []; // Create array for needed term_id with corresponding to the name. if(!pagelayer_empty(prop.c['val'])){ var tags_val = prop.c['val']; if(pagelayer_is_string(tags_val)){ tags_val = tags_val.split(','); } for(var name in tags_val){ tags_array[i] = pagelayer_post_tags.allTags.find(function(val){return val['name'] == tags_val[name]}); i++; } } tagsArray = tags_array; } row.find('.pagelayer-post-tags').prepend(singleTag(tagsArray)); first_time_tag = false; tagSearching(pagelayer_post_tags); keypresses(pagelayer_post_tags); tag_remove(); var selected_tags = function(){ var jEle = row.find('.pagelayer-elp-postTags .pagelayer-elp-tags-ele'); var tag_array = []; for(var selec_tag of jEle){ tag_array.push(jQuery(selec_tag).text()); } _pagelayer_set_atts(row, tag_array); }; } function pagelayer_elp_permalink(row, prop){ var tmp = ''; var link = ''; if(!pagelayer_empty(pagelayer_permalink_structure)){ tmp = pagelayer_post_permalink.replace(/\/$/,''); link = tmp.substring(0, tmp.lastIndexOf('/')); var new_link = link+'/'+prop.c['val']; prop.default = pagelayer_post.post_name; var div = '
    '+ ''+ ''+new_link+'

    '+ '
    '; }else{ var div = ''; } row.append(div); setTimeout(function(){ row.find(".pagelayer-post-type").html(pagelayer_post.post_type); }, 1000); var string_to_slug = function (str){ str = str.replace(/^\s+|\s+$/g, ''); // trim str = str.toLowerCase(); // remove accents, swap ñ for n, etc var char_map = { // Latin 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à': 'a', 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y', // Latin symbols '©': '(c)', // Greek 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y', 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', 'ΐ': 'i', // Turkish 'Ş': 'S', 'İ': 'I', 'Ç': 'C', 'Ü': 'U', 'Ö': 'O', 'Ğ': 'G', 'ş': 's', 'ı': 'i', 'ç': 'c', 'ü': 'u', 'ö': 'o', 'ğ': 'g', // Russian 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', // Ukrainian 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', 'ї': 'yi', 'ґ': 'g', // Czech 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z', 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', 'ů': 'u', 'ž': 'z', // Polish 'Ą': 'A', 'Ć': 'C', 'Ę': 'e', 'Ł': 'L', 'Ń': 'N', 'Ó': 'o', 'Ś': 'S', 'Ź': 'Z', 'Ż': 'Z', 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', 'ź': 'z', 'ż': 'z', // Latvian 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'i', 'Ķ': 'k', 'Ļ': 'L', 'Ņ': 'N', 'Š': 'S', 'Ū': 'u', 'Ž': 'Z', 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z' }; for(var k in char_map) { str = str.replace(new RegExp(k, 'g'), char_map[k]); } str = str.replace('.', '-')// replace a dot by a dash .replace(/[^a-z0-9 -]/g, '') // remove invalid chars .replace(/\s+/g, '-') // collapse whitespace and replace by a dash .replace(/-+/g, '-') // collapse dashes .replace( /\//g, '' ); // collapse all forward-slashes return str; } var editSlug = function(jEle, val){ // Convert to slug val = string_to_slug(val); var new_link = link+'/'+val; var a = row.find('a'); a.html(new_link); jEle.val(val); return val; } var input = row.find('input'); if(pagelayer_empty(prop.c['val'])){ editSlug(input, pagelayer_post.post_title); input.on('focusin', function(){ if(!pagelayer_empty(pagelayer_get_att(prop.el.$, prop.c['name']))){ return; } editSlug(input, pagelayer_get_att(prop.el.$, 'post_title')); }); } input.on('focusout', function(){ var val = jQuery(this).val(); val = editSlug(jQuery(this), val); if(pagelayer_empty(pagelayer_get_att(prop.el.$, prop.c['name']))){ return; } _pagelayer_set_atts(row, val);// Save and Render }); input.on('input', function(){ var new_link = link+'/'+jQuery(this).val(); var a = row.find('a'); a.html(new_link); _pagelayer_set_atts(row, jQuery(this).val());// Save and Render }); } // The Datetime Property function pagelayer_elp_postDate(row, prop){ var date_array = prop.c['val'].split(" "); var div = ''; row.append(div); row.find('.pagelayer-elp-postdate-div').on('change', function(){ var date_string = jQuery(this).children().eq(0).val() +' '+ jQuery(this).children().eq(1).val(); _pagelayer_set_atts(row, date_string);// Save and Render }); }; // The button Property function pagelayer_elp_trashButton(row, prop){ var div = '
    '+ ''+ '
    '; row.append(div); row.find('.pagelayer-elp-trash-button').on('click', function(event){ event.preventDefault(); if(!confirm(pagelayer_l('delete_post_conf'))){ return; } //console.log(pagelayer_postID); jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_trash_post', type: 'post', dataType: 'json', data: { pagelayer_nonce: pagelayer_ajax_nonce, 'postid': pagelayer_postID }, success: function(resp){ if('error' in resp){ alert(resp.error); } if('url' in resp){ window.top.location.href = resp.url; } } }); }); }; // The Menus list property function pagelayer_elp_menus(row, prop){ var jEle = prop.el.$; var options = ''; var option = function(val, lang){ var selected = (val != prop.c['val']) ? '' : 'selected="selected"'; return ''; } for(x in prop['list']){ // Single item if(typeof prop['list'][x] == 'string'){ options += option(x, prop['list'][x]); // Groups }else{ options += ''; for(var y in prop['list'][x]){ options += option(y, prop['list'][x][y]); } options += ''; } } var div = '
    '+ ''+ '
    '+ '
    '; row.append(div); // Show the properties of the existing things var show_item = function(item, child_elements, depth){ depth = depth || 0; var title = item['title'] || ''; // Create the HTML var holder = jQuery('
    '+ '
    '+ ''+ ''+title+''+ '
    '+ '
    '+ ''+ '
    '); // Append to the row row.find('.pagelayer-elp-menu-items-holder').append(holder); // Setup the toggle holder.find('.pagelayer-elp-group-item-title').first().on('click', function(){ var editArea = jEle.find('.pagelayer-mega-editor-'+item['ID']); var child = editArea.find('[pagelayer-tag="pl_nav_menu_item"]'); var cid; if(child.length < 1){ // First add the element inside the group element var _child = jQuery('
    '); editArea.append(_child); cid = pagelayer_onadd(_child, false); child = jQuery('[pagelayer-id='+cid+']'); // Set Attributes pagelayer_set_atts(child, item); }else{ cid = pagelayer_id(child); } var rEle = holder.find('.pagelayer-elp-group-item-body').first(); holder.attr('pagelayer-group-item-id', cid); // If the props are not already setup if(rEle.html().length < 1){ pagelayer_elpd_generate(jQuery('[pagelayer-id="'+cid+'"]'), rEle); // Change the group item title var tmp_title = holder.find('[pagelayer-elp-name="'+item['title']+'"] [name="'+item['title']+'"]'); if(tmp_title.length > 0){ jQuery(tmp_title).on('input', function(){ holder.find('.pagelayer-elp-group-item-title').html(tmp_title.val()); }); } } if(!rEle.is(':visible')){ jQuery('.pagelayer-active-mega-menu').removeClass('pagelayer-active-mega-menu'); jEle.find('.pagelayer-mega-menu-item.menu-item-'+item['ID']).addClass('pagelayer-active-mega-menu'); } rEle.slideToggle(); }); // Add child elements if(!pagelayer_empty(child_elements[item['ID']])){ depth++; for(var i in child_elements[item['ID']]){ show_item(child_elements[item['ID']][i], child_elements, depth); } } holder.on('change', 'select[name="menu_type"]', function(){ var mType = jQuery(this).val(); var rowGroup = holder.find('[pagelayer-elp-name="element"]'); if(mType != 'mega' || rowGroup.find('.pagelayer-elp-group-div .pagelayer-elp-group-item').length > 0){ return; } rowGroup.find('.pagelayer-elp-button').click(); }); }; var createItemsList = function(menuID){ // Remove previous items row.find('.pagelayer-elp-menu-items-holder').empty(); if(!(menuID in pagelayer_menus_items_list)){ return; } var $elements = pagelayer_menus_items_list[menuID]; var top_level_elements = []; var children_elements = []; for($e in $elements){ // Make a referrer of each menu pagelayer_menus_items_ref[$elements[$e]['ID']] = $elements[$e]; if ( pagelayer_empty( $elements[$e]['menu_item_parent'] ) ) { top_level_elements.push($elements[$e]); } else { if(pagelayer_empty(children_elements[ $elements[$e]['menu_item_parent'] ])){ children_elements[ $elements[$e]['menu_item_parent'] ] = []; } children_elements[ $elements[$e]['menu_item_parent'] ].push($elements[$e]); } } for(var i in top_level_elements){ show_item(top_level_elements[i], children_elements, 0); } } createItemsList(prop.c['val']); row.find('select.pagelayer-elp-select-menus').on('change', function(){ var ID = jQuery(this).val(); // Load Menu list createItemsList(ID); _pagelayer_set_atts(row, ID);// Save and Render }); } // Select frame to upload media function pagelayer_select_frame(tag, state){ var state = state || ''; //console.log(state); var frame; switch(tag){ // Multi image selection frame case 'multi_image': frame = wp.media({ id: 'pagelayer-wp-multi-image-library', frame: 'post', state: state, title: pagelayer_l('frame_multi_image'), multiple: true, library: wp.media.query({type: 'image'}), button: { text: pagelayer_l('insert') }, }); break; // Media selection frame case 'media': frame = wp.media({ id: 'pagelayer-wp-media-library', frame: 'post', state: 'pagelayer-media', title: pagelayer_l('frame_media'), multiple: false, states: [ new wp.media.controller.Library({ id: 'pagelayer-media', title: pagelayer_l('frame_media'), multiple: false, date: true }) ], button: { text: pagelayer_l('insert') }, }); break; //Default frame(for image, video, audio) default: frame = wp.media({ id: 'pagelayer-wp-'+tag+'-library', frame: 'post', state: 'pagelayer-'+tag, title: pagelayer_l('frame_media'), multiple: false, library: wp.media.query({type: tag}), states: [ new wp.media.controller.Library({ id: 'pagelayer-'+tag, title: pagelayer_l('frame_media'), library: wp.media.query( { type: tag } ), multiple: false, date: true }) ], button: { text: pagelayer_l('insert') }, }); break; } frame.on({ 'menu:render:default': function(view){ view.unset('insert'); view.unset('gallery'); view.unset('featured-image'); view.unset('playlist'); view.unset('video-playlist'); }, }, this); return frame; } // function to show default button function pagelayer_show_default_button(row, prop, value){ // Default button is visible or not if(row.find('.pagelayer-elp-default').attr('data_show')){ return; } // value is an object or not if(typeof value == 'object'){ // Checking value for NaN, empty and default. for(var i = 0; i < pagelayer_length(value); i++){ if(value[i]!= prop.default && value[i] == value[i] && value[i] != ''){ row.find('.pagelayer-elp-default').attr('data_show',true); break; } } }else{ if('default' in prop && value!=prop.default){ row.find('.pagelayer-elp-default').attr('data_show',true); }else if(value!=prop.default && value==value && value!=''){ row.find('.pagelayer-elp-default').attr('data_show',true); } } } // Function which checks the properties to not to show default button function pagelayer_properties_filter(property){ var propTypeDefault = ['image', 'text', 'editor', 'textarea', 'checkbox', 'access', 'modal', 'group', 'radio', 'postCategory', 'postTags', 'postDate', 'gradient']; return (jQuery.inArray(property, propTypeDefault) == -1) } // Link font family function pagelayer_link_font_family(sEle){ var value = sEle.val(); if(sEle.val() == 'Default'){ return; } value = value.replace(' ', '+'); var t = sEle.find("option:selected").attr('type'); switch(t){ case 'google': if(jQuery('#pagelayer-google-fonts').length == 0){ if(value==''){ return; } jQuery('head').append(''); }else{ var url = jQuery('#pagelayer-google-fonts').attr('href'); if(url.indexOf(value) == -1){ url = url+'|'+value+':100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; jQuery('#pagelayer-google-fonts').attr('href', url); } } break; case 'custom': if(!pagelayer_empty(jQuery('style[id='+value+'_plf]').length)){ break; } jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_custom_font', type: 'POST', dataType: 'json', data: { 'pagelayer_nonce': pagelayer_ajax_nonce, 'font_name': value }, success: function(data) { if('style' in data){ jQuery('body').append(data['style']); } } }); break; } }PKZ&_1 1 (plugins/pagelayer/js/pagelayer-editor.jsnu[/* PAGELAYER http://pagelayer.com/ (c) Pagelayer Team */ pagelayer = { $: jQuery, $$ : function(select){ return jQuery(select, window.parent.document); }, gDocument : jQuery(window.parent.document).add(document), p : this, copy_selected: '', mouse: {x: -1, y: -1}, history_action : true, global_render : true, history_lastTime : new Date(), props_ref : {}, pro_txt : '', loaded : 0, post_status : '', el: {},// All elements data } var pagelayer_history_obj = {}, pagelayer_revision_obj = {}; var pagelayer_add_section_data = {}; // Console error manager window.onerror = function (msg, url, lineNo, columnNo, error) { if (typeof pagelayer_doc_width === 'undefined') { var test_giver = -1; jQuery.ajax({ url: pagelayer_url+'/js/givejs.php?test=1', type: "GET", dataType: "text", success: function(data){ if(data != 1){ return; } test_giver = 1; }, complete: function(data){ jQuery.ajax({ type: "POST", url: pagelayer_ajax_url+"&action=pagelayer_set_jscss_giver", data: { pagelayer_nonce: pagelayer_ajax_nonce, set : test_giver }, error: function(errorThrown){ console.log("Error saving giver data"); console.log(errorThrown); } }); } }); } var string = msg.toLowerCase(); var substring = "script error"; if(pagelayer.loaded > 0){ return; } if (string.indexOf(substring) > -1){ return; } if(url.indexOf('pagelayer')=== -1){ return; } var message = [ "Message: " + msg, "\r\n
    URL: " + url, "\r\n
    Line: " + lineNo, "\r\n
    Column: "+ columnNo, "\r\n
    Error object: " + error ].join('\n'); //alert("Script Error: See browser console for details"); pagelayer.$$('.pagelayer-errorBox-content').html(message); pagelayer.$$('.pagelayer-errorBox-close').on('click', function(){ pagelayer.$$('.pagelayer-errorBox').fadeOut(); }); pagelayer.$$('.pagelayer-errorBox').fadeIn(); return false; }; // Lets start jQuery(document).ready(pagelayer_start); // Function to load the codes function pagelayer_start(){ pagelayer.loading = 1; console.log('['+pagelayer_brand+'] Starting Pagelayer'); // Prevent the click Insite editor pagelayer_prevent_click(); // Set the title of the parent window try{ pagelayer.$$('head').append(pagelayer.$('title')[0].outerHTML); }catch(e){}; pagelayer.blank_img = pagelayer_url+'/images/default-image.png'; pagelayer_shortcodes['pl_inner_row'] = JSON.parse(JSON.stringify(pagelayer_shortcodes['pl_row'])); pagelayer_shortcodes['pl_inner_row']['name'] = 'Inner Row'; pagelayer_groups['grid'].push('pl_inner_row'); // Removing post props options pagelayer_setting_post_props(); // Make the Topbar pagelayer_bottombar(); // Make the Leftbar pagelayer_leftbar(); // Make widget list toolbar pagelayer_create_widget_tooltip(); // Add widget section pagelayer_add_widget(); // Setup the ELPD pagelayer_elpd_setup(); // Dump the data we have pagelayer_element_dump_data(); // Setup the properties of the elements pagelayer_element_setup(); // An image to show for drag jQuery('body').append(''); // Setup the grid drag pagelayer_setup_drag(); // Set left bar draggable pagelayer_make_leftbar_movable(); // Set to desktop pagelayer_set_screen_mode('desktop'); // Create list of fonts pagelayer_fonts = pagelayer_l('pl_fonts_list'); // Set up right click pagelayer_left_click(); pagelayer_right_click(); // Setup pagelayer history handle pagelayer_history_obj['action_data'] = []; pagelayer_history_setup(true); // Make a quick access of the props pagelayer_make_props_ref(); // Post props exported defaults need to be updated pagelayer_set_exported_defaults(); // Do any actions here pagelayer_trigger_action('pagelayer_setup_history'); // Editor Tooltips pagelayer_tooltip_setup(); // Load Fonts for(var x in pagelayer_loaded_icons){ var item = pagelayer_loaded_icons[x]; jQuery.when( pagelayer_get_stored_data(pagelayer_url+'/fonts/'+item+'.json', pagelayer_ver) ).then(function(){ pagelayer_icons[item] = JSON.parse(pagelayer_get_stored_data(pagelayer_url+'/fonts/'+item+'.json', pagelayer_ver)); }); }; // Set row-option top zero(0) of the first row pagelayer_set_row_option_position(); // Just the txt pagelayer.pro_txt = pagelayer_pro_txt; // Open post props on document load pagelayer.$$('.pagelayer-settings').click(); // Open post props and Make elements editable to edit post props data pagelayer_setup_props_editable(); // Make elements editable jQuery(pagelayer_editable+' [pagelayer-editable]').attr('contenteditable', 'true'); // Use text widget for search widget pagelayer_search_widgets(); // Hide the loader pagelayer_loader_hide(); } // Post props attribute function pagelayer_post_props_atts(prop, val, temp){ val = val || null; temp = temp || false; var proEle = jQuery(pagelayer_editable+' .pagelayer-post_props.pagelayer-ele').first(); if(!pagelayer_empty(temp)){ if(val === null){ return pagelayer_get_tmp_att(proEle, prop); } // Set the temp property as well pagelayer_set_tmp_atts(proEle, prop, val); return true; } if(val === null){ return pagelayer_get_att(proEle, prop); } // Set the property as well pagelayer_set_atts(proEle, prop, val); return true; } // Open post props and Make elements editable to edit post props data function pagelayer_setup_props_editable(){ jQuery('[pagelayer-props-editable]').each(function(){ var jEle = jQuery(this); // Skip element under the editable area if (jEle.closest(pagelayer_editable).length > 0) { return; } var prop = jEle.attr('pagelayer-props-editable'); // Make editable jEle.attr('contenteditable', 'true'); // Reverse setup the event jEle.on('focus', function(){ // Set the property as well var data = pagelayer_post_props_atts(prop); jEle.html(data); }); // Reverse setup the event jEle.on('input', function(){ var val = pagelayer_trim(jEle.html()); // Set the property as well pagelayer_post_props_atts(prop, val); // Update the property var input = pagelayer.$$('[pagelayer-elp-name='+prop+']').find('input,textarea,.trumbowyg-editor'); //console.log(input); if(input.length > 0){ if(input.hasClass('trumbowyg-editor')){ input.html(val); }else{ input.val(val); } } }); }); } // Prevent the click Insite editor function pagelayer_prevent_click(){ jQuery(document).on('submit', function(event){ var target = jQuery(event.target); if (target.closest(pagelayer_editable).length < 1) { event.preventDefault(); } }); jQuery(document).on('click', function(event){ var target = jQuery(event.target); if (target.closest('a').length > 0 && target.closest(pagelayer_editable).length < 1) { event.preventDefault() } }); } // Removing post props options from the editor function pagelayer_setting_post_props(){ if(pagelayer_empty(pagelayer_post_categories)){ delete pagelayer_shortcodes.pl_post_props.postCategory; } if(pagelayer_empty(pagelayer_post_tags)){ delete pagelayer_shortcodes.pl_post_props.postTags; } if(pagelayer_empty(pagelayer_shortcodes.pl_post_props.pageParent.post_parent.list)){ delete pagelayer_shortcodes.pl_post_props.pageParent; } if(pagelayer_post.post_type != 'post'){ delete pagelayer_shortcodes.pl_post_props.params.post_sticky; } if(pagelayer_empty(pagelayer_post_type_features['comments'])){ delete pagelayer_shortcodes.pl_post_props.postDiscussion.comment_status; } if(pagelayer_empty(pagelayer_post_type_features['trackbacks'])){ delete pagelayer_shortcodes.pl_post_props.postDiscussion.ping_status; } if(pagelayer_empty(pagelayer_shortcodes.pl_post_props.postDiscussion)){ delete pagelayer_shortcodes.pl_post_props.postDiscussion; } if(pagelayer_empty(pagelayer_post_type_features['excerpt'])){ delete pagelayer_shortcodes.pl_post_props.postExcerpt; } if(pagelayer_empty(pagelayer_post_type_features['thumbnail'])){ delete pagelayer_shortcodes.pl_post_props.postFeaturedImage; } if(pagelayer_empty(pagelayer_post_type_features['author'])){ delete pagelayer_shortcodes.pl_post_props.params.post_author; } } // Set the default values of all default exported codes function pagelayer_set_exported_defaults(){ // Set defaults for the exported variety if(pagelayer_empty(pagelayer_default_params)){ return; } for(var tag in pagelayer_default_params){ for(var x in pagelayer_default_params[tag]){ if(x in pagelayer.props_ref[tag]){ pagelayer.props_ref[tag][x]['default'] = pagelayer_default_params[tag][x]; } } } } // Do pagelayer Dirty function pagelayer_do_dirty(jEle){ pagelayer_isDirty = true; if (!window.onbeforeunload) { window.onbeforeunload = function(){ return true; }; } pagelayer_trigger_action('pagelayer_do_dirty', [jEle]); } function pagelayer_do_undirty(){ pagelayer_isDirty = false; if (window.onbeforeunload) { window.onbeforeunload = null; } } // Executes when pagelayer is fully loaded function pagelayer_loader_hide(){ var inner = pagelayer.$$('.pagelayer-percent'); inner.attr('loaded', 1); var w = parseInt(inner.text()); var t = setInterval(function() { w = w + 1; inner.html(w +'%'); if (w >= 100){ clearInterval(t); w = 0; var loaderWrapper = pagelayer.$$('#pagelayer-loader-wrapper'); loaderWrapper.addClass('pagelayer-loaded'); loaderWrapper.animate({opacity:0}, function(){ loaderWrapper.remove(); }); } }, 1); pagelayer.loaded = 1; } // Set row-option top zero(0) of the first row function pagelayer_set_row_option_position(){ try{ if(jQuery(pagelayer_editable).offset().top < 20){ jQuery(pagelayer_editable).addClass('pagelayer-row-option-zero'); } }catch(e){ console.log(pagelayer_editable+" not found and hence Pagelayer wont work on this page !"); } } // The jQuery Object of the ELPD var pagelayer_elpd; // Store data values function pagelayer_get_stored_data(url, version){ var name = 'pagelayer_'+url; var data = {}; var force = false; // Try to parse the data try{ data = JSON.parse(localStorage.getItem(name)); if(data['version'] !== version){ force = true; } }catch(e){ force = true; } // Force download if(force){ return jQuery.ajax({ url: url, type: 'GET', dataType: 'text', success:function(newData){ var data = {}; data['version'] = version; data['val'] = newData; localStorage.setItem(name, JSON.stringify(data)); } }); } return data['val']; } function pagelayer_closest_corner(jEle){ var corners = []; var w = jEle.outerWidth(); var h = jEle.outerHeight(); var topleft = jEle.offset(); // 0 - Top Left corners.push(topleft); // 1 - Top Right corners.push({top: topleft.top, left: topleft.left+w}); // 2 - Bottom Right corners.push({top: topleft.top+h, left: topleft.left+w}); // 3 - Bottom Left corners.push({top: topleft.top+h, left: topleft.left}); //console.log(corners); // Calculate the closest to the mouse var distances = {}; for(var c in corners){ var dist = Math.hypot(pagelayer.mouse.x - corners[c].left, pagelayer.mouse.y - corners[c].top); distances[c] = dist; } //console.log(distances); var corner = Object.keys(distances).sort(function(a,b){return distances[a]-distances[b]})[0]; //console.log(corner); return corner; }; // Make left bar draggable function pagelayer_make_leftbar_movable(){ var pl_iframe = pagelayer.$$('.pagelayer-iframe'), pl_leftbar = pagelayer.$$('.pagelayer-leftbar-table'); // On mouse down in pagelayer-topbar-holder pagelayer.$$('.pagelayer-topbar-mover').on('mousedown', function(e){ e = e || window.event; e.preventDefault(); // Get leftbar position var orig_eleX = pl_leftbar.offset().left; var orig_eleY = pl_leftbar.offset().top; // Get the mouse cursor position at startup: var posX = e.clientX; var posY = e.clientY; // The variable needs to be empty. var newMethod = '', change = true; var leftbar_mousemove = function(e){ e = e || window.event; if(change){ // Add class to leftbar pl_leftbar.addClass('pagelayer-leftbar-moving'); // Add left-right overlay pl_iframe.before('
    '); pl_iframe.after('
    '); pagelayer.$$('body').addClass('pagelayer-overflow-hidden'); change = false; } // calculate the new cursor position and set the element left-top position var top = orig_eleY + (e.clientY - posY); var left = orig_eleX + (e.clientX - posX); // set the element's new position: pl_leftbar.css({'top': top +'px','left': left +'px'}); pagelayer.$$('.pagelayer-leftbar-toggle').hide(); // Make a copy of new method var _newMethod = newMethod; newMethod = ''; // Get near by corner var offleft = pl_iframe.offset().left; if(offleft + 100 > e.clientX){ newMethod = 'before'; }else if(offleft+pl_iframe.outerWidth()- 100 < e.clientX){ newMethod = 'after'; } if(_newMethod != newMethod){ pagelayer.$$('.pagelayer-leftbar-move').css({'width' :'', 'opacity': '0.33'}); if(newMethod == 'after'){ pagelayer.$$('.pagelayer-moveto-right').animate({'width' :'60px', 'opacity': '0.66'}, 200); pl_leftbar.addClass('pagelayer-rightbar'); }else if(newMethod == 'before'){ pagelayer.$$('.pagelayer-moveto-left').animate({'width' : '60px', 'opacity': '0.66'}, 200); pl_leftbar.removeClass('pagelayer-rightbar'); } } }; var leftbar_mouseup = function(e){ // Remove events pagelayer.gDocument.off('mousemove', leftbar_mousemove); pagelayer.gDocument.off('mouseup', leftbar_mouseup); // Remove class to leftbar pagelayer.$$('.pagelayer-leftbar-move').remove(); var windowHeight = jQuery(window).height(); if(pl_leftbar.offset().top < 0){ pl_leftbar.css({'top': '10px'}); }else if( (windowHeight - e.clientY) < 10){ pl_leftbar.css({'top': ''+windowHeight - 40+'px'}); } if( !pagelayer_empty(newMethod)){ pl_leftbar.removeClass('pagelayer-leftbar-moving'); pl_leftbar.removeAttr('style'); pagelayer.$$('.pagelayer-leftbar-toggle').show(); pagelayer.$$('body').removeClass('pagelayer-overflow-hidden'); pl_iframe[newMethod](pl_leftbar); } // make change true change = true; }; pagelayer.gDocument.on('mouseup', leftbar_mouseup); pagelayer.gDocument.on('mousemove', leftbar_mousemove); }); } // Make rows and cols draggable function pagelayer_setup_drag(){ // The object to show as drag var shower = jQuery('.pagelayer-drag-show'); // Delete any prospect var clear_prospect = function(){ jQuery('.pagelayer-drag-prospect').remove(); // Shows the wrap as active jQuery('.pagelayer-drag-ele-hover').removeClass('pagelayer-drag-ele-hover'); } // Reset the complete drag stuff var reset_dragging = function(){ pagelayer.dragging = false; pagelayer.drag_is_new = false; pagelayer.drag_mouse = {x: 0, y: 0}; reset_on_drag(); } // Reset the element on you were last var reset_on_drag = function(){ pagelayer.drag_closest = false; pagelayer.drag_closest_corner = null; } // Scroll by var scrollPx = 7; var scrollDist = 30; // If we are too close too the window edge, then scroll var handle_scroll = function(e){ var windowHeight = jQuery(window).height(); var windowWidth = jQuery(window).width(); // Are we to close to the top or bottom if(e.clientY < scrollDist){ window.scrollBy(0, -scrollPx); }else if((windowHeight - e.clientY) < scrollDist){ window.scrollBy(0, scrollPx); } // Are we to close to the top or bottom if(e.clientX < scrollDist){ window.scrollBy(-scrollPx, 0); }else if((windowWidth - e.clientX) < scrollDist){ window.scrollBy(scrollPx, 0); } } // SET the values reset_dragging(); var ondragover = function(e) { //console.log(e); pagelayer.mouse.x = parseInt(e.pageX); pagelayer.mouse.y = parseInt(e.pageY); //console.log(pagelayer.mouse); // Are we dragging ? if(pagelayer.dragging){ //console.log(e); e.preventDefault(); //e.stopPropagation(); // The wrap of the element being dragged var wrap = pagelayer.dragging; // New addition var is_new = pagelayer.drag_is_new; var ele; var tag = pagelayer_tag(wrap); var id = pagelayer_id(wrap); // If existing element then add we are dragging if(!is_new){ // Start Dragging if(!wrap.hasClass('pagelayer-is-dragging')){ wrap.addClass('pagelayer-is-dragging'); } //shower.hide(); ele = document.elementFromPoint(e.clientX, e.clientY); //console.log(ele); // Drag the show object //shower.show(); //var offset = {top: (e.pageY-10)+'px', left: (e.pageX-10)+'px'} //shower.css(offset); }else{ ele = document.elementFromPoint(e.clientX, e.clientY); } //console.log(e); // Have we moved more than 5px; var dist = Math.hypot(pagelayer.mouse.x - pagelayer.drag_mouse.x, pagelayer.mouse.y - pagelayer.drag_mouse.y); //console.log(dist); /*if(dist && dist < 5){ return false; }*/ // Handle the scroll handle_scroll(e); // Find the closest wrap var onWrap; // If we are a column, we can be over another column or row if(tag == 'pl_col'){ // Prevent column in inner-row and it's columns, if the draged column have inner-rows if(wrap.find('.pagelayer-wrap-inner-row').length > 0){ onWrap = jQuery(ele).closest('.pagelayer-wrap-col,.pagelayer-wrap-row'); var innerRow = onWrap.closest(pagelayer_editable +' .pagelayer-wrap-inner-row'); if( onWrap.length < 1 || innerRow.length > 0){ onWrap = jQuery(innerRow).closest('.pagelayer-wrap-col,.pagelayer-wrap-row'); } }else{ onWrap = jQuery(ele).closest('.pagelayer-wrap-col,.pagelayer-wrap-row,.pagelayer-wrap-inner-row'); } //console.log(pagelayer_id(onWrap)); // If we are a row, we can be over another row or a column }else if(tag == 'pl_row'){ onWrap = jQuery(ele).closest('.pagelayer-wrap-row'); //console.log(pagelayer_id(onWrap)); // For inner row we restrict to 1 level only }else if(tag == 'pl_inner_row'){ var ele_wrap = jQuery(ele).parents('.pagelayer-wrap-col'); if( (ele_wrap.length == 1 && !jQuery(ele).hasClass('pagelayer-wrap-col')) || (ele_wrap.length == 0 && jQuery(ele).hasClass('pagelayer-wrap-col')) ){ onWrap = jQuery(ele).closest('.pagelayer-wrap-ele,.pagelayer-wrap-col,.pagelayer-wrap-inner-row'); }else{ onWrap = jQuery(ele).closest('.pagelayer-wrap-inner-row'); } // For every other element, we can be over a col or ele }else{ onWrap = jQuery(ele).closest('.pagelayer-wrap-ele,.pagelayer-wrap-col,.pagelayer-wrap-inner-row'); // If we are inside the same widget tag // We are allowing for now, hence the following is commented /*var sameTag = onWrap.closest(pagelayer_editable +' [pagelayer-tag="'+tag+'"]'); if(sameTag.length > 0){ onWrap = sameTag.closest('.pagelayer-wrap-ele'); }*/ // Is prevent to go inside any widget? if('prevent_inside' in pagelayer_shortcodes[tag] && !pagelayer_empty(pagelayer_shortcodes[tag]['prevent_inside'])){ var preTags = pagelayer_shortcodes[tag]['prevent_inside']; var prevent_inside = false; var preEle = onWrap; if(typeof preTags === 'string'){ preTags = [preTags]; } for(var toFind in preTags){ preEle = onWrap.closest(pagelayer_editable +' [pagelayer-tag="'+preTags[toFind]+'"]'); if (preEle.length > 0) { prevent_inside = true; break; } } // If we find if(prevent_inside){ onWrap = preEle.closest('.pagelayer-wrap-ele'); } } var widGroup = onWrap.closest('.pagelayer-ele-widget-group'); // If we are inside the group widget if(widGroup.length > 0 && widGroup.closest(pagelayer_editable).length > 0){ var wGroupTag = pagelayer_tag(widGroup); var use_inside = false; // If defined use inside only if('use_inside' in pagelayer_shortcodes[tag] && !pagelayer_empty(pagelayer_shortcodes[tag]['use_inside'])){ var inTags = pagelayer_shortcodes[tag]['use_inside']; if(typeof inTags === 'string'){ inTags = [inTags]; } for(var toFind in inTags){ if (wGroupTag == inTags[toFind]) { use_inside = true; } } } // If we find nothing if(!use_inside){ onWrap = widGroup.parent('.pagelayer-wrap-ele'); } } } //console.log(onWrap); // If we find nothing if(pagelayer_empty(onWrap) || onWrap.length < 1){ clear_prospect();// Clear existing prospects reset_on_drag();// Also reset the last on item return false; } /*// If the columns more than 12 inside the row then return - As of now not enabled the below code if(tag == 'pl_col'){ var _onTag = pagelayer_tag(onWrap); var colEles; // Is on col if(_onTag == 'pl_col'){ colEles = onWrap.closest('.pagelayer-row-holder').children('.pagelayer-ele-wrap'); }else{ colEles = onWrap.find('.pagelayer-row-holder').first().children('.pagelayer-ele-wrap'); } // If the columns more than 12 if(colEles.length >= 12){ return false; } }*/ // Get the ID var onId = pagelayer_id(onWrap); var onEle = pagelayer_ele_by_id(onId); // Do we have a parent ? var have_parent = function(Ele){ var pOnId = pagelayer_get_parent(Ele); if(pagelayer_empty(pOnId) || tag == 'pl_col'){ return; } onId = pOnId; onEle = pagelayer_ele_by_id(pOnId); onWrap = pagelayer_wrap_by_id(pOnId); have_parent(onEle); } // Do we have a parent ? have_parent(onEle); var changed = false; // Was it the same ID like the one we were on before if(pagelayer.drag_closest != onId){ pagelayer.drag_closest = onId; changed = true; } //console.log(onId+' '+pagelayer.drag_closest) var req_corners = {0: 'top', 1: 'top', 2: 'bottom', 3: 'bottom'}; // For columns we redefine the top and bottom if(tag == 'pl_col'){ req_corners[1] = 'bottom'; req_corners[3] = 'top'; } // Determine the previous and next var next = wrap.next('.pagelayer-ele-wrap'); var prev = wrap.prev('.pagelayer-ele-wrap'); if(next.length == 1 && pagelayer_id(next) == onId){ req_corners = {0: 'bottom', 1: 'bottom', 2: 'bottom', 3: 'bottom'}; } if(prev.length == 1 && pagelayer_id(prev) == onId){ req_corners = {0: 'top', 1: 'top', 2: 'top', 3: 'top'}; } // Which corner are we closest to ? var corner_num = pagelayer_closest_corner(onWrap); var corner = req_corners[corner_num]; //console.log(corner+' != '+pagelayer.drag_closest_corner) if(corner != pagelayer.drag_closest_corner){ pagelayer.drag_closest_corner = corner; changed = true; } //console.log(changed); // If we are on our self then clear return false and we are on hide active widget if(onId == id || onWrap.hasClass('pagelayer-hide-active')){ clear_prospect();// Clear existing prospects reset_on_drag();// Also reset the last on item return false; } // Then lets start showing if(changed){ // Record the mouse points pagelayer.drag_mouse.x = parseInt(e.pageX); pagelayer.drag_mouse.y = parseInt(e.pageY); // Clear any existing prospect clear_prospect(); // Add new prospect var prospect = '
    '; if(corner == 'bottom'){ onWrap.append(prospect); }else if(corner == 'top'){ onWrap.prepend(prospect); } prospect = jQuery('.pagelayer-drag-prospect') var animate_props = {height: '5px'}; // For column add a special class if(tag == 'pl_col'){ prospect.addClass('pagelayer-drag-prospect-col'); animate_props['width'] = '5px'; // Adjust the left and right var css = {}; css[(corner == 'bottom' ? 'right' : 'left')] = '0px'; prospect.css(css); } // Animate the prospect prospect.animate(animate_props, 200); // Highlight the wrap via overlay onWrap.children('.pagelayer-ele-overlay').addClass('pagelayer-drag-ele-hover'); } } } // When mouse is pressed down var ondragstart = function(e){ //console.log(e); // Target var tEle = jQuery(e.target); var wrap = tEle.closest('.pagelayer-ele-wrap'); //console.log(jEle[0]); // Is it an existing element ? if(wrap.length < 1){ return false; } // Do we have a parent ? var id = pagelayer_id(wrap); var jEle = pagelayer_ele_by_id(id); var pId = pagelayer_get_parent(jEle); if(pId){ wrap = pagelayer_wrap_by_id(pId); } //e.preventDefault(); var tag = pagelayer_tag(wrap); e.originalEvent.dataTransfer.setData('Text', 1); var img = document.createElement('img'); img.src = shower.attr('src'); e.originalEvent.dataTransfer.setDragImage(img, 32, 32); pagelayer.dragging = wrap; } // When mouse is pressed down var ondrop = function(e){ //console.log(e); // Stop dragging ? if(pagelayer.dragging){ e.preventDefault(); var wrap = pagelayer.dragging; var tag = pagelayer_tag(wrap); var gId = wrap.attr('pagelayer-global-id'); var fromEl = wrap.parent(); var id; // Global ID is there for sure ? if(pagelayer_empty(gId) || pagelayer_empty(pagelayer_global_widgets[gId])){ gId = 0; } wrap.removeClass('pagelayer-is-dragging'); // Find any prospect var prospect = jQuery('.pagelayer-drag-prospect'); //console.log(prospect[0]); // It should be exactly 1 if(prospect.length == 1){ var onWrap = prospect.parent(); var onId = pagelayer_id(onWrap); var onTag = pagelayer_tag(onWrap); var dropped; var corner = prospect.attr('pagelayer-corner'); var method = (corner == 'top') ? 'before' : 'after'; var before_loc; // Location before the drop // Create the element if it needs to be created if(pagelayer.drag_is_new){ dropped = jQuery('
    '); // Is there a global ID if(!pagelayer_empty(gId)){ dropped.attr('pagelayer-global-id', gId); } // Move the object }else{ // Get near by element before move before_loc = pagelayer_near_by_ele(pagelayer_id(wrap), tag); dropped = wrap; dropped.detach(); } // If I am a column or row, then I go only before or after my same type ! if((onTag == 'pl_col' || onTag == 'pl_row') && onTag == tag){ // If I am a column and I am on a row // OR I am a normal element and I am on column }else if((tag == 'pl_col' && (onTag == 'pl_row' || onTag == 'pl_inner_row')) || onTag == 'pl_col'){ // We need to find the holder and add the prospect there var holder = pagelayer_shortcodes[onTag]['holder']; onWrap = onWrap.children('.pagelayer-ele').children(holder); method = (corner == 'top') ? 'prepend' : 'append'; } // Attach or shift the element onWrap[method](dropped); //console.log(dropped); // Trigger the onadd if(pagelayer.drag_is_new){ id = pagelayer_onadd(dropped); // Create Column if((tag == 'pl_row' || tag == 'pl_inner_row') && pagelayer_empty( dropped.attr('pagelayer-global-id') )){ var col = jQuery('
    '); jQuery('[pagelayer-id="'+id+'"]').find('.pagelayer-row-holder').append(col); var col_id = pagelayer_onadd(col, false); } // Existing elements }else{ id = pagelayer_id(wrap); // Save in action history pagelayer_history_action_push({ 'title' : pagelayer_shortcodes[tag]['name'], 'action' : 'Moved', 'pl_id' : id, 'before_loc' : before_loc, 'after_loc' : {'method' : method, 'cEle' : onWrap} }); pagelayer_do_dirty(pagelayer_ele_by_id(id)); } // Defining the variables as needed var jEle = pagelayer_ele_by_id(id); wrap = pagelayer_wrap_by_id(id); var toEl = wrap.parent(); // Column number handle if(tag == 'pl_col'){ var row_holder = jEle.parent().closest('.pagelayer-row-holder'); // Renumber the col where you are going pagelayer_renumber_col(row_holder); // Renumber the old columns as well if(!pagelayer.drag_is_new){ var from_row = fromEl.closest('.pagelayer-row-holder'); pagelayer_renumber_col(from_row); } } // Handle the empty col if(tag != 'pl_col'){ pagelayer_empty_col(toEl.closest('.pagelayer-col-holder')); if(!pagelayer.drag_is_new){ pagelayer_empty_col(fromEl.closest('.pagelayer-col-holder')); } } } // Clear prospect clear_prospect(); } reset_dragging(); } // Add the events for inner content - as we are using the drag API jQuery(document).on('dragstart', ondragstart); jQuery(document).on('dragover', ondragover); jQuery(document).on('drop', ondrop); // For addition of new elements pagelayer.$$('.pagelayer-leftbar').on('dragstart', function(e){ //console.log(e); var tEle = jQuery(e.target); var jEle = tEle.closest('.pagelayer-shortcode-drag'); var global_id = jEle.attr('pagelayer-global-id'); // Is it an existing element ? if(jEle.length < 1){ return false; } e.originalEvent.dataTransfer.setData('tag', pagelayer_tag(jEle)); if(!pagelayer_empty(global_id)){ e.originalEvent.dataTransfer.setData( 'global_id', global_id ); } pagelayer.dragging = jEle; pagelayer.drag_is_new = true; }); // Handle editable content by removing drag var onmousedown = function(e){ var tEle = jQuery(e.originalEvent.explicitOriginalTarget); if(tEle.closest('[pagelayer-editable]').length > 0){ //console.log('Is Editable MouseDown'); tEle.parents('[draggable]').attr('draggable', 'false'); } } // Handle editable content by adding drag that was removed var onmouseup = function(e){ jQuery(document).find('[draggable=false]').attr('draggable', 'true'); } // Handle editable contents by temprarily removing drag jQuery(document).on('mousedown', onmousedown); jQuery(document).on('mouseup', onmouseup); }; // Handle empty col // selector should be col holder function pagelayer_empty_col(selector){ // Loop through jQuery(selector).each(function(){ var jEle = jQuery(this);// jEle is the COL HOLDER // Are we a col ? if(!jEle.hasClass('pagelayer-col-holder')){ return; } // Column is becoming blank, so show add ele if(jEle.children().length < 1){ //from.addClass('pagelayer-empty-col'); jEle.append('

    Empty column please Drag Widgets
    '); //var h = jEle.parent().parent().children('.pagelayer-ele-overlay').height(); //jEle.children('.pagelayer-add-ele').height(h); // Any add ele sign with non-empty columns here ? }else if(jEle.children('.pagelayer-add-ele').length > 0 && jEle.children().length > 1){ jEle.children('.pagelayer-add-ele').remove(); } jEle.find('>.pagelayer-add-ele .fas').unbind('click'); jEle.find('>.pagelayer-add-ele .fas').on('click', function(event){ event.stopPropagation(); pagelayer.$$('.pagelayer-elpd-close').click(); pagelayer_show_widget_list(jQuery(this)); }); }); }; // Reset the column widths // The selector should be a ROW HOLDER function pagelayer_renumber_col(selector){ var pEle = jQuery(selector); var children = pEle.children('.pagelayer-ele-wrap'); var cols = Math.floor(12 / (children.length)); var obj = {col: cols}; // Find out the number of cols of other cols children.each(function(){ // This is the wrapper var jEle = jQuery(this); // The real element var Ele = jEle.find('>.pagelayer-ele'); for(var x=1; x<=12; x++){ if(jEle.hasClass('pagelayer-col-'+x)){ jEle.removeClass('pagelayer-col-'+x); Ele.removeClass('pagelayer-col-'+x); break; } } jEle.addClass('pagelayer-col-'+cols); jEle.css({'width': ''}); // Set the att pagelayer_set_atts(Ele, obj); pagelayer_set_atts(Ele, 'col_width',''); pagelayer_sc_render(Ele) }); } // Make column resizable handler function pagelayer_col_make_resizable(wrap){ // Resize handler element var rHandler = jQuery('
    '); var pResize = wrap.children('.pagelayer-ele-overlay').find('.pagelayer-resize-handler'); if(pResize.length > 0){ return; } // Append it wrap.children('.pagelayer-ele-overlay').append(rHandler); // Resize start rHandler.on('mousedown', function(e) { e.preventDefault(); var next_ele = wrap.next(); var rHolder_width = wrap.closest('.pagelayer-row-holder').width(); var new_width, nEle_new_width; // Original width var original_width = parseFloat(window.getComputedStyle(wrap[0]).getPropertyValue('width')); var next_ele_width = parseFloat(window.getComputedStyle(next_ele[0]).getPropertyValue('width')); var original_mouse_x = e.pageX; var both_width = parseInt(original_width + next_ele_width); // Add the element width and next element width both_width = ((both_width / rHolder_width) *100); if(both_width > 100){ return false; } jQuery('body').css({'cursor': 'ew-resize'}); rHandler.css({'display': 'block'}); var mousemoved = false; var r_mousemove = function(e){ mousemoved = true; var width = original_width + (e.pageX - original_mouse_x); // Covert width in percentage new_width = (width / rHolder_width *100).toFixed(2); if(both_width > new_width && new_width > 0){ nEle_new_width = (both_width - new_width).toFixed(2); wrap.css({'width': new_width+'%'}); next_ele.css({'width': nEle_new_width+'%'}); rHandler.attr({'pre-width': new_width+'%', 'next-width': nEle_new_width+'%'}); } }; var r_mouseup = function(e){ jQuery(document).off('mousemove', r_mousemove); jQuery(document).off('mouseup', r_mouseup); jQuery('body').css({'cursor': ''}); rHandler.removeAttr('style pre-width next-width'); // IF mouseMoved if(!mousemoved) return; // find real element and next real element var jEle = wrap.find('>.pagelayer-ele'); var nEle = next_ele.find('>.pagelayer-ele'); var mode = pagelayer_get_screen_mode(); var col_width = 'col_width'; // Do we have screen ? if(mode != 'desktop'){ col_width = col_width +'_'+mode; } // Set the element attrs pagelayer_set_atts(jEle, col_width, new_width); pagelayer_set_atts(jEle, 'col', ''); pagelayer_set_atts(nEle, col_width, nEle_new_width); pagelayer_set_atts(nEle, 'col', ''); }; // Resize start jQuery(document).on('mousemove', r_mousemove); jQuery(document).on('mouseup', r_mouseup); }); } // Handle addition of elements from the left // NOTE : At this point the addition is FINALIZED // The add element cannot be prevented ! function pagelayer_onadd(jEle, toClick){ toClick = arguments.length == 2 ? toClick : true; //console.log(jEle); var id = pagelayer_element_added(jEle); var jEle = jQuery("[pagelayer-id="+id+"]"); if(toClick){ //console.log('here'); jEle.click(); } return id; }; // Add an element into the POST function pagelayer_element_added(jEle){ var sc = jEle.attr('pagelayer-tag'); var id, par_id; var gId = jEle.attr('pagelayer-global-id'); gId = gId && !pagelayer_empty(pagelayer_global_widgets[gId]) ? gId : 0; // Set Pagelayer History FALSE to prevent saving attributes in action history pagelayer.history_action = false; pagelayer.global_render = false; // Is this a global widget ? if(!pagelayer_empty(gId)){ html = pagelayer_element_unsetup(pagelayer_global_widgets[gId].$); // Generate the HTML }else{ html = pagelayer_create_sc(sc); } id = pagelayer_assign_id(html); par_id = id; // Insert the HTML jEle[0].outerHTML = html[0].outerHTML; // Setup the properties of the elements pagelayer_element_setup("[pagelayer-id="+par_id+"], [pagelayer-id="+par_id+"] .pagelayer-ele", true); // Is this a global widget ? Then set this as global element if(!pagelayer_empty(gId)){ html = pagelayer_set_ele_global(jQuery('[pagelayer-id="'+par_id+'"]'), gId); } // Any children to add ? if(!('widget' in pagelayer_shortcodes[sc])){ // The element props var props = pagelayer_shortcodes[sc]; // Do we have to create children ? if('has_group' in props){ // Is this not a global widget ? if(pagelayer_empty(gId)){ var has_group = props['has_group']; var gProp = props[has_group['section']][has_group['prop']]; for(var i=0; i < gProp['count']; i++){ var cid = pagelayer_element_add_child(jQuery("[pagelayer-id="+id+"]"), gProp['sc'], gProp); //pagelayer_element_setup('[pagelayer-id='+cid+']', true); var cEle = pagelayer_ele_by_id(cid); // Set default if( 'item_atts' in gProp && i in gProp['item_atts'] && !pagelayer_empty(gProp['item_atts'][i]) ){ pagelayer_set_atts(cEle, gProp['item_atts'][i]); pagelayer_sc_render(cEle); } } }else{ pagelayer_sc_render(jQuery('[pagelayer-id="'+par_id+'"]')); } } } // Save in action history var cEle = pagelayer_near_by_ele(id, sc); pagelayer_history_action_push({ 'title' : pagelayer_shortcodes[sc]['name'], 'action' : 'Added', 'pl_id' : id, 'html' : jQuery("[pagelayer-id="+id+"]")[0].outerHTML, 'cEle' : cEle }); // Set pagelayer history TRUE pagelayer.history_action = true; pagelayer.global_render = true; // To update nav item list pagelayer_do_dirty(pagelayer_ele_by_id(id)); return id; }; // Add an element function pagelayer_element_add_child(pEle, sc, gProp){ gProp = gProp || {}; var child = pagelayer_create_sc(sc); var cid = pagelayer_assign_id(child); pagelayer_set_parent(child, pagelayer_assign_id(pEle)); // Does the parent have a holder ? var tag = pagelayer_tag(pEle); // There is a holder if('holder' in pagelayer_shortcodes[tag]){ pEle.find(pagelayer_shortcodes[tag]['holder']).append(child); // No holder, just append }else{ pEle.append(child); } pagelayer_element_setup('[pagelayer-id='+cid+']', true); // Certain element have editable areas which are inner rows. For UX we need to add columns for the users if(sc == 'pl_inner_row'){ var rHolder = pagelayer_ele_by_id(cid).find('.pagelayer-row-holder'); if( !pagelayer_empty(gProp) && 'inner_content' in gProp){ var inner_content = gProp['inner_content']; // Add default element if(!pagelayer_empty(inner_content)){ var add_sc = function(hEle, _tag, content){ var dEle = jQuery('
    '); if(_tag == 'pl_col'){ hEle = hEle.closest('.pagelayer-row-holder'); }else{ hEle = hEle.find('.pagelayer-col-holder'); } hEle.append(dEle); var curID = pagelayer_onadd(dEle, false); var curEle = pagelayer_ele_by_id(curID); // Set default if('atts' in content[_tag]){ pagelayer_set_atts(curEle, content[_tag]['atts']); pagelayer_sc_render(curEle); } // Set inner content if('inner_content' in content[_tag]){ for( var key in content[_tag]['inner_content'] ){ for( var _key in content[_tag]['inner_content'][key] ){ add_sc(curEle, _key, content[_tag]['inner_content'][key]); } } } if(_tag == 'pl_col'){ // TODO: unable to set col width pagelayer_renumber_col(hEle); }else{ pagelayer_empty_col(hEle); } }; for( var key in inner_content ){ for( var tag in inner_content[key] ){ add_sc(rHolder, tag, inner_content[key]); } } } pagelayer_empty_col(jQuery('[pagelayer-id="'+cid+'"]').find('.pagelayer-col-holder')); }else{ var col = jQuery('
    '); rHolder.append(col); pagelayer_onadd(col, false); } } // Do we have to create children ? if('has_group' in pagelayer_shortcodes[sc]){ var has_group = pagelayer_shortcodes[sc]['has_group']; var gProp = pagelayer_shortcodes[sc][has_group['section']][has_group['prop']]; for(var i=0; i < gProp['count']; i++){ var in_cid = pagelayer_element_add_child(jQuery("[pagelayer-id="+cid+"]"), gProp['sc'], gProp); } } return cid; }; // Return an element by ID function pagelayer_ele_by_id(id){ return jQuery('[pagelayer-id='+id+']'); }; // Return the wrap by ID function pagelayer_wrap_by_id(id){ return jQuery('[pagelayer-wrap-id='+id+']'); }; // Give the Pagelayer ID function pagelayer_id(jEle){ var id = jEle.attr('pagelayer-wrap-id'); if(id){ return id; } id = jEle.attr('pagelayer-id'); return id; } // Remove Pagelayer ID class function pagelayer_remove_id_class(jEle){ var id = jEle.attr('pagelayer-id'); jEle.removeClass('p-'+id); } // Assign the jQuery object an ID function pagelayer_assign_id(jEle){ // Do you have the pagelayer id var id = jEle.attr("pagelayer-id"); if(!id || id.length < 1){ id = pagelayer_randstr(3)+pagelayer_randInt(9999).toString(); id = id.toLowerCase(); jEle.attr("pagelayer-id", id); } return id; } // Show the edit options function pagelayer_element_clicked(selector, e){ var jEle = jQuery(selector); e = e || false; //console.log(e); // You must be a element atleast if(!jEle.hasClass('pagelayer-ele')){ return false; } // Get the parent var pId = pagelayer_get_parent(jEle); // If we found a parent if(pId){ jEle = pagelayer_ele_by_id(pId); } // Make the editable fields active //pagelayer_clear_editable();// First clear jEle.find('[pagelayer-editable]').each(function (){ pagelayer_make_editable(jQuery(this), e); }); // Show left bar if(pagelayer_empty(e)){ pagelayer.$$('.pagelayer-leftbar-table').removeClass('pagelayer-leftbar-hidden pagelayer-leftbar-minimize'); } // Lets not rebuild everything to make it faster if(pagelayer_is_active(jEle)){ return false; } pagelayer_trigger_action('pagelayer_element_clicked', [jEle]); // Set this as the active element pagelayer_set_active(jEle); // Show the properties pagelayer_elpd_open(jEle); } // Use text widget for search widget function pagelayer_search_widgets(hEle){ hEle = hEle || jQuery(pagelayer_editable +' [pagelayer-tag="pl_text"], '+pagelayer_editable +' [pagelayer-tag="pl_heading"]'); hEle.each(function(){ var jEle = jQuery(this); var tEle = jEle.find('[pagelayer-editable="text"]'); var addPlaceholder = function(ele){ var tVal = ele.text(); if(pagelayer_empty(tVal)){ ele.attr('data-placeholder-text', 'Type / to open widget list'); }else if(ele.attr('data-placeholder-text')){ ele.removeAttr('data-placeholder-text'); } } // Add placeholder text addPlaceholder(tEle); tEle.off('input.search_widgets'); tEle.on('input.search_widgets', function(){ var val = tEle.text(); // Add placeholder text addPlaceholder(tEle); if(val.charAt(0) == "/"){ val = val.replace('/', ''); pagelayer_show_widget_list(tEle, val); }else if(pagelayer.$$('.pagelayer-widget-tooltip').is(':visible')){ // Hide Widget list pagelayer.gDocument.trigger('mousedown.pagelayer_wdlist'); } }); }); } // The edit option function pagelayer_edit_element(selector){ pagelayer_element_clicked(selector); } // Dump the data from the el to the elements function pagelayer_element_dump_data(){ for(var x in pagelayer.el){ var jEle = pagelayer_ele_by_id(x); if(jEle.length > 0){ pagelayer_el_dump_data(jEle); } } } // Setup the properties on a single click function pagelayer_element_setup(selector, render){ var selector = selector || ".pagelayer-ele"; render = render || false; // Loop through jQuery(pagelayer_editable+' '+selector).each(function(){ var jEle = jQuery(this); // Assign an ID if not there var id = pagelayer_assign_id(jEle); var pId = pagelayer_get_parent(jEle) || '';// Options to show on hover var selector = '[pagelayer-id='+id+']'; // Get data part pagelayer.el[id] = pagelayer_el_get_data(jEle); //console.log(jEle[0].outerHTML); //console.log(pagelayer.el[id]); if(render){ pagelayer_sc_render(jEle); } // Get the tag var tag = pagelayer_tag(jEle); var props = pagelayer_get_props(jEle); // Lets check if we are the child of a parent i.e. element of a group if(pagelayer_empty(pId)){ // Get the parent var pEle = jEle.parent().closest('.pagelayer-ele'); // If we found a parent if(pEle.length > 0){ var pTag = pagelayer_tag(pEle); // Is the parent a group of this child ? if(!pagelayer_empty(pagelayer_shortcodes[pTag]) && pagelayer_is_group(pTag)){ var has_group = pagelayer_shortcodes[pTag]['has_group']; var child_type = pagelayer_shortcodes[pTag][has_group['section']][has_group['prop']]['sc']; // If the type is the same as jEle if(child_type == pagelayer_tag(jEle)){ pId = pagelayer_assign_id(pEle); pagelayer_set_parent(jEle, pId); } } } } // If is group of widget? if('widget_group' in props && !pagelayer_empty(props['widget_group'])){ pagelayer_set_widget_group(jEle); } // Make the wraps jEle.wrap('
    '); var wrap = jEle.parent(); // For column we have to do some kidas ! if(tag == 'pl_col'){ var col; for(var x=1; x<=12; x++){ if(jEle.hasClass('pagelayer-col-'+x)){ col = 'pagelayer-col-'+x; break; } } wrap.addClass('pagelayer-col '+col); //jEle.removeClass('pagelayer-col '+col); wrap.addClass('pagelayer-wrap-col'); }else if(tag == 'pl_row'){ wrap.addClass('pagelayer-wrap-row'); }else if(tag == 'pl_inner_row'){ wrap.addClass('pagelayer-wrap-inner-row'); }else{ wrap.addClass('pagelayer-wrap-ele'); } // Create the overlay wrap.prepend('
    '); var overlay = wrap.children('.pagelayer-ele-overlay'); var html; if(tag == 'pl_row' || tag == 'pl_inner_row'){ overlay.addClass('pagelayer-row-hover'); if(jEle.hasClass('pagelayer-row-stretch-full')){ pagelayer_sc_render(jEle); } html = '
    '+ ''+ ''+ ''+ ''+ ''+ '
    '; }else if(tag == 'pl_col'){ overlay.addClass('pagelayer-col-hover'); html = '
    '+ ''+ '
    '; // Is it an empty col ? pagelayer_empty_col(jEle.children('.pagelayer-col-holder')); // Make col resizable pagelayer_col_make_resizable(wrap); }else{ html = '
    '+ ''+ ''+ ''+ ''+ ''+ '
    '; } // Append to the child overlay.append(html); // Add shortcode icon if(tag != 'pl_row' && tag != 'pl_col'){ overlay.append(''); } jQuery('[pagelayer-option-id='+id+']').hide(); // Hide active when not supported by tag if(!pagelayer_empty(props['hide_active'])){ wrap.addClass('pagelayer-hide-active'); } pagelayer_trigger_action('pagelayer_element_setup', [jEle]); // Setup the HOVER events ABD create WRAPS IF we dont have a parent if(pId.length > 0){ return; } // Make the wrap draggable, but only of independent or parent elements wrap.attr('draggable', 'true'); wrap.hover(function(){ // Is there an element option shower ? var opts = jQuery('[pagelayer-option-id='+id+']'); // Give the overlay the hover class opts.parent().addClass('pagelayer-ele-hover'); // Show them opts.show(); }, function(){ // Is there an element option shower ? var opts = jQuery('[pagelayer-option-id='+id+']'); // Remove hover class opts.parent().removeClass('pagelayer-ele-hover'); // Hide opts opts.hide(); }); }); } // Unsetup element for restup function pagelayer_element_unsetup(selector, id){ id = id || false; var src = jQuery(selector); var html = src[0].outerHTML; var jEle = jQuery(html); pagelayer_remove_id_class(jEle); jEle.removeAttr('pagelayer-id'); jEle.removeAttr('pagelayer-active'); jEle.find('[pagelayer-id]').each(function(){ pagelayer_remove_id_class(jQuery(this)); jQuery(this).removeAttr('pagelayer-id'); }); jEle.find('[pagelayer-parent]').removeAttr('pagelayer-parent');// Remove the parent attribute as it will be reset during pagelayer_element_setup jEle.find('style').remove(); jEle.find('.pagelayer-ele-overlay').remove(); // Unwrap the wraps jEle.find('.pagelayer-ele').each(function (){ var ele = jQuery(this); if(ele.parent().is('.pagelayer-ele-wrap')){ ele.unwrap(); } }); // Assign id if(!pagelayer_empty(id)){ jEle.attr('pagelayer-id', id); } return jEle; } // Left Click function pagelayer_left_click(){ jQuery(pagelayer_editable).on('click', function(e){ e.preventDefault();// Added by Jivan in Actions / Revisions version // Hide the context menu jQuery('.pagelayer-right-click-options').hide(); // Target var tEle = jQuery(e.target); // If its an edit option click if(tEle.hasClass('pagelayer-eoi')){ return false; } pagelayer_element_clicked(tEle.closest('.pagelayer-ele'), e); return false; }); }; // Right Click Menu function pagelayer_right_click(){ var html = ''; jQuery('body').append(html); var $contextMenu = jQuery('.pagelayer-right-click-options'); jQuery(pagelayer_editable).on('contextmenu', function(e){ var tEle = jQuery(e.target); var jEle = tEle.closest('.pagelayer-ele-wrap').children('.pagelayer-ele'); // Get the parent var pId = pagelayer_get_parent(jEle); // If we found a parent if(pId){ jEle = pagelayer_ele_by_id(pId); } // The basics var id = pagelayer_assign_id(jEle); var tag = pagelayer_tag(jEle); $contextMenu.find('.pagelayer-right-edit').attr('onclick', 'pagelayer_edit_element("[pagelayer-id='+id+']")').html(' Edit '+pagelayer_shortcodes[tag]['name']); $contextMenu.find('.pagelayer-right-duplicate').attr('onclick', 'pagelayer_copy_element("[pagelayer-id='+id+']")'); $contextMenu.find('.pagelayer-right-copy').attr('onclick', 'pagelayer_copy_select("[pagelayer-id='+id+']")'); $contextMenu.find('.pagelayer-right-paste').attr('onclick', 'pagelayer_paste_element("[pagelayer-id='+id+']")'); $contextMenu.find('.pagelayer-right-delete').attr('onclick', 'pagelayer_delete_element("[pagelayer-id='+id+']")'); // If is pagelayer pro if(!pagelayer_empty(pagelayer_pro)){ $contextMenu.find('.pagelayer-right-save-global-widget').attr('onclick', 'pagelayer_save_sections("[pagelayer-id='+id+']", "global_widget")'); $contextMenu.find('.pagelayer-right-save-section').attr('onclick', 'pagelayer_save_sections("[pagelayer-id='+id+']", "section")'); $contextMenu.find('.pagelayer-right-save-global-section').attr('onclick', 'pagelayer_save_sections("[pagelayer-id='+id+']", "global_section")'); }else{ var pro = $contextMenu.find('[pro="1"]'); if(pro.find('.pagelayer-pro-req').length < 1){ pro.append('Pro'); } pro.css({'color': '#a7a7a7'}); // To stopPropagation pro.parent().on('click', function(e){ e.stopPropagation(); }); } // If copy_selected is empty then copy data from localStorage if(pagelayer_empty(pagelayer.copy_selected)){ pagelayer_copy_from_localStorage(); } // Are we to hide the paste ? if(!pagelayer_empty(pagelayer.copy_selected) && pagelayer_can_copy_to(jEle)){ //console.log(pagelayer_can_copy_to(jEle)); $contextMenu.find('.pagelayer-right-paste').parent().show(); }else{ $contextMenu.find('.pagelayer-right-paste').parent().hide(); } var gId = pagelayer_get_global_id(jEle); // Are we to hide the global widget ? if(!pagelayer_empty(gId) || tag == 'pl_row' || tag == 'pl_inner_row'|| tag == 'pl_col'){ $contextMenu.find('.pagelayer-right-save-global-widget').parent().hide(); }else{ $contextMenu.find('.pagelayer-right-save-global-widget').parent().show(); } var sId = pagelayer_get_att(jEle, 'global-section-id'); // Are we to hide the save as global section ? if( tag == 'pl_row' && pagelayer_empty(sId)){ $contextMenu.find('.pagelayer-right-save-global-section').parent().show(); }else{ $contextMenu.find('.pagelayer-right-save-global-section').parent().hide(); } // Are we to hide the save as section ? if( tag == 'pl_row' ){ $contextMenu.find('.pagelayer-right-save-section').parent().show(); }else{ $contextMenu.find('.pagelayer-right-save-section').parent().hide(); } var hPosition = (e.pageX+$contextMenu.width()>jQuery(window).width()) ? (e.pageX-$contextMenu.width()) : e.pageX; var vPosition = (e.pageY+$contextMenu.height()>jQuery(document).scrollTop()+jQuery(window).height()) ? (e.pageY-$contextMenu.height()) : e.pageY; $contextMenu.css({ display: "block", left: hPosition, top: vPosition }); return false; }); jQuery('html').on('click', function(e){ $contextMenu.hide(); }); } // Set the parent for the group function pagelayer_set_parent(jEle, id){ jEle.attr('pagelayer-parent', id); }; // Set the widget group function pagelayer_set_widget_group(jEle){ jEle.addClass('pagelayer-ele-widget-group'); }; // Get the parent for the group function pagelayer_get_parent(jEle){ return jEle.attr('pagelayer-parent'); }; // Sets the screen mode function pagelayer_set_screen_mode(mode){ var modes = ['desktop', 'tablet', 'mobile']; var body = pagelayer.$$('.pagelayer-iframe-holder iframe'); var current = ''; for(var x in modes){ if(body.hasClass('pagelayer-screen-'+modes[x]) && modes[x] != mode){ current = modes[x]; body.removeClass('pagelayer-screen-'+modes[x]); } } // Add the class body.addClass('pagelayer-screen-'+mode); // Add the class to the button pagelayer.$$('.pagelayer-mode-button').removeClass('pli-'+current).addClass('pli-'+mode); // Add the class to the button pagelayer.$$('.pagelayer-prop-screen').removeClass('pli-'+current).addClass('pli-'+mode); // Trigger screen change if any pagelayer.$$('.pagelayer-elp-screen').trigger('pagelayer-screen-changed'); }; // Get the current screen mode function pagelayer_get_screen_mode(){ var modes = ['desktop', 'tablet', 'mobile']; var body = pagelayer.$$('.pagelayer-iframe-holder iframe'); for(var x in modes){ if(body.hasClass('pagelayer-screen-'+modes[x])){ return modes[x]; } } } var pagelayer_keydown_data = {}; pagelayer_add_action('pagelayer_do_dirty', function(){ pagelayer_keydown_data = {}; }); var pagelayer_active_ele_timmer = {}; // Handle widget selecttion and move cursor in editable areas on key press events jQuery(document).keydown(function(e){ //alert(String.fromCharCode(e.which)); var tEle = jQuery(e.target); var editable = tEle.closest('[contenteditable="true"]'); var tooltip = pagelayer.$$('.pagelayer-widget-tooltip'); // If ArrowDown and ArrowUp key not pressed if(!(e.key == 'ArrowDown' || e.key == 'ArrowUp') || tooltip.is(':visible')){ pagelayer_keydown_data = {}; return; } var findEles = jQuery(pagelayer_editable+' .pagelayer-ele,'+pagelayer_editable+' [contenteditable="true"]'); var activeEle = findEles.first(); if(editable.length > 0){ activeEle = editable; }else if( '$' in pagelayer_keydown_data ){ activeEle = pagelayer_keydown_data.$; }else if( pagelayer_active.el && 'id' in pagelayer_active.el ){ activeEle = pagelayer_active.el.$; } if(pagelayer_empty(activeEle) || activeEle.length < 1){ return; } // Make element active var makeEleActive = function(index, next){ next = next || false; var cursorPos = 0, focusEle; // We are editable area if(editable.length > 0){ var lines = pagelayer_content_line(editable.get(0)); var cursorPos = pagelayer_getCaretCharacterOffsetWithin(editable.get(0)); if((next && lines[lines.length - 1].start > cursorPos) || (!next && lines[0].end < cursorPos)){ return; } e.preventDefault(); var lastLineStart = lines[lines.length - 1]['start']; // We are on the last line if(next && lastLineStart <= cursorPos){ cursorPos = cursorPos - lastLineStart; } } // Search for next/previous element var searchEle = function(indexEle){ indexEle = next ? ++indexEle : --indexEle; var sIndex = findEles.eq(indexEle); if(sIndex.length < 1){ return sIndex; } var sEle = sIndex.closest('.pagelayer-ele'); var tag = pagelayer_tag(sEle); if(tag == 'pl_row' || tag == 'pl_inner_row' || tag == 'pl_col' || sEle.parent().hasClass('pagelayer-hide-active') || !pagelayer_empty(sIndex.attr('pagelayer-parent'))){ sIndex = searchEle(indexEle); } return sIndex; } var ele = searchEle(index); // If ArrowUp and we are come from editable area and previous element is not editable if(ele.length > 0 && !next && ele.attr('contenteditable') != 'true'){ ele = searchEle(findEles.index( ele )); } if(ele.length < 1){ return; } // Save in global variable pagelayer_keydown_data.$ = ele; jQuery(':focus').blur(); var jEle = ele.closest('.pagelayer-ele'); var tag = pagelayer_tag(jEle); if(ele.attr('contenteditable') == 'true'){ focusEle = ele; }else if(tag != 'pl_row' && tag != 'pl_inner_row' && tag != 'pl_col'){ var focusAble = ele.find('[contenteditable="true"]'); var isfocusAble = focusAble.closest('.pagelayer-ele').is(jEle); if(isfocusAble && next){ focusEle = focusAble.first(); }else if(isfocusAble){ focusEle = focusAble.last(); } } if(!pagelayer_empty(focusEle) && focusEle.length > 0){ focusEle.focus(); var focusLine = pagelayer_content_line(focusEle.get(0)); var fLine = next ? focusLine[0] : focusLine[focusLine.length -1]; cursorPos = (fLine['start'] + cursorPos > fLine['end'] ? fLine['end'] : fLine['start'] + cursorPos); pagelayer_setCaret(focusEle.get(0), cursorPos); } pagelayer_set_active(jEle); ele[0].scrollIntoView({behavior: "smooth", block: "nearest"}); clearTimeout(pagelayer_active_ele_timmer); pagelayer_active_ele_timmer = setTimeout(function(){ pagelayer_keydown_data = {}; ele.closest('.pagelayer-ele').click(); }, 1000); } // If cursor on first line & up arrow key var currentIndex = findEles.index( activeEle ); pagelayer_keydown_data.$ = activeEle; // Move active element and cursor arround editor if(e.key == 'ArrowDown'){ makeEleActive(currentIndex, true); } if(e.key == 'ArrowUp'){ makeEleActive(currentIndex, false); } }); // Handle key press events pagelayer.gDocument.keydown(function(event){ //alert(String.fromCharCode(event.which)); var tEle = jQuery(event.target); var editable = tEle.closest('[contenteditable="true"]'); var tooltip = pagelayer.$$('.pagelayer-widget-tooltip'); // Enter handle if(event.keyCode == 13){ var jEle = tEle.closest('.pagelayer-ele'); var tag = pagelayer_tag(jEle); // Add selected widget from widget list if(tooltip.is(':visible')){ tooltip.find('.pagelayer-list-widget-active:visible').click(); return; } if( pagelayer_empty(pagelayer_active.el) || !('id' in pagelayer_active.el) ){ return; } var active_el_par = pagelayer_active.el.$.parent(); // Create and add text widget var addTitle = function(insertAfter){ var ele = jQuery('
    '); insertAfter.after(ele); return pagelayer_ele_by_id( pagelayer_onadd(ele) ); } // If we have an active element then add text widget if(!(tEle.is('input, textarea') || editable.length > 0)){ event.preventDefault(); var activeTag = pagelayer_active.el.tag; // If is row or column ? if(activeTag == 'pl_row' || activeTag == 'pl_col'){ return; } var hEle = addTitle(active_el_par); hEle.click(); hEle.find('[pagelayer-editable]').focus(); // Ensure the column is not empty pagelayer_empty_col(hEle.closest('.pagelayer-col-holder')); return; } if( (tag != 'pl_text' && tag != 'pl_heading') || editable.length < 1 || event.shiftKey){ return; } var selection = window.getSelection(); var range = selection.getRangeAt(0); // We are within the list tag if(jQuery(range.startContainer).closest('[pagelayer-editable] li').length > 0){ return; } event.preventDefault(); var lastChild = editable[0].lastChild; var startContainer = range.startContainer; if(startContainer.nodeType == Node.TEXT_NODE && startContainer.parentNode != editable[0]){ startContainer = startContainer.parentNode; } range.setEndAfter(lastChild); var val = range.cloneContents(); var selfEle = jQuery('
    ').append(val); var selContent = selfEle.html(); var selfFC = selfEle[0].firstChild; var emptyContent = false; if(selfFC == null || pagelayer_empty(selContent)){ selContent = '


    '; emptyContent = true; }else if(selfFC.nodeType == Node.TEXT_NODE){ selContent = '

    '+selContent+'

    '; }else if(selfEle.text() == '' && selfEle.find('br').length < 1){ selContent = '


    '; emptyContent = true; }else if(selfEle.text().trim() == ''){ selContent = selContent.replace(/\s+/, "\u00A0"); emptyContent = true; } range.deleteContents(); if( jQuery(startContainer).is(':first-child') && jQuery(startContainer).is(':empty') ){ jQuery(startContainer).html('
    '); }else if( jQuery(startContainer).is(':empty') ){ jQuery(startContainer).remove(); } // If editor is empty if( editable.is(':empty') ){ editable.html('


    '); } editable.trigger('input'); editable.blur(); // Create and add text widget var ele; if(emptyContent){ ele = addTitle(jEle.parent()); }else{ var id = pagelayer_copy_element(jEle); ele = pagelayer_ele_by_id(id); } ele.click(); var editorArea = ele.find('[pagelayer-editable]'); editorArea.html(selContent); editorArea.find('p:empty').remove(); editorArea.focus().trigger('input'); } // ctrl+s handle if(event.keyCode == 83 && event.ctrlKey){ event.preventDefault(); pagelayer.$$('.pagelayer-bottombar-holder').find('.pagelayer-update-button').click(); } // ctrl+d handle if(event.keyCode == 68 && event.ctrlKey){ // If we have an active element if( pagelayer_active.el && pagelayer_active.el.id ){ event.preventDefault(); pagelayer_copy_element('[pagelayer-id='+pagelayer_active.el.id+']'); } } // Delete handler for text widget if(event.keyCode == 46 && editable.length > 0){ var jEle = tEle.closest('.pagelayer-ele-wrap'); var tag = pagelayer_tag(jEle); var next = jEle.next(); var pTag = pagelayer_tag(next); var selection = window.getSelection(); var orgRange = selection.getRangeAt(0); var cloneRange = orgRange.cloneRange(); if((tag != 'pl_text' && tag != 'pl_heading') || next.length < 1 || pTag != tag || !cloneRange.collapsed ){ return; } var currentOffset = pagelayer_getCaretCharacterOffsetWithin(editable[0]); cloneRange.selectNodeContents(editable[0]); var caretOffset = cloneRange.toString().length; if(currentOffset != caretOffset){ return; } var nextHtml = next.find('[pagelayer-editable="text"]').html(); editable.append(nextHtml); pagelayer_delete_element(next.children('.pagelayer-ele')); } // Backspace handler if(event.keyCode == 8 && editable.length > 0){ var jEle = tEle.closest('.pagelayer-ele-wrap'); var tag = pagelayer_tag(jEle); var prev = jEle.prev(); if((tag != 'pl_text' && tag != 'pl_heading') || prev.length < 1){ return; } var pTag = pagelayer_tag(prev); var selection = window.getSelection(); if (selection == null || selection.rangeCount <= 0) return null; var range1 = selection.getRangeAt(0); if(pTag != tag || range1.startOffset != 0){ return; } var prevArea = prev.find('[pagelayer-editable="text"]'); if( pagelayer_getCaretCharacterOffsetWithin(editable[0]) != 0 || prevArea.length < 1){ return; } //event.preventDefault(); var html = editable.html(); editable.blur(); prev.children('.pagelayer-ele').click(); prevArea.click(); var newSel = window.getSelection(); var newRange = newSel.getRangeAt(0); var lastChild = jQuery(prevArea[0].lastChild); prevArea.append(html); prevArea.trigger('input'); if(lastChild.length > 0){ if(lastChild[0].nextSibling != null){ newRange.setStart(lastChild[0].nextSibling, 0); }else{ newRange.setStartAfter(lastChild[0]); } } newRange.collapse(true); newSel.removeAllRanges(); newSel.addRange(newRange); pagelayer_delete_element(jEle.children('.pagelayer-ele')); } if(tooltip.is(':visible')){ // Select previous widget in widget tooltip if(event.key == 'ArrowUp' || event.key == 'ArrowLeft' || (event.key == 'Tab' && event.shiftKey)){ event.preventDefault(); var current = tooltip.find('.pagelayer-list-widget-active:visible'), prev = current.prevAll('.pagelayer-shortcode-holder:visible'); if(event.key == 'ArrowUp'){ var _prev = prev, cOffset = current.offset(); findNext = false; var searchNext = function(nEle){ var nOffset = nEle.offset(); var nBottom = nOffset.top + nEle.height(); if(nBottom > cOffset.top){ return true; } prev = nEle; findNext = true; // Current element left set +20 to manager previous scale (css) element on hover if(cOffset.left + 20 >= nOffset.left){ return false; } return true; } _prev.each(function(){ return searchNext(jQuery(this)); }); if(!findNext){ var gNext = current.parent().prevAll('.pagelayer-widget-group:visible').first(); _prev = gNext.children('.pagelayer-shortcode-holder:visible'); jQuery(_prev.get().reverse()).each(function(){ return searchNext(jQuery(this)); }); } } if(prev.length < 1){ prev = current.parent().prevAll('.pagelayer-widget-group:visible').first().find('.pagelayer-shortcode-holder:visible').last(); } if(prev.length < 1){ return; } prev.first().trigger('widget_active'); } // Select next widget in widget tooltip if(event.key == 'ArrowDown' || event.key == 'ArrowRight' || (event.key == 'Tab' && !event.shiftKey)){ event.preventDefault(); var current = tooltip.find('.pagelayer-list-widget-active:visible'); next = current.nextAll('.pagelayer-shortcode-holder:visible'); if(event.key == 'ArrowDown'){ var _next = next, cOffset = current.offset(), findNext = false; var searchNext = function(nEle){ var nOffset = nEle.offset(); var cBottom = cOffset.top + current.height(); if(cBottom > nOffset.top){ return true; } next = nEle; findNext = true; // Current element left set -20 to manager next scale (css) element on hover if(cOffset.left - 20 <= nOffset.left){ return false; } return true; } _next.each(function(){ return searchNext(jQuery(this)); }); if(!findNext){ var gNext = current.parent().nextAll('.pagelayer-widget-group:visible').first(); _next = gNext.children('.pagelayer-shortcode-holder:visible'); _next.each(function(){ return searchNext(jQuery(this)); }); } } if(next.length < 1){ next = current.parent().nextAll('.pagelayer-widget-group:visible').first().find('.pagelayer-shortcode-holder:visible'); } if(next.length < 1){ return; } next.first().trigger('widget_active'); } } // Is this in the editable area ? if (tEle.is('input, textarea') || editable.length > 0) { return; } // Delete if(event.keyCode == 46){ pagelayer_delete_element('[pagelayer-active]'); } // ctrl+z handle if(event.keyCode == 90 && event.ctrlKey){ pagelayer_do_history('undo'); } // ctrl+y handle if(event.keyCode == 89 && event.ctrlKey){ pagelayer_do_history('redo'); } }); // Handle Copy of content jQuery(document).on('copy', function(copyEvent){ // Is Selected string? var selectedText = ""; if (window.getSelection){ // all modern browsers and IE9+ selectedText = window.getSelection().toString(); } if(selectedText.length > 0){ return; } if(pagelayer_active.el && pagelayer_active.el.id){ // Do empty clipbord data (copyEvent.originalEvent || copyEvent).clipboardData.setData('text/plain', ''); copyEvent.preventDefault(); // Save the active element id pagelayer_copy_select("[pagelayer-id='"+pagelayer_active.el.id+"']"); } }); // Handle Paste in the editor jQuery(document).on('paste', function(pasteEvent){ var pEle_target = jQuery((pasteEvent.originalEvent || pasteEvent).target); var tag = pagelayer_tag(pEle_target.closest('[pagelayer-id]')); var clipboardData = (pasteEvent.originalEvent || pasteEvent).clipboardData; var items = clipboardData.items; var pagelayer_ajax_func = {}; var contenteditable = false; var pasteWidget = false; if( pEle_target.closest('[contenteditable="true"]').length > 0 || pEle_target.is('input, textarea') ){ pEle_target = pEle_target.closest('[contenteditable="true"], input, textarea'); contenteditable = true; } if( items.length < 1 || (items.length == 1 && pagelayer_empty(clipboardData.getData(items[0].type))) ){ pasteWidget = true; } // This function for ajax before send call back pagelayer_ajax_func['beforeSend'] = function(xhr){ // If target is not content editable if( pagelayer_empty(contenteditable) ){ // If we dont have an active element then return false and stop ajax if( !(pagelayer_active.el && pagelayer_active.el.id) ){ pagelayer_show_msg(pagelayer_l('active_ele_paste_msg')); return false; } pagelayer.copy_selected = jQuery('
    '); // Is it to be pastable if(!pagelayer_can_copy_to('[pagelayer-id="'+pagelayer_active.el.id+'"]')){ pagelayer.copy_selected = ''; return false; } } pEle_target.css({'opacity': '0.33' , 'transition' : '0.1s'}); } // This function for ajax success call back pagelayer_ajax_func['success'] = function(obj){ // Successfully Uploaded if(obj['success']){ // For content editable e.g. Rich Text if( !pagelayer_empty(contenteditable) ){ document.execCommand('insertImage', false, obj['data']['url']); // For our widgets }else{ if(pagelayer_empty(pagelayer_active.el) || pagelayer_empty(pagelayer_active.el.id)){ pagelayer_show_msg('active_ele_paste_msg'); return; } var fTo = pagelayer_can_copy_to('[pagelayer-id="'+pagelayer_active.el.id+'"]'); // We need to empty pagelayer.copy_selected pagelayer.copy_selected = ''; var pasteAfter = function(){ // Prevent to add action history pagelayer.history_action = false; // Create image html var html = pagelayer_create_sc('pl_image'); pagelayer_set_atts(html, 'id', obj['data']['id']); pagelayer_set_tmp_atts(html, 'id-url', obj['data']['url']); // Allow to add action history pagelayer.history_action = true; // Copy the element var id = pagelayer_copy_element(html, fTo); jQuery('[pagelayer-id="'+id+'"]').click(); }; var replaceURL = function(){ // Finding widget image setting using id of jEle. Finding image editor setting from all of the other settings. var row = pagelayer.$$('[pagelayer-element-id='+pagelayer_active.el.id+']').find('.pagelayer-elp-image').eq(0).parent().parent(); row.find('.pagelayer-elp-image').css('background-image', 'url(\''+obj['data']['url']+'\')'); // To remove past temp attr so that they are not involve in future temp values var cname = row.attr('pagelayer-elp-name'); var old = _pagelayer_img_tmp_atts(row); delete old[cname+'-url']; for(var x in obj['data']['sizes']){ _pagelayer_set_tmp_atts(row, x+'-url', obj['data']['sizes'][x]['url']); delete old[cname+'-'+x+'-url']; } for(var x in old){ _pagelayer_set_tmp_atts(row, x+'-url', ''); } // Save and render _pagelayer_set_tmp_atts(row, 'url', obj['data']['url']); _pagelayer_set_atts(row, obj['data']['id']); }; // Image paste confirmation. if(!pagelayer_empty(pagelayer_active.el.tag) && pagelayer_active.el.tag == 'pl_image'){ pagelayer_confirmation_box(pagelayer_l('img_paste_conf'), replaceURL, pasteAfter, pagelayer_l('replace_img'), pagelayer_l('paste_after')); }else{ pasteAfter(); } } // Some error occured }else{ pagelayer_show_msg(obj['data']['message'], 'error', 10000); } } // This function for ajax complete call back pagelayer_ajax_func['complete'] = function(xhr){ //console.log(xhr); pEle_target.css({'opacity': '1' , 'transition' : '0.1s'}); } var findImg = pagelayer_editable_paste_handler(pasteEvent, pagelayer_ajax_func); if(pagelayer_empty(findImg) && pagelayer_empty(contenteditable) || pasteWidget){ // Check the active element if(pagelayer_active.el && pagelayer_active.el.id && pagelayer_active.el.tag != 'pl_post_props'){ var jEle = jQuery("[pagelayer-id='"+pagelayer_active.el.id+"']"); // Check if the any element is copied pagelayer_paste_element("[pagelayer-id='"+pagelayer_active.el.id+"']"); }else{ pagelayer_show_msg(pagelayer_l('no_active_ele_paste')); } } }); // Delete an element as per the selector function pagelayer_delete_element(selector){ var jEle = jQuery(selector); var nearBy = jEle; // Anything found ? if(jEle.length > 0){ var id = pagelayer_assign_id(jEle); var sc = pagelayer_tag(jEle); // Is there a wrap var wrap = jQuery('[pagelayer-wrap-id="'+id+'"]'); var par = wrap.parent(); // Save this element in history action if(pagelayer.history_action){ var cEle = pagelayer_near_by_ele(id, sc); nearBy = jQuery(cEle.cEle); // To save in history, we need to save only element not the wraps as we call setup if we redo or undo jEle.find('style').remove(); jEle.find('.pagelayer-ele-overlay').remove(); // Unwrap the wraps jEle.find('.pagelayer-ele').each(function (){ var ele = jQuery(this); if(ele.parent().is('.pagelayer-ele-wrap')){ ele.unwrap(); } }); pagelayer_history_action_push({ 'title' : pagelayer_shortcodes[sc]['name'], 'action' : 'Deleted', 'pl_id' : id, 'html' : jEle[0].outerHTML, 'cEle' : cEle }); } wrap.remove(); pagelayer_empty_col(par); if( (pagelayer_active.el && pagelayer_active.el.id == id) || (pagelayer_active.el && pagelayer_active.el.id && jQuery('[pagelayer-id="'+pagelayer_active.el.id+'"]').length < 1)){ pagelayer.$$('.pagelayer-elpd-close').click(); } } // Do Pagelayer dirty pagelayer_do_dirty(nearBy); }; // Select an element function pagelayer_copy_select(selector){ var eHtml = jQuery(selector)[0].outerHTML; // Copy data on localStorage localStorage.setItem("pagelayer_ele", eHtml); pagelayer.copy_selected = selector; pagelayer_show_msg( pagelayer_l('copied_msg')); } function pagelayer_can_copy_to(to){ var jEle = jQuery(pagelayer.copy_selected); var tEle = jQuery(to); var eTag = pagelayer_tag(jEle); var tTag = pagelayer_tag(tEle); //console.log(eTag+' - '+tTag); // Final to var fTo; // Selected element is a Row, can go only after a row if(eTag == 'pl_row'){ fTo = tEle.closest('.pagelayer-ele.pagelayer-row'); if(fTo.length != 1) return false; return fTo; } // Selected element is a Column, can go only after a col if(eTag == 'pl_col'){ fTo = tEle.closest('.pagelayer-ele.pagelayer-col'); if(fTo.length != 1) return false; return fTo; } // Is the TARGET a row or column when the selected item is a element if(tTag == 'pl_row' || tTag == 'pl_col'){ return false; } return tEle; } // Select an element function pagelayer_paste_element(to){ // Copy data from localStorage pagelayer_copy_from_localStorage(); var fTo = pagelayer_can_copy_to(to); // Is it a valid to if(!fTo){ return false; } if(!pagelayer_empty(pagelayer.copy_selected)){ pagelayer_copy_element(pagelayer.copy_selected, fTo); return true; } pagelayer_show_msg(pagelayer_l('no_copied')); return false; } // If copy_selected is empty then copy data from localStorage function pagelayer_copy_from_localStorage(){ if(!pagelayer_empty(localStorage.getItem("pagelayer_ele"))){ // Set copy data from localStorage pagelayer.copy_selected = localStorage.getItem("pagelayer_ele"); } } // Copy an element // Note : insertAfter should always be an pagelayer-ele function pagelayer_copy_element(selector, insertAfter){ var src = jQuery(selector); var tag = pagelayer_tag(src); insertAfter = insertAfter || src; insertAfter = insertAfter.parent(); var jEle = pagelayer_element_unsetup(src); // Give it an ID var id = pagelayer_assign_id(jEle); jQuery(insertAfter).after(jEle); pagelayer_element_setup('[pagelayer-id='+id+'], [pagelayer-id='+id+'] .pagelayer-ele', true); if(pagelayer_is_group(tag)){ pagelayer_sc_render(jEle); } // Save this element in history action if(pagelayer.history_action){ var cEle = pagelayer_near_by_ele(id, tag); pagelayer_history_action_push({ 'title' : pagelayer_shortcodes[tag]['name'], 'action' : 'Copied', 'pl_id' : id, 'html' : jEle[0].outerHTML, 'cEle' : cEle }); } //If column then renumber columns if(tag == 'pl_col'){ var row = src.parent().closest('.pagelayer-row'); pagelayer_renumber_col(row); } pagelayer_do_dirty(jEle); return id; }; // Traversing up one step an element function pagelayer_move_element_up(selector){ var src = jQuery(selector); var srcParent = src.parent(); var srcParentPrev = srcParent.prev('.pagelayer-wrap-row, .pagelayer-wrap-inner-row, .pagelayer-wrap-ele'); if(srcParentPrev.length<=0){ return; } var srcTopValue = srcParent.offset().top; if(srcParentPrev.hasClass('pagelayer-wrap-ele')){ var animUpCalc = srcTopValue-srcParentPrev.offset().top; srcParent.animate({top:-animUpCalc}, 200, function(){ srcParent.css('top', ''); srcParentPrev.css('top', ''); srcParentPrev.before(srcParent.detach()); }); srcParentPrev.animate({top:(srcParent.height()+srcParentPrev.height())-animUpCalc}, 200, function(){ srcParentPrev.css('top', ''); }); // Traverse window scroll with the element jQuery('html, body').animate({scrollTop:('-='+(srcTopValue-(srcParentPrev.offset().top)))},200); }else{ srcParentPrev.before(srcParent.detach()); // Traverse window scroll with the element jQuery('html, body').animate({scrollTop:('-='+(srcTopValue-(src.parent().offset().top)))},200); } pagelayer_do_dirty(src); } // Traversing down one step an element function pagelayer_move_element_down(selector){ var src = jQuery(selector); var srcParent = src.parent(); var srcParentNext = srcParent.next('.pagelayer-wrap-row, .pagelayer-wrap-inner-row, .pagelayer-wrap-ele'); if(srcParentNext.length<=0){ return; } var srcTopValue = srcParent.offset().top; if(srcParentNext.hasClass('pagelayer-wrap-ele')){ var animDownCalc = srcParentNext.offset().top-srcTopValue; srcParent.animate({top:(animDownCalc-(srcParent.height()-srcParentNext.height()))}, 200, function(){ srcParent.css('top', ''); srcParentNext.css('top', ''); srcParentNext.after(srcParent.detach()); }); srcParentNext.animate({top:-animDownCalc}, 200, function(){ srcParentNext.css('top', ''); }); // Traverse window scroll with the element jQuery('html, body').animate({scrollTop:('+='+(animDownCalc-(srcParent.height()-srcParentNext.height())))},200); }else{ srcParentNext.after(srcParent.detach()); // Traverse window scroll with the element jQuery('html, body').animate({scrollTop:('+='+((src.parent().offset().top)-srcTopValue))},200); } pagelayer_do_dirty(src); } // Save sections as template function pagelayer_ajax_save_template(data, ajax_call_back = ''){ if(pagelayer_empty(data)){ return; } //save global sections and widgets jQuery.ajax({ type: "POST", url: pagelayer_ajax_url+'&action=pagelayer_save_templ_content&postID='+pagelayer_postID, data: { pagelayer_nonce: pagelayer_ajax_nonce, global_widgets : data }, success: function(response, status, xhr){ //alert(data); var obj = jQuery.parseJSON(response); if(!pagelayer_empty(ajax_call_back) || typeof ajax_call_back == 'function'){ ajax_call_back(obj); } }, error: function(errorThrown){ console.log(errorThrown); } }); } // Get global id of the element function pagelayer_get_global_id(jEle){ return pagelayer_get_att(jEle, 'global_id'); } // Set element as a global widget function pagelayer_set_ele_global(jEle, post_id){ // Add attribute for global ID jEle.attr('pagelayer-global-id', post_id); pagelayer.history_action = false; pagelayer_set_atts(jEle, 'global_id', post_id); pagelayer.history_action = true; return jEle; } // Save widgets as a global widget function pagelayer_save_sections(sel, section = 'section'){ var jEle = jQuery(sel); var pagelayer_ajax_func = {}; var label = 'Please enter the title'; var content = pagelayer_generate_sc(jEle, true); var data = {};// create array for template data data[0] = {}; switch(section){ case 'global_widget' : var title = prompt(label, 'Global Widget'); if (title == null) return; // Save the widget data in global widget array if(pagelayer_empty(pagelayer_global_widgets)){ pagelayer_global_widgets = {}; } break; case'global_section' : var title = prompt(label, 'Global Section'); if (title == null) return; break; case 'section': var title = prompt(label, 'Section'); if (title == null) return; break; } // Add Data data[0]['title'] = title; data[0]['post_type'] = 'pagelayer-template'; data[0]['type'] = section; data[0]['content'] = content.replace(/pagelayer-id="(.*?)"/g, ""); // Need to remove pagelayer id, data[0]['content'] = pagelayer_Base64.encode(data[0]['content']); // This function for ajax success call back of global widget pagelayer_ajax_func['global_widget'] = function(obj){ if(pagelayer_empty(obj['success'])){ return; } for(var post_id in obj['success']){ pagelayer_set_ele_global(jEle, post_id); // Add global jData = {}; jData['post_id'] = post_id; jData['title'] = title; // TODO : create modal to input title jData['$'] = jEle; jData['is_dirty'] = true; // Add the array in global widgets array pagelayer_global_widgets[post_id] = jData; pagelayer.$$('.pagelayer-elpd-close').click(); pagelayer.$$('.pagelayer-widget-tab').click(); break; } } // This function for ajax success call back of global sections pagelayer_ajax_func['global_section'] = function(obj){ // TODO: For global Sections //console.log(obj); } // This function for ajax success call back of section s pagelayer_ajax_func['section'] = function(obj){ //console.log(obj); } pagelayer_ajax_save_template(data, pagelayer_ajax_func[section]); } // Genrate sc for global widgets function pagelayer_generate_sc_global_widget(){ var global_widgets = {}; // Create shortcode for all the global widgets for(var y in pagelayer_global_widgets){ var cWidget = pagelayer_global_widgets[y]; // If is_dirty empty then continue the loop if(pagelayer_empty(cWidget['is_dirty'])){ continue; } global_widgets[y] = {}; global_widgets[y]['title'] = cWidget['title']; global_widgets[y]['post_id'] = pagelayer_empty(cWidget['post_id']) ? 0 : cWidget['post_id']; global_widgets[y]['post_type'] = 'pagelayer-template'; global_widgets[y]['type'] = 'global_widget'; var content = pagelayer_generate_sc(jQuery(cWidget.$), true); var tag = pagelayer_tag(jQuery(cWidget.$)); // IF is group then need to remove pagelayer id, if(!pagelayer_empty(tag) && pagelayer_is_group(tag)){ content = content.replace(/pagelayer-id="(.*?)"/g, ""); } global_widgets[y]['content'] = pagelayer_Base64.encode(content); pagelayer_global_widgets[y]['is_dirty'] = false; } return global_widgets; } var pagelayer_set_global_timmer = {}; // If you edit one Global widget it should be copied to other instances of the same global widget function pagelayer_setup_global_widgets(id, jEle){ if(pagelayer_empty(id) || pagelayer_empty(pagelayer_global_widgets[id])){ return; } var elData = pagelayer_global_widgets[id]; clearTimeout(pagelayer_set_global_timmer); pagelayer_set_global_timmer = setTimeout(function(){ // Set attrs for all the global widgets jQuery(pagelayer_editable+' [pagelayer-global-id='+ id +']').each(function(){ var cEle = jQuery(this); var cEleID = pagelayer_id(cEle); if( jEle.length > 0 && jEle.is(cEle)){ return true; } pagelayer.history_action = false; pagelayer.global_render = false; // Get HTML form global array var html = pagelayer_element_unsetup(elData.$, cEleID); if(cEle.parent().is('.pagelayer-ele-wrap')){ cEle.parent().children('.pagelayer-ele-overlay').remove(); cEle.unwrap(); } cEle[0].outerHTML = html[0].outerHTML; pagelayer_element_setup('[pagelayer-id='+cEleID+'], [pagelayer-id='+cEleID+'] .pagelayer-ele'); pagelayer_sc_render(jQuery('[pagelayer-id="'+cEleID+'"]')); pagelayer.history_action = true; pagelayer.global_render = true; }); }, 3000); } // Language key function pagelayer_l(k){ if(k in pagelayer_lang){ return pagelayer_lang[k]; } return k; } // Get props based on the tag function pagelayer_get_props(jEle){ var props = pagelayer_shortcodes[pagelayer_tag(jEle)]; return props; } // Get all props based on the tag but in a single structure function pagelayer_make_props_ref(){ // Loop through pagelayer_shortcodes for(var tag in pagelayer_shortcodes){ var all_props = pagelayer_shortcodes[tag]; pagelayer.props_ref[tag] = {}; // Loop through all props for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section]; // In case of widgets its possible ! if(pagelayer_empty(props)){ continue; } for(var x in props){ // Create an easy REFERENCE for access pagelayer.props_ref[tag][x] = props[x]; // Screen option REFERENCE is also needed for lookup if('screen' in props[x]){ pagelayer.props_ref[tag][x+'_tablet'] = props[x]; pagelayer.props_ref[tag][x+'_mobile'] = props[x]; } } } } } } // Set the given jELE as active function pagelayer_set_active(jEle){ // Make all other element as inactive jQuery('[pagelayer-active]').each(function(){ var $j = jQuery(this); $j.removeAttr('pagelayer-active'); }); jEle.attr('pagelayer-active', 1); // Add and remove the class jQuery('.pagelayer-active').removeClass('pagelayer-active'); jEle.parent().children('.pagelayer-ele-overlay').addClass('pagelayer-active'); } function pagelayer_sc(sc){ return sc.replace('pl_', ''); }; // Create a HTML dom element of the Short code // Return the jEle function pagelayer_create_sc(sc){ var html; var _sc = pagelayer_sc(sc); var func = window['pagelayer_create_sc_'+sc]; // Generate the HTML if(typeof func == 'function'){ html = window['pagelayer_create_sc_'+sc](); }else{ html = '
    '; } html = jQuery(html); // Add the tag html.attr('pagelayer-tag', sc); // Give it an ID id = pagelayer_assign_id(html); // Try to set the default values over 5 loops pagelayer_set_default_atts(html, 5); return html; }; // Returns a list of default attributes to set as per the current selection function pagelayer_set_default_atts(jEle, set){ set = set || 0; var hasSet = false; for(var i = 1; i <= set;i++){ //console.log('[pagelayer_set_default_atts] Loop :'+i); //console.log(jEle); // Get existing data var el = pagelayer_data(jEle, true); // If it is the last loop and we are greater than 1 if(i > 1 && i == set){ console.log('[pagelayer_default_atts] Still vars to set. Please check your shortcode params !'); } // We are supposed to set ! if('set' in el && !pagelayer_empty(el.set)){ pagelayer_set_atts(jEle, el.set); hasSet = true; }else{ break; } } return hasSet; } // Returns the tag function pagelayer_tag(jEle){ // It could be the wrap if(jEle.hasClass('pagelayer-ele-wrap')){ return jEle.children('.pagelayer-ele').attr('pagelayer-tag'); } // It could be the row or col holder if(jEle.hasClass('pagelayer-row-holder') || jEle.hasClass('pagelayer-col-holder')){ return jEle.parent().attr('pagelayer-tag'); } return jEle.attr('pagelayer-tag'); } function pagelayer_el_data_ref(jEle){ var id = pagelayer_id(jEle); if(!(id in pagelayer.el)){ pagelayer.el[id] = {}; } if(typeof pagelayer.el[id] !== 'object'){ pagelayer.el[id] = {}; } if(!('attr' in pagelayer.el[id])){ pagelayer.el[id]['attr'] = {}; } if(Array.isArray(pagelayer.el[id]['attr'])){ pagelayer.el[id]['attr'] = {}; } if(!('tmp' in pagelayer.el[id])){ pagelayer.el[id]['tmp'] = {}; } if(Array.isArray(pagelayer.el[id]['tmp'])){ pagelayer.el[id]['tmp'] = {}; } return pagelayer.el[id]; }; // Gets the data node which can be position 0 or 1 function pagelayer_el_get_data_node(jEle){ var node = jEle[0].childNodes[0]; if(node && node.nodeType === 8){ return node; } node = jEle[0].childNodes[1]; if(node && node.nodeType === 8){ return node; } return false; } // Get the data function pagelayer_el_get_data(jEle){ var node = pagelayer_el_get_data_node(jEle); if(node){ return JSON.parse(node.nodeValue); } return false; }; // Add the data back again function pagelayer_el_dump_data(jEle){ var node = pagelayer_el_get_data_node(jEle); var d = pagelayer_serializeAttributes(pagelayer_el_data_ref(jEle)); if(node){ node.nodeValue = d; }else{ jEle.prepend(''); } }; // Gets a single attribute value function pagelayer_get_att(jEle, att){ var ref_data = pagelayer_el_data_ref(jEle); if(att in ref_data['attr']){ return ref_data['attr'][att]; } return; }; // Gets a single attribute value function pagelayer_get_tmp_att(jEle, att){ var ref_data = pagelayer_el_data_ref(jEle); if(att in ref_data['tmp']){ return ref_data['tmp'][att]; } return; }; // This function will just set atts and not do anything else // Atts can be string or object. If its string, then val is needed function pagelayer_set_atts(jEle, atts, val){ if(typeof atts == 'string'){ var tmp = {}; tmp[atts] = val; atts = tmp; } if(typeof atts != 'object'){ return false; } var tag = pagelayer_tag(jEle); var trigger_onchange = 0; if(pagelayer_empty(tag)){ console.log('Set atts found no tag'); console.log(jEle); return; } // All props var all_props = pagelayer_shortcodes[tag];//console.log(tag);console.log(jEle); var trigger_props = {}; var no_val = {}; var defaults = {}; var _props = {}; // Loop through all props for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section]; for(var x in props){ if('default' in props[x]){ defaults[x] = 1; } // Create an easy REFERENCE for access _props[x] = props[x]; // Screen option REFERENCE is also needed for lookup if('screen' in _props[x]){ _props[x+'_tablet'] = props[x]; _props[x+'_mobile'] = props[x]; } // Dont set any val, but we set temp value if('no_val' in props[x]){ no_val[x] = 1; } if('req' in props[x] || 'show' in props[x]){ var show = 'req' in props[x] ? props[x]['req'] : props[x]['show']; // We have both req and show, so lets just combine the values and then show // NOTE : We need to make an array and not just merge the 2 as they are references if('req' in props[x] && 'show' in props[x]){ // Add the req values show = JSON.parse(JSON.stringify(props[x]['req'])); // Now the show values need to be looped for(var t in props[x]['show']){ show[t] = props[x]['show'][t]; } } for(var showParam in show){ var val = show[showParam]; var except = showParam.substr(0, 1) == '!' ? true : false; showParam = except ? showParam.substr(1) : showParam; trigger_props[showParam] = 1; } } } } } var ref_data = pagelayer_el_data_ref(jEle); for(var x in atts){ // Are we to trigger change if(x in trigger_props){ trigger_onchange = 1; } //console.log(x+'-'+atts[x]); // Is this a pro feature and we are not pro ? Then we dont do anything and continue ! if(!pagelayer_empty(_props[x]) && 'pro' in _props[x] && pagelayer_empty(pagelayer_pro)){ continue; } if(x in no_val){ pagelayer_set_tmp_atts(jEle, x, atts[x]); continue; } // Record History if(pagelayer.history_action){ var old_val = pagelayer_get_att(jEle, x) || ''; var label = x; if(x in _props && 'label' in _props[x]){ label = _props[x]['label']; } pagelayer_history_action_push({ 'title' : all_props['name'], 'subTitle' : label, 'action' : 'Edited', 'attrType' : 'a_attr', 'pl_id' : pagelayer_id(jEle), 'atts' : x, 'oldVal' : old_val, 'newVal' : atts[x] }); } // Remove the attribute if its BLANK and there is no default for it // If there is a default, we set it to blank to keep record of the current val if(pagelayer_length(atts[x]) < 1){ // Remove values which are not defaults if(!(x in defaults)){ delete ref_data['attr'][x]; // Otherwise keep value set for avoiding resetting }else{ ref_data['attr'][x] = atts[x]; } // Remove the tmp atts anyway pagelayer_clear_tmp_atts(jEle, x); // Set the value }else{ ref_data['attr'][x] = pagelayer_trim(atts[x]); } // Are you the active element if(pagelayer_is_active(jEle)){ // TODO : Record Undo and Redo } } pagelayer_el_dump_data(jEle); // Trigger the change of the parameter and show the required properties if(trigger_onchange){ pagelayer_elpd_show_rows(); } pagelayer_do_dirty(jEle); }; // This function will just set atts and not do anything else // Atts can be string or object. If its string, then val is needed function pagelayer_set_tmp_atts(jEle, atts, val){ if(typeof atts == 'string'){ var tmp = {}; tmp[atts] = val; atts = tmp; } if(typeof atts != 'object'){ return false; } var ref_data = pagelayer_el_data_ref(jEle); for(var x in atts){ // Record history if(pagelayer.history_action){ var old_val = pagelayer_get_tmp_att(jEle, x) || ''; pagelayer_history_action_push({ 'title' : pagelayer_shortcodes[pagelayer_tag(jEle)]['name'], 'subTitle' : x, 'action' : 'Edited', 'attrType' : 'tmp_attr', 'pl_id' : pagelayer_id(jEle), 'atts' : x, 'oldVal' : old_val, 'newVal' : atts[x] }); } ref_data['tmp'][x] = atts[x]; } pagelayer_el_dump_data(jEle); }; // This function removes the temporary attributes of an ele function pagelayer_clear_tmp_atts(jEle, attr){ var to_del = new Array(); var regexp = new RegExp('^'+attr+'\-', 'gi'); var ref_data = pagelayer_el_data_ref(jEle); //console.log(to_del); for(var n in ref_data['tmp']){ if(n.match(regexp)){ delete ref_data['tmp'][n]; } } } // This function removes the temporary attributes of an ele function pagelayer_img_tmp_atts(jEle, attr){ var found = {}; var regexp = new RegExp('^'+attr+'\-', 'gi'); var ref_data = pagelayer_el_data_ref(jEle); for(var n in ref_data['tmp']){ if(n.match(regexp)){ found[n] = 1; } } return found; } // Set the att and classes of an HTML which is not yet created function pagelayer_sc_atts(classes){ var r = new Array(); return 'class="'+classes+' pagelayer-ele" '+r.join(' '); } // Is the jEle the active element ? function pagelayer_is_active(jEle){ // Is this the active Element ? if(pagelayer_empty(pagelayer_active.el) || jEle.attr('pagelayer-id') != pagelayer_active.el.id){ return false; } return true; }; // Removes {{}} from the variable name function pagelayer_var(val){ return val.substring(2, (val.length - 2)); } // Take care of the CSS function pagelayer_css_render(css, val, seperator){ //console.log('CSS '+css+' | '+val); // Seperator seperator = seperator || ','; var replaceCss = function(rule, value, toreplace){ value = pagelayer_hex8_to_rgba(value); // If value has css var then we remove units if(value.match(/var\(/)){ var toreplace = toreplace.replace(/[-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); toreplace = new RegExp( toreplace+'?[^\\s|;]+', 'ig'); } return rule.split(toreplace).join(value); } // Replace the val css = replaceCss(css, val, '{{val}}'); // If there is an array if(css.match(/val\[\d/)){ if(typeof val != 'object' || val === null){ val = String(val).split(seperator); } for(var i in val){ css = replaceCss(css, val[i], '{{val['+i+']}}'); } } //console.log('Final CSS '+css); return css; }; // Handle hexa to rgba and also remove alpha which is ff function pagelayer_hex8_to_rgba(val){ val = String(val); // If opacity is ff then discard ff if(val.match(/^#([a-f0-9]{6})ff$/)){ return val.substr(0,7); } // Lets handle the RGB+opacity if(val.match(/^#([a-f0-9]{8})$/)){ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(val); val = 'rgba('+parseInt(result[1], 16)+', '+parseInt(result[2], 16)+', '+parseInt(result[3], 16)+', '+(parseInt(result[4], 16)/255).toFixed(2)+')'; } return val; }; // Replace the variables function pagelayer_parse_el_vars(str, el){ str = str.split('{{element}}').join(el.CSS.cssSel); str = str.split('{{wrap}}').join(el.CSS.wrap); str = str.split('{{ele_id}}').join(el.id); return str; } // Replace the variables function pagelayer_parse_vars(str, el){ for(var x in el.tmp){ str = str.split('{{{'+x+'}}}').join(el.tmp[x]); } for(var x in el.atts){ str = str.split('{{'+x+'}}').join(el.atts[x]); } return str; }; // Render the Element function pagelayer_sc_render(jEle){ // We render only the active element if(!pagelayer_is_active(jEle)){ //return false; } //console.log('Rendering'); // Handle the CSS part // Get the id, tag, atts, data, etc var el = pagelayer_data(jEle, true); var all_props = pagelayer_shortcodes[el.tag]; var elCSS = { classes: [], remove_classes: [], attr: [], remove_attr: [], css: [], edit: [], cssSel: '.p-'+el.id, sel: '[pagelayer-id="'+el.id+'"]', wrap: '[pagelayer-wrap-id="'+el.id+'"]' }; // Create a reference el.CSS = elCSS; // Make sure if we have the class selector el.$.addClass('p-'+el.id); //console.log(el.atts); for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ //console.log(tab+' '+section); var props = section in pagelayer_shortcodes[el.tag] ? pagelayer_shortcodes[el.tag][section] : pagelayer_styles[section];//console.log(props); // Loop the props for(var x in props){ // pagelayer_data will return attributes even if they are BLANK e.g. attr="" // Render doesnt consider BLANK values as values, and we are unsetting them now // If in any situation you need to consider blank values, please handle in the JS / PHP function of the Shortcode if(x in el.atts && pagelayer_length(el.atts[x]) < 1){ delete el.atts[x]; } // Any editor ? if('edit' in props[x]){ elCSS.edit.push({prop: x, sel: props[x]['edit']}); } // Load permalink values if(props[x]['type'] == 'link'){ if('selector' in props[x] && typeof el.atts[x] == 'object'){ var tmp = {}; // Link is required for check IF and IF-EXT in html if(pagelayer_length(el.atts[x]['link']) < 1){ delete el.atts[x]; continue; } if( 'target' in el.atts[x] && !pagelayer_empty(el.atts[x]['target']) ){ tmp = {'sel': props[x]['selector'], 'val': 'target="_blank"'}; elCSS['attr'].push(tmp); } if( 'rel' in el.atts[x] && !pagelayer_empty(el.atts[x]['rel']) ){ tmp = {'sel': props[x]['selector'], 'val': 'rel="nofollow"'}; elCSS['attr'].push(tmp); } if( 'attrs' in el.atts[x] && !pagelayer_empty(el.atts[x]['attrs']) ){ var attrsVal = pagelayer_trim(el.atts[x]['attrs'].split(';')); attrsVal.forEach(function(item, index){ var splitValue = item.split(/=(.*)/); var attKey = pagelayer_trim(splitValue[0]); var setAtt = ''; // Validate the attrs name if(attKey.length < 1 || pagelayer_empty(attKey.match(/^[a-z_]+[\w:.-]*$/i))){ return; } if(splitValue.length < 2){ setAtt = attKey+'=""'; }else{ setAtt = attKey+'="'+splitValue[1]+'"'; } tmp = {'sel': props[x]['selector'], 'val': setAtt}; elCSS['attr'].push(tmp); }); } } } // Do we have a addClass ? // We are checking before the element has a value so that we can add or remove the class if('addClass' in props[x]){ var addClasses; // Convert the string to an array if(typeof props[x]['addClass'] === 'string'){ addClasses = [props[x]['addClass']]; }else{ addClasses = props[x]['addClass']; } for(var c in addClasses){ // The selector var tSel = jQuery.isNumeric(c) ? '' : c; // If there is a VAL // NOTE : Only val is allowed when there is a list if(addClasses[c].match(/\{\{val\}\}/) && 'list' in props[x]){ for(var l in props[x]['list']){ var tmp = {'sel': tSel, 'val': addClasses[c].replace('{{val}}', l)}; if(el.atts[x] == l){ elCSS['classes'].push(tmp); }else{ elCSS['remove_classes'].push(tmp); } } }else{ var tmp = {'sel': tSel, 'val': addClasses[c].replace('{{val}}', el.atts[x])}; // If the value is there if(x in el.atts){ elCSS['classes'].push(tmp); }else{ elCSS['remove_classes'].push(tmp); } } } } // Do we have a addAttr ? // We are checking before the element has a value so that we can add or remove the attr if('addAttr' in props[x]){ var addAttr; // Convert the string to an array if(typeof props[x]['addAttr'] === 'string'){ addAttr = [props[x]['addAttr']]; }else{ addAttr = props[x]['addAttr']; } for(var c in addAttr){ // The selector var tSel = jQuery.isNumeric(c) ? '' : c; var tmp = {'sel': tSel, 'val': addAttr[c]}; // If the value is there if(x in el.atts){ elCSS['attr'].push(tmp); }else{ elCSS['remove_attr'].push(tmp); } } } // Do we have a CSS ? if('css' in props[x]){ var css; // Convert the string to an array if(typeof props[x]['css'] === 'string'){ css = [props[x]['css']]; }else{ css = props[x]['css']; } // Screen modes var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'}; var desk_global = (props[x]['type'] == 'typography') ? pagelayer_is_global_typo(el.atts[x]) : ''; for(var m in modes){ var xm = x+modes[m]; // If the value is there if(!(xm in el.atts) && pagelayer_empty(desk_global)){ continue; } var xm_val = el.atts[xm]; // If is global color if(props[x]['type'] == 'color'){ xm_val = pagelayer_parse_color(el.atts[xm]); } // If is global font if(props[x]['type'] == 'typography'){ xm_val = pagelayer_parse_typo(xm_val, false, desk_global, m); } // If there is global gradient color if(props[x]['type'] == 'gradient'){ if(pagelayer_is_string(xm_val)){ xm_val = xm_val.split(','); } for(key in xm_val){ xm_val[key] = pagelayer_parse_color(xm_val[key]); } } for(var c in css){ // The selector var tSel = jQuery.isNumeric(c) ? '{{element}}' : c; var tmp = { sel: tSel, val: pagelayer_css_render(css[c], xm_val, (props[x].sep || ',')), }; // Is this a tablet if(m == 'tablet'){ tmp.sel = '@media (max-width: '+ pagelayer_settings['tablet_breakpoint'] +'px) and (min-width: '+ (pagelayer_settings['mobile_breakpoint'] +1) +'px){'+tmp.sel; tmp.val = tmp.val+'}'; } // Is this a mobile mode ? if(m == 'mobile'){ tmp.sel = '@media (max-width: '+ pagelayer_settings['mobile_breakpoint'] +'px){'+tmp.sel; tmp.val = tmp.val+'}'; } // Push to store elCSS.css.push(tmp); } } } } } } // If there is an HTML, then process it if('html' in pagelayer_shortcodes[el.tag]){ // Is there a function to render ? var fn = window['pagelayer_render_'+jEle.attr('pagelayer-tag')]; if(typeof fn == 'function'){ fn(el); } el.iHTML = jQuery('
    '+pagelayer_shortcodes[el.tag]['html']+'
    '); // Lets process the 'if-ext' el.iHTML.find('[if-ext]').each(function (){ var $j = jQuery(this); var reqvar = pagelayer_var($j.attr('if-ext')); $j.removeAttr('if-ext'); // Is the element there ? if(!(reqvar in el.atts && !pagelayer_empty(el.atts[reqvar]))){ //console.log('HERE'); $j[0].outerHTML = $j.html(); } }); // Lets process the 'if' el.iHTML.find('[if]').each(function (){ var $j = jQuery(this); var reqvar = pagelayer_var($j.attr('if')); $j.removeAttr('if'); // Is the element there ? if(!(reqvar in el.atts && !pagelayer_empty(el.atts[reqvar]))){ //console.log('HERE'); $j.remove(); } }); //console.log(el.atts); // Parse the variables var new_html = pagelayer_parse_vars(el.iHTML.html(), el); el.iHTML.html(new_html); // Do we have to wrap the innerHTML ? if('holder' in pagelayer_shortcodes[el.tag]){ var hSel = pagelayer_shortcodes[el.tag]['holder']; var holder = jEle.find(hSel).first(); // Detach the holder holder.detach(); // Add the new HTML el.$.html(el.iHTML.html()); // reAttach the children only el.$.find(hSel).html(holder.children()); // No holder }else{ //console.log(el.iHTML.html()); el.$.html(el.iHTML.html()); } // Rows, Cols and Groups }else{ // Is there a function to render ? var fn = window['pagelayer_sc_render_'+jEle.attr('pagelayer-tag')]; if(typeof fn == 'function'){ fn(el); } } // Is there a function to render after HTML insertion but before CSS and attr ? var post = window['pagelayer_render_html_'+jEle.attr('pagelayer-tag')]; if(typeof post == 'function'){ post(el); } //////////////////////////// // Are there any edit fields ? //////////////////////////// if(elCSS.edit.length > 0){ for(var c in elCSS.edit){ var prop = elCSS.edit[c]['prop']; var tSel = elCSS.edit[c]['sel']; var node = tSel.length < 1 ? jEle : jEle.find(tSel); node.attr({'pagelayer-editable': prop, 'contenteditable' : 'true'}); } } //////////////////////////// // Are there any addClass ? //////////////////////////// // If we have any classes to add if(elCSS.classes.length > 0){ //console.log(elCSS.classes); for(var c in elCSS.classes){ var tSel = elCSS.classes[c]['sel'].replace('{{element}}', ''); var node = tSel.length < 1 ? jEle : jEle.find(tSel); if(!node.hasClass(elCSS.classes[c]['val'])){ node.addClass(elCSS.classes[c]['val']); } } } // If we have any classes to remove if(elCSS.remove_classes.length > 0){ //console.log(elCSS.remove_classes); for(var c in elCSS.remove_classes){ var tSel = elCSS.remove_classes[c]['sel'].replace('{{element}}', ''); var node = tSel.length < 1 ? jEle : jEle.find(tSel); if(node.hasClass(elCSS.remove_classes[c]['val'])){ node.removeClass(elCSS.remove_classes[c]['val']); } } } //////////////////////////// // Are there any addAttr ? //////////////////////////// // If we have any attributes to add if(elCSS.attr.length > 0){ //console.log(elCSS.attr); for(var c in elCSS.attr){ var tSel = elCSS.attr[c]['sel'].replace('{{element}}', ''); var node = tSel.length < 1 ? jEle : jEle.find(tSel); var att = elCSS.attr[c]['val'].split(/=(.*)/); att[1] = pagelayer_parse_vars(att[1], el); att[1] = pagelayer_trim(att[1], '"'); // Is it the same val ? if(!node.attr(att[0]) !== att[1]){ node.attr(att[0], att[1]); } } } // If we have any attributes to add if(elCSS.remove_attr.length > 0){ //console.log(elCSS.remove_attr); for(var c in elCSS.remove_attr){ var tSel = elCSS.remove_attr[c]['sel'].replace('{{element}}', ''); var node = tSel.length < 1 ? jEle : jEle.find(tSel); var att = elCSS.remove_attr[c]['val'].split('='); if(node.is('['+att[0]+']')){ node.removeAttr(att[0]); } } } // The style element var style = pagelayer.$('[pagelayer-style-id='+el.id+']'); // If we have any RULES CSS, then handle it if(elCSS.css.length > 0){ // Did we find it ? if(style.length < 1){ jEle.prepend(''); } // Get it again style = pagelayer.$('[pagelayer-style-id='+el.id+']'); // Make the rules var rules = []; // Loop for(var c in elCSS.css){ var tSel = pagelayer_parse_el_vars(elCSS.css[c]['sel'], el); var rule = elCSS.css[c]['val']; if(tSel.length > 0){ rules.push(tSel+'{'+rule+'}'); }else{ rules.push(pagelayer_parse_el_vars(rule, el)); } } // CSS Selector overide if(!pagelayer_empty(all_props['overide_css_selector'])){ for(var r in rules){ var overide_css_selector = pagelayer_parse_el_vars(all_props['overide_css_selector'], el); rules[r] = rules[r].split(el.CSS.cssSel).join(overide_css_selector); rules[r] = rules[r].split(el.CSS.wrap).join(overide_css_selector); } } // Set the style style.html(pagelayer_parse_vars(rules.join("\n"), el)); //console.log(style); }else{ style.remove(); } // Is there a function to render at the end ? var end = window['pagelayer_render_end_'+jEle.attr('pagelayer-tag')]; if(typeof end == 'function'){ end(el); } // If the element have any parent var par = pagelayer_get_parent(jEle); var eleId = el.id; if(par){ eleId = par; pagelayer_sc_render(pagelayer_ele_by_id(par)); } // Render End trigger pagelayer_trigger_action('pagelayer_sc_render_end', [el]); var gEle = pagelayer_ele_by_id(eleId); var gId = pagelayer_get_global_id(gEle); pagelayer_el_dump_data(jEle); // If global id exist then update the global array and restup the all global element if(!pagelayer_empty(gId) && !pagelayer_empty(pagelayer.global_render)){ if(!pagelayer_empty(pagelayer_global_widgets[gId])){ pagelayer_global_widgets[gId].$ = gEle[0].outerHTML; pagelayer_global_widgets[gId]['is_dirty'] = true; pagelayer_setup_global_widgets(gId, pagelayer_ele_by_id(eleId), true); }else{ pagelayer_set_atts(gEle, 'global_id', ''); } }; }; // Is the given global color function pagelayer_is_global_color(color){ var color_key = color.substr(0, 1) == '$' ? color.substr(1) : ''; // If global color not exist if(!pagelayer_empty(color_key)){ if(!(color_key in pagelayer_global_colors)){ color_key = 'primary'; } return color_key; } return false; } // Is the given global color function pagelayer_is_global_typo(value){ var typo_key = ''; // Backward compatibility if(pagelayer_is_string(value) && value.substr(0, 1) == '$'){ typo_key = value.substr(1); } if(typeof value == 'object' && 'global-font' in value){ typo_key = value['global-font']; } // If global color not exist if(!pagelayer_empty(typo_key) && !(typo_key in pagelayer_global_fonts)){ typo_key = 'primary'; } return typo_key; } // Parse typography and handle Backward compatibility function pagelayer_parse_typo(value, noglobal, desk_global, mode){ noglobal = noglobal || false; mode = mode || 'desktop'; desk_global = desk_global || ''; if(pagelayer_empty(value)){ value = {}; } // Backward compatibility for comma seperated val if(pagelayer_is_string(value) && value.substr(0, 1) != '$'){ return value.split(','); } var val = ['','','','','','','','','','','']; var typos = ['font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing']; var global_typo = pagelayer_is_global_typo(value); var _desk_global = false; if(pagelayer_empty(global_typo)){ global_typo = desk_global; _desk_global = true; } // Apply global typo for(var typo in typos){ var typoKey = typos[typo]; // Backspace compatibility for normal array if(typeof value == 'object' && !pagelayer_empty(value[typo])){ val[typo] = value[typo]; } if(!pagelayer_empty(value[typoKey])){ val[typo] = value[typoKey]; } if(pagelayer_empty(global_typo) || !pagelayer_empty(val[typo]) || noglobal){ continue; } var globalVal = pagelayer_global_fonts[global_typo]['value']; if( !(typoKey in globalVal) || pagelayer_empty(globalVal[typoKey]) || (typeof globalVal[typoKey] == 'object' && pagelayer_empty(globalVal[typoKey][mode])) || (typeof globalVal[typoKey] != 'object' && !pagelayer_empty(_desk_global) && mode != 'desktop') ){ continue; } val[typo] = 'var(--pagelayer-font-'+global_typo+'-'+typoKey+')'; } return val; } // Parse color for global color function pagelayer_parse_color(value, glob_var = true){ var is_global = pagelayer_is_global_color(value); if(pagelayer_empty(is_global)){ return value; } if(pagelayer_empty(glob_var)){ return pagelayer_global_colors[is_global]['value']; } return 'var(--pagelayer-color-'+is_global+')'; } // Is the given tag a group function pagelayer_is_group(tag){ if('has_group' in pagelayer_shortcodes[tag] && !pagelayer_empty(pagelayer_shortcodes[tag]['has_group'])){ return true; } return false; } // Do action / event function pagelayer_trigger_action(act, param = []){ jQuery(document).trigger(act, param); } // Perform a function on an action / event function pagelayer_add_action(act, func){ jQuery(document).on(act, func); } // Create array of the contact from template params function pagelayer_get_contact_templates(){ var contacts = jQuery(pagelayer_editable+' [pagelayer-tag=pl_contact]'); var contacts_props = {}; if(contacts.length > 0){ contacts.each(function(){ var tmp = pagelayer_data(jQuery(this)); var con_allowed = ['to_email', 'from_email', 'cont_subject', 'cont_header', 'cont_body', 'cont_use_html']; if(pagelayer_empty(tmp.atts['contact_custom_templ'])) return true; // Define blank array contacts_props[tmp.id] = {}; for(var x in con_allowed){ var key = con_allowed[x]; if(!pagelayer_empty(tmp.atts[key])){ contacts_props[tmp.id][key] = tmp.atts[key]; } } }); } return contacts_props; } // Save data or meta of the post function pagelayer_update_post_data(){ var tag = 'pl_post_props'; var jEle = jQuery(pagelayer_editable+' [pagelayer-tag="'+tag+'"]'); if(jEle.length < 1){ return; } var tmp = pagelayer_data(jEle, true); var all_props = pagelayer_shortcodes[tag]; // Loop through all props for(var i in pagelayer_tabs){ var tab = pagelayer_tabs[i]; for(var section in all_props[tab]){ var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section]; for(var x in props){ //Set pagelayer POST data to send with save ajax if(x in tmp['atts']){ pagelayer_ajax_post_data[x] = tmp['atts'][x]; }else if(x in pagelayer_ajax_post_data){ delete pagelayer_ajax_post_data[x]; } } } } } // Get the nav menu updated data function pagelayer_get_nav_items(jEle, _content){ _content = _content || false; var pagelayer_nav_items = {}; jEle.find('[pagelayer-tag="pl_nav_menu_item"]').each(function(){ var cEle = jQuery(this), postID = pagelayer_get_att(cEle, 'ID'); if(!(postID in pagelayer_menus_items_ref)){ return; } var ref_data = pagelayer_menus_items_ref[postID]; if(!('pagelayer_content' in ref_data) && pagelayer_empty(ref_data['pagelayer_content'])){ ref_data['pagelayer_content'] = cEle; } if(!('is_dirty' in ref_data) || pagelayer_empty(ref_data['is_dirty'])){ return; } var content = '', tmp = {}; tmp = Object.assign(tmp, ref_data); pagelayer_nav_items[postID] = {}; // Update Mega menu content if(!pagelayer_empty(_content)){ var navItem = jQuery(ref_data['pagelayer_content'])[0].outerHTML; var _navItem = jQuery(navItem); // If is not mega menu if('menu_type' in tmp && tmp['menu_type'] != 'mega'){ _navItem.find('.pagelayer-menu-item-holder').empty(); } content = pagelayer_generate_sc(_navItem, true); content = pagelayer_Base64.encode(content); // Send data to save var allowed_post = ['title']; for(var key in allowed_post){ var post_prop = allowed_post[key]; if(!(post_prop in tmp)){ continue; } pagelayer_nav_items[postID][post_prop] = tmp[post_prop] } }else{ pagelayer_nav_items[postID] = tmp; } // Delete the html content delete tmp['pagelayer_content']; pagelayer_nav_items[postID]['_pagelayer_content'] = content; }); return pagelayer_nav_items; } // Save data or meta of the nav post function pagelayer_update_nav_menu_data(){ var tag = 'pl_wp_menu'; pagelayer_ajax_post_data['pagelayer_nav_items'] = {}; jQuery(pagelayer_editable+' [pagelayer-tag="'+tag+'"]').each(function(){ var jEle = jQuery(this); var menu_ID = pagelayer_get_att(jEle, 'nav_list'); if(!pagelayer_empty(pagelayer_ajax_post_data['pagelayer_nav_items'][menu_ID])){ return; } // Get the Current menu items var items = pagelayer_get_nav_items(jEle, true); if(pagelayer_empty(items)){ return; } pagelayer_ajax_post_data['pagelayer_nav_items'][menu_ID] = items; }); } // Save the customizer settings function pagelayer_update_customizer_settings(){ var tag = 'pl_customizer'; var jEle = jQuery(pagelayer_editable+' [pagelayer-tag="'+tag+'"]'); if(jEle.length < 1){ return; } var tmp = pagelayer_data(jEle, true); pagelayer_ajax_post_data['pagelayer_customizer_options'] = JSON.stringify(tmp['atts']); } // Save the post function pagelayer_save(){ // hiding and showing loading animation pagelayer.$$('.pagelayer-update-text').hide(); pagelayer.$$('.pagelayer-update-loader').show(); pagelayer_trigger_action('pagelayer_save'); var pagelayerajaxurl = pagelayer_ajax_url+'&action=pagelayer_save_content&postID='+pagelayer_postID; var post = pagelayer_generate_sc(pagelayer_editable);//alert(post);return; // Update data or meta of the post pagelayer_update_post_data(); // Update Customizer Settings pagelayer_update_customizer_settings(); // Update nav menu pagelayer_update_nav_menu_data(); if(pagelayer_empty(pagelayer.post_status) && !pagelayer_empty(pagelayer_ajax_post_data['post_status'])){ pagelayer.post_status = pagelayer_ajax_post_data['post_status']; } // Do we have contact templates ? var contacts_props = pagelayer_get_contact_templates(); // Do we have any global widget to save ? var global_data = {}; if(!pagelayer_empty(pagelayer_global_widgets)){ global_data = pagelayer_generate_sc_global_widget(); } var cancel = function(){ pagelayer.$$('.pagelayer-update-text').show(); pagelayer.$$('.pagelayer-update-loader').hide(); } var save = function(){ var post_data = { pagelayer_update_content : pagelayer_Base64.encode(post), pagelayer_nonce: pagelayer_ajax_nonce, global_widgets: global_data, contacts: contacts_props, post_status: pagelayer.post_status, copyright: pagelayer_copyright } post_data = Object.assign(pagelayer_ajax_post_data, post_data); jQuery.ajax({ type: "POST", url: pagelayerajaxurl, data: post_data, success: function(response, status, xhr){ //alert(data); var obj = jQuery.parseJSON(response); //alert(obj); if(obj['error']){ pagelayer_show_msg(obj['error'], 'error', 10000); }else{ pagelayer_show_msg(obj['success'], 'success', 10000); pagelayer_get_revision(); // Update the post status in the post_props, but first find if its actually there ! var jEle = jQuery(pagelayer_editable).find("[pagelayer-tag=pl_post_props]"); if(jEle.length > 0){ var id = pagelayer_id(jEle); pagelayer_set_atts(jEle, 'post_status', obj['post_status']); pagelayer_trigger_action('pagelayer_save_success', obj['post_status']); } pagelayer_do_undirty(); } }, error: function(jqXHR, textStatus, errorThrown){ console.log(errorThrown); pagelayer_show_msg('An error occured while saving ! Status : '+textStatus+' and Error : '+errorThrown, 'error', 10000); }, complete: function(xhr,status){ pagelayer.$$('.pagelayer-update-text').show(); pagelayer.$$('.pagelayer-update-loader').hide(); if(!pagelayer_empty(pagelayer.post_status)){ pagelayer.$$('.pagelayer-props-modal .pagelayer-meta-iframe').attr('src', pagelayer_post_props ); pagelayer.post_status = ''; } } }); } // If the content is empty if(pagelayer_empty(post)){ pagelayer_confirmation_box(pagelayer_l('empty_post_content'), save, cancel); return; } save(); }; //Close the Editor function pagelayer_close(){ if(pagelayer_isDirty == true){ var r = confirm('Your Data has not been Saved yet! \n Press OK to stay on the Page.'+ '\n Press Cancel to Close Editor. '); if(r == false){ window.top.location.href = pagelayer_returnURL; } }else{ window.top.location.href = pagelayer_returnURL; } }; function pagelayer_htmlEntities(str) { return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } function pagelayer_serializeAttributes(attributes) { return JSON.stringify(attributes) // Don't break HTML comments. .replace(/--/g, "\\u002d\\u002d") // Don't break non-standard-compliant tools. .replace(//g, "\\u003e").replace(/&/g, "\\u0026") // Bypass server stripslashes behavior which would unescape stringify's // escaping of quotation mark. // See: https://developer.wordpress.org/reference/functions/wp_kses_stripslashes/ .replace(/\\"/g, "\\u0022"); } // Generate blocks Post to save function pagelayer_generate_sc(selector, selfEle){ selfEle = selfEle || false; var txt = ''; var generate_sc_single = function(jEle){ // The ID var id = jEle.attr('pagelayer-id'); // If there is an Add element wrapper if(pagelayer_empty(id)){ return; } // Find the type of tag var tag = jEle.attr('pagelayer-tag'); var final_tag = tag; var closestEle = jEle.closest('.pagelayer-col-holder'); // Skip to create shortcode to prevent save, allowed by tag if('skip_save' in pagelayer_shortcodes[tag] && !pagelayer_empty(pagelayer_shortcodes[tag]['skip_save'])){ return; } // Define inner row | Note : Commented as we now have a new widget of type inner_row /*if(tag == 'pl_row' && closestEle.length > 0 && closestEle.closest(pagelayer_editable).length > 0){ final_tag = 'pl_inner_row'; }*/ if(pagelayer_empty(tag)){ var err = 'Found an error in the content as the TAG was missing. The console will have more details.'; pagelayer_show_msg(err, 'error'); console.log(err); console.log(jEle); } // Define inner column if(tag == 'pl_col' && closestEle.length > 0 && closestEle.closest(pagelayer_editable).length > 0){ final_tag = 'pl_inner_col'; } //console.log(tag); // Is there an innerHTML ele var inner = ''; if('innerHTML' in pagelayer_shortcodes[tag]){ inner = pagelayer_shortcodes[tag]['innerHTML']; } // Data reference var ref_data = pagelayer_el_data_ref(jEle); // Create the tag var data = JSON.parse(JSON.stringify(ref_data['attr'])); data['pagelayer-id'] = id; data = pagelayer_serializeAttributes(data); var content = ''; // Any internal function to handle the save ? var func = window['pagelayer_tag_'+tag]; if(typeof func == 'function'){ content = func(jEle); // If its a Row or Column or Group then it will have children }else if(jEle.hasClass('pagelayer-row') || jEle.hasClass('pagelayer-col') || jEle.hasClass('pagelayer-inner_row') || pagelayer_is_group(tag)){ var sel = jEle; // Any holder which holds children ? if('holder' in pagelayer_shortcodes[tag]){ sel = jEle.find(pagelayer_shortcodes[tag]['holder']); } // Select the top-most element sel = jQuery(sel).first(); // Any child selector - Majorly for owl carousel // NOTE : Child selector should be very specific with immediate child selection at all levels var child_selector = false; if('child_selector' in pagelayer_shortcodes[tag]){ childSel = sel.find(pagelayer_shortcodes[tag]['child_selector']); if(childSel.length > 0){ sel = childSel; } } if(jQuery(sel).children(".pagelayer-ele-wrap").length < 1){ content = jQuery(sel).html(); // Backward Compatibility }else{ content = pagelayer_generate_sc(sel); content = "\n"+content; } // Its a normal element so we might need to handle the content }else{ if(inner.length > 0){ content = pagelayer_get_att(jEle, inner); if(!content){ content = ''; } }else{ content = '';//jEle.html(); } } // Leaving HTML and non-pagelayer supported content intact if(final_tag == 'pl_missing'){ txt += content; return; } if (pagelayer_empty(content)) { txt += "\n"); }else{ txt += "").concat(content, "\n"); } }; // Are you an element for which to generate the codes ? if(jQuery(selector).hasClass('pagelayer-ele') && selfEle){ generate_sc_single(jQuery(selector)); // The selector is the holder, so loop thru }else{ jQuery(selector).children(".pagelayer-ele-wrap").each(function(){ var jEle = jQuery(this).children('.pagelayer-ele'); generate_sc_single(jEle); }); } return txt; }; // Show the required leftbar tab function pagelayer_leftbar_tab(tab){ pagelayer.$$('.pagelayer-leftbar-tab').hide(); pagelayer.$$('#'+tab).show(); } // Sets up the leftbar function pagelayer_leftbar(){ // Toggle the holder pagelayer.$$('.pagelayer-leftbar-toggle').on('click', function(){ pagelayer.$$('.pagelayer-leftbar-table').toggleClass('pagelayer-leftbar-hidden'); pagelayer_trigger_action('pagelayer-leftbar-toggle'); }); // Close leftbar pagelayer.$$('.pagelayer-leftbar-close').on('click', function(){ pagelayer.$$('.pagelayer-leftbar-toggle').click(); }); // Minimize leftbar pagelayer.$$('.pagelayer-leftbar-minimize').on('click', function(){ pagelayer.$$('.pagelayer-leftbar-table').toggleClass('pagelayer-leftbar-minimize'); }); var html = '
    '+ '
    '+ '
    '+ '
    '+ '
    Settings
    '+ '
    Widgets
    '+ '
    Global
    '+ '
    '+ '
    '+ ''; for(var x in pagelayer_groups){ // Title html += '
    '+x+'
    '; // Indivdual icon for(var y in pagelayer_groups[x]){ var sc = pagelayer_groups[x][y]; if(!(sc in pagelayer_shortcodes) || 'not_visible' in pagelayer_shortcodes[sc]){ continue; } html += '
    '+ '
    '+ '
    '; if('icon' in pagelayer_shortcodes[sc]){ html += ''; }else{ html += ''; } html += '
    '+ ''+pagelayer_shortcodes[sc]['name']+''+ '
    '+ '
    '; } html += '
    '; } html += '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '; pagelayer.$$('.pagelayer-leftbar-holder').prepend(html); pagelayer_leftbar_tab('pagelayer-shortcodes'); pagelayer.$$('.pagelayer-leftbar-scroll').slimScroll({ height: '100%', railVisible: false, alwaysVisible: true, color: '#000', size: '5px', }); // Hide the ones which are not supposed to be shown pagelayer.$$('.pagelayer-search-field').on('input', function(){ var val = jQuery(this).val(); var re = new RegExp(val, 'i'); // Show only the required tags pagelayer.$$('.pagelayer-leftbar-group').each(function(){ var group = jQuery(this); var res = group.find('[pagelayer-tag]'); var hidden = 0; res.each(function(){ var tEle = jQuery(this); if(tEle.find('.pagelayer-shortcode-text').html().match(re)){ tEle.show(); }else{ hidden += 1; tEle.hide(); } }); // Hide the whole group if(hidden == res.length){ group.hide(); }else{ group.show(); } }); }); // On click Pagelayer setting icon pagelayer.$$('.pagelayer-settings-icon, .pagelayer-settings').click(function(event){ pagelayer_active = {}; var pl_tag = jQuery(this).attr('pagelayer-tag') || 'pl_post_props'; var nModal = jQuery(this).attr('pagelayer-modal-none'); pagelayer_post_settings(pl_tag); }); // Pagelayer post advance setting modal handler var propsModal = pagelayer.$$('.pagelayer-props-modal'); propsModal.find('.pagelayer-props-modal-close').on('click', function(event){ propsModal.hide(); }); propsModal.on('click', function(event){ var target = jQuery(event.target); if(target.closest('.pagelayer-props-modal-wrap').length > 0){ return; } propsModal.hide(); }); // On click Pagelayer setting icon var global_widget_list = function(){ var gHtml = ''; if(pagelayer_empty(pagelayer_pro)){ gHtml += '
    '+pagelayer.pro_txt+ '

    Using this feature, you can save the widgets globally and use them on the entire site. The global widget will be editable from one place.

    '+ '
    '; pagelayer.$$('#pagelayer-global-widget').html(gHtml); return; } gHtml += '
    '+ ''+ '
    '+pagelayer_l('global_widgets')+'
    '+ '
    '; if(pagelayer_empty(pagelayer_global_widgets)){ pagelayer_global_widgets = []; gHtml += '
    No global widgets found
    '; } // Indivdual icon for(var y in pagelayer_global_widgets){ var wEle = jQuery(pagelayer_global_widgets[y]['$']); var sc = pagelayer_tag( wEle ); if(!(sc in pagelayer_shortcodes) || 'not_visible' in pagelayer_shortcodes[sc]){ continue; } gHtml += '
    '+ '
    '+ '
    '; if('icon' in pagelayer_shortcodes[sc]){ gHtml += ''; }else{ gHtml += ''; } gHtml += '
    '+ ''+pagelayer_global_widgets[y]['title']+''+ '
    '+ '
    '; } pagelayer.$$('#pagelayer-global-widget').html(gHtml); }; // The widget tabs pagelayer.$$('.pagelayer-widget-tab').on('click', function(){ var attr = 'pagelayer-elpd-active-tab'; pagelayer.$$('.pagelayer-widget-tab').each(function(){ jQuery(this).removeAttr(attr); }); var cEle = jQuery(this); cEle.attr(attr, 1); if(cEle.attr('pagelayer-widget-tab') == 'global'){ cEle.closest('#pagelayer-shortcodes').find('.pagelayer-shortcodes-widget').addClass('pagelayer-hidden'); cEle.closest('#pagelayer-shortcodes').find('.pagelayer-global-widget').removeClass('pagelayer-hidden'); // Trigger create global widgets global_widget_list(); }else{ cEle.closest('#pagelayer-shortcodes').find('.pagelayer-shortcodes-widget').removeClass('pagelayer-hidden'); cEle.closest('#pagelayer-shortcodes').find('.pagelayer-global-widget').addClass('pagelayer-hidden'); } }); // On click search empty pagelayer.$$('.pagelayer-leftbar-search>.pagelayer-sf-empty').click(function(){ pagelayer.$$('.pagelayer-search-field').val('').trigger('input'); }); // Pagelayer General options pagelayer.$$('.pagelayer-options-icon ').click(function(){ pagelayer.$$('.pagelayer-elpd-header').show().find('.pagelayer-elpd-title').text(pagelayer_l('general_options')); pagelayer.$$('.pagelayer-logo').hide(); // Setup General options pagelayer_setup_general_options(); pagelayer_leftbar_tab('pagelayer-general-options'); pagelayer_active = {}; }); // Hide color and typography global list pagelayer.$$('.pagelayer-leftbar-table').on('click', function(e){ var closest = jQuery(e.target).closest('.pagelayer-elp-color-global, .pagelayer-elp-global-icon, .pagelayer-global-color-list, .pagelayer-global-font-list'); var list = pagelayer.$$('.pagelayer-global-color-list, .pagelayer-global-font-list'); if(closest.length > 0 ){ var lEle = closest.closest('.pagelayer-elp-color-div-holder').find('.pagelayer-global-color-list'); var lFont = closest.closest('.pagelayer-form-item').find('.pagelayer-global-font-list'); list = list.not(lFont); list = list.not(lEle); } list.not(closest).slideUp(); }); }; // Post setting holder function pagelayer_post_settings(pl_tag, to_click){ to_click = to_click == -1 ? false : true; // Is there a post settings ? var jEle = jQuery(pagelayer_editable+' [pagelayer-tag="'+ pl_tag +'"]'); // Could not find if(jEle.length < 1){ jEle = pagelayer_create_sc(pl_tag); var id = pagelayer_id(jEle); jQuery(pagelayer_editable).prepend(jEle); pagelayer_element_setup('[pagelayer-id='+id+']', true); // Dont mark as dirty as post_props is not editing anything pagelayer_do_undirty(); } if(to_click){ jEle.click(); } return jEle; } // Get the closest element and method function pagelayer_near_by_ele(id, sc){ // Get the previous element of the id element var prevEle_id = jQuery('[pagelayer-wrap-id="'+id+'"]').prev().attr('pagelayer-wrap-id') || ''; var method, cEle, args = {}; if(prevEle_id.length > 0){ // If have previous element of the id element // Set the method and previous element selector args = {'method' : 'after', 'cEle' : '[pagelayer-wrap-id="'+prevEle_id+'"]'}; }else{ // If don't have previous element of the id element then get parent element if(sc == "pl_row"){ args = {'method' : 'prepend', 'cEle' : pagelayer_editable}; }else{ // Get the parent element var pEle_id = pagelayer_id(jQuery('[pagelayer-wrap-id="'+id+'"]').closest('.pagelayer-ele')); // Get the parent element tag var pEle_tag = pagelayer_tag(jQuery('[pagelayer-id="'+pEle_id+'"]')); var holder = '>'+ pagelayer_shortcodes[pEle_tag]['holder'] || ''; args = {'method' : 'prepend', 'cEle' : '[pagelayer-id="'+pEle_id+'"] '+ holder+' '}; } } return args; }; // Push the action data in the pagelayer_history_obj object function pagelayer_history_action_push(args){ var currentTime = new Date(); var history_obj_len = pagelayer_history_obj['action_data'].length; // If the history_obj_len is less then 1 then set the data in array 0 position if(history_obj_len < 1){ pagelayer_history_obj['action_data'][0] = {'title' : 'Start Editing', 'action' : 'Start' }; pagelayer_history_obj['current_active_item_id'] = 0; } // Remove the second array element if the history_obj_len greater then 100 if(history_obj_len > 100){ pagelayer_history_obj['action_data'].splice(1, 1); pagelayer_history_obj['current_active_item_id'] = pagelayer_history_obj['action_data'].length - 1; } // Get current active history action id var action_id = parseInt(pagelayer_history_obj['current_active_item_id']) || 0; // Remove the all array element after the active array element var del_ele = history_obj_len - action_id - 1; pagelayer_history_obj['action_data'].splice(action_id + 1, del_ele); // Check if the same attr set as current active history if(args.action == "Edited" && history_obj_len > 1 && currentTime - pagelayer.history_lastTime < 1000){ var atts = pagelayer_history_obj['action_data'][action_id] || ''; if(atts['atts'] == args['atts'] && atts['pl_id'] == args['pl_id'] && pagelayer_empty(atts['sub_actions_group']) ){ args['oldVal'] = atts['oldVal']; pagelayer_history_obj['action_data'][action_id] = args; pagelayer_history_setup(); // Set the last history time pagelayer.history_lastTime = currentTime; return true; } } // If the action time within 200 millisecond then it count as sub-actions if(currentTime - pagelayer.history_lastTime < 200 && history_obj_len > 1){ var cur_action_data = pagelayer_history_obj['action_data'][action_id]; var sub_actions_len = cur_action_data['sub_actions_group'] || ''; if( !('attrType' in cur_action_data && cur_action_data['attrType'] == 'tmp_attr' && 'attrType' in args && args['attrType'] == 'a_attr') ) { // If the sub_actions_len is less then 1 then set the data in array 0 position if(sub_actions_len.length < 1){ pagelayer_history_obj['action_data'][action_id]['sub_actions_group'] = [args]; }else{ pagelayer_history_obj['action_data'][action_id]['sub_actions_group'].push(args); } return true; } } pagelayer_history_obj['action_data'].push(args); pagelayer_history_obj['current_active_item_id'] = pagelayer_history_obj['action_data'].length - 1; pagelayer_history_setup(); // Set the last history time pagelayer.history_lastTime = currentTime; } // Setup pagelayer history function pagelayer_history_setup(force){ var force = force || false; // If the history tab is visible, only then setup if(!pagelayer.$$('#pagelayer-history').is(':visible') && !force){ return; } // The current active action id var current_id = pagelayer_history_obj['current_active_item_id']; // pagelayer-HISTORY - Element Properties Dialog var pagelayer_history_html = '
    '+ '
    Actions
    '+ '
    Revisions
    '+ '
    '+ '
    '+ '
    '; // Any actions if(pagelayer_history_obj['action_data'].length > 0){ for(var x in pagelayer_history_obj['action_data']){ if(pagelayer_empty(pagelayer_history_obj['action_data'][x])){continue;} var title = pagelayer_history_obj['action_data'][x]['title'] || ''; var subTitle = pagelayer_history_obj['action_data'][x]['subTitle'] || ''; var action = pagelayer_history_obj['action_data'][x]['action'] || ''; var tmp_attr = pagelayer_history_obj['action_data'][x]['attrType'] || ''; var eAttr = ''; if(!pagelayer_empty(tmp_attr) && tmp_attr == "tmp_attr"){ eAttr = "pagelayer-history-hidden"; } pagelayer_history_html += '
    '+ '
    '+ ' '+title+' '+ ' '+subTitle+' '+ ' '+action+' '+ '
    '+ '
    '+ ''+ '
    '+ '
    '; } }else{ pagelayer_history_html += 'No Actions history available yet'; } pagelayer_history_html += '
    '+ '
    '; // Any revisions ? if(pagelayer_revision_obj){ for(var x in pagelayer_revision_obj){ pagelayer_history_html += '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ pagelayer_revision_obj[x]['post_date_ago']+ '('+pagelayer_revision_obj[x]['post_date']+')'+ '
    '+ '
    '+ pagelayer_revision_obj[x]['post_type'] +' by '+ pagelayer_revision_obj[x]['post_author_name']+ '
    '+ '
    '+ '
    '+ ''+ '
    '+ '
    '; } }else{ pagelayer_history_html += 'No Revisions history available'; } pagelayer_history_html += '
    '+ '
    '; // Create the dialog box pagelayer.$$('#pagelayer-history').html(pagelayer_history_html); var holder = pagelayer.$$('#pagelayer-history'); // Set active history holder holder.find('.pagelayer-history-holder').on('click', function(){ var hEle = jQuery(this); var prev_item_id = pagelayer_history_obj['current_active_item_id']; hEle.parent().children().removeClass('current_active_item'); hEle.addClass('current_active_item'); var do_item_id = parseInt(hEle.attr('history-action-id')); pagelayer_history_action_setup(do_item_id, prev_item_id); }); // Apply revision holder.find('.pagelayer-revision-holder').on('click', function(){ var revision_id = jQuery(this).attr('revision-id'); jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_apply_revision&revisionID='+revision_id, type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, 'pagelayer-live' : 1, }, success: function(response, status, xhr){ var obj = jQuery.parseJSON(response); if(obj['error']){ pagelayer_show_msg(obj['error'] , 'error'); }else{ // Get the current post_name and post_status var props = jQuery(pagelayer_editable).find('.pagelayer-post_props'); var post_name = '', post_status = ''; if(props.length > 0){ post_name = pagelayer_get_att(props, 'post_name'); post_status = pagelayer_get_att(props, 'post_status'); } // Set content jQuery(pagelayer_editable).html(obj['content']); // Add previous post_name and post_status var props_new = jQuery(pagelayer_editable).find('.pagelayer-post_props'); if(props_new.length > 0){ if(pagelayer_empty(post_name)){ post_name = pagelayer_default_params.pl_post_props.post_name; } if(pagelayer_empty(post_status)){ post_status = pagelayer_default_params.pl_post_props.post_status; } var tmp = {}; tmp['post_name'] = post_name; tmp['post_status'] = post_status; pagelayer_set_atts(props_new, tmp); } // Need to pass true to render table pagelayer_element_setup('.pagelayer-ele', true); pagelayer_add_widget(); pagelayer_show_msg(obj['success'], 'success'); } } }); }); // Delete the revision holder.find('.pagelayer-revision-delete').click(function(e){ e.stopPropagation(); var rEle = jQuery(this).closest('.pagelayer-revision-holder'); var revision_id = rEle.attr('revision-id'); if(confirm("Are you sure you want to delete the revision ?")){ jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_delete_revision&revisionID='+revision_id, type: 'post', data: {pagelayer_nonce: pagelayer_ajax_nonce}, success: function(response, status, xhr){ var obj = jQuery.parseJSON(response); if(obj['error']){ pagelayer_show_msg(obj['error'], 'error'); }else{ pagelayer_show_msg(obj['success'], 'success'); rEle.hide(); } } }); } }); // The tabs holder.find('.pagelayer-history-tab').on('click', function(){ var attr = 'pagelayer-history-active-tab'; holder.find('.pagelayer-history-tab').each(function(){ jQuery(this).removeAttr(attr); }); jQuery(this).attr(attr, 1); // Get the active tab var active_tab = holder.find('[pagelayer-history-active-tab]').attr('pagelayer-history-tab'); // Trigger the showing of rows holder.find('[pagelayer-show-tab]').each(function(){ var sec = jQuery(this); // Is it the active tab ? if(sec.attr('pagelayer-show-tab') != active_tab){ sec.hide(); }else{ sec.show(); } }); }); } // Get revisions Handler function pagelayer_get_revision(){ jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_get_revision&postID='+pagelayer_postID, type: 'post', data: { pagelayer_nonce: pagelayer_ajax_nonce, }, //async:false, success: function(response, status, xhr){ var obj = jQuery.parseJSON(response); if(!pagelayer_empty(obj['error'])){ pagelayer_show_msg(obj['error'], 'error'); }else{ pagelayer_revision_obj = obj; pagelayer_history_setup(true); } } }); }; // Do the history action - use for ctrl-z and ctrl-y function pagelayer_do_history(action){ var cur_id = pagelayer_history_obj['current_active_item_id']; var new_id = cur_id; var action_data_len = pagelayer_history_obj['action_data'].length; if(action == 'undo'){ // You cannot undo from the first movement if(cur_id == 0){ return true; } for(var i = (cur_id - 1); i => 0; i--){ var action = pagelayer_history_obj['action_data'][i]; if('attrType' in action && action['attrType'] == 'tmp_attr'){ continue; } new_id = i; break; } }else if(action == 'redo'){ for(var i = cur_id + 1; i < action_data_len; i++){ var action = pagelayer_history_obj['action_data'][i]; if('attrType' in action && action['attrType'] == 'tmp_attr'){ continue; } new_id = i; break; } } // Do the action pagelayer_history_action_setup(new_id, cur_id); pagelayer_history_setup(); }; // Action setup handle on ctrl-z and ctrl-y function pagelayer_history_action_setup(current_item_id, prev_item_id){ // Set this as the current active pagelayer_history_obj['current_active_item_id'] = current_item_id; // Delete the element var delete_ele = function(id){ // Set Pagelayer History FALSE to prevent saving delete action in action history pagelayer.history_action = false; pagelayer_delete_element('[pagelayer-id='+id+']'); // Set Pagelayer History TRUE pagelayer.history_action = true; }; // Re-setup the element var resetup_ele = function(history_array){ jQuery(history_array.cEle.cEle)[history_array.cEle.method](history_array.html); pagelayer_element_setup('[pagelayer-id='+history_array.pl_id+'], [pagelayer-id='+history_array.pl_id+'] .pagelayer-ele', true); var rEle = jQuery('[pagelayer-id="'+history_array.pl_id+'"]'); pagelayer_empty_col(rEle.closest('.pagelayer-col-holder')); pagelayer_do_dirty(rEle); }; // Re-setup the element attr var reset_ele_attr = function(hEle, atts, val, attrType){ // Set Pagelayer History FALSE to prevent saving attributes in action history pagelayer.history_action = false; if(attrType == "tmp_attr"){ pagelayer_set_tmp_atts(hEle, atts, val); }else{ pagelayer_set_atts(hEle, atts, val); } // The property holder var holder = pagelayer.$$('.pagelayer-elpd-body'); holder.html(' '); pagelayer_sc_render(hEle); pagelayer_elpd_generate(hEle, holder); pagelayer.history_action = true; }; // Move element var pagelayer_move_ele = function(id, move_loc){ var eWrap = pagelayer_wrap_by_id(id); var pCol = eWrap.closest('.pagelayer-col-holder') || ''; jQuery(move_loc.cEle)[move_loc.method](eWrap); // Ensure the column is not empty if(!pagelayer_empty(pCol)){ pagelayer_empty_col(pCol); pagelayer_empty_col(pagelayer_wrap_by_id(id).closest('.pagelayer-col-holder')); } pagelayer_do_dirty(eWrap); }; // Undo actions var pagelayer_undo_action = function(history_array){ var action = history_array.action; var id = history_array.pl_id; if(action == "Edited"){ hEle = jQuery('[pagelayer-id="'+id+'"]'); reset_ele_attr(hEle, history_array.atts, history_array.oldVal, history_array.attrType); }else if(action == "Added"){ delete_ele(id); }else if(action == "Deleted"){ resetup_ele(history_array); }else if(action == "Copied"){ delete_ele(id); }else if(action == "Moved"){ pagelayer_move_ele(id, history_array.before_loc); } }; // Redo actions var pagelayer_redo_action = function(history_array){ var action = history_array.action; var id = history_array.pl_id; if(action == "Edited"){ hEle = jQuery('[pagelayer-id="'+id+'"]'); reset_ele_attr(hEle, history_array.atts, history_array.newVal, history_array.attrType); }else if(action == "Added"){ resetup_ele(history_array); if(history_array.tag != "pl_row" && history_array.tag != "pl_col" ){ // Ensure the column is not empty pagelayer_empty_col(history_array.cEle.cEle); } }else if(action == "Deleted"){ delete_ele(id); }else if(action == "Copied"){ resetup_ele(history_array); }else if(action == "Moved"){ pagelayer_move_ele(id, history_array.after_loc); } }; if(prev_item_id > current_item_id){ // All Actions for undo here var i = parseInt(prev_item_id); for(i; i > current_item_id; i--){ var history_array = pagelayer_history_obj['action_data'][i]; var sub_actions_group = history_array['sub_actions_group'] || ''; // If it has sub-actions if(!pagelayer_empty(sub_actions_group)){ var j = sub_actions_group.length; for(j--; j >= 0; j--){ pagelayer_undo_action(sub_actions_group[j]); } } // Main action pagelayer_undo_action(history_array); // Activate the current element and scroll it into viewport var jEle = jQuery('[pagelayer-id="'+history_array.pl_id+'"]'); if(jEle.length > 0){ pagelayer_set_active(jEle); pagelayer_scroll_to_viewport(jEle, 0); } } }else{ // All Actions for redo here var i = parseInt(prev_item_id)+1; for(i; i <= current_item_id; i++){ var history_array = pagelayer_history_obj['action_data'][i]; var sub_actions_group = history_array['sub_actions_group'] || ''; // Main action pagelayer_redo_action(history_array); // If it has sub-actions if(!pagelayer_empty(sub_actions_group)){ for(var x in sub_actions_group){ pagelayer_redo_action(sub_actions_group[x]); } } // Activate the current element and scroll it into viewport var jEle = jQuery('[pagelayer-id="'+history_array.pl_id+'"]'); if(jEle.length > 0){ pagelayer_set_active(jEle); pagelayer_scroll_to_viewport(jEle, 0); } } } }; // Report an error function pagelayer_error(error, func){ var prefix = func || ''; alert(prefix+error); }; function pagelayer_bottombar(){ var holder = pagelayer.$$('.pagelayer-bottombar-holder'); var html = '
    '+ '
    '+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ '
    '+ '
    '+ ''+ ''+ ''+ ''+ //''+ '
    '+ '
    '; holder.html(html); holder.find('.pagelayer-update-button').on('click', function(){ pagelayer_save(); pagelayer_history_setup();// Setup history tab after update }); holder.find('.pagelayer-close-button').on('click', function(){ pagelayer_close(); }); holder.find('.screen-mode').on('click', function(){ var screen_mode = jQuery(this).attr('pagelayer-mode-data'); pagelayer_set_screen_mode(screen_mode); holder.find('.pagelayer-mode-buttons-wrapper').toggle(); }); holder.find('.pagelayer-mode-button').on('click', function(){ holder.find('.pagelayer-mode-buttons-wrapper').toggle(); }); holder.find('.pagelayer-history-icon').click(function(){ pagelayer.$$('.pagelayer-elpd-header').show().find('.pagelayer-elpd-title').text(pagelayer_l('pagelayer_history')); pagelayer.$$('.pagelayer-logo').hide(); pagelayer_leftbar_tab('pagelayer-history'); pagelayer_active = {}; pagelayer_history_setup(); }); holder.find('.pagelayer-navigator-icon').click(function(){ pagelayer.$$('.pagelayer-elpd-header').show().find('.pagelayer-elpd-title').text(pagelayer_l('pagelayer_navigator')); pagelayer.$$('.pagelayer-logo').hide(); // If the navigator tab visible, then don't setup if(!pagelayer.$$('#pagelayer-navigator').is(':visible')){ pagelayer_navigator_setup(); } pagelayer_leftbar_tab('pagelayer-navigator'); pagelayer_active = {}; }); holder.find('.pagelayer-preview').click(function(){ // If the page is not dirty if(!pagelayer_isDirty){ // Open in new tab the existing page itself window.open(pagelayer_post_permalink, '_blank'); return; } // Get post content var post = pagelayer_generate_sc(pagelayer_editable);//alert(post);return; pagelayer.$$('.pagelayer-body').css({'opacity' : '0.33'}); jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_create_post_autosave&postID='+pagelayer_postID, type: 'POST', data: { 'pagelayer_nonce': pagelayer_ajax_nonce, 'pagelayer_post_content': pagelayer_Base64.encode(post) }, success: function(data) { var data = JSON.parse(data); // If there is some error if(!pagelayer_empty(data['error']) || pagelayer_empty(data['id'])){ pagelayer_show_msg('Unable to set preview for some reason', 'error'); return; } var url = data['url']+'&preview_id='+pagelayer_postID+'&preview_nonce='+ pagelayer_preview_nonce; // Open in new tab window.open(url, '_blank'); }, complete: function(){ pagelayer.$$('.pagelayer-body').css({'opacity' : '1'}); } }); }); }; /////////////////////////////// // Miscellaneuos Functions /////////////////////////////// // Setup General options function pagelayer_setup_general_options(){ var holder = pagelayer.$$('.pagelayer-general-options'); if(holder.children().length > 0){ return; } // TODO: To create this HTML get Array form php var html = '
    '+ '
    '+ pagelayer_l('general_options') +'
    '+ '
    '+ ''+ ''+ pagelayer_l('customize') +''+ '
    '+ '
    '+ '
    '+ '
    '+ pagelayer_l('navigator_options') +'
    '+ '
    '+ ''+ ''+ pagelayer_l('historyand_revisions') +''+ '
    '+ '
    '+ ''+ ''+ pagelayer_l('navigator') +''+ '
    '+ '
    '+ ''+ ''+ pagelayer_l('preview_changes') +''+ '
    '+ '
    '+ '
    '+ '
    '+ pagelayer_l('tools') +'
    '+ '
    '+ ''+ ''+ pagelayer_l('help') +''+ '
    '+ '
    '+ ''+ ''+ pagelayer_l('keyboard_shortcuts') +''+ '
    '+ '
    '; holder.html(html); // Open customizer settings holder.find('.pagelayer-open-customizer').click(function(){ window.open(pagelayer_customizer_url+'&autofocus%5Bpanel%5D=pagelayer_settings', '_blank'); }); // Open help / support link holder.find('.pagelayer-open-help').click(function(){ window.open(pagelayer_support_url, '_blank'); }); // Show Pagelayer History holder.find('.pagelayer-options-history-icon').click(function(){ pagelayer.$$('.pagelayer-bottombar-holder .pagelayer-history-icon').click(); }); // Show Pagelayer Navigator holder.find('.pagelayer-options-navigator-icon').click(function(){ pagelayer.$$('.pagelayer-bottombar-holder .pagelayer-navigator-icon').click(); }); // Show Pagelayer Preview holder.find('.pagelayer-options-preview').click(function(){ pagelayer.$$('.pagelayer-bottombar-holder .pagelayer-preview').click(); }); // Show keyboard shortcut modal holder.find('.pagelayer-open-keyboard-shortcuts').click(function() { var modal = pagelayer.$$('.pagelayer-shortcuts-modal'); modal.css('display','flex'); modal.find('.pagelayer-editor-modal-close-icon').unbind('click'); modal.find('.pagelayer-editor-modal-close-icon').click(function(){ modal.hide(); }); modal.unbind('click'); modal.on('click', function(e){ if(e.target != this) { return; } modal.hide(); }); }); } // Setup navigator function pagelayer_navigator_setup(){ var navigator_ele = pagelayer.$$('#pagelayer-navigator'), navigator_padding = 10, navigator_html = ''; // Get the child elements list var pagelayer_create_navi_list = function(selector){ var navigator_list = ''; selector.children('.pagelayer-ele-wrap, .pagelayer-ele').each(function(){ var cEle = jQuery(this), tag = pagelayer_tag(cEle), id = pagelayer_id(cEle), child_ele = false, ele_class = ''; // If tag is not found then return if(pagelayer_empty(tag)){ return; } // if is row or col or inner-row if(tag == 'pl_row' || tag == 'pl_col' || tag == 'pl_inner_row'){ ele_class = 'pagelayer-navigator-toggle'; child_ele = true; } navigator_list += '
    '+ '
    '+ ''+ pagelayer_shortcodes[tag]['name']+ ''+ '
    '; // Create the list of child element if(child_ele){ navigator_padding += 15; // Increment padding left for widget navigator_list += pagelayer_create_navi_list( cEle.find(pagelayer_shortcodes[tag]['holder']).first() ); navigator_padding -= 15; // Decrement padding left for widget } navigator_list += '
    '; }); return navigator_list; } // Create list of all rows and their child widgets jQuery(pagelayer_editable).children('.pagelayer-wrap-row').each(function(){ navigator_html += pagelayer_create_navi_list(jQuery(this)); }); // Put the navigator list navigator_ele.html('
    '+navigator_html+'
    '); // edit and delete element click handler navigator_ele.find('.pagelayer-navigator-options .pli').on('click', function(event){ var sEle = jQuery(this).closest('.pagelayer-navigetor-ele'); var sId = sEle.attr('pagelayer-id'); var action = jQuery(this).data('action'); if( action == 'edit'){ pagelayer_edit_element('[pagelayer-id = '+sId+']', event); }else if(action == 'delete'){ sEle.find('.pagelayer-ele-name').css({'background':'rgb(255, 114, 114)','opacity':'0.5'}); pagelayer_delete_element('[pagelayer-id = '+sId+']'); } }); // On click toggle the element navigator_ele.find('.pagelayer-ele-name').on('click', function(){ var tEle = jQuery(this); var pl_id = tEle.parent().attr('pagelayer-id'); // Get Pagelayer id var jEle = pagelayer_ele_by_id(pl_id); // If the class "pagelayer-navigator-toggle" exist then toggle if(tEle.hasClass('pagelayer-navigator-toggle')){ tEle.parent().toggleClass('pagelayer-navigator-open'); } // Also open all parents tEle.parent().parents('.pagelayer-navigetor-ele').addClass('pagelayer-navigator-open'); // Set the click element active navigator_ele.find('.pagelayer-ele-name').removeClass('pagelayer-navi-active'); tEle.addClass('pagelayer-navi-active') // Set the element active if(jEle.length > 0){ //pagelayer_active.el = pagelayer_data(jEle); pagelayer_set_active(jEle); pagelayer_scroll_to_viewport(jEle); } }); // Do active ele tab open if( pagelayer_active.el && pagelayer_active.el.id ){ navigator_ele.find('[pagelayer-id="'+pagelayer_active.el.id+'"]').children('.pagelayer-ele-name').click(); } /* var posY = 0, orig_eleY= 0; // On mouse down in pagelayer-ele-name navigator_ele.find('.pagelayer-ele-name').on('mousedown', function(e){ e = e || window.event; e.preventDefault(); // Get ele position orig_eleY = jQuery(this).offset().top; // Get the mouse cursor at startup: posY = e.clientY; // The variable needs to be empty. newMethod = ''; // Mouse up handler var ele_mousemove = function(){ } // Mouse move handler var ele_mouseup = function(){ pagelayer.$$(document).off('mouseup', ele_mouseup); pagelayer.$$(document).off('mousemove', ele_mousemove); } pagelayer.$$(document).on('mouseup', ele_mouseup); pagelayer.$$(document).on('mousemove', ele_mousemove); }); */ } // Scroll page to element view port function pagelayer_scroll_to_viewport(jEle, timeout, parentEle){ var scrolled = parentEle || jQuery('html, body'); timeout = timeout || 500; parentEle = parentEle || jQuery(window); setTimeout(function(){ var parentHeight = parentEle.height(), parentScrollTop = parentEle.scrollTop(), elementTop = jEle.offset().top, topToCheck = elementTop - parentScrollTop; if (topToCheck > 0 && topToCheck < parentHeight) { return; } var scrolling = elementTop - parentHeight / 2; scrolled.stop(true).animate({ scrollTop: scrolling }, 1000); }, timeout); } // Generates a random string of "n" characters function pagelayer_randstr(n, special){ var text = ''; var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; special = special || 0; if(special){ possible = possible + '&#$%@'; } for(var i=0; i < n; i++){ text += possible.charAt(Math.floor(Math.random() * possible.length)); } return text; }; function pagelayer_randInt(max) { return Math.floor(Math.random() * Math.floor(max)); } // Convert the regular URL of a Video to a Embed URL function pagelayer_video_url(src, no_url){ no_url = no_url || false; var youtubeRegExp = /youtube\.com|youtu\.be/; var vimeoRegExp = /vimeo\.com/; var match = ''; var videoId = ''; var vid_params = {}; if (youtubeRegExp.exec(src)) { match = 'youtube'; } else if (vimeoRegExp.exec(src)) { match = 'vimeo'; } switch(match){ case 'youtube': var youtubeRegExp1 = /youtube\.com/; var youtubewatch = /watch/; var youtubeembed = /embed/; var youtube = /youtu\.be/; if (youtubeRegExp1.exec(src)) { if (youtubewatch.exec(src)) { videoId = src.split('?v='); } else if (youtubewatch.exec(src)) { videoId = src.split('embed/'); } } else if (youtube.exec(src)) { videoId = src.split('.be/'); } vid_params = { type : 'youtube', src : '//www.youtube.com/embed/'+videoId[1], id : videoId[1] }; pagelayer_yt_api_register(); break; case 'vimeo': var vimeoplayer = /player\.vimeo\.com/; var vimeovideo = /video/; if (vimeoplayer.exec(src) && vimeovideo.exec(src)) { videoId = src.split('video/'); } else if (vimeoRegExp.exec(src)) { videoId = src.split('.com/'); } vid_params = { type : 'vimeo', src : '//player.vimeo.com/video/'+videoId[1], id : videoId[1] }; break; default: vid_params = { type : 'local', src : src }; } if(!no_url){ return vid_params.src; } return vid_params; }; // Youtube API Register function pagelayer_yt_api_register(){ if(jQuery('#pagelayer-youtube-script-js').length > 0){ return; } jQuery('body').append(''); } // Add widget section function pagelayer_add_widget(){ html='
    '+ ''+ ''+ '

    Click here to add new row OR drag widgets

    '+ '
    '; jQuery(pagelayer_editable).append(html); var add_area = jQuery('.pagelayer-add-widget-area'); // Add a code before this var add_sc = function(tag, global_id = ''){ var attr = ''; if(!pagelayer_empty(global_id)){ attr = ' pagelayer-global-id="'+global_id+'" '; } // Create Row var row = jQuery('
    '); add_area.before(row); var row_id = pagelayer_onadd(row, false); var rEle = pagelayer_ele_by_id(row_id); if(tag == 'pl_row' && !pagelayer_empty(global_id)){ rEle.click(); return row_id; } // Create Column var col = jQuery('
    '); rEle.find('.pagelayer-row-holder').append(col); var col_id = pagelayer_onadd(col, false); var cEle = pagelayer_ele_by_id(col_id); if(tag == 'pl_row'){ rEle.click(); return row_id; } if(tag == 'pl_col'){ cEle.click(); return col_id; } // Create element var ele = jQuery('
    '); cEle.find('.pagelayer-col-holder').append(ele); //console.log(ele); var id = pagelayer_onadd(ele); //console.log(id); //console.log(col_id); var eEle = pagelayer_ele_by_id(col_id); //console.log(eEle); // Ensure the column is not empty pagelayer_empty_col(cEle.find('.pagelayer-col-holder')); if(tag == 'pl_inner_row' && pagelayer_empty(global_id)){ // Create Column var in_col = jQuery('
    '); eEle.find('.pagelayer-row-holder').append(in_col); var in_col_id = pagelayer_onadd(in_col, false); } return id; } // Handle Click add_area.on('click', function(e){ e.stopPropagation(); add_sc('pl_col'); }); // Handle Click add_area.find('.pagelayer-add-section').on('click', function(e){ e.stopPropagation(); pagelayer_add_section_area();// Setup and show sections modal }); // Handle Drag over add_area.on('dragover', function(e){ //console.log(e) add_area.addClass('pagelayer-add-widget-drag'); }); // Handle Drag Leave add_area.on('dragleave', function(e){ //console.log(e) add_area.removeClass('pagelayer-add-widget-drag'); }); // Handle On Drop add_area.on('drop', function(e){ //console.log(e); //console.log(e.originalEvent.dataTransfer.getData('tag')); add_area.removeClass('pagelayer-add-widget-drag'); jQuery('.pagelayer-is-dragging').removeClass('pagelayer-is-dragging'); var tag = e.originalEvent.dataTransfer.getData('tag'); var global_id = e.originalEvent.dataTransfer.getData('global_id'); // Is it an existing element ? if(tag.length < 1){ return false; } e.preventDefault(); //console.log(tag); add_sc(tag, global_id); }); }; // Is the element in view while scrolling function pagelayer_isElementInView(elem, holder, partial) { partial = partial || true; var container = jQuery(holder); var contHeight = container.height(); var contTop = container.scrollTop(); var contBottom = contTop + contHeight ; var elemTop = jQuery(elem).offset().top - container.offset().top; var elemBottom = elemTop + jQuery(elem).height(); var isTotal = (elemTop >= 0 && elemBottom <=contHeight); var isPart = ((elemTop < 0 && elemBottom > 0 ) || (elemTop > 0 && elemTop <= container.height())) && partial; return isTotal || isPart ; } // Append section modal into body function pagelayer_add_section_area(){ var body = pagelayer.$$('body'); var mEle = body.find('.pagelayer-add-section-modal-container'); if(mEle.length > 0){ mEle.show(); return; } var section_modal = '
    '+ '
    '+ '
    '+ '
    '+ '
    Add Sections
    '+ '
    Type : '+ ''+ '
    '+ '
    ×
    '+ '
    '+ '
    '+ '
    '+ '
    '+ '×'+ '
    '+ ''+ '
    '+ '
    '+ '
    '+ '
    '+ '
    '+ ''+ '
    '+ '
    '+ '
    '; mEle = jQuery(section_modal); // Append the element in the body body.append(mEle); // On click close modal mEle.find('.pagelayer-add-section-modal-close').on('click', function(){ mEle.hide(); }); // Search Empty mEle.find('.pagelayer-sf-empty').on('click', function(){ mEle.find('.pagelayer-section-search').val(''); }); // On select section type mEle.find('#pagelayer-section-type').on('change', function(){ var val = jQuery(this).val(); pagelayer_add_sections_list_setup(val); }); // Append the list items into modal body pagelayer_add_sections_list_setup(); mEle.show();// Show the modal }; // Append section list into modal body function pagelayer_add_sections_list_setup(type){ var mEle = pagelayer.$$('.pagelayer-add-section-modal-container'); var body = mEle.find('.pagelayer-add-section-modal-body'); var add_area = jQuery('.pagelayer-add-widget-area'); type = type || 'section'; // Find the number of cols var body_width = jQuery(window.parent).width(); var num_cols = 3; if(body_width >= 1500){ num_cols = 4; }else if(body_width >= 992){ num_cols = 3; }else if(body_width >= 768){ num_cols = 2; }else if(body_width >= 360){ num_cols = 1; } //console.log(num_cols+' - '+body_width); var viewer = '
    '; var selected_tags = {}; var result_set = {}; // Setup the scroll mEle.find('.pagelayer-section-tags-holder').slimScroll({ height: 'calc(100vh - 150px)', railVisible: false, alwaysVisible: true, color: '#000', size: '5px', }); // Create list of items var pagelayer_section_list = function(){ // List the tags if(!pagelayer_empty(pagelayer_add_section_data[type]['tags'])){ var tags_html = ''; var tags = pagelayer_add_section_data[type]['tags']; for(var k in tags){ tags_html += ''; } mEle.find('.pagelayer-section-tags-holder').html(tags_html); // Handle tag click mEle.find('.pagelayer-section-tags').unbind('click'); mEle.find('.pagelayer-section-tags').on('click', function(e){ var search = mEle.find('.pagelayer-section-search'); // Blank the search if(search.val().length > 0){ search.val(''); selected_tags = {}; } // Fill the selected_tags tEle = jQuery(this); var tag = tEle.attr('tag') if(tEle.attr('on') == '1'){ delete selected_tags[tag]; tEle.removeAttr('on'); }else{ tEle.attr('on', 1); selected_tags[tag] = 1; } // Filter pagelayer_section_filter(false, 1); }); } // Fill in the result result_set = { ...pagelayer_add_section_data[type]['list']}; show_result(); }; // How the result and setup scroll var show_result = function(){ var html = ''; for(var i = 0; i < num_cols; i++){ html += '
    '; } // Blank the body body.html(html+viewer); mEle.find('.pagelayer-section-modal-body-holder').unbind('scroll'); mEle.find('.pagelayer-section-modal-body-holder').on('scroll', pagelayer_section_body_scroll); pagelayer_section_body_scroll(); } var scroll_accessed = false; // Section body ON scroll var pagelayer_section_body_scroll = function(){ // Check if there is anything to display in the first place, as we do delete pagelayer_add_section_data if(pagelayer_empty(result_set)){ return; } var tester = mEle.find('.pagelayer-section-is-visible'); var modal = mEle.find('.pagelayer-section-modal-body-holder'); // If we have scroll if(!pagelayer_isElementInView(tester, modal) || scroll_accessed){ return; } scroll_accessed = true; var html = ''; var i = 0; // Loop result_set for(var id in result_set){ if(i >= (num_cols * 5)){ break; } var col = i % num_cols; //console.log(col); i++; var pro = 0; // Is it pro ? if(!pagelayer_empty(result_set[id]) && pagelayer_empty(pagelayer_pro)){ pro = 1; } html = '
    '+ 'Pagelayer code screenshot'+ (pro ? '
    Pro
    '+pagelayer.pro_txt+'
    ' : '')+ '
    '; body.find('.pagelayer-section-holder[num='+col+']').append(html); delete result_set[id]; } //console.log(result_set); mEle.find('.pagelayer-section-item').unbind('click'); mEle.find('.pagelayer-section-item').on('click', function(e){ pagelayer_section_item_clickable(jQuery(this)); }); scroll_accessed = false; } // If we have searched something / or clicked tags var pagelayer_section_filter = function(event, not_input){ var txt = mEle.find('.pagelayer-section-search').val(); var tags = pagelayer_add_section_data[type]['tags']; // Searched anything if(!pagelayer_empty(txt) || pagelayer_empty(not_input)){ // Blank the tags selected_tags = {}; mEle.find('.pagelayer-section-tags').removeAttr('on'); for(var k in tags){ if(k.search(txt) >= 0){ selected_tags[k] = 1; mEle.find('.pagelayer-section-tags[tag="'+k+'"]').attr('on', 1); } } } var new_result = {}; var new_length = 0; // Filter the content for(var t in selected_tags){ for(var i in tags[t]){ new_length++; new_result[tags[t][i]] = tags[t][i]; } } // Copy the result result_set = {...new_result}; //console.log(type);console.log(selected_tags);console.log(result_set); show_result(); } // On search change mEle.find('.pagelayer-section-search').unbind('input'); mEle.find('.pagelayer-section-search').on('input', pagelayer_section_filter); // On click items var pagelayer_section_item_clickable = function(jEle){ var section_id = jEle.attr('pagelayer-add-section-id'); // IF section id not found if(pagelayer_empty(section_id)){ return false; } if(jEle.find('.pagelayer-section-pro-req').length > 0){ return false; } // Show the overlay mEle.find('.pagelayer-add-section-modal-overlay').show(); // Do shortcode the content jQuery.ajax({ url: pagelayer_ajax_url+'&action=pagelayer_get_section_shortcodes&postID='+pagelayer_postID, type: 'POST', data: { 'pagelayer_nonce': pagelayer_ajax_nonce, 'pagelayer_section_id': section_id, 'pagelayer-live': 1 }, success: function(data) { try{ var data = JSON.parse(data); if(!pagelayer_empty(data['error'])){ pagelayer_show_msg('Error getting the section', 'error'); mEle.find('.pagelayer-add-section-modal-overlay').hide(); mEle.hide(); return; } var cEle = jQuery(data['code']); // Add section before add widget area add_area.before(cEle); // We need to it setup cEle.each(function(){ var pl_id = pagelayer_id(jQuery(this)); if(!pagelayer_empty(pl_id)){ pagelayer_element_setup('[pagelayer-id="'+pl_id+'"], [pagelayer-id='+pl_id+'] .pagelayer-ele', true); } }); }catch(e){ pagelayer_show_msg('Error getting the section', 'error'); mEle.find('.pagelayer-add-section-modal-overlay').hide(); mEle.hide(); return; } }, complete: function(){ mEle.find('.pagelayer-add-section-modal-overlay').hide(); mEle.hide(); } }); } // Load the data if not there if(!(type in pagelayer_add_section_data)){ // Show the loading mEle.find('.pagelayer-add-section-modal-overlay').show(); // Get the sections list data and append it jQuery.ajax({ url: pagelayer_api_url+'/library.php?give='+type, type: 'post', success: function(response){ var tmp = JSON.parse(response); // Is the list there ? if( !('list' in tmp && !pagelayer_empty(tmp['list'])) ){ return; } pagelayer_add_section_data[type] = tmp; // Create the Type pagelayer_section_list(type); // Hide the loading mEle.find('.pagelayer-add-section-modal-overlay').hide(); }, complete: function(){ mEle.find('.pagelayer-add-section-modal-overlay').hide(); } }); // We have the data, so show it }else{ pagelayer_section_list(type); } } // Upload an image function pagelayer_upload_image(fileName, blob, pagelayer_ajax_func){ var formData = new FormData(); formData.append('action', 'upload-attachment'); formData.append('_ajax_nonce', pagelayer_media_ajax_nonce); formData.append('async-upload', blob, fileName); jQuery.ajax({ url:pagelayer_ajax_url, data: formData,// the formData function is available in almost all new browsers. type:"post", contentType:false, processData:false, cache:false, beforeSend: function( xhr ) { if(typeof pagelayer_ajax_func.beforeSend == 'function'){ pagelayer_ajax_func.beforeSend(xhr); } }, xhr: function() { var xhr = new window.XMLHttpRequest(); if(typeof pagelayer_ajax_func.uploadProgress == 'function'){ xhr = pagelayer_ajax_func.uploadProgress(xhr); } return xhr; }, error:function(err){ //console.error(err); pagelayer_show_msg('Unable to upload image for some reason.', 'error'); }, success:function(response){ var obj = jQuery.parseJSON(response); if(typeof pagelayer_ajax_func.success == 'function'){ pagelayer_ajax_func.success(obj); } }, complete:function(xhr){ if(typeof pagelayer_ajax_func.complete == 'function'){ pagelayer_ajax_func.complete(xhr); } } }); }; // On editable area image paste handler function pagelayer_editable_paste_handler(pasteEvent, pagelayer_ajax_func){ var items, is_Paste = (pasteEvent.type == 'paste' ? true : false), mustPreventDefault = false, reader; try { if(is_Paste){ items = (pasteEvent.originalEvent || pasteEvent).clipboardData.items; }else{ items = [pasteEvent]; } for (var i = items.length - 1; i >= 0; i -= 1) { if (items[i].type.match(/^image\//)) { reader = new FileReader(); /* jshint -W083 */ reader.onloadend = function(event) { var src = event.target.result; if(src.indexOf('data:image') === 0 ) { var block = src.split(";"); var contentType = block[0].split(":")[1]; var realData = block[1].split(",")[1]; if(is_Paste){ var fileName = "image."+contentType.split("/")[1]; }else{ var fileName = items[0]['name']; } // Convert it to a blob to upload var blob = pagelayer_b64toBlob(realData, contentType); pagelayer_upload_image(fileName, blob, pagelayer_ajax_func); } }; /* jshint +W083 */ if(is_Paste){ reader.readAsDataURL(items[i].getAsFile()); }else{ reader.readAsDataURL(items[i]); } mustPreventDefault = true; } } if(mustPreventDefault && is_Paste){ pasteEvent.stopPropagation(); pasteEvent.preventDefault(); } }catch(err){ console.log(err); } return mustPreventDefault; } // Convert base64 to Blob function pagelayer_b64toBlob(b64Data, contentType, sliceSize) { contentType = contentType || ''; sliceSize = sliceSize || 512; var byteCharacters = atob(b64Data); var byteArrays = []; for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) { var slice = byteCharacters.slice(offset, offset + sliceSize); var byteNumbers = new Array(slice.length); for (var i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } var byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } var blob = new Blob(byteArrays, {type: contentType}); return blob; } // Function to check if the URL is external function pagelayer_parse_theme_vars(img_url){ for(x in pagelayer_theme_vars){ img_url = img_url.replace(x, pagelayer_theme_vars[x]); } return img_url; }; // Tooltip Setup for Editor function pagelayer_tooltip_setup(){ //pagelayer.$$('[data-tlite]').each(function(){pagelayer_tlite.show(jQuery(this).get(0));});return; pagelayer.$$('[data-tlite]').hover(function(){ pagelayer_tlite.show(jQuery(this).get(0)); }, function(){ pagelayer_tlite.hide(jQuery(this).get(0)); }); }; // Pagelayer Messages function pagelayer_show_msg(msg, state, time){ time = time || 5000; state = !pagelayer_empty(state) ? 'pagelayer-editor-msg-state-'+state : ''; var nholder = pagelayer.$$('.pagelayer-editor-notice'); var mEle = jQuery('
    '+msg+'
    '); nholder.append(mEle); mEle.find('.pagelayer-notice-x').on('click', function(){ mEle.css({opacity: 0}); setTimeout(function(){ mEle.css({transition: 'none'}); mEle.slideUp(function(){ mEle.remove(); }); }, 900); }); setTimeout(function(){ mEle.find('.pagelayer-notice-x').click(); }, time); } // Pagelayer confirmation box function pagelayer_confirmation_box(message, yesCallback, noCallback, yesText, noText) { yesText = yesText || pagelayer_l('Yes'); noText = noText || pagelayer_l('No'); var dialog = jQuery('
    '+ '
    '+ '
    '+ message +'
    '+ '
    '+ ''+ yesText +'   '+ ''+ noText +''+ '
    '+ '
    '+ '
    '); pagelayer.$$('body').append(dialog); dialog.find('.pagelayer-btnyes').on('click', function() { dialog.remove(); if(typeof yesCallback == 'function'){ yesCallback(); } }); dialog.find('.pagelayer-btnno').on('click', function() { dialog.remove(); if(typeof noCallback == 'function'){ noCallback(); } }); dialog.show(); } function pagelayer_trim(str, charlist){ // discuss at: http://locutus.io/php/trim/ if(typeof str != 'string'){ return str; } var whitespace = [' ', '\n', '\r', '\t', '\f', '\x0b', '\xa0', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200a', '\u200b', '\u2028', '\u2029', '\u3000' ].join(''); var l = 0; var i = 0; str += ''; if (charlist) { whitespace = (charlist + '').replace(/([[\]().?/*{}+$^:])/g, '$1'); } l = str.length; for (i = 0; i < l; i++) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(i); break; } } l = str.length; for (i = l - 1; i >= 0; i--) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(0, i + 1); break; } } return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; }; function pagelayer_ucwords(str) { return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) { return $1.toUpperCase(); }); } // Check length for string and object function pagelayer_length(mixed_var) { var length = 0; var undef, key, i, len; var emptyValues = [undef, null, false]; for(i = 0, len = emptyValues.length; i < len; i++) { if (mixed_var === emptyValues[i]) { return length; } } // Is array, object or jQuery object? if(typeof mixed_var === 'object'){ // If is jQuery object if( mixed_var.hasOwnProperty('length')){ return mixed_var.length; } for (key in mixed_var) { // TODO: should we check for own properties only? //if ( .hasOwnProperty(key)) { length++; //} } return length; } length = String(mixed_var).length; return length; }; // Create Widget list dropdown function pagelayer_create_widget_tooltip(){ var html = '
    '+ '
    '+ ''+ '
    '; for(var x in pagelayer_groups){ // Title html += '
    '+x+'
    '; // Indivdual icon for(var y in pagelayer_groups[x]){ var sc = pagelayer_groups[x][y]; if(!(sc in pagelayer_shortcodes) || 'not_visible' in pagelayer_shortcodes[sc]){ continue; } html += '
    '+ '
    '+ '
    '; if('icon' in pagelayer_shortcodes[sc]){ html += ''; }else{ html += ''; } html += '
    '+ ''+pagelayer_shortcodes[sc]['name']+''+ '
    '+ '
    '; } html += '
    '; } html += '
    '; pagelayer.$$('body').append(html); var wdHolder = pagelayer.$$('.pagelayer-widget-tooltip'); // Hide the ones which are not supposed to be shown wdHolder.find('.pagelayer-search-field').on('input', function(){ var val = jQuery(this).val(); var re = new RegExp(val, 'i'); // Show only the required tags wdHolder.find('.pagelayer-widget-group').each(function(){ var group = jQuery(this); var res = group.find('[pagelayer-tag]'); var hidden = 0; res.each(function(){ var tEle = jQuery(this); if(tEle.find('.pagelayer-shortcode-text').html().match(re)){ tEle.show(); }else{ hidden += 1; tEle.hide(); } }); // Hide the whole group if(hidden == res.length){ group.hide(); }else{ group.show(); } }); wdHolder.find('.pagelayer-shortcode-holder:visible').first().trigger('widget_active'); }); // On click search empty wdHolder.find('.pagelayer-widget-search>.pagelayer-sf-empty').click(function(){ wdHolder.find('.pagelayer-search-field').val('').trigger('input'); }); // Register widget active event wdHolder.find('.pagelayer-shortcode-holder').on('widget_active', function(){ var activeEle = jQuery(this); wdHolder.find('.pagelayer-list-widget-active').removeClass('pagelayer-list-widget-active'); if(!activeEle.hasClass('pagelayer-list-widget-active')){ activeEle.addClass('pagelayer-list-widget-active'); } activeEle[0].scrollIntoView({behavior: "smooth", block: "end"}); }); pagelayer.gDocument.on('mousedown.pagelayer_wdlist', function(e){ var target = jQuery(e.target); if(target.closest('.pagelayer-widget-tooltip').is(wdHolder)){ return; } wdHolder.find('.pagelayer-shortcode-holder:visible').first().trigger('widget_active'); wdHolder.hide(); jQuery('.pagelayer-show-wiget-list').removeClass('pagelayer-show-wiget-list'); jQuery(window).off('scroll.pagelayer_wdlist resize.pagelayer_wdlist'); }); } // Show Widget list dropdown function pagelayer_show_widget_list(jEle, val){ val = val || ''; jEle = jQuery(jEle); var wEle = pagelayer.$$('.pagelayer-widget-tooltip'), winH = jQuery(window).height(), iframe = pagelayer.$$('#pagelayer-iframe'), iframeTop = iframe.offset().top, iframeLeft = iframe.offset().left, style = {}, wTop = 'auto', wBottom = 'auto', wLeft = ''; wHeight = ''; searchField = wEle.find('.pagelayer-search-field'); searchField.val(val); searchField.trigger('input'); // Add widget show class if(jEle.hasClass('pagelayer-shortcode-plus')){ jEle.parent('.pagelayer-ele-overlay').addClass('pagelayer-show-wiget-list'); } var bounds = jEle[0].getBoundingClientRect(); wEle.removeClass('pagelayer-widget-list-tooltip'); wLeft = (bounds.left + iframeLeft) - wEle.width() / 2; // In list view? if(jEle.closest('[pagelayer-editable]').length > 0){ wEle.addClass('pagelayer-widget-list-tooltip'); var selection = window.getSelection(); var range = selection.getRangeAt(0); wLeft = (range.getBoundingClientRect().left + iframeLeft) - wEle.width() / 2; } wEle.closest('.pagelayer-widget-tooltip').show(); wEle.find('.pagelayer-shortcode-holder:visible').first().trigger('widget_active'); // Hide Widget list if(jEle.closest('[pagelayer-editable]').length > 0 && wEle.find('.pagelayer-widget-group:visible').length < 1){ pagelayer.gDocument.trigger('mousedown.pagelayer_wdlist'); return; }else{ searchField.focus().select(); } var docW = iframeLeft + iframe.width() - 30; // Prevent to hide on left or right if(docW < wLeft + wEle.width()){ wLeft = docW - wEle.width(); }else if(iframeLeft > wLeft){ wLeft = iframeLeft; } if(winH / 2 < bounds.top + 10){ wBottom = winH - bounds.top + 10; wHeight = bounds.top - 10; }else{ wTop = bounds.bottom + iframeTop + 10; wHeight = winH - bounds.bottom - 10; } style['left'] = wLeft; style['top'] = wTop; style['bottom'] = wBottom; style['max-height'] = ''; if(wHeight < 350){ style['max-height'] = wHeight; } wEle.css(style); jQuery(window).off('scroll.pagelayer_wdlist resize.pagelayer_wdlist'); jQuery(window).on('scroll.pagelayer_wdlist resize.pagelayer_wdlist', function(){ var _val = wEle.find('.pagelayer-search-field').val(); pagelayer_show_widget_list(jEle, _val); }); wEle.find('.pagelayer-shortcode-holder').off('click'); wEle.find('.pagelayer-shortcode-holder').on('click', function(e){ var tag = jQuery(this).attr('pagelayer-tag'); var mWrap = jEle.closest('.pagelayer-ele-wrap[pagelayer-wrap-id]'); var mTag = pagelayer_tag(mWrap); var ele = jQuery('
    '); // Is col? if(mTag == 'pl_col'){ var colHolder = mWrap.find('>.pagelayer-col > .pagelayer-col-holder'); colHolder.append(ele); pagelayer_empty_col(colHolder); }else{ mWrap.after(ele); } // Replace widget if(jEle.closest('[pagelayer-editable]').length > 0){ pagelayer_delete_element(mWrap.find('>.pagelayer-ele')); } var eleId = pagelayer_onadd(ele, false); var eEle = pagelayer_ele_by_id(eleId); // Create Column if( tag == 'pl_inner_row' ){ var in_col = jQuery('
    '); eEle.find('>.pagelayer-row-holder').append(in_col); var in_col_id = pagelayer_onadd(in_col, false); } eEle.click(); // Hide Widget list pagelayer.gDocument.trigger('mousedown.pagelayer_wdlist'); }); } // Set Selection By Character Offsets function pagelayer_setCaret(containerEl, start, end){ end = end || start; // Refered from http://jsfiddle.net/zQUhV/47/ if(window.getSelection && document.createRange){ var charIndex = 0, range = document.createRange(); range.setStart(containerEl, 0); range.collapse(true); var nodeStack = [containerEl], node, foundStart = false, stop = false; while (!stop && (node = nodeStack.pop())) { if (node.nodeType == 3) { var nextCharIndex = charIndex + node.length; if (!foundStart && start >= charIndex && start <= nextCharIndex) { range.setStart(node, start - charIndex); foundStart = true; } if (foundStart && end >= charIndex && end <= nextCharIndex) { range.setEnd(node, end - charIndex); stop = true; } charIndex = nextCharIndex; } else { var i = node.childNodes.length; while (i--) { nodeStack.push(node.childNodes[i]); } } } var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (document.selection) { var textRange = document.body.createTextRange(); textRange.moveToElementText(containerEl); textRange.collapse(true); textRange.moveEnd("character", end); textRange.moveStart("character", start); textRange.select(); } } // Set Selection By Character Offsets function pagelayer_content_line(containerEl){ var lines = [], charIndex = 0, range = document.createRange(); range.setStart(containerEl, 0); range.collapse(true); var bounding = range.getBoundingClientRect(); var nodeStack = [containerEl], node, prevX = bounding.x, nextStart = 0; while(node = nodeStack.pop()){ if (node.nodeType == 3) { for(var i = 1; i <= node.length; i++){ range.setStart(node, i); range.setEnd(node, i); bounding = range.getBoundingClientRect(); charIndex ++; if(prevX > bounding.x){ lines.push({start:nextStart, end:charIndex - 1}); nextStart = charIndex; } prevX = bounding.x; } } else { var i = node.childNodes.length; while(i--){ nodeStack.push(node.childNodes[i]); } } } // Push last line if(nextStart != charIndex || nextStart == 0){ lines.push({start:nextStart, end:charIndex}); } return lines; } //http://jsfiddle.net/TjXEG/900/ function pagelayer_getCaretCharacterOffsetWithin(element){ var caretOffset = 0; var doc = element.ownerDocument || element.document; var win = doc.defaultView || doc.parentWindow; var sel; if( typeof win.getSelection != "undefined" ){ sel = win.getSelection(); if (sel.rangeCount > 0) { var range = win.getSelection().getRangeAt(0); var preCaretRange = range.cloneRange(); preCaretRange.selectNodeContents(element); preCaretRange.setEnd(range.endContainer, range.endOffset); caretOffset = preCaretRange.toString().length; } }else if( (sel = doc.selection) && sel.type != "Control" ){ var textRange = sel.createRange(); var preCaretTextRange = doc.body.createTextRange(); preCaretTextRange.moveToElementText(element); preCaretTextRange.setEndPoint("EndToEnd", textRange); caretOffset = preCaretTextRange.text.length; } return caretOffset; }PKZ=~plugins/pagelayer/readme.txtnu[=== Page Builder: Pagelayer - Drag and Drop website builder === Contributors: pagelayer, softaculous Tags: page builder, editor, drag and drop, gutenberg, blocks, form builder, landing page, responsive, woocommerce, website builder, website design, visual editor, maintenance mode, wysiwyg, page editor, front end, parallax design, widgets, block, button, category, contact, contact form, e-commerce, facebook, form, gallery, image, import, coming soon, links, menu, mega menu, multisite, site builder, fast performance, plugin, popup, post, SEO, shortcode, sidebar, slider, social, tags, themes, Twitter, video, widget, youtube, header, footer, portfolio, custom, color, full site editing, sticky post, template, under construction, grid layout, popular, page, softaculous, design, gutenberg blocks Requires at least: 4.7 Tested up to: 6.7 Requires PHP: 5.5 Stable tag: 1.9.5 License: LGPL v2.1 License URI: http://www.gnu.org/licenses/lgpl-2.1.html The most advanced frontend drag & drop page builder. Pagelayer is a light weight but extremely powerful Website Builder. With Pagelayer you can create great looking websites much faster. Works with any theme and any page. == Description == Presenting you Pagelayer a WordPress Website builder. Whether you're a beginner or a professional, Pagelayer is built for delivering the best designing experience and fast performance that you will fall in love with. https://www.youtube.com/watch?v=JiY_oOND7rA Pagelayer is an awesome page builder that allows you to create and design your website instantly in the simplest way possible. Take control over your page content with the most advanced page builder plugin available. With Pagelayer, you can create just about everything ! [Home Page](https://pagelayer.com "Pagelayer Homepage") | [Support](https://pagelayer.deskuss.com "Pagelayer Support") | [Documents](http://pagelayer.com/docs "Documents") == Gutenberg Editor Blocks Integration == Pagelayer smoothly collaborates with the Gutenberg editor, ensuring it aligns seamlessly with WordPress' built-in block editor. This means you can effortlessly blend Pagelayer's advanced page-building tools with the user-friendly Gutenberg blocks, giving you the best of both worlds. Whether you fancy the straightforwardness of Gutenberg blocks or the sophistication of Pagelayer's drag-and-drop editor, the decision is entirely yours. This compatibility grants you the flexibility to harness the strengths of both systems, resulting in unmatched design versatility for your WordPress website. Explore the synergy of Pagelayer and Gutenberg, unlocking a new level of creativity for your web projects. == Next generation Drag & Drop Editor == Now making your imagined website designs is as simple as just a few drag and drop made possible only with Pagelayer. A next-generation page builder with so many features and functionality and as easy as a piece of cake without the need of technical knowledge. == Widgets for every design == Thinking if the design in your mind is possible 🤔? Yes! it is now possible with Pagelayer. We have a large number of widgets (100+) to choose and design from, be it a blog, portfolio, corporate, e-commerce or any other category. With Pagelayer everything is possible. To learn about widgets visit [here.](https://pagelayer.com/widgets/) == Stunning Experience with Real-Time Design == Designing is no fun if we have to refresh the page to see the changes being applied😥. Say no to reloads. Pagelayer builder is a real-time builder so whenever you make changes on your page it gets updated instantly on the preview in the editor so you can check how the changes look. It helps you design your page quickly by saving your time. No more disjointed experience, build and edit everything right in front of your eyes. == E-Commerce website designing == Turn your website into an eCommerce machine with innovative tools and widgets to create an online shopping experience: product catalogs, product pages or shopping carts. == Advanced In-line Editing == Experience the all-new [PEN editor](https://youtu.be/x5gVx2g6DhA) a next-generation text editor. Simply click on any text and start typing edit the existing text or add your custom text. A variety of header and text options enhance your experience as well. == Responsiveness for all device == With Pagelayer responsive design is now made easy no coding, no hassle just a few tweaks and your website is ready to render as per your desired setting on any kind of device. Manage responsiveness for typography, color, padding, and all settings for tablet and mobile. == Cloning made easy == Now save time by just a click of a mouse, need to clone a section? or a page? or a post? no worries Pagelayer got you covered. Leave duplicating to Pagelayer the all-new advanced real-time builder. = 30+ Free Widgets and adding more = * **Row** * **Columns** * **Title** * **Rich Text** * **Quote** * **List** * **Icon** * **Badge** * **Tooltip** * **Image** * **Image Slider** * **Video** * **Grid Gallery** * **Button** * **Tabs** * **Accordion** * **Collapse** * **Image Box** * **Icon Box** * **Space** * **Embed** * **Shortcodes** * **Counter** * **Google Maps** * **Testimonial** * **Progress Bars** * **Color Block** * **Alert** * **Divider** * **Social Profile** * **Star Rating** * **Anchor** * **And counting...** == Unlock the BEST with Pagelayer PREMIUM == The most powerful and professional website builder unlocks the beast with pro [features]{https://pagelayer.com/features/} that will improve your website performance and designing experience to the next level. Get access to more professional widgets, options, and tools to get recognized. ** There are many features to improve your website ** * [Sticky header](https://pagelayer.com/docs/how-tos/make-header-sticky/) * [Motion Effects](https://pagelayer.com/docs/how-tos/how-to-use-motion-effects/) * [Mega Menu](https://pagelayer.com/docs/how-tos/how-to-create-a-mega-menu) * [Infinite Scroll](https://pagelayer.com/docs/how-tos/how-to-enable-infinte-scroll-for-the-posts) * [Call to Action](https://pagelayer.com/docs/pagelayer-pro-widgets/call-to-action/) * [Contact Form](https://pagelayer.com/docs/pagelayer-pro-widgets/contact-form/) * [Image Hotspot](https://pagelayer.com/docs/pagelayer-pro-widgets/image-hotspot) * [Table](https://pagelayer.com/docs/pagelayer-pro-widgets/table/) * [Modal](https://pagelayer.com/docs/pagelayer-pro-widgets/modal/) * [Popup Builder](https://pagelayer.com/docs/getting-started/pagelayer-popup-template-builder/) * [TimeLine](https://pagelayer.com/docs/pagelayer-pro-widgets/timeline/) * [Slides](https://pagelayer.com/docs/pagelayer-pro-widgets/slides/) * [List of Premium widgets](https://pagelayer.com/docs/pagelayer-pro-widgets/) * **Adding More...** == Frequently Asked Questions == Do you have questions related to Pagelayer? Use the following links : 1. [Docs](http://pagelayer.com/docs) 3. [Help Desk](https://pagelayer.deskuss.com) 2. [Support Forum](http://wordpress.org/support/plugin/pagelayer) == Screenshots == 1. **Drag & Drop** widgets from the left panel and edit them easily. 2. **Mega Menu** is now easy and hassle-free without extra plugin installation. 3. **Resize Control** makes perfect pixel designing even easier and more peaceful. 4. **Shapes divider** is now the new trend, and with Pagelayer choose from 100+ possibilities. 5. **Motion Effect** make your website look cooler with various types of effects. 6. **Responsive** designing just got better make your website pixel perfect on all types of device available. 7. **E-Commerce** website is now easier to edit and update as per your choice, no more default designs!. 8. **A to Z** custom design no more sluggish template, get 100% control on all templates. 9. **Content Slides** can be designed without the effort of installing extra plugins. == Changelog == = 1.9.5 (Nov 22, 2024) = * [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible! * [Bug-fix] In some cases, customizer was not loaded properly. This is fixed. = 1.9.4 (Nov 19, 2024) = * [Task] Tested compatibility with WordPress 6.7. = 1.9.3 (Nov 11, 2024) = * [Bug-fix] In some cases, sections were not imported properly in the editor. This is fixed. = 1.9.2 (Oct 18, 2024) = * [Task] Licensing functionality has been further improved. = 1.9.1 (Sep 19, 2024) = * [Bug-fix] Readme.txt had the old version. Hence launching a new version with correct number. = 1.9.0 (Sep 19, 2024) = * [Bug-fix] Improved sanitization of input for some settings. = 1.8.9 (Sep 11, 2024) = * [Task] Import templates functionality has been further improved. = 1.8.8 (Aug 13, 2024) = * [Bug-fix] The Google API key was not sanitized properly. This is fixed. * [Bug-fix] There was some PHP warnings. This is fixed. = 1.8.7 (Jul 25, 2024) = * [Bug-fix] In some cases Pagelayer auto installer was not working properly. This is fixed. = 1.8.6 (Jul 16, 2024) = * [Task] Tested compatibility with WordPress 6.5 and made required changes. * [Bug-fix] The widget child selector in the Pagelayer Editor has been further improved. = 1.8.5 (March 19, 2024) = * [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible! = 1.8.4 (March 05, 2024) = * [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible! * [Bug-fix] In certain cases, the modal content was not aligned properly. This is fixed. * [Bug-fix] In certain cases, the slider height was not set correctly. This is fixed. = 1.8.3 (Feb 22, 2024) = * [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible! * [Bug-fix] There was some PHP warnings. This is fixed. = 1.8.2 (Jan 23, 2024) = * [Security-Fix] The security check for "Move to trash" from pagelayer editor has been further improved. * [Bug-fix] In some cases in Gutenberg, slider blocks were broken during move child. This is fixed. * [Bug-fix] In some cases, the content of the previous post was loaded when adding a new page. This is fixed. * [Bug-fix] In some cases, the video and facebook blocks were not working properly. This is fixed. = 1.8.1 (Jan 09, 2024) = * [Feature] Added support for all Pagelayer widgets in Gutenberg, you can now use Pagelayer widgets in the Gutenberg editor. * [Bug-fix] In the Pagelayer -> Settings and Pagelayer -> Website Settings, certain settings were not escaped and sanitized. This is fixed. = 1.8.0 (Dec 25, 2023) = * [Bug-fix] In some cases Pagelayer was causing a PHP error due to the screen function returning null. This is fixed. = 1.7.9 (Dec 25, 2023) = * [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible! * [Task] Tested compatibility with WordPress 6.4 and made required changes. = 1.7.8 (Sep 22, 2023) = * [Security-Fix] An XSS and scheduled post vulnerabilities have been further improved. Please upgrade to this version as soon as possible! = 1.7.7 (Sep 13, 2023) = * [Security-Fix] An XSS and scheduled post vulnerability was found. This is fixed. Please upgrade to this version ASAP ! * [Improvement] The "Edit with Pagelayer" button UI on Gutenberg and Classic Editor has been further improved. * [Bug-fix] Pagelayer getting started notice could be dismissed by unauthorized users. This is fixed. = 1.7.6 (July 12, 2023) = * [Bug-fix] In some cases, the row editing options were hidden at the top when the first row was at the top. This is fixed. * [Bug-fix] The global fonts and global colors were not working properly with block theme. This is fixed. * [Bug-fix] In some cases, the export feature was not working properly. This is fixed. * [Bug-fix] Twitter share was not working properly in social share widget. This is fixed. * [Bug-fix] Breadcrumb widget has been improved to display the parent of the page. This is fixed. * [Bug-fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. = 1.7.5 (May 11, 2023) = * [Bug-fix] Made Pagelayer compatible with block themes. = 1.7.4 (April 03, 2023) = * [Feature] Added "before after image" widget. * [Feature] Added "Get-Pocket" and "TikTok" icons to the social profile widget. * [Feature] Also added "Get-Pocket" and "Email" icons to the social share widget. * [Bug-fix] There were some PHP warnings in Customizer. This is fixed. * [Bug-fix] In some cases, the contact form with multi-checkbox did not work properly. This is fixed. = 1.7.3 (Feb 02, 2023) = * [Feature] Added setting to load Google Fonts locally on the Pagelayer -> Settings page. Now if you do not want to load Google fonts directly from Google API then you can enable this setting to load Google fonts from your local server. * [Bug-Fix] In certain cases, some WooCommerce widgets were not rendering properly. This is fixed. * [Bug-Fix] In certain cases, the video URLs were not created correctly. This is fixed. * [Bug-Fix] In certain cases, google fonts were not loaded properly. This is fixed. = 1.7.2 (Nov 04, 2022) = * [Feature] Added setting to add content when body is open on Pagelayer -> website settings page. * [Task] Allow to add otf extension font files to Pagelayer custom font. * [Bug-Fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. * [Bug Fix] The post guid was not updated properly when cloning the post. This is fixed. * [Bug Fix] In certain cases scripts were not loaded properly in the Pagelayer editor. This is fixed. = 1.7.1 (Sep 07, 2022) = * [Feature] Added Customizer settings for WooCommerce. Now you can easily customize your WooCommerce Store. = 1.7.0 (July 28, 2022) = * [Task] The typography properties has been further improved. * [Task] Added global color option for the gradient property. * [Task] Added the "HTML Tag" option in post title widget. Now you can select the tags to wrap the post title. * [Bug-Fix] In the some widgets global colors were not applied properly. This is fixed. * [Bug-Fix] In some cases Ctrl+Z was not working properly. This is fixed. * [Bug-Fix] In the Social Icon widget, icons were aligning with respect to the holder. This is fixed. = 1.6.9 (June 02, 2022) = * [Bug-Fix] After the previous version, in some cases, the add section was not working properly. This is fixed. = 1.6.8 (May 25, 2022) = * [Feature] Added Customizer settings to set global styles for elements. Also you can set different global styles for each post type. * [Feature] Added Global Color and Typography palette in customizer. Now you can set Global Color and Typography for each element. * [Feature] The Global color and typography properties have been added to the Pagelayer Editor as well. Now you can set global color and typography from the dropdown list. * [Bug-Fix] Textarea typography was not applied properly in the Contact Form widget. This is fixed. * [Bug-Fix] In certain cases, the add section was not working properly. This is fixed. * [Bug-Fix] In certain cases, the google fonts was not working properly. This is fixed. = 1.6.7 (April 07, 2022) = * [Bug-Fix] In some cases, the onload content animation was not working properly. This is fixed. * [Bug-Fix] In some cases, the CSS was not applied properly for the tablet and mobile devices. This is fixed. * [Bug-Fix] In some cases, sticky elements styles were not applied properly. This is fixed. = 1.6.6 (March 09, 2022) = * [Task] The editing experience within Pagelayer editor has been further improved. Now users can move from one widget to another with the help of up and down arrow keys. We are trying to make the editor into a more user friendly document editor. * [Task] Now we will add a text widget after the active widget when enter is pressed. You can add a slash "/" to search and convert the widget. = 1.6.5 (Feb 21, 2022) = * [Task] The Pagelayer pen editor UX has been further improved. * [Bug-Fix] In some cases, the font-family and other css of icons were not applied correctly after the previous version. This is fixed. * [Bug-Fix] In some cases, Pagelayer import was not working properly. This is fixed. * [Bug-Fix] In some cases, Youtube video autoplay was not working. This is fixed. = 1.6.4 (Feb 11, 2022) = * [Task] WordPress 5.9 adds support for capability queries in WP_User_Query. We have tested and made required changes. * [Bug-Fix] In certain cases, some style was not applied properly in the editor. This is fixed. * [Bug-Fix] In the primary menu widget, after the menu item title was changed, the menu title was not updated. This is fixed. = 1.6.3 (Jan 31, 2022) = * [Bug-Fix] In certain cases, the primary menu widget was not rendering properly. This is fixed. * [Bug-Fix] In certain cases, the posts widget slider was not working properly. This is fixed. = 1.6.2 (Jan 29, 2022) = * [Task] The Pagelayer introduction video link has been updated. = 1.6.1 (Jan 25, 2022) = * [Task] Pagelayer has been tested with WordPress 5.9. * [Bug-Fix] In the vertical primary menu, mega menu position was not working properly. This is fixed. = 1.6.0 (Jan 03, 2022) = * [Feature] Added mega menu option in the primary menu widget. Now users can create a mega menu with the help of Pagelayer drag and drop feature. * [Improvement] Slides widget has been further improved as a content slider. Now users can design the slides with the help of Pagelayer drag and drop feature. * [Improvement] Added the infinite scroll and alternative alignment options for the posts and archive posts widgets. * [Task] The Font-Awesome 5 library has been updated. * [Task] The primary menu widget has been further improved. And also added sub-menu animation option. * [Task] Added more options for customizing slider(s) dots and arrows. * [Bug-Fix] In certain cases, the table widget height was not working properly. This is fixed. * [Bug-Fix] In the editor the some JS files were not cached. This is fixed. * [Bug-Fix] In certain cases, the login widget was not working properly. This is fixed. * [Bug-Fix] In certain cases, the button group widget font size not working properly. This is fixed. * [Bug-Fix] In certain cases, the rotating text in the animated heading widget came on next line. This is fixed. * [Bug-Fix] At times, if there was a div tag in the rich text editor, an undefined error used to be thrown. This is fixed. = 1.5.9 (Nov 03, 2021) = * [Bug-Fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. * [Bug-Fix] In certain cases, inline editing in table widget was not working properly. This is fixed. = 1.5.8 (Oct 20, 2021) = * [Improvement] The link property has been further improved to add target, rel and other attributes. * [Improvement] Added the color options in the social share widget for the labels. * [Improvement] Added alignment option in Pricing table widget and also added screen mode option where needed. * [Task] The list of Google fonts has been updated. * [Bug-Fix] In some cases, the JS/CSS files compressor was not loaded properly. This is fixed and also added option in Pagelayer setting to enable/disable JS/CSS giver. * [Bug-Fix] In the social share widget the "Open link in new window" was not working properly. This is fixed. * [Bug-Fix] In some cases, the Custom Attributes option was not working properly. This is fixed. * [Bug-Fix] In the Audio widget the time handler height was not set properly. This is fixed. * [Bug-Fix] In the options section the font family property was not working properly. This is fixed. = 1.5.7 (Sep 28, 2021) = * [Bug-Fix] In some cases, the widget dropdown list was not hiding properly. This is fixed. = 1.5.6 (Sep 18, 2021) = * [Bug-Fix] In some cases, the position of the widget dropdown list was not correct. This is fixed. = 1.5.5 (Sep 16, 2021) = * [Improvement] The Title Widget has been further improved. Now users can search for widgets with a slash (/) and replace the selected widget with the current widget and also added the plus icon near the bottom of all widgets to add widget after the current widget. * [Improvement] Login widget has been further improved. * [Improvement] Insert link option UI of our pen editor has been further improved. * [Bug-Fix] In certain cases the Pagelayer pen heading and paragraph formatting was not working properly. This is fixed. * [Bug-Fix] The Roboto font within the system section was not working. We have removed the system font option of Roboto and left the Google Font option. This is fixed. * [Bug-Fix] In certain cases the background video was not working properly. This is fixed. * [Bug-Fix] When the dropdown menu was set to in tablet or mobile mode, the full primary menu was shown when reloading the page. This is fixed. * [Bug-Fix] In some cases, the pen editor's unlink option was not working properly. This is fixed. = 1.5.4 (Aug 05, 2021) = * [Improvement] The Inline editor position has been further improved for the better user experience. * [Improvement] Added system fonts to Typography font list. * [Bug-Fix] While using Pagelayer template the WordPress Page Break was not working properly. This is fixed. * [Bug-Fix] The linked media file was the thumbnail image if image size thumbnail was selected in the Image slider widget. This is fixed. * [Bug-Fix] In some cases the review widget was not working properly when editing inline. This is fixed. * [Bug-Fix] Post status used to be changed to draft when updating Pagelayer popup template via Pagelayer editor. This is fixed. * [Bug-Fix] In certain cases the inline editor font family was not working properly. This is fixed. * [Bug-Fix] The blank post excerpt was not updated properly. This is fixed. * [Bug-Fix] In some cases, page scroll was added because of the width of the table. This is fixed. * [Bug-Fix] After adding the link, the inline editor was unable to edit the image and icon box contents. This is fixed. = 1.5.3 (July 28, 2021) = * [Bug-Fix] In some cases there was some js error occurred after the last version. This is fixed. = 1.5.2 (July 23, 2021) = * [Feature] We have improved the inline editor UI and UX. This is to give a better experience while editing the text. More improvements to the editing experience will follow soon. * [Feature] Retina Image option enabled for Image and Image Box widgets. * [Feature] Added option for custom thumbnail in posts and archive posts widgets. * [Feature] The Map widget has been further improved for Google map v3. We recommend you use version 3 as Google is deprecating version 2, or Google may discontinue version 2 maps at any time. * [Feature] Added Enter and Backspace key handler, now on press enter key inside title widget, we will break widget content from current cursor position and open new title widget with same content and by clicking backspace we will merge it again. * [Improvement] Added col margin option in the posts and archive posts widget. * [Improvement] Added space between option in image slider widget. * [Improvement] Added the "download file name" option to the download button widget. Now user can set the custom name of the download file. * [Improvement] Added alignment, size and max width options for the Row and Column parallax image. * [Improvement] Image drop zone UI has been further fixed. * [Improvement] Added alt and title attributes for the site logo and post author image. * [Bug-Fix] The image media modal headings styles have been further fixed. * [Bug-Fix] In the image hotspot, quote and list widgets, the icon styles were applied for all the I (italics) tag. This is fixed. * [Bug-Fix] When editing the tooltip text through the inline editor, the tooltip was hidden when hovered out. This is fixed. * [Bug-Fix] In certain case while resizing the window, the primary menu was not working properly. This is fixed. * [Bug-Fix] While adding Tab widget inside the Tab widget, the Tab widgets were not working properly. This is fixed. * [Bug-Fix] Clicking on the close alert icon in the editor will hide the alert widget. Due to this we were not able to edit the alert widget again. This is fixed. * [Bug-Fix] While editing the slider content through the inline editor, we were unable to select content. This is fixed. * [Bug-Fix] On window resizing the scroll effects was not working properly. This is fixed. * [Bug-Fix] While pasting the content, the widgets were pasted. This is fixed. * [Bug-Fix] In certain cases, the video widget was not working properly. This is fixed. * [Bug-Fix] In certain cases, the video mute option was not working properly. This is fixed. * [Bug-Fix] Post widget copy-paste and duplicate was not working properly. This is fixed. * [Bug-Fix] In certain cases, the audio widget was not working properly. This is fixed. = 1.5.1 (May 18, 2021) = * [Bug-Fix] Some images were not imported properly while importing the theme if the same slug was used. This is fixed. * [Bug-Fix] Icon alignment on contact form submit button was not working properly. This is fixed. * [Bug-Fix] After the last update contact form custom template settings were not applied properly. This is fixed. * [Bug-Fix] In certain cases some js error occurred when the post content was empty. This is fixed. * [Bug-Fix] The border radius on the hover of the countdown timer widget was not working properly. This is fixed. = 1.5.0 (May 10, 2021) = * [Feature] Added icon option for the toggle menu. * [Task] The post info widget has been improved for the tag and category styles. * [Task] Added title and alt attributes for all possible image tags for improving accessibility reading. * [Bug-Fix] In some cases the post props were not working properly. This is fixed. = 1.4.9 (April 17, 2021) = * [Feature] Added the feature to upload Custom Fonts. Users can now use fonts other than Google Fonts by uploading their choice of fonts. * [Feature] The Page / Post properties are now visible by default while editing a post / page. We have added many options like Categories, Tags, Permalink, Publish Post at a future date, Excerpt, Discussion options, etc. * [Feature] While editing the contact form, you can now design the success and error messages. * [Task] By default, the page settings will now be shown while editing in Pagelayer. * [Task] On submitting the contact form, the submit button will now show a progress circle. * [Task] Added title and alt attributes for all possible image tags for improving accessibility reading. * [Task] Added more options for Badge Widget. * [Task] Added the dark mode option for the pagelayer editor, you can enable dark mode from the pagelayer setting. * [Task] Added default inner content in the tab widget. * [Bug-Fix] The padding for overlay in the Image Portfolio widget was not working. This is fixed. * [Bug-Fix] The right click menu in Pagelayer Editor would cross the edges of the view port. This is fixed. * [Bug-Fix] In case of the Address, Email or Phone Widgets, if the value exceeded the column width, the column layout would break. This is fixed. * [Bug-Fix] When the image widget was given an animation and also had an overlay, the animation would not work. This is fixed. * [Bug-Fix] Box shadow CSS was not working in some places. This is fixed. * [Bug-Fix] In some cases, the dots of the Slides Widget's slider were hidden. This is fixed. * [Bug-Fix] In some cases, some part of the "Facebook Likes" button was hidden. This is fixed. * [Bug-Fix] When loading a page / post in editor mode, the splash modal was shown each time if the display option "Always" was set. This is fixed. * [Bug-Fix] In some cases, the global table widget was not updated properly when editing the global table using the inline editor. This is fixed. * [Bug-Fix] The title in the menu list widget was not edited properly using the inline editor. This is fixed. = 1.4.8 (March 11, 2021) = * [Feature] Added the option to clone the posts/pages. * [Task] Pagelayer has been tested with WordPress 5.7 and we have made required changes. * [Task] Added feature to import taxonomies for the posts. * [Task] Now we are starting importing excerpt content of the posts. * [Bug-Fix] When cloning the image portfolio widget, its clone was not working properly. This is fixed. = 1.4.7 (Feb 26, 2021) = * [Feature] Added the option to scroll to the top of any element or body in button widget. * [Bug-Fix] In some cases the background color of the checked radio button in the contact form widget was not working properly. This is fixed. * [Bug-Fix] In some cases the contact form custom template settings were not working properly. This is fixed. * [Bug-Fix] In some cases the default titles of the countdown were not shown in the countdown timer widget. This is fixed. = 1.4.6 (Feb 13, 2021) = * [Feature] Added image replacement option inside the media library. * [Bug-Fix] In some cases the video was not playing inside the safari browser. This is fixed. * [Bug-Fix] While editing testimonial slider the group sorting from the left panel was not working properly. This is fixed. * [Bug-Fix] The background slider was not working for free version. This is fixed. * [Bug-Fix] In certain cases while duplicating the widgets the pagelayer classes was not replaced properly. This is fixed. * [Bug-Fix] The header and footer code was not getting blank from website UI settings page. This is fixed. * [Bug-Fix] In some cases, the chart widget was not rendering properly due to JS error. This is fixed. = 1.4.5 (Jan 27, 2021) = * [Bug-Fix] In some cases the apply revision was not working properly after the last version. This is fixed. * [Bug-Fix] In some cases the global widget content was not updated properly. This is fixed. = 1.4.4 (Jan 22, 2021) = * [Feature] Added the option to revert a setting to the default. * [Feature] Added All Archive type for all registered posts for Pagelayer Templates. * [Feature] CSS output of Pagelayer per page will reduce by 10% making the page faster. * [Bug-Fix] On some servers, the comments are removed from the HTML output, causing editing to break. This is now fixed. = 1.4.3 (Jan 09, 2021) = * [Added] Added alignment option to the sub-menu in the primary menu widget. * [Bug-Fix] The element pagelayer-id has been further improved to fix ModSecurity issues. * [Bug-Fix] In the primary menu widget the sub-menu alignment was not working properly. This is fixed. * [Bug-Fix] In some cases the undo-redo actions was not working properly. This is fixed. = 1.4.2 (Jan 04, 2021) = * [Bug-Fix] In some cases if the element's inner content contains HTML comments, the element was not rendering properly. This is fixed. = 1.4.1 (Jan 02, 2021) = * [Bug-Fix] In some cases if the element attributes were empty, the element was not rendering properly after the last version. This is fixed. = 1.4.0 (Jan 01, 2021) = * [Improvement] While editing the page, the element attributes storing method has been further improved and will reduce your page size. * [Improvement] The element pagelayer-id size has been reduced from 16 chars to 8 chars and will reduce your page size. * [Added] Added element up and down option. Now you can move elements up and down without dragging the element. The Drag option is also available. * [Task] The Website Setting has been further improved. Now you can set the global styles to the elements for any screen modes. * [Bug-Fix] In some cases, memory was exhausted while saving the post. This is fixed. * [Bug-Fix] In some cases the archive template was not applied properly. This is fixed. = 1.3.9 (December 21, 2020) = * [Task] If there is a Javascript error due to any other plugin, Pagelayer will still try to start the live editor and remove the 90% loader if its stuck. * [Bug-Fix] PopularFX themes chosen were not getting imported in some cases. This is fixed. = 1.3.8 (December 08, 2020) = * [Bug-Fix] Default image was seen for blog pages using the Pagelayer Template system. This is fixed. = 1.3.7 (December 07, 2020) = * [Bug-Fix] After the last update the primary menu toggle was not working. This is fixed. * [Bug-Fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. * [Bug-Fix] The box-shadow on the element's hover was not working properly. This is fixed. * [Bug-Fix] In the certain cases the image alignment on nivo-lightbox was proper. This is fixed. * [Bug-Fix] In the review slider widget the author vertical alignment was proper. This is fixed. = 1.3.6 (December 05, 2020) = * [Improvement] Improved the export and import feature to use global font settings and exported menus and posts. * [Improvement] Added "Open link in new window (tab)" option to the image box button. * [Improvement] Added Hide Clip option in the animated heading widget to hide clip from the rotating heading with clip effects. * [Task] Pagelayer has been tested with WordPress 5.6 and we have made required changes. * [Task] In the some cases updating of a post / page was not working due to mod_security. To fix this, we are now base64 encoding strings and decoding the data in our AJAX calls. * [Task] Added an error alert when the pagelayer live editing would fail if the post was not found. This is a very rare bug, and we will try to add more such error alerts to make the issues clearly known to the user. * [Task] Added a check to verify the Facebook App ID format is correct when saving the same. * [Bug-Fix] The select and spinner type properties were overlapping in some cases when the label was long. We fixed this. * [Bug-Fix] The sub-menu of a primary menu widget contained unwanted padding. This is fixed. * [Bug-Fix] In some cases the height of the video widget container was rendered wrong. This is fixed. * [Bug-Fix] In some cases the set feature image option in pagelayer editor post properties was not working properly. This is fixed. * [Bug-Fix] While editing the accordion widget, the accordion active tab was shown and hidden multiple times. This is fixed. * [Bug-Fix] In the some cases the background video was not working properly. This is fixed. * [Bug-Fix] In the image slider widget the alt and title attributes were missing. This is fixed. * [Bug-Fix] In the Custom HTML widget the text field was not shown. This is fixed. * [Bug-Fix] The pagelayer-data key was not updated properly when saving the post. This caused the data of an existing post to be put within a row. This is fixed. = 1.3.5 (November 9, 2020) = * [Security-Fix] In the Pagelayer -> Website Settings, the output was not escaped for certain settings. We would like to thank Ram Gall from the WordFence team for pointing this out. Full disclosure will be available after 48 hours from the release of this version. = 1.3.4 (November 4, 2020) = * [Improvement] Added option for the top / bottom position for the contact form success / failed message. * [Improvement] Added "Open link in new window (tab)" option to the social widget. * [Bug-Fix] After submitting the contact form the default success/failed message was not shown if the message was not set from the setting. This is fixed. * [Bug-Fix] The post content widget was not working properly for the password protected posts. This is fixed. = 1.3.3 (November 2, 2020) = * [Bug-Fix] The last version of Pagelayer was causing a set_current_screen conflict with WooCommerce. This is fixed. = 1.3.2 (October 28, 2020) = * [Feature] The post properties in Pagelayer editor has been further improved, now clicking on the setting icon modal will be shown, from where you can setting up post properties. * [Feature] Advanced Custom fields are now supported in the Pagelayer Editors new post properties. * [Feature] The tabs, accordion and collapse widgets have been further improved. Now user can drag widgets inside these widgets. * [Feature] Added single page Import support for PopularFX templates. * [Task] From this version onwards, we are starting to save the post content in block format. * [Bug-Fix] If the Pagelayer editor was not enabled for the post type, the "Edit with pagelayer" link was shown. This is fixed. * [Bug-Fix] If the comment was closed for the post, the comment count in the post info widget was still showing. This is fixed. * [Bug-Fix] In the some cases the link was not rendering properly in th list widget. This is fixed. = 1.3.1 (October 13, 2020) = * [Improvement] Added the option to save the popup cookie on closing as well. * [Improvement] Added Cell Width options for Table Cells. * [Improvement] In Social Share Widget, added the profile name option for Instagram, Skype, Dribbble, etc. * [Improvement] Added option to disable title in site title widget. Now you can disable the site title if the logo is enabled. * [Improvement] Added auto-detection for reply-to email in contact form. Now if the user does not add reply-to in addition fields then we will detect email from user-submitted data. * [Improvement] Added $site_title variable in contact form, now user can use use $site_title to print site title. * [Improvement] Copyright text can now be saved from the Widget itself while editing in Pagelayer. * [Task] In some cases givecss.php was blocked by certain plugins to execute due to PHP. We have improved detection of the same and it will be served over admin-ajax.php to by pass such plugins. Pagelayer will also detect if givecss.php is functional and access it directly for better speed if possible. * [Task] Default values for Archive Posts have been set for better compatibility in responsive mode. * [Task] For contact forms, an only Label option type has been added. * [Task] In testimonial sliders if there is no image set for a testimonial, then no image will be shown. Earlier the pagelayer default image was shown. * [Bug-fix] The detection script for givejs.php and givecss.php which serves compressed CSS and JS files was not working correctly in certain cases. This is fixed. * [Bug-Fix] The Star widget would not show full coverage when a 5 stars was set. This is fixed. * [Bug-Fix] Unnecessary new lines were being entered in certain widgets. This is fixed. * [Bug-Fix] While saving the Address, Phone Number, etc in Pagelayer Contact Settings, certain special characters were getting a Slash Prefix. This is fixed. * [Bug-Fix] In Modal Popup, the live view was not being set correctly when the close option was set to outside. This is fixed. = 1.3.0 (September 26, 2020) = * [Improvement] We have improved the Editor UX. Now we will show you a small notice modal for 5 seconds for your actions. * [Improvement] The copy-paste method has been further improved. * [Task] In certain cases the JS and CSS file was not loaded properly because PHP execution was not allowed for compressing the static content. We have added auto detection to serve via PHP if its available. * [Bug-Fix] In the primary menu widget if the menu name was longer, the menu item would exceed the border. This is fixed. * [Bug-Fix] While duplicating, the accordion and collapse widgets were not rendering properly. This is fixed. * [Bug-fix] In some cases, while turning on the error report in PHP, some PHP error notice was shown. This is fixed. * [Bug-fix] The popup option styles were not applied properly. This is fixed. * [Bug-fix] The clone and delete icons were removed from the Body Props as they were not in use. = 1.2.9 (September 23, 2020) = * [Bug-Fix] The image box and icon box widget content lines were broken with characters. This is fixed. * [Bug-Fix] In certain cases the animation heading widget was not rendering properly after last version. This is fixed. = 1.2.8 (September 18, 2020) = * [Task] Adding support for block formats in Pagelayer. This is complete but due to compatibility, we are still storing in shortcodes which will change over the next few versions. * [Improvement] The CSS rendering method has been further improved and will reduce your page size. * [Bug-Fix] While applying the page/post revisions, the revision content was not rendering properly. This is fixed. * [Bug-Fix] In the Image Hotspot widget "Tooltip Display" was not working properly. This is fixed. * [Bug-Fix] If the animation heading widget contains the

    tag then it was not rendering properly. This is fixed. = 1.2.7 (September 15, 2020) = * [Improvement] Description added in Phone, Email, Address, Copyright widgets. * [Improvement] For the Modal Widget, clicking on the grey background will close the Modal box. * [Improvement] The splash widget has been further improved and added a max-height option for the splash container. * [Bug-Fix] List Item widget url not showing dropdown of suggestions of pages and posts. This is fixed. * [Bug-Fix] RSS and Archive WordPress widget checkboxes were not working properly. This is fixed. * [Bug-Fix] Shadow setting was not hiding even after changing the animation type to rotating. This is fixed. * [Bug-Fix] Rotate-2, Rotate-3 and Scale effects in animated heading was not working after refresh. This is fixed. * [Bug-Fix] Adding many Animated Headings in a page was not working properly. This is fixed. * [Bug-Fix] Image Hotspot widget animation was not working. This is fixed. * [Bug-Fix] Image Hotspot widget tooltip with display on click was not working properly. This is fixed. * [Bug-Fix] Facebook Embed widget width was not responsive. This is fixed. * [Bug-Fix] Single word content in Icon Box widget was not splitting, due to this the text was crossing the border of the widget. This is fixed. * [Bug-Fix] In some cases button with stretched property was crossing its border. This is fixed. * [Bug-Fix] Image Box and Icon Box widget animation was not working when url is added. This is fixed. = 1.2.6 (September 7, 2020) = * [Bug-Fix] If JetPack WP.ME / shortlinks were enabled, Pagelayer editor would not open due to the wrong URL structure. This is fixed. * [Bug-Fix] A Column would not hid in Mobile view when the "Hide in Mobile" option was enabled. This is fixed. * [Bug-Fix] pagelayer_pl_row_slider error was shown for some PopularFX themes. This is fixed. = 1.2.5 (August 28, 2020) = * [Bug-Fix] In certain cases the Pages/Posts title was replaced with previous title. This is fix. = 1.2.4 (August 28, 2020) = * [Task] We have tested the jQuery changes in WordPress 5.5. * [Bug-Fix] WordPress widgets were not rendering properly. This is fixed. * [Bug-Fix] In some cases CSS was not rendering properly. This is fixed. * [Bug-Fix] In the Accordion and Collapse widget, when we click on the content area, the Accordion and Collapse tabs were closed. This is fixed. = 1.2.3 (August 24, 2020) = * [Task] The language strings which were hard-coded have been moved to the pagelayer language pack. * [Task] Added option to open link in new tab for the image box and icon box widget. * [Bug-Fix] The Textarea property has been further improved, now Textarea resizes vertically. * [Bug-Fix] Removed some incompatible code. * [Bug-Fix] The right side block background color was not correctly applied to the hover in the timeline widget. This is fixed. * [Bug-Fix] In the accordion and collapse widget the active tab color was not working properly. This is fixed. * [Bug-Fix] In certain cases, the Pagelayer editor was stuck at 90% due to a js error related to fonts. This is fixed. * [Bug-Fix] The Modal widget has been further improved and added a max-height option for the modal container. * [Bug-Fix] While editing a page/post if anyone clicked on a link outside the editable area, the page was redirected and changes were not saved. This is fixed. = 1.2.2 (August 11, 2020) = * [Bug-Fix] In some cases, the width of the columns of a Pagelayer Template while editing a post was not applied properly. This is fixed. = 1.2.1 (August 10, 2020) = * [Improvement] If there is a Javascript error during Pagelayer editor loading, the users will be shown the error and also a support option will be shown to the user ! * [Improvement] For the Splash Widget, clicking on the grey background will close the splash box. * [Improvement] Its now possible to import templates of a theme which are made with Pagelayer. * [Task] Added a Getting Started informative page and video for our users. * [Task] Improved the login widget in the premium version of Pagelayer. * [Bug-Fix] On window resize, the Facebook page widget will be resized as well. * [Bug-Fix] For the Video widget, the overlay image was not shown properly and also the video would not play when the image overlay was clicked. This is fixed. = 1.2.0 (July 23, 2020) = * [Improvement] Mobile and tablet preview on the editor has been improved. Now the width of the preview will be determined according to the values set in the Website Settings of Pagelayer. * [Improvement] The element hide media query has been improved for Desktops, Tablets and Mobiles. * [Improvement] The table widget has been further improved. Now users can edit a table cell content in the live editor rather than using the left panel to set the values. * [Task] The website settings are now available in the free version of Pagelayer. * [Task] Added width option for the Facebook page widget. * [Task] The post title widget has been improved. * [Bug-Fix] Text editor undo and redo icons were not correct. This is fixed. * [Bug-Fix] In the certain cases, while editing the Splash widget the modal was hidden. This is fixed. * [Bug-Fix] While using the product archives widget on a pagelayer template, the products list was not shown. This is fixed. = 1.1.9 (July 14, 2020) = * [Feature] Added Website settings to set global font styles and colors. * [Improvement] We have improved the Link property and you can now search posts/pages links in your WordPress site. Those links will automatically be updated if the target URL changes. * [Improvement] The image dropzone has further been improved. It will not show drop options if the dragged object is not an image. * [Improvement] We have improved the export wizard. Now users can export posts by its type and also export the media. * [Task] Added "playsinline" attribute in the background video in rows and columns. * [Task] The Archive post widget has been improved and so has the all posts widgets. * [Task] Added target option in Social Share widget. * [Task] The post content widget will only show a dummy placeholder while using the post content widget in a Pagelayer Template. This makes it easy to edit and understand the structure of the template. * [Task] Added dummy pagination for the Archive Posts widget while editing within a Pagelayer template. * [Task] The language strings which were hard-coded have been moved to the language pack. * [Task] The typography property has been further improved. * [Task] Added placeholder for featured image widget while editing a Pagelayer Template. * [Bug-Fix] Singular Templates were not showing Media / Attachments properly. This is fixed. * [Bug-Fix] In certain cases, the Hide on Mobile / Tablet was not working properly. This is fixed. * [Bug-Fix] The pQuery class name was conflicting with other plugins. This is fixed. * [Bug-Fix] While editing a pagelayer template, the editable area was not shown in certain cases. This is fixed. * [Bug-Fix] The Archive Title widget was not rendered properly while editing a Pagelayer Template. This is fixed. * [Bug-Fix] The row max-width option was applied on its childrens row / inner row. This is fixed. * [Bug-Fix] In certain cases, the singular/archive templates were not being saved properly and were applied to all the singular/archive pages respectively. This is fixed. = 1.1.8 (July 02, 2020) = * [Security-Fix] Our internal security audit revealed XSS vulnerabilities. This is fixed. Please upgrade to this version ASAP ! * [Bug-fix] When an image was clicked, the image gallery was opened to choose the image. This was a bug introduced in the last version and is fixed now. * [Bug-fix] In certain cases, the rich text content was not rendered properly. This is fixed. * [Bug-fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. = 1.1.7 (June 26, 2020) = * [Feature] Now you can open the media library by clicking the images and choosing or uploading the same. * [Tasks] Added Mute and Looping options in background video in rows and columns. * [Bug-fix] On turning on the error report in PHP, some PHP error notice was shown. This is fixed. = 1.1.6 (June 22, 2020) = * [Bug-Fix] In certain cases some js error occurred while dragging and dropping the widget. This is fixed. = 1.1.5 (June 19, 2020) = * [Premium-Feature] Added the option to save widgets and sections as a Global Widget / Section. Now the user can save the widgets and sections and use them on the entire site. * [Feature] Image dropzone has been added to the image property, now user can add images via drag and drop. * [Feature] Added "Make link" option for the phone and email widget. * [Feature] We have added font styling options in the Options tab of the element. * [Feature] Added tabs in the Pagelayer Templates List to filter templates by their type. * [Feature] Added pagination option for the Grid gallery. * [Task] Import theme content has been further improved. Now users can select advanced option before importing the theme. * [Task] Added "snapchat-ghost" icon to the Share widget icons list. * [Task] Added pointer height option in the Primary menu widget to manage height of pointers and also added the dropdown alignment option. * [Bug-Fix] In certain cases, the video autoplay, loop and mute options was not working properly in the video widget. This is fixed. * [Bug-Fix] In some cases, the Pagelayer Editor was unable to load while setting motion effects. This is fixed. * [Bug-Fix] In certain cases, when a revision of the post/page was applied, after updating the post, the post/page was invisible from the "All Pages" page. This is fixed. * [Bug-Fix] In some cases, YouTube videos were not being loaded properly in the lightbox. This is fixed. = 1.1.4 (May 27, 2020) = * [Premium-Feature] Added options to add site-key, secret-key and language for reCaptcha in settings. * [Feature] Added button style type "animated" in button widget. * [Task] Made Pagelayer compatible with PHP 7.4. * [Bug-Fix] In the contact form, the variables in the mail template was not properly replaced, when the field name was an array. This is fixed. * [Bug-Fix] When the editable area was missing, Pagelayer would get stuck at 90% without showing error. This is fixed. * [Bug-Fix] In the Author box widget, the custom image holder was not set. This is fixed. = 1.1.3 (May 19, 2020) = * [Premium-Feature] Added new Timeline widget for our Pro users. You can now create beautiful timelines of your work by just dragging the widget ! * [Premium-Feature] Added option to add custom attributes for the element in options property bar. * [Premium-Feature] Added file option in contact form item. Now user can add file upload option in contact form. * [Improvement] Group property has been further improved. Now user can sort the group items. * [Improvement] The update button UI has been improved. * [Improvement] The "Progress Bar" widget has been improved. Added background color, border-radius, prefix and sufix options. * [Bug-Fix] In the premium audio widget the width was not working properly. This is fixed. * [Bug-Fix] In the Author box widget, the custome biography set was not visible. This is fixed. = 1.1.2 (May 6, 2020) = * [Security] For security reasons, we have changed the nonce names for the editor and for non-editor tasks. We urge all users to update to Pagelayer 1.1.2 as soon as possible. = 1.1.1 (May 2, 2020) = * [Security-Fix] There was a missing nonce check in the settings page of Pagelayer. This was reported by WordFence and is fixed. * [Security-Fix] Capability checks were missing in save content function of Pagelayer. This was reported by WordFence and is fixed. We urge all users to update to Pagelayer 1.1.1 as soon as possible due to these security fixes. * [Premium-Feature] The Pagelayer settings have added the option to add custom header and footer code for the entire site, and you can also add custom header and footer code for particular pages / posts from the "Edit Body and Post Props" option in the Pagelayer editor. * [Premium-Feature] Added "From Email" and "Additional Headers" options for the contact forms in the Pagelayer settings. * [Premium-Feature] Added options to create custom mail template for the contact forms in the "Contact form" widget. * [Task] The new property type "model" is defined. * [Bug-Fix] In the audio widget, the play and volume icon was invisible. This is fixed. * [Bug-Fix] In the contact form widget, the Redirect option was not working. This is fixed. * [Bug-Fix] In some cases, memory was exhausted while loading the shortcodes. = 1.1.0 (April 17, 2020) = * [Task] The "Element ID" option has been added for the items in the accordion and collapse widget, Now you can use the accordion and collapse widget as a reference link. * [Task] Made Pagelayer compatible with the "Smush" plugin. * [Task] Added box shadow option in the button widget. * [Bug-Fix] In the accordion widget "Default active tab" option of the accordion item was not working. This is fixed. * [Bug-Fix] The color preview in the "box shadow" properties was not working the first time. This is fixed. * [Bug-Fix] If the column already contains an inner-row, the columns are prevented from dragging in the inner-row. = 1.0.9 (April 11, 2020) = * [Premium-Feature] Cookie option added to popup template. Now you can hide a popup for a fixed time with the help of the cookie at the click of close button. This is particularly useful to create a Cookie Consent popup. * [Task] Some WordPress themes did not have an "entry-content" class to wrap post content. Hence Pagelayer was unable to find the editable region. Now we have added the wrapper with the class "pagelayer-editable-area" to create an editable region. * [Task] Added a placeholder to the grid gallery widget. * [Task] Added typography option for image caption in the image widget. * [Bug-Fix] Added cursor pointer to button in button widget. * [Bug-Fix] In certain cases, there were some js errors in the action history. This is fixed. * [Bug-Fix] In certain cases, Pagelayer was unable to get the contents of the section from the Pagelayer API. This is fixed. * [Bug-Fix] In the inner row widget the background elements was not working. This is fixed. * [Bug-Fix] In the inner row widget, shape styles was not working. This is fixed. * [Bug-Fix] If zlip compression was on in PHP, ob_gzhandler used to give an error due to which Pagelayer failed to load in some cases. This is fixed. = 1.0.8 (March 24, 2020) = * [Premium-Feature] We have added Scrolling Effects and Mouse Effects feature in Pagelayer. You can now set an animation to an element on mouse movement or on scroll. * [Feature] We have now added 300+ sections in Pagelayer. You can 1-click add sections to a post / page. We have also added many pages so that you can build your website with just a few clicks. * [Feature] Added "Import Theme" option in Pagelayer. A theme needs to be a pagelayer exported theme so that anyone can import the theme. * [Feature] Most text fields are now editable from the Editor window itself without the left bar text fields. This enhances the editing experience. * [Improvement] We have added a pre-loader to the Pagelayer editor. * [Improvement] The Left-bar UI has been improved. Much more UI changes are coming ! * [Improvement] The Add Section wizard, has been further improved. The speed of image loading has also improved and we will improve the sections further. * [Improvement] Added more options for popup builder. Advanced options are coming soon. * [Task] Added the option to de-select the options from multi-select property type. * [Task] The Pagelayer Editor left top bar UI is also improved. * [Task] We are re-building our docs and also making some video tutorials for our users. * [Bug-Fix] In certain cases, additional whitespace was added to the attributes. This is fixed. * [Bug-Fix] In certain cases, widgets were broken when we use double code in text. This is fixed. * [Bug-Fix] The image portfolio icon was missing. This is fixed. = 1.0.7 (March 3, 2020) = * [Feature] The Add New Section code is now working. We have added 10 blocks and more are on the way. * [Task] Improved the layout of the color selector. Also when no color is selected, the color box will show blank space instead of white color. * [Task] Some more improvement has been done to the Pagelayer Widget Settings UI. = 1.0.6 (February 20, 2020) = * [Feature] Added settings for widgets - Contact Email, Phone, Address. You can specify these defaults and it will be changed throughout the website. * [Feature] Added keyboard options Ctrl+S to update posts. * [Feature] Added size and space option for the slider dots for all Slider widgets. * [Feature] Added screen mode options for typography and alignment in the Contact Email, Phone and Address widgets. * [Premium-Feature] Added new widget for Image Portfolio. * [Premium-Feature] Added inline and spacing option for radio button in Contact form widget. * [Premium-Feature] Added dropdown breakpoint option for responsive menu in Primary Menu widget. * [Premium-Feature] Added pagination option in Archive Posts widget. * [Premium-Feature] Added padding option for content in Archive Posts and Posts widget. * [Premium-Feature] Added screen mode options to the Primary Menu widget where needed. * [Task] Now when you add a new row or inner row, a column will be added automatically. * [Task] The Row, Column and Elements hover UI has been improved. * [Task] From now on, we are saving the Pagelayer ID. So that they are consistent all the time. * [Task] The left panel font has been changed to Roboto to improve the UI of the left panel. * [Bug-Fix] In the flip box widget, the front side of the flip box was not being hidden properly when flipping. This is fixed. * [Bug-Fix] In the pen menu, some icons were not visible. This is fixed. = 1.0.5 (January 21, 2020) = * [Feature] Added new widgets - Contact Email, Phone, Address, Copyright. You can specify these defaults and it will be changed throughout the website. * [Feature] Added the screen mode option for the custom Column Width in Column widget. * [Feature] Accordian Content Padding and border radius have been added. * [Feature] Added breakpoint settings for Tablet and Mobiles * [Feature] Premium Feature - Added the feature to make an element sticky * [Feature] Added the option to save default Social Profile URLs. These URLs will be used while editing and can be altered while editing. * [Task] Now when you undo and redo, the affected element will become active and the page will also scroll to that element. * [Task] Added the additional parameters with pagelayer_trigger_action function in javascript. * [Task] For a Cite in Quotes, text align option has been added. * [Task] Added the option to remove the Icon selected in the icon properties. * [Task] In mobile/tablet view we have improved the responsive beahviour. * [Task] The Ctrl-z and Ctrl-y behaviour has been further improved. Now when you undo, the actions within the last 200 milli seconds will be undone. * [Task] Added function to get current media mode according to pagelayer tablet and mobile breackpoint in Javascript. * [Bug-Fix] Added overflow to accordion items to fix the overflow in some cases. * [Bug-Fix] Ctrl-z will now work on the entire window. Previously you had to focus back on the editor and then it would work. This is fixed. * [Bug-Fix] While editing the header if the Row was at 0px of the window, the row options were not visible. This is fixed. * [Bug-Fix] The Add New Section / Widgets area at the bottom of the content window was aligned to the right. Now its centered. * [Bug-Fix] The column width dragging feature had some bugs where it would not allow resize. This is fixed. * [Bug-Fix] The anchor overlay in the icon box / image box widgets was going wrong. This is fixed. * [Bug-Fix] In editor, on clicking setting and property close icons in left bar, the left bar move was triggered. This is fixed. * [Bug-Fix] We were not registering pagelayer actions while resizing the columns. This is fixed. * [Bug-Fix] In certain cases the video url was sanitize properly. This is fixed. * [Bug-Fix] The custom width property of the element in the options was not working properly. This is fixed. = 1.0.4 (December 12, 2019) = * [Feature] Added Line Height to the Rich Text Editor. * [Feature] Added the option to edit or delete an item from the Navigator. * [Feature] Added the option to set a font for the whole site. * [Feature] Premium Feature - Column Background Slider has been added. * [Feature] Premium Feature - We have created a Popup builder in Pagelayer. * [Task] We have added more units to various properties so that you can choose either px, %, vw, etc for the respective settings. * [Task] Added hover delay for Site Title. * [Task] The Image Selector tool UI was not proper. We have improved it. * [Task] The Grid Flex structure has been improved. * [Task] Javascript language string export in the editor is now completed. * [Task] The Rich Text Editor box options have been re-arranged to minimize the utilization of space. * [Task] More font-weight options have been added to typography options. * [Bug-Fix] In certain properties decimal values were not allowed. This is fixed. * [Bug-Fix] Color options did not work in Microsoft browsers like Edge or IE. This is fixed by using RGB when the alpha is set. * [Bug-Fix] Row content v-align and Column content v-align used to not work properly in some cases. This is fixed. * [Bug-Fix] The blank image used to exceed the element width. This is fixed. * [Bug-Fix] Ctrl-z in image URL option of the media box used to undo pagelayer actions. This is fixed. = 1.0.3 (November 17, 2019) = * [Task] We have launched Pagelayer Pro with features like 60+ widgets, 400+ sections, Theme Builder, WooCommerce Builder, Theme Creator and Exporter, Form Builder, Popup Builder, etc. * [Bug-Fix] Animation effects used $ instead of jQuery which broke things in WordPress 5.3. This is fixed. = 1.0.2 (November 17, 2019) = * [Feature] You can now drag the left bar to the right or keep it in the center. Even if you close it, the properties will appear if you edit an existing element. * [Feature] Added a navigator to see the elements structurally. * [Feature] Added Font-Awesome 5 with backward compatibility for v4. * [Feature] Added Position Styles for an element. You can now set the position of an element to Relative, Absolute, Fixed. Various customizations are now possible because of this. * [Feature] Added ctrl+d to duplicate the active element. * [Feature] Added custom x/y position for background image in Element Options for all widgets. * [Task] Font-Awesome 5 will now be gzipped and served. * [Task] Pagelayer editor icons have been updated. * [Task] Added a X-icon option in the widget search field to clear the search box. * [Task] Added Spread and Inset / Outset options to Box Shadow. * [Task] Added background slider option in Row and Columns for the Pro version. * [Task] Added the option to add the Pagelayer Pro license in the Free Version and install the Pro version from the license page itself. * [Bug-Fix] A trigger action was causing things to break in WordPress 5.3. This is fixed. * [Bug-Fix] List item was not getting a width of 100% of the holder. This is fixed. * [Bug-Fix] In some cases the cache control for the editor JS was failing. This is fixed. * [Bug-Fix] If text shadow was given to a heading for hover, it was not working. This is fixed. = 1.0.1 (November 1, 2019) = * [Feature] Added the Post and Body options. You can now give Styles to the body as well. Click the settings icon on the right of the Pagelayer logo to edit the body and post properties. * [Feature] Added premade Section(s) wizard for the users in the editor. We will be launching 100s of sections, headers, footers, etc. to build websites faster. * [Feature] You can now Insert from URL even in an image slider. You will need to enter comma seperated URLs. * [Feature] Added hover effects for Title Widget. * [Task] Added rel option for Button Widget. * [Task] Added tooltips in the editor to improve the editor UX. * [Task] Further improved the speed of the editor by shifting the shortcodes data to a cached javascript file. * [Task] Added actions / triggers in the Javascript API of the Pagelayer Live Editor. * [Task] If the sidebar in the editor is closed and an element is clicked, the sidebar will be opened with the properties of the element shown. * [Task] localstorage will be used for the copy and paste events. * [Task] UI Changes for the Pagelayer Editor. * [Task] An element can now hide properties if not required for the element. This is a dev related feature. * [Bug Fix] You can now undo a drag of an element i.e. if you move an element from position 1 to position 2 and undo the changes, the element will be restore to position 1. * [Bug Fix] If the last column in a row was moved ahead, the column resize option was not shown for that column. This is fixed. * [Bug Fix] While resizing a column, if the mouse moved beyond the boundaries of the element, the resize percentage was not shown. This is fixed * [Bug Fix] If an element was copied and pasted, the text formatting used to be lost in certain cases. This is fixed. * [Bug Fix] While typing in the editor, if delete key was pressed, the element used to be deleted. This is fixed. * [Bug Fix] If an element was copied and while entering the URL of an image, the copied element used to be pasted after the active element. This is fixed. * [Bug Fix] If any section containing properties in the Editor sidebar were empty, that section was still shown. This is fixed. * [Bug Fix] If a custom width was set for a column and that was duplicated, the row holding that column used to get the column width. This is fixed. * [Bug Fix] There were 2 shadow options for an element. We have removed the one from the Border Style. Shadow options for the element is now available only in Box Style. * [Bug Fix] If the user was not logged in, WordPress related widgets were not getting rendered. This is fixed. * [Bug Fix] Inner rows were inheriting the width property of the parent row and ignoring their own width property. This is fixed. * [Bug Fix] If the slug was changed, in some cases the Pagelayer editor would fail to load because WordPress removed the pagelayer-live param from the URL in the old slug URL. This is fixed. = 1.0.0 (September 27, 2019) = * [Feature] Added the option to resize columns by dragging the divider between the 2 columns. * [Feature] Images can now be pasted from the Clip Board in the Pagelayer Editor. These images will be uploaded and saved. * [Feature] You can now copy Pagelayer Elements from one editor tab into another editor tab. * [Feature] Image and Icon Box's can now have a link for the whole box. * [Feature] Added rotate option to Icon Widget. * [Task] Added the option to remove the color from a color setting to reset to default. * [Task] Improved the Image filter options setting in Pagelayer editor. * [Task] Removed the empty space of the Admin Bar in Pagelayer editor. * [Task] Added Screen options for a number of Widget Settings. * [Bug Fix] On the blog page if the first post was not a Pagelayer post, the other posts were not rendered. This is fixed. * [Bug Fix] On some servers the pagelayer editor JS used to fail to load because of the URL having base64 as a file name. * [Bug Fix] If a Page / Post did not have a title, Pagelayer Live Editor used to fail. This is fixed. * [Bug Fix] The Color Picker had a z-index lower than the rich text editor. This is fixed. * [Bug Fix] The Divider widget had extra spacing which is now fixed. = 0.9.9 (September 10, 2019) = * [Feature] Added inline editing so you can now edit text / headers in the editor itself. * [Task] Editor Font Size has been introduced. * [Task] The cursor for add widget area has been set to pointer. * [Bug Fix] In the Pagelayer Editor the title of the page was not set. This is fixed. * [Bug Fix] The overflow given to a column was extending beyond the column. This is fixed. * [Bug Fix] The active accordion tab was not shown by default. This is fixed. * [Bug Fix] The correct screen mode was not set correctly in the beginning. This is fixed. * [Bug Fix] The gradient color in the properties tab was not shown correctly the second time of editing. This is fixed. * [Bug Fix] In image box, the spacing caused the image to go outside its holder. This is fixed. = 0.9.8 (August 20, 2019) = * [Task] In the editor, improved the widget border colors for better user experience * [Task] Improved the right click options UI and added icons * [Task] The widget left bar has been improved * [Task] Improved the search box UI in the left bar * [Task] The widget properties UI has been improved * [Task] The editor bottom bar UI has been improved * [Bug Fix] Testimonial widget was not working. This is fixed. = 0.9.7 (August 13, 2019) = * [Feature] Introducing template feature which allows theme developers to make their themes with Pagelayer * [Feature] Added Settings in the editor to change the post title * [Task] Image Box added border options for the image * [Task] Added heading hover style options for Image Box and Icon Box * [Task] Added Column Gap and Row Gap for Grid Gallery * [Task] Added font family to the text editor * [Task] Added the screen type option for multiple settings * [Task] Made Owl Carousel the default slider as it has much more features * [Task] Improved code for AJAX Calls = 0.9.6 (June 25, 2019) = * [Bug Fix] Undo History small fix = 0.9.5 (June 21, 2019) = * [Feature] Added revision control * [Feature] Added the ability to manage actions while editing i.e. undo and redo * [Feature] Added keyboard options like ctrl+c, ctrl+v, ctrl+z, ctrl+y = 0.9.4 (May 7, 2019) = * [Feature] Added Inner Row which allows to create columns within columns for complex designs * [Task] The Pagelayer Admin JS and CSS was loaded everywhere in the admin panel. This is fixed. * [Bug-Fix] The Pagelayer rating message was not dismissable. This is fixed. = 0.9.3 (Apr 22, 2019) = * [Task] Improved Shortcodes to implement custom widgets = 0.9.2 (Apr 16, 2019) = * [Feature] The drag engine is now much faster * [Feature] Added stretch to the row handler * [Feature] You can now drag on the Add Widget utility * [Feature] Image filter properties have been added * [Task] Progress Bars and Counters will be loaded when the widget becomes visible and not on pageload * [Bug-Fix] If a property was clicked which showed new widget properties in the left panel, then the active tab used to lose focus. This is fixed. * [Bug-Fix] The unit which was saved was not being shown in the properties. This is fixed. * [Bug-Fix] For Tabs widget the tab name was not updated in the properties when changed. This is fixed. * [Bug-Fix] For padding and linked values in the widget properties was not shown. This is fixed. = 0.9.1 (Apr 8, 2019) = * Fixed the hover option icon size * Fixed the video overlay issue = 0.9.0 (Apr 4, 2019) = * Released Plugin PKZ*93*plugins/pagelayer/lib/pquery/composer.jsonnu[{ "name": "tburry/pquery", "type": "library", "description": "A jQuery like html dom parser written in php.", "keywords": ["php", "dom", "ganon"], "license": "LGPL-2.1", "authors": [ { "name": "Todd Burry", "email": "todd@vanillaforums.com", "role": "Developer" } ], "autoload": { "classmap": [ "IQuery.php", "gan_formatter.php", "gan_node_html.php", "gan_parser_html.php", "gan_selector_html.php", "gan_tokenizer.php", "gan_xml2array.php", "pQuery.php" ] }, "require": { "php": ">=5.3.0" }, "require-dev": { "htmlawed/htmlawed": "dev-master" } }PKZJ0{ &plugins/pagelayer/lib/pquery/ganon.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ use pagelayerQuery\Html5Parser; use pagelayerQuery\HtmlFormatter; /** * Returns HTML DOM from string * @param string $str * @param bool $return_root Return root node or return parser object * @return Html5Parser|DomNode */ function str_get_dom($str, $return_root = true) { $a = new Html5Parser($str); return (($return_root) ? $a->root : $a); } /** * Returns HTML DOM from file/website * @param string $str * @param bool $return_root Return root node or return parser object * @param bool $use_include_path Use include path search in file_get_contents * @param resource $context Context resource used in file_get_contents (PHP >= 5.0.0) * @return Html5Parser|DomNode */ function file_get_dom($file, $return_root = true, $use_include_path = false, $context = null) { if (version_compare(PHP_VERSION, '5.0.0', '>=')) $f = file_get_contents($file, $use_include_path, $context); else { if ($context !== null) trigger_error('Context parameter not supported in this PHP version'); $f = file_get_contents($file, $use_include_path); } return (($f === false) ? false : str_get_dom($f, $return_root)); } /** * Format/beautify DOM * @param DomNode $root * @param array $options Extra formatting options {@link Formatter::$options} * @return bool */ function dom_format(&$root, $options = array()) { $formatter = new HtmlFormatter($options); return $formatter->format($root); } if (version_compare(PHP_VERSION, '5.0.0', '<')) { /** * PHP alternative to str_split, for backwards compatibility * @param string $string * @return string */ function str_split($string) { $res = array(); $size = strlen($string); for ($i = 0; $i < $size; $i++) { $res[] = $string[$i]; } return $res; } } if (version_compare(PHP_VERSION, '5.2.0', '<')) { /** * PHP alternative to array_fill_keys, for backwards compatibility * @param array $keys * @param mixed $value * @return array */ function array_fill_keys($keys, $value) { $res = array(); foreach($keys as $k) { $res[$k] = $value; } return $res; } } #!! <- Ignore when converting to single file if (!defined('GANON_NO_INCLUDES')) { define('GANON_NO_INCLUDES', true); include_once('IQuery.php'); include_once('gan_tokenizer.php'); include_once('gan_parser_html.php'); include_once('gan_node_html.php'); include_once('gan_selector_html.php'); include_once('gan_formatter.php'); } #! ?>PKZAv44.plugins/pagelayer/lib/pquery/gan_formatter.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ namespace pagelayerQuery; /** * Indents text * @param string $text * @param int $indent * @param string $indent_string * @return string */ function indent_text($text, $indent, $indent_string = ' ') { if ($indent && $indent_string) { return str_replace("\n", "\n".str_repeat($indent_string, $indent), $text); } else { return $text; } } /** * Class used to format/minify HTML nodes * * Used like: * * format($root); * ?> * */ class HtmlFormatter { /** * Determines which elements start on a new line and which function as block * @var array('element' => array('new_line' => true, 'as_block' => true, 'format_inside' => true)) */ var $block_elements = array( 'p' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h1' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h2' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h3' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h4' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h5' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'h6' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'form' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'fieldset' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'legend' => array('new_line' => true, 'as_block' => false, 'format_inside' => true), 'dl' => array('new_line' => true, 'as_block' => false, 'format_inside' => true), 'dt' => array('new_line' => true, 'as_block' => false, 'format_inside' => true), 'dd' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'ol' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'ul' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'li' => array('new_line' => true, 'as_block' => false, 'format_inside' => true), 'table' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'tr' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'dir' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'menu' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'address' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'blockquote' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'center' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'del' => array('new_line' => true, 'as_block' => false, 'format_inside' => true), //'div' => array('new_line' => false, 'as_block' => true, 'format_inside' => true), 'hr' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'ins' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'noscript' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'pre' => array('new_line' => true, 'as_block' => true, 'format_inside' => false), 'script' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'style' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'html' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'head' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'body' => array('new_line' => true, 'as_block' => true, 'format_inside' => true), 'title' => array('new_line' => true, 'as_block' => false, 'format_inside' => false) ); /** * Determines which characters are considered whitespace * @var array("\t" => true) True to recognize as new line */ var $whitespace = array( ' ' => false, "\t" => false, "\x0B" => false, "\0" => false, "\n" => true, "\r" => true ); /** * String that is used to generate correct indenting * @var string */ var $indent_string = ' '; /** * String that is used to break lines * @var string */ var $linebreak_string = "\n"; /** * Other formatting options * @var array */ public $options = array( 'img_alt' => '', 'self_close_str' => null, 'attribute_shorttag' => false, 'sort_attributes' => false, 'attributes_case' => CASE_LOWER, 'minify_script' => true ); /** * Errors found during formatting * @var array */ var $errors = array(); /** * Class constructor * @param array $options {@link $options} */ function __construct($options = array()) { $this->options = array_merge($this->options, $options); if (isset($options['indent_str'])) $this->indent_string = $options['indent_str']; if (isset($options['linebreak_str'])) $this->linebreak_string = $options['linebreak_str']; } #php4 PHP4 class constructor compatibility #function HtmlFormatter($options = array()) {return $this->__construct($options);} #php4e /** * Class magic invoke method, performs {@link format()} * @access private */ function __invoke(&$node) { return $this->format($node); } /** * Minifies HTML / removes unneeded whitespace * @param DomNode $root * @param bool $strip_comments * @param bool $recursive */ static function minify_html(&$root, $strip_comments = true, $recursive = true) { if ($strip_comments) { foreach($root->select(':comment', false, $recursive, true) as $c) { $prev = $c->getSibling(-1); $next = $c->getSibling(1); $c->delete(); if ($prev && $next && ($prev->isText()) && ($next->isText())) { $prev->text .= $next->text; $next->delete(); } } } foreach($root->select('(!pre + !xmp + !style + !script + !"?php" + !"~text~" + !"~comment~"):not-empty > "~text~"', false, $recursive, true) as $c) { $c->text = preg_replace('`\s+`', ' ', $c->text); } } /** * Minifies javascript using JSMin+ * @param DomNode $root * @param string $indent_string * @param bool $wrap_comment Wrap javascript in HTML comments () * @param bool $recursive * @return bool|array Array of errors on failure, true on succes */ static function minify_javascript(&$root, $indent_string = ' ', $wrap_comment = true, $recursive = true) { #php4 JSMin+ doesn't support PHP4 #return true; #php4e #php5 include_once('third party/jsminplus.php'); $errors = array(); foreach($root->select('script:not-empty > "~text~"', false, $recursive, true) as $c) { try { $text = $c->text; while ($text) { $text = trim($text); //Remove comment/CDATA tags at begin and end if (substr($text, 0, 4) === '') || ($end === ']]>'))) { $text = substr($text, 0, -3); continue; } break; } if (trim($text)) { $text = \JSMinPlus::minify($text); if ($wrap_comment) { $text = ""; } if ($indent_string && ($wrap_comment || (strpos($text, "\n") !== false))) { $text = indent_text("\n".$text, $c->indent(), $indent_string); } } $c->text = $text; } catch (\Exception $e) { $errors[] = array($e, $c->parent->dumpLocation()); } } return (($errors) ? $errors : true); #php5e } /** * Formats HTML * @param DomNode $root * @param bool $recursive * @access private */ function format_html(&$root, $recursive = null) { if ($recursive === null) { $recursive = true; self::minify_html($root); } elseif (is_int($recursive)) { $recursive = (($recursive > 1) ? $recursive - 1 : false); } $root_tag = strtolower($root->tag); $in_block = isset($this->block_elements[$root_tag]) && $this->block_elements[$root_tag]['as_block']; $child_count = count($root->children); if (isset($this->options['attributes_case']) && $this->options['attributes_case']) { $root->attributes = array_change_key_case($root->attributes, $this->options['attributes_case']); $root->attributes_ns = null; } if (isset($this->options['sort_attributes']) && $this->options['sort_attributes']) { if ($this->options['sort_attributes'] === 'reverse') { krsort($root->attributes); } else { ksort($root->attributes); } } if ($root->select(':element', true, false, true)) { $root->setTag(strtolower($root->tag), true); if (($this->options['img_alt'] !== null) && ($root_tag === 'img') && (!isset($root->alt))) { $root->setAttribute('alt', $this->options['img_alt']); } } if ($this->options['self_close_str'] !== null) { $root->self_close_str = $this->options['self_close_str']; } if ($this->options['attribute_shorttag'] !== null) { $root->attribute_shorttag = $this->options['attribute_shorttag']; } $prev = null; $n_tag = ''; // $prev_tag = ''; $as_block = false; $prev_asblock = false; for($i = 0; $i < $child_count; $i++) { $n =& $root->children[$i]; $indent = $n->indent(); if (!$n->isText()) { $n_tag = strtolower($n->tag); $new_line = isset($this->block_elements[$n_tag]) && $this->block_elements[$n_tag]['new_line']; $as_block = isset($this->block_elements[$n_tag]) && $this->block_elements[$n_tag]['as_block']; $format_inside = ((!isset($this->block_elements[$n_tag])) || $this->block_elements[$n_tag]['format_inside']); if ($prev && ($prev->isText()) && $prev->text && ($char = $prev->text[strlen($prev->text) - 1]) && isset($this->whitespace[$char])) { if ($this->whitespace[$char]) { $prev->text .= str_repeat($this->indent_string, $indent); } else { $prev->text = substr_replace($prev->text, $this->linebreak_string.str_repeat($this->indent_string, $indent), -1, 1); } } elseif (($new_line || $prev_asblock || ($in_block && ($i === 0)))){ if ($prev && ($prev->isText())) { $prev->text .= $this->linebreak_string.str_repeat($this->indent_string, $indent); } else { $root->addText($this->linebreak_string.str_repeat($this->indent_string, $indent), $i); ++$child_count; } } if ($format_inside && count($n->children)) { //$last = end($n->children); $last = $n->children[count($n->children) - 1]; $last_tag = ($last) ? strtolower($last->tag) : ''; $last_asblock = ($last_tag && isset($this->block_elements[$last_tag]) && $this->block_elements[$last_tag]['as_block']); if (($n->childCount(true) > 0) || (trim($n->getPlainText()))) { if ($last && ($last->isText()) && $last->text && ($char = $last->text[strlen($last->text) - 1]) && isset($this->whitespace[$char])) { if ($as_block || ($last->index() > 0) || isset($this->whitespace[$last->text[0]])) { if ($this->whitespace[$char]) { $last->text .= str_repeat($this->indent_string, $indent); } else { $last->text = substr_replace($last->text, $this->linebreak_string.str_repeat($this->indent_string, $indent), -1, 1); } } } elseif (($as_block || $last_asblock || ($in_block && ($i === 0))) && $last) { if ($last && ($last->isText())) { $last->text .= $this->linebreak_string.str_repeat($this->indent_string, $indent); } else { $n->addText($this->linebreak_string.str_repeat($this->indent_string, $indent)); } } } elseif (!trim($n->getInnerText())) { $n->clear(); } if ($recursive) { $this->format_html($n, $recursive); } } } elseif (trim($n->text) && ((($i - 1 < $child_count) && ($char = $n->text[0]) && isset($this->whitespace[$char])) || ($in_block && ($i === 0)))) { if (isset($this->whitespace[$char])) { if ($this->whitespace[$char]) { $n->text = str_repeat($this->indent_string, $indent).$n->text; } else { $n->text = substr_replace($n->text, $this->linebreak_string.str_repeat($this->indent_string, $indent), 0, 1); } } else { $n->text = $this->linebreak_string.str_repeat($this->indent_string, $indent).$n->text; } } $prev = $n; // $prev_tag = $n_tag; $prev_asblock = $as_block; } return true; } /** * Formats HTML/Javascript * @param DomNode $root * @see format_html() */ function format(&$node) { $this->errors = array(); if ($this->options['minify_script']) { $a = self::minify_javascript($node, $this->indent_string, true, true); if (is_array($a)) { foreach($a as $error) { $this->errors[] = $error[0]->getMessage().' >>> '.$error[1]; } } } return $this->format_html($node); } } ?>PKZgza66?6?.plugins/pagelayer/lib/pquery/gan_tokenizer.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ namespace pagelayerQuery; /** * Converts a document into tokens * * Can convert any string into tokens. The base class only supports * identifier/whitespace tokens. For more tokens, the class can be * easily extended. * * Use like: * * next() !== $a::TOK_NULL) { * echo $a->token, ': ',$a->getTokenString(), "
    \n"; * } * ?> *
    * * @internal The tokenizer works with a character map that connects a certain * character to a certain function/token. This class is build with speed in mind. */ class TokenizerBase { /** * NULL Token, used at end of document (parsing should stop after this token) */ const TOK_NULL = 0; /** * Unknown token, used at unidentified character */ const TOK_UNKNOWN = 1; /** * Whitespace token, used with whitespace */ const TOK_WHITESPACE = 2; /** * Identifier token, used with identifiers */ const TOK_IDENTIFIER = 3; /** * The document that is being tokenized * @var string * @internal Public for faster access! * @see setDoc() * @see getDoc() * @access private */ var $doc = ''; /** * The size of the document (length of string) * @var int * @internal Public for faster access! * @see $doc * @access private */ var $size = 0; /** * Current (character) position in the document * @var int * @internal Public for faster access! * @see setPos() * @see getPos() * @access private */ var $pos = 0; /** * Current (Line/Column) position in document * @var array (Current_Line, Line_Starting_Pos) * @internal Public for faster access! * @see getLinePos() * @access private */ var $line_pos = array(0, 0); /** * Current token * @var int * @internal Public for faster access! * @see getToken() * @access private */ var $token = self::TOK_NULL; /** * Start position of token. If NULL, then current position is used. * @var int * @internal Public for faster access! * @see getTokenString() * @access private */ var $token_start = null; /** * List with all the character that can be considered as whitespace * @var array|string * @internal Variable is public + associated array for faster access! * @internal array(' ' => true) will recognize space (' ') as whitespace * @internal String will be converted to array in constructor * @internal Result token will be {@link self::TOK_WHITESPACE}; * @see setWhitespace() * @see getWhitespace() * @access private */ var $whitespace = " \t\n\r\0\x0B"; /** * List with all the character that can be considered as identifier * @var array|string * @internal Variable is public + associated array for faster access! * @internal array('a' => true) will recognize 'a' as identifier * @internal String will be converted to array in constructor * @internal Result token will be {@link self::TOK_IDENTIFIER}; * @see setIdentifiers() * @see getIdentifiers() * @access private */ var $identifiers = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_'; /** * All characters that should be mapped to a token/function that cannot be considered as whitespace or identifier * @var array * @internal Variable is public + associated array for faster access! * @internal array('a' => 'parse_a') will call $this->parse_a() if it matches the character 'a' * @internal array('a' => self::TOK_A) will set token to TOK_A if it matches the character 'a' * @see mapChar() * @see unmapChar() * @access private */ var $custom_char_map = array(); /** * Automatically built character map. Built using {@link $identifiers}, {@link $whitespace} and {@link $custom_char_map} * @var array * @internal Public for faster access! * @access private */ var $char_map = array(); /** * All errors found while parsing the document * @var array * @see addError() */ var $errors = array(); /** * Class constructor * @param string $doc Document to be tokenized * @param int $pos Position to start parsing * @see setDoc() * @see setPos() */ function __construct($doc = '', $pos = 0) { $this->setWhitespace($this->whitespace); $this->setIdentifiers($this->identifiers); $this->setDoc($doc, $pos); } #php4 PHP4 class constructor compatibility #function TokenizerBase($doc = '', $pos = 0) {return $this->__construct($doc, $pos);} #php4e /** * Sets target document * @param string $doc Document to be tokenized * @param int $pos Position to start parsing * @see getDoc() * @see setPos() */ function setDoc($doc, $pos = 0) { $this->doc = $doc; $this->size = strlen($doc); $this->setPos($pos); } /** * Returns target document * @return string * @see setDoc() */ function getDoc() { return $this->doc; } /** * Sets position in document * @param int $pos * @see getPos() */ function setPos($pos = 0) { $this->pos = $pos - 1; $this->line_pos = array(0, 0); $this->next(); } /** * Returns current position in document (Index) * @return int * @see setPos() */ function getPos() { return $this->pos; } /** * Returns current position in document (Line/Char) * @return array array(Line, Column) */ function getLinePos() { return array($this->line_pos[0], $this->pos - $this->line_pos[1]); } /** * Returns current token * @return int * @see $token */ function getToken() { return $this->token; } /** * Returns current token as string * @param int $start_offset Offset from token start * @param int $end_offset Offset from token end * @return string */ function getTokenString($start_offset = 0, $end_offset = 0) { $token_start = ((is_int($this->token_start)) ? $this->token_start : $this->pos) + $start_offset; $len = $this->pos - $token_start + 1 + $end_offset; return (($len > 0) ? substr($this->doc, $token_start, $len) : ''); } /** * Sets characters to be recognized as whitespace * * Used like: setWhitespace('ab') or setWhitespace(array('a' => true, 'b', 'c')); * @param string|array $ws * @see getWhitespace(); */ function setWhitespace($ws) { if (is_array($ws)) { $this->whitespace = array_fill_keys(array_values($ws), true); $this->buildCharMap(); } else { $this->setWhiteSpace(str_split($ws)); } } /** * Returns whitespace characters as string/array * @param bool $as_string Should the result be a string or an array? * @return string|array * @see setWhitespace() */ function getWhitespace($as_string = true) { $ws = array_keys($this->whitespace); return (($as_string) ? implode('', $ws) : $ws); } /** * Sets characters to be recognized as identifier * * Used like: setIdentifiers('ab') or setIdentifiers(array('a' => true, 'b', 'c')); * @param string|array $ident * @see getIdentifiers(); */ function setIdentifiers($ident) { if (is_array($ident)) { $this->identifiers = array_fill_keys(array_values($ident), true); $this->buildCharMap(); } else { $this->setIdentifiers(str_split($ident)); } } /** * Returns identifier characters as string/array * @param bool $as_string Should the result be a string or an array? * @return string|array * @see setIdentifiers() */ function getIdentifiers($as_string = true) { $ident = array_keys($this->identifiers); return (($as_string) ? implode('', $ident) : $ident); } /** * Maps a custom character to a token/function * * Used like: mapChar('a', self::{@link TOK_IDENTIFIER}) or mapChar('a', 'parse_identifier'); * @param string $char Character that should be mapped. If set, it will be overridden * @param int|string $map If function name, then $this->function will be called, otherwise token is set to $map * @see unmapChar() */ function mapChar($char, $map) { $this->custom_char_map[$char] = $map; $this->buildCharMap(); } /** * Removes a char mapped with {@link mapChar()} * @param string $char Character that should be unmapped * @see mapChar() */ function unmapChar($char) { unset($this->custom_char_map[$char]); $this->buildCharMap(); } /** * Builds the {@link $map_char} array * @internal Builds single array that maps all characters. Gets called if {@link $whitespace}, {@link $identifiers} or {@link $custom_char_map} get modified */ protected function buildCharMap() { $this->char_map = $this->custom_char_map; if (is_array($this->whitespace)) { foreach($this->whitespace as $w => $v) { $this->char_map[$w] = 'parse_whitespace'; } } if (is_array($this->identifiers)) { foreach($this->identifiers as $i => $v) { $this->char_map[$i] = 'parse_identifier'; } } } /** * Add error to the array and appends current position * @param string $error */ function addError($error) { $this->errors[] = htmlentities($error.' at '.($this->line_pos[0] + 1).', '.($this->pos - $this->line_pos[1] + 1).'!'); } /** * Parse line breaks and increase line number * @internal Gets called to process line breaks */ protected function parse_linebreak() { if($this->doc[$this->pos] === "\r") { ++$this->line_pos[0]; if ((($this->pos + 1) < $this->size) && ($this->doc[$this->pos + 1] === "\n")) { ++$this->pos; } $this->line_pos[1] = $this->pos; } elseif($this->doc[$this->pos] === "\n") { ++$this->line_pos[0]; $this->line_pos[1] = $this->pos; } } /** * Parse whitespace * @return int Token * @internal Gets called with {@link $whitespace} characters */ protected function parse_whitespace() { $this->token_start = $this->pos; while(++$this->pos < $this->size) { if (!isset($this->whitespace[$this->doc[$this->pos]])) { break; } else { $this->parse_linebreak(); } } --$this->pos; return self::TOK_WHITESPACE; } /** * Parse identifiers * @return int Token * @internal Gets called with {@link $identifiers} characters */ protected function parse_identifier() { $this->token_start = $this->pos; while((++$this->pos < $this->size) && isset($this->identifiers[$this->doc[$this->pos]])) {} --$this->pos; return self::TOK_IDENTIFIER; } /** * Continues to the next token * @return int Next token ({@link TOK_NULL} if none) */ function next() { $this->token_start = null; if (++$this->pos < $this->size) { if (isset($this->char_map[$this->doc[$this->pos]])) { if (is_string($this->char_map[$this->doc[$this->pos]])) { return ($this->token = $this->{$this->char_map[$this->doc[$this->pos]]}()); } else { return ($this->token = $this->char_map[$this->doc[$this->pos]]); } } else { return ($this->token = self::TOK_UNKNOWN); } } else { return ($this->token = self::TOK_NULL); } } /** * Finds the next token, but skips whitespace * @return int Next token ({@link TOK_NULL} if none) */ function next_no_whitespace() { $this->token_start = null; while (++$this->pos < $this->size) { if (!isset($this->whitespace[$this->doc[$this->pos]])) { if (isset($this->char_map[$this->doc[$this->pos]])) { if (is_string($this->char_map[$this->doc[$this->pos]])) { return ($this->token = $this->{$this->char_map[$this->doc[$this->pos]]}()); } else { return ($this->token = $this->char_map[$this->doc[$this->pos]]); } } else { return ($this->token = self::TOK_UNKNOWN); } } else { $this->parse_linebreak(); } } return ($this->token = self::TOK_NULL); } /** * Finds the next token using stop characters. * * Used like: next_search('abc') or next_search(array('a' => true, 'b' => true, 'c' => true)); * @param string|array $characters Characters to search for * @param bool $callback Should the function check the charmap after finding a character? * @return int Next token ({@link TOK_NULL} if none) */ function next_search($characters, $callback = true) { $this->token_start = $this->pos; if (!is_array($characters)) { $characters = array_fill_keys(str_split($characters), true); } while(++$this->pos < $this->size) { if (isset($characters[$this->doc[$this->pos]])) { if ($callback && isset($this->char_map[$this->doc[$this->pos]])) { if (is_string($this->char_map[$this->doc[$this->pos]])) { return ($this->token = $this->{$this->char_map[$this->doc[$this->pos]]}()); } else { return ($this->token = $this->char_map[$this->doc[$this->pos]]); } } else { return ($this->token = self::TOK_UNKNOWN); } } else { $this->parse_linebreak(); } } return ($this->token = self::TOK_NULL); } /** * Finds the next token by searching for a string * @param string $needle The needle that's being searched for * @param bool $callback Should the function check the charmap after finding the needle? * @return int Next token ({@link TOK_NULL} if none) */ function next_pos($needle, $callback = true) { $this->token_start = $this->pos; if (($this->pos < $this->size) && (($p = stripos($this->doc, $needle, $this->pos + 1)) !== false)) { $len = $p - $this->pos - 1; if ($len > 0) { $str = substr($this->doc, $this->pos + 1, $len); if (($l = strrpos($str, "\n")) !== false) { ++$this->line_pos[0]; $this->line_pos[1] = $l + $this->pos + 1; $len -= $l; if ($len > 0) { $str = substr($str, 0, -$len); $this->line_pos[0] += substr_count($str, "\n"); } } } $this->pos = $p; if ($callback && isset($this->char_map[$this->doc[$this->pos]])) { if (is_string($this->char_map[$this->doc[$this->pos]])) { return ($this->token = $this->{$this->char_map[$this->doc[$this->pos]]}()); } else { return ($this->token = $this->char_map[$this->doc[$this->pos]]); } } else { return ($this->token = self::TOK_UNKNOWN); } } else { $this->pos = $this->size; return ($this->token = self::TOK_NULL); } } /** * Expect a specific token or character. Adds error if token doesn't match. * @param string|int $token Character or token to expect * @param bool|int $do_next Go to next character before evaluating. 1 for next char, true to ignore whitespace * @param bool|int $try_next Try next character if current doesn't match. 1 for next char, true to ignore whitespace * @param bool|int $next_on_match Go to next character after evaluating. 1 for next char, true to ignore whitespace * @return bool */ protected function expect($token, $do_next = true, $try_next = false, $next_on_match = 1) { if ($do_next) { if ($do_next === 1) { $this->next(); } else { $this->next_no_whitespace(); } } if (is_int($token)) { if (($this->token !== $token) && ((!$try_next) || ((($try_next === 1) && ($this->next() !== $token)) || (($try_next === true) && ($this->next_no_whitespace() !== $token))))) { $this->addError('Unexpected "'.$this->getTokenString().'"'); return false; } } else { if (($this->doc[$this->pos] !== $token) && ((!$try_next) || (((($try_next === 1) && ($this->next() !== self::TOK_NULL)) || (($try_next === true) && ($this->next_no_whitespace() !== self::TOK_NULL))) && ($this->doc[$this->pos] !== $token)))) { $this->addError('Expected "'.$token.'", but found "'.$this->getTokenString().'"'); return false; } } if ($next_on_match) { if ($next_on_match === 1) { $this->next(); } else { $this->next_no_whitespace(); } } return true; } } ?>PKZmgg$plugins/pagelayer/lib/pquery/LICENSEnu[ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it!PKZu ( (.plugins/pagelayer/lib/pquery/gan_node_html.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ namespace pagelayerQuery; /** * Holds (x)html/xml tag information like tag name, attributes, * parent, children, self close, etc. * */ class DomNode implements IQuery { /** * Element Node, used for regular elements */ const NODE_ELEMENT = 0; /** * Text Node */ const NODE_TEXT = 1; /** * Comment Node */ const NODE_COMMENT = 2; /** * Conditional Node ( */ const NODE_CDATA = 4; /** * Doctype Node */ const NODE_DOCTYPE = 5; /** * XML Node, used for tags that start with ?, like 'value') * @internal Public for faster access! * @see getAttribute() * @see setAttribute() * @access private */ var $attributes = array(); /** * Namespace info for attributes * @var array * @internal array('tag' => array(array('ns', 'tag', 'ns:tag', index))) * @internal Public for easy outside modifications! * @see findAttribute() * @access private */ var $attributes_ns = null; /** * Array of child nodes * @var array * @internal Public for faster access! * @see childCount() * @see getChild() * @see addChild() * @see deleteChild() * @access private */ var $children = array(); /** * Full tag name (including namespace) * @var string * @see getTagName() * @see getNamespace() */ var $tag = ''; /** * Namespace info for tag * @var array * @internal array('namespace', 'tag') * @internal Public for easy outside modifications! * @access private */ var $tag_ns = null; /** * Is node a self closing node? No closing tag if true. * @var bool */ var $self_close = false; /** * If self close, then this will be used to close the tag * @var string * @see $self_close */ var $self_close_str = ' /'; /** * Use short tags for attributes? If true, then attributes * with values equal to the attribute name will not output * the value, e.g. selected="selected" will be selected. * @var bool */ var $attribute_shorttag = false; /** * Function map used for the selector filter * @var array * @internal array('root' => 'filter_root') will cause the * selector to call $this->filter_root at :root * @access private */ var $filter_map = array( 'root' => 'filter_root', 'nth-child' => 'filter_nchild', 'eq' => 'filter_nchild', //jquery (naming) compatibility 'gt' => 'filter_gt', 'lt' => 'filter_lt', 'nth-last-child' => 'filter_nlastchild', 'nth-of-type' => 'filter_ntype', 'nth-last-of-type' => 'filter_nlastype', 'odd' => 'filter_odd', 'even' => 'filter_even', 'every' => 'filter_every', 'first-child' => 'filter_first', 'last-child' => 'filter_last', 'first-of-type' => 'filter_firsttype', 'last-of-type' => 'filter_lasttype', 'only-child' => 'filter_onlychild', 'only-of-type' => 'filter_onlytype', 'empty' => 'filter_empty', 'not-empty' => 'filter_notempty', 'has-text' => 'filter_hastext', 'no-text' => 'filter_notext', 'lang' => 'filter_lang', 'contains' => 'filter_contains', 'has' => 'filter_has', 'not' => 'filter_not', 'element' => 'filter_element', 'text' => 'filter_text', 'comment' => 'filter_comment', 'checked' => 'filter_checked', 'selected' => 'filter_selected', ); /** * Class constructor * @param string|array $tag Name of the tag, or array with taginfo (array( * 'tag_name' => 'tag', * 'self_close' => false, * 'attributes' => array('attribute' => 'value'))) * @param DomNode $parent Parent of node, null if none */ function __construct($tag, $parent) { $this->parent = $parent; if (is_string($tag)) { $this->tag = $tag; } else { $this->tag = $tag['tag_name']; $this->self_close = $tag['self_close']; $this->attributes = $tag['attributes']; } } #php4 PHP4 class constructor compatibility #function DomNode($tag, $parent) {return $this->__construct($tag, $parent);} #php4e /** * Class destructor * @access private */ function __destruct() { $this->delete(); } /** * Class toString, outputs {@link $tag} * @return string * @access private */ function __toString() { return (($this->tag === '~root~') ? $this->toString(true, true, 1) : $this->tag); } /** * Class magic get method, outputs {@link getAttribute()} * @return string * @access private */ function __get($attribute) { return $this->getAttribute($attribute); } /** * Class magic set method, performs {@link setAttribute()} * @access private */ function __set($attribute, $value) { $this->setAttribute($attribute, $value); } /** * Class magic isset method, returns {@link hasAttribute()} * @return bool * @access private */ function __isset($attribute) { return $this->hasAttribute($attribute); } /** * Class magic unset method, performs {@link deleteAttribute()} * @access private */ function __unset($attribute) { return $this->deleteAttribute($attribute); } /** * Class magic invoke method, performs {@link query()}. * @param string $query The css query to run on the nodes. * @return \pQuery */ function __invoke($query = '*') { return $this->query($query); } /** * Returns place in document * @return string */ function dumpLocation() { return (($this->parent) ? (($p = $this->parent->dumpLocation()) ? $p.' > ' : '').$this->tag.'('.$this->typeIndex().')' : ''); } /** * Returns all the attributes and their values * @return string * @access private */ protected function toString_attributes() { $s = ''; foreach($this->attributes as $a => $v) { $s .= ' '.$a; if ((!$this->attribute_shorttag) || ($v !== $a)) { $quote = '"';//(strpos($v, '"') === false) ? '"' : "'"; $v = str_replace('"', '"', $v); $s .= '='.$quote.$v.$quote; } } return $s; } /** * Returns the content of the node (child tags and text) * @param bool $attributes Print attributes of child tags * @param bool|int $recursive How many sublevels of childtags to print. True for all. * @param bool $content_only Only print text, false will print tags too. * @return string * @access private */ protected function toString_content($attributes = true, $recursive = true, $content_only = false) { $s = ''; foreach($this->children as $c) { $s .= $c->toString($attributes, $recursive, $content_only); } return $s; } /** * Returns the node as string * @param bool $attributes Print attributes (of child tags) * @param bool|int $recursive How many sub-levels of child tags to print. True for all. * @param bool|int $content_only Only print text, false will print tags too. * @return string */ function toString($attributes = true, $recursive = true, $content_only = false) { if ($content_only) { if (is_int($content_only)) { --$content_only; } return $this->toString_content($attributes, $recursive, $content_only); } $s = '<'.$this->tag; if ($attributes) { $s .= $this->toString_attributes(); } if ($this->self_close) { $s .= $this->self_close_str.'>'; } else { $s .= '>'; if($recursive) { $s .= $this->toString_content($attributes); } $s .= 'tag.'>'; } return $s; } /** * Similar to JavaScript outerText, will return full (html formatted) node * @return string */ function getOuterText() { return $this->toString(); } /** * Similar to JavaScript outerText, will replace node (and child nodes) with new text * @param string $text * @param HtmlParserBase $parser Null to auto create instance * @return bool|array True on succeed, array with errors on failure */ function setOuterText($text, $parser = null) { if (trim($text)) { $index = $this->index(); if ($parser === null) { $parser = new $this->parserClass(); } $parser->setDoc($text); $parser->parse_all(); $parser->root->moveChildren($this->parent, $index); } $this->delete(); return (($parser && $parser->errors) ? $parser->errors : true); } /** * Return html code of node * @internal jquery (naming) compatibility * @param string|null $value The value to set or null to get the value. * @see toString() * @return string */ function html($value = null) { if ($value !== null) { $this->setInnerText($value); } return $this->getInnerText(); } /** * Similar to JavaScript innerText, will return (html formatted) content * @return string */ function getInnerText() { return $this->toString(true, true, 1); } /** * Similar to JavaScript innerText, will replace child nodes with new text * @param string $text * @param HtmlParserBase $parser Null to auto create instance * @return bool|array True on succeed, array with errors on failure */ function setInnerText($text, $parser = null) { $this->clear(); if (trim($text)) { if ($parser === null) { $parser = new $this->parserClass(); } $parser->root =& $this; $parser->setDoc($text); $parser->parse_all(); } return (($parser && $parser->errors) ? $parser->errors : true); } /** * Similar to JavaScript plainText, will return text in node (and subnodes) * @return string */ function getPlainText() { return preg_replace('`\s+`', ' ', $this->toString(true, true, true)); } /** * Return plaintext taking document encoding into account * @return string */ function getPlainTextUTF8() { $txt = $this->toString(true, true, true); $enc = $this->getEncoding(); if ($enc !== false) { $txt = mb_convert_encoding($txt, 'UTF-8', $enc); } return preg_replace('`\s+`', ' ', $txt); } /** * Similar to JavaScript plainText, will replace child nodes with new text (literal) * @param string $text */ function setPlainText($text) { $this->clear(); if (trim($text)) { $this->addText($text); } } /** * Delete node from parent and clear node */ function delete() { if (($p = $this->parent) !== null) { $this->parent = null; $p->deleteChild($this); } else { $this->clear(); } } /** * Detach node from parent * @param bool $move_children_up Only detach current node and replace it with child nodes * @internal jquery (naming) compatibility * @see delete() */ function detach($move_children_up = false) { if (($p = $this->parent) !== null) { $index = $this->index(); $this->parent = null; if ($move_children_up) { $this->moveChildren($p, $index); } $p->deleteChild($this, true); } } /** * Deletes all child nodes from node */ function clear() { foreach($this->children as $c) { $c->parent = null; $c->delete(); } $this->children = array(); } /** * Get top parent * @return DomNode Root, null if node has no parent */ function getRoot() { $r = $this->parent; $n = ($r === null) ? null : $r->parent; while ($n !== null) { $r = $n; $n = $r->parent; } return $r; } /** * Change parent * @param null|DomNode $to New parent, null if none * @param false|int $index Add child to parent if not present at index, false to not add, negative to count from end, null to append */ #php4 #function changeParent($to, &$index) { #php4e #php5 function changeParent($to, &$index = null) { #php5e if ($this->parent !== null) { $this->parent->deleteChild($this, true); } $this->parent = $to; if ($index !== false) { $new_index = $this->index(); if (!(is_int($new_index) && ($new_index >= 0))) { $this->parent->addChild($this, $index); } } } /** * Find out if node has (a certain) parent * @param DomNode|string $tag Match against parent, string to match tag, object to fully match node, null to return if node has parent * @param bool $recursive * @return bool */ function hasParent($tag = null, $recursive = false) { if ($this->parent !== null) { if ($tag === null) { return true; } elseif (is_string($tag)) { return (($this->parent->tag === $tag) || ($recursive && $this->parent->hasParent($tag))); } elseif (is_object($tag)) { return (($this->parent === $tag) || ($recursive && $this->parent->hasParent($tag))); } } return false; } /** * Find out if node is parent of a certain tag * @param DomNode|string $tag Match against parent, string to match tag, object to fully match node * @param bool $recursive * @return bool * @see hasParent() */ function isParent($tag, $recursive = false) { return ($this->hasParent($tag, $recursive) === ($tag !== null)); } /** * Find out if node is text * @return bool */ function isText() { return false; } /** * Find out if node is comment * @return bool */ function isComment() { return false; } /** * Find out if node is text or comment node * @return bool */ function isTextOrComment() { return false; } /** * Move node to other node * @param DomNode $to New parent, null if none * @param int $new_index Add child to parent at index if not present, null to not add, negative to count from end * @internal Performs {@link changeParent()} */ #php4 #function move($to, &$new_index) { #php4e #php5 function move($to, &$new_index = -1) { #php5e $this->changeParent($to, $new_index); } /** * Move child nodes to other node * @param DomNode $to New parent, null if none * @param int $new_index Add child to new node at index if not present, null to not add, negative to count from end * @param int $start Index from child node where to start wrapping, 0 for first element * @param int $end Index from child node where to end wrapping, -1 for last element */ #php4 #function moveChildren($to, &$new_index, $start = 0, $end = -1) { #php4e #php5 function moveChildren($to, &$new_index = -1, $start = 0, $end = -1) { #php5e if ($end < 0) { $end += count($this->children); } for ($i = $start; $i <= $end; $i++) { $this->children[$start]->changeParent($to, $new_index); } } /** * Index of node in parent * @param bool $count_all True to count all tags, false to ignore text and comments * @return int -1 if not found */ function index($count_all = true) { if (!$this->parent) { return -1; } elseif ($count_all) { return $this->parent->findChild($this); } else{ $index = -1; //foreach($this->parent->children as &$c) { // if (!$c->isTextOrComment()) { // ++$index; // } // if ($c === $this) { // return $index; // } //} foreach(array_keys($this->parent->children) as $k) { if (!$this->parent->children[$k]->isTextOrComment()) { ++$index; } if ($this->parent->children[$k] === $this) { return $index; } } return -1; } } /** * Change index of node in parent * @param int $index New index */ function setIndex($index) { if ($this->parent) { if ($index > $this->index()) { --$index; } $this->delete(); $this->parent->addChild($this, $index); } } /** * Index of all similar nodes in parent * @return int -1 if not found */ function typeIndex() { if (!$this->parent) { return -1; } else { $index = -1; //foreach($this->parent->children as &$c) { // if (strcasecmp($this->tag, $c->tag) === 0) { // ++$index; // } // if ($c === $this) { // return $index; // } //} foreach(array_keys($this->parent->children) as $k) { if (strcasecmp($this->tag, $this->parent->children[$k]->tag) === 0) { ++$index; } if ($this->parent->children[$k] === $this) { return $index; } } return -1; } } /** * Calculate indent of node (number of parent tags - 1) * @return int */ function indent() { return (($this->parent) ? $this->parent->indent() + 1 : -1); } /** * Get sibling node * @param int $offset Offset from current node * @return DomNode Null if not found */ function getSibling($offset = 1) { $index = $this->index() + $offset; if (($index >= 0) && ($index < $this->parent->childCount())) { return $this->parent->getChild($index); } else { return null; } } /** * Get node next to current * @param bool $skip_text_comments * @return DomNode Null if not found * @see getSibling() * @see getPreviousSibling() */ function getNextSibling($skip_text_comments = true) { $offset = 1; while (($n = $this->getSibling($offset)) !== null) { if ($skip_text_comments && ($n->tag[0] === '~')) { ++$offset; } else { break; } } return $n; } /** * Get node previous to current * @param bool $skip_text_comments * @return DomNode Null if not found * @see getSibling() * @see getNextSibling() */ function getPreviousSibling($skip_text_comments = true) { $offset = -1; while (($n = $this->getSibling($offset)) !== null) { if ($skip_text_comments && ($n->tag[0] === '~')) { --$offset; } else { break; } } return $n; } /** * Get namespace of node * @return string * @see setNamespace() */ function getNamespace() { if ($this->tag_ns === null) { $a = explode(':', $this->tag, 2); if (empty($a[1])) { $this->tag_ns = array('', $a[0]); } else { $this->tag_ns = array($a[0], $a[1]); } } return $this->tag_ns[0]; } /** * Set namespace of node * @param string $ns * @see getNamespace() */ function setNamespace($ns) { if ($this->getNamespace() !== $ns) { $this->tag_ns[0] = $ns; $this->tag = $ns.':'.$this->tag_ns[1]; } } /** * Get tagname of node (without namespace) * @return string * @see setTag() */ function getTag() { if ($this->tag_ns === null) { $this->getNamespace(); } return $this->tag_ns[1]; } /** * Set tag (with or without namespace) * @param string $tag * @param bool $with_ns Does $tag include namespace? * @see getTag() */ function setTag($tag, $with_ns = false) { $with_ns = $with_ns || (strpos($tag, ':') !== false); if ($with_ns) { $this->tag = $tag; $this->tag_ns = null; } elseif ($this->getTag() !== $tag) { $this->tag_ns[1] = $tag; $this->tag = (($this->tag_ns[0]) ? $this->tag_ns[0].':' : '').$tag; } } /** * Try to determine the encoding of the current tag * @return string|bool False if encoding could not be found */ function getEncoding() { $root = $this->getRoot(); if ($root !== null) { if ($enc = $root->select('meta[charset]', 0, true, true)) { return $enc->getAttribute("charset"); } elseif ($enc = $root->select('"?xml"[encoding]', 0, true, true)) { return $enc->getAttribute("encoding"); } elseif ($enc = $root->select('meta[content*="charset="]', 0, true, true)) { $enc = $enc->getAttribute("content"); return substr($enc, strpos($enc, "charset=")+8); } } return false; } /** * Number of children in node * @param bool $ignore_text_comments Ignore text/comments with calculation * @return int */ function childCount($ignore_text_comments = false) { if (!$ignore_text_comments) { return count($this->children); } else{ $count = 0; //foreach($this->children as &$c) { // if (!$c->isTextOrComment()) { // ++$count; // } //} foreach(array_keys($this->children) as $k) { if (!$this->children[$k]->isTextOrComment()) { ++$count; } } return $count; } } /** * Find node in children * @param DomNode $child * @return int False if not found */ function findChild($child) { return array_search($child, $this->children, true); } /** * Checks if node has another node as child * @param DomNode $child * @return bool */ function hasChild($child) { return ((bool) findChild($child)); } /** * Get childnode * @param int|DomNode $child Index, negative to count from end * @param bool $ignore_text_comments Ignore text/comments with index calculation * @return DomNode */ function &getChild($child, $ignore_text_comments = false) { if (!is_int($child)) { $child = $this->findChild($child); } elseif ($child < 0) { $child += $this->childCount($ignore_text_comments); } if ($ignore_text_comments) { $count = 0; $last = null; //foreach($this->children as &$c) { // if (!$c->isTextOrComment()) { // if ($count++ === $child) { // return $c; // } // $last = $c; // } //} foreach(array_keys($this->children) as $k) { if (!$this->children[$k]->isTextOrComment()) { if ($count++ === $child) { return $this->children[$k]; } $last = $this->children[$k]; } } return (($child > $count) ? $last : null); } else { return $this->children[$child]; } } /** * Add child node * @param string|DomNode $tag Tag name or object * @param int $offset Position to insert node, negative to count from end, null to append * @return DomNode Added node */ #php4 #function &addChild($tag, &$offset) { #php4e #php5 function &addChild($tag, &$offset = null) { #php5e if (is_array($tag)) { $tag = new $this->childClass($tag, $this); } elseif (is_string($tag)) { $nodes = $this->createNodes($tag); $tag = array_shift($nodes); if ($tag && $tag->parent !== $this) { $index = false; $tag->changeParent($this, $index); } } elseif (is_object($tag) && $tag->parent !== $this) { $index = false; //Needs to be passed by ref $tag->changeParent($this, $index); } if (is_int($offset) && ($offset < count($this->children)) && ($offset !== -1)) { if ($offset < 0) { $offset += count($this->children); } array_splice($this->children, $offset++, 0, array(&$tag)); } else { $this->children[] =& $tag; } return $tag; } /** * First child node * @param bool $ignore_text_comments Ignore text/comments with index calculation * @return DomNode */ function &firstChild($ignore_text_comments = false) { return $this->getChild(0, $ignore_text_comments); } /** * Last child node * @param bool $ignore_text_comments Ignore text/comments with index calculation * @return DomNode */ function &lastChild($ignore_text_comments = false) { return $this->getChild(-1, $ignore_text_comments); } /** * Insert childnode * @param string|DomNode $tag Tagname or object * @param int $offset Position to insert node, negative to count from end, null to append * @return DomNode Added node * @see addChild(); */ function &insertChild($tag, $index) { return $this->addChild($tag, $index); } /** * Add text node * @param string $text * @param int $offset Position to insert node, negative to count from end, null to append * @return DomNode Added node * @see addChild(); */ #php4 #function &addText($text, &$offset) { #php4e #php5 function &addText($text, &$offset = null) { #php5e return $this->addChild(new $this->childClass_Text($this, $text), $offset); } /** * Add comment node * @param string $text * @param int $offset Position to insert node, negative to count from end, null to append * @return DomNode Added node * @see addChild(); */ #php4 #function &addComment($text, &$offset) { #php4e #php5 function &addComment($text, &$offset = null) { #php5e return $this->addChild(new $this->childClass_Comment($this, $text), $offset); } /** * Add conditional node * @param string $condition * @param bool True for ';} } /** * Node subclass for conditional tags */ class ConditionalTagNode extends DomNode { #php4 Compatibility with PHP4, this gets changed to a regular var in release tool #static $NODE_TYPE = self::NODE_CONDITIONAL; #php4e #php5 const NODE_TYPE = self::NODE_CONDITIONAL; #php5e var $tag = '~conditional~'; /** * @var string */ var $condition = ''; /** * Class constructor * @param DomNode $parent * @param string $condition e.g. "if IE" * @param bool $hidden ', false) !== self::TOK_UNKNOWN) { $this->status['comment'] = $this->getTokenString(1, -1); --$this->pos; } else { $this->status['comment'] = $this->getTokenString(1, -1); $this->pos += 2; } $this->status['last_pos'] = $this->pos; return true; } /** * Parse doctype tag * @internal Gets called with doctype ("pos; if ($this->next_search('[>', false) === self::TOK_UNKNOWN) { if ($this->doc[$this->pos] === '[') { if (($this->next_pos(']', false) !== self::TOK_UNKNOWN) || ($this->next_pos('>', false) !== self::TOK_UNKNOWN)) { $this->addError('Invalid doctype'); return false; } } $this->token_start = $start; $this->status['dtd'] = $this->getTokenString(2, -1); $this->status['last_pos'] = $this->pos; return true; } else { $this->addError('Invalid doctype'); return false; } } /** * Parse cdata tag * @internal Gets called with cdata ("next_pos(']]>', false) === self::TOK_UNKNOWN) { $this->status['cdata'] = $this->getTokenString(9, -1); $this->status['last_pos'] = $this->pos + 2; return true; } else { $this->addError('Invalid cdata tag'); return false; } } /** * Parse php tags * @internal Gets called with php tags ("pos; if ($this->next_pos('?>', false) !== self::TOK_UNKNOWN) { $this->pos -= 2; //End of file } $len = $this->pos - 1 - $start; $this->status['text'] = (($len > 0) ? substr($this->doc, $start + 1, $len) : ''); $this->status['last_pos'] = ++$this->pos; return true; } /** * Parse asp tags * @internal Gets called with asp tags ("<%") * @return bool */ function parse_asp() { $start = $this->pos; if ($this->next_pos('%>', false) !== self::TOK_UNKNOWN) { $this->pos -= 2; //End of file } $len = $this->pos - 1 - $start; $this->status['text'] = (($len > 0) ? substr($this->doc, $start + 1, $len) : ''); $this->status['last_pos'] = ++$this->pos; return true; } /** * Parse style tags * @internal Gets called with php tags ("', false) === self::TOK_UNKNOWN)) { $len = $this->pos - 1 - $start; $this->status['text'] = (($len > 0) ? substr($this->doc, $start + 1, $len) : ''); $this->pos += 7; $this->status['last_pos'] = $this->pos; return true; } else { $this->addError('No end for style tag found'); return false; } } /** * Parse script tags * @internal Gets called with php tags ("', false) === self::TOK_UNKNOWN)) { $len = $this->pos - 1 - $start; $this->status['text'] = (($len > 0) ? substr($this->doc, $start + 1, $len) : ''); $this->pos += 8; $this->status['last_pos'] = $this->pos; return true; } else { $this->addError('No end for script tag found'); return false; } } /** * Parse conditional tags (+ all conditional tags inside) * @internal Gets called with IE conditionals ("status['closing_tag']) { $this->pos += 8; } else { $this->pos += (($this->status['comment']) ? 5 : 3); if ($this->next_pos(']', false) !== self::TOK_UNKNOWN) { $this->addError('"]" not found in conditional tag'); return false; } $this->status['tag_condition'] = $this->getTokenString(0, -1); } if ($this->next_no_whitespace() !== self::TOK_TAG_CLOSE) { $this->addError('No ">" tag found 2 for conditional tag'); return false; } if ($this->status['comment']) { $this->status['last_pos'] = $this->pos; if ($this->next_pos('-->', false) !== self::TOK_UNKNOWN) { $this->addError('No ending tag found for conditional tag'); $this->pos = $this->size - 1; $len = $this->pos - 1 - $this->status['last_pos']; $this->status['text'] = (($len > 0) ? substr($this->doc, $this->status['last_pos'] + 1, $len) : ''); } else { $len = $this->pos - 10 - $this->status['last_pos']; $this->status['text'] = (($len > 0) ? substr($this->doc, $this->status['last_pos'] + 1, $len) : ''); $this->pos += 2; } } $this->status['last_pos'] = $this->pos; return true; } /** * Parse attributes (names + value) * @internal Stores attributes in {@link $status}[attributes] (array(ATTR => VAL)) * @return bool */ function parse_attributes() { $this->status['attributes'] = array(); while ($this->next_no_whitespace() === self::TOK_IDENTIFIER) { $attr = $this->getTokenString(); if (($attr === '?') || ($attr === '%')) { //Probably closing tags break; } if ($this->next_no_whitespace() === self::TOK_EQUALS) { if ($this->next_no_whitespace() === self::TOK_STRING) { $val = $this->getTokenString(1, -1); } else { $this->token_start = $this->pos; if (!isset($stop)) { $stop = $this->whitespace; $stop['<'] = true; $stop['>'] = true; } while ((++$this->pos < $this->size) && (!isset($stop[$this->doc[$this->pos]]))) { // Do nothing. } --$this->pos; $val = $this->getTokenString(); if (trim($val) === '') { $this->addError('Invalid attribute value'); return false; } } } else { $val = $attr; $this->pos = (($this->token_start) ? $this->token_start : $this->pos) - 1; } $this->status['attributes'][$attr] = $val; } return true; } /** * Default callback for tags * @internal Gets called after the tagname () * @return bool */ function parse_tag_default() { if ($this->status['closing_tag']) { $this->status['attributes'] = array(); $this->next_no_whitespace(); } else { if (!$this->parse_attributes()) { return false; } } if ($this->token !== self::TOK_TAG_CLOSE) { if ($this->token === self::TOK_SLASH_FORWARD) { $this->status['self_close'] = true; $this->next(); } elseif ((($this->status['tag_name'][0] === '?') && ($this->doc[$this->pos] === '?')) || (($this->status['tag_name'][0] === '%') && ($this->doc[$this->pos] === '%'))) { $this->status['self_close'] = true; $this->pos++; if (isset($this->char_map[$this->doc[$this->pos]]) && (!is_string($this->char_map[$this->doc[$this->pos]]))) { $this->token = $this->char_map[$this->doc[$this->pos]]; } else { $this->token = self::TOK_UNKNOWN; } }/* else { $this->status['self_close'] = false; }*/ } if ($this->token !== self::TOK_TAG_CLOSE) { $this->addError('Expected ">", but found "'.$this->getTokenString().'"'); if ($this->next_pos('>', false) !== self::TOK_UNKNOWN) { $this->addError('No ">" tag found for "'.$this->status['tag_name'].'" tag'); return false; } } return true; } /** * Parse tag * @internal Gets called after opening tag (<*ENTERS_HERE*html attribute="value">) * @internal Stores information about the tag in {@link $status} (comment, closing_tag, tag_name) * @return bool */ function parse_tag() { $start = $this->pos; $this->status['self_close'] = false; $this->parse_text(); $next = (($this->pos + 1) < $this->size) ? $this->doc[$this->pos + 1] : ''; if ($next === '!') { $this->status['closing_tag'] = false; if (substr($this->doc, $this->pos + 2, 2) === '--') { $this->status['comment'] = true; if (($this->doc[$this->pos + 4] === '[') && (strcasecmp(substr($this->doc, $this->pos + 5, 2), 'if') === 0)) { return $this->parse_comment(); } else { return $this->parse_comment(); } } else { $this->status['comment'] = false; if ($this->doc[$this->pos + 2] === '[') { if (strcasecmp(substr($this->doc, $this->pos + 3, 2), 'if') === 0) { return $this->parse_conditional(); } elseif (strcasecmp(substr($this->doc, $this->pos + 3, 5), 'endif') === 0) { $this->status['closing_tag'] = true; return $this->parse_conditional(); } elseif (strcasecmp(substr($this->doc, $this->pos + 3, 5), 'cdata') === 0) { return $this->parse_cdata(); } } } } elseif ($next === '/') { $this->status['closing_tag'] = true; ++$this->pos; } else { $this->status['closing_tag'] = false; } if ($this->next() !== self::TOK_IDENTIFIER) { $this->addError('Tagname expected'); //if ($this->next_pos('>', false) === self::TOK_UNKNOWN) { $this->status['last_pos'] = $start - 1; return true; //} else { // return false; //} } $tag = $this->getTokenString(); $this->status['tag_name'] = $tag; $tag = strtolower($tag); if (isset($this->tag_map[$tag])) { $res = $this->{$this->tag_map[$tag]}(); } else { $res = $this->parse_tag_default(); } $this->status['last_pos'] = $this->pos; return $res; } /** * Parse full document * @return bool */ function parse_all() { $this->errors = array(); $this->status['last_pos'] = -1; if (($this->token === self::TOK_TAG_OPEN) || ($this->next_pos('<', false) === self::TOK_UNKNOWN)) { do { if (!$this->parse_tag()) { return false; } } while ($this->next_pos('<') !== self::TOK_NULL); } $this->pos = $this->size; $this->parse_text(); return true; } } /** * Parses a HTML document into a HTML DOM */ class HtmlParser extends HtmlParserBase { /** * Root object * @internal If string, then it will create a new instance as root * @var DomNode */ var $root = 'pagelayerQuery\\DomNode'; /** * Current parsing hierarchy * @internal Root is always at index 0, current tag is at the end of the array * @var array * @access private */ var $hierarchy = array(); /** * Tags that don't need closing tags * @var array * @access private */ var $tags_selfclose = array( 'area' => true, 'base' => true, 'basefont' => true, 'br' => true, 'col' => true, 'command' => true, 'embed' => true, 'frame' => true, 'hr' => true, 'img' => true, 'input' => true, 'ins' => true, 'keygen' => true, 'link' => true, 'meta' => true, 'param' => true, 'source' => true, 'track' => true, 'wbr' => true ); /** * Class constructor * @param string $doc Document to be tokenized * @param int $pos Position to start parsing * @param DomNode $root Root node, null to auto create */ function __construct($doc = '', $pos = 0, $root = null) { if ($root === null) { $root = new $this->root('~root~', null); } $this->root =& $root; parent::__construct($doc, $pos); } #php4 PHP4 class constructor compatibility #function HtmlParser($doc = '', $pos = 0, $root = null) {return $this->__construct($doc, $pos, $root);} #php4e /** * Class magic invoke method, performs {@link select()} * @return array * @access private */ function __invoke($query = '*') { return $this->select($query); } /** * Class magic toString method, performs {@link DomNode::toString()} * @return string * @access private */ function __toString() { return $this->root->getInnerText(); } /** * Performs a css select query on the root node * @see DomNode::select() * @return array */ function select($query = '*', $index = false, $recursive = true, $check_self = false) { return $this->root->select($query, $index, $recursive, $check_self); } /** * Updates the current hierarchy status and checks for * correct opening/closing of tags * @param bool $self_close Is current tag self closing? Null to use {@link tags_selfclose} * @internal This is were most of the nodes get added * @access private */ protected function parse_hierarchy($self_close = null) { if ($self_close === null) { $this->status['self_close'] = ($self_close = isset($this->tags_selfclose[strtolower($this->status['tag_name'])])); } if ($self_close) { if ($this->status['closing_tag']) { //$c = end($this->hierarchy)->children $c = $this->hierarchy[count($this->hierarchy) - 1]->children; $found = false; for ($count = count($c), $i = $count - 1; $i >= 0; $i--) { if (strcasecmp($c[$i]->tag, $this->status['tag_name']) === 0) { for($ii = $i + 1; $ii < $count; $ii++) { $index = null; //Needs to be passed by ref $c[$i + 1]->changeParent($c[$i], $index); } $c[$i]->self_close = false; $found = true; break; } } if (!$found) { $this->addError('Closing tag "'.$this->status['tag_name'].'" which is not open'); } } elseif ($this->status['tag_name'][0] === '?') { //end($this->hierarchy)->addXML($this->status['tag_name'], '', $this->status['attributes']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addXML($this->status['tag_name'], '', $this->status['attributes'], $index); } elseif ($this->status['tag_name'][0] === '%') { //end($this->hierarchy)->addASP($this->status['tag_name'], '', $this->status['attributes']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addASP($this->status['tag_name'], '', $this->status['attributes'], $index); } else { //end($this->hierarchy)->addChild($this->status); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addChild($this->status, $index); } } elseif ($this->status['closing_tag']) { $found = false; for ($count = count($this->hierarchy), $i = $count - 1; $i >= 0; $i--) { if (strcasecmp($this->hierarchy[$i]->tag, $this->status['tag_name']) === 0) { for($ii = ($count - $i - 1); $ii >= 0; $ii--) { $e = array_pop($this->hierarchy); if ($ii > 0) { $this->addError('Closing tag "'.$this->status['tag_name'].'" while "'.$e->tag.'" is not closed yet'); } } $found = true; break; } } if (!$found) { $this->addError('Closing tag "'.$this->status['tag_name'].'" which is not open'); } } else { //$this->hierarchy[] = end($this->hierarchy)->addChild($this->status); $index = null; //Needs to be passed by ref $this->hierarchy[] = $this->hierarchy[count($this->hierarchy) - 1]->addChild($this->status, $index); } } function parse_cdata() { if (!parent::parse_cdata()) {return false;} //end($this->hierarchy)->addCDATA($this->status['cdata']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addCDATA($this->status['cdata'], $index); return true; } function parse_comment() { if (!parent::parse_comment()) {return false;} //end($this->hierarchy)->addComment($this->status['comment']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addComment($this->status['comment'], $index); return true; } function parse_conditional() { if (!parent::parse_conditional()) {return false;} if ($this->status['comment']) { //$e = end($this->hierarchy)->addConditional($this->status['tag_condition'], true); $index = null; //Needs to be passed by ref $e = $this->hierarchy[count($this->hierarchy) - 1]->addConditional($this->status['tag_condition'], true, $index); if ($this->status['text'] !== '') { $index = null; //Needs to be passed by ref $e->addText($this->status['text'], $index); } } else { if ($this->status['closing_tag']) { $this->parse_hierarchy(false); } else { //$this->hierarchy[] = end($this->hierarchy)->addConditional($this->status['tag_condition'], false); $index = null; //Needs to be passed by ref $this->hierarchy[] = $this->hierarchy[count($this->hierarchy) - 1]->addConditional($this->status['tag_condition'], false, $index); } } return true; } function parse_doctype() { if (!parent::parse_doctype()) {return false;} //end($this->hierarchy)->addDoctype($this->status['dtd']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addDoctype($this->status['dtd'], $index); return true; } function parse_php() { if (!parent::parse_php()) {return false;} //end($this->hierarchy)->addXML('php', $this->status['text']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addXML('php', $this->status['text'], $index); return true; } function parse_asp() { if (!parent::parse_asp()) {return false;} //end($this->hierarchy)->addASP('', $this->status['text']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addASP('', $this->status['text'], $index); return true; } function parse_script() { if (!parent::parse_script()) {return false;} //$e = end($this->hierarchy)->addChild($this->status); $index = null; //Needs to be passed by ref $e = $this->hierarchy[count($this->hierarchy) - 1]->addChild($this->status, $index); if ($this->status['text'] !== '') { $index = null; //Needs to be passed by ref $e->addText($this->status['text'], $index); } return true; } function parse_style() { if (!parent::parse_style()) {return false;} //$e = end($this->hierarchy)->addChild($this->status); $index = null; //Needs to be passed by ref $e = $this->hierarchy[count($this->hierarchy) - 1]->addChild($this->status, $index); if ($this->status['text'] !== '') { $index = null; //Needs to be passed by ref $e->addText($this->status['text'], $index); } return true; } function parse_tag_default() { if (!parent::parse_tag_default()) {return false;} $this->parse_hierarchy(($this->status['self_close']) ? true : null); return true; } function parse_text() { parent::parse_text(); if ($this->status['text'] !== '') { //end($this->hierarchy)->addText($this->status['text']); $index = null; //Needs to be passed by ref $this->hierarchy[count($this->hierarchy) - 1]->addText($this->status['text'], $index); } } function parse_all() { $this->hierarchy = array(&$this->root); return ((parent::parse_all()) ? $this->root : false); } } /** * HTML5 specific parser (adds support for omittable closing tags) */ class Html5Parser extends HtmlParser { /** * Tags with ommitable closing tags * @var array array('tag2' => 'tag1') will close tag1 if following (not child) tag is tag2 * @access private */ var $tags_optional_close = array( //Current tag => Previous tag 'li' => array('li' => true), 'dt' => array('dt' => true, 'dd' => true), 'dd' => array('dt' => true, 'dd' => true), 'address' => array('p' => true), 'article' => array('p' => true), 'aside' => array('p' => true), 'blockquote' => array('p' => true), 'dir' => array('p' => true), 'div' => array('p' => true), 'dl' => array('p' => true), 'fieldset' => array('p' => true), 'footer' => array('p' => true), 'form' => array('p' => true), 'h1' => array('p' => true), 'h2' => array('p' => true), 'h3' => array('p' => true), 'h4' => array('p' => true), 'h5' => array('p' => true), 'h6' => array('p' => true), 'header' => array('p' => true), 'hgroup' => array('p' => true), 'hr' => array('p' => true), 'menu' => array('p' => true), 'nav' => array('p' => true), 'ol' => array('p' => true), 'p' => array('p' => true), 'pre' => array('p' => true), 'section' => array('p' => true), 'table' => array('p' => true), 'ul' => array('p' => true), 'rt' => array('rt' => true, 'rp' => true), 'rp' => array('rt' => true, 'rp' => true), 'optgroup' => array('optgroup' => true, 'option' => true), 'option' => array('option'), 'tbody' => array('thread' => true, 'tbody' => true, 'tfoot' => true), 'tfoot' => array('thread' => true, 'tbody' => true), 'tr' => array('tr' => true), 'td' => array('td' => true, 'th' => true), 'th' => array('td' => true, 'th' => true), 'body' => array('head' => true) ); protected function parse_hierarchy($self_close = null) { $tag_curr = strtolower($this->status['tag_name']); if ($self_close === null) { $this->status['self_close'] = ($self_close = isset($this->tags_selfclose[$tag_curr])); } if (! ($self_close || $this->status['closing_tag'])) { //$tag_prev = strtolower(end($this->hierarchy)->tag); $tag_prev = strtolower($this->hierarchy[count($this->hierarchy) - 1]->tag); if (isset($this->tags_optional_close[$tag_curr]) && isset($this->tags_optional_close[$tag_curr][$tag_prev])) { array_pop($this->hierarchy); } } return parent::parse_hierarchy($self_close); } } ?>PKZ%f@ .plugins/pagelayer/lib/pquery/gan_xml2array.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ namespace pagelayerQuery; /** * Converts a XML document to an array */ class XML2ArrayParser extends HtmlParserBase { /** * Holds the document structure * @var array array('name' => 'tag', 'attrs' => array('attr' => 'val'), 'childen' => array()) */ var $root = array( 'name' => '', 'attrs' => array(), 'children' => array() ); /** * Current parsing hierarchy * @var array * @access private */ var $hierarchy = array(); protected function parse_hierarchy($self_close) { if ($this->status['closing_tag']) { $found = false; for ($count = count($this->hierarchy), $i = $count - 1; $i >= 0; $i--) { if (strcasecmp($this->hierarchy[$i]['name'], $this->status['tag_name']) === 0) { for($ii = ($count - $i - 1); $ii >= 0; $ii--) { $e = array_pop($this->hierarchy); if ($ii > 0) { $this->addError('Closing tag "'.$this->status['tag_name'].'" while "'.$e['name'].'" is not closed yet'); } } $found = true; break; } } if (!$found) { $this->addError('Closing tag "'.$this->status['tag_name'].'" which is not open'); } } else { $tag = array( 'name' => $this->status['tag_name'], 'attrs' => $this->status['attributes'], 'children' => array() ); if ($this->hierarchy) { $current =& $this->hierarchy[count($this->hierarchy) - 1]; $current['children'][] = $tag; $tag =& $current['children'][count($current['children']) - 1]; unset($current['tagData']); } else { $this->root = $tag; $tag =& $this->root; $self_close = false; } if (!$self_close) { $this->hierarchy[] =& $tag; } } } function parse_tag_default() { if (!parent::parse_tag_default()) {return false;} if ($this->status['tag_name'][0] !== '?') { $this->parse_hierarchy(($this->status['self_close']) ? true : null); } return true; } function parse_text() { parent::parse_text(); if (($this->status['text'] !== '') && $this->hierarchy) { $current =& $this->hierarchy[count($this->hierarchy) - 1]; if (!$current['children']) { $current['tagData'] = $this->status['text']; } } } function parse_all() { return ((parent::parse_all()) ? $this->root : false); } } ?>PKZDZ'plugins/pagelayer/lib/pquery/pQuery.phpnu[ * @copyright 2010 Niels A.D., 2014 Todd Burry * @license http://opensource.org/licenses/LGPL-2.1 LGPL-2.1 * @package pQuery */ use pagelayerQuery\IQuery; /** * A jQuery-like object for php. */ class pagelayerQuery implements ArrayAccess, IteratorAggregate, IQuery { /// Properties /// /** * @var IQuery[] */ protected $nodes = array(); /// Methods /// public function __construct($nodes = array()) { $this->nodes = $nodes; } public function addClass($classname) { foreach ($this->nodes as $node) { $node->addClass($classname); } return $this; } public function after($content) { foreach ($this->nodes as $node) { $node->after($content); } return $this; } public function append($content) { foreach ($this->nodes as $node) { $node->append($content); } return $this; } public function attr($name, $value = null) { if (empty($this->nodes) && $value === null) return ''; foreach ($this->nodes as $node) { if ($value === null) return $node->attr($name); $value = str_replace('<', '<', $value); $value = str_replace('>', '>', $value); $node->attr($name, $value); } return $this; } public function before($content) { foreach ($this->nodes as $node) { $node->before($content); } return $this; } public function clear() { foreach ($this->nodes as $node) { $node->clear(); } return $this; } /** * Get the count of matched elements. * * @return int Returns the count of matched elements. */ public function count(): int { return count($this->nodes); } /** * Format/beautify a DOM. * * @param pagelayerQuery\DomNode $dom The dom to format. * @param array $options Extra formatting options. See {@link pagelayerQuery\HtmlFormatter::$options}. * @return bool Returns `true` on sucess and `false` on failure. */ // public static function format($dom, $options = array()) { // $formatter = new pagelayerQuery\HtmlFormatter($options); // return $formatter->format($dom); // } public function getIterator(): Traversable { return new ArrayIterator($this->nodes); } public function hasClass($classname) { foreach ($this->nodes as $node) { if ($node->hasClass($classname)) return true; } return false; } public function html($value = null) { if (empty($this->nodes) && $value === null) return ''; foreach ($this->nodes as $node) { if ($value === null) return $node->html(); $node->html($value); } return $this; } public function offsetExists($offset): bool { return isset($this->nodes[$offset]); } #[\ReturnTypeWillChange] public function offsetGet($offset) { return isset($this->nodes[$offset]) ? $this->nodes[$offset] : null; } #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { if (is_null($offset) || !isset($this->nodes[$offset])) { throw new \BadMethodCallException("You are not allowed to add new nodes to the pQuery object."); } else { $this->nodes[$offset]->replaceWith($value); } } #[\ReturnTypeWillChange] public function offsetUnset($offset) { if (isset($this->nodes[$offset])) { $this->nodes[$offset]->remove(); unset($this->nodes[$offset]); } } /** * Query a file or url. * * @param string $path The path to the url. * @param resource $context A context suitable to be passed into {@link file_get_contents} * @return pagelayerQuery\DomNode Returns the root dom node for the html file. */ public static function parseFile($path, $context = null) { $html_str = file_get_contents($path, false, $context); return static::parseStr($html_str); } /** * Query a string of html. * * @param string $html * @return pagelayerQuery\DomNode Returns the root dom node for the html string. */ public static function parseStr($html) { $parser = new pagelayerQuery\Html5Parser($html); return $parser->root; } public function prepend($content = null) { foreach ($this->nodes as $node) { $node->prepend($content); } return $this; } public function prop($name, $value = null) { if (empty($this->nodes) && $value === null) return ''; foreach ($this->nodes as $node) { if ($value === null) return $node->prop($name); $node->prop($name, $value); } return $this; } public function remove($selector = null) { foreach ($this->nodes as $node) { $node->remove($selector); } if ($selector === null) $this->nodes = array(); return $this; } public function removeAttr($name) { foreach ($this->nodes as $node) { $node->removeAttr($name); } return $this; } public function removeClass($classname) { foreach ($this->nodes as $node) { $node->removeClass($classname); } return $this; } public function replaceWith($content) { foreach ($this->nodes as &$node) { $node = $node->replaceWith($content); } return $this; } public function tagName($value = null) { foreach ($this->nodes as $node) { if ($value === null) return $node->tagName(); $node->tagName($value); } return $this; } public function text($value = null) { if (empty($this->nodes) && $value === null) return ''; foreach ($this->nodes as $node) { if ($value === null) return $node->text(); $node->text($value); } return $this; } public function toggleClass($classname, $switch = null) { foreach ($this->nodes as $node) { $node->toggleClass($classname, $switch); } return $this; } public function unwrap() { foreach ($this->nodes as $node) { $node->unwrap(); } return $this; } public function val($value = null) { if (empty($this->nodes) && $value === null) return ''; foreach ($this->nodes as $node) { if ($value === null) return $node->val(); $node->val($value); } return $this; } public function wrap($wrapping_element) { foreach ($this->nodes as $node) { $node->wrap($wrapping_element); } return $this; } public function wrapInner($wrapping_element) { foreach ($this->nodes as $node) { $node->wrapInner($wrapping_element); } return $this; } } PKZJ˼))+plugins/pagelayer/css/font-awesome5.min.cssnu[/*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-left,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-up,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-bell-o,.fa.fa-bell-slash-o,.fa.fa-bookmark-o,.fa.fa-building-o,.fa.fa-calendar-check-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-o,.fa.fa-calendar-plus-o,.fa.fa-calendar-times-o,.fa.fa-caret-square-o-down,.fa.fa-caret-square-o-left,.fa.fa-caret-square-o-right,.fa.fa-caret-square-o-up,.fa.fa-cc,.fa.fa-check-circle-o,.fa.fa-check-square-o,.fa.fa-circle-o,.fa.fa-circle-thin,.fa.fa-clipboard,.fa.fa-clock-o,.fa.fa-clone,.fa.fa-comment-o,.fa.fa-commenting-o,.fa.fa-comments-o,.fa.fa-compass,.fa.fa-copyright,.fa.fa-credit-card,.fa.fa-diamond,.fa.fa-dot-circle-o,.fa.fa-drivers-license-o,.fa.fa-envelope-o,.fa.fa-envelope-open-o,.fa.fa-eye,.fa.fa-eye-slash,.fa.fa-file-archive-o,.fa.fa-file-audio-o,.fa.fa-file-code-o,.fa.fa-file-excel-o,.fa.fa-file-image-o,.fa.fa-file-movie-o,.fa.fa-file-o,.fa.fa-file-pdf-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-powerpoint-o,.fa.fa-file-sound-o,.fa.fa-file-text-o,.fa.fa-file-video-o,.fa.fa-file-word-o,.fa.fa-file-zip-o,.fa.fa-files-o,.fa.fa-flag-o,.fa.fa-floppy-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-frown-o,.fa.fa-futbol-o,.fa.fa-hand-grab-o,.fa.fa-hand-lizard-o,.fa.fa-hand-o-down,.fa.fa-hand-o-left,.fa.fa-hand-o-right,.fa.fa-hand-o-up,.fa.fa-hand-paper-o,.fa.fa-hand-peace-o,.fa.fa-hand-pointer-o,.fa.fa-hand-rock-o,.fa.fa-hand-scissors-o,.fa.fa-hand-spock-o,.fa.fa-hand-stop-o,.fa.fa-handshake-o,.fa.fa-hdd-o,.fa.fa-heart-o,.fa.fa-hospital-o,.fa.fa-hourglass-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-image,.fa.fa-keyboard-o,.fa.fa-lemon-o,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-ring,.fa.fa-life-saver,.fa.fa-lightbulb-o,.fa.fa-list-alt,.fa.fa-map-o,.fa.fa-meh-o,.fa.fa-minus-square-o,.fa.fa-money,.fa.fa-moon-o,.fa.fa-newspaper-o,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-paper-plane-o,.fa.fa-paste,.fa.fa-pause-circle-o,.fa.fa-pencil-square-o,.fa.fa-photo,.fa.fa-picture-o,.fa.fa-play-circle-o,.fa.fa-plus-square-o,.fa.fa-question-circle-o,.fa.fa-registered,.fa.fa-send-o,.fa.fa-share-square-o,.fa.fa-smile-o,.fa.fa-snowflake-o,.fa.fa-soccer-ball-o,.fa.fa-square-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-star-half-o,.fa.fa-star-o,.fa.fa-sticky-note-o,.fa.fa-stop-circle-o,.fa.fa-sun-o,.fa.fa-support,.fa.fa-thumbs-o-down,.fa.fa-thumbs-o-up,.fa.fa-times-circle-o,.fa.fa-times-rectangle-o,.fa.fa-toggle-down,.fa.fa-toggle-left,.fa.fa-toggle-right,.fa.fa-toggle-up,.fa.fa-trash-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-vcard-o,.fa.fa-window-close-o,.fa.fa-window-maximize,.fa.fa-window-restore{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-500px,.fa.fa-adn,.fa.fa-amazon,.fa.fa-android,.fa.fa-angellist,.fa.fa-apple,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-bitcoin,.fa.fa-black-tie,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-chrome,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-dribbble,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-edge,.fa.fa-eercast,.fa.fa-empire,.fa.fa-envira,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-fa,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-official,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-flickr,.fa.fa-font-awesome,.fa.fa-fonticons,.fa.fa-fort-awesome,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-ge,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitlab,.fa.fa-gittip,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-google,.fa.fa-google-plus,.fa.fa-google-plus-circle,.fa.fa-google-plus-official,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-hacker-news,.fa.fa-houzz,.fa.fa-html5,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-joomla,.fa.fa-jsfiddle,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-linkedin,.fa.fa-linkedin-square,.fa.fa-linode,.fa.fa-linux,.fa.fa-maxcdn,.fa.fa-meanpath,.fa.fa-medium,.fa.fa-meetup,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-pagelines,.fa.fa-paypal,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-product-hunt,.fa.fa-qq,.fa.fa-quora,.fa.fa-ra,.fa.fa-ravelry,.fa.fa-rebel,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-renren,.fa.fa-resistance,.fa.fa-safari,.fa.fa-scribd,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-telegram,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-usb,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vine,.fa.fa-vk,.fa.fa-wechat,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-wheelchair-alt,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-y-combinator-square,.fa.fa-yahoo,.fa.fa-yc,.fa.fa-yc-square,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-glass:before{content:"\f000"}.fa.fa-star-o:before{content:"\f005"}.fa.fa-remove:before{content:"\f00d"}.fa.fa-close:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before{content:"\f01e"}.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before{content:"\f0c9"}.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-dashboard:before{content:"\f3fd"}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-mobile-phone:before{content:"\f3cd"}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before{content:"\f153"}.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-usd:before{content:"\f155"}.fa.fa-dollar:before{content:"\f155"}.fa.fa-inr:before{content:"\f156"}.fa.fa-rupee:before{content:"\f156"}.fa.fa-jpy:before{content:"\f157"}.fa.fa-cny:before{content:"\f157"}.fa.fa-rmb:before{content:"\f157"}.fa.fa-yen:before{content:"\f157"}.fa.fa-rub:before{content:"\f158"}.fa.fa-ruble:before{content:"\f158"}.fa.fa-rouble:before{content:"\f158"}.fa.fa-krw:before{content:"\f159"}.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-try:before{content:"\f195"}.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-institution:before{content:"\f19c"}.fa.fa-bank:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before{content:"\f20b"}.fa.fa-shekel:before{content:"\f20b"}.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-hotel:before{content:"\f236"}.fa.fa-yc:before{content:"\f23b"}.fa.fa-battery-4:before{content:"\f240"}.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-television:before{content:"\f26c"}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before{content:"\f2a4"}.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o:before{content:"\f007"}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-thermometer-4:before{content:"\f2c7"}.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before{content:"\f2cd"}.fa.fa-s15:before{content:"\f2cd"}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o:before{content:"\f2dc"}PKZ "plugins/pagelayer/css/combined.cssnu[/* Pagelayer Frontend Framework */ [pagelayer-id]{ transition:0.5s; } /* Experimental All FLEX code .pagelayer-ele, .pagelayer-ele-wrap,*/ /*Flex - Rows and Cols*/ .pagelayer-row, .pagelayer-inner_row, .pagelayer-row-holder, .pagelayer-col, .pagelayer-col-holder{ box-sizing: border-box; display: flex; flex: 1 0 auto; flex-direction: row; flex-wrap: wrap; width:100%; align-content: stretch; position: relative; } /* The col holder should be flex-start and not stretch because elements in it should take automatic height */ .pagelayer-col, .pagelayer-col-holder{ align-content: flex-start; } /* Each immediate element in the col-holder should have full width */ .pagelayer-col-holder>*{ width: 100%; } .pagelayer-row.pagelayer-auto .pagelayer-col { flex-grow: 1; } .pagelayer-col-1 { width: 8.33333%; } .pagelayer-offset-1 { margin-left: 8.33333%; } .pagelayer-col-2 { width: 16.66667%; } .pagelayer-offset-2 { margin-left: 16.66667%; } .pagelayer-col-3 { width: 25%; } .pagelayer-offset-3 { margin-left: 25%; } .pagelayer-col-4 { width: 33.33333%; } .pagelayer-offset-4 { margin-left: 33.33333%; } .pagelayer-col-5 { width: 41.66667%; } .pagelayer-offset-5 { margin-left: 41.66667%; } .pagelayer-col-6 { width: 50%; } .pagelayer-offset-6 { margin-left: 50%; } .pagelayer-col-7 { width: 58.33333%; } .pagelayer-offset-7 { margin-left: 58.33333%; } .pagelayer-col-8 { width: 66.66667%; } .pagelayer-offset-8 { margin-left: 66.66667%; } .pagelayer-col-9 { width: 75%; } .pagelayer-offset-9 { margin-left: 75%; } .pagelayer-col-10 { width: 83.33333%; } .pagelayer-offset-10 { margin-left: 83.33333%; } .pagelayer-col-11 { width: 91.66667%; } .pagelayer-offset-11 { margin-left: 91.66667%; } .pagelayer-col-12 { width: 100%; } .pagelayer-offset-12 { margin-left: 100%; } .pagelayer-gutters > .pagelayer-col-1 { width: calc(8.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-1 { margin-left: calc(8.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-2 { width: calc(16.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-2 { margin-left: calc(16.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-3 { width: calc(25% - 2%); } .pagelayer-gutters > .pagelayer-offset-3 { margin-left: calc(25% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-4 { width: calc(33.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-4 { margin-left: calc(33.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-5 { width: calc(41.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-5 { margin-left: calc(41.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-6 { width: calc(50% - 2%); } .pagelayer-gutters > .pagelayer-offset-6 { margin-left: calc(50% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-7 { width: calc(58.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-7 { margin-left: calc(58.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-8 { width: calc(66.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-8 { margin-left: calc(66.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-9 { width: calc(75% - 2%); } .pagelayer-gutters > .pagelayer-offset-9 { margin-left: calc(75% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-10 { width: calc(83.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-10 { margin-left: calc(83.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-11 { width: calc(91.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-11 { margin-left: calc(91.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-12 { width: calc(100% - 2%); } .pagelayer-gutters > .pagelayer-offset-12 { margin-left: calc(100% + 2%) !important; } .pagelayer-first { order: -1; } .pagelayer-last { order: 1; } /**************My Style for front-end *********/ .pagelayer-img{ vertical-align:bottom; max-width: 100%; } /* To give no decoration to a link for a pagelayer element */ .pagelayer-ele-link{ text-decoration:none; box-shadow:none !important; border:none; } .pagelayer-bgimg-slider{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .pagelayer-bgimg-slide { position: absolute; width: 100%; top: 0; left: 0; height: 100%; transition: all 1s ease-in-out; background-position: center center; background-repeat: no-repeat; background-size: cover; opacity: 0; } .pagelayer-slide-show { opacity: 1; } .pagelayer-row-overlay, .pagelayer-col-overlay{ position: absolute; width: 100%; height: 100%; right: 0px; top: 0px; z-index: -1; pointer-events:none; } .pagelayer-row-shape{ width:100%; position:absolute; top:0; left:0; right:0; bottom:0; line-height:0; overflow:hidden; } .pagelayer-row-svg{ position:relative; height:100%; } .pagelayer-row-svg svg{ width:100%; position:absolute; } .pagelayer-row-svg svg.pagelayer-svg-top{ top:-1px; } .pagelayer-row-svg svg.pagelayer-svg-bottom{ bottom:-1px; } .pagelayer-height-fit{ height:100vh; } .pagelayer-row-wrapper{ width:100%; } .pagelayer-background-overlay{ position: absolute; width: 100%; top: 0; left:0; height: 100%; overflow: hidden; } .pagelayer-background-video{ position: absolute; width: 100%; top: 0; height: 100%; pointer-events: none; z-index: 0; overflow: hidden; left:0; } .pagelayer-background-video iframe, .pagelayer-background-video video{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); max-width: none; } .pagelayer-service-container{ position:relative; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-service-image{ line-height:0; overflow:hidden; } .pagelayer-service-image img{ height: auto; max-width: 100%; } .pagelayer-service-btn{ display:inline-block; position:relative; z-index:9; } .pagelayer-service-details{ width:100%; } .pagelayer-service-text{ word-break:break-word; } .pagelayer-service-align-left{ display:flex; } .pagelayer-service-align-right{ display:flex; text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-service-align-top{ display:block; text-align: center; } .pagelayer-service-align-top .pagelayer-service-image{ margin:0 auto; text-align:center; } .pagelayer-service-box-centered{ text-align: center; } .pagelayer-service-box-media-left, .pagelayer-service-box-media-right{ display: flex; } .pagelayer-service-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-service-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-service-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-service-box-media-right .pagelayer-service-box-media-section{ order: 2; } .pagelayer-service-box-media-right .pagelayer-service-box-content-section{ order: 1; } .pagelayer-service-box-icon-holder{ display: inline-block; color:#000000; text-align: center; line-height: 1; font-size: 60px; } .pagelayer-service-icon{ line-height: 0; } .pagelayer-service-icon.pagelayer-service-framed i{ border:4px solid; background-color:transparent !important; } .pagelayer-service-icon.pagelayer-service-stacked i, .pagelayer-service-icon.pagelayer-service-framed i{ position:relative; } .pagelayer-service-icon.pagelayer-service-stacked i:before, .pagelayer-service-icon.pagelayer-service-framed i:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .pagelayer-service-box-icon-holder.square-holder{ padding: 15px; color:#000000; } .pagelayer-service-box-icon-holder.circle-holder{ padding: 15px; color:#000000; border-radius:50% !Important; } .pagelayer-service-box-icon-holder i{ position: relative; display: block; } .pagelayer-service-heading{ line-height:1; } .pagelayer-box-link{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Icon widget */ .pagelayer-icon-mini{ font-size: 16px !important; } .pagelayer-icon-small{ font-size: 24px !important; } .pagelayer-icon-large{ font-size: 36px !important; } .pagelayer-icon-extra-large{ font-size: 56px !important; } .pagelayer-icon-double-large{ font-size: 78px !important; } .pagelayer-icon-circle, .pagelayer-icon-outline-circle, .pagelayer-social-shape-circle .pagelayer-icon-holder{ border-radius: 50%; } .pagelayer-icon-rounded, .pagelayer-icon-outline-rounded, .pagelayer-social-shape-rounded .pagelayer-share-content, .pagelayer-social-shape-rounded .pagelayer-icon-holder{ border-radius: 10px; } /* Icon widget end */ /* Icon animation */ .pagelayer-animation-grow{ transition: transform 400ms; } .pagelayer-animation-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow{ transform: scale(1.1); } .pagelayer-animation-shrink{ transition: transform 400ms; } .pagelayer-animation-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-shrink{ transform: scale(0.9); } @keyframes pagelayer-animation-pulse{25%{transform:scale(1.1)}75%{transform:scale(0.9)}} .pagelayer-animation-pulse:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse{ animation-name: pagelayer-animation-pulse; animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pagelayer-animation-pulse-grow{to{transform:scale(1.1)}} .pagelayer-animation-pulse-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-grow{ animation-name: pagelayer-animation-pulse-grow; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-pulse-shrink{to{transform:scale(0.9)}} .pagelayer-animation-pulse-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-shrink{ animation-name: pagelayer-animation-pulse-shrink; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-push{50%{transform:scale(0.8)}100%{transform:scale(1)}} .pagelayer-animation-push:hover, .pagelayer-anim-par:hover .pagelayer-animation-push{ animation-name:pagelayer-animation-push; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-pop{50%{transform:scale(1.2)}} .pagelayer-animation-pop:hover, .pagelayer-anim-par:hover .pagelayer-animation-pop{ animation-name:pagelayer-animation-pop; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-buzz{ 50%{ transform:translateX(3px) rotate(2deg) } 100%{ transform:translateX(-3px) rotate(-2deg) } } .pagelayer-animation-buzz:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz{ animation-name:pagelayer-animation-buzz; animation-duration:0.15s; animation-timing-function:linear; animation-iteration-count:infinite; } @keyframes pagelayer-animation-buzz-out{ 10%{transform:translateX(3px) rotate(2deg)} 20%{transform:translateX(-3px) rotate(-2deg)} 30%{transform:translateX(3px) rotate(2deg)} 40%{transform:translateX(-3px) rotate(-2deg)} 50%{transform:translateX(2px) rotate(1deg)} 60%{transform:translateX(-2px) rotate(-1deg)} 70%{transform:translateX(2px) rotate(1deg)} 80%{transform:translateX(-2px) rotate(-1deg)} 90%{transform:translateX(1px) rotate(0)} 100%{transform:translateX(-1px) rotate(0)} } .pagelayer-animation-buzz-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz-out{ animation-name:pagelayer-animation-buzz-out; animation-duration:0.7s; animation-timing-function:linear; animation-iteration-count:1; } .pagelayer-animation-float:hover, .pagelayer-anim-par:hover .pagelayer-animation-float{ transform:translateY(-8px) } .pagelayer-animation-sink:hover, .pagelayer-anim-par:hover .pagelayer-animation-sink{ transform:translateY(8px) } @keyframes pagelayer-animation-bob{ 0%{transform:translateY(-8px)} 50%{transform:translateY(-4px)} 100%{transform:translateY(-8px)} } @keyframes pagelayer-animation-bob-up{ 100%{transform:translateY(-8px)} } .pagelayer-animation-bob:hover, .pagelayer-anim-par:hover .pagelayer-animation-bob{ animation-name:pagelayer-animation-bob-up,pagelayer-animation-bob; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:infinite; } @keyframes pagelayer-animation-hang{ 0%{transform:translateY(8px)} 50%{transform:translateY(4px)} 100%{transform:translateY(8px)} } @keyframes pagelayer-animation-hang-up{ 100%{transform:translateY(8px)} } .pagelayer-animation-hang:hover, .pagelayer-anim-par:hover .pagelayer-animation-hang{ animation-name:pagelayer-animation-hang-up,pagelayer-animation-hang; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:1,infinite; animation-direction:normal,alternate; } .pagelayer-animation-bounce-in{ transition-duration:0.5s; } .pagelayer-animation-bounce-in:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-in{ transform:scale(1.2); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-bounce-out{ transition-duration:0.5s; } .pagelayer-animation-bounce-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-out{ transform:scale(0.8); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-rotate{ transform:rotate(6deg); } .pagelayer-animation-grow-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow-rotate{ transform:scale(1.1) rotate(6deg); } .pagelayer-animation-skew-forward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-forward{ transform:skew(-9deg); } .pagelayer-animation-skew-backward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-backward{ transform:skew(9deg); } @keyframes pagelayer-animation-wobble-vertical{ 17%{transform:translateY(9px)} 33%{transform:translateY(-7px)} 45%{transform:translateY(5px)} 67%{transform:translateY(-3px)} 83%{transform:translateY(1px)} 100%{transform:translateY(0)} } .pagelayer-animation-wobble-vertical:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-vertical{ animation-name:pagelayer-animation-wobble-vertical; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-horizontal{ 17%{transform:translateX(9px)} 33%{transform:translateX(-7px)} 50%{transform:translatex(5px)} 67%{transform:translateX(-3px)} 83%{transform:translateX(1px)} 100%{transform:translateX(0)} } .pagelayer-animation-wobble-horizontal:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-horizontal{ animation-name:pagelayer-animation-wobble-horizontal; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-bottom-to-right{ 17%{transform:translate(9px,9px)} 33%{transform:translate(-7px,-7px)} 50%{transform:translate(5px,5px)} 67%{transform:translate(-3px,-3px)} 83%{transform:translate(1px,1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-bottom-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom-to-right{ animation-name:pagelayer-animation-wobble-bottom-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-top-to-right{ 17%{transform:translate(9px,-9px)} 33%{transform:translate(-7px,7px)} 50%{transform:translate(5px,-5px)} 67%{transform:translate(-3px,3px)} 83%{transform:translate(1px,-1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-top-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top-to-right{ animation-name:pagelayer-animation-wobble-top-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } .pagelayer-animation-wobble-top{ transform-origin:0 100%; } @keyframes pagelayer-animation-wobble-top{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-top:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top{ animation-name:pagelayer-animation-wobble-top; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } .pagelayer-animation-wobble-bottom{ transform-origin:100% 0; } @keyframes pagelayer-animation-wobble-bottom{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-bottom:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom{ animation-name:pagelayer-animation-wobble-bottom; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } @keyframes pagelayer-animation-wobble-skew{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-skew:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-skew{ animation-name:pagelayer-animation-wobble-skew; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } /* Icon animation end */ /*Badge widget */ .pagelayer-badge a{ text-decoration: none !important; } .pagelayer-badge-btn{ display:none; padding:10px; padding: 0.40em 0.36em; } .pagelayer-badge-details{ margin-left:1px; border-radius:.25rem; padding: 0.10rem; position: relative; top: -3px; } .pagelayer-badge-details.pagelayer-badge-normal{ border-radius:.25rem; } .pagelayer-badge-details.pagelayer-badge-pills{ border-radius:10rem; } .pagelayer-badge-btn .pagelayer-badge-details{ position:relative; top:-1px; } /*Badge widget end*/ /*Tooltip widget*/ .pagelayer-tooltip-container{ position:relative; display:inline-block; line-height: 1; } .pagelayer-tooltip-text{ visibility: hidden; width: 300px; background-color: #000000; color: #ffffff; text-align: center; border-radius: 6px; position: absolute; z-index: 1; padding:5px; word-break:break-word; } .pagelayer-tooltip-icon{ margin:0px 4px; } .pagelayer-tooltip-top{ bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-top:after{ content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #000000 transparent transparent transparent; } .pagelayer-tooltip-right{ top: 50%; left: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-right:after { content: ""; position: absolute; top: 50%; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent #000000 transparent transparent; } .pagelayer-tooltip-bottom{ top: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-bottom:after{ content: ""; position: absolute; bottom: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent #000000 transparent; } .pagelayer-tooltip-left{ top: 50%; bottom: auto; right: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-left:after{ content: ""; position: absolute; top: 50%; left: 100%; transform: translateY(-50%); margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent #000000; } .pagelayer-tooltip-container:hover .pagelayer-tooltip-text, .pagelayer-tooltip-text:focus{ visibility: visible !important; } .pagelayer-tooltip-on-click{ visibility: visible !important; } /*Tooltip widget end*/ /* Button widget */ .pagelayer-btn-holder{ border-radius:5px; display:inline-block; line-height:1em; transition:all 0.3s; cursor: pointer; box-sizing:border-box; } .pagelayer-btn-default{ background-color:#818a91 !important; color:#ffffff !important; } .pagelayer-btn-primary, .pagelayer-badge-primary, .pagelayer-progress-primary{ color:#ffffff !important; background-color:#007bff !important; } .pagelayer-btn-primary:hover{ color:#ffffff !important; background-color: #0069d9 !important; } .pagelayer-btn-secondary, .pagelayer-badge-secondary, .pagelayer-progress-secondary{ color:#ffffff !important; background-color:#6c757d !important; } .pagelayer-btn-secondary:hover{ color: #ffffff !important; background-color: #5a6268 !important; } .pagelayer-btn-success, .pagelayer-badge-success, .pagelayer-progress-success{ color: #fff; background-color: #28a745 !important; } .pagelayer-btn-success:hover{ color: #ffffff !important; background-color: #218838 !important; } .pagelayer-btn-info, .pagelayer-badge-info, .pagelayer-progress-info{ color: #ffffff !important; background-color: #17a2b8 !important; } .pagelayer-btn-info:hover{ color: #ffffff !important; background-color: #138496 !important; } .pagelayer-btn-warning, .pagelayer-badge-warning, .pagelayer-progress-warning{ color: #212529 !important; background-color: #ffc107 !important; } .pagelayer-btn-warning:hover{ color: #212529 !important; background-color: #e0a800 !important; } .pagelayer-btn-danger, .pagelayer-badge-danger, .pagelayer-progress-danger{ color: #ffffff !important; background-color: #dc3545 !important; } .pagelayer-btn-danger:hover{ color: #ffffff !important; background-color: #c82333 !important; } .pagelayer-btn-dark, .pagelayer-badge-dark, .pagelayer-progress-dark{ color: #ffffff !important; background-color: #343a40 !important; } .pagelayer-btn-dark:hover{ color: #ffffff !important; background-color: #23272b !important; } .pagelayer-btn-light, .pagelayer-badge-light, .pagelayer-progress-light{ color: #212529 !important; background-color: #f8f9fa !important; } .pagelayer-btn-light:hover{ color: #212529 !important; background-color: #e2e6ea !important; } .pagelayer-btn-link{ color: #007bff !important; } .pagelayer-btn-link:hover{ text-decoration: underline !important; } .pagelayer-btn-default:hover{ color:#ffffff; } .pagelayer-btn-mini{ font-size: 14px; padding: 10px 20px; } .pagelayer-btn-small{ font-size: 16px; padding: 15px 30px; } .pagelayer-btn-large{ font-size: 18px; padding: 20px 40px; } .pagelayer-btn-extra-large{ font-size: 20px; padding: 25px 50px; } .pagelayer-btn-double-large{ font-size: 22px; padding: 30px 60px; } .pagelayer-btn-icon-left .pagelayer-btn-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-icon:first-child, .pagelayer-btn-icon-left .pagelayer-btn-load-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-load-icon:first-child, .pagelayer-btn-icon-left .pagelayer-cf-icon-right, .pagelayer-btn-icon-right .pagelayer-cf-icon-left{ display: none; } .pagelayer-btn-icon-left .pagelayer-btn-icon, .pagelayer-btn-icon-left .pagelayer-btn-load-icon{ padding-left:0 !important; position: relative; z-index: 1; } .pagelayer-btn-icon-right .pagelayer-btn-icon, .pagelayer-btn-icon-right .pagelayer-btn-load-icon{ padding-right:0 !important; position: relative; z-index: 1; } /* Button widget end */ /* Social Profile */ .pagelayer-icon-holder[class*="pagelayer-facebook"] .pagelayer-social-fa{ color:#3B5998; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-facebook"], .pagelayer-share-content[class*="pagelayer-facebook"]{ background-color:#3B5998; color:#3B5998; } .pagelayer-icon-holder[class*="pagelayer-twitter"] .pagelayer-social-fa{ color:#1DA1F2; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitter"], .pagelayer-share-content[class*="pagelayer-twitter"]{ background-color:#1DA1F2; color:#1DA1F2; } .pagelayer-icon-holder[class*="pagelayer-android"] .pagelayer-social-fa{ color:#A4C639 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-android"], .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-share-content[class*="pagelayer-android"]{ background-color:#A4C639; } .pagelayer-icon-holder[class*="pagelayer-google-plus"] .pagelayer-social-fa{ color:#DD4B39 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-google-plus"], .pagelayer-share-content[class*="pagelayer-google-plus"]{ background-color:#DD4B39; color:#DD4B39; } .pagelayer-icon-holder[class*="pagelayer-instagram"] .pagelayer-social-fa{ color:#262626; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-instagram"], .pagelayer-share-content[class*="pagelayer-instagram"]{ background-color:#1DA1F2; color:#262626; } .pagelayer-icon-holder[class*="pagelayer-linkedin"] .pagelayer-social-fa{ color:#0077B5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-linkedin"], .pagelayer-share-content[class*="pagelayer-linkedin"]{ background-color:#0077B5; color:#0077B5; } .pagelayer-icon-holder[class*="pagelayer-behance"] .pagelayer-social-fa{ color:#053eff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-behance"], .pagelayer-share-content[class*="pagelayer-behance"]{ background-color:#053eff; color:#053eff; } .pagelayer-icon-holder[class*="pagelayer-pinterest"] .pagelayer-social-fa{ color:#c8232c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-pinterest"], .pagelayer-share-content[class*="pagelayer-pinterest"]{ background-color:#c8232c; color:#c8232c; } .pagelayer-icon-holder[class*="pagelayer-get-pocket"] .pagelayer-social-fa{ color:#ef4156; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-get-pocket"], .pagelayer-share-content[class*="pagelayer-get-pocket"]{ background-color:#ef4156; color:#ef4156; } .pagelayer-icon-holder[class*="pagelayer-envelope"] .pagelayer-social-fa{ color:#292929; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-envelope"], .pagelayer-share-content[class*="pagelayer-envelope"]{ background-color:#292929; color:#292929; } .pagelayer-icon-holder[class*="pagelayer-reddit"] .pagelayer-social-fa{ color:#ff4301; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-reddit"], .pagelayer-share-content[class*="pagelayer-reddit"]{ background-color:#ff4301; color:#ff4301; } .pagelayer-icon-holder[class*="pagelayer-rss"] .pagelayer-social-fa{ color:#F26522; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-rss"], .pagelayer-share-content[class*="pagelayer-rss"]{ background-color:#F26522; color:#F26522; } .pagelayer-icon-holder[class*="pagelayer-skype"] .pagelayer-social-fa{ color:#00aff0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-skype"], .pagelayer-share-content[class*="pagelayer-skype"]{ background-color:#00aff0; color:#00aff0; } .pagelayer-icon-holder[class*="pagelayer-slideshare"] .pagelayer-social-fa{ color:#0077b5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-slideshare"], .pagelayer-share-content[class*="pagelayer-slideshare"]{ background-color:#0077b5; color:#0077b5; } .pagelayer-icon-holder[class*="pagelayer-snapchat"] .pagelayer-social-fa{ color:#fffc00; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-snapchat"], .pagelayer-share-content[class*="pagelayer-snapchat"]{ background-color:#fffc00; color:#fffc00; } .pagelayer-icon-holder[class*="pagelayer-soundcloud"] .pagelayer-social-fa{ color:#ff8800; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-soundcloud"], .pagelayer-share-content[class*="pagelayer-soundcloud"]{ background-color:#ff8800; color:#ff8800; } .pagelayer-icon-holder[class*="pagelayer-spotify"] .pagelayer-social-fa{ color:#1ED760; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-spotify"], .pagelayer-share-content[class*="pagelayer-spotify"]{ background-color:#1ED760; color:#1ED760; } .pagelayer-icon-holder[class*="pagelayer-stack-overflow"] .pagelayer-social-fa{ color:#F48024; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stack-overflow"], .pagelayer-share-content[class*="pagelayer-stack-overflow"]{ background-color:#F48024; color:#F48024; } .pagelayer-icon-holder[class*="pagelayer-steam"] .pagelayer-social-fa{ color:#00adee; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-steam"], .pagelayer-share-content[class*="pagelayer-steam"]{ background-color:#00adee; color:#00adee; } .pagelayer-icon-holder[class*="pagelayer-stumbleupon"] .pagelayer-social-fa{ color:#EB4924; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stumbleupon"], .pagelayer-share-content[class*="pagelayer-stumbleupon"]{ background-color:#EB4924; color:#EB4924; } .pagelayer-icon-holder[class*="pagelayer-telegram"] .pagelayer-social-fa{ color:#0088cc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-telegram"], .pagelayer-share-content[class*="pagelayer-telegram"]{ background-color:#0088cc; color:#0088cc; } .pagelayer-icon-holder[class*="pagelayer-thumb-tack"] .pagelayer-social-fa{ color:#1AA1D8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-thumb-tack"], .pagelayer-share-content[class*="pagelayer-thumb-tack"]{ background-color:#1AA1D8; color:#1AA1D8; } .pagelayer-icon-holder[class*="pagelayer-tripadvisor"] .pagelayer-social-fa{ color:#00af87; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tripadvisor"], .pagelayer-share-content[class*="pagelayer-tripadvisor"]{ background-color:#00af87; color:#00af87; } .pagelayer-icon-holder[class*="pagelayer-tumblr"] .pagelayer-social-fa{ color:#001935; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tumblr"], .pagelayer-share-content[class*="pagelayer-tumblr"]{ background-color:#001935; color:#001935; } .pagelayer-icon-holder[class*="pagelayer-twitch"] .pagelayer-social-fa{ color:#6441a5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitch"], .pagelayer-share-content[class*="pagelayer-twitch"]{ background-color:#6441a5; color:#6441a5; } .pagelayer-icon-holder[class*="pagelayer-vimeo"] .pagelayer-social-fa{ color:#1CB7EA; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vimeo"], .pagelayer-share-content[class*="pagelayer-vimeo"]{ background-color:#1CB7EA; color:#1CB7EA; } .pagelayer-icon-holder[class*="pagelayer-vk"] .pagelayer-social-fa{ color:#4C75A3; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vk"], .pagelayer-share-content[class*="pagelayer-vk"]{ background-color:#4C75A3; color:#4C75A3; } .pagelayer-icon-holder[class*="pagelayer-weibo"] .pagelayer-social-fa{ color:#DF2029; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weibo"], .pagelayer-share-content[class*="pagelayer-weibo"]{ background-color:#DF2029; color:#DF2029; } .pagelayer-icon-holder[class*="pagelayer-weixin"] .pagelayer-social-fa{ color:#7bb32e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weixin"], .pagelayer-share-content[class*="pagelayer-weixin"]{ background-color:#7bb32e; color:#7bb32e; } .pagelayer-icon-holder[class*="pagelayer-whatsapp"] .pagelayer-social-fa{ color:#25D366; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-whatsapp"], .pagelayer-share-content[class*="pagelayer-whatsapp"]{ background-color:#25D366; color:#25D366; } .pagelayer-icon-holder[class*="pagelayer-wordpress"] .pagelayer-social-fa{ color:#21759b; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-wordpress"], .pagelayer-share-content[class*="pagelayer-wordpress"]{ background-color:#21759b; color:#21759b; } .pagelayer-icon-holder[class*="pagelayer-xing"] .pagelayer-social-fa{ color:#026466; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-xing"], .pagelayer-share-content[class*="pagelayer-xing"]{ background-color:#026466; color:#026466; } .pagelayer-icon-holder[class*="pagelayer-yelp"] .pagelayer-social-fa{ color:#af0606; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-yelp"], .pagelayer-share-content[class*="pagelayer-yelp"]{ background-color:#af0606; color:#af0606; } .pagelayer-icon-holder[class*="pagelayer-youtube"] .pagelayer-social-fa{ color:#ff0000; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-youtube"], .pagelayer-share-content[class*="pagelayer-youtube"]{ background-color:#ff0000; color:#ff0000; } .pagelayer-icon-holder[class*="pagelayer-500px"] .pagelayer-social-fa{ color:#0099e5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-500px"], .pagelayer-share-content[class*="pagelayer-500px"]{ background-color:#0099e5; color:#0099e5; } .pagelayer-icon-holder[class*="pagelayer-flickr"] .pagelayer-social-fa{ color:#0063dc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-flickr"], .pagelayer-share-content[class*="pagelayer-flickr"]{ background-color:#0063dc; color:#0063dc; } .pagelayer-icon-holder[class*="pagelayer-github"] .pagelayer-social-fa{ color:#4078c0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-github"], .pagelayer-share-content[class*="pagelayer-github"]{ background-color:#4078c0; color:#4078c0; } .pagelayer-icon-holder[class*="pagelayer-gitlab"] .pagelayer-social-fa{ color:#fca326; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-gitlab"], .pagelayer-share-content[class*="pagelayer-gitlab"]{ background-color:#fca326; color:#fca326; } .pagelayer-icon-holder[class*="pagelayer-apple"] .pagelayer-social-fa{ color:#999999; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-apple"], .pagelayer-share-content[class*="pagelayer-apple"]{ background-color:#999999; color:#999999; } .pagelayer-icon-holder[class*="pagelayer-jsfiddle"] .pagelayer-social-fa{ color:#0084FF; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-jsfiddle"], .pagelayer-share-content[class*="pagelayer-jsfiddle"]{ background-color:#0084FF; color:#0084FF; } .pagelayer-icon-holder[class*="pagelayer-houzz"] .pagelayer-social-fa{ color:#7ac142; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-houzz"], .pagelayer-share-content[class*="pagelayer-houzz"]{ background-color:#7ac142; color:#7ac142; } .pagelayer-icon-holder[class*="pagelayer-bitbucket"] .pagelayer-social-fa{ color:#205081; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-bitbucket"], .pagelayer-share-content[class*="pagelayer-bitbucket"]{ background-color:#205081; color:#205081; } .pagelayer-icon-holder[class*="pagelayer-codepen"] .pagelayer-social-fa{ color:#0ebeff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-codepen"], .pagelayer-share-content[class*="pagelayer-codepen"]{ background-color:#0ebeff; color:#0ebeff; } .pagelayer-icon-holder[class*="pagelayer-delicious"] .pagelayer-social-fa{ color:#3399ff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-delicious"], .pagelayer-share-content[class*="pagelayer-delicious"]{ background-color:#3399ff; color:#3399ff; } .pagelayer-icon-holder[class*="pagelayer-medium"] .pagelayer-social-fa{ color:#00ab6c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-medium"], .pagelayer-share-content[class*="pagelayer-medium"]{ background-color:#00ab6c; color:#00ab6c; } .pagelayer-icon-holder[class*="pagelayer-meetup"] .pagelayer-social-fa{ color:#e0393e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-meetup"], .pagelayer-share-content[class*="pagelayer-meetup"]{ background-color:#e0393e; color:#e0393e; } .pagelayer-icon-holder[class*="pagelayer-mixcloud"] .pagelayer-social-fa{ color:#52aad8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-mixcloud"], .pagelayer-share-content[class*="pagelayer-mixcloud"]{ background-color:#52aad8; color:#52aad8; } .pagelayer-icon-holder[class*="pagelayer-dribbble"] .pagelayer-social-fa{ color:#444444; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-dribbble"], .pagelayer-share-content[class*="pagelayer-dribbble"]{ background-color:#444444; color:#444444; } .pagelayer-icon-holder[class*="pagelayer-foursquare"] .pagelayer-social-fa{ color:#f94877; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-foursquare"], .pagelayer-share-content[class*="pagelayer-foursquare"]{ background-color:#f94877; color:#f94877; } .pagelayer-share_grp .pagelayer-social-fa, .pagelayer-share_grp .pagelayer-social-fa:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%); } .pagelayer-share_grp{ font-size: 0; } .pagelayer-share_grp > div{ display: inline-block; } .pagelayer-share_grp .pagelayer-social-fa{ height:1em; width:1em; } .pagelayer-share_grp .pagelayer-icon-holder{ position: relative; min-height: 1em; min-width: 1em; } .pagelayer-share-content .pagelayer-social-fa, .pagelayer-share-content span{ color: inherit; } .pagelayer-share_grp.pagelayer-social-bg-none .pagelayer-share-content, .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ background-color:unset; } .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ border:2px solid; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-icon-name span{ color: #ffffff; } .pagelayer-social_grp .pagelayer-icon-holder{ display:inline-block; line-height: 100%; text-align: center; } .pagelayer-share-content, .pagelayer-share-content .pagelayer-icon-name{ display:flex; } .pagelayer-share-content .pagelayer-icon-name{ align-items:center; } .pagelayer-social-shape-circle .pagelayer-share-content{ border-radius:100000px; } .pagelayer-icon-name span{ padding:0 20px 0 5px; } .pagelayer-share-buttons{ position:relative; border-radius: inherit; } .pagelayer-social-shape-boxed .pagelayer-share-buttons:before{ content: ""; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.15); border-top-left-radius: inherit; border-bottom-left-radius: inherit; left: 0; } .pagelayer-share_grp .pagelayer-icon-name span, .pagelayer-share_grp .pagelayer-icon-holder{ display:none; } .pagelayer-share-type-icon .pagelayer-icon-holder, .pagelayer-share-type-icon-label .pagelayer-icon-holder, .pagelayer-share-type-label .pagelayer-icon-name span, .pagelayer-share-type-icon-label .pagelayer-icon-name span{ display:block; } /* Social Profile end */ .pagelayer-list-icon-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-list-icon, .pagelayer-list-item{ -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .pagelayer-list-item{ width:100%; } .pagelayer-list-ul{ margin:0; padding:0; } /* Video */ .pagelayer-video .pagelayer-video-holder{ position:relative; width: 100%; height: auto; overflow: hidden; } .pagelayer-video-iframe{ position:absolute; width:100%; height:100%; top:0; left:0; } .pagelayer-video-aspect-1-1{ padding-top:100%; } .pagelayer-video-aspect-3-2{ padding-top:66.66%; } .pagelayer-video-aspect-4-3{ padding-top: 75%; } .pagelayer-video-aspect-8-5{ padding-top:62.5%; } .pagelayer-video-aspect-16-9{ padding-top: 56.25%; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background-size: cover; background-position: center center; background-repeat: no-repeat; cursor: pointer; } .pagelayer-video .pagelayer-video-holder a{ position:absolute; top:0; left:0; right:0; bottom:0; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay i{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } /* Video end */ /** Image **/ .pagelayer-image, .pagelayer-image .pagelayer-image-holder{ position: relative; } .pagelayer-image-link{ text-decoration:none; cursor: pointer; } .pagelayer-image-caption{ margin-bottom: unset; } .pagelayer-image-overlay{ position: absolute; width: 100%; top: 0; height: 100%; left: 0; opacity:0; overflow:auto; transition: .5s ease; } .pagelayer-image:hover .pagelayer-image-overlay{ opacity:1; } .pagelayer-image .pagelayer-image-overlay .pagelayer-image-overlay-content{ width:100%; } .pagelayer-image *{ border-radius:inherit; } /** Image End **/ .pagelayer-button { text-align: center } .pagelayer-button i{ padding: 0 3px; } .pagelayer-audio-container, .pagelayer-audio-container audio{ width:100%; } .pagelayer-testimonial-avatar img{ border: 1px solid #eee; border-radius: 50%; margin-right: 10px; } .pagelayer-alignment-center{ text-align: center; } .pagelayer-alignment-left{ text-align: left; } .pagelayer-alignment-right{ text-align: right; } /* Testimonial */ .pagelayer-testimonial{ padding:0.4em 0.8em; line-height: normal; } .pagelayer-testimonial-image{ -o-object-fit: cover; object-fit: cover; display: unset !important; } .pagelayer-testimonial-square{ border-radius:0px; } .pagelayer-testimonial-circle{ border-radius:50%; } .pagelayer-aside-position{ display:inline-block; vertical-align: middle; } .pagelayer-aside-position .pagelayer-testimonial-cite{ text-align: left; } .pagelayer-top-position, .pagelayer-testimonial-author{ display:block; } .pagelayer-aside-position .pagelayer-testimonial-author{ position: relative; } .pagelayer-testimonial-container .pagelayer-testimonial-avatar, .pagelayer-testimonial-container .pagelayer-testimonial-details{ display: table-cell; vertical-align: middle; } .pagelayer-testimonial-designation{ color: #999; font-size: 12px; } /* Testimonial End */ /* Progress bar */ .pagelayer-progress-goal{ margin-top: 10px; } .pagelayer-progress-container{ background-color:#eeeeee; } .pagelayer-progress-bar{ overflow:hidden; } .pagelayer-progress-percent{ float:right; padding-right:10px; } .pagelayer-progress-text{ float:left; padding-left:10px; } .pagelayer-progress-prefix { float: left; text-align: left; display: inline-block; } .pagelayer-progress-suffix{ text-align: right; } /*Progress bar end*/ /*Stars widget start*/ .pagelayer-stars > *{ vertical-align:middle; } .pagelayer-stars-container{ text-align:center; color: #ccd6df; font-family: "FontAwesome", "Font Awesome 5 Free"; display: inline-block; position: relative; border-color: 1px solid #ccd6df; } .pagelayer-stars-container .pagelayer-stars-icon{ position: relative; display:inline-block; line-height: 1; } .pagelayer-stars-container .pagelayer-stars-icon:before{ content: "\f005"; font-size: inherit; font-family: inherit; overflow: hidden; color: #f0ad4e; position:absolute; font-weight:900; top:0; left:0; } .pagelayer-stars-icon.pagelayer-stars-empty:before{ width:0em; } .pagelayer-stars-icon.pagelayer-stars-1:before{ width:0.1em; } .pagelayer-stars-icon.pagelayer-stars-2:before{ width:0.2em; } .pagelayer-stars-icon.pagelayer-stars-3:before{ width:0.3em; } .pagelayer-stars-icon.pagelayer-stars-4:before{ width:0.4em; } .pagelayer-stars-icon.pagelayer-stars-5:before{ width:0.5em; } .pagelayer-stars-icon.pagelayer-stars-6:before{ width:0.6em; } .pagelayer-stars-icon.pagelayer-stars-7:before{ width:0.7em; } .pagelayer-stars-icon.pagelayer-stars-8:before{ width:0.8em; } .pagelayer-stars-icon.pagelayer-stars-9:before{ width:0.9em; } .pagelayer-stars-icon.pagelayer-stars-full:before{ width:1.1em; } /*Stars widget end*/ /* Site Title Start */ .pagelayer-wp-title-align-top{ display:block; text-align: center; } .pagelayer-wp-title-heading{ padding:5px 20px; font-size: 20px; font-weight: 500; text-decoration-style: solid !important; margin: 0px; transition: all 400ms; flex-grow:1; } .pagelayer-wp-title-img{ box-shadow: none !important; } .pagelayer-wp-title-desc{ padding: 5px 20px; } .pagelayer-wp-title-align-left, .pagelayer-wp-title-align-right{ display: flex; } .pagelayer-wp-title-align-right{ text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-wp-title-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-wp-title-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-wp-title-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-wp-title-section .pagelayer-wp-title-link{ text-decoration: none !important; } /* Site title End */ /*pricing plans*/ .pagelayer-pricing{ text-align:center; border:2px solid #e8e3e3; border-radius:6px; } .pagelayer-pricing-rate-section{ padding:20px; } .pagelayer-pricing-details h1, .pagelayer-pricing-details h2, .pagelayer-pricing-details h3, .pagelayer-pricing-details h4, .pagelayer-pricing-details h5{ margin:10px 0px; padding:0px; } .pagelayer-pricing-details{ position: relative; background-color:#1e1558; border-top-left-radius: inherit; border-top-right-radius: inherit; } .pagelayer-pricing-details .pagelayer-pricing-type{ text-transform: uppercase; } .pagelayer-pricing-sub-title{ font-weight: normal; } .pagelayer-pricing-details .pagelayer-pricing-price{ font-weight:800; } .pagelayer-pricing-price.pagelayer-pricing-original{ display:none; text-decoration: line-through; margin-right: 10px; } h2.pagelayer-pricing-price{ display:inline-block; margin:5px 0px; } .pagelayer-pricing-details{ font-size:15px; } .pagelayer-pricing-duration{ font-size:15px; margin:0px; } .pagelayer-pricing-features{ padding:20px; border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .pagelayer-pricing-features .pagelayer-pricing-ul{ padding:0px; } .pagelayer-pricing-ul li{ display: inline-block; list-style-type: none; padding:5px 0px; } .pagelayer-pricing-ul .pagelayer-list_item:after{ border-bottom:2px solid #c5c5c5; margin-top: 5px; } .pagelayer-list-li span i{ margin-right:5px; } .pagelayer-pricing-btn{ display: inline-block; } .pagelayer-pricing-additional{ margin:20px 0px 0px; } .pagelayer-pricing-ribbon-container{ position: absolute; top: 0; left: auto; right: 0; transform: rotate(90deg); width: 150px; overflow: hidden; height: 150px; } .pagelayer-pricing-ribbon{ display: none; width: 200%; background-color: #ce4210ff; position: absolute; left:0; text-align: center; line-height: 2; letter-spacing: 1px; color: #f0f0f0; margin-top: 40px; transform: translateY(-50%) translateX(-50%) translateX(50px) rotate(-45deg); } .pagelayer-pricing-currency-top{ vertical-align: top; } .pagelayer-pricing-currency-middle{ vertical-align: middle; } .pagelayer-pricing-currency-bottom{ vertical-align: bottom; } /*pricing plans end*/ /* Quote */ .pagelayer-quotation-overlay{ position: absolute; font-size: 70px; top: 0; } .pagelayer-quote-content .fa-quote-right{ display: inline-block; vertical-align: top; } /* Quote end */ .pagelayer-call-icon-section, .pagelayer-call-content-section, .pagelayer-call-button-section{ display: table-cell; vertical-align: middle; } .pagelayer-call-center{ text-align: center; } .pagelayer-call-center .pagelayer-call-icon-section, .pagelayer-call-center .pagelayer-call-content-section, .pagelayer-call-center .pagelayer-call-button-section{ display: block; } .pagelayer-call-3d{ background: #eee; border-bottom: 5px solid #ddd; padding: 30px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-icon-section{ padding-right: 10px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-content-section{ padding-right: 20px } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-icon-section{ margin-bottom: 10px; } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-content-section{ margin-bottom: 20px; } .pagelayer-call-3d .pagelayer-call-title{ font-size: 26px; font-weight: 700; /* margin-bottom: 5px; */ } .pagelayer-call-3d .pagelayer-call-subtitle{ font-size: 18px; /* margin-bottom: 10px; */ } /* .pagelayer-call-3d .pagelayer-call-text{ color: #777; } */ .pagelayer-call-left .pagelayer-call-button{ display:flex; } .pagelayer-button-mini{ font-size: 13px; padding: 8px 12px; line-height: 13px; min-height: unset; } .pagelayer-button-small{ font-size: 15px; padding: 10px 18px; line-height: 15px; min-height: unset; } .pagelayer-button-middle{ font-size: 17px; padding: 14px 26px; line-height: 17px; min-height: unset; } .pagelayer-button-large{ font-size: 20px; padding: 18px 35px; line-height: 20px; min-height: unset; } .pagelayer-modal-content, .pagelayer-splash-container{ display: none; position: fixed; padding: 50px; top: 0; left: 0; right: 0; height: 100%; overflow: auto; color: #000; opacity: 1; z-index: 99999; box-sizing: border-box; } .pagelayer-modal-bottom-content, .pagelayer-splash-bottom-content{ padding: 50px; background-color: #fefefe; } .pagelayer-modal-body, .pagelayer-splash-body{ position: absolute; margin: auto; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); -webkit-animation-name: animatetop; -webkit-animation-duration: 0.4s; animation-name: animatetop; animation-duration: 0.4s; left: 50%; top: 50%; transform: translate(-50%, -50%); } .pagelayer-modal-content-overflow, .pagelayer-splash-content-overflow{ max-height:500px; overflow:auto; } .pagelayer-splash-bg-close, .pagelayer-modal-bg-close{ position: absolute; top:0; left:0; width:100%; height:100%; } .pagelayer-btn-icon-left .pagelayer-icon-right{ display: none; } .pagelayer-btn-icon-right .pagelayer-icon-left{ display: none; } /* Add Animation */ @-webkit-keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } @keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } .pagelayer-modal-close, .pagelayer-splash-close{ position: absolute; right: 10px; top: 25px; color: #fff; font-size: 70px !important; cursor: pointer; } .pagelayer-modal-close:before, .pagelayer-modal-close:after, .pagelayer-splash-close:before, .pagelayer-splash-close:after{ position: absolute; top: 2px; right: 38px; content: ' '; width: 2px; background-color: #fff; } .pagelayer-modal-close:before, .pagelayer-splash-close:before{ -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .pagelayer-modal-close:after, .pagelayer-splash-close:after{ -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .pagelayer-modal-title, .pagelayer-splash-title{ background-color: #3D54DF; color: #ffffff; } /* Countdown Start */ .pagelayer-countdown-item{ padding:20px 30px; text-align:center; } .pagelayer-countdown-counter{ display: flex; flex-wrap:wrap; justify-content: center; } .pagelayer-countdown-days, .pagelayer-countdown-hours, .pagelayer-countdown-minutes, .pagelayer-countdown-seconds{ display: inline-block; vertical-align: middle; background: #eee; margin: 0 5px 5px; flex:1; } .pagelayer-countdown-days div, .pagelayer-countdown-hours div, .pagelayer-countdown-minutes div, .pagelayer-countdown-seconds div{ /* display: inline-block; */ line-height: 1; } .pagelayer-countdown-inline .pagelayer-countdown-name{ display:inline-block; } .pagelayer-countdown-inline .pagelayer-countdown-count{ display:inline-block; } .pagelayer-countdown-expired{ display:none; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-expired{ display:block !important; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-counter{ display:none !important; } /* Countdown End*/ #pagelayer-header-menu{ display: inline-block; } /* splash style */ .pagelayer-splash .pagelayer-splash-dark, .pagelayer-modal .pagelayer-modal-dark{ background-color:#000000e0; } .pagelayer-modal .pagelayer-modal-light, .pagelayer-splash .pagelayer-splash-light{ background-color:#ffffffe0; } .pagelayer-splash-light .pagelayer-splash-close::after, .pagelayer-splash-light .pagelayer-splash-close::before, .pagelayer-modal-light .pagelayer-modal-close::after, .pagelayer-modal-light .pagelayer-modal-close::before{ background-color:#000000; } .pagelayer-splash-dark .pagelayer-splash-close::after, .pagelayer-splash-dark .pagelayer-splash-close::before, .pagelayer-modal-dark .pagelayer-modal-close::after, .pagelayer-modal-dark .pagelayer-modal-close::before{ background-color:#fff; } .pagelayer-splash-content{ padding:30px; } /* splash style end */ .pagelayer-modal-close{ z-index:999; } /* Style the tab */ .pagelayer-tabs-holder { overflow: hidden; } /* Style the buttons inside the tab */ .pagelayer-tabs-holder .pagelayer-tablinks { background-color: inherit; display:inline-block; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; font-size: 17px; color:#000000; } /* Change background color of buttons on hover */ .pagelayer-tabs-holder .pagelayer-tablinks:hover { background-color: #ddd; } /* Create an active/current tablink class */ .pagelayer-tabs-holder .pagelayer-tablinks.active { background-color: #ccc; } /* Style the tab content */ .pagelayer-tabs .pagelayer-tabcontainer .pagelayer-tab{ display: none; padding: 6px 12px; border-top: none; } .pagelayer-tabs-holder .pagelayer-tablinks .fa{ line-height:1.5; } /* Tabs style end */ /* Divider start */ .pagelayer-divider-holder{ line-height: 0; font-size: 0; } .pagelayer-divider-seperator{ display: inline-block; } /* Divider end */ /* Counter style start*/ .pagelayer-counter{ padding: 20px; } .pagelayer-counter-content{ line-height:1; } /* Counter style end*/ /*Image Slider style start*/ .pagelayer-image-slider-ul{ display:none; padding:0; margin:0; list-style: none; } .pagelayer-image-slider-ul[pagelayer-setup]{ display:block; } /*Image Slider style End*/ /*Google Maps start*/ .pagelayer-google-maps-holder{ line-height:0; } .pagelayer-google-maps-holder iframe{ margin:0px; width:100%; height:100%; } /* accordion style */ .pagelayer-accordion_item{ overflow:hidden; } .pagelayer-accordion-tabs { cursor: pointer; padding: 15px; width: 100%; text-align: left; display:inline-block; text-decoration:none !important; } .pagelayer-accordion-panel { padding: 0 18px; display: none; overflow: hidden; } /* accordion style end */ /* Alert Box style start */ .pagelayer-alert{ position: relative; border: 1px solid transparent; border-radius:5px; padding:15px 20px; } .pagelayer-alert-title{ display:inline-block; } .pagelayer-alert-icon, .pagelayer-alert-title{ vertical-align: middle; } .pagelayer-alert-primary{ color: #004085; background-color: #cce5ff; border-color: #b8daff; } .pagelayer-alert-secondary{ color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; } .pagelayer-alert-success{ color: #155724; background-color: #d4edda; border-color: #c3e6cb; } .pagelayer-alert-info{ color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; } .pagelayer-alert-warning{ color: #856404; background-color: #fff3cd; border-color: #ffeeba; } .pagelayer-alert-danger{ color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .pagelayer-alert-dark{ color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; } .pagelayer-alert-primary-link { color: #002752; } .pagelayer-alert-secondary-link{ color: #202326; } .pagelayer-alert-success-link{ color: #0b2e13; } .pagelayer-alert-danger-link{ color: #491217; } .pagelayer-alert-warning-link{ color: #533f03; } .pagelayer-alert-info-link{ color: #062c33; } .pagelayer-alert-secondary-link{ color: #686868; } .pagelayer-alert-secondary-link{ color: #040505; } .pagelayer-alert-success hr{ background-color: #b1dfbb; } .pagelayer-alert-primary hr{ background-color: #9fcdff; } .pagelayer-alert-secondary hr{ background-color: #c8cbcf; } .pagelayer-alert-info hr{ background-color: #abdde5; } .pagelayer-alert-warning hr{ background-color: #ffe8a1; } .pagelayer-alert-danger hr{ background-color: #f1b0b7; } .pagelayer-alert-dark hr{ background-color: #b9bbbe; } .pagelayer-alert-close { position: absolute; top: 0; right: 0; color: inherit; height: 100%; width:15px; background:rgba(3,3,3,0.1); cursor:pointer; } .pagelayer-alert-close:before, .pagelayer-alert-close:after { position: absolute; left: 7px; content: ' '; height: 13px; width: 1px; background-color: #333; top: calc(50% - 6.5px); } .pagelayer-alert-close:before { transform: rotate(45deg); } .pagelayer-alert-close:after { transform: rotate(-45deg); } /* Alert Box Style Ends */ /* Grid Gallery Style Start */ .pagelayer-grid-gallery-ul{ display:block; list-style:none; padding:0; margin:0; } .pagelayer-gallery-item{ list-style:none; border: none; } .pagelayer-gallery-item img{ height: 100%; width: 100%; object-fit: cover; } .pagelayer-grid-gallery-caption{ display:block; } .pagelayer-grid-gallery-pagination{ text-align:center; } .pagelayer-grid-page-ul{ display: inline-block; list-style-type: none; margin-top:10px; } .pagelayer-grid-page-ul li.active { background-color:#00A0D2; color:white; } .pagelayer-grid-page-item{ color: black; float: left; padding: 8px 16px; text-decoration: none; } .pagelayer-grid-page-ul li:hover:not(.active){ background-color: #ddd; cursor:pointer; } /* Grid Gallery Style Ends */ .pagelayer-heading-holder *, .pagelayer-text-holder *{ padding: 0; margin: 0; overflow-wrap: break-word; } /* animation */ .animated.pagelayer-anim-fast{ -webkit-animation-duration: 0.7s; animation-duration: 0.7s; } .animated.pagelayer-anim-fastest{ -webkit-animation-duration: 0.5s; animation-duration: 0.5s; } .animated.pagelayer-anim-slow{ -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } .animated.pagelayer-anim-slowest{ -webkit-animation-duration: 2s; animation-duration: 2s; } /* animation end */ .pagelayer-parallax-window{ position: absolute; width: 100%; height: 100%; overflow: hidden; top: 0; left: 0; } .pagelayer-parallax-window .simpleParallax{ height:100%; } .pagelayer-parallax-window img{ max-width:unset; } /* WooCommerce widget */ .pagelayer-product-images-container{ display:flow-root; } .pagelayer-add-to-cart-holder, .pagelayer-product-rating{ display:inline-block; } .pagelayer-product-related-container:not([pagelayer-heading-show]) .products > h2, .pagelayer-product-related-container:not([pagelayer-sale-flash]) ul.products li.product span.onsale, .pagelayer-addi-info-container:not([pagelayer-show-heading]) h2 { display:none; } .pagelayer-product-related-container[pagelayer-content-align="right"] ul.products li.product .star-rating{ margin-left: auto; } .pagelayer-product-related-container[pagelayer-content-align="center"] ul.products li.product .star-rating{ margin-left: auto; margin-right: auto; } /*******************/ /* Pagelayer Owl */ .pagelayer-owl-stage-outer [class^="pagelayer-owl-"], .pagelayer-owl-carousel .pagelayer-owl-item > .pagelayer-ele-wrap, .pagelayer-owl-stage-outer{ height: 100%; } .pagelayer-owl-carousel .pagelayer-owl-item{ height: auto; } .pagelayer-owl-prev, .pagelayer-owl-next{ position: absolute; top: 50%; transform: translateY(-50%); } .pagelayer-owl-prev{ left: 0; } .pagelayer-owl-next{ right: 0; } .pagelayer-owl-theme .pagelayer-owl-nav{ margin-top: 0 !important; } .pagelayer-owl-nav span{ position:absolute; transform:translate(-50%, -53%); } .pagelayer-owl-dot{ vertical-align: middle; } /* Pagelayer Owl End */ /* Space Widget */ .pagelayer-space-holder{ height: 10px; } /* Space Widget End */ /* Address and Number */ .pagelayer-phone-holder, .pagelayer-address-holder, .pagelayer-email-holder{ display:flex; } .pagelayer-address-icon, .pagelayer-address, .pagelayer-phone-icon, .pagelayer-phone, .pagelayer-email-icon, .pagelayer-email{ margin-top:auto; margin-bottom:auto; word-break:break-word; } /* Address and Number End */ /****************/ /*** Freemium ***/ /****************/ /*** Breadcrumb ***/ .pagelayer-breadcrumb-section b{ font-weight: 100; } /* Breadcrumb End */ /*** Archive Posts ***/ .pagelayer-posts-container{ display: grid; grid-template-columns: repeat(3,1fr); grid-column-gap: 20px; grid-row-gap: 40px; } .pagelayer-wposts-meta *{ font-size: 12px; } .pagelayer-pagination{ padding: 50px 20px; text-align: center; } .pagelayer-pagination .page-numbers:not(:last-child){ margin-right: 25px; } .pagelayer-pagination a.page-numbers:hover{ color: #36b2d1; } .pagelayer-wposts-thumb{ display:inline-block; position:relative; background-size:cover !important; background-position:center !important; width:100%; } @media all and (max-width:599px){ .pagelayer-posts-container{ grid-template-columns: repeat(1,1fr); } } /*** Archive Posts End ***/ /* WordPress Posts */ .pagelayer-wposts-title{ line-height:1; } .pagelayer-wposts-sep{ font-weight:100; } .pagelayer-wposts-sep:last-child{ display:none; } .pagelayer-wposts-category a:not(:last-child):after, .pagelayer-wposts-tags a:not(:last-child):after{ content:', '; } /* WordPress Posts End*/ /* Copyright start */ .pagelayer-copyright{ text-align: center; color: #111; } .pagelayer-copyright a{ color: #111; } /* Copyright end */ /* Primary Menu */ .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item>a{ display:flex; box-shadow: none; white-space: nowrap; position:relative; } .pagelayer-menu-type-horizontal .sub-menu{ z-index:999; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul, .pagelayer-wp-menu-container .sub-menu{ margin:0px; padding: 0px; } .pagelayer-menu-type-horizontal *{ transition: all 0.5s; } .pagelayer-menu-type-horizontal li.menu-item{ display: inline-block; font-weight: 600; } .pagelayer-menu-type-horizontal li.menu-item>a{ box-shadow: none; border: none; } .pagelayer-menu-type-horizontal .sub-menu{ position:absolute; min-width: 100%; } .pagelayer-menu-type-horizontal .sub-menu .sub-menu{ top:0px; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item{ position:relative; } .pagelayer-wp-menu-container ul li.menu-item span.after-icon{ height: auto; width: 100%; position: relative; pointer-events: auto; line-height:inherit; color: inherit; font-size: inherit; margin-left:10px; padding-left:5px; padding-right:5px; } .pagelayer-wp-menu-container:not([data-align="left"]) .pagelayer-wp_menu-ul span.after-icon{ width:auto; } .pagelayer-wp-menu-container[data-align="right"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: flex-end;} .pagelayer-wp-menu-container[data-align="left"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: left;} .pagelayer-wp-menu-container[data-align="center"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: center;} .pagelayer-wp-menu-container ul li.menu-item span.after-icon:before{ position:absolute; right:0; } .pagelayer-wp-menu-container .sub-menu, .pagelayer-primary-menu-bar{ display:none; } .pagelayer-menu-type-horizontal .sub-menu li.menu-item{ display:block; } .pagelayer-primary-menu-bar i{ padding:5px; } .pagelayer-menu-type-vertical li.menu-item{ list-style: none; } .pagelayer-menu-type-vertical li.menu-item:not(:last-child) > a{ margin-bottom: 6px !important; box-shadow: none; border: none; } .pagelayer-menu-type-vertical .pagelayer-wp_menu-ul>li>ul.sub-menu{ margin-left:0px; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-primary-menu-bar, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-primary-menu-bar{ display:block; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-wp_menu-ul, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-wp_menu-ul{ display:none; } .pagelayer-menu-hover-underline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline:not(.none) .pagelayer-wp_menu-ul>li>a:before{ position: absolute; content: ''; left: 0px; bottom: 0px; height: 3px; width: 0px; background-color: #2154CF; transition: all 500ms ease; -moz-transition: all 500ms ease; -webkit-transition: all 500ms ease; -ms-transition: all 500ms ease; -o-transition: all 500ms ease; border-width:0px; } .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:after{ left:unset; right:0; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:before{ background-color:unset !important; height:100% !important; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before{ border:3px solid #2154CF; } .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:before{ top:0; bottom:unset; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:-5px; } .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:5px; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:hover:before{ bottom:0px; } .pagelayer-menu-hover-underline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.grow .pagelayer-wp_menu-ul>li>a:before{ width:100%; transform:scale(0); } .pagelayer-menu-hover-underline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.fade .pagelayer-wp_menu-ul>li>a:before{ width:100%; transition-duration:1000ms; opacity:0; } .pagelayer-menu-hover-underline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:hover:before{ transform:scale(1); opacity:1; width:100%; } .pagelayer-menu-hover-text .pagelayer-wp_menu-ul>li>a:hover{ transform:scale(1.2); } .pagelayer-wp_menu .sub-menu, .pagelayer-menu-type-dropdown{ z-index:999; } .pagelayer-menu-type-dropdown{ position:absolute; } .pagelayer-togglt-on .pagelayer-wp_menu-ul, .pagelayer-active-sub-menu:not(.pagelayer-mega-menu-item) > ul.sub-menu, .pagelayer-menu-type-horizontal .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu, .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu{ display:block !important; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ position: fixed; z-index: 999; height: 100%; top: 0; transition: all 0.4s; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right{ right: -100%; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left{ left:-100%; } .pagelayer-wp_menu-left.pagelayer-togglt-on{ left:0; } .pagelayer-wp_menu-right.pagelayer-togglt-on{ right:0; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ left:0; right:0; top:-100%; } .pagelayer-wp_menu-full.pagelayer-togglt-on{ top:0; } .pagelayer-wp_menu-close{ cursor:pointer; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-close{ display:block; } .pagelayer-wp_menu-close, .pagelayer-wp_menu-down .pagelayer-wp_menu-close{ display:none; } .pagelayer-wp_menu-close i{ position:absolute; z-index:99; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full .pagelayer-wp_menu-ul{ position:absolute; width:100%; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul li.menu-item > a{ white-space:normal !important; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul{ height:100%; max-height: -webkit-fill-available; overflow-y: scroll; -webkit-overflow-scrolling: touch; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar { width:4px; height:4px; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-track { background-color: transparent; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-thumb { box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius:10px; } /* Mega menu css start */ .pagelayer-wp_menu-ul .pagelayer-mega-menu{ transition: none; position: absolute; max-width: 100vw; z-index: 999; padding: 10px; background: #fff; color: #000; display: none; border-radius: 2px; left: 0; text-align: initial; overflow-y: auto; } .pagelayer-wp_menu .pagelayer-menu-type-vertical .pagelayer-mega-menu-item, .pagelayer-wp-menu-container:not(.pagelayer-menu-type-horizontal) .menu-item > .pagelayer-mega-menu{ position: relative; width: 100%; } .pagelayer-wp_menu-ul .pagelayer-mega-menu *{ transition: none; } /* To avoid row widget full width feature */ .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-wrap-inner-row, .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-inner_row{ max-width: 100% !important; left: auto !important; } .pagelayer-wp_menu-ul .pagelayer-set-position{ display: block !important; visibility: hidden !important; opacity: 0 !important; } .pagelayer-active-sub-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, .pagelayer-active-mega-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-horizontal .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu{ display: block !important; } @keyframes pagelayer-submenu-fade{0%{opacity:0}75%{opacity:1}} @keyframes pagelayer-submenu-pulse{50%{transform: scale3d(1.04, 1.04, 1.04);}100%{transform: scale3d(1, 1, 1);}} @keyframes pagelayer-submenu-fadeindown{0%{opacity: 0; transform: translate3d(0, -10px, 0); }100%{ opacity: 1; transform: none; }} @keyframes pagelayer-submenu-fadeinup{0%{opacity: 0;transform: translate3d(0, 20px, 0);}100%{opacity: 1;transform: none;}} @keyframes pagelayer-submenu-slideindown{0%{transform: translate3d(0, -10px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-slideinup{0%{transform: translate3d(0, 20px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-zoomin{0%{opacity: 0;transform: scale3d(.5, .5, .5);}50%{opacity: 1;}} @keyframes pagelayer-submenu-flip{ 0%{ transform: perspective(400px) rotate3d(1, 0, 0,90deg); animation-timing-function: ease-in; opacity: 0; }40%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); animation-timing-function: ease-in; }60%{ transform: perspective(400px) rotate3d(1, 0, 0, 5deg); opacity: 1; }80%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }100% { transform: perspective(400px); } } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-right .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-right .sub-menu{ position: absolute; left: 100%; top: 0; right: auto; } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-left .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-left .sub-menu{ position: absolute; right: 100%; top: 0; left: auto; } .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .pagelayer-mega-menu, .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .sub-menu{ width:100% !important; } .pagelayer-menu-icon{ align-self: center; text-align: center; margin: 0 5px 0 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon{ margin: 0 0 0 5px; order:1; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ .pagelayer-nav-menu-title{ order: 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ :not(.pagelayer-nav-menu-title, .pagelayer-menu-icon){ order: 2; } .pagelayer-menu-highlight{ font-size: 0.7em; margin-left: 5px; padding: 3px 6px; border-radius: 2px; } /* Mega menu css ends */ /* Column Menu css*/ .pagelayer-mega-column-item > .sub-menu{ columns: 2; } .pagelayer-mega-column-item .sub-menu .sub-menu .pagelayer-nav-menu-title{ font-size: 0.85em; } .pagelayer-mega-column-item .sub-menu .sub-menu{ display: block; position: static; } .pagelayer-mega-column-item .sub-menu li.menu-item{ break-inside: avoid; } .pagelayer-mega-column-item ul.sub-menu span.after-icon{ display: none; } /* Primary Menu End */ /* Contact Form start */ .pagelayer-contact-form-note{ margin-bottom:10px; } .pagelayer-contact_item input, .pagelayer-contact_item textarea, .pagelayer-contact_item select{ width:100%; outline:none; } .pagelayer-contact_item textarea{ height:auto; } .pagelayer-contact-holder input[type="checkbox"] { visibility: hidden; display: contents; } .pagelayer-contact-holder label { cursor: pointer; display: block; } .pagelayer-contact-holder input[type="checkbox"] + label:before { border: 1px solid #333; content: "\00a0"; display: inline-block; font: 16px/1em sans-serif; margin-right: 0.25em; padding: 0; vertical-align: middle; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:before { content: "\2713"; text-align: center; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:after { font-weight: bold; } .pagelayer-contact-holder input[type="checkbox"]:focus + label::before { outline: rgb(59, 153, 252) auto 5px; } .pagelayer-contact-holder input[type='radio'] { -webkit-appearance:none; border-radius:50%; outline:none; vertical-align: middle; box-shadow:0 0 5px 0px gray inset; padding: 0 !important; } .pagelayer-contact-holder input[type="radio"]:checked:before { background: #333333; } .pagelayer-contact-holder input[type='radio']:hover { box-shadow:0 0 5px 0px orange inset; } .pagelayer-contact-holder input[type='radio']:before { content:''; display:block; width:60%; height:60%; margin: 20% auto; border-radius:50%; } .pagelayer-contact-submit-btn{ cursor:pointer; } .pagelayer-cf-msg-suc,.pagelayer-cf-msg-err{ padding: 10px; padding: 10px; margin: 10px 0px; background: #a4f4ad; border: 1px solid #6fc16f; border-radius: 4px; } .pagelayer-cf-msg-err{ background: #f9dacb; border: 1px solid #ff746e; } /* Contact Form End */ /*** Post Excerpt ***/ .pagelayer-empty-widget{ height:30px; width:100%; background-color: #dedddd; text-align:center; } .pagelayer-empty-widget:after { font-family: "FontAwesome" , "Font Awesome 5 Free"; font-weight: 900; } .pagelayer-post-excerpt.pagelayer-empty-widget:after{ content: '\f15c'; } .pagelayer-featured-img.pagelayer-empty-widget:after{ content: '\f03e'; } /*** Post Excerpt End ***/ /* Post info*/ .pagelayer-post-info-vertical > div{ display:inline-block; } /* Post info end*/ /* Post Nav */ .pagelayer-post-nav-container{ display: flex; align-items: center; } .pagelayer-prev-post a, .pagelayer-next-post a{ display: inline-flex; align-items: center; } .pagelayer-next-post a .pagelayer-post-nav-icon{ padding-left:12px; } .pagelayer-prev-post a .pagelayer-post-nav-icon{ padding-right:12px; } .pagelayer-next-post{ text-align:right; } .pagelayer-prev-post a:hover, .pagelayer-next-post a:hover{ text-decoration:none; } .pagelayer-prev-post, .pagelayer-next-post{ width: calc(50% - 1px); } .pagelayer-post-nav-container .pagelayer-prev-holder, .pagelayer-post-nav-container .pagelayer-next-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .pagelayer-post-nav-separator{ align-self: stretch; } /* Post Nav end */ /*Flipbox css start*/ .pagelayer-flipbox-container{ margin:0 auto; } .pagelayer-flipbox-flipper{ position: relative; height: 300px; perspective: 1000px; -webkit-perspective: 1000px; transform-style: preserve-3d; -webkit-transform-style: preserve-3d; } .pagelayer-flipbox-front{ background-color: #bc1a1a; border-radius: inherit; } .pagelayer-flipbox-back{ background-color: #f9e73f; display: block; border-radius: inherit; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front, .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity:1; } .pagelayer-flipbox-box{ position: absolute; width: 100%; height: 100%; transition: all .8s ease-in-out; -webkit-transition: all .8s ease-in-out; } .pagelayer-flipbox-box-overlay{ display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; width: 100%; height: 100%; align-items: stretch; -webkit-align-items: stretch; -webkit-box-align: stretch; flex-direction: column; -webkit-flex-direction: column; -webkit-box-direction: normal; text-align: center; justify-content: center; -webkit-justify-content: center; padding: 35px; -webkit-box-orient: vertical; -webkit-box-pack: center; } .pagelayer-flipbox-3d .pagelayer-flipbox-box-inner{ transform: translateZ(90px) scale(.91); -webkit-transform: translateZ(90px) scale(.91); } .pagelayer-flipbox-3d .pagelayer-flipbox-box-overlay{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform: translateZ(.1px); -webkit-transform: translateZ(.1px); } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; perspective: 1000px; -webkit-perspective: 1000px; } .pagelayer-flipbox-flip .pagelayer-flipbox-box{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; backface-visibility: hidden; -webkit-backface-visibility: hidden; } .pagelayer-flipbox-flip .pagelayer-flipbox-front{ -webkit-transform: none; -ms-transform: none; transform: none; z-index: 1 } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(180deg); -webkit-transform: rotateX(0) rotateY(180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(180deg) rotateY(0); -webkit-transform: rotateX(180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-push .pagelayer-flipbox-flipper, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper{ overflow:hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-front{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform:translateX(100%) translateY(0); -webkit-transform:translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push .pagelayer-flipbox, .pagelayer-flipbox-slide .pagelayer-flipbox{ overflow: hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-left .pagelayer-flipbox-back{ transform: translateX(100%) translateY(0); -webkit-transform: translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-down .pagelayer-flipbox-back{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper .pagelayer-flipbox-front{ transition: opacity .45s, width .1ms, -webkit-transform .8s; -webkit-transition: opacity .45s, width .1ms, -webkit-transform .8s; transition: transform .8s, opacity .45s, width .1ms; transition: transform .8s, opacity .45s, width .1ms, -webkit-transform .8s; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); z-index: 1; width: 100% } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ width: 0; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; -webkit-transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s, -webkit-transform .8s } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ -webkit-transition: opacity .5s .2s, -webkit-transform .7s; transition: opacity .5s .2s, -webkit-transform .7s; transition: transform .7s, opacity .5s .2s; transition: transform .7s, opacity .5s .2s, -webkit-transform .7s; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ -webkit-transition: opacity .5s, -webkit-transform .7s; transition: opacity .5s, -webkit-transform .7s; transition: transform .7s, opacity .5s; transition: transform .7s, opacity .5s, -webkit-transform .7s; opacity: 1; transform: scale(1); -webkit-transform: scale(1); } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0 } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity: 1 } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-front{ display: none } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; opacity: 1; } .pagelayer-flipbox-image{ width: 100%; margin: 0 auto; object-fit: cover; } .pagelayer-flipbox-image img{ width: 50%; object-fit: cover; -o-object-fit: cover; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-front{ display:none; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(0deg) !important; -webkit-transform: rotateX(0) rotateY(0deg) !important; opacity: 1 !important; } .pagelayer-flipbox-back .pagelayer-service-btn.pagelayer-btn-link{ background-color:transparent; } /*Flipbox End*/ /* Animated Heading */ .pagelayer-aheading-holder { display: inline-block; position:relative; } .pagelayer-animated-heading{ margin: 0; padding: 0; line-height: 1.4; -webkit-background-clip: text; } [class*="pagelayer-blobs"]{ display:block; position:absolute; mix-blend-mode:color; animation:pagelayer-blobs 10s ease-in-out infinite alternate; } .pagelayer-blobs_1{ width: 9%; height: 47%; top: 12%; left: 4%; } .pagelayer-blobs_2{ width: 10%; height: 50%; top: 60%; left: 34%; } .pagelayer-blobs_3{ width: 20%; height: 46%; top: 10%; left: 20%; } .pagelayer-blobs_4{ width: 30%; height: 40%; top: 30%; left: 70%; } .pagelayer-blobs_5{ width: 12%; height: 40%; top: 61%; left: 12%; } .pagelayer-blobs_6{ width: 25%; height: 45%; top: 5%; left: 45%; } .pagelayer-blobs_7{ width: 32%; height: 45%; top: 67%; left: 46%; } .pagelayer-hEffect-none [class*="pagelayer-blobs"]{ display: none; } @keyframes pagelayer-blobs{ 0%{border-radius:26% 74% 61% 39% / 54% 67% 33% 46%} 10%{border-radius:74% 26% 47% 53% / 68% 46% 54% 32%} 20%{border-radius:48% 52% 30% 70% / 27% 37% 63% 73%} 30%{border-radius:73% 27% 57% 43% / 28% 67% 33% 72%} 40%{border-radius:63% 37% 56% 44% / 25% 28% 72% 75%} 50%{border-radius:39% 61% 70% 30% / 61% 29% 71% 39%} 60%{border-radius:27% 73% 29% 71% / 73% 51% 49% 27%} 70%{border-radius:39% 61% 65% 35% / 74% 65% 35% 26%} 80%{border-radius:55% 45% 37% 63% / 38% 30% 70% 62%} 90%{border-radius:25% 75% 70% 30% / 39% 50% 50% 61%} 100%{border-radius:66% 34% 33% 67% / 65% 73% 27% 35%} } .pagelayer-hEffect-blobs, .pagelayer-hEffect-none, .pagelayer-heading-rotating{ -webkit-text-fill-color: transparent; } .pagelayer-heading-rotating .pagelayer-animated-heading{ display: inline; } .pagelayer-words-wrapper { display: inline-block; position: relative; text-align: left; } .pagelayer-words-wrapper span { display: inline-block; position: absolute; white-space: nowrap; left: 0; top: 0; } .pagelayer-words-wrapper span.pagelayer-is-visible { position: relative; } /*** xrotate-1 ***/ .pagelayer-aheading-rotate1 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate1 span { opacity: 0; -webkit-transform-origin: 50% 100%; -moz-transform-origin: 50% 100%; -ms-transform-origin: 50% 100%; -o-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); } .pagelayer-aheading-rotate1 span.pagelayer-is-visible { opacity: 1; -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); -webkit-animation: pagelayer-rotate-1-in 1.2s; -moz-animation: pagelayer-rotate-1-in 1.2s; animation: pagelayer-rotate-1-in 1.2s; } .pagelayer-aheading-rotate1 span.pagelayer-is-hidden { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); -webkit-animation: pagelayer-rotate-1-out 1.2s; -moz-animation: pagelayer-rotate-1-out 1.2s; animation: pagelayer-rotate-1-out 1.2s; } @-webkit-keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); opacity: 1; } } @-moz-keyframes pagelayer-rotate-1-in { 0% { -moz-transform: rotateX(180deg); opacity: 0; } 35% { -moz-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(360deg); opacity: 1; } } @keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); -moz-transform: rotateX(120deg); -ms-transform: rotateX(120deg); -o-transform: rotateX(120deg); transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); -moz-transform: rotateX(360deg); -ms-transform: rotateX(360deg); -o-transform: rotateX(360deg); transform: rotateX(360deg); opacity: 1; } } @-webkit-keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); opacity: 0; } } @-moz-keyframes pagelayer-rotate-1-out { 0% { -moz-transform: rotateX(0deg); opacity: 1; } 35% { -moz-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(180deg); opacity: 0; } } @keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); -moz-transform: rotateX(-40deg); -ms-transform: rotateX(-40deg); -o-transform: rotateX(-40deg); transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } } /*** xrotate-2 ***/ .pagelayer-aheading-rotate2 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate2 strong, .pagelayer-aheading-rotate2 b { display: inline-block; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-aheading-rotate2 span { opacity: 0; } .pagelayer-aheading-rotate2 strong { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); opacity: 0; } .pagelayer-is-visible .pagelayer-aheading-rotate2 strong { opacity: 1; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-2-in 0.4s forwards; -moz-animation: pagelayer-rotate-2-in 0.4s forwards; animation: pagelayer-rotate-2-in 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-2-out 0.4s forwards; -moz-animation: pagelayer-rotate-2-out 0.4s forwards; animation: pagelayer-rotate-2-out 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 b { -webkit-transform: translateZ(20px); -moz-transform: translateZ(20px); -ms-transform: translateZ(20px); -o-transform: translateZ(20px); transform: translateZ(20px); -webkit-text-fill-color: transparent; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong b { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); } } @-moz-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0deg); } } @keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); -moz-transform: translateZ(-20px) rotateX(-10deg); -ms-transform: translateZ(-20px) rotateX(-10deg); -o-transform: translateZ(-20px) rotateX(-10deg); transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); -moz-transform: translateZ(-20px) rotateX(0deg); -ms-transform: translateZ(-20px) rotateX(0deg); -o-transform: translateZ(-20px) rotateX(0deg); transform: translateZ(-20px) rotateX(0deg); } } @-webkit-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); } } @-moz-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-90deg); } } @keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); -moz-transform: translateZ(-20px) rotateX(0); -ms-transform: translateZ(-20px) rotateX(0); -o-transform: translateZ(-20px) rotateX(0); transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); -moz-transform: translateZ(-20px) rotateX(-100deg); -ms-transform: translateZ(-20px) rotateX(-100deg); -o-transform: translateZ(-20px) rotateX(-100deg); transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); -moz-transform: translateZ(-20px) rotateX(-90deg); -ms-transform: translateZ(-20px) rotateX(-90deg); -o-transform: translateZ(-20px) rotateX(-90deg); transform: translateZ(-20px) rotateX(-90deg); } } /*** xloading-bar ***/ .pagelayer-aheading-loading-bar .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper:after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: #0096a7; z-index: 2; -webkit-transition: width 0.3s -0.1s; -moz-transition: width 0.3s -0.1s; transition: width 0.3s -0.1s; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper.pagelayer-is-loading:after { width: 100%; -webkit-transition: width 3s; -moz-transition: width 3s; transition: width 3s; } .pagelayer-aheading-loading-bar span{ top: .2em; opacity: 0; -webkit-transition: opacity 0.3s; -moz-transition: opacity 0.3s; transition: opacity 0.3s; } .pagelayer-aheading-loading-bar span.pagelayer-is-visible { opacity: 1; top: 0; } /*** xslide ***/ .pagelayer-aheading-slide .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-slide span { opacity: 0; top: .2em; } .pagelayer-aheading-slide span.pagelayer-is-visible { top: 0; opacity: 1; -webkit-animation: pagelayer-slide-in 0.6s; -moz-animation: pagelayer-slide-in 0.6s; animation: pagelayer-slide-in 0.6s; } .pagelayer-aheading-slide span.pagelayer-is-hidden { -webkit-animation: pagelayer-slide-out 0.6s; -moz-animation: pagelayer-slide-out 0.6s; animation: pagelayer-slide-out 0.6s; } @-webkit-keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); } } @-moz-keyframes pagelayer-slide-in { 0% { opacity: 0; -moz-transform: translateY(-100%); } 60% { opacity: 1; -moz-transform: translateY(20%); } 100% { opacity: 1; -moz-transform: translateY(0); } } @keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); -moz-transform: translateY(20%); -ms-transform: translateY(20%); -o-transform: translateY(20%); transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); } } @-moz-keyframes pagelayer-slide-out { 0% { opacity: 1; -moz-transform: translateY(0); } 60% { opacity: 0; -moz-transform: translateY(120%); } 100% { opacity: 0; -moz-transform: translateY(100%); } } @keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); -moz-transform: translateY(120%); -ms-transform: translateY(120%); -o-transform: translateY(120%); transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); -moz-transform: translateY(100%); -ms-transform: translateY(100%); -o-transform: translateY(100%); transform: translateY(100%); } } /*** xclip ***/ .pagelayer-aheading-clip .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-clip .pagelayer-words-wrapper:after { /* line */ content: ''; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background-color: #aebcb9; } .pagelayer-aheading-clip span { opacity: 0; } .pagelayer-aheading-clip span.pagelayer-is-visible { opacity: 1; } /*** xzoom ***/ .pagelayer-aheading-zoom .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-zoom span{ opacity: 0; } .pagelayer-aheading-zoom span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-zoom-in 0.8s; -moz-animation: pagelayer-zoom-in 0.8s; animation: pagelayer-zoom-in 0.8s; } .pagelayer-aheading-zoom span.pagelayer-is-hidden { -webkit-animation: pagelayer-zoom-out 0.8s; -moz-animation: pagelayer-zoom-out 0.8s; animation: pagelayer-zoom-out 0.8s; } @-webkit-keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); } } @-moz-keyframes pagelayer-zoom-in { 0% { opacity: 0; -moz-transform: translateZ(100px); } 100% { opacity: 1; -moz-transform: translateZ(0); } } @keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } } @-webkit-keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); } } @-moz-keyframes pagelayer-zoom-out { 0% { opacity: 1; -moz-transform: translateZ(0); } 100% { opacity: 0; -moz-transform: translateZ(-100px); } } @keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); -moz-transform: translateZ(-100px); -ms-transform: translateZ(-100px); -o-transform: translateZ(-100px); transform: translateZ(-100px); } } /*** xrotate-3 ***/ .pagelayer-aheading-rotate3 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate3 span { opacity: 0; } .pagelayer-aheading-rotate3 strong { display: inline-block; -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-is-visible .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-3-in 0.6s forwards; -moz-animation: pagelayer-rotate-3-in 0.6s forwards; animation: pagelayer-rotate-3-in 0.6s forwards; } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-3-out 0.6s forwards; -moz-animation: pagelayer-rotate-3-out 0.6s forwards; animation: pagelayer-rotate-3-out 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); } } @-moz-keyframes pagelayer-rotate-3-in { 0% { -moz-transform: rotateY(180deg); } 100% { -moz-transform: rotateY(0deg); } } @keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } } @-webkit-keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); } } @-moz-keyframes pagelayer-rotate-3-out { 0% { -moz-transform: rotateY(0); } 100% { -moz-transform: rotateY(-180deg); } } @keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); -moz-transform: rotateY(0); -ms-transform: rotateY(0); -o-transform: rotateY(0); transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -ms-transform: rotateY(-180deg); -o-transform: rotateY(-180deg); transform: rotateY(-180deg); } } /*** xscale ***/ .pagelayer-aheading-scale span { opacity: 0; } .pagelayer-aheading-scale strong { display: inline-block; opacity: 0; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); } .pagelayer-is-visible .pagelayer-aheading-scale strong { opacity: 1; } .pagelayer-aheading-scale strong.pagelayer-aheading-in { -webkit-animation: pagelayer-scale-up 0.6s forwards; -moz-animation: pagelayer-scale-up 0.6s forwards; animation: pagelayer-scale-up 0.6s forwards; } .pagelayer-aheading-scale strong.pagelayer-aheading-out { -webkit-animation: pagelayer-scale-down 0.6s forwards; -moz-animation: pagelayer-scale-down 0.6s forwards; animation: pagelayer-scale-down 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-scale strong { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-scale .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); opacity: 1; } } @-moz-keyframes pagelayer-scale-up { 0% { -moz-transform: scale(0); opacity: 0; } 60% { -moz-transform: scale(1.2); opacity: 1; } 100% { -moz-transform: scale(1); opacity: 1; } } @keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } } @-webkit-keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); opacity: 0; } } @-moz-keyframes pagelayer-scale-down { 0% { -moz-transform: scale(1); opacity: 1; } 60% { -moz-transform: scale(0); opacity: 0; } } @keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } } /*** xpush ***/ .pagelayer-aheading-push span { opacity: 0; } .pagelayer-aheading-push span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-push-in 0.6s; -moz-animation: pagelayer-push-in 0.6s; animation: pagelayer-push-in 0.6s; } .pagelayer-aheading-push span.pagelayer-is-hidden { -webkit-animation: pagelayer-push-out 0.6s; -moz-animation: pagelayer-push-out 0.6s; animation: pagelayer-push-out 0.6s; } @-webkit-keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); } } @-moz-keyframes pagelayer-push-in { 0% { opacity: 0; -moz-transform: translateX(-100%); } 60% { opacity: 1; -moz-transform: translateX(10%); } 100% { opacity: 1; -moz-transform: translateX(0); } } @keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); -o-transform: translateX(10%); transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); } } @-moz-keyframes pagelayer-push-out { 0% { opacity: 1; -moz-transform: translateX(0); } 60% { opacity: 0; -moz-transform: translateX(110%); } 100% { opacity: 0; -moz-transform: translateX(100%); } } @keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); -moz-transform: translateX(110%); -ms-transform: translateX(110%); -o-transform: translateX(110%); transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transform: translateX(100%); } } /* Animated Heading End */ /* Page Break Start */ .pagelayer-page-links{ text-align: center; margin-top: 50px; } .pagelayer-page-links .post-page-numbers { padding: 0; margin: 0 0 .3em .3em; border: 1px solid; color: #000; background: 0 0; font-size: .8em; width: 2.5em; height: 2.5em; line-height: calc(2.5em - 4px); display: inline-block; text-align: center; transition: all .2s linear; } .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-featured{ width: 48%; float: left; } .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-featured{ width: 48%; float: right; } .pagelayer-arc-layout-left .pagelayer-wposts-thumb, .pagelayer-arc-layout-right .pagelayer-wposts-thumb, .pagelayer-arc-layout-alt .pagelayer-wposts-thumb{ display: block; } .pagelayer-wposts-thumb, .pagelayer-wposts-featured, .pagelayer-wposts-col{ overflow: hidden; } .pagelayer-loader-holder{ width: auto; height: auto; display: none; } .pagelayer-post-max, .pagelayer-infinite-scroll-auto ~ .pagelayer_load_button .pagelayer-btn-load{ display: none; } /* Page Break End */ /********************/ /*** Freemium End ***/ /********************/ /*! * Nivo Lightbox v1.3.1 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-overlay { position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 100%; overflow: hidden; visibility: hidden; opacity: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .nivo-lightbox-overlay.nivo-lightbox-open { visibility: visible; opacity: 1; } .nivo-lightbox-wrap { position: absolute; top: 10%; bottom: 10%; left: 10%; right: 10%; } .nivo-lightbox-content { width: 100%; height: 100%; } .nivo-lightbox-title-wrap { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 99999; text-align: center; } .nivo-lightbox-nav { display: none; } .nivo-lightbox-prev { position: absolute; top: 50%; left: 0; } .nivo-lightbox-next { position: absolute; top: 50%; right: 0; } .nivo-lightbox-close { position: absolute; top: 2%; right: 2%; } .nivo-lightbox-image { text-align: center; } .nivo-lightbox-image img { max-width: 100%; max-height: 100%; width: auto; height: auto; vertical-align: middle; display: inline-block; } .nivo-lightbox-content iframe { width: 100%; height: 100%; } .nivo-lightbox-inline, .nivo-lightbox-ajax { max-height: 100%; overflow: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */ } .nivo-lightbox-error { display: table; text-align: center; width: 100%; height: 100%; color: #fff; text-shadow: 0 1px 1px #000; } .nivo-lightbox-error p { display: table-cell; vertical-align: middle; } /* Effects **********************************************/ .nivo-lightbox-notouch .nivo-lightbox-effect-fade, .nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale, .nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft, .nivo-lightbox-notouch .nivo-lightbox-effect-slideRight, .nivo-lightbox-notouch .nivo-lightbox-effect-slideUp, .nivo-lightbox-notouch .nivo-lightbox-effect-slideDown, .nivo-lightbox-notouch .nivo-lightbox-effect-fall { -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } /* fadeScale */ .nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap { -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); } .nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } /* slideLeft / slideRight / slideUp / slideDown */ .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap, .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); } .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap { -webkit-transform: translateX(-10%); -moz-transform: translateX(-10%); -ms-transform: translateX(-10%); transform: translateX(-10%); } .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap { -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); transform: translateX(10%); } .nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transform: translateY(-10%); -moz-transform: translateY(-10%); -ms-transform: translateY(-10%); transform: translateY(-10%); } .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap { -webkit-transform: translateY(10%); -moz-transform: translateY(10%); -ms-transform: translateY(10%); transform: translateY(10%); } .nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } /* fall */ .nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall { -webkit-perspective: 1000px; -moz-perspective: 1000px; perspective: 1000px; } .nivo-lightbox-effect-fall .nivo-lightbox-wrap { -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; -webkit-transform: translateZ(300px); -moz-transform: translateZ(300px); -ms-transform: translateZ(300px); transform: translateZ(300px); } .nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); } /* * Nivo Lightbox Default Theme v1.0 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-theme-default.nivo-lightbox-overlay { background: #666; background: rgba(0,0,0,0.6); } .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background: url(../images/nivo-icons/loading.gif) no-repeat 50% 50%; } .nivo-lightbox-theme-default .nivo-lightbox-nav { top: 10%; width: 8%; height: 80%; text-indent: -9999px; background-repeat: no-repeat; background-position: 50% 50%; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-nav:hover { opacity: 1; background-color: rgba(0,0,0,0.5); } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev.png); border-radius: 0 3px 3px 0; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next.png); border-radius: 3px 0 0 3px; } .nivo-lightbox-theme-default .nivo-lightbox-close { display: block; background: url(../images/nivo-icons/close.png) no-repeat; width: 48px; height: 48px; text-indent: -9999px; padding: 5px; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-close:hover { opacity: 1; } .nivo-lightbox-theme-default .nivo-lightbox-title-wrap { bottom: -7%; } .nivo-lightbox-theme-default .nivo-lightbox-title { font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; background: #000; color: #fff; padding: 7px 15px; border-radius: 30px; } .nivo-lightbox-theme-default .nivo-lightbox-image img { background: #fff; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } .nivo-lightbox-theme-default .nivo-lightbox-ajax, .nivo-lightbox-theme-default .nivo-lightbox-inline { background: #fff; padding: 40px; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } @media (-webkit-min-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) { .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background-image: url(../images/nivo-icons/loading@2x.gif); -webkit-background-size: 32px 32px; background-size: 32px 32px; } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-close { background-image: url(../images/nivo-icons/close@2x.png); -webkit-background-size: 16px 16px; background-size: 16px 16px; } } @charset "UTF-8"; /*! * animate.css -http://daneden.me/animate * Version - 3.7.0 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2018 Daniel Eden */ @-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;-webkit-transform-origin:center bottom;animation-name:bounce;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-name:headShake;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-animation-name:swing;-webkit-transform-origin:top center;animation-name:swing;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;-webkit-transform-origin:center;animation-name:jello;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-duration:1.3s;animation-name:heartBeat;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;-webkit-animation-name:bounceIn;animation-duration:.75s;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;-webkit-animation-name:bounceOut;animation-duration:.75s;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animated.flip{-webkit-animation-name:flip;-webkit-backface-visibility:visible;animation-name:flip;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-animation-name:flipInX;-webkit-backface-visibility:visible!important;animation-name:flipInX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-animation-name:flipInY;-webkit-backface-visibility:visible!important;animation-name:flipInY;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutY;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutY;backface-visibility:visible!important}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-name:lightSpeedIn;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}@keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}.hinge{-webkit-animation-duration:2s;-webkit-animation-name:hinge;animation-duration:2s;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}@keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;-webkit-animation-fill-mode:both;animation-duration:1s;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion),(print){.animated{-webkit-animation:unset!important;-webkit-transition:none!important;animation:unset!important;transition:none!important}} /** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-carousel,.pagelayer-owl-carousel .pagelayer-owl-item{-webkit-tap-highlight-color:transparent;position:relative}.pagelayer-owl-carousel{display:none;width:100%;z-index:1}.pagelayer-owl-carousel .pagelayer-owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.pagelayer-owl-carousel .pagelayer-owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.pagelayer-owl-carousel .pagelayer-owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item,.pagelayer-owl-carousel .pagelayer-owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.pagelayer-owl-carousel .pagelayer-owl-item img{display:block;width:100%}.pagelayer-owl-carousel .pagelayer-owl-dots.disabled,.pagelayer-owl-carousel .pagelayer-owl-nav.disabled{display:none}.no-js .pagelayer-owl-carousel,.pagelayer-owl-carousel.pagelayer-owl-loaded{display:block}.pagelayer-owl-carousel .pagelayer-owl-dot,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-prev,.pagelayer-owl-carousel button.pagelayer-owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.pagelayer-owl-carousel.pagelayer-owl-loading{opacity:0;display:block}.pagelayer-owl-carousel.pagelayer-owl-hidden{opacity:0}.pagelayer-owl-carousel.pagelayer-owl-refresh .pagelayer-owl-item{visibility:hidden}.pagelayer-owl-carousel.pagelayer-owl-drag .pagelayer-owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel.pagelayer-owl-grab{cursor:move;cursor:grab}.pagelayer-owl-carousel.pagelayer-owl-rtl{direction:rtl}.pagelayer-owl-carousel.pagelayer-owl-rtl .pagelayer-owl-item{float:right}.pagelayer-owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.pagelayer-owl-carousel .pagelayer-owl-animated-in{z-index:0}.pagelayer-owl-carousel .pagelayer-owl-animated-out{z-index:1}.pagelayer-owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.pagelayer-owl-height{transition:height .5s ease-in-out}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy{opacity:0;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy:not([src]),.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy[src^=""]{max-height:0}.pagelayer-owl-carousel .pagelayer-owl-item img.pagelayer-owl-lazy{transform-style:preserve-3d}.pagelayer-owl-carousel .pagelayer-owl-video-wrapper{position:relative;height:100%;background:#000}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-play-icon,.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-tn{display:none}.pagelayer-owl-carousel .pagelayer-owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-video-frame{position:relative;z-index:1;height:100%;width:100%} /** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-theme .pagelayer-owl-dots,.pagelayer-owl-theme .pagelayer-owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.pagelayer-owl-theme .pagelayer-owl-nav{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.pagelayer-owl-theme .pagelayer-owl-nav .disabled{opacity:.5;cursor:default}.pagelayer-owl-theme .pagelayer-owl-nav.disabled+.pagelayer-owl-dots{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot{display:inline-block;zoom:1}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot.active span,.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot:hover span{background:#869791} /*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-left,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-up,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-bell-o,.fa.fa-bell-slash-o,.fa.fa-bookmark-o,.fa.fa-building-o,.fa.fa-calendar-check-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-o,.fa.fa-calendar-plus-o,.fa.fa-calendar-times-o,.fa.fa-caret-square-o-down,.fa.fa-caret-square-o-left,.fa.fa-caret-square-o-right,.fa.fa-caret-square-o-up,.fa.fa-cc,.fa.fa-check-circle-o,.fa.fa-check-square-o,.fa.fa-circle-o,.fa.fa-circle-thin,.fa.fa-clipboard,.fa.fa-clock-o,.fa.fa-clone,.fa.fa-comment-o,.fa.fa-commenting-o,.fa.fa-comments-o,.fa.fa-compass,.fa.fa-copyright,.fa.fa-credit-card,.fa.fa-diamond,.fa.fa-dot-circle-o,.fa.fa-drivers-license-o,.fa.fa-envelope-o,.fa.fa-envelope-open-o,.fa.fa-eye,.fa.fa-eye-slash,.fa.fa-file-archive-o,.fa.fa-file-audio-o,.fa.fa-file-code-o,.fa.fa-file-excel-o,.fa.fa-file-image-o,.fa.fa-file-movie-o,.fa.fa-file-o,.fa.fa-file-pdf-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-powerpoint-o,.fa.fa-file-sound-o,.fa.fa-file-text-o,.fa.fa-file-video-o,.fa.fa-file-word-o,.fa.fa-file-zip-o,.fa.fa-files-o,.fa.fa-flag-o,.fa.fa-floppy-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-frown-o,.fa.fa-futbol-o,.fa.fa-hand-grab-o,.fa.fa-hand-lizard-o,.fa.fa-hand-o-down,.fa.fa-hand-o-left,.fa.fa-hand-o-right,.fa.fa-hand-o-up,.fa.fa-hand-paper-o,.fa.fa-hand-peace-o,.fa.fa-hand-pointer-o,.fa.fa-hand-rock-o,.fa.fa-hand-scissors-o,.fa.fa-hand-spock-o,.fa.fa-hand-stop-o,.fa.fa-handshake-o,.fa.fa-hdd-o,.fa.fa-heart-o,.fa.fa-hospital-o,.fa.fa-hourglass-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-image,.fa.fa-keyboard-o,.fa.fa-lemon-o,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-ring,.fa.fa-life-saver,.fa.fa-lightbulb-o,.fa.fa-list-alt,.fa.fa-map-o,.fa.fa-meh-o,.fa.fa-minus-square-o,.fa.fa-money,.fa.fa-moon-o,.fa.fa-newspaper-o,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-paper-plane-o,.fa.fa-paste,.fa.fa-pause-circle-o,.fa.fa-pencil-square-o,.fa.fa-photo,.fa.fa-picture-o,.fa.fa-play-circle-o,.fa.fa-plus-square-o,.fa.fa-question-circle-o,.fa.fa-registered,.fa.fa-send-o,.fa.fa-share-square-o,.fa.fa-smile-o,.fa.fa-snowflake-o,.fa.fa-soccer-ball-o,.fa.fa-square-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-star-half-o,.fa.fa-star-o,.fa.fa-sticky-note-o,.fa.fa-stop-circle-o,.fa.fa-sun-o,.fa.fa-support,.fa.fa-thumbs-o-down,.fa.fa-thumbs-o-up,.fa.fa-times-circle-o,.fa.fa-times-rectangle-o,.fa.fa-toggle-down,.fa.fa-toggle-left,.fa.fa-toggle-right,.fa.fa-toggle-up,.fa.fa-trash-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-vcard-o,.fa.fa-window-close-o,.fa.fa-window-maximize,.fa.fa-window-restore{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-500px,.fa.fa-adn,.fa.fa-amazon,.fa.fa-android,.fa.fa-angellist,.fa.fa-apple,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-bitcoin,.fa.fa-black-tie,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-chrome,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-dribbble,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-edge,.fa.fa-eercast,.fa.fa-empire,.fa.fa-envira,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-fa,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-official,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-flickr,.fa.fa-font-awesome,.fa.fa-fonticons,.fa.fa-fort-awesome,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-ge,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitlab,.fa.fa-gittip,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-google,.fa.fa-google-plus,.fa.fa-google-plus-circle,.fa.fa-google-plus-official,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-hacker-news,.fa.fa-houzz,.fa.fa-html5,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-joomla,.fa.fa-jsfiddle,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-linkedin,.fa.fa-linkedin-square,.fa.fa-linode,.fa.fa-linux,.fa.fa-maxcdn,.fa.fa-meanpath,.fa.fa-medium,.fa.fa-meetup,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-pagelines,.fa.fa-paypal,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-product-hunt,.fa.fa-qq,.fa.fa-quora,.fa.fa-ra,.fa.fa-ravelry,.fa.fa-rebel,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-renren,.fa.fa-resistance,.fa.fa-safari,.fa.fa-scribd,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-telegram,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-usb,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vine,.fa.fa-vk,.fa.fa-wechat,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-wheelchair-alt,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-y-combinator-square,.fa.fa-yahoo,.fa.fa-yc,.fa.fa-yc-square,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-glass:before{content:"\f000"}.fa.fa-star-o:before{content:"\f005"}.fa.fa-remove:before{content:"\f00d"}.fa.fa-close:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before{content:"\f01e"}.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before{content:"\f0c9"}.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-dashboard:before{content:"\f3fd"}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-mobile-phone:before{content:"\f3cd"}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before{content:"\f153"}.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-usd:before{content:"\f155"}.fa.fa-dollar:before{content:"\f155"}.fa.fa-inr:before{content:"\f156"}.fa.fa-rupee:before{content:"\f156"}.fa.fa-jpy:before{content:"\f157"}.fa.fa-cny:before{content:"\f157"}.fa.fa-rmb:before{content:"\f157"}.fa.fa-yen:before{content:"\f157"}.fa.fa-rub:before{content:"\f158"}.fa.fa-ruble:before{content:"\f158"}.fa.fa-rouble:before{content:"\f158"}.fa.fa-krw:before{content:"\f159"}.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-try:before{content:"\f195"}.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-institution:before{content:"\f19c"}.fa.fa-bank:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before{content:"\f20b"}.fa.fa-shekel:before{content:"\f20b"}.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-hotel:before{content:"\f236"}.fa.fa-yc:before{content:"\f23b"}.fa.fa-battery-4:before{content:"\f240"}.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-television:before{content:"\f26c"}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before{content:"\f2a4"}.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o:before{content:"\f007"}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-thermometer-4:before{content:"\f2c7"}.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before{content:"\f2cd"}.fa.fa-s15:before{content:"\f2cd"}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o:before{content:"\f2dc"} PKZ:*plugins/pagelayer/css/pagelayer-blocks.cssnu[.pagelayer-shortcode{ color: #2271b1 !important; } .pagelayer-base-control{ position: relative; } .pagelayer-flex{ display:flex; } .pagelayer-elp-label-div{ padding:4px 0px 4px 0px; position:relative; } .pagelayer-elp-label{ display: inline-block; } .pagelayer-elp-units{ display: inline-block; float:right; padding-top:4px; } .pagelayer-elp-units span{ padding:1px 4px; font-size:12px; cursor: pointer; } .pagelayer-elp-units span.selected{ color: #3e8ef7; } .pagelayer-elp-button{ text-transform: unset; border: 1px solid #00A0D2; font-weight: unset; font-size: 12px; margin:5px; min-height: unset; background-color: #00A0D2; color: #fff; transition: all 0.3s; border-radius: unset; border-radius: 2px; padding: 10px 15px; cursor:pointer; } .pagelayer-elp-button:hover{ background-color: #00A0D2bf; border-color: #00A0D2; } .pagelayer-block-appender{ background: #1e1e1e; width: 24px; height: 24px; position: absolute; right: 0; bottom: 0; border-radius: 2px; z-index: 99; } .pagelayer-block-appender:hover{ background : var(--wp-admin-theme-color) } .pagelayer-block-appender .components-button{ color: #fff; display: contents; } /* Screen Control Start */ .pagelayer-elp-screen{ display: inline-block; text-align: center; z-index: 1; vertical-align: middle; position: relative; } .pagelayer-elp-screen .pli{ padding: 0; cursor: pointer; box-shadow: 0 0 0.5rem #babbbc; height: 30px; width: 30px; border-radius: 50%; line-height: 30px; transition-duration: 0.1s; } .pagelayer-elp-screen .pli-desktop:not(.pagelayer-prop-screen), .pagelayer-elp-screen .pli-tablet:not(.pagelayer-prop-screen), .pagelayer-elp-screen .pli-mobile:not(.pagelayer-prop-screen){ position: absolute; transform: none; left: 0; display:none; opacity:0; background:#aaaaaa; color:#ffffff; } .pagelayer-elp-screen .pli-desktop.open{ transform: rotate(-90deg) translate(30px, -27px) rotate(90deg); transition-delay: 0s; top:-5px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pli-tablet.open{ transform: rotate(-90deg) translate(0px, -6px) rotate(90deg); transition-delay: 0.1s; top:0px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pli-mobile.open{ transform: rotate(-90deg) translate(-30px, -27px) rotate(90deg); transition-delay: 0.2s; top:5px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pagelayer-prop-screen{ box-shadow: none; z-index: 2; font-size: 12px; height: 20px; width: 20px; line-height: 20px; } .pagelayer-elp-screen .pli:not(.pagelayer-prop-screen):hover{ background-color: #3E8EF7; } .pagelayer-elp-screen .pagelayer-prop-screen:hover{ color: #3E8EF7; } /* Screen Control End */ /* Settings Tab Control Start */ .components-panel[pagelayer-component-tab] .components-panel__body{ display: none; } .components-panel[pagelayer-component-tab="options"] .components-panel__body, .components-panel[pagelayer-component-tab="settings"] .pagelayer-components-tabs.pl-settings .components-panel__body{ display: block; } .components-panel[pagelayer-component-tab="options"] .pagelayer-components-tabs.pl-settings .components-panel__body{ display: none; } .pagelayer-setting-tabs{ box-shadow: 0px 0px 10px -4px #d7d7d7; display:flex; } .pagelayer-setting-tab{ background-color: transparent; padding: 20px 10px; border: 0; cursor: pointer; color: #1e1e1e; font-weight: 500; flex: 1; position: relative; } .pagelayer-setting-tab i{ font-size: 16px; padding-right: 10px; } .pagelayer-setting-tab:after{ content: ''; height: 2px; background: transparent; border-radius: 100%; position: absolute; bottom: 0; left: 10px; right: 100%; transition: right 0.5s; } .pagelayer-setting-tab:hover:after, .pagelayer-setting-tab.is-active:after{ content: ''; background: #007cba; right: 10px; } .pagelayer-setting-tab:hover, .pagelayer-setting-tab.is-active{ color: #007cba; } /* Settings Tab Control End */ /* Radio Control Start */ .pagelayer-elp-radio-div{ display:flex; } .pagelayer-elp-radio:first-child{ border-radius: 4px 0px 0px 4px; -moz-outline-radius: 7px 0px 0px 7px; } .pagelayer-elp-radio:last-child{ border-radius: 0px 4px 4px 0px; -moz-outline-radius: 0px 7px 7px 0px; } .pagelayer-elp-radio{ display: inline-block; vertical-align: middle; padding: 6px; cursor: pointer; font-size:12px; color: #666 !important; text-decoration: none; background: #eee; flex:1; text-align:center; } .pagelayer-elp-radio:hover{ background-color: #4CB5E8 !important; color:#fff !important; transition: all 0.3s; } .pagelayer-dark .pagelayer-elp-radio{ background-color: #fafafa; } .pagelayer-dark .pagelayer-elp-radio:hover, .pagelayer-dark .pagelayer-elp-radio-active{ background-color:#0d47a1 !important; } .pagelayer-elp-radio-active{ background-color: #1A9CDB !important; color:#ffffff !important; } /* Radio Control End */ /* Color Control Start */ .pagelayer-elp-color-div-holder{ cursor: pointer; width: 70px; height: 30px; border-radius: 3px; margin: 0 auto; position: absolute; top: 5px; right: 11px; border: solid 1px #999; color: #333; display: flex; } .pagelayer-elp-color-div{ cursor: pointer; padding: 3px; width: 28px; height: 23px; display: block; border-radius: 2px; margin: 0 auto; position: absolute; top: 5px; right: 7px; border: solid 1px #999; color: #333; vertical-align: middle; box-sizing: content-box; } .pagelayer-elp-color-div-holder .pagelayer-elp-color-div{ position: relative; border: 0px; height: calc(100% - 6px); top: 0; left: 0; } .pagelayer-elp-color-preview{ height: 100%; background-size: cover !important; border-radius: 2px; flex: 1; } .pagelayer-elp-color-global{ width: 50%; border-right: 1px solid #999; display: flex; align-items: center; justify-content: center; } .pagelayer-elp-global-icon:hover, .pagelayer-elp-color-global:hover{ color: #137dc5; } .pagelayer-elp-typo-edit-div .pli-pencil{ display: flex; align-items: center; justify-content: center; flex: 1; } .pagelayer-elp-global-icon:before, .pagelayer-elp-color-global:before{ content: "\e9c9"; font-family: 'pagelayer', "Font Awesome 5 Free" !important; } .pagelayer-elp-remove-color{ background-color:#616161; position: absolute; top: 0; right: 0; z-index:1; box-shadow: 0 0 3px #333; padding: 3px; border-top-right-radius: 2px; } .pagelayer-elp-remove-color .pli{ display: flex; } .pagelayer-elp-remove-color .pli:before{ color: #fff; font-size: 7px; } .pagelayer-blank-preview{ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC1QTFRFAAAAAQEBBQUFDAwM9PT0+vr6/////v7+BAQE+/v7AgIC/f39AwMDDQ0N8/Pzb6ggJQAAAZ5JREFUeJztlr1twzAQhU+tK7ELDDdBNsgO2SAznAr3JAJXWSJp49YLuPAW2cJbhEdSQZBCEMRHgMVj5U80HnkSfz4Ra06eXjSoTvr6HKGGU94o8vBpqPr2LjLUcAr8ikNEnLx6jT93VZxneBn1Zg9uOlxsxO0suTkXfJywTsG5Ok5x9hK0NKM6bhEosh+nq+HJD+c6TmvG2r8RtrMb9g4aOKY3CA0ElyyHcbAHIXNw5Q9bWeLG2aUH80ItU97K8ihlhmmIUFb+dpZvOceNE7fOnz/UsNztHAMEzSwf6idEqTOLHv0R8THc7/o72Qzrl8vMwAVdmreDFhloLxQcCC65QSC45AYfBV0yfGGjtx78cLjrVaHHF/yAhV8B8EsKfo3CL/pRHFZFnIBlCa5z9EP6If1wBdMPe5QleMkNAumHuZ9+SD9cYPphjzpHP6Qf0g9XMP2wR1mCl9wgkH6Y++mH9MMFph/2qHP0Q/oh/XAF0w97lCV4yQ0C6Ye5n35IP1xg+mGPOkc/pB/SD1cw/bBHWYKX3CCQfpj76Yfr+QfwnsxmcLvdhQAAAABJRU5ErkJggg==') !important; background-size: cover !important; opacity: 70%; } /* Color Control End */ /* Padding Control Start */ .pagelayer-elp-padding-div{ display:flex; } .pagelayer-elp-padding-div i.pli{ padding:8px 11px; border: 1px solid #d1d1d1; cursor: pointer; background: #FFF; vertical-align:top; font-size: 12px; border-radius: 3px; } .pagelayer-elp-padding-linked{ background: #1a7fb0 !important; color: #fff !important; border: 1px solid #1a7fb0 !important; } .pagelayer-dark .pagelayer-elp-padding-linked{ background: #e0e0e0 !important; } .pagelayer-elp-padding{ padding: 2px 0px 2px 4px !important; text-align: center; border-radius: 3px !important; width:21% !important; } /* Padding Control End */ /* Slider Control Start */ .pagelayer-elp-slider-div{ display: flex; padding: 7px 0 0; } input.pagelayer-elp-slider{ -webkit-appearance: none; width: 70%; height: 10px; border-radius: 5px; background-color: #d3d3d3 !important; outline: none; opacity: 0.7; -webkit-transition: .2s; transition: opacity .2s; font-size: 0px !important; padding: 0; } .pagelayer-elp-slider:focus{ border-color: transparent; box-shadow: 0 0 1px transparent; } .pagelayer-elp-slider:hover{ opacity: 1; } .pagelayer-elp-slider::-webkit-slider-thumb{ -webkit-appearance: none; appearance: none; width: 15px; height: 15px; border-radius: 50%; background: #4CAF50; cursor: pointer; } .pagelayer-dark .pagelayer-elp-slider::-webkit-slider-thumb{ background: #3e8ef7; } .pagelayer-elp-slider::-moz-range-thumb{ width: 15px; height: 15px; border-radius: 50%; background: #00A0D2; cursor: pointer; } .pagelayer-elp-slider-value{ width: 23% !important; margin-left: 7%; margin-top: -12px; border-radius: 3px !important; padding: 2px 2px 2px 6px !important; } /* Slider Control End */ /* Spinner Control Start */ .pagelayer-elp-spinner{ padding: 2px 2px 2px 6px !important; border-radius: 4px !important; } .pagelayer-elp-spinner-div{ right: 10px; position: absolute; top: 7px; width:85px; } /* Spinner Control End */ /* Checkbox Control Start */ .pagelayer-elp-checkbox-div{ top: 13px; right:7px; position: absolute; } input[type="checkbox"].pagelayer-elp-checkbox{ -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 3.5em; height: 1.7em; background: #ddd; border-radius: 3em !important; position: relative; cursor: pointer; outline: none; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } input[type="checkbox"].pagelayer-elp-checkbox:checked{ background-color: #1A9CDB; border-color: #1A9CDB; } .pagelayer-dark input[type="checkbox"].pagelayer-elp-checkbox:checked{ background-color: #0d47a1; } input[type="checkbox"].pagelayer-elp-checkbox:before{ content: "" !important; } input[type="checkbox"].pagelayer-elp-checkbox:after{ position: absolute; content: ""; width: 1.5em; height: 1.5em; border-radius: 50%; background: #fff; -webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3); box-shadow: 0 0 .25em rgba(0,0,0,.3); -webkit-transform: scale(.7); transform: scale(.7); left: 0; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } input[type="checkbox"].pagelayer-elp-checkbox:checked:after{ left: calc(100% - 1.5em); } /* CheckBox Control End */ /* Select Control Start */ .pagelayer-elp-select-div{ width: 50%; right: 10px; position: absolute; top: 7px; } .pagelayer-elp-select { color: #444; padding: 2px 2px 2px 6px; width: 100%; max-width: 100%; border: 1px solid #aaa; border-radius: 3px !important; } .pagelayer-elp-select::-ms-expand { display: none; } .pagelayer-elp-select:hover { border-color: #888; } .pagelayer-elp-select:focus { border-color: #aaa; box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7); box-shadow: 0 0 0 3px -moz-mac-focusring; color: #222; outline: none; } .pagelayer-elp-select option{ font-weight:normal; } /* Select Control End */ /* Box-shaow Control Start */ .pagelayer-elp-shadow-div, .pagelayer-elp-typo-div, .pagelayer-elp-filter-div{ padding: 0px 10px; box-shadow: 0px 0px 13px rgba(0,0,0,.3); position: relative; margin-top: 8px; border: 1px solid #ddd; position: absolute; right: 0; background-color: #fff; width: 100%; z-index: 12; } .pagelayer-prop-edit{ padding: 7px 7px 5px; border: 1px solid #3e8ca4; position: absolute; top: 0px; right: 0px; text-align: center; cursor: pointer; border-radius: 3px; } .pagelayer-prop-edit i{ font-size: 14px; color: #484848; } .pagelayer-elp-shadow-color{ padding: 15px 0px !important; } .pagelayer-elp-shadow-color .pagelayer-elp-color-div{ top:7px; } .pagelayer-elp-typo, .pagelayer-elp-prop-grp{ margin: 0px; padding: 10px 0; position: relative; border-bottom: 1px dashed #ccc; display: flex; } .pagelayer-elp-typo-fonts{ padding: 10px 0; } .pagelayer-elp-gradient-div .pagelayer-elp-prop-grp{ padding: 5px 0; } .pagelayer-elp-gradient-color{ padding: 15px 0px !important; } .pagelayer-elp-prop-grp .pagelayer-elp-color-div{ right: 0; } .pagelayer-elp-typo-fonts .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-typo-input, .pagelayer-elp-shadow-div .pagelayer-elp-shadow-input, .pagelayer-elp-shadow-div .pagelayer-elp-label, .pagelayer-elp-prop-grp>label, .pagelayer-elp-prop-grp>input{ width: 50%; } /* Box-shaow Control End */ /* Image Control Start */ .pagelayer-elp-image-div{ height: 130px; border-radius: 3px; border: 1px solid #e6e7e9; position: relative; background-color: #fafafa; background-position: center; background-repeat: no-repeat; background-size: cover; } .pagelayer-elp-remove-image{ font-size: 8px; color: #4f4f4f; background: #ffffffa1; border-radius: 100%; padding: 5px; line-height: 0; box-shadow: 0 0 4px #79797966; cursor: pointer; position: absolute; right: 4px; top: 4px; } .pagelayer-elp-image-div:not(.pagelayer-has-image) .pagelayer-elp-remove-image{ display: none; } .pagelayer-elp-image-div.pagelayer-has-image .pagelayer-elp-add-image{ display: none; } .pagelayer-elp-add-image{ display: flex; align-items: center; justify-content: center; height: 100%; cursor: pointer; } .pagelayer-elp-add-image i{ font-size: 14px; color: #4f4f4f; background: #ffffff; border-radius: 100%; padding: 3px; box-shadow: 0 0 4px #79797966; } /* Image Control End */ /* Dimension Control Start */ .pagelayer-elp-dimension-div i.pli{ padding:8px 11px; border: 1px solid #d1d1d1; border-left:0px !important; cursor: pointer; background: #FFF; vertical-align:top; font-size: 12px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pagelayer-elp-dimension-linked{ background: #1a7fb0 !important; color: #fff !important; border: 1px solid #1a7fb0 !important; } .pagelayer-elp-dimension:first-child{ border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagelayer-elp-dimension{ width:42% !important; margin-right: 0px; margin-left: 0px; } /* Dimension Control End */ /* Icon Control Start */ .pagelayer-elp-icon-div{ cursor: pointer; padding: 6px; border: solid 1px #d1d1d1; background: #fffffc; color: #333; vertical-align: middle; width: 126px; height: 18px; display: block; border-radius: 4px; margin: 0 auto; position: absolute; top: 7px; right: 10px; box-sizing: content-box; } .pagelayer-elp-icon-preview{ position: relative; display: block; margin-right: 5px; float: left; width: 75%; height: auto; border: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .pagelayer-elp-icon-preview i{ padding-right: 5px; font-size: 19px; color: #666; vertical-align: middle; } .pagelayer-elp-icon-name{ font-size: 13px; } .pagelayer-elp-icon-open, .pagelayer-elp-icon-close{ float: right; font-size: 10px; padding: 0px; line-height: 20px; } .pagelayer-elp-icon-close{ padding-right: 5px; font-size: 12px; } .pagelayer-elp-icon-selector{ position: absolute; z-index: 1000; border: 1px solid rgba(0,0,0,0.2) !important; background: #fff !important; box-shadow: 0 3px 5px rgba(0,0,0,0.2) !important; -webkit-border-radius: 2px !important; text-shadow: none !important; padding: 5px; height: auto; box-sizing: border-box; width: 80%; border-radius: 2px; margin: 0 0 0 auto; top: 40px; right: 10px; } .pagelayer-elp-search-icon{ margin-bottom: 5px !important; padding: 2px 6px; line-height: 20px !important; border-radius: 3px !important; } .pagelayer-elp-icon-list{ width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; max-height: 183px; overflow-y: auto; } .pagelayer-elp-icon-list::-webkit-scrollbar { -webkit-appearance: none; } .pagelayer-elp-icon-list::-webkit-scrollbar:vertical { width: 10px; } .pagelayer-elp-icon-list::-webkit-scrollbar-thumb { border-radius: 8px; border: 2px solid white; background-color: rgba(0, 0, 0, .5); } .pagelayer-elp-icon-list::-webkit-scrollbar-track { background-color: #fff; border-radius: 8px; } .pagelayer-elp-icon-span{ display: block; margin: 2px; cursor: pointer; box-sizing: border-box; border: 1px solid #dbdbdb; transition: all 0.3s; font-size: 13px; padding: 3px; } .pagelayer-elp-icon-span:hover{ border-color: #00A0D2; background-color: #3e8ef7; color: #ffffff; box-shadow: 0px 1px 1px #3e8ef7bf; } .pagelayer-elp-icon-span i{ font-size: 15px; line-height: 1em; padding: 3px; color: #555; transition: all 0.3s; vertical-align: middle; } .pagelayer-elp-icon-span:hover i{ color: #ffffff; } .pagelayer-elp-icon-type{ display:flex; flex-grow:1; text-align:center; } .pagelayer-elp-icon-type p{ flex-grow: 1; padding: 5px 0; margin: 0 0 3px; cursor: pointer; font-size: 12px; background: #999; color: #ffffff; border: 1px solid #777; } .pagelayer-elp-icon-type p.active{ background-color:#666666; } .pagelayer-elp-icon-sets{ line-height: 27px; height: 27px; border-radius: 4px; margin: 5px 0; } /* Icon Control End */ /* Media Control Start */ .pagelayer-elp-input-icon{ position: relative; } .pagelayer-elp-input-icon input{ width: 85%; border-radius: 3px 0 0 3px !important; margin-left: 0px; margin-right: 1px; } .pagelayer-elp-input-icon i.pli{ padding:1px 10px; position:relative; top:0px; border: 1px solid #8c8f94; border-left:0px; cursor: pointer; background:#FFF; line-height:26px !important; font-size: 13px; margin-left: -1px; } /* Media Control End */ /* Property link start*/ .pagelayer-elp-link-list{ max-height:250px; overflow:auto; width: 99%; top: 35px; position: absolute; z-index: 1000; border: 1px solid rgba(0,0,0,0.2) !important; background: #fff !important; box-shadow: 0 3px 5px rgba(0,0,0,0.2) !important; -webkit-border-radius: 2px !important; text-shadow: none !important; padding: 5px; height: auto; box-sizing: border-box; display: none; border-radius: 2px; margin: 0 0 0 auto; } .pagelayer-elp-link-list .pagelayer-elp-link-search{ width:100%; } .pagelayer-elp-link-item{ display: flex; font-size: 13px; padding: 7px 2px; margin: 2px 0; cursor: pointer; align-items:center; } .pagelayer-elp-link-item:hover{ box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; border-radius: 4px; } .pagelayer-elp-link-item span{ text-overflow: ellipsis; display: inline-block; overflow: hidden; white-space: nowrap; width: 100%; padding:3px; } .pagelayer-elp-link-item-title{ font-weight:bold; } .pagelayer-elp-link-item-perma{ color:#999; } .pagelayer-elp-link-title{ width: 73%; margin-right:2%; } .pagelayer-elp-link-info{ width: 20%; background-color: #ededed; padding: 2px; font-size:11px; } .pagelayer-elp-link-id{ background-color: #ededed; padding: 2px 6px; font-size:12px; margin-left:5px; } .pagelayer-elp-link-info span{ padding: 4px; } .pagelayer-elp-link-div .pagelayer-elp-link-cb-div{ display: flex; justify-content: space-between; align-items: center; padding-top: 5px; } .pagelayer-elp-link-div .pagelayer-elp-link-ca, .pagelayer-elp-link-div .pagelayer-elp-link-cb-div{ margin-top: 10px; } .pagelayer-elp-link-ca input{ width: 100%; margin: 5px 0px; } .pagelayer-elp-link-desc{ color:#757575; font-size: 13px; line-height: 20px; font-style: italic; margin-top: 5px; display:block; word-break: break-word; } /* Property link end*/ /* Multi Images start */ .pagelayer-elp-multi_image{ padding: 3px; width: 60%; margin: 5px auto; border: 1px solid #d5dadf; position: relative; text-align: center; background: #4CBCDF; color: #fff; font-size: 13px; cursor: pointer; height: 100%; -webkit-background-size: cover; background-size: cover; background-position: 50%; } .pagelayer-elp-multi_image-thumbs{ margin-top:10px; } .pagelayer-elp-multi_image-thumb{ display: inline-block; width: 44px; height: 44px; background-size: cover; background-position: 50% 50%; margin: 0 7px 0 0; border: 2px solid #d5dadf; } /* Multi Images end*/ /* Typo start*/ .pagelayer-elp-typo-fonts .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-label{ font-weight: 600; font-size: 11px; color: #555; } .pagelayer-elp-global-typo{ box-shadow: 0 2px 2px -1px #d2cfce; margin: 0px -10px 0 -10px; padding: 8px 10px; display: flex; } [pagelayer-screen-mode="desktop"] [pagelayer-show-device]:not([pagelayer-show-device="desktop"]), [pagelayer-screen-mode="tablet"] [pagelayer-show-device]:not([pagelayer-show-device="tablet"]), [pagelayer-screen-mode="mobile"] [pagelayer-show-device]:not([pagelayer-show-device="mobile"]){ display:none; } .pagelayer-elp-global-typo .pagelayer-elp-typo-icons{ flex: 1; display: flex; align-items: center; justify-content: flex-end; width: 50%; } .pagelayer-elp-global-typo .pagelayer-global-font-list{ width: 100%; } .pagelayer-elp-typo-icons .pagelayer-elp-global-icon{ margin-right: 10px; cursor: pointer; } .pagelayer-elp-typo select.pagelayer-elp-typo-input, .pagelayer-elp-typo-input, .pagelayer-elp-shadow-input{ padding: 3px; border-radius: 4px !important; line-height: 23px !important; } /* Typo end*/ /* Multi Select Property */ .pagelayer-elp-multiselect{ min-height: 30px; font-size: 13px !important; color: #666; border-radius: unset; border:1px solid #CCC; line-height: 26px; width: 100%; } .pagelayer-elp-multiselect-ul{ list-style:none; padding:0; margin:0; border: 1px solid #CCC; border-radius: 0 0 5px 5px; border-top:none; position:absolute; background: rgb(255, 255, 255) !important; z-index:1; width:100%; } .pagelayer-elp-multiselect-option{ font-size:13px; padding:4px 8px; cursor:pointer; margin: 0; } .pagelayer-elp-multiselect-option[data-selected="selected"]{ background: #f2f2f2; } .pagelayer-elp-multiselect-remove{ color: #f2f2f2; padding-left: 2px; cursor: pointer; } .pagelayer-elp-multiselect-selected{ padding: 3px 5px; border-radius: 5px; margin: 2px; background: #44a9db; line-height: 13px; font-size: 13px; color: #fff; } .pagelayer-elp-multiselect{ display: flex; flex-wrap: wrap; padding: 5px; border-radius: 3px; } /* Multi Select Property end*/ .pagelayer-anchor{ background-image:url(../images/anchor.png); height:30px; background-position: center center; background-repeat: no-repeat; background-size: cover; } /* splash start */ .pagelayer-splash { background-image: url(../images/splash.png); height: 30px; background-position: center center; background-repeat: no-repeat; background-size: cover; } /* splash end */ /* space start */ .pagelayer-space-holder { background: url(../images/space.png); background-repeat: repeat; background-repeat: repeat; } /* space end */ /* Filter prop start*/ .pagelayer-elp-filter-blur .pagelayer-elp-filter-input { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAAAKCAIAAAC2Wq7lAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAABq9JREFUeJyVlmtvHGcZhnfOszs7u+s9ENtrI9eqHbWJKSSIlBz4QD/mFxQpUvlSviTKb4nyC4qI/0HkCCgijapQQJBDUe04uPEh69re887OeXa43l2wjNsK+toejd/Dc7if+7nfUTMnhiRJGxsbS0tLk3/TNL1+/fra2hrzvPO8c+fOzZs3eZlsuHv37u3btydL5XL5xo0bv/rwwzeXl9Ikff16b+3Bg3v3fvPs6bMwiqbPTF/92ZX33//FpUvvFoulfq/7ycOHH/36o4d//MRxBpZlrays/PKDD35y6d36XN31gid//9tvf/+7x59+2mg0dF1fXlq6cuXylWvXzp07Z1mFXrfz4MHaxx//YfPFJsZnpqdXfnD+xxcvnHv7fC6fazVbX6x/8fTpsxebm439fU2RL1648NPLl996620rb3W73a1/bj198qTf7w+HQ1mWK5XqwsLC4uIbc3PzZGGYpnoSFNI7hdHJ+cnzePLUkpSRcCBl+M2MmMiMt6X8iCOSzIIcR3E6GmVGYrBDVbSJH1lRVE1jb5ImSRJHYRDFIYYUVcWmooi/NMPxxHN9TdWTUYJFlaEpo1Ey9ithM0wiY5TESYJ5JnVVsy0rCAMiGKWjGMsRxiN84F04HdtniLNh6HpD3cV4pE7yPAXHdx0AJSsydoAjEYOcE/AAJwInYk3TFUmJRUj8BmEYEAd14xSR6brBIALf87udnuP0Qz9UJNk09FwuB1N0zQBkTkErUPA8V1Uk3dBY5bhh6rgOwngwcMjQ9704jgEym8vaUUHxXFCnHr7rEtbQdclfkSRN1UamqcgCGvY7w2Gn3QY2w/hvpvzP8Y3YaZqmKEo2m6V6QeA3j5ps6/UHVCyXs6q1ipRK5UpFMwzHcZuHRy7+3SGh66o+NTWVy+aKpSIjDMJWu+UMnTiISF5RlalyGWRVTS8UberW7fb2Gw3o7flelMRWLletVuM4sW2bzFzPPTo88L3hYIBxn5DsQkFVVDvOg6rn+c1WS9XUoQMsrgLfMikuqCTPKI4H/T5wD5wh7FOXl5dPpkoPZ/7TI8yXSiUkZqIazERRtLm5ebwK5Kx+f34eOArFAqX7/PN/sEYvhUHgDoeLiwv1+kwmIxMWiR8eHv75r3+hG8DLGQyKUyWEAmJTq0ql0h/0Xmxs0gppOgr8APq8sbBQn63Td1SPIn/1VaPdbkEB2if0Pdsu6JrOvGgjVe11up7r8g5RAUXT1XKplNgFyKtrGgoSBPRRZiTaM6JzsZOKSDOQKwrDbg+GOmO+y+r6+vpJFM6ePUvaxxjdv39/dXX1mCbIKiAer966dQthfvnyJe8k/OjRo9XVewHM1xTKuLi4ePXqtWKhQBsBEHB/+erVZ5/9icY2dL1aq62snH/vvZ+riuIF/u727s7Oq3bnS/BCROx8ng1z9Xo2myNJ+gISbW/vuq4DNci8YNsz0zPWzKysSHgE4k67gyiQHt1ocz6fL+RtpIoeBqz2mIMoGq2IzaxpGYomKRJZoTXoTuQQVyhUD5RPCufXxeXU6td7h0nIIgTCsh4/fry9s7O7vaPq2vSZM3VIMjMDymw6OjwcOA6RPX/+nILYBfvijy5C/nfe+aGZNTutdhxGGxvrW1tbFBnI5ufnZ2frXAe1ahV67uy9braahwcHjf0GG/JWntU3l5bn6rOarnGh+J4HF/YPGv3+oFCwOVgqTnHNWfm8Zuh7O7ugtvd6j7zptVqtlsvm6XpVVwGFvsNFr99z+gPXE3r03TTl24agnCbwTeKYhleiwPeLIGUY+qThCRo+kw+hkwMt44d+LitqZuWsJIooLPVAjziezZrgpQpRsCu1KlrT6XSoFaU+ah6hCHE5LpWn2MbT0HTuG2jv+m6r2ez1+3RfrfY9lAKbpakSXg729yFjt9MlAHhB37GHypkml1WC7KOvQ8dpddqD3iCMwtOgfCMd/g9QRGdK8r9Pi9tnNLm/meTuU4SkISVQfzxgKfCNnbEuIaW6afDmieEyzU6eKJGhm7xABzkViuaLdS/MR5mxwIML9xo/7EEsh8gpIwjxgDvDFIhTDFzgjoWh5xqmkaRxmqGPVNM0Y24iWVznrDoDB0wxoPK/NB6Zb7lcjsfxd8rJbccaLGUmZmTesUnSkw8YMS+WBGbEmo4H6bFH3Nniw0boP1o4/npJyI1bQHzfjIGGAjIfInQ/oScjUBWWU1IyIKAi8YcEKSIqnEZjGyPxoYJZ7hGuv3gUTeJEnpMoGX8riY8n4skqemRIqixAoAxQBtCHvvcv+qJRH7fzah8AAAAASUVORK5CYII=') !important; } .pagelayer-elp-filter-brightness input { background-image: linear-gradient(90deg,#000,#fff); } .pagelayer-elp-filter-contrast input { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAKCAMAAAAU2ikOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAklQTFRFAAAAAgICAwMDBAQEBgYGCAgICwsLAQEBISEhJSUlKioqLy8vNDQ0WFhYXl5eZWVla2trcXFxmpqaoKCgpqamra2ts7OzJiYm1dXV2dnZ3t7e4uLi5ubm2tra+/v7/Pz8/f39/v7+////BQUFBwcHGhoaHh4eIyMjJycnLCwsTk5OVFRUWlpaYWFhaGhoj4+PlpaWnZ2do6Ojqqqqzc3N0tLS19fX3Nzc4ODg9/f3+vr6FBQUGBgYHBwcICAgRUVFS0tLUVFRV1dXhYWFjIyMkpKSmZmZn5+fxMTEysrKz8/P1NTU9PT09vb2+fn5Dw8PEhISFhYWPDw8QUFBSEhIe3t7goKCiIiIu7u7wcHBx8fHzMzM0dHR7+/v8vLy9fX1CgoKDQ0NEBAQFxcXOTk5Pj4+SkpKd3d3fn5+i4uLsrKyuLi4vr6+ycnJ6urq7e3t8PDw8/PzBQYHBQUGBAQFAwMEAgMDFRUVGRkZHR0dIiIiR0dHTU1NYGBglZWVm5uboqKixsbG1tbW29vbBgcIBAUGAwQFExMTGxsbHx8fREREUFBQVlZWhISEkZGRmJiYvb29w8PDzs7O09PT+Pj4AAABDAwMDg4OERERNTU1Ozs7RkZGTExMdHR0enp6gICAjo6OJCQktLS0urq6wMDAy8vL6+vr7u7uAQECLS0tMjIyODg4Q0NDaWlpcHBwdnZ2fX19q6ursbGxt7e35eXl6enpCQkJKysrMDAwX19fbGxsc3NzeXl5oaGhqKiorq6u39/f4+Pj5+fnrIREkAAAAeZJREFUeJxd0Pk/FHEcx/Hv7OLblrvD1S675cjKolJLOVJSIVKtctOKStaQIyKZEuWqJEI50h0lkXT5yzLvT4N2fpnnYx6Pz+vxmQ9jK4+gUjs4OgmMM2GDZuMmZ8jF1c3dQyXLc/OWrdu8ZHn7+Ppth7Q6/wA9yWAwQBxieLig2rGTywgMCg7ZBYUaw3aHQ6aIyKg9Gll790XvPwBpzTG6AJKcWRP7V+QqNRB78FCcBopPSDzsCiUdOZp8DB9Tjp846QNpU9PSY0j2Qa4sidepjMzAIOh01plQI3T2nMUUgeHs8xdycimTl19gXg0a1sQEzinKUS4sKo4tgZwvWuNLIY9LZUnlGLl85WpKBQ1fq7RV/b8hiYnVNddr+eolobr6hhshUGOTMewmZDE1t9zCXGtO7u02KhSY03V2VSaJ4p27TDkl/Xdxe8m9DsjaWXr/AVTWVd7dg5HevoqHjyhjq0p7bPffTJIksRrqZ8pBnww8rauHBoeyng1DI6PPLS/GZI1PTLa+hNqmXuWnkuTgmBKUROg1VxZ1XLlkO/Tm7Tvre+jDx+mZLuzw6fNsbx/t9WWu0kbSr99QkpCqFXg/BdUOX50G8M1rfmFwCPrmtvh9CSM/fv4an6DM7z/LUyR/vZ5u+BdDtnhZvafUoAAAAABJRU5ErkJggg==') !important; } .pagelayer-elp-filter-grayscale input { background-image: linear-gradient(90deg, rgba(203,20,106,1) 0%, rgba(88,88,88,1) 56%); } .pagelayer-elp-filter-hue input { background-image: linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,blue,#9400d3 95%); } .pagelayer-elp-filter-opacity input { background-image: linear-gradient(90deg,#fff,#000); } .pagelayer-elp-filter-saturate input { background-image: linear-gradient(90deg,gray,red); } /* Filter prop end*/ /* Access prop start*/ .pagelayer-elp-modal, .pagelayer-elp-access{ cursor: pointer; padding: 10px; display: block; margin: 0 auto; position: absolute; font-size:1.5rem; top: 0px; right: 12px; color: #333; vertical-align: middle; } .pagelayer-elp-access .pli-caret-right{ font-size: 18px; line-height: 1.5; } .pagelayer-elp-access .pli-caret-right:hover{ color: #3e8ef7; } .pagelayer-elp-access .pli-caret-open:before{ content: "\f0d7" !important; } .pagelayer-elp-access-holder{ position: absolute; border: 1px solid #ccc; top: 42px; background: #fff; z-index: 100; width: 95%; box-shadow: 0 0 15px -5px; padding: 5px 10px; } /* Access prop end*/ /* Property modal start*/ .pagelayer-elp-modal-wrapper{ position: fixed !important; top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; overflow-y: auto; background: #0000009c; z-index: 999; transform: none !important; } .pagelayer-elp-modal-wrapper .components-popover__content{ max-height: 100% !important; height: 100% !important; width: 100% !important; background: transparent; } .pagelayer-elp-modal-wrap{ width: 500px; background-color: #fff; position: relative; margin: 20px auto 50px; border-radius: 5px; box-shadow: 0px 0px 7px 0px #fff; } .pagelayer-elp-modal-close{ float:right; padding: 5px; cursor:pointer } .pagelayer-elp-modal-header{ padding:15px 20px 10px; margin-top: 10px; font-size: 13px; font-weight: bold; color: #555; } .pagelayer-elp-modal-holder{ padding: 20px; } .pagelayer-elp-modal-holder > *{ padding: 5px 0; } /* Property modal end*/ /* Options start*/ .pagelayer-elp-text-div input, .pagelayer-elp-spinner-div input, .pagelayer-elp-textarea-div textarea{ width: 100%; } /* Options end*/ /* Video widget start*/ .pagelayer-video-edit { position: absolute; font-size: 13px; right: 4px; top: 4px; padding: 2px 6px; border-radius: 4px; color: #fff; background: #000; box-shadow: 0px 0px 4px 2px #d0d0e1; cursor: pointer; display: none; } .pagelayer-video-edit:hover { background: #008eba; } .pagelayer-video:hover .pagelayer-video-edit{ display: block; } /* Video widget end*/ /* Column Widget Start*/ .pagelayer-row{ min-height:20px; } .pagelayer-col{ align-content: stretch; } .pagelayer-col-holder:not(.pagelayer-has-child) .block-list-appender{ outline: 1px dashed #abb3bb; } .pagelayer-col .block-editor-button-block-appender{ box-shadow: none !important; } /* Column Widget End*/ /* Pagelayer row (variation) start*/ .pagelayer-variation-div { width: 100%; } .pagelayer-variation-div .components-button.is-secondary, .pagelayer-variation-div .block-editor-block-variation-picker { box-shadow: none; outline: 1px dashed #abb3bb; } .pagelayer-variation-div .editor-styles-wrapper .block-editor-block-variation-picker{ box-shadow: none !important; } .pagelayer-variation-div .block-editor-block-variation-picker .components-placeholder__fieldset { max-width: 100% !important; align-items: center; } .pagelayer-variation-div .block-editor-block-variation-picker__variations { justify-content: center; } .pagelayer-variation-div .components-button svg, .pagelayer-variation-div .components-button.is-secondary svg, .pagelayer-variation-div .components-button.is-tertiary svg, .pagelayer-variation-div .components-button:hover:not(:disabled) svg { color: #d5dadf; width: 70px; } /* Pagelayer row end*/ /* Pagelayer Library css */ .pagelayer-library-modal-container { z-index: 1; background-color: white; position: fixed; left: 0px; top: 0px; width: 100%; height: 100vh; display: flex; flex-direction: column; } .pagelayer-library-modal-nav{ display: flex; justify-content: space-between; align-items: center; background: rgba(255, 255, 255, 0.25); border-bottom: 1px solid #cbd5e1; padding: 20px 50px; } .pagelayer-library-modal-ul{ display: flex; justify-content: space-between; align-items: center; } .pagelayer-library-modal-ul li { padding: 0px 50px; transition: 100ms cubic-bezier(0.12, 0, 0.39, 0) 0s; font-size: 16px; } .pagelayer-library-modal-ul li:hover { cursor: pointer; color: #17b486; } .pagelayer-library-modal-content { background-color: #724c8717; display: flex; overflow: auto; position: relative; } .pagelayer-library-modal-tags { height: 100%; border-right: 0.1px solid lightgrey; width: 20vw; padding: 20px 30px; overflow-y: auto; background-color: rgb(255, 255, 255); position: sticky; top: 0; } .pagelayer-library-modal-tags::-webkit-scrollbar-track { background: #fff; } .pagelayer-section-item{ min-height: 50px; margin: 15px; z-index: 9; transition-duration: 0.2s; background-color: #fff; border: 3px solid #fff; border-radius: 4px; cursor: pointer; position: relative; } [pagelayer-section-type="page"] .pagelayer-section-item{ max-width: 300px; height: 400px; overflow-y: auto; } [pagelayer-section-type="page"] .pagelayer-section-item::-webkit-scrollbar { height: 3px; width: 3px; } .pagelayer-section-item img { width: 100%; object-fit: contain; overflow: hidden; cursor: pointer; } .pagelayer-library-modal-nav button { outline: none; border: none; background-color: white; display: flex; cursor: pointer; } .pagelayer-library-modal-ul button:hover { color: #17b486; } .pagelayer-library-modal-nav button img { padding-right: 6px; } .pagelayer-library-modal-close { font-size: 24px; font-weight: bold; transition: 100ms cubic-bezier(0.12, 0, 0.39, 0) 0s; } .pagelayer-library-modal-close:hover { cursor: pointer; color: #17b486; } .pagelayer-library-modal-tag-list ul li { padding: 20px 0px 10px 0px; } .pagelayer-library-modal-tag-list ul li { width: 80%; height: 30px; } .pagelayer-section-modal-body{ width: 80vw; display: flex; flex-direction: row; flex-wrap: wrap; } .pagelayer-section-is-visible{ height: 50px; flex-basis: 100%; } .pagelayer-section-holder{ vertical-align: top; background: #efefef; flex: 1; } .pagelayer-library-modal-nav button.pagelayer-active-modal-btn { border-bottom: 1px solid rgb(87, 27, 27); } .pagelayer-library-clicked, .pagelayer-library-clicked-tag{ border-bottom: 2px solid blue; } .pagelayer-library-active-button { border-bottom: 1px solid rgb(87, 27, 27); } .pagelayer-tag-style-active { background-color: rgb(104, 98, 98); color: white; transition: width 1s; } .pagelayer-library-modal-tag-div{ margin-bottom: 10px; } .pagelayer-library-modal-tag-list p { background: #1A9CDB; cursor: pointer; padding: 5px; color: #fff; font-size: 13px; display: inline-block; margin: 3px; } .pagelayer-tag-style-active { background: #326fa6 !important; } .pagelayer-library-modal-tag-list p.pagelayer-tag-style-active:hover { color: white; } .pagelayer-library-modal-ul button.pagelayer-active-modal-btn:hover { color: black; } .pagelayer-modal-tag-search { padding: 10px; border: none; border-bottom: 1px solid rgb(190, 185, 185); color: white; } .pagelayer-library-loader{ display: flex; justify-content: center; align-items: center; position: absolute; z-index: 999; width: 100%; height: 100%; background: #fff; } .pagelayer-add-section-modal-overlay { position: absolute; top: 0; bottom: 0; height: 100%; width: 100%; z-index: 999999; align-items: center; justify-content: center; text-align: center; display: flex; background-color: #f7f7f7fa; } .pagelayer-section-wait .fa-spin { font-size: 50px; } .pagelayer-loader { position: relative; width: 150px; height: 150px; margin: 0 auto 50px auto; z-index: 1001; } .pagelayer-loader:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; border: 3px solid transparent; border-top-color: #3498db; -webkit-animation: spin 3s linear infinite; animation: spin 3s linear infinite; } .pagelayer-loader:after { content: ""; position: absolute; top: 10px; left: 10px; right: 10px; bottom: 10px; border-radius: 50%; border: 3px solid transparent; border-top-color: #e74c3c; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; } .pagelayer-loader .pagelayer-percent-parent{ width:100%; height:100%; margin:auto; display: flex; align-items: center; justify-content: center; text-align:center; } .pagelayer-loader .pagelayer-percent-parent:before{ content: ""; position: absolute; top: 20px; left: 20px; right: 20px; bottom: 20px; border-radius: 50%; border: 3px solid transparent; border-top-color: #f9c922; -webkit-animation: spin 1.5s linear infinite; animation: spin 1.5s linear infinite; } .pagelayer-loader .pagelayer-percent-parent .pagelayer-percent{ font-size:30px; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } .pagelayer-section-pro-req { position: absolute; top: 15px; right: 0px; font-size: 14px; padding: 10px; background-color: #e63131; color: #fff; margin-left: 4px; border-radius: 2px; cursor: pointer; } .pagelayer-section-pro-txt { position: absolute; top: 45%; left: 0px; font-size: 14px; padding: 10px; color: #fff; line-height: 120%; background: #111; opacity: 0; transition: all 0.3s; } .pagelayer-section-item:hover > .pagelayer-section-pro-txt { opacity: 0.8; } .pagelayer-section-pro-txt a { color: #1a9cdb; } /* Global typo and color Start */ .pagelayer-elp-global-typo .pli:hover, .pagelayer-global-setting-color .pli:hover{ color: #137dc5; } .pagelayer-active-global{ color: #137dc5; } .pagelayer-global-selected, .pagelayer-global-font-list-item:hover, .pagelayer-global-color-list-item:hover{ background: #f9f9f9; } .pagelayer-global-selected:after{ content: "\ea10"; font-family: 'pagelayer', "Font Awesome 5 Free" !important; color: #137dc5; } .pagelayer-global-font-list, .pagelayer-global-color-list{ position: absolute; background: #fff; padding: 10px 0; z-index: 9999; border-radius: 4px; right: 0; top: 35px; width: 250px; max-height: 350px; overflow-y: auto; font-size: 12px; box-shadow: 0px 0px 13px rgb(0 0 0 / 30%); } .pagelayer-global-color-list{ display:none } .pagelayer-global-font-list-item, .pagelayer-global-color-list-item{ display: flex; padding: 10px 20px; cursor: pointer; } .pagelayer-global-font-list-item .pagelayer-global-font-title, .pagelayer-global-color-list-item .pagelayer-global-color-title{ flex: 1; } .pagelayer-global-color-list-item .pagelayer-global-color-pre{ position: relative; border: 1px solid #f1f1f1; margin-right: 7px; padding: 1px; background-clip: content-box; } .pagelayer-global-color-list-item .pagelayer-global-color-pre:before{ content: ''; padding: 0px 10px; background-color: #ff000000; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=); -webkit-background-size: 12px 12px; background-size: 6px 6px; position: relative; z-index: -1; } .pagelayer-global-setting-color{ position: relative; box-shadow: 0 1px 2px #d2cfcf; padding: 10px 4px; margin-bottom: 5px; margin-top: -10px; cursor: default; } .pagelayer-global-setting-color b{ margin-left: 11px; } .pagelayer-global-setting-color .pli{ right: 15px; position: absolute; cursor: pointer; } .pagelayer-elp-typo-icons .pli-service{ cursor: pointer; } .pagelayer-typo-default{ display:none; width: 20px; height: 20px; cursor: pointer; margin-left: 4px; } .pagelayer-global-on .pagelayer-elp-typo:not([pagelayer-set-global]):hover .pagelayer-typo-default{ display: inline-block; } /* Global typo and color End */ [pagelayer-wrap-id].wp-block{ margin-bottom: 0; margin-top: 0; } .wp-block-pagelayer-pl-col>.pagelayer-col{ width:100%; } .pagelayer-modal-content, .pagelayer-splash-container{ position: relative; height: 500px } .is-selected .pagelayer-iconbox .pagelayer-box-link, .is-selected .pagelayer-service .pagelayer-box-link{ pointer-events: none; } .pagelayer-image-hotspot-holder .pagelayer-icon-holder [data-type="pagelayer/pl-hotspot"] { position: unset; }PKZ8\#o<o<'plugins/pagelayer/css/trumbowyg.min.cssnu[/** Trumbowyg v2.14.0 - A lightweight WYSIWYG editor - alex-d.github.io/Trumbowyg - License MIT - Author : Alexandre Demode (Alex-D) / alex-d.fr */ #trumbowyg-icons,#trumbowyg-icons svg{height:0;width:0}#trumbowyg-icons{overflow:hidden;visibility:hidden}.trumbowyg-box *,.trumbowyg-box ::after,.trumbowyg-box ::before,.trumbowyg-modal *,.trumbowyg-modal ::after,.trumbowyg-modal ::before{box-sizing:border-box}.trumbowyg-box svg,.trumbowyg-modal svg{width:17px;height:100%;fill:#222}.trumbowyg-box,.trumbowyg-editor{display:block;position:relative;border:1px solid #DDD;width:100%;min-height:300px;margin:17px auto}.trumbowyg-box .trumbowyg-editor{margin:0 auto}.trumbowyg-box.trumbowyg-fullscreen{background:#FEFEFE;border:none!important}.trumbowyg-editor,.trumbowyg-textarea{position:relative;box-sizing:border-box;padding:20px;min-height:300px;width:100%;border-style:none;resize:none;outline:0;overflow:auto}.trumbowyg-editor.trumbowyg-autogrow-on-enter,.trumbowyg-textarea.trumbowyg-autogrow-on-enter{transition:height .3s ease-out}.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-box-blur .trumbowyg-editor::before{color:transparent!important;text-shadow:0 0 7px #333}@media screen and (min-width:0 \0){.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-box-blur .trumbowyg-editor::before{color:rgba(200,200,200,.6)!important}}@supports (-ms-accelerator:true){.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-box-blur .trumbowyg-editor::before{color:rgba(200,200,200,.6)!important}}.trumbowyg-box-blur .trumbowyg-editor hr,.trumbowyg-box-blur .trumbowyg-editor img{opacity:.2}.trumbowyg-textarea{position:relative;display:block;overflow:auto;border:none;font-size:14px;font-family:Inconsolata,Consolas,Courier,"Courier New",sans-serif;line-height:18px}.trumbowyg-box.trumbowyg-editor-visible .trumbowyg-textarea{height:1px!important;width:25%;min-height:0!important;padding:0!important;background:0 0;opacity:0!important}.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-textarea{display:block}.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-editor{display:none}.trumbowyg-box.trumbowyg-disabled .trumbowyg-textarea{opacity:.8;background:0 0}.trumbowyg-editor[contenteditable=true]:empty:not(:focus)::before{content:attr(placeholder);color:#999;pointer-events:none}.trumbowyg-button-pane{width:100%;min-height:36px;background:#ecf0f1;border-bottom:1px solid #d7e0e2;margin:0;padding:0 5px;position:relative;list-style-type:none;line-height:10px;backface-visibility:hidden;z-index:11}.trumbowyg-button-pane::after{content:" ";display:block;position:absolute;top:36px;left:0;right:0;width:100%;height:1px;background:#d7e0e2}.trumbowyg-button-pane .trumbowyg-button-group{display:inline-block}.trumbowyg-button-pane .trumbowyg-button-group .trumbowyg-fullscreen-button svg{color:transparent}.trumbowyg-button-pane .trumbowyg-button-group::after{content:" ";display:inline-block;width:1px;background:#d7e0e2;margin:0 0px;height:35px;vertical-align:top}.trumbowyg-button-pane .trumbowyg-button-group:last-child::after{content:none}.trumbowyg-button-pane button{display:inline-block;position:relative;width:35px;height:35px;padding:1px 6px!important;margin-bottom:1px;overflow:hidden;border:none;cursor:pointer;background:0 0;vertical-align:middle;transition:background-color 150ms,opacity 150ms}.trumbowyg-button-pane button.trumbowyg-textual-button{width:auto;line-height:35px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.trumbowyg-button-pane button.trumbowyg-disable,.trumbowyg-button-pane.trumbowyg-disable button:not(.trumbowyg-not-disable):not(.trumbowyg-active),.trumbowyg-disabled .trumbowyg-button-pane button:not(.trumbowyg-not-disable):not(.trumbowyg-viewHTML-button){opacity:.2;cursor:default}.trumbowyg-button-pane.trumbowyg-disable .trumbowyg-button-group::before,.trumbowyg-disabled .trumbowyg-button-pane .trumbowyg-button-group::before{background:#e3e9eb}.trumbowyg-button-pane button.trumbowyg-active,.trumbowyg-button-pane button:not(.trumbowyg-disable):focus,.trumbowyg-button-pane button:not(.trumbowyg-disable):hover{background-color:#FFF;outline:0}.trumbowyg-button-pane .trumbowyg-open-dropdown::after{display:block;content:" ";position:absolute;top:25px;right:3px;height:0;width:0;border:3px solid transparent;border-top-color:#555}.trumbowyg-button-pane .trumbowyg-open-dropdown.trumbowyg-textual-button{padding-left:10px!important;padding-right:18px!important}.trumbowyg-button-pane .trumbowyg-open-dropdown.trumbowyg-textual-button::after{top:17px;right:7px}.trumbowyg-modal,.trumbowyg-modal-box{top:0;left:50%;transform:translateX(-50%);backface-visibility:hidden;position:absolute}.trumbowyg-button-pane .trumbowyg-right{float:right}.trumbowyg-dropdown{width:200px;border:1px solid #ecf0f1;padding:5px 0;border-top:none;background:#FFF;margin-left:-1px;box-shadow:rgba(0,0,0,.1) 0 2px 3px;z-index:12}.trumbowyg-dropdown button{display:block;width:100%;height:35px;line-height:35px;text-decoration:none;background:#FFF;padding:0 10px;color:#333!important;border:none;cursor:pointer;text-align:left;font-size:15px;transition:all 150ms}.trumbowyg-dropdown button:focus,.trumbowyg-dropdown button:hover{background:#ecf0f1}.trumbowyg-dropdown button svg{float:left;margin-right:14px}.trumbowyg-modal{max-width:520px;width:100%;height:350px;z-index:12;overflow:hidden}.trumbowyg-modal-box{max-width:500px;width:calc(100% - 20px);padding-bottom:45px;z-index:1;background-color:#FFF;text-align:center;font-size:14px;box-shadow:rgba(0,0,0,.2) 0 2px 3px}.trumbowyg-modal-box .trumbowyg-modal-title{font-size:24px;font-weight:700;margin:0 0 20px;padding:15px 0 13px;display:block;border-bottom:1px solid #EEE;color:#333;background:#fbfcfc}.trumbowyg-modal-box .trumbowyg-progress{width:100%;height:3px;position:absolute;top:58px}.trumbowyg-modal-box .trumbowyg-progress .trumbowyg-progress-bar{background:#2BC06A;width:0;height:100%;transition:width 150ms linear}.trumbowyg-modal-box label{display:block;position:relative;margin:15px 12px;height:29px;line-height:29px;overflow:hidden}.trumbowyg-modal-box label .trumbowyg-input-infos{display:block;text-align:left;height:25px;line-height:25px;transition:all 150ms}.trumbowyg-modal-box label .trumbowyg-input-infos span{display:block;color:#69878f;background-color:#fbfcfc;border:1px solid #DEDEDE;padding:0 7px;width:150px}.trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error{color:#e74c3c}.trumbowyg-modal-box label.trumbowyg-input-error input,.trumbowyg-modal-box label.trumbowyg-input-error textarea{border:1px solid #e74c3c}.trumbowyg-modal-box label.trumbowyg-input-error .trumbowyg-input-infos{margin-top:-27px}.trumbowyg-modal-box label input{position:absolute;top:0;right:0;height:27px;line-height:27px;border:1px solid #DEDEDE;background:#fff;font-size:14px;max-width:330px;width:70%;padding:0 7px;transition:all 150ms}.trumbowyg-modal-box label input:focus,.trumbowyg-modal-box label input:hover{outline:0;border:1px solid #95a5a6}.trumbowyg-modal-box label input:focus{background:#fbfcfc}.trumbowyg-modal-box label input[type=checkbox]{left:5px;top:5px;right:auto}.trumbowyg-modal-box label input[type=checkbox]+.trumbowyg-input-infos span{width:auto;padding-left:25px}.trumbowyg-modal-box .error{margin-top:25px;display:block;color:red}.trumbowyg-modal-box .trumbowyg-modal-button{position:absolute;bottom:10px;right:0;text-decoration:none;color:#FFF;display:block;width:100px;height:35px;line-height:33px;margin:0 10px;background-color:#333;border:none;cursor:pointer;font-family:"Trebuchet MS",Helvetica,Verdana,sans-serif;font-size:16px;transition:all 150ms}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit{right:110px;background:#2bc06a}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus,.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover{background:#40d47e;outline:0}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active{background:#25a25a}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset{color:#555;background:#e6e6e6}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus,.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover{background:#fbfbfb;outline:0}.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active{background:#d5d5d5}.trumbowyg-overlay{position:absolute;background-color:rgba(255,255,255,.5);height:100%;width:100%;left:0;display:none;top:0;z-index:10}body.trumbowyg-body-fullscreen{overflow:hidden}.trumbowyg-fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;margin:0;padding:0;z-index:99999}.trumbowyg-fullscreen .trumbowyg-editor,.trumbowyg-fullscreen.trumbowyg-box{border:none}.trumbowyg-fullscreen .trumbowyg-editor,.trumbowyg-fullscreen .trumbowyg-textarea{height:calc(100% - 37px)!important;overflow:auto}.trumbowyg-fullscreen .trumbowyg-overlay{height:100%!important}.trumbowyg-fullscreen .trumbowyg-button-group .trumbowyg-fullscreen-button svg{color:#222;fill:transparent}.trumbowyg-editor embed,.trumbowyg-editor img,.trumbowyg-editor object,.trumbowyg-editor video{max-width:100%}.trumbowyg-editor img,.trumbowyg-editor video{height:auto}.trumbowyg-editor img{cursor:move}.trumbowyg-editor.trumbowyg-reset-css{background:#FEFEFE!important;font-family:"Trebuchet MS",Helvetica,Verdana,sans-serif!important;font-size:14px!important;line-height:1.45em!important;color:#333}.trumbowyg-editor.trumbowyg-reset-css a{color:#15c!important;text-decoration:underline!important}.trumbowyg-editor.trumbowyg-reset-css blockquote,.trumbowyg-editor.trumbowyg-reset-css div,.trumbowyg-editor.trumbowyg-reset-css ol,.trumbowyg-editor.trumbowyg-reset-css p,.trumbowyg-editor.trumbowyg-reset-css ul{box-shadow:none!important;background:0 0!important;margin:0 0 15px!important;line-height:1.4em!important;font-family:"Trebuchet MS",Helvetica,Verdana,sans-serif!important;font-size:14px!important;border:none}.trumbowyg-editor.trumbowyg-reset-css hr,.trumbowyg-editor.trumbowyg-reset-css iframe,.trumbowyg-editor.trumbowyg-reset-css object{margin-bottom:15px!important}.trumbowyg-editor.trumbowyg-reset-css blockquote{margin-left:32px!important;font-style:italic!important;color:#555}.trumbowyg-editor.trumbowyg-reset-css ul{list-style:disc}.trumbowyg-editor.trumbowyg-reset-css ol,.trumbowyg-editor.trumbowyg-reset-css ul{padding-left:20px!important}.trumbowyg-editor.trumbowyg-reset-css ol ol,.trumbowyg-editor.trumbowyg-reset-css ol ul,.trumbowyg-editor.trumbowyg-reset-css ul ol,.trumbowyg-editor.trumbowyg-reset-css ul ul{border:none;margin:2px!important;padding:0 0 0 24px!important}.trumbowyg-editor.trumbowyg-reset-css hr{display:block;height:1px;border:none;border-top:1px solid #CCC}.trumbowyg-editor.trumbowyg-reset-css h1,.trumbowyg-editor.trumbowyg-reset-css h2,.trumbowyg-editor.trumbowyg-reset-css h3,.trumbowyg-editor.trumbowyg-reset-css h4{color:#111;background:0 0;margin:0!important;padding:0!important;font-weight:700}.trumbowyg-editor.trumbowyg-reset-css h1{font-size:32px!important;line-height:38px!important;margin-bottom:20px!important}.trumbowyg-editor.trumbowyg-reset-css h2{font-size:26px!important;line-height:34px!important;margin-bottom:15px!important}.trumbowyg-editor.trumbowyg-reset-css h3{font-size:22px!important;line-height:28px!important;margin-bottom:7px!important}.trumbowyg-editor.trumbowyg-reset-css h4{font-size:16px!important;line-height:22px!important;margin-bottom:7px!important}.trumbowyg-dark .trumbowyg-textarea{background:#111;color:#ddd}.trumbowyg-dark .trumbowyg-box{border:1px solid #343434}.trumbowyg-dark .trumbowyg-box.trumbowyg-fullscreen{background:#111}.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before{text-shadow:0 0 7px #ccc}@media screen and (min-width:0 \0){.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before{color:rgba(20,20,20,.6)!important}}@supports (-ms-accelerator:true){.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *,.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before{color:rgba(20,20,20,.6)!important}}.trumbowyg-dark .trumbowyg-box svg{fill:#ecf0f1;color:#ecf0f1}.trumbowyg-dark .trumbowyg-button-pane{background-color:#222;border-bottom-color:#343434}.trumbowyg-dark .trumbowyg-button-pane::after{background:#343434}.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-button-group:not(:empty)::after{background-color:#343434}.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-button-group:not(:empty) .trumbowyg-fullscreen-button svg{color:transparent}.trumbowyg-dark .trumbowyg-button-pane.trumbowyg-disable .trumbowyg-button-group::after{background-color:#2a2a2a}.trumbowyg-dark .trumbowyg-button-pane button.trumbowyg-active,.trumbowyg-dark .trumbowyg-button-pane button:not(.trumbowyg-disable):focus,.trumbowyg-dark .trumbowyg-button-pane button:not(.trumbowyg-disable):hover{background-color:#333}.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-open-dropdown::after{border-top-color:#fff}.trumbowyg-dark .trumbowyg-fullscreen .trumbowyg-button-group .trumbowyg-fullscreen-button svg{color:#ecf0f1;fill:transparent}.trumbowyg-dark .trumbowyg-dropdown{border-color:#222;background:#333;box-shadow:rgba(0,0,0,.3) 0 2px 3px}.trumbowyg-dark .trumbowyg-dropdown button{background:#333;color:#fff!important}.trumbowyg-dark .trumbowyg-dropdown button:focus,.trumbowyg-dark .trumbowyg-dropdown button:hover{background:#222}.trumbowyg-dark .trumbowyg-modal-box{background-color:#222}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-title{border-bottom:1px solid #555;color:#fff;background:#3c3c3c}.trumbowyg-dark .trumbowyg-modal-box label{display:block;position:relative;margin:15px 12px;height:27px;line-height:27px;overflow:hidden}.trumbowyg-dark .trumbowyg-modal-box label .trumbowyg-input-infos span{color:#eee;background-color:#2f2f2f;border-color:#222}.trumbowyg-dark .trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error{color:#e74c3c}.trumbowyg-dark .trumbowyg-modal-box label.trumbowyg-input-error input,.trumbowyg-dark .trumbowyg-modal-box label.trumbowyg-input-error textarea{border-color:#e74c3c}.trumbowyg-dark .trumbowyg-modal-box label input{border-color:#222;color:#eee;background:#333}.trumbowyg-dark .trumbowyg-modal-box label input:focus,.trumbowyg-dark .trumbowyg-modal-box label input:hover{border-color:#626262}.trumbowyg-dark .trumbowyg-modal-box label input:focus{background-color:#2f2f2f}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit{background:#1b7943}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus,.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover{background:#25a25a}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active{background:#176437}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset{background:#333;color:#ccc}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus,.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover{background:#444}.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active{background:#111}.trumbowyg-dark .trumbowyg-overlay{background-color:rgba(15,15,15,.6)}PKZi*plugins/pagelayer/css/owl.carousel.min.cssnu[/** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-carousel,.pagelayer-owl-carousel .pagelayer-owl-item{-webkit-tap-highlight-color:transparent;position:relative}.pagelayer-owl-carousel{display:none;width:100%;z-index:1}.pagelayer-owl-carousel .pagelayer-owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.pagelayer-owl-carousel .pagelayer-owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.pagelayer-owl-carousel .pagelayer-owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item,.pagelayer-owl-carousel .pagelayer-owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.pagelayer-owl-carousel .pagelayer-owl-item img{display:block;width:100%}.pagelayer-owl-carousel .pagelayer-owl-dots.disabled,.pagelayer-owl-carousel .pagelayer-owl-nav.disabled{display:none}.no-js .pagelayer-owl-carousel,.pagelayer-owl-carousel.pagelayer-owl-loaded{display:block}.pagelayer-owl-carousel .pagelayer-owl-dot,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-prev,.pagelayer-owl-carousel button.pagelayer-owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.pagelayer-owl-carousel.pagelayer-owl-loading{opacity:0;display:block}.pagelayer-owl-carousel.pagelayer-owl-hidden{opacity:0}.pagelayer-owl-carousel.pagelayer-owl-refresh .pagelayer-owl-item{visibility:hidden}.pagelayer-owl-carousel.pagelayer-owl-drag .pagelayer-owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel.pagelayer-owl-grab{cursor:move;cursor:grab}.pagelayer-owl-carousel.pagelayer-owl-rtl{direction:rtl}.pagelayer-owl-carousel.pagelayer-owl-rtl .pagelayer-owl-item{float:right}.pagelayer-owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.pagelayer-owl-carousel .pagelayer-owl-animated-in{z-index:0}.pagelayer-owl-carousel .pagelayer-owl-animated-out{z-index:1}.pagelayer-owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.pagelayer-owl-height{transition:height .5s ease-in-out}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy{opacity:0;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy:not([src]),.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy[src^=""]{max-height:0}.pagelayer-owl-carousel .pagelayer-owl-item img.pagelayer-owl-lazy{transform-style:preserve-3d}.pagelayer-owl-carousel .pagelayer-owl-video-wrapper{position:relative;height:100%;background:#000}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-play-icon,.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-tn{display:none}.pagelayer-owl-carousel .pagelayer-owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-video-frame{position:relative;z-index:1;height:100%;width:100%}PKZ;==plugins/pagelayer/css/pen.cssnu[/*! Licensed under MIT, https://github.com/sofish/pen */ /* basic reset */ .pen, .pen-menu, .pen-input, .pen textarea{font:400 1.16em/1.45 Palatino, Optima, Georgia, serif;color:#331;} .pen:focus{outline:none;} .pen fieldset, img {border: 0;} .pen blockquote{padding-left:10px;margin-left:-14px;border-left:4px solid #1abf89;} .pen a{color:#1abf89;} .pen del{text-decoration:line-through;} .pen sub, .pen sup {font-size:75%;position:relative;vertical-align:text-top;} :root .pen sub, :root .pen sup{vertical-align:baseline; /* for ie9 and other mordern browsers */} .pen sup {top:-0.5em;} .pen sub {bottom:-0.25em;} .pen hr{border:none;border-bottom:1px solid #cfcfcf;margin-bottom:25px;*color:pink;*filter:chroma(color=pink);height:10px;*margin:-7px 0 15px;} .pen small{font-size:0.8em;color:#888;} .pen em, .pen b, .pen strong{font-weight:700;} .pen pre{white-space:pre-wrap;padding:0.85em;background:#f8f8f8;} /* block-level element margin */ .pen p, .pen pre, .pen ul, .pen ol, .pen dl, .pen form, .pen table, .pen blockquote{margin-bottom:16px;} /* headers */ .pen h1, .pen h2, .pen h3, .pen h4, .pen h5, .pen h6{margin-bottom:16px;font-weight:700;line-height:1.2;} .pen h1{font-size:2em;} .pen h2{font-size:1.8em;} .pen h3{font-size:1.6em;} .pen h4{font-size:1.4em;} .pen h5, .pen h6{font-size:1.2em;} /* list */ .pen ul, .pen ol{margin-left:1.2em;} .pen ul, .pen-ul{list-style:disc;} .pen ol, .pen-ol{list-style:decimal;} .pen li ul, .pen li ol, .pen-ul ul, .pen-ul ol, .pen-ol ul, .pen-ol ol{margin:0 2em 0 1.2em;} .pen li ul, .pen-ul ul, .pen-ol ul{list-style: circle;} /* pen menu */ .pen-menu [class^="icon-"], .pen-menu [class*=" icon-"] { /* reset to avoid conflicts with Bootstrap */ background: transparent; background-image: none; } .pen-menu { min-width: 320px; } .pen-menu, .pen-input{font-size:14px;line-height:1;} .pen-menu{white-space:nowrap;box-shadow:1px 2px 3px -2px #222;background:#333;background-image:linear-gradient(to bottom, #222, #333);opacity:0.9;position:fixed;height:36px;border:1px solid #333;border-radius:3px;display:none;z-index:1000;} .pen-menu:after {top:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;} .pen-menu:after {border-color:rgba(51, 51, 51, 0);border-top-color:#333;border-width:6px;left:50%;margin-left:-6px;} .pen-menu-below:after {top: -11px; display:block; -moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg);} .pen-icon{font:normal 900 16px/40px Georgia serif;min-width:20px;display:inline-block;padding:0 10px;height:36px;overflow:hidden;color:#fff;text-align:center;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;} .pen-icon:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px;} .pen-icon:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;} .pen-icon:hover{background:#000;} .pen-icon.active{color:#1abf89;background:#000;box-shadow:inset 2px 2px 4px #000;} .pen-input{position:absolute;width:100%;left:0;top:0;height:36px;line-height:20px;background:#333;color:#fff;border:none;text-align:center;display:none;font-family:arial, sans-serif;} .pen-input:focus{outline:none;} .pen-textarea{display:block;background:#f8f8f8;padding:20px;} .pen textarea{font-size:14px;border:none;background:none;width:100%;_height:200px;min-height:200px;resize:none;} .pen-menu [class^="icon-"]:before, .pen-menu [class*=" icon-"]:before { font-family: "Font Awesome 5 Free"; font-style: normal; font-weight: 900; speak: none; display: inline-block; text-decoration: inherit; width: 1em; margin-right: .2em; text-align: center; font-variant: normal; text-transform: none; line-height: 1em; margin-left: .2em; } .pen-menu .icon-location:before { content: '\e815'; } /* '' */ .pen-menu .icon-fit:before { content: '\e80f'; } /* '' */ .pen-menu .icon-bold:before { content: "\f032"; } /* '' */ .pen-menu .icon-italic:before { content: "\f033"; } /* '' */ .pen-menu .icon-justifyleft:before { content: '\e80a'; } /* '' */ .pen-menu .icon-justifycenter:before { content: '\e80b'; } /* '' */ .pen-menu .icon-justifyright:before { content: '\e80c'; } /* '' */ .pen-menu .icon-justifyfull:before { content: '\e80d'; } /* '' */ .pen-menu .icon-outdent:before { content: '\e800'; } /* '' */ .pen-menu .icon-indent:before { content: '\e801'; } /* '' */ .pen-menu .icon-mode:before { content: '\e813'; } /* '' */ .pen-menu .icon-fullscreen:before { content: '\e80e'; } /* '' */ .pen-menu .icon-insertunorderedlist:before { content: '\e802'; } /* '' */ .pen-menu .icon-insertorderedlist:before { content: '\e803'; } /* '' */ .pen-menu .icon-strikethrough:before { content: "\f0cc"; } /* '' */ .pen-menu .icon-strike:before { content: "\f0cc"; } /* '' */ .pen-menu .icon-underline:before { content: "\f0cd"; } /* '' */ .pen-menu .icon-blockquote:before { content: '\e814'; } /* '' */ .pen-menu .icon-undo:before { content: '\e817'; } /* '' */ .pen-menu .icon-code:before { content: '\e816'; } /* '' */ .pen-menu .icon-pre:before { content: '\e816'; } /* '' */ .pen-menu .icon-unlink:before { content: '\e811'; } /* '' */ .pen-menu .icon-superscript:before { content: '\e808'; } /* '' */ .pen-menu .icon-subscript:before { content: '\e809'; } /* '' */ .pen-menu .icon-inserthorizontalrule:before { content: '\e818'; } /* '' */ .pen-menu .icon-pin:before { content: '\e812'; } /* '' */ .pen-menu .icon-createlink:before { content: '\e810'; } /* '' */ .pen-menu .icon-h1:before { content: 'H1'; } .pen-menu .icon-h2:before { content: 'H2'; } .pen-menu .icon-h3:before { content: 'H3'; } .pen-menu .icon-h4:before { content: 'H4'; } .pen-menu .icon-h5:before { content: 'H5'; } .pen-menu .icon-h6:before { content: 'H6'; } .pen-menu .icon-p:before { content: 'P'; } .pen-menu .icon-insertimage:before { width:1.8em;margin:0;position:relative;top:-2px;content:'IMG';font-size:12px;border:1px solid #fff;padding:2px;border-radius:2px; } .pen { position: relative; } .pen.hinted h1:before, .pen.hinted h2:before, .pen.hinted h3:before, .pen.hinted h4:before, .pen.hinted h5:before, .pen.hinted h6:before, .pen.hinted blockquote:before, .pen.hinted hr:before { color: #eee; position: absolute; right: 100%; white-space: nowrap; padding-right: 10px; } .pen.hinted blockquote { border-left: 0; margin-left: 0; padding-left: 0; } .pen.hinted blockquote:before { color: #1abf89; content: ">"; font-weight: bold; vertical-align: center; } .pen.hinted h1:before { content: "#";} .pen.hinted h2:before { content: "##";} .pen.hinted h3:before { content: "###";} .pen.hinted h4:before { content: "####";} .pen.hinted h5:before { content: "#####";} .pen.hinted h6:before { content: "######";} .pen.hinted hr:before { content: "﹘﹘﹘"; line-height: 1.2; vertical-align: bottom; } .pen.hinted pre:before, .pen.hinted pre:after { content: "```"; display: block; color: #ccc; } .pen.hinted ul { list-style: none; } .pen.hinted ul li:before { content: "*"; color: #999; line-height: 1; vertical-align: bottom; margin-left: -1.2em; display: inline-block; width: 1.2em; } .pen.hinted b:before, .pen.hinted b:after { content: "**"; color: #eee; font-weight: normal; } .pen.hinted i:before, .pen.hinted i:after { content: "*"; color: #eee; } .pen.hinted a { text-decoration: none; } .pen.hinted a:before {content: "["; color: #ddd; } .pen.hinted a:after { content: "](" attr(href) ")"; color: #ddd; } .pen-placeholder:after { position: absolute; top: 0; left: 0; content: attr(data-placeholder); color: #999; cursor: text; } PKZnD>>$plugins/pagelayer/css/customizer.cssnu[.pagelayer-customize-control{ position: relative; margin-top: 10px; } .pagelayer-customize-heading{ background-color: #fff; padding: 10px; margin: 5px -12px 0; font-weight: 600; font-style: normal; } .pagelayer-customize-heading .dashicons{ color: #a7aaad; font-size: 16px; position: absolute; right: 5px; top: 50%; transform: translateY(-50%); } .pagelayer-customize-control .customize-control-title{ font-weight: 400; } .pagelayer-customize-control-title{ display:flex; } /* pagelayer padding controls*/ .pagelayer-control-padding{ display: flex; align-items: center; border: 1px solid #4444; border-radius: 5px; overflow: hidden; } .pagelayer-control-padding input.pagelayer-padding-input{ border-radius: 0; border: 0; flex: 1; border-right: 1px solid #4444; text-align: center; } .pagelayer-control-padding i.dashicons{ padding:5px; font-size: 16px; display: flex; align-items: center; cursor:pointer; } .pagelayer-padding-linked{ background-color: #137dc5; color: #fff; } /* pagelayer padding controls end*/ /* pagelayer Typography controls*/ .pagelayer-control-typo-holder{ text-align: right; } .pagelayer-control-typo-holder .pagelayer-control-global-typo-icon, .pagelayer-control-typo-holder .pagelayer-control-typo-icon{ background: #fff; align-items: center; margin-left: auto; padding: 3px 6px; border-radius: 4px; border: 1px solid #999; cursor:pointer; font-size: 18px; display: inline-flex; justify-content: center; } .pagelayer-control-typo{ padding: 5px; margin: 10px 0; display: none; background: #fff; border-radius: 3px; width: 250px; position: relative; text-align: left; box-shadow: 0 0px 15px #b4b4b4 } .pagelayer-control-typo .pagelayer-control-typo-fields{ padding: 10px 5px; display: flex; align-items: center; } .pagelayer-control-typo .pagelayer-control-typo-fields:not(:last-child){ border-bottom: 1px dashed #d1d1d1; } .pagelayer-control-typo .pagelayer-control-typo-fields > *{ flex: 1; font-size: 13px; } .pagelayer-typo-global-default{ display:none; width: 16px; height: 16px; font-size: 16px; cursor: pointer; } .pagelayer-global-on .pagelayer-control-typo-fields:not([pagelayer-set-global]):hover .pagelayer-typo-global-default{ display: inline-block; } /* pagelayer Typography controls end*/ /* pagelayer device Start*/ .pagelayer-devices button{ border:none; display:none; cursor:pointer; background: transparent; } .pagelayer-devices button.active-device{ display:inline-block; color:#50575e; } [data-device-detector="desktop"] [data-show-device]:not([data-show-device="_desktop"]), [data-device-detector="tablet"] [data-show-device]:not([data-show-device="_tablet"]), [data-device-detector="mobile"] [data-show-device]:not([data-show-device="_mobile"]){ display:none; } .pagelayer-devices .dashicons{ font-size: 16px; vertical-align: middle; } /* pagelayer device end*/ /* pagelayer units*/ .pagelayer-units{ flex:1; text-align: right; cursor:pointer; } .pagelayer-units [data-unit]:hover, .pagelayer-units [data-unit].active{ color:#137dc5; } /* pagelayer units end*/ /* Alpha Color Picker CSS */ .wp-picker-input-wrap label { margin-bottom: 0 !important; } .customize-control-pagelayer-alpha-color .wp-picker-container, .pagelayer-control-typo-icons-holder{ position: absolute; right:0; top:0; } .customize-control-pagelayer-alpha-color .wp-picker-container .iris-picker { border-bottom:none; border:none; } .customize-control-pagelayer-alpha-color .wp-color-result{ background-clip: content-box !important; padding: 1px !important; border: 1px solid #999; width: 35px !important; height: 30px !important; position:relative; background: none; border-radius: 5px; } .customize-control-pagelayer-alpha-color .pagelayer-control-global-color-icon{ position: absolute; right: 38px; top: 0; background: #fff; border-radius: 4px; border: 1px solid #999; cursor: pointer; height: 30px; display: inline-flex; justify-content: center; align-items: center; font-size: 18px; width: 35px; } .customize-control-pagelayer-alpha-color .wp-color-result:hover, .customize-control-pagelayer-alpha-color .wp-color-result:focus{ background: none; } .customize-control-pagelayer-alpha-color .wp-color-result:before{ content: ''; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC1QTFRFAAAAAQEBBQUFDAwM9PT0+vr6/////v7+BAQE+/v7AgIC/f39AwMDDQ0N8/Pzb6ggJQAAAZ5JREFUeJztlr1twzAQhU+tK7ELDDdBNsgO2SAznAr3JAJXWSJp49YLuPAW2cJbhEdSQZBCEMRHgMVj5U80HnkSfz4Ra06eXjSoTvr6HKGGU94o8vBpqPr2LjLUcAr8ikNEnLx6jT93VZxneBn1Zg9uOlxsxO0suTkXfJywTsG5Ok5x9hK0NKM6bhEosh+nq+HJD+c6TmvG2r8RtrMb9g4aOKY3CA0ElyyHcbAHIXNw5Q9bWeLG2aUH80ItU97K8ihlhmmIUFb+dpZvOceNE7fOnz/UsNztHAMEzSwf6idEqTOLHv0R8THc7/o72Qzrl8vMwAVdmreDFhloLxQcCC65QSC45AYfBV0yfGGjtx78cLjrVaHHF/yAhV8B8EsKfo3CL/pRHFZFnIBlCa5z9EP6If1wBdMPe5QleMkNAumHuZ9+SD9cYPphjzpHP6Qf0g9XMP2wR1mCl9wgkH6Y++mH9MMFph/2qHP0Q/oh/XAF0w97lCV4yQ0C6Ye5n35IP1xg+mGPOkc/pB/SD1cw/bBHWYKX3CCQfpj76Yfr+QfwnsxmcLvdhQAAAABJRU5ErkJggg==) !important; background-size: 140% !important; opacity: 33%; width: 29px; height: 24px; position: absolute; left: 2px; top: 2px; z-index: -1; border-radius: 5px; } .customize-control-pagelayer-alpha-color .wp-color-result-text{ display:none; } .customize-control-pagelayer-alpha-color .wp-picker-container{ width: 35px; } .customize-control-pagelayer-alpha-color .wp-picker-input-wrap { display: flex; align-items: center; justify-content: center; padding: 0 10px } .customize-control-pagelayer-alpha-color .wp-picker-open + .wp-picker-input-wrap { width: 100%; } .customize-control-pagelayer-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.pagelayer-alpha-color-control{ width:100%; } .customize-control-pagelayer-alpha-color .wp-picker-input-wrap input[type="button"].wp-picker-default{ flex:auto; height: 27px; } .customize-control-pagelayer-alpha-color .wp-picker-holder{ background: #fff; padding-top:10px; display: none; border-radius: 5px; z-index: 999; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); position: relative; right: 220px; width: 100%; } .customize-control-pagelayer-alpha-color .wp-picker-container .wp-picker-open ~ .wp-picker-holder{ display: table; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container { padding: 0 11px 10px; position: relative; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-widget-content, .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-widget-header, .customize-control-pagelayer-alpha-color .alpha-color-picker-wrap .ui-state-focus { background: transparent; border: none; } .customize-control-pagelayer-alpha-color .alpha-color-picker-wrap a.iris-square-value:focus { -webkit-box-shadow: none; box-shadow: none; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-slider { position: relative; z-index: 1; height: 24px; text-align: center; margin: 0 auto; width: 88%; width: calc( 100% - 28px ); } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-slider-handle, .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-widget-content .ui-state-default { color: #777; background-color: #FFF; text-shadow: 0 1px 0 #FFF; text-decoration: none; position: absolute; z-index: 2; box-shadow: 0 1px 2px rgba(0,0,0,0.2); border: 1px solid #aaa; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; margin-top: -2px; top: 0; height: 26px; width: 26px; cursor: ew-resize; font-size: 0; padding: 0; line-height: 27px; margin-left: -14px; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .ui-slider-handle.show-opacity { font-size: 12px; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .click-zone { width: 14px; height: 24px; display: block; position: absolute; left: 10px; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .max-click-zone { right: 10px; left: auto; } .customize-control-pagelayer-alpha-color .alpha-color-picker-container .transparency { height: 24px; width: 100%; background-color: #FFF; background-image: url(../images/color-picker-transparency-grid.png); box-shadow: 0 0 5px rgba(0,0,0,0.4) inset; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; padding: 0; margin-top: -24px; } /* Alpha Color Picker CSS End */ /* Color Repeater CSS Start */ .pagelayer-font-holder{ list-style-type: none; margin: 0; padding: 0; padding-bottom: 15px; position: relative; min-height: 30px; } .pagelayer-color-holder{ list-style-type: none; margin: 0; padding: 0; padding-bottom: 15px; position: relative; min-height: 30px; display: flex; align-items: center; } .pagelayer-color-holder .pagelayer-color-controls, .pagelayer-font-holder .pagelayer-font-controls, .customize-control-font-repeater-delete, .customize-control-color-repeater-delete{ margin-right: 45px; font-size: 0.7rem; flex: 1; text-align: right; color: #8f8f8f; } .customize-control-font-repeater-delete{ position: absolute; right: 0; top: 4px; } .pagelayer-color-holder:not(:hover) .customize-control-color-repeater-delete, .pagelayer-color-holder:hover .pagelayer-color-controls:not(.pagelayer-prevent-delete){ display: none; } .customize-control-font-repeater-delete .dashicons:hover, .customize-control-color-repeater-delete .dashicons:hover{ color: #f00; } .customize-control-font-repeater-delete, .customize-control-color-repeater-delete{ text-decoration: none; font-weight: 600; cursor: pointer; font-size: 1rem; } .customize-control-font-repeater-delete .dashicons:active, .customize-control-font-repeater-delete .dashicons:focus, .customize-control-color-repeater-delete .dashicons:active, .customize-control-color-repeater-delete .dashicons:focus { outline: none; -webkit-box-shadow: none; box-shadow: none; } .customize-control-font-repeater-add, .customize-control-color-repeater-add{ display: block !important; margin: auto !important; } .pagelayer-font-title, .pagelayer-color-title{ padding: 5px; } .pagelayer-font-title{ float: left; } .pagelayer-global-selected, .pagelayer-global-font-list-item:hover, .pagelayer-global-color-list-item:hover{ background: #f9f9f9; } .pagelayer-global-selected:after{ content: "\f15e"; font-family: dashicons; font-size: 20px; color: #137dc5; } .pagelayer-global-font-list, .pagelayer-global-color-list{ position: absolute; background: #fff; padding: 10px 0; z-index: 9999; border-radius: 4px; right: 0; top: 35px; width: 250px; display: none; max-height: 350px; overflow-y: auto; } .pagelayer-global-font-list{ text-align: left; width: 200px; box-shadow: 0px 1px 8px rgb(209 209 209); } .pagelayer-global-font-list-item, .pagelayer-global-color-list-item{ display: flex; padding: 10px 20px; cursor: pointer; } .pagelayer-global-font-list-item .pagelayer-global-font-title, .pagelayer-global-color-list-item .pagelayer-global-color-title{ flex: 1; } .pagelayer-global-color-list-item .pagelayer-global-color-pre{ position: relative; border: 1px solid #f1f1f1; margin-right: 7px; padding: 1px; background-clip: content-box; } .pagelayer-global-color-list-item .pagelayer-global-color-pre:before{ content: ''; padding: 0px 10px; background-color: #ff000000; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=); -webkit-background-size: 12px 12px; background-size: 6px 6px; position: relative; z-index: -1; } .pagelayer-active-global{ color: #137dc5; } .pagelayer-hidden{ display: none; } .pagelayer-global-setting-color{ position: relative; box-shadow: 0 1px 2px #d2cfcf; padding: 4px 4px 10px 4px; margin-bottom: 5px; } .pagelayer-global-setting-font{ display: flex; align-items: center; margin: -5px -5px 5px; padding: 5px 10px; position: relative; box-shadow: 0 1px 2px #d2cfcf; } .pagelayer-global-setting-color b{ margin-left: 11px; } .pagelayer-global-setting-color .dashicons{ right: 15px; position: absolute; cursor: pointer; font-size: 14px; } .pagelayer-global-setting-font .dashicons{ right: 30px; border: none; font-size: 16px; cursor: pointer; } .pagelayer-global-setting-font .dashicons-admin-generic{ right: 15px; } .pagelayer-control-typo-fields-label .dashicons-undo:hover, .pagelayer-devices .dashicons:hover, .pagelayer-global-setting-font .dashicons:hover, .pagelayer-global-setting-color .dashicons:hover{ color: #137dc5; } #sub-accordion-section-pagelayer_global_colors_sec{ height: 100% !important; } .pagelayer-accordion-tab{ cursor: pointer; } /* pagelayer controls*/ .pagelayer-customize-inside-control-row{ display:flex; } input[type="radio"].pagelayer-customize-radio{ font-size: 14px; flex: 1 !important; width: 100% !important; height: 2.6em !important; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; border: 1px solid #fff!important; border-radius: 2px !important; margin:0 !important; box-shadow: none !important; } input[type="radio"].pagelayer-customize-radio:before{ content: attr(data-label) !important; background: #fff; color: #000; width: calc(100% - 4px); height: calc(100% - 4px); margin: 2px; display: flex; align-items: center; justify-content: center; border-radius: 2px; font-weight: 600; } input[type="radio"].pagelayer-customize-radio:hover:before{ color: #137dc5; } input[type=checkbox].pagelayer-customize-checkbox:checked, input[type="radio"].pagelayer-customize-radio:checked:before{ background-color: #137dc5; border-color: #137dc5; color: #fff ; } .pagelayer-customize-inside-control-row > label{ flex:1; } input[type=checkbox].pagelayer-customize-checkbox{ font-size: 14px !important; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 3.5em !important; height: 1.7em; background: #ddd; border-radius: 3em; position: relative; cursor: pointer; outline: none; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; margin:0; } input[type=checkbox].pagelayer-customize-checkbox:before{ position: absolute; content: "" !important; width: 1.5em !important; height: 1.5em !important; border-radius: 50% !important; background: #fff; -webkit-box-shadow: 0 0 0.25em rgb(0 0 0 / 30%); box-shadow: 0 0 0.25em rgb(0 0 0 / 30%); -webkit-transform: scale(.7); transform: scale(.7); left: 0; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; display: flex; align-items: center; justify-content: center; } input[type=checkbox].pagelayer-customize-checkbox:checked:before{ left: calc(100% - 1.5em); margin: 0; } /* pagelayer controls end*/ /* pagelayer slider*/ .pagelayer-slider-custom-control .customize-control-title{ display:inline-block !important; } .pagelayer-slider-custom-control input[type=number]::-webkit-inner-spin-button, .pagelayer-slider-custom-control input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } .pagelayer-slider-custom-control input[type=number] { -moz-appearance: textfield; width: 50px !important; float: right !important; } .pagelayer-slider-custom-control input[type=range]{ width: calc(100% - 60px) !important; float: left !important; margin: 7px 0 !important; } .pagelayer-slider-custom-control .pagelayer-units{ float: right; } /* pagelayer slider end*/PKZAv v )plugins/pagelayer/css/pagelayer-admin.cssnu[.pagelayer-tab-panel{ padding:20px; display:none; } .pagelayer-setting-form th, .pagelayer-setting-form td{ padding:10px 20px 10px 0px; text-align:left; } .pagelayer-internal-table th, .pagelayer-internal-table td{ padding:3px; text-align:left; } .pagelayer-acc-wrapper{ width:90%; } .pagelayer-acc-wrapper .pagelayer-acc-tab{ width:100%; float:unset; display:block; padding:10px; } .pagelayer-acc-wrapper .pagelayer-acc-panel{ padding:0px 20px; display:none; } .pagelayer-setting-form td .pagelayer-app-id{ width:350px; } .pagelayer-cf table{ width: 80%; } .pagelayer-cf table label, .pagelayer-cf table input:not([type="checkbox"]):not([type="radio"]), .pagelayer-cf table textarea{ width: 100%; } .pagelayer-show-vanilla{ border: 1px solid #0495ce; display: block; padding: 4px; text-decoration: none; position: relative; width: 40px; box-sizing: content-box; } .pagelayer-show-vanilla .dashicons{ position: absolute; right:0px; top: 0px; font-size: 14px; background: #686868; color: #fff; width: 16px; height: 16px; } .pagelayer-color-div{ width: 40px; height: 25px; display: inline-block; vertical-align: middle; } .pagelayer-color-none{ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC1QTFRFAAAAAQEBBQUFDAwM9PT0+vr6/////v7+BAQE+/v7AgIC/f39AwMDDQ0N8/Pzb6ggJQAAAZ5JREFUeJztlr1twzAQhU+tK7ELDDdBNsgO2SAznAr3JAJXWSJp49YLuPAW2cJbhEdSQZBCEMRHgMVj5U80HnkSfz4Ra06eXjSoTvr6HKGGU94o8vBpqPr2LjLUcAr8ikNEnLx6jT93VZxneBn1Zg9uOlxsxO0suTkXfJywTsG5Ok5x9hK0NKM6bhEosh+nq+HJD+c6TmvG2r8RtrMb9g4aOKY3CA0ElyyHcbAHIXNw5Q9bWeLG2aUH80ItU97K8ihlhmmIUFb+dpZvOceNE7fOnz/UsNztHAMEzSwf6idEqTOLHv0R8THc7/o72Qzrl8vMwAVdmreDFhloLxQcCC65QSC45AYfBV0yfGGjtx78cLjrVaHHF/yAhV8B8EsKfo3CL/pRHFZFnIBlCa5z9EP6If1wBdMPe5QleMkNAumHuZ9+SD9cYPphjzpHP6Qf0g9XMP2wR1mCl9wgkH6Y++mH9MMFph/2qHP0Q/oh/XAF0w97lCV4yQ0C6Ye5n35IP1xg+mGPOkc/pB/SD1cw/bBHWYKX3CCQfpj76Yfr+QfwnsxmcLvdhQAAAABJRU5ErkJggg==') !important; background-size: cover !important; } .pagelayer-heading-tab-panel{ display:none; } .pagelayer-styles-screens > li{ display: inline-block; } .pagelayer-heading-tab{ background: #fff !important; border: 1px solid #ccc; border-bottom: 0px; border-radius:0px; } .pagelayer-heading-wrapper{ margin-right: 20px; border-bottom: unset; } .pagelayer-heading-wrapper .nav-tab{ display:block; width: 100%; box-sizing: border-box; } .pagelayer-website-padding{ width:65px; } .pagelayer-notice{ padding: 10px; background-color: #fff; border: 1px solid #ccc; } .pagelayer-notice-info{ border-left: 5px solid #00a0d2 !important; } .button-pagelayer{ padding: 12px 25px !important; font-size: 15px !important; font-weight: bold; background: #7444fd !important; color: #fff !important; border: 1px solid #7444fd !important; transition: all .3s linear; pointer: cursor; } .button-pagelayer:hover{ background: #fff !important; color: #7444fd !important; } .pagelayer-pro-div{ margin: 50px auto; display: block; max-width: 700px; padding: 20px; background-color: #fff; } .pagelayer-pro-head{ text-align: center; } .pagelayer-pro-message{ margin: 25px auto; font-size: 15px; padding: 2px 25px; text-align: center; line-height: 1.8; }PKZ *..)plugins/pagelayer/css/pagelayer-icons.cssnu[@font-face { font-family: 'pagelayer'; src: url('../fonts/pagelayer.eot?p8l7ih'); src: url('../fonts/pagelayer.eot?p8l7ih#iefix') format('embedded-opentype'), url('../fonts/pagelayer.ttf?p8l7ih') format('truetype'), url('../fonts/pagelayer.woff?p8l7ih') format('woff'), url('../fonts/pagelayer.svg?p8l7ih#pagelayer') format('svg'); font-weight: normal; font-style: normal; font-display: block; } [class^="pli-"], [class*=" pli-"], .pagelayer-shortcode, .trumbowyg-button-group > button, .trumbowyg-button-group > button:before, .trumbowyg-dropdown-formatting > button{ font-family: 'pagelayer', "Font Awesome 5 Free" !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; text-decoration: inherit; font-weight: 400; vertical-align: top; -webkit-transition: color .1s ease-in 0; transition: color .1s ease-in 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: all 0.3s; } .pagelayer-shortcode{ color:#444; width: 22px; height: 22px; font-size: 22px; line-height: 1; text-align: center; } .pagelayer-dark .pagelayer-shortcode{ color:#fff; } .trumbowyg-dropdown-formatting > button:before{ margin-right:10px; } .trumbowyg-button-group > button, .trumbowyg-button-group > button:before{ font-size: 13px; } .pli-files1:before { content: "\e92f"; } .pli-note-text:before, .pagelayer-pl_post_excerpt:before{ content: "\e939"; } .pli-note-list:before, .pagelayer-pl_menu_item:before, .pagelayer-pl_menu_list:before{ content: "\e93c"; } .pli-document-text:before { content: "\e940"; } .pli-document-text1:before, .pagelayer-pl_post_content:before{ content: "\e941"; } .pli-documents:before, .pagelayer-pl_templates:before{ content: "\e944"; } .pli-stop-watch:before { content: "\e946"; } .pli-menu:before, .pagelayer-pl_row:before{ content: "\f0c9"; } .pli-quotes-right:before, .pagelayer-pl_quote:before, .pagelayer-pl_testimonial:before, .trumbowyg-blockquote-dropdown-button:before{ content: "\e907"; } .pli-round:before, .pagelayer-pl_list_item:before, .pagelayer-pl_list:before{ content: "\e908"; } .pli-download:before, .pagelayer-pl_download:before{ content: "\e909"; } .pli-checkbox-unchecked:before, .pagelayer-pl_btn:before{ content: "\e90b"; } .pli-ungroup:before, .pagelayer-pl_splash:before{ content: "\e90c"; } .pli-window:before, .pagelayer-pl_modal:before{ content: "\e90e"; } .pli-type:before, .pagelayer-pl_heading:before, .pagelayer-pl_post_title:before, .pagelayer-pl_archive_title:before{ content: "\e90f"; } .pli-film2:before { content: "\e910"; } .pli-profile:before, .pagelayer-pl_iconbox:before, .pagelayer-pl_author_box:before{ content: "\e912"; } .pli-price-tags:before { content: "\e913"; } .pli-clicks:before, .pagelayer-pl_call:before{ content: "\e916"; } .pli-img-hotspots:before, .pagelayer-pl_image_hotspot:before{ content: "\e91c"; } .pli-map-addon-alt:before, .pagelayer-pl_google_maps:before{ content: "\e924"; } .pli-menus:before { content: "\e92a"; } .pli-pages:before, .pagelayer-pl_posts:before{ content: "\e92e"; } .pli-post-grid:before, .pagelayer-pl_content_slide:before, .pagelayer-pl_slide:before, .pagelayer-pl_slides:before{ content: "\e933"; } .pli-pricing-alt:before, .pagelayer-pl_pricing:before{ content: "\e937"; } .pli-service:before { content: "\e938"; } .pli-share:before { content: "\e93a"; } .pli-slider:before, .pagelayer-pl_image_slider:before{ content: "\e93f"; } .pli-spacer:before, .pagelayer-pl_space:before{ content: "\e942"; } .pli-tab-alt:before, .pagelayer-pl_tab:before, .pagelayer-pl_tabs:before{ content: "\e943"; } .pli-timer:before, .pagelayer-pl_countdown:before{ content: "\e945"; } .pli-video-slider:before, .pagelayer-pl_video_slider:before{ content: "\e947"; } .pagelayer-pl_before_after:before{ content: "\f302"; } .pli-widget-area:before, .pagelayer-pl_inner_row:before{ content: "\e948"; } .pli-accordion:before, .pagelayer-pl_accordion_item:before, .pagelayer-pl_accordion:before{ content: "\e949"; } .pli-categories:before { content: "\e94a"; } .pli-chart-bar:before, .pagelayer-pl_chart_datasets:before, .pagelayer-pl_chart:before{ content: "\e94d"; } .pli-post-sliders2:before { content: "\e951"; } .pli-social-button:before, .pagelayer-pl_share_grp:before{ content: "\e952"; } .pli-comments:before, .pagelayer-pl_post_comment:before{ content: "\e970"; } .pli-star-o:before, .pagelayer-pl_icon:before{ content: "\f006"; } .pli-th:before, .pagelayer-pl_grid_gallery:before{ content: "\f00a"; } .pli-volume-up:before, .pagelayer-pl_audio:before{ content: "\f028"; } .pli-align-left:before, .pagelayer-pl_text:before{ content: "\f036"; } .pli-video-camera:before, .pagelayer-pl_video:before{ content: "\f03d"; } .pli-image1:before, .pagelayer-pl_image:before, .trumbowyg-wpmedia-button:before{ content: "\f03e"; } .pli-edit:before { content: "\f044"; } .pli-calendar:before { content: "\f073"; } .pli-table:before, .pagelayer-pl_table_row:before, .pagelayer-pl_table_col:before, .pagelayer-pl_table:before{ content: "\f0ce"; } .pli-code:before, .pagelayer-pl_embed:before, .trumbowyg-viewHTML-button:before{ content: "\f121"; } .pli-clone:before, .pagelayer-pl_btn_grp:before{ content: "\f24d"; } .pli-calendar-plus-o:before { content: "\f271"; } .pli-wpforms:before, .pagelayer-pl_contact_item:before, .pagelayer-pl_contact:before{ content: "\f298"; } .pli-qrcode:before, .pagelayer-pl_social_grp:before{ content: "\f029"; } .pli-plus-circle:before { content: "\f055"; } .pli-ellipsis-h:before, .pagelayer-pl_shortcodes:before{ content: "\f141"; } .pli-commenting-o:before, .pagelayer-pl_tooltip:before{ content: "\f27b"; } .pli-id-badge:before, .pagelayer-pl_badge:before{ content: "\f2c1"; } .pli-music_video:before { content: "\e91d"; } .pli-contacts:before, .pagelayer-pl_testimonial_slider:before{ content: "\e91e"; } .pli-content_copy:before { content: "\e90a"; } .pli-view_day:before, .pagelayer-pl_collapse:before{ content: "\e91f"; } .pli-minus1:before { content: "\e911"; } .pli-starburst:before, .trumbowyg-backColor-button:before{ content: "\e901"; } .pli-starburst-outline:before, .trumbowyg-foreColor-button:before{ content: "\e900"; } .pli-th-large-outline:before, .pagelayer-pl_post_folio:before{ content: "\e914"; } .pli-arrow-forward-outline:before, .trumbowyg-undo-button:before{ content: "\e905"; } .pli-arrow-back-outline:before, .trumbowyg-redo-button:before{ content: "\e904"; } .pli-message-typing:before, .pagelayer-pl_review:before, .pagelayer-pl_review_slider:before{ content: "\e915"; } .pagelayer-pl_anim_heading:before{ content: "\e902"; } .pli-social-facebook-circular:before, .pagelayer-pl_fb_comments:before{ content: "\e918"; } .pli-files:before, .pagelayer-pl_archive_posts:before{ content: "\e919"; } .pli-picture:before, .pagelayer-pl_service:before{ content: "\e920"; } .pli-trashcan:before { content: "\e917"; } .pli-layout:before, .pagelayer-pl_col:before{ content: "\e906"; } .pli-log-out:before { content: "\e928"; } .pli-login:before, .pagelayer-pl_login:before{ content: "\e929"; } .pli-progress-two:before, .pagelayer-pl_progress:before{ content: "\e92c"; } .pli-sound-mix:before, .pagelayer-pl_flipbox:before{ content: "\e92d"; } .pli-swap:before, .pagelayer-pl_post_nav:before{ content: "\e930"; } .pli-anchor:before, .pagelayer-pl_anchor:before{ content: "\e931"; } .pli-news-paper:before { content: "\e932"; } .pli-servers:before{ content: "\e934"; } .pli-pencil:before { content: "\e935"; } .pli-image:before { content: "\e90d"; } .pli-profile1:before { content: "\e936"; } .pli-file-picture:before, .pagelayer-pl_featured_img:before{ content: "\e93b"; } .pli-copy:before { content: "\e93e"; } .pli-folder-open:before { content: "\e93d"; } .pli-history:before { content: "\e94e"; } .pli-desktop:before { content: "\f108"; } .pli-mobile:before { content: "\f3cd"; } .pli-tablet:before { content: "\f3fa"; } .pli-search:before, .pagelayer-pl_search:before{ content: "\e986"; } .pli-enlarge:before, .trumbowyg-fullscreen-button:before{ content: "\e989"; } .pli-equalizer:before { content: "\e992"; } .pli-equalizer2:before { content: "\e993"; } .pli-clipboard:before { content: "\e9b8"; } .pli-list-numbered:before, .trumbowyg-orderedList-button:before{ content: "\e9b9"; } .pli-list:before, .trumbowyg-unorderedList-button:before{ content: "\e9ba"; } .pli-tree:before, .pagelayer-pl_sitemap_item:before, .pagelayer-pl_sitemap:before{ content: "\e9bc"; } .pli-link:before, .trumbowyg-link-button:before{ content: "\e9cb"; } .pli-attachment:before { content: "\e9cd"; } .pli-eye:before { content: "\e9ce"; } .pli-eye-blocked:before { content: "\e9d1"; } .pli-star-half:before, .pagelayer-pl_stars:before{ content: "\e9d8"; } .pli-minus:before, .pagelayer-pl_divider:before, .trumbowyg-horizontalRule-button:before{ content: "\ea0b"; } .pli-info:before, .pagelayer-pl_alert:before, .pagelayer-pl_post_info_list:before, .pagelayer-pl_post_info:before{ content: "\ea0c"; } .pli-cross:before { content: "\ea0f"; } .pli-checkmark:before { content: "\ea10"; } .pli-stop:before, .pagelayer-pl_block:before{ content: "\ea1e"; } .pli-arrow-right:before, .pagelayer-pl_breadcrumb:before{ content: "\ea34"; } .pli-arrow-left:before{ content: "\f061"; } .pli-circle-right:before { content: "\ea42"; } .pli-sort-numberic-desc:before, .pagelayer-pl_counter:before{ content: "\ea4b"; } .pli-font:before, .trumbowyg-fontfamily-button:before{ content: "\ea5c"; } .pli-font-size:before, .trumbowyg-fontsize-button:before{ content: "\ea61"; } .pli-bold:before, .trumbowyg-strong-button:before{ content: "\ea62"; } .pli-underline:before { content: "\ea63"; } .pli-italic:before, .trumbowyg-em-button:before{ content: "\ea64"; } .pli-strikethrough:before, .trumbowyg-del-button:before{ content: "\ea65"; } .pli-superscript:before, .trumbowyg-superscript-button:before{ content: "\ea69"; } .pli-subscript:before, .trumbowyg-subscript-button:before{ content: "\ea6a"; } .pli-clear-formatting:before, .trumbowyg-removeformat-button:before{ content: "\ea6f"; } .pli-pilcrow:before, .trumbowyg-formatting-button:before, .trumbowyg-p-dropdown-button:before{ content: "\ea73"; } .trumbowyg-h1-dropdown-button:before, .trumbowyg-h2-dropdown-button:before, .trumbowyg-h3-dropdown-button:before, .trumbowyg-h4-dropdown-button:before{ content: "\e902"; } .pli-paragraph-left:before, .trumbowyg-justifyLeft-button:before{ content: "\f036"; } .pli-paragraph-center:before, .trumbowyg-justifyCenter-button:before{ content: "\f037"; } .pli-paragraph-right:before, .trumbowyg-justifyRight-button:before{ content: "\f038"; } .pli-paragraph-justify:before, .trumbowyg-justifyFull-button:before{ content: "\f039"; } .trumbowyg-lineheight-button:before{ content: "\e91a"; font-size: 15px !important; } .pli-indent-increase:before { content: "\ea7b"; } .pli-indent-decrease:before { content: "\ea7c"; } .pli-facebook:before, .pagelayer-pl_fb_embed:before{ content: "\ea90"; } .pli-facebook-square:before, .pagelayer-pl_fb_btn:before, .pagelayer-pl_fb_page:before{ content: "\ea91"; } .pli-wordpress:before, i[class*="pagelayer-pl_wp_"]:before{ content: "\eab4"; } .pli-caret-right:before{ content: "\f0da"; } .pli-woo:before, .pagelayer-pl_add_to_cart:before, .pagelayer-pl_products:before, i[class*="pagelayer-pl_woo_"]:before, i[class*="pagelayer-pl_product_"]:before{ content: "\e03d"; }PKZ ]]#plugins/pagelayer/css/notes.owl.txtnu[1) Rename all CSS .owl to .pagelayer-owl 2) Rename owlCarousel to pagelayerowlCarousel in JSPKZ+'plugins/pagelayer/css/pagelayer-pen.cssnu[/* Pagelayer Pen editor*/ .pagelayer-pen{ -webkit-user-select: text; user-select: text; } .pagelayer-pen-holder{ font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; background-color: #ffffff; position: fixed; z-index: 9999999999; top: 50px; left: 0; transform: translateY(-100%); box-shadow: 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 2px 4px -1px rgb(0 0 0 / 20%); border-radius: 2px; line-height: 1; padding: 8px 2px; font-size: 15px !important; display: none; } .pagelayer-pen-toolbar{ font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; box-sizing: border-box; width: max-content; max-width: 90vw; background: none; cursor: pointer; } .pagelayer-pen-toolbar .pagelayer-pen-formats{ display: inline-block; vertical-align: middle; padding-right: 7px; padding-left: 7px; border-left:1px solid #ccc; font-weight: 700; } .pagelayer-pen-toolbar button{ background: none; border: none; cursor: pointer; display: inline-block; float: left; height: 24px; padding: 3px 5px; width: 28px; font-size: 14px !important; font-weight: 700 !important; color: #444; } .pagelayer-pen-toolbar button strong{ font-weight: bold !important; } .pagelayer-pen-toolbar .pagelayer-pen-formats:first-child { padding-left: 0px !important; border-left: 0px; } /* Start Dropdown picker*/ .pagelayer-pen-picker{ color: #444; display: inline-block; float: left; height: 24px; position: relative; vertical-align: middle; padding:3px 5px; font-size: 14px !important; font-weight: 500 !important; } .pagelayer-pen-picker-label { cursor: pointer; display: inline-block; height: 100%; position: relative; width: 100%; } .pagelayer-pen-picker .pagelayer-pen-picker-label:after { content: "\f0dc"; padding-left: 15px; font-weight: 600; font-family: "Font Awesome 5 Free"; font-size: 12px; } .pagelayer-pen-picker.pagelayer-pen-font .pagelayer-pen-picker-label:after, .pagelayer-pen-picker.pagelayer-pen-lineheight .pagelayer-pen-picker-label:after, .pagelayer-pen-picker.pagelayer-pen-color-picker .pagelayer-pen-picker-label:after { content: ""; padding-left: 0; } .pagelayer-pen-picker-label::before { display: inline-block; } .pagelayer-pen-picker-options { background-color: #fff; display: none; min-width: 100%; padding: 4px 8px; position: absolute; white-space: nowrap; margin-left: -8px; max-height: 200px; overflow: auto; } .pagelayer-pen-picker-options::-webkit-scrollbar { width:3px; } .pagelayer-pen-picker-options::-webkit-scrollbar-track { background: #f1f1f1; } .pagelayer-pen-picker-options::-webkit-scrollbar-thumb { background: #888; } .pagelayer-pen-picker-options::-webkit-scrollbar-thumb:hover { background: #555; cursor:context-menu; } .pagelayer-pen-picker-options .pagelayer-pen-picker-item { cursor: pointer; display: block; padding-bottom: 5px; padding-top: 5px; } .pagelayer-pen-picker.pagelayer-pen-expanded .pagelayer-pen-picker-label { color: #ccc; z-index: 2; } .pagelayer-pen-picker.pagelayer-pen-expanded .pagelayer-pen-picker-label .pagelayer-pen-fill { fill: #ccc; } .pagelayer-pen-picker.pagelayer-pen-expanded .pagelayer-pen-picker-label .pagelayer-pen-stroke { stroke: #ccc; } .pagelayer-pen-picker.pagelayer-pen-expanded .pagelayer-pen-picker-options { display: block; margin-top: -1px; top: 100%; z-index: 1; box-shadow: 0px 0px 1px 1px #e4e4e4; } .pagelayer-pen-color-picker .pagelayer-pen-picker-labe{ padding: 2px 4px; } .pagelayer-pen-icon-picker .pagelayer-pen-picker-options { padding: 4px 0px; } .pagelayer-pen-icon-picker .pagelayer-pen-picker-item { height: 24px; width: 24px; padding: 2px 4px; } .pagelayer-pen-color-picker .pagelayer-pen-picker-options { padding: 3px 5px; width: 152px; } .pagelayer-pen-color-picker .pagelayer-pen-picker-item { border: 1px solid transparent; float: left; height: 16px; margin: 2px; padding: 0px; width: 16px; } .pagelayer-pen-size-picker .pagelayer-pen-picker-label:before, .pagelayer-pen-picker:not(.pagelayer-pen-color-picker) .pagelayer-pen-picker-item:empty:before{ content: attr(data-value); } .pagelayer-pen-link-tooltip > *{ margin:0 2px; } .pagelayer-pen-link-tooltip input{ min-width: 300px; font-size: 13px; padding: 5px; } .pagelayer-pen-unlink-btn, .pagelayer-pen-link-btn{ padding: 7px; cursor: pointer; border-radius: 4px; font-size: 13px; } /* End Dropdown picker*/ /* Start HTML viewer*/ .pagelayer-pen-html-viewer{ position: fixed; top: 0; bottom: 0; left: 0; right: 0; display: none; background: #0000009c; z-index:999999; } .pagelayer-pen-html-viewer .pagelayer-pen-html-holder{ width: 90%; height: 80vh; margin: auto; top: 50%; position: relative; transform: translateY(-50%); background: #fff; box-shadow: 0px 0px 7px 0px #fff; } .pagelayer-pen-html-viewer .pagelayer-pen-html-area{ resize: none; width: 100%; height: calc(100% - 50px); border-radius: 0; padding: 10px; font-family: courier, courier new, serif; line-height: 1.5; } .pagelayer-pen-html-viewer .pagelayer-pen-html-btn{ height: 40px; text-align: center; display: flex; align-items: center; justify-content: center; } .pagelayer-pen-html-viewer .pagelayer-pen-html-btn button{ margin-right: 10px; padding: 7px 20px !important; font-size: 15px !important; } .pagelayer-pen-html-viewer .pagelayer-pen-html-area:focus{ border:none; outline:none; } /* End HTML viewer*/ .pagelayer-pen-toolbar .pagelayer-pen-close{ background: #e6e6e6; position: absolute; top: 0; right: 0; width: auto; height: auto; border-radius: 0; } .pagelayer-pen-toolbar .pagelayer-pen-close .fas{ font-size: 10px !important; color: #fb0101; margin:0; padding:0; } .pagelayer-pen-toolbar svg{ width:18px; float:left; } .pagelayer-pen-stroke{ fill: none; stroke: #444; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; } .pagelayer-pen-active, .pagelayer-pen-toolbar button:hover, .pagelayer-pen-picker-label:hover, .pagelayer-pen-picker-item:hover, .pagelayer-pen-active .fas, .pagelayer-pen-toolbar button:hover .fas, .pagelayer-pen-picker-label:hover .fas, .pagelayer-pen-picker-item:hover .fas{ color: #06c; } .pagelayer-pen-active .pagelayer-pen-fill, .pagelayer-pen-toolbar button:hover .pagelayer-pen-fill, .pagelayer-pen-picker-label:hover .pagelayer-pen-fill, .pagelayer-pen-picker-item:hover .pagelayer-pen-fill{ fill: #06c; } .pagelayer-pen-active .pagelayer-pen-stroke, .pagelayer-pen-toolbar button:hover .pagelayer-pen-stroke, .pagelayer-pen-picker-label:hover .pagelayer-pen-stroke, .pagelayer-pen-picker-item:hover .pagelayer-pen-stroke{ stroke: #06c; } .pagelayer-pen-custom-input{ display: block; width: 100%; min-width: 75px; height: 25px; margin-top: 5px; margin-bottom: 5px; font-size: 12px !important; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h1"]:before{ content: "Heading 1" !important; font-size: 2em; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h2"]:before{ content: "Heading 2" !important; font-size: 1.5em; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h3"]:before{ content: "Heading 3" !important; font-size: 1em; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h4"]:before{ content: "Heading 4" !important; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h5"]:before{ content: "Heading 5" !important; font-size: 0.83em; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="h6"]:before{ content: "Heading 6" !important; font-size: 0.67em; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="p"]:before{ content: "Paragraph" !important; } .pagelayer-pen-formating .pagelayer-pen-picker-item[data-value="blockquote"]:before{ content: "Blockquote" !important; }PKZ4if"f"'plugins/pagelayer/css/nivo-lightbox.cssnu[/*! * Nivo Lightbox v1.3.1 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-overlay { position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 100%; overflow: hidden; visibility: hidden; opacity: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .nivo-lightbox-overlay.nivo-lightbox-open { visibility: visible; opacity: 1; } .nivo-lightbox-wrap { position: absolute; top: 10%; bottom: 10%; left: 10%; right: 10%; } .nivo-lightbox-content { width: 100%; height: 100%; } .nivo-lightbox-title-wrap { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 99999; text-align: center; } .nivo-lightbox-nav { display: none; } .nivo-lightbox-prev { position: absolute; top: 50%; left: 0; } .nivo-lightbox-next { position: absolute; top: 50%; right: 0; } .nivo-lightbox-close { position: absolute; top: 2%; right: 2%; } .nivo-lightbox-image { text-align: center; } .nivo-lightbox-image img { max-width: 100%; max-height: 100%; width: auto; height: auto; vertical-align: middle; display: inline-block; } .nivo-lightbox-content iframe { width: 100%; height: 100%; } .nivo-lightbox-inline, .nivo-lightbox-ajax { max-height: 100%; overflow: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */ } .nivo-lightbox-error { display: table; text-align: center; width: 100%; height: 100%; color: #fff; text-shadow: 0 1px 1px #000; } .nivo-lightbox-error p { display: table-cell; vertical-align: middle; } /* Effects **********************************************/ .nivo-lightbox-notouch .nivo-lightbox-effect-fade, .nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale, .nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft, .nivo-lightbox-notouch .nivo-lightbox-effect-slideRight, .nivo-lightbox-notouch .nivo-lightbox-effect-slideUp, .nivo-lightbox-notouch .nivo-lightbox-effect-slideDown, .nivo-lightbox-notouch .nivo-lightbox-effect-fall { -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } /* fadeScale */ .nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap { -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); } .nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } /* slideLeft / slideRight / slideUp / slideDown */ .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap, .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); } .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap { -webkit-transform: translateX(-10%); -moz-transform: translateX(-10%); -ms-transform: translateX(-10%); transform: translateX(-10%); } .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap { -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); transform: translateX(10%); } .nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transform: translateY(-10%); -moz-transform: translateY(-10%); -ms-transform: translateY(-10%); transform: translateY(-10%); } .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap { -webkit-transform: translateY(10%); -moz-transform: translateY(10%); -ms-transform: translateY(10%); transform: translateY(10%); } .nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } /* fall */ .nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall { -webkit-perspective: 1000px; -moz-perspective: 1000px; perspective: 1000px; } .nivo-lightbox-effect-fall .nivo-lightbox-wrap { -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; -webkit-transform: translateZ(300px); -moz-transform: translateZ(300px); -ms-transform: translateZ(300px); transform: translateZ(300px); } .nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); } /* * Nivo Lightbox Default Theme v1.0 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-theme-default.nivo-lightbox-overlay { background: #666; background: rgba(0,0,0,0.6); } .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background: url(../images/nivo-icons/loading.gif) no-repeat 50% 50%; } .nivo-lightbox-theme-default .nivo-lightbox-nav { top: 10%; width: 8%; height: 80%; text-indent: -9999px; background-repeat: no-repeat; background-position: 50% 50%; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-nav:hover { opacity: 1; background-color: rgba(0,0,0,0.5); } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev.png); border-radius: 0 3px 3px 0; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next.png); border-radius: 3px 0 0 3px; } .nivo-lightbox-theme-default .nivo-lightbox-close { display: block; background: url(../images/nivo-icons/close.png) no-repeat; width: 48px; height: 48px; text-indent: -9999px; padding: 5px; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-close:hover { opacity: 1; } .nivo-lightbox-theme-default .nivo-lightbox-title-wrap { bottom: -7%; } .nivo-lightbox-theme-default .nivo-lightbox-title { font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; background: #000; color: #fff; padding: 7px 15px; border-radius: 30px; } .nivo-lightbox-theme-default .nivo-lightbox-image img { background: #fff; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } .nivo-lightbox-theme-default .nivo-lightbox-ajax, .nivo-lightbox-theme-default .nivo-lightbox-inline { background: #fff; padding: 40px; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } @media (-webkit-min-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) { .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background-image: url(../images/nivo-icons/loading@2x.gif); -webkit-background-size: 32px 32px; background-size: 32px 32px; } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-close { background-image: url(../images/nivo-icons/close@2x.png); -webkit-background-size: 16px 16px; background-size: 16px 16px; } }PKZ\ !plugins/pagelayer/css/givecss.phpnu[ $v){ //echo $k.'
    '; $data .= file_get_contents($self_path.'/'.$v)."\n\n"; } if(!empty($final_premium)){ foreach($final_premium as $k => $v){ //echo $k.'
    '; $data_premium .= file_get_contents($premium_path.'/'.$v)."\n\n"; } } // We are zipping if possible if(function_exists('ob_gzhandler') && !ini_get('zlib.output_compression')){ ob_start('ob_gzhandler'); } // Type CSS header("Content-type: text/css; charset: UTF-8"); // Set a zero Mtime $filetime = filemtime($self_path.'/pagelayer-editor.css'); // Cache Control header("Cache-Control: must-revalidate"); // Checking if the client is validating his cache and if it is current. if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $filetime)) { // Client's cache IS current, so we just respond '304 Not Modified'. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $filetime).' GMT', true, 304); return; }else{ // Image not cached or cache outdated, we respond '200 OK' and output the image. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $filetime).' GMT', true, 200); } if(defined('DOING_AJAX') && !defined('SITEPAD')){ $data = str_replace('../fonts/', '../wp-content/plugins/'.(basename(dirname(dirname(__FILE__)))).'/fonts/', $data); } echo $data; echo $data_premium; // Write if we are front-end only then $dev = dirname(dirname(__FILE__)).'/dev.php'; if(!empty($_REQUEST['write']) && file_exists($dev)){ include_once($dev); write_css(); } PKZ, r&&3plugins/pagelayer/css/pagelayer-editor-frontend.cssnu[ /* Add an element box */ .pagelayer-add-ele{ display:block; vertical-align:middle; text-align:center; border:1px dashed #4a4949; min-height:60px; padding:5px; color:#4f4f4f; font-size: 16px; line-height: 1.5; position: relative; } .pagelayer-add-ele .fas{ font-size:15px; color:#4a4949; cursor:pointer; } .pagelayer-add-ele .fas:hover:before{ color:#3e8ef7; } .pagelayer-add-ele span, .pagelayer-add-widget-area p{ font-family: "Open Sans", Arial, Helvetica, sans-serif; } .pagelayer-empty-col{ display:table-cell; } .pagelayer-row{ min-height:20px; } /* Since we have a wrap, we set the cols to the wrap. Hence we need to make the width of the real thing to 100% */ .pagelayer-ele-wrap>.pagelayer-col{ width:100%; } .pagelayer-ele-wrap{ position: relative; } /*.pagelayer-ele-option{ min-height: 10px; } */ .pagelayer-wrap-col{ align-content: unset !important; } .pagelayer-ele-overlay{ position: absolute; width: 100%; height: 100%; right: 0px; top: 0px; z-index: 10; pointer-events:none; opacity: 0%; outline-width:0px; } .pagelayer-ele-hover, .pagelayer-drag-ele-hover{/* Both classes are same. but its just that during drag, we use the later */ outline:1px solid #a8a8a8; opacity: 100%; transition: transform 0.2s linear, opacity 0.2s linear; } .pagelayer-active{ outline:1px solid #999; opacity: 100%; } .pagelayer-hide-active>.pagelayer-ele-overlay{ outline: transparent !important; opacity: 0 !important; } .pagelayer-row-hover{ outline:1px solid #277CF9; } .pagelayer-col-hover{ outline:1px solid #42ADE1; } .pagelayer-ele-option, .pagelayer-row-option, .pagelayer-col-option{ position: absolute; top:0px; right:0px; z-index: 20; padding:0px; margin:0px; line-height: 0; pointer-events:auto; } .pagelayer-eoi{ display:inline-block !important; font-size:12px !important; padding:4px !important; background:#444; color:#fff; } .pagelayer-eoi:hover{ background:#222; cursor: pointer; } .pagelayer-row-option{ top:-20px; left:calc(50% - 63px/2); z-index: 30; } .pagelayer-row-option-zero>.pagelayer-wrap-row:nth-child(1 of .pagelayer-wrap-row)>.pagelayer-ele-overlay .pagelayer-row-option{ top:0; } .pagelayer-row-option .pagelayer-eoi{ background:#277CF9; } .pagelayer-row-option .pagelayer-eoi:hover{ background:#1c59b3; } .pagelayer-wrap-row > .pagelayer-ele-overlay .pagelayer-move-up, .pagelayer-col-holder > .pagelayer-wrap-inner-row:first-child > .pagelayer-ele-overlay .pagelayer-move-up, .pagelayer-col-holder > .pagelayer-wrap-ele:first-child > .pagelayer-ele-overlay .pagelayer-move-up{ display:none !important; } .pagelayer-wrap-row ~ .pagelayer-wrap-row > .pagelayer-ele-overlay .pagelayer-move-up{ display:inline-block !important; } .pagelayer-wrap-row:nth-last-of-type(2) > .pagelayer-ele-overlay .pagelayer-move-down, .pagelayer-col-holder > .pagelayer-wrap-inner-row:last-child > .pagelayer-ele-overlay .pagelayer-move-down, .pagelayer-col-holder > .pagelayer-wrap-ele:last-child > .pagelayer-ele-overlay .pagelayer-move-down{ display:none !important; } .pagelayer-col-option .pagelayer-eoi{ background:#42ADE1; } .pagelayer-col-option .pagelayer-eoi:hover{ background:#1070AA; } .pagelayer-col-option{ top:0px; left:0px; z-index: 30; width: 21px; } .pagelayer-splash{ background-image:url(../images/splash.png); height:30px; background-position: center center; background-repeat: no-repeat; background-size: cover; } .pagelayer-space-holder{ background:url(../images/space.png); background-repeat:repeat; } .pagelayer-anchor{ background-image:url(../images/anchor.png); height:30px; background-position: center center; background-repeat: no-repeat; background-size: cover; } /* Right Click */ .pagelayer-right-click-options{ position:absolute; background:#e9eaea; border-radius: 2px; box-shadow: 0 0 5px rgba(0,0,0,0.1); z-index: 99999; border: 1px solid rgba(0,0,0,0.2); min-width:135px; /*max-width:170px;*/ } .pagelayer-right-click-options ul{ list-style: none; margin: 0; padding: 0; } .pagelayer-right-click-options a{ color: #4a4949; padding: 8px 10px; width: 100%; display: block; transition: all 0.2s; white-space:nowrap; } .pagelayer-right-click-options a .far{ margin-right: 5px; } .pagelayer-right-click-options a:hover{ background: #449D44; color:#fff; } .pagelayer-right-click-options li{ border-bottom: 1px solid rgb(236, 236, 236); font-size: 12px; font-family: Opensans, arial; cursor:pointer; } .pagelayer-right-click-options .pagelayer-right-delete:hover { background:#EF4D4D; } /* Pagelayer add section area */ .pagelayer-add-widget-area{ padding: 10px; width:100%; text-align: center; border: 2px #3e8ef7; border-style: dashed; position:relative; font-family: "Open Sans", Arial,Helvetica,sans-serif; margin:20px auto; cursor: pointer; } .pagelayer-add-widget-area .pagelayer-add-button{ font-size: 14px; font-weight: bold; border: 1px solid #007bff; background-color: #007bff; color:#fff; border-radius:5px; padding:9px; margin-right:5px; cursor:pointer; display:inline-block; } .pagelayer-add-widget-area .pagelayer-add-button:hover{ border: 1px solid #0069d9; background-color: #0069d9; } .pagelayer-add-widget-area .pagelayer-add-section{ border: 1px solid #17a2b8; background-color: #17a2b8; } .pagelayer-add-widget-area .pagelayer-add-section:hover{ border: 1px solid #138496; background-color: #138496; } .pagelayer-add-widget-area p{ margin: 0px !important; color:#4f4f4f; font-size: 20px; line-height: 1.8; } .pagelayer-add-widget-drag{ border-color: #111111; background: #c4d2de; } /* Pagelayer Drag stuff */ .pagelayer-is-dragging{ opacity: 0.33; transition:0.1s; } .pagelayer-drag-show{ position:absolute; top:0px; left:0px; display:none; background: blue; z-index:1000; } .pagelayer-drag-prospect{ height:1px; background:#00BCD4; z-index: 1000; width: 100%; } .pagelayer-drag-prospect-col{ position: absolute; top: 0px; width: 1px; height: 100% !important; } /* Column resize handler icon */ .pagelayer-resize-handler{ position:absolute; top:50%; left:100%; transform: translate(-43%, -50%); color: #fff; font-size: 11px; z-index: 99; cursor:ew-resize; display:none; pointer-events: all; } .pagelayer-resize-icon{ background-color: #42ADE1; padding: 3px; border-radius: 4px; height:30px; display:inline-block; } .pagelayer-resize-handler:before{ content:attr(pre-width); background: #4f4f4f; position: absolute; right: 120%; top: 50%; transform: translateY(-50%); padding: 0 6px; border-radius:100%; } .pagelayer-resize-handler:after{ content:attr(next-width); background: #4f4f4f; position: absolute; left: 120%; top: 50%; transform: translateY(-50%); padding: 0 6px; border-radius:100%; } /* Hide resize handler icon from last child*/ .pagelayer-wrap-col:not(:last-child):hover > .pagelayer-ele-hover .pagelayer-resize-handler{ display:block; } /* Column resize handler icon end */ /* WordPress media box CSS */ [id^="__wp-uploader"] .screen-reader-text{ display:none; } [id^="__wp-uploader"] .media-button-select{ text-transform: uppercase; font-weight: 700; letter-spacing: 0.046875em; } /* WordPress media box CSS end */ /* image drop zone css start */ .pagelayer-image-drop-zone{ position:absolute; text-align:center; width:100%; height:100%; z-index:3; background-color: #2ea5dff0; display:none; } .pagelayer-image-drop-zone *{ pointer-events:none; } .pagelayer-image-drop-zone > div{ position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .pagelayer-image-drop-zone div *{ color: white !important; line-height: 1; } .pagelayer-image-drop-zone div i{ font-size:50px; } .pagelayer-image-drop-zone h4{ margin: 20px; } .pagelayer-img-up-progress { width: 30%; margin-left: auto; margin-right: auto; background-color: transparent; border: 2px solid white; border-radius: 30px; padding: 3px; } .pagelayer-img-up-bar { width: 3%; height: 7px; background-color: white; line-height: 7px; text-align: center; border-radius: 30px; } @media screen and (max-width: 600px) { .pagelayer-img-up-progress { width: 54%; } } /* image drop zone css start */ .pagelayer-pro-req{ font-size: 10px; padding: 2px 4px; display: inline-block; background-color: #e63131; color: #fff; margin-left: 4px; border-radius: 2px; cursor: pointer; } /* Media upload box css */ .media-modal .media-modal-content h1{ font-size: 22px !important; line-height: 2.27 !important; } .media-modal .media-modal-content h2{ font-size: 13px !important; line-height: 1 !important; } .media-modal .media-modal-content .uploader-inline h2{ font-size: 20px !important; line-height: 1.4 !important; font-weight: 400 !important; } /* Media upload box css end */ /*Tooltip widget*/ .pagelayer-service-details{ position:relative; z-index:9; } .pagelayer-shortcode-plus{ border: none; margin: auto; z-index: 11; cursor: pointer; font-size: 10px; position: absolute; left: 50%; transform: translateX(-50%); bottom: -7px; text-align: center; pointer-events: all; display: none; line-height:1 !important; padding:0 !important; } .pagelayer-show-wiget-list{ opacity:100%; } .pagelayer-show-wiget-list .pagelayer-shortcode-plus, :not(.pagelayer-hide-active) > .pagelayer-ele-hover .pagelayer-shortcode-plus{ display: block !important; } .pagelayer-shortcode-plus .fas{ display: inline-block !important; font-size: 10px !important; padding: 2px !important; background: #444; color: #fff; } .pagelayer-shortcode-plus:hover .fas{ background: #0069d9; } [contenteditable]:focus{ outline: 0px; } [data-placeholder-text]::after{ display:flex; content: attr(data-placeholder-text); position:absolute; top: 50%; transform: translateY(-50%); left:3px; pointer-events:none; opacity:0.6; user-select:none; } .pagelayer-missing-message{ border: 1px solid #434343; background: #fff; padding: 10px; border-radius: 3px; font-size: 13px; } .pagelayer-row-not-found{ padding: 6px; margin: 10px 5px; border: 1px dashed #5a5a5a; } .pagelayer-row-not-found .pagelayer-click-add-row{ cursor: pointer; color: #007bff !important; }PKZ9|nqGqG*plugins/pagelayer/css/pagelayer-editor.cssnu[/* PAGELAYER http://pagelayer.com/ (c) Pagelayer Team */ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } body { margin: 0; } main { display: block; } h1 { font-size: 2em; margin: 0.67em 0; } hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } a { background-color: transparent; } abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } b, strong { font-weight: bolder; } code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } img { border-style: none; } button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } button, input { /* 1 */ overflow: visible; } button, select { /* 1 */ text-transform: none; } button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } fieldset { padding: 0.35em 0.75em 0.625em; } legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } progress { vertical-align: baseline; } textarea { overflow: auto; } [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } details { display: block; } summary { display: list-item; } template { display: none; } [hidden] { display: none; } /* END normalize.css */ /* An overwrite to show the row irrespective in the editor */ body { font-family: Roboto, 'Open Sans', Arial, Helvetica, sans-serif; font-size:12px; } .pagelayer-normalize{ height:100%; width:100%; padding:0px; margin:0px; border:0px; } /* Pagelayer Top Bar */ .pagelayer-bottombar-holder{ background: #4f4f4f; position:relative; padding: 5px; } .pagelayer-bottombar{ padding: auto; } .pagelayer-bottombar-rightbuttons button{ font-size: 13px; font-weight: bold; cursor: pointer; border-radius: 2px; padding: 4px 8px; margin: auto 5px; outline:none; } .pagelayer-bottombar-rightbuttons .pli{ color:#fff; cursor: pointer; } .pagelayer-success-btn{ border: #398439 1px solid; color: #fff; background: #449d44; } .pagelayer-success-btn:hover{ background: #3a733a; border-color: #3a733a; } .pagelayer-primary-btn{ border: #2e6da4 1px solid; color: #fff; background: #337ab7; } .pagelayer-primary-btn:hover{ background: #286090; border-color: #204d74; } .pagelayer-close-button{ border: #ef4d4d 1px solid; color: #fff; background: #ef4d4d; } .pagelayer-close-button:hover{ background: #c13030; border-color: #c13030; } .pagelayer-bottombar-rightbuttons i{ padding: 4px; margin: auto 3px; } .pagelayer-mode-wrapper i{ padding: 8px; margin: auto 5px; } .pagelayer-mode-wrapper{ display:inline-block; text-align:center; } .pagelayer-mode-wrapper i{ padding: 8px; margin: auto 5px; } .pagelayer-mode-buttons-wrapper{ position:absolute; bottom:100%; color:#fff; background-color: #3e8ef7; display:none; z-index:1; } .pagelayer-leftbar-toggle-h{ width:0px; } .pagelayer-leftbar-table{ position:relative; } .pagelayer-leftbar-hidden{ width:0px; } .pagelayer-leftbar-hidden table{ display:none; } .pagelayer-leftbar-toggle{ position: absolute; width:12px; background: #E3E3E3; cursor: pointer; text-align:center; line-height:300%; top: 50%; left: 100%; transform: translateY(-50%); } .pagelayer-rightbar .pagelayer-leftbar-toggle{ left: -12px; } .pagelayer-rightbar:not(.pagelayer-leftbar-hidden) .pagelayer-leftbar-toggle, .pagelayer-leftbar-hidden:not(.pagelayer-rightbar) .pagelayer-leftbar-toggle{ direction: rtl; } .pagelayer-leftbar-toggle:hover{ background-color: #3e8ef7; color: #ffffff; } .pagelayer-leftbar-holder{ overflow: hidden; position: absolute; top: 0; bottom: 0; left: 0; right: 0; border-right: 1px solid #c9d0d9; } /*.pagelayer-body-table{ max-height: 100vh !important; }*/ .pagelayer-iframe{ } .pagelayer-iframe-holder{ max-height: 100vh !important; height: 100%; overflow: auto; text-align:center; } .pagelayer-iframe-holder.pagelayer-iframe-holder-with-bar{ max-height: calc(100vh - 45px) !important; height: calc(100vh - 45px) !important; } .pagelayer-iframe-top-bar{ height:45px; background-color: #3e8ef7; display:none; color: #fff; } .pagelayer-body{ transition:0.5s; } .pagelayer-pro-req{ font-size: 10px; padding: 2px 4px; display: inline-block; background-color: #e63131; color: #fff; margin-left: 4px; border-radius: 2px; cursor: pointer; } .pagelayer-pro-req > .pagelayer-tlite{ background: #fff; color: #000; width: 220px !important; white-space: inherit !important; top: 22px !important; left: 0px !important; } .pagelayer-screen-desktop{ } .pagelayer-screen-tablet{ height:900px; margin:20px auto; border: solid #444; border-width: 30px 10px; border-radius: 10px; } .pagelayer-screen-mobile{ height:540px; margin:20px auto; border: solid #444; border-width: 30px 10px; border-radius: 10px; } /* Element Properties Dialog classes */ [class^="pagelayer-elp"]{ font-family: Roboto, 'Open Sans', Arial, Helvetica, sans-serif !important; color: #313439; background-color: transparent; } #pagelayer-elpd { display:none; color:#444; border: 1px solid #d3d3d3; } .pagelayer-dark #pagelayer-elpd { border: 1px solid #252529; } #pagelayer-elpd .slimScrollDiv{ height: calc(100% - 50px) !important; } .pagelayer-elpd-header { border: none; color:#fff; } .pagelayer-elpd-title { text-align: center; padding:0px; cursor: move; color: #fff; font-weight: 600; width:76%; } .pagelayer-elpd-close { padding-right:10px; cursor: pointer; margin: 0px; position: absolute; right: 5px; color: #fff; top: 50%; transform: translateY(-50%); } .pagelayer-elpd-body{ border: none; } .pagelayer-elpd-section-rows{ background-color: #FFF; border-top: 1px solid #d3d3d3; } .pagelayer-dark .pagelayer-elpd-section-rows{ background-color: #1c1c1f; border-top: 1px solid #1c1c1f; } .pagelayer-elpd-section-name{ margin-top: 10px; padding: 11px 10px; background-color: #FFF; font-size: 13px; font-weight: bold; color: #555; cursor: pointer; transition: all 0.3s; } .pagelayer-dark .pagelayer-elpd-section-name{ background-color: #252529; font-family: Roboto; font-size: 12px; font-weight: 400; color: #ffffff; } .pagelayer-elpd-section-name:hover, .pagelayer-elpd-section-open{ color:#1a7fb0; } .pagelayer-dark .pagelayer-elpd-section-open{ background-color: #0d47a1; } .pagelayer-dark .pagelayer-elpd-section-name:hover{ color:#ffffff; } .pagelayer-elpd-section-name:not(.pagelayer-elpd-section-open) .pli:before, .pagelayer-navigator-toggle .pagalayer-arrow:before{ content: "\f0da"; font-family: pagelayer; } .pagelayer-elpd-section-name.pagelayer-elpd-section-open .pli:before, .pagelayer-navigator-open > .pagelayer-navigator-toggle .pagalayer-arrow:before{ content: "\f0d7"; font-family: pagelayer; } .pagelayer-elpd-section-name .pli{ width:15px; float:right; font-style: normal; } /* Pagelayer editor panel tabs*/ .pagelayer-elpd-tab, .pagelayer-history-tab, .pagelayer-widget-tab{ display: inline-block; font-size: 13px; cursor: pointer; padding: 10px 6px; margin: 0px 5px 0px 0px; } .pagelayer-elpd-tab:hover, .pagelayer-history-tab:hover, .pagelayer-widget-tab:hover{ color: #3e8ef7; } .pagelayer-dark .pagelayer-elpd-tab, .pagelayer-dark .pagelayer-history-tab, .pagelayer-dark .pagelayer-widget-tab{ font-family: Roboto !important; color:#777777; font-size: 14px; font-weight: 400; } .pagelayer-elpd-settings-body{ display: none; } .pagelayer-elpd-settings-body.active{ display: block; } .pagelayer-elpd-style-body{ display: none; } .pagelayer-elpd-style-body.active{ display: block; } .pagelayer-history-section{ display:none; } .pagelayer-history-body{ margin:10px 0px; padding:10px; background-color:#ffffff; } .pagelayer-history-section.active{ display:block; } .pagelayer-history-section.active[pagelayer-show-tab="actions"]{ display:flex; flex-direction:column-reverse; } [pagelayer-elpd-active-tab="1"], [pagelayer-history-active-tab="1"] { color: #3e8ef7; border-bottom: 2px solid #3e8ef7; } .pagelayer-dark [pagelayer-elpd-active-tab="1"], .pagelayer-dark [pagelayer-history-active-tab="1"]{ color: #ffffff; } .pagelayer-elpd-tabs, .pagelayer-history-tabs, .pagelayer-widget-tabs { background-color: #fff; border-bottom: 1px solid #d3d3d3; } .pagelayer-dark .pagelayer-elpd-tabs, .pagelayer-dark .pagelayer-history-tabs, .pagelayer-dark .pagelayer-widget-tabs{ background-color: #1c1c1f; border-bottom: 1px solid #1c1c1f; } .pagelayer-elpd-tabs{ display: flex; align-items: center; } .pagelayer-widget-tabs{ display: flex; text-align: center; margin-left: -17px; } .pagelayer-widget-tab{ flex:1; } .pagelayer-elpd-options{ text-align:right; display:inline-block; margin-right:10px; } .pagelayer-elpd-options i{ padding:4px 5px; cursor:pointer; } .pagelayer-dark .pagelayer-elpd-options i{ color:#777777; } .pagelayer-dark .pagelayer-elpd-options i:hover{ color: #ffffff; } .pagelayer-form-item { border-bottom: 1px dashed #e6e6e6; padding: 10px 8px 10px 6px; margin-bottom: 0px; position: relative; } [pagelayer-access-item]{ position: absolute; z-index: -100; top: 0px; visibility: hidden; } .pagelayer-access-item-visible{ position: relative !important; z-index: unset !important; visibility: visible !important; } .pagelayer-dark .pagelayer-form-item{ border-bottom: 1px dashed #686870; } .pagelayer-form-item:hover .pagelayer-elp-default[data_show=true]{ display:initial; } .pagelayer-elp-label-div, .pagelayer-elp-link-label-div{ padding:4px 0px 4px 0px; position:relative; } .pagelayer-elp-label-div[type=select]{ width:50%; } .pagelayer-elp-label, .pagelayer-elp-link-label{ display: inline-block; color: #555; font-size: 12px; line-height: 150%; } .pagelayer-dark .pagelayer-elp-label, .pagelayer-dark .pagelayer-elp-link-label, .pagelayer-dark .pagelayer-post-category, .pagelayer-dark .pagelayer-elp-postCategory, .pagelayer-dark .pagelayer-elp-postdate::-webkit-datetime-edit-second-field{ color:#bdbdbd; } .pagelayer-elp-heading{ font-size: 13px; font-weight:600; line-height: 150%; } .pagelayer-elp-screen{ display: inline-block; text-align: center; z-index: 1; vertical-align: middle; position: relative; } .pagelayer-elp-screen .pli{ padding: 0; cursor: pointer; box-shadow: 0 0 0.5rem #babbbc; height: 30px; width: 30px; border-radius: 50%; line-height: 30px; transition-duration: 0.1s; } .pagelayer-dark .pagelayer-elp-screen .pli{ color:#bdbdbd; } .pagelayer-elp-screen .pli-desktop:not(.pagelayer-prop-screen), .pagelayer-elp-screen .pli-tablet:not(.pagelayer-prop-screen), .pagelayer-elp-screen .pli-mobile:not(.pagelayer-prop-screen){ position: absolute; transform: none; left: 0; display:none; opacity:0; background:#aaaaaa; color:#ffffff; } .pagelayer-dark .pagelayer-elp-screen .pli-desktop:not(.pagelayer-prop-screen), .pagelayer-dark .pagelayer-elp-screen .pli-tablet:not(.pagelayer-prop-screen), .pagelayer-dark .pagelayer-elp-screen .pli-mobile:not(.pagelayer-prop-screen){ background:#0d47a1; } .pagelayer-elp-screen .pli-desktop.open{ transform: rotate(-90deg) translate(30px, -27px) rotate(90deg); transition-delay: 0s; top:-5px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pli-tablet.open{ transform: rotate(-90deg) translate(0px, -6px) rotate(90deg); transition-delay: 0.1s; top:0px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pli-mobile.open{ transform: rotate(-90deg) translate(-30px, -27px) rotate(90deg); transition-delay: 0.2s; top:5px; left: 40px; opacity:1; display:block; } .pagelayer-elp-screen .pagelayer-prop-screen{ box-shadow: none; z-index: 2; font-size: 12px; height: 20px; width: 20px; line-height: 20px; } .pagelayer-elp-screen .pli:not(.pagelayer-prop-screen):hover{ background-color: #3E8EF7; } .pagelayer-dark .pagelayer-elp-screen .pli:not(.pagelayer-prop-screen):hover{ background-color: #1066fd; } .pagelayer-elp-screen .pagelayer-prop-screen:hover, .pagelayer-typo-default:hover i, .pagelayer-elp-default:hover i{ color: #3E8EF7; } .pagelayer-elp-units{ display: inline-block; float:right; padding-top:4px; } .pagelayer-elp-units span{ padding:1px 4px; font-size:12px; cursor: pointer; } .pagelayer-dark .pagelayer-elp-units span{ color:#bdbdbd; } .pagelayer-elp-units span[selected] { color: #3e8ef7; } /* Default button css start */ .pagelayer-elp-default{ display:none; width: 20px; height: 20px; cursor: pointer; margin-left: 4px; position: absolute; top: 9px; } .pagelayer-elp-default:focus{ outline:none; } .pagelayer-elp-default i{ font-size: 10px; color: black; } /* Default button css ends */ .pagelayer-elp-desc, .pagelayer-elp-permalink-a, .pagelayer-elp-link-desc{ color:#757575; font-size: 12px; line-height: 20px; font-style: italic; margin-top: 5px; display:block; word-break: break-word; } .pagelayer-elpd-body input, .pagelayer-elpd-body textarea, .pagelayer-elpd-body select, .pagelayer-elpd-body option, .pagelayer-elp-multiselect{ font-size: 13px !important; color: #666; border-radius: unset; border:1px solid #CCC; line-height: 26px; width: 100%; } .pagelayer-elp-textarea{ border-radius: 3px !important; resize:vertical; } .pagelayer-dark .pagelayer-elpd-body input, .pagelayer-dark .pagelayer-elpd-body textarea, .pagelayer-dark .pagelayer-elpd-body select, .pagelayer-dark .pagelayer-elpd-body option, .pagelayer-dark .pagelayer-add-cat-btn input, .pagelayer-dark .pagelayer-elp-multiselect{ border:1px solid #6e6d6d; } .pagelayer-dark .pagelayer-elpd-body input, .pagelayer-dark .pagelayer-elpd-body textarea, .pagelayer-dark .pagelayer-elpd-body select, .pagelayer-dark .pagelayer-elpd-body option, .pagelayer-dark .pagelayer-add-cat-btn input, .pagelayer-dark .pagelayer-elp-multiselect{ color:#bdbdbd; } .pagelayer-elpd-body input:focus, .pagelayer-elpd-body textarea:focus, .pagelayer-elpd-body select:focus{ border-color: #00A0D2; box-shadow: 0 0 1px #00A0D2 inset; } .pagelayer-elp-button{ text-transform: unset; border: 1px solid #00A0D2; font-weight: unset; font-size: 12px; margin:5px; min-height: unset; background-color: #00A0D2; color: #fff; transition: all 0.3s; border-radius: unset; border-radius: 2px; padding: 10px 15px; cursor:pointer; } .pagelayer-elp-button:hover{ background-color: #00A0D2bf; border-color: #00A0D2; } .pagelayer-elp-image-div, .pagelayer-elp-retina-image-div, .pagelayer-elp-retina-mobile-image-div{ padding:7px; width:90%; margin:5px auto; height:150px; position:relative; border: 1px solid #2EA5DF; } /* image drop zone css start */ .pagelayer-elp-drop-zone{ position:absolute; text-align:center; width:100%; height:100%; top:0; left:0; z-index:3; background-color: #2ea5dff0; display:none; } .pagelayer-elp-drop-zone *{ pointer-events: none; } .pagelayer-elp-drop-zone > div{ position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); text-align:center; } .pagelayer-elp-drop-zone div *{ color:white; } .pagelayer-elp-drop-zone div i{ font-size:20px; } .pagelayer-elp-drop-zone div h4{ margin: 12px; } .pagelayer-elp-img-up-progress { width: 50%; margin-left: auto; margin-right: auto; background-color: transparent; border: 2px solid white; border-radius: 20px; padding: 4px; } .pagelayer-elp-img-up-bar { width: 3%; height: 5px; background-color: white; line-height: 5px; text-align: center; border-radius: 20px; } /* image drop zone css start */ .pagelayer-elp-modal, .pagelayer-elp-access{ cursor: pointer; padding: 10px; display: block; margin: 0 auto; position: absolute; font-size:1.5rem; top: 0px; right: 12px; color: #333; vertical-align: middle; } .pagelayer-elp-access .pli-caret-right{ font-size: 18px; line-height: 1.5; } .pagelayer-elp-access .pli-caret-right:hover{ color: #3e8ef7; } .pagelayer-elp-access .pli-caret-open:before{ content: "\f0d7" !important; } .pagelayer-pro-notice, .pagelayer-confirm-box-holder { position: fixed; top: 0px; z-index: 10000; width: 100%; display: none; left: 0px; height: 100vh; } .pagelayer-pro-div, .pagelayer-confirm-box{ margin: 25vh auto; max-width: 500px; padding: 20px; background-color: #fff; box-shadow: 0 0 15px -5px; } .pagelayer-pro-x{ float:right; font-size: 13px; cursor: pointer; } .pagelayer-pro-head{ text-align: center; } .pagelayer-pro-message, .pagelayer-confirmation-msg{ margin: 25px auto; font-size: 15px; padding: 2px 25px; text-align: center; line-height: 1.8; } .button-pagelayer{ padding: 12px 25px !important; font-size: 15px !important; font-weight: bold; background: #7444fd !important; color: #fff !important; border: 1px solid #7444fd !important; transition: all .3s linear; cursor: pointer; text-decoration: none; display: inline-block; } .button-pagelayer:hover{ background: #fff !important; color: #7444fd !important; } .pagelayer-elp-access-holder{ position: absolute; border: 1px solid #ccc; top: 42px; background: #fff; z-index: 100; right: 8px; width: 95%; box-shadow: 0 0 15px -5px; display: none; } .pagelayer-elp-image{ height: 100%; -webkit-background-size: cover; background-size: cover; background-position: 50%; cursor:pointer; } .pagelayer-elp-image-delete, .pagelayer-elp-retina-delete, .pagelayer-elp-retina-mobile-delete, .pagelayer-elp-image-retina{ cursor: pointer; position: absolute; top: 4px; right: 4px; background-color: #2EA5DF; padding: 5px 9px; max-width: 28px; max-height: 28px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; border-radius: 2px; } .pagelayer-elp-image-retina{ right:50px; } .pagelayer-elp-image-delete .pli, .pagelayer-elp-retina-delete .pli, .pagelayer-elp-retina-mobile-delete .pli, .pagelayer-elp-image-retina .pli{ color: #fff; } .pagelayer-hidden{ display:none !important; } .pagelayer-elp-radio-div{ display:flex; } .pagelayer-elp-radio:first-child{ border-radius: 4px 0px 0px 4px; -moz-outline-radius: 7px 0px 0px 7px; } .pagelayer-elp-radio:last-child{ border-radius: 0px 4px 4px 0px; -moz-outline-radius: 0px 7px 7px 0px; } .pagelayer-elp-radio{ display: inline-block; vertical-align: middle; padding: 6px; cursor: pointer; font-size:12px; color: #666 !important; text-decoration: none; background: #eee; flex:1; text-align:center; } .pagelayer-elp-radio:hover{ background-color: #4CB5E8 !important; color:#fff !important; transition: all 0.3s; } .pagelayer-dark .pagelayer-elp-radio{ background-color: #fafafa; } .pagelayer-dark .pagelayer-elp-radio:hover, .pagelayer-dark .pagelayer-elp-radio-active{ background-color:#0d47a1 !important; } .pagelayer-elp-radio-active{ background-color: #1A9CDB !important; color:#ffffff !important; } .pagelayer-elp-typo-edit-div, .pagelayer-elp-color-div-holder{ cursor: pointer; width: 70px; height: 30px; border-radius: 3px; margin: 0 auto; position: absolute; top: 5px; right: 11px; border: solid 1px #999; color: #333; display: flex; } .pagelayer-elp-typo-edit-div{ width: 34px; } .pagelayer-elp-color-div{ cursor: pointer; padding: 3px; width: 28px; height: 23px; display: block; border-radius: 2px; margin: 0 auto; position: absolute; top: 5px; right: 7px; border: solid 1px #999; color: #333; vertical-align: middle; } .pagelayer-elp-color-div-holder .pagelayer-elp-color-div{ position: relative; border: 0px; height: calc(100% - 6px); top: 0; left: 0; } .pagelayer-elp-color-preview{ height: 100%; background-size: cover !important; border-radius: 2px; flex: 1; } .pagelayer-elp-color-global{ width: 50%; border-right: 1px solid #999; display: flex; align-items: center; justify-content: center; } .pagelayer-elp-global-icon:hover, .pagelayer-elp-color-global:hover{ color: #137dc5; } .pagelayer-elp-typo-edit-div .pli-pencil{ display: flex; align-items: center; justify-content: center; flex: 1; } .pagelayer-elp-global-icon:before, .pagelayer-elp-color-global:before{ content: "\e9c9"; font-family: 'pagelayer', "Font Awesome 5 Free" !important; } .pagelayer-white-border{ outline: 1px solid #dfdfdf; } .pagelayer-global-selected, .pagelayer-global-font-list-item:hover, .pagelayer-global-color-list-item:hover{ background: #f9f9f9; } .pagelayer-global-selected:after{ content: "\ea10"; font-family: 'pagelayer', "Font Awesome 5 Free" !important; color: #137dc5; } .pagelayer-global-font-list, .pagelayer-global-color-list{ position: absolute; background: #fff; padding: 10px 0; z-index: 9999; border-radius: 4px; right: 0; top: 35px; width: 250px; display: none; max-height: 350px; overflow-y: auto; font-size: 12px; box-shadow: 0px 0px 13px rgb(0 0 0 / 30%); } .pagelayer-global-font-list-item, .pagelayer-global-color-list-item{ display: flex; padding: 10px 20px; cursor: pointer; } .pagelayer-global-font-list-item .pagelayer-global-font-title, .pagelayer-global-color-list-item .pagelayer-global-color-title{ flex: 1; } .pagelayer-global-color-list-item .pagelayer-global-color-pre{ position: relative; border: 1px solid #f1f1f1; margin-right: 7px; padding: 1px; background-clip: content-box; } .pagelayer-global-color-list-item .pagelayer-global-color-pre:before{ content: ''; padding: 0px 10px; background-color: #ff000000; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=); -webkit-background-size: 12px 12px; background-size: 6px 6px; position: relative; z-index: -1; } .pagelayer-global-setting-color{ position: relative; box-shadow: 0 1px 2px #d2cfcf; padding: 10px 4px; margin-bottom: 5px; margin-top: -10px; cursor: default; } .pagelayer-global-setting-color b{ margin-left: 11px; } .pagelayer-global-setting-color .pli{ right: 15px; position: absolute; cursor: pointer; } .pagelayer-elp-typo-icons .pli-service{ cursor: pointer; } .pagelayer-elp-global-typo .pli:hover, .pagelayer-global-setting-color .pli:hover{ color: #137dc5; } .pagelayer-active-global{ color: #137dc5; } .pagelayer-blank-preview{ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC1QTFRFAAAAAQEBBQUFDAwM9PT0+vr6/////v7+BAQE+/v7AgIC/f39AwMDDQ0N8/Pzb6ggJQAAAZ5JREFUeJztlr1twzAQhU+tK7ELDDdBNsgO2SAznAr3JAJXWSJp49YLuPAW2cJbhEdSQZBCEMRHgMVj5U80HnkSfz4Ra06eXjSoTvr6HKGGU94o8vBpqPr2LjLUcAr8ikNEnLx6jT93VZxneBn1Zg9uOlxsxO0suTkXfJywTsG5Ok5x9hK0NKM6bhEosh+nq+HJD+c6TmvG2r8RtrMb9g4aOKY3CA0ElyyHcbAHIXNw5Q9bWeLG2aUH80ItU97K8ihlhmmIUFb+dpZvOceNE7fOnz/UsNztHAMEzSwf6idEqTOLHv0R8THc7/o72Qzrl8vMwAVdmreDFhloLxQcCC65QSC45AYfBV0yfGGjtx78cLjrVaHHF/yAhV8B8EsKfo3CL/pRHFZFnIBlCa5z9EP6If1wBdMPe5QleMkNAumHuZ9+SD9cYPphjzpHP6Qf0g9XMP2wR1mCl9wgkH6Y++mH9MMFph/2qHP0Q/oh/XAF0w97lCV4yQ0C6Ye5n35IP1xg+mGPOkc/pB/SD1cw/bBHWYKX3CCQfpj76Yfr+QfwnsxmcLvdhQAAAABJRU5ErkJggg==') !important; background-size: cover !important; opacity: 70%; } .picker_arrow { display:none; } .picker_wrapper { top: 13px !important; right: -15px !important; font-family: Roboto !important; font-size: 12px; border-radius: 4px; background:#f7f7f7; } .picker_done button{ border: #318088 1px solid; color: #fff; background: #248a4c; border-radius: 2px; font-size: 14px; line-height: 1.5; } .picker_editor input{ font-family: Roboto !important; font-size: 12px; } .pagelayer-elp-color-span{ padding: 2px 0; height: 28px; line-height: 28px; float: left; font-size: 10px; } .pagelayer-elp-color-div .picker_wrapper{ margin-top: 22px !important; border: 1px solid rgba(0,0,0,0.2) !important; background: #fff !important; box-shadow: 0 3px 5px rgba(0,0,0,0.2) !important; } .pagelayer-dark .pagelayer-elp-color-div .picker_wrapper{ border: 1px solid #0277bd !important; background: #252529 !important; box-shadow: 0 0.5rem 1rem #00000026 !important; } .picker_wrapper{ z-index:12 !important; } .pagelayer-dark .picker_done button { border: none; font-family: roboto; color: #777; background-color: #ffffff; } .pagelayer-dark .picker_editor input{ color: #bdbdbd; background-color: #1c1c1f; } .pagelayer-elp-remove-color{ background-color:#616161; position: absolute; top: 0; right: 0; z-index:1; box-shadow: 0 0 3px #333; padding: 3px; border-top-right-radius: 2px; } .pagelayer-elp-remove-color .pli:before{ color: #fff; font-size: 7px; } .pagelayer-elp-icon-div{ cursor: pointer; padding: 6px; border: solid 1px #d1d1d1; background: #fffffc; color: #333; vertical-align: middle; width: 126px; height: 18px; display: block; border-radius: 4px; margin: 0 auto; position: absolute; top: 7px; right: 10px; } .pagelayer-dark .pagelayer-elp-icon-div{ background-color: #1c1c1f; color: #bdbdbd; border: 1px solid #6e6d6d; } .pagelayer-elp-icon-preview{ position: relative; display: block; margin-right: 5px; float: left; width: 75%; height: auto; border: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .pagelayer-elp-icon-preview i{ padding-right: 5px; font-size: 19px; color: #666; vertical-align: middle; } .pagelayer-dark .pagelayer-elp-icon-preview i, .pagelayer-dark .pagelayer-elp-icon-name{ color:#bdbdbd; } .pagelayer-elp-icon-name{ font-size: 13px; } .pagelayer-elp-icon-open, .pagelayer-elp-icon-close{ float: right; font-size: 10px; padding: 0px; line-height: 20px; } .pagelayer-dark .pagelayer-elp-icon-open, .pagelayer-dark .pagelayer-elp-icon-close{ color:#bdbdbd; } .pagelayer-elp-icon-close{ padding-right: 5px; font-size: 12px; } .pagelayer-elp-icon-remove{ position: absolute; right: 20px; font-size: 11px; top: 10px; z-index: 10; } .pagelayer-elp-icon-selector, .pagelayer-elp-link-list{ position: absolute; z-index: 1000; border: 1px solid rgba(0,0,0,0.2) !important; background: #fff !important; box-shadow: 0 3px 5px rgba(0,0,0,0.2) !important; -webkit-border-radius: 2px !important; text-shadow: none !important; padding: 5px; height: auto; box-sizing: border-box; display: none; width: 80%; border-radius: 2px; margin: 0 0 0 auto; top: 40px; right: 10px; } .pagelayer-dark .pagelayer-elp-icon-selector{ background: #252529 !important; border: 1px solid #ffffff73 !important; } .pagelayer-elp-search-icon{ margin-bottom: 5px !important; padding: 2px 6px; line-height: 20px !important; border-radius: 3px !important; } .pagelayer-elp-icon-list{ width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; max-height: 183px; overflow-y: auto; } .pagelayer-elp-icon-list::-webkit-scrollbar { -webkit-appearance: none; } .pagelayer-elp-icon-list::-webkit-scrollbar:vertical { width: 10px; } .pagelayer-elp-icon-list::-webkit-scrollbar-thumb { border-radius: 8px; border: 2px solid white; background-color: rgba(0, 0, 0, .5); } .pagelayer-elp-icon-list::-webkit-scrollbar-track { background-color: #fff; border-radius: 8px; } .pagelayer-elp-icon-span{ display: block; margin: 2px; cursor: pointer; box-sizing: border-box; border: 1px solid #dbdbdb; transition: all 0.3s; font-size: 13px; padding: 3px; } .pagelayer-dark .pagelayer-elp-icon-span, .pagelayer-dark .pagelayer-elp-icon-span i{ color:#bdbdbd; } .pagelayer-elp-icon-span:hover{ border-color: #00A0D2; background-color: #3e8ef7; color: #ffffff; box-shadow: 0px 1px 1px #3e8ef7bf; } .pagelayer-elp-icon-span i{ font-size: 15px; line-height: 1em; padding: 3px; color: #555; transition: all 0.3s; vertical-align: middle; } .pagelayer-elp-icon-span:hover i{ color: #ffffff; } .pagelayer-elp-icon-type{ display:flex; flex-grow:1; text-align:center; } .pagelayer-elp-icon-type p{ flex-grow: 1; padding: 5px 0; margin: 0 0 3px; cursor: pointer; font-size: 12px; background: #999; color: #ffffff; border: 1px solid #777; } .pagelayer-elp-icon-type p.active{ background-color:#666666; } .pagelayer-dark .pagelayer-elp-icon-type p.active{ background: #0277bd; } .pagelayer-elp-icon-sets{ line-height: 27px; height: 27px; border-radius: 4px; margin: 5px 0; } .pagelayer-video{ width: 100% !important; /* background: #ccc; */ position: relative; /* top: -40px; float: right; border-radius: 0px 4px 4px 0px; */ } .pagelayer-video i{ top: 10px; position: relative; left: 8px; } .pagelayer-elp-slider-div{ display: flex; padding: 7px 0 0; } input.pagelayer-elp-slider{ -webkit-appearance: none; width: 70%; height: 10px; border-radius: 5px; background-color: #d3d3d3 !important; outline: none; opacity: 0.7; -webkit-transition: .2s; transition: opacity .2s; font-size: 0px !important; padding: 0; } .pagelayer-elp-slider:focus{ border-color: transparent; box-shadow: 0 0 1px transparent; } .pagelayer-elp-slider:hover{ opacity: 1; } .pagelayer-elp-slider::-webkit-slider-thumb{ -webkit-appearance: none; appearance: none; width: 15px; height: 15px; border-radius: 50%; background: #4CAF50; cursor: pointer; } .pagelayer-dark .pagelayer-elp-slider::-webkit-slider-thumb{ background: #3e8ef7; } .pagelayer-elp-slider::-moz-range-thumb{ width: 15px; height: 15px; border-radius: 50%; background: #00A0D2; cursor: pointer; } .pagelayer-elp-slider-value{ width: 23% !important; margin-left: 7%; margin-top: -12px; border-radius: 3px !important; padding: 2px 2px 2px 6px; border: 0px solid #fff !important; border-bottom: 1px solid #ccc !important; } .pagelayer-elp-datetime-div{ position: relative; } .pagelayer-elp-postdate-div{ display: flex; border: 1px solid lightgrey; border-radius:3px; } .pagelayer-elp-datetime{ width: 99%; } .pagelayer-elp-postdate{ border: none !important; outline: none; } .pagelayer-elp-postdate::-webkit-calendar-picker-indicator { cursor: pointer; } .pagelayer-elp-fa-calendar{ position: absolute; height: 40px; width: 40px; background: #000; right: 0; top: 0; } .pagelayer-elp-checkbox-div{ top: 13px; right:7px; position: absolute; } input[type="checkbox"].pagelayer-elp-checkbox{ font-size: 30px; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 3.5em; height: 1.7em; background: #ddd; border-radius: 3em; position: relative; cursor: pointer; outline: none; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } input[type="checkbox"].pagelayer-elp-checkbox:checked{ background-color: #1A9CDB; border-color: #1A9CDB; } .pagelayer-dark input[type="checkbox"].pagelayer-elp-checkbox:checked{ background-color: #0d47a1; } input[type="checkbox"].pagelayer-elp-checkbox:after{ position: absolute; content: ""; width: 1.5em; height: 1.5em; border-radius: 50%; background: #fff; -webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3); box-shadow: 0 0 .25em rgba(0,0,0,.3); -webkit-transform: scale(.7); transform: scale(.7); left: 0; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } input[type="checkbox"].pagelayer-elp-checkbox:checked:after{ left: calc(100% - 1.5em); } .pagelayer-elp-input-icon, .pagelayer-elp-pos-rel{ position: relative; } .pagelayer-elp-link-no-addons > .pagelayer-elp-link{ width:100% !important; } .pagelayer-elp-link-no-addons > .pagelayer-elp-link-icon{ display:none !important; } .pagelayer-elp-input-icon input{ width: 85%; } .pagelayer-elp-input-icon i.pli{ padding:1px 10px; position:relative; top:0px; border: 1px solid #d1d1d1; border-left:0px; cursor: pointer; background:#FFF; line-height:26px !important; font-size: 13px; } .pagelayer-dark .pagelayer-elp-input-icon i.pli{ background: #e0e0e0; } .pagelayer-elp-padding-div i.pli{ padding:8px 11px; border: 1px solid #d1d1d1; border-left:0px !important; cursor: pointer; background: #FFF; vertical-align:top; font-size: 12px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pagelayer-elp-padding-linked{ background: #1a7fb0 !important; color: #fff !important; border: 1px solid #1a7fb0 !important; } .pagelayer-elp-padding:first-child{ border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagelayer-dark .pagelayer-elp-padding-linked{ background: #e0e0e0 !important; } .pagelayer-elp-dimension-div i.pli{ padding:8px 11px; border: 1px solid #d1d1d1; border-left:0px !important; cursor: pointer; background: #FFF; vertical-align:top; font-size: 12px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pagelayer-elp-dimension-linked{ background: #1a7fb0 !important; color: #fff !important; border: 1px solid #1a7fb0 !important; } .pagelayer-elp-dimension:first-child{ border-top-left-radius: 3px; border-bottom-left-radius: 3px; } /* Pagelayer Multi Select Property */ .pagelayer-elp-multiselect{ min-height: 25px; width:95%; } .pagelayer-elp-multiselect-ul{ list-style:none; padding:0; margin:0; display:none; border: 1px solid #CCC; border-radius: 0 0 5px 5px; border-top:none; position:absolute; background:rgb(255, 255, 255); z-index:1; width:99%; } .pagelayer-dark .pagelayer-elp-multiselect-ul{ background: #1c1c1f; border: 1px solid #6e6d6d; border-top: none; box-shadow: 0 0.5rem 1rem #00000026; } .pagelayer-elp-multiselect-option{ font-size:13px; padding:4px 8px; cursor:pointer; } .pagelayer-dark .pagelayer-elp-multiselect-option{ color: #777; } .pagelayer-elp-multiselect-option[selected="selected"]{ background: #f2f2f2; } .pagelayer-elp-multiselect-remove{ color: #f2f2f2; padding-left: 2px; cursor: pointer; } .pagelayer-dark .pagelayer-elp-multiselect-option[selected="selected"]{ background: #0277bd; color: #fff; } .pagelayer-elp-multiselect-selected{ padding: 3px 5px; border-radius: 5px; margin: 2px; background: #44a9db; line-height: 13px; font-size: 13px; color: #fff; } .pagelayer-dark .pagelayer-elp-multiselect-selected{ color: #777; background: #ffffff; } .pagelayer-elp-multiselect{ display: flex; flex-wrap: wrap; padding: 5px; border-radius: 3px; } /* Pagelayer Multi Select Property end*/ .pagelayer-elp-multi_image{ padding: 3px; width: 60%; margin: 5px auto; border: 1px solid #d5dadf; position: relative; text-align: center; background: #4CBCDF; color: #fff; font-size: 13px; cursor: pointer; } .pagelayer-elp-multi_image{ height: 100%; -webkit-background-size: cover; background-size: cover; background-position: 50%; } .pagelayer-elp-multi_image-thumbs{ margin-top:10px; } .pagelayer-elp-multi_image-thumb{ display: inline-block; width: 44px; height: 44px; background-size: cover; background-position: 50% 50%; margin: 0 7px 0 0; border: 2px solid #d5dadf; } .pagelayer-grid-columns-1 .pagelayer-grid-item{ width: 100%; } .pagelayer-grid-columns-2 .pagelayer-grid-item{ width: 50%; } .pagelayer-grid-columns-3 .pagelayer-grid-item{ width: 33%; } .pagelayer-grid-columns-4 .pagelayer-grid-item{ width: 25%; } .pagelayer-grid-columns-5 .pagelayer-grid-item{ width: 20%; } .pagelayer-grid-columns-6 .pagelayer-grid-item{ width: 16%; } .pagelayer-grid-columns-7 .pagelayer-grid-item{ width: 14%; } .pagelayer-grid-columns-8 .pagelayer-grid-item{ width: 12%; } .pagelayer-grid-columns-9 .pagelayer-grid-item{ width: 11%; } .pagelayer-grid-columns-10 .pagelayer-grid-item{ width: 10%; } .pagelayer-grid-item{ float: left; } .pagelayer-elp-audio-div, .pagelayer-elp-media-div{ position: relative; } .pagelayer-elp-audio, .pagelayer-elp-media{ width: calc(100% - 40px); } .pagelayer-elp-audio-insert, .pagelayer-elp-media-select{ position: absolute; top: 0; right: 0; background-color: #000; height: 100%; width: 40px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } .pagelayer-elp-shadow-div, .pagelayer-elp-typo-div, .pagelayer-elp-filter-div{ padding: 0px 10px; box-shadow: 0px 0px 13px rgba(0,0,0,.3); position: relative; margin-top: 8px; border: 1px solid #ddd; display: none; position: absolute; background-color: #fff; width: 86%; z-index: 12; } .pagelayer-typo-default{ display:none; width: 20px; height: 20px; cursor: pointer; margin-left: 4px; } .pagelayer-global-on .pagelayer-elp-typo:not([pagelayer-set-global]):hover .pagelayer-typo-default{ display: inline-block; } .pagelayer-dark .pagelayer-elp-shadow-div, .pagelayer-dark .pagelayer-elp-typo-div, .pagelayer-dark .pagelayer-elp-filter-div{ background-color:#252529; } .pagelayer-prop-edit{ padding: 7px; border: 1px solid #3e8ca4; width: 20px; position: absolute; top: 7px; right: 11px; text-align: center; cursor: pointer; border-radius: 3px; } .pagelayer-prop-edit i{ font-size: 14px; color: #484848; } .pagelayer-dark .pagelayer-prop-edit i{ color:#bdbdbd; } .pagelayer-prop-show{ display: block; } .pagelayer-elp-shadow-color{ padding: 15px 0px !important; } .pagelayer-elp-shadow-color .pagelayer-elp-color-div{ top:7px; } .pagelayer-elp-typo, .pagelayer-elp-prop-grp{ margin: 0px; padding: 10px 0; position: relative; border-bottom: 1px dashed #ccc; } .pagelayer-elp-typo-fonts{ padding: 10px 0; } .pagelayer-elp-gradient-div .pagelayer-elp-prop-grp{ padding: 5px 0; } .pagelayer-elp-gradient-color{ padding: 15px 0px !important; } .pagelayer-elp-prop-grp .pagelayer-elp-color-div{ right: 0; } .pagelayer-elp-typo-fonts .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-typo-input, .pagelayer-elp-shadow-div .pagelayer-elp-shadow-input, .pagelayer-elp-shadow-div .pagelayer-elp-label, .pagelayer-elp-prop-grp>label, .pagelayer-elp-prop-grp>input{ width: 50%; } .pagelayer-elp-filter-div .pagelayer-elp-label{ width:40%; text-transform: capitalize; } .pagelayer-elp-filter-div .pagelayer-elp-filter-val{ float:right; width:10%; font-size:13px; text-align: right; } .pagelayer-elp-filter-input{ background-position: center center !important; background-size: cover !important; } .pagelayer-elp-filter-blur .pagelayer-elp-filter-input{ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAAAKCAIAAAC2Wq7lAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAABq9JREFUeJyVlmtvHGcZhnfOszs7u+s9ENtrI9eqHbWJKSSIlBz4QD/mFxQpUvlSviTKb4nyC4qI/0HkCCgijapQQJBDUe04uPEh69re887OeXa43l2wjNsK+toejd/Dc7if+7nfUTMnhiRJGxsbS0tLk3/TNL1+/fra2hrzvPO8c+fOzZs3eZlsuHv37u3btydL5XL5xo0bv/rwwzeXl9Ikff16b+3Bg3v3fvPs6bMwiqbPTF/92ZX33//FpUvvFoulfq/7ycOHH/36o4d//MRxBpZlrays/PKDD35y6d36XN31gid//9tvf/+7x59+2mg0dF1fXlq6cuXylWvXzp07Z1mFXrfz4MHaxx//YfPFJsZnpqdXfnD+xxcvnHv7fC6fazVbX6x/8fTpsxebm439fU2RL1648NPLl996620rb3W73a1/bj198qTf7w+HQ1mWK5XqwsLC4uIbc3PzZGGYpnoSFNI7hdHJ+cnzePLUkpSRcCBl+M2MmMiMt6X8iCOSzIIcR3E6GmVGYrBDVbSJH1lRVE1jb5ImSRJHYRDFIYYUVcWmooi/NMPxxHN9TdWTUYJFlaEpo1Ey9ithM0wiY5TESYJ5JnVVsy0rCAMiGKWjGMsRxiN84F04HdtniLNh6HpD3cV4pE7yPAXHdx0AJSsydoAjEYOcE/AAJwInYk3TFUmJRUj8BmEYEAd14xSR6brBIALf87udnuP0Qz9UJNk09FwuB1N0zQBkTkErUPA8V1Uk3dBY5bhh6rgOwngwcMjQ9704jgEym8vaUUHxXFCnHr7rEtbQdclfkSRN1UamqcgCGvY7w2Gn3QY2w/hvpvzP8Y3YaZqmKEo2m6V6QeA3j5ps6/UHVCyXs6q1ipRK5UpFMwzHcZuHRy7+3SGh66o+NTWVy+aKpSIjDMJWu+UMnTiISF5RlalyGWRVTS8UberW7fb2Gw3o7flelMRWLletVuM4sW2bzFzPPTo88L3hYIBxn5DsQkFVVDvOg6rn+c1WS9XUoQMsrgLfMikuqCTPKI4H/T5wD5wh7FOXl5dPpkoPZ/7TI8yXSiUkZqIazERRtLm5ebwK5Kx+f34eOArFAqX7/PN/sEYvhUHgDoeLiwv1+kwmIxMWiR8eHv75r3+hG8DLGQyKUyWEAmJTq0ql0h/0Xmxs0gppOgr8APq8sbBQn63Td1SPIn/1VaPdbkEB2if0Pdsu6JrOvGgjVe11up7r8g5RAUXT1XKplNgFyKtrGgoSBPRRZiTaM6JzsZOKSDOQKwrDbg+GOmO+y+r6+vpJFM6ePUvaxxjdv39/dXX1mCbIKiAer966dQthfvnyJe8k/OjRo9XVewHM1xTKuLi4ePXqtWKhQBsBEHB/+erVZ5/9icY2dL1aq62snH/vvZ+riuIF/u727s7Oq3bnS/BCROx8ng1z9Xo2myNJ+gISbW/vuq4DNci8YNsz0zPWzKysSHgE4k67gyiQHt1ocz6fL+RtpIoeBqz2mIMoGq2IzaxpGYomKRJZoTXoTuQQVyhUD5RPCufXxeXU6td7h0nIIgTCsh4/fry9s7O7vaPq2vSZM3VIMjMDymw6OjwcOA6RPX/+nILYBfvijy5C/nfe+aGZNTutdhxGGxvrW1tbFBnI5ufnZ2frXAe1ahV67uy9braahwcHjf0GG/JWntU3l5bn6rOarnGh+J4HF/YPGv3+oFCwOVgqTnHNWfm8Zuh7O7ugtvd6j7zptVqtlsvm6XpVVwGFvsNFr99z+gPXE3r03TTl24agnCbwTeKYhleiwPeLIGUY+qThCRo+kw+hkwMt44d+LitqZuWsJIooLPVAjziezZrgpQpRsCu1KlrT6XSoFaU+ah6hCHE5LpWn2MbT0HTuG2jv+m6r2ez1+3RfrfY9lAKbpakSXg729yFjt9MlAHhB37GHypkml1WC7KOvQ8dpddqD3iCMwtOgfCMd/g9QRGdK8r9Pi9tnNLm/meTuU4SkISVQfzxgKfCNnbEuIaW6afDmieEyzU6eKJGhm7xABzkViuaLdS/MR5mxwIML9xo/7EEsh8gpIwjxgDvDFIhTDFzgjoWh5xqmkaRxmqGPVNM0Y24iWVznrDoDB0wxoPK/NB6Zb7lcjsfxd8rJbccaLGUmZmTesUnSkw8YMS+WBGbEmo4H6bFH3Nniw0boP1o4/npJyI1bQHzfjIGGAjIfInQ/oScjUBWWU1IyIKAi8YcEKSIqnEZjGyPxoYJZ7hGuv3gUTeJEnpMoGX8riY8n4skqemRIqixAoAxQBtCHvvcv+qJRH7fzah8AAAAASUVORK5CYII=') !important; } .pagelayer-elp-filter-contrast input{ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAKCAMAAAAU2ikOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAklQTFRFAAAAAgICAwMDBAQEBgYGCAgICwsLAQEBISEhJSUlKioqLy8vNDQ0WFhYXl5eZWVla2trcXFxmpqaoKCgpqamra2ts7OzJiYm1dXV2dnZ3t7e4uLi5ubm2tra+/v7/Pz8/f39/v7+////BQUFBwcHGhoaHh4eIyMjJycnLCwsTk5OVFRUWlpaYWFhaGhoj4+PlpaWnZ2do6Ojqqqqzc3N0tLS19fX3Nzc4ODg9/f3+vr6FBQUGBgYHBwcICAgRUVFS0tLUVFRV1dXhYWFjIyMkpKSmZmZn5+fxMTEysrKz8/P1NTU9PT09vb2+fn5Dw8PEhISFhYWPDw8QUFBSEhIe3t7goKCiIiIu7u7wcHBx8fHzMzM0dHR7+/v8vLy9fX1CgoKDQ0NEBAQFxcXOTk5Pj4+SkpKd3d3fn5+i4uLsrKyuLi4vr6+ycnJ6urq7e3t8PDw8/PzBQYHBQUGBAQFAwMEAgMDFRUVGRkZHR0dIiIiR0dHTU1NYGBglZWVm5uboqKixsbG1tbW29vbBgcIBAUGAwQFExMTGxsbHx8fREREUFBQVlZWhISEkZGRmJiYvb29w8PDzs7O09PT+Pj4AAABDAwMDg4OERERNTU1Ozs7RkZGTExMdHR0enp6gICAjo6OJCQktLS0urq6wMDAy8vL6+vr7u7uAQECLS0tMjIyODg4Q0NDaWlpcHBwdnZ2fX19q6ursbGxt7e35eXl6enpCQkJKysrMDAwX19fbGxsc3NzeXl5oaGhqKiorq6u39/f4+Pj5+fnrIREkAAAAeZJREFUeJxd0Pk/FHEcx/Hv7OLblrvD1S675cjKolJLOVJSIVKtctOKStaQIyKZEuWqJEI50h0lkXT5yzLvT4N2fpnnYx6Pz+vxmQ9jK4+gUjs4OgmMM2GDZuMmZ8jF1c3dQyXLc/OWrdu8ZHn7+Ppth7Q6/wA9yWAwQBxieLig2rGTywgMCg7ZBYUaw3aHQ6aIyKg9Gll790XvPwBpzTG6AJKcWRP7V+QqNRB78FCcBopPSDzsCiUdOZp8DB9Tjp846QNpU9PSY0j2Qa4sidepjMzAIOh01plQI3T2nMUUgeHs8xdycimTl19gXg0a1sQEzinKUS4sKo4tgZwvWuNLIY9LZUnlGLl85WpKBQ1fq7RV/b8hiYnVNddr+eolobr6hhshUGOTMewmZDE1t9zCXGtO7u02KhSY03V2VSaJ4p27TDkl/Xdxe8m9DsjaWXr/AVTWVd7dg5HevoqHjyhjq0p7bPffTJIksRrqZ8pBnww8rauHBoeyng1DI6PPLS/GZI1PTLa+hNqmXuWnkuTgmBKUROg1VxZ1XLlkO/Tm7Tvre+jDx+mZLuzw6fNsbx/t9WWu0kbSr99QkpCqFXg/BdUOX50G8M1rfmFwCPrmtvh9CSM/fv4an6DM7z/LUyR/vZ5u+BdDtnhZvafUoAAAAABJRU5ErkJggg==') !important; } .pagelayer-elp-filter-brightness input{ background-image: linear-gradient(90deg,#000,#fff); } .pagelayer-elp-filter-grayscale input{ background-image: linear-gradient(90deg, rgba(203,20,106,1) 0%, rgba(88,88,88,1) 56%); } .pagelayer-elp-filter-hue input{ background-image: linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,blue,#9400d3 95%); } .pagelayer-elp-filter-saturate input{ background-image: linear-gradient(90deg,gray,red); } .pagelayer-elp-filter-opacity input{ background-image: linear-gradient(90deg,#fff,#000); } .pagelayer-elp-typo-fonts .pagelayer-elp-label, .pagelayer-elp-typo .pagelayer-elp-label{ font-weight: 600; font-size: 11px; color: #555; } .pagelayer-elp-global-typo{ box-shadow: 0 2px 2px -1px #d2cfce; margin: -10px -10px 0 -10px; padding: 8px 10px; display: flex; } [pagelayer-screen-mode="desktop"] [pagelayer-show-device]:not([pagelayer-show-device="desktop"]), [pagelayer-screen-mode="tablet"] [pagelayer-show-device]:not([pagelayer-show-device="tablet"]), [pagelayer-screen-mode="mobile"] [pagelayer-show-device]:not([pagelayer-show-device="mobile"]){ display:none; } .pagelayer-elp-global-typo .pagelayer-elp-typo-icons{ text-align: right; width: 50%; } .pagelayer-elp-global-typo .pagelayer-global-font-list{ width: 100%; } .pagelayer-elp-typo-icons .pagelayer-elp-global-icon{ margin-right: 10px; cursor: pointer; } .pagelayer-dark .pagelayer-elp-typo .pagelayer-elp-label{ color:#bdbdbd; } .pagelayer-elp-typo select.pagelayer-elp-typo-input, .pagelayer-elp-typo-input, .pagelayer-elp-shadow-input{ padding: 3px; border-radius: 4px !important; line-height: 23px !important; } .pagelayer-dark .pagelayer-elp-typo select.pagelayer-elp-typo-input{ background-color: #252529; } .pagelayer-elp-grad-color{ position:relative; } /* Left side menu Input related */ .pagelayer-elp-text, .pagelayer-elp-spinner, .pagelayer-elp-tinymce-textarea, .pagelayer-elp-tinymce { border-radius: 2px !important; } .pagelayer-post-type{ text-transform: capitalize; } .pagelayer-elp-text{ padding-left:5px; } .pagelayer-elp-select-div, .pagelayer-elp-spinner-div{ width: 50%; right: 10px; position: absolute; top: 7px; } .pagelayer-elp-spinner-div{ width:85px; } .pagelayer-elp-spinner{ padding: 2px 0 2px 6px; border-radius: 4px !important; } .pagelayer-elp-select { font-size: 16px; font-weight: 700; color: #444; line-height: 1.3; padding: 2px 2px 2px 6px; width: 100%; max-width: 100%; margin: 0; border: 1px solid #aaa; border-radius: 3px !important; box-shadow: 0 1px 0 1px rgba(0,0,0,.04); -moz-appearance: none; -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #1A9CDB 50%), linear-gradient(135deg, #1A9CDB 50%, transparent 50%); background-position: right .9em top 50%, right .55em top 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; } .pagelayer-elp-select::-ms-expand { display: none; } .pagelayer-elp-select:hover { border-color: #888; } .pagelayer-elp-select:focus { border-color: #aaa; box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7); box-shadow: 0 0 0 3px -moz-mac-focusring; color: #222; outline: none; } .pagelayer-elp-select option{ font-weight:normal; } .pagelayer-dark .pagelayer-elp-select-div .pagelayer-elp-select, .pagelayer-dark .pagelayer-elp-typo-input .pagelayer-elp-select, .pagelayer-dark .pagelayer-parent-category .pagelayer-add-cat{ background-color: #252529; color:#bdbdbd; } .pagelayer-elpd-body input:focus, .pagelayer-elpd-body textarea:focus, .pagelayer-elpd-body select:focus { border-color: #3e8ef7; box-shadow: unset; } .pagelayer-elp-group-item{ border: 1px solid #777; font-size: 13px; margin-bottom: 10px; } .pagelayer-elp-group-item .pagelayer-form-item{ padding: 10px 0px 10px 0px; } .pagelayer-elp-group-item .pagelayer-elp-select-div, .pagelayer-elp-group-item .pagelayer-elp-spinner-div, .pagelayer-elp-group-item .pagelayer-elp-color-div{ right:0px; } .pagelayer-elp-group-item-head{ display:flex; background: #F8F8F8; } .pagelayer-dark .pagelayer-elp-group-item-head{ background:#252529; } .pagelayer-elp-group-item-head span{ cursor: pointer; padding: 9px; display:inline-block; } .pagelayer-dark .pagelayer-elp-group-item-head span{ color:#bdbdbd; } .pagelayer-elp-group-item-head .pagelayer-elp-group-item-drag:hover { cursor:all-scroll; } .pagelayer-elp-group-item-title{ flex-grow: 100; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .pagelayer-elp-group-item-del{ float: right; } .pagelayer-elp-group-item-body{ display: none; padding: 7px 10px; } .pagelayer-elp-group-item-clone{ padding-right:0px !important; } .pagelayer-elp-padding{ width:21% !important; } .pagelayer-elp-dimension{ width:42% !important; } /* END Element Properties Dialog classes */ /* Widget Parameters */ .pagelayer-widgets-form input, .pagelayer-widgets-form select, .pagelayer-widgets-form textarea { border: 1px solid #ddd; box-shadow: inset 0 1px 2px rgba(0,0,0,.07); background-color: #fff; color: #32373c; outline: 0; transition: 50ms border-color ease-in-out; font-size: 15px !important; line-height: 150% !important; } .pagelayer-widgets-form select{ padding:5px; } .pagelayer-widgets-form input[type="checkbox"]{ width: auto; } .pagelayer-widgets-form{ line-height:150%; border-top: none; padding: 8px; } .pagelayer-dark .pagelayer-widgets-form label{ color:#bdbdbd; } .pagelayer-dark .pagelayer-widgets-form input, .pagelayer-dark .pagelayer-widgets-form select, .pagelayer-dark .pagelayer-widgets-form textarea { color:#bdbdbd; background-color:#1c1c1f; border:1px solid #6e6d6d; } /* End Widget Parameters */ .trumbowyg-box{ margin-top:0px !important; } .trumbowyg-editor{ min-height: 250px !important; padding: 10px !important; } /* Pagelayer Left bar */ .pagelayer-topbar-holder{ background-color: #4CB5E8; position:relative; animation: colorchange 30s infinite alternate; -webkit-animation: colorchange 30s infinite alternate; } @keyframes colorchange{ 0% {background: #3e0772;} 25% {background: #209ce2;} 50% {background: #00838c;} 75% {background: #088dce;} 100% {background: #3d5afe;} } .pagelayer-topbar-mover{ cursor: all-scroll; } .pagelayer-logo{ font-size:18px; font-weight: bold; display: block; text-align:center; vertical-align:middle; color:#fff; width:76%; } .pagelayer-logo-text{ font-weight: bold; margin-left: 5px; line-height: normal; vertical-align: super; } .pagelayer-settings-icon{ padding-right:10px; cursor: pointer; position: absolute; right: 5px; top: 50%; transform: translateY(-50%); } .pagelayer-options-icon{ padding-left:10px; cursor: pointer; position: absolute; left: 5px; top: 50%; transform: translateY(-50%); font-size: 18px !important; color: #ffffff; } .pagelayer-leftbar{ width:270px !important; padding-top:0; background-color: #E3E3E3; overflow: hidden; background: -moz-linear-gradient(224deg, rgba(222,222,222,1) 0%, rgba(191,202,214,1) 100%); /* ff3.6+ */ background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(191,202,214,1)), color-stop(100%, rgba(222,222,222,1))); /* safari4+,chrome */ background: -webkit-linear-gradient(224deg, rgba(222,222,222,1) 0%, rgba(191,202,214,1) 100%); /* safari5.1+,chrome10+ */ background: -o-linear-gradient(224deg, rgba(222,222,222,1) 0%, rgba(191,202,214,1) 100%); /* opera 11.10+ */ background: -ms-linear-gradient(224deg, rgba(222,222,222,1) 0%, rgba(191,202,214,1) 100%); /* ie10+ */ background: linear-gradient(226deg, rgba(222,222,222,1) 0%, rgba(191,202,214,1) 100%); /* w3c */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#BFCAD6', endColorstr='#DEDEDE',GradientType=1 ); /* ie6-9 */ } .pagelayer-dark .pagelayer-leftbar{ background: unset !important; background-color: #1c1c1f !important; } .pagelayer-leftbar-search{ text-align:center; margin: 20px 40px 10px 25px; position:relative; } .pagelayer-search-field{ width:100%; line-height:120%; padding: 5px 20px 5px 30px; border-radius: 5px; border: none; font-size: 14px; height:30px; } .pagelayer-widget-search .pli, .pagelayer-leftbar-search .pli{ position: absolute; top: 0; height: 30px; padding: 0 7px; color: #666; line-height: 30px; } .pagelayer-widget-search .pagelayer-sf-empty, .pagelayer-leftbar-search .pagelayer-sf-empty{ right:0; left:auto; font-weight:bolder; cursor:pointer; } .pagelayer-shortcodes{ margin-left:17px; } .pagelayer-widget-group, .pagelayer-leftbar-group{ width: 100%; background-repeat: no-repeat; background-position: center; font-size: 11px !important; color: #442E2E; clear: both; text-align: center; font-family: Roboto, 'Open Sans', Arial, sans-serif !important; margin-bottom: 2px; } .pagelayer-widget-group h5, .pagelayer-leftbar-group h5{ font-size: 11px; line-height: 20px; text-transform: uppercase; color: #777; padding: 5px 0 3px; margin: 5px; } .pagelayer-global-widget-pro{ text-align: center; margin-right: 10px; padding-top: 20px; font-size: 14px; } .pagelayer-shortcode-holder, .pagelayer-shortcode-drag{ width: 100px !important; height:67px !important; margin-bottom:12px; margin-left:12px; background-color: #FFFFFF; border-radius: 4px; float: left; transition: all 0.1s; } .pagelayer-dark .pagelayer-shortcode-drag, .pagelayer-dark .pagelayer-shortcode-drag:hover{ background-color:#252529; box-shadow:0 0.5rem 1rem #00000026; } .pagelayer-shortcode-holder:hover, .pagelayer-shortcode-drag:hover{ transform: scale(1.06); } .pagelayer-sc{ padding: 4px !important; margin: 4px auto 0 auto !important; cursor: move; } .pagelayer-shortcode-inner{ height: 25px; padding: 0px !important; } .pagelayer-shortcode-text{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-family: Roboto, 'Open Sans', Arial, Helvetica, sans-serif; font-size: 11px !important; font-style: normal; line-height: 125%; margin: 0; overflow: hidden; cursor: move; text-overflow: ellipsis; text-align: center; width: 100%; margin-top: 3px; color: #777; transition: all 0.3s; padding:1px; } .pagelayer-leftbar-search-empty{ display: none; padding: 40px; text-align: center; color: #777; font-family: 'Roboto'; } .pagelayer-leftbar-search-empty p{ margin: 8px; } .pagelayer-leftbar-search-empty .fa-sad-tear{ font-size: 24px; } .pagelayer-dark .pagelayer-shortcode-text{ color: #bdbdbd; } .pagelayer-shortcode-drag:hover .pagelayer-shortcode:before, .pagelayer-shortcode-drag:hover .pagelayer-shortcode-text{ color: #00A0D2; } .pagelayer-dark .pagelayer-shortcode-drag:hover .pagelayer-shortcode:before, .pagelayer-dark .pagelayer-shortcode-drag:hover .pagelayer-shortcode-text{ color: #3d5afe; } /* Trumbowyg color widget style */ .trumbowyg-dropdown-foreColor, .trumbowyg-dropdown-backColor { width: 100% !important; max-width: 250px !important; padding: 7px 5px; left:0 !important; } .trumbowyg-dropdown-foreColor svg, .trumbowyg-dropdown-backColor svg { display: none !important; } .trumbowyg-dropdown-foreColor button[type="button"], .trumbowyg-dropdown-backColor button[type="button"] { display: block; position: relative; float: left; text-indent: -9999px; height: 20px; width: 20px; max-height:27px; max-width:27px; border: 1px solid #333; padding: 0; margin: 2px; } .trumbowyg-dropdown-foreColor button[type="button"]:hover::after, .trumbowyg-dropdown-backColor button[type="button"]:hover::after, .trumbowyg-dropdown-foreColor button[type="button"]:focus::after, .trumbowyg-dropdown-backColor button[type="button"]:focus::after{ content: " "; display: block; position: absolute; top: -5px; left: -5px; height: 27px; width: 27px; max-width:27px; background: inherit; border: 1px solid #FFF; box-shadow: #000 0 0 2px; z-index: 10; } .trumbowyg-dropdown-fontsize, .trumbowyg-dropdown-lineheight, .trumbowyg-dropdown-fontfamily{ height: 200px; overflow: auto; } /* Trumbowyg color widget style end */ /* Pagelayer history style*/ .pagelayer-revision-holder, .pagelayer-history-holder{ border: 1px solid #b7b5b5fa; margin-bottom: 10px; padding: 10px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; font-size: 12px; color:#505050; } .pagelayer-leftbar-tab, .pagelayer-history, .pagelayer-history-hidden{ display:none; } .pagelayer-revision-holder:hover, .pagelayer-history-holder:hover, .pagelayer-history-holder.current_active_item{ background-color:#efefef; } .pagelayer-revision-img-holder{ border-radius: 50%; overflow: hidden; margin-right:10px; } .pagelayer-revision-detail-holder, .pagelayer-history-detail-holder{ flex:1; } .pagelayer-revision-holder .pagelayer-revision-delete, .pagelayer-history-holder .pagelayer-history-check{ display:none; } .pagelayer-revision-holder:hover .pagelayer-revision-delete, .pagelayer-history-holder.current_active_item .pagelayer-history-check{ display:block; } .pagelayer-revision-delete:hover{ cursor:pointer; } .pagelayer-revision-img-holder img{ max-width: 100%; width: 20px; height: 20px; } .pagelayer-history-holder span{ margin-right:5px; } /* Pagelayer history end*/ /* Pagelayer General options*/ .pagelayer-general-options{ color: #777; background-color: #FFFFFF; font-size: 14px; } .pagelayer-general-options .pagelayer-option-holder{ padding: 10px; border-radius: 4px; transition: all 0.1s; margin-bottom:4px; cursor: pointer; } .pagelayer-general-options .pagelayer-option-holder i{ margin: 0 10px; } .pagelayer-general-options .pagelayer-option-holder:hover{ color:#1a7fb0; background: #ebebeb; } .pagelayer-general-options .pagelayer-option-holder:active{ transform: scale(0.97); cursor: progress; } .pagelayer-general-options .pagelayer-options-sections{ padding: 10px; } .pagelayer-general-options .pagelayer-options-sections:not(:last-child){ border-bottom: 1px solid #ebebeb; } .pagelayer-general-options h5{ font-size: 11px; text-transform: uppercase; color: #777; margin: 15px 5px; } /* Pagelayer General options end*/ /* Pagelayer settings*/ .pagelayer-post-settings-holder{ border:1px solid #d3d3d3; font-size: 14px; line-height: 150%; } .pagelayer-post-settings-acc{ background-color:#fff; } .pagelayer-post-settings-apply{ font-size: 14px; font-weight: bold; cursor: pointer; border-radius: 2px; padding: 4px 8px; margin: auto 5px; } .pagelayer-post-settings-apply[disabled]{ opacity:0.5; } .pagelayer-post-settings-acc{ margin-top:7px; } .pagelayer-post-settings-fields{ padding:10px; display:none; } .pagelayer-post-settings-lable{ border:1px solid #d3d3d3; padding:10px; cursor:pointer; } .pagelayer-toggle{ float:right; } .pagelayer-toggle:not(.pagelayer-open):before{ content: "\f0da"; } .pagelayer-toggle.pagelayer-open:before{ content: "\f0d7"; } .pagelayer-post-settings-fields label{ display:block; margin:7px 0; } /* Pagelayer settings end*/ /*Tooltip TLITE CSS : https://github.com/chrisdavies/tlite */ .pagelayer-tlite { background: #111; color: white; font-family: sans-serif; font-size: 0.8rem; font-weight: normal; text-decoration: none; text-align: left; padding: 0.6em 0.75rem; border-radius: 4px; position: absolute; opacity: 0; visibility: hidden; transition: opacity 0.4s; white-space: nowrap; box-shadow: 0 0.5rem 1rem -0.5rem black; z-index: 1000; -webkit-backface-visibility: hidden; } .pagelayer-tlite-table td, .pagelayer-tlite-table th { position: relative; } .pagelayer-tlite-visible { visibility: visible; opacity: 0.9; } .pagelayer-tlite::before { content: ' '; display: block; background: inherit; width: 10px; height: 10px; position: absolute; transform: rotate(45deg); } .pagelayer-tlite-n::before { top: -3px; left: 50%; margin-left: -5px; } .pagelayer-tlite-nw::before { top: -3px; left: 10px; } .pagelayer-tlite-ne::before { top: -3px; right: 10px; } .pagelayer-tlite-s::before { bottom: -3px; left: 50%; margin-left: -5px; } .pagelayer-tlite-se::before { bottom: -3px; right: 10px; } .pagelayer-tlite-sw::before { bottom: -3px; left: 10px; } .pagelayer-tlite-w::before { left: -3px; top: 50%; margin-top: -5px; } .pagelayer-tlite-e::before { right: -3px; top: 50%; margin-top: -5px; } /*Tooltip end*/ /* Add section modal*/ .pagelayer-add-section-modal-container{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #00000069; z-index:9999; display:none; font-family: Roboto, 'Open Sans', Arial, Helvetica, sans-serif; } .pagelayer-add-section-modal-close{ font-size: 30px; float: right; cursor:pointer; line-height: 100%; } .pagelayer-add-section-modal-holder{ position: relative; font-size: 18px; height: 100vh; } .pagelayer-add-section-modal{ background-color: #ffffff; width: 100%; margin: auto; position: relative; } /* Add modal for editor*/ .pagelayer-editor-modal{ position:fixed; display:none; justify-content:center; align-items:center; top:0; left:0; width:100%; height:100%; z-index:9999; background-color:rgba(0, 0, 0, 0.3); } .pagelayer-editor-modal *{ box-sizing:border-box; padding:0; margin:0; } .pagelayer-editor-modal-wrap{ background-color: #FFF; border-radius:2px; width: 40%; box-shadow: 0 10px 10px rgb(0 0 0 / 25%); } .pagelayer-editor-modal-header{ display:flex; justify-content:space-between; align-items: center; padding: 20px 30px; border-bottom: 1px solid #ccc; } .pagelayer-editor-modal-header i{ font-size: 1.3em; cursor:pointer; } .pagelayer-editor-modal-header i:hover{ color: #3e8ef7; } .pagelayer-editor-modal-body{ padding: 0 25px; } .pagelayer-edt-modal-block{ margin: 10px; } .pagelayer-edt-modal-block ul{ padding:0; margin-bottom:10px; } .pagelayer-edt-modal-block li{ list-style-type:none; display:flex; flex-direction:row; justify-content:space-between; font-size:1.1em; padding: 10px 0; border-bottom: 1px solid #ccc; color: #282828; } .pagelayer-keyboard-shortcut-keys{ font-weight: bold; } .pagelayer-keyboard-shortcut-keys > span{ margin: 0 4px; background-color: #e8e8e8; padding: 5px 7px; border-radius: 3px; } /* width */ .pagelayer-add-section-modal::-webkit-scrollbar { width: 7px; } /* Track */ .pagelayer-add-section-modal::-webkit-scrollbar-track { background: #f1f1f1; border-radius:5px; } /* Handle */ .pagelayer-add-section-modal::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius:5px; } /* Handle on hover */ .pagelayer-add-section-modal::-webkit-scrollbar-thumb:hover { background: #555; } .pagelayer-add-section-modal-header{ padding: 15px; position: sticky; background: #5e5e5e; top: 0; z-index: 999; color: #fff; } .pagelayer-add-section-modal-header>div{ display: inline-block; } .pagelayer-section-type-div{ width: 85%; text-align: center; } .pagelayer-add-section-modal-row{ display: flex; flex-direction: row; } .pagelayer-add-section-modal-left{ min-width: 250px; width: 250px; background-color: #ccc; } .pagelayer-section-search-div{ text-align:center; margin: 20px; position:relative; } .pagelayer-section-search{ width:100%; line-height:120%; padding: 5px 20px 5px 30px; border-radius: 5px; border: none; font-size: 14px; height:30px; } .pagelayer-section-search-div .pli{ position: absolute; top: 0; height: 30px; padding: 0 7px; color: #666; line-height: 30px; } .pagelayer-section-search-div .pagelayer-sf-empty{ right:0; left:auto; font-weight:bolder; cursor:pointer; } .pagelayer-section-tags-holder{ padding: 0px 10px; height: calc(100vh - 150px); overflow: auto; } .pagelayer-section-tags{ background: #1A9CDB; cursor: pointer; padding: 5px; color: #fff; font-size: 13px; display: inline-block; margin: 3px; } .pagelayer-section-tags[on="1"]{ background: #326fa6; } .pagelayer-section-modal-body-holder{ overflow:auto; height: calc(100vh - 50px); width: calc(100vw - 250px); background: #efefef; } .pagelayer-add-section-modal-body{ margin: 0; background: #efefef; height: 100%; display: flex; flex-wrap: wrap; } .pagelayer-add-section-modal-footer{ padding: 15px; border-top: 1px solid #e5e5e5; } .pagelayer-section-is-visible{ height: 50px; flex-basis: 100%; } .pagelayer-section-holder{ vertical-align: top; background: #efefef; flex: 1; } .pagelayer-section-item{ min-height: 50px; margin:15px; z-index: 9; transition-duration: 0.2s; background-color:#fff; border: 3px solid #fff; border-radius: 4px; cursor: pointer; position: relative; } .pagelayer-section-item:hover{ z-index: 99; transform: scale(1.01); border: 3px solid #1A9CDB; } .pagelayer-section-item img{ width:100%; } .pagelayer-section-item[pagelayer-section-type=page]{ max-height: 350px; overflow: auto; } .pagelayer-section-pro-req{ position: absolute; top: 15px; right: 0px; font-size: 14px; padding: 10px; background-color: #e63131; color: #fff; margin-left: 4px; border-radius: 2px; cursor: pointer; } .pagelayer-section-pro-txt{ position: absolute; top: 45%; left: 0px; font-size: 14px; padding: 10px; color: #fff; line-height: 120%; background: #111; opacity: 0; transition: all 0.3s; } .pagelayer-section-item:hover > .pagelayer-section-pro-txt{ opacity: 0.8; } .pagelayer-section-pro-txt a{ color: #1A9CDB; } .pagelayer-add-section-modal-overlay{ position: absolute; top:0; bottom:0; height:100%; width:100%; z-index:999999; align-items: center; justify-content: center; text-align:center; display:flex; background-color:#f7f7f7fa; } .pagelayer-section-wait .fa-spin{ font-size:50px; } /* Add section modal end */ /* Navigator start */ .pagelayer-leftbar-prop-body{ margin:10px 0px; background-color:#ffffff; border: 1px solid #d3d3d3; font-size:12px; } .pagelayer-ele-name{ padding: 10px; border-bottom:1px solid #d3d3d3; color: #000000; } .pagelayer-ele-name:hover{ background-color:#f5f5f5; cursor:pointer; } .pagelayer-navigetor-ele > .pagelayer-navigetor-ele{ display:none; } .pagelayer-navigator-open > .pagelayer-navigetor-ele{ display:block; } .pagelayer-ele-name .fa:before{ margin-right:8px; font-family:pagelayer,fontawesome; font-size:14px !important; } .pagelayer-navi-active{ background-color: #d5e4f7 } .pagelayer-navigator-options{ float: right; } .pagelayer-navigator-options .pli{ padding: 0 4px; } /* Navigator end */ /* Left bar move start */ .pagelayer-leftbar-moving{ position:absolute; height:80vh; z-index:999; box-shadow:0 0 5px #e1e1e1; } .pagelayer-overflow-hidden{ overflow:hidden !important; } .pagelayer-leftbar-move{ width:30px; height:100%; background-color:#00BCD4; position:absolute; opacity: 0.33; } .pagelayer-moveto-left{ left:0; right:auto; } .pagelayer-moveto-right{ right:0; left:auto; } .pagelayer-close-bar{ background-color: #000; color: #ffffff; height:15px; } .pagelayer-leftbar-table:not(.pagelayer-leftbar-moving) .pagelayer-close-bar{ display:none; } .pagelayer-leftbar-minimize{ height:auto; } .pagelayer-close-bar-icons{ float:right; } .pagelayer-close-bar-icons i{ padding:5px 10px; font-size: 10px; } .pagelayer-close-bar-icons i:hover{ background-color: #E3E3E3; color: #000; } .pagelayer-leftbar-moving.pagelayer-leftbar-minimize .pagelayer-leftbar-holder, .pagelayer-leftbar-moving.pagelayer-leftbar-minimize .pagelayer-bottombar-row{ display:none; } /* Left bar move end*/ /* Pre-Loading animaiton classes */ #pagelayer-loader-wrapper { background-color:white; -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: fixed; left: 0; top: 0; width: 100%; z-index: 9000; } #pagelayer-loader-wrapper .pagelayer-animation-section { position: absolute; z-index: 1000; } .pagelayer-loader { position:relative; width: 150px; height: 150px; margin: 0 auto 50px auto; z-index: 1001; } .pagelayer-loader:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; border: 3px solid transparent; border-top-color: #3498db; -webkit-animation: spin 3s linear infinite; animation: spin 3s linear infinite; } .pagelayer-loader:after { content: ""; position: absolute; top: 10px; left: 10px; right: 10px; bottom: 10px; border-radius: 50%; border: 3px solid transparent; border-top-color: #e74c3c; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; } .pagelayer-loader .pagelayer-percent-parent{ width:100%; height:100%; margin:auto; display: flex; align-items: center; justify-content: center; text-align:center; } .pagelayer-loader .pagelayer-percent-parent:before{ content: ""; position: absolute; top: 20px; left: 20px; right: 20px; bottom: 20px; border-radius: 50%; border: 3px solid transparent; border-top-color: #f9c922; -webkit-animation: spin 1.5s linear infinite; animation: spin 1.5s linear infinite; } .pagelayer-loader .pagelayer-percent-parent .pagelayer-percent{ font-size:30px; } @-webkit-keyframes spin { 0%{ -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 100%{ -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } #pagelayer-loader-wrapper .pagelayer-animation-section .pagelayer-txt-loading { font: bold 7em Poppins,sans-serif; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .pagelayer-txt-loading .letters-loading { color: rgba(0,0,0,0.2); position: relative; } .pagelayer-txt-loading .letters-loading:before { -webkit-animation: letters-loading 4s infinite; animation: letters-loading 4s infinite; color: #000; content: attr(data-text-preloader); left: 0; opacity: 0; font-family: "Poppins",sans-serif; position: absolute; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg); } .pagelayer-txt-loading .letters-loading:nth-child(2):before { -webkit-animation-delay: .2s; animation-delay: .2s } .pagelayer-txt-loading .letters-loading:nth-child(3):before { -webkit-animation-delay: .4s; animation-delay: .4s } .pagelayer-txt-loading .letters-loading:nth-child(4):before { -webkit-animation-delay: .6s; animation-delay: .6s } .pagelayer-txt-loading .letters-loading:nth-child(5):before { -webkit-animation-delay: .8s; animation-delay: .8s } .pagelayer-txt-loading .letters-loading:nth-child(6):before { -webkit-animation-delay: 1s; animation-delay: 1s } .pagelayer-txt-loading .letters-loading:nth-child(7):before { -webkit-animation-delay: 1.2s; animation-delay: 1.2s } .pagelayer-txt-loading .letters-loading:nth-child(8):before { -webkit-animation-delay: 1.4s; animation-delay: 1.4s } .pagelayer-txt-loading .letters-loading:nth-child(9):before { -webkit-animation-delay: 1.6s; animation-delay: 1.6s } .pagelayer-txt-loading .letters-loading:nth-child(10):before { -webkit-animation-delay: 1.8s; animation-delay: 1.8s } .pagelayer-txt-loading .letters-loading:nth-child(11):before { -webkit-animation-delay: 2s; animation-delay: 2s } .pagelayer-loaded .pagelayer-animation-section .pagelayer-loader, .pagelayer-loaded .pagelayer-animation-section .pagelayer-txt-loading{ opacity: 0; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } @-webkit-keyframes letters-loading { 0%, 75%, 100% { opacity: 0; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg) } 25%, 50% { opacity: 1; -webkit-transform: rotateY(0deg); transform: rotateY(0deg) } } @keyframes letters-loading { 0%, 75%, 100% { opacity: 0; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg) } 25%, 50% { opacity: 1; -webkit-transform: rotateY(0deg); transform: rotateY(0deg) } } @media screen and (max-width: 767px) { #pagelayer-loader-wrapper .pagelayer-animation-section .pagelayer-loader { height: 8em; width: 8em } #pagelayer-loader-wrapper .pagelayer-animation-section .pagelayer-txt-loading { font: bold 3.5em Poppins, sans-serif } .pagelayer-loader .pagelayer-percent-parent .pagelayer-percent{ font-size:20px; } } @media screen and (max-width: 500px) { #pagelayer-loader-wrapper .pagelayer-animation-section .pagelayer-loader { height: 7em; width: 7em } #pagelayer-loader-wrapper .pagelayer-animation-section .pagelayer-txt-loading { font: bold 2em Poppins, sans-serif } .pagelayer-loader .pagelayer-percent-parent .pagelayer-percent{ font-size:15px; } } /* Pre-Loading animaiton classes end*/ /* Update Loading animation class start */ .pagelayer-update-button{ width:58px; height:24px; } .pagelayer-update-loader{ display:none; padding:2px; } .pagelayer-update-loader span{ width:8px; height:8px; margin: 0 2px; background-color: #ededede0; border-radius: 50%; display:inline-block; animation: dots 0.9s ease-in-out infinite; } .pagelayer-update-loader span:nth-child(2){ animation-delay: 0.3s; } .pagelayer-update-loader span:nth-child(3){ animation-delay: 0.6s; } @keyframes dots{ 50%{ opacity:0; } } /* Update Loading animation class end */ /* Error box css starts */ .pagelayer-errorBox{ position:absolute; top:10px; left: 0; right: 0; margin-left: auto; margin-right: auto; width:70%; height:234; border-radius:20px; background-color:#fffafa; box-shadow: 1px 1px 8px #ffc7c7; z-index:9999; display:none; } .pagelayer-errorBox-close{ position:absolute; right:10; top:10; font-size:20px; padding:5px; color:lightgrey; cursor:pointer; } .pagelayer-errorBox-main{ height:180px; margin:2px 10px; } .pagelayer-errorBox-main h2{ color:red; font-size:20px; margin:0; } .pagelayer-errorBox-main h2 i{ font-size:30px; margin:10px; vertical-align:middle; } .pagelayer-errorBox-content{ margin-left:90px; font-size:13px; overflow:auto; height:130px; border-bottom:1px solid lightgrey; } .pagelayer-errorBox-resolve{ text-align:right; padding:10px; } .pagelayer-errorBox-resolve p{ display:inline; margin:10px; } .pagelayer-errorBox-resolve .pagelayer-errorBox-support, .pagelayer-errorBox-resolve .pagelayer-errorBox-copy{ cursor:pointer; padding: 5px; border-radius: 5px; color: white; } .pagelayer-errorBox-resolve .pagelayer-errorBox-copy{ background-color: #616cf3; border: 1px solid blue; } .pagelayer-errorBox-resolve .pagelayer-errorBox-support{ background-color: #56b45d; border: 1px solid green; } /* Error box css ends */ /* Property modal start*/ .pagelayer-elp-modal-wrapper{ position: fixed; top: 0; bottom: 0; left: 0; right: 0; overflow-y: auto; background: #0000009c; z-index: 999; color: #fff; display:none; } .pagelayer-elp-modal-wrap{ width: 500px; background-color: #fff; position: relative; margin: 20px auto; border-radius: 5px; box-shadow: 0px 0px 7px 0px #fff; } .pagelayer-elp-modal-close{ float:right; padding: 5px; cursor:pointer } .pagelayer-elp-modal-header{ padding:15px 20px 10px; margin-top: 10px; font-size: 13px; font-weight: bold; color: #555; } .pagelayer-elp-modal-holder{ padding: 5px 20px 10px; } /* Property modal end*/ /* Property link start*/ .pagelayer-elp-link-list{ max-height:250px; overflow:auto; width: 99%; top: 35px; right: 4px; } .pagelayer-elp-link-list .pagelayer-elp-link-search{ width:100%; } .pagelayer-elp-link-item{ display: flex; font-size: 13px; padding: 7px 2px; margin: 2px 0; cursor: pointer; align-items:center; } .pagelayer-elp-link-item:hover{ box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; border-radius: 4px; } .pagelayer-elp-link-item span{ text-overflow: ellipsis; display: inline-block; overflow: hidden; white-space: nowrap; width: 100%; padding:3px; } .pagelayer-elp-link-item-title{ font-weight:bold; } .pagelayer-elp-link-item-perma{ color:#999; } .pagelayer-elp-link-title{ width: 73%; margin-right:2%; } .pagelayer-elp-link-info{ width: 20%; background-color: #ededed; padding: 2px; font-size:11px; } .pagelayer-elp-link-id{ background-color: #ededed; padding: 2px 6px; font-size:12px; margin-left:5px; } .pagelayer-elp-link-info span{ padding: 4px; } .pagelayer-elp-link-div .pagelayer-elp-link-addons{ margin-right: 30px; display: none; } .pagelayer-elp-link-div .pagelayer-elp-link-cb-div{ display: flex; justify-content: space-between; align-items: center; padding-top: 5px; } .pagelayer-elp-link-div .pagelayer-elp-link-cb-div:first-child{ margin-top: 10px; } .pagelayer-elp-link-div .pagelayer-elp-link-ca{ margin: 5px 0px; } .pagelayer-elp-link-ca input{ width: 100%; } /* Property link end*/ /* Editor notice start*/ .pagelayer-editor-notice{ position: fixed; right: 10px; top: 10px; padding-right: 16px; transition: all 5s ease-out; pointer-events: none; } .sitepad-body .pagelayer-editor-notice{ top:50px; } .pagelayer-editor-msg{ position:relative; font-size: 13px; background-color: rgba(0,0,0,.8); border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,.3); color: #fff; padding: 16px 30px 16px 15px; margin-bottom:7px; transition: opacity 800ms ease-out; pointer-events: all; width:fit-content; margin-left:auto; } .pagelayer-editor-msg.pagelayer-editor-msg-state-success{ background-color: #449d44; } .pagelayer-editor-msg.pagelayer-editor-msg-state-error{ background-color: #ef4d4d; } .pagelayer-editor-msg.pagelayer-editor-msg-state-warning{ background-color: #cd8500; } .pagelayer-notice-x{ position: absolute; top: 50%; right: 10px; transform: translateY(-50%); cursor:pointer; } /* Editor notice end*/ /* Pagelayer post setting modal start*/ .pagelayer-props-modal{ position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 1100; background-color:#2d2d2d8c; display:none; } .pagelayer-props-holder{ position:relative; height: 100%; overflow: auto; display: flex; justify-content: center; align-items: center; width: 100%; margin:auto; max-height: 967px; } .pagelayer-props-wrap{ position:relative; height: 90%; width: 90%; margin:auto; overflow: auto; display: flex; justify-content: center; align-items: center; border-radius: 10px } .pagelayer-props-loading-screen{ position:absolute; border: 8px solid transparent; border-radius: 50%; border-top: 8px solid #ebebeb; width: 80px; height: 80px; -webkit-animation: propsLoading 0.5s ease-in-out infinite; /* Safari */ animation: propsLoading 0.5s ease-in-out infinite; } /* Safari */ @-webkit-keyframes propsLoading { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes propsLoading { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .pagelayer-props-wrap .pagelayer-meta-iframe{ position: relative; width: 100%; height: 100%; border: 0px; } .pagelayer-props-modal-close{ position: absolute; top: 20px; right: 25px; z-index: 999; cursor:pointer; visibility:hidden; } @keyframes highlight { 0% { background: #dfdfdf; } 100% { background: #fff; } } .highlight { animation: highlight 1s; animation-iteration-count: 5; } /* Pagelayer post setting modal end */ /* Pagelayer post props(category) start */ .pagelayer-post-cat-div{ max-height:300px; overflow:auto; } .pagelayer-post-category, .pagelayer-post-category ul{ list-style:none; padding:0; margin:0; margin-left:16px; } .pagelayer-post-category li{ margin:8px 0px; } .pagelayer-post-category label, .pagelayer-elp-postCategory *{ font-size:small; } .pagelayer-post-category input[type=checkbox]{ margin-right:5px; background-color:#007cba; width:16px; height:16px; } .pagelayer-add-cat-btn{ color:#0073aa; cursor:pointer; line-height:3; } .pagelayer-add-cat-btn:hover{ color:#00a0d2; } .pagelayer-elp-postCategory input, .pagelayer-parent-category > select{ margin-top:5px; margin-bottom:12px; } .pagelayer-parent-category{ margin-top:5px; } .pagelayer-parent-category > select{ height:32px; outline:none; } .pagelayer-cat-submit{ color: #007cba; border: 1px solid #007cba; padding: 10px; background-color: white; cursor: pointer; } .pagelayer-cat-submit:hover{ color: #006ba1; border: 1px solid #006ba1; } .pagelayer-dark .pagelayer-cat-submit, .pagelayer-elp-postCategory input{ background-color:transparent; } .pagelayer-dark .pagelayer-cat-submit:hover{ color:white; background-color:#007cba; } /* Pagelayer post props(category) end */ /* Pagelayer post props(tags) start */ .pagelayer-elp-postTags{ border: 1px solid #757575; border-radius: 2px; display: flex; flex-wrap: wrap; padding:2px; } .pagelayer-post-tags{ display: flex; flex-wrap: wrap; align-items: flex-start; } .pagelayer-elp-tags-ele{ display: flex; margin: 2px 4px 2px 0; max-width: 100%; background-color: #ddd; border-radius: 2px; font-size: 13px; padding: 5px; } .pagelayer-elp-tags-ele .pagelayer-tags-label{ padding: 2px; } .pagelayer-elp-tags-ele .pagelayer-elp-tags-remove{ cursor:pointer; padding: 3px 5px; } .pagelayer-elp-postTags-inp{ width:auto; display: inline-block; flex: 1; padding: 5px; height: 26px; border: none !important; outline: none !important; max-width: 100%; min-height: 24px; min-width: 50px; background: inherit; color: #1e1e1e; box-shadow: none; margin-top:3px; } .pagelayer-post-tags .pagelayer-postTags-list{ flex: 1 0 100%; min-width: 100%; max-height: 9em; overflow-y: auto; transition: all .15s ease-in-out; list-style: none; border-top: 1px solid #757575; outline: none; border: none; margin: 0; margin-top:4px; padding:0; } .pagelayer-post-tags .pagelayer-postTags-list li{ color: #757575; display: block; font-size: 13px; padding: 4px 8px; margin: 0; cursor: pointer; border-top: 1px solid #757575; } .pagelayer-post-tags .pagelayer-postTags-list li:hover{ color:white; background-color:#007cba; } .pagelayer-elp-trash-button-div{ text-align:center; } .pagelayer-elp-trash-button{ color: #cc1818; padding: 6px; white-space: nowrap; background: transparent; text-decoration: none; font-size: 13px; cursor: pointer; border: 1px solid #cc1818; border-radius: 2px; } .pagelayer-elp-trash-button:hover{ background-color: transparent; color: #710d0d; box-shadow: inset 0 0 0 1px #710d0d; } .pagelayer-dark .pagelayer-elp-trash-button:hover{ color:#ffffff; background-color: #cc1818; } .pagelayer-dark .pagelayer-elp-postdate-div .pagelayer-elp-postdate::-webkit-calendar-picker-indicator{ filter: invert(70%); } /* Pagelayer post props(tags) end */ /* Pagelayer widget list tooltip start*/ .pagelayer-widget-tooltip{ position: fixed; top: 0; left: 0; background: #fff; width: 300px; max-height: 350px; min-height: 125px; height: auto; overflow-y: auto; box-shadow: 0 2px 6px rgb(0 0 0 / 5%); border-radius: 2px; display: none; z-index: 999; } .pagelayer-widget-search-holder{ position: sticky; top: 0; padding: 10px 10%; z-index: 1; background: #fff; } .pagelayer-widget-search{ position: relative; } .pagelayer-pointer.pagelayer-shortcode-text, .pagelayer-pointer.pagelayer-sc{ cursor: pointer !important; } .pagelayer-widget-tooltip .pagelayer-search-field{ border: 2px solid; } .pagelayer-widget-tooltip .pagelayer-shortcode-holder{ width: 70px !important; border: 1px solid transparent; } .pagelayer-widget-list-tooltip{ width: 150px !important; padding: 0px 10px; } .pagelayer-shortcode-holder[pagelayer-tag="pl_row"], .pagelayer-shortcode-holder[pagelayer-tag="pl_col"], .pagelayer-widget-list-tooltip .pagelayer-widget-group h5, .pagelayer-widget-list-tooltip .pagelayer-widget-search-holder{ display:none !important; } .pagelayer-widget-list-tooltip .pagelayer-shortcode{ width: 24px; height: 16px; font-size: 14px; text-align: left; } .pagelayer-widget-list-tooltip .pagelayer-shortcode-holder{ width: 100% !important; height: auto !important; float: unset; margin: 0px; } .pagelayer-widget-list-tooltip .pagelayer-sc{ display: flex; align-items: center; } .pagelayer-widget-list-tooltip .pagelayer-shortcode-text{ text-align: left; } .pagelayer-widget-list-tooltip .pagelayer-shortcode-inner{ height: auto; width: 22px; } .pagelayer-shortcode-holder.pagelayer-list-widget-active{ border: 1px solid rgb(0, 128, 0); } /* Pagelayer widget list tooltip end*/ /* Menu start */ .pagelayer-elp-menu-items-holder{ padding-top: 15px; } .pagelayer-drag-highlight{ margin-top: 0; margin-bottom: 10px; max-width: calc(100% - 2px); border: 1px dashed #a7aaad; height: 33px !important; } .pagelayer-menu-depth-1{ margin-left: 10px; width: calc(100% - 10px) !important; } .pagelayer-menu-depth-2{ margin-left: 20px; width: calc(100% - 20px) !important; } .pagelayer-menu-depth-3{ margin-left: 30px; width: calc(100% - 30px) !important; } .pagelayer-menu-depth-4{ margin-left: 40px; width: calc(100% - 40px) !important; } .pagelayer-menu-depth-5{ margin-left: 50px; width: calc(100% - 50px) !important; } .pagelayer-menu-depth-6{ margin-left: 60px; width: calc(100% - 60px) !important; } .pagelayer-menu-depth-7{ margin-left: 70px; width: calc(100% - 70px) !important; } .pagelayer-menu-depth-8{ margin-left: 80px; width: calc(100% - 80px) !important; } .pagelayer-menu-depth-9{ margin-left: 90px; width: calc(100% - 90px) !important; } .pagelayer-menu-depth-10{ margin-left: 100px; width: calc(100% - 100px) !important; } .pagelayer-menu-depth-11{ margin-left: 110px; width: calc(100% - 110px) !important; } .pagelayer-menu-depth-12{ margin-left: 120px; width: calc(100% - 120px) !important; } .pagelayer-menu-depth-13{ margin-left: 130px; width: calc(100% - 130px) !important; } .pagelayer-menu-depth-14{ margin-left: 140px; width: calc(100% - 140px) !important; } .pagelayer-menu-depth-15{ margin-left: 150px; width: calc(100% - 150px) !important; } .pagelayer-menu-item-transport:empty{ display: none; } .pagelayer-menu-item-transport{ padding-top: 10px; } /* Menu end */PKZ $%plugins/pagelayer/css/animate.min.cssnu[@charset "UTF-8"; /*! * animate.css -http://daneden.me/animate * Version - 3.7.0 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2018 Daniel Eden */ @-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;-webkit-transform-origin:center bottom;animation-name:bounce;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-name:headShake;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-animation-name:swing;-webkit-transform-origin:top center;animation-name:swing;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;-webkit-transform-origin:center;animation-name:jello;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-duration:1.3s;animation-name:heartBeat;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;-webkit-animation-name:bounceIn;animation-duration:.75s;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;-webkit-animation-name:bounceOut;animation-duration:.75s;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animated.flip{-webkit-animation-name:flip;-webkit-backface-visibility:visible;animation-name:flip;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-animation-name:flipInX;-webkit-backface-visibility:visible!important;animation-name:flipInX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-animation-name:flipInY;-webkit-backface-visibility:visible!important;animation-name:flipInY;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutY;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutY;backface-visibility:visible!important}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-name:lightSpeedIn;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}@keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}.hinge{-webkit-animation-duration:2s;-webkit-animation-name:hinge;animation-duration:2s;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}@keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;-webkit-animation-fill-mode:both;animation-duration:1s;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion),(print){.animated{-webkit-animation:unset!important;-webkit-transition:none!important;animation:unset!important;transition:none!important}}PKZPyy*plugins/pagelayer/css/combined.premium.cssnu[/* Pagelayer Frontend Framework */ [pagelayer-id]{ transition:0.5s; } /* Experimental All FLEX code .pagelayer-ele, .pagelayer-ele-wrap,*/ /*Flex - Rows and Cols*/ .pagelayer-row, .pagelayer-inner_row, .pagelayer-row-holder, .pagelayer-col, .pagelayer-col-holder{ box-sizing: border-box; display: flex; flex: 1 0 auto; flex-direction: row; flex-wrap: wrap; width:100%; align-content: stretch; position: relative; } /* The col holder should be flex-start and not stretch because elements in it should take automatic height */ .pagelayer-col, .pagelayer-col-holder{ align-content: flex-start; } /* Each immediate element in the col-holder should have full width */ .pagelayer-col-holder>*{ width: 100%; } .pagelayer-row.pagelayer-auto .pagelayer-col { flex-grow: 1; } .pagelayer-col-1 { width: 8.33333%; } .pagelayer-offset-1 { margin-left: 8.33333%; } .pagelayer-col-2 { width: 16.66667%; } .pagelayer-offset-2 { margin-left: 16.66667%; } .pagelayer-col-3 { width: 25%; } .pagelayer-offset-3 { margin-left: 25%; } .pagelayer-col-4 { width: 33.33333%; } .pagelayer-offset-4 { margin-left: 33.33333%; } .pagelayer-col-5 { width: 41.66667%; } .pagelayer-offset-5 { margin-left: 41.66667%; } .pagelayer-col-6 { width: 50%; } .pagelayer-offset-6 { margin-left: 50%; } .pagelayer-col-7 { width: 58.33333%; } .pagelayer-offset-7 { margin-left: 58.33333%; } .pagelayer-col-8 { width: 66.66667%; } .pagelayer-offset-8 { margin-left: 66.66667%; } .pagelayer-col-9 { width: 75%; } .pagelayer-offset-9 { margin-left: 75%; } .pagelayer-col-10 { width: 83.33333%; } .pagelayer-offset-10 { margin-left: 83.33333%; } .pagelayer-col-11 { width: 91.66667%; } .pagelayer-offset-11 { margin-left: 91.66667%; } .pagelayer-col-12 { width: 100%; } .pagelayer-offset-12 { margin-left: 100%; } .pagelayer-gutters > .pagelayer-col-1 { width: calc(8.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-1 { margin-left: calc(8.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-2 { width: calc(16.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-2 { margin-left: calc(16.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-3 { width: calc(25% - 2%); } .pagelayer-gutters > .pagelayer-offset-3 { margin-left: calc(25% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-4 { width: calc(33.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-4 { margin-left: calc(33.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-5 { width: calc(41.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-5 { margin-left: calc(41.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-6 { width: calc(50% - 2%); } .pagelayer-gutters > .pagelayer-offset-6 { margin-left: calc(50% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-7 { width: calc(58.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-7 { margin-left: calc(58.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-8 { width: calc(66.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-8 { margin-left: calc(66.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-9 { width: calc(75% - 2%); } .pagelayer-gutters > .pagelayer-offset-9 { margin-left: calc(75% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-10 { width: calc(83.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-10 { margin-left: calc(83.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-11 { width: calc(91.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-11 { margin-left: calc(91.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-12 { width: calc(100% - 2%); } .pagelayer-gutters > .pagelayer-offset-12 { margin-left: calc(100% + 2%) !important; } .pagelayer-first { order: -1; } .pagelayer-last { order: 1; } /**************My Style for front-end *********/ .pagelayer-img{ vertical-align:bottom; max-width: 100%; } /* To give no decoration to a link for a pagelayer element */ .pagelayer-ele-link{ text-decoration:none; box-shadow:none !important; border:none; } .pagelayer-bgimg-slider{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .pagelayer-bgimg-slide { position: absolute; width: 100%; top: 0; left: 0; height: 100%; transition: all 1s ease-in-out; background-position: center center; background-repeat: no-repeat; background-size: cover; opacity: 0; } .pagelayer-slide-show { opacity: 1; } .pagelayer-row-overlay, .pagelayer-col-overlay{ position: absolute; width: 100%; height: 100%; right: 0px; top: 0px; z-index: -1; pointer-events:none; } .pagelayer-row-shape{ width:100%; position:absolute; top:0; left:0; right:0; bottom:0; line-height:0; overflow:hidden; } .pagelayer-row-svg{ position:relative; height:100%; } .pagelayer-row-svg svg{ width:100%; position:absolute; } .pagelayer-row-svg svg.pagelayer-svg-top{ top:-1px; } .pagelayer-row-svg svg.pagelayer-svg-bottom{ bottom:-1px; } .pagelayer-height-fit{ height:100vh; } .pagelayer-row-wrapper{ width:100%; } .pagelayer-background-overlay{ position: absolute; width: 100%; top: 0; left:0; height: 100%; overflow: hidden; } .pagelayer-background-video{ position: absolute; width: 100%; top: 0; height: 100%; pointer-events: none; z-index: 0; overflow: hidden; left:0; } .pagelayer-background-video iframe, .pagelayer-background-video video{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); max-width: none; } .pagelayer-service-container{ position:relative; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-service-image{ line-height:0; overflow:hidden; } .pagelayer-service-image img{ height: auto; max-width: 100%; } .pagelayer-service-btn{ display:inline-block; position:relative; z-index:9; } .pagelayer-service-details{ width:100%; } .pagelayer-service-text{ word-break:break-word; } .pagelayer-service-align-left{ display:flex; } .pagelayer-service-align-right{ display:flex; text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-service-align-top{ display:block; text-align: center; } .pagelayer-service-align-top .pagelayer-service-image{ margin:0 auto; text-align:center; } .pagelayer-service-box-centered{ text-align: center; } .pagelayer-service-box-media-left, .pagelayer-service-box-media-right{ display: flex; } .pagelayer-service-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-service-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-service-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-service-box-media-right .pagelayer-service-box-media-section{ order: 2; } .pagelayer-service-box-media-right .pagelayer-service-box-content-section{ order: 1; } .pagelayer-service-box-icon-holder{ display: inline-block; color:#000000; text-align: center; line-height: 1; font-size: 60px; } .pagelayer-service-icon{ line-height: 0; } .pagelayer-service-icon.pagelayer-service-framed i{ border:4px solid; background-color:transparent !important; } .pagelayer-service-icon.pagelayer-service-stacked i, .pagelayer-service-icon.pagelayer-service-framed i{ position:relative; } .pagelayer-service-icon.pagelayer-service-stacked i:before, .pagelayer-service-icon.pagelayer-service-framed i:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .pagelayer-service-box-icon-holder.square-holder{ padding: 15px; color:#000000; } .pagelayer-service-box-icon-holder.circle-holder{ padding: 15px; color:#000000; border-radius:50% !Important; } .pagelayer-service-box-icon-holder i{ position: relative; display: block; } .pagelayer-service-heading{ line-height:1; } .pagelayer-box-link{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Icon widget */ .pagelayer-icon-mini{ font-size: 16px !important; } .pagelayer-icon-small{ font-size: 24px !important; } .pagelayer-icon-large{ font-size: 36px !important; } .pagelayer-icon-extra-large{ font-size: 56px !important; } .pagelayer-icon-double-large{ font-size: 78px !important; } .pagelayer-icon-circle, .pagelayer-icon-outline-circle, .pagelayer-social-shape-circle .pagelayer-icon-holder{ border-radius: 50%; } .pagelayer-icon-rounded, .pagelayer-icon-outline-rounded, .pagelayer-social-shape-rounded .pagelayer-share-content, .pagelayer-social-shape-rounded .pagelayer-icon-holder{ border-radius: 10px; } /* Icon widget end */ /* Icon animation */ .pagelayer-animation-grow{ transition: transform 400ms; } .pagelayer-animation-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow{ transform: scale(1.1); } .pagelayer-animation-shrink{ transition: transform 400ms; } .pagelayer-animation-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-shrink{ transform: scale(0.9); } @keyframes pagelayer-animation-pulse{25%{transform:scale(1.1)}75%{transform:scale(0.9)}} .pagelayer-animation-pulse:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse{ animation-name: pagelayer-animation-pulse; animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pagelayer-animation-pulse-grow{to{transform:scale(1.1)}} .pagelayer-animation-pulse-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-grow{ animation-name: pagelayer-animation-pulse-grow; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-pulse-shrink{to{transform:scale(0.9)}} .pagelayer-animation-pulse-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-shrink{ animation-name: pagelayer-animation-pulse-shrink; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-push{50%{transform:scale(0.8)}100%{transform:scale(1)}} .pagelayer-animation-push:hover, .pagelayer-anim-par:hover .pagelayer-animation-push{ animation-name:pagelayer-animation-push; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-pop{50%{transform:scale(1.2)}} .pagelayer-animation-pop:hover, .pagelayer-anim-par:hover .pagelayer-animation-pop{ animation-name:pagelayer-animation-pop; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-buzz{ 50%{ transform:translateX(3px) rotate(2deg) } 100%{ transform:translateX(-3px) rotate(-2deg) } } .pagelayer-animation-buzz:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz{ animation-name:pagelayer-animation-buzz; animation-duration:0.15s; animation-timing-function:linear; animation-iteration-count:infinite; } @keyframes pagelayer-animation-buzz-out{ 10%{transform:translateX(3px) rotate(2deg)} 20%{transform:translateX(-3px) rotate(-2deg)} 30%{transform:translateX(3px) rotate(2deg)} 40%{transform:translateX(-3px) rotate(-2deg)} 50%{transform:translateX(2px) rotate(1deg)} 60%{transform:translateX(-2px) rotate(-1deg)} 70%{transform:translateX(2px) rotate(1deg)} 80%{transform:translateX(-2px) rotate(-1deg)} 90%{transform:translateX(1px) rotate(0)} 100%{transform:translateX(-1px) rotate(0)} } .pagelayer-animation-buzz-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz-out{ animation-name:pagelayer-animation-buzz-out; animation-duration:0.7s; animation-timing-function:linear; animation-iteration-count:1; } .pagelayer-animation-float:hover, .pagelayer-anim-par:hover .pagelayer-animation-float{ transform:translateY(-8px) } .pagelayer-animation-sink:hover, .pagelayer-anim-par:hover .pagelayer-animation-sink{ transform:translateY(8px) } @keyframes pagelayer-animation-bob{ 0%{transform:translateY(-8px)} 50%{transform:translateY(-4px)} 100%{transform:translateY(-8px)} } @keyframes pagelayer-animation-bob-up{ 100%{transform:translateY(-8px)} } .pagelayer-animation-bob:hover, .pagelayer-anim-par:hover .pagelayer-animation-bob{ animation-name:pagelayer-animation-bob-up,pagelayer-animation-bob; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:infinite; } @keyframes pagelayer-animation-hang{ 0%{transform:translateY(8px)} 50%{transform:translateY(4px)} 100%{transform:translateY(8px)} } @keyframes pagelayer-animation-hang-up{ 100%{transform:translateY(8px)} } .pagelayer-animation-hang:hover, .pagelayer-anim-par:hover .pagelayer-animation-hang{ animation-name:pagelayer-animation-hang-up,pagelayer-animation-hang; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:1,infinite; animation-direction:normal,alternate; } .pagelayer-animation-bounce-in{ transition-duration:0.5s; } .pagelayer-animation-bounce-in:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-in{ transform:scale(1.2); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-bounce-out{ transition-duration:0.5s; } .pagelayer-animation-bounce-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-out{ transform:scale(0.8); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-rotate{ transform:rotate(6deg); } .pagelayer-animation-grow-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow-rotate{ transform:scale(1.1) rotate(6deg); } .pagelayer-animation-skew-forward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-forward{ transform:skew(-9deg); } .pagelayer-animation-skew-backward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-backward{ transform:skew(9deg); } @keyframes pagelayer-animation-wobble-vertical{ 17%{transform:translateY(9px)} 33%{transform:translateY(-7px)} 45%{transform:translateY(5px)} 67%{transform:translateY(-3px)} 83%{transform:translateY(1px)} 100%{transform:translateY(0)} } .pagelayer-animation-wobble-vertical:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-vertical{ animation-name:pagelayer-animation-wobble-vertical; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-horizontal{ 17%{transform:translateX(9px)} 33%{transform:translateX(-7px)} 50%{transform:translatex(5px)} 67%{transform:translateX(-3px)} 83%{transform:translateX(1px)} 100%{transform:translateX(0)} } .pagelayer-animation-wobble-horizontal:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-horizontal{ animation-name:pagelayer-animation-wobble-horizontal; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-bottom-to-right{ 17%{transform:translate(9px,9px)} 33%{transform:translate(-7px,-7px)} 50%{transform:translate(5px,5px)} 67%{transform:translate(-3px,-3px)} 83%{transform:translate(1px,1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-bottom-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom-to-right{ animation-name:pagelayer-animation-wobble-bottom-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-top-to-right{ 17%{transform:translate(9px,-9px)} 33%{transform:translate(-7px,7px)} 50%{transform:translate(5px,-5px)} 67%{transform:translate(-3px,3px)} 83%{transform:translate(1px,-1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-top-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top-to-right{ animation-name:pagelayer-animation-wobble-top-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } .pagelayer-animation-wobble-top{ transform-origin:0 100%; } @keyframes pagelayer-animation-wobble-top{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-top:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top{ animation-name:pagelayer-animation-wobble-top; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } .pagelayer-animation-wobble-bottom{ transform-origin:100% 0; } @keyframes pagelayer-animation-wobble-bottom{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-bottom:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom{ animation-name:pagelayer-animation-wobble-bottom; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } @keyframes pagelayer-animation-wobble-skew{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-skew:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-skew{ animation-name:pagelayer-animation-wobble-skew; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } /* Icon animation end */ /*Badge widget */ .pagelayer-badge a{ text-decoration: none !important; } .pagelayer-badge-btn{ display:none; padding:10px; padding: 0.40em 0.36em; } .pagelayer-badge-details{ margin-left:1px; border-radius:.25rem; padding: 0.10rem; position: relative; top: -3px; } .pagelayer-badge-details.pagelayer-badge-normal{ border-radius:.25rem; } .pagelayer-badge-details.pagelayer-badge-pills{ border-radius:10rem; } .pagelayer-badge-btn .pagelayer-badge-details{ position:relative; top:-1px; } /*Badge widget end*/ /*Tooltip widget*/ .pagelayer-tooltip-container{ position:relative; display:inline-block; line-height: 1; } .pagelayer-tooltip-text{ visibility: hidden; width: 300px; background-color: #000000; color: #ffffff; text-align: center; border-radius: 6px; position: absolute; z-index: 1; padding:5px; word-break:break-word; } .pagelayer-tooltip-icon{ margin:0px 4px; } .pagelayer-tooltip-top{ bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-top:after{ content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #000000 transparent transparent transparent; } .pagelayer-tooltip-right{ top: 50%; left: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-right:after { content: ""; position: absolute; top: 50%; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent #000000 transparent transparent; } .pagelayer-tooltip-bottom{ top: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-bottom:after{ content: ""; position: absolute; bottom: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent #000000 transparent; } .pagelayer-tooltip-left{ top: 50%; bottom: auto; right: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-left:after{ content: ""; position: absolute; top: 50%; left: 100%; transform: translateY(-50%); margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent #000000; } .pagelayer-tooltip-container:hover .pagelayer-tooltip-text, .pagelayer-tooltip-text:focus{ visibility: visible !important; } .pagelayer-tooltip-on-click{ visibility: visible !important; } /*Tooltip widget end*/ /* Button widget */ .pagelayer-btn-holder{ border-radius:5px; display:inline-block; line-height:1em; transition:all 0.3s; cursor: pointer; box-sizing:border-box; } .pagelayer-btn-default{ background-color:#818a91 !important; color:#ffffff !important; } .pagelayer-btn-primary, .pagelayer-badge-primary, .pagelayer-progress-primary{ color:#ffffff !important; background-color:#007bff !important; } .pagelayer-btn-primary:hover{ color:#ffffff !important; background-color: #0069d9 !important; } .pagelayer-btn-secondary, .pagelayer-badge-secondary, .pagelayer-progress-secondary{ color:#ffffff !important; background-color:#6c757d !important; } .pagelayer-btn-secondary:hover{ color: #ffffff !important; background-color: #5a6268 !important; } .pagelayer-btn-success, .pagelayer-badge-success, .pagelayer-progress-success{ color: #fff; background-color: #28a745 !important; } .pagelayer-btn-success:hover{ color: #ffffff !important; background-color: #218838 !important; } .pagelayer-btn-info, .pagelayer-badge-info, .pagelayer-progress-info{ color: #ffffff !important; background-color: #17a2b8 !important; } .pagelayer-btn-info:hover{ color: #ffffff !important; background-color: #138496 !important; } .pagelayer-btn-warning, .pagelayer-badge-warning, .pagelayer-progress-warning{ color: #212529 !important; background-color: #ffc107 !important; } .pagelayer-btn-warning:hover{ color: #212529 !important; background-color: #e0a800 !important; } .pagelayer-btn-danger, .pagelayer-badge-danger, .pagelayer-progress-danger{ color: #ffffff !important; background-color: #dc3545 !important; } .pagelayer-btn-danger:hover{ color: #ffffff !important; background-color: #c82333 !important; } .pagelayer-btn-dark, .pagelayer-badge-dark, .pagelayer-progress-dark{ color: #ffffff !important; background-color: #343a40 !important; } .pagelayer-btn-dark:hover{ color: #ffffff !important; background-color: #23272b !important; } .pagelayer-btn-light, .pagelayer-badge-light, .pagelayer-progress-light{ color: #212529 !important; background-color: #f8f9fa !important; } .pagelayer-btn-light:hover{ color: #212529 !important; background-color: #e2e6ea !important; } .pagelayer-btn-link{ color: #007bff !important; } .pagelayer-btn-link:hover{ text-decoration: underline !important; } .pagelayer-btn-default:hover{ color:#ffffff; } .pagelayer-btn-mini{ font-size: 14px; padding: 10px 20px; } .pagelayer-btn-small{ font-size: 16px; padding: 15px 30px; } .pagelayer-btn-large{ font-size: 18px; padding: 20px 40px; } .pagelayer-btn-extra-large{ font-size: 20px; padding: 25px 50px; } .pagelayer-btn-double-large{ font-size: 22px; padding: 30px 60px; } .pagelayer-btn-icon-left .pagelayer-btn-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-icon:first-child, .pagelayer-btn-icon-left .pagelayer-btn-load-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-load-icon:first-child, .pagelayer-btn-icon-left .pagelayer-cf-icon-right, .pagelayer-btn-icon-right .pagelayer-cf-icon-left{ display: none; } .pagelayer-btn-icon-left .pagelayer-btn-icon, .pagelayer-btn-icon-left .pagelayer-btn-load-icon{ padding-left:0 !important; position: relative; z-index: 1; } .pagelayer-btn-icon-right .pagelayer-btn-icon, .pagelayer-btn-icon-right .pagelayer-btn-load-icon{ padding-right:0 !important; position: relative; z-index: 1; } /* Button widget end */ /* Social Profile */ .pagelayer-icon-holder[class*="pagelayer-facebook"] .pagelayer-social-fa{ color:#3B5998; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-facebook"], .pagelayer-share-content[class*="pagelayer-facebook"]{ background-color:#3B5998; color:#3B5998; } .pagelayer-icon-holder[class*="pagelayer-twitter"] .pagelayer-social-fa{ color:#1DA1F2; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitter"], .pagelayer-share-content[class*="pagelayer-twitter"]{ background-color:#1DA1F2; color:#1DA1F2; } .pagelayer-icon-holder[class*="pagelayer-android"] .pagelayer-social-fa{ color:#A4C639 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-android"], .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-share-content[class*="pagelayer-android"]{ background-color:#A4C639; } .pagelayer-icon-holder[class*="pagelayer-google-plus"] .pagelayer-social-fa{ color:#DD4B39 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-google-plus"], .pagelayer-share-content[class*="pagelayer-google-plus"]{ background-color:#DD4B39; color:#DD4B39; } .pagelayer-icon-holder[class*="pagelayer-instagram"] .pagelayer-social-fa{ color:#262626; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-instagram"], .pagelayer-share-content[class*="pagelayer-instagram"]{ background-color:#1DA1F2; color:#262626; } .pagelayer-icon-holder[class*="pagelayer-linkedin"] .pagelayer-social-fa{ color:#0077B5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-linkedin"], .pagelayer-share-content[class*="pagelayer-linkedin"]{ background-color:#0077B5; color:#0077B5; } .pagelayer-icon-holder[class*="pagelayer-behance"] .pagelayer-social-fa{ color:#053eff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-behance"], .pagelayer-share-content[class*="pagelayer-behance"]{ background-color:#053eff; color:#053eff; } .pagelayer-icon-holder[class*="pagelayer-pinterest"] .pagelayer-social-fa{ color:#c8232c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-pinterest"], .pagelayer-share-content[class*="pagelayer-pinterest"]{ background-color:#c8232c; color:#c8232c; } .pagelayer-icon-holder[class*="pagelayer-get-pocket"] .pagelayer-social-fa{ color:#ef4156; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-get-pocket"], .pagelayer-share-content[class*="pagelayer-get-pocket"]{ background-color:#ef4156; color:#ef4156; } .pagelayer-icon-holder[class*="pagelayer-envelope"] .pagelayer-social-fa{ color:#292929; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-envelope"], .pagelayer-share-content[class*="pagelayer-envelope"]{ background-color:#292929; color:#292929; } .pagelayer-icon-holder[class*="pagelayer-reddit"] .pagelayer-social-fa{ color:#ff4301; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-reddit"], .pagelayer-share-content[class*="pagelayer-reddit"]{ background-color:#ff4301; color:#ff4301; } .pagelayer-icon-holder[class*="pagelayer-rss"] .pagelayer-social-fa{ color:#F26522; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-rss"], .pagelayer-share-content[class*="pagelayer-rss"]{ background-color:#F26522; color:#F26522; } .pagelayer-icon-holder[class*="pagelayer-skype"] .pagelayer-social-fa{ color:#00aff0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-skype"], .pagelayer-share-content[class*="pagelayer-skype"]{ background-color:#00aff0; color:#00aff0; } .pagelayer-icon-holder[class*="pagelayer-slideshare"] .pagelayer-social-fa{ color:#0077b5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-slideshare"], .pagelayer-share-content[class*="pagelayer-slideshare"]{ background-color:#0077b5; color:#0077b5; } .pagelayer-icon-holder[class*="pagelayer-snapchat"] .pagelayer-social-fa{ color:#fffc00; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-snapchat"], .pagelayer-share-content[class*="pagelayer-snapchat"]{ background-color:#fffc00; color:#fffc00; } .pagelayer-icon-holder[class*="pagelayer-soundcloud"] .pagelayer-social-fa{ color:#ff8800; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-soundcloud"], .pagelayer-share-content[class*="pagelayer-soundcloud"]{ background-color:#ff8800; color:#ff8800; } .pagelayer-icon-holder[class*="pagelayer-spotify"] .pagelayer-social-fa{ color:#1ED760; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-spotify"], .pagelayer-share-content[class*="pagelayer-spotify"]{ background-color:#1ED760; color:#1ED760; } .pagelayer-icon-holder[class*="pagelayer-stack-overflow"] .pagelayer-social-fa{ color:#F48024; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stack-overflow"], .pagelayer-share-content[class*="pagelayer-stack-overflow"]{ background-color:#F48024; color:#F48024; } .pagelayer-icon-holder[class*="pagelayer-steam"] .pagelayer-social-fa{ color:#00adee; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-steam"], .pagelayer-share-content[class*="pagelayer-steam"]{ background-color:#00adee; color:#00adee; } .pagelayer-icon-holder[class*="pagelayer-stumbleupon"] .pagelayer-social-fa{ color:#EB4924; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stumbleupon"], .pagelayer-share-content[class*="pagelayer-stumbleupon"]{ background-color:#EB4924; color:#EB4924; } .pagelayer-icon-holder[class*="pagelayer-telegram"] .pagelayer-social-fa{ color:#0088cc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-telegram"], .pagelayer-share-content[class*="pagelayer-telegram"]{ background-color:#0088cc; color:#0088cc; } .pagelayer-icon-holder[class*="pagelayer-thumb-tack"] .pagelayer-social-fa{ color:#1AA1D8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-thumb-tack"], .pagelayer-share-content[class*="pagelayer-thumb-tack"]{ background-color:#1AA1D8; color:#1AA1D8; } .pagelayer-icon-holder[class*="pagelayer-tripadvisor"] .pagelayer-social-fa{ color:#00af87; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tripadvisor"], .pagelayer-share-content[class*="pagelayer-tripadvisor"]{ background-color:#00af87; color:#00af87; } .pagelayer-icon-holder[class*="pagelayer-tumblr"] .pagelayer-social-fa{ color:#001935; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tumblr"], .pagelayer-share-content[class*="pagelayer-tumblr"]{ background-color:#001935; color:#001935; } .pagelayer-icon-holder[class*="pagelayer-twitch"] .pagelayer-social-fa{ color:#6441a5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitch"], .pagelayer-share-content[class*="pagelayer-twitch"]{ background-color:#6441a5; color:#6441a5; } .pagelayer-icon-holder[class*="pagelayer-vimeo"] .pagelayer-social-fa{ color:#1CB7EA; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vimeo"], .pagelayer-share-content[class*="pagelayer-vimeo"]{ background-color:#1CB7EA; color:#1CB7EA; } .pagelayer-icon-holder[class*="pagelayer-vk"] .pagelayer-social-fa{ color:#4C75A3; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vk"], .pagelayer-share-content[class*="pagelayer-vk"]{ background-color:#4C75A3; color:#4C75A3; } .pagelayer-icon-holder[class*="pagelayer-weibo"] .pagelayer-social-fa{ color:#DF2029; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weibo"], .pagelayer-share-content[class*="pagelayer-weibo"]{ background-color:#DF2029; color:#DF2029; } .pagelayer-icon-holder[class*="pagelayer-weixin"] .pagelayer-social-fa{ color:#7bb32e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weixin"], .pagelayer-share-content[class*="pagelayer-weixin"]{ background-color:#7bb32e; color:#7bb32e; } .pagelayer-icon-holder[class*="pagelayer-whatsapp"] .pagelayer-social-fa{ color:#25D366; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-whatsapp"], .pagelayer-share-content[class*="pagelayer-whatsapp"]{ background-color:#25D366; color:#25D366; } .pagelayer-icon-holder[class*="pagelayer-wordpress"] .pagelayer-social-fa{ color:#21759b; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-wordpress"], .pagelayer-share-content[class*="pagelayer-wordpress"]{ background-color:#21759b; color:#21759b; } .pagelayer-icon-holder[class*="pagelayer-xing"] .pagelayer-social-fa{ color:#026466; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-xing"], .pagelayer-share-content[class*="pagelayer-xing"]{ background-color:#026466; color:#026466; } .pagelayer-icon-holder[class*="pagelayer-yelp"] .pagelayer-social-fa{ color:#af0606; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-yelp"], .pagelayer-share-content[class*="pagelayer-yelp"]{ background-color:#af0606; color:#af0606; } .pagelayer-icon-holder[class*="pagelayer-youtube"] .pagelayer-social-fa{ color:#ff0000; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-youtube"], .pagelayer-share-content[class*="pagelayer-youtube"]{ background-color:#ff0000; color:#ff0000; } .pagelayer-icon-holder[class*="pagelayer-500px"] .pagelayer-social-fa{ color:#0099e5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-500px"], .pagelayer-share-content[class*="pagelayer-500px"]{ background-color:#0099e5; color:#0099e5; } .pagelayer-icon-holder[class*="pagelayer-flickr"] .pagelayer-social-fa{ color:#0063dc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-flickr"], .pagelayer-share-content[class*="pagelayer-flickr"]{ background-color:#0063dc; color:#0063dc; } .pagelayer-icon-holder[class*="pagelayer-github"] .pagelayer-social-fa{ color:#4078c0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-github"], .pagelayer-share-content[class*="pagelayer-github"]{ background-color:#4078c0; color:#4078c0; } .pagelayer-icon-holder[class*="pagelayer-gitlab"] .pagelayer-social-fa{ color:#fca326; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-gitlab"], .pagelayer-share-content[class*="pagelayer-gitlab"]{ background-color:#fca326; color:#fca326; } .pagelayer-icon-holder[class*="pagelayer-apple"] .pagelayer-social-fa{ color:#999999; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-apple"], .pagelayer-share-content[class*="pagelayer-apple"]{ background-color:#999999; color:#999999; } .pagelayer-icon-holder[class*="pagelayer-jsfiddle"] .pagelayer-social-fa{ color:#0084FF; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-jsfiddle"], .pagelayer-share-content[class*="pagelayer-jsfiddle"]{ background-color:#0084FF; color:#0084FF; } .pagelayer-icon-holder[class*="pagelayer-houzz"] .pagelayer-social-fa{ color:#7ac142; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-houzz"], .pagelayer-share-content[class*="pagelayer-houzz"]{ background-color:#7ac142; color:#7ac142; } .pagelayer-icon-holder[class*="pagelayer-bitbucket"] .pagelayer-social-fa{ color:#205081; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-bitbucket"], .pagelayer-share-content[class*="pagelayer-bitbucket"]{ background-color:#205081; color:#205081; } .pagelayer-icon-holder[class*="pagelayer-codepen"] .pagelayer-social-fa{ color:#0ebeff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-codepen"], .pagelayer-share-content[class*="pagelayer-codepen"]{ background-color:#0ebeff; color:#0ebeff; } .pagelayer-icon-holder[class*="pagelayer-delicious"] .pagelayer-social-fa{ color:#3399ff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-delicious"], .pagelayer-share-content[class*="pagelayer-delicious"]{ background-color:#3399ff; color:#3399ff; } .pagelayer-icon-holder[class*="pagelayer-medium"] .pagelayer-social-fa{ color:#00ab6c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-medium"], .pagelayer-share-content[class*="pagelayer-medium"]{ background-color:#00ab6c; color:#00ab6c; } .pagelayer-icon-holder[class*="pagelayer-meetup"] .pagelayer-social-fa{ color:#e0393e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-meetup"], .pagelayer-share-content[class*="pagelayer-meetup"]{ background-color:#e0393e; color:#e0393e; } .pagelayer-icon-holder[class*="pagelayer-mixcloud"] .pagelayer-social-fa{ color:#52aad8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-mixcloud"], .pagelayer-share-content[class*="pagelayer-mixcloud"]{ background-color:#52aad8; color:#52aad8; } .pagelayer-icon-holder[class*="pagelayer-dribbble"] .pagelayer-social-fa{ color:#444444; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-dribbble"], .pagelayer-share-content[class*="pagelayer-dribbble"]{ background-color:#444444; color:#444444; } .pagelayer-icon-holder[class*="pagelayer-foursquare"] .pagelayer-social-fa{ color:#f94877; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-foursquare"], .pagelayer-share-content[class*="pagelayer-foursquare"]{ background-color:#f94877; color:#f94877; } .pagelayer-share_grp .pagelayer-social-fa, .pagelayer-share_grp .pagelayer-social-fa:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%); } .pagelayer-share_grp{ font-size: 0; } .pagelayer-share_grp > div{ display: inline-block; } .pagelayer-share_grp .pagelayer-social-fa{ height:1em; width:1em; } .pagelayer-share_grp .pagelayer-icon-holder{ position: relative; min-height: 1em; min-width: 1em; } .pagelayer-share-content .pagelayer-social-fa, .pagelayer-share-content span{ color: inherit; } .pagelayer-share_grp.pagelayer-social-bg-none .pagelayer-share-content, .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ background-color:unset; } .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ border:2px solid; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-icon-name span{ color: #ffffff; } .pagelayer-social_grp .pagelayer-icon-holder{ display:inline-block; line-height: 100%; text-align: center; } .pagelayer-share-content, .pagelayer-share-content .pagelayer-icon-name{ display:flex; } .pagelayer-share-content .pagelayer-icon-name{ align-items:center; } .pagelayer-social-shape-circle .pagelayer-share-content{ border-radius:100000px; } .pagelayer-icon-name span{ padding:0 20px 0 5px; } .pagelayer-share-buttons{ position:relative; border-radius: inherit; } .pagelayer-social-shape-boxed .pagelayer-share-buttons:before{ content: ""; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.15); border-top-left-radius: inherit; border-bottom-left-radius: inherit; left: 0; } .pagelayer-share_grp .pagelayer-icon-name span, .pagelayer-share_grp .pagelayer-icon-holder{ display:none; } .pagelayer-share-type-icon .pagelayer-icon-holder, .pagelayer-share-type-icon-label .pagelayer-icon-holder, .pagelayer-share-type-label .pagelayer-icon-name span, .pagelayer-share-type-icon-label .pagelayer-icon-name span{ display:block; } /* Social Profile end */ .pagelayer-list-icon-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-list-icon, .pagelayer-list-item{ -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .pagelayer-list-item{ width:100%; } .pagelayer-list-ul{ margin:0; padding:0; } /* Video */ .pagelayer-video .pagelayer-video-holder{ position:relative; width: 100%; height: auto; overflow: hidden; } .pagelayer-video-iframe{ position:absolute; width:100%; height:100%; top:0; left:0; } .pagelayer-video-aspect-1-1{ padding-top:100%; } .pagelayer-video-aspect-3-2{ padding-top:66.66%; } .pagelayer-video-aspect-4-3{ padding-top: 75%; } .pagelayer-video-aspect-8-5{ padding-top:62.5%; } .pagelayer-video-aspect-16-9{ padding-top: 56.25%; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background-size: cover; background-position: center center; background-repeat: no-repeat; cursor: pointer; } .pagelayer-video .pagelayer-video-holder a{ position:absolute; top:0; left:0; right:0; bottom:0; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay i{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } /* Video end */ /** Image **/ .pagelayer-image, .pagelayer-image .pagelayer-image-holder{ position: relative; } .pagelayer-image-link{ text-decoration:none; cursor: pointer; } .pagelayer-image-caption{ margin-bottom: unset; } .pagelayer-image-overlay{ position: absolute; width: 100%; top: 0; height: 100%; left: 0; opacity:0; overflow:auto; transition: .5s ease; } .pagelayer-image:hover .pagelayer-image-overlay{ opacity:1; } .pagelayer-image .pagelayer-image-overlay .pagelayer-image-overlay-content{ width:100%; } .pagelayer-image *{ border-radius:inherit; } /** Image End **/ .pagelayer-button { text-align: center } .pagelayer-button i{ padding: 0 3px; } .pagelayer-audio-container, .pagelayer-audio-container audio{ width:100%; } .pagelayer-testimonial-avatar img{ border: 1px solid #eee; border-radius: 50%; margin-right: 10px; } .pagelayer-alignment-center{ text-align: center; } .pagelayer-alignment-left{ text-align: left; } .pagelayer-alignment-right{ text-align: right; } /* Testimonial */ .pagelayer-testimonial{ padding:0.4em 0.8em; line-height: normal; } .pagelayer-testimonial-image{ -o-object-fit: cover; object-fit: cover; display: unset !important; } .pagelayer-testimonial-square{ border-radius:0px; } .pagelayer-testimonial-circle{ border-radius:50%; } .pagelayer-aside-position{ display:inline-block; vertical-align: middle; } .pagelayer-aside-position .pagelayer-testimonial-cite{ text-align: left; } .pagelayer-top-position, .pagelayer-testimonial-author{ display:block; } .pagelayer-aside-position .pagelayer-testimonial-author{ position: relative; } .pagelayer-testimonial-container .pagelayer-testimonial-avatar, .pagelayer-testimonial-container .pagelayer-testimonial-details{ display: table-cell; vertical-align: middle; } .pagelayer-testimonial-designation{ color: #999; font-size: 12px; } /* Testimonial End */ /* Progress bar */ .pagelayer-progress-goal{ margin-top: 10px; } .pagelayer-progress-container{ background-color:#eeeeee; } .pagelayer-progress-bar{ overflow:hidden; } .pagelayer-progress-percent{ float:right; padding-right:10px; } .pagelayer-progress-text{ float:left; padding-left:10px; } .pagelayer-progress-prefix { float: left; text-align: left; display: inline-block; } .pagelayer-progress-suffix{ text-align: right; } /*Progress bar end*/ /*Stars widget start*/ .pagelayer-stars > *{ vertical-align:middle; } .pagelayer-stars-container{ text-align:center; color: #ccd6df; font-family: "FontAwesome", "Font Awesome 5 Free"; display: inline-block; position: relative; border-color: 1px solid #ccd6df; } .pagelayer-stars-container .pagelayer-stars-icon{ position: relative; display:inline-block; line-height: 1; } .pagelayer-stars-container .pagelayer-stars-icon:before{ content: "\f005"; font-size: inherit; font-family: inherit; overflow: hidden; color: #f0ad4e; position:absolute; font-weight:900; top:0; left:0; } .pagelayer-stars-icon.pagelayer-stars-empty:before{ width:0em; } .pagelayer-stars-icon.pagelayer-stars-1:before{ width:0.1em; } .pagelayer-stars-icon.pagelayer-stars-2:before{ width:0.2em; } .pagelayer-stars-icon.pagelayer-stars-3:before{ width:0.3em; } .pagelayer-stars-icon.pagelayer-stars-4:before{ width:0.4em; } .pagelayer-stars-icon.pagelayer-stars-5:before{ width:0.5em; } .pagelayer-stars-icon.pagelayer-stars-6:before{ width:0.6em; } .pagelayer-stars-icon.pagelayer-stars-7:before{ width:0.7em; } .pagelayer-stars-icon.pagelayer-stars-8:before{ width:0.8em; } .pagelayer-stars-icon.pagelayer-stars-9:before{ width:0.9em; } .pagelayer-stars-icon.pagelayer-stars-full:before{ width:1.1em; } /*Stars widget end*/ /* Site Title Start */ .pagelayer-wp-title-align-top{ display:block; text-align: center; } .pagelayer-wp-title-heading{ padding:5px 20px; font-size: 20px; font-weight: 500; text-decoration-style: solid !important; margin: 0px; transition: all 400ms; flex-grow:1; } .pagelayer-wp-title-img{ box-shadow: none !important; } .pagelayer-wp-title-desc{ padding: 5px 20px; } .pagelayer-wp-title-align-left, .pagelayer-wp-title-align-right{ display: flex; } .pagelayer-wp-title-align-right{ text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-wp-title-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-wp-title-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-wp-title-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-wp-title-section .pagelayer-wp-title-link{ text-decoration: none !important; } /* Site title End */ /*pricing plans*/ .pagelayer-pricing{ text-align:center; border:2px solid #e8e3e3; border-radius:6px; } .pagelayer-pricing-rate-section{ padding:20px; } .pagelayer-pricing-details h1, .pagelayer-pricing-details h2, .pagelayer-pricing-details h3, .pagelayer-pricing-details h4, .pagelayer-pricing-details h5{ margin:10px 0px; padding:0px; } .pagelayer-pricing-details{ position: relative; background-color:#1e1558; border-top-left-radius: inherit; border-top-right-radius: inherit; } .pagelayer-pricing-details .pagelayer-pricing-type{ text-transform: uppercase; } .pagelayer-pricing-sub-title{ font-weight: normal; } .pagelayer-pricing-details .pagelayer-pricing-price{ font-weight:800; } .pagelayer-pricing-price.pagelayer-pricing-original{ display:none; text-decoration: line-through; margin-right: 10px; } h2.pagelayer-pricing-price{ display:inline-block; margin:5px 0px; } .pagelayer-pricing-details{ font-size:15px; } .pagelayer-pricing-duration{ font-size:15px; margin:0px; } .pagelayer-pricing-features{ padding:20px; border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .pagelayer-pricing-features .pagelayer-pricing-ul{ padding:0px; } .pagelayer-pricing-ul li{ display: inline-block; list-style-type: none; padding:5px 0px; } .pagelayer-pricing-ul .pagelayer-list_item:after{ border-bottom:2px solid #c5c5c5; margin-top: 5px; } .pagelayer-list-li span i{ margin-right:5px; } .pagelayer-pricing-btn{ display: inline-block; } .pagelayer-pricing-additional{ margin:20px 0px 0px; } .pagelayer-pricing-ribbon-container{ position: absolute; top: 0; left: auto; right: 0; transform: rotate(90deg); width: 150px; overflow: hidden; height: 150px; } .pagelayer-pricing-ribbon{ display: none; width: 200%; background-color: #ce4210ff; position: absolute; left:0; text-align: center; line-height: 2; letter-spacing: 1px; color: #f0f0f0; margin-top: 40px; transform: translateY(-50%) translateX(-50%) translateX(50px) rotate(-45deg); } .pagelayer-pricing-currency-top{ vertical-align: top; } .pagelayer-pricing-currency-middle{ vertical-align: middle; } .pagelayer-pricing-currency-bottom{ vertical-align: bottom; } /*pricing plans end*/ /* Quote */ .pagelayer-quotation-overlay{ position: absolute; font-size: 70px; top: 0; } .pagelayer-quote-content .fa-quote-right{ display: inline-block; vertical-align: top; } /* Quote end */ .pagelayer-call-icon-section, .pagelayer-call-content-section, .pagelayer-call-button-section{ display: table-cell; vertical-align: middle; } .pagelayer-call-center{ text-align: center; } .pagelayer-call-center .pagelayer-call-icon-section, .pagelayer-call-center .pagelayer-call-content-section, .pagelayer-call-center .pagelayer-call-button-section{ display: block; } .pagelayer-call-3d{ background: #eee; border-bottom: 5px solid #ddd; padding: 30px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-icon-section{ padding-right: 10px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-content-section{ padding-right: 20px } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-icon-section{ margin-bottom: 10px; } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-content-section{ margin-bottom: 20px; } .pagelayer-call-3d .pagelayer-call-title{ font-size: 26px; font-weight: 700; /* margin-bottom: 5px; */ } .pagelayer-call-3d .pagelayer-call-subtitle{ font-size: 18px; /* margin-bottom: 10px; */ } /* .pagelayer-call-3d .pagelayer-call-text{ color: #777; } */ .pagelayer-call-left .pagelayer-call-button{ display:flex; } .pagelayer-button-mini{ font-size: 13px; padding: 8px 12px; line-height: 13px; min-height: unset; } .pagelayer-button-small{ font-size: 15px; padding: 10px 18px; line-height: 15px; min-height: unset; } .pagelayer-button-middle{ font-size: 17px; padding: 14px 26px; line-height: 17px; min-height: unset; } .pagelayer-button-large{ font-size: 20px; padding: 18px 35px; line-height: 20px; min-height: unset; } .pagelayer-modal-content, .pagelayer-splash-container{ display: none; position: fixed; padding: 50px; top: 0; left: 0; right: 0; height: 100%; overflow: auto; color: #000; opacity: 1; z-index: 99999; box-sizing: border-box; } .pagelayer-modal-bottom-content, .pagelayer-splash-bottom-content{ padding: 50px; background-color: #fefefe; } .pagelayer-modal-body, .pagelayer-splash-body{ position: absolute; margin: auto; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); -webkit-animation-name: animatetop; -webkit-animation-duration: 0.4s; animation-name: animatetop; animation-duration: 0.4s; left: 50%; top: 50%; transform: translate(-50%, -50%); } .pagelayer-modal-content-overflow, .pagelayer-splash-content-overflow{ max-height:500px; overflow:auto; } .pagelayer-splash-bg-close, .pagelayer-modal-bg-close{ position: absolute; top:0; left:0; width:100%; height:100%; } .pagelayer-btn-icon-left .pagelayer-icon-right{ display: none; } .pagelayer-btn-icon-right .pagelayer-icon-left{ display: none; } /* Add Animation */ @-webkit-keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } @keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } .pagelayer-modal-close, .pagelayer-splash-close{ position: absolute; right: 10px; top: 25px; color: #fff; font-size: 70px !important; cursor: pointer; } .pagelayer-modal-close:before, .pagelayer-modal-close:after, .pagelayer-splash-close:before, .pagelayer-splash-close:after{ position: absolute; top: 2px; right: 38px; content: ' '; width: 2px; background-color: #fff; } .pagelayer-modal-close:before, .pagelayer-splash-close:before{ -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .pagelayer-modal-close:after, .pagelayer-splash-close:after{ -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .pagelayer-modal-title, .pagelayer-splash-title{ background-color: #3D54DF; color: #ffffff; } /* Countdown Start */ .pagelayer-countdown-item{ padding:20px 30px; text-align:center; } .pagelayer-countdown-counter{ display: flex; flex-wrap:wrap; justify-content: center; } .pagelayer-countdown-days, .pagelayer-countdown-hours, .pagelayer-countdown-minutes, .pagelayer-countdown-seconds{ display: inline-block; vertical-align: middle; background: #eee; margin: 0 5px 5px; flex:1; } .pagelayer-countdown-days div, .pagelayer-countdown-hours div, .pagelayer-countdown-minutes div, .pagelayer-countdown-seconds div{ /* display: inline-block; */ line-height: 1; } .pagelayer-countdown-inline .pagelayer-countdown-name{ display:inline-block; } .pagelayer-countdown-inline .pagelayer-countdown-count{ display:inline-block; } .pagelayer-countdown-expired{ display:none; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-expired{ display:block !important; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-counter{ display:none !important; } /* Countdown End*/ #pagelayer-header-menu{ display: inline-block; } /* splash style */ .pagelayer-splash .pagelayer-splash-dark, .pagelayer-modal .pagelayer-modal-dark{ background-color:#000000e0; } .pagelayer-modal .pagelayer-modal-light, .pagelayer-splash .pagelayer-splash-light{ background-color:#ffffffe0; } .pagelayer-splash-light .pagelayer-splash-close::after, .pagelayer-splash-light .pagelayer-splash-close::before, .pagelayer-modal-light .pagelayer-modal-close::after, .pagelayer-modal-light .pagelayer-modal-close::before{ background-color:#000000; } .pagelayer-splash-dark .pagelayer-splash-close::after, .pagelayer-splash-dark .pagelayer-splash-close::before, .pagelayer-modal-dark .pagelayer-modal-close::after, .pagelayer-modal-dark .pagelayer-modal-close::before{ background-color:#fff; } .pagelayer-splash-content{ padding:30px; } /* splash style end */ .pagelayer-modal-close{ z-index:999; } /* Style the tab */ .pagelayer-tabs-holder { overflow: hidden; } /* Style the buttons inside the tab */ .pagelayer-tabs-holder .pagelayer-tablinks { background-color: inherit; display:inline-block; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; font-size: 17px; color:#000000; } /* Change background color of buttons on hover */ .pagelayer-tabs-holder .pagelayer-tablinks:hover { background-color: #ddd; } /* Create an active/current tablink class */ .pagelayer-tabs-holder .pagelayer-tablinks.active { background-color: #ccc; } /* Style the tab content */ .pagelayer-tabs .pagelayer-tabcontainer .pagelayer-tab{ display: none; padding: 6px 12px; border-top: none; } .pagelayer-tabs-holder .pagelayer-tablinks .fa{ line-height:1.5; } /* Tabs style end */ /* Divider start */ .pagelayer-divider-holder{ line-height: 0; font-size: 0; } .pagelayer-divider-seperator{ display: inline-block; } /* Divider end */ /* Counter style start*/ .pagelayer-counter{ padding: 20px; } .pagelayer-counter-content{ line-height:1; } /* Counter style end*/ /*Image Slider style start*/ .pagelayer-image-slider-ul{ display:none; padding:0; margin:0; list-style: none; } .pagelayer-image-slider-ul[pagelayer-setup]{ display:block; } /*Image Slider style End*/ /*Google Maps start*/ .pagelayer-google-maps-holder{ line-height:0; } .pagelayer-google-maps-holder iframe{ margin:0px; width:100%; height:100%; } /* accordion style */ .pagelayer-accordion_item{ overflow:hidden; } .pagelayer-accordion-tabs { cursor: pointer; padding: 15px; width: 100%; text-align: left; display:inline-block; text-decoration:none !important; } .pagelayer-accordion-panel { padding: 0 18px; display: none; overflow: hidden; } /* accordion style end */ /* Alert Box style start */ .pagelayer-alert{ position: relative; border: 1px solid transparent; border-radius:5px; padding:15px 20px; } .pagelayer-alert-title{ display:inline-block; } .pagelayer-alert-icon, .pagelayer-alert-title{ vertical-align: middle; } .pagelayer-alert-primary{ color: #004085; background-color: #cce5ff; border-color: #b8daff; } .pagelayer-alert-secondary{ color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; } .pagelayer-alert-success{ color: #155724; background-color: #d4edda; border-color: #c3e6cb; } .pagelayer-alert-info{ color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; } .pagelayer-alert-warning{ color: #856404; background-color: #fff3cd; border-color: #ffeeba; } .pagelayer-alert-danger{ color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .pagelayer-alert-dark{ color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; } .pagelayer-alert-primary-link { color: #002752; } .pagelayer-alert-secondary-link{ color: #202326; } .pagelayer-alert-success-link{ color: #0b2e13; } .pagelayer-alert-danger-link{ color: #491217; } .pagelayer-alert-warning-link{ color: #533f03; } .pagelayer-alert-info-link{ color: #062c33; } .pagelayer-alert-secondary-link{ color: #686868; } .pagelayer-alert-secondary-link{ color: #040505; } .pagelayer-alert-success hr{ background-color: #b1dfbb; } .pagelayer-alert-primary hr{ background-color: #9fcdff; } .pagelayer-alert-secondary hr{ background-color: #c8cbcf; } .pagelayer-alert-info hr{ background-color: #abdde5; } .pagelayer-alert-warning hr{ background-color: #ffe8a1; } .pagelayer-alert-danger hr{ background-color: #f1b0b7; } .pagelayer-alert-dark hr{ background-color: #b9bbbe; } .pagelayer-alert-close { position: absolute; top: 0; right: 0; color: inherit; height: 100%; width:15px; background:rgba(3,3,3,0.1); cursor:pointer; } .pagelayer-alert-close:before, .pagelayer-alert-close:after { position: absolute; left: 7px; content: ' '; height: 13px; width: 1px; background-color: #333; top: calc(50% - 6.5px); } .pagelayer-alert-close:before { transform: rotate(45deg); } .pagelayer-alert-close:after { transform: rotate(-45deg); } /* Alert Box Style Ends */ /* Grid Gallery Style Start */ .pagelayer-grid-gallery-ul{ display:block; list-style:none; padding:0; margin:0; } .pagelayer-gallery-item{ list-style:none; border: none; } .pagelayer-gallery-item img{ height: 100%; width: 100%; object-fit: cover; } .pagelayer-grid-gallery-caption{ display:block; } .pagelayer-grid-gallery-pagination{ text-align:center; } .pagelayer-grid-page-ul{ display: inline-block; list-style-type: none; margin-top:10px; } .pagelayer-grid-page-ul li.active { background-color:#00A0D2; color:white; } .pagelayer-grid-page-item{ color: black; float: left; padding: 8px 16px; text-decoration: none; } .pagelayer-grid-page-ul li:hover:not(.active){ background-color: #ddd; cursor:pointer; } /* Grid Gallery Style Ends */ .pagelayer-heading-holder *, .pagelayer-text-holder *{ padding: 0; margin: 0; overflow-wrap: break-word; } /* animation */ .animated.pagelayer-anim-fast{ -webkit-animation-duration: 0.7s; animation-duration: 0.7s; } .animated.pagelayer-anim-fastest{ -webkit-animation-duration: 0.5s; animation-duration: 0.5s; } .animated.pagelayer-anim-slow{ -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } .animated.pagelayer-anim-slowest{ -webkit-animation-duration: 2s; animation-duration: 2s; } /* animation end */ .pagelayer-parallax-window{ position: absolute; width: 100%; height: 100%; overflow: hidden; top: 0; left: 0; } .pagelayer-parallax-window .simpleParallax{ height:100%; } .pagelayer-parallax-window img{ max-width:unset; } /* WooCommerce widget */ .pagelayer-product-images-container{ display:flow-root; } .pagelayer-add-to-cart-holder, .pagelayer-product-rating{ display:inline-block; } .pagelayer-product-related-container:not([pagelayer-heading-show]) .products > h2, .pagelayer-product-related-container:not([pagelayer-sale-flash]) ul.products li.product span.onsale, .pagelayer-addi-info-container:not([pagelayer-show-heading]) h2 { display:none; } .pagelayer-product-related-container[pagelayer-content-align="right"] ul.products li.product .star-rating{ margin-left: auto; } .pagelayer-product-related-container[pagelayer-content-align="center"] ul.products li.product .star-rating{ margin-left: auto; margin-right: auto; } /*******************/ /* Pagelayer Owl */ .pagelayer-owl-stage-outer [class^="pagelayer-owl-"], .pagelayer-owl-carousel .pagelayer-owl-item > .pagelayer-ele-wrap, .pagelayer-owl-stage-outer{ height: 100%; } .pagelayer-owl-carousel .pagelayer-owl-item{ height: auto; } .pagelayer-owl-prev, .pagelayer-owl-next{ position: absolute; top: 50%; transform: translateY(-50%); } .pagelayer-owl-prev{ left: 0; } .pagelayer-owl-next{ right: 0; } .pagelayer-owl-theme .pagelayer-owl-nav{ margin-top: 0 !important; } .pagelayer-owl-nav span{ position:absolute; transform:translate(-50%, -53%); } .pagelayer-owl-dot{ vertical-align: middle; } /* Pagelayer Owl End */ /* Space Widget */ .pagelayer-space-holder{ height: 10px; } /* Space Widget End */ /* Address and Number */ .pagelayer-phone-holder, .pagelayer-address-holder, .pagelayer-email-holder{ display:flex; } .pagelayer-address-icon, .pagelayer-address, .pagelayer-phone-icon, .pagelayer-phone, .pagelayer-email-icon, .pagelayer-email{ margin-top:auto; margin-bottom:auto; word-break:break-word; } /* Address and Number End */ /****************/ /*** Freemium ***/ /****************/ /*** Breadcrumb ***/ .pagelayer-breadcrumb-section b{ font-weight: 100; } /* Breadcrumb End */ /*** Archive Posts ***/ .pagelayer-posts-container{ display: grid; grid-template-columns: repeat(3,1fr); grid-column-gap: 20px; grid-row-gap: 40px; } .pagelayer-wposts-meta *{ font-size: 12px; } .pagelayer-pagination{ padding: 50px 20px; text-align: center; } .pagelayer-pagination .page-numbers:not(:last-child){ margin-right: 25px; } .pagelayer-pagination a.page-numbers:hover{ color: #36b2d1; } .pagelayer-wposts-thumb{ display:inline-block; position:relative; background-size:cover !important; background-position:center !important; width:100%; } @media all and (max-width:599px){ .pagelayer-posts-container{ grid-template-columns: repeat(1,1fr); } } /*** Archive Posts End ***/ /* WordPress Posts */ .pagelayer-wposts-title{ line-height:1; } .pagelayer-wposts-sep{ font-weight:100; } .pagelayer-wposts-sep:last-child{ display:none; } .pagelayer-wposts-category a:not(:last-child):after, .pagelayer-wposts-tags a:not(:last-child):after{ content:', '; } /* WordPress Posts End*/ /* Copyright start */ .pagelayer-copyright{ text-align: center; color: #111; } .pagelayer-copyright a{ color: #111; } /* Copyright end */ /* Primary Menu */ .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item>a{ display:flex; box-shadow: none; white-space: nowrap; position:relative; } .pagelayer-menu-type-horizontal .sub-menu{ z-index:999; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul, .pagelayer-wp-menu-container .sub-menu{ margin:0px; padding: 0px; } .pagelayer-menu-type-horizontal *{ transition: all 0.5s; } .pagelayer-menu-type-horizontal li.menu-item{ display: inline-block; font-weight: 600; } .pagelayer-menu-type-horizontal li.menu-item>a{ box-shadow: none; border: none; } .pagelayer-menu-type-horizontal .sub-menu{ position:absolute; min-width: 100%; } .pagelayer-menu-type-horizontal .sub-menu .sub-menu{ top:0px; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item{ position:relative; } .pagelayer-wp-menu-container ul li.menu-item span.after-icon{ height: auto; width: 100%; position: relative; pointer-events: auto; line-height:inherit; color: inherit; font-size: inherit; margin-left:10px; padding-left:5px; padding-right:5px; } .pagelayer-wp-menu-container:not([data-align="left"]) .pagelayer-wp_menu-ul span.after-icon{ width:auto; } .pagelayer-wp-menu-container[data-align="right"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: flex-end;} .pagelayer-wp-menu-container[data-align="left"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: left;} .pagelayer-wp-menu-container[data-align="center"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: center;} .pagelayer-wp-menu-container ul li.menu-item span.after-icon:before{ position:absolute; right:0; } .pagelayer-wp-menu-container .sub-menu, .pagelayer-primary-menu-bar{ display:none; } .pagelayer-menu-type-horizontal .sub-menu li.menu-item{ display:block; } .pagelayer-primary-menu-bar i{ padding:5px; } .pagelayer-menu-type-vertical li.menu-item{ list-style: none; } .pagelayer-menu-type-vertical li.menu-item:not(:last-child) > a{ margin-bottom: 6px !important; box-shadow: none; border: none; } .pagelayer-menu-type-vertical .pagelayer-wp_menu-ul>li>ul.sub-menu{ margin-left:0px; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-primary-menu-bar, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-primary-menu-bar{ display:block; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-wp_menu-ul, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-wp_menu-ul{ display:none; } .pagelayer-menu-hover-underline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline:not(.none) .pagelayer-wp_menu-ul>li>a:before{ position: absolute; content: ''; left: 0px; bottom: 0px; height: 3px; width: 0px; background-color: #2154CF; transition: all 500ms ease; -moz-transition: all 500ms ease; -webkit-transition: all 500ms ease; -ms-transition: all 500ms ease; -o-transition: all 500ms ease; border-width:0px; } .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:after{ left:unset; right:0; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:before{ background-color:unset !important; height:100% !important; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before{ border:3px solid #2154CF; } .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:before{ top:0; bottom:unset; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:-5px; } .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:5px; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:hover:before{ bottom:0px; } .pagelayer-menu-hover-underline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.grow .pagelayer-wp_menu-ul>li>a:before{ width:100%; transform:scale(0); } .pagelayer-menu-hover-underline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.fade .pagelayer-wp_menu-ul>li>a:before{ width:100%; transition-duration:1000ms; opacity:0; } .pagelayer-menu-hover-underline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:hover:before{ transform:scale(1); opacity:1; width:100%; } .pagelayer-menu-hover-text .pagelayer-wp_menu-ul>li>a:hover{ transform:scale(1.2); } .pagelayer-wp_menu .sub-menu, .pagelayer-menu-type-dropdown{ z-index:999; } .pagelayer-menu-type-dropdown{ position:absolute; } .pagelayer-togglt-on .pagelayer-wp_menu-ul, .pagelayer-active-sub-menu:not(.pagelayer-mega-menu-item) > ul.sub-menu, .pagelayer-menu-type-horizontal .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu, .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu{ display:block !important; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ position: fixed; z-index: 999; height: 100%; top: 0; transition: all 0.4s; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right{ right: -100%; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left{ left:-100%; } .pagelayer-wp_menu-left.pagelayer-togglt-on{ left:0; } .pagelayer-wp_menu-right.pagelayer-togglt-on{ right:0; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ left:0; right:0; top:-100%; } .pagelayer-wp_menu-full.pagelayer-togglt-on{ top:0; } .pagelayer-wp_menu-close{ cursor:pointer; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-close{ display:block; } .pagelayer-wp_menu-close, .pagelayer-wp_menu-down .pagelayer-wp_menu-close{ display:none; } .pagelayer-wp_menu-close i{ position:absolute; z-index:99; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full .pagelayer-wp_menu-ul{ position:absolute; width:100%; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul li.menu-item > a{ white-space:normal !important; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul{ height:100%; max-height: -webkit-fill-available; overflow-y: scroll; -webkit-overflow-scrolling: touch; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar { width:4px; height:4px; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-track { background-color: transparent; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-thumb { box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius:10px; } /* Mega menu css start */ .pagelayer-wp_menu-ul .pagelayer-mega-menu{ transition: none; position: absolute; max-width: 100vw; z-index: 999; padding: 10px; background: #fff; color: #000; display: none; border-radius: 2px; left: 0; text-align: initial; overflow-y: auto; } .pagelayer-wp_menu .pagelayer-menu-type-vertical .pagelayer-mega-menu-item, .pagelayer-wp-menu-container:not(.pagelayer-menu-type-horizontal) .menu-item > .pagelayer-mega-menu{ position: relative; width: 100%; } .pagelayer-wp_menu-ul .pagelayer-mega-menu *{ transition: none; } /* To avoid row widget full width feature */ .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-wrap-inner-row, .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-inner_row{ max-width: 100% !important; left: auto !important; } .pagelayer-wp_menu-ul .pagelayer-set-position{ display: block !important; visibility: hidden !important; opacity: 0 !important; } .pagelayer-active-sub-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, .pagelayer-active-mega-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-horizontal .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu{ display: block !important; } @keyframes pagelayer-submenu-fade{0%{opacity:0}75%{opacity:1}} @keyframes pagelayer-submenu-pulse{50%{transform: scale3d(1.04, 1.04, 1.04);}100%{transform: scale3d(1, 1, 1);}} @keyframes pagelayer-submenu-fadeindown{0%{opacity: 0; transform: translate3d(0, -10px, 0); }100%{ opacity: 1; transform: none; }} @keyframes pagelayer-submenu-fadeinup{0%{opacity: 0;transform: translate3d(0, 20px, 0);}100%{opacity: 1;transform: none;}} @keyframes pagelayer-submenu-slideindown{0%{transform: translate3d(0, -10px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-slideinup{0%{transform: translate3d(0, 20px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-zoomin{0%{opacity: 0;transform: scale3d(.5, .5, .5);}50%{opacity: 1;}} @keyframes pagelayer-submenu-flip{ 0%{ transform: perspective(400px) rotate3d(1, 0, 0,90deg); animation-timing-function: ease-in; opacity: 0; }40%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); animation-timing-function: ease-in; }60%{ transform: perspective(400px) rotate3d(1, 0, 0, 5deg); opacity: 1; }80%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }100% { transform: perspective(400px); } } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-right .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-right .sub-menu{ position: absolute; left: 100%; top: 0; right: auto; } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-left .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-left .sub-menu{ position: absolute; right: 100%; top: 0; left: auto; } .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .pagelayer-mega-menu, .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .sub-menu{ width:100% !important; } .pagelayer-menu-icon{ align-self: center; text-align: center; margin: 0 5px 0 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon{ margin: 0 0 0 5px; order:1; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ .pagelayer-nav-menu-title{ order: 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ :not(.pagelayer-nav-menu-title, .pagelayer-menu-icon){ order: 2; } .pagelayer-menu-highlight{ font-size: 0.7em; margin-left: 5px; padding: 3px 6px; border-radius: 2px; } /* Mega menu css ends */ /* Column Menu css*/ .pagelayer-mega-column-item > .sub-menu{ columns: 2; } .pagelayer-mega-column-item .sub-menu .sub-menu .pagelayer-nav-menu-title{ font-size: 0.85em; } .pagelayer-mega-column-item .sub-menu .sub-menu{ display: block; position: static; } .pagelayer-mega-column-item .sub-menu li.menu-item{ break-inside: avoid; } .pagelayer-mega-column-item ul.sub-menu span.after-icon{ display: none; } /* Primary Menu End */ /* Contact Form start */ .pagelayer-contact-form-note{ margin-bottom:10px; } .pagelayer-contact_item input, .pagelayer-contact_item textarea, .pagelayer-contact_item select{ width:100%; outline:none; } .pagelayer-contact_item textarea{ height:auto; } .pagelayer-contact-holder input[type="checkbox"] { visibility: hidden; display: contents; } .pagelayer-contact-holder label { cursor: pointer; display: block; } .pagelayer-contact-holder input[type="checkbox"] + label:before { border: 1px solid #333; content: "\00a0"; display: inline-block; font: 16px/1em sans-serif; margin-right: 0.25em; padding: 0; vertical-align: middle; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:before { content: "\2713"; text-align: center; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:after { font-weight: bold; } .pagelayer-contact-holder input[type="checkbox"]:focus + label::before { outline: rgb(59, 153, 252) auto 5px; } .pagelayer-contact-holder input[type='radio'] { -webkit-appearance:none; border-radius:50%; outline:none; vertical-align: middle; box-shadow:0 0 5px 0px gray inset; padding: 0 !important; } .pagelayer-contact-holder input[type="radio"]:checked:before { background: #333333; } .pagelayer-contact-holder input[type='radio']:hover { box-shadow:0 0 5px 0px orange inset; } .pagelayer-contact-holder input[type='radio']:before { content:''; display:block; width:60%; height:60%; margin: 20% auto; border-radius:50%; } .pagelayer-contact-submit-btn{ cursor:pointer; } .pagelayer-cf-msg-suc,.pagelayer-cf-msg-err{ padding: 10px; padding: 10px; margin: 10px 0px; background: #a4f4ad; border: 1px solid #6fc16f; border-radius: 4px; } .pagelayer-cf-msg-err{ background: #f9dacb; border: 1px solid #ff746e; } /* Contact Form End */ /*** Post Excerpt ***/ .pagelayer-empty-widget{ height:30px; width:100%; background-color: #dedddd; text-align:center; } .pagelayer-empty-widget:after { font-family: "FontAwesome" , "Font Awesome 5 Free"; font-weight: 900; } .pagelayer-post-excerpt.pagelayer-empty-widget:after{ content: '\f15c'; } .pagelayer-featured-img.pagelayer-empty-widget:after{ content: '\f03e'; } /*** Post Excerpt End ***/ /* Post info*/ .pagelayer-post-info-vertical > div{ display:inline-block; } /* Post info end*/ /* Post Nav */ .pagelayer-post-nav-container{ display: flex; align-items: center; } .pagelayer-prev-post a, .pagelayer-next-post a{ display: inline-flex; align-items: center; } .pagelayer-next-post a .pagelayer-post-nav-icon{ padding-left:12px; } .pagelayer-prev-post a .pagelayer-post-nav-icon{ padding-right:12px; } .pagelayer-next-post{ text-align:right; } .pagelayer-prev-post a:hover, .pagelayer-next-post a:hover{ text-decoration:none; } .pagelayer-prev-post, .pagelayer-next-post{ width: calc(50% - 1px); } .pagelayer-post-nav-container .pagelayer-prev-holder, .pagelayer-post-nav-container .pagelayer-next-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .pagelayer-post-nav-separator{ align-self: stretch; } /* Post Nav end */ /*Flipbox css start*/ .pagelayer-flipbox-container{ margin:0 auto; } .pagelayer-flipbox-flipper{ position: relative; height: 300px; perspective: 1000px; -webkit-perspective: 1000px; transform-style: preserve-3d; -webkit-transform-style: preserve-3d; } .pagelayer-flipbox-front{ background-color: #bc1a1a; border-radius: inherit; } .pagelayer-flipbox-back{ background-color: #f9e73f; display: block; border-radius: inherit; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front, .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity:1; } .pagelayer-flipbox-box{ position: absolute; width: 100%; height: 100%; transition: all .8s ease-in-out; -webkit-transition: all .8s ease-in-out; } .pagelayer-flipbox-box-overlay{ display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; width: 100%; height: 100%; align-items: stretch; -webkit-align-items: stretch; -webkit-box-align: stretch; flex-direction: column; -webkit-flex-direction: column; -webkit-box-direction: normal; text-align: center; justify-content: center; -webkit-justify-content: center; padding: 35px; -webkit-box-orient: vertical; -webkit-box-pack: center; } .pagelayer-flipbox-3d .pagelayer-flipbox-box-inner{ transform: translateZ(90px) scale(.91); -webkit-transform: translateZ(90px) scale(.91); } .pagelayer-flipbox-3d .pagelayer-flipbox-box-overlay{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform: translateZ(.1px); -webkit-transform: translateZ(.1px); } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; perspective: 1000px; -webkit-perspective: 1000px; } .pagelayer-flipbox-flip .pagelayer-flipbox-box{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; backface-visibility: hidden; -webkit-backface-visibility: hidden; } .pagelayer-flipbox-flip .pagelayer-flipbox-front{ -webkit-transform: none; -ms-transform: none; transform: none; z-index: 1 } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(180deg); -webkit-transform: rotateX(0) rotateY(180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(180deg) rotateY(0); -webkit-transform: rotateX(180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-push .pagelayer-flipbox-flipper, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper{ overflow:hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-front{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform:translateX(100%) translateY(0); -webkit-transform:translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push .pagelayer-flipbox, .pagelayer-flipbox-slide .pagelayer-flipbox{ overflow: hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-left .pagelayer-flipbox-back{ transform: translateX(100%) translateY(0); -webkit-transform: translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-down .pagelayer-flipbox-back{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper .pagelayer-flipbox-front{ transition: opacity .45s, width .1ms, -webkit-transform .8s; -webkit-transition: opacity .45s, width .1ms, -webkit-transform .8s; transition: transform .8s, opacity .45s, width .1ms; transition: transform .8s, opacity .45s, width .1ms, -webkit-transform .8s; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); z-index: 1; width: 100% } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ width: 0; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; -webkit-transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s, -webkit-transform .8s } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ -webkit-transition: opacity .5s .2s, -webkit-transform .7s; transition: opacity .5s .2s, -webkit-transform .7s; transition: transform .7s, opacity .5s .2s; transition: transform .7s, opacity .5s .2s, -webkit-transform .7s; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ -webkit-transition: opacity .5s, -webkit-transform .7s; transition: opacity .5s, -webkit-transform .7s; transition: transform .7s, opacity .5s; transition: transform .7s, opacity .5s, -webkit-transform .7s; opacity: 1; transform: scale(1); -webkit-transform: scale(1); } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0 } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity: 1 } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-front{ display: none } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; opacity: 1; } .pagelayer-flipbox-image{ width: 100%; margin: 0 auto; object-fit: cover; } .pagelayer-flipbox-image img{ width: 50%; object-fit: cover; -o-object-fit: cover; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-front{ display:none; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(0deg) !important; -webkit-transform: rotateX(0) rotateY(0deg) !important; opacity: 1 !important; } .pagelayer-flipbox-back .pagelayer-service-btn.pagelayer-btn-link{ background-color:transparent; } /*Flipbox End*/ /* Animated Heading */ .pagelayer-aheading-holder { display: inline-block; position:relative; } .pagelayer-animated-heading{ margin: 0; padding: 0; line-height: 1.4; -webkit-background-clip: text; } [class*="pagelayer-blobs"]{ display:block; position:absolute; mix-blend-mode:color; animation:pagelayer-blobs 10s ease-in-out infinite alternate; } .pagelayer-blobs_1{ width: 9%; height: 47%; top: 12%; left: 4%; } .pagelayer-blobs_2{ width: 10%; height: 50%; top: 60%; left: 34%; } .pagelayer-blobs_3{ width: 20%; height: 46%; top: 10%; left: 20%; } .pagelayer-blobs_4{ width: 30%; height: 40%; top: 30%; left: 70%; } .pagelayer-blobs_5{ width: 12%; height: 40%; top: 61%; left: 12%; } .pagelayer-blobs_6{ width: 25%; height: 45%; top: 5%; left: 45%; } .pagelayer-blobs_7{ width: 32%; height: 45%; top: 67%; left: 46%; } .pagelayer-hEffect-none [class*="pagelayer-blobs"]{ display: none; } @keyframes pagelayer-blobs{ 0%{border-radius:26% 74% 61% 39% / 54% 67% 33% 46%} 10%{border-radius:74% 26% 47% 53% / 68% 46% 54% 32%} 20%{border-radius:48% 52% 30% 70% / 27% 37% 63% 73%} 30%{border-radius:73% 27% 57% 43% / 28% 67% 33% 72%} 40%{border-radius:63% 37% 56% 44% / 25% 28% 72% 75%} 50%{border-radius:39% 61% 70% 30% / 61% 29% 71% 39%} 60%{border-radius:27% 73% 29% 71% / 73% 51% 49% 27%} 70%{border-radius:39% 61% 65% 35% / 74% 65% 35% 26%} 80%{border-radius:55% 45% 37% 63% / 38% 30% 70% 62%} 90%{border-radius:25% 75% 70% 30% / 39% 50% 50% 61%} 100%{border-radius:66% 34% 33% 67% / 65% 73% 27% 35%} } .pagelayer-hEffect-blobs, .pagelayer-hEffect-none, .pagelayer-heading-rotating{ -webkit-text-fill-color: transparent; } .pagelayer-heading-rotating .pagelayer-animated-heading{ display: inline; } .pagelayer-words-wrapper { display: inline-block; position: relative; text-align: left; } .pagelayer-words-wrapper span { display: inline-block; position: absolute; white-space: nowrap; left: 0; top: 0; } .pagelayer-words-wrapper span.pagelayer-is-visible { position: relative; } /*** xrotate-1 ***/ .pagelayer-aheading-rotate1 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate1 span { opacity: 0; -webkit-transform-origin: 50% 100%; -moz-transform-origin: 50% 100%; -ms-transform-origin: 50% 100%; -o-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); } .pagelayer-aheading-rotate1 span.pagelayer-is-visible { opacity: 1; -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); -webkit-animation: pagelayer-rotate-1-in 1.2s; -moz-animation: pagelayer-rotate-1-in 1.2s; animation: pagelayer-rotate-1-in 1.2s; } .pagelayer-aheading-rotate1 span.pagelayer-is-hidden { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); -webkit-animation: pagelayer-rotate-1-out 1.2s; -moz-animation: pagelayer-rotate-1-out 1.2s; animation: pagelayer-rotate-1-out 1.2s; } @-webkit-keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); opacity: 1; } } @-moz-keyframes pagelayer-rotate-1-in { 0% { -moz-transform: rotateX(180deg); opacity: 0; } 35% { -moz-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(360deg); opacity: 1; } } @keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); -moz-transform: rotateX(120deg); -ms-transform: rotateX(120deg); -o-transform: rotateX(120deg); transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); -moz-transform: rotateX(360deg); -ms-transform: rotateX(360deg); -o-transform: rotateX(360deg); transform: rotateX(360deg); opacity: 1; } } @-webkit-keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); opacity: 0; } } @-moz-keyframes pagelayer-rotate-1-out { 0% { -moz-transform: rotateX(0deg); opacity: 1; } 35% { -moz-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(180deg); opacity: 0; } } @keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); -moz-transform: rotateX(-40deg); -ms-transform: rotateX(-40deg); -o-transform: rotateX(-40deg); transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } } /*** xrotate-2 ***/ .pagelayer-aheading-rotate2 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate2 strong, .pagelayer-aheading-rotate2 b { display: inline-block; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-aheading-rotate2 span { opacity: 0; } .pagelayer-aheading-rotate2 strong { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); opacity: 0; } .pagelayer-is-visible .pagelayer-aheading-rotate2 strong { opacity: 1; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-2-in 0.4s forwards; -moz-animation: pagelayer-rotate-2-in 0.4s forwards; animation: pagelayer-rotate-2-in 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-2-out 0.4s forwards; -moz-animation: pagelayer-rotate-2-out 0.4s forwards; animation: pagelayer-rotate-2-out 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 b { -webkit-transform: translateZ(20px); -moz-transform: translateZ(20px); -ms-transform: translateZ(20px); -o-transform: translateZ(20px); transform: translateZ(20px); -webkit-text-fill-color: transparent; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong b { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); } } @-moz-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0deg); } } @keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); -moz-transform: translateZ(-20px) rotateX(-10deg); -ms-transform: translateZ(-20px) rotateX(-10deg); -o-transform: translateZ(-20px) rotateX(-10deg); transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); -moz-transform: translateZ(-20px) rotateX(0deg); -ms-transform: translateZ(-20px) rotateX(0deg); -o-transform: translateZ(-20px) rotateX(0deg); transform: translateZ(-20px) rotateX(0deg); } } @-webkit-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); } } @-moz-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-90deg); } } @keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); -moz-transform: translateZ(-20px) rotateX(0); -ms-transform: translateZ(-20px) rotateX(0); -o-transform: translateZ(-20px) rotateX(0); transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); -moz-transform: translateZ(-20px) rotateX(-100deg); -ms-transform: translateZ(-20px) rotateX(-100deg); -o-transform: translateZ(-20px) rotateX(-100deg); transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); -moz-transform: translateZ(-20px) rotateX(-90deg); -ms-transform: translateZ(-20px) rotateX(-90deg); -o-transform: translateZ(-20px) rotateX(-90deg); transform: translateZ(-20px) rotateX(-90deg); } } /*** xloading-bar ***/ .pagelayer-aheading-loading-bar .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper:after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: #0096a7; z-index: 2; -webkit-transition: width 0.3s -0.1s; -moz-transition: width 0.3s -0.1s; transition: width 0.3s -0.1s; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper.pagelayer-is-loading:after { width: 100%; -webkit-transition: width 3s; -moz-transition: width 3s; transition: width 3s; } .pagelayer-aheading-loading-bar span{ top: .2em; opacity: 0; -webkit-transition: opacity 0.3s; -moz-transition: opacity 0.3s; transition: opacity 0.3s; } .pagelayer-aheading-loading-bar span.pagelayer-is-visible { opacity: 1; top: 0; } /*** xslide ***/ .pagelayer-aheading-slide .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-slide span { opacity: 0; top: .2em; } .pagelayer-aheading-slide span.pagelayer-is-visible { top: 0; opacity: 1; -webkit-animation: pagelayer-slide-in 0.6s; -moz-animation: pagelayer-slide-in 0.6s; animation: pagelayer-slide-in 0.6s; } .pagelayer-aheading-slide span.pagelayer-is-hidden { -webkit-animation: pagelayer-slide-out 0.6s; -moz-animation: pagelayer-slide-out 0.6s; animation: pagelayer-slide-out 0.6s; } @-webkit-keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); } } @-moz-keyframes pagelayer-slide-in { 0% { opacity: 0; -moz-transform: translateY(-100%); } 60% { opacity: 1; -moz-transform: translateY(20%); } 100% { opacity: 1; -moz-transform: translateY(0); } } @keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); -moz-transform: translateY(20%); -ms-transform: translateY(20%); -o-transform: translateY(20%); transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); } } @-moz-keyframes pagelayer-slide-out { 0% { opacity: 1; -moz-transform: translateY(0); } 60% { opacity: 0; -moz-transform: translateY(120%); } 100% { opacity: 0; -moz-transform: translateY(100%); } } @keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); -moz-transform: translateY(120%); -ms-transform: translateY(120%); -o-transform: translateY(120%); transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); -moz-transform: translateY(100%); -ms-transform: translateY(100%); -o-transform: translateY(100%); transform: translateY(100%); } } /*** xclip ***/ .pagelayer-aheading-clip .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-clip .pagelayer-words-wrapper:after { /* line */ content: ''; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background-color: #aebcb9; } .pagelayer-aheading-clip span { opacity: 0; } .pagelayer-aheading-clip span.pagelayer-is-visible { opacity: 1; } /*** xzoom ***/ .pagelayer-aheading-zoom .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-zoom span{ opacity: 0; } .pagelayer-aheading-zoom span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-zoom-in 0.8s; -moz-animation: pagelayer-zoom-in 0.8s; animation: pagelayer-zoom-in 0.8s; } .pagelayer-aheading-zoom span.pagelayer-is-hidden { -webkit-animation: pagelayer-zoom-out 0.8s; -moz-animation: pagelayer-zoom-out 0.8s; animation: pagelayer-zoom-out 0.8s; } @-webkit-keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); } } @-moz-keyframes pagelayer-zoom-in { 0% { opacity: 0; -moz-transform: translateZ(100px); } 100% { opacity: 1; -moz-transform: translateZ(0); } } @keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } } @-webkit-keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); } } @-moz-keyframes pagelayer-zoom-out { 0% { opacity: 1; -moz-transform: translateZ(0); } 100% { opacity: 0; -moz-transform: translateZ(-100px); } } @keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); -moz-transform: translateZ(-100px); -ms-transform: translateZ(-100px); -o-transform: translateZ(-100px); transform: translateZ(-100px); } } /*** xrotate-3 ***/ .pagelayer-aheading-rotate3 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate3 span { opacity: 0; } .pagelayer-aheading-rotate3 strong { display: inline-block; -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-is-visible .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-3-in 0.6s forwards; -moz-animation: pagelayer-rotate-3-in 0.6s forwards; animation: pagelayer-rotate-3-in 0.6s forwards; } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-3-out 0.6s forwards; -moz-animation: pagelayer-rotate-3-out 0.6s forwards; animation: pagelayer-rotate-3-out 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); } } @-moz-keyframes pagelayer-rotate-3-in { 0% { -moz-transform: rotateY(180deg); } 100% { -moz-transform: rotateY(0deg); } } @keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } } @-webkit-keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); } } @-moz-keyframes pagelayer-rotate-3-out { 0% { -moz-transform: rotateY(0); } 100% { -moz-transform: rotateY(-180deg); } } @keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); -moz-transform: rotateY(0); -ms-transform: rotateY(0); -o-transform: rotateY(0); transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -ms-transform: rotateY(-180deg); -o-transform: rotateY(-180deg); transform: rotateY(-180deg); } } /*** xscale ***/ .pagelayer-aheading-scale span { opacity: 0; } .pagelayer-aheading-scale strong { display: inline-block; opacity: 0; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); } .pagelayer-is-visible .pagelayer-aheading-scale strong { opacity: 1; } .pagelayer-aheading-scale strong.pagelayer-aheading-in { -webkit-animation: pagelayer-scale-up 0.6s forwards; -moz-animation: pagelayer-scale-up 0.6s forwards; animation: pagelayer-scale-up 0.6s forwards; } .pagelayer-aheading-scale strong.pagelayer-aheading-out { -webkit-animation: pagelayer-scale-down 0.6s forwards; -moz-animation: pagelayer-scale-down 0.6s forwards; animation: pagelayer-scale-down 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-scale strong { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-scale .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); opacity: 1; } } @-moz-keyframes pagelayer-scale-up { 0% { -moz-transform: scale(0); opacity: 0; } 60% { -moz-transform: scale(1.2); opacity: 1; } 100% { -moz-transform: scale(1); opacity: 1; } } @keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } } @-webkit-keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); opacity: 0; } } @-moz-keyframes pagelayer-scale-down { 0% { -moz-transform: scale(1); opacity: 1; } 60% { -moz-transform: scale(0); opacity: 0; } } @keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } } /*** xpush ***/ .pagelayer-aheading-push span { opacity: 0; } .pagelayer-aheading-push span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-push-in 0.6s; -moz-animation: pagelayer-push-in 0.6s; animation: pagelayer-push-in 0.6s; } .pagelayer-aheading-push span.pagelayer-is-hidden { -webkit-animation: pagelayer-push-out 0.6s; -moz-animation: pagelayer-push-out 0.6s; animation: pagelayer-push-out 0.6s; } @-webkit-keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); } } @-moz-keyframes pagelayer-push-in { 0% { opacity: 0; -moz-transform: translateX(-100%); } 60% { opacity: 1; -moz-transform: translateX(10%); } 100% { opacity: 1; -moz-transform: translateX(0); } } @keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); -o-transform: translateX(10%); transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); } } @-moz-keyframes pagelayer-push-out { 0% { opacity: 1; -moz-transform: translateX(0); } 60% { opacity: 0; -moz-transform: translateX(110%); } 100% { opacity: 0; -moz-transform: translateX(100%); } } @keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); -moz-transform: translateX(110%); -ms-transform: translateX(110%); -o-transform: translateX(110%); transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transform: translateX(100%); } } /* Animated Heading End */ /* Page Break Start */ .pagelayer-page-links{ text-align: center; margin-top: 50px; } .pagelayer-page-links .post-page-numbers { padding: 0; margin: 0 0 .3em .3em; border: 1px solid; color: #000; background: 0 0; font-size: .8em; width: 2.5em; height: 2.5em; line-height: calc(2.5em - 4px); display: inline-block; text-align: center; transition: all .2s linear; } .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-featured{ width: 48%; float: left; } .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-featured{ width: 48%; float: right; } .pagelayer-arc-layout-left .pagelayer-wposts-thumb, .pagelayer-arc-layout-right .pagelayer-wposts-thumb, .pagelayer-arc-layout-alt .pagelayer-wposts-thumb{ display: block; } .pagelayer-wposts-thumb, .pagelayer-wposts-featured, .pagelayer-wposts-col{ overflow: hidden; } .pagelayer-loader-holder{ width: auto; height: auto; display: none; } .pagelayer-post-max, .pagelayer-infinite-scroll-auto ~ .pagelayer_load_button .pagelayer-btn-load{ display: none; } /* Page Break End */ /********************/ /*** Freemium End ***/ /********************/ /*! * Nivo Lightbox v1.3.1 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-overlay { position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 100%; overflow: hidden; visibility: hidden; opacity: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .nivo-lightbox-overlay.nivo-lightbox-open { visibility: visible; opacity: 1; } .nivo-lightbox-wrap { position: absolute; top: 10%; bottom: 10%; left: 10%; right: 10%; } .nivo-lightbox-content { width: 100%; height: 100%; } .nivo-lightbox-title-wrap { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 99999; text-align: center; } .nivo-lightbox-nav { display: none; } .nivo-lightbox-prev { position: absolute; top: 50%; left: 0; } .nivo-lightbox-next { position: absolute; top: 50%; right: 0; } .nivo-lightbox-close { position: absolute; top: 2%; right: 2%; } .nivo-lightbox-image { text-align: center; } .nivo-lightbox-image img { max-width: 100%; max-height: 100%; width: auto; height: auto; vertical-align: middle; display: inline-block; } .nivo-lightbox-content iframe { width: 100%; height: 100%; } .nivo-lightbox-inline, .nivo-lightbox-ajax { max-height: 100%; overflow: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */ } .nivo-lightbox-error { display: table; text-align: center; width: 100%; height: 100%; color: #fff; text-shadow: 0 1px 1px #000; } .nivo-lightbox-error p { display: table-cell; vertical-align: middle; } /* Effects **********************************************/ .nivo-lightbox-notouch .nivo-lightbox-effect-fade, .nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale, .nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft, .nivo-lightbox-notouch .nivo-lightbox-effect-slideRight, .nivo-lightbox-notouch .nivo-lightbox-effect-slideUp, .nivo-lightbox-notouch .nivo-lightbox-effect-slideDown, .nivo-lightbox-notouch .nivo-lightbox-effect-fall { -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } /* fadeScale */ .nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap { -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); } .nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } /* slideLeft / slideRight / slideUp / slideDown */ .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap, .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); } .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap { -webkit-transform: translateX(-10%); -moz-transform: translateX(-10%); -ms-transform: translateX(-10%); transform: translateX(-10%); } .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap { -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); transform: translateX(10%); } .nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { -webkit-transform: translateY(-10%); -moz-transform: translateY(-10%); -ms-transform: translateY(-10%); transform: translateY(-10%); } .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap { -webkit-transform: translateY(10%); -moz-transform: translateY(10%); -ms-transform: translateY(10%); transform: translateY(10%); } .nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } /* fall */ .nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall { -webkit-perspective: 1000px; -moz-perspective: 1000px; perspective: 1000px; } .nivo-lightbox-effect-fall .nivo-lightbox-wrap { -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; -webkit-transform: translateZ(300px); -moz-transform: translateZ(300px); -ms-transform: translateZ(300px); transform: translateZ(300px); } .nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); } /* * Nivo Lightbox Default Theme v1.0 * http://dev7studios.com/nivo-lightbox * * Copyright 2013, Dev7studios * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ .nivo-lightbox-theme-default.nivo-lightbox-overlay { background: #666; background: rgba(0,0,0,0.6); } .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background: url(../images/nivo-icons/loading.gif) no-repeat 50% 50%; } .nivo-lightbox-theme-default .nivo-lightbox-nav { top: 10%; width: 8%; height: 80%; text-indent: -9999px; background-repeat: no-repeat; background-position: 50% 50%; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-nav:hover { opacity: 1; background-color: rgba(0,0,0,0.5); } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev.png); border-radius: 0 3px 3px 0; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next.png); border-radius: 3px 0 0 3px; } .nivo-lightbox-theme-default .nivo-lightbox-close { display: block; background: url(../images/nivo-icons/close.png) no-repeat; width: 48px; height: 48px; text-indent: -9999px; padding: 5px; opacity: 0.5; } .nivo-lightbox-theme-default .nivo-lightbox-close:hover { opacity: 1; } .nivo-lightbox-theme-default .nivo-lightbox-title-wrap { bottom: -7%; } .nivo-lightbox-theme-default .nivo-lightbox-title { font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; background: #000; color: #fff; padding: 7px 15px; border-radius: 30px; } .nivo-lightbox-theme-default .nivo-lightbox-image img { background: #fff; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } .nivo-lightbox-theme-default .nivo-lightbox-ajax, .nivo-lightbox-theme-default .nivo-lightbox-inline { background: #fff; padding: 40px; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); box-shadow: 0px 1px 1px rgba(0,0,0,0.4); } @media (-webkit-min-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) { .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background-image: url(../images/nivo-icons/loading@2x.gif); -webkit-background-size: 32px 32px; background-size: 32px 32px; } .nivo-lightbox-theme-default .nivo-lightbox-prev { background-image: url(../images/nivo-icons/prev@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-next { background-image: url(../images/nivo-icons/next@2x.png); -webkit-background-size: 48px 48px; background-size: 48px 48px; } .nivo-lightbox-theme-default .nivo-lightbox-close { background-image: url(../images/nivo-icons/close@2x.png); -webkit-background-size: 16px 16px; background-size: 16px 16px; } } @charset "UTF-8"; /*! * animate.css -http://daneden.me/animate * Version - 3.7.0 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2018 Daniel Eden */ @-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;-webkit-transform-origin:center bottom;animation-name:bounce;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-name:headShake;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-animation-name:swing;-webkit-transform-origin:top center;animation-name:swing;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;-webkit-transform-origin:center;animation-name:jello;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-duration:1.3s;animation-name:heartBeat;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;-webkit-animation-name:bounceIn;animation-duration:.75s;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;-webkit-animation-name:bounceOut;animation-duration:.75s;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animated.flip{-webkit-animation-name:flip;-webkit-backface-visibility:visible;animation-name:flip;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-animation-name:flipInX;-webkit-backface-visibility:visible!important;animation-name:flipInX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-animation-name:flipInY;-webkit-backface-visibility:visible!important;animation-name:flipInY;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutY;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutY;backface-visibility:visible!important}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-name:lightSpeedIn;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}@keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}.hinge{-webkit-animation-duration:2s;-webkit-animation-name:hinge;animation-duration:2s;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}@keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;-webkit-animation-fill-mode:both;animation-duration:1s;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion),(print){.animated{-webkit-animation:unset!important;-webkit-transition:none!important;animation:unset!important;transition:none!important}} /** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-carousel,.pagelayer-owl-carousel .pagelayer-owl-item{-webkit-tap-highlight-color:transparent;position:relative}.pagelayer-owl-carousel{display:none;width:100%;z-index:1}.pagelayer-owl-carousel .pagelayer-owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.pagelayer-owl-carousel .pagelayer-owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.pagelayer-owl-carousel .pagelayer-owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item,.pagelayer-owl-carousel .pagelayer-owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.pagelayer-owl-carousel .pagelayer-owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.pagelayer-owl-carousel .pagelayer-owl-item img{display:block;width:100%}.pagelayer-owl-carousel .pagelayer-owl-dots.disabled,.pagelayer-owl-carousel .pagelayer-owl-nav.disabled{display:none}.no-js .pagelayer-owl-carousel,.pagelayer-owl-carousel.pagelayer-owl-loaded{display:block}.pagelayer-owl-carousel .pagelayer-owl-dot,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav .pagelayer-owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-next,.pagelayer-owl-carousel .pagelayer-owl-nav button.pagelayer-owl-prev,.pagelayer-owl-carousel button.pagelayer-owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.pagelayer-owl-carousel.pagelayer-owl-loading{opacity:0;display:block}.pagelayer-owl-carousel.pagelayer-owl-hidden{opacity:0}.pagelayer-owl-carousel.pagelayer-owl-refresh .pagelayer-owl-item{visibility:hidden}.pagelayer-owl-carousel.pagelayer-owl-drag .pagelayer-owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagelayer-owl-carousel.pagelayer-owl-grab{cursor:move;cursor:grab}.pagelayer-owl-carousel.pagelayer-owl-rtl{direction:rtl}.pagelayer-owl-carousel.pagelayer-owl-rtl .pagelayer-owl-item{float:right}.pagelayer-owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.pagelayer-owl-carousel .pagelayer-owl-animated-in{z-index:0}.pagelayer-owl-carousel .pagelayer-owl-animated-out{z-index:1}.pagelayer-owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.pagelayer-owl-height{transition:height .5s ease-in-out}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy{opacity:0;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy:not([src]),.pagelayer-owl-carousel .pagelayer-owl-item .pagelayer-owl-lazy[src^=""]{max-height:0}.pagelayer-owl-carousel .pagelayer-owl-item img.pagelayer-owl-lazy{transform-style:preserve-3d}.pagelayer-owl-carousel .pagelayer-owl-video-wrapper{position:relative;height:100%;background:#000}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.pagelayer-owl-carousel .pagelayer-owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-play-icon,.pagelayer-owl-carousel .pagelayer-owl-video-playing .pagelayer-owl-video-tn{display:none}.pagelayer-owl-carousel .pagelayer-owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.pagelayer-owl-carousel .pagelayer-owl-video-frame{position:relative;z-index:1;height:100%;width:100%} /** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-theme .pagelayer-owl-dots,.pagelayer-owl-theme .pagelayer-owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.pagelayer-owl-theme .pagelayer-owl-nav{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.pagelayer-owl-theme .pagelayer-owl-nav .disabled{opacity:.5;cursor:default}.pagelayer-owl-theme .pagelayer-owl-nav.disabled+.pagelayer-owl-dots{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot{display:inline-block;zoom:1}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot.active span,.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot:hover span{background:#869791} /*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-left,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-up,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-bell-o,.fa.fa-bell-slash-o,.fa.fa-bookmark-o,.fa.fa-building-o,.fa.fa-calendar-check-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-o,.fa.fa-calendar-plus-o,.fa.fa-calendar-times-o,.fa.fa-caret-square-o-down,.fa.fa-caret-square-o-left,.fa.fa-caret-square-o-right,.fa.fa-caret-square-o-up,.fa.fa-cc,.fa.fa-check-circle-o,.fa.fa-check-square-o,.fa.fa-circle-o,.fa.fa-circle-thin,.fa.fa-clipboard,.fa.fa-clock-o,.fa.fa-clone,.fa.fa-comment-o,.fa.fa-commenting-o,.fa.fa-comments-o,.fa.fa-compass,.fa.fa-copyright,.fa.fa-credit-card,.fa.fa-diamond,.fa.fa-dot-circle-o,.fa.fa-drivers-license-o,.fa.fa-envelope-o,.fa.fa-envelope-open-o,.fa.fa-eye,.fa.fa-eye-slash,.fa.fa-file-archive-o,.fa.fa-file-audio-o,.fa.fa-file-code-o,.fa.fa-file-excel-o,.fa.fa-file-image-o,.fa.fa-file-movie-o,.fa.fa-file-o,.fa.fa-file-pdf-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-powerpoint-o,.fa.fa-file-sound-o,.fa.fa-file-text-o,.fa.fa-file-video-o,.fa.fa-file-word-o,.fa.fa-file-zip-o,.fa.fa-files-o,.fa.fa-flag-o,.fa.fa-floppy-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-frown-o,.fa.fa-futbol-o,.fa.fa-hand-grab-o,.fa.fa-hand-lizard-o,.fa.fa-hand-o-down,.fa.fa-hand-o-left,.fa.fa-hand-o-right,.fa.fa-hand-o-up,.fa.fa-hand-paper-o,.fa.fa-hand-peace-o,.fa.fa-hand-pointer-o,.fa.fa-hand-rock-o,.fa.fa-hand-scissors-o,.fa.fa-hand-spock-o,.fa.fa-hand-stop-o,.fa.fa-handshake-o,.fa.fa-hdd-o,.fa.fa-heart-o,.fa.fa-hospital-o,.fa.fa-hourglass-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-image,.fa.fa-keyboard-o,.fa.fa-lemon-o,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-ring,.fa.fa-life-saver,.fa.fa-lightbulb-o,.fa.fa-list-alt,.fa.fa-map-o,.fa.fa-meh-o,.fa.fa-minus-square-o,.fa.fa-money,.fa.fa-moon-o,.fa.fa-newspaper-o,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-paper-plane-o,.fa.fa-paste,.fa.fa-pause-circle-o,.fa.fa-pencil-square-o,.fa.fa-photo,.fa.fa-picture-o,.fa.fa-play-circle-o,.fa.fa-plus-square-o,.fa.fa-question-circle-o,.fa.fa-registered,.fa.fa-send-o,.fa.fa-share-square-o,.fa.fa-smile-o,.fa.fa-snowflake-o,.fa.fa-soccer-ball-o,.fa.fa-square-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-star-half-o,.fa.fa-star-o,.fa.fa-sticky-note-o,.fa.fa-stop-circle-o,.fa.fa-sun-o,.fa.fa-support,.fa.fa-thumbs-o-down,.fa.fa-thumbs-o-up,.fa.fa-times-circle-o,.fa.fa-times-rectangle-o,.fa.fa-toggle-down,.fa.fa-toggle-left,.fa.fa-toggle-right,.fa.fa-toggle-up,.fa.fa-trash-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-vcard-o,.fa.fa-window-close-o,.fa.fa-window-maximize,.fa.fa-window-restore{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-500px,.fa.fa-adn,.fa.fa-amazon,.fa.fa-android,.fa.fa-angellist,.fa.fa-apple,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-bitcoin,.fa.fa-black-tie,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-chrome,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-dribbble,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-edge,.fa.fa-eercast,.fa.fa-empire,.fa.fa-envira,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-fa,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-official,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-flickr,.fa.fa-font-awesome,.fa.fa-fonticons,.fa.fa-fort-awesome,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-ge,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitlab,.fa.fa-gittip,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-google,.fa.fa-google-plus,.fa.fa-google-plus-circle,.fa.fa-google-plus-official,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-hacker-news,.fa.fa-houzz,.fa.fa-html5,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-joomla,.fa.fa-jsfiddle,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-linkedin,.fa.fa-linkedin-square,.fa.fa-linode,.fa.fa-linux,.fa.fa-maxcdn,.fa.fa-meanpath,.fa.fa-medium,.fa.fa-meetup,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-pagelines,.fa.fa-paypal,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-product-hunt,.fa.fa-qq,.fa.fa-quora,.fa.fa-ra,.fa.fa-ravelry,.fa.fa-rebel,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-renren,.fa.fa-resistance,.fa.fa-safari,.fa.fa-scribd,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-telegram,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-usb,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vine,.fa.fa-vk,.fa.fa-wechat,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-wheelchair-alt,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-y-combinator-square,.fa.fa-yahoo,.fa.fa-yc,.fa.fa-yc-square,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-glass:before{content:"\f000"}.fa.fa-star-o:before{content:"\f005"}.fa.fa-remove:before{content:"\f00d"}.fa.fa-close:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before{content:"\f01e"}.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before{content:"\f0c9"}.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-dashboard:before{content:"\f3fd"}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-mobile-phone:before{content:"\f3cd"}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before{content:"\f153"}.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-usd:before{content:"\f155"}.fa.fa-dollar:before{content:"\f155"}.fa.fa-inr:before{content:"\f156"}.fa.fa-rupee:before{content:"\f156"}.fa.fa-jpy:before{content:"\f157"}.fa.fa-cny:before{content:"\f157"}.fa.fa-rmb:before{content:"\f157"}.fa.fa-yen:before{content:"\f157"}.fa.fa-rub:before{content:"\f158"}.fa.fa-ruble:before{content:"\f158"}.fa.fa-rouble:before{content:"\f158"}.fa.fa-krw:before{content:"\f159"}.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-try:before{content:"\f195"}.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-institution:before{content:"\f19c"}.fa.fa-bank:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before{content:"\f20b"}.fa.fa-shekel:before{content:"\f20b"}.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-hotel:before{content:"\f236"}.fa.fa-yc:before{content:"\f23b"}.fa.fa-battery-4:before{content:"\f240"}.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-television:before{content:"\f26c"}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before{content:"\f2a4"}.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o:before{content:"\f007"}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-thermometer-4:before{content:"\f2c7"}.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before{content:"\f2cd"}.fa.fa-s15:before{content:"\f2cd"}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o:before{content:"\f2dc"} /* Pagelayer Premium Frontend Framework */ /* Image hotspot */ .pagelayer-image-hotspots-anim:hover:before{ transform: scale(2); } .pagelayer-image-hotspots-anim .fas{ position: relative; } .pagelayer-image-hotspots-anim::before { content: ""; transform: scale(1); position: absolute; top:0; left:0; bottom:0; right:0; pointer-events: none; animation: pagelayer-hotspot 2s infinite; } @keyframes pagelayer-hotspot { 0% {transform: scale(1);opacity: 1;} 100% {transform: scale(1.5); opacity: 0;} } .pagelayer-hotspots-icon-holder .pagelayer-tooltip-text{ visibility:hidden; } .pagelayer-hotspots-hover .pagelayer-hotspots-icon-holder:hover .pagelayer-tooltip-text, .pagelayer-hotspots-always .pagelayer-hotspots-icon-holder .pagelayer-tooltip-text, .pagelayer-hotspots-icon-holder.pagelayer-clicked .pagelayer-tooltip-text{ visibility:visible; } /* Image Hotspot end */ /* Video Slider */ .pagelayer-imgsl-box{ position:relative; } .pagelayer-video_slider .pagelayer-imgsl-prev a:after{ content: "\f104"; } .pagelayer-video_slider .pagelayer-imgsl-next a:after{ content: "\f105"; } .pagelayer-video_slider .pagelayer-imgsl-controls li a:after{ font-family: "FontAwesome", "Font Awesome 5 Free"; background-image: none; } /* Video Slider End*/ /* Glow Button */ .pagelayer-btn-anim-glow{ color: #fff; background: #111; cursor: pointer; position: relative; z-index: 0; display:inline-block; line-height:1em; } .pagelayer-btn-anim-glow:before{ content: ''; background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); position: absolute; top: -2px; left:-2px; background-size: 400%; z-index: -1; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); animation: glowing 20s linear infinite; opacity: 0; transition: opacity .3s ease-in-out; } .pagelayer-btn-anim-glow:active { color: #000 } .pagelayer-btn-anim-glow:active:after { background: transparent; } .pagelayer-btn-anim-glow:hover:before { opacity: 1; } .pagelayer-btn-anim-glow:after { z-index: -1; content: ''; position: absolute; background: #111; left: 0; top: 0; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } /* Glow Button End */ /* Thin Button */ .pagelayer-btn-anim-thin{ transition: all 0.5s; position: relative; display: inline-block; cursor: pointer; line-height:1em; z-index: 0; } .pagelayer-btn-anim-thin::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; transition: all 0.5s; background-color: inherit; border-color: inherit; border-radius: inherit; } .pagelayer-btn-anim-thin::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; transition: all 0.5s; background-color: inherit; border-color: inherit; border-radius: inherit; } .pagelayer-btn-anim-thin:hover::before { transform: rotate(-45deg); border-color: inherit; border-radius: inherit; } .pagelayer-btn-anim-thin:hover::after { transform: rotate(45deg); border-color: inherit; border-radius: inherit; } /* Thin Button End */ /* Slide Button */ .pagelayer-btn-anim-slide{ position: relative; display: inline-block; cursor: pointer; transition: all .35s; line-height:1em; } .pagelayer-btn-text{ position: relative; z-index: 1; } .pagelayer-btn-anim-left:after{ position: absolute; content: ""; top: 0; left: 0; width: 0; height: 100%; background: #00ff72; transition: all .35s; border-radius: 5px 5px 5px 5px; } .pagelayer-btn-anim-right:after{ position: absolute; content: ""; top: 0; right: 0; width: 0; height: 100%; background: #00ff72; transition: all .35s; border-radius: 5px 5px 5px 5px; } .pagelayer-btn-anim-slide:hover{ color: #fff; } .pagelayer-btn-anim-slide:hover:after{ width: 100%; } /* Slide Button end*/ /* Slide overlay */ .pagelayer-slide-bg-overlay{ position:absolute; top: 0; left: 0; right: 0; bottom: 0; } .pagelayer-content-slide-bg{ position:absolute; top: 0; left: 0; right: 0; bottom: 0; animation-timing-function:ease; animation-fill-mode: forwards; } .pagelayer-owl-item:not(.active) .pagelayer-content_slide .pagelayer-content-slide-bg, .pagelayer-owl-item:not(.active) .pagelayer-content_slide .pagelayer-wow{ animation-name: none !important; } @keyframes pagelayerKenBurn {0%{transform: scale(1.0);}100%{transform: scale(1.2);}} @keyframes pagelayerKenBurnReverse{0%{transform: scale(1.2);}100%{transform-origin: bottom left;transform: scale(1.0);}} .pagelayer-slide-dot-pos-top .pagelayer-owl-dots{ position: absolute; top: 0 ; left: 50%; transform: translateX(-50%); } .pagelayer-slide-dot-pos-left .pagelayer-owl-dots{ position:absolute; left:0; display:flex; flex-direction:column; top: 50% !important; transform: translateY(-50%); } .pagelayer-slide-dot-pos-right .pagelayer-owl-dots{ position:absolute; right:0; display:flex; flex-direction:column; top: 50% !important; transform: translateY(-50%); } .pagelayer-slide-arrow-pos-top .pagelayer-owl-prev, .pagelayer-slide-arrow-pos-top .pagelayer-owl-next{ position:relative; top:unset; transform:none; } .pagelayer-slide-arrow-pos-top .pagelayer-owl-holder { display:flex !important; flex-direction:column; } .pagelayer-slide-arrow-pos-top .pagelayer-owl-stage-outer { order:2 !important; } .pagelayer-slide-arrow-pos-top .pagelayer-owl-nav { order:1 !important; display:flex; } .pagelayer-slide-arrow-pos-top .pagelayer-owl-dots { order:3 !important; } .pagelayer-slide-arrow-pos-bottom .pagelayer-owl-prev, .pagelayer-slide-arrow-pos-bottom .pagelayer-owl-next { position:relative; top:unset; transform:none; } .pagelayer-slide-arrow-pos-bottom .pagelayer-owl-nav { display:flex; } .pagelayer-slide-dot-number .pagelayer-owl-dots { counter-reset: plSlidePager; } .pagelayer-slide-dot-number .pagelayer-owl-dot span::before { counter-increment: plSlidePager; content: counter(plSlidePager); font-weight: 600; } /* Audio */ .mejs-container, .mejs-controls{ background: none !important; } .mejs-container{ width: 100% !important; height:unset !important; } .mejs-playpause-button button, .mejs-volume-button button{ position: relative !important; margin: 0 !important; padding: 15px !important; width: unset !important; } .mejs-playpause-button button:after, .mejs-volume-button button:after{ font-size: inherit; font-family: "FontAwesome", "Font Awesome 5 Free"; position: absolute; top: 50%; font-weight: 900; left: 50%; transform: translate(-35%, -50%); } .mejs-play button:after{ content: '\f04b'; } .mejs-replay button:after{ content: '\f01e'; } .mejs-mute button:after{ content: '\f028'; } .mejs-unmute button:after{ content: '\f026'; } .mejs-button>button{ background: none !important; } .mejs-pause button:after{ content: '\f04c'; } .mejs-controls, .mejs-horizontal-volume-total, .mejs-horizontal-volume-current{ position:unset !important; } .mejs-controls > * { width: unset !important; display: flex !important; align-items: center; padding: 0 5px !important; } .mejs-controls{ padding:0 !important; } .mejs-time-slider, .mejs-time-rail{ margin: 0 !important; } .mejs-horizontal-volume-current{ height: 100% !important; } .mejs-time-total{ width: calc( 100% - 10px ) !important; } .pagelayer-audio-container *{ height: unset !important; } .mejs-time-handle, .mejs-time-handle-content{ height: 100% !important; top: 0 !important; } .pagelayer-audio-container .mejs-time-buffering, .pagelayer-audio-container .mejs-time-loaded, .pagelayer-audio-container .mejs-time-current, .pagelayer-audio-container .mejs-time-hovered, .pagelayer-audio-container .mejs-time-float, .pagelayer-audio-container .mejs-time-float-corner, .pagelayer-audio-container .mejs-time-float, .pagelayer-audio-container .mejs-horizontal-volume-current{ height:100% !important; } /* Audio end */ /*** Menu List ***/ .pagelayer-menu-item, .pagelayer-menu-title{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .pagelayer-menu-separeter, .pagelayer-menu-details{ -webkit-box-flex: 1; -webkit-flex-grow: 1; -ms-flex-positive: 1; flex-grow: 1; } .pagelayer-menu-includes{ margin-top: -7px; } /*** Postfolio ***/ .pagelayer-postfolio-container{ display: grid; } .pagelayer-postfolio-thumb{ display:inline-block; position:relative; background-size:cover !important; background-position:center !important; } .pagelayer-postfolio-content{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .pagelayer-postfolio-content .pagelayer-entry-title{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 95%; text-align: center; } .pagelayer-postfolio-content .pagelayer-entry-title, .pagelayer-postfolio-content:hover .pagelayer-entry-title{ padding:0; margin:0; opacity: 0; } .pagelayer-postfolio-filter{ text-align:center; } .pagelayer-postfolio-btn{ display:inline-block; padding: 5px 15px; cursor:pointer; } /*** Postfolio End ***/ /* Search Form */ .pagelayer-search-classic .pagelayer-search-fields{ display: flex; overflow:hidden; } .pagelayer-search-classic .pagelayer-search-fields input.pagelayer-search-input{ border-width:0px; } .pagelayer-search-classic .pagelayer-search-fields .pagelayer-search-submit{ border-radius:0px; } .pagelayer-search-toggle, .pagelayer-search-full-screen .pagelayer-search-fields{ display:none; } .pagelayer-search-full-screen .pagelayer-search-toggle{ display:inline-block; text-align: center; } .pagelayer-search-full-screen .pagelayer-search-fields.show{ position: fixed; top: 0; left: 0; background: #211c1c; bottom: 0; right: 0; z-index: 99; align-items: center; display: flex; text-align: center; flex-direction: column; } .pagelayer-search-full-screen .pagelayer-search-input, .pagelayer-search-full-screen .pagelayer-search-input:focus{ width: 60%; text-align: center; background: transparent; border-width: 0; border-bottom-width: 2px; position: absolute; top: 50%; color:#fff; } .pagelayer-search-full-screen .pagelayer-search-submit{ display:none; } /* Search Form end*/ /* Slide */ .pagelayer-slide-btns>div{ display: inline-block; } .pagelayer-slides{ overflow:hidden; } .pagelayer-slides .pagelayer-slide, .pagelayer-slides .pagelayer-content-slide{ height:80vh; } .pagelayer-content-slide > *{ flex:1 } .pagelayer-slides .pagelayer-content-slide{ align-items: center; display: flex; flex-wrap:wrap; } .pagelayer-slides *{ line-height:1.4; } .pagelayer-slide{ height:100%; } .pagelayer-slide-holder{ width:50%; position:relative; } /* Slide End */ /* Author Box*/ .pagelayer-author-image{ width: 100px; } .pagelayer-author-btn{ display: inline-block; } .pagelayer-layout-left{ display:flex; } .pagelayer-layout-left .pagelayer-author-profile-desc, .pagelayer-layout-right .pagelayer-author-profile-desc{ flex:1; } .pagelayer-layout-center{ display:black; } .pagelayer-layout-right{ display:flex; flex-direction: row-reverse; } /* Author Box end*/ /* Login Box start */ .pagelayer-login-input-field{ display:block; width:100%; margin-left:auto; margin-right:auto; } .pagelayer-login-form .pagelayer-rememberMe{ display:inline-block !important; margin:5px; } .pagelayer-login-form .pagelayer-login-wrappers:last-child{ margin-bottom: none !important; } .pagelayer-login-input-left{ margin-left: unset; } .pagelayer-login-input-right{ margin-right: unset; } .pagelayer-login-div label{ display: inline-block; } /* Login Box end */ /* SiteMap start */ .pagelayer-sitemap-flex-wrapper{ display:flex; flex-flow:row wrap; } .pagelayer-sitemap-section{ } /* SiteMap end */ /* Post slider Start*/ .pagelayer-posts-slider-post{ margin:10px; border:1px solid #c5c5c5; box-shadow:1px 1px 10px #c6bfbf; } .pagelayer-posts-slider-img{ width:100%; height:12em; object-fit: cover; -o-object-fit: cover; } .pagelayer-posts-slider-content{ padding:0px 10px 20px; } .pagelayer-posts-slider-content p{ margin:0px; } .pagelayer-posts-slider-title{ font-size: 20px; color:#000000; font-weight: 600; line-height: 1.2; margin-top:20px !Important; margin-bottom: 20px !Important; } .pagelayer-posts-slider-excerpt p{ color:#636060; } .pagelayer-posts-slider-main{ padding:0px; list-style-type: none; } .pagelayer-posts-slider-post .blog-grid-button{ display: none; } .pagelayer-posts-slider-container[hide-posts-title="true"] .pagelayer-posts-slider-title, .pagelayer-posts-slider-container[hide-posts-image="true"] .pagelayer-posts-slider-featured-img, .pagelayer-posts-slider-container[hide-posts-date="true"] .pagelayer-post-slider-date, .pagelayer-posts-slider-container[hide-post-link="true"] .pagelayer-posts-slider-link{ display:none; } .pagelayer-prev-arrow:before{ font-family: "fontawesome" !Important; content: "\f053" !Important; color: Red !Important; font-size:30px !Important; } .pagelayer-next-arrow:before{ font-family: "fontawesome" !Important; content: "\f054" !Important; color: Red !Important; font-size:30px !Important; } .pagelayer-posts-slider-main .slick-slide{ display: none; float: left; height: auto; min-height: 1px; } /*post slider css end*/ /*fb buttons css start*/ .pagelayer-fb-btn-details{ padding:20px; } /*Review Start*/ .pagelayer-review-author{ position: relative; } .pagelayer-review-author .pagelayer-icon-holder{ position: absolute; top:0px; right:10px; } .pagelayer-review-slide{ border:1px solid #000000; margin: 0px 0px 5px 0px; } .pagelayer-review-slide hr{ margin:0; } .pagelayer-review-author-img, .pagelayer-review-author-details{ display:inline-block; vertical-align: middle; } .pagelayer-review-author-img img{ max-width: 150px; object-fit: cover; -o-object-fit: cover; } .pagelayer-review-author-details{ vertical-align: middle; } .pagelayer-review-text, .pagelayer-review-author{ margin:5px 10px; } /*Review End*/ /*WooCommerce Menu Cart*/ .pagelayer-cart-button-icon[data-counter]:before{ display:none; } .pagelayer-menu-cart-toggle[pagelayer-icon="bubble"] .pagelayer-cart-button-icon[data-counter]:before{ content: attr(data-counter); display: block; position: absolute; min-width: 1.6em; height: 1.6em; line-height: 1.5em; top: -.7em; right: -.7em; border-radius: 100%; color: #ffffff; background-color: #000; text-align: center; font-size: 10px; } .pagelayer-menu-cart-toggle[pagelayer-icon="plain"] .pagelayer-cart-button-icon[data-counter]:before { content: attr(data-counter); display: inline-block; } .pagelayer-menu-cart-toggle[pagelayer-empty-indicator="true"] .pagelayer-cart-button-icon[data-counter="0"]:before{ display:none; } .pagelayer-menu-cart-hidden{ display:none; } .pagelayer-cart-button-icon{ position:relative; } .pagelayer-menu-cart-container{ background-color:#e1e1e1; z-index:999; padding:20px; display:none; } [pagelayer-container-position="fixed_right"] .pagelayer-menu-cart-container{ position:fixed; top:0; right:0; height:100%; } [pagelayer-container-position="fixed_left"] .pagelayer-menu-cart-container{ position:fixed; top:0; left:0; height:100%; } [pagelayer-container-position="dropdown"] .pagelayer-menu-cart-container{ position:absolute; left:auto; right:auto; } .pagelayer-menu-cart-close{ cursor:pointer; } .pagelayer-cart-button{ display:inline-block; } .pagelayer-menu-cart-container{ overflow-y:auto; } .pagelayer-menu-cart-container .woocommerce-mini-cart-item img, .pagelayer-menu-cart-container .woocommerce-mini-cart-item a{ margin-right:10px; } .pagelayer-menu-cart-container .woocommerce-mini-cart-item{ list-style:none } /*WooCommerce Menu Cart End*/ /* Call to action */ .pagelayer-cta-img-holder{ overflow:hidden; width:100%; } .pagelayer-cta-image{ -o-object-fit: cover; object-fit: cover; /* height:100%; */ background-size: cover; background-position: center; } .pagelayer-cta-image:before{ content:''; position:absolute; width:100%; height:100%; z-index:1; } .pagelayer-call[class*="pagelayer-cta-align"]{ display:flex; flex-wrap:wrap; position:relative; } .pagelayer-cta-align-right{ flex-direction:row-reverse; } .pagelayer-cta-content-holder{ display:flex; flex-grow:1; } .pagelayer-cta-content{ width:100%; } .pagelayer-cta-ribbon:before { content: ""; height: 0; width: 0; display: block; position: absolute; border-top: solid; border-bottom: solid; z-index: -1; } .pagelayer-cta-ribbon:after{ content: ""; width: 100%; left:0; position:absolute; } .pagelayer-cta-ribbon-left:before{ right: 0; border-right: solid transparent; } .pagelayer-cta-ribbon-right:before{ left: 0; border-left: solid transparent; } .pagelayer-cta-ribbon-text{ height:100%; } .pagelayer-cta-ribbon-text:before{ content: ""; height: 0; width: 0; display: block; position: absolute; top: 0; border-top: solid; border-bottom: solid; border-right: solid transparent; border-left: solid transparent; } .pagelayer-cta-layout-overlay .pagelayer-cta-image{ width:100%; } .pagelayer-cta-layout-overlay .pagelayer-cta-content-holder{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .pagelayer-cta-zoomin:hover .pagelayer-cta-image{ -ms-transform: scale(1.5); -webkit-transform: scale(1.5); transform:scale(1.5); } .pagelayer-cta-zoomout:hover .pagelayer-cta-image{ -ms-transform: scale(0.5); -webkit-transform: scale(0.5); transform:scale(0.5); } .pagelayer-cta-moveup:hover .pagelayer-cta-image{ background-position: top; } .pagelayer-cta-movedown:hover .pagelayer-cta-image{ background-position: bottom; } .pagelayer-cta-moveleft:hover .pagelayer-cta-image{ background-position: left; } .pagelayer-cta-moveright:hover .pagelayer-cta-image{ background-position: right; } .pagelayer-cta-content-holder{ z-index:1; } /* Call to action end */ /* Table start */ .pagelayer-table{ overflow-x: auto; } .pagelayer-table-holder{ width:100%; } .pagelayer-table-holder > tbody > tr > td{ word-break:break-word; } /* Table end */ /* Pop-up templates start */ .pagelayer-popup-modal{ position: fixed; height: 100%; width: 100%; top: 0; left: 0; z-index: 9999; display:none; align-items:center; justify-content:center; pointer-events:none; } .pagelayer-popup-modal-content{ width: 375px; background-color:#ffffff; min-height:70px; position:relative; pointer-events:all; } .pagelayer-popup-content{ height:100%; overflow:auto; } .pagelayer-popup-close{ position:absolute; top:2%; left:95%; cursor:pointer; display:none; } /* Pop-up templates end */ /* Image Portfolio */ .pagelayer-category-holder{ text-align:center; padding-bottom:20px; } .pagelayer-pfbtn{ border:none; padding:10px 10px; background-color:#333; color:#fff; margin:0 5px; cursor:pointer; } .pagelayer-img_portfolio-holder>div{ width:33%; } .pagelayer-single_img{ padding:10px; } .pagelayer-pf-img{ position:relative; } .pagelayer-pf-img .pagelayer-image-overlay-content{ text-align: center; width:100%; } .pagelayer-single_img .pagelayer-image-overlay{ height: 0%; opacity:1; overflow:hidden; background-color:rgba(3,3,3,0.5); align-items: center; } .pagelayer-single_img:hover .pagelayer-image-overlay{ height: 100%; } .pagelayer-overlay-heading{ color:#ffffff; } .pagelayer-single_img .pagelayer-image-overlay-text{ color: #c7b7b7; } .pagelayer-single_img .pagelayer-image-overlay-icon{ font-size: 40px; color: #ffffff; } .pagelayer-scrolling-effects{ transition: background .3s,border .3s,-webkit-border-radius .3s,-webkit-box-shadow .3s !important; -webkit-transition: background .3s,border .3s,-webkit-border-radius .3s,-webkit-box-shadow .3s !important; transition-delay:0s !important; -webkit-transition-delay:0s !important; transition-timing-function: cubic-bezier(0,.32,.07,1.03) !important; -webkit-transition-timing-function: cubic-bezier(0,.32,.07,1.03) !important; position:relative; z-index:1; } .pagelayer-mouse-effects{ transition-delay:0s !important; -webkit-transition-delay:0s !important; transition-timing-function: cubic-bezier(0,.32,.07,1.03) !important; -webkit-transition-timing-function: cubic-bezier(0,.32,.07,1.03) !important; position:relative; z-index:1; } /*Timeline widget*/ /* The actual timeline (the vertical ruler) */ .pagelayer-timeline { position: relative; margin: 0 auto; } /* The actual timeline (the vertical ruler) */ .pagelayer-timeline::after { content: ''; position: absolute; width: 6px; top: 0; bottom: 0; left: 50%; margin-left: -3px; } /* Container around content */ .pagelayer-timeline-container { padding: 10px 40px; position: relative; background-color: inherit; width: 100%; display:flex; box-sizing: border-box; } .pagelayer-timeline .pagelayer-timeline-container{ padding-bottom:50px; } .pagelayer-timeline-center-circle-container{ height:inherit; width:40px; position:relative; margin-left:auto; margin-right:auto; box-sizing: border-box; } /* The circles on the timeline */ .pagelayer-timeline-center-circle{ position: absolute; text-align:center; background-color: white; display: flex; flex-direction: column; justify-content: center; z-index: 1; box-sizing: border-box; } .pagelayer-timeline-circle-text p{ margin-top:auto; margin-bottom:auto; } /* Place the container to the left */ .pagelayer-timeline-container-left { width:50%; } .pagelayer-timeline-container-left .pagelayer-timeline-content{ margin-left:auto; margin-right:10%; } /* Place the container to the right */ .pagelayer-timeline-container-right { width:50%; } .pagelayer-timeline-container-right .pagelayer-timeline-content{ margin-left:10%; margin-right:auto; } /*both side container css*/ .pagelayer-timeline-left .pagelayer-timeline-container-right, .pagelayer-timeline-right .pagelayer-timeline-container-left{ visibility:hidden; } /* The actual content */ .pagelayer-timeline-content { padding: 20px 30px; position: relative; word-break: break-word; box-sizing: border-box; overflow:hidden; } .pagelayer-timeline-content .pagelayer-heading-holder *{ margin:0px; } @media screen and (max-width: 600px) { .pagelayer-timeline::after { left: 31px; } .pagelayer-timeline-center-circle-container { position:absolute; height:100%; left:11px; top:0; } .pagelayer-timeline-container{ display:inline-block; } .pagelayer-timeline-container-left, .pagelayer-timeline-container-right{ width:100%; margin:10px !important; margin-left: 30px !important; } .pagelayer-timeline-container-left .pagelayer-timeline-content, .pagelayer-timeline-container-right .pagelayer-timeline-content{ margin:0; } } /*Timeline widget end*/ /*facebook page css start*/ .pagelayer-fb-page-container, .pagelayer-fb-embed-container{ text-align:center; } .pagelayer-fb-embed-container .fb-embed{ width:100%; } .pagelayer-fb-btn-container .fb-like iframe{ width:auto !important; } /*facebook page css end*/ /* pagelayer sticky */ .pagelayer-sticky-ele{ transition: none; } /*pagelayer sticky end*/ /* Product image css */ .pagelayer-woo-gallery-left ol{ padding: 0px !important; margin: 0px !important; order: 1; display: grid; grid-template-columns: repeat(1,auto); overflow: hidden; list-style: none; } .pagelayer-woo-gallery-left ol li img, .gallery-thumb-position-left ol li{ width: 100% !important; height:100% } .pagelayer-woo-gallery-left .flex-viewport{ order:2; } .pagelayer-woo-gallery-left .woocommerce-product-gallery{ grid-template-columns: 20% 80%; display: grid; overflow: hidden; box-sizing: border-box; } .pagelayer-woo-gallery-right ol{ text-align: left; display: grid; grid-template-columns: repeat(1,auto); overflow: hidden; list-style: none; padding: 0px !important; margin: 0px !important; } .pagelayer-woo-gallery-right ol li img, .gallery-thumb-position-right ol li{ width: 100% !important; height:100%; } .pagelayer-woo-gallery-right .woocommerce-product-gallery{ grid-template-columns: 80% 20%; display: grid; overflow: hidden; padding: 0; margin: 0; } .pagelayer-woo-gallery-top .flex-viewport{ order:2; } .pagelayer-woo-gallery-top ol{ width: 100%; order: 1; text-align: left; display: flex !important; overflow: hidden; list-style: none; padding: 0px !important; margin: 0px !important; } .pagelayer-woo-gallery-top ol li{ flex: 1; width: 100%; } .pagelayer-woo-gallery-top ol li img{ width: 100%; height: 100%; } .pagelayer-woo-gallery-top .woocommerce-product-gallery{ grid-template-columns: repeat(1, auto); display: grid; overflow: hidden; padding: 0; margin: 0; } .pagelayer-woo-gallery-bottom ol{ width: 100%; text-align: left; display: flex !important; overflow: hidden; list-style: none; padding: 0px !important; margin: 0px !important; } .pagelayer-woo-gallery-bottom ol li{ flex: 1; width: 100%; } .pagelayer-woo-gallery-bottom ol li img{ width: 100%; height: 100%; } .pagelayer-woo-gallery-top .woocommerce-product-gallery{ grid-template-columns: repeat(1, auto); display: grid; overflow: hidden; padding: 0; margin: 0; } .pagelayer-product-images-container .woocommerce-product-gallery, .pagelayer-product-images-container .flex-control-nav li{ width: 100% !important; } .pagelayer-data-tabs-container .woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0 -2px !important; border:auto !important; } .pagelayer-data-tabs-container .wc-tabs{ margin-bottom:0px !important; } /* Product image end*/ /* Before After Start*/ .pagelayer-before-after-container{ width:100%; height: auto; margin:0; } .pagelayer-before-after-slider{ width:100%; position:relative; overflow:hidden; line-height: 0 !important; } .pagelayer-after-image{ position:absolute; width: 100%; height:100%; top:0; left:0; overflow:hidden; z-index:1; line-height: 0 !important; clip-path:polygon(50% 0%, 100% 0%, 100% 100%, 50% 100%); } .pagelayer-before-image{ height: 100% !important; } .pagelayer-before-after-slider-vertical .pagelayer-after-image{ clip-path:polygon(0% 50%, 100% 50%, 100% 100%, 0% 100%); } .pagelayer-before-image img, .pagelayer-after-image img{ width: 100%; background: hsla(0,0%,100%,.65); height: 100%; user-select: none; object-fit: fill; } .pagelayer-resizer{ position: absolute; display: flex !important; align-items: center; top: 0; height: 100%; width: 4px; left: 50%; background: white; -ms-touch-action: pan-y; touch-action: pan-y; z-index: 1; cursor: e-resize !important; } .pagelayer-before-after-slider-horizontal.resize{ cursor: e-resize !important; } .pagelayer-before-after-slider-vertical.resize{ cursor: n-resize !important; } .pagelayer-before-after-slider-vertical .pagelayer-resizer{ width: 100%; height: 4px; top: 50%; left: 0% !important; z-index: 1; cursor: n-resize !important; } .pagelayer-resizer:before{ background: #42414f; font-weight: 900; display: flex; justify-content: center; align-items: center; color: white; position: absolute; min-width: 20px; min-height: 20px; border-radius: 50%; border: 2px solid; border-color: rgb(255, 255, 255); top: 50%; left: 50%; box-sizing: unset; padding: 5px; transform: translateX(-50%) translateY(-50%); } .pagelayer-before-btn, .pagelayer-after-btn{ font-size: 14px; position: absolute; top: 50%; transform: translateY(-50%); left: 0; color: white; background-color: #129efaff; font-size: 13px; padding: 8px 17px; border: 0px solid #42414f; cursor: pointer; border-radius: 2px; text-align: center; z-index: 1; } .pagelayer-after-btn{ left: auto; right: 0; } .pagelayer-before-after-slider-vertical .pagelayer-before-btn{ top: 0; left: 50%; transform: translateX(-50%); } .pagelayer-before-after-slider-vertical .pagelayer-after-btn{ left: 50%; transform: translateX(-50%); bottom:0%; top:initial; right: auto; } .pagelayer-before-after-container[data-resize-event="none"] .pagelayer-resizer{ cursor: auto !important; } .pagelayer-before-after-container[data-resize-event="none"] .pagelayer-resizer:before{ display:none; } /* Before After End*/ PKZ\\,plugins/pagelayer/css/pagelayer-frontend.cssnu[/* Pagelayer Frontend Framework */ [pagelayer-id]{ transition:0.5s; } /* Experimental All FLEX code .pagelayer-ele, .pagelayer-ele-wrap,*/ /*Flex - Rows and Cols*/ .pagelayer-row, .pagelayer-inner_row, .pagelayer-row-holder, .pagelayer-col, .pagelayer-col-holder{ box-sizing: border-box; display: flex; flex: 1 0 auto; flex-direction: row; flex-wrap: wrap; width:100%; align-content: stretch; position: relative; } /* The col holder should be flex-start and not stretch because elements in it should take automatic height */ .pagelayer-col, .pagelayer-col-holder{ align-content: flex-start; } /* Each immediate element in the col-holder should have full width */ .pagelayer-col-holder>*{ width: 100%; } .pagelayer-row.pagelayer-auto .pagelayer-col { flex-grow: 1; } .pagelayer-col-1 { width: 8.33333%; } .pagelayer-offset-1 { margin-left: 8.33333%; } .pagelayer-col-2 { width: 16.66667%; } .pagelayer-offset-2 { margin-left: 16.66667%; } .pagelayer-col-3 { width: 25%; } .pagelayer-offset-3 { margin-left: 25%; } .pagelayer-col-4 { width: 33.33333%; } .pagelayer-offset-4 { margin-left: 33.33333%; } .pagelayer-col-5 { width: 41.66667%; } .pagelayer-offset-5 { margin-left: 41.66667%; } .pagelayer-col-6 { width: 50%; } .pagelayer-offset-6 { margin-left: 50%; } .pagelayer-col-7 { width: 58.33333%; } .pagelayer-offset-7 { margin-left: 58.33333%; } .pagelayer-col-8 { width: 66.66667%; } .pagelayer-offset-8 { margin-left: 66.66667%; } .pagelayer-col-9 { width: 75%; } .pagelayer-offset-9 { margin-left: 75%; } .pagelayer-col-10 { width: 83.33333%; } .pagelayer-offset-10 { margin-left: 83.33333%; } .pagelayer-col-11 { width: 91.66667%; } .pagelayer-offset-11 { margin-left: 91.66667%; } .pagelayer-col-12 { width: 100%; } .pagelayer-offset-12 { margin-left: 100%; } .pagelayer-gutters > .pagelayer-col-1 { width: calc(8.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-1 { margin-left: calc(8.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-2 { width: calc(16.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-2 { margin-left: calc(16.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-3 { width: calc(25% - 2%); } .pagelayer-gutters > .pagelayer-offset-3 { margin-left: calc(25% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-4 { width: calc(33.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-4 { margin-left: calc(33.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-5 { width: calc(41.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-5 { margin-left: calc(41.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-6 { width: calc(50% - 2%); } .pagelayer-gutters > .pagelayer-offset-6 { margin-left: calc(50% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-7 { width: calc(58.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-7 { margin-left: calc(58.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-8 { width: calc(66.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-8 { margin-left: calc(66.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-9 { width: calc(75% - 2%); } .pagelayer-gutters > .pagelayer-offset-9 { margin-left: calc(75% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-10 { width: calc(83.33333% - 2%); } .pagelayer-gutters > .pagelayer-offset-10 { margin-left: calc(83.33333% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-11 { width: calc(91.66667% - 2%); } .pagelayer-gutters > .pagelayer-offset-11 { margin-left: calc(91.66667% + 2%) !important; } .pagelayer-gutters > .pagelayer-col-12 { width: calc(100% - 2%); } .pagelayer-gutters > .pagelayer-offset-12 { margin-left: calc(100% + 2%) !important; } .pagelayer-first { order: -1; } .pagelayer-last { order: 1; } /**************My Style for front-end *********/ .pagelayer-img{ vertical-align:bottom; max-width: 100%; } /* To give no decoration to a link for a pagelayer element */ .pagelayer-ele-link{ text-decoration:none; box-shadow:none !important; border:none; } .pagelayer-bgimg-slider{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .pagelayer-bgimg-slide { position: absolute; width: 100%; top: 0; left: 0; height: 100%; transition: all 1s ease-in-out; background-position: center center; background-repeat: no-repeat; background-size: cover; opacity: 0; } .pagelayer-slide-show { opacity: 1; } .pagelayer-row-overlay, .pagelayer-col-overlay{ position: absolute; width: 100%; height: 100%; right: 0px; top: 0px; z-index: -1; pointer-events:none; } .pagelayer-row-shape{ width:100%; position:absolute; top:0; left:0; right:0; bottom:0; line-height:0; overflow:hidden; } .pagelayer-row-svg{ position:relative; height:100%; } .pagelayer-row-svg svg{ width:100%; position:absolute; } .pagelayer-row-svg svg.pagelayer-svg-top{ top:-1px; } .pagelayer-row-svg svg.pagelayer-svg-bottom{ bottom:-1px; } .pagelayer-height-fit{ height:100vh; } .pagelayer-row-wrapper{ width:100%; } .pagelayer-background-overlay{ position: absolute; width: 100%; top: 0; left:0; height: 100%; overflow: hidden; } .pagelayer-background-video{ position: absolute; width: 100%; top: 0; height: 100%; pointer-events: none; z-index: 0; overflow: hidden; left:0; } .pagelayer-background-video iframe, .pagelayer-background-video video{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); max-width: none; } .pagelayer-service-container{ position:relative; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-service-image{ line-height:0; overflow:hidden; } .pagelayer-service-image img{ height: auto; max-width: 100%; } .pagelayer-service-btn{ display:inline-block; position:relative; z-index:9; } .pagelayer-service-details{ width:100%; } .pagelayer-service-text{ word-break:break-word; } .pagelayer-service-align-left{ display:flex; } .pagelayer-service-align-right{ display:flex; text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-service-align-top{ display:block; text-align: center; } .pagelayer-service-align-top .pagelayer-service-image{ margin:0 auto; text-align:center; } .pagelayer-service-box-centered{ text-align: center; } .pagelayer-service-box-media-left, .pagelayer-service-box-media-right{ display: flex; } .pagelayer-service-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-service-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-service-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-service-box-media-right .pagelayer-service-box-media-section{ order: 2; } .pagelayer-service-box-media-right .pagelayer-service-box-content-section{ order: 1; } .pagelayer-service-box-icon-holder{ display: inline-block; color:#000000; text-align: center; line-height: 1; font-size: 60px; } .pagelayer-service-icon{ line-height: 0; } .pagelayer-service-icon.pagelayer-service-framed i{ border:4px solid; background-color:transparent !important; } .pagelayer-service-icon.pagelayer-service-stacked i, .pagelayer-service-icon.pagelayer-service-framed i{ position:relative; } .pagelayer-service-icon.pagelayer-service-stacked i:before, .pagelayer-service-icon.pagelayer-service-framed i:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .pagelayer-service-box-icon-holder.square-holder{ padding: 15px; color:#000000; } .pagelayer-service-box-icon-holder.circle-holder{ padding: 15px; color:#000000; border-radius:50% !Important; } .pagelayer-service-box-icon-holder i{ position: relative; display: block; } .pagelayer-service-heading{ line-height:1; } .pagelayer-box-link{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Icon widget */ .pagelayer-icon-mini{ font-size: 16px !important; } .pagelayer-icon-small{ font-size: 24px !important; } .pagelayer-icon-large{ font-size: 36px !important; } .pagelayer-icon-extra-large{ font-size: 56px !important; } .pagelayer-icon-double-large{ font-size: 78px !important; } .pagelayer-icon-circle, .pagelayer-icon-outline-circle, .pagelayer-social-shape-circle .pagelayer-icon-holder{ border-radius: 50%; } .pagelayer-icon-rounded, .pagelayer-icon-outline-rounded, .pagelayer-social-shape-rounded .pagelayer-share-content, .pagelayer-social-shape-rounded .pagelayer-icon-holder{ border-radius: 10px; } /* Icon widget end */ /* Icon animation */ .pagelayer-animation-grow{ transition: transform 400ms; } .pagelayer-animation-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow{ transform: scale(1.1); } .pagelayer-animation-shrink{ transition: transform 400ms; } .pagelayer-animation-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-shrink{ transform: scale(0.9); } @keyframes pagelayer-animation-pulse{25%{transform:scale(1.1)}75%{transform:scale(0.9)}} .pagelayer-animation-pulse:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse{ animation-name: pagelayer-animation-pulse; animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pagelayer-animation-pulse-grow{to{transform:scale(1.1)}} .pagelayer-animation-pulse-grow:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-grow{ animation-name: pagelayer-animation-pulse-grow; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-pulse-shrink{to{transform:scale(0.9)}} .pagelayer-animation-pulse-shrink:hover, .pagelayer-anim-par:hover .pagelayer-animation-pulse-shrink{ animation-name: pagelayer-animation-pulse-shrink; animation-duration: 0.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction:alternate; } @keyframes pagelayer-animation-push{50%{transform:scale(0.8)}100%{transform:scale(1)}} .pagelayer-animation-push:hover, .pagelayer-anim-par:hover .pagelayer-animation-push{ animation-name:pagelayer-animation-push; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-pop{50%{transform:scale(1.2)}} .pagelayer-animation-pop:hover, .pagelayer-anim-par:hover .pagelayer-animation-pop{ animation-name:pagelayer-animation-pop; animation-duration:0.4s; animation-timing-function:linear; animation-iteration-count:1 } @keyframes pagelayer-animation-buzz{ 50%{ transform:translateX(3px) rotate(2deg) } 100%{ transform:translateX(-3px) rotate(-2deg) } } .pagelayer-animation-buzz:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz{ animation-name:pagelayer-animation-buzz; animation-duration:0.15s; animation-timing-function:linear; animation-iteration-count:infinite; } @keyframes pagelayer-animation-buzz-out{ 10%{transform:translateX(3px) rotate(2deg)} 20%{transform:translateX(-3px) rotate(-2deg)} 30%{transform:translateX(3px) rotate(2deg)} 40%{transform:translateX(-3px) rotate(-2deg)} 50%{transform:translateX(2px) rotate(1deg)} 60%{transform:translateX(-2px) rotate(-1deg)} 70%{transform:translateX(2px) rotate(1deg)} 80%{transform:translateX(-2px) rotate(-1deg)} 90%{transform:translateX(1px) rotate(0)} 100%{transform:translateX(-1px) rotate(0)} } .pagelayer-animation-buzz-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-buzz-out{ animation-name:pagelayer-animation-buzz-out; animation-duration:0.7s; animation-timing-function:linear; animation-iteration-count:1; } .pagelayer-animation-float:hover, .pagelayer-anim-par:hover .pagelayer-animation-float{ transform:translateY(-8px) } .pagelayer-animation-sink:hover, .pagelayer-anim-par:hover .pagelayer-animation-sink{ transform:translateY(8px) } @keyframes pagelayer-animation-bob{ 0%{transform:translateY(-8px)} 50%{transform:translateY(-4px)} 100%{transform:translateY(-8px)} } @keyframes pagelayer-animation-bob-up{ 100%{transform:translateY(-8px)} } .pagelayer-animation-bob:hover, .pagelayer-anim-par:hover .pagelayer-animation-bob{ animation-name:pagelayer-animation-bob-up,pagelayer-animation-bob; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:infinite; } @keyframes pagelayer-animation-hang{ 0%{transform:translateY(8px)} 50%{transform:translateY(4px)} 100%{transform:translateY(8px)} } @keyframes pagelayer-animation-hang-up{ 100%{transform:translateY(8px)} } .pagelayer-animation-hang:hover, .pagelayer-anim-par:hover .pagelayer-animation-hang{ animation-name:pagelayer-animation-hang-up,pagelayer-animation-hang; animation-duration:0.4s,1.5s; animation-timing-function:ease-out,ease-in-out; animation-delay:0s,0.3s; animation-iteration-count:1,infinite; animation-direction:normal,alternate; } .pagelayer-animation-bounce-in{ transition-duration:0.5s; } .pagelayer-animation-bounce-in:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-in{ transform:scale(1.2); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-bounce-out{ transition-duration:0.5s; } .pagelayer-animation-bounce-out:hover, .pagelayer-anim-par:hover .pagelayer-animation-bounce-out{ transform:scale(0.8); transition-timing-function:cubic-bezier(0.52,2.07,0.36,-0.41); } .pagelayer-animation-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-rotate{ transform:rotate(6deg); } .pagelayer-animation-grow-rotate:hover, .pagelayer-anim-par:hover .pagelayer-animation-grow-rotate{ transform:scale(1.1) rotate(6deg); } .pagelayer-animation-skew-forward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-forward{ transform:skew(-9deg); } .pagelayer-animation-skew-backward:hover, .pagelayer-anim-par:hover .pagelayer-animation-skew-backward{ transform:skew(9deg); } @keyframes pagelayer-animation-wobble-vertical{ 17%{transform:translateY(9px)} 33%{transform:translateY(-7px)} 45%{transform:translateY(5px)} 67%{transform:translateY(-3px)} 83%{transform:translateY(1px)} 100%{transform:translateY(0)} } .pagelayer-animation-wobble-vertical:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-vertical{ animation-name:pagelayer-animation-wobble-vertical; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-horizontal{ 17%{transform:translateX(9px)} 33%{transform:translateX(-7px)} 50%{transform:translatex(5px)} 67%{transform:translateX(-3px)} 83%{transform:translateX(1px)} 100%{transform:translateX(0)} } .pagelayer-animation-wobble-horizontal:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-horizontal{ animation-name:pagelayer-animation-wobble-horizontal; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-bottom-to-right{ 17%{transform:translate(9px,9px)} 33%{transform:translate(-7px,-7px)} 50%{transform:translate(5px,5px)} 67%{transform:translate(-3px,-3px)} 83%{transform:translate(1px,1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-bottom-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom-to-right{ animation-name:pagelayer-animation-wobble-bottom-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } @keyframes pagelayer-animation-wobble-top-to-right{ 17%{transform:translate(9px,-9px)} 33%{transform:translate(-7px,7px)} 50%{transform:translate(5px,-5px)} 67%{transform:translate(-3px,3px)} 83%{transform:translate(1px,-1px)} 100%{transform:translate(0,0)} } .pagelayer-animation-wobble-top-to-right:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top-to-right{ animation-name:pagelayer-animation-wobble-top-to-right; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1; } .pagelayer-animation-wobble-top{ transform-origin:0 100%; } @keyframes pagelayer-animation-wobble-top{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-top:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-top{ animation-name:pagelayer-animation-wobble-top; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } .pagelayer-animation-wobble-bottom{ transform-origin:100% 0; } @keyframes pagelayer-animation-wobble-bottom{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-bottom:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-bottom{ animation-name:pagelayer-animation-wobble-bottom; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } @keyframes pagelayer-animation-wobble-skew{ 17%{transform:skew(-13deg)} 33%{transform:skew(11deg)} 50%{transform:skew(-7deg)} 67%{transform:skew(5deg)} 83%{transform:skew(-3deg)} 100%{transform:skew(0)} } .pagelayer-animation-wobble-skew:hover, .pagelayer-anim-par:hover .pagelayer-animation-wobble-skew{ animation-name:pagelayer-animation-wobble-skew; animation-duration:1s; animation-timing-function:ease-in-out; animation-iteration-count:1 } /* Icon animation end */ /*Badge widget */ .pagelayer-badge a{ text-decoration: none !important; } .pagelayer-badge-btn{ display:none; padding:10px; padding: 0.40em 0.36em; } .pagelayer-badge-details{ margin-left:1px; border-radius:.25rem; padding: 0.10rem; position: relative; top: -3px; } .pagelayer-badge-details.pagelayer-badge-normal{ border-radius:.25rem; } .pagelayer-badge-details.pagelayer-badge-pills{ border-radius:10rem; } .pagelayer-badge-btn .pagelayer-badge-details{ position:relative; top:-1px; } /*Badge widget end*/ /*Tooltip widget*/ .pagelayer-tooltip-container{ position:relative; display:inline-block; line-height: 1; } .pagelayer-tooltip-text{ visibility: hidden; width: 300px; background-color: #000000; color: #ffffff; text-align: center; border-radius: 6px; position: absolute; z-index: 1; padding:5px; word-break:break-word; } .pagelayer-tooltip-icon{ margin:0px 4px; } .pagelayer-tooltip-top{ bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-top:after{ content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #000000 transparent transparent transparent; } .pagelayer-tooltip-right{ top: 50%; left: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-right:after { content: ""; position: absolute; top: 50%; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent #000000 transparent transparent; } .pagelayer-tooltip-bottom{ top: calc(100% + 10px); left: 50%; transform: translateX(-50%); } .pagelayer-tooltip-bottom:after{ content: ""; position: absolute; bottom: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent #000000 transparent; } .pagelayer-tooltip-left{ top: 50%; bottom: auto; right: calc(100% + 10px); transform: translateY(-50%); } .pagelayer-tooltip-left:after{ content: ""; position: absolute; top: 50%; left: 100%; transform: translateY(-50%); margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent #000000; } .pagelayer-tooltip-container:hover .pagelayer-tooltip-text, .pagelayer-tooltip-text:focus{ visibility: visible !important; } .pagelayer-tooltip-on-click{ visibility: visible !important; } /*Tooltip widget end*/ /* Button widget */ .pagelayer-btn-holder{ border-radius:5px; display:inline-block; line-height:1em; transition:all 0.3s; cursor: pointer; box-sizing:border-box; } .pagelayer-btn-default{ background-color:#818a91 !important; color:#ffffff !important; } .pagelayer-btn-primary, .pagelayer-badge-primary, .pagelayer-progress-primary{ color:#ffffff !important; background-color:#007bff !important; } .pagelayer-btn-primary:hover{ color:#ffffff !important; background-color: #0069d9 !important; } .pagelayer-btn-secondary, .pagelayer-badge-secondary, .pagelayer-progress-secondary{ color:#ffffff !important; background-color:#6c757d !important; } .pagelayer-btn-secondary:hover{ color: #ffffff !important; background-color: #5a6268 !important; } .pagelayer-btn-success, .pagelayer-badge-success, .pagelayer-progress-success{ color: #fff; background-color: #28a745 !important; } .pagelayer-btn-success:hover{ color: #ffffff !important; background-color: #218838 !important; } .pagelayer-btn-info, .pagelayer-badge-info, .pagelayer-progress-info{ color: #ffffff !important; background-color: #17a2b8 !important; } .pagelayer-btn-info:hover{ color: #ffffff !important; background-color: #138496 !important; } .pagelayer-btn-warning, .pagelayer-badge-warning, .pagelayer-progress-warning{ color: #212529 !important; background-color: #ffc107 !important; } .pagelayer-btn-warning:hover{ color: #212529 !important; background-color: #e0a800 !important; } .pagelayer-btn-danger, .pagelayer-badge-danger, .pagelayer-progress-danger{ color: #ffffff !important; background-color: #dc3545 !important; } .pagelayer-btn-danger:hover{ color: #ffffff !important; background-color: #c82333 !important; } .pagelayer-btn-dark, .pagelayer-badge-dark, .pagelayer-progress-dark{ color: #ffffff !important; background-color: #343a40 !important; } .pagelayer-btn-dark:hover{ color: #ffffff !important; background-color: #23272b !important; } .pagelayer-btn-light, .pagelayer-badge-light, .pagelayer-progress-light{ color: #212529 !important; background-color: #f8f9fa !important; } .pagelayer-btn-light:hover{ color: #212529 !important; background-color: #e2e6ea !important; } .pagelayer-btn-link{ color: #007bff !important; } .pagelayer-btn-link:hover{ text-decoration: underline !important; } .pagelayer-btn-default:hover{ color:#ffffff; } .pagelayer-btn-mini{ font-size: 14px; padding: 10px 20px; } .pagelayer-btn-small{ font-size: 16px; padding: 15px 30px; } .pagelayer-btn-large{ font-size: 18px; padding: 20px 40px; } .pagelayer-btn-extra-large{ font-size: 20px; padding: 25px 50px; } .pagelayer-btn-double-large{ font-size: 22px; padding: 30px 60px; } .pagelayer-btn-icon-left .pagelayer-btn-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-icon:first-child, .pagelayer-btn-icon-left .pagelayer-btn-load-icon:last-child, .pagelayer-btn-icon-right .pagelayer-btn-load-icon:first-child, .pagelayer-btn-icon-left .pagelayer-cf-icon-right, .pagelayer-btn-icon-right .pagelayer-cf-icon-left{ display: none; } .pagelayer-btn-icon-left .pagelayer-btn-icon, .pagelayer-btn-icon-left .pagelayer-btn-load-icon{ padding-left:0 !important; position: relative; z-index: 1; } .pagelayer-btn-icon-right .pagelayer-btn-icon, .pagelayer-btn-icon-right .pagelayer-btn-load-icon{ padding-right:0 !important; position: relative; z-index: 1; } /* Button widget end */ /* Social Profile */ .pagelayer-icon-holder[class*="pagelayer-facebook"] .pagelayer-social-fa{ color:#3B5998; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-facebook"], .pagelayer-share-content[class*="pagelayer-facebook"]{ background-color:#3B5998; color:#3B5998; } .pagelayer-icon-holder[class*="pagelayer-twitter"] .pagelayer-social-fa{ color:#1DA1F2; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitter"], .pagelayer-share-content[class*="pagelayer-twitter"]{ background-color:#1DA1F2; color:#1DA1F2; } .pagelayer-icon-holder[class*="pagelayer-android"] .pagelayer-social-fa{ color:#A4C639 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-android"], .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-share-content[class*="pagelayer-android"]{ background-color:#A4C639; } .pagelayer-icon-holder[class*="pagelayer-google-plus"] .pagelayer-social-fa{ color:#DD4B39 } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-google-plus"], .pagelayer-share-content[class*="pagelayer-google-plus"]{ background-color:#DD4B39; color:#DD4B39; } .pagelayer-icon-holder[class*="pagelayer-instagram"] .pagelayer-social-fa{ color:#262626; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-instagram"], .pagelayer-share-content[class*="pagelayer-instagram"]{ background-color:#1DA1F2; color:#262626; } .pagelayer-icon-holder[class*="pagelayer-linkedin"] .pagelayer-social-fa{ color:#0077B5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-linkedin"], .pagelayer-share-content[class*="pagelayer-linkedin"]{ background-color:#0077B5; color:#0077B5; } .pagelayer-icon-holder[class*="pagelayer-behance"] .pagelayer-social-fa{ color:#053eff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-behance"], .pagelayer-share-content[class*="pagelayer-behance"]{ background-color:#053eff; color:#053eff; } .pagelayer-icon-holder[class*="pagelayer-pinterest"] .pagelayer-social-fa{ color:#c8232c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-pinterest"], .pagelayer-share-content[class*="pagelayer-pinterest"]{ background-color:#c8232c; color:#c8232c; } .pagelayer-icon-holder[class*="pagelayer-get-pocket"] .pagelayer-social-fa{ color:#ef4156; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-get-pocket"], .pagelayer-share-content[class*="pagelayer-get-pocket"]{ background-color:#ef4156; color:#ef4156; } .pagelayer-icon-holder[class*="pagelayer-envelope"] .pagelayer-social-fa{ color:#292929; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-envelope"], .pagelayer-share-content[class*="pagelayer-envelope"]{ background-color:#292929; color:#292929; } .pagelayer-icon-holder[class*="pagelayer-reddit"] .pagelayer-social-fa{ color:#ff4301; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-reddit"], .pagelayer-share-content[class*="pagelayer-reddit"]{ background-color:#ff4301; color:#ff4301; } .pagelayer-icon-holder[class*="pagelayer-rss"] .pagelayer-social-fa{ color:#F26522; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-rss"], .pagelayer-share-content[class*="pagelayer-rss"]{ background-color:#F26522; color:#F26522; } .pagelayer-icon-holder[class*="pagelayer-skype"] .pagelayer-social-fa{ color:#00aff0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-skype"], .pagelayer-share-content[class*="pagelayer-skype"]{ background-color:#00aff0; color:#00aff0; } .pagelayer-icon-holder[class*="pagelayer-slideshare"] .pagelayer-social-fa{ color:#0077b5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-slideshare"], .pagelayer-share-content[class*="pagelayer-slideshare"]{ background-color:#0077b5; color:#0077b5; } .pagelayer-icon-holder[class*="pagelayer-snapchat"] .pagelayer-social-fa{ color:#fffc00; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-snapchat"], .pagelayer-share-content[class*="pagelayer-snapchat"]{ background-color:#fffc00; color:#fffc00; } .pagelayer-icon-holder[class*="pagelayer-soundcloud"] .pagelayer-social-fa{ color:#ff8800; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-soundcloud"], .pagelayer-share-content[class*="pagelayer-soundcloud"]{ background-color:#ff8800; color:#ff8800; } .pagelayer-icon-holder[class*="pagelayer-spotify"] .pagelayer-social-fa{ color:#1ED760; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-spotify"], .pagelayer-share-content[class*="pagelayer-spotify"]{ background-color:#1ED760; color:#1ED760; } .pagelayer-icon-holder[class*="pagelayer-stack-overflow"] .pagelayer-social-fa{ color:#F48024; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stack-overflow"], .pagelayer-share-content[class*="pagelayer-stack-overflow"]{ background-color:#F48024; color:#F48024; } .pagelayer-icon-holder[class*="pagelayer-steam"] .pagelayer-social-fa{ color:#00adee; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-steam"], .pagelayer-share-content[class*="pagelayer-steam"]{ background-color:#00adee; color:#00adee; } .pagelayer-icon-holder[class*="pagelayer-stumbleupon"] .pagelayer-social-fa{ color:#EB4924; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-stumbleupon"], .pagelayer-share-content[class*="pagelayer-stumbleupon"]{ background-color:#EB4924; color:#EB4924; } .pagelayer-icon-holder[class*="pagelayer-telegram"] .pagelayer-social-fa{ color:#0088cc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-telegram"], .pagelayer-share-content[class*="pagelayer-telegram"]{ background-color:#0088cc; color:#0088cc; } .pagelayer-icon-holder[class*="pagelayer-thumb-tack"] .pagelayer-social-fa{ color:#1AA1D8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-thumb-tack"], .pagelayer-share-content[class*="pagelayer-thumb-tack"]{ background-color:#1AA1D8; color:#1AA1D8; } .pagelayer-icon-holder[class*="pagelayer-tripadvisor"] .pagelayer-social-fa{ color:#00af87; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tripadvisor"], .pagelayer-share-content[class*="pagelayer-tripadvisor"]{ background-color:#00af87; color:#00af87; } .pagelayer-icon-holder[class*="pagelayer-tumblr"] .pagelayer-social-fa{ color:#001935; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-tumblr"], .pagelayer-share-content[class*="pagelayer-tumblr"]{ background-color:#001935; color:#001935; } .pagelayer-icon-holder[class*="pagelayer-twitch"] .pagelayer-social-fa{ color:#6441a5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-twitch"], .pagelayer-share-content[class*="pagelayer-twitch"]{ background-color:#6441a5; color:#6441a5; } .pagelayer-icon-holder[class*="pagelayer-vimeo"] .pagelayer-social-fa{ color:#1CB7EA; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vimeo"], .pagelayer-share-content[class*="pagelayer-vimeo"]{ background-color:#1CB7EA; color:#1CB7EA; } .pagelayer-icon-holder[class*="pagelayer-vk"] .pagelayer-social-fa{ color:#4C75A3; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-vk"], .pagelayer-share-content[class*="pagelayer-vk"]{ background-color:#4C75A3; color:#4C75A3; } .pagelayer-icon-holder[class*="pagelayer-weibo"] .pagelayer-social-fa{ color:#DF2029; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weibo"], .pagelayer-share-content[class*="pagelayer-weibo"]{ background-color:#DF2029; color:#DF2029; } .pagelayer-icon-holder[class*="pagelayer-weixin"] .pagelayer-social-fa{ color:#7bb32e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-weixin"], .pagelayer-share-content[class*="pagelayer-weixin"]{ background-color:#7bb32e; color:#7bb32e; } .pagelayer-icon-holder[class*="pagelayer-whatsapp"] .pagelayer-social-fa{ color:#25D366; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-whatsapp"], .pagelayer-share-content[class*="pagelayer-whatsapp"]{ background-color:#25D366; color:#25D366; } .pagelayer-icon-holder[class*="pagelayer-wordpress"] .pagelayer-social-fa{ color:#21759b; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-wordpress"], .pagelayer-share-content[class*="pagelayer-wordpress"]{ background-color:#21759b; color:#21759b; } .pagelayer-icon-holder[class*="pagelayer-xing"] .pagelayer-social-fa{ color:#026466; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-xing"], .pagelayer-share-content[class*="pagelayer-xing"]{ background-color:#026466; color:#026466; } .pagelayer-icon-holder[class*="pagelayer-yelp"] .pagelayer-social-fa{ color:#af0606; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-yelp"], .pagelayer-share-content[class*="pagelayer-yelp"]{ background-color:#af0606; color:#af0606; } .pagelayer-icon-holder[class*="pagelayer-youtube"] .pagelayer-social-fa{ color:#ff0000; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-youtube"], .pagelayer-share-content[class*="pagelayer-youtube"]{ background-color:#ff0000; color:#ff0000; } .pagelayer-icon-holder[class*="pagelayer-500px"] .pagelayer-social-fa{ color:#0099e5; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-500px"], .pagelayer-share-content[class*="pagelayer-500px"]{ background-color:#0099e5; color:#0099e5; } .pagelayer-icon-holder[class*="pagelayer-flickr"] .pagelayer-social-fa{ color:#0063dc; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-flickr"], .pagelayer-share-content[class*="pagelayer-flickr"]{ background-color:#0063dc; color:#0063dc; } .pagelayer-icon-holder[class*="pagelayer-github"] .pagelayer-social-fa{ color:#4078c0; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-github"], .pagelayer-share-content[class*="pagelayer-github"]{ background-color:#4078c0; color:#4078c0; } .pagelayer-icon-holder[class*="pagelayer-gitlab"] .pagelayer-social-fa{ color:#fca326; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-gitlab"], .pagelayer-share-content[class*="pagelayer-gitlab"]{ background-color:#fca326; color:#fca326; } .pagelayer-icon-holder[class*="pagelayer-apple"] .pagelayer-social-fa{ color:#999999; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-apple"], .pagelayer-share-content[class*="pagelayer-apple"]{ background-color:#999999; color:#999999; } .pagelayer-icon-holder[class*="pagelayer-jsfiddle"] .pagelayer-social-fa{ color:#0084FF; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-jsfiddle"], .pagelayer-share-content[class*="pagelayer-jsfiddle"]{ background-color:#0084FF; color:#0084FF; } .pagelayer-icon-holder[class*="pagelayer-houzz"] .pagelayer-social-fa{ color:#7ac142; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-houzz"], .pagelayer-share-content[class*="pagelayer-houzz"]{ background-color:#7ac142; color:#7ac142; } .pagelayer-icon-holder[class*="pagelayer-bitbucket"] .pagelayer-social-fa{ color:#205081; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-bitbucket"], .pagelayer-share-content[class*="pagelayer-bitbucket"]{ background-color:#205081; color:#205081; } .pagelayer-icon-holder[class*="pagelayer-codepen"] .pagelayer-social-fa{ color:#0ebeff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-codepen"], .pagelayer-share-content[class*="pagelayer-codepen"]{ background-color:#0ebeff; color:#0ebeff; } .pagelayer-icon-holder[class*="pagelayer-delicious"] .pagelayer-social-fa{ color:#3399ff; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-delicious"], .pagelayer-share-content[class*="pagelayer-delicious"]{ background-color:#3399ff; color:#3399ff; } .pagelayer-icon-holder[class*="pagelayer-medium"] .pagelayer-social-fa{ color:#00ab6c; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-medium"], .pagelayer-share-content[class*="pagelayer-medium"]{ background-color:#00ab6c; color:#00ab6c; } .pagelayer-icon-holder[class*="pagelayer-meetup"] .pagelayer-social-fa{ color:#e0393e; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-meetup"], .pagelayer-share-content[class*="pagelayer-meetup"]{ background-color:#e0393e; color:#e0393e; } .pagelayer-icon-holder[class*="pagelayer-mixcloud"] .pagelayer-social-fa{ color:#52aad8; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-mixcloud"], .pagelayer-share-content[class*="pagelayer-mixcloud"]{ background-color:#52aad8; color:#52aad8; } .pagelayer-icon-holder[class*="pagelayer-dribbble"] .pagelayer-social-fa{ color:#444444; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-dribbble"], .pagelayer-share-content[class*="pagelayer-dribbble"]{ background-color:#444444; color:#444444; } .pagelayer-icon-holder[class*="pagelayer-foursquare"] .pagelayer-social-fa{ color:#f94877; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-icon-holder[class*="pagelayer-foursquare"], .pagelayer-share-content[class*="pagelayer-foursquare"]{ background-color:#f94877; color:#f94877; } .pagelayer-share_grp .pagelayer-social-fa, .pagelayer-share_grp .pagelayer-social-fa:before{ position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%); } .pagelayer-share_grp{ font-size: 0; } .pagelayer-share_grp > div{ display: inline-block; } .pagelayer-share_grp .pagelayer-social-fa{ height:1em; width:1em; } .pagelayer-share_grp .pagelayer-icon-holder{ position: relative; min-height: 1em; min-width: 1em; } .pagelayer-share-content .pagelayer-social-fa, .pagelayer-share-content span{ color: inherit; } .pagelayer-share_grp.pagelayer-social-bg-none .pagelayer-share-content, .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ background-color:unset; } .pagelayer-share_grp.pagelayer-social-outline-border .pagelayer-share-content{ border:2px solid; } .pagelayer-social_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-social-fa, .pagelayer-share_grp[class*="pagelayer-social-shape"] .pagelayer-icon-name span{ color: #ffffff; } .pagelayer-social_grp .pagelayer-icon-holder{ display:inline-block; line-height: 100%; text-align: center; } .pagelayer-share-content, .pagelayer-share-content .pagelayer-icon-name{ display:flex; } .pagelayer-share-content .pagelayer-icon-name{ align-items:center; } .pagelayer-social-shape-circle .pagelayer-share-content{ border-radius:100000px; } .pagelayer-icon-name span{ padding:0 20px 0 5px; } .pagelayer-share-buttons{ position:relative; border-radius: inherit; } .pagelayer-social-shape-boxed .pagelayer-share-buttons:before{ content: ""; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.15); border-top-left-radius: inherit; border-bottom-left-radius: inherit; left: 0; } .pagelayer-share_grp .pagelayer-icon-name span, .pagelayer-share_grp .pagelayer-icon-holder{ display:none; } .pagelayer-share-type-icon .pagelayer-icon-holder, .pagelayer-share-type-icon-label .pagelayer-icon-holder, .pagelayer-share-type-label .pagelayer-icon-name span, .pagelayer-share-type-icon-label .pagelayer-icon-name span{ display:block; } /* Social Profile end */ .pagelayer-list-icon-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .pagelayer-list-icon, .pagelayer-list-item{ -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .pagelayer-list-item{ width:100%; } .pagelayer-list-ul{ margin:0; padding:0; } /* Video */ .pagelayer-video .pagelayer-video-holder{ position:relative; width: 100%; height: auto; overflow: hidden; } .pagelayer-video-iframe{ position:absolute; width:100%; height:100%; top:0; left:0; } .pagelayer-video-aspect-1-1{ padding-top:100%; } .pagelayer-video-aspect-3-2{ padding-top:66.66%; } .pagelayer-video-aspect-4-3{ padding-top: 75%; } .pagelayer-video-aspect-8-5{ padding-top:62.5%; } .pagelayer-video-aspect-16-9{ padding-top: 56.25%; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background-size: cover; background-position: center center; background-repeat: no-repeat; cursor: pointer; } .pagelayer-video .pagelayer-video-holder a{ position:absolute; top:0; left:0; right:0; bottom:0; } .pagelayer-video .pagelayer-video-holder .pagelayer-video-overlay i{ position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } /* Video end */ /** Image **/ .pagelayer-image, .pagelayer-image .pagelayer-image-holder{ position: relative; } .pagelayer-image-link{ text-decoration:none; cursor: pointer; } .pagelayer-image-caption{ margin-bottom: unset; } .pagelayer-image-overlay{ position: absolute; width: 100%; top: 0; height: 100%; left: 0; opacity:0; overflow:auto; transition: .5s ease; } .pagelayer-image:hover .pagelayer-image-overlay{ opacity:1; } .pagelayer-image .pagelayer-image-overlay .pagelayer-image-overlay-content{ width:100%; } .pagelayer-image *{ border-radius:inherit; } /** Image End **/ .pagelayer-button { text-align: center } .pagelayer-button i{ padding: 0 3px; } .pagelayer-audio-container, .pagelayer-audio-container audio{ width:100%; } .pagelayer-testimonial-avatar img{ border: 1px solid #eee; border-radius: 50%; margin-right: 10px; } .pagelayer-alignment-center{ text-align: center; } .pagelayer-alignment-left{ text-align: left; } .pagelayer-alignment-right{ text-align: right; } /* Testimonial */ .pagelayer-testimonial{ padding:0.4em 0.8em; line-height: normal; } .pagelayer-testimonial-image{ -o-object-fit: cover; object-fit: cover; display: unset !important; } .pagelayer-testimonial-square{ border-radius:0px; } .pagelayer-testimonial-circle{ border-radius:50%; } .pagelayer-aside-position{ display:inline-block; vertical-align: middle; } .pagelayer-aside-position .pagelayer-testimonial-cite{ text-align: left; } .pagelayer-top-position, .pagelayer-testimonial-author{ display:block; } .pagelayer-aside-position .pagelayer-testimonial-author{ position: relative; } .pagelayer-testimonial-container .pagelayer-testimonial-avatar, .pagelayer-testimonial-container .pagelayer-testimonial-details{ display: table-cell; vertical-align: middle; } .pagelayer-testimonial-designation{ color: #999; font-size: 12px; } /* Testimonial End */ /* Progress bar */ .pagelayer-progress-goal{ margin-top: 10px; } .pagelayer-progress-container{ background-color:#eeeeee; } .pagelayer-progress-bar{ overflow:hidden; } .pagelayer-progress-percent{ float:right; padding-right:10px; } .pagelayer-progress-text{ float:left; padding-left:10px; } .pagelayer-progress-prefix { float: left; text-align: left; display: inline-block; } .pagelayer-progress-suffix{ text-align: right; } /*Progress bar end*/ /*Stars widget start*/ .pagelayer-stars > *{ vertical-align:middle; } .pagelayer-stars-container{ text-align:center; color: #ccd6df; font-family: "FontAwesome", "Font Awesome 5 Free"; display: inline-block; position: relative; border-color: 1px solid #ccd6df; } .pagelayer-stars-container .pagelayer-stars-icon{ position: relative; display:inline-block; line-height: 1; } .pagelayer-stars-container .pagelayer-stars-icon:before{ content: "\f005"; font-size: inherit; font-family: inherit; overflow: hidden; color: #f0ad4e; position:absolute; font-weight:900; top:0; left:0; } .pagelayer-stars-icon.pagelayer-stars-empty:before{ width:0em; } .pagelayer-stars-icon.pagelayer-stars-1:before{ width:0.1em; } .pagelayer-stars-icon.pagelayer-stars-2:before{ width:0.2em; } .pagelayer-stars-icon.pagelayer-stars-3:before{ width:0.3em; } .pagelayer-stars-icon.pagelayer-stars-4:before{ width:0.4em; } .pagelayer-stars-icon.pagelayer-stars-5:before{ width:0.5em; } .pagelayer-stars-icon.pagelayer-stars-6:before{ width:0.6em; } .pagelayer-stars-icon.pagelayer-stars-7:before{ width:0.7em; } .pagelayer-stars-icon.pagelayer-stars-8:before{ width:0.8em; } .pagelayer-stars-icon.pagelayer-stars-9:before{ width:0.9em; } .pagelayer-stars-icon.pagelayer-stars-full:before{ width:1.1em; } /*Stars widget end*/ /* Site Title Start */ .pagelayer-wp-title-align-top{ display:block; text-align: center; } .pagelayer-wp-title-heading{ padding:5px 20px; font-size: 20px; font-weight: 500; text-decoration-style: solid !important; margin: 0px; transition: all 400ms; flex-grow:1; } .pagelayer-wp-title-img{ box-shadow: none !important; } .pagelayer-wp-title-desc{ padding: 5px 20px; } .pagelayer-wp-title-align-left, .pagelayer-wp-title-align-right{ display: flex; } .pagelayer-wp-title-align-right{ text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; } .pagelayer-wp-title-vertical-top{ align-items: flex-start; -webkit-align-items: flex-start; -webkit-box-align: start; -ms-flex-align: start; } .pagelayer-wp-title-vertical-middle{ align-items: center; -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .pagelayer-wp-title-vertical-bottom{ align-items: flex-end; -webkit-align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end; } .pagelayer-wp-title-section .pagelayer-wp-title-link{ text-decoration: none !important; } /* Site title End */ /*pricing plans*/ .pagelayer-pricing{ text-align:center; border:2px solid #e8e3e3; border-radius:6px; } .pagelayer-pricing-rate-section{ padding:20px; } .pagelayer-pricing-details h1, .pagelayer-pricing-details h2, .pagelayer-pricing-details h3, .pagelayer-pricing-details h4, .pagelayer-pricing-details h5{ margin:10px 0px; padding:0px; } .pagelayer-pricing-details{ position: relative; background-color:#1e1558; border-top-left-radius: inherit; border-top-right-radius: inherit; } .pagelayer-pricing-details .pagelayer-pricing-type{ text-transform: uppercase; } .pagelayer-pricing-sub-title{ font-weight: normal; } .pagelayer-pricing-details .pagelayer-pricing-price{ font-weight:800; } .pagelayer-pricing-price.pagelayer-pricing-original{ display:none; text-decoration: line-through; margin-right: 10px; } h2.pagelayer-pricing-price{ display:inline-block; margin:5px 0px; } .pagelayer-pricing-details{ font-size:15px; } .pagelayer-pricing-duration{ font-size:15px; margin:0px; } .pagelayer-pricing-features{ padding:20px; border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .pagelayer-pricing-features .pagelayer-pricing-ul{ padding:0px; } .pagelayer-pricing-ul li{ display: inline-block; list-style-type: none; padding:5px 0px; } .pagelayer-pricing-ul .pagelayer-list_item:after{ border-bottom:2px solid #c5c5c5; margin-top: 5px; } .pagelayer-list-li span i{ margin-right:5px; } .pagelayer-pricing-btn{ display: inline-block; } .pagelayer-pricing-additional{ margin:20px 0px 0px; } .pagelayer-pricing-ribbon-container{ position: absolute; top: 0; left: auto; right: 0; transform: rotate(90deg); width: 150px; overflow: hidden; height: 150px; } .pagelayer-pricing-ribbon{ display: none; width: 200%; background-color: #ce4210ff; position: absolute; left:0; text-align: center; line-height: 2; letter-spacing: 1px; color: #f0f0f0; margin-top: 40px; transform: translateY(-50%) translateX(-50%) translateX(50px) rotate(-45deg); } .pagelayer-pricing-currency-top{ vertical-align: top; } .pagelayer-pricing-currency-middle{ vertical-align: middle; } .pagelayer-pricing-currency-bottom{ vertical-align: bottom; } /*pricing plans end*/ /* Quote */ .pagelayer-quotation-overlay{ position: absolute; font-size: 70px; top: 0; } .pagelayer-quote-content .fa-quote-right{ display: inline-block; vertical-align: top; } /* Quote end */ .pagelayer-call-icon-section, .pagelayer-call-content-section, .pagelayer-call-button-section{ display: table-cell; vertical-align: middle; } .pagelayer-call-center{ text-align: center; } .pagelayer-call-center .pagelayer-call-icon-section, .pagelayer-call-center .pagelayer-call-content-section, .pagelayer-call-center .pagelayer-call-button-section{ display: block; } .pagelayer-call-3d{ background: #eee; border-bottom: 5px solid #ddd; padding: 30px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-icon-section{ padding-right: 10px; } .pagelayer-call-3d.pagelayer-call-left .pagelayer-call-content-section{ padding-right: 20px } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-icon-section{ margin-bottom: 10px; } .pagelayer-call-3d.pagelayer-call-center .pagelayer-call-content-section{ margin-bottom: 20px; } .pagelayer-call-3d .pagelayer-call-title{ font-size: 26px; font-weight: 700; /* margin-bottom: 5px; */ } .pagelayer-call-3d .pagelayer-call-subtitle{ font-size: 18px; /* margin-bottom: 10px; */ } /* .pagelayer-call-3d .pagelayer-call-text{ color: #777; } */ .pagelayer-call-left .pagelayer-call-button{ display:flex; } .pagelayer-button-mini{ font-size: 13px; padding: 8px 12px; line-height: 13px; min-height: unset; } .pagelayer-button-small{ font-size: 15px; padding: 10px 18px; line-height: 15px; min-height: unset; } .pagelayer-button-middle{ font-size: 17px; padding: 14px 26px; line-height: 17px; min-height: unset; } .pagelayer-button-large{ font-size: 20px; padding: 18px 35px; line-height: 20px; min-height: unset; } .pagelayer-modal-content, .pagelayer-splash-container{ display: none; position: fixed; padding: 50px; top: 0; left: 0; right: 0; height: 100%; overflow: auto; color: #000; opacity: 1; z-index: 99999; box-sizing: border-box; } .pagelayer-modal-bottom-content, .pagelayer-splash-bottom-content{ padding: 50px; background-color: #fefefe; } .pagelayer-modal-body, .pagelayer-splash-body{ position: absolute; margin: auto; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); -webkit-animation-name: animatetop; -webkit-animation-duration: 0.4s; animation-name: animatetop; animation-duration: 0.4s; left: 50%; top: 50%; transform: translate(-50%, -50%); } .pagelayer-modal-content-overflow, .pagelayer-splash-content-overflow{ max-height:500px; overflow:auto; } .pagelayer-splash-bg-close, .pagelayer-modal-bg-close{ position: absolute; top:0; left:0; width:100%; height:100%; } .pagelayer-btn-icon-left .pagelayer-icon-right{ display: none; } .pagelayer-btn-icon-right .pagelayer-icon-left{ display: none; } /* Add Animation */ @-webkit-keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } @keyframes pagelayer-animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } .pagelayer-modal-close, .pagelayer-splash-close{ position: absolute; right: 10px; top: 25px; color: #fff; font-size: 70px !important; cursor: pointer; } .pagelayer-modal-close:before, .pagelayer-modal-close:after, .pagelayer-splash-close:before, .pagelayer-splash-close:after{ position: absolute; top: 2px; right: 38px; content: ' '; width: 2px; background-color: #fff; } .pagelayer-modal-close:before, .pagelayer-splash-close:before{ -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .pagelayer-modal-close:after, .pagelayer-splash-close:after{ -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .pagelayer-modal-title, .pagelayer-splash-title{ background-color: #3D54DF; color: #ffffff; } /* Countdown Start */ .pagelayer-countdown-item{ padding:20px 30px; text-align:center; } .pagelayer-countdown-counter{ display: flex; flex-wrap:wrap; justify-content: center; } .pagelayer-countdown-days, .pagelayer-countdown-hours, .pagelayer-countdown-minutes, .pagelayer-countdown-seconds{ display: inline-block; vertical-align: middle; background: #eee; margin: 0 5px 5px; flex:1; } .pagelayer-countdown-days div, .pagelayer-countdown-hours div, .pagelayer-countdown-minutes div, .pagelayer-countdown-seconds div{ /* display: inline-block; */ line-height: 1; } .pagelayer-countdown-inline .pagelayer-countdown-name{ display:inline-block; } .pagelayer-countdown-inline .pagelayer-countdown-count{ display:inline-block; } .pagelayer-countdown-expired{ display:none; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-expired{ display:block !important; } .pagelayer-countdown[display_expired_text="true"] .pagelayer-countdown-counter{ display:none !important; } /* Countdown End*/ #pagelayer-header-menu{ display: inline-block; } /* splash style */ .pagelayer-splash .pagelayer-splash-dark, .pagelayer-modal .pagelayer-modal-dark{ background-color:#000000e0; } .pagelayer-modal .pagelayer-modal-light, .pagelayer-splash .pagelayer-splash-light{ background-color:#ffffffe0; } .pagelayer-splash-light .pagelayer-splash-close::after, .pagelayer-splash-light .pagelayer-splash-close::before, .pagelayer-modal-light .pagelayer-modal-close::after, .pagelayer-modal-light .pagelayer-modal-close::before{ background-color:#000000; } .pagelayer-splash-dark .pagelayer-splash-close::after, .pagelayer-splash-dark .pagelayer-splash-close::before, .pagelayer-modal-dark .pagelayer-modal-close::after, .pagelayer-modal-dark .pagelayer-modal-close::before{ background-color:#fff; } .pagelayer-splash-content{ padding:30px; } /* splash style end */ .pagelayer-modal-close{ z-index:999; } /* Style the tab */ .pagelayer-tabs-holder { overflow: hidden; } /* Style the buttons inside the tab */ .pagelayer-tabs-holder .pagelayer-tablinks { background-color: inherit; display:inline-block; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; font-size: 17px; color:#000000; } /* Change background color of buttons on hover */ .pagelayer-tabs-holder .pagelayer-tablinks:hover { background-color: #ddd; } /* Create an active/current tablink class */ .pagelayer-tabs-holder .pagelayer-tablinks.active { background-color: #ccc; } /* Style the tab content */ .pagelayer-tabs .pagelayer-tabcontainer .pagelayer-tab{ display: none; padding: 6px 12px; border-top: none; } .pagelayer-tabs-holder .pagelayer-tablinks .fa{ line-height:1.5; } /* Tabs style end */ /* Divider start */ .pagelayer-divider-holder{ line-height: 0; font-size: 0; } .pagelayer-divider-seperator{ display: inline-block; } /* Divider end */ /* Counter style start*/ .pagelayer-counter{ padding: 20px; } .pagelayer-counter-content{ line-height:1; } /* Counter style end*/ /*Image Slider style start*/ .pagelayer-image-slider-ul{ display:none; padding:0; margin:0; list-style: none; } .pagelayer-image-slider-ul[pagelayer-setup]{ display:block; } /*Image Slider style End*/ /*Google Maps start*/ .pagelayer-google-maps-holder{ line-height:0; } .pagelayer-google-maps-holder iframe{ margin:0px; width:100%; height:100%; } /* accordion style */ .pagelayer-accordion_item{ overflow:hidden; } .pagelayer-accordion-tabs { cursor: pointer; padding: 15px; width: 100%; text-align: left; display:inline-block; text-decoration:none !important; } .pagelayer-accordion-panel { padding: 0 18px; display: none; overflow: hidden; } /* accordion style end */ /* Alert Box style start */ .pagelayer-alert{ position: relative; border: 1px solid transparent; border-radius:5px; padding:15px 20px; } .pagelayer-alert-title{ display:inline-block; } .pagelayer-alert-icon, .pagelayer-alert-title{ vertical-align: middle; } .pagelayer-alert-primary{ color: #004085; background-color: #cce5ff; border-color: #b8daff; } .pagelayer-alert-secondary{ color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; } .pagelayer-alert-success{ color: #155724; background-color: #d4edda; border-color: #c3e6cb; } .pagelayer-alert-info{ color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; } .pagelayer-alert-warning{ color: #856404; background-color: #fff3cd; border-color: #ffeeba; } .pagelayer-alert-danger{ color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .pagelayer-alert-dark{ color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; } .pagelayer-alert-primary-link { color: #002752; } .pagelayer-alert-secondary-link{ color: #202326; } .pagelayer-alert-success-link{ color: #0b2e13; } .pagelayer-alert-danger-link{ color: #491217; } .pagelayer-alert-warning-link{ color: #533f03; } .pagelayer-alert-info-link{ color: #062c33; } .pagelayer-alert-secondary-link{ color: #686868; } .pagelayer-alert-secondary-link{ color: #040505; } .pagelayer-alert-success hr{ background-color: #b1dfbb; } .pagelayer-alert-primary hr{ background-color: #9fcdff; } .pagelayer-alert-secondary hr{ background-color: #c8cbcf; } .pagelayer-alert-info hr{ background-color: #abdde5; } .pagelayer-alert-warning hr{ background-color: #ffe8a1; } .pagelayer-alert-danger hr{ background-color: #f1b0b7; } .pagelayer-alert-dark hr{ background-color: #b9bbbe; } .pagelayer-alert-close { position: absolute; top: 0; right: 0; color: inherit; height: 100%; width:15px; background:rgba(3,3,3,0.1); cursor:pointer; } .pagelayer-alert-close:before, .pagelayer-alert-close:after { position: absolute; left: 7px; content: ' '; height: 13px; width: 1px; background-color: #333; top: calc(50% - 6.5px); } .pagelayer-alert-close:before { transform: rotate(45deg); } .pagelayer-alert-close:after { transform: rotate(-45deg); } /* Alert Box Style Ends */ /* Grid Gallery Style Start */ .pagelayer-grid-gallery-ul{ display:block; list-style:none; padding:0; margin:0; } .pagelayer-gallery-item{ list-style:none; border: none; } .pagelayer-gallery-item img{ height: 100%; width: 100%; object-fit: cover; } .pagelayer-grid-gallery-caption{ display:block; } .pagelayer-grid-gallery-pagination{ text-align:center; } .pagelayer-grid-page-ul{ display: inline-block; list-style-type: none; margin-top:10px; } .pagelayer-grid-page-ul li.active { background-color:#00A0D2; color:white; } .pagelayer-grid-page-item{ color: black; float: left; padding: 8px 16px; text-decoration: none; } .pagelayer-grid-page-ul li:hover:not(.active){ background-color: #ddd; cursor:pointer; } /* Grid Gallery Style Ends */ .pagelayer-heading-holder *, .pagelayer-text-holder *{ padding: 0; margin: 0; overflow-wrap: break-word; } /* animation */ .animated.pagelayer-anim-fast{ -webkit-animation-duration: 0.7s; animation-duration: 0.7s; } .animated.pagelayer-anim-fastest{ -webkit-animation-duration: 0.5s; animation-duration: 0.5s; } .animated.pagelayer-anim-slow{ -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } .animated.pagelayer-anim-slowest{ -webkit-animation-duration: 2s; animation-duration: 2s; } /* animation end */ .pagelayer-parallax-window{ position: absolute; width: 100%; height: 100%; overflow: hidden; top: 0; left: 0; } .pagelayer-parallax-window .simpleParallax{ height:100%; } .pagelayer-parallax-window img{ max-width:unset; } /* WooCommerce widget */ .pagelayer-product-images-container{ display:flow-root; } .pagelayer-add-to-cart-holder, .pagelayer-product-rating{ display:inline-block; } .pagelayer-product-related-container:not([pagelayer-heading-show]) .products > h2, .pagelayer-product-related-container:not([pagelayer-sale-flash]) ul.products li.product span.onsale, .pagelayer-addi-info-container:not([pagelayer-show-heading]) h2 { display:none; } .pagelayer-product-related-container[pagelayer-content-align="right"] ul.products li.product .star-rating{ margin-left: auto; } .pagelayer-product-related-container[pagelayer-content-align="center"] ul.products li.product .star-rating{ margin-left: auto; margin-right: auto; } /*******************/ /* Pagelayer Owl */ .pagelayer-owl-stage-outer [class^="pagelayer-owl-"], .pagelayer-owl-carousel .pagelayer-owl-item > .pagelayer-ele-wrap, .pagelayer-owl-stage-outer{ height: 100%; } .pagelayer-owl-carousel .pagelayer-owl-item{ height: auto; } .pagelayer-owl-prev, .pagelayer-owl-next{ position: absolute; top: 50%; transform: translateY(-50%); } .pagelayer-owl-prev{ left: 0; } .pagelayer-owl-next{ right: 0; } .pagelayer-owl-theme .pagelayer-owl-nav{ margin-top: 0 !important; } .pagelayer-owl-nav span{ position:absolute; transform:translate(-50%, -53%); } .pagelayer-owl-dot{ vertical-align: middle; } /* Pagelayer Owl End */ /* Space Widget */ .pagelayer-space-holder{ height: 10px; } /* Space Widget End */ /* Address and Number */ .pagelayer-phone-holder, .pagelayer-address-holder, .pagelayer-email-holder{ display:flex; } .pagelayer-address-icon, .pagelayer-address, .pagelayer-phone-icon, .pagelayer-phone, .pagelayer-email-icon, .pagelayer-email{ margin-top:auto; margin-bottom:auto; word-break:break-word; } /* Address and Number End */ /****************/ /*** Freemium ***/ /****************/ /*** Breadcrumb ***/ .pagelayer-breadcrumb-section b{ font-weight: 100; } /* Breadcrumb End */ /*** Archive Posts ***/ .pagelayer-posts-container{ display: grid; grid-template-columns: repeat(3,1fr); grid-column-gap: 20px; grid-row-gap: 40px; } .pagelayer-wposts-meta *{ font-size: 12px; } .pagelayer-pagination{ padding: 50px 20px; text-align: center; } .pagelayer-pagination .page-numbers:not(:last-child){ margin-right: 25px; } .pagelayer-pagination a.page-numbers:hover{ color: #36b2d1; } .pagelayer-wposts-thumb{ display:inline-block; position:relative; background-size:cover !important; background-position:center !important; width:100%; } @media all and (max-width:599px){ .pagelayer-posts-container{ grid-template-columns: repeat(1,1fr); } } /*** Archive Posts End ***/ /* WordPress Posts */ .pagelayer-wposts-title{ line-height:1; } .pagelayer-wposts-sep{ font-weight:100; } .pagelayer-wposts-sep:last-child{ display:none; } .pagelayer-wposts-category a:not(:last-child):after, .pagelayer-wposts-tags a:not(:last-child):after{ content:', '; } /* WordPress Posts End*/ /* Copyright start */ .pagelayer-copyright{ text-align: center; color: #111; } .pagelayer-copyright a{ color: #111; } /* Copyright end */ /* Primary Menu */ .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item>a{ display:flex; box-shadow: none; white-space: nowrap; position:relative; } .pagelayer-menu-type-horizontal .sub-menu{ z-index:999; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul, .pagelayer-wp-menu-container .sub-menu{ margin:0px; padding: 0px; } .pagelayer-menu-type-horizontal *{ transition: all 0.5s; } .pagelayer-menu-type-horizontal li.menu-item{ display: inline-block; font-weight: 600; } .pagelayer-menu-type-horizontal li.menu-item>a{ box-shadow: none; border: none; } .pagelayer-menu-type-horizontal .sub-menu{ position:absolute; min-width: 100%; } .pagelayer-menu-type-horizontal .sub-menu .sub-menu{ top:0px; } .pagelayer-wp-menu-container .pagelayer-wp_menu-ul li.menu-item{ position:relative; } .pagelayer-wp-menu-container ul li.menu-item span.after-icon{ height: auto; width: 100%; position: relative; pointer-events: auto; line-height:inherit; color: inherit; font-size: inherit; margin-left:10px; padding-left:5px; padding-right:5px; } .pagelayer-wp-menu-container:not([data-align="left"]) .pagelayer-wp_menu-ul span.after-icon{ width:auto; } .pagelayer-wp-menu-container[data-align="right"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: flex-end;} .pagelayer-wp-menu-container[data-align="left"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: left;} .pagelayer-wp-menu-container[data-align="center"] .pagelayer-wp_menu-ul ul li > ul a{justify-content: center;} .pagelayer-wp-menu-container ul li.menu-item span.after-icon:before{ position:absolute; right:0; } .pagelayer-wp-menu-container .sub-menu, .pagelayer-primary-menu-bar{ display:none; } .pagelayer-menu-type-horizontal .sub-menu li.menu-item{ display:block; } .pagelayer-primary-menu-bar i{ padding:5px; } .pagelayer-menu-type-vertical li.menu-item{ list-style: none; } .pagelayer-menu-type-vertical li.menu-item:not(:last-child) > a{ margin-bottom: 6px !important; box-shadow: none; border: none; } .pagelayer-menu-type-vertical .pagelayer-wp_menu-ul>li>ul.sub-menu{ margin-left:0px; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-primary-menu-bar, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-primary-menu-bar{ display:block; } .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-wp_menu-ul, .pagelayer-wp-menu-holder.pagelayer-wp-menu-dropdown .pagelayer-wp_menu-ul{ display:none; } .pagelayer-menu-hover-underline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline:not(.none) .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline:not(.none) .pagelayer-wp_menu-ul>li>a:before{ position: absolute; content: ''; left: 0px; bottom: 0px; height: 3px; width: 0px; background-color: #2154CF; transition: all 500ms ease; -moz-transition: all 500ms ease; -webkit-transition: all 500ms ease; -ms-transition: all 500ms ease; -o-transition: all 500ms ease; border-width:0px; } .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:after{ left:unset; right:0; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:before{ background-color:unset !important; height:100% !important; } .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before{ border:3px solid #2154CF; } .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:before{ top:0; bottom:unset; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:-5px; } .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:before{ width:100%; opacity:0; bottom:5px; } .pagelayer-menu-hover-underline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropin .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropin .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-underline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline.dropout .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline.dropout .pagelayer-wp_menu-ul>li>a:hover:before{ bottom:0px; } .pagelayer-menu-hover-underline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.grow .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.grow .pagelayer-wp_menu-ul>li>a:before{ width:100%; transform:scale(0); } .pagelayer-menu-hover-underline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-framed.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:before, .pagelayer-menu-hover-doubleline.fade .pagelayer-wp_menu-ul>li>a:after, .pagelayer-menu-hover-overline.fade .pagelayer-wp_menu-ul>li>a:before{ width:100%; transition-duration:1000ms; opacity:0; } .pagelayer-menu-hover-underline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-framed .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:before, .pagelayer-menu-hover-doubleline .pagelayer-wp_menu-ul>li>a:hover:after, .pagelayer-menu-hover-overline .pagelayer-wp_menu-ul>li>a:hover:before{ transform:scale(1); opacity:1; width:100%; } .pagelayer-menu-hover-text .pagelayer-wp_menu-ul>li>a:hover{ transform:scale(1.2); } .pagelayer-wp_menu .sub-menu, .pagelayer-menu-type-dropdown{ z-index:999; } .pagelayer-menu-type-dropdown{ position:absolute; } .pagelayer-togglt-on .pagelayer-wp_menu-ul, .pagelayer-active-sub-menu:not(.pagelayer-mega-menu-item) > ul.sub-menu, .pagelayer-menu-type-horizontal .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu, .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .menu-item-has-children:not(.pagelayer-mega-menu-item):hover > ul.sub-menu{ display:block !important; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ position: fixed; z-index: 999; height: 100%; top: 0; transition: all 0.4s; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right{ right: -100%; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left{ left:-100%; } .pagelayer-wp_menu-left.pagelayer-togglt-on{ left:0; } .pagelayer-wp_menu-right.pagelayer-togglt-on{ right:0; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full{ left:0; right:0; top:-100%; } .pagelayer-wp_menu-full.pagelayer-togglt-on{ top:0; } .pagelayer-wp_menu-close{ cursor:pointer; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-close{ display:block; } .pagelayer-wp_menu-close, .pagelayer-wp_menu-down .pagelayer-wp_menu-close{ display:none; } .pagelayer-wp_menu-close i{ position:absolute; z-index:99; } .pagelayer-menu-type-dropdown.pagelayer-wp_menu-right .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-left .pagelayer-wp_menu-ul, .pagelayer-menu-type-dropdown.pagelayer-wp_menu-full .pagelayer-wp_menu-ul{ position:absolute; width:100%; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul li.menu-item > a{ white-space:normal !important; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul{ height:100%; max-height: -webkit-fill-available; overflow-y: scroll; -webkit-overflow-scrolling: touch; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar { width:4px; height:4px; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-track { background-color: transparent; } .pagelayer-menu-type-dropdown .pagelayer-wp_menu-ul::-webkit-scrollbar-thumb { box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius:10px; } /* Mega menu css start */ .pagelayer-wp_menu-ul .pagelayer-mega-menu{ transition: none; position: absolute; max-width: 100vw; z-index: 999; padding: 10px; background: #fff; color: #000; display: none; border-radius: 2px; left: 0; text-align: initial; overflow-y: auto; } .pagelayer-wp_menu .pagelayer-menu-type-vertical .pagelayer-mega-menu-item, .pagelayer-wp-menu-container:not(.pagelayer-menu-type-horizontal) .menu-item > .pagelayer-mega-menu{ position: relative; width: 100%; } .pagelayer-wp_menu-ul .pagelayer-mega-menu *{ transition: none; } /* To avoid row widget full width feature */ .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-wrap-inner-row, .pagelayer-wp_menu-ul .pagelayer-mega-menu .pagelayer-inner_row{ max-width: 100% !important; left: auto !important; } .pagelayer-wp_menu-ul .pagelayer-set-position{ display: block !important; visibility: hidden !important; opacity: 0 !important; } .pagelayer-active-sub-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, .pagelayer-active-mega-menu.pagelayer-mega-menu-item > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-horizontal .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu, :not(.pagelayer-ele-wrap) > .pagelayer-wp_menu .pagelayer-menu-type-vertical[class*='pagelayer-submenu-position-'] .pagelayer-mega-menu-item:hover > .pagelayer-mega-menu{ display: block !important; } @keyframes pagelayer-submenu-fade{0%{opacity:0}75%{opacity:1}} @keyframes pagelayer-submenu-pulse{50%{transform: scale3d(1.04, 1.04, 1.04);}100%{transform: scale3d(1, 1, 1);}} @keyframes pagelayer-submenu-fadeindown{0%{opacity: 0; transform: translate3d(0, -10px, 0); }100%{ opacity: 1; transform: none; }} @keyframes pagelayer-submenu-fadeinup{0%{opacity: 0;transform: translate3d(0, 20px, 0);}100%{opacity: 1;transform: none;}} @keyframes pagelayer-submenu-slideindown{0%{transform: translate3d(0, -10px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-slideinup{0%{transform: translate3d(0, 20px, 0);visibility: visible;}100%{transform: translate3d(0, 0, 0);}} @keyframes pagelayer-submenu-zoomin{0%{opacity: 0;transform: scale3d(.5, .5, .5);}50%{opacity: 1;}} @keyframes pagelayer-submenu-flip{ 0%{ transform: perspective(400px) rotate3d(1, 0, 0,90deg); animation-timing-function: ease-in; opacity: 0; }40%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); animation-timing-function: ease-in; }60%{ transform: perspective(400px) rotate3d(1, 0, 0, 5deg); opacity: 1; }80%{ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }100% { transform: perspective(400px); } } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-right .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-right .sub-menu{ position: absolute; left: 100%; top: 0; right: auto; } .pagelayer-wp-menu-container.pagelayer-menu-type-vertical.pagelayer-submenu-position-left .pagelayer-mega-menu, .pagelayer-menu-type-vertical.pagelayer-submenu-position-left .sub-menu{ position: absolute; right: 100%; top: 0; left: auto; } .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .pagelayer-mega-menu, .pagelayer-menu-type-vertical:not(.pagelayer-submenu-position-right, .pagelayer-submenu-position-left) .sub-menu{ width:100% !important; } .pagelayer-menu-icon{ align-self: center; text-align: center; margin: 0 5px 0 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon{ margin: 0 0 0 5px; order:1; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ .pagelayer-nav-menu-title{ order: 0; } .pagelayer-nav-menu-icon-right .pagelayer-menu-icon ~ :not(.pagelayer-nav-menu-title, .pagelayer-menu-icon){ order: 2; } .pagelayer-menu-highlight{ font-size: 0.7em; margin-left: 5px; padding: 3px 6px; border-radius: 2px; } /* Mega menu css ends */ /* Column Menu css*/ .pagelayer-mega-column-item > .sub-menu{ columns: 2; } .pagelayer-mega-column-item .sub-menu .sub-menu .pagelayer-nav-menu-title{ font-size: 0.85em; } .pagelayer-mega-column-item .sub-menu .sub-menu{ display: block; position: static; } .pagelayer-mega-column-item .sub-menu li.menu-item{ break-inside: avoid; } .pagelayer-mega-column-item ul.sub-menu span.after-icon{ display: none; } /* Primary Menu End */ /* Contact Form start */ .pagelayer-contact-form-note{ margin-bottom:10px; } .pagelayer-contact_item input, .pagelayer-contact_item textarea, .pagelayer-contact_item select{ width:100%; outline:none; } .pagelayer-contact_item textarea{ height:auto; } .pagelayer-contact-holder input[type="checkbox"] { visibility: hidden; display: contents; } .pagelayer-contact-holder label { cursor: pointer; display: block; } .pagelayer-contact-holder input[type="checkbox"] + label:before { border: 1px solid #333; content: "\00a0"; display: inline-block; font: 16px/1em sans-serif; margin-right: 0.25em; padding: 0; vertical-align: middle; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:before { content: "\2713"; text-align: center; } .pagelayer-contact-holder input[type="checkbox"]:checked + label:after { font-weight: bold; } .pagelayer-contact-holder input[type="checkbox"]:focus + label::before { outline: rgb(59, 153, 252) auto 5px; } .pagelayer-contact-holder input[type='radio'] { -webkit-appearance:none; border-radius:50%; outline:none; vertical-align: middle; box-shadow:0 0 5px 0px gray inset; padding: 0 !important; } .pagelayer-contact-holder input[type="radio"]:checked:before { background: #333333; } .pagelayer-contact-holder input[type='radio']:hover { box-shadow:0 0 5px 0px orange inset; } .pagelayer-contact-holder input[type='radio']:before { content:''; display:block; width:60%; height:60%; margin: 20% auto; border-radius:50%; } .pagelayer-contact-submit-btn{ cursor:pointer; } .pagelayer-cf-msg-suc,.pagelayer-cf-msg-err{ padding: 10px; padding: 10px; margin: 10px 0px; background: #a4f4ad; border: 1px solid #6fc16f; border-radius: 4px; } .pagelayer-cf-msg-err{ background: #f9dacb; border: 1px solid #ff746e; } /* Contact Form End */ /*** Post Excerpt ***/ .pagelayer-empty-widget{ height:30px; width:100%; background-color: #dedddd; text-align:center; } .pagelayer-empty-widget:after { font-family: "FontAwesome" , "Font Awesome 5 Free"; font-weight: 900; } .pagelayer-post-excerpt.pagelayer-empty-widget:after{ content: '\f15c'; } .pagelayer-featured-img.pagelayer-empty-widget:after{ content: '\f03e'; } /*** Post Excerpt End ***/ /* Post info*/ .pagelayer-post-info-vertical > div{ display:inline-block; } /* Post info end*/ /* Post Nav */ .pagelayer-post-nav-container{ display: flex; align-items: center; } .pagelayer-prev-post a, .pagelayer-next-post a{ display: inline-flex; align-items: center; } .pagelayer-next-post a .pagelayer-post-nav-icon{ padding-left:12px; } .pagelayer-prev-post a .pagelayer-post-nav-icon{ padding-right:12px; } .pagelayer-next-post{ text-align:right; } .pagelayer-prev-post a:hover, .pagelayer-next-post a:hover{ text-decoration:none; } .pagelayer-prev-post, .pagelayer-next-post{ width: calc(50% - 1px); } .pagelayer-post-nav-container .pagelayer-prev-holder, .pagelayer-post-nav-container .pagelayer-next-holder{ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .pagelayer-post-nav-separator{ align-self: stretch; } /* Post Nav end */ /*Flipbox css start*/ .pagelayer-flipbox-container{ margin:0 auto; } .pagelayer-flipbox-flipper{ position: relative; height: 300px; perspective: 1000px; -webkit-perspective: 1000px; transform-style: preserve-3d; -webkit-transform-style: preserve-3d; } .pagelayer-flipbox-front{ background-color: #bc1a1a; border-radius: inherit; } .pagelayer-flipbox-back{ background-color: #f9e73f; display: block; border-radius: inherit; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front, .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0; } .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity:1; } .pagelayer-flipbox-box{ position: absolute; width: 100%; height: 100%; transition: all .8s ease-in-out; -webkit-transition: all .8s ease-in-out; } .pagelayer-flipbox-box-overlay{ display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; width: 100%; height: 100%; align-items: stretch; -webkit-align-items: stretch; -webkit-box-align: stretch; flex-direction: column; -webkit-flex-direction: column; -webkit-box-direction: normal; text-align: center; justify-content: center; -webkit-justify-content: center; padding: 35px; -webkit-box-orient: vertical; -webkit-box-pack: center; } .pagelayer-flipbox-3d .pagelayer-flipbox-box-inner{ transform: translateZ(90px) scale(.91); -webkit-transform: translateZ(90px) scale(.91); } .pagelayer-flipbox-3d .pagelayer-flipbox-box-overlay{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform: translateZ(.1px); -webkit-transform: translateZ(.1px); } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; perspective: 1000px; -webkit-perspective: 1000px; } .pagelayer-flipbox-flip .pagelayer-flipbox-box{ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; backface-visibility: hidden; -webkit-backface-visibility: hidden; } .pagelayer-flipbox-flip .pagelayer-flipbox-front{ -webkit-transform: none; -ms-transform: none; transform: none; z-index: 1 } .pagelayer-flipbox-flip .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(180deg); -webkit-transform: rotateX(0) rotateY(180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(0) rotateY(-180deg); -webkit-transform: rotateX(0) rotateY(-180deg); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-flip.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(180deg) rotateY(0); -webkit-transform: rotateX(180deg) rotateY(0); } .pagelayer-flipbox-flip.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: rotateX(-180deg) rotateY(0); -webkit-transform: rotateX(-180deg) rotateY(0); } .pagelayer-flipbox-push .pagelayer-flipbox-flipper, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper{ overflow:hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-front{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform:translateX(100%) translateY(0); -webkit-transform:translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push .pagelayer-flipbox, .pagelayer-flipbox-slide .pagelayer-flipbox{ overflow: hidden; } .pagelayer-flipbox-push .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back, .pagelayer-flipbox-slide .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; } .pagelayer-flipbox-push.pagelayer-flipbox-direction-right .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-right .pagelayer-flipbox-back{ transform: translateX(-100%) translateY(0); -webkit-transform: translateX(-100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-left .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-left .pagelayer-flipbox-back{ transform: translateX(100%) translateY(0); -webkit-transform: translateX(100%) translateY(0); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-up .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-up .pagelayer-flipbox-back{ transform: translateX(0) translateY(100%); -webkit-transform: translateX(0) translateY(100%); } .pagelayer-flipbox-push.pagelayer-flipbox-direction-down .pagelayer-flipbox-back, .pagelayer-flipbox-slide.pagelayer-flipbox-direction-down .pagelayer-flipbox-back{ transform: translateX(0) translateY(-100%); -webkit-transform: translateX(0) translateY(-100%); } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper .pagelayer-flipbox-front{ transition: opacity .45s, width .1ms, -webkit-transform .8s; -webkit-transition: opacity .45s, width .1ms, -webkit-transform .8s; transition: transform .8s, opacity .45s, width .1ms; transition: transform .8s, opacity .45s, width .1ms, -webkit-transform .8s; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); z-index: 1; width: 100% } .pagelayer-flipbox-zoom-out .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-front{ width: 0; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; -webkit-transition: opacity .8s .1s, width .1ms .8s, -webkit-transform .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s; transition: transform .8s, opacity .8s .1s, width .1ms .8s, -webkit-transform .8s } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ -webkit-transition: opacity .5s .2s, -webkit-transform .7s; transition: opacity .5s .2s, -webkit-transform .7s; transition: transform .7s, opacity .5s .2s; transition: transform .7s, opacity .5s .2s, -webkit-transform .7s; opacity: 0; transform: scale(.7); -webkit-transform: scale(.7); } .pagelayer-flipbox-zoom-in .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ -webkit-transition: opacity .5s, -webkit-transform .7s; transition: opacity .5s, -webkit-transform .7s; transition: transform .7s, opacity .5s; transition: transform .7s, opacity .5s, -webkit-transform .7s; opacity: 1; transform: scale(1); -webkit-transform: scale(1); } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper .pagelayer-flipbox-back{ opacity: 0 } .pagelayer-flipbox-fade .pagelayer-flipbox-flipper:hover .pagelayer-flipbox-back{ opacity: 1 } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-front{ display: none } .pagelayer-flipbox-container.pagelayer-flipbox-flipped .pagelayer-flipbox-main .pagelayer-flipbox-back{ transform: none; -webkit-transform: none; opacity: 1; } .pagelayer-flipbox-image{ width: 100%; margin: 0 auto; object-fit: cover; } .pagelayer-flipbox-image img{ width: 50%; object-fit: cover; -o-object-fit: cover; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-front{ display:none; } .pagelayer-flipbox[back_section="true"] .pagelayer-flipbox-back{ transform: rotateX(0) rotateY(0deg) !important; -webkit-transform: rotateX(0) rotateY(0deg) !important; opacity: 1 !important; } .pagelayer-flipbox-back .pagelayer-service-btn.pagelayer-btn-link{ background-color:transparent; } /*Flipbox End*/ /* Animated Heading */ .pagelayer-aheading-holder { display: inline-block; position:relative; } .pagelayer-animated-heading{ margin: 0; padding: 0; line-height: 1.4; -webkit-background-clip: text; } [class*="pagelayer-blobs"]{ display:block; position:absolute; mix-blend-mode:color; animation:pagelayer-blobs 10s ease-in-out infinite alternate; } .pagelayer-blobs_1{ width: 9%; height: 47%; top: 12%; left: 4%; } .pagelayer-blobs_2{ width: 10%; height: 50%; top: 60%; left: 34%; } .pagelayer-blobs_3{ width: 20%; height: 46%; top: 10%; left: 20%; } .pagelayer-blobs_4{ width: 30%; height: 40%; top: 30%; left: 70%; } .pagelayer-blobs_5{ width: 12%; height: 40%; top: 61%; left: 12%; } .pagelayer-blobs_6{ width: 25%; height: 45%; top: 5%; left: 45%; } .pagelayer-blobs_7{ width: 32%; height: 45%; top: 67%; left: 46%; } .pagelayer-hEffect-none [class*="pagelayer-blobs"]{ display: none; } @keyframes pagelayer-blobs{ 0%{border-radius:26% 74% 61% 39% / 54% 67% 33% 46%} 10%{border-radius:74% 26% 47% 53% / 68% 46% 54% 32%} 20%{border-radius:48% 52% 30% 70% / 27% 37% 63% 73%} 30%{border-radius:73% 27% 57% 43% / 28% 67% 33% 72%} 40%{border-radius:63% 37% 56% 44% / 25% 28% 72% 75%} 50%{border-radius:39% 61% 70% 30% / 61% 29% 71% 39%} 60%{border-radius:27% 73% 29% 71% / 73% 51% 49% 27%} 70%{border-radius:39% 61% 65% 35% / 74% 65% 35% 26%} 80%{border-radius:55% 45% 37% 63% / 38% 30% 70% 62%} 90%{border-radius:25% 75% 70% 30% / 39% 50% 50% 61%} 100%{border-radius:66% 34% 33% 67% / 65% 73% 27% 35%} } .pagelayer-hEffect-blobs, .pagelayer-hEffect-none, .pagelayer-heading-rotating{ -webkit-text-fill-color: transparent; } .pagelayer-heading-rotating .pagelayer-animated-heading{ display: inline; } .pagelayer-words-wrapper { display: inline-block; position: relative; text-align: left; } .pagelayer-words-wrapper span { display: inline-block; position: absolute; white-space: nowrap; left: 0; top: 0; } .pagelayer-words-wrapper span.pagelayer-is-visible { position: relative; } /*** xrotate-1 ***/ .pagelayer-aheading-rotate1 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate1 span { opacity: 0; -webkit-transform-origin: 50% 100%; -moz-transform-origin: 50% 100%; -ms-transform-origin: 50% 100%; -o-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); } .pagelayer-aheading-rotate1 span.pagelayer-is-visible { opacity: 1; -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); -webkit-animation: pagelayer-rotate-1-in 1.2s; -moz-animation: pagelayer-rotate-1-in 1.2s; animation: pagelayer-rotate-1-in 1.2s; } .pagelayer-aheading-rotate1 span.pagelayer-is-hidden { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); -webkit-animation: pagelayer-rotate-1-out 1.2s; -moz-animation: pagelayer-rotate-1-out 1.2s; animation: pagelayer-rotate-1-out 1.2s; } @-webkit-keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); opacity: 1; } } @-moz-keyframes pagelayer-rotate-1-in { 0% { -moz-transform: rotateX(180deg); opacity: 0; } 35% { -moz-transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(360deg); opacity: 1; } } @keyframes pagelayer-rotate-1-in { 0% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } 35% { -webkit-transform: rotateX(120deg); -moz-transform: rotateX(120deg); -ms-transform: rotateX(120deg); -o-transform: rotateX(120deg); transform: rotateX(120deg); opacity: 0; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(360deg); -moz-transform: rotateX(360deg); -ms-transform: rotateX(360deg); -o-transform: rotateX(360deg); transform: rotateX(360deg); opacity: 1; } } @-webkit-keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); opacity: 0; } } @-moz-keyframes pagelayer-rotate-1-out { 0% { -moz-transform: rotateX(0deg); opacity: 1; } 35% { -moz-transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -moz-transform: rotateX(180deg); opacity: 0; } } @keyframes pagelayer-rotate-1-out { 0% { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 1; } 35% { -webkit-transform: rotateX(-40deg); -moz-transform: rotateX(-40deg); -ms-transform: rotateX(-40deg); -o-transform: rotateX(-40deg); transform: rotateX(-40deg); opacity: 1; } 65% { opacity: 0; } 100% { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); -o-transform: rotateX(180deg); transform: rotateX(180deg); opacity: 0; } } /*** xrotate-2 ***/ .pagelayer-aheading-rotate2 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate2 strong, .pagelayer-aheading-rotate2 b { display: inline-block; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-aheading-rotate2 span { opacity: 0; } .pagelayer-aheading-rotate2 strong { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); opacity: 0; } .pagelayer-is-visible .pagelayer-aheading-rotate2 strong { opacity: 1; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-2-in 0.4s forwards; -moz-animation: pagelayer-rotate-2-in 0.4s forwards; animation: pagelayer-rotate-2-in 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-2-out 0.4s forwards; -moz-animation: pagelayer-rotate-2-out 0.4s forwards; animation: pagelayer-rotate-2-out 0.4s forwards; -webkit-background-clip: text; } .pagelayer-aheading-rotate2 b { -webkit-transform: translateZ(20px); -moz-transform: translateZ(20px); -ms-transform: translateZ(20px); -o-transform: translateZ(20px); transform: translateZ(20px); -webkit-text-fill-color: transparent; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong { -webkit-transform: rotateX(0deg); -moz-transform: rotateX(0deg); -ms-transform: rotateX(0deg); -o-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 strong b { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } .pagelayer-no-csstransitions .pagelayer-aheading-rotate2 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); } } @-moz-keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0deg); } } @keyframes pagelayer-rotate-2-in { 0% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(90deg); -moz-transform: translateZ(-20px) rotateX(90deg); -ms-transform: translateZ(-20px) rotateX(90deg); -o-transform: translateZ(-20px) rotateX(90deg); transform: translateZ(-20px) rotateX(90deg); } 60% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(-10deg); -moz-transform: translateZ(-20px) rotateX(-10deg); -ms-transform: translateZ(-20px) rotateX(-10deg); -o-transform: translateZ(-20px) rotateX(-10deg); transform: translateZ(-20px) rotateX(-10deg); } 100% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0deg); -moz-transform: translateZ(-20px) rotateX(0deg); -ms-transform: translateZ(-20px) rotateX(0deg); -o-transform: translateZ(-20px) rotateX(0deg); transform: translateZ(-20px) rotateX(0deg); } } @-webkit-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); } } @-moz-keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -moz-transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -moz-transform: translateZ(-20px) rotateX(-90deg); } } @keyframes pagelayer-rotate-2-out { 0% { opacity: 1; -webkit-transform: translateZ(-20px) rotateX(0); -moz-transform: translateZ(-20px) rotateX(0); -ms-transform: translateZ(-20px) rotateX(0); -o-transform: translateZ(-20px) rotateX(0); transform: translateZ(-20px) rotateX(0); } 60% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-100deg); -moz-transform: translateZ(-20px) rotateX(-100deg); -ms-transform: translateZ(-20px) rotateX(-100deg); -o-transform: translateZ(-20px) rotateX(-100deg); transform: translateZ(-20px) rotateX(-100deg); } 100% { opacity: 0; -webkit-transform: translateZ(-20px) rotateX(-90deg); -moz-transform: translateZ(-20px) rotateX(-90deg); -ms-transform: translateZ(-20px) rotateX(-90deg); -o-transform: translateZ(-20px) rotateX(-90deg); transform: translateZ(-20px) rotateX(-90deg); } } /*** xloading-bar ***/ .pagelayer-aheading-loading-bar .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper:after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: #0096a7; z-index: 2; -webkit-transition: width 0.3s -0.1s; -moz-transition: width 0.3s -0.1s; transition: width 0.3s -0.1s; } .pagelayer-aheading-loading-bar .pagelayer-words-wrapper.pagelayer-is-loading:after { width: 100%; -webkit-transition: width 3s; -moz-transition: width 3s; transition: width 3s; } .pagelayer-aheading-loading-bar span{ top: .2em; opacity: 0; -webkit-transition: opacity 0.3s; -moz-transition: opacity 0.3s; transition: opacity 0.3s; } .pagelayer-aheading-loading-bar span.pagelayer-is-visible { opacity: 1; top: 0; } /*** xslide ***/ .pagelayer-aheading-slide .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-slide span { opacity: 0; top: .2em; } .pagelayer-aheading-slide span.pagelayer-is-visible { top: 0; opacity: 1; -webkit-animation: pagelayer-slide-in 0.6s; -moz-animation: pagelayer-slide-in 0.6s; animation: pagelayer-slide-in 0.6s; } .pagelayer-aheading-slide span.pagelayer-is-hidden { -webkit-animation: pagelayer-slide-out 0.6s; -moz-animation: pagelayer-slide-out 0.6s; animation: pagelayer-slide-out 0.6s; } @-webkit-keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); } } @-moz-keyframes pagelayer-slide-in { 0% { opacity: 0; -moz-transform: translateY(-100%); } 60% { opacity: 1; -moz-transform: translateY(20%); } 100% { opacity: 1; -moz-transform: translateY(0); } } @keyframes pagelayer-slide-in { 0% { opacity: 0; -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); transform: translateY(-100%); } 60% { opacity: 1; -webkit-transform: translateY(20%); -moz-transform: translateY(20%); -ms-transform: translateY(20%); -o-transform: translateY(20%); transform: translateY(20%); } 100% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); } } @-moz-keyframes pagelayer-slide-out { 0% { opacity: 1; -moz-transform: translateY(0); } 60% { opacity: 0; -moz-transform: translateY(120%); } 100% { opacity: 0; -moz-transform: translateY(100%); } } @keyframes pagelayer-slide-out { 0% { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } 60% { opacity: 0; -webkit-transform: translateY(120%); -moz-transform: translateY(120%); -ms-transform: translateY(120%); -o-transform: translateY(120%); transform: translateY(120%); } 100% { opacity: 0; -webkit-transform: translateY(100%); -moz-transform: translateY(100%); -ms-transform: translateY(100%); -o-transform: translateY(100%); transform: translateY(100%); } } /*** xclip ***/ .pagelayer-aheading-clip .pagelayer-words-wrapper { overflow: hidden; vertical-align: top; } .pagelayer-aheading-clip .pagelayer-words-wrapper:after { /* line */ content: ''; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background-color: #aebcb9; } .pagelayer-aheading-clip span { opacity: 0; } .pagelayer-aheading-clip span.pagelayer-is-visible { opacity: 1; } /*** xzoom ***/ .pagelayer-aheading-zoom .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-zoom span{ opacity: 0; } .pagelayer-aheading-zoom span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-zoom-in 0.8s; -moz-animation: pagelayer-zoom-in 0.8s; animation: pagelayer-zoom-in 0.8s; } .pagelayer-aheading-zoom span.pagelayer-is-hidden { -webkit-animation: pagelayer-zoom-out 0.8s; -moz-animation: pagelayer-zoom-out 0.8s; animation: pagelayer-zoom-out 0.8s; } @-webkit-keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); } } @-moz-keyframes pagelayer-zoom-in { 0% { opacity: 0; -moz-transform: translateZ(100px); } 100% { opacity: 1; -moz-transform: translateZ(0); } } @keyframes pagelayer-zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } } @-webkit-keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); } } @-moz-keyframes pagelayer-zoom-out { 0% { opacity: 1; -moz-transform: translateZ(0); } 100% { opacity: 0; -moz-transform: translateZ(-100px); } } @keyframes pagelayer-zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); -moz-transform: translateZ(-100px); -ms-transform: translateZ(-100px); -o-transform: translateZ(-100px); transform: translateZ(-100px); } } /*** xrotate-3 ***/ .pagelayer-aheading-rotate3 .pagelayer-words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .pagelayer-aheading-rotate3 span { opacity: 0; } .pagelayer-aheading-rotate3 strong { display: inline-block; -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; } .pagelayer-is-visible .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-in { -webkit-animation: pagelayer-rotate-3-in 0.6s forwards; -moz-animation: pagelayer-rotate-3-in 0.6s forwards; animation: pagelayer-rotate-3-in 0.6s forwards; } .pagelayer-aheading-rotate3 strong.pagelayer-aheading-out { -webkit-animation: pagelayer-rotate-3-out 0.6s forwards; -moz-animation: pagelayer-rotate-3-out 0.6s forwards; animation: pagelayer-rotate-3-out 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 strong { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-rotate3 .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); } } @-moz-keyframes pagelayer-rotate-3-in { 0% { -moz-transform: rotateY(180deg); } 100% { -moz-transform: rotateY(0deg); } } @keyframes pagelayer-rotate-3-in { 0% { -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); } } @-webkit-keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); } } @-moz-keyframes pagelayer-rotate-3-out { 0% { -moz-transform: rotateY(0); } 100% { -moz-transform: rotateY(-180deg); } } @keyframes pagelayer-rotate-3-out { 0% { -webkit-transform: rotateY(0); -moz-transform: rotateY(0); -ms-transform: rotateY(0); -o-transform: rotateY(0); transform: rotateY(0); } 100% { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -ms-transform: rotateY(-180deg); -o-transform: rotateY(-180deg); transform: rotateY(-180deg); } } /*** xscale ***/ .pagelayer-aheading-scale span { opacity: 0; } .pagelayer-aheading-scale strong { display: inline-block; opacity: 0; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); } .pagelayer-is-visible .pagelayer-aheading-scale strong { opacity: 1; } .pagelayer-aheading-scale strong.pagelayer-aheading-in { -webkit-animation: pagelayer-scale-up 0.6s forwards; -moz-animation: pagelayer-scale-up 0.6s forwards; animation: pagelayer-scale-up 0.6s forwards; } .pagelayer-aheading-scale strong.pagelayer-aheading-out { -webkit-animation: pagelayer-scale-down 0.6s forwards; -moz-animation: pagelayer-scale-down 0.6s forwards; animation: pagelayer-scale-down 0.6s forwards; } .pagelayer-no-csstransitions .pagelayer-aheading-scale strong { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 0; } .pagelayer-no-csstransitions .pagelayer-aheading-scale .pagelayer-is-visible strong { opacity: 1; } @-webkit-keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); opacity: 1; } } @-moz-keyframes pagelayer-scale-up { 0% { -moz-transform: scale(0); opacity: 0; } 60% { -moz-transform: scale(1.2); opacity: 1; } 100% { -moz-transform: scale(1); opacity: 1; } } @keyframes pagelayer-scale-up { 0% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } 60% { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2); opacity: 1; } 100% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } } @-webkit-keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); opacity: 0; } } @-moz-keyframes pagelayer-scale-down { 0% { -moz-transform: scale(1); opacity: 1; } 60% { -moz-transform: scale(0); opacity: 0; } } @keyframes pagelayer-scale-down { 0% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); opacity: 1; } 60% { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 0; } } /*** xpush ***/ .pagelayer-aheading-push span { opacity: 0; } .pagelayer-aheading-push span.pagelayer-is-visible { opacity: 1; -webkit-animation: pagelayer-push-in 0.6s; -moz-animation: pagelayer-push-in 0.6s; animation: pagelayer-push-in 0.6s; } .pagelayer-aheading-push span.pagelayer-is-hidden { -webkit-animation: pagelayer-push-out 0.6s; -moz-animation: pagelayer-push-out 0.6s; animation: pagelayer-push-out 0.6s; } @-webkit-keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); } } @-moz-keyframes pagelayer-push-in { 0% { opacity: 0; -moz-transform: translateX(-100%); } 60% { opacity: 1; -moz-transform: translateX(10%); } 100% { opacity: 1; -moz-transform: translateX(0); } } @keyframes pagelayer-push-in { 0% { opacity: 0; -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); } 60% { opacity: 1; -webkit-transform: translateX(10%); -moz-transform: translateX(10%); -ms-transform: translateX(10%); -o-transform: translateX(10%); transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); } } @-moz-keyframes pagelayer-push-out { 0% { opacity: 1; -moz-transform: translateX(0); } 60% { opacity: 0; -moz-transform: translateX(110%); } 100% { opacity: 0; -moz-transform: translateX(100%); } } @keyframes pagelayer-push-out { 0% { opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } 60% { opacity: 0; -webkit-transform: translateX(110%); -moz-transform: translateX(110%); -ms-transform: translateX(110%); -o-transform: translateX(110%); transform: translateX(110%); } 100% { opacity: 0; -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transform: translateX(100%); } } /* Animated Heading End */ /* Page Break Start */ .pagelayer-page-links{ text-align: center; margin-top: 50px; } .pagelayer-page-links .post-page-numbers { padding: 0; margin: 0 0 .3em .3em; border: 1px solid; color: #000; background: 0 0; font-size: .8em; width: 2.5em; height: 2.5em; line-height: calc(2.5em - 4px); display: inline-block; text-align: center; transition: all .2s linear; } .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-featured{ width: 48%; float: left; } .pagelayer-arc-layout-right .pagelayer-wposts-col .pagelayer-wposts-content, .pagelayer-arc-layout-left .pagelayer-wposts-col .pagelayer-wposts-featured, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n) .pagelayer-wposts-content, .pagelayer-arc-layout-alt .pagelayer-wposts-col:nth-of-type(2n+1) .pagelayer-wposts-featured{ width: 48%; float: right; } .pagelayer-arc-layout-left .pagelayer-wposts-thumb, .pagelayer-arc-layout-right .pagelayer-wposts-thumb, .pagelayer-arc-layout-alt .pagelayer-wposts-thumb{ display: block; } .pagelayer-wposts-thumb, .pagelayer-wposts-featured, .pagelayer-wposts-col{ overflow: hidden; } .pagelayer-loader-holder{ width: auto; height: auto; display: none; } .pagelayer-post-max, .pagelayer-infinite-scroll-auto ~ .pagelayer_load_button .pagelayer-btn-load{ display: none; } /* Page Break End */ /********************/ /*** Freemium End ***/ /********************/PKZ(#/plugins/pagelayer/css/owl.theme.default.min.cssnu[/** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ .pagelayer-owl-theme .pagelayer-owl-dots,.pagelayer-owl-theme .pagelayer-owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.pagelayer-owl-theme .pagelayer-owl-nav{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.pagelayer-owl-theme .pagelayer-owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.pagelayer-owl-theme .pagelayer-owl-nav .disabled{opacity:.5;cursor:default}.pagelayer-owl-theme .pagelayer-owl-nav.disabled+.pagelayer-owl-dots{margin-top:10px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot{display:inline-block;zoom:1}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot.active span,.pagelayer-owl-theme .pagelayer-owl-dots .pagelayer-owl-dot:hover span{background:#869791}PKZr]E]E/plugins/pagelayer/css/font-awesome5-v4shims.cssnu[/*v4 Shims Made by Pagelayer Team*/ .fa.fa-star-o,.fa.fa-trash-o,.fa.fa-file-o,.fa.fa-clock-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-up,.fa.fa-play-circle-o,.fa.fa-list-alt,.fa.fa-picture-o,.fa.fa-photo,.fa.fa-image,.fa.fa-pencil-square-o,.fa.fa-share-square-o,.fa.fa-check-square-o,.fa.fa-times-circle-o,.fa.fa-check-circle-o,.fa.fa-eye,.fa.fa-eye-slash,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-thumbs-o-up,.fa.fa-thumbs-o-down,.fa.fa-heart-o,.fa.fa-lemon-o,.fa.fa-square-o,.fa.fa-bookmark-o,.fa.fa-credit-card,.fa.fa-hdd-o,.fa.fa-hand-o-right,.fa.fa-hand-o-left,.fa.fa-hand-o-up,.fa.fa-hand-o-down,.fa.fa-files-o,.fa.fa-floppy-o,.fa.fa-money,.fa.fa-comment-o,.fa.fa-comments-o,.fa.fa-clipboard,.fa.fa-paste,.fa.fa-lightbulb-o,.fa.fa-bell-o,.fa.fa-file-text-o,.fa.fa-building-o,.fa.fa-hospital-o,.fa.fa-circle-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-smile-o,.fa.fa-frown-o,.fa.fa-meh-o,.fa.fa-keyboard-o,.fa.fa-flag-o,.fa.fa-star-half-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-calendar-o,.fa.fa-minus-square-o,.fa.fa-compass,.fa.fa-caret-square-o-down,.fa.fa-toggle-down,.fa.fa-caret-square-o-up,.fa.fa-toggle-up,.fa.fa-caret-square-o-right,.fa.fa-toggle-right,.fa.fa-sun-o,.fa.fa-moon-o,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-left,.fa.fa-caret-square-o-left,.fa.fa-toggle-left,.fa.fa-dot-circle-o,.fa.fa-plus-square-o,.fa.fa-envelope-o,.fa.fa-file-pdf-o,.fa.fa-file-word-o,.fa.fa-file-excel-o,.fa.fa-file-powerpoint-o,.fa.fa-file-image-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-archive-o,.fa.fa-file-zip-o,.fa.fa-file-audio-o,.fa.fa-file-sound-o,.fa.fa-file-video-o,.fa.fa-file-movie-o,.fa.fa-file-code-o,.fa.fa-life-ring,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-saver,.fa.fa-support,.fa.fa-paper-plane-o,.fa.fa-send-o,.fa.fa-circle-thin,.fa.fa-futbol-o,.fa.fa-soccer-ball-o,.fa.fa-newspaper-o,.fa.fa-bell-slash-o,.fa.fa-copyright,.fa.fa-cc,.fa.fa-diamond,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o,.fa.fa-clone,.fa.fa-hourglass-o,.fa.fa-hand-rock-o,.fa.fa-hand-grab-o,.fa.fa-hand-paper-o,.fa.fa-hand-stop-o,.fa.fa-hand-scissors-o,.fa.fa-hand-lizard-o,.fa.fa-hand-spock-o,.fa.fa-hand-pointer-o,.fa.fa-hand-peace-o,.fa.fa-registered,.fa.fa-calendar-plus-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-times-o,.fa.fa-calendar-check-o,.fa.fa-map-o,.fa.fa-commenting-o,.fa.fa-pause-circle-o,.fa.fa-stop-circle-o,.fa.fa-question-circle-o,.fa.fa-handshake-o,.fa.fa-envelope-open-o,.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-vcard-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-drivers-license-o,.fa.fa-window-maximize,.fa.fa-window-restore,.fa.fa-window-close-o,.fa.fa-times-rectangle-o,.fa.fa-snowflake-o{font-family:'Font Awesome 5 Free';font-weight:400;}.fa.fa-meetup,.fa.fa-twitter-square,.fa.fa-facebook-square,.fa.fa-linkedin-square,.fa.fa-github-square,.fa.fa-twitter,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-github,.fa.fa-pinterest,.fa.fa-pinterest-square,.fa.fa-google-plus-square,.fa.fa-google-plus,.fa.fa-linkedin,.fa.fa-github-alt,.fa.fa-maxcdn,.fa.fa-html5,.fa.fa-css3,.fa.fa-btc,.fa.fa-bitcoin,.fa.fa-youtube-square,.fa.fa-youtube,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube-play,.fa.fa-dropbox,.fa.fa-stack-overflow,.fa.fa-instagram,.fa.fa-flickr,.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-apple,.fa.fa-windows,.fa.fa-android,.fa.fa-linux,.fa.fa-dribbble,.fa.fa-skype,.fa.fa-foursquare,.fa.fa-trello,.fa.fa-gratipay,.fa.fa-gittip,.fa.fa-vk,.fa.fa-weibo,.fa.fa-renren,.fa.fa-pagelines,.fa.fa-stack-exchange,.fa.fa-vimeo-square,.fa.fa-slack,.fa.fa-wordpress,.fa.fa-openid,.fa.fa-yahoo,.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon-circle,.fa.fa-stumbleupon,.fa.fa-delicious,.fa.fa-digg,.fa.fa-pied-piper-pp,.fa.fa-pied-piper-alt,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-vine,.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-rebel,.fa.fa-ra,.fa.fa-resistance,.fa.fa-empire,.fa.fa-ge,.fa.fa-git-square,.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square,.fa.fa-yc-square,.fa.fa-tencent-weibo,.fa.fa-qq,.fa.fa-weixin,.fa.fa-wechat,.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp,.fa.fa-paypal,.fa.fa-google-wallet,.fa.fa-cc-visa,.fa.fa-cc-mastercard,.fa.fa-cc-discover,.fa.fa-cc-amex,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-ioxhost,.fa.fa-angellist,.fa.fa-meanpath,.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas,.fa.fa-facebook-official,.fa.fa-pinterest-p,.fa.fa-whatsapp,.fa.fa-viacoin,.fa.fa-medium,.fa.fa-y-combinator,.fa.fa-yc,.fa.fa-optin-monster,.fa.fa-opencart,.fa.fa-expeditedssl,.fa.fa-cc-jcb,.fa.fa-cc-diners-club,.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-tripadvisor,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-get-pocket,.fa.fa-wikipedia-w,.fa.fa-safari,.fa.fa-chrome,.fa.fa-firefox,.fa.fa-opera,.fa.fa-internet-explorer,.fa.fa-contao,.fa.fa-500px,.fa.fa-amazon,.fa.fa-houzz,.fa.fa-vimeo,.fa.fa-black-tie,.fa.fa-fonticons,.fa.fa-reddit-alien,.fa.fa-edge,.fa.fa-codiepie,.fa.fa-modx,.fa.fa-fort-awesome,.fa.fa-usb,.fa.fa-product-hunt,.fa.fa-mixcloud,.fa.fa-scribd,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-gitlab,.fa.fa-wpbeginner,.fa.fa-wpforms,.fa.fa-envira,.fa.fa-wheelchair-alt,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-pied-piper,.fa.fa-first-order,.fa.fa-yoast,.fa.fa-themeisle,.fa.fa-google-plus-official,.fa.fa-google-plus-circle,.fa.fa-font-awesome,.fa.fa-fa,.fa.fa-linode,.fa.fa-quora,.fa.fa-free-code-camp,.fa.fa-telegram,.fa.fa-bandcamp,.fa.fa-grav,.fa.fa-etsy,.fa.fa-imdb,.fa.fa-ravelry,.fa.fa-eercast,.fa.fa-superpowers,.fa.fa-wpexplorer,.fa.fa-spotify{font-family:'Font Awesome 5 Brands';font-weight:400;}.fa.fa-glass:before{content:"\f000";}.fa.fa-star-o:before{content:"\f005";}.fa.fa-remove:before{content:"\f00d";}.fa.fa-close:before{content:"\f00d";}.fa.fa-gear:before{content:"\f013";}.fa.fa-trash-o:before{content:"\f2ed";}.fa.fa-file-o:before{content:"\f15b";}.fa.fa-clock-o:before{content:"\f017";}.fa.fa-arrow-circle-o-down:before{content:"\f358";}.fa.fa-arrow-circle-o-up:before{content:"\f35b";}.fa.fa-play-circle-o:before{content:"\f144";}.fa.fa-repeat:before{content:"\f01e";}.fa.fa-rotate-right:before{content:"\f01e";}.fa.fa-refresh:before{content:"\f021";}.fa.fa-dedent:before{content:"\f03b";}.fa.fa-video-camera:before{content:"\f03d";}.fa.fa-picture-o:before{content:"\f03e";}.fa.fa-photo:before{content:"\f03e";}.fa.fa-image:before{content:"\f03e";}.fa.fa-pencil:before{content:"\f303";}.fa.fa-map-marker:before{content:"\f3c5";}.fa.fa-pencil-square-o:before{content:"\f044";}.fa.fa-share-square-o:before{content:"\f14d";}.fa.fa-check-square-o:before{content:"\f14a";}.fa.fa-arrows:before{content:"\f0b2";}.fa.fa-times-circle-o:before{content:"\f057";}.fa.fa-check-circle-o:before{content:"\f058";}.fa.fa-mail-forward:before{content:"\f064";}.fa.fa-warning:before{content:"\f071";}.fa.fa-calendar:before{content:"\f073";}.fa.fa-arrows-v:before{content:"\f338";}.fa.fa-arrows-h:before{content:"\f337";}.fa.fa-bar-chart:before{content:"\f080";}.fa.fa-bar-chart-o:before{content:"\f080";}.fa.fa-gears:before{content:"\f085";}.fa.fa-thumbs-o-up:before{content:"\f164";}.fa.fa-thumbs-o-down:before{content:"\f165";}.fa.fa-heart-o:before{content:"\f004";}.fa.fa-sign-out:before{content:"\f2f5";}.fa.fa-linkedin-square:before{content:"\f08c";}.fa.fa-thumb-tack:before{content:"\f08d";}.fa.fa-external-link:before{content:"\f35d";}.fa.fa-sign-in:before{content:"\f2f6";}.fa.fa-lemon-o:before{content:"\f094";}.fa.fa-square-o:before{content:"\f0c8";}.fa.fa-bookmark-o:before{content:"\f02e";}.fa.fa-facebook:before{content:"\f39e";}.fa.fa-facebook-f:before{content:"\f39e";}.fa.fa-feed:before{content:"\f09e";}.fa.fa-hdd-o:before{content:"\f0a0";}.fa.fa-hand-o-right:before{content:"\f0a4";}.fa.fa-hand-o-left:before{content:"\f0a5";}.fa.fa-hand-o-up:before{content:"\f0a6";}.fa.fa-hand-o-down:before{content:"\f0a7";}.fa.fa-arrows-alt:before{content:"\f31e";}.fa.fa-group:before{content:"\f0c0";}.fa.fa-chain:before{content:"\f0c1";}.fa.fa-scissors:before{content:"\f0c4";}.fa.fa-files-o:before{content:"\f0c5";}.fa.fa-floppy-o:before{content:"\f0c7";}.fa.fa-navicon:before{content:"\f0c9";}.fa.fa-reorder:before{content:"\f0c9";}.fa.fa-google-plus:before{content:"\f0d5";}.fa.fa-money:before{content:"\f3d1";}.fa.fa-unsorted:before{content:"\f0dc";}.fa.fa-sort-desc:before{content:"\f0dd";}.fa.fa-sort-asc:before{content:"\f0de";}.fa.fa-linkedin:before{content:"\f0e1";}.fa.fa-rotate-left:before{content:"\f0e2";}.fa.fa-legal:before{content:"\f0e3";}.fa.fa-tachometer:before{content:"\f3fd";}.fa.fa-dashboard:before{content:"\f3fd";}.fa.fa-comment-o:before{content:"\f075";}.fa.fa-comments-o:before{content:"\f086";}.fa.fa-flash:before{content:"\f0e7";}.fa.fa-paste:before{content:"\f328";}.fa.fa-lightbulb-o:before{content:"\f0eb";}.fa.fa-exchange:before{content:"\f362";}.fa.fa-cloud-download:before{content:"\f381";}.fa.fa-cloud-upload:before{content:"\f382";}.fa.fa-bell-o:before{content:"\f0f3";}.fa.fa-cutlery:before{content:"\f2e7";}.fa.fa-file-text-o:before{content:"\f15c";}.fa.fa-building-o:before{content:"\f1ad";}.fa.fa-hospital-o:before{content:"\f0f8";}.fa.fa-tablet:before{content:"\f3fa";}.fa.fa-mobile:before{content:"\f3cd";}.fa.fa-mobile-phone:before{content:"\f3cd";}.fa.fa-circle-o:before{content:"\f111";}.fa.fa-mail-reply:before{content:"\f3e5";}.fa.fa-folder-o:before{content:"\f07b";}.fa.fa-folder-open-o:before{content:"\f07c";}.fa.fa-smile-o:before{content:"\f118";}.fa.fa-frown-o:before{content:"\f119";}.fa.fa-meh-o:before{content:"\f11a";}.fa.fa-keyboard-o:before{content:"\f11c";}.fa.fa-flag-o:before{content:"\f024";}.fa.fa-mail-reply-all:before{content:"\f122";}.fa.fa-star-half-o:before{content:"\f089";}.fa.fa-star-half-empty:before{content:"\f089";}.fa.fa-star-half-full:before{content:"\f089";}.fa.fa-code-fork:before{content:"\f126";}.fa.fa-chain-broken:before{content:"\f127";}.fa.fa-shield:before{content:"\f3ed";}.fa.fa-calendar-o:before{content:"\f133";}.fa.fa-ticket:before{content:"\f3ff";}.fa.fa-minus-square-o:before{content:"\f146";}.fa.fa-level-up:before{content:"\f3bf";}.fa.fa-level-down:before{content:"\f3be";}.fa.fa-pencil-square:before{content:"\f14b";}.fa.fa-external-link-square:before{content:"\f360";}.fa.fa-caret-square-o-down:before{content:"\f150";}.fa.fa-toggle-down:before{content:"\f150";}.fa.fa-caret-square-o-up:before{content:"\f151";}.fa.fa-toggle-up:before{content:"\f151";}.fa.fa-caret-square-o-right:before{content:"\f152";}.fa.fa-toggle-right:before{content:"\f152";}.fa.fa-eur:before{content:"\f153";}.fa.fa-euro:before{content:"\f153";}.fa.fa-gbp:before{content:"\f154";}.fa.fa-usd:before{content:"\f155";}.fa.fa-dollar:before{content:"\f155";}.fa.fa-inr:before{content:"\f156";}.fa.fa-rupee:before{content:"\f156";}.fa.fa-jpy:before{content:"\f157";}.fa.fa-cny:before{content:"\f157";}.fa.fa-rmb:before{content:"\f157";}.fa.fa-yen:before{content:"\f157";}.fa.fa-rub:before{content:"\f158";}.fa.fa-ruble:before{content:"\f158";}.fa.fa-rouble:before{content:"\f158";}.fa.fa-krw:before{content:"\f159";}.fa.fa-won:before{content:"\f159";}.fa.fa-bitcoin:before{content:"\f15a";}.fa.fa-file-text:before{content:"\f15c";}.fa.fa-sort-alpha-asc:before{content:"\f15d";}.fa.fa-sort-alpha-desc:before{content:"\f881";}.fa.fa-sort-amount-asc:before{content:"\f160";}.fa.fa-sort-amount-desc:before{content:"\f884";}.fa.fa-sort-numeric-asc:before{content:"\f162";}.fa.fa-sort-numeric-desc:before{content:"\f886";}.fa.fa-youtube-play:before{content:"\f167";}.fa.fa-bitbucket-square:before{content:"\f171";}.fa.fa-long-arrow-down:before{content:"\f309";}.fa.fa-long-arrow-up:before{content:"\f30c";}.fa.fa-long-arrow-left:before{content:"\f30a";}.fa.fa-long-arrow-right:before{content:"\f30b";}.fa.fa-gittip:before{content:"\f184";}.fa.fa-sun-o:before{content:"\f185";}.fa.fa-moon-o:before{content:"\f186";}.fa.fa-arrow-circle-o-right:before{content:"\f35a";}.fa.fa-arrow-circle-o-left:before{content:"\f359";}.fa.fa-caret-square-o-left:before{content:"\f191";}.fa.fa-toggle-left:before{content:"\f191";}.fa.fa-dot-circle-o:before{content:"\f192";}.fa.fa-try:before{content:"\f195";}.fa.fa-turkish-lira:before{content:"\f195";}.fa.fa-plus-square-o:before{content:"\f0fe";}.fa.fa-institution:before{content:"\f19c";}.fa.fa-bank:before{content:"\f19c";}.fa.fa-mortar-board:before{content:"\f19d";}.fa.fa-spoon:before{content:"\f2e5";}.fa.fa-automobile:before{content:"\f1b9";}.fa.fa-cab:before{content:"\f1ba";}.fa.fa-envelope-o:before{content:"\f0e0";}.fa.fa-file-pdf-o:before{content:"\f1c1";}.fa.fa-file-word-o:before{content:"\f1c2";}.fa.fa-file-excel-o:before{content:"\f1c3";}.fa.fa-file-powerpoint-o:before{content:"\f1c4";}.fa.fa-file-image-o:before{content:"\f1c5";}.fa.fa-file-photo-o:before{content:"\f1c5";}.fa.fa-file-picture-o:before{content:"\f1c5";}.fa.fa-file-archive-o:before{content:"\f1c6";}.fa.fa-file-zip-o:before{content:"\f1c6";}.fa.fa-file-audio-o:before{content:"\f1c7";}.fa.fa-file-sound-o:before{content:"\f1c7";}.fa.fa-file-video-o:before{content:"\f1c8";}.fa.fa-file-movie-o:before{content:"\f1c8";}.fa.fa-file-code-o:before{content:"\f1c9";}.fa.fa-life-bouy:before{content:"\f1cd";}.fa.fa-life-buoy:before{content:"\f1cd";}.fa.fa-life-saver:before{content:"\f1cd";}.fa.fa-support:before{content:"\f1cd";}.fa.fa-circle-o-notch:before{content:"\f1ce";}.fa.fa-ra:before{content:"\f1d0";}.fa.fa-resistance:before{content:"\f1d0";}.fa.fa-ge:before{content:"\f1d1";}.fa.fa-y-combinator-square:before{content:"\f1d4";}.fa.fa-yc-square:before{content:"\f1d4";}.fa.fa-wechat:before{content:"\f1d7";}.fa.fa-send:before{content:"\f1d8";}.fa.fa-paper-plane-o:before{content:"\f1d8";}.fa.fa-send-o:before{content:"\f1d8";}.fa.fa-circle-thin:before{content:"\f111";}.fa.fa-header:before{content:"\f1dc";}.fa.fa-sliders:before{content:"\f1de";}.fa.fa-futbol-o:before{content:"\f1e3";}.fa.fa-soccer-ball-o:before{content:"\f1e3";}.fa.fa-newspaper-o:before{content:"\f1ea";}.fa.fa-bell-slash-o:before{content:"\f1f6";}.fa.fa-trash:before{content:"\f2ed";}.fa.fa-eyedropper:before{content:"\f1fb";}.fa.fa-area-chart:before{content:"\f1fe";}.fa.fa-pie-chart:before{content:"\f200";}.fa.fa-line-chart:before{content:"\f201";}.fa.fa-cc:before{content:"\f20a";}.fa.fa-ils:before{content:"\f20b";}.fa.fa-shekel:before{content:"\f20b";}.fa.fa-sheqel:before{content:"\f20b";}.fa.fa-meanpath:before{content:"\f2b4";}.fa.fa-diamond:before{content:"\f3a5";}.fa.fa-intersex:before{content:"\f224";}.fa.fa-facebook-official:before{content:"\f09a";}.fa.fa-hotel:before{content:"\f236";}.fa.fa-yc:before{content:"\f23b";}.fa.fa-battery-4:before{content:"\f240";}.fa.fa-battery:before{content:"\f240";}.fa.fa-battery-3:before{content:"\f241";}.fa.fa-battery-2:before{content:"\f242";}.fa.fa-battery-1:before{content:"\f243";}.fa.fa-battery-0:before{content:"\f244";}.fa.fa-sticky-note-o:before{content:"\f249";}.fa.fa-hourglass-o:before{content:"\f254";}.fa.fa-hourglass-1:before{content:"\f251";}.fa.fa-hourglass-2:before{content:"\f252";}.fa.fa-hourglass-3:before{content:"\f253";}.fa.fa-hand-rock-o:before{content:"\f255";}.fa.fa-hand-grab-o:before{content:"\f255";}.fa.fa-hand-paper-o:before{content:"\f256";}.fa.fa-hand-stop-o:before{content:"\f256";}.fa.fa-hand-scissors-o:before{content:"\f257";}.fa.fa-hand-lizard-o:before{content:"\f258";}.fa.fa-hand-spock-o:before{content:"\f259";}.fa.fa-hand-pointer-o:before{content:"\f25a";}.fa.fa-hand-peace-o:before{content:"\f25b";}.fa.fa-television:before{content:"\f26c";}.fa.fa-calendar-plus-o:before{content:"\f271";}.fa.fa-calendar-minus-o:before{content:"\f272";}.fa.fa-calendar-times-o:before{content:"\f273";}.fa.fa-calendar-check-o:before{content:"\f274";}.fa.fa-map-o:before{content:"\f279";}.fa.fa-commenting:before{content:"\f4ad";}.fa.fa-commenting-o:before{content:"\f4ad";}.fa.fa-vimeo:before{content:"\f27d";}.fa.fa-credit-card-alt:before{content:"\f09d";}.fa.fa-pause-circle-o:before{content:"\f28b";}.fa.fa-stop-circle-o:before{content:"\f28d";}.fa.fa-wheelchair-alt:before{content:"\f368";}.fa.fa-question-circle-o:before{content:"\f059";}.fa.fa-volume-control-phone:before{content:"\f2a0";}.fa.fa-asl-interpreting:before{content:"\f2a3";}.fa.fa-deafness:before{content:"\f2a4";}.fa.fa-hard-of-hearing:before{content:"\f2a4";}.fa.fa-signing:before{content:"\f2a7";}.fa.fa-google-plus-official:before{content:"\f2b3";}.fa.fa-google-plus-circle:before{content:"\f2b3";}.fa.fa-fa:before{content:"\f2b4";}.fa.fa-handshake-o:before{content:"\f2b5";}.fa.fa-envelope-open-o:before{content:"\f2b6";}.fa.fa-address-book-o:before{content:"\f2b9";}.fa.fa-vcard:before{content:"\f2bb";}.fa.fa-address-card-o:before{content:"\f2bb";}.fa.fa-vcard-o:before{content:"\f2bb";}.fa.fa-user-circle-o:before{content:"\f2bd";}.fa.fa-user-o:before{content:"\f007";}.fa.fa-drivers-license:before{content:"\f2c2";}.fa.fa-id-card-o:before{content:"\f2c2";}.fa.fa-drivers-license-o:before{content:"\f2c2";}.fa.fa-thermometer-4:before{content:"\f2c7";}.fa.fa-thermometer:before{content:"\f2c7";}.fa.fa-thermometer-3:before{content:"\f2c8";}.fa.fa-thermometer-2:before{content:"\f2c9";}.fa.fa-thermometer-1:before{content:"\f2ca";}.fa.fa-thermometer-0:before{content:"\f2cb";}.fa.fa-bathtub:before{content:"\f2cd";}.fa.fa-s15:before{content:"\f2cd";}.fa.fa-times-rectangle:before{content:"\f410";}.fa.fa-window-close-o:before{content:"\f410";}.fa.fa-times-rectangle-o:before{content:"\f410";}.fa.fa-eercast:before{content:"\f2da";}.fa.fa-snowflake-o:before{content:"\f2dc";}PKZQN)N)#plugins/pagelayer/languages/en.jsonnu[{ "ele_bg_styles": "Background Style", "ele_styles": "Box Style", "border_styles": "Border Style", "font_family": "Font Family", "font_weight" : "Font Weight", "font_variant" : "Font Variant", "decoration_line" : "Decoration Line", "decoration_style" : "Decoration Style", "wavy" : "Wavy", "line_height": "Line Height", "text_transform": "Text Transform", "text_spacing" : "Text Spacing", "word_spacing" : "Word Spacing", "animation_styles": "Animation", "responsive_styles": "Responsive", "custom_styles": "Custom CSS", "scroll_to_element": "Scroll To Element", "scroll_to": "Scroll To", "spacing_from_id": "Top Spacing From Element", "ele_scroll_id_desc": "Add your Element ID without Hash(#)", "ele_scroll_speed": "Speed x 1000", "params": "Params", "hotspot": "Hotspot", "hotspots": "Hotspots", "red": "Red", "grey": "Grey", "black": "Black", "custom": "Custom", "small": "Small", "middle": "Middle", "large": "Large", "dark": "Dark", "silver": "Silver", "noir": "Noir", "shadow": "Shadow", "top": "Top", "right": "Right", "bottom": "Bottom", "left": "Left", "always": "Always", "audio": "Audio", "wp_audio_source_title": "Audio source", "wp_audio_source_desc": "If your current browser does not support HTML5 audio or Flash Player is not installed, a direct download link will be displayed instead of the player", "wp_audio_autoplay_title": "Autoplay", "wp_audio_autoplay_desc": "Play file automatically when page is loaded", "wp_audio_loop_title": "Repeat", "wp_audio_loop_desc": "Repeat when playback is ended", "Videos": "Videos", "video": "Video", "Transition": "Transition", "fade": "Fade", "horizontal": "Horizontal", "vertical": "Vertical", "kenburns": "Kenburns", "visible": "Visible", "all": "All", "Pager": "Pager", "buttons": "Buttons", "button": "Button", "add_new_item": "Add new %name% item", "button_name": "Button", "obj_align_label": "Alignment", "center": "Center", "layout": "Layout", "button_group_indent_label": "Indent", "media_file": "Media File", "media_description": "Select file from Media Library", "button_text_label": "Button Text", "button_type_label": "Type", "btn_type_default": "Default", "btn_type_primary": "Primary", "btn_type_secondary": "Secondary", "btn_type_success": "Success", "btn_type_info": "Info", "btn_type_warning": "Warning", "btn_type_danger": "Danger", "btn_type_dark": "Dark", "btn_type_light": "Light", "btn_type_link": "Link", "button_size_label": "Size", "mini": "Mini", "extra_large": "Extra Large", "double_large": "Double Large", "btn_custom_size": "Custom Size", "service_box_font_icon_label": "Icon", "icon_alignment": "Icon Alignment", "icon_spacing": "Space Between", "stretch": "Stretch", "Share": "Share", "list_icon_label": "Icon", "share_text_label": "Text", "social_share_grp": "Social Icons", "share_item": "Social Icon", "share_name": "Name", "social_grp_size_label": "Size", "icon_background_shape": "Background Shape", "group": "Group", "layout_style": "Layout", "icon_shape_none": "None", "icon_shape_circle": "Circle", "icon_shape_square": "Square", "icon_shape_rounded": "Rounded", "icon_shape_outline": "Outline", "share_icon_name_label": "Name", "table": "Table", "obj_table_data_label": "Data", "obj_table_data_desc": "Data in each row separated by comma. Find out more about CSV format<\/a>.", "cta_layout_label": "Layout", "Normal": "Normal", "Overlay": "Overlay", "cta_align_label": "Alignment", "cta_image_label": "Image", "cta_img_height_label": "Height", "cta_img_width_label": "Width", "heading_name": "Title", "heading_typo": "Typography", "heading_shadow": "Shadow", "subheading_name": "Subtitle", "text": "Text", "cta_content_spacing_label": "Spacing", "cta_content_align_label": "Alignment", "cta_valign_label": "Vertical Alignment", "cta_content_bg_label": "Background", "ctaobj_button_link_label": "Button link", "button_link_desc": "ex. http:\/\/yoursite.com\/ or \/blog", "cta_btn_spacing_label": "Button Spacing", "cta_hover_anim_label": "Hover Animation", "cta_anim_none": "None", "cta_anim_zoomin": "Zoom In", "cta_anim_zoomout": "Zoom Out", "cta_anim_moveup": "Move Up", "cta_anim_movedown": "Move Down", "cta_anim_moveleft": "Move Left", "cta_anim_moveright": "Move Right", "cta_show_ribbon": "Show Ribbon", "cta_ribbon_text_label": "Text", "cta_ribbon_bg_label": "Background", "cta_ribbon_color_label": "Color", "cta_ribbon_spacing": "Spacing", "ribbon_pos_label": "Position", "Left": "Left", "Right": "Right", "modal": "Modal", "title": "Title", "modal_name": "Modal", "modal_title_content_default": "This is a cool new Modal", "padding": "Padding", "obj_content": "Content", "edit": "Edit", "content_with_tags_default": "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.<\/h1>

    Integer ac leo ut arcu dictum viverra at eu magna. Integer ut eros varius, ornare magna non, malesuada nunc. Nulla elementum fringilla libero vitae luctus. Phasellus tincidunt nulla erat, in consectetur ante ornare tempor. Curabitur egestas purus ac gravida malesuada. Vestibulum sit amet rhoncus nisi. Quisque porta enim eget nisi luctus accumsan. Interdum et malesuada fames ac ante ipsum primis in faucibus.<\/p>", "modal_popup_width": "Modal Popup Width", "obj_show_animation_label": "Show Animation", "obj_hide_animation_label": "Hide Animation", "obj_style": "Style", "light": "Light", "obj_shadow_color_label": "Background Color", "obj_content_color_label": "Box Color", "list_text_color_label": "Text Color", "modal_container_style": "Container Style", "modal_title_style": "Title Style", "popup_name": "Splash Screen", "popup_delay_label": "Delay in milliseconds", "display": "Display", "once": "Once", "chart": "Chart", "obj_title_label": "Title", "google_charts_type_label": "Chart Type", "google_charts_type_desc": "Find out more about chart types at Google Charts<\/a>", "google_charts_type_list_column": "Column Chart", "google_charts_type_list_bar": "Bar Chart", "google_charts_type_list_area": "Area Chart", "google_charts_type_list_stepped": "Stepped Area Chart", "google_charts_type_list_pie": "Pie Chart", "google_charts_type_list3d": "3D Pie Chart", "google_charts_type_list_line": "Line Chart", "google_charts_type_list_histogram": "Histogram", "google_charts_donut_label": "Donut Hole", "google_charts_colors_label": "Chart colors", "google_charts_colors_desc": "Comma separated HEX color values. Ex: #e0440e, #e6693e", "google_charts_transparency_label": "Transparent background", "google_charts_data_desc": "Data in each row separated by comma", "date_picker_label": "Expiration Date", "time_zone": "Time zone", "server_time": "Server time", "user_local": "User's local time", "spacing" : "Spacing", "format": "Format", "days" : "Days", "hours" : "Hours", "minutes" : "Minutes", "seconds" : "Seconds", "block" : "Block", "inline" : "Inline", "expired_text" : "Expired Text", "show_exp_text" : "Show Expired Text", "expired_style" : "Expired Text Style", "custom_label_text" : "Custom Title", "title_style" : "Title", "block_styles" : "Countdown Block", "show_label" : "Show Title", "bg_color": "Background Color", "text_color": "Text Color", "blocks_size": "Block Size", "digits_size": "Digit Size", "labels_size": "Text Size", "block_space": "Outside Spacing", "plan_type": "Plan Name", "subtitle": "Subtitle", "currency": "Currency", "plan_price": "Value", "sale": "Sale", "old_price": "Old Value", "period": "Period", "btn_url_label": "Button URL", "additional_info": "Additional Info", "ribbion_display": "Display", "ribbion_text": "Text", "currency_color": "Currency Color", "currency_size": "Currency Font Style", "price_size": "Price Font Style", "old_price_size": "Old Price Font Style", "price_state": "State", "Hover": "Hover", "price_line_height": "Line Height", "old_price_color": "Old Price Color", "border_type": "Border Type", "none": "None", "solid": "Solid", "double": "Double", "dotted": "Dotted", "dashed": "Dashed", "groove": "Groove", "old_price_line_color" : "Line-through Color", "title_size": "Size", "period_size": "Size", "features_item" : "Features Item", "button_text_color": "Color", "button_Spacing": "Spacing", "button_bg_color": "Background Color", "button_text_color_hover": "Color", "button_bg_color_hover": "Background Color", "btn_hover_delay" : "Hover Delay", "btn_border_type": "Border Type", "btn_border_color": "Border Color", "btn_border_width": "Border Width", "btn_border_radius": "Border Radius", "btn_padding": "Padding", "ribbon_text_size": "Ribbon Font Style", "addition_info" : "Additional Information", "currency_style": "Currency", "price_style": "Price", "title_style": "Title Style", "period_style": "Period", "header_style": "Header", "feature_style": "Features", "button_style": "Button Style", "ribbon_style": "Ribbon", "label": "Label", "customize_style_fields": "Customize Style for Fields", "label_color": "Label Color", "placeholder_color": "Placeholder Color", "text_field_height": "Text Field Height", "border_width": "Border Width", "border_color": "Border Color", "border_radius": "Border Radius", "focus_fields_label": "Focus Effect for Fields", "checkbox_selected_style": "Radio\/Checkbox Selected Style", "color": "Color", "submit": "Submit", "opt_google_fonts_family": "Font Family", "button_text_color": "Color", "button_background_color": "Background Color", "hover_effect_button_label": "Hover Effect for Button", "stretch_button_label": "Stretch Button to full width", "redirect_url": "Redirect URL", "redirect_urllabel": "Choose the Redirect URL", "cf_success": "Your message was sent successfully", "cf_failed": "Your message could not be sent ! Please try again.", "redirect_urldesc": "User will be redirected to this URL after contact form is submitted", "alignment": "Alignment", "default": "Default", "site_title": "Site Title", "site_logo": "Show Logo", "logo_select": "Select logo", "logo_size": "Logo Size", "logo_custom_size" : "Logo Custom Size", "vertical_alignment" : "Vertical Alignment", "default_logo" : "Default Logo", "custom_logo" : "Custom Logo", "logo_img_type" : "Logo Image", "logo_style": "Logo Style", "font_style": "Font Style", "posts_grid_query_type_label": "Query Type", "posts_grid_query_type_desc": "Choose Query Type", "simple": "Simple", "posts_grid_custom_query_label": "Custom query", "ids": "IDs", "posts_grid_post_type_label": "Post Type to show", "posts_grid_post_type_desc": "Select post type to populate posts from", "posts_grid_category_label": "Display posts by category slug", "posts_grid_category_desc": "Separate with ',' to display posts that have either of these categories or with '+' to display posts that have all of these categories.", "posts_grid_tag_label": "Display posts by tag slug", "posts_grid_tag_desc": "Separate with ',' to display posts that have either of these tags or with '+' to display posts that have all of these tags.", "posts_grid_custom_tax_label": "Custom Taxonomy", "posts_grid_custom_tax_field_label": "Taxonomy field", "term_id": "Term ID", "slug": "Slug", "name": "Name", "posts_grid_custom_tax_term_label": "Taxonomy term(s)", "posts_grid_custom_tax_term_desc": "Separate with ',' to display posts that have either of these terms or with '+' to display posts that have all of these tags.", "posts_grid_posts_per_page_label": "Posts count", "posts_grid_sort_order": "Sort order", "posts_grid_sort_order_ascending": "Ascending", "posts_grid_sort_order_descending": "Descending", "posts_grid_custom_query_desc": "Build custom query according to Pagelayer Codex. Example: post_type=portfolio&posts_per_page=5&orderby=title", "posts_grid_ids_label": "IDs of posts", "posts_grid_ids_desc": "Separate with ','", "columns_count": "Columns count", "posts_grid_template_label": "Post Style", "posts_grid_posts_gap_label": "Vertical gap between posts", "posts_grid_show_featured_image": "Show Featured Image", "obj_image_size_label": "Size", "full": "Full", "medium": "Medium", "thumbnail": "Thumbnail", "image_custom_size_label": "Custom Size", "posts_grid_title_tag": "Title style", "posts_grid_title_tag_none": "Hide", "posts_grid_show_date_comments": "Show Date and Comments", "posts_grid_show_content": "Post description", "posts_grid_show_content_short": "Short", "posts_grid_show_content_full": "Full", "posts_grid_show_content_excerpt": "Excerpt", "posts_grid_show_content_none": "None", "posts_grid_short_content_length": "Length of the Text", "posts_grid_read_more_text_label": "Post Read More link text", "posts_grid_read_more_text": "Read more", "posts_grid_display_style": "Display Style", "show_all": "Show All", "posts_grid_display_style_load_more": "Load More Button", "posts_grid_display_style_pagination": "Pagination", "posts_grid_load_more_text_label": "Load More button text", "posts_grid_load_more_text_default": "Load More", "posts_grid_filter_label": "Filter", "posts_grid_filter_desc": "Add taxonomy filter.", "posts_grid_filter_by_first_tax": "First Taxonomy", "posts_grid_filter_by_second_tax": "Second Taxonomy", "posts_grid_filter_by_both": "Both", "posts_grid_filter_first_tax_name": "Select First Taxonomy", "posts_grid_filter_second_tax_name": "Select Second Taxonomy", "button_color_label": "Button color", "pink_dreams": "Pink Dreams", "warm": "Warm", "hot_summer": "Hot Summer", "olive_garden": "Olive Garden", "green_grass": "Green Grass", "skyline": "Skyline", "aqua_blue": "Aqua Blue", "violet": "Violet", "dark_grey": "Dark Grey", "filter_links_divider": "Divider", "posts_grid_filter_first_tax_text_label": "First Filter Title", "categories": "Categories", "posts_grid_filter_second_tax_text_label": "Second Filter Title", "tags": "Tags", "posts_grid_filter_view_all_text_label": "\"View All\" text", "post_count" : "Post Count", "post_types" : "Post Types", "posts_style" : "Post Style", "post_sort_order" : "Sort Order", "sort_order_ascending" : "Ascending", "sort_order_descending" : "Descending", "posts_order_by": "Order by", "posts_order_by_id": "ID", "posts_order_by_date": "Date", "posts_order_by_author": "Author", "posts_order_by_modified": "Modified", "posts_order_by_random": "Random", "posts_order_by_comment_count": "Comment count", "posts_order_by_menu_order": "Menu order", "show_excerpt":"Show Excerpt", "posts_grid_post_title_tag": "Post title", "service_box_layout_label": "Content style", "image_link_label": "Link to", "image_link_url": "URL", "hide_title" : "Hide Title", "hide_image" : "Hide Image", "img_size" : "Image Size", "img_height" : "Height", "content_color" : "color", "hide_date" : "Hide Date", "hide_link" : "Hide Link", "link_color" : "Link Color", "background_color" : "Background Color", "post_shadow" : "Shadow", "border_state" : "Border state", "slider_items_display" : "Slides Per Page", "slider_autoplay" : "Autoplay", "slider_navigations" : "Navigation", "slider_loop" : "Loop", "slider_arrows_color" : "Navigation Color", "slides_bullets" : "Bullets", "image_style" : "Image", "content_style" : "Post Content", "date_style" : "Post Date", "slider_post_style" : "Post Style", "slider_options" : "Slider Options", "disable": "Disable", "image_slider_animation_label": "Animation type", "image_slider_animation_slide": "Slide", "image_slider_animation_fade": "Fade", "image_slider_smooth_height_label": "Smooth height", "image_slider_smooth_height_desc": "Animate the height of the slider smoothly for slides of varying height", "image_slider_control_nav_label": "Show bullets", "pages": "Pages", "parameters_title": "Title", "wp_pages": "Pages", "wp_pages_description": "Your site pages", "sort_by": "Sort by", "sort_by_page_title": "Page title", "sort_by_page_order": "Page order", "sort_by_page_id": "Page ID", "exclude": "Exclude", "wp_pages_exclude_pages": "Page IDs, separated by commas.", "wp_recent_posts": "Recent Posts", "wp_recent_posts_description": "The most recent posts on your site", "wp_recent_posts_number": "Number of Posts to show", "wp_recent_posts_display_date": "Display post date ?", "calendar": "Calendar", "wp_calendar": "Calendar", "wp_calendar_description": "A calendar of your site posts", "wp_recent_comments": "Recent Comments", "wp_recent_comments_description": "The most recent comments", "wp_recent_comments_number": "Number of Comments to show", "wp_categories": "Categories", "wp_categories_description": "A list or dropdown of categories", "wp_display_as_drop_down": "Display as dropdown", "wp_show_post_counts": "Show post counts", "wp_categories_show_hierarchy": "Show hierarchy", "archives": "Archives", "wp_archives": "Archives", "wp_archives_description": "A monthly archive of your site posts", "wp_tags": "Tags", "wp_tag_cloud_description": "Your most used tags in cloud format", "wp_tag_cloud_taxonomy": "Taxonomy", "wp_tag_cloud_categories": "Categories", "search": "Search", "wp_rsssearch": "Search", "wp_rsssearch_description": "A search form for your site", "rss": "RSS", "wp_rssurl": "RSS feed URL", "wp_rssurl_description": "Enter the RSS feed URL here", "wp_rssfeed_title": "Feed title", "wp_rssfeed_title_description": "Give the feed a title (optional)", "wp_rssquantity": "Items quantity", "wp_rssquantity_description": "How many items would you like to display?", "wp_rssdisplay_content": "Display item content?", "wp_rssdisplay_author": "Display item author if available?", "wp_rssdisplay_date": "Display item date ?", "meta": "Meta", "wp_meta": "Meta", "wp_meta_description": "Log in\/out, admin, feed and SitePad links", "normal": "Normal", "hover": "Hover", "gradient": "Gradient", "image": "Image", "ele_bg_attachment": "Attachment", "scroll": "Scroll", "fixed": "Fixed", "ele_bg_posx": "Position X", "ele_bg_posy": "Position Y", "ele_bg_repeat": "Repeat", "repeat": "Repeat", "no-repeat": "No-repeat", "repeat-x": "Repeat-x", "repeat-y": "Repeat-y", "ele_bg_size": "Size", "cover": "Cover", "contain": "Contain", "ele_bg_hover_delay": "Delay", "ele_bg_attachment_hover": "Attachment", "ele_bg_posx_hover": "Position X", "ele_bg_posy_hover": "Position Y", "ele_bg_repeat_hover": "Repeat", "ele_bg_size_hover": "Size", "margin": "Margin", "z-index": "Z-index", "border_type": "Border Type", "animation": "Animation", "fading": "Fading", "fadein": "Fade In", "fadeindown": "Fade In Down", "fadeinup": "Fade In Up", "fadeinleft": "Fade In Left", "fadeinright": "Fade In Right", "zooming": "Zooming", "zoomin": "Zoom In", "zoomindown": "Zoom In Down", "zoominup": "Zoom In Up", "zoominleft": "Zoom In Left", "zoominright": "Zoom In Right", "bounceing": "Bounceing", "bouncein": "Bounce In", "bounceindown": "Bounce In Down", "bounceinup": "Bounce In Up", "bounceinleft": "Bounce In Left", "bounceinright": "Bounce In Right", "sliding": "Sliding", "slideindown": "Slide In Down", "slideinup": "Slide In Up", "slideinleft": "Slide In Left", "slideinright": "Slide In Right", "rotating": "Rotating", "rotatein": "Rotate In", "rotateindown": "Rotate In Down", "rotateinup": "Rotate In Up", "rotateinleft": "Rotate In Left", "rotateinright": "Rotate In Right", "fadeout": "Fade Out", "fadeoutdown": "Fade Out Down", "fadeoutup": "Fade Out Up", "fadeoutleft": "Fade Out Left", "fadeoutright": "Fade Out Right", "zoomout": "Zoom Out", "zoomoutdown": "Zoom Out Down", "zoomoutup": "Zoom Out Up", "zoomoutleft": "Zoom Out Left", "zoomoutright": "Zoom Out Right", "bounceout": "Bounce Out", "bounceoutdown": "Bounce Out Down", "bounceoutup": "Bounce Out Up", "bounceoutleft": "Bounce Out Left", "bounceoutright": "Bounce Out Right", "slideoutdown": "Slide Out Down", "slideoutup": "Slide Out Up", "slideoutleft": "Slide Out Left", "slideoutright": "Slide Out Right", "rotateout": "Rotate Out", "rotateoutdown": "Rotate Out Down", "rotateoutup": "Rotate Out Up", "rotateoutleft": "Rotate Out Left", "rotateoutright": "Rotate Out Right", "effects": "Effects", "lightspeedin": "Light Speed In", "bounce": "Bounce", "pulse": "Pulse", "rubberband": "Rubber Band", "flash": "Flash", "swing": "Swing", "jello": "Jello", "tada": "Tada", "wobble": "Wobble", "rollin": "Rollin", "headshake": "Head Shake", "shake": "Shake", "animate_speed": "Speed", "fast": "Fast", "slow": "Slow", "fastest": "Fastest", "slowest": "Slowest", "animation_delay": "Delay", "hide_desktop": "Hide On Desktop", "hide_tablet": "Hide On Tablet", "hide_mobile": "Hide On Mobile", "ele_id": "Element ID", "ele_id_desc": "You can add your custom ID without Hash(#)", "ele_classes": "CSS Class", "ele_classes_desc": "You can add your custom Class without dot(.)", "row": "Row", "con_width": "Container Width", "con_width_exp": "The default value of row container max-width: 1170px, you can change it here", "auto": "Auto", "full_width": "Full", "fixed_width": "Fixed", "fixed_con_width": "Fixed Content Width", "row_width": "Row Width", "col_gap": "Columns Gap", "auto_width": "Auto", "fit_to_screen": "Fit Screen", "min_height": "Min Height", "row_bg_type": "Background Type", "background_type": "Background Type", "parallax": "Parallax", "video_src_label": "Video URL", "video_src_desc": "Paste the URL of a video (YouTube, Vimeo, Dailymotion, etc) or choose from your media library", "overlay_type": "Background Type", "overlay_img_attachment": "Attachment", "overlay_bg_posx": "Position X", "overlay_bg_posy": "Position Y", "overlay_bg_repeat": "Repeat", "overlay_bg_size": "Size", "overlay_transperancy": "Transparency", "overlay_hover_delay": "Delay", "overlay_type_hover": "Background Type", "overlay_img_attachment_hover": "Attachment", "overlay_bg_posx_hover": "Position X", "overlay_bg_posy_hover": "Position Y", "overlay_bg_repeat_hover": "Repeat", "overlay_bg_size_hover": "Size", "overlay_transperancy_hover": "Transperancy", "shape_position": "Position", "Top": "Top", "Bottom": "Bottom", "shape_type": "Type", "Arrow": "Arrow", "BigTriangle": "BigTriangle", "Curve": "Curve", "Clouds": "Clouds", "Mountains": "Mountains", "Pyramids": "Pyramids", "Stamp": "Stamp", "Slit": "Slit", "Split": "Split", "Tilt": "Tilt", "Waves": "Waves", "Zigzag": "Zigzag", "shape_bg_color": "Color", "shape_width": "Width", "shape_height": "Height", "shape_flip": "Flip", "row_bg_styles": "Background", "row_bg_overlay": "Background Overlay", "shape_styles": "Shape Styles", "column": "Column", "widget_space": "Widgets Space", "width_custom": "Custom Width", "col_bg_type": "Background Type", "col_bg_styles": "Background", "col_bg_overlay": "Overlay", "image_link_desc": "Click on image to open the link. (ex. http:\/\/yoursite.com\/)", "open_link_in_new_window": "Open link in new window (tab)", "typography": "Typography", "heading_styles": "Heading Styles", "text_shadow": "Text Shadow", "filter": "CSS Filters", "quote": "Quote", "quotes_content_label": "Content", "quotation": "Quotation", "double_quotation": "Double Quotation", "quotation_pos_label": "Quotation Position", "overlay": "Overlay", "quotation_size_label": "Size", "quotation_color_label": "Color", "quotation_top_label": "Top", "quotation_left_label": "Left", "quotation_double_indent_label": "Indent", "quote_content_typo": "Typography", "quotes_cite_label": "Cite", "quotes_cite_desc": "Quote Author name", "cite_typo": "Typography", "quotes_url_label": "URL", "quotes_url_desc": "Author URL", "quotes_content_color_label": "Color", "quote_left_border_width": "Width", "quote_border_color": "Color", "quote_left_padding": "Left Spacing", "quote_vertical_padding": "Top Bottom Spacing", "quotes_cite_color_label": "Color", "qoute_styles": "Quote Style", "cite_styles": "Cite", "left_border": "Left Border", "list_item": "List Item", "list_items_label": "Name", "list_items_default": "List Item", "list_item_url_label": "URL", "list_show_icon": "Show Icon", "list": "List", "style": "Style", "list_list_type_circle": "Circle", "list_list_type_disc": "Disc", "list_list_type_square": "Square", "list_list_type_armenian": "Armenian", "list_list_type_georgian": "Georgian", "list_color_label": "Color", "list_typo": "Typography", "list_item_indent_label": "Indent", "list_spacing_label": "Space Between", "list_side_spacing_label": "Left Spacing", "list_icon_color_label": "Color", "list_icon_size_label": "Size", "text_style": "Text Style", "type": "Type", "divider": "Divider", "service_box_icon_border_color_label": "Border Color", "icon": "Icon", "obj_size_label": "Size", "icon_link_field_label": "Link", "service_box_icon_color_label": "Color", "service_box_icon_custom_size_label": "Custom size", "service_box_icon_custom_size_desc": "Font Size", "service_box_icon_rotate": "Rotate", "service_box_icon_background_color_label": "Background color", "service_box_icon_background_size": "Background Space", "icon_animation": "Animation", "icon_style_hover": "Style and Hover Effects", "Grow": "Grow", "Shrink": "Shrink", "Pulse": "Pulse", "Push": "Push", "Pop": "Pop", "Buzz": "Buzz", "Float": "Float", "Sink": "Sink", "Bob": "Bob", "Hang": "Hang", "Rotate": "Rotate", "icon_style": "Icon Style", "Badge": "Badge", "badge_text_color_label": "Color", "badge_text": "Label", "badge_url_label": "URL", "badge_spacing": "Space Between", "badge_notification_type": "Type", "Primary": "Primary", "Secondary": "Secondary", "Success": "Success", "Warning": "Warning", "Danger": "Danger", "Info": "Info", "Light": "Light", "Dark": "Dark", "Custom": "Custom", "badge_text_background_label": "Background Color", "badge_style": "Badge Style", "btn_badge": "Button Badge", "Pills": "Pills", "badge_vertical_align": "Vertical Align", "button_badge": "Button Badge", "badge_btn_type": "Type", "badge_btn_background_label": "Background Color", "text_size": "Typography", "badge_text_size": "Typography", "horizontal_spacing": "Left Right Spacing", "Tooltip": "Tooltip", "tooltip_align": "Align", "hover_me": "Hover Me", "show_icon": "Show Icon", "tooltip_icon": "Icon", "tooltip_icon_alignment": "Alignment", "tooltip_text": "Content", "tooltip_positon": "Position", "tooltip_text_alignment": "Alignment", "tooltip-width": "Width", "tooltip_icon_color": "Color", "icon_space": "Space Between", "tooltip_title_color": "Color", "tooltip_title_size": "Typography", "tooltip_text_shadow": "Text Shadow", "tooltip_background_color": "Background Color", "tooltip_text_color": "Color", "tooltip_spacing": "Inner Space", "tooltip_shadow": "Box Shadow", "tooltip_text_size": "Typography", "tooltip_style": "Tooltip Style", "image_src_label": "Select Image", "image_src_desc": "Drop an Image or Choose an image from Media Library", "custom_url": "Custom URL", "lightbox": "Lightbox", "image_rel_label": "Link 'rel' value for your custom lightbox", "gallery_grid_caption_label": "Show image caption", "gallery_grid_caption_desc": "You can set caption in media library", "image_overlay_effect_label": "Hover Effect", "image_overlay_effect_desc": "Check to add overlay, It will show up when hover on image", "Middle": "Middle", "icon_color": "Color", "icon_custom_size": "Size", "icon_custom_size_desc": "You can give a custom size to the icon", "content": "Content", "open_in_pleditor": "Edit with Pagelayer", "image_overlay_background": "Background Color", "image_show_always": "Show Always", "max-width-percent": "Max Width(%)", "image_style": "Image", "caption_style": "Caption", "overlay_style": "Overlay", "slider_options": "Slider Options", "image_slider_ids_label": "Edit Slides", "media_library_images_ids_desc": "Select images from Media Library", "image_slider_ids_text": "Organize Images", "slider_controls": "Controls", "Arrows": "Arrows", "image_slider_animation": "Animation", "image_slider_animation_desc": "Preview the page to view the animation", "Fade": "Fade", "slider_animation_speed": "Animation Speed(s)", "image_slider_loop": "Loop", "image_slider_loop_desc": "Loop images in slider", "slider_height": "Adaptive Height", "slider_height_desc": "The slider height should change on the fly according to the current slide", "image_slider_slideshow_speed_label": "Slideshow Speed", "image_slider_auto": "Auto Start", "image_slider_auto_desc": "Check to auto start slider", "auto_hover": "Pause on hover", "auto_hover_desc": "If enabled, the slider will pause when you hover over the slider", "slider_auto_direction": "Direction", "slider_auto_direction_desc": "Select direction for slider", "Next": "Next", "Previous": "Previous", "grid_gallery_images": "Select images for gallery", "attachment_page": "Attachment Page", "btn_type_custom": "Custom", "button_link_label": "Link", "btn_bg_color_label": "Background Color", "btn_color_label": "Color", "btn_hover_delay_label": "Hover Speed", "btn_hover_delay_desc": "Time to delay the hover in ms", "btn_bg_color_hover_label": "Background Color", "btn_color_hover_label": "Color", "border_color_label": "Border Color", "border_type_hover": "Type", "border_color_hover_label": "Border Color", "border_width_hover": "Border Width", "border_radius_hover": "Border Radius", "btn_style": "Button Style", "border_style": "Border", "social_url_label": "URL", "social": "Social", "social_name": "Name", "official": "Official", "social_color_label": "Color", "social_bg_color_label": "Background Color", "social_style": "Social Style", "Lightbox": "Lightbox", "Autoplay": "Autoplay", "mute": "Mute", "loop": "Loop", "video_style": "Video", "overlay_style": "Overlay", "service_box_image_icon_label": "Choose Image", "service_image_spacing": "Spacing Around", "service_box_image_icon_size_label": "Size", "service_img_custom_size_label": "Custom Size", "service_box_heading_label": "Heading", "open_in_wpeditor": "Open in SitePad Editor", "service_box_text_label": "Content", "show_btn": "Show Button", "service_box_media_alignment": "Image Alignment", "service_box_media_vertical_alignment": "Vertical Alignment", "service_box_text_alignment": "Content Alignment", "service_box_heading_alignment": "Heading Alignment", "justify": "Justify", "service_btn_url_label": "URL", "service_button_text_label": "Text", "service_heading_spacing": "Bottom Spacing", "service_heading_color": "Color", "service_heading_typo": "Typography", "service_text_color": "Color", "service_text_typo": "Typography", "service_btn_spacing": "Top Spacing", "iconbox_btn_text_size": "Size", "button_state": "Button State", "iconbox_button_color": "Color", "service_button_bg_color": "Background Color", "service_btn_hover_delay": "Delay", "service_button_bg_color_hover": "Background Color", "service_content_style": "Content", "service_img_style": "Image Style", "service_heading_style": "Heading", "service_btn_style": "Button", "iconbox_font_icon_label": "Icon", "iconbox_icon_view": "Frame", "Default": "Default", "Stacked": "Stacked", "Framed": "Framed", "iconbox_icon_shape_label": "Shape", "Square": "Square", "Circle": "Circle", "service_icon_padding": "Padding", "service_icon_border": "Icon Border", "iconbox_box_heading_label": "Heading", "iconbox_box_text_label": "Content", "iconbox_box_media_alignment": "Alignment", "iconbox_box_media_vertical_alignment": "Vertical Alignment", "iconbox_box_text_alignment": "Content Alignment", "iconbox_btn_url_label": "URL", "iconbox_button_text_label": "Label", "service_icon_spacing": "Spacing", "icon_state": "State", "state": "State", "iconbox_icon_color": "Color", "service_icon_background_color": "Background Color", "service_icon_size": "Size", "service_icon_rotate": "Rotate", "border": "Border", "icon_border_type": "Border", "icon_border_color_label": "Color", "icon_border_width": "Width", "service_icon_hover_delay": "Delay", "service_icon_color_hover": "Color", "service_icon_background_color_hover": "Background Color", "service_icon_size_hover": "Size", "service_rotate_hover": "Rotate", "icon_border_type_hover": "Border", "icon_border_color_hover_label": "Color", "icon_border_width_hover": "Width", "service_icon_style": "Icon Style", "tabs": "Tabs", "tabs_icon_spacing": "Icon Spacing", "tab": "Tab", "tab_name": "Tab", "tabs_padding_label": "Inner Space", "tabs_vertical": "Vertical Tabs", "tabs_rotate": "Auto rotate (s)", "Center": "Center", "tab_title_typo": "Typography", "tabs_holder_styles": "Tabs Holder", "tab_content_typo": "Typography", "accordion": "Accordion", "accordion_item_title_label": "Section title", "accordion_name": "Accordion", "accordion_title_typo": "Typography", "accordion_content_typo": "Typography", "Collapse": "Collapse", "collapsse_title_typo": "Typography", "collapse_content_typo": "Content", "space": "Space", "embed": "Embed", "embed_paste_code": "Paste HTML code", "shortcodes": "Shortcodes", "shortcodes_paste_code": "Shortcode", "shortcodes_paste": "Paste your shortcode here", "google_map_address_label": "Address", "google_map_address_desc": "To find a specific address or location, just enter what you're looking for and press Enter", "google_map_noscroll": "Deactivate Scroll", "google_map_zoom_label": "Zoom", "google_map_height": "Height", "testimonial": "Testimonial", "testimonial_content_label": "Content", "testimonial_image_label": "Image", "testimonial_image_desc": "Upload your Image", "image_shape": "Shape", "square": "Square", "circle": "Circle", "testimonial_cite_label": "Name", "testimonial_cite_desc": "Enter author name", "testimonial_designation_label": "Designation", "testimonial_cite_title_size_desc": "Enter Author Designation", "testimonial_url_label": "Link", "testimonial_url_desc": "Author URL", "position": "Position", "aside": "Aside", "testimonial_alignment_label": "Alignment", "testimonial_border_color_label": "Color", "content_style": "Content", "testimonial_color_label": "Color", "testimonial_image_sizes": "Size", "author_spacing": "Space Between", "cite_spacing": "Spacing", "testimonial_name_color_label": "Color", "cite_style": "Typography", "cite": "Cite", "testimonial_title_color_label": "Color", "cite_designation_style": "Typography", "designation": "Designation", "avatar_style": "Avatar", "progress_title": "Title", "progress_text": "Content", "progress_type": "Type", "percentage": "Percentage", "progress_height": "Height", "hide_percentage": "Hide Percentage", "progress_bar_color": "Color", "title_color": "Color", "title_size": "Typography", "progress_text_color": "Color", "progress_percent_color": "Color", "heading_style": "Heading", "percentage": "Percentage", "block_color": "Color", "block_height": "Height", "Alert": "Alert", "alert_title": "Title", "alert_content": "Content", "alert_icon": "Icon", "alert_type_primary": "Primary", "alert_type_secondary": "Secondary", "alert_type_success": "Success", "alert_type_info": "Info", "alert_type_warning": "Warning", "alert_type_danger": "Danger", "alert_type_dark": "Dark", "alert_type_custom": "Custom", "is_dismissible": "Is Dissmisible", "alert_font_size": "Size", "alert_icon_spacing": "Spacing", "alert_icon_color": "Color", "alert_bg_color": "Background Color", "alert_title_color": "Color", "title_typo": "Typography", "alert_content_color": "Color", "Anchor": "Anchor", "Stars": "Stars", "rating_title": "Title", "stars_count": "Number of Stars", "stars_rating": "Rating", "counter_number_size": "Typography", "stars_font_size": "Size", "stars_spacing": "Spacing", "stars_color": "Color", "unmarked_star_color": "Unmarked Color", "stars_style": "Stars Style", "wp_widgets_area_no_sidebars": "There are no sidebars", "wp_widgets_area_description": "Use this widget to add one of your Widget Areas.", "wp_widgets_area_select": "Select Area", "Divider": "Divider", "divider_border_type": "Border", "divider_color": "Color", "divider_border_weight": "Weight", "divider_border_width": "Width", "divider_gap": "Inner Spacing", "divider_alignment": "Alignment", "Counter": "Counter", "starting_number": "Starting Number", "Ending_number": "Ending Number", "counter_animation_duration": "Animation Duration", "number_prefix": "Prefix", "number_suffix": "Suffix", "thousand_seperator": "Thousand Seperator", "thousand_seperator_type": "Seperator type", "Dot": "Dot", "Space": "Space", "counter_text": "Content", "counter_align": "Alignment", "counter_number_color_label": "Color", "counter_text_color_label": "Color", "counter_text_style": "Typography", "counter_style": "Counter Style", "counter_label_style": "Title", "row_height": "Height", "column_pos" : "Column V-Align", "content_pos" : "Content V-Align", "color_hover" : "Color Hover", "col_width" : "Column Width", "link_settings" : "Link", "enable_slideshow" : "Enable Slideshow", "slideshow_speed" : "Speed in seconds", "slideshow_start" : "Start with slide number", "slider_transition" : "Slider Animation", "slider_preload" : "Preload Slides", "slider_options" : "Slider Options", "arrow_styles" : "Arrow Style", "pager_styles" : "Pager Options", "arrows" : "Show Arrows", "background_size" : "Background Size", "size" : "Size", "background_shape" : "Background Shape", "pager" : "Pager", "active_pager_color" : "Active Pager Color", "pager_overlay" : "Overlay Pager", "menu_list" : "Menu List", "menu_item" : "Menu Item", "divider_color" : "Divider Color", "thickness" : "Thickness", "space_bottom" : "Bottom Space", "item_details" : "Item Details", "desc_style" : "Description", "includes_default" : "Cheese | Pepper | Mushrooms", "desc_default" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "menu_name" : "Menu", "animated_heading" : "Animated Heading", "rotate_default" : "Effects,Rotates,&More", "rotate_text" : "Rotate Text", "after_text" : "After Text", "misc_style" : "Miscellaneous", "blob_1_color" : "Blob1 Color", "blob_2_color" : "Blob2 Color", "blob_3_color" : "Blob3 Color", "blob_4_color" : "Blob4 Color", "blob_5_color" : "Blob5 Color", "blob_6_color" : "Blob6 Color", "blob_7_color" : "Blob7 Color", "stroke_thickness" : "Stroke Thickness", "stroke_color" : "Stroke Color", "rotate_color" : "Rotate Color", "rotate-1" : "Rotate-1", "rotate-2" : "Rotate-2", "rotate-3" : "Rotate-3", "loading-bar" : "Loading-Bar", "slide" : "Slide", "clip" : "Clip", "zoom" : "Zoom", "scale" : "Scale", "push" : "Push", "blobs" : "Blobs", "stroke" : "Stroke", "btn_grp" : "Button Group", "download_btn" : "Download Button", "playpause_style" : "Play Pause Style", "space_around" : "Space Around", "duration_style" : "Duration Time Style", "show" : "Show", "progress_style" : "Progress Bar Style", "loaded_color" : "Loaded Color", "current_color" : "Current Color", "hovered_color" : "Hover Color", "handle_color" : "Handle Color", "current_style" : "Current Style", "volume_style" : "Volume Style", "volume_slider" : "Volume Slider", "video_slider" : "Video Slider", "add_media" : "Add Media", "cta" : "Call To Action", "opacity" : "Opacity", "subheading_styles" : "Subheading style", "content_styles" : "Content Box Style", "verticle_postion" : "Vertical Position", "shadow_pos" : "Shadow Position", "shadow_color" : "Shadow Color", "ribbon_text_default" : "New Arrivals", "close_style" : "Close", "horizontalbar_chart" : "Horizontal Bar Chart", "radar" : "Radar Chart", "doughnut_chart" : "Doughnut Chart", "polararea" : "Polar Area", "legend_pos" : "Legend Position", "custom_dimension" : "Custom Dimension", "label_style" : "Labels", "colors" : "Colors", "datasets" : "Datasets", "dataset_name" : "Dataset", "ticks_style" : "Ticks", "axis" : "Axis", "x-axis" : "X-Axis", "y-axis" : "Y-Axis", "begin_at_zero" : "Begin At Zero", "fill_color" : "Fill Color", "after" : "After", "post_excerpt" : "Post Excerpt", "featured_img" : "Featured Image", "fallback_img" : "Fallback Image", "breadcrumb" : "Breadcrumb", "home_label" : "Homepage Anchor Text", "search_prefix" : "Search Page Prefix", "404_prefix" : "404 Page Prefix", "cur_color" : "Active Color", "prefix_style" : "Prefix Style", "breadcrumb_prefix" : "Breadcrumb Prefix", "search_prefix" : "Search Page Prefix", "404_prefix" : "404 Page Prefix", "post_folio" : "Post Portfolio", "columns" : "Columns", "post_per_page" : "Posts Per Page", "ratio" : "Height Ratio", "row_gap" : "Row Gap", "show_title" : "Show Title", "filter_style" : "Filter Style", "filter_by" : "Filter By", "btn_padding" : "Button Padding", "space_between" : "Space Between", "search_form" : "Search Form", "form_type" : "Form Type", "button_type" : "Button Type", "button_text" : "Button Text", "button_icon" : "Button Icon", "font_size" : "Font Size", "post_nav" : "Post Navigation", "input_style" : "Input Style", "prev_label" : "Previous Label", "next_label" : "Next Label", "arrows_list" : "Arrows List", "in_same_term" : "Same Taxonomy Term", "Post_taxonomy" : "Post Taxonomy", "post_type" : "Post Type", "post_commment" : "Post Comments", "theme_commment" : "Theme Comments", "post_info" : "Post Info", "post_info_list" : "Post Info List", "terms_style" : "Tags & Categories Style", "post_list" : "Post List", "post_title" : "Post Title", "classic" : "Classic", "full_screen" : "Full Screen", "placeholder" : "Place Holder", "focus" : "Focus", "width" : "Width", "separator" : "Separator", "skin" : "Skin", "current" : "Current", "author" : "Author", "date" : "Date", "time" : "Time", "comments" : "Comments", "terms" : "Terms", "date_format" : "Date Format", "time_format" : "Time Format", "custom_date_format" : "Custom Date Format", "custom_time_format" : "Custom Time Format", "before" : "Before", "custom_link" : "Custom Link", "primary_menu" : "Primary / Mega Menu", "select_menu" : "Select Menu", "icon_list" : "Icon List", "dropdown" : "Dropdown", "pointer" : "Pointer", "underline" : "Underline", "overline" : "Overline", "double_line" : "Double Line", "toggle_style" : "Toggle Style", "submenu_style" : "Submenu Style", "menu_style" : "Menu Style", "left_margin" : "Left Margin", "vertical_padding" : "Vertical Padding", "horizontal_padding" : "Horizontal Padding", "plus" : "Plus", "arrow_down" : "Arrow Down", "caret_down" : "Caret Down", "sbmenu_indicator" : "Submenu Indicator", "lower_alpha" : "Lower Alpha", "lower_roman" : "Lower Roman", "upper_roman" : "Upper Roman", "upper_alpha" : "Upper Alpha", "inherit" : "Inherit", "decimal" : "Decimal", "list_style" : "List Style", "slide" : "Slide", "drop_in" : "Drop In", "label_style" : "Label Style", "separator_style" : "Separator Style", "theme_tamplate" : "Theme Template", "Drop_out" : "Drop Out", "on_hover" : "On Hover", "posts" : "Posts", "box_shadow" : "Box Shadow", "box_shadow_hover" : "Shadow on Hover", "thumb_style" : "Thumbnail Style", "show_thumb" : "Show Thumbnail", "medium_large" : "Medium Large", "top_bottom_spacing" : "Top Bottom Spacing", "meta_options" : "Meta Options", "category" : "Category", "show_content" : "Show Content", "excerpt" : "Excerpt", "more_style" : "Read More Style", "no_tag" : "No Tag", "no_widget_class" : "No Widget Class", "invalid_post_id" : "Invalid post ID", "post_update_err" : "Unable to update the Post content for some reason", "post_update_success" : "Post Content was updated successfully!", "no_widget_area" : "No such Widget Area !", "invalid_revision" : "Invalid revision", "rev_load_error" : "Unable to load the Post revision content for some reason", "rev_load_success" : "Post revision was loaded successfully!", "access_denied" : "Access denied.", "delete_rev_error" : "Can't delete this revision.", "delete_rev_success" : "Revision was deleted Successfully", "hide_name" : "Hide Name", "animation_direction" : "Animation Direction", "animation_duration" : "Animation Duration", "front_section" : "Front Section", "visual_element" : "Visual Element", "flip" : "Flip", "slide" : "Slide", "push" : "Push", "zoom-in" : "Zoom In", "zoom-out" : "Zoom Out", "fade" : "Fade", "content_width" : "Content Width", "icon_label" : "Icon", "icon_view" : "Frame", "icon_color" : "Icon Color", "icon_background_color":"Background Color", "icon_border_color" : "Border Color", "back_section" : "Back Section", "text_color" : "Text Color", "text_style" : "Text Style", "icon_background_size": "Background Space", "size_label" : "Size", "icon_custom_size" : "Custom Size", "icon_rotate" : "Rotate", "background_attachment" : "Attachment", "back_side" : "Flipbox Back Side", "border_color" : "Border Color", "button_color" : "Color", "button_size" : "Size", "image_size" : "Image Size", "img_custom_size" : "Custom Size", "content" : "Content", "background_gradient" : "Gradient", "app_id" : "Facebook App ID", "post_link_type" : "Post Link Type", "page_url" : "Custom Link", "share_btn" : "Share Button", "liked_faces" : "People Faces", "layout_type" : "Layout", "standard" : "Standard", "box_count" : "Box Count", "button_count" : "Button Count", "btn_action": "Action", "like" : "Like", "recommend" : "Recommend", "color_scheme" : "Color Scheme", "current_url" : "Current URL", "btn_size" : "Button Size", "post" : "Post", "comment" : "Comment", "embed_type" : "Embed Type", "post" : "Post", "post-url" : "Post URL", "video-url" : "Video URL", "comment-url" : "Comment URL", "full_post" : "Full Post", "autoplay" : "Autoplay", "captions" : "Captions", "parent_comments" : "Parent Comments", "comments_count" : "Number of Comments", "comments_width" : "Width", "comments_order" : "Order", "social" : "Social", "reverse_time" : "Reverse Time", "time" : "Time", "page_link" : "Page URL", "tabs" : "Tabs", "timeline" :"Timeline", "events" : "Events", "messages" : "Messages", "page_height" : "Height", "small_header" : "Small Header", "hide_cover" : "Hide Cover", "cta_button" : "Facebook CTA Button", "author_Name" : "Author Name", "author_Name_color" : "Author Color", "author_title" : "Author Title", "author_title_color" : "Title Color", "author_rating" : "Authors Rating", "author_url" : "Author URL", "author_Icon" : "Icon", "review" : "Review", "rw_image_width" : "Image size", "seperator_color" : "Seperator Color", "seperator_width" : "Seperator Size", "rw_text_color" : "Review Color", "background_color" : "Background Color", "slides_to_display" : "Slides to View", "navigation" : "Navigation Arrows", "bullets" : "Dots", "slider_pause_on_hover" : "Pause On Hover", "rtl" : "Right To Left", "slide_content" : "Slide Content", "stars_style" : "Stars", "slide_style" : "Slide Style", "templates" : "Templates", "archive_title" : "Archive Title", "select_templates" : "Select Templates", "post_content" : "Post Content", "slider_options" : "Slider Options", "submit_button_label" : "Submit Button Label", "submit_fonts_family" : "Submit Button Font Family", "use_recaptcha" : "Use Google reCaptcha", "use_recaptcha_desc" : "Protect this form from spam and abuse. Configure Google reCAPTCHA in plugin settings first.", "form_id" : "Form ID", "label_name" : "Label Name", "form_id_desc" : "Is used in e-mail template. This should be unique for every contact form in the page", "form_name" : "Form Name", "form_name_desc" : "Is used in e-mail subject", "input_field_type" : "Select Field Type", "e-mail" : "E-Mail", "number" : "Number", "telephone" : "Telephone", "checkbox" : "Checkbox", "radio" : "Radio", "textarea" : "Textarea", "select" : "Select", "values" : "Field Values", "required_label" : "Required Label", "show_label_as_placeholder" : "Show Label as PlaceHolder", "input_field_name" : "Input Field Name", "author_box" : "Author Box", "contact_item" : "Contact Item", "contact_form" : "Contact Form", "field_name" : "Input Field", "box_source_type" : "Source Type", "current_author" : "Current Author", "custom_image" : "Custom Image", "author_picture" : "Author Picture", "show_name" : "Show Name", "display_name" : "Display Name", "name_style" : "Name Style Tag", "show_site" : "Show Website", "author_website" : "Author Website", "show_website_btn" : "Show Website as Button", "show_bio" : "Show Author Bio", "description" : "Description", "show_archive_btn" : "Show Archive Button", "archive_btn_txt" : "Archive Button Text", "extra_small" : "Extra Small", "gap" : "Gap", "btn_gap" : "Button Gap", "remember_me" : "Remember Me", "lost_pass" : "Lost your Password ?", "custom_label" : "Custom Label", "custom_label_username" : "Custom Label for Username", "custom_placeholder_login" : "Custom PlaceHolder for Login", "custom_label_password" : "Custom Label for Password", "custom_placeholder_password" : "Custom PlaceHolder for Password", "redirect_login" : "Redirect After Login", "login_redirect_url" : "Login Redirect URL", "redirect_url_desc" : "redirect link ex. https://your-link.com", "redirect_logout" : "Redirect After Logout", "logout_redirect_url" : "Logout Redirect URL", "link_color_hover" : "Link Color Hover", "title_tags" : "Title Name Style", "nofollow" : "No Follow", "protected_post" : "Protected Post", "title_color" : "Title Color", "title_typography" : "Title Typography", "list_color" : "List Color", "list_typography" : "List Typography", "taxonomy" : "Taxanomy", "source" : "Source", "order_by" : "Order By", "order" : "Order", "menu_order" : "Menu Order", "random" : "Random", "id" : "ID", "asc" : "ASC", "desc" : "DESC", "hide_empty" : "Hide Empty", "hierarchical_view" : "Hierarchical View", "depth" : "Depth", "list_option" : "List Option", "additional_option" : "Additional Option", "login" : "Login", "sitemap" : "Sitemap", "sitemap_item" : "Sitemap Item", "form_style" : "Form Style", "sitemap_disc": "Disc", "sitemap_square": "Square", "sitemap_circle": "Circle", "sitemap_none": "None", "horizontal_pos" : "Horizontal Position", "verticle_pos" : "Verticle Position", "content_box_style" : "Content Box Styles", "sub_style" : "Sub Heading", "height" : "Height", "number_of_items" : "Number of Items", "arraow_size" : "Arrow Size", "dot_size" : "Dot Size", "active_dot_size" : "Active Dot Size", "autoplay_timeout" : "Autoplay Timeout", "autoplay_hover_pause" : "Autoplay Hover Pause", "slides" : "Slides", "pulse_color" : "Pulse Color", "rounded" : "Rounded", "theme" : "Theme", "social_share" : "Social Share", "count_in_line" : "Icon Count in One Line", "icon_shape_boxed" : "Boxed", "space_between_col" : "Space Between (Vertical)", "space_between_row" : "Space Between (Horizontal)", "aspect_ratio" : "Aspect Ratio", "table_row" : "Table Row", "odd_row_bg" : "Odd Row background", "even_row_bg" : "Even Row background", "table_cell" : "Table Cell", "data" : "Data", "cell_type" : "Cell Type", "standard_cell" : "Standard Cell", "header_cell" : "Header Cell", "colspan" : "Colspan", "rowspan" : "Rowspan", "delay" : "Delay", "splash_screen" : "Splash Screen", "custom_height" : "Custom Height", "custom_width" : "Custom Width", "company_performance" : "Company Performance", "chart_dataset" : "Chart Dataset", "countdown_timer" : "Countdown Timer", "pricing_table" : "Pricing Table", "exc_length" : "Excerpt Length", "remember_me" : "Remember Me", "lost_your_password" : "Lost Your Password", "redirect_login" : "Redirect on Login", "redirect_login_url" : "Login Redirect URL", "redirect_logout" : "Redirect on Logout", "redirect_logout_url" : "Logout Redirect URL", "link_hover_color" : "Link Hover Color", "show_label" : "Show Label", "custom_label" : "Custom Label", "custom_username_label" : "Custom Username Label", "custom_username_placeholder" : "Custom Username Placeholder", "custom_password_label" : "Custom Password Label", "custom_password_placeholder" : "Custom Password Placeholder", "includes_styles" : "Includes", "angle" : "Angle", "angle_double" : "Angle Double", "arrow_circle" : "Arrow Circle", "arrow_circle_O" : "Arrow Circle O", "chevron" : "Chevron", "chevron_circle" : "Chevron Circle", "caret" : "Caret", "long_arrow" : "Long Arrow", "last_day" : "Last Day", "last_week" : "Last Week", "last_month" : "Last Month", "last_year" : "Last Year", "include_by" : "Include By", "exclude_by" : "Exclude By", "include" : "Include", "term" : "Term", "ignore_sticky_posts" : "Ignore Sticky Posts", "offset" : "Offset", "posts_options" : "Posts Options", "enable_slider" : "Enable Slider", "reviews" : "Reviews", "author_style" : "Author Style", "review_style" : "Review Style", "seperator_style" : "Seperator Style", "show_avatar" : "Show Avatar", "testimonial_slider" : "Testimonial Slider", "add_temp" : "Add New Pagelayer Template", "edit_temp" : "Edit Pagelayer Template", "temp_update_success" : "The Template was saved successfully", "temp_error" : "There was an error saving the template", "temp_error_type" : "The template type is invalid", "edit_using" : "Edit using Pagelayer", "export_template" : "Export Template", "temp_export_empty" : "There are no templates to export !", "temp_export_success" : "The template files were exported successfully", "woo_breadcrumb" : "Woo Breadcrumb", "product_images" : "Product Images", "sale_flash" : "Flash Sale", "thumbnails" : "Thumbnails", "product_price" : "Product Price", "sale_price" : "Sale Price", "add_to_cart" : "Add To Cart", "quantity" : "Quantity", "variations" : "Variations", "product_rating" : "Product Rating", "star_color" : "Star Color", "empty_star_color" : "Empty Star Color", "star_size" : "Star Size", "product_meta" : "Product Meta", "inline_block" : "Inline Block", "product_short_desc" : "Product Short Desc", "column_gap" : "Column Gap", "regular_price" : "Regular Price", "products_style" : "Products Style", "box_style" : "Box Style", "pagination_style" : "Pagination Style", "sale_flash_style" : "Flash Sale Style", "no_found_style" : "Not Found Style", "distance" : "Distance", "product_archives" : "Product Archives", "allow_order" : "Allow Order", "show_result_counter" : "Show Result Counter", "no_found_msg" : "Not Found Message", "related_upsell_products" : "Related/Upsell Products", "product_type" : "Product Type", "products_per_page" : "Products Per Page", "view_cart" : "View Cart", "woo_pages" : "WooCommerce Pages", "cart_page" : "Cart Page", "single_product_page" : "Single Product Page", "checkout_page" : "Checkout Page", "order_tracking_form" : "Order Tracking Form", "my_account" : "My Account", "product_categories" : "Product Categories", "limit" : "Limit", "manual_selection" : "Manual Selection", "by_parent" : "By Parent", "current_subcategories" : "Current Sub-Categories", "count" : "Count", "products" : "Products", "rows" : "Rows", "pagination" : "Pagination", "query" : "Query", "price" : "Price", "popularity" : "Popularity", "rating" : "Rating", "rand" : "Rand", "currunt_query" : "Current Query", "recent_products" : "Recent Products", "sale_products" : "Sale Products", "best_selling_products" : "Best Selling Products", "top_rated_products" : "Top Rated Products", "featured_product" : "Featured Products", "product_addi_info" : "Additional Information", "archive_posts" : "Archive Posts", "product_data_tabs" : "Product Data Tabs", "product_archives_desc" : "Product Archive Description", "panel_style" : "Panel Style", "animation_in" : "Animation In", "animation_out" : "Animation Out", "autoheight" : "Auto Height", "current_user_can_not" : "You do not have edit permissions", "post_setting_update_success" : "Post settings updated successfully", "post_setting_update_err" : "Unable to update the Post settings for some reason", "woo_menu_cart" : "WooCommerce Cart", "cart" : "Cart", "bag" : "Bag", "basket" : "Basket", "items_indicator" : "Items Indicator", "bubble" : "Bubble", "plain" : "Plain", "empty_indicator" : "Hide Empty Indicator", "sub_total" : "Sub Total", "hide_sub_total" : "Hide Sub Total", "product_title" : "Product Title", "remove_items" : "Remove Items", "mini_cart_style" : "Mini Cart Style", "buttons_style" : "Buttons Style", "cart_icon_color" : "Icon Color", "container_close_size" : "Container Close Size", "container_position" : "Container Position", "fixed_right" : "Fixed On Right", "fixed_left" : "Fixed On Left", "container_style" : "Container Style", "rotate_icon" : "Rotate Icon", "url" : "URL", "radio_style" : "Radio and Checkbox Style", "ele_css_desc" : "To target current widget use {{element}}. Example : {{element}} .className{ color: red; }", "dropdown_style" : "Dropdown Style", "slide-down" : "Slide Down", "slide-right" : "Slide From Right", "slide-left" : "Slide From Left", "menu_items_width" : "Menu Items Width", "slider" : "Slider", "speed_ms" : "Speed in MiSec", "post_name" : "Permalink", "post_status" : "Post Status", "service_btn_dim" : "Button Dimensions", "table_position" : "Table Position", "content_align" : "Content Align", "table_style" : "Table Style", "vertical_align" : "Vertical Alignment", "odd_row" : "Odd Row", "even_row" : "Even Row", "table_td_padding" : "Table Data Padding", "featured_image" : "Featured Image", "custom_x" : "Custom X", "custom_y" : "Custom Y", "absolute" : "Absolute", "relative" : "Relative", "ver_offset" : "Verticle Offset", "hor_offset" : "Horizontal Offset", "position_styles" : "Position Styles", "inside" : "Inside", "outside" : "Outside", "close_button" : "Close Button", "trig_onclick" : "On Click", "ele_selector" : "Element Selector", "trig_onload" : "On Page Load", "within_sec" : "Within Second", "trig_onscroll" : "On Scroll", "scroll_direction" : "Scroll Direction", "down" : "Down", "up" : "Up", "trig_onscroll_to_ele" : "On Scroll To Element", "trig_onpage_exit_intent" : "On Page Exit Intent", "within_per" : "Within(%)", "scale_down" : "Scale Down", "object_fit" : "Object Fit", "object_pos" : "Object Position", "popup_styles" : "Popup Styles", "close_by_overlay" : "Close by Overlay", "close_by_selector" : "Close by Selector", "action_triggers" : "Action Triggers", "advance_options" : "Advance Options", "popup_multi_time" : "Popup Show Multiple Time", "auto_close" : "Automatically Close After(sec)", "enable" : "Enable", "sticky" : "Sticky", "scroll_sticky" : "Scrolling Sticky", "sticky_on" : "Sticky On", "sticky_in_col" : "Sticky In Column", "btn_border_style" : "Button Border Styles", "insert" : "Insert", "frame_multi_image" : "Image Gallery", "choose_icon" : "Choose Icon", "frame_media" : "Insert Media", "phone" : "Phone", "address" : "Address", "copyright" : "Copyright", "email" : "Email", "desktop" : "Desktop", "tablet" : "Tablet", "mobile" : "Mobile", "more_options" : "More Options", "post_ettings" : "Post Settings", "pagelayer_history" : "Pagelayer History", "pagelayer_navigator" : "Pagelayer Navigator", "global_widgets" : "Global Widgets", "save_global" : "Make Global Widget", "save_as_section" : "Save as Section", "save_as_global_section" : "Make Global Section", "drop_breakpoint" : "Dropdown Breakpoint", "paginate_links" : "Paginate Links", "pagination_on" : "Pagination On", "prev_text" : "Previous Text", "next_text" : "Next Text", "pagi_end_size" : "Pagination End Size", "pagi_mid_size" : "Pagination Mid Size", "before_page_number" : "Before Page Number", "after_page_number" : "After Page Number", "paginate_links_style" : "Paginate Links Style", "number_prev_next" : "Number With Prev Next", "p_bg_color" : "Pointer / Background Color", "pointer_height" : "Pointer Height", "title_color" : "Title Color", "img_portfolio" : "Image Portfolio", "overlay_cont_pos" : "Overlay Content Position", "tooltip" : "Tooltip", "enable_overlay" : "Enable Overlay", "popup_cookie_session" : "Set Cookie Session", "popup_cookie_close" : "On Close set Cookie", "popup_cookie_selector" : "CSS Selector(s) to Set Cookie and Close Popup", "popup_cookie_selector_exp" : "Either On Close or CSS Selectors must be set for cookies to work", "popup_cookie_name" : "Cookie Name", "popup_cookie_exp" : "Cookie Expires (In Days)", "select_images" : "Please select images from the left Widget properties !", "ele_id" : "Element ID", "prefix_suffix" : "Prefix and Suffix", "prefix_name" : "Prefix Title", "suffix_name" : "Suffix Title", "mail_template" : "Mail Template", "to_email" : "To Email", "from_email" : "From Email", "additional_head" : "Additional Header", "message_body" : "Message Body", "subject" : "Subject", "custom_hf_code" : "Custom Header Footer Code", "header_code" : "Header Code", "footer_code" : "Footer Code", "subject" : "Subject", "create_mail_templ" : "Create Mail Template", "use_html" : "Use HTML", "custom_templ" : "Use Custom Template", "technology" : "Technology", "row_data_padding" : "Row Data Padding", "timeline_item" : "Timeline Item", "add_timeline_item" : "Add Timeline Item", "side" : "Side", "both" : "Both", "radius" : "Radius", "icon_size" : "Icon Size", "icon_bg_size" : "Icon Background Size", "heading_color" : "Heading Color", "image_hover" : "Image Hover", "timeline_center_circle" : "Timeline Center Circle", "bio_color" : "Bio Color", "bio_typo" : "Bio Typography", "bio_gap" : "Bio Gap", "input_hover_delay_label" : "Hover Speed", "normal_button" : "Normal", "glow_button" : "Glow", "thin_button" : "Thin", "slide_button" : "Slide", "btn_anim" : "Hover Me", "file" : "File", "btn_type_anim": "Animated Button", "hide_btn" : "Hide Button", "cap_ver_fail" : "The CAPTCHA verification failed. Please try again.", "make_link" : "Make Link", "drop_file" : "Drop File to Upload", "num_images" : "Images In a Page", "no_permission" : "Permission denied", "no_publish_permission" : "You do not have permission to publish this post !", "template_update_err" : "Unable to update the Template for some reason", "template_update_success" : "Template was updated successfully!", "trig_beforeLoad" : "Before Page Load", "popup_load_desc" : "Show popup till the page has loaded", "stop_loop" : "Stop Looping", "usr_field_desc" : "You can use a field name with a prefix $ to print your field value e.g. if the field name is fieldname then use the variable $fieldname", "xss_found" : "Following not allowed content found : ", "fallback_color" : "Fallback background color if image fails to load", "site_desc" : "Site Description", "private" : "Private", "splash_title_content_default" : "Splash Title", "login_widget_width_desc" : "Change the width here. To change the height, change the font size in typography", "error_submitting" : "There is a fatal Javascript error. Kindly copy the content by clicking on the Copy button and please contact our support by clicking on the support button", "copy" : "Copy", "support" : "Support", "copy_success" : "Copied Successfully", "error" : "Error", "container" : "Container", "hf" : "Header and Footer", "body_content" : "Body and Content", "color_notice" : "Note : By default the theme's (i.e. style.css) font and color settings would be loaded for your website. If you set any value here, it will override your theme's font and color settings. These font and color settings can be over-written by the individual element widgets as well !", "welcome_to" : "Welcome to ", "choose_pagelayer" : "Thanks for Choosing Pagelayer - The most advanced frontend drag & drop page builder. Its very easy to use and very light on the browser.", "choose_sitepad" : "Thanks for Choosing Sitepad - Build Professional websites using an easy to use drag and drop editor.", "pagelayer_desc" : "Pagelayer makes it easy to create webpage in WordPress. You can watch the video tutorial or read our guide on how to create your first page.", "sitepad_desc" : "Sitepad makes it easy to create stunning Websites. You can watch the video tutorial or read our guide on how to create your first page.", "first_page" : "Create Your First Page", "watch_guide" : "Watch the Full Guide", "brand_feature_text" : " is an awesome page builder allows you to create and design you website in a simple way possible. It is user-friendly with fully customizable widgets where user does not require any developer skills.", "dragdrop" : "Drag & Drop Editor", "dragdrop_desc" : "Design your page by dragging widgets from given choices of widget.", "oneclick" : "One Click Publish", "oneclick_desc" : "Just pick a theme, customize the content add images, audio, videos and click Publish.", "widgets" : "Widgets", "widgets_desc" : "We have large number of widgets so you can design your page by selecting the widget from widget area.", "static_pages" : "Static Pages", "static_pages_desc" : "SitePad publishes static web pages (HTML, CSS, JS) to your domain so your site performs faster.", "inline_edit" : "In-line Editing", "inline_edit_desc" : "Simply click on any text and by typing you can add your new text.", "responsive_desc" : "Websites created by SitePad are responsive and compatible with all screen sizes.", "duplicate" : "Duplicate", "duplicate_desc" : "Simply click on this option and it will create exact copy of existing element by saving your time.", "social_media" : "Social Media", "social_media_desc" : "Add links to your social media pages like Facebook, Twitter, LinkedIn, YouTube & many more.", "animation_desc" : "Create your page more attractive with animation effects that trigger when the element is in display area.", "easy_use" : "Easy to Use", "easy_use_desc" : "Simple Drag and Drop Interface to create beautiful websites without any technical knowledge.", "style_option" : "Styling Options", "style_option_desc" : "With large number of styling options you can design your page the way you want such as: background overlay, box shadow etc.", "cpanel_integrate" : "Control Panel Integration", "cpanel_integrate_desc" : "SitePad is integrated with several popular control panels like cPanel, Directadmin, etc.", "real_design" : "Real Time Design", "real_design_desc" : "Whenever you make changes on your page it gets updated instantly on your page. It helps you design your page quickly by saving your time.", "multisites" : "Multiple Sites", "multisites_desc" : "Create multiple sites each having different themes, appearences and content.", "typography_desc" : "With this feature you can beautify your page content by changing font-size, weight, transform, decoration. You can also add google fonts.", "replicate_obj" : "Replicate Objects", "replicate_obj_desc" : "Replicate objects in the drag and drop editor interface to use your customizations multiple times.", "easy_customize" : "Easily Customizable", "whmcs" : "WHMCS Module", "easy_customize_desc" : "Each widget has multiple options to fully customize the widget such as change font colors, sizing and spacing.", "whmcs_desc" : "User can Directly Access SitePad Website Builder from WHMCS Client Area.", "why" : "Why", "content_max_height" : "Content Max Height", "header_code_error" : "There is some error in your Header Code. Please rectify the same !", "footer_code_error" : "There is some error in your Footer Code. Please rectify the same !", "script_close_error" : "Closing < /script > tag is not there. Please rectify it !", "email_desc" : "To change the email, visit your WordPress Dashboard -> Pagelayer -> Settings", "CMA_desc" : "To change text, visit your WordPress Dashboard -> Pagelayer -> Settings", "images_in_page" : "Show number of images in a page. This can create a pagination.", "tooltip_display" : "Tooltip Display", "active_ele_paste_msg" : "Active element not found while pasting image !", "no_active_ele_paste" : "Active element not found while pasting element !", "no_copied" : "There is no copied element !", "copied_msg" : "Widget copied successfully", "replace_img" : "Replace Image", "paste_after" : "Paste After Widget", "active" : "Active", "disable_title" : "Disable Title", "disable_title_exp" : "It will disable only if the logo is enabled !", "img_paste_conf" : "You have pasted over an existing image. How do you want to use the image ?", "custom_profile" : "Profile Name", "disable_sep" : "Disable Separator", "message_style" : "Message Box", "clip_hide" : "Hide Clip", "show_mega_menu" : "Show Mega Menu", "only_top_level" : "Only Top Level", "text_decoration" : "Text Decoration", "elem_styles" : "Element Styles", "body_style" : "Body Style", "item_alignment" : "Item Alignment", "back_to_default" : "Restore Default", "disable_category" : "Disable Category", "ele_custom_bg_size" : "Custom Size", "show_msg_box" : "Show Message Box", "failed" : "Failed", "add_new_tag" : "Add New Tag", "show_msg_box_desc" : "Toggle to show or hide the message boxes for both success and failed. This is only for designing the messages !", "note" : "Note", "note_color" : "Note Color", "write_an_excerpt" : "Write an excerpt (optional)", "discussion" : "Discussion", "allow_comments" : "Allow Comments", "allow_p_and_t" : "Allow Pingbacks & Trackbacks", "url_slug" : "URL Slug", "perma_desc" : "This is the URL of the Post", "status_visibility" : "Status & Visibility", "password_protected" : "Password Protected", "visibility" : "Visibility", "password" : "Password", "publish_date" : "Publish Date", "sticky_post" : "Stick to the top of the blog", "page_attributes" : "Page Attributes", "post_parent" : "Parent Page", "delete_post_conf" : "Are you sure you want to delete this ?", "empty_post_content" : "The content of the post is empty. Are you sure you want to save the post with blank content.", "post_tag_desc" : "Separate with commas or the Enter key.", "post_pass_with_sticky_err" : "Publishing failed! A post can not be Sticky and have a Password.", "menu_toggle_icon_desc" : "If no icon is selected a bar icon will be shown", "download_file_name" : "Download File Name", "custom_attributes" : "Custom Attributes", "attributes" : "Attributes", "attribute_desc" : "Setting custom attribute for wrapper element. You can add attributes and their values in this way 'attribute = value' and separate key-value pairs using semicolon ;.
    Note : Allowed special characters are - _.", "google_maps" : "Google Maps", "api_version" : "API version", "api_version_desc" : "Choose the Google Maps API version. We are suggesting to use V3 as Google is deprecating V2 and V2 can stop anytime", "version2" : "Version 2", "version3" : "Version 3", "api_key" : "API key", "google_api_key_desc" : "Blank this field to use the API key from Pagelayer Settings.", "map_modes" : "Map modes", "place" : "Place", "view" : "View", "directions" : "Directions", "streetview" : "StreetView", "origin" : "Origin", "destination" : "Destination", "waypoints" : "Waypoints", "waypoints_desc" : "Place name, address, or place ID. Multiple waypoints can be specified by using the pipe character (|) to separate places (e.g. Kongsberg|Drammen). You can specify up to 20 waypoints.", "modes" : "Modes", "driving" : "Driving", "walking" : "Walking", "bicycling" : "Bicycling", "flying" : "Flying", "avoid" : "Avoid", "tolls" : "Tolls", "ferries" : "Ferries", "highways" : "Highways", "units" : "Units", "metric" : "Metric", "imperial" : "Imperial", "pano" : "Pano", "pano_desc" : "Pano is a specific panorama ID. For e.g. - eTnPNGoy4bxR9LpjjfFuOw", "location" : "Location", "heading" : "Heading", "heading_desc" : "Indicates the compass heading of the camera in degrees clockwise from North", "pitch" : "Pitch", "pitch_desc" : "Specifies the angle, up or down, of the camera", "fov" : "FOV (Field Of View)", "fov_desc" : "Determines the horizontal field of view of the image", "google_search_term" : "Search Term", "google_search_desc" : "Defines the search term.", "center_desc" : "Accepts comma-separated latitude and longitude value; for example -33.8569,151.2152", "map_type" : "Map type", "roadmap" : "Roadmap", "satellite" : "Satellite", "thumb_img_type" : "Thumbnail Image Type", "add_nofollow" : "Add Nofollow", "link_custom_attr_desc" : "Setting custom attribute for link. 'attribute = value' In this way the attribute and its value can be added. Separate key-value pairs using semicolon ;.", "link_to" : "Link To", "link_options" : "Link Options", "no_result" : "No results found.", "content_slide" : "Content Slide", "icon_type" : "Icon Type", "dot_height" : "Dot Height", "dot_width" : "Dot Width", "dot_pos" : "Dot Position", "dot_radius" : "Dot Radius", "dot_state" : "Dot State", "show_num" : "Show Number", "shape" : "Shape", "number_color" : "Number Color", "vertical_pos" : "Vertical Position", "left_arrow" : "Left Arrow", "right_arrow" : "Right Arrow", "arrow_pos" : "Arrow Position", "ken_burn_effect" : "Ken Burn", "ken_burn_speed" : "Ken Burn Speed", "ken_burn_reverse" : "Ken Burn Reverse", "loop_kenburn" : "Loop Ken Burn", "mega_width" : "Mega Width", "mega_custom_width" : "Mega Custom Width", "menu_container" : "Menu Container", "row_container" : "Row Container", "menu_setting" : "Menu Item Setting", "disable_link" : "Disable Link", "icon_position" : "Icon Position", "highlight_label" : "Highlight Label", "submenu_anim" : "Submenu Animation", "infinite_scroll" : "Infinite Scroll", "flyout" : "Flyout", "mega_menu" : "Mega Menu", "menu_type" : "Menu Type", "hide_text" : "Hide Text", "column_menu" : "Column Menu", "blend_mode" : "Blend Mode", "menu_type_desc" : "If you change it from Mega Menu to another, the Mega Menu content will be deleted on update post.", "general_options" : "General Options", "customize" : "Customize", "navigator" : "Navigator", "preview_changes" : "Preview Changes", "keyboard_shortcuts" : "Keyboard Shortcuts", "help" : "Help", "historyand_revisions" : "History and Revisions", "save_post" : "Save Post", "undo" : "Undo", "redo" : "Redo", "copy_widget" : "Copy active widget", "paste_widget" : "Paste copied widget", "duplicate_widget" : "Duplicate active widget", "tools" : "Tools", "navigator_options" : "Navigator Options", "delete_widget" : "Delete active widget", "general_shortcuts" : "General Shortcuts", "global_fonts" : "Global Fonts", "restore_global" : "Restore Global", "list_type" : "List Type", "html_tag" : "HTML Tag", "no_woo_product" : "Product not found. To view a widget preview please add WooCommerce product", "horizontal_space" : "Horizontal Space", "vertical_space" : "Vertical Space", "gallery_position" : "Gallery Container Position", "disable_gallery" : "Disable Gallery", "desc_color" : "Description color", "accept_file" : "Accept File", "after_image" : "After Image", "before_image" : "Before Image", "slider_direction" : "Slider Direction", "slider_offset" : "Slider Offset", "slider_type" : "Slider Type", "drag" : "Drag", "slider_height" : "Slider Height", "icon_position" : "Icon Position", "button_position" : "Button Position", "before_text" : "Before Text", "after_text" : "After Text", "before_button_spacing" : "Before Button Spacing", "after_button_spacing" : "After Button Spacing", "resizer" : "Resizer", "before_after_button" : "Before After Button", "before_after_image" : "Before After Image", "missing_content" : "Missing Content" }PKZY{ $ $3plugins/catch-ids/images/premium-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp VK yIDATx] xSe>ٓ6-7v(ア"ꨃ:0(3.#:?#;>"* ("tK&~Mi4iW/I&ss5(B=Æ O{E0;w ` Il Il Il Il Il Il Il IlX%Gf0Kxa9h OSBf6[<FOB[bh8ͷxJ/C4dcƞ y>/Ψh6Bjm?s9PĕZ!10zJbKt } :z x_`-df'LսɌwJrKbKtJB*M*TmI 3;f9W4ȒJ!0#\lVh 9Ls-^[R|4dn!Ӂ?77~p |7WaAM @B 3>iO%qc]lGjkk{oL=ɀu_A4E栌3-j!lM$ko!<Ҵ_v,|=fʛQ24'x<kly-q-F:UI*4%cIRKbKtjkK͠y0Iz$4%2Z d[Ⱥw2+rc$I-\hHk@.x+/}ieUKrٓRݿڜPⶢ2B˩|M/*^!/$DW#sJ%3ř"D7j,qW-mSZ5Pc --q,wP;$A%1 b's*Cb )7eI8)nc٭hYguLcw)D[3fkCiJ\&HHNӂ͡D'Tl.൦-B$$%(8TѕsMr}D-?JMR[[KMq@AU6IRC |ɴdx<4k,ڶm$8ƳMH!qn!vʅީאhuHN̪Ua<Um7} & !.yX; DUVQ vGI |94b+Bnf3Y,=˦Y)fd5dWgܪ~LѺDfwR49JR,4ҧPHV:tJ/:F"N JbG&kF&筡L=fkdeVt VXSB{^)6[pр4+HH+k ЦZe@7gķ1rbL%i #?nȞ:*bO6k풦x$@ATo>jjj"}weҕ)( RWukS]WSh7IFvH.Gp t6ʁ|'WmgJmekbM\IŅ.zljTեjtriZz@=S%ؑuV/OW^{-=c- xO@G6GC3U7"97+hShbJT)`*##tIN\_N& e_a&Q@K~eN|l􇋙8W[Y֗_~9ݻ1^W#5l-XQdW"4"]7Y[FsLUIef +-2Fnb>7u_f)_4|/s26H7kA4nSbb$D(s`DA3"ptv}&ȼAyl?C<2`\72e8ùK)))|/_N/=tsN2~i:S9׬Y?"pWsKD 'Obǔu{g,0vFT{YGůVMCɽ&1ܒ~ }ĉӣ>MqnJ #'2k.-v#F^V~@K\ZO[LoOUocMaG[^A}YL;v뮻x ͯv:fΜI}Y 3. 2c%%"pO]#}5󍷜CggѭGT?3zy9L˥US՝Xc$FhS~>EKDRO\.n~czkƍ6HThF5u>c rx86J\~dS%Xgx>L'6`͈_vn2w=bnn=C'tG'+%%Z#ߦR7պ-u~Tm Cn@MLG8,{^vMl3$fTǔ{G1. PÇ77I3D}D"&CZnNγтItJGG# _Hmd[ƔѩUyg3e1R{AN7.^WG?Nf 10-nQn(n$1vyoJSV$Oy}Nf0tՄ4ZW4FB~`d\HStFi/ϵYMOa`2MJhkm#>(c˾}"8bݻ7@;+1fڹsgEl[tcym'|Bgu_?gΜf[lon}|W!pnKb=!#}&1)hflL_#e #i4R 1cNbwU9"S^!ذaڵK{}}j6$: pBI.2?...V[?N" o03$[T0v6!EE.e$KdN]_N?7@qasg}6y!>7~msb, ~RCakOsVOOiii4~x >B32l)4 q_,`vL注ZzuYe"Ǵ%wymb >ܹs@*+"ea#nBa >|>.&v@in)hV.6)f#5L=.?ls>\֫]n`r1D{Gm? p(?Ȃnj4S 9DS|7h߄3r+iu`1DY&O=smu2cr=#m_y$p.50ǯ q"~'gO vsGk=qE΂$$vw)$$$$$v"E!$`ѷ6B-[}~nljI"ᤥHΫo{R&C@'|rMT2$K:@s#HIEKxmMhA"*̢m$XP3-~tfC=-xEڵk#<؆sao9b {GBrv?% ĝSDaJD2r  **Ͱ|" &EE]ED袋"QFу>ȷ=Zw~lx"p "n[r1mڴBpD"m#H\8Z4EJmqS\w<j s| z뭚RF:ꫯT T,5΢# t4*\Ea`hiak8M擷`fRּT{d,#؃]ʷvʥcJ~Tʸo5== \W?U-x>e2Vj8aY6$X/ޟm&"v)vrr]OPfP,x;o$NJ'"-}dXI/ M|m}Srr 4Q#Lɶe]qrE5xԩ-&5|Rlo:mvv|CsrP5'>CKy:h/9n`ڵ׌k: ɏ,p)$" `D3fx#ںohф[-\ϼ0}Ydp7p꾁JăX:]26ԑeVu对5a29mY$ hRŒĂHn{KX""*؞+E $ӿ&m0C)$\hf9[?LC ϧ.֭k1x/j &^ M7W\t0c/ÁvKH)Z4m]0j~д o ޼t0㭅{BL_D"pL?!R q/~2?Ǯ\? * ,ĖĖĖIbϟ?_+@CyXKĻ(ԗpJ-G_"+7:^]o٨5,!%$$[H"{Ly` *t‚WD XtPE"He#XO[hI&|J#c7[W `>I,$o#n{^c' /PTa0@zN:h~:cF 6}6вئD?%h ޿L5?&3յ<\<<%|e")O͓M0/-F4Wr5zs`Y\Ch3'< {WGhOOO 08팳fYz:oqG=FݴwHñ#Nl ·_ l߽%(QpT=b trΚ35Bcp:J]<'Lٳg󬲻ロC"i?z^7hРN&x.Տ"vb또.f4f)r V;i'W{u8k62w uoةfΜ\~QnEHuDǓsw[ܧ^ԯw?>#|n%zkYP] 3ͷ}zBWSX'oxLDžCB"M4aK"}낿=XtP qgprGZ;H+nx9!k*>S.͢CwEr6~w>U^ם|mgDN%4!A0Nr]Q"/f4kn?|3?䮜[8rb-5:uh,3|S <z8;->>u)䥄ڶht' t۞Hަ)gJ杫j(/au'jŜ`WǠF=R_Z QeE@>Opg^Ў5kCVwu3TyJ8#!{?B-dѹ^W0aS["aW#:[_~:꫏}k,1|;T"l^T:ez*}h4LY)Et,ꛨvD3WYhxzD|*[tdʶ%C`~EĖl*1Ѧ& )ewu}aNo ݶ*f 8^آ IlNFc~z/WGFke]&XL_*$1ʖ4y!$"B$$$%$$$%$$$%$$$%$$Z=v.CWȟB^o'oJŖ0(JaÆIk#ZnIŖĖĖĖĖĖ({Ͷ7rIENDB`PKZ/plugins/catch-ids/images/free-theme-246x175.jpgnu[ExifII*Duckyd+http://ns.adobe.com/xap/1.0/ Adobed     !1 A"Qaq2#$ Bb3Rr45UCsDTt%6Sd  !1AQa"q2BR#ԕbr3 ᢲS$4TdVCsu%& ?wFJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJT5痝[?]]=_]SnqC [qEw68㍓561 Oav9;9t&IcI$$IFgByz_km6k\QaL&[B> 9a{az n)7\+2(i=5<@o2Y7G&p%wxd9gX[/O[4\@9vFnoRM0dZ~78dqyPi+[{lV,ikkcKOb8@";d?d0I6ld%U4( XO5ʽ G0`w>}[:Z!vZX9n (Lđ8%d,ZNKk鞬VBvwBY5$GE+yɮ+nCv|tݬSvoζjKKtZ5ZQxQ3џ0aάX&OنnpzO"4T K \\zFit.Ùowč? + ч:M$8˧k]mԿQpojTJT*ww&[ $B%TAۈHG Q)my'.;jϭ7M,]orWʲo6Mu<(kIRB~IhRTANOR瞨(1|wLʐS'i>` ooe y[},@ɤ [ot>gAVӮCf)!h/CЌ] @4r9o Y6pqb>{ Nl_ZZxc̸0}[i=56 v9}޽YZzێm?C4O>^}?w:F1MA0z"uoWsx> |O {xJjEr36o6^0hcY<$] *)EMG_UҔiJ4R)FJQ(ҔiJ4elSErNMdǂCjA9|vh #^iu'Xlmϩw]܋%n./1lfir(v0ri|xmc% AB[%,F?v43gL~u&t;~}:ln";7i@>f\?S@$耣[y]K/#-L亴: =d&h=:d~T&HHlAq &JbaJbZb֑S QU2ՆIDØ6jN;lyj66J]M1ro"yNpnr(r ?VdӺ^j 8W1~0DFe3KT!0\oh7P5wrڏN&_>C?&?ɵOMΘMo~}mBHH@z D?6 t?Sz\_ N?÷EϧkK_Q鿟}3O.-t)S(lR@lA#i:d՟ޖ%I_/ϯp&j3M?ɇ7&3MQfD:>?3i?-_Q\?7|tr~OgKsׯ5Xo3< S:>?3iI?-_G7R~OgKsdat}~gLғ:3~[gC:~_gEXjs5qhfйy>oIvN]w믿ÿg_3<+vwgm.]q /_T0Jj1wԻ_QSxCj>߆_d,+ϨҔiJ4R)MO8@J?0xD/AAA,455Lu!تx<] ܻ.=in w#rXZs"C yaԽ?ǴFK(4J$v92@Ri\vviuxJ1I֧ZjWIE9 >xELJAP.8}ces紱ŤG,Gػn@u^ڶCQo44ioCd+h,2o9XIaX$uLUfeDD^]lF ^83әbI|d 8e8 Vii8&}c96^yU%Z1aO pJQS네4jJTY*bhO}`W.1LqLn6؏օX4{0SFŖq3L9p&QJfoCZbDXd!!òb>!g= {d@Ϙ PmɐE,vJG6DvæV D]ﷆRqw )^7ۦ>:*yO;}٪R/UM(!GîmJ_}|~zbo||:lR *"`;}J;Q#! Yxysh Ө8 #lLƀ1]ɀ %{;~s.Mg0~;͈f4)T48Y^\*9J`\gI68>"ȷFvMeعA'fd22zpc\I!*p_(1&Ò,'$s27).-y>QHe$^Z.uk_q$^3\{ۻRKEv; o(B>{Gu~׸sy{lQ}^'7d2qO1dkNBT"oyb¾nE&&V}'* A]Һ'L۩G7Xܮ"hٞ/`q ~ 5Qa(:x@ QY5YO4rZ#J\ƬUK+]jm,jñO>aw>87#DŽrV_3Ok2kkXa%M@5 љK^ke6%́P֜(1)RoZHIlPwj^3xZ[fy!E-YbdbT [nۦu(wX4Gjk"b#tK{{#ĕvR X6OtD/ F:X!q+ic= [lǒrW IufaqF+|V^87;)" &a~aezeg:bd4H #Z0y ^w7Vd 8㩄f1F1R释d:&5Ts0bѣAl[ "{ G341dց!ˇoy{OƮ"!M=uu[@6v w=D5ZT~Ν ap  uOE*`uҕ8 =G )S{n> ?z۪ҽn"Q>O۠mm?7ҕ<w]贯[ow=p߮>;鷏>:+?JÎuҩFJQ(ҔiJv7&q 2MK6~䬇m8YFmQ̦)'pIE)eT6+t뉷Kئhviɭj{g`!PZ7mv[](%lI܈anW“8YG!ZmӋ$d`Zqge -Ţ#\àt=duۺ^ůc$5KPC:ůD_nm[̞613K4Y 5o:I㻌_%k*ܫ.&Xŗъ&_&G{I#\jahH0AxBLK7^k2m`.^v;wNdB'8Lc#u+C{E]/!Lqqo~XrJc娴E3"ۙ;dlČM22U;3WLʊNݬĒn`qFFOoFd?$=һmewđ(g GTa9JG4y܊ʼn[?qyz5V1玹p$$rRROKFI(tђ"bik dtĒcF Stm{;X,aTB&#BW9 <[\p'Uˑa_:s&pWy |G9AZL(5@ 썬`&+ԝQ;#XSEZ V1xS~ % Vy7 4ֱ^r({0Ì819r ÕISS\ ={a1@ziL@mU*Xs:Ĭ%KI)!Ʃw-@srD@˻ 06D7us $iwkUo;̀_e$ARo9SD6/F*!1;Q@D?kxH{AWx&ܴ\ H@k?C\R 91ɀ]Q2Ği::e83v![# 9|+G[=|V@HpO_VYAoQ62² `Po -c Fʏ[lͻ4jt!!U7+{kYUPHXX&i5Gq3 *DR*LLwB"Dr%H9Z0!*- K󢼿ݛU-K sFjrRM@,}һݭn-- c#sE.%B(.0\ g xuȜup5swLP(6`_0fB }H_UCcf߲8eoku+[te2CWS>PR./w7tl /xk&SÜɂi®ܴwW檔wQ{]r1AE+%$mN٘X>8v*aNur[7EۓE>GFhanG{FA] Fm;Pj&mY>G -SwC/ՒIsZҥݸ))[Ŏ߫1Shl^`p\ 9$XmĎ$Nk\:/s'k4Ǒbjc!șË|#$/2^<]c\b]-.2ymUHPtt 3VScd]`RP^$^^[ͻ|K907Կ(uJ߸ hZ>9ri^35e [-RHNc95*j `3fh94Xx ~q)ĠE#Pδ6Ĕk*B㫵s|WwХW~$d_V,Ϝzhl`$O Fmqv>:qw3#&HAwiSwo=ǫw `di]WvF.@`P\t;NX%XPg]a$NSg6DVY"@GSV0D*y_4LndG8@n4c N15exGPLC0Mڐ̫$]#mBzpmq29 R6=tۏ. N{?x*|1ipv#Tu]+6%QműLXO!@Y&3N^U~? `jg*C6l؞rLUxdLȀw`V§ή{2~ǹW&1!2Dkn fW(fPRE'4 oEUj=6>HKj{^[&,'2N{N{`VjKJ9cXcW,rOgoEzFۦ"پިoTI3PYfryk#)?kf[ 4S+2/."D1b2q ud7,-׳JղE,.3\" Y%҄DLiI?6">ZE0C;*ĩRaʇX7B)*U*'@㿈TJsҩyEJ 0A!NI~BA P~RPOrUG~ዷZqoN9˵p>H3,%ց27j J-C} /rUo䌧0AМT@TO^8a($4*%O$d"iB)HdzB(JR0JRliTJYy'(zsdr̉tʪ(5+3jDL6;"msT:Oմt뿈RoNiR_ ߨx|viLx =(4y?Q&m&"ܘ=Dg˕q;rI5F#"Δw/E@Dۨ&v ~ӽCu@i8wR<ަ1̷:gu;+8kM ,E;(+XҤZ9g.~ґCyCig7& {K u}<|D;ߖV\:!GHYJr"pp,ƅfKK.E6)SC\ӫlc@$9WQ>.U_.,34c "@y+cI;h8v2f;1TS`1|G_6&kn>60 ~^3uSnw\i\cvK1vt4sGӝf+(Rc@0:M%aGm"{t` aSu\*72} DШI8xHӝ8S1,x%.JJ:.;-V BgcDf}QwB-Kqm6{>^]T kZgGB RڲB)34)eO㾶Pm ,&PUF燮7XXhIÎ.[U]` 7%#$fh|da{8Q;[R E(%آ:CkBV]vzWb7˽ ɿ|=Ep00}‘8 axH܂Y9h%ǼC/- M1FtS{7a2^-QCaC`%,ȎW'u,\Kt&H"ZΓ E\`o?sk}>-/ uTw`S G!cQc"VJIPz&?1GShgpd*#c' HQ9 +&M0 W' 0龭v:pN ]PKK<~pMbXʡ$lb»P"5% 27lݺLc`SNx S?rqf3_-܀>QU;Ʊoa{d#v0ay 9b7;OG-yiïf&iSȶ5WZ5Z%Fy%!R=FphIvML] (|2uTپMܒA0/fD *9J^H׹T~;un~y ND7 v=>ϏQRlӨl&(6DG})P)ӸDۇ|C .å*`n`?!_#?ۯ]7V4|[J?Ҡ?ۮèݥ*>t2PmlWI^g ϖ+S{(Rn5kȬ܀9vG &AvIj %)eǎ|uStKm o:}̬P%kXcLX0#eXwd)R=Ke6zA!T8w /ۯ,^O t/׳$'E5E9'DĮ[eV! buPݥ"e c߇XkK `^ROc[Re!e Axd9".c^.PK5b][{w2=rM107n#c+/4|~=+jmvSᧄ}T.T7#'YHFLʊL C|GN݆L{@nlQMl %I%x&#ҵRj=xec5wi3D(7JⲊz|K(Lz> c&Q_-##$#ңI $RP@ 2}"kUlq! РJp],ECî&k ]/lL8 63:B]A+>q7:\ -;,y7 :\low72^=lduL71U0j%oн7n`9،l\%I p<w'l򱁨X8icZ,d^F&i{+q7, N'8\QS)2يJ*`PDG6o,ic[Րӹų:Y˂.gk2~sb"S_5Uɮu)\V0jȊ@jB=LC}f1qU}r_e#,RLxIBICcOG@PD1{Dr^~]i` oqƾ< ri^ pMqIg_n ŵULNmk%++\dz)DU[^YJus*UuxG+ւf&-MN*}ml## Lj{VwqWw@x6-Nh(/5Kݲe5@Fs CA4Yo Ȝ<~.XXO9vYʖDAbN%ҁS@6r v㕚+ GU"HQcį#Ýu;?r)6 W,#!V&FԂMJ)k# 46(*JvƑ,N'\9aY[pD N83ƑE[P\۹ Xs!HVո#go ,֠uԎZˉIk%ɷM&MW,Į uU1&5F*S@P&Jt͕̒n8BdܸT |'Wv  ehʖY-Y\V!dFN (3V,cc*chv7-Mf1,6F $x[ l,b8IsyF%ˀG2pYXR0.PU|7Q Wno(Tܤr:JwG rT@CJ aoW2&]^eO"]a;m?~US @Gu m~ҕ%0x|zoҩPP ߨקߥ*a;zx4zzl?*I`0l"CnV ;#ӮJP8;7m*1›7ErSCP]m(pL&7:]^^[tԤbS_zohݿwm)}Khsav(( B-5VCAȨ)jԁ_㚙TB%:E#gMαG v10t~ 3lX[nj<<1-}!ݭ&\.isKx[k8(/^DB=8SAv L2{o!ZFmpk*9<_>-ef{alcF ·4.(yejf'!"̉CgRWP'M\\2耵 Ď5Ll{(oձu$ Ћ|7[Z zҪN@!Hys^9$*M^[Y\rYc* "E< P.6ᵋhlZAϮ[Qo}Ax7 cS&鍧Hn B$׶0Ye:aos&efo ))L`D&Ǝ>(J[ԂLf]UQG21%I+I+dS4y{rb z:T`2{l!CmST?X :L>SP㪥*?q(@?6=4 @nS: P6(0鿃NcJ6CR@D S w:ؠv Pvv~:%*rvl"'{U*I""lo>!:Pg5VOn >vnNU&)\4ÙC0Z"Y8ݠžљ\(,g~rBݵ_w}pUTyq3Fe;t{qKȍx?9p@ (7N'LaɼrbA9^.s$>d<{RkOOļ\?=] ZF\Z'3] .!@ 9Ũ䆴 W#8"Λ>cn{bf%ϊ&ZvBK+Ge?o ~S9s-G'%CKw((׫^պ~jBN5#`u6O} >+J C8{O%<~0n/4ϫ.u9by3< ?NUܙ}+mS#r c#6&l JU9RĢ]=%5c4f (=Chxn6Niks.${]kcɌ#t vmeej* *4-}B3;WtB%p]OWk VA7W\BV@8,C(D #Ds^t' 10CfǵV~Yl=|nz:"D۹IpY,$-4& wz?n|?%c=NJsn7VɆ䥂xV|%-A/].Lă@ ĝInb݄QVg,taQ\ns;18y+.Yqn|]Əɛ +:~}BM xrm1\a%uga&wQם&ROS*{T]4KJ|b؃P TWM7uXe4`J`{uYʋp_*AlC+iˣ7:覩J(X p.RN3uiw~89C\8v(m6 5{2SrAi^|,=RA; Ș>AUMdDJʂt~Mt&oۛ $vjQ z3<_0u77n꭭ܢvlf# N`dk6sH⼢BJfLm=v:E)rⶲUˢR6 >k*o Osvt:Ll]Y.c. 95v:L#?AgW5(LvdԤF%]8K({r=ʈ创S5Ԥ/!ˏλLn5o`&fįz}u^E299l&inIdΤ /Q>o3tȄ28rd$Wgdk L_V7p=b"uJBC\^QhAO닊4#zĤ+=DMLSW*JR}fɷic.%|fܚ@/Y@̔S^9F.c8%jFfT&v<-vż\Zlh b]n.D BE*C}8-(Q !h'$G4lO;Hs8R=8wvEu`\)d/4@9FbFj25m̏cm8r#h8EȊ .J&ʸ&qm٥<]ۑx "Z1L6kI$3N`.+Oޅ_wd\]Ѯ-J,+Ha&ucX˹]2(qQf`@z :,7foҲFJ 1TBx+Q1Zκak"_;Gjm}(SIY6EK! j8$Qp)+&g'^_l6qHpR8%緶]ԶxNQjru8_Q.94 "36f(Y7x|qRlcan:,k5=1<VҸc.(8S+WNIk~^QW>6N#ȗ{-)t S1^t{tyepϕemql |Q锣Đ4°T*rɑ"VsTN3kDxl]gl4z٫̤c{s0+1-%9w2*nMH_ n VErW hpxSVH;B81OE%^GrS"ŕ޳mFi\jh*I6|᳥b)LS;M6TR{s$=0U)٠6UǙ9/RdO1;LM%^R!+ylL.ڸ[ tQԕ1@e@D52{AQZV6#J HBȮr8*31 $,:1;HJ#omlBTz ’ia ;>GՕb6=WfN3'LCz Ē-dN"Tăa1D7״?Ѷs sps\ 1Ya㲕j;B9A(v|~EU-uKji$$BWZN8wuRsOc T{J&0ʷqq[iNev-$" -=;=]wتiGVGmҩT y)'i{6alvׁ{p;8JK\i-Sq`}EpSWQp܃wʦ/6]Z]b(S*p K_Yxe' {H9FtޑM1-9CkoKU"0)I!o FX)( {8P}}⧀3ZѼs|U̙j4 -8 ܾPz\[*J Qnݣqb@@81{ Xe]&D=MEL=*Sƹتh )Z`B?as]"ҭ,T[ȑYj I0&9ARb}.Qp^40$&Xǥmk5]7N`5Y2Y' 䂸¶h7uIRnfefII BJ)A1 "[]jDppiiL<֠Ua&aow MMq(Up}9NcOoXRFW̳n>>n@Cn͉5oZDO[lNH;*>jU6g]US9J)jECqyZAyD q~MeM^1'34ՏAb\\,%|<WƮOڷ3-}, °'^[7݉c<3uk@.:r&;TIj^4ȕM_xݔ۸Ts;11SS;S5jp8BB3c61ޒUP") OXx}斒ˆ.yqk#vtb*bBj7iDo(D^CsR!IA', c6jmT $L(J"@86'c#{!I.(8br_U%Nb2=eYv8)"S#ar LM)wt :~Rr} Gb;S!UAp .)`!e⼼Dj$qYLdBr.Hs =L62 ED@QFP}?CTiDW>&oh=H- QJ߀-Iѧ4u4޷`)Ref3TN-ak:݄#':M _h2f8+񆴄*\6Dga>F TT'(czP2(];jR?>]rGwr4Luk#$5y`=kfk֖9)uNqrʼn!^$3# RgM'g욖]9lTz 4Qb:Ur&du~k%{KC 5\tGc"gN66j!QNJ=qᲶf̈̉G}21t5R"0tB/++ 8fݞA̧iu=߾L@mlp-cU^*mG"c'w%%ohTp:7䘒qkV;mBM$K@H]rz,V1̨o clXٮ;DIjjs9ξ`pLnIǗo$̞a8]]ʄ~?Q6ssaYR$5Cz) .'N;M25xQrRAh.vՕL+Hxv$v @QO b(<E;?m6Skax{^-ExkLԛDV- #ErF17/X?+U@ u"7 s9xqcPW]w Jb)G&r9Ķ\)..5zV M͎"X{ *ѳ(?rBۮa8.6{VB!P@s\Om2[HxD1Ԅx%j"`V,[uOky/l䪴ɕYl4 GPɦcNc?al;L5`r p9nLu-p#$nY&YB+55POCBK@‰^]!sUi2r*.p9uK\${:70 U% <w]@[KNffأk8gm4-jN)*d[SpԧMBE.6H.$taLEh۳}2958J Z)bh*M|[K9FQ-ltZM}#gR)be 1mr0+˭g9/!Hġ(;rV hhcJpy)WQ/ \BV^t[Ӥ#ض&] IF4"̲"n"T%dfS{Nx9;Z8G2U?SIw2Ujw<2cƼqQߐн5ZYUD&^HQŻ9  ҟ8ʣrڽc2Fa\ 3Y1\ ᴆ;hb(Dc Z|N3;$1Y5m/.RY`I a$츳g9kШC9<`uԍ@8 bh)\r3,Qq,Lyd!AjӤLIb逈*ePJmA`}%pW`C~PpT3ImٶMy CX]~ IApQQ:Fa*Q/`X"f ,ZE2P;DSj"``!m,%B@ Ln빬H (0P rwwLs\ErupWnHMD)ZE&MHeΡj+8|v w.8s+m~K(H4U4dr]aL,XhE֩AB(&W+n8[=S;<ʯP-Xݸ34(i82uYǪ[%\`Afv%m雃r ș>q q.6[p<07f$zHPV@V?*=ba}\6Lz[N_m3h %DE%A.AtMЀyaleɌʮ|SC $ ="![LB`>, :{ ?"!`+F eg^sorn#:]eC2P@J8ptm<(&O/` Tx֚nuNnc~OZ8B'&מQF;8aQu@('xիeQ:ouZfET.DU3/q\ NBQĢkh+WHӆ>WEiOH\, aڙ"y39#|-*/ Ttܙ+Ro:ȑ&z?qF;yK,ĕDzĭ}(ۙfW1B䖠C\byWccڅ[0Vrfl 5| Xړ-!1? l3km|nEtR34@JeJamb&/H#|lFּR54ZI~fE’+LaGC[ܷ|{y0כy xfcm"aV762F2R] ®tA[PbYfnmak_euіZcsZHȻYkt.. QZZL N@8! )QrfÝL-14ղ+;*L;;]vWA5XI.)"wH}o!tbZ,=w^7]^sm#<70"{p@9ةqV|u2MIE*:[gt:޺ũ="ʑB;T.jIs☡O4F]zH>Uļ:{l-Dڢ$4 @> 7 UÁ!Y:ҁ12gL m%oG-f5qJ1Nv} mdd rra%1R{!d[j%Q2\r/e}%x%4Jp398G"J_d.tdmUŢ@Aw4u)!R`l[.4bwAIFgXqc6gi ! =+δ|Ws g)bl*Pw*EpQz}Ap/ oۗg5p׌UuJ̳@Dm.ŤDIj_LT1J׭϶ZL.-4sqH9ۂƎ{#ԜNN KBm٭^\0exf#E]% qj^^+Boto3(rATp$E`PCQ>Hk@A̜}ub+q3x#V夓,Έ3vaW, @pTDi@J=u'􌈭BNsp#*Ao=lߊvQYž:y$`G h]K-`gp%Ce/+q;۝<@=X~Pπ3mJȔc$~&hb7p&0 ml.,ֱ "ZXnv`W5x_*_,Qf55ln^S@Ҭ@hQeH>;j8;HCڤSPHöۅPhHvE^_8v+GR 6fQmSF*1B;U¬d6n:].65Am3a7;K:ZX݄GN4جp7c{ۅ)empC M#7'a`ހbu8 J (DJu!c5J9 ~owݒ`t0SFjրICNQyz֩W\ė_^fYR&R)ԴŒܵIZ]i`<{{ ӱ_}wM!+X%+PYGuͩ|m%__|L`n0bݗϖo)yKq9ԇadqC -/$d ~RvVU%07ݸW+Sμƫmp?*^ʘPVMJ&7 vO OK݌13O3lM6.(o[Ā?|sUo==ŏ蓏WWqV^:X(g IśytA605.$ ܀j༫k[}qYXiI\JfCxĚG6qjVZϋD:a'3&& *e;TT"B% = G^#sڞV9Ci_K9K~q1ȩ.q겸+&LƖ֋ 6KUIU*(Vz܇tzśݕsJCp#U aS/|[Mrr6yaAI$q#l2;C!9;Ux͒7<:==/F$ 1K9@&,q#kECJI:ٳoUCWL$ B pn0 p%ˍ~)$3N3g:Ye6&_R9$f5I B&:ԟhۡ hr~J+qgtuQ(ϴ-tK)/gMzBTc-05<=6K2^ ]+uI4rSIi+D /t`xuťĖhG yGзN([+Wm` # aghE}^XLhp>Xg³ֆu洢uZd5__JVq }^#AXH?-* 'ڬΣd`Qd ^♶P#- ,-hXkd9+_M ZP'fz>!Dy윻U&nCskӊVQQʒY ՆFN5r(6|qbc2f"@mz՟fS8NqCug~NTA!mutь[H*%{C?@Gt%GdLIm1E\,PAOV w-j Ttoa얒!'R 텩W6ߨSo&E6I8f /yҕɐbYb+d ֡tFᏘ{:h߹pvC,4 ])[/`k%h9L8]h;YN ØՁb`)&Lm+έ ԪlwG9cZݱky7!0rD:1TtJ%S+dXv-R54dk 47~Eu;5wҕwdڍ #ih@~j,4'.ƅQ`D>M6G |: :RM.Vd1$*ԓ2w,)fq)wHE#(_&`njLnV\lln6ip_CJW)L2r3<.O4Ӕe4K[3qaK1?Vw~[mªqh>*Ǟ7=4S>{SCܷ6amJ/+֗ tUB{zn@ 4ۑQiXX\2~E_!Ծ{ps54H)D!{Gp ^v̹<׻]m^c<@ ?)gGc-ˤ [ll9> 8WLRHNqŽ#u"Bj3twD@2fPn;kZ{1 c\5$Vtľ(jwEQӁpܵƼj25@cLazhDc% HZElqU1i(uN9d[u\Qi-qLrᨅqdpsß#\M.$)62O\/n/ I~"`ѕaT\nUx\ An dNxz}XˍKl1Ų4HQKypWNJs3}gF4:5ImՓPOE[l©̈W?Tu-=i{Y J}9`"IlKkJͨK1OnAS>L$B z9gv h9N?ӹE{U &1״5{71>Fm٩0* x{_wT$ Apjx0 q8@Cmz6k^C'͈ӣӀÒ3j4IU{v EskI-XqM-H휙I:>28Hn7@cto95SMJ˙)F+kɸH\,w|).elq6’zTnr&x;Y%§ʻ@ǪB8),2+b؛$GNHDu)BTїHťYZFIXmgq]ta.ЕcV8n[gD9 m)Y>PKZ02plugins/catch-ids/images/premium-theme-246x175.jpgnu[ExifII*Duckyd+http://ns.adobe.com/xap/1.0/ Adobed      ! 1A"Q aq2B#3Rr$Td%ђS4XbCcDV֗s5Ee&6v7 !1AQ"aq2#BRbr3SCTcs$D%Ô4t ?ۣEhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhSQ70uif6d:o"T"3zC"壦pu%:g(Ӕ[>: ax\ ɺm9\E6 ȀSo1^˾0AH&3){QO+b |GٮS68Fm2ߨR||ő%['Z-nێVV(+gL^vmP9Wtw@;6R1>Fޭ<3F +p&HH2bOq\fhk/IH@ d0L|@C:_I'/k??ğ_F#~s8%J?-c??ufƀ^%v<Qƾr!:A6d0 cɔqVȎC[kS|yL2o7Aּ8쭆<9Yre0ԫU6g,Lԓ7`ݭU^.B&1 s:cNBEl=·*Y|P kn)PBO_XUTW0TA7*|n:Mt9YnG!ܛl%q<(*b|@U?zm}hyJ}1H>կqy30 iFMM&?si=)^*Bk\|>tJf|p6wdHw\_}#3}r>֮ad?$ypӌ|o֟;h[z3?]jsgIReҙ<}&kalM3?JHTqYs &CGz/V+d@GE?w_{$?kܠI ~C&To_;V8du.iyC䟙β%_&?R!灊Gw~ X1翐/c'+^Vk{\^Z\(E(EhQ4QF(E(E|5ZɾRf)G>oqexkCa,dlcA R ^,t ̸`П,r ؃[Z7!.37!uo6^ځޟ52o#!fa/uc8#uZQ6]a$'*N^7YF;l BۮD 6*C{!б @W3zX6.Av'/#Ѓre苵Uq )y#-3ngxί 6| l~wzTm;b$(F@RhG&`VǮ\Lq HITP{[PyMR2.TP<,u wx}ى.`|x$"e#H)`") CDXFLXo ,x $Xr,k$+8 [qĵYx(R)!cf4JjUU@SnّT(bPv@u՝dJ\\mllE _ an#\o0l?"z)@&p3 z con:Ȋ3 .2Y:ٴ-Ƙ0d~S6ع&vPYPX]P]Q SrF9ע:RBBթcFP؂i1rvfieޜ{) R&:YUk:-Uk I 0!:N^^m5 eR հu })قzYӦmRR 5F~L%b,B1wsDAL(uEC:Ke#m@LJ q6#V`6+,dW CL$3r(ƫVtP&"% GbXŬ4}P\gkk:+86YhUH4u&RxmDaQFtY1[@Ni$@q6jifD$Dpl?!R4peW`}td*G@:B%uxzuF(E(EhQ4QF(E(e9o՗,K# _-f\U,?) m@tы+LaK\_U+m6㕒yoW1]'瘪ʿWA>V8o途Cvԏqm zQM[.X`- r 6L&Qe-QI$M0Y"TB @"`UsGnQrU"5k :4t v1HPPrDrE/I\y"#iQcݶӷm((`|yHZޏ_g|㓯Q֬t_jIDZ*IO|\QUHie$! ~tMҮ`6RKޢNea^i$(Wn^FJo,iLʑkLݱ:dy\B$ϊI %as C2` 9#EW*yq<(V3Ԭ9$Q{ t19?I}Ǜbmz&qi?eFkէәI6-q6Ƞ,k2%YEo0.1[mߦ<|d98egK_N I6K?EOSs4$!ْT$&! $zneEDRn]"cRn,e"֝(X;>dfߤ ]omaMxV}UtI?yt2F+SKaPC۰{ϡ[⏦?uw:mF(E(Ehc ""PKT(yZLzTXI֫$cDua^7ѤgZN/FSC~dgK1q"[Ef8˞i6 %Md0Q0 *q MCK E+c!Xdcߖ-4݃oG}ox1;ԌhF ͜zR؛(>K}Y|d]ZTr[_m?`/uY`\N2te®@ahɸ&]m4cvٹ[>#9ǰEU[f`Z>?J+̟69! I0"8)H37`eRD0m4n`L̐bI!.G^W!XK/wI޺ntRKUʈ5aLqnw.$˹ofe鎐A"XU_yˢOM"ʜ&k'\^rYN1Hu0&z DD<ΣH(." Ssln82G X72[ 4u&y+c.dʷ760/nTOd7 S6f0nSFHw I^bְ>._ek+<2 S-Ǥ|c*gq0GlڪQ lrͱfRE%9!>oimHʟE=n>JV1U񗈈E%3&6Q7l;ByQ;i tyԂ7MzF>3 m!skMuDcȫvmpnٍP.h.rԐjXZf+T".~RY]17M#qg5rPh 8sV֧qk,el3G}DG"mj8(YO|j0 SBU%2ڥ)Q2 W-UD "c=ryx>B` B*yq*ʊ"jTl9~J+1̲Wm<'$38 }&cI:V┻0IldQvPOzG7`Knqƫ{8 ^Sw Si-zxV]HeXɈud3G42D6:C6ᤓbm9 Y+trkf_.rvV⚯JJL Q/Wt4y<9%qsm/8 Et夠f& FЊtWos`d!11T:{yCiީWl`uJܛmnp _+ dSVC7.T7]J 0W(e$kޥKlgj;JidLakTdu">N9.b/`6p÷lX# ;C$JTRWOji-jb!iYrrX$iRURȼmu2U'Lm~A1MI3e/:amqm*!Of^$` +s;H,ͺR(eUSePcqx鑶 rTAIŪ2!%26W , [q漢Ga 3ss_Yc/[5f@QO^ogk9:p~6,THPt  D,hwEc. .BqF6{+>'\'ÒwD+3DdGm"xg_=L bEATQ08u>˚_Y_Rפmlh.5yUJ(μAI(qڝU G>i LLc74WR^D8d ,PQԟ%/#Vp1.$)ؔ[T:Gb4-rn+\Nƭ\& IF~]p@$T*oN& 9@HnbfÊ5Фq\^e(13؉ m v hE Rs{GfNq9bqm.EflnjM5 љDŽd˦V$x;1c+i7]Ν# WI>,]Ubm9YɼdhEi q q Ҭ]qYoǚt9ǀ-k(LC䄶[x͗xnFr v;g/2UW]T2v4hZc/+@Ha "Ñ&ž59::! JC#u$E# |ME$WpDO ܠR$a_S"sM&7ֱQ ۖeG8QƙO!?nK][enB8wb @U(iBHð +=gvS}߻bo33蜪 <BW c^ԶÀ{޼?1;FTQQ_;)k59UuiR,x==b0,d`]i.a['Q)6!6\Y2}bTEa$199X5;5~s2LnA;o&.I=:zoqhk2zixѳ6`sd+"29[ADS#-τDCKxMl5SH0 Ae%c+Ms-7;K%=H%l7iSp*AKi%ǯht7̓*f."4D>&iC$mtP/ҽ͍bnCI;E2D\XLUuBb=$av Ϙ`}l}$YaOx9L}6.f>D92r͛(VL fbW&&LpLcXP-0 &LBkMG[xyaUf &/R4pKʂ§RN74rk6bl&oќp3NC 5/4b*CK%--cW;j-LŊ=YH0= T=[o ~aؚJq y7Q)n;Ħ "ϕٿO jx#WrZ9C~;c"כ\~ruxnѨ&)us(rDeN&7.bjcKAmӮҩ#Dqw۷LiWΔ{-1 ܿ~Qe>>݊P؄/@IA)e'ֱgA;{ {}݇}t\ ׭T+Y " m~ ÿԃc 9 WWV<^{R漺]0EWoz%QzM~ $ w6" LpB 2nRnQcQݳoJ6t1P6).CqO0 1Sr0RJk&$'w_%!$>puped1S"-Ժ׃e:XY(;~Gn,Fk2QU⬏R:a!$`ɔ@rxskc w|y<_u#$Pp*A4U0(MhH1e~Ω"YQl)d)=jKGLb)%0,QE(b\¿)Sc,4כ߶QC#Hm`2  Et\$l}jmz̽c33m(Nܑrl!&:Vk[FK,5Ú9koq!pAcieJ{X+2̵[${NCQs9yAfwZ vna. rd8x!Ȓ&3;JRv۱v84~u,^^FO%X 1gVqk/ /QB9a5a,+9˪=1^{ݰU^q=z6 ? H ,[rFT~.TV_mI֦}kҙ0p{1)Sp!3~4݉2gTfJDFTɳ>}74~Sv -Dzpێnz2,kFXix¼r)6ɨi=®e$|ଠW \H֋UdկwZ4V6nJpIH-YJQȧN˯KJD|G17}zwʌH?|?4qQU=vFڀ@>/bp' .3:u) :REû-[3`K;QQOSlU4Sw=>xg/2X%Hq/ؠ\Z{VEdX4,B(vv7݃'eUR:;I8[g!eSȄM;eF˟q-4s.2 ŻJ-6pN`I7f XBkY2Noh) c`Y0TX [U- g~c?Giy2SK3Z%/hCPiCB32"4E~u|a΂Y/kq7<ܺ~$jȠ,t{/C7k`KbʓՉ#k vA $رYk W"c˖B=mJ\DͮFm3I'r"`%8 fܐ FY^$ΜUfTh<ʱC`^I (f\xfyny KNfirKǺFyj[B RQGF]exf鼑c'*0H]au3D s*Ԃ vfT(q&XnxfPPM xy(cK]j#Z35)x7/,geBr"S+甄+tUpM_fc ۶H̒@![1^Pܾ7(1nE"6_RrYXuQ[S`jSG L}6yN,>W2R"\(;*:`hArIӕum^nI]d,k@56 Y[^ mE'7r"7'@ zSF7QʌݏcT/]m/H&޴)-'*SVT=ӕH : %TPͳv\f$XFa)+?2?m))P-3(hj7qqj{ho8Ѳ*3l2i  X 쾆.zIĉ*)#/;r3 `.AZqQ"U)rgm*8A9.5fTnFE|lW?Kd]oqJTP -qASSHV8e|i ݉PW4VF)ĬO wf Zϔ=1̴}6bɴAn %9+3C3EL1>_:"j$i J"[pA0np*:p3^FQbO1VPJkg>*q RVMxUa]X^=T|jj J'&=pȽQ܃ dUQ˳tgJ#&8>n9:?*:V4Hd8<}nM-~j]p }UV%T`FB:gtWn hqs[R;Edn`a[H.}ËIDx8>!Ls|$Þʉj<9IԜ6%ELM] ]5 H@$=oGqwCA3&Ik MCv3.DpwכM鷃_rr\mI ՛eL>L_37Y@eD?}-!ːx40o'$bS9QW"rneAuCuؤ3Ca Ml40@T[roXy5tG6HL b& \%V*&[GJ2z8/ˋsZQ˧mԆ+rU]$BہA" D6 $Wc?mr2a|2D._刁Ly]$K/:iXci>%'!MtGłh|8 wwV&3PO[`3O7r<_#X@+R cEVo/51Mpɠb uGƖ&yoi7C9Wq ` kr8WK@CAD"da"ce* 6mM[U D00~XpǏ (T`UjUV;~_,$pBW]8xj=]GH˨u [cr3BȨ>χA}G#[dWgCp(E_yEȘC ;q`*J>VmdXd>t/sUw#l* ~6$SV2b}@?^E< Qr۶]BP{`?]^N#N*yKoZ_"߫d^>l,e.S&I'`UgQ^ JѾQf_h_暔=`n e H6]HKr92fFjr'6K.s`1hn͢h݂76 5=:I('$U X(c: r:=T!-05 uS., zJsVV%hU32]TvM lEJmv"?ͪ ~3*`PB(< m GS:]9]y L6`Ա2asg|6,Orc9xwv Ͻ{F 8b!k|Qr]#kPNmp~ŒFβK;0X)3wWW+LhT%xBUmpEf]ԋZ,B h(w1:][hNaVLUYr ]+ɟ'wJrRV;.4`>}zXR=Z{ɓFW%gn@qaJķ)"w` ¥ʏI訢 ..[l?+Ӌ}@oGu"R3\3+ZLI"-/ t\]EMH2KG,zr'NgkqQgW`n5Xv߃qmJ/D;d6IT!nQݳVW"ZXAL9\\1+7v8;Il #mmu~<@;Ԓ̀3tAe]yf_Ed'U<+]^ϝ;sW(,C&=A˪,\$'QEr}(96KY/"ht5rl+12u@D<8InVca,}O9dj-8qi=[K0Ug*qIScb )h-(7^'n1k,Aok_p瘝7҂,^r2rOp=-\8ÍGXΚ9h,Ed>Eőe+yE-m=T{AhL~_BW_yĂ[׃)r3MVz#^AB*]ȼKxBaH.*N䀏/}ED k: p ĞK;Fݒٸ1L{YKr@:/ݰ $+E 誕eWP RLC,Eohum[&VkT Yq kq?YgZOC2F'& C$bI3<3~zeZ6UUH IPv/cG:.G >M-iމ$ HS*# 1M 9ƿt VwԌ sv:c&8;Ze'6N^awI|$nC Dc Œ^.E("{oDmoa@SO08_)잹Uߝ _y5@ Va"O"m,^3"O?!Xvkq50 H`A!>䟫"V02֯T'@[ $ׄ[%^,*`QUJ@P mfk|ɝFKA)PlF;*7]m\6i“؟5C13LLuv^qU=F4Js9;L8۷Fm~ f,bÍ$vSVnf@Y$& ׹}mnRO%FImQ"JFW&xpȢRE(s6(x86ʹc49EŭN=s/XU#0X{k_f=qH>H"ޮrLY4eMUB8V>r;uo̓go.;Qo륹8pn82[hXvxEuZ2Dت ~!'Q}ݯeFP*+0&Kb&4!J~jPLs`viָlPȐzH"#m`]8Ks#/uaqaA='&R Ēx)S)#.7 /Y, Q|'!d("-BTuB(X7MG oD=A6x_/s,\TJSP@vį Ou^:G9hBl΁M 8UWc V/(Ft|шHZѐV2qSaԳ:(U% {dm!(oFG+>0a+ɋ9 9D|5dC,c$b<3eI~|!EːYbiQ9K[:ĢY9'*DAǏ(oդ .aJiY\v%I7$$5iAG5U;"*P#2ڣ2 ><ߓ"Ȓ`1Ug(Ycnb/4s~MmO1hϻhޒ*K@B+uI ilyŚ8V#aQne(I&xIՓ[e_G ĩ1H ՜xKh5c=Vs2]ʊkcǩ:{iscTdbl͏gqEGNh5^Bd"RHܑ8SwEbaư{g:}'{ )0WŹP 3?Aܷ?sIQs~+T :鬲ehTFԃP TUP~(-'o~cǷMs2>V(>G&wԛN?W6@\I(p(t+^(G>:??(YO`$Wpv|La-s~)^$%l"*~)zJeaJUמ# X$ʆ-}{~uyRy0  ;O#)Y22dt nDx{{DYG2EH& а9{ kMr #Ua: J buS(v=Pq05=ܬ6eD__-A?:+15lWx.j-5Em)y1Vb edn4)*;sr:d,D0 HivFi< N{]kERz\9=+9ӂj%*^b(fk'G]{&$thi4UB';meD+f;Zs f:@*k{i3 ]2^U$oz1xf.՘˻UGP+6an(:xi˩sLbk\:ہӈ` ǘq#^NGݡ]lRTD 6(6{Gp- :_?fWҲ ߕJ?!1j iD-KT3ݯ_6l&DIQ TCꥦ^`Eak^;[q"Ps4NĨG8qCh#"&o*X&XTXJ F!؏ ;VV %y¨jyyU[De;^/5ª&HS ԁ](CP>> # %t--[Ӟ0aGv$Ho#gQDLG5'a~CHƸj2J:~fn&U|\t3* =%TmkEp/2󹽮| +k1 dBnyIIDebHLIn+ftvHV0 "]&0f/!_N-oUJ菲a"4GR)/J@+0)@<4+k-<$/T V sE#n>O wy0)1@vЕ?G_PZy:/?ӓW@8BtPrm!m5KO̠5>~vn tēdƲ*11Ԭy< @vֱ|LJlzQ+ݚƿ$}gkgƋ_۷LoT,v;-1\&O^_ݸė +,|_Rhk_xM \[vs_[B(me2`zm?6GVMߎ?$#h?]_)5X|SzΝCMC􁅨p͟[8IzztM0r|uȄr|K0Pt!I!8 CVCt=<2s/ۗ{{xmYnAÿZ|1rsJWWڞZg]7`@ͳSL8p!bnTP7ıilFG Qe̱ b}tU GZ@YtیyWpQ]˕ҝ*P:sl#σ׺{6\,;'6ڪUI'zradu][XcCeJGhxke,@=2v!վB9r 7m+i3YWό]AA&Hӎ33c6ԋ ?5: |4UE0r4LuYvA?JE+Qaca$E9#v7L t2n ٯ¶0af_ۥ&㢨Su%"*&lh?*=n) m{c{mƹUOZv_#~N%dp*^^83gBQu2;_L&L*Gä6:sH n=8YLa O*[6*X3G~PYü{)!O$_$Y=I[8eH>\q. Ce/,X0倰@Q )'|MǷT9 7;$%+2ǑCW%+4,vRyDG@vݲ1qN, /YY/)`.M΄&7D Yʗ,T*H|6lo Y̼7xhL 4]4a#Z$O2狑?IMʌGn6[rz3&_8}ܾc[5%\ {rɾXWg++F(UQxD(avJqƖ'24PFx!]9M/ F,@0EY؆1Ru[wP1ϥ& (&a5  B8_^M:d[SI[16}TsB?NUݛ;Nvʊi1L%.yuσOZ) ubmF`p;aуpotk*}u}Q7 -†G-%j&SFEҗƦ@ؾ`VLwz=p2H^ځ^2Z_UkaqcXpx|d:?(jS;GMu5. 0$Slu:@~0G7"EĖ9c3CC!!@h/Y*8+£)Hc;oO¡[=B"Ī0 0w&!;%a m-'`;t~a 敽&icaV1٢_7fhR?@ULm5ʼ )<ǚ-VTO;U|ͬf+3E}frʻ&r6sRHqEe2jU u?M,\5hzo°LIox>[ݰSX%r;D* #7v׬aS"f/AG 46.;g[պLo4GtnmPv's?m2֩?,C)\o? cmO=ƽKYt خ AMPPIQ8?3Ô TpBnB"(xߴ?H?[CGGo-gj?[CGY.IHyGb0(p1zS/xkgj?[CGI>^9Qr%cigmF&ذ (IlA6 >ԘaaeŸ^8o-#X̺SLYa4Lkjvrv MֿZt͕zg=m;) Z%jt<^,B9a!`ӾOܷI1FT9޻iZdO-RNgݱLM&cgbjA*K}$,ߑ.qצ1[xdYW5y<4rZ1ThN4>O}PG dJcM&>فFc'&8 IrI'0!KjM}期ihήK(:aR p xj֗– (XpՠU.OnkK1ۙ1.yYneJkЫ3wx\ɥqÉV47G#niz턌k!S)ɪda R_͍ ~ʛ,$oʤx@9A׸4Sn; yLu0c1Hfo4s4syj)<8{G[yҧ PnM[2Q$ʩD8>=_6xAm@ssnk^wvĂ\\KѸ {jRB;k1ěf`=62\ n>eh3s24sE;Cmiȳ9&ßr0롸*[[z׸}mx{ Lذ̶+_-T'K6eC"3$"G ;-~Zdd3TȐAG=%X6ԉć 'T 7&MSfeddf!9eBnmLE+2ؙӵH*:10h3$#yěx'4x(nvz+ oLsdBbIf$3nu|؂0D& mlJTs O bS[4zBsFӌp%n*)2yjO R;S5nDHp"풳a-p![A{Y<(3 U+yE~-]O-)-Vy"cW,S(cقG)^~ϋ6n"S"Eܲh@ү ٰs$Vy H + /0ֻ|,nIF\2* ]vO"UPzͧ5Q4QF+sIN<H}W/G8ORJvǴZj:3@a ;{CRUu*\ZVQ g.cF-Bd sddh9YlmfHYzNX511#Uʇh JV, KsF9`!(G5jo),m6TzA1bXq`lf\z%"G8\]u'5jVUVeJݑ@$fؾVf7G>7ex1J)@Y$Oyf7~sAP=)խ`=ˮ-ϼg㥬Z㦘w=jkZ."*%@=*b ( aP gޕEװt돼BS1 F)u,ÛL&%Ш]ccvUea*VeĖB_g%w/dkSvpvDEE@!p;:wߓeooY4{Կj*q#}}#J93X>^`xXeye^Q;2XqyɝSŁm=y/Mo+m*e%8 /,_2Wo}u2g\|XCcD1 6kSB#c;~${ZrMі]f-)3 ӎ9#nUˆw(e1[n“.|"sGssۦÅtޚN7}~? Ó 7hH*3_ 9)]c[5&Y<͡&B-DdywX9[nþc2ekS=]@4^7r9}AdlFd3K,S\rnvWB*hkO=qVFf,S>^?9_Ƅ ܪY"'UU1˰AI948Y3Ux$6VӼBn% n|JΔW2èQvr?>vvxqS$B!vY5^ ͞[>cDY[cr:\[f$ಝ-x%7Vvj=*}b'1OMd6Ke0&kLFakB6>f^BؔIL\’qCI1id JW>T tb2HET2Lޣ=]m8I0׉h:΀!<?Ws܅LcÄYw[qy֍Z"_'!3euJ4UgT:iX+_V4ER.wL- d9Jm6 ;Qoq"bе_*1<~Q@`x(OgmK@[T\ݡ86@D5uO/p;% z ZBx^ߗ]qXT 4& Db$dXPSaeÏҜ>oIxmH:(}!ԡ(ѢC}Ep`oIIWW!\%+LKu}i9t^ p7  \=ZW `dHJr3l/oG3 ۱'0PJQfM4ШG =ZksY7 {Ց4D^XdE<7-k7iAxM?QFew~K j$! CCkJ G 'p}Fsvp &r|y<('bI^-g6E5^I Ų5yQ0t́:ʡRrc"߼M'iIv Vp1~1[[f<Ҙ"%[.6[^5{;f|qUŝܳΨ/JTl-z5H4f10՛FCu(d7MCe TL>I6E^{[VhQ܏}cS?2=I_A<[GEC1]Ȋ.nU˅e1R /3jySnĚqTFҌh4%A:nUGո;z>Fj=~.I|Rٽq*vSH;wH*&rNH̫c}6 cT~0l@ ب6 /E0c-aZ, <ۨ kMkS.ц"铰˜[4"/B z }WM'Pc 0b4*wGOZ,X& ΢?/tݷIML|#>h bf nB>鮴LU$i`e_ %]+W/<5ޠ[a }i)eEF(H.ُoغs~YWe^fkydInx𸺑p+׿,>qu:/\ӒLr|K{FAun4yܲ2lozmvod$UMcG*@cf\bJAcX*'n9pHR4:2_cF+Z\.Td"ђVhCA"삅L;i( &8Yxzagfg ]M,AbǮy LpqR0LcP(@68~qu!9XPI<@{q L<_h]T 5$=5Uv39K2D1]ܬ F0aPy2ӗ83\7@T)L?,VگM|~)caf#.}jXrifCYm+*^GY]{E(yXvcJEi%D"=A5^;Af탶˟EP5Nh7#zgҝg/mrmk9#TF Jb~@:ŖMEɾMD\ Yg&^T֒ 9B$cC)8X̐{UJտgi!H@/{iWab6<>5-+;V)%\I@) ]C"bq0]< AU0֯ .`Q9FS(2\HFW>[6ӲH# )R?c[;hP-}}:VK;˒c s T~ LPDC@µsz o} |.?Oڬ> ?YyǸQD8?h4cQp>FK> ?Y<l\{S}~<ڡ)ߒ~?Y< 24B] _n{>*?Uc=´n.mKs>JqfedF Iju^?b6zy]EDc40):nL5B4G<nZz>}Yv$, rF cוosO[D^:9Ĩ3 $C~)4ζG [4k+x!KJJG(Ӻ ߞ5>S f VܨS^Uo4cWX 1N21FqLC!YK֨Y J=˥RvBU2 ,=#(C-ArĪߞYX[ED1|otΞ]b Tyy3ȖHMK &Du"gc R&RZXQyÜ51Dz[JM. w1.=cS%c%2SοV`iN0M#;4D{C6F>@;f:J=dX\tOaӍZM%^o-Da}-sُfyVԲRllz&ud+21.&Zf۳$NDM 'ldBFӧw zlC7Xh8uԐ}Uv?]~?WCs W :}?}QNN\ʩm?ǭTŠ<*aY8SvQY 'Ѣ4QX7!fm74QP#ޟX˓Sy;aƸ3wj=S#dP=\PñNbq051!O5?.Mugϝ kcE[BaՋ7^x>ݿ7a_eS0Y*ɸPTL>;oY?!ڙʏ0"^ 6?sa԰ňʷ\^  #b-\⪂ _f*$7Y#~DojrW-ا1C[Ш 16TPqIC%L2I5L%7|7<xۍkikRd?o}(wb[M k$ @ wc"_b=.?R2L{8Ed1xU_+Gv͆.9[UD1sGnҋzr $ȁ@r(c×w:3EuLJmu}6V.-6a'"?W;tuF}tUfA5$TLY"._xctpAV_xJse hԟo6|r;t41$^,zI"Y˸C25LC'k=Un$\J%/doȘ?> 3V7}%ꔥu[zv3q :ysWϸMa=N$J7{;{o "hV9hg+T2_x+EU}VȜqW[[5引Ds0ƚ^.sICNd&攆IrKT8 CI#5n>{*wilnpO+X#Aֵ>M]AMʓvꛖa\U`D>X1JzĥQ)zKϙi|.E76V/Wn~>;_ 8]!T)aKqS.elLrivZKr94eifWV7fFXjIP*:::22.r$=Y<&*\[[`tft#υOjrwƳK%ekO|*S4Z?pk?XDh($q(LLi"%0qLd' F6 ]ԞJ1O)YJa<3I6h˼3dģD#@t6tK C\5R3tW?[Go<εM'3~ʓc!ʲWV%Ɔn8Øߦ~ېS?ZW!v}x2%JܵX#ShbJļ§9D,d0=i{>2bL]v&Ezi7[7 N&>V<""2qtv,? G"T "EG ] WIC=Wc4+9inOl*o9z[P|騫hŏ*tP0i@]{&͋|aL* n-N׭>D|ꮲ;ŗ#|;r-ijEE{CF;@ۇSj_󧡣6sL >WƿfWՋПWܝ_1g׿k <ĔNQvUg,!&Ge"ɿM!lmb%P9|󗫶mcioH2$@'F7t ] 9[7Y=]IQFSE-`}[Pn-z2Iƻyɞ:rKS3bB8r'S)w˓$גǯ17㆜;Gy%e8>c_y-č{xa,v\[%/<^JI(쬷KF+8'` n^I<]B0CL0MN:V߸4Y(K"VZ(F0A$&vu"WhluABzLM@DK#ON5-m}^GW:}8r!45G*2xc@ ֣Y,n)52&p/2I"쮢&9&>ð_N?P_?-iSʮiw r~'pUЃJR;.Rjq&ߧh7#ee5Oό#\%9]N r"r|D ^~Y$)+.¡(Xt(0{"Q`u}Gi4ɆM!~~Fuj2eys-%X}IhkO>`Wgm)~]m~R޾ nN]eX`%U&.&u4s`*sYClh{{M-ji`ɏڳrߓe&I1,YfKŦe`;dJf& IP8oXྛ_EwRuʍ 9jY99o,1J#+UR !c}k{Vt,GN&A'1W]Fʦ6HtYRyJg,FU÷=MN܌Ġ).78T]J9o2 ~"ڛ~j,A[}u{f.Wpp݇e~s.n3}扮AګFX: Cku/@E8rcDZW)2-+ZY\k<j$$$tz&Vc?RA 4r Ԏ`eƂ 9mIb)hE1W V q1CWoJHcrWTD6LCrPnQkpq'{i7y}#G'{i=f}Tq~Gmw˼PNy{|{._HC>5GJ:y7׫#yί/79=#K=q=y䏿hmx}v_HҾ$};G/{hmbg_A|fCv(e>gχ}9}#G'{i"Zҍ?0Ig|`cut>-9=#N?Hv_HyG˭___Ӿ9}#G'{iI!i;=y^zkv: to=rzG_=q=y䏿hm+uKҕR#x赏ejݢ9q(aqD>&Bb\o`Ȋ sH5$wvlevC|J:>a56 hxvSԟ 1ްru 1qV+Ԧ7<Ŏ~(#S0C>)xu`e/naGjCew“ 1wmA"ܱD.w))?Fbb2?02EW_Luvgm2%H@2Zo v,6ކ1._$0?uny-jPKZ 0plugins/catch-ids/images/free-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp *<yIDATx] xΒs$Ⱦj)nPQ[}KENJqb*֥(,(\dA @=g?3$hNއ!sf柜M4JV3F&MHL߮]`0 `0 `0 `0 `0 `b3 &6`b3^(i/>++Krf=`$ɬVG7(7#1Iob3Llf0Llf0LlHha '߂ԁpьM[Q JU7zlyo!I?T~7dZ4N=rЈ} ܂859iCJʦx_56"H #Jlb{F\|s،B(F_JC?#5$[*xIG;ocr37jUi[VUTfoUuF~_"IcoyLl DHdZ'!@(u/X\}甜Td0;5ݐ6vh]%9cVz.Ob>>5uꩧ?O^͛G۶mKrsܦH 51ߖF}Qf[3(ؒX}EҾWn4y LPxN.e9_ QWr9DXFm#Fȑ#iժU =Ǐtp :5M#CNRRRԑāIų":o;Ol*Y: ێ7/W[ Qa3rR(aF)vrAPk5>ZU饪:?Q]vA֤~Wp_`P~Nr[4J w#-H3kLm-H.1I-%n4,E 66h /9Q ['T|rfcpF*vcl+@AT뮣XْduhZ[YT"cn%T!HҀĽo@ _1<ޞK -@wnn=BWNͣu^zbB?ـTzjsݱ/??!ϥk [nO?T#*엿ec1fd9 UPAZ\?jotۂܫr-Y!J^7NxZ8.IPMLN̡44Ӥat ӥtcݺ.nEy=>%nXB”xxGOj|eћotF;;!ƶDU𝋆.M sZz+_<UvL:v4KO˅8/QPj |9Swi W> m,LUҚAHVϧKJ23Fnۿ?[:o݉#HHRSS)##C(n|? ̊ؒ/)Qʜ!5AyǥܯkJ; b%$=1ÙlV!~ n Э{:{.^|9ogy.I3fSO=%U^fMZɟp;Q`F ]BCm/w&nONs:bXq)kd;1~o؞NMR5:Cꚑ&+r*KWNtm,<^ܹz)Lo~#csΥ?];4 +̍m*vc7YZ+#N86&a U%SLܖS誑'9tso,ҝ¤^s@/USrg8%QYP(TCVJlEߘڰa0FJSSSO{iS@l&릢sf S5 ^16^81Zt*Zy./ܴ<5c*txOOv-p|wi siwsC0?)"ܛ7owۥB1u2ekhٞGdMP r5xRO̥k|4dtGDӯBe:^qC_O+S~F;|dVWB;$L%K|x -I ѣ |ڢ(p{E6nishdMߒbKN-vӢ贜( X.ԷB(sG禄wT9I#2i\zFA 8U(Ð-P\+7曘΃vPd Z1:ЬUB 3,U> a^-t1+)nXwh3$b:hII3=0:2m؞ 5T  %7c0՗oz?=:1'P7620 NdЂf2e},s["/cZ /|JA.a#lѾ&Zr}͠O9@+vfY;ٳqw]]]8Ɛ `,]ZZ*簓6K:AIv'Oڗ[>Cȕ¬B?4!AV|aC-t~R;*m¸!69:3#-  CTZUU!4MWWkeosjJGjl<#=;hEKO/xT&s;'B)\Aܜl'%⢶oJQ`u :ϟQs_2tǎG6D2d`c>p@ڽ{LI4 Te3)`cMtr(s oMw%\;Rх2$Qbaz9.pun #2T+yzZ b_9(rK C G}$בrh֬YrOJu+׿E5554x` ///Og ]⿱$=@>"0A^A~QJ3$Y{4XT;Hs{/=@ 2wRILlf -[FۑRKDŽPAѰagȑ#RAl5<{>|ў'f+PtgLvТYpOx4Iǹ.9]N%wHFbCi-Zˣ)Su(4 /xP1cb+av/[l-H$`h(ɘr_&T!~=/ ~ oH4FZR Y`b}zٿo7@)Pq`\LhFj;l*LJ Aj jc'34z!*4hxUWGGQ::@hسgW+lsٌ(aJ(y7B"] HG[nᤣMiw)Lr"(7.s`NիWwUϷDh iWZ[[kdJ n9Nt3Lb仚r=JeJp$SYHW;(Rgm(rg a׼NNEiyV]a}/=s`s`r {P_#,bέ*7j;Z]x '߂u>pwˌ5L!4^{-{rTȀ;8q7|3}'|wYj4M1NF*PtUX/g0@ŋ:Yk2 1+V/Lo<ިqPR9sO?F/: ("jklg3PIW@Lb(*~ȥ9*ƾ3= z+l10 0rWHBQ`~Pi… t~W~w}*(`Վ/,NSpzG}~{#$>yeTY9@<@wqI'csUc~'ɇ9H͛o߯Vˍ7hgevZx1JĹ;::~W<3jL' _r%r-:0p@8~WHX`G ^|/h„ t}}'Nԏ: 3<'PO:rʕ+ow8`nǩpɍJ2 8HnV3<z]U}917y7m$Vp(qu|n߾]馛tj](3W^*mB'A1scaC8'c6>s(r:P'V]+o3gq8@.X+,8QeV /`Tv*M)? 8錿&zg^By% #ᱡ0$1A;FJٻ5IrH:lJ۶;n;ϬH1+ZW"Ŋx-/^d߱+/$4/RA`,Xt1Sp);Exqӧ}p8v';8MHEƋ)=N0;ڽpn Մ:+u' w.B^Hs5X᱾뮻C㏇{F@Tt>6ulx)]yQbj7fw粭Z}G㜺Mr{aݬ!@(*;a8]$Rc a*|gӻt Vf 2+ *j[,{x:F VߪpHQc*(8ҿ^^C*#{Easj^ `}OOvj j3+_ caݩsowlͩqwi6[MqUG,ۤ^FMlL!azc>[n|F-8p@Nej[,{uu ˱ˆ/c{=W<\ftoUϓli]}dz]# qDWPXq`0،.U!L'a16WX?ͥP>8svd 8V,h% ǎ# Dac>9U, Ku87]6I糍eTt htߎD#_S+UrBKU&;{!ͩPs()J#5G(uEټ?8n@ D%} % j4ÂQTSӳЌ%)Xhb$ AX` p饗HCTN0ߘhDJ#E E $t,*EV\8^rSXhz b(RSi8)e%4,|Ϫ ug0+QWYY#}RfJ` p>I3chDS?j71[*w)ܱ/N)wNQbIKlŠ܏cƌab'sPBMqf0Llf0Llf0 m›IENDB`PKZri@i@5plugins/catch-ids/includes/CatchThemesThemePlugin.phpnu[ 20, 'fields' => array_merge( (array) $theme_field_defaults, array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the Add Themes screen. ) ), ) ); if ( isset( $args['browse'] ) && 'catchthemes' === $args['browse'] && ! isset( $args['user'] ) ) { $args['author'] = 'catchthemes'; unset( $args['browse'] ); } if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] ) ) { $user = get_user_option( 'wporg_favorites' ); if ( $user ) { $args['user'] = $user; } } $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search'; /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args ); $api = themes_api( 'query_themes', $args ); if ( is_wp_error( $api ) ) { wp_send_json_error(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); foreach ( $api->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); if ( current_user_can( 'switch_themes' ) ) { if ( is_multisite() ) { $theme->activate_url = add_query_arg( array( 'action' => 'enable', '_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug ), 'theme' => $theme->slug, ), network_admin_url( 'themes.php' ) ); } else { $theme->activate_url = add_query_arg( array( 'action' => 'activate', '_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug ), 'stylesheet' => $theme->slug, ), admin_url( 'themes.php' ) ); } } if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $theme->customize_url = add_query_arg( array( 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ), ), wp_customize_url( $theme->slug ) ); } $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); $theme->compatible_wp = is_wp_version_compatible( $theme->requires ); $theme->compatible_php = is_php_version_compatible( $theme->requires_php ); } wp_send_json_success( $api ); } public function our_themes_script( $hook_suffix ) { if ( 'theme-install.php' === $hook_suffix ) { wp_enqueue_script( 'our-themes-script', plugin_dir_url( __FILE__ ) . '../js/our-themes.js', array( 'jquery' ), '2018-05-16' ); } } /* Add Catch Themes Section in Theme in Customizer */ public function customize_register( $wp_customize ) { $wp_customize->add_section( new WP_Customize_Themes_Section( $wp_customize, 'catchthemes', array( 'title' => __( 'Themes by CatchThemes', 'catch-themes-demo-import' ), 'action' => 'catchthemes', 'capability' => 'install_themes', 'panel' => 'themes', 'priority' => 6, ) ) ); } /** * Load themes into the theme browsing/installation UI. * taken from wp-includes/cllass-wp-customize-manager.php * @since 4.9.0 */ public function handle_load_themes_request() { check_ajax_referer( 'switch_themes', 'nonce' ); if ( ! current_user_can( 'switch_themes' ) ) { wp_die( -1 ); } if ( empty( $_POST['theme_action'] ) ) { wp_send_json_error( 'missing_theme_action' ); } $theme_action = sanitize_key( $_POST['theme_action'] ); $themes = array(); $args = array(); // Define query filters based on user input. if ( ! array_key_exists( 'search', $_POST ) ) { $args['search'] = ''; } else { $args['search'] = sanitize_text_field( wp_unslash( $_POST['search'] ) ); } if ( ! array_key_exists( 'tags', $_POST ) ) { $args['tag'] = ''; } else { $args['tag'] = array_map( 'sanitize_text_field', wp_unslash( (array) $_POST['tags'] ) ); } if ( ! array_key_exists( 'page', $_POST ) ) { $args['page'] = 1; } else { $args['page'] = absint( $_POST['page'] ); } require_once ABSPATH . 'wp-admin/includes/theme.php'; if ( 'installed' === $theme_action ) { // Load all installed themes from wp_prepare_themes_for_js(). $themes = array( 'themes' => wp_prepare_themes_for_js() ); foreach ( $themes['themes'] as &$theme ) { $theme['type'] = 'installed'; $theme['active'] = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme['id'] ); } } elseif ( 'catchthemes' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } $args['author'] = 'catchthemes'; // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } elseif ( 'wporg' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } // End if(). /** * Filters the theme data loaded in the customizer. * * This allows theme data to be loading from an external source, * or modification of data loaded from `wp_prepare_themes_for_js()` * or WordPress.org via `themes_api()`. * * @since 4.9.0 * * @see wp_prepare_themes_for_js() * @see themes_api() * @see WP_Customize_Manager::__construct() * * @param array $themes Nested array of theme data. * @param array $args List of arguments, such as page, search term, and tags to query for. * @param WP_Customize_Manager $manager Instance of Customize manager. */ $themes = apply_filters( 'customize_load_themes', $themes, $args, $wp_customize ); wp_send_json_success( $themes ); } /* Plugins */ /* Adds Catch Plugins tab in Add Plugin page to show all plugins by Catch Plugins in wordpress.org */ public function add_our_plugins_tab( $tabs ) { // Add our filter here $tabs['catchplugins'] = _x( 'Catch Plugins', 'Plugin Installer' ); return $tabs; } public function catchplugins() { /* From CORE Start */ global $paged, $tab; wp_reset_vars( array( 'tab' ) ); $defined_class = new WP_Plugin_Install_List_Table(); $paged = $defined_class->get_pagenum(); $per_page = 30; //$installed_plugins = catch_get_installed_plugins(); $args = array( 'page' => $paged, 'per_page' => $per_page, 'fields' => array( 'last_updated' => true, 'icons' => true, 'active_installs' => true, ), // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results. 'locale' => get_user_locale(), //'installed_plugins' => array_keys( $installed_plugins ), ); /* From CORE End */ // Add author filter for our plugins $args['author'] = 'catchplugins'; return $args; } public function plugins_table() { global $wp_list_table; printf( '

    ' . __( 'You can use any of our free plugins or premium plugins from Catch Plugins' ) . '.

    ', 'https://catchplugins.com/' ); ?>
    display(); ?>
    . */ /** * Make plugin available for translation * Translations can be filed in the /languages/ directory */ if ( ! defined( 'ABSPATH' ) ) { exit; } // Define Version define( 'CATCH_IDS_VERSION', '2.7.1' ); // The URL of the directory that contains the plugin if ( ! defined( 'CATCH_IDS_URL' ) ) { define( 'CATCH_IDS_URL', plugin_dir_url( __FILE__ ) ); } // The absolute path of the directory that contains the file if ( ! defined( 'CATCH_IDS_PATH' ) ) { define( 'CATCH_IDS_PATH', plugin_dir_path( __FILE__ ) ); } // Gets the path to a plugin file or directory, relative to the plugins directory, without the leading and trailing slashes. if ( ! defined( 'CATCH_IDS_BASENAME' ) ) { define( 'CATCH_IDS_BASENAME', plugin_basename( __FILE__ ) ); } function catchids_load_textdomain() { load_plugin_textdomain( 'catch-ids', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); } add_action( 'plugins_loaded', 'catchids_load_textdomain' ); /** * @package Catch Plugins * @subpackage Catch IDs * @since Catch IDs 1.0 */ if ( ! function_exists( 'catchids_column' ) ) : /** * Prepend the new column to the columns array */ function catchids_column( $cols ) { $column_id = array( 'catchids' => __( 'ID', 'catch-ids' ) ); $cols = array_slice( $cols, 0, 1, true ) + $column_id + array_slice( $cols, 1, null, true ); return $cols; } endif; // catchids_column if ( ! function_exists( 'catchids_value' ) ) : /** * Echo the ID for the new column */ function catchids_value( $column_name, $id ) { if ( 'catchids' == $column_name ) { echo $id; } } endif; // catchids_value if ( ! function_exists( 'catchids_return_value' ) ) : function catchids_return_value( $value, $column_name, $id ) { if ( 'catchids' == $column_name ) { $value .= $id; } return $value; } endif; // catchids_return_value if ( ! function_exists( 'catchids_css' ) ) : /** * Output CSS for width of new column */ function catchids_css() { ?> ' ) ) { add_filter( "manage_edit-{$taxonomy}_sortable_columns", 'catchids_column' ); } } } foreach ( get_post_types() as $ptype ) { if ( is_array( $options ) && array_key_exists( $ptype, $options ) && ( 1 == $options[ $ptype ] ) ) { add_action( "manage_edit-{$ptype}_columns", 'catchids_column' ); add_filter( "manage_{$ptype}_posts_custom_column", 'catchids_value', 10, 3 ); if ( version_compare( $GLOBALS['wp_version'], '3.0.999', '>' ) ) { add_filter( "manage_edit-{$ptype}_sortable_columns", 'catchids_column' ); } } } // For User Management if ( is_array( $options ) && array_key_exists( 'user', $options ) && ( 1 == $options['user'] ) ) { add_action( 'manage_users_columns', 'catchids_column' ); add_filter( 'manage_users_custom_column', 'catchids_return_value', 10, 3 ); if ( version_compare( $GLOBALS['wp_version'], '3.0.999', '>' ) ) { add_filter( 'manage_users_sortable_columns', 'catchids_column' ); } } // For Comment Management if ( is_array( $options ) && array_key_exists( 'comment', $options ) && ( 1 == $options['comment'] ) ) { add_action( 'manage_edit-comments_columns', 'catchids_column' ); add_action( 'manage_comments_custom_column', 'catchids_value', 10, 2 ); if ( version_compare( $GLOBALS['wp_version'], '3.0.999', '>' ) ) { add_filter( 'manage_edit-comments_sortable_columns', 'catchids_column' ); } } } endif; // catchids_add add_action( 'admin_init', 'catchids_add' ); if ( ! function_exists( 'catchids_get_all_post_types' ) ) : function catchids_get_all_post_types() { $post_types = get_post_types( array( 'public' => true ) ); $post_type_list = array(); foreach ( $post_types as $key => $value ) { if ( 'attachment' != $key ) { $data = str_replace( '-', ' ', $value ); $data = str_replace( '_', ' ', $data ); $post_type_list[ $key ] = ucwords( $data ); } } return $post_type_list; } endif; // catchids_get_all_post_types if ( ! function_exists( 'catchids_get_options' ) ) : function catchids_get_options() { $defaults = catchids_default_options(); $options = get_option( 'catchids_options', $defaults ); return wp_parse_args( $options, $defaults ); } endif; // catchids_get_options if ( ! function_exists( 'catchids_default_options' ) ) : /** * Return array of default options * * @since 1.0 * @return array default options. */ function catchids_default_options( $option = null ) { $types = catchids_get_all_post_types(); foreach ( $types as $key => $value ) { $default_options[ $key ] = 1; } $default_options['category'] = 1; $default_options['media'] = 1; $default_options['user'] = 1; $default_options['comment'] = 1; $default_options['theme_plugin_tabs'] = 1; if ( null == $option ) { return apply_filters( 'catchids_options', $default_options ); } else { return $default_options[ $option ]; } } endif; // catchids_default_options if ( ! function_exists( 'catchids_add_plugin_settings_menu' ) ) : function catchids_add_plugin_settings_menu() { add_menu_page( esc_html__( 'Catch IDs', 'catch-ids' ), //page title esc_html__( 'Catch IDs', 'catch-ids' ), //menu title 'edit_posts', //capability needed 'catch-ids', //menu slug (and page query url) 'catchids_settings', 'dashicons-editor-ol', '99.01564' ); } endif; // catchids_add_plugin_settings_menu add_action( 'admin_menu', 'catchids_add_plugin_settings_menu' ); if ( ! function_exists( 'catchids_settings' ) ) : function catchids_settings() { $child_theme = false; if ( ! current_user_can( 'edit_posts' ) ) { wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'catch-ids' ) ); } require_once plugin_dir_path( __FILE__ ) . 'partials/catch-ids-display.php'; } endif; // catchids_settings if ( ! function_exists( 'catchids_register_settings' ) ) : /** * Catch IDs: register_settings * Catch IDs Register Settings */ function catchids_register_settings() { register_setting( 'catchids-group', 'catchids_options', 'catchids_sanitize_callback' ); } endif; // catchids_register_settings add_action( 'admin_init', 'catchids_register_settings' ); if ( ! function_exists( 'catchids_action_links' ) ) : /** * Catch_IDs: catchids_action_links * Catch_IDs Settings Link function callback * * @param arrray $links Link url. * * @param arrray $file File name. */ function catchids_action_links( $links, $file ) { if ( $file === 'catch-ids/catch-ids.php' ) { $settings_link = '' . esc_html__( 'Settings', 'catch-ids' ) . ''; array_unshift( $links, $settings_link ); } return $links; } endif; // catchids_action_links add_filter( 'plugin_action_links', 'catchids_action_links', 10, 2 ); if ( ! function_exists( 'catchids_enqueue_styles' ) ) : function catchids_enqueue_styles() { if ( isset( $_GET['page'] ) && 'catch-ids' == $_GET['page'] ) { wp_enqueue_style( 'catchids-styles', plugin_dir_url( __FILE__ ) . 'css/catch-ids.css', array(), '1.0', 'all' ); wp_enqueue_style( 'catch-ids-dashboard-tabs', plugin_dir_url( __FILE__ ) . 'css/admin-dashboard.css', array(), '1.0', 'all' ); } } endif; // catchids_enqueue_styles add_action( 'admin_enqueue_scripts', 'catchids_enqueue_styles' ); if ( ! function_exists( 'catchids_enqueue_scripts' ) ) : function catchids_enqueue_scripts() { if ( isset( $_GET['page'] ) && 'catch-ids' == $_GET['page'] ) { wp_enqueue_script( 'catch-ids-match-height', plugin_dir_url( __FILE__ ) . 'js/jquery.matchHeight.min.js', array( 'jquery' ), '1.0', false ); wp_enqueue_script( 'catchids-scripts', plugin_dir_url( __FILE__ ) . 'js/catch-ids.js', array( 'jquery', 'catch-ids-match-height' ), '1.0', false ); } } endif; // catchids_enqueue_scripts add_action( 'admin_enqueue_scripts', 'catchids_enqueue_scripts' ); add_action( 'wp_ajax_catchids_switch', 'catchids_switch' ); if ( ! function_exists( 'catchids_switch' ) ) : function catchids_switch() { if ( ! wp_verify_nonce( $_POST['security'], 'catch_ids_nonce' ) ) { wp_die( esc_html__( 'Unauthorized access!', 'catch-ids' ) ); } else { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'Permission denied!', 'catch-ids' ) ); } $value = ( 'true' == $_POST['value'] ) ? 1 : 0; $option_name = $_POST['option_name']; $option_value = catchids_get_options( 'catchids_options' ); $option_value[ $option_name ] = $value; if ( update_option( 'catchids_options', $option_value ) ) { echo $value; } else { esc_html_e( 'Connection Error. Please try again.', 'catch-ids' ); } } wp_die(); // this is required to terminate immediately and return a proper response } endif; // catchids_switch add_action( 'wp_ajax_ctp_switch', 'ctp_switch' ); if ( ! function_exists( 'ctp_switch' ) ) : function ctp_switch() { if ( ! wp_verify_nonce( $_POST['security'], 'catch_ids_tabs_nonce' ) ) { wp_die( esc_html__( 'Unauthorized access!', 'catch-ids' ) ); } else { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'Permission denied!', 'catch-ids' ) ); } $value = ( 'true' == $_POST['value'] ) ? 1 : 0; $option_name = $_POST['option_name']; $option_value = catchids_get_options( 'catchids_options' ); $option_value[ $option_name ] = $value; if ( update_option( 'catchids_options', $option_value ) ) { echo $value; } else { esc_html_e( 'Connection Error. Please try again.', 'catch-ids' ); } } wp_die(); // this is required to terminate immediately and return a proper response } endif; // catchids_switch $options = catchids_get_options(); //print_r($options); die(); if ( 1 == $options['theme_plugin_tabs'] ) { /* Adds Catch Themes tab in Add theme page and Themes by Catch Themes in Customizer's change theme option. */ if ( ! class_exists( 'CatchThemesThemePlugin' ) && ! function_exists( 'add_our_plugins_tab' ) ) { require plugin_dir_path( __FILE__ ) . 'includes/CatchThemesThemePlugin.php'; } } /* Adds support link and review link in plugin page */ // Only visible if the plugin is active add_filter( 'plugin_row_meta', 'catchids_add_plugin_meta_links', 10, 2 ); function catchids_add_plugin_meta_links( $meta_fields, $file ) { if ( $file == plugin_basename( __FILE__ ) ) { $meta_fields[] = "Support Forum"; $meta_fields[] = " " . "" . "" . "" . "" . "" . ''; $stars_color = '#ffb900'; echo ''; } return $meta_fields; } PKZa .plugins/catch-ids/js/jquery.matchHeight.min.jsnu[!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){var b=-1,c=-1,d=function(a){return parseFloat(a)||0},e=function(b){var c=a(b),e=null,f=[];return c.each(function(){var b=a(this),c=b.offset().top-d(b.css("margin-top")),g=f.length>0?f[f.length-1]:null;null===g?f.push(b):Math.floor(Math.abs(e-c))<=1?f[f.length-1]=g.add(b):f.push(b),e=c}),f},f=function(b){var c={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof b?a.extend(c,b):("boolean"==typeof b?c.byRow=b:"remove"===b&&(c.remove=!0),c)},g=a.fn.matchHeight=function(b){var c=f(b);if(c.remove){var d=this;return this.css(c.property,""),a.each(g._groups,function(a,b){b.elements=b.elements.not(d)}),this}return this.length<=1&&!c.target?this:(g._groups.push({elements:this,options:c}),g._apply(this,c),this)};g.version="master",g._groups=[],g._throttle=80,g._maintainScroll=!1,g._beforeUpdate=null,g._afterUpdate=null,g._rows=e,g._parse=d,g._parseOptions=f,g._apply=function(b,c){var h=f(c),i=a(b),j=[i],k=a(window).scrollTop(),l=a("html").outerHeight(!0),m=i.parents().filter(":hidden");return m.each(function(){var b=a(this);b.data("style-cache",b.attr("style"))}),m.css("display","block"),h.byRow&&!h.target&&(i.each(function(){var b=a(this),c=b.css("display");"inline-block"!==c&&"flex"!==c&&"inline-flex"!==c&&(c="block"),b.data("style-cache",b.attr("style")),b.css({display:c,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),j=e(i),i.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||"")})),a.each(j,function(b,c){var e=a(c),f=0;if(h.target)f=h.target.outerHeight(!1);else{if(h.byRow&&e.length<=1)return void e.css(h.property,"");e.each(function(){var b=a(this),c=b.attr("style"),d=b.css("display");"inline-block"!==d&&"flex"!==d&&"inline-flex"!==d&&(d="block");var e={display:d};e[h.property]="",b.css(e),b.outerHeight(!1)>f&&(f=b.outerHeight(!1)),c?b.attr("style",c):b.css("display","")})}e.each(function(){var b=a(this),c=0;h.target&&b.is(h.target)||("border-box"!==b.css("box-sizing")&&(c+=d(b.css("border-top-width"))+d(b.css("border-bottom-width")),c+=d(b.css("padding-top"))+d(b.css("padding-bottom"))),b.css(h.property,f-c+"px"))})}),m.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||null)}),g._maintainScroll&&a(window).scrollTop(k/l*a("html").outerHeight(!0)),this},g._applyDataApi=function(){var b={};a("[data-match-height], [data-mh]").each(function(){var c=a(this),d=c.attr("data-mh")||c.attr("data-match-height");b[d]=d in b?b[d].add(c):c}),a.each(b,function(){this.matchHeight(!0)})};var h=function(b){g._beforeUpdate&&g._beforeUpdate(b,g._groups),a.each(g._groups,function(){g._apply(this.elements,this.options)}),g._afterUpdate&&g._afterUpdate(b,g._groups)};g._update=function(d,e){if(e&&"resize"===e.type){var f=a(window).width();if(f===b)return;b=f}d?-1===c&&(c=setTimeout(function(){h(e),c=-1},g._throttle)):h(e)},a(g._applyDataApi);var i=a.fn.on?"on":"bind";a(window)[i]("load",function(a){g._update(!1,a)}),a(window)[i]("resize orientationchange",function(a){g._update(!0,a)})});PKZ~Ma"plugins/catch-ids/js/our-themes.jsnu[jQuery(document).ready(function($){ var our_themes = '
  • Catch Themes
  • '; $('.filter-links').append( our_themes ); });PKZ[v !plugins/catch-ids/js/catch-ids.jsnu[(function ($) { 'use strict'; $(function () { /* For Input Switch */ $('.catchids-input-switch').on('click', function () { var loader = $(this).parent().next(); loader.show(); var main_control = $(this); var catchids_nonce = main_control.prev('input').val(); var data = { action: 'catchids_switch', value: this.checked, security: catchids_nonce, option_name: main_control.attr('rel'), }; $.post(ajaxurl, data, function (response) { response = $.trim(response); if ('1' == response) { main_control.parent().parent().addClass('active'); main_control.parent().parent().removeClass('inactive'); } else if ('0' == response) { main_control.parent().parent().addClass('inactive'); main_control.parent().parent().removeClass('active'); } else { alert(response); } loader.hide(); }); }); /* For Input Switch End */ /* CPT switch */ $('.ctp-switch').on('click', function () { var loader = $(this).parent().next(); loader.show(); var main_control = $(this); var catchids_tabs_nonce = main_control.prev('input').val(); var data = { action: 'ctp_switch', value: this.checked, security: catchids_tabs_nonce, option_name: main_control.attr('rel'), }; $.post(ajaxurl, data, function (response) { response = $.trim(response); if ('1' == response) { main_control.parent().parent().addClass('active'); main_control.parent().parent().removeClass('inactive'); } else if ('0' == response) { main_control.parent().parent().addClass('inactive'); main_control.parent().parent().removeClass('active'); } else { alert(response); } loader.hide(); }); }); /* CPT switch End */ }); $(function () { // Tabs $('.catchp_widget_settings .nav-tab-wrapper a').on( 'click', function (e) { e.preventDefault(); if (!$(this).hasClass('ui-state-active')) { $('.nav-tab').removeClass('nav-tab-active'); $('.wpcatchtab').removeClass('active').fadeOut(0); $(this).addClass('nav-tab-active'); var anchorAttr = $(this).attr('href'); $(anchorAttr).addClass('active').fadeOut(0).fadeIn(500); } } ); }); // jQuery Match Height init for sidebar spots $(document).ready(function () { $( '.catchp-sidebar-spot .sidebar-spot-inner, .col-2 .catchp-lists li, .col-3 .catchp-lists li' ).matchHeight(); }); })(jQuery); PKZ\vplugins/catch-ids/readme.txtnu[=== Catch IDs === Contributors: catchplugins, catchthemes, sakinshrestha, pratikshrestha, maheshmaharjan, dreamsapana Donate link: https://catchplugins.com/plugins/catch-ids/ Tags: catch-ids, simple, admin, wp-admin, show, ids, post, page, category, media, links, tag, user, id, post id, page id, category id, tag id, media id Requires at least: 5.9 Tested up to: 6.5 Stable tag: trunk License: GNU General Public License, version 3 (GPLv3) License URI: http://www.gnu.org/licenses/gpl-3.0.txt What this plugin does is to shows the IDs on admin section. == Description == Catch IDs is a simple and light weight plugin to show the Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and User ID in the Admin Section Table. This plugin was initially develop to support our themes features slider. Then we thought that this will be helpful to all the WordPress Admin Users. Just activate and catch IDs in your page, post, category, tag and media pages. Check out our new modular plugin [Catch Web Tools](https://wordpress.org/plugins/catch-web-tools/). Power up your WordPress site with powerful features that were till now only available to Catch Themes users. We currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, Catch IDs and basic SEO Optimization modules and will be adding more. == Installation == The easy way (via Dashboard) : * Go to Plugins > Add New * Type in the **Catch IDs** in Search Plugins box * Click Install Now to install the plugin * After Installation click activate to start using the **Catch IDs** * Go to **Catch IDs** from Dashboard menu * Now you will get ID's column in your post, page, category, tag and media panel Not so easy way (via FTP) : * Download the **Catch IDs** * Unarchive **Catch IDs** plugin * Copy folder with catch-ids.zip * Open the ftp \wp-content\plugins\ * Paste the plug-ins folder in the folder * Go to admin panel => open item "Plugins" => activate **Catch IDs** * Go to **Catch IDs** from Dashboard menu == Screenshots == 1. Edit Posts Page 2. Edit Media Library 3. Edit Categories == Usage == 1. Just install and activate. == Changelog == = 2.7.1 (Released: April 16, 2024) = * Bug Fixed: Deprecation notice in PHP 8.2 * Compatibility check up to version 6.5 = 2.7 (Released: November 15, 2023) = * Compatibility check up to version 6.4 = 2.6 (Released: November 03, 2022) = * Compatibility check up to version 6.1 = 2.5 (Released: February 24, 2022) = * Compatibility check up to version 5.9 = 2.4 (Released: September 15, 2021) = * Bug Fixed: Security issue on ajax calls = 2.3 (Released: July 23, 2021) = * Compatibility check up to version 5.8 = 2.2 (Released: March 04, 2021) = * Compatibility check up to version 5.7 = 2.1 (Released: Aug 19, 2020) = * Bug Fixed: Issue in add new theme page = 2.0 (Released: March 10, 2020) = * Compatibility check up to version 5.4 = 1.9 (Released: November 12, 2019) = * Compatibility check up to version 5.3 = 1.8 (Released: May 31, 2019) = * Added: Option to turn off Catch Themes and Catch Plugin tabs * Updated: Compatibility to WordPress version 5.2 * Updated: Catch Themes and Catch Plugins tabs displaying code = 1.7 (Released: February 21, 2019) = * Compatibility check up to version 5.1 = 1.6 (Released: December 12, 2018) = * Added: Catch Themes and Catch Plugins tabs in Add themes and Add plugins page respectively * Added: Themes by Catch Themes section under Themes panel in customizer * Compatibility check up to version 5.0 = 1.5 (Released: May 07, 2018) = * Update: Moved domain from catchthemes.com to catchplugins.com * Compatibility check up to version 4.9.5 = 1.4.8 = * Compatibility check up to version 4.9.4 * Added: Toggle ID column option to display in selected pages = 1.4.7 = * Compatibility check up to version 4.9 = 1.4.6 = * Compatibility check up to version 4.8 = 1.4.5 = * Compatibility check up to version 4.7 = 1.4.4 = * Fixed: ID column display issue in mobile devices = 1.4.3 = * Compatibility check up to version 4.6 = 1.4.2 * Compatibility check up to version 4.5 = 1.4.1 * Changed: ID column width size to support upto 8 digit ids * Changed: http to https in links = 1.4 * Bug Fixed: IDs not showing in category and tags page(Reported by wwkipday) = 1.3 * Update: Made the ID column sortable * Code Optimization = 1.2.6 * Compatibility check up to version 4.4 = 1.2.5 * Translation ready update = 1.2.4 * Compatibility check up to version 4.3 = 1.2.3 * Compatibility check up to version 4.1 * Added plugin icons = 1.2.2 * Compatibility check up to version 3.9.2 = 1.2.1 * Fixed ID not showing in Taxonomies (Reported by Lesley) = 1.2 * Check WordPress compatibility up to version 3.9.1 = 1.1 * Check WordPress compatibility up to version 3.7.1 = 1.0 * Initial Public Release PKZHplugins/catch-ids/uninstall.phpnu[

    $value ) : ?>

    >

    >

    >

    >

    >
    PKZ' &plugins/catch-ids/partials/sidebar.phpnu[ PKZ2%plugins/catch-ids/partials/footer.phpnu[ PKZ#_0plugins/catch-ids/partials/catch-ids-display.phpnu[ PKZR==#plugins/catch-ids/css/catch-ids.cssnu[/** * All of the CSS for your admin-specific functionality should be * included in this file. */ /*-------------------------------------------------------------- >>> TABLE OF CONTENTS: ---------------------------------------------------------------- # Typography # Layout # Clearing # Lists # Media # Links # Header # Content # Toggle Switch # Other Products # Footer # Media Queries ## >= 320px ## >= 768px ## >= 1024px ## >= 1280px --------------------------------------------------------------*/ /*-------------------------------------------------------------- # Typography --------------------------------------------------------------*/ .catchids-main, .catchids-main button, .catchids-main input, .catchids-main selcatchids, .catchids-main textarea, .catchids-main p { color: #1a1a1a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; font-size: 1rem; font-weight: 400; line-height: 1.5; word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } .catchids-main h1 { font-size: 24px; font-size: 1.5rem; } .catchids-main h2 { font-size: 20px; font-size: 1.25rem; } .catchids-main h3 { font-size: 18px; font-size: 1.125rem; } .catchids-main h4 { font-size: 16px; font-size: 1rem; } .catchids-main h5 { font-size: 14px; font-size: 0.875rem; } .catchids-main h6 { font-size: 13px; font-size: 0.8125rem; } .catchids-main p { margin: 0 0 1.5em; } /*-------------------------------------------------------------- # Layout --------------------------------------------------------------*/ .catchids-main { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .catchids-main *, .catchids-main *:before, .catchids-main *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; } .catchids-main { background-color: #fff; } /*-------------------------------------------------------------- # Clearing --------------------------------------------------------------*/ .catchids-main .clear:before, .catchids-main .clear:after { content: ""; display: table; } .catchids-main .clear:after { clear: both; } /*-------------------------------------------------------------- # Lists --------------------------------------------------------------*/ .catchids-main .ul, .catchids-main ol { margin: 0 0 1.5em 2em; padding: 0; } .catchids-main li { margin: 0; } .catchids-main ul { list-style: disc; } .catchids-main ol { list-style: decimal; } .catchids-main li > ul, .catchids-main li > ol { margin-top: 0.55em; margin-left: 1.5em; margin-bottom: 0; } .catchids-main li { margin-bottom: 0.55em; } .catchids-main dt { font-weight: 700; } .catchids-main dd { margin: 0 1.5em 1.5em; } /*-------------------------------------------------------------- # Media --------------------------------------------------------------*/ .catchids-main img { height: auto; /* Make sure images are scaled corrcatchidsly. */ max-width: 100%; /* Adhere to container width. */ vertical-align: middle; } /*-------------------------------------------------------------- # Links --------------------------------------------------------------*/ .catchids-main a { color: #0085c3; cursor: pointer; text-decoration: none; } .catchids-main a:hover, .catchids-main a:focus, .catchids-main a:active { color: #444; text-decoration: underline; } .catchids-main a:focus { outline: thin dotted; } .catchids-main a:hover, .catchids-main a:active { outline: 0; } /*-------------------------------------------------------------- # Header --------------------------------------------------------------*/ .catchids-main #masthead { background: #00618d; background: -webkit-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: -o-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: -moz-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); } .catchids-main #masthead .wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow : column wrap; } .catchids-main #plugin-description { margin: 0 auto; max-width: 960px; padding-bottom: 20px; text-align: center; } .catchids-main #plugin-description p:last-child { margin-bottom: 0; } .catchids-main #site-branding { display: block; order: 1; padding: 30px 20px; text-align: center; width: 100%; } .catchids-main .site-title { font-family: "Trebuchet MS", Helvetica, sans-serif; text-transform: capitalize; } .catchids-main .site-title a { color: #fff; } .catchids-main .site-title a:hover, .catchids-main .site-title a:focus { text-decoration: none; } .catchids-main .site-title-additional { color: #006ea4; } .catchids-main .setting { padding: 0 7px; color: #fff; } /*-------------------------------------------------------------- # Content --------------------------------------------------------------*/ .catchids-main .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; justify-content: center; margin: 0 auto; max-width: 680px; } .catchids-main .module-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content:flex-start; } .cwt .catch-ids-options { border-top: 1px solid #dfdfdf; padding-top: 20px; margin-top: 20px; } #module-status { margin-bottom: 0; } #module-status .module-header { background-color: transparent; padding-top: 0; padding-bottom: 0; justify-content: flex-start; } #module-status .module-header h3 { margin-right: 90px; } #module-status .loader { right: inherit; left: 170px; } .catchids-main .module-header { background-color: #f3f3f3; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; padding: 11px 18px; position: relative; } .catchids-main .module-header.active { -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; o-transition: all 0.2s ease; transition: all 0.2s ease; } .catchids-main .module-header.inactive { -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; o-transition: all 0.2s ease; transition: all 0.2s ease; } .catchids-main .module-title, .catchids-main .other-catchthemes-products .module-content { color: #23282d; font-family: "Trebuchet MS", Helvetica, sans-serif; font-weight: normal; } .catchids-main .catch-modules { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; margin-bottom: 20px; } .catchids-main #module-disabled { margin-bottom: 0; } .catchids-main #module-disabled.catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100% } .catchids-main .catch-module-long { background-color: #f9f9f9; border-radius: 3px; border: 2px solid #ccc; border-top: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow:column wrap; } .catchids-main .module-content p:last-child { margin-bottom: 0; } .catchids-main #main-nav .dashicons { line-height: 2.7; } /*-------------------------------------------------------------- # Toggle Switch --------------------------------------------------------------*/ .catchids-main .switch { -webkit-box-flex: 0; -webkit-flex-grow: 0; -moz-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; position: relative; float: none; right: 0; top: 2px; } .catchids-main .module-title.active { background-color: #0085c3; } .catchids-main .switch label { background-color: #48a348; border-radius: 11px; cursor: pointer; height: 16px; right:0; position: absolute; top: 3px; width: 30px; } .catchids-main .inactive .switch label { background-color: #ccc; } .catchids-main .switch input[type="checkbox"] { visibility: hidden; display: none; } .catchids-main .switch label:after { background-color: #fff; border-radius: 100%; content: ''; height: 12px; left: 2px; position: absolute; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; top: 2px; width: 12px; } .catchids-main .switch input[type="checkbox"]:checked + label:after { left: 16px; background-color: #fff; } .catchids-main .loader { border: 5px solid #48a348; border-radius: 50%; border-top: 2px solid transparent; width: 20px; height: 20px; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; position: absolute; right: 60px; display: none; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Catch Themes & Plugins switch */ #ctp-switch .switch { position: relative; display: inline-block; width: 60px; height: 34px; top: 7px; } #ctp-switch.catchids-main .module-header { background-color: transparent; } /*-------------------------------------------------------------- # Other Products --------------------------------------------------------------*/ .catchids-main .other-catchthemes-products { background-color: #f9f9f9; clear: both; display: block; } .catchids-main .other-catchthemes-products .module-content { border: none; padding: 0; position: relative; text-align: center; } .catchids-main .other-catchthemes-products .catch-modules { background-color: #fff; border: 1px solid #dedede; } .catchids-main .other-catchthemes-products .catch-modules a { color: #444; display: block; padding: 1em; } .catchids-main .other-catchthemes-products .catch-modules a:hover, .catchids-main .other-catchthemes-products .catch-modules a:focus { color: #0085c3; text-decoration: none; } .catchids-main .other-catchthemes-products .catch-modules .more-details { background-color: #00618d; color: #fff; padding: 16px; position: absolute; left: 25%; font-size: 15px; font-size: 0.9375rem; right: 25%; text-align: center; top: 35%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition: opacity 0.1s ease-in-out; transition: opacity 0.1s ease-in-out; } .catchids-main .other-catchthemes-products .module-content:hover .more-details, .catchids-main .other-catchthemes-products .module-content:focus .more-details { color: #fff; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; text-decoration: none; } .catchids-main .other-catchthemes-products .catch-modules .modules-thumbnail { padding: 0; } /*-------------------------------------------------------------- # Footer --------------------------------------------------------------*/ .catchids-main .footer-navigation { font-family: "Trebuchet MS", Helvetica, sans-serif; } .catchids-main .menu-footer-container { padding: 10px 20px 30px; } .catchids-main .footer-navigation ul { list-style: none; } .catchids-main .footer-navigation a { color: #444; text-transform: capitalize; padding: 10px 8px 10px 6px; display: block; } .catchids-main .footer-navigation a:hover, .catchids-main .footer-navigation a:focus { color: #0085c3; text-decoration: none; } .catchids-main .site-footer .menu-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; align-items: center; margin: 0; } .catchids-main .site-footer .menu-footer li { margin: 0; } .catch-ids-options.module-container .catch-modules { border: none; } /*-------------------------------------------------------------- # Media Queries --------------------------------------------------------------*/ /*-------------------------------------------------------------- ## >= 320px --------------------------------------------------------------*/ @media screen and (min-width: 20em) { .catchids-main .module-header { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: space-between; -ms-flex-pack: space-between; justify-content: space-between; } .catchids-main .module-title { margin-bottom: 0; } } /*-------------------------------------------------------------- ## >= 768px --------------------------------------------------------------*/ @media screen and (min-width: 48em) { .catchids-main .container { max-width: 100%; } .catchids-main .module-container { -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: space-between; -ms-flex-pack: space-between; justify-content: space-between; } .catchids-main #plugin-description { padding-bottom: 30px; } .catchids-main .catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50% } .catch-ids-options .catch-modules { padding-right: 21px; } .catch-ids-options .catch-modules:nth-child(2n) { padding-right: 0; } .catchids-main .menu-footer-container { padding: 10px 40px 30px; } } /*-------------------------------------------------------------- ## >= 1024px --------------------------------------------------------------*/ @media screen and (min-width: 64em) { .catchids-main h1 { font-size: 32px; font-size: 2rem; } .catchids-main h2 { font-size: 22px; font-size: 1.375rem; } .catchids-main #site-branding { padding: 40px; } .catchids-main .module-container { -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; } .catchids-main .module-container .wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap:wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; } .catchids-main .menu-footer-container { padding: 25px 40px; } .catchids-main .footer-navigation a { padding: 10px; } } /*-------------------------------------------------------------- ## >= 1280px --------------------------------------------------------------*/ @media screen and (min-width: 80em) { .catchids-main, .catchids-main button, .catchids-main input, .catchids-main selcatchids, .catchids-main textarea, .catchids-main p { font-size: 18px; font-size: 1.1875rem; } .catchids-main h1 { font-size: 48px; font-size: 3rem; } .catchids-main h2 { font-size: 24px; font-size: 1.5rem; } .catchids-main #plugin-description { padding-bottom: 40px; } .catchids-main #site-branding { padding: 50px; } .catchids-main .footer-navigation a { padding: 10px 10px 10px 13px; } .catchids-main .catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 33.33%; flex: 0 1 33.33% } .catch-ids-options .catch-modules:nth-child(2n) { padding-right: 21px; } .catch-ids-options .catch-modules:nth-child(3n) { padding-right: 0; } } PKZ 11)plugins/catch-ids/css/admin-dashboard.cssnu[/** * All of the CSS for your admin-dashboard functionality should be * included in this file. */ .wpcatchtab.active, table td strong { display: block; } .show-more.button { margin: 10px 0 5px 0; } .as-shortcode .new:hover .show-me, .welcome-panel img, .as-shortcode .new > div a, .wpcatchtab.active, #public-usage .content p strong, table td strong { display: block; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100%; } .welcome-panel img { height: 40px; width: 40px; vertical-align: middle; margin: 0 auto 14px auto; } .welcome-panel .welcome-panel-column, .welcome-panel .welcome-panel-column:first-child { max-width: 980px; width: 100%; } /* Form */ .show-more .dashicons { vertical-align: middle; } .button.reset-token, .button.reset-token:hover, .button.reset-token:focus { background-color: #d54e21; border-color: #d54e21; color: #fff; } .button.get-token, .button.get-token:hover, .button.get-token:focus { background-color: #22D41A; border-color: #22D41A; color: #fff; } .as-shortcode .new { position: relative; } .as-shortcode .new .dashicons, .as-shortcode .button { vertical-align: middle; } .as-shortcode .new > div a { margin-bottom: 3px; } .as-shortcode .new>div { display: none; position: absolute; right: -54px; top: -1px; } #welcome-message { border-radius: 4px; margin-right: 20px; margin-top: 10px; padding: 1px 5px; } #access-token .info { padding: 10px 12px; } #access-token .info, #request-queries { line-height: 2; } /* Custom Scripts */ .wrap { position: relative; margin: 25px 20px 0 10px; -ms-word-wrap: break-word; word-wrap: break-word; } .wrap, .welcome-panel p, .welcome-panel .welcome-panel-close::before, .content .widefat td, .content .widefat thead th { color: #23282d; } .welcome-panel .welcome-panel-close::before { left: inherit; right: 10px; z-index: 9; } .welcome-panel { border-left: 4px solid #44b450; margin: 21px 0; padding-bottom: 21px; padding-left: 21px; padding-right: 21px; } .welcome-panel-content { margin-left: 0; } .wrap h1, .wrap h2, .wrap h3, .wrap h4, .wrap h5, .wrap h6, .welcome-panel h3, .wrap p, .welcome-panel-column p, #go-premium ul { margin-top: 0; } .wrap a { text-decoration: none; } .wrap a:hover, .wrap a:focus { opacity: 0.9; } .welcome-panel-column >:last-child, #public-usage .content > div:last-child, #public-usage .content .as-widget >:last-child, #public-usage .content .as-shortcode >:last-child, #public-usage .content .shortcode-option-container > div:last-child { margin-bottom: 0; } .content-wrapper { background-color: #fff; position: relative; } .content-wrapper .content { padding: 21px; } .content-wrapper .button.dismiss { position: absolute; right: 15px; top: 15px; background-color: transparent; border: 0; box-shadow: none; padding: 0; } .content-wrapper h2, .content-wrapper .header h3 { margin: 0; padding: 16px 21px; } .content-wrapper h2, .content-wrapper .header h3, .catch-sidebar-title, .sidebar-spot-inner { border-bottom: 1px solid #ddd; } .content-wrapper h2, .content-wrapper .header h3, .catchp-sidebar-spot h2, .catchp-sidebar-full-width h2, .widefat td, .widefat thead th, .about-text h2 { font-size: 18px; font-size: 1.125rem; line-height: 1.5; } .welcome-panel .button { border: none; background: none; box-shadow: none; } .welcome-panel .welcome-panel-close { text-indent: -9999px; } .welcome-panel .welcome-panel-close::before { font-size: 30px; font-size: 1.875rem; text-indent: 0; } .catchp-content-wrapper { display: table; width: 100%; table-layout: fixed; } .wpcatchtab { display: none; } .widefat thead th, .table-icons { font-weight: 600; } .content-wrapper .catchp-lists li strong { font-weight: 700; } .wrap .content .as-shortcode .shortcode-option-container > div, .about-text h2, .wrap p, .welcome-panel h3 { margin-bottom: 14px; } .dashicons { font-size: 30px; font-size: 1.875rem; height: 30px; width: 30px; } .sidebar-spot-inner ul li, .catchp-sidebar-spot h3 { margin-bottom: 7px; } .wrap .wpcatchtab, #sidebar, .content-wrapper { margin-top: 21px; } .content-wrapper, .sidebar-spot-inner, .sidebar-spot-inner ul, .catch-sidebar-title { margin-bottom: 21px; } .catchp-sidebar-spot, .catchp-sidebar-full-width { float: left; width: 100%; box-sizing: border-box; } .sidebar-spot-inner { padding-bottom: 21px; } .catchp-lists:before, .catchp-lists:after, .content-wrapper:before, .content-wrapper:after, .content-wrapper .content:before, .content-wrapper .content:after { content: ""; display: table; table-layout: fixed; } .catchp-lists:after, .content-wrapper:after, .content-wrapper .content:after { clear: both; } .catchp-lists li { position: relative; padding-left: 21px; } .catchp-lists li:before { content:"\2713\0020"; left: 0; font-weight: 700; position: absolute; } #pro-screenshot .catchp-lists li { padding-left: 0; } #pro-screenshot .catchp-lists li::before { content: none; } .wp-ui-highlight { background-color: #0073aa; } /*Sidebar*/ .catch-sidebar-title { padding-bottom: 10px; } .catch-sidebar-title, .catchp-sidebar-spot h3 { font-size: 14px; font-size: 0.875rem; font-weight: 700; } .catchp-sidebar-spot h3 { color: #444; } /*For Table*/ .table-icons { font-size: 21px; font-size: 1.3125rem; display: inline-block; } .icon-green, .highlighted { color: #48a348; } .icon-red { color: #c7353e; } #title, #pro, #free, .fixed .column-free, .fixed .column-pro, .catchp-footer { text-align: center; } img { height: auto; max-width: 100%; } table { border-collapse: collapse; border-spacing: 0; } table thead th { padding: 14px; } #premium-extensions table, #premium-extensions th, #premium-extensions td { border: 1px solid #ddd; } table td strong, table td p { letter-spacing: 0.01em; } dd, li { margin-bottom: 21px; } .widefat td p, .catchp-lists li p { margin-top: 7px; } .fixed .column-free, .fixed .column-pro { width: 15%; } .fixed .column-free, .fixed .column-pro, .widefat td { vertical-align: middle; } .widefat td, .widefat thead th { padding: 14px 21px; } /*Footer*/ .catchp-footer { margin-top: 14px; border-bottom: 1px solid #fff; } .catchp-footer-menu ul li, .catchp-footer-menu ul li a, .catchp-footer-site-info a { display: inline-block; margin-bottom: 0; } .catchp-footer-menu ul { margin: 0; } .catchp-footer-menu ul li a{ padding: 10px; } .catchp-footer-site-info { border-bottom: 1px solid #ddd; } .catchp-footer-site-info a { padding: 12px; } .catchp-footer-menu { border-top: 1px solid #fff; border-bottom: 1px solid #ddd; } .content-wrapper.col-1, .content-wrapper.col-2 { max-width: 735px; } #plugin-description { max-width: 1200px; } /* => 667px */ @media screen and (min-width: 41.6875em) { .shortcode-option-container { display: flex; flex-flow: row wrap; } .shortcode-option-container > div { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } .welcome-panel h3 { text-align: left; } .welcome-panel img { display: inline-block; margin-bottom: 0; margin-right: 14px; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } #public-usage .content > .as-widget { padding-right: 21px; } #public-usage .content > .as-shortcode { border-left: 1px solid #ddd; padding-left: 21px; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { margin-bottom: 0; } .catchp-sidebar-spot { width: 50%; padding-right: 21px; } .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-2 .catchp-lists li:nth-of-type(even), .col-3 .catchp-lists li:nth-child(2n), .col-4 .catchp-lists li:nth-child(2n) { padding-right: 0; } .catchp-footer { margin-top: 21px; } .catchp-lists li { display: inline-block; float: left; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; } .content-wrapper.col-3 { max-width: 100%; width: 100%; } .col-2 .catchp-lists li, .col-3 .catchp-lists li, .col-4 .catchp-lists li, .module-container .module-wrap { width: 50%; } .col-2 .catchp-lists li, .col-3 .catchp-lists li, .col-4 .catchp-lists li { padding-right: 21px; } .module-wrap { padding-right: 21px; } .module-container .module-wrap:nth-child(2n) { padding-right: 0; } } /* => 783px */ @media screen and (min-width: 48.9375em) { .wrap { margin-right: 30px; } .form-table input[type="text"], .form-table input[type="search"], .form-table input[type="radio"], .form-table input[type="tel"], .form-table input[type="time"], .form-table input[type="url"], .form-table input[type="week"], .form-table input[type="password"], .form-table input[type="checkbox"], .form-table input[type="color"], .form-table input[type="date"], .form-table input[type="datetime"], .form-table input[type="datetime-local"], .form-table input[type="email"], .form-table input[type="month"], .form-table input[type="number"], .form-table select, .form-table textarea { margin-right: 10px; display: inline-block; } .form-table td span { display: inline-block; } h3.option-toggle a { background-position: 99% 50%; } h3.option-active a { background-position: 99% 50%; } } /* => 1024px */ @media screen and (min-width: 64em) { .catchp-sidebar-spot-wrapper .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-3 .catchp-lists li:nth-child(2n) { padding-right: 21px; } .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-child(3n) { padding-right: 0; } .catchp-sidebar-spot, .col-3 .catchp-lists li { width: 33.33%; } .col-3 .catchp-lists li:nth-child(3n) { padding-right: 0; } .table-icons { font-size: 30px; font-size: 1.875rem; } } /* => 1200px */ @media screen and (min-width: 75em) { .welcome-panel .welcome-panel-close::before, .welcome-panel .welcome-panel-close { top: 50%; transform: translateY(-50%); } .welcome-panel { padding-right: 49px; } .catchp_widget_settings, .catchp-widget-sidebar { display: table-cell; vertical-align: top; } .catchp_widget_settings, .catchp-sidebar-spot, .col-2 .sidebar-spot-inner .catchp-lists li, .col-3 .sidebar-spot-inner .catchp-lists li { width: 100%; } .catchp-widget-sidebar { width: 245px; padding: 0 0 0 200px; } #sidebar { margin-top: 66px; } .col-4 .catchp-lists li, .col-4 .catchp-lists li:nth-child(2n) { padding-right: 21px; } .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-2 .sidebar-spot-inner .catchp-lists li, .col-3 .sidebar-spot-inner .catchp-lists li, .col-4 .catchp-lists li:nth-child(4n) { padding-right: 0; } .catchp-sidebar-spot:last-child .sidebar-spot-inner { border: 0; } .catchp-footer { margin-top: 160px; } .col-4 .catchp-lists li { width: 25%; } .module-container .module-wrap { width: 33.33%; } .module-container .module-wrap:nth-child(2n) { padding-right: 21px; } .module-container .module-wrap:nth-child(3n) { padding-right: 0; } } PKZ.)plugins/catch-ids/languages/catch-ids.potnu[# Copyright (C) 2012-2022 Catch Plugins # This file is distributed under the GNU General Public License v3 or later. #, fuzzy msgid "" msgstr "" "Project-Id-Version: Catch Ids\n" "Report-Msgid-Bugs-To: https://wordpress.org/tags/catch-ids\n" "POT-Creation-Date: 2024-04-16 23:38+0545\n" "PO-Revision-Date: 2016-12-07 22:52-0500\n" "Last-Translator: Pratik Shrestha \n" "Language-Team: Catch Plugins \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.4.2\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx;" "esc_html__\n" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: ..\n" #: ../catch-ids.php:92 msgid "ID" msgstr "" #: ../catch-ids.php:261 ../catch-ids.php:262 msgid "Catch IDs" msgstr "" #: ../catch-ids.php:278 msgid "You do not have sufficient permissions to access this page." msgstr "" #: ../catch-ids.php:313 msgid "Settings" msgstr "" #: ../catch-ids.php:350 ../catch-ids.php:377 msgid "Unauthorized access!" msgstr "" #: ../catch-ids.php:353 ../catch-ids.php:380 msgid "Permission denied!" msgstr "" #: ../includes/CatchThemesThemePlugin.php:154 msgid "Themes by CatchThemes" msgstr "" #: ../includes/CatchThemesThemePlugin.php:434 msgctxt "Plugin Installer" msgid "Catch Plugins" msgstr "" #: ../includes/CatchThemesThemePlugin.php:473 #, php-format msgid "" "You can use any of our free plugins or premium plugins from Catch Plugins" msgstr "" #: ../partials/catch-ids-display.php:40 msgid "" "If you want to turn off Catch Themes & Catch Plugins tabs option in " "Add Themes and Add Plugins page, please uncheck the following option." msgstr "" #: ../partials/catch-ids-display.php:45 msgid "Turn On Catch Themes & Catch Plugin tabs" msgstr "" PKZ10 0 7plugins/catch-web-tools/frontend/frontend-functions.phpnu['. PHP_EOL ; echo ''. PHP_EOL . $webmaster . PHP_EOL ; echo ''. PHP_EOL . $opengraph. PHP_EOL ; echo ''. PHP_EOL . $seo. PHP_EOL ; echo ''. PHP_EOL . $custom_css. PHP_EOL ; echo ''. PHP_EOL ; } add_action( 'wp_head', 'catchwebtools_get_header_information', 99 ); /** * Function to get footer information to output in wp_footer * @uses catchwebtools_webmaster_footer_display */ function catchwebtools_get_footer_information(){ $webmaster = catchwebtools_webmaster_footer_display(); echo ''. PHP_EOL ; echo $webmaster. PHP_EOL ; echo ''. PHP_EOL ; } add_action( 'wp_footer', 'catchwebtools_get_footer_information', 99 ); PKZ`KK,plugins/catch-web-tools/frontend/inc/seo.phpnu['. PHP_EOL; if( isset( $seo_settings["keywords"] ) && '' != $seo_settings["keywords"] ) { $output .= ''. PHP_EOL; } //Author if( isset( $seo_settings['author'] ) && '-1' != $seo_settings['author'] ){ $user_info = get_userdata($seo_settings['author']); $author = $user_info->display_name; $output .= ''. PHP_EOL; } } elseif( is_category() ) { $thisCat = get_category( get_query_var( 'cat' ), false); $seo_settings = get_option( "taxonomy_" . $thisCat->term_id); $seo_description = ( $seo_settings['catchwebtools_seo_category_description'] !='' ) ? $seo_settings['catchwebtools_seo_category_description'] : get_bloginfo( "description" ); $output .= '' . PHP_EOL; if( isset( $seo_settings['catchwebtools_seo_category_keywords'] ) && $seo_settings['catchwebtools_seo_category_keywords'] != '' ) { $output .= '' . PHP_EOL; } } elseif ( (is_single() || is_page() ) && !is_page('blog') ) { //Description $get_description = get_post_meta( get_the_ID(), 'catchwebtools_seo_description', true); if ( !empty( $get_description ) ) { $output .= '' . PHP_EOL; } //Keywords $get_keywords = get_post_meta( get_the_ID(), 'catchwebtools_seo_keywords', true); if ( !empty( $get_keywords ) ) { $output .= '' . PHP_EOL; } //Author if( isset( $seo_settings['author'] ) && '-1' != $seo_settings['author'] ) { $postdata = get_post( get_the_ID(), ARRAY_A ); $author_id = $postdata['post_author']; $user_info = get_userdata( $author_id ); $author = $user_info->display_name; $output .= '' . PHP_EOL; } } } return $output; } /** * Echo Title from SEO title in a page or post * @return [string] [title] */ function catchwebtools_get_title() { $seo_settings = catchwebtools_get_options( 'catchwebtools_seo' ); //Enable only if seo in enabled if( $seo_settings['status'] ) { if ( is_home() || is_front_page() || is_archive() ) { if( isset( $seo_settings['title'] ) && '' != $seo_settings['title'] ) { return $seo_settings['title'] ; } } else if( is_category() ){ $thisCat = get_category( get_query_var('cat'),false ); $seo_settings = get_option( "taxonomy_" . $thisCat->term_id ); if( isset( $seo_settings['catchwebtools_seo_category_description'] ) && '' != $seo_settings['catchwebtools_seo_category_description'] ) { return $seo_settings['catchwebtools_seo_category_description']; } } elseif ( ( is_single() || is_page() ) ) { $get_title = get_post_meta( get_the_ID(), 'catchwebtools_seo_title', true); $final_title = !empty( $get_title ) ? $get_title : get_the_title( get_the_ID() ) ; return $final_title; } } } /** * Add SEO title to wp_title if it is enabled */ function catchwebtools_add_title() { $seo_settings = catchwebtools_get_options( 'catchwebtools_seo' ); //Enable only if seo in enabled if( $seo_settings['status'] ) { add_filter( 'wp_title', 'catchwebtools_get_title', 10, 2 ); } } add_filter( 'init', 'catchwebtools_add_title' );PKZUnd119plugins/catch-web-tools/frontend/inc/webmasters-tools.phpnu[' . PHP_EOL; if( isset( $webmaster_settings['msvalidate.01'] ) && '' != $webmaster_settings['msvalidate.01'] ) $output .= '' . PHP_EOL; if( isset( $webmaster_settings['alexaVerifyID'] ) && '' != $webmaster_settings['alexaVerifyID'] ) $output .= '' . PHP_EOL; if( isset( $webmaster_settings['p:domain_verify'] ) && '' != $webmaster_settings['p:domain_verify'] ) $output .= '' . PHP_EOL; if( isset( $webmaster_settings['yandexverify'] ) && '' != $webmaster_settings['yandexverify'] ) $output .= '' . PHP_EOL; } return $output; } /** * Get the webmaster setting for footer and format output * @return [string] [webmaster footer information] */ function catchwebtools_webmaster_footer_display(){ $webmaster_settings = catchwebtools_get_options( 'catchwebtools_webmaster' ); $output = ''; if( isset( $webmaster_settings['status'] ) && $webmaster_settings['status'] ){ if( isset( $webmaster_settings['footer'] ) && $webmaster_settings['footer'] ) $output .= $webmaster_settings['footer'] . PHP_EOL ; } return $output; } /** * Filter the feed URI if the user has input a custom feed URI. * * Applied in the `get_feed_link()` WordPress function. * * @since 1.4 * * @uses catchwebtools_get_option() Get theme setting value. * * @param string $output From the get_feed_link() WordPress function. * @param string $feed Optional. Defaults to default feed. Feed type (rss2, rss, sdf, atom). * * @return string Amended feed URL. */ function catchwebtools_feed_links_filter( $output, $feed ) { $webmaster_settings = catchwebtools_get_options( 'catchwebtools_webmaster' ); if( isset( $webmaster_settings['status'] ) && $webmaster_settings['status'] ) { $feed_uri = ( isset( $webmaster_settings['feed_uri'] ) && '' != $webmaster_settings['feed_uri'] ) ? $webmaster_settings['feed_uri'] : false ; $comments_feed_uri = ( isset( $webmaster_settings['comments_feed_uri'] ) && '' != $webmaster_settings['comments_feed_uri'] ) ? $webmaster_settings['comments_feed_uri'] : false; if ( $feed_uri && ! mb_strpos( $output, 'comments' ) && in_array( $feed, array( '', 'rss2', 'rss', 'rdf', 'atom' ) ) ) { $output = esc_url( $feed_uri ); } if ( $comments_feed_uri && mb_strpos( $output, 'comments' ) ) { $output = esc_url( $comments_feed_uri ); } } return $output; } add_filter( 'feed_link', 'catchwebtools_feed_links_filter', 10, 2 ); /** * Redirect the browser to the custom feed URI. * * Exits PHP after redirect. * * @since 1.3.0 * * @uses catchwebtools_get_option() Get theme setting value. * * @return null Return early on failure. Exits on success. */ function catchwebtools_feed_redirect() { $webmaster_settings = catchwebtools_get_options( 'catchwebtools_webmaster' ); if( isset( $webmaster_settings['status'] ) && $webmaster_settings['status'] ) { if ( ! is_feed() || ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/feed(blitz|burner|validator)/i', $_SERVER['HTTP_USER_AGENT'] ) ) ) return; //* Don't redirect if viewing archive, search, or post comments feed if ( is_archive() || is_search() || is_singular() ) return; $feed_uri = ( isset( $webmaster_settings['feed_uri'] ) && '' != $webmaster_settings['feed_uri'] ) ? $webmaster_settings['feed_uri'] : false ; $comments_feed_uri = ( isset( $webmaster_settings['comments_feed_uri'] ) && '' != $webmaster_settings['comments_feed_uri'] ) ? $webmaster_settings['comments_feed_uri'] : false; if ( $feed_uri && ! is_comment_feed() ) { wp_redirect( $feed_uri, 302 ); exit; } if ( $comments_feed_uri && is_comment_feed() ) { wp_redirect( $comments_feed_uri, 302 ); exit; } } } add_action( 'template_redirect', 'catchwebtools_feed_redirect' );PKZ?D D 3plugins/catch-web-tools/frontend/inc/custom-css.phpnu['. $output. ''; } set_transient( 'catchwebtools_custom_css', $output, 7 * DAY_IN_SECONDS ); } return $output; }PKZ2t t 8plugins/catch-web-tools/frontend/inc/opengraph-tools.phpnu[$content ) { if ( 'og:default_image' == $property ) { $image = isset( $og_settings['og:default_image'] ) ? $og_settings['og:default_image'] : ''; if ( '' != $image ) { $output .= ''. PHP_EOL; } } elseif ( '' != $content ) { if ( 'custom' == $property ) { $output .= $content . PHP_EOL ; } else { $output .= ''. PHP_EOL; } } } } elseif ( is_category() || is_archive() ) { $output .= ''. PHP_EOL; } elseif ( (is_single() || is_page()) && !is_page('blog') ) { //Title $get_title = get_post_meta( get_the_ID(), 'catchwebtools_opengraph_title', true ); $final_title = ! empty( $get_title ) ? $get_title : the_title_attribute( 'echo=0' ) ; // Add title to $output as it is never empty. $output .= ''. PHP_EOL; // URL $get_url = get_post_meta( get_the_ID(), 'catchwebtools_opengraph_url', true ); $final_url = ! empty( $get_url ) ? $get_url : get_permalink() ; // Add url to $output as it is never empty. $output .= ''. PHP_EOL; //Image $get_image = get_post_meta( get_the_ID(), 'catchwebtools_opengraph_image',true ); if( empty( $get_image ) && '' == $get_image ){ $get_image = isset( $og_settings['og:default_image'] ) ? $og_settings['og:default_image'] : ''; } if ( !empty( $get_image ) ) { $output .= ''. PHP_EOL; } // Description $get_description = get_post_meta(get_the_ID(),'catchwebtools_opengraph_description',true); $final_description = ! empty( $get_description ) ? $get_description : '' ; // Add $final_description to $output as it is never empty. $output .= ''. PHP_EOL; // Type $get_type = get_post_meta(get_the_ID(),'catchwebtools_opengraph_type',true); if ( ! empty( $get_type ) ) { $output .= ''. PHP_EOL; } // Custom $get_custom = get_post_meta(get_the_ID(),'catchwebtools_opengraph_custom',true); if ( !empty( $get_custom ) ) { $output .= $get_custom; } } } return $output; } /** * Get Open Graph Html Content * @return [string] [html attribute for open graph] */ function catchwebtools_add_opengraph_namespace() { $og_settings = catchwebtools_get_options( 'catchwebtools_opengraph' ); if( isset( $og_settings['status'] ) && $og_settings['status'] ){ echo ' prefix="og: http://ogp.me/ns#"' ; } } add_filter( 'language_attributes', 'catchwebtools_add_opengraph_namespace' ); PKZ)1plugins/catch-web-tools/admin/admin-functions.phpnu[
    = 0 ) { return; } if ( function_exists( 'wp_update_custom_css_post' ) ) { // Migrate any existing theme CSS to the core option added in WordPress 4.7. /** * Get Theme Options Values */ $custom_css = catchwebtools_get_options( 'catchwebtools_custom_css' ); if ( '' != $custom_css && ! is_array( $custom_css ) ) { $core_css = wp_get_custom_css(); // Preserve any CSS already added to the core option. $return = wp_update_custom_css_post( $core_css . $custom_css ); if ( ! is_wp_error( $return ) ) { // Remove the old theme_mod, so that the CSS is stored in only one place moving forward. unset( $custom_css ); delete_transient( 'catchwebtools_custom_css' ); delete_option( 'catchwebtools_custom_css' ); // Update to match custom_css_version so that script is not executed continously set_theme_mod( 'cwt_custom_css_version', '4.7' ); } } } } add_action( 'after_setup_theme', 'catchwebtools_custom_css_migrate' ); // Display customizer options of Heaader Footer script only if WebMaster module is active. function catchwebtools_is_active_webmaster_module( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_webmaster[status]' )->value(); if ( 1 == $enabled ) { return true; } else { return false; } } PKZ $$Rplugins/catch-web-tools/admin/catch-updater/inc/catch-updater-modify-installer.phpnu['; $text .= '

    ' . __( 'CWT: Catch Updater Theme', 'catch-web-tools' ) . '

    '; $output = preg_replace( '/(]*name="(?:theme)zip".+?\n)/', "$text\$1", $output ); $text = '

    ' . __( 'By default, the Catch Updater will overwrite an existing theme and create a backup in media library.', 'catch-web-tools' ) . '

    '; $text .= ''. __('More Options', 'catch-web-tools') .''; $text .= ''; $text .= '
    '; $text .= '

    '; $text .= '

    '; $text .= '

    ' . __( 'Message to display in front-end until update has finished', 'catch-web-tools' ) . '

    '; $text .= '
    '; $text .= '

    '; $output = preg_replace( '/(]*name="themezip".+?\n)/', "\$1$text", $output ); return $output; } /** * start_output_buffering Just start outpur buffering * @uses $this->filter_output() */ function start_output_buffering() { ob_start( array( $this, 'filter_output' ) ); } /** * _get_themes return current themes * @return current themes */ function _get_themes() { global $wp_themes; if ( isset( $wp_themes ) ) { return $wp_themes; } $themes = wp_get_themes(); $wp_themes = array(); foreach ( $themes as $theme ) { $name = $theme->get( 'Name' ); if ( isset( $wp_themes[$name] ) ) $wp_themes[$name . '/' . $theme->get_stylesheet()] = $theme; else $wp_themes[$name] = $theme; } return $wp_themes; } /** * _get_theme_data gets the data for the theme passed as parameter * @param $directory theme of which, data in required * @return theme data */ function _get_theme_data( $directory ) { $data = array(); $themes = $this->_get_themes(); $active_theme = wp_get_theme(); $current_theme = array(); foreach ( (array) $themes as $theme_name => $theme_data ) { if ( $directory === $theme_data['Stylesheet'] ) $current_theme = $theme_data; } if ( empty( $current_theme ) ) return $data; $data['version'] = $current_theme['Version']; $data['name'] = $current_theme['Name']; $data['directory'] = $current_theme['Stylesheet Dir']; $data['is_active'] = false; if ( ( $active_theme->template_dir === $current_theme['Template Dir'] ) || ( $active_theme->template_dir === $current_theme['Template Dir'] ) ) $data['is_active'] = true; global $wp_version; if ( version_compare( '2.8.6', $wp_version, '>' ) ) $data['directory'] = WP_CONTENT_DIR . $current_theme['Stylesheet Dir']; return $data; } /** * handle_updates main function that handles upgrades */ function handle_updates() { if ( empty( $_POST['catch_updater_update_existing'] ) ) { return; } if ( 'no' === $_POST['catch_updater_update_existing'] ) { if ( version_compare( $GLOBALS['wp_version'], '3.8.9', '>' ) ) { $link = admin_url( "theme-install.php?upload" ); } else { $link = admin_url( "theme-install.php?tab=upload" ); } $this->_errors[] = __( 'You must select "Yes" from the "update existing theme?" dropdown option in order to update an existing theme.', 'catch-web-tools') .' '. __( 'Try again', 'catch-web-tools') .'.'; add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } remove_action( 'admin_print_styles', 'builder_add_global_admin_styles' ); include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); require_once( ABSPATH . 'wp-admin/includes/class-pclzip.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); check_admin_referer( "theme-upload" ); @set_time_limit( 300 ); $archive = new PclZip( $_FILES["themezip"]['tmp_name'] ); $directory = ''; $contents = $archive->listContent(); foreach ( (array) $contents as $content ) { if ( preg_match( '^(.*?)\/^', $content['filename'], $matches ) ) { $directory = $matches[1]; break; } } $data = $this->_get_theme_data( $directory ); if ( empty( $data ) ) return; if ( 'yes' === $_POST['catch_updater_create_backup'] ) { $time_string = time(); $zip_file = "$directory-{$data['version']}-$time_string.zip"; $wp_upload_dir = wp_upload_dir(); $zip_path = $wp_upload_dir['path'] . '/' . $zip_file; $zip_url = $wp_upload_dir['url'] . '/' . $zip_file; $archive = new PclZip( $zip_path ); $zip_result = $archive->create( $data['directory'], PCLZIP_OPT_REMOVE_PATH, dirname( $data['directory'] ) ); if ( 0 == $zip_result ) { $this->_errors[] = __( 'Unable to make a backup of the existing theme. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } $attachment = array( 'post_mime_type' => 'application/zip', 'guid' => $zip_url, 'post_title' => "Catch Updater Backup - {$data['name']} - {$data['version']}", 'post_content' => '', ); $id = wp_insert_attachment( $attachment, $zip_path ); if ( !is_wp_error( $id ) ) wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $zip_path ) ); $this->_zip_url = $zip_url; $this->backup_status = 1; } if ( $data['is_active'] ) { set_transient( 'catch_updater_in_maintenance_mode', '1', 300 ); set_transient( 'catch_updater_update_message', $_POST['catch_updater_update_message'], 300 ); } global $wp_filesystem; if ( ! WP_Filesystem() ) { $this->_errors[] = __( 'Unable to initialize WP_Filesystem. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } if ( ! $wp_filesystem->delete( $data['directory'], true ) ) { $this->_errors[] = __( 'Unable to remove the existing theme directory. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } add_action( 'all_admin_notices', array( $this, 'show_message' ) ); delete_transient( 'catch_updater_in_maintenance_mode' ); delete_transient( 'catch_updater_update_message' ); } /** * show_message display message */ function show_message() { if( isset($this->_zip_url) ){ echo '

    '. sprintf( __( 'A backup zip file of the old theme version can be downloaded %s here %s .', 'catch-web-tools' ), '', '' ) . '

    '; } else { echo '

    '. __( 'Update Successful. No backup created.', 'catch-web-tools' ). '

    '; } } /** * show_update_option_error_message show error message if error occurs */ function show_update_option_error_message() { if ( ! isset( $this->_errors ) ) return; if ( ! is_array( $this->_errors ) ) $this->_errors = array( $this->_errors ); foreach ( (array) $this->_errors as $error ) echo "

    $error

    \n"; } } new CatchUpdaterModifyInstaller(); }PKZTO Yplugins/catch-web-tools/admin/catch-updater/inc/catch-updater-plugin-modify-installer.phpnu['; $text .= '

    ' . __( 'CWT: Catch Updater Plugin', 'catch-web-tools' ) . '

    '; $output = preg_replace( '/(]*name="(?:plugin)zip".+?\n)/', "$text\$1", $output ); $text = '

    ' . __( 'By default, the Catch Updater will overwrite an existing plugin and create a backup in media library.', 'catch-web-tools' ) . '

    '; $text .= ''. __('More Options', 'catch-web-tools') .''; $text .= ''; $text .= '
    '; $text .= '

    '; $text .= '

    '; $text .= '

    ' . __( 'Message to display in front-end until update has finished', 'catch-web-tools' ) . '

    '; $text .= '
    '; $text .= '
    '; $output = preg_replace( '/(]*name="pluginzip".+?\n)/', "\$1$text", $output ); return $output; } /** * start_output_buffering Just start outpur buffering * @uses $this->filter_output() */ function start_output_buffering() { ob_start( array( $this, 'filter_output' ) ); } /** * _get_plugin_data gets the data for the plugin passed as parameter * @param $directory plugin of which, data in required * @return plugin data */ function _get_plugin_data( $directory ) { $data = array(); $plugins = get_plugins(); $current_plugin = array(); foreach ( (array) $plugins as $plugin_file => $plugin_data ) { preg_match( '^(.*?)\/^', $plugin_file, $matches ); if( $matches[1] === $directory ) { $current_plugin = $plugin_data; $data['directory'] = WP_PLUGIN_DIR . '/' . $directory; break; } } if ( empty( $current_plugin ) ) return $data; $data['version'] = $current_plugin['Version']; $data['name'] = $current_plugin['Name']; return $data; } /** * handle_updates main function that handles upgrades */ function handle_updates() { if ( empty( $_POST['catch_updater_plugin_update_existing'] ) ) { return; } if ( 'no' === $_POST['catch_updater_plugin_update_existing'] ) { if ( version_compare( $GLOBALS['wp_version'], '3.8.9', '>' ) ) { $link = admin_url( "plugin-install.php?upload" ); } else { $link = admin_url( "plugin-install.php?tab=upload" ); } $this->_errors[] = __( 'You must select "Yes" from the "update existing plugin?" dropdown option in order to update an existing plugin.', 'catch-web-tools') .' '. __( 'Try again', 'catch-web-tools') .'.'; add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } remove_action( 'admin_print_styles', 'builder_add_global_admin_styles' ); include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); require_once( ABSPATH . 'wp-admin/includes/class-pclzip.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); check_admin_referer( "plugin-upload" ); @set_time_limit( 300 ); $archive = new PclZip( $_FILES["pluginzip"]['tmp_name'] ); $directory = ''; $contents = $archive->listContent(); foreach ( (array) $contents as $content ) { if ( preg_match( '^(.*?)\/^', $content['filename'], $matches ) ) { $directory = $matches[1]; break; } } $data = $this->_get_plugin_data( $directory ); if ( empty( $data ) ) return; if ( 'yes' === $_POST['catch_updater_plugin_create_backup'] ) { $time_string = time(); $zip_file = "$directory-{$data['version']}-$time_string.zip"; $wp_upload_dir = wp_upload_dir(); $zip_path = $wp_upload_dir['path'] . '/' . $zip_file; $zip_url = $wp_upload_dir['url'] . '/' . $zip_file; $archive = new PclZip( $zip_path ); $zip_result = $archive->create( $data['directory'], PCLZIP_OPT_REMOVE_PATH, dirname( $data['directory'] ) ); if ( 0 == $zip_result ) { $this->_errors[] = __( 'Unable to make a backup of the existing plugin. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } $attachment = array( 'post_mime_type' => 'application/zip', 'guid' => $zip_url, 'post_title' => "Catch Updater Backup - {$data['name']} - {$data['version']}", 'post_content' => '', ); $id = wp_insert_attachment( $attachment, $zip_path ); if ( !is_wp_error( $id ) ) wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $zip_path ) ); $this->_zip_url = $zip_url; $this->backup_status = 1; } global $wp_filesystem; if ( ! WP_Filesystem() ) { $this->_errors[] = __( 'Unable to initialize WP_Filesystem. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } if ( ! $wp_filesystem->delete( $data['directory'], true ) ) { $this->_errors[] = __( 'Unable to remove the existing plugin directory. Will not proceed with the update.', 'catch-web-tools' ); add_action( 'admin_notices', array( $this, 'show_update_option_error_message' ) ); return; } add_action( 'all_admin_notices', array( $this, 'show_message' ) ); } /** * show_message display message */ function show_message() { if( isset($this->_zip_url) ){ echo '

    '. sprintf( __( 'A backup zip file of the old plugin version can be downloaded %s here %s .', 'catch-web-tools' ), '', '' ) . '

    '; } else { echo '

    '. __( 'Update Successful. No backup created.', 'catch-web-tools' ). '

    '; } } /** * show_update_option_error_message show error message if error occurs */ function show_update_option_error_message() { if ( ! isset( $this->_errors ) ){ return; } if ( ! is_array( $this->_errors ) ) $this->_errors = array( $this->_errors ); foreach ( (array) $this->_errors as $error ) echo "

    $error

    \n"; } } new CatchUpdaterModifyPluginInstaller(); }PKZp?  Zplugins/catch-web-tools/admin/catch-updater/inc/catch-updater-show-maintenance-message.phpnu[ <?php echo get_bloginfo( 'name' ) . ': ' . __( 'Site Under Maintainance', 'catch-web-tools' ); ?>
    PKZY{ $ $?plugins/catch-web-tools/admin/images/premium-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp VK yIDATx] xSe>ٓ6-7v(ア"ꨃ:0(3.#:?#;>"* ("tK&~Mi4iW/I&ss5(B=Æ O{E0;w ` Il Il Il Il Il Il Il IlX%Gf0Kxa9h OSBf6[<FOB[bh8ͷxJ/C4dcƞ y>/Ψh6Bjm?s9PĕZ!10zJbKt } :z x_`-df'LսɌwJrKbKtJB*M*TmI 3;f9W4ȒJ!0#\lVh 9Ls-^[R|4dn!Ӂ?77~p |7WaAM @B 3>iO%qc]lGjkk{oL=ɀu_A4E栌3-j!lM$ko!<Ҵ_v,|=fʛQ24'x<kly-q-F:UI*4%cIRKbKtjkK͠y0Iz$4%2Z d[Ⱥw2+rc$I-\hHk@.x+/}ieUKrٓRݿڜPⶢ2B˩|M/*^!/$DW#sJ%3ř"D7j,qW-mSZ5Pc --q,wP;$A%1 b's*Cb )7eI8)nc٭hYguLcw)D[3fkCiJ\&HHNӂ͡D'Tl.൦-B$$%(8TѕsMr}D-?JMR[[KMq@AU6IRC |ɴdx<4k,ڶm$8ƳMH!qn!vʅީאhuHN̪Ua<Um7} & !.yX; DUVQ vGI |94b+Bnf3Y,=˦Y)fd5dWgܪ~LѺDfwR49JR,4ҧPHV:tJ/:F"N JbG&kF&筡L=fkdeVt VXSB{^)6[pр4+HH+k ЦZe@7gķ1rbL%i #?nȞ:*bO6k풦x$@ATo>jjj"}weҕ)( RWukS]WSh7IFvH.Gp t6ʁ|'WmgJmekbM\IŅ.zljTեjtriZz@=S%ؑuV/OW^{-=c- xO@G6GC3U7"97+hShbJT)`*##tIN\_N& e_a&Q@K~eN|l􇋙8W[Y֗_~9ݻ1^W#5l-XQdW"4"]7Y[FsLUIef +-2Fnb>7u_f)_4|/s26H7kA4nSbb$D(s`DA3"ptv}&ȼAyl?C<2`\72e8ùK)))|/_N/=tsN2~i:S9׬Y?"pWsKD 'Obǔu{g,0vFT{YGůVMCɽ&1ܒ~ }ĉӣ>MqnJ #'2k.-v#F^V~@K\ZO[LoOUocMaG[^A}YL;v뮻x ͯv:fΜI}Y 3. 2c%%"pO]#}5󍷜CggѭGT?3zy9L˥US՝Xc$FhS~>EKDRO\.n~czkƍ6HThF5u>c rx86J\~dS%Xgx>L'6`͈_vn2w=bnn=C'tG'+%%Z#ߦR7պ-u~Tm Cn@MLG8,{^vMl3$fTǔ{G1. PÇ77I3D}D"&CZnNγтItJGG# _Hmd[ƔѩUyg3e1R{AN7.^WG?Nf 10-nQn(n$1vyoJSV$Oy}Nf0tՄ4ZW4FB~`d\HStFi/ϵYMOa`2MJhkm#>(c˾}"8bݻ7@;+1fڹsgEl[tcym'|Bgu_?gΜf[lon}|W!pnKb=!#}&1)hflL_#e #i4R 1cNbwU9"S^!ذaڵK{}}j6$: pBI.2?...V[?N" o03$[T0v6!EE.e$KdN]_N?7@qasg}6y!>7~msb, ~RCakOsVOOiii4~x >B32l)4 q_,`vL注ZzuYe"Ǵ%wymb >ܹs@*+"ea#nBa >|>.&v@in)hV.6)f#5L=.?ls>\֫]n`r1D{Gm? p(?Ȃnj4S 9DS|7h߄3r+iu`1DY&O=smu2cr=#m_y$p.50ǯ q"~'gO vsGk=qE΂$$vw)$$$$$v"E!$`ѷ6B-[}~nljI"ᤥHΫo{R&C@'|rMT2$K:@s#HIEKxmMhA"*̢m$XP3-~tfC=-xEڵk#<؆sao9b {GBrv?% ĝSDaJD2r  **Ͱ|" &EE]ED袋"QFу>ȷ=Zw~lx"p "n[r1mڴBpD"m#H\8Z4EJmqS\w<j s| z뭚RF:ꫯT T,5΢# t4*\Ea`hiak8M擷`fRּT{d,#؃]ʷvʥcJ~Tʸo5== \W?U-x>e2Vj8aY6$X/ޟm&"v)vrr]OPfP,x;o$NJ'"-}dXI/ M|m}Srr 4Q#Lɶe]qrE5xԩ-&5|Rlo:mvv|CsrP5'>CKy:h/9n`ڵ׌k: ɏ,p)$" `D3fx#ںohф[-\ϼ0}Ydp7p꾁JăX:]26ԑeVu对5a29mY$ hRŒĂHn{KX""*؞+E $ӿ&m0C)$\hf9[?LC ϧ.֭k1x/j &^ M7W\t0c/ÁvKH)Z4m]0j~д o ޼t0㭅{BL_D"pL?!R q/~2?Ǯ\? * ,ĖĖĖIbϟ?_+@CyXKĻ(ԗpJ-G_"+7:^]o٨5,!%$$[H"{Ly` *t‚WD XtPE"He#XO[hI&|J#c7[W `>I,$o#n{^c' /PTa0@zN:h~:cF 6}6вئD?%h ޿L5?&3յ<\<<%|e")O͓M0/-F4Wr5zs`Y\Ch3'< {WGhOOO 08팳fYz:oqG=FݴwHñ#Nl ·_ l߽%(QpT=b trΚ35Bcp:J]<'Lٳg󬲻ロC"i?z^7hРN&x.Տ"vb또.f4f)r V;i'W{u8k62w uoةfΜ\~QnEHuDǓsw[ܧ^ԯw?>#|n%zkYP] 3ͷ}zBWSX'oxLDžCB"M4aK"}낿=XtP qgprGZ;H+nx9!k*>S.͢CwEr6~w>U^ם|mgDN%4!A0Nr]Q"/f4kn?|3?䮜[8rb-5:uh,3|S <z8;->>u)䥄ڶht' t۞Hަ)gJ杫j(/au'jŜ`WǠF=R_Z QeE@>Opg^Ў5kCVwu3TyJ8#!{?B-dѹ^W0aS["aW#:[_~:꫏}k,1|;T"l^T:ez*}h4LY)Et,ꛨvD3WYhxzD|*[tdʶ%C`~EĖl*1Ѧ& )ewu}aNo ݶ*f 8^آ IlNFc~z/WGFke]&XL_*$1ʖ4y!$"B$$$%$$$%$$$%$$$%$$Z=v.CWȟB^o'oJŖ0(JaÆIk#ZnIŖĖĖĖĖĖ({Ͷ7rIENDB`PKZbb1plugins/catch-web-tools/admin/images/arrow-up.pngnu[PNG  IHDR;֕JtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp IDATxb?@fF&fc``bwMe ,,~T <@9K/>/o flF^A&>y57ޠ"Ptڂi;121 0X@22 68鋫;չ%>}ˠ*#а|bWצB\ l\@Gh`*:4Wy1e7tfز+7j3xbkSC//u,;*n?࿊┄۟.,;D:5oϋǬAAo Adobed     !1 A"Qaq2#$ Bb3Rr45UCsDTt%6Sd  !1AQa"q2BR#ԕbr3 ᢲS$4TdVCsu%& ?wFJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJQ(ҔiJ4R)FJT5痝[?]]=_]SnqC [qEw68㍓561 Oav9;9t&IcI$$IFgByz_km6k\QaL&[B> 9a{az n)7\+2(i=5<@o2Y7G&p%wxd9gX[/O[4\@9vFnoRM0dZ~78dqyPi+[{lV,ikkcKOb8@";d?d0I6ld%U4( XO5ʽ G0`w>}[:Z!vZX9n (Lđ8%d,ZNKk鞬VBvwBY5$GE+yɮ+nCv|tݬSvoζjKKtZ5ZQxQ3џ0aάX&OنnpzO"4T K \\zFit.Ùowč? + ч:M$8˧k]mԿQpojTJT*ww&[ $B%TAۈHG Q)my'.;jϭ7M,]orWʲo6Mu<(kIRB~IhRTANOR瞨(1|wLʐS'i>` ooe y[},@ɤ [ot>gAVӮCf)!h/CЌ] @4r9o Y6pqb>{ Nl_ZZxc̸0}[i=56 v9}޽YZzێm?C4O>^}?w:F1MA0z"uoWsx> |O {xJjEr36o6^0hcY<$] *)EMG_UҔiJ4R)FJQ(ҔiJ4elSErNMdǂCjA9|vh #^iu'Xlmϩw]܋%n./1lfir(v0ri|xmc% AB[%,F?v43gL~u&t;~}:ln";7i@>f\?S@$耣[y]K/#-L亴: =d&h=:d~T&HHlAq &JbaJbZb֑S QU2ՆIDØ6jN;lyj66J]M1ro"yNpnr(r ?VdӺ^j 8W1~0DFe3KT!0\oh7P5wrڏN&_>C?&?ɵOMΘMo~}mBHH@z D?6 t?Sz\_ N?÷EϧkK_Q鿟}3O.-t)S(lR@lA#i:d՟ޖ%I_/ϯp&j3M?ɇ7&3MQfD:>?3i?-_Q\?7|tr~OgKsׯ5Xo3< S:>?3iI?-_G7R~OgKsdat}~gLғ:3~[gC:~_gEXjs5qhfйy>oIvN]w믿ÿg_3<+vwgm.]q /_T0Jj1wԻ_QSxCj>߆_d,+ϨҔiJ4R)MO8@J?0xD/AAA,455Lu!تx<] ܻ.=in w#rXZs"C yaԽ?ǴFK(4J$v92@Ri\vviuxJ1I֧ZjWIE9 >xELJAP.8}ces紱ŤG,Gػn@u^ڶCQo44ioCd+h,2o9XIaX$uLUfeDD^]lF ^83әbI|d 8e8 Vii8&}c96^yU%Z1aO pJQS네4jJTY*bhO}`W.1LqLn6؏օX4{0SFŖq3L9p&QJfoCZbDXd!!òb>!g= {d@Ϙ PmɐE,vJG6DvæV D]ﷆRqw )^7ۦ>:*yO;}٪R/UM(!GîmJ_}|~zbo||:lR *"`;}J;Q#! Yxysh Ө8 #lLƀ1]ɀ %{;~s.Mg0~;͈f4)T48Y^\*9J`\gI68>"ȷFvMeعA'fd22zpc\I!*p_(1&Ò,'$s27).-y>QHe$^Z.uk_q$^3\{ۻRKEv; o(B>{Gu~׸sy{lQ}^'7d2qO1dkNBT"oyb¾nE&&V}'* A]Һ'L۩G7Xܮ"hٞ/`q ~ 5Qa(:x@ QY5YO4rZ#J\ƬUK+]jm,jñO>aw>87#DŽrV_3Ok2kkXa%M@5 љK^ke6%́P֜(1)RoZHIlPwj^3xZ[fy!E-YbdbT [nۦu(wX4Gjk"b#tK{{#ĕvR X6OtD/ F:X!q+ic= [lǒrW IufaqF+|V^87;)" &a~aezeg:bd4H #Z0y ^w7Vd 8㩄f1F1R释d:&5Ts0bѣAl[ "{ G341dց!ˇoy{OƮ"!M=uu[@6v w=D5ZT~Ν ap  uOE*`uҕ8 =G )S{n> ?z۪ҽn"Q>O۠mm?7ҕ<w]贯[ow=p߮>;鷏>:+?JÎuҩFJQ(ҔiJv7&q 2MK6~䬇m8YFmQ̦)'pIE)eT6+t뉷Kئhviɭj{g`!PZ7mv[](%lI܈anW“8YG!ZmӋ$d`Zqge -Ţ#\àt=duۺ^ůc$5KPC:ůD_nm[̞613K4Y 5o:I㻌_%k*ܫ.&Xŗъ&_&G{I#\jahH0AxBLK7^k2m`.^v;wNdB'8Lc#u+C{E]/!Lqqo~XrJc娴E3"ۙ;dlČM22U;3WLʊNݬĒn`qFFOoFd?$=һmewđ(g GTa9JG4y܊ʼn[?qyz5V1玹p$$rRROKFI(tђ"bik dtĒcF Stm{;X,aTB&#BW9 <[\p'Uˑa_:s&pWy |G9AZL(5@ 썬`&+ԝQ;#XSEZ V1xS~ % Vy7 4ֱ^r({0Ì819r ÕISS\ ={a1@ziL@mU*Xs:Ĭ%KI)!Ʃw-@srD@˻ 06D7us $iwkUo;̀_e$ARo9SD6/F*!1;Q@D?kxH{AWx&ܴ\ H@k?C\R 91ɀ]Q2Ği::e83v![# 9|+G[=|V@HpO_VYAoQ62² `Po -c Fʏ[lͻ4jt!!U7+{kYUPHXX&i5Gq3 *DR*LLwB"Dr%H9Z0!*- K󢼿ݛU-K sFjrRM@,}һݭn-- c#sE.%B(.0\ g xuȜup5swLP(6`_0fB }H_UCcf߲8eoku+[te2CWS>PR./w7tl /xk&SÜɂi®ܴwW檔wQ{]r1AE+%$mN٘X>8v*aNur[7EۓE>GFhanG{FA] Fm;Pj&mY>G -SwC/ՒIsZҥݸ))[Ŏ߫1Shl^`p\ 9$XmĎ$Nk\:/s'k4Ǒbjc!șË|#$/2^<]c\b]-.2ymUHPtt 3VScd]`RP^$^^[ͻ|K907Կ(uJ߸ hZ>9ri^35e [-RHNc95*j `3fh94Xx ~q)ĠE#Pδ6Ĕk*B㫵s|WwХW~$d_V,Ϝzhl`$O Fmqv>:qw3#&HAwiSwo=ǫw `di]WvF.@`P\t;NX%XPg]a$NSg6DVY"@GSV0D*y_4LndG8@n4c N15exGPLC0Mڐ̫$]#mBzpmq29 R6=tۏ. N{?x*|1ipv#Tu]+6%QműLXO!@Y&3N^U~? `jg*C6l؞rLUxdLȀw`V§ή{2~ǹW&1!2Dkn fW(fPRE'4 oEUj=6>HKj{^[&,'2N{N{`VjKJ9cXcW,rOgoEzFۦ"پިoTI3PYfryk#)?kf[ 4S+2/."D1b2q ud7,-׳JղE,.3\" Y%҄DLiI?6">ZE0C;*ĩRaʇX7B)*U*'@㿈TJsҩyEJ 0A!NI~BA P~RPOrUG~ዷZqoN9˵p>H3,%ց27j J-C} /rUo䌧0AМT@TO^8a($4*%O$d"iB)HdzB(JR0JRliTJYy'(zsdr̉tʪ(5+3jDL6;"msT:Oմt뿈RoNiR_ ߨx|viLx =(4y?Q&m&"ܘ=Dg˕q;rI5F#"Δw/E@Dۨ&v ~ӽCu@i8wR<ަ1̷:gu;+8kM ,E;(+XҤZ9g.~ґCyCig7& {K u}<|D;ߖV\:!GHYJr"pp,ƅfKK.E6)SC\ӫlc@$9WQ>.U_.,34c "@y+cI;h8v2f;1TS`1|G_6&kn>60 ~^3uSnw\i\cvK1vt4sGӝf+(Rc@0:M%aGm"{t` aSu\*72} DШI8xHӝ8S1,x%.JJ:.;-V BgcDf}QwB-Kqm6{>^]T kZgGB RڲB)34)eO㾶Pm ,&PUF燮7XXhIÎ.[U]` 7%#$fh|da{8Q;[R E(%آ:CkBV]vzWb7˽ ɿ|=Ep00}‘8 axH܂Y9h%ǼC/- M1FtS{7a2^-QCaC`%,ȎW'u,\Kt&H"ZΓ E\`o?sk}>-/ uTw`S G!cQc"VJIPz&?1GShgpd*#c' HQ9 +&M0 W' 0龭v:pN ]PKK<~pMbXʡ$lb»P"5% 27lݺLc`SNx S?rqf3_-܀>QU;Ʊoa{d#v0ay 9b7;OG-yiïf&iSȶ5WZ5Z%Fy%!R=FphIvML] (|2uTپMܒA0/fD *9J^H׹T~;un~y ND7 v=>ϏQRlӨl&(6DG})P)ӸDۇ|C .å*`n`?!_#?ۯ]7V4|[J?Ҡ?ۮèݥ*>t2PmlWI^g ϖ+S{(Rn5kȬ܀9vG &AvIj %)eǎ|uStKm o:}̬P%kXcLX0#eXwd)R=Ke6zA!T8w /ۯ,^O t/׳$'E5E9'DĮ[eV! buPݥ"e c߇XkK `^ROc[Re!e Axd9".c^.PK5b][{w2=rM107n#c+/4|~=+jmvSᧄ}T.T7#'YHFLʊL C|GN݆L{@nlQMl %I%x&#ҵRj=xec5wi3D(7JⲊz|K(Lz> c&Q_-##$#ңI $RP@ 2}"kUlq! РJp],ECî&k ]/lL8 63:B]A+>q7:\ -;,y7 :\low72^=lduL71U0j%oн7n`9،l\%I p<w'l򱁨X8icZ,d^F&i{+q7, N'8\QS)2يJ*`PDG6o,ic[Րӹų:Y˂.gk2~sb"S_5Uɮu)\V0jȊ@jB=LC}f1qU}r_e#,RLxIBICcOG@PD1{Dr^~]i` oqƾ< ri^ pMqIg_n ŵULNmk%++\dz)DU[^YJus*UuxG+ւf&-MN*}ml## Lj{VwqWw@x6-Nh(/5Kݲe5@Fs CA4Yo Ȝ<~.XXO9vYʖDAbN%ҁS@6r v㕚+ GU"HQcį#Ýu;?r)6 W,#!V&FԂMJ)k# 46(*JvƑ,N'\9aY[pD N83ƑE[P\۹ Xs!HVո#go ,֠uԎZˉIk%ɷM&MW,Į uU1&5F*S@P&Jt͕̒n8BdܸT |'Wv  ehʖY-Y\V!dFN (3V,cc*chv7-Mf1,6F $x[ l,b8IsyF%ˀG2pYXR0.PU|7Q Wno(Tܤr:JwG rT@CJ aoW2&]^eO"]a;m?~US @Gu m~ҕ%0x|zoҩPP ߨקߥ*a;zx4zzl?*I`0l"CnV ;#ӮJP8;7m*1›7ErSCP]m(pL&7:]^^[tԤbS_zohݿwm)}Khsav(( B-5VCAȨ)jԁ_㚙TB%:E#gMαG v10t~ 3lX[nj<<1-}!ݭ&\.isKx[k8(/^DB=8SAv L2{o!ZFmpk*9<_>-ef{alcF ·4.(yejf'!"̉CgRWP'M\\2耵 Ď5Ll{(oձu$ Ћ|7[Z zҪN@!Hys^9$*M^[Y\rYc* "E< P.6ᵋhlZAϮ[Qo}Ax7 cS&鍧Hn B$׶0Ye:aos&efo ))L`D&Ǝ>(J[ԂLf]UQG21%I+I+dS4y{rb z:T`2{l!CmST?X :L>SP㪥*?q(@?6=4 @nS: P6(0鿃NcJ6CR@D S w:ؠv Pvv~:%*rvl"'{U*I""lo>!:Pg5VOn >vnNU&)\4ÙC0Z"Y8ݠžљ\(,g~rBݵ_w}pUTyq3Fe;t{qKȍx?9p@ (7N'LaɼrbA9^.s$>d<{RkOOļ\?=] ZF\Z'3] .!@ 9Ũ䆴 W#8"Λ>cn{bf%ϊ&ZvBK+Ge?o ~S9s-G'%CKw((׫^պ~jBN5#`u6O} >+J C8{O%<~0n/4ϫ.u9by3< ?NUܙ}+mS#r c#6&l JU9RĢ]=%5c4f (=Chxn6Niks.${]kcɌ#t vmeej* *4-}B3;WtB%p]OWk VA7W\BV@8,C(D #Ds^t' 10CfǵV~Yl=|nz:"D۹IpY,$-4& wz?n|?%c=NJsn7VɆ䥂xV|%-A/].Lă@ ĝInb݄QVg,taQ\ns;18y+.Yqn|]Əɛ +:~}BM xrm1\a%uga&wQם&ROS*{T]4KJ|b؃P TWM7uXe4`J`{uYʋp_*AlC+iˣ7:覩J(X p.RN3uiw~89C\8v(m6 5{2SrAi^|,=RA; Ș>AUMdDJʂt~Mt&oۛ $vjQ z3<_0u77n꭭ܢvlf# N`dk6sH⼢BJfLm=v:E)rⶲUˢR6 >k*o Osvt:Ll]Y.c. 95v:L#?AgW5(LvdԤF%]8K({r=ʈ创S5Ԥ/!ˏλLn5o`&fįz}u^E299l&inIdΤ /Q>o3tȄ28rd$Wgdk L_V7p=b"uJBC\^QhAO닊4#zĤ+=DMLSW*JR}fɷic.%|fܚ@/Y@̔S^9F.c8%jFfT&v<-vż\Zlh b]n.D BE*C}8-(Q !h'$G4lO;Hs8R=8wvEu`\)d/4@9FbFj25m̏cm8r#h8EȊ .J&ʸ&qm٥<]ۑx "Z1L6kI$3N`.+Oޅ_wd\]Ѯ-J,+Ha&ucX˹]2(qQf`@z :,7foҲFJ 1TBx+Q1Zκak"_;Gjm}(SIY6EK! j8$Qp)+&g'^_l6qHpR8%緶]ԶxNQjru8_Q.94 "36f(Y7x|qRlcan:,k5=1<VҸc.(8S+WNIk~^QW>6N#ȗ{-)t S1^t{tyepϕemql |Q锣Đ4°T*rɑ"VsTN3kDxl]gl4z٫̤c{s0+1-%9w2*nMH_ n VErW hpxSVH;B81OE%^GrS"ŕ޳mFi\jh*I6|᳥b)LS;M6TR{s$=0U)٠6UǙ9/RdO1;LM%^R!+ylL.ڸ[ tQԕ1@e@D52{AQZV6#J HBȮr8*31 $,:1;HJ#omlBTz ’ia ;>GՕb6=WfN3'LCz Ē-dN"Tăa1D7״?Ѷs sps\ 1Ya㲕j;B9A(v|~EU-uKji$$BWZN8wuRsOc T{J&0ʷqq[iNev-$" -=;=]wتiGVGmҩT y)'i{6alvׁ{p;8JK\i-Sq`}EpSWQp܃wʦ/6]Z]b(S*p K_Yxe' {H9FtޑM1-9CkoKU"0)I!o FX)( {8P}}⧀3ZѼs|U̙j4 -8 ܾPz\[*J Qnݣqb@@81{ Xe]&D=MEL=*Sƹتh )Z`B?as]"ҭ,T[ȑYj I0&9ARb}.Qp^40$&Xǥmk5]7N`5Y2Y' 䂸¶h7uIRnfefII BJ)A1 "[]jDppiiL<֠Ua&aow MMq(Up}9NcOoXRFW̳n>>n@Cn͉5oZDO[lNH;*>jU6g]US9J)jECqyZAyD q~MeM^1'34ՏAb\\,%|<WƮOڷ3-}, °'^[7݉c<3uk@.:r&;TIj^4ȕM_xݔ۸Ts;11SS;S5jp8BB3c61ޒUP") OXx}斒ˆ.yqk#vtb*bBj7iDo(D^CsR!IA', c6jmT $L(J"@86'c#{!I.(8br_U%Nb2=eYv8)"S#ar LM)wt :~Rr} Gb;S!UAp .)`!e⼼Dj$qYLdBr.Hs =L62 ED@QFP}?CTiDW>&oh=H- QJ߀-Iѧ4u4޷`)Ref3TN-ak:݄#':M _h2f8+񆴄*\6Dga>F TT'(czP2(];jR?>]rGwr4Luk#$5y`=kfk֖9)uNqrʼn!^$3# RgM'g욖]9lTz 4Qb:Ur&du~k%{KC 5\tGc"gN66j!QNJ=qᲶf̈̉G}21t5R"0tB/++ 8fݞA̧iu=߾L@mlp-cU^*mG"c'w%%ohTp:7䘒qkV;mBM$K@H]rz,V1̨o clXٮ;DIjjs9ξ`pLnIǗo$̞a8]]ʄ~?Q6ssaYR$5Cz) .'N;M25xQrRAh.vՕL+Hxv$v @QO b(<E;?m6Skax{^-ExkLԛDV- #ErF17/X?+U@ u"7 s9xqcPW]w Jb)G&r9Ķ\)..5zV M͎"X{ *ѳ(?rBۮa8.6{VB!P@s\Om2[HxD1Ԅx%j"`V,[uOky/l䪴ɕYl4 GPɦcNc?al;L5`r p9nLu-p#$nY&YB+55POCBK@‰^]!sUi2r*.p9uK\${:70 U% <w]@[KNffأk8gm4-jN)*d[SpԧMBE.6H.$taLEh۳}2958J Z)bh*M|[K9FQ-ltZM}#gR)be 1mr0+˭g9/!Hġ(;rV hhcJpy)WQ/ \BV^t[Ӥ#ض&] IF4"̲"n"T%dfS{Nx9;Z8G2U?SIw2Ujw<2cƼqQߐн5ZYUD&^HQŻ9  ҟ8ʣrڽc2Fa\ 3Y1\ ᴆ;hb(Dc Z|N3;$1Y5m/.RY`I a$츳g9kШC9<`uԍ@8 bh)\r3,Qq,Lyd!AjӤLIb逈*ePJmA`}%pW`C~PpT3ImٶMy CX]~ IApQQ:Fa*Q/`X"f ,ZE2P;DSj"``!m,%B@ Ln빬H (0P rwwLs\ErupWnHMD)ZE&MHeΡj+8|v w.8s+m~K(H4U4dr]aL,XhE֩AB(&W+n8[=S;<ʯP-Xݸ34(i82uYǪ[%\`Afv%m雃r ș>q q.6[p<07f$zHPV@V?*=ba}\6Lz[N_m3h %DE%A.AtMЀyaleɌʮ|SC $ ="![LB`>, :{ ?"!`+F eg^sorn#:]eC2P@J8ptm<(&O/` Tx֚nuNnc~OZ8B'&מQF;8aQu@('xիeQ:ouZfET.DU3/q\ NBQĢkh+WHӆ>WEiOH\, aڙ"y39#|-*/ Ttܙ+Ro:ȑ&z?qF;yK,ĕDzĭ}(ۙfW1B䖠C\byWccڅ[0Vrfl 5| Xړ-!1? l3km|nEtR34@JeJamb&/H#|lFּR54ZI~fE’+LaGC[ܷ|{y0כy xfcm"aV762F2R] ®tA[PbYfnmak_euіZcsZHȻYkt.. QZZL N@8! )QrfÝL-14ղ+;*L;;]vWA5XI.)"wH}o!tbZ,=w^7]^sm#<70"{p@9ةqV|u2MIE*:[gt:޺ũ="ʑB;T.jIs☡O4F]zH>Uļ:{l-Dڢ$4 @> 7 UÁ!Y:ҁ12gL m%oG-f5qJ1Nv} mdd rra%1R{!d[j%Q2\r/e}%x%4Jp398G"J_d.tdmUŢ@Aw4u)!R`l[.4bwAIFgXqc6gi ! =+δ|Ws g)bl*Pw*EpQz}Ap/ oۗg5p׌UuJ̳@Dm.ŤDIj_LT1J׭϶ZL.-4sqH9ۂƎ{#ԜNN KBm٭^\0exf#E]% qj^^+Boto3(rATp$E`PCQ>Hk@A̜}ub+q3x#V夓,Έ3vaW, @pTDi@J=u'􌈭BNsp#*Ao=lߊvQYž:y$`G h]K-`gp%Ce/+q;۝<@=X~Pπ3mJȔc$~&hb7p&0 ml.,ֱ "ZXnv`W5x_*_,Qf55ln^S@Ҭ@hQeH>;j8;HCڤSPHöۅPhHvE^_8v+GR 6fQmSF*1B;U¬d6n:].65Am3a7;K:ZX݄GN4جp7c{ۅ)empC M#7'a`ހbu8 J (DJu!c5J9 ~owݒ`t0SFjրICNQyz֩W\ė_^fYR&R)ԴŒܵIZ]i`<{{ ӱ_}wM!+X%+PYGuͩ|m%__|L`n0bݗϖo)yKq9ԇadqC -/$d ~RvVU%07ݸW+Sμƫmp?*^ʘPVMJ&7 vO OK݌13O3lM6.(o[Ā?|sUo==ŏ蓏WWqV^:X(g IśytA605.$ ܀j༫k[}qYXiI\JfCxĚG6qjVZϋD:a'3&& *e;TT"B% = G^#sڞV9Ci_K9K~q1ȩ.q겸+&LƖ֋ 6KUIU*(Vz܇tzśݕsJCp#U aS/|[Mrr6yaAI$q#l2;C!9;Ux͒7<:==/F$ 1K9@&,q#kECJI:ٳoUCWL$ B pn0 p%ˍ~)$3N3g:Ye6&_R9$f5I B&:ԟhۡ hr~J+qgtuQ(ϴ-tK)/gMzBTc-05<=6K2^ ]+uI4rSIi+D /t`xuťĖhG yGзN([+Wm` # aghE}^XLhp>Xg³ֆu洢uZd5__JVq }^#AXH?-* 'ڬΣd`Qd ^♶P#- ,-hXkd9+_M ZP'fz>!Dy윻U&nCskӊVQQʒY ՆFN5r(6|qbc2f"@mz՟fS8NqCug~NTA!mutь[H*%{C?@Gt%GdLIm1E\,PAOV w-j Ttoa얒!'R 텩W6ߨSo&E6I8f /yҕɐbYb+d ֡tFᏘ{:h߹pvC,4 ])[/`k%h9L8]h;YN ØՁb`)&Lm+έ ԪlwG9cZݱky7!0rD:1TtJ%S+dXv-R54dk 47~Eu;5wҕwdڍ #ih@~j,4'.ƅQ`D>M6G |: :RM.Vd1$*ԓ2w,)fq)wHE#(_&`njLnV\lln6ip_CJW)L2r3<.O4Ӕe4K[3qaK1?Vw~[mªqh>*Ǟ7=4S>{SCܷ6amJ/+֗ tUB{zn@ 4ۑQiXX\2~E_!Ծ{ps54H)D!{Gp ^v̹<׻]m^c<@ ?)gGc-ˤ [ll9> 8WLRHNqŽ#u"Bj3twD@2fPn;kZ{1 c\5$Vtľ(jwEQӁpܵƼj25@cLazhDc% HZElqU1i(uN9d[u\Qi-qLrᨅqdpsß#\M.$)62O\/n/ I~"`ѕaT\nUx\ An dNxz}XˍKl1Ų4HQKypWNJs3}gF4:5ImՓPOE[l©̈W?Tu-=i{Y J}9`"IlKkJͨK1OnAS>L$B z9gv h9N?ӹE{U &1״5{71>Fm٩0* x{_wT$ Apjx0 q8@Cmz6k^C'͈ӣӀÒ3j4IU{v EskI-XqM-H휙I:>28Hn7@cto95SMJ˙)F+kɸH\,w|).elq6’zTnr&x;Y%§ʻ@ǪB8),2+b؛$GNHDu)BTїHťYZFIXmgq]ta.ЕcV8n[gD9 m)Y>PKZ*Bpp3plugins/catch-web-tools/admin/images/arrow-down.pngnu[PNG  IHDR;֕JtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp >AIDATxb?@ ?]o\T7 &_20lӟѵtO7"~8%\uECS@bc0u/Ng+Q2[㿛}7_\?ffo1࿽CSp͟.,*NIb?࿼e[Ar//454ogiX&<عl5yb|}!%y0mO ho 4{}W}bbسwf~Ət?tVj|"~}72? gfil > lX3222?,$Nߍ܉ ̌ pD 3ϯ? 0Dxe_|_ F10%)ơ ꍱIIENDB`PKZ0>plugins/catch-web-tools/admin/images/premium-theme-246x175.jpgnu[ExifII*Duckyd+http://ns.adobe.com/xap/1.0/ Adobed      ! 1A"Q aq2B#3Rr$Td%ђS4XbCcDV֗s5Ee&6v7 !1AQ"aq2#BRbr3SCTcs$D%Ô4t ?ۣEhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhQ4QF(E(EhSQ70uif6d:o"T"3zC"壦pu%:g(Ӕ[>: ax\ ɺm9\E6 ȀSo1^˾0AH&3){QO+b |GٮS68Fm2ߨR||ő%['Z-nێVV(+gL^vmP9Wtw@;6R1>Fޭ<3F +p&HH2bOq\fhk/IH@ d0L|@C:_I'/k??ğ_F#~s8%J?-c??ufƀ^%v<Qƾr!:A6d0 cɔqVȎC[kS|yL2o7Aּ8쭆<9Yre0ԫU6g,Lԓ7`ݭU^.B&1 s:cNBEl=·*Y|P kn)PBO_XUTW0TA7*|n:Mt9YnG!ܛl%q<(*b|@U?zm}hyJ}1H>կqy30 iFMM&?si=)^*Bk\|>tJf|p6wdHw\_}#3}r>֮ad?$ypӌ|o֟;h[z3?]jsgIReҙ<}&kalM3?JHTqYs &CGz/V+d@GE?w_{$?kܠI ~C&To_;V8du.iyC䟙β%_&?R!灊Gw~ X1翐/c'+^Vk{\^Z\(E(EhQ4QF(E(E|5ZɾRf)G>oqexkCa,dlcA R ^,t ̸`П,r ؃[Z7!.37!uo6^ځޟ52o#!fa/uc8#uZQ6]a$'*N^7YF;l BۮD 6*C{!б @W3zX6.Av'/#Ѓre苵Uq )y#-3ngxί 6| l~wzTm;b$(F@RhG&`VǮ\Lq HITP{[PyMR2.TP<,u wx}ى.`|x$"e#H)`") CDXFLXo ,x $Xr,k$+8 [qĵYx(R)!cf4JjUU@SnّT(bPv@u՝dJ\\mllE _ an#\o0l?"z)@&p3 z con:Ȋ3 .2Y:ٴ-Ƙ0d~S6ع&vPYPX]P]Q SrF9ע:RBBթcFP؂i1rvfieޜ{) R&:YUk:-Uk I 0!:N^^m5 eR հu })قzYӦmRR 5F~L%b,B1wsDAL(uEC:Ke#m@LJ q6#V`6+,dW CL$3r(ƫVtP&"% GbXŬ4}P\gkk:+86YhUH4u&RxmDaQFtY1[@Ni$@q6jifD$Dpl?!R4peW`}td*G@:B%uxzuF(E(EhQ4QF(E(e9o՗,K# _-f\U,?) m@tы+LaK\_U+m6㕒yoW1]'瘪ʿWA>V8o途Cvԏqm zQM[.X`- r 6L&Qe-QI$M0Y"TB @"`UsGnQrU"5k :4t v1HPPrDrE/I\y"#iQcݶӷm((`|yHZޏ_g|㓯Q֬t_jIDZ*IO|\QUHie$! ~tMҮ`6RKޢNea^i$(Wn^FJo,iLʑkLݱ:dy\B$ϊI %as C2` 9#EW*yq<(V3Ԭ9$Q{ t19?I}Ǜbmz&qi?eFkէәI6-q6Ƞ,k2%YEo0.1[mߦ<|d98egK_N I6K?EOSs4$!ْT$&! $zneEDRn]"cRn,e"֝(X;>dfߤ ]omaMxV}UtI?yt2F+SKaPC۰{ϡ[⏦?uw:mF(E(Ehc ""PKT(yZLzTXI֫$cDua^7ѤgZN/FSC~dgK1q"[Ef8˞i6 %Md0Q0 *q MCK E+c!Xdcߖ-4݃oG}ox1;ԌhF ͜zR؛(>K}Y|d]ZTr[_m?`/uY`\N2te®@ahɸ&]m4cvٹ[>#9ǰEU[f`Z>?J+̟69! I0"8)H37`eRD0m4n`L̐bI!.G^W!XK/wI޺ntRKUʈ5aLqnw.$˹ofe鎐A"XU_yˢOM"ʜ&k'\^rYN1Hu0&z DD<ΣH(." Ssln82G X72[ 4u&y+c.dʷ760/nTOd7 S6f0nSFHw I^bְ>._ek+<2 S-Ǥ|c*gq0GlڪQ lrͱfRE%9!>oimHʟE=n>JV1U񗈈E%3&6Q7l;ByQ;i tyԂ7MzF>3 m!skMuDcȫvmpnٍP.h.rԐjXZf+T".~RY]17M#qg5rPh 8sV֧qk,el3G}DG"mj8(YO|j0 SBU%2ڥ)Q2 W-UD "c=ryx>B` B*yq*ʊ"jTl9~J+1̲Wm<'$38 }&cI:V┻0IldQvPOzG7`Knqƫ{8 ^Sw Si-zxV]HeXɈud3G42D6:C6ᤓbm9 Y+trkf_.rvV⚯JJL Q/Wt4y<9%qsm/8 Et夠f& FЊtWos`d!11T:{yCiީWl`uJܛmnp _+ dSVC7.T7]J 0W(e$kޥKlgj;JidLakTdu">N9.b/`6p÷lX# ;C$JTRWOji-jb!iYrrX$iRURȼmu2U'Lm~A1MI3e/:amqm*!Of^$` +s;H,ͺR(eUSePcqx鑶 rTAIŪ2!%26W , [q漢Ga 3ss_Yc/[5f@QO^ogk9:p~6,THPt  D,hwEc. .BqF6{+>'\'ÒwD+3DdGm"xg_=L bEATQ08u>˚_Y_Rפmlh.5yUJ(μAI(qڝU G>i LLc74WR^D8d ,PQԟ%/#Vp1.$)ؔ[T:Gb4-rn+\Nƭ\& IF~]p@$T*oN& 9@HnbfÊ5Фq\^e(13؉ m v hE Rs{GfNq9bqm.EflnjM5 љDŽd˦V$x;1c+i7]Ν# WI>,]Ubm9YɼdhEi q q Ҭ]qYoǚt9ǀ-k(LC䄶[x͗xnFr v;g/2UW]T2v4hZc/+@Ha "Ñ&ž59::! JC#u$E# |ME$WpDO ܠR$a_S"sM&7ֱQ ۖeG8QƙO!?nK][enB8wb @U(iBHð +=gvS}߻bo33蜪 <BW c^ԶÀ{޼?1;FTQQ_;)k59UuiR,x==b0,d`]i.a['Q)6!6\Y2}bTEa$199X5;5~s2LnA;o&.I=:zoqhk2zixѳ6`sd+"29[ADS#-τDCKxMl5SH0 Ae%c+Ms-7;K%=H%l7iSp*AKi%ǯht7̓*f."4D>&iC$mtP/ҽ͍bnCI;E2D\XLUuBb=$av Ϙ`}l}$YaOx9L}6.f>D92r͛(VL fbW&&LpLcXP-0 &LBkMG[xyaUf &/R4pKʂ§RN74rk6bl&oќp3NC 5/4b*CK%--cW;j-LŊ=YH0= T=[o ~aؚJq y7Q)n;Ħ "ϕٿO jx#WrZ9C~;c"כ\~ruxnѨ&)us(rDeN&7.bjcKAmӮҩ#Dqw۷LiWΔ{-1 ܿ~Qe>>݊P؄/@IA)e'ֱgA;{ {}݇}t\ ׭T+Y " m~ ÿԃc 9 WWV<^{R漺]0EWoz%QzM~ $ w6" LpB 2nRnQcQݳoJ6t1P6).CqO0 1Sr0RJk&$'w_%!$>puped1S"-Ժ׃e:XY(;~Gn,Fk2QU⬏R:a!$`ɔ@rxskc w|y<_u#$Pp*A4U0(MhH1e~Ω"YQl)d)=jKGLb)%0,QE(b\¿)Sc,4כ߶QC#Hm`2  Et\$l}jmz̽c33m(Nܑrl!&:Vk[FK,5Ú9koq!pAcieJ{X+2̵[${NCQs9yAfwZ vna. rd8x!Ȓ&3;JRv۱v84~u,^^FO%X 1gVqk/ /QB9a5a,+9˪=1^{ݰU^q=z6 ? H ,[rFT~.TV_mI֦}kҙ0p{1)Sp!3~4݉2gTfJDFTɳ>}74~Sv -Dzpێnz2,kFXix¼r)6ɨi=®e$|ଠW \H֋UdկwZ4V6nJpIH-YJQȧN˯KJD|G17}zwʌH?|?4qQU=vFڀ@>/bp' .3:u) :REû-[3`K;QQOSlU4Sw=>xg/2X%Hq/ؠ\Z{VEdX4,B(vv7݃'eUR:;I8[g!eSȄM;eF˟q-4s.2 ŻJ-6pN`I7f XBkY2Noh) c`Y0TX [U- g~c?Giy2SK3Z%/hCPiCB32"4E~u|a΂Y/kq7<ܺ~$jȠ,t{/C7k`KbʓՉ#k vA $رYk W"c˖B=mJ\DͮFm3I'r"`%8 fܐ FY^$ΜUfTh<ʱC`^I (f\xfyny KNfirKǺFyj[B RQGF]exf鼑c'*0H]au3D s*Ԃ vfT(q&XnxfPPM xy(cK]j#Z35)x7/,geBr"S+甄+tUpM_fc ۶H̒@![1^Pܾ7(1nE"6_RrYXuQ[S`jSG L}6yN,>W2R"\(;*:`hArIӕum^nI]d,k@56 Y[^ mE'7r"7'@ zSF7QʌݏcT/]m/H&޴)-'*SVT=ӕH : %TPͳv\f$XFa)+?2?m))P-3(hj7qqj{ho8Ѳ*3l2i  X 쾆.zIĉ*)#/;r3 `.AZqQ"U)rgm*8A9.5fTnFE|lW?Kd]oqJTP -qASSHV8e|i ݉PW4VF)ĬO wf Zϔ=1̴}6bɴAn %9+3C3EL1>_:"j$i J"[pA0np*:p3^FQbO1VPJkg>*q RVMxUa]X^=T|jj J'&=pȽQ܃ dUQ˳tgJ#&8>n9:?*:V4Hd8<}nM-~j]p }UV%T`FB:gtWn hqs[R;Edn`a[H.}ËIDx8>!Ls|$Þʉj<9IԜ6%ELM] ]5 H@$=oGqwCA3&Ik MCv3.DpwכM鷃_rr\mI ՛eL>L_37Y@eD?}-!ːx40o'$bS9QW"rneAuCuؤ3Ca Ml40@T[roXy5tG6HL b& \%V*&[GJ2z8/ˋsZQ˧mԆ+rU]$BہA" D6 $Wc?mr2a|2D._刁Ly]$K/:iXci>%'!MtGłh|8 wwV&3PO[`3O7r<_#X@+R cEVo/51Mpɠb uGƖ&yoi7C9Wq ` kr8WK@CAD"da"ce* 6mM[U D00~XpǏ (T`UjUV;~_,$pBW]8xj=]GH˨u [cr3BȨ>χA}G#[dWgCp(E_yEȘC ;q`*J>VmdXd>t/sUw#l* ~6$SV2b}@?^E< Qr۶]BP{`?]^N#N*yKoZ_"߫d^>l,e.S&I'`UgQ^ JѾQf_h_暔=`n e H6]HKr92fFjr'6K.s`1hn͢h݂76 5=:I('$U X(c: r:=T!-05 uS., zJsVV%hU32]TvM lEJmv"?ͪ ~3*`PB(< m GS:]9]y L6`Ա2asg|6,Orc9xwv Ͻ{F 8b!k|Qr]#kPNmp~ŒFβK;0X)3wWW+LhT%xBUmpEf]ԋZ,B h(w1:][hNaVLUYr ]+ɟ'wJrRV;.4`>}zXR=Z{ɓFW%gn@qaJķ)"w` ¥ʏI訢 ..[l?+Ӌ}@oGu"R3\3+ZLI"-/ t\]EMH2KG,zr'NgkqQgW`n5Xv߃qmJ/D;d6IT!nQݳVW"ZXAL9\\1+7v8;Il #mmu~<@;Ԓ̀3tAe]yf_Ed'U<+]^ϝ;sW(,C&=A˪,\$'QEr}(96KY/"ht5rl+12u@D<8InVca,}O9dj-8qi=[K0Ug*qIScb )h-(7^'n1k,Aok_p瘝7҂,^r2rOp=-\8ÍGXΚ9h,Ed>Eőe+yE-m=T{AhL~_BW_yĂ[׃)r3MVz#^AB*]ȼKxBaH.*N䀏/}ED k: p ĞK;Fݒٸ1L{YKr@:/ݰ $+E 誕eWP RLC,Eohum[&VkT Yq kq?YgZOC2F'& C$bI3<3~zeZ6UUH IPv/cG:.G >M-iމ$ HS*# 1M 9ƿt VwԌ sv:c&8;Ze'6N^awI|$nC Dc Œ^.E("{oDmoa@SO08_)잹Uߝ _y5@ Va"O"m,^3"O?!Xvkq50 H`A!>䟫"V02֯T'@[ $ׄ[%^,*`QUJ@P mfk|ɝFKA)PlF;*7]m\6i“؟5C13LLuv^qU=F4Js9;L8۷Fm~ f,bÍ$vSVnf@Y$& ׹}mnRO%FImQ"JFW&xpȢRE(s6(x86ʹc49EŭN=s/XU#0X{k_f=qH>H"ޮrLY4eMUB8V>r;uo̓go.;Qo륹8pn82[hXvxEuZ2Dت ~!'Q}ݯeFP*+0&Kb&4!J~jPLs`viָlPȐzH"#m`]8Ks#/uaqaA='&R Ēx)S)#.7 /Y, Q|'!d("-BTuB(X7MG oD=A6x_/s,\TJSP@vį Ou^:G9hBl΁M 8UWc V/(Ft|шHZѐV2qSaԳ:(U% {dm!(oFG+>0a+ɋ9 9D|5dC,c$b<3eI~|!EːYbiQ9K[:ĢY9'*DAǏ(oդ .aJiY\v%I7$$5iAG5U;"*P#2ڣ2 ><ߓ"Ȓ`1Ug(Ycnb/4s~MmO1hϻhޒ*K@B+uI ilyŚ8V#aQne(I&xIՓ[e_G ĩ1H ՜xKh5c=Vs2]ʊkcǩ:{iscTdbl͏gqEGNh5^Bd"RHܑ8SwEbaư{g:}'{ )0WŹP 3?Aܷ?sIQs~+T :鬲ehTFԃP TUP~(-'o~cǷMs2>V(>G&wԛN?W6@\I(p(t+^(G>:??(YO`$Wpv|La-s~)^$%l"*~)zJeaJUמ# X$ʆ-}{~uyRy0  ;O#)Y22dt nDx{{DYG2EH& а9{ kMr #Ua: J buS(v=Pq05=ܬ6eD__-A?:+15lWx.j-5Em)y1Vb edn4)*;sr:d,D0 HivFi< N{]kERz\9=+9ӂj%*^b(fk'G]{&$thi4UB';meD+f;Zs f:@*k{i3 ]2^U$oz1xf.՘˻UGP+6an(:xi˩sLbk\:ہӈ` ǘq#^NGݡ]lRTD 6(6{Gp- :_?fWҲ ߕJ?!1j iD-KT3ݯ_6l&DIQ TCꥦ^`Eak^;[q"Ps4NĨG8qCh#"&o*X&XTXJ F!؏ ;VV %y¨jyyU[De;^/5ª&HS ԁ](CP>> # %t--[Ӟ0aGv$Ho#gQDLG5'a~CHƸj2J:~fn&U|\t3* =%TmkEp/2󹽮| +k1 dBnyIIDebHLIn+ftvHV0 "]&0f/!_N-oUJ菲a"4GR)/J@+0)@<4+k-<$/T V sE#n>O wy0)1@vЕ?G_PZy:/?ӓW@8BtPrm!m5KO̠5>~vn tēdƲ*11Ԭy< @vֱ|LJlzQ+ݚƿ$}gkgƋ_۷LoT,v;-1\&O^_ݸė +,|_Rhk_xM \[vs_[B(me2`zm?6GVMߎ?$#h?]_)5X|SzΝCMC􁅨p͟[8IzztM0r|uȄr|K0Pt!I!8 CVCt=<2s/ۗ{{xmYnAÿZ|1rsJWWڞZg]7`@ͳSL8p!bnTP7ıilFG Qe̱ b}tU GZ@YtیyWpQ]˕ҝ*P:sl#σ׺{6\,;'6ڪUI'zradu][XcCeJGhxke,@=2v!վB9r 7m+i3YWό]AA&Hӎ33c6ԋ ?5: |4UE0r4LuYvA?JE+Qaca$E9#v7L t2n ٯ¶0af_ۥ&㢨Su%"*&lh?*=n) m{c{mƹUOZv_#~N%dp*^^83gBQu2;_L&L*Gä6:sH n=8YLa O*[6*X3G~PYü{)!O$_$Y=I[8eH>\q. Ce/,X0倰@Q )'|MǷT9 7;$%+2ǑCW%+4,vRyDG@vݲ1qN, /YY/)`.M΄&7D Yʗ,T*H|6lo Y̼7xhL 4]4a#Z$O2狑?IMʌGn6[rz3&_8}ܾc[5%\ {rɾXWg++F(UQxD(avJqƖ'24PFx!]9M/ F,@0EY؆1Ru[wP1ϥ& (&a5  B8_^M:d[SI[16}TsB?NUݛ;Nvʊi1L%.yuσOZ) ubmF`p;aуpotk*}u}Q7 -†G-%j&SFEҗƦ@ؾ`VLwz=p2H^ځ^2Z_UkaqcXpx|d:?(jS;GMu5. 0$Slu:@~0G7"EĖ9c3CC!!@h/Y*8+£)Hc;oO¡[=B"Ī0 0w&!;%a m-'`;t~a 敽&icaV1٢_7fhR?@ULm5ʼ )<ǚ-VTO;U|ͬf+3E}frʻ&r6sRHqEe2jU u?M,\5hzo°LIox>[ݰSX%r;D* #7v׬aS"f/AG 46.;g[պLo4GtnmPv's?m2֩?,C)\o? cmO=ƽKYt خ AMPPIQ8?3Ô TpBnB"(xߴ?H?[CGGo-gj?[CGY.IHyGb0(p1zS/xkgj?[CGI>^9Qr%cigmF&ذ (IlA6 >ԘaaeŸ^8o-#X̺SLYa4Lkjvrv MֿZt͕zg=m;) Z%jt<^,B9a!`ӾOܷI1FT9޻iZdO-RNgݱLM&cgbjA*K}$,ߑ.qצ1[xdYW5y<4rZ1ThN4>O}PG dJcM&>فFc'&8 IrI'0!KjM}期ihήK(:aR p xj֗– (XpՠU.OnkK1ۙ1.yYneJkЫ3wx\ɥqÉV47G#niz턌k!S)ɪda R_͍ ~ʛ,$oʤx@9A׸4Sn; yLu0c1Hfo4s4syj)<8{G[yҧ PnM[2Q$ʩD8>=_6xAm@ssnk^wvĂ\\KѸ {jRB;k1ěf`=62\ n>eh3s24sE;Cmiȳ9&ßr0롸*[[z׸}mx{ Lذ̶+_-T'K6eC"3$"G ;-~Zdd3TȐAG=%X6ԉć 'T 7&MSfeddf!9eBnmLE+2ؙӵH*:10h3$#yěx'4x(nvz+ oLsdBbIf$3nu|؂0D& mlJTs O bS[4zBsFӌp%n*)2yjO R;S5nDHp"풳a-p![A{Y<(3 U+yE~-]O-)-Vy"cW,S(cقG)^~ϋ6n"S"Eܲh@ү ٰs$Vy H + /0ֻ|,nIF\2* ]vO"UPzͧ5Q4QF+sIN<H}W/G8ORJvǴZj:3@a ;{CRUu*\ZVQ g.cF-Bd sddh9YlmfHYzNX511#Uʇh JV, KsF9`!(G5jo),m6TzA1bXq`lf\z%"G8\]u'5jVUVeJݑ@$fؾVf7G>7ex1J)@Y$Oyf7~sAP=)խ`=ˮ-ϼg㥬Z㦘w=jkZ."*%@=*b ( aP gޕEװt돼BS1 F)u,ÛL&%Ш]ccvUea*VeĖB_g%w/dkSvpvDEE@!p;:wߓeooY4{Կj*q#}}#J93X>^`xXeye^Q;2XqyɝSŁm=y/Mo+m*e%8 /,_2Wo}u2g\|XCcD1 6kSB#c;~${ZrMі]f-)3 ӎ9#nUˆw(e1[n“.|"sGssۦÅtޚN7}~? Ó 7hH*3_ 9)]c[5&Y<͡&B-DdywX9[nþc2ekS=]@4^7r9}AdlFd3K,S\rnvWB*hkO=qVFf,S>^?9_Ƅ ܪY"'UU1˰AI948Y3Ux$6VӼBn% n|JΔW2èQvr?>vvxqS$B!vY5^ ͞[>cDY[cr:\[f$ಝ-x%7Vvj=*}b'1OMd6Ke0&kLFakB6>f^BؔIL\’qCI1id JW>T tb2HET2Lޣ=]m8I0׉h:΀!<?Ws܅LcÄYw[qy֍Z"_'!3euJ4UgT:iX+_V4ER.wL- d9Jm6 ;Qoq"bе_*1<~Q@`x(OgmK@[T\ݡ86@D5uO/p;% z ZBx^ߗ]qXT 4& Db$dXPSaeÏҜ>oIxmH:(}!ԡ(ѢC}Ep`oIIWW!\%+LKu}i9t^ p7  \=ZW `dHJr3l/oG3 ۱'0PJQfM4ШG =ZksY7 {Ց4D^XdE<7-k7iAxM?QFew~K j$! CCkJ G 'p}Fsvp &r|y<('bI^-g6E5^I Ų5yQ0t́:ʡRrc"߼M'iIv Vp1~1[[f<Ҙ"%[.6[^5{;f|qUŝܳΨ/JTl-z5H4f10՛FCu(d7MCe TL>I6E^{[VhQ܏}cS?2=I_A<[GEC1]Ȋ.nU˅e1R /3jySnĚqTFҌh4%A:nUGո;z>Fj=~.I|Rٽq*vSH;wH*&rNH̫c}6 cT~0l@ ب6 /E0c-aZ, <ۨ kMkS.ц"铰˜[4"/B z }WM'Pc 0b4*wGOZ,X& ΢?/tݷIML|#>h bf nB>鮴LU$i`e_ %]+W/<5ޠ[a }i)eEF(H.ُoغs~YWe^fkydInx𸺑p+׿,>qu:/\ӒLr|K{FAun4yܲ2lozmvod$UMcG*@cf\bJAcX*'n9pHR4:2_cF+Z\.Td"ђVhCA"삅L;i( &8Yxzagfg ]M,AbǮy LpqR0LcP(@68~qu!9XPI<@{q L<_h]T 5$=5Uv39K2D1]ܬ F0aPy2ӗ83\7@T)L?,VگM|~)caf#.}jXrifCYm+*^GY]{E(yXvcJEi%D"=A5^;Af탶˟EP5Nh7#zgҝg/mrmk9#TF Jb~@:ŖMEɾMD\ Yg&^T֒ 9B$cC)8X̐{UJտgi!H@/{iWab6<>5-+;V)%\I@) ]C"bq0]< AU0֯ .`Q9FS(2\HFW>[6ӲH# )R?c[;hP-}}:VK;˒c s T~ LPDC@µsz o} |.?Oڬ> ?YyǸQD8?h4cQp>FK> ?Y<l\{S}~<ڡ)ߒ~?Y< 24B] _n{>*?Uc=´n.mKs>JqfedF Iju^?b6zy]EDc40):nL5B4G<nZz>}Yv$, rF cוosO[D^:9Ĩ3 $C~)4ζG [4k+x!KJJG(Ӻ ߞ5>S f VܨS^Uo4cWX 1N21FqLC!YK֨Y J=˥RvBU2 ,=#(C-ArĪߞYX[ED1|otΞ]b Tyy3ȖHMK &Du"gc R&RZXQyÜ51Dz[JM. w1.=cS%c%2SοV`iN0M#;4D{C6F>@;f:J=dX\tOaӍZM%^o-Da}-sُfyVԲRllz&ud+21.&Zf۳$NDM 'ldBFӧw zlC7Xh8uԐ}Uv?]~?WCs W :}?}QNN\ʩm?ǭTŠ<*aY8SvQY 'Ѣ4QX7!fm74QP#ޟX˓Sy;aƸ3wj=S#dP=\PñNbq051!O5?.Mugϝ kcE[BaՋ7^x>ݿ7a_eS0Y*ɸPTL>;oY?!ڙʏ0"^ 6?sa԰ňʷ\^  #b-\⪂ _f*$7Y#~DojrW-ا1C[Ш 16TPqIC%L2I5L%7|7<xۍkikRd?o}(wb[M k$ @ wc"_b=.?R2L{8Ed1xU_+Gv͆.9[UD1sGnҋzr $ȁ@r(c×w:3EuLJmu}6V.-6a'"?W;tuF}tUfA5$TLY"._xctpAV_xJse hԟo6|r;t41$^,zI"Y˸C25LC'k=Un$\J%/doȘ?> 3V7}%ꔥu[zv3q :ysWϸMa=N$J7{;{o "hV9hg+T2_x+EU}VȜqW[[5引Ds0ƚ^.sICNd&攆IrKT8 CI#5n>{*wilnpO+X#Aֵ>M]AMʓvꛖa\U`D>X1JzĥQ)zKϙi|.E76V/Wn~>;_ 8]!T)aKqS.elLrivZKr94eifWV7fFXjIP*:::22.r$=Y<&*\[[`tft#υOjrwƳK%ekO|*S4Z?pk?XDh($q(LLi"%0qLd' F6 ]ԞJ1O)YJa<3I6h˼3dģD#@t6tK C\5R3tW?[Go<εM'3~ʓc!ʲWV%Ɔn8Øߦ~ېS?ZW!v}x2%JܵX#ShbJļ§9D,d0=i{>2bL]v&Ezi7[7 N&>V<""2qtv,? G"T "EG ] WIC=Wc4+9inOl*o9z[P|騫hŏ*tP0i@]{&͋|aL* n-N׭>D|ꮲ;ŗ#|;r-ijEE{CF;@ۇSj_󧡣6sL >WƿfWՋПWܝ_1g׿k <ĔNQvUg,!&Ge"ɿM!lmb%P9|󗫶mcioH2$@'F7t ] 9[7Y=]IQFSE-`}[Pn-z2Iƻyɞ:rKS3bB8r'S)w˓$גǯ17㆜;Gy%e8>c_y-č{xa,v\[%/<^JI(쬷KF+8'` n^I<]B0CL0MN:V߸4Y(K"VZ(F0A$&vu"WhluABzLM@DK#ON5-m}^GW:}8r!45G*2xc@ ֣Y,n)52&p/2I"쮢&9&>ð_N?P_?-iSʮiw r~'pUЃJR;.Rjq&ߧh7#ee5Oό#\%9]N r"r|D ^~Y$)+.¡(Xt(0{"Q`u}Gi4ɆM!~~Fuj2eys-%X}IhkO>`Wgm)~]m~R޾ nN]eX`%U&.&u4s`*sYClh{{M-ji`ɏڳrߓe&I1,YfKŦe`;dJf& IP8oXྛ_EwRuʍ 9jY99o,1J#+UR !c}k{Vt,GN&A'1W]Fʦ6HtYRyJg,FU÷=MN܌Ġ).78T]J9o2 ~"ڛ~j,A[}u{f.Wpp݇e~s.n3}扮AګFX: Cku/@E8rcDZW)2-+ZY\k<j$$$tz&Vc?RA 4r Ԏ`eƂ 9mIb)hE1W V q1CWoJHcrWTD6LCrPnQkpq'{i7y}#G'{i=f}Tq~Gmw˼PNy{|{._HC>5GJ:y7׫#yί/79=#K=q=y䏿hmx}v_HҾ$};G/{hmbg_A|fCv(e>gχ}9}#G'{i"Zҍ?0Ig|`cut>-9=#N?Hv_HyG˭___Ӿ9}#G'{iI!i;=y^zkv: to=rzG_=q=y䏿hm+uKҕR#x赏ejݢ9q(aqD>&Bb\o`Ȋ sH5$wvlevC|J:>a56 hxvSԟ 1ްru 1qV+Ԧ7<Ŏ~(#S0C>)xu`e/naGjCew“ 1wmA"ܱD.w))?Fbb2?02EW_Luvgm2%H@2Zo v,6ކ1._$0?uny-jPKZ <plugins/catch-web-tools/admin/images/free-plugin-246x116.pngnu[PNG  IHDRtjtEXtSoftwareAdobe ImageReadyqe<(iTXtXML:com.adobe.xmp *<yIDATx] xΒs$Ⱦj)nPQ[}KENJqb*֥(,(\dA @=g?3$hNއ!sf柜M4JV3F&MHL߮]`0 `0 `0 `0 `0 `b3 &6`b3^(i/>++Krf=`$ɬVG7(7#1Iob3Llf0Llf0LlHha '߂ԁpьM[Q JU7zlyo!I?T~7dZ4N=rЈ} ܂859iCJʦx_56"H #Jlb{F\|s،B(F_JC?#5$[*xIG;ocr37jUi[VUTfoUuF~_"IcoyLl DHdZ'!@(u/X\}甜Td0;5ݐ6vh]%9cVz.Ob>>5uꩧ?O^͛G۶mKrsܦH 51ߖF}Qf[3(ؒX}EҾWn4y LPxN.e9_ QWr9DXFm#Fȑ#iժU =Ǐtp :5M#CNRRRԑāIų":o;Ol*Y: ێ7/W[ Qa3rR(aF)vrAPk5>ZU饪:?Q]vA֤~Wp_`P~Nr[4J w#-H3kLm-H.1I-%n4,E 66h /9Q ['T|rfcpF*vcl+@AT뮣XْduhZ[YT"cn%T!HҀĽo@ _1<ޞK -@wnn=BWNͣu^zbB?ـTzjsݱ/??!ϥk [nO?T#*엿ec1fd9 UPAZ\?jotۂܫr-Y!J^7NxZ8.IPMLN̡44Ӥat ӥtcݺ.nEy=>%nXB”xxGOj|eћotF;;!ƶDU𝋆.M sZz+_<UvL:v4KO˅8/QPj |9Swi W> m,LUҚAHVϧKJ23Fnۿ?[:o݉#HHRSS)##C(n|? ̊ؒ/)Qʜ!5AyǥܯkJ; b%$=1ÙlV!~ n Э{:{.^|9ogy.I3fSO=%U^fMZɟp;Q`F ]BCm/w&nONs:bXq)kd;1~o؞NMR5:Cꚑ&+r*KWNtm,<^ܹz)Lo~#csΥ?];4 +̍m*vc7YZ+#N86&a U%SLܖS誑'9tso,ҝ¤^s@/USrg8%QYP(TCVJlEߘڰa0FJSSSO{iS@l&릢sf S5 ^16^81Zt*Zy./ܴ<5c*txOOv-p|wi siwsC0?)"ܛ7owۥB1u2ekhٞGdMP r5xRO̥k|4dtGDӯBe:^qC_O+S~F;|dVWB;$L%K|x -I ѣ |ڢ(p{E6nishdMߒbKN-vӢ贜( X.ԷB(sG禄wT9I#2i\zFA 8U(Ð-P\+7曘΃vPd Z1:ЬUB 3,U> a^-t1+)nXwh3$b:hII3=0:2m؞ 5T  %7c0՗oz?=:1'P7620 NdЂf2e},s["/cZ /|JA.a#lѾ&Zr}͠O9@+vfY;ٳqw]]]8Ɛ `,]ZZ*簓6K:AIv'Oڗ[>Cȕ¬B?4!AV|aC-t~R;*m¸!69:3#-  CTZUU!4MWWkeosjJGjl<#=;hEKO/xT&s;'B)\Aܜl'%⢶oJQ`u :ϟQs_2tǎG6D2d`c>p@ڽ{LI4 Te3)`cMtr(s oMw%\;Rх2$Qbaz9.pun #2T+yzZ b_9(rK C G}$בrh֬YrOJu+׿E5554x` ///Og ]⿱$=@>"0A^A~QJ3$Y{4XT;Hs{/=@ 2wRILlf -[FۑRKDŽPAѰagȑ#RAl5<{>|ў'f+PtgLvТYpOx4Iǹ.9]N%wHFbCi-Zˣ)Su(4 /xP1cb+av/[l-H$`h(ɘr_&T!~=/ ~ oH4FZR Y`b}zٿo7@)Pq`\LhFj;l*LJ Aj jc'34z!*4hxUWGGQ::@hسgW+lsٌ(aJ(y7B"] HG[nᤣMiw)Lr"(7.s`NիWwUϷDh iWZ[[kdJ n9Nt3Lb仚r=JeJp$SYHW;(Rgm(rg a׼NNEiyV]a}/=s`s`r {P_#,bέ*7j;Z]x '߂u>pwˌ5L!4^{-{rTȀ;8q7|3}'|wYj4M1NF*PtUX/g0@ŋ:Yk2 1+V/Lo<ިqPR9sO?F/: ("jklg3PIW@Lb(*~ȥ9*ƾ3= z+l10 0rWHBQ`~Pi… t~W~w}*(`Վ/,NSpzG}~{#$>yeTY9@<@wqI'csUc~'ɇ9H͛o߯Vˍ7hgevZx1JĹ;::~W<3jL' _r%r-:0p@8~WHX`G ^|/h„ t}}'Nԏ: 3<'PO:rʕ+ow8`nǩpɍJ2 8HnV3<z]U}917y7m$Vp(qu|n߾]馛tj](3W^*mB'A1scaC8'c6>s(r:P'V]+o3gq8@.X+,8QeV /`Tv*M)? 8錿&zg^By% #ᱡ0$1A;FJٻ5IrH:lJ۶;n;ϬH1+ZW"Ŋx-/^d߱+/$4/RA`,Xt1Sp);Exqӧ}p8v';8MHEƋ)=N0;ڽpn Մ:+u' w.B^Hs5X᱾뮻C㏇{F@Tt>6ulx)]yQbj7fw粭Z}G㜺Mr{aݬ!@(*;a8]$Rc a*|gӻt Vf 2+ *j[,{x:F VߪpHQc*(8ҿ^^C*#{Easj^ `}OOvj j3+_ caݩsowlͩqwi6[MqUG,ۤ^FMlL!azc>[n|F-8p@Nej[,{uu ˱ˆ/c{=W<\ftoUϓli]}dz]# qDWPXq`0،.U!L'a16WX?ͥP>8svd 8V,h% ǎ# Dac>9U, Ku87]6I糍eTt htߎD#_S+UrBKU&;{!ͩPs()J#5G(uEټ?8n@ D%} % j4ÂQTSӳЌ%)Xhb$ AX` p饗HCTN0ߘhDJ#E E $t,*EV\8^rSXhz b(RSi8)e%4,|Ϫ ug0+QWYY#}RfJ` p>I3chDS?j71[*w)ܱ/N)wNQbIKlŠ܏cƌab'sPBMqf0Llf0Llf0 m›IENDB`PKZ¹/plugins/catch-web-tools/admin/inc/catch-ids.phpnu[ __( 'ID', 'catch-web-tools' ) ); $cols = array_slice( $cols, 0, 1, true ) + $column_id + array_slice( $cols, 1, NULL, true ); return $cols; } endif; // catchwebtools_catchids_column if ( ! function_exists( 'catchwebtools_catchids_value' ) ) : /** * Echo the ID for the new column */ function catchwebtools_catchids_value($column_name, $id) { if ( 'cwt_catchids' == $column_name ) { echo $id; } } endif; // catchwebtools_catchids_value if ( ! function_exists( 'catchwebtools_catchids_return_value' ) ) : function catchwebtools_catchids_return_value($value, $column_name, $id) { if ( 'cwt_catchids' == $column_name ) { $value .= $id; } return $value; } endif; // catchwebtools_catchids_return_value if ( ! function_exists( 'catchwebtools_catchids_css' ) ) : /** * Output CSS for width of new column */ function catchwebtools_catchids_css() { ?> ') ) { add_filter( "manage_edit-{$taxonomy}_sortable_columns" , 'catchwebtools_catchids_column' ); } } } foreach( get_post_types() as $ptype ) { if( is_array( $settings ) && array_key_exists ( $ptype, $settings ) && ( 1 == $settings[$ptype] ) ){ add_action( "manage_edit-{$ptype}_columns" , 'catchwebtools_catchids_column' ); add_filter( "manage_{$ptype}_posts_custom_column" , 'catchwebtools_catchids_value' , 10 , 3 ); if( version_compare($GLOBALS['wp_version'], '3.0.999', '>') ) { add_filter( "manage_edit-{$ptype}_sortable_columns" , 'catchwebtools_catchids_column' ); } } } // For User Management if( is_array( $settings ) && array_key_exists ( 'user', $settings ) && ( 1 == $settings['user'] ) ){ add_action( 'manage_users_columns', 'catchwebtools_catchids_column' ); add_filter( 'manage_users_custom_column', 'catchwebtools_catchids_return_value', 10, 3 ); if( version_compare($GLOBALS['wp_version'], '3.0.999', '>') ) { add_filter( "manage_users_sortable_columns" , 'catchwebtools_catchids_column' ); } } // For Comment Management if( is_array( $settings ) && array_key_exists ( 'comment', $settings ) && ( 1 == $settings['comment'] ) ){ add_action( 'manage_edit-comments_columns', 'catchwebtools_catchids_column' ); add_action( 'manage_comments_custom_column', 'catchwebtools_catchids_value', 10, 2 ); if( version_compare($GLOBALS['wp_version'], '3.0.999', '>') ) { add_filter( "manage_edit-comments_sortable_columns" , 'catchwebtools_catchids_column' ); } } } } endif; // catchwebtools_catchids_add add_action( 'admin_init', 'catchwebtools_catchids_add'); if ( ! function_exists( 'catchwebtools_catchids_get_all_post_types' ) ) : function catchwebtools_catchids_get_all_post_types() { $post_types = get_post_types( array( 'public' => true ) ); $post_type_list = array(); foreach ( $post_types as $key => $value ) { if( 'attachment' != $key ) { $data = str_replace('-', ' ', $value); $data = str_replace('_', ' ', $data); $post_type_list[$key] = ucwords( $data ); } } return $post_type_list; } endif; // catchwebtools_catchids_get_all_post_types add_action( 'wp_ajax_catchwebtools_catchids_switch', 'catchwebtools_catchids_switch' ); if ( ! function_exists( 'catchwebtools_catchids_switch' ) ) : function catchwebtools_catchids_switch() { // Check nonce beforehand if( ! check_ajax_referer( 'catchwebtools_catchids_nonce', 'catch_ids_nonce', false ) ) { wp_die( esc_html__( 'Invalid Nonce', 'catch-web-tools' ) ); } // Check user's capability if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'Permission denied!', 'catch-web-tools' ) ); } $value = ( 'true' == $_POST['value'] ) ? 1 : 0; $option_name = $_POST['option_name']; $option_value = catchwebtools_get_options( 'catchwebtools_catchids' ); $option_value[$option_name] = $value; if( update_option( 'catchwebtools_catchids', $option_value ) ) { echo $value; } else { esc_html_e( 'Connection Error. Please try again.', 'catch-ids' ); } wp_die(); // this is required to terminate immediately and return a proper response } endif; // catchwebtools_catchids_switch PKZo  5plugins/catch-web-tools/admin/inc/default-options.phpnu[ esc_html__( 'Facebook', 'catch-web-tools' ), 'twitter' => esc_html__( 'Twitter', 'catch-web-tools' ), 'googleplus' => esc_html__( 'Googleplus', 'catch-web-tools' ), 'mail' => esc_html__( 'Email', 'catch-web-tools' ), 'feed' => esc_html__( 'Feed', 'catch-web-tools' ), 'wordpress' => esc_html__( 'WordPress', 'catch-web-tools' ), 'github' => esc_html__( 'GitHub', 'catch-web-tools' ), 'linkedin' => esc_html__( 'LinkedIn', 'catch-web-tools' ), 'pinterest' => esc_html__( 'Pinterest', 'catch-web-tools' ), 'flickr' => esc_html__( 'Flickr', 'catch-web-tools' ), 'vimeo' => esc_html__( 'Vimeo', 'catch-web-tools' ), 'youtube' => esc_html__( 'YouTube', 'catch-web-tools' ), 'tumblr' => esc_html__( 'Tumblr', 'catch-web-tools' ), 'instagram' => esc_html__( 'Instagram', 'catch-web-tools' ), 'polldaddy' => esc_html__( 'PollDaddy', 'catch-web-tools' ), 'codepen' => esc_html__( 'CodePen', 'catch-web-tools' ), 'path' => esc_html__( 'Path', 'catch-web-tools' ), 'dribbble' => esc_html__( 'Dribbble', 'catch-web-tools' ), 'skype' => esc_html__( 'Skype', 'catch-web-tools' ), 'digg' => esc_html__( 'Digg', 'catch-web-tools' ), 'reddit' => esc_html__( 'Reddit', 'catch-web-tools' ), 'stumbleupon' => esc_html__( 'Stumbleupon', 'catch-web-tools' ), 'pocket' => esc_html__( 'Pocket', 'catch-web-tools' ), 'dropbox' => esc_html__( 'DropBox', 'catch-web-tools' ), 'spotify' => esc_html__( 'Spotify', 'catch-web-tools' ), 'foursquare' => esc_html__( 'Foursquare', 'catch-web-tools' ), 'twitch' => esc_html__( 'Twitch', 'catch-web-tools' ), 'website' => esc_html__( 'Website', 'catch-web-tools' ), 'phone' => esc_html__( 'Phone', 'catch-web-tools' ), 'handset' => esc_html__( 'Handset', 'catch-web-tools' ), 'cart' => esc_html__( 'Cart', 'catch-web-tools' ), 'cloud' => esc_html__( 'Cloud', 'catch-web-tools' ), 'link' => esc_html__( 'Link', 'catch-web-tools' ), 'vk' => esc_html__( 'VK', 'catch-web-tools' ), ); return apply_filters( 'catchwebtools_get_social_icons_list', $options ); } /** * Returns list of default options of to top module * * @since Catch Web Tools 1.8 */ function catchwebtools_to_top_default_options( $option = null ) { $default_options = array( //Basic Settings 'status' => 0, 'scroll_offset' => '100', 'icon_opacity' => '50', 'style' => 'icon', //Icon Settings 'icon_type' => 'dashicons-arrow-up-alt2', 'icon_color' => '#ffffff', 'icon_bg_color' => '#000000', 'icon_size' => '32', 'border_radius' => '5', //Image Settings 'image' => CATCHWEBTOOLS_URL . 'to-top/admin/images/default.png', 'image_width' => '65', 'image_alt' => '', //Advanced Settings 'location' => 'bottom-right', 'margin_x' => '20', 'margin_y' => '20', 'show_on_admin' => 0, 'enable_autohide' => 0, 'autohide_time' => '2', 'enable_hide_small_device' => 0, 'small_device_max_width' => '640', //Reset Settings 'reset' => 0, ); if ( null == $option ) { return apply_filters( 'catchwebtools_to_top_options', $default_options ); } else { return $default_options[ $option ]; } } /** * Returns list of default options of SEO module * * @since Catch Web Tools 1.8 */ function catchwebtools_webmaster_default_options() { $defaults = array( 'status' => 0 ); return $defaults; } /** * Returns list of default options of SEO module * * @since Catch Web Tools 1.8 */ function catchwebtools_seo_default_options() { $defaults = array( 'status' => 0 ); return $defaults; } /** * Returns list of default options of Open Graph module * * @since Catch Web Tools 1.8 */ function catchwebtools_og_default_options() { $defaults = array( 'status' => 0 ); return $defaults; } /** * Returns list of default options of Catch IDs module * * @since Catch Web Tools 1.8 */ function catchwebtools_catch_ids_default_options() { $types = catchwebtools_catchids_get_all_post_types(); foreach( $types as $key => $value ) { $defaults[$key] = 1; } $defaults['category'] = 1; $defaults['media'] = 1; $defaults['user'] = 1; $defaults['comment'] = 1; $defaults['status'] = 0; return $defaults; } /** * Returns list of default options of Social Icons module * * @since Catch Web Tools 1.8 */ function catchwebtools_social_default_options() { $defaults = array( 'status' => 0, 'social_icon_brand_color' => 0, 'social_icon_size' => 32, 'social_icon_color' => '#504f4f', 'social_icon_hover_color' => '#504f4f', ); return $defaults; } /** * Returns list of default options of Catch Updater module * * @since Catch Web Tools 1.8 */ function catchwebtools_catch_updater_default_options() { $defaults = array( 'status' => 0 ); return $defaults; } /** * Returns list of default options of Catch Updater module * * @since Catch Web Tools 1.8 */ function catchwebtools_big_image_size_threshold_default_options() { $defaults = array( 'status' => 0, 'max' => 2560 ); return $defaults; } /** * Returns list of available hooks_suffix for admin * * @since Catch Web Tools 1.6 */ function catchwebtools_admin_hook_suffix() { $options = array( 'toplevel_page_catch-web-tools', 'catch-web-tools_page_catch-web-tools-webmasters', 'catch-web-tools_page_catch-web-tools-catch-ids', 'catch-web-tools_page_catch-web-tools-custom-css', 'catch-web-tools_page_catch-web-tools-custom-css', 'catch-web-tools_page_catch-web-tools-custom-css', 'catch-web-tools_page_catch-web-tools-custom-css', 'catch-web-tools_page_catch-web-tools-social-icons', 'catch-web-tools_page_catch-web-tools-opengraph', 'catch-web-tools_page_catch-web-tools-seo', 'catch-web-tools_page_catch-web-tools-to-top' ); return apply_filters( 'catchwebtools_admin_hook_suffix', $options ); } PKZCn2plugins/catch-web-tools/admin/inc/social-icons.phpnu['; //Social Icon's Brand Color Options $brand_color = $social_settings['social_icon_brand_color']; $class = 'catchwebtools-social'; if ( 'hover' == $brand_color ) { $class .= ' social-brand-hover'; } elseif ( 'hover-static' == $brand_color ) { $class .= ' social-brand-static'; } $output .= '
      '; $non_icon_setting = array( 'status', 'social_icon_size', 'social_icon_color', 'social_icon_hover_color', 'social_icon_brand_color', ); foreach ( $social_settings as $key => $value ) { if ( in_array( $key, $non_icon_setting ) ) { // Do not execute rest of the loop if the setting key is non icon option continue; } if ( '' != $value ) { if ( 'mail' == $key ) { $output .= '' . esc_html__( 'Email', 'catch-web-tools' ) . ' '; } elseif ( 'skype' == $key ) { $output .= '' . esc_attr( $value ) . ' '; } elseif ( 'phone' == $key || 'handset' == $key ) { $output .= '' . esc_attr( $value ) . ' '; } else { $output .= '' . esc_attr( $value ) . ' '; } } } $output .= '
    '; set_transient( 'catchwebtools_social_transient', $social_settings, 7 * DAY_IN_SECONDS ); } return $output; } /** * Adds CatchWebToolsSocialIcons widget. */ class CatchWebToolsSocialIcons extends WP_Widget { /** * Register widget with WordPress. */ function __construct() { parent::__construct( 'catch_web_tools_social_icons', // Base ID 'CWT Social Icons', // Name array( 'description' => esc_html__( 'Use this widget to add Catch Web Tools Social Icons as a widget. ', 'catch-web-tools' ) ) // Args ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { if ( isset( $instance['title'] ) ) { $title = apply_filters( 'widget_title', $instance['title'] ); } echo $args['before_widget']; if ( ! empty( $title ) ) { echo $args['before_title'] . $title . $args['after_title']; } echo catchwebtools_get_social_icons(); echo $args['after_widget']; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. */ public function form( $instance ) { if ( isset( $instance['title'] ) ) { $title = $instance['title']; } else { $title = esc_html__( 'Social Icons', 'catch-web-tools' ); } ?>

    20, 'fields' => array_merge( (array) $theme_field_defaults, array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the Add Themes screen. ) ), ) ); if ( isset( $args['browse'] ) && 'catchthemes' === $args['browse'] && ! isset( $args['user'] ) ) { $args['author'] = 'catchthemes'; unset( $args['browse'] ); } if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] ) ) { $user = get_user_option( 'wporg_favorites' ); if ( $user ) { $args['user'] = $user; } } $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search'; /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args ); $api = themes_api( 'query_themes', $args ); if ( is_wp_error( $api ) ) { wp_send_json_error(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); foreach ( $api->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); if ( current_user_can( 'switch_themes' ) ) { if ( is_multisite() ) { $theme->activate_url = add_query_arg( array( 'action' => 'enable', '_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug ), 'theme' => $theme->slug, ), network_admin_url( 'themes.php' ) ); } else { $theme->activate_url = add_query_arg( array( 'action' => 'activate', '_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug ), 'stylesheet' => $theme->slug, ), admin_url( 'themes.php' ) ); } } if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $theme->customize_url = add_query_arg( array( 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ), ), wp_customize_url( $theme->slug ) ); } $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); $theme->compatible_wp = is_wp_version_compatible( $theme->requires ); $theme->compatible_php = is_php_version_compatible( $theme->requires_php ); } wp_send_json_success( $api ); } public function our_themes_script( $hook_suffix ) { if ( 'theme-install.php' === $hook_suffix ) { wp_enqueue_script( 'our-themes-script', plugin_dir_url( __FILE__ ) . '../js/our-themes.js', array( 'jquery' ), '2018-05-16' ); } } /* Add Catch Themes Section in Theme in Customizer */ public function customize_register( $wp_customize ) { $wp_customize->add_section( new WP_Customize_Themes_Section( $wp_customize, 'catchthemes', array( 'title' => __( 'Themes by CatchThemes', 'catch-themes-demo-import' ), 'action' => 'catchthemes', 'capability' => 'install_themes', 'panel' => 'themes', 'priority' => 6, ) ) ); } /** * Load themes into the theme browsing/installation UI. * taken from wp-includes/cllass-wp-customize-manager.php * @since 4.9.0 */ public function handle_load_themes_request() { check_ajax_referer( 'switch_themes', 'nonce' ); if ( ! current_user_can( 'switch_themes' ) ) { wp_die( -1 ); } if ( empty( $_POST['theme_action'] ) ) { wp_send_json_error( 'missing_theme_action' ); } $theme_action = sanitize_key( $_POST['theme_action'] ); $themes = array(); $args = array(); // Define query filters based on user input. if ( ! array_key_exists( 'search', $_POST ) ) { $args['search'] = ''; } else { $args['search'] = sanitize_text_field( wp_unslash( $_POST['search'] ) ); } if ( ! array_key_exists( 'tags', $_POST ) ) { $args['tag'] = ''; } else { $args['tag'] = array_map( 'sanitize_text_field', wp_unslash( (array) $_POST['tags'] ) ); } if ( ! array_key_exists( 'page', $_POST ) ) { $args['page'] = 1; } else { $args['page'] = absint( $_POST['page'] ); } require_once ABSPATH . 'wp-admin/includes/theme.php'; if ( 'installed' === $theme_action ) { // Load all installed themes from wp_prepare_themes_for_js(). $themes = array( 'themes' => wp_prepare_themes_for_js() ); foreach ( $themes['themes'] as &$theme ) { $theme['type'] = 'installed'; $theme['active'] = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme['id'] ); } } elseif ( 'catchthemes' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } $args['author'] = 'catchthemes'; // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } elseif ( 'wporg' === $theme_action ) { // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. if ( ! current_user_can( 'install_themes' ) ) { wp_die( -1 ); } // Arguments for all queries. $wporg_args = array( 'per_page' => 100, 'fields' => array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the customizer. ), ); $args = array_merge( $wporg_args, $args ); if ( '' === $args['search'] && '' === $args['tag'] ) { $args['browse'] = 'new'; // Sort by latest themes by default. } // Load themes from the .org API. $themes = themes_api( 'query_themes', $args ); if ( is_wp_error( $themes ) ) { wp_send_json_error(); } // This list matches the allowed tags in wp-admin/includes/theme-install.php. $themes_allowedtags = array_fill_keys( array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img' ), array() ); $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true ); $themes_allowedtags['acronym']['title'] = true; $themes_allowedtags['abbr']['title'] = true; $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true ); // Prepare a list of installed themes to check against before the loop. $installed_themes = array(); $wp_themes = wp_get_themes(); foreach ( $wp_themes as $theme ) { $installed_themes[] = $theme->get_stylesheet(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); // Set up properties for themes available on WordPress.org. foreach ( $themes->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); // Handle themes that are already installed as installed themes. if ( in_array( $theme->slug, $installed_themes, true ) ) { $theme->type = 'installed'; } else { $theme->type = $theme_action; } // Set active based on customized theme. $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug ); // Map available theme properties to installed theme properties. $theme->id = $theme->slug; $theme->screenshot = array( $theme->screenshot_url ); $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->compatibleWP = is_wp_version_compatible( $theme->requires ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php ); // phpcs:ignore WordPress.NamingConventions.ValidVariableName if ( isset( $theme->parent ) ) { $theme->parent = $theme->parent['slug']; } else { $theme->parent = false; } unset( $theme->slug ); unset( $theme->screenshot_url ); unset( $theme->author ); } // End foreach(). } // End if(). /** * Filters the theme data loaded in the customizer. * * This allows theme data to be loading from an external source, * or modification of data loaded from `wp_prepare_themes_for_js()` * or WordPress.org via `themes_api()`. * * @since 4.9.0 * * @see wp_prepare_themes_for_js() * @see themes_api() * @see WP_Customize_Manager::__construct() * * @param array $themes Nested array of theme data. * @param array $args List of arguments, such as page, search term, and tags to query for. * @param WP_Customize_Manager $manager Instance of Customize manager. */ $themes = apply_filters( 'customize_load_themes', $themes, $args, $wp_customize ); wp_send_json_success( $themes ); } /* Plugins */ /* Adds Catch Plugins tab in Add Plugin page to show all plugins by Catch Plugins in wordpress.org */ public function add_our_plugins_tab( $tabs ) { // Add our filter here $tabs['catchplugins'] = _x( 'Catch Plugins', 'Plugin Installer' ); return $tabs; } public function catchplugins() { /* From CORE Start */ global $paged, $tab; wp_reset_vars( array( 'tab' ) ); $defined_class = new WP_Plugin_Install_List_Table(); $paged = $defined_class->get_pagenum(); $per_page = 30; //$installed_plugins = catch_get_installed_plugins(); $args = array( 'page' => $paged, 'per_page' => $per_page, 'fields' => array( 'last_updated' => true, 'icons' => true, 'active_installs' => true, ), // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results. 'locale' => get_user_locale(), //'installed_plugins' => array_keys( $installed_plugins ), ); /* From CORE End */ // Add author filter for our plugins $args['author'] = 'catchplugins'; return $args; } public function plugins_table() { global $wp_list_table; printf( '

    ' . __( 'You can use any of our free plugins or premium plugins from Catch Plugins' ) . '.

    ', 'https://catchplugins.com/' ); ?>
    display(); ?>
    Support Forum"; $meta_fields[] = " " . "" . "" . "" . "" . "" . ""; $stars_color = "#ffb900"; echo ""; } return $meta_fields; } /** * catchwebtools: catchwebtools_webmaster_sanitize_callback * Webmaster Sanitization function callback */ function catchwebtools_webmaster_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; if( !empty( $input['header'] ) ) { $input['header'] = wp_kses_stripslashes( force_balance_tags( $input['header'] ) ); } if( !empty( $input['footer'] ) ) { $input['footer'] = wp_kses_stripslashes( force_balance_tags( $input['footer'] ) ); } if( !empty( $input['google-site-verification'] ) ) { $input['google-site-verification'] = sanitize_text_field( $input['google-site-verification'] ); } if( !empty( $input['msvalidate.01'] ) ) { $input['msvalidate.01'] = sanitize_text_field( $input['msvalidate.01'] ); } if( !empty( $input['alexaVerifyID'] ) ) { $input['alexaVerifyID'] = sanitize_text_field( $input['alexaVerifyID'] ); } if( !empty( $input['feed_uri'] ) ) { $input['feed_uri'] = sanitize_text_field( $input['feed_uri'] ); } if( !empty( $input['comments_feed_uri'] ) ) { $input['comments_feed_uri'] = sanitize_text_field( $input['comments_feed_uri'] ); } return $input; } /** * catchwebtools: catchwebtools_opengraph_sanitize_callback * Open Graph Sanitization function callback */ function catchwebtools_opengraph_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; if( !empty( $input['og:image'] ) ) { $input['og:image'] = esc_url_raw ( $input['og:image'] ); } if( !empty( $input['og:default_image'] ) ) { $input['og:default_image'] = esc_url_raw ( $input['og:default_image'] ); } foreach ( $input as $key => $value ) { if( !empty( $input[ $key ] ) ) { $input[ $key ] = sanitize_text_field( $value ); } } return $input; } /** * catchwebtools: catchwebtools_custom_css_sanitize_callback * Custom Css Sanitization function callback */ function catchwebtools_custom_css_sanitize_callback( $input ){ if( !empty( $input ) ) { $input = wp_strip_all_tags( $input ); } delete_transient( 'catchwebtools_custom_css' ); return $input; } /** * catchwebtools: catchwebtools_seo_sanitize_callback * Seo Sanitization function callback */ function catchwebtools_seo_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; $input['title'] = ( $input['title'] != '' ) ? sanitize_text_field( $input['title'] ) : get_bloginfo ( 'name' ); $input['description'] = ( $input['description'] != '' ) ? sanitize_text_field( $input['description'] ) : get_bloginfo ( 'description' ); return $input; } /** * catchwebtools: catchwebtools_social_icons_sanitize_callback * Social Icons Sanitization function callback */ function catchwebtools_social_icons_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; if( !empty( $input['social_icon_size'] ) ) { $input['social_icon_size'] = intval ( $input['social_icon_size'] ); } if( !empty( $input['social_icon_color'] ) ) { $input['social_icon_color'] = (empty( $input['social_icon_color']) || !preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $input['social_icon_color'])) ? '' : $input['social_icon_color']; } if( !empty( $input['social_icon__brand_color'] ) ) { $input['social_icon__brand_color'] = (empty( $input['social_icon__brand_color']) || !preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $input['social_icon__brand_color'])) ? '' : $input['social_icon__brand_color']; } $non_icon_setting = array( 'status', 'social_icon_size', 'social_icon_color', 'social_icon_hover_color', 'social_icon_brand_color', ); foreach ( $input as $key => $value ) { if( !in_array( $key, $non_icon_setting ) ) { if ( 'mail' == $key ) { $input[ $key ] = sanitize_email( $value ); } else if ( 'skype' == $key ) { $input[ $key ] = esc_attr( $value ); } else if ( 'handset' == $key || 'phone' == $key ) { $input[ $key ] = sanitize_text_field( $value ); } else { $input[ $key ] = esc_url_raw( $value ); } } } delete_transient( 'catchwebtools_social_display' ); delete_transient( 'catchwebtools_custom_css' ); return $input; } /** * catchwebtools: catchwebtools_catchids_sanitize_callback * Catch Ids Sanitization function callback */ function catchwebtools_catchids_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; return $input; } /** * catchwebtools: catchwebtools_catch_updater_sanitize_callback * Catch Ids Sanitization function callback */ function catchwebtools_catch_updater_sanitize_callback( $input ){ $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; return $input; } /** * catchwebtools: catchwebtools_catch_updater_sanitize_callback * Catch Ids Sanitization function callback */ function catchwebtools_big_image_size_threshold_sanitize_callback( $input ){ echo '
    '; 
    		print_r($input); 
    		echo '
    '; die(); $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; $input['max'] = ( isset( $input['max'] ) && '2560' >= $input['max'] ) ? $input['max'] : '2560'; return $input; } /** * catchwebtools: catchwebtools_to_top_sanitize_callback * Catch Ids Sanitization function callback */ function catchwebtools_to_top_sanitize_callback( $input ){ if ( isset( $input['reset'] ) && $input['reset'] ) { //If reset, restore defaults return catchwebtools_to_top_default_options(); } //Basic Settings if( isset( $input['status'] ) ){ $input['status'] = absint( $input['status'] ); } if( isset( $input['scroll_offset'] ) ){ $input['scroll_offset'] = absint( $input['scroll_offset'] ); } if( isset( $input['style'] ) ){ $input['style'] = sanitize_key( $input['style'] ); } //Icon Settings if( isset( $input['icon_opacity'] ) ){ $input['icon_opacity'] = absint( $input['icon_opacity'] ); } if( isset( $input['icon_color'] ) ){ $input['icon_color'] = (empty( $input['icon_color']) || !preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $input['icon_color'])) ? '' : $input['icon_color']; } if( isset( $input['icon_bg_color'] ) ){ $input['icon_bg_color'] = (empty( $input['icon_bg_color']) || !preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $input['icon_bg_color'])) ? '' : $input['icon_bg_color']; } if( isset( $input['icon_size'] ) ){ $input['icon_size'] = absint( $input['icon_size'] ); } if( isset( $input['border_radius'] ) ){ $input['border_radius'] = absint( $input['border_radius'] ); } //Image Settings if( isset( $input['image'] ) ){ $input['image'] = esc_url_raw( $input['image'] ); } if( isset( $input['image_width'] ) ){ $input['image_width'] = absint( $input['image_width'] ); } if( isset( $input['image_alt'] ) ){ $input['image_alt'] = sanitize_text_field( $input['image_alt'] ); } //Advanced Settings if( isset( $input['location'] ) ){ $input['location'] = sanitize_key( $input['location'] ); } if( isset( $input['margin_x'] ) ){ $input['margin_x'] = absint( $input['margin_x'] ); } if( isset( $input['margin_y'] ) ){ $input['margin_y'] = absint( $input['margin_y'] ); } if( isset( $input['show_on_admin'] ) ){ $input['show_on_admin'] = ( ( isset( $input['show_on_admin'] ) && true == $input['show_on_admin'] ) ? true : false ); } if( isset( $input['enable_autohide'] ) ){ $input['enable_autohide'] = ( ( isset( $input['enable_autohide'] ) && true == $input['enable_autohide'] ) ? true : false ); } if( isset( $input['autohide_time'] ) ){ $input['autohide_time'] = absint( $input['autohide_time'] ); } if( isset( $input['enable_hide_small_device'] ) ){ $input['enable_hide_small_device']= ( ( isset( $input['enable_hide_small_device'] ) && true == $input['enable_hide_small_device'] ) ? true : false ); } if( isset( $input['small_device_max_width'] ) ){ $input['small_device_max_width'] = absint( $input['small_device_max_width'] ); } return $input; } /** * catchwebtools: catchwebtools_customizer_custom_css * Add Custom CSS Option to Customizer */ function catchwebtools_customizer_custom_css( $wp_customize ){ $wp_customize->add_panel( 'catchwebtools_options', array( 'description' => esc_html__( '' ), 'priority' => 1, 'title' => esc_html__( 'Catch Web Tools Plugin Options', 'catch-web-tools' ), ) ); /** * Do not show Custom CSS option from WordPress 4.7 onwards */ if ( !function_exists( 'wp_update_custom_css_post' ) ) { $wp_customize->add_section( 'catchwebtools_custom_css', array( 'description' => esc_html__( 'You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.', 'catch-web-tools' ), 'panel' => 'catchwebtools_options', 'priority' => 1, 'title' => esc_html__( 'Custom CSS', 'catch-web-tools' ), ) ); $wp_customize->add_setting( 'catchwebtools_custom_css', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'wp_strip_all_tags', 'transport' => 'postMessage', 'type' => 'option' ) ); $wp_customize->add_control( 'catchwebtools_custom_css', array( 'label' => esc_html__( 'Custom CSS', 'catch-web-tools' ), 'section' => 'catchwebtools_custom_css', 'settings' => 'catchwebtools_custom_css', 'type' => 'textarea', ) ); } } function register_additional_javascript( $wp_customize ) { $webmaster_settings = catchwebtools_get_options( 'catchwebtools_webmaster' ); $wp_customize->add_setting( 'catchwebtools_webmaster[status]', array( 'capability' => 'edit_theme_options', 'default' => $webmaster_settings['status'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_webmaster[status]', array( 'label' => esc_html__( 'Check to enable WebMaster module', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_header_footer_script', 'settings' => 'catchwebtools_webmaster[status]', 'type' => 'checkbox', ) ); $wp_customize->add_section( 'catchwebtools_header_footer_script', array( 'description' => '', 'panel' => 'catchwebtools_options', 'priority' => 1, 'title' => esc_html__( 'Header Footer Scripts', 'catch-web-tools' ), ) ); $wp_customize->add_setting( 'catchwebtools_webmaster[header]', array( 'capability' => 'edit_css', 'default' => '', 'transport' => 'postMessage', 'type' => 'option', ) ); $header_control = new WP_Customize_Code_Editor_Control( $wp_customize, 'catchwebtools_webmaster[header]', array( 'active_callback' => 'catchwebtools_is_active_webmaster_module', 'label' => esc_html__( 'Header Script', 'catch-web-tools' ), 'code_type' => 'text/html', 'settings' => 'catchwebtools_webmaster[header]', 'section' => 'catchwebtools_header_footer_script', // Site Identity section ) ); $wp_customize->add_control( $header_control ); $wp_customize->add_setting( 'catchwebtools_webmaster[footer]', array( 'capability' => 'edit_css', 'default' => '', 'transport' => 'postMessage', 'type' => 'option', ) ); $footer_control = new WP_Customize_Code_Editor_Control( $wp_customize, 'catchwebtools_webmaster[footer]', array( 'active_callback' => 'catchwebtools_is_active_webmaster_module', 'label' => esc_html__( 'Footer Script', 'catch-web-tools' ), 'code_type' => 'text/html', 'settings' => 'catchwebtools_webmaster[footer]', 'section' => 'catchwebtools_header_footer_script', // Site Identity section ) ); $wp_customize->add_control( $footer_control ); } } $catch_web_tools = new catchwebtools(); PKZxBCC-plugins/catch-web-tools/admin/inc/metabox.phpnu[







    '. __( 'For any other type of Open Graph tags.', 'catch-web-tools' ) . '

    '; echo '

    '. __( 'E.g:', 'catch-web-tools' ) . '<meta property="og:audio" content="http://example.com/sound.mp3" />'; echo '

    '. __( 'If you do not know what this is, you should probably leave it empty.', 'catch-web-tools' ); ?>


    70 


    156 


    cap->edit_post, $post_id ) ) ) // Check permission { return $post_id; } $og_title = wp_kses_post( $_POST['catchwebtools_opengraph_title'] ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_title', $og_title, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_title', $og_title ); } $og_url = esc_url_raw( $_POST['catchwebtools_opengraph_url'] ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_url', $og_url, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_url', $og_url ); } $og_image = esc_url_raw( $_POST['catchwebtools_opengraph_image'] ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_image', $og_image, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_image', $og_image ); } $og_description = wp_kses_post( $_POST['catchwebtools_opengraph_description'] ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_description', $og_description, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_description', $og_description ); } $og_type = wp_kses_post( $_POST['catchwebtools_opengraph_type'] ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_type', $og_type, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_type', $og_type ); } $og_custom = wp_kses( $_POST['catchwebtools_opengraph_custom'], array( 'meta' => array( 'property' => array(), 'content' => array(), 'name' => array(), 'http-equiv' => array() ), ) ); if ( !add_post_meta( $post_id, 'catchwebtools_opengraph_custom', $og_custom, true ) ) { update_post_meta( $post_id, 'catchwebtools_opengraph_custom', $og_custom ); } $seo_title = wp_kses_post( $_POST['catchwebtools_seo_title'] ); if ( !add_post_meta( $post_id, 'catchwebtools_seo_title', $seo_title, true ) ) { update_post_meta( $post_id, 'catchwebtools_seo_title', $seo_title ); } $seo_description = wp_kses_post( $_POST['catchwebtools_seo_description'] ); if ( !add_post_meta( $post_id, 'catchwebtools_seo_description', $seo_description, true ) ) { update_post_meta( $post_id, 'catchwebtools_seo_description', $seo_description ); } $seo_keywords = wp_kses_post( $_POST['catchwebtools_seo_keywords'] ); if ( !add_post_meta( $post_id, 'catchwebtools_seo_keywords', $seo_keywords, true ) ){ update_post_meta( $post_id, 'catchwebtools_seo_keywords', $seo_keywords ); } } add_action( 'save_post', 'catchwebtools_custom_seo_fields_save_meta', 1, 2 ); add_action( 'publish_post', 'catchwebtools_custom_seo_fields_save_meta', 1, 2); add_action( 'draft_post', 'catchwebtools_custom_seo_fields_save_meta', 1, 2); /* End Creating Meta Box in all Pages and Posts */ /** * Add Term Page * function to add Catch Web Tools fields to categories add page */ function catchwebtools_category_seo_add_form() { // this will add the custom meta field to the add new term page ?>

    term_id; $term_meta = get_option( "taxonomy_$t_id" ); ?>

    0?f[f.length-1]:null;null===g?f.push(b):Math.floor(Math.abs(e-c))<=1?f[f.length-1]=g.add(b):f.push(b),e=c}),f},f=function(b){var c={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof b?a.extend(c,b):("boolean"==typeof b?c.byRow=b:"remove"===b&&(c.remove=!0),c)},g=a.fn.matchHeight=function(b){var c=f(b);if(c.remove){var d=this;return this.css(c.property,""),a.each(g._groups,function(a,b){b.elements=b.elements.not(d)}),this}return this.length<=1&&!c.target?this:(g._groups.push({elements:this,options:c}),g._apply(this,c),this)};g.version="master",g._groups=[],g._throttle=80,g._maintainScroll=!1,g._beforeUpdate=null,g._afterUpdate=null,g._rows=e,g._parse=d,g._parseOptions=f,g._apply=function(b,c){var h=f(c),i=a(b),j=[i],k=a(window).scrollTop(),l=a("html").outerHeight(!0),m=i.parents().filter(":hidden");return m.each(function(){var b=a(this);b.data("style-cache",b.attr("style"))}),m.css("display","block"),h.byRow&&!h.target&&(i.each(function(){var b=a(this),c=b.css("display");"inline-block"!==c&&"flex"!==c&&"inline-flex"!==c&&(c="block"),b.data("style-cache",b.attr("style")),b.css({display:c,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),j=e(i),i.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||"")})),a.each(j,function(b,c){var e=a(c),f=0;if(h.target)f=h.target.outerHeight(!1);else{if(h.byRow&&e.length<=1)return void e.css(h.property,"");e.each(function(){var b=a(this),c=b.attr("style"),d=b.css("display");"inline-block"!==d&&"flex"!==d&&"inline-flex"!==d&&(d="block");var e={display:d};e[h.property]="",b.css(e),b.outerHeight(!1)>f&&(f=b.outerHeight(!1)),c?b.attr("style",c):b.css("display","")})}e.each(function(){var b=a(this),c=0;h.target&&b.is(h.target)||("border-box"!==b.css("box-sizing")&&(c+=d(b.css("border-top-width"))+d(b.css("border-bottom-width")),c+=d(b.css("padding-top"))+d(b.css("padding-bottom"))),b.css(h.property,f-c+"px"))})}),m.each(function(){var b=a(this);b.attr("style",b.data("style-cache")||null)}),g._maintainScroll&&a(window).scrollTop(k/l*a("html").outerHeight(!0)),this},g._applyDataApi=function(){var b={};a("[data-match-height], [data-mh]").each(function(){var c=a(this),d=c.attr("data-mh")||c.attr("data-match-height");b[d]=d in b?b[d].add(c):c}),a.each(b,function(){this.matchHeight(!0)})};var h=function(b){g._beforeUpdate&&g._beforeUpdate(b,g._groups),a.each(g._groups,function(){g._apply(this.elements,this.options)}),g._afterUpdate&&g._afterUpdate(b,g._groups)};g._update=function(d,e){if(e&&"resize"===e.type){var f=a(window).width();if(f===b)return;b=f}d?-1===c&&(c=setTimeout(function(){h(e),c=-1},g._throttle)):h(e)},a(g._applyDataApi);var i=a.fn.on?"on":"bind";a(window)[i]("load",function(a){g._update(!1,a)}),a(window)[i]("resize orientationchange",function(a){g._update(!0,a)})});PKZ#7plugins/catch-web-tools/admin/js/catch-updater-admin.jsnu[/* * Custom Js for hide and show buttons * * @package catch-updater * * @since catch-updater 0.1 */ jQuery( document ).ready( function( $ ) { $( '#more_options_show_button' ).click( function() { $( '#more_options' ).show(); $( '#more_options_hide_button' ).show(); $( this ).hide(); return false; }); $( '#more_options_hide_button' ).click( function() { $( '#more_options' ).hide(); $( '#more_options_show_button' ).show(); $( this ).hide(); return false; }); })PKZ7Taa-plugins/catch-web-tools/admin/js/admin.min.jsnu[function invertColor(a){var b=a;return b=b.substring(1),b=parseInt(b,16),b^=16777215,b=b.toString(16),b=("000000"+b).slice(-6),b="#"+b}jQuery(document).ready(function(a){if(a("#setting-error-settings_updated").hide(),a(".option-content").hide(),a(".open").show(),a("h3.option-toggle").click(function(){return a(this).toggleClass("option-active").next().slideToggle("fast"),!1}),setTimeout(function(){a(".fade").fadeOut("slow",function(){a(".fade").remove()})},2e3),a("#catchwebtools_seo_title").length){var b=a("#catchwebtools_seo_title").val().length;a("#catchwebtools_seo_title_left").html(70-b),b=a("#catchwebtools_seo_description").val().length,a("#catchwebtools_seo_description_left").html(156-b),a("#catchwebtools_seo_title").keypress(function(){var b=a(this).val().length;a("#catchwebtools_seo_title_left").html(70-b)}),a("#catchwebtools_seo_description").keypress(function(){var b=a(this).val().length;a("#catchwebtools_seo_description_left").html(156-b)})}var c={change:function(b,c){a("#catchwebtools_social_icon_brand_color").val();a(".genericon").css({color:c.color.toString()}),a(".genericon").hover(function(){a(this).css("color","")},function(){a(this).css("color",c.color.toString())})}},d={change:function(b,c){var d=a("#catchwebtools_social_icon_brand_color").val();"hover"!=d&&"hover-static"!=d&&a(".genericon").hover(function(){a(this).css("color",c.color.toString())},function(){a(this).css("color",a("#catchwebtools_social_color").val())})}};a("#catchwebtools_social_color").wpColorPicker(c),a("#catchwebtools_social_hover_color").wpColorPicker(d);var e=a("#catchwebtools_social_color").val(),f=a("#catchwebtools_social_hover_color").val(),g=a("#catchwebtools_social_icon_size").val()+"px",h=a("#catchwebtools_social_icon_brand_color").val();"hover-static"!=h&&(a(".genericon").css({color:e}),a(".genericon").hover(function(){a(this).css("color","")},function(){a(this).css("color",e)})),"hover"!=h&&"hover-static"!=h&&a(".genericon").hover(function(){a(this).css("color",f)},function(){a(this).css("color",e)}),a(".genericon").css({"font-size":g,width:g,height:g}),a("#catchwebtools_social_icon_size").change(function(){var b=this.value+"px";a(".genericon").css({"font-size":b,width:b,height:b})}),"hover-static"==h?(a("#catchwebtools_social_color_hover_main").hide(),a("#catchwebtools_social_color_main").hide()):"hover"==h?(a("#catchwebtools_social_color_hover_main").hide(),a("#catchwebtools_social_color_main").show()):(a("#catchwebtools_social_color_hover_main").show(),a("#catchwebtools_social_color_main").show()),a("#catchwebtools_social_icon_brand_color").change(function(){var b=a("#catchwebtools_social_icon_brand_color").val();a(".catchwebtools-social").removeClass("social-brand-hover"),a(".catchwebtools-social").removeClass("social-brand-static"),"hover-static"==b?(a("#catchwebtools_social_color_hover_main").hide(),a("#catchwebtools_social_color_main").hide(),a(".catchwebtools-social").addClass("social-brand-static"),a(".genericon").css({color:""}),a(".genericon").hover(function(){a(this).css("color","")},function(){a(this).css("color","")})):"hover"==b?(a("#catchwebtools_social_color_hover_main").hide(),a("#catchwebtools_social_color_main").show(),a(".catchwebtools-social").addClass("social-brand-hover")):(a("#catchwebtools_social_color_hover_main").show(),a("#catchwebtools_social_color_main").show())})}),function(a){"use strict";jQuery(document).ready(function(a){a("#setting-error-settings_updated").hide(),setTimeout(function(){a(".fade").fadeOut("slow",function(){a(".fade").remove()})},2e3);var b;a(".st_upload_button").click(function(c){c.preventDefault();var d,e,f,g;d=a(this).val(),e=a(this),f=a(this).attr("ref"),b=wp.media.frames.file_frame=wp.media({title:d,button:{text:f},multiple:!0}),b.on("select",function(){g=b.state().get("selection").first().toJSON(),e.prev().val(g.url)}),b.open()});var c={change:function(b,c){a(".dashicon_to_top_admin").css({color:c.color.toString()})}};a(".catchwebtools_to_top_options_icon_color").wpColorPicker(c);var d={change:function(b,c){a(".dashicon_to_top_admin").css({"background-color":c.color.toString()})}};a(".catchwebtools_to_top_options_icon_bg_color").wpColorPicker(d),a("#catchwebtools_to_top_options_border_radius").change(function(){a(".dashicon_to_top_admin").css({"-webkit-border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%","-moz-border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%","border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%"})}),a("#catchwebtools_to_top_options_icon_size").change(function(){a(".dashicon_to_top_admin").css({"font-size":a("#catchwebtools_to_top_options_icon_size").val()+"px",height:a("#catchwebtools_to_top_options_icon_size").val()+"px",width:a("#catchwebtools_to_top_options_icon_size").val()+"px"})}),a(".dashicon_to_top_admin").css({"-webkit-border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%","-moz-border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%","border-radius":a("#catchwebtools_to_top_options_border_radius").val()+"%",color:a(".catchwebtools_to_top_options_icon_color").val(),"background-color":a(".catchwebtools_to_top_options_icon_bg_color").val(),"font-size":a("#catchwebtools_to_top_options_icon_size").val()+"px",height:a("#catchwebtools_to_top_options_icon_size").val()+"px",width:a("#catchwebtools_to_top_options_icon_size").val()+"px"}),a("#catchwebtools_to_top_options_style").change(function(){var b;b=a(this).val(),"image"==b?(a(".catchwebtools_to_top_options_image_settings").show(),a(".catchwebtools_to_top_options_icon_settings").hide()):(a(".catchwebtools_to_top_options_icon_settings").show(),a(".catchwebtools_to_top_options_image_settings").hide())});var e;e=a("#catchwebtools_to_top_options_style").val(),"image"==e?(a(".catchwebtools_to_top_options_image_settings").show(),a(".catchwebtools_to_top_options_icon_settings").hide()):(a(".catchwebtools_to_top_options_icon_settings").show(),a(".catchwebtools_to_top_options_image_settings").hide())})}(jQuery),function(a,b,c){var d,e=a.getElementsByTagName(b)[0];a.getElementById(c)||(d=a.createElement(b),d.id=c,d.src="//connect.facebook.net/en_US/all.js#xfbml=1&appId=276203972392824",e.parentNode.insertBefore(d,e))}(document,"script","facebook-jssdk"),function(a,b,c){var d,e=a.getElementsByTagName(b)[0];a.getElementById(c)||(d=a.createElement(b),d.id=c,d.src="//platform.twitter.com/widgets.js",e.parentNode.insertBefore(d,e))}(document,"script","twitter-wjs");PKZm:5plugins/catch-web-tools/admin/js/jquery.cookie.min.jsnu[/** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i
    PKZ+s 4plugins/catch-web-tools/admin/modules/navigation.phpnu[ PKZ PKZ1223plugins/catch-web-tools/admin/modules/opengraph.phpnu[

      '. __( 'Check to Enable', 'catch-web-tools' ); echo '

    '. __( 'Add Open Graph meta data to your site\'s <head> section. You can specify some of the IDs that are sometimes needed below:', 'catch-web-tools' ) . '

    '; echo '

    '. __( 'Open Graph tags for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages\' and Posts\' add/edit sections once this function is enabled.', 'catch-web-tools' ) . '

    '; ?>

    '; ?>

    og:title tag

    '; ?>
    '; echo ''; foreach($options as $option){ echo ''; } echo '

    og:type tag

    '; ?>

    og:url tag

    '; ?>
    ' .$text. '

    og:description tag

    '; ?>

    og:site_name tag

    '; ?>

    og:locale tag

    '; ?>

    '; echo '

    '. __( 'This image is used if the post/page being shared does not contain any images.', 'catch-web-tools' ) .'

    '; ?>

    ' .$text. ''; echo '

    '. __( 'For any other type of Open Graph tags.', 'catch-web-tools' ) . '

    '; echo '

    '. __( 'E.g:', 'catch-web-tools' ) . '<meta property="og:audio" content="http://example.com/sound.mp3" />'; echo '

    '. __( 'If you do not know what this is, you should probably leave it empty.', 'catch-web-tools' ); ?>

    PKZZY!!3plugins/catch-web-tools/admin/modules/catch-ids.phpnu[

    ' . esc_html__( 'Catch IDs', 'catch-web-tools' ) . ''; echo $settings_link; ?>

    > >

    >
    > $value ) : ?>

    >

    >

    >

    >

    >
    PKZ&113plugins/catch-web-tools/admin/modules/webmaster.phpnu[

      '. esc_html__( 'Check to Enable', 'catch-web-tools' ); ?>

    wp_head():'?> ' .esc_textarea( $text ). ''; echo '

    '. esc_html__( 'The', 'catch-web-tools' ) .'wp_head()'. esc_html__( 'hook executes immediately before the closing tag in the document source.' , 'catch-web-tools' ) .'

    '; ?>
    wp_footer():'?> ' . esc_html( $text ). ''; echo '

    '. esc_html__( 'The', 'catch-web-tools' ) .'wp_footer()'. esc_html__( 'hook executes immediately before the closing tag in the document source.' , 'catch-web-tools' ) .'

    '; ?>

    '. esc_html__( 'You can use the boxes below to verify with different Webmaster Tools. If your site is already verified, you can skip this section. Enter the verify meta values for' , 'catch-web-tools' ) .':

    ';?>
    ' . esc_html__( 'Enter your Google ID only', 'catch-web-tools' ) .'' ; ?>
    '. esc_html__( 'Enter your Bing ID only', 'catch-web-tools' ) .'' ; ?>
    '. esc_html__( 'Enter your Alexa ID only', 'catch-web-tools' ) .'' ; ?>
    '. esc_html__( 'Enter your Pinterest Site Verification ID only', 'catch-web-tools' ) .'' ; ?>
    '. esc_html__( 'Enter your Yandex Verification ID only', 'catch-web-tools' ) .'' ; ?>
    PKZ" y-plugins/catch-web-tools/admin/modules/seo.phpnu[

      '. __( 'Check to Enable', 'catch-web-tools' ); echo '

    '. __( 'Please make sure you have disabled all the SEO plugins before activating Catch Work Tools SEO Module.', 'catch-web-tools' ) . '

    '; echo '

    '. __( 'SEO for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages\' and Posts\' add/edit sections once this function is enabled. Same settings will show up in Categories\' add/edit pages.', 'catch-web-tools' ) . '

    '; ?>

    '; echo '

    '. __( 'Title display in search engines is limited to 70 characters. ', 'catch-web-tools' ) . '70 ' . __( 'character(s) left.', 'catch-web-tools' ) . '

    '; ?>
    ' .$text. ''; echo '

    '. __( 'The meta description is limited to 156 characters. ', 'catch-web-tools' ) . '156 ' . __( 'character(s) left.', 'catch-web-tools' ) . '

    '; ?>
    ' .$text. ''; ?>
    'catchwebtools_seo[author]', 'selected' => $text, 'show_option_none' => 'Disable', // string ) ); ?>
    PKZ^^0plugins/catch-web-tools/admin/modules/to-top.phpnu[

    ' . esc_html__( 'To Top', 'catch-web-tools' ) . ''; echo $settings_link; ?>

    ' . esc_html__( 'Check to Enable','catch-web-tools' ); ?>
    px'; echo '

    '. esc_html__( 'Number of pixels to be scrolled before the button appears', 'catch-web-tools' ) .'

    '; ?>
    %'; ?>
    '; echo ''; echo ''; echo ''; echo ''; echo ''; ?>

    '; echo ''; echo ''; echo ''; echo ''; echo ''; ?>
    '; ?>
    '; ?>
    px'; ?>
    %'; echo '

    '. esc_html__( '0 will make the icon background square, 50 will make it a circle', 'catch-web-tools' ) .'

    '; ?>

    px'; ?>
    '; ?>

    '; echo ''; echo ''; echo ''; echo ''; echo ''; ?>
    px'; ?>
    px'; ?>
    ' . esc_html__( 'Check to Enable','catch-web-tools' ); echo '

    ' . esc_html__( 'Button will be shown on admin section', 'catch-web-tools' ) .'

    '; ?>
    ' . esc_html__( 'Check to Enable','catch-web-tools' ); ?>
    sec(s)'; echo '

    '. esc_html__( 'Button will be auto hidden after this duration in seconds, if enabled', 'catch-web-tools' ) .'

    '; ?>
    ' . esc_html__( 'Check to Enable','catch-web-tools' ); echo '

    ' . esc_html__( 'Button will be hidden on small devices when the width below matches', 'catch-web-tools' ) .'

    '; ?>
    px'; echo '

    '. esc_html__( 'Button will be hidden on devices with lesser or equal width', 'catch-web-tools' ) .'

    '; ?>

    ' . esc_html__( 'Check to Reset All Settings','catch-web-tools' ); echo '

    ' . esc_html__( 'Caution: All data will be lost', 'catch-web-tools' ) .'

    '; ?>
    PKZvSAA5plugins/catch-web-tools/admin/modules/main-footer.phpnu[
    PKZWJJ3plugins/catch-web-tools/admin/modules/dashboard.phpnu[

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); echo ' '; echo '' . esc_html__( 'Upload Theme', 'catch-web-tools' ) . ''; echo ' '; echo '' . esc_html__( 'Upload Plugin', 'catch-web-tools' ) . ''; } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } else : ?>

    ', '' ); ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    '; submit_button( __( 'Deactivate', 'catch-web-tools' ), 'secondary', 'submit', false ); echo ' '; } else { echo ''; submit_button( __( 'Activate', 'catch-web-tools' ), 'primary', 'submit', false ); } ?>

    >

    ' . __( 'Caution!!! A user with username: admin exists, need to rename this username or remove it', 'catch-web-tools' ) . '

    '; } else { echo '

    ' . __( 'Congratulations!!! You do not have any users with admin as username', 'catch-web-tools' ) . '

    '; } ?> prefix ) { echo '

    ' . __( 'Caution!!! WordPress Table Prefix is "wp_", need to change this prefix', 'catch-web-tools' ) . '

    '; } else { echo '

    ' . __( 'Congratulations!!! WordPress Table Prefix is not "wp_"', 'catch-web-tools' ) . '

    '; } ?> current, $wp_version, '<=' ) ) { echo '

    ' . __( 'Congratulations!!! Your WordPress version is the latest.', 'catch-web-tools' ) . '

    '; } else { echo '

    ' . sprintf( __( 'Caution!!! You do not have the current version of WordPress installed. The Current version is %1$s. Your installation version is %2$s Please update it %3$shere%4$s.', 'catch-web-tools' ), $wp_version, $update[0]->current, '', '' ) . '

    '; } //echo print_r( get_core_updates() ) ; ?>
    PKZO<2 2 4plugins/catch-web-tools/admin/modules/custom-css.phpnu[

    ' .$text. ''; echo '

    '. __( 'You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.', 'catch-web-tools' ) . '

    '; ?>

    PKZC6plugins/catch-web-tools/admin/modules/social-icons.phpnu[

      ' . __( 'Check to Enable', 'catch-web-tools' ); echo '

    ' ?>

    • [catchthemes_social_icons]

      :
      <?php if ( function_exists( 'catchwebtools_social_icons' ) ) catchwebtools_social_icons(); ?>

      <?php echo do_shortcode( '[catchthemes_social_icons]' ); ?>
    '; ?>

    $value ) { ?> >
    px'; ?>
    '; echo ''; echo ''; echo ''; echo ''; ?>
    '; ?>
    '; ?>
    ' . $value; ?> '; ?>
    PKZ m5++0plugins/catch-web-tools/admin/modules/header.phpnu[

    PKZrC2plugins/catch-web-tools/admin/css/metabox-tabs.cssnu[/*! jQuery UI - v1.10.3 - 2013-10-06 * http://jqueryui.com * Includes: jquery.ui.core.css, jquery.ui.tabs.css, jquery.ui.theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ /* Layout helpers ----------------------------------*/ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } .ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; border-collapse: collapse; } .ui-helper-clearfix:after { clear: both; } .ui-helper-clearfix { min-height: 0; /* support: IE7 */ } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } .ui-front { z-index: 100; } /* Interaction Cues ----------------------------------*/ .ui-state-disabled { cursor: default !important; } /* Icons ----------------------------------*/ /* states and images */ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } /* Misc visuals ----------------------------------*/ /* Overlays */ .ui-widget-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; } .ui-tabs { position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ padding: .2em; } .ui-tabs .ui-tabs-nav { margin: 0; padding: 0; } .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom-width: 0; padding: 0; white-space: nowrap; } .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } .ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; } .ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; } .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } /* Component containers ----------------------------------*/ .ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } .ui-widget .ui-widget { font-size: 1em; } .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } .ui-widget-content { color: #222; } .ui-widget-content a { color: #222222; } .ui-widget-header { color: #222; font-weight: bold; } .ui-widget-header a { color: #222222; } /* Interaction states ----------------------------------*/ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { background: #f9f9f9; font-weight: normal; color: #555555; } .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; } .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { background: #dadada; font-weight: normal; color: #212121; } .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #212121; text-decoration: none; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { background: #fff; border: 1px solid #ddd; font-weight: normal; color: #212121; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; } /* Interaction Cues ----------------------------------*/ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #fcefa1; background: #fbf9ee; color: #363636; } .ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #363636; } .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #cd0a0a; background: #fef1ec; color: #cd0a0a; } .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } .ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ } /* Additional */ #catchwebtools_seo_metabox a { cursor: pointer; outline: none; } .ui-tabs .ui-tabs-panel { border: 1px solid #ddd; background-color: #fff; }PKZ`Ҵ//+plugins/catch-web-tools/admin/css/admin.cssnu[/* Self Clearing Goodness */ #catchwebtools:after, #plugin-option-title:after, #plugin-support:after, #catch_ad_tabs:after, .module-container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; } .clear { clear: both; } #catchwebtools { background-color: #fff; box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3); margin: 10px 20px 10px 0; padding-bottom: 30px; } #catchwebtools .updated { float: right; } #catchwebtools .form-table th { padding-left: 10px; } #plugin-option-header { background-color: #3A3D41; display: block; padding: 15px 20px; overflow: hidden; } #plugin-social { float: right; width: 330px; } #plugin-social ul li { display: inline; float: right; } #plugin-option-title { float: left; } #plugin-option-title .title { color: #fff; float: left; font-size: 21px; line-height: 53px; padding: 0 10px 0 0; text-shadow: none; } #plugin-option-title .logo { float: left; padding: 0; } #plugin-support { float: right; text-align: right; } #plugin-support ul li { display: inline; } #plugin-support a { opacity: 0.8; -moz-opacity: 0.8; } #plugin-support a:hover { opacity: 1; -moz-opacity: 1; } #catchwebtools .tabNavigation { background-color: #000; clear: both; margin: 0 auto 10px; text-align: center; font: 13px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; line-height: 18px; } #catchwebtools .tabNavigation li { display: inline-block; margin: 0; } #catchwebtools .tabNavigation li a { color: #EEEEEE; display: block; font-size: 15px; line-height: 38px; outline: none; padding: 0 20px; text-decoration: none; text-transform: uppercase; } #catchwebtools .tabNavigation li a:hover, #catchwebtools .tabNavigation li.ui-state-active a { background-color: #dfdfdf; color: #000; } #catchwebtools .option-container { margin: 0 auto; width: 90%; } #catchwebtools .tabNavigation .ui-tabs-selected a { background: url( '../../../../../wp-admin/images/menu-bits.gif' ) repeat-x left top #E0E0E0; border-color: #aaa !important; color: #000; } #catchwebtools #videos textarea, #howimadeit textarea { height: 150px; width: 400px; } #catchwebtools #videos textarea, #howimadeit textarea { height: 150px; width: 400px; } #catchwebtools #faq ul li { list-style:disc inside none; } #sociallinks .form-table th { padding: 0px; vertical-align: middle; } #catchwebtools .form-table select[multiple] { height: 200px; } #catchwebtools .form-table label.box { float: left; margin-right: 20px; } #catchwebtools .form-table label.box:last-child { margin-right: 0; } h3.option-toggle { margin: 20px 0 0 0; border:1px solid #dfdfdf; background-color: #F1F1F1; background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); background-image: -o-linear-gradient(top, #f9f9f9, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); background-image: linear-gradient(top, #f9f9f9, #ececec); font-size: 15px; font-weight: normal; float: left; width: 100%; } h3.option-toggle a { background:url(../images/arrow-down.png) 96% 50% no-repeat; color: #464646; text-decoration: none; display: block; text-shadow:#fff 0 1px 0; padding: 12px; } h3.option-active a { background:url(../images/arrow-up.png) 96% 50% no-repeat; color: #000; } .option-content { margin: 0; padding: 0; border: 1px solid #dfdfdf; border-top:none; background: #fcfcfc; overflow: hidden; font-size: 12px; clear: both; color: #333; padding: 21px; } /* Genericon */ .catchwebtools-social .genericon { vertical-align: middle; font-size: 18px; padding-right: 7px; margin-top: -3px; display: inline; } /* Dashboard */ .wrap #plugin-description h2 { color: #464646; font-size: 18px; padding-bottom: 0; } .wrap #plugin-description p { font-size: 13px; line-height: 1.5; margin-top: 5px; } .module-container .catch-modules { border: 1px solid #dfdfdf; } .module-container .module-wrap { display: inline; float: left; margin-bottom: 20px; position: relative; width: 100%; box-sizing: border-box; } .module-container .catch-modules-long .updated { float: none; } .module-container .catch-modules p { margin: 0 0 10px; } .module-container .module-content p:last-of-type { margin-bottom: 0; } .module-container .catch-actions { margin-top: 14px; } .module-container .catch-actions a, .module-container .catch-actions .button { font-weight: bold; } /* Hover Effects For Social Icon */ .catchwebtools-social.social-brand-hover .genericon.genericon-feed:hover, .catchwebtools-social.social-brand-static .genericon.genericon-feed { border-color: #dc622c; color: #dc622c; } .catchwebtools-social.social-brand-hover .genericon.genericon-codepen:hover, .catchwebtools-social.social-brand-static .genericon.genericon-codepen { border-color: #000; color: #000; } .catchwebtools-social.social-brand-hover .genericon.genericon-digg:hover, .catchwebtools-social.social-brand-static .genericon.genericon-digg { border-color: #333; color: #333; } .catchwebtools-social.social-brand-hover .genericon.genericon-dribbble:hover, .catchwebtools-social.social-brand-static .genericon.genericon-dribbble { border-color: #ea4c89; color: #ea4c89; } .catchwebtools-social.social-brand-hover .genericon.genericon-dropbox:hover, .catchwebtools-social.social-brand-static .genericon.genericon-dropbox { border-color: #2281cf; color: #2281cf; } .catchwebtools-social.social-brand-hover .genericon.genericon-facebook:hover, .catchwebtools-social.social-brand-static .genericon.genericon-facebook { border-color: #3b5998; color: #3b5998; } .catchwebtools-social.social-brand-hover .genericon.genericon-flickr:hover, .catchwebtools-social.social-brand-static .genericon.genericon-flickr { border-color: #ff0084; color: #ff0084; } .catchwebtools-social.social-brand-hover .genericon.genericon-foursquare:hover, .catchwebtools-social.social-brand-static .genericon.genericon-foursquare { border-color: #f94877; color: #f94877; } .catchwebtools-social.social-brand-hover .genericon.genericon-googleplus:hover, .catchwebtools-social.social-brand-static .genericon.genericon-googleplus { border-color: #dd4b39; color: #dd4b39; } .catchwebtools-social.social-brand-hover .genericon.genericon-github:hover, .catchwebtools-social.social-brand-static .genericon.genericon-github { border-color: #4183c4; color: #4183c4; } .catchwebtools-social.social-brand-hover .genericon.genericon-instagram:hover, .catchwebtools-social.social-brand-static .genericon.genericon-instagram { border-color: #3f729b; color: #3f729b; } .catchwebtools-social.social-brand-hover .genericon.genericon-linkedin:hover, .catchwebtools-social.social-brand-static .genericon.genericon-linkedin { border-color: #007bb6; color: #007bb6; } .catchwebtools-social.social-brand-hover .genericon.genericon-pinterest:hover, .catchwebtools-social.social-brand-static .genericon.genericon-pinterest { border-color: #cb2027; color: #cb2027; } .catchwebtools-social.social-brand-hover .genericon.genericon-pocket:hover, .catchwebtools-social.social-brand-static .genericon.genericon-pocket { border-color: #f13753; color: #f13753; } .catchwebtools-social.social-brand-hover .genericon.genericon-polldaddy:hover, .catchwebtools-social.social-brand-static .genericon.genericon-polldaddy { border-color: #bc0b0b; color: #bc0b0b; } .catchwebtools-social.social-brand-hover .genericon.genericon-reddit:hover, .catchwebtools-social.social-brand-static .genericon.genericon-reddit { border-color: #ff4500; color: #ff4500; } .catchwebtools-social.social-brand-hover .genericon.genericon-stumbleupon:hover, .catchwebtools-social.social-brand-static .genericon.genericon-stumbleupon { border-color: #eb4924; color: #eb4924; } .catchwebtools-social.social-brand-hover .genericon.genericon-tumblr:hover, .catchwebtools-social.social-brand-static .genericon.genericon-tumblr { border-color: #32506d; color: #32506d; } .catchwebtools-social.social-brand-hover .genericon.genericon-twitter:hover, .catchwebtools-social.social-brand-static .genericon.genericon-twitter { border-color: #00aced; color: #00aced; } .catchwebtools-social.social-brand-hover .genericon.genericon-vimeo:hover, .catchwebtools-social.social-brand-static .genericon.genericon-vimeo { border-color: #aad450; color: #aad450; } .catchwebtools-social.social-brand-hover .genericon.genericon-vk:hover, .catchwebtools-social.social-brand-static .genericon.genericon-vk { border-color: #45668e; color: #45668e; } .catchwebtools-social.social-brand-hover .genericon.genericon-wordpress:hover, .catchwebtools-social.social-brand-static .genericon.genericon-wordpress { border-color: #21759b; color: #21759b; } .catchwebtools-social.social-brand-hover .genericon.genericon-youtube:hover, .catchwebtools-social.social-brand-static .genericon.genericon-youtube { border-color: #bb0000; color: #bb0000; } .catchwebtools-social.social-brand-hover .genericon.genericon-mail:hover, .catchwebtools-social.social-brand-static .genericon.genericon-mail { border-color: #1d62f0; color: #1d62f0; } .catchwebtools-social.social-brand-hover .genericon.genericon-spotify:hover, .catchwebtools-social.social-brand-static .genericon.genericon-spotify { border-color: #81b900; color: #81b900; } .catchwebtools-social.social-brand-hover .genericon.genericon-twitch:hover, .catchwebtools-social.social-brand-static .genericon.genericon-twitch { border-color: #6441a5; color: #6441a5; } .catchwebtools-social.social-brand-hover .genericon.genericon-website:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-phone:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-handset:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-card:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-cloud:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-link:hover, .catchwebtools-social.social-brand-static .genericon.genericon-website, .catchwebtools-social.social-brand-static .genericon.genericon-phone, .catchwebtools-social.social-brand-static .genericon.genericon-handset, .catchwebtools-social.social-brand-static .genericon.genericon-card, .catchwebtools-social.social-brand-static .genericon.genericon-cloud, .catchwebtools-social.social-brand-static .genericon.genericon-link,{ background-color: #42b41e; border-color: #42b41e; } /*Custom Styles*/ .catch-modules .module-header, .catch-modules-long .module-header { background-color: #f3f3f3; padding: 11px 18px; } .catch-modules .module-header h3, .module-container .catch-modules-long h3 { margin: 0; } .module-content { padding: 11px 18px; } .module-container .module-wrap.catch-modules-long { width: 100%; padding-right: 0; } .module-container .catch-actions .button { margin-top: 5px; margin-right: 5px; } .module-container .module-wrap.catch-modules-long, .wrap p.submit { margin-bottom: 0; padding-bottom: 0; } .form-table { margin-top: 0; table-layout: fixed; } .form-table th, .form-table td { padding-top: 0; margin-top: 0; padding-left: 0; padding-bottom: 14px; } .form-table td { padding-right: 0; } .form-table .catchwebtools-social th { padding-right: 14px; } .form-table .catchwebtools-social { padding-bottom: 15px; } .wp-core-ui .button, .wp-core-ui .button-primary, .wp-core-ui .button-secondary { white-space: normal; height: auto; } input[type="text"], input[type="search"], input[type="password"], input[type="email"], textarea { width: 100%; } .notice.notice-warning { padding: 12px 0 12px 12px; box-shadow: none; } #module-disabled .module-content { margin-top: 21px; } PKZ<</plugins/catch-web-tools/admin/css/catch-ids.cssnu[/** * All of the CSS for your admin-specific functionality should be * included in this file. */ /*-------------------------------------------------------------- >>> TABLE OF CONTENTS: ---------------------------------------------------------------- # Typography # Layout # Clearing # Lists # Media # Links # Header # Content # Toggle Switch # Other Products # Footer # Media Queries ## >= 320px ## >= 768px ## >= 1024px ## >= 1280px --------------------------------------------------------------*/ /*-------------------------------------------------------------- # Typography --------------------------------------------------------------*/ .catchids-main, .catchids-main button, .catchids-main input, .catchids-main selcatchids, .catchids-main textarea { color: #1a1a1a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; font-size: 1rem; font-weight: 400; line-height: 1.5; word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } .catchids-main h1 { font-size: 24px; font-size: 1.5rem; } .catchids-main h2 { font-size: 20px; font-size: 1.25rem; } .catchids-main h3 { font-size: 18px; font-size: 1.125rem; } .catchids-main h4 { font-size: 16px; font-size: 1rem; } .catchids-main h5 { font-size: 14px; font-size: 0.875rem; } .catchids-main h6 { font-size: 13px; font-size: 0.8125rem; } .catchids-main p { margin: 0 0 1.5em; } /*-------------------------------------------------------------- # Layout --------------------------------------------------------------*/ .catchids-main { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .catchids-main *, .catchids-main *:before, .catchids-main *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; } .catchids-main { background-color: #fff; } /*-------------------------------------------------------------- # Clearing --------------------------------------------------------------*/ .catchids-main .clear:before, .catchids-main .clear:after { content: ""; display: table; } .catchids-main .clear:after { clear: both; } /*-------------------------------------------------------------- # Lists --------------------------------------------------------------*/ .catchids-main .ul, .catchids-main ol { margin: 0 0 1.5em 2em; padding: 0; } .catchids-main li { margin: 0; } .catchids-main ul { list-style: disc; } .catchids-main ol { list-style: decimal; } .catchids-main li > ul, .catchids-main li > ol { margin-top: 0.55em; margin-left: 1.5em; margin-bottom: 0; } .catchids-main li { margin-bottom: 0.55em; } .catchids-main dt { font-weight: 700; } .catchids-main dd { margin: 0 1.5em 1.5em; } /*-------------------------------------------------------------- # Media --------------------------------------------------------------*/ .catchids-main img { height: auto; /* Make sure images are scaled corrcatchidsly. */ max-width: 100%; /* Adhere to container width. */ vertical-align: middle; } /*-------------------------------------------------------------- # Links --------------------------------------------------------------*/ .catchids-main a { color: #0085c3; cursor: pointer; text-decoration: none; } .catchids-main a:hover, .catchids-main a:focus, .catchids-main a:active { color: #444; text-decoration: underline; } .catchids-main a:focus { outline: thin dotted; } .catchids-main a:hover, .catchids-main a:active { outline: 0; } /*-------------------------------------------------------------- # Header --------------------------------------------------------------*/ .catchids-main #masthead { background: #00618d; background: -webkit-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: -o-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: -moz-radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); background: radial-gradient(circle farthest-side at center bottom, #0085c3, #00618d 110%); } .catchids-main #masthead .wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow : column wrap; } .catchids-main #plugin-description { margin: 0 auto; max-width: 960px; padding-bottom: 20px; text-align: center; } .catchids-main #plugin-description p:last-child { margin-bottom: 0; } .catchids-main #site-branding { display: block; order: 1; padding: 30px 20px; text-align: center; width: 100%; } .catchids-main .site-title { font-family: "Trebuchet MS", Helvetica, sans-serif; text-transform: capitalize; } .catchids-main .site-title a { color: #fff; } .catchids-main .site-title a:hover, .catchids-main .site-title a:focus { text-decoration: none; } .catchids-main .site-title-additional { color: #006ea4; } .catchids-main .setting { padding: 0 7px; color: #fff; } /*-------------------------------------------------------------- # Content --------------------------------------------------------------*/ .catchids-main .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; justify-content: center; margin: 0 auto; max-width: 680px; } .catchids-main .module-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content:flex-start; } .cwt .catch-ids-options { border-top: 1px solid #dfdfdf; padding-top: 20px; margin-top: 20px; } #module-status { margin-bottom: 0; } #module-status .module-header { background-color: transparent; padding-top: 0; padding-bottom: 0; justify-content: flex-start; } #module-status .module-header h3 { margin-right: 90px; } #module-status .loader { right: inherit; left: 170px; } .catchids-main .module-header { background-color: #f3f3f3; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; padding: 11px 18px; position: relative; } .catchids-main .module-header.active { -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; o-transition: all 0.2s ease; transition: all 0.2s ease; } .catchids-main .module-header.inactive { -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; o-transition: all 0.2s ease; transition: all 0.2s ease; } .catchids-main .module-title, .catchids-main .other-catchthemes-products .module-content { color: #23282d; font-family: "Trebuchet MS", Helvetica, sans-serif; font-weight: normal; } .catchids-main .catch-modules { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; margin-bottom: 20px; } .catchids-main #module-disabled { margin-bottom: 0; } .catchids-main #module-disabled.catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100% } .catchids-main .catch-module-long { background-color: #f9f9f9; border-radius: 3px; border: 2px solid #ccc; border-top: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column wrap; flex-flow:column wrap; } .catchids-main .module-content p:last-child { margin-bottom: 0; } .catchids-main #main-nav .dashicons { line-height: 2.7; } /*-------------------------------------------------------------- # Toggle Switch --------------------------------------------------------------*/ .catchids-main .switch { -webkit-box-flex: 0; -webkit-flex-grow: 0; -moz-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; position: relative; float: none; right: 0; top: 2px; } .catchids-main .module-title.active { background-color: #0085c3; } .catchids-main .switch label { background-color: #48a348; border-radius: 11px; cursor: pointer; height: 16px; right:0; position: absolute; top: 3px; width: 30px; } .catchids-main .inactive .switch label { background-color: #ccc; } .catchids-main .switch input[type="checkbox"] { visibility: hidden; display: none; } .catchids-main .switch label:after { background-color: #fff; border-radius: 100%; content: ''; height: 12px; left: 2px; position: absolute; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; top: 2px; width: 12px; } .catchids-main .switch input[type="checkbox"]:checked + label:after { left: 16px; background-color: #fff; } .catchids-main .loader { border: 5px solid #48a348; border-radius: 50%; border-top: 2px solid transparent; width: 20px; height: 20px; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; position: absolute; right: 60px; display: none; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /*-------------------------------------------------------------- # Other Products --------------------------------------------------------------*/ .catchids-main .other-catchthemes-products { background-color: #f9f9f9; clear: both; display: block; } .catchids-main .other-catchthemes-products .module-content { border: none; padding: 0; position: relative; text-align: center; } .catchids-main .other-catchthemes-products .catch-modules { background-color: #fff; border: 1px solid #dedede; } .catchids-main .other-catchthemes-products .catch-modules a { color: #444; display: block; padding: 1em; } .catchids-main .other-catchthemes-products .catch-modules a:hover, .catchids-main .other-catchthemes-products .catch-modules a:focus { color: #0085c3; text-decoration: none; } .catchids-main .other-catchthemes-products .catch-modules .more-details { background-color: #00618d; color: #fff; padding: 16px; position: absolute; left: 25%; font-size: 15px; font-size: 0.9375rem; right: 25%; text-align: center; top: 35%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition: opacity 0.1s ease-in-out; transition: opacity 0.1s ease-in-out; } .catchids-main .other-catchthemes-products .module-content:hover .more-details, .catchids-main .other-catchthemes-products .module-content:focus .more-details { color: #fff; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; text-decoration: none; } .catchids-main .other-catchthemes-products .catch-modules .modules-thumbnail { padding: 0; } /*-------------------------------------------------------------- # Footer --------------------------------------------------------------*/ .catchids-main .footer-navigation { font-family: "Trebuchet MS", Helvetica, sans-serif; } .catchids-main .menu-footer-container { padding: 10px 20px 30px; } .catchids-main .footer-navigation ul { list-style: none; } .catchids-main .footer-navigation a { color: #444; text-transform: capitalize; padding: 10px 8px 10px 6px; display: block; } .catchids-main .footer-navigation a:hover, .catchids-main .footer-navigation a:focus { color: #0085c3; text-decoration: none; } .catchids-main .site-footer .menu-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; align-items: center; margin: 0; } .catchids-main .site-footer .menu-footer li { margin: 0; } .catch-ids-options.module-container .catch-modules { border: none; } /*-------------------------------------------------------------- # Media Queries --------------------------------------------------------------*/ /*-------------------------------------------------------------- ## >= 320px --------------------------------------------------------------*/ @media screen and (min-width: 20em) { .catchids-main .module-header { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: space-between; -ms-flex-pack: space-between; justify-content: space-between; } .catchids-main .module-title { margin-bottom: 0; } } /*-------------------------------------------------------------- ## >= 768px --------------------------------------------------------------*/ @media screen and (min-width: 48em) { .catchids-main .container { max-width: 100%; } .catchids-main .module-container { -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: space-between; -ms-flex-pack: space-between; justify-content: space-between; } .catchids-main #plugin-description { padding-bottom: 30px; } .catchids-main .catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50% } .catch-ids-options .catch-modules { padding-right: 21px; } .catch-ids-options .catch-modules:nth-child(2n) { padding-right: 0; } .catchids-main .menu-footer-container { padding: 10px 40px 30px; } } /*-------------------------------------------------------------- ## >= 1024px --------------------------------------------------------------*/ @media screen and (min-width: 64em) { .catchids-main h1 { font-size: 32px; font-size: 2rem; } .catchids-main h2 { font-size: 22px; font-size: 1.375rem; } .catchids-main #site-branding { padding: 40px; } .catchids-main .module-container { -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; } .catchids-main .module-container .wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap:wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; } .catchids-main .menu-footer-container { padding: 25px 40px; } .catchids-main .footer-navigation a { padding: 10px; } } /*-------------------------------------------------------------- ## >= 1280px --------------------------------------------------------------*/ @media screen and (min-width: 80em) { .catchids-main, .catchids-main button, .catchids-main input, .catchids-main selcatchids, .catchids-main textarea{ font-size: 18px; font-size: 1.1875rem; } .catchids-main h1 { font-size: 48px; font-size: 3rem; } .catchids-main h2 { font-size: 24px; font-size: 1.5rem; } .catchids-main #plugin-description { padding-bottom: 40px; } .catchids-main #site-branding { padding: 50px; } .catchids-main .footer-navigation a { padding: 10px 10px 10px 13px; } .catchids-main .catch-modules { -webkit-box-flex: 0; -ms-flex: 0 1 33.33%; flex: 0 1 33.33% } .catch-ids-options .catch-modules:nth-child(2n) { padding-right: 21px; } .catch-ids-options .catch-modules:nth-child(3n) { padding-right: 0; } } PKZMM9plugins/catch-web-tools/admin/css/catch-updater-admin.cssnu[/** * Admin Css * * @package catch-updater * * @since catch-updater 0.1 */ .wp-admin.theme-install-php .wrap p.install-help { color: #999; font-size: 18px; font-style: normal; margin: 0; padding: 40px 0 0; text-align: center; } .wp-admin.theme-install-php .wrap .wp-upload-form { background-color: #fafafa; border: 1px solid #e5e5e5; margin: 30px auto; max-width: 380px; padding: 30px; } .wp-admin.theme-install-php .wrap #catch-updater-main { clear: both; display: block; margin: 0; } #catch-updater-main h3, #catch-updater-main p { margin: 0; padding-bottom: 15px; } #catch-updater-main p { padding-top: 10px; } #catch-updater-main #more_options_show_button { margin-bottom: 15px; } #catch-updater-main #install-theme-submit { } #catch-updater-main textarea{ width: 100%; } #catch-updater-main p label { display: inline-block; width: 50%; } #more_options { display: none; } @media only screen and (max-width:1120px) { .wp-admin.theme-install-php .wrap .wp-upload-form { margin:20px 0; max-width:100%; } }PKZ÷A995plugins/catch-web-tools/admin/css/admin-dashboard.cssnu[/** * All of the CSS for your admin-dashboard functionality should be * included in this file. */ .wpcatchtab.active, table td strong { display: block; } .show-more.button { margin: 10px 0 5px 0; } .as-shortcode .new:hover .show-me, .welcome-panel img, .as-shortcode .new > div a, .wpcatchtab.active, #public-usage .content p strong, table td strong { display: block; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100%; } .welcome-panel img { height: 40px; width: 40px; vertical-align: middle; margin: 0 auto 14px auto; } .welcome-panel .welcome-panel-column, .welcome-panel .welcome-panel-column:first-child { max-width: 980px; width: 100%; } /* Form */ .show-more .dashicons { vertical-align: middle; } .button.reset-token, .button.reset-token:hover, .button.reset-token:focus { background-color: #d54e21; border-color: #d54e21; color: #fff; } .button.get-token, .button.get-token:hover, .button.get-token:focus { background-color: #22D41A; border-color: #22D41A; color: #fff; } .as-shortcode .new { position: relative; } .as-shortcode .new .dashicons, .as-shortcode .button { vertical-align: middle; } .as-shortcode .new > div a { margin-bottom: 3px; } .as-shortcode .new>div { display: none; position: absolute; right: -54px; top: -1px; } #welcome-message { border-radius: 4px; margin-right: 20px; margin-top: 10px; padding: 1px 5px; } #access-token .info { padding: 10px 12px; } #access-token .info, #request-queries { line-height: 2; } /* Custom Scripts */ .wrap { position: relative; margin: 25px 20px 0 10px; -ms-word-wrap: break-word; word-wrap: break-word; } .wrap, .welcome-panel p, .welcome-panel .welcome-panel-close::before, .content .widefat td, .content .widefat thead th { color: #23282d; } .welcome-panel .welcome-panel-close::before { left: inherit; right: 10px; z-index: 9; } .welcome-panel { border-left: 4px solid #44b450; margin: 21px 0; padding-bottom: 21px; padding-left: 21px; padding-right: 21px; } .welcome-panel-content { margin-left: 0; } .wrap h1, .wrap h2, .wrap h3, .wrap h4, .wrap h5, .wrap h6, .welcome-panel h3, .wrap p, .welcome-panel-column p, #go-premium ul { margin-top: 0; } .wrap a { text-decoration: none; } .wrap a:hover, .wrap a:focus { opacity: 0.9; } .welcome-panel-column >:last-child, #public-usage .content > div:last-child, #public-usage .content .as-widget >:last-child, #public-usage .content .as-shortcode >:last-child, #public-usage .content .shortcode-option-container > div:last-child { margin-bottom: 0; } .content-wrapper { background-color: #fff; position: relative; } .content-wrapper .content { padding: 21px; } .content-wrapper .button.dismiss { position: absolute; right: 15px; top: 15px; background-color: transparent; border: 0; box-shadow: none; padding: 0; } .content-wrapper h2, .content-wrapper .header h3 { margin: 0; padding: 16px 21px; } .content-wrapper h2, .content-wrapper .header h3, .catch-sidebar-title, .sidebar-spot-inner { border-bottom: 1px solid #ddd; } .content-wrapper h2, .content-wrapper .header h3, .catchp-sidebar-spot h2, .catchp-sidebar-full-width h2, .widefat td, .widefat thead th, .about-text h2 { font-size: 18px; font-size: 1.125rem; line-height: 1.5; } .welcome-panel .button { border: none; background: none; box-shadow: none; } .welcome-panel .welcome-panel-close { text-indent: -9999px; } .welcome-panel .welcome-panel-close::before { font-size: 30px; font-size: 1.875rem; text-indent: 0; } .catchp-content-wrapper { display: table; width: 100%; table-layout: fixed; } .wpcatchtab { display: none; } .widefat thead th, .table-icons { font-weight: 600; } .content-wrapper .catchp-lists li strong { font-weight: 700; } .wrap .content .as-shortcode .shortcode-option-container > div, .about-text h2, .wrap p, .welcome-panel h3 { margin-bottom: 14px; } .dashicons { font-size: 30px; font-size: 1.875rem; height: 30px; width: 30px; } .sidebar-spot-inner ul li, .catchp-sidebar-spot h3 { margin-bottom: 7px; } .wrap .wpcatchtab, #sidebar, .content-wrapper { margin-top: 21px; } .content-wrapper, .sidebar-spot-inner, .sidebar-spot-inner ul, .catch-sidebar-title { margin-bottom: 21px; } .catchp-sidebar-spot, .catchp-sidebar-full-width { float: left; width: 100%; box-sizing: border-box; } .sidebar-spot-inner { padding-bottom: 21px; } .catchp-lists:before, .catchp-lists:after, .content-wrapper:before, .content-wrapper:after, .content-wrapper .content:before, .content-wrapper .content:after { content: ""; display: table; table-layout: fixed; } .catchp-lists:after, .content-wrapper:after, .content-wrapper .content:after { clear: both; } .catchp-lists li { position: relative; padding-left: 21px; } .catchp-lists li:before { content:"\2713\0020"; left: 0; font-weight: 700; position: absolute; } #pro-screenshot .catchp-lists li { padding-left: 0; } #pro-screenshot .catchp-lists li::before { content: none; } .wp-ui-highlight { background-color: #0073aa; } /*Sidebar*/ .catch-sidebar-title { padding-bottom: 10px; } .catch-sidebar-title, .catchp-sidebar-spot h3 { font-size: 14px; font-size: 0.875rem; font-weight: 700; } .catchp-sidebar-spot h3 { color: #444; } /*For Table*/ .table-icons { font-size: 21px; font-size: 1.3125rem; display: inline-block; } .icon-green, .highlighted { color: #48a348; } .icon-red { color: #c7353e; } #title, #pro, #free, .fixed .column-free, .fixed .column-pro, .catchp-footer { text-align: center; } img { height: auto; max-width: 100%; } table { border-collapse: collapse; border-spacing: 0; } table thead th { padding: 14px; } #premium-extensions table, #premium-extensions th, #premium-extensions td { border: 1px solid #ddd; } table td strong, table td p { letter-spacing: 0.01em; } dd, li { margin-bottom: 21px; } .widefat td p, .catchp-lists li p { margin-top: 7px; } .fixed .column-free, .fixed .column-pro { width: 15%; } .fixed .column-free, .fixed .column-pro, .widefat td { vertical-align: middle; } .widefat td, .widefat thead th { padding: 14px 21px; } /*Footer*/ .catchp-footer { margin-top: 14px; border-bottom: 1px solid #fff; } .catchp-footer-menu ul li, .catchp-footer-menu ul li a, .catchp-footer-site-info a { display: inline-block; margin-bottom: 0; } .catchp-footer-menu ul { margin: 0; } .catchp-footer-menu ul li a{ padding: 10px; } .catchp-footer-site-info { border-bottom: 1px solid #ddd; } .catchp-footer-site-info a { padding: 12px; } .catchp-footer-menu { border-top: 1px solid #fff; border-bottom: 1px solid #ddd; } .content-wrapper.col-1, .content-wrapper.col-2 { max-width: 735px; } #plugin-description { max-width: 1200px; } /* => 667px */ @media screen and (min-width: 41.6875em) { .shortcode-option-container { display: flex; flex-flow: row wrap; } .shortcode-option-container > div { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } .welcome-panel h3 { text-align: left; } .welcome-panel img { display: inline-block; margin-bottom: 0; margin-right: 14px; } #public-usage .content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } #public-usage .content > .as-widget { padding-right: 21px; } #public-usage .content > .as-shortcode { border-left: 1px solid #ddd; padding-left: 21px; } #public-usage .content > .as-widget, #public-usage .content > .as-shortcode { margin-bottom: 0; } .catchp-sidebar-spot { width: 50%; padding-right: 21px; } .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-2 .catchp-lists li:nth-of-type(even), .col-3 .catchp-lists li:nth-child(2n), .col-4 .catchp-lists li:nth-child(2n) { padding-right: 0; } .catchp-footer { margin-top: 21px; } .catchp-lists li { display: inline-block; float: left; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; } .content-wrapper.col-3 { max-width: 100%; width: 100%; } .col-2 .catchp-lists li, .col-3 .catchp-lists li, .col-4 .catchp-lists li, .module-container .module-wrap { width: 50%; } .col-2 .catchp-lists li, .col-3 .catchp-lists li, .col-4 .catchp-lists li { padding-right: 21px; } .module-wrap { padding-right: 21px; } .module-container .module-wrap:nth-child(2n) { padding-right: 0; } } /* => 783px */ @media screen and (min-width: 48.9375em) { .wrap { margin-right: 30px; } .form-table input[type="text"], .form-table input[type="search"], .form-table input[type="radio"], .form-table input[type="tel"], .form-table input[type="time"], .form-table input[type="url"], .form-table input[type="week"], .form-table input[type="password"], .form-table input[type="checkbox"], .form-table input[type="color"], .form-table input[type="date"], .form-table input[type="datetime"], .form-table input[type="datetime-local"], .form-table input[type="email"], .form-table input[type="month"], .form-table input[type="number"], .form-table select, .form-table textarea { margin-right: 10px; display: inline-block; } .form-table td span { display: inline-block; } h3.option-toggle a { background-position: 99% 50%; } h3.option-active a { background-position: 99% 50%; } } /* => 1024px */ @media screen and (min-width: 64em) { .catchp-sidebar-spot-wrapper .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-3 .catchp-lists li:nth-child(2n) { padding-right: 21px; } .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-child(3n) { padding-right: 0; } .catchp-sidebar-spot, .col-3 .catchp-lists li { width: 33.33%; } .col-3 .catchp-lists li:nth-child(3n) { padding-right: 0; } .table-icons { font-size: 30px; font-size: 1.875rem; } } /* => 1200px */ @media screen and (min-width: 75em) { .welcome-panel .welcome-panel-close::before, .welcome-panel .welcome-panel-close { top: 50%; transform: translateY(-50%); } .welcome-panel { padding-right: 49px; } .catchp_widget_settings, .catchp-widget-sidebar { display: table-cell; vertical-align: top; } .catchp_widget_settings, .catchp-sidebar-spot, .col-2 .sidebar-spot-inner .catchp-lists li, .col-3 .sidebar-spot-inner .catchp-lists li { width: 100%; } .catchp-widget-sidebar { width: 245px; padding: 0 0 0 200px; } #sidebar { margin-top: 66px; } .col-4 .catchp-lists li, .col-4 .catchp-lists li:nth-child(2n) { padding-right: 21px; } .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot, .catchp-sidebar-spot-wrapper .catchp-sidebar-spot:nth-of-type(even), .col-2 .sidebar-spot-inner .catchp-lists li, .col-3 .sidebar-spot-inner .catchp-lists li, .col-4 .catchp-lists li:nth-child(4n) { padding-right: 0; } .catchp-sidebar-spot:last-child .sidebar-spot-inner { border: 0; } .catchp-footer { margin-top: 160px; } .col-4 .catchp-lists li { width: 25%; } .module-container .module-wrap { width: 33.33%; } .module-container .module-wrap:nth-child(2n) { padding-right: 21px; } .module-container .module-wrap:nth-child(3n) { padding-right: 0; } } /*-------------------------------------------------------------- # Toggle Switch --------------------------------------------------------------*/ .catch-web-tools-main .switch { -webkit-box-flex: 0; -webkit-flex-grow: 0; -moz-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; position: relative; float: none; right: 0; top: 2px; } .catch-web-tools-main .module-title.active { background-color: #0085c3; } .catch-web-tools-main .switch label { background-color: #48a348; border-radius: 11px; cursor: pointer; height: 16px; right:0; position: absolute; top: 3px; width: 30px; } .catch-web-tools-main .inactive .switch label { background-color: #ccc; } .catch-web-tools-main .switch input[type="checkbox"] { visibility: hidden; display: none; } .catch-web-tools-main .switch label:after { background-color: #fff; border-radius: 100%; content: ''; height: 12px; left: 2px; position: absolute; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; top: 2px; width: 12px; } .catch-web-tools-main .switch input[type="checkbox"]:checked + label:after { left: 16px; background-color: #fff; } .catch-web-tools-main .loader { border: 5px solid #48a348; border-radius: 50%; border-top: 2px solid transparent; width: 20px; height: 20px; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; position: absolute; right: 60px; display: none; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Catch Themes & Plugins switch */ #ctp-switch .switch { position: relative; display: inline-block; width: 60px; height: 34px; top: 7px; } #ctp-switch.catch-web-tools-main .module-header { background-color: transparent; } PKZڼ^/plugins/catch-web-tools/images/catch-themes.pngnu[PNG  IHDR7|tEXtSoftwareAdobe ImageReadyqe<yIDATx] xŕ>iFm,ߗ-ۀM 6cpH> Y6Ƿ,.`  |!EdߖOIdfFsLw{=͡I~WROMwuw߫F4b)š]`)*W|W<%#N%aX$b! rcyz˹,ˍ#0 c%ϤMST%*v E)X15!NH<'$JL3Д3 xWxTLppBБ67є3Y挀` X~`j輦2,əM<~XlZpT,| ђըJ>h)3|Urz~! 46UL#|CjʩCPsI3]+wkScqzbqBPb+a5e T8W rg5Z]8S0֔ Uq9'DTUq'.[څ3t'^(ez0qtsf4E_(:oxK͹2Cŷ'c_B%/9F565~Eα?zD鿁r(%%c&(wv w5P^M;kPVP~&Lx@Q'KJ .Ǡ/ !(@By0h{Fy| ʯi>HJqɔf7@@ٖ4P={lP\zC*Vy*%N@ஈc`e0Ymv&J׌6 r$h @yՕWZ)EX,esjk~mݨQV]IɊѣF ]2=v/+/uܹt2reYEoYݶퟃ/ùzbr( IYa˥kdZ$81[r IgCs؟ 3,_Np[,' 8|KY9co'/ 7M~R}ž:Mخ*.pu݆` (Hk!G`j8ҾaHQ`g@.˂b(* A(]8 T ġX,Iby/)#rVhs`x9 eㅔ:2? ]ڟ Vܛ(T%˜n1`hr(RBQ-+ԒM'>5>GwNN]8̞: zEH<6l?H&"/]B< qòi1SN*{ Ϟ5_|>[x|H6=Gz#Q'l@]{S 7 b i8@nG:$)9G:t]x?+zƏe' :*r"_6hbc/=G2m/ y&OoF>&X5)[9 IKTL nҬRG_C}5`/E̺(0ϱ'Y4sM, vN?ԑc0^H3 /ܺwKev#"[[_b]yy$y^lʱyi.;hXmi]pTrBOOoWڣK֫΃ O ??JN2|E)!+ ߆R$b'yڦZ5}@Zsu cmvr3xA:VbyaFKƋ֓8z$dRT%ׂ[m:um):-qGϝ>\`ƐkF2qlҪ?sBz|7!'P/kxE.z›3-ISnKqF @3ZLiň巙eNȈ,7ڠAS9'~,XiE9B=DWzƃ(H [>􎛵G>@ڊ4~enylv{=ۮ&d۞FrOHT&.AΝqL_ LF0Fl4-.C1Mg5@zEuu5ήQU < PUxȃ@H_xA;hdb{I 9R'"e60+tP^(y)R!ldQD7Hze G3OH!fx$(cP:fV&B`^ L8=4ĨؤJ%DSHH D":vI0@1{z5PȲLZCwym7\&` {߹W|wEhn$`WH6` K&A&砥Ӕ&i0Z89Oi!hEH,g]Q\@!i% ٴ-X7QΥ%dpNa:xQCMDKщ҉4}$&C}~CRQ#X|^XgL?OD(H*O0Vf'K}V=ui{КTSP;$]яz_QHKǙ)}t S,ςٔȱ(݁:DRC'KjEh"h8{=x(VPVxÙr [\5 ?dx&EGJ{ ]wKUUU+?ӱY+ܦ9/z >UE#O &aIzTi sgTgc Ӯ<7LNh$ O7/ڮ1y ]N+]oa \O2HZ.٥Y]ZwIx(G@>I%xEpdM,rUW%DQH⺺7.풡/H߼e6LЇE]nlOAbx(]F Prv.)ؠ4\ sL˨#Οc5M*hEn4 asʸJrMhʴ@)V9@TzNMY"OMG! A9+@Gw$bC9gNA`-Il6[rhNa}`()QE= ӵPQJ1<#\owQPJBsS1.eqR$+GKR`]:lπTyy.RcʅYU/h-PNR,8f3f̹Lsi^(`S&Q{`!(F/1Cq+rk`uţ' * @zyflRQAsF;hQq r/ õKCH89 qtu=;6۬ǏxeMUWVr~t`M:HpKr|Ud'$;\Sx{w5A~݀)8q=)fftT1U塱;hwQ$hZ}d#e4fx}18S "11@ZWڶlӐ^/4pHuu_yŲGhʬ4߻o E;SS$`å5P) qOx睵d9yCRXtq&bm?~> LZ[L)ޝ2ysޙ;xEٴA1-Fc'$'i zXY ýW *PS!Fb(z9xo]Ȓ"ceϤy~ej7# f;}lFOS"P۶Y۽mh+bF7\`a075DO47d)ȟ_{w"GosrdBmWVX:eq4==UTRT`&5/@"pzJWX1 g%ng9A5T^:X>M_NC HGXF=@K|/bvaA@ׇ^X x};a14Z(p-j, @^%kxTqUG|#ƶa4($$F(|h`+1+OQ1"]%c"n\Wry99:p8CQVSLDwWix g5= Kb50{ t⻍1Ӕȹ@T%4xth)O`!D$g󯨘bҤS ÁM prNUHn֚g?7|ż"b9tA)*}pߋx@Po) g$C.B!%ч!M!&j &b/T.iBX+(^o/2_ DB^AUSG&W90*/|,!KqigO1y")(BF~y c.DΟpׅ6VַPYL[| X$ɳ9H* Ӂ陷+ M?zv+KYHVkcp_[X'a1A)k 4ҿ̔l7Vg!oJQP*!oAgaB/lV ~UE2P]tJ6=УWg!:7̽반D?jI}ZVTFfGۭYr9=ItA'6P|'f -%V{(8Ss!D]Jh z)r9 [!IENDB`PKZqZ>%plugins/catch-web-tools/functions.phpnu[ 'catch-web-tools', ), admin_url( 'admin.php' ) ); $settings_link = '' . esc_html__( 'Settings', 'catch-web-tools' ) . ''; array_unshift( $links, $settings_link ); } return $links; } add_filter( 'plugin_action_links', 'catchwebtools_action_links', 10, 2 ); /* CTP tabs removal options */ require plugin_dir_path( __FILE__ ) . 'admin/inc/ctp-tabs-removal.php'; $ctp_options = ctp_get_options(); if ( 1 == $ctp_options['theme_plugin_tabs'] ) { /* Adds Catch Themes tab in Add theme page and Themes by Catch Themes in Customizer's change theme option. */ if ( ! class_exists( 'CatchThemesThemePlugin' ) && ! function_exists( 'add_our_plugins_tab' ) ) { require plugin_dir_path( __FILE__ ) . 'admin/inc/CatchThemesThemePlugin.php'; } } PKZ* /plugins/catch-web-tools/to-top/public/index.phpnu[ */ class Catchwebtools_To_Top_Public { /** * The ID of this plugin. * * @since 1.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 1.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Initialize the class and set its properties. * * @since 1.0.0 * @param string $plugin_name The name of the plugin. * @param string $version The version of this plugin. */ public function __construct( $plugin_name, $version ) { $this->plugin_name = $plugin_name; $this->version = $version; } /** * Register the stylesheets for the public-facing side of the site. * * @since 1.0.0 */ public function enqueue_styles() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in To_Top_Loader as all of the hooks are defined * in that particular class. * * The To_Top_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); $dependency = array(); if ( 'icon' == $option['style'] ) { $dependency[] = 'dashicons'; } else if ( 'genericon-icon' == $option['style'] ) { $dependency[] = 'genericons'; wp_register_style( 'genericons', plugin_dir_url( __FILE__ ) . 'css/genericons/genericons.css', false, '3.4.1' ); } else if ( 'font-awesome-icon' == $option['style'] ) { $dependency[] = 'font-awesome'; wp_register_style( 'font-awesome', plugin_dir_url( __FILE__ ) . 'css/font-awesome/css/font-awesome.min.css', false, '4.5.0' ); } if ( isset( $option['status'] ) && ( 1 === $option['status'] ) ) { wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/catchwebtools-to-top-public.css', $dependency, $this->version, 'all' ); } } /** * Register the JavaScript for the public-facing side of the site. * * @since 1.0.0 */ public function enqueue_scripts() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in To_Top_Loader as all of the hooks are defined * in that particular class. * * The To_Top_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); if ( isset( $option['status'] ) && ( 1 === $option['status'] ) ) { wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/catchwebtools-to-top-public.js', array( 'jquery' ), $this->version, false ); // Localize the script with new data wp_localize_script( $this->plugin_name, 'catchwebtools_to_top_options', $option ); } } public function public_display() { $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); if( 1 == $option['status'] ){ if ( is_admin() && !$option['show_on_admin'] ) { //Bail early if in admin and show on admin is disabled return; } if ( 'icon' == $option['style'] ) { echo '' . __( 'Scroll Up', 'to-top' ) . '' ; } else if ( 'genericon-icon' == $option['style'] ) { if ( 'dashicons-arrow-up' == $option['icon_type'] ) { $class = 'genericon genericon-uparrow'; } else if ( 'dashicons-arrow-up-alt' == $option['icon_type'] ) { $class = 'genericon genericon-next genericon-rotate-270'; } else { $class = 'genericon genericon-collapse'; } echo '' . __( 'Scroll Up', 'to-top' ) . '' ; } else if ( 'font-awesome-icon' == $option['style'] ) { if ( 'dashicons-arrow-up' == $option['icon_type'] ) { $class = 'fa fa-caret-up'; } else if ( 'dashicons-arrow-up-alt' == $option['icon_type'] ) { $class = 'fa fa-arrow-up'; } else { $class = 'fa fa-angle-up'; } echo '' . __( 'Scroll Up', 'to-top' ) . '' ; } else { if( '' != $option['image'] ){ /** * make image link protocolless * http:// or https:// to // */ $image = explode( ':', $option['image'] ); unset( $image[0] ); $image = implode( '', $image ); echo '' . esc_attr( $option['image_alt'] ) . '' ; } } } } public function custom_css() { $custom_css = ''; $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); if ( is_admin() && !$option['show_on_admin'] ) { return $custom_css; } $default = catchwebtools_to_top_default_options(); if( $option != $default ) { if ( 'image' == $option['style'] ) { $custom_css .= 'background-color: transparent; color: transparent; height: auto; width: 65px;'; if ( $default['image_width'] != $option['image_width'] ) { $custom_css .= 'width: ' . esc_attr( $option['image_width'] ) . 'px;'; } } else { //Type is icon if ( $default['icon_color'] != $option['icon_color'] ) { $custom_css .= 'color: ' . esc_attr( $option['icon_color'] ) . ';'; } if ( $default['icon_size'] != $option['icon_size'] ) { $custom_css .= 'font-size: ' . esc_attr( $option['icon_size'] ) . 'px; width: ' . esc_attr( $option['icon_size'] ) . 'px; height: ' . esc_attr( $option['icon_size'] ) . 'px;'; } if ( $default['icon_bg_color'] != $option['icon_bg_color'] ) { $custom_css .= 'background-color: ' . esc_attr( $option['icon_bg_color'] ) . ';'; } if ( $default['border_radius'] != $option['border_radius'] ) { $custom_css .= '-webkit-border-radius: ' . esc_attr( $option['border_radius'] ) . '%; -moz-border-radius: ' . esc_attr( $option['border_radius'] ) . '%; border-radius: ' . esc_attr( $option['border_radius'] ) . '%;'; } } if ( $default['icon_opacity'] != $option['icon_opacity'] ) { $custom_css .= 'opacity: ' . esc_attr( $option['icon_opacity'] / 100 ) . ';'; } if ( $default['location'] != $option['location'] || $default['margin_x'] != $option['margin_x'] || $default['margin_x'] != $option['margin_x'] ) { $offset = explode( '-', $option['location'] ); $offset1 = $offset[0]; $offset2 = $offset[1]; $custom_css .= esc_attr( $offset2 ) . ':' . esc_attr( $option['margin_x'] ) . 'px;'; $custom_css .= esc_attr( $offset1 ) . ':' . esc_attr( $option['margin_y'] ) . 'px;'; } } if ( '' != $custom_css ) { $custom_css = ""; } echo $custom_css; } } PKZ.~b, , Gplugins/catch-web-tools/to-top/public/js/catchwebtools-to-top-public.jsnu[(function($) { "use strict"; $(function() { var container = $("#cwt_to_top_scrollup").css({ 'opacity': 0 }); var data = catchwebtools_to_top_options; var mouse_over = false; var hideEventID = 0; var fnHide = function() { clearTimeout(hideEventID); if (container.is(":visible")) { container.stop().fadeTo(200, 0, function() { container.hide(); mouse_over = false; }); } }; var fnHideEvent = function() { if (!mouse_over && data.enable_autohide == 1 ) { clearTimeout(hideEventID); hideEventID = setTimeout(function() { fnHide(); }, data.autohide_time * 1000); } }; var scrollHandled = false; var fnScroll = function() { if (scrollHandled) return; scrollHandled = true; if ($(window).scrollTop() > data.scroll_offset) { container.stop().css("opacity", mouse_over ? 1 : parseFloat(data.icon_opacity/100)).show(); fnHideEvent(); } else { fnHide(); } scrollHandled = false; }; if ("undefined" != typeof catchwebtools_to_top_options.enable_hide_small_device && "1" == catchwebtools_to_top_options.enable_hide_small_device) { if ($(window).width() > catchwebtools_to_top_options.small_device_max_width) { $(window).scroll(fnScroll); $(document).scroll(fnScroll); } }else{ $(window).scroll(fnScroll); $(document).scroll(fnScroll); } container .hover(function() { clearTimeout(hideEventID); mouse_over = true; $(this).css("opacity", 1); }, function() { $(this).css("opacity", parseFloat(data.icon_opacity/100)); mouse_over = false; fnHideEvent(); }) .click(function() { $("html, body").animate({ scrollTop: 0 }, 400); return false; }); }); })(jQuery);PKZ07Iplugins/catch-web-tools/to-top/public/css/catchwebtools-to-top-public.cssnu[/** * All of the CSS for your public-facing functionality should be * included in this file. */ #cwt_to_top_scrollup { background-color: #000; -webkit-border-radius: 5%; -moz-border-radius: 5%; border-radius: 5%; box-sizing: content-box; bottom: 20px; color: #fff; cursor: pointer; display: none; font-size: 32px; font-weight: normal; height: 32px; opacity: 0.5; padding: 5px; position: fixed; right: 20px; text-align: center; text-decoration: none; vertical-align: middle; width: 32px; z-index: 9999; } #cwt_to_top_scrollup img { width: 100%; } /* Accessibility - Text meant only for screen readers */ .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; /* many screen reader and browser combinations announce broken words as they would appear visually */ word-wrap: normal !important; }PKZO6fWfWCplugins/catch-web-tools/to-top/public/css/genericons/Genericons.eotnu[fWVLP*"GenericonsRegular Version 001.000 Genericons PFFTMu(VOS/2d,uX`cmaprcvt DgaspVglyfIHhead `BW6hhea$hmtxXSr8locaˋݮ0maxp8 nameRNh7post"P"*_< !z!z@.33fPfEd  DU`Sf@7Tn  & )9IYiv   0@P`p ) 2 , &     D,,,,ZFLb0$H 8   < ~ $Fb20fH@^z X.J ,@VdrT,N|BXf|J|0T~:hVp .:HV 8 !!B!!"":"H"|"""##Z#$$$HDdU./<2<2/<2<23!%!!D $hUD !!!55!5!%!55!   $264&"/a^ԖԖ^aaΖԖ*!%!2>4."52#".46xGGxxGGxV3UwAWVVGxxGGxx`@VWAwU3V !!!!!!  .546 qq>{(({ !#265!#265!jjjj4 5654&".54 &54>72654' jV@qq@VjVj1V9@qq@a&:TOqqOT:&a&a@uW:TOqqOT:#2+!7!2652#!#"&5463jj@jj@@jjjj@jj@jj!!'654''>54&'6;;6ZKKXccX[/B%OG65ZKjjKYY[/qFhG-w &54654&'>54'>&'.&'..'.'*7'&$&54>u ངJi##'5YcMI0i 27&,  $!jH:[tl}@qiG<'Lz:/􊍭 fMi)~y{dP,JlT..@x6M0V29_j3T !UH.6: >B$~d{{,9# %32>7.'327.=.547&54>32676Km-Z,,U?w#% 10NXKX2 :cKN3}lT9n0pNiͻsA&F1o ˄+2^cV )+Jc:=7@@i" '2#!!!=4637&#"#3!"&5463jj +BMi^X,,jjjj <7 6_uD9jj !!!#34>32"#"I-H^~J7j]d(4 I/4`WH6%-" !dn #"$&627&' 67>54.'.54632&$#"2326?6'.6326?6%654JlLAszF&p#PN: n雊H%l#",0%~TO&k##+#=zĦsALlL{d/.A!  11F3.Y5"%  9Vdp[n"X"  "(+9js1=!#".54>32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀1!!'#"&54632!4&#"!'!>32]JQegS7T,,VQV+G* I  !/3B$Rg9߇bIJa-M10M.iw%3 6]# 7ko <2#!"&5463!265.#"34&#"5!!47>32jjjjDQPBCRQA;2Q8" "9"EAjjjjO:1vٮ`4-Sydc"I"]fSX&<zdubE}]nI'S#Uv7$Ll7b]{⿜m<]@8{6z !i4kR39c1hJ.QpPb O  #pMxW2c #"'6732>54.#"67>76&'&54>32#".7>54&#"&54>u ངJJKHQyϐQ;rsvў~O)jgDGqej8P^5T% 1GC6Z5 qJJངJ*xc5Kk[o@7^|J*@ OyaQK55KK55KK55Kjjjj>F:쉉;E5KK5KK55KK00111#"'0/&'0&5&'&'.5&'4'&'&54&50&54545065614767652747676767676?076201030017 %7%%7' '%5B(B(BwƥG+:--  -OͿXn4NXn<2 $&54>&7#".54>767>?>32&'&$'32>5041.'&$676&'.67>76&'.'&7.'&'&67>&'.7>'.'.7>2$7654.''&$'&76$767LAsӞmmd|x {IKo̔W$@. Aga %hې**VtvTZ`~K jTfmt=> mn;>K.5V3,5,Z&&4+24-+(/.H  E&&F "(+[!"%VB3U/ Pfv8$A3 {TWU{f;WsMa6HspGJ WX-v.LzĦsAuokٕIH9XpFu2 Kl;{3-~ C8s*#"K~`k>M;>ik|x!R][K3-'=`aU+ G)*T!! J%%>8+I!+##T'!  Y0Ak. E^o54T-/=$7{32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀=f././67!>76.#'"&.>7>IEXD;+lowphW@ %44nTE!DC88@?XMR?1 $>R[\SA34KFSGH :) HCE{\) *2U]bYS7  #  "+$- -CkEL[J,"(3K--`QL:, in\Nr;  t)#"'#".547&54>32632654'&'&'&'&'&'&'&547632327654'&'&'&#"#"'&'&'&'&#"3276A3MdymOLr۸m<C1[xPwJFbsS,f;"#=;TRiV $ 47[b+*!/4#"88SUpil8975[X\>8"!>BhN-.,6"#64WwnpBgrdM:=lsTUrPx[1K ,Ssb]ThX=<(' ."$ >.$$-.20,,')IJ`fDB'&!2?*,!!50 !/KML/?..4+2#!".+32>54>32!2''K5@5KK5@AtGZ*1na@ !YF5K1$!'1$!'5KKjK(0(^-!TRU%&K3s'0?HP62#"'&46232#"&54632$2"&54%654&#"2$654&$#"67&#""264 $.547.5463267676>32#".'%>32*VV*8B..AA..BD\BB\B!+9)-S#ݫݪ#(/U,):-?..?-8.tu+vS1S\9R1JiiJ/O1MޯU26\6+VV+8.BB..BBBB..BB..=0)9'=gjkljjֶj/L=$9T.>.-@7[21eOOe263A#Sv-&a  H)1ii-M.<~ `(.6\#754.#"#".=!265>32!#".'57265Q%"/\]E\6/D/Nj?\]]\i/D/\%."ZY5[}D!//!爽k-[ZY[0.!//!$2 $546364&" &"7267j^Ζj&Kj%%jK&i9D9jaj%jK&%&Kj%##B   7 5qmqmqrB$#4HI4gs>sgYE2+"&'.54>376&#!"77>;267>76&#!"&=463!2>X:4Y/w* <("n##? bb>(9 +(,,o #" #"'! 2#!#"&5463jj@@jjjj@jj !!!!!3@ ! 264&"jKKjKKjKKj%  $&62>4.#"1ppoou՛[[u *[oppo[֚[Z[P"&4622!463jԖԖԖ ,!!!53!534&#!"3!262"&5#"&463K55KK55K&&4&@&&5KK55KK&&&&4&*:0.7#"&463!;0231!!!53!534&#!"3!26.3l&& K55KK55K .&4& 5KK55KK  +;?C5353535353!5353353!!!53!534&#!"3!265353K55KK55K5KK55KK5UUzz >7&"72?64Z$;:'" 8%j&&j&%8Z%/ .3R%%BB%%%j#"$$ 2>4." 8 ooxxxo 8 xxxx #"$$ 2>4."5! 8 Fxxxxoo 8 xxx (!!#!5! #"$$ 2>4." 8 Fxxxxoo 8 xxx+ %-  $' 6$  ." 3266  264&"dee * %uMLrMllO>aKjKKjfssggss+tsNSRNNSRŸ>5jKKjK+#+;"' #"'73267''7 6$32264&"%7&#" 7&54632!`d^TlKu.:e jKKjKjlL>q?l!fsO"RNtgsKjKKjjiRNq`m  ' 7 @@@@@@@@  ' 7 @@@@@@@@5+5%463!2264&#!"33#!"&5333333K55K&&&&K55K5KK&4&&4&@5KK5@@@  $%%$LLJ !'!@ !  !@ !  7/%'@`S`@`M`S`@`S``@` `S` !!@@ $2!4$#2 !4 &,#2"&4 ངJQn\ppppJbnrѮK\ppp#!".67>2264&"!+4tSBg<#+prp+jKKjK43ZF]7#@Uj8FIIFKjKKj5+3!!#".'7&462326"!!6$32"'.462"KW:&Kj&5M6K=‚Y&Kj&#Scppp.T;%jK%6=dY%jK%$20ppp+ ".53 654&#"2653#"&54 xx qOPp&4&qOPpzxxz@OqpP&&54.'/D%٧bx8eFHPdnb.pE,NhƨGFhuΎ!!!%!S@ !#! !#!  &264&"8uupC qqq>a qqq !264&"!KjKKjK43KjKKj5 +7?C2"&42"&42"&4%5!5!!!!463!2"3!264&##!5#5!4&&4&&4&&4&&4&&4&K55K@&&&&@&4&&4&&4&&4&&4&&45KK5&4&&4&2#!"&46;&54632>32jjjjBv,.rԖԖ!3-e{>B'!'&4?627KKJK9JJKJXKKJH9 JKJJ2"&4ԖԖԖ '!5!WWVWW!!WWWVV@ 7@@@ ' @@@@@@!! !! #'+/37;?5335335373#5335335335353353353353533533533532#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&2#!"&53!!#5463264&"5!!5jjjjjKKjKjjjjKjKKj!462!462!!.KjKKjK5KK55KK˘  (! !2#!!!"&46;&54632>32jjjj,TG.rԖԖ +e{>B$2#!! !!"&46;&54632>32jjjj,TG.rԖԖ +e{>B 7!!!!#'!Z&ZZ& !!!#5!y";!"&5463!!&47!"@5KK5@jj2225KKKjKjj77KjK``,4%'"''&''7&547'7677627%4&"2`:/<?>ɋ;0::10;AAɌ;01:ԖԖԖ   $4.#"6%327/a^2싈{H싈{EH^aa΋HE{H{2"&4$2"&4!!!!5!!KjKKjKKjKKjKKjKKjKKjKKjˀ!!!! !!!! 2#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&5!!5 2#!"&5!!!!463264&"jjjjjKKjKjjjjKjKKj   $"2645#!3#/a^gjKKjK^aa2KjKKjK   $264&"!/a^jKKjK43^aaKjKKj5 3  $264&"654'&#"6323547676/a^jKKjK%TT\d(4DER^aaKjKKj9:Qp@A^G#"*-,A9"-4       3!3!3'#%#33'#VT+VV?+  .>7>xI;'II(*EE*>Ef  ' 7 'k//j9999ǎǎ>> % 5! %!2#!"&54635!#!!35KK55KK5@K55KK55K  5! %!2#!"&54635!5KK55KK5@K55KK55K  5! %!2#!"&5463''5KK55KK5Z[@K55KK55K[[  2'.#! @쉖Jd@ԖJL2'.#! 쉖JdԖJL!!!".#"#2>32FoKKoFGl>39##93>lGFoKKo&&&&&&&& !!!!!!'.=!98pp%3K7qq$Z_22#!"&546354> !54&"5KK55KK5ԖK55KK55K쉉싀jjW"!2#!32654'&+32654#gooaPmaQdY11hue`FEgo=GB>MP #3!73#7!X(@(( !!"264'jKKjK@KjKKj@`  !!! )  % 7   $'?2$7'7//??&/'?7'?&'''7/?&#"77?7?777'+7///?''?77'2/a^ @J#84('  %&C 3 /(Ls!  "1  :AD[ `2"&4$2"&4$2"&4#)5@@!@@@@(08#"!.54626326=.5462$"264264&"F:j:FԖ :&zj:FԖ5jKKjKKjKKjKFu"쉖j#"vEjj.VBGj"uFjKjKKjKjKKj !!!!!!!!7 +3 &47'>#"'5'&"/3264&"%%%-!6jKK6@[%L%j%%%L%@5&&5% %j&$GR5LKj6J@%L%%%j%L%[@&5%%5DLT\d"&54>754&#!"&5467!""&54675463!.5462!2"264264&"264&"264&":FԖ :&K5:FԖF:5K:FԖF::FԖF:5jKKjKjKKjKjKKjKjKKjK]"uFjj.VB5K"uFjjEv"#K5"vEjjEv"#"vEjjFu"KjKKjKKjKKjKKjKKjKKjKKjT@3263  7 2"&4#qB pG0ppps5>Wspppn!) $'7#535.54623#>"264gdgFs:FԖF:s}jKKjKY˪YJf"vEjjFu" eKjKKjN\2+"&=4'#"$'"&=47&'#"&46;47&5462 >=462%"&'>32@&& "Zb&4&ZY&4&cY!&&&4&ee&4&=Z[;(&4&AJg@&&@֫ww@&&@gIB&4&P`@&&@ee@&&@[Vam3[@ZN !!!!3", 5!ȝrnjf233nQֽR: "&5463273!&'3 6PqqO4Y3qOOq3Y4P))! !! !! !! !! !!!!! !%%!! !v,v34w,va|v|  !|v|   !%!4w,v|v|(ag"+5 5!".54&#!!23"&'63!5 527#!쉖j쉖jZH)WZH)Wjj;~b[;~b[-Ib  $&62>54.'&!"36363272654'&$#"26363222654'&$#"3263632HpLj 6zLD f^ $'GOD3.s&j /3@3& XzLpLg   ;9 /9NX<4 'JC 4%3\W3E&3 &OK #!#!!#!!!7!_=-d_--CCY #!"&5463!2K55KK55K5KK55KK5!D |& *W ~ B f  L   5 hCopyright (c) 2015, Joen AsmussenCopyright (c) 2015, Joen AsmussenGenericonsGenericonsRegularRegularFontForge 2.0 : Genericons : 18-9-2015FontForge 2.0 : Genericons : 18-9-2015GenericonsGenericonsVersion 001.000 Version 001.000 GenericonsGenericonsf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF200uniF201uniF202uniF203uniF204uniF205uniF206uniF207uniF208uniF209uniF210uniF211uniF212uniF213uniF214uniF215uniF216uniF217uniF218uniF219uniF220uniF221uniF222uniF223uniF224uniF225uniF226uniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF307uniF308uniF400uniF401uniF402uniF403uniF404uniF405uniF406uniF407uniF408uniF409uniF410uniF411uniF412uniF413uniF414uniF415uniF416uniF417uniF418uniF419uniF420uniF421uniF422uniF423uniF424uniF425uniF426uniF427uniF428uniF429uniF430uniF431uniF432uniF433uniF434uniF435uniF436uniF437uniF438uniF439uniF440uniF441uniF442uniF443uniF444uniF445uniF446uniF447uniF448uniF449uniF450uniF451uniF452uniF453uniF454uniF455uniF456uniF457uniF458uniF459uniF460uniF461uniF462uniF463uniF464uniF465uniF466uniF467uniF468uniF469uniF470uniF471uniF472uniF473uniF474uniF475uniF476uniF500uniF501uniF502uniF503uniF504uniF505uniF506uniF507uniF508uniF509uniF50AuniF50BuniF50CuniF50DuniF50EuniF50FuniF510uniF511uniF512uniF513uniF514uniF515uniF516uniF517Ѩ!z!zPKZWP!,,Cplugins/catch-web-tools/to-top/public/css/genericons/Genericons.svgnu[ Created by FontForge 20150618 at Fri Sep 18 10:24:13 2015 By Joen Asmussen Copyright (c) 2015, Joen Asmussen PKZ\66Dplugins/catch-web-tools/to-top/public/css/genericons/Genericons.woffnu[wOFF6 VFFTM6u(OS/2E`d,ucmaprcvt  Dgasp6glyfT.HIhead0/6 `BWhhea`$hmtx8XSrloca$00ˋݮmaxp name397Rpost4P0"xc`d``b-Z6_9@bZ'X D& xc`d`` l D@.xc`a8՘u&fΐ$ UUDx-OP{ywtO`pxXf`N#?U'wx/+X0Ioq2_̈́/0wqFhtC6.Td8UmT -xc```f`FX1, 菜8?I~R/_)|fE/_$|),||||Llgp7TyۄE Q|I>!yd'*G=6Ïa^">"h)M$@RH?*k_(DL`Yn\ HrLcW53XxC/{׏q|J,d)`j:H1uY,R"DB7O@QR5OyCɚ@>xpq/D;39k{G6O5 Ym ,H쥽grfcY}bw&`~է{0gS~f8M (`_kg.?|þńVE5ɦD#1]n[Ov ZNچW*Rhls|Kacc>sAn>k P5-75(HVO^"ajFXo6)'[ nc,YP< Y:kvIttvt_h*9j wjlmʚ5SxW`B6 6>YE4iXϑ^խn`OGp|^VXXѺvh`˞Sml2 Ns;CD̸XV8cHl@cId f/^@ؙ~!Uw8KyEf. Q9^.bvH<ֽ.DqU|vKT["{q0ȁÞ'L7u+V!=M5v?>.HЏyl/ *īg_y en}o,r-=D],?9nK?66z޽+7*V؜xnTuû wJ9J3!pB`'4[Z˯vAX /u W!@FQsz\808^gh;b (4Џ*[ɓ_U,A| ޜ8#+vѧi_aGO8cX+#"aOnO_zE׶ŻNu(}M'@ JQ^Q0DL,`7AyqEc3ǹ v Xb1a@`@;>UQ""sq~jU V/'Wض 3o\/ _/*HyQhl$UU{oGW6KO]nͷZ7N \aRÿ:a^zFn&Sy%R}}5!YJH{vCSW76\ ~;$ЖK;X% "yEYK0lU!+VT޼3=as] ?Qn%ud8Eޯ!!3ՐA,~1m>/ꋆa=!׽E{7Zw Vr>dɣKGvItOgT Oq͒1wn/<Us ٪Q?G4͓c=Ew)#'1c]9# 2qdž>FETZ|&؄ =(L[lF :zhZG帡$lSn-yYn^4maI;+awq,J|Ŗef\)=?tA+0?Վ l*:λfW%[x(FOO)5=~0o ,ow2՗"},naʅ.I@P -lX?UBޙIy/,խDg\Oz'xߩLʳod@s%k]44ћWM0hT}xw/_i>|q c_-2l*6nuL4li֎7z&ݰM=t\[P|/u׽!wd3@2]}wO`c[HhuC;SYn3WM^[&YZ_v߸cuz=o\*H<|r 8'x,@&XjH"D[-0f&g^YWv_:+a6#LV?RY>l5)Ĉٓ[wΛ1b ‘Ɨ&gxJu4)?j=7sCĜ3߰Т9g-rnTJB+' y39[-գ.3ζ*o!I/'LXѽ|Ճ:oMn!(+=AW  !aUn 2P,2&ǔff aӂ}9&d5-2t ä,j唉+Quʶ^xp{ό*zI7}m);U8j">osذ3-_1!휽q^0աBVRVbYWgUغ%nԘ7|ŮgiyƩwKT ߶_:{xsE|#-w[B6{yyu38dBۂKF%V1nxE%'M q(aqWT"K%$T8xfF+=XdgG2`&F^1nPn9c MJ gLݕzl>s?)۰U =ܢ$dzfe [`-Z3 8W(X[v 3(ī0nb?^,(r b ~`.^xpGkh~B  yZOeÐ-G>F?x>YZ5QƁQoX(W╵Ef(9d ږ/oR'3dؼhwUwtWj[[s(4vHCpxjYׁV:x`poM B{%TH=,[)S6j)ᑾ =;G?n˫'9 *Byl}"fzF|$0L0<6\λaSeOF Fq4{k76/j-[^C=y>γm!/-{ϜhF=⩩Ǜqe?>ڹk gD#?yO3|o:A~rw!;dƙ$]~}ߕ r0$ܬ~T9},}RW*ݮrց=!Fd̉یut;,ÂV.a .ߝ"nEAyY_ѷ !q/LozKҳ] *s.2]5Ob* yk8L2oȰr0pˢhٍYVE53YW ug[˚+S^iItZK>K\bFd ThjÛ6䊲ZY!UU%t/ensAq9 r>oqؓc8G~`of͏n:g-Sb{9<6z~4DLSݓ eğkf43kMx'YLl:p\ws,}~Ꮅy;kwѯv?NJV?'bɑϟ]ݹg'vv_1D\0։H{ڭ"ULfjLk>G&Ԟ~=ܮlRLt[ 0>/6T>VXXFsMNF)9DH٩hgҴ%Hp ऄ=^Ly~]\d(iĺԢG-z&Qu?TU RBu ´)&o@0XP2aO:fμ{n;՘_i3~5sw59_3azz5Ǎ@E8o>ߣS!n N759aBp0_Sg KH(jm-< ak`mr/ %w*f;nɌ GC G4jasuG<ՙ'tv={7~~}:]oőtQ^-QM6߾Ufj@AWSӷʥߜamRmW628z88Pl :J&!7@(\S)[5g4B "wCU#ƍ]2%/R, 9~XKNzݗ'[IXʔafS[e|ʗ,3pfYOO_%\=gLLo[ /_8%D9:Wg㫎75#3Kx!Kdϙ#6(My`rJX[r/vm}+IXugumͺHmՀn{xoZ˚@ȁ=t/kӔwC7oW]y_Z`%ch3 ^Hhj'Hk,Mz@zń׫ ~K樖+ij(pU~"*AUTrx>8=( 0OB _o ^3 Pa1j?A%S!Z.Lܿ_1=&@p>eآ 6v 3״>`SK1 Fd3yHO s^vbU%^3hBR/fj  4 ާA/=[Gi!6f|T9 %RMV799P3գsdA |f9#t6%'~L<ѽ䌻az>I/?$i<1(NByuR\-,f1x,[y+f|suY쾼_wЏܱ/1k ƞ9WDٞLfy C]\Ha`wՐ pxmYnm -&aK2Ńo/yc%J7jSBx9,Ki-=ߊ1Uf8=.+3NK|q̝8k,fn\72ץv560?%A{jlLٝ@6u?Q#ʰ>1 Q/\r̙JS}7>܍J4Y{ ]SY)s`x9S1<[L>ɖ 2%vR> E`֋cs@)bŮ56qpg!GWu ;L8 pqN}_퓚?>tG7 [:/)KXR$ԽqoU} ޺ t><߷3ח=|HSL'[Öd:D:YTO>g*3* }3׋0 kkӁQ810}52'"Iү- S> ^2CU <ӱ"w  ˊ˔tי2I?3e]\xBɳiFGC4ʱ8 _eN%NDs=5J#Deh guq5AڎmL>9hOUol]Wz= %eK7צ*aVƿlal'MDZL&?m; $mm&Oʻ f][j^ .(\zEdBܦ'$S,\T/ǩZ:`M<[$EPa,jw;s'V蘀To YMd&1,ItX#&V!? l z| D,rw>>W(VMs-̳4O5L"Hg;s_ndM#A5(s\$}7>t{Bkn VobgᘬdY0C 89h.4~.?Te0+Jci9+cVL1\ۯ2vp3:3y. #!D|7_po''ޤppzn_Bn/!D{%1|NC zpbt_E9}\ VM.`f&GvoHcɼ.܎ü*N@[{[+~BSg_p^Ɗ 8ek scKc؜ Iu _" A(Ԝ8*=q 95mȡAF_Ѳ0i;P1 Q}ˁ8ʵ4DI7)*}(Q&uaYT\ n0~?\w%k;,2-(/ϥ;tP8}^d稌r 5` c4 ErhGsK9 f| mߧ%t\>Ճs/ȋ|l"듌,reg=$>ǮN&W%5[V1{Jƕ4RvAQ6@y̿[-# %-a)15/ţQInYS>zm0wⶆ 9sdOZpE7lytj'&7"6'pTTwAy)Ah%Aʤe_^pʅ %s.]}邷m{ݘݴ_ ZZJ[ISo#i;:3>1za/gk_h4Q.^rKδ["ac  88q{9VJ:]{SHM#fxpg ~ca6@ ~#J h1-o4N^Ncg /lA,Jj3iI3e##e0^#C0Bu2@xpY"EYGx Ba !7+ %Z#+]Q#8mIŤ"Yw,ːhS}E"AYvZrQ\Wp C"bdH6Cf 'dwq]'n_K)ɮMs^c,Ͷ&cCP,r; `Rژ?$X  r N5nG jcy>'xS68ʙ e8;)54ˇlG3kV~ķUhw$=oD=gz1~`ab׃:L-fޱ>@1MKBwӑ9G]bi4mY*ҍs8tW%\ !d[|Ae }5,x-Kp/vޠ] }R *Ii;ScS?ik0mKx[6_qn+ d# qcV?١b•[&gl]ڠlF YMzl3"qƐ2=lVB-P!~߽GIWW KSU(i'm:ë8Q8W$+3`4uϚ5S"sZ|<5S2eMxNCP0 m>t(,bK$v;jGƂ a5'Μ@eΌ:}W< 3ߙ?.C7nv@Ȣ<" 1:֡uDŽS3::Nqcz߇Q פn[:1{?Pɱcz17~y%/XΌV+Ɉfspos6@a=l ~vu̺aG;ʸ12.Ӑku;6ဇ}vXoRRLjwGnxƟ3Ox膉ۺot?g!75v&%?\<>ȸ[˟C+ǩjw{$~}f_]j[Mf!ls:r>q5X'M%`ۨ\pFaYaۘ@870%s^_ܛvOf0[g.dWpZM쯔(KΜ?h5c?<zj8c8mI&Ϻsg&Wu1݆xڍj0%NJ3~u)Il0$B j)X(]}CϊJB+ݯpO0 3 ⸃ ;'qqd%|<;7]<ñ{,qܧ|48Bjp aD1@c${4tBU5f#(󕖊;1FdiNɨXJ%2ӊxMŜ%2ov[Ԋk+RHk+$c3ڿ5>W"L`J3jU%Cg]I0 ZpECemBʔZq!PVZxmgU  = (frPrF J }OtUO^Z]Wo^Z]at1`$&!Ә`&'a.,s/嬠ME"ja%_5X:gAa=&6lc;;.v-{O/oc?8!s8'8)Ns<%.s_\:7-nso#?<9/x9cUmVf2f1k1͞^KzI/%ҐWUz^WUz^WUzI/%^xٻweޕ+{Wn}ט ЉwN瞰HzI/e^zY/ezzzzzW^+zEW^Wz^Wz^W5z^5z^;+Ί;+kn5י}f9`v]wYeq]wYeq;xc```d+їhS@PKZN-VVCplugins/catch-web-tools/to-top/public/css/genericons/Genericons.ttfnu[ PFFTMu(VOS/2d,uX`cmaprcvt DgaspVglyfIHhead `BW6hhea$hmtxXSr8locaˋݮ0maxp8 nameRNh7post"P"*_< !z!z@.33fPfEd  DU`Sf@7Tn  & )9IYiv   0@P`p ) 2 , &     D,,,,ZFLb0$H 8   < ~ $Fb20fH@^z X.J ,@VdrT,N|BXf|J|0T~:hVp .:HV 8 !!B!!"":"H"|"""##Z#$$$HDdU./<2<2/<2<23!%!!D $hUD !!!55!5!%!55!   $264&"/a^ԖԖ^aaΖԖ*!%!2>4."52#".46xGGxxGGxV3UwAWVVGxxGGxx`@VWAwU3V !!!!!!  .546 qq>{(({ !#265!#265!jjjj4 5654&".54 &54>72654' jV@qq@VjVj1V9@qq@a&:TOqqOT:&a&a@uW:TOqqOT:#2+!7!2652#!#"&5463jj@jj@@jjjj@jj@jj!!'654''>54&'6;;6ZKKXccX[/B%OG65ZKjjKYY[/qFhG-w &54654&'>54'>&'.&'..'.'*7'&$&54>u ངJi##'5YcMI0i 27&,  $!jH:[tl}@qiG<'Lz:/􊍭 fMi)~y{dP,JlT..@x6M0V29_j3T !UH.6: >B$~d{{,9# %32>7.'327.=.547&54>32676Km-Z,,U?w#% 10NXKX2 :cKN3}lT9n0pNiͻsA&F1o ˄+2^cV )+Jc:=7@@i" '2#!!!=4637&#"#3!"&5463jj +BMi^X,,jjjj <7 6_uD9jj !!!#34>32"#"I-H^~J7j]d(4 I/4`WH6%-" !dn #"$&627&' 67>54.'.54632&$#"2326?6'.6326?6%654JlLAszF&p#PN: n雊H%l#",0%~TO&k##+#=zĦsALlL{d/.A!  11F3.Y5"%  9Vdp[n"X"  "(+9js1=!#".54>32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀1!!'#"&54632!4&#"!'!>32]JQegS7T,,VQV+G* I  !/3B$Rg9߇bIJa-M10M.iw%3 6]# 7ko <2#!"&5463!265.#"34&#"5!!47>32jjjjDQPBCRQA;2Q8" "9"EAjjjjO:1vٮ`4-Sydc"I"]fSX&<zdubE}]nI'S#Uv7$Ll7b]{⿜m<]@8{6z !i4kR39c1hJ.QpPb O  #pMxW2c #"'6732>54.#"67>76&'&54>32#".7>54&#"&54>u ངJJKHQyϐQ;rsvў~O)jgDGqej8P^5T% 1GC6Z5 qJJངJ*xc5Kk[o@7^|J*@ OyaQK55KK55KK55Kjjjj>F:쉉;E5KK5KK55KK00111#"'0/&'0&5&'&'.5&'4'&'&54&50&54545065614767652747676767676?076201030017 %7%%7' '%5B(B(BwƥG+:--  -OͿXn4NXn<2 $&54>&7#".54>767>?>32&'&$'32>5041.'&$676&'.67>76&'.'&7.'&'&67>&'.7>'.'.7>2$7654.''&$'&76$767LAsӞmmd|x {IKo̔W$@. Aga %hې**VtvTZ`~K jTfmt=> mn;>K.5V3,5,Z&&4+24-+(/.H  E&&F "(+[!"%VB3U/ Pfv8$A3 {TWU{f;WsMa6HspGJ WX-v.LzĦsAuokٕIH9XpFu2 Kl;{3-~ C8s*#"K~`k>M;>ik|x!R][K3-'=`aU+ G)*T!! J%%>8+I!+##T'!  Y0Ak. E^o54T-/=$7{32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀=f././67!>76.#'"&.>7>IEXD;+lowphW@ %44nTE!DC88@?XMR?1 $>R[\SA34KFSGH :) HCE{\) *2U]bYS7  #  "+$- -CkEL[J,"(3K--`QL:, in\Nr;  t)#"'#".547&54>32632654'&'&'&'&'&'&'&547632327654'&'&'&#"#"'&'&'&'&#"3276A3MdymOLr۸m<C1[xPwJFbsS,f;"#=;TRiV $ 47[b+*!/4#"88SUpil8975[X\>8"!>BhN-.,6"#64WwnpBgrdM:=lsTUrPx[1K ,Ssb]ThX=<(' ."$ >.$$-.20,,')IJ`fDB'&!2?*,!!50 !/KML/?..4+2#!".+32>54>32!2''K5@5KK5@AtGZ*1na@ !YF5K1$!'1$!'5KKjK(0(^-!TRU%&K3s'0?HP62#"'&46232#"&54632$2"&54%654&#"2$654&$#"67&#""264 $.547.5463267676>32#".'%>32*VV*8B..AA..BD\BB\B!+9)-S#ݫݪ#(/U,):-?..?-8.tu+vS1S\9R1JiiJ/O1MޯU26\6+VV+8.BB..BBBB..BB..=0)9'=gjkljjֶj/L=$9T.>.-@7[21eOOe263A#Sv-&a  H)1ii-M.<~ `(.6\#754.#"#".=!265>32!#".'57265Q%"/\]E\6/D/Nj?\]]\i/D/\%."ZY5[}D!//!爽k-[ZY[0.!//!$2 $546364&" &"7267j^Ζj&Kj%%jK&i9D9jaj%jK&%&Kj%##B   7 5qmqmqrB$#4HI4gs>sgYE2+"&'.54>376&#!"77>;267>76&#!"&=463!2>X:4Y/w* <("n##? bb>(9 +(,,o #" #"'! 2#!#"&5463jj@@jjjj@jj !!!!!3@ ! 264&"jKKjKKjKKj%  $&62>4.#"1ppoou՛[[u *[oppo[֚[Z[P"&4622!463jԖԖԖ ,!!!53!534&#!"3!262"&5#"&463K55KK55K&&4&@&&5KK55KK&&&&4&*:0.7#"&463!;0231!!!53!534&#!"3!26.3l&& K55KK55K .&4& 5KK55KK  +;?C5353535353!5353353!!!53!534&#!"3!265353K55KK55K5KK55KK5UUzz >7&"72?64Z$;:'" 8%j&&j&%8Z%/ .3R%%BB%%%j#"$$ 2>4." 8 ooxxxo 8 xxxx #"$$ 2>4."5! 8 Fxxxxoo 8 xxx (!!#!5! #"$$ 2>4." 8 Fxxxxoo 8 xxx+ %-  $' 6$  ." 3266  264&"dee * %uMLrMllO>aKjKKjfssggss+tsNSRNNSRŸ>5jKKjK+#+;"' #"'73267''7 6$32264&"%7&#" 7&54632!`d^TlKu.:e jKKjKjlL>q?l!fsO"RNtgsKjKKjjiRNq`m  ' 7 @@@@@@@@  ' 7 @@@@@@@@5+5%463!2264&#!"33#!"&5333333K55K&&&&K55K5KK&4&&4&@5KK5@@@  $%%$LLJ !'!@ !  !@ !  7/%'@`S`@`M`S`@`S``@` `S` !!@@ $2!4$#2 !4 &,#2"&4 ངJQn\ppppJbnrѮK\ppp#!".67>2264&"!+4tSBg<#+prp+jKKjK43ZF]7#@Uj8FIIFKjKKj5+3!!#".'7&462326"!!6$32"'.462"KW:&Kj&5M6K=‚Y&Kj&#Scppp.T;%jK%6=dY%jK%$20ppp+ ".53 654&#"2653#"&54 xx qOPp&4&qOPpzxxz@OqpP&&54.'/D%٧bx8eFHPdnb.pE,NhƨGFhuΎ!!!%!S@ !#! !#!  &264&"8uupC qqq>a qqq !264&"!KjKKjK43KjKKj5 +7?C2"&42"&42"&4%5!5!!!!463!2"3!264&##!5#5!4&&4&&4&&4&&4&&4&K55K@&&&&@&4&&4&&4&&4&&4&&45KK5&4&&4&2#!"&46;&54632>32jjjjBv,.rԖԖ!3-e{>B'!'&4?627KKJK9JJKJXKKJH9 JKJJ2"&4ԖԖԖ '!5!WWVWW!!WWWVV@ 7@@@ ' @@@@@@!! !! #'+/37;?5335335373#5335335335353353353353533533533532#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&2#!"&53!!#5463264&"5!!5jjjjjKKjKjjjjKjKKj!462!462!!.KjKKjK5KK55KK˘  (! !2#!!!"&46;&54632>32jjjj,TG.rԖԖ +e{>B$2#!! !!"&46;&54632>32jjjj,TG.rԖԖ +e{>B 7!!!!#'!Z&ZZ& !!!#5!y";!"&5463!!&47!"@5KK5@jj2225KKKjKjj77KjK``,4%'"''&''7&547'7677627%4&"2`:/<?>ɋ;0::10;AAɌ;01:ԖԖԖ   $4.#"6%327/a^2싈{H싈{EH^aa΋HE{H{2"&4$2"&4!!!!5!!KjKKjKKjKKjKKjKKjKKjKKjˀ!!!! !!!! 2#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&5!!5 2#!"&5!!!!463264&"jjjjjKKjKjjjjKjKKj   $"2645#!3#/a^gjKKjK^aa2KjKKjK   $264&"!/a^jKKjK43^aaKjKKj5 3  $264&"654'&#"6323547676/a^jKKjK%TT\d(4DER^aaKjKKj9:Qp@A^G#"*-,A9"-4       3!3!3'#%#33'#VT+VV?+  .>7>xI;'II(*EE*>Ef  ' 7 'k//j9999ǎǎ>> % 5! %!2#!"&54635!#!!35KK55KK5@K55KK55K  5! %!2#!"&54635!5KK55KK5@K55KK55K  5! %!2#!"&5463''5KK55KK5Z[@K55KK55K[[  2'.#! @쉖Jd@ԖJL2'.#! 쉖JdԖJL!!!".#"#2>32FoKKoFGl>39##93>lGFoKKo&&&&&&&& !!!!!!'.=!98pp%3K7qq$Z_22#!"&546354> !54&"5KK55KK5ԖK55KK55K쉉싀jjW"!2#!32654'&+32654#gooaPmaQdY11hue`FEgo=GB>MP #3!73#7!X(@(( !!"264'jKKjK@KjKKj@`  !!! )  % 7   $'?2$7'7//??&/'?7'?&'''7/?&#"77?7?777'+7///?''?77'2/a^ @J#84('  %&C 3 /(Ls!  "1  :AD[ `2"&4$2"&4$2"&4#)5@@!@@@@(08#"!.54626326=.5462$"264264&"F:j:FԖ :&zj:FԖ5jKKjKKjKKjKFu"쉖j#"vEjj.VBGj"uFjKjKKjKjKKj !!!!!!!!7 +3 &47'>#"'5'&"/3264&"%%%-!6jKK6@[%L%j%%%L%@5&&5% %j&$GR5LKj6J@%L%%%j%L%[@&5%%5DLT\d"&54>754&#!"&5467!""&54675463!.5462!2"264264&"264&"264&":FԖ :&K5:FԖF:5K:FԖF::FԖF:5jKKjKjKKjKjKKjKjKKjK]"uFjj.VB5K"uFjjEv"#K5"vEjjEv"#"vEjjFu"KjKKjKKjKKjKKjKKjKKjKKjT@3263  7 2"&4#qB pG0ppps5>Wspppn!) $'7#535.54623#>"264gdgFs:FԖF:s}jKKjKY˪YJf"vEjjFu" eKjKKjN\2+"&=4'#"$'"&=47&'#"&46;47&5462 >=462%"&'>32@&& "Zb&4&ZY&4&cY!&&&4&ee&4&=Z[;(&4&AJg@&&@֫ww@&&@gIB&4&P`@&&@ee@&&@[Vam3[@ZN !!!!3", 5!ȝrnjf233nQֽR: "&5463273!&'3 6PqqO4Y3qOOq3Y4P))! !! !! !! !! !!!!! !%%!! !v,v34w,va|v|  !|v|   !%!4w,v|v|(ag"+5 5!".54&#!!23"&'63!5 527#!쉖j쉖jZH)WZH)Wjj;~b[;~b[-Ib  $&62>54.'&!"36363272654'&$#"26363222654'&$#"3263632HpLj 6zLD f^ $'GOD3.s&j /3@3& XzLpLg   ;9 /9NX<4 'JC 4%3\W3E&3 &OK #!#!!#!!!7!_=-d_--CCY #!"&5463!2K55KK55K5KK55KK5!D |& *W ~ B f  L   5 hCopyright (c) 2015, Joen AsmussenCopyright (c) 2015, Joen AsmussenGenericonsGenericonsRegularRegularFontForge 2.0 : Genericons : 18-9-2015FontForge 2.0 : Genericons : 18-9-2015GenericonsGenericonsVersion 001.000 Version 001.000 GenericonsGenericonsf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF200uniF201uniF202uniF203uniF204uniF205uniF206uniF207uniF208uniF209uniF210uniF211uniF212uniF213uniF214uniF215uniF216uniF217uniF218uniF219uniF220uniF221uniF222uniF223uniF224uniF225uniF226uniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF307uniF308uniF400uniF401uniF402uniF403uniF404uniF405uniF406uniF407uniF408uniF409uniF410uniF411uniF412uniF413uniF414uniF415uniF416uniF417uniF418uniF419uniF420uniF421uniF422uniF423uniF424uniF425uniF426uniF427uniF428uniF429uniF430uniF431uniF432uniF433uniF434uniF435uniF436uniF437uniF438uniF439uniF440uniF441uniF442uniF443uniF444uniF445uniF446uniF447uniF448uniF449uniF450uniF451uniF452uniF453uniF454uniF455uniF456uniF457uniF458uniF459uniF460uniF461uniF462uniF463uniF464uniF465uniF466uniF467uniF468uniF469uniF470uniF471uniF472uniF473uniF474uniF475uniF476uniF500uniF501uniF502uniF503uniF504uniF505uniF506uniF507uniF508uniF509uniF50AuniF50BuniF50CuniF50DuniF50EuniF50FuniF510uniF511uniF512uniF513uniF514uniF515uniF516uniF517Ѩ!z!zPKZg]jnjnCplugins/catch-web-tools/to-top/public/css/genericons/genericons.cssnu[/** Genericons */ /* IE8 and below use EOT and allow cross-site embedding. IE9 uses WOFF which is base64 encoded to allow cross-site embedding. So unfortunately, IE9 will throw a console error, but it'll still work. When the font is base64 encoded, cross-site embedding works in Firefox */ @font-face { font-family: "Genericons"; src: url("./Genericons.eot"); src: url("./Genericons.eot?") format("embedded-opentype"); font-weight: normal; font-style: normal; } @font-face { font-family: "Genericons"; src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAADakAA0AAAAAVqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAA2iAAAABoAAAAcdeu6KE9TLzIAAAGgAAAARQAAAGBkLHXFY21hcAAAAogAAACWAAABsqlys6FjdnQgAAADIAAAAAQAAAAEAEQFEWdhc3AAADaAAAAACAAAAAj//wADZ2x5ZgAABFQAAC7AAABIkKrsSc5oZWFkAAABMAAAAC8AAAA2C2BCV2hoZWEAAAFgAAAAHQAAACQQuAgGaG10eAAAAegAAACfAAABOFjwU3Jsb2NhAAADJAAAATAAAAEwy4vdrm1heHAAAAGAAAAAIAAAACAA6QEZbmFtZQAAMxQAAAE5AAACN1KGf59wb3N0AAA0UAAAAjAAAAXo9iKXv3jaY2BkYGAAYqUtWvLx/DZfGbg5GEDgkmLVWhj9/ycDAwcbWJyDgQlEAQABJgkgAHjaY2BkYOBgAIIdHAz/fwLZbAyMDKiAFQBE7gLWAAAAAAEAAACXAOgAEAAAAAAAAgAAAAEAAQAAAEAALgAAAAB42mNgYf/MOIGBlYGB1Zh1JgMDoxyEZr7OkMYkxMDAxMDKzAADjAIMCBCQ5prC0MCg8FWcA8TdwQFVg6REgYERAPvTCMQAAAB42i1PsRXCUAg8SAprl7FN4QZqb2WZGRjAIVLrHj4be4ews7OJHAd54cMBd+Af7JHmt3RPYAOHAYFweFhmYE4jlj+uVb8nshCzd/qVeNUCLysG8lgwrojfSW/pcTK6o7rWX82En6HJwIEv+wbi28IwpndxRu/JaJGStHRDq5EB+OKCNumZLlSVl2TnOFVtl9nR5t7woR0QzVT+D7cKLeIAeNpjYGBgZoBgGQZGBhBYA+QxgvksDBOAtAIQsoDoj5yfOD9JflL7zPGF84vkF80vll88v0R+yfxS9lX8/3+wCoZPDJ8EPil8ZvjC8EXgi8IXgy8OXwK+JHwp+Mrw////x/wsfHx8HHxMvJo8Rjw6PGo8CjxSPCI8fDwc3PVQ2/ECRjYGuDJGJiDBhK4A4pXhDABtHClYAAAARAURAAAALAAsACwALABaAIQAzADyAQABHAFGAZQBzgIIArIDTAOkA+AEEgTCBRYFYgW+BjAGwgbkByQHSAeCB+AI2Ao4CowLGgvQDBwM6g08DX4Nug4kDkYOYg6ADsoO7A8yD4gP8hAwEGYQpBDuEUgRshHUEfYSQBJeEnoSlhLEEtwTIBNYE6oT6hQaFC4UShSQFJ4UtBTyFSAVjBW4FegV+hYUFiwWQBZWFmQWchaIFuYXFhdUF4gXyhgEGCwYThh8GNYZEhlCGVgZZhl8GZIZoBnQGhIaShp8GtIa6Br+GzAbVBt+G8Ib/Bw6HGgciBy8HOwdHh1WHXAdmB3eHvYfIB8uHzofSB9WH6of4CA4IMghACFCIcQh4CIGIjoiSCJ8IpYiyCLmIxAjWiPwJCQkSHja1Xx5YFTVvf/53nUm++zJJJnMkpkJJJkss5GFMIQ9w04IS0BZRSJLMIIo1l4XFETQFkVFBKwVrbuWpRaXPOtalZaCPKu1D2yf28NX21qfQubk9z3nzoSAS//+Mbn3nnvuuWc/n+/n+z3fCxHIaEKEJfJMIhKVhJ4GUtP8jCqRz+ufVuQ/NT8jChgkT4ssWmbRz6gK9DU/Ayw+bPKY/B6TZ7TgpuVwN71Unnnm0dHS24QQRSACUYis8XyzST6xEAch4LF5ZJsnKkc9NsDDj2ETXgUikT4iaClNJEBSGoZIP74qa+l//YRfKB5EAEyj4g/ztWBZbslcIEjucqHATOpjkYBXsYo18DNYeOQI3UMvonuOHIHXj+/YcXyHSs7FLGQp+o7sYA8IFq+BpmqKhtk6SDEZinWVWfMsHlLfIkRCgjdPsLpAtMlRUu8CmzVP8HlDEInJmkC+wcbihT54cN/6cePW79Mv/f1E+MUT2zvCM68cOWt7Rwc2pk8TNQ3IWW0gEbuI3yxI7KW9HdtnjbxyZrhj+xPbWX0EYhjcf9h3Jg9gldjBfhLm1af1ERF7BTAEmoxngQDeU35mB/YPsDiFtU0gxChgX2tn8S6FP3zG38O+zMWEVkU1yaYQRCMxt13WblvTT9bcdgpaTsnahlcqUp9owt0Vr2zYc+oUHwN8S2FjwMYV62PNA5+pPhaFc0EP4JhuPr2la4eQCVCsNRvnLac3A9nRNShIBFZPXpciEmHjareZsEbRWNTEBhVvHDasmyniwP7HJ+4AhlsgbmOP7PUsWVA8DFmHuzoSa3avSXR09XZ0HaZfHa7raOARKjm8kWoLdwfuamwHbcqaNVOo1t54V2D3QtA2nsQL1TYePrwRtMTaWUWYhvI0gGlYz5FeldWtgPiwvfW8bpVgAk/cwxqtR/hwhHxeVq9YWNG6duzo0miCHtBgy55TlN/jbYIHFGwyi6IJ6NVO7RG0c7c7ugBDRITMuMlYqovNAFYeuNg4BWPRSBCDBRhsEaKRQJCl5mOvSfmxpqbY3GQSCmYvXjy7s6bVP2WcjI/P4iEUxG7ddWt0brKrC5/P+Yz2fTans2bNjWMvPTwOi8B2Vhtw5pEr+cpyCWabVVAkVQngpGDFtChYcIsQCIYgT1ADQUUNifmQB7g4HIrN6pIdiponhCAYkoJDMd7ucEkOlxK32q02qxIMlAewtuYWQVwLdsg6+fyNbcufpfRunw+CruicxZMm1JYsV4zGfIuUV9+8OH7VzTdfFV80IpSVVZBvMErLS2rHT140JxrJtYfGjRjrFIyl3liplFNkNDlFY6nTmwuKwx0fu6gZfL67aOrZ5W03Pn/SQNiZfrXlIfr62RfrVXeh9JvpoxY4FUt5/eRFm2bsvTy/YvzFdSDK5jq/F8DrrzMpglAxtSFekt2zZ/rmRZPr/WYl1JmVJxdEq6VcX3GhoGY7zaAUuoZ5pNwhrqF5WabyKXVZhW4l/MJZaHhoC28cdiIDKkJ4nxqIiZQittSTBJlKiL8+LogKUe3+mDleLrvAjLhidsRIPBDMAda9LsERkxwCsETlccHiVXx2S4sUD1SBWyIIewRxjzDgk8iBw54n/0w3db0rjt/1ViE9TY/nNXaeue+KFT+Cxz4uSNCP6Bp5+biD/9dsLw0qj8DEq51nG1+if695Cb68Zevjbs19yW+VvZO2LB9yLT1Er4JdsAEsP/85/ZxupEvw+PznPweLNhWq4MY2evS13r0roL03FCq+m/5W2Jx4iP5u/dsQm1SrddTDuw0Xd7lKw+05HqUYSuGfM+nhE/bxIXBCrGAf3Sc0ultay6/9qXZB5lggL5R1FyAeVyEef0Aa8EZR7Qi4kuRz++3helzyOL0wgJfhOL8YXsXtkgNnaIsQrrc7YvE8UGOqllwpVM/Vnvo9pdvoEdpfVTXzgZ+MuPJ5n99dV/vjhyfPTs6uvwVu+TCrcfGm5OQt4R+tsLY3rFJquycX25Yff/vwfT0jH5QDY+vEbavV3KI3b5QrxfqfXbS445E3s4dUtm1a3Dg8XpRILPfm6vUlKD9UjQQH0MGHKG3xDEcZEXbEAz4UIKUIiyg0zwMI+hHk5dCPKlv3yZOWX/TT2VWUpqrYAxUR4SxB6HwNpN6c5jj8Iyt28drRp2lfqmFHl4xPOLZjufLHWK6b4YPIBAMrI9IiYU+Ugejl5YrSbpiQT1+lvX/+s6N6/EXXtsW7nE51/pKKiNMofU2P9h0SJ0ANCJEFs8bHShVRpB+Z/NVeUTASRJ9M2yyIzB6yhKzi2GA3s0HxeXFFF5hjgDMXFKjHuZsNdgtYYvEWMRphQGBA6AjXOwLlPq+kqPXh+tgIiNkVVVHBIiKOxBz2c3F+HGpVjJmjEbENVsDEL7aN7Nn38idXH6T7v9i27Qv6pzNv0x+PFQO3XC8JX/+j+y/gmypIBXkW1VFoBYdslvMkVZjcCMZV9NN7b6H9R8YXF/lX+Lw2S561qhb8T13bbs23WjdOCVzm82GkrVLwycO/OvSeqmHu+w9e/cnL+3pGbvsCJvLSU3mn6YYlUul9fTUhWREeSo30SHv7dkOOklNXNzZcGJoT9Qp+gzu7JL/Qlt3QAUu6Ox9YJQsilHlFWei7SzDBbFXwuiErE6lWVN68M9XQBT3vH2FzXSC3wj9Rlm4ldWQ4G0W73q8hITOh1ZARh5FBLM5+Me7xh20+my/qi4ajYeE9IZAbGLPkmh3T1723++JF9797+do3WncKVqO9oMjucpWblz66ZMmjS0d2j48VSXS/uE9nVJIWDE/fcc2SMYGLd7+3bu37uy+ePPEeyFVzDdmqURIXP/rbRxeXx8Y0Fb3Nk2M9RZ13Kc8jJzFjXTkjCTJxx4YX4R/FPkZF2FQHFYWyxxz02FoUfCbYhPn0ILQ9KExbumxGvL0KqjrkAnpoWkfluKG52fSQJMGEbJvbUxNuLZ++eVkDEPG/bl40oW1h9aS62kmhszsF8/Ir/WF3cSz1n+L187eaSnzFxZbs+GWPr2ZcKT0/Gct0k+ZBKzC91Bg/saCYDoEPiYTVjhG8moIa9dgLbCrWOs672mbSVyVbeCiGHfSbG0ZPg6mto6ZPGyk1PbSpftowbwH9GgAMhixvg3fMyMwy1ZfkGSIW9X0sbpzS2DxpclPjlL4N8NqTB4sqg4XdHtpz4CAcrrQ5h5Re3E5nY2c+isJhGsqFqazGLkkf9kBQwJURDMQtbALEWKWsrD/ZGsFVEULemYdJkQSpeewvyOeJLNWt++MT2xZEqmdctePgksVPeicUeOffqZb+TMqzb71kxuxAc57j6iVrn1005obXfzT/0ZtXTQjOMKuqaBVUn33munj5xBV3/fIvBhJftGnvgfkbPnxx18rm+Qn6wbAN22MPXy08ZfQsj9x6+LLp4e3/0bD49l9B3cFLn76uLTSt+6a7p965yOYszJmSVWgy+u54rnvS7nu3rp9Vr+N4RvYtzvCJAiFPwGYGY3ELn8/AGiXqjbI77AgbEI8Fgmk0x6nD2CRS7TinOWxuYboywE5yBMiFXCIt5+/YliwZX7J12lW/u31a0+W73u5Zd3T3tVOGdC0zl8iCSZDlvNHjtN41Sx/oGjZ1x0XRdn9Odp1r3KjY3GiBwbjG4pAP0NO7BjMH+hn9iuU/dP1icEaTlx0G8c7Ox+9YnYhfdM3td7bdcmyoIc9iSGRZbaYpVy185uZpzctvm7n96zujndGaXVcObZ01+upk5TSLhfpnLNo8BRyw7sgAQRDIXmGBukDei4srn/PeAuS2BeXpq2yF2V9+SR/+MnVFOiDvZecv03d41eUlUW9Xc4gXbyQR+bkP0TuIkwWpYhx/FrPDjCITQxhlVjaAtSAHlaGfpu5bsco7bZ71qvaN1z0152hdxNo8YdiabkPBpsSYG1VioA/SFB1Oh0AZ3HYtlLWvuKLnboOV/p7+agr9+1NPzbu7FB5nbcjoT/mIDd9af0ZBIag27OnjZ+CanoKsl/J7Ac99nL0SgHeJplTgWvbqWgUqEw47kw9xEwoHnDaMeEZNvihvVFwaBb+gs0wF1c0TN93cM3/+ig0XXzSqNfJqVzIZqjapGm2iH9PIrqoqZ/ls+lHMbi8ra2i8boOwNuVLJObO2cKm52D8cJBqjsEX1J+4lQK7O1aANeKr0c05B9bNHkb2b8J5WQlepRSs9iaojw2GELGMvnSKqVBIzf/XvPk0/ez0ZjP932RUJtFkMqqlT+ejCCWn9Lf6TolkbCMqSKg7NY1JsVekA5l3knxp9QOooPSTbeSnZAe5h9xH7icPkoeZNodNsNUq7M+q1KHOoNQpqpWdFBsDFOxOJR9A8QahtgYCwdpANKB3byAYCfIVGIhiZAS7IFobi8bqIqzPo/VxftV/I6A2DrF6B9Ta62rtYbtj4GdjRy37szqsdXYwyXEjOPyyLQ4mv+qPB1UjBGV/VFVx1Pk/Af+E9BkvqVZThSnVCiLgdBZZrADn/RNgIDGKVuEFTC68AAIM5JHOCDArcH2cujJ19mNwpV59EO6kH34sjPv000+hUpA/ph8KjQ9K/5AlWi2oAkjsHVaowIpM54D5A63OzoFjLPt0TUX+HC+AL+GLEhyTZAFkEPCWHew1ngE7H8vOptXpFop6jqwMlgzfgCn07Rd3wmz68M4X9/5pVeoFiLx47+Rdu3ZhaPbOF+//06rz56oF5dwL5GM2V5GJFaCO5uaqVQsSYVTXBJQPDrsUV9I8AjEVgXUEMEzFFKiHWTgDUxiRRmStjdQhVQuUsyj+aoyBcAgUPUI4B8whIRjggocnY1Qcc2MP2T0TSiIqi0GO1w6XiLfsjfStAPXlOINQiAVZlojhEpYZDJjjMYyPK5KCcG+2SxI5yJgfI2T0Dkb8OAc8tpueWLlyidW075r14N4wIbn6rTtmlSdC2KNGEUb+/OVlD4Brodt/KX3/dnHo0I4tV6xrn7vgyWuT2V3tl9AvV14xvCXLsHPlqv9qanEkQxs3RTsstnBBVbS0am4gEDEYzEUFlfXFzki1udghK5VlFTWh8bmohxlt9jGBwFirTTYbi70V9spOj9cvCh0bW8Mza3Js5qmXrBtWPjJsKjaaHRsebp91+0y64TRsuqRp1o43eibdsNAZG9/TTQ899BD9dFxb7qzZUP2MyXwv/fSNdde9DyGdd+rNZLQzzUDvMqxdfRn945139E8Yn9dgm739re6xm9bWY1uzBEiuaLp1Q7j62jtTWaNuGtYz1FfiTV775ALhshdbJlmbWpZfds3637g80+d3fpgMV1uDwxcsnFlcWaZm5zkc44YMbfc4PBZByHGai9v8/haTXYFhlQKUTSh1eQSo9Pnag1aP0yIZi8rcc2pHXhYy5Yy5aHU00l5tsOfVDC+Pb2ieclU0P2flA303f/3WTTeuPXrvZVb3yq3T7qJPrN/QXer8rz27YOU99/7BJQk5t7xL/7x7H/3D+9f//8R1mT73Y3W4ej25BG9cuAjy5BAqSKY8A858HnIJsTiKJ5eI+ngspPiC3kAeJgOXWAZqSMLF0iK6RIe8Wy2aMGb26CZnXlnlitVXdl86K2E2I+waTFa3P1IaWdU+xmzxjB41rACGKdbEiNmTpo+oyxLKW6Z3zpsx0mKRCsKR5NgZ48aXFBeJJmeR0XhKdTQOKc0eP2rMww899bO7N8xzqkPEnKH1M+ffsO3QojmbZ8Qtcm6uqtD/EVS7w+3yuUqzzUKRKycXCr2VeeXV4jOpjwQ5W5It1aMuGzPx+s62Km++ASFJyS+sCCerqxdMm9hYlZP9htG9fNWD9786b/LlTW4hr6QoKz2GiEFXIAYNIddh79hVbgwNMqiRUCwy5iaivseUAtlmBWapCgz+YRqmD9rTgn3gORITJpusg2SINS3zB57bMnQgpo4Mw6QbDiy5auWUiZe//yukq6ZRdZ3r75y69cq2sYteeHB7z4wqekmT1ze8qX368g6Xu9xtKYjEOxdVDvWUOIpqIj5vkXPYsBkzu7ctXzGsIR7tnL1xXsswr6el9dLJ1aFCp8NWUlYV8/pikVlXHrxnVbfYuuzyJQdumNSYN3zFrmff62mfefnGqXeu76xL5lTN6Nn+4AuL5tPftl86e3hzRbDY6bAYjeZ8zCPkLXe7W0I2e3l5dai+FqmIMzhkQtuCS0a3BgMlVrPJ46ofMbTKbvN4orWFRagDJSdNrBkRCnH+jKyIKMzuGGESHXFX1wbwrFQiS+EcJSRUgomjOO94Zp1Gwe6ptyuaPVhkZ0cymmCsgSZGXjFu7lCtt27VwgSoiACeOWMLDAbYG01KpLiu3OAJ6mdM3ZWsqK0QtIvu/3qzbKr2lLTvnD5zrz+Q1Cn927BVDas93KIVJLVkBBmPesxmrGUMq6UPWwSJAY4VYC3TWqK9nKkzCrvzxzidV+0oE1iQWwesdgmsjhgzlyjEqzCzbsRi1e0/gBKO866MXoTpLCimHHILYgXrCtQSgn7R7mD3LpBezx/qyu949nBHvmto/rDbfkL/1hoKjRwZCrXC6HmtrfNaBU9lw5DqshmpLY+C75FH6AePPkY/eOQR8KU+rKiZWVo1pFGuxoEYUb1vWCjvilfoF/QE/eKVtQWllUXrZtTNKDn03/Nks9kGDYXT69qWL2+rmVIn0jOT/vxkycz62LyYaMh3VeZ3dORXuvKHgRJqxeJbW/VzKDS8rHZIQ3B4alnXgctWHOzqOnjiYJdwb03JxOHlDUJ7qCVUnUg9Fe8srq9b+uzGKVM2/mop6n/hkb4Z66oDC43whj07Rx4/pG75HcurJ4Wa6bU5CypCsXlsfSK/Znq6RnwkjuPBjDBM7RX5loUwHDw23VzOu81hU2VPRscKRh1x/aE0ze63e2sA5t03f4w2LwZqzega+bUtW16X7kMaoc7bPX/+7nmw/D6Mlo7Os/ttIS8tm3vPnGjnj0YfPeKpqfHAx5uef3HTZdU/Ptq5a+6cnZ1/qA0dZ/FEryPbP8B5nU/KM3ybb+Lo+jrbxkF+yPZyHBB3IamOOxRkxpn9GyTW7wWSXX76Hn3P35UMwHLZ1DC6wSSr3Kx+VN/iOcrs6Kl9LAF9H/z8hR1Sqc9XKhHdrvUCcqnWgT0WByFG0WTMiduMEHUIt8Ga1Od0O6wULBTDggVWpv4u5NPtqc9hDb0dLt+d+iL1xW61lb5FD0F56lnw0V/RtyAC4+kH9CFxL/0TTIDI2W/o28t66EvQ0rOMt10ghCpzsO0uMoa3XRUFNU9iKoQKeaBrOEwcMr6F65vtb8TNyLCYcqGzMKaZcMuiBxVo+dXZjdbIHFlWrEU1rjMGWaVX5g11Z1vL8suaK4RTXtlpSa2ylcr/dFpLyz6wFouCS5RcFvr3Yp+vGEZk2wtUsmgRpbTFarVV2MyCgTYU5IqyWlkh2xxVVSV09S/tZW5zn0GRcZ4U5jnzDLtyrT5vcbDYk2PhOMX2R9h+0GDtb9BmCPnezY/0bgfHOgFnLd9TYnsdqPw5PDaPGBZ6xd5+wjRETJ7i8jylIRPW+klmLmHJCmPHOdwqZYTMRqCESyFFKBHf7GKApmAwRdg+U5Ldk8weC5+HZcSftmtm2DQza+q7f4hNeCdZTKhsmcQ6cIH8XHf3c/Qs/ZCefX716ufhjrXv3NvZee87a3fRr3buhKw/wdBO+rRKVj+vJ2LJkefji8+fXd2588RnJ3Z27qRf0dcxuUToXPqfnTAV3tPnB9aJ8L1IE957GY7arSLrVQ/rTKmL72ZqTGs+tUfS+B4m/ezUnn7siD2nCBncrmxSTKp0W53JEw3b8LAw45c+rbj+mh4vNlQ+VlhYRqFzBg9NwM5ORvu4xiniOdXrRKYcSODZqWhn2RLStLOYjCVIsbNwIOCkhD2HXkx5fl1cZChpxLrUoqasioxHxS16iZ4mqK0PowJRAnU/VFUJy1JC4RJ1xRO8DMK0KYebmya/s8bSb0AwqFij4pxQETyNVRLcDtTnDn9X5QnJGajr4H3rYpwblaQJZdwohqdhm5g+MmFPOowc1Wb6oZ7OvHtuO5vVmF+/pwGU6GnYM37Q9DVzFsh3NQWi+qY5Xx8zYaZ6tXo1tseNCAcOQB2tRYA4qAFvPt+jUyFurx+BsAt/Fsrmpk6VNzUGvTnWYcLX+4WyA/6uwIFCs7lwf+rkgQCG/cIwnspfU5pnDIWnS88dSJ3c7/cfKGptLTwglGHwoL9rYG1ynC8gJdh3KqCUZjv15W7JjOyOIM9HBEMJhdhHNGq6+9n0+oFhkLVzdd/q9Ue+PLKenQAb/LfVmSe4dHY9eze8mX64fv2AfTpdFm/pBcWRdFGoXtgtUY9NNsHfvlVmauxAngZBE1dT07fKpd+cq5VhsG2cr7cSUsFtVza2FeOJMjj6gXqIOIw4UGzpCv+mOkomIb6S+jf14vKNQKWBKO+QXKxTKaJbNdv/Z9AWNEIMqyIagXe8EZi2FUNVI8aNjgLnXYifMpyl8hL6JfKeL5dSBc4shRwYCjl+WEu3Tnrl3Zcn0lvh8kmvrFjxypQUYWauU/SlhRxbZXyTypf09CyDM3BmWU9PXyVcAT2TZ0yfTG+lW/EKL+3RXzglRDk6n1dn5ofh46uOgDcIjDWyuiOtjDNLeByCFgcE46whqEtk8N7PmSM2KK7zTYkUeWC/ckoAWMBbcucvdm2/qH3FK0lY+8fQdWfJdRpt5M268//eSG3h1YC3u257eAVvWsuaEaf2rEDIgf2eoj2nhJN0L2vTlO3e6ZPhinfhQ54DvMoauDf1Fm/4V13LeRNfWrNgJQdjEBho6b4S2P/M7IX1MwIKo15IaLSX9mqQ4CdIyBfcayxNen+R29HPz8NA+nrFhNbX29eriQl+EhPqBfcaS8PmqJaWKxbEsyjzcLFVGqJ+ziLsKutBhlWIVHJ4wPgZPveTiQ44mo49ySgg0DCB4OxPA76mg4+eQuGJEYoOIOjiX2+KqyACXjMH5w1QirxhBzGy9WrBP5CLQSW0/BD1U/8hWi5M3L9f+jE9mPoUJtL9ggPaQHCkPmXYovMFDbs2i692BN4gMxqj1Ne0PqKJuGAUBpiUGahTvdBLE+f4MeMLRu6TZAT8M3kYi0jhT8TfGQxzF5pedmJVJRLvv16lF98zkDzGdIwCW90OHIoaQfXjfMQ+6u3TaELUUo8vEGak9moLEgs0mIThBQqW3qdBL7acPetbwJ/lskdp/oS5syE2Ztx8VOQ5jPYgDCVS/E1WFegdjDc5uLY5g+a+Gp6IUO4z1aMYcwLeZEGgCnxmphyhmAWi7zm09ZMjdPfvj8I2mAYlr67qJ/Me/Jx+TA880b23G//kjLvE72HREZGsepX+lT5JLz/6BCSh6PMH5/VpPB2X7f3fADEo6ovYG07uo+JCecJ1UlyiLcgsBpZmMXgs6luVeZErZnxzunVZs8PhE76u7L68u5L+H193f4zQj8LC3LHa/LgvMbNrmPTO2AkTxp45ylcVRNmeAQ5MZp/BhtgQ1nkNQwXUXeJc3+RIhqCG6Oth0GB3sMYH1ZAgcBqleJnHFv1tkv7mpVkPbm0E1AoC0S2TmIMOHqi+JmH4S9d/MofFg2/G4i95YyWcSo8dD7U3AWoT/tjwU0IZ28h47PiSOSwCyutLaS3vPd3fivsxVWa8mPLAyzg9Liu7m7sz+bwDTkt8rXGazJ2XOIJrLLRmytRuXDcauzLXpZR2NcP2qxk2MD8lQZuypntqmmy9TJvZnUA2snUBP1HY3Mgjhbp/HIKnyrA+GjGjClHAii+wi+VccsyZSpfT5VPn7IR9Nz733I2Ys0qYNFl7DB/AXVOPrd0FWSnnc2B4jjlTMTxbwPBMPsmWEJIJH8QdMucl9KR2Uj65IEVgr9aLY4Vz1EAGuBQpwsFi48WuBvI10Q82k3GZ4pHionAQZ7CQIZhHEFd1HrMLO0w4iKwJzALi8JjKcIJxDwMTTn34y18E7ZOa0f4/PnTz6UcXrZc3DVs69i8pzfLO+KlLnljF4pRSvP8k1L1xzNP0b1X0jH3zqyDeugvsdPKlrz48Dt+3vDP215euPbKtFBR8SFNMJxGxrZLGW8OWpcb87tL1ZPjDOoG1j89EfzrFWVRP+vC9PsKd3RjSzBASBtZnKtczy9gq5/wgfQGHlN7vM6fXizCM/gu2a9QCa6UH04HuvlE4Mdgw/H33mjW718j30zLEJyLsSZ3Sry0L2VOcPvTwGpbkPG6icj7L8IW7kg1emTL3HUNVCa+QPLceEYnTsSJ3IBu8GAnLisuUdN4ZphzXmTJJ4475gqs/7f2pM2Vd/Mhc8Hi4EEK1Ecmzz8TSCPu48Bj8B2nnRuZHmRFDNKGrA/ycwMqx5zgI/A3QX6T6ZZ9OjCVOm5lE0nM9yzVK5oTKCB0j4kRlumgJ12d1cRiJNUHajsVtTNw+OWizT1UPb2xdVxV67vI9pwolwvWyHWWejYfD1Us3nNrT0srXpqaCKqf9Ye1Wxr+DbGEEA5ERbCdNRFquHEwmP207mqQN9CS8Bm1tnyaPt83e20/2yruSx/ARjKcN4GaPjuNdW2rHXiAMkIHJLpnRKPVc/4t6RWS9Qtym+Af5f+UnuKwRsPCoByQCn1PLLJjFXFTpL+THqYVaOmCWBrO4HRIX2B8UTX8H1zySWyS1EplFf8G8UGHWLGqRH++gv8B3O+BzrssnFFYPxuiYgASEiFRvCllNr8xksYDUJsHTMSxJsHRYFyMm41YCIYE/jQlsDKZ6B3wJRKwe88bEGSxyd9o+Pg8BVyhWTX+Gc5st0syzNE+QNe6STIwiq7zGSBmbAWeJoDsecx5fwG5kTfm2/ucjQZzZNShz4lwTJBl9jx3xsM03+D48SB/8vnthgEylMqE+7cLAgAN0xgP6e0K8awRuB+G2DFbnb+1iZ5CF4ZisG2T4WbeNMEMJs5718TiJObNo6dUu4qM0jvD8GX4FLsg/zASuzRcdVI4YZYownCtKYxlpmQI5K2NWwEyZqOExxfhcwQeYituv2xAydnCGM8U6FjN5Lqev4LEKCiOAIRBEfIc3iF/6cJBv+vQn/eQnn96kcODglnD9mnrzbvqvX5bSf0Ju6S8hm9FEoq97Ja3FMXxOAwBDq8Eg4IIBFJCwesz1FnDe8NZi43SHX0U5vLGqfVypDgoCVk3HLmBmGyZH8OJ2bzzsqHSlMeIc9pQPYI9ej+8rPe1JSDJ10If1/JI5HOnQ+R1lCtxfn/EqI7fgmdjWlkfl8hqBGDECFy3zLmf6JzNHpN6bKwToXIGNEMV1xy1yKMD38Qfn2bDymZgo5c4cePJFue86MKjFNP2MZbNhuUpNsdXI8gaUm/q6TY+5iY84kxBNyGrTs5nVLRCJc41F4apFIjN1+4hYX1/fd4TZo9hU0vT5fBZLi/80zjRNAdFyj7pAXUCq+M6K6ldUixpkRDFoCQTlINMf48G4HIuLcQeictwh2h1+h2rHseaT216vLmikv6tptm95Y4Sz5Y0ttqZa+rvGTwyGTxqhrrbJtuWNkdaRb9xqb6qFOhZNN3H4FU7fam+uOZdSzyA3O4E5NNfoST/RM771dcy4jGM3ucDGYEV9/rwvH4Ab+VWI+fnOaRyUC7+BkOo3n96yaYNweHwf4aHUmPHf+iAidWTL6c3jU2M2bGJX4fCGb/GH4nNypTyjVyCgstXPlrusc4eUfmEsCGGYsEkj4ezRY/XF/SaTwWx1n5srOo8y6SyRxWZEvUx0qGbceoBz8ZTsyxH965GBbxIyOK+7D4n48AwrnmTwftD+QyYtkiELm576dyB6iSkuIAa+nyCDvp/A0tLfT4jAHbwN34u5ZBDm6kbwNNalQRc7x4AAeEZfsXj+OgO6vKoixyOWv4LaFcNcjqnG84rxpH+DihPS4CoMFAm82rj0M0XzL1Gw/0UtUzy+hO1mrR+oxoXzznLhvJMym3TI1zy2MDK3C+edsExH+720V9v7rQlXz4vpSzJooWk5dl55ju/+wodx1m995ZMazFsvKOjskfP0yPPKCH93GfrONa4qB9+uZkDLfqUQjnIPqO8pH170t7ffsf/n825aUlHkLCyKjC52vmUyj5n+fXUSGhqndSdGXrR/XEFBia+k2Du0umpkg7fUaquOpH3hdZ1Xn9Xsp+K8YYYKjrknqRuHzQ0nL0jLEhpZ2hSOvESYwZ6lZcyHupk9I2MHYUzHTOz4RhgVg7AFj6DPb0HNLlzMggqjGimWeQe00/85UamlPuvgtkitYwTeybwu3I7JE6bDvO7/xPrkKtvYTgbTQFsEexnEW8CF0horv35CU/DGZ1+YcP/9E1741caK5gk4ZZeO+c1r97YMHXP33WOGttz7+ktj2Jwgl8BJdafixhWsfw3F7F8iqBbRwQzaQeGyE/Qo1Jw4Kh09cfToCag52/U1kK/lhm3IoRu2QQO8to2+Rl/bBq/RshaJtDCdjOunaTtQEdv9MQpRFLSoxX3LgTjKtTREubBJNxIpiCqsnX0oqges7lEm33UTrcxhhFnz8IRU9lwKbtMfMPp+ux6lP1wP2w+Xn/p3JWvkO8os+4EyLSj+g+oPldoHL8+lOw50/lDJOH1e7mSJGIqm56iMcgzLNRkF5rRgCqIIY/Y0k8CtngyARYJyaEfbc0v6OR7LCWYdpb18CrMPyujxHW0Tqabfp/0ldFzP4z7Vg3OVL8iLfMf752wPIuuTjCzycgdl0Weq5w4WHD0kPsnHrk4mV48dt6Il3ODzNYRbVozjMcB7SsaVxzRSdogDoUEYx/lRNrPSQBrEeYnMv9kT5Fv1wC0jDLgljS2shmHdKdLtDxcxNS/FxaPE51EfSW6Nr1lTPvfiem0wd+K2hguHlDkEurFzZE+Uf1qncEW4j583nwb76c1slxR5h3TeGGq6J6rG6SbTNwQiz8I2FBAn99f1cJRUVBt3QfF5mCmOQWglFOlBH8qkZV+uXr1w6sqFf/0NnQbk+iVz6uouXbt96YK3FG3smHuW3ZinFt20+r6nhV8NH9daWkpb6PFJU28jaTs6kTP7wz4xrHriYYsv7pFna19oFTRRwS6oXnKFikvOtM1b49wim2EQ6+eMYwmYgswRk7MLOJCWxzhxe/s5Vko6Xel7U0j0phaAm00QI/ezZv3KeIOR5HB/ZxuOIMp+i8ljYR8asNk2BEC3DKt+I6BKr+nKDWjf8DHTzS2gm5i1bzROhPFeThNjiqVnDC9shEHjLErjagYztmnny0kz+Y/zZZgjqKgjuLtlMF4j5EONMEJ1jIAyCNRAvhQcAY54cIQQCKoO/MsXWSK8RVkXR3jmCeP5QhnGYaAM8iGuloEazzcEK/HGEccMJYdaIyvMXdNRI48QkDiPEPBtScWkIuboyMdZd6GIzBPFLNnkEsjLkGhT8n1FhcMiFUEAWXbkWnL9geJRzsJch5xX6nCGC8XcGkOhrSJ/Yo9k9Ug2Q/OkZqUgJ2R3j3FdtuidJwO1bl+NSynJrk2Wx3ODxV6Lx2MszbYmY0PlvOxQgbMsz+fMcjsNhaFgnVLamD8kWIUKowEMcpYMTtc1726SsrJHubPUPIMh35rbHBTyLaPrvEaDx1BTWyY4Suoryk2CRxr6LcH9L0mxIMPum/zHp7LCRQaLTSyNueOq2ZdndfogS/VnNcdkVbD7so0VTtHuNNqz1ycFk5wlGLN8pc0em9VkMIH/ZsgxGBTVLDrkItvQfHOJN+AwmbPiVos9x1SgWixyvsliLXQ2O2srKt2uSqfRPKW2oNWUZcpxlIcWz/gJ7X+mPOeWEa3DSgqiLXK2Uc01Fxepdq9FrjMWZEuWxpGjyzplh8mpcBm6V3SrC6SMDfJbPH6Az/t+fcMNv75BFAdfpJM38Ougv7SfJLO79DJUxzlvIF9rYq84YK/BGwNbKyRqArEXUb8vwd6REnwvC+ORa/BYA+lLcDtOIr3PJXD+wqL1PAfbACpILRmmf6+sey4hJ/Po3y2nv5YxIWOLDYd0VHl6wUtpYodI08i/Ru4njWOZLtwYuPqmrh083KfvRQrJtMPI2LXeB5jc6NIkn3fdGIZ8oY5WB7WP29H1gHftWIyw87QHMoRZGdAtzv/2PS1LMps7me+4gejSpI8wBV5EAU55jMhAgmlOeFCSCQHnYXqY41ucY4BGcvX9EKOIOjEEWyS+Y+rzBiEaDCj5oDBfLodubiyDcyYaAp9igf/0+8EP3MtP/G0M2xGjBxPOTv9Ef5c/X9Dy/RjKdya0p6KBQNSvatSBtDPX3xWAclG2jZu+8QyNTkx2xaBNSzjzMbH+VheGOp2J1L/wJX+UkMHfEo4mE0k7mUeW8D2jtE9gC8SZU6DHNBDDfGzZ8A6KiHLlf2C0mdUHrxlQH/D8ueCqDgx1Mpoe9rGN/Sjx0kG2m5MOMiealD4N+tJq2vmX+fq484nwAJKqD9L3Y9Z5wZeMPpCeJ3j7wJ5TkJk2OJPoB6f2pMXKmeQgZTiZmTsC9skpNaH08v00ou/Lh42CiGzXwbZHM2tWfsS3plXMFmh3v84k6fH/Hsc9A/Cnb0TJPdEWoe+kwGcPqoOzerYxkxi7F36W3sETYBWuqZ/imvLwvRYH9w6Iu8BhYh7XgzrZFrb5TC2Q6WaZ3rGMPkCX0AeW3TH2lR5NS/edpvW8Qn+kd9OROY/+9s1H5rRdYoF/aQ+c64UHNJptWSqm0o0W0nOCkMk4H3SLVyX75tdcCqytwyESZFt85UFlIMIcDwR9ujUsEg+YeC3xoUtwtwjML47dFah2m98bCOreoI48QeWbBG/neucuCkQC18+lX+28h/5rzg14s3iOJ+9t9rS39D68XfrY5yB9/thSDO4qSWk7U8Pn/mNT5+M/aarY8mu+qTCybRnt38rzS5x49MpbNl/52HH9bivAsgmtmGTqgiMg6HHXY1aY5fX6He0/0tmh/WLzwpXhzsTcWyZnbF3aoL1swZNGC1nTTXps3TOeInHGwMaQMgSAAQ7AuI09bPJWAclCLcHqUO3EIb9+371H6eX0SfrXV1cJpOv5S6D+sBgOU7LqVSiBabDt6Ocnnn+a/m06r8OrOBca+f8FUcr9zjhX5CTaGg8rAjOvBoRg2AXumDR1z5o1UyJzws/2Wr98up88/aW11/EOFB8XtTVTBDJlTXhOhJKpBYfoF0PoF1AwBAoObT50KO3TLGJLB++pySS9p3buO2pHxoLDDZ+mwWE13SeDzpxAZc6MOn1XPKTfy+gJvL+zM9+Z6T/mLsDwltnSGbHWQ6y/+TduhNfNyHbRQPTIoh//PCIKMe654JHIOroVqtahHh25Eqro1nXHhMdT77yTOpE68U7qHeFx+WN6zx/onvffh4V/EFENodekboRb6DrhGrgx8917poyMP4SnGFCFH5TJsWOo7g96Mb0ZN7h++YPfFnklL8zjWKaK386MVrD6wbK07x7X1ezI8CuZ/cmIs4vtZnOc9nBvczbv1EAQYZk9hfq43cFs1gof036udnWxweCBueOHzLphj77r20f0O8q4MQcyLpaBpP/TkKZrF3Xq8ZSH4cLv9arJBLLoO7029Z3hgId9i8x2j+3hWJhv3NnjulJSnv5M2Wp31PNHkqPebhl4xp+EM0/s4njohol/27r1b3Q/vZ3uZyGxy+LKN+bn/Z3+NXb1xNEmk6nI6cz95SU//uKiXK2kPLiJPvPIuFunjA6HyhSn0vPLn0OgK8epuWrCd9Dr3+l7JBEO5Lvlx359GGZfXaRqg7OGiby4s8vykRcX5qlbTWaTIbvYbHPlOpsacj6qcTVYJ8/GEk3NJZGs3GDbqFxwRvxh57xZYduYQDg3MCWZc15fidybtIjNdh//TwL4ZrzoyzARWxxn7y6hZFffxcpwWk3v/+yvlChLzpyFiz+Fx+THaDUcYwccP/s8HcUIiPR6apQ45+yOY8c4DqVtSen95cHaJhPPusJznmcmV3XYyuQx/Pz/AAfdhq542o2QsWrDMBCGfyVOSjOUDn4AdSlJiY1sMCTZ0hQHQqcM6RyMahsSKVj2EChd+wgd+wZ9s7xDz4pKl0IrkO7T3a+73wZwhU8wnNcNHhwzDPDiuIMLvDvu4hYnxx4G7M5xD9fsyXGf8q+kZN4l3e7tq5YZfDw77tDcN8ddPOLDsQef+Y574Cxx3Kd8gQU0DjiiQokcBWpwDJFhRDGGQIQEY+IV6SQU0RwGezR0GpvBQh+OVZkXNR9mIx6LKBnzlZaKz82+MUaSZGmV0k7JqJOit1hKJasy04p4TcWcmu6wJRHWMm92W4LUimsbK1JIayskYxwz2r81PlciTBBgSvv7M5BqVae6yiWPQ8Fn/McAXaJJMA1a8/9wu7FFQ2Vtf4mwE0IbW2fYyMqUWnEholAIwf/u+QXtVlqxAAAAeNpt0meTFVUUheH7DhkJEgQJgpIFhdvn7NM9gxKGCZKzKGZyUHJGySAgSq7i5wrFfYdPdFXX+tRP9V61Wl2tt8//rdbh1vueV29eWl2tYXQxjOGMYCSjGM0YxvIB4xjPBCbyIZOYzBSm8hHTmM7HzGAms5jNJ8xhLp/yGfOYzwIWsojFLOFzlrKML/iS5aygTUUiExRqGrrpYSVf8TWrWM0a1tLLOvroZ4BBvmE9G9jIJjazha1sYzs72MkudvMte/iO79nLD/zIT/zML/zKb+xjPwc4yCEOc4SjHOM4v/MHJzjJKU5zhrOc4zwXuMglLnOFq/zJX1zjOje4yS1uc4e73ONv7vOAh/zDI/7lPx7zhKc84zkveDnqwsljg1W7bVZmMrMZZjFrszG7zZ63mfSSXtJLekkv6SW9pJf00pBX6VV6lV6lV+lVepVepVfpVXpJL+klvaSX9JJe6njZu7J3Ze/K3pW9K3tXbg9915id/wid0Amd0Amd0Amd0Il3TueesJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn0h6SS/pZb2sl/WyXtbLelkv62W9rBd6oRd6oRd6oRd6oRd6oVf0il7RK3pFr+gVvaJX9IperVfr1Xq1Xq1X69V6tV6tV+s1eo1eo9foNXqNXtPxijsr7qy4s+LOijsr7qy0h75rzG6zx+w115l9Zr85YA520l0Wd1ncZXGXxV0Wd1ncZama1x+EcTsAAAAB//8AAnjaY2BgYGQAgosrjpwF0ZcUq9bCaABTzgdAAAA=") format("woff"), url("./Genericons.ttf") format("truetype"), url("./Genericons.svg#Genericons") format("svg"); font-weight: normal; font-style: normal; } @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: "Genericons"; src: url("./Genericons.svg#Genericons") format("svg"); } } /** * All Genericons */ .genericon { font-size: 16px; vertical-align: top; text-align: center; -moz-transition: color .1s ease-in 0; -webkit-transition: color .1s ease-in 0; display: inline-block; font-family: "Genericons"; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; text-decoration: inherit; text-transform: none; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; speak: none; } /** * Helper classes */ .genericon-rotate-90 { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .genericon-rotate-180 { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .genericon-rotate-270 { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .genericon-flip-horizontal { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .genericon-flip-vertical { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /** * Individual icons */ .genericon-404:before { content: "\f423"; } .genericon-activity:before { content: "\f508"; } .genericon-anchor:before { content: "\f509"; } .genericon-aside:before { content: "\f101"; } .genericon-attachment:before { content: "\f416"; } .genericon-audio:before { content: "\f109"; } .genericon-bold:before { content: "\f471"; } .genericon-book:before { content: "\f444"; } .genericon-bug:before { content: "\f50a"; } .genericon-cart:before { content: "\f447"; } .genericon-category:before { content: "\f301"; } .genericon-chat:before { content: "\f108"; } .genericon-checkmark:before { content: "\f418"; } .genericon-close:before { content: "\f405"; } .genericon-close-alt:before { content: "\f406"; } .genericon-cloud:before { content: "\f426"; } .genericon-cloud-download:before { content: "\f440"; } .genericon-cloud-upload:before { content: "\f441"; } .genericon-code:before { content: "\f462"; } .genericon-codepen:before { content: "\f216"; } .genericon-cog:before { content: "\f445"; } .genericon-collapse:before { content: "\f432"; } .genericon-comment:before { content: "\f300"; } .genericon-day:before { content: "\f305"; } .genericon-digg:before { content: "\f221"; } .genericon-document:before { content: "\f443"; } .genericon-dot:before { content: "\f428"; } .genericon-downarrow:before { content: "\f502"; } .genericon-download:before { content: "\f50b"; } .genericon-draggable:before { content: "\f436"; } .genericon-dribbble:before { content: "\f201"; } .genericon-dropbox:before { content: "\f225"; } .genericon-dropdown:before { content: "\f433"; } .genericon-dropdown-left:before { content: "\f434"; } .genericon-edit:before { content: "\f411"; } .genericon-ellipsis:before { content: "\f476"; } .genericon-expand:before { content: "\f431"; } .genericon-external:before { content: "\f442"; } .genericon-facebook:before { content: "\f203"; } .genericon-facebook-alt:before { content: "\f204"; } .genericon-fastforward:before { content: "\f458"; } .genericon-feed:before { content: "\f413"; } .genericon-flag:before { content: "\f468"; } .genericon-flickr:before { content: "\f211"; } .genericon-foursquare:before { content: "\f226"; } .genericon-fullscreen:before { content: "\f474"; } .genericon-gallery:before { content: "\f103"; } .genericon-github:before { content: "\f200"; } .genericon-googleplus:before { content: "\f206"; } .genericon-googleplus-alt:before { content: "\f218"; } .genericon-handset:before { content: "\f50c"; } .genericon-heart:before { content: "\f461"; } .genericon-help:before { content: "\f457"; } .genericon-hide:before { content: "\f404"; } .genericon-hierarchy:before { content: "\f505"; } .genericon-home:before { content: "\f409"; } .genericon-image:before { content: "\f102"; } .genericon-info:before { content: "\f455"; } .genericon-instagram:before { content: "\f215"; } .genericon-italic:before { content: "\f472"; } .genericon-key:before { content: "\f427"; } .genericon-leftarrow:before { content: "\f503"; } .genericon-link:before { content: "\f107"; } .genericon-linkedin:before { content: "\f207"; } .genericon-linkedin-alt:before { content: "\f208"; } .genericon-location:before { content: "\f417"; } .genericon-lock:before { content: "\f470"; } .genericon-mail:before { content: "\f410"; } .genericon-maximize:before { content: "\f422"; } .genericon-menu:before { content: "\f419"; } .genericon-microphone:before { content: "\f50d"; } .genericon-minimize:before { content: "\f421"; } .genericon-minus:before { content: "\f50e"; } .genericon-month:before { content: "\f307"; } .genericon-move:before { content: "\f50f"; } .genericon-next:before { content: "\f429"; } .genericon-notice:before { content: "\f456"; } .genericon-paintbrush:before { content: "\f506"; } .genericon-path:before { content: "\f219"; } .genericon-pause:before { content: "\f448"; } .genericon-phone:before { content: "\f437"; } .genericon-picture:before { content: "\f473"; } .genericon-pinned:before { content: "\f308"; } .genericon-pinterest:before { content: "\f209"; } .genericon-pinterest-alt:before { content: "\f210"; } .genericon-play:before { content: "\f452"; } .genericon-plugin:before { content: "\f439"; } .genericon-plus:before { content: "\f510"; } .genericon-pocket:before { content: "\f224"; } .genericon-polldaddy:before { content: "\f217"; } .genericon-portfolio:before { content: "\f460"; } .genericon-previous:before { content: "\f430"; } .genericon-print:before { content: "\f469"; } .genericon-quote:before { content: "\f106"; } .genericon-rating-empty:before { content: "\f511"; } .genericon-rating-full:before { content: "\f512"; } .genericon-rating-half:before { content: "\f513"; } .genericon-reddit:before { content: "\f222"; } .genericon-refresh:before { content: "\f420"; } .genericon-reply:before { content: "\f412"; } .genericon-reply-alt:before { content: "\f466"; } .genericon-reply-single:before { content: "\f467"; } .genericon-rewind:before { content: "\f459"; } .genericon-rightarrow:before { content: "\f501"; } .genericon-search:before { content: "\f400"; } .genericon-send-to-phone:before { content: "\f438"; } .genericon-send-to-tablet:before { content: "\f454"; } .genericon-share:before { content: "\f415"; } .genericon-show:before { content: "\f403"; } .genericon-shuffle:before { content: "\f514"; } .genericon-sitemap:before { content: "\f507"; } .genericon-skip-ahead:before { content: "\f451"; } .genericon-skip-back:before { content: "\f450"; } .genericon-skype:before { content: "\f220"; } .genericon-spam:before { content: "\f424"; } .genericon-spotify:before { content: "\f515"; } .genericon-standard:before { content: "\f100"; } .genericon-star:before { content: "\f408"; } .genericon-status:before { content: "\f105"; } .genericon-stop:before { content: "\f449"; } .genericon-stumbleupon:before { content: "\f223"; } .genericon-subscribe:before { content: "\f463"; } .genericon-subscribed:before { content: "\f465"; } .genericon-summary:before { content: "\f425"; } .genericon-tablet:before { content: "\f453"; } .genericon-tag:before { content: "\f302"; } .genericon-time:before { content: "\f303"; } .genericon-top:before { content: "\f435"; } .genericon-trash:before { content: "\f407"; } .genericon-tumblr:before { content: "\f214"; } .genericon-twitch:before { content: "\f516"; } .genericon-twitter:before { content: "\f202"; } .genericon-unapprove:before { content: "\f446"; } .genericon-unsubscribe:before { content: "\f464"; } .genericon-unzoom:before { content: "\f401"; } .genericon-uparrow:before { content: "\f500"; } .genericon-user:before { content: "\f304"; } .genericon-video:before { content: "\f104"; } .genericon-videocamera:before { content: "\f517"; } .genericon-vimeo:before { content: "\f212"; } .genericon-warning:before { content: "\f414"; } .genericon-website:before { content: "\f475"; } .genericon-week:before { content: "\f306"; } .genericon-wordpress:before { content: "\f205"; } .genericon-xpost:before { content: "\f504"; } .genericon-youtube:before { content: "\f213"; } .genericon-zoom:before { content: "\f402"; } PKZZi@@Vplugins/catch-web-tools/to-top/public/css/font-awesome/fonts/fontawesome-webfont.woff2nu[wOF2@*?FFTM `r 56$   ?webf[@֌nC˜tTLɡftȰq5?=ilґ\vl Tb 1fú7TQ D;:Ю1l׾jvenEߠk5>d7QlBa ux].WC$8v#y`F1aM8諠w=|'є0T|2/M%b tY$!ʐ5cb̚( &-A/mY /yo\Z= 5ck_n3㌾(WɃNag+O樴R'5=?mΩL :ދ*_Vz+zc1`Q#j/Z0-FibF"2ipÀF(2b~H]J]jݹFf-~ @ggB-Tx%pUume ';@7 t=pN/_U8 rsX=gׯHjcَܟdד_1l:1iITr>v{GbضT1*f-x-i{1h>(33!$:j~:ugv%ѽꄻ? d5+fUzҍXXOo | s&$y'x[`2(E_kbbp716;~vo[byݷKrfMB*Mۧm @ 3`,OmrFa0-P6Kt}>O`jT(aP GװSz=naY-fѠTWUV?](k=GƦW_e[K?j@eUw uNS3@}3AX?dz8iC/ɛJKE'&]=z_z;&K R∏Wk49 eb,g8{o>db7l1j|ʘUo#[U {37**Ef[D4GjAѢ ':ԅ8`WFckO.:q PiO,Vӫݽx3Kn5JjL {{^fy]O^AFі C0}XHny4tJc&&{ZsF|rXF5˺Pf5_jZkn( Qs<E':"`LG9kjSC6Aݢ1 &/ &c|n<؈>o^ ޮ)t8%iꪮ6̕4h\T˒)`$w_QK{x 0#́,]֭en%3jF* _|q2a#b{9vz2?.EX5x]U =ьnqlԔP!8` Z<. r+&ۇ:dOx1;! 0E[r'b>M1A;E5N6T!dHj9Mo2;Lڰ_"D<k<*-k"Z }m9(.{y̎2΂- R%hM%K3 hC>iV' ƫb':U됏T$aՠtZ,XW%7m]<t18fGHmeYI So[rYڌ\Ad)1ېOJoͺcQh!Si= -(LzKDC:Mc$“q־hW>KA@QEDtuqW|0QT"W|(aWm j 1!2H':I_f,CbjA\ΈLᔯ1 )Ha =N(U;qlqђd;h3`gkz"%(8XXЌJk_wo]Ӟ J8a46&033=9)v̞&JPVˢ0\q$HY1i9/i}4,rpջrWubiܝF# ]ڱ)b/5LN#'Ognx(aӑ%ct{&\`NQmЮTɽ}Hyɑ\._-kst*5$x)M/熡T=bq{:YDbBNfJ*9VDl0K LtNDy)M|nK<,*7+Iۚ٫ xA'zңc4EsRakszb)=m՜Ħ2ԃ~An4X;-Fpjd0M"M;p 0p/9iĠ|N:Ĺ EH=H}Ll@cOF =wAHKXE> b4a گs+BoӢwN޲ZCu^9|Bf6yN%.=3K$@媶$THMċ-EonW$F=fKQW(_|bA-qZ&猐[@EjC &>`Y:3JD8+g*ٕޤh2IY߽ ,&ʕ/xӫu b? F_)fGB ) i[yT6nbUO7l?bx5Rk/`C*g_N9 j=4ACCcs4No G2*8rJiOV?uVNoPCߗlIDֳt׹YZS5(F]y\._<.`9sJ]JOyQ WV2yy K}C^u0> E/{>W60@[`^ل S^G-u樱ycsiKnfl-4>wlKx-y f5,fTFd.fIjveY6J.is oUɾb)DO,|\)] xv:wƟaw cŢ0Bf}vp-Y"#1 2mU@Ε;T.yo]۔' mDZyaN;5H@VE>kv=nݠՅR~. .{>,G&^!>ӮK)\'K54-F{g:ABP*)Inj )H!E .#CncV>AU]=ZE߃aہf͓qzblj5;{|:͏|5mF% r HzX0Qh#πj5TxDDp^FOvRֆǟi!4&[~{"2+>U] ZuI4 qKt1rYxiMWt9ZVNo_~wР}^Pr:c^JqoKf=Y sr8(k'>Ձ :1ڠD:&vbyG(\컖Y8 &O裨4>;O]"x 6.B2FM8` ,lT!T9MUh!FAGuBc^/Ӧ*ijSN* @8\svq*1,9jD!nO_s=9w9&a>;g4)GRjM)V>5j wvz J*N=M)RQN2Dy}[ ՎN0A{cU@ˆULU$ȼ[+[ӤmՓ4:u2{wM${-Fzj&Mpםg q#"Z,ѣ2,CG]۫pkߩ< Wc~0VZRJ\W -JnC$ ~[\ˬɬrgz Stq|_ĨzR0gPzV-bU%;Lr@MuKR;2lFo׈^U7ϝ:5rJ|!!Mf0Ce7 {U!s ݩB  ~"B1q*Nj+7^7^&DCϞ>pB[i[IJ{pU[/T%po6Z#j'l2F ;xE}owsH%mOM%xB WbҸj0L@:I9pt ]xUT*g -r1[P|:$Go<65!#@` 'RîFӗm mӀߓ\ :Ȣxap(3ک4j(n{uY|bt)&8sU-?*l[G/Uqa ]A{ ,%7yz'Eo] 3El *k/^D/kuC *`NǓfvL퍝#_fFƳ.Fs]59V64601npX^ 2cDf g7øtp`HAkSb:T>3'յDsY]KIZ9vqKO+Iܿ\c1;i}ѥ!{lZ VZc *p22y@ %}_Z:oo&8CWFcqll1Pb6Kʷ#J`s$`.0(`nAi`>bC4d9AnCZFBW+vݻI* ܶ~O3>g.IT4 3*9K`"I};Ѹ0:qAmj U+OU:d3v-Ggšv&G7E,t'KJ(@[.1jh.'TjJh clt\[-le3`-cQŭ&QG' ,xjw1xo{2|I+ O~'3꽙G<]B65@Bz]2"_1*?91Rʄ"|rrIO5B/b}A ~S<}6/~Rdf6LIk)6gGӋ:\6u!=/02J"GxZ:Smy3R2ˑYdf_j7*i!E4ǥ?ԍD<! ]IZ&mO%v~\Mћg/SC(JLYŃoC:VǓA1yхgӮHx𢺥Z{ 6N\_V}y*]m/[h{EhwapЊW]7 2WxL"'jU$U~q9_.j dp ?T8 u*-/)HlYsluƱOZQ,p*e̙EZx,&8%Kcnjdwes?vs{-.A.w<!!X:U9~*x *TpO\G?^`<'߿*T!D{@اs$K(U,1jPL!- Ho%5çanоWwpحkd _yxhAMb M] ;Tn|D}Kqb:'A QrC&?ݬLC$|ƊLNieqƆpLQg;Nf^RUbz^>ždr,/vKO#V^bGqM^;v +5^5 S++f\߸ 7(x=ȵ!i*Tl +(@ӄX*2Bh*& ,vH/ P UQ pyn&VE=_Ya^Yj+J5u@>37W3%u9_3e<)0x6Fz UEXucxMi bo `لp UGj K嘢_-; Eb 8[t?lϙ;JRP ,z - 43œ=}l,u&P;,ɶG42h9ri l#36վ"K !N#gmRyw3wU v#B\^  ω`BU"^&f[qn4xso/FR^9P͐ 2A|mݥ|UϠi͏X^ʹq֓J˲~n&ki `;c@bJb2! ͅ M vQEs$9dzr{U942Iע 4( NDE"ԭl|-klWJ2C~it"#juGo跠|D<<?`FړU1CHY1F:S҉gȂ. 0؊|:DaN nLy⿛ޗNlڔ,KA0c)[RTIF|*$ '[IODf\~!"qݧ3k/JX0_!v |eZطe̕(2[yQh䀟NsLn+E.|,l##‚?cW)@) 9u{D_pnZzF7:`={u'uoZ?iЛy1cE6=(All{9}Nq jԉetJ3%N'+@wos-aeEn1B B'#<|W-6!~yx{iWiYNvM`/ =wrʢW~+cHžYM0w8)>{^?2hV0 =h w\y+r(je+Ȉ? 1@.\Q:"s?mCTaDUC KNjzOtq{Fa&)e07Rq&z]Rowht-u.ڷÔԴc$'$AQ7r7&gqcg/Z~o`6|.;mAr4T%5ڈ!h( ˤJL{5On#j4P nL|*IJ7ntH¸0`63QM`xb"NdqF?z4ҠcIu/dj!#`Ѕ=tßƵ8o<!TkWL$̇獐ίp5, wsi^qKPষɴ`hH si%}@NWtrƁCޏڨPP.A҇9;piZ]˨˛)뮜yFJJ-/)`/L~-Bt'Zgf:JMc{fș=T8=un'wنRix+hT6!eIa6Np? һK |NiͶ>A\}*n̨7,M%j\cǨ~U;<*+3:r Rz0; I`k~p!;^C*{LuG0zy K9bLXwm %V vB$yu|v$djgħ3gu 32rc[H 9A`po6%oZwCA߯Ib4gh7bo̧H7aI(E>742hRkyB Wi& Gx"a&NTPy@}j&Qt&SWQrI<9v1lY`)lĻ,,p7oc WWXg.05s5OӔ|JJYz'PE3Ut iuW569^#dZ&c/81>yaO虎kQeR`ӡ3QE,H=hGzX43UC|zRCth#l0Ra&b[{NItzvmˈ Pj1s &y~iwń59OjtDo;;j^mB75૴tsE9_ާXJCpM‡@eU7uyQ9@lOZEL|+,b&Ѣ vDy8܋;JБHA=^PO&@6,6s<. ߙ3F[P,B!G5R^5-ҾswR24!g֦vkіs{)whT0;j,RA}Srg,&Ζ(Z< #+ff52<|yuV+(KG@Ap!DgهI 'Zݦ+<i iyMUpbA:j`3vq?Ӆ"3 {4! D#qZ]Goy j)՘$li_>WGVa7<" ˲w|R o})h2۰JX-7GImJ;_۸h/$-{7mYufލ:HIbItxg/;%mpj%9b; xR 6GͶ! Đ~ΈHHcp~6rc=ԛlM jjS+-<#vf=**Nf["$a`K2RM{7܁4asp✅0n0FxLw[ 7&ߧ]|k NPx^,z,&XH8⎮#rj5?s)jiԑ$JP(uE0;9t-Y\nE4gGaxJ ]$9}#-U(.:➱:rrҠ!ItDWW*վZ /Q%&"4Α[e1uzo *$jB3sA0̔sƠ}& KI `Uzg"M=cT|-11k3Go冫*r{;CPhjNq=5Jhku1ٻr|vRqPƳ"|$Bt9nl{B_c;K _c&.t㛼xZiD*?rqy}WE.]1Ή^jh#1v30jHU nL V/ -r>eFHSRR}h'#lI\2W½_3W;F| m%vb\OqPoJ@h+%:#O;TTa*1761Ƅ,3v"Pǥ J!CC{5>cJFQ`@j8ۂd0m̟SRl(F \XO#cM֣Oc07Fʹ '=N IN;Tvx=|%A|NMHCQjR5n)StJpY:0>ϲEOnn|ȆƓo$ #!%.1D_YjXݷB=NsI+Q#Xtݰ BPv+3 & }Y6euzc?ejjb9ZsTb] bMI!1|M.Zdah2rG oJjzQ5=b%d4I<:SN#ǫ @4'0K"Ƹmt&dO9mΌ&u437;]?-H"*O1%43& Rr#]ddY/C/#o=EO|Crxצ +ZxXM bɅW9GݙPw ,Ox pcm.dH,T$Sa-t>K ~LiLvسx&&uYTyJ0R!0j{:$k(x{И48F#{qZYc0XCC:T`J EI#*Zl3ߟ$ɻO4Vq`AG7kuDWFnUuU"9S0&e#672OvZKF4Pmh^g];q߇:O7mYW\b1XH_ҭ7|&Fn.a,_6(j=p-jE ȸ^#qs<40."jǓ*g֣B+x޼?w&Z<=w5B9MOghׅ6_'^l _5mJ讼wP4 .]5BX jGvgѝed:O]Q`S9uNg>hb (ZVRjۡF[Z&H01`빬oE4OeE W#hE5NwCxwX^Z@z] Ͱ MvN?ӻ6!z0R:`݇p0v)VwdKxN:T4c~-٤ZJCyoT p: A]D$x"lŜ I_v&# Ֆo-'fG'*EvKܣو!ל{E G2ÊUtb-ܖ:6ӧN;bٟLm϶NV LZOGSy, ,b!Rkؗ_vD C+Kͨ(2a^/odnzN{L@ s-8?[hmIUC8V7CT gnRqjB ?iZb(؜D>c .mrk#hxASt;vs N<)ʁtb>ImNKTTŞ^V?_-Nw6ϔh㦤X,`$$n)]kpkR玟-ϒC:( 3mmhGڱA K۔6:GܖL m#Mi9r/E8Y3H?"sSGuTs=i*uۏmվQ̡7Sfpf#3CG_3&?aZF sⅰ^;ڒ\5Wj,pG :_^lsKgΎcqfc;Qc|3cWqh`Ǣ; *LETpwxXItZTp*PcЗs-uݥzjAՁm{P/sܸ?2L>2M&Q՘-Csh%%[od{+Z͠n8k'T;)v?.AC~.hu͜@X0  1;XY7Дhӎ%WF] D?=(;^F^ɡ)#j˯ "h &e>^E^^Ʋc(@<^4瞁$h">s\:$j+e1 ~< Z+';q҆tIn7ed ׇ ++bMMKe_ 7AJԨX>/?KZBH2kI$7wqoȭzn,N;L>euzJKۨ|77 ;I9۟${k:ٍsKZ6"O|ۄ- 8wr!0XŮh7t64vW u߼L;M)U~ZjDsYs!cw_};Q2뫮Bp bBQ*rEB!P`t>ߣ{`MW|&'f_W  .̭lT6͐jTK.#n2!+yww 眰eĩ׍Wa;Cp9TF 6 j*3ks[O|ixn|k* k/PU mȘqGs^g0L<Җ|42:c;}8RDKl+.G#񭬇O\ق`䝙<3NHM! z؍||Sh١ =P g&[+n- bmк@njư }RS5baA^ӐKFq?" q^7NXfRY[9m|Kso%R?8PZ)L&?Mu*k\F )Ļ>5 `{q4&dp ʆX&Sϩ{)_/r Z?O@C}Xx6dN6h޽m++P;[Q~$xiER!TB2j.rMVm,e]2X^[skp^75A&"LwMI1ǻCpAح%Ʃa]S&0s9Bs2f_t٩vEY{DY[Pe:Yr'~7躺S%xrɍıZG!1K.QsmtmskuӍ0At?~ߡBۙ,EqS5\=$dj ;ʒj[ Qg- {ʗ<2fDTpVǨk?t53\^6k=(`z*WY@e[q‡%΀HHuGwJ([_;@A]{/kI_KmsAk+bM{;ηla -||lhNeNL^tGTu|7B"*<Ũ2"6@spsS| 5R%J[{  [ݫ"էZB»?G_mU< s (K&ޡ юD vީU{ nZfLbAm&t E[W~bRQM˳I1[W)`->[DJŵ)9Mea]ݙzv\JVuȐppع\Rו@콅 9~?@Ν ?h&žy|,\Q”;VIY;yj<>el!Nv‡tj3 +(ךR(TIuG(@H#J/K!? V,Sh8*M&mҤEL9d>z`'O!.B!]SHp<)؍?,jӯ'wT_]Wh,Cl@7l OD&'H>*e) 3OK0Ty4 U@xSd0=B@YXe^>qg|]<6#,4-L6 5͵*C.T|/A_!sϒxgYNcx'7\.͠/p8NhcWG/O |% Bpg^`SE?e\`܅8cz? )Y\Hf"o@OjWgݧz#܌xMe i /YseU{`V\Ju=xz%67|ˆ 3{uCaf$X{a~ KU️Q _=cOb.=Opw2eFmhPwF!lmn ȱ}}T-텆1?Yٞ: 4QPst>I46g4SL{qe خUPUbL.:6G0mz+cFz{4f$vB!G>G囪sk eҦ@4#"?X,PeN }ROj·.ar%/:"Q:U35Pvët#>y{(ad)p"#IM .i\JrwVY*Y0ǃhj!ADm. _搻";ד(ˌQ"-nAgQ0w&Y:GMȲjpxUC A?OMyi8H1, *\mMaD|VcuSCWv1BV.: N3=16bRs[綬;i*1VQ pVнCJ>CnJ;ه҄~^TXP2R&{*U0T0?嫑#T ޲8y>,!p"wFflFf=jų֘DwFKCNt\[hKaؽ0FUxDGaAs.O<^9Iį6 \4;daH.dt%D86,S7_EdžHҾ7N7QKoBJFflJr vh4g(ƚYWG-&x vLOJ*!MӃ0Q8ZD'gVxx@GxBCU, +rKD)޹ퟩl:dWymκ;t`[!8AoY Z%92q x洇VS, ~Q &J uwN f!7R ngRjl+/^o_|[*M-K+r~|w:QˋJgn"$S鸛!TͰ;F`vݤm.!E&;Q4r *k!&D(?'jd <َW~ჺYņ,{OX7:*~URpNB̉>1ښE3rKߟyqpbtag=),o85ftzeVAB-05m38yC^`:ЕcCm)et5 5)xѤq ăi}7tBt97~>T-ϽXQJ܎7MZL5i5ŨrMgvxUVr|frh*ݖ'T":i#_dynjH O7yK aLqb^˲#L6Wɠ/o dzm凵TFV?L^(OD;WR^i|ʼj|xJL>zI¸xnkIgCe1S)ޫq &340Lh2A_o39b$~rQ*)(wkAS]@YJ :y[Wk{q:`9e Fj>;:Q_p_4B@\ K @P`hJmVPV2ghde[4 hW] KQ2&#ηV\ uh\Kͳ'ML/s)XyEUdv[Ѱe%.*]? 3x-|2SGp)*$+-NBs'-}~c4XK$I z>J@7qߒ<C1pmɳU1<P2$zkD-Nݭ3QS [7ӑ+=uH4'ߢqbצu ;)G)@}t= O,ox7!LtX ?sjp2o*VpڀtM6 ހUET-^ǁ^ U۰J7ꊼaǕB}J]p墀!e%;CDP>;g/goJ FF W5/탳g/;=APD!O]tTn7ODgy(&:POil8owLWXA?nNe{m4C\^Xb6T˓b4&tx8Ș=ҭҚ!lby,81Objw s _ yP8F(K>D`6f &v6: W!-+zlSbu3m;?E1cĖ}T&}&O0MgX6?:BY ΞE!o1.%RIoBu$[ZƳ- 0 UTi}1ݯO4sJ&/U/&jgZVh.#.H&kJ%e\){}d4kb\C(lzb_q?X;UY*,q+6~!.b"B][2u]2Op-sW83#2,>cƂL-=r-?gٕ9poX1sqfΧR*+?%4>VP$?{RlQPF",`?9 "oODJ` BO${QK~J%YVrTdL 4d,}\şP{ O$d,~־eXz!;cm顢`0 -$XKK1sиx<"5fRY $STcJÔ+uM1ś:o?۠REH3V=L(שX-8tϢ S%e72up(֚V2>uwO9}CyE핻!LJT6v&rAJ Lv4{zǰ޸O99n&<~ϑ'NB%摂kUק̤mu֘/BcTSjA!B-Ot&ՅTAkr,Qcyd!:p@xf8?WpsN66g`x [za{kz⪔ZVSz֮)*O 2+ W0hzH}X߉}#yx#SN -)Pm+7S_[}NFdòP]Ḱ^vu$ejz ۩.M>vz7`]Mݖ)-:~n?øl/yWUӒ }܍Οc]w%Qr)u vܫXq_vַ(+WڛUG]EJlʩk+'Ό3|,'f/^\̽Ŕ)j19k`Pid=~+ p[dQu!:}FGk`;>=vJmDvT~Z7\Jk+pf;ZAxYF\B VԲf`לtІQ>迃k5XV<\{ApWwrx#9Τ ;%)`ߨmO'^`fc,:@UJd VxV(V54$ X.㞚49Q#{-Ck, LRRѹ9d!Yo2xk݇&'q"}H#XJ  r=J2 -2/?d̙b]A۱5{p8>~golu`ӹuoMF073G J mqY0V@ܳv<9u@Xii,,bB54\IҸcdzXw?ɷV"4łXGrVW O#L-Υ =[o ?+(tJ~ޏ=LmKKVU0J'M6@/ _iee2ݥ6ax+nA^Yvj z H&#.Y*d :KuSuh5?,F0Ftֲ Ia>1[*F #S=q xΝ9B.@/#~G@ MF, *#ԯo _(mpxS":lei`^0 4> ܁ys>I-dCD.] 6aG1Jf55#լeg6.g#0ŕ=0p70FO_[^DT マL"DdNr.bxY˜z8JyJk{ǼۼtX^͝\Az̮Nր}ot7d5knh qcG aWdk4d&pi._[6YMȰas+`>d<e>d9rP{w;lȢLmW/B*+Z2:ЁkWK`;]/㤖$}~u1{T jM7{U%Ġ l|[v*kѽCRkÖ[Hr :,PqEC Mғvj[n˨p/SIlfGb!_tHbNQb$dӌ }R1K8pK.i zj#'Y$W{rzW'[$_§uciWF! wsxJY{QS]ˆc\x 3UlH9.g3Թ+{洐k-8x6іdZE<"J(r[rfѩ47r+; Hy0Jy G[b!98V8i6nM3;/,kG?Q[r\N(xWc)0%ِkjsrÌ4p ,:B/cMF :[Z z6>~oAa]B\x 4bG"tIФ7F4Kve"$\ I|'+S[^ 1?*N{xr]sH` ,cPJ_`dl2 Mօ- Q0zP0HZE\>5.r;4=P) }cL( &z;'{ BNg|X(iw`8}393:'5E^=:̵:ؙ<~DPqh8fMA7h֘;@: 0qY nnPᛢ`7ʝNfH!i F%dp82Ad4jLD(`5h5̻Ҥ].)NsyZtr@ [F0 DH" 0=q ѐb8H(R+W˿xn Π^1,b"U7l`dfLʌlȥԴWߏ ^"&6^5 iv:]A'-wtӢXO(>s~VߧMd2_ϭ韬P3= NdCN`2{PTjMjl_{(P{^`|A[ǝ([1f,B e E}-ɉh^vK#z+Qk)E5Ff[~PjcW@2H$FϷ%}G 1#LU yP롢.oW̕!p֬ތ 26.kNNƼWK_WwV&n1ZzpG^؅{H-'C|is\|:uG]P-nN,ݚسMj?HHH7feE V*u :.BS{vg%A਌7>9"EiIބV,?MJ"qXbo?Pz$$"G7n~lFˆJA{guՇinݵ#.X2$v&Ip'+ȱh8Evj5#Bh[RZO] f~q::4yP:&'jf|tAO|+d-i≮75 !bg אidrA5 ~JEF'ːWV)R;"S3g?QjDkF|v\ɖOf."h:yo.>sbqM$t\J6jg 7Go1d 9)lekVq6y.9L#=>{n .?Ɨeg/P00r^/ţ% ߪZ3M4%WJӿ>'+N(A\h*r6@ljD}t"$Hr|뜦ei^'P4 888IlkX$䲸wN3Y\m:m,`RԺ%˯]%WW#J|&)ZgxaU]0UD>o5HD2eE2Q$'+5z寁\$ȝΐ"(ӓE8{zX ko?o=g"H'SW ,7 =8mB-DDn ;7?~*__?`p[[󠼭nƴBqWrmN8YiL_W 8mÜT?wE"tFqv:ǹ$9}HUփ:GCBݖfTT6~3> Exc1v x}F0Y2ic5C,2i-6ؒ5T=rrpƵe$׫id_HkhQlnôdk( i 6FғɊLIA"&bcZt$3xL#Y+}mvϺMݡF3]F8se&6pW ,f$g \R֦9 єFD$nlT`01!1x(vHrtEj\,xZHGϊń>XPo::䂂-ckffjJ;SXmgN0I;p >j]TŊfqFC+|ǝ%}{9@GF!9 h+`:6>w4z1W?~a`5T™B8G-2w:v18ܙux@G o3˛ T>5vFPVOꭋgsz߄;;ɹxVo0>﷪ӉMq+~mP0vTwW!xA c%0iR%Йq)% cR;ɤL; @QP!2eq 7Z<s2fQ6x_iU>>SZ"e3.05e/$yS NJ}ۄ):c`01$N8f[>鬳:aٸq@xl6(3eAڙVL2ȼsqSr%l5`a`$+S* y:O$&H`4QQ V*U13SlYE1sxdf})AAbpځ >X Fne۷Gߊw][^ywE ëps (5tpL'9~*A:Cݖ Y4/'v \ѩ ^Ǐ(͛,.LO%[fd(G??<6J&IL fiw _SF5- XF&9͍ʓX Fgs-O&۪sl 7GQxlr`sTp5j:-E.2N\RaG0Hjn[N3"VG0XU:ߝ^CsRy]d WGW$$ӆI`g\l#~^@7V]ۿ_= Sx(}c<ڐdozqnkRlMJhH tϗE(2Tq5,rjd$R[UX^+󶠵N,3O)j$_)ڙD={Ҕ=+\ ՈYPVKYKunݝq|2fiG_W\,xM$ 毹.qѽ;VJ=NB d8YVM*iaJjt/w|dR^ۃ]])`yX4vM]Jx[8^Ebֳrӝ+ٔDJ} f#|5x- /dJ0Pce\Vif `G0DDutd]}-gvFnUO/]WSHVE҅dn1}R$. _%"C*$ɤ(Q->Q;wsi|oGu[G rihddO|25 Xk__?3mDVDz{2b✒=KO&Z_¯1y^a:%)͌Xe@e{K rO;v>++iş&, qx)ae\hJ{p0-xH~ETb?>.y{oXC4L&8Go&7dX[s>43\ :+7ehV:\@]%K\@ N] qsOߧjB1ޕ:dd1.R2׮ 0B994]2l]f`ق+*{0B_ 2Ď"B.w<*^ _q}+]wvS"Wy/! V!pGt,CT;|aSǙ3}""ة]ëu<ˮh"kdvc$Ïd*yhWi?nq&I԰H%0|J|˳UA^ULvaqqaX}$0&&"Nפ֒!n/?#m. ۫;E$ԜOFEݽ7:zaD\CζRv"oiy`>o<わd>oץ反7̄Őf@2+` ].XHl??qi^I q{ڎ:w.X9πHg{JiP K@5~qkY)̈́skHzd |w4S8[]^|u\pf ?H?2˿dp/?*z5:zbPD_➫?ws&tf;\?pBQ[}kñjswѰQa=`z/HDPcXv%d3nJOʀɳ DԖ?+*op_oE$Di߅ϭ]@nɗ墺g5*C9xaMBg8 8=p@BBp ž8%)m^Vo9fAv/fR\i=]i|.rY  b&nN(X[3c̝E: R+nOՆ %%A/w-)(H;I!lՒΘ6'QN?tYi_vmUG}U4 S^.֎p?c;a L(*g@\>w?\*zeJC#V(f-Q^> w*H =GM@H \37d0L\<? "p{i^d' x4eTp Yd !6թ㻨I`y*Ҁ(9!ylL%M*dxؠzVJKm$N%FD54\gJAMP~ǢZ,pV! gZuF NKuPNc2]*I GMu|uSn:?ix͈GcM.uҔU_}=ހ|SO:lY%!89ifͽ <ʡԃ??KިJBrO]K)JfEIug|,]Q?tW-Poje!2!@;2bDd  !#bϫ~>To-=?)22'dN}DZ'rqc3 ^k!QP,ݽ}rn<Eͽ P=kbJҎ-Hqe-I`ո֨ɫ)Dys}*t Lʹcg2Ɲ2w7ʩoΞ^e]2ObWʯҡANwmH'LE2͛#q3P+hVVSGPp[ $~nڢrZ%$%r 4++AyHC٦04 ͩ;ud=S3.!qwfV.EV`<:IfT!ۮJ+}ԪZe_/RD)=*qcɡb5P}Ry*f2)0Sl`~E!N!ޓgB\{fM):qlg@fv̀ISg&рtU ׹| Ev={ĞaaUJyևh%`WmTՙ;lPZqө奩i&E$z2-=&*`p ?2ҷ 'gl+%LN O&rҲ2i 'S4G0Lӿ wj7ӳl@:z4:2Dߺ2RR&wJXUvƛ|OZRƝxi76T\")`2LBl|Y0,O@DtbzGƘ*{˘LFWnqL)ʖJ8jz.8cՙni tT0~'vK&[]Z|(SۚJ3qQ,n&:,Cr'$חCY!B&>1Pr~eb}X|C} ]dF=a|ʅۅe}'N,XD % Ē-IN^Жhw;)/ަl7 C`c 3"YNfә yܢa$'G]K?]ѵEMΐ0D\`_DYU&GZTn>c*nԝAk}rp&]YoH\Y]qzMD5sNNCgf_&T:Uq1g xdJHQpP _]?Ѕå/,jY%"h!ralBE8,KxZ[.J"[%ffc՗7?ҤH^΋e`L_z{|L랮'ND{j!/ 5[\Do ?g*D[=^n=&(;FTʉe!0|Mstǖ] eN~4/ hZQݓݱo(SIiWRm1a8z=;sd3w4=KK^m^E4mfŗ*(\6ʴҷbAjP4\ "F#'"xB1{_jwe 29]5p-ri0QF| ̮MC˰ pύ^Un2Y%.aHp `ʋ{Yr"X4m| ʩgL̦{]պUf9rBЧd4 y;6lI쳡m/H0]8cs0uVFn3eݐn]$ S]*x#zhB?DͰEN 8 1=Bb&ipI!TVŹǙx]X1aya塑ڜ {JCgt2]h 24a܄6Pظ4lL.kUWzdֳ> Eupfyb4 gc6sEݕ a)S'1jt )MfcdkJ8q8/Z\k# /\I%,\p?Y&;5 vFO;R[n1|kDAnjt󞂹QYW0a9x=G-1oSE_r c@ ųN )f;bی0U!hgf)za@d 8d[Clil!(ߢc6Km6PnOv7ȡ`'c!^NUBeհ^Zr&iv87 ؆5tG,]ۀ kOjVKBdust--Tr;+!d8`u R-qO5NNEԒhX0N(@$nT͵{nL #ԭscfqɰ0D!^mSuAԎHc d& `I q Z + /^MrLxq .otI%WРRNH|-E$A{ ՛wf[I~N[ݶi䧊6] O 6擺Z[RkKR[Zn-rM9RazG*yؚ0dCSᕪҀ ah~2Dkb+A2![ƞlY638ޣk-*Ѡg;ZK80oz68Gu i1jnJgx~& _ع(IfȆ[GZ$3хkeQ99IsT-)Is ( Q)k˂/> SP߇У89l3(Nk|>ާםj imUlG./?nha{|Fe{؇>m㞷M?\i^I`ndNܠcя`17omm6ӟgƒ# A6|}X_ Ƌ{Gj7 SE3}wݔ{ %&)`XHпM%~Z70b? hp+ՔS/տS28b_*FOT,6aHlN&!3fFT[NWOղ;ծp."-0IE/IvJ*iq@Z)RP%iRj}HEbbtmY!c8O8,n)/3}brbce4dD8Ljy^u+pl d++,d?.v:#Pfk{ɚ{}S}~M3˛fW%9W2b G@8u0@TNYY@0앎0ug*K\ݹ?j=moߩ@>iڽ Ҝ( ݟ[O]y= Ϗf%ED{;L߻2%;3}D !wRuo>B=aJ8y!;O%q DH2 {yqIba|EHv.^j?"L5as eg2,p-LU%K=lcbԲ|;BzExV%ŅndA"Coma1B4EGzH@4O]x,@ M,]xOYtِ &&+-,87dAo$U(ԢSMEnjoIDtG;ݞw7ꔳ pіUG 9aY2Z*$L)\Pn֮4t$CQr&Z7$TɆ*d r,!  ޯR]%o^(]`/eN}D)dEO iR}$KV7cg,aql¼aݳLC]s8s++8Kf7}7WŊNQ*X1Ǝ&c| ٳPA,^ZU0vhQ~/Ӷgl->qA('/N]z50RfgȲxyv٤E~&g߆9zyyVc4X`@e6 ;I^۪ӯғ!SgO:͟r`RI*C'RS׮ݱ d. ,::sf&+5#Pz6r+y04g[Ff%gfKY"d~ TFyq5@ Vi]Jٮ#1˽VGs P+ Mjw;5Yb5hv{F&U7 'f߽˞D.MRRAq܅BL|S_9Kw$ycdQ-|x]>N!&*Ԭi Gz5k5H!ܢnܬz!3UU*N-`!Gnf-",8 hdBKqDQj ̞-`߇dۼA#A>q`2@&sKZ7-)E& ʖ+zVvdGHYunvf WROלsiP)HuYc;~`/MtPW7^zԄGQAct:;*̱ kY1cn[lh(me"N?'m7 nw *poHo3ytSS T^XsyG͊haT7H'~1‹B8 SWt_ ~SGM1'MM#;bzH>g[NOD_}O>VQ_σht#7G>8_BHm_:2(ZϰUcŷa4L#aՎ C{`h& ;į=y´/N^%+F4#vUTO7U*BMc-]HoۑV.m 9[-fW{&M@](@gI2dFDXXo*b* : LV_Œf>.Cv8> s%$iDMQk2a)DҠhބuu裘fL倥*Ba|7-Nt9Dxp>]_[4z%{.B倞PK+Kr\n ,bH_4McRF;X7Ē6IAZgEE0LPU0v$uUȉPlXl#G D'QKP'sb6 !Q/OCݬ# .6.ꇶ9eI|jq2Mu?̯9 8o5yKc!zjτINfUN1 =^3|dx?yb3O ݯ&H{:0ʾRkT!C-T01.өGI񭒧D-hi1`\֓!խv+F*Օk~: k3fjFT4/C33v⅂3)~7| 1W,䊖9W|fO3Y@¶y^zY!b/ Di4gf*0od~Pq*X,r$*V{.RPY2ybb'5lLXݝSٮF]HxV5L~x=1g*{Yod@9 ]"cRpB b|[*8ɫ, v$:{tZ[z@? ꝉ.j$7&OH//T>< DF][tO<4ⷫ&OhmF7 M'x8,Z1-1S~3$ۚ8 zH!nH!7 l{3k|=cK k> ]uܗ!5Vad!Eى<dŹeP#?D1F3ԢDz9;m'u]cw"#N:Kh61f竚UnIBO8 搣}}_|C,ߋ}aG%}?j| Lx;)X]38,OgwlN+Ʌה 2<n pvgGcϯ0gGG ); д]C ӹ3p/+o'F.R"Yj)}m!Ϊ܃Mܮ{%UW}kA%P!| H}``@.3deQ@tz0y-?b )'^a ^?K"&Zds}񖄸M21O.=ٕxfXo}M]|㧨À綶xj߫j9a_Dj%ID'hb*i.wMeo@w"M7G쪪ҰcQ?8Tk*M0ˤHXmP-Xꩋ֍ҭxZO_Х{|&ދ&?5g_*0)P+hwg.}s"S[=u}+X@)92 \m;JP&~ [I:O[UɴTE|̖H:-W4fDH1_Nwg1unfG) _?ABrrCt$cp4cO0qK;3Ih2dx 7jKl+u0΄!Pgcg0`QO;X7c?$rmAyђ2juuRcQҴ튎!izC=\ANQ;LP8SBX&w"e:^Ht#1}=o.V_QwKrIgKJ2Ii߮E!xyuX1T)=A~y?z[@:YM&Rie6</Z?r4`#w~;>%xaqe]fo&Lxj941g][l0VMQ\w3e+ܓsEٲq aȺB@DO[uȸ , s6zG-d.WFjÔ(IKh︗d5/b6ATg- 2 *دP'>[Jn';lclf3W~iP:8qCF]=>!#Qy8slM'GI/7ExՎ>,dgP-AZ#"%7<84 XT"~2B`(V,k(Wy0Tf2EujP׋DRۿ҂\MP:$BUu%4IxKkRtҩy{?9>hBkVQOL⑁p5q\*2|n_uƈwBy};҆3bo>tbu\9;+CW`rNs7d` \iv4jוg0MiBsABuh$S#9N= f5Q`N 5 Z^)]'~RM4& UHͷm;+鴊U2iw}oy׵IDkpd <} ^xveԾ2:\dH8E~~J>/FPֲ"kzx6/Mл'19/T RkSwpsq8A2OMq-2xO㼤^.; =eRϯʌ<?;BD%VIJ_0[Jp:^u]4ヒdڳG \UdHУXV?U\8h>½W[Z]")c9ny5JxՐugOݍ.xקU,hsӕ{=zU}o4U> q)>͵ 0PPS$!MaGi{O٘D^K}fuVGtvud~4:s8NjC}@衁ED!~(E闆-k!?z-u &C+-0õ\#~kFMmZIT\vzzM y1Z7Rjg[>P)/, 41.+j[^U$q`Satu|Y5n[ߡ?~6 aʞϯwŇ~?k@?pk@*LVRќ"a,ǟX5MHO-.^XZHTI<~/:Y-GrX;p9RMpTЃ5X:^Үjy.O!$` `Rxc8:>VK׍ʘy.\3]Of߶/)!;̹5|.]e6=lGmR-)Af&ZVkb)5ya%Hm-|lİrSՎBh?9frozؑ8%-DOBeoϤ¡#pϻ"b21i^e;M|OZxV,7!nnv ˖kӱ-?OZ_-?G߮k(ږ`bN'ܦ3{6~kcQtLNc])5  @ U`{!m6iF*[r9 $ޅ=lj:xo&y6]sPKeNטWe9Y˂D`y!PUT. }4]`u׺|f:eGhT$0>Xtr|+#Q_Y~fo8/ ltXޜ 1yM%IByM\X1{퇠=<.pOO(1r|Mvv6$1I**U2xV‡yrlޱ_;v6< pl #r^ 05縺nK:; i\SZX_.JOdBPp[Z)Hr7 L& mLpIf=[6a#{=it:݊נR;Td[F{MU-빷q#3ewC?E,5[gu(`ns_mx,%k\{.Z P`jL-&D"qLooX6AWㅚ4׺U@GN,56)-a Ӑ S-$i}){ %|}(>%4*΍/-4,sf.Xze$^BNRyu iXDܐ>HVʼ7ٕٙ8"_=ʼ/z$fAu]_UJ|7E[٠ x"> s_ rHKTinM=`.M]~(=mULÁcak!+aL[UNh, ^BzQ2=UwyԨqgbS³~?1q8\4iϡSa!?0_=>]ØKPI*d*/#n/vf=FMS)'^>k,8ߓ'tT"S핔WlBּvqySTyn!.1B76*|LMr25ey~$w!mdY3sL=[ˌqhjک:Wkip0f{[4fi5ΰc%JpijÇ£f{ic͹Cmuƭ*^o㓎،Nϝ12ϺMN ӥ\j_沄2~Yj&rSjy9]=ȭ% ScL^& Swo?IY)YE}m#luH!D{J+|dN,Cew̚^y0sN6 #g^۷9k+6e󸓉7/ mu) CqV1Cd21/( I, a|t (5M@4@e(VYĬJHҔ2#f #4i!P) hSV2:A:Q \֐@ ܨfp"IR/v1x umMֿ_Aj\Z)?b}Ѣ)WvƗLys涻3wn]emo~75-8]'EC઱y[| /ţlvlL'`kuʗxxoQPx}7;Cca?W( s*BMP:?05?SUt#qPU(d*1@!6 z* ;3">ch`xpg7'O5}@3d {u_ʢx?#ņUӉz)P~I%c[JGPFpZ1r׽dl @>( {D%nEǔFY[qkd͈Cݱ2-mԎDlشp۝(0;%O¨1Aם@Fg8XVi(rkxE| M ! 3`z>R* 8eJʊ dm{FӲ-S>,=B"V'GlB3k-L?gZg_:#sDEG,!#wtƐ8%:8B\F%h~fDxH|fŰjΏ?xT ,A@{7G|κf%ʘM!<|13֕Aaʐ$4OxeSg$B34剴+qZPle̯- 2XJ;M5b8 j݊rY[Z3a6aUnsqOcW mߏ<70;Z]@Z)D^iؖס2]= %N_A-iA ,,ہE³b4o@_^'+}58kO}3͙gm-5?;n4 YG7XUݖ5"ࠀ'q \8b!Fjd20ߊ_1YV1jub£>bP>=P !?$e\+ʩ KsV5VMa,۪׈S盤1rYHRTlϋ> n)x}z)zPe]@0&DrqR87¨@l^b<S(?to2Ik&c:"𻾛ƌ|zFN޳B**y emE)wEQ\grT -ˇSI£$LFbn,)P:yA"N $fk!҃x l +G \mNꮛs䏝i%rJWg q%=/sa2si' U+el(=ud6Ջ+VwTA_N랩—ZPNXF[Aqej ,9oFq +dvIɂqS#cvsQ{GZ몸`-PE4b!D#FӨi%JwP7DCX/]V\[AU~ pX:9E4A7⿚e77ГxZ>z7l М,;:VG@HOU;|Y?Ĩ_[zÆ)՛M6B|MB]\dEG 4 "1& & $.P0/`@Bt[̩$|/ |zXBp *|- ^ 2=Cºf+?HEx|??\M|wcauğ4ΆwnAWXSsx9Z9+! v HCz;[:y!3_#GJIR7w*[1C 43ȕv@n<k:gx>hzgpR H!hB KZ\t%J eH¡!AU.l {SY^cp woU¡lVhBp'~ռj<|5 GAF}KJMVމ8Տq@HҪ%@d+0=lFW AəBx $~}x'=/&ph7"1:!W< fOcQ\oDK\ިkbu0SF6DIXn񿨯X@N9ⰴeM:lC{%=\ЂN;ZQ|9עWhUSx*FUk@i$@z~)q=ngO4=|8>Ϛn~r Hu טR(m^/t<hjtdamG0+U d-Zlyf!)%e#{zrjXN4 hE=9{~t|7 :ٶeto.em%ow?g/-;1m8rqͼ%푸;d gYJDV<'oK!) JKIM - D,Tnm> k22]-|̿_qIdpYT[QP 4#b-Qo֧:~sK\4+ݴY')#mx!!;];]<%I9wpiaVT K}5 g"YY#;WO`#! Hy$`C#dr?  : 쟻CB񼕮+xۓ J#8O=s66Y߹UmbI)Lwr nT'|Mul*Z]ځd== 0yQYD+·}uA4.xAv x 'Ŀit"1--˘D%:,WQC#:-AML"7D 8{ifnʓE &|IX|*g mfsD[$ qL샞B;{`м 1]4C ǖZSwR"_>95(זfdgؼ̦"Ӄƾ?%5PO\#}C{! doApX! i0AP\hήy+ӌL(r؉\>OHNtSQy\r_PO`Iq Q os::7EEByסI~)ĝzժyx1`xlUi >ojk%\Н󬧓b,ʾۧ+[5s w{P3bUϮEU>z˝kdN؁PD^:"i2kkh[ 2f3n G+^ ;6ML<. d"Eu:]Uz]Tj-WRE0=,ӟ9!}Z kO)vzQըz&oMHpa}bRRZBmjvݮzMlIow;w<07gSnnyyɜkxNi3L`,,; d$N7oznj`̲;83o+* rK_H;Pf۴kaG߬Je{8a7/6$xƢSB G=LOWߍRx'{ ;sW.< ߵIR5{PĹkH=6OS$r\|N`k $`#5s@r4,a?P$ӯ8͢YQ*s_qx $'$:)wʼnKq<ȯÍ>ҒT{]"jr[*=U hP|2E$u3?w!$K$A [^Oq*ĴG+|HU~"r ^fEj,tG D{S ˑOF>rBSVmmC93S\OCWҒPXYJiUU˨!mܮ}23s6(֗'v͞Y#׉4`1IP %40•چ[S[@,~TqFVk#D-/\70=( $n<~"ζo5ۢ#LWibyڧ/#%ifw*Kj+ (nK'4X,/ĚgTskU;bzBѢPtm5~<:j Z|9܋a{qnנgM滚ߣo#2׸1yW}q@TF iv︿Xuk[63hl,V"e1ŸnH&Dh߾/δx_EHAD`3o`Ϟ[+w.Z*jC?Isffͱ<~#Έ݊̊;{/zB$]1.I~,dbEL`j1gՇ28!̢^waw641<=Ḧ́%c #9r{H#݌snW`lL<1^+nnБBnV#`uaP}˾4w/Sƹ!'Cx~9Onr`RuewxH3) "y1Xo7n<;Tp|oK:ZoPa]J.F}"wS=!kf1c*j<㑳!Ó bggDrYe}TYe {aq "c"< ?+vm8?3h~RFppˬ ֲWA%f.{s֗?)ut0~͓ȩ3gҸVJGPk~ xQ{6n30XMSjwikljp Oյ ݂wո0,~gpuU;gmY;kQᑿ@m8(e;$o>{}bF6]WE7eݯЏ :#Ӟ҈u97Ѳ7+/.鰊=@f-J8`|xu{a^c=ױ{&lvQÊm/V&wgo5 S=]$C}V8wF,>.yEG|ĩ펡ǭo>dDLTڠ#*#~vdPC1ru$$sF wO̪rvUXUsp RE@aӇ;8eV2G|H[*au}PGv98H.nU)Kٽ @ļ#_Fj}JX) 9I$xr~R[CATEg=n/?7h?j|=ȉΜ;Ӄrc#LWCU?t 'kftn{z 4`1J b GpYXŜ/`<5\,))%1ˆ4qs{<2@ P]i,3ػ(Pi zѴllD3-V}Nal%'EYcE&PxanP-P}\cjR14~ݥ] < K&xu&.;vq8&UXѿiM^63(pDP±E 0} y^%H~@HkeB^}oRregΔ cS#-}Y]2ALI(U 5QWW>( u/m> ݧ$1J:?oe!8x)<f K ?A8g+$J+ 8ݣO&ρX$$i귭u oʠ[ i&ޥdx, fdUZ+̅XmĬ;Kɩmr$NH]/F8(jN[~'C;oC)xkZ&=iO]85-oIpy`Tg|nEJeYXWMd=ab̐;奇J݇O) M prܜBu$'(d4~Ti~Q>cdpwI4JTEv)4Y}( q3 S_B {ܳz ;D],.`䃎ۆc 7>O\PܘCzEj"+vN}CwM7S˅PL[ X۵R֟~j 2jyH{١g͙KUk#̦{&D"rmaTdzF#i?wnNjM-JbX!7a &km6OLhd͝&" z /1|`AAepal:onRW.zޞ0f G&H9!ڜ)P mwk0hIS K|{#W`<M:v27OImNh$ejx !ξ2V&>I}"ܡ_1ї7v6]s\% cr&1鱥eMYIF`aK[f[V ̛o6A@ʊcJ*A-xa_۸z[7C9Uע&F]+P^+ $T7Uېf߆_&Տ[ux߾^wpRw5 ^39},??3Ь\ƺ3 eE Μ0*C,h={݈jo:LIZCVA8lyQ .wf܃#Z"@&[Pi9=9S%-;GnCkhaɓ-,C *acD*LRsJEo`LP!6g(ڇEDMZ¢JMbXhT20wJ-ƱŢv v>4? &!0NAϰok>v20A4ߩ޼zyX<_k1<;/5=1.BFP&m˨gwMTeg_!-83jd ((9!J_[x9I>u3=,">5AI \[a.b:w Sv#mW/;gJ<b(D()N Vj6f7RA7 'J ?\bm!fه:: |lڸ܈*dХW//&5Pǚ1(E %GF2vm~_ۮ]җ;>WxN캔kސfv+*Cq>*VhwS~UqEZ䀘bjG涶xej|ŘWj/duA@|lB+e'yП-횋\FP\W ^`nH~$'Iپ@ia2XjF5n(zHnlVVeh8ƙkQF$; al>g GÂ\#dkVAڂԁJ|aD<|S'L&ToѯcBL 1!t%aj<86nWDk)# ׇn*N?zmI޺|.Wȋe7f) z{/_3' 8oLwp<^d|o3ϫf IaN~r:h]ۮ|}m㌮B}qF<ɷcmV#ZBeoI_)m= f`R JA>v̤GW_Wx3^Si ʥ0{? \rsg*De3SbBHo_9G~xEKU^`m)7J.Lb0CO6uz),|ׯN87&9Wފ@qO,KChs2g4vSGh@~U~Ѭ_@ibfmo*J[7(@Y_#9 TOjkV۷b6QŁ"~avFߩ?3tr@.:WFb6 et?37w4H1.Ү iAkӭ7q|Ws< cu5|;ޕg k4b^-|6@/bI90}: ^ʈXOCHҰ[J̈́z:[2+wo >;,߶UzSzZm=|IeSQA=΢Kk?({}(ot4 HGQE~y„DRtU{;$W]ɰH&_D}au2cmAO@н9\Lh I&P{cLY`!ڲ"8舄Z9pb7sc_/5+3b;S>YO>B~ ҠϽC$na߂AzZ'wkmH;'<Ɖ3?/lTU\RѰq7<8Ted]~Z{ikcoEVLX`E:DS[] dMbDz/vu#i&,v62EP!|݁ DwVD'.c3eC[K}YT9"1&vEQȴָQ '*O5 t9`k" !;؃Q|Tx$/+_!Pb8>|7&aQdZv[X? g%v 9B؅ eʉS_XfLr:lX%nj́M;+)d)Kb DHƀ1%EGUFs{DҸQGy>sdF e͖5I_ V@ XMgjJ5ʭ:T^"4~/DL}y_d/7FUчdtvP#QN8=?Y܊3&/q+#MP}Zb:[6q(pN l{a;ı [˃~WoQ<7Q\Cmȅ bD:BR^BZZwHwh5RI͸oJ(lb)pS_JbKQސ9)aaHƖ*$>i|$AP`#}RT葌<"K´ue nZm6Q]z?7Ip~)~6eI4_nuHgHsH&)= ڧ4HLt+K HG&MV_~cbKhKbo6yOQAPW8~v]V}qVa߃S8ěV^4K!`cJWViD.3։xLMy^#P^46̩N&xZn<##AVUPۼ_3U$"zV@}Z2e"4ġXnjN]T43Ij Vj6rĮUIjk~#HiRFj*{8q(2/`1y5?\H}NP[N9Me~:-K8*+s)ZmRƘ]9m@Q18(NZ$Q{x^'\l5vs</3.TCe m$ko`$FcgY(cc6AzZJӷ$lN9}W!sߟ;ͳDKds,I24/GohT2,Q宋P8Aj&*pQƔ&rׄuzzhN(L˳2(78&{y}WzP1S(_HL5^k1(3$'(oٟt3z$ɲ_ϖr4(WX^VmP.__2,.mg6Ӗ<֒{곣('b?ۀ]l[W({ s@_ ?'q:-<3K8{+phiy_\j3Bs{Le9Zۍ\MVD=C˨{2/.GEΪht2 -dX>,&ɐɰi zbCû,̂IDP3|  3z5UC*jZ+Qт]XO5K؉OTZ10n!d|6Yz~Ո+rHq)K^| QmjL ,q+=(B@Qr802YJ=Ma,iуaŀeYJְ85d&6{VL „2.z~(N,/ʪnڮi^m?~!PD1X@$)+_`./LPNoر3-Vt=^!A1 )a9^%YQ50-q=?8I(i~yY8y?B0b8AR4r JjaZz~FqfyQVuv0Nnq^r +e; #($E3,/"D*+*F&Eu?( @,O *`./K2BRk:h2[6r{>?B0b8AR4r JjaZz~FqfyQVuv0Nnq^~`phxAdEtôl $jn>~0Nnq^~p I &'ʸJ 8I3yQVuv0Nnq^~  $ "L &H, JlTgƴ?_fv~JöP]Uo@~!v^5 u{_SbXs:'gwXJ/[\|jc!;5hMri HMʅ Ҹ |PZdRX 6&ZX;٭7HXBMgԂ&2MW~ HmYd^JX4g8ZkcS"^^Ec&[Z_.PI 6u؁gepI< [ߤk"@gcSmh֯^. z|=V7lj`3,?t)#Tp yMGG :pHWv].uNoD]b[˃F%%mz;_(=u$y$VC~POTJMh:A5h{ݰ,9W;N T|mcwI.*|bոT9rEa ЏtI1`UdKbj4ĭG1>)IMTDikS焎!j~BQ9BߋH¦ф$AqɭLi7MlPx7ߜW^Vl?PҲ #n XKIk/O5z͢Np4Xjrq.f±nVu+S@??KTcSd +]Goӫ?#(Xv%U~ǏБ.cZJkLthT/.&Lt]Gj(2=HS;$ ʱ&05e w^fiv!*H@Q빵o՛pK)n@qW"QT|GE}[O;af[mC4l),BD?+TVae]Ψ6j:Fuoz~Z] ~$lyy7FO}`/TNMU'H\:/[FQqUI7Df6XuANq]=ғÛ%$gcŤn=Ytt\!7}qԳ¾ +7O+2A 8 sѝI'9!]AOy_r[|ȧi?5BSTF)^b!j-4rMrDذ }pRa3"9[~4^c9PZ7"Le6:5m4 h;|/`I22TY ~/K,(´_܇I4^M== uBbxdگ#Pm Xbk u%sSo6޴@(XQMż!J\bgEJ,NB-/eMUk!#ܡxcEO7<5}H'mW) 6]ڥW0d:ͅw5Oqd>avUAшXlߌ#[6XȽ2sŦf^#o։ N(fhOYܪE/̇_9G1}[]l3mBQW,NHB*}d緰35@"@22W,~㖢ix߻_yV&x!TJy6yCK=cvu/$䡡>w}8 HB*͖yE:cNJ)u_bEKvP[$ZkKhc)pÖ!H5l [ְ%,@s_U{wT ,"""""BړIF!RJ)K jRv-:$Zk1c|3ɿ+]r؊lnT:PKZuuTplugins/catch-web-tools/to-top/public/css/font-awesome/fonts/fontawesome-webfont.eotnu[LPj^FontAwesomeRegular$Version 4.4.1 2015&FontAwesome RegularBSGP݈YD MFx>ޝƏ)[1ɵH-A)Fٜ1fi)׺U'&a n;c)2nb$'3JV䂡@ꯔy|[\AXFCp-B̄ VܭU_^dV/Hvsrx9*cN%]72Fb-$}3*>q5N6d狲{*q%}BH$Mx{2ꎟ } d! C_ ugƒK.~Ey:G*# Ot5apOҌ) Щ?HVCi`@'@8(P@EefԌ6aGu?e$k DYyC6$FLfV2v㵦UklI&\β[/*d! l 1 D X̨ CH?d. }XBsH'_5 D3˼Pȏjmx׉ @ v{KIJVЕ4p%QH, ¾L|ݍ9@_NS%3hԳ̫G|EH oǙFzk_vȍ2&䅐ZۚII;2H!#nR5Q>YT!~JZf~ #Kiw躛jzd%>aĸ:)ˏՠפS`@`'`/>í#npib?X`_Uʃ(7W,G  H݂A vqߥKEeYbf[<',y j}G c-\\w.<=K+z>jܠ"B'kD e( DbI:Jj)ƴ=+canL/6bVHN}t/ӠvPC2!G \"" L⿅e(nWI+;\M $܎~УGu"0 X]-[Og73gfPE_4\e[m]S:ŘeћG;8Y ,3`2'5Y71ߘLL>54V9 P.VI-Ux9~Ht=%'ng < *3F'y?#[/Jsc $OeHH#F'Lq'kos!hG<Ƚ|4t1BZapq WӞ|:櫌SmGhN 糃D 1HVƵw  W鈢2?J ă0(8 ZJ!Vb;^*IQiuY`sjF T* i1@qJly$q؉Ű qX0@]0& Rw3l]yT8tyJFtiYSNmU&S2nRRUҊ[ #-?Ӹ}yw :h: HG 0 _c`pLJB"j$2c: G2ƏWobh`/%6)ύ!lܢX/ I8]^o { ]dr^O1u,4,R[T??*?Kĉլf;fާ451ЭN3V)'`P61wT,cr-MSPTX Ͳ`,Bt,9uBN0/g [\y0tSx\h)_B.F7o[~7\m𲇂;X}6ĄQ"y"A`=ZI6T'lO!k\W#{z͉%'R։ ۈ]򗌆 CѩM:>_.(4_ƃ|#*+k[2L2u$B9-4.(e5,=@B!{ZED-(%2gsLih[#ϟ>-@;:cEakJ=F2υ'D tGuMޫBz( Ca("% s2K$ﻺ^oO V{Yᵖ: 4Iя5%onm] \:DP;/ /ȸeE-w^&9:~gC 7Bnl,wkf'>>I If3^5_jB@5.@5GqH! R= O[aDgA@Tɧ7.JVxB FuHG1"* hBON8U) Em* ȩ0l lF k,!!I 3 Hn<6@Yqzk 3Ģ3)Q5H[ B hB, Zı,4Z_+C df)]F"k=Zǹi4@ᯘV`T*d7i.Ge]OZv{TmFc&pUq_ 8(z駪jD9XQѤ7, CKMo9CH2g:d]QSnj31jnHxY!l, Y`O<@Gh0 )KAʘa$̑p2HCݸzE3gs7hc<8P)1" x-%/ Ϝb|v~6^AdǑNS'>=Ba' ^ً[.kܲ[bG:ëGEKm&!<7>$CSA uvJT-=c*dX7yҵ7؟ɵJ*6Fvg=璚)N t|:'LQ\6Չ֯&lņ(nHe(3g Q` 8!,,5ށٳ81 szW/si !1;4$g3^w"JtB06pM+2xINP=&*T뽒sZ/Z-0jgYSU_s`Uc`aD>WЦv`w,A .j׍*BǐAKXml{C@LF啴5<<%v*upKI&}*lR{_ ~ʟ0ï hA/>t'u]Mڭh*x !%MVJ]e l .`4\/g߂:FM"Gqiw2'C(e3P{0R$<# -M8@"tÎRjuGk_-`,tIԺQg4c(cl̠hL8E)iݩfmm3 ʻc (\ѓ@4YM'Du` ,e|KEL~%6DUf&m@xT&wV, /' BJ"YC:-!cvkb>ۂb>{d-@WU8AڼRXXbmF2!Xt6Mۑ~B J6\] ~`x^ta4 \N,7' \7A;ҁH "fp#夶`:IDfT6p#MH4^=[!q(Surm?WQ[Э1\`Xg 13>ŲJJT *]U#թ^\ d 4eKo]D,3sb=O62QnD(5)kp_hsCⅧ‰[ԥR8 1d9)$FXˁPx!]NQSw4,IpG#(4GaQ$b86Gь8 ũc`te[9O# $2L)Nn4ګdBY.һޒG=hBxAlaRUܶ.98ЀqL<&܁jԔL.ǃ9i2 yRkҳT/131'@hc hy-)ܘЬK;(MU}NL@OHOB$gKӸMQ4T;`K7JZ(~Kkk(N0Ma%ehl$Y3H]SuO+' V{;I,SC+J("ORIV4[F> !ΛQ3a$4da?(aٺN!EgsWmo>F!Jђ4{T4A (^+42/h5"m/)E掚 c U!`S-ꄳ @Nѓe'G돂n)4VUNy(@HUJDB@NPvEW|4b!8hU}(t0CL/-7΍rwQaeª#mᥳg$:sC+Q_yGnLF@/@psXtPC;v#;?4x&q4߳ѻ2? m #QGHyM > /9j:ݼBuTkMNmWse md#3ƨSTAhqS4wCŔ ̅ P]#C, *@B(볂ܡ}=>yQ1`_g%|&,x#ΘsQZbCLS=p s<7Yv4nզIa2:;t! H/C |9iB/Jgu y`fp2ل7Iu΂s`M\s݀0˳+8 Eg;]cGؾPL%|/ȉa }T9hi Rfݻm#Jզh(7)0Oy}1v*z@(]U%6_q a(AjgE  'fN#~QlG)/-pS5}M*A,]SMCkv8O{M%7˝8,Q@8hG/Yt",Y `4D -V~p՚cA2ߝǡ4?aL ;šRkYz5=ho<8kɑS1 #(%A%(V^<#Kq?Z<8:sF<<:9iiG@GOI "%P͜#HB)2K´%T F:?ʼ?뇶II]1 P1FMHN=4QXc'ZE.eetE62 y`"CFQ#kqx9r>d=@L\H,eBE oj_U@eɏ).qe|)ϵ-Wًp-P.\D#芳w$N@ΌFBQ<8FuYV ;,ӄ!LGg+-Ohű AE<`((u *zN3b %u"nrBu Ńd |̙4\U}HYEPQ$F)ؤSCeCCmPㄊWt$A\W3R(<2s̋ST#F9ncI4URK3$M"Q- .j 5L>?-"ZG= .q `0N7 p'Š;C_s0 ѐe]Wvp"ʛFl+ ,ƏBhHnwg4>\ATRYEJ$m`"#&G2|b$Nx k8?v_oWf3 &#ӤdiHaZLr~f(:'҇wp4of`0Y'[ЄX]4V/VƲRo3Jȓz1wOfވǠbDI 3 ,sC!)}dtz)`t.=!݀O,ʞ0Պ[WOY%1tlsPN|%6;"Ry6Aaĩe cuPS,%|~ $y =[49ees*ZI&#̚]ll!E ղKqNn㈳4'IhN-Ģ z䍣K$Q^spUIN-6DlRg!@h@;%Gf 0(qL'3Z;{]gC¦?I7EiT.L_$JI}TXc~v<%RPb2O"6}uT;aGu( 3Fy =b΂UΒ(]$f*PN'@?IrS8}JPlsKuSNӐ[lPٺgf&[EkeO9KWa҈;1@Is'̊((iI>? ##o4F&Q.:.P?ۋ ʾ4}R8Kk4P)B1z;᧑Lުr_yPZRdƯ7fHºw@z`Xwe0#QhR9?MɷeoiH1*LI?/A9ݒioO;Nܹ si$(˷1"e g | V`o>7#P_W(? $p +XKz(GkGig0!R8*_*$Ƅ1{:~Ip(pوj_ҧM!!˵m:kyi㯗zѢ \T㩥VBpNfB5w\erP6ȥ?9U7k6qB~`l c+xn ^\,/f)SD=ô꒰_ݲaFp q L$1Ur8&,^he?Y_^lK{]b>(Q[>kA/*ʄ9(xKU,td !i2R= ,C&$mEBJLBy|H/%*s{zw@ tXՓ,.MtdP|_BO|mr&T~հī-`ZJId+(&ߴ*4,=gз@fFc ! =eFy3rXy?*X}X*JFݩ1z;X.,>kGX'DZG.PYYq /g,$ 0,(urSKiƔ%9PQh+/xI )ǟKfx0yM/#+s1d (bfđQuJ 6-jfƼ^R[^;tL 9d ¶ sah5,hB ;E ͢Bf<^f u#}$3 l5Xm1! /l NАj9m GAPE-d ,~pJ` w8qZaL WTTԖ ǘȘ"2YcwO벞!uπX#0C~_1VSv,u (`$cMO>$%ͰbGMP&sp0dCNVqm'Ő!72RA$˞1;lp$(0@O?FcԐɹgv3mOEe|o~X6ms'SO%vjwb`)&9H;cr(x:r:{[f(d<'ܧ ƕS+%UU|(1i9S|C PtP "Bu!3栾l뎊a >1'((ăw:@fA hW7Z`,/T# 8aeT J_1̍-ŋxH [Sy۴\TTLG:LLh,MG֧G H[c]> Olu4"8ԭ=U* <`Yf$µ.@9"}D9тq"t8k'4{F҄V_@bhCс(qlu>啢N6/YqUsi~8(By=ApYz,´\tV52y+}aB=1.XCX} 2 `V_4("4ݕJPBZ0"_O&de6@M0C1๢$ՎGMif{?^d1"lsś]R6`@[$ zQ{9Ev[: e'KJhd ƌ ٝ:,`İ$'ъ,g")~f\9\?50NT lӫ^H-(2!)}oG _}y"osZ#L(@܀fCy$~IόL e8ڞ8_[ȅ7[Y $V E[sڱE3ʌ}J'-,8X̸ 'X(d7RЧdJW)t\ޠc87ya#B^_bG[f +c+G:!C*Z:HCP [.GH4C#T _݆J cAcj4e8Z &iQQ*̀&}|UD\X儴J_NK%@6#[xsK,^ `B)8Q}fBoA6GUGFVB jQ!x3vӺk3нE 3`,tH+Y?]Sar"sĈnhEnˆ"aG!G͢%9TĢ2=H!òtVD+o~l;(O p8UbTT;Q9&˔܁*6B7o40ۙٚ Ro/?XH&J=d> YtSH.BW+FܨRR됕DRY~vms$^j¶F݇G(Xk]6X*T hslq=06\Ѳ0gk! HARL)\dD""K^5wQ1P$d_ݹa8TDl0 D+&F2%h6g Ґa`;K #ss~|KVqjTuC-fr`CX5F ?l% Q8 ;)cNH{@rt=K^)]X0Yq? wxXdLJ"\8f5_\c1H#| 7$`/ZИ ni6}$k7*ܩJphnբH5O;$m9wAN#XW9#vĨeoۮ`{p)s~mp_[d`Dw ؤ /$6?#b&eg ޒn̥PW665mfĀ.Gͬa|EHM^Pjp/$@2bk=vspt5p|Vf1 e~\DtKdPV6Ӂn:*RVR*|`82:ip7:ټx)Ѕ'%/OztB$ӅbZ=xOG1g}eQ3sp/PL',v8~ͼیp#Qla20c 2dT!'u%\;$FL :15)Ȁ"i"_:$+Yޚz?<F c+)QiY~U<@:_1#m05 bpx1C!sVrvв)& ؅(i-M,s5EiQZy L9_ɐ,mnA);~fb)@q}C^p;/AS&9:8$ Gs. K[JCoOlXro-S0CRi Y`(e{=*`@R- t:"N~0_kxcT6u%d7&C!׋Y92_9M]< -y=('ua2 Z0aW?#fhXYG7Z k1`DkAݠHJXPH"7-V+s5y]|g  xpcFL~&(/)Em0R4}t@aWSqzi~tOv&j>'Ʌt" S 5ý;tū4R,l%v=x+~ybDKo4L LB$jG*qR t$WY."ΫYxH8#C9pm9H=Snrrz>*2zS~dC3Zb=oQXj,YEHGNyc\~T6Ďj[݃/*'[QT`!@/ (,ˑ}DlH"W6̉`[ #y=6|2lM\kpkewւlS8Bp Oդ!0#F{@ciqP)2(hɑ-Gb Qh?y7EZ~ˑeGx.B6)'ajKʀ߂}R. CXc]C S)ƌM'#,S=:'`HS?u321D S hn@Gev&hU[d0֦֗9 P %@a0= 7Ơ*lLzd(!B5ϒ%-:ug|6OHQT O/= aA˔r }M<:T mN' D+alJ̋.Tl0n2M l'[̀T0XD_k▵v 8Q/sRN @("(OZjo YgjRѰ%RJz*[{dZzC"#QV@0dR!\-3H2U| /QbD:tÒJRŏG糊箊N"s9Ìp#(0?)pN%dX P[3P/[-Gr~,Q]̷5t Jnʗ ғ6jρ`L+nE{!YL_q-q;#gAYX˅X63hDNOUا`59J#&6~XM1P&`pI"3&CoAf^:ZYJƗ8ZD[ D BB lư ިB+͠V[vL dUdt mīD 1*u 3mIk[xJS"nUm/wHzzm/R. B5~v:D(*\V$8_m$0WCd(:k3=w\*싕m /{}Chb Ɣ-(<)~ 8NwV >.%pD~Aێ,<4-wPB- ~-WuBXK`( $4-~nB&Oa*8Q2z g 12Q_Dvl-DrTքᕟ~'q:5j&="%&|Y&~[,aI28DPORsFX;Da1dzf!Wi4iց,MV^#!NjʕogT8Pm'M7@vt DMbLM]QB|1 "Esl̼= r`d NJ[}𢐴&Rrx_ OIϓ%^EϾNq0DU̺= ؙ2+xxɓtO6g>t5 t&NiM!:VaA F9Ddԑ,ţiht=zD:GNr0<ņ-F5 j!ms(T W+02Ѵhd) UA~ov r\x 8nb%>/ Z]ˡ)acpRSc@>--+$c੦r%P llӺ6CCPI̿1jIxyrrabBiaOqX?C^wwC=XL Z1V!b*1 /)JPjM̘=t@rХ&[c+g NͽZšR1"6]"g#(͞ц l+hRϾ+eC!$KHuY O)nյl h<",bL՗جOuYX7˦'W\`0#ů;3`#QdSx5)"wx2>H`g><`R fَp،j.Tɯ|k^LZ]V%u;В'.ZEN`aCpq | `פLqrevuRNj-+`Z6+G D_9G'*;t8&%G=ݙȺMBL~vd+.GYT*; w+idf~{}l?6J/S9y=f4):' .Tb/6IpAa5Q8?&Ց+hyhO9D@s +W%d K9&{F#3EhT2|/גETt~aذxWi㴻e⼍*'2mۨ|Ks`4y9|T$\ Fҟ.hJMOlL7*jPwrKM%GM]\/6:}Ċ|\M"fKMdP6}ӰOD5 yհC'z`pOڀWal@=O %-EOEܘANt}MI]%7+<փ pF#hBd}M7*[ #f#56piΆqj1\:1ڂMV"'Hkr7wחnnMX! DZXrAw| _>RGܠ%К Gm1 {>%:_JeL@bԯa*)_2DǛ+R@5GRD<9,a[Cn q+1uWpS0s =x㎊B狮o+CGa'{ W+xg5t̙=8c[#֓ɸ:Ƨ YB6p,4g̓^?2 z@ FAr.fw ).*.kܘu y{oP=p֒e4I7t,## lޗe:I/4 [jDZjw"8 &?+Nͪxd%R#%Bo§Aݒ٘ ?<&,"[qR@e3L5Q|[||l44HEQ.l u`aPOlS1BX VJ 9 fJԙgFKJL䁭&߈D_0D=roܽ< MGyPKF`8ӕI ZO _ ab9j7|J~h=ů%LY-/Af b0xz.cI `7Yp,4&{M,;e tF%q"&_Y_rA m,jS{.y@ҷ:ofsp)wB_w ;@0 Rl0#/C@,Y9,]蒅l ] ٹ]Okޤ Knլ4a>Oc;oTň^Kqq8FĭEva=E`3{篅=kmgqhRI,QI[ʳլԇðC a2]jj<+,n21#"F 4/# &A _l5޳&8Xΐf3Gp]F̥J6@`1qŅ'&v*0$:WήmTs ?$SliF*-Tp9S P "ۿsiZײz`NE;d'̮.zq|/8\Cr/i =4`Yݒe0lN>z`ҕװk9V㟽ey0+~HPSMIݴ(`f}B蕬5l<]  !K 4\.`dFk!nj~ `P)TDœ&I(X(8|&V+["O+9a\~ %lz\s.GWQG3%Tno(ʑ!_`GH7UVh(cP,x m7"@:TŲ8кGGݑc+Hقs1fբTȼ5m_`R_ܗ{hP\~c7l:M"X{_=s: 8΀N]>әwtvG~7T@yWJ1P# $?7`zx`z?rL2XejiA&Т:Cd4v^.4x'J)XlId:$-cLb8:d$@?50p,Gf⛋*Fajf<@5b($W5 lsGcR]c"K<O^C&!\@b8 F|5-*5a3 ( *l(>V1UO XּC\3DŲlڐ"qfK)WDB -:DOoڝ[ ( !92vOݮU^$+ H桄mt'ACHU6=];{!I0o?V(BFb ^H2 jqF5c|r07WB}֤$6B䥌(m 0t 8,4bUm9@CpTdҝOAB+ZlȨk|*ǻsow;5,NOR ւx6q_SEiTS#"o0+h>9k;!7@Ĉ-S1rjL1k=,=N'V e 4PbRmM6Nz$2p~ֻ(:$?EHZ8yYe0恀͈e};݊J w#GќWG94˜d&ʞ.c#c~o2:b@8y&Zhs|g[Qd`yլ[̔d `[߮6,>F {L͌mZQb:qjUNL2rSAƨJȍ34`5ܯ,UrXJEethfgah%}"K- T;*"Bysݬ#@xEJAAck@L|' '۟ &~8?3e,2݇+ A:ukX2FK_!qKL~fd!ۦ65g Ub O>#CxzP(ٯ0dЕa5.x ^pjwU=1]m[zֵPq^~'@5'jNӽ`qWŦ/٪{E}:? :l|&1 >x/EX$lϤ>?aݣmec0DSpT"CYMЄ:Ѕ샂ԫEٻNM` IrI:2h]-5n԰u+ ƃCٖvҖt5 A 1ֺulAwyA6 Ty>,WŖƐ)K گYմHEc &jP`n?~  @^~Y*G ͋Cͣ!q )UX:1h$.{9&-Y`A`C8 mf/1 \r.U8Y/x / mʁ X\:* R=ˑT0ژ)Ӓ_&txU &`|-uoN3KLRtH9Z7Eaa*/'-RkO<>g8 jW@*F\! H7ҚƄd2M%2@ƖPj`P_/_MQ3phk; 5 ˚ 1 S ieՆ`YX9"basfd9]-$}(,ôE.Qbx)ǢȂ灒a-y<0[$,2%QM@ Á){!ߥR?D'`1$: H>vCʼn6,H:1Gz&+h`+ { <1z -2){-}!#]P(<>w-xبJ?0jF#DVM  3) aݨ?XO4FV}:@4GflS]{ brxĊ4ce9+W(\YiUeKu*sNx&ʱN8z IaD#U#e;MU{\h]vTa`!(mDӽH"Al= 7O&hI[Cԓ|x UV„pr?e (&Lv6 m?ۄ,)XYjռ oquupw {6d=S#;iY ~¹E0\OeTB*yZqTrP0pHP_Dg9+cuۉUeEm;a^c"8}A97D7l .e|<е"L܀JA-jCqH B`M)sg?g;`bheNWJQ_[avwtF߉pO]w{~^W ߣɋ|_] un!!im;0$Y(Ţ$`I 5rZӊb6C+f ֤ Cccx |N8:i*I3'JJg;w3S[Pq#Or!DF+Hm1,CNh<<xs"+5HH/et qr~+d8Cw(2"an1>$p K.ǘD?Tc"F8#! 6+eVp@4 XgMk)h詵2Ǥ4<2zQ9Cv?<({W'o<%'0ܮ.%_J _ś~Z([ ;M@T܏fe_ț<17XD$o"cI Q'U3%TTT^0Q))lÓ. L+A#o"!3]-R( d3fPHត̡{3!6^R WW qm~H?~י7?P"rh/8qЇ"eP<@V)F^|D0G]CqNFȪ=.}U^mX^9=b5esZCS5qtk1fh}ꤋ+k]G\g8 =u&a`%w2cK,mCvՄ )@``Td<1sw d7zz1)ȡxNpA^<-xrCJrE= 79L $Doމ?W_⽫h!'7Lq_(f9!Z*Lbmw|R[- ]Ұ* \m^@U*q2⎏g5@t`dM[l3OħCl6O[BQk";":gѨjf-.J^$rJxP52-c IoFm@,vn@ $V%{.p( ҥ:Ink[Dq.@>\v$5ͬ }pOũ~{ -ɨAt&uWUM_d +_UInjM^pSK m EA5/a/9COVcR?=R$3HA/P$f`967 & [+<.܂jFu:gWTNzZVPܕ+ͅP7V֬ Όbp~o3ӗjŒl*zAJU0U)d`DZ(a `?jKjn u!+@:3ŸG 1# s0 IO>fNMHj!6&. LyG1D`&Y3s."ɔ 6"x1I!uxE^_s74uaO#&Iyo!+ H@G@xr7ի&j`*Q٤ ({BhX*u1V<"$nN\- &b6f89w6>np鰠p>3b+*< NA7ZAhzWqЂ[dsT&ggG A8KCu 蹲"W<ܿ7R95$ $S AY[x:6C$T! ѷ9\9F4YyY50tQޓߌ1`mG7+ 5֑̠uѐr@F1lHY^4lcNwkeR'-Tk\ժ/3Ҟ<"h! ļ%=PQnnO@aN@j')ֹCCt%!ȯΫ @J9 v` l Au7ƉR^3i", RN&g2S,`Bj͚&vbKSp¬=R,f2GRd&N}@?ÆEE)!$ua F>brI&sтZ1a#3EJU,ī*PߒJ,vJ˷6-=ydJqM3 eG+Q%YwȲ$.7 VHi/}Nt&5۬ƓBҔ䩸+V4M@fk~o 5#_!I i~4>C-\ec>pnCqvvBwn HXKfwTŏSw%uc؊[OɠHf$ `!q48Vl\uUnii H3q\V ;Iqp-x"XÂ=\?$|}dz˦<*@P1=㐶hY6^qDՎ\7d)/L膄,DnV2iwJ-g@KYAl?* /=.|9ՙ  q0tu<\rdp8?]%Xe-!g zx6?庍ϧt4 ((̍_D0ۖ|Sɰ֙|܂bpGK_|ɇHmk#KG*:z5]k31O,16frt,ll*rv["~U=xUz3WNL`zAUvy5V'q|L La|:)k ,36&K)Bz׋KM1ŻSC|M2jɚ$ͤ@D[kH aVBBT4r$Mt 1e7;vSZg@tȨEG8P2f;1fq W wCl-xv\ .H$0 !XB5.^7+y1iF)V^AM=\300_~/Gŀ`7<U&m ǛI[dt[ӿx!`p 0r˹<̣[̈Rx4c[?ƹ?S%DPIR2b;"ih;F |Y4,R8YD"M5V=Ed=na:%qV0*2#>o3 r6rCڮSLJjf'܂fZ#7Q|+hYn%6 z=eXDb؈M_8 JzY 5gGN6ޯ96$;Y+MF87٩SQ70Ie$6_984z(Jd$h?!M#A f3 taos<ˤfx1+lp[ Sbӡ딀 tW""#RUr 'V=kcL2YSęNd L,U3"k<::?PҙX,l/nHa8&c}!u>!M-f=;J@7!m~3`)V.wܰx8f HgDc.".i  @ GD;)gn]g y r; ^tA uWG$zEdȷ2/6k}R*PQCT;wPđd֦b|A>?n]y@Ff "AoWZ КoNO& 6W ``zR 5ԁBWIEaU»=I1jc2ȆoKC#]?'D\dMB^|ӿ8u>;YmǀPʈuu'X<%EcV73пwAAQK Fhqm3dk'ɥa,0blMhgٻYwQ2"--zlhr y v@  z0#} X1I6 :HL D0WWYQG#1 -.1)QSE4 $-ďNFz$24ϞzNXWpDET{Y0dQ# MI,fU?O/O>pn;t{KF4A3 l ^  [ʍ[ rDZԔԮa`4_P÷&A,eW⅌Kn8605 B9w|j{d*Vj(yzQ]:u+pp*-s(x08x)o@\0vH1^Mc?>r%'3 wI" o2d2Xp 2j[NBIAm`$%pVÀ\8CD(=(σ( neF6n¡9lvё|xObH09su9mR]L˗(sxll25r <eѪbbpJ%mj>3  .»mg)FH80b9(Q}f7|%6t#]CK0̠cV@ !-rRk1rgC%&a(2r^ft3k o!Y$p۪ E#ȡo;fǰ1a e a@6+vZM 1V]H;} DO*h~ @E$w;1{r~ J6kyG9,WHvazFe%f5T%u ]'tVPth7K)%NEXR; I_ۑ V백f;FL" @ZHT-+NopŹ#I&AȓMy w'3[h"xXae:hCWW"`3T1-M܉!Y_6/l-9`C?CT{d`?IE5V"FygDRQۃ n+kz`aw-劔.Uei0 OsV0JSPޕ7 Uxz+QԬߍ`:#!5chH:F h3rsm.0-J(0RF8v~:6F:е9%@,,uH\ Z NZ.'LoZi-JF&h B\šwӝ;%'%Sښg=qGQ,N"gU>÷M1‚Ke]5l(a@`ZaX5ӄtkV od* a48dV4z1c9)À@@bZ#Xȧ+kj qaWCιzt 9TI?a GA|BwKqT%BZ~ټ;,hjWHi>DM~Vմ?ޱb'e!.#nVe|<#p#b%'=GӎŃn\ (*H.8:Eι9;LF?+Ig/y]Dz%rAZÔf\}!C*W@uղ*ɱv)Zΐ8Vn;ֆ| PT춮 oڊ^<WY%A,@DןT I`yjBW%8ՉOVG5k7n"ĐDƂFt$ M}6@3\ ˸mF3M1>|HgM6P{,ԲU%3 `{plPD$?2ɇ%@ԓ6J"$a3/|ZQ9WM ;n)# Ők)Ґ9F7I5Fql5jJJ%9BmJ89c# B6r@'37DOǢIyr6V2e>7rX9BΧ*6yFҮ,Q$_OaFwv6b=xJH:ESz܎H}41zg\D1>5{T bL^;v86Eq&zz=IΙX ta`|b#6#eUW4'2*Һ`b{S&@qJzY#g@R"SZ%f'f( DI$"@&Bc[J\UB<ekv#}=AyKK:lxځFCRsw\$ミFTٰ /Ic(4\|$^Ol~hԣcL[4ߥ i:_ $ pm5ڸxSN@P=#7jB>N|G| _o#*jcd@DŖ:K[BCSʢB@e8 +U"O`k86nKK&Wim;\ґ޷"U"rs“s5(NN3W.Ȏ @C(zQGd@̰ɖ2p$0}nwbµRr C6>]j ŏ)GJSȐD֒-nC]Ax3 cL hq'o,܊?y9]yZj\`ot$/#w a RŁdo`ɃXœ( (nBɋN+n*n mjZ X00m:: o}¤$rv7BĒB = )L1@Jj 1BV2Gjl`tlɻW {DpO쀁2]D@^/pa˓c~cH QpdiTxRWHM7꠰]"ΐUͣIcdX #v7 q:"С  U-RdB0 ?@vh#_@%ǿM0zdٍ:0.!,0Un!{HB3r5j]NףdLYQlwl|S 6N""oJ ;]x<-p%D^̦*$znF3Wz4 v۶4FOR$xIP\ÊVeeb;*IHDv_#r`!g*#"mi^i?1шs1M0&Ɏht872&eGjqi % hTE^$.CTU@(åxcw~ڨ\App6FVp5Ŷ C)BOv|gebNvdW8B+udȫ,JYQnߋU _2u?gyZ) _BشOe !J q=] ˏWP4F!R"b ҭLOL %>& pi0ѳݢvtm Mꦲb/PC@o  "`CX^MJԲIԁtPqx,pFDJ J"_3VU' qNeƳDN(L`$אq*Vo"Y_ىc *ʾ9)'j/PPkkfEedrhM)לjX('SYj<*} kiL|^laq+ tфlnq@eh^ ޾tɶǨAdfd.S8&?vhLUSsVB3G~MM-hC Qo' FY|D dl2|,S{sg0![(ؒ ;њ 7JV ϒ0+){;S݃ LcȌOMYh= #Ga$@QҌ^'@o=!ma=Ҿ7/^ WҐ;a-iĢ@GD%']K/W>CFԮd2ǩ]rW35XRX M۬&A,* a)_}t'"k :da}1?D45Ӊ` a׹ۙF =ZWY,=PKOH>5 COݻG0;)A@c!Y ގ7 Rjљ}1z>VPa 0,+=oޣQ> F 賱]M\ y腽Q;r:z7%zia&MߩR e9Ä[n9 ϕ#*{X晴ڃՆ9N`YYz%3fm$0F77`/B!V*G@Žjoc0ߘH֛C!>8 2Ơ H{rg*# ⠻Cvɘ5([ 'Pr%ii‚'F4ٽR=!9!SO$l/,Ǘ61fx7,obO!c$}K.A:e<Ot (BS;F &5G y'!Jۿ>ky3L&^-c[WG`i)nW;/aOGT^QؿU\)B ~(j)0qI nRN (vK,(+ ΕHtҞ&m,1H4D2O<1)JS@~ $L|݈*G4l!5ydoa([bT%wJ3- avN$y<khIebI4Zx.)Ù=B*=AbߏбwN q1V#_x?ip`Afw@*E|gdagC1z(ؕ̾* [4~  ~"X;phjP@-(kFFa  aGY4iDj2x4By(4gshi0ͺc މǐ1sSgߥ0 %[hp}񽄲I9VF x90_D.ut*;;zOxC}F|{BTWUMpȹ`LY ܢo_f*Mi{j-pH 1mOfV1&oK,9]ntv&0iلrC~E"OڦE88ףT< 8 ,@9jͫȴ$z=M&ŋYB|R2cs4T`b;i! 3l6$K\W7/ e Q6YaUE{KU_m'=FuBܾ6W["GRkfP&fκt/GT y ʾ)l筮!A y%ʇa e$3uQ1b |ܰN4@S۽ !iz >4AYqbZezHh/Рa FV)aFRnL'%]Q=ny0֤K4b%xс)!e%9>-;b[XV Ƌrʱ<h6$%!Ed$KT[4.DFDG9r.֌b#H+,,:q3P0[q8uQ'|(/$_YW*UyS [ K*+HCbmqSb>%51^? ˠqx% A_&ZEuBn`JFgR~/lOoAR>pvQ.? Fi⍌#?ŕ×bM҇pblU쁽YR(M? N(E4⌓뽥m[}Zmn[7Q{tA__g/rHIIG0 BQ:g[j=FAsG@G޷ᛴ=.(7foUuiƃ5qO88 Y(Y!"WlR,@+3E) `PH՗\UQFi5)/5hȄAd:奺nhw6;ʟЎZN2?o2<1Ll¾R҃aV3ԻDP:c P%`}V[O5_ uTvJFa) d gO $c9.>]?mfс;@}tC>FKό.w[3 Ǐ@dD-'hrSmx8D["15Z=6^4asM&z %lKyH5hW]q ,]G&_$=mAA3!$tc煄7Pnst 4Z\"x,oM/9WH0$pMRؙSep3ˮgZ^nB4o X*E"l }R;pEmȟ{'is<-6MrɷZk"vFxM/dPҘ.B~ /ӁD[3yf;-Wh̹.VZ9Kf QїѢY`u> ]bwC:۱^l9tŢ֬_"V7c+bjsZɐ%Xz45G/azQJ2fCWWN Ue 0<ס/2%J!4Vb t&ǚeʂϽ(vNBroG7^\J@$9!wTХ:@H\[ ͺJ*xOp5a`6rڋN9,/Lzk  a).^iKd`p4ZsC{1b}(k(_p(_*D܇>{@ B ֹX}T cU:Pc?aZ* 1P!|yc%CU|.l i*YKK{N@o^>j=ȼYW,Ӱ8g T=dg(;ϲk|1 |@ͳCkjʹ`)m}ZZB4K!-k:THtFgp.xō4[ƇQUIζ[?w2'f^Ճ괜ԆWZ1eq.@"'tAWN Ԙ?QpIBdy.;.I'0udQx8WЄJs> `nQ΂ttזQ²~Eƍ>]d&5ȳ4_Um2LϚ`2g>q\(e7&DG|}~]t84 e A[YITxo -;b]| 8`utu8WabOخf(qII>o'RM Kp>8G롖EűX1*f]IhX40.({7~d( eّпXy?AR-E{T Q׻HmFz);O<u@l?_qK f2( H> 0@G#fѱjmZ9 # \scHw&GZ%[4Mf A+mUTe:UsO& _l.OLWQJ B$t}厇TX5J2dkzŒwUSk? ǕiKm{s뷃 uqʞ,t7m5ʏj -*\\ٕE*1b%NDN" \ٲC8" FxD` NbE#PTG7vv! 5Ophqmf7W"%ccMo3p,Od8 I{֭,8?w%r6xy7֫ i2JZE@ XFaD/yF\a5̔ۏ oՠI6O~ʘBDS'ao1xuda_2^""' kI9Bm,{ҭyCRߤpX47JW] 8 B3"rtKڝ| ͸E ;l2eE- ᖌ͹G!Ki KT|mo }g$\&b\eܗ0  @~h{@(.: !dz"5w#I/J$ZA'`UT]we}Eb6b!2TcYM+;Tk˳ًT{2{F3LsWod8} U&D$t\hyJsǣ+jF< 8;FCl: 3\ǎEwS:Мj6ZJ$(' 玊Á;57y8oj?W)s:0Լ^TzŸ·HX>l sRc}?^7a#uhOhI4v}LXVZAE'`q)9GEa(_UR H움Q',xdN1lg|:h%)a^); AA-_ P9*:\c۟Qo' -F) (+ ,ɂA0xY557X#@\p|ͱ)o&^_>OFPj=S Z?ҜCYZTռLe]ʼn?SxM- K<[)x&Xj45,%ZN?ɵjSufKM.`"&Vs4(AJ3w&Ab"Xd])B۳JIv=) Isx6nVULO"0;crPP{ڠV"iRjfF3>56.qQd&qisF%^plrF2]V P/ ِdB1H`@"Mơ1~1& LG|V| b(4  P3*eB) ߾Gg?#u; |iS*WrlPhu"՚:4&r 8M%EUXCK&fA&xRV;f4K*@eDC<Z楴% ]J]v^> D1SƓ'9‹/f"cU6j"g}Ƞw~O L+.8XY ~*}Q ђq`"(P+Yt 6d4p0%#\ƒ,n _E(o9uA .ұL{|ڱBzt)PY8~t@jiKiEh*D]A%;8cTdSp+;3oa5!ZCBV,BgL \n z6k4|b3Pc4ߥz9L0xs :dc.QY`YR|QcjAgU2yA/B!B7quyXu o@ [4 XEG,PIfxuS*ƪ25YiVՎ7DS-z}'ԡh.}xS[tLRBg&=7b*:D%@-@xarPؔG,,Ȟ?OuHijdJEBKY0|`L$M䔇ڮce QR>^#٭l:A vNg2h%ӽf\;ͼ/ + dÝ~$z`_.(@IQJ6}t7Ö)=d)1#]=Ɩn)aq8P -v2 B-u!Au^@8tUӕ0 ?Na:8t\12^4k  ;}\a?>CB|%!H'Dq<+CKXD('`tdbQR# B Tb9+}/`^`G QZ fS?&tV^e2|feuI߻,GM2T j(Y."P+ FRLrE#Hp[WKw1뒷|aR\02ڈIẇB6I8o(x L)u+L"TԐtY:ҊVs0g]?NA`Ț%I8qJaGlhL~9aFz]EqJz i, #1fB7 i Kgau Zȁ^J2URp?lKH9gbltp8<&7BO?]9j)$¹^Ő<ER 1_=uJ$H.`GjMo>켗d [bX^!s=H:A ؝n5қ \ۢZY Bkg~m2u\97 xڢ@R˛!S O88L(ָE$Xy)qT^& &V4?bTewfQlŵuI4rTDʿ$Q l %J20lr`gIITl<%l.97֎zyB'qYq'i4ԊS{@d֌7NRkdT/ߍ`#Qt64?m׀uHؚ6Yԇj|3ٗ=bl&ɶhƖ94AW(>}i"y nY|53X1\cVki(KlGMa@]A7T nц/_{Gg _7g2M`+zƑض H~*~(+Jή:Ax ^?F[GdJP<ߪ=)|+#Ц9'_[z9 &$T|S_;Qy&X |H1%%:N8sQ\[fȭ(Qh]HIŃ(Y1WՂ3id[Es=e0_ĀL[{, 8%GnqI)!cL@+IImY"|v.'=b3Yᮄ1++a@,1j…Cwء=#\8-R'@,\Sǝu7ƛ ^_*q)ƧM8<=B蟝:JV^d.HV Iۮ2[mA!,QV=-[33irtDaa!ƽR#,fD'eF kӹƦ6P2DmQP킶>vrE-`%vY2Gv# ֜f <h}'mDaOC+YyEa۳(#AhU Jz$37-J&p$ӛ@`XQLSYMzLjx6.={ 5V;l{ UjA`q [ cކ[ 8"lG!ՅKOY*Ph\m܏ITR&݉;{N[d=>>Yv'^0@"nag7*"LQYGg!驨.$0PȉJբH4ӷ5oTʅ 7iArw-+r4HLEݭy|wJe-=| ߴE#SS G(fhû.-k0Y \ݝƘ)D<,~vl8:Da0k5;|]?:؍fӧZn y'ƌU0i:.Xᖪoz+U49 YF2X̌ ;I\7$BآnۅkqHݑ2wW`t2UIT m9`M'Ljk^b< JԽ u8|"G5_qG \A|Gmk1W<\*>>` `"эK8( qܢrU'p ZhO%T|o0Va17*[%ABC¤ X8YJP!f @_ndi;g=@HN_PUc]d0N\E#MB'*9X=z"P=K-K KXs܎/4~]BKqܞࢠ\ӟxsZF5QD:i䈦:-1P %8R>KT` "9a8SfH6eKg?AAJX[P7R'{頝$ǐ?n%׍cDяE!~Z!IVw/}0*`y3̰s|߾b@j"hL)ϙBWݱWMpל8Vomks VpŹ{$p#i {HAB%0%P׾2ZJkX|7)!IN[4#KjneUZ2=i ,,e`y9,-R\"e];XYgL0+Dn;lg6E{ Ф{;\av'mQT{}QAԾqIQ}A'qq&ݔF;F{#2aPOE!;n4t UvBP9G] 1fnH9h&IX :c@wr"IQF@-{\ $yB7fk/O`Kd%Gi>Z]QT,"%llC YFF\-M_nK۴^yB? Yl<|`oK$󱝎v+C$̘zgCe疤T$(sYӫ̌ :|v?~Kʏ}ȸJF^","ǏJʰzh5EU{V#ibxGTؐINؕmy9]qEwI 55^BzJRfHZY;, gqDޙX mCn5f|3.xFs֖Z$mOgwƠr(4ba_Z{Apl eZܥ gUHF.%tT[D8~*PO9i aWCo,16ԗӾAx2{>ͩ_f\HkEo7;8L`ZASe1bՐ%`;$D#4>\aL G)FzAy'4.2ST 5Yn̚US-;qysn2aSTƓeȄ6;+jx`Z%k.*vܣqكP6Uϫθi<)^n%;&ʠ;k^`.(w:Dk|D̬q9NXnOjAH1 S黸r56]9ҽ/+3b(bypfz,vA}x.ŸF[)E7]+?MȮl6iCDHǒ@kR 9k4MJt'ƐS80kdQ Oܩ&ZO íFax{+HZ+@8=|OvxF?tށx?.~fA>E?9Uݱm'?2҂UNZ ]%dR/@ټ:腾) A9/gun} {%9Jˡ SIK: H@)t=*9II:G&KfGnqHǃ{s]bl^|^݊Z%6̙Ovq9 xJЕ ,n-\0`'$CCSfK+@&L㞇*Ax%$Cbx0nAp/oaIJt"7P%̓k90rۉcśÔͬ#`CVUaIf Eaf шXU]/L20"RAr1#-nW5sdۭHU"W:2yD'4䉈IUȦ$E$b5!P.[nGx*O 8ْ_/Q_,iV ƺn6AW)ǯ%D|Lk&mb…e8 r$8*Sx0ak!IF qi عUHP-08J42%E0U%eht/{Ij|'iP#+y .&o=HLgJlr M^ON WY*}叼񜶉^\2 \C?[u111&Gރ? "44DC ˚͸ؒRl|й{*8GMN/@4fJҊx$f_JǓIJ A n,΁AIOtP#8w0cıYŧsyoSe@P1q 63 w?NP L%^% *ר|$]àČy%6#w)#¹dP~&"cL9* -vt%Wa8zQ o8qܬykɇl V?bтSK4Ga'Rj:_\;h? }·Q2GgZ pf~wװ AmKz xN( uHmI+b0L>M:IR]_нRj xFkѫACmA&EpkVHOdq˙~oZiG;*ؕ(yXQ0Bo:j{Aҟg/ZA3bjȴ:@؏SKKkrܖ*&dm-#QI7FSr{.;x Dnt44NP:Xx` foYPV!(1Hyg55ՠQB+9MHa @zr&j:ɓ;š]F`B_I IsoVE"9ǂaW}0ua;/_n_HI䜾QAI"# hKcn|Sƿ$)O}Pcgjfhɒ~''QeS^>Ha}@Zѭ ג ??( UԆPNg|G{!%gD`6<'B1>5e1 u*)l_ᲔYlz(E42:iQb܍" "BO(<& !vL8E䉩6ψ+'+"_o]yisٺ7l=B?}P `}pm-cnKBMQpȂrEGUk MaoK>LH 2(0NZɐ Tg74;9]Mdz03v̭я/LA5 )}+0k Y/Q#ءZڵxydDG61l4^%yo qS٪"Hc\Oâl랦GS[.6f^kMz${z7} F]8 dXC׏"(# N S qh6ih@-94P[/ޜO{կMqְ}{2V.|*w9f}9v+g ec:wIiˬd J4yaB1Bo9ftE<%ngܝJ`q/,;O39&T8c=L)OMw AQ6U6 SH *:q0ڃ_ Bk١س_P Mk.msx`r,M p1lc;$: o7 PUq*x^cp֨.-<N:OzP3,Ԑٙ8Răl4!h^,&]hLlܷaͬL¨%c* : 2PPY 8IkGRKPE AgB&6 J )mxC"p%-4b*X8auWjPQf!V⬔Ç֡5ČEɔ7XyqjRNHw݄!64#p㴆t)(,nm>86$6PH8{ 1:9V9+\Rcbt '-! BGNLTȝ K̪f[s2L=A!0HZ m:\P;ۑZ zW=r&yjtEuB/R~8iaᖺ..wK" "Qr(D]g&4# U>V›&)j7lqF%|Gd'rP8VĩYawIȀ|G-~fHJ6-*%J@ K`H ] qׯC|q d[)ى%&?L`/+ QQ6Ics[:Uv&{ɯ@ 81&$mKg ^얨2D \KfnO?~݈NeJmZўL5E@ϺfK2 ꚳ^hl94 CoG=%mzfYA{ ٵ)n=n׷ۜo"gƪb\KٌlNXd\p"0앶x-pDaݷ,$Fȴ#H̷͢ėEE0̯mړ,غLE^d.戇|YD"BAZXFǚEYg1%-T,4no 4aTT(?%Dl<0 iֳC`~Hsr*7\*Tɘ4TT;pA0/XjQDNa.bE# T& l)veS.[$:ב@|=QdkToNh7r0>%m2cܛĖ)u‚aio"Sx[qw-}i`$rspl:  0NoDeHwIANS.:<֖j7WN yd b7ߋQ Q0|yuO;3]9@+mj$m~Lۄ4C0D;ugzZT߫UqF*AD%q!) )6.KjTusm*S7r:;'~ >;Ʈ7s*Ի+h0h~ DT-cU'Hl5<MG)LjiAAT%ȫX3f2&-<eGjEʇ5L^^XwY>):(kw&`mEMgH`N"$_m5;N(Zgh#SgS:3iAs4 V;QP"2Ǘ%cCw5M1/.xJspJ.(?@af6J"P1)+a뗶uEf>PZ1URJ"xp@~-Ѯ޻gb>d1<Jg+ƣM/Ƅ(Iy'ZtY*`XK h ٠ .\5wΈ:' Jt6-VI#1uZ_f7<-v||$Qi5#2: Zl-­JDM/ ;ń tn6N?>r΃N,=A?}i;a!?;^TF$ VXA;1M7olj#}74m})gM HԹճrE})K%iWH_nQsz%7gr[N z3²{S)Z_+%ܚRDWfXJKQca(t h~%?"o#ɻFaR\wN؏Zh $U\Tw=.D $$j]#[KW;L3Iq( <_ Uuw,^p>fNB'd7wx:#zYautxP22w iwgܾE^oHfC|Wڸ|vm> p‰$uf nkI&qrrdlѽ>n]w{2'6ɰ<< iALdC9+*o|}A5 a y?Y>ߐ ,>_^*xBm557 j6)yDxi`~= >}"/i%}d{'yLdQ$c[ f 6jT-!.'V5& K }&3OGm 2 =L!s,D=l$$72wI0sr;u/, 6!%9%rC~e†b SU!Y`2G-CE5d=kCkOc F'mZMW>g;ídD3×M8&7/!$FYf{H2tTk2R4[4%x0q~I+zYSab4e a8p![€]3Ƞj tTuRdVv=\5KWΰC-UҾe<[m#{&䪧6("J4W0}lYZShݳI]ڎWZSчC74xFUzq5$NUT ZDADBM閍U@s&1[7PCH<xkM i|85GhFW\那= ߀Q 9Pל8u'r4eqjwˊbD%$ k9lݯ1t0xj4Nr]V( q-e%qV *i@Ơ׺? F1HţE]ZbY}դ,0y3|L NXW>EKHFJ޷"^DB3pV|pjHA`~crip&69]'?H|)*sjbPO֑9F ;</w|s[v3=U!֗f8[߿)]uִʼnz GZ&;Z,Ұlyy!W4,.j6[dgc_{aX{>8wf]k0@ؗg˴@D}"rvwqTSHie`+c;i7qg( "u1\* A>]إUڂbRRkJՋ] -vTQ.>WPPE hT[rF3k2W lƹEC 2T&`~7V , Ki )˵Żs°KD8;oaN1 _@JW_pVԝkHHP,>q4&"1\-ftq4ìyq1hk[j܃ZN\! b}33-OOYBfZ6߲B cۅ&c0ό+`p_1n6QEZp9Ŵ&^%YYl!g|bIܱ$;'R yAL&/{֮`&(=׸Vxu8n0~EҦo7"]U6O"vk$%%-~{}`+Ml3ڟa%!b`q<-//BhIဝK&6l$זZ\ P:?fWr1ާMh2P@[Ԧ08_P D@jl'o5LD"Aj53~"ښ*+R]M@eDlK@!b8q`ty!:Ir@*zS: (U6BZsM魼t*s kcKQt\%9qSbwFf3K8 }Eٍ`.OPJKPWhz0]Dj0XAdwѫwf9!IȲ6'VVppI7U?JH-- ßw2g,a 5L`epVBr[%zUu .n(=&[X?}߯$8ѻB2LI6{G) luэúLc/H0A'ɹ L|DH-8:d(|fk#BJ![;>{k]~Cy+z>c'kT֔`d@0`Y0vJ:7^'؉G,05?иJ Xz%:|'O[*t>fX$ ~YP(pgN3_.P!`T"Hhɼ쏒D")5 Gi湁/IX>y8pAփGGp郆 6f(#A J3iHQ#,F#0+݊.*TAo )LP@"! *8Uqa♅{ )@ThBE' y^$B@Gb%tI(a=fD&HHA="AD*K 懿 M:h?a [  z6 z M T ~ ol `2т HUhrpt (IA  $4x ` qp@NGp .dPGu_bo>O ?|_cۿZ*w?ɟ7]gVx_3zYꯣ>>}b/k=C޾aҮü&vWKɯf9S&yqhok56x&][<'mտKt&- ;&v mlm~Ǜo`k#UB9 EgP^e{u[nyn+Lf:+a.. G!\e󌋍ƍ@wQvY"uTQ+dPv@!c&w`fuO(Fjh0 9aU&Yb$je}AcLWt; ]g2I<ㅀ?#fQ+H<^2l:.BacӈB,Q^G靲`aϱƣ9ˊQcPveK?pN%00,2ȟ}M}KB )MGtigPvab/ *Z H5RE0uG[89p/f]҅-: d)#l'~'U(6-(j0`TtӤpƣǗ^X* 8rbkL!n3χ~F30Ne/~D)x5P@o30|GymB¡(@k~.aFnP! _{+f@'}}b 2ÕtdFDKg8m6E鎕yWZ" EaLk(zCq0vu&OPŖ!uƶK5ƐMٳ&F{I=X;+ʂ_3M:#㑎\=ߘ4h"_?HVÚ7xxi" (mŢsN Jz7W$[~-yHNq@"uStav½ MiYb,z1hb-"I~%xK6%F=~dPMKC|^HDjM>XihH]r%f-%lYVW|vEby[I[_TxVXMLTau<0K!'[¬ -I(u먶t-E"iMK{BNx-"s)gzP5Ea9)*OZxp;LvHcxk.T >ZR1ǐ) tM,7zW4RSCeT`6SŲlFdN2,ob'z\&* D騊MCe|=<9r(RUV:J֗8J$fЗV8һ$wثu@[JxыJ~Q9;a``)wF3I4元_ q1Q2?뛉9'b|:P6A@Y8iǚxQZgaMW4x(]W'鉐11PCF([*.EA^S+ _x:b`T@ـ`$SE:".'W#+I;<6d-O3Bseٸ\%8t< .?^pz4Nhdlxr\nF=/^Fhݺy~66įMtܝ8Ŵs`lH&jׂgŘQ 4#ɫۈ9aElGh B3* N|4 roHY࿂BJjJŭGW*QCUy$&mZ`- Pi9m+Wð$(@X ǒ~$#yMEHvMp'a8 O'gk\J[4faI \Dž'T`0;K`?PQU$ Y,:aCˍi6c 2Ev٩gpb"ΞX-2]B՝ATYi^U` ^)Bbzm| & )jJlOQq$SΡe=E=Q#> baJw]v8g{`QOQBK /I[+&̓"R|x» _S}x آ|RD|f1 1{?S@0A?TӕrxDgNo|錼8NnF A 8V c#t} N%-_ "гhϼݿ_dG<3|{ y 0.< `i^ @JtR{,ݯ|lס WHahcY{r՜V#!IaqZ7וU00DlBݢȬ[l٬[E`V*_rU8!^QPXVXR|*e%f ZJxPr,|-|p@^y>4,ʅ MTAG =鱃0rPj `:D''\ !4߅'g|櫪X@.ʋZ~qAbӑ'T0'=Cy!uDݸ|s2ف|5~UmLQ% j4ǁt5 ([L=ަZisTG/`#Zhrr>$'[@pq-3cVEĝdgwe7p԰p[G33spyrs@ # p@0 / _!"""`%>N^n~.>N^n~>N^n~ / _!"""`%!@P`p 0@P`p!@P`pd]YTC2 ߸ݺ  p7!!!@pp p1]!2#!"&463!&54>3!2+@&&&&@+$(($F#+&4&&4&x+#+".4>32".4>32467632DhgZghDDhg-iWDhgZghDDhg-iW&@ (8 2N++NdN+';2N++NdN+'3 8!  #"'#"$&6$ rL46$܏ooo|W%r4L&V|oooܳ%=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2 %3@m00m@3%    @ :"7..7":6]^B@B^^BB^ $΄+0110+$ (   t1%%1+`B^^B@B^^"'.54632>324 #LoP$$Po>Z$_dC+I@$$@I+"#"'%#"&547&547%62V??V8<8y   b% I))9I  + % %#"'%#"&547&547%62q2ZZ2IzyV)??V8<8)>~>[   2 b% I))9I '%#!"&54>322>32 &6 yy 6Fe= BSSB =eF6 >xx5eud_C(+5++5+(C_due> /?O_o54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^BB^^B@B^@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B^^B@B^^/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L44LL44LL44LL44LL44LL44LL44LL44L4LL44LL4LL44LL4LL44LL4LL44LL /?O_o#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(8 (88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88(@(88((88((88(@(88(@(88((88(@(88((8 (88((88(88((88(88((88(88((88(88((88(88((88y"/&4?62 62,PP&PP,jPn#$"' "/&47 &4?62 62 PP&P&&P&P&P&&P&P#+D++"&=#"&=46;546;232  #"'#"$&6$   @    @  rK56$܏ooo|W@    @   rjK&V|oooܳ0#!"&=463!2  #"'#"$&6$   @ rK56$܏ooo|W@  @ rjK&V|oooܳ)5 $&54762>54&'.7>"&5462zz+i *bkQнQkb* j*LhLLhLzzBm +*i JyhQQhyJ i*+ mJ4LL44LL/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2`r@@r@@n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632Ԗ #H  ,/ 1)  ~'H  (C  ,/ 1)  $H ԖԖm 6%2X  % l2 k r6 [21 ..9Q $ k2 k w3 [20/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@@`0 o`^BB^`5FN(@(NF5 @@@L%%Ju  @LSyuS@%44%f5#!!!"&5465 7#"' '&/&6762546;2&&??>  LL >  X   &&&AJ A J Wh##!"&5463!2!&'&!"&5!(8((88((`x c`(8`((88(@(8(D 9 8( ,#!"&=46;46;2.  6 $$ @(r^aa@@`(_^aa2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W  .@   @.$S   S$@   9I   I6>  >%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&48(@(88(ч::(8@6@*&&*4&&4&&4&&4& (88(@(8888)@)'&&@$0"'&76;46;232  >& $$ `  (r^aa` @`2(^aa$0++"&5#"&54762  >& $$ ^ ?  @(r^aa` ? (^aa #!.'!!!%#!"&547>3!2<<<_@`&& 5@5 @  &&>=(""='#"'&5476.  6 $$   ! (r^aaJ %%(_^aa3#!"'&?&#"3267672#"$&6$3276&@*hQQhwI mʬzzk)'@&('QнQh_   z8zoe$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762@hk4&&&GaF * &@&ɆF * Ak4&nf&&&4BHrd@&&4rd  Moe&/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2 @  @  @  @  @  @  @    @    @    @   ^B@B^^BB^`@  @ @  @ @  @ @  @ @  @ @  @ 3@  MB^^B@B^^!54&"#!"&546;54 32@Ԗ@8(@(88( p (8jj(88(@(88@7+"&5&5462#".#"#"&5476763232>32@@ @ @KjKך=}\I&:k~&26]S &H&  &H5KKut,4, & x:;*4*&K#+"&546;227654$ >3546;2+"&="&/&546$ <X@@Gv"DװD"vG@@X<4L41!Sk @ G< _bb_ 4.54632&4&&M4&UF &""""& F&M&&M&%.D.%G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4&&M4&UF &""""& FU &'8JSSJ8'&  &'.${{$.'& &M&&M&%.D.%7;&'66'&;4[&$ [2[ $&[  #/37#5#5!#5!!!!!!!#5!#5!5##!35!!! #'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3???? ^>>~??????~??~??^??^^? ^??4&"2#"'.5463!2KjKKjv%'45%5&5L45&% jKKjK@5%%%%54L5&6'k54&"2#"'.5463!2#"&'654'.#32KjKKjv%'45%5&5L45&%%'4$.%%5&55&% jKKjK@5%%%%54L5&6'45%%%54'&55&6' yTdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(sAeM ,*$/ !'& JP$G] x6,& `   h `   "9Hv@WkNC<.  &k& ( "$p" . #u&#  %!' pJvwEF#  @   @  2#"' #"'.546763!''!0#GG$/!''! 8""8  X! 8" "8  <)!!#"&=!4&"27+#!"&=#"&546;463!232(8&4&&4 8(@(8 qO@8((`(@Oq8(&4&&4&@` (88( Oq (8(`(q!)2"&42#!"&546;7>3!2  Ijjjj3e55e3gr`Ijjjj1GG1rP2327&7>7;"&#"4?2>54.'%3"&#"#ժ!9&WB03& K5!)V?@L' >R>e;&L::%P>vO 'h N_":- &+# : ' +a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P$ $5.3b[F|\8!-T>5Fu\,,jn OrB,7676'5.'732>7"#"&#&#"$ zj=N!}:0e%  y + tD3~U'#B4 # g  '2 %/!: T bRU,7}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'!~:~!PP!~:~!P6 ,,$$% *'  c2N  ($"LA23Yl !x!*%%%% pP,T NE Q7^oH!+( 3  *Ueeu  wga32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6 ,,Faw!*' =~Pl*  ($"LA23Yl  )!* <7@@7<  <7@@7<  pP,T MF Q747ƢHoH!+( 3  tJHQ6  wh',686,'$##$',686,'$##$/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2        @     @   @   @   s  s    s    s  s  /?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2     @     @   @  @          s  s  s  /?O#"&54632 #!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`      @     @   @  @     @   s  s  s  #"'#!"&5463!2632' mw@www '*wwww."&462!5 !"3!2654&#!"&5463!2pppp@  @ ^BB^^B@B^ppp@@  @    @B^^BB^^k%!7'34#"3276' !7632k[[v  6`%`$65&%[[k `5%&&'4&"2"&'&54 Ԗ!?H?!,,ԖԖmF!&&!Fm,%" $$ ^aa`@^aa-4'.'&"26% 547>7>2"KjKXQqYn 243nYqQ$!+!77!+!$5KK,ԑ ]""]ً 9>H7'3&7#!"&5463!2'&#!"3!26=4?6 !762xtt`  ^Qwww@?6 1B^^B@B^ @(` `\\\P`tt8`  ^Ͼww@w 1^BB^^B~ @` \ \P+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632www M8 pB^^B@B^ 'sw- 9*##;Noj' #ww@w "^BB^^B  *  "g`81T`PSA:'*4/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62 62www@?6 1 B^^B@B^ @ BRnBBn^ww@w 1 ^BB^^B @ BnnBC"&=!32"'&46;!"'&4762!#"&4762+!54624&&4&&44&&4&&44&&44&&4&&44&&6'&'+"&546;267: &&&& s @  Z&&&&Z +6'&''&'+"&546;267667: : &&&&  s @  :  Z&&&&Z  : z6'&''&47667S::s @  : 4 : | &546h!!0a   $#!"&5463!2#!"&5463!2&&&&&&&&@&&&&&&&&#!"&5463!2&&&&@&&&&&54646&5-:s  :  :4:  +&5464646;2+"&5&5-&&&&:s  :  : &&&& :  &54646;2+"&5-&&&&s  : &&&&  62#!"&!"&5463!24 @ &&&&-:&&&& "'&476244444Zf "/&47 &4?62S44444#/54&#!4&+"!"3!;265!26 $$ &&&&&&&&@^aa@&&&&&&&&+^aa54&#!"3!26 $$ &&&&@^aa@&&&&+^aa+74/7654/&#"'&#"32?32?6 $$ }ZZZZ^aaZZZZ^aa#4/&"'&"327> $$ [4h4[j^aa"ZiZJ^aa:F%54&+";264.#"32767632;265467>$ $$ oW  5!"40K(0?i+! ":^aaXRd D4!&.uC$=1/J=^aa.:%54&+4&#!";#"3!2654&+";26 $$ ```^aa^aa/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232m&&m l&&l m&&m l&&ls&%&&%&&%&&%&&&l m&&m l&&l m&&m ,&%&&%&&%&&%&#/;"/"/&4?'&4?627626.  6 $$ I     ͒(r^aaɒ    (_^aa , "'&4?6262.  6 $$ Z4f44fz(r^aaZ&4ff4(_^aa "4'32>&#" $&6$  WoɒV󇥔 zzz8YW˼[?zz:zz@5K #!#"'&547632!2A4@%&&K%54'u%%&54&K&&4A5K$l$L%%%54'&&J&j&K5K #"/&47!"&=463!&4?632%u'43'K&&%@4AA4&&K&45&%@6%u%%K&j&%K55K&$l$K&&u#5K@!#"'+"&5"/&547632K%K&56$K55K$l$K&&#76%%53'K&&%@4AA4&&K&45&%%u'5K"#"'&54?63246;2632K%u'45%u&&J'45%&L44L&%54'K%5%t%%$65&K%%4LL4@&%%K',"&5#"#"'.'547!34624&bqb>#  5&44& 6Uue7D#  "dž&/#!"&546262"/"/&47'&463!2 &@&&4L  r&4  r L&& 4&&&L rI@& r  L4&& s/"/"/&47'&463!2#!"&546262&4  r L&& &@&&4L  r@@& r  L4&& 4&&&L r##!+"&5!"&=463!46;2!28(`8((8`(88(8((8(8 (8`(88(8((8(88(`8#!"&=463!28(@(88((8 (88((88z5'%+"&5&/&67-.?>46;2%6.@g.L44L.g@. .@g. L44L .g@.g.n.4LL43.n.gg.n.34LL4͙.n.g -  $54&+";264'&+";26/a^    ^aa fm  @ J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2$$8~+(888(+}(`8((8`]]k==k]]8,8e8P88P8`(88(@MMO4&#"327>76$32#"'.#"#".'.54>54&'&54>7>7>32&z&^&./+>*>J> Wm7' '"''? &4&c&^|h_bml/J@L@ #M6:D 35sҟw$ '% ' \t3#!"&=463!2'.54>54''  @ 1O``O1CZZ71O``O1BZZ7@  @ N]SHH[3`)TtbN]SHH[3^)Tt!1&' 547 $4&#"2654632 '&476 ==嘅}(zVl''ٌ@uhyyhu9(}VzD##D# =CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧}(zVi\j1  z,X Y[6 $!%'FuJiys?_9ɍ?kyhun(}Vz YF  KA؉La  02-F"@Qsp@_!3%54&+";264'&+";26#!"&'&7>2    #%;"";%#`,@L 5 `   `  L`4LH` `   a 5 L@ #37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232 `@ `@ @@ @ @  @  @  @  @ L44LL4^B@B^^B@B^4L  @@@@    @@   @@    M4LL44L`B^^B``B^^B`L7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!546327>7&54>$32dFK1A  0) L.٫C58.H(Ye#3C $=463!22>=463!2#!"&5463!2#!"&5463!2H&&/7#"&463!2!2LhLLhLhLLh! &&&&& &4hLLhLLhLLhL%z< 0&4&& )17&4& &&#!"&5463!2!2\@\\@\\@\\\\ W*#!"&547>3!2!"4&5463!2!2W+B"5P+B@"5^=\@\ \H#t3G#3G:_Ht\\ @+32"'&46;#"&4762&&4&&44&&44&&4@"&=!"'&4762!54624&&44&&44&&4&& !!!3!!0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{O[/5dI kDtpČe1?*w@www (M& B{Wta28r=Ku?RZ^GwT -@www$2+37#546375&#"#3!"&5463ww/Dz?swww@wS88 ww#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2B^8(Ԗ>@|K55KK55K^B(8ԖԖ€>v5KK55KKHG4&"&#"2654'32#".'#"'#"&54$327.54632@pp)*Pppp)*Pb '"+`N*(a;2̓c`." b PTY9ppP*)pppP*)b ".`(*Nͣ2ͣ`+"' b MRZB4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2ԖLhLKjKLhLKjK "8w s%(  ")v  >  "8x s"+  ")v  <  3zLLz3 3>8L3)x3 3zLLz3 3>8L3)x3 ԖԖ4LL45KK54LL45KK #)0C wZ l/ Y N,& #)0C vZl. Y L0"qG^^Gqq$ ]G)FqqG^^Gqq$ ]G)Fq%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'VZ|$2 $ |E~E<| $ 2$|ZV:(t}X(  &%(Hw쉉xH(%& (XZT\MKG<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4N2`@`%)7&,$)' %/0Ӄy#5 +1 &<$]`{t5KK5$e:1&+'3TF0h4&&4&3M:;b^v+D2 5#$IIJ 2E=\$YJ!$MCeM-+(K55KK5y*%Au]c=p4&"24&'>54'64&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4+ 5#bW0/% ')$,&7)%`@``2Nh0##T3'"( 0;e$5KK5 tip<& 1&4&&4&#\=E2 JIURI$#5 2D+v^b;:M2gc]vDEA%!bSV2MK55K(,,MeCM$!J@#"&547&547%6@?V8 b% I)94.""'." 67"'.54632>32+C`\hxeH>Hexh\`C+ED4 #LoP$$Po>Q|I.3MCCM3.I|Q/Z$_dC+I@$$@I+ (@%#!"&5463!2#!"3!:"&5!"&5463!462 ww@  B^^B  4&@&&&4 `  ww   ^B@B^ 24& && &%573#7.";2634&#"35#347>32#!"&5463!2FtIG9;HIxI<,tԩw@wwwz4DD43EEueB&#1s@www .4&"26#!+"'!"&5463"&463!2#2&S3 Ll&c4LL44LL4c@& &{LhLLhL'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2www@B^^B@B^@&4t  r &&`ww@w@^BB^^B@R&t r  4&&@"&5!"&5463!462 #!"&54&>3!2654&#!*.54&>3!24&@&&&4 sw  @B^^B  @w4& && &3@w   ^BB^    I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2JJSq*5&=CKuuKC=&5*q͍S8( ^B@B^ (8`N`Ѣ΀GtO6)"M36J[E@@E[J63M")6OtG(8`B^^B`8%-3%'&76'&76''&76'&76'&6#5436&76+".=4'>54'6'&&"."&'./"?+"&5463!2  2  5    z<: Ʃw 49[aA)O%-j'&]]5r,%O)@a[9( 0BA; + >HCwww  5 /)  u    @wa-6OUyU[q ( - q[UyUP6$C +) (  8&/ &ww'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&48(@(88(c==c(8*&&*6&4&&4&&4&&4& (88(@(88HH88`(@&&('@1d4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632   N<;+gC8A`1a99gw|98aIe$IVNz<:LQJ  ,-[% 061I()W,$-7,oIX()oζA;=N0 eTZ  (O#".'&'&'&'.54767>3232>32 e^\3@P bMO0# 382W# & 9C9 Lĉ" 82<*9FF(W283 #0OMb P@3\^e FF9*<28 "L 9C9 & #!"3!2654&#!"&5463!2`B^^B@B^^ީwww@w^BB^^B@B^ww@w#!72#"' #"'.546763YY !''!0#GG$/!''!&UUjZ 8""8  X! 8" "8 EU4'./.#"#".'.'.54>54.'.#"32676#!"&5463!2G55 :8 c7 )1)  05.D <90)$9w@wwwW + AB 7c  )$+ -.1 9$)0< D.59@www,T1# '327.'327.=.547&54632676TC_LҬ#+i!+*pDNBN,y[`m`%i]hbEm}a u&,SXK &$f9s? _#"!#!#!54632V<%'ЭHH (ںR&=4'>54'6'&&"."&'./"?'&54$ 49[aA)O%-j'&]]5r,%O)@a[9( 0BA; + >HCaaoMa-6OUyU[q ( - q[UyUP6$C +) (  8&/ &fMa%+"&54&"32#!"&5463!54 &@&Ԗ`(88(@(88(r&&jj8((88(@(8#'+2#!"&5463"!54&#265!375!35!B^^BB^^B   `^B@B^^BB^  ` !="&462+"&'&'.=476;+"&'&$'.=476; pppp$!$qr % }#ߺppp!E$ rqܢ# % ֻ!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B @   2^B@B^\77\aB//B//B//B/@    ~B^^B@2^5BB52.42##%&'.67#"&=463! 25KK5L4_u:B&1/&.- zB^^B4LvyKjK4L[!^k'!A3;):2*547&5462;U gIv0ZZ0L4@Ԗ@4L2RX='8P8'=XR U;Ig0,3lb??bl34LjjL4*\(88(\}I/#"/'&/'&?'&'&?'&76?'&7676767676` (5 )0 ) *) 0) 5(  (5 )0 )))) 0) 5( *) 0) 5(  )5 )0 )**) 0) 5)  )5 )0 )*5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4N2$YGB (HGEG HQ#5K4Li!<;5KK5 A# ("/?&}vh4&&4&3M95S+C=,@QQ9@@IJ 2E=L5i>9eME;K55K J7R>@#zD<7?s%3#".'.'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2` #A<(H(GY$2NL4K5#aWTƾh&4&&4K5;=!ihv}&?/"( #A  5K2*!Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&5K;ELf9>igR7J K5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4IJ 2E=L43M95S+C=,@QQ9@@E;K55K J7R>@#zD9eMZ4&&4&<#5K4LN2$YGB (HGEG HV;5KK5 A# ("/?&}vhi!<4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2@@2*! Q@.'!&=C+S59M34L.9E2 JI UR&4&&4&Lf6Aig6Jy#@>R7J K55K;E@TƾH #A<(H(GY$2NL4K#5#a=4&&4&D=ihv}&?/"( #A  5KK5;+54&#!764/&"2?64/!26 $$ & [6[[j6[&^aa@&4[[6[[6&+^aa+4/&"!"3!277$ $$ [6[ &&[6j[ ^aae6[j[6&&4[j[^aa+4''&"2?;2652?$ $$ [6[[6&&4[^aaf6j[[6[ &&[^aa+4/&"4&+"'&"2? $$ [6&&4[j[6[j^aad6[&& [6[[j^aa   $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/a^D&"      4   $!   #          .0"Y +  !       $     "  +       Α      ^aa                        P   ' -( # * $  "  !     * !   (         $      2 ~/$4&"2 #"/&547#"32>32&4&&4V%54'j&&'/덹:,{ &4&&4&V%%l$65&b'Cr! " k[G +;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2&&&&&&&&&&&&@&&&&&&&&&&&&{#"'&5&763!2{' **)*)'/!5!#!"&5!3!26=#!5!463!5463!2!2^B@B^&@&`^B`8(@(8`B^ B^^B&&B^(88(^G 76#!"'&? #!"&5476 #"'&5463!2 '&763!2#"'c)'&@**@&('c (&*cc*&' *@&('c'(&*cc*&('c'(&@*19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462QgRp|Kx;CByy 6Fe= BPPB =eF6 ԖV>!pRgQBC;xK|Ԗ{QNa*+%xx5eud_C(+5++5+(C_due2ԖԖ>NQ{u%+*jԖԖp!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632(* 8( !)(A(')* 8( !USxySSXXVzxTTUSxySSXXVzxT@(  (8 *(('( (8 SSUSx{VXXTTSSUSx{VXXT#!"5467&5432632t,Ԟ;F`j)6,>jK?s !%#!"&7#"&463!2+!'5#8EjjE8@&&&&@XYY&4&&4&qDS%q%N\jx2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''74&&4&l NnbSVZ bRSD zz DSRb)+USbn \.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O` ` &4&&4r$#@B10M5TNT{L5T II T5L;l'OT4M01B@#$*3;$*3;;3*$;3*$: $/ @@Qq`@"%3<2#!"&5!"&5467>3!263! !!#!!46!#!(88(@(8(8(`((8D<++<8(`(8(`8(@(88( 8((`(8((<`(8(``(8||?%#"'&54632#"'&#"32654'&#"#"'&54632|udqܟs] = OfjL?R@T?"& > f?rRX=Edudsq = _MjiL?T@R?E& f > =XRr?b!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2 08((88(@(8  8((88((`(1  `(88((88(@  `(88(@(8(`#!"&5463!2w@www`@www/%#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&&&&&@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2ppppppp @   ppp @    @   Рpppppp  ppp    <L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3</BB/.#U_:IdDRE @  k*Gj @   @   TP\BX-@8 C)5Xs J@$3T4+,:;39SG2S.7<  vcc)( %Ll}    5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&@02uBo  T25XzrDCBBEh:%)0%HPIP{rQ9f#-+>;I@KM-/Q"@@@#-a[ $&P{<8[;:XICC>.'5oe71#.0(  l0&%,"J&9%$<=DTIcs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260% <4"VRt8<@< -#=XYhW8+0$"+dTLx-'I&JKkmuw<=V@!X@ v '|N;!/!$8:IObV;C#V  &   ( mL.A:9 !./KLwPM$@@ /?O_o%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2@@@@@@@@@^BB^^B@B^NB^^B@B^^#+3 '$"/&4762%/?/?/?/?%k*66bbbb|<<<bbbbbbbb%k66Ƒbbb<<<<^bbbbbb@M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2LhLLh LhLLhL! 'ԖԖ@' !&  ?&&LhLLhL hLLhL jjjj &@6/" &&J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ok; -j=yhwi[+PM 3ѩk=J%62>VcaaQ^ ]G"'9r~:`}Ch 0=Z٤W=#uY2BrUI1^Fk[|aL2#!67673254.#"67676'&54632#"&7>54&#"#"&5463ww+U ,iXբW<"uW1AqSH1bdww'74'!3#"&46327&#"326%35#5##33#!"&5463!20U6cc\=hlࠥYmmnnnnw@wwww&46#Ȏ;edwnnnnn@www ]#/#"$&6$3 &#"32>7!5!%##5#5353Еttu{zz{SZC` cot*tq||.EXN#?? ,<!5##673#$".4>2"&5!#2!46#!"&5463!2rM* *M~~M**M~~M*jjj&&&&`P%挐|NN||NN|*jjjj@&&&&@ "'&463!2@4@&Z4@4&@ #!"&4762&&4Z4&&4@@ "'&4762&4@4&@&4&@ "&5462@@4&&44@&&@ 3!!%!!26#!"&5463!2`m` ^BB^^B@B^  `@B^^BB^^@ "'&463!2#!"&4762@4@&&&&44@4&Z4&&4@ "'&463!2@4@&4@4&@ #!"&4762&&4Z4&&4@:#!"&5;2>76%6+".'&$'.5463!2^B@B^,9j9Gv33vG9H9+bI\ A+=66=+A [">nSMA_:B^^B1&c*/11/*{'VO3@/$$/@*?Nh^l+!+"&5462!4&#"!/!#>32]_gTRdgdQV?U I*Gg?!2IbbIJaaiwE3300 084#"$'&6?6332>4.#"#!"&54766$32z䜬m IwhQQhbF*@&('kz   _hQнQGB'(&*eoz(q!#"'&547"'#"'&54>7632&4762.547>32#".'632%k'45%&+~(  (h  &  \(  (  &  ~+54'k%5%l%%l$65+~  &  (  (\  &  h(  (~+%'!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ KjKKj KjKKje2.e<^P,bKjKKjKjKKj KjKKj##LlLKjKKjK jKKjK~-M7>7&54$ LhяW.{+9E=cQdFK1A  0) pJ2`[Q?l&٫C58.H(Y':d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Yj`a#",5NK ~EVZ|$2 $ |: $ 2$|ZV:(t}hfR88T h̲X(  &%(Hw(%& (XZT\MKG{x|!#"'.7#"'&7>3!2%632u  j H{(e 9 1bU#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328((88(``(88((88(``(88((88(`L4`(88(@(88(`4L`(8 (88(@(88((88(@(88((88(@(84L8(@(88((8L48OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462И&4&NdN!>! 1X:Dx+  +ww+  +xD:X1 -U !*,*&4&hh&&2NN2D &  ..J< $$ 767#"&'"&547&547&547.'&54>2l4  2cKEooED ) ) Dg-;</- ?.P^P.? -/<;-gYY  .2 L4H|O--O|HeO , , Oeq1Ls26%%4.2,44,2.4%%62sL1qcqAAq4#!#"'&547632!2#"&=!"&=463!54632  @  `     ` ?`   @  @  !    54&+4&+"#"276#!"5467&5432632   `  _ v,Ԝ;G_j)``    _ ԟ7 ,>jL>54'&";;265326#!"5467&5432632    v,Ԝ;G_j) `   `7 ,>jL>X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 &4&&4&yy %:hD:FppG9Fj 8P8 LhL 8P8 E; Dh:% >4&&4&}yyD~s[4Dd=PppP=d>hh>@jY*(88(*Y4LL4Y*(88(*YDw" A4*[s~>M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4G9& <#5KK5!!5KK5#< &ܤ9Gpp&4&&4&@>buោؐ&$KjKnjjKjK$&jjb>Ppp %!5!#"&5463!!35463!2+32@\\8(@(8\@@\\@\(88(\@ 34#"&54"3#!"&5!"&5>547&5462;U gI@L4@Ԗ@4L2RX='8P8'=XR U;Ig04LjjL4*\(88(\@"4&+32!#!"&+#!"&5463!2pP@@Pjj@@\@\&0pj \\&-B+"&5.5462265462265462+"&5#"&5463!2G9L44L9G&4&&4&&4&&4&&4&L44L &=d4LL4 d=&&`&&&&`&&&&4LL4  &#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463(8((88((`x c`(8@@@`((88(@(8(D 9 8(`@@@@@/?O_o-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ &&&&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @   `&&&& /?O_o%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ 8(@(8 @  @  @  @  @ &&&@8((8@&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @  (88(  @  ``   `` -&&& (88(&@<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2KjKKjKjKKj&ԖԖ&&@&&KjKKjK jKKjK .&jjjj&4&@@&&#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32 \\8(@(8\ \\@\(88(\: #32+53##'53535'575#5#5733#5;2+3@E&&`@@` `@@`&&E%@`@ @ @      @ :#@!3!57#"&5'7!7!K5@   @5K@@@ #3%4&+"!4&+";265!;26#!"&5463!2&&&&&&&&w@www&&@&&&&@&&@www#354&#!4&+"!"3!;265!26#!"&5463!2&&&&&@&&@&w@www@&@&&&&&&@&:@www-M3)$"'&4762 "'&4762 s 2  .   2 w 2  .   2 w 2    2  ww  2    2  ww M3)"/&47 &4?62"/&47 &4?62S .  2 w 2   .  2 w 2  M . 2    2 .  . 2    2 .M3S)$"' "/&4762"' "/&47623 2  ww  2    2  ww  2    2 w 2   .v 2 w 2   .M3s)"'&4?62 62"'&4?62 623 .  . 2    2 .  . 2    2 .   2 w 2v .   2 w 2-Ms3 "'&4762s w 2  .   2 ww  2    2 MS3"/&47 &4?62S .  2 w 2  M . 2    2 .M 3S"' "/&47623 2  ww  2   m 2 w 2   .M-3s"'&4?62 623 .  . 2    2- .   2 w 2/4&#!"3!26#!#!"&54>5!"&5463!2  @ ^B && B^^B@B^ @  MB^%Q= &&& $$ (r^aa(^aa!C#!"&54>;2+";2#!"&54>;2+";2pPPpQh@&&@j8(PppPPpQh@&&@j8(Pp@PppPhQ&&j (8pPPppPhQ&&j (8p!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Qh@&&@j8(PppPPpQh@&&@j8(PppPPp@hQ&&j (8pPPppP@hQ&&j (8pPPpp@@ #+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKjKjKKjL45KKjK<^^^KjKKjppp\]]\jKL45KjKKjKujKKjK4LKjKK^^^jKKjKpppr]]\  $$ ^aaQ^aa,#"&5465654.+"'&47623   #>bqb&44&ɢ5"  #D7euU6 &4&m 1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3=T==T==T==T=v)GG+v@bRRb@=&\Nj!>3lkik3hPTDDTPTDDTPTDDTPTDD|x xXK--K|Mp<# )>dA{RXtfOT# RNftWQ,%4&#!"&=4&#!"3!26#!"&5463!2!28(@(88((88((8\@\\@\\(88(@(88(@(88@\\\\ u'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!2325([5@(\&8((88((8,9.+C\\@\ \6Z]#+#,k(88(@(88(;5E>:5E\\\ \1. $4@"&'&676267>"&462"&462.  > $$ n%%/02 KjKKjKKjKKjKfff^aayy/PccP/jKKjKKjKKjKffff@^aa$4@&'."'.7>2"&462"&462.  > $$ n20/%7KjKKjKKjKKjKfff^aa3/PccP/y jKKjKKjKKjKffff@^aa +7#!"&463!2"&462"&462.  > $$ &&&&KjKKjKKjKKjKfff^aa4&&4&jKKjKKjKKjKffff@^aa#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@@KjKKjKKjKKjKܒ,gjKKjKKjKKjKXԀ,, #/;GS_kw+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2`````````````````````p`K55KK55Kp`````````````````````````5KK55KK@*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676R?d^7ac77,9xm#@#KjK# ڗXF@Fp:f_ #WIpp&3z h[ 17q%q#::#5KKu't#!X: %#+=&>7p @ *2Fr56565'5&'. #"32325#"'+"&5.5462#"/.#"#"'&547>32327676@ͳ8 2.,#,fk*1x-!#@#KjK# ڗXF@Fp:f_ #WIpp&3z e`vo8t-  :5 [*#::#5KKu't#!X: %#+=&>7p  3$ "/&47 &4?62#!"&=463!2I.  2 w 2   -@). 2    2 . -@@-S$9%"'&4762  /.7> "/&47 &4?62i2  .   2 w E > u > .  2 w 2   2    2  ww !   h. 2    2 . ;#"'&476#"'&7'.'#"'&476' )'s "+5+@ա' )'F*4*Er4M:}}8 GO *4*~ (-/' #"'%#"&7&67%632B;>< V??V --C4 <B=cB5 !% %!b 7I))9I7 #"'.5!".67632y( #  ##@,( )8! !++"&=!"&5#"&=46;546;2!76232-SSS  SS``  K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P8P88P4,DS,4pp4,,4pp4,6d7AL*',4ppP88P8P88P8HP88P8`4Y&+(>EY4PppP4Y4Y4PppP4Y%*54&#"#"/.7!2<'G,')7N;2]=A+#H  0PRH6^;<T%-S#:/*@Z}   >h.%#!"&=46;#"&=463!232#!"&=463!2&&&@@&&&@&&&&&&&&&&&&f&&&&b#!"&=463!2#!"&'&63!2&&&&''%@% &&&&&&&&k"G%#/&'#!53#5!36?!#!'&54>54&#"'6763235 Ź}4NZN4;)3.i%Sin1KXL7觧* #& *@jC?.>!&1' \%Awc8^;:+54&#"'6763235 Ź}4NZN4;)3.i%PlnEcdJ觧* #& *-@jC?.>!&1' \%AwcBiC:D'P%! #!"&'&6763!2P &:&? &:&?5"K,)""K,)h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32YO)I-D%n  "h.=T#)#lQTv%.%P_ % %_P%.%vUPl#)#T=@/#,-91P+R[Ql#)#|'' 59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%_P%.%v'3!2#!"&463!5&=462 =462 &546 &&&&&4&r&4&@&4&&4&G݀&&&&f s CK&=462 #"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i76`al&4&&&&&}n  R   R zfOego&&5`3&&&4&&4& D R   R zv"!676"'.5463!2@@w^Cct~5  5~tcC&&@?JV|RIIR|V&&#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232@@@@L44LL4^B@B^^B@B^4L  N4LL44L`B^^B``B^^B`LL4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4  @ o&&}c ;pG=(  8Ai8^^.   &4&&4&` ` fs&& jo/;J!# 2 KAE*,B^^B! ` $ -4&"2#"/&7#"/&767%676$!28P88PQr @ U @ {`PTP88P8P`  @U @rQ!6'&+!!!!2Ѥ 8̙e;<*@8 !GGGQII %764' 64/&"2 $$ f3f4:4^aaf4334f:4:^aa %64'&" 2 $$ :4f3f4F^aa4f44f^aa 764'&"27 2 $$ f:4:f4334^aaf4:4f3^aa %64/&" &"2 $$ -f44f4^aa4f3f4:w^aa@7!!/#35%!'!%j/d jg2|855dc b @! !%!!7!FG)DH:&H dS)U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2&4&&4f ]wq4qw] `dC&&:FԖF:&&Cd`4&&4& ]] `d[}&&"uFjjFu"&&y}[d#2#!"&546;4 +"&54&" (88(@(88( r&@&Ԗ8((88(@(8@&&jj'3"&462&    .  > $$ Ԗ>aX,fff^aaԖԖa>TX,,~ffff@^aa/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88((88((88((88((88/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88(88((88(88((885E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj   f  \ w@wwwjKKjK"H   ܚ  f   @www   $64'&327/a^ ! ^aaJ@%% 65/ 64'&"2 "/64&"'&476227<ij6j6u%k%~8p8}%%%k%}8p8~%<@% %% !232"'&76;!"/&76  ($>( J &% $%64/&"'&"2#!"&5463!2ff4-4ff4fw@wwwf4f-f4@www/#5#5'&76 764/&"%#!"&5463!248` # \P\w@www4`8  #@  `\P\`@www)4&#!"273276#!"&5463!2& *f4 'w@www`&')4f*@www%5 64'&"3276'7>332#!"&5463!2`'(wƒa8! ,j.( &w@www`4`*'?_`ze<  bw4/*@www-.  6 $$  (r^aaO(_^aa -"'&763!24&#!"3!26#!"&5463!2yB(( @   w@www]#@##   @ @www -#!"'&7624&#!"3!26#!"&5463!2y((@B@u @   w@www###@  @ @www -'&54764&#!"3!26#!"&5463!2@@####@w@wwwB((@@www`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6#  !"'?_  BCbCaf\ + ~2   }0$  q 90r p r%D p u?#!"&=46;#"&=46;54632'.#"!2#!!546;2D a__ g *`-Uh1    ߫}   $^L  4b+"&=.'&?676032654.'.5467546;2'.#"ǟ B{PDg q%%Q{%P46'-N/B).ĝ 9kC< Q 7>W*_x*%K./58`7E%_ ,-3  cVO2")#,)9;J) "!* #VD,'#/&>AX>++"''&=46;267!"&=463!&+"&=463!2+32Ԫ$   pU9ӑ @/*f o  VRfq f=SE!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![       % )   "  Jg Uh BW&WX hU g 84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2j@jo g|@~vv u n#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32QKt# #FNQo!"դѧ !mY Zga~bm] [o"U+, @h h@@X hh @83H\#5"'#"&+73273&#&+5275363534."#22>4.#2>ut 3NtRP*Ho2 Lo@!R(Ozh=,GID2F 8PuE>.'%&TeQ,jm{+>R{?jJrL6V @`7>wmR1q uWei/rr :Vr" $7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F +>R{8PuE>.'%&TeQ,jm{?jJrL6 @`rr :Vr3>wmR1q uWei@ \%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&&&& &7.' :@$LBWM{#&$h1D!  .I/! Nr&&%%&&&&V?, L=8=9%pEL+%%r@W!<%*',<2(<&L,"r@ \#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&&&& &i7qN !/I.  !D1h$&#{MWBL$@: '.&&%%&&&&=XNr%(M&<(2<,'*%<!W@r%%+LEp%9=8=L  +=\d%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2BBPJNC'%! B? )#!CC $)  54f"@@ B+,A  A+&+A  ZK35N # J!1331CCC $)w@www2"33FYF~(-&"o4*)$(* (&;;&&:LA3  8334S,;;,WT+<<+T;(\g7x:&&::&&<r%-@www  +=[c}#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327''RZZ:kid YYY .06 62+YY-06 R[!.'CD''EH$VVX::Y X;:Y fyd/%jG%EC&&CE%O[52. [$C-D..D^^* ly1%=^I86i077S 3 $EWgO%33%OO%35 EEFWt;PP;pt;PP;pqJgTFQ%33&PP%33%R 7>%3!+}{'+"&72'&76;2+"'66;2U &  ( P *'eJ."-dZ-n -'74'&+";27&+";276'56#!"&5463!2~} 7e  ۩w@www"  $Q #'!# @www/4'&327$ '.'.4>7>76 "!!jG~GkjGGk[J@&& @lAIddIAllAIddIA@ '5557 ,VWQV.RW=?l%l`~0  !#!#%777 5! R!!XCCfff݀# `,{{{`/?%##"547#3!264&#"3254&+";267#!"&5463!2R܂#-$䵀((((tQQttQvQtn?D~|D?x##))((QttQvQtt2#!"&54634&"2$4&"2ww@ww||||||w@www||||||| !3 37! $$ n6^55^h ^aaM1^aaP *Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7ob?K\[zH,1+.@\7':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJXj7-FC',,&C ."!$28 h /" +p^&+3$ i0(w@www+.i6=Bn \C1XR:#"'jj 8Q.cAj57!? "0D$4" P[ & 2@wwwD"%.5#5>7>;!!76PYhpN!HrD0M C0N#>8\xx: W]oW-X45/%'#.5!5!#"37>#!"&5463!2p>,;$4 5eD+WcEw@wwwK()F ,VhV^9tjA0/@www@#"'&76;46;23   &  ++"&5#"&7632  ^  c  & @#!'&5476!2 &  ^  b '&=!"&=463!546  &    q&8#"'&#"#"5476323276326767q'T1[VA=QQ3qpHih"-bfGw^44O#A?66%CKJA}} !"䒐""A$@C3^q|z=KK?6 lk)  %!%!VVuuu^-m5w}n~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632    *<;V<<O@-K<&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4.?4.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67 \ U7  J#!W! '  " ';%  k )"    '   /7*   I ,6 *&"!   O6* O $.( *.'  .x,  $CN      * 8   7%&&_f& ",VL,G$3@@$+ "  V5 3"  ""#dA++ y0D- %&n 4P'A5j$9E#"c7Y 6" & 8Z(;=I50 ' !!e  R   "+0n?t(-z.'< >R$A"24B@( ~ 9B9, *$        < > ?0D9f?Ae  .(;1.D 4H&.Ct iY% *  7      J  <    W 0%$  ""I! *  D  ,4A'4J" .0f6D4pZ{+*D_wqi;W1G("% %T7F}AG!1#%  JG 3  '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6~#= XP2{&%gx| .W)oOLOsEzG< CK}E $MFD<5+ z^aa$MWM 1>]|YY^D եA<KmE6<" @9I5*^aa>^4./.543232654.#"#".#"32>#"'#"$&547&54632632':XM1h*+D($,/9p`DoC&JV;267676&#!"&=463!267 #!"'&5463!26%8#! &&Z"M>2! ^I 7LRx_@>MN""`=&&*%I},  L7_jj9/%4&#!"3!264&#!"3!26#!"&5463!2  &&&&&&&&19#"'#++"&5#"&5475##"&54763!2"&4628(3- &B..B& -3(8IggI`(8+Ue&.BB.&+8(kk`%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pPPp@`(88(`p.BB.0.BB.(88(Pppͺ!%>&'&#"'.$ $$ ^/(V=$<;$=V).X^aaJ`"(("`J^aa,I4."2>%'%"/'&5%&'&?'&767%476762%6[՛[[՛o ܴ   $ $ " $ $  ՛[[՛[[5` ^ ^ 2` `2 ^ ^ ` 1%#"$54732$%#"$&546$76327668ʴhf킐&^zs,!V[vn) 6<ׂf{z}))Ns3(@ +4&#!"3!2#!"&5463!2#!"&5463!2@&&&f&&&&@&&&&4&&4&@&&&&&&&& `BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&C6@Bb03eI;:&&&4L4&F Z4&w4) '' 5r&4&&4&&4}G3#&/.#./.'&4?63%27>'./&'&7676>767>?>%6})N @2*&@P9A #sGq] #lh<* 46+(  < 5R5"*>%"/ +[>hy  K !/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676#"NDQt -okQ//jo_  %&JՂYJA-.-- 9\DtT+X?*<UW3' 26$>>W0 {"F!"E    ^f`$"_]\<`F`FDh>CwlsJ@ ;=?s  :i_^{8+?` ) O`s2RDE58/Kr #"'>7&4$&5mī"#̵$5$"^^W=acE*czk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q+f$H^XbVS!rȇr?5GD_RV@-FbV=3! G84&3Im<$/6X_D'=NUTL;2KPwtPt=  &ռ ,J~S/#NL,8JsF);??1zIEJpqDIPZXSF6[?5:NR=;.&1 +!"&=!!%!5463!2sQ9Qs***sQNQsBUw wUBFHCCTww%1#"&=!"&=463!54632.  6 $$     ` ?(r^aa    (_^aa%1#!#"'&47632!2.  6 $$   @  ` (r^aa  ?  @  (_^aa/#"'&476324&#!"3!26#!"&5463!2&@& @   w@www& @B@ &  @ @www"&462  >& $$ Ԗ*(r^aaԖԖ (^aa]6#"$54732>%#"'!"&'&7>32'!!!2f:лѪz~u: ((%`V6B^hD%i(]̳ޛ *>6߅r#! 3?^BEa߀#9#36'&632#"'&'&63232#!"&5463!2 Q,&U #+' ;il4L 92<D`w@www`9ܩ6ɽ ]`C477&@wwwD+"&5#"'&=4?5#"'&=4?546;2%6%66546;2  wwwwcB G]B Gty]ty #3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2@`@`^BB^^B@B^www@w@`@`2@B^^BB^^ww@w'/?P+5#"&547.467&546;532!764'!"+32#323!&ln@ :MM: @nY*Yz--zY*55QDDU9pY-`]]`.X /2I$ t@@/!!/@@3,$,3$p$00&*0&& !P@RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%>S]8T;/M77T7%>ww@ww!"5bBBb./ * 8(@(87)(8=%/' #?w@www#~$EE y &L(88e):8(%O r    O?GQaq47&67>&&'&67>&"$32#"#"'654  $&6 $6&$ CoL.*K  Px.* iSƓ i 7J ?~pi{_Я;lLUZ=刈刈_t'<Z :!   @! j`Q7  $ky, Rfk*4LlL=Z=刈&$&546$7%7&'5>]5%w&P?zrSF!| &0 ##!"&5#5!3!3!3!32!546;2!5463) );));;))&&&@@&&&  6 $&727"'%+"'&7&54767%&4762֬>4P t+8?::  ::A W` `EvEEvE<."e$IE&O &EI&{h.`m"&#"&'327>73271[ >+)@ (]:2+D?*%Zx/658:@#N C= E(oE=W'c:#!#"$&6$3 &#"32>7! ڝyy,{ۀہW^F!LC=y:yw߂0H\R%"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>>0yx14J55J5J44J5Fd$?4J55%6E#42F%$fLlLq>>11J44%&4Z%44J54R1F$Z-%45J521Z%F1#:ʎ 9LlL#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2 55 **.>.-@-R.>.-@-<+*q6- -- 0OpoOxzRrqP6z~{{Prr^aa]054&"#"&5!2654632!#"&57265&'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?KcgA+![,7*  2(-#=  /~[(D?G  |,)"# +)O8,+'6 y{=@0mI#938OAE` -  )y_/FwaH8j7=7?%a % %!?)L J 9=5]~pj  %(1$",I  $@((  +!.S -L__$'-9L 5V+ 6 T+6.8- $ 0 + t |S 16]&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7rJ@ "kb2)W+ ,5/1   #   Z -!$IOXp7sLCF9vz NAG#/ 5|Հ';RKR/J#=$,9,+$UCS7'2"1  ! / ,   /--ST(::(ep4AM@=I>".)xΤlsY|qK@ %(YQ&N EHv~<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.AUpIUxYE.A %%%h% %hJ%D,FZxULs TgxUJrVD %hJ%@/LefL.C %Jh%CV sNUxϠ@.FZyUHpVA %h&%% %Ji%CWpIUybJ/Uy^G,D %Jh%@U sMt UC %hJ%C-KfyEX[_gj&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32,+DCCQLDf' % :/d B 4@ }  &!0$?Jfdf-.=6(:!TO? !IG_U% . j+.=; 5gN_X "  ##  292Q41   *6nA;| BS N.  %1$ 6 #nk^ '7GWgw2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^BB^^B:FjB^8((`( `(8^BB^^B@B^"vEj^B(8(`(8(/?O_o/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`% "&5#"&5&462!762$"&462B\B@B\B8PpP8.BB..BB.8$P88P広3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54> &X=L|<&X=M{2r_-$$-_rUU%&&5%ő'- "'.546762@FF$@B@$.&,&.]]|q#<<#(BB B%'-%'-'%'-"'%&'"'%.5467%467%62@ll@ll,@GG&!@@@@@@!&+#+#6#+$*`:p:px p=`$>>$&@&@ @&p@ &.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8Zp?vdΊens6(N[RWu?rt1SrF|iZ@7މoy2IMC~[R yK{T:%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!ww@ww~uk'JTMwa| DH> I1q Fj?w@wwwsq*4p9O*¸Z^qh LE "(nz8B M'?"&4624&#"'.'324&#"3267##"&/632632.ʏhhMALR vGhг~~K „yO^   ʏʏВ*LM@!שwwȍde)qrOPqȦs:03=7'.?67'67%'>&%'7%7./6D\$>  "N,?a0#O 1G9'/P(1#00  ($=!F "9|]"RE<6 'o9%8J$\ :\HiTe<?}V#oj? d,6%N#" HlSVY]C =@C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232^^^Y ^^^`pppp`]ibbi]~^^^e^^^PppPPppP]^^]3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]`pppp`]ibbi^^^dY !^^^]@PppP@@PppP@]^^] ^^^e^^^ 3$#!#!"&5467!"&47#"&47#"&4762++&2 $$ 2&&&4&&Z4&&##&&4&4&44&m4&m+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g* o`#ə0#z#l(~̠) -g+^aaF s" +g (* 3#!| #/IK/%*%D= )[^aa !!!'!!77!,/,-a/G t%/;<HTbcq%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632 #"/6327#"/6327#"/46321"&/462"&/>21"&/567632#!.547632632  *     X    ^  `    ^  b  c   fu U`59u  4J   l~ ~ F 2    m | O,           ru| u  " )9 $7 $&= $7 $&= $7 $&=  $&=46w`ww`ww`wb`VTEvEEvETVTEvEEvET*VTEvEEvET*EvEEvEEvEEv#^cu#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&54&5&'67.'&'&#3274(8((88((`x c`(8!3;:A0?ݫY   ^U 47D$    74U3I  |L38wtL0`((88(@(8(D 9 8(Q1&(!;  (g- Up~R2(/{E(Xz*Z%(i6CmVo8 #Q#!"&5463!2!&'&!"&5!3367653335!3#'.'##'&'35(8((88((`x c`(8iFFZcrcZ`((88(@(8(D 9 8(kk" kkJ ! k#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3(8((88((`x c`(8-Kg kL#DCJg  jLD`((88(@(8(D 9 8(jj jjkk kk#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32(8((88((`x c`(8 G]L*COJ?0R\wx48>`((88(@(8(D 9 8(jjRQxk !RY#*2#!"&5463!2!&'&!"&5!!57"&462(8((88((`x c`(8Pppp`((88(@(8(D 9 8(ppp  #*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"<(8((88((`x c`(8kޑcO"jKKjK`((88(@(8(D 9 8(SmmS?M&4&&4#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.(8((88((`x c`(8 6ddWW6&44`((88(@(8(D 9 8(. G5{{5]]$5995#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632(8((88((`x c`(84LL44LL4l  `((88(@(8(D 9 8(L44LL44L  Z #7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'(8((88((`x c`(8` 3  3  3  3 v  ?  `((88(@(8(D 9 8( & & - & &  ?   '6#'. '!67&54632".'654&#"32eaAɢ/PRAids`WXyzOvд:C;A:25@Ң>-05rn`H( ' gQWZc[ -%7' %'-'% %"'&54762[3[MN 3",""3,3"ong$߆]gn$+) ")")" x#Z#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"oGn\ u_MK'̨|g? CM7MM5,QAAIQqAy{b& BL4PJ9+OABIRo?z.z n6'+s:zcIAC65D*DRRD*wya$, @B39E*DRRD*'/7  $&6$ 6277&47' 7'"' 6& 6'lLRRZB|RR>dZZLlLZRR«Z&>«|R ! $&54$7 >54'5PffP牉@s-ff`-c6721>?>././76&/7>?>?>./&31#"$&(@8!IH2hM>'  )-* h'N'!'Og,R"/!YQG54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&N92Z2&`9UW=N9:PO;:dhe\=R +)&')-S99kJ<)UmQ/-Ya^"![Y'(<`X;_L6#)|tWW:;X  #'#3#!"&5463!2) p*xeשw@www0,\8@www9I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5-&FD(=Gq@C$39aLL²L4 &) @]v q#CO!~󿵂72765'./"#"&'&5 }1R<2" 7MW'$  ;IS7@5sQ@@)R#DvTA ; 0x I)!:> +)C 6.> !-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(31)+BB+)4'--'4'#!0>R HMŰ9ou7ǖD䣣 R23('3_,--,R23('3_,--,NJ ?uWm%#"'%#"'.5 %&'&7632! ; `u%"(!]#c)(  #"'%#"'.5%&'&76 !  (%##fP_"(!)'+ʼn4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z䜬m IwhQQhbF*@&('k@z   _hQнQGB'(&*eozΘ@@`  >. $$ ffff^aafff^aa>"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632,-,,",:! %]& %@2(/.+*)6! <.$..**"+8#  #Q3,,++#-:#"$$ /:yuxv)%$ /?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`&&&& &&&&&&&&@&&&&&&&&&&&&%2 &547%#"&632%&546 #"'6\~~\h ~\h\ V V VV%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT==TX}}~>SX}}XS>~}w@www~:xx:~}}Xx9}}9xX}@www/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l,  *"T.D@Yooo@5D [  Z  Z  [ ``[ Z  2 ,l0 (T" .D5@oooY@D, Z  [  [  Z ``EZ  [ 5%!  $&66='&'%77'727'%amlLmf?55>fFtuutFLlLHYC L||L Y˄(E''E*( /?IYiy%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=@&&@3P > P3&&rrr&&rrr he 4LKM:%%:MKL4WT&&%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2&&&&&&  &&&i@&&@&7'#5&?626J%o;j|/&jJ%p&`Jj&p/|jţ%Jk%o%  :g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i~ZYYZ~@OS;+[G[3YUD#o?D&G3I=JyTkBuhNV!WOhuAiSy*'^CC^'*SwwSTvvTSwwSTvvWID\_"[ gq# /3qFr2/ $rg%4 HffHJ4d#!#7!!7!#5!VFNrmNNN N!Y+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76 '6# <;11x# *# F-T93%/#0vNZ;:8)M:( &C.J}2 %0  ^*  JF &7'X"2LDM" +6 M2+'BQfXV#+] #' L/(eB9  #,8!!!5!!5!5!5!5#26%!!26#!"&5!5&4& &pPPp@@&&@!&@PppP@*  9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (}R}hLK NN Ud: xx 8    ,, |2222 MXXM ic,>>,   ̺  '/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2KjKKjKjKKjKjKKjKKjKKjKjKKjKjKKjKKjKKjKjKKjKLhLLhLKjKKj&&&&KjKKjL44LL44L5jKKjKKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjK4LL44LLjKKjK&&&&jKKjK4LL44LL 'E!#"+"&7>76;7676767>'#'"#!"&7>3!2W",&7' #$ &gpf5 O.PqZZdS -V"0kqzTxD!!8p8%'i_F?;kR(` !&)w.<\.'.>%#"'.7>.'&67632&'6'&' #"'.766.'&67632Z &+\cc:>'D> 6KD3W6,9(<*0-?")/SW7.Crb  :+OIX3'#C3:@ #*"-A%,1U=}AQfO$"|'"S*`H(:UܳJ?27sZy%+A07C~Ӗ5A"3 >IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!24  : @7vH%hEP{0&<'VFJo1,1.F6A#L44LL44L"% 7x'6 O\JYFw~v^fH$ ! "xdjD"!6`J4LL44LL $1Ol-#"326%356.#"#"326%4#"326%3#7#'#3%#7#"&546324>54#"47632&#"'"'473254&'&54323#327#"'47673#327#"546327&#7673>7&#"327#"&54632#7#"&54632654#"47632&#7673>73#7#"&54632.#"#&'#67&#"327&'3673326#!"&5463!2 />  0@[W,8 G'"5,Q4/&4/ $&J (W" +Tl +7o _7*#) 83 ( -5G8 .'3/$&I8 48+5%7%{,2,rr,2,x-2.jj.2-xL44LL44L[ < J 2)(*(8$e  '+ , 1)H/ 'H4/// ,~i6_7G*''4fE!%97+" ;=4FYqO" '+ , &2hh_ ,0(5N(ntggtnno__on4LL44LL  BWbjq}+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32 !264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$@?SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*A!&jjjGZYGиwsswPiL>8aA !M77MM77M3! 4erJ]&3YM(, ,%7(#)  ,(@=)M%A20C&Mee(X0&ĖjjjV 8Z8J9N/4$ 8NN88NN  #&:O[ $?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF=c(TS)!*RQ+*RQ+Y,B^9^Ft`njUM ') ~PSPRm٘M77Mo7q @)U 8"E(1++NM77Mx378D62W74;9<-A"EA0:A F@1:ؗBf~~""12"4(w$#11#@}}!%+%5(v$:O\zK?* $\amcrVlOO176Nn23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!23%#2%%,,  _3$$2%%M>AL Vb5)LDHeE:< EM j,K'-R M ~M>AR  Vb5)LEHeE:< E J ABI*'! ($rL44LL44Lv%1 %3!x*k $2 %3!;5h n a !(lI;F   rp p8;5h t a !(lI;F ` #k 4LL44LL  2HW[lt#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9n23BD$ &:BCRM.0AC'0RH`Q03'`.>,&I / * / 8/n-(G@5$ S3=,.B..B02^`o?7je;9G+L44LL44LyE%# Vb;A !p &'F:Aq)%)#orgT$ v2 8)2z948/{ 8AB..B/q?@r<7(g/4LL44LL ?#!"&'24#"&54"&/&6?&5>547&54626=L4@ԕ;U g3 T 2RX='8P8|5 4Ljj U;Ig@   `  "*\(88(]k  &N4#"&54"3 .#"#!"&'7!&7&/&6?&5>547&54626;U gIm*]Z0L4@ԕ=o=CT T 2RX='8P8|5  U;IgXu?bl3@4Ljja`   `  "*\(88(]k/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@0 o`^BB^`5FN(@(NF5@@@u  @LSyuS@%44%,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9"SgR8vHD w ffff^aam2N+ )H-mF+10*F +fff^aab4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 k^?zb=ka`U4J{K_/4^W&  vx :XB0܂ff ) fzzXlz=lapzob35!2BX G@8  ' '=vN$\ff  1 SZz8zX#("/+'547'&4?6276 'D^h  i%5@%[i  h]@]h  i%@5%[i  h^@@)2#"&5476#".5327>OFi-ay~\~;'S{s:D8>)AJfh]F?X{[TC6LlG]v2'"%B];$+l|%!2>7>232>7>322>7>32"&'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52-P&+F) $P.-P$'#+&PZP&+#"+&P-#) $P-.P$(#+$P.-P$'#+&P-.P$+#pP@@PpH85K"&ZH85K"&ZH85K"&Z@Pp@@@pMSK5, :&LMSK5, :&LMSK5, :& !!3 ! @@@  #"$$3!!2"jaѻxlalxaaj!!3/"/'62'&63!2'y  `I  yMy `I y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#" 4$%Eӕ;iNL291 ;XxR`f՝Q8TWiWgW:;*:`Qs&?RWXJ8 oNU0 J1F@#) [%6_POQiX(o`_?5"$iʗ\&>bds6aP*< -;iFn* -c1BWg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2#$( 1$6]' !E3P|ad(2S;aF9'EOSej]m] <*rYshpt.#)$78L*khw@wwwB % $/$G6 sP`X):F/fwH1pdlqnmPHuikw_:[9D'@www34."2>$4.#!!2>#!".>3!2QнQQнQQh~wwhfffнQQнQQнQZZQffff#>3!2#!".2>4."fffнQQнQQffffQнQQн ,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632(#AHs9q ci<= #]$ KjKKjKKjKKjH#j#H&&&KjKKjKg V i jKKjKKjKKjK ..n(([5KK55KK5[poNv<+#"'#"&546;&546$32322$B$22$$*$22$Xڭӯ$22$tX'hs2$ϧkc$22$1c$2F33F3VVT2#$2ԱVT2#$2g#2UU݃ 2$#2UU1݃2 ,u54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&ru&9%" *#͟O%GR=O&^opC8pP*bY _#$N Pb@6)?+0L15 "4$.Es  5IQ"!@ h "Y7e|J>ziPeneHbIlF>^]@n*9 6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>! =39? 6'_ >29? 5'17m-VU--,bW.뮠@Fyu0HC$뮠@Fyu0HC$L= ?? <=! A <`;+"&54&#!+"&5463!2#!"&546;2!26546;2pЇ0pp@Ipp>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2A5DD5A7^6a7MB55B7?5B~```0`rr5A44A5v5AA5f*A``0` !!!! #!"&5463!2ړ7H7jv@vvv':@vvvMUdkpu{#"'!"'!#"&547.547.54674&547&54632!62!632!#!6227'!%!"67'#77!63!!7357/7'%# %'3/&=&' 5#?&547 6!p4q"""6" 'h*[ |*,@?wAUMpV@˝)Ϳw7({*U%K6=0(M "! O dX$k !! ! b [TDOi @6bxBAݽ5  ɝ:J +3,p x1Fi (R 463!#!"&5%'4&#!"3`а@..@A-XfB$.BB..C} )&54$32&'%&&'67"w`Rd]G{o]>p6sc(@wgmJPAjyYWa͊AZq{HZ:<dv\gx>2ATKn+;"'&#"&#"+6!263 2&#"&#">3267&#">326e~└Ȁ|隚Ν|ū|iyZʬ7Ӕްr|uѥx9[[9jj9ANN+,#ll"BS32fk[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32]]eeeeee$~i qfN-*#Sjt2"'qCB8!'> !%)-159=AEIMQUY]agkosw{! %! 5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"Q%%%%%%%%%?iiihOiixiiyiixiiArssrrssr%sssrrssNs%%%%%%%%%%'32#".543232654&#"#"&54654&#"#"&547>326ڞUzrhgrxSПdU 7#"&463!2!2&&4&&&&4&KjKKjKjKKj &&&%&& &&4&&&&4&&&5jKKjKKjKKjK%z 0&4&&3D7&4& %&'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4&4&4&4KjKKjKjKKj &&&%&& &&4&%&&ے&4"jKKjKKjKKjK%z 0&4&&3D7&4& %& & !'! !%!!!!%"'.763!2o]FooZY@:@!!gf//I62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4ZSS6SS4SS4SS4SS4SS4SS4ZSS4SS4SS4SS4SS4SS4S-4ZSS4S@4SS4ZSS6SS4SS4SS4SS4SS4S@ZSSSSSSSSSSSSSSZSSSSSSSSSSSSSyZRRR@%:= :+: =RRZSSSSSSSSSSSSSCv!/&'&#""'&#" 32>;232>7>76#!"&54>7'3&547&547>763226323@``` VFaaFV      $. .$     yy .Q5ZE$ ,l*%>>%*>*98(QO!L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"' Dg OOG`n%ELL{@&&Nc,sU&&!Fre&&ss#/,<= #]gL oGkP'r-n&4&2-ir&&?o  4 _5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462{{BtxG,:`9(0bԿb0(9`:,GxtB&@&&@&K55K`?e==e?1O6# ,  #$  , #6OO&&&&5KK?!"'&'!2673267!'. ."!&54632>321 4q#F""8'go#- #,"tYg>oP$$Po> Zep#)R0+I@$$@I++332++"&=#"&=46;.7>76$  @ ᅪ*r@@r'/2+"&5".4>32!"&=463  &@~[՛[[u˜~gr&`u՛[[՛[~~@r=E32++"&=#"&=46;5&547&'&6;22676;2  >``@``ٱ?E,,=?rH@``@GݧH`jjrBJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@~``@``  vXr&@``@+BF`rks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@~``@``~4e  0  io@& jV  0  Z9r&@``@Gɞ5o , sp &@k^ , c8~~`r8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#" @@ 'Ϋ'sggsww@sgg@@-ssʃl99OOr99FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@L?CuГP vY &@;"ޥ5݇ޥ5`&_ڿgwBF@&J_ s&&?%x%xJP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#" &@L? ߺu``@``} ຒɞueeu9uee&_"|N@``@""|a~lo99r9@9;C2+"&5"/".4>327'&4?627!"&=463  &@Ռ .  N~[՛[[u˜N .  gr&`֌  . Ou՛[[՛[~N  . @r9A'.'&675#"&=46;5"/&4?62"/32+  '֪ \  . 4 .  \r|ݧ憛@\ .    . \@r~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m  - @ݧ憛@& -  @rm4 -  ٮ*   - r+"&5&54>2  @[՛[rdGu՛[[r  ".4>2r[՛[[՛r5՛[[՛[[$2#!37#546375&#"#3!"&5463#22#y/Dz?s!#22#2##2S88 2#V#2L4>32#"&''&5467&5463232>54&#"#"'.Kg&RvgD $ *2% +Z hP=DXZ@7^?1 ۰3O+lh4`M@8'+c+RI2 \ZAhSQ>B>?S2Vhui/,R0+ ZRkmz+>Q2#"'.'&756763232322>4."7 #"'&546n/9bLHG2E"D8_ pdddxO"2xxê_lx2X  !+'5>-pkW[C I I@50Oddd˥Mhfxx^ә #'+/7!5!!5!4&"2!5!4&"24&"2!!! 8P88P 8P88P88P88PP88P8 P88P88P88P8 +N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_>@`     `  L4Dgy 6Fe=OOU4L>   ` `  4L2y5eud_C(====`L43V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_>     %%Sy 6Fe=J%>     %65%Sy5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"&&&@ԖV@&&@&&ԖԖ@&3!!! !5!'!53!! #7IeeI7CzCl@@@#2#!"&?.54$3264&"!@մppp((ppp#+/2#!"&?.54$3264&"!264&"!@մ^^^@^^^@((^^^^^^v(#"'%.54632 "'% 632U/@k0G,zD# [k# /tg F Gz  #'#3!) p*xe0,\8T #/DM%2<GQ^lw &'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&?5.''&'&'#'""#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>&5R4&5S9 W"-J0(/r V"-J0(.)#"6&4pOPppc|o}vQ[60XQW1V  # 5X N"& . ) D>q J:102(z/=f*4!> S5b!%  (!$p8~5..:5I  ~T 4~9p# ! ) & ?()5F 1   d%{v*: @e s|D1d {:*dAA|oYk'&<tuut&v HCXXTR;w 71™  Z*&' 1  9? . $Gv 5k65P.$.`aasa``Z9k'9؋ӗa-*Gl|Me_]`F& OܽsDD!/+``aa``a154&'"&#!!26#!"&5463!2    iLCly5)*Hcelzzlec0hb,,beIVB9@RB9J_L44LL44L44%2"4:I;p!q4bb3p (P`t`P(6EC.7BI64LL44LL  .>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zjbjj[wٝ]>oӰٯ*-oXL44LL44L')꽽)J)]wL`ֺ۪e4LL44LL;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2  @ ^BB^^B@B^  B^^B@B^`@  MB^^B@B^^>  ^B@B^^5=Um ! !!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762?(``(?b|b?B//B/]]FrdhLhdrF]]FrdhLhdrF@@@(?@@ ?(@9GG9@/B//BaItB!!BtI Ѷ!!ь ItB!!BtI Ѷ!!ь-M32#!"&=46;7&#"&=463!2#>5!!4.'.46ՠ`@`ՠ`MsFFsMMsFFsMojjo@@jj@@<!(!!(!-3?32#!"&=46;7&#"&=463!2+!!64.'#ՠ`@`ՠ`  DqLLqDojjo@@jj@@B>=C-3;32#!"&=46;7&#"&=463!2+!!6.'#ՠ`@`ՠ`UVU96gg6ojjo@@jj@@β**ɍ-G32#!"&=46;7&#"&=463!2#>5!!&'.46ՠ`@`ՠ`MsFFsMkkojjo@@jj@@<!(!33!(!9I2#!"&=4637>7.'!2#!"&=463@b":1P4Y,++,Y4P1:"":1P4Y,++,Y4P1:"b@@@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&& l @0.B 2' .B A2TA9B;h" d mpPTlLc _4.HK5]0CB.S0CB./#'?&&)$$)0CB. }(AB.z3M2"61d39L/PpuT(Ifc_E`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326\B B\B&@5K&@"6LB\B B\B sciL}QP%&#"!"3!754?27%>54&#!26=31?>Ijjq,J[j.-tjlV\$B.R1?@B.+?2`$v5K-%5KK5.olRIS+6K5̈$B\B 94E.&ʀ15uE& ԖPjjdXUGJ7!.B P2.B %2@ 7K5(B@KjKj?+fU E,5K~!1.>F.F,Q5*H$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$7654&#"#654&#"#.!"'.54632&5467>32>3200?t ='/@H@"+4K8"*!4dtB/&> c@0&=  =_JUD29i1"07 {x\YSgSSW]|t eyD0&0D/  I4C+) t .B3%h#/B0&&03|&p>i +#] WsgQT\QglU ]#-39oK_3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#5K)B4J&@#\8P8 @0.B J65K J6k cJ/4qG^\hB2.1!~K5y?^\Vljt-.j[J,qjjI7$?1R.B+.B$`2?gvEo.5KK5%-K6+SIR[&.E49 B\B$5KG#!+"&5!"&=463!2+"&' +"' +"'&5>;2>76;2Y    M .x - N     u  , u ?  LW   #  *:J4'&+326+"'#+"&5463!2  $6& $&6$ UbUI-uu,uuڎLlLAX!Jmf\$ 6uuu,KLlL-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]h - %Lb`J%E 5 ,5R- h - %Lb`J%E 5 ,5R-'uu,uulL/hR    dMLc  NhR   dMLc  N1uuu,LlL@  ' 7 '7 ``H ``H !``H ```H` '%  7' 7'7 ' $&6$ X`(W:,:X`(WLLlLX`(W:BX`(XLlL $ %/9ES[#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$327&'77'&77N77N'qqqqqPOrqEsttsst}||}uԙ[WQ~,> nP/R U P酛n >,m'77'&77N77N6^Orqqqqqqt棣棣(~|| on[usј^~33pc8{y%cq33dqpf L 54 "2654"'&'"/&477&'.67>326?>< x ,  (-'sI  VCV  Hr'-(  $0@!BHp9[%&!@0$u  ]\\]-$)!IHV D V HI!)$-#36>N"&462."&/.2?2?64/67>&  #!"&5463!2]]]3 $; &|v;$ (CS31 =rM= 4TC(G zw@www]]]($-;,540= sL =45,; @www(2#"$&546327654&#" &#"AZ\@/#%E1/##.1E$![A懇@@\!#21E!6!E13"|! gL&5&'.#4&5!67&'&'5676&'6452>3.'5A5RV[t,G'Q4}-&r! G;>!g12sV&2:#;d=*'5E2/..FD֕71$1>2F!&12,@K r#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ !&"2&^ u_x^h ;J݃HJǭ qE Dm! M G?̯' %o8 9U(F(ߎLlL&!&!SEm|[n{[<ɪ "p C Di% (K HCέ  pC B m8 @Kނ  HF(LlL "*6%&6$ 7&$5%%6'$2"&4}x3nQH:dΏX e8z' li=! 7So?vM '&7>>7'7>''>76.'6'El:Fg r *t6K3U Z83P)3^I%=9 )<}Jk+C-Wd &U-TE+]Qr-< Q#0 C+M8 3':$ _Q =+If5[ˮ&&SGZoMkܬc#7&#"327#"'&$&546$;#"'654'632ե›fKYYKf¥yͩ䆎L1hvvƚwwkn]*]nlxDLw~?T8bb9SA}+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"۔c28Ψ-\?@hU0KeFjTlyE3aVsz.b؏W80]TSts<hO_u7bBtSbF/o|V]SHކJ34&#!"3!26#!!2#!"&=463!5!"&5463!2  @ ^B `` B^^B@B^   @ @B^@@^BB^^>3!"&546)2+6'.'.67>76%&F8$.39_0DD40DD0+*M7{L *="# U<-M93#D@U8vk_Y [hD00DD00Dce-JF1 BDN&)@ /1 dy%F#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yqoq>* 432fba  $B? >B BB AA.-QPPR+ 42 %<ciђ:6% hHGhkG@n`IȌ5 !m(|.mzyPQ-.  je  r=@@?ppgVZE|fb6887a %RB? =B ABBAJvniQP\\PRh cDS`gΒ 23geFGPHXcCI_ƍ5" n*T.\PQip [*81 / 9@:>t%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676= >vwd" l "3 /!,+ j2.|%& (N &wh>8X}xc2"W<4<,Z~fdaA`FBIT;hmA<7QC1>[u])  u1V(k1S) - 0 B2* %M ;W(0S[T]I) A 5%R7&&=,Xq&&@X,LΒw%%;#!"&5463!546;2!2!+"&52#!"/&4?63!5! (&&@&&(&&@&&( (  &&@&&@&&&&  #''%#"'&54676%6%% hh @` !   !    #52#"&5476!2#"&5476!2#"'&546        @  @  @    84&"2$4&"2$4&"2#"'&'&7>7.54$ KjKKjKjKKjKjKKjdne4" %!KjKKjKKjKKjKKjKKjK.٫8  !%00C'Z'.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ KjKKjKjKKjKjKKjhяW.{+9E=cQdFK1A  0) LlLjKKjKKjKKjKKjKKjKpJ2`[Q?l&٫C58.H(Yee    Y'w(O'R@$#"&#"'>7676327676#" b,XHUmM.U_t,7A3ge z9@xSaQBLb( VU  !!!==w)@T!!77'7'#'#274.#"#32!5'.>537#"6=4>5'.465! KkkK _5 5 #BH1`L I& v6S F!Sr99rS!`` /7K%s}H XV  P V  e  Vd/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2 P 3>tSU<)tqH+>XX|Wh,:UStW|XX>=X*  ))  +^X^|WX=>X:_.2//a:Ru?  Q%-W|XW>J( =u>XX|WX`  *((*  +2 2X>=XW|E03>$32!>7 '&'&7!6./EUnohiI\0<{ >ORDƚ~˕VƻoR C37J6I`Tb<^M~M8O  5!#!"&!5!!52!5463 ^B@B^`B^^B `B^^"^BB^ #D2+#!"$&6$3227%#"$$ %&$#" 7=D9KqMLw9'qnH.Ktfw㿢p??pY9n6 LlLkT ၌.?p㿢p?   7!' !\W\ d;tZ`_O; k54+";2%54+";2!4&"!4;234;2354;2354;&5462!2#!32354;2354;2354;2````pp``` &4& ```@PppPpppppp$&&$ ppppp j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546 %. `@` :,.',-XjjXh-,'.,: kb>PppP>bk .%Z & :k%$> $``6&L')59I"TlԖlT"I95)'L&69GppG9$ >$%k: !+32&#!332 $&6$ ~O88OLlL>pN  iLlL '':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)  z{6lP,@KijjOoɎȕ>>[ta) GG 4?a) ll >;_-/ 9GH{zyN@,KԕoN繁y! ?hh>$ D" >â? $ n"&5462'#".54>22654.'&'.54>32#"#*.5./"~~s!m{b6# -SjR,l'(s-6^]Itg))[zxȁZ&+6,4$.X%%Dc* &D~WL}]I0"  YYZvJ@N*CVTR3/A3$#/;'"/fR-,&2-" 7Zr^Na94Rji3.I+ &6W6>N%&60;96@7F6I3+4&#!"3!26%4&#!"3!26 $$ ^aa`@@^aa '7  $ >. %"&546;2#!"&546;2#/a^(^aa(N@@4&#!"3!26 $$ @@^aa`@^aa '  $ >. 7"&5463!2#/a^(n@^aa(N@ %=%#!"'&7!>3!26=!26=!2%"&54&""&546 ##]VTV$KjKKjK$&4&Ԗ&4&>9G!5KK55KK5!&&jj&&#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"5KK5sH..Hs5KK5e# )4# %&4&&4&&4&&4&` #4) #%~]eZ&&Ze] E-&&-EKjKj.<<.KjK)#)`"@&&`&&&&`&&)#`)"dXo&&oXG,8&&8!O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2@@8@7 8Q NQ N 8G@ 8GQ NQ N7   8 8  H H  k%  ".>2I20]@]@oo@@oo㔕a22]]p^|11|99|11|(%7'7' ' 7T dltl)qnluul)1$4&"24&"2 &6 +"&5476;2 &6 LhLLhLLhLLhL>  &   &`>hLLhLLhLLhL>&&>jP_< u>u>  ~pU3U3]yn2@ zZ@55 zZZ@,_@s@ @(@@@- MM- MM@@@ -`b $ 648""""""@ D@ ,,@  m)@@   ' D9>dY* w    T     @ f %RE    $!k(PBp<$H<TfT H R , D x 6 \ DLX*(2^n0|bX*Z >n@jDH. 4 n !>:>>?|@@>@xAVABBBBCRCDE:FFxFGVGHH\HHHII0IbIIIJ*JrJK`KL@LMM~NN\NO.OOPZPQQNQQR`SU6UV(VzVVW>WWX"XnXXXYY^YYZ2ZdZ[[[[\l\]]]]]^R^_```a`abb:bbcd$dfdeelef&fvfg gghBhphhi2iriijBjzjk kbkll\llmm8mvmnnbnno8op pbpql Ǣ"ɚʔ| ͜VΤ zвTXҾ&`ӎӎӎ,Ԩn(\֚8\tۆ`ܨRݼ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq rstuvwxyz{|}~     " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuuni00A0uni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni202Funi205Funi25FCglassmusicsearchenvelopeheartstar star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroad download_altdownloaduploadinbox play_circlerepeatrefreshlist_altlockflag headphones volume_off volume_down volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalic text_height text_width align_left align_center align_right align_justifylist indent_left indent_rightfacetime_videopicturepencil map_markeradjusttinteditsharecheckmove step_backward fast_backwardbackwardplaypausestopforward fast_forward step_forwardeject chevron_left chevron_right plus_sign minus_sign remove_signok_sign question_sign info_sign screenshot remove_circle ok_circle ban_circle arrow_left arrow_rightarrow_up arrow_down share_alt resize_full resize_smallexclamation_signgiftleaffireeye_open eye_close warning_signplanecalendarrandomcommentmagnet chevron_up chevron_downretweet shopping_cart folder_close folder_openresize_verticalresize_horizontal bar_chart twitter_sign facebook_sign camera_retrokeycogscomments thumbs_up_altthumbs_down_alt star_half heart_emptysignout linkedin_signpushpin external_linksignintrophy github_sign upload_altlemonphone check_emptybookmark_empty phone_signtwitterfacebookgithubunlock credit_cardrsshddbullhornbell certificate hand_right hand_lefthand_up hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter briefcase fullscreengrouplinkcloudbeakercutcopy paper_clipsave sign_blankreorderulol strikethrough underlinetablemagictruck pinterestpinterest_signgoogle_plus_sign google_plusmoney caret_downcaret_up caret_left caret_rightcolumnssort sort_downsort_up envelope_altlinkedinundolegal dashboard comment_alt comments_altboltsitemapumbrellapaste light_bulbexchangecloud_download cloud_uploaduser_md stethoscopesuitcasebell_altcoffeefood file_text_altbuildinghospital ambulancemedkit fighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down angle_left angle_rightangle_up angle_downdesktoplaptoptablet mobile_phone circle_blank quote_left quote_rightspinnercirclereply github_altfolder_close_altfolder_open_alt expand_alt collapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode reply_allstar_half_emptylocation_arrowcrop code_forkunlink_279 exclamation superscript subscript_283 puzzle_piece microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor unlock_altbullseyeellipsis_horizontalellipsis_vertical_303 play_signticketminus_sign_alt check_minuslevel_up level_down check_sign edit_sign_312 share_signcompasscollapse collapse_top_317eurgbpusdinrjpyrubkrwbtcfile file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt sort_by_ordersort_by_order_alt_334_335 youtube_signyoutubexing xing_sign youtube_playdropbox stackexchange instagramflickradnf171bitbucket_signtumblr tumblr_signlong_arrow_down long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378 vimeo_square_380 plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629VO)PKZxxLplugins/catch-web-tools/to-top/public/css/font-awesome/fonts/FontAwesome.otfnu[OTTO  CFF R?EPAR*0OS/22zU`cmapL.head 6hhea nD$hmtxw|h maxpvP0name'x8postX  FontAwesomeC   U6U6 -r-k ",04<>EGMT\_ehmqy}#)4>HT_lp{ '4=GRYfoy &,39COVcoz"/5;FPUZes}&+16<EOW_hmqv| )04=DPX\aju(,26GYhy %16;>EMUckox    $ 5 G V g l p v    & * - 0 3 6 9 < ? B F O _ c u     & 5 B Q a f m t y    ! % ) - 1 5 9 = A H L P T X \ ` d h l p t x |       % , 3 7 ; ? C G K O V Z ^ b f j n r v z ~   !%)-159=AEJNRVZ^bfjnrvz~ "&*.26:>BFJNRVZ^bfjnrvz~ "&*.2alglassmusicsearchenvelopeheartstarstar_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflagheadphonesvolume_offvolume_downvolume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_heighttext_widthalign_leftalign_centeralign_rightalign_justifylistindent_leftindent_rightfacetime_videopicturepencilmap_markeradjusttinteditsharecheckmovestep_backwardfast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_leftchevron_rightplus_signminus_signremove_signok_signquestion_signinfo_signscreenshotremove_circleok_circleban_circlearrow_leftarrow_rightarrow_uparrow_downshare_altresize_fullresize_smallexclamation_signgiftleaffireeye_openeye_closewarning_signplanecalendarrandomcommentmagnetchevron_upchevron_downretweetshopping_cartfolder_closefolder_openresize_verticalresize_horizontalbar_charttwitter_signfacebook_signcamera_retrokeycogscommentsthumbs_up_altthumbs_down_altstar_halfheart_emptysignoutlinkedin_signpushpinexternal_linksignintrophygithub_signupload_altlemonphonecheck_emptybookmark_emptyphone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificatehand_righthand_lefthand_uphand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilterbriefcasefullscreennotequalinfinitylessequalgrouplinkcloudbeakercutcopypaper_clipsavesign_blankreorderulolstrikethroughunderlinetablemagictruckpinterestpinterest_signgoogle_plus_signgoogle_plusmoneycaret_downcaret_upcaret_leftcaret_rightcolumnssortsort_downsort_upenvelope_altlinkedinundolegaldashboardcomment_altcomments_altboltsitemapumbrellapastelight_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefoodfile_text_altbuildinghospitalambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_downangle_leftangle_rightangle_upangle_downdesktoplaptoptabletmobile_phonecircle_blankquote_leftquote_rightspinnercirclereplygithub_altfolder_close_altfolder_open_altexpand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcodereply_allstar_half_emptylocation_arrowcropcode_forkunlink_279exclamationsuperscriptsubscript_283puzzle_piecemicrophonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchorunlock_altbullseyeellipsis_horizontalellipsis_vertical_303play_signticketminus_sign_altcheck_minuslevel_uplevel_downcheck_signedit_sign_312share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfilefile_textsort_by_alphabet_329sort_by_attributessort_by_attributes_altsort_by_ordersort_by_order_alt_334_335youtube_signyoutubexingxing_signyoutube_playdropboxstackexchangeinstagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_downlong_arrow_uplong_arrow_leftlong_arrow_rightapplewindowsandroidlinuxdribbleskypefoursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629Copyright Dave Gandy 2015. All rights reserved.FontAwesome aoC  %)M16=_fmqu|:>BFRhl'07>CjZ^)5:>CGKPTY]   & - 1 : E Q U \ b h m      ) , ; @ G u y   ! ( 0 [ e q     B F R [ i n s w ~   " , 1 6 > C H g  %19@GNTn $)>LR^jx} -9>EINSh}(09>CLSWdk} %+39=CJPU]bipu|#16DIOX_ensy %-28=BGLQ\akr}+ ! T fAVS @? x lfPzz  c 4 B KH K\j l vvo K KW l '  l  /@EXXE+y}}yKd:+EXXE 33 33 (  `lT~~  4 fT @4 s ) .TO@O << / 2 A 5P y_ V- ? G c < A  M HU ; C < e8 }y hnnhhnd  (T$ E  5 nh h w  y} } y}}yy}}y^ w ʆiimdod $@~ Kz&w{yyw}| |}xz{wa&zK $|'˒a . 9 - |zKz||zKz|K   ff ~ ) T* U " Z $   o ! ) T  [=s T , }yTy}}yT  VT- T? `V hh h@@h |z b c k  j]^hYE֊ׅB ?Gߩмqٴ̟'(͔͂z'w!q=wVF7HJ?xs]C$ 8 8 . 3CC   z  W (K$ hn .TO a T0   tkQE;wOVVOcZwE;ɩL1HD hnnhhnnh =  J ! TT TT} [ A ;(=ZXWG/9;/_Mknmn9:YIƑP`q~d_i iii G! } . 9 l - F/Bi NPuc]T!o>9U G @X V``V}~d3fTw@t(suwN5~w}+}PV q y}>  rcrr jih t <<rcrr rrcr     tp    yyrrrry * t D$$D !5   ! MQ :< 0A  &T+ 5e 11e BB  quuqqu;;uq tH t ZKS  { * }t / `   `uttu~w STdJ,]շ49 arwwvyr/ (DB%$AΌ 4 4 x T s wrr   Ez*6z*E!  0  D$$D _  yy >T 8 ;; ' : y  TT_Ld g__gg__g ,l [ ˻WL @ E##EE##E  ~w] NTQ    o"7l $> j s   P : G 0    << x G z{ y}|z !5 $$   l c c   $ EQj ip q~ 1   @h c  t44t :z{ `M`M   - t) & ( y} E##E i tB   ^ ɽYM s%$  *10 B ~v `V ; =  @@ yT 5 !4 ,$P++ 0 h  0   r  ^ w  z zz{  \$"WT f  ` S Z  j   )Wbit     }hv,0/vdpW  X 0 8 F  h\_h3`7cSg4^ 3U^ VIM I | !?!""m"""#h$$%%&':'()X)**A*}+.++,&,f,,-[-k-./002)2=223Y34 4G456B7C788H89s99::;5;<=<=>?@ABB]BBGVGGH4HIIIIIKKLKM[MNO?OGO[OPQSSbSTwU*UVOVW`WhWpWWWWXX XYY;Z$ZZ[2[\\]&^^h^^_`V``aAaabccddde$eMe~eeeeefffYffg>gGg]guhh hziEij"j$j&jqjjkNl0lmOmjmn@noowpqqKqqr0r}sYst2ttu9uvvFvwvvw?wxTxxxyy{yzwzz{ {}{|+|||}%}d}}~=P7>.0;=1|Ab#*/+B%V;jR!B'?h$:'aPÉŏzưǙ_ȿq˟b́ϓ$)lաV׳ءq0ۥb޼cG8]^>:<?lBsH[Na z    ,   ^  t>".GqsuA1 A nA 3 !""#N$[$%F%&&R&&'( (*;+,g-f./0001M334557B789z::;X=>?O?f??@@k@AAB2BpBC[CDCE+EEFGGHXHIJJJJK KLMJMN#NNNNNNNNNNTt TT4c 4 z..ȮhKhh3c # ^uiƭRl  @- ? FMffMZnnw   c  `Vc~ofa[Y  T=  @suw#$L>$#69JX"!!`V+/EE+V1RE __r@3CC3e \ ; p]  ksu[ztg U1 q9 [[9:QQ:Mqksu[ztg U1l vVlXXlVv6*336W) Ki l  i4e @ { { { { \ R T1R `VV``VTV`ԜT1\ R T1 TV``VT R  TV``VT TVTV``VT  ^y$%'+ hhjyy''+ +  ttB KH ttH K\tt jtt=  H K\j= n tW&S:aR`S:a))6 z6)õ`a;R`W&tP;;QEEQQEEQь STT@kmzK}zaEV" nmloL{yry}{{OJNll~n|i&js^^[{m~mkNo|y|rz{Kpijki\f_i]QM[!|Lz~rǑ̒Ȫ'fgiM    ([popHH4h l nnt, s~oJ,lW`aGahc~v~AHHF!4t4tt 4# ){||||N g|5pp Ty~}y:y~Tppur5|gccn_Tz} y}}zT Tdgf[wXX[fe? tqT% T TT TTlT~~ 8 6(' TT6k,T,ThXhYm}}chhcqj}}iVgvW wxrwwvttv# c w!SY;;PylD&)'C3 Y4# T[ t}|}zcesd,.9/F- . T4 T"Q>W"SX5z|[,9FZ3} T[ _ " "" T@Ա Q @3CC3e TTT T+ kT^^^^Tkwh ]bt\jK__=1lno1"-SKq~n}s{x}zsz: ;3n L T T/WW/!(ZMj: kBP K* k+8V=_GxɁHKxMG_8+  Me e N-hnog? ?go e N-hnog? ?go_QPox}yCQ(Csyrp}t{xodPQ_K n{}|zx8 S``*S8 qxozo||{}s}|{n:  K     ;x ʪʪꪫʪ骫kihvvvijiʌq|1|w|||1| g1| | | | Q kllqʁ qijivvviijp )p 8_^X*DtcX_^sjii}jttjjhs, g|vtywxog`vf/TFw.qra\zzzaM{tswxyzzVc,sj|wut{tv\h2p]yx}xzuxWi:mY{pvzs~{sww}e_^#:/r8u 4S 4K 4"Kme,,eBV4K"44"4\t4T? 4t* T33333333T4tXr=EE=UIrXt` ( l PT, ie%/,xxx(((#Ɏ wR'VbgfVpoqqq{\/j}}Yh^?DFG@EatV@ha%-n<scsŔO5*VJM(0x[[_}~ %;AHW{'Qbgfg FIGf=R!Gv^]^z8'n\PuH#hPMqJK{-ЊxġMMN[ĐơϦԖУ!!!x$ǁΓmr;ni~GhftnOlFKwz6 ;p6p_ph6hpo;_}oh6h6}_Ǐ\|}Cy ^^^LuZq< R eptcCDC  ǐ]|zb||}3mrS667W, "< R ~yv}u ] y]h vp|zwwzv {y{  |p hy ' 9 -' 9 c -' 9 [ y ' 9 -t' 9 [ y . 9 -. 9 c -. 9 [ y EEEt  @\ tX=l TX \ T: H k utX {tz{~'&9+ T'T& T&:'' )TG4444Tl  |z@ g4ka@ @  xD~~UT448~sjiij}st:944::,mM NLT_p’tH @M ϠHGwwsr@ mXXj:bkkcv`~:jX;Y;l-&@yyL _  S+,,||~KK. fccL +4444400f,,fMff// gl }{|y~wj. |z@ "L   {zt{tqT4 7\3ulz* p4Tqt   l KK.  fccL {kkYkkkYkkkkYkBBk   } 0 ` .  ` gs EfZE Z SfZEZZZZrZhlvlr|h@h|kc @_G_[ kc @  ZC ZZ ZZrwhZ c  ZC Z  @C }rrw_rZZ w. ::zzzzr:: ' zz:::: zzJb $Z !  Jhn~ k}2zz11zIIII{zzz1IIIIIIII1zzz{IIII{zv zz{z&vv,+&1zz6 k4y}}yTeTN T4,#Q?`\pnZt ҫȧPKgjzx}wy\O~#7@TKT k4< T.4O+.4O8C 4 4 44 `$$` $`${ $$w $`$9  #Zk==k# #kZ==Zk#9 #k==kZ#w #k==k#[ ]  &&  &&  &&  &&kK# g %''%% ::!8#  %56&{SjjQh[=<<=>o>n ^CT}s@skiij}sstDjt }sTӸ~ssjiik}ss@@st jtTC^OGGOTsDjs@t  K8sjiij~stsDks@sTC^ǸTs KT8@sjiij}ttT Ttjiij}tsA@sDjt t ,jl t,Qa! KtkvqCt kt Ԅ k <<p+>|Ri/8Crb{Zja_qV  P_ 44T( V``V N tY c  T s ^ nc  TT1 noqqon1 !5  Tft//tq:v++n+*mm*+n33+ äyppv-) mERQDEQ6 ERQDEQҌQE9},~ q 2srqt-}}N}}~ZTYprr~n pwefc~rrq/s~|~M}~,soppndmfnen s -}N1kmo/DD\ l y[  p6$7dI.3Tfo1\s\k <^  U/Sk ?Ÿj-@  +6 @ Dɝ·lZ'#ik}ts')2OKebh`i_mdG1dq^ nm]a".e G.3GNOH 6  t@K̬-*osr^ ?<k篞 Y xxytR]ssvkc\k}\vs򺊧1fzk~rvdOJ.eY$n:mo^ nq1d_`cJl2)t}ǏymD g  @KM>M>KR4)<5Mnɿ<5)4RP p];  dr3CT ~ϧX'T& ~ϧ4 {{{J{J IYU:=YϿڼWG j8Ke`bz|vw{ ̋{&,(i"z 4t4ToN T480QEEQQEEQ08: (y{wA[ _ l & . T/TL _@ DD D N DDl  + ^GofC3Tz ^Go  ^!Y1/)Yb1+ o ԹV``VRzf|Xm}[YKKkK+++K+K$>+++k˙̚zfR_L<L aNi`ʆ ŕXP+ ! t]r[t ˺?ApDU88Dp?? \pTTz{{z~TT# T~ Tp !8ZZ.n82Y\uZHm{(r^-Ʒ֫Ϧ [ {wx^^]Up[c\ˀtbdee  $fb%aa>"ipuleǞëѯ wC3. 4+ t 3&   w&;*226;*u qXsIm[FHNMo;otpлͩ&oxtt_Jdwry0Ayu{&Ay  (TQrLyJγʣMfEpB}P7.G$%Frrs3Xo[{TO(QVY`1(mpnnvww ."4X+prq/#>VK?ʹķSp.v/nQ1h/ p%]8rwsp TTT]]TT4V+T ,[ ) j @ @ @Q ttf g   TGzi.],++,]i{{}zyjpnjry''{{~{y#joicciq#44VV4@Ա Q 2t1v~z1vF4YtHAAHZEtYrtpԊ  c 4TttfT EuFF6!1=۴ n_F( RD\\ T$4` .G^SSG^J(@twT3fX V``V}~d3fTw@t(EQT!yTk`wrPNxyprNV[Pwrqqyxyprrwwr[PNrpyxxyprNP[rwwrrpyxyprrwP[VNrpyxNPrw}PNVVNPx_ 4.TO l FPPFs\k >\V?Ckk++JL@ =3`?.Qm\ibgbjnG5[^ nfuel.=  _ .Gc4`C>[B atĹixFP+֫ঽtttuV]]B1 s [GngimQ`?34=_`b    =acf}|}KKYS#L "K V?Ck1B]]Vvuut+PFxiԹta ?MQYKK}|}fca=    b`_=43?`QmigجnG[w  ʰ"l ZB xxyatRt]ssvikcx\j_qFPPFGOLJ++kkC>[J G! kfufs ^ [5Gjnbgbi\m.Q?`3<    =؉ˠSL@JQQ{z@r0060  {zz{QQW  00TQQ{QQ %0{z% 00{QQb QQT {z 00y &QQd QQ {z E݂v <<>Gww|&xjUt=N,BQ?FE    {tq z z w44@  44te takw$$Ti Tqt{stoy$$$$tqT4 TA $$v v$$# T-T$$* Wn|`_]#v:[vVi\\iVv6*446Y TWu܎v#6]_`uuu0n1W@^;Y  TT`4S2S@ zyrrrrybcyjdL djyddysqSUmtvwjoXV``VXojvwtnrry@dd> ybcyrrUnTddUA??BnUU'&UVlA?>CTddUmի3STk@< ?BUbcTmԨ'&* J,>i KQtd_O>Kj }|},D!/G  # # @*! ! @i##flA\3T3T K"~xF͇F6)-1?pWSRWn?=%(EUmþBB_XS-(mU6EF(%=?VXp򎬇F˞y\&sqb]NENewdG&NS6}dNDwO0]bqNñџsSe&GF\}w~vt:4+q4CKtېE,5  4dYztdV4VAlff,,fflAV4S T? Vi?fflAV4L444L4|+fLdUS55TTd..Ġ ..||eWT6LL6UVe[o!"m\à B)%h;=h&)CMe0 0 4VԚ44S ? 4{}~bx4TԱ TQ kmeeBV4@? kc kc Tttt\ Gl 4B 3 E Gl 4B 3 E T 3 E  h $@7_H,`djXg]SˈScfzhebpR3^v"Om(;.?GdFjPyi7voMyyy4 @(!?:::  (l T@sTz|@=\ @3/{pkgGR[".__ušȟmNgG&߅ȂAP_ATeAa6226^%OLJnpsosxZWS]{`lcmcbnXzyY\a\^cbhnnpszf%_whY+W~ cv͉ΒИhv9!݉}t{D$p_Civ9U:j\i9%9) o'0qi? ?@ieM#&nYA ,Ómxwr]9 FfH4 ze`c``c#NW[S 9Z))));7eefeefeefee)l  {r|sv>(T+J~ff~JJ~ff~J`  P ( _4 ,[ q nTT{zTTlTT TT  o 4 f@ @ Tq nTq n mjingr;<7 M7#?#77 <:fime B4@ V7)0[/1/^//10#sEAA*,?m6"mF=(G`$.ƣ 0n ;;YS<! 8sjiel{ppmoy,,yrrUg[giyxtq]um~~~~mu]qtyxgi[gUrry,,+ ompp{leijtt, MTTM@u^9v:p%"M$%MڑhiMMTTMT&&&&@;$yz%:@ %%_ T DddDWXYV_lw}v~v*AdD[  yo6$7p ^~ )?cwrvy~x]͈}|*YvvT  +TT? VԿT T+V``VS ? V+TT+? V+TT+?   XvvuuvvHNNHHN?0   1j j/ b zb zeU=k?0 ) $ 4S 4T˱ TQ K4ime,,~V4T? #x:4tT.H pF E 4KqHaZxuuvwtD6O'xODwuxaq\_ II_ \DD$2?? nzykjstz{ztsjmy}z{JlQeűťž̛{yn׭ |zT|a T`t3 `Tz|* tE TQ tC tu* 4z}|yt Tty}u tT4T?hnnhiN[cG=B^60QEEQQEhuI7#e  #7upjj_pB:1 !5ܾئ_Wc[7+447W 5!1 7EpF m;4U?ua[t RҢ&F & RD[apdu茆0 U;4mph]@ @h֦t t KH wK K$4` (@twT3fX V``V}~d3fTw@t(EQT!yT)T1 K5!( Phh4 tT ?0 4nh0 4nh0 :Bp|צ_)\tEQF!44K$T/T* ttT3T/T3T/ t" "KT|zKz||zKz|FT|zKz||zKz||zKz||zKz|2 E 4c @_4 ,[ It" "2 "=4 kS T? K+ KԱ Q + *Q _UVTk,[ )x` MWWl2M4" T. 4 4hZwrrlZZrrwZh4!""( "T[ 4l 4̒4" TtkH w44K k)tK +4Kk44Tt+kkTkTsTskkTkTt44Kk4 Ftˋ |g>DRTT˫kTTktkKh@@hTTx Tb b d d 4 Jb $Z W Z4 ~]  ~] Zx x P tIIP 4I I t] ~YY Y P IP I )g|ze3C4KGf9-K ) 4ԋT fT kE Q T ԃ`t4+V`@Ӷ+A: a 4ԃT Q TC3v  d_gg_ d4T Q TT` A EQ 6 Ԗ TNT@"RDEQRDEQb@TT@QE^ EQҌXx z  @T b'&Qk *j4a,t{ztC8qbbb{y{x{K  t44t224\<-7ʗ7-tD&c+zi0&H. 0,-##s& &2iGz@@RQT+c& &t  l c tV``V V`T5TTTK 4 &)l |~aiEjVulѬo70 XDQ547mGGT4+ &naxjigxi j(C(jgjixhi5'=='5G5 n5Y'=='5YihC ix5  T_-T5 )TT< TTr TTAOTTA 8TTC KM`M  M yy p< ZL )xIpm F m t:+tm F 4m  :+m F m HF m  F m F m F m ` :+t$as ^ na jM Pdioo '.X@Qh  @\  s]QT3T)&  Y ff ff zM{yz zyz  %tJjZ!! !"н $yf+/Y kzX,Hn|}1d Z\IێĬ TTTpK =b/tQ( 0>mUzxwyysq ggKgywxzpTmӨ'&h~zUB>>CnUU'&TUmC>>CTz~p> y 7Q( 0>/+=  K : Khnnh% T,[ P% t, wohhonhhn S3@B< ;|#&%6Nkj>hW@ x}pU3@@B< Y;|$&%6Nli>hW y|p* 9Iv]Yfh{osjeV]]nw uKJQT*FhltnݖݘƎqDA5%!*QTFhulstnl_a99:P~݀*Pk9okթ ? ]]?  DvD)D$$DK? ?CI 9 .. 9~`n ? TAENK ^ )T% 7;L9\XpqTT_4 9 $9 x#4@a T+}~| z knr]J'V{ke{ohc-#/&|~T+ `t{yS;RQPIODwt{K6K tqn;<-=vvkhF@8k!!7 ZZ ZZ9 %! ka!7 %  9 ZZ !7 7 % ZZ9 ZZ! 7 ZZ 9 9 %X ?6IY(uC XVYx\b66 PeSGQGz5:5'DN5(TKKT( Ta 4Q~~'1 A3ZpT2T7׷i ` ,9_7XT4  / TZA1 ~P(~uQ1  Q1.g TTt/ G]]CkVY  M yyL ? ? % UTUTUUTUTUsM- |a99az~ z |33z} z99S k <<`C3+ L 9{sYsn{xput}T4T~T>Tw}4TTru|utpxnurT}ynnA7  9 gggg9 % T(@WWS+}}F簰ɋf,,fMff zq{ttz{v7 % vxt~ t 4G{zs{4O!mFNB9x*}}~5W]4xG ttTc## yussu~uvqxTzTQK y7}TxvvxzT}xqvu~K zTxqvu~ussuTTt< T.TOT}yf dyDs4>$0K_|h)!Ch&5`Q?vk}>P * z|% e@1* %$?nPDsQ](E5UW+M3T)3w'T<|#P >}ykאSS8x_uaz`{{sk=Vjs#$6$$q @{_,1!T!1NH( t()$t t* $tTq ;>TP NH\ @3uk1@:6zi 4QG%/쎔|~}.)|}~}*1~|3"C3d4}3;e:}38i1..`zJ1Z.cbb.jjlh8ʟgk&wl`lK`\..H̢W/&~kSڡ#ڨZDpA4Ikl,,}V``VS @? V`k,,}llp8V`V``VS @? t T T )8 }3 | H4 )8 1H4 2 }3 | t)8 Q4^4^T4T^4kQ4>t)8 4QT4T>TTQ4>TTQ4G s=)8 І ma G =)8 d   4Tgnohgo! 4' 4 ,-3#؋Gt `aMPQOddlli`g]_Q+ fjoojhovuf\#ͥȅ֤ TnhgooghnG40  q~ )|mxrze`I3}y?z#\fLuOvhimohjo Q]`ldOQPMatGmqvin4^ːΆ—̀ƏnX+}j{xtzj1HLzii|E;;]SHv|~}Iqzxcypst}qv5Hίp}Gq|z{t}ypjip~rx}xoddnyr~Wvuyi0izj60w7~Q[`R|R[~wߋƻő|ą`P805]A]|s|z|WW[ dm}yrxq~jiqy}~rxndI mpr|rv|{H l Dzك{цԨ_~q|||||f|mm|t^]Z'X"-Ibgiwknvv}(]jvgrxhklm[2+*mxfwj]Ynwwy{hsfy\\hqxAzireV$G4]t~%]~smn}ft]fcqyJ>LNMMNwK=KQx<rCu)k,##,)CrrutturӠ,#ˮ&~'+'}~~}}3 +t4b4tD809mi%if+qU3? ==BRippiip!~b^^jcjc~9?>99>?9elleBel9Ble9Bd2222v< <g  k&]&8t#4#4-_G_G r 9*Hb=gh`̀, ް5-"MM/8(x,(90KDzіɕOTOm̀ցQ\Y5Yy{))+)jxYhmG{IUsV7=o{vu! z'f@o&d1caaPEb4"f|aunO鿦ɯ˱nno5.OB\WQĦdRۛ~-aOpbKI2C@lU[s^Yoc`̄ƃ~ƒΑ~vD,@aD1"@3byЀѐl"k"rbsIr3p1o1]_qewG1('$:er)n'y*ԧӥؘؒ6;2]zt[uns PDcl|P~_q<}Nx0k<Nkpti"d-"`#69VѺDMV"TAK$ `~tJ t~~@`@~t ttQ t~򕃘t~~t <t~qqPV]]tסжihhMD;ZQuItI[nt]FEQZ-[+@@*e-8;@@4uvǹߤ p7ZYCYCq5( >>>-r>->j7)1auabtavzyvvzyu:uzyvvzyvLR]]SBR]ĸB]Sx*.NZwR]ĹwwR]ĹwǼ|CNGCCG|pNC!C,313, q|]RS]^RBR]Ĺw$䔻kiᦿůI7Y=+kt}n~x?z}}}b;u{{~YP KS{TSm{qiTAsFGKiwzwo_ewkjZ˒lshztu|Цyu"5@'\ϊ؊sqٱ.&7e}|_g͗5|qD|unlaK]~diqqquzw|wʎó^=~Şv}M,7QupzTS(pzKYNGJ b/ѓcctup4K6gp1zyyr7Y}{w\ @wxFis}txyoGqt sp^)X )iz=JFdf|oL{1$+#~[G0`SQRne*wXjsIx[Ͽ^d7,vX9 ZY deҦt-tE##E)o}}4u{zu\ O#nWvZh,lt:$4Zsj{rglb1XldvG'bQ^{yqa|x|{jjs}.Ӣѡ?IY–Kk.#4)sV 1| XRf 7n]Mw]^}ǟxwVo] ytyywyB A'!3EMM!#] ([B4WtImnxWxWtIWȇ$rzӎlQ3J>Rq_(%vv==)G/H{uAR6=zkwlkkwllaelj{RI7 A5ifsgffsh./gge0lF kmiE#=[Z\Z#=EOiNQ@QyQ@QzE&}9ً܉{H[1N[GCJۋz"q*g2EKa"81&*a/rwxrrwT(v]*I0 330H 3 Tz|4# T|a 5T4# T?~~TzwwvxT24K Y 6 dpF47zw8,lr7RZ(x[ts[{+;f DK^Fxukrlqv}K ?(&PX+)#JU ^mmm jgenyiYW»ëP7iSպԤÎ˒rSppoG.B%r tTt TQ4( Zdz{ IP 4* . l  tQ) K* [s`C3+ L )4՘ΖT˫KT]HAF-"Kg_yz}>Q~{{~؉}zy_gK飳ܩn_ZZp_bn:vkbA*t%ndʋ̫44m4tbm++44kkLJJl.d |{|8S"1ÞH=|}}6TV5wSLTT=g}}RIcZYccYZccYZccYZc \pcdwywxRj.j.Rcoͭ}t qZbZZcbYZc\L gSVIm> k.L.k?+llH\\HlZ釧鏼0T T kcthjz{{z7LvvK7isùĨwлQahaahhaai?Ul[Ĺ]SZ +)**MOvrqvvq 25 3 + qv6!Mr342oqv*  )```NW{WM}|XLyR]^SS]TTVQ~ùù]SS]^SS]WQURTTl 4''tTTttTTtT a`aa`aMk`8aMakap`a9M<97Ba8M97Bagg[o2 @2 CG%:`dhbgbۏ֯Ȱ:%G?G%;adhbgbN;%GH 7@ Q Yr3FZXaXxwx_blkx B) K%Lo3BJwu~kuxuk?Oz!xyxvzAY Ϲ[Djmhl|{{̡ԡԈ֊ j8ч5T&9E Z$j@b<r(B{]<6TY uZ|iJC^E,g_zsyubՖӪu^@q-1ݛzJ1jI1jgTiԻ EY}MF{M`@]~tvtz,~@Y=U/0Aqtתdz}PPxvtnos~}mzVz-cObPru[N S=)id<&li@XsŒՍ0ZZ6:3W4U_U266WBN@ h[aj6GUv@cLj^HI,+T(jjc+,54+,mmZZ;ZZ۽+,33m0vH9*/o⩩+,44>4 q{7$//)9wh 0m+,54+,44,,nZܼۋZ,,>'l4n,,44,,44,,mZ;ZZZZ;Z+,/o-D/#5>'}n00nm,,54,,44,,ۋZZ;ZZ+,jJѲ"^ z}i{ѧ錐zss^myzSvnnU{uuwz~˜ڦLvewe :rnwt]R{ϝȹ̯\jtazm|}l~~nh~uN?MamJ}fg^%llI%uXBlznxj|Z6{&1~\NULܿI4'6kZ6nNwa T v  `77lf,,fAV4 PW?tqCCC44@4 ,-i ; KT C KT; KT; Ky}}yKy}}yT6 96 y}}yKy}}yT6 ttpfeOefxxxxeOeffeOe  8  *`7Q `6w% Y4W%*% X4j%1g6` Q7*` D4 Y%*&4 X%WT#EE#\[^hnT^\z.}TNNNiYT}||||}TYyi[U\`uTT + @ 8TjMQMQMQWm[FN$l\TT{zzzz{TT\vl]X$FN\vl]X4[^vTtZ TtZ Vo8>A , '>&&2uQeGWn!eq=s)b?ɽX/c o E`(yk2@ /POlAAg e1j*.Nz+8a{z{aY%#y=<==<=<<*```^+LPzlX1Az/-6D&@I`_B   44!3}|~jk/k;j:/d;jkjL`+ T'h uY54Y\55\Z56\~  q@-& T&kD>m2W._Z8nE 5<hLhLQRSu'/>0Agz8(ҒӑP0KC'ZL{o_uOn ɋ#xW{D ߥpBdȋeE)3 +57wp 44tTz  z 4'c7E 7D 44 cT(K7K7D ' t aXt Xt al&'y &'Y  } Y&'} y&'} bKHJjp̃Έb[ aouwr~'89{={mx<*e>okjqpi{AR*7}xE|}jp]VY0-|xpaime{}ld""p*}|blv\&A}xfa) po"_m3m"3s¿8~~}~hs׌ $zctc^_Pvv~w~yf{h{ Z~}}}}}||{|Z} z}{10df}itj\KMuTuzy~00kzzz <!!o !<Ǒml!D4CPWhЌnjʕ|vw||ryIs7h3^1c:gJlXJU>]wD&_nr6Hgdalor@/K&``m}",y }z~|{@Ë)ҧ̞ȭBO`)y)o3hm^Zx:F!4i 1J{z~v$${z~J1 E8)3y{||y38)E1 !4gVQG ?33A HWT! 5|x$5!~ !4t/|h7S.1l~gd`;!Ъwgvph  !4;TTT      PfAVS @? x lfPzz $ c ;44rn99l>SO~~zzK!4 EQj 1g F!44v{v}JJ}X}w}vw}Xe}w}JJ}wevaʁӎyLzzyӈzzyuYaaff6&̶Q HyA~`Dޟ(#PgQ+<3%!!!S|BDMhߺ ђ.-.-.lHs-U7sH<JJJ?H&Urs&l~v~||||~v}~rrrr}d ^)[OK0-npq D:)rJ?t~rIFo9$"%9/iüIIR^rdclmkԧ2*:8)0\pFN[BA\ŸghgGDDl)3=L > jRVVVTPQSyVVV:RjVVyVTPQSVxVVyÁ•VVRj xmŁyVVjRttF4xPp? px4MFqqqqv|y*|8 G}AIrw-u\? 5'p$ PY84I5K G3#T1!I%>HGUB&- -%bbd&-JRprvQiu,t~՗Ӣ9RMgĬx{}ާEvhrjplJ- ?&n@5dbbI,ueui`M6 fXPljiijlPXlf`M6`ZiRuL};pommop|;LRZM6`m[ [ƗM6Ġ|}+vjS&zzgMRjhed9oICAA~CtIo}d{fxgj ;v+Iz5&o? mjhĬ7;jjjjjjjj> \O+:xOa_UTS˄@gftXRweWWk :{z{zzy"J<%wly}jhw|m'!+\! ոϡnMbx7tttpopyjef{m~ Ǻ iii yzyWuf^ V]g`[[f_\ `Ujf#b'^jTm4=yBF$3P:kS43g߫ޯG@pFAw@UMMM%O&iWtLXU_ogBF bWR?d/yH(#-:=;ra``^_^rrukedA~ R?‰“wnmm(?+RVB=jȕwS<;QE>?F X`X4! 55 pqsa_^U^HKʲJpwm7ųu~`//:q~iykkkkkkgfhopypoon0 +(\fmjő¡CB{gtzldg{S)ik-z/Rɮ٫ސq,Þ2=5qnYVL9+3zZ$;;#}MwzVqzvy^oyzzUggTUT¯¯gT{fggTgg¯ggUggUTUgTffgUgggg!Mm#[8ICnyy|죢Ԟ[TI&%7~~Tvtsrv61psYMwpv~Tv~tsrvlUXqsk%]rn ;;YS<!  w? ? U bXkC_}g555333g}cm6ﳽmv%f~~O~~~a}g767/./h~bn1lp.[Rh5kuZi/4oe ^Wf7h7jvWi'2nfz#zCpisL2r@;pEVP<Q;Odlw}#>}x ƭ 4tt ttTttk7>jVRH %HVj[HR>7E##EجHE##E[ ++ +  heXuS + þuh  + ++ SXe  %  +  9/ː/4Gj{fj}^11^rt|qj|$$P|jBGrbrrKK& j Sˤr(Ge~1~w~~w~1 zz0v~0 KQ+( 0NT:< +0A +~w~10  dd> mcFr@:}77:@ڳm-T0>2tM2V33V2Y&Lt>T0-KKKKKKKKTtSTSTS@5gn~STSTS$5 H~HfJT gnT<}~}2TT~}</ Q(4tQ(\ Y:YY%$~~$%YY:YZ$%**44ool8II8oo44**%$Zu*  +  uHd8lhTwwvym\_u5^/7hVfJC22C=+JVhX[<*N?Y3: ]#"S:Y3N%I%%%%F%"F%F%"mmm%@5z"mmmmFFVmyjjgwrPE]}~Su8ӗ)xm6 |uw}un]~')kp{u~ y nkuptogo>4y}Ϧ)Q4  gyr=7TRyytvz3*WJttx~8tA&ysjmm}՗ J T  0 5c 0ta  eepZp %$ B((BP! (''$$ GG(GGs$$zhl?9%$ _{_{b= $ MM M MM MEQQEEQQEM0  q~ $  EQl  lT^_|_j-Z7BG:?)_s:y8CXccs{~syyyyzyoto֎~@,="H(`dine|Anq˗NJܨ,+@מaI Ɓ8%m^9^9&^5 LZ_mOMrqs7bh%7fUiU>!Vvj1 zA@LF){B90kMKpo}q4^i4c2!b˱̩,|l-ƒs|eW"}fڋ\GQ+L~bGDCd5.26J:#:t|mcUJmopmvn]TB4B@Dd$rvJL88˿}~=.|Նs=xzo<BY$lŖ›/¸le3k{ut~irgk{ut(ӥ`xnqx}p[!T77:_\\]k]: rZwxo_(|MfmWisu͐0|u~Lvkcpy}~uz{y\ƊosTuwurl{~CBm]SbVBMjʞwywkws~~zqXIHI}Ons@WJ-E`Ǜx|}jxĨ@6'r[vyo_|MgmWisu͐!t~~yqWIHI}!?|zvYaOD Vhx/Ym1V:FMFVmY%0DF/bbF9@O)nH4(nO9Y"Ω̵i&L̔+`~tvqazpubw& SJZu\ek pkfY ,F):J\^GZgmn|@~~rNvƯri_z{wow{vy}psV1}nso(>}>ptlN[XKH[ͨ>0 "?4'::''::',Ah"ttLR AS1 Sc1J@ֶgLXpjZ  =PBBPOA AOD=̹|ͻMV˹$QG̟^ͫw_BG.O`IΤwϓRϺT}c 3" @"7<`ߊmQ1ryt 8spvu:@rfqvu:@r_F />L6L!+Ohhhh[Nc92;1 y,((, mm<}nik<ytgn(Bnlmv2gW@TPQ~wezuEu@ :PBBPNBG=_"Z*y@u!_M"_HDJiQwrSrNG2JDt( w\Dx]nrTrN:BNcTX.]^ggTW-|cQf@+((+ll>vII<5 YaqT;Qvy{QŷbZ Y`qT;Rwz{Q9RIPP(*/inW|ϊL/b\04]O__@@e,l,} v)@eiyz ) v?} ? 4or^{g=Zi| *>薚=v*0} 9  3os^{f=Z@i| E(J-I4i^xz xY~**)(!= xetpq@tJ͉yiiylHXzdipsl_~UGJhsxyW9Yӿwyk]]s}zw~{mh7k>Yi{ ztdYgrn|oM򹓝gptx*kSk*kl1wGb_]aTfvst+*r\zheN;h_hg__hh_ilu~~$rfP|KEUfav,ɼuaaP@YT@A :~@7뀙v~6{ T4` * ** >TQ4* **) 4* T$drrZ\Jxk^kwwkkw^~|}T|zxk*kw U|zwk-jx T}һxjҺ\DE[[DS^mxH||T}.һһ\D.####k'V''8Ltt22T22 22T22O )$ xrOrmcqly|~"|yy|~ |ylqrkew}xt[pwtoptbptUkr#$Ua m}||}#V䕌OVP[d\R\D?G!cLm?J9_ lq1:KI>?DB(DD(BzD)ANZȼxȼXN=k:jTRR;;PPQ2<;5 ,$()MU]()++\TMqqz΂34ypm1 .oQke^ 'uv& ^ekex#B9o=9B]:#/ݠ"\&"iRex hB RXD@ _* pX@RchE:dM+A * [ $qf]]]U9pttp.ptqtoq$ #$ A#A$ #lL6HpAOYKI++srs I0"/rIHqqIHrﷰg(7]F$ gVc p'7)28]8 j @ j j j @o]" -]" -]" .\#<]i|i|i|j| 66 66Fٯ6Vg <- gwr r r r r ;A A@ !A@!!@A! @9ŵwvmQuLflD^A94wHMZXaǂݏ,|) *) )* )* ** )* *) *) )[OCPZ[P55ZPCO[[PP[(ǻ@:M`edeSO[/:~~|yw{ >g7.iczdfptð+&4R l^vQBR{xxgd~y</Rc4jc'^dcvYXwrlO[MOO[Olr}twXPYv@c>kPS/k_`bjpN1kI7+447o uU)4S'-{:d@G{ &zzEwvlmulchr]tbFs^[XVvN;mЋD1 %/O,jF?j}yykDvDK'wsxx l DvD)l _>hjthhjbgSgT.  T譁bjh>n_KD;Ds ^ ,~ 2+ \ suS&yprxo@nrR/Eoqwn썍c@ ";;dxpXBB}tq۽F Tdmlsur|jt[ttstt/t G ]]  43) \<B4i , {uNvQ*33Q~Fu{uv+NR-Xv T  vXRX,  *6xllsvr}jR_  )[=)R~[~w~5-!/4 B"~v_V=)[ R5 uqu f!D! }qquur|jt[ttsttBtt/tì|rPZ<:`jvg$gJAv<ֽYi}=af44 )5Mk4444_  E E TTE Tl TWTTH 3  TjTtTsR@6{@),\,)əEQTW IIs~xxx{?+)])+8s~T @`c Ti mGTu kc TTTTT//TTTlT T!5 1  4 a4 a4\ }}{ptrmg}e}Mpvwyۏ c ״( ¯#wmݿbt@r|kj>Slst=Sls_tiqnv„Ņ3I`QnN^DyagTQ3I`nȜn;((5;!!6ryPqhn}.d9=k%)}|||{zvvuyyvvx}̖ҹ֐acrppxswzn}{wvvDӍ⟳͂pTlZxeyR{o|WbeVHquOz|n*)j4_SnNe]_\]“†gwkrmn nny{ʼnZlvTdp@JI4X@^xԉjwvw@~ny yorpmue{`nYnpr@^rss~~xvvyv}yuwz{{|z|{}{x}~yz~~} ; `ˉˬ7y88Siˎ; Lp` d|jK='t< $k:tt $K^ \buBs <<[=:0  Yvk2  OTV0OUƀGԫafob~hGSwk9&&  gY8>%˻XM,ɾYMr}QQ|Q'%`em_Jppuiuzzwɺ˿gYv*ʹ%q-u*+?q8$@q+ )5x}2#xww;Q" 7=YjyJLkttTtTg[ MCΫ MC1XNgZ´[VmJJ{K/oqwnbI ѵvj+^ ` d^]  Ub[Քm)xyx^HCii}l\NJp" #kkgko t c7/{{{ ` zf+!` lln%( 0 ǓEt^+jffllɽYM{{}.}PHT/7qͻ]H{4cycq_MYɛǦsjZ\ !}Zcdznp% 0DRɹXNMTYNdkdEXÿ!0WV~Y6R}XcP^Zt|z* z_ q  }z!~q{yzp~"{}~{=UP? Q={~ 4Z]41YW36ЧubQEd]"* T$>/V,'t> 44'%YT8?9|2'8 (%XU7?9|3'94> tt++UUttttC<<4444 TT UUttttC++<<44\ aJZZZZ44cTSc++TS33ZZ> DORKPKaXWaaXWaaWWabWWa 45! 54! 54!-..-......-..-..Xcccccccc0ɂь8`a@aNdC9sbccc@ccbcX9XE-JF,bH5@Y&nË49HbFs̷N{R{ `_`_`_`_9''''pqD-A&aa-D`qX_1`AMtCC%&*)GGbbIc~c͋%)Gc͋cBս_k3PD33DD33DjKgl:VF_-zMWSRn\nnnn\nZECSSnn\nnӾN+F:g˝VC&&ӋlgZG%%GG%%GG%%GG%%GP8 X@ 6DD6srpsG4Tmmv)t~̩vVJk}ltu(vumm $O?$d`zw~y8Mva\tiN߶܎`4s~nkA["gwdLaG$lΥэv~{ҊꅮK-5%L .U \  @j<Z\ fzd?* 1"0-)/!U=ITAIzWdd],O+2=q4{E)|肙i54_:vxH|Q̋yPBCĻ*O8Qz }y2!v\ 2!dx%%uouyf"2E"ciP8+ H>VV> 8PicE0}D8F?:/5mV?_@)*_AUm֡F8~_ :hI K6AOR||| 7::-R=6jsnVK {Qr2w..4$<1Unk;HKTC$[EEq;rI/(6F+G-7+`=(c2F]U=PO>Ul gT|z TeT t3/t  KWWKKW#1bnZyOL/õB+ h'X=-k7yS[rWmK|CO]ew,i@RF˿WK)}xyk~JJ?X7gf3.x,+.46?JGXjkځLJvl~doJLN*4A@Pbaul~xyJJJww}IIJÐN~LkR{mmaUULEC><;;{mDRs*MSPwms}wy<u|ƌ  Y10 Y 1122X48C1£dzʧr]^NJqZoe~|Z~W43XV32X+1fIHJLh67:gfs˂uncor~EMUUaml|ؚѩʵɩӛlG@/' "vg9~{~iyenaMxxw^Fyl}l 66xtm|cw&LL+dtjiJ4qq˚|O)xOpYpZ,,pWwT,JyIE7wt4vQ^6_ c wo K KW l j d ( d (  @l TtP K(t[ttstt/ 4Q3>t# +PPPP]w~PPPP QPQP]PQPQk# ]w~PPpp iP#\ TO ,-] ] i 4tT_`b#w #b`_ yyL Mt33V22VN (!!yrr. K0 , !! e+w TTTrryy!! !!+ @  yuw{{{s{sqvwl zz zm m`mm\ H @= = = = %%WBS qg@\LP{|@)҅%_ ``@@@%% \h<;v-;ݯ].Sg9GFXVi_d:ftl\mM>U:\!-B o-Bvˌ{bє~8w F2SXtegJ]lA9HH8QXi[syxy\HN-fXR22"E`B5 3352E%%%%W*~wwwwA.#C'K]fT O'R/+,{{a{L{{44   km +{t ?0 sw{    oT~ƣ@V 5!7EV@p -F1M \ZG#n' - ! ϼ 1-+q >P * ++EZ[spkT\ ~O@GA BHEB Bc> ----mJ#66"-!!!p[mmVJE46H``Z[|]~c`}pG;-7-m{<8Yn,=auKKvQ.-QjKs[hshs\hF:87s;\Fsh[t3]-3s\hsht[h"eE!sh\s-3~ + ** * }Mz]c.p%$fM55277<&UA++Kq5PPm;XY ;v2 ,TTT ttttk< .O8T tԁtN P * $ Fh͉yy}~a pjM M jprk5jThh i itt R*N^Ȗ* RDejok4ph4hplh/nh4nh9joqjhp4lh\ƙ;/ ;ǾbP0&M q$ ;. O ; $9 q&MsT |~}StK|}Sth =h u=h ttt*w)))((.ddZNNZZNNZQ+A@AA@![  [c `@ W0+. 4wx{0~}94l 4Wp@   &.1<@EIMWktx|#'v ")-;?DTY%=BFNRW[_~,GNY] BGKchrx%.5:]ej,27>Ft{ $*5fl   ) U l u   = H L ] d k | ) 7 I i s w * 2 C N S f n q w & , 7 = F L S Y ] b g l w -:BIPW\q ,38AHMR[bt!&4DTZbhr| #27<@EN\iw $)5AIQW_ejpv{<<T'T& "  t% M   33 0 y}}y : ( 33 ]]]]B TS  ? :  hnnh 9T KTFTKB KH K\ H T\ @  @@? ? % y}}yKy}}yTJ < K. r O8 4 , d N  (  ]]G }t ""  %%%%%% L 0 X N   +  z||z  ff m Tm Tm TT T|zf '& & t R }y J r )  1 V` +[+s/+ " @h `w _OG`E}n\>l9 , EQ |z@z||zTz||zz||zTz| @3 E  - y G~ - YQ ffD ffN~ DRRD } -! O  Z 4 ,  T tzuxu[Brlmyz~5qsU RD^ .    y}}yKy}7 1  TTM8_^X*D4 4D*Y_`t, _@ TTTT < . Bi  ^ D lnl||}_zob^^bzM zz zr^``^?a  }D}}k K$  _hnnhW   0  ~ < T. .O   yy ! ` +t!t      |z@* Tz| }t.+ݭB @3 j l  1 F 4m  6g _ c   Y nh z{ 8T(A(A(A ̍t|~}: @C ~ ~~w~ B T3 Tj fz\J$9:lA . O  ~w]]w~ z  R !!PTj ; %0  ZZ @ ~ o E l  ,, , ,   +S S T?   \xcikvss]tRatyxx h@@hh@ { HM tk G MY } ~w~~  V @ nh ttC xyots{ pttp&pt . 4 QK* _ !- ! < ) y   ` n +<< B !55! QDnty y  @$$@!  QE rrcr  r  p] w__c $  y'& OG  qt ]]Ch   !$DD$ `F B && cesz 0 hn + yy  > 4 z |z a `=db97 haahi`ah <<<< '0cGv=< !  `V  Tt y6%6- _$cX ?}|A ɽ  z P@zyz Nba] ;   @    f    c    ' f RD 3 h@  DR  60 ++P, -  EGxZny /  , _hmx     }y XtxmihbW_)   z} t $4 z T_  5!  `  qt{tsoy 333vK _gg_ &  }jii V @hh   ] ?  wkz||   g }y +: s}  ^   f    %t~  nh &m/ ofZedZd rsyy'& 4X *   ]] @   _33spyrs@  "" n@. !"""`>N^fin~'(.>N^n~>N^n~ !"""`!@P`gjp ()0@P`p!@P`p\QA0ޕR     lT  7A[_<Pt@  npv_]yn2@zZ@55 ZZ@,_@f@ @(@@@- MM- MM@@@ -b   5-8@ D@,*@  m)@@   ' D9>dU*q    R     @ e  %RE    $ k(Pv/ /: /Q /Qc    ^ [ q . [ $ [  s  * <Copyright Dave Gandy 2015. All rights reserved.FontAwesomepyrs: FontAwesome: 2012Version 4.4.1 2015Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeDave Gandyhttp://fontawesome.iohttp://fontawesome.io/license/Copyright Dave Gandy 2015. All rights reserved.FontAwesomeRegularpyrs: FontAwesome: 2012Version 4.4.1 2015Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeDave Gandyhttp://fontawesome.iohttp://fontawesome.io/license/PKZxU00Tplugins/catch-web-tools/to-top/public/css/font-awesome/fonts/fontawesome-webfont.svgnu[ PKZ}FFUplugins/catch-web-tools/to-top/public/css/font-awesome/fonts/fontawesome-webfont.woffnu[wOFFF*FFTMDjo)GDEF` OS/2?`Yzcmapwmgasp8glyf@*,,qhead.<16 Uhhea.p$ [hmtx. )*loca1LiVmaxp6D name6d3Fpost8r 7cAwebfF|*VO=Pu>xc`d``b `b`d`dj,` $xc`fsgbʢb l |6Fe ňDfsx͒?kqgI]5 5C W NW "R: %SX!c{M6o~hK҃{{@^;%$ȧ&=d2,<jT֬浨ej]N:Bq!,(*hF-ky+Z٪V$=~!&49-hI+ZӆtWSA# r( jh]уX2b;;r 6݆[WSY'YG$ 2'axBx?x7W+/ʟ|Ƨ|z|[^^(+5Y|`&DTxڼ |T0~9w}Ν-d&&$a'Ĉ. P VZQv_;ݴԶn~b[۾U[߶?[!s?ܙ$$}{Ͼ>y<#6q٠$rPF5m'IC\տiiN|RsuqHH&\1l2ɠTJ~$>\Ѩw$O(W9w yw<, AtG89jYPu4GvXpC Nd- cLe xK7΂Vz~3BPbQټbxpͻJ}Ҁ8ì yh6.@CG͞ x HBi G=cW]u ȏcW݈VF0$@Xͧhō):/G#tvy8us 9."/Yp3E#јpXg.B`DrN!Leemr2| d6ڮ%U (f`V t'sf7^;--نodϯ;[O( .?mڴ="gV>zYg3[?%LFwOhn1[qC§ ?vP:䡔x!4ժrpxU oj]ƿ*>yaAQ U(f#J&V t(NW u57.M~;UUMYgzSSΈ~>zQ>_OԭЫG#L-vL jPW;Fh'8y5[{ԟk^yL|H+ia@U BR=]Y~-9tЭ[>O߽aN&›7|q;]|xs3/xG-M35%zPs+˝]]t*ڌ:pu"2/-4>c?[}GlgsQon4FʩSLX$BUC9^ V ?5$IԇR'Y[<xz>n=fjи;K<R*Haud1@ 'ag䇓plLXSkU7Z%a=qQ7W>zj7 0'}_TQ'0 p.>Č0aX 8,8̐ĆV^HWroG(~,wD>K|x+OEDžV$6Mecw9$=dW꯴P\PT Cc}R4|F/Bp6fY{i is 2<:*a^d)a h0 1Xz2| :P=$OV͵>^Y{?rKKH[#&g3.K,zkA?]vgk;4ųwW~Wh>`mZyɾc۷d&k~SӁNj)wGO}]47]X!9x 55[W/EAcA?# \.DdO7-=P5*sӠ2&[o5n ^+$.Z!toL.DL^Cnn l͹Yo&c055iifi[Z/1 =Չ ۓ:͇(tr3K57?"q,:n:ilGCA*k{QVwJ`ZPl~p6 )l$aX'_Q4yYpGDWw|U֯aؾbvq8Ih!,U~]h!P4s)<+kĥqDRf6Iv?wz<Z s&X":gMˬxFZ}l.k|niPvO6#h%+)>rйo6Fc˖-pǢ^y?S3iLZ7wC,}q)D1G5מX1ί)u y3_]l(lk5u!Ĉ| ;¹ĭ9V U }/R8ndiId$%;py+|Fy.~4p4BP)yS>3bgÙqͥtRx2$'{#w3[{l:WȟEohglQ0" *rl"3JGhz (A7~5H0O@:ZʸR]&h@HBɏ g?z=Bо C& ?֚M8jS%v ڢ*N>AtWn `zXyw;XPi sչVt y?ͺzF]~A~}y/ϋ^d̈́}eP%s , o޵yU2lV><s\8LJSf:j̊þilF3F< "PvUm#r_a2pRِ\z,^:O&GiR<ЦisNTUFy.f$qFv>ND 4;O@):%@=B:[DOKI#Ő+ѕ#d.uF:UgQPw#Ω7 =K;C!ɏG;G2X=ވOX$5H cZ'F,9 6tǿIpnZLow,%:]N/丈+S$C#pGa{.AVDI4H'NH< Ў}CĦKwOv\/Xa( Ň-I_~۽57mN]ޓ~9{fglR9M ʼ!}"۾|ݺ|e>sMޖ-xZ ެ3- v,?rzGzdOti)OtsP/[p,KISw PiQjwγ,>MӽHQ_m]>'3z\{]v B3ll6m훕='6jF\DZ!bUZo.ׯ_zNa$ f.j7atCz[0At]B=`SñB@a[n(/Lv3r Sb8#r-kAfGŋ=8cz,|OEDi5 :b3#ѤHuX((G τ0~"ϻܣ`pCM|".sxsYĘd/?1o!m?G:`ޒ`5odc~tlJ8۝$3% ׇ0Շru ?ݬO%.I%SLD`ը$\)Y4,GInʒ:̇/[GIm>c,w)fN!$&=\) ];s'?a=cGJECȠ\L^Q@o1+?`=YSN'MCx9T:AA@K.j :IbfS]bnѣqaQt^k2(ItH9E+ϵБI&$U@V{K m2o9G! "&R,K0xlx8|$8fN p\0I'J=nh@ ڼ5y| + )ۑ#p&};6ɐ2h遲#4ӑ#hhϱkr\ (czM@ zZՃA4=\wŜh4H9W@ScdJ*1\Ns{&rA>>>PsB{JĢ wB3zON pœչ|t ѿs uzbxyWTR%(`mf ;BNw;y/|RK[⿠"tf\H TJ/S`i"l%p&Fvl=usY}BhݒG\oJiv00$b5>Au_V^[ :bqRNG/il?Z#d(F5!u}7~U.BQطŕgwr:MQ:Rn HbJHvIA|i]n{gym]5VzS[  u.js`*Z,S1 cjn#6[.>me3:b.@T`[Ԡ<Ѵ.9t'Sݭ̨Lısj0#?yԥϕF^Wz:cҀ+ST~Yi!%ӰDa>gfc+|͙WL>)HiNI s F28vI@> h>^zelmU<a<(hvlSdOW)v*IypbyM ~Yo(.܀q6EǗ?I5,Q&+Vj;N=IMbkf*5/j (6A7am0ų(P =Yx5w0¢  07FZ:xU $4F>!7JTS@29q 4Ѽ6vJܥJ4~ >::raS#~9`a Je89|yW7kvV#e*|vYP![0 ղ^댥Z"PɒS?+UGV=ouL6}:ؐj돷^"`9ªCK_,fy<`63Lnֺ{<0^>ɣ $W<<q¾htAt$P(էы*<*mE("mT2H11# ꯡh*wFp. P? (ΥaՠGU/u".Px+uw.!mmp|Ys YbHouz/uG^ ƜZKܮQ켼Z+*]t{јn7_Wi{,kկP-IϢw,}E .,C*Z3Kp־1Y 87aC ]u!hX  ݤ%TyyP& eKuah48>1-q I4ӇyDMmg*pJ{# &JZo{i>tK_ۂ ԢA[R>_ џT_ejOBCdٯVbJLe?^( UBpe|%`v8av`[a<r/Y%CA+LN' Vkn ڕ̜ KA,}IvpS yN&4j}0bOL$\dH-}_Xmf9xoѳGtj߽|fB_ؿҎN ZWE0i~~§Z/'c^І"J2Ie91QTMޮc*Sc 9SNX^g:^$}Ջ_>|>䐱=>_KWd/=3 1O7`#T;=<7"7UXȹuE4KeHcv+"֯ݳU"P>jBoXlӍS.i47s{Wg5_|Cu^YeIj\ϭ/R%T<ȌDckpQrLtBn1nMß@s>M_};W8j75؏~-qm:U}_9VT2+mz+4+r~IT[pL\l bMog]T삶8`ǯ-\]Z y㖿1C'/yjA7G+('tZ'ϾvKfգ7ifpݾ| 'yAF-?if6`fi$wIulYϓܖ-Jc-7zYkh&o5} =/ГF zl/?o:yvh˖Mʖ[8 si?'PW< iCN^o.]ݧV)/3$üq亴A䊫ƏC||?U~ bATK6Z@Tip'>Q7XD=H6V&:iry˘W[6km5<Ήs\ƒj:75ϡq:+yUapl"Æ) `=ʶ_|{-zfzs]fMe|#zJILW`E:`?AO颤9T4Z3GYPs^Oѕ5S1[ `Եۄ ChOG;]_aK'7tLͱ=f ;~й~O4g @:dx^m@bvMֆ[ /tmXxSiO{vko*,i7]\g&EL*~Mh1Qj^rLrVF2\#m+*["@k OYWcDEm n[5čsCX kk˶<"Q4^ӯTZ$wN̷.eUy{8$YO\] f͞ _™XۣZ|ʔG 73 4$qΰKr- 'suI^¨t: G&C9~o9v <gކl~Ƴ^̿U>me%7o%\ 7.ykgeDGeT).q,pJ2O*edc$X*ФJ^@ ,x2"1 ,0^&g]_1׷'R4 $l-5<ڠ1C[ R2rpC9}|:t9w$䏒kVt܉zj֬Tr쑧=mC_q?=4ߛJ1Ryz2%hFdrԞ ;0`wT%lB€z7ECu0{d3ɵ譨`NT;ڋiv}+'Ŭ\EEBjWx&BY%, 2Cd)hd G"GmK)NJRQrJ `'AtT,b=QK0[ ,A%* ruXWh}*nӻ4P~H:dr: Kl]5h<'2շ)=mkDi]fz\lV:M4l0{ͤ,\d/mD J Dh FAD 6#611</2RzTѓ9gןj}z@31 Xksc "v;jF<ܤBm# ift;t-Z,+&YE݈ȉ>ˌ5QK*]yPB}t#}海xy9-(WS44bz2c^v*v2 GYb)k|,GӤL` ]ɠ3xKg1kZ\X3]z϶<|opՄW,z;ء 8,0`c^9Us)S)uuWrogǿ:{QarjA .1X`4( K^ 1]1b`'y,TC; &sտ"~]J'jVZ${ XIeɉ7XjDRL ׮I'%OBm 9p~q}.YvADH7o8v}rJ(RG1dUN,w64~pTdoFUECF#3ZS"j6 eu#C G8y硧MZ.NEѡsU7 ?܆(/m6ե:ZQ%]~a~;tZ v\{,J BA2-56+].aVKLgrA8 X` 5Wknr;n.Т|ƌ|h՟|N7Co>{ّiYMyYwW F.;߸~wZ>~B6>JܽlU_6D÷9^k?Gb|n )#kwj?Yх"1U=~; P5o1E='WK<Ƨټ.k?(-ENjks['eJ?^P:GX;cMg]AdU(X[7:ЉCejH,OUNTk{EMɆ7ήNf dO@7l :a?hJfE+f<GPQT6+8ŌCfk2%BCU.IHg@j]`.<gb65Z+kإVM){!۱;{d;ׄv/A"?Ͽ:Ҵl`[h knۯZ}Z#Ts}Ɍ"5a~`IO+Ms{O%X6]&ZZ[P+{=V{*c_FymXkЅ}Z66E5˲xs$t__D-¥4P ~\{gAd+h 2/)/b ^n>5ZZJ-1;Y@^N݇'y7M 5AeXpFߑmru3}@j$LWҨmr9E~gbJ PS-pb̸?bسELʇ̈́k<7puC}m'6SsUݱ?k_ܮ{ϱUK iͿ)ؑ|}o˓wRMk~owFOqP|w3ײ5OS}'̲̓g/cAg6=!t' }~)bT_|$;nhh{ޔ~1n2KXwuclEG5h0yh/H&GOW͏,C [>{ڭI,J >9>o@`KYrąD^v2N'}Ć gŃgMOuHwNq,^rLȁe{kٝ+M>,:Bu,U5\3F"EO=d_?b4n^2Q ߋ O5ʳ"C{Ќx&xbw9usσ+R_N\KhFOg&Aeވs=yS!nK6@?DS/ɹF3;&S'p\.Z" V {_vY;o z:  `/5wЂ=$k23}AgcvU'_P 2fU;2fSg@hi/N<헎j]09Zgz|R\oS]/vx(׀'eF eO`QXnIdw&쮒t 2 *MLJ!rE6zaIo>:\ :י>n霍sJ'ې mq~Acz1l'z~2NǑc?n_6Tr"cMIC >\Kя'Q}BhTE5ѕȢl֞ ƨ%_j*ڴ7mChC!:c]1MiMETqX3z^ YƷZ$})]l*2ÍXFv]<:wtɌ3Nwfj(eQ"1sH+j@)Ih,ɢ$.zB(v; _?U^dueb.BtG-@DDNJ|EHZ!@Ny*Ya m+ [䆷Xb Pcǒh~ņ.lQjque3i1(etDg!Qr>A,AʦYWUmg+ Mg,m|=CBmI Ʉh# !eJ% qS&%~Q7^ V mh݄x6`AD؊!p%FbD=du] 2x%$a$ <1*wB&(`G&B&@LV6 :ZV` P 0YyDx iiEtECM ,m 9̎+JL-s|$*~\|4 jl<4طNEN h,!ڵ![^W-96u*32TF*H;e64#^t;K1{ExM8biE}2+ZwFh.RкEM䘝pMfp˸5SN MRġ+ _`2?LR Ko[FG>hCmqͶYQ0%-Ko%B⍚!(\]YLi!җ-Zrκ mbe]{-{\]V8gdbQ2l<-wӴٵ}&Vң/)`Q>g}M~0*R{Z5ՓxmcwW;|6OEv{pَ_jՊ;|Pzԛ5x{__ ֏MT|ee;nXj<[g9 .8j䄚%Ү9%?o>v[1rQ: n:x3(؛ug=<{wϡMq-93QR 겚t|IbAK!)}SM?seTQoN}G}W}ϑ_uޮ]tOIY2G:m;$(q&nwfq 9:ٓL96o^mSAҤScfD2Az((YAG!Č;Kk% ]NϛmJ8e{cj~f;wسt$46=KRw%E~NmI,Y{jYh-xB/'|Î9{`/b#Iz#ǣim J/_:/Onnde{I1fS^m_<ϫxknP|K6 ޥ uf2^tU7}cd6 t?{ٞh]Vz UK֏zγod08Qx9YfyXGyAͪa ҮWɆ㋳- (+ǟ4k QFX7xv[vWثg펎mi6?u챶&sWYDNv$j@cqYєqsij{շm'V_cнޡ1b!UZ~?9?ص/n퀭:XΦG3ȘڝI]Sfn2}1`:ئ(ŲIpK6M62nZXͰmB /HvaZW:sAg-v nJfuMs$SS=Z[5Ηӵf6N^ui='kj;:ӗM,ktbWu]D$Gv7U"ƍ+!Js^:FH0)d4êGB ;*$X8[ӔB(ޜj@4*]%2e4 v'whL-̚;"Fw[dofV/BhjsO\©Kp~u <ߥ7tk|}MgǪ3g8Z|\,}ՆPKL:6427,GNW{uU|ы譓mՌɲ>%)jrj=nц̊ܮ2X4Kq\L 46`[DG̵]= +nu)f,P6lonòSͭ44_l_|JtiFo۶wulrn x%4%X3ķ?ݸ3þ:g3! 1YQzQQo-3:-?X>ykyngqfu8?_ol|W}=6F&)ݔe7DwWꨓX& =kТ/t}% 9lV2Ea&7ZqӝI٬7Og/H'~?t㷿?RHђ,CB k>_|].+`x o<ª[vjOxa!M(=?@dz5LL$Gf&"t%hJRJ6GbExb~Yzyd4z "7|a-z?R 4%QfAŖ݈(iOtBuhKW$5~.]uMm͝~cS/mۻ/5͋u؄E9ݻ{Eqg=+j.jƧ ?ዱ{;tw?>ޙm5I+;Փݩ,ElM! Øfӱh'&$P!$BK![3{E6y`Wݍ.ӣ8匛޻X߶}iK=*[ruΓ3dr-rd=e#bpJ2y3}O:b Ѱof\9[ecl~EB ywл{Xl[| lao⚉NV5̛m5ֈA ɯqMX D(qkdJIߣ]V]y媥-}nA!_۝}ꗯnZk_ڎ/!5.St-0Tc牫0:zm+H4bexT7J_ut#pm fμZy#C _ _: * ZPL @`(QJ`˄H3HZ).e'z 1LS8n?(;&$Q,3W1>$L0ye&Hg0LsGƨQTK#Oq:{I=;2tvc=nا?J͏A4H>5FϞOM9+̉0sʑ&^3 IXV|sՆ5M[[Lp%9~lDKU l_] șP>v; .埝G*yQ4>}üV6@EV6N(h8dM/b4f3ϨqT> T1"k5@kt H5+a>PAhrqí$Ez$>/Cz%hd뮃> +>?/g;MuץsI fgQ(g̱ZYˈM\]21 $AOnG'o~`]pV+굺EUVFk~v+yjtZ` MWcGn03gNmP/ji͚lJ4FԳY`?B)Њ؅W Wx(KX薑"D{O#ݥ$f8Lm&L:PBzR9cK})RV# X'>域&|PVcӊވެ\ITLT)&IxfBͯD6XdHL&#`,^)2؟Z("fj9 #>Qc[elYd=]&tń+40cm\lmMSV,{?5y [6|փݭGǖ1DenDAV8icP+ܥ+)8h5Au: 6I Is"7gat}$_8 p4b?>n&!z춡 4u' Li(&+?tu&1R {߹%ƺW,[zzZV[^i-+nM_\T?w"׹ݧX\W.l9БݖbFNҋxJ0BI>@}NH~{8*!Dm6laJ |A'17ۻP)ⴿ٬Ň֡eDJЇg]8A:hh 1ֵ#lEMevU ȾQlb"YW(< 2"38L%e(H[@$^۷FHޒ=SK>Ԧ8Ȩ(F'g0 eÄ"ț&^ӣ[1K$=}SSćbH9DOz>F}ʃ ax.K|6TRd i6ӟ]:7Lɇ)Q,9#J'g15h-P KG#޴g+ǯh6qdVh#;ob^Qf0%eGYG[#A'K{ 4::7P7bP&T00 {K']8b.+ҁ18p{3F#`κwʥq4u~-1'/eŠ ~gGz>Ϯ?]Ũ挷L#͜rT.}"/MI,3 u#ST>P[cs3JqSrrmoQ< xQNZqc_.ʁ 6a<K)QGRr77P߀sޝdos3z|ON===:Is*vhYnqGzd[ŝ]׵hUK~z㑉=4Ip0&20 ][x 14shy> FǶ?ue""3F:4Z"`0~|P3SX:(C7 &Ӡ(SF{s nqx.QVY*ȲY9'0n d(-̭% !Y)$H+~^ʍF%Q|:X`1يWVs#qm:̲֕nm%&~(!uw @3su n+] `TKXjEx&0_]FdH7)h/̄21YoD -Z %|~eNydOpޢW U/7.1WsbY;МE[Κ̙vك#+;~ ʸS2Z93&^CB4ɹDV~2Hb.u2ja bott•ͱ嗋X6T;!$Jp BZ!,Wqx*[nKΰ2Et,mO 0hNQ1:)W5aOH.J:CLA7FcRh`?4!|s~P9ժK@5!id_/. Z^לw˫7VБ2y<6Jmt!EN0j/,QX5$-!JdFQet)Oa01x*_"UE>\uz~.9y~9Rfьp =px6 $]uz= xո||M=5VNƯ\7GckWV:V@7*=FBQh!pt1]#ێ<~1(7v$mƑ3oڵ^g*')G哎,JQPf;K@$b8I"H5fZqkRԆ66vtGRThJ4͠}D;%73]9TÀo@ƾ`O'ͥJl~`a)%y~L*K50ɋ &!M :xe `U|)n9z*87DdT1<8rA7/j7İY7< 7j5p]02/fYӣ|Ʊ̵R,qΊ>$Q~S9u^[YVu&:>OP/a0/\@VprG++*҂sd%*x<&e6eo<gw̧ .xkʁ$š)83Zl]2?U/Y s9Ɩ75lyX5zg1Q+P |!_Ԍq1p3AʄjXkȄ:hQxVYWUgi}{-e Á@=0:~ (׼'Հe_Yek驘<3 tsE&*xɜ[U`Q*%iG=MŘ$။YqtHGIYCfIJGޓ*'#ҷG-H~ =';Ts)CHqJԾ#GA=j,v0[5=yySs` |kpXNȾx ϓϮs$4hVڑȾYk(W M}GވR爪;% ҉of}e!ۀKl1,2?$Ku|IW3Ewo|U0yiя^t.'qk=@bBxhQcGE )]6ZM&s?11T\ގ :$ "g'f)G9M!$u| c ÛF:ƣm@q,Z)ڋND T:Z judki`J1v'/Xo Zt+^)eR ڵǷ ?X4ͫZ3}$[`/ոn%'G5b,: z%{'|UzUOfx4K'=)L/xXZUe9oޡZ+k "k*Q/:x(MU,|u"Q =)|BoW+χɷC5RzR| W DȰQgʫ$@nхn H3 1TF?'0AċIah"Doxi6m/pVmT&F?Xӏ+OWU4xʻ&Ww"KYt_PS@YFhx{Eh e?Q<UyjY7-HƲmn @-G,.mMۗ ʂF^Je\p8'7;7~ݱڨR@A`>&c4hSAkej(KvYDZǷm2w9>߲kjh 1Z؇uenOˣH W Fy\rt)5҆%뉴C z8C(dvؔx'pDDi !SL!^Z}Zkѡ =Ig0ƬO'KI;iړIs9,10f?\oK5󔋊bKkWED0( 不c& K}b>=UVZ#_KF !(~'`Xyh߿UooZh4(TUQӯ\X/PNyZb 3حLfM4$DA QF2v"ʽr]liY Cmˇ20~mPhN(~4 cA4n 1m 0ҋiùUuzxhp[EhgW`vÔ_dJa*='zi|Rrhyh-ĕCYTKhF|JQ4N=T!9rQDŽTA $R B+z.֒ cJ @1HlRC2$gP}>)^"!<+UZRRiFR^f)0|4 LjS8R(ɓ@(' õ^ߊ8eosVP9"}I̍٭;@*Sfps]}/x`>0 f7KǡGJɥ7.#XN_bK ۔`RtͅK{O`Zג3,Aq +HrC@۵K-"BeE8i9OdͰ|4׼\Vg"3" AL ,A%2nEg{5k3d2FKiN&=ov8`5h`e2Xd͠!F%^֟OP;FgȆN oG}!CQIAHoNx4baS7MׅmN+\#ܸmܺgέ= Sŗ7֪LF߽9r]9yQ,1Y31\4vUL&_{eSDtbʆ6q0LF;`0_tfGLN_|x54= ⰌA$Il׷r`ޔP6`H?P_ =YXZ` 6Oi ʃᑽo)n6{H~d\&{>{=f/JON3%.r\i1NUړ]xI,PvqټjE0G2'y!*[-/ Ê3FEJ#"s0J#{GH)Kҙ~lҩ1QN<Z[VO>3}61wgL%pz4 j5 -YB%h! L˶zzrfOZo0f){O jiZKù1{4_Q)Xix]@uaܸ)^Háx5 x$9Iv$\!EvNPdW<&)Ows])^( i<Uk'O*k @<;p}>`pޡ`(.ˡq?"T"A .0 ۾vrΓT g}϶Ia2ykL:ky[@^%Ic[ݱ9޺95&g Y zf8`M:иfjL:WSs'9G̯ORWd#G+2af޺1ZbdAo#a%fcC!Xk`"0ct38tJ < 37aR7&..6߾pN3XR NZDgkTQh֙AwA[!00‚ BsP;RՂZc5z2XKpj$0,SxE}of!X`daЀH_jAbufԂ:BEDRC`Z#ܔj!qIVa RR1 &K=fv^5bmֹuEVKZb҅ˤϤ/X4+.+P:?cz$:Sik-VWtG|_5 E"L'+*4Oc:kyY r3"M( .lr#Nj#V6F#T*qbJsRY_(,j$W3,$> j}h %*ju9uYcdBY$"CZ2//zG@O:L yqjC<`p+<#b 8=~%d!03K/[ <] t 1pXmV,^\5!fV9Kа~ &ME \4,j|.|qމMIzعՆ@aLa`RG01)Pf-ֆ%\nP6Pe ;._%BJ{GeK]{uq\}DS2iYH`a\jgoMO6pV+4N ҌA$?kf=̑ր#Ky}(1W)GN^APf֌R>kqZ4ii/KWGؾ,wH BkiZ؇ +4ju b6VsZbs%ޗO,WLUA=O?' =ZTJ~:[fΝxY[w.Tg[<Ǿ} ^_aYY}sٷ}F1$Dwj [/x MGcʿof^6w+[.E>G# ^Og y{ {,; Ḝ [ADD$mHNHIh4$*'r 3 昈oVm %]_lN3/]#pBp/7~[tQ_Y Ox80>dLO;糕aozjթ|%]GNPv[ ں=9ŝɼ~se$U_5>g_Ta26,E8_=]Wht \uڗw>2Yva!0mi%Rg tP$}w$͊u` FF@8p0r[itr0FSR*Baj5X:B=X>/kY]R:i'}njso[0*[ T_$v3@Kحae`[QR<4Zkp|EtH(g4͇ ~NwklWx82j{\:2yK:Oc)\@ jG1SY}ؖ0(Ok-nԂ=}` ̿ c7>X]eVh8}]uo#WC èV,w('PͥI4Oir j|3.M.BXi 5Ph.SD,4)\QӠʯj/&ԞA%,0HX%%SdHeb8n ͻ0YdĖٳ#7xGU\;eYmX>q@Yx]/z<^aсknobI#|`vL܍֗&e} v<+S0#e J/\rxvBzrX'}6 H31-Vv7S,DR ~eʳܹeG؂da"5=ӱh1v<2>8ci_zc9ٴNY8*&?S;L"|6ing쬰"W7kzsa͔R}*QW wMzkZZ)ۥ5fbɱfGt,ꩽ~`:)˅eo;uіI;4?cI"T%3&w6G+ܚ`%J:c35x.^|Ny羉/?lW|mXU}$ u/ Xx؅JR#LW3uӲf8voJgP&+Ԇ%&/0Nscqь>wa`Y0HogrcGpڂg<=#kkj#z뒍`F:FSXޫth6he8J׫Ur[.=>oEv':3g9$z@XdbEז\_tI_mJE\ E#py`i@=`HtfcĔC!J젴!) d)vp%֛63Ȥ..FlFbaHџQ`= sQ@.@ދ뢋 W5F )}E\^J:^|ErY\`U]IręDv=03 I %yS=\92://[oj D"^artAѲ,\d61F 0lzHZ)--gq4hm6{.%fh@m4P&ĝ6ĮXƌo-'%vZr;sy62&} ƣyJz`KVSj1t<%$(QNBm6h5&[^rN1^h}ބ΂ZN'^GgMo){(P*5x )x8*Xj\u${i>ypҲbO\u)fe&V&lW1}:328_\=M\\uچZc?l[N%Smxد^'㿏? ,o^[ #/Ų9m ΄0!ѥ~50($|A:A.iz_3[F]ڮlHG^ pU;4]5eY6u ,Z2 @,?^ilUBtdU{RK2 4HrFi#'w:U¸!#[ߢB8 d`쟎zH0{JMnv%xPT:RKE i LsLOo10/4-QUcr.y|>{_6 !eEwQ7 << jfXV'6F*K*#F '0AM|Á=*`+ړP1e+ZXB6@!2sI5Ͳ_]H=?z1.:\mRdm}N[xQD b8sny~su :-gz:Īalj{tm4T]u8K87^WIց5em0+ @~)=6Ӂ ZA =T]޾2j]NˆS-CtPtX-VR4FO-%&y*)k/ *lvBQmF+V6"|>>zj6u&D4!A'hx$f&HgÉB^E(jjhQb o6b*-}. =:3Gu== }=u`/u4qm9`v_8޹4|7ꯤp mU{{>Ld&3 B-fǂRT+nIJuq - |7 ٿ>¼w+r=N+>A/Eɻv@jU8;Tg'ȁ (5K~v^爄jph\J??XjzwlX|ލÜzO@;i1O$YtHC1UOk0q}>H}w; 3iܗ~OO\S߆ڥ#3Ϧ~L)$V&_ b}($ά$kR3(8 aPRD8ˤD(O.[9) `0ӎ0H"*@,VMF֏Ĺd'}~$s?}pzXe.6sm3ݜK-)TALӣaYYb,zl:q6 'jGD O  |9|)u_x6(R $2 f-Ul;AUU L*4To{!;pCxYkoJ8 Wk4OVٍoUC.!LPx(G3-~ Ja:MxXI$zɣk@_޹䩍LƱ'7z$8eytjG6y،zV*0 U@'{lx$(L0dSDHIXFb xv0s**VY]$ѣcMX]4ozU?0H=Wi %+*`E#XTUiIQ]|1ܗ:E pcMHoB "_Ƒqk]iӔ>{q| ) ~DSNt;f 5%hC vDK/U1Gy-BUy5y]<"'۽ Md/t\-]9v|-A<]Ivd;?LgW[B9ټ}/iɬvET6\kɋ%.<D_-rXZQ!@INX޽tZ>bhp+wSG;/UûGK: ֮7:KKږ.^Ր9.!OM1ćӇxO_%!fqQ<@Gz_ׁ!g>ڻE–$1=| 99p~ew9PVo˳++ ܢ;ы|OeN {Ik~npl2S5g2ܧG}tR<@1g5Ec:60<`%7|RC$h9!0,x-A2!z KFqE /^b@Ht bi'F~c9gv \j4Xc]zϣ6?s,Qy)k9O!١&@Ω"|m-"Im:jsq4o_9uV&Ma5(>wg̗ \X:XP}D%GEq 遰Tm$yrԖ> JDX"/$Ԭ%/a6qUR& &բQX\K.Rv D8PI2 Q3i@5^vٵ9  V8BӇ%L+y=+Rے@'H華rJLZujTa28x"؅d:N$w /HrD$*#l8*y'h pCu`23Ӭ4Ιe}>.ձ9?e *\8J%`^D:%<[ŮMa WMR2/QJTk{!׺̪J&ٻZ6*S04f6?]FVojԲj]㴅P3oj$,r\{cLx2Ytf,6WrX\f Qw+l;Wʹ6 2uoѧJۇMJ?W4tD(bPE03,yrKZ#WZRUP$#GpYY[gvu-5T7?k}[=uKdȥc?`FCe4dϳpUY TP-l"j 1bre-PJnV( /bo 0Cd;=a!Xp F`VD[TÆaQ]Gk^=~9VK\x^[ݽ]\Gc˔ggݴT=.ZƵegYz%hC3؝QŲѫ[ݻ]5Ǝ5ti>lQ7IěČc&0SDo7m/MT.n胃\?ZTBf^̇-5Vʌ| nYt/THN'A c(M0RGF8%Ed-;Z =;u?9gNӽ-;Su׍)[:0PtNÏTrq5ʢ&4{XV13{~gp߄~ L2~%wyсL$DYyuK°; 2)H<.I%sވb\'a%a3j@} R_ kSF ~Mt%LZvS sbf0;-#L";~Nvq\S3J9 3oN&h?E$~ktu?/_ݍO֜r=|'مv`Onz?]w9Oζ-*ؽ}%Q֕?w5|^A&H$zgq* t`TKFzWu9 _Uץm0r\r\fjL\b~=CԱ4Z|[e{hM.ǡ{Yִgʶ۫ $~M"V6?;Y:%=v?̛t;G_ru  |CnG͑7&<"PD Mcl TL$a2ϤSi;Usj 1aO0}!SBZ-H*|,SF*=˨Dsm|%29x>xۋU1~=৤ />@|܄"bTcB>s| Xٝ=l_׃>Z}7zR_=V9k;X}\=ry&ֈ$ex[=3da "h]za)x'+yb§< lC7@)1 _}PӨGZ5s렼aؘweoV]ZDyp %gw֡#OwLF_2'yܸ6]w0X[,>DO,Dr0'ad|!x\QH{^Km>Rvn63Wþ =ac;0-k} 2~ųsםyl#~1\ ϡ ^>~cB7=7IȠ|cB "_zW0JOPѤ]A:+!]o`K&DA ։Cn;d3:}cR3|,'b0AF<3N͹8z^Yg/~9]m3I*`MGjb'{|<#F>>Hpbɓlb#BIHeS<9r4vesf NRAQar=IT&#咸]7l&mmjd2嘇o/,{Ҟ,>Yp)B}&$/p37i0yy5KUP&m&Ilgi?9Aߏ#@XYQK#"hG P/(bOerL8!hlOn[قtA{c!i0 \!yX9LՃI |;4ՀSt/4Gځji]/d;|ߠ68;}_?ܼg\k7;Vͷ |n;˭^7dyBL2,ǘ!uV8e6ԳNaBΖ*Y.+&B f+`:C C1+ >Z: 3pAN7B_@{]@cOn9+,^ aF1Ә̍nm=FT^%6dQ܌mhݏAoMXN,(Ƴ=k> wZiGp #(D Ĉh^Ē\ 4i;| {L:PJ.S@%3lR%JU@ F#TCP*XdR`?l)drd*U&JىjhI`#d ZY% l0(8R4f4J*S+_h4#P5FtZkh͚?v=HP.SH5f_o9EJW TjyocI+yVz LP2eޒT(A~R}߫rV&Dp!QR{A$ߚL߂2*#\V|Bv! VB"?Tzj ^OݴnW-r/:cO*L3N'TCv+qYǡ:nG_`ѾQ3ꀨq`T= eSRӀ\cg|dk)Yܩ8b^3# >7 $ 7}cu{q{|>Ӌ%T$E?֘ H##;glήT]؎U%Uh,?+P=ݚS63KX'Hd/C6=ں0-R%Eɾgۏ!ϛ`(*ygc#`:@-s0M>$Q $?}d1p|  5MO7{Sh\r?koLt6r‘6G5hI&NVL3`M냩bD#jC"YKVBE3#MΉ)TLqaFmhu3fx9qX}< h0)_jN {hR{&N3]\bi57'N2@XzS1]OG8pOk5 H"zdfQO@&M !@.O0foz*b1 ;+&+R??ELb %_R"`O>)eq.Z J^ͪ7B_J πc$,z_"Z,@s;f;~x5|SkpgA[vecafV^{ۏ|L՗eXfl/b}{=P[z@zB_yߗC@Pzn29{؎KZ/󚄑c.J9R0]Od зьy6ΘvExu+'^xw` Akn@z{4zz(-?o>G=䓓>"FԇYԇ*Z7ҏo*eո_v}<9J6;g4 >|mM+.{8 {f0/MT[1e=X߸wݕDKK,wDmKjs%MSⶦҜuCW={vg@=,w/Xkn[کZ.Z:HLv큈I,jԗyLBP@"XIL&>zC>3N}< f#|jmH#g9tu`Z*;HGTUIі4?+K/^dJN!(r(3 lbfN/9q?PF=h; vL>B2yO`yMMμ6nڿqN=>ODh" 5_ȝlj&Fj‘dҀċz"ԢO}pM:$2J 95ZV  d2 y9;`p{#MC\fvQZE 9N`?DBk+y#Ej#![n^:Õa+%eFpq'x=:2[乍6nպ#+u:ᭋ5͚i0J3hה 3m$f3u> D *ĂQxgb%!j;&ݒc__Ob⣨w+$HZtf! 'Ɯ{>,#u4;JM+u}lZ7LPiGaŽC՟y+][8Pʮ-!ŃyN+uG}W$7)}t'Kh?z嗟T|"dVE{s(YQy򸧤9k!$u@9&Ж=&mb˝oowLIl-obL}%%Jݏf=)p^5YR zp}c.p46ZL b2ˈfcH>1ODPɁLǔ QzD94O&ɇ+Tx$ bOojiF*Ƭ, f- 74lutJv^e*b.N. ֠W E"u5`QKDhX]CfkԼۚ+,nuTGlηX lchu`<="#/w0 x:Lqtsxy_L$@F@NYxj1Dr|KF}(J&jEc^tO`qND\lioq#]֭*vp(o1ЎAk>Y_=dtOO~qrpU )SSwR豕[Kچg̙NlrkJyNֆ,`ȝe1FmF/trF\}pdgB Wt+S8(y9ZeɃ]Y@u՘}j ̄9O!]!w"(At|geP LDF"n#1G!bN]Xl2ScXihU<0xMƆp`n=kMS&S\̒Lוg^!M|mK~;stu|t1lT.v_L܃A}z$(i%!V7X' ["5]P%[D,d?QH1-PK*SC[WDn$,26䗙t&`R|qdB 9߱e#j4Ru4v_QF!,\9~h83xeZsjSQ0Z#J`,3Mn[ٜU2Uo6 /j@8B*bY 󁡏P{x(O8ȑ@gHH A#+tNK)V3lddhؑG(S!*F?CwY|{a]>|(=_" ]yy?'oDá(s8rW&nA6 ][>KU'} \n]"9ƕKy+B$0@(GrjBʿջU20ܸ8N) hJn"IA9*rDx8sڣQ&_g9+PKpm>8ϒl)kJϺpgpB_{mdZΒx!b: Fhbv#à]a#&y\d(Ëוl}4/\ݛ[ &U5Zp(?@Ίk<NJe|՚(?l͛Sv WGDm6|ɜrl6_^j+ ֤ d.N.7'7mך BrR6wD!D9i^jcRjK0rUU&3\\/d=n4v5=9{F8E.Po[`_/nfܸ5A|dC3jĦI~wL9ekV\ʬO1|}zf0vLXZž䋑3{aޅ{fq:Q7nҸnݽ'NHTsl\֜8MvJC&? OwMd6$8{x&htLg'sB|g!=q=n]?́n!Eݪ4?>dyܬ'7V?yh,9*n)Fsư_tܨo rԸK/}d=j$Y \t zd}jZl#]]z# .eO ~Qǔcf`aE3WWBp4#%70M`190.?Ci*Vq]EX4#d,-؟+7Tlw(t CxF`Y)wb3rJ>A&VE\.s&2j zҩ~H&r\.D lr>i|x%2u t;wE hr3a7@2&)tѶmǷEu(8WNbۃQ\ρ`\+nR k.Fcϕ///Kc"Ni^24#"K"ú!Oȧ+'x&*'0G Oѥ2\K&QzQc眅t.}f'Ebx ꫁@Β'hP! 0o]];y8spClD]H:Zx!4W\`;31e@t񘲉SqKx<]O:]pKz7q3;w ?q} wf{GL9d֬!&̄3Z'-%8WQ]:Cޛ@< } 3c@qL0gGKr$38~;Ы@|wYS 3V+3R45%Dw$Q{ ㅈYBAr=< OQOgb,xe(~֧U"ձ-Z J^ke}р]}@|`Rg//+AIY,,cV6C^KMFd@N }UT69[cRM52ydBH %C?&90"931˨94r>«!Y#)I :Ԯ_$ϳ{p0>L_5Q OGcJ7=:p'1HSJg&0,J:N%ۺC*ŔzLLzkD9qP=U&f3*g&KZ1ŌJڂ&A(Žy_Jzu0is c3w[Ft#;l`좉9?g#Mz4'&^hb* IY1BRi#wῒ2s633>%eɞjS8Pt?Dgpzx>Wv`ie\UᲪ} Cm4kZBΫfcu ]_:M&de96qѐ>*Q}ΛW->Qyݵ#v-Bޑ/ز^{ǝCFؓMn]$޵yCױ&|AW{{„}Uz 1I61g#&bMVLT~/N$ q!pl㩅 0ɂ9j&j :Dl^8RUTAC;uC.s݃.`EhLҴxmܢƸ$k?>{ܒl.ve)>BoZ//4%_H^5k:'ke2oFS9##EVf/F]'PNAVB@b8M`]ϸCkuPO1#~b C{LOhY4VJTv+gI{[ H%FJ̎bY$E:TsApDʷ(yn/ v2gFzv%ˋ\U3SCl<@! e:QlL#4~mỳHER9 '`hyըiI.٩pKt_VZL= y|f|; 輥& +L.gfnaƈb/NWa]!M鲛/ai3GQኧ 0|uQh+8B l!IQJ( LI3EHu `Y%>.hwt(bs>_WYWjTrmΝpQ^xpMLe?sdױF&w.N̛Y-c?5> טiTfӕ 5Zۦ_ŗJg(KRlt,q_>\[Z\RĶKQR ^"w.@ZR]ei"6 >˨2·sz"{!>RL2Ye8U}DxxbT0Zm\T ??"wHG3HKKJ랏;q|yy]-;dH#ӛ=^N |\@k<fLG@u]dz/Ɖ240n(z^taJP?W_ˁǭ F|Tx?0C%f-HPkqC#>gH{-n2PN=(zu\ AQ5VM#ݐZR^!P{GY1}@qq\Ht$#BrVf{#­lMK};rv{vvk}چkdUy鐀 #9xܼ:YCj9EOmrav 9e2PN&~T;D+lY=E=eZx$eq2/}W2G u8Jaߘ?zS;GK&1S |w~BO|$ M*kΓWxs GDP|Ky 4 4"afB"@.!l Q쌨 ~SL^[i]&Kq9m4祑<-0ä/k\\x+jں0CJb N1$"063f3hfwqL]̼0uTb-#2rM1"u*K 1 ]?)3JXӛϥzOW@́͢;g蝇>qyY_`_y7ԇ V>)69R*Rd[Ь?(M،coܱ[V]frIJ`uqM% ŭ 6ڝFFrB >m˜# />Քns_51X5me˶_ږ]mXK‘O/2SykX*O':m+!'Hhg$~8a:Ewe,uh{EA,h) 9y,7顅L2**_{ߜR9˟(iΞ{yN>X'WP?8.0.k2g/k`ǬUC![޲쑻ї% eNk[**OФ@ *)t-:5{^{¡3* 1ń@10 _ $^KZ)JSrX S`͝+wݳ@{Nc.@X .ĝ$1d(W,,>~tqAWNc*it:0i)ٲGGes-@1@6 iȰ+?. ;agjBdlذXR< ]+++*VYt]Olqoyg_*!LT#ZzQ!qG9`ไ*O#?|lf{Qta gл|=ۇef[OnqPt`{c43fT\wG³lEFf ?(`3x;(2of-z"sƑ@IX4XuEBi]1..F"L8'& I|iwh3MqΐWT6-UrWʤ8"~XRx8#'tdʌ[7@I~V}Ãzw/wz^/jf۠ [rLy5v5mZMݖU}þSج/)xi8h0v5Ae.ʏBAgSSz?ZGL=h7,aiCFMI5;QK>ٙ8ng@tbK~d ǜxl:PГI$>7̜'W&_Y[6yknW:_-)GUEHz,T yIݖn4oI\<"6|W ?_=򯇺k׬(R„'zRjNV_)UyOf-V*^a_?Mui/tS/jзy[Ecw0'֓B'>"]4^]g(6'q-wm3UTPk>i֗uX ֯DCP4n5Ӊdmmp:6jM LO:Mq: lcu8]ngN Rrr@cŵf$[b14dz<v B4 ?xȟ~7n $a4 ;f+ٞ݅`IlaF33L.a61c&ff/ a02g"1K-5ٴ#!?q^c!,+I!=y'B(->h*sЅ$XS%X` (fr,f֓ fԳ: (.|$b( Xj@)%.eOs_EU==}$d2I$CGHpDpSnPR@AW]pAQBgI@d^zϰS#!QtE:PgqYcb .fm@ nѓ؅ =t+zg%TZZ2B_isc lvt,E#i{F+CN}҇m@'pgNJȞ OfDVo_f6,KQ57 p)CwdF|zL*F#AøTLF4k4a %:fȥa-< 0)ͧOkFHa ] 48 VT} )hU'J޼ c)2Ml4Nf' 0+ sOЗ7/@ҟ<̒s[gDcEy 't 8eg6/A3 w%{C}sن'֊M/)I GFo?lFFNny ǰ _|@ϸ hD0WQrxL?`|Y LP(|Sn=4 ~TۗS7>&Sh1`Lef@eCP=MEiEs E7xI600ى䆍ųdq@=7YaڡkOlN_]k~e^3kc:~Gywǎŭhݻwl weme#Cwf8McshNË14d}zc#f8IBh ȷ!GTOóix?>w7ܷ4{{U;>dF#Q&m[Dj&EA2)aJL Bg&UfY):f3sه1DGD,=A#wʏpBYLu~EAjl0`&[x@m}E,~JZ´_H;[O}hؿr,M*yf,ͬ2znb`\Dg]ŝ"? <.yT4M&a SZs2jV Ӻ = '7D/^7ִ<:͛F~*7-țM4/nzcK's>A,-1=SW%7z0$fK/a-1xx Y=ֲ3x% Ļ[naᖻn-W.斗rBPx,l#M sŭ/攗c>\#>J$tSQ3D/Lu g1c㏏Z,cA@AcZObQFC,rc!"DPUl, 567BdaҀQr#*U ޢJ*R*^PJVAS{vl߿r,;?}3|=]t{mn{z{Iוߐ1c a! Re pUjLKLLs&rR0H'ʛo^YC!1$lW̕,8cO?`ZV9&bM7L('wwl۠# k'=*9a6ݗS{\#kF^oa6w%u0;55 &[[@fȏmns'D IYq׭o]9q zilzE> /vgV#(>?sj?ߐIȓrcRTb,Y V$Hm RxEG/GaL0 E 3QQs#^ʩM 53dEUI^^tëZ:bɊOj,6OnMFIc/k*XXRnkH4C­Wau#EU>45tZySʓ,ZNT%N$qN8?30/A~j vIS'bMz'׊bx#Agb9BKK (M_`xYf6IvguiUę/A7@-eԦ.X_ւ #\$HL3ZFEG:#3Q|hM2C]]JOUe_!<`0ߎ 1՝N\\@ӧ=#ҥ.P1땊n~d=Έ=p_K*qGЖ/wk _y*~?uH=4/ec|M_6{_/OK߾EmTh9#V4t_jKηCkZMk.(ͥ}ބ+Mw3T Sc#TRA+4[v ܨ"}.XĠo4Ӝ#M)${*~7=JA'I66&iO]t`{7GH!DEwRClc_cZ`{cZmpg_v-߼~q'zd[^`ԍ|G6u&`'p޽nMYr DNnn=*zcLaJyؿ@9$-5gBƔkiE"D߉0LS3\t8~gM3'IDRM'^#29(ab F R8F3Ӿ.͋g<8c1Y՛/ #x`~}) &c䭍`ƍh/g-MrN3l(m(c%oL-3{>g #H=^6(NN=P2*22-՘ t!|ۀ[O)7yܞZ϶.N{z7D w=17$یGp&~~[S>8)q[O#P|eq:bt'O[Rlr׊j 11 % 13 qu"6%{ u9-rMhGznfz%oy~oFG%&:K<8msleqIԞf{ФDG_, ݯ~|I{gCKsЩ,)t=]8^!y11|:¯ϫ[qBaס~agKE3c2BnAGD%zvu  _GmtP zdXZ->WjîI@}t?nf[Z'>ѸcF[$@m Y` "- ~AG֥ bN>T^y;1 s~GQ;m/]#vV|qs&w S W_`aga|E^ێ>q8>\l}Y[\ ;"L]<-36#>~Hس'{Jv]U!/+u`*Z G\:+S(FN]~,y 3/&^n ^OTFD!ձ/Ll<4c0a@wPWyA,I ?VY4SF>LbrzV$I^G+J0J~ƺS0܌ *4  0X!fE Bf@sW OW]~\$#4Sn}O\omO^jm-f“m/:[9cZg4g7/6SJ`J|w(a,gOPEBnDWRHElfLQ?)>:m!"ĿEj#R t!hoAab#:Z S8nlۜDky[bLt0@}~WAMkz;t=1[HC\3C")1H$}@0Lsr8.@*#xW}Fk! Hn y9O:B r (DE@0mT\bWlE)uNAI"IrIiמRW0Į<Ĝ_bd#۠7n/1n<~St3P8D, ~}-NG i4z[ ,סz9#)"QT"~юxhY(|,u%: nC$D5:-wEQb Τ(oV2kܸl8Ajp et RI:I)Sl*KӪ7*B& id^UP)h,la$bY |RA~aƪd*r)a=O32!`{YxH^g`ZȒNipZ&U60daMRȥ* IVg㒒DU?g}6udڮl9 I)DK rս ^k"{IcY.#$gA>U)Hi[e|WX&`80rBc- jnv i!$@^RJY]'seRYW_|lSe@04hMT7t.AmFBy6 +u|/a% I}e*;GŅ 47Ym1 5kS%ɘzYj/a^Vbbf>d՛ ̜"23M:T- "#cQYA<0ݽnʆB̆`>.NQQvNw6D};s+]Dw>ٴP@ E]¼Hk`jg ]ާ8V13h7Yt,趶c`|O;=`6GjyW6Tw-"E^N?[(}'o8^ >{HQ )n̦L&b[(OGa>GS)'eVUhW^W"@*4WLP!*&9fW!XH5ӣLIe"z)*fyRR(".=i^F`(?bn<<p5㳶 hC|5#--ݻ-GhPlΘmCC6EM*!Hg7QG~irPmV\J6jN|$#DІy,]"N_xF8bāiaJ8B@B0$<uJ%FwU霱Z:M>ïp?;Yᕸ_FJjĢDlDp#LG׆o*>#HD ϒguKmѦt#"}'iuBbq^+pL{#?Cԍ0QSlaF18xP06!A|M!vZq%Emc&7f3W3#^#N-DR ;+Ӿf*# t>3O1i"vqѵ"qEAjb_:ǵNݩԢYXXf}^oJ,05eUN?39y3sr&?n[5$TWyT6xbwx"w@4\ (BݤXX$H'??Y*%Kk3$-<+ V*6 {l'w`eLjJ Jn5JUږk,޴ N4{6{e@ <ύ菏K= zvh%2_K/328^A?.- l{?>|hڃ߰Xl7^ |~ ef}]TaH6PFI= =N\߬VK;#cU.Qe͎~M*J[muN}Cw0){,N<dG, <3}v7ٽ? 'pw997:|bx{`4zj`Z =-]%ZzݐsCQmA4+˵_/vrS!Z'C(8sTC:-97:0jfzqDO&PgНިsG R[AC 6&=[7=)@8)څфŋ#{([AN/s4УSB^:oIEiI;T$M蝚Sd" .\WEܒD=dٛLDo+* ­Sڦ#@F); ]<04SI1F@[7?j!;wE,Vd< j'nQ**CjB?mq2eۥ5GjKGaC wNRp744}sWNC/' 'p):ɎYH̃LSvr{t׍gdc'+Qt(|TUI%,?E#CS|^UXW 7EqGdkwE;![Y$\喲*޿œc%x; =2CGm^ ZmyQm_E%չ.)|]0 gmK{?o[-~.ycڰ48Xtx+嵅 lRI&0$;+jFtzv˳39NZG-=wn@t?knggߣt{tW \ 1 tEkQ`C#sP誀 ko-$/LE+&\U҄PnuK}E<־)fk6)wcUEn5nk:WqFӜPa*okT%ޮ/,\=aDBc )θ ~ 8YX-$#F痳Kd 3iEŠ-- >(Nr"]&bĆݥ++#GV"dĂ|sPZX1N  7Ưi|2_+z~_6lʹlKJB3SΫwG}`l^¦ L|0n#ےӜ)ꉱ=_Ҷ>D2"r]ڕN@ $GgZgz"?"=hHϚbq}fyE &Lؐ&th sBdYޯH]խ d-Q ҷw՝x0“$Rt}͝B3o0 4֣ ^iDx~j WmUПTMT8 (Դ({1[UrP|(,*#qJ϶,UӇsjA^RuJXF J\fO)uȕ$)R. eLKCnh]<;䍨L&a&nlp>TtF*0J_9Wzp#$/?A8y5kx})hqr`]NlAtj#_o>/+;?k7$AH@޹p!eh/> ˣ(5Z/ =x~wH4 [;ѕMSWW,<w>;  wE`2v) KT@AueE=$i)Q,چ~rg7n|v#Qq\U@a)SG;~J@1E DrƊAM%cst_x/CǏ۸qI陎* f<~(*ёdVN}V#&0jv@"a;摅h 13*@Q$+Ժ~Ə|ީr ˒R{oR`6̥擋l>YsD/_~(xSG~6&҄t>O0nɏfF"?7$7UwSQ,E$Մ \<DSNVTw̶/ЩG6.O9^W O|xlQ[~ BC!4-w@ѿ8:w`09SL"aRC%u{7\T.P/+%f31>~ u(%9 /Z 笠BЧ1>S 8*\ytbK#נ[Oh=!a-yduT ]~t}߬ 6e!2 _tGx lSb', 5A  / Xp9`j[^wP(]($VFJ5D2X]of&TJKdxdδy'웓-;zj涛&)yEurl#@=E/#Ō;K~C^PЫԪo?v|Y0A`.?[Og|Ʒ:~sW@剧IOۯ4ז(?3\RFt<>=rfwWm!ƅ$AK:!@fRMr? tQbNy_: ~~߷qo,ρDx"4sd~GݽOUx'+"]w6~?n_G<f< }'`58bCO'{pֶ5x8_‚g\wgt͞?~s1]KN7#@cN6-% ҄dO=.Q\f&*Aѷgv;Xyv*{lAd"> S(WسJӜ&8OSWe5컱Ϭȃ_WL<@iH|Cݙ!Ra+O}w K03YU!BD]h@NfQtGx`^ FMW,fHh&~'E-DUv bǢ/&]MkHZh$oQRl,*IM5@5Zcw],KxO.>9i׭Ó$rҔLdF.+-K+*6J"%7kںl ]};e=+՞K9sנ3 Ė;8ßrٔjұl cwު J&̞޻y}>Ն&dQi(TԴ{ƨd4c>9P\%X K+x-Ԩy m諳% ^6qjfڥI:mJP58{9'eYɭ3 X;MWܱß2h|5W;|V8'5jUValVqzAΘ'OgRH《6uHR ~ecϔid<<>*=휂Lܐ{,XH?A L(R(Z\CF I~cG_, &Y6jQy9ɹ@cD&^thi͉ +wv\QLKq-zXю:ƄK).̅[,s u4=Va\UOLagN4ح}4ہjB3ѹm,hPV" WDUu6?UcX}=ibx{`΅ WęRNCQ;t/6/$ZǮ_|QngyZwe `DФh+E Fn藁XY`d.6΍f_4yStЩ9vNf&,zK}3xD"&(WHJ~=)'7\tSfLE, <ryԀCTgY}AЬ,$/jxjͳIwwQ.CEP]▮EbꢦQF$;3Z) VLFr@4Qe)NZksFNdIPreoeE0inRod,3~$Ӛ1Ż׹f}$#r\mK/L8ޖCmεDZְ.t0 ? '^ɿ~V/q?F/e:\*lDq\'&N)6dT R|-U˶ *3!wۍR@=cFnhL: p<{l.aNll,LUbgQ#%3X&>3Qvh=ZҔFK]jƪ w8XOxѽG,P+4fޡvYyDn}x~Yn/Eta;<\R  _кBDNwĵsn;F3]޺atR%KS} 'P:j-k8rB)3.Q|zsSۃ /HߠƐ>O-trJbdoOv[e @ #gTJHLx'r]dGN 0 arúf#|! `i{kYU/o͒Ge?_29aH! x9q%1MZUZo$4G@L6ݞqT~;tnv+I!ed/ZJ?(壏@)p .O9 8D*ಀCޢT KJ;LjzRAB(5'ưMJJQ: XJ#E-QS)!{=ÉQgH7c (7?9z//|lC+p,]e%җY}{:2  Ҿm3"#x"8#*"kmuM=['o[1>Aԇr1 2P#f 0N5EsDxpn|d uJƏ:bH"&1mēHddN%]# *OudD*b[b:Qx^ \Q6N +!^N T_fP },1Ar Y3ѕGEnY9|mM ;/?faڦ/۟%- `{ ̴#V'iEi!& y&"qๆ4ܙSLŸ;pXNlv9XGLI,Ľ"ʍB\,Ɂ$B,*s!\1oE Zr;ЧzpJ00D4%8\HlDSFC$?u0JKBT[гxzӂZx "qtT9xQ+{ձD7O-, l}nYP;ƃjt?f>xc`d```ado󕁛.ڭgddq9@5 xc`d``cw?p22ESsxڍTjAytƋ!!J(Yĥ1 %B̪3%.Lꩮ>*Cw5 yT@(&YB p?H߽|ڣ5.{W?M3nj+6ss#ǻ'?;照,0MRsݑ~(].߁bA~_4Hy_zS ;TC.;iL%~W%&cZ W? 'O}w99nojdmp2 6ѲϚkY&ו7Ն+ܥ홨WtN4W]9.@ m厚%Ӧ_l^.-|Cy' O+ȭzs^싮HYVK~ r9r{zπ A+6w/ oqE| 댁ǤŨc&[ J'\]ZZڧ u&i= II99;Pb8me 4R"I*ksTٖ4xZyk+mLfV'=8=>ޔOedmcosddZmQǎ5;,Tu EgfLiaiB6KJrsY <#aCI"v7+n+ cwg9PNW-ګbe\>}<O& %Ba}?z?gPZ )&P>``@IáCCaÈ2xYrQQ@&l+emʚ*lJ]5T孎T?"EctǼZ1D gNW7v2CINNI:x}BtrFـk7ςffm\$$yy}NS(l)%Ui oBkh.b/.Zy_y**Gy I~ɢ 4]6y{F{pUMʯɮ(]nweCx=z7t2 Fwno{X=^-譌[fӠ5. w(wl}}~bQ.n^= |qTy}_iifՃ¡9'ý0؏Z4ǀkeZV Vj3=?#lz|Ǒ9/^q_B^r_Fp#WWQߍcה׃.63>V;һf7tt}ɞIكSSiŴ#c aSxMAɟվLҗ/^xc`d``jgdPg& fB0xڍQ=KA}w( buXX$`pI.$w1bkiim/BXvo\Yv̛7xw5y  ǐqICY~+]c`16@¸zTS6E-b>`×2ʳ)=Qs9UQ:ʩc_Roo_>&,U`dVkM\T^FVd 8,xVBݙQ!j·&vynrMM \'c\r&-zďt~W;x}WGݪ03ӮNQI-if]@Et1]Bet9]AWUt5]Cut=@7Mt3B-ljSdG}C[iH.hLmjnꡩY (bZeZUN#(z4=Kt=Lt'Ew=t/GSz*=NϠgҳz.=O/ҋz)^NWҫz-^Oo7қz+Nwһz/O҇(}>NOҧ,}>O_/҃%2}J_7-6}Kߣ#1~J?/+5~K#L'M3+q \Os+<ó B/KR/+JkZFo[ŷ]6>iͤo⁧f5'9,e[gAFFbkIDDyeh,% s%.nM2LLZD*mF/R;+ATXБDedO22eNpvr~I>δ=qF;tJ[Uٺ<0HTog6t )DۥKK*WKDybׄCIQ%BfF^JnLDomeSfʳv<äcr 1׆$ h͊[+|8{rjdž:$%(-sQs$>e9 0wݎx &iHo#Ql!2ת65r#::n [c:F(&v5p۝$t7Z&Ph tlN-w.$@ s0D2iTD,InwpMBڰor|m:yat~vtaj$M'ψ$'WU[ӔdrRTHā}]_UAV`Yfzǝ]ġ6Vܸ7pڎ#pIw7JbSV3Mvv[W&OcbW"j қ/ycIأBO޴@]  c>A"T*Zz,5kBW״+,\o9,5 <66rK8\%yqn1yTBO²kr(#Wa j-7ΒQKqڞp˟ hT璳&G_}tK9ř%y˫4ٓ,Ϧ-hy誢WbEm¦y =M54j Pf3ת'6*z:Y hX((Q0_ZhBb =UW \*pUXj@ԀQ˶9pBV'#eKnYme5&c:Vc:V'gsj4@ HU    +@VCK@ 2 ,Ӱ0 4Xb]ԡ:tQ.E/ DQoѬzՄFX -bEE EFahXD/ bBsiHBCА$4$HT4Ġ! 1hAC b4Ġ! 1h/]D h@׀Qנ^z 5נ^ׁ@w 5x]w 5x]w 5x]wmaҵޫ B t @kAkAkAk@ hDH^aVZp@Ńj (d= Z-o [-o [jZ<VO)PKZ{ссKplugins/catch-web-tools/to-top/public/css/font-awesome/css/font-awesome.cssnu[/*! * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('../fonts/fontawesome-webfont.eot?v=4.5.0'); src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; } .fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* makes the font 33% larger relative to the icon container */ .fa-lg { font-size: 1.33333333em; line-height: 0.75em; vertical-align: -15%; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-fw { width: 1.28571429em; text-align: center; } .fa-ul { padding-left: 0; margin-left: 2.14285714em; list-style-type: none; } .fa-ul > li { position: relative; } .fa-li { position: absolute; left: -2.14285714em; width: 2.14285714em; top: 0.14285714em; text-align: center; } .fa-li.fa-lg { left: -1.85714286em; } .fa-border { padding: .2em .25em .15em; border: solid 0.08em #eeeeee; border-radius: .1em; } .fa-pull-left { float: left; } .fa-pull-right { float: right; } .fa.fa-pull-left { margin-right: .3em; } .fa.fa-pull-right { margin-left: .3em; } /* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } .fa.pull-left { margin-right: .3em; } .fa.pull-right { margin-left: .3em; } .fa-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .fa-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .fa-rotate-90 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } :root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical { filter: none; } .fa-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .fa-stack-1x, .fa-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .fa-stack-1x { line-height: inherit; } .fa-stack-2x { font-size: 2em; } .fa-inverse { color: #ffffff; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .fa-glass:before { content: "\f000"; } .fa-music:before { content: "\f001"; } .fa-search:before { content: "\f002"; } .fa-envelope-o:before { content: "\f003"; } .fa-heart:before { content: "\f004"; } .fa-star:before { content: "\f005"; } .fa-star-o:before { content: "\f006"; } .fa-user:before { content: "\f007"; } .fa-film:before { content: "\f008"; } .fa-th-large:before { content: "\f009"; } .fa-th:before { content: "\f00a"; } .fa-th-list:before { content: "\f00b"; } .fa-check:before { content: "\f00c"; } .fa-remove:before, .fa-close:before, .fa-times:before { content: "\f00d"; } .fa-search-plus:before { content: "\f00e"; } .fa-search-minus:before { content: "\f010"; } .fa-power-off:before { content: "\f011"; } .fa-signal:before { content: "\f012"; } .fa-gear:before, .fa-cog:before { content: "\f013"; } .fa-trash-o:before { content: "\f014"; } .fa-home:before { content: "\f015"; } .fa-file-o:before { content: "\f016"; } .fa-clock-o:before { content: "\f017"; } .fa-road:before { content: "\f018"; } .fa-download:before { content: "\f019"; } .fa-arrow-circle-o-down:before { content: "\f01a"; } .fa-arrow-circle-o-up:before { content: "\f01b"; } .fa-inbox:before { content: "\f01c"; } .fa-play-circle-o:before { content: "\f01d"; } .fa-rotate-right:before, .fa-repeat:before { content: "\f01e"; } .fa-refresh:before { content: "\f021"; } .fa-list-alt:before { content: "\f022"; } .fa-lock:before { content: "\f023"; } .fa-flag:before { content: "\f024"; } .fa-headphones:before { content: "\f025"; } .fa-volume-off:before { content: "\f026"; } .fa-volume-down:before { content: "\f027"; } .fa-volume-up:before { content: "\f028"; } .fa-qrcode:before { content: "\f029"; } .fa-barcode:before { content: "\f02a"; } .fa-tag:before { content: "\f02b"; } .fa-tags:before { content: "\f02c"; } .fa-book:before { content: "\f02d"; } .fa-bookmark:before { content: "\f02e"; } .fa-print:before { content: "\f02f"; } .fa-camera:before { content: "\f030"; } .fa-font:before { content: "\f031"; } .fa-bold:before { content: "\f032"; } .fa-italic:before { content: "\f033"; } .fa-text-height:before { content: "\f034"; } .fa-text-width:before { content: "\f035"; } .fa-align-left:before { content: "\f036"; } .fa-align-center:before { content: "\f037"; } .fa-align-right:before { content: "\f038"; } .fa-align-justify:before { content: "\f039"; } .fa-list:before { content: "\f03a"; } .fa-dedent:before, .fa-outdent:before { content: "\f03b"; } .fa-indent:before { content: "\f03c"; } .fa-video-camera:before { content: "\f03d"; } .fa-photo:before, .fa-image:before, .fa-picture-o:before { content: "\f03e"; } .fa-pencil:before { content: "\f040"; } .fa-map-marker:before { content: "\f041"; } .fa-adjust:before { content: "\f042"; } .fa-tint:before { content: "\f043"; } .fa-edit:before, .fa-pencil-square-o:before { content: "\f044"; } .fa-share-square-o:before { content: "\f045"; } .fa-check-square-o:before { content: "\f046"; } .fa-arrows:before { content: "\f047"; } .fa-step-backward:before { content: "\f048"; } .fa-fast-backward:before { content: "\f049"; } .fa-backward:before { content: "\f04a"; } .fa-play:before { content: "\f04b"; } .fa-pause:before { content: "\f04c"; } .fa-stop:before { content: "\f04d"; } .fa-forward:before { content: "\f04e"; } .fa-fast-forward:before { content: "\f050"; } .fa-step-forward:before { content: "\f051"; } .fa-eject:before { content: "\f052"; } .fa-chevron-left:before { content: "\f053"; } .fa-chevron-right:before { content: "\f054"; } .fa-plus-circle:before { content: "\f055"; } .fa-minus-circle:before { content: "\f056"; } .fa-times-circle:before { content: "\f057"; } .fa-check-circle:before { content: "\f058"; } .fa-question-circle:before { content: "\f059"; } .fa-info-circle:before { content: "\f05a"; } .fa-crosshairs:before { content: "\f05b"; } .fa-times-circle-o:before { content: "\f05c"; } .fa-check-circle-o:before { content: "\f05d"; } .fa-ban:before { content: "\f05e"; } .fa-arrow-left:before { content: "\f060"; } .fa-arrow-right:before { content: "\f061"; } .fa-arrow-up:before { content: "\f062"; } .fa-arrow-down:before { content: "\f063"; } .fa-mail-forward:before, .fa-share:before { content: "\f064"; } .fa-expand:before { content: "\f065"; } .fa-compress:before { content: "\f066"; } .fa-plus:before { content: "\f067"; } .fa-minus:before { content: "\f068"; } .fa-asterisk:before { content: "\f069"; } .fa-exclamation-circle:before { content: "\f06a"; } .fa-gift:before { content: "\f06b"; } .fa-leaf:before { content: "\f06c"; } .fa-fire:before { content: "\f06d"; } .fa-eye:before { content: "\f06e"; } .fa-eye-slash:before { content: "\f070"; } .fa-warning:before, .fa-exclamation-triangle:before { content: "\f071"; } .fa-plane:before { content: "\f072"; } .fa-calendar:before { content: "\f073"; } .fa-random:before { content: "\f074"; } .fa-comment:before { content: "\f075"; } .fa-magnet:before { content: "\f076"; } .fa-chevron-up:before { content: "\f077"; } .fa-chevron-down:before { content: "\f078"; } .fa-retweet:before { content: "\f079"; } .fa-shopping-cart:before { content: "\f07a"; } .fa-folder:before { content: "\f07b"; } .fa-folder-open:before { content: "\f07c"; } .fa-arrows-v:before { content: "\f07d"; } .fa-arrows-h:before { content: "\f07e"; } .fa-bar-chart-o:before, .fa-bar-chart:before { content: "\f080"; } .fa-twitter-square:before { content: "\f081"; } .fa-facebook-square:before { content: "\f082"; } .fa-camera-retro:before { content: "\f083"; } .fa-key:before { content: "\f084"; } .fa-gears:before, .fa-cogs:before { content: "\f085"; } .fa-comments:before { content: "\f086"; } .fa-thumbs-o-up:before { content: "\f087"; } .fa-thumbs-o-down:before { content: "\f088"; } .fa-star-half:before { content: "\f089"; } .fa-heart-o:before { content: "\f08a"; } .fa-sign-out:before { content: "\f08b"; } .fa-linkedin-square:before { content: "\f08c"; } .fa-thumb-tack:before { content: "\f08d"; } .fa-external-link:before { content: "\f08e"; } .fa-sign-in:before { content: "\f090"; } .fa-trophy:before { content: "\f091"; } .fa-github-square:before { content: "\f092"; } .fa-upload:before { content: "\f093"; } .fa-lemon-o:before { content: "\f094"; } .fa-phone:before { content: "\f095"; } .fa-square-o:before { content: "\f096"; } .fa-bookmark-o:before { content: "\f097"; } .fa-phone-square:before { content: "\f098"; } .fa-twitter:before { content: "\f099"; } .fa-facebook-f:before, .fa-facebook:before { content: "\f09a"; } .fa-github:before { content: "\f09b"; } .fa-unlock:before { content: "\f09c"; } .fa-credit-card:before { content: "\f09d"; } .fa-feed:before, .fa-rss:before { content: "\f09e"; } .fa-hdd-o:before { content: "\f0a0"; } .fa-bullhorn:before { content: "\f0a1"; } .fa-bell:before { content: "\f0f3"; } .fa-certificate:before { content: "\f0a3"; } .fa-hand-o-right:before { content: "\f0a4"; } .fa-hand-o-left:before { content: "\f0a5"; } .fa-hand-o-up:before { content: "\f0a6"; } .fa-hand-o-down:before { content: "\f0a7"; } .fa-arrow-circle-left:before { content: "\f0a8"; } .fa-arrow-circle-right:before { content: "\f0a9"; } .fa-arrow-circle-up:before { content: "\f0aa"; } .fa-arrow-circle-down:before { content: "\f0ab"; } .fa-globe:before { content: "\f0ac"; } .fa-wrench:before { content: "\f0ad"; } .fa-tasks:before { content: "\f0ae"; } .fa-filter:before { content: "\f0b0"; } .fa-briefcase:before { content: "\f0b1"; } .fa-arrows-alt:before { content: "\f0b2"; } .fa-group:before, .fa-users:before { content: "\f0c0"; } .fa-chain:before, .fa-link:before { content: "\f0c1"; } .fa-cloud:before { content: "\f0c2"; } .fa-flask:before { content: "\f0c3"; } .fa-cut:before, .fa-scissors:before { content: "\f0c4"; } .fa-copy:before, .fa-files-o:before { content: "\f0c5"; } .fa-paperclip:before { content: "\f0c6"; } .fa-save:before, .fa-floppy-o:before { content: "\f0c7"; } .fa-square:before { content: "\f0c8"; } .fa-navicon:before, .fa-reorder:before, .fa-bars:before { content: "\f0c9"; } .fa-list-ul:before { content: "\f0ca"; } .fa-list-ol:before { content: "\f0cb"; } .fa-strikethrough:before { content: "\f0cc"; } .fa-underline:before { content: "\f0cd"; } .fa-table:before { content: "\f0ce"; } .fa-magic:before { content: "\f0d0"; } .fa-truck:before { content: "\f0d1"; } .fa-pinterest:before { content: "\f0d2"; } .fa-pinterest-square:before { content: "\f0d3"; } .fa-google-plus-square:before { content: "\f0d4"; } .fa-google-plus:before { content: "\f0d5"; } .fa-money:before { content: "\f0d6"; } .fa-caret-down:before { content: "\f0d7"; } .fa-caret-up:before { content: "\f0d8"; } .fa-caret-left:before { content: "\f0d9"; } .fa-caret-right:before { content: "\f0da"; } .fa-columns:before { content: "\f0db"; } .fa-unsorted:before, .fa-sort:before { content: "\f0dc"; } .fa-sort-down:before, .fa-sort-desc:before { content: "\f0dd"; } .fa-sort-up:before, .fa-sort-asc:before { content: "\f0de"; } .fa-envelope:before { content: "\f0e0"; } .fa-linkedin:before { content: "\f0e1"; } .fa-rotate-left:before, .fa-undo:before { content: "\f0e2"; } .fa-legal:before, .fa-gavel:before { content: "\f0e3"; } .fa-dashboard:before, .fa-tachometer:before { content: "\f0e4"; } .fa-comment-o:before { content: "\f0e5"; } .fa-comments-o:before { content: "\f0e6"; } .fa-flash:before, .fa-bolt:before { content: "\f0e7"; } .fa-sitemap:before { content: "\f0e8"; } .fa-umbrella:before { content: "\f0e9"; } .fa-paste:before, .fa-clipboard:before { content: "\f0ea"; } .fa-lightbulb-o:before { content: "\f0eb"; } .fa-exchange:before { content: "\f0ec"; } .fa-cloud-download:before { content: "\f0ed"; } .fa-cloud-upload:before { content: "\f0ee"; } .fa-user-md:before { content: "\f0f0"; } .fa-stethoscope:before { content: "\f0f1"; } .fa-suitcase:before { content: "\f0f2"; } .fa-bell-o:before { content: "\f0a2"; } .fa-coffee:before { content: "\f0f4"; } .fa-cutlery:before { content: "\f0f5"; } .fa-file-text-o:before { content: "\f0f6"; } .fa-building-o:before { content: "\f0f7"; } .fa-hospital-o:before { content: "\f0f8"; } .fa-ambulance:before { content: "\f0f9"; } .fa-medkit:before { content: "\f0fa"; } .fa-fighter-jet:before { content: "\f0fb"; } .fa-beer:before { content: "\f0fc"; } .fa-h-square:before { content: "\f0fd"; } .fa-plus-square:before { content: "\f0fe"; } .fa-angle-double-left:before { content: "\f100"; } .fa-angle-double-right:before { content: "\f101"; } .fa-angle-double-up:before { content: "\f102"; } .fa-angle-double-down:before { content: "\f103"; } .fa-angle-left:before { content: "\f104"; } .fa-angle-right:before { content: "\f105"; } .fa-angle-up:before { content: "\f106"; } .fa-angle-down:before { content: "\f107"; } .fa-desktop:before { content: "\f108"; } .fa-laptop:before { content: "\f109"; } .fa-tablet:before { content: "\f10a"; } .fa-mobile-phone:before, .fa-mobile:before { content: "\f10b"; } .fa-circle-o:before { content: "\f10c"; } .fa-quote-left:before { content: "\f10d"; } .fa-quote-right:before { content: "\f10e"; } .fa-spinner:before { content: "\f110"; } .fa-circle:before { content: "\f111"; } .fa-mail-reply:before, .fa-reply:before { content: "\f112"; } .fa-github-alt:before { content: "\f113"; } .fa-folder-o:before { content: "\f114"; } .fa-folder-open-o:before { content: "\f115"; } .fa-smile-o:before { content: "\f118"; } .fa-frown-o:before { content: "\f119"; } .fa-meh-o:before { content: "\f11a"; } .fa-gamepad:before { content: "\f11b"; } .fa-keyboard-o:before { content: "\f11c"; } .fa-flag-o:before { content: "\f11d"; } .fa-flag-checkered:before { content: "\f11e"; } .fa-terminal:before { content: "\f120"; } .fa-code:before { content: "\f121"; } .fa-mail-reply-all:before, .fa-reply-all:before { content: "\f122"; } .fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before { content: "\f123"; } .fa-location-arrow:before { content: "\f124"; } .fa-crop:before { content: "\f125"; } .fa-code-fork:before { content: "\f126"; } .fa-unlink:before, .fa-chain-broken:before { content: "\f127"; } .fa-question:before { content: "\f128"; } .fa-info:before { content: "\f129"; } .fa-exclamation:before { content: "\f12a"; } .fa-superscript:before { content: "\f12b"; } .fa-subscript:before { content: "\f12c"; } .fa-eraser:before { content: "\f12d"; } .fa-puzzle-piece:before { content: "\f12e"; } .fa-microphone:before { content: "\f130"; } .fa-microphone-slash:before { content: "\f131"; } .fa-shield:before { content: "\f132"; } .fa-calendar-o:before { content: "\f133"; } .fa-fire-extinguisher:before { content: "\f134"; } .fa-rocket:before { content: "\f135"; } .fa-maxcdn:before { content: "\f136"; } .fa-chevron-circle-left:before { content: "\f137"; } .fa-chevron-circle-right:before { content: "\f138"; } .fa-chevron-circle-up:before { content: "\f139"; } .fa-chevron-circle-down:before { content: "\f13a"; } .fa-html5:before { content: "\f13b"; } .fa-css3:before { content: "\f13c"; } .fa-anchor:before { content: "\f13d"; } .fa-unlock-alt:before { content: "\f13e"; } .fa-bullseye:before { content: "\f140"; } .fa-ellipsis-h:before { content: "\f141"; } .fa-ellipsis-v:before { content: "\f142"; } .fa-rss-square:before { content: "\f143"; } .fa-play-circle:before { content: "\f144"; } .fa-ticket:before { content: "\f145"; } .fa-minus-square:before { content: "\f146"; } .fa-minus-square-o:before { content: "\f147"; } .fa-level-up:before { content: "\f148"; } .fa-level-down:before { content: "\f149"; } .fa-check-square:before { content: "\f14a"; } .fa-pencil-square:before { content: "\f14b"; } .fa-external-link-square:before { content: "\f14c"; } .fa-share-square:before { content: "\f14d"; } .fa-compass:before { content: "\f14e"; } .fa-toggle-down:before, .fa-caret-square-o-down:before { content: "\f150"; } .fa-toggle-up:before, .fa-caret-square-o-up:before { content: "\f151"; } .fa-toggle-right:before, .fa-caret-square-o-right:before { content: "\f152"; } .fa-euro:before, .fa-eur:before { content: "\f153"; } .fa-gbp:before { content: "\f154"; } .fa-dollar:before, .fa-usd:before { content: "\f155"; } .fa-rupee:before, .fa-inr:before { content: "\f156"; } .fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before { content: "\f157"; } .fa-ruble:before, .fa-rouble:before, .fa-rub:before { content: "\f158"; } .fa-won:before, .fa-krw:before { content: "\f159"; } .fa-bitcoin:before, .fa-btc:before { content: "\f15a"; } .fa-file:before { content: "\f15b"; } .fa-file-text:before { content: "\f15c"; } .fa-sort-alpha-asc:before { content: "\f15d"; } .fa-sort-alpha-desc:before { content: "\f15e"; } .fa-sort-amount-asc:before { content: "\f160"; } .fa-sort-amount-desc:before { content: "\f161"; } .fa-sort-numeric-asc:before { content: "\f162"; } .fa-sort-numeric-desc:before { content: "\f163"; } .fa-thumbs-up:before { content: "\f164"; } .fa-thumbs-down:before { content: "\f165"; } .fa-youtube-square:before { content: "\f166"; } .fa-youtube:before { content: "\f167"; } .fa-xing:before { content: "\f168"; } .fa-xing-square:before { content: "\f169"; } .fa-youtube-play:before { content: "\f16a"; } .fa-dropbox:before { content: "\f16b"; } .fa-stack-overflow:before { content: "\f16c"; } .fa-instagram:before { content: "\f16d"; } .fa-flickr:before { content: "\f16e"; } .fa-adn:before { content: "\f170"; } .fa-bitbucket:before { content: "\f171"; } .fa-bitbucket-square:before { content: "\f172"; } .fa-tumblr:before { content: "\f173"; } .fa-tumblr-square:before { content: "\f174"; } .fa-long-arrow-down:before { content: "\f175"; } .fa-long-arrow-up:before { content: "\f176"; } .fa-long-arrow-left:before { content: "\f177"; } .fa-long-arrow-right:before { content: "\f178"; } .fa-apple:before { content: "\f179"; } .fa-windows:before { content: "\f17a"; } .fa-android:before { content: "\f17b"; } .fa-linux:before { content: "\f17c"; } .fa-dribbble:before { content: "\f17d"; } .fa-skype:before { content: "\f17e"; } .fa-foursquare:before { content: "\f180"; } .fa-trello:before { content: "\f181"; } .fa-female:before { content: "\f182"; } .fa-male:before { content: "\f183"; } .fa-gittip:before, .fa-gratipay:before { content: "\f184"; } .fa-sun-o:before { content: "\f185"; } .fa-moon-o:before { content: "\f186"; } .fa-archive:before { content: "\f187"; } .fa-bug:before { content: "\f188"; } .fa-vk:before { content: "\f189"; } .fa-weibo:before { content: "\f18a"; } .fa-renren:before { content: "\f18b"; } .fa-pagelines:before { content: "\f18c"; } .fa-stack-exchange:before { content: "\f18d"; } .fa-arrow-circle-o-right:before { content: "\f18e"; } .fa-arrow-circle-o-left:before { content: "\f190"; } .fa-toggle-left:before, .fa-caret-square-o-left:before { content: "\f191"; } .fa-dot-circle-o:before { content: "\f192"; } .fa-wheelchair:before { content: "\f193"; } .fa-vimeo-square:before { content: "\f194"; } .fa-turkish-lira:before, .fa-try:before { content: "\f195"; } .fa-plus-square-o:before { content: "\f196"; } .fa-space-shuttle:before { content: "\f197"; } .fa-slack:before { content: "\f198"; } .fa-envelope-square:before { content: "\f199"; } .fa-wordpress:before { content: "\f19a"; } .fa-openid:before { content: "\f19b"; } .fa-institution:before, .fa-bank:before, .fa-university:before { content: "\f19c"; } .fa-mortar-board:before, .fa-graduation-cap:before { content: "\f19d"; } .fa-yahoo:before { content: "\f19e"; } .fa-google:before { content: "\f1a0"; } .fa-reddit:before { content: "\f1a1"; } .fa-reddit-square:before { content: "\f1a2"; } .fa-stumbleupon-circle:before { content: "\f1a3"; } .fa-stumbleupon:before { content: "\f1a4"; } .fa-delicious:before { content: "\f1a5"; } .fa-digg:before { content: "\f1a6"; } .fa-pied-piper:before { content: "\f1a7"; } .fa-pied-piper-alt:before { content: "\f1a8"; } .fa-drupal:before { content: "\f1a9"; } .fa-joomla:before { content: "\f1aa"; } .fa-language:before { content: "\f1ab"; } .fa-fax:before { content: "\f1ac"; } .fa-building:before { content: "\f1ad"; } .fa-child:before { content: "\f1ae"; } .fa-paw:before { content: "\f1b0"; } .fa-spoon:before { content: "\f1b1"; } .fa-cube:before { content: "\f1b2"; } .fa-cubes:before { content: "\f1b3"; } .fa-behance:before { content: "\f1b4"; } .fa-behance-square:before { content: "\f1b5"; } .fa-steam:before { content: "\f1b6"; } .fa-steam-square:before { content: "\f1b7"; } .fa-recycle:before { content: "\f1b8"; } .fa-automobile:before, .fa-car:before { content: "\f1b9"; } .fa-cab:before, .fa-taxi:before { content: "\f1ba"; } .fa-tree:before { content: "\f1bb"; } .fa-spotify:before { content: "\f1bc"; } .fa-deviantart:before { content: "\f1bd"; } .fa-soundcloud:before { content: "\f1be"; } .fa-database:before { content: "\f1c0"; } .fa-file-pdf-o:before { content: "\f1c1"; } .fa-file-word-o:before { content: "\f1c2"; } .fa-file-excel-o:before { content: "\f1c3"; } .fa-file-powerpoint-o:before { content: "\f1c4"; } .fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before { content: "\f1c5"; } .fa-file-zip-o:before, .fa-file-archive-o:before { content: "\f1c6"; } .fa-file-sound-o:before, .fa-file-audio-o:before { content: "\f1c7"; } .fa-file-movie-o:before, .fa-file-video-o:before { content: "\f1c8"; } .fa-file-code-o:before { content: "\f1c9"; } .fa-vine:before { content: "\f1ca"; } .fa-codepen:before { content: "\f1cb"; } .fa-jsfiddle:before { content: "\f1cc"; } .fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before { content: "\f1cd"; } .fa-circle-o-notch:before { content: "\f1ce"; } .fa-ra:before, .fa-rebel:before { content: "\f1d0"; } .fa-ge:before, .fa-empire:before { content: "\f1d1"; } .fa-git-square:before { content: "\f1d2"; } .fa-git:before { content: "\f1d3"; } .fa-y-combinator-square:before, .fa-yc-square:before, .fa-hacker-news:before { content: "\f1d4"; } .fa-tencent-weibo:before { content: "\f1d5"; } .fa-qq:before { content: "\f1d6"; } .fa-wechat:before, .fa-weixin:before { content: "\f1d7"; } .fa-send:before, .fa-paper-plane:before { content: "\f1d8"; } .fa-send-o:before, .fa-paper-plane-o:before { content: "\f1d9"; } .fa-history:before { content: "\f1da"; } .fa-circle-thin:before { content: "\f1db"; } .fa-header:before { content: "\f1dc"; } .fa-paragraph:before { content: "\f1dd"; } .fa-sliders:before { content: "\f1de"; } .fa-share-alt:before { content: "\f1e0"; } .fa-share-alt-square:before { content: "\f1e1"; } .fa-bomb:before { content: "\f1e2"; } .fa-soccer-ball-o:before, .fa-futbol-o:before { content: "\f1e3"; } .fa-tty:before { content: "\f1e4"; } .fa-binoculars:before { content: "\f1e5"; } .fa-plug:before { content: "\f1e6"; } .fa-slideshare:before { content: "\f1e7"; } .fa-twitch:before { content: "\f1e8"; } .fa-yelp:before { content: "\f1e9"; } .fa-newspaper-o:before { content: "\f1ea"; } .fa-wifi:before { content: "\f1eb"; } .fa-calculator:before { content: "\f1ec"; } .fa-paypal:before { content: "\f1ed"; } .fa-google-wallet:before { content: "\f1ee"; } .fa-cc-visa:before { content: "\f1f0"; } .fa-cc-mastercard:before { content: "\f1f1"; } .fa-cc-discover:before { content: "\f1f2"; } .fa-cc-amex:before { content: "\f1f3"; } .fa-cc-paypal:before { content: "\f1f4"; } .fa-cc-stripe:before { content: "\f1f5"; } .fa-bell-slash:before { content: "\f1f6"; } .fa-bell-slash-o:before { content: "\f1f7"; } .fa-trash:before { content: "\f1f8"; } .fa-copyright:before { content: "\f1f9"; } .fa-at:before { content: "\f1fa"; } .fa-eyedropper:before { content: "\f1fb"; } .fa-paint-brush:before { content: "\f1fc"; } .fa-birthday-cake:before { content: "\f1fd"; } .fa-area-chart:before { content: "\f1fe"; } .fa-pie-chart:before { content: "\f200"; } .fa-line-chart:before { content: "\f201"; } .fa-lastfm:before { content: "\f202"; } .fa-lastfm-square:before { content: "\f203"; } .fa-toggle-off:before { content: "\f204"; } .fa-toggle-on:before { content: "\f205"; } .fa-bicycle:before { content: "\f206"; } .fa-bus:before { content: "\f207"; } .fa-ioxhost:before { content: "\f208"; } .fa-angellist:before { content: "\f209"; } .fa-cc:before { content: "\f20a"; } .fa-shekel:before, .fa-sheqel:before, .fa-ils:before { content: "\f20b"; } .fa-meanpath:before { content: "\f20c"; } .fa-buysellads:before { content: "\f20d"; } .fa-connectdevelop:before { content: "\f20e"; } .fa-dashcube:before { content: "\f210"; } .fa-forumbee:before { content: "\f211"; } .fa-leanpub:before { content: "\f212"; } .fa-sellsy:before { content: "\f213"; } .fa-shirtsinbulk:before { content: "\f214"; } .fa-simplybuilt:before { content: "\f215"; } .fa-skyatlas:before { content: "\f216"; } .fa-cart-plus:before { content: "\f217"; } .fa-cart-arrow-down:before { content: "\f218"; } .fa-diamond:before { content: "\f219"; } .fa-ship:before { content: "\f21a"; } .fa-user-secret:before { content: "\f21b"; } .fa-motorcycle:before { content: "\f21c"; } .fa-street-view:before { content: "\f21d"; } .fa-heartbeat:before { content: "\f21e"; } .fa-venus:before { content: "\f221"; } .fa-mars:before { content: "\f222"; } .fa-mercury:before { content: "\f223"; } .fa-intersex:before, .fa-transgender:before { content: "\f224"; } .fa-transgender-alt:before { content: "\f225"; } .fa-venus-double:before { content: "\f226"; } .fa-mars-double:before { content: "\f227"; } .fa-venus-mars:before { content: "\f228"; } .fa-mars-stroke:before { content: "\f229"; } .fa-mars-stroke-v:before { content: "\f22a"; } .fa-mars-stroke-h:before { content: "\f22b"; } .fa-neuter:before { content: "\f22c"; } .fa-genderless:before { content: "\f22d"; } .fa-facebook-official:before { content: "\f230"; } .fa-pinterest-p:before { content: "\f231"; } .fa-whatsapp:before { content: "\f232"; } .fa-server:before { content: "\f233"; } .fa-user-plus:before { content: "\f234"; } .fa-user-times:before { content: "\f235"; } .fa-hotel:before, .fa-bed:before { content: "\f236"; } .fa-viacoin:before { content: "\f237"; } .fa-train:before { content: "\f238"; } .fa-subway:before { content: "\f239"; } .fa-medium:before { content: "\f23a"; } .fa-yc:before, .fa-y-combinator:before { content: "\f23b"; } .fa-optin-monster:before { content: "\f23c"; } .fa-opencart:before { content: "\f23d"; } .fa-expeditedssl:before { content: "\f23e"; } .fa-battery-4:before, .fa-battery-full:before { content: "\f240"; } .fa-battery-3:before, .fa-battery-three-quarters:before { content: "\f241"; } .fa-battery-2:before, .fa-battery-half:before { content: "\f242"; } .fa-battery-1:before, .fa-battery-quarter:before { content: "\f243"; } .fa-battery-0:before, .fa-battery-empty:before { content: "\f244"; } .fa-mouse-pointer:before { content: "\f245"; } .fa-i-cursor:before { content: "\f246"; } .fa-object-group:before { content: "\f247"; } .fa-object-ungroup:before { content: "\f248"; } .fa-sticky-note:before { content: "\f249"; } .fa-sticky-note-o:before { content: "\f24a"; } .fa-cc-jcb:before { content: "\f24b"; } .fa-cc-diners-club:before { content: "\f24c"; } .fa-clone:before { content: "\f24d"; } .fa-balance-scale:before { content: "\f24e"; } .fa-hourglass-o:before { content: "\f250"; } .fa-hourglass-1:before, .fa-hourglass-start:before { content: "\f251"; } .fa-hourglass-2:before, .fa-hourglass-half:before { content: "\f252"; } .fa-hourglass-3:before, .fa-hourglass-end:before { content: "\f253"; } .fa-hourglass:before { content: "\f254"; } .fa-hand-grab-o:before, .fa-hand-rock-o:before { content: "\f255"; } .fa-hand-stop-o:before, .fa-hand-paper-o:before { content: "\f256"; } .fa-hand-scissors-o:before { content: "\f257"; } .fa-hand-lizard-o:before { content: "\f258"; } .fa-hand-spock-o:before { content: "\f259"; } .fa-hand-pointer-o:before { content: "\f25a"; } .fa-hand-peace-o:before { content: "\f25b"; } .fa-trademark:before { content: "\f25c"; } .fa-registered:before { content: "\f25d"; } .fa-creative-commons:before { content: "\f25e"; } .fa-gg:before { content: "\f260"; } .fa-gg-circle:before { content: "\f261"; } .fa-tripadvisor:before { content: "\f262"; } .fa-odnoklassniki:before { content: "\f263"; } .fa-odnoklassniki-square:before { content: "\f264"; } .fa-get-pocket:before { content: "\f265"; } .fa-wikipedia-w:before { content: "\f266"; } .fa-safari:before { content: "\f267"; } .fa-chrome:before { content: "\f268"; } .fa-firefox:before { content: "\f269"; } .fa-opera:before { content: "\f26a"; } .fa-internet-explorer:before { content: "\f26b"; } .fa-tv:before, .fa-television:before { content: "\f26c"; } .fa-contao:before { content: "\f26d"; } .fa-500px:before { content: "\f26e"; } .fa-amazon:before { content: "\f270"; } .fa-calendar-plus-o:before { content: "\f271"; } .fa-calendar-minus-o:before { content: "\f272"; } .fa-calendar-times-o:before { content: "\f273"; } .fa-calendar-check-o:before { content: "\f274"; } .fa-industry:before { content: "\f275"; } .fa-map-pin:before { content: "\f276"; } .fa-map-signs:before { content: "\f277"; } .fa-map-o:before { content: "\f278"; } .fa-map:before { content: "\f279"; } .fa-commenting:before { content: "\f27a"; } .fa-commenting-o:before { content: "\f27b"; } .fa-houzz:before { content: "\f27c"; } .fa-vimeo:before { content: "\f27d"; } .fa-black-tie:before { content: "\f27e"; } .fa-fonticons:before { content: "\f280"; } .fa-reddit-alien:before { content: "\f281"; } .fa-edge:before { content: "\f282"; } .fa-credit-card-alt:before { content: "\f283"; } .fa-codiepie:before { content: "\f284"; } .fa-modx:before { content: "\f285"; } .fa-fort-awesome:before { content: "\f286"; } .fa-usb:before { content: "\f287"; } .fa-product-hunt:before { content: "\f288"; } .fa-mixcloud:before { content: "\f289"; } .fa-scribd:before { content: "\f28a"; } .fa-pause-circle:before { content: "\f28b"; } .fa-pause-circle-o:before { content: "\f28c"; } .fa-stop-circle:before { content: "\f28d"; } .fa-stop-circle-o:before { content: "\f28e"; } .fa-shopping-bag:before { content: "\f290"; } .fa-shopping-basket:before { content: "\f291"; } .fa-hashtag:before { content: "\f292"; } .fa-bluetooth:before { content: "\f293"; } .fa-bluetooth-b:before { content: "\f294"; } .fa-percent:before { content: "\f295"; } PKZFJkJkOplugins/catch-web-tools/to-top/public/css/font-awesome/css/font-awesome.min.cssnu[/*! * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} PKZ&SS7plugins/catch-web-tools/to-top/admin/images/default.pngnu[PNG  IHDR@@nAH pHYs.#.#x?v OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F ~IDATxt11 GEQWռ2=O@"Q:ʒ\Z s/B`cMԌtH$ScMQ3?! pkN5V0H p\PUd+A:#$3p9!Xjl6fAwuꧪ'Nu߈y]6S~2uSoʅ pBq@ ;v)|f7= @l6Y6'J!*` AD;&fxot}8/a"!"nѴe0MCdgA ]ؤxyQ3q T7o]2GH%aЃ7A? bL{ԏ0:imW/=N@FVNl$jn5HtPsRq".@@@w(0vv{ >[ ԤIB3G"m-P( .-`xU 15n&, F4M2F4Gzuۼgd8&ĀFB,@l)d 3c|΁ rr@S̶3:kx <1=1 (Fdqp\nn7R':0N?0@-PK}b`{4k6pi"PN 8\\ C ~ry'FDJ"~7ɒdGNˉ}?\ץ Rw[5wɌ}O 61'D" 㿪=`DeB/$x<Q1D(E' zы^sēx(D4 EgfUjN\efazU}>JeV'»ULImu65W5R[Jד|F`,.b5g`=!WjW'Zϴ7OJ? ||Ór!5'[I J)|'/@iUM*/Z{ ؝%iQsڊwK2?p;?[SuDY @!7d}0p;pinW1B<gY'V9ii1 f>Ŋ 16AJ9#AQ<'gT%Pi¯(QgA0nO1/kiu2! zIV 9Fm|*\QR)n=Iul'sjN)dH)])"zIdBZMS!QK|Vڥ+E$Q */ class Catchwebtools_To_Top_Admin { /** * The ID of this plugin. * * @since 1.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 1.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Initialize the class and set its properties. * * @since 1.0.0 * @param string $plugin_name The name of this plugin. * @param string $version The version of this plugin. */ public function __construct( $plugin_name, $version ) { $this->plugin_name = $plugin_name; $this->version = $version; } /** * Register the stylesheets for the admin area. * * @since 1.0.0 */ public function enqueue_styles( $hook ) { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in To_Top_Loader as all of the hooks are defined * in that particular class. * * The To_Top_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); if ( $option['show_on_admin'] ) { //Load CSS if To Top is enabled on admin //No need to enqueue dashicons as it is already present in admin wp_enqueue_style( $this->plugin_name . '-public', plugin_dir_url( __FILE__ ) . '../public/css/catchwebtools-to-top-public.css', array(), $this->version, 'all' ); } } /** * Register the JavaScript for the admin area. * * @since 1.0.0 */ public function enqueue_scripts( $hook ) { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in To_Top_Loader as all of the hooks are defined * in that particular class. * * The To_Top_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ $option = catchwebtools_get_options( 'catchwebtools_to_top_options'); if ( $option['show_on_admin'] ) { //Load JS if To Top is enabled on admin wp_enqueue_script( $this->plugin_name. '-public', plugin_dir_url( __FILE__ ) . '../public/js/catchwebtools-to-top-public.js', array( 'jquery' ), $this->version, false ); // Localize the script with new data wp_localize_script( $this->plugin_name. '-public', 'catchwebtools_to_top_options', $option ); } } /** * Add Options to customizer separating the basic and advanced controls * * @since 1.0.0 */ public function customize_register( $wp_customize ){ $catchwebtools_to_top_defaults = catchwebtools_to_top_default_options(); //print_r($defaults); die(); //Custom Controls require CATCHWEBTOOLS_PATH . '/to-top/admin/partials/customizer/customizer-custom-controls.php'; /* Basic Settings Start */ $wp_customize->add_section( 'catchwebtools_to_top_basic_settings', array( 'description' => '', 'panel' => 'catchwebtools_options', 'title' => esc_html__( 'To Top Basic Settings', 'catch-web-tools' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[status]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['status'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[status]', array( 'label' => esc_html__( 'Check to enable to top', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[status]', 'type' => 'checkbox', ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[scroll_offset]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['scroll_offset'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[scroll_offset]', array( 'label' => esc_html__( 'Scroll Offset (px)', 'catch-web-tools' ), 'description' => esc_html__( 'Number of pixels to be scrolled before the button appears', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[scroll_offset]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 0, 'max' => 500, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[icon_opacity]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['icon_opacity'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[icon_opacity]', array( 'label' => esc_html__( 'Icon Opacity (%)', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[icon_opacity]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 0, 'max' => 100, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[style]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['style'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[style]', array( 'label' => esc_html__( 'Style', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[style]', 'type' => 'select', 'choices' => array( 'icon' => esc_html__( 'Icon Using Dashicons', 'to-top'), 'genericon-icon' => esc_html__( 'Icon Using Genericons', 'to-top'), 'font-awesome-icon' => esc_html__( 'Icon Using Font Awesome Icons', 'to-top'), 'image' => esc_html__( 'Image', 'to-top') ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[icon_type]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['icon_type'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new Catchwebtools_To_Top_Custom_Icons ( $wp_customize, 'catchwebtools_to_top_options[icon_type]', array( 'label' => esc_html__( 'Select Icon Type', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[icon_type]', 'type' => 'select', 'active_callback' => array( $this, 'catchwebtools_to_top_is_icon_setting_active' ), ) ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[icon_color]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['icon_color'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new WP_Customize_Color_Control ( $wp_customize, 'catchwebtools_to_top_options[icon_color]', array( 'label' => esc_html__( 'Icon Color', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[icon_color]', 'type' => 'color', 'active_callback' => array( $this, 'catchwebtools_to_top_is_icon_setting_active' ), ) ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[icon_bg_color]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['icon_bg_color'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new WP_Customize_Color_Control ( $wp_customize, 'catchwebtools_to_top_options[icon_bg_color]', array( 'label' => esc_html__( 'Icon Background Color', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[icon_bg_color]', 'type' => 'color', 'active_callback' => array( $this, 'catchwebtools_to_top_is_icon_setting_active' ), ) ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[icon_size]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['icon_size'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[icon_size]', array( 'label' => esc_html__( 'Icon Size (px)', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[icon_size]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 1, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_is_icon_setting_active' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[border_radius]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['border_radius'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[border_radius]', array( 'label' => esc_html__( 'Border Radius (%)', 'catch-web-tools' ), 'description' => esc_html__( '0 will make the icon background square, 50 will make it a circle', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[border_radius]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 0, 'max' => 50, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_is_icon_setting_active' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[image]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['image'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new WP_Customize_Image_Control ( $wp_customize, 'catchwebtools_to_top_options[image]', array( 'label' => esc_html__( 'Image', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[image]', 'type' => 'image', 'active_callback' => array( $this, 'catchwebtools_to_top_is_image_setting_active' ), ) ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[image_width]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['image_width'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[image_width]', array( 'label' => esc_html__( 'Image Width (px)', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[image_width]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 1, 'max' => 200, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_is_image_setting_active' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[image_alt]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['image_alt'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[image_alt]', array( 'label' => esc_html__( 'Image Alt', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_basic_settings', 'settings' => 'catchwebtools_to_top_options[image_alt]', 'type' => 'text', 'active_callback' => array( $this, 'catchwebtools_to_top_is_image_setting_active' ), ) ); /* Basic Settings End */ /* Advanced Settings Start */ $wp_customize->add_section( 'catchwebtools_to_top_advance_settings', array( 'description' => '', 'panel' => 'catchwebtools_options', 'title' => esc_html__( 'To Top Advanced Settings', 'catch-web-tools' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[location]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['location'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[location]', array( 'label' => esc_html__( 'Location', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[location]', 'type' => 'select', 'choices' => array( 'bottom-right' => esc_html__( 'Bottom Right', 'catch-web-tools' ), 'bottom-left' => esc_html__( 'Bottom Left', 'catch-web-tools' ), 'top-right' => esc_html__( 'Top Right', 'catch-web-tools' ), 'top-left' => esc_html__( 'Top Left', 'catch-web-tools' ), ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[margin_x]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['margin_x'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[margin_x]', array( 'label' => esc_html__( 'Margin X (px)', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[margin_x]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 1, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[margin_y]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['border_radius'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[margin_y]', array( 'label' => esc_html__( 'Margin Y (px)', 'catch-web-tools' ), 'description'=> '', 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[margin_y]', 'type' => 'number', 'input_attrs'=> array( 'style' => 'width: 55px;', 'min' => 1, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[show_on_admin]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['show_on_admin'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[show_on_admin]', array( 'label' => esc_html__( 'Check to show on WP-ADMIN', 'catch-web-tools' ), 'description' => esc_html__( 'Button will be shown on admin section', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[show_on_admin]', 'type' => 'checkbox', 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[enable_autohide]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['enable_autohide'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[enable_autohide]', array( 'label' => esc_html__( 'Check to Enable Auto Hide', 'catch-web-tools' ), 'description' => '', 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[enable_autohide]', 'type' => 'checkbox', 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[autohide_time]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['autohide_time'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[autohide_time]', array( 'label' => esc_html__( 'Auto Hide Time (secs)', 'catch-web-tools' ), 'description' => esc_html__( 'Button will be auto hidden after this duration in seconds, if enabled', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[autohide_time]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 1, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_is_auto_hide_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[enable_hide_small_device]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['enable_hide_small_device'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[enable_hide_small_device]', array( 'label' => esc_html__( 'Check to Hide on Small Devices', 'catch-web-tools' ), 'description' => esc_html__( 'Button will be hidden on small devices when the width below matches', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[enable_hide_small_device]', 'type' => 'checkbox', 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[small_device_max_width]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['small_device_max_width'], 'type' => 'option', 'transport' => 'refresh', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[small_device_max_width]', array( 'label' => esc_html__( 'Small Device Max Width (px)', 'catch-web-tools' ), 'description' => esc_html__( 'Button will be hidden on devices with lesser or equal width', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_advance_settings', 'settings' => 'catchwebtools_to_top_options[small_device_max_width]', 'type' => 'number', 'input_attrs' => array( 'style' => 'width: 55px;', 'min' => 1, 'step' => 1, ), 'active_callback' => array( $this, 'catchwebtools_to_top_is_hide_on_small_devices_enabled' ), ) ); /* Advanced Settings End */ /* Reset Settings Start */ $wp_customize->add_section( 'catchwebtools_to_top_reset_settings', array( 'description' => '', 'panel' => 'catchwebtools_options', 'title' => esc_html__( 'To Top Reset Settings', 'catch-web-tools' ), ) ); $wp_customize->add_setting( 'catchwebtools_to_top_options[reset]', array( 'capability' => 'edit_theme_options', 'default' => $catchwebtools_to_top_defaults['reset'], 'type' => 'option', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'catchwebtools_to_top_options[reset]', array( 'label' => esc_html__( 'Check to Reset All Settings', 'catch-web-tools' ), 'description' => esc_html__( 'Caution: All data will be lost. Refresh the page after save to view full effects.', 'catch-web-tools' ), 'section' => 'catchwebtools_to_top_reset_settings', 'settings' => 'catchwebtools_to_top_options[reset]', 'type' => 'checkbox', 'active_callback' => array( $this, 'catchwebtools_to_top_enabled' ), ) ); /* Reset Settings End */ } /** * Custom scripts on Customizer for Catch Box * * @since To Top 1.0.0 */ function customizer_enqueue_scripts() { $option = catchwebtools_get_options( 'catchwebtools_to_top'); wp_enqueue_script( 'cwt_to_top_customizer_custom_script', plugin_dir_url( __FILE__ ) . 'js/catchwebtools-to-top-customizer-scripts.js', array( 'jquery' ), '20151223', true ); } /** * Custom styles on Customizer for Catch Box * * @since To Top 1.0.0 */ function customizer_enqueue_styles() { wp_enqueue_style( 'cwt_to_top_customizer_custom_style', plugin_dir_url( __FILE__ ) . 'css/catchwebtools-customizer.css' ); } /** * Sanitizes Checkboxes * @param $input entered value * @return sanitized output * * @since 1.0.0 */ function sanitize_checkbox( $checked ) { // Boolean check. return ( ( isset( $checked ) && true == $checked ) ? true : false ); } /** * Active Callbacks * @return true or false * * @since 1.0.0 */ function catchwebtools_to_top_enabled( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_to_top_options[status]' )->value(); //return true only if to_top is enabled if( $enabled ) { return true; } else { return false; } } function catchwebtools_to_top_is_icon_setting_active( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_to_top_options[status]' )->value(); $style = $control->manager->get_setting( 'catchwebtools_to_top_options[style]' )->value(); //return true only if icon setting is selected if( ( $style === 'icon' || $style === 'genericon-icon' || $style === 'font-awesome-icon' ) && $enabled ) { return true; } else { return false; } } function catchwebtools_to_top_is_image_setting_active( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_to_top_options[status]' )->value(); $style = $control->manager->get_setting( 'catchwebtools_to_top_options[style]' )->value(); //return true only if icon setting is selected if( $style === 'image' && $enabled ) { return true; } else { return false; } } function catchwebtools_to_top_is_auto_hide_enabled( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_to_top_options[status]' )->value(); $autohide = $control->manager->get_setting( 'catchwebtools_to_top_options[enable_autohide]' )->value(); if ( $autohide && $enabled ) { return true; } else { return false; } } function catchwebtools_to_top_is_hide_on_small_devices_enabled( $control ) { $enabled = $control->manager->get_setting( 'catchwebtools_to_top_options[status]' )->value(); $hide_on_small_devices = $control->manager->get_setting( 'catchwebtools_to_top_options[enable_hide_small_device]' )->value(); if ( $hide_on_small_devices && $enabled ) { return true; } else { return false; } } } PKZ]^vRplugins/catch-web-tools/to-top/admin/js/catchwebtools-to-top-customizer-scripts.jsnu[/** * To Top Customizer enhancements for a better user experience. * * Contains handlers to make To Top Customizer preview reload changes asynchronously. */ (function($) { wp.customize('catchwebtools_to_top_options[icon_opacity]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'opacity': parseFloat(to / 100) }); }); }); wp.customize('catchwebtools_to_top_options[icon_type]', function(value) { value.bind(function(to) { var icon_style = wp.customize('catchwebtools_to_top_options[style]').get(); var new_class; if( 'icon' == icon_style){ new_class = 'dashicons' + ' ' + to; $('#cwt_to_top_scrollup').removeClass(); $('#cwt_to_top_scrollup').addClass(new_class); } else if( 'genericon-icon' == icon_style){ if ( 'dashicons-arrow-up' == to ) { new_class = 'genericon genericon-uparrow'; } else if ( 'dashicons-arrow-up-alt' == to ) { new_class = 'genericon genericon-next genericon-rotate-270'; } else { new_class = 'genericon genericon-collapse'; } $('#cwt_to_top_scrollup').removeClass(); $('#cwt_to_top_scrollup').addClass(new_class); } else if( 'font-awesome-icon' == icon_style){ if ( 'dashicons-arrow-up' == to ) { new_class = 'fa fa-caret-up'; } else if ( 'dashicons-arrow-up-alt' == to ) { new_class = 'fa fa-arrow-up'; } else { new_class = 'fa fa-angle-up'; } $('#cwt_to_top_scrollup').removeClass(); $('#cwt_to_top_scrollup').addClass(new_class); } }); }); wp.customize('catchwebtools_to_top_options[icon_bg_color]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'background-color': to }); }); }); wp.customize('catchwebtools_to_top_options[icon_color]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'color': to }); }); }); wp.customize('catchwebtools_to_top_options[icon_size]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'font-size': to + 'px', 'height': to + 'px', 'width': to + 'px' }); }); }); wp.customize('catchwebtools_to_top_options[border_radius]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'border-radius': to + '%' }); }); }); wp.customize('catchwebtools_to_top_options[location]', function(value) { value.bind(function(to) { var margin_x = wp.customize('catchwebtools_to_top_options[margin_x]').get(); var margin_y = wp.customize('catchwebtools_to_top_options[margin_y]').get(); if ('bottom-right' === to) { $('#cwt_to_top_scrollup').css({ 'top' : 'auto', 'right': margin_x + 'px', 'bottom': margin_y + 'px', 'left': 'auto', }); } else if ('bottom-left' === to) { $('#cwt_to_top_scrollup').css({ 'top' : 'auto', 'right': 'auto', 'bottom': margin_y + 'px', 'left': margin_x + 'px', }); } else if ('top-right' === to) { $('#cwt_to_top_scrollup').css({ 'top' : margin_y + 'px', 'right': margin_x + 'px', 'bottom': 'auto', 'left': 'auto', }); } else if ('top-left' === to) { $('#cwt_to_top_scrollup').css({ 'top': margin_y + 'px', 'right': 'auto', 'bottom':'auto' , 'left': margin_x + 'px', }); } }); }); wp.customize('catchwebtools_to_top_options[margin_y]', function(value) { value.bind(function(to) { var location = wp.customize('catchwebtools_to_top_options[location]').get(); offset = location.split('-'); offset1 = offset[0]; if ('top' === offset1) { $('#cwt_to_top_scrollup').css({ 'top': to + 'px' }); } else if ('bottom' === offset1) { $('#cwt_to_top_scrollup').css({ 'bottom': to + 'px' }); } }); }); wp.customize('catchwebtools_to_top_options[margin_x]', function(value) { value.bind(function(to) { var location = wp.customize('catchwebtools_to_top_options[location]').get(); offset = location.split('-'); offset2 = offset[1]; if ('right' === offset2) { $('#cwt_to_top_scrollup').css({ 'right': to + 'px' }); } else if ('left' === offset2) { $('#cwt_to_top_scrollup').css({ 'left': to + 'px' }); } }); }); wp.customize('catchwebtools_to_top_options[image]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup img').attr({ 'src': to }); }); }); wp.customize('catchwebtools_to_top_options[image_width]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup').css({ 'width': to + 'px' }); }); }); wp.customize('catchwebtools_to_top_options[image_alt]', function(value) { value.bind(function(to) { $('#cwt_to_top_scrollup img').attr({ 'alt': to }); }); }); })(jQuery);PKZBBWplugins/catch-web-tools/to-top/admin/partials/customizer/customizer-custom-controls.phpnu[ 'Arrow Up', 'dashicons-arrow-up-alt' => 'Arrow Up Alt', 'dashicons-arrow-up-alt2' => 'Arrow Up Alt 2', ); public function render_content() { $output = ''; $output .= ''; echo $output; } } PKZFhEplugins/catch-web-tools/to-top/admin/css/catchwebtools-customizer.cssnu[#customize-control-catchwebtools_to_top_options-icon_type .dashicons { text-align: left; display: block; height: auto; width: auto; vertical-align: auto; font-size: inherit; font-style: auto; font-weight: inherit; line-height: 1; }PKZ* (plugins/catch-web-tools/to-top/index.phpnu[ */ class Catchwebtools_To_Top_Loader { /** * The array of actions registered with WordPress. * * @since 1.0.0 * @access protected * @var array $actions The actions registered with WordPress to fire when the plugin loads. */ protected $actions; /** * The array of filters registered with WordPress. * * @since 1.0.0 * @access protected * @var array $filters The filters registered with WordPress to fire when the plugin loads. */ protected $filters; /** * Initialize the collections used to maintain the actions and filters. * * @since 1.0.0 */ public function __construct() { $this->actions = array(); $this->filters = array(); } /** * Add a new action to the collection to be registered with WordPress. * * @since 1.0.0 * @param string $hook The name of the WordPress action that is being registered. * @param object $component A reference to the instance of the object on which the action is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority Optional. he priority at which the function should be fired. Default is 10. * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. */ public function add_action( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { $this->actions = $this->add( $this->actions, $hook, $component, $callback, $priority, $accepted_args ); } /** * Add a new filter to the collection to be registered with WordPress. * * @since 1.0.0 * @param string $hook The name of the WordPress filter that is being registered. * @param object $component A reference to the instance of the object on which the filter is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority Optional. he priority at which the function should be fired. Default is 10. * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1 */ public function add_filter( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { $this->filters = $this->add( $this->filters, $hook, $component, $callback, $priority, $accepted_args ); } /** * A utility function that is used to register the actions and hooks into a single * collection. * * @since 1.0.0 * @access private * @param array $hooks The collection of hooks that is being registered (that is, actions or filters). * @param string $hook The name of the WordPress filter that is being registered. * @param object $component A reference to the instance of the object on which the filter is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority The priority at which the function should be fired. * @param int $accepted_args The number of arguments that should be passed to the $callback. * @return array The collection of actions and filters registered with WordPress. */ private function add( $hooks, $hook, $component, $callback, $priority, $accepted_args ) { $hooks[] = array( 'hook' => $hook, 'component' => $component, 'callback' => $callback, 'priority' => $priority, 'accepted_args' => $accepted_args ); return $hooks; } /** * Register the filters and actions with WordPress. * * @since 1.0.0 */ public function run() { foreach ( $this->filters as $hook ) { add_filter( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] ); } foreach ( $this->actions as $hook ) { add_action( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] ); } } } PKZ h 8plugins/catch-web-tools/to-top/includes/class-to-top.phpnu[ */ class Catchwebtools_To_Top { /** * The loader that's responsible for maintaining and registering all hooks that power * the plugin. * * @since 1.0.0 * @access protected * @var To_Top_Loader $loader Maintains and registers all hooks for the plugin. */ protected $loader; /** * The unique identifier of this plugin. * * @since 1.0.0 * @access protected * @var string $plugin_name The string used to uniquely identify this plugin. */ protected $plugin_name; /** * The current version of the plugin. * * @since 1.0.0 * @access protected * @var string $version The current version of the plugin. */ protected $version; /** * Define the core functionality of the plugin. * * Set the plugin name and the plugin version that can be used throughout the plugin. * Load the dependencies, define the locale, and set the hooks for the admin area and * the public-facing side of the site. * * @since 1.0.0 */ public function __construct() { $this->plugin_name = 'catchwebtools-to-top'; $this->version = '1.0.0'; $this->load_dependencies(); $this->define_admin_hooks(); $this->define_public_hooks(); } /** * Load the required dependencies for this plugin. * * Include the following files that make up the plugin: * * - To_Top_Loader. Orchestrates the hooks of the plugin. * - To_Top_i18n. Defines internationalization functionality. * - To_Top_Admin. Defines all hooks for the admin area. * - To_Top_Public. Defines all hooks for the public side of the site. * * Create an instance of the loader which will be used to register the hooks * with WordPress. * * @since 1.0.0 * @access private */ private function load_dependencies() { /** * The class responsible for orchestrating the actions and filters of the * core plugin. */ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-to-top-loader.php'; /** * The class responsible for defining all actions that occur in the admin area. */ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-to-top-admin.php'; /** * The class responsible for defining all actions that occur in the public-facing * side of the site. */ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-to-top-public.php'; $this->loader = new Catchwebtools_To_Top_Loader(); } /** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 1.0.0 * @access private */ private function define_admin_hooks() { $plugin_admin = new Catchwebtools_To_Top_Admin( $this->get_plugin_name(), $this->get_version() ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' ); $this->loader->add_action( 'customize_register', $plugin_admin, 'customize_register' ); $this->loader->add_action( 'customize_controls_enqueue_scripts', $plugin_admin, 'customizer_enqueue_styles' ); $this->loader->add_action( 'customize_preview_init', $plugin_admin, 'customizer_enqueue_scripts' ); } /** * Register all of the hooks related to the public-facing functionality * of the plugin. * * @since 1.0.0 * @access private */ private function define_public_hooks() { $plugin_public = new Catchwebtools_To_Top_Public( $this->get_plugin_name(), $this->get_version() ); $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' ); $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' ); $this->loader->add_action( 'wp_head', $plugin_public, 'custom_css', 101 ); $this->loader->add_action( 'admin_head', $plugin_public, 'custom_css' ); $this->loader->add_action( 'wp_footer', $plugin_public, 'public_display' ); $this->loader->add_action( 'admin_footer', $plugin_public, 'public_display' ); } /** * Run the loader to execute all of the hooks with WordPress. * * @since 1.0.0 */ public function run() { $this->loader->run(); } /** * The name of the plugin used to uniquely identify it within the context of * WordPress and to define internationalization functionality. * * @since 1.0.0 * @return string The name of the plugin. */ public function get_plugin_name() { return $this->plugin_name; } /** * The reference to the class that orchestrates the hooks with the plugin. * * @since 1.0.0 * @return To_Top_Loader Orchestrates the hooks of the plugin. */ public function get_loader() { return $this->loader; } /** * Retrieve the version number of the plugin. * * @since 1.0.0 * @return string The version number of the plugin. */ public function get_version() { return $this->version; } } PKZ:)plugins/catch-web-tools/to-top/to-top.phpnu[run(); } catchwebtools_run_to_top();PKZJ7i?i?"plugins/catch-web-tools/readme.txtnu[=== Catch Web Tools === Contributors: catchplugins, catchthemes, sakinshrestha, pratikshrestha, maheshmaharjan Donate link: https://catchplugins.com/plugins/catch-web-tools/ Tags: catch-ids, simple, admin, wp-admin, show, ids, post, page, category, media, links, tag, user, widget, seo, search engine optimization, google, alexa, bing, meta keywords, meta description, social icons, github, dribbble, twitter, facebook, wordpress, googleplus, linkedin, pinterest, flickr, vimeo, youtube, tumblr, instagram, codepen, polldaddy, path, css, open graphs, plugin, posts, sidebar, image, images, to-top, arrow, button, icon, link to top, scroll, back to top, scroll to top, scroll top, scroll up, simple scroll to top Requires at least: 5.9 Tested up to: 6.5 License: GNU General Public License, version 3 (GPLv3) License URI: http://www.gnu.org/licenses/gpl-3.0.txt A top-notch modular plugin that can greatly enhance the capabilities of a WordPress website with its powerful features. == Description == Catch Web Tools is a modular plugin that powers up your WordPress site with simple and utilitarian features. It currently offers Webmaster Tool, Open Graph, Custom CSS, Social Icons, Security, Updator and Basic SEO optimization modules with more addition in updates to come. = Here are some quick reasons why you should check these out! = Let's begin with how easy the setup process is. It's just a matter of clicks. One usual assumption people have is like when a plugin offers multiple features and facilities, it loads slow. However, Catch Web Tools offers modular plugins that you activate manually. Which simply means, that if there are 50 different facilities the plugin offers, your site won't take the load of those 50 features unless you activate them. You have the option of activating manually the exact feature's you need and not unnecessarily overload your site. Catch Web Tools is available for free downloads at this point. Which means, you will get a lot of advanced features that would make your site interesting, efficient and professional - for free! Catch Web Tools use clean coding that follows WordPress's standard guideline. Which means, zero hassles and perfect compatibility with your themes! = Premium Support = Catch Plugins team does not provide support for the Catch Web Tools plugin on the WordPress.org forums. Support is provided at [Catch Web Tools Support Forum](https://catchplugins.com/support-forum/forum/catch-web-tools/) = Translation = Catch Web Tools plugin is translation ready. Added Translation for Brazilian Portuguese by Valdir Trombini Added Translation for Serbo-Croatian by Andrijana Nikolic == Installation == You can download and install Catch Web Tools plugin using the built in WordPress plugin installer. If you download Catch Web Tools manually, make sure it is uploaded to "/wp-content/plugins/catch-web-tool/". Activate Catch Web Tools in the "Plugins" admin panel using the "Activate" link. You'll then see Catch Web Tools dashboard from which you can enable or disable the modules as per your need. = Webmaster Tools = Webmaster Tools is a very popular solution for your website and it is highly recommended by webmasters. It will help you with the Search Engine Ranking Optimization of your website. Click on the Activate button in the Catch Web Tools Dashboard or Check the Enable Webmaster module to enable webmaster tools. Feed Redirect/Custom Feeds * This section allows you to add in custom feed URL which will redirect default WordPress Feed. If your custom feed(s) are not handled by Feedblitz or Feedburner, do not use the redirect options. Header and Footer Scripts Section * This section has facilities provided so that any script from Google, Facebook, Google Analytics etc. can be placed, which will load on Header or Footer. Site Verification Section * This section allows addition of verification ID from Google, Bing and Alexa here to validate site. = Custom CSS = Allows addition of Custom CSS in the head section of the site. If CSS is entered and saved, it will show up in the frontend head section. You can leave it blank if it is not needed. = Catch IDS = Click on the Activate button in the Catch Web Tools Dashboard. Once the module is enabled, it will show the Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and User ID in the Admin Section Table. = Social Icons = Social Icons uses icons from genericons v. 3.4.1 [genericons.com](http://genericons.com). Click on the Activate button in the Catch Web Tools Dashboard or Check the Enable Social Icons module to enable Social Icons provided by Catch Web Tools. Once the module is enabled and fields are entered, social icons can be shown via three ways, shortcodes, widgets and templates. Shortcodes * The shortcode [catchthemes_social_icons] (in the Post/Page content) will enable Social Icons into the Page/Post. Widgets * Drag and drop Catch Web Tools' Social Icons Widget to any Sidebar for results. WordPress Templates * If Catch Web Tools Social Icons is required in php template, the following code can be used: OR = OpenGraph ( Social Integration ) = SEO and Social Media are heavily intertwined, that is why this plugin also comes with a Facebook OpenGraph implementation. Custom Meta boxes can be used to add OpenGraph tags for specific pages or posts. This section adds Open Graph meta data to site’s section. Click on the Activate button in the Catch Web Tools Dashboard or Check the "Enable OpenGraph Module" to enable social integration provided my Catch Web Tools. Homepage Setting Section * This section includes OpenGraph Settings for your home page. Default Setting Section * This section includes a default image field which is used if the post/page being shared does not contain any images. Custom Settings Section ( Only For Advanced Users ) * This setting is only recommended for advanced users who understand detailed workings of OpenGraph tool. * This field is for any other type of OpenGraph tag that is not fulfilled by Catch Web Tools OpenGraph Basic Settings. E.g.: * OpenGraph tags for specific pages or posts, can be added via Catch Web Tools Custom Meta Box which shows up in pages’ and posts’ add/edit sections once this section is enabled. = SEO (BETA Release) = SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, specific pages or posts and Categories pages. This section adds SEO meta data to site's section. Click on Activate button in the Catch Web Tools Dashboard or Check the "Enable SEO Module" to enable SEO provided by Catch Web Tools. SEO Homepage Settings * This section includes SEO settings for Homepage Catch Web Tools: SEO Settings * SEO for specific pages or posts, can be added via Catch Web Tools Custom Meta Box which shows up in pages’ and posts’ add/edit sections once this section is enabled. * Once enabled the settings will also show up in the categories add and edit page, below the main settings section. = Catch Updater = Click on the Activate button in the Catch Web Tools Dashboard. Catch Updater is a simple and lightweight WordPress Theme Updater Module, which enables you to update your themes easily using WordPress Admin Panel. Now, you can simple upload your Pro/Premium theme new version zip file from Theme Installer "Appearance => Themes => Add New => Upload" or http://yoursite.com/wp-admin/theme-install.php?upload. You also get an option to backup your existing theme while updating to latest version. No more hassle of deleting the theme and uploading new one. = To Top = To Top Module adds a floating box at the bottom right side (by default) of the page when scrolled down and, when clicked, rolls smoothly to the top. This is convenient when you have a long page, and you want to give your visitors an easy way to get back to the top. When a page or post has heaps of content, visitors have to scroll down to read those content. As they scroll below, all the navigational links go up. When visitors are done with the reading, they need to scroll up to see what else is there on your website. This can be very tedious. To Top Module adds a button that quickly gets visitors to the top of the page in a matter of milliseconds. Also, the transition is smooth and improves user experience. The other great thing about this module is you don’t have to touch a single code of your template. ### Features * Displays an icon when user scrolls down the page * Live Preview via Customizer * Scrolls the page back to top with animation * Set icon/image opacity * Set icon(dashicons) or image as to top button * For icon, set background color, icon color, icon size and icon shape(from square to circle) * Set any image you want * Set image width * Set the location of the icon * Show/hide To Top button in admin pages. * Auto hide * Hide on small devices == Screenshots == 1. Catch Web Tools Dashboard 2. Webmaster Tools 3. Custom CSS 4. Social Icons 5. Open Graph 6. SEO 7. Open Graph and SEO Settings Meta Box 8. To Top == Changelog == = 2.7.5 (Released: April 17, 2024) = * Bug Fixed: Deprecation notice in PHP 8.2 * Compatibility check up to version 6.5 = 2.7.4 (Released: November 15, 2023) = * Compatibility check up to version 6.4 = 2.7.3 (Released: November 19, 2022) = * Compatibility check up to version 6.1 = 2.7.2 (Released: April 14, 2022) = * Bug Fixed: Open graph custom tags/keywords not displayed correctly * Sanitize catchwebtools_opengraph_custom tags = 2.7.1 (Released: January 21, 2022) = * Compatibility check up to version 5.9 * Bug Fixed: Nonce and User capabilities check in ajax calls (Reported by wpscan) = 2.7 (Released: September 18, 2021) = * Bug Fixed: Security issue on ajax calls = 2.6.6 (Released: August 17, 2021) = * Bug Fixed: Undefined variable issue $get_image in frontend/inc/opengraph-tools.php on line 25 = 2.6.5 (Released: August 05, 2021) = * Compatibility check up to version 5.8 = 2.6.4 (Released: March 07, 2021) = * Compatibility check up to version 5.7 = 2.6.3 (Released: September 24, 2020) = * Added: Catch Updater module - Link added in info message = 2.6.2 (Released: September 15, 2020) = * Bug Fixed: Social Icons shortcode issue. = 2.6.1 (Released: August 19, 2020) = * Bug Fixed: Issue in add new theme page = 2.6 (Released: August 11, 2020) = * Added: Disable by default if WordPress version 5.5 or above is installed and show notice * Compatibility check up to version 5.5 = 2.5 (Released: March 13, 2020) = * Compatibility check up to version 5.4 = 2.4 (Released: November 20, 2019) = * Added: Big image size threshold toggle option = 2.3 (Released: November 12, 2019) = * Compatibility check up to version 5.3 = 2.2 (Released: August 20, 2019) = * Added: Option to turn off Catch Themes and Catch Plugins tabs * Compatibility check up to version 5.2 * Updated: Catch Themes and Catch Plugins tabs displaying code = 2.1.5 (Released: February 26, 2019) = * Bug Fixed: Catch Updater module: plugin update issue when plugin name or text-domain does not match plugin directory name = 2.1.4 (Released: February 25, 2019) = * Bug Fixed: Catch Updater module: plugin update issue = 2.1.3 (Released: February 21, 2019) = * Compatibility check up to version 5.1 = 2.1.2 (Released: January 22, 2019) = * Removed: equal_height.js as it is no longer used * Removed: Customizer preview enqueue additional-javascript-preview.js, no file = 2.1.1 (Released: December 27, 2018) = * Added: VK social icon in Social Icons module = 2.1 (Released: December 12, 2018) = * Added: Catch Themes and Catch Plugins tabs in Add themes and Add plugins page respectively * Added: Themes by Catch Themes section under Themes panel in customizer * Bug Fixed: Customizer header/footer script field showing when loading customizer even if the enabled option in unchecked * Compatibility check up to version 5.0 = 2.0 (Released: May 07, 2018) = * Added: Auto Updater * Bug Fixed: undefined index issue Webmaster module * Compatibility check up to version 4.9.5 * Replaced: div with span (Reported by: jacktester) * Update: Moved domain from catchthemes.com to catchplugins.com * Update: Dashboard panel = 1.9.8 = * Fixed: Webmaster Tools module Header & Footer script * Fixed: Set Catch IDs module's status to 'disabled' if Catch IDs plugin in active * Fixed: Catch Updater module = 1.9.7 = * Enhanced Security: Replaced wp_filter_post_kses with wp_kses_post = 1.9.6 = * Added: Plugin updater in Catch updater module * Added: Header & Footer script option in Customizer * Added: Toggle ID column option to display in selected pages in Catch IDs module * Fixed: Maintenance mode on frontend in Catch updater module * Checked: Version compatibility WordPress 4.9.4 * Updated: Disable Catch IDs module if Catch IDs standalone plugin is active = 1.9.5 = * Checked: Version compatibility WordPress 4.9 * Updated: Custom CSS to Additional CSS( Core Support ) = 1.9.4 = * Checked: Version compatibility WordPress 4.8 = 1.9.3 = * Updated: Make image link protocol-less http:// or https:// to // ( Reported By: pianoworld ) * Updated: Image addition script on admin theme options = 1.9.2 = * Fixed: Display on hover without scrolling issue [To Top Module] = 1.9.1 = * Fixed: Nonce issue in metabox (Reported by: james) = 1.9 = * Checked: Version compatibility WordPress 4.7 * Code Optimization = 1.8.1 = * Fixed: Catch IDs: ID column display issue in mobile devices = 1.8 = * Checked: Version compatibility WordPress 4.6 * Fixed: Custom CSS and Social Icons CSS * Fixed: Added catchwebtools_to_top_options in uninstall * Updated: Catch Updater class constructor name changed to `__construct()` = 1.7 = * Added: Social Icons Now have features to show their own social colors on hover and both hover and static * Fixed: IDs not showing in category and tags page * Fixed: Enqueue catchwebtools-to-top-public.js and catchwebtools-to-top-public.css only if to-top module is active * Changed: ID column width size to support upto 8 digit ids * Changed: http to https in links * Changed: #to_top_scrollup to #cwt_to_top_scrollup * Changed: Moved all options (CWT Custom CSS and CWT To Top) for Catch Web Tools to Catch Web Tools Plugin panel in customizer = 1.6.1 = * Update: Made the ID column sortable * Code Optimization for Catch IDs = 1.6 = * Added: To Top Module * Added: Pinterest Site Verification in Webmaster Tools * Added: Yandex Site Verification in Webmaster Tools * Added: Security Section In CWT Dashboard * Added: Catch Updater Module * Fixed: Undefined index issues * Optimized: Admin Styles and Scripts delivery * Optimized: Codes = 1.5.2 = * Fixed: SEO Author meta error in singular view = 1.5.1 = * Fixed: Custom CSS not working = 1.5 = * Added: Social Icons for Email, Skype, Digg, Reddit, Stumbleupon, Pocket, DropBox, Spotify, Foursquare, Twitch TV, Website, Phone, Handset, Cart, Cloud and Link * Updated: Genericons to 3.4.1 * Updated: Color Picker * Optimized: Social Icons Content Delivery * Optimized: Custom CSS Content Delivery = 1.4.1 = * Bug Fixed: Replaced text domain from catchwebtools to catch-web-tools = 1.4 = * Added: Feed redirect / custom feed options under webmaster tools * Changed: Support URL = 1.3 = * Fixed: Escaped outputs for social icons * Fixed: Escaped outputs for open graph tools * Fixed: Escaped outputs for webmasters tools * Fixed: Skype social icon esc_attr instead of esc_url * Updated: Genericons * Checked: Version compatibility WordPress 4.3 = 1.2 = * Added: Serbo-Croatian translation sr_RS.po and sr_RS.mo * Fixed: empty SEO title added when deactivated = 1.1 = * Fixed: SEO with title tags for version 4.1 or later = 1.0 = * Checked: Version compatibility WordPress 4.1 * Fixed: Admin css = 0.4 = * Checked: Version compatibility WordPress 3.9.2 = 0.3 = * Added: Brazilian Portuguese translation pt_BR.po and pt_BR.mo * Fixed: Textdomain issue with .pot files = 0.2 = * Checked: WordPress compatibility up to version 3.9.1 = 0.1 = * Initial Release PKZ%plugins/catch-web-tools/uninstall.phpnu[get_col( "SELECT blog_id FROM $wpdb->blogs" ); $original_blog_id = get_current_blog_id(); foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); foreach ( $options as $option) { delete_site_option( $option ); } foreach ( $transient_options as $option) { delete_transient( $option ); } } switch_to_blog( $original_blog_id ); } PKZ&4plugins/catch-web-tools/css/maintainance-message.cssnu[/** * Maintainance Page Css * * @package catch-updater * * @since catch-updater 0.1 */ * { padding: 0; margin: 0; } html, body { height: 100%; } body { font-size: 1.5em; background-color: #C0C0C0; } .pusher { width: 1px; height: 50%; margin-bottom: -2.7em; float: left; } .content { height: 3.8em; width: 16em; clear: left; margin: 0 auto; position: relative; border: 0.2em solid #369; background-color: #FFF; padding: 1.2em 1em 0 1em; -moz-border-radius: 1em; -webkit-border-radius: 1em; text-align: center; }PKZ-E]],plugins/catch-web-tools/css/social-icons.cssnu[/** * CSS for social Icons */ .catchwebtools-social .genericon:hover { text-decoration: none; } /* Hover */ .catchwebtools-social.social-brand-hover .genericon.genericon-feed:hover, .catchwebtools-social.social-brand-static .genericon.genericon-feed { border-color: #dc622c; color: #dc622c; } .catchwebtools-social.social-brand-hover .genericon.genericon-codepen:hover, .catchwebtools-social.social-brand-static .genericon.genericon-codepen { border-color: #000; color: #000; } .catchwebtools-social.social-brand-hover .genericon.genericon-digg:hover, .catchwebtools-social.social-brand-static .genericon.genericon-digg { border-color: #333; color: #333; } .catchwebtools-social.social-brand-hover .genericon.genericon-dribbble:hover, .catchwebtools-social.social-brand-static .genericon.genericon-dribbble { border-color: #ea4c89; color: #ea4c89; } .catchwebtools-social.social-brand-hover .genericon.genericon-dropbox:hover, .catchwebtools-social.social-brand-static .genericon.genericon-dropbox { border-color: #2281cf; color: #2281cf; } .catchwebtools-social.social-brand-hover .genericon.genericon-facebook:hover, .catchwebtools-social.social-brand-static .genericon.genericon-facebook { border-color: #3b5998; color: #3b5998; } .catchwebtools-social.social-brand-hover .genericon.genericon-flickr:hover, .catchwebtools-social.social-brand-static .genericon.genericon-flickr { border-color: #ff0084; color: #ff0084; } .catchwebtools-social.social-brand-hover .genericon.genericon-foursquare:hover, .catchwebtools-social.social-brand-static .genericon.genericon-foursquare { border-color: #f94877; color: #f94877; } .catchwebtools-social.social-brand-hover .genericon.genericon-googleplus:hover, .catchwebtools-social.social-brand-static .genericon.genericon-googleplus { border-color: #dd4b39; color: #dd4b39; } .catchwebtools-social.social-brand-hover .genericon.genericon-github:hover, .catchwebtools-social.social-brand-static .genericon.genericon-github { border-color: #4183c4; color: #4183c4; } .catchwebtools-social.social-brand-hover .genericon.genericon-instagram:hover, .catchwebtools-social.social-brand-static .genericon.genericon-instagram { border-color: #3f729b; color: #3f729b; } .catchwebtools-social.social-brand-hover .genericon.genericon-linkedin:hover, .catchwebtools-social.social-brand-static .genericon.genericon-linkedin { border-color: #007bb6; color: #007bb6; } .catchwebtools-social.social-brand-hover .genericon.genericon-pinterest:hover, .catchwebtools-social.social-brand-static .genericon.genericon-pinterest { border-color: #cb2027; color: #cb2027; } .catchwebtools-social.social-brand-hover .genericon.genericon-getpocket:hover, .catchwebtools-social.social-brand-static .genericon.genericon-getpocket { border-color: #f13753; color: #f13753; } .catchwebtools-social.social-brand-hover .genericon.genericon-polldaddy:hover, .catchwebtools-social.social-brand-static .genericon.genericon-polldaddy { border-color: #bc0b0b; color: #bc0b0b; } .catchwebtools-social.social-brand-hover .genericon.genericon-reddit:hover, .catchwebtools-social.social-brand-static .genericon.genericon-reddit { border-color: #ff4500; color: #ff4500; } .catchwebtools-social.social-brand-hover .genericon.genericon-stumbleupon:hover, .catchwebtools-social.social-brand-static .genericon.genericon-stumbleupon { border-color: #eb4924; color: #eb4924; } .catchwebtools-social.social-brand-hover .genericon.genericon-tumblr:hover, .catchwebtools-social.social-brand-static .genericon.genericon-tumblr { border-color: #32506d; color: #32506d; } .catchwebtools-social.social-brand-hover .genericon.genericon-twitter:hover, .catchwebtools-social.social-brand-static .genericon.genericon-twitter { border-color: #00aced; color: #00aced; } .catchwebtools-social.social-brand-hover .genericon.genericon-vimeo:hover, .catchwebtools-social.social-brand-static .genericon.genericon-vimeo { border-color: #aad450; color: #aad450; } .catchwebtools-social.social-brand-hover .genericon.genericon-vk:hover, .catchwebtools-social.social-brand-static .genericon.genericon-vk { border-color: #45668e; color: #45668e; } .catchwebtools-social.social-brand-hover .genericon.genericon-wordpress:hover, .catchwebtools-social.social-brand-static .genericon.genericon-wordpress, { border-color: #21759b; color: #21759b; } .catchwebtools-social.social-brand-hover .genericon.genericon-youtube:hover, .catchwebtools-social.social-brand-static .genericon.genericon-youtube { border-color: #bb0000; color: #bb0000; } .catchwebtools-social.social-brand-hover .genericon.genericon-mail:hover, .catchwebtools-social.social-brand-static .genericon.genericon-mail: { border-color: #1d62f0; color: #1d62f0; } .catchwebtools-social.social-brand-hover .genericon.genericon-spotify:hover, .catchwebtools-social.social-brand-static .genericon.genericon-spotify { border-color: #81b900; color: #81b900; } .catchwebtools-social.social-brand-hover .genericon.genericon-twitch:hover, .catchwebtools-social.social-brand-static .genericon.genericon-twitch { border-color: #6441a5; color: #6441a5; } .catchwebtools-social.social-brand-hover .genericon.genericon-website:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-phone:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-headset:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-card:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-cloud:hover, .catchwebtools-social.social-brand-hover .genericon.genericon-link:hover, .catchwebtools-social.social-brand-static .genericon.genericon-website, .catchwebtools-social.social-brand-static .genericon.genericon-phone, .catchwebtools-social.social-brand-static .genericon.genericon-headset, .catchwebtools-social.social-brand-static .genericon.genericon-card, .catchwebtools-social.social-brand-static .genericon.genericon-cloud, .catchwebtools-social.social-brand-static .genericon.genericon-link,{ background-color: #42b41e; border-color: #42b41e; }PKZO6fWfW*plugins/catch-web-tools/css/Genericons.eotnu[fWVLP*"GenericonsRegular Version 001.000 Genericons PFFTMu(VOS/2d,uX`cmaprcvt DgaspVglyfIHhead `BW6hhea$hmtxXSr8locaˋݮ0maxp8 nameRNh7post"P"*_< !z!z@.33fPfEd  DU`Sf@7Tn  & )9IYiv   0@P`p ) 2 , &     D,,,,ZFLb0$H 8   < ~ $Fb20fH@^z X.J ,@VdrT,N|BXf|J|0T~:hVp .:HV 8 !!B!!"":"H"|"""##Z#$$$HDdU./<2<2/<2<23!%!!D $hUD !!!55!5!%!55!   $264&"/a^ԖԖ^aaΖԖ*!%!2>4."52#".46xGGxxGGxV3UwAWVVGxxGGxx`@VWAwU3V !!!!!!  .546 qq>{(({ !#265!#265!jjjj4 5654&".54 &54>72654' jV@qq@VjVj1V9@qq@a&:TOqqOT:&a&a@uW:TOqqOT:#2+!7!2652#!#"&5463jj@jj@@jjjj@jj@jj!!'654''>54&'6;;6ZKKXccX[/B%OG65ZKjjKYY[/qFhG-w &54654&'>54'>&'.&'..'.'*7'&$&54>u ངJi##'5YcMI0i 27&,  $!jH:[tl}@qiG<'Lz:/􊍭 fMi)~y{dP,JlT..@x6M0V29_j3T !UH.6: >B$~d{{,9# %32>7.'327.=.547&54>32676Km-Z,,U?w#% 10NXKX2 :cKN3}lT9n0pNiͻsA&F1o ˄+2^cV )+Jc:=7@@i" '2#!!!=4637&#"#3!"&5463jj +BMi^X,,jjjj <7 6_uD9jj !!!#34>32"#"I-H^~J7j]d(4 I/4`WH6%-" !dn #"$&627&' 67>54.'.54632&$#"2326?6'.6326?6%654JlLAszF&p#PN: n雊H%l#",0%~TO&k##+#=zĦsALlL{d/.A!  11F3.Y5"%  9Vdp[n"X"  "(+9js1=!#".54>32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀1!!'#"&54632!4&#"!'!>32]JQegS7T,,VQV+G* I  !/3B$Rg9߇bIJa-M10M.iw%3 6]# 7ko <2#!"&5463!265.#"34&#"5!!47>32jjjjDQPBCRQA;2Q8" "9"EAjjjjO:1vٮ`4-Sydc"I"]fSX&<zdubE}]nI'S#Uv7$Ll7b]{⿜m<]@8{6z !i4kR39c1hJ.QpPb O  #pMxW2c #"'6732>54.#"67>76&'&54>32#".7>54&#"&54>u ངJJKHQyϐQ;rsvў~O)jgDGqej8P^5T% 1GC6Z5 qJJངJ*xc5Kk[o@7^|J*@ OyaQK55KK55KK55Kjjjj>F:쉉;E5KK5KK55KK00111#"'0/&'0&5&'&'.5&'4'&'&54&50&54545065614767652747676767676?076201030017 %7%%7' '%5B(B(BwƥG+:--  -OͿXn4NXn<2 $&54>&7#".54>767>?>32&'&$'32>5041.'&$676&'.67>76&'.'&7.'&'&67>&'.7>'.'.7>2$7654.''&$'&76$767LAsӞmmd|x {IKo̔W$@. Aga %hې**VtvTZ`~K jTfmt=> mn;>K.5V3,5,Z&&4+24-+(/.H  E&&F "(+[!"%VB3U/ Pfv8$A3 {TWU{f;WsMa6HspGJ WX-v.LzĦsAuokٕIH9XpFu2 Kl;{3-~ C8s*#"K~`k>M;>ik|x!R][K3-'=`aU+ G)*T!! J%%>8+I!+##T'!  Y0Ak. E^o54T-/=$7{32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀=f././67!>76.#'"&.>7>IEXD;+lowphW@ %44nTE!DC88@?XMR?1 $>R[\SA34KFSGH :) HCE{\) *2U]bYS7  #  "+$- -CkEL[J,"(3K--`QL:, in\Nr;  t)#"'#".547&54>32632654'&'&'&'&'&'&'&547632327654'&'&'&#"#"'&'&'&'&#"3276A3MdymOLr۸m<C1[xPwJFbsS,f;"#=;TRiV $ 47[b+*!/4#"88SUpil8975[X\>8"!>BhN-.,6"#64WwnpBgrdM:=lsTUrPx[1K ,Ssb]ThX=<(' ."$ >.$$-.20,,')IJ`fDB'&!2?*,!!50 !/KML/?..4+2#!".+32>54>32!2''K5@5KK5@AtGZ*1na@ !YF5K1$!'1$!'5KKjK(0(^-!TRU%&K3s'0?HP62#"'&46232#"&54632$2"&54%654&#"2$654&$#"67&#""264 $.547.5463267676>32#".'%>32*VV*8B..AA..BD\BB\B!+9)-S#ݫݪ#(/U,):-?..?-8.tu+vS1S\9R1JiiJ/O1MޯU26\6+VV+8.BB..BBBB..BB..=0)9'=gjkljjֶj/L=$9T.>.-@7[21eOOe263A#Sv-&a  H)1ii-M.<~ `(.6\#754.#"#".=!265>32!#".'57265Q%"/\]E\6/D/Nj?\]]\i/D/\%."ZY5[}D!//!爽k-[ZY[0.!//!$2 $546364&" &"7267j^Ζj&Kj%%jK&i9D9jaj%jK&%&Kj%##B   7 5qmqmqrB$#4HI4gs>sgYE2+"&'.54>376&#!"77>;267>76&#!"&=463!2>X:4Y/w* <("n##? bb>(9 +(,,o #" #"'! 2#!#"&5463jj@@jjjj@jj !!!!!3@ ! 264&"jKKjKKjKKj%  $&62>4.#"1ppoou՛[[u *[oppo[֚[Z[P"&4622!463jԖԖԖ ,!!!53!534&#!"3!262"&5#"&463K55KK55K&&4&@&&5KK55KK&&&&4&*:0.7#"&463!;0231!!!53!534&#!"3!26.3l&& K55KK55K .&4& 5KK55KK  +;?C5353535353!5353353!!!53!534&#!"3!265353K55KK55K5KK55KK5UUzz >7&"72?64Z$;:'" 8%j&&j&%8Z%/ .3R%%BB%%%j#"$$ 2>4." 8 ooxxxo 8 xxxx #"$$ 2>4."5! 8 Fxxxxoo 8 xxx (!!#!5! #"$$ 2>4." 8 Fxxxxoo 8 xxx+ %-  $' 6$  ." 3266  264&"dee * %uMLrMllO>aKjKKjfssggss+tsNSRNNSRŸ>5jKKjK+#+;"' #"'73267''7 6$32264&"%7&#" 7&54632!`d^TlKu.:e jKKjKjlL>q?l!fsO"RNtgsKjKKjjiRNq`m  ' 7 @@@@@@@@  ' 7 @@@@@@@@5+5%463!2264&#!"33#!"&5333333K55K&&&&K55K5KK&4&&4&@5KK5@@@  $%%$LLJ !'!@ !  !@ !  7/%'@`S`@`M`S`@`S``@` `S` !!@@ $2!4$#2 !4 &,#2"&4 ངJQn\ppppJbnrѮK\ppp#!".67>2264&"!+4tSBg<#+prp+jKKjK43ZF]7#@Uj8FIIFKjKKj5+3!!#".'7&462326"!!6$32"'.462"KW:&Kj&5M6K=‚Y&Kj&#Scppp.T;%jK%6=dY%jK%$20ppp+ ".53 654&#"2653#"&54 xx qOPp&4&qOPpzxxz@OqpP&&54.'/D%٧bx8eFHPdnb.pE,NhƨGFhuΎ!!!%!S@ !#! !#!  &264&"8uupC qqq>a qqq !264&"!KjKKjK43KjKKj5 +7?C2"&42"&42"&4%5!5!!!!463!2"3!264&##!5#5!4&&4&&4&&4&&4&&4&K55K@&&&&@&4&&4&&4&&4&&4&&45KK5&4&&4&2#!"&46;&54632>32jjjjBv,.rԖԖ!3-e{>B'!'&4?627KKJK9JJKJXKKJH9 JKJJ2"&4ԖԖԖ '!5!WWVWW!!WWWVV@ 7@@@ ' @@@@@@!! !! #'+/37;?5335335373#5335335335353353353353533533533532#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&2#!"&53!!#5463264&"5!!5jjjjjKKjKjjjjKjKKj!462!462!!.KjKKjK5KK55KK˘  (! !2#!!!"&46;&54632>32jjjj,TG.rԖԖ +e{>B$2#!! !!"&46;&54632>32jjjj,TG.rԖԖ +e{>B 7!!!!#'!Z&ZZ& !!!#5!y";!"&5463!!&47!"@5KK5@jj2225KKKjKjj77KjK``,4%'"''&''7&547'7677627%4&"2`:/<?>ɋ;0::10;AAɌ;01:ԖԖԖ   $4.#"6%327/a^2싈{H싈{EH^aa΋HE{H{2"&4$2"&4!!!!5!!KjKKjKKjKKjKKjKKjKKjKKjˀ!!!! !!!! 2#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&5!!5 2#!"&5!!!!463264&"jjjjjKKjKjjjjKjKKj   $"2645#!3#/a^gjKKjK^aa2KjKKjK   $264&"!/a^jKKjK43^aaKjKKj5 3  $264&"654'&#"6323547676/a^jKKjK%TT\d(4DER^aaKjKKj9:Qp@A^G#"*-,A9"-4       3!3!3'#%#33'#VT+VV?+  .>7>xI;'II(*EE*>Ef  ' 7 'k//j9999ǎǎ>> % 5! %!2#!"&54635!#!!35KK55KK5@K55KK55K  5! %!2#!"&54635!5KK55KK5@K55KK55K  5! %!2#!"&5463''5KK55KK5Z[@K55KK55K[[  2'.#! @쉖Jd@ԖJL2'.#! 쉖JdԖJL!!!".#"#2>32FoKKoFGl>39##93>lGFoKKo&&&&&&&& !!!!!!'.=!98pp%3K7qq$Z_22#!"&546354> !54&"5KK55KK5ԖK55KK55K쉉싀jjW"!2#!32654'&+32654#gooaPmaQdY11hue`FEgo=GB>MP #3!73#7!X(@(( !!"264'jKKjK@KjKKj@`  !!! )  % 7   $'?2$7'7//??&/'?7'?&'''7/?&#"77?7?777'+7///?''?77'2/a^ @J#84('  %&C 3 /(Ls!  "1  :AD[ `2"&4$2"&4$2"&4#)5@@!@@@@(08#"!.54626326=.5462$"264264&"F:j:FԖ :&zj:FԖ5jKKjKKjKKjKFu"쉖j#"vEjj.VBGj"uFjKjKKjKjKKj !!!!!!!!7 +3 &47'>#"'5'&"/3264&"%%%-!6jKK6@[%L%j%%%L%@5&&5% %j&$GR5LKj6J@%L%%%j%L%[@&5%%5DLT\d"&54>754&#!"&5467!""&54675463!.5462!2"264264&"264&"264&":FԖ :&K5:FԖF:5K:FԖF::FԖF:5jKKjKjKKjKjKKjKjKKjK]"uFjj.VB5K"uFjjEv"#K5"vEjjEv"#"vEjjFu"KjKKjKKjKKjKKjKKjKKjKKjT@3263  7 2"&4#qB pG0ppps5>Wspppn!) $'7#535.54623#>"264gdgFs:FԖF:s}jKKjKY˪YJf"vEjjFu" eKjKKjN\2+"&=4'#"$'"&=47&'#"&46;47&5462 >=462%"&'>32@&& "Zb&4&ZY&4&cY!&&&4&ee&4&=Z[;(&4&AJg@&&@֫ww@&&@gIB&4&P`@&&@ee@&&@[Vam3[@ZN !!!!3", 5!ȝrnjf233nQֽR: "&5463273!&'3 6PqqO4Y3qOOq3Y4P))! !! !! !! !! !!!!! !%%!! !v,v34w,va|v|  !|v|   !%!4w,v|v|(ag"+5 5!".54&#!!23"&'63!5 527#!쉖j쉖jZH)WZH)Wjj;~b[;~b[-Ib  $&62>54.'&!"36363272654'&$#"26363222654'&$#"3263632HpLj 6zLD f^ $'GOD3.s&j /3@3& XzLpLg   ;9 /9NX<4 'JC 4%3\W3E&3 &OK #!#!!#!!!7!_=-d_--CCY #!"&5463!2K55KK55K5KK55KK5!D |& *W ~ B f  L   5 hCopyright (c) 2015, Joen AsmussenCopyright (c) 2015, Joen AsmussenGenericonsGenericonsRegularRegularFontForge 2.0 : Genericons : 18-9-2015FontForge 2.0 : Genericons : 18-9-2015GenericonsGenericonsVersion 001.000 Version 001.000 GenericonsGenericonsf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF200uniF201uniF202uniF203uniF204uniF205uniF206uniF207uniF208uniF209uniF210uniF211uniF212uniF213uniF214uniF215uniF216uniF217uniF218uniF219uniF220uniF221uniF222uniF223uniF224uniF225uniF226uniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF307uniF308uniF400uniF401uniF402uniF403uniF404uniF405uniF406uniF407uniF408uniF409uniF410uniF411uniF412uniF413uniF414uniF415uniF416uniF417uniF418uniF419uniF420uniF421uniF422uniF423uniF424uniF425uniF426uniF427uniF428uniF429uniF430uniF431uniF432uniF433uniF434uniF435uniF436uniF437uniF438uniF439uniF440uniF441uniF442uniF443uniF444uniF445uniF446uniF447uniF448uniF449uniF450uniF451uniF452uniF453uniF454uniF455uniF456uniF457uniF458uniF459uniF460uniF461uniF462uniF463uniF464uniF465uniF466uniF467uniF468uniF469uniF470uniF471uniF472uniF473uniF474uniF475uniF476uniF500uniF501uniF502uniF503uniF504uniF505uniF506uniF507uniF508uniF509uniF50AuniF50BuniF50CuniF50DuniF50EuniF50FuniF510uniF511uniF512uniF513uniF514uniF515uniF516uniF517Ѩ!z!zPKZWP!,,*plugins/catch-web-tools/css/Genericons.svgnu[ Created by FontForge 20150618 at Fri Sep 18 10:24:13 2015 By Joen Asmussen Copyright (c) 2015, Joen Asmussen PKZ\66+plugins/catch-web-tools/css/Genericons.woffnu[wOFF6 VFFTM6u(OS/2E`d,ucmaprcvt  Dgasp6glyfT.HIhead0/6 `BWhhea`$hmtx8XSrloca$00ˋݮmaxp name397Rpost4P0"xc`d``b-Z6_9@bZ'X D& xc`d`` l D@.xc`a8՘u&fΐ$ UUDx-OP{ywtO`pxXf`N#?U'wx/+X0Ioq2_̈́/0wqFhtC6.Td8UmT -xc```f`FX1, 菜8?I~R/_)|fE/_$|),||||Llgp7TyۄE Q|I>!yd'*G=6Ïa^">"h)M$@RH?*k_(DL`Yn\ HrLcW53XxC/{׏q|J,d)`j:H1uY,R"DB7O@QR5OyCɚ@>xpq/D;39k{G6O5 Ym ,H쥽grfcY}bw&`~է{0gS~f8M (`_kg.?|þńVE5ɦD#1]n[Ov ZNچW*Rhls|Kacc>sAn>k P5-75(HVO^"ajFXo6)'[ nc,YP< Y:kvIttvt_h*9j wjlmʚ5SxW`B6 6>YE4iXϑ^խn`OGp|^VXXѺvh`˞Sml2 Ns;CD̸XV8cHl@cId f/^@ؙ~!Uw8KyEf. Q9^.bvH<ֽ.DqU|vKT["{q0ȁÞ'L7u+V!=M5v?>.HЏyl/ *īg_y en}o,r-=D],?9nK?66z޽+7*V؜xnTuû wJ9J3!pB`'4[Z˯vAX /u W!@FQsz\808^gh;b (4Џ*[ɓ_U,A| ޜ8#+vѧi_aGO8cX+#"aOnO_zE׶ŻNu(}M'@ JQ^Q0DL,`7AyqEc3ǹ v Xb1a@`@;>UQ""sq~jU V/'Wض 3o\/ _/*HyQhl$UU{oGW6KO]nͷZ7N \aRÿ:a^zFn&Sy%R}}5!YJH{vCSW76\ ~;$ЖK;X% "yEYK0lU!+VT޼3=as] ?Qn%ud8Eޯ!!3ՐA,~1m>/ꋆa=!׽E{7Zw Vr>dɣKGvItOgT Oq͒1wn/<Us ٪Q?G4͓c=Ew)#'1c]9# 2qdž>FETZ|&؄ =(L[lF :zhZG帡$lSn-yYn^4maI;+awq,J|Ŗef\)=?tA+0?Վ l*:λfW%[x(FOO)5=~0o ,ow2՗"},naʅ.I@P -lX?UBޙIy/,խDg\Oz'xߩLʳod@s%k]44ћWM0hT}xw/_i>|q c_-2l*6nuL4li֎7z&ݰM=t\[P|/u׽!wd3@2]}wO`c[HhuC;SYn3WM^[&YZ_v߸cuz=o\*H<|r 8'x,@&XjH"D[-0f&g^YWv_:+a6#LV?RY>l5)Ĉٓ[wΛ1b ‘Ɨ&gxJu4)?j=7sCĜ3߰Т9g-rnTJB+' y39[-գ.3ζ*o!I/'LXѽ|Ճ:oMn!(+=AW  !aUn 2P,2&ǔff aӂ}9&d5-2t ä,j唉+Quʶ^xp{ό*zI7}m);U8j">osذ3-_1!휽q^0աBVRVbYWgUغ%nԘ7|ŮgiyƩwKT ߶_:{xsE|#-w[B6{yyu38dBۂKF%V1nxE%'M q(aqWT"K%$T8xfF+=XdgG2`&F^1nPn9c MJ gLݕzl>s?)۰U =ܢ$dzfe [`-Z3 8W(X[v 3(ī0nb?^,(r b ~`.^xpGkh~B  yZOeÐ-G>F?x>YZ5QƁQoX(W╵Ef(9d ږ/oR'3dؼhwUwtWj[[s(4vHCpxjYׁV:x`poM B{%TH=,[)S6j)ᑾ =;G?n˫'9 *Byl}"fzF|$0L0<6\λaSeOF Fq4{k76/j-[^C=y>γm!/-{ϜhF=⩩Ǜqe?>ڹk gD#?yO3|o:A~rw!;dƙ$]~}ߕ r0$ܬ~T9},}RW*ݮrց=!Fd̉یut;,ÂV.a .ߝ"nEAyY_ѷ !q/LozKҳ] *s.2]5Ob* yk8L2oȰr0pˢhٍYVE53YW ug[˚+S^iItZK>K\bFd ThjÛ6䊲ZY!UU%t/ensAq9 r>oqؓc8G~`of͏n:g-Sb{9<6z~4DLSݓ eğkf43kMx'YLl:p\ws,}~Ꮅy;kwѯv?NJV?'bɑϟ]ݹg'vv_1D\0։H{ڭ"ULfjLk>G&Ԟ~=ܮlRLt[ 0>/6T>VXXFsMNF)9DH٩hgҴ%Hp ऄ=^Ly~]\d(iĺԢG-z&Qu?TU RBu ´)&o@0XP2aO:fμ{n;՘_i3~5sw59_3azz5Ǎ@E8o>ߣS!n N759aBp0_Sg KH(jm-< ak`mr/ %w*f;nɌ GC G4jasuG<ՙ'tv={7~~}:]oőtQ^-QM6߾Ufj@AWSӷʥߜamRmW628z88Pl :J&!7@(\S)[5g4B "wCU#ƍ]2%/R, 9~XKNzݗ'[IXʔafS[e|ʗ,3pfYOO_%\=gLLo[ /_8%D9:Wg㫎75#3Kx!Kdϙ#6(My`rJX[r/vm}+IXugumͺHmՀn{xoZ˚@ȁ=t/kӔwC7oW]y_Z`%ch3 ^Hhj'Hk,Mz@zń׫ ~K樖+ij(pU~"*AUTrx>8=( 0OB _o ^3 Pa1j?A%S!Z.Lܿ_1=&@p>eآ 6v 3״>`SK1 Fd3yHO s^vbU%^3hBR/fj  4 ާA/=[Gi!6f|T9 %RMV799P3գsdA |f9#t6%'~L<ѽ䌻az>I/?$i<1(NByuR\-,f1x,[y+f|suY쾼_wЏܱ/1k ƞ9WDٞLfy C]\Ha`wՐ pxmYnm -&aK2Ńo/yc%J7jSBx9,Ki-=ߊ1Uf8=.+3NK|q̝8k,fn\72ץv560?%A{jlLٝ@6u?Q#ʰ>1 Q/\r̙JS}7>܍J4Y{ ]SY)s`x9S1<[L>ɖ 2%vR> E`֋cs@)bŮ56qpg!GWu ;L8 pqN}_퓚?>tG7 [:/)KXR$ԽqoU} ޺ t><߷3ח=|HSL'[Öd:D:YTO>g*3* }3׋0 kkӁQ810}52'"Iү- S> ^2CU <ӱ"w  ˊ˔tי2I?3e]\xBɳiFGC4ʱ8 _eN%NDs=5J#Deh guq5AڎmL>9hOUol]Wz= %eK7צ*aVƿlal'MDZL&?m; $mm&Oʻ f][j^ .(\zEdBܦ'$S,\T/ǩZ:`M<[$EPa,jw;s'V蘀To YMd&1,ItX#&V!? l z| D,rw>>W(VMs-̳4O5L"Hg;s_ndM#A5(s\$}7>t{Bkn VobgᘬdY0C 89h.4~.?Te0+Jci9+cVL1\ۯ2vp3:3y. #!D|7_po''ޤppzn_Bn/!D{%1|NC zpbt_E9}\ VM.`f&GvoHcɼ.܎ü*N@[{[+~BSg_p^Ɗ 8ek scKc؜ Iu _" A(Ԝ8*=q 95mȡAF_Ѳ0i;P1 Q}ˁ8ʵ4DI7)*}(Q&uaYT\ n0~?\w%k;,2-(/ϥ;tP8}^d稌r 5` c4 ErhGsK9 f| mߧ%t\>Ճs/ȋ|l"듌,reg=$>ǮN&W%5[V1{Jƕ4RvAQ6@y̿[-# %-a)15/ţQInYS>zm0wⶆ 9sdOZpE7lytj'&7"6'pTTwAy)Ah%Aʤe_^pʅ %s.]}邷m{ݘݴ_ ZZJ[ISo#i;:3>1za/gk_h4Q.^rKδ["ac  88q{9VJ:]{SHM#fxpg ~ca6@ ~#J h1-o4N^Ncg /lA,Jj3iI3e##e0^#C0Bu2@xpY"EYGx Ba !7+ %Z#+]Q#8mIŤ"Yw,ːhS}E"AYvZrQ\Wp C"bdH6Cf 'dwq]'n_K)ɮMs^c,Ͷ&cCP,r; `Rژ?$X  r N5nG jcy>'xS68ʙ e8;)54ˇlG3kV~ķUhw$=oD=gz1~`ab׃:L-fޱ>@1MKBwӑ9G]bi4mY*ҍs8tW%\ !d[|Ae }5,x-Kp/vޠ] }R *Ii;ScS?ik0mKx[6_qn+ d# qcV?١b•[&gl]ڠlF YMzl3"qƐ2=lVB-P!~߽GIWW KSU(i'm:ë8Q8W$+3`4uϚ5S"sZ|<5S2eMxNCP0 m>t(,bK$v;jGƂ a5'Μ@eΌ:}W< 3ߙ?.C7nv@Ȣ<" 1:֡uDŽS3::Nqcz߇Q פn[:1{?Pɱcz17~y%/XΌV+Ɉfspos6@a=l ~vu̺aG;ʸ12.Ӑku;6ဇ}vXoRRLjwGnxƟ3Ox膉ۺot?g!75v&%?\<>ȸ[˟C+ǩjw{$~}f_]j[Mf!ls:r>q5X'M%`ۨ\pFaYaۘ@870%s^_ܛvOf0[g.dWpZM쯔(KΜ?h5c?<zj8c8mI&Ϻsg&Wu1݆xڍj0%NJ3~u)Il0$B j)X(]}CϊJB+ݯpO0 3 ⸃ ;'qqd%|<;7]<ñ{,qܧ|48Bjp aD1@c${4tBU5f#(󕖊;1FdiNɨXJ%2ӊxMŜ%2ov[Ԋk+RHk+$c3ڿ5>W"L`J3jU%Cg]I0 ZpECemBʔZq!PVZxmgU  = (frPrF J }OtUO^Z]Wo^Z]at1`$&!Ә`&'a.,s/嬠ME"ja%_5X:gAa=&6lc;;.v-{O/oc?8!s8'8)Ns<%.s_\:7-nso#?<9/x9cUmVf2f1k1͞^KzI/%ҐWUz^WUz^WUzI/%^xٻweޕ+{Wn}ט ЉwN瞰HzI/e^zY/ezzzzzW^+zEW^Wz^Wz^W5z^5z^;+Ί;+kn5י}f9`v]wYeq]wYeq;xc```d+їhS@PKZN-VV*plugins/catch-web-tools/css/Genericons.ttfnu[ PFFTMu(VOS/2d,uX`cmaprcvt DgaspVglyfIHhead `BW6hhea$hmtxXSr8locaˋݮ0maxp8 nameRNh7post"P"*_< !z!z@.33fPfEd  DU`Sf@7Tn  & )9IYiv   0@P`p ) 2 , &     D,,,,ZFLb0$H 8   < ~ $Fb20fH@^z X.J ,@VdrT,N|BXf|J|0T~:hVp .:HV 8 !!B!!"":"H"|"""##Z#$$$HDdU./<2<2/<2<23!%!!D $hUD !!!55!5!%!55!   $264&"/a^ԖԖ^aaΖԖ*!%!2>4."52#".46xGGxxGGxV3UwAWVVGxxGGxx`@VWAwU3V !!!!!!  .546 qq>{(({ !#265!#265!jjjj4 5654&".54 &54>72654' jV@qq@VjVj1V9@qq@a&:TOqqOT:&a&a@uW:TOqqOT:#2+!7!2652#!#"&5463jj@jj@@jjjj@jj@jj!!'654''>54&'6;;6ZKKXccX[/B%OG65ZKjjKYY[/qFhG-w &54654&'>54'>&'.&'..'.'*7'&$&54>u ངJi##'5YcMI0i 27&,  $!jH:[tl}@qiG<'Lz:/􊍭 fMi)~y{dP,JlT..@x6M0V29_j3T !UH.6: >B$~d{{,9# %32>7.'327.=.547&54>32676Km-Z,,U?w#% 10NXKX2 :cKN3}lT9n0pNiͻsA&F1o ˄+2^cV )+Jc:=7@@i" '2#!!!=4637&#"#3!"&5463jj +BMi^X,,jjjj <7 6_uD9jj !!!#34>32"#"I-H^~J7j]d(4 I/4`WH6%-" !dn #"$&627&' 67>54.'.54632&$#"2326?6'.6326?6%654JlLAszF&p#PN: n雊H%l#",0%~TO&k##+#=zĦsALlL{d/.A!  11F3.Y5"%  9Vdp[n"X"  "(+9js1=!#".54>32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀1!!'#"&54632!4&#"!'!>32]JQegS7T,,VQV+G* I  !/3B$Rg9߇bIJa-M10M.iw%3 6]# 7ko <2#!"&5463!265.#"34&#"5!!47>32jjjjDQPBCRQA;2Q8" "9"EAjjjjO:1vٮ`4-Sydc"I"]fSX&<zdubE}]nI'S#Uv7$Ll7b]{⿜m<]@8{6z !i4kR39c1hJ.QpPb O  #pMxW2c #"'6732>54.#"67>76&'&54>32#".7>54&#"&54>u ངJJKHQyϐQ;rsvў~O)jgDGqej8P^5T% 1GC6Z5 qJJངJ*xc5Kk[o@7^|J*@ OyaQK55KK55KK55Kjjjj>F:쉉;E5KK5KK55KK00111#"'0/&'0&5&'&'.5&'4'&'&54&50&54545065614767652747676767676?076201030017 %7%%7' '%5B(B(BwƥG+:--  -OͿXn4NXn<2 $&54>&7#".54>767>?>32&'&$'32>5041.'&$676&'.67>76&'.'&7.'&'&67>&'.7>'.'.7>2$7654.''&$'&76$767LAsӞmmd|x {IKo̔W$@. Aga %hې**VtvTZ`~K jTfmt=> mn;>K.5V3,5,Z&&4+24-+(/.H  E&&F "(+[!"%VB3U/ Pfv8$A3 {TWU{f;WsMa6HspGJ WX-v.LzĦsAuokٕIH9XpFu2 Kl;{3-~ C8s*#"K~`k>M;>ik|x!R][K3-'=`aU+ G)*T!! J%%>8+I!+##T'!  Y0Ak. E^o54T-/=$7{32. #"32>7!%3##5#5353& &Ed|Rvڞ_bruB $eddeApH6'3R|dE&_vu۞_NL    cʫc$6E;̀=f././67!>76.#'"&.>7>IEXD;+lowphW@ %44nTE!DC88@?XMR?1 $>R[\SA34KFSGH :) HCE{\) *2U]bYS7  #  "+$- -CkEL[J,"(3K--`QL:, in\Nr;  t)#"'#".547&54>32632654'&'&'&'&'&'&'&547632327654'&'&'&#"#"'&'&'&'&#"3276A3MdymOLr۸m<C1[xPwJFbsS,f;"#=;TRiV $ 47[b+*!/4#"88SUpil8975[X\>8"!>BhN-.,6"#64WwnpBgrdM:=lsTUrPx[1K ,Ssb]ThX=<(' ."$ >.$$-.20,,')IJ`fDB'&!2?*,!!50 !/KML/?..4+2#!".+32>54>32!2''K5@5KK5@AtGZ*1na@ !YF5K1$!'1$!'5KKjK(0(^-!TRU%&K3s'0?HP62#"'&46232#"&54632$2"&54%654&#"2$654&$#"67&#""264 $.547.5463267676>32#".'%>32*VV*8B..AA..BD\BB\B!+9)-S#ݫݪ#(/U,):-?..?-8.tu+vS1S\9R1JiiJ/O1MޯU26\6+VV+8.BB..BBBB..BB..=0)9'=gjkljjֶj/L=$9T.>.-@7[21eOOe263A#Sv-&a  H)1ii-M.<~ `(.6\#754.#"#".=!265>32!#".'57265Q%"/\]E\6/D/Nj?\]]\i/D/\%."ZY5[}D!//!爽k-[ZY[0.!//!$2 $546364&" &"7267j^Ζj&Kj%%jK&i9D9jaj%jK&%&Kj%##B   7 5qmqmqrB$#4HI4gs>sgYE2+"&'.54>376&#!"77>;267>76&#!"&=463!2>X:4Y/w* <("n##? bb>(9 +(,,o #" #"'! 2#!#"&5463jj@@jjjj@jj !!!!!3@ ! 264&"jKKjKKjKKj%  $&62>4.#"1ppoou՛[[u *[oppo[֚[Z[P"&4622!463jԖԖԖ ,!!!53!534&#!"3!262"&5#"&463K55KK55K&&4&@&&5KK55KK&&&&4&*:0.7#"&463!;0231!!!53!534&#!"3!26.3l&& K55KK55K .&4& 5KK55KK  +;?C5353535353!5353353!!!53!534&#!"3!265353K55KK55K5KK55KK5UUzz >7&"72?64Z$;:'" 8%j&&j&%8Z%/ .3R%%BB%%%j#"$$ 2>4." 8 ooxxxo 8 xxxx #"$$ 2>4."5! 8 Fxxxxoo 8 xxx (!!#!5! #"$$ 2>4." 8 Fxxxxoo 8 xxx+ %-  $' 6$  ." 3266  264&"dee * %uMLrMllO>aKjKKjfssggss+tsNSRNNSRŸ>5jKKjK+#+;"' #"'73267''7 6$32264&"%7&#" 7&54632!`d^TlKu.:e jKKjKjlL>q?l!fsO"RNtgsKjKKjjiRNq`m  ' 7 @@@@@@@@  ' 7 @@@@@@@@5+5%463!2264&#!"33#!"&5333333K55K&&&&K55K5KK&4&&4&@5KK5@@@  $%%$LLJ !'!@ !  !@ !  7/%'@`S`@`M`S`@`S``@` `S` !!@@ $2!4$#2 !4 &,#2"&4 ངJQn\ppppJbnrѮK\ppp#!".67>2264&"!+4tSBg<#+prp+jKKjK43ZF]7#@Uj8FIIFKjKKj5+3!!#".'7&462326"!!6$32"'.462"KW:&Kj&5M6K=‚Y&Kj&#Scppp.T;%jK%6=dY%jK%$20ppp+ ".53 654&#"2653#"&54 xx qOPp&4&qOPpzxxz@OqpP&&54.'/D%٧bx8eFHPdnb.pE,NhƨGFhuΎ!!!%!S@ !#! !#!  &264&"8uupC qqq>a qqq !264&"!KjKKjK43KjKKj5 +7?C2"&42"&42"&4%5!5!!!!463!2"3!264&##!5#5!4&&4&&4&&4&&4&&4&K55K@&&&&@&4&&4&&4&&4&&4&&45KK5&4&&4&2#!"&46;&54632>32jjjjBv,.rԖԖ!3-e{>B'!'&4?627KKJK9JJKJXKKJH9 JKJJ2"&4ԖԖԖ '!5!WWVWW!!WWWVV@ 7@@@ ' @@@@@@!! !! #'+/37;?5335335373#5335335335353353353353533533533532#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&2#!"&53!!#5463264&"5!!5jjjjjKKjKjjjjKjKKj!462!462!!.KjKKjK5KK55KK˘  (! !2#!!!"&46;&54632>32jjjj,TG.rԖԖ +e{>B$2#!! !!"&46;&54632>32jjjj,TG.rԖԖ +e{>B 7!!!!#'!Z&ZZ& !!!#5!y";!"&5463!!&47!"@5KK5@jj2225KKKjKjj77KjK``,4%'"''&''7&547'7677627%4&"2`:/<?>ɋ;0::10;AAɌ;01:ԖԖԖ   $4.#"6%327/a^2싈{H싈{EH^aa΋HE{H{2"&4$2"&4!!!!5!!KjKKjKKjKKjKKjKKjKKjKKjˀ!!!! !!!! 2#!"&5463264&"!jjjjjKKjKjjjjKjKKj5&5!!5 2#!"&5!!!!463264&"jjjjjKKjKjjjjKjKKj   $"2645#!3#/a^gjKKjK^aa2KjKKjK   $264&"!/a^jKKjK43^aaKjKKj5 3  $264&"654'&#"6323547676/a^jKKjK%TT\d(4DER^aaKjKKj9:Qp@A^G#"*-,A9"-4       3!3!3'#%#33'#VT+VV?+  .>7>xI;'II(*EE*>Ef  ' 7 'k//j9999ǎǎ>> % 5! %!2#!"&54635!#!!35KK55KK5@K55KK55K  5! %!2#!"&54635!5KK55KK5@K55KK55K  5! %!2#!"&5463''5KK55KK5Z[@K55KK55K[[  2'.#! @쉖Jd@ԖJL2'.#! 쉖JdԖJL!!!".#"#2>32FoKKoFGl>39##93>lGFoKKo&&&&&&&& !!!!!!'.=!98pp%3K7qq$Z_22#!"&546354> !54&"5KK55KK5ԖK55KK55K쉉싀jjW"!2#!32654'&+32654#gooaPmaQdY11hue`FEgo=GB>MP #3!73#7!X(@(( !!"264'jKKjK@KjKKj@`  !!! )  % 7   $'?2$7'7//??&/'?7'?&'''7/?&#"77?7?777'+7///?''?77'2/a^ @J#84('  %&C 3 /(Ls!  "1  :AD[ `2"&4$2"&4$2"&4#)5@@!@@@@(08#"!.54626326=.5462$"264264&"F:j:FԖ :&zj:FԖ5jKKjKKjKKjKFu"쉖j#"vEjj.VBGj"uFjKjKKjKjKKj !!!!!!!!7 +3 &47'>#"'5'&"/3264&"%%%-!6jKK6@[%L%j%%%L%@5&&5% %j&$GR5LKj6J@%L%%%j%L%[@&5%%5DLT\d"&54>754&#!"&5467!""&54675463!.5462!2"264264&"264&"264&":FԖ :&K5:FԖF:5K:FԖF::FԖF:5jKKjKjKKjKjKKjKjKKjK]"uFjj.VB5K"uFjjEv"#K5"vEjjEv"#"vEjjFu"KjKKjKKjKKjKKjKKjKKjKKjT@3263  7 2"&4#qB pG0ppps5>Wspppn!) $'7#535.54623#>"264gdgFs:FԖF:s}jKKjKY˪YJf"vEjjFu" eKjKKjN\2+"&=4'#"$'"&=47&'#"&46;47&5462 >=462%"&'>32@&& "Zb&4&ZY&4&cY!&&&4&ee&4&=Z[;(&4&AJg@&&@֫ww@&&@gIB&4&P`@&&@ee@&&@[Vam3[@ZN !!!!3", 5!ȝrnjf233nQֽR: "&5463273!&'3 6PqqO4Y3qOOq3Y4P))! !! !! !! !! !!!!! !%%!! !v,v34w,va|v|  !|v|   !%!4w,v|v|(ag"+5 5!".54&#!!23"&'63!5 527#!쉖j쉖jZH)WZH)Wjj;~b[;~b[-Ib  $&62>54.'&!"36363272654'&$#"26363222654'&$#"3263632HpLj 6zLD f^ $'GOD3.s&j /3@3& XzLpLg   ;9 /9NX<4 'JC 4%3\W3E&3 &OK #!#!!#!!!7!_=-d_--CCY #!"&5463!2K55KK55K5KK55KK5!D |& *W ~ B f  L   5 hCopyright (c) 2015, Joen AsmussenCopyright (c) 2015, Joen AsmussenGenericonsGenericonsRegularRegularFontForge 2.0 : Genericons : 18-9-2015FontForge 2.0 : Genericons : 18-9-2015GenericonsGenericonsVersion 001.000 Version 001.000 GenericonsGenericonsf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF200uniF201uniF202uniF203uniF204uniF205uniF206uniF207uniF208uniF209uniF210uniF211uniF212uniF213uniF214uniF215uniF216uniF217uniF218uniF219uniF220uniF221uniF222uniF223uniF224uniF225uniF226uniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF307uniF308uniF400uniF401uniF402uniF403uniF404uniF405uniF406uniF407uniF408uniF409uniF410uniF411uniF412uniF413uniF414uniF415uniF416uniF417uniF418uniF419uniF420uniF421uniF422uniF423uniF424uniF425uniF426uniF427uniF428uniF429uniF430uniF431uniF432uniF433uniF434uniF435uniF436uniF437uniF438uniF439uniF440uniF441uniF442uniF443uniF444uniF445uniF446uniF447uniF448uniF449uniF450uniF451uniF452uniF453uniF454uniF455uniF456uniF457uniF458uniF459uniF460uniF461uniF462uniF463uniF464uniF465uniF466uniF467uniF468uniF469uniF470uniF471uniF472uniF473uniF474uniF475uniF476uniF500uniF501uniF502uniF503uniF504uniF505uniF506uniF507uniF508uniF509uniF50AuniF50BuniF50CuniF50DuniF50EuniF50FuniF510uniF511uniF512uniF513uniF514uniF515uniF516uniF517Ѩ!z!zPKZerr*plugins/catch-web-tools/css/genericons.cssnu[/** Genericons */ /* IE8 and below use EOT and allow cross-site embedding. IE9 uses WOFF which is base64 encoded to allow cross-site embedding. So unfortunately, IE9 will throw a console error, but it'll still work. When the font is base64 encoded, cross-site embedding works in Firefox */ @font-face { font-family: "Genericons"; src: url("./Genericons.eot"); src: url("./Genericons.eot?") format("embedded-opentype"); font-weight: normal; font-style: normal; } @font-face { font-family: "Genericons"; src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAADakAA0AAAAAVqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAA2iAAAABoAAAAcdeu6KE9TLzIAAAGgAAAARQAAAGBkLHXFY21hcAAAAogAAACWAAABsqlys6FjdnQgAAADIAAAAAQAAAAEAEQFEWdhc3AAADaAAAAACAAAAAj//wADZ2x5ZgAABFQAAC7AAABIkKrsSc5oZWFkAAABMAAAAC8AAAA2C2BCV2hoZWEAAAFgAAAAHQAAACQQuAgGaG10eAAAAegAAACfAAABOFjwU3Jsb2NhAAADJAAAATAAAAEwy4vdrm1heHAAAAGAAAAAIAAAACAA6QEZbmFtZQAAMxQAAAE5AAACN1KGf59wb3N0AAA0UAAAAjAAAAXo9iKXv3jaY2BkYGAAYqUtWvLx/DZfGbg5GEDgkmLVWhj9/ycDAwcbWJyDgQlEAQABJgkgAHjaY2BkYOBgAIIdHAz/fwLZbAyMDKiAFQBE7gLWAAAAAAEAAACXAOgAEAAAAAAAAgAAAAEAAQAAAEAALgAAAAB42mNgYf/MOIGBlYGB1Zh1JgMDoxyEZr7OkMYkxMDAxMDKzAADjAIMCBCQ5prC0MCg8FWcA8TdwQFVg6REgYERAPvTCMQAAAB42i1PsRXCUAg8SAprl7FN4QZqb2WZGRjAIVLrHj4be4ews7OJHAd54cMBd+Af7JHmt3RPYAOHAYFweFhmYE4jlj+uVb8nshCzd/qVeNUCLysG8lgwrojfSW/pcTK6o7rWX82En6HJwIEv+wbi28IwpndxRu/JaJGStHRDq5EB+OKCNumZLlSVl2TnOFVtl9nR5t7woR0QzVT+D7cKLeIAeNpjYGBgZoBgGQZGBhBYA+QxgvksDBOAtAIQsoDoj5yfOD9JflL7zPGF84vkF80vll88v0R+yfxS9lX8/3+wCoZPDJ8EPil8ZvjC8EXgi8IXgy8OXwK+JHwp+Mrw////x/wsfHx8HHxMvJo8Rjw6PGo8CjxSPCI8fDwc3PVQ2/ECRjYGuDJGJiDBhK4A4pXhDABtHClYAAAARAURAAAALAAsACwALABaAIQAzADyAQABHAFGAZQBzgIIArIDTAOkA+AEEgTCBRYFYgW+BjAGwgbkByQHSAeCB+AI2Ao4CowLGgvQDBwM6g08DX4Nug4kDkYOYg6ADsoO7A8yD4gP8hAwEGYQpBDuEUgRshHUEfYSQBJeEnoSlhLEEtwTIBNYE6oT6hQaFC4UShSQFJ4UtBTyFSAVjBW4FegV+hYUFiwWQBZWFmQWchaIFuYXFhdUF4gXyhgEGCwYThh8GNYZEhlCGVgZZhl8GZIZoBnQGhIaShp8GtIa6Br+GzAbVBt+G8Ib/Bw6HGgciBy8HOwdHh1WHXAdmB3eHvYfIB8uHzofSB9WH6of4CA4IMghACFCIcQh4CIGIjoiSCJ8IpYiyCLmIxAjWiPwJCQkSHja1Xx5YFTVvf/53nUm++zJJJnMkpkJJJkss5GFMIQ9w04IS0BZRSJLMIIo1l4XFETQFkVFBKwVrbuWpRaXPOtalZaCPKu1D2yf28NX21qfQubk9z3nzoSAS//+Mbn3nnvuuWc/n+/n+z3fCxHIaEKEJfJMIhKVhJ4GUtP8jCqRz+ufVuQ/NT8jChgkT4ssWmbRz6gK9DU/Ayw+bPKY/B6TZ7TgpuVwN71Unnnm0dHS24QQRSACUYis8XyzST6xEAch4LF5ZJsnKkc9NsDDj2ETXgUikT4iaClNJEBSGoZIP74qa+l//YRfKB5EAEyj4g/ztWBZbslcIEjucqHATOpjkYBXsYo18DNYeOQI3UMvonuOHIHXj+/YcXyHSs7FLGQp+o7sYA8IFq+BpmqKhtk6SDEZinWVWfMsHlLfIkRCgjdPsLpAtMlRUu8CmzVP8HlDEInJmkC+wcbihT54cN/6cePW79Mv/f1E+MUT2zvCM68cOWt7Rwc2pk8TNQ3IWW0gEbuI3yxI7KW9HdtnjbxyZrhj+xPbWX0EYhjcf9h3Jg9gldjBfhLm1af1ERF7BTAEmoxngQDeU35mB/YPsDiFtU0gxChgX2tn8S6FP3zG38O+zMWEVkU1yaYQRCMxt13WblvTT9bcdgpaTsnahlcqUp9owt0Vr2zYc+oUHwN8S2FjwMYV62PNA5+pPhaFc0EP4JhuPr2la4eQCVCsNRvnLac3A9nRNShIBFZPXpciEmHjareZsEbRWNTEBhVvHDasmyniwP7HJ+4AhlsgbmOP7PUsWVA8DFmHuzoSa3avSXR09XZ0HaZfHa7raOARKjm8kWoLdwfuamwHbcqaNVOo1t54V2D3QtA2nsQL1TYePrwRtMTaWUWYhvI0gGlYz5FeldWtgPiwvfW8bpVgAk/cwxqtR/hwhHxeVq9YWNG6duzo0miCHtBgy55TlN/jbYIHFGwyi6IJ6NVO7RG0c7c7ugBDRITMuMlYqovNAFYeuNg4BWPRSBCDBRhsEaKRQJCl5mOvSfmxpqbY3GQSCmYvXjy7s6bVP2WcjI/P4iEUxG7ddWt0brKrC5/P+Yz2fTans2bNjWMvPTwOi8B2Vhtw5pEr+cpyCWabVVAkVQngpGDFtChYcIsQCIYgT1ADQUUNifmQB7g4HIrN6pIdiponhCAYkoJDMd7ucEkOlxK32q02qxIMlAewtuYWQVwLdsg6+fyNbcufpfRunw+CruicxZMm1JYsV4zGfIuUV9+8OH7VzTdfFV80IpSVVZBvMErLS2rHT140JxrJtYfGjRjrFIyl3liplFNkNDlFY6nTmwuKwx0fu6gZfL67aOrZ5W03Pn/SQNiZfrXlIfr62RfrVXeh9JvpoxY4FUt5/eRFm2bsvTy/YvzFdSDK5jq/F8DrrzMpglAxtSFekt2zZ/rmRZPr/WYl1JmVJxdEq6VcX3GhoGY7zaAUuoZ5pNwhrqF5WabyKXVZhW4l/MJZaHhoC28cdiIDKkJ4nxqIiZQittSTBJlKiL8+LogKUe3+mDleLrvAjLhidsRIPBDMAda9LsERkxwCsETlccHiVXx2S4sUD1SBWyIIewRxjzDgk8iBw54n/0w3db0rjt/1ViE9TY/nNXaeue+KFT+Cxz4uSNCP6Bp5+biD/9dsLw0qj8DEq51nG1+if695Cb68Zevjbs19yW+VvZO2LB9yLT1Er4JdsAEsP/85/ZxupEvw+PznPweLNhWq4MY2evS13r0roL03FCq+m/5W2Jx4iP5u/dsQm1SrddTDuw0Xd7lKw+05HqUYSuGfM+nhE/bxIXBCrGAf3Sc0ultay6/9qXZB5lggL5R1FyAeVyEef0Aa8EZR7Qi4kuRz++3helzyOL0wgJfhOL8YXsXtkgNnaIsQrrc7YvE8UGOqllwpVM/Vnvo9pdvoEdpfVTXzgZ+MuPJ5n99dV/vjhyfPTs6uvwVu+TCrcfGm5OQt4R+tsLY3rFJquycX25Yff/vwfT0jH5QDY+vEbavV3KI3b5QrxfqfXbS445E3s4dUtm1a3Dg8XpRILPfm6vUlKD9UjQQH0MGHKG3xDEcZEXbEAz4UIKUIiyg0zwMI+hHk5dCPKlv3yZOWX/TT2VWUpqrYAxUR4SxB6HwNpN6c5jj8Iyt28drRp2lfqmFHl4xPOLZjufLHWK6b4YPIBAMrI9IiYU+Ugejl5YrSbpiQT1+lvX/+s6N6/EXXtsW7nE51/pKKiNMofU2P9h0SJ0ANCJEFs8bHShVRpB+Z/NVeUTASRJ9M2yyIzB6yhKzi2GA3s0HxeXFFF5hjgDMXFKjHuZsNdgtYYvEWMRphQGBA6AjXOwLlPq+kqPXh+tgIiNkVVVHBIiKOxBz2c3F+HGpVjJmjEbENVsDEL7aN7Nn38idXH6T7v9i27Qv6pzNv0x+PFQO3XC8JX/+j+y/gmypIBXkW1VFoBYdslvMkVZjcCMZV9NN7b6H9R8YXF/lX+Lw2S561qhb8T13bbs23WjdOCVzm82GkrVLwycO/OvSeqmHu+w9e/cnL+3pGbvsCJvLSU3mn6YYlUul9fTUhWREeSo30SHv7dkOOklNXNzZcGJoT9Qp+gzu7JL/Qlt3QAUu6Ox9YJQsilHlFWei7SzDBbFXwuiErE6lWVN68M9XQBT3vH2FzXSC3wj9Rlm4ldWQ4G0W73q8hITOh1ZARh5FBLM5+Me7xh20+my/qi4ajYeE9IZAbGLPkmh3T1723++JF9797+do3WncKVqO9oMjucpWblz66ZMmjS0d2j48VSXS/uE9nVJIWDE/fcc2SMYGLd7+3bu37uy+ePPEeyFVzDdmqURIXP/rbRxeXx8Y0Fb3Nk2M9RZ13Kc8jJzFjXTkjCTJxx4YX4R/FPkZF2FQHFYWyxxz02FoUfCbYhPn0ILQ9KExbumxGvL0KqjrkAnpoWkfluKG52fSQJMGEbJvbUxNuLZ++eVkDEPG/bl40oW1h9aS62kmhszsF8/Ir/WF3cSz1n+L187eaSnzFxZbs+GWPr2ZcKT0/Gct0k+ZBKzC91Bg/saCYDoEPiYTVjhG8moIa9dgLbCrWOs672mbSVyVbeCiGHfSbG0ZPg6mto6ZPGyk1PbSpftowbwH9GgAMhixvg3fMyMwy1ZfkGSIW9X0sbpzS2DxpclPjlL4N8NqTB4sqg4XdHtpz4CAcrrQ5h5Re3E5nY2c+isJhGsqFqazGLkkf9kBQwJURDMQtbALEWKWsrD/ZGsFVEULemYdJkQSpeewvyOeJLNWt++MT2xZEqmdctePgksVPeicUeOffqZb+TMqzb71kxuxAc57j6iVrn1005obXfzT/0ZtXTQjOMKuqaBVUn33munj5xBV3/fIvBhJftGnvgfkbPnxx18rm+Qn6wbAN22MPXy08ZfQsj9x6+LLp4e3/0bD49l9B3cFLn76uLTSt+6a7p965yOYszJmSVWgy+u54rnvS7nu3rp9Vr+N4RvYtzvCJAiFPwGYGY3ELn8/AGiXqjbI77AgbEI8Fgmk0x6nD2CRS7TinOWxuYboywE5yBMiFXCIt5+/YliwZX7J12lW/u31a0+W73u5Zd3T3tVOGdC0zl8iCSZDlvNHjtN41Sx/oGjZ1x0XRdn9Odp1r3KjY3GiBwbjG4pAP0NO7BjMH+hn9iuU/dP1icEaTlx0G8c7Ox+9YnYhfdM3td7bdcmyoIc9iSGRZbaYpVy185uZpzctvm7n96zujndGaXVcObZ01+upk5TSLhfpnLNo8BRyw7sgAQRDIXmGBukDei4srn/PeAuS2BeXpq2yF2V9+SR/+MnVFOiDvZecv03d41eUlUW9Xc4gXbyQR+bkP0TuIkwWpYhx/FrPDjCITQxhlVjaAtSAHlaGfpu5bsco7bZ71qvaN1z0152hdxNo8YdiabkPBpsSYG1VioA/SFB1Oh0AZ3HYtlLWvuKLnboOV/p7+agr9+1NPzbu7FB5nbcjoT/mIDd9af0ZBIag27OnjZ+CanoKsl/J7Ac99nL0SgHeJplTgWvbqWgUqEw47kw9xEwoHnDaMeEZNvihvVFwaBb+gs0wF1c0TN93cM3/+ig0XXzSqNfJqVzIZqjapGm2iH9PIrqoqZ/ls+lHMbi8ra2i8boOwNuVLJObO2cKm52D8cJBqjsEX1J+4lQK7O1aANeKr0c05B9bNHkb2b8J5WQlepRSs9iaojw2GELGMvnSKqVBIzf/XvPk0/ez0ZjP932RUJtFkMqqlT+ejCCWn9Lf6TolkbCMqSKg7NY1JsVekA5l3knxp9QOooPSTbeSnZAe5h9xH7icPkoeZNodNsNUq7M+q1KHOoNQpqpWdFBsDFOxOJR9A8QahtgYCwdpANKB3byAYCfIVGIhiZAS7IFobi8bqIqzPo/VxftV/I6A2DrF6B9Ta62rtYbtj4GdjRy37szqsdXYwyXEjOPyyLQ4mv+qPB1UjBGV/VFVx1Pk/Af+E9BkvqVZThSnVCiLgdBZZrADn/RNgIDGKVuEFTC68AAIM5JHOCDArcH2cujJ19mNwpV59EO6kH34sjPv000+hUpA/ph8KjQ9K/5AlWi2oAkjsHVaowIpM54D5A63OzoFjLPt0TUX+HC+AL+GLEhyTZAFkEPCWHew1ngE7H8vOptXpFop6jqwMlgzfgCn07Rd3wmz68M4X9/5pVeoFiLx47+Rdu3ZhaPbOF+//06rz56oF5dwL5GM2V5GJFaCO5uaqVQsSYVTXBJQPDrsUV9I8AjEVgXUEMEzFFKiHWTgDUxiRRmStjdQhVQuUsyj+aoyBcAgUPUI4B8whIRjggocnY1Qcc2MP2T0TSiIqi0GO1w6XiLfsjfStAPXlOINQiAVZlojhEpYZDJjjMYyPK5KCcG+2SxI5yJgfI2T0Dkb8OAc8tpueWLlyidW075r14N4wIbn6rTtmlSdC2KNGEUb+/OVlD4Brodt/KX3/dnHo0I4tV6xrn7vgyWuT2V3tl9AvV14xvCXLsHPlqv9qanEkQxs3RTsstnBBVbS0am4gEDEYzEUFlfXFzki1udghK5VlFTWh8bmohxlt9jGBwFirTTYbi70V9spOj9cvCh0bW8Mza3Js5qmXrBtWPjJsKjaaHRsebp91+0y64TRsuqRp1o43eibdsNAZG9/TTQ899BD9dFxb7qzZUP2MyXwv/fSNdde9DyGdd+rNZLQzzUDvMqxdfRn945139E8Yn9dgm739re6xm9bWY1uzBEiuaLp1Q7j62jtTWaNuGtYz1FfiTV775ALhshdbJlmbWpZfds3637g80+d3fpgMV1uDwxcsnFlcWaZm5zkc44YMbfc4PBZByHGai9v8/haTXYFhlQKUTSh1eQSo9Pnag1aP0yIZi8rcc2pHXhYy5Yy5aHU00l5tsOfVDC+Pb2ieclU0P2flA303f/3WTTeuPXrvZVb3yq3T7qJPrN/QXer8rz27YOU99/7BJQk5t7xL/7x7H/3D+9f//8R1mT73Y3W4ej25BG9cuAjy5BAqSKY8A858HnIJsTiKJ5eI+ngspPiC3kAeJgOXWAZqSMLF0iK6RIe8Wy2aMGb26CZnXlnlitVXdl86K2E2I+waTFa3P1IaWdU+xmzxjB41rACGKdbEiNmTpo+oyxLKW6Z3zpsx0mKRCsKR5NgZ48aXFBeJJmeR0XhKdTQOKc0eP2rMww899bO7N8xzqkPEnKH1M+ffsO3QojmbZ8Qtcm6uqtD/EVS7w+3yuUqzzUKRKycXCr2VeeXV4jOpjwQ5W5It1aMuGzPx+s62Km++ASFJyS+sCCerqxdMm9hYlZP9htG9fNWD9786b/LlTW4hr6QoKz2GiEFXIAYNIddh79hVbgwNMqiRUCwy5iaivseUAtlmBWapCgz+YRqmD9rTgn3gORITJpusg2SINS3zB57bMnQgpo4Mw6QbDiy5auWUiZe//yukq6ZRdZ3r75y69cq2sYteeHB7z4wqekmT1ze8qX368g6Xu9xtKYjEOxdVDvWUOIpqIj5vkXPYsBkzu7ctXzGsIR7tnL1xXsswr6el9dLJ1aFCp8NWUlYV8/pikVlXHrxnVbfYuuzyJQdumNSYN3zFrmff62mfefnGqXeu76xL5lTN6Nn+4AuL5tPftl86e3hzRbDY6bAYjeZ8zCPkLXe7W0I2e3l5dai+FqmIMzhkQtuCS0a3BgMlVrPJ46ofMbTKbvN4orWFRagDJSdNrBkRCnH+jKyIKMzuGGESHXFX1wbwrFQiS+EcJSRUgomjOO94Zp1Gwe6ptyuaPVhkZ0cymmCsgSZGXjFu7lCtt27VwgSoiACeOWMLDAbYG01KpLiu3OAJ6mdM3ZWsqK0QtIvu/3qzbKr2lLTvnD5zrz+Q1Cn927BVDas93KIVJLVkBBmPesxmrGUMq6UPWwSJAY4VYC3TWqK9nKkzCrvzxzidV+0oE1iQWwesdgmsjhgzlyjEqzCzbsRi1e0/gBKO866MXoTpLCimHHILYgXrCtQSgn7R7mD3LpBezx/qyu949nBHvmto/rDbfkL/1hoKjRwZCrXC6HmtrfNaBU9lw5DqshmpLY+C75FH6AePPkY/eOQR8KU+rKiZWVo1pFGuxoEYUb1vWCjvilfoF/QE/eKVtQWllUXrZtTNKDn03/Nks9kGDYXT69qWL2+rmVIn0jOT/vxkycz62LyYaMh3VeZ3dORXuvKHgRJqxeJbW/VzKDS8rHZIQ3B4alnXgctWHOzqOnjiYJdwb03JxOHlDUJ7qCVUnUg9Fe8srq9b+uzGKVM2/mop6n/hkb4Z66oDC43whj07Rx4/pG75HcurJ4Wa6bU5CypCsXlsfSK/Znq6RnwkjuPBjDBM7RX5loUwHDw23VzOu81hU2VPRscKRh1x/aE0ze63e2sA5t03f4w2LwZqzega+bUtW16X7kMaoc7bPX/+7nmw/D6Mlo7Os/ttIS8tm3vPnGjnj0YfPeKpqfHAx5uef3HTZdU/Ptq5a+6cnZ1/qA0dZ/FEryPbP8B5nU/KM3ybb+Lo+jrbxkF+yPZyHBB3IamOOxRkxpn9GyTW7wWSXX76Hn3P35UMwHLZ1DC6wSSr3Kx+VN/iOcrs6Kl9LAF9H/z8hR1Sqc9XKhHdrvUCcqnWgT0WByFG0WTMiduMEHUIt8Ga1Od0O6wULBTDggVWpv4u5NPtqc9hDb0dLt+d+iL1xW61lb5FD0F56lnw0V/RtyAC4+kH9CFxL/0TTIDI2W/o28t66EvQ0rOMt10ghCpzsO0uMoa3XRUFNU9iKoQKeaBrOEwcMr6F65vtb8TNyLCYcqGzMKaZcMuiBxVo+dXZjdbIHFlWrEU1rjMGWaVX5g11Z1vL8suaK4RTXtlpSa2ylcr/dFpLyz6wFouCS5RcFvr3Yp+vGEZk2wtUsmgRpbTFarVV2MyCgTYU5IqyWlkh2xxVVSV09S/tZW5zn0GRcZ4U5jnzDLtyrT5vcbDYk2PhOMX2R9h+0GDtb9BmCPnezY/0bgfHOgFnLd9TYnsdqPw5PDaPGBZ6xd5+wjRETJ7i8jylIRPW+klmLmHJCmPHOdwqZYTMRqCESyFFKBHf7GKApmAwRdg+U5Ldk8weC5+HZcSftmtm2DQza+q7f4hNeCdZTKhsmcQ6cIH8XHf3c/Qs/ZCefX716ufhjrXv3NvZee87a3fRr3buhKw/wdBO+rRKVj+vJ2LJkefji8+fXd2588RnJ3Z27qRf0dcxuUToXPqfnTAV3tPnB9aJ8L1IE957GY7arSLrVQ/rTKmL72ZqTGs+tUfS+B4m/ezUnn7siD2nCBncrmxSTKp0W53JEw3b8LAw45c+rbj+mh4vNlQ+VlhYRqFzBg9NwM5ORvu4xiniOdXrRKYcSODZqWhn2RLStLOYjCVIsbNwIOCkhD2HXkx5fl1cZChpxLrUoqasioxHxS16iZ4mqK0PowJRAnU/VFUJy1JC4RJ1xRO8DMK0KYebmya/s8bSb0AwqFij4pxQETyNVRLcDtTnDn9X5QnJGajr4H3rYpwblaQJZdwohqdhm5g+MmFPOowc1Wb6oZ7OvHtuO5vVmF+/pwGU6GnYM37Q9DVzFsh3NQWi+qY5Xx8zYaZ6tXo1tseNCAcOQB2tRYA4qAFvPt+jUyFurx+BsAt/Fsrmpk6VNzUGvTnWYcLX+4WyA/6uwIFCs7lwf+rkgQCG/cIwnspfU5pnDIWnS88dSJ3c7/cfKGptLTwglGHwoL9rYG1ynC8gJdh3KqCUZjv15W7JjOyOIM9HBEMJhdhHNGq6+9n0+oFhkLVzdd/q9Ue+PLKenQAb/LfVmSe4dHY9eze8mX64fv2AfTpdFm/pBcWRdFGoXtgtUY9NNsHfvlVmauxAngZBE1dT07fKpd+cq5VhsG2cr7cSUsFtVza2FeOJMjj6gXqIOIw4UGzpCv+mOkomIb6S+jf14vKNQKWBKO+QXKxTKaJbNdv/Z9AWNEIMqyIagXe8EZi2FUNVI8aNjgLnXYifMpyl8hL6JfKeL5dSBc4shRwYCjl+WEu3Tnrl3Zcn0lvh8kmvrFjxypQUYWauU/SlhRxbZXyTypf09CyDM3BmWU9PXyVcAT2TZ0yfTG+lW/EKL+3RXzglRDk6n1dn5ofh46uOgDcIjDWyuiOtjDNLeByCFgcE46whqEtk8N7PmSM2KK7zTYkUeWC/ckoAWMBbcucvdm2/qH3FK0lY+8fQdWfJdRpt5M268//eSG3h1YC3u257eAVvWsuaEaf2rEDIgf2eoj2nhJN0L2vTlO3e6ZPhinfhQ54DvMoauDf1Fm/4V13LeRNfWrNgJQdjEBho6b4S2P/M7IX1MwIKo15IaLSX9mqQ4CdIyBfcayxNen+R29HPz8NA+nrFhNbX29eriQl+EhPqBfcaS8PmqJaWKxbEsyjzcLFVGqJ+ziLsKutBhlWIVHJ4wPgZPveTiQ44mo49ySgg0DCB4OxPA76mg4+eQuGJEYoOIOjiX2+KqyACXjMH5w1QirxhBzGy9WrBP5CLQSW0/BD1U/8hWi5M3L9f+jE9mPoUJtL9ggPaQHCkPmXYovMFDbs2i692BN4gMxqj1Ne0PqKJuGAUBpiUGahTvdBLE+f4MeMLRu6TZAT8M3kYi0jhT8TfGQxzF5pedmJVJRLvv16lF98zkDzGdIwCW90OHIoaQfXjfMQ+6u3TaELUUo8vEGak9moLEgs0mIThBQqW3qdBL7acPetbwJ/lskdp/oS5syE2Ztx8VOQ5jPYgDCVS/E1WFegdjDc5uLY5g+a+Gp6IUO4z1aMYcwLeZEGgCnxmphyhmAWi7zm09ZMjdPfvj8I2mAYlr67qJ/Me/Jx+TA880b23G//kjLvE72HREZGsepX+lT5JLz/6BCSh6PMH5/VpPB2X7f3fADEo6ovYG07uo+JCecJ1UlyiLcgsBpZmMXgs6luVeZErZnxzunVZs8PhE76u7L68u5L+H193f4zQj8LC3LHa/LgvMbNrmPTO2AkTxp45ylcVRNmeAQ5MZp/BhtgQ1nkNQwXUXeJc3+RIhqCG6Oth0GB3sMYH1ZAgcBqleJnHFv1tkv7mpVkPbm0E1AoC0S2TmIMOHqi+JmH4S9d/MofFg2/G4i95YyWcSo8dD7U3AWoT/tjwU0IZ28h47PiSOSwCyutLaS3vPd3fivsxVWa8mPLAyzg9Liu7m7sz+bwDTkt8rXGazJ2XOIJrLLRmytRuXDcauzLXpZR2NcP2qxk2MD8lQZuypntqmmy9TJvZnUA2snUBP1HY3Mgjhbp/HIKnyrA+GjGjClHAii+wi+VccsyZSpfT5VPn7IR9Nz733I2Ys0qYNFl7DB/AXVOPrd0FWSnnc2B4jjlTMTxbwPBMPsmWEJIJH8QdMucl9KR2Uj65IEVgr9aLY4Vz1EAGuBQpwsFi48WuBvI10Q82k3GZ4pHionAQZ7CQIZhHEFd1HrMLO0w4iKwJzALi8JjKcIJxDwMTTn34y18E7ZOa0f4/PnTz6UcXrZc3DVs69i8pzfLO+KlLnljF4pRSvP8k1L1xzNP0b1X0jH3zqyDeugvsdPKlrz48Dt+3vDP215euPbKtFBR8SFNMJxGxrZLGW8OWpcb87tL1ZPjDOoG1j89EfzrFWVRP+vC9PsKd3RjSzBASBtZnKtczy9gq5/wgfQGHlN7vM6fXizCM/gu2a9QCa6UH04HuvlE4Mdgw/H33mjW718j30zLEJyLsSZ3Sry0L2VOcPvTwGpbkPG6icj7L8IW7kg1emTL3HUNVCa+QPLceEYnTsSJ3IBu8GAnLisuUdN4ZphzXmTJJ4475gqs/7f2pM2Vd/Mhc8Hi4EEK1Ecmzz8TSCPu48Bj8B2nnRuZHmRFDNKGrA/ycwMqx5zgI/A3QX6T6ZZ9OjCVOm5lE0nM9yzVK5oTKCB0j4kRlumgJ12d1cRiJNUHajsVtTNw+OWizT1UPb2xdVxV67vI9pwolwvWyHWWejYfD1Us3nNrT0srXpqaCKqf9Ye1Wxr+DbGEEA5ERbCdNRFquHEwmP207mqQN9CS8Bm1tnyaPt83e20/2yruSx/ARjKcN4GaPjuNdW2rHXiAMkIHJLpnRKPVc/4t6RWS9Qtym+Af5f+UnuKwRsPCoByQCn1PLLJjFXFTpL+THqYVaOmCWBrO4HRIX2B8UTX8H1zySWyS1EplFf8G8UGHWLGqRH++gv8B3O+BzrssnFFYPxuiYgASEiFRvCllNr8xksYDUJsHTMSxJsHRYFyMm41YCIYE/jQlsDKZ6B3wJRKwe88bEGSxyd9o+Pg8BVyhWTX+Gc5st0syzNE+QNe6STIwiq7zGSBmbAWeJoDsecx5fwG5kTfm2/ucjQZzZNShz4lwTJBl9jx3xsM03+D48SB/8vnthgEylMqE+7cLAgAN0xgP6e0K8awRuB+G2DFbnb+1iZ5CF4ZisG2T4WbeNMEMJs5718TiJObNo6dUu4qM0jvD8GX4FLsg/zASuzRcdVI4YZYownCtKYxlpmQI5K2NWwEyZqOExxfhcwQeYituv2xAydnCGM8U6FjN5Lqev4LEKCiOAIRBEfIc3iF/6cJBv+vQn/eQnn96kcODglnD9mnrzbvqvX5bSf0Ju6S8hm9FEoq97Ja3FMXxOAwBDq8Eg4IIBFJCwesz1FnDe8NZi43SHX0U5vLGqfVypDgoCVk3HLmBmGyZH8OJ2bzzsqHSlMeIc9pQPYI9ej+8rPe1JSDJ10If1/JI5HOnQ+R1lCtxfn/EqI7fgmdjWlkfl8hqBGDECFy3zLmf6JzNHpN6bKwToXIGNEMV1xy1yKMD38Qfn2bDymZgo5c4cePJFue86MKjFNP2MZbNhuUpNsdXI8gaUm/q6TY+5iY84kxBNyGrTs5nVLRCJc41F4apFIjN1+4hYX1/fd4TZo9hU0vT5fBZLi/80zjRNAdFyj7pAXUCq+M6K6ldUixpkRDFoCQTlINMf48G4HIuLcQeictwh2h1+h2rHseaT216vLmikv6tptm95Y4Sz5Y0ttqZa+rvGTwyGTxqhrrbJtuWNkdaRb9xqb6qFOhZNN3H4FU7fam+uOZdSzyA3O4E5NNfoST/RM771dcy4jGM3ucDGYEV9/rwvH4Ab+VWI+fnOaRyUC7+BkOo3n96yaYNweHwf4aHUmPHf+iAidWTL6c3jU2M2bGJX4fCGb/GH4nNypTyjVyCgstXPlrusc4eUfmEsCGGYsEkj4ezRY/XF/SaTwWx1n5srOo8y6SyRxWZEvUx0qGbceoBz8ZTsyxH965GBbxIyOK+7D4n48AwrnmTwftD+QyYtkiELm576dyB6iSkuIAa+nyCDvp/A0tLfT4jAHbwN34u5ZBDm6kbwNNalQRc7x4AAeEZfsXj+OgO6vKoixyOWv4LaFcNcjqnG84rxpH+DihPS4CoMFAm82rj0M0XzL1Gw/0UtUzy+hO1mrR+oxoXzznLhvJMym3TI1zy2MDK3C+edsExH+720V9v7rQlXz4vpSzJooWk5dl55ju/+wodx1m995ZMazFsvKOjskfP0yPPKCH93GfrONa4qB9+uZkDLfqUQjnIPqO8pH170t7ffsf/n825aUlHkLCyKjC52vmUyj5n+fXUSGhqndSdGXrR/XEFBia+k2Du0umpkg7fUaquOpH3hdZ1Xn9Xsp+K8YYYKjrknqRuHzQ0nL0jLEhpZ2hSOvESYwZ6lZcyHupk9I2MHYUzHTOz4RhgVg7AFj6DPb0HNLlzMggqjGimWeQe00/85UamlPuvgtkitYwTeybwu3I7JE6bDvO7/xPrkKtvYTgbTQFsEexnEW8CF0horv35CU/DGZ1+YcP/9E1741caK5gk4ZZeO+c1r97YMHXP33WOGttz7+ktj2Jwgl8BJdafixhWsfw3F7F8iqBbRwQzaQeGyE/Qo1Jw4Kh09cfToCag52/U1kK/lhm3IoRu2QQO8to2+Rl/bBq/RshaJtDCdjOunaTtQEdv9MQpRFLSoxX3LgTjKtTREubBJNxIpiCqsnX0oqges7lEm33UTrcxhhFnz8IRU9lwKbtMfMPp+ux6lP1wP2w+Xn/p3JWvkO8os+4EyLSj+g+oPldoHL8+lOw50/lDJOH1e7mSJGIqm56iMcgzLNRkF5rRgCqIIY/Y0k8CtngyARYJyaEfbc0v6OR7LCWYdpb18CrMPyujxHW0Tqabfp/0ldFzP4z7Vg3OVL8iLfMf752wPIuuTjCzycgdl0Weq5w4WHD0kPsnHrk4mV48dt6Il3ODzNYRbVozjMcB7SsaVxzRSdogDoUEYx/lRNrPSQBrEeYnMv9kT5Fv1wC0jDLgljS2shmHdKdLtDxcxNS/FxaPE51EfSW6Nr1lTPvfiem0wd+K2hguHlDkEurFzZE+Uf1qncEW4j583nwb76c1slxR5h3TeGGq6J6rG6SbTNwQiz8I2FBAn99f1cJRUVBt3QfF5mCmOQWglFOlBH8qkZV+uXr1w6sqFf/0NnQbk+iVz6uouXbt96YK3FG3smHuW3ZinFt20+r6nhV8NH9daWkpb6PFJU28jaTs6kTP7wz4xrHriYYsv7pFna19oFTRRwS6oXnKFikvOtM1b49wim2EQ6+eMYwmYgswRk7MLOJCWxzhxe/s5Vko6Xel7U0j0phaAm00QI/ezZv3KeIOR5HB/ZxuOIMp+i8ljYR8asNk2BEC3DKt+I6BKr+nKDWjf8DHTzS2gm5i1bzROhPFeThNjiqVnDC9shEHjLErjagYztmnny0kz+Y/zZZgjqKgjuLtlMF4j5EONMEJ1jIAyCNRAvhQcAY54cIQQCKoO/MsXWSK8RVkXR3jmCeP5QhnGYaAM8iGuloEazzcEK/HGEccMJYdaIyvMXdNRI48QkDiPEPBtScWkIuboyMdZd6GIzBPFLNnkEsjLkGhT8n1FhcMiFUEAWXbkWnL9geJRzsJch5xX6nCGC8XcGkOhrSJ/Yo9k9Ug2Q/OkZqUgJ2R3j3FdtuidJwO1bl+NSynJrk2Wx3ODxV6Lx2MszbYmY0PlvOxQgbMsz+fMcjsNhaFgnVLamD8kWIUKowEMcpYMTtc1726SsrJHubPUPIMh35rbHBTyLaPrvEaDx1BTWyY4Suoryk2CRxr6LcH9L0mxIMPum/zHp7LCRQaLTSyNueOq2ZdndfogS/VnNcdkVbD7so0VTtHuNNqz1ycFk5wlGLN8pc0em9VkMIH/ZsgxGBTVLDrkItvQfHOJN+AwmbPiVos9x1SgWixyvsliLXQ2O2srKt2uSqfRPKW2oNWUZcpxlIcWz/gJ7X+mPOeWEa3DSgqiLXK2Uc01Fxepdq9FrjMWZEuWxpGjyzplh8mpcBm6V3SrC6SMDfJbPH6Az/t+fcMNv75BFAdfpJM38Ougv7SfJLO79DJUxzlvIF9rYq84YK/BGwNbKyRqArEXUb8vwd6REnwvC+ORa/BYA+lLcDtOIr3PJXD+wqL1PAfbACpILRmmf6+sey4hJ/Po3y2nv5YxIWOLDYd0VHl6wUtpYodI08i/Ru4njWOZLtwYuPqmrh083KfvRQrJtMPI2LXeB5jc6NIkn3fdGIZ8oY5WB7WP29H1gHftWIyw87QHMoRZGdAtzv/2PS1LMps7me+4gejSpI8wBV5EAU55jMhAgmlOeFCSCQHnYXqY41ucY4BGcvX9EKOIOjEEWyS+Y+rzBiEaDCj5oDBfLodubiyDcyYaAp9igf/0+8EP3MtP/G0M2xGjBxPOTv9Ef5c/X9Dy/RjKdya0p6KBQNSvatSBtDPX3xWAclG2jZu+8QyNTkx2xaBNSzjzMbH+VheGOp2J1L/wJX+UkMHfEo4mE0k7mUeW8D2jtE9gC8SZU6DHNBDDfGzZ8A6KiHLlf2C0mdUHrxlQH/D8ueCqDgx1Mpoe9rGN/Sjx0kG2m5MOMiealD4N+tJq2vmX+fq484nwAJKqD9L3Y9Z5wZeMPpCeJ3j7wJ5TkJk2OJPoB6f2pMXKmeQgZTiZmTsC9skpNaH08v00ou/Lh42CiGzXwbZHM2tWfsS3plXMFmh3v84k6fH/Hsc9A/Cnb0TJPdEWoe+kwGcPqoOzerYxkxi7F36W3sETYBWuqZ/imvLwvRYH9w6Iu8BhYh7XgzrZFrb5TC2Q6WaZ3rGMPkCX0AeW3TH2lR5NS/edpvW8Qn+kd9OROY/+9s1H5rRdYoF/aQ+c64UHNJptWSqm0o0W0nOCkMk4H3SLVyX75tdcCqytwyESZFt85UFlIMIcDwR9ujUsEg+YeC3xoUtwtwjML47dFah2m98bCOreoI48QeWbBG/neucuCkQC18+lX+28h/5rzg14s3iOJ+9t9rS39D68XfrY5yB9/thSDO4qSWk7U8Pn/mNT5+M/aarY8mu+qTCybRnt38rzS5x49MpbNl/52HH9bivAsgmtmGTqgiMg6HHXY1aY5fX6He0/0tmh/WLzwpXhzsTcWyZnbF3aoL1swZNGC1nTTXps3TOeInHGwMaQMgSAAQ7AuI09bPJWAclCLcHqUO3EIb9+371H6eX0SfrXV1cJpOv5S6D+sBgOU7LqVSiBabDt6Ocnnn+a/m06r8OrOBca+f8FUcr9zjhX5CTaGg8rAjOvBoRg2AXumDR1z5o1UyJzws/2Wr98up88/aW11/EOFB8XtTVTBDJlTXhOhJKpBYfoF0PoF1AwBAoObT50KO3TLGJLB++pySS9p3buO2pHxoLDDZ+mwWE13SeDzpxAZc6MOn1XPKTfy+gJvL+zM9+Z6T/mLsDwltnSGbHWQ6y/+TduhNfNyHbRQPTIoh//PCIKMe654JHIOroVqtahHh25Eqro1nXHhMdT77yTOpE68U7qHeFx+WN6zx/onvffh4V/EFENodekboRb6DrhGrgx8917poyMP4SnGFCFH5TJsWOo7g96Mb0ZN7h++YPfFnklL8zjWKaK386MVrD6wbK07x7X1ezI8CuZ/cmIs4vtZnOc9nBvczbv1EAQYZk9hfq43cFs1gof036udnWxweCBueOHzLphj77r20f0O8q4MQcyLpaBpP/TkKZrF3Xq8ZSH4cLv9arJBLLoO7029Z3hgId9i8x2j+3hWJhv3NnjulJSnv5M2Wp31PNHkqPebhl4xp+EM0/s4njohol/27r1b3Q/vZ3uZyGxy+LKN+bn/Z3+NXb1xNEmk6nI6cz95SU//uKiXK2kPLiJPvPIuFunjA6HyhSn0vPLn0OgK8epuWrCd9Dr3+l7JBEO5Lvlx359GGZfXaRqg7OGiby4s8vykRcX5qlbTWaTIbvYbHPlOpsacj6qcTVYJ8/GEk3NJZGs3GDbqFxwRvxh57xZYduYQDg3MCWZc15fidybtIjNdh//TwL4ZrzoyzARWxxn7y6hZFffxcpwWk3v/+yvlChLzpyFiz+Fx+THaDUcYwccP/s8HcUIiPR6apQ45+yOY8c4DqVtSen95cHaJhPPusJznmcmV3XYyuQx/Pz/AAfdhq542o2QsWrDMBCGfyVOSjOUDn4AdSlJiY1sMCTZ0hQHQqcM6RyMahsSKVj2EChd+wgd+wZ9s7xDz4pKl0IrkO7T3a+73wZwhU8wnNcNHhwzDPDiuIMLvDvu4hYnxx4G7M5xD9fsyXGf8q+kZN4l3e7tq5YZfDw77tDcN8ddPOLDsQef+Y574Cxx3Kd8gQU0DjiiQokcBWpwDJFhRDGGQIQEY+IV6SQU0RwGezR0GpvBQh+OVZkXNR9mIx6LKBnzlZaKz82+MUaSZGmV0k7JqJOit1hKJasy04p4TcWcmu6wJRHWMm92W4LUimsbK1JIayskYxwz2r81PlciTBBgSvv7M5BqVae6yiWPQ8Fn/McAXaJJMA1a8/9wu7FFQ2Vtf4mwE0IbW2fYyMqUWnEholAIwf/u+QXtVlqxAAAAeNpt0meTFVUUheH7DhkJEgQJgpIFhdvn7NM9gxKGCZKzKGZyUHJGySAgSq7i5wrFfYdPdFXX+tRP9V61Wl2tt8//rdbh1vueV29eWl2tYXQxjOGMYCSjGM0YxvIB4xjPBCbyIZOYzBSm8hHTmM7HzGAms5jNJ8xhLp/yGfOYzwIWsojFLOFzlrKML/iS5aygTUUiExRqGrrpYSVf8TWrWM0a1tLLOvroZ4BBvmE9G9jIJjazha1sYzs72MkudvMte/iO79nLD/zIT/zML/zKb+xjPwc4yCEOc4SjHOM4v/MHJzjJKU5zhrOc4zwXuMglLnOFq/zJX1zjOje4yS1uc4e73ONv7vOAh/zDI/7lPx7zhKc84zkveDnqwsljg1W7bVZmMrMZZjFrszG7zZ63mfSSXtJLekkv6SW9pJf00pBX6VV6lV6lV+lVepVepVfpVXpJL+klvaSX9JJe6njZu7J3Ze/K3pW9K3tXbg9915id/wid0Amd0Amd0Amd0Il3TueesJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn7CfsJ+wn0h6SS/pZb2sl/WyXtbLelkv62W9rBd6oRd6oRd6oRd6oRd6oVf0il7RK3pFr+gVvaJX9IperVfr1Xq1Xq1X69V6tV6tV+s1eo1eo9foNXqNXtPxijsr7qy4s+LOijsr7qy0h75rzG6zx+w115l9Zr85YA520l0Wd1ncZXGXxV0Wd1ncZama1x+EcTsAAAAB//8AAnjaY2BgYGQAgosrjpwF0ZcUq9bCaABTzgdAAAA=") format("woff"), url("./Genericons.ttf") format("truetype"), url("./Genericons.svg#Genericons") format("svg"); font-weight: normal; font-style: normal; } @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: "Genericons"; src: url("./Genericons.svg#Genericons") format("svg"); } } /** * All Genericons */ .genericon { font-size: 16px; vertical-align: top; text-align: center; -moz-transition: color .1s ease-in 0; -webkit-transition: color .1s ease-in 0; display: inline-block; font-family: "Genericons"; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; text-decoration: inherit; text-transform: none; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; speak: none; } /** * Helper classes */ .genericon-rotate-90 { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .genericon-rotate-180 { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .genericon-rotate-270 { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .genericon-flip-horizontal { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .genericon-flip-vertical { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /** * Individual icons */ .genericon-404:before { content: "\f423"; } .genericon-activity:before { content: "\f508"; } .genericon-anchor:before { content: "\f509"; } .genericon-aside:before { content: "\f101"; } .genericon-attachment:before { content: "\f416"; } .genericon-audio:before { content: "\f109"; } .genericon-bold:before { content: "\f471"; } .genericon-book:before { content: "\f444"; } .genericon-bug:before { content: "\f50a"; } .genericon-cart:before { content: "\f447"; } .genericon-category:before { content: "\f301"; } .genericon-chat:before { content: "\f108"; } .genericon-checkmark:before { content: "\f418"; } .genericon-close:before { content: "\f405"; } .genericon-close-alt:before { content: "\f406"; } .genericon-cloud:before { content: "\f426"; } .genericon-cloud-download:before { content: "\f440"; } .genericon-cloud-upload:before { content: "\f441"; } .genericon-code:before { content: "\f462"; } .genericon-codepen:before { content: "\f216"; } .genericon-cog:before { content: "\f445"; } .genericon-collapse:before { content: "\f432"; } .genericon-comment:before { content: "\f300"; } .genericon-day:before { content: "\f305"; } .genericon-digg:before { content: "\f221"; } .genericon-document:before { content: "\f443"; } .genericon-dot:before { content: "\f428"; } .genericon-downarrow:before { content: "\f502"; } .genericon-download:before { content: "\f50b"; } .genericon-draggable:before { content: "\f436"; } .genericon-dribbble:before { content: "\f201"; } .genericon-dropbox:before { content: "\f225"; } .genericon-dropdown:before { content: "\f433"; } .genericon-dropdown-left:before { content: "\f434"; } .genericon-edit:before { content: "\f411"; } .genericon-ellipsis:before { content: "\f476"; } .genericon-expand:before { content: "\f431"; } .genericon-external:before { content: "\f442"; } .genericon-facebook:before { content: "\f203"; } .genericon-facebook-alt:before { content: "\f204"; } .genericon-fastforward:before { content: "\f458"; } .genericon-feed:before { content: "\f413"; } .genericon-flag:before { content: "\f468"; } .genericon-flickr:before { content: "\f211"; } .genericon-foursquare:before { content: "\f226"; } .genericon-fullscreen:before { content: "\f474"; } .genericon-gallery:before { content: "\f103"; } .genericon-github:before { content: "\f200"; } .genericon-googleplus:before { content: "\f206"; } .genericon-googleplus-alt:before { content: "\f218"; } .genericon-handset:before { content: "\f50c"; } .genericon-heart:before { content: "\f461"; } .genericon-help:before { content: "\f457"; } .genericon-hide:before { content: "\f404"; } .genericon-hierarchy:before { content: "\f505"; } .genericon-home:before { content: "\f409"; } .genericon-image:before { content: "\f102"; } .genericon-info:before { content: "\f455"; } .genericon-instagram:before { content: "\f215"; } .genericon-italic:before { content: "\f472"; } .genericon-key:before { content: "\f427"; } .genericon-leftarrow:before { content: "\f503"; } .genericon-link:before { content: "\f107"; } .genericon-linkedin:before { content: "\f207"; } .genericon-linkedin-alt:before { content: "\f208"; } .genericon-location:before { content: "\f417"; } .genericon-lock:before { content: "\f470"; } .genericon-mail:before { content: "\f410"; } .genericon-maximize:before { content: "\f422"; } .genericon-menu:before { content: "\f419"; } .genericon-microphone:before { content: "\f50d"; } .genericon-minimize:before { content: "\f421"; } .genericon-minus:before { content: "\f50e"; } .genericon-month:before { content: "\f307"; } .genericon-move:before { content: "\f50f"; } .genericon-next:before { content: "\f429"; } .genericon-notice:before { content: "\f456"; } .genericon-paintbrush:before { content: "\f506"; } .genericon-path:before { content: "\f219"; } .genericon-pause:before { content: "\f448"; } .genericon-phone:before { content: "\f437"; } .genericon-picture:before { content: "\f473"; } .genericon-pinned:before { content: "\f308"; } .genericon-pinterest:before { content: "\f209"; } .genericon-pinterest-alt:before { content: "\f210"; } .genericon-play:before { content: "\f452"; } .genericon-plugin:before { content: "\f439"; } .genericon-plus:before { content: "\f510"; } .genericon-pocket:before { content: "\f224"; } .genericon-polldaddy:before { content: "\f217"; } .genericon-portfolio:before { content: "\f460"; } .genericon-previous:before { content: "\f430"; } .genericon-print:before { content: "\f469"; } .genericon-quote:before { content: "\f106"; } .genericon-rating-empty:before { content: "\f511"; } .genericon-rating-full:before { content: "\f512"; } .genericon-rating-half:before { content: "\f513"; } .genericon-reddit:before { content: "\f222"; } .genericon-refresh:before { content: "\f420"; } .genericon-reply:before { content: "\f412"; } .genericon-reply-alt:before { content: "\f466"; } .genericon-reply-single:before { content: "\f467"; } .genericon-rewind:before { content: "\f459"; } .genericon-rightarrow:before { content: "\f501"; } .genericon-search:before { content: "\f400"; } .genericon-send-to-phone:before { content: "\f438"; } .genericon-send-to-tablet:before { content: "\f454"; } .genericon-share:before { content: "\f415"; } .genericon-show:before { content: "\f403"; } .genericon-shuffle:before { content: "\f514"; } .genericon-sitemap:before { content: "\f507"; } .genericon-skip-ahead:before { content: "\f451"; } .genericon-skip-back:before { content: "\f450"; } .genericon-skype:before { content: "\f220"; } .genericon-spam:before { content: "\f424"; } .genericon-spotify:before { content: "\f515"; } .genericon-standard:before { content: "\f100"; } .genericon-star:before { content: "\f408"; } .genericon-status:before { content: "\f105"; } .genericon-stop:before { content: "\f449"; } .genericon-stumbleupon:before { content: "\f223"; } .genericon-subscribe:before { content: "\f463"; } .genericon-subscribed:before { content: "\f465"; } .genericon-summary:before { content: "\f425"; } .genericon-tablet:before { content: "\f453"; } .genericon-tag:before { content: "\f302"; } .genericon-time:before { content: "\f303"; } .genericon-top:before { content: "\f435"; } .genericon-trash:before { content: "\f407"; } .genericon-tumblr:before { content: "\f214"; } .genericon-twitch:before { content: "\f516"; } .genericon-twitter:before { content: "\f202"; } .genericon-unapprove:before { content: "\f446"; } .genericon-unsubscribe:before { content: "\f464"; } .genericon-unzoom:before { content: "\f401"; } .genericon-uparrow:before { content: "\f500"; } .genericon-user:before { content: "\f304"; } .genericon-video:before { content: "\f104"; } .genericon-videocamera:before { content: "\f517"; } .genericon-vimeo:before { content: "\f212"; } .genericon-warning:before { content: "\f414"; } .genericon-website:before { content: "\f475"; } .genericon-week:before { content: "\f306"; } .genericon-wordpress:before { content: "\f205"; } .genericon-xpost:before { content: "\f504"; } .genericon-youtube:before { content: "\f213"; } .genericon-zoom:before { content: "\f402"; } /* Social Icons*/ @font-face { font-family: FontAwesome; font-weight: normal; font-style : normal; src : url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0"); src : url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); } .genericon-vk:before { content: "\f189"; display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; vertical-align: top; }PKZ}B(HH5plugins/catch-web-tools/languages/catch-web-tools.potnu[# Copyright (C) 2018-2022 Catch Plugins # This file is distributed under the GNU General Public License v2 or later. #, fuzzy msgid "" msgstr "" "Project-Id-Version: Catch Web Tools\n" "Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n" "POT-Creation-Date: 2024-04-17 14:16+0545\n" "PO-Revision-Date: 2016-12-12 09:23-0500\n" "Last-Translator: Sakin Shrestha \n" "Language-Team: Catch Plugins \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.4.2\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx\n" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: ..\n" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:39 msgid "CWT: Catch Updater Theme" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing theme and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:45 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:45 msgid "More Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:47 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:47 msgid "Less Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:50 msgid "Update existing Theme? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:59 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:59 msgid "Yes" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:60 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:60 msgid "No" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:57 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:57 msgid "Create Backup? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:64 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:64 msgid "Message to display in front-end until update has finished" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:65 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:65 msgid "The site is being updated and will be back in a few minutes." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 msgid "" "You must select \"Yes\" from the \"update existing theme?\" dropdown option " "in order to update an existing theme." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "Try again" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:218 msgid "" "Unable to make a backup of the existing theme. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:250 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:207 msgid "Unable to initialize WP_Filesystem. Will not proceed with the update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:257 msgid "" "Unable to remove the existing theme directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:278 #, php-format msgid "" "A backup zip file of the old theme version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:285 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:238 msgid "Update Successful. No backup created." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:39 msgid "CWT: Catch Updater Plugin" msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing plugin and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:50 msgid "Update existing Plugin? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "" "You must select \"Yes\" from the \"update existing plugin?\" dropdown option " "in order to update an existing plugin." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:181 msgid "" "Unable to make a backup of the existing plugin. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:214 msgid "" "Unable to remove the existing plugin directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:231 #, php-format msgid "" "A backup zip file of the old plugin version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/template/template-maintainance-message.php:8 msgid "Site Under Maintainance" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:154 msgid "Themes by CatchThemes" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:434 msgctxt "Plugin Installer" msgid "Catch Plugins" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:473 #, php-format msgid "" "You can use any of our free plugins or premium plugins from Catch Plugins" msgstr "" #: ../admin/inc/catch-ids.php:12 msgid "ID" msgstr "" #: ../admin/inc/core.php:34 ../admin/inc/core.php:37 #: ../admin/modules/dashboard.php:12 msgid "Dashboard" msgstr "" #: ../admin/inc/core.php:34 msgid "Catch Web Tools" msgstr "" #: ../admin/inc/core.php:39 msgid "Webmasters" msgstr "" #: ../admin/inc/core.php:41 ../admin/modules/catch-ids.php:11 #: ../admin/modules/dashboard.php:86 msgid "Catch IDs" msgstr "" #: ../admin/inc/core.php:47 ../admin/modules/custom-css.php:11 #: ../admin/modules/dashboard.php:66 ../admin/modules/navigation.php:12 msgid "Custom CSS" msgstr "" #: ../admin/inc/core.php:50 ../admin/modules/dashboard.php:133 #: ../admin/modules/social-icons.php:11 msgid "Social Icons" msgstr "" #: ../admin/inc/core.php:52 ../admin/modules/dashboard.php:171 msgid "Open Graph" msgstr "" #: ../admin/inc/core.php:54 ../admin/modules/seo.php:11 msgid "SEO" msgstr "" #: ../admin/inc/core.php:56 ../admin/modules/dashboard.php:292 #: ../admin/modules/to-top.php:20 msgid "To Top" msgstr "" #: ../admin/inc/core.php:65 ../admin/inc/core.php:78 ../admin/inc/core.php:91 #: ../admin/inc/core.php:104 ../admin/inc/core.php:117 #: ../admin/inc/core.php:130 ../admin/inc/core.php:143 #: ../admin/inc/core.php:156 msgid "You do not have sufficient permissions to access this page." msgstr "" #: ../admin/inc/metabox.php:173 ../admin/modules/opengraph.php:184 msgid "For any other type of Open Graph tags." msgstr "" #: ../admin/inc/metabox.php:174 ../admin/modules/opengraph.php:185 msgid "E.g:" msgstr "" #: ../admin/inc/metabox.php:175 ../admin/modules/opengraph.php:186 msgid "If you do not know what this is, you should probably leave it empty." msgstr "" #: ../admin/modules/catch-ids.php:25 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site. If you want to configure the Catch IDs please " "click on the following link." msgstr "" #: ../admin/modules/custom-css.php:18 msgid "Custom Css Settings" msgstr "" #: ../admin/modules/custom-css.php:23 msgid "Enter Custom Css" msgstr "" #: ../admin/modules/custom-css.php:28 msgid "" "You can just add your Custom CSS and save, it will show up in the frontend " "head section. Leave it blank if it is not needed." msgstr "" #: ../admin/modules/custom-css.php:33 msgid "CSS Tutorial from W3Schools." msgstr "" #: ../admin/modules/custom-css.php:35 msgid "http://www.w3schools.com/css/default.asp" msgstr "" #: ../admin/modules/custom-css.php:35 msgid "CSS Tutorial" msgstr "" #: ../admin/modules/custom-css.php:35 msgid "Click Here to Read" msgstr "" #: ../admin/modules/dashboard.php:22 ../admin/modules/webmaster.php:12 msgid "Webmaster Tools" msgstr "" #: ../admin/modules/dashboard.php:27 msgid "" "Webmaster Tools gives you an option to add in the Site Verfication Code and " "Header and Footer Script required to manage your site." msgstr "" #: ../admin/modules/dashboard.php:39 ../admin/modules/dashboard.php:113 #: ../admin/modules/dashboard.php:153 ../admin/modules/dashboard.php:187 #: ../admin/modules/dashboard.php:222 ../admin/modules/dashboard.php:261 #: ../admin/modules/dashboard.php:317 ../admin/modules/dashboard.php:355 msgid "Deactivate" msgstr "" #: ../admin/modules/dashboard.php:43 ../admin/modules/dashboard.php:117 #: ../admin/modules/dashboard.php:157 ../admin/modules/dashboard.php:191 #: ../admin/modules/dashboard.php:226 ../admin/modules/dashboard.php:270 #: ../admin/modules/dashboard.php:321 ../admin/modules/dashboard.php:360 msgid "Activate" msgstr "" #: ../admin/modules/dashboard.php:47 ../admin/modules/dashboard.php:74 #: ../admin/modules/dashboard.php:120 ../admin/modules/dashboard.php:161 #: ../admin/modules/dashboard.php:195 ../admin/modules/dashboard.php:230 #: ../admin/modules/dashboard.php:325 msgid "Configure" msgstr "" #: ../admin/modules/dashboard.php:71 msgid "" "Custom CSS gives you an option to add in your CSS to your WordPress site " "without building Child Theme. You can just add your Custom CSS and save, it " "will show up in the frontend head section. Leave it blank if it is not " "needed." msgstr "" #: ../admin/modules/dashboard.php:92 msgid "" "Catch IDs will show Post ID, Page ID, Media ID, Links ID, Category ID, Tag " "ID and UserID in the respective admin section tables." msgstr "" #: ../admin/modules/dashboard.php:101 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site." msgstr "" #: ../admin/modules/dashboard.php:138 msgid "Social Icons gives you an option to add in your Social Profiles." msgstr "" #: ../admin/modules/dashboard.php:141 msgid "" "You can add Social Icons by adding in Widgets in your Sidebar or by adding " "in Shortcode in your Page/Post Content or by adding the function in your " "template files." msgstr "" #: ../admin/modules/dashboard.php:175 msgid "" "The Open Graph protocol enables your site to become a rich object in a " "social graph. For instance, this is used on Facebook to allow any web page " "to have the same functionality as any other object on Facebook." msgstr "" #: ../admin/modules/dashboard.php:205 msgid "SEO ( BETA Version )" msgstr "" #: ../admin/modules/dashboard.php:210 msgid "" "SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, " "specific Pages or Posts and Categories page. This section adds SEO meta data " "to site's section." msgstr "" #: ../admin/modules/dashboard.php:240 msgid "Catch Updater" msgstr "" #: ../admin/modules/dashboard.php:246 msgid "" "Catch Updater is a simple and lightweight WordPress Theme Updater and Plugin " "Module, which enables you to update your themes and plugins easily using " "WordPress Admin Panel." msgstr "" #: ../admin/modules/dashboard.php:297 msgid "" "To Top plugin allows the visitor as well as admin to easily scroll back to " "the top of the page, with fully customizable options and ability to use " "image." msgstr "" #: ../admin/modules/dashboard.php:305 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site." msgstr "" #: ../admin/modules/dashboard.php:336 msgid "Big Image Size Threshold" msgstr "" #: ../admin/modules/dashboard.php:342 msgid "" "This allows you to disable the default Automatic Image Optimization and " "scaling feature from WordPress." msgstr "" #: ../admin/modules/dashboard.php:406 msgid "Security Tips" msgstr "" #: ../admin/modules/dashboard.php:412 msgid "" "Caution!!! A user with username: admin exists, need to rename this username " "or remove it" msgstr "" #: ../admin/modules/dashboard.php:414 msgid "Congratulations!!! You do not have any users with admin as username" msgstr "" #: ../admin/modules/dashboard.php:422 msgid "" "Caution!!! WordPress Table Prefix is \"wp_\", need to change this prefix" msgstr "" #: ../admin/modules/dashboard.php:424 msgid "Congratulations!!! WordPress Table Prefix is not \"wp_\"" msgstr "" #: ../admin/modules/dashboard.php:436 msgid "Congratulations!!! Your WordPress version is the latest." msgstr "" #: ../admin/modules/dashboard.php:438 #, php-format msgid "" "Caution!!! You do not have the current version of WordPress installed. The " "Current version is %1$s. Your installation version is %2$s Please update it " "%3$shere%4$s." msgstr "" #: ../admin/modules/header.php:11 msgid "" "Catch Web Tools is a simple and lightweight WordPress plugin to help you " "manage your WordPress site. Power up your WordPress site with powerful " "features that were till now only available to Catch Themes users. We " "currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, Catch " "IDs and basic SEO Optimization." msgstr "" #: ../admin/modules/opengraph.php:11 msgid "Opengraph" msgstr "" #: ../admin/modules/opengraph.php:18 ../admin/modules/opengraph.php:23 msgid "Enable Open Graph Module" msgstr "" #: ../admin/modules/opengraph.php:27 ../admin/modules/seo.php:27 #: ../admin/modules/social-icons.php:28 msgid "Check to Enable" msgstr "" #: ../admin/modules/opengraph.php:28 msgid "" "Add Open Graph meta data to your site's <head> section. " "You can specify some of the IDs that are sometimes needed below:" msgstr "" #: ../admin/modules/opengraph.php:29 msgid "" "Open Graph tags for specific Pages or Posts, can be added via Catch Web " "Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections " "once this function is enabled." msgstr "" #: ../admin/modules/opengraph.php:38 msgid "Facebook Settings" msgstr "" #: ../admin/modules/opengraph.php:43 msgid "Facebook App ID" msgstr "" #: ../admin/modules/opengraph.php:59 msgid "Homepage Settings" msgstr "" #: ../admin/modules/opengraph.php:65 msgid "Title" msgstr "" #: ../admin/modules/opengraph.php:77 msgid "Type" msgstr "" #: ../admin/modules/opengraph.php:98 msgid "URL" msgstr "" #: ../admin/modules/opengraph.php:110 msgid "Description" msgstr "" #: ../admin/modules/opengraph.php:122 msgid "Sitename" msgstr "" #: ../admin/modules/opengraph.php:134 msgid "Locale" msgstr "" #: ../admin/modules/opengraph.php:149 msgid "Default Settings" msgstr "" #: ../admin/modules/opengraph.php:155 msgid "Default Image" msgstr "" #: ../admin/modules/opengraph.php:163 msgid "" "This image is used if the post/page being shared does not contain any images." msgstr "" #: ../admin/modules/opengraph.php:172 msgid "Custom Settings (Only for Advanced Users)" msgstr "" #: ../admin/modules/opengraph.php:178 msgid "Custom Tags" msgstr "" #: ../admin/modules/seo.php:18 ../admin/modules/seo.php:23 msgid "Enable SEO Module" msgstr "" #: ../admin/modules/seo.php:28 msgid "" "Please make sure you have disabled all the SEO plugins before activating " "Catch Work Tools SEO Module." msgstr "" #: ../admin/modules/seo.php:29 msgid "" "SEO for specific Pages or Posts, can be added via Catch Web Tools Custom " "Meta Box which shows up in Pages' and Posts' add/edit sections once this " "function is enabled. Same settings will show up in Categories' add/edit " "pages." msgstr "" #: ../admin/modules/seo.php:38 msgid "SEO Homepage Settings" msgstr "" #: ../admin/modules/seo.php:43 msgid "SEO Title" msgstr "" #: ../admin/modules/seo.php:48 msgid "Title display in search engines is limited to 70 characters. " msgstr "" #: ../admin/modules/seo.php:48 ../admin/modules/seo.php:59 msgid "character(s) left." msgstr "" #: ../admin/modules/seo.php:54 msgid "Meta Description" msgstr "" #: ../admin/modules/seo.php:59 msgid "The meta description is limited to 156 characters. " msgstr "" #: ../admin/modules/seo.php:65 msgid "Focus Keywords" msgstr "" #: ../admin/modules/seo.php:75 msgid "Author" msgstr "" #: ../admin/modules/social-icons.php:18 ../admin/modules/social-icons.php:23 msgid "Enable Social Icons Module" msgstr "" #: ../admin/modules/social-icons.php:33 msgid "Shortcode" msgstr "" #: ../admin/modules/social-icons.php:35 msgid "The shortcode" msgstr "" #: ../admin/modules/social-icons.php:37 msgid "(in the Post/Page content) will enable Social Icons into the Page/Post." msgstr "" #: ../admin/modules/social-icons.php:39 msgid "Widget" msgstr "" #: ../admin/modules/social-icons.php:41 msgid "Drag and drop CWT Social Icons Widget to any Sidebar for results." msgstr "" #: ../admin/modules/social-icons.php:43 msgid "In WordPress Template" msgstr "" #: ../admin/modules/social-icons.php:45 msgid "" "If Catch Web Tools' Social Icons is required in WordPress template, the " "following code can be used: " msgstr "" #: ../admin/modules/social-icons.php:57 msgid "OR" msgstr "" #: ../admin/modules/social-icons.php:79 msgid "Social Icons Settings" msgstr "" #: ../admin/modules/social-icons.php:84 msgid "Enable Social Icons Sidebar?" msgstr "" #: ../admin/modules/social-icons.php:86 msgid " Drag and Drop CWT Social Icons widget to any sidebar" msgstr "" #: ../admin/modules/social-icons.php:91 msgid "Social Icon Size (px)" msgstr "" #: ../admin/modules/social-icons.php:101 msgid "Enable Social Icon's Brand Color on" msgstr "" #: ../admin/modules/social-icons.php:118 msgid "Social Icon Color" msgstr "" #: ../admin/modules/social-icons.php:128 msgid "Social Icon Hover Color" msgstr "" #: ../admin/modules/to-top.php:34 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site. If you want to configure the To Top please click on the " "following link." msgstr "" #: ../admin/modules/to-top.php:175 msgid "Insert Image" msgstr "" #: ../admin/modules/to-top.php:175 msgid "Change Image" msgstr "" #: ../to-top/public/class-to-top-public.php:143 #: ../to-top/public/class-to-top-public.php:156 #: ../to-top/public/class-to-top-public.php:169 msgid "Scroll Up" msgstr "" PKZЖ, # #:plugins/catch-web-tools/languages/catch-web-tools-sr_RS.monu[Ida0G1y " ?I  ) 4 @ J U c t          &* Q dc D  # * ; > I e b f { | &09K an@3 M'=-kpt |;:v(-N /9  !  6J^ my##<Si+~i=3q  ]t" 0  #, P]Mw)N@ IF    E!Q!X!";""(")D(.- 7F5<HA/=12'@$9,: #4>3B ;86 +!G*I&% ?0"EC(in the Post/Page content) will enable Social Icons into the Page/Post.ActivateAdd Open Graph meta data to your site's <head> section. You can specify some of the IDs that are sometimes needed below:AuthorCSS TutorialCSS Tutorial from W3Schools.Catch IDsCatch IDs will show Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and UserID in the respective admin section tables.Catch Web ToolsCheck to EnableClick Here to ReadConfigureCustom CSSCustom CSS gives you an option to add in your CSS to your WordPress site without building Child Theme. You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.Custom Css SettingsCustom Settings (Only for Advanced Users)Custom TagsDashboardDeactivateDefault ImageDefault SettingsDescriptionE.g:Enable Open Graph ModuleEnable SEO ModuleEnable Social Icons ModuleEnable Social Icons Sidebar?Enter Custom CssFacebook App IDFacebook SettingsFocus KeywordsFor any other type of Open Graph tags.Homepage SettingsIf Catch Web Tools' Social Icons is required in WordPress template, the following code can be used: If you do not know what this is, you should probably leave it empty.In WordPress TemplateLocaleMeta DescriptionOROpen GraphOpen Graph tags for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections once this function is enabled.Please make sure you have disabled all the SEO plugins before activating Catch Work Tools SEO Module.SEOSEO ( BETA Version )SEO Homepage SettingsSEO TitleSEO for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections once this function is enabled. Same settings will show up in Categories' add/edit pages.SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, specific Pages or Posts and Categories page. This section adds SEO meta data to site's section.ShortcodeSitenameSocial Icon ColorSocial Icon Size (px)Social IconsSocial Icons SettingsSocial Icons gives you an option to add in your Social Profiles.The Open Graph protocol enables your site to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.The meta description is limited to 156 characters. The shortcodeThis image is used if the post/page being shared does not contain any images.TitleTitle display in search engines is limited to 70 characters. TypeURLWebmaster ToolsWebmaster Tools gives you an option to add in the Site Verfication Code and Header and Footer Script required to manage your site.WebmastersWidgetYou can add Social Icons by adding in Widgets in your Sidebar or by adding in Shortcode in your Page/Post Content or by adding the function in your template files.You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.You do not have sufficient permissions to access this page.character(s) left.http://www.w3schools.com/css/default.aspProject-Id-Version: Catch Web Tools Report-Msgid-Bugs-To: https://wordpress.org/tags/_s PO-Revision-Date: 2024-04-17 14:16+0545 Last-Translator: Sakin Shrestha Language-Team: Catch Plugins Language: en_US MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.4.2 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx X-Poedit-Basepath: . X-Poedit-SourceCharset: UTF-8 X-Poedit-SearchPath-0: .. (u sadržaju posta/stranice) aktiviraće Social Icons na stranicama/postovima.AktivirajDodajte Open Graph meta podatke <zaglavlju> svog site-a. Možete navesti neke od potrebnih ID-ja u delu koji sledi:AutorCSS UputstvoCSS Uputstvo iz W3Schools.Catch IDCatch ID će prikazati ID posta, ID stranice, ID medija, ID linkova, ID kategorije, ID oznake i ID korisnika u odgovarajuće tabele odeljka za administratore.Catch Web ToolsŠtiklirajte da biste aktiviraliKlinkite ovde da biste pročitaliKonfigurišiPrilagođeni CSSPrilagođeni CSS omogućava vam da dodate CSS svom WordPress site-u bez građenja podređene teme. Možete samo dodati svoj prilagođeni CSS, sačuvati ga i pojaviće se u zaglavlju čeonog programa. Ostavite prazno ako vam ne treba. Podešavanja za prilagođeni CSSPrilagođena podešavanja (samo za napredne korisnike)Prilagođene oznakeKomandna tablaDeaktivirajPodrazumevana slikaPodrazumevana podešavanjaOpisNpr.Aktiviraj Open Graph ModuleAktiviraj SEO modulAktiviraj Social Icons ModulAktiviraj Social Icons bočni meni?Unesite prilagođeni CSSID Facebook aplikacijeFacebook podešavanjaFokus ključne rečiZa bilo koju drugu vrstu Open Graph oznaka.Podešavanja početne straniceAko vam je za WordPress šablon potreban Catch Web Tools' Social Icons, možete upotrebiti sledeći kod: Ako ne znate šta je ovo, trebalo bi da ostavite nepopunjeno.U WordPress šablonuLokalniMeta opisILIOpen GraphOpen Graph oznake za određene stranice ili postove mogu se dodati uz Catch Web Tools Custom Meta Box koji se prikazuje u delovima za dodavanje/uređivanje stranica i postova nakon aktiviranja te opcije.Proverite da li ste deaktivirali sve SEO dodatke pre aktiviranja Catch Work Tools SEO Modula.SEOSEO (BETA Verzija)SEO podešavanja početne straniceSEO nazivSEO za određene stranice ili postove može se dodati kroz Catch Web Tools Custom Meta Box koji se prikazuje u delovima za dodavanje/uređivanje stranica i postova nakon aktiviranja ove funkcije. Ista podešavanja pojaviće se kategorijama, u delovima za dodavanje ili uređivanje.SEO je u BETA verziji. SEO se može koristiti za dodavanje SEO meta oznaka početnoj stranici, određenim stranicama ili postovima i stranici kategorija. Ovaj odeljak dodaje SEO meta podatke u odeljak site-a.ShortcodeNaziv site-aBoja za Social IconSocial Icon veličina (u pikselima)Social IconsSocial Icons podešavanjaSocial Icons omogućava vam dodavanje na svojim profilima društvenih mreža.Open Graph protokol omogućava vašem site-u da postane značajan objekat na društvenom grafikonu. Na primer, koristi se na Facebook-u kako bi omogućio bilo kojoj web stranici da ima istu funkciju kao i svi drugi objekti na Facebook-u.Meta opis je ograničen na 156 karaktera.Određeni shortcodeOva slika koristi se ako podeljeni post ili stranica ne sadrže nikakve slike.NazivNaziv koji se prikazuje u pretraživačima ograničen je na 70 karaktera.VrstaURLWebmaster ToolsWebmaster Tools pruža vam mogućnost da dodate kod za verifikaciju site-a, zaglavlje i podnožje koji su vam potrebni da biste upravljali svojim site-om.Webmaster-iWidgetMožete dodati Social Icons u widget-e na traci sa bočnim menijem ili u shortcode u sadržaj posta/stranice ili tako što ćete dodati funkcije u svoje datoteke šablona.Možete samo dodati svoj prilagođeni CSS i sačuvati ga. Pojaviće vam se u zaglavlju čeonog programa. Ostavite prazno ako vam ne treba.Nemate odgovarajuća ovlašćenja za pristup ovoj stranici.ostalo je još karakterahttp://www.w3schools.com/css/default.aspPKZ*G**:plugins/catch-web-tools/languages/catch-web-tools-pt_BR.ponu[# Copyright (C) 2018-2022 Catch Plugins # This file is distributed under the GNU General Public License v2 or later. msgid "" msgstr "" "Project-Id-Version: Catch Web Tools\n" "Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n" "POT-Creation-Date: 2024-04-17 14:16+0545\n" "PO-Revision-Date: 2024-04-17 14:16+0545\n" "Last-Translator: Sakin Shrestha \n" "Language-Team: Valdir Trombini \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.4.2\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: ..\n" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:39 #, fuzzy #| msgid "Catch Plugins" msgid "CWT: Catch Updater Theme" msgstr "Catch Plugins" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing theme and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:45 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:45 msgid "More Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:47 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:47 msgid "Less Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:50 msgid "Update existing Theme? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:59 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:59 msgid "Yes" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:60 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:60 msgid "No" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:57 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:57 msgid "Create Backup? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:64 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:64 msgid "Message to display in front-end until update has finished" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:65 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:65 msgid "The site is being updated and will be back in a few minutes." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 msgid "" "You must select \"Yes\" from the \"update existing theme?\" dropdown option " "in order to update an existing theme." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "Try again" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:218 msgid "" "Unable to make a backup of the existing theme. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:250 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:207 msgid "Unable to initialize WP_Filesystem. Will not proceed with the update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:257 msgid "" "Unable to remove the existing theme directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:278 #, php-format msgid "" "A backup zip file of the old theme version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:285 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:238 msgid "Update Successful. No backup created." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:39 msgid "CWT: Catch Updater Plugin" msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing plugin and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:50 msgid "Update existing Plugin? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "" "You must select \"Yes\" from the \"update existing plugin?\" dropdown option " "in order to update an existing plugin." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:181 msgid "" "Unable to make a backup of the existing plugin. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:214 msgid "" "Unable to remove the existing plugin directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:231 #, php-format msgid "" "A backup zip file of the old plugin version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/template/template-maintainance-message.php:8 msgid "Site Under Maintainance" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:154 msgid "Themes by CatchThemes" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:434 #, fuzzy #| msgid "Catch Plugins" msgctxt "Plugin Installer" msgid "Catch Plugins" msgstr "Catch Plugins" #: ../admin/inc/CatchThemesThemePlugin.php:473 #, php-format msgid "" "You can use any of our free plugins or premium plugins from Catch Plugins" msgstr "" #: ../admin/inc/catch-ids.php:12 msgid "ID" msgstr "" #: ../admin/inc/core.php:34 ../admin/inc/core.php:37 #: ../admin/modules/dashboard.php:12 msgid "Dashboard" msgstr "Painel de instrumentos" #: ../admin/inc/core.php:34 msgid "Catch Web Tools" msgstr "Catch Web Tools" #: ../admin/inc/core.php:39 msgid "Webmasters" msgstr "Webmasters" #: ../admin/inc/core.php:41 ../admin/modules/catch-ids.php:11 #: ../admin/modules/dashboard.php:86 msgid "Catch IDs" msgstr "Pegar IDs" #: ../admin/inc/core.php:47 ../admin/modules/custom-css.php:11 #: ../admin/modules/dashboard.php:66 ../admin/modules/navigation.php:12 msgid "Custom CSS" msgstr "Personalizar o CSS" #: ../admin/inc/core.php:50 ../admin/modules/dashboard.php:133 #: ../admin/modules/social-icons.php:11 msgid "Social Icons" msgstr "Ícones Sociais" #: ../admin/inc/core.php:52 ../admin/modules/dashboard.php:171 msgid "Open Graph" msgstr "Open Graph" #: ../admin/inc/core.php:54 ../admin/modules/seo.php:11 msgid "SEO" msgstr "SEO - Otimização para motores de pesquisa (Search Engine Optimization)" #: ../admin/inc/core.php:56 ../admin/modules/dashboard.php:292 #: ../admin/modules/to-top.php:20 msgid "To Top" msgstr "" #: ../admin/inc/core.php:65 ../admin/inc/core.php:78 ../admin/inc/core.php:91 #: ../admin/inc/core.php:104 ../admin/inc/core.php:117 #: ../admin/inc/core.php:130 ../admin/inc/core.php:143 #: ../admin/inc/core.php:156 msgid "You do not have sufficient permissions to access this page." msgstr "Você não tem permissões suficientes para acessar esta página." #: ../admin/inc/metabox.php:173 ../admin/modules/opengraph.php:184 msgid "For any other type of Open Graph tags." msgstr "Para nenhum dos outros tipos de tags do Open Graph." #: ../admin/inc/metabox.php:174 ../admin/modules/opengraph.php:185 msgid "E.g:" msgstr "por exemplo:" #: ../admin/inc/metabox.php:175 ../admin/modules/opengraph.php:186 msgid "If you do not know what this is, you should probably leave it empty." msgstr "Se você não sabe o que é isso, você provavelmente deva deixá-lo vazio." #: ../admin/modules/catch-ids.php:25 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site. If you want to configure the Catch IDs please " "click on the following link." msgstr "" #: ../admin/modules/custom-css.php:18 msgid "Custom Css Settings" msgstr "Configurações personalizadas do CSS" #: ../admin/modules/custom-css.php:23 msgid "Enter Custom Css" msgstr "Coloque aqui a sua folha de estilo CSS personalizado!" #: ../admin/modules/custom-css.php:28 msgid "" "You can just add your Custom CSS and save, it will show up in the frontend " "head section. Leave it blank if it is not needed." msgstr "" "Você pode simplismente adicionar seu código CSS personalizado e salvar, ele " "vai aparecer na seção head do código-fonte (frontend). Deixe em branco se " "não for necessário." #: ../admin/modules/custom-css.php:33 msgid "CSS Tutorial from W3Schools." msgstr "" "Aprenda tudo que você precisa saber a respeito de CSS, de como fazer " "apresentação das folhas de estilo em cascata.
    CSS " "(Cascading Style Sheet - " "Folha de Estilo em Cascata) com os tutoriais dinâmicos da escola " "W3Schools. (em inglês, contudo, vale o seu esforço em " "traduzir, para aprender esse Ensinamento Gratuito e " "apresentar o seu website/blog a seu gosto, para o seu público alvo na " "internet!)" #: ../admin/modules/custom-css.php:35 msgid "http://www.w3schools.com/css/default.asp" msgstr "http://www.w3schools.com/css/default.asp" #: ../admin/modules/custom-css.php:35 msgid "CSS Tutorial" msgstr "" "W3Schools - Tutoriais para aprender CSS (Cascading Style Sheet - Folha de " "Estilo em Cascata)" #: ../admin/modules/custom-css.php:35 msgid "Click Here to Read" msgstr "Clique aqui para aprender" #: ../admin/modules/dashboard.php:22 ../admin/modules/webmaster.php:12 msgid "Webmaster Tools" msgstr "Ferramenta para Webmaster" #: ../admin/modules/dashboard.php:27 msgid "" "Webmaster Tools gives you an option to add in the Site Verfication Code and " "Header and Footer Script required to manage your site." msgstr "" "Incluido nas ferramentas para o webmaster está uma opção para adicionar ao " "seu website/blog a verificação do código, que é a " "possibilidade de colocação de Script no código-fonte do Cabeçalho e/ou no " "Rodapé, necessários para gerenciar de diversas formas e adequadamente o seu " "meio de comunicação na internet." #: ../admin/modules/dashboard.php:39 ../admin/modules/dashboard.php:113 #: ../admin/modules/dashboard.php:153 ../admin/modules/dashboard.php:187 #: ../admin/modules/dashboard.php:222 ../admin/modules/dashboard.php:261 #: ../admin/modules/dashboard.php:317 ../admin/modules/dashboard.php:355 msgid "Deactivate" msgstr "Desativar" #: ../admin/modules/dashboard.php:43 ../admin/modules/dashboard.php:117 #: ../admin/modules/dashboard.php:157 ../admin/modules/dashboard.php:191 #: ../admin/modules/dashboard.php:226 ../admin/modules/dashboard.php:270 #: ../admin/modules/dashboard.php:321 ../admin/modules/dashboard.php:360 msgid "Activate" msgstr "Ativar" #: ../admin/modules/dashboard.php:47 ../admin/modules/dashboard.php:74 #: ../admin/modules/dashboard.php:120 ../admin/modules/dashboard.php:161 #: ../admin/modules/dashboard.php:195 ../admin/modules/dashboard.php:230 #: ../admin/modules/dashboard.php:325 msgid "Configure" msgstr "Configurar" #: ../admin/modules/dashboard.php:71 msgid "" "Custom CSS gives you an option to add in your CSS to your WordPress site " "without building Child Theme. You can just add your Custom CSS and save, it " "will show up in the frontend head section. Leave it blank if it is not " "needed." msgstr "" "Aqui você tem a opção de personalizar o código CSS " "(Cascading Style Sheet - " "Folha de Estilo em Cascata), sem a necessidade de construir um tema filho " "para o seu tema WordPress. Você pode apenas adicionar seu CSS personalizado " "e salvar, ele vai aparecer na seção head do código-fonte (frontend). Deixe " "em branco se não for necessário." #: ../admin/modules/dashboard.php:92 msgid "" "Catch IDs will show Post ID, Page ID, Media ID, Links ID, Category ID, Tag " "ID and UserID in the respective admin section tables." msgstr "" "Pegar IDs é uma seção muito útil, onde vai mostrar a ID - identificaçao " "única em: ID de postagem, ID de página, ID de midia, ID de links, ID da " "categoria, ID da tag e ID de usuário nas respectivas tabelas da seção de " "administração do seu WordPress." #: ../admin/modules/dashboard.php:101 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site." msgstr "" #: ../admin/modules/dashboard.php:138 msgid "Social Icons gives you an option to add in your Social Profiles." msgstr "" "Em Ícones Sociais lhe dá a opção de adicionar os endereços (URL) de seus " "perfis sociais, aos quais, você está vinculado, para as deversas redes " "existentes." #: ../admin/modules/dashboard.php:141 msgid "" "You can add Social Icons by adding in Widgets in your Sidebar or by adding " "in Shortcode in your Page/Post Content or by adding the function in your " "template files." msgstr "" "Você pode adicionar ícones sociais, escolhendo colocá-los em Widgets na " "barra lateral preferida (Sidebar), ou então, adicionando as funcões de " "chamada em códigos resumidos (Shortcode) dentro de sua página/postagem do " "conteúdo, ou também, adicionando diretamente a função de chamada para a acão " "em seus arquivos de modelo (template files)." #: ../admin/modules/dashboard.php:175 msgid "" "The Open Graph protocol enables your site to become a rich object in a " "social graph. For instance, this is used on Facebook to allow any web page " "to have the same functionality as any other object on Facebook." msgstr "" "O padrão do protocolo Open Graph permite que o seu site se torne um objeto " "rico em integração social. Por exemplo, isto é usado no Facebook para " "permitir que qualquer página web tenha a mesma funcionalidade que qualquer " "outro objeto no Facebook., e umapágina web que o implemente, enriquece a " "experiência do usuário em suas ações de curtir e compartilhar informações, " "além de definir como a página web será representada na maior rede social do " "mundo. Através desse vínculo, será possível interagir com os usuários que a " "curtiram da mesma forma que ocorrem nas interações com uma página do " "Facebook." #: ../admin/modules/dashboard.php:205 msgid "SEO ( BETA Version )" msgstr "SEO - versão de teste e desenvolvimento (Versão Beta) " #: ../admin/modules/dashboard.php:210 msgid "" "SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, " "specific Pages or Posts and Categories page. This section adds SEO meta data " "to site's section." msgstr "" "SEO está na versão beta. O SEO pode ser usado para adicionar SEO meta tags " "para a página inicial (Homepage), páginas específicas ou postagens e página " "das categorias. Esta seção acrescenta SEO meta dados para a seção do site." #: ../admin/modules/dashboard.php:240 msgid "Catch Updater" msgstr "" #: ../admin/modules/dashboard.php:246 msgid "" "Catch Updater is a simple and lightweight WordPress Theme Updater and Plugin " "Module, which enables you to update your themes and plugins easily using " "WordPress Admin Panel." msgstr "" #: ../admin/modules/dashboard.php:297 msgid "" "To Top plugin allows the visitor as well as admin to easily scroll back to " "the top of the page, with fully customizable options and ability to use " "image." msgstr "" #: ../admin/modules/dashboard.php:305 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site." msgstr "" #: ../admin/modules/dashboard.php:336 msgid "Big Image Size Threshold" msgstr "" #: ../admin/modules/dashboard.php:342 msgid "" "This allows you to disable the default Automatic Image Optimization and " "scaling feature from WordPress." msgstr "" #: ../admin/modules/dashboard.php:406 msgid "Security Tips" msgstr "" #: ../admin/modules/dashboard.php:412 msgid "" "Caution!!! A user with username: admin exists, need to rename this username " "or remove it" msgstr "" #: ../admin/modules/dashboard.php:414 msgid "Congratulations!!! You do not have any users with admin as username" msgstr "" #: ../admin/modules/dashboard.php:422 msgid "" "Caution!!! WordPress Table Prefix is \"wp_\", need to change this prefix" msgstr "" #: ../admin/modules/dashboard.php:424 msgid "Congratulations!!! WordPress Table Prefix is not \"wp_\"" msgstr "" #: ../admin/modules/dashboard.php:436 msgid "Congratulations!!! Your WordPress version is the latest." msgstr "" #: ../admin/modules/dashboard.php:438 #, php-format msgid "" "Caution!!! You do not have the current version of WordPress installed. The " "Current version is %1$s. Your installation version is %2$s Please update it " "%3$shere%4$s." msgstr "" #: ../admin/modules/header.php:11 #, fuzzy #| msgid "" #| "Catch Web Tools is a simple and lightweight WordPress plugin to help you " #| "manage your WordPress site. Power up your WordPress site with powerful " #| "features that were till now only available to Catch Plugins users. We " #| "currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, " #| "Catch IDs and basic SEO Optimization." msgid "" "Catch Web Tools is a simple and lightweight WordPress plugin to help you " "manage your WordPress site. Power up your WordPress site with powerful " "features that were till now only available to Catch Themes users. We " "currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, Catch " "IDs and basic SEO Optimization." msgstr "" "Catch Web Tools é um plugin WordPress simples e leve, que ajudar você a " "gerenciar, de forma prática, efetiva e descomplicada o seu website/blog na " "melhor plataforma CMS existente, o WordPress.
    Dê mais poder ao seu " "website/blog WordPress com as características já comprovadas e poderosas do " "Catch Plugins que eram até agora apenas disponível para " "usuários de nossos temas e, que agora, estão ao seu inteiro dispor no nosso " "plugin.
    Atualmente, oferecemos ferramentas para Webmaster, Open Graph, " "personalização do código CSS, administração de seus ícones sociais " "preferidos, IDs de captura e Otimização básica de SEO." #: ../admin/modules/opengraph.php:11 #, fuzzy #| msgid "Open Graph" msgid "Opengraph" msgstr "Open Graph" #: ../admin/modules/opengraph.php:18 ../admin/modules/opengraph.php:23 msgid "Enable Open Graph Module" msgstr "Ativar o módulo de Open Graph" #: ../admin/modules/opengraph.php:27 ../admin/modules/seo.php:27 #: ../admin/modules/social-icons.php:28 msgid "Check to Enable" msgstr "Marque aqui para ativar" #: ../admin/modules/opengraph.php:28 msgid "" "Add Open Graph meta data to your site's <head> section. " "You can specify some of the IDs that are sometimes needed below:" msgstr "" "Veja como adicionar Open Graph meta dados para o seu site na seção <" "head>. Você pode especificar algumas das identificações que às " "vezes são necessárias nas configurações, confira abaixo:" #: ../admin/modules/opengraph.php:29 msgid "" "Open Graph tags for specific Pages or Posts, can be added via Catch Web " "Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections " "once this function is enabled." msgstr "" "Veja como definir a Tag no Open Graph para Páginas ou Postagens específicas; " "elas podem ser adicionadas via Catch Web Tools personalizando o meta box que " "aparece nas seções adicionar/editar Páginas e/ou Postagens, uma vez que esta " "função esteja ativada." #: ../admin/modules/opengraph.php:38 msgid "Facebook Settings" msgstr "Configurações do Facebook" #: ../admin/modules/opengraph.php:43 msgid "Facebook App ID" msgstr "Aplicativo do Facebook com sua identificação única (App ID)" #: ../admin/modules/opengraph.php:59 msgid "Homepage Settings" msgstr "Configurações da página inicial (Homepage)" #: ../admin/modules/opengraph.php:65 msgid "Title" msgstr "Título" #: ../admin/modules/opengraph.php:77 msgid "Type" msgstr "Tipo" #: ../admin/modules/opengraph.php:98 msgid "URL" msgstr "" "URL - Localizador-Padrão de Recursos, basicamente o endereço de uma página " "web (Uniform Resource Locator)" #: ../admin/modules/opengraph.php:110 msgid "Description" msgstr "Descrição" #: ../admin/modules/opengraph.php:122 msgid "Sitename" msgstr "Nome do website" #: ../admin/modules/opengraph.php:134 msgid "Locale" msgstr "Localidade" #: ../admin/modules/opengraph.php:149 msgid "Default Settings" msgstr "Configurações padrão" #: ../admin/modules/opengraph.php:155 msgid "Default Image" msgstr "Imagem padrão" #: ../admin/modules/opengraph.php:163 msgid "" "This image is used if the post/page being shared does not contain any images." msgstr "" "Esta imagem é usada se a postagem/página que está sendo compartilhada não " "contenha nenhuma imagem predefinida." #: ../admin/modules/opengraph.php:172 msgid "Custom Settings (Only for Advanced Users)" msgstr "Configurações personalizadas (somente para usuários avançados)" #: ../admin/modules/opengraph.php:178 msgid "Custom Tags" msgstr "Personalizações das Tags" #: ../admin/modules/seo.php:18 ../admin/modules/seo.php:23 msgid "Enable SEO Module" msgstr "Ativar o módulo de SEO" #: ../admin/modules/seo.php:28 msgid "" "Please make sure you have disabled all the SEO plugins before activating " "Catch Work Tools SEO Module." msgstr "" "Por favor, certifique-se de ter desativado todos os plugins de SEO antes de " "ativar o módulo Catch Work Tools SEO." #: ../admin/modules/seo.php:29 msgid "" "SEO for specific Pages or Posts, can be added via Catch Web Tools Custom " "Meta Box which shows up in Pages' and Posts' add/edit sections once this " "function is enabled. Same settings will show up in Categories' add/edit " "pages." msgstr "" "SEO para páginas ou postagens específicas, podem ser adicionados via Catch " "Web Tools personalizando meta box que aparece em páginas e postagens, nas " "seções adicionar/editar, uma vez que esta função estaja ativada. Essas " "mesmas configurações vão aparecer nas páginas adicionar/editar das " "categorias." #: ../admin/modules/seo.php:38 msgid "SEO Homepage Settings" msgstr "Configurações de SEO para a página inicial (Homepage)" #: ../admin/modules/seo.php:43 msgid "SEO Title" msgstr "Título SEO" #: ../admin/modules/seo.php:48 msgid "Title display in search engines is limited to 70 characters. " msgstr "" "A exibição do título da postagem (Title) que aparece nos motores de busca é " "limitado a 70 caracteres. " #: ../admin/modules/seo.php:48 ../admin/modules/seo.php:59 msgid "character(s) left." msgstr "Caracteres à esquerda" #: ../admin/modules/seo.php:54 msgid "Meta Description" msgstr "Meta descrição" #: ../admin/modules/seo.php:59 msgid "The meta description is limited to 156 characters. " msgstr "" "A descrição do conteúdo da postagem, meta descrição (Meta Description), que " "aparece nos motores de busca é limitada a 156 caracteres. " #: ../admin/modules/seo.php:65 msgid "Focus Keywords" msgstr "Focagem na palavras-chave" #: ../admin/modules/seo.php:75 msgid "Author" msgstr "Autor" #: ../admin/modules/social-icons.php:18 ../admin/modules/social-icons.php:23 msgid "Enable Social Icons Module" msgstr "Ativar o módulo dos ícones sociais" #: ../admin/modules/social-icons.php:33 msgid "Shortcode" msgstr "Códigos resumidos (Shortcode)" #: ../admin/modules/social-icons.php:35 msgid "The shortcode" msgstr "O código resumido" #: ../admin/modules/social-icons.php:37 msgid "(in the Post/Page content) will enable Social Icons into the Page/Post." msgstr "" "Vai permitir ícones sociais em páginas e postagens (no conteúdo das " "postagens e páginas)" #: ../admin/modules/social-icons.php:39 msgid "Widget" msgstr "Widget" #: ../admin/modules/social-icons.php:41 msgid "Drag and drop CWT Social Icons Widget to any Sidebar for results." msgstr "" #: ../admin/modules/social-icons.php:43 msgid "In WordPress Template" msgstr "No modelo WordPress" #: ../admin/modules/social-icons.php:45 msgid "" "If Catch Web Tools' Social Icons is required in WordPress template, the " "following code can be used: " msgstr "" "Se os ícones sociais do Catch Web Tools for necessário no modelo (template) " "WordPress, o código a seguir podem ser usados: " #: ../admin/modules/social-icons.php:57 msgid "OR" msgstr "OR" #: ../admin/modules/social-icons.php:79 msgid "Social Icons Settings" msgstr "Configurações dos ícones sociais" #: ../admin/modules/social-icons.php:84 msgid "Enable Social Icons Sidebar?" msgstr "Você quer ativar os ícones sociais na barra lateral?" #: ../admin/modules/social-icons.php:86 msgid " Drag and Drop CWT Social Icons widget to any sidebar" msgstr "" #: ../admin/modules/social-icons.php:91 msgid "Social Icon Size (px)" msgstr "Tamanho do ícone social na unidade de medida pixel (px)" #: ../admin/modules/social-icons.php:101 #, fuzzy msgid "Enable Social Icon's Brand Color on" msgstr "Ativar o módulo dos ícones sociais" #: ../admin/modules/social-icons.php:118 msgid "Social Icon Color" msgstr "Esquema de cores dos ícones sociais" #: ../admin/modules/social-icons.php:128 #, fuzzy msgid "Social Icon Hover Color" msgstr "Esquema de cores dos ícones sociais" #: ../admin/modules/to-top.php:34 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site. If you want to configure the To Top please click on the " "following link." msgstr "" #: ../admin/modules/to-top.php:175 msgid "Insert Image" msgstr "" #: ../admin/modules/to-top.php:175 msgid "Change Image" msgstr "" #: ../to-top/public/class-to-top-public.php:143 #: ../to-top/public/class-to-top-public.php:156 #: ../to-top/public/class-to-top-public.php:169 msgid "Scroll Up" msgstr "" #~ msgid "https://facebook.com/catchthemes" #~ msgstr "https://facebook.com/catchthemes" #~ msgid "https://twitter.com/catchthemes" #~ msgstr "https://twitter.com/catchthemes" #~ msgid "Catch Web Tools By" #~ msgstr "Catch Web Tools por" #~ msgid "https://catchplugins.com/" #~ msgstr "https://catchplugins.com/" #~ msgid "https://catchplugins.com/forum/catch-web-tools/" #~ msgstr "https://catchplugins.com/forum/catch-web-tools/" #~ msgid "Support Forum" #~ msgstr "Fórum de suporte" #~ msgid "https://catchplugins.com/plugins/catch-web-tools/" #~ msgstr "https://catchplugins.com/plugins/catch-web-tools/" #~ msgid "Plugin Details" #~ msgstr "Recursos do Plugin" #~ msgid "https://www.facebook.com/catchwebtools/" #~ msgstr "https://www.facebook.com/catchwebtools/" #~ msgid "Like Catch Plugins on Facebook" #~ msgstr "Curtir o Catch Plugins no Facebook" #~ msgid "Facebook" #~ msgstr "Facebook" #~ msgid "https://twitter.com/catchwebtools/" #~ msgstr "https://twitter.com/catchwebtools/" #~ msgid "Follow Catch Plugins on Twitter" #~ msgstr "Seguir o Catch Plugins no Twitter" #~ msgid "Twitter" #~ msgstr "Twitter" #~ msgid "https://wordpress.org/support/view/plugin-reviews/catch-web-tools" #~ msgstr "https://wordpress.org/support/view/plugin-reviews/catch-web-tools" #~ msgid "Rate us 5 Star on WordPress" #~ msgstr "" #~ "Seu apoio é muito importante para nós. Classifique-nos com 5 Estrelas no " #~ "WordPress - Obrigado!" #~ msgid "5 Star Rating" #~ msgstr "Classifique-nos com 5 Estrelas!" #~ msgid "Plugin Options Saved." #~ msgstr "Opções do plugin salvo." #~ msgid "Seo Settings" #~ msgstr "Configurações de SEO" #~ msgid "Image URL" #~ msgstr "Url da Imagem:" #~ msgid "Custom tags" #~ msgstr "Personalizar as Tags" #~ msgid "Catch Web Tools SEO Settings" #~ msgstr "Configurações de SEO do Catch Web Tools" #~ msgid "SEO title" #~ msgstr "Aplicar SEO no título" #~ msgid "The SEO title is used on the archive page for this term." #~ msgstr "O título SEO para este termo é utilizado na página de arquivo." #~ msgid "SEO Description" #~ msgstr "Aplicar SEO na descrição" #~ msgid "" #~ "The SEO description is used for the meta description on the archive page " #~ "for this term." #~ msgstr "" #~ "A descrição SEO para este termo é usado para a meta descrição na página " #~ "de arquivo." #~ msgid "Meta Keywords" #~ msgstr "Meta palavras-chave" #~ msgid "Meta keywords used on the archive page for this term." #~ msgstr "A meta palavras-chave para este termo é usada na página de arquivo." #~ msgid "Use this widget to add Catch Web Tools Social Icons as a widget. " #~ msgstr "" #~ "Use este widget para adicionar as ferramentas do Catch Web Tools, " #~ "colocando seus ícones sociais preferidos como um widget onde achar " #~ "necessário." #~ msgid "Title (optional):" #~ msgstr "Título (opcional):" #~ msgid "" #~ "Catch Web Tools requires PHP 5.2 or higher, as does WordPress 3.5 and " #~ "higher. The plugin has now disabled itself." #~ msgstr "" #~ "O plugin, neste momento, foi desativado automáticamente até a atualização " #~ "requerida do seu sistema para o correto funcionamento. Catch Web Tools " #~ "requer a versão do PHP 5.2 ou superior, assim como o WordPress também " #~ "requer a versão 3.5 ou superior." #~ msgid "Enable Webmaster Module" #~ msgstr "Ativar o módulo Webmaster" #~ msgid "Header and Footer Scripts" #~ msgstr "" #~ "Coloque aqui os Scripts que vão no código-fonte do Cabeçalho e/ou do " #~ "Rodapé" #~ msgid "Enter scripts or code you would like output to" #~ msgstr "Digite scripts ou código como você gostaria que eles saiam" #~ msgid "The" #~ msgstr "The" #~ msgid "" #~ "hook executes immediately before the closing tag in the document " #~ "source." #~ msgstr "" #~ "Esse gancho é executado imediatamente antes da tag de fechamento " #~ "na origem do documento (codigo-fonte)." #~ msgid "" #~ "hook executes immediately before the closing tag in the document " #~ "source." #~ msgstr "" #~ "Esse gancho é executado imediatamente antes da tag de fechamento " #~ "na origem do documento (codigo-fonte)." #~ msgid "Site Verification" #~ msgstr "Verificação do site" #~ msgid "" #~ "You can use the boxes below to verify with different Webmaster Tools. If " #~ "your site is already verified, you can skip this section. Enter the " #~ "verify meta values for" #~ msgstr "" #~ "Você pode usar as caixas abaixo para fazer a validação do seu website/" #~ "blog em diferentes ferramentas para webmasters. Se o seu site já foi " #~ "verificado e está válido, você pode pular esta seção. Se não foi ainda, " #~ "digite os valores de meta para verificar" #~ msgid "Google Webmaster Tools" #~ msgstr "Ferramentas do Google para Webmasters" #~ msgid "Enter your Google ID number only" #~ msgstr "Digite somente o número da ID (identificação única) do Google" #~ msgid "Bing Webmaster Tools" #~ msgstr "Ferramentas do Bing para Webmasters" #~ msgid "Enter your Bing ID number only" #~ msgstr "Digite somente o número da ID (identificação única) do Bing" #~ msgid "Alexa Verification ID" #~ msgstr "Alexa verificação da identidade única (ID)" #~ msgid "Enter your Alexa ID number only" #~ msgstr "Digite somente o número da ID (identificação única) do Alexa" #~ msgid "" #~ "Drag and drop Catch Web Tools' Social Icons Widget to any Sidebar for " #~ "results." #~ msgstr "" #~ "Você pode usar o método arrastar e soltar com o Widget dos ícones socias " #~ "do Catch Web Tools para qualquer barra lateral (Sidebar), e ir assim " #~ "experimentando para obter os melhores resultados." #~ msgid " Drag and Drop Catch Web Tools Social Icons widget to any sidebar" #~ msgstr "" #~ "Arraste e solte o widget dos ícones sociais do Catch Web Tools para " #~ "qualquer barra lateral" #~ msgid "Make sure to set the size to a multiple of 16px" #~ msgstr "" #~ "Certifique-se quando for definir o tamanho, de que seja múltiplo de 16px " #~ "(pixels)" #~ msgid " or the icons could end up looking fuzzy" #~ msgstr "ou os ícones podem acabar ficando imprecisos" #~ msgid "Google+" #~ msgstr "Google +" #~ msgid "Rss Feed" #~ msgstr "RSS Feed" #~ msgid "WordPress" #~ msgstr "WordPress" #~ msgid "GitHub" #~ msgstr "GitHub" #~ msgid "LinkedIn" #~ msgstr "LinkedIn" #~ msgid "Pinterest" #~ msgstr "Pinterest" #~ msgid "Flickr" #~ msgstr "Flickr" #~ msgid "Vimeo" #~ msgstr "Vimeo" #~ msgid "YouTube" #~ msgstr "Youtube" #~ msgid "Tumblr" #~ msgstr "Tumblr" #~ msgid "Instagram" #~ msgstr "Instagram" #~ msgid "CodePen" #~ msgstr "CodePen" #~ msgid "Polldaddy" #~ msgstr "Polldaddy" #~ msgid "Path" #~ msgstr "Caminho" #~ msgid "Dribbble" #~ msgstr "Dribbble" PKZ΁[qq:plugins/catch-web-tools/languages/catch-web-tools-sr_RS.ponu[# Copyright (C) 2018-2022 Catch Plugins # This file is distributed under the GNU General Public License v2 or later. msgid "" msgstr "" "Project-Id-Version: Catch Web Tools\n" "Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n" "POT-Creation-Date: 2024-04-17 14:16+0545\n" "PO-Revision-Date: 2024-04-17 14:16+0545\n" "Last-Translator: Sakin Shrestha \n" "Language-Team: Catch Plugins \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.4.2\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: ..\n" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:39 #, fuzzy #| msgid "Catch Plugins" msgid "CWT: Catch Updater Theme" msgstr "Catch Teme" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing theme and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:45 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:45 msgid "More Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:47 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:47 msgid "Less Options" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:50 msgid "Update existing Theme? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:59 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:52 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:59 msgid "Yes" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:60 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:53 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:60 msgid "No" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:57 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:57 msgid "Create Backup? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:64 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:64 msgid "Message to display in front-end until update has finished" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:65 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:65 msgid "The site is being updated and will be back in a few minutes." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 msgid "" "You must select \"Yes\" from the \"update existing theme?\" dropdown option " "in order to update an existing theme." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:166 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "Try again" msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:218 msgid "" "Unable to make a backup of the existing theme. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:250 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:207 msgid "Unable to initialize WP_Filesystem. Will not proceed with the update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:257 msgid "" "Unable to remove the existing theme directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:278 #, php-format msgid "" "A backup zip file of the old theme version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/inc/catch-updater-modify-installer.php:285 #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:238 msgid "Update Successful. No backup created." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:39 msgid "CWT: Catch Updater Plugin" msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:43 msgid "" "By default, the Catch Updater will overwrite an existing plugin and create a " "backup in media library." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:50 msgid "Update existing Plugin? " msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:129 msgid "" "You must select \"Yes\" from the \"update existing plugin?\" dropdown option " "in order to update an existing plugin." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:181 msgid "" "Unable to make a backup of the existing plugin. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:214 msgid "" "Unable to remove the existing plugin directory. Will not proceed with the " "update." msgstr "" #: ../admin/catch-updater/inc/catch-updater-plugin-modify-installer.php:231 #, php-format msgid "" "A backup zip file of the old plugin version can be downloaded %s here %s ." msgstr "" #: ../admin/catch-updater/template/template-maintainance-message.php:8 msgid "Site Under Maintainance" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:154 msgid "Themes by CatchThemes" msgstr "" #: ../admin/inc/CatchThemesThemePlugin.php:434 #, fuzzy #| msgid "Catch Plugins" msgctxt "Plugin Installer" msgid "Catch Plugins" msgstr "Catch Teme" #: ../admin/inc/CatchThemesThemePlugin.php:473 #, php-format msgid "" "You can use any of our free plugins or premium plugins from Catch Plugins" msgstr "" #: ../admin/inc/catch-ids.php:12 msgid "ID" msgstr "" #: ../admin/inc/core.php:34 ../admin/inc/core.php:37 #: ../admin/modules/dashboard.php:12 msgid "Dashboard" msgstr "Komandna tabla" #: ../admin/inc/core.php:34 msgid "Catch Web Tools" msgstr "Catch Web Tools" #: ../admin/inc/core.php:39 msgid "Webmasters" msgstr "Webmaster-i" #: ../admin/inc/core.php:41 ../admin/modules/catch-ids.php:11 #: ../admin/modules/dashboard.php:86 msgid "Catch IDs" msgstr "Catch ID" #: ../admin/inc/core.php:47 ../admin/modules/custom-css.php:11 #: ../admin/modules/dashboard.php:66 ../admin/modules/navigation.php:12 msgid "Custom CSS" msgstr "Prilagođeni CSS" #: ../admin/inc/core.php:50 ../admin/modules/dashboard.php:133 #: ../admin/modules/social-icons.php:11 msgid "Social Icons" msgstr "Social Icons" #: ../admin/inc/core.php:52 ../admin/modules/dashboard.php:171 msgid "Open Graph" msgstr "Open Graph" #: ../admin/inc/core.php:54 ../admin/modules/seo.php:11 msgid "SEO" msgstr "SEO" #: ../admin/inc/core.php:56 ../admin/modules/dashboard.php:292 #: ../admin/modules/to-top.php:20 msgid "To Top" msgstr "" #: ../admin/inc/core.php:65 ../admin/inc/core.php:78 ../admin/inc/core.php:91 #: ../admin/inc/core.php:104 ../admin/inc/core.php:117 #: ../admin/inc/core.php:130 ../admin/inc/core.php:143 #: ../admin/inc/core.php:156 msgid "You do not have sufficient permissions to access this page." msgstr "Nemate odgovarajuća ovlašćenja za pristup ovoj stranici." #: ../admin/inc/metabox.php:173 ../admin/modules/opengraph.php:184 msgid "For any other type of Open Graph tags." msgstr "Za bilo koju drugu vrstu Open Graph oznaka." #: ../admin/inc/metabox.php:174 ../admin/modules/opengraph.php:185 msgid "E.g:" msgstr "Npr." #: ../admin/inc/metabox.php:175 ../admin/modules/opengraph.php:186 msgid "If you do not know what this is, you should probably leave it empty." msgstr "Ako ne znate šta je ovo, trebalo bi da ostavite nepopunjeno." #: ../admin/modules/catch-ids.php:25 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site. If you want to configure the Catch IDs please " "click on the following link." msgstr "" #: ../admin/modules/custom-css.php:18 msgid "Custom Css Settings" msgstr "Podešavanja za prilagođeni CSS" #: ../admin/modules/custom-css.php:23 msgid "Enter Custom Css" msgstr "Unesite prilagođeni CSS" #: ../admin/modules/custom-css.php:28 msgid "" "You can just add your Custom CSS and save, it will show up in the frontend " "head section. Leave it blank if it is not needed." msgstr "" "Možete samo dodati svoj prilagođeni CSS i sačuvati ga. Pojaviće vam se u " "zaglavlju čeonog programa. Ostavite prazno ako vam ne treba." #: ../admin/modules/custom-css.php:33 msgid "CSS Tutorial from W3Schools." msgstr "CSS Uputstvo iz W3Schools." #: ../admin/modules/custom-css.php:35 msgid "http://www.w3schools.com/css/default.asp" msgstr "http://www.w3schools.com/css/default.asp" #: ../admin/modules/custom-css.php:35 msgid "CSS Tutorial" msgstr "CSS Uputstvo" #: ../admin/modules/custom-css.php:35 msgid "Click Here to Read" msgstr "Klinkite ovde da biste pročitali" #: ../admin/modules/dashboard.php:22 ../admin/modules/webmaster.php:12 msgid "Webmaster Tools" msgstr "Webmaster Tools" #: ../admin/modules/dashboard.php:27 msgid "" "Webmaster Tools gives you an option to add in the Site Verfication Code and " "Header and Footer Script required to manage your site." msgstr "" "Webmaster Tools pruža vam mogućnost da dodate kod za verifikaciju site-a, " "zaglavlje i podnožje koji su vam potrebni da biste upravljali svojim site-om." #: ../admin/modules/dashboard.php:39 ../admin/modules/dashboard.php:113 #: ../admin/modules/dashboard.php:153 ../admin/modules/dashboard.php:187 #: ../admin/modules/dashboard.php:222 ../admin/modules/dashboard.php:261 #: ../admin/modules/dashboard.php:317 ../admin/modules/dashboard.php:355 msgid "Deactivate" msgstr "Deaktiviraj" #: ../admin/modules/dashboard.php:43 ../admin/modules/dashboard.php:117 #: ../admin/modules/dashboard.php:157 ../admin/modules/dashboard.php:191 #: ../admin/modules/dashboard.php:226 ../admin/modules/dashboard.php:270 #: ../admin/modules/dashboard.php:321 ../admin/modules/dashboard.php:360 msgid "Activate" msgstr "Aktiviraj" #: ../admin/modules/dashboard.php:47 ../admin/modules/dashboard.php:74 #: ../admin/modules/dashboard.php:120 ../admin/modules/dashboard.php:161 #: ../admin/modules/dashboard.php:195 ../admin/modules/dashboard.php:230 #: ../admin/modules/dashboard.php:325 msgid "Configure" msgstr "Konfiguriši" #: ../admin/modules/dashboard.php:71 msgid "" "Custom CSS gives you an option to add in your CSS to your WordPress site " "without building Child Theme. You can just add your Custom CSS and save, it " "will show up in the frontend head section. Leave it blank if it is not " "needed." msgstr "" "Prilagođeni CSS omogućava vam da dodate CSS svom WordPress site-u bez " "građenja podređene teme. Možete samo dodati svoj prilagođeni CSS, sačuvati " "ga i pojaviće se u zaglavlju čeonog programa. Ostavite prazno ako vam ne " "treba. " #: ../admin/modules/dashboard.php:92 msgid "" "Catch IDs will show Post ID, Page ID, Media ID, Links ID, Category ID, Tag " "ID and UserID in the respective admin section tables." msgstr "" "Catch ID će prikazati ID posta, ID stranice, ID medija, ID linkova, ID " "kategorije, ID oznake i ID korisnika u odgovarajuće tabele odeljka za " "administratore." #: ../admin/modules/dashboard.php:101 msgid "" "This module is currently disabled since Catch IDs standalone plugin is " "already active on your site." msgstr "" #: ../admin/modules/dashboard.php:138 msgid "Social Icons gives you an option to add in your Social Profiles." msgstr "" "Social Icons omogućava vam dodavanje na svojim profilima društvenih mreža." #: ../admin/modules/dashboard.php:141 msgid "" "You can add Social Icons by adding in Widgets in your Sidebar or by adding " "in Shortcode in your Page/Post Content or by adding the function in your " "template files." msgstr "" "Možete dodati Social Icons u widget-e na traci sa bočnim menijem ili u " "shortcode u sadržaj posta/stranice ili tako što ćete dodati funkcije u svoje " "datoteke šablona." #: ../admin/modules/dashboard.php:175 msgid "" "The Open Graph protocol enables your site to become a rich object in a " "social graph. For instance, this is used on Facebook to allow any web page " "to have the same functionality as any other object on Facebook." msgstr "" "Open Graph protokol omogućava vašem site-u da postane značajan objekat na " "društvenom grafikonu. Na primer, koristi se na Facebook-u kako bi omogućio " "bilo kojoj web stranici da ima istu funkciju kao i svi drugi objekti na " "Facebook-u." #: ../admin/modules/dashboard.php:205 msgid "SEO ( BETA Version )" msgstr "SEO (BETA Verzija)" #: ../admin/modules/dashboard.php:210 msgid "" "SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, " "specific Pages or Posts and Categories page. This section adds SEO meta data " "to site's section." msgstr "" "SEO je u BETA verziji. SEO se može koristiti za dodavanje SEO meta oznaka " "početnoj stranici, određenim stranicama ili postovima i stranici kategorija. " "Ovaj odeljak dodaje SEO meta podatke u odeljak site-a." #: ../admin/modules/dashboard.php:240 msgid "Catch Updater" msgstr "" #: ../admin/modules/dashboard.php:246 msgid "" "Catch Updater is a simple and lightweight WordPress Theme Updater and Plugin " "Module, which enables you to update your themes and plugins easily using " "WordPress Admin Panel." msgstr "" #: ../admin/modules/dashboard.php:297 msgid "" "To Top plugin allows the visitor as well as admin to easily scroll back to " "the top of the page, with fully customizable options and ability to use " "image." msgstr "" #: ../admin/modules/dashboard.php:305 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site." msgstr "" #: ../admin/modules/dashboard.php:336 msgid "Big Image Size Threshold" msgstr "" #: ../admin/modules/dashboard.php:342 msgid "" "This allows you to disable the default Automatic Image Optimization and " "scaling feature from WordPress." msgstr "" #: ../admin/modules/dashboard.php:406 msgid "Security Tips" msgstr "" #: ../admin/modules/dashboard.php:412 msgid "" "Caution!!! A user with username: admin exists, need to rename this username " "or remove it" msgstr "" #: ../admin/modules/dashboard.php:414 msgid "Congratulations!!! You do not have any users with admin as username" msgstr "" #: ../admin/modules/dashboard.php:422 msgid "" "Caution!!! WordPress Table Prefix is \"wp_\", need to change this prefix" msgstr "" #: ../admin/modules/dashboard.php:424 msgid "Congratulations!!! WordPress Table Prefix is not \"wp_\"" msgstr "" #: ../admin/modules/dashboard.php:436 msgid "Congratulations!!! Your WordPress version is the latest." msgstr "" #: ../admin/modules/dashboard.php:438 #, php-format msgid "" "Caution!!! You do not have the current version of WordPress installed. The " "Current version is %1$s. Your installation version is %2$s Please update it " "%3$shere%4$s." msgstr "" #: ../admin/modules/header.php:11 #, fuzzy #| msgid "" #| "Catch Web Tools is a simple and lightweight WordPress plugin to help you " #| "manage your WordPress site. Power up your WordPress site with powerful " #| "features that were till now only available to Catch Plugins users. We " #| "currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, " #| "Catch IDs and basic SEO Optimization." msgid "" "Catch Web Tools is a simple and lightweight WordPress plugin to help you " "manage your WordPress site. Power up your WordPress site with powerful " "features that were till now only available to Catch Themes users. We " "currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, Catch " "IDs and basic SEO Optimization." msgstr "" "Catch Web Tools je jednostavan i lagan WordPress plugin osmišljen da vam " "pomogne prilikom upravljanja vašim WordPress site-om. Poboljšajte svoj " "WordPress site moćnim funkcijama koje su do sada bile na raspolaganju samo " "Catch Plugins korisnicima. Trenutno nudimo Webmaster Tools, Open Graph, " "Custom CSS, Social Icons, Catch IDs i osnovnu SEO optimizaciju." #: ../admin/modules/opengraph.php:11 #, fuzzy #| msgid "Open Graph" msgid "Opengraph" msgstr "Open Graph" #: ../admin/modules/opengraph.php:18 ../admin/modules/opengraph.php:23 msgid "Enable Open Graph Module" msgstr "Aktiviraj Open Graph Module" #: ../admin/modules/opengraph.php:27 ../admin/modules/seo.php:27 #: ../admin/modules/social-icons.php:28 msgid "Check to Enable" msgstr "Štiklirajte da biste aktivirali" #: ../admin/modules/opengraph.php:28 msgid "" "Add Open Graph meta data to your site's <head> section. " "You can specify some of the IDs that are sometimes needed below:" msgstr "" "Dodajte Open Graph meta podatke <zaglavlju> svog site-a. " "Možete navesti neke od potrebnih ID-ja u delu koji sledi:" #: ../admin/modules/opengraph.php:29 msgid "" "Open Graph tags for specific Pages or Posts, can be added via Catch Web " "Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections " "once this function is enabled." msgstr "" "Open Graph oznake za određene stranice ili postove mogu se dodati uz Catch " "Web Tools Custom Meta Box koji se prikazuje u delovima za dodavanje/" "uređivanje stranica i postova nakon aktiviranja te opcije." #: ../admin/modules/opengraph.php:38 msgid "Facebook Settings" msgstr "Facebook podešavanja" #: ../admin/modules/opengraph.php:43 msgid "Facebook App ID" msgstr "ID Facebook aplikacije" #: ../admin/modules/opengraph.php:59 msgid "Homepage Settings" msgstr "Podešavanja početne stranice" #: ../admin/modules/opengraph.php:65 msgid "Title" msgstr "Naziv" #: ../admin/modules/opengraph.php:77 msgid "Type" msgstr "Vrsta" #: ../admin/modules/opengraph.php:98 msgid "URL" msgstr "URL" #: ../admin/modules/opengraph.php:110 msgid "Description" msgstr "Opis" #: ../admin/modules/opengraph.php:122 msgid "Sitename" msgstr "Naziv site-a" #: ../admin/modules/opengraph.php:134 msgid "Locale" msgstr "Lokalni" #: ../admin/modules/opengraph.php:149 msgid "Default Settings" msgstr "Podrazumevana podešavanja" #: ../admin/modules/opengraph.php:155 msgid "Default Image" msgstr "Podrazumevana slika" #: ../admin/modules/opengraph.php:163 msgid "" "This image is used if the post/page being shared does not contain any images." msgstr "" "Ova slika koristi se ako podeljeni post ili stranica ne sadrže nikakve slike." #: ../admin/modules/opengraph.php:172 msgid "Custom Settings (Only for Advanced Users)" msgstr "Prilagođena podešavanja (samo za napredne korisnike)" #: ../admin/modules/opengraph.php:178 msgid "Custom Tags" msgstr "Prilagođene oznake" #: ../admin/modules/seo.php:18 ../admin/modules/seo.php:23 msgid "Enable SEO Module" msgstr "Aktiviraj SEO modul" #: ../admin/modules/seo.php:28 msgid "" "Please make sure you have disabled all the SEO plugins before activating " "Catch Work Tools SEO Module." msgstr "" "Proverite da li ste deaktivirali sve SEO dodatke pre aktiviranja Catch Work " "Tools SEO Modula." #: ../admin/modules/seo.php:29 msgid "" "SEO for specific Pages or Posts, can be added via Catch Web Tools Custom " "Meta Box which shows up in Pages' and Posts' add/edit sections once this " "function is enabled. Same settings will show up in Categories' add/edit " "pages." msgstr "" "SEO za određene stranice ili postove može se dodati kroz Catch Web Tools " "Custom Meta Box koji se prikazuje u delovima za dodavanje/uređivanje " "stranica i postova nakon aktiviranja ove funkcije. Ista podešavanja pojaviće " "se kategorijama, u delovima za dodavanje ili uređivanje." #: ../admin/modules/seo.php:38 msgid "SEO Homepage Settings" msgstr "SEO podešavanja početne stranice" #: ../admin/modules/seo.php:43 msgid "SEO Title" msgstr "SEO naziv" #: ../admin/modules/seo.php:48 msgid "Title display in search engines is limited to 70 characters. " msgstr "Naziv koji se prikazuje u pretraživačima ograničen je na 70 karaktera." #: ../admin/modules/seo.php:48 ../admin/modules/seo.php:59 msgid "character(s) left." msgstr "ostalo je još karaktera" #: ../admin/modules/seo.php:54 msgid "Meta Description" msgstr "Meta opis" #: ../admin/modules/seo.php:59 msgid "The meta description is limited to 156 characters. " msgstr "Meta opis je ograničen na 156 karaktera." #: ../admin/modules/seo.php:65 msgid "Focus Keywords" msgstr "Fokus ključne reči" #: ../admin/modules/seo.php:75 msgid "Author" msgstr "Autor" #: ../admin/modules/social-icons.php:18 ../admin/modules/social-icons.php:23 msgid "Enable Social Icons Module" msgstr "Aktiviraj Social Icons Modul" #: ../admin/modules/social-icons.php:33 msgid "Shortcode" msgstr "Shortcode" #: ../admin/modules/social-icons.php:35 msgid "The shortcode" msgstr "Određeni shortcode" #: ../admin/modules/social-icons.php:37 msgid "(in the Post/Page content) will enable Social Icons into the Page/Post." msgstr "" "(u sadržaju posta/stranice) aktiviraće Social Icons na stranicama/postovima." #: ../admin/modules/social-icons.php:39 msgid "Widget" msgstr "Widget" #: ../admin/modules/social-icons.php:41 msgid "Drag and drop CWT Social Icons Widget to any Sidebar for results." msgstr "" #: ../admin/modules/social-icons.php:43 msgid "In WordPress Template" msgstr "U WordPress šablonu" #: ../admin/modules/social-icons.php:45 msgid "" "If Catch Web Tools' Social Icons is required in WordPress template, the " "following code can be used: " msgstr "" "Ako vam je za WordPress šablon potreban Catch Web Tools' Social Icons, " "možete upotrebiti sledeći kod: " #: ../admin/modules/social-icons.php:57 msgid "OR" msgstr "ILI" #: ../admin/modules/social-icons.php:79 msgid "Social Icons Settings" msgstr "Social Icons podešavanja" #: ../admin/modules/social-icons.php:84 msgid "Enable Social Icons Sidebar?" msgstr "Aktiviraj Social Icons bočni meni?" #: ../admin/modules/social-icons.php:86 msgid " Drag and Drop CWT Social Icons widget to any sidebar" msgstr "" #: ../admin/modules/social-icons.php:91 msgid "Social Icon Size (px)" msgstr "Social Icon veličina (u pikselima)" #: ../admin/modules/social-icons.php:101 #, fuzzy msgid "Enable Social Icon's Brand Color on" msgstr "Aktiviraj Social Icons Modul" #: ../admin/modules/social-icons.php:118 msgid "Social Icon Color" msgstr "Boja za Social Icon" #: ../admin/modules/social-icons.php:128 #, fuzzy msgid "Social Icon Hover Color" msgstr "Boja za Social Icon" #: ../admin/modules/to-top.php:34 msgid "" "This module is currently disabled since To Top standalone plugin is already " "active on your site. If you want to configure the To Top please click on the " "following link." msgstr "" #: ../admin/modules/to-top.php:175 msgid "Insert Image" msgstr "" #: ../admin/modules/to-top.php:175 msgid "Change Image" msgstr "" #: ../to-top/public/class-to-top-public.php:143 #: ../to-top/public/class-to-top-public.php:156 #: ../to-top/public/class-to-top-public.php:169 msgid "Scroll Up" msgstr "" #~ msgid "https://facebook.com/catchthemes" #~ msgstr "https://facebook.com/catchthemes" #~ msgid "https://twitter.com/catchthemes" #~ msgstr "https://twitter.com/catchthemes" #~ msgid "Catch Web Tools By" #~ msgstr "Catch Web Tools autor" #~ msgid "https://catchplugins.com/" #~ msgstr "https://catchplugins.com/" #~ msgid "https://catchplugins.com/forum/catch-web-tools/" #~ msgstr "https://catchplugins.com/forum/catch-web-tools/" #~ msgid "Support Forum" #~ msgstr "Forum za podršku" #~ msgid "https://catchplugins.com/plugins/catch-web-tools/" #~ msgstr "https://catchplugins.com/plugins/catch-web-tools/" #~ msgid "Plugin Details" #~ msgstr "Detalji za plugin" #~ msgid "https://www.facebook.com/catchwebtools/" #~ msgstr "https://www.facebook.com/catchwebtools/" #~ msgid "Like Catch Plugins on Facebook" #~ msgstr "Kliknite na ‘Sviđa mi se’ za Catch Plugins na Facebook-u" #~ msgid "Facebook" #~ msgstr "Facebook" #~ msgid "https://twitter.com/catchwebtools/" #~ msgstr "https://twitter.com/catchwebtools/" #~ msgid "Follow Catch Plugins on Twitter" #~ msgstr "Pratite Catch Plugins na Twitter-u" #~ msgid "Twitter" #~ msgstr "Twitter" #~ msgid "https://wordpress.org/support/view/plugin-reviews/catch-web-tools" #~ msgstr "https://wordpress.org/support/view/plugin-reviews/catch-web-tools" #~ msgid "Rate us 5 Star on WordPress" #~ msgstr "Ocenite nas sa 5 zvezdica na WordPress-u" #~ msgid "5 Star Rating" #~ msgstr "5 zvezdica" #~ msgid "Plugin Options Saved." #~ msgstr "Opcije plugin-a sačuvane" #~ msgid "Seo Settings" #~ msgstr "Seo podešavanja" #~ msgid "Image URL" #~ msgstr "URL slike" #~ msgid "Custom tags" #~ msgstr "Prilagođene oznake" #~ msgid "Catch Web Tools SEO Settings" #~ msgstr "Catch Web Tools SEO podešavanja" #~ msgid "SEO title" #~ msgstr "SEO naslov" #~ msgid "The SEO title is used on the archive page for this term." #~ msgstr "SEO naslov koristi se na stranici arhive za ovaj termin" #~ msgid "SEO Description" #~ msgstr "SEO opis" #~ msgid "" #~ "The SEO description is used for the meta description on the archive page " #~ "for this term." #~ msgstr "SEO opis koristi se za meta opis na stranici arhive za ovaj termin." #~ msgid "Meta Keywords" #~ msgstr "Meta ključne reči" #~ msgid "Meta keywords used on the archive page for this term." #~ msgstr "Meta ključne reči koriste se na stranici arhive za ovaj termin." #~ msgid "Use this widget to add Catch Web Tools Social Icons as a widget. " #~ msgstr "" #~ "Upotrebite ovaj widget da biste dodali Catch Web Tools Social Icons kao " #~ "widget." #~ msgid "Title (optional):" #~ msgstr "Naziv (opcioni):" #~ msgid "" #~ "Catch Web Tools requires PHP 5.2 or higher, as does WordPress 3.5 and " #~ "higher. The plugin has now disabled itself." #~ msgstr "" #~ "Catch Web Tools zahteva PHP 5.2 ili noviju, kao i WordPress 3.5 ili " #~ "noviju verziju. Plugin se sada deaktivirao. " #~ msgid "Enable Webmaster Module" #~ msgstr "Aktiviraj Webmaster Module" #~ msgid "Header and Footer Scripts" #~ msgstr "Skripta za zaglavlje i podnožje " #~ msgid "Enter scripts or code you would like output to" #~ msgstr "Unesite skripta ili kod koje biste želeli da prikažete" #~ msgid "The" #~ msgstr "The" #~ msgid "" #~ "hook executes immediately before the closing tag in the document " #~ "source." #~ msgstr "" #~ "udica izvršava neposredno pre zatvaranja oznake u izvoru " #~ "dokumenta." #~ msgid "" #~ "hook executes immediately before the closing tag in the document " #~ "source." #~ msgstr "" #~ "udica izvršava neposredno pre zatvaranja oznake u izvoru " #~ "dokumenta." #~ msgid "Site Verification" #~ msgstr "Provera site-a" #~ msgid "" #~ "You can use the boxes below to verify with different Webmaster Tools. If " #~ "your site is already verified, you can skip this section. Enter the " #~ "verify meta values for" #~ msgstr "" #~ "Možete koristiti sledeće okvire da biste proverili site uz pomoć " #~ "različitih Webmaster Tools-a. Ako je vaš site već verifikovan, možete " #~ "preskočiti taj deo. Unesite meta vrednosti na proveru za " #~ msgid "Google Webmaster Tools" #~ msgstr "Google Webmaster Tools" #~ msgid "Enter your Google ID number only" #~ msgstr "Unesite samo svoj Google ID broj" #~ msgid "Bing Webmaster Tools" #~ msgstr "Bing Webmaster Tools" #~ msgid "Enter your Bing ID number only" #~ msgstr "Unesite samo svoj Bing ID broj" #~ msgid "Alexa Verification ID" #~ msgstr "Alexa Verification ID" #~ msgid "Enter your Alexa ID number only" #~ msgstr "Unesite samo svoj Alexa ID broj" #~ msgid "" #~ "Drag and drop Catch Web Tools' Social Icons Widget to any Sidebar for " #~ "results." #~ msgstr "" #~ "Prevucite i pozicionirajte Catch Web Tools' Social Icons Widget na bilo " #~ "koju traku bočnog menija." #~ msgid " Drag and Drop Catch Web Tools Social Icons widget to any sidebar" #~ msgstr "" #~ "Prevucite i pozicionirajte Drop Catch Web Tools Social Icons widget na " #~ "bilo koji bočni meni." #~ msgid "Make sure to set the size to a multiple of 16px" #~ msgstr "Podesite veličinu tako da se množi sa 16 piksela" #~ msgid " or the icons could end up looking fuzzy" #~ msgstr "ili će vam ikonice biti mutne " #~ msgid "Google+" #~ msgstr "Google+" #~ msgid "Rss Feed" #~ msgstr "Rss Feed" #~ msgid "WordPress" #~ msgstr "WordPress" #~ msgid "GitHub" #~ msgstr "GitHub" #~ msgid "LinkedIn" #~ msgstr "Linkedin" #~ msgid "Pinterest" #~ msgstr "Pinterest" #~ msgid "Flickr" #~ msgstr "Flickr" #~ msgid "Vimeo" #~ msgstr "Vimeo" #~ msgid "YouTube" #~ msgstr "YouTube" #~ msgid "Tumblr" #~ msgstr "Tumblr" #~ msgid "Instagram" #~ msgstr "Instagram" #~ msgid "CodePen" #~ msgstr "CodePen" #~ msgid "Polldaddy" #~ msgstr "Polldaddy" #~ msgid "Path" #~ msgstr "Path" #~ msgid "Dribbble" #~ msgstr "Dribbble" PKZoHj^-^-:plugins/catch-web-tools/languages/catch-web-tools-pt_BR.monu[Ida0G1y " ?I  ) 4 @ J U c t          &* Q dc D  # * ; > I e b f { | &09K an@3 M'=-kpt |;:v(5\EL%\+  %B .8G _ kx$65 >A3-~K  !r& H 8 8! T!5`!"##$#8#$#$C$m$T''r'g(jo((l(L)Sf) **^*+,A,-(5-)D(.- 7F5<HA/=12'@$9,: #4>3B ;86 +!G*I&% ?0"EC(in the Post/Page content) will enable Social Icons into the Page/Post.ActivateAdd Open Graph meta data to your site's <head> section. You can specify some of the IDs that are sometimes needed below:AuthorCSS TutorialCSS Tutorial from W3Schools.Catch IDsCatch IDs will show Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and UserID in the respective admin section tables.Catch Web ToolsCheck to EnableClick Here to ReadConfigureCustom CSSCustom CSS gives you an option to add in your CSS to your WordPress site without building Child Theme. You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.Custom Css SettingsCustom Settings (Only for Advanced Users)Custom TagsDashboardDeactivateDefault ImageDefault SettingsDescriptionE.g:Enable Open Graph ModuleEnable SEO ModuleEnable Social Icons ModuleEnable Social Icons Sidebar?Enter Custom CssFacebook App IDFacebook SettingsFocus KeywordsFor any other type of Open Graph tags.Homepage SettingsIf Catch Web Tools' Social Icons is required in WordPress template, the following code can be used: If you do not know what this is, you should probably leave it empty.In WordPress TemplateLocaleMeta DescriptionOROpen GraphOpen Graph tags for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections once this function is enabled.Please make sure you have disabled all the SEO plugins before activating Catch Work Tools SEO Module.SEOSEO ( BETA Version )SEO Homepage SettingsSEO TitleSEO for specific Pages or Posts, can be added via Catch Web Tools Custom Meta Box which shows up in Pages' and Posts' add/edit sections once this function is enabled. Same settings will show up in Categories' add/edit pages.SEO is in beta version. SEO can be used to add SEO meta tags to Homepage, specific Pages or Posts and Categories page. This section adds SEO meta data to site's section.ShortcodeSitenameSocial Icon ColorSocial Icon Size (px)Social IconsSocial Icons SettingsSocial Icons gives you an option to add in your Social Profiles.The Open Graph protocol enables your site to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.The meta description is limited to 156 characters. The shortcodeThis image is used if the post/page being shared does not contain any images.TitleTitle display in search engines is limited to 70 characters. TypeURLWebmaster ToolsWebmaster Tools gives you an option to add in the Site Verfication Code and Header and Footer Script required to manage your site.WebmastersWidgetYou can add Social Icons by adding in Widgets in your Sidebar or by adding in Shortcode in your Page/Post Content or by adding the function in your template files.You can just add your Custom CSS and save, it will show up in the frontend head section. Leave it blank if it is not needed.You do not have sufficient permissions to access this page.character(s) left.http://www.w3schools.com/css/default.aspProject-Id-Version: Catch Web Tools Report-Msgid-Bugs-To: https://wordpress.org/tags/_s PO-Revision-Date: 2024-04-17 14:16+0545 Last-Translator: Sakin Shrestha Language-Team: Valdir Trombini Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Poedit 3.4.2 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx X-Poedit-Basepath: . X-Poedit-SourceCharset: UTF-8 X-Poedit-SearchPath-0: .. Vai permitir ícones sociais em páginas e postagens (no conteúdo das postagens e páginas)AtivarVeja como adicionar Open Graph meta dados para o seu site na seção <head>. Você pode especificar algumas das identificações que às vezes são necessárias nas configurações, confira abaixo:AutorW3Schools - Tutoriais para aprender CSS (Cascading Style Sheet - Folha de Estilo em Cascata)Aprenda tudo que você precisa saber a respeito de CSS, de como fazer apresentação das folhas de estilo em cascata.
    CSS (Cascading Style Sheet - Folha de Estilo em Cascata) com os tutoriais dinâmicos da escola W3Schools. (em inglês, contudo, vale o seu esforço em traduzir, para aprender esse Ensinamento Gratuito e apresentar o seu website/blog a seu gosto, para o seu público alvo na internet!)Pegar IDsPegar IDs é uma seção muito útil, onde vai mostrar a ID - identificaçao única em: ID de postagem, ID de página, ID de midia, ID de links, ID da categoria, ID da tag e ID de usuário nas respectivas tabelas da seção de administração do seu WordPress.Catch Web ToolsMarque aqui para ativarClique aqui para aprenderConfigurarPersonalizar o CSSAqui você tem a opção de personalizar o código CSS (Cascading Style Sheet - Folha de Estilo em Cascata), sem a necessidade de construir um tema filho para o seu tema WordPress. Você pode apenas adicionar seu CSS personalizado e salvar, ele vai aparecer na seção head do código-fonte (frontend). Deixe em branco se não for necessário.Configurações personalizadas do CSSConfigurações personalizadas (somente para usuários avançados)Personalizações das TagsPainel de instrumentosDesativarImagem padrãoConfigurações padrãoDescriçãopor exemplo:Ativar o módulo de Open GraphAtivar o módulo de SEOAtivar o módulo dos ícones sociaisVocê quer ativar os ícones sociais na barra lateral?Coloque aqui a sua folha de estilo CSS personalizado!Aplicativo do Facebook com sua identificação única (App ID)Configurações do FacebookFocagem na palavras-chavePara nenhum dos outros tipos de tags do Open Graph.Configurações da página inicial (Homepage)Se os ícones sociais do Catch Web Tools for necessário no modelo (template) WordPress, o código a seguir podem ser usados: Se você não sabe o que é isso, você provavelmente deva deixá-lo vazio.No modelo WordPressLocalidadeMeta descriçãoOROpen GraphVeja como definir a Tag no Open Graph para Páginas ou Postagens específicas; elas podem ser adicionadas via Catch Web Tools personalizando o meta box que aparece nas seções adicionar/editar Páginas e/ou Postagens, uma vez que esta função esteja ativada.Por favor, certifique-se de ter desativado todos os plugins de SEO antes de ativar o módulo Catch Work Tools SEO.SEO - Otimização para motores de pesquisa (Search Engine Optimization)SEO - versão de teste e desenvolvimento (Versão Beta) Configurações de SEO para a página inicial (Homepage)Título SEOSEO para páginas ou postagens específicas, podem ser adicionados via Catch Web Tools personalizando meta box que aparece em páginas e postagens, nas seções adicionar/editar, uma vez que esta função estaja ativada. Essas mesmas configurações vão aparecer nas páginas adicionar/editar das categorias.SEO está na versão beta. O SEO pode ser usado para adicionar SEO meta tags para a página inicial (Homepage), páginas específicas ou postagens e página das categorias. Esta seção acrescenta SEO meta dados para a seção do site.Códigos resumidos (Shortcode)Nome do websiteEsquema de cores dos ícones sociaisTamanho do ícone social na unidade de medida pixel (px)Ícones SociaisConfigurações dos ícones sociaisEm Ícones Sociais lhe dá a opção de adicionar os endereços (URL) de seus perfis sociais, aos quais, você está vinculado, para as deversas redes existentes.O padrão do protocolo Open Graph permite que o seu site se torne um objeto rico em integração social. Por exemplo, isto é usado no Facebook para permitir que qualquer página web tenha a mesma funcionalidade que qualquer outro objeto no Facebook., e umapágina web que o implemente, enriquece a experiência do usuário em suas ações de curtir e compartilhar informações, além de definir como a página web será representada na maior rede social do mundo. Através desse vínculo, será possível interagir com os usuários que a curtiram da mesma forma que ocorrem nas interações com uma página do Facebook.A descrição do conteúdo da postagem, meta descrição (Meta Description), que aparece nos motores de busca é limitada a 156 caracteres. O código resumidoEsta imagem é usada se a postagem/página que está sendo compartilhada não contenha nenhuma imagem predefinida.TítuloA exibição do título da postagem (Title) que aparece nos motores de busca é limitado a 70 caracteres. TipoURL - Localizador-Padrão de Recursos, basicamente o endereço de uma página web (Uniform Resource Locator)Ferramenta para WebmasterIncluido nas ferramentas para o webmaster está uma opção para adicionar ao seu website/blog a verificação do código, que é a possibilidade de colocação de Script no código-fonte do Cabeçalho e/ou no Rodapé, necessários para gerenciar de diversas formas e adequadamente o seu meio de comunicação na internet.WebmastersWidgetVocê pode adicionar ícones sociais, escolhendo colocá-los em Widgets na barra lateral preferida (Sidebar), ou então, adicionando as funcões de chamada em códigos resumidos (Shortcode) dentro de sua página/postagem do conteúdo, ou também, adicionando diretamente a função de chamada para a acão em seus arquivos de modelo (template files).Você pode simplismente adicionar seu código CSS personalizado e salvar, ele vai aparecer na seção head do código-fonte (frontend). Deixe em branco se não for necessário.Você não tem permissões suficientes para acessar esta página.Caracteres à esquerdahttp://www.w3schools.com/css/default.aspPKZ;BNNplugins/siteseo/wpml-config.xmlnu[ _siteseo_titles_title _siteseo_titles_desc _siteseo_social_fb_title _siteseo_social_fb_desc _siteseo_social_fb_img _siteseo_social_twitter_title _siteseo_social_twitter_desc _siteseo_social_twitter_img _siteseo_robots_index _siteseo_robots_follow _siteseo_robots_imageindex _siteseo_robots_archive _siteseo_robots_snippet _siteseo_robots_canonical _siteseo_robots_primary_cat _siteseo_robots_breadcrumbs _siteseo_redirections_enabled _siteseo_redirections_logged_status _siteseo_redirections_type _siteseo_redirections_value PKZI9D)D)1plugins/siteseo/main/options-instant-indexing.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } // Generate dynamically the Instant Indexing API key function siteseo_instant_indexing_generate_api_key_fn($init = false) { $options = get_option('siteseo_instant_indexing_option_name') ? get_option('siteseo_instant_indexing_option_name') : []; $api_key = wp_generate_uuid4(); $api_key = preg_replace('[-]', '', $api_key); $options['instant_indexing_bing_api_key'] = base64_encode($api_key); if ($init === true) { $options['instant_indexing_automate_submission'] = '1'; } update_option('siteseo_instant_indexing_option_name', $options); if ($init === false) { wp_send_json_success(); } } // Create the virtual Instant Indexing API key txt file function siteseo_instant_indexing_api_key_txt() { $options = get_option('siteseo_instant_indexing_option_name'); $api_key = isset($options['instant_indexing_bing_api_key']) ? base64_decode(esc_attr($options['instant_indexing_bing_api_key'])) : null; if ($api_key === null) { return; } global $wp; $current_url = home_url( $wp->request ); if ( isset( $current_url ) && trailingslashit( get_home_url() ) . $api_key . '.txt' === $current_url ) { header( 'Content-Type: text/plain' ); header( 'X-Robots-Tag: noindex' ); status_header( 200 ); echo esc_html($api_key); exit(); } } add_action('template_redirect', 'siteseo_instant_indexing_api_key_txt', 0); //Batch Instant Indexing function siteseo_instant_indexing_fn($is_manual_submission = true, $permalink = null) { if ($is_manual_submission === true) { $options = get_option('siteseo_instant_indexing_option_name'); //Update options if (isset($_POST['urls_to_submit'])) { $options['instant_indexing_manual_batch'] = sanitize_textarea_field(wp_unslash($_POST['urls_to_submit'])); } if (isset($_POST['indexnow_api'])) { $options['instant_indexing_bing_api_key'] = siteseo_opt_post('indexnow_api'); } if (isset($_POST['google_api'])) { $options['instant_indexing_google_api_key'] = siteseo_opt_post('google_api'); } if (isset($_POST['google'])) { if ($_POST['google'] === 'true') { $options['engines']['google'] = '1'; } elseif ($_POST['google'] === 'false') { unset($options['engines']['google']); } } if (isset($_POST['bing'])) { if ($_POST['bing'] === 'true') { $options['engines']['bing'] = '1'; } elseif ($_POST['bing'] === 'false') { unset($options['engines']['bing']); } } if (isset($_POST['automatic_submission'])) { if ($_POST['automatic_submission'] === 'true') { $options['instant_indexing_automate_submission'] = '1'; } elseif ($_POST['automatic_submission'] === 'false') { unset($options['instant_indexing_automate_submission']); } } if (isset($_POST['update_action']) && isset($_POST['delete_action'])) { if ($_POST['update_action'] === 'URL_UPDATED') { $options['instant_indexing_google_action'] = 'URL_UPDATED'; } elseif ($_POST['delete_action'] === 'URL_DELETED') { $options['instant_indexing_google_action'] = 'URL_DELETED'; } else { $options['instant_indexing_google_action'] = 'URL_UPDATED'; } } update_option('siteseo_instant_indexing_option_name', $options); } $options = get_option('siteseo_instant_indexing_option_name'); $engines = isset($options['engines']) ? $options['engines'] : null; $actions = isset($options['instant_indexing_google_action']) ? esc_attr($options['instant_indexing_google_action']) : 'URL_UPDATED'; $urls = isset($options['instant_indexing_manual_batch']) ? esc_attr($options['instant_indexing_manual_batch']) : ''; $google_api_key = isset($options['instant_indexing_google_api_key']) ? $options['instant_indexing_google_api_key'] : ''; $bing_api_key = isset($options['instant_indexing_bing_api_key']) ? base64_decode(esc_attr($options['instant_indexing_bing_api_key'])) : ''; $bing_url = 'https://api.indexnow.org/indexnow/'; $google_url = 'https://indexing.googleapis.com/v3/urlNotifications:publish'; // Clean logs delete_option('siteseo_instant_indexing_log_option_name'); // Check we have URLs to submit if ($urls === '' && $is_manual_submission === true) { $log['error'] = __('No URLs to submit','siteseo'); update_option('siteseo_instant_indexing_log_option_name', $log, false); return; } // Check we have at least one search engine selected if (empty($engines)) { $log['error'] = __('No search engines selected','siteseo'); update_option('siteseo_instant_indexing_log_option_name', $log, false); return; } // Check we have setup at least one API key if ($google_api_key === '' && $bing_api_key === '') { $log['error'] = __('No API key defined from the settings tab','siteseo'); update_option('siteseo_instant_indexing_log_option_name', $log, false); return; } // Prepare the URLS if ($is_manual_submission === true) { $urls = preg_split('/\r\n|\r|\n/', $urls); $x_source_info = SITESEO_API.'x-source-info/true'; $urls = array_slice($urls, 0, 100); } elseif ($is_manual_submission === false && !empty($permalink)) { $urls = null; $urls[] = $permalink; $x_source_info = SITESEO_API.'x-source-info/false'; } // Bing API if (isset($bing_api_key) && !empty($bing_api_key) && $engines['bing'] === '1') { $host = wp_parse_url(get_home_url(), PHP_URL_HOST); $body = [ 'host' => $host, 'key' => $bing_api_key, 'keyLocation' => trailingslashit( get_home_url() ) . $bing_api_key . '.txt', 'urlList' => $urls ]; // Build the POST request $args = [ 'body' => wp_json_encode($body), 'timeout' => 30, 'headers' => [ 'Content-Type' => 'application/json', 'X-Source-Info' => $x_source_info ], ]; $args = apply_filters( 'siteseo_instant_indexing_post_request_args', $args ); // IndexNow (Bing) $response = wp_remote_post( $bing_url, $args ); // Check the response is ok first if (is_wp_error($response)) { $message = $response->get_error_message(); $log['bing']['status'] = $message; } $log['bing']['response'] = $response; } elseif ($engines['bing'] === '1') { $log['bing']['response']['error'] = [ 'code' => 401, 'message' => __('Bing API key is missing', 'siteseo') ]; } // Google API if ($is_manual_submission === true) { if (isset($google_api_key) && !empty($google_api_key) && $engines['google'] === '1') { try { $client = new Google_Client(); $client->setAuthConfig( json_decode($google_api_key, true) ); $client->setScopes( Google_Service_Indexing::INDEXING ); $client->setUseBatch( true ); $service = new Google_Service_Indexing( $client ); $batch = $service->createBatch(); $postBody = new Google_Service_Indexing_UrlNotification(); foreach($urls as $url) { $postBody->setUrl( $url ); $postBody->setType( $actions ); $batch->add( $service->urlNotifications->publish( $postBody ) ); } $results = $batch->execute(); } catch (\Exception $e) { $results = $e->getMessage(); } $log['google']['response'] = $results; } elseif ($engines['google'] === '1') { $log['google']['response']['error'] = [ 'code' => 401, 'message' => __('Google API key is missing', 'siteseo') ]; } } // Log URLs submitted $log['log']['urls'] = $urls; $log['log']['date'] = current_time( 'F j, Y, g:i a' ); update_option('siteseo_instant_indexing_log_option_name', $log, false); if ($is_manual_submission === true) { exit(); } } //Ajax Batch Instant Indexing function siteseo_instant_indexing_post(){ check_ajax_referer('siteseo_instant_indexing_post_nonce'); require_once SITESEO_DIR_PATH . '/vendor/autoload.php'; if (current_user_can(siteseo_capability('manage_options', 'instant-indexing')) && is_admin()) { siteseo_instant_indexing_fn(); } wp_send_json_success(); } add_action('wp_ajax_siteseo_instant_indexing_post', 'siteseo_instant_indexing_post'); //Ajax Generate Instant Indexing API Key function siteseo_instant_indexing_generate_api_key(){ check_ajax_referer('siteseo_instant_indexing_generate_api_key_nonce'); if (current_user_can(siteseo_capability('manage_options', 'instant-indexing')) && is_admin()) { siteseo_instant_indexing_generate_api_key_fn(); } wp_safe_redirect(admin_url('admin.php?page=siteseo-instant-indexing')); exit(); } add_action('wp_ajax_siteseo_instant_indexing_generate_api_key', 'siteseo_instant_indexing_generate_api_key'); //Automatic submission function siteseo_instant_indexing_on_post_publish( $new_status, $old_status, $post ){ $options = get_option('siteseo_instant_indexing_option_name'); // Is automatic submission enabled? if (!isset($options['instant_indexing_automate_submission'])) { return; } $do_submit = false; $type = "add"; if ($old_status === 'publish' && $new_status === 'publish') { $do_submit = true; $type = "update"; } else if ($old_status != 'publish' && $new_status === 'publish') { $do_submit = true; $type = "add"; } else if ($old_status === 'publish' && $new_status === 'trash') { $do_submit = true; $type = "delete"; } // Do submission if ($do_submit) { $permalink = get_permalink($post); // Clean permalink if trashed post if (strpos($permalink, '__trashed') > 0) { $permalink = substr($permalink, 0, strlen($permalink) - 10) . "/"; } if (empty($permalink)) { return; } // Is it a public post type? if(function_exists('is_post_publicly_viewable')){ $is_public_post = is_post_publicly_viewable($post); if(!$is_public_post && $type != 'delete'){ return; } return siteseo_instant_indexing_fn(false, $permalink); } } } add_action( 'transition_post_status', 'siteseo_instant_indexing_on_post_publish', 10, 3 ); PKZBדW''1plugins/siteseo/main/options-google-ecommerce.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } if(is_plugin_active('woocommerce/woocommerce.php')){ // Measure Purchases $purchasesOptions = siteseo_get_service('GoogleAnalyticsOption')->getPurchases(); if (!$purchasesOptions) { return; } if (function_exists('is_order_received_page') && is_order_received_page()) { global $wp; $order_id = isset($wp->query_vars['order-received']) ? $wp->query_vars['order-received'] : 0; if (0 < $order_id && 1 != get_post_meta($order_id, '_siteseo_ga_tracked', true)) { $order = wc_get_order($order_id); //Check order status $status = ['completed', 'processing']; $status = apply_filters('siteseo_gtag_ec_status', $status); if (method_exists($order, 'get_status') && (in_array($order->get_status(), $status))) { $items_purchased = []; foreach ($order->get_items() as $item) { // Get Product object $_product = wc_get_product($item->get_product_id()); if ( ! is_a($_product, 'WC_Product')) { continue; } // init vars $item_id = $_product->get_id(); $variation_id = 0; $variation_data = null; $categories_js = null; $categories_out = []; $variant_js = null; // Set data $items_purchased['id'] = esc_js($item_id); $items_purchased['name'] = esc_js($item->get_name()); $items_purchased['quantity'] = (float) esc_js($item->get_quantity()); $items_purchased['price'] = (float) esc_js($order->get_item_total($item)); // Categories and Variations $categories = get_the_terms($item_id, 'product_cat'); if ($item->get_variation_id()) { $variation_id = $item->get_variation_id(); $variation_data = wc_get_product_variation_attributes($variation_id); } // Variations if (is_array($variation_data) && ! empty($variation_data)) { $variant_js = esc_js(wc_get_formatted_variation($variation_data, true)); $categories = get_the_terms($item_id, 'product_cat'); $item_id = $variation_id; $items_purchased['variant'] = esc_js($variant_js); } // Categories if ($categories) { foreach ($categories as $category) { $categories_out[] = $category->name; } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } $final[] = $items_purchased; } $global_purchase = [ 'transaction_id' => esc_js($order_id), 'affiliation' => esc_js(get_bloginfo('name')), 'value' => (float) esc_js($order->get_total()), 'currency' => esc_js($order->get_currency()), 'tax' => (float) esc_js($order->get_total_tax()), 'shipping' => (float) esc_js($order->get_shipping_total()), 'items' => $final, ]; $siteseo_google_analytics_click_event['purchase_tracking'] = 'gtag(\'event\', \'purchase\','; $siteseo_google_analytics_click_event['purchase_tracking'] .= wp_json_encode($global_purchase); $siteseo_google_analytics_click_event['purchase_tracking'] .= ');'; $siteseo_google_analytics_click_event['purchase_tracking'] = apply_filters('siteseo_gtag_ec_purchases_ev', $siteseo_google_analytics_click_event['purchase_tracking']); update_post_meta($order_id, '_siteseo_ga_tracked', true); } } } } if (apply_filters('siteseo_fallback_woocommerce_analytics', false)) { if (is_plugin_active('woocommerce/woocommerce.php')) { // ADD TO CART if (siteseo_get_service('GoogleAnalyticsOption')->getAddToCart()) { // Listing page add_action('woocommerce_after_shop_loop_item', 'siteseo_loop_add_to_cart'); function siteseo_loop_add_to_cart() { // Get current product global $product; // Set data $items_purchased['id'] = esc_js($product->get_id()); $items_purchased['name'] = esc_js($product->get_title()); $items_purchased['list_name'] = esc_js(get_the_title()); $items_purchased['quantity'] = (float) esc_js(1); $items_purchased['price'] = (float) esc_js($product->get_price()); // Extract categories $categories = get_the_terms($product->get_id(), 'product_cat'); if ($categories) { foreach ($categories as $category) { $categories_out[] = $category->name; } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } // Echo JS $js = "jQuery('.ajax_add_to_cart').unbind().click( function(){ gtag('event', 'add_to_cart', {'items': [ " . wp_json_encode($items_purchased) . " ]}); });"; $js = apply_filters('siteseo_gtag_ec_add_to_cart_archive_ev', $js); echo ''; } // Single add_action('woocommerce_after_add_to_cart_button', 'siteseo_single_add_to_cart'); function siteseo_single_add_to_cart() { // Get current product global $product; // Set data $items_purchased['id'] = esc_js($product->get_id()); $items_purchased['name'] = esc_js($product->get_title()); $items_purchased['list_name'] = esc_js(get_the_title()); $items_purchased['quantity'] = "$( 'input.qty' ).val() ? $( 'input.qty' ).val() : '1'"; $items_purchased['price'] = (float) esc_js($product->get_price()); // Extract categories $categories = get_the_terms($product->get_id(), 'product_cat'); if ($categories) { foreach ($categories as $category) { $categories_out[] = $category->name; } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } // Echo JS $js = "jQuery('.single_add_to_cart_button').click( function(){ gtag('event', 'add_to_cart', {'items': [ " . wp_json_encode($items_purchased) . " ]}); });"; $js = apply_filters('siteseo_gtag_ec_add_to_cart_single_ev', $js); echo ''; } } // REMOVE FROM CART if (siteseo_get_service('GoogleAnalyticsOption')->getRemoveFromCart()) { // Cart page add_filter('woocommerce_cart_item_remove_link', 'siteseo_cart_remove_from_cart', 10, 2); function siteseo_cart_remove_from_cart($sprintf, $cart_item_key) { // Extract cart and get current product data global $woocommerce; foreach ($woocommerce->cart->get_cart() as $key => $item) { if ($key == $cart_item_key) { $product = wc_get_product($item['product_id']); $items_purchased['quantity'] = (float) $item['quantity']; } } // Get current product if ($product) { // Set data $items_purchased['id'] = esc_js($product->get_id()); $items_purchased['name'] = esc_js($product->get_title()); $items_purchased['list_name'] = esc_js(get_the_title()); $items_purchased['price'] = (float) esc_js($product->get_price()); // Extract categories $categories = get_the_terms($product->get_id(), 'product_cat'); if ($categories) { foreach ($categories as $category) { if (is_object($category) && property_exists($category, 'name')) { $categories_out[] = $category->name; } elseif (is_array($category) && isset($category['name'])) { $categories_out[] = $category['name']; } } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } // Return JS $sprintf .= "'; } $sprintf = apply_filters('siteseo_gtag_ec_remove_from_cart_ev', $sprintf); return $sprintf; } } // UPDATE CART (cart / checkout pages) if (siteseo_get_service('GoogleAnalyticsOption')->getAddToCart() && siteseo_get_service('GoogleAnalyticsOption')->getRemoveFromCart()) { // Before update add_action('woocommerce_cart_actions', 'siteseo_before_update_cart'); function siteseo_before_update_cart() { // Extract cart global $woocommerce; foreach ($woocommerce->cart->get_cart() as $key => $item) { $product = wc_get_product($item['product_id']); // Get current product if ($product) { // Set data $items_purchased['id'] = esc_js($product->get_id()); $items_purchased['name'] = esc_js($product->get_title()); $items_purchased['list_name'] = esc_js(get_the_title()); $items_purchased['quantity'] = (float) esc_js($item['quantity']); $items_purchased['price'] = (float) esc_js($product->get_price()); // Extract categories $categories = get_the_terms($product->get_id(), 'product_cat'); if ($categories) { foreach ($categories as $category) { $categories_out[] = $category->name; } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } } $final[] = $items_purchased; } // Return JS $js = "jQuery('.actions .button').unbind().click( function(){ gtag('event', 'remove_from_cart', {'items': " . wp_json_encode($final) . "}); });"; $js = apply_filters('siteseo_gtag_ec_remove_from_cart_checkout_ev', $js); echo ''; } } } } PKZ?uמ1plugins/siteseo/main/options-google-analytics.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } // MATOMO require_once dirname(__FILE__) . '/options-matomo.php'; // Clarity require_once dirname(__FILE__) . '/options-clarity.php'; // Google Analytics function siteseo_cookies_user_consent_html(){ if ('' != siteseo_get_service('GoogleAnalyticsOption')->getOptOutMsg()) { $msg = siteseo_get_service('GoogleAnalyticsOption')->getOptOutMsg(); } elseif (get_option('wp_page_for_privacy_policy')) { $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc. Read more', 'siteseo'); } else { $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc.', 'siteseo'); } if (get_option('wp_page_for_privacy_policy') && '' != $msg) { $siteseo_privacy_page = esc_url(get_permalink(get_option('wp_page_for_privacy_policy'))); $msg = str_replace('[siteseo_privacy_page]', $siteseo_privacy_page, $msg); } $msg = apply_filters('siteseo_cookie_message', $msg); $consent_btn = siteseo_get_service('GoogleAnalyticsOption')->getOptOutMessageOk(); if(empty($consent_btn) || !$consent_btn){ $consent_btn = __('Accept', 'siteseo'); } $close_btn = siteseo_get_service('GoogleAnalyticsOption')->getOptOutMessageClose(); if(empty($close_btn) || !$close_btn){ $close_btn = __('X', 'siteseo'); } $user_msg = ''; $backdrop = ''; $user_msg = apply_filters('siteseo_rgpd_full_message', $user_msg, $msg, $consent_btn, $close_btn, $backdrop); echo wp_kses($user_msg, ['div' => ['data-nosnippet' => true, 'class' => true], 'a' => ['href' => true], 'p' => true, 'button' => ['id' => true, 'type' => true]]) . wp_kses_post($backdrop); } function siteseo_cookies_edit_choice_html(){ $optOutEditChoice = siteseo_get_service('GoogleAnalyticsOption')->getOptOutEditChoice(); if ('1' !== $optOutEditChoice) { return; } $edit_cookie_btn = siteseo_get_service('GoogleAnalyticsOption')->getOptOutMessageEdit(); if (empty($edit_cookie_btn) || !$edit_cookie_btn) { $edit_cookie_btn = __('Manage cookies', 'siteseo'); } $user_msg = ''; $user_msg = apply_filters('siteseo_rgpd_full_message', $user_msg, $edit_cookie_btn); echo wp_kses($user_msg, ['div' => ['class' => true, 'data-nosnippet' => true], 'p' => true, 'button' => ['id' => true, 'type' => true]]); } function siteseo_cookies_user_consent_styles() { $styles = '.siteseo-user-consent {left: 50%;position: fixed;z-index: 8000;padding: 20px;display: inline-flex;justify-content: center;border: 1px solid #CCC;max-width:100%;'; //Width $width = siteseo_get_service('GoogleAnalyticsOption')->getCbWidth(); if (!empty($width)) { $needle = '%'; if (false !== strpos($width, $needle)) { $unit = ''; } else { $unit = 'px'; } $styles .= 'width: ' . $width . $unit . ';'; } else { $styles .= 'width:100%;'; } //Position $position = siteseo_get_service('GoogleAnalyticsOption')->getCbPos(); if ('top' === $position) { $styles .= 'top:0;'; $styles .= 'transform: translate(-50%, 0%);'; } elseif ('center' === $position) { $styles .= 'top:45%;'; $styles .= 'transform: translate(-50%, -50%);'; } else { $styles .= 'bottom:0;'; $styles .= 'transform: translate(-50%, 0);'; } //Text alignment $txtAlign = siteseo_get_service('GoogleAnalyticsOption')->getCbTxtAlign(); if ('left' === $txtAlign) { $styles .= 'text-align:left;'; } elseif ('right' === $position) { $styles .= 'text-align:right;'; } else { $styles .= 'text-align:center;'; } //Background color $bgColor = siteseo_get_service('GoogleAnalyticsOption')->getCbBg(); if (!empty($bgColor)) { $styles .= 'background:' . $bgColor . ';'; } else { $styles .= 'background:#F1F1F1;'; } $styles .= '}@media (max-width: 782px) {.siteseo-user-consent {display: block;}}.siteseo-user-consent.siteseo-user-message p:first-child {margin-right:20px}.siteseo-user-consent p {margin: 0;font-size: 0.8em;align-self: center;'; //Text color $txtColor = siteseo_get_service('GoogleAnalyticsOption')->getCbTxtCol(); if (!empty($txtColor)) { $styles .= 'color:' . $txtColor . ';'; } $styles .= '}.siteseo-user-consent button {vertical-align: middle;margin: 0;font-size: 14px;'; //Btn background color $btnBgColor = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnBg(); if (!empty($btnBgColor)) { $styles .= 'background:' . $btnBgColor . ';'; } //Btn text color $btnTxtColor = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnCol(); if (!empty($btnTxtColor)) { $styles .= 'color:' . $btnTxtColor . ';'; } $styles .= '}.siteseo-user-consent button:hover{'; //Background hover color $bgHovercolor = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnBgHov(); if (!empty($bgHoverColor)) { $styles .= 'background:' . $bgHoverColor . ';'; } //Text hover color $txtHovercolor = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnColHov(); if (!empty($txtHoverColor)) { $styles .= 'color:' . $txtHoverColor . ';'; } $styles .= '}#siteseo-user-consent-close{margin: 0;position: relative;font-weight: bold;border: 1px solid #ccc;'; //Background secondary button $bgSecondaryBtn = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnSecBg(); if (!empty($bgSecondaryBtn)) { $styles .= 'background:' . $bgSecondaryBtn . ';'; } else { $styles .= 'background:none;'; } //Color secondary button $colorSecondaryBtn = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnSecCol(); if (!empty($colorSecondaryBtn)) { $styles .= 'color:' . $colorSecondaryBtn . ';'; } else { $styles .= 'color:inherit;'; } $styles .= '}#siteseo-user-consent-close:hover{cursor:pointer;'; //Background secondary button hover $bgSecondaryBtnHover = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnSecBgHov(); if (!empty($bgSecondaryBtnHover)) { $styles .= 'background:' . $bgSecondaryBtnHover . ';'; } else { $styles .= 'background:#222;'; } //Color secondary button hover $colorSecondaryBtnHover = siteseo_get_service('GoogleAnalyticsOption')->getCbBtnSecColHov(); if (!empty($colorSecondaryBtnHover)) { $styles .= 'color:' . $colorSecondaryBtnHover . ';'; } else { $styles .= 'color:#fff;'; } $styles .= '}'; //Link color $linkColor = siteseo_get_service('GoogleAnalyticsOption')->getCbLkCol(); if (!empty($linkColor)) { $styles .= '.siteseo-user-consent a{'; $styles .= 'color:' . $linkColor; $styles .= '}'; } $styles .= '.siteseo-user-consent-hide{display:none;}'; $cbBackdrop = siteseo_get_service('GoogleAnalyticsOption')->getCbBackdrop(); if (!empty($cbBackdrop)) { $bg_backdrop = siteseo_get_service('GoogleAnalyticsOption')->getCbBackdropBg(); if (empty($bg_backdrop) || !$bg_backdrop) { $bg_backdrop = 'rgba(0,0,0,.65)'; } $styles .= '.siteseo-user-consent-backdrop{-webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; background: ' . esc_attr($bg_backdrop) . '; bottom: 0; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; left: 0; -webkit-overflow-scrolling: touch; overflow-y: auto; position: fixed; right: 0; -webkit-tap-highlight-color: transparent; top: 0; z-index: 100;}'; } $styles .= '.siteseo-edit-choice{ background: none; justify-content: start; z-index: 7500; border: none; width: inherit; transform: none; left: inherit; bottom: 0; top: inherit; }'; $styles = apply_filters('siteseo_rgpd_full_message_styles', $styles); echo ''; } function siteseo_cookies_user_consent_render() { $hook = siteseo_get_service('GoogleAnalyticsOption')->getHook(); if (empty($hook) || !$hook) { $hook = 'wp_head'; } add_action($hook, 'siteseo_cookies_user_consent_html'); add_action($hook, 'siteseo_cookies_edit_choice_html'); add_action($hook, 'siteseo_cookies_user_consent_styles'); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->getDisable()){ if (is_user_logged_in()) { global $wp_roles; //Get current user role if (isset(wp_get_current_user()->roles[0])) { $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from SiteSEO GA settings then apply if ('1' == siteseo_get_toggle_option('google-analytics') && '' != siteseo_get_service('GoogleAnalyticsOption')->getRoles()) { if (array_key_exists($siteseo_user_role, siteseo_get_service('GoogleAnalyticsOption')->getRoles())) { //do nothing } else { siteseo_cookies_user_consent_render(); } } else { siteseo_cookies_user_consent_render(); } } else { siteseo_cookies_user_consent_render(); } } else { siteseo_cookies_user_consent_render(); } } // Optimize function siteseo_google_analytics_optimize_option() { return siteseo_get_service('GoogleAnalyticsOption')->getOptimize(); } // Ads function siteseo_google_analytics_ads_option() { return siteseo_get_service('GoogleAnalyticsOption')->getAds(); } // Additional tracking code - head function siteseo_google_analytics_other_tracking_option() { return siteseo_get_service('GoogleAnalyticsOption')->getOtherTracking(); } // Additional tracking code - body function siteseo_google_analytics_other_tracking_body_option() { return siteseo_get_service('GoogleAnalyticsOption')->getOtherTrackingBody(); } // Additional tracking code - footer function siteseo_google_analytics_other_tracking_footer_option() { return siteseo_get_service('GoogleAnalyticsOption')->getOtherTrackingFooter(); } // Remarketing function siteseo_google_analytics_remarketing_option() { return siteseo_get_service('GoogleAnalyticsOption')->getRemarketing(); } // IP Anonymization function siteseo_google_analytics_ip_anonymization_option() { return siteseo_get_service('GoogleAnalyticsOption')->getIpAnonymization(); } // Link attribution function siteseo_google_analytics_link_attribution_option() { return siteseo_get_service('GoogleAnalyticsOption')->getLinkAttribution(); } // Cross Domain Enable function siteseo_google_analytics_cross_enable_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCrossEnable(); } // Cross Domain function siteseo_google_analytics_cross_domain_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCrossDomain(); } // Events external links tracking Enable function siteseo_google_analytics_link_tracking_enable_option() { return siteseo_get_service('GoogleAnalyticsOption')->getLinkTrackingEnable(); } // Events downloads tracking Enable function siteseo_google_analytics_download_tracking_enable_option() { return siteseo_get_service('GoogleAnalyticsOption')->getDownloadTrackingEnable(); } // Events tracking file types function siteseo_google_analytics_download_tracking_option() { return siteseo_get_service('GoogleAnalyticsOption')->getDownloadTracking(); } // Events affiliate links tracking Enable function siteseo_google_analytics_affiliate_tracking_enable_option() { return siteseo_get_service('GoogleAnalyticsOption')->getAffiliateTrackingEnable(); } // Events tracking affiliate match function siteseo_google_analytics_affiliate_tracking_option() { return siteseo_get_service('GoogleAnalyticsOption')->getAffiliateTracking(); } // Events Phone tracking Enable function siteseo_google_analytics_phone_tracking_option() { return siteseo_get_service('GoogleAnalyticsOption')->getPhoneTracking(); } // Custom Dimension Author function siteseo_google_analytics_cd_author_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCdAuthor(); } // Custom Dimension Category function siteseo_google_analytics_cd_category_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCdCategory(); } // Custom Dimension Tag function siteseo_google_analytics_cd_tag_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCdTag(); } // Custom Dimension Post Type function siteseo_google_analytics_cd_post_type_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCdPostType(); } // Custom Dimension Logged In function siteseo_google_analytics_cd_logged_in_user_option() { return siteseo_get_service('GoogleAnalyticsOption')->getCdLoggedInUser(); } // Get option for "Measure purchases" function siteseo_google_analytics_purchases_option() { return siteseo_get_service('GoogleAnalyticsOption')->getPurchases(); } // Get option for "Add to cart event" function siteseo_google_analytics_add_to_cart_option() { return siteseo_get_service('GoogleAnalyticsOption')->getAddToCart(); } // Get option for "Remove from cart event" function siteseo_google_analytics_remove_from_cart_option() { return siteseo_get_service('GoogleAnalyticsOption')->getRemoveToCart(); } // Build Custom GA function siteseo_google_analytics_js($echo) { $google_analytics_option = siteseo_get_service('GoogleAnalyticsOption'); if ('' != $google_analytics_option->getGA4() && '1' == $google_analytics_option->getEnableOption()){ //Init $tracking_id = $google_analytics_option->getGA4(); $siteseo_google_analytics_config = []; $siteseo_google_analytics_event = []; $siteseo_google_analytics_html = "\n"; $siteseo_google_analytics_html .= " '; $siteseo_google_analytics_html .= "\n"; // Optimize $optimizeOption = $google_analytics_option->getOptimize(); if (!empty($optimizeOption)) { $siteseo_google_analytics_html .= ''; $siteseo_google_analytics_html .= "\n"; } $siteseo_google_analytics_html = apply_filters('siteseo_gtag_html', $siteseo_google_analytics_html); if (true == $echo) { echo wp_kses($siteseo_google_analytics_html, ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } else { return $siteseo_google_analytics_html; } } } add_action('siteseo_google_analytics_html', 'siteseo_google_analytics_js', 10, 1); function siteseo_google_analytics_js_arguments() { $echo = true; do_action('siteseo_google_analytics_html', $echo); } function siteseo_custom_tracking_hook() { $data['custom'] = ''; $data['custom'] = apply_filters('siteseo_custom_tracking', $data['custom']); echo wp_kses($data['custom'], ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } //Build custom code after body tag opening function siteseo_google_analytics_body_code($echo) { $siteseo_html_body = siteseo_get_service('GoogleAnalyticsOption')->getOtherTrackingBody(); if (empty($siteseo_html_body) || !$siteseo_html_body) { return; } $siteseo_html_body = apply_filters('siteseo_custom_body_tracking', $siteseo_html_body); if (true == $echo) { echo "\n" . wp_kses($siteseo_html_body, ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } else { return "\n" . $siteseo_html_body; } } add_action('siteseo_custom_body_tracking_html', 'siteseo_google_analytics_body_code', 10, 1); function siteseo_custom_tracking_body_hook() { $echo = true; do_action('siteseo_custom_body_tracking_html', $echo); } //Build custom code before body tag closing function siteseo_google_analytics_footer_code($echo) { $siteseo_html_footer = siteseo_get_service('GoogleAnalyticsOption')->getOtherTrackingFooter(); if(empty($siteseo_html_footer) || !$siteseo_html_footer) { return; } $siteseo_html_footer = apply_filters('siteseo_custom_footer_tracking', $siteseo_html_footer); if (true == $echo) { echo "\n" . wp_kses($siteseo_html_footer, ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } else { return "\n" . $siteseo_html_footer; } } add_action('siteseo_custom_footer_tracking_html', 'siteseo_google_analytics_footer_code', 10, 1); function siteseo_custom_tracking_footer_hook() { $echo = true; do_action('siteseo_custom_footer_tracking_html', $echo); } //Build custom code in head function siteseo_google_analytics_head_code($echo) { $siteseo_html_head = siteseo_get_service('GoogleAnalyticsOption')->getOtherTracking(); if (empty($siteseo_html_head) || !$siteseo_html_head) { return; } $siteseo_html_head = apply_filters('siteseo_gtag_after_additional_tracking_html', $siteseo_html_head); if (true == $echo) { echo "\n" . wp_kses($siteseo_html_head, ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } else { return "\n" . $siteseo_html_head; } } add_action('siteseo_custom_head_tracking_html', 'siteseo_google_analytics_head_code', 10, 1); function siteseo_custom_tracking_head_hook() { $echo = true; do_action('siteseo_custom_head_tracking_html', $echo); } $google_analytics_option = siteseo_get_service('GoogleAnalyticsOption'); if ('1' == $google_analytics_option->getHalfDisable() || (((isset($_COOKIE['siteseo-user-consent-accept']) && '1' == $_COOKIE['siteseo-user-consent-accept']) && '1' == $google_analytics_option->getDisable()) || ('1' != $google_analytics_option->getDisable()))) { //User consent cookie OK $addToCartOption = $google_analytics_option->getAddToCart(); $removeFromCartOption = $google_analytics_option->getRemoveFromCart(); if (is_user_logged_in()) { global $wp_roles; //Get current user role if (isset(wp_get_current_user()->roles[0])) { $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from SiteSEO GA settings then apply if ('1' == siteseo_get_toggle_option('google-analytics') && '' != siteseo_get_service('GoogleAnalyticsOption')->getRoles()) { if (array_key_exists($siteseo_user_role, siteseo_get_service('GoogleAnalyticsOption')->getRoles())) { //do nothing } else { if ('1' == $google_analytics_option->getEnableOption() && '' != $google_analytics_option->getGA4()) { add_action('wp_head', 'siteseo_google_analytics_js_arguments', 929, 1); add_action('wp_head', 'siteseo_custom_tracking_hook', 900, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->getMatomoEnable() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoId() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoSiteId()) { add_action('wp_head', 'siteseo_matomo_js_arguments', 960, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_enable') && '' != siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_project_id')) { add_action('wp_head', 'siteseo_clarity_js_arguments', 970, 1); } add_action('wp_head', 'siteseo_custom_tracking_head_hook', 980, 1); add_action('wp_body_open', 'siteseo_custom_tracking_body_hook', 1020, 1); add_action('wp_footer', 'siteseo_custom_tracking_footer_hook', 1030, 1); //ecommerce $purchasesOptions = siteseo_get_service('GoogleAnalyticsOption')->getPurchases(); if ('1' == $purchasesOptions || '1' == $addToCartOption || '1' == $removeFromCartOption) { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_ecommerce_js', 20, 1); } } } else { if ('1' == $google_analytics_option->getEnableOption() && '' != $google_analytics_option->getGA4()) { add_action('wp_head', 'siteseo_google_analytics_js_arguments', 929, 1); add_action('wp_head', 'siteseo_custom_tracking_hook', 900, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->getMatomoEnable() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoId() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoSiteId()) { add_action('wp_head', 'siteseo_matomo_js_arguments', 960, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_enable') && '' != siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_project_id')) { add_action('wp_head', 'siteseo_clarity_js_arguments', 970, 1); } add_action('wp_head', 'siteseo_custom_tracking_head_hook', 980, 1); //Oxygen: if prioriry >= 990, nothing will be outputed add_action('wp_body_open', 'siteseo_custom_tracking_body_hook', 1020, 1); add_action('wp_footer', 'siteseo_custom_tracking_footer_hook', 1030, 1); //ecommerce $purchasesOptions = siteseo_get_service('GoogleAnalyticsOption')->getPurchases(); if ('1' == $purchasesOptions || '1' == $addToCartOption || '1' == $removeFromCartOption) { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_ecommerce_js', 20, 1); } } } }else{ if ('1' == $google_analytics_option->getEnableOption() && '' != $google_analytics_option->getGA4()) { add_action('wp_head', 'siteseo_google_analytics_js_arguments', 929, 1); add_action('wp_head', 'siteseo_custom_tracking_hook', 900, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->getMatomoEnable() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoId() && '' != siteseo_get_service('GoogleAnalyticsOption')->getMatomoSiteId()) { add_action('wp_head', 'siteseo_matomo_js_arguments', 960, 1); } if ('1' == siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_enable') && '' != siteseo_get_service('GoogleAnalyticsOption')->searchOptionByKey('google_analytics_clarity_project_id')) { add_action('wp_head', 'siteseo_clarity_js_arguments', 970, 1); } add_action('wp_head', 'siteseo_custom_tracking_head_hook', 980, 1); add_action('wp_body_open', 'siteseo_custom_tracking_body_hook', 1020, 1); add_action('wp_footer', 'siteseo_custom_tracking_footer_hook', 1030, 1); //ecommerce $purchasesOptions = siteseo_get_service('GoogleAnalyticsOption')->getPurchases(); if ('1' == $purchasesOptions || '1' == $addToCartOption || '1' == $removeFromCartOption) { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_ecommerce_js', 20, 1); } } } PKZCplugins/siteseo/main/public/editor/primary-category-select/index.jsnu[!function(){"use strict";var e=window.wp.i18n,t=window.wp.element,r=window.wp.data,n=window.wp.components;function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r").concat(t.label,"")}));this.metaboxField.value=e,this.metaboxField.innerHTML=t.join("")}}},{key:"getOptions",value:function(){return[{value:"none",label:(0,e.__)("None (will disable this feature)","siteseo")}].concat(function(e){if(Array.isArray(e))return a(e)}(t=this.state.selectableTerms.map((function(e){return{value:e.id,label:e.name}})))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var t}},{key:"onChange",value:function(e){this.setState({primaryTermId:e})}},{key:"onMetaboxChange",value:function(e){this.setState({primaryTermId:e.target.value})}},{key:"render",value:function(){return!!this.metaboxField&&!!this.state.selectableTerms.length&&React.createElement(n.SelectControl,{label:(0,e.__)("Select a primary category","siteseo"),value:this.state.primaryTermId,options:this.getOptions(),onChange:this.onChange})}}])&&s(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),y}(t.Component),f=(0,r.withSelect)((function(e,t){var r=t.slug,n=e("core").getTaxonomy(r),o=n?e("core/editor").getEditedPostAttribute(n.rest_base):[];return{taxonomy:n,allTerms:e("core").getEntityRecords("taxonomy",r,{per_page:-1,context:"view"})||[],primaryTermId:e("core/editor").getEditedPostAttribute("meta")._siteseo_robots_primary_cat||"none",selectedTermIds:o}}))(m);wp.hooks.addFilter("editor.PostTaxonomyType","siteseo",(function(e){return function(t){return React.createElement(React.Fragment,null,React.createElement(e,t),t.slug&&"category"===t.slug&&React.createElement(n.PanelRow,{className:"siteseo-primary-term-picker"},React.createElement(f,t)))}}))}();PKZTݙJplugins/siteseo/main/public/editor/primary-category-select/index.asset.phpnu[ array('wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'bb30f36e5b37e25c33db'); PKZsXD Dplugins/siteseo/main/public/editor/blocks/breadcrumbs/build/index.jsnu[(()=>{"use strict";var e,t={95:()=>{const e=window.React,t=window.wp.blocks,r=window.wp.i18n,l=window.wp.blockEditor,i=window.wp.data,s=window.wp.components,a=JSON.parse('{"UU":"siteseo/breadcrumbs"}');(0,t.registerBlockType)(a.UU,{edit:function({attributes:t}){let[a]=(0,i.useSelect)((e=>[e("core/editor").getEditedPostAttribute("title")||(0,r.__)("Example title","siteseo")]),[]),n=[];return t.prefix&&n.push({title:t.prefix,url:!1}),t.hideHome||n.push({title:t.homeLabel?t.homeLabel:(0,r.__)("Home"),url:!0}),n.push({title:a,url:!1}),(0,e.createElement)(e.Fragment,null,(0,e.createElement)(s.Notice,{status:"warning",isDismissible:!1,politeness:"polite"},(0,e.createElement)("p",null,(0,r.__)("This is just a preview, to see the final result, please view this page as a normal user","siteseo"))),(0,e.createElement)("div",{...(0,l.useBlockProps)()},(0,e.createElement)("ul",{className:"siteseo-breadcrumbs"},n.map(((r,l)=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("li",{key:r.url},r.url?(0,e.createElement)("a",{href:"#",title:r.title},r.title):r.title),(0,e.createElement)("div",{className:"siteseo-breadcrumbs-seperator"},(0,e.createElement)("span",null,n.length-1!=l?t.seperator:""))))))))},icon:function(){return(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"664.82",height:"495.38",viewBox:"0 0 43.214 32.2"},(0,e.createElement)("path",{d:"M1 32.1c-.6 0-1-.4-1-1V1c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5l11.6 14.6c.4.5.4 1.3 0 1.9L10.2 31.6c-.3.4-.8.6-1.3.6zM42.914 15.071l-11.7-14.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2l11.7-14.6c.4-.8.4-1.5 0-2z"}),(0,e.createElement)("path",{d:"m32.407 15.071-11.7-14.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2l11.7-14.6c.4-.8.4-1.5 0-2z"}))}})}},r={};function l(e){var i=r[e];if(void 0!==i)return i.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,l),s.exports}l.m=t,e=[],l.O=(t,r,i,s)=>{if(!r){var a=1/0;for(u=0;u=s)&&Object.keys(l.O).every((e=>l.O[e](r[o])))?r.splice(o--,1):(n=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[r,i,s]},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};l.O.j=t=>0===e[t];var t=(t,r)=>{var i,s,[a,n,o]=r,c=0;if(a.some((t=>0!==e[t]))){for(i in n)l.o(n,i)&&(l.m[i]=n[i]);if(o)var u=o(l)}for(t&&t(r);cl(95)));i=l.O(i)})();PKZwxxFplugins/siteseo/main/public/editor/blocks/breadcrumbs/build/block.jsonnu[{ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "siteseo/breadcrumbs", "version": "1.0.0", "title": "Breadcrumbs", "category": "widgets", "description": "Breadcrumbs help you track you location on the website.", "supports": { "html": false, "align": true, "spacing": { "padding": true, "margin": true }, "multiple": false, "typography": { "fontSize": true, "lineHeight": true }, "color": { "link": true } }, "textdomain": "siteseo", "editorScript": "file:./index.js", "editorStyle": "file:./style-index.css" }PKZ66_FKplugins/siteseo/main/public/editor/blocks/breadcrumbs/build/index.asset.phpnu[ array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-i18n'), 'version' => '8b21d09f0f5425c2e70d'); PKZ$tKplugins/siteseo/main/public/editor/blocks/breadcrumbs/build/style-index.cssnu[.siteseo-breadcrumbs{display:flex;list-style-type:none;margin:0;padding:0}.siteseo-breadcrumbs-seperator{margin:0 5px;padding:0} PKZz$&&:plugins/siteseo/main/public/editor/blocks/sitemap/index.jsnu[!function(){"use strict";var e={n:function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t=window.wp.i18n,r=window.wp.blocks,n=window.wp.components,o=window.wp.blockEditor,a=window.wp.data;function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-i18n', 'wp-server-side-render'), 'version' => 'e08e75c2fc066bdec613'); PKZ]EE;plugins/siteseo/main/public/editor/blocks/sitemap/index.cssnu[.wp-block-siteseo-sitemap .components-notice__content{color:initial} PKZ}}:plugins/siteseo/main/public/editor/blocks/faq/accordion.jsnu[!function(){for(var e=document.querySelectorAll(".siteseo-wrap-faq-question"),t=0;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=s)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(o=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,a,s]},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={826:0,431:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,s,i=n[0],o=n[1],l=n[2],c=0;if(i.some((function(t){return 0!==e[t]}))){for(a in o)r.o(o,a)&&(r.m[a]=o[a]);if(l)var u=l(r)}for(t&&t(n);c array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'bb807fd76b8d21e56b5b'); PKZ,OTTAplugins/siteseo/main/public/editor/blocks/faq/accordion.asset.phpnu[ array(), 'version' => '814dad9e21cee330a279'); PKZ[97plugins/siteseo/main/public/editor/blocks/faq/index.cssnu[.siteseo-faqs-actions{border:1px solid #1e1e1e;padding:1rem;background:#fff;margin-top:1rem}.siteseo-answer-meta .wp-block-siteseo-image .components-button.editor-post-featured-image__preview{text-align:left}.siteseo-faq-cta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.siteseo-faqs-list-style button.components-button.is-primary,.siteseo-faqs-title-wrapper button.components-button.is-primary,.siteseo-faqs-image-size button.components-button.is-primary{background-color:#007cba;color:#fff;border-color:#007cba;-webkit-box-shadow:inset 0 0 0 1px #007cba;box-shadow:inset 0 0 0 1px #007cba}.siteseo-faqs-list-style button.components-button.is-primary:hover:not(:disabled),.siteseo-faqs-title-wrapper button.components-button.is-primary:hover:not(:disabled),.siteseo-faqs-image-size button.components-button.is-primary:hover:not(:disabled){color:#fff}.components-panel__body>p{margin:15px 0 0 0} PKZ2=plugins/siteseo/main/public/editor/blocks/faq/style-index.cssnu[ PKZ|ވ9plugins/siteseo/main/public/editor/sidebar/build/index.jsnu[(()=>{"use strict";const e=window.React,t=window.wp.plugins,r=window.wp.editPost,l=window.wp.element;function o(t){return(0,l.useEffect)((()=>{document.querySelector("#siteseo-sidebar-wrapper tags").remove(),-1!=jQuery("#siteseo-analysis-tabs .siteseo-analysis-summary-pill")?.attr("class")?.indexOf("siteseo-stripes")&&jQuery("#siteseo-metabox-wrapper #siteseo-analysis-tabs").load(" #siteseo-analysis-tabs-1","",siteseo_ca_toggle);var e=document.querySelector('#siteseo-sidebar-wrapper input[name="siteseo_analysis_target_kw"]');siteseo_sidebar_tag=new Tagify(e,{originalInputValueFormat:e=>e.map((e=>e.value)).join(",")}),siteseo_sidebar_tag.on("change",(function(){siteseo_sync_kw_tags(siteseo_sidebar_tag,siteseo_metabox_tag)})),siteseo_universal_tag_dropdown()}),[]),(0,e.createElement)("div",{id:"siteseo-sidebar-wrapper",dangerouslySetInnerHTML:t.content})}(0,t.registerPlugin)("siteseo-sidebar",{render:function(){const[t,s]=(0,l.useState)();return(0,l.useEffect)((()=>{s({__html:jQuery("#siteseo-metabox-wrapper")?.prop("outerHTML")})}),[]),(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.PluginSidebarMoreMenuItem,{target:"siteseo-sidebar"},"SiteSEO"),(0,e.createElement)(r.PluginSidebar,{name:"siteseo-sidebar",title:"SiteSEO"},t?(0,e.createElement)(o,{content:t}):(0,e.createElement)("p",null,"Loading here")))},icon:function(){return(0,e.createElement)("svg",{version:"1.2",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 956 756",width:"24",height:"19"},(0,e.createElement)("defs",null,(0,e.createElement)("linearGradient",{id:"P",gradientUnits:"userSpaceOnUse"}),(0,e.createElement)("linearGradient",{id:"g1",x1:"818.4",y1:"360.4",x2:"621.6",y2:"10.3",href:"#P"},(0,e.createElement)("stop",{stopColor:"#00e8d2"}),(0,e.createElement)("stop",{offset:".33",stopColor:"#00add2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#4429ff"})),(0,e.createElement)("linearGradient",{id:"g2",x1:"669.3",y1:"352.2",x2:"490.5",y2:"2.2",href:"#P"},(0,e.createElement)("stop",{stopColor:"#00e8d2"}),(0,e.createElement)("stop",{offset:".33",stopColor:"#00add2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#4429ff"})),(0,e.createElement)("linearGradient",{id:"g3",x1:"519.4",y1:"-222.4",x2:"60.2",y2:"12.6",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"})),(0,e.createElement)("linearGradient",{id:"g4",x1:"519.4",y1:"-222.4",x2:"60.2",y2:"12.6",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"})),(0,e.createElement)("linearGradient",{id:"g5",x1:"605.1",y1:"-211.2",x2:"183.6",y2:"4.4",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"})),(0,e.createElement)("linearGradient",{id:"g6",x1:"139.4",y1:"386.3",x2:"491.6",y2:"193.4",href:"#P"},(0,e.createElement)("stop",{stopColor:"#00e8d2"}),(0,e.createElement)("stop",{offset:".33",stopColor:"#00add2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#4429ff"})),(0,e.createElement)("linearGradient",{id:"g7",x1:"270.1",y1:"458.2",x2:"607.1",y2:"255.9",href:"#P"},(0,e.createElement)("stop",{stopColor:"#00e8d2"}),(0,e.createElement)("stop",{offset:".33",stopColor:"#00add2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#4429ff"})),(0,e.createElement)("linearGradient",{id:"g8",x1:"701.5",y1:"50",x2:"966.7",y2:"492.4",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"})),(0,e.createElement)("linearGradient",{id:"g9",x1:"701.5",y1:"50",x2:"966.7",y2:"492.4",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"})),(0,e.createElement)("linearGradient",{id:"g10",x1:"622.9",y1:"14.2",x2:"866.3",y2:"420.2",href:"#P"},(0,e.createElement)("stop",{stopColor:"#3300d2"}),(0,e.createElement)("stop",{offset:"1",stopColor:"#ff52ff"}))),(0,e.createElement)("path",{style:{fill:"url(#g1)"},d:"m363.8 108.4c-42.4 23.5-14.5 136.7 14.7 189.3l80.7 145.5c12.5 22.6 4.3 51-18.3 63.6l-40.9 22.7-22.7-41-80.7-145.4c-46.2-83.3-16-188.5 67.2-234.7z"}),(0,e.createElement)("path",{style:{fill:"url(#g2)"},d:"m296.6 343.1c-31-55.9-27.5-121.6 3.2-172.8-10.8 43.7 10.9 120.4 33.4 161l80.7 145.5c8.1 14.4 7.6 31.2 0.3 44.8l-14.2 7.9-22.7-41z"}),(0,e.createElement)("path",{style:{fill:"url(#g3)"},d:"m363.8 108.4l145.5-80.7 40.9-22.7 22.7 40.9c12.6 22.6 4.4 51.1-18.2 63.6l-145.5 80.7c-38.1 21.2-51.9 69.4-30.7 107.5-29.2-52.6-57.1-165.8-14.7-189.3z"}),(0,e.createElement)("path",{style:{fill:"url(#g4)"},d:"m363.8 108.4l145.5-80.7 40.9-22.7 22.7 40.9c12.6 22.6 4.4 51.1-18.2 63.6l-145.5 80.7c-38.1 21.2-51.9 69.4-30.7 107.5-29.2-52.6-57.1-165.8-14.7-189.3z"}),(0,e.createElement)("path",{style:{fill:"url(#g5)"},d:"m365.2 155.4l166.9-92.6 38.4-21.3 2.4 4.4c12.6 22.6 4.4 51.1-18.2 63.6l-145.5 80.7c-37.2 20.7-51.2 67.1-32.1 104.8q0 0-0.1 0c-14.7-27.5-28.7-69.8-33.3-107.7 3.7-14.5 10.5-25.9 21.5-31.9z"}),(0,e.createElement)("path",{style:{fill:"url(#g6)"},d:"m658.4 413c23.5 42.5-60.1 123.7-112.6 152.9l-145.5 80.7c-22.6 12.5-30.8 41-18.2 63.6l22.7 40.9 40.9-22.7 145.5-80.7c83.2-46.2 113.4-151.4 67.2-234.7z"}),(0,e.createElement)("path",{style:{fill:"url(#g7)"},d:"m591.2 647.7c55.8-31 87.7-88.5 88.7-148.2-13.9 42.8-73 96.3-113.5 118.8l-145.5 80.7c-14.5 8-23 22.6-24 37.9l7.9 14.2 40.9-22.7z"}),(0,e.createElement)("path",{style:{fill:"url(#g8)"},d:"m658.4 413l-80.7-145.4-22.7-41-40.9 22.7c-22.6 12.6-30.8 41.1-18.3 63.7l80.7 145.4c21.2 38.1 7.4 86.3-30.7 107.5 52.5-29.2 136.1-110.4 112.6-152.9z"}),(0,e.createElement)("path",{style:{fill:"url(#g9)"},d:"m658.4 413l-80.7-145.4-22.7-41-40.9 22.7c-22.6 12.6-30.8 41.1-18.3 63.7l80.7 145.4c21.2 38.1 7.4 86.3-30.7 107.5 52.5-29.2 136.1-110.4 112.6-152.9z"}),(0,e.createElement)("path",{style:{fill:"url(#g10)"},d:"m632.4 452.2l-92.6-166.9-21.3-38.4-4.4 2.4c-22.6 12.6-30.8 41.1-18.3 63.7l80.7 145.4c20.7 37.3 8 84.1-28.1 105.9q0 0.1 0 0.1c27-15.6 61.4-44 85.3-73.7 4.6-14.3 4.8-27.6-1.3-38.5z"}))}})})();PKZ|@plugins/siteseo/main/public/editor/sidebar/build/index.asset.phpnu[ array('react', 'wp-edit-post', 'wp-element', 'wp-plugins'), 'version' => '00bab40bb8cab62efec1'); PKZT\x:plugins/siteseo/main/public/editor/sidebar/build/index.cssnu[.siteseo-sidebar-active-tab{border-bottom:1.5px solid #00308f}.siteseo-sidebar-tabs{display:flex;justify-content:center;width:100%}.siteseo-sidebar-tabs>button{width:100%}.preview-block{background-color:#fff;width:100%}.preview-url{color:#202124;font-size:14px;line-height:16px;margin:3px 0 5px;padding:10px 5px 0 0}.preview-title,.preview-url{max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.preview-title{color:#1a0dab;font-size:16px;font-weight:400;line-height:1.5;margin-bottom:3px;padding-bottom:0}.preview-description{line-height:1.4;white-space:normal;word-wrap:break-word;color:#555d66;text-overflow:ellipsis}.siteseo-gut-title-fields{margin-top:15px}.siteseo-gut-title-field{margin-bottom:10px} PKZ;73plugins/siteseo/main/public/metaboxe.js.LICENSE.txtnu[/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ /** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * @license React * scheduler.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** @license React v17.0.2 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ PKZGCn'plugins/siteseo/main/public/metaboxe.jsnu[jQuery(document).ready(function(){ // Add modal for SEO meta box siteseo_add_metaboxe_modal(); }); // Add modal for SEO metabox function siteseo_add_metaboxe_modal(){ var modalDiv = jQuery(`

    ${SITESEO_I18N.seo_bar.title}

    ×
       Loading...
    `); jQuery('body').append(modalDiv); // Toggle Modal modalDiv.find('.siteseo-metabox-icon-el').on('click', function(){ modalDiv.toggleClass('siteseo-show-universal-modal'); var iframe = modalDiv.find('#siteseo-universal-metabox-iframe'); if(iframe.hasClass('siteseo-iframe-loaded') && iframe.attr('src') != ''){ return; } modalDiv.find('.siteseo-metabox-holder #siteseo-loader-overlay').addClass('siteseo-loader-show'); iframe.attr('src', iframe.data('src')); iframe.addClass('siteseo-iframe-loaded') }); // Hide modal modalDiv.find('.siteseo-metabox-close-icon').on('click', function(){ modalDiv.removeClass('siteseo-show-universal-modal'); }); } function siteseo_iframe_loaded(){ var modalDiv = jQuery('.siteseo-universal-metabox-modal'); var iframe = modalDiv.find('#siteseo-universal-metabox-iframe'); modalDiv.find('.siteseo-metabox-holder #siteseo-loader-overlay').removeClass('siteseo-loader-show'); iframe.show(); } function siteseo_universal_metabox_css(){ var css = `/* Universal metabox style Start */ @keyframes siteseo-icon-toggle{ 0%{ opacity: 0; bottom: -20px; visibility: hidden; } 100% { opacity: 1; bottom: 0px; visibility: visible; } } #siteseo_cpt.siteseo-universal-metabox-modal{ --primaryColor: #00308F; --paragraphColor: #757575; --fontSize: 13px; --fontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; --color: #757575; --colorDark: #1e1e1e; --colorAlert: #eb0f00; --colorWarning: #ffba00; --colorSuccess: #4ab866; --colorLowAlert: #e39f48; --colorPre: #37864b; --colorIcon: #d7dade; --lineHeight: 24px; --titleColor: #3c434a; --titleFontSize: 20px; --titleFontWeight: 500; --titleMargin: 10px 0; --backgroundPrimary: #00308F; --backgroundPrimaryHover: #00308F; --backgroundSecondaryHover: #f0f0f0; --borderColor: rgb(203 213 225); --borderColorLight: #dcdcde; --borderColorLight40: rgba(220, 220, 222, 0.4); --borderColorCard: #e2e4e7; --borderColorTab: #c3c4c7; --white: #ffffff; --noticeBackgroundColor: #00308f05; --noticeBorderColor: #00308f45; } #siteseo-metabox-container{ position: fixed; left: 0px; bottom: 0px; z-index: 100100; background-color: rgb(255, 255, 255); width: 100%; max-width: 100%; min-width: 100%; height: 400px; box-sizing: border-box; flex-shrink: 0; box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0.15) 0px 5px 30px 0px, rgba(0, 0, 0, 0.05) 0px 3px 3px 0px; border-radius: 4px; border: none; animation-name: siteseo-icon-toggle; animation-duration: 200ms; animation-iteration-count: 1; animation-fill-mode: forwards; max-height: calc(100% - 93px); text-transform: none; display: none; } .siteseo-show-universal-modal #siteseo-metabox-container{ display: block; } #siteseo-metabox-container .siteseo-metabox-holder{ height: 100%; } #siteseo-universal-metabox-icon{ position: fixed; bottom: 10px; left: 10px; z-index: 100000; } .siteseo-show-universal-modal #siteseo-universal-metabox-icon{ display: none; } #siteseo-universal-metabox-icon .siteseo-metabox-icon-el{ background-color: var(--primaryColor); display: inline-block; padding: 6px; border-radius: 50%; cursor:pointer; } #siteseo-universal-metabox-icon .siteseo-metabox-icon-el img{ width: 40px; } #siteseo-metabox-container .siteseo-metabox-title{ border-bottom: 1px solid var(--borderColorLight); padding: 6px 15px; margin: 0px; display: flex; -webkit-box-align: center; align-items: center; z-index: 30; background: rgb(255, 255, 255); position: relative; } #siteseo-metabox-container .siteseo-metabox-title h2{ font-size: 16px !important; margin: 0px !important; display: block; font-weight: 600 !important; text-align: left; flex: 1 1 0%; color: var(--colorDark); } .siteseo-metabox-title .siteseo-metabox-close-icon{ font-size: 20px !important; margin: 0px; display: inline-flex; font-weight: 900 !important; text-align: left; color: var(--colorDark); line-height: 1 !important; padding: 4px 10px 6px; cursor: pointer; } .siteseo-metabox-title .siteseo-metabox-close-icon:hover{ outline: 1px solid var(--primaryColor); } #siteseo-metabox-container .siteseo-metabox-body{ display: flex; height: calc(100% - 40px); position: relative; } /*Metabox loader*/ #siteseo-loader-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; display: none; font-size: 20px; font-weight: 500; justify-content: center; align-items: center; background: #fff; } #siteseo-loader-overlay.siteseo-loader-show{ display: flex; } #siteseo-loader-overlay .siteseo-loader{ border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; width: 40px; height: 40px; animation: siteseo_spin 1s linear infinite; } @keyframes siteseo_spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /*Metabox loader End*/ /* Universal metabox style End */`; return css; }PKZ7$7$'plugins/siteseo/main/options-matomo.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } //Build Custom Matomo function siteseo_matomo_js($echo){ if (siteseo_get_service('GoogleAnalyticsOption')->getMatomoId() !='' && siteseo_get_service('GoogleAnalyticsOption')->getMatomoSiteId() !='') { //Init $siteseo_matomo_config = []; $siteseo_matomo_event = []; $siteseo_matomo_html = "\n"; $siteseo_matomo_html .="\n"; //no JS $no_js = NULL; if (siteseo_get_service('GoogleAnalyticsOption')->getMatomoNoJS() =='1') { $no_js = ''; $no_js = apply_filters('siteseo_matomo_no_js', $no_js); } if ($no_js) { $siteseo_matomo_html .= $no_js; } $siteseo_matomo_html = apply_filters('siteseo_matomo_tracking_html', $siteseo_matomo_html); if ($echo == true) { echo wp_kses($siteseo_matomo_html, ['script' => ['async' => true, 'src' => true, 'defer' => true, 'crossorigin' => true, 'type' => true]]); } else { return $siteseo_matomo_html; } } } add_action('siteseo_matomo_html', 'siteseo_matomo_js', 10, 1); function siteseo_matomo_js_arguments() { $echo = true; do_action('siteseo_matomo_html', $echo); } PKZš--)plugins/siteseo/main/admin/export/csv.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(! defined('ABSPATH')){ exit; } /////////////////////////////////////////////////////////////////////////////////////////////////// //Export SiteSEO metadata to CSV /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_metadata_export() { siteseo_check_ajax_referer('siteseo_export_csv_metadata_nonce'); if ( ! is_admin()) { wp_send_json_error(); return; } if ( ! current_user_can(siteseo_capability('manage_options', 'migration'))) { wp_send_json_error(); return; } if (isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } $post_export = ''; if (isset($_POST['post_export'])) { $post_export = siteseo_opt_post('post_export'); } $term_export = ''; if (isset($_POST['term_export'])) { $term_export = siteseo_opt_post('term_export'); } //Get post types $siteseo_get_post_types = []; $postTypes = siteseo_get_service('WordPressData')->getPostTypes(); foreach ($postTypes as $siteseo_cpt_key => $siteseo_cpt_value) { $siteseo_get_post_types[] = $siteseo_cpt_key; } //Get taxonomies $siteseo_get_taxonomies = []; foreach (siteseo_get_service('WordPressData')->getTaxonomies() as $siteseo_tax_key => $siteseo_tax_value) { $siteseo_get_taxonomies[] = $siteseo_tax_key; } global $wpdb; global $post; //Count posts $count_items = 0; $i = 1; $sql = '('; $count = count($siteseo_get_post_types); foreach ($siteseo_get_post_types as $cpt) { $sql .= '(post_type = "' . $cpt . '")'; if ($i < $count) { $sql .= ' OR '; } ++$i; } $sql .= ')'; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts} WHERE $sql AND (post_status = 'publish' OR post_status = 'pending' OR post_status = 'draft' OR post_status = 'auto-draft' OR post_status = 'future' OR post_status = 'private' OR post_status = 'inherit' OR post_status = 'trash') "); //Count terms $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; $csv = ''; $csv = get_option('siteseo_metadata_csv'); $download_url = ''; $settings['id'] = []; $settings['post_title'] = []; $settings['url'] = []; $settings['meta_title'] = []; $settings['meta_desc'] = []; $settings['fb_title'] = []; $settings['fb_desc'] = []; $settings['fb_img'] = []; $settings['tw_title'] = []; $settings['tw_desc'] = []; $settings['tw_img'] = []; $settings['noindex'] = []; $settings['nofollow'] = []; $settings['noimageindex'] = []; $settings['noarchive'] = []; $settings['nosnippet'] = []; $settings['canonical_url'] = []; $settings['primary_cat'] = []; $settings['redirect_active'] = []; $settings['redirect_status'] = []; $settings['redirect_type'] = []; $settings['redirect_url'] = []; $settings['target_kw'] = []; $metas_key = [ 'meta_title' => '_siteseo_titles_title', 'meta_desc' => '_siteseo_titles_desc', 'fb_title' => '_siteseo_social_fb_title', 'fb_desc' => '_siteseo_social_fb_desc', 'fb_img' => '_siteseo_social_fb_img', 'tw_title' => '_siteseo_social_twitter_title', 'tw_desc' => '_siteseo_social_twitter_desc', 'tw_img' => '_siteseo_social_twitter_img', 'noindex' => '_siteseo_robots_index', 'nofollow' => '_siteseo_robots_follow', 'noimageindex' => '_siteseo_robots_imageindex', 'noarchive' => '_siteseo_robots_archive', 'nosnippet' => '_siteseo_robots_snippet', 'canonical_url' => '_siteseo_robots_canonical', 'primary_cat' => '_siteseo_robots_primary_cat', 'redirect_active' => '_siteseo_redirections_enabled', 'redirect_status' => '_siteseo_redirections_logged_status', 'redirect_type' => '_siteseo_redirections_type', 'redirect_url' => '_siteseo_redirections_value', 'target_kw' => '_siteseo_analysis_target_kw', ]; //Posts if ('done' != $post_export) { if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; //Reset offset once Posts export is done $offset = 0; update_option('siteseo_metadata_csv', $csv, false); $post_export = 'done'; } else { $args = [ 'post_type' => $siteseo_get_post_types, 'posts_per_page' => $increment, 'offset' => $offset, 'post_status' => 'any', 'order' => 'DESC', 'orderby' => 'date', ]; $args = apply_filters('siteseo_metadata_query_args', $args, $siteseo_get_post_types, $increment, $offset); $meta_query = get_posts($args); if ($meta_query) { // The Loop foreach ($meta_query as $post) { array_push($settings['id'], $post->ID); array_push($settings['post_title'], $post->post_title); array_push($settings['url'], get_permalink($post)); foreach($metas_key as $key => $meta_key) { if (get_post_meta($post->ID, $meta_key, true)) { array_push($settings[$key], get_post_meta($post->ID, $meta_key, true)); } else { array_push($settings[$key], ''); } } $csv[] = array_merge( $settings['id'], $settings['post_title'], $settings['url'], $settings['meta_title'], $settings['meta_desc'], $settings['fb_title'], $settings['fb_desc'], $settings['fb_img'], $settings['tw_title'], $settings['tw_desc'], $settings['tw_img'], $settings['noindex'], $settings['nofollow'], $settings['noimageindex'], $settings['noarchive'], $settings['nosnippet'], $settings['canonical_url'], $settings['primary_cat'], $settings['redirect_active'], $settings['redirect_status'], $settings['redirect_type'], $settings['redirect_url'], $settings['target_kw'] ); //Clean arrays $settings['id'] = []; $settings['post_title'] = []; $settings['url'] = []; $settings['meta_title'] = []; $settings['meta_desc'] = []; $settings['fb_title'] = []; $settings['fb_desc'] = []; $settings['fb_img'] = []; $settings['tw_title'] = []; $settings['tw_desc'] = []; $settings['tw_img'] = []; $settings['noindex'] = []; $settings['nofollow'] = []; $settings['noimageindex'] = []; $settings['noarchive'] = []; $settings['nosnippet'] = []; $settings['canonical_url'] = []; $settings['primary_cat'] = []; $settings['redirect_active'] = []; $settings['redirect_status'] = []; $settings['redirect_type'] = []; $settings['redirect_url'] = []; $settings['target_kw'] = []; } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } update_option('siteseo_metadata_csv', $csv, false); } } elseif ('done' != $term_export) { //Terms if ($offset > $total_count_terms) { $count_items = $total_count_terms + $total_count_posts; update_option('siteseo_metadata_csv', $csv, false); $post_export = 'done'; $term_export = 'done'; } else { $args = [ 'taxonomy' => $siteseo_get_taxonomies, 'number' => $increment, 'offset' => $offset, 'order' => 'DESC', 'orderby' => 'date', 'hide_empty' => false, ]; $args = apply_filters('siteseo_metadata_query_terms_args', $args, $siteseo_get_taxonomies, $increment, $offset); $meta_query = get_terms($args); if ($meta_query) { // The Loop foreach ($meta_query as $term) { array_push($settings['id'], $term->term_id); array_push($settings['post_title'], $term->name); array_push($settings['url'], get_term_link($term)); foreach($metas_key as $key => $meta_key) { if (get_term_meta($term->term_id, $meta_key, true)) { array_push($settings[$key], get_term_meta($term->term_id, $meta_key, true)); } else { array_push($settings[$key], ''); } } $csv[] = array_merge( $settings['id'], $settings['post_title'], $settings['url'], $settings['meta_title'], $settings['meta_desc'], $settings['fb_title'], $settings['fb_desc'], $settings['fb_img'], $settings['tw_title'], $settings['tw_desc'], $settings['tw_img'], $settings['noindex'], $settings['nofollow'], $settings['noimageindex'], $settings['noarchive'], $settings['nosnippet'], $settings['canonical_url'], $settings['primary_cat'], $settings['redirect_active'], $settings['redirect_status'], $settings['redirect_type'], $settings['redirect_url'], $settings['target_kw'] ); //Clean arrays $settings['id'] = []; $settings['post_title'] = []; $settings['url'] = []; $settings['meta_title'] = []; $settings['meta_desc'] = []; $settings['fb_title'] = []; $settings['fb_desc'] = []; $settings['fb_img'] = []; $settings['tw_title'] = []; $settings['tw_desc'] = []; $settings['tw_img'] = []; $settings['noindex'] = []; $settings['nofollow'] = []; $settings['noimageindex'] = []; $settings['noarchive'] = []; $settings['nosnippet'] = []; $settings['canonical_url'] = []; $settings['primary_cat'] = []; $settings['redirect_active'] = []; $settings['redirect_status'] = []; $settings['redirect_type'] = []; $settings['redirect_url'] = []; $settings['target_kw'] = []; } } $offset += $increment; if ($offset >= $total_count_terms) { $count_items = $total_count_terms + $total_count_posts; } elseif ($offset === 200) { $count_items = $total_count_posts + 200; } else { $count_items += $offset; } $post_export = 'done'; update_option('siteseo_metadata_csv', $csv, false); } } else { $post_export = 'done'; $term_export = 'done'; } //Create download URL if ('done' === $post_export && 'done' === $term_export) { $post_data['action'] = siteseo_opt_post('action'); $post_data['offset'] = siteseo_opt_post('offset'); $post_data['post_export'] = siteseo_opt_post('post_export'); $post_data['term_export'] = siteseo_opt_post('term_export'); $post_data['_ajax_nonce'] = siteseo_opt_post('_ajax_nonce'); $args = array_merge($post_data, [ 'nonce' => wp_create_nonce('siteseo_csv_batch_export_nonce'), 'page' => 'siteseo-import-export', 'siteseo_action' => 'siteseo_download_batch_export', ]); $download_url = add_query_arg($args, admin_url('admin.php')); $offset = 'done'; } //Return data to JSON $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; $data['url'] = $download_url; $data['post_export'] = $post_export; $data['term_export'] = $term_export; wp_send_json_success($data); } add_action('wp_ajax_siteseo_metadata_export', 'siteseo_metadata_export'); PKZDi((5plugins/siteseo/main/admin/migrate/MigrationTools.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); function siteseo_migration_tool($plugin, $name) { $seo_title = 'SiteSEO'; if (function_exists('siteseo_get_toggle_white_label_option') && '1' == siteseo_get_toggle_white_label_option()) { $seo_title = method_exists(siteseo_pro_get_service('OptionPro'), 'getWhiteLabelListTitle') && siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() ? siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() : 'SiteSEO'; } $html = '

    ' . sprintf(__('Import posts and terms (if available) metadata from %s', 'siteseo'), esc_html($name)) . '

    ' . __('By clicking Migrate, we\'ll import:', 'siteseo') . '

    • ' . __('Title tags', 'siteseo') . '
    • ' . __('Meta description', 'siteseo') . '
    • ' . __('Facebook Open Graph tags (title, description and image thumbnail)', 'siteseo') . '
    • '; if ('premium-seo-pack' != $plugin) { $html .= '
    • ' . __('Twitter tags (title, description and image thumbnail)', 'siteseo') . '
    • '; } if ('wp-meta-seo' != $plugin && 'seo-ultimate' != $plugin) { $html .= '
    • ' . __('Meta Robots (noindex, nofollow...)', 'siteseo') . '
    • '; } if ('wp-meta-seo' != $plugin && 'seo-ultimate' != $plugin && 'slim-seo' != $plugin) { $html .= '
    • ' . __('Canonical URL', 'siteseo') . '
    • '; } if ('wp-meta-seo' != $plugin && 'seo-ultimate' != $plugin && 'squirrly' != $plugin && 'slim-seo' != $plugin) { $html .= '
    • ' . __('Focus / target keywords', 'siteseo') . '
    • '; } if ('wp-meta-seo' != $plugin && 'premium-seo-pack' != $plugin && 'seo-ultimate' != $plugin && 'squirrly' != $plugin && 'aio' != $plugin && 'slim-seo' != $plugin) { $html .= '
    • ' . __('Primary category', 'siteseo') . '
    • '; } if ('wpseo' == $plugin || 'platinum-seo' == $plugin || 'smart-crawl' == $plugin || 'seopressor' == $plugin || 'rk' == $plugin || 'seo-framework' == $plugin || 'aio' == $plugin) { $html .= '
    • ' . __('Redirect URL', 'siteseo') . '
    • '; } $html .= '

    ' . sprintf(__('WARNING: Migration will delete / update all %1$s posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any %2$s data.', 'siteseo'), esc_html($seo_title), esc_html($name)) . '

    '; return $html; } PKZU93cc#plugins/siteseo/main/admin/ajax.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } /////////////////////////////////////////////////////////////////////////////////////////////////// //Get real preview + content analysis /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_do_real_preview() { siteseo_check_ajax_referer('siteseo_real_preview_nonce'); if (!current_user_can('edit_posts') || !is_admin()) { return; } $docs = siteseo_get_docs_links(); // Get cookies if (isset($_COOKIE)) { $cookies = []; foreach ($_COOKIE as $name => $value) { if ('PHPSESSID' !== $name) { $cookies[] = new WP_Http_Cookie(['name' => $name, 'value' => $value]); } } } // Get post id if (isset($_GET['post_id'])) { $siteseo_get_the_id = siteseo_opt_get('post_id'); } if ('yes' == get_post_meta($siteseo_get_the_id, '_siteseo_redirections_enabled', true)) { $data['title'] = __('A redirect is active for this URL. Turn it off to get the Google preview and content analysis.', 'siteseo'); } else { //Get cookies if (isset($_COOKIE)) { $cookies = []; foreach ($_COOKIE as $name => $value) { if ('PHPSESSID' !== $name) { $cookies[] = new WP_Http_Cookie(['name' => $name, 'value' => $value]); } } } //Get post type if (isset($_GET['post_type'])) { $siteseo_get_post_type = siteseo_opt_get('post_type'); } else { $siteseo_get_post_type = null; } //Origin if (isset($_GET['origin'])) { $siteseo_origin = siteseo_opt_get('origin'); } //Tax name if (isset($_GET['tax_name'])) { $siteseo_tax_name = siteseo_opt_get('tax_name'); } //Init $title = ''; $meta_desc = ''; $link = ''; $data = []; //Save Target KWs if (! isset($_GET['is_elementor'])) { if (isset($_GET['siteseo_analysis_target_kw'])) { delete_post_meta($siteseo_get_the_id, '_siteseo_analysis_target_kw'); update_post_meta($siteseo_get_the_id, '_siteseo_analysis_target_kw', siteseo_opt_get('siteseo_analysis_target_kw') ); } } //Fix Elementor if (isset($_GET['is_elementor']) && true == $_GET['is_elementor']) { $_GET['siteseo_analysis_target_kw'] = get_post_meta($siteseo_get_the_id, '_siteseo_analysis_target_kw', true); } //DOM $dom = new DOMDocument(); $internalErrors = libxml_use_internal_errors(true); $dom->preserveWhiteSpace = false; //Get source code $args = [ 'blocking' => true, 'timeout' => 30, 'sslverify' => false, ]; if (isset($cookies) && ! empty($cookies)) { $args['cookies'] = $cookies; } $args = apply_filters('siteseo_real_preview_remote', $args); $data['title'] = $cookies; if ('post' == $siteseo_origin) { //Default: post type //Oxygen compatibility if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) { $link = get_permalink((int) $siteseo_get_the_id); $link = add_query_arg('no_admin_bar', 1, $link); $response = wp_remote_get($link, $args); if (200 !== wp_remote_retrieve_response_code($response)) { $link = get_permalink((int) $siteseo_get_the_id); $response = wp_remote_get($link, $args); } } else { $custom_args = ['no_admin_bar' => 1]; //Useful for Page / Theme builders $custom_args = apply_filters('siteseo_real_preview_custom_args', $custom_args); $link = add_query_arg('no_admin_bar', 1, get_preview_post_link((int) $siteseo_get_the_id, $custom_args)); $link = apply_filters('siteseo_get_dom_link', $link, $siteseo_get_the_id); $response = wp_remote_get($link, $args); } } else { //Term taxonomy $link = get_term_link((int) $siteseo_get_the_id, $siteseo_tax_name); $response = wp_remote_get($link, $args); } //Check for error if (is_wp_error($response) || '404' == wp_remote_retrieve_response_code($response)) { $data['title'] = __('To get your Google snippet preview, publish your post!', 'siteseo'); } elseif (is_wp_error($response) || '401' == wp_remote_retrieve_response_code($response)) { $data['title'] = sprintf(__('Your site is protected by an authentication. Fix this ', 'siteseo'), $docs['google_preview']['authentification']); } else { $response = wp_remote_retrieve_body($response); if ($dom->loadHTML('' . $response)) { if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) { $data = get_post_meta($siteseo_get_the_id, '_siteseo_analysis_data', true) ? get_post_meta($siteseo_get_the_id, '_siteseo_analysis_data', true) : $data = []; if (! empty($data)) { $data = array_slice($data, 0, 3); } } $data['link_preview'] = $link; //Disable wptexturize add_filter('run_wptexturize', '__return_false'); //Get post content (used for Words counter) $siteseo_get_the_content = get_post_field('post_content', $siteseo_get_the_id); $siteseo_get_the_content = apply_filters('siteseo_dom_analysis_get_post_content', $siteseo_get_the_content); //Cornerstone compatibility if (is_plugin_active('cornerstone/cornerstone.php')) { $siteseo_get_the_content = get_post_field('post_content', $siteseo_get_the_id); } //ThriveBuilder compatibility if (is_plugin_active('thrive-visual-editor/thrive-visual-editor.php') && empty($siteseo_get_the_content)) { $siteseo_get_the_content = get_post_meta($siteseo_get_the_id, 'tve_updated_post', true); } //Zion Builder compatibility if (is_plugin_active('zionbuilder/zionbuilder.php')) { $siteseo_get_the_content = $siteseo_get_the_content . get_post_meta($siteseo_get_the_id, '_zionbuilder_page_elements', true); } //BeTheme is activated $theme = wp_get_theme(); if ('betheme' == $theme->template || 'Betheme' == $theme->parent_theme) { $siteseo_get_the_content = $siteseo_get_the_content . get_post_meta($siteseo_get_the_id, 'mfn-page-items-seo', true); } //Themify compatibility if (defined('THEMIFY_DIR') && method_exists('ThemifyBuilder_Data_Manager', '_get_all_builder_text_content')) { global $ThemifyBuilder; $builder_data = $ThemifyBuilder->get_builder_data($siteseo_get_the_id); $plain_text = \ThemifyBuilder_Data_Manager::_get_all_builder_text_content($builder_data); $plain_text = do_shortcode($plain_text); if ('' != $plain_text) { $siteseo_get_the_content = $plain_text; } } //Add WC product excerpt if ('product' == $siteseo_get_post_type) { $siteseo_get_the_content = $siteseo_get_the_content . get_the_excerpt($siteseo_get_the_id); } $siteseo_get_the_content = apply_filters('siteseo_content_analysis_content', $siteseo_get_the_content, $siteseo_get_the_id); if (defined('WP_DEBUG') && WP_DEBUG === true) { $data['analyzed_content'] = $siteseo_get_the_content; } //Bricks compatibility if (defined('BRICKS_DB_EDITOR_MODE') && ('bricks' == $theme->template || 'Bricks' == $theme->parent_theme)) { $page_sections = get_post_meta($siteseo_get_the_id, BRICKS_DB_PAGE_CONTENT, true); $editor_mode = get_post_meta($siteseo_get_the_id, BRICKS_DB_EDITOR_MODE, true); if (is_array($page_sections) && 'wordpress' !== $editor_mode) { $siteseo_get_the_content = Bricks\Frontend::render_data($page_sections); } } //Get Target Keywords if (isset($_GET['siteseo_analysis_target_kw']) && ! empty($_GET['siteseo_analysis_target_kw'])) { $data['target_kws'] = strtolower(siteseo_opt_get('siteseo_analysis_target_kw')); $siteseo_analysis_target_kw = array_filter(explode(',', strtolower(get_post_meta($siteseo_get_the_id, '_siteseo_analysis_target_kw', true)))); $siteseo_analysis_target_kw = apply_filters( 'siteseo_content_analysis_target_keywords', $siteseo_analysis_target_kw, $siteseo_get_the_id ); $data['target_kws_count'] = siteseo_get_service('CountTargetKeywordsUse')->getCountByKeywords($siteseo_analysis_target_kw, $siteseo_get_the_id); } $xpath = new DOMXPath($dom); //Title $list = $dom->getElementsByTagName('title'); if ($list->length > 0) { $title = $list->item(0)->textContent; $data['title'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($title))); if (isset($_GET['siteseo_analysis_target_kw']) && ! empty($_GET['siteseo_analysis_target_kw'])) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $data['title'], $m)) { $data['meta_title']['matches'][$kw][] = $m[0]; } } } } $redability_data = []; $redability_data = siteseo_do_redability_analysis($siteseo_get_the_content, $title); update_post_meta($siteseo_get_the_id, '_siteseo_readibility_data', $redability_data); //Meta desc $meta_description = $xpath->query('//meta[@name="description"]/@content'); foreach ($meta_description as $key=>$mdesc) { $data['meta_desc'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags($mdesc->nodeValue)))); } if (isset($_GET['siteseo_analysis_target_kw']) && ! empty($_GET['siteseo_analysis_target_kw'])) { if (! empty($meta_description)) { foreach ($meta_description as $meta_desc) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $meta_desc->nodeValue, $m)) { $data['meta_description']['matches'][$kw][] = $m[0]; } } } } } //OG:title $og_title = $xpath->query('//meta[@property="og:title"]/@content'); if (! empty($og_title)) { $data['og_title']['count'] = count($og_title); foreach ($og_title as $key=>$mogtitle) { $data['og_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mogtitle->nodeValue))); } } //OG:description $og_desc = $xpath->query('//meta[@property="og:description"]/@content'); if (! empty($og_desc)) { $data['og_desc']['count'] = count($og_desc); foreach ($og_desc as $key=>$mog_desc) { $data['og_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_desc->nodeValue))); } } //OG:image $og_img = $xpath->query('//meta[@property="og:image"]/@content'); if (! empty($og_img)) { $data['og_img']['count'] = count($og_img); foreach ($og_img as $key=>$mog_img) { $data['og_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_img->nodeValue))); } } //OG:url $og_url = $xpath->query('//meta[@property="og:url"]/@content'); if (! empty($og_url)) { $data['og_url']['count'] = count($og_url); foreach ($og_url as $key=>$mog_url) { $url = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_url->nodeValue))); $data['og_url']['values'][] = $url; $url = wp_parse_url($url); $data['og_url']['host'] = $url['host']; } } //OG:site_name $og_site_name = $xpath->query('//meta[@property="og:site_name"]/@content'); if (! empty($og_site_name)) { $data['og_site_name']['count'] = count($og_site_name); foreach ($og_site_name as $key=>$mog_site_name) { $data['og_site_name']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_site_name->nodeValue))); } } //Twitter:title $tw_title = $xpath->query('//meta[@name="twitter:title"]/@content'); if (! empty($tw_title)) { $data['tw_title']['count'] = count($tw_title); foreach ($tw_title as $key=>$mtw_title) { $data['tw_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_title->nodeValue))); } } //Twitter:description $tw_desc = $xpath->query('//meta[@name="twitter:description"]/@content'); if (! empty($tw_desc)) { $data['tw_desc']['count'] = count($tw_desc); foreach ($tw_desc as $key=>$mtw_desc) { $data['tw_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_desc->nodeValue))); } } //Twitter:image $tw_img = $xpath->query('//meta[@name="twitter:image"]/@content'); if (! empty($tw_img)) { $data['tw_img']['count'] = count($tw_img); foreach ($tw_img as $key=>$mtw_img) { $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue))); } } //Twitter:image:src $tw_img = $xpath->query('//meta[@name="twitter:image:src"]/@content'); if (! empty($tw_img)) { $count = null; if (! empty($data['tw_img']['count'])) { $count = $data['tw_img']['count']; } $data['tw_img']['count'] = count($tw_img) + $count; foreach ($tw_img as $key=>$mtw_img) { $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue))); } } //Canonical $canonical = $xpath->query('//link[@rel="canonical"]/@href'); foreach ($canonical as $key=>$mcanonical) { $data['canonical'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue))); } foreach ($canonical as $key=>$mcanonical) { $data['all_canonical'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue))); } //h1 $h1 = $xpath->query('//h1'); if (! empty($h1)) { $data['h1']['nomatches']['count'] = count($h1); if (isset($_GET['siteseo_analysis_target_kw']) && ! empty($_GET['siteseo_analysis_target_kw'])) { foreach ($h1 as $heading1) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading1->nodeValue, $m)) { $data['h1']['matches'][$kw][] = $m[0]; } } $data['h1']['values'][] = esc_attr($heading1->nodeValue); } } } if (isset($_GET['siteseo_analysis_target_kw']) && ! empty($_GET['siteseo_analysis_target_kw'])) { //h2 $h2 = $xpath->query('//h2'); if (! empty($h2)) { foreach ($h2 as $heading2) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading2->nodeValue, $m)) { $data['h2']['matches'][$kw][] = $m[0]; } } } } //h3 $h3 = $xpath->query('//h3'); if (! empty($h3)) { foreach ($h3 as $heading3) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading3->nodeValue, $m)) { $data['h3']['matches'][$kw][] = $m[0]; } } } } //Keywords density if (! is_plugin_active('oxygen/functions.php') && ! function_exists('ct_template_output')) { //disable for Oxygen foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', stripslashes_deep(wp_strip_all_tags($siteseo_get_the_content)), $m)) { $data['kws_density']['matches'][$kw][] = $m[0]; } } } //Keywords in permalink $post = get_post($siteseo_get_the_id); $kw_slug = urldecode($post->post_name); if (is_plugin_active('permalink-manager-pro/permalink-manager.php')) { global $permalink_manager_uris; $kw_slug = urldecode($permalink_manager_uris[$siteseo_get_the_id]); } $kw_slug = str_replace('-', ' ', $kw_slug); if (isset($kw_slug)) { foreach ($siteseo_analysis_target_kw as $kw) { if (preg_match_all('#\b(' . remove_accents($kw) . ')\b#iu', strip_tags($kw_slug), $m)) { $data['kws_permalink']['matches'][$kw][] = $m[0]; } } } } //Images /*Standard images*/ $imgs = $xpath->query('//img'); if (! empty($imgs) && null != $imgs) { //init $img_without_alt = []; $img_with_alt = []; foreach ($imgs as $img) { if ($img->hasAttribute('src')) { if (! preg_match_all('#\b(avatar)\b#iu', $img->getAttribute('class'), $m)) {//Exclude avatars from analysis if ($img->hasAttribute('width') || $img->hasAttribute('height')) { if ($img->getAttribute('width') > 1 || $img->getAttribute('height') > 1) {//Ignore files with width and heigh <= 1 if ('' === $img->getAttribute('alt') || ! $img->hasAttribute('alt')) {//if alt is empty or doesn't exist $img_without_alt[] .= $img->getAttribute('src'); } else { $img_with_alt[] .= $img->getAttribute('src'); } } } elseif ('' === $img->getAttribute('alt') || ! $img->hasAttribute('alt')) {//if alt is empty or doesn't exist $img_src = download_url($img->getAttribute('src')); if (false === is_wp_error($img_src)) { if (filesize($img_src) > 100) {//Ignore files under 100 bytes $img_without_alt[] .= $img->getAttribute('src'); } else { $img_with_alt[] .= $img->getAttribute('src'); } @unlink($img_src); } } } } $data['img']['images']['without_alt'] = $img_without_alt; $data['img']['images']['with_alt'] = $img_with_alt; } } //Meta robots $meta_robots = $xpath->query('//meta[@name="robots"]/@content'); if (! empty($meta_robots)) { foreach ($meta_robots as $key=>$value) { $data['meta_robots'][$key][] = esc_attr($value->nodeValue); } } //nofollow links $nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow') and not(contains(@rel, 'ugc'))]"); if (! empty($nofollow_links)) { foreach ($nofollow_links as $key=>$link) { if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) { $data['nofollow_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue); } } } } // outbound links $site_url = wp_parse_url(get_home_url(), PHP_URL_HOST); $outbound_links = $xpath->query("//a[not(contains(@href, '" . $site_url . "'))]"); if (! empty($outbound_links)) { foreach ($outbound_links as $key=>$link) { if (! empty(wp_parse_url($link->getAttribute('href'), PHP_URL_HOST))) { $data['outbound_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue); } } } // Internal links $permalink = get_permalink((int) $siteseo_get_the_id); $args = [ 's' => $permalink, 'post_type' => 'any', ]; $internal_links = new WP_Query($args); if ($internal_links->have_posts()) { $data['internal_links']['count'] = $internal_links->found_posts; while ($internal_links->have_posts()) { $internal_links->the_post(); $data['internal_links']['links'][get_the_ID()] = [get_the_permalink() => get_the_title()]; } } wp_reset_postdata(); //Internal links for Oxygen Builder if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) { $args = [ 'posts_per_page' => -1, 'meta_query' => [ [ 'key' => 'ct_builder_shortcodes', 'value' => $permalink, 'compare' => 'LIKE' ] ], 'post_type' => 'any', ]; $internal_links = new WP_Query($args); if ($internal_links->have_posts()) { $data['internal_links']['count'] = $internal_links->found_posts; while ($internal_links->have_posts()) { $internal_links->the_post(); $data['internal_links']['links'][get_the_ID()] = [get_the_permalink() => get_the_title()]; } } wp_reset_postdata(); } //Words Counter if (! is_plugin_active('oxygen/functions.php') && ! function_exists('ct_template_output')) { //disable for Oxygen if ('' != $siteseo_get_the_content) { $data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", normalize_whitespace(wp_strip_all_tags($siteseo_get_the_content)), $matches); if (! empty($matches[0])) { $words_counter_unique = count(array_unique($matches[0])); } else { $words_counter_unique = '0'; } $data['words_counter_unique'] = $words_counter_unique; } } //Get schemas $json_ld = $xpath->query('//script[@type="application/ld+json"]'); if (! empty($json_ld)) { foreach ($json_ld as $node) { $json = json_decode($node->nodeValue, true); if (isset($json['@type'])) { $data['json'][] = $json['@type']; } } } } libxml_use_internal_errors($internalErrors); } //Send data if (isset($data)) { //Oxygen builder if (get_post_meta($siteseo_get_the_id, '_siteseo_analysis_data_oxygen', true)) { $data2 = get_post_meta($siteseo_get_the_id, '_siteseo_analysis_data_oxygen', true); $data = $data + $data2; } update_post_meta($siteseo_get_the_id, '_siteseo_analysis_data', $data); } //Re-enable QM remove_filter('user_has_cap', 'siteseo_disable_qm', 10, 3); // Return wp_send_json_success($data); } add_action('wp_ajax_siteseo_do_real_preview', 'siteseo_do_real_preview'); function siteseo_do_redability_analysis($post, $title){ $data = []; // These are power words specifically for headlines. // These are not hard rules, but they are perceived to have a higher CTR if used in the heading. $power_words = ['exclusive', 'revealed', 'secrets', 'ultimate', 'proven', 'essential', 'unleashed', 'discover', 'breakthrough', 'shocking', 'insider', 'elite', 'uncovered', 'powerful', 'guaranteed', 'transformative', 'instant', 'revolutionary', 'unbelievable', 'top', 'best', 'must-have', 'limited', 'special', 'rare', 'unique', 'unprecedented', 'premium', 'urgent', 'exclusive', 'today', 'now', 'latest', 'new', 'free', 'bonus', 'offer', 'sensational', 'astonishing', 'incredible', 'jaw-dropping', 'unmissable', 'essential', 'critical', 'vital', 'pivotal', 'game-changer', 'spotlight', 'trending', 'hot', 'popular', 'featured', 'special', 'limited-time', 'hurry', 'last chance', 'countdown']; if(!empty($title)){ // Checking power words. $title_words = explode(' ', strtolower($title)); $present_power_words = array_intersect($title_words, $power_words); if(!empty($present_power_words)){ $data['power_words'] = $present_power_words; } // Checking number in the Title if(preg_match('/\s\d+\s/', preg_quote($title), $number)){ $data['number_found'] = $number[0]; } } // We are cheching paragarph lenght too. if(!isset($data['paragraph_length'])){ $data['paragraph_length'] = 0; } if(!empty($post)){ preg_match_all('/

    .*<\/p>/U', $post, $paragraphs); foreach($paragraphs[0] as $paragraph){ $paragraph = normalize_whitespace(wp_strip_all_tags($paragraph)); $data['paragraph_length'] += substr_count($paragraph, ' ') + 1; // updating paragraph length siteseo_analyse_passive_voice($paragraph, $data); } } return $data; } function siteseo_analyse_passive_voice($paragraph, &$data){ if(empty($paragraph)){ return; } $sentences = explode('.', $paragraph); $passive_count = 0; if(!isset($data['passive_voice']['passive_sentences'])){ $data['passive_voice']['passive_sentences'] = 0; } if(!isset($data['passive_voice']['total_sentences'])){ $data['passive_voice']['total_sentences'] = 0; } if(empty($sentences)){ return; } foreach($sentences as $sentence){ if(empty($sentence)){ continue; } $sentence = normalize_whitespace($sentence); $is_passive = siteseo_sentence_is_passive($sentence); if($is_passive == true){ $passive_count++; } } $data['passive_voice']['passive_sentences'] += $passive_count; $data['passive_voice']['total_sentences'] += count($sentences); } function siteseo_sentence_is_passive($sentence){ $be_words = ['am', 'is', 'are', 'was', 'were', 'be', 'being', 'been']; // TODO: We can check if "en" ending words are a comman pattern too, then we will remove the en ending words too from here. $past_particles = ['gone' ,'done' ,'seen' ,'taken' ,'eaten' ,'written' ,'driven' ,'spoken' ,'broken' ,'chosen' ,'fallen' ,'forgotten' ,'forgiven' ,'hidden' ,'known' ,'grown' ,'drawn' ,'flown' ,'thrown' ,'blown' ,'shown' ,'worn' ,'sworn' ,'torn' ,'woken' ,'begun' ,'sung' ,'run' ,'swum' ,'shaken' ,'given' ,'proven' ,'ridden' ,'risen' ,'shone' ,'shot' ,'fought' ,'thought' ,'bought' ,'brought' ,'caught' ,'taught' ,'built' ,'felt' ,'kept' ,'slept' ,'left' ,'lost' ,'meant' ,'met' ,'read' ,'sold' ,'sent' ,'spent' ,'stood' ,'understood' ,'won' ,'held' ,'told' ,'heard' ,'paid' ,'laid' ,'said' ,'found' ,'made' ,'learned' ,'put']; if(empty($sentence)){ return false; } $words = explode(' ', $sentence); for($i = 0; $i < count($words); $i++){ // Checking if we have a be word if(!in_array($words[$i], $be_words)){ continue; } // If be word is there then need to check if next one is past particle with mostly ends with ed. if(strpos($words[$i+1], 'ed') != strlen($words[$i+1]) - 2){ if(!in_array($words[$i+1], $past_particles)){ continue; } } return true; } return false; } // Analysis every 15 seconds function siteseo_do_realtime_analysis(){ // Security check siteseo_check_ajax_referer('siteseo_realtime_nonce'); if(!current_user_can('edit_posts') || !is_admin()){ return; } $data = []; $post_content = !empty($_POST['post_content']) ? wp_kses_post(wp_unslash($_POST['post_content'])) : ''; $post_id = (int) siteseo_opt_post('post_id'); $post_origin = siteseo_opt_post('post_origin'); $post_type = siteseo_opt_post('post_type'); $post_title = siteseo_opt_post('post_title'); $post_tax = siteseo_opt_post('post_tax'); $post_slug = siteseo_opt_post('post_slug'); $meta = siteseo_opt_post('meta'); $keywords_str = strtolower(siteseo_opt_post('keywords')); $keywords = [$keywords_str]; $h1_title = $post_title; // We use title of the page as h1 // In case we are setting a custom title using SiteSEO metabox then // we will need to consider that as the title for the Analysis. if(!empty($meta['title'])){ $post_title = $meta['title']; update_post_meta($post_id , '_siteseo_titles_title', $meta['title']); } if(strpos($keywords_str, ',') !== FALSE){ $keywords = explode(',', $keywords_str); } $keywords = apply_filters('siteseo_content_analysis_target_keywords', $keywords, $post_id); $post_content = apply_filters('siteseo_dom_analysis_get_post_content', $post_content); // Zion Builder compatibility if(is_plugin_active('zionbuilder/zionbuilder.php')){ $post_content .= get_post_meta($post_id, '_zionbuilder_page_elements', true); } // BeTheme is activated $theme = wp_get_theme(); if('betheme' == $theme->template || 'Betheme' == $theme->parent_theme){ $post_content .= get_post_meta($post_id, 'mfn-page-items-seo', true); } // Themify compatibility if(defined('THEMIFY_DIR') && method_exists('ThemifyBuilder_Data_Manager', '_get_all_builder_text_content')){ global $ThemifyBuilder; $builder_data = $ThemifyBuilder->get_builder_data($post_id); $plain_text = \ThemifyBuilder_Data_Manager::_get_all_builder_text_content($builder_data); $plain_text = do_shortcode($plain_text); if('' != $plain_text){ $post_content = $plain_text; } } // Add WC product excerpt if('product' == $post_type){ $post_content .= get_the_excerpt($post_id); } $post_content = apply_filters('siteseo_content_analysis_content', $post_content, $post_id); $data['target_kws_count'] = siteseo_get_service('CountTargetKeywordsUse')->getCountByKeywords($keywords, $post_id); $data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", normalize_whitespace(wp_strip_all_tags($post_content)), $matches); if(!empty($matches[0])){ $words_counter_unique = count(array_unique($matches[0])); } else { $words_counter_unique = '0'; } $data['words_counter_unique'] = $words_counter_unique; // Checkinng the post slug if(!empty($keywords)){ // Keyword density foreach($keywords as $kw){ if (preg_match_all('#\b(' . $kw . ')\b#iu', stripslashes_deep(wp_strip_all_tags($post_content)), $m)) { $data['kws_density']['matches'][$kw][] = $m[0]; } } if (is_plugin_active('permalink-manager-pro/permalink-manager.php')) { global $permalink_manager_uris; $post_slug = urldecode($permalink_manager_uris[$post_id]); } $post_slug = str_replace('-', ' ', $post_slug); if(isset($post_slug)){ foreach($keywords as $kw){ if (preg_match_all('#\b(' . remove_accents($kw) . ')\b#iu', strip_tags($post_slug), $m)){ $data['kws_permalink']['matches'][$kw][] = $m[0]; } } } } //Title if(!empty($post_title)){ $data['title'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($post_title))); if(!empty($keywords)){ foreach($keywords as $kw){ if(preg_match_all('#\b(' . $kw . ')\b#iu', $data['title'], $m)){ $data['meta_title']['matches'][$kw][] = $m[0]; } } } } //Meta desc if(!empty($meta) && !empty($meta['description'])){ $data['meta_desc'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags($meta['description'])))); update_post_meta($post_id , '_siteseo_titles_desc', $meta['description']); if(!empty($keywords) && !empty($data['meta_desc'])){ foreach($keywords as $kw){ if(preg_match_all('#\b(' . $kw . ')\b#iu', $data['meta_desc'], $m)){ $data['meta_description']['matches'][$kw][] = $m[0]; } } } } if('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()){ //OG:title if(!empty($meta) && !empty($meta['og_title'])){ $data['og_title']['count'] = 1; $data['og_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['og_title']))); } //OG:description if(!empty($meta) && !empty($meta['og_title'])){ $data['og_desc']['count'] = 1; $data['og_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['og_title']))); } //OG:image if(!empty($meta) && !empty($meta['og_img'])){ $data['og_img']['count'] = 1; $data['og_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['og_img']))); } } if('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard()){ //Twitter:title if (!empty($meta) && !empty($meta['tw_title'])){ $data['tw_title']['count'] = 1; $data['tw_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['tw_title']))); } //Twitter:description if (!empty($meta) && !empty($meta['tw_desc'])) { $data['tw_desc']['count'] = 1; $data['tw_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['tw_desc']))); } //Twitter:image if (!empty($meta) && !empty($meta['tw_img'])) { $data['tw_img']['count'] = 1; $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($meta['tw_img']))); } } // h1 preg_match_all('/]*>.*<\/h1[^>]*>/iU', $post_content, $h1); // We are setting post title to be the h1 as post title is supposed to be a h1. if(empty($h1)){ $h1 = []; } if(empty($h1[0])){ $h1[0] = []; } array_unshift($h1[0], $h1_title); // We need our post title to be shown as the first h1. if(!empty($h1) && !empty($h1[0])){ $data['h1']['nomatches']['count'] = count($h1[0]); if(!empty($keywords)){ foreach($h1[0] as $heading1){ if(empty($heading1)){ continue; } foreach($keywords as $kw){ if(preg_match_all('#\b(' . $kw . ')\b#iu', $heading1, $m)){ $data['h1']['matches'][$kw][] = $m[0]; } } $data['h1']['values'][] = esc_attr(wp_strip_all_tags($heading1)); } } } //DOM $dom = new DOMDocument(); $internalErrors = libxml_use_internal_errors(true); $dom->preserveWhiteSpace = false; if($dom->loadHTML('' . $post_content)){ $xpath = new DOMXPath($dom); if(!empty($keywords)){ //h2 $h2 = $xpath->query('//h2'); if(!empty($h2)){ foreach ($h2 as $heading2) { foreach ($keywords as $kw) { if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading2->nodeValue, $m)) { $data['h2']['matches'][$kw][] = $m[0]; } } } } //h3 $h3 = $xpath->query('//h3'); if(!empty($h3)){ foreach($h3 as $heading3){ foreach($keywords as $kw){ if(preg_match_all('#\b(' . $kw . ')\b#iu', $heading3->nodeValue, $m)){ $data['h3']['matches'][$kw][] = $m[0]; } } } } } //Images /*Standard images*/ $imgs = $xpath->query('//img'); if(!empty($imgs) && null != $imgs){ //init $img_without_alt = []; $img_with_alt = []; foreach($imgs as $img){ if ($img->hasAttribute('src')) { if (! preg_match_all('#\b(avatar)\b#iu', $img->getAttribute('class'), $m)) {//Exclude avatars from analysis if(!empty($img->hasAttribute('alt')) && !empty($img->getAttribute('alt'))){ $img_with_alt[] .= $img->getAttribute('src'); } elseif ('' === $img->getAttribute('alt') || ! $img->hasAttribute('alt')) {//if alt is empty or doesn't exist $img_src = download_url($img->getAttribute('src')); if (false === is_wp_error($img_src)) { if (filesize($img_src) > 100) {//Ignore files under 100 bytes $img_without_alt[] .= $img->getAttribute('src'); } else { $img_with_alt[] .= $img->getAttribute('src'); } @unlink($img_src); } } } } $data['img']['images']['without_alt'] = $img_without_alt; $data['img']['images']['with_alt'] = $img_with_alt; } } //nofollow links $nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow') and not(contains(@rel, 'ugc'))]"); if (! empty($nofollow_links)) { foreach ($nofollow_links as $key => $link) { if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) { $data['nofollow_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue); } } } // outbound links $site_url = wp_parse_url(get_home_url(), PHP_URL_HOST); $outbound_links = $xpath->query("//a[not(contains(@href, '" . $site_url . "'))]"); if(! empty($outbound_links)){ foreach ($outbound_links as $key=>$link) { if (! empty(wp_parse_url($link->getAttribute('href'), PHP_URL_HOST))) { $data['outbound_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue); } } } // Cleaning $xpath = null; $dom = null; } // Internal links $permalink = get_permalink((int) $post_id); $args = [ 's' => $permalink, 'post_type' => 'any', ]; $internal_links = new WP_Query($args); if($internal_links->have_posts()){ $data['internal_links']['count'] = $internal_links->found_posts; while($internal_links->have_posts()){ $internal_links->the_post(); $data['internal_links']['links'][get_the_ID()] = [get_the_permalink() => get_the_title()]; } } //Get source code $args = [ 'blocking' => true, 'timeout' => 30, 'sslverify' => false, ]; $args = apply_filters('siteseo_real_preview_remote', $args); if('post' == $post_origin){ //Default: post type // Oxygen compatibility if(is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')){ $link = get_permalink((int) $post_id); $link = add_query_arg('no_admin_bar', 1, $link); $response = wp_remote_get($link, $args); if(200 !== wp_remote_retrieve_response_code($response)){ $link = get_permalink((int) $post_id); $response = wp_remote_get($link, $args); } } else { $custom_args = ['no_admin_bar' => 1]; //Useful for Page / Theme builders $custom_args = apply_filters('siteseo_real_preview_custom_args', $custom_args); $link = add_query_arg('no_admin_bar', 1, get_preview_post_link((int) $post_id, $custom_args)); $link = apply_filters('siteseo_get_dom_link', $link, $post_id); $response = wp_remote_get($link, $args); } } else { //Term taxonomy $link = get_term_link((int) $post_id, $post_tax); $response = wp_remote_get($link, $args); } if(is_wp_error($response) || '404' == wp_remote_retrieve_response_code($response)){ $data['title'] = __('The post is returning 404 error, publish your post!', 'siteseo'); }elseif (is_wp_error($response) || '401' == wp_remote_retrieve_response_code($response)){ $data['title'] = __('Your site is protected by an authentication.'); }else{ $body = wp_remote_retrieve_body($response); //DOM $dom = new DOMDocument(); $internalErrors = libxml_use_internal_errors(true); $dom->preserveWhiteSpace = false; if($dom->loadHTML('' . $body)){ $data['link_preview'] = $link; //Disable wptexturize add_filter('run_wptexturize', '__return_false'); $xpath = new DOMXPath($dom); //OG:url $og_url = $xpath->query('//meta[@property="og:url"]/@content'); if (! empty($og_url)) { $data['og_url']['count'] = count($og_url); foreach($og_url as $key => $mog_url){ $url = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_url->nodeValue))); $data['og_url']['values'][] = $url; $url = wp_parse_url($url); $data['og_url']['host'] = $url['host']; } } //OG:site_name $og_site_name = $xpath->query('//meta[@property="og:site_name"]/@content'); if(!empty($og_site_name)){ $data['og_site_name']['count'] = count($og_site_name); foreach($og_site_name as $mog_site_name){ $data['og_site_name']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_site_name->nodeValue))); } } //Twitter:image:src $tw_img = $xpath->query('//meta[@name="twitter:image:src"]/@content'); if(!empty($tw_img)){ $count = null; if(!empty($data['tw_img']['count'])){ $count = $data['tw_img']['count']; } $data['tw_img']['count'] = count($tw_img) + $count; foreach($tw_img as $mtw_img){ $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue))); } } //Canonical $canonical = $xpath->query('//link[@rel="canonical"]/@href'); if(!empty($canonical)){ foreach ($canonical as $mcanonical) { $data['canonical'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue))); } foreach ($canonical as $mcanonical) { $data['all_canonical'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue))); } } // Meta robots $meta_robots = $xpath->query('//meta[@name="robots"]/@content'); if(!empty($meta_robots)){ foreach($meta_robots as $key=>$value){ $data['meta_robots'][$key][] = esc_attr($value->nodeValue); } } //Get schemas $json_ld = $xpath->query('//script[@type="application/ld+json"]'); if (! empty($json_ld)) { foreach ($json_ld as $node) { $json = json_decode($node->nodeValue, true); if (isset($json['@type'])) { $data['json'][] = $json['@type']; } } } } } libxml_use_internal_errors($internalErrors); update_post_meta($post_id, '_siteseo_analysis_data', $data); $analyzes = siteseo_get_service('GetContentAnalysis')->getAnalyzes(get_post($post_id)); $html_response = siteseo_get_service('RenderContentAnalysis')->render($analyzes, $data, false); $acceptable_svg = [ 'svg' => [ 'role' => true, 'aria-hidden' => true, 'focusable' => true, 'width' => true, 'height' => true, 'viewbox' => true, 'version' => true, 'xmlns' => true ], 'circle' => [ 'id' => true, 'r' => true, 'cx' => true, 'cy' => true, 'fill' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true ] ]; $allowed_html = wp_kses_allowed_html('post'); $allowed_html = array_merge($allowed_html, $acceptable_svg); wp_send_json(['html' => wp_kses($html_response, $allowed_html), 'success' => true]); } add_action('wp_ajax_siteseo_realtime_analysis', 'siteseo_do_realtime_analysis'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Flush permalinks /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_flush_permalinks() { siteseo_check_ajax_referer('siteseo_flush_permalinks_nonce'); if (current_user_can(siteseo_capability('manage_options', 'flush')) && is_admin()) { flush_rewrite_rules(false); exit(); } } add_action('wp_ajax_siteseo_flush_permalinks', 'siteseo_flush_permalinks'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Dashboard toggle features /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_toggle_features() { siteseo_check_ajax_referer('siteseo_toggle_features_nonce'); if (current_user_can(siteseo_capability('manage_options', 'dashboard')) && is_admin()) { if (isset($_POST['feature']) && isset($_POST['feature_value'])) { $siteseo_toggle_options = get_option('siteseo_toggle'); $siteseo_toggle_options[siteseo_opt_post('feature')] = siteseo_opt_post('feature_value'); update_option('siteseo_toggle', $siteseo_toggle_options, 'yes', false); } exit(); } } add_action('wp_ajax_siteseo_toggle_features', 'siteseo_toggle_features'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Dashboard drag and drop features /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_dnd_features() { check_ajax_referer('siteseo_dnd_features_nonce'); if (current_user_can(siteseo_capability('manage_options', 'dashboard')) && is_admin()) { if (isset($_POST['order']) && !empty($_POST['order'])) { $cards_order = get_option('siteseo_dashboard_option_name'); $cards_order['cards_order'] = siteseo_opt_post('order'); update_option('siteseo_dashboard_option_name', $cards_order); } } wp_send_json_success(); } add_action('wp_ajax_siteseo_dnd_features', 'siteseo_dnd_features'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Dashboard News Panel /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_news() { siteseo_check_ajax_referer('siteseo_news_nonce'); if (current_user_can(siteseo_capability('manage_options', 'dashboard')) && is_admin()) { if (isset($_POST['news_max_items'])) { $siteseo_dashboard_option_name = get_option('siteseo_dashboard_option_name'); $siteseo_dashboard_option_name['news_max_items'] = intval(siteseo_opt_post('news_max_items')); update_option('siteseo_dashboard_option_name', $siteseo_dashboard_option_name, false); } exit(); } } add_action('wp_ajax_siteseo_news', 'siteseo_news'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Dashboard Display Panel /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_display() { siteseo_check_ajax_referer('siteseo_display_nonce'); if (current_user_can(siteseo_capability('manage_options', 'dashboard')) && is_admin()) { //Notifications Center if (isset($_POST['notifications_center'])) { $siteseo_advanced_option_name = get_option('siteseo_advanced_option_name'); if ('1' == $_POST['notifications_center']) { $siteseo_advanced_option_name['appearance_notifications'] = siteseo_opt_post('notifications_center'); } else { unset($siteseo_advanced_option_name['appearance_notifications']); } update_option('siteseo_advanced_option_name', $siteseo_advanced_option_name, false); } //News Panel if (isset($_POST['news_center'])) { $siteseo_advanced_option_name = get_option('siteseo_advanced_option_name'); if ('1' == $_POST['news_center']) { $siteseo_advanced_option_name['appearance_news'] = siteseo_opt_post('news_center'); } else { unset($siteseo_advanced_option_name['appearance_news']); } update_option('siteseo_advanced_option_name', $siteseo_advanced_option_name, false); } //Tools Panel if (isset($_POST['tools_center'])) { $siteseo_advanced_option_name = get_option('siteseo_advanced_option_name'); if ('1' == $_POST['tools_center']) { $siteseo_advanced_option_name['appearance_seo_tools'] = siteseo_opt_post('tools_center'); } else { unset($siteseo_advanced_option_name['appearance_seo_tools']); } update_option('siteseo_advanced_option_name', $siteseo_advanced_option_name, false); } exit(); } } add_action('wp_ajax_siteseo_display', 'siteseo_display'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Dashboard hide notices /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_hide_notices() { siteseo_check_ajax_referer('siteseo_hide_notices_nonce'); if (current_user_can(siteseo_capability('manage_options', 'dashboard')) && is_admin()) { if (isset($_POST['notice']) && isset($_POST['notice_value'])) { $siteseo_notices_options = get_option('siteseo_notices'); $siteseo_notices_options[siteseo_opt_post('notice')] = siteseo_opt_post('notice_value'); update_option('siteseo_notices', $siteseo_notices_options, 'yes', false); } exit(); } } add_action('wp_ajax_siteseo_hide_notices', 'siteseo_hide_notices'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Regenerate Video XML Sitemap /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_video_xml_sitemap_regenerate() { siteseo_check_ajax_referer('siteseo_video_regenerate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } $cpt = ['any']; $sitemap_post_types_list = siteseo_get_service('SitemapOption')->getPostTypesList(); if ($sitemap_post_types_list) { unset($cpt[0]); foreach ($sitemap_post_types_list as $cpt_key => $cpt_value) { foreach ($cpt_value as $_cpt_key => $_cpt_value) { if ('1' == $_cpt_value) { $cpt[] = $cpt_key; } } } $cpt = array_map(function($item) { return "'" . esc_sql($item) . "'"; }, $cpt); $cpt_string = implode(",", $cpt); } global $wpdb; $total_count_posts = (int) $wpdb->get_var($wpdb->prepare("SELECT count(*) FROM {$wpdb->posts} WHERE post_status IN ('pending', 'draft', 'publish', 'future') AND post_type IN ( %s ) ", $cpt_string)); $increment = 1; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $offset = 'done'; } else { $args = [ 'posts_per_page' => $increment, 'post_type' => $cpt, 'post_status' => ['pending', 'draft', 'publish', 'future'], 'offset' => $offset, ]; $video_query = get_posts($args); if ($video_query) { foreach ($video_query as $post) { siteseo_pro_video_xml_sitemap($post->ID, $post); } } $offset += $increment; } $data = []; $data['total'] = $total_count_posts; if ($offset >= $total_count_posts) { $data['count'] = $total_count_posts; } else { $data['count'] = $offset; } $data['offset'] = $offset; //Clear cache delete_transient( '_siteseo_sitemap_ids_video' ); wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_video_xml_sitemap_regenerate', 'siteseo_video_xml_sitemap_regenerate'); function siteseo_create_robots(){ siteseo_check_ajax_referer('siteseo_admin_nonce'); if(!current_user_can('manage_options')){ wp_send_json_error(__('You do not have required permission to create robots.txt file.', 'siteseo')); } ob_start(); do_robots(); $robots_txt = ob_get_clean(); $is_public = absint(get_option('blog_public')); $robots_txt = apply_filters('robots_txt', $robots_txt, $is_public); if(file_put_contents(ABSPATH . 'robots.txt', $robots_txt)){ wp_send_json_success(__('Successfully create the robots.txt file', 'siteseo')); } wp_send_json_error(); } add_action('wp_ajax_siteseo_create_robots', 'siteseo_create_robots'); function siteseo_update_robots(){ siteseo_check_ajax_referer('siteseo_admin_nonce'); if(!current_user_can('manage_options')){ wp_send_json_error(__('You do not have required permission to edit this file.', 'siteseo')); } $robots_txt = ''; if(!empty($_POST['robots'])){ $robots_txt = sanitize_textarea_field(wp_unslash($_POST['robots'])); } if(empty($robots_txt)){ wp_send_json_error(__('You have supplied empty robots rules', 'siteseo')); } if(!is_writable(ABSPATH . 'robots.txt')){ wp_send_json_error(__('robots.txt file is not writable', 'siteseo')); } if(file_put_contents(ABSPATH . 'robots.txt', $robots_txt)){ wp_send_json_success(__('Successfully update the robots.txt file', 'siteseo')); } wp_send_json_error(__('Unable to update the robots.txt file', 'siteseo')); } add_action('wp_ajax_siteseo_update_robots', 'siteseo_update_robots'); function siteseo_update_htaccess() { siteseo_check_ajax_referer('siteseo_admin_nonce'); if (!current_user_can('manage_options')) { wp_send_json_error(__('You do not have required permission to edit this file.', 'siteseo')); } $htaccess_enable = isset($_POST['htaccess_enable']) ? intval(sanitize_text_field(wp_unslash($_POST['htaccess_enable']))) : 0; $htaccess_rules = isset($_POST['htaccess_code']) ? sanitize_textarea_field(wp_unslash($_POST['htaccess_code'])) : ''; if(empty($htaccess_enable)){ wp_send_json_error(__('Please accept the warning first before proceeding with saving the htaccess', 'siteseo')); } $htaccess_file = ABSPATH . '.htaccess'; $backup_file = ABSPATH . '.htaccess_backup.siteseo'; if(!is_writable($htaccess_file)){ wp_send_json_error(__('.htaccess file is not writable so the ', 'siteseo')); } // Backup .htaccess file if(!copy($htaccess_file, $backup_file)){ wp_send_json_error(__('Failed to create backup of .htaccess file.', 'siteseo')); } // Update the .htaccess file if(file_put_contents($htaccess_file, $htaccess_rules) === false){ wp_send_json_error(__('Failed to update .htaccess file.', 'siteseo')); } $response = wp_remote_get(site_url()); $response_code = wp_remote_retrieve_response_code($response); // Restore the backup if something goes wrong. if($response_code > 299){ copy($backup_file, $htaccess_file); wp_send_json_error(__('There was a syntax error in the htaccess rules you provided as the response to your website with the new htaccess gave response code of', 'siteseo') . ' ' . $response_code); } wp_send_json_success(__('Successfully updated .htaccess file', 'siteseo')); } add_action('wp_ajax_siteseo_update_htaccess', 'siteseo_update_htaccess'); require_once __DIR__ . '/ajax-migrate/smart-crawl.php'; require_once __DIR__ . '/ajax-migrate/seopressor.php'; require_once __DIR__ . '/ajax-migrate/slim-seo.php'; require_once __DIR__ . '/ajax-migrate/platinum.php'; require_once __DIR__ . '/ajax-migrate/wpseo.php'; require_once __DIR__ . '/ajax-migrate/premium-seo-pack.php'; require_once __DIR__ . '/ajax-migrate/wp-meta-seo.php'; require_once __DIR__ . '/ajax-migrate/seo-ultimate.php'; require_once __DIR__ . '/ajax-migrate/squirrly.php'; require_once __DIR__ . '/ajax-migrate/seo-framework.php'; require_once __DIR__ . '/ajax-migrate/yoast.php'; require_once __DIR__ . '/export/csv.php'; PKZHbZZ$plugins/siteseo/main/admin/admin.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT'); } use SiteSEO\Helpers\PagesAdmin; // Actions require_once dirname(__FILE__) . '/admin-dyn-variables-helper.php'; //Dynamic variables add_action('admin_menu', 'siteseo_add_plugin_page', 10); add_action('admin_init', 'siteseo_set_default_values', 10); add_action('admin_init', 'siteseo_page_init'); add_action('admin_init', 'siteseo_feature_save', 30); add_action('admin_init', 'siteseo_feature_title', 20); add_action('admin_init', 'siteseo_pre_save_options', 50); function siteseo_feature_save(){ $html = ''; if (isset($_GET['settings-updated']) && 'true' === $_GET['settings-updated']) { $html .= '

    '; } else { $html .= '
    '; } $html .= '
    ' . esc_html__('Your settings have been saved.', 'siteseo') . '
    '; return $html; } function siteseo_feature_title($feature){ global $title; $html = '

    ' . esc_html($title) .' - '. __('SiteSEO', 'siteseo'); if (null !== $feature) { if ('1' == siteseo_get_toggle_option($feature)) { $toggle = '1'; } else { $toggle = '0'; } $html .= ''; $html .= ''; $html .= siteseo_feature_save(); if ('1' == siteseo_get_toggle_option($feature)) { $html .= '' . __('Enabled', 'siteseo') . ''; $html .= '' . __('Disabled', 'siteseo') . ''; } else { $html .= '' . __('Disabled', 'siteseo') . ''; $html .= '' . __('Enabled', 'siteseo') . ''; } } $html .= '

    '; return $html; } /** * Add options page. */ function siteseo_add_plugin_page(){ if (has_filter('siteseo_seo_admin_menu')) { $admin_menu['icon'] = ''; $admin_menu['icon'] = apply_filters('siteseo_seo_admin_menu', $admin_menu['icon']); } else { $admin_menu['icon'] = SITESEO_ASSETS_DIR.'/img/logo-24.svg'; } $admin_menu['title'] = __('SiteSEO', 'siteseo'); if (has_filter('siteseo_seo_admin_menu_title')) { $admin_menu['title'] = apply_filters('siteseo_seo_admin_menu_title', $admin_menu['title']); } add_menu_page(__('SiteSEO Option Page', 'siteseo'), $admin_menu['title'], siteseo_capability('manage_options', 'menu'), 'siteseo', 'siteseo_create_admin_page', $admin_menu['icon'], 90); add_submenu_page('siteseo', __('Dashboard', 'siteseo'), __('Dashboard', 'siteseo'), siteseo_capability('manage_options', 'menu'), 'siteseo', 'siteseo_create_admin_page'); $siteseo_titles_help_tab = add_submenu_page('siteseo', __('Titles & Metas', 'siteseo'), __('Titles & Metas', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::TITLE_METAS), 'siteseo-titles', 'siteseo_titles_page'); $siteseo_xml_sitemaps_help_tab = add_submenu_page('siteseo', __('Sitemaps', 'siteseo'), __('Sitemaps', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::XML_HTML_SITEMAP), 'siteseo-xml-sitemap', 'siteseo_xml_sitemap_page'); $siteseo_social_networks_help_tab = add_submenu_page('siteseo', __('Social Networks', 'siteseo'), __('Social Networks', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::SOCIAL_NETWORKS), 'siteseo-social', 'siteseo_social_page'); $siteseo_google_analytics_help_tab = add_submenu_page('siteseo', __('Analytics', 'siteseo'), __('Analytics', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::ANALYTICS), 'siteseo-google-analytics', 'siteseo_google_analytics_page'); add_submenu_page('siteseo', __('Instant Indexing', 'siteseo'), __('Instant Indexing', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::INSTANT_INDEXING), 'siteseo-instant-indexing', 'siteseo_instant_indexing_page'); add_submenu_page('siteseo', __('Image SEO & Advanced settings', 'siteseo'), __('Advanced', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::ADVANCED), 'siteseo-advanced', 'siteseo_advanced_page'); add_submenu_page('siteseo', __('Tools', 'siteseo'), __('Tools', 'siteseo'), siteseo_capability('manage_options', PagesAdmin::TOOLS), 'siteseo-import-export', 'siteseo_import_export_page'); // Universal Meta Box Settings Page add_submenu_page('admin.php', __('Universal Meta Box'), __('Universal Meta Box'), 'edit_posts', 'siteseo-metabox-wizard', 'siteseo_metabox_wizard'); if(function_exists('siteseo_get_toggle_white_label_option')){ $white_label_toggle = siteseo_get_toggle_white_label_option(); if('1' === $white_label_toggle){ if(function_exists('siteseo_white_label_help_links_option') && '1' === siteseo_white_label_help_links_option()){ return; } } } } // Universal Meta Box Settings Page function siteseo_metabox_wizard(){ require_once(SITESEO_MAIN.'/admin/metaboxes/admin-universal-metaboxes.php'); } //Admin Pages function siteseo_titles_page(){ require_once dirname(__FILE__) . '/admin-pages/Titles.php'; } function siteseo_xml_sitemap_page(){ require_once dirname(__FILE__) . '/admin-pages/Sitemaps.php'; } function siteseo_social_page(){ require_once dirname(__FILE__) . '/admin-pages/Social.php'; } function siteseo_google_analytics_page(){ require_once dirname(__FILE__) . '/admin-pages/Analytics.php'; } function siteseo_advanced_page(){ require_once dirname(__FILE__) . '/admin-pages/Advanced.php'; } function siteseo_import_export_page(){ require_once dirname(__FILE__) . '/admin-pages/Tools.php'; } function siteseo_instant_indexing_page(){ require_once dirname(__FILE__) . '/admin-pages/InstantIndexing.php'; } function siteseo_create_admin_page(){ require_once dirname(__FILE__) . '/admin-pages/Main.php'; } function siteseo_set_default_values(){ if(defined('SITESEO_WPMAIN_VERSION')){ return; } // IndewNow $instant_indexing_option_name = get_option('siteseo_instant_indexing_option_name'); // Init if option doesn't exist if (false === $instant_indexing_option_name) { $instant_indexing_option_name = []; if ('1' == siteseo_get_toggle_option('instant-indexing')) { siteseo_instant_indexing_generate_api_key_fn(true); } $instant_indexing_option_name['instant_indexing_automate_submission'] = '1'; } // Check if the value is an array (important!) if (is_array($instant_indexing_option_name)) { add_option('siteseo_instant_indexing_option_name', $instant_indexing_option_name); } } function siteseo_page_init(){ register_setting( 'siteseo_option_group', // Option group 'siteseo_option_name', // Option name 'siteseo_sanitize' // Sanitize ); register_setting( 'siteseo_google_analytics_option_group', // Option group 'siteseo_google_analytics_option_name', // Option name 'siteseo_sanitize' // Sanitize ); register_setting( 'siteseo_tools_option_group', // Option group 'siteseo_tools_option_name', // Option name 'siteseo_sanitize' // Sanitize ); register_setting( 'siteseo_import_export_option_group', // Option group 'siteseo_import_export_option_name', // Option name 'siteseo_sanitize' // Sanitize ); } function siteseo_sanitize($input){ require_once dirname(__FILE__) . '/sanitize/Sanitize.php'; if(isset($_POST['option_page']) && $_POST['option_page'] === 'siteseo_advanced_option_group'){ if(!isset($input['siteseo_advanced_option_group'])){ $input['siteseo_advanced_option_group'] = ''; } } return siteseo_sanitize_options_fields($input); } function siteseo_pre_save_options(){ add_filter('pre_update_option_siteseo_instant_indexing_option_name', 'siteseo_pre_instant_indexing_option_name', 10, 2); } function siteseo_pre_instant_indexing_option_name($new_value, $old_value){ //If we are saving data from SEO, PRO, Google Search Console tab, we have to save all Indexing options! if(array_key_exists('instant_indexing_bing_api_key', $new_value)){ return $new_value; } $options = get_option('siteseo_instant_indexing_option_name'); $options['instant_indexing_google_api_key'] = $new_value['instant_indexing_google_api_key']; return $options; } ///////////////////////////////// //Loads the JS/CSS in admin ///////////////////////////////// add_action('admin_enqueue_scripts', 'siteseo_admin_enqueue_scripts', 10, 1); function siteseo_admin_enqueue_scripts() { $option_page = isset($_GET['page']) ? sanitize_text_field(wp_unslash($_GET['page'])) : ''; $current_file = !empty($_SERVER['PHP_SELF']) ? basename(sanitize_text_field(wp_unslash($_SERVER['PHP_SELF']))) : ''; if(!preg_match('/^siteseo/is', $option_page) && !in_array($current_file, array('post.php', 'edit.php', 'post-new.php', 'term.php', 'edit-tags.php'))){ return; } $prefix = ''; wp_register_style('siteseo-admin', SITESEO_DIR_URL.'/assets/css/siteseo' . $prefix . '.css', [], SITESEO_VERSION); wp_enqueue_style('siteseo-admin'); if (!empty($_GET['page']) && 'siteseo-network-option' === $_GET['page']) { wp_enqueue_script('siteseo-network-tabs', SITESEO_DIR_URL.'/assets/js/siteseo-network-tabs' . $prefix . '.js', ['jquery'], SITESEO_VERSION, true); } //Toggle / Notices JS $_pages = [ 'siteseo' => true, 'siteseo-network-option' => true, 'siteseo-titles' => true, 'siteseo-xml-sitemap' => true, 'siteseo-social' => true, 'siteseo-google-analytics' => true, 'siteseo-pro-page' => true, 'siteseo-instant-indexing' => true, 'siteseo-advanced' => true, 'siteseo-import-export' => true, 'siteseo-bot-batch' => true, 'siteseo-license' => true, ]; if (isset($_pages[siteseo_opt_get('page')])) { wp_enqueue_script('siteseo-toggle-ajax', SITESEO_DIR_URL.'/assets/js/siteseo-dashboard' . $prefix . '.js', ['jquery', 'jquery-ui-sortable'], SITESEO_VERSION, true); //Features $siteseo_toggle_features = [ 'siteseo_nonce' => wp_create_nonce('siteseo_toggle_features_nonce'), 'siteseo_toggle_features' => admin_url('admin-ajax.php'), 'i18n' => __('has been successfully updated!', 'siteseo'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAjaxToggleFeatures', $siteseo_toggle_features); //Drag and drop $siteseo_dnd_features = [ 'siteseo_nonce' => wp_create_nonce('siteseo_dnd_features_nonce'), 'siteseo_dnd_features' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAjaxDndFeatures', $siteseo_dnd_features); // Universal Nonce $siteseo_admin_nonce = [ 'nonce' => wp_create_nonce('siteseo_admin_nonce'), 'url' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAdminAjax', $siteseo_admin_nonce); } unset($_pages); if (!empty($_GET['page']) && 'siteseo' === $_GET['page']) { //Notices $siteseo_hide_notices = [ 'siteseo_nonce' => wp_create_nonce('siteseo_hide_notices_nonce'), 'siteseo_hide_notices' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAjaxHideNotices', $siteseo_hide_notices); //News panel $siteseo_news = [ 'siteseo_nonce' => wp_create_nonce('siteseo_news_nonce'), 'siteseo_news' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAjaxNews', $siteseo_news); //Display panel $siteseo_display = [ 'siteseo_nonce' => wp_create_nonce('siteseo_display_nonce'), 'siteseo_display' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-toggle-ajax', 'siteseoAjaxDisplay', $siteseo_display); // Admin Tabs wp_enqueue_script('siteseo-reverse-ajax', SITESEO_DIR_URL.'/assets/js/siteseo-tabs' . $prefix . '.js', ['jquery-ui-tabs'], SITESEO_VERSION); } // Migration if (!empty($_GET['page']) && ('siteseo' === $_GET['page'] || 'siteseo-import-export' === $_GET['page'])) { wp_enqueue_script('siteseo-migrate-ajax', SITESEO_DIR_URL.'/assets/js/siteseo-migrate' . $prefix . '.js', ['jquery'], SITESEO_VERSION, true); $siteseo_migrate = [ 'siteseo_aio_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_aio_migrate_nonce'), 'siteseo_aio_migration' => admin_url('admin-ajax.php'), ], 'siteseo_yoast_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_yoast_migrate_nonce'), 'siteseo_yoast_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seo_framework_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seo_framework_migrate_nonce'), 'siteseo_seo_framework_migration' => admin_url('admin-ajax.php'), ], 'siteseo_rk_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_rk_migrate_nonce'), 'siteseo_rk_migration' => admin_url('admin-ajax.php'), ], 'siteseo_squirrly_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_squirrly_migrate_nonce'), 'siteseo_squirrly_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seo_ultimate_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seo_ultimate_migrate_nonce'), 'siteseo_seo_ultimate_migration' => admin_url('admin-ajax.php'), ], 'siteseo_wp_meta_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_meta_seo_migrate_nonce'), 'siteseo_wp_meta_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_premium_seo_pack_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_premium_seo_pack_migrate_nonce'), 'siteseo_premium_seo_pack_migration' => admin_url('admin-ajax.php'), ], 'siteseo_wpseo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_wpseo_migrate_nonce'), 'siteseo_wpseo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_platinum_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_platinum_seo_migrate_nonce'), 'siteseo_platinum_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_smart_crawl_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_smart_crawl_migrate_nonce'), 'siteseo_smart_crawl_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seopressor_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seopressor_migrate_nonce'), 'siteseo_seopressor_migration' => admin_url('admin-ajax.php'), ], 'siteseo_slim_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_slim_seo_migrate_nonce'), 'siteseo_slim_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_metadata_csv' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_export_csv_metadata_nonce'), 'siteseo_metadata_export' => admin_url('admin-ajax.php'), ], 'i18n' => [ 'migration' => __('Migration completed!', 'siteseo'), 'video' => __('Regeneration completed!', 'siteseo'), 'export' => __('Export completed!', 'siteseo'), ], ]; wp_localize_script('siteseo-migrate-ajax', 'siteseoAjaxMigrate', $siteseo_migrate); // Force regenerate video xml sitemap $siteseo_video_regenerate = [ 'siteseo_nonce' => wp_create_nonce('siteseo_video_regenerate_nonce'), 'siteseo_video_regenerate' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-migrate-ajax', 'siteseoAjaxVdeoRegenerate', $siteseo_video_regenerate); } // Tabs if (!empty($_GET['page']) && ('siteseo-titles' === $_GET['page'] || 'siteseo-xml-sitemap' === $_GET['page'] || 'siteseo-social' === $_GET['page'] || 'siteseo-google-analytics' === $_GET['page'] || 'siteseo-advanced' === $_GET['page'] || 'siteseo-import-export' === $_GET['page'] || 'siteseo-instant-indexing' === $_GET['page'] || 'siteseo-insights-settings' === $_GET['page'])) { wp_enqueue_script('siteseo-admin-tabs-js', SITESEO_DIR_URL.'/assets/js/siteseo-tabs' . $prefix . '.js', ['jquery-ui-tabs'], SITESEO_VERSION); } if (!empty($_GET['page']) && ('siteseo-xml-sitemap' === $_GET['page'] || 'siteseo-pro-page' === $_GET['page'] || 'siteseo-network-option' === $_GET['page'])) { wp_enqueue_script('siteseo-xml-ajax', SITESEO_DIR_URL.'/assets/js/siteseo-sitemap-ajax' . $prefix . '.js', ['jquery'], SITESEO_VERSION, true); $siteseo_ajax_permalinks = [ 'siteseo_nonce' => wp_create_nonce('siteseo_flush_permalinks_nonce'), 'siteseo_ajax_permalinks' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-xml-ajax', 'siteseoAjaxResetPermalinks', $siteseo_ajax_permalinks); } if (!empty($_GET['page']) && 'siteseo-google-analytics' === $_GET['page']) { wp_enqueue_style('wp-color-picker'); wp_enqueue_script('wp-color-picker-alpha', SITESEO_DIR_URL.'/assets/js/wp-color-picker-alpha.min.js', ['wp-color-picker'], SITESEO_VERSION, true); $color_picker_strings = [ 'clear' => __('Clear', 'siteseo'), 'clearAriaLabel' => __('Clear color', 'siteseo'), 'defaultString' => __('Default', 'siteseo'), 'defaultAriaLabel' => __('Select default color', 'siteseo'), 'pick' => __('Select Color', 'siteseo'), 'defaultLabel' => __('Color value', 'siteseo'), ]; wp_localize_script('wp-color-picker-alpha', 'wpColorPickerL10n', $color_picker_strings); } if (!empty($_GET['page']) && 'siteseo-social' === $_GET['page']) { wp_enqueue_script('siteseo-media-uploader-js', SITESEO_DIR_URL.'/assets/js/siteseo-media-uploader' . $prefix . '.js', ['jquery'], SITESEO_VERSION, false); wp_enqueue_media(); } // Instant Indexing if (!empty($_GET['page']) && 'siteseo-instant-indexing' === $_GET['page']) { $siteseo_instant_indexing_post = [ 'siteseo_nonce' => wp_create_nonce('siteseo_instant_indexing_post_nonce'), 'siteseo_instant_indexing_post' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-admin-tabs-js', 'siteseoAjaxInstantIndexingPost', $siteseo_instant_indexing_post); $siteseo_instant_indexing_generate_api_key = [ 'siteseo_nonce' => wp_create_nonce('siteseo_instant_indexing_generate_api_key_nonce'), 'siteseo_instant_indexing_generate_api_key' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-admin-tabs-js', 'siteseoAjaxInstantIndexingApiKey', $siteseo_instant_indexing_generate_api_key); } // CSV Importer if (!empty($_GET['page']) && 'siteseo_csv_importer' === $_GET['page']) { wp_enqueue_style('siteseo-setup', SITESEO_DIR_URL.'/assets/css/setup' . $prefix . '.css', ['dashicons'], SITESEO_VERSION); } } // SiteSEO post meta page view handler add_action('admin_enqueue_scripts', 'siteseo_post_meta_page'); function siteseo_post_meta_page() { // Set Current screen $screen = get_current_screen(); $meta_id = 'admin_page_siteseo-metabox-wizard'; if( (!empty(get_the_ID()) && !current_user_can('edit_post', get_the_ID())) || trim($screen->id) != $meta_id ) { return; } if(!isset($_REQUEST['post'])){ return; } // Remove all the notice hooks remove_all_actions('admin_notices'); remove_all_actions('all_admin_notices'); } // SITESEO Admin bar function siteseo_admin_bar_css() { $prefix = ''; if (is_user_logged_in() && function_exists('siteseo_advanced_appearance_adminbar_option') && '1' != siteseo_advanced_appearance_adminbar_option()) { if (is_admin_bar_showing()) { wp_register_style('siteseo-admin-bar', SITESEO_DIR_URL.'assets/css/admin-bar' . $prefix . '.css', [], SITESEO_VERSION); wp_enqueue_style('siteseo-admin-bar'); } } } add_action('init', 'siteseo_admin_bar_css', 12, 1); // Admin Body Class add_filter('admin_body_class', 'siteseo_admin_body_class', 100); function siteseo_admin_body_class($classes) { if(! isset($_GET['page'])){ return $classes; } $_pages = [ 'siteseo_csv_importer' => true, 'siteseo' => true, 'siteseo-network-option' => true, 'siteseo-titles' => true, 'siteseo-xml-sitemap' => true, 'siteseo-social' => true, 'siteseo-google-analytics' => true, 'siteseo-advanced' => true, 'siteseo-import-export' => true, 'siteseo-pro-page' => true, 'siteseo-instant-indexing' => true, 'siteseo-bot-batch' => true, 'siteseo-license' => true ]; if(isset($_pages[siteseo_opt_get('page')])){ $classes .= ' siteseo-styles '; } if(isset($_pages[siteseo_opt_get('page')]) && 'siteseo_csv_importer' === $_GET['page']){ $classes .= ' siteseo-setup '; } return $classes; } /////////////////////////////////////////////////////////////////////////////////////////////////// //Shortcut settings page /////////////////////////////////////////////////////////////////////////////////////////////////// add_filter('plugin_action_links', 'siteseo_plugin_action_links', 10, 2); function siteseo_plugin_action_links($links, $file) { static $this_plugin; if(!$this_plugin){ $this_plugin = plugin_basename(SITESEO_FILE); } if($file != $this_plugin) { return $links; } $settings_link = '' . __('Settings', 'siteseo') . ''; $website_link = '' . __('Docs', 'siteseo') . ''; $wizard_link = '' . __('Configuration', 'siteseo') . ''; // if( ! is_plugin_active('siteseo-pro/siteseo-pro.php')) { // $pro_link = '' . __('Go Pro', 'siteseo') . ''; // array_unshift($links, $pro_link); // } if(is_plugin_active('siteseo-pro/siteseo-pro.php')) { if (array_key_exists('deactivate', $links) && in_array($file, [ 'siteseo/siteseo.php', ])); // TODO: we need this? //unset($links['deactivate']); } if(function_exists('siteseo_get_toggle_white_label_option') && '1' == siteseo_get_toggle_white_label_option() && function_exists('siteseo_white_label_help_links_option') && '1' === siteseo_white_label_help_links_option()) { array_unshift($links, $settings_link, $wizard_link); }else{ array_unshift($links, $settings_link, $wizard_link, $website_link); } return $links; } /** * Automatically flush permalinks after saving XML sitemaps global settings * @since 1.0.0 * * @param string $option * @param string $old_value * @param string $value * * @return void */ add_action('updated_option', function( $option, $old_value, $value ) { if ($option ==='siteseo_xml_sitemap_option_name') { flush_rewrite_rules(false); } }, 10, 3); PKZghu**1plugins/siteseo/main/admin/admin-pages/Titles.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT!'); } function siteseo_title_home_tab(){ $docs = siteseo_get_docs_links(); $options = get_option('siteseo_titles_option_name'); $titles_sep = isset($options['titles_sep']) ? $options['titles_sep'] : null; $home_site_title = isset($options['titles_home_site_title']) ? $options['titles_home_site_title'] : null; $home_site_title_alt = isset($options['titles_home_site_title_alt']) ? $options['titles_home_site_title_alt'] : null; $home_site_desc = isset($options['titles_home_site_desc']) ? $options['titles_home_site_desc'] : null; // List of html entities to allow when escaping siteseo_render_dyn_variables $tag_dropdown_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; echo '

    '.esc_html__('Home', 'siteseo').'

    '.esc_html__('Title and meta description are used by search engines to generate the snippet of your site in search results page.', 'siteseo').'

    '.esc_html__('Customize your title & meta description for homepage.', 'siteseo').'

    '.esc_html__('Wrong meta title / description in SERP?', 'siteseo').'

    '.esc_html__('Use this separator with %%sep%% in your title and meta description.', 'siteseo').'

    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.sprintf(wp_kses_post(__('The alternate name of the website (for example, if there\'s a commonly recognized acronym or shorter name for your site), if applicable. Make sure the name meets the content guidelines.','siteseo')), esc_url($docs['titles']['alt_title'])).'

    '.wp_kses(siteseo_render_dyn_variables('tag-description'), $tag_dropdown_kses).'
    '; if(get_option('page_for_posts')){ echo '

    '.esc_html__('Looking to edit your blog page?', 'siteseo').'

    '; } echo '
    '; } function siteseo_title_post_tab(){ $options = get_option('siteseo_titles_option_name'); $anchor_html = ''; $html = ''; $postTypes = siteseo_get_service('WordPressData')->getPostTypes(); $active_tab = true; $docs = siteseo_get_docs_links(); // List of html entities to allow when escaping siteseo_render_dyn_variables $tag_dropdown_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; foreach($postTypes as $anchor_val){ if(empty(!$anchor_val->labels->name)){ $active_class = $active_tab ? 'class="siteseo-active-sub-tabs"' : ''; $anchor_html .='labels->name)))).'">'.esc_html(ucfirst(str_replace("_"," ",$anchor_val->labels->name))).''; $active_tab = false; } } if(!empty($anchor_html)){ $html .= '
    '. $anchor_html .'
    '; } echo wp_kses_post($html); echo '

    '.esc_html__('Post Types', 'siteseo').'

    '.esc_html__('Customize your titles & metas for Single Custom Post Types.', 'siteseo').'

    '; echo wp_kses_post(siteseo_get_empty_templates('cpt', 'title')); echo wp_kses_post(siteseo_get_empty_templates('cpt', 'description')); $postTypes = siteseo_get_service('WordPressData')->getPostTypes(); foreach($postTypes as $siteseo_cpt_key => $siteseo_cpt_value){ $single_titles = isset($options['titles_single_titles'][$siteseo_cpt_key]['enable']) ? $options['titles_single_titles'][$siteseo_cpt_key]['enable'] : null; $single_titles_title = isset($options['titles_single_titles'][$siteseo_cpt_key]['title']) ? $options['titles_single_titles'][$siteseo_cpt_key]['title'] : null; $single_titles_description = isset($options['titles_single_titles'][$siteseo_cpt_key]['description']) ? $options['titles_single_titles'][$siteseo_cpt_key]['description'] : null; $single_titles_noindex = isset($options['titles_single_titles'][$siteseo_cpt_key]['noindex']); $single_titles_nofollow = isset($options['titles_single_titles'][$siteseo_cpt_key]['nofollow']); $single_titles_date = isset($options['titles_single_titles'][$siteseo_cpt_key]['date']); $thumb_gcs = isset($options['titles_single_titles'][$siteseo_cpt_key]['thumb_gcs']); echo '

    labels->name)))).'">'. esc_html($siteseo_cpt_value->labels->name).' ['.esc_html($siteseo_cpt_value->name).']
    '; if('1' == $single_titles){ echo ' '.esc_html__('Click to display any SEO metaboxes / columns for this post type', 'siteseo').' '.esc_html__('Click to hide any SEO metaboxes / columns for this post type', 'siteseo').' '; }else{ echo ' '.esc_html__('Click to hide any SEO metaboxes / columns for this post type', 'siteseo').' '.esc_html__('Click to display any SEO metaboxes / columns for this post type', 'siteseo').' '; } $toggle_txt_on = '' . __('Click to display any SEO metaboxes / columns for this post type', 'siteseo'); $toggle_txt_off = '' . __('Click to hide any SEO metaboxes / columns for this post type', 'siteseo'); echo '

    '.esc_html__('Title template', 'siteseo').'

    '.sprintf( '', esc_html($single_titles_title) ).'
    '. wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'

    '.sprintf('', esc_html($single_titles_description)).'
    '.wp_kses(siteseo_render_dyn_variables('tag-description'), $tag_dropdown_kses).'
    '; $cpt_in_sitemap = siteseo_get_service('SitemapOption')->getPostTypesList(); if ('1' == $single_titles_noindex && isset($cpt_in_sitemap[$siteseo_cpt_key]) && '1' === $cpt_in_sitemap[$siteseo_cpt_key]['include']) { echo '

    '.sprintf(wp_kses_post(__('This custom post type is NOT excluded from your XML sitemaps despite the fact that it is set to NOINDEX. We recommend that you check this out here.', 'siteseo')), esc_url(admin_url('admin.php?page=siteseo-xml-sitemap'))).'

    '; } echo '

    '.esc_html__('Unchecking this doesn\'t prevent Google to display post date in search results.', 'siteseo').'

    '.sprintf(wp_kses_post(__('This option does not apply to traditional search results. Learn more', 'siteseo')), esc_url($docs['titles']['thumbnail'])).'

    '; if(empty($options['titles_single_titles'][$siteseo_cpt_key]['title'])){ $t[] = $siteseo_cpt_key; } } if(is_plugin_active('buddypress/bp-loader.php') || is_plugin_active('buddyboss-platform/bp-loader.php')){ $groups_title = isset($options['titles_bp_groups_title']) ? $options['titles_bp_groups_title'] : null; $groups_desc = isset($options['titles_bp_groups_desc']) ? $options['titles_bp_groups_desc'] : null; $no_index = isset($options['titles_bp_groups_noindex']); echo '

    '.esc_html__('BuddyPress groups', 'siteseo').'

    '.esc_html__('Title template', 'siteseo').'

    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'

    '; } echo '
    '; } function siteseo_title_archive_tab(){ $options = get_option('siteseo_titles_option_name'); $anchor_html = ''; $html = ''; $custom_field = array( 'author-archives' => 'Author archives', 'date-archives' => 'Date archives', 'search-archives' => 'Search archives', '404-archives' => '404 archives' ); // List of html entities to allow when escaping siteseo_render_dyn_variables $tag_dropdown_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; $author_title = isset($options['titles_archives_author_title']) ? $options['titles_archives_author_title'] : null; $author_desc = isset($options['titles_archives_author_desc']) ? $options['titles_archives_author_desc'] : null; $author_noindex = isset($options['titles_archives_author_noindex']); $author_disabled = isset($options['titles_archives_author_disable']); $date_title = isset($options['titles_archives_date_title']) ? $options['titles_archives_date_title'] : null; $date_desc = isset($options['titles_archives_date_desc']) ? $options['titles_archives_date_desc'] : null; $date_noindex = isset($options['titles_archives_date_noindex']); $date_disabled = isset($options['titles_archives_date_disable']); $search_title = isset($options['titles_archives_search_title']) ? $options['titles_archives_search_title'] : null; $search_desc = isset($options['titles_archives_search_desc']) ? $options['titles_archives_search_desc'] : null; $search_title_noindex = isset($options['titles_archives_search_title_noindex']); $title_404 = isset($options['titles_archives_404_title']) ? $options['titles_archives_404_title'] : null; $desc_404 = isset($options['titles_archives_404_desc']) ? $options['titles_archives_404_desc'] : null; $postTypes = siteseo_get_service('WordPressData')->getPostTypes(); $active_tab = true; //For Archive post type from wordpress foreach($postTypes as $anchor_key => $anchor_val){ if(!in_array($anchor_key, ['post', 'page'])){ if(empty(!$anchor_val->labels->name)){ $active_class = $active_tab ? 'class="siteseo-active-sub-tabs"' : ''; $anchor_html .='labels->name)))).'">'.esc_html(ucfirst(str_replace("_"," ",$anchor_val->labels->name))).''; $active_tab = false; } } } //For Custom Archive post type foreach($custom_field as $anchor_key => $anchor_val){ if(empty(!$anchor_val)){ $anchor_html .=''.esc_html(ucfirst(str_replace("_"," ",$anchor_val))).''; } } if(!empty($anchor_html)){ $html .= '
    '. $anchor_html.'
    '; } echo wp_kses_post($html); echo '

    '.esc_html__('Archives', 'siteseo').'

    '.esc_html__('Customize your metas for all archives.', 'siteseo').'

    '; foreach($postTypes as $siteseo_cpt_key => $siteseo_cpt_value){ // Options $title = isset($options['titles_archive_titles'][$siteseo_cpt_key]['title']) ? $options['titles_archive_titles'][$siteseo_cpt_key]['title'] : null; $description = isset($options['titles_archive_titles'][$siteseo_cpt_key]['description']) ? $options['titles_archive_titles'][$siteseo_cpt_key]['description'] : null; $noindex = isset($options['titles_archive_titles'][$siteseo_cpt_key]['noindex']); $nofollow = isset($options['titles_archive_titles'][$siteseo_cpt_key]['nofollow']); if(!in_array($siteseo_cpt_key, ['post', 'page'])){ echo '

    labels->name)))).'">'.esc_html($siteseo_cpt_value->labels->name).' ['.esc_html($siteseo_cpt_value->name).']'; if(get_post_type_archive_link($siteseo_cpt_value->name)){ echo ' '.esc_html__('See archive', 'siteseo').' '; } echo'

    '.esc_html__('Title template', 'siteseo').'

    '.sprintf('',esc_html($title)).'
    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'

    '.sprintf('', esc_html($description)).'
    '.wp_kses(siteseo_render_dyn_variables('tag-description'), $tag_dropdown_kses).'
    '; } } echo '

    '.esc_html__('Author archives', 'siteseo').'

    '.esc_html__('Title template', 'siteseo').'

    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'


    '.esc_html__('Date archives', 'siteseo').'

    '.esc_html__('Title template', 'siteseo').'

    '. wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'


    '.esc_html__('Search archives', 'siteseo').'

    '.esc_html__('Title template', 'siteseo').'

    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'


    '.esc_html__('404 archives', 'siteseo').'

    '.esc_html__('Title template', 'siteseo').'

    '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '; } function siteseo_title_taxonomies_tab(){ $options = get_option('siteseo_titles_option_name'); $anchor_html = ''; $html = ''; $postTypes = siteseo_get_service('WordPressData')->getTaxonomies(); $active_tab = true; // List of html entities to allow when escaping siteseo_render_dyn_variables $tag_dropdown_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; foreach ($postTypes as $anchor_val) { if(empty(!$anchor_val->labels->name)){ $active_class = $active_tab ? 'class="siteseo-active-sub-tabs"' : ''; $anchor_html .='labels->name)))).'">'.esc_html(ucfirst(str_replace("_"," ",$anchor_val->labels->name))).''; $active_tab = false; } } if(!empty($anchor_html)){ $html .= '
    '. $anchor_html .'
    '; } echo wp_kses_post($html). '

    '.esc_html__('Taxonomies', 'siteseo').'

    '.esc_html__('Customize your metas for all taxonomies archives.', 'siteseo').'

    '; echo wp_kses_post(siteseo_get_empty_templates('tax', 'title')); echo wp_kses_post(siteseo_get_empty_templates('tax', 'description')); $taxonomies = siteseo_get_service('WordPressData')->getTaxonomies(); foreach($taxonomies as $siteseo_tax_key => $siteseo_tax_value){ $enabled = isset($options['titles_tax_titles'][$siteseo_tax_key]['enable']) ? $options['titles_tax_titles'][$siteseo_tax_key]['enable'] : null; $title = isset($options['titles_tax_titles'][$siteseo_tax_key]['title']) ? $options['titles_tax_titles'][$siteseo_tax_key]['title'] : null; $description = isset($options['titles_tax_titles'][$siteseo_tax_key]['description']) ? $options['titles_tax_titles'][$siteseo_tax_key]['description'] : null; $noindex = isset($options['titles_tax_titles'][$siteseo_tax_key]['noindex']); $nofollow = isset($options['titles_tax_titles'][$siteseo_tax_key]['nofollow']); echo '

    labels->name)))).'"> '.esc_html($siteseo_tax_value->labels->name).' ['.esc_html($siteseo_tax_value->name).']

    '; if('1' == $enabled){ echo ' '.esc_html__('Click to display any SEO metaboxes for this taxonomy', 'siteseo').' '.esc_html__('Click to hide any SEO metaboxes for this taxonomy', 'siteseo').' '; }else{ echo ' '.esc_html__('Click to hide any SEO metaboxes for this taxonomy', 'siteseo').' '.esc_html__('Click to display any SEO metaboxes for this taxonomy', 'siteseo').' '; } $toggle_txt_on = '' . __('Click to display any SEO metaboxes for this taxonomy', 'siteseo'); $toggle_txt_off = '' . __('Click to hide any SEO metaboxes for this taxonomy', 'siteseo'); echo '

    '.esc_html__('Title template', 'siteseo').'

    '.sprintf('', esc_html($title)); if('category' == $siteseo_tax_key){ echo '
    '.esc_html__('Category Title', 'siteseo').' '; } elseif ('post_tag' == $siteseo_tax_key) { echo '
    '; } else { echo '
    '; } echo' '.wp_kses(siteseo_render_dyn_variables('tag-title'), $tag_dropdown_kses).'

    '.esc_html__('Meta description template', 'siteseo').'

    '.sprintf('', esc_html($description)); if('category' == $siteseo_tax_key){ echo'
    '; } elseif('post_tag' == $siteseo_tax_key){ echo'
    '; } else { echo '
    '; } echo wp_kses(siteseo_render_dyn_variables('tag-description'), $tag_dropdown_kses).'
    '; $tax_in_sitemap = siteseo_get_service('SitemapOption')->getTaxonomiesList(); if('1' == $noindex && isset($tax_in_sitemap[$siteseo_tax_key]) && '1' === $tax_in_sitemap[$siteseo_tax_key]['include']){ echo '

    '.wp_kses_post(__('This custom taxonomy is NOT excluded from your XML sitemaps despite the fact that it is set to NOINDEX. We recommend that you check this out.', 'siteseo')).'

    '; } echo '
    '; } echo '
    '; } function siteseo_advanced_tab(){ $options = get_option('siteseo_titles_option_name'); $noindex = isset($options['titles_noindex']); $nofollow = isset($options['titles_nofollow']); $noimageindex = isset($options['titles_noimageindex']); $noarchive = isset($options['titles_noarchive']); $nosnippet = isset($options['titles_nosnippet']); $nositelinkssearchbox = isset($options['titles_nositelinkssearchbox']); $paged_rel = isset($options['titles_paged_rel']); $paged_noindex = isset($options['titles_paged_noindex']); $attachments_noindex = isset($options['titles_attachments_noindex']); echo '

    '.esc_html__('Advanced', 'siteseo').'

    '.esc_html__('Customize your metas for all pages.', 'siteseo').'

    '.esc_html__('Do not display all pages of the site in Google search results and do not display "Cached" links in search results.', 'siteseo').'

    '.sprintf(wp_kses_post(__('Check also the "Search engine visibility" setting from the WordPress Reading page.', 'siteseo')), esc_url(admin_url('options-reading.php'))).'

    '.esc_html__('Do not follow links for all pages.', 'siteseo').'

    '.esc_html__('Do not index images from the entire site.', 'siteseo').'

    '.esc_html__('Do not display a "Cached" link in the Google search results.', 'siteseo').'

    '.esc_html__('Do not display a description in the Google search results for all pages.', 'siteseo').'

    '.esc_html__('Prevents Google to display a sitelinks searchbox in search results. Enable this option will remove the "Website" schema from your source code.', 'siteseo').'

    '.esc_html__('eg: https://example.com/category/my-category/page/2/', 'siteseo').'

    '.esc_html__('eg: https://example.com/my-media-attachment-page', 'siteseo').'

    '; } function siteseo_title_page(){ if(!empty($_POST['submit'])){ siteseo_save_title_settings(); } $docs = siteseo_get_docs_links(); $current_tab = ''; if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } echo '
    '; wp_nonce_field('siteseo_titles_nonce'); echo '
    ' .wp_kses(siteseo_feature_title('titles'), ['h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]); $plugin_settings_tabs = [ 'tab_siteseo_titles_home' => __('Home', 'siteseo'), 'tab_siteseo_titles_single' => __('Post Types', 'siteseo'), 'tab_siteseo_titles_archives' => __('Archives', 'siteseo'), 'tab_siteseo_titles_tax' => __('Taxonomies', 'siteseo'), 'tab_siteseo_titles_advanced' => __('Advanced', 'siteseo'), ]; echo '
    '; siteseo_title_home_tab(); echo '
    '; siteseo_title_post_tab(); echo '
    '; siteseo_title_archive_tab(); echo'
    '; siteseo_title_taxonomies_tab(); echo '
    '; siteseo_advanced_tab(); echo '
    '; echo wp_kses(siteseo_submit_button(esc_html__('Save changes', 'siteseo'), false), [ 'input' => [ 'type' => true, 'name' => true, 'value' => true, 'id' => true, 'class' => true ], 'p' => [ 'class' => true, ] ]); echo '
    '; } function siteseo_save_title_settings(){ check_admin_referer('siteseo_titles_nonce'); if(!current_user_can('manage_options') || !is_admin()){ return; } $title_options = []; if(empty($_POST['siteseo_titles_option_name'])){ return; } // Home tab if(isset($_POST['siteseo_titles_option_name']['titles_sep'])){ $title_options['titles_sep'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_sep'])); } if(isset($_POST['siteseo_titles_option_name']['titles_home_site_title'])){ $title_options['titles_home_site_title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_home_site_title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_home_site_title_alt'])){ $title_options['titles_home_site_title_alt'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_home_site_title_alt'])); } if(isset($_POST['siteseo_titles_option_name']['titles_home_site_desc'])){ $title_options['titles_home_site_desc'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_home_site_desc'])); } // Archives tab if(isset($_POST['siteseo_titles_option_name']['titles_archives_author_title'])){ $title_options['titles_archives_author_title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_author_title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_archive_titles'])){ $title_options['titles_archive_titles'] = map_deep($_POST['siteseo_titles_option_name']['titles_archive_titles'], 'sanitize_text_field'); } if(isset($_POST['siteseo_titles_option_name']['titles_archives_author_desc'])){ $title_options['titles_archives_author_desc'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_author_desc'])); } if(!empty($_POST['siteseo_titles_option_name']['titles_archives_author_noindex'])){ $title_options['titles_archives_author_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_archives_author_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_author_noindex'])) : ''; } if(!empty($_POST['siteseo_titles_option_name']['titles_archives_author_disable'])){ $title_options['titles_archives_author_disable'] = !empty($_POST['siteseo_titles_option_name']['titles_archives_author_disable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_author_disable'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_archives_date_title'])){ $title_options['titles_archives_date_title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_date_title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_archives_date_desc'])){ $title_options['titles_archives_date_desc'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_date_desc'])); } if(isset($_POST['siteseo_titles_option_name']['titles_archives_date_noindex'])){ $title_options['titles_archives_date_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_archives_date_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_date_noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_archives_date_disable'])){ $title_options['titles_archives_date_disable'] = !empty($_POST['siteseo_titles_option_name']['titles_archives_date_disable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_date_disable'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_archives_search_title'])){ $title_options['titles_archives_search_title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_search_title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_archives_search_desc'])){ $title_options['titles_archives_search_desc'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_search_desc'])); } $title_options['titles_archives_search_title_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_archives_search_title_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_search_title_noindex'])) : ''; if(isset($_POST['siteseo_titles_option_name']['titles_archives_404_title'])){ $title_options['titles_archives_404_title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_404_title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_archives_404_desc'])){ $title_options['titles_archives_404_desc'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archives_404_desc'])); } // Advanced page if(isset($_POST['siteseo_titles_option_name']['titles_noindex'])){ $title_options['titles_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_nofollow'])){ $title_options['titles_nofollow'] = !empty($_POST['siteseo_titles_option_name']['titles_nofollow']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_nofollow'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_noimageindex'])){ $title_options['titles_noimageindex'] = !empty($_POST['siteseo_titles_option_name']['titles_noimageindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_noimageindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_noarchive'])){ $title_options['titles_noarchive'] = !empty($_POST['siteseo_titles_option_name']['titles_noarchive']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_noarchive'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_nosnippet'])){ $title_options['titles_nosnippet'] = !empty($_POST['siteseo_titles_option_name']['titles_nosnippet']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_nosnippet'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_nositelinkssearchbox'])){ $title_options['titles_nositelinkssearchbox'] = !empty($_POST['siteseo_titles_option_name']['titles_nositelinkssearchbox']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_nositelinkssearchbox'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_paged_rel'])){ $title_options['titles_paged_rel'] = !empty($_POST['siteseo_titles_option_name']['titles_paged_rel']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_paged_rel'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_paged_noindex'])){ $title_options['titles_paged_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_paged_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_paged_noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_attachments_noindex'])){ $title_options['titles_attachments_noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_attachments_noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_attachments_noindex'])) : ''; } // Taxonomies tab if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles'])){ $title_options['titles_tax_titles'] = map_deep(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']), 'sanitize_text_field'); } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['category'])){ $title_options['titles_tax_titles']['category']['enable'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['category']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['category'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['title'])){ $title_options['titles_tax_titles']['category']['title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['description'])){ $title_options['titles_tax_titles']['category']['description'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['description'])); } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['noindex'])){ $title_options['titles_tax_titles']['category']['noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['nofollow'])){ $title_options['titles_tax_titles']['category']['nofollow'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['nofollow']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['nofollow'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['post_tag'])){ $title_options['titles_tax_titles']['post_tag']['enable'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['post_tag']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['category']['post_tag'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['title'])){ $title_options['titles_tax_titles']['post_tag']['title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['description'])){ $title_options['titles_tax_titles']['post_tag']['description'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['description'])); } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['noindex'])){ $title_options['titles_tax_titles']['post_tag']['noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['nofollow'])){ $title_options['titles_tax_titles']['post_tag']['nofollow'] = !empty($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['nofollow']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles']['post_tag']['nofollow'])) : ''; } // Post type tab if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['enable'])){ $title_options['titles_single_titles']['post']['enable'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['enable'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['enable'])){ $title_options['titles_single_titles']['page']['enable'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['enable'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['title'])){ $title_options['titles_single_titles']['post']['title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['description'])){ $title_options['titles_single_titles']['post']['description'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['description'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['title'])){ $title_options['titles_single_titles']['page']['title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['description'])){ $title_options['titles_single_titles']['page']['description'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['page']['description'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['noindex'])){ $title_options['titles_single_titles']['post']['noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['nofollow'])){ $title_options['titles_single_titles']['post']['nofollow'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['nofollow']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['nofollow'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['date'])){ $title_options['titles_single_titles']['post']['date'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['date']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['date'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['thumb_gcs'])){ $title_options['titles_single_titles']['post']['thumb_gcs'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['thumb_gcs']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['post']['thumb_gcs'])) : ''; } // Page type if(isset($_POST['siteseo_titles_option_name']['titles_single_titles'])){ $title_options['titles_single_titles'] = map_deep(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']), 'sanitize_text_field'); } // Products settings if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['title'])){ $title_options['titles_single_titles']['product']['title'] = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['title'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['description'])){ $title_options['titles_single_titles']['product']['description'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['description'])); } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['noindex'])){ $title_options['titles_single_titles']['product']['noindex'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['noindex']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['noindex'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['nofollow'])){ $title_options['titles_single_titles']['product']['nofollow'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['nofollow']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['nofollow'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['date'])){ $title_options['titles_single_titles']['product']['date'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['date']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['date'])) : ''; } if(isset($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['thumb_gcs'])){ $title_options['titles_single_titles']['product']['thumb_gcs'] = !empty($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['thumb_gcs']) ? sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles']['product']['thumb_gcs'])) : ''; } update_option('siteseo_titles_option_name', $title_options); } siteseo_title_page(); PKZDgvgv1plugins/siteseo/main/admin/admin-pages/Social.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT!'); } function siteseo_social_knowledge_graph_tab(){ if(!empty($_POST['submit'])){ siteseo_save_social_settings(); } $options = get_option('siteseo_social_option_name'); //siteseo_social_option_name $social_knowledge_type = isset($options['social_knowledge_type']) ? $options['social_knowledge_type'] : null; $social_knowledge_name = isset($options['social_knowledge_name']) ? esc_html($options['social_knowledge_name']) : null; $social_knowledge_img = isset($options['social_knowledge_img']) ? esc_attr($options['social_knowledge_img']) : null; $social_knowledge_phone = isset($options['social_knowledge_phone']) ? esc_html($options['social_knowledge_phone']) : null; $social_knowledge_contact_type = isset($options['social_knowledge_contact_type']) ? $options['social_knowledge_contact_type'] : null; $social_knowledge_contact_option = isset($options['social_knowledge_contact_option']) ? $options['social_knowledge_contact_option'] : null; echo '

    '.esc_html__('Knowledge Graph', 'siteseo').'

    '.esc_html__('Configure Google Knowledge Graph.', 'siteseo').'

    '.esc_html__('Learn more on Google official website.', 'siteseo').'

    '.esc_html__('Person or organization', 'siteseo').'
    '.esc_html__('Your name/organization', 'siteseo').'
    '.esc_html__('Your photo/organization logo', 'siteseo').'

    '.esc_html__('JPG, PNG, WebP and GIF allowed.', 'siteseo').'

    '.esc_html__('Organization\'s phone number (only for Organizations)', 'siteseo').'
    '.esc_html__('Contact type (only for Organizations)', 'siteseo').'
    '.esc_html__('Contact option (only for Organizations)', 'siteseo').'
    '; } function siteseo_social_accounts_tab(){ if(!empty($_POST['submit'])){ siteseo_save_social_settings(); } $options = get_option('siteseo_social_option_name'); echo '

    '.esc_html__('Your social accounts', 'siteseo').'

    '.esc_html__('Link your site with your social accounts.', 'siteseo').'

    '.esc_html__('Use markup on your website to add your social profile information to a Google Knowledge panel.', 'siteseo').'

    '.esc_html__('Knowledge panels prominently display your social profile information in some Google Search results.', 'siteseo').'

    '.esc_html__('Filling in these fields does not guarantee the display of this data in search results.', 'siteseo').'

    '; } function siteseo_social_facebook_graph_tab() { if(!empty($_POST['submit'])){ siteseo_save_social_settings(); } $docs = siteseo_get_docs_links(); $options = get_option('siteseo_social_option_name'); $options_set_attachment_id = isset($options['social_facebook_img_attachment_id']) ? $options['social_facebook_img_attachment_id'] : ''; $options_set_width = isset($options['social_facebook_img_width']) ? $options['social_facebook_img_width'] : ''; $options_set_height = isset($options['social_facebook_img_height']) ? $options['social_facebook_img_height'] : ''; $social_facebook_og_checked = isset($options['social_facebook_og']) ? $options['social_facebook_og'] : false; $social_facebook_img = isset($options['social_facebook_img']) ? esc_attr($options['social_facebook_img']) : null; $social_facebook_img_default_checked = isset($options['social_facebook_img_default']) ? $options['social_facebook_img_default'] : false; $social_facebook_link_ownership_id = isset($options['social_facebook_link_ownership_id']) ? $options['social_facebook_link_ownership_id'] : null; $social_facebook_admin_id = isset($options['social_facebook_admin_id']) ? $options['social_facebook_admin_id'] : null; echo '

    '.esc_html__('Facebook (Open Graph)', 'siteseo').'

    '.esc_html__('Manage Open Graph data. These metatags will be used by Facebook, Pinterest, LinkedIn, WhatsApp... when a user shares a link on its own social network. Increase your click-through rate by providing relevant information such as an attractive image.', 'siteseo').' '.wp_kses_post(siteseo_tooltip_link($docs['social']['og'], esc_html__('Manage Facebook Open Graph and Twitter Cards metas - new window', 'siteseo'))).'

    '.wp_kses_post(__('We generate the og:image meta in this order:', 'siteseo')).'

    1. '.esc_html__('Custom OG Image from SEO metabox', 'siteseo').'
    2. '.esc_html__('Post thumbnail / Product category thumbnail (Featured image)', 'siteseo').'
    3. '.esc_html__('First image of your post content', 'siteseo').'
    4. '.esc_html__('Global OG Image set in SEO > Social > Open Graph', 'siteseo').'
    5. '.esc_html__('Site icon from the Customizer', 'siteseo').'
    '.esc_html__('Enable OG data', 'siteseo').'
    '.esc_html__('Default Image', 'siteseo').'

    '.esc_html__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'siteseo').'

    '.esc_html__('If no default image is set, we‘ll use your site icon defined from the Customizer.', 'siteseo').'

    '.esc_html__('Override Default Image', 'siteseo').' '; if ('' == $social_facebook_img) { echo '

    '.wp_kses_post(__('Please define a default OG Image from the field above', 'siteseo')).'

    '; } echo '
    '.esc_html__('Link Ownership ID', 'siteseo').' '.sprintf('', esc_attr($social_facebook_link_ownership_id)).'

    '.esc_html__('One or more Facebook Page IDs that are associated with a URL in order to enable link editing and instant article publishing.', 'siteseo').'

    <meta property="fb:pages" content="page ID"/>

    '.esc_html__('How do I find my Facebook Page ID?', 'siteseo').'

    '.esc_html__('Admin ID', 'siteseo').' '.sprintf('', esc_attr($social_facebook_admin_id)).'

    '.esc_html__('The ID (or comma-separated list for properties that can accept multiple IDs) of an app, person using the app, or Page Graph API object.', 'siteseo').'

    <meta property="fb:admins" content="admins ID"/>
    '; } function siteseo_social_twitter_card_tab(){ if(!empty($_POST['submit'])){ siteseo_save_social_settings(); } $docs = siteseo_get_docs_links(); $options = get_option('siteseo_social_option_name'); $social_twitter_card = isset($options['social_twitter_card']); $social_twitter_card_og = isset($options['social_twitter_card_og']); $social_twitter_card_img = isset($options['social_twitter_card_img']) ? esc_attr($options['social_twitter_card_img']) : null; $social_twitter_card_img_size = isset($options['social_twitter_card_img_size']) ? $options['social_twitter_card_img_size'] : 'default'; echo '

    '.esc_html__('Twitter (Twitter card)', 'siteseo').'

    '.esc_html__('Manage your Twitter card.', 'siteseo').' '.wp_kses_post(siteseo_tooltip_link($docs['social']['og'], esc_html__('Manage Facebook Open Graph and Twitter Cards metas - new window', 'siteseo'))).'

    '.wp_kses_post(__('We generate the twitter:image meta in this order:', 'siteseo')).'

    1. '.esc_html__('Custom Twitter image from SEO metabox', 'siteseo').'
    2. '.esc_html__('Post thumbnail / Product category thumbnail (Featured image)', 'siteseo').'
    3. '.esc_html__('First image of your post content', 'siteseo').'
    4. '.esc_html__('Global Twitter:image set in SEO > Social > Twitter Card', 'siteseo').'
    '.esc_html__('Twitter (Twitter card)', 'siteseo').'

    '.esc_html__('Manage your Twitter card.', 'siteseo').' '.wp_kses_post(siteseo_tooltip_link($docs['social']['og'], esc_html__('Manage Facebook Open Graph and Twitter Cards metas - new window', 'siteseo'))).'

    '.esc_html__('Enable Twitter card', 'siteseo').'
    '.esc_html__('Use OG if no Twitter Cards', 'siteseo').'
    '.esc_html__('Default Twitter Image', 'siteseo').'

    '.esc_html__('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'siteseo').'

    '.esc_html__('Twitter Card Image Size', 'siteseo').'

    '.wp_kses_post(__('The Summary Card with Large Image features a large, full-width prominent image alongside a tweet. It is designed to give the reader a rich photo experience, and clicking on the image brings the user to your website.', 'siteseo')).'

    '; } function siteseo_social_page_html(){ $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_social_knowledge' => esc_html__('Knowledge Graph', 'siteseo'), 'tab_siteseo_social_accounts' => esc_html__('Your social accounts', 'siteseo'), 'tab_siteseo_social_facebook' => esc_html__('Facebook (Open Graph)', 'siteseo'), 'tab_siteseo_social_twitter' => esc_html__('Twitter (Twitter card)', 'siteseo'), ]; $feature_title_kses = ['h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]; $save_btn_kses = [ 'input' => [ 'type' => true, 'name' => true, 'value' => true, 'id' => true, 'class' => true ], 'p' => [ 'class' => true, ] ]; if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } echo '
    '; wp_nonce_field('siteseo_social_nonce'); echo '
    '.wp_kses(siteseo_feature_title('social'), $feature_title_kses). '
    '; siteseo_social_knowledge_graph_tab(); echo'
    '; siteseo_social_accounts_tab(); echo '
    '; siteseo_social_facebook_graph_tab(); echo'
    '; siteseo_social_twitter_card_tab(); echo'
    '. wp_kses(siteseo_submit_button(esc_html__('Save changes', 'siteseo'), false), $save_btn_kses).'
    '; } function siteseo_save_social_settings(){ check_admin_referer('siteseo_social_nonce'); if(!current_user_can('manage_options') || !is_admin()){ return; } $social_options = []; if(empty($_POST['siteseo_social_option_name'])){ return; } if(isset($_POST['siteseo_social_option_name']['social_knowledge_type'])){ $social_options['social_knowledge_type'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_type'])); } if(isset($_POST['siteseo_social_option_name']['social_knowledge_name'])){ $social_options['social_knowledge_name'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_name'])); } if(isset($_POST['siteseo_social_option_name']['social_knowledge_img'])){ $social_options['social_knowledge_img'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_img'])); } if(isset($_POST['siteseo_social_option_name']['social_knowledge_phone'])){ $social_options['social_knowledge_phone'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_phone'])); } if(isset($_POST['siteseo_social_option_name']['social_knowledge_contact_type'])){ $social_options['social_knowledge_contact_type'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_contact_type'])); } if(isset($_POST['siteseo_social_option_name']['social_knowledge_contact_option'])){ $social_options['social_knowledge_contact_option'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_knowledge_contact_option'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_facebook'])){ $social_options['social_accounts_facebook'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_facebook'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_twitter'])){ $social_options['social_accounts_twitter'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_twitter'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_pinterest'])){ $social_options['social_accounts_pinterest'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_pinterest'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_instagram'])){ $social_options['social_accounts_instagram'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_instagram'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_youtube'])){ $social_options['social_accounts_youtube'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_youtube'])); } if(isset($_POST['siteseo_social_option_name']['social_accounts_linkedin'])){ $social_options['social_accounts_linkedin'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_accounts_linkedin'])); } if(isset($_POST['siteseo_social_option_name']['social_facebook_og'])){ $social_options['social_facebook_og'] = !empty($_POST['siteseo_social_option_name']['social_facebook_og']) ? sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_facebook_og'])) : ''; } if(isset($_POST['siteseo_social_option_name']['social_facebook_img'])){ $social_options['social_facebook_img'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_facebook_img'])); } if(!empty($_POST['siteseo_social_option_name']['social_facebook_img_default'])){ $social_options['social_facebook_img_default'] = !empty($_POST['siteseo_social_option_name']['social_facebook_img_default']) ? sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_facebook_img_default'])): ''; } if(isset($_POST['siteseo_social_option_name']['social_facebook_link_ownership_id'])){ $social_options['social_facebook_link_ownership_id'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_facebook_link_ownership_id'])); } if(isset($_POST['siteseo_social_option_name']['social_facebook_admin_id'])){ $social_options['social_facebook_admin_id'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_facebook_admin_id'])); } if(isset($_POST['siteseo_social_option_name']['social_twitter_card'])){ $social_options['social_twitter_card'] = !empty($_POST['siteseo_social_option_name']['social_twitter_card']) ? sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_twitter_card'])) : ''; } if(isset($_POST['siteseo_social_option_name']['social_twitter_card_og'])){ $social_options['social_twitter_card_og'] = !empty($_POST['siteseo_social_option_name']['social_twitter_card_og']) ? sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_twitter_card_og'])) : ''; } if(isset($_POST['siteseo_social_option_name']['social_twitter_card_img'])){ $social_options['social_twitter_card_img'] = sanitize_url(wp_unslash($_POST['siteseo_social_option_name']['social_twitter_card_img'])); } if(isset($_POST['siteseo_social_option_name']['social_twitter_card_img_size'])){ $social_options['social_twitter_card_img_size'] = sanitize_text_field(wp_unslash($_POST['siteseo_social_option_name']['social_twitter_card_img_size'])); } update_option('siteseo_social_option_name', $social_options); } siteseo_social_page_html();PKZ!|mMCMC/plugins/siteseo/main/admin/admin-pages/Main.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); // Set class property //$this->options = get_option('siteseo_option_name'); $current_tab =''; if (function_exists('siteseo_admin_header')) { siteseo_admin_header(); } function siteseo_get_hidden_notices_get_started_option(){ $options = get_option('siteseo_notices'); if(!empty($options) && isset($options['notice-get-started'])) { return $options['notice-get-started']; } } function siteseo_dashboard_cards_order_option(){ $options = get_option('siteseo_dashboard_option_name'); if(! empty($options) && isset($options['cards_order'])){ return $options['cards_order']; } } ?>
    'siteseo_features_list', 'siteseo-notice-list' => 'siteseo_dashboard_notice_list', 'notice-insights-alert' => 'siteseo_insights', 'siteseo-news-panel' => 'siteseo_news_fn', ]; $order = siteseo_dashboard_cards_order_option(); if (!empty($order)) { foreach($order as $key => $value) { if (isset($cards[$value])) { call_user_func($cards[$value]); } } } else { foreach($cards as $key => $value) { call_user_func($cards[$key]); } } ?>

    [ 'title' => esc_html__('Titles & Metas', 'siteseo'), 'desc' => esc_html__('Manage all your titles & metas for post types, taxonomies, archives...', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-titles'), 'filter' => 'siteseo_remove_feature_titles', ], 'xml-sitemap' => [ 'title' => esc_html__('XML & HTML Sitemaps', 'siteseo'), 'desc' => esc_html__('Manage your XML - Image - Video - HTML Sitemap.', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-xml-sitemap'), 'filter' => 'siteseo_remove_feature_xml_sitemap', ], 'social' => [ 'title' => esc_html__('Social Networks', 'siteseo'), 'desc' => esc_html__('Open Graph, Twitter Card, Google Knowledge Graph and more...', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-social'), 'filter' => 'siteseo_remove_feature_social', ], 'google-analytics' => [ 'title' => esc_html__('Analytics', 'siteseo'), 'desc' => esc_html__('Track everything about your visitors with Google Analytics / Matomo / Microsoft Clarity.', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-google-analytics'), 'filter' => 'siteseo_remove_feature_google_analytics', ], 'instant-indexing' => [ 'title' => esc_html__('Instant Indexing', 'siteseo'), 'desc' => esc_html__('Ping Google & Bing to quickly index your content.', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-instant-indexing'), 'filter' => 'siteseo_remove_feature_instant_indexing', ], 'advanced' => [ 'title' => esc_html__('Image SEO & Advanced settings', 'siteseo'), 'desc' => esc_html__('Optimize your images for SEO. Configure advanced settings.', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-advanced'), 'filter' => 'siteseo_remove_feature_advanced', ], ]; $features = apply_filters('siteseo_features_list_before_tools', $features); $features['tools'] = [ 'title' => esc_html__('Tools', 'siteseo'), 'desc' => esc_html__('Import/Export plugin settings from site to site.', 'siteseo'), 'btn_primary' => admin_url('admin.php?page=siteseo-import-export'), 'filter' => 'siteseo_remove_feature_tools', 'toggle' => false, ]; $features = apply_filters('siteseo_features_list_after_tools', $features); if (! empty($features)) { ?>
    $value) { if (isset($value['filter'])) { $siteseo_feature = apply_filters($value['filter'], true); } ?>

    siteseo_tasks_sitemaps(), 'link' => admin_url('admin.php?page=siteseo-xml-sitemap'), 'label' => esc_html__('Generate XML sitemaps', 'siteseo'), ], [ 'done' => siteseo_tasks_social_networks(), 'link' => admin_url('admin.php?page=siteseo-social'), 'label' => esc_html__('Be social', 'siteseo'), ] ]; $tasks = apply_filters('siteseo_dashboard_tasks', $tasks); ?>
    */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT'); } function siteseo_tools_page(){ $docs = siteseo_get_docs_links(); if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_tool_settings' => __('Settings', 'siteseo'), 'tab_siteseo_tool_plugins' => __('Plugins', 'siteseo'), 'tab_siteseo_tool_reset' => __('Reset', 'siteseo'), ]; $plugin_settings_tabs = apply_filters('siteseo_tools_tabs', $plugin_settings_tabs); $feature_title_kses = [ 'h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true] ]; $plugins = [ 'yoast' => 'Yoast SEO', 'aio' => 'All In One SEO', 'seo-framework' => 'The SEO Framework', 'rk' => 'Rank Math', 'squirrly' => 'Squirrly SEO', 'seo-ultimate' => 'SEO Ultimate', 'wp-meta-seo' => 'WP Meta SEO', 'premium-seo-pack' => 'Premium SEO Pack', 'wpseo' => 'wpSEO', 'platinum-seo' => 'Platinum SEO Pack', 'smart-crawl' => 'SmartCrawl', 'seopressor' => 'SeoPressor', 'slim-seo' => 'Slim SEO' ]; echo '
    '; echo '
    '.wp_kses(siteseo_feature_title(null), $feature_title_kses). ''; do_action('siteseo_tools_before', $current_tab, $docs); echo '

    ' . esc_html__('Settings', 'siteseo') . '

    ' . esc_html__('Export plugin settings', 'siteseo') . '

    ' . esc_html__('Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'siteseo') . '

    '; wp_nonce_field('siteseo_export_nonce', 'siteseo_export_nonce', true); echo '

    ' . esc_html__('Import plugin settings', 'siteseo') . '

    ' . esc_html__('Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'siteseo') . '

    '; wp_nonce_field('siteseo_import_nonce', 'siteseo_import_nonce', true); echo ''; if (!empty($_GET['success']) && 'true' == siteseo_opt_get('success')) { echo '

    ' . esc_html__('Import completed!', 'siteseo') . '

    '; } echo '

    ' . esc_html__('Plugins', 'siteseo') . '

    ' . esc_html__('Import posts and terms metadata from', 'siteseo') . '

    ' . esc_html__('You don\'t have to enable the selected SEO plugin to run the import.', 'siteseo') . '

    '; foreach($plugins as $plugin => $name){ echo wp_kses_post(siteseo_migration_tool($plugin, $name)); } do_action('siteseo_tools_migration', $current_tab); echo '

    ' . esc_html__('Reset', 'siteseo') . '

    ' . esc_html__('Reset All Notices From Notifications Center', 'siteseo') . '

    ' . esc_html__('By clicking Reset Notices, all notices in the notifications center will be set to their initial status.', 'siteseo') . '

    '; wp_nonce_field('siteseo_reset_notices_nonce', 'siteseo_reset_notices_nonce', true); echo '

    ' . esc_html__('Reset All Settings', 'siteseo') . '

    ' . wp_kses_post(__('WARNING: Delete all options related to this plugin in your database.', 'siteseo')) . '

    '; wp_nonce_field('siteseo_reset_nonce', 'siteseo_reset_nonce', true); echo '
    '; } siteseo_tools_page();PKZ0D0D4plugins/siteseo/main/admin/admin-pages/Analytics.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); function siteseo_google_analytics_enable_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_enable']); ?> ', esc_html($check) ); ?>

    Accept button to allow tracking.', 'siteseo')); ?>

    /wp-content/plugins/siteseo/assets/js/siteseo-cookies-ajax.js and this cookie siteseo-user-consent-accept', 'siteseo')); ?>

    %s', esc_html($check)); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_opt_out_msg_close_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_opt_out_msg_close']) ? $options['google_analytics_opt_out_msg_close'] : null; printf( '', esc_html($check) ); } function siteseo_google_analytics_opt_out_msg_edit_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_opt_out_msg_edit']) ? $options['google_analytics_opt_out_msg_edit'] : null; printf( '', esc_html($check) ); } function siteseo_google_analytics_cb_exp_date_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_exp_date']); ?> value="" value="30"/>

    ', esc_html($check) ); ?>


    backdrop.', 'siteseo')); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_bg_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_bg']) ? $options['google_analytics_cb_bg'] : null; ?>

    cookie bar.', 'siteseo')); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_txt_col_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_txt_col']) ? $options['google_analytics_cb_txt_col'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_lk_col_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_lk_col']) ? $options['google_analytics_cb_lk_col'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_bg_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_bg']) ? $options['google_analytics_cb_btn_bg'] : null; ?>

    Accept button.', 'siteseo')); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_bg_hov_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_bg_hov']) ? $options['google_analytics_cb_btn_bg_hov'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_col_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_col']) ? $options['google_analytics_cb_btn_col'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_col_hov_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_col_hov']) ? $options['google_analytics_cb_btn_col_hov'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_sec_bg_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_sec_bg']) ? $options['google_analytics_cb_btn_sec_bg'] : null; ?>

    Close button.', 'siteseo')); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_sec_col_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_sec_col']) ? $options['google_analytics_cb_btn_sec_col'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_sec_bg_hov_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_sec_bg_hov']) ? $options['google_analytics_cb_btn_sec_bg_hov'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_cb_btn_sec_col_hov_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_cb_btn_sec_col_hov']) ? $options['google_analytics_cb_btn_sec_col_hov'] : null; ?>

    ', esc_html($check) ); } function siteseo_google_analytics_roles_callback() { $options = get_option('siteseo_google_analytics_option_name'); global $wp_roles; if ( ! isset($wp_roles)) { $wp_roles = new WP_Roles(); } foreach ($wp_roles->get_names() as $key => $value) { $check = isset($options['google_analytics_roles'][$key]); ?>

    ', esc_html($check)); ?>

    ', esc_html($check)); ?>

    %s', esc_textarea($check)); ?>

    %s', esc_textarea($check)); ?>

    wp_body_open(); just after the opening body tag in your theme.', 'siteseo')); ?>

    %s', esc_textarea($check)); ?>

    ', esc_html($check) ); } function siteseo_google_analytics_link_tracking_enable_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_link_tracking_enable']); ?> ', esc_html($check) ); ?>

    ', esc_html($check) ); ?>

    <a href="tel:+33123456789">

    ', esc_html($check)); ?>

    host without the quotes like this "example.matomo.cloud" (Cloud) or "matomo.example.com" (self-hosted).')); ?>

    ', esc_html($check) ); ?>

    Matomo Cloud account, Websites, Manage page. Look at "Site ID" on the right part.', 'siteseo')); ?>

    ', esc_html($check)); } function siteseo_google_analytics_matomo_dnt_callback() { $options = get_option('siteseo_google_analytics_option_name'); $check = isset($options['google_analytics_matomo_dnt']); ?>


    7z|aac|arc|arj|apk|asf|asx|avi|bin|bz|bz2|csv|deb|dmg|doc|exe|flv|gif|gz|gzip|hqx|jar|jpg|jpeg|js|mp2|mp3|mp4|mpg|mpeg|mov|movie|msi|msp|odb|odf|odg|odp|ods|odt|ogg|ogv| pdf|phps|png|ppt|qt|qtm|ra|ram|rar|rpm|sea|sit|tar|tbz|tbz2|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip
    ', esc_html($check) ); ?>


    Google Analytics and Matomo.', 'siteseo')); ?>


    GA4 or Universal Analytics codes are automatically added to your source code if you have enter your Measurement ID and / or your Universal Analytics ID from General tab.', 'siteseo')); ?>


    Google Analytics and Matomo tracking code.', 'siteseo')); ?>





    Custom Dimensions will also work with Matomo tracking code.', 'siteseo')); ?>

    here.', 'siteseo')), esc_url('https://clarity.microsoft.com/')); ?>

    true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]); $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_google_analytics_enable' => esc_html__('Google Analytics', 'siteseo'), 'tab_siteseo_google_analytics_matomo' => esc_html__('Matomo', 'siteseo'), 'tab_siteseo_google_analytics_clarity' => esc_html__('Clarity', 'siteseo'), 'tab_siteseo_google_analytics_custom_dimensions' => esc_html__('Advanced', 'siteseo'), 'tab_siteseo_google_analytics_gdpr' => esc_html__('Cookie bar / GDPR', 'siteseo'), 'tab_siteseo_google_analytics_custom_tracking' => esc_html__('Custom Tracking', 'siteseo'), ]; echo ''; ?>
    */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ // Are we being accessed directly ? if(!defined('ABSPATH')) { die('Hacking Attempt !'); } //============ advanced tab function siteseo_advanced_advanced_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name'); echo '

    ' . esc_html__('Advanced', 'siteseo') . '

    ' . esc_html__('Advanced SEO options for advanced users.', 'siteseo') . '

    ' . esc_html__('Add WP Editor to taxonomy description textarea', 'siteseo') . '
    ' . esc_html__('Remove /category/ in URL', 'siteseo') . ' '; $category_base = '/' . (get_option('category_base') ?: 'category') . '/'; printf(wp_kses_post(__('Remove %s in your permalinks', 'siteseo')), esc_html($category_base)); echo '

    ' . esc_html__('e.g. "https://example.com/category/my-post-category/" => "https://example.com/my-post-category/"', 'siteseo') . '

    ' . esc_html__('You have to flush your permalinks each time you change this setting.', 'siteseo') . '

    ' . esc_html__('Remove product category base from permalinks', 'siteseo') . ' '; if (is_plugin_active('woocommerce/woocommerce.php')) { echo ''; $category_base = '/' . (get_option('woocommerce_permalinks')['category_base'] ?: 'product-category') . '/'; printf(wp_kses_post(__('Remove %s in your permalinks', 'siteseo')), esc_html($category_base)); echo '

    ' . esc_html__('e.g. "https://example.com/product-category/my-product-category/" => "https://example.com/my-product-category/"', 'siteseo') . '

    ' . esc_html__('You have to flush your permalinks each time you change this setting.', 'siteseo') . '

    ' . esc_html__('Make sure you don\'t have identical URLs after activating this option to prevent conflicts.', 'siteseo') . '

    '; } else { echo '

    ' . wp_kses_post(__('You need to enable WooCommerce to apply these settings.', 'siteseo')) . '

    '; } echo '
    ' . esc_html__('Remove ?replytocom link to avoid duplicate content', 'siteseo') . '

    ' . esc_html__('e.g. "https://www.example.com/my-blog-post/?replytocom=10#respond" => "#comment-10"', 'siteseo') . '

    ' . esc_html__('Remove noreferrer link attribute in post content', 'siteseo') . '

    ' . esc_html__('Useful for affiliate links (eg: Amazon).', 'siteseo') . '

    ' . esc_html__('Remove WordPress meta generator tag', 'siteseo') . '
    ' . esc_attr__('', 'siteseo') . '
    ' . esc_html__('Remove hentry post class', 'siteseo') . '
    ' . esc_html__('Remove author URL', 'siteseo') . '
    ' . esc_html__('Remove website field from comment form', 'siteseo') . '
    ' . esc_html__('Add "nofollow noopener noreferrer" rel attributes to the comments form link', 'siteseo') . '
    https://www.example.com/my-blog-post/#respond
    ' . esc_html__('Remove WordPress shortlink meta tag', 'siteseo') . '
    ' . esc_attr__('', 'siteseo') . '
    ' . esc_html__('Remove Windows Live Writer meta tag', 'siteseo') . '
    ' . esc_attr__('', 'siteseo') . '
    ' . esc_html__('Remove RSD meta tag', 'siteseo') . '

    ' . esc_html__('WordPress Site Health feature will return a HTTPS warning if you enable this option. This is a false positive of course.', 'siteseo') . '

    ' . esc_attr__('', 'siteseo') . '
    ' . esc_html__('Google site verification', 'siteseo') . '

    ' . wp_kses_post(__('If your site is already verified in Google Search Console, you can leave this field empty.', 'siteseo')) . '

    ' . esc_html__('Bing site verification', 'siteseo') . '

    ' . wp_kses_post(__('If your site is already verified in Bing Webmaster tools, you can leave this field empty.', 'siteseo')) . '

    ' . esc_html__('Pinterest site verification', 'siteseo') . '
    ' . esc_html__('Yandex site verification', 'siteseo') . '
    '; } //============imageseo tab function siteseo_advanced_imageseo_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name'); echo '

    ' . esc_html__('Image SEO', 'siteseo') . '

    ' . esc_html__('Images can generate a lot of traffic to your site. Make sure to always add alternative texts, optimize their file size, filename etc.', 'siteseo') . '

    ' . esc_html__('Redirect attachment pages to post parent', 'siteseo') . '
    ' . esc_html__('Redirect attachment pages to their file URL', 'siteseo') . '

    ' . esc_html__('If this option is checked, it will take precedence over the redirection of attachments to the post\'s parent.', 'siteseo') . '

    ' . esc_html__('Cleaning media filename', 'siteseo') . '

    ' . esc_html__('e.g. "ExãMple 1 cópy!.jpg" => "example-1-copy.jpg"', 'siteseo') . '

    ' . esc_html__('Automatically set the image Title', 'siteseo') . '

    ' . esc_html__('We use the product title for WooCommerce products.', 'siteseo') . '

    ' . esc_html__('Automatically set the image Alt text', 'siteseo') . '
    ' . esc_html__('Automatically set the image Alt text from target keywords', 'siteseo') . '

    ' . esc_html__('This setting will be applied to images without any alt text only on frontend. This setting is retroactive. If you turn it off, alt texts that were previously empty will be empty again.', 'siteseo') . '

    ' . esc_html__('Automatically set the image Caption', 'siteseo') . '
    ' . esc_html__('Automatically set the image Description', 'siteseo') . '
    '; } //============ breadcrumbs tab function siteseo_advanced_breadcrumbs_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name', []); $enabled = !empty($options) && isset($options['breadcrumbs_enable']); $separators = ['-', '|', '/', '←', '→', '↠', '⇒', '►', '—', '•', '»', '›', '–']; $separator = !empty($options['breadcrumbs_seperator']) ? $options['breadcrumbs_seperator'] : ''; $custom_separator = !empty($options['breadcrumbs_custom_seperator']) ? $options['breadcrumbs_custom_seperator'] : ''; $hide_home = isset($options['breadcrumbs_home']) ? $options['breadcrumbs_home'] : false; $home_label = !empty($options['breadcrumb_home_label']) ? $options['breadcrumb_home_label'] : __('Home', 'siteseo'); $prefix = !empty($options['breadcrumb_prefix']) ? $options['breadcrumb_prefix'] : ''; echo '
    '; echo '

    ' . esc_html__('Breadcrumbs', 'siteseo') . '

    '; echo '
    '; echo '

    ' . esc_html__('Breadcrumbs work as a navigation tool for users, helping them know their current location and providing quick links to their previous browsing path, which improves the user experience.', 'siteseo') . '

    '; echo '
    ' . esc_html__('Enable Breadcrumbs', 'siteseo') . '
    ' . esc_html__('Breadcrumbs Display Methods', 'siteseo') . '

    ' . esc_html__('Gutenberg Block', 'siteseo') . '

    ' . esc_html__('Generate Block can be accessed by going to edit post using the Gutenberg Editor, the default editor of WordPress. There search for Breadcrumbs block.', 'siteseo') . '

    ' . esc_html__('Shortcode', 'siteseo') . '

    ' . esc_html__('WordPress shortcodes are shortcuts ([shortcode]) that insert features without coding. You can use these shortcodes with Classic Editor, Gutenberg, or any other editor. Copy the shortcode below and use it in the editor.', 'siteseo') . '

    [siteseo_breadcrumbs]

    ' . esc_html__('PHP Code', 'siteseo') . '

    ' . esc_html__('You can add the breadcrumbs by directly adding PHP code. Make sure you are aware of what you are doing. Use the code below anywhere in your theme.', 'siteseo') . '

    ' . esc_html("") . '
    ' . esc_html__('Separator', 'siteseo') . '
    '; foreach ($separators as $sep) { $checked = ($separator == $sep) ? 'checked' : ''; echo ''; } echo '
    ' . esc_html__('Home Settings', 'siteseo') . '
    ' . esc_html__('Prefix', 'siteseo') . '
    '; } //============appearance tab function siteseo_advanced_appearance_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name'); if (!is_array($options)) { $options = array(); } echo '

    ' . esc_html__('Appearance', 'siteseo') . '

    ' . esc_html__('Customize the plugin to fit your needs.', 'siteseo') . '


    ' . esc_html__('Metaboxes', 'siteseo') . '

    ' . esc_html__('Edit your SEO metadata directly from your favorite page builder.', 'siteseo') . '

    '; if ((function_exists('siteseo_get_toggle_white_label_option') && '1' !== siteseo_get_toggle_white_label_option())) { echo wp_oembed_get('https://www.youtube.com/@SiteSEOPlugin'); //phpcs:ignore } echo '
    Universal Metabox (Gutenberg)
    Disable Universal Metabox
    Move SEO metabox\'s position
    Remove Content Analysis Metabox

    ' . esc_html__('By checking this option, we will no longer track the significant keywords.', 'siteseo') . '

    Hide Genesis SEO Metabox
    Hide advice in Structured Data Types metabox

    ' . esc_html__('Admin bar', 'siteseo') . '

    ' . esc_html__('The admin bar appears on the top of your pages when logged in to your WP admin.', 'siteseo') . '

    ' . esc_html__('SEO in admin bar', 'siteseo') . '
    ' . esc_html__('Noindex in admin bar', 'siteseo') . '

    ' . esc_html__('SEO Dashboard', 'siteseo') . '

    ' . esc_html__('Customize the SEO dashboard UI.', 'siteseo') . '

    ' . esc_html__('Hide Notifications Center', 'siteseo') . '
    ' . esc_html__('Hide SEO News', 'siteseo') . '
    ' . esc_html__('Hide Site Overview', 'siteseo') . '

    ' . esc_html__('Columns', 'siteseo') . '

    ' . esc_html__('Customize the SEO columns displayed in the posts/pages list.', 'siteseo') . '

    ' . esc_html__('Show Title tag column in post types', 'siteseo') . '
    ' . esc_html__('Show Meta description column in post types', 'siteseo') . '
    Show Redirection Enable column in post types
    Show Redirect URL column in post types
    Show canonical URL column in post types
    Show Target Keyword column in post types
    Show noindex column in post types
    Show nofollow column in post types
    Show total number of words column in post types
    Show content analysis score column in post types

    ' . esc_html__('Misc', 'siteseo') . '

    ' . esc_html__('Miscellaneous settings for the SEO plugin.', 'siteseo') . '

    ' . esc_html__('Hide Genesis SEO Settings link', 'siteseo') . '
    '; } //============ security tab function siteseo_advanced_security_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name'); $docs = siteseo_get_docs_links(); global $wp_roles; if(!isset($wp_roles)) { $wp_roles = new WP_Roles(); } echo '

    ' . esc_html__('Security', 'siteseo') . '

    ' . esc_html__('Control access to SEO settings and metaboxes by user roles.', 'siteseo') . '


    ' . esc_html__('SiteSEO metaboxes', 'siteseo') . '

    ' . esc_html__('Check a user role to prevent it from editing a specific metabox.', 'siteseo') . '

    '; foreach($wp_roles->get_names() as $key => $value){ $check = isset($options['security_metaboxe_role'][$key]); echo ''; } echo wp_kses_post(siteseo_tooltip_link($docs['security']['metaboxe_seo'], esc_html__('Hook to filter structured data types metabox call by post type - new window', 'siteseo'))); echo ''; echo ''; foreach($wp_roles->get_names() as $key => $value){ $check = isset($options['security_metaboxe_ca_role'][$key]); echo ''; } echo '
    Block SEO metabox to user roles
    Block Content analysis metabox to user roles

    ' . esc_html__('SiteSEO settings pages', 'siteseo') . '

    ' . esc_html__('Check a user role to allow it to edit a specific settings page.', 'siteseo') . '

    '; $options = siteseo_get_service('AdvancedOption')->getOption(); global $submenu; if(isset($submenu['siteseo'])){ $menus = $submenu['siteseo']; foreach($menus as $key => $item){ if(in_array($item[2], [ 'siteseo', // dashboard 'siteseo-license', 'edit.php?post_type=siteseo_schemas', 'edit.php?post_type=siteseo_404', 'edit.php?post_type=siteseo_bot', ])) { continue; } $keySettings = $item[2]; echo ''; echo''; } } } echo wp_kses_post(siteseo_tooltip_link($docs['security']['metaboxe_ca'], esc_html__('Hook to filter structured data types metabox call by post type - new window', 'siteseo'))); echo '
    '.esc_html($item[0]).''; if(!isset($wp_roles)){ $wp_roles = new WP_Roles(); } foreach($wp_roles->get_names() as $key => $value){ if ('administrator' === $key) { continue; } $uniqueKey = sprintf('%s_%s', $keySettings, $key); $nameKey = \sprintf('%s_%s', 'siteseo_advanced_security_metaboxe', $keySettings); $dataOptions = isset($options[$nameKey]) ? $options[$nameKey] : []; echo '
    '; if ('titles-metas_editor' === $uniqueKey){ echo '

    '.esc_html__('Check a user role to authorized it to edit a specific SEO page.', 'siteseo').'

    '; } echo '

    '; echo '
    '; } //============ table of content tab function siteseo_advanced_toc_tab() { if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name', []); $enabled = !empty($options) && isset($options['toc_enable']) ? true : false; $label = !empty($options) && isset($options['toc_label']) ? $options['toc_label'] : 'Table of Content'; $headings = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; $list_types = [ 'ol' => __('Ordered List', 'siteseo'), 'ul' => __('Unordered List', 'siteseo') ]; echo '

    ' . esc_html__('Table of Contents', 'siteseo') . '

    ' . esc_html__('A table of content works as an index section for your post or page. It helps search engines understand your page structure and users find specific sections quickly, which might help SEO, as it helps search engines better understand the structure of your content and also improves user experience.', 'siteseo') . '

    ' . esc_html__('To use Table of Content on your pages, you can use this shortcode', 'siteseo') . ' [siteseo_toc]

    ' . esc_html__('Enable TOC', 'siteseo') . '
    ' . esc_html__('TOC Label', 'siteseo') . '
    ' . esc_html__('Exclude Headings', 'siteseo') . '
    '; foreach ($headings as $heading) { $checked = !empty($options) && !empty($options['toc_excluded_headings']) && is_array($options['toc_excluded_headings']) && in_array($heading, $options['toc_excluded_headings']); echo ''; } echo '
    ' . esc_html__('List Type', 'siteseo') . '
    '; } //============robots.txt tab function siteseo_advanced_robots_txt_tab() { echo '

    ' . esc_html__('Manage your robots.txt file here. Adjust settings according to your SEO requirements.', 'siteseo') . '

    '; echo ''; // Preview or create button if (!file_exists(ABSPATH . 'robots.txt')) { echo ''; } else { echo ''; } // If robots.txt does not exist if (!file_exists(ABSPATH . 'robots.txt')) { echo '
    '.esc_html__('Preview', 'siteseo').''.esc_html__('View Robots.txt', 'siteseo').'
    '; return; } $robots_txt = file_exists(ABSPATH . 'robots.txt') ? file_get_contents(ABSPATH . 'robots.txt') : ''; echo ''.esc_html__('robots.txt File', 'siteseo').''; echo ''; echo ''; } //============htaccess tab function siteseo_advanced_htaccess_tab() { echo '

    ' .esc_html__('.htaccess' ,'siteseo').'

    '; echo '

    ' . esc_html__('Edit your .htaccess file to configure advanced settings for your site', 'siteseo') . '

    '; $home_path = get_home_path(); $htaccess_file = $home_path . '.htaccess'; if (!file_exists($htaccess_file) || !is_writable($htaccess_file)) { echo '

    '.esc_html__('The .htaccess file does not exist or You do not have permission to edit the .htaccess file', 'siteseo').'

    '; return; } echo '
    '.esc_html__('Be careful editing this file. If any incorrect edits are made, your site could go down. You can restore the htaccess file by replacing it with the backup copy created by SiteSEO with name .htaccess_backup.siteseo', 'siteseo').'
    '; $htaccess_code = file_get_contents($htaccess_file); echo '
    Edit your htaccess file
    '; } $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_advanced_image' => esc_html__('Image SEO', 'siteseo'), 'tab_siteseo_advanced_advanced' => esc_html__('Advanced', 'siteseo'), 'tab_siteseo_advanced_appearance' => esc_html__('Appearance', 'siteseo'), 'tab_siteseo_advanced_security' => esc_html__('Security', 'siteseo'), 'tab_siteseo_advanced_breadcrumbs' => esc_html__('Breadcrumbs', 'siteseo'), 'tab_siteseo_advanced_toc' => esc_html__('Table of Content', 'siteseo'), 'tab_siteseo_advanced_robots_txt' => esc_html__('robots.txt','siteseo'), 'tab_siteseo_advanced_htaccess' => esc_html__('.htaccess','siteseo') ]; if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } echo '
    '; wp_nonce_field('siteseo_advanced_nonce'); echo '
    '; echo wp_kses(siteseo_feature_title('advanced'), ['h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]); echo '
    '; siteseo_advanced_imageseo_tab(); echo '
    '; siteseo_advanced_advanced_tab(); echo '
    '; siteseo_advanced_appearance_tab(); echo '
    '; siteseo_advanced_security_tab(); echo '
    '; siteseo_advanced_breadcrumbs_tab(); echo '
    '; siteseo_advanced_toc_tab(); echo '
    '; siteseo_advanced_robots_txt_tab(); echo '
    '; siteseo_advanced_htaccess_tab(); echo '
    '; echo wp_kses(siteseo_submit_button(esc_html__('Save changes', 'siteseo'), false), [ 'input' => [ 'type' => true, 'name' => true, 'value' => true, 'id' => true, 'class' => true ], 'p' => [ 'class' => true, ] ]); echo '
    '; function siteseo_save_advanced_settings(){ check_admin_referer('siteseo_advanced_nonce'); if(!current_user_can('manage_options') || !is_admin()){ return; } $advanced_options = []; //image-seo-tab if(empty($_POST['siteseo_advanced_option_name'])){ return; } if(isset($_POST['siteseo_advanced_option_name']['advanced_attachments'])){ $advanced_options['advanced_attachments'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_attachments'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_attachments_file'])){ $advanced_options['advanced_attachments_file'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_attachments_file'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_clean_filename'])){ $advanced_options['advanced_clean_filename'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_clean_filename'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_image_auto_title_editor'])){ $advanced_options['advanced_image_auto_title_editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_image_auto_title_editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_image_auto_alt_editor'])){ $advanced_options['advanced_image_auto_alt_editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_image_auto_alt_editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_image_auto_alt_target_kw'])){ $advanced_options['advanced_image_auto_alt_target_kw'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_image_auto_alt_target_kw'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_image_auto_caption_editor'])){ $advanced_options['advanced_image_auto_caption_editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_image_auto_caption_editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_image_auto_desc_editor'])){ $advanced_options['advanced_image_auto_desc_editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_image_auto_desc_editor'] ? true : 0)); } //advanced if(isset($_POST['siteseo_advanced_option_name']['advanced_tax_desc_editor'])){ $advanced_options['advanced_tax_desc_editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_tax_desc_editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_category_url'])){ $advanced_options['advanced_category_url'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_category_url'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_replytocom'])){ $advanced_options['advanced_replytocom'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_replytocom'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_noreferrer'])){ $advanced_options['advanced_noreferrer'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_noreferrer'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_wp_generator'])){ $advanced_options['advanced_wp_generator'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_wp_generator'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_hentry'])){ $advanced_options['advanced_hentry'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_hentry'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_comments_author_url'])){ $advanced_options['advanced_comments_author_url'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_comments_author_url'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_comments_website'])){ $advanced_options['advanced_comments_website'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_comments_website'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_comments_form_link'])){ $advanced_options['advanced_comments_form_link'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_comments_form_link'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_wp_shortlink'])){ $advanced_options['advanced_wp_shortlink'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_wp_shortlink'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_wp_rsd'])){ $advanced_options['advanced_wp_rsd'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_wp_rsd'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_wp_wlw'])){ $advanced_options['advanced_wp_wlw'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_wp_wlw'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['advanced_google'])){ $advanced_options['advanced_google'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_google'])); } if(isset($_POST['siteseo_advanced_option_name']['advanced_bing'])){ $advanced_options['advanced_bing'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_bing'])); } if(isset($_POST['siteseo_advanced_option_name']['advanced_pinterest'])){ $advanced_options['advanced_pinterest'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_pinterest'])); } if(isset($_POST['siteseo_advanced_option_name']['advanced_yandex'])){ $advanced_options['advanced_yandex'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['advanced_yandex'])); } //breadcrumb tab if(isset($_POST['siteseo_advanced_option_name']['breadcrumbs_enable'])){ $advanced_options['breadcrumbs_enable'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumbs_enable'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['breadcrumbs_seperator'])){ $advanced_options['breadcrumbs_seperator'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumbs_seperator'])); } if(isset($_POST['siteseo_advanced_option_name']['breadcrumbs_custom_seperator'])){ $advanced_options['breadcrumbs_custom_seperator'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumbs_custom_seperator'])); } if (isset($_POST['siteseo_advanced_option_name']['breadcrumbs_home'])) { $advanced_options['breadcrumbs_home'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumbs_home'] ? true : 0 )); } if(isset($_POST['siteseo_advanced_option_name']['breadcrumb_home_label'])){ $advanced_options['breadcrumb_home_label'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumb_home_label'])); } if(isset($_POST['siteseo_advanced_option_name']['breadcrumb_prefix'])){ $advanced_options['breadcrumb_prefix'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['breadcrumb_prefix'])); } // table of contents tab if(isset($_POST['siteseo_advanced_option_name']['toc_enable'])){ $advanced_options['toc_enable'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['toc_enable'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['toc_label'])){ $advanced_options['toc_label'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['toc_label'])); } //toc_excluded_headings if(isset($_POST['siteseo_advanced_option_name']['toc_excluded_headings'])){ $advanced_options['toc_excluded_headings'] = map_deep(map_deep($_POST['siteseo_advanced_option_name']['toc_excluded_headings'], 'wp_unslash'), 'sanitize_text_field'); } if(isset($_POST['siteseo_advanced_option_name']['toc_heading_type'])){ $advanced_options['toc_heading_type'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['toc_heading_type'])); } // security if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['administrator'])){ $advanced_options['security_metaboxe_role']['administrator'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['administrator'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['editor'])){ $advanced_options['security_metaboxe_role']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['author'])){ $advanced_options['security_metaboxe_role']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['contributor'])){ $advanced_options['security_metaboxe_role']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['subscriber'])){ $advanced_options['security_metaboxe_role']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_role']['subscriber'] ? true : 0)); } //mextabox_ca if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['administrator'])){ $advanced_options['security_metaboxe_ca_role']['administrator'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['administrator'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['editor'])){ $advanced_options['security_metaboxe_ca_role']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['author'])){ $advanced_options['security_metaboxe_ca_role']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['contributor'])){ $advanced_options['security_metaboxe_ca_role']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['subscriber'])){ $advanced_options['security_metaboxe_ca_role']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['security_metaboxe_ca_role']['subscriber'] ? true : 0)); } //siteseo_advanced_security_metaboxe_siteseo if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-titles']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-titles']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-titles']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-titles']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-titles']['subscriber'] ? true : 0)); } //xml-sitemap if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-xml-sitemap']['subscriber'] ? true : 0)); } //social if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-social']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-social']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-social']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-social']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-social']['subscriber'] ? true : 0)); } //siteseo_advanced_security_metaboxe_siteseo-google-analytics if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-google-analytics']['subscriber'] ? true : 0)); } //instant-indexing if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-instant-indexing']['subscriber'] ? true : 0)); } //-advanced if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-advanced']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-advanced']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-advanced']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-advanced']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-advanced']['subscriber'] ? true : 0)); } // tools -import-export if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['editor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-import-export']['editor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['editor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['author'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-import-export']['author'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['author'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['contributor'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-import-export']['contributor'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['contributor'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['subscriber'])){ $advanced_options['siteseo_advanced_security_metaboxe_siteseo-import-export']['subscriber'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['siteseo_advanced_security_metaboxe_siteseo-import-export']['subscriber'] ? true : 0)); } // Appearance tab if(isset($_POST['siteseo_advanced_option_name']['appearance_universal_metabox'])){ $advanced_options['appearance_universal_metabox'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_universal_metabox'])); } if(isset($_POST['siteseo_advanced_option_name']['appearance_universal_metabox_disable'])){ $advanced_options['appearance_universal_metabox_disable'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_universal_metabox_disable'])); } //appearance_metaboxe_position if(isset($_POST['siteseo_advanced_option_name']['appearance_metaboxe_position'])){ $advanced_options['appearance_metaboxe_position'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_metaboxe_position'])); } if(isset($_POST['siteseo_advanced_option_name']['appearance_ca_metaboxe'])){ $advanced_options['appearance_ca_metaboxe'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_ca_metaboxe'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_genesis_seo_metaboxe'])){ $advanced_options['appearance_genesis_seo_metaboxe'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_genesis_seo_metaboxe'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_advice_schema'])){ $advanced_options['appearance_advice_schema'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_advice_schema'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_adminbar'])){ $advanced_options['appearance_adminbar'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_adminbar'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_adminbar_noindex'])){ $advanced_options['appearance_adminbar_noindex'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_adminbar_noindex'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_notifications'])){ $advanced_options['appearance_notifications'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_notifications'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_news'])){ $advanced_options['appearance_news'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_news'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_seo_tools'])){ $advanced_options['appearance_seo_tools'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_seo_tools'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_title_col'])){ $advanced_options['appearance_title_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_title_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_meta_desc_col'])){ $advanced_options['appearance_meta_desc_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_meta_desc_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_redirect_enable_col'])){ $advanced_options['appearance_redirect_enable_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_redirect_enable_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_redirect_url_col'])){ $advanced_options['appearance_redirect_url_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_redirect_url_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_canonical'])){ $advanced_options['appearance_canonical'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_canonical'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_target_kw_col'])){ $advanced_options['appearance_target_kw_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_target_kw_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_noindex_col'])){ $advanced_options['appearance_noindex_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_noindex_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_nofollow_col'])){ $advanced_options['appearance_nofollow_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_nofollow_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_words_col'])){ $advanced_options['appearance_words_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_words_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_score_col'])){ $advanced_options['appearance_score_col'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_score_col'] ? true : 0)); } if(isset($_POST['siteseo_advanced_option_name']['appearance_genesis_seo_menu'])){ $advanced_options['appearance_genesis_seo_menu'] = sanitize_text_field(wp_unslash($_POST['siteseo_advanced_option_name']['appearance_genesis_seo_menu'] ? true : 0)); } update_option('siteseo_advanced_option_name',$advanced_options); } PKZ8I8I:plugins/siteseo/main/admin/admin-pages/InstantIndexing.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); function siteseo_instant_indexing_general_tab() { if(!empty($_POST['submit'])){ siteseo_save_instantindexing_settings(); } $docs = function_exists('siteseo_get_docs_links') ? siteseo_get_docs_links() : ''; $options = get_option('siteseo_instant_indexing_option_name'); $log = get_option('siteseo_instant_indexing_log_option_name'); $search_engines = [ 'google' => 'Google', 'bing' => 'Bing' ]; $actions = [ 'URL_UPDATED' => esc_html__('Update URLs', 'siteseo'), 'URL_DELETED' => esc_attr__('Remove URLs (URL must return a 404 or 410 status code or the page contains meta tag)', 'siteseo'), ]; $indexing_plugins = [ 'indexnow/indexnow-url-submission.php' => 'IndexNow', 'bing-webmaster-tools/bing-url-submission.php' => 'Bing Webmaster Url Submission', 'fast-indexing-api/instant-indexing.php' => 'Instant Indexing', ]; $urls = isset($log['log']['urls']) ? $log['log']['urls'] : null; $date = isset($log['log']['date']) ? $log['log']['date'] : null; $error = isset($log['error']) ? $log['error'] : null; $bing_response = isset($log['bing']['response']) ? $log['bing']['response'] : null; $google_response = isset($log['google']['response']) ? $log['google']['response'] : null; $check = isset($options['instant_indexing_manual_batch']) ? esc_attr($options['instant_indexing_manual_batch']) : null; echo '

    ' . esc_html__('Instant Indexing', 'siteseo') . '

    ' . esc_html__('You can use the Indexing API to tell Google & Bing to update or remove pages from the Google / Bing index. The process can take a few minutes. You can submit your URLs in batches of 100 (max 200 requests per day for Google).', 'siteseo') . '

    ' . esc_html__('401 / 403 error?', 'siteseo') . '

    ' . esc_html__('How does this work?', 'siteseo') . '

    1. ' . wp_kses_post(__('Setup your Google / Bing API keys from the Settings tab', 'siteseo')) . '
    2. ' . wp_kses_post(__('Enter your URLs to index in the field below', 'siteseo')) . '
    3. ' . wp_kses_post(__('Save changes', 'siteseo')) . '
    4. ' . wp_kses_post(__('Click Submit URLs to Google & Bing', 'siteseo')) . '
    '; foreach ($indexing_plugins as $key => $value) { if (is_plugin_active($key)) { echo '

    ' . sprintf(wp_kses_post(__('We noticed that you use %s plugin.', 'siteseo')), esc_html($value)) . '

    ' . sprintf(esc_html__('To prevent any conflicts with our Indexing feature, please disable it.', 'siteseo')) . '

    ' . esc_html__('Fix this!', 'siteseo') . '
    '; } } echo '
    '; } } else { esc_html_e('None', 'siteseo'); } } echo '
    '; if (!empty($bing_response['response'])) { switch ($bing_response['response']['code']) { case 200: $msg = esc_html__('URLs submitted successfully', 'siteseo'); break; case 202: $msg = esc_html__('URL received. IndexNow key validation pending.', 'siteseo'); break; case 400: $msg = esc_html__('Bad request: Invalid format', 'siteseo'); break; case 403: $msg = esc_html__('Forbidden: In case of key not valid (e.g. key not found, file found but key not in the file)', 'siteseo'); break; case 422: $msg = esc_html__('Unprocessable Entity: In case of URLs don\'t belong to the host or the key is not matching the schema in the protocol', 'siteseo'); break; case 429: $msg = esc_html__('Too Many Requests: Too Many Requests (potential Spam)', 'siteseo'); break; default: $msg = esc_html__('Something went wrong', 'siteseo'); } echo '

    ' . esc_html__('Bing Response', 'siteseo') . '

    '; if ($bing_response['response']['code'] == 200 || $bing_response['response']['code'] == 202) { echo ''; } else { echo ''; } echo '
    ' . esc_html($msg) . '
    '; } if (is_array($google_response) && !empty($google_response)) { echo '

    ' . esc_html__('Google Response', 'siteseo') . '

    '; $google_exception = $google_response[siteseo_array_key_first($google_response)]; if (is_a($google_exception, 'Google\Service\Exception')) { $error = json_decode($google_exception->getMessage(), true); echo '
    ' . esc_html($error['error']['code']) . ' - ' . esc_html($error['error']['message']) . '
    '; } elseif (!empty($google_response['error'])) { echo '
    ' . esc_html($google_response['error']['code']) . ' - ' . esc_html($google_response['error']['message']) . '
    '; } else { echo ' ' . esc_html__('URLs submitted successfully', 'siteseo') . '

    '; foreach ($google_response as $result) { if ($result) { echo ''; if (!empty($result->urlNotificationMetadata->latestUpdate["url"])) { echo ''; } if (!empty($result->urlNotificationMetadata->latestUpdate["type"])) { echo ''; } echo ''; echo ''; if (!empty($result->urlNotificationMetadata->latestRemove["url"])) { echo ''; } if (!empty($result->urlNotificationMetadata->latestRemove["type"])) { echo ''; } echo ''; } } echo '
    ' . esc_url($result->urlNotificationMetadata->latestUpdate["url"]) . '' . esc_html($result->urlNotificationMetadata->latestUpdate["type"]) . '
    ' . esc_url($result->urlNotificationMetadata->latestRemove["url"]) . '' . esc_html($result->urlNotificationMetadata->latestRemove["type"]) . '
    '; } echo '
    '; } } function siteseo_instant_indexing_settings_tab() { if(!empty($_POST['submit'])){ siteseo_save_instantindexing_settings(); } echo '

    ' . esc_html__('Settings', 'siteseo') . '

    ' . esc_html__('Instant Indexing Google API Key', 'siteseo') . ' '; $docs = function_exists('siteseo_get_docs_links') ? siteseo_get_docs_links() : ''; $options = get_option('siteseo_instant_indexing_option_name'); $check = isset($options['instant_indexing_google_api_key']) ? esc_attr($options['instant_indexing_google_api_key']) : null; echo '

    ' . sprintf(wp_kses_post(__('To use the Google Indexing API and generate your JSON key file, please follow our guide.')), esc_url($docs['indexing_api']['api']), esc_url($docs['indexing_api']['google'])) . '

    ' . esc_html__('Instant Indexing Bing API Key', 'siteseo') . ' '; $options = get_option('siteseo_instant_indexing_option_name'); $check = isset($options['instant_indexing_bing_api_key']) ? esc_attr($options['instant_indexing_bing_api_key']) : null; echo '

    ' . esc_html__('The Bing Indexing API key is automatically generated. Click Generate key if you want to recreate it, or if it\'s missing.', 'siteseo') . '

    ' . esc_html__('A key should look like this:', 'siteseo') . ' ZjA2NWI3ZWM3MmNhNDRkODliYmY0YjljMzg5YTk2NGE=

    ' . esc_html__('Automate URL Submission', 'siteseo') . ' '; $options = get_option('siteseo_instant_indexing_option_name'); $check = isset($options['instant_indexing_automate_submission']); echo '

    ' . esc_html__('Notify search engines using IndexNow protocol (currently Bing and Yandex) whenever a post is created, updated or deleted.', 'siteseo') . '

    '; } function siteseo_instant_indexing_page_html(){ $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_instant_indexing_general' => esc_html__('General', 'siteseo'), 'tab_siteseo_instant_indexing_settings' => esc_html__('Settings', 'siteseo') ]; $feature_title_kses = ['h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]; if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } echo '
    '; wp_nonce_field('siteseo_instant_indexing_nonce'); echo '
    '. wp_kses(siteseo_feature_title('instant-indexing'), $feature_title_kses). ''; echo '
    '; siteseo_instant_indexing_general_tab(); echo '
    '; siteseo_instant_indexing_settings_tab(); echo'
    '. wp_kses_post(siteseo_feature_save()). wp_kses(siteseo_submit_button(esc_html__('Save changes', 'siteseo'), false), [ 'input' => [ 'type' => true, 'name' => true, 'value' => true, 'id' => true, 'class' => true ], 'p' => [ 'class' => true, ] ]). '
    '; } function siteseo_save_instantindexing_settings(){ check_admin_referer('siteseo_instant_indexing_nonce'); if(!current_user_can('manage_options') || !is_admin()){ return; } $instant_indexing_options = []; if(empty($_POST['siteseo_instant_indexing_option_name'])){ return; } // general-tab if(isset($_POST['siteseo_instant_indexing_option_name']['engines']['google'])){ $instant_indexing_options['engines']['google'] = !empty($_POST['siteseo_instant_indexing_option_name']['engines']['google']) ? sanitize_text_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['engines']['google'])): ''; } if(isset($_POST['siteseo_instant_indexing_option_name']['engines']['bing'])){ $instant_indexing_options['engines']['bing'] = !empty($_POST['siteseo_instant_indexing_option_name']['engines']['bing']) ? sanitize_text_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['engines']['bing'])) : ''; } //check if(!empty($_POST['siteseo_instant_indexing_option_name']['instant_indexing_google_action'])){ $instant_indexing_options['instant_indexing_google_action'] = sanitize_text_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['instant_indexing_google_action'])); } if(isset($_POST['siteseo_instant_indexing_option_name']['instant_indexing_manual_batch'])){ $instant_indexing_options['instant_indexing_manual_batch'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['instant_indexing_manual_batch'])); } //settings tab if(isset($_POST['siteseo_instant_indexing_option_name']['instant_indexing_google_api_key'])){ $instant_indexing_options['instant_indexing_google_api_key'] = sanitize_textarea_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['instant_indexing_google_api_key'])); } if(isset($_POST['siteseo_instant_indexing_option_name']['instant_indexing_bing_api_key'])){ $instant_indexing_options['instant_indexing_bing_api_key'] = sanitize_text_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['instant_indexing_bing_api_key'])); } if(isset($_POST['siteseo_instant_indexing_option_name']['instant_indexing_automate_submission'])){ $instant_indexing_options['instant_indexing_automate_submission'] = !empty($_POST['siteseo_instant_indexing_option_name']['instant_indexing_automate_submission']) ? sanitize_text_field(wp_unslash($_POST['siteseo_instant_indexing_option_name']['instant_indexing_automate_submission'])) : ''; } update_option('siteseo_instant_indexing_option_name', $instant_indexing_options); } siteseo_instant_indexing_page_html();PKZe>;UdUd3plugins/siteseo/main/admin/admin-pages/Sitemaps.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT'); } function siteseo_sitemap_post_types_tab() { if(!empty($_POST['submit'])){ siteseo_save_sitemaps_settings(); } echo '

    ' . esc_html__('Post Types', 'siteseo') . '

    ' . esc_html__('Include/Exclude Post Types.', 'siteseo') . '

    '; $options = get_option('siteseo_xml_sitemap_option_name'); $postTypes = siteseo_get_service('WordPressData')->getPostTypes(); $postTypes[] = get_post_type_object('attachment'); $postTypes = apply_filters('siteseo_sitemaps_cpt', $postTypes); foreach ($postTypes as $siteseo_cpt_key => $siteseo_cpt_value) { $check = isset($options['xml_sitemap_post_types_list'][$siteseo_cpt_key]['include']); echo ''; } echo '

    ' . esc_html__('Check to INCLUDE Post Types', 'siteseo') . '

    '; if ('attachment' == $siteseo_cpt_value->name) { echo '

    ' . wp_kses_post(__('You should never include attachment post type in your sitemap. Be careful if you checked this.', 'siteseo')) . '

    '; } echo '
    '; } function siteseo_sitemap_taxonomies_tab(){ if(!empty($_POST['submit'])){ siteseo_save_sitemaps_settings(); } echo '

    ' . esc_html__('Taxonomies', 'siteseo') . '

    ' . esc_html__('Include/Exclude Taxonomies.', 'siteseo') . '

    '; $options = get_option('siteseo_xml_sitemap_option_name'); $taxonomies = siteseo_get_service('WordPressData')->getTaxonomies(); $taxonomies = apply_filters('siteseo_sitemaps_tax', $taxonomies); echo ''; foreach ($taxonomies as $siteseo_tax_key => $siteseo_tax_value) { $check = isset($options['xml_sitemap_taxonomies_list'][$siteseo_tax_key]['include']); echo ''; } echo '
    ' . esc_html__('Check to INCLUDE Taxonomies', 'siteseo') . '

    '; } function siteseo_sitemap_html_tab() { if(!empty($_POST['submit'])){ siteseo_save_sitemaps_settings(); } $docs = siteseo_get_docs_links(); $options = get_option('siteseo_xml_sitemap_option_name'); echo '

    ' . esc_html__('HTML Sitemap', 'siteseo') . '

    ' . esc_html__('Create an HTML Sitemap for your visitors and boost your SEO.', 'siteseo') . '

    ' . esc_html__('Limited to 1,000 posts per post type. You can change the order and sorting criteria below.', 'siteseo') . ' ' . esc_html__('Guide to enable a HTML Sitemap - new window', 'siteseo') . '

    ' . esc_html__('How to use the HTML Sitemap?', 'siteseo') . '

    ' . esc_html__('Block Editor', 'siteseo') . '

    ' . wp_kses_post(__('Add the HTML sitemap block using the Block Editor.', 'siteseo')) . '


    ' . esc_html__('Shortcode', 'siteseo') . '

    ' . esc_html__('You can also use this shortcode in your content (post, page, post type...):', 'siteseo') . '

    [siteseo_html_sitemap]

    ' . esc_html__('To include specific custom post types, use the CPT attribute:', 'siteseo') . '

    [siteseo_html_sitemap cpt="post,product"]

    ' . esc_html__('Other', 'siteseo') . '

    ' . esc_html__('Dynamically display the sitemap by entering an ID to the first field below.', 'siteseo') . '

    ' . esc_html__('Post, Page, or Custom Post Type IDs to display:', 'siteseo') . '
    ' . esc_html__('Exclude Posts, Pages, Custom Post Types or Terms IDs:', 'siteseo') . '
    ' . esc_html__('Order:', 'siteseo') . '
    ' . esc_html__('Order By:', 'siteseo') . '
    ' . esc_html__('Disable Date:', 'siteseo') . '
    ' . esc_html__('Remove Archive Links:', 'siteseo') . '
    '; } function siteseo_sitemap_general_tab() { if(!empty($_POST['submit'])){ siteseo_save_sitemaps_settings(); } $docs = siteseo_get_docs_links(); $options = get_option('siteseo_xml_sitemap_option_name'); $server_software = isset($_SERVER['SERVER_SOFTWARE']) ? explode('/', sanitize_text_field(wp_unslash($_SERVER['SERVER_SOFTWARE']))) : []; $is_nginx = 'nginx' == current($server_software); echo '

    ' . esc_html__('General', 'siteseo') . '

    '; if ('' == get_option('permalink_structure')) { echo '

    ' . wp_kses_post(__('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.', 'siteseo')) . '

    ' . esc_html__('Change this settings', 'siteseo') . '

    '; } echo '

    ' . wp_kses_post(__('A sitemap is a file where you provide information about the pages, images, videos... and the relationships between them. Search engines like Google read this file to crawl your site more efficiently.', 'siteseo')) . '

    ' . wp_kses_post(__('The XML sitemap is an exploration aid. Not having a sitemap will absolutely NOT prevent engines from indexing your content. For this, opt for meta robots.', 'siteseo')) . '

    ' . esc_html__('This is the URL of your index sitemaps to submit to search engines:', 'siteseo') . '

    ' . esc_url(get_option('home')) . '/sitemaps.xml

    '; echo '

    ' . wp_kses_post(__('To view your sitemap, enable permalinks (not default one), and save settings to flush them.', 'siteseo')) . '

    ' . wp_kses_post(__('Noindex content will not be displayed in Sitemaps. Same for custom canonical URLs.', 'siteseo')) . '

    ' . wp_kses_post(__('If you disable globally this feature (using the blue toggle from above), the native WordPress XML sitemaps will be re-activated.', 'siteseo')) . '

    ' . esc_html__('Blank sitemap?', 'siteseo') . ' ' . esc_html__('404 error?', 'siteseo') . ' ' . esc_html__('HTML error? Exclude XML and XSL from caching plugins!', 'siteseo') . ' ' . esc_html__('Add your XML sitemaps to Google Search Console (video)', 'siteseo') . '

    '; if ($is_nginx) { echo '

    ' . esc_html__('Your server uses NGINX. If XML Sitemaps doesn\'t work properly, you need to add this rule to your configuration:', 'siteseo') . '

    location ~ (([^/]*)sitemap(.*)|news|author|video(.*))\.x(m|s)l$ {
        ## SiteSEO
        rewrite ^.*/sitemaps\.xml$ /index.php?siteseo_sitemap=1 last;
        rewrite ^.*/news.xml$ /index.php?siteseo_news=$1 last;
        rewrite ^.*/video.xml$ /index.php?siteseo_video=$1 last;
        rewrite ^.*/author.xml$ /index.php?siteseo_author=$1 last;
        rewrite ^.*/sitemaps_xsl\.xsl$ /index.php?siteseo_sitemap_xsl=1 last;
        rewrite ^.*/sitemaps_video_xsl\.xsl$ /index.php?siteseo_sitemap_video_xsl=1 last;
        rewrite ^.*/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?siteseo_cpt=$1&siteseo_paged=$2 last;
    }
    '; } echo '
    ' . esc_html__('Enable XML Sitemap', 'siteseo') . '
    ' . esc_html__('Enable Image Sitemap', 'siteseo') . '

    ' . esc_html__('Images in XML sitemaps are visible only from the source code.', 'siteseo') . '

    ' . esc_html__('Enable Author Sitemap', 'siteseo') . '

    ' . esc_html__('Make sure to enable author archive from SEO, titles and metas, archives tab.', 'siteseo') . '

    ' . esc_html__('Enable HTML Sitemap', 'siteseo') . '
    '; } function siteseo_sitemaps_page_html(){ $current_tab = ''; $plugin_settings_tabs = [ 'tab_siteseo_xml_sitemap_general' => __('General', 'siteseo'), 'tab_siteseo_xml_sitemap_post_types' => __('Post Types', 'siteseo'), 'tab_siteseo_xml_sitemap_taxonomies' => __('Taxonomies', 'siteseo'), 'tab_siteseo_html_sitemap' => __('HTML Sitemap', 'siteseo'), ]; $feature_title_kses = ['h1' => true, 'input' => ['type' => true, 'name' => true, 'id' => true, 'class' => true, 'data-*' => true], 'label' => ['for' => true], 'span' => ['id' => true, 'class' => true], 'div' => ['id' => true, 'class' => true]]; if(function_exists('siteseo_admin_header')){ siteseo_admin_header(); } echo '
    '; wp_nonce_field('siteseo_sitemap_nonce'); echo '
    '. wp_kses(siteseo_feature_title('xml-sitemap'), $feature_title_kses). '
    '; siteseo_sitemap_general_tab(); echo '
    '; siteseo_sitemap_post_types_tab(); echo '
    '; siteseo_sitemap_taxonomies_tab(); echo '
    '; siteseo_sitemap_html_tab(); echo '
    '; siteseo_submit_button(__('Save changes', 'siteseo')); echo '
    '; } function siteseo_save_sitemaps_settings(){ check_admin_referer('siteseo_sitemap_nonce'); if(!current_user_can('manage_options') || !is_admin()){ return; } $sitemap_options = []; if(empty($_POST['siteseo_xml_sitemap_option_name'])){ return; } // General tab if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_general_enable'])){ $sitemap_options['xml_sitemap_general_enable'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_general_enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_general_enable'])) : ''; } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_img_enable'])){ $sitemap_options['xml_sitemap_img_enable'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_img_enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_img_enable'])) : ''; } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_author_enable'])){ $sitemap_options['xml_sitemap_author_enable'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_author_enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_author_enable'])) : ''; } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_enable'])){ $sitemap_options['xml_sitemap_html_enable'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_enable']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_enable'])) : ''; } // post tab if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_post_types_list'])){ foreach($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_post_types_list'] as $posttypes_key => $posttypes_value){ if(isset($posttypes_value['include'])){ $sitemap_options['xml_sitemap_post_types_list'][$posttypes_key]['include'] = sanitize_text_field(wp_unslash($posttypes_value['include'])); } } } // Taxonomies if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_taxonomies_list'])){ foreach($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_taxonomies_list'] as $taxonomy_key => $taxonomy_value){ if(isset($taxonomy_value['include'])){ $sitemap_options['xml_sitemap_taxonomies_list'][$taxonomy_key]['include'] = sanitize_text_field(wp_unslash($taxonomy_value['include'])); } } } // Html Sitemap Tab if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_mapping'])){ $sitemap_options['xml_sitemap_html_mapping'] = sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_mapping'])); } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_exclude'])){ $sitemap_options['xml_sitemap_html_exclude'] = sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_exclude'])); } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_order'])){ $sitemap_options['xml_sitemap_html_order'] = sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_order'])); } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_orderby'])){ $sitemap_options['xml_sitemap_html_orderby'] = sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_orderby'])); } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_taxonomies_list']['post_tag']['include'])){ $sitemap_options['xml_sitemap_taxonomies_list']['post_tag']['include'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_taxonomies_list']['post_tag']['include']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_taxonomies_list']['post_tag']['include'])) : ''; } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_date'])){ $sitemap_options['xml_sitemap_html_date'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_date']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_date'])) : ''; } if(isset($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_archive_links'])){ $sitemap_options['xml_sitemap_html_archive_links'] = !empty($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_archive_links']) ? sanitize_text_field(wp_unslash($_POST['siteseo_xml_sitemap_option_name']['xml_sitemap_html_archive_links'])) : ''; } update_option('siteseo_xml_sitemap_option_name', $sitemap_options); } siteseo_sitemaps_page_html();PKZY\\#plugins/siteseo/main/admin/cron.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } /** * Automatically ping Google daily for XML sitemaps * * @since 1.0.0 * */ function siteseo_xml_sitemaps_ping_cron_action(){ //Disable if MainWP add-on enabled if (defined('SITESEO_WPMAIN_VERSION')) { return; } // If site is set to noindex globally if ('1' === siteseo_get_service('TitleOption')->getTitleNoIndex() || '0' === get_option('blog_public')) { return; } // Check if XML sitemaps is enabled if ('1' !== siteseo_get_service('SitemapOption')->isEnabled() || '1' !== siteseo_get_toggle_option('xml-sitemap')) { return; } // Disable if IndexNow is enabled $options = get_option('siteseo_instant_indexing_option_name'); if ('1' == siteseo_get_toggle_option('instant-indexing') && isset($options['engines']['bing']) && $options['engines']['bing'] === '1') { return; } $url = rawurlencode(get_option('home').'/sitemaps.xml/'); $url = apply_filters( 'siteseo_sitemaps_xml_ping_url', $url); $args = [ 'blocking' => false, ]; $args = apply_filters( 'siteseo_sitemaps_xml_ping_args', $args); wp_remote_get('https://www.google.com/ping?sitemap='.$url, $args); } add_action('siteseo_xml_sitemaps_ping_cron', 'siteseo_xml_sitemaps_ping_cron_action'); PKZ`&~~>plugins/siteseo/main/admin/page-builders/gutenberg/sidebar.phpnu[ wp_create_nonce('siteseo_sidebar_nonce'), 'ajax_url' => admin_url('admin-ajax.php') ]); } add_action('enqueue_block_editor_assets', 'siteseo_sidebar_script_enqueue');PKZ3  Oplugins/siteseo/main/admin/page-builders/gutenberg/blocks/breadcrumbs/block.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** * Breadcrumbs Block display callback * * @param array $attributes Block attributes * @param string $content Inner block content * @param WP_Block $block Actual block * @return string $html */ function siteseo_breadcrumb_block( $attributes, $content, $block ){ $html = ''; if( '1' == siteseo_get_toggle_option('advanced')){ if ( '1' === siteseo_get_service('AdvancedOption')->getBreadcrumbsEnable() || '1' === siteseo_get_service('AdvancedOption')->getBreadcrumbsJsonEnable() ) { $attr = get_block_wrapper_attributes(); $html = sprintf( '
    %s
    ', $attr, siteseo_display_breadcrumbs( false ) ); } } return apply_filters( 'siteseo_breadcrumb_block_html', $html, $attributes, $content, $block ); } PKZ#RLplugins/siteseo/main/admin/page-builders/gutenberg/blocks/sitemap/block.jsonnu[{ "apiVersion": 2, "name": "siteseo/sitemap", "title": "Sitemap", "description": "Display an HTML sitemap", "icon": "list-view", "category": "siteseo", "textdomain": "siteseo", "supports": { "html": false, "color": { "gradients": true, "link": true }, "spacing": { "margin": true, "padding": true }, "typography": { "fontSize": true, "lineHeight": true } }, "editorScript": "file:../../../../../public/editor/blocks/sitemap/index.js", "editorStyle": "file:../../../../../public/editor/blocks/sitemap/index.css" }PKZΤҦKplugins/siteseo/main/admin/page-builders/gutenberg/blocks/sitemap/block.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** * Sitemap block display callback * * @param array $attributes Block attributes * @param string $content Inner block content * @param WP_Block $block Actual block * @return string $html */ function siteseo_sitemap_block( $attributes, $content, $block ){ $attr = get_block_wrapper_attributes(); $html = ''; if ( '1' == siteseo_get_toggle_option( 'xml-sitemap' ) && '1' == siteseo_get_service('SitemapOption')->getHtmlEnable() ) { $atts = ! empty( $attributes['postTypes'] ) ? ['cpt' => join( ',', $attributes['postTypes'] ) ] : []; $html = sprintf( '
    %s
    ', $attr, siteseo_xml_sitemap_html_hook( $atts ) ); } return $html; }PKZW*Gplugins/siteseo/main/admin/page-builders/gutenberg/blocks/faq/block.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if (! defined('ABSPATH')) { die(); } function siteseo_register_block_faq() { $path = SITESEO_DIR_PATH . 'main/public/editor/blocks/faq/index.asset.php'; if(!file_exists($path)){ return; } $asset_file = include_once $path; wp_register_script( 'siteseo-faq-block', SITESEO_URL_PUBLIC . '/editor/blocks/faq/index.js', $asset_file['dependencies'], $asset_file['version'] ); wp_register_style( 'siteseo-faq-block', SITESEO_URL_PUBLIC . '/editor/blocks/faq/index.css', '', $asset_file['version'] ); register_block_type('siteseo/faq-block', [ 'editor_script' => 'siteseo-faq-block', 'editor_style' => 'siteseo-faq-block', 'attributes' => array( 'faqs' => array( 'type' => 'array', 'default' => array( '' ), 'items' => array( 'type' => 'object', ), ), 'listStyle' => array( 'type' => 'string', 'default' => 'none' ), 'titleWrapper' => array( 'type' => 'string', 'default' => 'p' ), 'imageSize' => array( 'type' => 'string', 'default' => 'thumbnail' ), 'showFAQScheme' => array( 'type' => 'boolean', 'default' => false ), 'showAccordion' => array( 'type' => 'boolean', 'default' => false ), 'isProActive' => array( 'type' => 'boolean', 'default' => is_plugin_active( 'siteseo-pro/siteseo-pro.php' ) ) ), 'render_callback' => 'siteseo_block_faq_render_frontend', ]); } function siteseo_block_faq_render_frontend($attributes){ if (is_admin() || defined('REST_REQUEST')) { return; } switch ($attributes['titleWrapper']) { case 'h2': $titleTag = '

    '; $titleCloseTag = '

    '; break; case 'h3': $titleTag = '

    '; $titleCloseTag = '

    '; break; case 'h4': $titleTag = '

    '; $titleCloseTag = '

    '; break; case 'h5': $titleTag = '
    '; $titleCloseTag = '
    '; break; case 'h6': $titleTag = '
    '; $titleCloseTag = '
    '; break; case 'p': $titleTag = '

    '; $titleCloseTag = '

    '; break; default: $titleTag = '
    '; $titleCloseTag = '
    '; break; } switch ($attributes['listStyle']) { case 'ul': $listStyleTag = '
      '; $listStyleCloseTag = '
    '; $listItemStyle = '
  • '; $listItemStyleClosingTag = '
  • '; break; case 'ol': $listStyleTag = '
      '; $listStyleCloseTag = '
    '; $listItemStyle = '
  • '; $listItemStyleClosingTag = '
  • '; break; default: $listStyleTag = '
    '; $listStyleCloseTag = '
    '; $listItemStyle = '
    '; $listItemStyleClosingTag = '
    '; break; } $entities = []; ob_start(); ?> 'Question', 'name' => $faq['question'], 'acceptedAnswer' => [ '@type' => 'Answer', 'text' => ! empty($faq['answer']) ? $faq['answer'] : '' ] ]; $entities[] = $entity; $accordion = $attributes['showAccordion']; if ($accordion) { // Load our inline CSS only once if (!isset($css)) { $css = '.siteseo-hide {display: none;}.siteseo-accordion-button{width:100%}'; $css = apply_filters( 'siteseo_faq_block_inline_css', $css ); echo ''; } // Our simple accordion JS wp_enqueue_script('siteseo-accordion', SITESEO_URL_PUBLIC . '/editor/blocks/faq/accordion.js', '', SITESEO_VERSION, true); } $image = ''; $image_alt = ''; if ( isset( $faq['image'] ) && is_int( $faq['image'] ) ) { $image = wp_get_attachment_image_src( $faq['image'], $attributes['imageSize'] ); $image_alt = get_post_meta($faq['image'], '_wp_attachment_image_alt', true); } $image_url = ''; if ( isset( $image ) && ! empty( $image ) ) { $image_url = $image[0]; } ?>
    <?php echo esc_attr($image_alt); ?>

    { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": '. wp_json_encode($entities) . ' } '; echo wp_kses(apply_filters('siteseo_schemas_faq_html', $schema), ['script' => ['type' => true]]); } $html = apply_filters('siteseo_faq_block_html', ob_get_clean()); return $html; } PKZ:W=plugins/siteseo/main/admin/page-builders/gutenberg/blocks.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) { die(); } global $wp_version; $hook_name = version_compare( $wp_version, '5.8' ) >= 0 ? 'block_categories_all' : 'block_categories'; add_filter( $hook_name, 'siteseo_register_block_categories' ); /** * Declares a new category * * @param array $categories Existing categories * @return array $categories */ function siteseo_register_block_categories( $categories ) { return array_merge( $categories,[ [ 'slug' => 'siteseo', 'title' => __( 'SiteSEO', 'siteseo' ), ], ] ); } /** * Register blocks */ add_action( 'init', 'siteseo_register_blocks', 1000 ); function siteseo_register_blocks() { require_once __DIR__ . '/blocks/faq/block.php'; require_once __DIR__ . '/blocks/sitemap/block.php'; // FAQ Block siteseo_register_block_faq(); // Sitemap Block register_block_type( __DIR__ . '/blocks/sitemap', [ 'render_callback' => 'siteseo_sitemap_block', 'attributes' => [ 'postTypes' => [ 'type' => 'array', 'default' => [] ], 'isSiteMapEnabled' => [ 'type' => 'boolean', 'default' => ( '1' == siteseo_get_toggle_option( 'xml-sitemap' ) ) && ( '1' == siteseo_get_service('SitemapOption')->getHtmlEnable() ) ], 'optionsPageUrl' => [ 'type' => 'string', 'default' => add_query_arg( 'page', 'siteseo-xml-sitemap', admin_url( 'admin.php' ) ) ], 'fontSize' => [ 'type' => 'string' ], 'backgroundColor' => [ 'type' => 'string' ], 'style' => [ 'type' => 'object' ], 'textColor' => [ 'type' => 'string' ], 'gradient' => [ 'type' => 'string' ], 'className' => [ 'type' => 'string' ], ] ]); wp_set_script_translations( 'siteseo/sitemap', 'siteseo' ); $settings = get_option('siteseo_advanced_option_name', []); if(!empty($settings['breadcrumbs_enable'])){ // Register Breadcrumbs block register_block_type(SITESEO_DIR_PATH . '/main/public/editor/blocks/breadcrumbs/build', [ 'render_callback' => 'siteseo_gutenberg_breadcrumbs', 'attributes' => [ 'hideHome' => [ 'type' => 'boolean', 'default' => (!empty($settings) && !empty($settings['breadcrumbs_home']) ? true : false), ], 'homeLabel' => [ 'type' => 'string', 'default' => (!empty($settings) && !empty($settings['breadcrumb_home_label']) ? esc_html($settings['breadcrumb_home_label']) : esc_html__('Home', 'siteseo')), ], 'seperator' => [ 'type' => 'string', 'default' => function_exists('siteseo_breadcrumbs_seperator') ? siteseo_breadcrumbs_seperator() : '/', ], 'prefix' => [ 'type' => 'string', 'default' => (!empty($settings) && !empty($settings['breadcrumb_prefix']) ? esc_html($settings['breadcrumb_prefix']) : ''), ], ] ]); wp_set_script_translations('siteseo/breadcrumbs', 'siteseo'); } } function siteseo_gutenberg_breadcrumbs(){ return sprintf('
    %s
    ', get_block_wrapper_attributes(), siteseo_render_breadcrumbs()); }PKZ22Dplugins/siteseo/main/admin/page-builders/elementor/assets/js/base.jsnu[var elSocialData = []; elSocialData.fbDefaultImage = ''; elSocialData.twDefaultImage = ''; function googlePreview() { jQuery.ajax({ method: "GET", url: siteseoElementorBase.siteseo_real_preview, data: { action: "siteseo_do_real_preview", post_id: siteseoElementorBase.post_id, tax_name: siteseoElementorBase.post_tax, origin: siteseoElementorBase.origin, post_type: siteseoElementorBase.post_type, siteseo_analysis_target_kw: siteseoElementorBase.keywords, is_elementor: siteseoElementorBase.is_elementor, _ajax_nonce: siteseoElementorBase.siteseo_nonce }, success: function (t) { jQuery(".elementor-control-field.google-snippet-box .google-snippet-preview .snippet-title").html(t.data.title); jQuery(".elementor-control-field.google-snippet-box .google-snippet-preview .snippet-title-default").html(t.data.title); jQuery(".elementor-control-field.google-snippet-box .google-snippet-preview .snippet-description").html(t.data.meta_desc); jQuery(".elementor-control-field.google-snippet-box .google-snippet-preview .snippet-description-default").html(t.data.meta_desc); const $metaTitle = jQuery("input[data-setting=_siteseo_titles_title]"); const $metaDesc = jQuery("textarea[data-setting=_siteseo_titles_desc]"); $metaTitle.attr('placeholder', t.data.title); $metaDesc.attr('placeholder', t.data.meta_desc); if ($metaTitle.val() == '') { elementor.modules.controls.Siteseotextlettercounter.prototype.countLength(false, $metaTitle); } if ($metaDesc.val() == '') { elementor.modules.controls.Siteseotextlettercounter.prototype.countLength(false, $metaDesc); } } }) } function socialPreview() { jQuery.ajax({ method: "GET", url: siteseoElementorBase.siteseo_real_preview, data: { action: "siteseo_do_real_preview", post_id: siteseoElementorBase.post_id, tax_name: siteseoElementorBase.post_tax, origin: siteseoElementorBase.origin, post_type: siteseoElementorBase.post_type, siteseo_analysis_target_kw: siteseoElementorBase.keywords, is_elementor: siteseoElementorBase.is_elementor, _ajax_nonce: siteseoElementorBase.siteseo_nonce }, success: socialPreviewFillData }) } function socialPreviewFillData(s) { typeof s.data.og_title === "undefined" ? og_title = "" : og_title = s.data.og_title.values; typeof s.data.og_desc === "undefined" ? og_desc = "" : og_desc = s.data.og_desc.values; typeof s.data.og_img === "undefined" ? og_img = "" : og_img = s.data.og_img.values; typeof s.data.og_url === "undefined" ? og_url = "" : og_url = s.data.og_url.host; typeof s.data.og_site_name === "undefined" ? og_site_name = "" : og_site_name = s.data.og_site_name.values; typeof s.data.tw_title === "undefined" ? tw_title = "" : tw_title = s.data.tw_title.values; typeof s.data.tw_desc === "undefined" ? tw_desc = "" : tw_desc = s.data.tw_desc.values; typeof s.data.tw_img === "undefined" ? tw_img = "" : tw_img = s.data.tw_img.values; typeof s.data.meta_robots === "undefined" ? meta_robots = "" : meta_robots = s.data.meta_robots[0]; var data_arr = { og_title: og_title, og_desc: og_desc, og_img: og_img, og_url: og_url, og_site_name: og_site_name, tw_title: tw_title, tw_desc: tw_desc, tw_img: tw_img }; for (var key in data_arr) { if (data_arr.length) { if (data_arr[key].length > 1) { key = data_arr[key].slice(-1)[0]; } else { key = data_arr[key][0]; } } } // Facebook Preview if (data_arr.og_title) { $fbTitle = jQuery('input[data-setting=_siteseo_social_fb_title]'); $fbTitle.attr('placeholder', data_arr.og_title[0]); } if (data_arr.og_desc) { $fbDesc = jQuery('textarea[data-setting=_siteseo_social_fb_desc]'); $fbDesc.attr('placeholder', data_arr.og_desc[0]); } if (data_arr.og_img) { elSocialData.fbDefaultImage = data_arr.og_img[0]; jQuery('.snippet-fb-img img').attr('src', data_arr.og_img[0]); } jQuery(".facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url), jQuery(".facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name) // Twitter Preview if (data_arr.tw_title) { $twTitle = jQuery('input[data-setting=_siteseo_social_twitter_title]'); $twTitle.attr('placeholder', data_arr.tw_title[0]); } if (data_arr.tw_desc) { $twDesc = jQuery('textarea[data-setting=_siteseo_social_twitter_desc]'); $twDesc.attr('placeholder', data_arr.tw_desc[0]); } if (data_arr.tw_img) { elSocialData.twDefaultImage = data_arr.tw_img[0]; jQuery('.snippet-twitter-img-default img').attr('src', data_arr.tw_img[0]); } } function contentAnalysisToggle() { var stop = false; jQuery(document).on('click', '.gr-analysis-title .btn-toggle', function (event) { if (stop) { event.stopImmediatePropagation(); event.preventDefault(); stop = false; } jQuery(this).toggleClass('open'); jQuery(this).attr('aria-expanded', (jQuery(this).attr('aria-expanded') == "false" ? true : false)); jQuery(this).parent().parent().next(".gr-analysis-content").toggle(); jQuery(this).parent().parent().next(".gr-analysis-content").attr('aria-hidden', (jQuery(this).parent().parent().next(".gr-analysis-content").attr('aria-hidden') == "true" ? false : true)); }); //Show all jQuery(document).on('click', '#expand-all', function (e) { e.preventDefault(); jQuery('.gr-analysis-content').show(); jQuery(".gr-analysis-title button").attr('aria-expanded', true); jQuery(".gr-analysis-content").attr('aria-hidden', false); }); //Hide all jQuery(document).on('click', '#close-all', function (e) { e.preventDefault(); jQuery('.gr-analysis-content').hide(); jQuery(".gr-analysis-title button").attr('aria-expanded', false); jQuery(".gr-analysis-content").attr('aria-hidden', true); }); } function contentAnalysis() { jQuery.ajax({ method: "GET", url: siteseoElementorBase.siteseo_real_preview, data: { action: "siteseo_do_real_preview", post_id: siteseoElementorBase.post_id, tax_name: siteseoElementorBase.post_tax, origin: siteseoElementorBase.origin, post_type: siteseoElementorBase.post_type, siteseo_analysis_target_kw: siteseoElementorBase.keywords, is_elementor: siteseoElementorBase.is_elementor, _ajax_nonce: siteseoElementorBase.siteseo_nonce }, beforeSend: function () { jQuery(".analysis-score p span").fadeIn().text(siteseoElementorBase.i18n.progress), jQuery(".analysis-score p").addClass('loading') }, success: function (s) { typeof s.data.meta_robots === "undefined" ? meta_robots = "" : meta_robots = s.data.meta_robots[0]; // Meta Robots meta_robots = meta_robots.toString(); jQuery("#siteseo-advanced-alert").empty(); var if_noindex = new RegExp('noindex'); if (if_noindex.test(meta_robots)) { jQuery("#siteseo-advanced-alert").append(''); } jQuery("#siteseo-analysis-tabs").load("/wp-admin/post.php?post=" + siteseoElementorBase.post_id + "&action=edit #siteseo-analysis-tabs-1"); jQuery(".analysis-score p").removeClass('loading'); } }) } function siteseo_is_valid_url(string) { var res = string.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g); return (res !== null) } function siteseo_social_img(social_slug) { const $ = jQuery; if ($("#siteseo_social_fb_title_meta").length) { $(".snippet-" + social_slug + "-img-alert").hide(); var meta_img_val = $( "#siteseo_social_" + social_slug + "_img_meta" ).val(); if (meta_img_val == "") { var meta_img_val = $( "#siteseo_social_" + social_slug + "_img_meta" ).attr("placeholder"); } // Check valid URL if (siteseo_is_valid_url(meta_img_val) === true) { meta_img_val.length > 0 ? ($(".snippet-" + social_slug + "-img-custom img").attr("src", meta_img_val), $(".snippet-" + social_slug + "-img").hide(), $(".snippet-" + social_slug + "-img-custom").show(), $(".snippet-" + social_slug + "-img-default").hide()) : 0 == meta_img_val.length && ($(".snippet-" + social_slug + "-img-default").show(), $(".snippet-" + social_slug + "-img-custom").show(), $(".snippet-" + social_slug + "-img").hide()); if (meta_img_val.length > 0) { // Check file URL $ .get(meta_img_val) .done(function () { // Extract filetype var meta_img_filetype = meta_img_val .split(/\#|\?/)[0] .split(".") .pop() .trim(); var types = ["jpg", "jpeg", "gif", "png", "webp"]; if (types.indexOf(meta_img_filetype) == -1) { $(".snippet-" + social_slug + "-img-alert.alert1").show(); } else { // Extract image size var tmp_img = new Image(); tmp_img.src = meta_img_val; $(tmp_img).one("load", function () { pic_real_width = parseInt(tmp_img.width); pic_real_height = parseInt(tmp_img.height); // Default minimum size if (social_slug == "fb") { (min_width = 200), (min_height = 200); } else { (min_width = 144), (min_height = 144); } if ( pic_real_width < min_width || pic_real_height < min_height ) { $( ".snippet-" + social_slug + "-img-alert.alert2" ).show(); } ratio_img = ( pic_real_width / pic_real_height ).toFixed(2); $( ".snippet-" + social_slug + "-img-alert.alert4" ).show(); $( ".snippet-" + social_slug + "-img-alert.alert4 span" ).text(ratio_img); }); // check filesize fetch(meta_img_val) .then(response => { const fileSize = Number(response.headers.get('Content-Length')); if ((fileSize / 1024) > 300) { $(".snippet-" + social_slug + "-img-alert.alert6").show(); $(".snippet-" + social_slug + "-img-alert.alert6 span").text(Math.round(fileSize / 1024) + 'KB.'); } }) .catch(error => { console.error(error); }); } }) .fail(function () { $(".snippet-" + social_slug + "-img-alert.alert3").show(); }); } } else { $(".snippet-" + social_slug + "-img-alert.alert5").show(); } } } PKZ``Nplugins/siteseo/main/admin/page-builders/elementor/assets/js/social-preview.jsnu[jQuery(document).ready(function () { jQuery(document).on("click", "#siteseo-seo-tab", function (e) { jQuery("#elementor-panel-footer-settings").trigger("click"); jQuery(".elementor-control-siteseo_title_settings").trigger("click"); }); }); var scriptInitialized = false; var socialInitialized = false; const runGooglePreview = function () { setTimeout(function () { googlePreview(); }, 1000); }; var socialPreviewItemView = elementor.modules.controls.BaseData.extend({ onReady: function () { if ( siteseoFiltersElementor.resize_panel && siteseoFiltersElementor.resize_panel === "1" ) { elementor.panel.storage.size.width = "495px"; elementor.panel.setSize(); } var $ = jQuery; const observeFBThumbnail = function () { let fbThumbnail = document.querySelectorAll( ".elementor-control-_siteseo_social_fb_img .elementor-control-media__preview" ); if (!fbThumbnail.length) { return; } fbThumbnail = fbThumbnail[0]; const observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if ( mutation.type == "attributes" && mutation.attributeName == "style" ) { let img = mutation.target.style.backgroundImage .replace('url("', "") .replace('")', ""); if (!img.length) { img = elSocialData.fbDefaultImage; } $(".snippet-fb-img img").attr("src", img); siteseo_social_img("fb"); } }); }); observer.observe(fbThumbnail, { attributes: true, }); }; const observeTWThumbnail = function () { let twThumbnail = document.querySelectorAll( ".elementor-control-_siteseo_social_twitter_img .elementor-control-media__preview" ); if (!twThumbnail.length) { return; } twThumbnail = twThumbnail[0]; const observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if ( mutation.type == "attributes" && mutation.attributeName == "style" ) { let img = mutation.target.style.backgroundImage .replace('url("', "") .replace('")', ""); if (!img.length) { img = elSocialData.twDefaultImage; } $(".snippet-twitter-img-default img").attr("src", img); siteseo_social_img("twitter"); } }); }); observer.observe(twThumbnail, { attributes: true, }); }; const updateFbSnippetTitle = function () { let value = $(this).val(); if (value == "") { value = $(this).attr("placeholder"); } $(".snippet-fb-title").html(value); }; const updateFbSnippetDesc = function () { let value = $(this).val(); if (value == "") { value = $(this).attr("placeholder"); } $(".snippet-fb-description-custom").html(value); }; const updateTwSnippetTitle = function () { let value = $(this).val(); if (value == "") { value = $(this).attr("placeholder"); } $(".snippet-twitter-title").html(value); }; const updateTwSnippetDesc = function () { let value = $(this).val(); if (value == "") { value = $(this).attr("placeholder"); } $(".snippet-twitter-description").html(value); }; $(document).on( "input", "input[data-setting=_siteseo_social_fb_title]", updateFbSnippetTitle ); $(document).on( "input", "textarea[data-setting=_siteseo_social_fb_desc]", updateFbSnippetDesc ); $(document).on( "input", "input[data-setting=_siteseo_social_twitter_title]", updateTwSnippetTitle ); $(document).on( "input", "textarea[data-setting=_siteseo_social_twitter_desc]", updateTwSnippetDesc ); if (!scriptInitialized) { if ($("#toggle-preview").attr("data-toggle") == "1") { $( ".elementor-control-field.google-snippet-box .google-snippet-preview" ).addClass("mobile-preview"); } else { $( ".elementor-control-field.google-snippet-box .google-snippet-preview" ).removeClass("mobile-preview"); } $(document).on( "click", ".elementor-control-field.google-snippet-box #toggle-preview", function () { $( ".elementor-control-field.google-snippet-box #toggle-preview" ).attr( "data-toggle", $( ".elementor-control-field.google-snippet-box #toggle-preview" ).attr("data-toggle") == "1" ? "0" : "1" ); $( ".elementor-control-field.google-snippet-box .google-snippet-preview" ).toggleClass("mobile-preview"); } ); scriptInitialized = true; } $(document).on( "click", "#elementor-panel-saver-button-publish-label", runGooglePreview ); setTimeout(function () { observeFBThumbnail(); observeTWThumbnail(); }, 1000); if (this.model.get("network") !== "google" && !socialInitialized) { socialInitialized = true; socialPreview(); } if (this.model.get("network") === "google") { googlePreview(); } else if (this.model.get("network") === "facebook") { setTimeout(function () { siteseo_social_img("fb"); }, 1000); } else { setTimeout(function () { siteseo_social_img("twitter"); }, 1000); } }, onBeforeDestroy() { jQuery(document).off( "click", "#elementor-panel-saver-button-publish-label", runGooglePreview ); }, }); elementor.addControlView("siteseo-social-preview", socialPreviewItemView); PKZ3TZZPplugins/siteseo/main/admin/page-builders/elementor/assets/js/content-analysis.jsnu[contentAnalysisToggle(); var contentAnalysisView = elementor.modules.controls.BaseData.extend({ onReady: function () { if ( siteseoFiltersElementor.resize_panel && siteseoFiltersElementor.resize_panel === "1" ) { elementor.panel.storage.size.width = "495px"; elementor.panel.setSize(); } contentAnalysis(); jQuery(document).on("click", "#siteseo_launch_analysis", function () { contentAnalysis(); }); }, }); elementor.addControlView("siteseo-content-analysis", contentAnalysisView); PKZ-. Rplugins/siteseo/main/admin/page-builders/elementor/assets/js/google-suggestions.jsnu[const addKeywords = function (e) { e.preventDefault() if ( jQuery(document) .find('input[data-setting=_siteseo_analysis_target_kw]') .val().length == 0 ) { jQuery(document) .find('input[data-setting=_siteseo_analysis_target_kw]') .val(jQuery(this).text() + ',') } else { str = jQuery(document) .find('input[data-setting=_siteseo_analysis_target_kw]') .val() str = str.replace(/,\s*$/, '') jQuery(document) .find('input[data-setting=_siteseo_analysis_target_kw]') .val(str + ',' + jQuery(this).text()) } jQuery(document) .find('input[data-setting=_siteseo_analysis_target_kw]') .trigger('input') } function siteseo_google_suggest(data) { var raw_suggestions = String(data) var suggestions_array = raw_suggestions.split(',') var i for (i = 0; i < suggestions_array.length; i++) { if ( suggestions_array[i] != null && suggestions_array[i] != undefined && suggestions_array[i] != '' && suggestions_array[i] != '[object Object]' ) { document.getElementById('siteseo_suggestions').innerHTML += '
  • ' + suggestions_array[i] + '
  • ' } } } const getSuggestions = function (data) { data.preventDefault() document.getElementById('siteseo_suggestions').innerHTML = '' var kws = jQuery('#siteseo_google_suggest_kw_meta').val() if (kws) { var script = document.createElement('script') script.src = 'https://www.google.com/complete/search?client=firefox&hl=' + googleSuggestions.locale + '&q=' + kws + '&gl=' + googleSuggestions.countryCode + '&callback=siteseo_google_suggest' document.body.appendChild(script) } } var googleSuggestionsView = elementor.modules.controls.BaseData.extend({ onReady: function () { elementor.panel.storage.size.width = '495px' elementor.panel.setSize() jQuery(document).on( 'click', '#siteseo_get_suggestions', getSuggestions ) jQuery(document).on('click', '.siteseo-suggest-btn', addKeywords) }, onBeforeDestroy: function () { jQuery('#siteseo_get_suggestions').off('click', getSuggestions) jQuery('.siteseo-suggest-btn').off('click', addKeywords) }, }) elementor.addControlView('siteseo-google-suggestions', googleSuggestionsView) PKZOSplugins/siteseo/main/admin/page-builders/elementor/assets/js/text-letter-counter.jsnu[jQuery(document).ready(function () { jQuery(document).on("click", "#siteseo-seo-tab", function (e) { jQuery("#elementor-panel-footer-settings").trigger("click"); jQuery(".elementor-control-siteseo_title_settings").trigger("click"); }); }); var tagClickInitialized = false; var textLetterCounterView = elementor.modules.controls.BaseData.extend({ fieldType: "text", currentEl: null, onReady: function () { if ( siteseoFiltersElementor.resize_panel && siteseoFiltersElementor.resize_panel === "1" ) { elementor.panel.storage.size.width = "495px"; elementor.panel.setSize(); } this.getCurrentElement.value = this.model.get("default"); this.countLength(true); if (!tagClickInitialized) { jQuery(document).on("click", ".tag-title", this.addTag.bind(this)); tagClickInitialized = true; } }, events: function () { return { "change @ui.input": "onValueChange", "change @ui.textarea": "onValueChange", "input @ui.input": "onValueChange", "input @ui.textarea": "onValueChange", "paste @ui.input": "onValueChange", "paste @ui.textarea": "onValueChange", }; }, onValueChange: function (event) { this.saveValue(); this.countLength(); this.updateGooglePreview(); this.onBaseInputChange(event); }, saveValue: function () { let currentValue = this.getCurrentElementValue(); this.setValue(currentValue); }, updateGooglePreview: function () { const $googlePreview = jQuery( ".elementor-control-field.google-snippet-box" ); if (!$googlePreview.length) { return; } let value = this.getCurrentElementValue(); if (this.fieldType === "text") { $googlePreview.find(".snippet-title").text(value); } else { $googlePreview.find(".snippet-description-default").text(value); } }, getCurrentElementValue: function () { let value = false; const el = this.getCurrentElement(); if (el) { value = el.value; } if (value == "") { value = jQuery(el).attr("placeholder"); } return value; }, getCurrentElement: function () { let el = false; if (this.ui.textarea.length) { this.fieldType = "textarea"; el = this.ui.textarea[0]; } else { this.fieldType = "text"; el = this.ui.input[0]; } if (this.currentEl) { el = this.currentEl; } return el; }, countLength: function (initial = false, currentEl = false) { let $currentElement; if (!currentEl) { $currentElement = jQuery(this.getCurrentElement()); } else { $currentElement = currentEl; } let currentValue = $currentElement.val(); if (currentValue == "") { currentValue = $currentElement.attr("placeholder"); } if (typeof currentValue == "undefined") { return; } const $elementParent = $currentElement.parent(); if (initial) { let maxLength; if (this.fieldType === "text") { maxLength = 60; } else { maxLength = 160; } $elementParent .find(".siteseo_counters") .after( `
    / ${maxLength}
    ` ); } if (currentValue.length > 0) { $elementParent.find(".siteseo_counters").text(currentValue.length); const pixels = this.fieldType === "text" ? this.pixelTitle(currentValue) : this.pixelDesc(currentValue); $elementParent.find(".siteseo_pixel").text(pixels); } if ( (this.fieldType === "text" && currentValue.length > 60) || (this.fieldType === "textarea" && currentValue.length > 160) ) { $elementParent.find(".siteseo_counters").css("color", "red"); } else { $elementParent.find(".siteseo_counters").css("color", "#6d7882"); } if ( (this.fieldType === "text" && this.pixelTitle(currentValue) > 568) || (this.fieldType === "textarea" && this.pixelDesc(currentValue) > 940) ) { $elementParent.find(".siteseo_pixel").css("color", "red"); } else { $elementParent.find(".siteseo_pixel").css("color", "#6d7882"); } let progress; if (this.fieldType === "text") { progress = Math.round((this.pixelTitle(currentValue) / 568) * 100); } else { progress = Math.round((this.pixelDesc(currentValue) / 940) * 100); } if (progress >= 100) { progress = 100; } $elementParent .find(".siteseo_counters_progress") .attr("aria-valuenow", progress); $elementParent.find(".siteseo_counters_progress").text(progress + "%"); $elementParent .find(".siteseo_counters_progress") .css("width", progress + "%"); }, pixelTitle: function (e) { inputText = e; font = "18px Arial"; canvas = document.createElement("canvas"); context = canvas.getContext("2d"); context.font = font; width = context.measureText(inputText).width; formattedWidth = Math.ceil(width); return formattedWidth; }, pixelDesc: function (e) { inputText = e; font = "14px Arial"; canvas = document.createElement("canvas"); context = canvas.getContext("2d"); context.font = font; width = context.measureText(inputText).width; formattedWidth = Math.ceil(width); return formattedWidth; }, addTag: function (e) { e.stopPropagation(); let $currentBtn = jQuery(e.target); const $mainParent = $currentBtn .parents(".siteseo-text-letter-counter") .first(); /* Happens the inner span to be click sometimes and if so, find the tag-title span */ if (!$currentBtn.hasClass("tag-title")) { $currentBtn = $currentBtn.parents(".tag-title").first(); } if ($mainParent.find("input[type=text]").length) { $el = $mainParent.find("input[type=text]").first(); } else { $el = $mainParent.find("textarea").first(); } const newValue = $el.val() + " " + $currentBtn.data("tag"); $el.val(newValue); $el.trigger("change"); }, }); elementor.addControlView("siteseotextlettercounter", textLetterCounterView); PKZcl88Rplugins/siteseo/main/admin/page-builders/elementor/assets/css/content-analysis.cssnu[.elementor-control-field.siteseo-content-analyses .siteseo-tooltip { position: relative; margin-left: 5px; display: inline-block; cursor: help; vertical-align: bottom; text-align: left; background: none; border: none; padding: 0; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .dashicons { color: #666; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext { visibility: hidden; position: absolute; z-index: 999999999; width: 300px; right: -260px; padding: 20px; top: 25px; font-weight: 400; box-shadow: 0 3px 30px rgba(25, 30, 35, 0.1); border: 1px solid #e2e4e7; background: #fff; word-break: break-word; text-transform: none; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext::before { border: 8px solid #e2e4e7; top: -8px; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext::after { border: 8px solid #fff; top: -6px; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext::after, .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext::before { border-bottom-style: solid; border-left-color: transparent; border-right-color: transparent; border-top: none; margin-left: -10px; content: ""; position: absolute; height: 0; width: 0; line-height: 0; left: 30px; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltiptext::before, .siteseo-tooltip .siteseo-tooltiptext::after { border-bottom-style: solid; border-left-color: transparent; border-right-color: transparent; border-top: none; margin-left: -10px; content: ""; position: absolute; height: 0; width: 0; line-height: 0; left: 30px; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip:hover .siteseo-tooltiptext, .elementor-control-field.siteseo-content-analyses .siteseo-tooltip:focus .siteseo-tooltiptext, .elementor-control-field.siteseo-content-analyses .siteseo-tooltip:active .siteseo-tooltiptext { visibility: visible; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltip-headings { font-size: 18px; font-weight: 600; margin-bottom: 20px; display: block; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltip-desc { margin-bottom: 20px; display: block; border-bottom: 1px solid #e2e4e7; padding-bottom: 20px; font-size: 13px; } .elementor-control-field.siteseo-content-analyses .siteseo-tooltip .siteseo-tooltip-code { font-family: Menlo, Monaco, Andale Mono, Courier New, monospace; display: block; word-break: break-all; color: #1a7a06; font-size: 11px; } .elementor-control-field.siteseo-content-analyses .analysis-score .siteseo-tooltip { vertical-align: middle; font-size: 0.75em; } .elementor-control-field.siteseo-content-analyses a { color: #0073aa; } .elementor-control-field.siteseo-content-analyses .wrap-siteseo-analysis { display: inline-block; width: 100%; } .elementor-control-field.siteseo-content-analyses .col-left { width: calc(50% - 30px); float: left; margin-right: 30px; } .elementor-control-field.siteseo-content-analyses .col-right { float: right; width: 50%; } .elementor-control-field.siteseo-content-analyses #siteseo_suggestions { display: inline-block; width: 100%; margin: 0; height: auto; padding: 20px 0; } .elementor-control-field.siteseo-content-analyses #siteseo_suggestions li { list-style: none; margin: 5px; display: inline-block; } .elementor-control-field.siteseo-content-analyses .analysis-score { clear: both; border-top: 1px solid #e2e4e7; display: flex; justify-content: space-between; align-items: center; } .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score { display: flex; align-content: center; } .elementor-control-field.siteseo-content-analyses .analysis-score p, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score p { margin: 1em 0; color: #333; font-weight: bold; font-size: 1.2em; } .elementor-control-field.siteseo-content-analyses .analysis-score svg, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score svg { display: inline-block; height: 30px; width: 30px; margin: 0; border-radius: 100%; position: relative; font-weight: 600; shape-rendering: geometricprecision; font-size: 0.5rem; vertical-align: middle; margin-right: 15px; } .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score p, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score svg { margin: 0; } @keyframes loadingPulse{ 0%{stroke:#adc5d2} 50%{stroke:#00a0d2} 100%{stroke:#adc5d2} } .elementor-control-field.siteseo-content-analyses .analysis-score .loading #bar { stroke-dashoffset: 0 !important; stroke: #adc5d2 !important; animation: loadingPulse 3s infinite ease-in-out; } .elementor-control-field.siteseo-content-analyses .analysis-score .good #bar, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score #bar.good { stroke: #46b450; } .elementor-control-field.siteseo-content-analyses .analysis-score .notgood #bar, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score #bar.notgood { stroke-dashoffset: 565; stroke: #ffb900; } .elementor-control-field.siteseo-content-analyses .analysis-score svg circle, .elementor-control-field.siteseo-content-analyses .column-siteseo_score .analysis-score svg circle { stroke-dashoffset: 0; transition: stroke-dashoffset 1s linear; stroke: #ccc; stroke-width: 2em; } .elementor-control-field.siteseo-content-analyses .gr-analysis { clear: both; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title { border-top: 1px solid #e2e4e7; position: relative; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title .impact { position: absolute; left: 10px; top:calc(50% - 5px); width: 10px; height: 10px; border-radius: 50px; padding: 0; margin: 0; border: 1px solid #fff; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content .impact.high { background: #e25950; box-shadow: none; color: #fff; padding: 2px 4px; margin-left: 5px; border-radius: 4px; font-weight: 700; } .elementor-control-field.siteseo-content-analyses .gr-analysis .impact.good { background: #46b450; box-shadow: 0 0 5px #46b450; } .elementor-control-field.siteseo-content-analyses .gr-analysis .impact.low { background: #FFDE24; box-shadow: 0 0 5px #FFDE24; } .elementor-control-field.siteseo-content-analyses .gr-analysis .impact.medium { background: #e39f48; box-shadow: 0 0 5px #e39f48; } .elementor-control-field.siteseo-content-analyses .impact.high, .elementor-control-field.siteseo-content-analyses .gr-analysis .impact.high { background: #e25950; box-shadow: 0 0 5px #e25950; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content .impact.high { background: #e25950; box-shadow: none; color:#fff; padding: 2px 4px; margin-left: 5px; border-radius: 4px; font-weight: bold; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title button { background: #fff; border: 0; cursor: pointer; display: block; margin: 0; position: relative; text-align: left; width: 100%; padding: 15px 30px; align-items: center; transition: all 300ms linear; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title button:hover { background: #f3f4f5; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title button:focus { color: #191e23; border: none; box-shadow: none; outline-offset: -2px; outline: 1px dotted #555d66; } .elementor-control-field.siteseo-content-analyses .gr-analysis-title button .siteseo-arrow::after { content:"\f343"; font-family: "Dashicons"; position: absolute; right: 10px; top: calc(50% - 7px); } .elementor-control-field.siteseo-content-analyses .gr-analysis-title button.open .siteseo-arrow::after { content:"\f347"; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content { padding: 0 1rem 0.5rem 1rem; display: none; width: 100%; border-top: 1px solid #e2e4e7; box-sizing: border-box; } .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_noindex, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_tkw, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_redirect_url, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_canonical, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_redirect_enable, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_desc, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_title, .elementor-control-field.siteseo-content-analyses table.wp-list-table .manage_column.column-siteseo_insights { width: 7%!important; } .elementor-control-field.siteseo-content-analyses h3 { margin: 0; font-size: 1em; } .elementor-control-field.siteseo-content-analyses h4 { border-bottom: 1px solid #e2e4e7; padding-bottom: 0.5rem; text-transform: uppercase; font-size: 0.85em; position: -webkit-sticky; /* Required for Safari */ position: sticky; top: 0; background: #fff; color: #444; font-weight: 600; margin: 1.33em 0; } .elementor-control-field.siteseo-content-analyses .wrap-analysis-img ul { display: flex; flex-wrap: wrap; } .elementor-control-field.siteseo-content-analyses .wrap-analysis-img ul li { padding: 0; text-align: left; cursor: default; } .elementor-control-field.siteseo-content-analyses .wrap-analysis-img h4 { border-bottom: 1px solid #ddd; padding-bottom: 10px; } .elementor-control-field.siteseo-content-analyses .wrap-analysis-img ul li img { max-width: 150px; max-height: 150px; object-fit: cover; border: 1px solid #f3f4f5; cursor: default; padding: 1px; } .elementor-control-field.siteseo-content-analyses .notice { padding: 10px 14px; } .elementor-control-field.siteseo-content-analyses .dashicons { vertical-align: middle; } .elementor-control-field.siteseo-content-analyses #siteseo-analysis-tabs { clear: both; margin-top: 10px; width: 100%; } .elementor-control-field.siteseo-content-analyses .inside { margin: 0; padding: 0; } .elementor-control-field.siteseo-content-analyses .ui-tabs .ui-tabs-nav { display: inline-block; min-height: 26px; position: relative; width: 100%; z-index: 10; margin: 0; border-radius: 0; padding: 0; background: #f3f4f5; border: none; } .elementor-control-field.siteseo-content-analyses .ui-helper-clearfix:after { content: none; } .siteseo_page_siteseo-titles #siteseo-tabs .form-table td,.siteseo_page_siteseo-titles .form-table td { padding: 0; } .elementor-control-field.siteseo-content-analyses .ui-tabs .ui-tabs-panel { background: #FFF; border-radius: 0; display: inline-block; padding: 1em 1.4em; width: 100%; box-sizing: border-box; } .elementor-control-field.siteseo-content-analyses .dashicons-info,.elementor-control-field.siteseo-content-analyses .ui-tabs .ui-tabs-panel .dashicons-info,#siteseo_pro_cpt .dashicons-info { font-size: 16px; vertical-align: middle; height: 16px; width: 16px; } .elementor-control-field.siteseo-content-analyses .ui-tabs .ui-tabs-nav li,.elementor-control-field.siteseo-content-analyses .ui-tabs-anchor { cursor: pointer!important; } .elementor-control-field.siteseo-content-analyses .ui-tabs .ui-tabs-nav li.ui-tabs-active { position: relative; z-index: 60; cursor: pointer; border-radius: 0; border-bottom: 3px solid #0085ba; } .elementor-control-field.siteseo-content-analyses label,.elementor-control-field.siteseo-content-analyses #tabs-1 label,.elementor-control-field.siteseo-content-analyses #tabs-2 label[for=siteseo_robots_breadcrumbs_meta],.elementor-control-field.siteseo-content-analyses #tabs-2 label[for=siteseo_robots_canonical_meta],.elementor-control-field.siteseo-content-analyses #tabs-2 label[for=siteseo_robots_primary_cat_meta],.elementor-control-field.siteseo-content-analyses #tabs-3 label,.elementor-control-field.siteseo-content-analyses #tabs-4 label,.elementor-control-field.siteseo-content-analyses #tabs-5 label,.elementor-control-field.siteseo-content-analyses #tabs-6 label,.elementor-control-field.siteseo-content-analyses .subsection-title { display: block; margin: 20px 0 5px; font-weight: 700; } .elementor-control-field.siteseo-content-analyses .wp-color-result { margin: 0; } .elementor-control-field.siteseo-content-analyses input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-1 input,.elementor-control-field.siteseo-content-analyses #tabs-2 input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-3 input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-3 textarea,.elementor-control-field.siteseo-content-analyses #tabs-4 input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-5 input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-6 input[type=text],.elementor-control-field.siteseo-content-analyses #tabs-6 textarea { width: 100%; display: inline-block; } .elementor-control-field.siteseo-content-analyses #tabs-1 input { width: 100%; } .elementor-control-field.siteseo-content-analyses .dashicons-no-alt, .elementor-control-field.siteseo-content-analyses .dashicons-yes { color: #fff; background: #12bd10; border-radius: 50px; margin-right: 10px; } .elementor-control-field.siteseo-content-analyses .dashicons-no-alt { background: #e25950; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content p { font-size: 13px; line-height: 1.5; margin: 1em 0; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content ul { margin: 13px 0; } .elementor-control-field.siteseo-content-analyses .gr-analysis-content li { margin-bottom: 6px; line-height: 1.4; font-size: 13px; } #siteseo_launch_analysis { background-color: #6d7882; -webkit-box-shadow: 0 0 2px rgba(0,0,0,.12), 0 2px 2px rgba(0,0,0,.2); box-shadow: 0 0 2px rgba(0,0,0,.12), 0 2px 2px rgba(0,0,0,.2); } #siteseo_launch_analysis:hover { opacity: 0.8; } PKZz:z''Tplugins/siteseo/main/admin/page-builders/elementor/assets/css/google-suggestions.cssnu[.siteseo-google-suggestions #siteseo_suggestions { display: inline-block; width: 100%; margin: 0; height: auto; } .siteseo-google-suggestions .siteseo-tooltip { position: relative; margin-left: 5px; display: inline-block; cursor: help; vertical-align: bottom; text-align: left; background: 0 0; border: none; padding: 0; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltiptext { visibility: hidden; position: absolute; z-index: 999999999; width: 300px; right: -260px; padding: 20px; top: 25px; font-weight: 400; box-shadow: 0 3px 30px rgba(25, 30, 35, .1); border: 1px solid #e2e4e7; background: #fff; word-break: break-word; text-transform: none; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltiptext::before { border: 8px solid #e2e4e7; top: -8px; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltiptext::after { border: 8px solid #fff; top: -6px; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltiptext::after, .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltiptext::before { border-bottom-style: solid; border-left-color: transparent; border-right-color: transparent; border-top: none; margin-left: -10px; content: ""; position: absolute; height: 0; width: 0; line-height: 0; left: 30px; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltip-headings { font-size: 18px; font-weight: 600; margin-bottom: 20px; display: block; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltip-desc { margin-bottom: 20px; display: block; border-bottom: 1px solid #e2e4e7; padding-bottom: 20px; font-size: 13px; } .siteseo-google-suggestions .siteseo-tooltip .siteseo-tooltip-code { font-family: Menlo, Monaco, Andale Mono, Courier New, monospace; display: block; word-break: break-all; color: #1a7a06; font-size: 11px; } .siteseo-google-suggestions #siteseo_google_suggest_kw_meta { width: 100%; margin: 5px 0; } .siteseo-google-suggestions label[for=siteseo_google_suggest_kw_meta] { width: 100%; margin: 0; } .siteseo-google-suggestions .elementor-button.elementor-button-default, #siteseo_ai_generate_seo_meta.elementor-button.elementor-button-default { background-color: #0071a1; } .siteseo-google-suggestions .elementor-button.elementor-button-default:hover, #siteseo_ai_generate_seo_meta.elementor-button.elementor-button-default:hover { background-color: #0071a1; opacity: 0.8; } .siteseo-google-suggestions #siteseo_suggestions li { list-style: none; margin: 5px; display: inline-block; border: 1px solid #0073aa; border-radius: 3px; white-space: nowrap; min-height: 26px; line-height: 2.18181818; padding: 0 8px; font-size: 11px; background: #f3f5f6; } .siteseo-google-suggestions #siteseo_suggestions li:hover { background: #f1f1f1; border-color: #016087; } .siteseo-google-suggestions #siteseo_suggestions li a { color: #0073aa; } .siteseo-google-suggestions #siteseo_suggestions li a:hover { text-decoration: none; } .siteseo-google-suggestions .siteseo-tooltip .dashicons { color: #666; } .elementor-control-field.siteseo-google-suggestions .siteseo-tooltip:hover .siteseo-tooltiptext, .elementor-control-field.siteseo-google-suggestions .siteseo-tooltip:focus .siteseo-tooltiptext, .elementor-control-field.siteseo-google-suggestions .siteseo-tooltip:active .siteseo-tooltiptext { visibility: visible; } PKZly! Kplugins/siteseo/main/admin/page-builders/elementor/assets/css/dark-mode.cssnu[body .siteseo-text-letter-counter .wrap-siteseo-counters, body .siteseo-styles .wrap-siteseo-counters { background: #34383c; } body .siteseo-text-letter-counter .siteseo-progress, body .siteseo-setup .siteseo-progress, body .siteseo-styles .siteseo-progress { background: #34383c; } body .google-snippet-preview .wrap-snippet { padding: 5px; background: #fff; width: 100%; } body .elementor-control-field.google-snippet-box .google-snippet-preview { display: block; width: 100%; } body .analysis-score p>span { color: #fff; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title button { background: #6d7882; color: #fff; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title { border-top: 1px solid #3f4348; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title button { background: inherit; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title { border-top: 1px solid #64666a; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-content { border-top: 1px solid #64666a; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title button:hover { background: #34383c; } body .elementor-control-field.siteseo-content-analyses a { color: inherit; } body .elementor-control-field.siteseo-content-analyses h3, body .elementor-control-field.siteseo-content-analyses h4 { color: inherit; background: #3f4348; } body .elementor-control-field.siteseo-content-analyses h4 { border-bottom: 1px solid #64666a; } body .elementor-control-field.siteseo-content-analyses .gr-analysis-title button:focus { color: #fff; } PKZTX1X1Pplugins/siteseo/main/admin/page-builders/elementor/assets/css/social-preview.cssnu[.elementor-control-field.facebook-snippet-box .facebook-snippet-text { border: 1px solid #dadde1; background-color: #f2f3f5; padding: 10px 12px; max-width: 100%; width: 100%; margin-top: -2px; } .elementor-control-field.facebook-snippet-box .facebook-snippet-text .snippet-meta { display: flex; overflow: hidden; max-height: 12px; } .elementor-control-field.facebook-snippet-box .fb-by, .elementor-control-field.facebook-snippet-box .snippet-fb-site-name, .elementor-control-field.facebook-snippet-box .snippet-fb-url { color: #606770; font-size: 12px; white-space: normal; line-height: 11px; text-transform: uppercase; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; } .elementor-control-field.facebook-snippet-box .fb-sep { padding-left: 5px; padding-right: 5px; color: #606770; line-height: 11px; font-size: 10px; } .elementor-control-field.facebook-snippet-box .snippet-fb-title { font-size: 16px; line-height: 20px; margin: 3px 0 0; padding-top: 2px; color: #1d2129; font-weight: 700; overflow: hidden; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; white-space: normal; word-break: break-word; max-height: 22px; } .elementor-control-field.facebook-snippet-box .snippet-fb-description-custom { color: #606770; font-size: 14px; line-height: 20px; word-break: break-word; font-family: Helvetica, Arial, sans-serif; max-height: 80px; overflow: hidden; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; white-space: normal; width: 100%; } .elementor-control-field.facebook-snippet-box, .elementor-control-field.twitter-snippet-box { color: #4b4f56; margin-top: 10px; } .elementor-control-field.facebook-snippet-box .snippet-fb-img { width: 100%; position: relative; } .elementor-control-field.facebook-snippet-box img { display: block; height: 156px; width: 100%; object-fit: cover; background-color: #edeff0; text-align: center; border-bottom: none; } .elementor-control-field.facebook-snippet-box img:after, .elementor-control-field.twitter-snippet-box img:after { content: ""; position: absolute; width: 100%; height: 100%; z-index: 99; background: #edeff0; top: 0; left: 0; border: 1px solid #dadde1; } .elementor-control-field.twitter-snippet-box .snippet-twitter-img-default { border-radius: 10px 10px 0 0; overflow: hidden; height: 130px; position: relative; width: 100%; } .elementor-control-field.twitter-snippet-box img { display: block; height: 100%; width: 100%; object-fit: cover; background-color: #edeff0; text-align: center; border-bottom: none; } .elementor-control-field.twitter-snippet-box .snippet-fb-description-custom { word-break: break-all; } .elementor-control-field.twitter-snippet-box .twitter-snippet-text { border: 1px solid #dadde1; background-color: #fff; padding: 8px 12px; border-radius: 0 0 10px 10px; margin-top: -2px; width: 100%; } .elementor-control-field.twitter-snippet-box .snippet-twitter-title { font-size: 14px; line-height: 20px; margin-bottom: 5px; max-height: 1.3em; color: #000; font-weight: 700; overflow: hidden; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; white-space: normal; word-break: break-word; } .elementor-control-field.twitter-snippet-box .snippet-twitter-description { color: #000; font-size: 14px; line-height: 20px; word-break: break-word; font-family: Helvetica, Arial, sans-serif; max-height: 80px px; overflow: hidden; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; white-space: normal; width: 100%; } .elementor-control-field.twitter-snippet-box .snippet-meta { display: flex; margin-top: 5px; } .elementor-control-field.twitter-snippet-box .snippet-twitter-url { color: #8899a6; font-size: 14px; white-space: normal; line-height: 11px; text-transform: uppercase; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; } .elementor-control-field.google-snippet-box .google-snippet-preview { font-family: arial, sans-serif; word-break: break-all; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview { font-family: Roboto, Helvetica Neue, Arial, sans-serif; } .elementor-control-field.google-snippet-box .wrap-toggle-preview { position: relative; margin: 10px 0; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-snippet { margin: 0 0 10px 0; box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28); border-radius: 8px; padding: 12px 16px; background: #fff; } .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-date { color: grey; display: inline; font-size: 14px; } .elementor-control-field.google-snippet-box .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink .snippet-favicon, .elementor-control-field.google-snippet-box .google-snippet-preview .wrap-post-thumb, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-post-thumb:empty, .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-sitename { display: none; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-snippet .wrap-m-icon-permalink .snippet-favicon { display: block; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-snippet-mobile { display: flex; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-meta-desc { margin-right: 8px; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-post-thumb { margin-left: 8px; display: block; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-post-thumb { width: 104px; max-width: inherit; height: 104px; border-radius: 8px; object-fit: cover; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-m-icon-permalink { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: 11px; display: flex; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-favicon { vertical-align: middle; background-color: #f1f3f4; border-radius: 50%; border: 1px solid #ecedef; -webkit-text-size-adjust: none; display: inline-block; line-height: 26px; padding: 0 4px; margin-right: 12px; width: 28px; height: 28px; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-favicon img { width: 18px; height: 18px; max-width: inherit; vertical-align: middle; text-align: center; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink { display: block; color: #202124; font-size: 12px; } .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-permalink { font-size: 14px; font-style: normal; font-weight: 400; line-height: 18.2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #3c434a; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-sitename { color: #202124; font-family: Google Sans, Roboto, Helvetica Neue, Arial, sans-serif; font-weight: 400; letter-spacing: 0.1px; font-size: 14px; line-height: 20px; white-space: nowrap; display: block; } .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-title, .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-title-custom, .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-title-default { color: #1a0dab; font-size: 20px; font-weight: 400; line-height: 26px; margin-bottom: 3px; padding-top: 5px; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title-custom, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title-default { color: #1558d6; padding-top: 0; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title-custom, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-title-default { font-size: 16px; line-height: 20px; margin-bottom: 12px; } .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-description, .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-description-custom, .elementor-control-field.google-snippet-box .google-snippet-preview .snippet-description-default { color: rgb(77, 81, 86); font-size: 14px; font-weight: 400; line-height: 18.2px; display: inline; } .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-description, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-description-custom, .elementor-control-field.google-snippet-box .google-snippet-preview.mobile-preview .snippet-description-default { color: rgb(77, 81, 86); font-size: 14px; line-height: 20px; } .elementor-control-field.google-snippet-box .wrap-toggle-preview p { display: flex; align-items: center; } .elementor-control-field.google-snippet-box input.toggle+label { display: inline-block; position: relative; box-shadow: inset 0 0 0 1px #d5d5d5; text-indent: -5000px; height: 20px; width: 40px; border-radius: 15px; } .elementor-control-field.google-snippet-box input.toggle { max-height: 0; max-width: 0; opacity: 0; position: relative; } .elementor-control-field.google-snippet-box input.toggle+label { margin: 0; } .elementor-control-field.google-snippet-box input.toggle+label { display: inline-block; position: relative; box-shadow: inset 0 0 0 1px #d5d5d5; text-indent: -5000px; height: 20px; width: 40px; border-radius: 15px; margin-left: 8px; cursor: pointer; } .elementor-control-field.google-snippet-box input.toggle[data-toggle="1"]+label:before { width: 40px; background: #3197d3; } .elementor-control-field.google-snippet-box input.toggle+label:before { content: ""; position: absolute; display: block; height: 20px; width: 30px; top: 0; left: 0; border-radius: 15px; background: rgba(19, 191, 17, 0); -moz-transition: 0.25s ease-in-out; -webkit-transition: 0.25s ease-in-out; transition: 0.25s ease-in-out; } .elementor-control-field.google-snippet-box input.toggle+label:after { content: ""; position: absolute; display: block; height: 20px; width: 20px; top: 0; left: 0; border-radius: 15px; background: #fff; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2); -moz-transition: 0.25s ease-in-out; -webkit-transition: 0.25s ease-in-out; transition: 0.25s ease-in-out; } .elementor-control-field.google-snippet-box input.toggle[data-toggle="1"]+label:after { left: 20px; box-shadow: inset 0 0 0 1px #3197d3, 0 2px 4px rgba(0, 0, 0, 0.2); } .notice, div.error, div.updated { background: #fff; border: 1px solid #ccd0d4; border-left-width: 4px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); margin: 5px 15px 2px; padding: 1px 12px; } .notice-info { border-left-color: #00a0d2; } .facebook-snippet-box .notice, .twitter-snippet-box .notice { padding: 10px 14px; margin: 0 0 10px 0; box-sizing: border-box; width: 100%; } .notice-error, div.error { border-left-color: #dc3232; } .snippet-fb-img-alert, .snippet-twitter-img-alert { width: 100%; } .facebook-snippet-box .notice span, .twitter-snippet-box .notice span { font-weight: 700; } PKZ Uplugins/siteseo/main/admin/page-builders/elementor/assets/css/text-letter-counter.cssnu[.siteseo-text-letter-counter .siteseo-progress, .siteseo-setup .siteseo-progress, .siteseo-styles .siteseo-progress { display: -ms-flexbox; display: flex; height: 1rem; overflow: hidden; font-size: .75rem; background-color: #e9ecef; border-radius: .25rem .25rem 0 0; } .siteseo-text-letter-counter .siteseo-progress-bar, .siteseo-setup .siteseo-progress-bar, .siteseo-styles .siteseo-progress-bar { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; color: #fff; text-align: center; white-space: nowrap; background-color: #0085ba; transition: width .6s ease; } .siteseo-text-letter-counter .wrap-siteseo-counters, .siteseo-styles .wrap-siteseo-counters { text-align: right; background: #e9ecef; padding: 2px 5px; display: flex; font-size: 12px; justify-content: flex-end; border-radius: 0 0 .25rem .25rem; } .siteseo-text-letter-counter #siteseo_titles_desc_counters, .siteseo-text-letter-counter #siteseo_titles_title_counters { display: inline; margin-right: 5px; } .siteseo-text-letter-counter .siteseo_counters_val { display: inline; font-weight: 700; } .siteseo-text-letter-counter .wrap-tags, .siteseo-option .wrap-tags { position: relative; display: inline-block; width: 100%; margin-bottom: 10px; } .siteseo-text-letter-counter .tag-title, .siteseo-option .tag-title, .siteseo-option .siteseo-tag-dropdown { padding: 4px 8px; position: relative; top: 5px; left: 0; font-size: 11px; float: left; margin-right: 5px; user-select: none; margin-bottom: 5px; background: #fff; color: #6b7c93; box-shadow: 0 0 0 0.5px rgba(50,50,93,.17), 0 2px 5px 0 rgba(50,50,93,.12), 0 3px 9px 0 rgba(50,50,93,.08), 0 1px 1.5px 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.08); cursor: pointer; font-weight: 500; border-radius: 4px; transition: all .3s linear; display: flex; align-items: center; } .siteseo-text-letter-counter .tag-title:active, .siteseo-text-letter-counter .tag-title:focus, .siteseo-text-letter-counter .tag-title:hover { background: #232323; color: #fff; user-select: none; } .siteseo-text-letter-counter .tag-title .dashicons, .siteseo-option .tag-title .dashicons { padding: 0; height: 16px; width: 16px; font-size: 16px; margin-right: 5px; vertical-align: middle; }PKZ@>Fplugins/siteseo/main/admin/page-builders/elementor/elementor-addon.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) { die(); } /** * Autoloader * * @param string $class * * @return boolean */ function siteseo_elementor_addon_autoloader( $class ) { $dir = '/inc'; switch ( $class ) { case false !== strpos( $class, 'SiteSeoElementorAddon\\Admin\\' ): $class = strtolower( str_replace( 'SiteSeoElementorAddon\\Admin', '', $class ) ); $dir .= '/admin'; break; case false !== strpos( $class, 'SiteSeoElementorAddon\\Controls\\' ): $class = strtolower( str_replace( 'SiteSeoElementorAddon\\Controls', '', $class ) ); $dir .= '/controls'; break; case false !== strpos( $class, 'SiteSeoElementorAddon\\' ): $class = strtolower( str_replace( 'SiteSeoElementorAddon', '', $class ) ); break; default: return; } $filename = dirname( __FILE__ ) . $dir . str_replace( '_', '-', str_replace( '\\', '/class-', $class ) ) . '.php'; if ( file_exists( $filename ) ) { require_once $filename; if ( class_exists( $class ) ) { return true; } } return false; } spl_autoload_register( 'siteseo_elementor_addon_autoloader' ); final class SiteSeo_Elementor_Addon { /** * Class instance * * @var \SiteSeo_Elementor_Addon */ private static $instance = null; /** * Load instance of the class * * @return \SiteSeo_Elementor_Addon */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new static(); self::$instance->_constants(); self::$instance->_load_objects(); } return self::$instance; } /** * Constructor private * * @return void */ private function __construct() { } /** * Define plugin constants * * @return void */ private function _constants() { if ( ! defined( 'SITESEO_ELEMENTOR_ADDON_DIR' ) ) { define( 'SITESEO_ELEMENTOR_ADDON_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) ); } if ( ! defined( 'SITESEO_ELEMENTOR_ADDON_URL' ) ) { define( 'SITESEO_ELEMENTOR_ADDON_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) ); } } /** * Initiate classes * * @return void */ private function _load_objects() { if ( is_admin() ) { \SiteSeoElementorAddon\Register_Controls::get_instance(); \SiteSeoElementorAddon\Admin\Siteseo_Meta_Helper::get_meta_fields(); \SiteSeoElementorAddon\Admin\Document_Settings_Section::get_instance(); } } } SiteSeo_Elementor_Addon::get_instance(); function siteseo_elementor_tabs_seo_start() { ob_start(); } function siteseo_elementor_tabs_seo_end() { $output = \ob_get_clean(); $search = '/(
    .*<\/div>)/m'; $replace = '${1}
    SEO
    '; // phpcs:disable echo \preg_replace( $search, $replace, $output ); // phpcs:enable } add_action( 'elementor/editor/footer', 'siteseo_elementor_tabs_seo_start', 0 ); add_action( 'elementor/editor/footer', 'siteseo_elementor_tabs_seo_end', 999 );PKZ@avvZplugins/siteseo/main/admin/page-builders/elementor/inc/admin/class-siteseo-meta-helper.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Admin; class Siteseo_Meta_Helper { public static function get_meta_fields() { return [ '_siteseo_titles_title', '_siteseo_titles_desc', '_siteseo_robots_index', '_siteseo_robots_follow', '_siteseo_robots_imageindex', '_siteseo_robots_archive', '_siteseo_robots_snippet', '_siteseo_robots_canonical', '_siteseo_robots_primary_cat', '_siteseo_robots_breadcrumbs', '_siteseo_social_fb_title', '_siteseo_social_fb_desc', '_siteseo_social_fb_img', '_siteseo_social_twitter_title', '_siteseo_social_twitter_desc', '_siteseo_social_twitter_img', '_siteseo_redirections_enabled', '_siteseo_redirections_type', '_siteseo_redirections_value', '_siteseo_analysis_target_kw', '_siteseo_analysis_data', ]; } } function siteseo_get_meta_helper() { return new Siteseo_Meta_Helper(); } PKZNRXX`plugins/siteseo/main/admin/page-builders/elementor/inc/admin/class-document-settings-section.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Admin; if ( ! defined('ABSPATH')) { exit(); } class Document_Settings_Section { use \SiteSeoElementorAddon\Singleton; /** * Initialize class. * * @return void */ private function _initialize() { add_action('elementor/editor/before_enqueue_scripts', [$this, 'check_security']); add_action('elementor/documents/register_controls', [$this, 'add_siteseo_section_to_document_settings'], 20); add_action('elementor/document/after_save', [$this, 'on_save'], 99, 2); add_action('siteseo/page-builders/elementor/save_meta', [$this, 'on_siteseo_meta_save'], 99); add_action('elementor/editor/before_enqueue_scripts', [$this, 'register_elements_assets'], 9999); } /** * Is the current user allowed to view metaboxes? * * @return boolean */ public function check_security($metabox) { if (is_bool($metabox)) { return true; } if (is_super_admin()) { return true; } global $wp_roles; //Get current user role if (isset(wp_get_current_user()->roles[0])) { $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from Security settings then apply if (empty($metabox)) { return true; } if (!array_key_exists($siteseo_user_role, $metabox)) { return true; } return false; } } public function register_elements_assets() { wp_register_script( 'siteseo-elementor-base-script', SITESEO_ELEMENTOR_ADDON_URL . 'assets/js/base.js', ['jquery'], SITESEO_VERSION, true ); if (get_current_user_id()) { if (get_user_meta(get_current_user_id(), 'elementor_preferences', true)) { $settings = get_user_meta(get_current_user_id(), 'elementor_preferences', true); if ( ! empty($settings) && isset($settings['ui_theme']) && 'dark' == $settings['ui_theme']) { wp_enqueue_style( 'siteseo-el-dark-mode-style', SITESEO_ELEMENTOR_ADDON_URL . 'assets/css/dark-mode.css' ); } } } global $post; $term = ''; $origin = ''; $post_type = ''; $post_id = ''; $keywords = ''; if (is_archive()) { $origin = 'term'; } if (is_singular()) { $post_id = $post->ID; $post_type = $post->post_type; $origin = 'post'; $keywords = get_post_meta($post_id, '_siteseo_analysis_target_kw', true); if (class_exists('\Elementor\Plugin') && \Elementor\Plugin::$instance->editor->is_edit_mode()) { $is_elementor = true; } } $siteseo_real_preview = [ 'siteseo_nonce' => wp_create_nonce('siteseo_real_preview_nonce'), 'siteseo_real_preview' => admin_url('admin-ajax.php'), 'post_id' => $post_id, 'i18n' => ['progress' => __('Analysis in progress...', 'siteseo')], 'post_type' => $post_type, 'post_tax' => $term, 'origin' => $origin, 'keywords' => $keywords, 'is_elementor' => $is_elementor, ]; wp_localize_script('siteseo-elementor-base-script', 'siteseoElementorBase', $siteseo_real_preview); } /** * Add WP SiteSEO section under document settings. * * @return void */ public function add_siteseo_section_to_document_settings(\Elementor\Core\Base\Document $document) { $post_id = $document->get_main_id(); $seo_metabox = siteseo_get_service('AdvancedOption')->getSecurityMetaboxRole() ? siteseo_get_service('AdvancedOption')->getSecurityMetaboxRole() : true; $ca_metabox = siteseo_get_service('AdvancedOption')->getSecurityMetaboxRoleContentAnalysis() ? siteseo_get_service('AdvancedOption')->getSecurityMetaboxRoleContentAnalysis() : true; if ($this->check_security($seo_metabox) === true) { $this->_add_title_section($document, $post_id); $this->_add_advanced_section($document, $post_id); $this->_add_social_section($document, $post_id); $this->_add_redirection_section($document, $post_id); } if ($this->check_security($ca_metabox) === true) { $this->_add_content_analysis_section($document, $post_id); } } /** * Add title section. * * @param \Elementor\Core\Base\Document $document * @param int $post_id * * @return void */ private function _add_title_section($document, $post_id) { $document->start_controls_section( 'siteseo_title_settings', [ 'label' => __('SEO Title / Description', 'siteseo'), 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, ] ); $s_title = get_post_meta($post_id, '_siteseo_titles_title', true); $s_desc = get_post_meta($post_id, '_siteseo_titles_desc', true); $original_desc = substr(strip_tags(get_the_content(null, true, $post_id)), 0, 140); $desc = $s_desc ? $s_desc : $original_desc; $title = ! empty($s_title) ? $s_title : get_the_title($post_id); $document->add_control( '_siteseo_titles_title', [ 'label' => __('Title', 'siteseo'), 'type' => 'siteseotextlettercounter', 'field_type' => 'text', 'label_block' => true, 'separator' => 'none', 'default' => $s_title ? $s_title : '', ] ); $document->add_control( '_siteseo_titles_desc', [ 'label' => __('Meta Description', 'siteseo'), 'type' => 'siteseotextlettercounter', 'field_type' => 'textarea', 'label_block' => true, 'separator' => 'none', 'default' => $s_desc ? $s_desc : '', ] ); $document->add_control( 'social_preview_google', [ 'label' => __('Google Snippet Preview', 'siteseo'), 'type' => 'siteseo-social-preview', 'label_block' => true, 'separator' => 'none', 'network' => 'google', 'title' => $title ? $title : '', 'description' => $desc ? $desc : '', 'link' => get_permalink($post_id), 'post_id' => $post_id, 'origin' => is_singular() ? 'post' : 'term', 'post_type' => get_post_status($post_id), ] ); $document->end_controls_section(); } /** * Add advanced section. * * @param \Elementor\Core\Base\Document $document * @param int $post_id * * @return void */ private function _add_advanced_section($document, $post_id) { $document->start_controls_section( '_siteseo_advanced_settings', [ 'label' => __('SEO Advanced', 'siteseo'), 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, ] ); $robots_index = get_post_meta($post_id, '_siteseo_robots_index', true); $robots_follow = get_post_meta($post_id, '_siteseo_robots_follow', true); $robots_imageindex = get_post_meta($post_id, '_siteseo_robots_imageindex', true); $robots_archive = get_post_meta($post_id, '_siteseo_robots_archive', true); $robots_snippet = get_post_meta($post_id, '_siteseo_robots_snippet', true); $robots_canonical = get_post_meta($post_id, '_siteseo_robots_canonical', true); $robots_primary_cat = get_post_meta($post_id, '_siteseo_robots_primary_cat', true); $robots_breadcrumbs = get_post_meta($post_id, '_siteseo_robots_breadcrumbs', true); $document->add_control( '_siteseo_robots_index', [ 'label' => __('Don\'t display this page in search engine results / Sitemaps (noindex)', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => true, 'separator' => 'none', 'default' => 'yes' === $robots_index ? 'yes' : '', ] ); $document->add_control( '_siteseo_robots_follow', [ 'label' => __('Don\'t follow links for this page (nofollow)', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => true, 'separator' => 'none', 'default' => 'yes' === $robots_follow ? 'yes' : '', ] ); $document->add_control( '_siteseo_robots_imageindex', [ 'label' => __('Don\'t index images for this page (noimageindex)', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => true, 'separator' => 'none', 'default' => 'yes' === $robots_imageindex ? 'yes' : '', ] ); $document->add_control( '_siteseo_robots_archive', [ 'label' => __('Don\'t display a "Cached" link in the Google search results (noarchive)', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => true, 'separator' => 'none', 'default' => 'yes' === $robots_archive ? 'yes' : '', ] ); $document->add_control( '_siteseo_robots_snippet', [ 'label' => __('Don\'t display a description in search results for this page (nosnippet)', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => true, 'separator' => 'none', 'default' => 'yes' === $robots_snippet ? 'yes' : '', ] ); $document->add_control( '_siteseo_robots_canonical', [ 'label' => __('Canonical URL', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'none', 'default' => $robots_canonical ? $robots_canonical : '', ] ); global $typenow; global $pagenow; if (('post' == $typenow || 'product' == $typenow) && ('post.php' == $pagenow || 'post-new.php' == $pagenow)) { $cats = get_categories(); if ('product' == $typenow) { $cats = get_the_terms($post_id, 'product_cat'); } if ( ! empty($cats)) { $options = []; foreach ($cats as $category) { $options[$category->term_id] = $category->name; } $options['none'] = __('None (will disable this feature)', 'siteseo'); } if ( ! empty($options)) { $document->add_control( '_siteseo_robots_primary_cat', [ 'label' => __('Select a primary category', 'siteseo'), 'description' => __('Set the category that gets used in the %category% permalink and in our breadcrumbs if you have multiple categories.', 'siteseo'), 'type' => \Elementor\Controls_Manager::SELECT, 'label_block' => true, 'separator' => 'none', 'options' => $options, 'default' => $robots_primary_cat ? (int) $robots_primary_cat : 'none', ] ); } } if (is_plugin_active('siteseo-pro/siteseo-pro.php')) { $document->add_control( '_siteseo_robots_breadcrumbs', [ 'label' => __('Custom breadcrumbs', 'siteseo'), 'description' => __('Enter a custom value, useful if your title is too long', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'none', 'default' => $robots_breadcrumbs ? $robots_breadcrumbs : '', ] ); } $document->end_controls_section(); } /** * Add social section. * * @param \Elementor\Core\Base\Document $document * @param int $post_id * * @return void */ private function _add_social_section($document, $post_id) { $document->start_controls_section( '_siteseo_social_settings', [ 'label' => __('SEO Social', 'siteseo'), 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, ] ); $fb_title = get_post_meta($post_id, '_siteseo_social_fb_title', true); $fb_desc = get_post_meta($post_id, '_siteseo_social_fb_desc', true); $fb_image = get_post_meta($post_id, '_siteseo_social_fb_img', true); $twitter_title = get_post_meta($post_id, '_siteseo_social_twitter_title', true); $twitter_desc = get_post_meta($post_id, '_siteseo_social_twitter_desc', true); $twitter_image = get_post_meta($post_id, '_siteseo_social_twitter_img', true); $default_preview_title = get_the_title($post_id); $default_preview_desc = substr(strip_tags(get_the_content(null, true, $post_id)), 0, 140); $document->add_control( '_siteseo_social_note', [ //'label' => __( 'Important Note', 'siteseo' ), 'type' => \Elementor\Controls_Manager::RAW_HTML, 'raw' => sprintf(__('

    Ask Facebook to update its cache

    ', 'siteseo'), get_permalink(get_the_id())), //'content_classes' => 'your-class', ] ); $document->add_control( '_siteseo_social_note_2', [ //'label' => __( 'Important Note', 'siteseo' ), 'type' => \Elementor\Controls_Manager::RAW_HTML, 'raw' => __('

    Did you know? LinkedIn, Instagram and Pinterest use the same social metadata as Facebook. Twitter does the same if no Twitter cards tags are defined below.

    ', 'siteseo'), //'content_classes' => 'your-class', ] ); $document->add_control( '_siteseo_social_fb_title', [ 'label' => __('Facebook Title', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'none', 'default' => $fb_title ? $fb_title : '', ] ); $document->add_control( '_siteseo_social_fb_desc', [ 'label' => __('Facebook description', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'label_block' => true, 'separator' => 'none', 'default' => $fb_desc ? $fb_desc : '', ] ); $document->add_control( '_siteseo_social_fb_img', [ 'label' => __('Facebook Thumbnail', 'siteseo'), 'type' => \Elementor\Controls_Manager::MEDIA, 'label_block' => true, 'separator' => 'none', 'default' => [ 'url' => $fb_image ? $fb_image : '', ], ] ); $document->add_control( 'social_preview_facebook', [ 'label' => __('Facebook Preview', 'siteseo'), 'type' => 'siteseo-social-preview', 'label_block' => true, 'separator' => 'none', 'network' => 'facebook', 'image' => $fb_image ? $fb_image : '', 'title' => $fb_title ? $fb_title : $default_preview_title, 'description' => $fb_desc ? $fb_desc : $default_preview_desc, ] ); $document->add_control( '_siteseo_social_twitter_title', [ 'label' => __('Twitter Title', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'none', 'default' => $twitter_title ? $twitter_title : '', ] ); $document->add_control( '_siteseo_social_twitter_desc', [ 'label' => __('Twitter description', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'label_block' => true, 'separator' => 'none', 'default' => $twitter_desc ? $twitter_desc : '', ] ); $document->add_control( '_siteseo_social_twitter_img', [ 'label' => __('Twitter Thumbnail', 'siteseo'), 'type' => \Elementor\Controls_Manager::MEDIA, 'label_block' => true, 'separator' => 'none', 'default' => [ 'url' => $twitter_image ? $twitter_image : '', ], ] ); $document->add_control( 'social_preview_twitter', [ 'label' => __('Twitter Preview', 'siteseo'), 'type' => 'siteseo-social-preview', 'label_block' => true, 'separator' => 'none', 'network' => 'twitter', 'image' => $twitter_image ? $twitter_image : '', 'title' => $twitter_title ? $twitter_title : $default_preview_title, 'description' => $twitter_desc ? $twitter_desc : $default_preview_desc, ] ); $document->end_controls_section(); } /** * Add redirection section. * * @param \Elementor\Core\Base\Document $document * @param int $post_id * * @return void */ private function _add_redirection_section($document, $post_id) { $document->start_controls_section( 'siteseo_redirection_settings', [ 'label' => __('SEO Redirection', 'siteseo'), 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, ] ); $redirections_enabled = get_post_meta($post_id, '_siteseo_redirections_enabled', true); $redirections_type = get_post_meta($post_id, '_siteseo_redirections_type', true); $redirections_value = get_post_meta($post_id, '_siteseo_redirections_value', true); $document->add_control( '_siteseo_redirections_enabled', [ 'label' => __('Enable redirection?', 'siteseo'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_block' => false, 'separator' => 'none', 'default' => 'yes' === $redirections_enabled ? 'yes' : '', ] ); $document->add_control( '_siteseo_redirections_type', [ 'label' => __('URL redirection', 'siteseo'), 'type' => \Elementor\Controls_Manager::SELECT, 'label_block' => true, 'separator' => 'none', 'options' => [ 301 => __('301 Moved Permanently', 'siteseo'), 302 => __('302 Found / Moved Temporarily', 'siteseo'), 307 => __('307 Moved Temporarily', 'siteseo') ], 'default' => $redirections_type ? (int) $redirections_type : 301, ] ); $document->add_control( '_siteseo_redirections_value', [ 'label' => __('Enter your new URL in absolute (eg: https://www.example.com/)', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'none', 'default' => $redirections_value ? $redirections_value : '', ] ); $document->end_controls_section(); } /** * Add Content analysis section. * * @param \Elementor\Core\Base\Document $document * @param int $post_id * * @return void */ private function _add_content_analysis_section($document, $post_id) { $document->start_controls_section( 'siteseo_content_analysis_settings', [ 'label' => __('SEO Content Analysis', 'siteseo'), 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, ] ); $keywords = get_post_meta($post_id, '_siteseo_analysis_target_kw', true); $document->add_control( '_siteseo_analysis_note', [ //'label' => __( 'Important Note', 'siteseo' ), 'type' => \Elementor\Controls_Manager::RAW_HTML, 'raw' => __('

    Enter a few keywords for analysis to help you write optimized content.

    Did you know? Writing content for your users is the most important thing! If it doesn‘t feel natural, your visitors will leave your site, Google will know it and your ranking will be affected.

    ', 'siteseo'), //'content_classes' => 'your-class', ] ); $document->add_control( '_siteseo_analysis_target_kw', [ 'label' => __('Target keywords', 'siteseo'), 'type' => \Elementor\Controls_Manager::TEXT, 'description' => __('Separate target keywords with commas. Do not use spaces after the commas, unless you want to include them', 'siteseo'), 'label_block' => true, 'separator' => 'none', 'default' => $keywords ? $keywords : '', ] ); if (is_plugin_active('siteseo-pro/siteseo-pro.php')) { $document->add_control( 'siteseo_google_suggest_kw', [ 'label' => __('Google suggestions', 'siteseo'), 'type' => 'siteseo-google-suggestions', 'label_block' => true, 'separator' => 'none', ] ); } $document->add_control( 'siteseo_content_analyses', [ 'label' => '', 'type' => 'siteseo-content-analysis', 'description' => __('To get the most accurate analysis, save your post first. We analyze all of your source code as a search engine would.', 'siteseo'), 'label_block' => true, 'separator' => 'none', ] ); $document->end_controls_section(); } /** * Before saving of the values in elementor. * * @param array $data * * @return void */ public function on_save(\Elementor\Core\Base\Document $document, $data) { $settings = ! empty($data['settings']) ? $data['settings'] : []; if (empty($settings)) { return; } $post_id = $document->get_main_id(); if ( ! $post_id) { return; } $siteseo_settings = array_filter( $settings, function ($key) { return in_array($key, $this->get_allowed_meta_keys(), true); }, ARRAY_FILTER_USE_KEY ); if (empty($siteseo_settings)) { return; } if (isset($siteseo_settings['_siteseo_social_fb_img'])) { $siteseo_settings['_siteseo_social_fb_img'] = $siteseo_settings['_siteseo_social_fb_img']['url']; } if (isset($siteseo_settings['_siteseo_social_twitter_img'])) { $siteseo_settings['_siteseo_social_twitter_img'] = $siteseo_settings['_siteseo_social_twitter_img']['url']; } $siteseo_settings = array_map('sanitize_text_field', $siteseo_settings); $post_id = wp_update_post( [ 'ID' => $post_id, 'meta_input' => $siteseo_settings, ] ); if (is_wp_error($post_id)) { throw new \Exception(wp_kses_post($post_id->get_error_message())); } } /** * Save siteseo meta to elementor. * * @param int $post_id * * @return void */ public function on_siteseo_meta_save($post_id) { if ( ! class_exists('\Elementor\Core\Settings\Manager')) { return; } if (class_exists('\Elementor\Plugin') && \Elementor\Plugin::$instance->editor->is_edit_mode()) { $meta = get_post_meta($post_id); $siteseo_meta = array_filter( $meta, function ($key) { return in_array($key, $this->get_allowed_meta_keys(), true); }, ARRAY_FILTER_USE_KEY ); if (empty($siteseo_meta)) { return; } $settings = []; foreach ($siteseo_meta as $key => $sm) { $settings[$key] = maybe_unserialize( ! empty($sm[0]) ? $sm[0] : ''); } $seo_data['settings'] = $settings; $page_settings = get_metadata('post', $post_id, \Elementor\Core\Settings\Page\Manager::META_KEY, true); $settings = array_merge($page_settings, $settings); remove_action('siteseo/page-builders/elementor/save_meta', [$this, 'on_siteseo_meta_save'], 99); $page_settings_manager = \Elementor\Core\Settings\Manager::get_settings_managers('page'); $page_settings_manager->ajax_before_save_settings($settings, $post_id); $page_settings_manager->save_settings($settings, $post_id); add_action('siteseo/page-builders/elementor/save_meta', [$this, 'on_siteseo_meta_save'], 99); } } public function get_allowed_meta_keys() { return siteseo_get_meta_helper()->get_meta_fields(); } } PKZG-LRplugins/siteseo/main/admin/page-builders/elementor/inc/class-register-controls.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon; if ( ! defined( 'ABSPATH' ) ) { die(); } class Register_Controls { use \SiteSeoElementorAddon\Singleton; /** * Initialize class * * @return void */ private function _initialize() { add_action( 'elementor/controls/register', [ $this, 'register_controls' ] ); } /** * Register controls * * @return void */ public function register_controls( $controls_manager ) { $controls_manager->register( new \SiteSeoElementorAddon\Controls\Social_Preview_Control() ); $controls_manager->register( new \SiteSeoElementorAddon\Controls\Text_Letter_Counter_Control() ); $controls_manager->register( new \SiteSeoElementorAddon\Controls\Content_Analysis_Control() ); if ( is_plugin_active( 'siteseo-pro/siteseo-pro.php' ) ) { $controls_manager->register( new \SiteSeoElementorAddon\Controls\Google_Suggestions_Control() ); } } } PKZMܚJplugins/siteseo/main/admin/page-builders/elementor/inc/class-singleton.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon; trait Singleton { /** * Instance of the object * * @var \Object */ private static $instance = null; /** * Setup singleton instanc * * @return \Object */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new static(); } return self::$instance; } /** * Private consturct * * @return void */ private function __construct() { if ( method_exists( $this, '_initialize' ) ) { $this->_initialize(); } } } PKZbD`plugins/siteseo/main/admin/page-builders/elementor/inc/controls/class-social-preview-control.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Controls; if ( ! defined('ABSPATH')) { exit(); } class Social_Preview_Control extends \Elementor\Base_Control { public function get_type() { return 'siteseo-social-preview'; } public function enqueue() { wp_enqueue_style( 'siteseo-el-social-preview-style', SITESEO_ELEMENTOR_ADDON_URL . 'assets/css/social-preview.css' ); wp_enqueue_script( 'siteseo-el-social-preview-script', SITESEO_ELEMENTOR_ADDON_URL . 'assets/js/social-preview.js', ['siteseo-elementor-base-script'], 11, true ); wp_localize_script('siteseo-el-social-preview-script', 'siteseoFiltersElementor', [ 'resize_panel' => apply_filters('siteseo_resize_panel_elementor', true), ]); } protected function get_default_settings() { return [ 'image' => null, 'title' => '', 'description' => '', ]; } public function content_template() { $site_url = explode('//', get_bloginfo('url'))[1]; ?> <# if ( data.network === 'facebook' ) { #> <# } else if( data.network === 'twitter' ) { #> <# } else if( data.network === 'google' ) { #>

    getHomeSiteTitleAlt()) ? siteseo_get_service('TitleOption')->getHomeSiteTitleAlt() : get_bloginfo('name'); $gp_title = ''; $gp_permalink = ''; $siteicon = '
    '; if (get_site_icon_url(32)) { $siteicon = '
    '; } ?>
    {{{ data.title }}}
    {{{ data.description }}}
    'snippet-post-thumb']); ?>
    <# } #> */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Controls; if ( ! defined('ABSPATH')) { exit(); } class Google_Suggestions_Control extends \Elementor\Base_Control { public function get_type() { return 'siteseo-google-suggestions'; } public function enqueue() { wp_enqueue_style( 'siteseo-el-google-suggestions-style', SITESEO_ELEMENTOR_ADDON_URL . 'assets/css/google-suggestions.css' ); wp_enqueue_script( 'siteseo-el-google-suggestions-script', SITESEO_ELEMENTOR_ADDON_URL . 'assets/js/google-suggestions.js', ['jquery'], SITESEO_VERSION, true ); if ('' != get_locale()) { $locale = substr(get_locale(), 0, 2); $country_code = substr(get_locale(), -2); } else { $locale = 'en'; $country_code = 'US'; } wp_localize_script( 'siteseo-el-google-suggestions-script', 'googleSuggestions', [ 'locale' => $locale, 'countryCode' => $country_code, ] ); } protected function get_default_settings() { global $post; return [ 'label' => __('Google suggestions', 'siteseo'), 'tooltip' => siteseo_tooltip(__('Google suggestions', 'siteseo'), __('Enter a keyword, or a phrase, to find the top 10 Google suggestions instantly. This is useful if you want to work with the long tail technique.', 'siteseo'), esc_html('my super keyword,another keyword,keyword')), 'placeholder' => __('Get suggestions from Google', 'siteseo'), 'buttonLabel' => __('Get suggestions!', 'siteseo'), ]; } public function content_template() { ?>
      */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Controls; if ( ! defined('ABSPATH')) { exit(); } class Content_Analysis_Control extends \Elementor\Base_Control { public function get_type() { return 'siteseo-content-analysis'; } public function enqueue() { wp_enqueue_style( 'siteseo-el-content-analysis-style', SITESEO_ELEMENTOR_ADDON_URL . 'assets/css/content-analysis.css' ); wp_enqueue_script( 'siteseo-el-content-analysis-script', SITESEO_ELEMENTOR_ADDON_URL . 'assets/js/content-analysis.js', ['siteseo-elementor-base-script', 'jquery-ui-tabs', 'jquery-ui-accordion'], SITESEO_VERSION, true ); } protected function get_default_settings() { global $post; return [ 'post_id' => isset($post) ? $post->ID : '', 'post_type' => isset($post) ? $post->post_type : '', 'loading' => __('Analysis in progress...', 'siteseo'), 'description' => '', ]; } public function content_template() { ?>
      <# if ( data.description ) { #>
      {{{ data.description }}}
      <# } #>

      {{{ data.loading }}}

      */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ namespace SiteSeoElementorAddon\Controls; if ( ! defined( 'ABSPATH' ) ) { die(); } class Text_Letter_Counter_Control extends \Elementor\Base_Data_Control { public function get_type() { return 'siteseotextlettercounter'; } public function enqueue() { wp_enqueue_style( 'siteseo-el-text-letter-counter-style', SITESEO_ELEMENTOR_ADDON_URL . 'assets/css/text-letter-counter.css' ); wp_enqueue_script( 'siteseo-el-text-letter-counter-script', SITESEO_ELEMENTOR_ADDON_URL . 'assets/js/text-letter-counter.js', array('jquery'), 11, true ); } protected function get_default_settings() { return [ 'field_type' => 'text', 'description' => '', 'rows' => 7 ]; } public function content_template() { $control_uid = $this->get_control_uid(); ?>
      <# if ( data.field_type === 'text' ) { #> <# } else { #> <# } #>
      1%
      <# if ( data.field_type === 'text' ) { #> <# } else { #> <# } #>
      <# if ( data.field_type === 'text' ) { #> <# } else { #> <# } #>
      <# if ( data.description ) { #>
      {{{ data.description }}}
      <# } #> */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; /** * Classic editor related functions */ add_action( 'wp_enqueue_editor', 'siteseo_wp_tiny_mce' ); /** * Load extension for wpLink * * @param string $hook Page hook name */ function siteseo_wp_tiny_mce( $hook ){ $suffix = ''; wp_enqueue_style( 'siteseo-classic', SITESEO_ASSETS_DIR . '/css/classic-editor' . $suffix . '.css' , [], SITESEO_VERSION ); wp_enqueue_script( 'siteseo-classic', SITESEO_ASSETS_DIR . '/js/siteseo-classic-editor' . $suffix . '.js' , ['wplink'], SITESEO_VERSION, true ); wp_localize_script( 'siteseo-classic', 'siteseoI18n', array( 'sponsored' => __( 'Add rel="sponsored" attribute', 'siteseo' ), 'nofollow' => __( 'Add rel="nofollow" attribute', 'siteseo' ), 'ugc' => __( 'Add rel="UGC" attribute', 'siteseo' ), ) ); } PKZ!Nplugins/siteseo/main/admin/metaboxes/admin-metaboxes-content-analysis-form.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); $data_attr = siteseo_metaboxes_init(); ?>

      $item) { if(!is_array($item)){ continue; } if(count($item['rows']) === 0){ continue; } $html .= '
    • ' . esc_html($item['key']) . ' ' . sprintf(_n('is already used %d time', 'is already used %d times', count($item['rows']), 'siteseo'), count($item['rows'])). '
    • '; $i++; } } ?>

      getAnalyzes($post); siteseo_get_service('RenderContentAnalysis')->render($analyzes, $siteseo_analysis_data); } ?>
      PKZ>-o-o8plugins/siteseo/main/admin/metaboxes/admin-metaboxes.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT!'); } // Check global settings if(!function_exists('siteseo_titles_single_cpt_noindex_option')){ function siteseo_titles_single_cpt_noindex_option(){ global $post; $siteseo_get_current_cpt = get_post_type($post); $options = get_option('siteseo_titles_option_name'); if(! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['noindex'])) { return $options['titles_single_titles'][$siteseo_get_current_cpt]['noindex']; } } } if (! function_exists('siteseo_titles_single_cpt_nofollow_option')) { function siteseo_titles_single_cpt_nofollow_option(){ global $post; $siteseo_get_current_cpt = get_post_type($post); $options = get_option('siteseo_titles_option_name'); if (! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['nofollow'])){ return $options['titles_single_titles'][$siteseo_get_current_cpt]['nofollow']; } } } /////////////////////////////////////////////////////////////////////////////////////////////////// //Display metabox in Custom Post Type /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_titles_single_cpt_date_option(){ global $post; $siteseo_get_current_cpt = get_post_type($post); $options = get_option('siteseo_titles_option_name'); if (! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['date'])) { return $options['titles_single_titles'][$siteseo_get_current_cpt]['date']; } } function siteseo_display_date_snippet(){ if (siteseo_titles_single_cpt_date_option()) { return '
      ' . get_the_modified_date('M j, Y') . ' -
      '; } } function siteseo_metaboxes_init(){ global $typenow; global $pagenow; $data_attr = []; $data_attr['data_tax'] = ''; $data_attr['termId'] = ''; if ('post-new.php' == $pagenow || 'post.php' == $pagenow) { $data_attr['current_id'] = get_the_id(); $data_attr['origin'] = 'post'; $data_attr['title'] = get_the_title($data_attr['current_id']); } elseif ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { global $tag; $data_attr['current_id'] = $tag->term_id; $data_attr['termId'] = $tag->term_id; $data_attr['origin'] = 'term'; $data_attr['data_tax'] = $tag->taxonomy; $data_attr['title'] = $tag->name; } $data_attr['isHomeId'] = get_option('page_on_front'); if ('0' === $data_attr['isHomeId']) { $data_attr['isHomeId'] = ''; } return $data_attr; } function siteseo_display_seo_metaboxe(){ add_action('add_meta_boxes', 'siteseo_init_metabox'); function siteseo_init_metabox(){ $metaboxe_position = siteseo_get_service('AdvancedOption')->getAppearanceMetaboxePosition(); if(empty($metaboxe_position)){ $metaboxe_position = 'default'; } $siteseo_get_post_types = siteseo_get_service('WordPressData')->getPostTypes(); $siteseo_get_post_types = apply_filters('siteseo_metaboxe_seo', $siteseo_get_post_types); if (! empty($siteseo_get_post_types) && ! siteseo_get_service('EnqueueModuleMetabox')->canEnqueue()) { foreach ($siteseo_get_post_types as $key => $value) { add_meta_box('siteseo_cpt', __('SiteSEO', 'siteseo'), 'siteseo_cpt', $key, 'normal', $metaboxe_position); } } add_meta_box('siteseo_cpt', __('SiteSEO', 'siteseo'), 'siteseo_cpt', 'siteseo_404', 'normal', $metaboxe_position); } } function siteseo_cpt($post){ global $typenow, $wp_version, $siteseo; $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_nonce_field(plugin_basename(__FILE__), 'siteseo_cpt_nonce'); //init $disabled = []; wp_enqueue_script('siteseo-cpt-tabs-js', SITESEO_ASSETS_DIR . '/js/siteseo-metabox' . $prefix . '.js', ['jquery-ui-tabs', 'jquery-ui-autocomplete'], SITESEO_VERSION); if ('siteseo_404' != $typenow) { wp_enqueue_script('jquery-ui-accordion'); //Tagify wp_enqueue_script('siteseo-tagify-js', SITESEO_ASSETS_DIR . '/js/tagify.min.js', ['jquery'], SITESEO_VERSION, true); wp_register_style('siteseo-tagify', SITESEO_ASSETS_DIR . '/css/tagify.min.css', [], SITESEO_VERSION); wp_enqueue_style('siteseo-tagify'); //Register Google Snippet Preview / Content Analysis JS wp_enqueue_script('siteseo-cpt-counters-js', SITESEO_ASSETS_DIR . '/js/siteseo-counters' . $prefix . '.js', ['jquery', 'jquery-ui-tabs', 'jquery-ui-accordion'], SITESEO_VERSION, true); //If Gutenberg ON if (function_exists('get_current_screen')) { $get_current_screen = get_current_screen(); if (isset($get_current_screen->is_block_editor)) { if ($get_current_screen->is_block_editor) { wp_enqueue_script('siteseo-block-editor-js', SITESEO_ASSETS_DIR . '/js/siteseo-block-editor' . $prefix . '.js', ['jquery', 'wp-data', 'react', 'wp-edit-post', 'wp-element', 'wp-plugins'], SITESEO_VERSION, true); if ( version_compare( $wp_version, '5.8', '>=' ) ) { wp_enqueue_script( 'siteseo-primary-category-js', SITESEO_URL_PUBLIC . '/editor/primary-category-select/index.js', ['wp-hooks'], SITESEO_VERSION, true); } } } } wp_enqueue_script('siteseo-cpt-video-sitemap-js', SITESEO_ASSETS_DIR . '/js/siteseo-sitemap-video' . $prefix . '.js', ['jquery', 'jquery-ui-accordion'], SITESEO_VERSION); $siteseo_real_preview = [ 'siteseo_nonce' => wp_create_nonce('siteseo_real_preview_nonce'), // @deprecated 4.4.0 'siteseo_real_preview' => admin_url('admin-ajax.php'), // @deprecated 4.4.0 'i18n' => ['progress' => __('Analysis in progress...', 'siteseo')], 'ajax_url' => admin_url('admin-ajax.php'), 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'), 'realtime_nonce' => wp_create_nonce('siteseo_realtime_nonce'), ]; wp_localize_script('siteseo-cpt-counters-js', 'siteseoAjaxRealPreview', $siteseo_real_preview); wp_enqueue_script('siteseo-media-uploader-js', SITESEO_ASSETS_DIR . '/js/siteseo-media-uploader' . $prefix . '.js', ['jquery'], SITESEO_VERSION, false); wp_enqueue_media(); } $metabox_data = []; $metabox_data = siteseo_metabox_data('post'); require_once dirname(dirname(__FILE__)) . '/admin-dyn-variables-helper.php'; //Dynamic variables require_once dirname(__FILE__) . '/admin-metaboxes-form.php'; //Metaboxe HTML siteseo_metabox_form_html($metabox_data); do_action('siteseo_seo_metabox_init'); } add_action('save_post', 'siteseo_save_metabox', 10, 2); function siteseo_save_metabox($post_id, $post){ //Nonce if (! isset($_POST['siteseo_cpt_nonce']) || ! wp_verify_nonce(siteseo_opt_post('siteseo_cpt_nonce'), plugin_basename(__FILE__))) { return $post_id; } //Post type object $post_type = get_post_type_object($post->post_type); //Check permission if (! current_user_can($post_type->cap->edit_post, $post_id)) { return $post_id; } if ('attachment' !== get_post_type($post_id)) { $analysis_tabs = []; $analysis_tabs = json_decode(siteseo_opt_post('analysis_tabs'), true); if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('title-settings', $analysis_tabs)){ if(!empty($_POST['siteseo_titles_title'])){ update_post_meta($post_id, '_siteseo_titles_title', siteseo_opt_post('siteseo_titles_title')); } else { delete_post_meta($post_id, '_siteseo_titles_title'); } if(!empty($_POST['siteseo_titles_desc'])){ update_post_meta($post_id, '_siteseo_titles_desc', siteseo_opt_post('siteseo_titles_desc')); } else { delete_post_meta($post_id, '_siteseo_titles_desc'); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('advanced-settings', $analysis_tabs)){ if(isset($_POST['siteseo_robots_index'])){ update_post_meta($post_id, '_siteseo_robots_index', 'yes'); } else { delete_post_meta($post_id, '_siteseo_robots_index'); } if (isset($_POST['siteseo_robots_follow'])) { update_post_meta($post_id, '_siteseo_robots_follow', 'yes'); } else { delete_post_meta($post_id, '_siteseo_robots_follow'); } if (isset($_POST['siteseo_robots_imageindex'])) { update_post_meta($post_id, '_siteseo_robots_imageindex', 'yes'); } else { delete_post_meta($post_id, '_siteseo_robots_imageindex'); } if (isset($_POST['siteseo_robots_archive'])) { update_post_meta($post_id, '_siteseo_robots_archive', 'yes'); } else { delete_post_meta($post_id, '_siteseo_robots_archive'); } if (isset($_POST['siteseo_robots_snippet'])) { update_post_meta($post_id, '_siteseo_robots_snippet', 'yes'); } else { delete_post_meta($post_id, '_siteseo_robots_snippet'); } if (!empty($_POST['siteseo_robots_canonical'])) { update_post_meta($post_id, '_siteseo_robots_canonical', siteseo_opt_post('siteseo_robots_canonical')); } else { delete_post_meta($post_id, '_siteseo_robots_canonical'); } if (!empty($_POST['siteseo_robots_primary_cat'])) { update_post_meta($post_id, '_siteseo_robots_primary_cat', siteseo_opt_post('siteseo_robots_primary_cat')); } else { delete_post_meta($post_id, '_siteseo_robots_primary_cat'); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('social-settings', $analysis_tabs)){ //Facebook if (!empty($_POST['siteseo_social_fb_title'])) { update_post_meta($post_id, '_siteseo_social_fb_title', siteseo_opt_post('siteseo_social_fb_title')); } else { delete_post_meta($post_id, '_siteseo_social_fb_title'); } if (!empty($_POST['siteseo_social_fb_desc'])) { update_post_meta($post_id, '_siteseo_social_fb_desc', siteseo_opt_post('siteseo_social_fb_desc')); } else { delete_post_meta($post_id, '_siteseo_social_fb_desc'); } if (!empty($_POST['siteseo_social_fb_img'])) { update_post_meta($post_id, '_siteseo_social_fb_img', siteseo_opt_post('siteseo_social_fb_img')); } else { delete_post_meta($post_id, '_siteseo_social_fb_img'); } if (!empty($_POST['siteseo_social_fb_img_attachment_id']) && !empty($_POST['siteseo_social_fb_img'])) { update_post_meta($post_id, '_siteseo_social_fb_img_attachment_id', siteseo_opt_post('siteseo_social_fb_img_attachment_id')); } else { delete_post_meta($post_id, '_siteseo_social_fb_img_attachment_id'); } if (!empty($_POST['siteseo_social_fb_img_width']) && !empty($_POST['siteseo_social_fb_img'])) { update_post_meta($post_id, '_siteseo_social_fb_img_width', siteseo_opt_post('siteseo_social_fb_img_width')); } else { delete_post_meta($post_id, '_siteseo_social_fb_img_width'); } if (!empty($_POST['siteseo_social_fb_img_height']) && !empty($_POST['siteseo_social_fb_img'])) { update_post_meta($post_id, '_siteseo_social_fb_img_height', siteseo_opt_post('siteseo_social_fb_img_height')); } else { delete_post_meta($post_id, '_siteseo_social_fb_img_height'); } //Twitter if (!empty($_POST['siteseo_social_twitter_title'])) { update_post_meta($post_id, '_siteseo_social_twitter_title', siteseo_opt_post('siteseo_social_twitter_title')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_title'); } if (!empty($_POST['siteseo_social_twitter_desc'])) { update_post_meta($post_id, '_siteseo_social_twitter_desc', siteseo_opt_post('siteseo_social_twitter_desc')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_desc'); } if (!empty($_POST['siteseo_social_twitter_img'])) { update_post_meta($post_id, '_siteseo_social_twitter_img', siteseo_opt_post('siteseo_social_twitter_img')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_img'); } if (!empty($_POST['siteseo_social_twitter_img_attachment_id']) && !empty($_POST['siteseo_social_twitter_img'])) { update_post_meta($post_id, '_siteseo_social_twitter_img_attachment_id', siteseo_opt_post('siteseo_social_twitter_img_attachment_id')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_img_attachment_id'); } if (!empty($_POST['siteseo_social_twitter_img_width']) && !empty($_POST['siteseo_social_twitter_img'])) { update_post_meta($post_id, '_siteseo_social_twitter_img_width', siteseo_opt_post('siteseo_social_twitter_img_width')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_img_width'); } if (!empty($_POST['siteseo_social_twitter_img_height']) && !empty($_POST['siteseo_social_twitter_img'])) { update_post_meta($post_id, '_siteseo_social_twitter_img_height', siteseo_opt_post('siteseo_social_twitter_img_height')); } else { delete_post_meta($post_id, '_siteseo_social_twitter_img_height'); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('redirect', $analysis_tabs)){ if (isset($_POST['siteseo_redirections_type'])) { update_post_meta($post_id, '_siteseo_redirections_type', siteseo_opt_post('siteseo_redirections_type')); } if (!empty($_POST['siteseo_redirections_value'])) { update_post_meta($post_id, '_siteseo_redirections_value', siteseo_opt_post('siteseo_redirections_value')); } else { delete_post_meta($post_id, '_siteseo_redirections_value'); } if (isset($_POST['siteseo_redirections_param'])) { update_post_meta($post_id, '_siteseo_redirections_param', siteseo_opt_post('siteseo_redirections_param')); } if (isset($_POST['siteseo_redirections_enabled'])) { update_post_meta($post_id, '_siteseo_redirections_enabled', 'yes'); } else { delete_post_meta($post_id, '_siteseo_redirections_enabled', ''); } if (isset($_POST['siteseo_redirections_enabled_regex'])) { update_post_meta($post_id, '_siteseo_redirections_enabled_regex', 'yes'); } else { delete_post_meta($post_id, '_siteseo_redirections_enabled_regex'); } if (isset($_POST['siteseo_redirections_logged_status'])) { update_post_meta($post_id, '_siteseo_redirections_logged_status', siteseo_opt_post('siteseo_redirections_logged_status')); } else { delete_post_meta($post_id, '_siteseo_redirections_logged_status'); } } if (did_action('elementor/loaded')) { $elementor = get_post_meta($post_id, '_elementor_page_settings', true); if (! empty($elementor)) { if (isset($_POST['siteseo_titles_title'])) { $elementor['_siteseo_titles_title'] = siteseo_opt_post('siteseo_titles_title'); } if (isset($_POST['siteseo_titles_desc'])) { $elementor['_siteseo_titles_desc'] = siteseo_opt_post('siteseo_titles_desc'); } if (isset($_POST['siteseo_robots_index'])) { $elementor['_siteseo_robots_index'] = 'yes'; } else { $elementor['_siteseo_robots_index'] = ''; } if (isset($_POST['siteseo_robots_follow'])) { $elementor['_siteseo_robots_follow'] = 'yes'; } else { $elementor['_siteseo_robots_follow'] = ''; } if (isset($_POST['siteseo_robots_imageindex'])) { $elementor['_siteseo_robots_imageindex'] = 'yes'; } else { $elementor['_siteseo_robots_imageindex'] = ''; } if (isset($_POST['siteseo_robots_archive'])) { $elementor['_siteseo_robots_archive'] = 'yes'; } else { $elementor['_siteseo_robots_archive'] = ''; } if (isset($_POST['siteseo_robots_snippet'])) { $elementor['_siteseo_robots_snippet'] = 'yes'; } else { $elementor['_siteseo_robots_snippet'] = ''; } if (isset($_POST['siteseo_robots_canonical'])) { $elementor['_siteseo_robots_canonical'] = siteseo_opt_post('siteseo_robots_canonical'); } if (isset($_POST['siteseo_robots_primary_cat'])) { $elementor['_siteseo_robots_primary_cat'] = siteseo_opt_post('siteseo_robots_primary_cat'); } if (isset($_POST['siteseo_social_fb_title'])) { $elementor['_siteseo_social_fb_title'] = siteseo_opt_post('siteseo_social_fb_title'); } if (isset($_POST['siteseo_social_fb_desc'])) { $elementor['_siteseo_social_fb_desc'] = siteseo_opt_post('siteseo_social_fb_desc'); } if (isset($_POST['siteseo_social_fb_img'])) { $elementor['_siteseo_social_fb_img'] = siteseo_opt_post('siteseo_social_fb_img'); } if (isset($_POST['siteseo_social_twitter_title'])) { $elementor['_siteseo_social_twitter_title'] = siteseo_opt_post('siteseo_social_twitter_title'); } if (isset($_POST['siteseo_social_twitter_desc'])) { $elementor['_siteseo_social_twitter_desc'] = siteseo_opt_post('siteseo_social_twitter_desc'); } if (isset($_POST['siteseo_social_twitter_img'])) { $elementor['_siteseo_social_twitter_img'] = siteseo_opt_post('siteseo_social_twitter_img'); } if (isset($_POST['siteseo_redirections_type'])) { $elementor['_siteseo_redirections_type'] = siteseo_opt_post('siteseo_redirections_type'); } if (isset($_POST['siteseo_redirections_value'])) { $elementor['_siteseo_redirections_value'] = siteseo_opt_post('siteseo_redirections_value'); } if (isset($_POST['siteseo_redirections_param'])) { $elementor['_siteseo_redirections_param'] = siteseo_opt_post('siteseo_redirections_param'); } if (isset($_POST['siteseo_redirections_enabled'])) { $elementor['_siteseo_redirections_enabled'] = 'yes'; } else { $elementor['_siteseo_redirections_enabled'] = ''; } update_post_meta($post_id, '_elementor_page_settings', $elementor); } } do_action('siteseo_seo_metabox_save', $post_id); } } function siteseo_content_analysis($post){ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_nonce_field(plugin_basename(__FILE__), 'siteseo_content_analysis_nonce'); //Tagify wp_enqueue_script('siteseo-tagify-js-1', SITESEO_ASSETS_DIR . '/js/tagify.min.js', ['jquery'], SITESEO_VERSION, true); wp_register_style('siteseo-tagify-1', SITESEO_ASSETS_DIR . '/css/tagify.min.css', [], SITESEO_VERSION); wp_enqueue_style('siteseo-tagify-1'); wp_enqueue_script('siteseo-cpt-counters-js', SITESEO_ASSETS_DIR . '/js/siteseo-counters' . $prefix . '.js', ['jquery', 'jquery-ui-tabs', 'jquery-ui-accordion', 'jquery-ui-autocomplete'], SITESEO_VERSION); $siteseo_real_preview = [ 'siteseo_nonce' => wp_create_nonce('siteseo_real_preview_nonce'), 'siteseo_real_preview' => admin_url('admin-ajax.php'), 'i18n' => ['progress' => __('Analysis in progress...', 'siteseo')], 'ajax_url' => admin_url('admin-ajax.php'), 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'), 'realtime_nonce' => wp_create_nonce('siteseo_realtime_nonce'), ]; wp_localize_script('siteseo-cpt-counters-js', 'siteseoAjaxRealPreview', $siteseo_real_preview); $siteseo_inspect_url = [ 'siteseo_nonce' => wp_create_nonce('siteseo_inspect_url_nonce'), 'siteseo_inspect_url' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-cpt-counters-js', 'siteseoAjaxInspectUrl', $siteseo_inspect_url); $metabox_data = []; $metabox_data['analysis_target_kw'] = get_post_meta($post->ID, '_siteseo_analysis_target_kw', true); $metabox_data['analysis_data'] = get_post_meta($post->ID, '_siteseo_analysis_data', true); $metabox_data['readibility_data'] = get_post_meta($post->ID, '_siteseo_readibility_data', true); $metabox_data['meta_title'] = get_post_meta($post->ID, '_siteseo_titles_title', true); $metabox_data['meta_desc'] = get_post_meta($post->ID, '_siteseo_titles_desc', true); $title_options = get_option('siteseo_titles_option_name', []); if(siteseo_titles_single_cpt_noindex_option() || !empty($title_options['titles_noindex']) || true === post_password_required($post->ID)){ $metabox_data['robots_index'] = 'yes'; } else { $metabox_data['robots_index'] = get_post_meta($post->ID, '_siteseo_robots_index', true); } if(post_password_required($post->ID) === true || !empty($title_options['titles_noindex']) || siteseo_titles_single_cpt_noindex_option()){ $metabox_data['robots_index'] = 'yes'; } else { $metabox_data['robots_index'] = get_post_meta($post->ID, '_siteseo_robots_index', true); } if(!empty($title_options['titles_nofollow']) || siteseo_titles_single_cpt_nofollow_option()){ $metabox_data['robots_follow'] = 'yes'; } else { $metabox_data['robots_follow'] = get_post_meta($post->ID, '_siteseo_robots_follow', true); } if(!empty($title_options['titles_noarchive'])){ $metabox_data['robots_archive'] = 'yes'; } else { $metabox_data['robots_archive'] = get_post_meta($post->ID, '_siteseo_robots_archive', true); } if(!empty($title_options['titles_nosnippet'])){ $metabox_data['robots_snippet'] = 'yes'; } else { $metabox_data['robots_snippet'] = get_post_meta($post->ID, '_siteseo_robots_snippet', true); } if(!empty($title_options['titles_noimageindex'])){ $metabox_data['robots_imageindex'] = 'yes'; } else { $metabox_data['robots_imageindex'] = get_post_meta($post->ID, '_siteseo_robots_imageindex', true); } require_once dirname(__FILE__) . '/metabox-content-analysis.php'; //Metaboxe HTML siteseo_content_analysis_tab($metabox_data); } add_action('save_post', 'siteseo_save_ca_metabox', 10, 2); function siteseo_save_ca_metabox($post_id, $post){ //Nonce if (! isset($_POST['siteseo_content_analysis_nonce']) || ! wp_verify_nonce(siteseo_opt_post('siteseo_content_analysis_nonce'), plugin_basename(__FILE__))) { return $post_id; } //Post type object $post_type = get_post_type_object($post->post_type); //Check permission if (! current_user_can($post_type->cap->edit_post, $post_id)) { return $post_id; } if ('attachment' !== get_post_type($post_id)) { if (isset($_POST['siteseo_analysis_target_kw'])) { update_post_meta($post_id, '_siteseo_analysis_target_kw', siteseo_opt_post('siteseo_analysis_target_kw')); } if (did_action('elementor/loaded')) { $elementor = get_post_meta($post_id, '_elementor_page_settings', true); if (! empty($elementor)) { if (isset($_POST['siteseo_analysis_target_kw'])) { $elementor['_siteseo_analysis_target_kw'] = siteseo_opt_post('siteseo_analysis_target_kw'); } update_post_meta($post_id, '_elementor_page_settings', $elementor); } } } } //Save metabox values in elementor add_action('save_post', 'siteseo_update_elementor_fields', 999, 2); function siteseo_update_elementor_fields($post_id, $post){ do_action('siteseo/page-builders/elementor/save_meta', $post_id); } if(is_user_logged_in()){ if(is_super_admin()){ $siteseo->display_seo_metaboxe = 1; $siteseo->display_ca_metaboxe = 1; }else{ global $wp_roles; $user = wp_get_current_user(); //Get current user role if (isset($user->roles) && is_array($user->roles) && ! empty($user->roles)) { $siteseo_user_role = current($user->roles); $siteseo_options = get_option('siteseo_advanced_option_name'); //If current user role matchs values from Security settings then apply -- SEO Metaboxe if (!empty($siteseo_options) && isset($siteseo_options['siteseo_advanced_security_metaboxe_role']) && array_key_exists($siteseo_user_role, $siteseo_options['siteseo_advanced_security_metaboxe_role'])) { //do nothing } else { $siteseo->display_seo_metaboxe = 1; } //If current user role matchs values from Security settings then apply -- SEO Content Analysis if (!empty($siteseo_options) && isset($siteseo_options['security_metaboxe_ca_role']) && array_key_exists($siteseo_user_role, $siteseo_options['security_metaboxe_ca_role'])) { //do nothing } else { $siteseo->display_ca_metaboxe = 1; } } } if(!empty($siteseo->display_seo_metaboxe)){ siteseo_display_seo_metaboxe(); } } function siteseo_metabox_data($post_type){ global $post; $metabox_data = []; $metabox_data['title'] = $post->post_title; $metabox_data['excerpt'] = $post->post_excerpt; // Getting the first paragraph of the post if(empty($metabox_data['excerpt'])){ $post_seperated = get_extended($post->post_content); if(!empty($post_seperated['main'])){ $metabox_data['excerpt'] = wp_strip_all_tags($post_seperated['main']); } } $metabox_data['meta_title'] = get_post_meta($post->ID, '_siteseo_titles_title', true); $metabox_data['meta_desc'] = get_post_meta($post->ID, '_siteseo_titles_desc', true); $metabox_data['robots_canonical'] = get_post_meta($post->ID, '_siteseo_robots_canonical', true); $metabox_data['robots_primary_cat'] = get_post_meta($post->ID, '_siteseo_robots_primary_cat', true); $metabox_data['fb_title'] = get_post_meta($post->ID, '_siteseo_social_fb_title', true); $metabox_data['fb_desc'] = get_post_meta($post->ID, '_siteseo_social_fb_desc', true); $metabox_data['fb_img'] = get_post_meta($post->ID, '_siteseo_social_fb_img', true); $siteseo_social_fb_img_attachment_id = get_post_meta($post->ID, '_siteseo_social_fb_img_attachment_id', true); $siteseo_social_fb_img_width = get_post_meta($post->ID, '_siteseo_social_fb_img_width', true); $siteseo_social_fb_img_height = get_post_meta($post->ID, '_siteseo_social_fb_img_height', true); $metabox_data['x_title'] = get_post_meta($post->ID, '_siteseo_social_twitter_title', true); $metabox_data['x_desc'] = get_post_meta($post->ID, '_siteseo_social_twitter_desc', true); $metabox_data['x_img'] = get_post_meta($post->ID, '_siteseo_social_twitter_img', true); $siteseo_social_twitter_img_attachment_id = get_post_meta($post->ID, '_siteseo_social_twitter_img_attachment_id', true); $siteseo_social_twitter_img_width = get_post_meta($post->ID, '_siteseo_social_twitter_img_width', true); $siteseo_social_twitter_img_height = get_post_meta($post->ID, '_siteseo_social_twitter_img_height', true); $metabox_data['redirections_enabled'] = get_post_meta($post->ID, '_siteseo_redirections_enabled', true); $metabox_data['redirections_enabled_regex'] = get_post_meta($post->ID, '_siteseo_redirections_enabled_regex', true); $metabox_data['redirections_logged_status'] = get_post_meta($post->ID, '_siteseo_redirections_logged_status', true); $metabox_data['redirections_type'] = get_post_meta($post->ID, '_siteseo_redirections_type', true); $metabox_data['redirections_value'] = get_post_meta($post->ID, '_siteseo_redirections_value', true); $metabox_data['redirections_param'] = get_post_meta($post->ID, '_siteseo_redirections_param', true); $title_options = get_option('siteseo_titles_option_name', []); $metabox_data['disabled_robots'] = [ 'robots_index' => '', 'robots_follow' => '', 'archive' => '', 'snippet' => '', 'imageindex' => '', ]; if(post_password_required($post->ID) === true || !empty($title_options['titles_noindex']) || siteseo_titles_single_cpt_noindex_option()){ $metabox_data['robots_index'] = 'yes'; $metabox_data['disabled_robots']['robots_index'] = 'disabled'; } else { $metabox_data['robots_index'] = get_post_meta($post->ID, '_siteseo_robots_index', true); } if(!empty($title_options['titles_nofollow']) || siteseo_titles_single_cpt_nofollow_option()){ $metabox_data['robots_follow'] = 'yes'; $metabox_data['disabled_robots']['robots_follow'] = 'disabled'; } else { $metabox_data['robots_follow'] = get_post_meta($post->ID, '_siteseo_robots_follow', true); } if(!empty($title_options['titles_noarchive'])){ $metabox_data['robots_archive'] = 'yes'; $metabox_data['disabled_robots']['archive'] = 'disabled'; } else { $metabox_data['robots_archive'] = get_post_meta($post->ID, '_siteseo_robots_archive', true); } if(!empty($title_options['titles_nosnippet'])){ $metabox_data['robots_snippet'] = 'yes'; $metabox_data['disabled_robots']['snippet'] = 'disabled'; } else { $metabox_data['robots_snippet'] = get_post_meta($post->ID, '_siteseo_robots_snippet', true); } if(!empty($title_options['titles_noimageindex'])){ $metabox_data['robots_imageindex'] = 'yes'; $metabox_data['disabled_robots']['imageindex'] = 'disabled'; } else { $metabox_data['robots_imageindex'] = get_post_meta($post->ID, '_siteseo_robots_imageindex', true); } return $metabox_data; } PKZkBplugins/siteseo/main/admin/metaboxes/admin-universal-metaboxes.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } global $siteseo, $pagenow; $post_ID = (int) siteseo_opt_get('post'); if(empty($post_ID)){ return; } $post = get_post($post_ID); if(empty($post)){ return; } if ( ! current_user_can( 'edit_post', $post_ID ) ) { wp_die( esc_html__( 'Sorry, you are not allowed to edit this item.' ) ); } $post_type = $post->post_type; $post_type_object = get_post_type_object( $post_type ); $user_ID = get_current_user_id(); // Flag that we're not loading the block editor. $current_screen = get_current_screen(); $current_screen->is_block_editor = 0; $form_extra = ''; $form_action = 'editpost'; $nonce_action = 'update-post_' . $post_ID; $form_extra .= ""; // Set current screen set_current_screen($post_type); $GLOBALS['post'] = $post; // Set temporary pagenow $_pagenow = $pagenow; $pagenow = 'post.php'; $meta_box_url = admin_url( 'post.php' ); $meta_box_url = add_query_arg( array( 'post' => $post->ID, 'action' => 'editpost', ), $meta_box_url ); if ( ! wp_check_post_lock( $post->ID ) ) { $active_post_lock = wp_set_post_lock( $post->ID ); } include_once(SITESEO_MAIN.'/admin/metaboxes/admin-metaboxes.php'); ?>
      > ['type' => true, 'id' => true, 'value' => true, 'name' => true]]); wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); // Render meta HTML siteseo_cpt($post); ?>
      */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Restrict SEO metaboxes to user roles /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_advanced_security_metaboxe_role_hook_option() { $options = get_option('siteseo_advanced_option_name'); if( ! empty($options) && isset($options['security_metaboxe_role'])) { return $options['security_metaboxe_role']; } } /////////////////////////////////////////////////////////////////////////////////////////////////// //Check global settings /////////////////////////////////////////////////////////////////////////////////////////////////// if ( ! function_exists('siteseo_titles_single_term_noindex_option')) { function siteseo_titles_single_term_noindex_option() { global $tax; $siteseo_get_current_tax = $tax->name; $options = get_option('siteseo_titles_option_name'); if ( ! empty($options) && isset($options['titles_tax_titles'][$siteseo_get_current_tax]['noindex'])) { return $options['titles_tax_titles'][$siteseo_get_current_tax]['noindex']; } } } if ( ! function_exists('siteseo_titles_single_term_nofollow_option')) { function siteseo_titles_single_term_nofollow_option() { global $tax; $siteseo_get_current_tax = $tax->name; $options = get_option('siteseo_titles_option_name'); if ( ! empty($options) && isset($options['titles_tax_titles'][$siteseo_get_current_tax]['nofollow'])) { return $options['titles_tax_titles'][$siteseo_get_current_tax]['nofollow']; } } } //Metaboxe position if ( ! function_exists('siteseo_advanced_appearance_term_metaboxe_position_option')) { function siteseo_advanced_appearance_term_metaboxe_position_option() { $options = get_option('siteseo_advanced_option_name'); if( ! empty($options) && isset($options['appearance_metaboxe_position'])) { return $options['appearance_metaboxe_position']; } } } ////////////////////////////////////////////// //Display metabox in Custom Taxonomy ////////////////////////////////////////////// function siteseo_display_seo_term_metaboxe() { add_action('init', 'siteseo_init_term_metabox', 11); function siteseo_init_term_metabox() { $siteseo_get_taxonomies = siteseo_get_service('WordPressData')->getTaxonomies(); $siteseo_get_taxonomies = apply_filters('siteseo_metaboxe_term_seo', $siteseo_get_taxonomies); if ( ! empty($siteseo_get_taxonomies)) { if (function_exists('siteseo_advanced_appearance_term_metaboxe_position_option')) { switch (siteseo_advanced_appearance_term_metaboxe_position_option()) { case 'high': $priority = 1; break; case 'default': $priority = 10; break; case 'low': $priority = 100; break; default: $priority = 10; break; } } else { $priority = 10; } $priority = apply_filters('siteseo_metaboxe_term_seo_priority', $priority); foreach ($siteseo_get_taxonomies as $key => $value) { add_action($key . '_edit_form', 'siteseo_tax', $priority, 2); //Edit term page add_action('edit_' . $key, 'siteseo_tax_save_term', $priority, 2); //Edit save term } } } function siteseo_tax($term) { $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_nonce_field(plugin_basename(__FILE__), 'siteseo_cpt_nonce'); global $typenow, $tag; //init $disabled = []; wp_enqueue_script('siteseo-cpt-tabs-js', SITESEO_ASSETS_DIR . '/js/siteseo-metabox.js', ['jquery-ui-tabs'], SITESEO_VERSION); if ('siteseo_404' != $typenow) { //Tagify wp_enqueue_script('siteseo-tagify-js', SITESEO_ASSETS_DIR . '/js/tagify.min.js', ['jquery'], SITESEO_VERSION, true); wp_register_style('siteseo-tagify', SITESEO_ASSETS_DIR . '/css/tagify.min.css', [], SITESEO_VERSION); wp_enqueue_style('siteseo-tagify'); //Register Google Snippet Preview / Content Analysis JS wp_enqueue_script('siteseo-cpt-counters-js', SITESEO_ASSETS_DIR . '/js/siteseo-counters' . $prefix . '.js', ['jquery', 'jquery-ui-tabs', 'jquery-ui-accordion', 'jquery-ui-autocomplete'], SITESEO_VERSION, true); $siteseo_real_preview = [ 'siteseo_nonce'=> wp_create_nonce('siteseo_real_preview_nonce'), 'siteseo_real_preview' => admin_url('admin-ajax.php'), 'i18n' => ['progress' => __('Analysis in progress...', 'siteseo')], 'ajax_url' => admin_url('admin-ajax.php'), 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'), 'realtime_nonce' => wp_create_nonce('siteseo_realtime_nonce'), ]; wp_localize_script('siteseo-cpt-counters-js', 'siteseoAjaxRealPreview', $siteseo_real_preview); wp_enqueue_script('siteseo-media-uploader-js', SITESEO_ASSETS_DIR . '/js/siteseo-media-uploader.js', ['jquery'], SITESEO_VERSION, false); wp_enqueue_media(); } $metabox_data = []; $metabox_data['title'] = $tag->name; $metabox_data['excerpt'] = $tag->description; $metabox_data['meta_title'] = get_term_meta($term->term_id, '_siteseo_titles_title', true); $metabox_data['meta_desc'] = get_term_meta($term->term_id, '_siteseo_titles_desc', true); $metabox_data['robots_canonical']= get_term_meta($term->term_id, '_siteseo_robots_canonical', true); $metabox_data['fb_title'] = get_term_meta($term->term_id, '_siteseo_social_fb_title', true); $metabox_data['fb_desc'] = get_term_meta($term->term_id, '_siteseo_social_fb_desc', true); $metabox_data['fb_img'] = get_term_meta($term->term_id, '_siteseo_social_fb_img', true); $siteseo_social_fb_img_attachment_id = get_term_meta($term->term_id, '_siteseo_social_fb_img_attachment_id', true); $siteseo_social_fb_img_width = get_term_meta($term->term_id, '_siteseo_social_fb_img_width', true); $siteseo_social_fb_img_height = get_term_meta($term->term_id, '_siteseo_social_fb_img_height', true); $metabox_data['x_title'] = get_term_meta($term->term_id, '_siteseo_social_twitter_title', true); $metabox_data['x_desc'] = get_term_meta($term->term_id, '_siteseo_social_twitter_desc', true); $metabox_data['x_img'] = get_term_meta($term->term_id, '_siteseo_social_twitter_img', true); $siteseo_social_twitter_img_attachment_id = get_term_meta($term->term_id, '_siteseo_social_twitter_img_attachment_id', true); $siteseo_social_twitter_img_width = get_term_meta($term->term_id, '_siteseo_social_twitter_img_width', true); $siteseo_social_twitter_img_height = get_term_meta($term->term_id, '_siteseo_social_twitter_img_height', true); $metabox_data['redirections_enabled'] = get_term_meta($term->term_id, '_siteseo_redirections_enabled', true); $metabox_data['redirections_logged_status'] = get_term_meta($term->term_id, '_siteseo_redirections_logged_status', true); $metabox_data['redirections_type'] = get_term_meta($term->term_id, '_siteseo_redirections_type', true); $metabox_data['redirections_value'] = get_term_meta($term->term_id, '_siteseo_redirections_value', true); $title_options = get_option('siteseo_titles_option_name', []); $metabox_data['disabled_robots'] = [ 'robots_index' => '', 'robots_follow' => '', 'archive' => '', 'snippet' => '', 'imageindex' => '', ]; if(siteseo_titles_single_term_noindex_option() || !empty($title_options['titles_noindex'])){ $metabox_data['robots_index'] = 'yes'; $metabox_data['disabled_robots']['robots_index'] = 'disabled'; } else { $metabox_data['robots_index'] = get_term_meta($term->term_id, '_siteseo_robots_index', true); } if(siteseo_titles_single_term_nofollow_option() || !empty($title_options['titles_nofollow'])){ $metabox_data['robots_follow'] = 'yes'; $metabox_data['disabled_robots']['robots_follow'] = 'disabled'; } else { $metabox_data['robots_follow'] = get_term_meta($term->term_id, '_siteseo_robots_follow', true); } if(!empty($title_options['titles_noarchive'])){ $metabox_data['robots_archive'] = 'yes'; $metabox_data['disabled_robots']['archive'] = 'disabled'; } else { $metabox_data['robots_archive'] = get_term_meta($term->term_id, '_siteseo_robots_archive', true); } if(!empty($title_options['titles_nosnippet'])){ $metabox_data['robots_snippet'] = 'yes'; $metabox_data['disabled_robots']['snippet'] = 'disabled'; } else { $metabox_data['robots_snippet'] = get_term_meta($term->term_id, '_siteseo_robots_snippet', true); } if(!empty($title_options['titles_noimageindex'])){ $metabox_data['robots_imageindex'] = 'yes'; $metabox_data['disabled_robots']['imageindex'] = 'disabled'; } else { $metabox_data['robots_imageindex'] = get_term_meta($term->term_id, '_siteseo_robots_imageindex', true); } require_once dirname(dirname(__FILE__)) . '/admin-dyn-variables-helper.php'; //Dynamic variables require_once dirname(__FILE__) . '/admin-metaboxes-form.php'; //Metaboxe HTML if(function_exists('siteseo_metabox_form_html')){ siteseo_metabox_form_html($metabox_data); } } function siteseo_tax_save_term($term_id) { //Nonce if ( ! isset($_POST['siteseo_cpt_nonce']) || ! wp_verify_nonce(siteseo_opt_post('siteseo_cpt_nonce'), plugin_basename(__FILE__))) { return $term_id; } //Taxonomy object $taxonomy = get_taxonomy(get_current_screen()->taxonomy); //Check permission if ( ! current_user_can($taxonomy->cap->edit_terms, $term_id)) { return $term_id; } $analysis_tabs = []; $analysis_tabs = json_decode(siteseo_opt_post('analysis_tabs'), true); if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('title-settings', $analysis_tabs)){ if (!empty($_POST['siteseo_titles_title'])) { update_term_meta($term_id, '_siteseo_titles_title', siteseo_opt_post('siteseo_titles_title')); } else { delete_term_meta($term_id, '_siteseo_titles_title'); } if (!empty($_POST['siteseo_titles_desc'])) { update_term_meta($term_id, '_siteseo_titles_desc', siteseo_opt_post('siteseo_titles_desc')); } else { delete_term_meta($term_id, '_siteseo_titles_desc'); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('advanced-settings', $analysis_tabs)){ if (isset($_POST['siteseo_robots_index'])) { update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } else { delete_term_meta($term_id, '_siteseo_robots_index', ''); } if (isset($_POST['siteseo_robots_follow'])) { update_term_meta($term_id, '_siteseo_robots_follow', 'yes'); } else { delete_term_meta($term_id, '_siteseo_robots_follow', ''); } if (isset($_POST['siteseo_robots_imageindex'])) { update_term_meta($term_id, '_siteseo_robots_imageindex', 'yes'); } else { delete_term_meta($term_id, '_siteseo_robots_imageindex', ''); } if (isset($_POST['siteseo_robots_archive'])) { update_term_meta($term_id, '_siteseo_robots_archive', 'yes'); } else { delete_term_meta($term_id, '_siteseo_robots_archive', ''); } if (isset($_POST['siteseo_robots_snippet'])) { update_term_meta($term_id, '_siteseo_robots_snippet', 'yes'); } else { delete_term_meta($term_id, '_siteseo_robots_snippet', ''); } if (!empty($_POST['siteseo_robots_canonical'])) { update_term_meta($term_id, '_siteseo_robots_canonical', siteseo_opt_post('siteseo_robots_canonical')); } else { delete_term_meta($term_id, '_siteseo_robots_canonical'); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('social-settings', $analysis_tabs)){ //Facebook if (!empty($_POST['siteseo_social_fb_title'])) { update_term_meta($term_id, '_siteseo_social_fb_title', siteseo_opt_post('siteseo_social_fb_title')); } else { delete_term_meta($term_id, '_siteseo_social_fb_title'); } if (!empty($_POST['siteseo_social_fb_desc'])) { update_term_meta($term_id, '_siteseo_social_fb_desc', siteseo_opt_post('siteseo_social_fb_desc')); } else { delete_term_meta($term_id, '_siteseo_social_fb_desc'); } if (!empty($_POST['siteseo_social_fb_img'])) { update_term_meta($term_id, '_siteseo_social_fb_img', siteseo_opt_post('siteseo_social_fb_img')); } if (!empty($_POST['siteseo_social_fb_img_attachment_id']) && !empty($_POST['siteseo_social_fb_img'])) { update_term_meta($term_id, '_siteseo_social_fb_img_attachment_id', siteseo_opt_post('siteseo_social_fb_img_attachment_id')); } else { delete_term_meta($term_id, '_siteseo_social_fb_img_attachment_id'); } if (!empty($_POST['siteseo_social_fb_img_width']) && !empty($_POST['siteseo_social_fb_img'])) { update_term_meta($term_id, '_siteseo_social_fb_img_width', siteseo_opt_post('siteseo_social_fb_img_width')); } else { delete_term_meta($term_id, '_siteseo_social_fb_img_width'); } if (!empty($_POST['siteseo_social_fb_img_height']) && !empty($_POST['siteseo_social_fb_img'])) { update_term_meta($term_id, '_siteseo_social_fb_img_height', siteseo_opt_post('siteseo_social_fb_img_height')); } else { delete_term_meta($term_id, '_siteseo_social_fb_img_height'); } //Twitter if (!empty($_POST['siteseo_social_twitter_title'])) { update_term_meta($term_id, '_siteseo_social_twitter_title', siteseo_opt_post('siteseo_social_twitter_title')); } else { delete_term_meta($term_id, '_siteseo_social_twitter_title'); } if (!empty($_POST['siteseo_social_twitter_desc'])) { update_term_meta($term_id, '_siteseo_social_twitter_desc', siteseo_opt_post('siteseo_social_twitter_desc')); } else { delete_term_meta($term_id, '_siteseo_social_twitter_desc'); } if (!empty($_POST['siteseo_social_twitter_img'])) { update_term_meta($term_id, '_siteseo_social_twitter_img', siteseo_opt_post('siteseo_social_twitter_img')); } } if(!empty($analysis_tabs) && is_array($analysis_tabs) && in_array('redirect', $analysis_tabs)){ if (isset($_POST['siteseo_redirections_type'])) { update_term_meta($term_id, '_siteseo_redirections_type', siteseo_opt_post('siteseo_redirections_type')); } if (isset($_POST['siteseo_redirections_logged_status'])) { update_term_meta($term_id, '_siteseo_redirections_logged_status', siteseo_opt_post('siteseo_redirections_logged_status')); } if (!empty($_POST['siteseo_redirections_value'])) { update_term_meta($term_id, '_siteseo_redirections_value', siteseo_opt_post('siteseo_redirections_value')); } else { delete_term_meta($term_id, '_siteseo_redirections_value'); } if (isset($_POST['siteseo_redirections_enabled'])) { update_term_meta($term_id, '_siteseo_redirections_enabled', 'yes'); } else { delete_term_meta($term_id, '_siteseo_redirections_enabled', ''); } } // In place of whole $_POST we are just sending the min required fields, // We are forced to do it this way to get the WordPress review done. $term['tag_ID'] = siteseo_opt_post('tag_ID'); $term['taxonomy'] = siteseo_opt_post('taxonomy'); $term['slug'] = siteseo_opt_post('slug'); $term['name'] = siteseo_opt_post('name'); $term['description'] = siteseo_opt_post('description'); $term['siteseo_robots_breadcrumbs'] = siteseo_opt_post('siteseo_robots_breadcrumbs'); do_action('siteseo_seo_metabox_term_save', $term_id, $term); } } if (is_user_logged_in()) { if (is_super_admin()) { siteseo_display_seo_term_metaboxe(); } else { global $wp_roles; //Get current user role if (isset(wp_get_current_user()->roles[0])) { $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from Security settings then apply if (function_exists('siteseo_advanced_security_metaboxe_role_hook_option') && '' != siteseo_advanced_security_metaboxe_role_hook_option()) { if (array_key_exists($siteseo_user_role, siteseo_advanced_security_metaboxe_role_hook_option())) { //do nothing } else { siteseo_display_seo_term_metaboxe(); } } else { siteseo_display_seo_term_metaboxe(); } } } } PKZEQjQj=plugins/siteseo/main/admin/metaboxes/admin-metaboxes-form.phpnu[ */ if(!defined('ABSPATH')){ die('HACKING ATTEMPT!'); } function siteseo_metabox_form_html(&$metabox_data){ global $siteseo, $post, $pagenow, $typenow; $data_attr = []; $data_attr['data_tax'] = ''; $data_attr['termId'] = ''; if('post-new.php' == $pagenow || 'post.php' == $pagenow){ $data_attr['current_id'] = get_the_id(); $data_attr['origin'] = 'post'; $data_attr['title'] = get_the_title($data_attr['current_id']); } elseif('term.php' == $pagenow || 'edit-tags.php' == $pagenow){ global $tag; $data_attr['current_id'] = $tag->term_id; $data_attr['termId'] = $tag->term_id; $data_attr['origin'] = 'term'; $data_attr['data_tax'] = $tag->taxonomy; $data_attr['title'] = $tag->name; } $data_attr['isHomeId'] = get_option('page_on_front'); if($data_attr['isHomeId'] === '0'){ $data_attr['isHomeId'] = ''; } // Static Data $home_url = home_url(); $parsed_url = parse_url($home_url); $host_uri = $parsed_url['host']; $social_placeholder = SITESEO_ASSETS_DIR . '/img/social-placeholder.png'; $metabox_tag_drop_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; $siteseo_metabox_tabs = [ 'content-analysis' => __('Content Analysis', 'siteseo') ]; if($typenow != 'siteseo_404'){ $siteseo_metabox_tabs['title-settings'] = __('Title', 'siteseo'); $siteseo_metabox_tabs['social-settings'] = __('Social', 'siteseo'); $siteseo_metabox_tabs['advanced-settings'] = __('Advanced', 'siteseo'); } $siteseo_metabox_tabs['redirect'] = __('Redirects', 'siteseo'); echo '
      '; foreach($siteseo_metabox_tabs as $siteseo_metabox_tab => $siteseo_metabox_tab_title){ $selected_metabox_tab = ''; // We don't want to show the content analysis to everyone. if(empty($siteseo->display_ca_metaboxe) && $siteseo_metabox_tab === 'content-analysis'){ continue; } if($siteseo_metabox_tab === 'content-analysis'){ $selected_metabox_tab = 'siteseo-metabox-tab-label-active'; } if(empty($siteseo->display_ca_metaboxe) && $siteseo_metabox_tab === 'title-settings'){ $selected_metabox_tab = 'siteseo-metabox-tab-label-active'; } echo '
      '.esc_html($siteseo_metabox_tab_title).'
      '; } $home_url = home_url(); $parsed_home_url = parse_url($home_url); $meta_desc_percentage = '1'; if(!empty($metabox_data['meta_desc'])){ $meta_desc_percentage = (strlen($metabox_data['meta_desc'])/160)*100; } elseif(!empty($metabox_data['excerpt'])){ $meta_desc_percentage = (strlen($metabox_data['excerpt'])/160)*100; } if(intval($meta_desc_percentage) > 100){ $meta_desc_percentage = '100'; } $meta_title_percentage = '1'; if(!empty($metabox_data['meta_title'])){ $meta_title_percentage = (strlen($metabox_data['meta_title'])/60)*100; } else if(!empty($metabox_data['title'])){ $meta_title_percentage = (strlen($metabox_data['title'])/60)*100; } if(intval($meta_title_percentage) > 100){ $meta_title_percentage = '100'; } echo '
      '; if(!empty($siteseo->display_ca_metaboxe)){ echo '
      '.esc_html__('Content Analysis', 'siteseo').'
      '; siteseo_content_analysis($post); echo'
      '; } echo '
      '.esc_html__('Title', 'siteseo').'
      '.esc_html__('Show Mobile version', 'siteseo').'

      '.(!empty($metabox_data['meta_title']) ? esc_html(siteseo_resolve_text($metabox_data['meta_title'])) : (!empty($metabox_data['title']) ? esc_html($metabox_data['title']) : 'Post Title here')).'

      '.(!empty($metabox_data['meta_desc']) ? esc_html(siteseo_resolve_text($metabox_data['meta_desc'])) : (!empty($metabox_data['excerpt']) ? esc_html($metabox_data['excerpt']) : 'Post description')).'
      '.wp_kses(siteseo_render_dyn_variables('tag-title siteseo-metabox-tag'), $metabox_tag_drop_kses).'
      '.esc_html(strlen($metabox_data['meta_title'])).' out of 60 max recommended characters
      '.wp_kses(siteseo_render_dyn_variables('tag-description siteseo-metabox-tag'), $metabox_tag_drop_kses).'
      '.esc_html(strlen($metabox_data['meta_desc'])).' out of 160 max recommended characters
      '.esc_html__('Social', 'siteseo').'
      Facebook
      X(Twitter)
      Facebook preview
      '.(!empty($host_uri) ? esc_html($host_uri) : '').'
      '.(!empty($metabox_data['fb_title']) ? esc_html($metabox_data['fb_title']) : esc_html($metabox_data['meta_title'])).'
      '.(!empty($metabox_data['fb_desc']) ? esc_html($metabox_data['fb_desc']) : esc_html($metabox_data['meta_desc'])).'

      '.esc_html__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens).', 'siteseo').'

      X preview
      '.(!empty($metabox_data['x_title']) ? esc_html($metabox_data['x_title']) : esc_html($metabox_data['meta_title'])).'
      From '.(!empty($host_uri) ? esc_html($host_uri) : '').'

      '.esc_html__('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'siteseo').'

      '.esc_html__('Advanced', 'siteseo').'

      '. wp_kses_post(sprintf(__('You cannot uncheck a checkbox? This is normal, and it\'s most likely defined in the global settings of the plugin.', 'siteseo'), esc_url(admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_single')))).'

      '; $robots_options = [ 'siteseo_robots_index_meta' => [ 'desc' => __('Do not display this page in search engine results / Sitemaps', 'siteseo'), 'short' => 'noindex', 'name' => 'siteseo_robots_index', 'checked' => $metabox_data['robots_index'], 'disabled' => $metabox_data['disabled_robots']['robots_index'] ], 'siteseo_robots_follow_meta' => [ 'desc' => __('Do not follow links for this page', 'siteseo'), 'short' => 'nofollow', 'name' => 'siteseo_robots_follow', 'checked' => $metabox_data['robots_follow'], 'disabled' => $metabox_data['disabled_robots']['robots_follow'] ], 'siteseo_robots_imageindex_meta' => [ 'desc' => __('Do not index images for this page', 'siteseo'), 'short' => 'noimageindex', 'name' => 'siteseo_robots_imageindex', 'checked' => $metabox_data['robots_imageindex'], 'disabled' => $metabox_data['disabled_robots']['imageindex'] ], 'siteseo_robots_archive_meta' => [ 'desc' => __('Do not display a "Cached" link in the Google search results', 'siteseo'), 'short' => 'noarchive', 'name' => 'siteseo_robots_archive', 'checked' => $metabox_data['robots_archive'], 'disabled' => $metabox_data['disabled_robots']['archive'] ], 'siteseo_robots_snippet_meta' => [ 'desc' => __('Do not display a description in search results for this page', 'siteseo'), 'short' => 'nosnippet', 'name' => 'siteseo_robots_snippet', 'checked' => $metabox_data['robots_snippet'], 'disabled' => $metabox_data['disabled_robots']['snippet'] ] ]; foreach($robots_options as $robots_id => $robots_option){ $checked = ''; if(!empty($robots_option['checked'])){ $checked = 'checked'; } $disabled = ''; if(!empty($robots_option['disabled'])){ $disabled = 'disabled'; $robots_option['name'] = ''; } echo ''; } echo '
      '; if(!empty($pagenow) && !empty($typenow) && ($pagenow == 'post.php' || $pagenow == 'post-new.php') && ($typenow == 'post' || $typenow == 'product')){ $categories = (object)[]; if($typenow == 'product'){ $categories = get_the_terms($post, 'product_cat'); } else { $categories = get_categories(); } if(!empty($categories) && !is_wp_error($categories)){ echo '
      '; } } echo '
      '.esc_html__('Redirects', 'siteseo').'
      '; if($typenow === 'siteseo_404'){ echo '
      '; } echo '
      '; } function siteseo_resolve_text($text){ global $pagenow; // The text does not have any variable. if(strpos($text, '%%') === FALSE){ return $text; } $post_id = get_the_id(); if('term.php' == $pagenow || 'edit-tags.php' == $pagenow){ global $tag; $post_id = $tag->term_id; $term_id = $tag->term_id; } $home_id = (int) get_option('page_on_front'); $contextPage = siteseo_get_service('ContextPage')->buildContextWithCurrentId($post_id); if(isset($post_id)){ $contextPage->setPostById($post_id); $contextPage->setIsSingle(true); $terms = get_the_terms($post_id, 'post_tag'); if(!empty($terms)){ $contextPage->setHasTag(true); } $categories = get_the_terms($post_id, 'category'); if(!empty($categories)){ $contextPage->setHasCategory(true); } } if($post_id === $home_id && null !== $home_id){ $contextPage->setIsHome(true); } if(isset($term_id) && $term_id !== null && $post_id === $term_id){ $contextPage->setIsCategory(true); $contextPage->setTermId($term_id); } $resolved_text = siteseo_get_service('TagsToString')->replace($text, $contextPage->getContext()); return $resolved_text; }PKZ7  Aplugins/siteseo/main/admin/metaboxes/metabox-content-analysis.phpnu[

      '.esc_html__('Refresh analysis after saving the post to improve the accuracy of the analysis', 'siteseo').'

      '.esc_html__('SEO Analysis', 'siteseo').'
      '.esc_html__('Content Readibility', 'siteseo').'
      '; if(function_exists('siteseo_get_service')){ $analyzes = siteseo_get_service('GetContentAnalysis')->getAnalyzes($post); siteseo_get_service('RenderContentAnalysis')->render($analyzes, $metabox_data['analysis_data']); } echo '

      '.esc_html__('This section works as a guide to help you write, better content for your user, this do not have a direct affect on SEO, but it will help you write better content for your users which will help user stay on your site longer, or will improve the Click Through rate. Which will signal search engines about the userfulness and likeleyness of your content by your user which indirectly improve SEO of the page.', 'siteseo').'

      '; if(function_exists('siteseo_get_service')){ $analyzes = []; $analyzes = siteseo_get_service('GetContentAnalysis')->getReadibilityAnalyzes($post); siteseo_get_service('RenderContentAnalysis')->renderReadibility($analyzes, $metabox_data['readibility_data']); } echo '
      '; echo '
      '; }PKZwZݪ9plugins/siteseo/main/admin/admin-dyn-variables-helper.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ function siteseo_get_dyn_variables(){ return apply_filters('siteseo_get_dynamic_variables', [ '%%sep%%' => 'Separator', '%%sitetitle%%' => __('Site Title', 'siteseo'), '%%tagline%%' => __('Tagline', 'siteseo'), '%%post_title%%' => __('Post Title', 'siteseo'), '%%post_excerpt%%' => __('Post excerpt', 'siteseo'), '%%post_content%%' => __('Post content / product description', 'siteseo'), '%%post_thumbnail_url%%' => __('Post thumbnail URL', 'siteseo'), '%%post_url%%' => __('Post URL', 'siteseo'), '%%post_date%%' => __('Post date', 'siteseo'), '%%post_modified_date%%' => __('Post modified date', 'siteseo'), '%%post_author%%' => __('Post author', 'siteseo'), '%%post_category%%' => __('Post category', 'siteseo'), '%%post_tag%%' => __('Post tag', 'siteseo'), '%%_category_title%%' => __('Category title', 'siteseo'), '%%_category_description%%' => __('Category description', 'siteseo'), '%%tag_title%%' => __('Tag title', 'siteseo'), '%%tag_description%%' => __('Tag description', 'siteseo'), '%%term_title%%' => __('Term title', 'siteseo'), '%%term_description%%' => __('Term description', 'siteseo'), '%%search_keywords%%' => __('Search keywords', 'siteseo'), '%%current_pagination%%' => __('Current number page', 'siteseo'), '%%page%%' => __('Page number with context', 'siteseo'), '%%cpt_plural%%' => __('Plural Post Type Archive name', 'siteseo'), '%%archive_title%%' => __('Archive title', 'siteseo'), '%%archive_date%%' => __('Archive date', 'siteseo'), '%%archive_date_day%%' => __('Day Archive date', 'siteseo'), '%%archive_date_month%%' => __('Month Archive title', 'siteseo'), '%%archive_date_month_name%%' => __('Month name Archive title', 'siteseo'), '%%archive_date_year%%' => __('Year Archive title', 'siteseo'), '%%_cf_your_custom_field_name%%' => __('Custom fields from post, page, post type and term taxonomy', 'siteseo'), '%%_ct_your_custom_taxonomy_slug%%' => __('Custom term taxonomy from post, page or post type', 'siteseo'), '%%wc_single_cat%%' => __('Single product category', 'siteseo'), '%%wc_single_tag%%' => __('Single product tag', 'siteseo'), '%%wc_single_short_desc%%' => __('Single product short description', 'siteseo'), '%%wc_single_price%%' => __('Single product price', 'siteseo'), '%%wc_single_price_exc_tax%%' => __('Single product price taxes excluded', 'siteseo'), '%%wc_sku%%' => __('Single SKU product', 'siteseo'), '%%currentday%%' => __('Current day', 'siteseo'), '%%currentmonth%%' => __('Current month', 'siteseo'), '%%currentmonth_short%%' => __('Current month in 3 letters', 'siteseo'), '%%currentyear%%' => __('Current year', 'siteseo'), '%%currentdate%%' => __('Current date', 'siteseo'), '%%currenttime%%' => __('Current time', 'siteseo'), '%%author_first_name%%' => __('Author first name', 'siteseo'), '%%author_last_name%%' => __('Author last name', 'siteseo'), '%%author_website%%' => __('Author website', 'siteseo'), '%%author_nickname%%' => __('Author nickname', 'siteseo'), '%%author_bio%%' => __('Author biography', 'siteseo'), '%%_ucf_your_user_meta%%' => __('Custom User Meta', 'siteseo'), '%%currentmonth_num%%' => __('Current month in digital format', 'siteseo'), '%%target_keyword%%' => __('Target keyword', 'siteseo'), ]); } /** * @param string $classes * * @return string */ function siteseo_render_dyn_variables($classes){ $html = ''; $variables = siteseo_get_dyn_variables(); if(!empty($variables)){ $html .= '
        '; foreach($variables as $key => $value){ $html .= '
      • ' . esc_html($value) . '
      • '; } $html .= '
      '; } return $html; } PKZ#ZFVKjKj3plugins/siteseo/main/admin/notifications-center.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } if(defined('SITESEO_WL_ADMIN_HEADER') && SITESEO_WL_ADMIN_HEADER === false){ //do nothing return; } //Notifications Center function siteseo_advanced_appearance_notifications_option(){ return siteseo_get_service('AdvancedOption')->getAppearanceNotification(); } $class = '1' != siteseo_advanced_appearance_notifications_option() ? 'is-active' : ''; ?>
      getAccessUniversalMetaboxGutenberg(); } function siteseo_get_hidden_notices_usm_option(){ return siteseo_get_service('NoticeOption')->getNoticeUSM(); } if ('1' != siteseo_get_hidden_notices_usm_option() && siteseo_advanced_appearance_universal_metabox_option() !== '1') { $args = [ 'id' => 'notice-usm', 'title' => __('Enable our universal SEO metabox for the Block Editor', 'siteseo'), 'desc' => __('By default, our new SEO metabox is disabled for Gutenberg. Test it without further delay!', 'siteseo'), 'impact' => [ 'info' => __('Wizard', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-advanced#tab=tab_siteseo_advanced_appearance'), 'title' => __('Activate it', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-tools', 'deleteable' => true, ]; siteseo_notification($args); } function siteseo_get_hidden_notices_wizard_option(){ return siteseo_get_service('NoticeOption')->getNoticeWizard(); } if ('1' != siteseo_get_hidden_notices_wizard_option()) { $args = [ 'id' => 'notice-wizard', 'title' => __('Configure SiteSEO in a few minutes with our installation wizard', 'siteseo'), 'desc' => __('The best way to quickly setup SiteSEO on your site.', 'siteseo'), 'impact' => [ 'info' => __('Wizard', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-setup'), 'title' => __('Start the wizard', 'siteseo'), 'external' => true, ], 'icon' => 'dashicons-admin-tools', 'deleteable' => true, ]; siteseo_notification($args); } //AMP if (is_plugin_active('amp/amp.php')) { function siteseo_get_hidden_notices_amp_analytics_option() { return siteseo_get_service('NoticeOption')->getNoticeAMPAnalytics(); } if ('1' != siteseo_get_hidden_notices_amp_analytics_option()) { $args = [ 'id' => 'notice-amp-analytics', 'title' => __('Use Google Analytics with AMP plugin', 'siteseo'), 'desc' => __('Your site is using the AMP official plugin. To track users with Google Analytics on AMP pages, please go to this settings page.', 'siteseo'), 'impact' => [ 'info' => __('Medium impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=amp-options#analytics-options'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-chart-area', 'deleteable' => true, ]; siteseo_notification($args); } } //DIVI SEO options conflict $theme = wp_get_theme(); if ('Divi' == $theme->template || 'Divi' == $theme->parent_theme) { $divi_options = get_option('et_divi'); if (! empty($divi_options)) { if ( (array_key_exists('divi_seo_home_title', $divi_options) && 'on' == $divi_options['divi_seo_home_title']) || (array_key_exists('divi_seo_home_description', $divi_options) && 'on' == $divi_options['divi_seo_home_description']) || (array_key_exists('divi_seo_home_keywords', $divi_options) && 'on' == $divi_options['divi_seo_home_keywords']) || (array_key_exists('divi_seo_home_canonical', $divi_options) && 'on' == $divi_options['divi_seo_home_canonical']) || (array_key_exists('divi_seo_single_title', $divi_options) && 'on' == $divi_options['divi_seo_single_title']) || (array_key_exists('divi_seo_single_description', $divi_options) && 'on' == $divi_options['divi_seo_single_description']) || (array_key_exists('divi_seo_single_keywords', $divi_options) && 'on' == $divi_options['divi_seo_single_keywords']) || (array_key_exists('divi_seo_single_canonical', $divi_options) && 'on' == $divi_options['divi_seo_single_canonical']) || (array_key_exists('divi_seo_index_canonical', $divi_options) && 'on' == $divi_options['divi_seo_index_canonical']) || (array_key_exists('divi_seo_index_description', $divi_options) && 'on' == $divi_options['divi_seo_index_description']) ) { $args = [ 'id' => 'notice-divi-seo', 'title' => __('We noticed that some SEO DIVI options are enabled!', 'siteseo'), 'desc' => __('To avoid any SEO conflicts, please disable every SEO option from DIVI theme options page, SEO tab.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=et_divi_options#seo-1'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-plugins', 'deleteable' => false, ]; siteseo_notification($args); } } } if (is_plugin_active('td-composer/td-composer.php')) { function siteseo_get_hidden_notices_tagdiv_option(){ return siteseo_get_service('NoticeOption')->getNoticeTagDiv(); } if ('1' != siteseo_get_hidden_notices_tagdiv_option()){ $args = [ 'id' => 'notice-tagdiv', 'title' => __('TagDiv Composer plugin doesn\'t use add_theme_support(\'title-tag\');', 'siteseo'), 'desc' => __('Fix this compatibility issue to allow SiteSEO generates the correct meta titles.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => SITESEO_DOCS.'fix-compatibility-issue-tagdiv-composer-plugin-newspaper-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=siteseo', 'title' => __('Fix this!', 'siteseo'), 'external' => true, ], 'icon' => 'dashicons-admin-customizer', 'deleteable' => true, ]; siteseo_notification($args); } } if ('1' != get_theme_support('title-tag') && true !== wp_is_block_theme()){ function siteseo_get_hidden_notices_title_tag_option(){ return siteseo_get_service('NoticeOption')->getNoticeTitleTag(); } if ('1' != siteseo_get_hidden_notices_title_tag_option()) { $args = [ 'id' => 'notice-title-tag', 'title' => __('Your theme doesn\'t use add_theme_support(\'title-tag\');', 'siteseo'), 'desc' => __('This error indicates that your theme uses a deprecated function to generate the title tag of your pages. SiteSEO will not be able to generate your custom title tags if this error is not fixed.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => SITESEO_DOCS.'fixing-missing-add_theme_support-in-your-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=siteseo', 'title' => __('Learn more', 'siteseo'), 'external' => true, ], 'icon' => 'dashicons-admin-customizer', 'deleteable' => false, ]; siteseo_notification($args); } } if (is_plugin_active('swift-performance-lite/performance.php')){ function siteseo_get_swift_performance_sitemap_option() { return siteseo_get_service('NoticeOption')->getNoticeCacheSitemap(); } if (siteseo_get_swift_performance_sitemap_option() === "1") { function siteseo_get_hidden_notices_swift_option() { return siteseo_get_service('NoticeOption')->getNoticeSwift(); } $args = [ 'id' => 'notice-swift', 'title' => __('Your XML sitemap is cached!', 'siteseo'), 'desc' => __('Swift Performance is caching your XML sitemap. You must disable this option to prevent any compatibility issue (Swift Performance > Settings > Caching, General tab).', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('tools.php?page=swift-performance'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-media-spreadsheet', 'deleteable' => false, ]; siteseo_notification($args); } } $seo_plugins = [ 'wordpress-seo/wp-seo.php' => 'Yoast SEO', 'wordpress-seo-premium/wp-seo-premium.php' => 'Yoast SEO Premium', 'all-in-one-seo-pack/all_in_one_seo_pack.php' => 'All In One SEO', 'autodescription/autodescription.php' => 'The SEO Framework', 'squirrly-seo/squirrly.php' => 'Squirrly SEO', 'seo-by-rank-math/rank-math.php' => 'Rank Math', 'seo-ultimate/seo-ultimate.php' => 'SEO Ultimate', 'wp-meta-seo/wp-meta-seo.php' => 'WP Meta SEO', 'premium-seo-pack/plugin.php' => 'Premium SEO Pack', 'wpseo/wpseo.php' => 'wpSEO', 'platinum-seo-pack/platinum-seo-pack.php' => 'Platinum SEO Pack', 'smartcrawl-seo/wpmu-dev-seo.php' => 'SmartCrawl', 'seo-pressor/seo-pressor.php' => 'SeoPressor', 'slim-seo/slim-seo.php' => 'Slim SEO' ]; foreach ($seo_plugins as $key => $value) { if (is_plugin_active($key)) { $args = [ 'id' => 'notice-seo-plugins', /* translators: %s name of a SEO plugin (eg: Yoast SEO) */ 'title' => sprintf(__('We noticed that you use %s plugin.', 'siteseo'), $value), 'desc' => __('Do you want to migrate all your metadata to SiteSEO? Do not use multiple SEO plugins at once to avoid conflicts!', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-import-export'), 'title' => __('Migrate!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-plugins', 'deleteable' => false, ]; siteseo_notification($args); } } $indexing_plugins = [ 'indexnow/indexnow-url-submission.php' => 'IndexNow', 'bing-webmaster-tools/bing-url-submission.php' => 'Bing Webmaster Url Submission', 'fast-indexing-api/instant-indexing.php' => 'Instant Indexing', ]; foreach ($indexing_plugins as $key => $value) { if (is_plugin_active($key)) { $args = [ 'id' => 'notice-indexing-plugins', /* translators: %s name of a WP plugin (eg: IndexNow) */ 'title' => sprintf(__('We noticed that you use %s plugin.', 'siteseo'), $value), 'desc' => __('To prevent any conflicts with our Indexing feature, please disable it.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('plugins.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-plugins', 'deleteable' => false, ]; siteseo_notification($args); } } //Enfold theme $avia_options_enfold = get_option('avia_options_enfold'); $avia_options_enfold_child = get_option('avia_options_enfold_child'); $theme = wp_get_theme(); if ('enfold' == $theme->template || 'enfold' == $theme->parent_theme) { if ('plugin' != $avia_options_enfold['avia']['seo_robots'] || 'plugin' != $avia_options_enfold_child['avia']['seo_robots']) { function siteseo_get_hidden_notices_enfold_option() { return siteseo_get_service('NoticeOption')->getNoticeEnfold(); } if ('1' != siteseo_get_hidden_notices_enfold_option()) { $args = [ 'id' => 'notice-enfold', 'title' => __('Enfold theme is not correctly setup for SEO!', 'siteseo'), 'desc' => __('You must disable "Meta tag robots" option from Enfold settings (SEO Support tab) to avoid any SEO issues.', 'siteseo'), 'impact' => [ 'low' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?avia_welcome=true&page=avia'), 'title' => __('Fix this!', 'siteseo'), 'external' => true, ], 'icon' => 'dashicons-admin-tools', 'deleteable' => true, ]; siteseo_notification($args); } } } if(siteseo_get_empty_templates('cpt', 'title')){ $args = [ 'id' => 'notice-cpt-empty-title', 'title' => __('Global meta title missing for several custom post types!', 'siteseo'), 'desc' => siteseo_get_empty_templates('cpt', 'title', false), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_single'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-editor-table', 'deleteable' => false, 'wrap' => false, ]; siteseo_notification($args); } if (siteseo_get_empty_templates('cpt', 'description')){ $args = [ 'id' => 'notice-cpt-empty-desc', 'title' => __('Global meta description missing for several custom post types!', 'siteseo'), 'desc' => siteseo_get_empty_templates('cpt', 'description', false), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_single'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-editor-table', 'deleteable' => false, 'wrap' => false, ]; siteseo_notification($args); } if (siteseo_get_empty_templates('tax', 'title')){ $args = [ 'id' => 'notice-tax-empty-title', 'title' => __('Global meta title missing for several taxonomies!', 'siteseo'), 'desc' => siteseo_get_empty_templates('tax', 'title', false), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_tax'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-editor-table', 'deleteable' => false, 'wrap' => false, ]; siteseo_notification($args); } if (siteseo_get_empty_templates('tax', 'description')) { $args = [ 'id' => 'notice-tax-empty-templates', 'title' => __('Global meta description missing for several taxonomies!', 'siteseo'), 'desc' => siteseo_get_empty_templates('tax', 'description', false), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_tax'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-editor-table', 'deleteable' => false, 'wrap' => false, ]; siteseo_notification($args); } if (! is_ssl()) { function siteseo_get_hidden_notices_ssl_option() { return siteseo_get_service('NoticeOption')->getNoticeSSL(); } if ('1' != siteseo_get_hidden_notices_ssl_option()) { $args = [ 'id' => 'notice-ssl', 'title' => __('Your site doesn\'t use an SSL certificate!', 'siteseo'), 'desc' => __('Https is considered by Google as a positive signal for the ranking of your site. It also reassures your visitors for data security, and improves trust.', 'siteseo') . '', 'impact' => [ 'low' => __('Low impact', 'siteseo'), ], 'link' => [ 'en' => 'https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html', 'title' => __('Learn more', 'siteseo'), 'external' => true, ], 'icon' => 'dashicons-unlock', 'deleteable' => true, ]; siteseo_notification($args); } } if (function_exists('extension_loaded') && ! extension_loaded('dom')) { $args = [ 'id' => 'notice-dom', 'title' => __('PHP module "DOM" is missing on your server.', 'siteseo'), 'desc' => __('This PHP module, installed by default with PHP, is required by many plugins including SiteSEO. Please contact your host as soon as possible to solve this.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => SITESEO_DOCS.'get-started-siteseo/', 'title' => __('Learn more', 'siteseo'), 'external' => true, ], 'deleteable' => false, ]; siteseo_notification($args); } if (function_exists('extension_loaded') && ! extension_loaded('mbstring')) { $args = [ 'id' => 'notice-mbstring', 'title' => __('PHP module "mbstring" is missing on your server.', 'siteseo'), 'desc' => __('This PHP module, installed by default with PHP, is required by many plugins including SiteSEO. Please contact your host as soon as possible to solve this.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => SITESEO_DOCS.'get-started-siteseo/', 'title' => __('Learn more', 'siteseo'), 'external' => true, ], 'deleteable' => false, ]; siteseo_notification($args); } function siteseo_get_hidden_notices_noindex_option(){ return siteseo_get_service('NoticeOption')->getNoticeNoIndex(); } if ('1' != siteseo_get_hidden_notices_noindex_option()) { if ('1' == siteseo_get_service('TitleOption')->getTitleNoIndex() || '1' != get_option('blog_public')) { $args = [ 'id' => 'notice-noindex', 'title' => __('Your site is not visible to Search Engines!', 'siteseo'), 'desc' => __('You have activated the blocking of the indexing of your site. If your site is under development, this is probably normal. Otherwise, check your settings. Delete this notification using the cross on the right if you are not concerned.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-reading.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-warning', 'deleteable' => true, ]; siteseo_notification($args); } } if ('' == get_option('blogname')) { $args = [ 'id' => 'notice-title-empty', 'title' => __('Your site title is empty!', 'siteseo'), 'desc' => __('Your Site Title is used by WordPress, your theme and your plugins including SiteSEO. It is an essential component in the generation of title tags, but not only. Enter one!', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-general.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'deleteable' => false, ]; siteseo_notification($args); } if ('' == get_option('permalink_structure')) { $args = [ 'id' => 'notice-permalinks', 'title' => __('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.', 'siteseo'), 'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-permalink.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-links', 'deleteable' => false, ]; siteseo_notification($args); } if ('0' == get_option('rss_use_excerpt')) { function siteseo_get_hidden_notices_rss_use_excerpt_option() { return siteseo_get_service('NoticeOption')->getNoticeRSSUseExcerpt(); } if ('1' != siteseo_get_hidden_notices_rss_use_excerpt_option()) { $args = [ 'id' => 'notice-rss-use-excerpt', 'title' => __('Your RSS feed shows full text!', 'siteseo'), 'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'siteseo'), 'impact' => [ 'medium' => __('Medium impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-reading.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-rss', 'deleteable' => true, ]; siteseo_notification($args); } } function siteseo_ga_enable_option(){ return siteseo_get_service('GoogleAnalyticsOption')->getEnableOption(); } function siteseo_ga4_option(){ return siteseo_get_service('GoogleAnalyticsOption')->getGA4(); } if('' === siteseo_ga4_option() && '1' === siteseo_ga_enable_option()){ function siteseo_get_hidden_notices_analytics_option(){ return siteseo_get_service('NoticeOption')->getNoticeGAIds(); } if ('1' != siteseo_get_hidden_notices_analytics_option()){ $args = [ 'id' => 'notice-ga-ids', 'title' => __('You have activated Google Analytics tracking without adding identifiers!', 'siteseo'), 'desc' => __('Google Analytics will not track your visitors until you finish the configuration.', 'siteseo'), 'impact' => [ 'medium' => __('Medium impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-google-analytics'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-chart-area', 'deleteable' => true, ]; siteseo_notification($args); } } if ('1' == get_option('page_comments')) { function siteseo_get_hidden_notices_divide_comments_option() { return siteseo_get_service('NoticeOption')->getNoticeDivideComments(); } if ('1' != siteseo_get_hidden_notices_divide_comments_option()) { $args = [ 'id' => 'notice-divide-comments', 'title' => __('Break comments into pages is ON!', 'siteseo'), 'desc' => __('Enabling this option will create duplicate content for each article beyond x comments. This can have a disastrous effect by creating a large number of poor quality pages, and slowing the Google bot unnecessarily, so your ranking in search results.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-discussion.php'), 'title' => __('Disable this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-admin-comments', 'deleteable' => true, ]; siteseo_notification($args); } } if (get_option('posts_per_page') < '16') { function siteseo_get_hidden_notices_posts_number_option() { return siteseo_get_service('NoticeOption')->getNoticePostsNumber(); } if ('1' != siteseo_get_hidden_notices_posts_number_option()) { $args = [ 'id' => 'notice-posts-number', 'title' => __('Display more posts per page on homepage and archives', 'siteseo'), 'desc' => __('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links.', 'siteseo'), 'impact' => [ 'medium' => __('Medium impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('options-reading.php'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'deleteable' => true, ]; siteseo_notification($args); } } if ('1' != siteseo_get_service('SitemapOption')->isEnabled()) { $args = [ 'id' => 'notice-xml-sitemaps', 'title' => __('You don\'t have an XML Sitemap!', 'siteseo'), 'desc' => __('XML Sitemaps are useful to facilitate the crawling of your content by search engine robots. Indirectly, this can benefit your ranking by reducing the crawl bugdet.', 'siteseo'), 'impact' => [ 'medium' => __('Medium impact', 'siteseo'), ], 'link' => [ 'en' => admin_url('admin.php?page=siteseo-xml-sitemap'), 'title' => __('Fix this!', 'siteseo'), 'external' => false, ], 'icon' => 'dashicons-warning', 'deleteable' => false, ]; siteseo_notification($args); } function siteseo_get_hidden_notices_google_business_option(){ return siteseo_get_service('NoticeOption')->getNoticeGoogleBusiness(); } if ('1' != siteseo_get_hidden_notices_google_business_option()){ $args = [ 'id' => 'notice-google-business', 'title' => __('Do you have a Google My Business page? It\'s free!', 'siteseo'), 'desc' => __('Local Business websites should have a My Business page to improve visibility in search results. Click on the cross on the right to delete this notification if you are not concerned.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => 'https://www.google.com/business/go/', 'title' => __('Create your page now!', 'siteseo'), 'external' => true, ], 'deleteable' => true, ]; siteseo_notification($args); } function siteseo_get_hidden_notices_search_console_option(){ return siteseo_get_service('NoticeOption')->getNoticeSearchConsole(); } function siteseo_get_google_site_verification_option(){ return siteseo_get_service('AdvancedOption')->getAdvancedGoogleVerification(); } if ('1' != siteseo_get_hidden_notices_search_console_option() && '' == siteseo_get_google_site_verification_option()) { $args = [ 'id' => 'notice-search-console', 'title' => __('Add your site to Google. It\'s free!', 'siteseo'), 'desc' => __('Is your brand new site online? So reference it as quickly as possible on Google to get your first visitors via Google Search Console. Already the case? Click on the cross on the right to remove this alert.', 'siteseo'), 'impact' => [ 'high' => __('High impact', 'siteseo'), ], 'link' => [ 'en' => 'https://www.google.com/webmasters/tools/home', 'title' => __('Add your site to Search Console!', 'siteseo'), 'external' => true, ], 'deleteable' => true, ]; siteseo_notification($args); } if (! is_plugin_active('siteseo-pro/siteseo-pro.php')) { function siteseo_get_hidden_notices_go_pro_option(){ return siteseo_get_service('NoticeOption')->getNoticeGoPro(); } if ('1' != siteseo_get_hidden_notices_go_pro_option() && '' == siteseo_get_hidden_notices_go_pro_option()) { $args = [ 'id' => 'notice-go-pro', 'title' => __('Take your SEO to the next level with SiteSEO PRO!', 'siteseo'), 'desc' => __('The PRO version of SiteSEO allows you to easily manage your structured data (schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO for WooCommerce, gain productivity with our import / export tool from a CSV of your metadata and so much more.', 'siteseo'), 'impact' => [ 'info' => __('PRO', 'siteseo'), ], 'link' => [ 'en' => SITESEO_WEBSITE.'?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard', 'title' => __('Upgrade now!', 'siteseo'), 'external' => true, ], 'deleteable' => true, ]; siteseo_notification($args); } } ?>
      */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } //Noindex alert? function siteseo_advanced_appearance_adminbar_noindex_option(){ $options = get_option('siteseo_advanced_option_name'); if(empty($options) || !isset($options['appearance_adminbar_noindex'])) { return; } return $options['appearance_adminbar_noindex']; } // Admin bar customization. add_action('admin_bar_menu', 'siteseo_admin_bar_links', 99); function siteseo_admin_bar_links() { if(!current_user_can(siteseo_capability('manage_options', 'admin_bar')) || !(function_exists('siteseo_advanced_appearance_adminbar_option') && '1' != siteseo_advanced_appearance_adminbar_option()) ){ return; } global $wp_admin_bar; $title = ' ' . __('SiteSEO', 'siteseo'); $title = apply_filters('siteseo_adminbar_icon', $title); $noindex = ''; if('1' != siteseo_advanced_appearance_adminbar_noindex_option()){ if ('1' == siteseo_get_service('TitleOption')->getTitleNoIndex() || '1' != get_option('blog_public')) { $noindex .= ''; $noindex .= ''; $noindex .= __('noindex is on!', 'siteseo'); $noindex .= ''; } $noindex = apply_filters('siteseo_adminbar_noindex', $noindex); } // Adds a new top level admin bar link and a submenu to it $wp_admin_bar->add_menu([ 'parent' => false, 'id' => 'siteseo', 'title' => $title . $noindex, 'href' => admin_url('admin.php?page=siteseo'), ]); // noindex/nofollow per CPT if(function_exists('get_current_screen') && null != get_current_screen() && (get_current_screen()->post_type || get_current_screen()->taxonomy) ){ $robots = ''; $options = get_option('siteseo_titles_option_name'); if (get_current_screen()->taxonomy) { $noindex = isset($options['titles_single_titles'][get_current_screen()->taxonomy]['noindex']); $nofollow = isset($options['titles_single_titles'][get_current_screen()->taxonomy]['nofollow']); } else { $noindex = isset($options['titles_single_titles'][get_current_screen()->post_type]['noindex']); $nofollow = isset($options['titles_single_titles'][get_current_screen()->post_type]['nofollow']); } if (get_current_screen()->taxonomy) { /* translators: %s taxonomy name */ $robots .= '' . sprintf(__('SEO for "%s"', 'siteseo'), get_current_screen()->taxonomy) . ''; } else { /* translators: %s custom post type name */ $robots .= '' . sprintf(__('SEO for "%s"', 'siteseo'), get_current_screen()->post_type) . ''; } $robots .= ''; if (true === $noindex) { $robots .= ''; $robots .= __('noindex is on!', 'siteseo'); } else { $robots .= ''; $robots .= __('noindex is off.', 'siteseo'); } $robots .= ''; $robots .= ''; if (true === $nofollow) { $robots .= ''; $robots .= __('nofollow is on!', 'siteseo'); } else { $robots .= ''; $robots .= __('nofollow is off.', 'siteseo'); } $robots .= ''; $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_meta_robots', 'title' => $robots, 'href' => admin_url('admin.php?page=siteseo-titles'), ]); } $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_titles', 'title' => __('Titles & Metas', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-titles'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_xml_sitemap', 'title' => __('Sitemaps', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-xml-sitemap'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_social', 'title' => __('Social Networks', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-social'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_google_analytics', 'title' => __('Analytics', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-google-analytics'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_instant_indexing', 'title' => __('Instant Indexing', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-instant-indexing'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_advanced', 'title' => __('Advanced', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-advanced'), ]); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_import_export', 'title' => __('Tools', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-import-export'), ]); do_action('siteseo_admin_bar_items'); $wp_admin_bar->add_menu([ 'parent' => 'siteseo', 'id' => 'siteseo_custom_sub_menu_wizard', 'title' => __('Configuration wizard', 'siteseo'), 'href' => admin_url('admin.php?page=siteseo-setup'), ]); } PKZ>~5plugins/siteseo/main/admin/admin-bar/admin-header.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } function siteseo_admin_header($context = '') { $docs = siteseo_get_docs_links(); echo '
      '; } PKZdI."."7plugins/siteseo/main/admin/ajax-migrate/smart-crawl.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* SmartCrawl migration * @since 4.5 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_smart_crawl_migration() { siteseo_check_ajax_referer('siteseo_smart_crawl_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $smart_crawl_query_terms = get_option('wds_taxonomy_meta'); if ($smart_crawl_query_terms) { foreach ($smart_crawl_query_terms as $taxonomies => $taxonomie) { foreach ($taxonomie as $term_id => $term_value) { if ( ! empty($term_value['wds_title'])) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', $term_value['wds_title']); } if ( ! empty($term_value['wds_desc'])) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', $term_value['wds_desc']); } if ( ! empty($term_value['opengraph']['title'])) { //Import Facebook Title update_term_meta($term_id, '_siteseo_social_fb_title', $term_value['opengraph']['title']); } if ( ! empty($term_value['opengraph']['description'])) { //Import Facebook Desc update_term_meta($term_id, '_siteseo_social_fb_desc', $term_value['opengraph']['description']); } if ( ! empty($term_value['opengraph']['images'])) { //Import Facebook Image $image_id = $term_value['opengraph']['images'][0]; $img_url = wp_get_attachment_url($image_id); if (isset($img_url) && '' != $img_url) { update_term_meta($term_id, '_siteseo_social_fb_img', $img_url); } } if ( ! empty($term_value['twitter']['title'])) { //Import Facebook Title update_term_meta($term_id, '_siteseo_social_twitter_title', $term_value['twitter']['title']); } if ( ! empty($term_value['twitter']['description'])) { //Import Facebook Desc update_term_meta($term_id, '_siteseo_social_twitter_desc', $term_value['twitter']['description']); } if ( ! empty($term_value['twitter']['images'])) { //Import Facebook Image $image_id = $term_value['twitter']['images'][0]; $img_url = wp_get_attachment_url($image_id); if (isset($img_url) && '' != $img_url) { update_term_meta($term_id, '_siteseo_social_twitter_img', $img_url); } } if ( ! empty($term_value['wds_noindex']) && 'noindex' == $term_value['wds_noindex']) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ( ! empty($term_value['wds_nofollow']) && 'nofollow' == $term_value['wds_nofollow']) { //Import Robots NoFollow update_term_meta($term_id, '_siteseo_robots_follow', 'yes'); } if ('' != $term_value['wds_canonical']) { //Import Canonical URL update_term_meta($term_id, '_siteseo_robots_canonical', $term_value['wds_canonical']); } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $smart_crawl_query = get_posts($args); if ($smart_crawl_query) { foreach ($smart_crawl_query as $post) { if ('' != get_post_meta($post->ID, '_wds_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_wds_title', true)); } if ('' != get_post_meta($post->ID, '_wds_metadesc', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_wds_metadesc', true)); } if ('' != get_post_meta($post->ID, '_wds_opengraph', true)) { $_wds_opengraph = get_post_meta($post->ID, '_wds_opengraph', true); if ( ! empty($_wds_opengraph['title'])) { update_post_meta($post->ID, '_siteseo_social_fb_title', $_wds_opengraph['title']); //Import Facebook Title } if ( ! empty($_wds_opengraph['description'])) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', $_wds_opengraph['description']); } if ( ! empty($_wds_opengraph['images'])) { //Import Facebook Image $image_id = $_wds_opengraph['images'][0]; $img_url = wp_get_attachment_url($image_id); if (isset($img_url) && '' != $img_url) { update_post_meta($post->ID, '_siteseo_social_fb_img', $img_url); } } } if ('' != get_post_meta($post->ID, '_wds_twitter', true)) { $_wds_twitter = get_post_meta($post->ID, '_wds_twitter', true); if ( ! empty($_wds_twitter['title'])) { update_post_meta($post->ID, '_siteseo_social_twitter_title', $_wds_twitter['title']); //Import Twitter Title } if ( ! empty($_wds_twitter['description'])) { //Import Twitter Desc update_post_meta($post->ID, '_siteseo_social_twitter_desc', $_wds_twitter['description']); } if ( ! empty($_wds_twitter['images'])) { //Import Twitter Image $image_id = $_wds_twitter['images'][0]; $img_url = wp_get_attachment_url($image_id); if (isset($img_url) && '' != $img_url) { update_post_meta($post->ID, '_siteseo_social_twitter_img', $img_url); } } } if ('1' === get_post_meta($post->ID, '_wds_meta-robots-noindex', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('1' === get_post_meta($post->ID, '_wds_meta-robots-nofollow', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if ('' != get_post_meta($post->ID, '_wds_meta-robots-adv', true)) { $robots = get_post_meta($post->ID, '_wds_meta-robots-adv', true); if ('' != $robots) { $robots = explode(',', $robots); if (in_array('noarchive', $robots)) { //Import Robots NoArchive update_post_meta($post->ID, '_siteseo_robots_archive', 'yes'); } if (in_array('nosnippet', $robots)) { //Import Robots NoSnippet update_post_meta($post->ID, '_siteseo_robots_snippet', 'yes'); } } } if ('' != get_post_meta($post->ID, '_wds_canonical', true)) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', get_post_meta($post->ID, '_wds_canonical', true)); } if ('' != get_post_meta($post->ID, '_wds_redirect', true)) { //Import Redirect URL update_post_meta($post->ID, '_siteseo_redirections_enabled', 'yes'); update_post_meta($post->ID, '_siteseo_redirections_type', '301'); update_post_meta($post->ID, '_siteseo_redirections_value', get_post_meta($post->ID, '_wds_redirect', true)); } if ('' != get_post_meta($post->ID, '_wds_focus-keywords', true)) { //Import Focus Keywords update_post_meta($post->ID, '_siteseo_analysis_target_kw', get_post_meta($post->ID, '_wds_focus-keywords', true)); } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_smart_crawl_migration', 'siteseo_smart_crawl_migration'); PKZO4plugins/siteseo/main/admin/ajax-migrate/squirrly.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Squirrly migration /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_squirrly_migration() { siteseo_check_ajax_referer('siteseo_squirrly_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $table_name = $wpdb->prefix . 'qss'; $blog_id = get_current_blog_id(); $count_query = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE blog_id = %d", $blog_id), ARRAY_A); if ( ! empty($count_query)) { foreach ($count_query as $value) { $post_id = url_to_postid($value['URL']); if (0 != $post_id && ! empty($value['seo'])) { $seo = maybe_unserialize($value['seo']); if ('' != $seo['title']) { //Import title tag update_post_meta($post_id, '_siteseo_titles_title', $seo['title']); } if ('' != $seo['description']) { //Import description tag update_post_meta($post_id, '_siteseo_titles_desc', $seo['description']); } if ('' != $seo['og_title']) { //Import Facebook Title update_post_meta($post_id, '_siteseo_social_fb_title', $seo['og_title']); } if ('' != $seo['og_description']) { //Import Facebook Desc update_post_meta($post_id, '_siteseo_social_fb_desc', $seo['og_description']); } if ('' != $seo['og_media']) { //Import Facebook Image update_post_meta($post_id, '_siteseo_social_fb_img', $seo['og_media']); } if ('' != $seo['tw_title']) { //Import Twitter Title update_post_meta($post_id, '_siteseo_social_twitter_title', $seo['tw_title']); } if ('' != $seo['tw_description']) { //Import Twitter Desc update_post_meta($post_id, '_siteseo_social_twitter_desc', $seo['tw_description']); } if ('' != $seo['tw_media']) { //Import Twitter Image update_post_meta($post_id, '_siteseo_social_twitter_img', $seo['tw_media']); } if (1 === $seo['noindex']) { //Import noindex update_post_meta($post_id, '_siteseo_robots_index', 'yes'); } if (1 === $seo['nofollow']) { //Import nofollow update_post_meta($post_id, '_siteseo_robots_follow', 'yes'); } if ('' != $seo['canonical']) { //Import canonical update_post_meta($post_id, '_siteseo_robots_canonical', $seo['canonical']); } } } $offset = 'done'; } $data = []; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_squirrly_migration', 'siteseo_squirrly_migration'); PKZ}?<plugins/siteseo/main/admin/ajax-migrate/premium-seo-pack.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* Premium SEO Pack migration * @since 3.8.7 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_premium_seo_pack_migration() { siteseo_check_ajax_referer('siteseo_premium_seo_pack_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { $count_items = $total_count_posts; wp_reset_query(); $premium_query_terms = get_option('psp_taxonomy_seo'); if ($premium_query_terms) { foreach ($premium_query_terms as $taxonomies => $taxonomie) { foreach ($taxonomie as $term_id => $term_value) { if ('' != $term_value['psp_meta']['title']) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', $term_value['psp_meta']['title']); } if ('' != $term_value['psp_meta']['description']) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', $term_value['psp_meta']['description']); } if ('' != $term_value['psp_meta']['facebook_titlu']) { //Import Facebook Title update_term_meta($term_id, '_siteseo_social_fb_title', $term_value['psp_meta']['facebook_titlu']); } if ('' != $term_value['psp_meta']['facebook_desc']) { //Import Facebook Desc update_term_meta($term_id, '_siteseo_social_fb_desc', $term_value['psp_meta']['facebook_desc']); } if ('' != $term_value['psp_meta']['facebook_image']) { //Import Facebook Image update_term_meta($term_id, '_siteseo_social_fb_img', $term_value['psp_meta']['facebook_image']); } if ('noindex' == $term_value['psp_meta']['robots_index']) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ('nofollow' == $term_value['psp_meta']['robots_follow']) { //Import Robots NoFollow update_term_meta($term_id, '_siteseo_robots_follow', 'yes'); } if ('' != $term_value['psp_meta']['canonical']) { //Import Canonical URL update_term_meta($term_id, '_siteseo_robots_canonical', $term_value['psp_meta']['canonical']); } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $premium_query = get_posts($args); if ($premium_query) { foreach ($premium_query as $post) { $psp_meta = get_post_meta($post->ID, 'psp_meta', true); if ( ! empty($psp_meta)) { if ( ! empty($psp_meta['title'])) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', $psp_meta['title']); } if ( ! empty($psp_meta['description'])) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', $psp_meta['description']); } if ( ! empty($psp_meta['facebook_titlu'])) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', $psp_meta['facebook_titlu']); } if ( ! empty($psp_meta['facebook_desc'])) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', $psp_meta['facebook_desc']); } if ( ! empty($psp_meta['facebook_image'])) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', $psp_meta['facebook_image']); } if ('noindex' == $psp_meta['robots_index']) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('nofollow' == $psp_meta['robots_follow']) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if ( ! empty($psp_meta['canonical'])) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', $psp_meta['canonical']); } if ( ! empty($psp_meta['mfocus_keyword'])) { //Import Focus Keywords $target_kw = preg_split('/\r\n|\r|\n/', $psp_meta['mfocus_keyword']); update_post_meta($post->ID, '_siteseo_analysis_target_kw', implode(',', $target_kw)); } } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_premium_seo_pack_migration', 'siteseo_premium_seo_pack_migration'); PKZK vv1plugins/siteseo/main/admin/ajax-migrate/wpseo.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* wpSEO migration * @since 4.0 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_wpseo_migration() { siteseo_check_ajax_referer('siteseo_wpseo_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $args = [ 'hide_empty' => false, 'fields' => 'ids', ]; $wpseo_query_terms = get_terms($args); if ($wpseo_query_terms) { foreach ($wpseo_query_terms as $term_id) { if ('' != get_option('wpseo_category_' . $term_id . '_title')) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', get_option('wpseo_category_' . $term_id . '_title')); } if ('' != get_option('wpseo_category_' . $term_id)) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', get_option('wpseo_category_' . $term_id)); } if ('' != get_option('wpseo_category_' . $term_id . '_og_title')) { //Import Facebook Title update_term_meta($term_id, '_siteseo_social_fb_title', get_option('wpseo_category_' . $term_id . '_og_title')); update_term_meta($term_id, '_siteseo_social_twitter_title', get_option('wpseo_category_' . $term_id . '_og_title')); } if ('' != get_option('wpseo_category_' . $term_id . '_og_desc')) { //Import Facebook Desc update_term_meta($term_id, '_siteseo_social_fb_desc', get_option('wpseo_category_' . $term_id . '_og_desc')); update_term_meta($term_id, '_siteseo_social_twitter_desc', get_option('wpseo_category_' . $term_id . '_og_desc')); } if ('' != get_option('wpseo_category_' . $term_id . '_og_image')) { //Import Facebook Image update_term_meta($term_id, '_siteseo_social_fb_img', get_option('wpseo_category_' . $term_id . '_og_image')); update_term_meta($term_id, '_siteseo_social_twitter_img', get_option('wpseo_category_' . $term_id . '_og_image')); } if ('' != get_option('wpseo_category_' . $term_id . '_canonical')) { //Import Canonical URL update_term_meta($term_id, '_siteseo_robots_canonical', get_option('wpseo_category_' . $term_id . '_canonical')); } if ('' != get_option('wpseo_category_' . $term_id . '_redirect')) { //Import Redirect URL update_term_meta($term_id, '_siteseo_redirections_value', get_option('wpseo_category_' . $term_id . '_redirect')); update_term_meta($term_id, '_siteseo_redirections_enabled', 'yes'); } if ('4' == get_option('wpseo_category_' . $term_id . '_robots') || '5' == get_option('wpseo_category_' . $term_id . '_robots') || '3' == get_option('wpseo_category_' . $term_id . '_robots')) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ('2' == get_option('wpseo_category_' . $term_id . '_robots')) { //Import Robots NoFollow update_term_meta($term_id, '_siteseo_robots_follow', 'yes'); } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $wpseo_query = get_posts($args); if ($wpseo_query) { foreach ($wpseo_query as $post) { if ('' != get_post_meta($post->ID, '_wpseo_edit_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_wpseo_edit_title', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_description', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_wpseo_edit_description', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_og_title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_post_meta($post->ID, '_wpseo_edit_og_title', true)); update_post_meta($post->ID, '_siteseo_social_twitter_title', get_post_meta($post->ID, '_wpseo_edit_og_title', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_og_description', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_post_meta($post->ID, '_wpseo_edit_og_description', true)); update_post_meta($post->ID, '_siteseo_social_twitter_desc', get_post_meta($post->ID, '_wpseo_edit_og_description', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_og_image', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_post_meta($post->ID, '_wpseo_edit_og_image', true)); update_post_meta($post->ID, '_siteseo_social_twitter_img', get_post_meta($post->ID, '_wpseo_edit_og_image', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_keyword_0', true)) { //Import Target Keyword update_post_meta($post->ID, '_siteseo_analysis_target_kw', get_post_meta($post->ID, '_wpseo_edit_keyword_0', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_canonical', true)) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', get_post_meta($post->ID, '_wpseo_edit_canonical', true)); } if ('' != get_post_meta($post->ID, '_wpseo_edit_redirect', true)) { //Import Redirect URL update_post_meta($post->ID, '_siteseo_redirections_value', get_post_meta($post->ID, '_wpseo_edit_redirect', true)); update_post_meta($post->ID, '_siteseo_redirections_enabled', 'yes'); //Enable the redirect } if ('4' == get_post_meta($post->ID, '_wpseo_edit_robots', true) || '5' == get_post_meta($post->ID, '_wpseo_edit_robots', true) || '3' == get_post_meta($post->ID, '_wpseo_edit_robots', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('2' == get_post_meta($post->ID, '_wpseo_edit_robots', true)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_wpseo_migration', 'siteseo_wpseo_migration'); PKZρ!!1plugins/siteseo/main/admin/ajax-migrate/yoast.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Yoast migration /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_yoast_migration() { siteseo_check_ajax_referer('siteseo_yoast_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $yoast_query_terms = get_option('wpseo_taxonomy_meta'); if ($yoast_query_terms) { foreach ($yoast_query_terms as $taxonomies => $taxonomie) { foreach ($taxonomie as $term_id => $term_value) { if ('' != $term_value['wpseo_title']) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', $term_value['wpseo_title']); } if ('' != $term_value['wpseo_desc']) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', $term_value['wpseo_desc']); } if ('' != $term_value['wpseo_opengraph-title']) { //Import Facebook Title update_term_meta($term_id, '_siteseo_social_fb_title', $term_value['wpseo_opengraph-title']); } if ('' != $term_value['wpseo_opengraph-description']) { //Import Facebook Desc update_term_meta($term_id, '_siteseo_social_fb_desc', $term_value['wpseo_opengraph-description']); } if ('' != $term_value['wpseo_opengraph-image']) { //Import Facebook Image update_term_meta($term_id, '_siteseo_social_fb_img', $term_value['wpseo_opengraph-image']); } if ('' != $term_value['wpseo_twitter-title']) { //Import Twitter Title update_term_meta($term_id, '_siteseo_social_twitter_title', $term_value['wpseo_twitter-title']); } if ('' != $term_value['wpseo_twitter-description']) { //Import Twitter Desc update_term_meta($term_id, '_siteseo_social_twitter_desc', $term_value['wpseo_twitter-description']); } if ('' != $term_value['wpseo_twitter-image']) { //Import Twitter Image update_term_meta($term_id, '_siteseo_social_twitter_img', $term_value['wpseo_twitter-image']); } if ('noindex' == $term_value['wpseo_noindex']) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ('' != $term_value['wpseo_canonical']) { //Import Canonical URL update_term_meta($term_id, '_siteseo_robots_canonical', $term_value['wpseo_canonical']); } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $yoast_query = get_posts($args); if ($yoast_query) { foreach ($yoast_query as $post) { if ('' != get_post_meta($post->ID, '_yoast_wpseo_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_yoast_wpseo_title', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_metadesc', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_yoast_wpseo_metadesc', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true)) { //Import Twitter Title update_post_meta($post->ID, '_siteseo_social_twitter_title', get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true)) { //Import Twitter Desc update_post_meta($post->ID, '_siteseo_social_twitter_desc', get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true)) { //Import Twitter Image update_post_meta($post->ID, '_siteseo_social_twitter_img', get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true)); } if ('1' == get_post_meta($post->ID, '_yoast_wpseo_meta-robots-noindex', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('1' == get_post_meta($post->ID, '_yoast_wpseo_meta-robots-nofollow', true)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true)) { //Import Robots NoImageIndex, NoArchive, NoSnippet $yoast_wpseo_meta_robots_adv = get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true); if (false !== strpos($yoast_wpseo_meta_robots_adv, 'noimageindex')) { update_post_meta($post->ID, '_siteseo_robots_imageindex', 'yes'); } if (false !== strpos($yoast_wpseo_meta_robots_adv, 'noarchive')) { update_post_meta($post->ID, '_siteseo_robots_archive', 'yes'); } if (false !== strpos($yoast_wpseo_meta_robots_adv, 'nosnippet')) { update_post_meta($post->ID, '_siteseo_robots_snippet', 'yes'); } } if ('' != get_post_meta($post->ID, '_yoast_wpseo_canonical', true)) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', get_post_meta($post->ID, '_yoast_wpseo_canonical', true)); } if ('' != get_post_meta($post->ID, '_yoast_wpseo_focuskw', true) || '' != get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', true)) { //Import Focus Keywords $y_fkws_clean = []; //reset array $y_fkws = get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', false); foreach ($y_fkws as $value) { foreach (json_decode($value) as $key => $value) { $y_fkws_clean[] .= $value->keyword; } } $y_fkws_clean[] .= get_post_meta($post->ID, '_yoast_wpseo_focuskw', true); update_post_meta($post->ID, '_siteseo_analysis_target_kw', implode(',', $y_fkws_clean)); } //Primary category if (class_exists('WPSEO_Primary_Term')) { if ('product' == get_post_type($post->ID)) { $tax = 'product_cat'; } else { $tax = 'category'; } $primary_term = new WPSEO_Primary_Term($tax, $post->ID); $primary_term = $primary_term->get_primary_term(); if ('' != $primary_term && is_int($primary_term)) { update_post_meta($post->ID, '_siteseo_robots_primary_cat', $primary_term); } } } } $offset += $increment; } $data = []; $data['total'] = $total_count_posts; if ($offset >= $total_count_posts) { $data['count'] = $total_count_posts; } else { $data['count'] = $offset; } $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_yoast_migration', 'siteseo_yoast_migration'); PKZ.yhy+y+4plugins/siteseo/main/admin/ajax-migrate/platinum.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* Platinum SEO migration * @since 4.5 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_platinum_seo_migration() { siteseo_check_ajax_referer('siteseo_platinum_seo_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $args = [ 'hide_empty' => false, ]; $platinum_seo_query_terms = get_terms($args); if ($platinum_seo_query_terms) { foreach ($platinum_seo_query_terms as $term) { if ( ! is_wp_error($term)) { $tax = 'taxonomy'; if ('category' === $term->taxonomy) { $tax = 'category'; } if ('' != get_term_meta($term->term_id, 'psp_' . $tax . '_seo_metas_' . $term->term_id, true) || '' != get_term_meta($term->$term_id, 'psp_' . $tax . '_social_metas_' . $term->term_id, true)) { $term_settings = get_term_meta($term->term_id, 'psp_' . $tax . '_seo_metas_' . $term->term_id, true); $term_social_settings = get_term_meta($term->term_id, 'psp_' . $tax . '_social_metas_' . $term->term_id, true); if ( ! empty($term_settings['title'])) { //Import title tag update_term_meta($term->term_id, '_siteseo_titles_title', $term_settings['title']); } if ( ! empty($term_settings['description'])) { //Import meta desc update_term_meta($term->term_id, '_siteseo_titles_desc', $term_settings['description']); } if ( ! empty($term_social_settings['fb_title'])) { //Import Facebook Title update_term_meta($term->term_id, '_siteseo_social_fb_title', $term_social_settings['fb_title']); update_term_meta($term->term_id, '_siteseo_social_twitter_title', $term_social_settings['fb_title']); } if ( ! empty($term_social_settings['fb_description'])) { //Import Facebook Desc update_term_meta($term->term_id, '_siteseo_social_fb_desc', $term_social_settings['fb_description']); update_term_meta($term->term_id, '_siteseo_social_twitter_desc', $term_social_settings['fb_description']); } if ( ! empty($term_social_settings['fb_image'])) { //Import Facebook Image update_term_meta($term->term_id, '_siteseo_social_fb_img', $term_social_settings['fb_image']); update_term_meta($term->term_id, '_siteseo_social_twitter_img', $term_social_settings['fb_image']); } if ( ! empty($term_settings['canonical_url'])) { //Import Canonical URL update_term_meta($term->term_id, '_siteseo_robots_canonical', $term_settings['canonical_url']); } if ( ! empty($term_settings['redirect_to_url'])) { //Import Redirect URL update_term_meta($term->term_id, '_siteseo_redirections_value', $term_settings['redirect_to_url']); update_term_meta($term->term_id, '_siteseo_redirections_enabled', 'yes'); if ( ! empty($term_settings['redirect_status_code'])) { $status = $term_settings['redirect_status_code']; if ('303' === $term_settings['redirect_status_code']) { $status = '301'; } update_term_meta($term->term_id, '_siteseo_redirections_type', $status); } } if ( ! empty($term_settings['noindex'])) { //Import Robots NoIndex update_term_meta($term->term_id, '_siteseo_robots_index', 'yes'); } if ( ! empty($term_settings['nofollow'])) { //Import Robots NoFollow update_term_meta($term->term_id, '_siteseo_robots_follow', 'yes'); } if ( ! empty($term_settings['noarchive'])) { //Import Robots NoArchive update_term_meta($term->term_id, '_siteseo_robots_archive', 'yes'); } if ( ! empty($term_settings['nosnippet'])) { //Import Robots NoSnippet update_term_meta($term->term_id, '_siteseo_robots_snippet', 'yes'); } if ( ! empty($term_settings['noimageindex'])) { //Import Robots NoImageIndex update_term_meta($term->term_id, '_siteseo_robots_imageindex', 'yes'); } } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $platinum_seo_query = get_posts($args); if ($platinum_seo_query) { foreach ($platinum_seo_query as $post) { if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_title', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_description', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_description', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_title', true)); update_post_meta($post->ID, '_siteseo_social_twitter_title', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_title', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_description', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_description', true)); update_post_meta($post->ID, '_siteseo_social_twitter_desc', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_description', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_image', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_image', true)); update_post_meta($post->ID, '_siteseo_social_twitter_img', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_fb_image', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_keywords', true)) { //Import Target Keyword update_post_meta($post->ID, '_siteseo_analysis_target_kw', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_keywords', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_canonical_url', true)) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_canonical_url', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_redirect_to_url', true)) { //Import Redirect URL update_post_meta($post->ID, '_siteseo_redirections_value', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_redirect_to_url', true)); update_post_meta($post->ID, '_siteseo_redirections_enabled', 'yes'); //Enable the redirect if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_redirect_status_code', true)) { $status = get_metadata('platinumseo', $post->ID, '_techblissonline_psp_redirect_status_code', true); if ('303' === get_metadata('platinumseo', $post->ID, '_techblissonline_psp_redirect_status_code', true)) { $status = '301'; } update_term_meta($post->ID, '_siteseo_redirections_type', $status); } } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_noindex', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_nofollow', true)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_noarchive', true)) { //Import Robots NoArchive update_post_meta($post->ID, '_siteseo_robots_archive', 'yes'); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_nosnippet', true)) { //Import Robots NoSnippet update_post_meta($post->ID, '_siteseo_robots_snippet', 'yes'); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_noimageidx', true)) { //Import Robots NoImageIndex update_post_meta($post->ID, '_siteseo_robots_imageindex', 'yes'); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_keywords', true)) { //Import Target Keywords update_post_meta($post->ID, '_siteseo_analysis_target_kw', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_keywords', true)); } if ('' != get_metadata('platinumseo', $post->ID, '_techblissonline_psp_preferred_term', true)) { //Import Primary category if ('category' == get_metadata('platinumseo', $post->ID, '_techblissonline_psp_preferred_taxonomy', true) || 'product_cat' == get_metadata('platinumseo', $post->ID, '_techblissonline_psp_preferred_taxonomy', true)) { update_post_meta($post->ID, '_siteseo_robots_primary_cat', get_metadata('platinumseo', $post->ID, '_techblissonline_psp_preferred_term', true)); } } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_platinum_seo_migration', 'siteseo_platinum_seo_migration'); PKZ664plugins/siteseo/main/admin/ajax-migrate/slim-seo.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// //Slim SEO migration /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_slim_seo_migration() { siteseo_check_ajax_referer('siteseo_slim_seo_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $args = [ //'number' => $increment, 'hide_empty' => false, //'offset' => $offset, 'fields' => 'ids', ]; $slim_seo_query_terms = get_terms($args); if ($slim_seo_query_terms) { foreach ($slim_seo_query_terms as $term_id) { if ('' != get_term_meta($term_id, 'slim_seo', true)) { $term_settings = get_term_meta($term_id, 'slim_seo', true); if ( ! empty($term_settings['title'])) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', $term_settings['title']); } if ( ! empty($term_settings['description'])) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', $term_settings['description']); } if ( ! empty($term_settings['noindex'])) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ( ! empty($term_settings['facebook_image'])) { //Import FB image update_term_meta($term_id, '_siteseo_social_fb_img', $term_settings['facebook_image']); } if ( ! empty($term_settings['twitter_image'])) { //Import Tw image update_term_meta($term_id, '_siteseo_social_twitter_img', $term_settings['twitter_image']); } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $slim_seo_query = get_posts($args); if ($slim_seo_query) { foreach ($slim_seo_query as $post) { if ('' != get_post_meta($post->ID, 'slim_seo', true)) { $post_settings = get_post_meta($post->ID, 'slim_seo', true); if ( ! empty($post_settings['title'])) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', $post_settings['title']); } if ( ! empty($post_settings['description'])) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', $post_settings['description']); } if ( ! empty($post_settings['noindex'])) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ( ! empty($post_settings['facebook_image'])) { //Import FB image update_post_meta($post->ID, '_siteseo_social_fb_img', $post_settings['facebook_image']); } if ( ! empty($post_settings['twitter_image'])) { //Import Tw image update_post_meta($post->ID, '_siteseo_social_twitter_img', $post_settings['twitter_image']); } } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_slim_seo_migration', 'siteseo_slim_seo_migration'); PKZyX7plugins/siteseo/main/admin/ajax-migrate/wp-meta-seo.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* WP Meta SEO migration * @since 3.8.2 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_wp_meta_seo_migration() { siteseo_check_ajax_referer('siteseo_meta_seo_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $args = [ 'hide_empty' => false, 'fields' => 'ids', ]; $wp_meta_seo_query_terms = get_terms($args); if ($wp_meta_seo_query_terms) { foreach ($wp_meta_seo_query_terms as $term_id) { if ('' != get_term_meta($term_id, 'wpms_category_metatitle', true)) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', get_term_meta($term_id, 'wpms_category_metatitle', true)); } if ('' != get_term_meta($term_id, 'wpms_category_metadesc', true)) { //Import title desc update_term_meta($term_id, '_siteseo_titles_desc', get_term_meta($term_id, 'wpms_category_metadesc', true)); } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $wp_meta_seo_query = get_posts($args); if ($wp_meta_seo_query) { foreach ($wp_meta_seo_query as $post) { if ('' != get_post_meta($post->ID, '_metaseo_metatitle', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_metaseo_metatitle', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metadesc', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_metaseo_metadesc', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metaopengraph-title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_post_meta($post->ID, '_metaseo_metaopengraph-title', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metaopengraph-desc', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_post_meta($post->ID, '_metaseo_metaopengraph-desc', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metaopengraph-image', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_post_meta($post->ID, '_metaseo_metaopengraph-image', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metatwitter-title', true)) { //Import Twitter Title update_post_meta($post->ID, '_siteseo_social_twitter_title', get_post_meta($post->ID, '_metaseo_metatwitter-title', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metatwitter-desc', true)) { //Import Twitter Desc update_post_meta($post->ID, '_siteseo_social_twitter_desc', get_post_meta($post->ID, '_metaseo_metatwitter-desc', true)); } if ('' != get_post_meta($post->ID, '_metaseo_metatwitter-image', true)) { //Import Twitter Image update_post_meta($post->ID, '_siteseo_social_twitter_img', get_post_meta($post->ID, '_metaseo_metatwitter-image', true)); } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_wp_meta_seo_migration', 'siteseo_wp_meta_seo_migration'); PKZZq6plugins/siteseo/main/admin/ajax-migrate/seopressor.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* SeoPressor migration * @since 4.5 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_seopressor_migration() { siteseo_check_ajax_referer('siteseo_seopressor_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $increment = 200; global $post; if ($offset > $total_count_posts) { $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $su_query = get_posts($args); if ($su_query) { foreach ($su_query as $post) { if ( ! empty(get_post_meta($post->ID, '_seop_settings', true))) { $_seop_settings = get_post_meta($post->ID, '_seop_settings', true); if ( ! empty($_seop_settings['meta_title'])) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', $_seop_settings['meta_title']); } if ( ! empty($_seop_settings['meta_description'])) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', $_seop_settings['meta_description']); } if ( ! empty($_seop_settings['fb_title'])) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', $_seop_settings['fb_title']); } if ( ! empty($_seop_settings['fb_description'])) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', $_seop_settings['fb_description']); } if ( ! empty($_seop_settings['fb_img'])) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', $_seop_settings['fb_img']); } if ( ! empty($_seop_settings['tw_title'])) { //Import Twitter Title update_post_meta($post->ID, '_siteseo_social_twitter_title', $_seop_settings['tw_title']); } if ( ! empty($_seop_settings['tw_description'])) { //Import Twitter Desc update_post_meta($post->ID, '_siteseo_social_twitter_desc', $_seop_settings['tw_description']); } if ( ! empty($_seop_settings['tw_image'])) { //Import Twitter Image update_post_meta($post->ID, '_siteseo_social_twitter_img', $_seop_settings['tw_image']); } if ( ! empty($_seop_settings['meta_rules'])) { $robots = explode('#|#|#', $_seop_settings['meta_rules']); if ( ! empty($robots)) { if (in_array('noindex', $robots)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if (in_array('nofollow', $robots)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if (in_array('noarchive', $robots)) { //Import Robots NoArchive update_post_meta($post->ID, '_siteseo_robots_archive', 'yes'); } if (in_array('nosnippet', $robots)) { //Import Robots NoSnippet update_post_meta($post->ID, '_siteseo_robots_snippet', 'yes'); } if (in_array('noimageindex', $robots)) { //Import Robots NoImageIndex update_post_meta($post->ID, '_siteseo_robots_imageindex', 'yes'); } } } if ('' != get_post_meta($post->ID, '_seop_kw_1', true) || '' != get_post_meta($post->ID, '_seop_kw_2', true) || '' != get_post_meta($post->ID, '_seop_kw_3', true)) { //Import Target Keyword $kw = []; $kw[] = get_post_meta($post->ID, '_seop_kw_1', true); $kw[] = get_post_meta($post->ID, '_seop_kw_2', true); $kw[] = get_post_meta($post->ID, '_seop_kw_3', true); $kw = implode(',', $kw); if ( ! empty($kw)) { update_post_meta($post->ID, '_siteseo_analysis_target_kw', $kw); } } if ( ! empty($_seop_settings['meta_canonical'])) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', $_seop_settings['meta_canonical']); } if ( ! empty($_seop_settings['meta_redirect'])) { //Import Redirect URL update_post_meta($post->ID, '_siteseo_redirections_value', $_seop_settings['meta_redirect']); update_post_meta($post->ID, '_siteseo_redirections_enabled', 'yes'); //Enable the redirect } } } } $offset += $increment; } $data = []; $data['offset'] = $offset; $data['total'] = $total_count_posts; if ($offset >= $total_count_posts) { $data['count'] = $total_count_posts; } else { $data['count'] = $offset; } wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_seopressor_migration', 'siteseo_seopressor_migration'); PKZmkXX8plugins/siteseo/main/admin/ajax-migrate/seo-ultimate.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// /* SEO Ultimate migration * @since 3.8.2 * @author Softaculous */ /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_seo_ultimate_migration() { siteseo_check_ajax_referer('siteseo_seo_ultimate_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $increment = 200; global $post; if ($offset > $total_count_posts) { $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $su_query = get_posts($args); if ($su_query) { foreach ($su_query as $post) { if ('' != get_post_meta($post->ID, '_su_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_su_title', true)); } if ('' != get_post_meta($post->ID, '_su_description', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_su_description', true)); } if ('' != get_post_meta($post->ID, '_su_og_title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_post_meta($post->ID, '_su_og_title', true)); } if ('' != get_post_meta($post->ID, '_su_og_description', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_post_meta($post->ID, '_su_og_description', true)); } if ('' != get_post_meta($post->ID, '_su_og_image', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_post_meta($post->ID, '_su_og_image', true)); } if ('1' == get_post_meta($post->ID, '_su_meta_robots_noindex', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('1' == get_post_meta($post->ID, '_su_meta_robots_nofollow', true)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } } } $offset += $increment; } $data = []; $data['offset'] = $offset; $data['total'] = $total_count_posts; if ($offset >= $total_count_posts) { $data['count'] = $total_count_posts; } else { $data['count'] = $offset; } wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_seo_ultimate_migration', 'siteseo_seo_ultimate_migration'); PKZlؖDD9plugins/siteseo/main/admin/ajax-migrate/seo-framework.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); /////////////////////////////////////////////////////////////////////////////////////////////////// //SEO Framework migration /////////////////////////////////////////////////////////////////////////////////////////////////// function siteseo_seo_framework_migration() { siteseo_check_ajax_referer('siteseo_seo_framework_migrate_nonce'); if (current_user_can(siteseo_capability('manage_options', 'migration')) && is_admin()) { if (isset($_POST['offset']) && isset($_POST['offset'])) { $offset = absint(siteseo_opt_post('offset')); } global $wpdb; $total_count_posts = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->posts}"); $total_count_terms = (int) $wpdb->get_var("SELECT count(*) FROM {$wpdb->terms}"); $increment = 200; global $post; if ($offset > $total_count_posts) { wp_reset_query(); $count_items = $total_count_posts; $args = [ //'number' => $increment, 'hide_empty' => false, //'offset' => $offset, 'fields' => 'ids', ]; $seo_framework_query_terms = get_terms($args); if ($seo_framework_query_terms) { foreach ($seo_framework_query_terms as $term_id) { if ('' != get_term_meta($term_id, 'autodescription-term-settings', true)) { $term_settings = get_term_meta($term_id, 'autodescription-term-settings', true); if ( ! empty($term_settings['doctitle'])) { //Import title tag update_term_meta($term_id, '_siteseo_titles_title', $term_settings['doctitle']); } if ( ! empty($term_settings['description'])) { //Import meta desc update_term_meta($term_id, '_siteseo_titles_desc', $term_settings['description']); } if ( ! empty($term_settings['noindex'])) { //Import Robots NoIndex update_term_meta($term_id, '_siteseo_robots_index', 'yes'); } if ( ! empty($term_settings['nofollow'])) { //Import Robots NoFollow update_term_meta($term_id, '_siteseo_robots_follow', 'yes'); } if ( ! empty($term_settings['noarchive'])) { //Import Robots NoArchive update_term_meta($term_id, '_siteseo_robots_archive', 'yes'); } } } } $offset = 'done'; wp_reset_query(); } else { $args = [ 'posts_per_page' => $increment, 'post_type' => 'any', 'post_status' => 'any', 'offset' => $offset, ]; $seo_framework_query = get_posts($args); if ($seo_framework_query) { foreach ($seo_framework_query as $post) { if ('' != get_post_meta($post->ID, '_genesis_title', true)) { //Import title tag update_post_meta($post->ID, '_siteseo_titles_title', get_post_meta($post->ID, '_genesis_title', true)); } if ('' != get_post_meta($post->ID, '_genesis_description', true)) { //Import meta desc update_post_meta($post->ID, '_siteseo_titles_desc', get_post_meta($post->ID, '_genesis_description', true)); } if ('' != get_post_meta($post->ID, '_open_graph_title', true)) { //Import Facebook Title update_post_meta($post->ID, '_siteseo_social_fb_title', get_post_meta($post->ID, '_open_graph_title', true)); } if ('' != get_post_meta($post->ID, '_open_graph_description', true)) { //Import Facebook Desc update_post_meta($post->ID, '_siteseo_social_fb_desc', get_post_meta($post->ID, '_open_graph_description', true)); } if ('' != get_post_meta($post->ID, '_social_image_url', true)) { //Import Facebook Image update_post_meta($post->ID, '_siteseo_social_fb_img', get_post_meta($post->ID, '_social_image_url', true)); } if ('' != get_post_meta($post->ID, '_twitter_title', true)) { //Import Twitter Title update_post_meta($post->ID, '_siteseo_social_twitter_title', get_post_meta($post->ID, '_twitter_title', true)); } if ('' != get_post_meta($post->ID, '_twitter_description', true)) { //Import Twitter Desc update_post_meta($post->ID, '_siteseo_social_twitter_desc', get_post_meta($post->ID, '_twitter_description', true)); } if ('' != get_post_meta($post->ID, '_social_image_url', true)) { //Import Twitter Image update_post_meta($post->ID, '_siteseo_social_twitter_img', get_post_meta($post->ID, '_social_image_url', true)); } if ('1' == get_post_meta($post->ID, '_genesis_noindex', true)) { //Import Robots NoIndex update_post_meta($post->ID, '_siteseo_robots_index', 'yes'); } if ('1' == get_post_meta($post->ID, '_genesis_nofollow', true)) { //Import Robots NoFollow update_post_meta($post->ID, '_siteseo_robots_follow', 'yes'); } if ('1' == get_post_meta($post->ID, '_genesis_noarchive', true)) { //Import Robots NoArchive update_post_meta($post->ID, '_siteseo_robots_archive', 'yes'); } if ('' != get_post_meta($post->ID, '_genesis_canonical_uri', true)) { //Import Canonical URL update_post_meta($post->ID, '_siteseo_robots_canonical', get_post_meta($post->ID, '_genesis_canonical_uri', true)); } if ('' != get_post_meta($post->ID, 'redirect', true)) { //Import Redirect URL update_post_meta($post->ID, '_siteseo_redirections_enabled', 'yes'); update_post_meta($post->ID, '_siteseo_redirections_type', '301'); update_post_meta($post->ID, '_siteseo_redirections_value', get_post_meta($post->ID, 'redirect', true)); } //Primary category if ('post' == get_post_type($post->ID)) { $tax = 'category'; } elseif ('product' == get_post_type($post->ID)) { $tax = 'product_cat'; } if (isset($tax)) { $primary_term = get_post_meta($post->ID, '_primary_term_'.$tax, true); if ('' != $primary_term) { update_post_meta($post->ID, '_siteseo_robots_primary_cat', $primary_term); } } } } $offset += $increment; if ($offset >= $total_count_posts) { $count_items = $total_count_posts; } else { $count_items = $offset; } } $data = []; $data['count'] = $count_items; $data['total'] = $total_count_posts + $total_count_terms; $data['offset'] = $offset; wp_send_json_success($data); exit(); } } add_action('wp_ajax_siteseo_seo_framework_migration', 'siteseo_seo_framework_migration'); PKZM˴0plugins/siteseo/main/admin/sanitize/Sanitize.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)'); function siteseo_sanitize_options_fields($input){ $siteseo_sanitize_fields = [ 'siteseo_social_facebook_img_attachment_id', 'siteseo_social_facebook_img_attachment_width', 'siteseo_social_facebook_img_attachment_height', 'titles_home_site_title', 'titles_home_site_title_alt', 'titles_home_site_desc', 'titles_archives_author_title', 'siteseo_titles_archives_author_desc', 'titles_archives_date_title', 'titles_archives_date_desc', 'titles_archives_search_title', 'titles_archives_search_desc', 'titles_archives_404_title', 'titles_archives_404_desc', 'xml_sitemap_html_exclude', 'social_knowledge_name', 'social_knowledge_img', 'social_knowledge_phone', 'social_accounts_facebook', 'social_accounts_twitter', 'social_accounts_pinterest', 'social_accounts_instagram', 'social_accounts_youtube', 'social_accounts_linkedin', 'social_facebook_link_ownership_id', 'social_facebook_admin_id', 'social_facebook_app_id', 'google_analytics_ga4', 'google_analytics_download_tracking', 'google_analytics_opt_out_msg', 'google_analytics_opt_out_msg_ok', 'google_analytics_opt_out_msg_close', 'google_analytics_opt_out_msg_edit', 'google_analytics_other_tracking', 'google_analytics_other_tracking_body', 'google_analytics_optimize', 'google_analytics_ads', 'google_analytics_cross_domain', 'google_analytics_matomo_id', 'google_analytics_matomo_site_id', 'google_analytics_matomo_cross_domain_sites', 'google_analytics_cb_backdrop_bg', 'google_analytics_cb_exp_date', 'google_analytics_cb_bg', 'google_analytics_cb_txt_col', 'google_analytics_cb_lk_col', 'google_analytics_cb_btn_bg', 'google_analytics_cb_btn_col', 'google_analytics_cb_btn_bg_hov', 'google_analytics_cb_btn_col_hov', 'google_analytics_cb_btn_sec_bg', 'google_analytics_cb_btn_sec_col', 'google_analytics_cb_btn_sec_bg_hov', 'google_analytics_cb_btn_sec_col_hov', 'google_analytics_cb_width', 'instant_indexing_bing_api_key', 'instant_indexing_manual_batch', 'google_analytics_clarity_project_id', 'google_analytics_matomo_widget_auth_token', //'instant_indexing_google_api_key', 'breadcrumbs_home', 'breadcrumb_home_label', 'breadcrumbs_seperator', 'breadcrumbs_custom_seperator', 'breadcrumb_prefix', ]; $siteseo_esc_attr = [ 'titles_sep', ]; $siteseo_sanitize_site_verification = [ 'advanced_google', 'advanced_bing', 'advanced_pinterest', 'advanced_yandex', ]; $newOptions = ['siteseo_social_facebook_img_attachment_id', 'siteseo_social_facebook_img_height', 'siteseo_social_facebook_img_width']; foreach ($newOptions as $key => $value) { if(!isset($input[$value]) && isset($_POST[$value])){ $input[$value] = $_POST[$value]; } } foreach ($siteseo_sanitize_fields as $value) { if ( ! empty($input['google_analytics_matomo_widget_auth_token']) && 'google_analytics_matomo_widget_auth_token' == $value) { $options = get_option('siteseo_google_analytics_option_name'); $token = isset($options['google_analytics_matomo_widget_auth_token']) ? $options['google_analytics_matomo_widget_auth_token'] : null; $input[$value] = $input[$value] ==='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ? $token : sanitize_text_field($input[$value]); } elseif ( ! empty($input['google_analytics_opt_out_msg']) && 'google_analytics_opt_out_msg' == $value) { $args = [ 'strong' => true, 'em' => true, 'br' => true, 'a' => [ 'href' => true, 'target' => true, ], ]; $input[$value] = wp_kses($input[$value], $args); } elseif (( ! empty($input['google_analytics_other_tracking']) && 'google_analytics_other_tracking' == $value) || ( ! empty($input['google_analytics_other_tracking_body']) && 'google_analytics_other_tracking_body' == $value) || ( ! empty($input['google_analytics_other_tracking_footer']) && 'google_analytics_other_tracking_footer' == $value)) { $input[$value] = $input[$value]; //No sanitization for this field } elseif ( ! empty($input['instant_indexing_manual_batch']) && 'instant_indexing_manual_batch' == $value) { $input[$value] = sanitize_textarea_field($input[$value]); } elseif ( ! empty($input[$value])) { $input[$value] = sanitize_text_field($input[$value]); } } foreach ($siteseo_esc_attr as $value) { if ( ! empty($input[$value])) { $input[$value] = esc_attr($input[$value]); } } foreach ($siteseo_sanitize_site_verification as $value) { if ( ! empty($input[$value])) { if (preg_match('#content=\'([^"]+)\'#', $input[$value], $m)) { $input[$value] = esc_attr($m[1]); } elseif (preg_match('#content="([^"]+)"#', $input[$value], $m)) { $input[$value] = esc_attr($m[1]); } else { $input[$value] = esc_attr($input[$value]); } } } return $input; } PKZiO$O$-plugins/siteseo/main/admin/docs/DocsLinks.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if (! defined('ABSPATH')) { exit; } function siteseo_get_docs_links(){ $docs = []; $utm = '?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=siteseo'; $utm2 = '?utm_source=plugin&utm_medium=wizard&utm_campaign=siteseo'; $docs = [ 'website' => SITESEO_WEBSITE . $utm, 'subscribe' => SITESEO_WEBSITE.'subscribe/' . $utm, 'blog' => SITESEO_WEBSITE.'blog/' . $utm, 'downloads' => 'https://softaculous.com/clients?ca=siteseo', 'support' => SITESEO_SUPPORT, 'guides' => SITESEO_DOCS, 'faq' => SITESEO_DOCS.'faq/', 'get_started' => [ 'installation' => [__('Installation of SiteSEO', 'siteseo') => SITESEO_DOCS.'getting-started/' . $utm], 'license' => [__('Activate your license key to receive automatic updates', 'siteseo') => SITESEO_DOCS.'getting-started/how-to-install-siteseo-pro/' . $utm . '#linking-license-with-the-plugin'], //'wizard' => [__('Configure SiteSEO in 5 minutes', 'siteseo') => 'https://www.youtube.com/@SiteSEOPlugin' . $utm], //'migration' => [__('Migrate your SEO metadata from other plugins', 'siteseo') => SITESEO_WEBSITE.'migrate-from/' . $utm], 'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots', 'siteseo') => SITESEO_DOCS.'sitemap/generate-xml-sitemaps/' . $utm], //'content' => [__('Optimize content from A to Z with SiteSEO', 'siteseo') => SITESEO_DOCS.'tutorials/optimize-wordpress-posts-for-a-keyword/' . $utm], 'analytics' => [__('Connect Google Analytics with your Website', 'siteseo') => SITESEO_DOCS.'analytics/connect-with-google-analytics/' . $utm], 'search_console' => [__('Add your WordPress site to Google\'s index', 'siteseo') => SITESEO_DOCS.'miscellaneous/add-your-site-to-google-search-console/' . $utm], 'social' => [__('Optimize your click-through rate on social networks', 'siteseo') => SITESEO_DOCS.'manage-facebook-open-graph-and-twitter-cards-metas/' . $utm], 'noindex' => [__('Prevent search engine to index search results', 'siteseo') => SITESEO_DOCS.'meta/prevent-search-engines-to-index-search-results/' . $utm], ], 'universal' => [ 'introduction' => SITESEO_WEBSITE.'features/page-builders/' . $utm, ], 'titles' => [ 'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en', 'wrong_meta' => SITESEO_DOCS.'google-uses-the-wrong-meta-title-meta-description-in-search-results/' . $utm, 'alt_title' => 'https://developers.google.com/search/docs/appearance/site-names#content-guidelines' . $utm, ], 'sitemaps' => [ 'error' => [ 'blank' => SITESEO_DOCS.'sitemap/xml-sitemap-shows-blank-page/' . $utm, '404' => SITESEO_DOCS.'sitemap/xml-sitemap-returns-a-404-error/' . $utm, 'html' => SITESEO_DOCS.'sitemap/exclude-xml-and-xsl-files-from-caching-plugins/' . $utm, ], 'html' => SITESEO_DOCS.'sitemap/enable-html-sitemap/' . $utm, 'xml' => SITESEO_DOCS.'sitemap/generate-xml-sitemaps/' . $utm, 'image' => SITESEO_DOCS.'sitemap/enable-xml-image-sitemaps/' . $utm, 'video' => SITESEO_DOCS.'sitemap/enable-video-xml-sitemap/' . $utm, ], 'social' => [ 'og' => SITESEO_DOCS.'manage-facebook-open-graph-and-twitter-cards-metas/' . $utm, ], 'analytics' => [ 'connect' => SITESEO_DOCS.'analytics/connect-with-google-analytics/' . $utm, //'custom_dimensions' => SITESEO_DOCS.'create-custom-dimension-google-analytics/' . $utm, 'custom_tracking' => SITESEO_DOCS.'hooks/add-custom-tracking-code-with-user-consent/' . $utm, 'consent_msg' => SITESEO_DOCS.'hooks/filter-user-consent-message/' . $utm, 'gads' => SITESEO_DOCS.'analytics/how-to-find-your-google-ads-conversion-id/' . $utm, 'gtm' => SITESEO_DOCS.'analytics/how-to-add-google-tag-manager/' . $utm, 'ecommerce' => SITESEO_DOCS.'how-to-setup-google-enhanced-ecommerce/' . $utm, 'events' => SITESEO_DOCS.'analytics/how-to-track-affiliates-file-download-external-and-outbound-link-using-google-analytics/' . $utm, 'ga4_property' => 'https://support.google.com/analytics/answer/9539598?hl=en', 'api' => [ 'analytics' => 'https://console.cloud.google.com/apis/library/analytics.googleapis.com?hl=en', 'reporting' => 'https://console.cloud.google.com/apis/library/analyticsreporting.googleapis.com?hl=en', 'data' => 'https://console.cloud.google.com/apis/library/analyticsdata.googleapis.com?hl=en' ], 'matomo' => [ 'on_premise' => SITESEO_DOCS.'analytics/how-to-use-matomo-on-premise-with-siteseo' . $utm, 'token' => SITESEO_DOCS.'analytics/how-to-connect-matomo-analytics-with-your-wordpress-site/' . $utm, ], 'clarity' => [ 'project' => SITESEO_DOCS.'analytics/find-my-microsoft-clarity-project-id/' . $utm, ] ], 'compatibility' => [ 'automatic' => SITESEO_DOCS.'generate-automatic-meta-description-from-page-builders/' . $utm, ], 'security' => [ 'metaboxe_seo' => SITESEO_DOCS.'hooks/filter-seo-metaboxe-call-by-post-type/' . $utm, 'metaboxe_ca' => SITESEO_DOCS.'hooks/filter-content-analysis-metabox-call-by-post-type/' . $utm, 'metaboxe_data_types' => SITESEO_DOCS.'hooks/filter-structured-data-types-metabox-call-by-post-type/' . $utm, 'ga_widget' => SITESEO_DOCS.'hooks/filter-google-analytics-dashboard-widget-capability/' . $utm, 'matomo_widget' => SITESEO_DOCS.'hooks/filter-matomo-analytics-dashboard-widget-capability/' . $utm ], 'google_preview' => [ 'authentification' => SITESEO_DOCS.'hooks/filter-google-snippet-preview-remote-request/' . $utm, ], 'bot' => SITESEO_DOCS.'miscellaneous/detect-broken-links/' . $utm, 'lb' => [ 'eat' => SITESEO_DOCS.'miscellaneous/optimizing-wordpress-sites-for-google-eat/' . $utm, ], 'robots' => [ 'file' => SITESEO_DOCS.'robots-txt-and-htaccess/edit-robots-txt-file/' . $utm, ], 'breadcrumbs' => [ 'sep' => SITESEO_DOCS.'hooks/filter-breadcrumbs-separator/' . $utm, 'i18n' => SITESEO_DOCS.'translate-siteseo-options-with-wpml-polylang/' . $utm, ], 'redirects' => [ 'enable' => SITESEO_DOCS.'redirections/' . $utm, 'query' => SITESEO_DOCS.'redirections/delete-your-404-errors-with-a-mysql-query/' . $utm, 'regex' => SITESEO_DOCS.'redirections/' . $utm . '#regular-expressions', ], 'schemas' => [ 'add' => SITESEO_DOCS.'tutorials/how-to-add-schema-to-wordpress-with-siteseo-1/' . $utm, 'faq_acf' => SITESEO_DOCS.'create-an-automatic-faq-schema-with-acf-repeater-fields/' . $utm, 'dynamic' => SITESEO_DOCS.'manage-titles-meta-descriptions/' . $utm, 'variables' => SITESEO_DOCS.'hooks/filter-predefined-dynamic-variables-for-automatic-schemas/' . $utm, 'custom_fields' => SITESEO_DOCS.'hooks/filter-custom-fields-list-in-schemas/' . $utm, ], 'page_speed' => [ 'cwv' => SITESEO_DOCS.'core-web-vitals-and-wordpress-seo/' . $utm, 'api' => SITESEO_DOCS.'api-cli-dev/add-your-google-page-speed-insights-api-key-to-siteseo/' . $utm, 'google' => 'https://console.cloud.google.com/apis/library/pagespeedonline.googleapis.com?hl=en', ], 'indexing_api' => [ 'google' => SITESEO_DOCS.'api-cli-dev/use-google-instant-indexing-api-with-siteseo-pro/' . $utm, 'api' => 'https://console.cloud.google.com/apis/library/indexing.googleapis.com?hl=en', ], 'inspect_url' => [ 'google' => SITESEO_DOCS.'api-cli-dev/how-to-use-google-search-console-api-with-siteseo-pro/' . $utm, ], 'search_console_api' => [ 'google' => SITESEO_DOCS.'google-search-console-with-siteseo/' . $utm, 'api' => 'https://console.cloud.google.com/apis/library/searchconsole.googleapis.com?hl=en', ], 'tools' => [ 'csv_import' => SITESEO_DOCS.'miscellaneous/how-to-import-metadata-from-a-csv-file-using-siteseo-pro/' . $utm, 'csv_export' => SITESEO_DOCS.'miscellaneous/how-to-export-metadata-from-siteseo-to-a-csv-file/' . $utm, ], 'license' => [ 'account' => 'https://softaculous.com/clients?ca=siteseo' . $utm, 'license_errors' => SITESEO_DOCS.'getting-started/how-to-install-siteseo-pro/' . $utm . '#linking-license-with-the-plugin', 'license_define' => SITESEO_DOCS.'getting-started/how-to-install-siteseo-pro/' . $utm . '#add-my-license-key-to-wp-config-php', ], 'addons' => [ 'pro' => SITESEO_WEBSITE.'/pricing/' . $utm, ], ]; $docs['external'] = [ 'facebook' => 'https://www.facebook.com/siteseo/' . $utm, 'facebook_gr' => 'https://www.facebook.com/groups/siteseo/' . $utm, 'youtube' => 'https://www.youtube.com/@SiteSEOPlugin' . $utm, 'twitter' => 'https://twitter.com/siteseo' . $utm, ]; return $docs; } PKZ6Έ2plugins/siteseo/main/admin/wizard/admin-wizard.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** * Setup Wizard Class. * * Takes new users through some basic steps to setup SiteSEO. * * @version 3.5.8 */ if ( ! defined('ABSPATH')) { exit; } /** * SITESEO_Admin_Setup_Wizard class. */ class SITESEO_Admin_Setup_Wizard { /** * Current step. * * @var string */ private $step = ''; /** * Parent step. * * @var string */ private $parent = ''; /** * Steps for the setup wizard. * * @var array */ private $steps = []; /** * Hook in tabs. */ public function __construct() { if (apply_filters('siteseo_enable_setup_wizard', true) && current_user_can(siteseo_capability('manage_options', 'Admin_Setup_Wizard'))) { add_action('admin_menu', [$this, 'admin_menus']); add_action('admin_init', [$this, 'setup_wizard']); //Remove notices remove_all_actions( 'admin_notices' ); remove_all_actions( 'all_admin_notices' ); //Disable Query Monitor add_filter('user_has_cap', 'siteseo_disable_qm', 10, 3); //Load our scripts and CSS add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']); } } /** * Add admin menus/screens. */ public function admin_menus() { add_dashboard_page('', '', siteseo_capability('manage_options', 'menu'), 'siteseo-setup', ''); } /** * Register/enqueue scripts and styles for the Setup Wizard. * * Hooked onto 'admin_enqueue_scripts'. */ public function enqueue_scripts() { $prefix = ''; wp_enqueue_style('siteseo-setup', SITESEO_ASSETS_DIR. '/css/setup' . $prefix . '.css', ['install'], SITESEO_VERSION); wp_register_script('siteseo-migrate-ajax', SITESEO_ASSETS_DIR . '/js/siteseo-migrate' . $prefix . '.js', ['jquery'], SITESEO_VERSION, true); wp_enqueue_media(); wp_register_script('siteseo-media-uploader', SITESEO_ASSETS_DIR . '/js/siteseo-media-uploader' . $prefix . '.js', ['jquery'], SITESEO_VERSION, true); $siteseo_migrate = [ 'siteseo_aio_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_aio_migrate_nonce'), 'siteseo_aio_migration' => admin_url('admin-ajax.php'), ], 'siteseo_yoast_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_yoast_migrate_nonce'), 'siteseo_yoast_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seo_framework_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seo_framework_migrate_nonce'), 'siteseo_seo_framework_migration' => admin_url('admin-ajax.php'), ], 'siteseo_rk_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_rk_migrate_nonce'), 'siteseo_rk_migration' => admin_url('admin-ajax.php'), ], 'siteseo_squirrly_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_squirrly_migrate_nonce'), 'siteseo_squirrly_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seo_ultimate_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seo_ultimate_migrate_nonce'), 'siteseo_seo_ultimate_migration' => admin_url('admin-ajax.php'), ], 'siteseo_wp_meta_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_meta_seo_migrate_nonce'), 'siteseo_wp_meta_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_premium_seo_pack_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_premium_seo_pack_migrate_nonce'), 'siteseo_premium_seo_pack_migration' => admin_url('admin-ajax.php'), ], 'siteseo_wpseo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_wpseo_migrate_nonce'), 'siteseo_wpseo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_platinum_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_platinum_seo_migrate_nonce'), 'siteseo_platinum_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_smart_crawl_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_smart_crawl_migrate_nonce'), 'siteseo_smart_crawl_migration' => admin_url('admin-ajax.php'), ], 'siteseo_seopressor_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_seopressor_migrate_nonce'), 'siteseo_seopressor_migration' => admin_url('admin-ajax.php'), ], 'siteseo_slim_seo_migrate' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_slim_seo_migrate_nonce'), 'siteseo_slim_seo_migration' => admin_url('admin-ajax.php'), ], 'siteseo_metadata_csv' => [ 'siteseo_nonce' => wp_create_nonce('siteseo_export_csv_metadata_nonce'), 'siteseo_metadata_export' => admin_url('admin-ajax.php'), ], 'i18n' => [ 'migration' => esc_html__('Migration completed!', 'siteseo'), 'export' => esc_html__('Export completed!', 'siteseo'), ], ]; wp_localize_script('siteseo-migrate-ajax', 'siteseoAjaxMigrate', $siteseo_migrate); } /** * Show the setup wizard. */ public function setup_wizard() { if (empty($_GET['page']) || 'siteseo-setup' !== $_GET['page']) { return; } $seo_title = 'SiteSEO'; if (function_exists('siteseo_get_toggle_white_label_option') && '1' == siteseo_get_toggle_white_label_option()) { $seo_title = method_exists(siteseo_pro_get_service('OptionPro'), 'getWhiteLabelListTitle') && siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() ? siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() : 'SiteSEO'; } $default_steps = [ 'welcome' => [ 'breadcrumbs' => true, 'name' => esc_html__('Welcome', 'siteseo'), 'view' => [$this, 'siteseo_setup_welcome'], 'description' => __('Configure site\'s SEO', 'siteseo'), 'handler' => [$this, 'siteseo_setup_import_settings_save'], 'sub_steps' => [ 'welcome' => esc_html__('Welcome','siteseo'), 'import_settings' => esc_html__('Import metadata','siteseo') ], 'parent' => 'welcome' ], 'import_settings' => [ 'name' => esc_html__('Import SEO metadata', 'siteseo'), 'view' => [$this, 'siteseo_setup_import_settings'], 'description' => __('Import Metadata', 'siteseo'), 'handler' => [$this, 'siteseo_setup_import_settings_save'], 'sub_steps' => [ 'welcome' => esc_html__('Welcome','siteseo'), 'import_settings' => esc_html__('Import metadata','siteseo') ], 'parent' => 'welcome' ], 'site' => [ 'breadcrumbs' => true, 'name' => esc_html__('Your site', 'siteseo'), 'view' => [$this, 'siteseo_setup_site'], 'description' => __('Fill site and social data', 'siteseo'), 'handler' => [$this, 'siteseo_setup_site_save'], 'sub_steps' => [ 'site' => esc_html__('General','siteseo'), 'social_accounts' => esc_html__('Your social accounts','siteseo') ], 'parent' => 'site' ], 'social_accounts' => [ 'name' => esc_html__('Your site', 'siteseo'), 'view' => [$this, 'siteseo_setup_social_accounts'], 'description' => __('Fill site and social data', 'siteseo'), 'handler' => [$this, 'siteseo_setup_social_accounts_save'], 'sub_steps' => [ 'site' => esc_html__('General','siteseo'), 'social_accounts' => esc_html__('Your social accounts','siteseo') ], 'parent' => 'site' ], 'indexing_post_types' => [ 'breadcrumbs' => true, 'name' => esc_html__('Indexing', 'siteseo'), 'view' => [$this, 'siteseo_setup_indexing_post_types'], 'description' => __('Select post type indexing', 'siteseo'), 'handler' => [$this, 'siteseo_setup_indexing_post_types_save'], 'sub_steps' => [ 'indexing_post_types' => esc_html__('Post Types','siteseo'), 'indexing_archives' => esc_html__('Archives','siteseo'), 'indexing_taxonomies' => esc_html__('Taxonomies','siteseo') ], 'parent' => 'indexing_post_types' ], 'indexing_archives' => [ 'name' => esc_html__('Indexing', 'siteseo'), 'view' => [$this, 'siteseo_setup_indexing_archives'], 'description' => __('Select post type indexing', 'siteseo'), 'handler' => [$this, 'siteseo_setup_indexing_archives_save'], 'sub_steps' => [ 'indexing_post_types' => esc_html__('Post Types','siteseo'), 'indexing_archives' => esc_html__('Archives','siteseo'), 'indexing_taxonomies' => esc_html__('Taxonomies','siteseo') ], 'parent' => 'indexing_post_types' ], 'indexing_taxonomies' => [ 'name' => esc_html__('Indexing', 'siteseo'), 'view' => [$this, 'siteseo_setup_indexing_taxonomies'], 'description' => __('Select post type indexing', 'siteseo'), 'handler' => [$this, 'siteseo_setup_indexing_taxonomies_save'], 'sub_steps' => [ 'indexing_post_types' => esc_html__('Post Types','siteseo'), 'indexing_archives' => esc_html__('Archives','siteseo'), 'indexing_taxonomies' => esc_html__('Taxonomies','siteseo') ], 'parent' => 'indexing_post_types' ], 'advanced' => [ 'breadcrumbs' => true, 'name' => esc_html__('Advanced options', 'siteseo'), 'view' => [$this, 'siteseo_setup_advanced'], 'description' => __('URL configurations', 'siteseo'), 'handler' => [$this, 'siteseo_setup_advanced_save'], 'sub_steps' => [ 'advanced' => esc_html__('Advanced','siteseo'), 'universal' => esc_html__('Universal SEO metabox','siteseo'), ], 'parent' => 'advanced' ], 'universal' => [ 'name' => esc_html__('Advanced options', 'siteseo'), 'view' => [$this, 'siteseo_setup_universal'], 'description' => __('Enable Univeral SiteSEO', 'siteseo'), 'handler' => [$this, 'siteseo_setup_universal_save'], 'sub_steps' => [ 'advanced' => esc_html__('Advanced','siteseo'), 'universal' => esc_html__('Universal SEO metabox','siteseo'), ], 'parent' => 'advanced' ], ]; if (function_exists('siteseo_get_toggle_white_label_option') && '1' === siteseo_get_toggle_white_label_option()) { //do nothing } /*elseif ((! is_multisite()) || ! is_plugin_active('siteseo-pro/siteseo-pro.php')){ $sub_steps = [ 'pro' => esc_html__('PRO','siteseo'), ]; if (is_plugin_active('siteseo-pro/siteseo-pro.php')) { unset($sub_steps['pro']); } if ( ! is_plugin_active('siteseo-pro/siteseo-pro.php')) { $default_steps['pro'] = [ 'name' => sprintf(__('Extend %s', 'siteseo'), $seo_title), 'view' => [$this, 'siteseo_setup_pro'], 'description' => __('Upgrade to Pro!', 'siteseo'), 'handler' => '', 'sub_steps' => $sub_steps, 'parent' => 'pro' ]; } if (!is_plugin_active('siteseo-pro/siteseo-pro.php')) { $default_steps['pro']['breadcrumbs'] = true; } }*/ $default_steps['ready'] = [ 'breadcrumbs' => true, 'name' => esc_html__('Ready!', 'siteseo'), 'view' => [$this, 'siteseo_setup_ready'], 'description' => __('Its all set now', 'siteseo'), 'handler' => '', 'sub_steps' => [ 'ready' => esc_html__('Ready!', 'siteseo') ] ]; $this->steps = apply_filters('siteseo_setup_wizard_steps', $default_steps); $this->step = isset($_GET['step']) ? sanitize_key($_GET['step']) : current(array_keys($this->steps)); $this->parent = isset($_GET['parent']) ? sanitize_key($_GET['parent']) : current(array_keys($this->steps)); if ( !empty($_POST['save_step']) && isset($this->steps[$this->step]['handler'])) { call_user_func($this->steps[$this->step]['handler'], $this); } ob_start(); $this->setup_wizard_header(); $this->setup_wizard_steps(); $this->setup_wizard_content(); $this->setup_wizard_footer(); exit; } /** * Get the URL for the next step's screen. * * @param string $step slug (default: current step) * * @return string URL for next step if a next step exists. * Admin URL if it's the last step. * Empty string on failure. * * @since 3.5.8 */ public function get_next_step_link($step = '') { if ( ! $step) { $step = $this->step; } $keys = array_keys($this->steps); if (end($keys) === $step) { return admin_url(); } $step_index = array_search($step, $keys, true); if (false === $step_index) { return ''; } $parent = ''; $all = $this->steps; if (isset($all[$step]['parent'])) { $key = $keys[$step_index + 1]; if (isset($all[$key]['parent'])) { $parent = $all[$key]['parent']; } } return add_query_arg( [ 'step' => $keys[$step_index + 1], 'parent' => $parent, ], remove_query_arg( 'parent' ) ); } /** * Setup Wizard Header. */ public function setup_wizard_header() { set_current_screen(); $seo_title = 'SiteSEO'; if (function_exists('siteseo_get_toggle_white_label_option') && '1' == siteseo_get_toggle_white_label_option()) { $seo_title = method_exists(siteseo_pro_get_service('OptionPro'), 'getWhiteLabelListTitle') && siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() ? siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() : 'SiteSEO'; } ?> > <?php printf(esc_html__('%s › Setup Wizard', 'siteseo'), esc_html($seo_title)); ?>
      steps; $parent = $this->parent; ?>
        $step) { if (!isset($step['breadcrumbs'])) { continue; } $is_completed = array_search($this->step, array_keys($this->steps), true) > array_search($step_key, array_keys($this->steps), true); if ($step_key === $this->step || $step_key === $this->parent) { ?>
      steps; $current_step = $this->step; $parent = $this->parent; ?>
      steps[$this->step]['view'])) { call_user_func($this->steps[$this->step]['view'], $this); } } /** * Init "Step 1.1: Welcome". */ public function siteseo_setup_welcome() { $seo_title = 'SiteSEO'; if (function_exists('siteseo_get_toggle_white_label_option') && '1' == siteseo_get_toggle_white_label_option()) { $seo_title = method_exists(siteseo_pro_get_service('OptionPro'), 'getWhiteLabelListTitle') && siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() ? siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() : 'SiteSEO'; } ?>


      setup_wizard_sub_steps(); ?>

      getWhiteLabelListTitle() ? siteseo_pro_get_service('OptionPro')->getWhiteLabelListTitle() : 'SiteSEO'; } ?>


      setup_wizard_sub_steps(); ?>

      'Yoast SEO', 'aio' => 'All In One SEO', 'seo-framework' => 'The SEO Framework', 'rk' => 'Rank Math', 'squirrly' => 'Squirrly SEO', 'seo-ultimate' => 'SEO Ultimate', 'wp-meta-seo' => 'WP Meta SEO', 'premium-seo-pack' => 'Premium SEO Pack', 'wpseo' => 'wpSEO', 'platinum-seo' => 'Platinum SEO Pack', 'smart-crawl' => 'SmartCrawl', 'seopressor' => 'SeoPressor', 'slim-seo' => 'Slim SEO', ]; echo '

      ' . esc_html__('You don\'t have to enable the selected SEO plugin to run the import.', 'siteseo') . '

      '; foreach ($plugins as $plugin => $name) { echo wp_kses_post(siteseo_migration_tool($plugin, $name)); } ?>

      get_next_step_link())); exit; } /** * Init "Step 2.0: Your site - General". */ public function siteseo_setup_site() { $docs = siteseo_get_docs_links(); $siteseo_titles_option = get_option('siteseo_titles_option_name'); $siteseo_social_option = get_option('siteseo_social_option_name'); $current_user = wp_get_current_user(); $current_user_email = isset($current_user->user_email) ? $current_user->user_email : null; $site_sep = isset($siteseo_titles_option['titles_sep']) ? $siteseo_titles_option['titles_sep'] : null; $site_title = isset($siteseo_titles_option['titles_home_site_title']) ? $siteseo_titles_option['titles_home_site_title'] : null; $alt_site_title = isset($siteseo_titles_option['titles_home_site_title_alt']) ? $siteseo_titles_option['titles_home_site_title_alt'] : null; $knowledge_type = isset($siteseo_social_option['social_knowledge_type']) ? $siteseo_social_option['social_knowledge_type'] : null; $knowledge_name = isset($siteseo_social_option['social_knowledge_name']) ? $siteseo_social_option['social_knowledge_name'] : null; $knowledge_img = isset($siteseo_social_option['social_knowledge_img']) ? $siteseo_social_option['social_knowledge_img'] : null; $knowledge_email = isset($siteseo_social_option['siteseo_social_knowledge_email']) ? $siteseo_social_option['siteseo_social_knowledge_email'] : $current_user_email; $knowledge_nl = isset($siteseo_social_option['siteseo_social_knowledge_nl']); ?>


      setup_wizard_sub_steps(); ?>

      %%sep%% in your title and meta description templates.', 'siteseo')); ?>

      %%sitetitle%% in your title and meta description templates.', 'siteseo')); ?>

      content guidelines.', 'siteseo')), esc_url($docs['titles']['alt_title'])); ?>

      '; echo ' '; echo ' '; echo ''; echo ''; ?>

      "Organization" (for companies, associations, organizations), or "Personal" for a personal site, to help Google better understand your type of website and generate a Knowledge Graph panel.', 'siteseo')); ?>

      $siteseo_social_option['siteseo_social_knowledge_email'], 'lang' => siteseo_get_locale()]; $response = wp_remote_post( $endpoint_url, array( 'method' => 'POST', 'body' => $body, 'timeout' => 5, 'blocking' => true ) ); } } wp_safe_redirect(esc_url_raw($this->get_next_step_link())); exit; } /** * Init "Step 2.1: Your site - Social accounts". */ public function siteseo_setup_social_accounts() { $siteseo_social_option = get_option('siteseo_social_option_name'); $knowledge_fb = isset($siteseo_social_option['social_accounts_facebook']) ? $siteseo_social_option['social_accounts_facebook'] : null; $knowledge_tw = isset($siteseo_social_option['social_accounts_twitter']) ? $siteseo_social_option['social_accounts_twitter'] : null; $knowledge_pin = isset($siteseo_social_option['social_accounts_pinterest']) ? $siteseo_social_option['social_accounts_pinterest'] : null; $knowledge_insta = isset($siteseo_social_option['social_accounts_instagram']) ? $siteseo_social_option['social_accounts_instagram'] : null; $knowledge_yt = isset($siteseo_social_option['social_accounts_youtube']) ? $siteseo_social_option['social_accounts_youtube'] : null; $knowledge_li = isset($siteseo_social_option['social_accounts_linkedin']) ? $siteseo_social_option['social_accounts_linkedin'] : null; ?>


      setup_wizard_sub_steps(); ?>

      get_next_step_link())); exit; } /** * Init "Step 3.0: Indexing Post Types Step". */ public function siteseo_setup_indexing_post_types() { $siteseo_titles_option = get_option('siteseo_titles_option_name'); ?>


      setup_wizard_sub_steps(); ?>
      getPostTypes(); if ( ! empty($postTypes)) { ?>

      Post and Page are the default post types.','siteseo')); ?>

      custom post types.','siteseo')); ?>

        $siteseo_cpt_value) { $titles_single_titles = isset($siteseo_titles_option['titles_single_titles'][$siteseo_cpt_key]['noindex']); ?>

        labels->name); ?> [name); ?>]

      getPostTypes(); //Post Types noindex foreach ($postTypes as $siteseo_cpt_key => $siteseo_cpt_value) { if (isset($_POST['siteseo_titles_option_name']['titles_single_titles'][$siteseo_cpt_key]['noindex'])) { $noindex = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_single_titles'][$siteseo_cpt_key]['noindex'])); } else { $noindex = null; } $siteseo_titles_option['titles_single_titles'][$siteseo_cpt_key]['noindex'] = $noindex; } //Save options update_option('siteseo_titles_option_name', $siteseo_titles_option); wp_safe_redirect(esc_url_raw($this->get_next_step_link())); exit; } /** * Init "Step 3.1: Indexing Archives Step". */ public function siteseo_setup_indexing_archives() { $siteseo_titles_option = get_option('siteseo_titles_option_name'); ?>


      setup_wizard_sub_steps(); ?>
      getPostTypes(); if ( ! empty($postTypes)) { $cpt = $postTypes; unset($cpt['post']); unset($cpt['page']); ?>

      Archive pages are automatically generated by WordPress. They group specific content such as your latest articles, a product category or your content by author or date.', 'siteseo')); ?>

      post type archives:', 'siteseo')); ?>

        $siteseo_cpt_value) { $titles_archive_titles = isset($siteseo_titles_option['titles_archive_titles'][$siteseo_cpt_key]['noindex']); ?>

        labels->name); ?> [name); ?>]

      getPostTypes(); //Post Type archives noindex foreach ($postTypes as $siteseo_cpt_key => $siteseo_cpt_value) { if (isset($_POST['siteseo_titles_option_name']['titles_archive_titles'][$siteseo_cpt_key]['noindex'])) { $noindex = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_archive_titles'][$siteseo_cpt_key]['noindex'])); } else { $noindex = null; } $siteseo_titles_option['titles_archive_titles'][$siteseo_cpt_key]['noindex'] = $noindex; } //Save options update_option('siteseo_titles_option_name', $siteseo_titles_option); wp_safe_redirect(esc_url_raw($this->get_next_step_link())); exit; } /** * Init "Step 3.2: Indexing Taxonomies Step". */ public function siteseo_setup_indexing_taxonomies() { $siteseo_titles_option = get_option('siteseo_titles_option_name', []); ?>


      setup_wizard_sub_steps(); ?>
      getTaxonomies(); if ( ! empty($taxonomies)) { ?>

      Taxonomies are the method of classifying content and data in WordPress. When you use a taxonomy you\'re grouping similar things together. The taxonomy refers to the sum of those groups.','siteseo')); ?>

      Categories and Tags are the default taxonomies. You can add your own taxonomies like "product categories": these are called custom taxonomies.','siteseo')); ?>

        $siteseo_tax_value) { $titles_tax_titles = isset($siteseo_titles_option['titles_tax_titles'][$siteseo_tax_key]['noindex']); ?>

        labels->name); ?> [name); ?>]

      getTaxonomies() as $siteseo_tax_key => $siteseo_tax_value) { if (isset($_POST['siteseo_titles_option_name']['titles_tax_titles'][$siteseo_tax_key]['noindex'])) { $noindex = sanitize_text_field(wp_unslash($_POST['siteseo_titles_option_name']['titles_tax_titles'][$siteseo_tax_key]['noindex'])); } else { $noindex = null; } $siteseo_titles_option['titles_tax_titlestitles_tax_titles'][$siteseo_tax_key]['noindex'] = $noindex; } //Save options update_option('siteseo_titles_option_name', $siteseo_titles_option); wp_safe_redirect(esc_url_raw($this->get_next_step_link())); exit; } /** * Init "Step 4: Advanced Step". */ public function siteseo_setup_advanced() { $siteseo_titles_option = get_option('siteseo_titles_option_name'); $author_noindex = isset($siteseo_titles_option['titles_archives_author_noindex']); $siteseo_advanced_option = get_option('siteseo_advanced_option_name'); $attachments_file = isset($siteseo_advanced_option['advanced_attachments_file']); $category_url = isset($siteseo_advanced_option['advanced_category_url']); $product_category_url = isset($siteseo_advanced_option['advanced_product_cat_url']); ?>


      setup_wizard_sub_steps(); ?>

      get_next_step_link())); exit; } /** * Init "Step 4.2: Advanced Step". */ public function siteseo_setup_universal() { $siteseo_advanced_option = get_option('siteseo_advanced_option_name'); $universal_seo_metabox = isset($siteseo_advanced_option['appearance_universal_metabox_disable']) ? esc_attr($siteseo_advanced_option['appearance_universal_metabox_disable']) : null; ?>


      setup_wizard_sub_steps(); ?>

      get_next_step_link())); exit; } /** * Init "Step 5.0: PRO Step". */ public function siteseo_setup_pro() { $docs = siteseo_get_docs_links(); ?>


      setup_wizard_sub_steps(); ?>

      local search results.', 'siteseo')); ?>

      WooCommerce or Easy Digital Downloads.', 'siteseo')); ?>

      Google structured data (schema) to your content to improve its visibility in search results.', 'siteseo')); ?>

      robots.txt and .htaccess files.', 'siteseo')); ?>

      Google Analytics stats directly from your WordPress Dashboard.', 'siteseo')); ?>


      setup_wizard_sub_steps(); ?>
      • user_email ? esc_html( $current_user->user_email ) : ''; ?>
      'Invalid action']); return; } $toggle_value = isset($_POST['toggle_value']) ? sanitize_text_field($_POST['toggle_value']) : '0'; $options = get_option('siteseo_toggle', []); $options[$toggle_key] = $toggle_value; $updated = update_option('siteseo_toggle', $options); if($updated){ wp_send_json_success([ 'message' => ucfirst($toggle_key) . ' toggle state saved successfully', 'value' => $toggle_value ]); } else{ wp_send_json_error(['message' => 'Failed to save toggle state']); } } static function siteseo_update_htaccess(){ if(!current_user_can('manage_options')){ wp_send_json_error(__('You do not have required permission to edit this file.', 'siteseo')); } $htaccess_enable = isset($_POST['htaccess_enable']) ? intval(sanitize_text_field(wp_unslash($_POST['htaccess_enable']))) : 0; $htaccess_rules = isset($_POST['htaccess_code']) ? sanitize_textarea_field(wp_unslash($_POST['htaccess_code'])) : ''; if(empty($htaccess_enable)){ wp_send_json_error(__('Please accept the warning first before proceeding with saving the htaccess', 'siteseo')); } $htaccess_file = ABSPATH . '.htaccess'; $backup_file = ABSPATH . '.htaccess_backup.siteseo'; if(!is_writable($htaccess_file)){ wp_send_json_error(__('.htaccess file is not writable so the ', 'siteseo')); } // Backup .htaccess file if(!copy($htaccess_file, $backup_file)){ wp_send_json_error(__('Failed to create backup of .htaccess file.', 'siteseo')); } // Update the .htaccess file if(file_put_contents($htaccess_file, $htaccess_rules) === false){ wp_send_json_error(__('Failed to update .htaccess file.', 'siteseo')); } $response = wp_remote_get(site_url()); $response_code = wp_remote_retrieve_response_code($response); // Restore the backup if something goes wrong. if($response_code > 299){ copy($backup_file, $htaccess_file); wp_send_json_error(__('There was a syntax error in the htaccess rules you provided as the response to your website with the new htaccess gave response code of', 'siteseo') . ' ' . $response_code); } wp_send_json_success(__('Successfully updated .htaccess file', 'siteseo')); } static function siteseo_update_robots(){ siteseo_check_ajax_referer('siteseo_admin_nonce'); if(!current_user_can('manage_options')){ wp_send_json_error(__('You do not have required permission to edit this file.', 'siteseo')); } $robots_txt = ''; if(!empty($_POST['robots'])){ $robots_txt = sanitize_textarea_field(wp_unslash($_POST['robots'])); } if(empty($robots_txt)){ wp_send_json_error(__('You have supplied empty robots rules', 'siteseo')); } if(!is_writable(ABSPATH . 'robots.txt')){ wp_send_json_error(__('robots.txt file is not writable', 'siteseo')); } if(file_put_contents(ABSPATH . 'robots.txt', $robots_txt)){ wp_send_json_success(__('Successfully update the robots.txt file', 'siteseo')); } wp_send_json_error(__('Unable to update the robots.txt file', 'siteseo')); } } PKZ\6u6u.plugins/siteseo/main/options-import-export.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly //Import / Exports settings page // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } add_action('admin_init', 'siteseo_export_settings'); // Export SiteSEO Settings to JSON function siteseo_export_settings(){ if (empty($_POST['siteseo_action']) || 'export_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_export_nonce'), 'siteseo_export_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'export_settings'))) { return; } $settings['siteseo_activated'] = get_option('siteseo_activated'); $settings['siteseo_titles_option_name'] = get_option('siteseo_titles_option_name'); $settings['siteseo_social_option_name'] = get_option('siteseo_social_option_name'); $settings['siteseo_google_analytics_option_name'] = get_option('siteseo_google_analytics_option_name'); $settings['siteseo_advanced_option_name'] = get_option('siteseo_advanced_option_name'); $settings['siteseo_xml_sitemap_option_name'] = get_option('siteseo_xml_sitemap_option_name'); $settings['siteseo_pro_option_name'] = get_option('siteseo_pro_option_name'); $settings['siteseo_pro_mu_option_name'] = get_option('siteseo_pro_mu_option_name'); $settings['siteseo_pro_license_key'] = get_option('siteseo_pro_license_key'); $settings['siteseo_pro_license_status'] = get_option('siteseo_pro_license_status'); $settings['siteseo_bot_option_name'] = get_option('siteseo_bot_option_name'); $settings['siteseo_toggle'] = get_option('siteseo_toggle'); $settings['siteseo_google_analytics_lock_option_name'] = get_option('siteseo_google_analytics_lock_option_name'); $settings['siteseo_tools_option_name'] = get_option('siteseo_tools_option_name'); $settings['siteseo_dashboard_option_name'] = get_option('siteseo_dashboard_option_name'); $settings['siteseo_instant_indexing_option_name'] = get_option('siteseo_instant_indexing_option_name'); ignore_user_abort(true); nocache_headers(); header('Content-Type: application/json; charset=utf-8'); header('Content-Disposition: attachment; filename=siteseo-settings-export-' . date('m-d-Y') . '.json'); header('Expires: 0'); echo wp_json_encode($settings); exit; } add_action('admin_init', 'siteseo_import_settings'); // Import SiteSEO Settings from JSON function siteseo_import_settings() { if (empty($_POST['siteseo_action']) || 'import_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_import_nonce'), 'siteseo_import_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'import_settings'))) { return; } $extension = !empty($_FILES['import_file']['name']) ? pathinfo(sanitize_file_name($_FILES['import_file']['name']), PATHINFO_EXTENSION) : ''; if ('json' != $extension) { wp_die(esc_html__('Please upload a valid .json file', 'siteseo')); } $import_file = !empty($_FILES['import_file']['tmp_name']) ? sanitize_text_field($_FILES['import_file']['tmp_name']) : ''; if (empty($import_file)) { wp_die(esc_html__('Please upload a file to import', 'siteseo')); } $settings = (array) json_decode(siteseo_remove_utf8_bom(file_get_contents($import_file)), true); if (false !== $settings['siteseo_activated']) { update_option('siteseo_activated', $settings['siteseo_activated'], false); } if (false !== $settings['siteseo_titles_option_name']) { update_option('siteseo_titles_option_name', $settings['siteseo_titles_option_name'], false); } if (false !== $settings['siteseo_social_option_name']) { update_option('siteseo_social_option_name', $settings['siteseo_social_option_name'], false); } if (false !== $settings['siteseo_google_analytics_option_name']) { update_option('siteseo_google_analytics_option_name', $settings['siteseo_google_analytics_option_name'], false); } if (false !== $settings['siteseo_advanced_option_name']) { update_option('siteseo_advanced_option_name', $settings['siteseo_advanced_option_name'], false); } if (false !== $settings['siteseo_xml_sitemap_option_name']) { update_option('siteseo_xml_sitemap_option_name', $settings['siteseo_xml_sitemap_option_name'], false); } if (false !== $settings['siteseo_pro_option_name']) { update_option('siteseo_pro_option_name', $settings['siteseo_pro_option_name'], false); } if (false !== $settings['siteseo_pro_mu_option_name']) { update_option('siteseo_pro_mu_option_name', $settings['siteseo_pro_mu_option_name'], false); } if (false !== $settings['siteseo_pro_license_key']) { update_option('siteseo_pro_license_key', $settings['siteseo_pro_license_key'], false); } if (false !== $settings['siteseo_pro_license_status']) { update_option('siteseo_pro_license_status', $settings['siteseo_pro_license_status'], false); } if (false !== $settings['siteseo_bot_option_name']) { update_option('siteseo_bot_option_name', $settings['siteseo_bot_option_name'], false); } if (false !== $settings['siteseo_toggle']) { update_option('siteseo_toggle', $settings['siteseo_toggle'], false); } if (false !== $settings['siteseo_google_analytics_lock_option_name']) { update_option('siteseo_google_analytics_lock_option_name', $settings['siteseo_google_analytics_lock_option_name'], false); } if (false !== $settings['siteseo_tools_option_name']) { update_option('siteseo_tools_option_name', $settings['siteseo_tools_option_name'], false); } if (false !== $settings['siteseo_instant_indexing_option_name']) { update_option('siteseo_instant_indexing_option_name', $settings['siteseo_instant_indexing_option_name'], false); } wp_safe_redirect(admin_url('admin.php?page=siteseo-import-export&success=true')); exit; } // Import Redirections from CSV function siteseo_import_redirections_settings() { if (empty($_POST['siteseo_action']) || 'import_redirections_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_import_redirections_nonce'), 'siteseo_import_redirections_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'import_settings'))) { return; } $extension = !empty($_FILES['import_file']['name']) ? pathinfo(sanitize_file_name($_FILES['import_file']['name']), PATHINFO_EXTENSION) : ''; if ('csv' != $extension) { wp_die(esc_html__('Please upload a valid .csv file', 'siteseo')); } $import_file = !empty($_FILES['import_file']['tmp_name']) ? sanitize_file_name($_FILES['import_file']['tmp_name']) : ''; if (empty($import_file)) { wp_die(esc_html__('Please upload a file to import', 'siteseo')); } if (empty($_POST['import_sep'])) { wp_die(esc_html__('Please choose a separator', 'siteseo')); } $csv = array_map(function ($item) { if (!empty($_POST['import_sep']) && 'comma' == sanitize_text_field(wp_unslash($_POST['import_sep']))) { $sep = ','; } elseif (!empty($_POST['import_sep']) && 'semicolon' == sanitize_text_field(wp_unslash($_POST['import_sep']))) { $sep = ';'; } else { wp_die(esc_html__('Invalid separator')); } return str_getcsv($item, $sep, '\"'); }, file($import_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)); //Remove duplicates from CSV $csv = array_unique($csv, SORT_REGULAR); foreach ($csv as $key => $value) { $csv_line = $value; //Third column: redirections type if ('301' == $csv_line[2] || '302' == $csv_line[2] || '307' == $csv_line[2] || '410' == $csv_line[2] || '451' == $csv_line[2]) { $csv_type_redirects[2] = $csv_line[2]; } //Fourth column: redirections enabled $csv_line[3] = strtolower($csv_line[3]); if ('yes' == $csv_line[3]) { $csv_type_redirects[3] = $csv_line[3]; } else { $csv_type_redirects[3] = ''; } //Fifth column: redirections query param if ( ! empty($csv_line[4])) { if ('exact_match' == $csv_line[4] || 'with_ignored_param' == $csv_line[4] || 'without_param' == $csv_line[4]) { $csv_type_redirects[4] = $csv_line[4]; } else { $csv_type_redirects[4] = 'exact_match'; } } //Seventh column: redirect categories if ( ! empty($csv_line[6])) { $cats = array_values(explode(',', $csv_line[6])); $cats = array_map('intval', $cats); $cats = array_unique($cats); } $regex_enable = ''; //regex enabled $csv_line[7]= strtolower($csv_line[7]); if ('yes' === $csv_line[7]) { $regex_enable = 'yes'; } //logged status $logged_status = 'both'; $csv_line[8]= strtolower($csv_line[8]); if (!empty($csv_line[8])) { $logged_status = $csv_line[8]; } if ( ! empty($csv_line[0])) { $count = null; if ( ! empty($csv_line[5])) { $count = $csv_line[5]; } $id = wp_insert_post([ 'post_title' => rawurldecode($csv_line[0]), 'post_type' => 'siteseo_404', 'post_status' => 'publish', 'meta_input' => [ '_siteseo_redirections_value' => rawurldecode($csv_line[1]), '_siteseo_redirections_type' => $csv_type_redirects[2], '_siteseo_redirections_enabled' => $csv_type_redirects[3], '_siteseo_redirections_enabled_regex' => $regex_enable, '_siteseo_redirections_logged_status' => $logged_status, '_siteseo_redirections_param' => $csv_type_redirects[4], 'siteseo_404_count' => $count, ], ] ); //Assign terms if ( ! empty($csv_line[6])) { wp_set_object_terms($id, $cats, 'siteseo_404_cat'); } } } wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_import_redirections_settings'); //Import Redirections from Yoast Premium (CSV) function siteseo_import_yoast_redirections(){ if (empty($_POST['siteseo_action']) || 'import_yoast_redirections' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_import_yoast_redirections_nonce'), 'siteseo_import_yoast_redirections_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'import_settings'))) { return; } $extension = !empty($_FILES['import_file']['name']) ? pathinfo(sanitize_file_name($_FILES['import_file']['name']), PATHINFO_EXTENSION) : ''; if ('csv' != $extension) { wp_die(esc_html__('Please upload a valid .csv file')); } $import_file = !empty($_FILES['import_file']['tmp_name']) ? sanitize_file_name($_FILES['import_file']['tmp_name']) : ''; if (empty($import_file)) { wp_die(esc_html__('Please upload a file to import')); } $csv = array_map('str_getcsv', file($import_file)); foreach (array_slice($csv, 1) as $_key => $_value) { $csv_line = $_value; //Third column: redirections type if ('301' == $csv_line[2] || '302' == $csv_line[2] || '307' == $csv_line[2] || '410' == $csv_line[2] || '451' == $csv_line[2]) { $csv_type_redirects[2] = $csv_line[2]; } //Fourth column: redirections enabled $csv_type_redirects[3] = 'yes'; //Fifth column: redirections query param $csv_type_redirects[4] = 'exact_match'; if ( ! empty($csv_line[0])) { $csv_line[0] = substr($csv_line[0], 1); if ( ! empty($csv_line[1])) { if ('//' === $csv_line[1]) { $csv_line[1] = '/'; } else { $csv_line[1] = home_url() . $csv_line[1]; } } $id = wp_insert_post([ 'post_title' => urldecode($csv_line[0]), 'post_type' => 'siteseo_404', 'post_status' => 'publish', 'meta_input' => [ '_siteseo_redirections_value' => urldecode($csv_line[1]), '_siteseo_redirections_type' => $csv_type_redirects[2], '_siteseo_redirections_enabled' => $csv_type_redirects[3], '_siteseo_redirections_enabled_regex' => '', '_siteseo_redirections_logged_status' => 'both', '_siteseo_redirections_param' => $csv_type_redirects[4], ], ]); } } wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_import_yoast_redirections'); //Export Redirections to CSV file function siteseo_export_redirections_settings() { if (empty($_POST['siteseo_action']) || 'export_redirections' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_export_redirections_nonce'), 'siteseo_export_redirections_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'export_settings'))) { return; } //Init $redirects_html = ''; $args = [ 'post_type' => 'siteseo_404', 'posts_per_page' => '-1', 'meta_query' => [ [ 'key' => '_siteseo_redirections_type', 'value' => ['301', '302', '307', '410', '451'], 'compare' => 'IN', ], ], ]; $args = apply_filters('siteseo_export_redirections_query', $args); $siteseo_redirects_query = new WP_Query($args); if ($siteseo_redirects_query->have_posts()) { while ($siteseo_redirects_query->have_posts()) { $siteseo_redirects_query->the_post(); $redirect_categories = get_the_terms(get_the_ID(), 'siteseo_404_cat'); if(!empty($redirect_categories)){ $redirect_categories = join(', ', wp_list_pluck($redirect_categories, 'term_id')); } else{ $redirect_categories = ""; } $redirects_html .= html_entity_decode(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title()))))); $redirects_html .= ';'; $redirects_html .= html_entity_decode(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_siteseo_redirections_value', true)))))); $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), '_siteseo_redirections_type', true); $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), '_siteseo_redirections_enabled', true); $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), '_siteseo_redirections_param', true); $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), 'siteseo_404_count', true); $redirects_html .= ';'; $redirects_html .= $redirect_categories; $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), '_siteseo_redirections_enabled_regex', true); $redirects_html .= ';'; $redirects_html .= get_post_meta(get_the_ID(), '_siteseo_redirections_logged_status', true); $redirects_html .= "\n"; } wp_reset_postdata(); } ignore_user_abort(true); nocache_headers(); header('Content-Type: application/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=siteseo-redirections-export-' . date('m-d-Y') . '.csv'); header('Expires: 0'); echo wp_kses_post($redirects_html); exit; } add_action('admin_init', 'siteseo_export_redirections_settings'); // Export Redirections to txt file for .htaccess function siteseo_export_redirections_htaccess_settings(){ if (empty($_POST['siteseo_action']) || 'export_redirections_htaccess' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_export_redirections_htaccess_nonce'), 'siteseo_export_redirections_htaccess_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'export_settings'))) { return; } //Init $redirects_html = ''; $args = [ 'post_type' => 'siteseo_404', 'posts_per_page' => '-1', 'meta_query' => [ [ 'key' => '_siteseo_redirections_type', 'value' => ['301', '302', '307', '410', '451'], 'compare' => 'IN', ], [ 'key' => '_siteseo_redirections_enabled', 'value' => 'yes', ], ], ]; $siteseo_redirects_query = new WP_Query($args); if ($siteseo_redirects_query->have_posts()) { while ($siteseo_redirects_query->have_posts()) { $siteseo_redirects_query->the_post(); switch (get_post_meta(get_the_ID(), '_siteseo_redirections_type', true)) { case '301': $type = 'redirect 301 '; break; case '302': $type = 'redirect 302 '; break; case '307': $type = 'redirect 307 '; break; case '410': $type = 'redirect 410 '; break; case '451': $type = 'redirect 451 '; break; } $redirects_html .= $type . ' /' . untrailingslashit(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title()))))) . ' '; $redirects_html .= urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_siteseo_redirections_value', true))))); $redirects_html .= "\n"; } wp_reset_postdata(); } ignore_user_abort(true); echo wp_kses_post($redirects_html); nocache_headers(); header('Content-Type: text/plain; charset=utf-8'); header('Content-Disposition: attachment; filename=siteseo-redirections-htaccess-export-' . date('m-d-Y') . '.txt'); header('Expires: 0'); exit; } add_action('admin_init', 'siteseo_export_redirections_htaccess_settings'); // Import Redirections from Redirections plugin JSON file function siteseo_import_redirections_plugin_settings() { if (empty($_POST['siteseo_action']) || 'import_redirections_plugin_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_import_redirections_plugin_nonce'), 'siteseo_import_redirections_plugin_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'import_settings'))) { return; } $extension = !empty($_FILES['import_file']['name']) ? pathinfo(sanitize_file_name($_FILES['import_file']['name']), PATHINFO_EXTENSION) : ''; if ('json' != $extension) { wp_die(esc_html__('Please upload a valid .json file')); } $import_file = !empty($_FILES['import_file']['tmp_name']) ? sanitize_file_name($_FILES['import_file']['tmp_name']) : ''; if (empty($import_file)) { wp_die(esc_html__('Please upload a file to import')); } $settings = (array) json_decode(file_get_contents($import_file), true); foreach ($settings['redirects'] as $redirect_key => $redirect_value) { $type = ''; if ( ! empty($redirect_value['action_code'])) { $type = $redirect_value['action_code']; } else { $type = '301'; } $param = ''; if ( ! empty($redirect_value['match_data']['source']['flag_query'])) { $flag_query = $redirect_value['match_data']['source']['flag_query']; if ('pass' == $flag_query) { $param = 'with_ignored_param'; } elseif ('ignore' == $flag_query) { $param = 'without_param'; } else { $param = 'exact_match'; } } $enabled =''; if ( ! empty(true == $redirect_value['enabled'])) { $enabled ='yes'; } $regex_enable =''; if ( ! empty($redirect_value['regex'])) { $regex_enable ='yes'; } wp_insert_post([ 'post_title' => ltrim(urldecode($redirect_value['url']), '/'), 'post_type' => 'siteseo_404', 'post_status' => 'publish', 'meta_input' => [ '_siteseo_redirections_value' => urldecode($redirect_value['action_data']['url']), '_siteseo_redirections_type' => $type, '_siteseo_redirections_enabled' => $enabled, '_siteseo_redirections_enabled_regex' => $regex_enable, '_siteseo_redirections_logged_status' => 'both', '_siteseo_redirections_param' => $param, ], ]); } wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_import_redirections_plugin_settings'); // Import Redirections from Rank Math plugin JSON file function siteseo_import_rk_redirections(){ if (empty($_POST['siteseo_action']) || 'import_rk_redirections' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_import_rk_redirections_nonce'), 'siteseo_import_rk_redirections_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'import_settings'))) { return; } $extension = !empty($_FILES['import_file']['name']) ? pathinfo(sanitize_file_name($_FILES['import_file']['name']), PATHINFO_EXTENSION) : ''; if ('json' != $extension) { wp_die(esc_html__('Please upload a valid .json file')); } $import_file = !empty($_FILES['import_file']['tmp_name']) ? sanitize_file_name($_FILES['import_file']['tmp_name']) : ''; if (empty($import_file)) { wp_die(esc_html__('Please upload a file to import')); } $settings = (array) json_decode(file_get_contents($import_file), true); foreach ($settings['redirections'] as $redirect_key => $redirect_value) { $type = ''; if ( ! empty($redirect_value['header_code'])) { $type = $redirect_value['header_code']; } $source = ''; if ( ! empty($redirect_value['sources'])) { $source = maybe_unserialize($redirect_value['sources']); $source = ltrim(urldecode($source[0]['pattern']), '/'); } $param = 'exact_match'; $enabled = ''; if ( ! empty('active' == $redirect_value['status'])) { $enabled ='yes'; } $redirect = ''; if ( ! empty($redirect_value['url_to'])) { $redirect = urldecode($redirect_value['url_to']); } $count = ''; if ( ! empty($redirect_value['hits'])) { $count = (int)$redirect_value['hits']; } $regex = ''; if ( ! empty($redirect_value['sources'])) { $sources = maybe_unserialize($redirect_value['sources']); if(in_array("regex", array_column($sources, 'comparison'))) { $regex = 'yes'; } } wp_insert_post( [ 'post_title' => $source, 'post_type' => 'siteseo_404', 'post_status' => 'publish', 'meta_input' => [ '_siteseo_redirections_value' => $redirect, '_siteseo_redirections_type' => $type, '_siteseo_redirections_enabled' => $enabled, '_siteseo_redirections_enabled_regex' => $regex, '_siteseo_redirections_logged_status' => 'both', 'siteseo_404_count' => $count, '_siteseo_redirections_param' => $param, ], ] ); } wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_import_rk_redirections'); // Clean all 404 function siteseo_clean_404_query_hook($args) { unset($args['date_query']); return $args; } function siteseo_clean_404() { if (empty($_POST['siteseo_action']) || 'clean_404' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_clean_404_nonce'), 'siteseo_clean_404_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', '404'))) { return; } add_filter('siteseo_404_cleaning_query', 'siteseo_clean_404_query_hook'); do_action('siteseo_404_cron_cleaning', true); wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_clean_404'); // Reset Count column function siteseo_clean_counters() { if (empty($_POST['siteseo_action']) || 'clean_counters' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_clean_counters_nonce'), 'siteseo_clean_counters_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', '404'))) { return; } global $wpdb; $wpdb->query('DELETE FROM `' . $wpdb->prefix . 'postmeta` WHERE `meta_key` = \'siteseo_404_count\''); wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_clean_counters'); // Clean all (redirects / 404 errors) function siteseo_clean_all() { if (empty($_POST['siteseo_action']) || 'clean_all' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_clean_all_nonce'), 'siteseo_clean_all_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', '404'))) { return; } global $wpdb; $wpdb->query('DELETE `posts`, `pm` FROM `' . $wpdb->prefix . 'posts` AS `posts` LEFT JOIN `' . $wpdb->prefix . 'postmeta` AS `pm` ON `pm`.`post_id` = `posts`.`ID` WHERE `posts`.`post_type` = \'siteseo_404\''); wp_safe_redirect(admin_url('edit.php?post_type=siteseo_404')); exit; } add_action('admin_init', 'siteseo_clean_all'); // Reset SiteSEO Notices Settings function siteseo_reset_notices_settings() { if (empty($_POST['siteseo_action']) || 'reset_notices_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_reset_notices_nonce'), 'siteseo_reset_notices_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'reset_settings'))) { return; } global $wpdb; $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'siteseo_notices' "); wp_safe_redirect(admin_url('admin.php?page=siteseo-import-export')); exit; } add_action('admin_init', 'siteseo_reset_notices_settings'); // Reset SiteSEO Settings function siteseo_reset_settings() { if (empty($_POST['siteseo_action']) || 'reset_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_reset_nonce'), 'siteseo_reset_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'reset_settings'))) { return; } global $wpdb; $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'siteseo_%' "); wp_safe_redirect(admin_url('admin.php?page=siteseo-import-export')); exit; } add_action('admin_init', 'siteseo_reset_settings'); // Export SiteSEO BOT Links to CSV function siteseo_bot_links_export_settings() { if (empty($_POST['siteseo_action']) || 'export_csv_links_settings' != $_POST['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_post('siteseo_export_csv_links_nonce'), 'siteseo_export_csv_links_nonce')) { return; } if ( ! current_user_can(siteseo_capability('manage_options', 'export_settings'))) { return; } $args = [ 'post_type' => 'siteseo_bot', 'posts_per_page' => 1000, 'post_status' => 'publish', 'order' => 'DESC', 'orderby' => 'date', ]; $the_query = new WP_Query($args); $settings['URL'] = []; $settings['Source'] = []; $settings['Source_Url'] = []; $settings['Status'] = []; $settings['Type'] = []; $csv_fields = []; $csv_fields[] = 'URL'; $csv_fields[] = 'Source'; $csv_fields[] = 'Source URL'; $csv_fields[] = 'Status'; $csv_fields[] = 'Type'; $output_handle = @fopen('php://output', 'w'); //Header ignore_user_abort(true); nocache_headers(); header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=siteseo-links-export-' . date('m-d-Y') . '.csv'); header('Expires: 0'); header('Pragma: public'); //Insert header row fputcsv($output_handle, $csv_fields); // The Loop if ($the_query->have_posts()) { while ($the_query->have_posts()) { $the_query->the_post(); array_push($settings['URL'], get_the_title()); array_push($settings['Source'], get_post_meta(get_the_ID(), 'siteseo_bot_source_title', true)); array_push($settings['Source_Url'], get_post_meta(get_the_ID(), 'siteseo_bot_source_url', true)); array_push($settings['Status'], get_post_meta(get_the_ID(), 'siteseo_bot_status', true)); array_push($settings['Type'], get_post_meta(get_the_ID(), 'siteseo_bot_type', true)); fputcsv($output_handle, array_merge($settings['URL'], $settings['Source'], $settings['Source_Url'], $settings['Status'], $settings['Type'])); //Clean arrays $settings['URL'] = []; $settings['Source'] = []; $settings['Source_Url'] = []; $settings['Status'] = []; $settings['Type'] = []; } wp_reset_postdata(); } // Close output file stream fclose($output_handle); exit; } add_action('admin_init', 'siteseo_bot_links_export_settings'); // Export metadata function siteseo_download_batch_export() { if (empty($_GET['siteseo_action']) || 'siteseo_download_batch_export' != $_GET['siteseo_action']) { return; } if ( ! wp_verify_nonce(siteseo_opt_get('nonce'), 'siteseo_csv_batch_export_nonce')) { return; } if (current_user_can(siteseo_capability('manage_options', 'export_settings')) && is_admin()) { if ('' != get_option('siteseo_metadata_csv')) { $csv = get_option('siteseo_metadata_csv'); $csv_fields = []; $csv_fields[] = 'id'; $csv_fields[] = 'post_title'; $csv_fields[] = 'url'; $csv_fields[] = 'meta_title'; $csv_fields[] = 'meta_desc'; $csv_fields[] = 'fb_title'; $csv_fields[] = 'fb_desc'; $csv_fields[] = 'fb_img'; $csv_fields[] = 'tw_title'; $csv_fields[] = 'tw_desc'; $csv_fields[] = 'tw_img'; $csv_fields[] = 'noindex'; $csv_fields[] = 'nofollow'; $csv_fields[] = 'noimageindex'; $csv_fields[] = 'noarchive'; $csv_fields[] = 'nosnippet'; $csv_fields[] = 'canonical_url'; $csv_fields[] = 'primary_cat'; $csv_fields[] = 'redirect_active'; $csv_fields[] = 'redirect_status'; $csv_fields[] = 'redirect_type'; $csv_fields[] = 'redirect_url'; $csv_fields[] = 'target_kw'; ob_start(); $output_handle = @fopen('php://output', 'w'); //Insert header row fputcsv($output_handle, $csv_fields, ';'); //Header ignore_user_abort(true); nocache_headers(); header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=siteseo-metadata-export-' . date('m-d-Y') . '.csv'); header('Expires: 0'); header('Pragma: public'); if ( ! empty($csv)) { foreach ($csv as $value) { fputcsv($output_handle, $value, ';'); } } // Close output file stream fclose($output_handle); //Clean database delete_option('siteseo_metadata_csv'); exit; } } } add_action('admin_init', 'siteseo_download_batch_export'); PKZG+SSplugins/siteseo/main/admin.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // XML/HTML Sitemap // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } if('1' == siteseo_get_service('SitemapOption')->getHtmlEnable()){ function siteseo_xml_sitemap_html_display(){ if ('' != siteseo_get_service('SitemapOption')->getHtmlMapping()) { if (is_page(explode(',', siteseo_get_service('SitemapOption')->getHtmlMapping()))) { add_filter('the_content', 'siteseo_xml_sitemap_html_hook'); } } } add_action('wp', 'siteseo_xml_sitemap_html_display'); function siteseo_xml_sitemap_html_hook($html){ // Attributes $atts = shortcode_atts( [ 'cpt' => '', ], $html, '[siteseo_html_sitemap]' ); // Exclude IDs if ('' != siteseo_get_service('SitemapOption')->getHtmlExclude()) { $get_html_exclude = siteseo_get_service('SitemapOption')->getHtmlExclude(); } else { $get_html_exclude = ''; } // Order if ('' != siteseo_get_service('SitemapOption')->getHtmlOrder()) { $siteseo_xml_sitemap_html_order_option = siteseo_get_service('SitemapOption')->getHtmlOrder(); } else { $siteseo_xml_sitemap_html_order_option = ''; } // Orderby if ('' != siteseo_get_service('SitemapOption')->getHtmlOrderBy()) { $siteseo_xml_sitemap_html_orderby_option = siteseo_get_service('SitemapOption')->getHtmlOrderBy(); } else { $siteseo_xml_sitemap_html_orderby_option = ''; } $html = ''; // CPT $siteseo_xml_sitemap_post_types_list_option = siteseo_get_service('SitemapOption')->getPostTypesList(); if ('' != $siteseo_xml_sitemap_post_types_list_option) { $html .= '
      '; if (isset($siteseo_xml_sitemap_post_types_list_option['page'])) { $siteseo_xml_sitemap_post_types_list_option = ['page' => $siteseo_xml_sitemap_post_types_list_option['page']] + $siteseo_xml_sitemap_post_types_list_option; //Display page first } if (! empty($atts['cpt'])) { unset($siteseo_xml_sitemap_post_types_list_option); $cpt = explode(',', $atts['cpt']); foreach ($cpt as $key => $value) { $siteseo_xml_sitemap_post_types_list_option[$value] = ['include' => '1']; } } $siteseo_xml_sitemap_post_types_list_option = apply_filters('siteseo_sitemaps_html_cpt', $siteseo_xml_sitemap_post_types_list_option); $display_archive = ''; foreach ($siteseo_xml_sitemap_post_types_list_option as $cpt_key => $cpt_value) { if ('1' !== siteseo_get_service('SitemapOption')->getHtmlArchiveLinks()) { $display_archive = false; } $display_archive = apply_filters('siteseo_sitemaps_html_remove_archive', $display_archive, $cpt_key); if (! empty($cpt_value)) { $html .= '
      '; } $obj = get_post_type_object($cpt_key); if ($obj) { $cpt_name = $obj->labels->name; $cpt_name = apply_filters('siteseo_sitemaps_html_cpt_name', $cpt_name, $obj->name); $html .= '

      ' . $cpt_name . '

      '; } foreach ($cpt_value as $_cpt_key => $_cpt_value) { if ('1' == $_cpt_value) { $args = [ 'posts_per_page' => 1000, 'order' => $siteseo_xml_sitemap_html_order_option, 'orderby' => $siteseo_xml_sitemap_html_orderby_option, 'post_type' => $cpt_key, 'post_status' => 'publish', 'meta_query' => [['key' => '_siteseo_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS']], 'fields' => 'ids', 'exclude' => $get_html_exclude, 'suppress_filters' => false, 'no_found_rows' => true, 'nopaging' => true, ]; if ('post' === $cpt_key || 'product' === $cpt_key) { if (get_post_type_archive_link($cpt_key) && 0 != get_option('page_for_posts')) { if (false === $display_archive) { $html .= ''; } } $args_cat_query = [ 'orderby' => 'name', 'order' => 'ASC', 'meta_query' => [['key' => '_siteseo_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS']], 'exclude' => $get_html_exclude, 'suppress_filters' => false, ]; if ('post' === $cpt_key) { $args_cat_query = apply_filters('siteseo_sitemaps_html_cat_query', $args_cat_query); $cats = get_categories($args_cat_query); } elseif ('product' === $cpt_key) { $args_cat_query = apply_filters('siteseo_sitemaps_html_product_cat_query', $args_cat_query); $cats = get_terms('product_cat', $args_cat_query); } if (! empty($cats)) { $html .= '
      '; foreach ($cats as $cat) { if ( ! is_wp_error($cat) && is_object($cat)) { $html .= '
      '; $html .= '

      ' . $cat->name . '

      '; if ('post' === $cpt_key) { unset($args['cat']); $args['cat'][] = $cat->term_id; } elseif ('product' === $cpt_key) { unset($args['tax_query']); $args['tax_query'] = [[ 'taxonomy' => 'product_cat', 'field' => 'term_id', 'terms' => $cat->term_id, ]]; } require dirname(__FILE__) . '/sitemap/template-html-sitemap.php'; $html .= '
      '; } } $html .= '
      '; } } else { require dirname(__FILE__) . '/sitemap/template-html-sitemap.php'; } } } if (! empty($cpt_value)) { $html .= '
      '; } } $html .= '
      '; } return $html; } add_shortcode('siteseo_html_sitemap', 'siteseo_xml_sitemap_html_hook'); } PKZKdd'plugins/siteseo/main/options-oembed.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly //oEmbed // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } // Get Oembed Title (custom OG:title or Post title) function siteseo_oembed_title_hook($post){ //Init $siteseo_oembed_title =''; $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables, $post, true); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; //If OG title set if (get_post_meta($post->ID, '_siteseo_social_fb_title', true) !='') { $siteseo_oembed_title = get_post_meta($post->ID, '_siteseo_social_fb_title', true); } elseif (get_post_meta($post->ID, '_siteseo_titles_title', true) !='') { $siteseo_oembed_title = get_post_meta($post->ID, '_siteseo_titles_title', true); } elseif (get_the_title($post) !='') { $siteseo_oembed_title = the_title_attribute(['before'=>'','after'=>'','echo'=>false,'post'=>$post]); } //Apply dynamic variables preg_match_all('/%%_cf_(.*?)%%/', $siteseo_oembed_title, $matches); //custom fields if ( ! empty($matches)) { $siteseo_titles_cf_template_variables_array = []; $siteseo_titles_cf_template_replace_array = []; foreach ($matches['0'] as $key => $value) { $siteseo_titles_cf_template_variables_array[] = $value; } foreach ($matches['1'] as $key => $value) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true)); } } preg_match_all('/%%_ct_(.*?)%%/', $siteseo_oembed_title, $matches2); //custom terms taxonomy if ( ! empty($matches2)) { $siteseo_titles_ct_template_variables_array = []; $siteseo_titles_ct_template_replace_array = []; foreach ($matches2['0'] as $key => $value) { $siteseo_titles_ct_template_variables_array[] = $value; } foreach ($matches2['1'] as $key => $value) { $term = wp_get_post_terms($post->ID, $value); if ( ! is_wp_error($term)) { $terms = esc_attr($term[0]->name); $siteseo_titles_ct_template_replace_array[] = apply_filters('siteseo_titles_custom_tax', $terms, $value); } } } //Default $siteseo_oembed_title = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_oembed_title); //Custom fields if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) { $siteseo_oembed_title = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_oembed_title); } //Custom terms taxonomy if ( ! empty($matches2) && ! empty($siteseo_titles_ct_template_variables_array) && ! empty($siteseo_titles_ct_template_replace_array)) { $siteseo_oembed_title = str_replace($siteseo_titles_ct_template_variables_array, $siteseo_titles_ct_template_replace_array, $siteseo_oembed_title); } $siteseo_oembed_title = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_oembed_title); //Hook on post oEmbed title - 'siteseo_oembed_title' $siteseo_oembed_title = apply_filters('siteseo_oembed_title', $siteseo_oembed_title); return $siteseo_oembed_title; } // Get Oembed Thumbnail (custom OG:IMAGE or Post thumbnail) function siteseo_oembed_thumbnail_hook($post){ //Init $siteseo_oembed_thumbnail = []; //If OG title set if (get_post_meta($post->ID, '_siteseo_social_fb_img', true) !='') { $siteseo_oembed_thumbnail['url'] = get_post_meta($post->ID, '_siteseo_social_fb_img', true); } elseif (get_post_thumbnail_id($post) !='') { $post_thumbnail_id = get_post_thumbnail_id($post); $img_size = 'full'; $img_size = apply_filters('siteseo_oembed_thumbnail_size', $img_size); $attachment = wp_get_attachment_image_src($post_thumbnail_id, $img_size); if (is_array($attachment)) { $siteseo_oembed_thumbnail['url'] = $attachment[0]; $siteseo_oembed_thumbnail['width'] = $attachment[1]; $siteseo_oembed_thumbnail['height'] = $attachment[2]; } } //Hook on post oEmbed thumbnail - 'siteseo_oembed_thumbnail' $siteseo_oembed_thumbnail = apply_filters('siteseo_oembed_thumbnail', $siteseo_oembed_thumbnail); return $siteseo_oembed_thumbnail; } add_filter('oembed_response_data', 'siteseo_oembed_response_data', 10, 4); function siteseo_oembed_response_data($data, $post, $width, $height){ if (function_exists('siteseo_oembed_title_hook') && siteseo_oembed_title_hook($post) !='') { $data['title'] = siteseo_oembed_title_hook($post); } if (function_exists('siteseo_oembed_thumbnail_hook') && siteseo_oembed_thumbnail_hook($post) !='') { $thumbnail = siteseo_oembed_thumbnail_hook($post); if (!empty($thumbnail['url'])) { $data['thumbnail_url'] = $thumbnail['url']; } if (!empty($thumbnail['width'])) { $data['thumbnail_width'] = $thumbnail['width']; } else { $data['thumbnail_width'] = ''; } if (!empty($thumbnail['height'])) { $data['thumbnail_height'] = $thumbnail['height']; } else { $data['thumbnail_height'] = ''; } } return $data; } PKZnXJJ'plugins/siteseo/main/options-social.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Social // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } function siteseo_social_accounts_jsonld_hook() { $siteseo_comma_array = []; $SocialOption = siteseo_get_service('SocialOption'); $knowledgeTypeOption = $SocialOption->getSocialKnowledgeType(); //If not enable (=none) if ('none' === $knowledgeTypeOption) { return; } if ('' != $SocialOption->getSocialAccountsFacebook()) { $getSocialAccountsFacebook = wp_json_encode($SocialOption->getSocialAccountsFacebook()); array_push($siteseo_comma_array, $getSocialAccountsFacebook); } if ('' != $SocialOption->getSocialAccountsTwitter()) { $getSocialAccountsTwitter = wp_json_encode('https://twitter.com/' . $SocialOption->getSocialAccountsTwitter()); array_push($siteseo_comma_array, $getSocialAccountsTwitter); } if ('' != $SocialOption->getSocialAccountsPinterest()) { $getSocialAccountsPinterest = wp_json_encode($SocialOption->getSocialAccountsPinterest()); array_push($siteseo_comma_array, $getSocialAccountsPinterest); } if ('' != $SocialOption->getSocialAccountsInstagram()) { $getSocialAccountsInstagram = wp_json_encode($SocialOption->getSocialAccountsInstagram()); array_push($siteseo_comma_array, $getSocialAccountsInstagram); } if ('' != $SocialOption->getSocialAccountsYoutube()) { $getSocialAccountsYoutube = wp_json_encode($SocialOption->getSocialAccountsYoutube()); array_push($siteseo_comma_array, $getSocialAccountsYoutube); } if ('' != $SocialOption->getSocialAccountsLinkedin()) { $getSocialAccountsLinkedin = wp_json_encode($SocialOption->getSocialAccountsLinkedin()); array_push($siteseo_comma_array, $getSocialAccountsLinkedin); } if ('' != $knowledgeTypeOption) { $siteseo_social_knowledge_type_option = wp_json_encode($knowledgeTypeOption); } else { $siteseo_social_knowledge_type_option = wp_json_encode('Organization'); } if ('' != $SocialOption->getSocialKnowledgeName() && 'none' != $knowledgeTypeOption) { $siteseo_social_knowledge_name_option = wp_json_encode($SocialOption->getSocialKnowledgeName()); } elseif ('none' != $knowledgeTypeOption) { $siteseo_social_knowledge_name_option = wp_json_encode(get_bloginfo('name')); } if ('' != $SocialOption->getSocialKnowledgeImage() && 'Organization' == $knowledgeTypeOption) { $siteseo_social_knowledge_img_option = wp_json_encode($SocialOption->getSocialKnowledgeImage()); } if ('' != $SocialOption->getSocialKnowledgePhone()) { $getSocialKnowledgePhone = wp_json_encode($SocialOption->getSocialKnowledgePhone()); } if ('' != $SocialOption->getSocialKnowledgeContactType()) { $getSocialKnowledgeContactType = wp_json_encode($SocialOption->getSocialKnowledgeContactType()); } if ('' != $SocialOption->getSocialKnowledgeContactOption()) { $getSocialKnowledgeContactOption = wp_json_encode($SocialOption->getSocialKnowledgeContactOption()); } $html = ''; $html .= "\n"; $html = apply_filters('siteseo_schemas_organization_html', $html); echo wp_kses_post($html); } if (apply_filters('siteseo_old_social_accounts_jsonld_hook', ! function_exists('siteseo_get_service'))) { add_action('wp_head', 'siteseo_social_accounts_jsonld_hook', 1); } //Website Schema.org in JSON-LD - Sitelinks if('1' == siteseo_get_service('TitleOption')->geNoSiteLinksSearchBox()){ //do not display searchbox schema } else { function siteseo_social_website_option() { $target = get_home_url() . '/?s={search_term_string}'; $site_tile = !empty(siteseo_get_service('TitleOption')->getHomeSiteTitle()) ? siteseo_get_service('TitleOption')->getHomeSiteTitle() : get_bloginfo('name'); $alt_site_title = !empty(siteseo_get_service('TitleOption')->getHomeSiteTitleAlt()) ? siteseo_get_service('TitleOption')->getHomeSiteTitleAlt() : get_bloginfo('name'); $site_desc = !empty(siteseo_get_service('TitleOption')->getHomeDescriptionTitle()) ? siteseo_get_service('TitleOption')->getHomeDescriptionTitle() : get_bloginfo('description'); $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; $site_tile = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $site_tile); $alt_site_title = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $alt_site_title); $site_desc = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $site_desc); $website_schema = [ '@context' => siteseo_check_ssl() . 'schema.org', '@type' => 'WebSite', 'name' => esc_html($site_tile), 'alternateName' => esc_html($alt_site_title), 'description' => esc_html($site_desc), 'url' => get_home_url(), 'potentialAction' => [ '@type' => 'SearchAction', 'target' => [ '@type' => 'EntryPoint', 'urlTemplate' => esc_js($target) ], 'query-input' => 'required name=search_term_string' ], ]; $website_schema = apply_filters( 'siteseo_schemas_website', $website_schema ); $jsonld = ''; $jsonld .= "\n"; echo wp_kses($jsonld, ['script' => ['type' => true]]); } if (is_home() || is_front_page()) { add_action('wp_head', 'siteseo_social_website_option', 1); } } //OG URL function siteseo_social_facebook_og_url_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()) { global $wp; $current_url = user_trailingslashit(home_url(add_query_arg([], $wp->request))); if (is_search()) { $siteseo_social_og_url = ''; } else { $siteseo_social_og_url = ''; } //Hook on post OG URL - 'siteseo_social_og_url' if (has_filter('siteseo_social_og_url')) { $siteseo_social_og_url = apply_filters('siteseo_social_og_url', $siteseo_social_og_url); } if ( ! is_404()) { echo wp_kses($siteseo_social_og_url, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_facebook_og_url_hook', 1); //OG Site Name function siteseo_social_facebook_og_site_name_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != get_bloginfo('name')) { $siteseo_social_og_site_name = ''; //Hook on post OG site name - 'siteseo_social_og_site_name' if (has_filter('siteseo_social_og_site_name')) { $siteseo_social_og_site_name = apply_filters('siteseo_social_og_site_name', $siteseo_social_og_site_name); } if ( ! is_404()) { echo wp_kses($siteseo_social_og_site_name, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_facebook_og_site_name_hook', 1); //OG Locale function siteseo_social_facebook_og_locale_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()) { $siteseo_social_og_locale = ''; include_once ABSPATH . 'wp-admin/includes/plugin.php'; //Polylang if (is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) { //@credits Polylang if (did_action('pll_init') && function_exists('PLL')) { $alternates = []; if (!empty(PLL()->model->get_languages_list())) { foreach (PLL()->model->get_languages_list() as $language) { $polylang = PLL()->links; if (isset(PLL()->curlang->slug) && PLL()->curlang->slug !== $language->slug && method_exists($polylang, 'get_translation_url') && PLL()->links->get_translation_url($language) && isset($language->facebook)) { $alternates[] = $language->facebook; } } // There is a risk that 2 languages have the same Facebook locale. So let's make sure to output each locale only once. $alternates = array_unique($alternates); foreach ($alternates as $lang) { $siteseo_social_og_locale .= "\n"; $siteseo_social_og_locale .= ''; } } } } //WPML if (is_plugin_active('sitepress-multilingual-cms/sitepress.php')) { if (get_post_type() && get_the_ID()) { $trid = apply_filters( 'wpml_element_trid', NULL, get_the_id(), 'post_'.get_post_type() ); if (isset($trid)) { $translations = apply_filters( 'wpml_get_element_translations', NULL, $trid, 'post_'.get_post_type() ); if (!empty($translations)) { foreach($translations as $lang => $object) { $elid = $object->element_id; if (isset($elid)) { $my_post_language_details = apply_filters( 'wpml_post_language_details', NULL, $elid ) ; if (!is_wp_error( $my_post_language_details ) && !empty($my_post_language_details['locale']) && $my_post_language_details['different_language'] === true) { $siteseo_social_og_locale .= "\n"; $siteseo_social_og_locale .= ''; } } } } } } } //Hook on post OG locale - 'siteseo_social_og_locale' if (has_filter('siteseo_social_og_locale')) { $siteseo_social_og_locale = apply_filters('siteseo_social_og_locale', $siteseo_social_og_locale); } if (isset($siteseo_social_og_locale) && '' != $siteseo_social_og_locale) { if ( ! is_404()) { echo wp_kses($siteseo_social_og_locale, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } } add_action('wp_head', 'siteseo_social_facebook_og_locale_hook', 1); //OG Type function siteseo_social_facebook_og_type_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()) { if (is_home() || is_front_page()) { $siteseo_social_og_type = ''; } elseif (is_singular('product') || is_singular('download')) { $siteseo_social_og_type = ''; } elseif (is_singular()) { global $post; $siteseo_video_disabled = get_post_meta($post->ID, '_siteseo_video_disabled', true); $siteseo_video = get_post_meta($post->ID, '_siteseo_video'); if ( ! empty($siteseo_video[0][0]['url']) && '' == $siteseo_video_disabled) { $siteseo_social_og_type = ''; } else { $siteseo_social_og_type = ''; } } elseif (is_search() || is_archive() || is_404()) { $siteseo_social_og_type = ''; } if (isset($siteseo_social_og_type)) { //Hook on post OG type - 'siteseo_social_og_type' if (has_filter('siteseo_social_og_type')) { $siteseo_social_og_type = apply_filters('siteseo_social_og_type', $siteseo_social_og_type); } if ( ! is_404()) { echo wp_kses($siteseo_social_og_type, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } } add_action('wp_head', 'siteseo_social_facebook_og_type_hook', 1); //Article Author / Article Publisher function siteseo_social_facebook_og_author_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->getSocialAccountsFacebook()) { if (is_singular() && ! is_home() && ! is_front_page()) { global $post; $siteseo_video_disabled = get_post_meta($post->ID, '_siteseo_video_disabled', true); $siteseo_video = get_post_meta($post->ID, '_siteseo_video'); if ( ! empty($siteseo_video[0][0]['url']) && '' == $siteseo_video_disabled) { //do nothing } else { $siteseo_social_og_author = ''; $siteseo_social_og_author .= "\n"; $siteseo_social_og_author .= ''; } } if (isset($siteseo_social_og_author)) { //Hook on post OG author - 'siteseo_social_og_author' if (has_filter('siteseo_social_og_author')) { $siteseo_social_og_author = apply_filters('siteseo_social_og_author', $siteseo_social_og_author); } echo wp_kses($siteseo_social_og_author, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } if (is_singular('post')) { // article:section if (get_post_meta($post->ID, '_siteseo_robots_primary_cat', true)) { $_siteseo_robots_primary_cat = get_post_meta($post->ID, '_siteseo_robots_primary_cat', true); if (isset($_siteseo_robots_primary_cat) && '' != $_siteseo_robots_primary_cat && 'none' != $_siteseo_robots_primary_cat) { if (null != $post->post_type && 'post' == $post->post_type) { $current_cat = get_category($_siteseo_robots_primary_cat); } } else { $current_cat = current(get_the_category($post)); } } else { $current_cat = current(get_the_category($post)); } if ($current_cat) { $siteseo_social_og_section = ''; $siteseo_social_og_section .= ''; $siteseo_social_og_section .= "\n"; if (isset($siteseo_social_og_section)) { //Hook on post OG article:section - 'siteseo_social_og_section' if (has_filter('siteseo_social_og_section')) { $siteseo_social_og_section = apply_filters('siteseo_social_og_section', $siteseo_social_og_section); } echo wp_kses($siteseo_social_og_section, ['meta' => ['property' => true, 'content' => true]]); } } // article:tag if (function_exists('get_the_tags')) { $tags = get_the_tags(); if ( ! empty($tags)) { $siteseo_social_og_tag = ''; foreach ($tags as $tag) { $siteseo_social_og_tag .= ''; $siteseo_social_og_tag .= "\n"; } if (isset($siteseo_social_og_tag)) { //Hook on post OG article:tag - 'siteseo_social_og_tag' if (has_filter('siteseo_social_og_tag')) { $siteseo_social_og_tag = apply_filters('siteseo_social_og_tag', $siteseo_social_og_tag); } echo wp_kses($siteseo_social_og_tag, ['meta' => ['property' => true, 'content' => true]]); } } } } } } add_action('wp_head', 'siteseo_social_facebook_og_author_hook', 1); //Facebook Title function siteseo_social_fb_title_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_fb_title = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_fb_title', true); } else { $_siteseo_social_fb_title = get_post_meta(get_the_ID(), '_siteseo_social_fb_title', true); } if ('' != $_siteseo_social_fb_title) { return $_siteseo_social_fb_title; } } function siteseo_social_fb_title_term_option() { $_siteseo_social_fb_title = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_fb_title', true); if ('' != $_siteseo_social_fb_title) { return $_siteseo_social_fb_title; } } function siteseo_social_fb_title_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_fb_title = get_post_meta($page_id, '_siteseo_social_fb_title', true); if ( ! empty($_siteseo_social_fb_title)) { return $_siteseo_social_fb_title; } } function siteseo_social_fb_title_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()) { //Init $siteseo_social_og_title =''; $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; if (is_home()) { if ('' != siteseo_social_fb_title_home_option()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } elseif (function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } } elseif (is_tax() || is_category() || is_tag()) { if ('' != siteseo_social_fb_title_term_option()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } elseif (function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } else { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } } elseif (is_singular() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_title_post_option()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } elseif (function_exists('is_shop') && is_shop() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_title_post_option()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != get_the_title()) { $siteseo_social_og_title .= ''; $siteseo_social_og_title .= "\n"; } //Apply dynamic variables preg_match_all('/%%_cf_(.*?)%%/', $siteseo_social_og_title, $matches); //custom fields if ( ! empty($matches)) { $siteseo_titles_cf_template_variables_array = []; $siteseo_titles_cf_template_replace_array = []; foreach ($matches['0'] as $key => $value) { $siteseo_titles_cf_template_variables_array[] = $value; } foreach ($matches['1'] as $key => $value) { if (is_singular()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true)); } elseif (is_tax() || is_category() || is_tag()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true)); } } } //Custom fields if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) { $siteseo_social_og_title = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_social_og_title); } $siteseo_social_og_title = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_social_og_title); //Hook on post OG title - 'siteseo_social_og_title' if (has_filter('siteseo_social_og_title')) { $siteseo_social_og_title = apply_filters('siteseo_social_og_title', $siteseo_social_og_title); } if (isset($siteseo_social_og_title) && '' != $siteseo_social_og_title) { if ( ! is_404()) { echo wp_kses($siteseo_social_og_title, ['meta' => ['property' => true, 'content' => true]]); } } } } add_action('wp_head', 'siteseo_social_fb_title_hook', 1); //Facebook Desc function siteseo_social_fb_desc_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_fb_desc = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_fb_desc', true); } else { $_siteseo_social_fb_desc = get_post_meta(get_the_ID(), '_siteseo_social_fb_desc', true); } if ('' != $_siteseo_social_fb_desc) { return $_siteseo_social_fb_desc; } } function siteseo_social_fb_desc_term_option() { $_siteseo_social_fb_desc = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_fb_desc', true); if ('' != $_siteseo_social_fb_desc) { return $_siteseo_social_fb_desc; } } function siteseo_social_fb_desc_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_fb_desc = get_post_meta($page_id, '_siteseo_social_fb_desc', true); if ( ! empty($_siteseo_social_fb_desc)) { return $_siteseo_social_fb_desc; } } function siteseo_social_fb_desc_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && ! is_search()) { if (function_exists('wc_memberships_is_post_content_restricted') && wc_memberships_is_post_content_restricted()) { return false; } global $post; //Init $siteseo_social_og_desc =''; $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; //Excerpt length $siteseo_excerpt_length = 50; $siteseo_excerpt_length = apply_filters('siteseo_excerpt_length', $siteseo_excerpt_length); setup_postdata($post); if (is_home()) { if ('' != siteseo_social_fb_desc_home_option()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif (function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } } elseif (is_tax() || is_category() || is_tag()) { if ('' != siteseo_social_fb_desc_term_option()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif (function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif ('' != term_description()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } } elseif (is_singular() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_desc_post_option()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif (function_exists('is_shop') && is_shop() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_desc_post_option()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != get_the_excerpt()) { $siteseo_social_og_desc .= ''; $siteseo_social_og_desc .= "\n"; } //Apply dynamic variables preg_match_all('/%%_cf_(.*?)%%/', $siteseo_social_og_desc, $matches); //custom fields if ( ! empty($matches)) { $siteseo_titles_cf_template_variables_array = []; $siteseo_titles_cf_template_replace_array = []; foreach ($matches['0'] as $key => $value) { $siteseo_titles_cf_template_variables_array[] = $value; } foreach ($matches['1'] as $key => $value) { if (is_singular()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true)); } elseif (is_tax() || is_category() || is_tag()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true)); } } } //Custom fields if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) { $siteseo_social_og_desc = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_social_og_desc); } $siteseo_social_og_desc = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_social_og_desc); //Hook on post OG description - 'siteseo_social_og_desc' if (has_filter('siteseo_social_og_desc')) { $siteseo_social_og_desc = apply_filters('siteseo_social_og_desc', $siteseo_social_og_desc); } if (isset($siteseo_social_og_desc) && '' != $siteseo_social_og_desc) { if ( ! is_404()) { echo wp_kses($siteseo_social_og_desc, ['meta' => ['property' => true, 'content' => true]]); } } } } add_action('wp_head', 'siteseo_social_fb_desc_hook', 1); //Facebook Thumbnail function siteseo_social_fb_img_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_fb_img = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_fb_img', true); } else { $_siteseo_social_fb_img = get_post_meta(get_the_ID(), '_siteseo_social_fb_img', true); } if ('' != $_siteseo_social_fb_img) { return $_siteseo_social_fb_img; } } function siteseo_social_fb_img_term_option() { $_siteseo_social_fb_img = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_fb_img', true); if ('' != $_siteseo_social_fb_img) { return $_siteseo_social_fb_img; } } function siteseo_social_fb_img_product_cat_option() { if ( is_tax('product_cat') ){ global $wp_query; $cat = $wp_query->get_queried_object(); $thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_id', true ); $image = wp_get_attachment_url( $thumbnail_id ); if ( $image ) { return $image; } } } function siteseo_social_fb_img_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_fb_img = get_post_meta($page_id, '_siteseo_social_fb_img', true); if ( ! empty($_siteseo_social_fb_img)) { return $_siteseo_social_fb_img; } elseif (has_post_thumbnail($page_id)) { return get_the_post_thumbnail_url($page_id); } } function siteseo_thumbnail_in_content() { //Get post content $siteseo_get_the_content = get_post_field('post_content', get_the_ID()); if ('' != $siteseo_get_the_content) { //DomDocument $dom = new domDocument(); $internalErrors = libxml_use_internal_errors(true); if (function_exists('htmlspecialchars_decode')) { $dom->loadHTML(htmlspecialchars_decode($siteseo_get_the_content)); } else { $dom->loadHTML('' . $siteseo_get_the_content); } $dom->preserveWhiteSpace = false; if ('' != $dom->getElementsByTagName('img')) { $images = $dom->getElementsByTagName('img'); } if (isset($images) && ! empty($images)) { if ($images->length >= 1) { foreach ($images as $img) { $url = $img->getAttribute('src'); //Exclude Base64 img if (false === strpos($url, 'data:image/')) { if (true === siteseo_is_absolute($url)) { //do nothing } else { $url = get_home_url() . $url; } //cleaning url $url = htmlspecialchars(esc_attr(wp_filter_nohtml_kses($url))); //remove query strings $parse_url = wp_parse_url($url); if ( ! empty($parse_url['scheme']) && ! empty($parse_url['host']) && ! empty($parse_url['path'])) { return $parse_url['scheme'] . '://' . $parse_url['host'] . $parse_url['path']; } else { return $url; } } } } } libxml_use_internal_errors($internalErrors); } } function siteseo_social_fb_img_size_from_url($url, $post_id = null) { if (!function_exists('attachment_url_to_postid')) { return; } $stop_attachment_url_to_postid = apply_filters( 'siteseo_stop_attachment_url_to_postid', false ); if ($post_id) { $post_id = get_post_thumbnail_id($post_id); } elseif ($stop_attachment_url_to_postid === false) { $post_id = attachment_url_to_postid($url); //If cropped image if (0 != $post_id) { $dir = wp_upload_dir(); $path = $url; if (0 === strpos($path, $dir['baseurl'] . '/')) { $path = substr($path, strlen($dir['baseurl'] . '/')); } if (preg_match('/^(.*)(\-\d*x\d*)(\.\w{1,})/i', $path, $matches)) { $url = $dir['baseurl'] . '/' . $matches[1] . $matches[3]; $post_id = attachment_url_to_postid($url); } } } $image_src = wp_get_attachment_image_src($post_id, 'full'); //OG:IMAGE $siteseo_social_og_img = ''; $siteseo_social_og_img .= ''; $siteseo_social_og_img .= "\n"; //OG:IMAGE:SECURE_URL IF SSL if (is_ssl()) { $siteseo_social_og_img .= ''; $siteseo_social_og_img .= "\n"; } //OG:IMAGE:WIDTH + OG:IMAGE:HEIGHT if ( ! empty($image_src)) { $siteseo_social_og_img .= ''; $siteseo_social_og_img .= "\n"; $siteseo_social_og_img .= ''; $siteseo_social_og_img .= "\n"; } //OG:IMAGE:ALT if ('' != get_post_meta($post_id, '_wp_attachment_image_alt', true)) { $siteseo_social_og_img .= ''; $siteseo_social_og_img .= "\n"; } return $siteseo_social_og_img; } function siteseo_social_fb_img_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg()) { //Init global $post; $siteseo_social_og_thumb =''; if (is_home() && '' != siteseo_social_fb_img_home_option() && 'page' == get_option('show_on_front')) { $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_social_fb_img_home_option()); } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_img_post_option()) {//Custom OG:IMAGE from SEO metabox $siteseo_social_og_thumb .= siteseo_get_service('FacebookImageOptionMeta')->getMetasBy('id'); } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookImgDefault() && '' != siteseo_get_service('SocialOption')->getSocialFacebookImg()) {//If "Apply this image to all your og:image tag" ON $siteseo_social_og_thumb .= siteseo_get_service('FacebookImageOptionMeta')->getMetasBy('id'); } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && has_post_thumbnail()) {//If post thumbnail $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(get_the_post_thumbnail_url($post, 'full'), $post->ID); } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_thumbnail_in_content()) {//First image of post content $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_thumbnail_in_content()); } elseif ((is_tax() || is_category() || is_tag()) && '' != siteseo_social_fb_img_term_option()) {//Custom OG:IMAGE for term from SEO metabox $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_social_fb_img_term_option()); } elseif (is_tax('product_cat') && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && siteseo_social_fb_img_product_cat_option() !='') {//If product category thumbnail $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_social_fb_img_product_cat_option()); } elseif (is_post_type_archive() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->getSocialFacebookImgCPT()) {//Default OG:IMAGE from global settings $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_get_service('SocialOption')->getSocialFacebookImgCPT()); } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->getSocialFacebookImg()) {//Default OG:IMAGE from global settings $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url(siteseo_get_service('SocialOption')->getSocialFacebookImg()); } elseif (!empty(get_option('site_icon'))) { //Site icon $site_icon = wp_get_attachment_url(get_option('site_icon')); $siteseo_social_og_thumb .= siteseo_social_fb_img_size_from_url($site_icon); } //Hook on post OG thumbnail - 'siteseo_social_og_thumb' if (has_filter('siteseo_social_og_thumb')) { $siteseo_social_og_thumb = apply_filters('siteseo_social_og_thumb', $siteseo_social_og_thumb); } if (isset($siteseo_social_og_thumb) && '' != $siteseo_social_og_thumb) { if ( ! is_404()) { echo wp_kses($siteseo_social_og_thumb, ['meta' => ['property' => true, 'content' => true]]); } } } } add_action('wp_head', 'siteseo_social_fb_img_hook', 1); function siteseo_social_facebook_link_ownership_id_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->searchOptionByKey('social_facebook_link_ownership_id')) { $siteseo_social_link_ownership_id = ''; echo wp_kses($siteseo_social_link_ownership_id, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } add_action('wp_head', 'siteseo_social_facebook_link_ownership_id_hook', 1); function siteseo_social_facebook_admin_id_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->searchOptionByKey('social_facebook_admin_id')) { $siteseo_social_admin_id = ''; if ( ! is_404()) { echo wp_kses($siteseo_social_admin_id, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_facebook_admin_id_hook', 1); function siteseo_social_facebook_app_id_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_get_service('SocialOption')->searchOptionByKey('social_facebook_app_id')) { $siteseo_social_app_id = ''; if ( ! is_404()) { echo wp_kses($siteseo_social_app_id, ['meta' => ['property' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_facebook_app_id_hook', 1); //Twitter Summary Card function siteseo_social_twitter_card_summary_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard()) { if ('large' == siteseo_get_service('SocialOption')->getSocialTwitterImgSize()) { $siteseo_social_twitter_card_summary = ''; } else { $siteseo_social_twitter_card_summary = ''; } //Hook on post Twitter card summary - 'siteseo_social_twitter_card_summary' if (has_filter('siteseo_social_twitter_card_summary')) { $siteseo_social_twitter_card_summary = apply_filters('siteseo_social_twitter_card_summary', $siteseo_social_twitter_card_summary); } if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_summary, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_twitter_card_summary_hook', 1); //Twitter Site function siteseo_social_twitter_card_site_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard() && '' != siteseo_get_service('SocialOption')->getSocialAccountsTwitter()) { $siteseo_social_twitter_card_site = ''; //Hook on post Twitter card site - 'siteseo_social_twitter_card_site' if (has_filter('siteseo_social_twitter_card_site')) { $siteseo_social_twitter_card_site = apply_filters('siteseo_social_twitter_card_site', $siteseo_social_twitter_card_site); } if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_site, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_twitter_card_site_hook', 1); //Twitter Creator function siteseo_social_twitter_card_creator_hook() { //Init $siteseo_social_twitter_card_creator =''; if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard() && get_the_author_meta('twitter')) { $siteseo_social_twitter_card_creator .= ''; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard() && '' != siteseo_get_service('SocialOption')->getSocialAccountsTwitter()) { $siteseo_social_twitter_card_creator .= ''; } //Hook on post Twitter card creator - 'siteseo_social_twitter_card_creator' if (has_filter('siteseo_social_twitter_card_creator')) { $siteseo_social_twitter_card_creator = apply_filters('siteseo_social_twitter_card_creator', $siteseo_social_twitter_card_creator); } if (isset($siteseo_social_twitter_card_creator) && '' != $siteseo_social_twitter_card_creator) { if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_creator, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } add_action('wp_head', 'siteseo_social_twitter_card_creator_hook', 1); //Twitter Title function siteseo_social_twitter_title_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_twitter_title = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_twitter_title', true); } else { $_siteseo_social_twitter_title = get_post_meta(get_the_ID(), '_siteseo_social_twitter_title', true); } if ('' != $_siteseo_social_twitter_title) { return $_siteseo_social_twitter_title; } } function siteseo_social_twitter_title_term_option() { $_siteseo_social_twitter_title = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_twitter_title', true); if ('' != $_siteseo_social_twitter_title) { return $_siteseo_social_twitter_title; } } function siteseo_social_twitter_title_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_twitter_title = get_post_meta($page_id, '_siteseo_social_twitter_title', true); if ( ! empty($_siteseo_social_twitter_title)) { return $_siteseo_social_twitter_title; } } function siteseo_social_twitter_title_hook() { //If Twitter cards enable if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard()) { //Init $siteseo_social_twitter_card_title =''; $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; if (is_home()) {//Home if ('' != siteseo_social_twitter_title_home_option()) { $siteseo_social_twitter_card_title .= ''; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg() && '' != siteseo_social_fb_title_home_option()) { $siteseo_social_twitter_card_title .= ''; } elseif (function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_twitter_card_title .= ''; } } elseif (is_tax() || is_category() || is_tag()) {//Term archive if ('' != siteseo_social_twitter_title_term_option()) { $siteseo_social_twitter_card_title .= ''; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg() && '' != siteseo_social_fb_title_term_option()) { $siteseo_social_twitter_card_title .= ''; } elseif (function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_twitter_card_title .= ''; } else { $siteseo_social_twitter_card_title .= ''; } } elseif (is_singular() && '' != siteseo_social_twitter_title_post_option()) {//Single $siteseo_social_twitter_card_title .= ''; } elseif (is_singular() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_title_post_option()) { $siteseo_social_twitter_card_title .= ''; } elseif (function_exists('is_shop') && is_shop() && '' != siteseo_social_twitter_title_post_option()) {//Single $siteseo_social_twitter_card_title .= ''; } elseif (function_exists('is_shop') && is_shop() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_title_post_option()) { $siteseo_social_twitter_card_title .= ''; } elseif (function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_twitter_card_title .= ''; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg() && function_exists('siteseo_titles_the_title') && '' != siteseo_titles_the_title()) { $siteseo_social_twitter_card_title .= ''; } elseif ('' != get_the_title()) { $siteseo_social_twitter_card_title .= ''; } //Apply dynamic variables preg_match_all('/%%_cf_(.*?)%%/', $siteseo_social_twitter_card_title, $matches); //custom fields if ( ! empty($matches)) { $siteseo_titles_cf_template_variables_array = []; $siteseo_titles_cf_template_replace_array = []; foreach ($matches['0'] as $key => $value) { $siteseo_titles_cf_template_variables_array[] = $value; } foreach ($matches['1'] as $key => $value) { if (is_singular()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true)); } elseif (is_tax() || is_category() || is_tag()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true)); } } } //Custom fields if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) { $siteseo_social_twitter_card_title = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_social_twitter_card_title); } $siteseo_social_twitter_card_title = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_social_twitter_card_title); //Hook on post Twitter card title - 'siteseo_social_twitter_card_title' if (has_filter('siteseo_social_twitter_card_title')) { $siteseo_social_twitter_card_title = apply_filters('siteseo_social_twitter_card_title', $siteseo_social_twitter_card_title); } if (isset($siteseo_social_twitter_card_title) && '' != $siteseo_social_twitter_card_title) { if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_title, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } } add_action('wp_head', 'siteseo_social_twitter_title_hook', 1); //Twitter Desc function siteseo_social_twitter_desc_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_twitter_desc = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_twitter_desc', true); } else { $_siteseo_social_twitter_desc = get_post_meta(get_the_ID(), '_siteseo_social_twitter_desc', true); } if ('' != $_siteseo_social_twitter_desc) { return $_siteseo_social_twitter_desc; } } function siteseo_social_twitter_desc_term_option() { $_siteseo_social_twitter_desc = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_twitter_desc', true); if ('' != $_siteseo_social_twitter_desc) { return $_siteseo_social_twitter_desc; } } function siteseo_social_twitter_desc_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_twitter_desc = get_post_meta($page_id, '_siteseo_social_twitter_desc', true); if ( ! empty($_siteseo_social_twitter_desc)) { return $_siteseo_social_twitter_desc; } } function siteseo_social_twitter_desc_hook() { //If Twitter cards enable if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard() && ! is_search()) { if (function_exists('wc_memberships_is_post_content_restricted') && wc_memberships_is_post_content_restricted()) { return false; } global $post; setup_postdata($post); //Init $siteseo_social_twitter_card_desc =''; $variables = null; $variables = apply_filters('siteseo_dyn_variables_fn', $variables); $siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array']; $siteseo_titles_template_replace_array = $variables['siteseo_titles_template_replace_array']; //Excerpt length $siteseo_excerpt_length = 50; $siteseo_excerpt_length = apply_filters('siteseo_excerpt_length', $siteseo_excerpt_length); if (is_home()) {//Home if ('' != siteseo_social_twitter_desc_home_option()) { $siteseo_social_twitter_card_desc .= ''; } elseif ('' != siteseo_social_fb_desc_home_option() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $siteseo_social_twitter_card_desc .= ''; } elseif (function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_twitter_card_desc .= ''; } } elseif (is_tax() || is_category() || is_tag()) {//Term archive if ('' != siteseo_social_twitter_desc_term_option()) { $siteseo_social_twitter_card_desc .= ''; } elseif ('' != siteseo_social_fb_desc_term_option() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $siteseo_social_twitter_card_desc .= ''; } elseif (function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_twitter_card_desc .= ''; } elseif ('' != term_description()) { $siteseo_social_twitter_card_desc .= ''; } } elseif (is_singular() && '' != siteseo_social_twitter_desc_post_option()) {//Single $siteseo_social_twitter_card_desc .= ''; } elseif (is_singular() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_desc_post_option() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $siteseo_social_twitter_card_desc .= ''; } elseif (function_exists('is_shop') && is_shop() && '' != siteseo_social_twitter_desc_post_option()) {//Single $siteseo_social_twitter_card_desc .= ''; } elseif (function_exists('is_shop') && is_shop() && '1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && '' != siteseo_social_fb_desc_post_option() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $siteseo_social_twitter_card_desc .= ''; } elseif (function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content()) { $siteseo_social_twitter_card_desc .= ''; } elseif ('1' == siteseo_get_service('SocialOption')->getSocialFacebookOg() && function_exists('siteseo_titles_the_description_content') && '' != siteseo_titles_the_description_content() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $siteseo_social_twitter_card_desc .= ''; } elseif ('' != get_the_excerpt()) { $siteseo_social_twitter_card_desc .= ''; } //Apply dynamic variables preg_match_all('/%%_cf_(.*?)%%/', $siteseo_social_twitter_card_desc, $matches); //custom fields if ( ! empty($matches)) { $siteseo_titles_cf_template_variables_array = []; $siteseo_titles_cf_template_replace_array = []; foreach ($matches['0'] as $key => $value) { $siteseo_titles_cf_template_variables_array[] = $value; } foreach ($matches['1'] as $key => $value) { if (is_singular()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true)); } elseif (is_tax() || is_category() || is_tag()) { $siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true)); } } } //Custom fields if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) { $siteseo_social_twitter_card_desc = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_social_twitter_card_desc); } $siteseo_social_twitter_card_desc = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_social_twitter_card_desc); //Hook on post Twitter card description - 'siteseo_social_twitter_card_desc' if (has_filter('siteseo_social_twitter_card_desc')) { $siteseo_social_twitter_card_desc = apply_filters('siteseo_social_twitter_card_desc', $siteseo_social_twitter_card_desc); } if (isset($siteseo_social_twitter_card_desc) && '' != $siteseo_social_twitter_card_desc) { if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_desc, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } } add_action('wp_head', 'siteseo_social_twitter_desc_hook', 1); //Twitter Thumbnail function siteseo_social_twitter_img_post_option() { if (function_exists('is_shop') && is_shop()) { $_siteseo_social_twitter_img = get_post_meta(get_option('woocommerce_shop_page_id'), '_siteseo_social_twitter_img', true); } else { $_siteseo_social_twitter_img = get_post_meta(get_the_ID(), '_siteseo_social_twitter_img', true); } if ('' != $_siteseo_social_twitter_img) { return $_siteseo_social_twitter_img; } } function siteseo_social_twitter_img_term_option() { $_siteseo_social_twitter_img = get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_social_twitter_img', true); if ('' != $_siteseo_social_twitter_img) { return $_siteseo_social_twitter_img; } } function siteseo_social_twitter_img_home_option() { $page_id = get_option('page_for_posts'); $_siteseo_social_twitter_img = get_post_meta($page_id, '_siteseo_social_twitter_img', true); if(!empty($_siteseo_social_twitter_img)) { return $_siteseo_social_twitter_img; }elseif(has_post_thumbnail($page_id)) { return get_the_post_thumbnail_url($page_id); } } function siteseo_social_twitter_img_hook() { if ('1' == siteseo_get_service('SocialOption')->getSocialTwitterCard()) { //Init global $post; $url =''; $siteseo_social_twitter_card_thumb = ''; if (is_home() && '' != siteseo_social_twitter_img_home_option() && 'page' == get_option('show_on_front')) { $url = siteseo_social_twitter_img_home_option(); } elseif (is_home() && '' != siteseo_social_fb_img_home_option() && 'page' == get_option('show_on_front') && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $url = siteseo_social_fb_img_home_option(); } elseif ('' != siteseo_social_twitter_img_post_option() && (is_singular() || (function_exists('is_shop') && is_shop()))) {//Single $url = siteseo_social_twitter_img_post_option(); } elseif ('' != siteseo_social_fb_img_post_option() && (is_singular() || (function_exists('is_shop') && is_shop())) && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $url = siteseo_social_fb_img_post_option(); } elseif (has_post_thumbnail() && (is_singular() || (function_exists('is_shop') && is_shop()))) { $url = get_the_post_thumbnail_url($post, 'large'); } elseif ('' != siteseo_thumbnail_in_content() && (is_singular() || (function_exists('is_shop') && is_shop()))) { $url = siteseo_thumbnail_in_content(); } elseif ((is_tax() || is_category() || is_tag()) && '' != siteseo_social_twitter_img_term_option()) {//Term archive $url = siteseo_social_twitter_img_term_option(); } elseif ((is_tax() || is_category() || is_tag()) && '' != siteseo_social_fb_img_term_option() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) { $url = siteseo_social_fb_img_term_option(); } elseif (is_tax('product_cat') && siteseo_social_fb_img_product_cat_option() !='') {//If product category thumbnail $url = siteseo_social_fb_img_product_cat_option(); } elseif ('' != siteseo_get_service('SocialOption')->getSocialTwitterImg()) {//Default Twitter $url = siteseo_get_service('SocialOption')->getSocialTwitterImg(); } elseif ('' != siteseo_get_service('SocialOption')->getSocialFacebookImg() && '1' == siteseo_get_service('SocialOption')->getSocialTwitterCardOg()) {//Default Facebook $url = siteseo_get_service('SocialOption')->getSocialFacebookImg(); } if (!empty($url)) { $siteseo_social_twitter_card_thumb = ''; } //Hook on post Twitter card thumbnail - 'siteseo_social_twitter_card_thumb' if (has_filter('siteseo_social_twitter_card_thumb')) { $siteseo_social_twitter_card_thumb = apply_filters('siteseo_social_twitter_card_thumb', $siteseo_social_twitter_card_thumb); } if (isset($siteseo_social_twitter_card_thumb) && '' != $siteseo_social_twitter_card_thumb) { if ( ! is_404()) { echo wp_kses($siteseo_social_twitter_card_thumb, ['meta' => ['name' => true, 'content' => true]]) . "\n"; } } } } add_action('wp_head', 'siteseo_social_twitter_img_hook', 1); PKZJEhh plugins/siteseo/main/options.phpnu[ */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ////////////////////////////////////////////////////////////// //=========================================================== // SITESEO Core //=========================================================== // SiteSEO // Inspired by the DESIRE to be the BEST OF ALL // ---------------------------------------------------------- // Started by: Pulkit Gupta // Date: 23rd Jan 2020 // Time: 23:00 hrs // Site: http://siteseo.io.com/ (SiteSEO) // ---------------------------------------------------------- // Please Read the Terms of use at http://siteseo.io/tos // ---------------------------------------------------------- //=========================================================== // (c)SiteSEO Team //=========================================================== ////////////////////////////////////////////////////////////// /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // Are we being accessed directly ? if(!defined('SITESEO_VERSION')) { exit('Hacking Attempt !'); } // Instant Indexing if('1' == siteseo_get_toggle_option('instant-indexing')){ require_once dirname(__FILE__) . '/options-instant-indexing.php'; } // Import / Export tool add_action('init', 'siteseo_enable', 999); function siteseo_enable(){ if (is_admin()) { require_once dirname(__FILE__) . '/options-import-export.php'; //Import Export } } // Front END if('1' == siteseo_get_toggle_option('titles')){ function siteseo_titles_disable_archives(){ global $wp_query; $service = siteseo_get_service('TitleOption'); if('1' == $service->getArchiveAuthorDisable() && $wp_query->is_author && ! is_feed()){ wp_safe_redirect(get_home_url(), '301'); exit; } if('1' == $service->getArchiveDateDisable() && $wp_query->is_date && ! is_feed()){ wp_safe_redirect(get_home_url(), '301'); exit; } return false; } // SEO metaboxes add_action('after_setup_theme', 'siteseo_hide_metaboxes'); function siteseo_hide_metaboxes(){ global $typenow, $pagenow; if(!is_admin()){ return; } // Post type? if ('post-new.php' == $pagenow || 'post.php' == $pagenow){ function siteseo_titles_single_enable_option(){ global $post; $siteseo_get_current_cpt = get_post_type($post); $options = get_option('siteseo_titles_option_name'); if(! empty($options)){ if (isset($options['titles_single_titles'][$siteseo_get_current_cpt]['enable'])) { return $options['titles_single_titles'][$siteseo_get_current_cpt]['enable']; } } } function siteseo_titles_single_enable_metabox($siteseo_get_post_types){ global $post; if (1 == siteseo_titles_single_enable_option() && '' != get_post_type($post)) { unset($siteseo_get_post_types[get_post_type($post)]); } return $siteseo_get_post_types; } add_filter('siteseo_metaboxe_seo', 'siteseo_titles_single_enable_metabox'); add_filter('siteseo_metaboxe_content_analysis', 'siteseo_titles_single_enable_metabox'); add_filter('siteseo_pro_metaboxe_sdt', 'siteseo_titles_single_enable_metabox'); } // Taxonomy? if('term.php' == $pagenow || 'edit-tags.php' == $pagenow){ if(! empty($_GET['taxonomy'])){ function siteseo_tax_single_enable_option($siteseo_get_current_tax){ $options = get_option('siteseo_titles_option_name'); if(! empty($options)){ if (isset($options['titles_tax_titles'][$siteseo_get_current_tax]['enable'])) { return $options['titles_tax_titles'][$siteseo_get_current_tax]['enable']; } } } function siteseo_tax_single_enable_metabox($siteseo_get_taxonomies){ $siteseo_get_current_tax = esc_attr(siteseo_opt_get('taxonomy')); if (1 == siteseo_tax_single_enable_option($siteseo_get_current_tax) && '' != $siteseo_get_current_tax) { unset($siteseo_get_taxonomies[$siteseo_get_current_tax]); } return $siteseo_get_taxonomies; } add_filter('siteseo_metaboxe_term_seo', 'siteseo_tax_single_enable_metabox'); } } } // Titles and metas add_action('template_redirect', 'siteseo_titles_disable_archives', 0); add_action('wp_head', 'siteseo_load_titles_options', 0); function siteseo_load_titles_options(){ if(is_admin()){ return; } if ((function_exists('is_wpforo_page') && is_wpforo_page()) || (class_exists('Ecwid_Store_Page') && Ecwid_Store_Page::is_store_page())) { //disable on wpForo pages to avoid conflicts //do nothing } else { require_once dirname(__FILE__) . '/options-titles-metas.php'; //Titles & metas } } } if('1' == siteseo_get_toggle_option('social')){ add_action('init', 'siteseo_load_oembed_options'); function siteseo_load_oembed_options(){ if(is_admin()){ return; } require_once dirname(__FILE__) . '/options-oembed.php'; //Oembed } add_action('wp_head', 'siteseo_load_social_options', 0); function siteseo_load_social_options(){ if(is_admin()){ return; } //disable on wpForo, LifterLMS private area, Ecwid store pages to avoid conflicts if((function_exists('is_llms_private_area') && is_llms_private_area()) || (function_exists('is_wpforo_page') && is_wpforo_page()) || (class_exists('Ecwid_Store_Page') && Ecwid_Store_Page::is_store_page())) { //do nothing } else { require_once dirname(__FILE__) . '/options-social.php'; //Social } } } if ('1' == siteseo_get_toggle_option('google-analytics')){ // User Consent JS function siteseo_google_analytics_cookies_js(){ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_register_script('siteseo-cookies', SITESEO_ASSETS_DIR . '/js/siteseo-cookies' . $prefix . '.js', [], SITESEO_VERSION, true); wp_enqueue_script('siteseo-cookies'); wp_enqueue_script('siteseo-cookies-ajax', SITESEO_ASSETS_DIR . '/js/siteseo-cookies-ajax' . $prefix . '.js', ['jquery', 'siteseo-cookies'], SITESEO_VERSION, true); $days = 30; if(siteseo_get_service('GoogleAnalyticsOption')->getCbExpDate()){ $days = siteseo_get_service('GoogleAnalyticsOption')->getCbExpDate(); } $days = apply_filters('siteseo_cookies_expiration_days', $days); $siteseo_cookies_user_consent = [ 'siteseo_nonce' => wp_create_nonce('siteseo_cookies_user_consent_nonce'), 'siteseo_cookies_user_consent' => admin_url('admin-ajax.php'), 'siteseo_cookies_expiration_days' => $days, ]; wp_localize_script('siteseo-cookies-ajax', 'siteseoAjaxGAUserConsent', $siteseo_cookies_user_consent); } // Triggers WooCommerce JS function siteseo_google_analytics_ecommerce_js(){ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script('siteseo-analytics', plugins_url('assets/js/siteseo-analytics' . $prefix . '.js', dirname(dirname(__FILE__))), [], SITESEO_VERSION, true); $siteseo_analytics = [ 'siteseo_nonce' => wp_create_nonce('siteseo_analytics_nonce'), 'siteseo_analytics' => admin_url('admin-ajax.php'), ]; wp_localize_script('siteseo-analytics', 'siteseoAjaxAnalytics', $siteseo_analytics); } // Ecommerce function siteseo_after_update_cart(){ check_ajax_referer('siteseo_analytics_nonce'); // Extract cart global $woocommerce; $items_purchased = []; $final = []; foreach($woocommerce->cart->get_cart() as $key => $item){ $product = wc_get_product($item['product_id']); // Get current product if($product){ // Set data $items_purchased['id'] = esc_js($product->get_id()); $items_purchased['name'] = esc_js($product->get_title()); $items_purchased['quantity'] = (float) esc_js($item['quantity']); $items_purchased['price'] = (float) esc_js($product->get_price()); // Extract categories $categories = get_the_terms($product->get_id(), 'product_cat'); if ($categories) { foreach ($categories as $category) { $categories_out[] = $category->name; } $categories_js = esc_js(implode('/', $categories_out)); $items_purchased['category'] = esc_js($categories_js); } } $final[] = $items_purchased; } $html = "'; $html = apply_filters('siteseo_gtag_ec_add_to_cart_checkout_ev', $html); wp_send_json_success($html); } add_action('wp_ajax_siteseo_after_update_cart', 'siteseo_after_update_cart'); add_action('wp_ajax_nopriv_siteseo_after_update_cart', 'siteseo_after_update_cart'); if('1' == siteseo_get_service('GoogleAnalyticsOption')->getDisable()){ if(is_user_logged_in()){ global $wp_roles; //Get current user role if(isset(wp_get_current_user()->roles[0])){ $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from SiteSEO GA settings then apply if('' != siteseo_get_service('GoogleAnalyticsOption')->getRoles()){ if (array_key_exists($siteseo_user_role, siteseo_get_service('GoogleAnalyticsOption')->getRoles())) { //do nothing } else { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_cookies_js', 20, 1); } } else { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_cookies_js', 20, 1); } } else { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_cookies_js', 20, 1); } } else { add_action('wp_enqueue_scripts', 'siteseo_google_analytics_cookies_js', 20, 1); } } add_action('wp_head', 'siteseo_load_google_analytics_options', 0); function siteseo_load_google_analytics_options(){ require_once dirname(__FILE__) . '/options-google-analytics.php'; //Google Analytics + Matomo } function siteseo_cookies_user_consent(){ //siteseo_check_ajax_referer( 'siteseo_cookies_user_consent_nonce'); if ('1' == siteseo_get_service('GoogleAnalyticsOption')->getHalfDisable()) {//no user consent required wp_send_json_success(); } else { if (is_user_logged_in()) { global $wp_roles; //Get current user role if (isset(wp_get_current_user()->roles[0])) { $siteseo_user_role = wp_get_current_user()->roles[0]; //If current user role matchs values from SiteSEO GA settings then apply if('' != siteseo_get_service('GoogleAnalyticsOption')->getRoles()) { if(array_key_exists($siteseo_user_role, siteseo_get_service('GoogleAnalyticsOption')->getRoles())){ //do nothing } else { include_once dirname(__FILE__) . '/options-google-analytics.php'; //Google Analytics $data = []; $data['gtag_js'] = siteseo_google_analytics_js(false); $data['matomo_js'] = siteseo_matomo_js(false); $data['clarity_js'] = siteseo_clarity_js(false); $data['body_js'] = siteseo_google_analytics_body_code(false); $data['head_js'] = siteseo_google_analytics_head_code(false); $data['footer_js'] = siteseo_google_analytics_footer_code(false); $data['custom'] = ''; $data['custom'] = apply_filters('siteseo_custom_tracking', $data['custom']); wp_send_json_success($data); } } else { include_once dirname(__FILE__) . '/options-google-analytics.php'; //Google Analytics $data = []; $data['gtag_js'] = siteseo_google_analytics_js(false); $data['matomo_js'] = siteseo_matomo_js(false); $data['clarity_js'] = siteseo_clarity_js(false); $data['body_js'] = siteseo_google_analytics_body_code(false); $data['head_js'] = siteseo_google_analytics_head_code(false); $data['footer_js'] = siteseo_google_analytics_footer_code(false); $data['custom'] = ''; $data['custom'] = apply_filters('siteseo_custom_tracking', $data['custom']); wp_send_json_success($data); } } } else { include_once dirname(__FILE__) . '/options-google-analytics.php'; //Google Analytics $data = []; $data['gtag_js'] = siteseo_google_analytics_js(false); $data['matomo_js'] = siteseo_matomo_js(false); $data['clarity_js'] = siteseo_clarity_js(false); $data['body_js'] = siteseo_google_analytics_body_code(false); $data['head_js'] = siteseo_google_analytics_head_code(false); $data['footer_js'] = siteseo_google_analytics_footer_code(false); $data['custom'] = ''; $data['custom'] = apply_filters('siteseo_custom_tracking', $data['custom']); wp_send_json_success($data); } } } add_action('wp_ajax_siteseo_cookies_user_consent', 'siteseo_cookies_user_consent'); add_action('wp_ajax_nopriv_siteseo_cookies_user_consent', 'siteseo_cookies_user_consent'); } add_action('wp', 'siteseo_load_redirections_options', 0); function siteseo_load_redirections_options(){ if (function_exists('is_plugin_active') && is_plugin_active('thrive-visual-editor/thrive-visual-editor.php') && is_admin()) { return; } if(! is_admin()){ require_once dirname(__FILE__) . '/options-redirections.php'; //Redirections } } if('1' == siteseo_get_toggle_option('xml-sitemap')){ add_action('init', 'siteseo_load_sitemap', 999); function siteseo_load_sitemap(){ require_once dirname(__FILE__) . '/options-sitemap.php'; //XML / HTML Sitemap } } if('1' === siteseo_get_toggle_option('advanced')){ function siteseo_advanced_get_option($index){ $options = get_option('siteseo_advanced_option_name'); if(!empty($options) && isset($options[$index])) { return $options[$index]; } } require_once dirname(__FILE__) . '/options-breadcrumbs.php'; //Breadcrumbs if(!empty(siteseo_advanced_get_option('breadcrumbs_enable'))){ add_shortcode('siteseo_breadcrumbs', 'siteseo_render_breadcrumbs'); } if(!empty(siteseo_advanced_get_option('toc_enable'))){ require_once dirname(__FILE__). '/tableofcontent.php'; add_shortcode('siteseo_toc', 'siteseo_render_toc'); add_filter('the_content', 'siteseo_add_ids_to_headings'); } //Remove comment author url if ('1' == siteseo_advanced_get_option('advanced_comments_author_url')) { add_filter('get_comment_author_url', '__return_empty_string'); } //Remove website field in comments if('1' == siteseo_advanced_get_option('advanced_comments_website')){ function siteseo_advanced_advanced_comments_website_hook($fields){ unset($fields['url']); return $fields; } add_filter('comment_form_default_fields', 'siteseo_advanced_advanced_comments_website_hook', 40); } add_action('init', 'siteseo_load_advanced_options', 0); function siteseo_load_advanced_options(){ if (! is_admin()) { // Advanced require_once dirname(__FILE__) . '/options-advanced.php'; } } add_action('init', 'siteseo_load_advanced_admin_options', 11); function siteseo_load_advanced_admin_options(){ // Advanced (admin) require_once dirname(__FILE__) . '/options-advanced-admin.php'; //Admin bar function siteseo_advanced_appearance_adminbar_option(){ $options = get_option('siteseo_advanced_option_name'); if (!empty($options)){ if(isset($options['appearance_adminbar'])){ return $options['appearance_adminbar']; } } } if('' != siteseo_advanced_get_option('appearance_adminbar')){ add_action('admin_bar_menu', 'siteseo_advanced_appearance_adminbar_hook', 999); function siteseo_advanced_appearance_adminbar_hook($wp_admin_bar){ $wp_admin_bar->remove_node('siteseo'); } } } //Add nofollow noopener noreferrer to comments form link if('1' == siteseo_advanced_get_option('advanced_comments_form_link')){ /* Custom attributes on comment link */ add_filter('comments_popup_link_attributes', 'siteseo_comments_popup_link_attributes'); function siteseo_comments_popup_link_attributes($attr){ $attr = 'rel="nofollow noopener noreferrer"'; return $attr; } } //primary category function siteseo_titles_primary_cat_hook($cats_0, $cats, $post){ $primary_cat = null; if($post){ $_siteseo_robots_primary_cat = get_post_meta($post->ID, '_siteseo_robots_primary_cat', true); if (isset($_siteseo_robots_primary_cat) && '' != $_siteseo_robots_primary_cat && 'none' != $_siteseo_robots_primary_cat){ if (null != $post->post_type && 'post' == $post->post_type) { $primary_cat = get_category($_siteseo_robots_primary_cat); } if (! is_wp_error($primary_cat) && null != $primary_cat) { return $primary_cat; } } else { //no primary cat return $cats_0; } } else { return $cats_0; } } add_filter('post_link_category', 'siteseo_titles_primary_cat_hook', 10, 3); function siteseo_titles_primary_wc_cat_hook($terms_0, $terms, $post){ $primary_cat = null; if($post){ $_siteseo_robots_primary_cat = get_post_meta($post->ID, '_siteseo_robots_primary_cat', true); if (isset($_siteseo_robots_primary_cat) && '' != $_siteseo_robots_primary_cat && 'none' != $_siteseo_robots_primary_cat) { if (null != $post->post_type && 'product' == $post->post_type) { $primary_cat = get_term($_siteseo_robots_primary_cat, 'product_cat'); } if (! is_wp_error($primary_cat) && null != $primary_cat) { return $primary_cat; } } else { //no primary cat return $terms_0; } } else { return $terms_0; } } add_filter('wc_product_post_type_link_product_cat', 'siteseo_titles_primary_wc_cat_hook', 10, 3); //No /category/ in URL if('' != siteseo_advanced_get_option('advanced_category_url')){ //Flush permalinks when creating/editing/deleting post categories add_action('created_category', 'flush_rewrite_rules'); add_action('delete_category', 'flush_rewrite_rules'); add_action('edited_category', 'flush_rewrite_rules'); //@credits : WordPress VIP add_filter('category_rewrite_rules', 'siteseo_filter_category_rewrite_rules'); function siteseo_filter_category_rewrite_rules($rules){ if(class_exists('Sitepress')){ global $sitepress; remove_filter('terms_clauses', [$sitepress, 'terms_clauses']); $categories = get_categories(['hide_empty' => false]); add_filter('terms_clauses', [$sitepress, 'terms_clauses'], 10, 4); }else{ $categories = get_categories(['hide_empty' => false]); } if(is_array($categories) && ! empty($categories)){ $slugs = []; foreach ($categories as $category) { if (is_object($category) && ! is_wp_error($category)) { if (0 == $category->category_parent) { $slugs[] = $category->slug; } else { $slugs[] = trim(get_category_parents($category->term_id, false, '/', true), '/'); } } } if (! empty($slugs)) { $rules = []; foreach ($slugs as $slug) { $rules['(' . $slug . ')/feed/(feed|rdf|rss|rss2|atom)?/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; $rules['(' . $slug . ')/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; $rules['(' . $slug . ')(/page/(\d+))?/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[3]'; } } } $rules = apply_filters('siteseo_category_rewrite_rules', $rules); return $rules; } add_filter('term_link', 'siteseo_remove_category_base', 10, 3); function siteseo_remove_category_base($termlink, $term, $taxonomy){ if ('category' == $taxonomy) { $category_base = get_option('category_base'); if (class_exists('Sitepress') && defined('ICL_LANGUAGE_CODE')) { $category_base = apply_filters('wpml_translate_single_string', 'category', 'WordPress', 'URL category tax slug', ICL_LANGUAGE_CODE); } if ('' == $category_base) { $category_base = 'category'; } $category_base = apply_filters('siteseo_remove_category_base', $category_base); if ('/' == substr($category_base, 0, 1)) { $category_base = substr($category_base, 1); } $category_base .= '/'; return preg_replace('`' . preg_quote($category_base, '`') . '`u', '', $termlink, 1); } else { return $termlink; } } add_action('template_redirect', 'siteseo_category_redirect', 1); function siteseo_category_redirect(){ if (!is_category()) { return; } global $wp; $current_url = user_trailingslashit(home_url(add_query_arg([], $wp->request))); $category_base = get_option('category_base'); if (class_exists('Sitepress') && defined('ICL_LANGUAGE_CODE')) { $category_base = apply_filters('wpml_translate_single_string', 'category', 'WordPress', 'URL category tax slug', ICL_LANGUAGE_CODE); } $category_base = apply_filters('siteseo_remove_category_base', $category_base); if('' != $category_base){ $regex = sprintf('/\/%s\//', str_replace('/', '\/', $category_base)); if (preg_match($regex, $current_url)) { $new_url = str_replace('/' . $category_base, '', $current_url); wp_safe_redirect($new_url, 301); exit(); } }else{ $category_base = 'category'; $regex = sprintf('/\/%s\//', str_replace('/', '\/', $category_base)); if (preg_match($regex, $current_url)) { $new_url = str_replace('/' . $category_base, '', $current_url); wp_safe_redirect($new_url, 301); exit(); } } } } //No /product-category/ in URL if('' != siteseo_advanced_get_option('advanced_product_cat_url')){ //Flush permalinks when creating/editing/deleting product categories add_action('created_product_cat', 'flush_rewrite_rules'); add_action('delete_product_cat', 'flush_rewrite_rules'); add_action('edited_product_cat', 'flush_rewrite_rules'); add_filter('product_cat_rewrite_rules', 'siteseo_filter_product_category_rewrite_rules'); function siteseo_filter_product_category_rewrite_rules($rules){ if (class_exists('Sitepress')) { global $sitepress; remove_filter('terms_clauses', [$sitepress, 'terms_clauses']); $categories = get_terms(['taxonomy' => 'product_cat', 'hide_empty' => false]); add_filter('terms_clauses', [$sitepress, 'terms_clauses'], 10, 4); } else { $categories = get_terms(['taxonomy' => 'product_cat', 'hide_empty' => false]); } if(is_array($categories) && ! empty($categories)){ $slugs = []; foreach ($categories as $category) { if (is_object($category) && ! is_wp_error($category)) { if (0 == $category->parent) { $slugs[] = $category->slug; } else { $slugs[] = trim(get_term_parents_list($category->term_id, 'product_cat', ['separator' => '/', 'link' => false]), '/'); } } } if (! empty($slugs)) { $rules = []; foreach ($slugs as $slug) { $rules['(' . $slug . ')(/page/(\d+))?/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[3]'; $rules[$slug . '/(.+?)/page/?([0-9]{1,})/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[2]'; $rules[$slug . '/(.+?)/?$'] = 'index.php?product_cat=$matches[1]'; $rules[$slug . '/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]'; $rules[$slug . '/(.+?)/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]'; $rules[$slug . '/(.+?)/embed/?$'] = 'index.php?product_cat=$matches[1]&embed=true'; } } } $rules = apply_filters('siteseo_product_category_rewrite_rules', $rules); return $rules; } add_filter('term_link', 'siteseo_remove_product_category_base', 10, 3); function siteseo_remove_product_category_base($termlink, $term, $taxonomy){ if('product_cat' == $taxonomy){ $category_base = get_option('woocommerce_permalinks'); $category_base = $category_base['category_base']; if(class_exists('Sitepress') && defined('ICL_LANGUAGE_CODE')){ $category_base = apply_filters('wpml_translate_single_string', 'product_cat', 'WordPress', 'URL product category tax slug', ICL_LANGUAGE_CODE); } if ('' == $category_base) { $category_base = 'product-category'; } $category_base = apply_filters('siteseo_remove_product_category_base', $category_base); if ('/' == substr($category_base, 0, 1)) { $category_base = substr($category_base, 1); } $category_base .= '/'; return preg_replace('`' . preg_quote($category_base, '`') . '`u', '', $termlink, 1); } else { return $termlink; } } add_action('template_redirect', 'siteseo_product_category_redirect', 1); function siteseo_product_category_redirect(){ global $wp; $current_url = user_trailingslashit(home_url(add_query_arg([], $wp->request))); $category_base = get_option('woocommerce_permalinks'); $category_base = $category_base['category_base']; if (class_exists('Sitepress') && defined('ICL_LANGUAGE_CODE')) { $category_base = apply_filters('wpml_translate_single_string', 'product_cat', 'WordPress', 'URL product category tax slug', ICL_LANGUAGE_CODE); } $category_base = apply_filters('siteseo_remove_product_category_base', $category_base); if ('' != $category_base) { if (preg_match('/\/' . $category_base . '\//', $current_url)) { $new_url = str_replace('/' . $category_base, '', $current_url); wp_safe_redirect($new_url, 301); exit(); } } else { $category_base = 'product-category'; if (preg_match('/\/' . $category_base . '\//', $current_url)) { $new_url = str_replace('/' . $category_base, '', $current_url); wp_safe_redirect($new_url, 301); exit(); } } } } } PKZ$!!)plugins/siteseo/main/settings/instant.phpnu[setting_enabled['toggle-instant-indexing']) ? $siteseo->setting_enabled['toggle-instant-indexing'] : ''; $nonce = wp_create_nonce('siteseo_toggle_nonce'); $current_tab = isset($_GET['tab']) ? sanitize_key($_GET['tab']) : 'tab_siteseo_general'; $instant_subtabs = [ 'tab_siteseo_general' => esc_html__('General', 'siteseo'), 'tab_siteseo_settings' => esc_html__('Settings', 'siteseo'), ]; echo'
      '; wp_nonce_field('siteseo_instant_indexing'); Dashbord::render_toggle('Instant Indexing - SiteSEO', 'indexing_toggle', $indexing_toggle, $nonce); echo'
      '; self::general(); echo'
      '; self::settings(); echo'
      '; siteseo_submit_button(__('Save changes', 'siteseo')); echo''; } static function general(){ global $siteseo; echo'

      Instant Indexing

      You can use the Indexing API to tell Google & Bing to update or remove pages from the Google / Bing index. The process can take a few minutes. You can submit your URLs in batches of 100 (max 200 requests per day for Google).

      ' . esc_html__('How does this work?', 'siteseo') . '

      1. ' . wp_kses_post(__('Setup your Google / Bing API keys from the Settings tab', 'siteseo')) . '
      2. ' . wp_kses_post(__('Enter your URLs to index in the field below', 'siteseo')) . '
      3. ' . wp_kses_post(__('Save changes', 'siteseo')) . '
      4. ' . wp_kses_post(__('Click Submit URLs to Google & Bing', 'siteseo')) . '
      Select search engines
      Which action to run for Google?
      Submit URLs for indexing
      '; } static function settings(){ echo'

      Settings

      Instant Indexing Google API Key
      Instant Indexing Bing API Key

      The Bing Indexing API key is automatically generated. Click Generate key if you want to recreate it, or if it missing.

      A key should look like this: ZjA2NWI3ZWM3MmNhNDRkODliYmY0YjljMzg5YTk2NGE=

      Automate URL Submission

      Notify search engines using IndexNow protocol (currently Bing and Yandex) whenever a post is created, updated or deleted.

      '; } static function save_settings(){ global $siteseo; check_admin_referer('siteseo_instant_indexing'); if(current_user_can('manage_options')|| !is_admin()){ return; } $options = []; if(empty($_POST['siteseo_options'])){ return; } if(isset($_POST['siteseo_options']['general'])){ // general tab $options['engines']['bring'] = isset($_POST['siteseo_options']['search_engine_bring']); $options['engines']['google'] = isset($_POST['siteseo_options']['search_engine_google']); $options['instant_indexing_google_action'] = isset($_POST['siteseo_options']['instant_indexing_actions']); $options['instant_indexing_manual_batch'] = isset($_POST['siteseo']['instant_indexing_batch']); } if(isset($_POST['siteseo_options']['settings'])){ // setting tab $options['instant_indexing_google_api_key'] = isset($_POST['siteseo_options']['google_api_key']); $options['instant_indexing_bing_api_key'] = isset($_POST['siteseo_options']['bring_api_key']); $options['instant_indexing_automate_submission'] = isset($_POST['siteseo_options']['auto_submission']); } upadte_option('siteseo_instant_indexing_option_name',$options); } } PKZodDdD)plugins/siteseo/main/settings/sitemap.phpnu[setting_enabled['toggle-xml-sitemap']) ? $siteseo->setting_enabled['toggle-xml-sitemap'] : ''; $nonce = wp_create_nonce('siteseo_toggle_nonce'); $current_tab = isset($_GET['tab']) ? sanitize_key($_GET['tab']) : 'tab_sitemap_general'; // Default tab $titles_meta_subtabs = [ 'tab_sitemap_general' => esc_html__('Home', 'siteseo'), 'tab_sitemap_post_types' => esc_html__('Post types', 'siteseo'), 'tab_sitemap_taxonomy ' => esc_html__('Taxonomy', 'siteseo'), 'tab_sitmap_html' => esc_html__('HTML Sitemap', 'siteseo') ]; echo'
      '; wp_nonce_field('siteseo_sitemap_settings'); Dashbord::render_toggle('Sitemaps - SiteSEO', 'sitemap_toggle', $sitemap_toggle, $nonce); echo'
      '; self::general_sitemaps(); echo'
      '; self::post_types_sitemaps(); echo'
      '; self::taxonomy_sitemap(); echo'
      '; self::html_sitemap(); echo'
      '; siteseo_submit_button(__('Save changes', 'siteseo')); echo ''; } static function general_sitemaps(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $options = get_option('siteseo_xml_sitemap_option_name'); $xml_sitemap = isset($options['xml_sitemap_general_enable']) ? $options['xml_sitemap_general_enable'] : ''; $img_sitemap = isset($options['xml_sitemap_img_enable']) ? $options['xml_sitemap_img_enable'] : ''; $author_sitemap = isset($options['xml_sitemap_author_enable']) ? $options['xml_sitemap_author_enable'] : ''; $html_sitemap = isset($options['xml_sitemap_html_enable']) ? $options['xml_sitemap_html_enable'] : ''; echo'

      '.esc_html('General','siteseo').'

      A sitemap is a file where you provide information about the pages, images, videos... and the relationships between them. Search engines like Google read this file to crawl your site more efficiently.

      The XML sitemap is an exploration aid. Not having a sitemap will absolutely NOT prevent engines from indexing your content. For this, opt for meta robots.

      '.esc_attr('This is the URL of your index sitemaps to submit to search engines:','siteseo').'

      To view your sitemap, enable permalinks (not default one), and save settings to flush them.

      Enable XML Sitemap
      Enable Image Sitemap

      '.esc_html('Images in XML sitemaps are visible only from the source code.','siteseo').'

      Enable Author Sitemap

      '.esc_html('Make sure to enable author archive from SEO, titles and metas, archives tab.','siteseo').'

      Enable HTML Sitemap
      '; } static function post_types_sitemaps(){ if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Post Types

      Include/Exclude Post Types.

      '.esc_html('Check to INCLUDE Post Types','siteseo').'
      '; } static function taxonomy_sitemap(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $get_taxonomies = get_taxonomies(); $check_taxomies = apply_filters('siteseo_sitemaps_tax', $get_taxonomies); echo'

      Taxonomies

      Taxonomies

      Check to INCLUDE Taxonomies '; foreach($check_taxomies as $taxonomies_key =>$taxonomies_value){ echo'

      '; } echo'
      '; } static function html_sitemap(){ if(!empty($_POST['submit'])){ self::save_settings(); } $options = get_option('siteseo_xml_sitemap_option_name'); $include_pages = isset($options['xml_sitemap_html_mapping']) ? $options['xml_sitemap_html_mapping'] : ''; $exclude_page = isset($options['xml_sitemap_html_exclude']) ? $options['xml_sitemap_html_exclude'] : ''; $oder = isset($options['xml_sitemap_html_order']) ? $options['xml_sitemap_html_order'] : ''; $order_by = isset($options['xml_sitemap_html_orderby']) ? $options['xml_sitemap_html_orderby'] : ''; $disable_date = isset($options['xml_sitemap_html_date']) ? $options['xml_sitemap_html_date'] : ''; $remove_archive = isset($options['xml_sitemap_html_archive_links']) ? $options['xml_sitemap_html_archive_links'] : ''; echo'

      '.esc_html('HTML Sitemap','siteseo').'

      '.esc_html('Create an HTML Sitemap for your visitors and boost your SEO.','siteseo').'

      '.esc_html('Limited to 1,000 posts per post type. You can change the order and sorting criteria below.','siteseo').'

      ' . esc_html__('How to use the HTML Sitemap?', 'siteseo') . '

      ' . esc_html__('Block Editor', 'siteseo') . '

      ' . wp_kses_post(__('Add the HTML sitemap block using the Block Editor.', 'siteseo')) . '

      ' . esc_html__('Shortcode', 'siteseo') . '

      ' . esc_html__('You can also use this shortcode in your content (post, page, post type...):', 'siteseo') . '

      [siteseo_html_sitemap]

      ' . esc_html__('To include specific custom post types, use the CPT attribute:', 'siteseo') . '

      [siteseo_html_sitemap cpt="post,product"]

      ' . esc_html__('Other', 'siteseo') . '

      ' . esc_html__('Dynamically display the sitemap by entering an ID to the first field below.', 'siteseo') . '

      Post, Page, or Custom Post Type IDs to display:
      Exclude Posts, Pages, Custom Post Types or Terms IDs:
      Order:
      Order By:
      Disable Date:
      Remove Archive Links:
      '; } static function save_settings(){ global $siteseo; check_admin_referer('siteseo_sitemap_settings'); if(!current_user_can('manage_options') || !is_admin()){ return; } $options = []; if(empty($_POST['siteseo_options'])){ return; } if(isset($_POST['siteseo_options']['general_sitemaps'])){ $options['xml_sitemap_general_enable'] = isset($_POST['siteseo_options']['enable_xml_sitemap']); $options['xml_sitemap_img_enable'] = isset($_POST['siteseo_options']['enable_img_sitemap']); $options['xml_sitemap_author_enable'] = isset($_POST['siteseo_options']['enable_author_sitemap']); $options['xml_sitemap_html_enable'] = isset($_POST['siteseo_options']['enable_html_sitemap']); } if(isset($_POST['siteseo_options']['html_sitemap'])){ $options['xml_sitemap_html_mapping'] = isset($_POST['siteseo_options']['page_numbers']) ? sanitize_text_field(wp_unslash($_POST['siteseo_options']['page_numbers'])) : ''; $options['xml_sitemap_html_exclude'] = isset($_POST['siteseo_options']['exclude_page']) ? sanitize_text_field(wp_unslash($_POST['siteseo_options']['exclude_page'])) : ''; $options['xml_sitemap_html_order'] = isset($_POST['siteseo_options']['order'])? sanitize_text_field(wp_unslash($_POST['siteseo_options']['order'])) : ''; $options['xml_sitemap_html_orderby'] = isset($_POST['siteseo_options']['order_by']) ? sanitize_text_field(wp_unslash($_POST['siteseo_options']['order_by'])) : ''; $options['xml_sitemap_html_date'] = isset($_POST['siteseo_options']['disable_date']) ? sanitize_text_field(wp_unslash($_POST['siteseo_options']['disable_date'])) : ''; $options['xml_sitemap_html_archive_links'] = isset($_POST['siteseo_options']['remove_links']) ? sanitize_text_field(wp_unslash($_POST['siteseo_options']['remove_links'])) : ''; } // posts if(isset($_POST['siteseo_options']['xml_sitemap_post_types_list'])){ foreach($_POST['siteseo_options']['xml_sitemap_post_types_list'] as $posttypes_key => $posttypes_value){ if(isset($posttypes_value['include'])){ $options['xml_sitemap_post_types_list'][$posttypes_key]['include'] = sanitize_text_field(wp_unslash($posttypes_value['include'])); } } } // Taxonomies if(isset($_POST['siteseo_options']['xml_sitemap_taxonomies_list'])){ foreach($_POST['siteseo_options']['xml_sitemap_taxonomies_list'] as $taxonomy_key => $taxonomy_value){ if(isset($taxonomy_value['include'])){ $options['xml_sitemap_taxonomies_list'][$taxonomy_key]['include'] = sanitize_text_field(wp_unslash($taxonomy_value['include'])); } } } update_option('siteseo_xml_sitemap_option_name',$options); } }PKZ//*plugins/siteseo/main/settings/dashbord.phpnu[setting_enabled['toggle-titles']) ? $siteseo->setting_enabled['toggle-titles'] : ''; $sitemap_toggle = isset($siteseo->setting_enabled['toggle-xml-sitemap']) ? $siteseo->setting_enabled['toggle-xml-sitemap'] : ''; $social_toggle = isset($siteseo->setting_enabled['toggle-social']) ? $siteseo->setting_enabled['toggle-social'] : ''; $advanced_toggle = isset($siteseo->setting_enabled['toggle-advanced']) ? $siteseo->setting_enabled['toggle-advanced'] : ''; $analytics_toggle = isset($siteseo->setting_enabled['toggle-google-analytics']) ? $siteseo->setting_enabled['toggle-google-analytics'] : ''; $indexing_toggle = isset($siteseo->setting_enabled['toggle-instant-indexing']) ? $siteseo->setting_enabled['toggle-instant-indexing'] : ''; $titels_meta_toggle = ''; $nonce = wp_create_nonce('siteseo_toggle_nonce'); $siteseo_dashbord_img = SITESEO_ASSETS_DIR.'/img/seo-get-started.jpg'; $siteseo_loginizer_product = SITESEO_ASSETS_DIR.'/img/loginizer_product.png'; echo'

      HOW-TO GET STARTED

      Welcome to SiteSEO!

      Launch our installation wizard to quickly and easily configure the basic SEO settings for your site. Browse our video guides to go further. Cant find the answers to your questions? Open a ticket from your customer area. A happiness engineer will be happy to help you.

      Illustration of a megaphone with various icons representing SEO and digital marketing

      '.esc_html('SiteSEO Feature Management','siteseo').'

      Titles & Metas

      Manage all your titles and metas for post types, taxonomies more...

      Settings'; self::render_toggle('Titles & Metas -SiteSEO', 'titles_meta_toggle', $titles_meta_toggle, $nonce, true); echo'

      XML & HTML Sitemaps

      Manage your XML - Image - Video- Taxonomies - HTML Sitemap more...

      Settings'; self::render_toggle('Sitemaps - SiteSEO', 'sitemap_toggle', $sitemap_toggle, $nonce,true); echo'

      Social Networks

      Open Graph, Twitter Card, Google Knowledge Graph and more...

      Settings'; self::render_toggle('Social - SiteSEO', 'social_toggle', $social_toggle, $nonce,true); echo'

      Analytics

      Track everything about your visitors with Analytics/Matomo more...

      Settings'; self::render_toggle('Analytics - SiteSEO', 'analytics_toggle', $analytics_toggle, $nonce,true); echo'

      Instant Indexing

      Ping Google & Bing to quickly index your content. Updated and remove submit URLs

      Settings'; self::render_toggle('Instant indexing - SiteSEO', 'indexing_toggle', $indexing_toggle, $nonce,true); echo'

      Image SEO

      Optimize your images for SEO. Configure advanced settings more...

      Settings'; self::render_toggle('Advanced - SiteSEO', 'advanced_toggle', $advanced_toggle, $nonce,true); echo'

      Tools

      Import/Export plugin settings from site to site. Reset settings more...

      '; if(!defined('SITESEO_PRO_VERSION')){ echo'

      WooCommerces SEO

      Optimize your images for SEO. Configure advanced settings more...

      Pro Feature

      Easy Digital Downloads

      Optimize your images for SEO. Configure advanced settings more...

      Pro Feature

      Page Speed

      Optimize your images for SEO. Configure advanced settings more...

      Pro Feature

      Structured Data

      Optimize your images for SEO. Configure advanced settings more...

      Pro Feature

      Local Business

      Optimize your images for SEO. Configure advanced settings more...

      PRO Feature
      '; } echo'
      '; echo'
      Protect your WordPress website from unauthorized access and malware:

      BruteForce Protection

      reCaptcha

      Two Factor Authentication

      Black/Whitelist IP

      Detailed Logs

      Extended Lockouts

      2FA via Email

      And many more ...

      Visit Loginizer
      '; } static function admin_header(){ echo''; } static function render_toggle($title, $toggle_key, $toggle_state, $nonce, $simple = false){ $is_active = $toggle_state ? 'active' : ''; $state_text = $toggle_state ? 'Disable' : 'Enable'; // for dashbord screen if($simple){ echo'
      '; } else{ echo'
      ' . esc_html($title) . '

      ' . esc_html($state_text) . '

      '; } } }PKZcv&&+plugins/siteseo/main/settings/analytics.phpnu[setting_enabled['toggle-google-analytics']) ? $siteseo->setting_enabled['toggle-google-analytics'] : ''; $nonce = wp_create_nonce('siteseo_toggle_nonce'); $current_tab = isset($_GET['tab']) ? sanitize_key($_GET['tab']) : 'tab_google_analytics'; // Default tab $analytics_sub_tags = [ 'tab_google_analytics' => esc_html__('Google Analytics', 'siteseo'), 'tab_matomo' => esc_html__('Matomo', 'siteseo'), 'tab_clarity' => esc_html__('Clarity', 'siteseo'), 'tab_advanced' => esc_html__('Advanced', 'siteseo'), 'tab_cookie' => esc_html('Cookie','siteseo'), 'tab_custom_tracking' => esc_html('Custom Tracking'), ]; echo'
      '; wp_nonce_field('sitseo_title_settingss'); Dashbord::render_toggle('Analytics - SiteSEO', 'analytics_toggle', $analytics_toggle, $nonce); echo'
      '; self::google_anlytics(); echo'
      '; self::matomo(); echo'
      '; self::clarity(); echo'
      '; self::advanced(); echo'
      '; self::custom_tracking(); echo'
      '; siteseo_submit_button(__('Save changes', 'siteseo')); echo''; } static function custom_tracking(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Custom Tracking

      '.esc_html('Add your own scripts like GTM or Facebook Pixel by copy and paste the provided code to the HEAD/BODY or FOOTER.','siteseo').'

      [HEAD] Add an additional tracking code (like Facebook Pixel, Hotjar...)

      This code will be added in the head section of your page.

      [BODY] Add an additional tracking code (like Google Tag Manager...)
      BODY (FOOTER)] Add an additional tracking code (like Google Tag Manager...)
      '; } static function cookies(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Cookies

      Manage user consent for GDPR and customize your cookie bar easily.

      Works with Google Analytics and Matomo.

      Where to load the cookie bar?
      Analytics tracking opt-in
      Allow user to change its choice
      Consent message for user tracking
      Accept button for user tracking
      Close button
      Edit cookies button
      User consent cookie expiration date
      Cookie bar position
      Text alignment
      '; } static function matomo(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $matomo_subtabs = [ 'tracking' => 'Tracking', ]; echo'
      '; $is_first = true; foreach($matomo_subtabs as $post_key => $post_val){ $active_class = $is_first ? 'active' : ''; echo ''.$post_val.''; $is_first = false; } echo'

      Matomo

      Use Matomo to track your users with privacy in mind. We support both On Premise and Cloud installations.

      Tracking

      '; } static function advanced(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $adavnced_subtabs =[ 'custom-dimensions' => 'Custom Dimensions', 'Misc' => 'Misc', ]; echo'
      '; $is_first = true; foreach($adavnced_subtabs as $post_key => $post_val){ $active_class = $is_first ? 'active' : ''; echo ''.$post_val.''; $is_first = false; } echo'
      '; } static function clarity(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Microsoft Clarity

      Use Microsoft Clarity to capture session recordings, get instant heatmaps and powerful Insights for Free. Know how people interact with your site to improve user experience and conversions.

      '. printf(wp_kses_post(__('Create your first Microsoft Clarity project here.', 'siteseo')), esc_url('https://clarity.microsoft.com/')) .'

      Enable Microsoft Clarity
      Enter your Clarity project ID
      '; } static function google_anlytics(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Google Anlytics

      Link your Google Analytics to your website. The tracking code will be automatically added to your site.

      '; } static function save_settings(){ } } PKZ1q 'plugins/siteseo/main/settings/tools.phpnu[ esc_html__('Settings', 'siteseo'), 'tab_plugins' => esc_html__('Plugins', 'siteseo'), 'tab_reset' => esc_html__('Reset', 'siteseo') ]; echo'
      '; wp_nonce_field('sitseo_title_settings'); echo'
      Tools - SiteSEO
      '; echo'
      '; self::settings(); echo'
      '; self::plugins(); echo'
      '; self::reset(); echo'
      '; } static function settings(){ echo'

      Settings

      Export plugin settings

      '.esc_html('Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site','siteseo').'

      Import plugin settings

      Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.

      '; } static function plugins(){ echo'

      Plugins

      Import posts and terms metadata from

      '; } static function reset(){ echo'

      Reset All Settings

      '; } } PKZ?wLL*plugins/siteseo/main/settings/advanced.phpnu[ esc_html__('Image SEO', 'siteseo'), 'tab_advanced' => esc_html__('Advanced', 'siteseo'), 'tab_appearance' => esc_html__('Appearance', 'siteseo'), 'tab_security' => esc_html__('Security', 'siteseo'), 'tab_breadcrumbs' => esc_html('Breadcrumbs','siteseo'), 'tab_toc' => esc_html('Table of content', 'siteseo'), 'tab_robots_txt' => esc_html('robots.txt','siteseo'), 'tab_htaccess' => esc_html('htaccess','siteseo') ]; echo''; wp_nonce_field('siteseo_advance_settings'); $advanced_toggle = isset($siteseo->setting_enabled['toggle-advanced']) ? $siteseo->setting_enabled['toggle-advanced'] : ''; $nonce = wp_create_nonce('siteseo_toggle_nonce'); Dashbord::render_toggle('Image SEO & Advanced settings - SiteSEO', 'advanced_toggle', $advanced_toggle, $nonce); echo'
      '; self::image_seo(); echo'
      '; self::advanced(); echo'
      '; self::appearance(); echo'
      '; self::security(); echo'
      '; self::breadcrumbs(); echo'
      '; self::toc_tab(); echo'
      '; self::robots_tab(); echo'
      '; self::htaccess(); echo'
      '; siteseo_submit_button(__('Save changes', 'siteseo')); echo''; } static function image_seo(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } //$options = $siteseo->$advanced_settings; $options = get_option('siteseo_advanced_option_name'); $option_attachment = isset($options['advanced_attachments']) ? $options['advanced_attachments'] : ''; $option_attachment_file = isset($options['adavnced_attachments_file']) ? $options['adavnced_attachments_file'] : ''; $option_clean_filename = isset($options['advanced_clean_filename']) ? $options['advanced_clean_filename'] : ''; $option_img_title = isset($options['advanced_image_auto_title_editor']) ? $options['advanced_image_auto_title_editor'] : ''; $option_img_alt = isset($options['advanced_image_auto_alt_editor']) ? $options['advanced_image_auto_alt_editor'] : ''; $option_target_key = isset($options['advanced_image_auto_alt_target_kw']) ? $options['advanced_image_auto_alt_target_kw'] : ''; $option_cap_img = isset($options['advanced_image_auto_caption_editor']) ? $options['advanced_image_auto_caption_editor'] : ''; $option_desc_img = isset($options['advanced_image_auto_desc_editor']) ? $options['advanced_image_auto_desc_editor'] : ''; echo'

      Image SEO

      Images can generate a lot of traffic to your site. Make sure to always add alternative texts, optimize their file size, filename etc..

      Redirect attachment pages to post parent
      Redirect attachment pages to their file URL

      If this option is checked, it will take precedence over the redirection of attachments to the post parent.

      Cleaning media filename

      e.g. "ExãMple 1 cópy!.jpg" => "example-1-copy.jpg"

      Automatically set the image Title

      we use product title for WooCommerce products.

      Automatically set the image Alt txt
      Automatically set the image Alt text from target keywords

      This setting will be applied to images without any alt text only on frontend. This setting is retroactive. If you turn it off, alt texts that were previously empty will be empty again.

      Automatically set the image Caption
      Automatically set the image Description
      '; } static function advanced(){ global $siteseo; if(!empty($_POST['submit'])){ save_settings(); } //$options = $siteseo->advanced_settings; $options = get_option('siteseo_advanced_option_name'); $option_taxonomy_desc = isset($options['advanced_tax_desc_editor']) ? $options['advanced_tax_desc_editor'] : ''; $option_category_url = isset($options['advanced_category_url']) ? $options['advanced_category_url'] : ''; $option_noreferrer_link = isset($options['advanced_noreferrer']) ? $options['advanced_noreferrer'] : ''; $option_wp_generator = isset($options['advanced_wp_generator']) ? $options['advanced_wp_generator'] : ''; $option_hentry_post = isset($options['advanced_hentry']) ? $options['advanced_hentry'] : ''; $option_author_url = isset($options['advanced_comments_author_url']) ? $options['advanced_comments_author_url'] : ''; $option_site_fileds = isset($options['advanced_comments_website']) ? $options['advanced_comments_website'] : ''; $option_rel_attributes = isset($options['advanced_comments_form_link']) ? $options['advanced_comments_form_link'] : ''; $option_shortlink = isset($options['advanced_wp_shortlink']) ? $options['advanced_wp_shortlink'] : ''; $option_wlw_meta_tag = isset($options['advanced_wp_wlw']) ? $options['advanced_wp_wlw'] : ''; $option_rsd_meta_tag = isset($options['advanced_wp_rsd']) ? $options['advanced_wp_rsd'] : ''; $option_google_meta_value = isset($options['advanced_google']) ? $options['advanced_google'] : ''; $option_bring_meta_value = isset($options['advanced_bing']) ? $options['advanced_bing'] : ''; $option_pinterest_meta_value = isset($options['advanced_pinterest']) ? $options['advanced_pinterest'] : ''; $option_yandex_meta_value = isset($options['advanced_yandex']) ? $options['advanced_yandex'] : ''; echo'

      Advanced

      Advanced SEO options for advanced users.

      Add WP Editor to taxonomy description textarea
      Remove /category/ in URL

      e.g. "https://example.com/category/my-post-category/" => "https://example.com/my-post-category/"

      Remove product category base from permalinks
       

      '.wp_kses_post(__('You need to enable WooCommerce to apply these settings.', 'siteseo')).'

      Remove noreferrer link attribute in post content

      Useful for affiliate links (eg: Amazon).

      Remove WordPress meta generator tag
      ' . esc_html('') . '
      Remove hentry post class
      Remove author URL
      Remove website field from comment form
      Add "nofollow noopener noreferrer" rel attributes to the comments form link
      ' . esc_html('https://www.example.com/my-blog-post/#respond') . '
      Remove WordPress shortlink meta tag
      ' . esc_html('') . '
      Remove Windows Live Writer meta tag
      ' . esc_html('') . '
      Remove RSD meta tag

      WordPress Site Health feature will return a HTTPS warning if you enable this option. This is a false positive of course.

      ' . esc_html('') . '
      Google site verification

      If your site is already verified in Google Search Console, you can leave this field empty.

      Bing site verification

      If your site is already verified in Bing Webmaster tools, you can leave this field empty.

      Pinterest site verification
      Yandex site verification
      '; } static function appearance(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $appearance_fields =[ 'metaboxes'=>'Metaboxes', 'Admin-bar'=>'Admin bar', 'SEO-Dashbord' => 'SEO Dashbord', 'Columns' => 'Columns', 'Misc' =>'Misc', ]; echo'
      '; $is_first = true; foreach($appearance_fields as $post_key => $post_val){ $active_class = $is_first ? 'active' : ''; echo ''.$post_val.''; $is_first = false; } echo'

      Appearance

      Customize the plugin to fit your needs.

      Metaboxes

      '.esc_html('Edit your SEO metadata directly from your favorite page builder.','siteseo').'

      Universal Metabox (Gutenberg)
      Disable Universal Metabox '.__('Disable the universal SEO metabox','siteseo').'
      Move SEO metaboxs position
      Remove Content Analysis Metabox

      By checking this option, we will no longer track the significant keywords.

      Hide Genesis SEO Metabox
      Hide advice in Structured Data Types metabox

      Admin bar

      The admin bar appears on the top of your pages when logged in to your WP admin.

      SEO in admin bar
      Noindex in admin bar

      SEO Dashboard

      Show Title tag column in post types
      Show Meta description column in post types
      '; } static function security(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      Security

      '; } static function breadcrumbs(){ if(!empty($_POST['submit'])){ siteseo_save_advanced_settings(); } $options = get_option('siteseo_advanced_option_name', []); $enabled = !empty($options) && isset($options['breadcrumbs_enable']); $separators = ['-', '|', '/', '←', '→', '↠', '⇒', '►', '—', '•', '»', '›', '–']; $separator = !empty($options['breadcrumbs_seperator']) ? $options['breadcrumbs_seperator'] : ''; $custom_separator = !empty($options['breadcrumbs_custom_seperator']) ? $options['breadcrumbs_custom_seperator'] : ''; $hide_home = isset($options['breadcrumbs_home']) ? $options['breadcrumbs_home'] : false; $home_label = !empty($options['breadcrumb_home_label']) ? $options['breadcrumb_home_label'] : __('Home', 'siteseo'); $prefix = !empty($options['breadcrumb_prefix']) ? $options['breadcrumb_prefix'] : ''; echo'

      ' . esc_html__('Breadcrumbs', 'siteseo') . '

      ' . esc_html__('Breadcrumbs work as a navigation tool for users, helping them know their current location and providing quick links to their previous browsing path, which improves the user experience.', 'siteseo') . '

      ' . esc_html__('Enable Breadcrumbs', 'siteseo') . '
      ' . esc_html__('Breadcrumbs Display Methods', 'siteseo') . '

      ' . esc_html__('Gutenberg Block', 'siteseo') . '

      ' . esc_html__('Generate Block can be accessed by going to edit post using the Gutenberg Editor, the default editor of WordPress. There search for Breadcrumbs block.', 'siteseo') . '

      ' . esc_html__('Shortcode', 'siteseo') . '

      ' . esc_html__('WordPress shortcodes are shortcuts ([shortcode]) that insert features without coding. You can use these shortcodes with Classic Editor, Gutenberg, or any other editor. Copy the shortcode below and use it in the editor.', 'siteseo') . '

      [siteseo_breadcrumbs]

      ' . esc_html__('PHP Code', 'siteseo') . '

      ' . esc_html__('You can add the breadcrumbs by directly adding PHP code. Make sure you are aware of what you are doing. Use the code below anywhere in your theme.', 'siteseo') . '

      ' . esc_html("") . '
      ' . esc_html__('Separator', 'siteseo') . '
      '; foreach($separators as $sep){ $checked = ($separator == $sep) ? 'checked' : ''; echo''; } echo'
      ' . esc_html__('Home Settings', 'siteseo') . '
      ' . esc_html__('Prefix', 'siteseo') . '
      '; } static function robots_tab(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      '. esc_html__('Manage your robots.txt file here. Adjust settings according to your SEO requirements.', 'siteseo') . '

      '; echo''; if(!file_exists(ABSPATH . 'robots.txt')){ echo''; } else{ echo''; } if(!file_exists(ABSPATH . 'robots.txt')){ echo'
      '.esc_html__('Preview', 'siteseo').''.esc_html__('View Robots.txt', 'siteseo').'
      '; return; } $robots_txt = file_exists(ABSPATH . 'robots.txt') ? file_get_contents(ABSPATH . 'robots.txt') : ''; echo' '.esc_html__('robots.txt File', 'siteseo').' '; } static function htaccess(){ global $siteseo; $home_path = get_home_path(); $htaccess_file = $home_path . '.htaccess'; if(!empty($_POST['submit'])){ self::save_settings(); } echo'

      htaccess

      '.esc_html('Edit your .htaccess file to configure advanced settings for your site','siteseo').'

      '; if(!file_exists($htaccess_file) || !is_writable($htaccess_file)){ echo '

      '.esc_html__('The .htaccess file does not exist or You do not have permission to edit the .htaccess file', 'siteseo').'

      '; return; } echo'
      '.esc_html__('Be careful editing this file. If any incorrect edits are made, your site could go down. You can restore the htaccess file by replacing it with the backup copy created by SiteSEO with name .htaccess_backup.siteseo', 'siteseo').'
      '; $htaccess_code = file_get_contents($htaccess_file); echo'
      Edit your htaccess file
      '; } static function toc_tab(){ global $siteseo; if(!empty($_POST['submit'])){ self::save_settings(); } $options = get_option('siteseo_advanced_option_name'); $option_enable_toc = isset($options['toc_enable']) ? $options['toc_enable'] : ''; $option_toc_label = isset($options['toc_label']) ? $options['toc_label'] : ''; $option_toc_heading_type = isset($options['toc_heading_type']) ? $options['toc_heading_type'] : ''; $option_toc_excluded_headings = isset($options['toc_excluded_headings']) ? $options['toc_excluded_headings'] : ''; echo'

      Table of Contents

      A table of content works as an index section for your post or page. It helps search engines understand your page structure and users find specific sections quickly, which might help SEO, as it helps search engines better understand the structure of your content and also improves user experience.

      '; echo'

      To use Table of Content on your pages, you can use this shortcode

      Enable TOC
      TOC Label
      Exclude Headings          
      List Type
      '; foreach($screens as $screen){ $show_device = ''; if(count($screens) > 1){ $show_device = 'data-show-device="'.(empty($screen) ? '_desktop' : $screen).'"'; } echo '
      '; foreach($settings as $setting){ // Skip units for responsive if($setting == 'unit'){ continue; } $setting_name = $setting.$screen; ?> link($setting_name); ?>>
      '; } echo '
      '; } } /** * Typography control controls * */ class Pagelayer_typo_Control extends Pagelayer_Customize_Control { /** * The type of control being rendered */ public $type = 'pagelayer-typo-control'; public $responsive; public $style; /** * Constructor */ public function __construct( $manager, $id, $args = array(), $options = array() ) { parent::__construct( $manager, $id, $args ); } /** * Render the control in the customizer */ public function render_content() { global $pagelayer; // Output the label and description if they were passed in. if ( isset( $this->label ) && '' !== $this->label ) { echo '' . sanitize_text_field( $this->label ) .''; } $settings = $pagelayer->font_settings; echo '