From 4f57b8c9da70eddd0bc9bb9253953332c7ff7359 Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Tue, 12 Sep 2017 16:01:38 -0400 Subject: [PATCH] Footer, header, frontpage, map, events Added the footer and styles, including social icons, newsletter, copyright, etc. Added the header and styles. Added slideshow/featured for front/inside. Added the frontpage event slider. Added the frontpage blocks. Added the frontpage map (WIP) --- assets/Keweenaw Map_v3.svg | 1571 ++++++ assets/default-header.jpg | Bin 0 -> 232216 bytes assets/default-map-image.jpg | Bin 0 -> 26530 bytes assets/keweenaw-logo.png | Bin 94611 -> 97424 bytes assets/pure-michigan.png | Bin 0 -> 3936 bytes assets/social-icons.png | Bin 0 -> 6045 bytes assets/visitors-guides.png | Bin 0 -> 57394 bytes assets/weather-arrow-down.png | Bin 0 -> 260 bytes assets/weather-badge.png | Bin 0 -> 6440 bytes css/app.css | 772 ++- css/app.css.map | 5 +- fancybox/README.md | 62 + fancybox/bower.json | 23 + fancybox/dist/jquery.fancybox.css | 740 +++ fancybox/dist/jquery.fancybox.js | 4936 +++++++++++++++++ fancybox/dist/jquery.fancybox.min.css | 1 + fancybox/dist/jquery.fancybox.min.js | 12 + fancybox/docs/index.html | 1827 ++++++ fancybox/gulpfile.js | 66 + fancybox/package.json | 51 + fancybox/src/css/core.css | 664 +++ fancybox/src/css/fullscreen.css | 11 + fancybox/src/css/slideshow.css | 26 + fancybox/src/css/thumbs.css | 122 + fancybox/src/js/core.js | 2964 ++++++++++ fancybox/src/js/fullscreen.js | 186 + fancybox/src/js/guestures.js | 920 +++ fancybox/src/js/hash.js | 223 + fancybox/src/js/media.js | 223 + fancybox/src/js/slideshow.js | 170 + fancybox/src/js/thumbs.js | 231 + functions.php | 41 +- .../views/front/events/eventsFeed.html | 21 +- index.php | 28 +- js/app.js | 83 + js/custom/pageSetup.js | 83 + parts/city-map.php | 3355 +++++------ parts/footer-svg-section.php | 4 + parts/glm-blocks.php | 63 +- parts/map-section.php | 116 +- scss/_copyright.scss | 18 - scss/_main.scss | 30 +- scss/_page.footer.scss | 216 +- scss/_page.header.scss | 14 +- scss/_plugins.scss | 5 +- scss/_settings.scss | 2 +- scss/_structure.scss | 39 +- scss/_topbar.scss | 97 +- scss/plugins/_events.scss | 3 - scss/plugins/_glm-blocks.scss | 41 + scss/plugins/_glm-member-db-events.scss | 311 ++ sections/footer.php | 72 +- sections/front-page.php | 6 +- sections/interior-page.php | 5 +- sections/top-bar.php | 2 +- slick/CONTRIBUTING.markdown | 35 + slick/ISSUE_TEMPLATE.md | 50 + slick/LICENSE | 20 + slick/Makefile | 8 + slick/README.markdown | 287 + slick/bower.json | 33 + slick/component.json | 18 + slick/index.html | 137 + slick/package.json | 50 + slick/slick.jquery.json | 34 + slick/slick/ajax-loader.gif | Bin 0 -> 4178 bytes slick/slick/config.rb | 10 + slick/slick/fonts/slick.eot | Bin 0 -> 2048 bytes slick/slick/fonts/slick.svg | 14 + slick/slick/fonts/slick.ttf | Bin 0 -> 1892 bytes slick/slick/fonts/slick.woff | Bin 0 -> 1380 bytes slick/slick/slick-theme.css | 206 + slick/slick/slick-theme.less | 168 + slick/slick/slick-theme.scss | 194 + slick/slick/slick.css | 117 + slick/slick/slick.js | 2892 ++++++++++ slick/slick/slick.less | 98 + slick/slick/slick.min.js | 18 + slick/slick/slick.scss | 98 + 79 files changed, 22744 insertions(+), 2204 deletions(-) create mode 100644 assets/Keweenaw Map_v3.svg create mode 100644 assets/default-header.jpg create mode 100644 assets/default-map-image.jpg create mode 100644 assets/pure-michigan.png create mode 100644 assets/social-icons.png create mode 100644 assets/visitors-guides.png create mode 100644 assets/weather-arrow-down.png create mode 100644 assets/weather-badge.png create mode 100644 fancybox/README.md create mode 100644 fancybox/bower.json create mode 100644 fancybox/dist/jquery.fancybox.css create mode 100644 fancybox/dist/jquery.fancybox.js create mode 100644 fancybox/dist/jquery.fancybox.min.css create mode 100644 fancybox/dist/jquery.fancybox.min.js create mode 100644 fancybox/docs/index.html create mode 100644 fancybox/gulpfile.js create mode 100644 fancybox/package.json create mode 100644 fancybox/src/css/core.css create mode 100644 fancybox/src/css/fullscreen.css create mode 100644 fancybox/src/css/slideshow.css create mode 100644 fancybox/src/css/thumbs.css create mode 100644 fancybox/src/js/core.js create mode 100644 fancybox/src/js/fullscreen.js create mode 100644 fancybox/src/js/guestures.js create mode 100644 fancybox/src/js/hash.js create mode 100644 fancybox/src/js/media.js create mode 100644 fancybox/src/js/slideshow.js create mode 100644 fancybox/src/js/thumbs.js create mode 100644 parts/footer-svg-section.php delete mode 100644 scss/plugins/_events.scss create mode 100644 scss/plugins/_glm-blocks.scss create mode 100644 scss/plugins/_glm-member-db-events.scss create mode 100644 slick/CONTRIBUTING.markdown create mode 100644 slick/ISSUE_TEMPLATE.md create mode 100644 slick/LICENSE create mode 100644 slick/Makefile create mode 100644 slick/README.markdown create mode 100644 slick/bower.json create mode 100644 slick/component.json create mode 100644 slick/index.html create mode 100644 slick/package.json create mode 100644 slick/slick.jquery.json create mode 100644 slick/slick/ajax-loader.gif create mode 100644 slick/slick/config.rb create mode 100644 slick/slick/fonts/slick.eot create mode 100644 slick/slick/fonts/slick.svg create mode 100644 slick/slick/fonts/slick.ttf create mode 100644 slick/slick/fonts/slick.woff create mode 100644 slick/slick/slick-theme.css create mode 100644 slick/slick/slick-theme.less create mode 100644 slick/slick/slick-theme.scss create mode 100644 slick/slick/slick.css create mode 100644 slick/slick/slick.js create mode 100644 slick/slick/slick.less create mode 100644 slick/slick/slick.min.js create mode 100644 slick/slick/slick.scss diff --git a/assets/Keweenaw Map_v3.svg b/assets/Keweenaw Map_v3.svg new file mode 100644 index 0000000..3fbb39c --- /dev/null +++ b/assets/Keweenaw Map_v3.svg @@ -0,0 +1,1571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/default-header.jpg b/assets/default-header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53134f54d75e63a45e9f35ba59af0e2d8c5dda64 GIT binary patch literal 232216 zcmd432Ut_h^Dr7pC_zvlpwc^`+6WyabV3UWHDCcmNa!G4l&Ta#N+<@w&`SutBcMnT z5J3p2RH;IgA|fbQZtyL?`oHCS?tQ*{kY&s4?980m*`3)v{(AFk0dPt$7;_x}Ffx(` zFaiGY{Q3xB*9~xX4*}2s=&99c0N~dqfDLxd+sOrR?FqGp=GQbJ20-)oLrcxk(o$1u z^2b9*OGkaE3H{MS2mJjo9z9HdKS$lE&_FsmAR~|-_)jf=gZ!Uoemw!OGtt^IdeG6Z z18CW4=-6p~^#D4l^Z|d9_BTs3v~=`921X`k5Dg80mhPzWA8qusbidn90BDXV1_BxA z>8UgUSdMxD*nz?v=QtT)7LFod-_-L+#>o6yZBZ_#3n=dGr(#U67SeQ1ep0aXi*hay zKgFzD=MR-Q4PvJO(9j+sq4G~lLmhxxq+{pcq!&JC0S2DuVt_e{_;NF*<|8AuMK9Do z-F~$ocG3yum!|M*3UG{$N+UZRJK!SVC&7JpXginy0ntVfAUq@_K{>@u+VAxap2dw` zSm+ZWfJO@e2GUs?o-}OTB-{^sG)}-%A%BB|Xd~|?d6uS^yS}2Y%rQj=6&rRmvs|tv zreE4JsW=e)1(2LYKP-G^Y>s1zEM8+n|3qmWp{C31!j1AZelLl7rd2G)?i|YO_9wmw zLhNz|jbkWNT5PNsZjFi1d^9?Z)=MW%EF%!;qeMW{MrO3WN!Belq!Pi9QN+vXtd(zM zLl+99mKh})CrjH`7_C9tRLZ=P%}CWI9K|&V@bQ)E6)4SsXXrO~5LxL~VXON$cc8`4 zl_9M`7LV^>IzqV+jejWUd*k;8M!DN^z>=p-fJDJ>qv!shM#cS`8xs*loAXn3mgV|{UsX~Ia+onSvN6)&XZ9T zbtnZ^p=fFukXA*z%XUT6NsE2#>Pw zmKg&Vs0b@Y<fXjdKG(H1;Z^=ax#_;>G3h9(qWz~Z|4~PG zoM+lx5;;=9Y^R9x<>DNu*e@|B$=m+@GXE0R-^v_R(%G)xz+}I&?tVFvs;<`Wom4oA zMW}Fmr&dFnq7f(RhbEs~j+BOJAylAMjT-Y1)fy!Dn7aE7zW~qBs~K`p5rj@aAt&xP-Hv#N%&MIe{4;b=ZFtem2@HFY5i{ z!}S=R|34zhhYX6+AX5=0+`nl&``;K03nd9rpyMBpczWfH4J$ulg%>sZTO3n)lp|>{ zkoQqX!cZ)2`z?z`4f2sFq}vNVDu9o2T)CFsRk)*^EV!f}e$)qC^{3=?;o5`oEH#@Y z)Jo1i?MUk{UfiR<(Y5}GhqZk3w?sY71C9h5{oje;0!{d@Dm)o4%`b+l8y#Ug?r!yl zB6UPB`cFccYXu?upbNb0JNJFcK_?#J!if5d*QK1Vh&G9?a2X)0NWn>Q-}Io;6en4R z2z2$E2Y7p_Wo??pGxm18zx$?m7z}E3N4&X@3yY=QFdx*II3 zHWG;lpK<#P6EcG7UB;*!a+ zJB;0N+>I2c)6)ePwC$;CNXpj9|0m593W4)_n0p?HFixrZx2OnnUD@MwW_fpJ_VNGg zYQ37REitR?r`gb|9m(nfe>s``V9}Gx(&P)_p#P2f&!=o%(b{?#7gyHEDn#zathyZ0 zG$TCm-_-m+=COdXb-BM+AD3a7``@=~ zKy2;dOl5yB82@6ZBipIkFJ-pQf344D|U<)!_fo5p=(Y(c40bqlr$9uazTKP4>o z!t>bWBKo&N;kXfzjtkGF@?a)AAlDR>dennuZF@Vh*f#=n=<6xFVkL*klQ6VM$MsWr%-HFw~lpws^-#wR!d;d->-B8r~Q=@J0IhdV!wrC+BkKaKVG zd^Hw%gPt63i>|KNd_uquM(iZ@w?#&JIo!(qmsOO0xQUxtVzLa>6vY`f7X?Z|nB9pQ z_wz&m8&2dzhcZdSV5&SUrd!yEWW^IS4EuyQtQMj6x!^g13f-y#<6m1JzR1r!bSaw7 zT7HZ#-1su1EV;s_qR=V7bqJx~6g521sCD8EtVM~CLSfn>L{mXw(g+T~lGhZYEgLNv zX!wT`2+PtM%>T%H#dQJCabNtvsx>fF-3V4rf~F42v0l& zCU(NhTdQh0XGZA+Ynjkxi=vWuQDJ4mKNdO{_DA(7ML~j{jaQfUz6fMl=LgIOOW(_1Byp75gbcwYz;Im+9_ zVp_Yv1uP{as+*IGbqdaXtUa>Dx_`X0nQs5i;oW(y-WA?U)sEht^tW4t)^fN4K@oYa zx5ouO!_H>ruz@*5w86|518B>4#jboJBuF4T1*$H7ft+gfwDm+t)aScnUObf(i!8q0S^L7^g*1$sK-io# z9kpV6A`FG{p2AM5e{bOC@S@o|n&N-Xf4Y9qgpHDt{|7mz(c^R|zHxJffYvv^8x55~ zAL$D7oe1h2 zk*lfq^VE8&^(~3!f7B=#?RcY}x~J9@(6E*6@u=uxY3xM7uV5dRNE@h|x8j|Z}OaeW@X}m-1@V~UsRv%pT}mh82lXVKdbfd^UkR03xi=8CZoANZb|El za)f*i=PXQ6=_`=pF}e=;x0UUKRo@c)95zdRVff=Z5Z9+Ut;H#TiLKG@&mRonmTMEldsc-@2 zzB*=Zww}^(5B-MMgkkys5Q3Xesv3qraVP5!rkb5iLrq3yG1W$RU=nowf>v!whlCrq z!t0`8+CKd51A^`N<#YuW9`~{9k^j#?QB;HmzB*nR+P_KEt}j@&8c4D<@rM|R0ie(e z4m!*gLO+e8cP1aqPE#gkEXaNi7c=XUdigD8UXdq+4VxC+$sfkvn)<3I)ovb1IpMlq zl3K!PjHN7Q20=}+0qc&IE~`}HjgS4s0(Hc|zeb#>_%U@ok2MIA9bJ*5MZgdkpcUXkllu8Z!;IRfY|2YuxX^ZiJzH=@C% z2S^O?nXcoHr3FC;si>0Oal;Ho+Dr19LH2htDmr?>Bd5)bL>#4mdNMZEY{>=a8==kQ zuoI$Nr6JxGe#Z9W_i>Y*oAWmQwMFy#JB^<0r8RT8vz_H1h5Cgx9AD`7%|Dw^$Z?)@6*wyLG?d3N;y%yZh1%QoyokZ_KtzyhL?&yj)aOgLGD(PSv z1|>KS@jr?A>AZk4rT98qpAy=ALG`VDiKp}J#qOJojO_DJX}%ACP0e%@8~PP**j7~` zEKWC2G8~d=`)aAmIMUcUx{TiH*tS)HfkoU+{leuQY=r=rh<@L zethrlPPIH+)qA7w0w0IJ!*;pbFrB+AvfjTRemY;o{_6b;cYY4Wm*<{~v-hA`@q7Q) zWb|R$Rc(3oUx0uM+7j_*Er*(-Sn}##ma53q{D=+}YfKC_)*%ntG;!g=)3)AlZ2ib(I&(mKE{z^Mqn9-7q$>$_r|oOYt?1+rWWs`q`i7}4Aa2!xd!3bP0ueb zc((FQH_G)W>$ObnB4x3%H!S#wP2|rjj}fq8gW-LiR1xbm`QuAyN{KJB>v}oyl)R)Hd=6L+mx7Qk}kvnLIhG@pH;XG7KUmDlv`diDJm$Sh|yk z9`vey7a1V>!a#5vLo{?k`$&nEYUzCePZZfVLNUN{qM@8A8ivJ=v7oF|(D;TsQby)I zo}t(=;gBAWrLW^ipqbN=;$fdev~|9ucC+;|f_s?WufsRQPp5&2T$qp0a}I_N+md_T zKSHykAGXoCCx?)32RK4|sEgjvenJvjo4Ov}`eX`+4f?Mf_IfZ%jbv?sf2UkYR=WPj zb&NqqQlr5M{nn{i@U!`RC?L zAo_CntKVBOF1DomCLqOx%#-2gA*;U~Dvmbrj!llAj2Om{WYZy|20vTbs5f~8P2C_` zwrc;E9UJXYokX5f{sb6kH$8Dj&IZ%7dnGii+IGJ6X{okk)Mj*3tCGCvbh$+5Q+r5t zRFb`ILJ8OWB7WpTe)BZp5Q`xu{7hz#BW-9$lp|;T!Pa1)4v{aGLmFMJe-;C(Es>t` zm`8*Sn@Jc6>)yS&F^~CF)~g~eD%Y9C;qWfl-NaN8M=mQC@>K<8=ZPzRt?v+>eZNUW zr*)*7&Nwf?Z*W#Ms-|7DSs76EQVk|!;eG?iq2-9Wz&zD)q)FYQv1AGse*XDxVH-Zp zCEbeM_1$Q}UG;UU^ekqm*9&xLSF+gq;8`2u1Bt*W=i*ru_P1kTUri?q~MR zf{F*?L>_668?E`^m*Ttep9;I^u6hruK{7D6hXm$#D$6k)1CQ(~5|}InW&$}l-`cMw zgMu*MlRcZkW;=#_%9FOx<@CwkvHW*oAEZMbh?`SMYW&A|p(3SMc1R~HdYxWeyzPV#iHZKaVT{j zeFCnQK~4qZXZdnNLpX}lBs)Qo$Y|{%o1n!*87qgG*%1=I(C$6PU_#nVsj~4L^(CwEMg;`?u$-P!+453vzp>P;O?#V@;gHjhk^ur(ZpaZpY#xWXGb|UpLrn{!9QaJX;(%ISWrKLgOiY$x6MhCLP zKbq87&&ig|&A9bmDBAijw{W) zeDV{5fkXTnJi6EU*=Q}H{1Z*`gR9f-cSoys582TUQ7~4PsfniE0sKOHSaV$M`On|V zufm1or#@7N2VAy8bTy>NYK`)aN|tR49AwD7K1We!>`Zt@4n7`EbCk`WNY*(ja5$&o zaI-?3$n1NFgV)Kis)C+pT}y$7Qjw+f=O4O1$IXDQV!Ew!{j?J-6*o@Oqv*`I(*~O* zC}Iw`pqv94+)Lb5udJXh>&_1{ z6`kJ9w_B8>Ud6?-mu!sqGb^u`r^Aurxh4CO(}*M~I5Rcm6AedC$eb^X37|nuszQ!C6vK^Outu$;fhhHab+@9; z)28(VxZZ2;@8z>t?KxkWG)RHo!cf(hI%_j3XXz6Weu90IZs5JqeUiaja5DJM(Rj{R~>uq!w zB28i)oI4zX^G0~6CVAfUUHF94ON!KL?e#hFWtsk2`*walotzN(1?Y@gLf(vDn4VtJ`US9fr}0JTivZocR_J}2ErNzY#QvzQla^W) z%>qJ}5n0Ef1^A?J{LRSl{^*5=sU@$9Y5n^L@pO5bmZN;1c1ogD8H-0FooMz(K{sS= z0U9`Va@7B{p8kual2t2Xv5%#m3;iz{GG!Vsu8JxzulJMj?`ZYzdVjN)1CfEWwm}HF zh<9>S>vEEp&gllhm$n~%>~2zA6Yc~x!p-!isIz;wDCmfzB*YE}ak*j(6nl@>- ziye0BSzA>3OQl~O5ZKjsJkc5^pV7|RG9jh*c8^g0ha9) z-Mpt_6{}w=?Vt*uS&0K+kc{505w?YDo}PR$Pm0NV*W?r-U)@W7;eqHs*)NuY4*`DDO=g%5afvYFf!h zCb&{G2g@(n!k29eu7+nQOeD(BrP}c~irn=ylCv-PVa)ynU3$4Fv$o>ni>n}VBuvdy z+^AJz_xQ5t;~!*3VgC1<1Qq5j1)Gg>zLN z3k;-QM`*{Mjk_Z%+pe7v=;3;Al~fMDlVidOXPR=%&kOO8eiV`H?_W=SFJqYG|KJZWg)#O%{A7$vMX$& z>(xyW+shdTyJ<6KztJB`(Qm9+8Ho1}YH+lKCDj!ZF-DD!M7bNb{rKBP?=U18>pk%E z-A)GlSTjLGGP0xre?B*Ekfjaf@0@=UJdtTRot-gaw!ho|1Ikl3vZF+`*~}%Cg`hME zjo79uAIl~(5(7&d9W(bh0ykQgu-G9DW;*}}W4Oe})a#D!DaoJF=bN38<(^DFDKxbk zCAv!%n{5uvyxM{Lplf%AZr^a@#nHUOl(J?cA15|@=H`A;5$eXhQw*@EyU$Z?t=uq? ztbRgu8Y|LAjqd70MR#<043(A^?56u%6QxD22j@0kgb-B`^@ViUTNb7eg{xyz<}Mu> zIQuw-tG#Dq6FIPcutKIEyy5RROLX+Pn@T(D2jGvED?jKNx6mhCEBc;Np@L{k!gN@o zPCb+MbX|}LMa^KV{ZX2Osq5yxrT!Lgks4>V@h_D!w0pT1v!9Bbf~bmp=qv3YUC=ew zJJFp|Y`flFOANB?J9Z;qu=t`B>GX;!qTsugSQ>|s*tj|#QFI5_arl%s*w$*8 zL4r!DU((wv`O!V$tzPr7Oau3LVM5U5!oXWZ?%FhGt5WM$#b@j}0~hW1IcDyT$5MsN zAIpTaAMT`H4b!T;PS#<`fjhD7Mn66z@}<1WXAaQ~IxJ5ajcu~$g{say5N=BFxyP|H zzGRZ}Jhs-^eeQt}@=fPwD*NoU;qPZn?nsKqDtmZ&F4&Lp{L}3{b1cRFk&u0EJDMZPwQjcAsMBoQULoD+QaT60yXDaUDM|qj8iO zrG)3i{mkg%mPv~?B8R6wL+Fj*L&}_stjqb+!lG_sfvEGoxX26vp@i|!-EltdrpbcV zhi2>pLhdA+O^U99R0|;KK3j3b1xs{QHrk&&;)2rx8+V4EGKz)_|^&~Pt9U?U-+I& z$(omZk-}Kl^j^Y65*pt9AoX7Q>p>odamQym){6;t&f;I>TUXIqHUVb2kUle$*rFMl zP|TRKl!kN1vsqJB)V=$*TR!_Jv-H!DN1ogan^V<(PU5GY|9Gm&b;tQMmG!(dYiW z3GShp?j#?=P!&IZ8|3yN*_A8L`8L$Q9iJ?v8^?VTT|NCQNezGR+Pju2>{L8maz|s^ z?AvVJ7pZ!LG}!BD`wNAq^*RKhW;d3^R+T6&f;Ua!}{kHsI%){ zlGF^@S-hrfvjW}hC83-M3bMNJD$>#JRZE2{0~8$>jit0u?}ZgMiY1Fgb!mh@+afeT z0i(K0vGf3jh7(c~5Zg#B)7o!;`;UYXUG6YrVioN`mb2Zr5>-!07@S+Y?qgyjMkGZ= zdSm;XxrvztRZgpgV$i*YMEter#-fb09<6et3PVKg0z&lnD#ZTz^^E2L3u|S$5|q=} zG*GI-H?7Q@8+uy!t~>nvmB>DR||Fp0MNyc{<9>G2NKxhMF zxHyRNHAx9<$p6B!34R{fP@b7)dPt#;3b*F5!>FOkIwrr=Rzn*mW0{53-T6|ICvgw^JK@?;*ji$! z_Rp-R`X7<|8@Tx7ADl^XC?>Vh#c=dVXbn{G@xPCkBF;<#b%tl{IhbW+8a_Hzo=)3a9K zrVKo8$gycze()>FZtaB;t{0;vbC-u_lrj*=BJgNp}A77lJ= z8*r3UV8j_O3NuGcYroD?v0MAFfxkXfx3WOmo^RZY0heWlDU(*xm5+rI!6rOav}hUCl0X4*6Ez9k%iJ2glmZ>qN^HO>mJTGg})I|{rS zccebyxkt3F^bxRHdsEBjZNjUdqi>N4nyv{@&o z0K}%-qQy5+>fQnSY?S84gL~b$ws*Xy@f%~LBne)ZcCV#(5ccJKNBi4{dJNb%Q#U71 zE@-Vj06HTy2m7i_gTiIhBR@+tR^$u{zC-AjSlyN*!8qelMl<=o3nY4)1-|p-tePd3;u!Av$!W~Yf-9aS!1No^Gbsiz=UWe+TSu9WfNyMeKJ{jHE_Gych-cH zP{Zr>Y|#By1D?r&8D2?4TWD=cr%+Ofr-Ne$2uB&llJk7L!<*RLjTd@G8{GvBi5zB) z#P;YWeY>l)UhdLC7V*>4c8{_TiTOmxD7WjXCWYEFl-Dz;E;$c8k*@VqTN8^NC{SVg zR!)?N?-u`ZvX+Wg>|9iE8a3V#zj2f|QPozvQubcjV2 z7?V19G*SI^q&Le+$IOhYue`XiH`mPnSnU0o&a}X7m5QyZ8v}&VWJ-v0z?Q%6TIp)@ zl8&yw{ipl_71GzySA5ICWF^!oSVh{HoL|6pfyoz-T={@)Qf3FDuT$@R^Jg0?!)J0S zhOOh>1Zfuq;+tFuP<<**OGz@;uo~u}p2((fqOGP*?yXi&QP~?`!fo+eVD?e*qevcy zcq7EYhoC2HSgX-+i~tdIXrC*`5VJ{c!VC7Y2l)!072A@!|Mu079Yi`dbKu^5B4o&m z>px4P8=*r=``IAa;A_->e3_Zxv|w6@EIDqdj6S-@637DYCcW*8K6m?tR}_|6$5?gL zFnX}%3TJmDpRcs(T^`UbHNKvJFl=4Wdg%udBh*Y|kY2%~(kWw5rOC)gg-cqu?kCY4 zXeu1LJggXgMBqQ|9cZKUaU2EaEC`zr@!QA4>G?9gBFu$yC_oY6nbHuQ(ycQU))u7{&vOOh&yy5 zrv6GlK~_-UC)WV^uFllE&WAzw!=XZZEjMP>?s=Nub@*!a)9U%GSBbpw_JCT(>Rpu<3;X_;Vfm9w|URqeZEUqkoW!ONOQ*zLeg`iT)R0MUf+n zD3?dERQkz{cQ}Js>vxpMm;O)sGEs9uPa5R@rNvDMwUfy+m9JUsi;@GcVcq7%hyV0s0?@Fgbmk#XP>ayQ% zGzdrDKsBEH!tU#c;%%#Vc>0w)vssTiA6*xI$o7v|x|QZ7CFPNyR# z>*c-j3m`!8IsY^Sb0r%9bSL76E0iT2BLjREW@NZuB&tU)>|0Y$g|Z3rW;bO3*Uxv8-EI!=e{80)!1F?Cxnv)DeQH#q-!30McBp(|&)^o;RSjZm2KMA7-J0XF zt`WnzU8PK)?eE6g18Gt0c0Z*`M8t|JH;ig4vDAAJ z;ZhoEkDyp96W}>B+IPN+1)#LVZ+8}Ekz#ylS}VQ;Ba8Hg51Wm^izX^c9gV7^*QL*{ z3VH`Hq@U}T{t>|&9u)-> zrDZEWiV+X*TQmr$u<|zG=6$g9eSWT;Ef=(`DC*vsv}UM#KP_Ml3N~EHIlOw^b?n>Fjz_4f&%qvM@&3>z#!&Ru zB6`oO4Nk0pSFpUb>WnMHKje_36t`e*q94+`o5t z@nzJ+pLZgqR6bP@3||3M{Jpo`q|SUx8a0L8^x+a||BgZk9jzo$)DtgIVcZ@$@e3{W zD+#(Qs>eNn*nbH?|6{!=+4{`2cME*nIiXB;6nt#;Ta){2U-bAY(|G~&hoJ3N;Wf{1 zOok$TF7J>e+2cId0s`mEMEL1Ag^Pvdl>u~J@Lc69`-V>|rxDjA)_pki@nlT5#;cb@ zaXleI8R5I*(X%IQ(+(_C#tG1Gm{OL#n~(L*-ZC@(UiSUH5}>ewZW?>-&U`TSCT}db zXf1;mGITTas zLnA96#a$TQ<(fLg`37YyMNLAPe49_ae^MPsE^m;8#W>C1>U=c|OA>GKsEeBF-Ag)S zEj)ZMq$-;qfY~N~Craw~OH@7(>$Z_~n6d9l!nUuYXI|mwj(MX*R}L%cv)&HWi6s>* zA=IQ2!c>snLLV?wZ+N}?nqFDe9t%J;K`EH9|u2UN$nIM8hi!-`ps9Tv|_REB(@n zp=lKJjNJ5ev3u*P)Q!roA-#2dplh}z8>yv%%~h91&KZ*o?q;b-&^OKa4wv2!@~O(4 z58|@mSlWE7PBGSS3mK7#h%Xn4od@Mv5@5MVHn9+?Rg)sd~j>QiF~Jv zHNI7i9m~>IDwbfc0s{;YowE8ucMy8sL9M-^oE$An-)r^3in56DtQSnP;L?gN$*>5h zQUC-Y!1}b22J9OJHf#5Q$Jkrn+B%qs03dI+Re8wiKQ0I=&Hnz{wfI~Z<3*s*U_wSBdb z4vBNn@AWJ@Mj$&!b>P@Xsb{19I_wB1jj-XLc&)k{V2;ML+ry=8#7%C+?VNon{yw7Y zyNmv*OS<=G9&IX|v&CvJ3+p*src###zl_>EgCxN>m zPE+orbF_JLitAe?BC1aEuT}6lBX=f|-dbch{rWzB-Z@8qDNRS@z}9`qdV-zm7zJ^V zsGHh`O}{>x&PPuUE5drf=Nh7`^0+wL`p$Ap77?X>R7j1R^Dw=Juw2*xfpk-7+cYL0K}|dg&u+*r@D} zT_pXA@MR|t^Sa1DaY5#eucOf0pbE_DU@~^1(U-PRN|$J^*uY*PQvKG}`c-iJJp`fN zQ-&dCm&=e$#%ga|cq(J!Powk>3w2a3)zxY5nnvY`SA5)tJ4yG$ki=;EXI3L1aZEP$ z?c2Uc!MH$HM!}tevzF($oUfjFYxq#PpzNJ(ZBdS$MAKocycMsJcXy96B{9MLfdgg} z+{PPzZ;)BJw`M2)`^*{J*R6?(`%T|OxPFK{mO;1dVzAo6mvK?YZH1=hS6zD9Ms6%> z+}#>0a8&qwrcjfs{5E*qtS4sQGL`_L>gH^}n>>agUM;fp0;||-H~_8@V2MMe3IwH9f7x^dn-YpBtwll z^B=9@-PPlMXKiwV%|M&oNHEO?e@14}xgjPKsH|s6(b-mK^{cKM6+a=@%)wL{bF5VFQFYO*qLNJC8b>Rx^&37Q=04 z@|`VmPakJl`7n<@GjUH+YOd(36-xFv@+QP3DqeFW{Dx{oKe%*J&TP6ojqfSYprk|SOCp}UTnzffp zQwj{Rj#XPlQyKcT zL$7HV=WQN0`6IjVM;z>KB*Ejd6yfpyQ`p1%t12+)pY?wR!u|p~n!stK077hE>s9^$ z!kr>8kWoM5L`_Yx7atV5Dlyj4O7gWcV9e+?5&)0g_^4;g^Pnum8l7>C0#Ga)i)|f= zHoZ5vWRF{nZMkx#uhi)N>dkx8X&D_WX;s^DrjUzJ-wcQnoGjN}mw0x_x<%$~^9(cZ zzNZq|at%hZ7$0?AO(&n(`KB9{yirgwHT|qQC=7M( zd)$&gDWLMrJw9Ul!6%oW?-mE(Y+0WjtnCwh%~%7^48QQj_T#oad+4rKsk&Qba+R2* z6iESZA#M;#?72@Olix9u_a+iTRJ!cUxgab`Jaj*;(hHlHKfF^)vNH_kNMr5WoVF%* zW@%%)k7Yj$GuY)Ujqk9+zAo->Jw1^gz{2|`7)5tEGxOqUzWyIp5gq-;d)7HwXEX6@ z36$QVIZYYqx!71@Y~)91^(C+2?B2>3Ohb#&zGbhQO1#?wE1&r(iYS!qt4Enf3fWxj z%;@q?zPIlKI}WK)Eb?JQ=N*`PCr9tSmBV4>Zf$|8TV^IKeO&cl;$72A`_Gq*WkAGm z6kt0sBk)V`8FZsg$T|n#y}%mg#;4N`#4KXKhF$)kYKCFEyO!}??HqgbZVu~)@AYiI zeQO9g1NaW6Hp!Z?{bq`^|An}Qi2TS2D`icNUWMj%{P4Gg&erRq&c7GzXV_@qzv*5$ zGnADiwOG@vZ4ZAuz+LJuq0ofySAPB@0Na5gH7q#%*g!cvt6plh-gu?_!@}g=ptG_i z4PEVGcK4T~7aQEFB{D-N=Gs3O+?DAsAD-5TC!=&f^&%QOq`@m;x z5KM}y<87H}g<=yMvPa^TdDO|(DyAG?W{{5P7gX53wTG3`#n0j0k-yU@>()UFAlkkK zVRqu(;fX2-w-t2YsDvc(87MzcW%p@a{Z} zGc^I^p`g@B4SQ+9$?2Y9(6T&}je{Jfgr=XI*vYm?i|bsRE!bOVrp$QR6fnu`v5YFW z><(-B7=hbMBdXrZme48whUS(4*I=Gw!qm69@Z1R+704&T18GP{OW+}dcjW#~MHE!Z zSjo+fKWj;=Y}H|F;Vn#P5yJIpXtucqq5tSSOl0{Jp=J;ngqgK!7Su~>vnrx5i!7@c zg11l1YkAv*)5nMO(9$gR!(>d%q#}Uc7g8t}6U%T4tmA&Hs~)~U_jciujlS`QVyT13 zop7lDr~y6vh0U1f3SD1!E1v6Yb7*G0|IiiS z-CqE=@(oJBUVB2Yv}r0OFvB(_U~IzG(+l&U_fcvq7wQzmHpr@3jCxIlo1e^bRhb3B zJE*?CsElyy_caq#>^c}l;&6l(B$R#>>A@Jpbv)*cz1bk69J7a);p=`hQ)|Vh00mTX zen8^88~7~eCu{|aX?f68I!tbkC&w0HMETB0y`gfy*jQ}sCeWiaEq4nkE?4}9cO5zD z@|GuY#;2$x&)r1*E-OynoK*(-EqOYdL_N3=rMgTkWpvmZ9|dE9DlQnLN+=8O8bqd{ znfl$E+%#d6&^&D8vyVUnY%wsF3MmAD#l9^{6We~bEn=0}5>_VGvU&JHy(X8(6v=DR zYC6*Nz?27`iIR-1Y!2K2$Rt^gjeH)#QPBExYdX~?AbrnV2L z3{?f9!fT3X5KH2?RH3nX=Ieodyo-L4R9a06#|c?wj7g0fGM=12+n&NO$4#=4cd@P2 zQy`Kuql}oz)>W(4=Zet-)DIUV6msjo>Rm4NS5~%>9miX!oMt;=nQIWx>oPOM%45RL zW7IjmrI6G!0`h#;8v5(77 zmTkHa^>Mcz+=i6;i@hz%%e_L)Nb?{nKCrNiqFSl34r$dma`=}FrRzneWoP?F*Y_ub zMfFgbZ4X(62QJ;HJh=LdF72*GnEhpFE#rw#^ca$Ew&-%}0(!iZS?eZ%h8wJphmy$b zElI)FgIrtVF?aH=oKsi34I0Szf7r(OISbKYF8uNmNBmnjhIgV&fa~n*pfTcM_NFF9 zn*XI94W+PDkNRceY{pk6cWa#NB?l;E5e=+ zNH0$^6q#*c_s?3;`uE@1l{ec251XtT+l0wgaihAgUlBI`X>Vt8W*yu_&WKQt9U#K* zsb?CWT^fbOZD#ZvX!kJn8w8hs+du$_Ibc?H#-BBRBJin?(tc$FpOB(jwPYb4 zP@@pxPQ&FHu$;fJrysXQQPFvnEKD=<(>aFfx;<$!P=3f1YjE9O797LZb>Xi-q zk{MY(xK<}V4C_Dk5SPEp8U%7J8Zf%(?Nyif3Y4Wd4s~Yc?N{(_!*6#}zo+`q8uP7+ zZPpW;P_5e?25-w6ub)L@vhP4W-5*sDhwCe}S^GUNH@6pLFBkjwU3ye`;ojBQOR85; z=zZP<_hHA_SLciSuVg3Bf7o=OH;cR#VcK0uVVa-hr_S%Y;9HE zaM3XaC4gesKCH8lwXWy{tfR)+7p5VIcl;kScsdW~V5@4fK9!RmPFUX{0kGE>v2 z>6ePumDkNpad|$Iu3@g$!%4Ba6Bk%;dgs(p^!0Z`qy49*0R6hJ4*D)IDxgSOv4xe~G2s%w^xr^dC$4kQgk>$nAY=X!65lfiDUR z_f)dJ=bnBaQ=y_U`H?Re{L`M(UZZ5o7P~L43U6;cQ8Jl#m24gO*yT-yStbSpe#fBE#HayMVvc@J3)s&%-X8u3kffe8Q1)<{PE=l@pP71 zp7Ez_f5%l^xy@)I*-^@@C=-VEU>cvdn|=_#*uA3M$Ba)N-=Bki9BcldqaRcFqw&i5 z@Cnt?Bxb=T;(PNp{HPmT{}V+!UfO85=^^&R!o{;N zcHQ#taZg13WZCNLk4}O>7jXm*Nc(b z%Ex_OC7A4w*fZy<*D8wnGj2P>k?TM?dvD(LzM_v6m)(+1;7-(U%haVGD}Ot|!RNd8 zHLBXhG0lG0MJSEPY7V+)cJJYFHPqXAyYW+s_JwqOT5zLZ0O`ygFzd4B?akwzt)H)> z1M)E`C9fJ?eY<$vj7ZE+8N2ZuFB3kSG1>;EdQIic**C06mfZhr=?1^CB4SUyAz(3Y zr$1HhcrHq*6+=5^xz{Mng!Y1#x+5iwq{z8*s@6Ol6C}`vW*SEd>(|S84tMSM3TNf> z!@tWdpf^1z#I(M-@4mvBQ%}vt&P=0!v~||h&uD8r>&%TF9lqZw_tk0*ARg_2+GSzDsBAEHdx9z6X&$a?d5D8KiA+`f#+GRT^;uTj=4 z8N10c#u&_4vK6Btdq@~dA(D{2u^WsnV+~Q1E$fi6BwHv%B&lBCTd(E!etdp^Fz4RR zeVuczbDwjrb6wA;*Xt~wL&GhkqS-Wi7_uks8>P^RIIozW%~~oZwlxjINZhiUo#yrG zqpc-Qf-i2uo*g}8iO5I^O6J>)7rUNo@6Zfi{cUZX&u=}s?W%C6r{UY?kDg|~Q~hw9 zkTe@Le*ABd4CWduW-MrAgPxvs()wT=*;O{Lbct(dwcpo^W+fGC6+AaKj9S=}`EeCI zc<#l_e8B9?RWQciEhN(Xim8|CUJs|5&HS12*snLdgUkcha20J^I3$;kT89w|9aP9U zy2oDn1j5WKib|{~bKwdDcUbMHls9G8?4^UU-dWMhNH$J1RqS}lh!uu3SmYmc4g=v@ z3*&xvc9eW@4c*lKVPkfG_($Qd`W@vZxgiX>Ew<;|mX(`&*R|PFgDY1GxKnOhRLj#5 zOy}rF24_**+tNjO9t}eutLWAfzdi+>ZfKn7EW4Z5Ix`93Tf#NuM{7Z3moqdr zq@^hk)AP0O_FHGG0?h4Xm2r+;P0g~z&&sFpu2bv^hU?M_a6wHy6X|b=SBf>yPq9To z>InnWwJbWsuJm8;cgw7uPU!?Z_vG%$wytH$v&T@leYVRG-aX21#G+tT)(WTAyUvuY zr7TiEWRRo=ht)1po)IEKo7@$X5U29=Aes` zMkqO*Jw1yp*89TTZ>roJM$|p3*jorYT&t?w51Xf_SUqI}=H@~>-Pr@rekC49lp<^% z)YYt*oe$k_^WiiMap)O+b=Q60$nCWOs z&&S%hUI%CE52O7$+6_@7#>N+)3Iyxa<--R|%`-|bjg4Jjc)NAQ&SWU+gBl&WvvHv^ zJB7uj*Gdpc(=8G*6<^ZMN?kX(ipd@0Oupe!OWgD?b~-i3y~^)YCe@q4>w1HJP3Wpa z(6?}JZD!v$i4eA(*|O!*jY0`SglI;KR7}epdd8g3tJT5!Trlb;YsUfq#pzn6Q0G@V zKRo+uPff^Qdvq5(mRa-Tactx4TW004^pMFwmHrUR4VsLQf}Mt(iy@Qywg+%cg#0X_ z>_Ps4Hm&ayrrFZtjbh0NOM}EU=cVeUxw_nX+cRnhcf<1Tzhd8@^R1XLv*emlQ0ui7 z=8k_*{pls-*$}CvGUuXq_egmvJ0gUBVd@Kz+pBZ>1Qaevpxvuj;Y_*qPNp)qF&!Jaq0P5VUzMaWOw=}z zs;Xz4&*2}`EhWH2Xy5sUy_NAP`)nW*no%NFLGK)O_G?)%YP81ah0UOjB?frOG#Mp2YNlZJCu~o2jV$swY>>Y!b*sAS7t-MbwR~f z^PTTrX@$JNaTBFaGKuej3F;zQ`yo!CE>BhvI ztj=b-rzyAx4oZZOG%KxnJWfCU5gF$;2cIctj$sxN!aFwv&~%N zidTsbL3stM(xt`kubOis#=>aA?2FeMidO-vhJg8{?s8e?L_}&0#_*VVD*I8n)V%lO zrfqtk?Wyd?JgYS6smvW)GiIN?%e)>~-VDGtQhx0ZRn0||-eIA-0QhGDDaYN)pwEQF zN181UOYkHMx$uE77KCfaqtVPN{)?on@sg5vm3=v!*Oe?)qx~!MnT-O*;ftzv{J`*% z&!Q0jMvM#NIS?Q(y=OgS-ec*3sZ`7psA#@)rlLdfsY0`*Fn5Yvqd3UDf^hyLoL)&; zyd2}|Y1)02rW<9=r3XLPbDHuSP?e zNwvT!bKqGhtS6=UYy^-K|0wLH`TDe@I)}83s-S1D(` z)NSu+kiAjf6LOQXd~RYMSGjcY$`RW41{WonBO9&^y<3scyeun+^*96r*f^-W|iw^HRw&B3d_FWo}h9=mGx zI=vfHx|GCUV-@h2$4p||L?l)DgCoOb#nO$D+lR0*Tv+fiBKO-75q;jFo%{jOorq;> zBD3B;iYD|{!M=aG>Z{sdm=-jND9hPRPrKd_DZgd3s#sFlE4j1?#Idkulw)b0v%M@2 zqKC3X39zzySv~Uh!^f?DHr$H14d<_!&k;R?IAC145&`XsfOl=nXmJ}Hk`+{xJnD+7 zkOQHY!@VCnp2^xLNl|6YrHCM!3poW_rni;TZQjgWs72G5Zjrp;rlQ|Zeo+&MjL;hj3mkfOPmLBsBjxKG(3Gq6U&Px545UGH zDEZQst-ty^oRto9PLh_^9buimZEa_2Fb$;{ox8UL=BVd;%DG^MF1;GqsfpxIHnXjO zckv{~h^>=N>~djNex?W*01gL{&s;9_)Wb!~P|e=js=W}r^YKbmtIzZ@i@Do4i3YnC$}y=V4?HtsJx2R+H!Vx3Pk2%x#<1ib!MDyb0|_4K(ZmG)@3v0l;@tpQ z6TL>Yc|votQ&HZzwV$LR04=Xb{KB<)dyTdU@|j2e3~k>>lb(^ol1vJq=`rq)Uq|8l zSBVNz>FlRzAUi;`Zr7V*;mu*hEbw_4JT~RuSl0cvDy}w{`#z3#sEoYIOghGhE5GG5 z??1ZNNov|0V0go(ZaVtqaFkp?bf39~J%?Pbs3xH5L!zNKnJ-hnT6osmWtA-^^4OL6 zi}I^Ul?yUG{bFpJlOM^!erxS~qa~c?q%CEm>H|9vV>Cm2^?^LAZ)+ETe)-*ITiK#I zU9M9jSM~kXv!J)x=w~6j3NPpFU1uv)g*RO>tbnsoPNEO~D|dOw2Qzd1YyoJ(_-~bD z_}JYYdR$|a#fS3bYgJX+RzDtMS?xD1trjB=8u-inZ0|xeZ!#~#V@*=^#!W;*9@|?F zE2+zeHU510yK-TsR+L=6cJ=@^oo-=jC5mZ0{0+`*`!w`$Qez>aukii>TgX#Ce9`Tk z3}$imldmyra-r#E5GxI{8qHFn&q&EE$1AHw0F_X6FKspXGg~^()7vfVYR=eoSsYyN z9!C$(6816lke~KXez^8MA#qj7IZu&~?aSNBjN0$d`r$jz2ETmRGOC$nQ#t%FNJP+^12CC?6zAgLIG7WfJ7jdd?1`1R9 zfVK>YVu6|<7qPYc-PXvkn!D={)8d=wCRAiKTbvvARc;WrhOlb$wL!zI_8I~9QZR}N zx8mERX9=!vu6f?PfL3yvJkIECDkYf0^-L#*q!TJ?J`sEtoIH+6&29U=mO)5$5yYd$ znWEDXU8{x$f?xM?KyimYw~v#3W7z^;N9ioX`J2zeu@%Rx-tGMv+%8hpe^G@VZ#J<~ z#vkW=d{f(bpIktgb({zawe(vyIu3GUt`4slBC}JslG>#b;2)o+Pm$>o#NC3DX{*DN zsomyv(>W>x@@0dxQn3&Hs&TR0p(dld_>fZL!S67|#VdBgBN(RuuP z1X=D_UHHk%?ZTOE?JM^yzqVy*UN$ZlTFRfx&ljC=j_V+22t1gGFk z(2f`Ev_%^@?H*c1`ZgyLUWGZIZcF}^clzpwLqzw?i~X)8@(rXFka+n#yi(=v#^*(* z7vGQREvgTYbJ)Gt)Eklaw#$HniHb1i4?s+)w)y2$87{!>IeNz2elz)UswOoV+p*sj z0X#cFaD2m72!cV=jaPZq%4+8`R3!-Aa@U;%e8%JR`*OO1cd$;Yt-mg9E0d24D6nqZ zSE^4r?5%@!h`e`hy2k4Zpu~bv4O8*8*!a5>a}kqMF|%F@6Sl6OWy}fiyBFu27Kuf3 zGC?l<@XF7;=}F=t+C4dSUeFcK3v6OZsKc^qe)!mar|7(O6+?RYe(|Gd4)=!WUfe}`Qt6^&{JnkPss zF2uVJhhnlhQ;~sw*nm?pp7nm%^Q^FGUOmf=KDkgUBBOvcTkQR87cNUuFCsz z-c_%r>8UI}kbMg&;Sh;12Ak9Ezg|`8NU^&zrUL8`#hch0NE~VT5-O)d{0tV|%Qr{Z z$Db%9TeKm&{9@e;FO}@=V!zcOp9C z!WaHHXP-wKkx`@HHcZa1D_3C49@IxioZJ2>m3F3yZuVZoqhaOO;5(1zzav-k(lkWd zzZ7O#Ft2`T={S|fI;lFB`wemJL7J~v$X#%^hR017D$OcH6?FD2^*6v~$ZpECrfj_= zb?Mhhh5$e?e?y%@iZTbUnB62)W~FxM$!~g>NBTyMG2+sA0kNZq0>Goo=8?TL+qxxa zAQ3QvI8_cUU$M@~-1Vb|jxQbLyl>ODocxQ5+erG*1m!#P*d~?-T9P+heEl0~okK>w%MqVesCJ^V$nBK=^dRzAZcI&%36i_3lZ)C$aqRhn% zdIQHho*X0b4=~RP6m3;SQhsE1`9gSkLT-I7ifFSHj)x^@b`ZCT>3fd#-s0*PuWB`e zv4!KMEyedsifXO~m6`^1MJuz(2LzI~>_^|b_Zm^ss&0KlV%Mb<&g-m*qb-VBpG3gL zeYmdL=Gpy5Ptjg8@F)wx&+B^aRNU~Le3^07L6UFQIP-C@>)4wwKq0`D71TkB#9An~ zKB>NuXTf$;Gd{D5kH7s=hv|;+rn}}vhpDE|FHwAN_47#dXB+A(7d*SYy#he?*{wZRC`FNblTUp_1U;_P6w`r*U*~4XsAi)W7M6AVn zTs8a+1w9U|@ZpcKue!7jxWrUs@=EUVBT0gL%7q2U;`RX$Rdkp<_S0f`185c=LVI`c z_GI-9_*8u0nEOm=l+lyJNsR+rb-a(s*BSjKWg{=U>n87aL42jYlMl0C!=iuxCx=K` z`430lKQLYs-prg^CZEj;uec#x@$==pzDB9XUGIfojh7x`^*Wd8OSuEyjK_y^H}Dci zmSpUULy%;9tKqo*o(!Rw)v7ZD3~S6PFu(;zQN2T>66~KL71Ih^U^WEUBZCuxaXI;&wD9L`&EaI?X65~~Xf8!4FiO94A{IYvL=<|d*?C2U;QUslF#oz{Z(V)3 z)10@ARf=?8#)@qgQtt_X4+c?JqdJ`WuKUry@k3ZD8A^A@>3FI=FQ;Z?DG8_&8xMzZ zZIh$8Q{!=0*EHJ>7o|2omw)kY{&M!lkrnod&vA|FcVBQHqxw$&S~T)n5~o zk_xL`0&|wxrhB6|R&YP+-+!NsA)f$0MIE?x?c&kfU+++k*G19K+gT|4#(t?IHp}pk zm*m@{JINgfJJsRVo%|Dxnu|Q>uTEs8=E2^Y?T^~(C;1Z)01!zW^=8+7E1$QY#DR0S z$DVZxR{=g{Lc1ETe>xF9THei2xTq`Jv`x8Td?%w}JYfc_PRX9VxsaQ1Q@Q}XzhY;t zmE$ibU0|-E`!&JWr>SEDNa}BfXHtJwPMiP_YZ+Gr{OF4F$bNE5V>{CJOPO1X(pC5y z8RRj-9NK&+2-DKalg=-1K{Ur*%I}ubL2Vi>-LidSVd9+YResCe?4=fIn_`r{eJUwT z_^h4Znv|fo&w9`UTf~el&0D|@ zKSPWlH$NwCe7D=hHf57=CPyE%D$=Cwy@xJ4wAmLcae$?ZA==iT4BMdXD` zU5~wUcsGo%@G`O?6`ImHFvD?1&dU4}(*l~nO!*-6Q|4BDsI=Y_Coy_;6D^|*E)JYb zSsoXXR_xHYU75T*)%8CvI0kDD9d}FcwxxzP!2+Y0=$U6{bx!>O0X zBpO|$6x*czal7z=T>O~JD)C~u?WHK@Q5KNMYcM=F#tq_}^KtkP1VoTBqo|=GNl7rf z)#6of?8LC7bXO{JuCA@(w>Hb%qKUx0$Qd(whT^^Ss$85hcd{R-y$V6*NQ@vHc{_n3 zh@AjDbfv}Adr18idA{KNK!cSK!Dex^{4Tob9#GQjVkJlE8!$mbB@go)uRK@Q)z;-h z#9HPr=o8q$glj6K%u7W^BYe0uHcj2BTsbF0z#Gv244#jj#lV5wkJ@GKQyj!qsX19o z5Iq(OuP*kRH$sq=`hg0n!O|xH#OXQdh(-WpA=;?q@B`EDU+}prj(`~O7Df5 zQ~C~hPhO%Y`lx22)WXZmRvN%T(W-l24lTcEt74+}M)$JhRcf<3ukq=Wa_g3~pr#T~ z?Oj6oW2v%pvNdu|bvA|EXjBd1#^fjRq`lb_&h(O7CUw;ZQa`?8ll(I-)>h$GZmDQ& z?JJk67nsb1)0*T4^qfl$99BvMoB@6!)xJ%IAqc~p<(p;Y<34GIEvOs>X=tgkq|toz zkWTWGBiX8v zU2ilZ9Z7|X0%Gt6=ns<)VWI<`jUB~kFGw~dluCr=k=uK;>o3@trgwlA5UjA2YP%+4 z7rq&u_@lV7d5lY5?RjYUCzdA?Ej^*4zzN^X_k$?cImirU-QsGb{LRENwzt!Id$~v6 zEE#449l?aMTR5Hc){7a94o{U?tR-Iy`r)QlFt*+8OU)1nFj-kQWne&)On5rZ}_b;U-b}}yzXZk~vj;dtPMC;tFwF_(2b-ttJcpy>65U0&A zFI_}YW2vO%WWISo8^0-PKaSOWI{Oy94J73kCw_q zeR}Zh1>mT3{UyAx!*O3lMm5;&I5O(ENIBGT*tBWKq}fN`Hu|7xLZo{=MfD78x4DlQ+G8=r4Gc zL$4^{#c4knE&MWfbL3#1^6I;tNv@(#<_}}BrZp;vPnXLr`}UdGICe(Vs33t~uO*8P=G`j9Zi)rmaWv%pTD`C6hMxn7TJXc7@RVf|NSdrEpm4JHEn6;QNt(fDrjNp8) zca(MaxRy$fhK6*?qI0sSQ)+X?hkL2*H%SIz|4%KvjIRT0&q z%qovpw-b@<0&sz*=xPmI;$%uM|qzYM|L3wE_?eHyE|4aZuUhZ z4-wyhfs`bszX@u~C~wFocE%G;&7$80eX}MtkCF+1jpyl?a&Oy|pqc+hxI*MDqpRIu?5z(#Xcp2k1-N@k^VE5edN#flR%V``Zp!aq^#jPQadrFMQW z5Brf5NSrp9DCwbqeXIkl6Ut3B%mK$`CFPBCUhM*sPH&Z8O_ZJ%kLbZql#C-E%5V7$ zPB}3a85XX;F~Ak`*3RvPAFf{G`;MExvuiKz-=itIfbC?6 z1|uGYk2(7}q0HH2maWae$M>&pGQROFSmNPOVK$*}Fxll!N3?qf@R|Fgc&Jz(`Epoi zKWmNkir^Kt-T~*_@8asdqIIXN&b@7R+4W9Y^v~VB9H#j@{$%%05dBHn75w9@JF-%Q zhkooN!9r8bDNbKJVJJkgKKRiZ%bc-?!Jr3m=(^y_VZ?zT59zgr_WKBR{`E|Ju^(F6 z%qCI1>RLxFJpIm>z}de0X`kL7A~Vj_M$YTTWoYAJ7Vl|w39(Cvi~wp1g!IsZA(>uM zkQyVjpwd)uHTX#M0`*K}Q)xEsi&S}U0I#n@d!LJ;n`(P`(Nj1x%{S;Ts)tSWl{U5W z1CioquY9n|E^dwPHy-(Jtu)uICgydQJ4O!5q$MR9zK92SP@wUNz1<`LP#$I~@dIXJ z9<5Co=dx6BcDhm&vDBcTQZi&I#8p6G$)&*6yhzmhHKgQdukrtKizs!XnEe zmT)~5D{-jl&-m<;ifsz<`2~og-p-oiYfpS|H^g0Dgxc*822ayVPg5Spk*Fa#(Cxr2 zd`s_9Sdu^vixjfg;S)sqj@^+tgKvdxzwUl0c?cf(p=qE0(VWk$zM-n1kCY@jfyusp zF}$6?T%N0v@fBM(csR96{)*oj0C>LVl>nO~2Ba5T$-r=8TwP^k$u3J#iHV`m9=ZY75&XWxURL`YYE~1-jKE z>ZiBXI%rht8^U#Ep{}|S%+B2L=`u>HIeoI+A9vfS;d*ZBT?`XjY|180^qcQ-H;k3E zvAX!^5ddcNLfC_1SVdKutNIgEN%O3pdjlesIMwCBF?&8#JT>jkY&*Tj)ywi82KUqm z(iEd*@2Q(pM~rKDC;0EkwrHQSmZQU4&2cpHvn9zT&P})unshCbI8W8LsE= z1dx5P&ttyA1c5(;#?Pu9>jJv0f%vB<0%hjMzgmcH1gSs7@>vgGFT4#i+VL=xeXol* z5fR{;H4M}u0ie@C^!qI5L|Z^{6b&IGVE9)pZuH*5%P~^B=#r~kLr}lL>_1|DU3m^O z-I)Fb*(P|68kEgJiMQ_D#Mm3nMM>Rp(9Wp&D1o31pvH$UnLUyBK<)FNSI5=|IlcV( zDMBl?f>dfi#Y8f3;ibFPg*{{2e^&B)FEkC9LUnA-LN1+?I3)6Bji{9Hj4pwLXd4a+ z-F!E_RUWw%R%sG{>ZOp%9@qBDmxj>ZX2kYAsc{d;9N5u+(oZba!cn5BFMpa1Ten+T z^YPvFAh?`A?22=0DkMB8{s_Q#-^@rUDfn?>cgR9jINRS;s`G`w+bz zmV5YGV3y+i3WKN#O9uR~zH>vMCljDQwh9{DUC2>|BsQjbsf0MQpMgzhc^no$X&hZm zSWB>}X}}dHp2JWb-UWkZ2O!$bmAUQqMa(tlE>zn3RXUawJ23)@axaPJ{BY9IAv(B; zFnEt{`F^YS(pR4k-(V`1^kPYVcpT1Xc1?g5!!q3WPQ`8-#Z)SpIq;-K=9Q;*Bj26f zy-`dY3#(z!qLM{yF6y^3yQT=8gJct~<#EO6uSwp}P5+}+bOtRW|zw-ykM@k+8<6&%w zM%zKek`{1Ip0=4&^QFHUSy#?x!3^tmW+Ht1Vn%h-=5fvzUA0PBOf+o3A6(09c$Wv(W#z)~FpjejNTb&sSKt!TeS`&qb**cmom_P5# z$AUP&l0tg(79nR>MlLJG8BFVNKl%XJh>IX6E`+Z8DvfO9Jl5KGNP#{IlJsgFZ?f+9 zf3-aPy@Dy1qR^hG*OoqER1nrMtjh(OInX1G{CecsBYbdRg`^=dWZ*$CwA z75P(N$EZUGpI(@^ifsc=p9ye$@a0`-BE|Q`hMBm=2icmY5<59AGmZl8X35TSS}oT8 zoic{oC@)VYvTj6U4_f*`s01{P$m!#iX`Kc&ivOtzB)}Fjb4_>sc8FCs?ytjI)EJ{X z=!ma%CDz_!-B2Az_qF@bO!hK7^;^W-vNz)I_UZVYWU81Ra}BQxG~1W#C+zvtFkTWN zx`69z&QY)8r57Jnz9wF~5&hQtBlyJ#Xh%Jc!-E#MGs!=E^VX#oa|J)H-H2VfXwns# ztbggMxI{lMnE8a%?}R_@%7o-keinH}ij`~CSuE`Udp_L9^Ng-Y%!}O;35|;O>pKIQ zRX&Q%1)NQvX1P|hGzmGUzSNCRR_*X?w~&x?M(WpY#N=No>nQeX!c}fe-iVJ__?>Xb z?_O0{zN7TEbL zzD0b@i-jx+nFP>xo6pMbBOfpPxE{SI?-o4h+z=fKFcR`N%8474UxlBU7UagFm8|<^ z-YRde%4P-^FiiFVy+DO^yJMeZA(eBTlW8%R#@FEN2KO?A8Cz!}TQ6uxUEj3{Q!&-$ zg>HveoJ0cjR3JJGhE217-5d*jJ2KImkdGgYpPCU%XDi$j;m2WeqI?dld{>+iX z%ysl4j#IT-_=}8yiu{2{mTA3>vt57(WW}>EY#@6{Vy<8p9iYdsa+r8M z8gzin8JCIkZZzx9&?v06D8wXGDtef6B|0V@VG7u~7F))72Q8m;?Upev8lz-rLo(-N zWn3z^&l*5dnKWCFSm_E7W1+O#8~}mCw8=4uB+ny9VXzbSMSf}haOAL_eg}JhYtOLMG z=>X7WHga5!V{JC)_qDzld(PmUSQ-X((e&q&$TCm&bUZuNWsX+}`7uFyKAtFmW}^?- zTQ$4JqfO>QNJwXE$Y=dyX(b+s^h!{*XCD-tPGZ4pLX8`lUZ;JAk#y zIrG-Qk`%~hzb5k|dfv`fksP8R2p&{OzIy#-4@tH>rBTvnm6}L@c-Fo7+M>kVg=I9M zQc+)FIYf9MZusn0XBSGx)yyGk$@EsZVat(fOglTm89QCc13k?|_NMPe}F$HlzU zacGxY!juk7_C1|_oBbH;w=!Rq;hLNCt;lAd=W{L!wgP#>N~uUxtQ*sIjmK+**w)0W&~4Xwew+({~S z0r5;O)B|3tuCe!^IntyWL)S~|k{_RDw)q7Y6uHZW`50CPd2MoxLIFNfGh41VwyZVF z1K#KSqq{-p7ad^dQp%Ne(7~gUg?~})MNBgO{lkkkdL_==xj>`u5lj}y zSbHDDsu#X4y6|y-opn3XqAoZ6zyvthRPovro=u_0S-HIbhUgt|M*$uINKZTdC{G^3 zwp4Zj6%i;1{rP!EYDaZeSrb)>z9P*~VXRml4TSPH9)P8*EMZ71bzF%|Al!73 z3Ez71F>t=Mw%z$;88T)2G!QxSU5D~7r)+}xrP$iupPiJcXO$Tv$xamhG8h@GV#o?d zzCjiMYpx3}^Wi9fv-Ywi^A%w4goyo7w(#R{GN(iVdoqyw43G4RUI_gj`7pvG$tS2Y zx%4) zs#N)1teC1CQow_PC!x*bvypEL@7wlZ+;Uk8(z)wR{wMGjy@F`)uMmlh3ExJ=>8gJQ@~kJgA<4|>8;i%Da%z3`gtigo z^5|-wbSVXupN+q|lIhZ^1)?p7%R6ybuKq-@cjgmj=dLV6GT(DYWMqJj9~L>zYR!{# zS|jXteo9@M^eGkI^W^*^3l4erGRqy6ZM-uw{4XjH$oE3l2iu4Wnf4=XQnGpGW{<6% zD%Q9qGUM8OWfD;F6)I*j3n6|T*c9l&+lw-Gi6Txyb{?EAUC!o#I)~~`b*X)SvVD9%npJM6Ee|q8DA%>Cs9p$@tEbZf0NR>U# zsq{oDB)1y6mdR}7wOtd2I7$|-KK#v1vN2!%%472xpOiiLHDp6KF&%2s#qj~62h;%f z74~mah_5`d{(q$9CcirNHYmxUu3Yq%(MU^dK6mF9m_uVXBBQd?%l3ppmD-|=<9xNo z(%-e${ukBbt&=4Mm`mlwBy>2%RB8bb_fM?`^6j&0>>_$fcdXJe+!=!1jI~^b-ON3qnSS=#kS0ZTkj_#sps<9oW+z~Xm*(;2* z5c!iTWpZ4l{poOb;8ez&g-vU3hcEa7+@`3Ho{f)a-^tFr&<3O5@h7`KdHB?CGM?mE zb03Yi*!-h^bSnW`QyuG6BeKIjmu;{kC5+LP=i{gy1%y+Pi-3fT5rAzAVC+z*qK~S> zqyE;}v_3-5Y3S6`ICo^JV<`P=wo>;T{=NLP;XCOTMPEQxQN~ z8IOJJui)wZh8cRBO-24Voa`F3k+?uIT=05Oj4XcX2?I&d6-X3bPv|=h<;>kO;axU@ zI5QJcZYqSqkiCHY`M>D-#iemMuEQEAxDmj_N8kMdS^6Dp@`v>q zu)^atl8!1QJfK!;YWRZaJirimnu^+`=ifdKV))lS2x3q5p--l*NU#RB&4`tpw*XRc z7l`N`Z~olsuh854-Clap-58o~B$%tAR4O-j)T~Gk0jZ~YH)`{-cY;M*a{Eyl~s|3 zAU^mEswx_FBrE^k$aH7?^P1)_5>3Y9K%|#WX=+8L%3F4o9U`V}Pi3dDR!SJ2X6=S~ zn|W+AgqOAAk!b;F!~a_%N8uxtB9-tiV!4k4Aew?Ukn8`Hw?)A4US{-0;*%goY-6=d z(DR5hV^aA^0}w0ZCxogK>5MF@aH#z{$Fm@=fC#T7*0T+p?^@e#G6pFr-|at>LR)YP z3}6hDa-+LhHlTMou;$mholZKamT^-Ved0o#4bcTdjikX{ER{{@Xn~1{2_!S&LzE&_ z=+g_uMbhUU5dd29*helHCLE4!NsW5Oj{N2dS@efWspP_sFI^t=Aqae-2O8Q}meedE zc9FF6eb^-l*>N>|`fHA>_oN5b0U3mWerAoMGlU{z=l-VaqqlseP0G;fO`MB9Q7-x* zKOM@Lw74!J3PH^a^yyd68}Ae~i~L}6_})1{c2+JHk+Mrle4*HsbXJ~2E4^~C;BV6c zKRm;aw;9BcIS!$+`^L}I3K)DefWI(1o8*UWY0q3__|EB8t^_B>18hn<0EPL(Ok6u& zT$dUsPPfRM06${@?^k{XnC{13YtWMpBdZD|B7i;!av~Hhh~0d^$DGdMcfouCdSRbk z+8b^%--lyOiG<@8ue}Sc5ZBkGZ5!CGMAx`{U}jjfBf~aXq8sf(J*D1U-wwS~^b!gh z^u#;ll9QV&jMNi56;2fQpYBhm#Y(RO?7Ty~=+edVP4PD3GT-CYMfX2D$fhf(3&5_N zh&t{Fg{N;V%AWWX^K7WjuI>x1tQ>nN@BWM<79<9Di3_~`fVnopEu*;UI5~VHeXDaR8!b(W4FC^}h#i0j9z31| zo*-)f`=Btz@I@!k;z>zW2mvN(&vHx#| z;Llw*=MA|4+{zh7x)bx>Zq;{MnCL8WI3ZmVCYDjz%X93NJ`Hsk-7qU_yLYK4+uU#H zOPRI9z7EWkxnl#kBrcVz%4!*5gy>zR^jxu=u342=~K#$xQjWP4qx}C%xMemqUg=i9!KCO z%`O!^KYei$BEZn8!iQEF4bYNKpB5Yed8mx&ukxN#>$sTnF&iq99OKOIp)&gQudxW zAjZjx{}jAeNVxg$_g@!A3#X?q_?IR#On|8sAeBw~=bM+Mqf6^Kj(e&5JS{Y?U6{)0 zfQx0;aXUlZ<$gp%X2J#TFXIb9{mAZJx?;%hfvgI6ICfoGw?sO8i@1g9?(iyq-bJI9e87ucNo7veowFi@vTC$cvGk^6w*Yq8{*v+E>P!qB;<)hEwuH%25M z5y})%&F6aRz$A$I<%(Am4k5HLXGrJI4xVqps1P$h4XP(nN2$!Cj|uDP`~UL}0Lck> z4O5E552de9gN#G8d6c=t^YN_H&2gGt^?1W#EU9B--qNT&b1&N(_^k&-U`nzT+qq1} zl=Jm6o)hpT?%3T+_uX@v-l|@&V(!gQURIa%>U1P^R7Hkp3+!|K&<$D$`cfXE%}S@B zR2Rh^Aw55$53yfMd8^&H{jm^F7|;eJD#Yhzbv@px3QeXSa_&EzP{R8oN`P}^`O_M*l&ke{3k$Claz8!rFC=X+}1F%(d z@|p1=Sryl{14x=_qPtnne^6t<1;a}Kv)vYkIe`k8wfX|Q$JD^GP`41` zz`8C3Jj^N!HBYF=(~K8i^YJ`6@y|E(zZ6Z>3G*u3iIL|N{+8bT7G5yRp!0wyS7ujc zbmRZMn;If&KtGoYVxfO!cT^!g3XGMHb|ooS_@Q2F)5NPwQFvx5hjn^djr&IxvV>PY zI+z)d%2!E1tgBqJDCi4NYem&#k6QS!w*#2HweMLe@=)15O2ItNef&iBKi{ms$9E7Y zNpE0MFAyK@T;3j;`He)I*$9@RcgO*q2(=Prne`5Kl~kL9`+gNEjA2fVC%)qEDXr2< zc{d&BI;R&OB?&!m|MS%yG6`Zo4sMU}`@`b>ck#J_&l1x=uK{ZE&pMx8#-hXyCh})p z_1~Bw1=z!SqI9?LHtGmDPf`5D1AKfs_@*T_s_q6+$Y#6|&tB{nP^zd>OqiSc4fw#A z51BX^KFoRMTK-=J|2<~?cSr+M%X*lDtBU1LV}1Rzf)Chf5;Uhh@;)-BWfFO}Zb(P` zHbvo())jl_SN*aTFn7wx0)CVyGb9+ZD$QE-9O-8nfF|=NSGo&gg!4T=rUvg&F6`L? zO-QUP2AVAjNa4Mpk6)pFN^us|0H8ieHq&wcWGt%)v$f^gB66l77)6)3^95fWkU)T` zt?c9}WzNP7aRXq+$4vfG_0BV4r5`w{BEyghspt8Je7Fx6O!5DKzC&2@lpBQs?uW4i z2l{oIIBI`6DFI!Wy_XkLy{a{l=BY=Yc1*0kxU(WyNP=M z{;rfCm_r>xs&sMsAtRdz3|9W;>CD9*zz2I{r^3Or{DbfSGd!Im2-vbY6;w8v#KHwZ zr#?-G*{-Dgcuy39J6o1*zy0BDY{ilQ4P;pH<4(3cf0w9sbe@R80iy|jSG3d1?=UNT zOjc;F<^{+GxBcIgiGOrJZ4$e;eSSWj$E|&6!8aU*yP-o5gX5*->bntKfLhZVcV4D` znu44EKh1Y?$oXt{6pbIj|3h&Hz={?A*S!Dd_W#>E+@8`@NCOS<%G+IPdMHEA+W5D> z&ij*fU1o>*<*62_a{&7@=6Dxr#{a49x&wg4%{#F`5!arsYj=!j)!XpQ8 zb^ll8PaadIua-sUs>o<#4;TVbNJO(;760FMga0qj|4qq9Xs!!wM8?9bf;0tz5jQvj z0A$oS%O6p^i|_b*ea@&hi}o}q_gyx>t}yC;VcEIyw@OiH2_;(giV%Gp=#OdUPwmkl z2eG_IAW9`b*thfB64jUQ8G|XcJJ-4DMbN8ES}fpl>Mi4&a3=-Y`ul-(U<` zhPC`-1&}^ZO18?aOP|tu+LTjwaqc@AU2V%H&wIp&v@rx^U&{r{RM8lVURd%c9xeCz~jmgUilQRtX>SPn}d*i`NEsOsUeF5r#?IA%t* z0$e0xZ7TT8{~CZ9O%>y3hp4|UO8Z%}N)X-fqHY`T!L-#f$HEI-?}J$a-s`5*k3`VS z9ggy9?=%0eR@q&n;r0t-yi8?;!w~^Fwa;?9S!1)7GGDgU_1=(UVcT@|h;{)CaCLH; zgoI3LD%w&rs7#rn{-5~78C(H?(DU_dXc@zQzY?o=UcWaxHLei85uIad0HWelVd#sV z{c{)duxMDP+m7;!VcAn@a35bH$3@%D(@nV2KP^uU!QxdVEdWpO=!a1>H>G5Oj!5kf zEQyqQf@M)4#2*DdDU6TpP{h8O*^__r`ZrIBvHwx|Xt~oIVKgt>qUyGRAh)O36F+Hc zU5CR_v$vIM(@+*w0FvrYML_)OR3)KIPpPnV&HVok3-oifS;yjY2YbW`4eTiQnboPu0;ZIUJ;8Too4vhJ`+e4#r~RavY@*5}*nt26 zh-?I@DHaMH0y6{6Lfsewy2f8eV@mV7v#vHZ$!|xc7M%PVc#DtrTGo9hIL146ZKNmOPCK?F!%=izUrrLmMRKxw@r`Yh&&B9v z3v7^ydzU{8QJdX(?Gec4#oW!?Nn`n)UfUR6MVwuT6`zYslpK+fpYPhosF@djg_+!P znsKMU8VN zNk_>k7iRLb`PNN+OAf5EXPVXGH%Q2&*Um(rf3z<0kL_HGPz4h ztx`-D_}p2`o>D#+b2;@4apYpq!hCh$;qU;H>BAtbcOQrWkpY+-C=E&EuqhGff@ z-GnHGEM?C!#%}B>`xaS3A`G&IB7+(G#5Ci7hv)e|&+qxYe*YIUb3gZUKlh${?(#Y3 z-h0j)kwh~tawMr8c5W)lvUSPu+fp}pO3gc|>^eqKG>ZbE{~oWTP7Hc7%OPuvI5b%#Z$GuCtED|39RH&?(U&a1IRN{;!fwAD<7(mm_JuVX`XcaOZ10ceN$?*5QXTSy%HCWV8n!BWV@!88L;OC&;<%y`$ zb|tNWpXaeB{0WFHH^d_jAwBJ~K$@b9BF8jme0KFTo;{?r!Xb=GY~5W3l|fllX~0?w z>>;*Sof^%HqB%XUM3$-QRv6DfCA?96pNdz`sL+PAXznA&I&Jjsrd!NS+eTy>JzIo< zI@_(BVm=y!5C4`!4x5*`X5Jv3Q-UIvSF>_K`NX_{7-_Qpy8%yMQlbd#Dsro~P{t2~ zrIzGrXSHqIut?enLSFl!(UFzYVY9{P@bWzE&=WFFnwd^yL%c0-uzu87b`PZ1yNgGuEq8>vrr1FG2 z6yftXUvFp%lEIIMNfZf@GC=?D{c|+J{<%DkRKC0vPVqNk{^RLTbv{7d(S?y#>-g}k~ zJc=znan}vH{z1C1<<0jC!?SnR+46bvp180TM~1SxXdqlatd-`xVbD$eCYyHu)q40b z8sH-@{#h-@&U;Y`Xyr?AAWu>@EQ!41sj_hx>!n-qR9e-(i}u1wxxSc5vuN+)+ZzGu z%~6Xg>32%!L0PJg{m^NSYoDg8@9F1{E#{m?~Z|t-16AloX8 zU!&8o3g~;zL$4Wl+q~CVPc9epi~*r0I!Qo6fcC`nMIP&x%5w2jZX7$$H8rN>mg7~W zDe|2K&+6LLmA&t#6uHSjCFWmQSxfucC*)Z3i*-bIlpbKx9oc|iH(cBbBE)MLJa8|s9aG0PpBiEoTS=6 znyR(Bm+%6-U~%%_dOqlAf59E}e0LPkvvApS!iTWY{5_|K`5llYXF2TY88~d=9r^w{ z*Z-aD2_o`uv7SWRU%4DtY*Uy3NV)%I%ON9=)Dn_%`mfu{r|Z(D)p>aA78C}yO2d;b z@T%9bos2WCprw~$ZO#*JB}&kTgn=p-k;WV>gbf%EI|^{}PXYm(lnqHYJk%);8AW0J zJ4^%@~;&>dFR1iY3QQ7L&Su_oCK*brpx~NTV1Hj)NY4?x8(Y^I-S_m206S>L=Zk5^)`iDI zXlW(Rw5}2oIm%x679Co6$6rz>#$(aD_e;pn?DWnhoR_7cFQQRQ#Xs?Wc!9O6R-! z&1rDT{r%c#(_vGHfK5nhz>CF#rm+aCL?=}*7`S7-tE zy=IlK^CVq>4{RZ-{~jqc_xxWDp5bT*N&pLsF0;}kMF+_jE!7Jjasb3_HU<3e#~eE) z;thtJ6M|Nf<@ETGuUe&Kkcb4WJa)7!@K5zcCCJrs!pzA(=!uf>msJ!q)E)f3DSL+W zJ>10&sw(N-GM&<@9%~Q%Bs z9tZ-=IO>oFcjb~Qoc=go01-g<0ovc$7v#!!=T*Yv9QFpeZzZ7}MF;hOO8GVR${@dC znOkl=?QZ0mVY5%hAQG52QiO6VJp|y@3E&v?A;-;*0m501bVy}xYo=W`S_94Lj*SB{ zapec0Zm?e<>7c~ALa%s9e6?02&}uoupJVSyA_77@1c$BJP85mqWFp6^vVCK3-?e2mtRHl$A>7*a2 z3-dX?Za~EtOgl#;K1({rNMX8|Jk6%RIecfxap;Cqfs=$2`+H#BC6Sg#c16h6)S{N@ z#EPV+(s8||Hzv(?*JjScQSi<)%J;g{epg)VXl@W54oq|>9I#sx426um`EUh+j%^u9{&gi7B@>y zXt0x&dG-6w=G){WVHMw8pw}V&r;0Dzu|m2EC8~c7NwYmjP)lHuM#BWtwAoY)PP@sF zh{`%7t(cRqMo0tkh>Wi*$G&P>{91yo%gLeHTrEoy&H0z_-hBF~BJhF4y(m{v)7)B6 z>D=Ro72)^}!3b>-YeE0nopbzRFQ zmENBr9kn7yC6c>MoCxSc+&KJCI^w$?goGwVI!bv-iBy|1{nH_$lCe&%U-OPAdbUv( zRduM<9cDv1u@#zre2wt_bkb?ERdy;0M_M`oeHv{WNs+J4e8-;St>1;KIoaoGrk|3O zmvgo)kerAJ-B*xIt77h$d}058Ob%csSEeg5keaN)A)Ylj>9OoGan7ekvmGUfg_Muu$; zt2MK!i%Lj1K@(qPCa<;bK|dNzTxL!GJ-n8ywMLcrhx?meqdISajPRtILle2H((hmi zJMpL&q7pW_T7v?W2V^nyY(`VBYNoW9T=T43YoeD6F4=1dxm(j-GeNjG-Zm@5BC;|X zC=H_kkT2L~P`2!5NqQy2_*+lS+VaD&H7(uRllOw^5yxlkDFkR4;3cHJxxZUYYu44q zpz~Q$)CVv_9j};^l-P1^1~M5d6=nY)$#Srx5uZ;2D7^VdM+M(KdrPa916mBE9L!l> z945L!hvf<)|77it|8*FzeE(`Az51+K%EGH3VogEYnz2`#o786wb)`yX66M2jaV<4M zM+w>DNlKR#m`!gk%-8_h$RJhf?E0?Xg_QRwo!wy(Iulxkc3q+D z%BEz#dN= zm?pQ`^N#mm$T1fQPrCIDs{WUvce9zbT*nZ(H#?QC+B*bfzwHBPpU4{}iY!{P0S* zK5mp%Wc)|MA=%BrDj z2v>6D`|_{I-r|ccdD=Kr`sw}Ot2IDH8vU*sN^N$c_hYWDw}J%yVGm+l;sGuNDYWPc z1HCyVP8w=y)L$O?m$HodS7)O5h}59DI4#Rn73vqhzFL<2m8T5A2p(<`@L#GHv0&2U zp%>)$yxd-uo9g4H^j{?+qUm*h+_ds_>tY(sYT*4aAu;$q7!~?^30OpISZ=3sphs=c zF$pNty}i38>{(VcKIF5WAYS?Sd{|ym_-gfbGcX=AabM7_iCTGoI=iFflbB~0Nfe4Sy&rHuCQYZG z_U_GbmfK3gkLoV?xhQi%IJz;2V&lei3U^n^m~0ohFUiA(yMvCbG3hXGJZUE9HbiQ^ zJ-$u*;`FG1AsLEIOKZa-=eyZNhsUglNA-#olG<=)3&Vcu5H(>pS`x zdOsP0lF7EcDnG;V9K5(6ZaI!tmx3x#k?L{yMH85Cj_>oH44&C zcIXN2h-w{j!7y=_4;_XSOdc}n;M)`I*W3nWJinUMa=a30+o>O>)!8afdw$O1saL*h z_<1+p+G+1a4+@5+ zoz-9GA6KNk*GDN9ru9%T%p(!d{^5h^2sgRiP4YWT*PkHU&La#dBxvt_G9-fnSxD%* ziU;d?#0Nu(bF>)%QS>V7)lkDHg5a<8H%~$Pz9HFYC|&&-mJi`2vHSNjs&bU;hf>dJ z_1&U0O^05Tb$dy#P36LgrbK>V`M^pBW|(`l8RU1!?@;kRtvB<{>Pn@SI?>!&Vt*nr zDOEtYByx8&@>%KIbuRZkC=Kg}QK%P_@sIzCJhVI)G8x&Zc~R0HSHzUC1}$5-1G4rf zJHlASkUs(<;SBq<6^}#gk4bKD*&qrp2?MzMkze1gfq{qCzq_MB2yvQMkKI{0CE}kKRDy8PtyKaEh#IMl}f`{+~fdMW&g1wZ+A>}Sdn9_ zU14I-iqt{5?JrnD1=O(-9ILTS88xqiBiK>d_{^NpsafvYNz`w``O0 z)h58E#om=s6f3`iB+T)gFl~C7NthZ@0`GEW+SD?;$r<9Fi?4#MxlN((24>9L<7gh^BeE*+cKky|0fAMQ$aYWx> z630g|&r%n2QLCup2pg|YV~H+vmZEG>;4QNvT*3*`mAzJWHb?LWEXMXdS`#A~6sK3b&{MDpG89!a?L2}q_~G2nLd(d}2?vBEWzt-WdS_Q%x@$ga$l zN%Hi%g8L!Jn)K(1BZ)slfl-E`!JW#;Wh>nX&w{)+Hip2m0Q}w~x!M{@5Mea>qXHg( zR@%FD7zl4Yiun6Mh{*<^BbgdF{Q_lvI3$_Rl;llIlBbVWM{BF(v&=9kAiA-Ctz~wr zATL+2zr-cdgpLhRA97e$;opV)JI^oEJ)Kn}Hu^!j5hZ5v&2Z?+Or2a%HEgiAvpI)R;uxh>_U}LwC-oYGBW9%x9buAewvO_G!%7N;~{bP$TiHj(QN?2%K?r z#9&@v789o6rpl}P2V|#MhHrgk+2ltO#qUIP1ZFL;e6qDRoEMrhk&%@^$uNST4{ve+ zXCBdjydbaIs$_#Re;}<;Uz_v&2;=Rkw>7y2#;Zo*yr3p&@zZd1g{T38` zV*&ga>M38=swsRFUXd@!Ywg){_Zs;{3uh;!P?L#>Ao6m~ER9)$hp4uuOzstGIrrK> z%gBqAJQz$-dh}YCBo|uOzbqhoa1argFhgPiH4-upc=Dgi?8ll?oHit8AzF@@1`=%1 zK6v^+W>O;+uL3hL0nWk>V^6c`tgeiUKbpeRMV`ovpl`c*McQ`to?V^O)>Jj}FsUjz zxt^P?JhvHIv!F|GzTPe&Aolm;|H-}2Wbhn_s`;sFoIJ$t4m*o_JeM?!_(At)K(wv2 znm5+a3CX7dMc+25GohybXy@9gmIq(B3;YbT#z37tlD*ydR)5CtgA6}T7P+o1bCy1C zhfga{4(XcwQ7IpvG}M-nG-*ipO1^Qb`SZ~CiCV{@k5kUl*0kEic2RaA&~;fDMH_HvJ={7hsCtv$&%{OMxR!+Fl&`^$7iFTHZU^{}K` z;;^Ja?WD1Y;Zs%gTTSx`RUl?7^Y01a71^ZBN<>ZHiO$`%t)8lQISys3EX8#LxV;Qi zIV$>juxwkITNrI+s8Y8KqpQu`6D|g-l)rwfx`SOlBuUvc4vBKS_+P>IXie0f}o%*54Sk7}goRQwfxCk=qf46`I6aK$G00; zv8COH&(VZYwWcYcos?(WONKgpHhXV0SbIQ-y~9?+67!L>$`M(gmWJimb}351G3xLLR-I)j5q87F;3sgNU;mN2%4Wk+pDp}B;fU= z5I6i*4t;w?c`U{BOPhG`)P_KOtzz;^^B738>}XrSNLc<|L3X2QL!CaFF0d67I106@ z=Ni?WHm{o2AFF~qQY_7Cc;l9~t6r|YlYleE%gJKABv(_$xc7_7h$w->B*jrMXxgsk z%4@=X0?N!6hZw7}trF!KZ%QX5v7L>9@d*n|$94~~?i%~jFJCJ{8d3z z2}ZwNO?r#dt)Hz^BUU1J%^EnDaa^QuVHIi+#2d!j@GbjO>>7S^{spU;T1ay1CMe;N ztJU6+VN3~r{DABSqes!M)_@N_*Z6Mr={uobtB2XF;P^3RA)D0Gy7nd6n5;*IBE1^= zk56Ul(!xY78NKm^#JNa<4VIO&&-&(c@FM#>O~ZY%gpc8n_;=t^Oy)zahx=b?r-W)(s(;b6KOD8@l!t*_c+}0Q89z#Znnu6in0+r`sUubMl_I zzxirm)o7MCJ~c4xTKG#uTot_UE~eEhB%1w}j!MR2P8=0gMqQlEWY;p-6@-p**#(ale1 z@q$3d(`_Jpg%>>NCIAL!k?P;-rP#nk@Wilk_5d=x9g2Vz^LqV4`yo}{F+1Ee%~{8Y zy)e-rMjw10aVb_3`fQEeABqRO^1-LztEhLnr}Y8X)f))ixciJNaSiZ36TrBIqg#he zZhdq>=Bu<8py>0kcCI+`M^}Y-vUo>`uU%^~WWEe$vF$`?(~57%VI4sG{)XbA+YVT3 z@3I|s$*=$f47uj@Rs84W3giLVl%8Sn%!T0II2U*%?i|o+^zowi!?*03hMLD0c&Zi4aqx??gWT1lgJ^~;frglP+wF2 zL--^3N&S|-J7Ya~613SqO!}J%j+GmqejfC*!goP& zQ_xJpz)LWppaM3G#D+I%J;ZPd!b@B`P?(V>p-q#~&^9)s4O>_ZZC}bNunSeJ7q>=n zZW*o_lwn)F`AaX+Q-<2;I>RGyvkkmE-c%P-LLvJkKAKf8zKwkVYP)biR`T0$qA=IJ zsau~g8Aq&`Bc;!}&Y?p@cZZn5R=Av##2({wOrY(pNgM92y4AY3U`taUQK#b0hBb-l zx+KhiCSV>}KNdQZ$rz+tt%>nOdEvXxg67vHHHU0qaYgY(QD@`r^xYXaN&qK=_6jnL z)5grJ{&8A+l;ss$C|11jQ;7Vl7f2tywkPwsgfKw8pNlE19#Eb2)R9d;Z{rufR$k3H zW^!}tHlhC|u@W~tfd(yDf`0s9xO%P;Ag8&2J}VGX|NVdr8iZ09gD`qJ78d0s=52M8 zAJM^rL|X)^X860U&b8-GEamWj$|Ur}7)SWK?G8^YWn;MUVO%>erVZD;21#A$)B#zk z0vdEdNY_b->WK?pht-L8=$re0Rm3-UL)(ZPQmwi04W=i56d6oEJXM zVwUtiV0K#-F`qUs7Kb~HXS^)gN%+{FD>@puYaHYi0^TBqES7I>VMIRclmXLqW^4)M zrEXofkx!4Zz5>EUr%hpjL;sDFI@JrY>2Er1nHPQ~+#xWG>@`XvS1-u*>IW_n&Enj3 zVOqVwr6XC4(rD(>hXI-qi`LVu(}v^x)BHt*Hl01GSwDL@N_@0Qd%5aj3F+M^sFNSs zZvvd$_!>BylJ79$eeq7?ecJu~4Gy6t$$9jhjiKKHeNTcCh(CZ|u*KZUWc|i$_fde4 z-Hq?pbr9ZYL9|p?5EW;fzV*V;WT|5ZWL#Lun$a9H2~4?HP5d!y#7m19Saih&yq^*7V&im0qqeE3BGlsxm;3KLfo@$_>vh>;G zAO53xvEbMc@9kv(VbB8CxV2i==vzcLvvZm2ut>&#eX}9WTX-p)siihqDrqP=xvkK2 za;X@6Kh?E;w}+}l%%A{0jp0uQt2rkyqhVhb-?*7t)-TV=q*7Fke1XqkNYmEMc7YmOoqyGE=83vFuspeI&>sVFatpO(fh z@rC^Sd{@}+E{rP9rXDenx)RQZUc<1Q5AB?s$Nq5?Rr3xPe)PW9mFf$LJzjt^nxV2D zS}a2Kl2FYY%mZQjDiN4Iba+Ud^0EMc$I2HUn_8+6-ZRxzHlA{KCjWnlqYN4i@r=h* ze~CUy-wWPSKK`|T(iNP7z~Zh*ACM(NwpWGq2p`?^;xG^O7Q`>&tTMyFJJUTcwFTLM zu;|wW9oabed+m@uyu9OyMrwL2r?W3>R-Nc}QV8}ASO6DS^pRs5m^!ns#p^RF$&=To z-5pWF;{P&9O_cRd4(j^zyTlF-zbHj;nrQTL)vkG|qR+Pjvh&0a6Dyl`Xh4Ul=af)T z+6pc4t^?zpVldaRn;ejdVObTv2I%69DmIer3Aeh!1prhaJ_@EfLPS>+uSEuh#QAn! zQ%{Mbja(l~9r)yGv47`Y!P1D#2`NT*{wGwDoc%s=O%qBLNYm}dZY(e@r`0jtfcMa# z+a0HF$L~qa!7kuSa&H@3u+Tmkc2Ypy>{*&EFsZ3 ze(3w6FI-2w2Sv}8B7Zk~D%9Ed4H!zyF$p=KgXQL&I-9=FkLxu*B)l`(Qz>lhrPwj& z%vu!f!uPBq3DqWh-8jg+Rz>kEjYV<()b3+*dyQ(<4YS?O5lg3G-G(8XQS92|3AMlL z2&k+zbOM$MWoZq~qrc3K z66dLV9**;94St?gi&pd;ELA9N*}TGWNmELIhZ$$w7jmH-xj5}IFl@1YX}^%Kdq?{r zp~95&AhUo$287JEkND;wU8wYQPq30i~hP4@csOF zN1kf#RHL8|oM%dZtxNWCdDf$hLZF*p^0j4_Uboqs#X{^tUdv3mh49zkQEtDB7XsI)M*t(r&XKKiiGwu(~a%9K1y6|U^;kh z-2c-H5*Z(mxj$`g90~bxUh!Hhnq~L5++?#3k(dAs**hP`aXI8Vc)|W8&8$S07qRpR zka;xg)_(itC*9h^7C8Dy`*VEubRf*NetSI`igh!T`8*$j8)-#n1wjfzdM`jG0<}_b ztJsy2SzSkXWtu_q@YN8wIpG@n-tRj0*qKUmNu;m03R2XqFZ8 zjIzh7riJZy4#*mq6wJeFaZ?9mE5ft-CgG_EWZr_qo9rQz+;~jLPSOFHk#R}4jr`n$ zII-*Oc?^wN1RogM)&E<${~c*qB0+ft*>TF+C@#i**LlAUqj5miY=1yzX|)fN47!Ko zd0Jlhge=IIU6Q0(e0=C$U~^e^#x7-M^Zi^Ah-&R+p6M|eedL=iU$Pqz&fkt2W!N=p zZGI4P7Z{^{D_)_733Zn&S^z{u1(2iVJ?wpkcZo49n@PcwqYZzIpoDu^9?sfVRJami z@yAJLG<;K=xc_=fm{<&Rwba?XP1xdI0W&j9{N&#+Bo@C_e_m|IJ_t*b+tlZrm0OS?r*L|y- z#`WD#p>mIQo3npaBzFS6LdWqV4%1B{3c2Rv^R($TVH~@|dO)UE;@f1s&{ zcVvB81l@4VR_vOD5$q0NvR-K;opV585fSaT4`%Hm!^)Zm@WK$EW{?pIDzvdZU(5Q1 z0$+wjgANww{%q+rVFVnPs>?kfo7P|3e(!e0h-FK^!9wyc?s=T3T#ur zHDoo1xR5}whb@mA_*Lm*x|x0o>2pUmLs}A=UlRtmT4_gOntZT@Hkva%J!nmGr4&uz zXfjDb_D#n5udM*K77Y5vEv_K9-3SZZn_uPSd9O4t4Ux;z4NqLeWsPJ_#VeKu?UXM? z7bMI$U;<^6RiHH9ujItc@U*%CSq<)(6kr$xa>pv(|5(cNNaXgAWI0Im9AyZ}@SEU)N;~XUiaPS@_mPAGp%5`z*2e5#8qn0l72$ z7(ZMhmgqif3Zs7yYaO4($^(*kvMvmdyTY-%cgD;Ilr9-Ww8pqpw1q@>@Xsjp=vwL= zwf)C&Ft;@k@@BD3FLsi!g>OwpnXz0>Iz?c4w!Zj^0;bUph`>*9Z7qF~36)`Ag z^z*bP40ErpJDPoooS>b&%9p$Q)B5KL+^=O}(IDlFl+yvyAB+?$MAohyn%JoJauaZ_9?LGy5wwIPm*gV$Nn(oTnHmon$7YSKEl zl2t0|+M=w^ZfjUlF3!XB`7)s~++^2mzkL8h7sPuOS0J|EJp&}umdfDo)k7xKcWqY{ zP2M#besfu&A+)*VrQrL{608resWEhxJPdC;nM+1FaIDO8C2^&kJ8nx0Orar7;#_}1 zNwX!SUOYfnjW2KV(_p z9|L`jII)hcEuD%uC4i`F+=YBt{i6&ePlNwqy+W9;+})pS>{Z9U4ygc*732`0)&6KB zN_i>fvCI93#c~b$kVG4EUl~@HSuP0n zIqA+agzgSk6=9a;HRuEOLaoR~S=XE+I>qY?ZsT8J@GHhicdF;iQNIb>Lq%iZ$px=M z^Z&S;q32|@d=NK8ZJ}w@%))VDb`tcSBW2Ecy6zY6KnPp zBf|;it1;IGbEvP!)c_lyOEKor-0Y{fUhIG~VqUsxa3VaiIS>GH!<^E<3XAT|v!b;p zc)!2&y)Z1X?V9Vu`Y7zOp@tDbNn!s1JbI_4hv20+#uap3_on$O;z6y~epbwNkxn|1 z&zfqH!ejF+0}$rd{H3+WKNST0iVkNs^4x#$hS;S7xhgBdrZ?99W-0r%Nyf8ZB~PdI z;eqF=ibN{za>WB^>TmRav~ZVkwu) zoHLs`-eT->)P7Pvt+OIZvYqx5|7wGbSmf^wT4=~s)0az)%fXha_XeZ8wO_zEs1Jiq znXBHMZ@C2VB?9kWx?YGVK8ntyK@S)o1s!z_LCC!k%QBdt7ubbw+0dqu{8z-6` zY`&a#vAm75=7uWTHx2e#UX`ESB?aq?uz$eKY=cd5>bl<`Mm5fK)^CQCzM|AU^J8rj zh*R&riL~cD-E%;OVcoH|&)($nEDG_eqnZlPBFZi6K0x5ulCscwtJE2;!P4u6RfDi_ zt&r)`DP9BDAbQlSt~~-rn{wQD!NXHkQEE*nDEaA>vw@#NOs_mvtiR!1+<7+{50?@j z=odce5hUg2sFh+W&&B!fZsDz3fuNHp`(1qEV&o0`l<943fYU8WR z(rOg?zr~;I)u_Kq`B>$TAkuEt!6*T>Zln6jNRm7VQF=^tt@y$;D$3&r>QSd3L{VKV zZa*dx27jCAq-Fb4Nj5zye|ByEqe<-yzK#J1QJ!`3LYcSeqw8(|e9>eupR6g6#s^nM zj$7gDqQ~%M_iE3t8q;)C*y?6d(h;iXv3sRg?%Z1MM2q|`-c)DIJ?4O~?$h#>mMcuv zcesftIuws|C`3&X=vCTjOXa5thYnuk2|BXG5O$2zjo zW+Z<-w$7|Q(<->|GO1}D_n_s}_G7=%*yK;-ysHr%oq~KHV(^VrjV1Zm(ZKeKcUH@M z8vDybCrhQeg1+&Z1?UF@nPSc7neOxE7lInyW1R8N_wTii&?8C~CuH!>klis;FG3Vf zlNfV%)}->>{P5dr^tWU9#^TSslHBzJ;)u`F@$&7gUoKgOfv%0(E~4y_$9k0l_@*0H zjHQUdBf2uClfUJ@%I7l@EtcC=7_4N3hNeb#myKIJ%vR{E`e1qG(qnagYKw)}=7aAy zocQA$;%UBeV%L0{fB&Kbnt`e(DtbmUyodH}EQhA4LN5wa<6OdS6FmtwXahdx6BlkG zcq;^TiYX^=0=HB;-KJ`GI!^1f&z}T4H!G<0L+6;;O{YpWemG!mR&{W$vt+!NxIn>y=s4hBYTyS0@v9&o33RYgWY$PdQC!&a~fuU}@T1U9Nz2H7-2< zGG$BWs?kpiB`QBH=)-t#N}MsFWv0m#J)o4)&@++XH6dK+?&8Vp8_4E$i))cF$j-~f z6To(!(oZ!D)iWB(iikZ{Z&HJrUooB57yq2qB#IS|^o34CFqT@XN-l#4D?($xjg28q2+556y zd4qIj(=UtXAE;sVka2|Jwr6nO`}`YaetxgDWeQnYeF|7<$D2l=Vn4-r*m5ylP6pO@ zZ)%+Z(}(McWj^c{^SfDHA90@GccCJz>b>F@`3>?K5^Q#jUS24wKbKljn<-Yq;W|>+ z_I=aH8{g?Zp!w!vpUAoq;n^?*a%U+zF^Mjp_hysPr$(G!M&Nn;yL@w%@`~jBVG~R& z8I`YZytu}+6HB|KXkH6xU72yZ% znyJsYYA09B!~PLTuC7$^42O!`*b%mYP-8I6ZbGtaYt_c(Q^PX0aK7Me?Fh@ZI!aC+ zV?r~_mmB%E9X*@_e6lPH*!<^%S87?xkQ7Y`rk3^E?D?%MLTHUo4kK4wG~>GA#!}`j zI|GeB9}x`SnB#HBpQL|rQd;*AIaP7W<=h@sOXUMohvM&F6qk7rtG}PG^oc zk(2Vq=aXOD4mqdQR$GIzb6FIfsb{fcH^ZQQmvRfOq)AD``&=wzE(Ae;Z>!_KQii?t z?63}(aNUvF7Q?FH{bHuaK(8+3e2U9q7jp2H6X6;t@72FO&VQ;&%gO$J#Dq7d92h|k}clx zvyA^Sr|}VIjT;WI$1QB5%)dQM${#qqR`l~)#4nfN?7FiVY@9|abY0adrel2WsL3$S zyl>fX!;d%2o8Sbqc32KZ^Tgjvqk5`l=AAG0$@pIw zW%GH5f`=2n&FpJ8^gI1}^eDDut^vR1W$7$1$574cK_Rf*T<+T4Ue$B*9pkhGyC&!U zaA0cha9vhM@ahu4<4u4o`g%1HwogKF>~gh}?fEq?Q$#%t^#^2)atj8j z%{V!ngWSNZX$6mt_AQHgyXinmD{ZG^eXSFYWeq>#4sWVn!oSO0!XlDx@SdW1)Uj(7 zTGA^jRfV(eNIQO5+KPRvp6+x8Rx!w$8uJApQ--SD{j!BaS$1DNqNehQ7&c^&uyY91 zgX2BRkDq6fUS8SvOQQvgW)1!p@VUTgyAfubI?)IgV@ZvP`%?@MJ6!E8!I5a(g+a|D z3XZb*s|*I4n<|Z*D}(%4>iws)O07-8OZZ=B4=GkUEcO@UAx&hDz`+MhHQomihpO0b z4Wi6ysFRq6!5rC2pT@d;o^)p;(=~VSyGA^V@H?bF?APadniTYYF8*=;Xn;K=L;3DhRWF9sb9YeqhEG^Y z@ytFQSCcTHPhURav|@l4DO-u3jaGq)_A|2K7D4Za6U+iraFI0M{qZh7X;&9rg8Gf! zG$^rxwXW{%^wtexvp<2B&e)K9LZ^0G_7MhoN%dAj$BG3Wj&v;cOkBHf{GF%1W_ocp z=H9a?`1@mdO*HJ1r7qDn5~yc6gc8_!8@MPe`Ga#BhQMM$uP~s1;>6 zL9Nn+TY9x4K zk*iLU_kyt@OLFy)C%}}xx!m--bDN@199Z&j9!APm9t9=PlJ`Eo@jlHK*dO=Is@Cvb zWVAh7rS42#h&7fq#ZI$?npPr9@$PPHu!;bAZ7x3HS#6?>h%%_+qz&|zkXLML{{c{FL0A^uxG6}jzg!M-+x{(cp6I0 zIZ@)bum`r)mT!X4%6ngj}tgGi%P#4Nhp?WZ`;+?}X&&1|{aAk4rqc zZA+*vd@t+U^j=$>pP{9jlb%A?@gYt_W7f*9cj$&>_yB9T$dv$r)HXjnntHp_V3j{7 z%Zo#o!!`CIr`~Ahvu(Ll^i9zmPX7sjh z2soc{%X$T9<$8rS5T@B~urOGEj+mo}W?ALWp6xc`f2Z9rXBu?zf+LHZ;P}AJ*4Uyh zBmQSkLh#{o=YRQajO6msP-Mb(tw3(KunP>XGQ)%EmLp{Td*NKW#A70X2 zz4+3wIuW07$r#EvIYmGFJl726`*|pG^W5f%-kNI47eju&7RHHc`!)`!!bM#I)B&Ss z4V8!NJjiVNYzxbv5Mhwwas`@hoY&K|)R^UZGQXMkZoWH)B)qLZCdPE|>WWOo9TWa7 zi!Rx`rP(LQ_IKydPVwY#2l38!(kNZe`aT(3%EU}^>NR9PgiY?7SkXFuIW3S+x=L3s zSl=*u+wbx{IO0!E>cFi9iV?0v!}GuFs7}*&CwdlKAMBzNvQCWosM9wbck`TyvzafC zg|(&Ff)0c!jrqlh|K;tj!1IVEFb(RY4&0QufM)C!jNaC{S~g%Jidfx;Hu(MW)|m^653lDD{Lwrm9%hjm zt<3r+Uy94GEev3(*Ggsj;EEVVBte64(`(YpNYT^Mezj((cfS>N!?jn zQPnK{W-vi@?jr8|%%;rEirkt%&54O-hOyr*@klM zK8N7+%vA(80LOjfo#v! z#lX8a&ayd#{=@|($<{^-xV+8i?Daz}6gG2w8dZ2d#R|ux%$hRM!fkES{td#7l0H7C zWbs!6Uf$@&kkN~IZkd(e-NdEwf7GiLL(f_R{|Bp1?RR_)>$O=ewJ0iSm)HJGPdG=~ zczx7QHakVE+u<{y=Iu6O(+YpmTxRJ$?X%+rfm=$+t<>mTztfQ%hR)5qjRR-j7gv7%d}^xqviy&g$|8E|ARo~`Vb57tJ)_Tk%PMM? zj-|SL@};xJyt$rYxSih*mK$e?5UVS~2V{!dFfqB9s1z>RuMBkQGxgGce%8P7UVR+c z#NOgSXyfMSi;Q@#g}I&m)y7t$dgbYlrbVXnmYIcN}(x0le)&|6uxifU!>(h1LXh zeL+e8H`CVUxlUyxU5=;{J7D!W)Dq@IOpI(5TdXY>HlH#I-r1QRMcy`C*^-93LIjIw zx9PVnnLP5|#aP>Ixa;cZ=YoK$q?`7j;(-K~4W{q$PP)D`^JTU&d#nW}4EN?|y^YEV zu6*pj)Gr2mpDQpTOT9R-KXB} zP0=n}s2@Xf$0W_!5X+V5&t{oSsGQ5M7bZRzG;Sl7s}1M~lW;Jpll!|oDsYQ^9&yCl6w?*?MEfKfJ8MdFSX{X6;iXZFkmG?{59u;|y*0oN4 z8hWnLW^(xSGwpf2q8>6DVz7{qqc#okdB3c4+p@fv@?O(N8ha>)rKf<@R?J%+ezks* zr+MqVeIu9I*yZXspo-Dpw2^ES{j0*{Bt=_?eb4$*$dRj~y-iNx@ofs`z>iti?K0ad z;#=XSJz2QymoKN1m{hrUq{}Wb@(fL)V3@pvVP}nZtDYgKShbv8!qeS@L1lS4sO;K z)!C7i##DaSohaN`1@}M=F)25UvsV}nf$eNSv^L~};i94rD zZ`-k2KJs(l=5{FaLO!rtk@H(!!jI*Sw4*C&?tdGT9L zxgS=@R6i$8%rWeWU$7&cCD$0CKaX%9mVnZfd(+vQ8d03&P^3e0#U6eaCc|B)VD1=e z9?@kY8vD1&ImKOM3DxFl9Jgv{nmS$eX^h1JCnx%oti9^ntJCeWpPQvW=B7Yo)^Q#m zXt|Q?rVWsun8+|<-^-W4dI>~_A!4(`EDIH5J6cCju7KRQU1y3O>v$cdVHJ^eDe9LK z#d;1#m;8lKXH2N-EBud}5R(U_j;i|yo@fA4oKCO)$8%S8>FPEoC{oPG2Qd`YO2T5K zx2T)5@-?#JXtejl2)afK>MOpUb1aWcRj}Y))jyBHtSIf$nLn7GvEF}lV~4iIfo$cd z=@gSRkD-Oaw8DgR`*RuuH;*ZeMRDMnC0pN1;1JVxa?x%dreg>3DWf;1Bj~n&c{Q_A zDQ2ezcpy#u+9H$kIz>N-jIY=Ko-9dhZ5LzC+}4(3PMYk^im zjvMJcSejQfZhcgWKFl}Ylpi;eMVXP=g~y_n7SoJrZp|2UsHXJeZLw$L7g?XWe0LX+ z%3rzhh4P5*gr<+wHwMExZ4Qj>8#>{YOxnkC551oLc&@0NkL#;{)L&%Bg{?{(&h!E} zDtD0%yO@i}g)$dm4giMSGmKA6|?=D0gj^6y8r_kZPY4}+fm zxM)X`Z6}b_2XQeMvXv0v;T-swubv3V+KaCLeyaHKZ$pB9IX%$)s<{4r{4)2!$#K4n zi;mu%Z>4*jTGL&|v6wsXNN(N!07pAAT~~PiU%K=ERgB8#BAE^mYHKT_`nT$hjGU87 zPElKD;Pt;F{@dv3U&HCK7Q;MOKmM2T|C_b>V$P5jT-uuEhk@=4?5ra(=aYLT;_{!Z zqo@B~SgpZ-zrO#lLFq%ai%mlxVhQLs#WxW~$K; zX5?H$XDx>YVCTaHhp~*Dy-H3{Ynkr2ZrO(CUt_C?;{KYbuSqy!yaKF9K$OmdSbeV9 zU0RGx+B_jp`3I_!_p8@`O{}lH^h(9-F8rS-_~5)>qfSRutxa}4Mdf6&fRuS+E31AN zex)hu_;P|w@h&cgQ$82%NR)es){E}wLuQK?(RvxM;F`@`13eMQ8hQ6HVAQU8d&~_Joe7Czu*7eK(3V@t6n^m2z-nW)4Ir(Zf zbBp#q4AQAN=p(zLp~eltSWBt_D?09?d#x7N0I$2>XvhOHW2-}}!!?fg&cpnZ|K|E1 z9f)e1wbQd}w)fqcd2W5-Lf5$0@a+;O9;$2H84+4rw4-u6!-WfYTp{fTZ=CDidjxR< z@Q;4+zLRbXTy@F4UAXVf4MErb0~}z+2 zKJG6^O??x&Q>1#};#y5|u3fWPhR6kHUkCvMz!ACSGr2+kApvDJuYcE`UukL+ zn_6h+dcB|4orR9qwLe%0_tMfi6azLy2ImB>d=lxfBVqX=@#!e%$u#%$-*>{VLY7bX*G4 z@Ei(gksSpbqTK;cUqkD1&4xA7uMCHcrJW+i3Jx1;vweo<6{&+g{ptn^<}`h zv@C2o_EEi3h(4={9rw=GuQl0oD1BU|wQClLO=wN(3`xkzd?{KBT36SNEq&g9g%jWg z+*SgI?5=J2OYXC`V4YsT2c7)ZgSJ^$OVpv|$kQ`K>d)xGZl}|=&`OFSmU&x+NT&Y& zPqEg|0q0`GzMSrv%9l#j25fw_9<#=wq{M)OKOVTXRnp9`7>y07(nq}8)ovo_%4TqM zz)_MS)SeU((3W%4xmR-N(0QVIjP92xM;3T-)v%0q-LNy|n1I%*0d8p=RZiE7ak&jwO|n1-K+2uX^M1eLBI@I-e@vrlJh+%uqZkRu z3?=SA>dt2t5{};%PZ-e!^dVJkMb?Pdt99N9INJGv4oxlZhPqZb@itdZLBQEZ(X#x* zD&5~9)B(S-4&4T8u1kJ{+vQw%oLAUy!4k{UNu;|Sr<&>>zuc;6o)D7F47sw;d=RGH z>mcux`pQ>B!Kq|$Hs`RYscTj*(dU{35Aw4%UXdk*x#Ys7?4eU-~= zLntPhfOT!{cBK{Sn^PS{1|6>!F!qj=u{1Lc4@!D5(0OsKX#8e&TUSwtcTqQ8;fL9h zK*Wol?((IxR4(T*MW?1}`e3C?3Ec!mjCjT8D8)GW5dVFPVm=$~YbUuJ^prA)nax-I zdiMoY8_1n0Qxl?;FxIBhNo#~M!M%XUZs>j+|?y9V&N@oq_kh>6JY?&`+d~UGoOiQ4)IeH~Qdr5jx z7*9Af;El_Ex`WF)7j&aD4RvIQud@SIVHm)qgy`c^-t(`wm|9;q)I98}*N{W6n;noe zDZJWu5(?<2;zG|_QX3ehEOHmBv2Cno`!c|DR4L;~(;}`?=90?RV2EPtK04P5;rt}` z%Bm3snpiBd@XiaP($_DwifAU)@2eGIPjgtH#!X9S(*eX}E$@$yguZ+nDg!D-b0y|7 zZSHzRNN)V-i20HNp@9*D#zgw{jL3L}AB1tHKsjc2F?KIYLP9Z^oICT#T}T1{LGjq- zhAs8#-UHT=1I@uR$ynu_bLrI_9I6+PZY*=sr@-@EhG@DR$P($-CGEeqlF~d2g$Em* z3g&e-87?A7H-FXHImHp1)vyfl|2n8G)It`m0*pE#S{)obqh*c|Bs{w=n9hQ0EcC#V zDzOaqVHV(@##3V2ovxv|QReLhrxm?`nA3PSDtn%e8>P??Qs$Gyui z%30~ar)rT?+8>(D+H2^d?>+53#w~L-@yywWX{Gdy^2-Lp1-)n-vZ7N88bRa&qXByg zw`E2Gbw2~icTxXaLPZ7Eje-$jH`;|Ot*z8Ch1xM;Nr&mK83=d{`tuF{I2f`xI%r+V67rm|NmYVPbZ1ad(dOhI>c)#cTx z8Q0@5V)u&B^+IPH+UmJtc@Jay+Z>Sn(51yWfG}x9-N;PXP&xm3;(jnv!_k+qv%}Az zjmeMr*L<0C&~B>nQ3p@uo`=pYwG;CN-Jl1(L7W5h7}9uLqe&>O8F(23X)aAFx565- zL+}=M&z*cz4RGd3YhL;134`MykqUVLr_$H#{~ z(ZK#eJmvD>ep`y~7IoFml3(MDjq@;vW4>-&wu17rQRmI&`k9n-`5%DvYVji_(NWC$8 zllOi6kb$^iFBkI;RACpM;pSZb=NeALQku@+g4731?}Mg)pWnP&tj%`a`|#+73L5Co zbjx%r{%o1{-oZ}Xd~7eF~By%MO}Osj6YY60L0Bx2;zm;uW?XuyZOXm6O$E zkePz(n>sX>9Xeca@9wlwRldGg1#3hlYW}p`52%L%j`Jg?4o-!yN#|9$w){S!6f`(b z_vak0oF&1UrmC}}L#Zo{@TeSMS;TX$&c@Ec%#j8w+w=~PQj-RY$b&}sY+3X%z#OyMLF$5wkne$Z^A3aTtCUYqc4N_Vvk8}2n4 zSMROGdVexDO^B|Jfm`GH$JjJtHq2|anZ`Rt^9Q|i3vKMT-6jHEOXPB4)W>4QTgPE0 z!z+v3uo7jNbyg1N5WE5E$A;jWWZ#Jxp$g4%4L*w|LaG$*;U(W<O|zyU?OkWFGd3?veWlIGpfkmGrC1N?2%2 zOaAlhVo2;|bqUGcDfW#5)P%`_Yd84io^a5cW3$cXTn4^BUzymxbUkXsfsg^wg0!OL z?yp}A+?MhdDYyDE_RkHk6t=r68Xsde0mozMeY56|b(R>i6&PQxk`AhCjsTa*O-9ou z7Ps%ww?S}@n^DCfA%Qh5*lZ!UJm0f0E3q$tyE=pF;fOJ%peST3SeJ&8Gu+D7zEs)c zYR=H&Oql+Do5+A)|!`oK}@#MFYGlySA;tO9cAnOdXN>qj~^KD$L~C0I%as(Yrw<0+A`$>;|)mhvvs zZpr}?02TGk2^Syk3*1LyH`Ac>!0NI%WY>j16WjLFp}ufYa91S0aZnEtA>2xd)2luc zwqtZzAByn?vq!9%YE>hM$J?f+Dwd*7$IHnf##_yEO?+G`@0#%K_CyTY#`I1v5iWFm z_`^2o+x)qsHE@;v!^5sOc#|_FOphh8tJgCs@e?|}=uMv+XNn~@CSNYPH#u;ZqtF(Y zJx>V0NH3&N-b1YGW0-WTWN6_Vq(eV!00AkNwx{_b2JJRjIyJ-?DjSJuxQU5!YyQJ% z4FYUDl~$r+w5k|KSYKUj1j6SNnL&cEV?KMXKU}1j)sfBDV=`TNKj9p!vjJXSBa<8UIvnMv`HBPAP?4&{a?H;@I&O>9(FqcBq@bV4OV$_fcS4G>Kgkzt}`@7grLJkXkbMT zG(AF1rPZyPoaJFqq>vjb$A>7p%JZ{Q#wLx9f8OBii)=C&976AK1*rB4649!i+Wjtr zkrA99FUJ6iyG*SN3ZE^&NM%N)c#*$tz$vtHq!DA#T677?ow|naPTRukduIC%F7^}oB#qCi%rs`jtMO}}Fm6kMFQWh=x6bWU$j@*~m|@FsxQEsEae2_ zMHI<;j=?#!5c#Bdg^vn4Pe@-hP8TC8%kknBAT1w(LobkqEdm~Brwfk)5d4x90y>-y zS3F|pDLZabP8Lj*M%Z((IQZ*nR~Rf)D--H2Y=z7H#^7HOjj^b}bq z=4`4xVX)!_c;Wg85?@}D|J}H=!=OlumqL-Zaer&}shVrbE+Mf~*OS0EV!#pA_PtH+ zR%fw5=+q{!I$5Jkho7p9c2mSN`I2=i9#8Ek{5YuB0pvY%o?~MRMZ}&u4&q# z>op{r%tXaqEde)T#8#nrnmD8WYoY=D8D_C5RKON|_ z)|2m{XiN+?XjBETVJn6|AYGL|3i@L>1uJSn`p zr3nyS&DbwxZ*}B^rT4iEs>`}OoVtK)EVGs6Va#n=!XFO^c&Z&V#Uu@?E9GJ zjbayKFa)W9g2Qdr#=s7&_wK+}ifGa5W*|aP)DLhs+P>@>XwB5R;IZ4wy9VND z^zQb_hy_`&mIxj+j{!X>r1eSVUJH#YP!&=VmenZfs!ZG@_r>r16}zxU5u(KUi2Bff zo{+#n*@9dPLy22ayq%d>2%p_-??Q7D=W~*$G+*srL)~Sx^HzjX#SeJu5nP!ZAJT=c zx5cUg2Ih?+#DZM+KJ)t_J+0kKYz`SSSV-JnH6H8ADHmNLQ+NC4iH>D@V%KtN0oj_! zt3JAK>m@4JV+j6FQvnvCScVcCoB8eFl?|Szi)HAsmfzl5`@ynztgP|6%TeP&#Km4twhLMRijQm#!<$0k(Y_VSo z^4Hfu+GenJlc6AOL{HY603{Wx6#ff1HxT&}%j}32<0-PXqDxmRpv)yoMK_avMDY#c zuf_c0NG(m1=!nU=cN8(%JNWSua<$bB2F#n#B_YADS+L-o%+TMb?SU@@+a0& zC*&&pY!Suz^^XP(3x~l5!yRfq$vqEqnl4R0ky#kgFEOUxlRNqk@dqH~vn4gLK3_jL z9<8|3)sY=1FGGPPUBm}C=C1B?#2#V%s$WawD@H;41s2yYzq_}$s(Qd!IHpQPM-ubiR96(FE)t8mot0W6xi1ed-~%GBq&#; zrAG-!$At(b^|bHya+CvZIzcK6-zTNb(tv;^HK$b8lpIez6S$QsH_K3Ha8!JlSgEtV z5Qe7FrLBX!Dl=CfmGQ!I5XGj6k4AI}D=26|X79A{1Zn31_j673j;3Wz2!<7gEr#bw$$K-_3T#ouS zA2cAvb6w@=%>tHuVwPabDl=9L30sM*CvdSssP~yDA8OK7QNNUWlD%0btbIG`NgjDl z-JHU}XnZFVnzKmO$o+QMnR?v%a&iso6w1fmo;@wLH~EP>XpN z-B7DiO1nb#eA8txbrWI~G^P^YZ@s!UxE#(IT^nc$rtg+CE8JH}Xiu`+Jt{l0JY3Bm z?ZzGgEA%V`eE zz_W7FaNk)tcMBpCl6hryyH|)eqRLWx^~GP>z-AVTuk6&Ao9}kBVN*DHWDZMgN3h~+ zH7U451(Q~%M#>2kc6)6SNZ{N;;8dpC8YIRqy}cKEPZZ&;35StysS@i2#UslABZZN^qPoI#g+2)(ypnTH)tzm)La-!j|}T#4)V- zuf_^I;oygbWvFq5dA1pji3wBHffzUp_C&>Q0f!qQkI>|iX*!ix!z{t6eqqB&V-SK05YW4$kBaPVlw@{4TwP6PVt3Aj# zCD8@_T}FK6iJ~qq{!9$j@Y2rK%Dj41^KNW&0{O9$dVKc`RF2Mx&G6{7lEf+AxIu@D zbWx0QeGL>X*d`#R&c0()!PQyt>0P6#L*>jtrx|}g$HQXtsmt7ednoqKnApBY>n5z$ z4tXeQsyg@26Xp&u8H!IDer@Wa+R~5e%gu-Z+6V#4Wj&qM^F>{c$V1)B z&J(!hI>L4#whz-zbb0Z?$Tw?Y_m&hMn%70sT}&rkwQHe=FwYe5GxR`aw8V-@ zMj`o_JbO;|`|I>&_fAL&Vy{`Vf7X(@AEgz{*`SP_olUHm%c9GeT{VfN06=UFN z6~N6^8P;DNlu2J?fh>KZ&NpG5fzN5s^^Jd01BCrb-x5BtTurk5S3~m3d&hhc-9Jko z|JQ;3Cxy=#e*+snoN4-?x9x$M`X0$7E}uMV|&Dj zXTgJ{V{`c=@oJ3~*G*PCEdJ}O*OLk}72b>{4=`c=NgW-< z%Kd*Yd|sBU_HrG_>Tx@>bUjJlc zP*_D7`jM{l0)sZ_C;k<&qF+#NTRb!19E`7V-tK>kQJF50EYxnRRqcvmb3gp@2tM_l zfQ3;aG3}%J>PLtQ%fh-RQk?H7Z1Zl1JUgXt5P0Jx;B8v@cx>Ps*7-fJ`H$ZP&WFzz z%U35IC>17CzAK0MakG^@E85@=vkTh zwVuG~lEQQM%U1c7#yr^f7fQv?7w+6T?#iBu`2>y!e<8?kpH&S+@xMg}ZthR+c9I|4 zdj5Gb{Wp!y$>s9<$F%#hWJi^=7$M(dy)mNnF>h5Tb~TpzTjvgog4gZ{<6Pse%?=?i zo>51WZmjn(gu-FmP-j$n_x!L8il&{{EHQIK#$9Gx=k4%P-Y~ZIIO@aXwcjONcTV>1 z+ftiT=5@y&yG+|DrVOtk(cb&|&9+jeM%{B*TchUKZBZ1bnCuowzyr=O#{quXdTpg< zFI=-3DqMV@6&bA$>e8B8T&N0DZqy^kOF>>5l=86ft+n$zyArXLG%thGmo?t#S2~K${7Z(FV?~1u`*}34 zvt3?1Maj-#SxFNgb)eH>^`S3gQL>;|n6B!bs^;b^te^BTq-AJYC#V#;KaE&6_YRfT zf2MM~`$X&v?)RS2N-Hg9Vs{=QN6h?0pc6>%Hto?~#E`7F4}#x<{p|Uri82xXt-JbM zO!RsPc!U0J4%-4#x#LxUDxO!@=YXX*5$z3s2*{!ZeT=3Xk39UkGvtof4QXxTiufxQ z9}FSe7A&u!f`nf>9c-XRwo5qa8$|!_IA90ou>oW68agFa7ag8E=eUSrEg{7ma>*WYjn(_^|*Km zOhuH+VWdM&DyuzSHe+lt=o{vQ2M!->FZ7WOGgE41M1b&c?2OF);nHL4h=Sbw=Nn~ zKp8?8;gwi@S zGB(CCpuph`d$r3_Ed#;f46JHTBf7Q|T8CLbTK+Ul<@<|ka4{7#b>Kd=y)S*x*W&}gAoI#!pyp%kFX+LMl z^Fr>QC(30_&R{R=QeAN>?!B7{_NmR%n9v9)*UwT-K{id%QjHK9GWiA&2iu4~ zL3dWA5VE=Tk;Gheag3K@CzYRblu1=|Ni*a>aT54XJlHA=CVeJ}UIeLd78f@cDt-#G zyVCYO%ApM9A7 zGBYeG=9$C*Ku|${XKu>>vvT^70=b%fv7RX`GdYvz!u6~*qq!=lf)r}2Jz&t%)FmZL z#BH~eMgqrD5myv^R>Ka&11=fv+00Fmmb*To=&}oP@VzK?cd7td^@Iu0h8pw_gH#$r zO#M^Weez=jbJI^E;=iFs?9L+1SehNm<)GrFnwjRzaNhd$`{E!=(+E5qElJ|?^sTas z-`!W`G(Eq5lVVzwE54pg!P#W{ozR+@oRObIO&6c1(^35B3fXt(R_bRTQiissCc`vJ zxC=Jbh>3F;ThXa3qgX_9kVXtbI6#(kbNFao1^?U6q_K1CNR9Fmjm0#g0AYzufj!AFiel7P^Ary$;7e=?bA+7rcpPvDz!;c( z*p!_2XEu8hq&+2}`B*SGjDhCRM6$!k^|M4*W`OgZgv0_#IPosT4YV;sU(!HPOc=4z zsOkO%z7m@fzrB!r$CiPjM{h0rk`H=OJe3tBe^Vu zKTlk+v8}_h{eaYUd8SsVVQG+*bVDr9)^)|$zM*EPBNkRpgX}!lMr23 z(yYED(v`M=FZ^u!Vj*%-4-;#hx z_Qy#_vv#F#=592NNk>Rk0INN?HI6=+K*S(Zp)0viHFF7(=BY{EJ)q}g(HbQR%TCOA z^>u(i;pzISy3l^|X({5uN;VETdYbMY@6$#L4$PJaDm}~P>6{qkyEq5e?A5fMWZ9Mm z_h=9p4@(Bi**7PXFo?`n_jM&Nhu^ofFQ2b_Z1FR1`4_{?LhDA)@)${wq}uByrQKh1 z$J`K=T2kvh1lcv~ZIL3lqdk*fZm1G_rN1({=D%?flD^xYS~zR7%grn_+HdnYye&e7 z${|mmh%W3JfbA|$K@q*ZqY5#J;yi^;Q#hdv=>i(OJNc;A%Fe=>TZinvoHJeFt1J2+ zvfv1QDadW(ANAz9x7IawTgt@Su8yKbbI^0zm}Ff%8FqCZs0}W95!HjiS9-ENVYJR@ z9uRra58oZzX-Vogytv9dy=UAba_|H*85y6ePRmJQC3%A9Zvj*<591l46v+GlIsst5 zuk`;*K|t9F`7Jx5*eCAkaY3crcG3?F;>NVxn$%DToh#`Lz3sHw*C6wFOiTj>a*bwc zV&cZ+)>?G>N#}xc1vWr4m#`eQ(No)Jx&8((AZr>0Co8bP>eB~{>q%QKmZyyr^z_BA zPV;3~_*9d>JUj|e3ETjIB<&Oi<>wSLUk~IOEH5UMj){A>=%}XeuYUv% zj{hg4B{|UH@u<&&^Q-Z>(f4LnKl(KOQ6q!?@pPx4(%G#+u6zYA<{<^!+)sFB=SAEsyht5e5AW^?h0 z^s|hl#;kAjbpL(AzWV{Q*S(>lzK<5du0B(fe;L%BPV9a`pVap41>B%csn?ky{$tA% z48Dy2v=YTYAy7Ip?kNQ2wxI2ER$CbvkWu;B-&G)`HZpo5jdBhoX#Sg|`R{9n{+Y!m zo2ML9=MGoutq65ApC4Y#NxvA`o#4f}B|wr`4HKU@+}%Qi zF`ARrzw_|uePi>s{q)g5o(u*YU_G1n+o&RVC*j`03q|b$ru6j;!(9&6k~kwLP3>D~ za^>c9U^g8enesr)^G;yKUSA%59m)q~%bzig%sbsoDvVxIXO+ddKOgvD|2MC6>An%* z*Ze#pGpT^05*BFUEtdLyC;=+2@Z@Rlq#n>2*kr(;?@@!)hPDr|d|x8W@qDL_JJDfG zF<^9z7Y2@A&iOH}T3E@uz_X#Mfv!s-+Pt{+HO~1X?mK|dwTzL#ox&e@r?=Ixtv9e~ z9S@H-aGE3h!gWn`KD)@USDER9wHP;{#IW}ni1i-%Gp19$f``R|h1wDf#eHIdNFel2II;kf!69 zo1Iv5s?K==Z`WYqj*jjZQS_d~oBEX)(`TKPdqf=q&j-`6haxnNN8|)i*nBRoYOAwp z&|58NS2QhflA?%qHlO3=NPmMbH@CInhN(#0Ef<`NO5 zU#AeF;z#i{*BwF~mS?bydf#r}0B?k&Y{e zj~&sg%&3(S_a|r$HfJO(dWtiam*n#E2|1t5Y!%DtowIh(XADm6;xJ2${1#1_WVjR~ zM=tRtF(3h4$HDK}TVANO zM;J%Y^;gb~v7ZA0CEH1HWGr|~Gkou!2>#kPDe7?z{;=C#)o1UFAUmX>G?_B4VUZD= z^a*9A2>Q{xwLdJ0DUdj1D4n=#f?nI|g5qL;C| z+C{l8s&ZEJm}ly)U*sJ0IdMx9H``Kg`kiB1JZ{o5raQ#+H;A*S-^1k<#MI7*>2NkH z>(?lI^)%9GC$_}Vh_YepN=Jv)*=|NUe(3f(eiX-M_tA@>8qzw(D@FT0E~T0Gh#W81 zxnZB?wuFMKL!{c^>ZA;g1JlVUcOMu!W4nkr#uMlhQ_J-RyG9-n)@QJ}9@=@F76XhG zNvP~ZQlI$3(gGT1_+7_keTiY+FeOFb%u^BgIRA2v(h!!sxvdCy%tu|60>HPxc~*uY zFuxCmjFEB9|I|bo;YcgX(ie4jG+oNyKd_!WW2Y3>vbZLRa$R3x4%-(-Dy@}DNX(v4 zLSMxSGrCrh_*i2rJgPys#+VNT9%Qo)zeH)FpJ}{d*jhnfRIgq>7yrzs&i^d~h3!4Y ztFF$Jn=7OT>}vlbd@IixUcUsSf6@}j+B3Hewa*^iIgg)_XJye9?i76LDlHt}SRQ9J zHK-UWv{V!#UiyZze~bH6X+I@ULjI@{c!;IlK*y?(pbT}h9cPv9VmK%?p1Af9@{;@_ z1QUZf-FG^7kh!N4gcE}K>gK5)D40r#(LimN+z8)hY5Gks*y zmq2tW^oYhFT!N4{nRq65Uu|hLU56^h8Q*ZAJGbN(w+t8_b|~iQ@;~TlaK!W^m!9E> zDd2*fM z&_)w~CPz`R;%BEd^U+c&ru#?Sc>%bvD&24UEtqdW^$aePGPkhUy-1hDX{s(CzR!V- z@H$RR$+CHJ2)PaYVBbg42d8~2Kb{JxhQMX1f;K(PB4T)*mVmNCd(Q4@07f*EHFB~)Bg&DB%aRu$ zj223=Txp+ufZ3l$#w9jM^L{onprm-(YtZV5*%n*R4EB2#L3MfHksxb3yH7<$JUxd! zXJz}_+wA#$M~cD0sbf~1XB60MaJ*-e!S|W9moTfWm7PT*?z)P_hqZN-(A!Cd;IX{h#?#`Y$EnK`_XbKMnl;34b!3eG-geqO!4$%O}XaM;v~!$4Zhy^vML z5-{gu3V~L4{NgP7p6H1f(hNN;w=A9a*)X{z(n(>-&_HftTiP_N`)nTZ5xd^D`U(+2 zMi3_g8@-C`shx(7J0({(OjCbMX@bp9J1u&py*kA3N0m~#5GD^zHTi!4DuzwxLofc6 zCJSzi__4?&=Kw3cQqN51z5dNC4nj&PS(e*~#p)g)(O2hsP)ak@;%!+}Qv$E9*=#Gf zY2QROqU)-N!!ow#dUkZrlZA1iNPVcqKCQzZ>>P5KZ1$1W<$ex&QEo_)Qg)8BDy2PS zfe65q%ofo-nUvXpplud2JKW?O)qH3l_*hg?F9=LhPQ2qVUiy7r;azi> z2O`say8tUzj0X(bTg)L_*IuD|P2Z6tBd5BfhF{Z-$@^XmY>6pzhxX?#vT z{I3Z>UNI{1uL_giF(`j6!tP)iIwk)QII8cjKJa5w#>)0<|M&mPMEw6%&DkGzJT#&m zp_-Tw9L@spR<8|^@J!}ANy=k^s725H4jpF~f^O6wN8IkO(G!0gur&O&f&1NGd;XdS z09I?}(S-GO3%`wymUtEQj6j{$(Rdzt@I8>?`}G-|`}w*x^h1TFm}|8-d0 zS+WE2Bl;62Bxxa40uV52p3y#N{l zByXDpQmp}=lYk%*VOjxEfX)VKb2gHj3zZRX0DGrDFzr7z{yUXauDlS&MddP9AWD)a zU&Q!w(f$9nk^cAjGu3PxY2GhEnWPgkF`jTQ6U)oaj`$+@y}g>Oad-d)Jr;GE76s^sF|-v~)K_?$sM|MCYUni{4#a62u-X@mIpdNIQRaN@=Tw&}Its*S` z3t{|78cXbNtf#B`<9k)?5#&qL9Upu|(l{n)pp9!UH9hbtN)3KH@ew$0(_)G4y)SLP z;#B@jtnqfF*!bIvsVg0SF;~y3f_Ct4t~ebLE(v`%J$AfJf|D9eJf$fd;hEQ0t(HG+ zpEVaQtXSC^Mo>6X#PI$>2rW+TEP6P~NNJ5adtJvD2NxjT!$rCuF2_0uyRE`z53S72 zH;Zs+G>yG!IQgn_f||W_b^9Djut;{%PuTl7a3T^2xNq$rL7R9~&Vpw(KfEw5ldLh& zN~F@r>@=}0Ga3v~RXd9ltjJ`*?ZB4`QhK=P3eITzBRr+#v1qCEZ{F*bTJLREjrMN9?|CohwEAL1sT-zaP z$_Lp?o;AK7)nI~q`G4USl&y5058W6XXiVm!lzvJn?V-0`epsX4(G)}P)5%x9?z+&| zzRi%Uk+}b9p2_qR6|9~1Xl_FYJ%eA_JTr`%mWvM+~(Fih=k|kPH(M2UZn3 zmi&*;0oI!>WzN1;StsDebZGtsjG;O{<#xG^dMS-Z4qqwc&Fr^>3d9jD%~X@iheci= zCjNU^rbK~ATwq`Pg6@}Mq=dFlKOYan5$p8Q-fp_h1}mwx%R9WjStyA5su|773F){8 z4|&;wryI2WzC67hnaDnUdNxPqP{y)FqA$nLaUfwgt=@50eKj?;+dROTv1oywB!C%e zD5q#Eh8c!wS7YJVlYx|#GUn}_rLjt*bP&NnhNT0pL4bVf!ig<~kN&;#;e!K5|y2+Z8mwJTbrTIlXV z{EoURK7?&FAL|WI@M3PYgAr1tii4q4MEvQ6lL1>k^$EE6Qo`n@%IWAONE}070ZM_R ztiQ*THz46Bn$Ms5eNOSsu&t{4U~lMtTuN_ZDb+j4NX8?e6Y;xI{N=av=$@Z27}q3H z%7G$WVs}_^NJoV}@N4G-bgB`g&kl9b(++7?kQ_Wjxt-DQ35h>5qc8988GfH3aRJXQ zq=aLhk-Et!cn6H~65oN!MPxMn6aZ)F4eqywq7n%|PNu=E6FU2>QP|1eH`wdS-gZ`( z!Aw5YC@Lv}4G0VTSq;uYVVwn({J06T?#wP%0!l90u;ewu_u%<@Rj$wh|K6CUCTWp0Ibtu-i??MxE4EhBxr25@2*O@DS1| z9+brQw_3qUjhR|HB93|d-zABb>!o9FSxl08@AK|kY~teOTUnqsV1hNWqsq5B``X)N zdmRjFZuNABT2e2Ps3_ljo9Wn{F({i3p$YC)lG1C>i&z=;UwB=WieZ!|&MTbqf%O

t8(j+xiKUcw`2EPVg`|cfP2t=*2WrI>7`&+QUNzxWwtp~gX;R>+4QBjdT z54#%1wEbn8{>sy&&MiAu$3&7cIrvJD-J1n_Oq>8E+>w^#2DCcQ#QgG;lO+k=*s5mM z^S0MtU)J4}yOqd$IY@-Bt}*@(!rlTXt|s~yM1uvl;K7{)4;Cc2!{8n)I1KI<+}$A) z+zIXy+;z|yAh^40cJjUVf4f_?Ra*s9Q*gWcoYVKt+`j!2UjHo?z{!9wNMv00xw)md z25KjtNUFuzgo8h!C%&Pi(vn?5)_(SGjlRF(Ngwf&hY|lv%8(R1C!_I!;!6+G+p;WIzJdXr?_?lub8eD$rCdy#5O{VB6tf}U$DYWA!14(3#+NuP<~ zrqls;`chTc;^2dgH9A<)wEHp6KJD3JWe;r&O%u#X`8~#oe;5#Tg=2v95xiZ$CNmy*Q>8p0PUG(}9jiB?5S8(p+jx#1YEHI7=}gj!V5 zb~yy&8Exs9bQj&Kj=0{MVI(TXWTk+=@!F%&VO=OG)0-&llYLkupym;5%V zk9*CYDoHs@9UL=K#|oiBuc%;og|KOw;fH0EDl6EvQrM_3Q(?{Z;I1m^iZmbhB{Lrb zl)n>Vi7+J@$h-0j>Q$+I8f5$Cm>x!+4k{bL)!+Sv7`&%e+G!q3RVT12#D0G!YY&gr z!~rSdU-3C|UtdI6 zYr`OWE#K}X?|WEqjDsal#Qnl92*KFG3SIi>z{xhWtAO-p`Ob+z#9?t)!ee5>VXN-$ z1*&Zcd1paTZA0-&0#Bn-6l>%L%$HU_zs-xk?ybeg4`zCLV>p*@rm4Q%vbeM)*fv|9 zs7)H2474%jDGwDs<~Az2pd@*IK4&cx-dIF{g%m z*r_&fccl9^8e5Atgm)FYg7*u0b=w9FhKHgVPe(IknD#pwGOlvZWNQ zU&QiJnt~+-0e*{`_qJj?B2HpR_z-cdo97{zdFatYe8)7|;uVz_h`(m{^OcyR@wne^ z@Whl?sY^)~?`Ku_L#q&5-zq+0N*QQ)d+K!H~$Z6)#@;gy`@U9V=k>P`BBP@E;F{JF$ zY#;$~E36fYuy1j&^qQQWxYA&oUkZ*~QbInS{U07sf;=B-#X78HMKq(D@sXfJe4Iw4 z@9ll^Xb-Svc#jK0$#<%p>Z%2GeG{K;+I}x#D7whN@~^!tX=c znVk9d03h3R+W`6Y9#bTB=We0SS+P^5l49foJA#K2W(Dweku8*E#EPLGedGRQd*UH7 z?j5xw9c-gxI0HN|{6aK~0m82eJu&od0vkNhkDBkwjmU4y9B7@ z_2Rh~QCxp)+IdVj6|m^DH!{h-;6JaJ*D0vRAkd90A`KH_ zq1PCVLSOV804beP^IqRmq6X!;e#jI3km2YjD1W5jnXQ0cG;MND2$Pz2*hCy2xn$&| z8B@f0kR@@hd9M|TM0Jy`)vcTrFER~GpO{tT_rC~akcD-$SIJ6DzjZSjps9vlxy`?` z_}&;-IUX6RH^NKUjl6KooNz%@^_C+!75$%_?Cbh!?tA}M zwY=-Ua6Bjma(^22C3rgB*|iDhW~#GH=}$(!ho>e6Zlj^&CVrC`#k~MF<)-d+6tB_S z@Z)1U4wVbeqw8j+7D>_%$`Q#{mUZ7tejTZAj@+yTdkw$SY#YvQ1cK?sDED^zST+YX_d$39IY;He}F{bxyZhMC`fGvzu zI=3rU^(|vGYdzCdETM4=^5jE0-gM{r4P|Ly=@VBv?XsmAr49xZYh3*SM`MkQ;<7YCpKs}vQuY1zPF$m2x}Oqi*{hk zz7oQ(u~5dN?|0)f!g#y;tzXj8)DY)AzjI*pzS0fDujktBMa|Jxlaj>8!iTJF9vSj7 zMAs6rl?qCPzEJ(MYy>iXeqDZ;6kkXg4)PtDct*a;2EbK81T z>uQ$$y`mfQhgJFh&`*Q}v7y;XDRGbci<|oeFSEyY+%qQ=W;+UBH(LJBja*<&g4`gQaZ^2HeBX0vUdNcdw~6pgUn2MJJ2KM{I^00!)77c#|$j` zW;rG`gx>}>CzK95+y`M4p&~}P;X#R+F^MGCCsB^IhD}d47}HJ7t(Gg*!5f3m1=%Uv^6b(Q;0(R!QoXHs3yaf_Ly&}x zU(4SvvA4NCWR#hg%GkfzFga&*vuo^%DtXi1&epJb$hd7upU_M3p3bWJh2@0b>PLCu zin-a&Hxp@v_(GYu4KRXz*+s?ma_py>XLA{yR2^YR_r8NIv> zz&kdb%%SKCZ%IoGZK;%Hq>#I)RjJa{973}jongUi6bj5DQfibdpTiv?(r)_B%8)f%_ zK$!5aW?GJ%3ZB_zo?k5m(--qgupH9U;SUdycbi?W^tSNxpFstt>Tth!PWOIB(V5Rj z+4ZXnlslcu$HRSc*UaX3kuVj{j!l|P+8lG4Hx27)v%{R2B88@urd0i8*1Cql+NZX? zW4RCvSIG2~SKAO81D_bY$ya%cREI#slo%Oc< z2;{`zPNi-psw+Iruiy-xi&D>oVHg1+tBW71s??Hn43_7#=Zyd?_KnOg z1ZZzI`{d12y*n%@ETo#q0K$XofT32SDfGn$S2N8@Vw0|IOG>{Q+L8Mtp@RokK&!K< zlVnF>D=vjwAyRw5f-2*2<$h!Kk2i6L)gg)Cq^yuWA8{uuLKmL}zbX-34_;TZMnQ#1 zVxo#XzD^+<@7xJPvf5&TPgK}=`b0ag`rzBzdH*P2F@2V$Tq47ls$5WoI@)Y*rJF^f z4Isjjv@n!#%nGylq${khz>#2*xj2puNfw)8Qdp0%U2i?wL0g9l71c2*aB}+1ALS-; z>&R53j+~fLXoU}UY5y3qH<$m-!9D6f| zmAC~#SSl3P0tfc(^uHjXd}^&5`s~Y5--wQcqH4Fj&FRqrSL)3U0w3P^zxj!kGF^Zf?Q!Ejs7@NjB zq>|_y=pXjlH*C`)G!x9`T`u$S-OVu)Qq9Wm7t2ATqpkiy9Il9Es&N(Yr6^WvRk6t2PKk(r3areAK7oqE}+V zfUcV365~rk&ezd^%GQN8^SaC+3Q?rYaKHgXNF+=9i|u(#s^yeM`P8K=K$v|l{)o<_ zct>#DQksU$I?5pxb;96fe(t4K#6lgW953be7q0Hd5eI<(I_`to&P;03+s}sGGfjB< zbARE=e>5>xw$A&`etY>f{q3NT%{gJkNIT(F-Y#!#w4n9=L}Nb0w7%&fM@ra~6!0h_ zfJl{a5q#`MF9(F@7xKY8lKEwz^Kw8z%~PG2D3r!H%8j>FhX>**^hBR|niZ4?`5YLF zrCvmbqE$002Io`0crtv%Zro`L!&1DS)>Ba&>$nv!OJqCgr>V1j*cvRk-F8cPy{UON zdrHSZe%E?c@&@N}x4BkUPhI^7-%(WLeJ=4QB>>9VSkwIg!PJdC^FUj=9_knC1awVv zIvrMJ-uPo5<2_NBX3#C~U%0<;)v(0nJ;cA}84RVPaddOS(_a>}3i-&yikhwbg%j+q z{R?*t3kK$}DY~FjzAq~ZN-ZpvhC^B+TWJ?^3|h_xKFq(Qa6F%$Xev(Nz6}3`lODh- z0y8y;7Q;2Aw%-!|xT<*kVtf|;V}ok7n z^DqGm%AA!lC*q63r`?$1Dr?`uQ#$vRD$VmJ!0Utc%TvHJ^J`r@1_e4<1#pq*a=~HC zf*B2^MZd0m@mwGOb6a;I{?*uDxDAz?v_l3nk}p4T`&gZHJ|Ryv>(v-voUR3|YhQ=5 zFOGjOEN8He=-F$_UFOW_YZdt&FTLF{YbOvSu|Vh4_)VsVP3GzFHKEgNZ}DW11UBZL z#aBT+S5MrXrlbAA51BaWgs$axl_h_)L?>$wFv;SxjapxagZl@zOr`|hB}!1jYzwm2 zoAp{{`c5Rh_nw$EFQezK!#4NYshGAAY}fdkjj3LH+*0{r>$T z-@w^)v-s>|YfMf21MOA!M+4qOLVo+{o><|pS4pFu{FxtF%YM`AYaImXrTltYjN*v2 z%i2|f*c@W9IF_v*sCET_z26oNp;sV6-%!L_d&_DV+j6U6l2MB~ySqxM)wiL(=5bgt zJ`G*I*H9rvh3Zd0yzTu-r#U~g6d@HF#2;~O>=UvmC0#^3cG=tH1rxfAdL(E z1M>p~usog#PV@X^o^BBb*#wKV8PMIS%Cy`~TYER$MWIiYVb%D*bRh&2E@88V%CrRq zN#Z#61_GtVpexsyO0x;M{VTzJNUM5T80bdR8X98cR_|}@15~FO%NR8dg)sLi!_WMN z9NinR06hp2r#{F?MnC=5y+EcE>I53R=b-vSg+NCk_kCU-Y>C-M{Y)FQrh>=fAfxM( zDzq;H;##ezpkP3RMNgWRf%3F`@UJiV%_DzPfTUz=D*OXr}O8w{A0H-eYuE{9I8EGTk-9tm#e zOf13^8G+Dc)f?^Q|L!>Oze5p|9vDXXDDHUhTmVKkYXgHV9&Z)k> z6OeN?NNTbH%U-HNXD#@Dl}Q#hL!*$@!Jt7|$4Nrxys^AhCYDw<0iT2qCm^jNc5nTl zU*Kt7RrT1rM6nRYS}<`Xs|&aEz9Cx5o(jiDSuG^-GT=joS1 z*dzA-N;w7pe~O0N`u;rvF)TgQn6Y4f-~|t^H_VWe9x1P8tT_PUjXj=l`533mX@E8I z2gLUI@zq&vkgTQ;lmR?r6dHiF;f6-6hFE83&SV&NAdul6bVpx_(& zc>HnI`B9v!otzvzwXINfZKNsG=_6lXV!h(QxVdHEcY15x{;}J323vX5_1ag_?F0T> zA!4$}m~kCcx3L2YLST94bNMM_l%0&e$z?4>@mR>Q6Lod_z=v_LuE3918QoQ7kE%lJ zgTZyW>WC2^0V3hN{j)Je}GuXOAyooqp zX`Bt?Y3z9A+{u(tP}rh>%CC6dYjKseJqj;4s)!#&$PeytvMcy=MJ!jsId7mb0zRJB8cm%mdj?V z0BvLBGTGaL#)oz?`ClJh3UCED>6yK}KG@lV`SuV}1uig!Sp9^CD`Hq+cG7k4zL#9# z?kOgLwOcEEzOgG8Hju0Iv-_b|-mI>OV5@{KaC3UPHB#qC+C3O3RU=<-GFNXoq;h&e zx0_dQu-<_DrSA|#=54W}u@tI5&RI%nnZ275RC_gJRz*TO@X>7JCt>dODj-r(vEZtR zj*ZK}$~SSnih`(%!HXOcmFqt}HuSqv9>t7qW?tJGgtT(5DhA{*ZW4}7D`WZ=EZt=T zGZK(IC;ju&`=d_EI^W_UsKf$_ z8OjJB*C+!@FOIQ(#HAFa5VYkZT1Xx}ROz!o{?s>bUy)O?@%l-rFe~(jJr}2 zlCr)NInm82P}}^EY>Q_W(eRN^&2@_d9SomH<`C1Pzeujz2a4>r6Ft|g=7lOnEJb`(BaLOudy3dx1Sm&Ux3{>zvo@sY+#gVIF|EXZYkp@@{KdsxMyUy* z!nkREHvigW7h3-jjLU^QX8}D$-bf0#p!W`rRGpMCiQwElV?B?u4OfrTbk|t5NCiy7Bu<+7EMW8)UOW zBJ=aj{&>p+mYT6yiM1bOt@HF@hC-xO5Pi-8w(Y@mwo#4YP1du@bO5mTjx-80Mp46z zC>7}n5b$Y}6(-ChnGe{@4S^gJQCts9?dmeL+G&ZnOmd|yzlh<%X$9XBkQ@zj)m56O z^<@2p%S`hVm811@$2quskIM>ZmrP09|1&c4&Rcs={(Tu>(i*6NQ1Na zgOOM!lFCw*ldgi24_k*O^=8bNGZ`{`N5{fo=~wN)lQ(18bZxX55P4w~%-UOOT(MfKKa(W*0b)kA|GipB-lKuNPrH#`d4ozXP#dPf7ALM;b zZ8afkj179Cw4t26?^q;fW~hXz601TcnsD;zT`;K)^^3PhI@8E zZ=G@e$FK!1N6w)v+i@*%(LXcE^+7SplE*Z=>!n!1k>UKAeP!usb7;_?gZ)%pKeLd_ z_DAfoK*3^7>Br}w(4ArBMRc|q(ma$^MS^BN%ktXLu+|Sv8nxze41*aw?u~D1r^a0D z2tpJ4@$m2Gklg246@utn*GrSYh0k(~3O=3y#HKR)B#k9mF?DgFxE$EMo`$zsiyQ#0 zZK@wD82r0yaHVpX=yDmz-fmugOB+k{s5%JwrP$t9tdiF;3dA`GmA6GJz#fF#Lh71zBC@t9 zb@FQ{ydx&U8C)oI@#HVDf3^$GkM{l+qq3=(y}cDIKU&|{A(24>CdaAkC+|50qY}@_ zyWa|CEk5$bH1JahAmD9bGtm#65~B+vci3ib+sVAm(XY~Pclj}sbf@-f!6L`RJRM*m zyd?e^(DU8iHoHLI!$N;1Io*tkpF9o9Su~88vNq=u@C{ulYI3x>xcA8SJB$5z6!C$c z5W%5(Q7+G)tTWFu0mZM1Q;dkizDCbmoaAde=+1SxG;(2DdS1jR*2K4W+S9(qsm&U| z^zWBH$e?rAB13D|;v9m24WqTm({ae33w~jv-PLi+Pb5d!H}UHLsJ`87%M5TgN>o{{ zm0~b=pk8^4bJ>Afi{A;d*{IXVR~}=bcWo5;Cm!5#mV&qLaHIuo(yQ%?R7oLYQKR}= zIA`&0T_{WRf$^;TC6$$OLqw)(=fT5;{h_hMOzxC>UI?$RT$N^lF#mOdISzx&@6@Z; z!laGO&dvu@b5?($q>SWvPoC!4l_5*IQ$(%pa&|Lm{gCf7;oZ|wnd!%T0*>|P5=5lz z00F)Sp8#}dpOK1UT8fwoe(xsOLh2w>VO;whW;ic3?>1tMl=>^#fu)5X6gU!bulhC+ zu(2+lv#E=*>ka%00gA1eiOxLj)9p5|J7QYVtK`zl&C^DLLWdBfl6=89SLx!c$|bLd zl|m;0y}_Do6N3ZRUze;%CLDL4V&Nynz+{O%wvw8|eaXJ8)^e+>s(bADVtNuee7c*W z*Ps%Sna0kr-Q7oZBEIM4pEto+SsGQ0Hx&<7)PN)P$Z6xcU`v6x)7d9`ajt|yx-y9# zAP=U@kBx<3u1)y&xiT;$;Co_trYrcN`U_A%2_R1$Cg_8t{IO4ZOc!NI34vKojJSnp z?n`elw${+Z9Skg4d*wG6rFc8HSe*hrjL=bUO0@a2}pb~P8UUypXucRg5 z0NYYUMC}=<&Di>gXwfhKUsMWlj|jnk+=wV0Tc*{M4%YZ=*ayKlO^sz*+SnFI*Eoi+ z8+WQaRnvCTU85+}a{-^fFGIv$Z3AEdV*U3@iK^NHCPiCOS6AM$otABEYAB=EW6}=- zl^ra-mO!n@)qY|4ii8E%<#oj#IY!IFV|~(qC#4ir)d4Zl8gp%#w47{+?J7LoV^IuinEnKe&<_s;tRt2ec_iF)+LujGe0-1WA#x`P^3TNKuN!B@XxrFo9Cc zEnDKoIc2L=NUEyVPkmZWRR$HOWShao|ygp{pr&p|mW zk4~V}q9UPYGNT1hcGmj8^Xk7>H24-ICt+C8xs`&qnu6Pp+}N2);gB2Wx`GQV_Wa>6 zUs6aF>18Q_X24e-(9CZ0zjHC}Qz%0Z^reBYl*J`|L!4W|Df`vv5fkrnAuuJo)JEpD zfiRUW|0#m#9AwIX46&(!<%#wXcd}Z%_J}?y+_=nC%e*Cy`vFc4p$~=)ei%CkIhF}E zof4lmqV&d^{>m7cVnMw|m+iXh3k?upzw~cPm3@&*liZQ$S8>BrcYOLu1rmSmnt>Rc zF^wAK^uPXeCu16&iWlk6h3?Ak`ZXQb;93UkCaN$lL=6<7vcP;ZOwLpV{ce^TUC_Qn zjk_T!hM@W9f0DdQANOkq(&`=S!#+x0q%x}WqDio6c({Tya3d%UORVQ0dJaodTCBI7 zIFkc6E@!ev++0f|GU-K0ykcj3RW1zx=#|%+tx#aUW#Q&|%Z+2EE3@|ldb=%)dy6uQ zR`+rId~IMKJ6D!I!_@G5WY4T$*IYN&pM3j=lYc$fStS#ZS$PYM67#+JGi}El?(N4| zVVv=}G5Iy4sL-GY(VD0-Kj*88+qEZ5gXHG!#7{RVBaz0=v-(6*3bEGXn70RdTFj#9 z9iS-`d&um>eQE~%QWXdz?z^wF38C+{NOmF?Jr>|WB4g%)?hM4psATIfTWptDj{C}F zm^@YH*|u^;=Rf9`a|5V`LBnxPY^oulC$-J?Ul<8z&Kcao)whebxpwi@ga_aA(a{+- z=@;<)nQw{zeR}@u-L0Q+%N54Oj+ap@A77QnH`d%B&RoV|x4RO)C6W+A=j|cQ6SJZd z1ChZ?skaMM0_-daYYtzgB!S)PAtgqtZ+cd$J;#=-w(c}q|H7G#`KOr?3Tg#VUJ^fr zbVOIg(irv`fb8u3*ABZg*9vBT-tgypd(4?%)IH{^I?HN*Z4v3LLEIftpo4WY|dy3PAB>!%&)VkLjB#5nx~UcT4g_&w<%@VcvwyGGD6)*BvA7ItWTA;~-cgc=A19cWbR? zBB$S$LyW9HzUWkft!+H!is}N?43G!99;-^&?^$*QSLD8rm{IH}y~&h7mAfcTDM9ph zsgPDi3Zh3qH~pn;~@?HfATX56CmlEAGA+2(}P#r1ERrKI)tAOjnEt3bZo4x_SLm%RkN%& zT~d}D?$1!#(8*P*4-PotL-sbinC@b01|Am`&Uq9%1zT49M z!!S5JEFJUYNb943Fqvz|!K(D%(q$WPNExNv@xfq_srYksp1!G?5S>@{Eo-P)p1~Jx z^2&bTH_{m-?Ekf3c?aa0wdgmnmTx=F6$z^0uRvJxZ?cwPBn^=w1DK@cWT$tQMo zLc~L^SWLIIaNHcZeZmZPm&I#zoy5}`J#=OvGg|Q!d#Gt>r(r>1ja~LF`J;o*V%_(` zgM)E544Z*rA+it+yff?f_lvA<-Pvvv9D{SVSx^P3)5vsYd5v%1*%2+*MYDS=o(d~( zS-S7%gpVTBxvT*e68jYS^^M!RHo<&4tYeQru)SP|R`l*8qT$1u0_i^R#p`;&X7lQeK(Z|cycW{d3sUtUAg|M@My?Sjnl`e z8OI5gm`;8e!q;x{$7=&lZa=6b=tjnrKGq+^nF26H0~-vI$RtFpN$G-ld0ke%j=c=Y zdxEY*y0tgmao6~@$pDy@&R!<6wx+|C4R8#6h= z3*Fm{bZQ17|3CZn(HvUws!+E38 zwr_|X#a+zH+2l2wFddMU1rLIB8oQas&ei<*amd;KgJBtPR&Ocna8?>!P2J{nSP*n>&uF*pKvajkR7-`gOPc1 zro_!0vP>{KeP#rHHG?uK&tWmW7^u9;-GM)X8qO;e%A(7BuT*uKufgEUbeknHxSka%KMl&?j;&Dlz%}a)n&>z@ z8&hxCS{B=Bc~qBAsVazTATpKL%38wxc>?l|1s4o%Pb-c=e@Sn0STVf(X7kSn%S(r! z%mzy;#lOe5$4Vih6QQ!23k0j0Uu}7)lHad_Q9g^BEY<~6!H7%2mgcFYGQp;op|Dq75`hOCP#Ewp{JdVW4qFnXUWGR|JS_Xa`Kjqb% z;sozit^N;VYD1vVs!k5{_BMqrSfZ5df2xHTa+}0fCtpfD4-?-_C6{hM6H}!Q_?8YN zItHoyzlc;wJ8WrZ`K|FlF-3qe$G#s&#TuPgU-J^_`JxQ}^isRZ*YnCBX~? z5lK?_?&Hxh{9!YXZ2IglQ-z40Q19x?gZ*vmiHUuh02y9Pm4G1UeqNlGtt!M)obLLumS}fX_%+My$VP+@f3$zS5+E6moq!TY$g~PiX@)`( z5j!R!Ff&j=yhweBV@W!V3yQzA2@*QIp$519|VT@I{JZB43ZSsmo6c6JY$${QO5V6AZ$5 z?&jEJqPNt}Shl={#f+{_S6UiuhxQAU_hILDTHjw>0$qG#Sv(6|(CMMpi5&kwlrf>? z60W|kYbwMI3zN%xkM)Vaa6gAba&sEb_-_psuPj?PU!1OL)?MCNN5@B{M1I^Oq`%Fx zg3`H1YjYis=aW$oCP$1{7DDy(_0mGQnPq_krA*o9y6@3zH{DYVJ2^#=*%ssh82;+2 zhC88bYr7DsC)*hx_J)=Y88wki#mtq|K)X+Qgr8?5K03G_o$kD&EEbb@s7mw!>|Rv6 z?~dzNuyIAEi-*OE5`!_T3NsSv5Hh)l-H>6_RTcD|wG@T9+9lEKVfmw`;`Ga6E51`^csXMH}!+UstPk$Am3>?kzoxAVEu z$WZn&%pj->g|oA7IWJ}&G|Gpx9QWbVYek*n6rnFY0X}Qd@Bz1Ia!KPrj=?v5J?4?q0rBYKK{i48?t))#=MIIHjCwqHQ z!@FazsX~3QD#~B%aGdU>EapPF8O)ztEss~1fOIwKmY^rHf6n<i7lR|Ykb*?4R z^F!kf>yuP@)8#kZb`Cy;Hxd^mt{%bzUw*Oblljqe~RCaS(| zXkJ=0*I2(AKzi535|QOaV`xcLSiGC9r9u+xr0A%NiC3ZD)Z3D$UIv!mPM1a@@0cpq z+d(E8e7BxKfHf<-Rb>nT;M;i$Aa*_vyLm`~6j zj?6eCP$q`4%ek>~X4NvOhjL$XAbW#yG#qnzm+*TWnwa{>!5dTT^_f%Bgy5BDMT zQ#Zu2*PJ6?MmM)B1xZo$k<9~t35g5a7TJ{jW~YpaO4}QcdSXyYP(Wr3Y;K)x zg-8@tc8Gyc_U~ms(fz)-p3PrZoLk_!(RunKjLH*m@=1kzMEHFau@s|X~CLzbqM*KkaWfeowr zpz@6^O~S^utafi9hOSJ|++aJz5NbWOKZNSqNjUfJS@M&ea#|~wi2Qd4L3xA@-bP^6 zdPQXks`tB*?pW->L=trCRMs?zIR#o*7;N=77tW39b?jddD=K`2_c6+zz3@`2O1;kY zq&l|kUYV85#w%7 z%(1N)wtQqf)SiEe`9v=~yn|LBZZvtNZv~x`FLKc|mX0H)(}_&7I2R#PXsr5qxhP}b zRcyB3o9#CH=Q~C!i$M$Vb(waC?TWpY&#*wYvjzKlHZ ztrrHo7GGDpywqQJtBxlwQc&<8dVGOg^7@br5gHDS z@IgPxT>t*#r#bgSQs8*v(RijcMqAEY{m^8it_)TO-Igml1m6#aPoiY4(YZd`?Y@l3 zdtTiN>7NaTYBQSO)9n5>|1sFs;A_)Nb2b7Kjj}XwEEM?F4*gy=%vZHGuPOX-dsp+4 zm0MKCIPB3w2$No&zE5Kj9Gphr`x_4CrCC=U6X3M`#JbUy=EftQr&mbVKgNXrF1qYJ z%jV*S-l^wk-KB-fu-(?R>$Eo_M-RM$py#}!eMN!eDTc_`h59)!>0&y{jIRr6fl2v4 z&5CMj{A8Nur(b@5s}w$>zy85W7NUmrbZV!1^VAmFve}IAYh+-}J&Gcv^PHPDMI&he|bCx5nhrZd;s~9{zH?gYTMY z{67EYnfh>hQ|iv=AoUW~=0Bq%`n8i7$7Th z888~q`n|X|A(c8ESnXo836f>l%=@q1r0*`zMwHdN;ZF_BZ^f8^0VGZiE$6G=KmN6p zq4n54%-9p1FPfr*Gb;>v<`GXcCQ%TDY$D&iXYqSaML$hl)vcq+1uujPJwuy3O&s$rYZ_*0e%o@J{@XRf4> zR`^Eqyf{~cT41k29I1%by1A}y4AWEW*PA~&cXMncCY{YEXJv7yBP!x9Fb6~>L2r^; zs`q#3mdW%Y7>%^SVo%Ib&cE$Y;BCIM;oGR-h%|8Zl5kGL*TZzcEA(Qh)0lLv6PD1m zwyFz{0D;c4D{$$7m*9KBII$x{t+PS=e_!f_#!bOg zdazxOEwPgUe+!^ianM0Z=?WcUcl@&0P@QsFQHd4ULlxJe-8{EL#ythqvfHI(OYGX* zQ0#r7tvI(AZ<4qe&5(kswi(l(1iPTJ4I3nl#SwnuyJ-Od6dX2H5ir)vNC1r=%x;=h z&`!CF0JHTB##mxB;a_;RqBG_lgKN|kcH_Z=DahBwzI2_!#N1(uf1rkl@wSwfg7O<- zCK`V-TKiN75isGnRuXz}wG6yCMYtO>FMg}uZ5FZu1YYSza9RwssX3`Mxkg(L)B5PV z#CAhYWE6LTVW>qbFzQp;>+Q$YQ!;pK*sVgh`Z9(ZUKo~4)Je1pL9qazJpbcxEt@rjDHGT*Qvv2-@ zWH+i1|5vZ`6}wLp$YJKEC~m1I{GjYSA(#vxOc61tx+5H%8b3003`$g=Z6^paVHd~S z-seSBtJ-IiOSXj2^g#9XF#P|iCbG2Cg&sKiA!a1WX&(EpppD03eP0)snWy{<2P5u% zp7KLFmPK*v5oV$XUexMg5fF6#OGpe4)c8s6D!b5VOAqsnIbC5i0^rpZKa%JV+>;fy zn*V#Mrr^jF2Tz}UTCd(F^qNw>&SxenWD6!1!R*^<;~Ppun5z1}!j~T>5f^n{qmO5o zt_>+aqNUw0b;7|!SX3>g^(G;uxjqwbVi6PeIQF`NUjK!Qt>yp+6Vc~o1+tuh6cT$@ zf+R*|>7ZDnC@|g{6EWBm+wZ>;1pYTf&c$UE3L2>s<)cD&OsTA!jq`>i1|~f3$AhKo z)JCTA0m-RUENDB$~`tT$k=t zPH-s-Q{{hW%T}3+KNwuU0w*07%&?#i176^Y7yUQWesbq`)BeUelPo+MpVk%_m>%@y zwr)vZ?V!6aP6y}XmRvPkMaA+29K{{>ne5ggG$_bQ3Vrjfo}G;uUg}m3e!2pRzFfgOmnALyxh-U@t}TE!$RDWLC+A@tr=L znBE2ksZDWyE<8sGtuQr;$%$cDj+=C(%w$Q5-{V2(bvy>`Zv6QuFvOkUOK$zq^VZlp1;XTp^-<n3nG-x`xP^1*Mzo8dJV1^g0kn9X*U*E6w(>u4=(ok)+L zzWa+VQ2eygJ@4m?m?Bn&aruuV5}lehgEr(!!Ut6T4gKbv={^5KsUKkfXx3SsYZ^R5 zF~77~iIgN>hWQfvBZa*#Em3^13oYu0e1)EJ2{|%xghy*5n8dxe>NS+oj5YRm34eUt z=4`Bim5u{qR|_TJwZFr$^08fDfkF+N9v_`k$q+SZSRC${Ob#aMdJ=F%IW(6m3YJeB z-C%Ft7?JmiVwfykd!!_KVx4%fbrAiQWPW+GZE4G7D_2&_f*<`Xkt;NLkc3;T9qrKOt|UGjG?@C}Zk^?{U)#KWM3$S@^J_~ki70nNITd5+v|5w+sN6{>1m8Jk zWVqPJ^SbHk078A9O?R-Nt8G)ZE!Y(76!+&=X z{@JVk{f&7fW^c$P_(6xmCB6K(pxklQKxEez5C~OKGBvPt2@}-00hNoZPTwwhX8mls zTy*=GgF^Z$RAdm7F-_YVG2F|q2u`$s=sVQ}SRSu64`5|6>Q|c+(GDp9LvVNGgP;}G zE+;kEK8~R?zi))g1l+`otLy`>qA-s6<&JBBreG_{_@d7l*N*=eSMLE0XB)Qd>NR>x zh)#?i(Yw*R(L2!+MjgF}(W19O)Qspo1fxrIqeLeRqIaSvg!iBK-T(LPwf9=qvX+_W znaADcy07~>kF$Po_@e+s%dM948kd;6(`NLMcQO5f?&Z^C{KLYg9 zpdoY}3*uBz8|nCQzeLGht%RUQeL3S$se?K{KHJ=Q^OZ20*|?0q_&I`HPo+99>77eY zdFdnawoe-%I;VO-&zhZWhi-1OVfLP7v1We9m7%)dM>Bg?K?~xfRhbn|7sLV@oK_!@ z;+mMh>USot1|@hpWJ0TSaTIcW9n!MO-d=JAAoYkU9Ks}{B`P*Haz_RXqg8;bgx}*G zv;1!tKeu!ZEfC~GObPFro8Gu74?{kXjeCGP99x%L%O9>kaWQF$h5EJa9@z}+1m`~) zTNR>sbqS$_)jU0{-9)OE+BAKnGY$*v%=Q;!lR!Y^b%V#aiMZd0JA&7s^It0{_3jT{s^oD-VJ*rQ<_NVV%eDr^0H(rM)MP3%$4 zT0dzFQtKmR(d>^T&f~U(`JP@$$wVrP;27I5- z2&|)#BaepTWv7t6Soz+ZKmQNL+me#WkcY2j5<7|G#e4F?NG69(uxwFETrcX-MNigE z>@GB3PB|HW6}|CV@%3>lnLyPXE(X6cQ{eAuM3~Iz^y$U?Ho2FUHmhE{q}iA#T7rE3 zxmOjs{=RysW6qtg-BhMKOrI8pR7}(84R0~&uIrlpMzQUI?5+9moERg>1EV$CM7FLc z{+6L4_{VEL?@YgQ;}#}l-|i%;&*efKqU@x_HgDP3`r|Yw^GWpAAD*up|1PheS2(yc z?FDg|U!>I~HsV|FZr=-<@Vf!N*<6q1ynV)zGj~*_G@_jyc(Fi8_gr=!@wu!?h?L{SgHm3%3iHmV*@erKLNsma_z+stJjT{u2>3DNgf_$f)Je{9zA$_&ai66~nz)rK+m2 zXsx)$W0?GC_jS(8wQxe8EB=jZg27M~wvwwM!CQ|L0cEEQzWEf+rBql* zjL(X3HZ!U&xx~|HP{AbaZh^9V+F`>4y@%H4Xq$xNaAKfIzAZKE(le4kfXjKsACPA3 zF`1-^Y+)Wq-a%ge_brIw8Jdzd+ySN9=z}VAHVKrO-GYdKoPc?U%V)%7=B(O9~1WQ98&7H&@jUA#h6Q&%%Rw?w%Ypr=aXFnrmMUb*!w!Wh6YNrYxCtJtSo2uY9g5YhzSpnMy>M zZ>Y24p4_>QRj%7(>xbj2M9h-u8sMVP7n{Bd?C4C!^%a9jj$<93%Am>JPeMyj0NQcs zy`Hr(BJ3>YUAa3V4~f_jtc6~8+>@lgdw;`Vl*RkWB#GwTIPv)u;>-0ip1}kr$6O@H zIqE>nKB&LL%N+#Zcm9;D67188D<|Q!)Rak(CMP!J`=z=pkJE>z{dr zt9E7^gHc8VJV1z96mwi{0!Za;<-()LXHd^^4)->Jy)w~(Y0Nf7e$#1N*x?!4ior$& z32<;~VsOP&a$Gxfg`kI8 zp;D0eF=7n-rx%$aH&c?NtONj}sr;$u|8sXR2>{h#fvd)ix8X}Bz;e(L;qL6QVjL1M zMf~BX{z`Mo1b|$_Fi%1OI|l2L;u7@lg_QBEEEp zp(PXSWCUb95pnNIlZeX9RXBj$&Q%xhvhTt}UeQeKBzoW9JBv77SlX2pJMyaz+l&Q* z-dqk}qtP;J_Htli0_Qqbpal~(=?{Z{BgPH zu9L*vixRArG9rfKLIGTZ1}Cd4>GwW`YV*^-Bo>9zUkNfB`*HVWsP=Dy`Hp!K8f!A0 z&~|qOK8(CD7f3=y#|xlAy;b+ZS}!@{RI* z&5F+%7Ec>hgq7!o@nGPH)p%%j0*@;@b@>dgIb21+^ALb^n zQwX?fS2m!++XYq|?KZ6YEoESHDuiY1waiXTB#%y=jp?LYfcR0lyIqXLR?^Qn{<#li zthSl@FsYQzQhgHuouQ<3^~r@&c8~_ zw(h`se^NP0I8!z2ClX$*%Fgy;&5-W|6jnU0Gvgsz7vPdq%lpY*$id;&th`fHhKaE= zq{V!@Rlv|)rmt-!xy4uyuWRZ`TV&vkkSnQ^Y5IuOu|e!l{5R#FhGsh6#^*iF{3QLX zofnC8CmB-LSAHQLXmn87d8+ z?$SCW%$W1_{W+hN|o{syctHJDn9_p^YLOGOI;4^=fR=8f6 zch`g@&jkOtWP174qye+;ZgHGdq4(T&DU;NnRHqu&omj$VduQY|3G@WP(VNd$kzrl9847cd4fP8oCa$;td~~rZtx7rDrrm z$1igH4$GZ)NLuSvcvsc3Gq!?gEz@H2196)#tCul=D31^kn)-1S;X#B=R(1#Sc~Nv0 z_YeIK+NyIc8V1MyrT#9~A<~^f&mp1*p#fagjFZ=flZt8M+05!YlAT(X&5K>_$tGK* z2^m*^bu}DVakno}+N%9}5gq|iVKTfEXEzX2`Z%YeqZlQ=ms=WsIYf#x`IML^_q-z> zVz3D_{X^2>{sClKQj!aCUe;k-3YRl}a_~B1NBQbgBm20U${?m zBq<5*a8p-KIzse!=uzseTSP7$&_MI-GFbcyxNQg_G9rLUvaeLi9?nHT><(!l%bm%H3*8JZYGvPjvi z=`S?O;y>D{;iG;6ntboQTZLEZUdXRe_XykjQ_qMiFEp+cry@`S=g!uQ& z2&%!WeBrMp+Vo0!jC(4!&_i3L-4A?ct=r!@V4Rp=sPWfA1gvoMgIgn$b@6F3o-Bf| z4XZws-`xC%?JyI;bd?EJqE~KR74cQa=dz%*lKzwWYv}@*Q<2-J34IyHMZGZniC)IX z9DjAYih3$;A!veNdDhywbT!x9tiNafjMu6Z=b)f{(_wh9ufHJ?+HQDpg!ixqYd(LL zf{eHK(zMPYu_ESb!PYvZ>IufI)^)`dZOH7(}-@p^QCGU!Pn4gOT?Ld2Wq$ zr%Hvi8g!Vu;KZQ!)8aT7h8))({9cgxti#ONZp!Vv6>Lg|tMHGEWog;c!6s zF~d5wrVEUryCRi6*xaP%pS4h)T(Bh_uq^v|v0s0KMCNx- z4anykCNQ}X)Q6rX?r+K=u}s%Ala?QT)^G7}T`jnWd9Ip>9=X=|A&PpZS)8z&D%$Ea zJ8HihB^MKbWLFEob*O9OL?YKu>;#sUNmbnRD9B99cAeDRr%vl(6pwwvxr6cY8~puS z+W*t?094|Z2(jnsxIyqd7N@*HGuPV!)lN_X87 z%(^_G1e)5^Fs!YJkI4eoa`}I zoDw{~Theu3Ri)@-5;y-Z?ql*HQ+CVG<~! zCZ5ObhF<_ORMsOdHl0K*RF8}ZFZeq%+5)yn-Ve7$CYreB6kc65u|85Kqk@q;u|8QR zgNs|*u@a?JOihipIIA<0^Q0#<*rde_{B!T-3s=dm+m=cZp+;ql$h2gLJNur^K*V(kc0 zBmpyj@$+F!76zB9g~(AYow_UlgJf9GAx;>4=jH+S1X2dz;QDLO67)I^HbXAGgz`wXKi)jD$$Ai<+RkS2YG z-wYJr6BA+6XrgJ(dU`rNU-JN=}l^erQKmlpdy*6s+2m{-F1(Sph+ zdu*cy&`b|;aS=)Z7sWr0jBA85P%rGb@fyICrh^$SjdLJ~<+YW$#SO?@aqe4Z>;MD{ zI$Wvvcll2jfF0suuF^@`OwUg;Vs-`}w_tXkF?px^5NCnM2Q8!cS_ojX(q|iZv<9#n zVJz|LQS_rlO>&z1yg3*g%n4Yh5Xfqv)oeFEaHcK!~gGCqpxp%?VkaA5U(YE7mA%_M{d87KXj@WLl z%N*5>No&mi`N4T(u7Q?i#b9e4`TSf!g#gGU4%IoFC60pe?@G2#;h(dlN@Ix4e!*=Q ze!=A}`=BeN*(aSR@TBp%qg#;VE9zn|-y4whzY3to@7q z<9vB1guXd~cIU=RFAO`K16IeCd_;7rA~UFRNffU!JM?+6)ZA`f4EJ%_b%sA`W!=)~ z)1c~dlTC{RFtu|`_2_1~(WBk_1r1K;!Ml#KVxCne8w$C3@SkmU{*+2 zbwH##;i@rP+S2xX3nrl+e+%}|IhF=6Px9ire*|oWqqomv9BzNtkOY!raKw>J_#yrm z{$Cpw>OX#*zzw-4y|d3Bg!@*nNUxJ_Kl))FJv);-B$yWxm)1pRJ7lX^9if4NAZ;5R zG}{BDG--`v8t~CIHSXOH;GZ(OvW^TsOTLV)J6nXsI4Q%c+S7w*;Nu)GcJRPeFuIm_bY*85=j!}tXCciux+R0i^xmowvXs4@N)mHF(? z&d8G&hk*A#Q4xxs>u7>0z>cUODfO0v&T4`Va@I`SDp)+TO~2vcj?Ommh(g26HINV$ zH+8P;l&>WIV(N~5Cd~2){c0iPn;9#57@I1`e!pt+id@Ck_<3tniePbYg55YTb5Xx_S`%B9!cv6q-27oh!nMptN8ch_T6QO! zk*j|2LpRi}7rvZtdtT{y87Eh|$0>`)q3vvf2QHv`Mu@7bT#RV1N`U-CCPJ)!Ue=ao zFMXHBCXY!9_fee5fLogXlHrE0FBzOj*^mX*l-^HSpe+cL&^^NkB3x*)o|;PdJ=d;EF1MVaF04)s>yFcN_q=J-yfLiH52xk}eedvMJDLl& z(+eX@jgf7_H-%;o;0!vo%Ut(}^P|gEc>CJ(A6g5BQNB&~?T)19H#Sb2GaBwg$C(c9 z3yaBiA4Tk0^-RT6T_ij;IW+}wZId(ms@9dIB)@!2dhc1FZz}1$RP1M#!RK4=mbP;E zySh-2^hRlfGF2+}zNa<7m^%FjnxE(q@cOAOF+22OLW9sHqhe~=& zU645HJv2D+)#JR@zj2W7cpSz4yIr3{&O&Lx$B5)Tdn~kD=c6Xsw;@P@TE%Y6kdHbk zE_V2uc%87W=m6#1kWM0&hK9;IGX;HhthF^!Rr+Fe?%*+NQD}{3`ud zC%6~$f~am%NbuQSSE#n8B(udA5xR5|j zH2A6hFI3Zw%-v$;K_xusRMe5{f1e2RFhsQ1Z=bFx+)yD_rwtX>O!|(+|E7?S1W&)H zvykA|LIl+!q*#uA3j8I_WOg{V97=}L3xdl-&^0L!gI0n=(7xwNRlF7v7*?pnl~yQ| zhx}dK89Xp8f^QWm&kdJVf9@f-jB~Bji*6jyzm+XU(vNq9^m))8#TH^Zw7WcgK?d_~ zD_-sX$3LL|_rY*@(}Jo#bLm~eyQ)mVdpaTeER>>jcx%hVGn~SX2O%WR07SYI;fe$B zdHhLR1bL>HGj}}Q%&;vzp|gOvWNTXXT!v=g$DYVkq;f~gDFP$EpAm&c5oH{>)`&JRLEK%a4N!kdmk@UJ@MrRJnTD8<5 z_|hA*6?=4SF;n)?DwR0(_U_-Y)ih8@EsEwqpN?JtT*IV8ow@(}b2F!?-OkMckj=4t z4Ww`j;)dZuwBr21hxtSX?-cW7njDBtfW@Ss8g^sQR{v#BxIz$Hak zAwDC3`OxA|_}L$jg$9wPkpx8;>#V;|q_bKN<4J#d-V~Wp* z693BPZyB#}ah15!2j%^+sXu>dXX}ehaMvZN+!Td_9i*s9PcYjTAARXf88;)H=@F9t z=$QV$_WZAZ)oBUvZo0A1^Ai_6Bmm4*I=8cizo(R!#C>#^tJ-!s8c(Z#HlD(x<}9@s z(M9GM|1JRrPZ3)2pYfpN1S~5tINpvK85kSGKNK1h6P*FP&Kw6J{!`|f*=yC(4OB+55sM>mBx#UhZhRa&R&y*{@Sh zcTn^?0!Jc5Vgk@S`p6@n9EWuv^ZzaeSiuck!j`8yE3I?Pj8_5rtGc>KK5hVh=8BIk zlK<_Y$J*B0XV-{l#8u1#JB{YGnHe)M!DlorPwmQ_vs}u)yQ{VrdlhQTgps{4AK4W0 z+}fU?3+I5U@pBo}g@A8{&i3R>+-v*{CC2dZbze6&unvqqQ}Mw0tk;LxZPD%5;~GGj z^rvl}tF*WutPto!#Zrn{=PiKxIWNvSE&Z?v&CCwrWuh!7m<8@RkeB9*;6=rF*P+mU zu05zNGMbUMY**tl1HWgsc|25jv}z>?Rf}Fzp(|P({unHsAKMyk4{Pgwl&3F#wwDz& z_+nqfq?!p?IM~IVe)LqXc}P_7>7=B5d)1Aa+*X%Kcf!*!%X!S6(x}vrSXQBY(au3D z=0vg)0miG}IqD^o@7(2yC6qHci^`ld41&yYU%@zz_H?d)HAvgmkue;h>S=9Q$-Pc< znx^oNYF7s-Gv6hlk6zqD!=;MAnv%J^SZOa$)7~@Fmh+d1!VV+t>cf{m1M>t)i|pYm(O`7ez61 zeo9`#Y+GkWlA%t}Te`Bh_Ah-5y|o7(`W&1YR$Jrrh)v~D8;CCH=e4JPyN(X$P!_Oo zewuH0Ox3AZ%K6Z+;-vhGt}DeHEZR7bpp%#&xK8y*Zj=6~;4*QqC*SnsnbY`zFRh&< zfb+KuogeQef`RDDawTxtu7a#2-&bMm%ZJQDBQ9&V6k9t^DH7L2`>v*V1U@i5l_+Rb zL6B`%G1tvLLds0BizASqFsW_A&Qq5pLU$J-#vIGY0{gxd1dfre!+f=kjalp58!C9WCe*JWh z&rP%?s1W7E)R5F)u9j(F%dw(IzngMd z`K8UpOd(fe`RWrbKK8n`l;jH=zB9{uRZS0G0wrEYPEJSX&>qq0rZ}9tyX0pnKB>5s zsM?f`I{&|Z5}SM)hcTP>LbYMKY$5tB=AE7q(+7moS+e5)V5|b#J~pql)A5rj z=A;hpo=?qP7*gyXsT&n8@UWb3S&c#d!QgnT@=E;)Y3nH&D=61?WOK~Lj0}mrDNPJR zG-x=?#Hxx{vi&@tuxAr98V|yC=R=)~mRC0|QX)SL+2oT8XM`&kyxsrKxBemI#0ZhK z>vyxTD!^X#stur(ZG$_M-qQbW9Jj`Q*fY;aCcE!V4)bi`o7ywbsIH0r>#Q>;C4IXs zYiXEH;h>PbnNMgyd_wJfs_AmCZbu}eGO}^K^HSTfCVNyy5%=-%{`=5vF28aQ@FJCj z!rSIu`dwrCkl*6XoCd=uTyt3sn~5C1@#4(q7wxiQD%N|`NI3mN0e_VM_PW%bbq@_t|S%PTnqsEzjDnT ziB?qVXPX_mv!&Vsu=*_>VbYQll=!H2J=Ag-3E}j z?qY=T3Y%x?kY*K~O(sD{t^ayClAaBr1FKGSrt_8hcF}|iwmp(o%5@pQ1+Tmv2GU@q zut6Vi;@`a{L=X|!!uSgD*MVjuC?fY^-DQGGB7DwPRL=!&8%W|a5{OnvN_fFjptgqY zd?Ghfs_g<+-m{REGHmS0+8_4)KNJqJpe5^!7~hA1UJT?R??q_ej8g*DneRYO!k-?l z=y@M4eaTVDY7~9{PsiRTV>9R*CK@zzCF8b}Tv9Hb!t1kxG)ZmIG^Vu7$I^opV9kHM z!?x?gArjKNrLZ^Oax=gBt}pVjGJvcHO3O)dBU=s~uTpCEcRhm-kh0$T3o592#^7x` zkGt;vlvsnp8uo~YN&hM>0odV+ZiJ_B^c@4XfL)!RKZq46x510A;;Qf+)K1!J^*0Bx0+fNmFD*&u9}Umo{s+B_)D#S; zQ*qgfp~wWkp(_Or^kzrmvPMJm8^)9ge4f&m9{rTcNDS9oBXlsycsRSIn(@qj+2#Sp zp4V_{AS2sXHlv=KV21iE4icco>uigzm7$s^-T2ok z1^s`c`?D?VieRf?=(#L9eov6Ucz%;Q6zR|_HX?@*?;dOufx-9 zAN?u4&s2e(&HmYPRblrZ4EcXBG~f+%e^Nq7aL~Y`hlm#_0EO-)pLFFjw0Ig9E5?o0 z8eRYY?-U|dK%r~h>8w1Jv4C5~;?MiTl>WiszCUb}{qOfaccDf-4F4{2>}uP8ecj-B zu8aHg2$`@sl2eE*8bM-DWZVf3O{TB z5mwa2CH$^$~|@3SV(=gusOkekJev7k-+4}WbNS`NdsW*J@51DGb2m=m2e zl>nGW9Fkt57mGZTL+v#Q(g_7;<~!_8pn@*0b)Of}%T|g_3bK#Lt4=*eFzO9#_-_Hv zc1hwu(gNKrK8kPDVPZ@%fx50^xxZ)r+l6J)m)}jtC%!^$-dZ9Tv^IIf$sL8!4?R8$P+QoIqiHca(o zW2xn@;&pT9p`K_ZOwge@w9#5u3>0dZ-!S`IWHkeo6<7PJ`X9nGSnZ}QI@WVcTT z#kofx>lR#dcmM3ZRrh^fyQX}Vts=4XDl~?3=E%kWmLtpGwB_6~eq`-xGQBV9g@7+< z%3#4lXiv^7!BU@$*4R>3u8n)%sJ*VjLs{X6w3FZ-5z?lv6{KI)ss z7WLVwL3X2n7_B<78R{E_4V7EOamo|;f~(3}a&*d(qluQFBaSRA;LU`{g^Qg|KQb!Em7CIalFedh zlE;lYA0ldSGOBdUln(rEzvXb3)~Ef{Wf#E?%aSot9kXW1+q1n8Kh_o7OS<%Eq2Br< z(A&W$xQOdT9eMt3S;h<^B<*q69*0;oK{F<_>;gdRX;<-ka zh#6>ox^;J4;>!4={==My&i4{Ss(FI!SvE_|I1{`hGYq|^Iu9}0sv3gr6;%ny?jbTC z0>B(-i~CLN)#7tzRxT+V%Xe(452LC7{@sa**~vJeJa-6B>p=sv&ERP|h2F(rnulw{ zmrmo**~Bq;Z%n3ucAU9-ib=gI_|mLs0z7!vbb&Ul(di$yv$0AtQgu=uN&fDsZU)3! zSZMb#T1@&rO&Uj%@O7(nvY_96FpFE^*j<{m!jht|-L!t5>Z|vIVVZ>1v4)#eFOO)|F4?cuCk-_?5ZU8<940AH*~@G6~Q%C zpFi{znCgy9s*FW!HZ?9pd`Mvw<2LOna5p<~P5=){=81HDtdL7{{3Wo%>WAaKV)oOJ zOzBS_uS0i9=xxe` z;^o_i@*LtEx*|+s7e6y_>C$|!U+{R7B_Pjq|0k|oBP>;M{B40E@b9SGz5w{7Q^?aj z$!B1?jLG5ENXqokNwNU_=ugRygc=;@>=wy|6ajP2GmSB+@yLy>C(S-W$KZuyv;qj= zXR$tPgZ#1GDt4l_IaH%hzU}0PlQgNbMD+&e5tTuY315rqL4n0g4(bEj7d&*VPA#TMosc!!e&uK0r8|y2%U(ApSu^&a)XXF!%>%Re+ZcNkxU)5}H|n+P1x}mGKnZk-&(CbWN*rX%r-2$vKT@G_BW3F1cPr=y32PR*Sh%3vC_iWewpWaMIyeCDO?j z{Z;cwwac(y^TN6RDk$t9jD#=#KE}^&{Nm#0%mvy%iVlS-Qaf^2;f8pCd>h=`8y$Q+ zMc0HMX!y+%<#OiNb??3zdJB7<7JJIm5H9`Xz{z*D$=~Yb@AYmgZ%<;6<9dIAK9p|J z5jLif_`Z7P97L?-L}opM_u%1a>$bAKJW)G6aq+OQ@E~djSj>QBHafaJC!MysLwqqd zch2H*v&l;@NX%|M^MH0TXwfV_9Y+kU?aedS%8RdBic=5Dq|*UX92OWL_cg>ch9c*? zHQuh(T`pH;V30XW5fhELhrYJ>w2G}!*%gM)??983&Fp38A?<7D77K)RZ;jtW&-3`h z=?(M2v8U${amE3?&D@G5uhnq-)Hn-|7mH8cFPVnF@spoA5Nt#mob0(#Mr|1va=ze* z6EJlpMMEix94Qs%&SxU6EOk%TIionoAgu|+Osb{ z_7lFqH%2H_+{}`Nh8zg5FZH3+zjQf+N8RlFMVkW{sVFHY2Qa@!O^Hu&I#x9S|1RgX zAnszG?${bz`5%HuYX90NQ-l=JPf5PtH*aeAu?#L)tD$gT5?WCY!vqc_lWyrZfYRS@ z8ptfyGLjLw&Iuq$76voaR_a6#2@m?qClYxPD>~pAh7g|P+7R$;y3-GXKPU22^FXAa$ z6ZU3r{temZ9@R?j9Rpqz(ZQSII5=52m7F*FA~j0|R^GFO00f(mF$E{OpP=6*eeorI zDI{hy2v|}DVC40@$?)2ANA#9L0VIh*gAqtiEHL1Lwg(}ZKx;W2RRO=%)`4wf{NCTi zw~iO)o_RF&*mrgU*tY8s46A>M^4(A;jjGSZa@pOqM-Z>h3kv4Vyt!K=%pViMJi>-`oYQMdB&20v_O_km*o z?HVS_?xUvS$R;TN6sG3lD}Z$9Nbeup(0{ieNisncCVI=BH+I5JaF?@#R6lB8a9Q^&rT=& zv^a^HLU3cSmvWt$K^{<<*3S#j4Vk&hX19D-VBx4*G6oVhh9nTf2?+u4S2dpqT8^vC zIWyBh#yr}(pS#hBc`pBJrXYPD);C9{73aK++bIIKKFz{q`&u5!oMsZ$ZUgz6EKfxA zd|1A+Aqd_!5NG6{WkqbMNn9P|enQy#X?OGLiD1>YmN9qPeha+t)MU&%IS~?r2sx#l z5~4cg(ax-O?Wg+&M01$p8%nBKo3VwIG!{P7te^23OI=HSkLFtK( z-1|NOr+zI!-%wI@=J|@X;Ou4n`%+`QS0tm+LZ!B(82UiQr2$0!Q&W>cOtXh){Y`t( zYbRYQB=EECV@sRGw)&qKtU7@ba~y7VEfN4v-5mBCyt&8MehW}hi85j)YKkdcR2+kb zqHbK5O=LVogO-}I^)6C6CE79ugHb7DF7cFQO1Xbh&|@p4&==15Xy5Z4jq2j&=BR0H zUaNOV%P&Znt^-Mql(zsSM{0a^U%qg07xX(Tt24(9$r`g+Sz89ZnF4dpN0*Xf5D~6q z7?7T>6ZO?VWCn_A-$j}^8<3gEe=Uz;=d9>YV7dKO*XP9A<0(qlT}!h6v>eoONiDN_ z3s*!EutDQK`E-E<+23ZV>7&3cD_yR_0Jm$n`IRy6IlvtZVewoVsQTMOtEBN zSS=B(c+gVQO?GkblJMu$iv!2$XwH>;NK2yc%R63rnh;NPiC$Qthxeby6h07ubs zzeTaQBuy3_IG1ozE!mRNgCW2l6xtGTXCZXtGF&1|glF`wUVV!G(QLQ~VLM}6H)lPl z-sczUX2qv;Aym!EJNgRf$ZCbxUDApM7FVR;2?9e7RM{&oQs2^l502d{c`zhno^o#q zde1y)e9PpWcQ8i5_o=Hkkdce$g+6N5J2!JSID2L`qOf1Tc&05RX?{#@*LsMKS(+y| z?blJ_vp?*iF&a3nxGior zO}V#LLw_D9KX=-wU2&fLx%KIY!>X-NVS;8shyO}UvVXW_TaraVy)GXl*;AZ#mQri9 zbAnvaeOU9F32juxTAX54FexB{kVH>yIE=jXOfSBD!)o%dRF-DMEOZj{@qB>l(2m*nX;;r{-ul>L5X3mGlZFOs&A?L z8?Ah?N?S`;Y%#zio11!&Rx4%iC2w-gQlA!sTG5tD4&)d7`gxLCLy`uTWy;()KgnVD zqBYI$W~4oG^V5gKYG25SmnZ}8Y9Kt9RkBqq7V|p+;ms|J^SNrfPeQ;>gIs^AS(f`# zS1tWfKOv0fP`g~d-F#?SW0tu~1w+eb?sjMc8tFUXobPHku$9e-P**C00roLjSf z?r5kTq3*iHv8zvBHBkRjGxaW(wz<9^L~_rQH70EJv#PV&o*lP#O*g;468CB`g~TCms=HYj8axHjQT2NmL$7?jVYZ)b!c(fa)sm2IK? z(~=)|w>w5(wBLAmtZZNQ?Q-{@S^jZtqR#X6&WsyByvye`_WW85NgVNi4gVMC*d zfYsZ7__o`wTc4Xb@r6i}`hDUT4UOLkDLHa9y%xr;*V>mFF*dJgRc?%+N6|~s$@s11 zo>Di?xjV9U-$#9n!)3eKelRDn3zreC*HGvWF0fetg{= z{4=&7eZ`ED@|9cvMTtyzf5#GShGNSO7jKe2-I+O3qKWP6kv_ufY zYV&Pvkoy)0QTM|Kvw2q$`(vR7;W=)nDScvIoESi2GWzJieZxwS(I3za&3fqiSu`O=raZ!4N8xk?2Y}+iVohkNWXl z-=T>j&o6oWv{4X{+%q8!K1=#jV1X8kzIho`w+JnlP==`H+WGG^AziqM8d*r`7W$x>nWa`{C$lkFEkZlBoP*X}@8Q!B znPyyc1q!dv@EF=gd`w}x$8$%TEC_C_VPQ~4he?Q&CinxWQd=TOPC1hqeh;#wL?JSj zZ-@wr(pp{|&9Pg8j6Br60B~}UfZ&EgFrst+sncPASQ*m{9*p)WWEeVTTTbD=61n&T zjNS`HzOr(eyHvgTHb**rGoRL==`{AENjkCxn_hLc^Ye|VRK2}9St(+yvHhnj1@Wr~ zDUuAMnj4VDeG?kEQ%(5fs(i4tisQVy7YTi{YE*h@b14|}7uRa#PU*^XJdx#g;oLlk zhGnUe60O5Tm-4b0j%syg=NFxWN$@yZe{w7ARIwW~xSqnx?^mpd3?nsktMyzkrru~| zjD4rWb|n4k{%Ax;&R{|LIT6>3nn>G!A!0KsWHNfn<`o-8Huk8&+BE)WdICm5@U0gE z2v>i2Q?%3DHbsORn6hwUL_SJazR14kZ=(bm`IoMvL+`uFTZ~qfD|}7Dg=7C4 zKw=E~tb}tk1#`BeFG`fOwB|$l4!SP?8>^P4!6K|;lk3q4Uv#5-1i(yAHwV&QN$Pa3 zY}tR>n#*H6m*&|A9WdutT8oBD*(^Lj*OrOAFCtrTvIA)T$^f3uAsAaSVCymeVC(>& z#E2cnWe-5)M95y1losP=QF*YfUeT4*%Wc=P+>_vD4ZGYIff-JTy79%z_1kS`e@_9R zD^ZXc=o|Z&eYdrL+`)KK18*e}Naq+1YE0SURAbR{;S#}emj_eIMoOE6nnKEL8> zmn(fc(S?0eO?2|&X}wn!lW;*_bgN<@ma|CNw|5RI#EgiR!^w5DPL?kgEq<+sfs0L` zVv^adIdBMNB&*o61Y|>DW-jK>LUSqC7YhPZ5N3<$=QHE3Wece2kOjkT7M65NH|~g&?%!J%^K8nEoech;$9%w2`<{{vV-r@rViEQw9oDYAhF#M**qqlLG$Ac8m=4EW;d zDqCu>|e@w&{c8Ox5Se{535&=1(u{;7a)^CGF=KbwWt`}gu1050tgzDY6`1b6Y!`x z?4WWTQAi@`9n=plJ^2Ec-Unp^lIH@qgJ%B#0pmeqn2(rHJV|9D#j>J1bf9Y1m#xYL zy}uWY=ok{@eegh^8!FRfk88FXiC-Wt9yPyqG)MhLA4#c z4`o;vQ$5lGl#<$e)j=zAIp)r+DLuC1K-nm53jw|aYe4`2n-gyu2kcMv1q5^j1WuBa zf(?!66)ifjZ0BaQ4`g!feQanXTDK^xh3G4~qL3_Ydat6)*AG(4y%mj^qj{X!3GYHj0 zf!{!>l%K*hDHp{3bMPQrh#)CyKSXhgm`Ui8z%Rm>$Vs)Ua%#rga@1UIxt;Ft9 zhT~MP`h@L~9F;3w;=-L*#ds7A1(ZK~VfT7-KX z{-tMc)d4m+{YvNymtP}ojqUN!cqdh?Lc&Ofyu#gj2CbAEsE-R*@=wQj>apX&`qxsP zu79MyqvNsB9N)~I9!W|PQdFe5z}~yNj~`A>Xw;{x5nobssdFcc$l_5y2Q>=ZRNkI|C+>}$XFC{?k9u}?#nAycK!5Wh4Fui#6PNsS^b*1;;DCfpqxqf7d@SaN5 zc{oIqJW+jP$2HWgVJ1VtL&nR&Jh$b_LXZpL#B2#R?mE{~8OH)Ft&PT0#W#(Jr&a^qzs$Zg~hLQ}XBJ+*&jVj?AG#55i1i8G`z zA`HYM)u}wBZx#n|HNL9m78<#wPaR7g=`57)X*U~wJv%$=Wf7a0u8B^`hbB~L?n6s! zQheztNg&&{w8qvm3<;exnU{-|oR0D*AXn(GhUv3Oj^ zQeo2;|+AC=fB3QmLh~ z)6&9{>~buj?M(-sbZ1Ruv0ZPI479V4$t#rHw5scEK{Qky-_yd zwuj%m0ec$~1gBnKQ)bl}VPEN)WchpnwOZU1zasE(2I`R&MirdC`XXSQVXtR zv#G_*OU{Hcq>B&@g^BI0JJ`b3A5toZO2!&CLkr25l~zgXpHCe~Dbx)VJL;E=;GEEZ zM?UglFPC0v7x%g~!tDasnM-D72n9B3Nsg1KHWLXelxb{e!v#|o3u|Uheq8|4|DW0B*#F3`cab7Tu?d{ zUrSdC?Qs=1S49^ioH-Yool);+uvB%O?2~#g*x{YQ^~v2T^P2nhg|fw%fRwnc}Yr$JTJPcca_st5Zgsl zRAVkPsk(kHJ0<&cwt32lenZF`l0o8bD*oTd)XBu;F{xjYBaNUraE(RDw-0S}?eA-< zIPz?_Ka%bT0hi3lw=v%`?eHX?C%U%lQPvkTL$sCj+o|!G0Nf}E$Tb<|1wPt& zfCQ`JB{#KUJG)WNsQ#(V4omwcS(?1QdOf`|FBvHY%1GAZ?XIrNb!x4>SXC3ps?C|F zFE)dZ#fuI%P~(+gmjiB~ADHd2uPd5qyNoqoig4jCOc{1&L5&#=Sh|o(t>In$&i5Nm zU39~mcPEr}=GM~@(%@FxZb(&uw+iNCRXlK({hd=(;V$MDZQOk3Bju2VMv&4^kb;n- z;yY_Qd%E#;w-nooFh`#17ou7WDM>_E6dXsJg{z}6T~x%w#cwTBH7sKOqpu!-g}NO* z;NHCk!^q#Y9MnCsik*WWR10l3@>?a<=%ia(-@W+-j>0vEiFARGP_jMowM zFlPr`JQ7dXYI8zz$xDv`a@v6JAk!E!%60>fD2-46_=q;Cjwr%beLrHKO^;>&0Owg{ zkrT1f)yf8=g|((x6qO*Pl#^mOkML?HFcP%)F%Jv=T`B`(9jSDy$~K)&lnNYd@K`tT z6b|*QBgm_6PKQxJDrJN4`4WEmwYQjzMTLfx($rR)fpMt4Sj_^E*M_vs0{VUw`vr6A z<}1I&H3AT@+1y6pJ1PUcQa`8uJ=6>;NYtI8f>z(MY?E=`D&>lzDH4S#?}?j zZp{NKLj)1}!$aRp&?M)txc&7aWNun_Z9d~b{jONs%i?sT$jp7WiC$@sDu;&8c)5L30ng*0d zw=~mgSS2X~jWa-&Q*F1kK!CD1+;`J749&>w4Q z-BKnBN?BP_f<^d~Y6?xh+F#t457XZxO=U{uLk!xCEU~A8iA`Y^12EA!C5Jy#o;-w&2#t98YBgib~}w z=zJg_5GXN=>I9DBN4xEyw#(`$&>l1h`kZweQVs8Z+DwWi4kYSqM|r5t0#NgWTqKd- zV@%K#I^h=yQ62U*F(PJNa1~uDA7P-Jzqsrw+q+AX-=}>=T!n_y$l`h3*4M+b_01O9 z$f0WGatJ8Un|?F|`Dl(BC(KuWC_F7zw*LT8l=eX`wBunGD;5=GLmf#@-O35mwAz6e zJRwRPvQiC#tZZl?GsCK|I{@QBaSb-K?p>|M_Y@V-;aj|=tMvQ3C>?c*815Wx1YLeV(AS8vP18@!KCjHSLA)wQY;~}L2Eq)@SGzK9ETP0*! zB}4#prf3uw7g9nzz5SGmqDAH!Yhr*Y+yTC#q*WU5)`9%=wl=A=r{@0v0)Z6rTms43 z2XB1@E&#MG0YDW3FYTaoEwMr7D|NhYL1o$Kbd&~&*F{@HdImP6H@K|)Tqp;fXtc06 zk);M`N{Z~0%X@6<81nI>3YZBmJ{{VFYDFq~e zG!y_#jd>a$&wlC?F$mNc-LgO>6Spa>sbojvf5bbdb78V z0z^EKW>lU(63-1as{>X-8J`g`(6qL$!*M~K9t)`QmFSae`zS9u(wk5O?zrPY329CZ zqsmWhCPI2Qet+@rtaHG5LWdNQ_8Oef6NOAjuJV$kfD{S80B9|;q=0UqE;QDGm5z7? zjjwGx>T^J@_Mlr^akW>!F@T8x?@ot^{A#GURFwQm3HF;%D45Xl*eH!I4PUoZWf8l! zK}iVPxBULf%QOfSz(^_`l+Ou-G|dUgJqkerP&}iS8=G#0h^Qa4}CL2 zQK|ihXgn&F>HLs^*(B_-?X5!eXVg*wH~#>gWlu4Bx*`=w*rJ=-)B|UihU+(RoyxLIMup?bgv;&SM3EX_%6c*T+(7n@QMFb{-aF+QSi2+*n zi_m7Y>08S|Hv@$Qur5G64FKp3d^`sWYxqz#Dk?x)_?{%`RBw8Mg(Y7Kg00+dT7uSg z{ZJC(x(UKf^LfDKAjn#z7nGE^q$=Aj+I%aYZ^TU2Rc%#L zanap?&QB`Kklko<+Fg{bM*w^4*=+WCZBOV^Z;KTjO9L4(_`$#hzM0Eg8B0s6~yX8rd*`;!Pv|~hmqF%A;C*pM+8CY0~j_Yl1mplRj z&;`^l?5uXy_!u`Zy?eD>Bikr_9g7NT!c^k zw%~g`)z92)x}h|QnAYYv%ZeNIDHp3=H)X_mtnRD**FKC>>IM``px=ebxUWaLwUUVa z2c+U1^v*PqV8VZs-NL*k{{WcoUdex@K5oj{v*ZZV}A0A{)@AIP306j`C86vC6%Q6~vHxswZua0nx}`PU4e{ z$l|fLk%`h71Ln~1_SD6UrVZB^$z$TU_A)~ZHzZw0m-B1c?X9uD$d>}#C!3hdIaY>2 zDPK3#AwFL@y}rt)dj73>hg&8#PxoA2LlrM{V4&NvLDjU8@ey0Bkmr(&o(nCOjO@Qt zA12^Z8@#F(8>umlCkdT}C6(?{8Jc$~F750d%DY|M_F^$yvl(vdClblrV#UNZjxA=-7*SiDTwliHM-%}7F$hQS8cuskZIpIRO#n`$J) z6tt0wdLo0Uc#nt7HLqJm8LUio9V?w(E2rCqCkrY&=2Am%Nm@H?YU5n-!`XUw>Qroh zPRT>Bq#}BDNhvl-S>taD*B5i)bA1dLlDgvyj*Si!=tfg>7Njukt^!t`6??*X-3lf! z=OzwD6g(WrV;0*1h|bAzYSO?SBZYRdCkR|~0IU{4i3*w=gh1NJH`1959(~oZ9mD1u z&f`z4VCw8N>PKzuR<|4c(SxHVO6uk^81U?CB)4+oeaiz;Rd&>8sm{9(CzsYz^0Ul! zJFyId=IpqyWov1YjLvT6CS4{uZ@!J{BH z*oKrj%t${U9dA>Ny1QC%p>3YBerCtte~^SG;GHjhDlu7UGd~u~E=HD}&CR;rbZfOI zQfp4)oYv+#!YbtHdRk@^_Q@02OK#%hxyv&N8|`~noY?rxu64_9=1)@L@ef2s3I1=X zvEF_odiJ{w+*yc+D*YT3~@!o<~6)b^t-&*YM{#P_bIDhN^0B$b#YO>PwB>1(Qd8(l*W{DgdiEPH zZy)V zEZ&F9 z`mwj8EaJwinV7Fj0l{OX#*)b&Stm0s3LWH5LJ6ywt}y!{vkm@Q$zOv_*#O?4)R;sy4sUtK_cWhp=OTd zUr+~S5ONaI#_1X_#-O#DwLdQc@ z1WqaD@9FQScYOwW=1dA9N+CmzhOgT6iCJ=VfU<}AVIL6Td)C20a@=Y5!kOH==;g0( z8p7wMMTIUzlc2d3&qGC!W43~?DX<3gN>xb`EpPjJU)!w&PAg&*tJ>YaZ3T$3g@(HJ z8V0IYnOV*Zoyh_`bD)zL^J}&^R2D8 z)gXI#&^S%x4qfeU^Q*Q!A?TmXT1M^${_5N`B*_YGw5daChzISU&zSNe1sLkJy9EYV zoVSNDY5_{(4FS)&3%ES3XdWhsYd{~AjVLY9M)ZJ`?I!l&R4#g?QI9Lkzc9Xc5Cp@j%Md`G*<@CH6{6mZ7|SCV~?w*A>gZ=^iJr+JjOr1p6o) zTZ`I7{j?1(p`Rma0X%3JsSYSvqjh$H-CA$@L(rC%FC#^G)g&!2^kEqJ#emkBB~3CA zkV9%4E^Sw=dPGl7<)nFm+-?4Kv{p)k?jggfK^wi7tZL*moRpUCBOCV$=OENhQy;3} z^Si{+BJ93Pu3OE(@T)t2sF4w)JhZfhgehjpUHBTb8z~Vn=lw_ei*`^^^|2oSC&-`5 zp5Z{|;UVqLG;Rij4*oO}IC*WUzq{?Ar9kgfZ8r@l8uZ8cCA1r~qvp2@&?_+7RAo9f zaFK94Xc_6P`AsBC>aF>Ob7WkNCwGhq{4|HyAduk~aWttp;@iy++?I z;4RrfUHM-Jn0C-t^xK9v+`p$MU*#NN(x`NIJIoQ>38-} zFRK0_K(d{RT}PO9UV}|8#VJYLC<0=vZQLjtTZ#c7i;o%%-&OoVfc0O*C@e>m*8Q24=p;Z$b z?4Z!~Hq&s@fc0O*C=XTqLbTuXh4o*=Dv*{`tvG^vC^C$WWzY>>vFQ=|CA@Chxkrxf z@mqra+WI`^NFh3r?AD^LLH?`wg>yps;72OsO+U_pMiZ))*s2NEt%*|pQF;n0JpTaV z?*9M=fyJhqK-fn#4Slpi9&F8S4TlXWf@(G*=)=M=6tG!ilS{>lq& z{Au>kMJw}rXex>Puo1i9)7@PAo~aHQfZfnl@oR5oVSrZUZ*VviJAVq>XVfb-D0-a~ z3G5YkZF6ItO2zwV6PX+4O$3b?t5``;ptH(}-aYgY&_wsa_Rv#}{{XmM27xvN_fS&x zU&JUG&3S9rR!?oTwNbt5LSm*F)ujNXXs+EWQb;6jAv=b(ogCRw%{^aU6dX@b!GEA| zY06?i$u#bcsXlEh_~EmP@qVD~>3OTuv0Y4v69WxFnBiBIM{0tT+iLIa_S0G0(yqML zP{DQ+a+t{F+k7HA-B7bl_kb&{Z^z9XW*Y9=iecovchw@BeqYnRqUr{o%;0eCvibosaiv6|Be^7+=I?y%G<`=QfXC)>IiVjY z!m&w|t*k3sAdL;L<595k6yJ!eo-U<}SkVrD>JAjc%yKgMCnQIiZd%evy|uC1YV|vP zy{s|8x_0n^7zNLa!*N|qrdt3rxZOz}7uL2_c9@JK>WZvHMk|u=EJ=vkoQQo^J5cAE z_Z3q`qXrwwS%_ynAAH6acHRV)1P;pzof8M9^nY1Hoa!Q}9KHJxw^oGh9fstJ;`w_M zjW`dWCBAx66nPLbvEGS0X_&($D%{0#jjl|%?>%>p!&YRB2#lzfZDEhFJ1sfhGP;F|z zv+^;6n_TgDzeX~dahsQo$}JB#M>WORUjEwJxb+u$E^bk>kKdEDi>@j*TVD__tw^5{ zkcoxn^yHf@7X2c777rVZYL5DxVn0zws(Ri^kc>fl%7M#En^U4roNZTjb}7rqg)CGY zv53Ol%qhkavC41DqA$aRRo-pjRr;9L4=mG-W1Zz?aqT5W$~(6XH1X8oI1Y0dWV)E~ z+K(nn&M?--m<437^AZR(YsvajrPLVbla<1z7Fq0chTTb@j(xBeQ`!Z^M~s{(k?t5? zl^Hf!YaKh&PKY_PBm;7^@wT;&<8uSbzN6>a>8VLtfp%KS4Z1ji!?LY-?Zjpte~Ogu zXuUoZwqr<2(y3A1HgVlAbk}RiT#BiTIwAB2PxVA>iXkxWKai+8NLo$Mtu1q3J@OpL zdPL|;atdTddzOWZgpL)nW+`HGtC-w$26;tFEjX)j+vUA_INs9`my+jxp1T{Yp3dj; ztCfmIv0@Y?rL%k9;9jS`q;2A%Mg7UyP^GG3WHz?>1t25^3tvImQ%{hHk?457hg#qy zw=FNoLAw!+v^;HEZtrnJuEx6FG{V7kmnm-MQcFW>2c@?Uhy3f6a%!k}e2k-$`jTc7 z7W(3d?l{_kLPASz@LEY9nyhUpn2srD^xkYaCod-sR_CKpi#f-J-P+vPA7yncp`DqM z9$May4MJ0QR^(kok*{s*qe^3&vgsFq#`=azT9+)|b4pR>B%aa@d7mq{oE;k8k&epF z!>1uS9ECoGq;h2tH!8x$=G}(8y*qi#7s1I7-vbkomzz5c2XAnJzEM+2!ui zuHCyg66oShirfr_Q);GTA|KRJZ~9~Gt{(0%l3fEcaD7A5Ny_3RI@pHd3Z%Jz)7JJI zyX{nMdd1lY8C6HgE(%u45E7?|Hh)WM1$#ZESX-Gwr&6mQGZT-(w+#@~77LqF0k!@0 zzKX5Y%)#Z7av~NMY#7cNQR2S6t@b3PUK-Z;+uNU@)g47XZ%)N11#U-hDWX6-7i(Uo z=FW;|klDrMatT~7T_m>4t|YvpVW~B*wxurHu8JT`#!8QtD~6~L;16z!=)9jBnk zecZk`AAZ}vg-GZswk<>y7HWp zG1Zk!NFi*#_$0?5fDQgFYu;CWDzgy^u}(ETJ-kZr>&3)$l{qD{rxkrk+j^qULK==t zRBU5wa2u0lDCwmR-j;Sn4Nu0xb*K4Ep-L)mL%~|{qiq!77&PLm# zs=4apgJ#Bb=5YGA;N>PYF%IRoI)xL>cGfnr*GjQ(ZxqX+-AfZL`qGRPXQvmVWt~~& zxOR>@aI2c1c3srAva+%X!lwe{lI}f)?`kmkZaYC5*Fujeaw)?VKOf`byOmYeT5-C8 zf3&7LpHoTz2Sx3B3kuKOu61%e&x?+VFeWQ;El5`%n~i60&RwFcVtA@-yj40gj6Dkv z)N^5kgiKNg*nb+e`?GWYQp$WyzK$ENQITUYAE;lRT9ct|(O_(K95koy&CmHs?H2kw ztR8!*XJZ`njIL|{03SPvBHk6hZStG5SLHlit&hd*Ua>PY@x_0qx}I~2ecZbWVb%#k zm^aj&FJAk`{I>~?FCpeWA(kd-hoC~qsq?-lEqg!bUrX`-0575_=J`L6`2OcV3~>D= z)5FLKjh>2|e$VZ^ENqpd~!_RMcf`Z6BNe09xBk zSjH%ou=-jYmh^ca%yW&!NDHsJ3w*=p)3dgM%2{eOed;7tXY zh)*mo-ebi5l`+i>WbQD95{Pl5POK z{qz?QONr&UtCew}l`MpODk6ak0_V(YrB5K_zPNWSFJqiS^#1@lkr>Y8U3@3i+*ser zpZHdr{*c~tyNdVuj}>WDgL#YjjRNuz_nl;w8oOiC9*C$yw;Eb3J~%` zfE#h3r!1G9yIM8!iU`X{<$#pgbQD&J2)MaQRy7n6HkX;XX+;X}7UMypB)Q4AGxdA> zXelAroKl0!Dp2Eo`k`~xBGTJJ8!AF}sOx&x2#-3ntSx0iw%YXzHF!wNEiFfK0sjEj zg2T{a-3O8{ZaV(}#(`UDlxfQwN4A0|qy~@aot?l?SH1P`ptR6ym35>QTde5XzQ3=$q)DYgmcFw$O zXv<~w1+BK5=QFL;I|W5tgz0q%_(iS5jdMlTmdm2@fN*|PlW)R;2`k!#a+PE!-~+O( z?f#;qH=S8gQpqX!Pjy-r*XQ{B*6*OMB1a0|8UaM!`thK$nJbJ68&<@xRRQ5a8GTP1 z6>6^EzJWF?`i6r!Nq2Irvum0KNql(<&n)UjoMd@_`Tf}L$a6TqPxn(`|AM|A~W zY@XLmyLeD9scYn*UFlz$BE!0Z7t4SkwxX3^TTxqe$$m4EloAx-C?ok{FRH)v ztF}ENSL8gTB`vIr8=HU5w+Axvjgso_4-$NRl@)Rhe~{JfWm>tSno3qfsZQJQ{3tB8 z`-xI+<&ZuhK{Tlxg$|RDn6G16-Z6!y{J{5OSOLfguOm$9j zgSJk+-I~!@hC^}>CvBEKCHK%=3TOZ}jVq@B+}Fw|7Ucf`AoADqczv~|{{W;P>wozl zaH>KdOz+P@P2?0fQloM$tpiXlw1YvVAeMqdeo$?3SyRmjYoe7^tzl{bRsw;|KBR8C zj<%qb%u)eRQM!0gS5`!>`?bFs2uMQ7Uf+va=hy0yBXO8=>RVuu!0T8GDneUq>>F*u zw%PR|NC1^?0?O~J$s=JwM6Tyv2irj_jx-!V002g!g7P_OPUH(Ou|v9n+{OIHf=^Qa z0QC>JP)H=Grps32K#6%NB}vgoiJ*CuPK4-aA>7x>C@u4lBZP}2Sk)Wep+T*Vtw0-C zX=>Cg29kmmyW!Teqnt9Mn#VmqFstjx_c^658lhI=X5@aXb>d?T9-q}XSkW0w zi0p#HzY^1~@m+b`Qy)cX;Neaur-B@MG%~qz(Pgx?fD*H(166ABG{@0Wz1AN_d=8b9 z5wF|wZ%1kz;I)98A;kpuE5fwbxTf@S!v=OQ>N&_=Bsz8Tkz*?CoP38imRx+e8wA?? zb*?S{03l5ihFn$}vASwzB7T1&%;)_wm@a;ribAe0U@GR;^*4T)41S&KFYXL1uAFvR zy3|sLx~t3>E8~CkH_{ zrpHbNO&K(j$`#Iuw1Tonc{SIyZ-!>ORp+Y*m!e2=B;52UDt26QM=TL@W8Z4e7+meX z?%SqgmncJ<6x|Wj*-%nP4}DDeT{?8|$L^f@ zBMxryGv;FB$C9C4I{KNm zs$Ge`y|sRdGeGC^{X&=Xi6e3(6QT#0j~y#3yBVrEvZ9R7O;=0~pvOm7{?+$D3X(?d zJ_4&%kV|~Tsit-*M%)1hL*rLA)@GY?9Ygv|%8Fz**3NNN zl=nG4WcODWcV?*ip}8-ndUL7B$jrg|g+ftj*u`lcVWChbh^%%uYKcq7deftNTcJV?Z8GR_-LPfwg+f^Hm&MD7Tp`9A+;OnB_k|kue0`7=11!M%UFMymtOL zvhC&T@2Tc+aOSr#KFj`4zyuIIrnB145T4)elcyr0Dk0>uZY8MbaYZoy05Y}js#dO7 za;c6@5~GyrEM9PR9A{iq1x6}VSmmPmZ~>)?ZEt0DW5(RW9K($IZIxzL{94pm$xC#m zAX`dF+77&Gj_SqBbmNXAri^p3x~N2BESR!Gytg8%=V-shT5Vsd13s!`80o&C!g}`~ zpDtlYc4`|^kUhsr?Ag1A&_UE01TA>1yA3rNY!rr5VB3xl;`Y}@iZe!TL!_M&7FQZ4 zCmf7=XZd;Ar436J~)Lq#|JKL`)G@1m^P5R*e3e$u3hhsY0f#Z z{{Tfwwz&OU&2pTM`>b3hLUywyBKA?6HGa^4wWR|l5ZMcSpg#K@JR=0Xo zdx&`_S0WbIuy}NS*Oq-`xYGRl&GkBW*Jo?I%gz~U&qY`cNyK3l3DO^!+JRC=n~l3G ztvi^z#|#!M(KW_AoYqG%o|2Z<>?N}ur6ehv_LHH#W5K((`?_>`^{z9S2?lg>2H4`@ zq<3pmgdM-#q^xrKaoBxF9nz68R#X#zDDNcIDTuwoI5p1qk0)66aiRu_{{Uqu7)7HJ{8=&7WH-9@JT7S$p`A73 z7`d*UfhG*uOG=LGSPx;owAO}Ly;}vIjgx~R50IH`o?C1JHv_;bu(@(3nU17YhZQ59 zn#_08G4EE}D%gfWwT}+k=25enf85Hg_CH3OdAE}lj9bx*&CE`T3ImO9jkXibQoESX zCp2MYF%z9{7|oF7i;UmhOVgK;VwmHK@2bx{9rgJC0NYf6eJ?RUrP6ymDy>!3F@`H2 zk4D2iJl|5|a1Z6RcJ)uyQ+-6<`rzmKN_^>A2czxWn3l4N ztQ-fr{4G|kZ008!oMEqPVr|oe&M#7w9$=xi9ZaWIE~Y|&+A7|i9TsxJwrSV%Y`cY) zo_xrt3u;10APZ4eT}s2Inxz;;x(LwnO;2|P`_D{kL;RTGX0uX{~VgvKCc;o;ty3Ft*KVn|e1 zTiz}R7T^B>D(_M9TB0z^Kh?v#u(MRm?c(LY3yB z#%Yookr$X!Ry0+>wRZMiW+JcE#`2#Wsx8J7_2}qD(AauK+G^KPwfwwIdYbn%#Tl`2 zsrb#w{{VOPc|hy+In)m@!c;LaSG2En_a^*n=e|q%8jZbJY0Uoss?9$Txj*jy&vI&h zI(%M!9l+ZGAf?;iakjsGdcTi+s*UZcYRi`&yPxDfKVIH3#~<`&qH763a2{*K*r$Ou zuUojPEz=Xv7Y4;MU08Bx$8m?!o5&H}R|FAzRa-l}^THPE+GYBtUP>!Bit4$i`h!7N zFl+6;>p@JVv?;ZMg$tx`rU!35RlQZo+vT?%c+^bb({`Dpijbuwjn}_rMrdizJrb&A z+2wML?Q7nr7&Fg9Quql-+rSRmV+MKXMN4fOC|I5X^u`SH(OGho{{ZO*iUI!sxo}36 zl@Xe7GfzbAI9ubdd9D4tndhNoC|Dl~cIJ8LWH|~$MWN+I$=}&?T5F>$;L0ZwlH%PO z??)StZD7fMLeS%BN)^0xtNejg70~C%U4$_`tZPob;QDY~8<^fAXrr zla57OZ3GZjgn+9aCW68zFqXmua+N2xl{{YQDM?kTqM{)KJEhV=}TYw(a)42NyA5#t>0H6wPZ+dqT&}F$HmbE(DTVB-ee#14V zRP=!7FKbu$$*Jxmpt_`|n&Q%}$x-r}tyJSUiB{lRHd@{_h-6?JJ5+R66?ay2RfOU% z{+IQISneQNih!b27A@IM;sYd2N>maNeWQ))JD;$F)rUNxJ8#=@PUq|@I?-^G%mA96 z;svFE+DDixP89ASRrMQ^Ko+R(KEk*JFL5^=)SC0~7u%A{X(=of+-a|EM{PYue&zoF zNYl5GZMK%CLz}i-pCz@ai*5ZEC){5l-Xm6|_B%LXww4(%>MAaJ?sS6C8zI z%I~V8>AKl#Vz#LxUws74o?}I`t5KcbFEYN>VE^ zpzQGKHgZaQZ%Imno16UC()=r$v)a#9i0gSw2NL$dbL6!S)_S8;k{wV%a=;%qjcm7G zS!=mxEMi_sO^a&fs^fCJJ8O4w_Gw%4{{UE1xPa244vO46>N|i3($GA_7dL!5fogX@ zVM%YSxRnL++XQYN6z+b*Kx{4ZIphBTrqu2}!m1?%sGDy|?G)~Q!$G`@4iuqH>^+2@ zH12-JDIb!;KtS^q=ryNt_7!=E`9Aud;slOLLX)&6#CG4p)xIYf6#Y}JtRX4hmFjI$ zG#Vk)izAld{O4O%HPwV-8t*BfHYUyvE?y7exPZgT z(#{3jvYo^=UALMRQ7N|4e4Dn7HK^`B%xJTOoL) zqqzGDMY7rDm2N20cYUeceT8>#xd{f>t+wuF5(bvq3&nQ{{I>fmU}vg5$L^r8wQ~Y= zwv}FY0a}g|8E&c23RUo1UKJh0bPQ>2s1ara|j?}mlxY!fpQ8)N< zJAb+Cw6^Wect398YO0>rdbCp8OB;iMkbmu+NU1wtxvnyfT7q5*CxN#LHC?rpnA(hI z2J_9o!`V>OmFWv|+fLh1NZiK|gru94jx-9VeMYNym$!w*?|KHqV3Gmq@HguEBPblJSfz% zd0-OTp$>fX4sKaqmf@xJt5LZ73krB7*-HTTX-?uLxan3)b)M`Dk8pw>iY_NBzg3jP~VGE?D8N-e;RZ{t%O(0#{!S?)f`K&FC} zPVuczaRMdAQiams7UQKmh!pHlv~D|r;wjvHhKo%y?-8(g)47gls3c|NmAru1AQVyoGqO2zrAoSA>$3lXLM>UR;)X04U;ljq~%PT~fe zK(>wK++T$|h!S(h%TD3~J0LW$jkmvT>N}6HR{^&0Yz?%j?gex?xoSaH-MyyN?jTAm zbPo%fcMv4yFX#KI+(3}um&+>}ReI{iaYCU(trDa>E~>#HE09zHcHr?9l{190x9VBg zuJKkoh;(u#y7uk3wY#a@BO~ArlZ7@$LPLfF%59J4xwMdHiEtW{ z#E9Vz1*zZ^5K^OYt#fY=rj#1U;{$k1kC{yEP*KqMduyM1?KE+#lTH5sOOb8NjuHd# z@^5~Uw_KjThnDrmL#*XyBI8?@~5lANr{F*aj8vc9a;tU>BO3?kLLv>z;%K;sV>IH%S%7E>fASp3O4Xit9Nff zTUuOPEZF?#8gf2az)X^#hnc|I-IdC_b|PGh)6M3oi;_-Ix3yU^5WYedP0~C)wA

kAg%uJm|SJqg9l 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 S)PC8&(to4P{_%`(#sAra-G~SP literal 0 HcmV?d00001 diff --git a/assets/default-map-image.jpg b/assets/default-map-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3de97d3daacd2d3ea9155dd7cb5f38bf5e47291 GIT binary patch literal 26530 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 literal 0 HcmV?d00001 diff --git a/assets/keweenaw-logo.png b/assets/keweenaw-logo.png index a7b29e449177c48879785ba066bdee78a7e3032c..dae8a02859ed5c98f62f1cf8701f4fedf51f0b6b 100644 GIT binary patch literal 97424 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%0A%jh*gP(1PP8H2Eu+5|H#^5q|C&P3; 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', + + // Loading indicator template + spinnerTpl : '
', + + // Error message template + errorTpl : '

{{ERROR}}

', + + btnTpl : { + slideShow : '', + fullScreen : '', + thumbs : '', + close : '', + + // This small close button will be appended to your html/inline/ajax content by default, + // if "smallBtn" option is not set to false + smallBtn : '' + }, + + // Container is injected into this element + parentEl : 'body', + + + // Focus handling + // ============== + + // Try to focus on the first focusable element after opening + autoFocus : true, + + // Put focus back to active element after closing + backFocus : true, + + // Do not let user to focus on element outside modal content + trapFocus : true, + + + // Module specific options + // ======================= + + fullScreen : { + autoStart : false, + }, + + touch : { + vertical : true, // Allow to drag content vertically + momentum : true // Continue movement after releasing mouse/touch when panning + }, + + // Hash value when initializing manually, + // set `false` to disable hash change + hash : null, + + // Customize or add new media types + // Example: + /* + media : { + youtube : { + params : { + autoplay : 0 + } + } + } + */ + media : {}, + + slideShow : { + autoStart : false, + speed : 4000 + }, + + thumbs : { + autoStart : false, // Display thumbnails on opening + hideOnClose : true // Hide thumbnail grid when closing animation starts + }, + + // Callbacks + //========== + + // See Documentation/API/Events for more information + // Example: + /* + afterShow: function( instance, current ) { + console.info( 'Clicked element:' ); + console.info( current.opts.$orig ); + } + */ + + onInit : $.noop, // When instance has been initialized + + beforeLoad : $.noop, // Before the content of a slide is being loaded + afterLoad : $.noop, // When the content of a slide is done loading + + beforeShow : $.noop, // Before open animation starts + afterShow : $.noop, // When content is done loading and animating + + beforeClose : $.noop, // Before the instance attempts to close. Return false to cancel the close. + afterClose : $.noop, // After instance has been closed + + onActivate : $.noop, // When instance is brought to front + onDeactivate : $.noop, // When other instance has been activated + + + // Interaction + // =========== + + // Use options below to customize taken action when user clicks or double clicks on the fancyBox area, + // each option can be string or method that returns value. + // + // Possible values: + // "close" - close instance + // "next" - move to next gallery item + // "nextOrClose" - move to next gallery item or close if gallery has only one item + // "toggleControls" - show/hide controls + // "zoom" - zoom image (if loaded) + // false - do nothing + + // Clicked on the content + clickContent : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + }, + + // Clicked on the slide + clickSlide : 'close', + + // Clicked on the background (backdrop) element + clickOutside : 'close', + + // Same as previous two, but for double click + dblclickContent : false, + dblclickSlide : false, + dblclickOutside : false, + + + // Custom options when mobile device is detected + // ============================================= + + mobile : { + clickContent : function( current, event ) { + return current.type === 'image' ? 'toggleControls' : false; + }, + clickSlide : function( current, event ) { + return current.type === 'image' ? 'toggleControls' : "close"; + }, + dblclickContent : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + }, + dblclickSlide : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + } + }, + + + // Internationalization + // ============ + + lang : 'en', + i18n : { + 'en' : { + CLOSE : 'Close', + NEXT : 'Next', + PREV : 'Previous', + ERROR : 'The requested content cannot be loaded.
Please try again later.', + PLAY_START : 'Start slideshow', + PLAY_STOP : 'Pause slideshow', + FULL_SCREEN : 'Full screen', + THUMBS : 'Thumbnails' + }, + 'de' : { + CLOSE : 'Schliessen', + NEXT : 'Weiter', + PREV : 'Zurück', + ERROR : 'Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.', + PLAY_START : 'Diaschau starten', + PLAY_STOP : 'Diaschau beenden', + FULL_SCREEN : 'Vollbild', + THUMBS : 'Vorschaubilder' + } + } + + }; + + // Few useful variables and methods + // ================================ + + var $W = $(window); + var $D = $(document); + + var called = 0; + + + // Check if an object is a jQuery object and not a native JavaScript object + // ======================================================================== + + var isQuery = function ( obj ) { + return obj && obj.hasOwnProperty && obj instanceof $; + }; + + + // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame" + // =============================================================================== + + var requestAFrame = (function () { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + + // Detect the supported transition-end event property name + // ======================================================= + + var transitionEnd = (function () { + var t, el = document.createElement("fakeelement"); + + var transitions = { + "transition" : "transitionend", + "OTransition" : "oTransitionEnd", + "MozTransition" : "transitionend", + "WebkitTransition": "webkitTransitionEnd" + }; + + for (t in transitions) { + if (el.style[t] !== undefined){ + return transitions[t]; + } + } + })(); + + + // Force redraw on an element. + // This helps in cases where the browser doesn't redraw an updated element properly. + // ================================================================================= + + var forceRedraw = function( $el ) { + return ( $el && $el.length && $el[0].offsetHeight ); + }; + + + // Class definition + // ================ + + var FancyBox = function( content, opts, index ) { + var self = this; + + self.opts = $.extend( true, { index : index }, defaults, opts || {} ); + + // Exclude buttons option from deep merging + if ( opts && $.isArray( opts.buttons ) ) { + self.opts.buttons = opts.buttons; + } + + self.id = self.opts.id || ++called; + self.group = []; + + self.currIndex = parseInt( self.opts.index, 10 ) || 0; + self.prevIndex = null; + + self.prevPos = null; + self.currPos = 0; + + self.firstRun = null; + + // Create group elements from original item collection + self.createGroup( content ); + + if ( !self.group.length ) { + return; + } + + // Save last active element and current scroll position + self.$lastFocus = $(document.activeElement).blur(); + + // Collection of gallery objects + self.slides = {}; + + self.init( content ); + + }; + + $.extend(FancyBox.prototype, { + + // Create DOM structure + // ==================== + + init : function() { + var self = this; + + var testWidth, $container, buttonStr; + + var firstItemOpts = self.group[ self.currIndex ].opts; + + self.scrollTop = $D.scrollTop(); + self.scrollLeft = $D.scrollLeft(); + + + // Hide scrollbars + // =============== + + if ( !$.fancybox.getInstance() && !$.fancybox.isMobile && $( 'body' ).css('overflow') !== 'hidden' ) { + testWidth = $( 'body' ).width(); + + $( 'html' ).addClass( 'fancybox-enabled' ); + + // Compare body width after applying "overflow: hidden" + testWidth = $( 'body' ).width() - testWidth; + + // If width has changed - compensate missing scrollbars by adding right margin + if ( testWidth > 1 ) { + $( 'head' ).append( '' ); + } + } + + + // Build html markup and set references + // ==================================== + + // Build html code for buttons and insert into main template + buttonStr = ''; + + $.each( firstItemOpts.buttons, function( index, value ) { + buttonStr += ( firstItemOpts.btnTpl[ value ] || '' ); + }); + + // Create markup from base template, it will be initially hidden to + // avoid unnecessary work like painting while initializing is not complete + $container = $( self.translate( self, firstItemOpts.baseTpl.replace( '\{\{BUTTONS\}\}', buttonStr ) ) ) + .addClass( 'fancybox-is-hidden' ) + .attr('id', 'fancybox-container-' + self.id) + .addClass( firstItemOpts.baseClass ) + .data( 'FancyBox', self ) + .prependTo( firstItemOpts.parentEl ); + + // Create object holding references to jQuery wrapped nodes + self.$refs = { + container : $container + }; + + [ 'bg', 'inner', 'infobar', 'toolbar', 'stage', 'caption' ].forEach(function(item) { + self.$refs[ item ] = $container.find( '.fancybox-' + item ); + }); + + // Check for redundant elements + if ( !firstItemOpts.arrows || self.group.length < 2 ) { + $container.find('.fancybox-navigation').remove(); + } + + if ( !firstItemOpts.infobar ) { + self.$refs.infobar.remove(); + } + + if ( !firstItemOpts.toolbar ) { + self.$refs.toolbar.remove(); + } + + self.trigger( 'onInit' ); + + // Bring to front and enable events + self.activate(); + + // Build slides, load and reveal content + self.jumpTo( self.currIndex ); + }, + + + // Simple i18n support - replaces object keys found in template + // with corresponding values + // ============================================================ + + translate : function( obj, str ) { + var arr = obj.opts.i18n[ obj.opts.lang ]; + + return str.replace(/\{\{(\w+)\}\}/g, function(match, n) { + var value = arr[n]; + + if ( value === undefined ) { + return match; + } + + return value; + }); + }, + + // Create array of gally item objects + // Check if each object has valid type and content + // =============================================== + + createGroup : function ( content ) { + var self = this; + var items = $.makeArray( content ); + + $.each(items, function( i, item ) { + var obj = {}, + opts = {}, + data = [], + $item, + type, + src, + srcParts; + + // Step 1 - Make sure we have an object + // ==================================== + + if ( $.isPlainObject( item ) ) { + + // We probably have manual usage here, something like + // $.fancybox.open( [ { src : "image.jpg", type : "image" } ] ) + + obj = item; + opts = item.opts || item; + + } else if ( $.type( item ) === 'object' && $( item ).length ) { + + // Here we propbably have jQuery collection returned by some selector + + $item = $( item ); + data = $item.data(); + + opts = 'options' in data ? data.options : {}; + opts = $.type( opts ) === 'object' ? opts : {}; + + obj.src = 'src' in data ? data.src : ( opts.src || $item.attr( 'href' ) ); + + [ 'width', 'height', 'thumb', 'type', 'filter' ].forEach(function(item) { + if ( item in data ) { + opts[ item ] = data[ item ]; + } + }); + + if ( 'srcset' in data ) { + opts.image = { srcset : data.srcset }; + } + + opts.$orig = $item; + + if ( !obj.type && !obj.src ) { + obj.type = 'inline'; + obj.src = item; + } + + } else { + + // Assume we have a simple html code, for example: + // $.fancybox.open( '

Hi!

' ); + + obj = { + type : 'html', + src : item + '' + }; + + } + + // Each gallery object has full collection of options + obj.opts = $.extend( true, {}, self.opts, opts ); + + if ( $.fancybox.isMobile ) { + obj.opts = $.extend( true, {}, obj.opts, obj.opts.mobile ); + } + + + // Step 2 - Make sure we have content type, if not - try to guess + // ============================================================== + + type = obj.type || obj.opts.type; + src = obj.src || ''; + + if ( !type && src ) { + if ( src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ) { + type = 'image'; + + } else if ( src.match(/\.(pdf)((\?|#).*)?$/i) ) { + type = 'pdf'; + + } else if ( src.charAt(0) === '#' ) { + type = 'inline'; + } + } + + obj.type = type; + + + // Step 3 - Some adjustments + // ========================= + + obj.index = self.group.length; + + // Check if $orig and $thumb objects exist + if ( obj.opts.$orig && !obj.opts.$orig.length ) { + delete obj.opts.$orig; + } + + if ( !obj.opts.$thumb && obj.opts.$orig ) { + obj.opts.$thumb = obj.opts.$orig.find( 'img:first' ); + } + + if ( obj.opts.$thumb && !obj.opts.$thumb.length ) { + delete obj.opts.$thumb; + } + + // Caption is a "special" option, it can be passed as a method + if ( $.type( obj.opts.caption ) === 'function' ) { + obj.opts.caption = obj.opts.caption.apply( item, [ self, obj ] ); + + } else if ( 'caption' in data ) { + obj.opts.caption = data.caption; + } + + // Make sure we have caption as a string + obj.opts.caption = obj.opts.caption === undefined ? '' : obj.opts.caption + ''; + + // Check if url contains "filter" used to filter the content + // Example: "ajax.html #something" + if ( type === 'ajax' ) { + srcParts = src.split(/\s+/, 2); + + if ( srcParts.length > 1 ) { + obj.src = srcParts.shift(); + + obj.opts.filter = srcParts.shift(); + } + } + + if ( obj.opts.smallBtn == 'auto' ) { + + if ( $.inArray( type, ['html', 'inline', 'ajax'] ) > -1 ) { + obj.opts.toolbar = false; + obj.opts.smallBtn = true; + + } else { + obj.opts.smallBtn = false; + } + + } + + // If the type is "pdf", then simply load file into iframe + if ( type === 'pdf' ) { + obj.type = 'iframe'; + + obj.opts.iframe.preload = false; + } + + // Hide all buttons and disable interactivity for modal items + if ( obj.opts.modal ) { + + obj.opts = $.extend(true, obj.opts, { + // Remove buttons + infobar : 0, + toolbar : 0, + + smallBtn : 0, + + // Disable keyboard navigation + keyboard : 0, + + // Disable some modules + slideShow : 0, + fullScreen : 0, + thumbs : 0, + touch : 0, + + // Disable click event handlers + clickContent : false, + clickSlide : false, + clickOutside : false, + dblclickContent : false, + dblclickSlide : false, + dblclickOutside : false + }); + + } + + // Step 4 - Add processed object to group + // ====================================== + + self.group.push( obj ); + + }); + + }, + + + // Attach an event handler functions for: + // - navigation buttons + // - browser scrolling, resizing; + // - focusing + // - keyboard + // - detect idle + // ====================================== + + addEvents : function() { + var self = this; + + self.removeEvents(); + + // Make navigation elements clickable + self.$refs.container.on('click.fb-close', '[data-fancybox-close]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.close( e ); + + }).on( 'click.fb-prev touchend.fb-prev', '[data-fancybox-prev]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.previous(); + + }).on( 'click.fb-next touchend.fb-next', '[data-fancybox-next]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.next(); + + }); + + + // Handle page scrolling and browser resizing + $W.on('orientationchange.fb resize.fb', function(e) { + + if ( e && e.originalEvent && e.originalEvent.type === "resize" ) { + + requestAFrame(function() { + self.update(); + }); + + } else { + + self.$refs.stage.hide(); + + setTimeout(function() { + self.$refs.stage.show(); + + self.update(); + }, 500); + + } + + }); + + // Trap keyboard focus inside of the modal, so the user does not accidentally tab outside of the modal + // (a.k.a. "escaping the modal") + $D.on('focusin.fb', function(e) { + var instance = $.fancybox ? $.fancybox.getInstance() : null; + + if ( instance.isClosing || !instance.current || !instance.current.opts.trapFocus || $( e.target ).hasClass( 'fancybox-container' ) || $( e.target ).is( document ) ) { + return; + } + + if ( instance && $( e.target ).css( 'position' ) !== 'fixed' && !instance.$refs.container.has( e.target ).length ) { + e.stopPropagation(); + + instance.focus(); + + // Sometimes page gets scrolled, set it back + $W.scrollTop( self.scrollTop ).scrollLeft( self.scrollLeft ); + } + }); + + + // Enable keyboard navigation + $D.on('keydown.fb', function (e) { + var current = self.current, + keycode = e.keyCode || e.which; + + if ( !current || !current.opts.keyboard ) { + return; + } + + if ( $(e.target).is('input') || $(e.target).is('textarea') ) { + return; + } + + // Backspace and Esc keys + if ( keycode === 8 || keycode === 27 ) { + e.preventDefault(); + + self.close( e ); + + return; + } + + // Left arrow and Up arrow + if ( keycode === 37 || keycode === 38 ) { + e.preventDefault(); + + self.previous(); + + return; + } + + // Righ arrow and Down arrow + if ( keycode === 39 || keycode === 40 ) { + e.preventDefault(); + + self.next(); + + return; + } + + self.trigger('afterKeydown', e, keycode); + }); + + + // Hide controls after some inactivity period + if ( self.group[ self.currIndex ].opts.idleTime ) { + self.idleSecondsCounter = 0; + + $D.on('mousemove.fb-idle mouseenter.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle', function() { + self.idleSecondsCounter = 0; + + if ( self.isIdle ) { + self.showControls(); + } + + self.isIdle = false; + }); + + self.idleInterval = window.setInterval(function() { + + self.idleSecondsCounter++; + + if ( self.idleSecondsCounter >= self.group[ self.currIndex ].opts.idleTime ) { + self.isIdle = true; + self.idleSecondsCounter = 0; + + self.hideControls(); + } + + }, 1000); + } + + }, + + + // Remove events added by the core + // =============================== + + removeEvents : function () { + var self = this; + + $W.off( 'orientationchange.fb resize.fb' ); + $D.off( 'focusin.fb keydown.fb .fb-idle' ); + + this.$refs.container.off( '.fb-close .fb-prev .fb-next' ); + + if ( self.idleInterval ) { + window.clearInterval( self.idleInterval ); + + self.idleInterval = null; + } + }, + + + // Change to previous gallery item + // =============================== + + previous : function( duration ) { + return this.jumpTo( this.currPos - 1, duration ); + }, + + + // Change to next gallery item + // =========================== + + next : function( duration ) { + return this.jumpTo( this.currPos + 1, duration ); + }, + + + // Switch to selected gallery item + // =============================== + + jumpTo : function ( pos, duration, slide ) { + var self = this, + firstRun, + loop, + current, + previous, + canvasWidth, + currentPos, + transitionProps; + + var groupLen = self.group.length; + + if ( self.isSliding || self.isClosing || ( self.isAnimating && self.firstRun ) ) { + return; + } + + pos = parseInt( pos, 10 ); + loop = self.current ? self.current.opts.loop : self.opts.loop; + + if ( !loop && ( pos < 0 || pos >= groupLen ) ) { + return false; + } + + firstRun = self.firstRun = ( self.firstRun === null ); + + if ( groupLen < 2 && !firstRun && !!self.isSliding ) { + return; + } + + previous = self.current; + + self.prevIndex = self.currIndex; + self.prevPos = self.currPos; + + // Create slides + current = self.createSlide( pos ); + + if ( groupLen > 1 ) { + if ( loop || current.index > 0 ) { + self.createSlide( pos - 1 ); + } + + if ( loop || current.index < groupLen - 1 ) { + self.createSlide( pos + 1 ); + } + } + + self.current = current; + self.currIndex = current.index; + self.currPos = current.pos; + + self.trigger( 'beforeShow', firstRun ); + + self.updateControls(); + + currentPos = $.fancybox.getTranslate( current.$slide ); + + current.isMoved = ( currentPos.left !== 0 || currentPos.top !== 0 ) && !current.$slide.hasClass( 'fancybox-animated' ); + current.forcedDuration = undefined; + + if ( $.isNumeric( duration ) ) { + current.forcedDuration = duration; + } else { + duration = current.opts[ firstRun ? 'animationDuration' : 'transitionDuration' ]; + } + + duration = parseInt( duration, 10 ); + + // Fresh start - reveal container, current slide and start loading content + if ( firstRun ) { + + if ( current.opts.animationEffect && duration ) { + self.$refs.container.css( 'transition-duration', duration + 'ms' ); + } + + self.$refs.container.removeClass( 'fancybox-is-hidden' ); + + forceRedraw( self.$refs.container ); + + self.$refs.container.addClass( 'fancybox-is-open' ); + + // Make first slide visible (to display loading icon, if needed) + current.$slide.addClass( 'fancybox-slide--current' ); + + self.loadSlide( current ); + + self.preload(); + + return; + } + + // Clean up + $.each(self.slides, function( index, slide ) { + $.fancybox.stop( slide.$slide ); + }); + + // Make current that slide is visible even if content is still loading + current.$slide.removeClass( 'fancybox-slide--next fancybox-slide--previous' ).addClass( 'fancybox-slide--current' ); + + // If slides have been dragged, animate them to correct position + if ( current.isMoved ) { + canvasWidth = Math.round( current.$slide.width() ); + + $.each(self.slides, function( index, slide ) { + var pos = slide.pos - current.pos; + + $.fancybox.animate( slide.$slide, { + top : 0, + left : ( pos * canvasWidth ) + ( pos * slide.opts.gutter ) + }, duration, function() { + + slide.$slide.removeAttr('style').removeClass( 'fancybox-slide--next fancybox-slide--previous' ); + + if ( slide.pos === self.currPos ) { + current.isMoved = false; + + self.complete(); + } + }); + }); + + } else { + self.$refs.stage.children().removeAttr( 'style' ); + } + + // Start transition that reveals current content + // or wait when it will be loaded + + if ( current.isLoaded ) { + self.revealContent( current ); + + } else { + self.loadSlide( current ); + } + + self.preload(); + + if ( previous.pos === current.pos ) { + return; + } + + // Handle previous slide + // ===================== + + transitionProps = 'fancybox-slide--' + ( previous.pos > current.pos ? 'next' : 'previous' ); + + previous.$slide.removeClass( 'fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous' ); + + previous.isComplete = false; + + if ( !duration || ( !current.isMoved && !current.opts.transitionEffect ) ) { + return; + } + + if ( current.isMoved ) { + previous.$slide.addClass( transitionProps ); + + } else { + + transitionProps = 'fancybox-animated ' + transitionProps + ' fancybox-fx-' + current.opts.transitionEffect; + + $.fancybox.animate( previous.$slide, transitionProps, duration, function() { + previous.$slide.removeClass( transitionProps ).removeAttr( 'style' ); + }); + + } + + }, + + + // Create new "slide" element + // These are gallery items that are actually added to DOM + // ======================================================= + + createSlide : function( pos ) { + + var self = this; + var $slide; + var index; + + index = pos % self.group.length; + index = index < 0 ? self.group.length + index : index; + + if ( !self.slides[ pos ] && self.group[ index ] ) { + $slide = $('
').appendTo( self.$refs.stage ); + + self.slides[ pos ] = $.extend( true, {}, self.group[ index ], { + pos : pos, + $slide : $slide, + isLoaded : false, + }); + + self.updateSlide( self.slides[ pos ] ); + } + + return self.slides[ pos ]; + }, + + + // Scale image to the actual size of the image + // =========================================== + + scaleToActual : function( x, y, duration ) { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var imgPos, posX, posY, scaleX, scaleY; + + var canvasWidth = parseInt( current.$slide.width(), 10 ); + var canvasHeight = parseInt( current.$slide.height(), 10 ); + + var newImgWidth = current.width; + var newImgHeight = current.height; + + if ( !( current.type == 'image' && !current.hasError) || !$what || self.isAnimating) { + return; + } + + $.fancybox.stop( $what ); + + self.isAnimating = true; + + x = x === undefined ? canvasWidth * 0.5 : x; + y = y === undefined ? canvasHeight * 0.5 : y; + + imgPos = $.fancybox.getTranslate( $what ); + + scaleX = newImgWidth / imgPos.width; + scaleY = newImgHeight / imgPos.height; + + // Get center position for original image + posX = ( canvasWidth * 0.5 - newImgWidth * 0.5 ); + posY = ( canvasHeight * 0.5 - newImgHeight * 0.5 ); + + // Make sure image does not move away from edges + if ( newImgWidth > canvasWidth ) { + posX = imgPos.left * scaleX - ( ( x * scaleX ) - x ); + + if ( posX > 0 ) { + posX = 0; + } + + if ( posX < canvasWidth - newImgWidth ) { + posX = canvasWidth - newImgWidth; + } + } + + if ( newImgHeight > canvasHeight) { + posY = imgPos.top * scaleY - ( ( y * scaleY ) - y ); + + if ( posY > 0 ) { + posY = 0; + } + + if ( posY < canvasHeight - newImgHeight ) { + posY = canvasHeight - newImgHeight; + } + } + + self.updateCursor( newImgWidth, newImgHeight ); + + $.fancybox.animate( $what, { + top : posY, + left : posX, + scaleX : scaleX, + scaleY : scaleY + }, duration || 330, function() { + self.isAnimating = false; + }); + + // Stop slideshow + if ( self.SlideShow && self.SlideShow.isActive ) { + self.SlideShow.stop(); + } + }, + + + // Scale image to fit inside parent element + // ======================================== + + scaleToFit : function( duration ) { + + var self = this; + + var current = self.current; + var $what = current.$content; + var end; + + if ( !( current.type == 'image' && !current.hasError) || !$what || self.isAnimating ) { + return; + } + + $.fancybox.stop( $what ); + + self.isAnimating = true; + + end = self.getFitPos( current ); + + self.updateCursor( end.width, end.height ); + + $.fancybox.animate( $what, { + top : end.top, + left : end.left, + scaleX : end.width / $what.width(), + scaleY : end.height / $what.height() + }, duration || 330, function() { + self.isAnimating = false; + }); + + }, + + // Calculate image size to fit inside viewport + // =========================================== + + getFitPos : function( slide ) { + var self = this; + var $what = slide.$content; + + var imgWidth = slide.width; + var imgHeight = slide.height; + + var margin = slide.opts.margin; + + var canvasWidth, canvasHeight, minRatio, width, height; + + if ( !$what || !$what.length || ( !imgWidth && !imgHeight) ) { + return false; + } + + // Convert "margin to CSS style: [ top, right, bottom, left ] + if ( $.type( margin ) === "number" ) { + margin = [ margin, margin ]; + } + + if ( margin.length == 2 ) { + margin = [ margin[0], margin[1], margin[0], margin[1] ]; + } + + if ( $W.width() < 800 ) { + margin = [ 0, 0, 0, 0 ]; + } + + // We can not use $slide width here, because it can have different diemensions while in transiton + canvasWidth = parseInt( self.$refs.stage.width(), 10 ) - ( margin[ 1 ] + margin[ 3 ] ); + canvasHeight = parseInt( self.$refs.stage.height(), 10 ) - ( margin[ 0 ] + margin[ 2 ] ); + + minRatio = Math.min(1, canvasWidth / imgWidth, canvasHeight / imgHeight ); + + width = Math.floor( minRatio * imgWidth ); + height = Math.floor( minRatio * imgHeight ); + + // Use floor rounding to make sure it really fits + return { + top : Math.floor( ( canvasHeight - height ) * 0.5 ) + margin[ 0 ], + left : Math.floor( ( canvasWidth - width ) * 0.5 ) + margin[ 3 ], + width : width, + height : height + }; + + }, + + + // Update position and content of all slides + // ========================================= + + update : function() { + + var self = this; + + $.each( self.slides, function( key, slide ) { + self.updateSlide( slide ); + }); + + }, + + + // Update slide position and scale content to fit + // ============================================== + + updateSlide : function( slide ) { + + var self = this; + var $what = slide.$content; + + if ( $what && ( slide.width || slide.height ) ) { + $.fancybox.stop( $what ); + + $.fancybox.setTranslate( $what, self.getFitPos( slide ) ); + + if ( slide.pos === self.currPos ) { + self.updateCursor(); + } + } + + slide.$slide.trigger( 'refresh' ); + + self.trigger( 'onUpdate', slide ); + + }, + + // Update cursor style depending if content can be zoomed + // ====================================================== + + updateCursor : function( nextWidth, nextHeight ) { + + var self = this; + var isScaledDown; + + var $container = self.$refs.container.removeClass('fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut'); + + if ( !self.current || self.isClosing ) { + return; + } + + if ( self.isZoomable() ) { + + $container.addClass( 'fancybox-is-zoomable' ); + + if ( nextWidth !== undefined && nextHeight !== undefined ) { + isScaledDown = nextWidth < self.current.width && nextHeight < self.current.height; + + } else { + isScaledDown = self.isScaledDown(); + } + + if ( isScaledDown ) { + + // If image is scaled down, then, obviously, it can be zoomed to full size + $container.addClass('fancybox-can-zoomIn'); + + } else { + + if ( self.current.opts.touch ) { + + // If image size ir largen than available available and touch module is not disable, + // then user can do panning + $container.addClass('fancybox-can-drag'); + + } else { + $container.addClass('fancybox-can-zoomOut'); + } + + } + + } else if ( self.current.opts.touch ) { + $container.addClass('fancybox-can-drag'); + } + + }, + + + // Check if current slide is zoomable + // ================================== + + isZoomable : function() { + + var self = this; + + var current = self.current; + var fitPos; + + if ( !current || self.isClosing ) { + return; + } + + // Assume that slide is zoomable if + // - image is loaded successfuly + // - click action is "zoom" + // - actual size of the image is smaller than available area + if ( current.type === 'image' && current.isLoaded && !current.hasError && + ( current.opts.clickContent === 'zoom' || ( $.isFunction( current.opts.clickContent ) && current.opts.clickContent( current ) === "zoom" ) ) + ) { + + fitPos = self.getFitPos( current ); + + if ( current.width > fitPos.width || current.height > fitPos.height ) { + return true; + } + + } + + return false; + + }, + + + // Check if current image dimensions are smaller than actual + // ========================================================= + + isScaledDown : function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ( $what ) { + rez = $.fancybox.getTranslate( $what ); + rez = rez.width < current.width || rez.height < current.height; + } + + return rez; + + }, + + + // Check if image dimensions exceed parent element + // =============================================== + + canPan : function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ( $what ) { + rez = self.getFitPos( current ); + rez = Math.abs( $what.width() - rez.width ) > 1 || Math.abs( $what.height() - rez.height ) > 1; + + } + + return rez; + + }, + + + // Load content into the slide + // =========================== + + loadSlide : function( slide ) { + + var self = this, type, $slide; + var ajaxLoad; + + if ( slide.isLoading ) { + return; + } + + if ( slide.isLoaded ) { + return; + } + + slide.isLoading = true; + + self.trigger( 'beforeLoad', slide ); + + type = slide.type; + $slide = slide.$slide; + + $slide + .off( 'refresh' ) + .trigger( 'onReset' ) + .addClass( 'fancybox-slide--' + ( type || 'unknown' ) ) + .addClass( slide.opts.slideClass ); + + // Create content depending on the type + + switch ( type ) { + + case 'image': + + self.setImage( slide ); + + break; + + case 'iframe': + + self.setIframe( slide ); + + break; + + case 'html': + + self.setContent( slide, slide.src || slide.content ); + + break; + + case 'inline': + + if ( $( slide.src ).length ) { + self.setContent( slide, $( slide.src ) ); + + } else { + self.setError( slide ); + } + + break; + + case 'ajax': + + self.showLoading( slide ); + + ajaxLoad = $.ajax( $.extend( {}, slide.opts.ajax.settings, { + url : slide.src, + success : function ( data, textStatus ) { + + if ( textStatus === 'success' ) { + self.setContent( slide, data ); + } + + }, + error : function ( jqXHR, textStatus ) { + + if ( jqXHR && textStatus !== 'abort' ) { + self.setError( slide ); + } + + } + })); + + $slide.one( 'onReset', function () { + ajaxLoad.abort(); + }); + + break; + + default: + + self.setError( slide ); + + break; + + } + + return true; + + }, + + + // Use thumbnail image, if possible + // ================================ + + setImage : function( slide ) { + + var self = this; + var srcset = slide.opts.image.srcset; + + var found, temp, pxRatio, windowWidth; + + // If we have "srcset", then we need to find matching "src" value. + // This is necessary, because when you set an src attribute, the browser will preload the image + // before any javascript or even CSS is applied. + if ( srcset ) { + pxRatio = window.devicePixelRatio || 1; + windowWidth = window.innerWidth * pxRatio; + + temp = srcset.split(',').map(function ( el ) { + var ret = {}; + + el.trim().split(/\s+/).forEach(function ( el, i ) { + var value = parseInt( el.substring(0, el.length - 1), 10 ); + + if ( i === 0 ) { + return ( ret.url = el ); + } + + if ( value ) { + ret.value = value; + ret.postfix = el[ el.length - 1 ]; + } + + }); + + return ret; + }); + + // Sort by value + temp.sort(function (a, b) { + return a.value - b.value; + }); + + // Ok, now we have an array of all srcset values + for ( var j = 0; j < temp.length; j++ ) { + var el = temp[ j ]; + + if ( ( el.postfix === 'w' && el.value >= windowWidth ) || ( el.postfix === 'x' && el.value >= pxRatio ) ) { + found = el; + break; + } + } + + // If not found, take the last one + if ( !found && temp.length ) { + found = temp[ temp.length - 1 ]; + } + + if ( found ) { + slide.src = found.url; + + // If we have default width/height values, we can calculate height for matching source + if ( slide.width && slide.height && found.postfix == 'w' ) { + slide.height = ( slide.width / slide.height ) * found.value; + slide.width = found.value; + } + } + } + + // This will be wrapper containing both ghost and actual image + slide.$content = $('
') + .addClass( 'fancybox-is-hidden' ) + .appendTo( slide.$slide ); + + + // If we have a thumbnail, we can display it while actual image is loading + // Users will not stare at black screen and actual image will appear gradually + if ( slide.opts.preload !== false && slide.opts.width && slide.opts.height && ( slide.opts.thumb || slide.opts.$thumb ) ) { + + slide.width = slide.opts.width; + slide.height = slide.opts.height; + + slide.$ghost = $('') + .one('error', function() { + + $(this).remove(); + + slide.$ghost = null; + + self.setBigImage( slide ); + + }) + .one('load', function() { + + self.afterLoad( slide ); + + self.setBigImage( slide ); + + }) + .addClass( 'fancybox-image' ) + .appendTo( slide.$content ) + .attr( 'src', slide.opts.thumb || slide.opts.$thumb.attr( 'src' ) ); + + } else { + + self.setBigImage( slide ); + + } + + }, + + + // Create full-size image + // ====================== + + setBigImage : function ( slide ) { + var self = this; + var $img = $(''); + + slide.$image = $img + .one('error', function() { + + self.setError( slide ); + + }) + .one('load', function() { + + // Clear timeout that checks if loading icon needs to be displayed + clearTimeout( slide.timouts ); + + slide.timouts = null; + + if ( self.isClosing ) { + return; + } + + slide.width = this.naturalWidth; + slide.height = this.naturalHeight; + + if ( slide.opts.image.srcset ) { + $img.attr( 'sizes', '100vw' ).attr( 'srcset', slide.opts.image.srcset ); + } + + self.hideLoading( slide ); + + if ( slide.$ghost ) { + + slide.timouts = setTimeout(function() { + slide.timouts = null; + + slide.$ghost.hide(); + + }, Math.min( 300, Math.max( 1000, slide.height / 1600 ) ) ); + + } else { + self.afterLoad( slide ); + } + + }) + .addClass( 'fancybox-image' ) + .attr('src', slide.src) + .appendTo( slide.$content ); + + if ( $img[0].complete ) { + $img.trigger( 'load' ); + + } else if( $img[0].error ) { + $img.trigger( 'error' ); + + } else { + + slide.timouts = setTimeout(function() { + if ( !$img[0].complete && !slide.hasError ) { + self.showLoading( slide ); + } + + }, 100); + + } + + }, + + + // Create iframe wrapper, iframe and bindings + // ========================================== + + setIframe : function( slide ) { + var self = this, + opts = slide.opts.iframe, + $slide = slide.$slide, + $iframe; + + slide.$content = $('
') + .css( opts.css ) + .appendTo( $slide ); + + $iframe = $( opts.tpl.replace(/\{rnd\}/g, new Date().getTime()) ) + .attr( opts.attr ) + .appendTo( slide.$content ); + + if ( opts.preload ) { + + self.showLoading( slide ); + + // Unfortunately, it is not always possible to determine if iframe is successfully loaded + // (due to browser security policy) + + $iframe.on('load.fb error.fb', function(e) { + this.isReady = 1; + + slide.$slide.trigger( 'refresh' ); + + self.afterLoad( slide ); + }); + + // Recalculate iframe content size + // =============================== + + $slide.on('refresh.fb', function() { + var $wrap = slide.$content, + $contents, + $body, + scrollWidth, + frameWidth, + frameHeight; + + if ( $iframe[0].isReady !== 1 ) { + return; + } + + // Check if content is accessible, + // it will fail if frame is not with the same origin + + try { + $contents = $iframe.contents(); + $body = $contents.find('body'); + + } catch (ignore) {} + + // Calculate dimensions for the wrapper + if ( $body && $body.length && !( opts.css.width !== undefined && opts.css.height !== undefined ) ) { + + scrollWidth = $iframe[0].contentWindow.document.documentElement.scrollWidth; + + frameWidth = Math.ceil( $body.outerWidth(true) + ( $wrap.width() - scrollWidth ) ); + frameHeight = Math.ceil( $body.outerHeight(true) ); + + // Resize wrapper to fit iframe content + $wrap.css({ + 'width' : opts.css.width === undefined ? frameWidth + ( $wrap.outerWidth() - $wrap.innerWidth() ) : opts.css.width, + 'height' : opts.css.height === undefined ? frameHeight + ( $wrap.outerHeight() - $wrap.innerHeight() ) : opts.css.height + }); + + } + + $wrap.removeClass( 'fancybox-is-hidden' ); + + }); + + } else { + + this.afterLoad( slide ); + + } + + $iframe.attr( 'src', slide.src ); + + if ( slide.opts.smallBtn === true ) { + slide.$content.prepend( self.translate( slide, slide.opts.btnTpl.smallBtn ) ); + } + + // Remove iframe if closing or changing gallery item + $slide.one( 'onReset', function () { + + // This helps IE not to throw errors when closing + try { + + $( this ).find( 'iframe' ).hide().attr( 'src', '//about:blank' ); + + } catch ( ignore ) {} + + $( this ).empty(); + + slide.isLoaded = false; + + }); + + }, + + + // Wrap and append content to the slide + // ====================================== + + setContent : function ( slide, content ) { + + var self = this; + + if ( self.isClosing ) { + return; + } + + self.hideLoading( slide ); + + slide.$slide.empty(); + + if ( isQuery( content ) && content.parent().length ) { + + // If content is a jQuery object, then it will be moved to the slide. + // The placeholder is created so we will know where to put it back. + // If user is navigating gallery fast, then the content might be already inside fancyBox + // ===================================================================================== + + // Make sure content is not already moved to fancyBox + content.parent( '.fancybox-slide--inline' ).trigger( 'onReset' ); + + // Create temporary element marking original place of the content + slide.$placeholder = $( '
' ).hide().insertAfter( content ); + + // Make sure content is visible + content.css('display', 'inline-block'); + + } else if ( !slide.hasError ) { + + // If content is just a plain text, try to convert it to html + if ( $.type( content ) === 'string' ) { + content = $('
').append( $.trim( content ) ).contents(); + + // If we have text node, then add wrapping element to make vertical alignment work + if ( content[0].nodeType === 3 ) { + content = $('
').html( content ); + } + } + + // If "filter" option is provided, then filter content + if ( slide.opts.filter ) { + content = $('
').html( content ).find( slide.opts.filter ); + } + + } + + slide.$slide.one('onReset', function () { + + // Put content back + if ( slide.$placeholder ) { + slide.$placeholder.after( content.hide() ).remove(); + + slide.$placeholder = null; + } + + // Remove custom close button + if ( slide.$smallBtn ) { + slide.$smallBtn.remove(); + + slide.$smallBtn = null; + } + + // Remove content and mark slide as not loaded + if ( !slide.hasError ) { + $(this).empty(); + + slide.isLoaded = false; + } + + }); + + slide.$content = $( content ).appendTo( slide.$slide ); + + if ( slide.opts.smallBtn && !slide.$smallBtn ) { + slide.$smallBtn = $( self.translate( slide, slide.opts.btnTpl.smallBtn ) ).appendTo( slide.$content ); + } + + this.afterLoad( slide ); + }, + + // Display error message + // ===================== + + setError : function ( slide ) { + + slide.hasError = true; + + slide.$slide.removeClass( 'fancybox-slide--' + slide.type ); + + this.setContent( slide, this.translate( slide, slide.opts.errorTpl ) ); + + }, + + + // Show loading icon inside the slide + // ================================== + + showLoading : function( slide ) { + + var self = this; + + slide = slide || self.current; + + if ( slide && !slide.$spinner ) { + slide.$spinner = $( self.opts.spinnerTpl ).appendTo( slide.$slide ); + } + + }, + + // Remove loading icon from the slide + // ================================== + + hideLoading : function( slide ) { + + var self = this; + + slide = slide || self.current; + + if ( slide && slide.$spinner ) { + slide.$spinner.remove(); + + delete slide.$spinner; + } + + }, + + + // Adjustments after slide content has been loaded + // =============================================== + + afterLoad : function( slide ) { + + var self = this; + + if ( self.isClosing ) { + return; + } + + slide.isLoading = false; + slide.isLoaded = true; + + self.trigger( 'afterLoad', slide ); + + self.hideLoading( slide ); + + if ( slide.opts.protect && slide.$content && !slide.hasError ) { + + // Disable right click + slide.$content.on( 'contextmenu.fb', function( e ) { + if ( e.button == 2 ) { + e.preventDefault(); + } + + return true; + }); + + // Add fake element on top of the image + // This makes a bit harder for user to select image + if ( slide.type === 'image' ) { + $( '
' ).appendTo( slide.$content ); + } + + } + + self.revealContent( slide ); + + }, + + + // Make content visible + // This method is called right after content has been loaded or + // user navigates gallery and transition should start + // ============================================================ + + revealContent : function( slide ) { + + var self = this; + var $slide = slide.$slide; + + var effect, effectClassName, duration, opacity, end, start = false; + + effect = slide.opts[ self.firstRun ? 'animationEffect' : 'transitionEffect' ]; + duration = slide.opts[ self.firstRun ? 'animationDuration' : 'transitionDuration' ]; + + duration = parseInt( slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10 ); + + if ( slide.isMoved || slide.pos !== self.currPos || !duration ) { + effect = false; + } + + // Check if can zoom + if ( effect === 'zoom' && !( slide.pos === self.currPos && duration && slide.type === 'image' && !slide.hasError && ( start = self.getThumbPos( slide ) ) ) ) { + effect = 'fade'; + } + + + // Zoom animation + // ============== + + if ( effect === 'zoom' ) { + end = self.getFitPos( slide ); + + end.scaleX = end.width / start.width; + end.scaleY = end.height / start.height; + + delete end.width; + delete end.height; + + // Check if we need to animate opacity + opacity = slide.opts.zoomOpacity; + + if ( opacity == 'auto' ) { + opacity = Math.abs( slide.width / slide.height - start.width / start.height ) > 0.1; + } + + if ( opacity ) { + start.opacity = 0.1; + end.opacity = 1; + } + + // Draw image at start position + $.fancybox.setTranslate( slide.$content.removeClass( 'fancybox-is-hidden' ), start ); + + forceRedraw( slide.$content ); + + // Start animation + $.fancybox.animate( slide.$content, end, duration, function() { + self.complete(); + }); + + return; + } + + + self.updateSlide( slide ); + + + // Simply show content + // =================== + + if ( !effect ) { + forceRedraw( $slide ); + + slide.$content.removeClass( 'fancybox-is-hidden' ); + + if ( slide.pos === self.currPos ) { + self.complete(); + } + + return; + } + + $.fancybox.stop( $slide ); + + effectClassName = 'fancybox-animated fancybox-slide--' + ( slide.pos > self.prevPos ? 'next' : 'previous' ) + ' fancybox-fx-' + effect; + + $slide.removeAttr( 'style' ).removeClass( 'fancybox-slide--current fancybox-slide--next fancybox-slide--previous' ).addClass( effectClassName ); + + slide.$content.removeClass( 'fancybox-is-hidden' ); + + //Force reflow for CSS3 transitions + forceRedraw( $slide ); + + $.fancybox.animate( $slide, 'fancybox-slide--current', duration, function(e) { + $slide.removeClass( effectClassName ).removeAttr( 'style' ); + + if ( slide.pos === self.currPos ) { + self.complete(); + } + + }, true); + + }, + + + // Check if we can and have to zoom from thumbnail + //================================================ + + getThumbPos : function( slide ) { + + var self = this; + var rez = false; + + // Check if element is inside the viewport by at least 1 pixel + var isElementVisible = function( $el ) { + var element = $el[0]; + + var elementRect = element.getBoundingClientRect(); + var parentRects = []; + + var visibleInAllParents; + + while ( element.parentElement !== null ) { + if ( $(element.parentElement).css('overflow') === 'hidden' || $(element.parentElement).css('overflow') === 'auto' ) { + parentRects.push(element.parentElement.getBoundingClientRect()); + } + + element = element.parentElement; + } + + visibleInAllParents = parentRects.every(function(parentRect){ + var visiblePixelX = Math.min(elementRect.right, parentRect.right) - Math.max(elementRect.left, parentRect.left); + var visiblePixelY = Math.min(elementRect.bottom, parentRect.bottom) - Math.max(elementRect.top, parentRect.top); + + return visiblePixelX > 0 && visiblePixelY > 0; + }); + + return visibleInAllParents && + elementRect.bottom > 0 && elementRect.right > 0 && + elementRect.left < $(window).width() && elementRect.top < $(window).height(); + }; + + var $thumb = slide.opts.$thumb; + var thumbPos = $thumb ? $thumb.offset() : 0; + var slidePos; + + if ( thumbPos && $thumb[0].ownerDocument === document && isElementVisible( $thumb ) ) { + slidePos = self.$refs.stage.offset(); + + rez = { + top : thumbPos.top - slidePos.top + parseFloat( $thumb.css( "border-top-width" ) || 0 ), + left : thumbPos.left - slidePos.left + parseFloat( $thumb.css( "border-left-width" ) || 0 ), + width : $thumb.width(), + height : $thumb.height(), + scaleX : 1, + scaleY : 1 + }; + } + + return rez; + }, + + + // Final adjustments after current gallery item is moved to position + // and it`s content is loaded + // ================================================================== + + complete : function() { + + var self = this; + + var current = self.current; + var slides = {}; + + if ( current.isMoved || !current.isLoaded || current.isComplete ) { + return; + } + + current.isComplete = true; + + current.$slide.siblings().trigger( 'onReset' ); + + // Trigger any CSS3 transiton inside the slide + forceRedraw( current.$slide ); + + current.$slide.addClass( 'fancybox-slide--complete' ); + + // Remove unnecessary slides + $.each( self.slides, function( key, slide ) { + if ( slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1 ) { + slides[ slide.pos ] = slide; + + } else if ( slide ) { + + $.fancybox.stop( slide.$slide ); + + slide.$slide.unbind().remove(); + } + }); + + self.slides = slides; + + self.updateCursor(); + + self.trigger( 'afterShow' ); + + // Try to focus on the first focusable element + if ( $( document.activeElement ).is( '[disabled]' ) || ( current.opts.autoFocus && !( current.type == 'image' || current.type === 'iframe' ) ) ) { + self.focus(); + } + + }, + + + // Preload next and previous slides + // ================================ + + preload : function() { + var self = this; + var next, prev; + + if ( self.group.length < 2 ) { + return; + } + + next = self.slides[ self.currPos + 1 ]; + prev = self.slides[ self.currPos - 1 ]; + + if ( next && next.type === 'image' ) { + self.loadSlide( next ); + } + + if ( prev && prev.type === 'image' ) { + self.loadSlide( prev ); + } + + }, + + + // Try to find and focus on the first focusable element + // ==================================================== + + focus : function() { + var current = this.current; + var $el; + + if ( this.isClosing ) { + return; + } + + // Skip for images and iframes + $el = current && current.isComplete ? current.$slide.find('button,:input,[tabindex],a').filter(':not([disabled]):visible:first') : null; + $el = $el && $el.length ? $el : this.$refs.container; + + $el.focus(); + }, + + + // Activates current instance - brings container to the front and enables keyboard, + // notifies other instances about deactivating + // ================================================================================= + + activate : function () { + var self = this; + + // Deactivate all instances + $( '.fancybox-container' ).each(function () { + var instance = $(this).data( 'FancyBox' ); + + // Skip self and closing instances + if (instance && instance.uid !== self.uid && !instance.isClosing) { + instance.trigger( 'onDeactivate' ); + } + + }); + + if ( self.current ) { + if ( self.$refs.container.index() > 0 ) { + self.$refs.container.prependTo( document.body ); + } + + self.updateControls(); + } + + self.trigger( 'onActivate' ); + + self.addEvents(); + + }, + + + // Start closing procedure + // This will start "zoom-out" animation if needed and clean everything up afterwards + // ================================================================================= + + close : function( e, d ) { + + var self = this; + var current = self.current; + + var effect, duration; + var $what, opacity, start, end; + + var done = function() { + self.cleanUp( e ); + }; + + if ( self.isClosing ) { + return false; + } + + self.isClosing = true; + + // If beforeClose callback prevents closing, make sure content is centered + if ( self.trigger( 'beforeClose', e ) === false ) { + self.isClosing = false; + + requestAFrame(function() { + self.update(); + }); + + return false; + } + + // Remove all events + // If there are multiple instances, they will be set again by "activate" method + self.removeEvents(); + + if ( current.timouts ) { + clearTimeout( current.timouts ); + } + + $what = current.$content; + effect = current.opts.animationEffect; + duration = $.isNumeric( d ) ? d : ( effect ? current.opts.animationDuration : 0 ); + + // Remove other slides + current.$slide.off( transitionEnd ).removeClass( 'fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated' ); + + current.$slide.siblings().trigger( 'onReset' ).remove(); + + // Trigger animations + if ( duration ) { + self.$refs.container.removeClass( 'fancybox-is-open' ).addClass( 'fancybox-is-closing' ); + } + + // Clean up + self.hideLoading( current ); + + self.hideControls(); + + self.updateCursor(); + + // Check if possible to zoom-out + if ( effect === 'zoom' && !( e !== true && $what && duration && current.type === 'image' && !current.hasError && ( end = self.getThumbPos( current ) ) ) ) { + effect = 'fade'; + } + + if ( effect === 'zoom' ) { + $.fancybox.stop( $what ); + + start = $.fancybox.getTranslate( $what ); + + start.width = start.width * start.scaleX; + start.height = start.height * start.scaleY; + + // Check if we need to animate opacity + opacity = current.opts.zoomOpacity; + + if ( opacity == 'auto' ) { + opacity = Math.abs( current.width / current.height - end.width / end.height ) > 0.1; + } + + if ( opacity ) { + end.opacity = 0; + } + + start.scaleX = start.width / end.width; + start.scaleY = start.height / end.height; + + start.width = end.width; + start.height = end.height; + + $.fancybox.setTranslate( current.$content, start ); + + $.fancybox.animate( current.$content, end, duration, done ); + + return true; + } + + if ( effect && duration ) { + + // If skip animation + if ( e === true ) { + setTimeout( done, duration ); + + } else { + $.fancybox.animate( current.$slide.removeClass( 'fancybox-slide--current' ), 'fancybox-animated fancybox-slide--previous fancybox-fx-' + effect, duration, done ); + } + + } else { + done(); + } + + return true; + }, + + + // Final adjustments after removing the instance + // ============================================= + + cleanUp : function( e ) { + var self = this, + instance; + + self.current.$slide.trigger( 'onReset' ); + + self.$refs.container.empty().remove(); + + self.trigger( 'afterClose', e ); + + // Place back focus + if ( self.$lastFocus && !!self.current.opts.backFocus ) { + self.$lastFocus.focus(); + } + + self.current = null; + + // Check if there are other instances + instance = $.fancybox.getInstance(); + + if ( instance ) { + instance.activate(); + + } else { + + $W.scrollTop( self.scrollTop ).scrollLeft( self.scrollLeft ); + + $( 'html' ).removeClass( 'fancybox-enabled' ); + + $( '#fancybox-style-noscroll' ).remove(); + } + + }, + + + // Call callback and trigger an event + // ================================== + + trigger : function( name, slide ) { + var args = Array.prototype.slice.call(arguments, 1), + self = this, + obj = slide && slide.opts ? slide : self.current, + rez; + + if ( obj ) { + args.unshift( obj ); + + } else { + obj = self; + } + + args.unshift( self ); + + if ( $.isFunction( obj.opts[ name ] ) ) { + rez = obj.opts[ name ].apply( obj, args ); + } + + if ( rez === false ) { + return rez; + } + + if ( name === 'afterClose' ) { + $D.trigger( name + '.fb', args ); + + } else { + self.$refs.container.trigger( name + '.fb', args ); + } + + }, + + + // Update infobar values, navigation button states and reveal caption + // ================================================================== + + updateControls : function ( force ) { + + var self = this; + + var current = self.current; + var index = current.index; + var opts = current.opts; + var caption = opts.caption; + var $caption = self.$refs.caption; + + // Recalculate content dimensions + current.$slide.trigger( 'refresh' ); + + self.$caption = caption && caption.length ? $caption.html( caption ) : null; + + if ( !self.isHiddenControls ) { + self.showControls(); + } + + // Update info and navigation elements + $('[data-fancybox-count]').html( self.group.length ); + $('[data-fancybox-index]').html( index + 1 ); + + $('[data-fancybox-prev]').prop('disabled', ( !opts.loop && index <= 0 ) ); + $('[data-fancybox-next]').prop('disabled', ( !opts.loop && index >= self.group.length - 1 ) ); + + }, + + // Hide toolbar and caption + // ======================== + + hideControls : function () { + + this.isHiddenControls = true; + + this.$refs.container.removeClass('fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav'); + + }, + + showControls : function() { + + var self = this; + var opts = self.current ? self.current.opts : self.opts; + var $container = self.$refs.container; + + self.isHiddenControls = false; + self.idleSecondsCounter = 0; + + $container + .toggleClass('fancybox-show-toolbar', !!( opts.toolbar && opts.buttons ) ) + .toggleClass('fancybox-show-infobar', !!( opts.infobar && self.group.length > 1 ) ) + .toggleClass('fancybox-show-nav', !!( opts.arrows && self.group.length > 1 ) ) + .toggleClass('fancybox-is-modal', !!opts.modal ); + + if ( self.$caption ) { + $container.addClass( 'fancybox-show-caption '); + + } else { + $container.removeClass( 'fancybox-show-caption' ); + } + + }, + + + // Toggle toolbar and caption + // ========================== + + toggleControls : function() { + + if ( this.isHiddenControls ) { + this.showControls(); + + } else { + this.hideControls(); + } + + }, + + + }); + + + $.fancybox = { + + version : "3.1.24", + defaults : defaults, + + + // Get current instance and execute a command. + // + // Examples of usage: + // + // $instance = $.fancybox.getInstance(); + // $.fancybox.getInstance().jumpTo( 1 ); + // $.fancybox.getInstance( 'jumpTo', 1 ); + // $.fancybox.getInstance( function() { + // console.info( this.currIndex ); + // }); + // ====================================================== + + getInstance : function ( command ) { + var instance = $('.fancybox-container:not(".fancybox-is-closing"):first').data( 'FancyBox' ); + var args = Array.prototype.slice.call(arguments, 1); + + if ( instance instanceof FancyBox ) { + + if ( $.type( command ) === 'string' ) { + instance[ command ].apply( instance, args ); + + } else if ( $.type( command ) === 'function' ) { + command.apply( instance, args ); + + } + + return instance; + } + + return false; + + }, + + + // Create new instance + // =================== + + open : function ( items, opts, index ) { + return new FancyBox( items, opts, index ); + }, + + + // Close current or all instances + // ============================== + + close : function ( all ) { + var instance = this.getInstance(); + + if ( instance ) { + instance.close(); + + // Try to find and close next instance + + if ( all === true ) { + this.close(); + } + } + + }, + + // Close instances and unbind all events + // ============================== + + destroy : function() { + + this.close( true ); + + $D.off( 'click.fb-start' ); + + }, + + + // Try to detect mobile devices + // ============================ + + isMobile : document.createTouch !== undefined && /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent), + + + // Detect if 'translate3d' support is available + // ============================================ + + use3d : (function() { + var div = document.createElement('div'); + + return window.getComputedStyle && window.getComputedStyle( div ).getPropertyValue('transform') && !(document.documentMode && document.documentMode < 11); + }()), + + + // Helper function to get current visual state of an element + // returns array[ top, left, horizontal-scale, vertical-scale, opacity ] + // ===================================================================== + + getTranslate : function( $el ) { + var matrix; + + if ( !$el || !$el.length ) { + return false; + } + + matrix = $el.eq( 0 ).css('transform'); + + if ( matrix && matrix.indexOf( 'matrix' ) !== -1 ) { + matrix = matrix.split('(')[1]; + matrix = matrix.split(')')[0]; + matrix = matrix.split(','); + } else { + matrix = []; + } + + if ( matrix.length ) { + + // If IE + if ( matrix.length > 10 ) { + matrix = [ matrix[13], matrix[12], matrix[0], matrix[5] ]; + + } else { + matrix = [ matrix[5], matrix[4], matrix[0], matrix[3]]; + } + + matrix = matrix.map(parseFloat); + + } else { + matrix = [ 0, 0, 1, 1 ]; + + var transRegex = /\.*translate\((.*)px,(.*)px\)/i; + var transRez = transRegex.exec( $el.eq( 0 ).attr('style') ); + + if ( transRez ) { + matrix[ 0 ] = parseFloat( transRez[2] ); + matrix[ 1 ] = parseFloat( transRez[1] ); + } + } + + return { + top : matrix[ 0 ], + left : matrix[ 1 ], + scaleX : matrix[ 2 ], + scaleY : matrix[ 3 ], + opacity : parseFloat( $el.css('opacity') ), + width : $el.width(), + height : $el.height() + }; + + }, + + + // Shortcut for setting "translate3d" properties for element + // Can set be used to set opacity, too + // ======================================================== + + setTranslate : function( $el, props ) { + var str = ''; + var css = {}; + + if ( !$el || !props ) { + return; + } + + if ( props.left !== undefined || props.top !== undefined ) { + str = ( props.left === undefined ? $el.position().left : props.left ) + 'px, ' + ( props.top === undefined ? $el.position().top : props.top ) + 'px'; + + if ( this.use3d ) { + str = 'translate3d(' + str + ', 0px)'; + + } else { + str = 'translate(' + str + ')'; + } + } + + if ( props.scaleX !== undefined && props.scaleY !== undefined ) { + str = (str.length ? str + ' ' : '') + 'scale(' + props.scaleX + ', ' + props.scaleY + ')'; + } + + if ( str.length ) { + css.transform = str; + } + + if ( props.opacity !== undefined ) { + css.opacity = props.opacity; + } + + if ( props.width !== undefined ) { + css.width = props.width; + } + + if ( props.height !== undefined ) { + css.height = props.height; + } + + return $el.css( css ); + }, + + + // Simple CSS transition handler + // ============================= + + animate : function ( $el, to, duration, callback, leaveAnimationName ) { + var event = transitionEnd || 'transitionend'; + + if ( $.isFunction( duration ) ) { + callback = duration; + duration = null; + } + + if ( !$.isPlainObject( to ) ) { + $el.removeAttr('style'); + } + + $el.on( event, function(e) { + + // Skip events from child elements and z-index change + if ( e && e.originalEvent && ( !$el.is( e.originalEvent.target ) || e.originalEvent.propertyName == 'z-index' ) ) { + return; + } + + $el.off( event ); + + if ( $.isPlainObject( to ) ) { + + if ( to.scaleX !== undefined && to.scaleY !== undefined ) { + $el.css( 'transition-duration', '0ms' ); + + to.width = Math.round( $el.width() * to.scaleX ); + to.height = Math.round( $el.height() * to.scaleY ); + + to.scaleX = 1; + to.scaleY = 1; + + $.fancybox.setTranslate( $el, to ); + } + + } else if ( leaveAnimationName !== true ) { + $el.removeClass( to ); + } + + if ( $.isFunction( callback ) ) { + callback( e ); + } + + }); + + if ( $.isNumeric( duration ) ) { + $el.css( 'transition-duration', duration + 'ms' ); + } + + if ( $.isPlainObject( to ) ) { + $.fancybox.setTranslate( $el, to ); + + } else { + $el.addClass( to ); + } + + $el.data("timer", setTimeout(function() { + $el.trigger( 'transitionend' ); + }, duration + 16)); + + }, + + stop : function( $el ) { + clearTimeout( $el.data("timer") ); + + $el.off( transitionEnd ); + } + + }; + + + // Default click handler for "fancyboxed" links + // ============================================ + + function _run( e ) { + var target = e.currentTarget, + opts = e.data ? e.data.options : {}, + items = opts.selector ? $( opts.selector ) : ( e.data ? e.data.items : [] ), + value = $(target).attr( 'data-fancybox' ) || '', + index = 0, + active = $.fancybox.getInstance(); + + e.preventDefault(); + e.stopPropagation(); + + // Avoid opening multiple times + if ( active && active.current.opts.$orig.is( target ) ) { + return; + } + + // Get all related items and find index for clicked one + if ( value ) { + items = items.length ? items.filter( '[data-fancybox="' + value + '"]' ) : $( '[data-fancybox="' + value + '"]' ); + index = items.index( target ); + + // Sometimes current item can not be found + // (for example, when slider clones items) + if ( index < 0 ) { + index = 0; + } + + } else { + items = [ target ]; + } + + $.fancybox.open( items, opts, index ); + } + + + // Create a jQuery plugin + // ====================== + + $.fn.fancybox = function (options) { + var selector; + + options = options || {}; + selector = options.selector || false; + + if ( selector ) { + + $( 'body' ).off( 'click.fb-start', selector ).on( 'click.fb-start', selector, { + options : options + }, _run ); + + } else { + + this.off( 'click.fb-start' ).on( 'click.fb-start', { + items : this, + options : options + }, _run); + + } + + return this; + }; + + + // Self initializing plugin + // ======================== + + $D.on( 'click.fb-start', '[data-fancybox]', _run ); + +}( window, document, window.jQuery )); + +// ========================================================================== +// +// Media +// Adds additional media type support +// +// ========================================================================== +;(function ($) { + + 'use strict'; + + // Formats matching url to final form + + var format = function (url, rez, params) { + if ( !url ) { + return; + } + + params = params || ''; + + if ( $.type(params) === "object" ) { + params = $.param(params, true); + } + + $.each(rez, function (key, value) { + url = url.replace('$' + key, value || ''); + }); + + if (params.length) { + url += (url.indexOf('?') > 0 ? '&' : '?') + params; + } + + return url; + }; + + // Object containing properties for each media type + + var defaults = { + youtube : { + matcher : /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, + params : { + autoplay : 1, + autohide : 1, + fs : 1, + rel : 0, + hd : 1, + wmode : 'transparent', + enablejsapi : 1, + html5 : 1 + }, + paramPlace : 8, + type : 'iframe', + url : '//www.youtube.com/embed/$4', + thumb : '//img.youtube.com/vi/$4/hqdefault.jpg' + }, + + vimeo : { + matcher : /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, + params : { + autoplay : 1, + hd : 1, + show_title : 1, + show_byline : 1, + show_portrait : 0, + fullscreen : 1, + api : 1 + }, + paramPlace : 3, + type : 'iframe', + url : '//player.vimeo.com/video/$2' + }, + + metacafe : { + matcher : /metacafe.com\/watch\/(\d+)\/(.*)?/, + type : 'iframe', + url : '//www.metacafe.com/embed/$1/?ap=1' + }, + + dailymotion : { + matcher : /dailymotion.com\/video\/(.*)\/?(.*)/, + params : { + additionalInfos : 0, + autoStart : 1 + }, + type : 'iframe', + url : '//www.dailymotion.com/embed/video/$1' + }, + + vine : { + matcher : /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, + type : 'iframe', + url : '//vine.co/v/$1/embed/simple' + }, + + instagram : { + matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, + type : 'image', + url : '//$1/p/$2/media/?size=l' + }, + + // Examples: + // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16 + // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z + // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572 + gmap_place : { + matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, + type : 'iframe', + url : function (rez) { + return '//maps.google.' + rez[2] + '/?ll=' + ( rez[9] ? rez[9] + '&z=' + Math.floor( rez[10] ) + ( rez[12] ? rez[12].replace(/^\//, "&") : '' ) : rez[12] ) + '&output=' + ( rez[12] && rez[12].indexOf('layer=c') > 0 ? 'svembed' : 'embed' ); + } + }, + + // Examples: + // https://www.google.com/maps/search/Empire+State+Building/ + // https://www.google.com/maps/search/?api=1&query=centurylink+field + // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393 + gmap_search : { + matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, + type : 'iframe', + url : function (rez) { + return '//maps.google.' + rez[2] + '/maps?q=' + rez[5].replace('query=', 'q=').replace('api=1', '') + '&output=embed'; + } + } + }; + + $(document).on('onInit.fb', function (e, instance) { + + $.each(instance.group, function( i, item ) { + + var url = item.src || '', + type = false, + media, + thumb, + rez, + params, + urlParams, + o, + provider; + + // Skip items that already have content type + if ( item.type ) { + return; + } + + media = $.extend( true, {}, defaults, item.opts.media ); + + // Look for any matching media type + $.each(media, function ( n, el ) { + rez = url.match(el.matcher); + o = {}; + provider = n; + + if (!rez) { + return; + } + + type = el.type; + + if ( el.paramPlace && rez[ el.paramPlace ] ) { + urlParams = rez[ el.paramPlace ]; + + if ( urlParams[ 0 ] == '?' ) { + urlParams = urlParams.substring(1); + } + + urlParams = urlParams.split('&'); + + for ( var m = 0; m < urlParams.length; ++m ) { + var p = urlParams[ m ].split('=', 2); + + if ( p.length == 2 ) { + o[ p[0] ] = decodeURIComponent( p[1].replace(/\+/g, " ") ); + } + } + } + + params = $.extend( true, {}, el.params, item.opts[ n ], o ); + + url = $.type(el.url) === "function" ? el.url.call(this, rez, params, item) : format(el.url, rez, params); + thumb = $.type(el.thumb) === "function" ? el.thumb.call(this, rez, params, item) : format(el.thumb, rez); + + if ( provider === 'vimeo' ) { + url = url.replace('&%23', '#'); + } + + return false; + }); + + // If it is found, then change content type and update the url + + if ( type ) { + item.src = url; + item.type = type; + + if ( !item.opts.thumb && !( item.opts.$thumb && item.opts.$thumb.length ) ) { + item.opts.thumb = thumb; + } + + if ( type === 'iframe' ) { + $.extend(true, item.opts, { + iframe : { + preload : false, + attr : { + scrolling : "no" + } + } + }); + + item.contentProvider = provider; + + item.opts.slideClass += ' fancybox-slide--' + ( provider == 'gmap_place' || provider == 'gmap_search' ? 'map' : 'video' ); + } + + } else { + + // If no content type is found, then set it to `image` as fallback + item.type = 'image'; + } + + }); + + }); + +}(window.jQuery)); + +// ========================================================================== +// +// Guestures +// Adds touch guestures, handles click and tap events +// +// ========================================================================== +;(function (window, document, $) { + 'use strict'; + + var requestAFrame = (function () { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + + var cancelAFrame = (function () { + return window.cancelAnimationFrame || + window.webkitCancelAnimationFrame || + window.mozCancelAnimationFrame || + window.oCancelAnimationFrame || + function (id) { + window.clearTimeout(id); + }; + })(); + + + var pointers = function( e ) { + var result = []; + + e = e.originalEvent || e || window.e; + e = e.touches && e.touches.length ? e.touches : ( e.changedTouches && e.changedTouches.length ? e.changedTouches : [ e ] ); + + for ( var key in e ) { + + if ( e[ key ].pageX ) { + result.push( { x : e[ key ].pageX, y : e[ key ].pageY } ); + + } else if ( e[ key ].clientX ) { + result.push( { x : e[ key ].clientX, y : e[ key ].clientY } ); + } + } + + return result; + }; + + var distance = function( point2, point1, what ) { + if ( !point1 || !point2 ) { + return 0; + } + + if ( what === 'x' ) { + return point2.x - point1.x; + + } else if ( what === 'y' ) { + return point2.y - point1.y; + } + + return Math.sqrt( Math.pow( point2.x - point1.x, 2 ) + Math.pow( point2.y - point1.y, 2 ) ); + }; + + var isClickable = function( $el ) { + if ( $el.is('a,button,input,select,textarea') || $.isFunction( $el.get(0).onclick ) ) { + return true; + } + + // Check for attributes like data-fancybox-next or data-fancybox-close + for ( var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++ ) { + if ( atts[i].nodeName.substr(0, 14) === 'data-fancybox-' ) { + return true; + } + } + + return false; + }; + + var hasScrollbars = function( el ) { + var overflowY = window.getComputedStyle( el )['overflow-y']; + var overflowX = window.getComputedStyle( el )['overflow-x']; + + var vertical = (overflowY === 'scroll' || overflowY === 'auto') && el.scrollHeight > el.clientHeight; + var horizontal = (overflowX === 'scroll' || overflowX === 'auto') && el.scrollWidth > el.clientWidth; + + return vertical || horizontal; + }; + + var isScrollable = function ( $el ) { + var rez = false; + + while ( true ) { + rez = hasScrollbars( $el.get(0) ); + + if ( rez ) { + break; + } + + $el = $el.parent(); + + if ( !$el.length || $el.hasClass( 'fancybox-stage' ) || $el.is( 'body' ) ) { + break; + } + } + + return rez; + }; + + + var Guestures = function ( instance ) { + var self = this; + + self.instance = instance; + + self.$bg = instance.$refs.bg; + self.$stage = instance.$refs.stage; + self.$container = instance.$refs.container; + + self.destroy(); + + self.$container.on( 'touchstart.fb.touch mousedown.fb.touch', $.proxy(self, 'ontouchstart') ); + }; + + Guestures.prototype.destroy = function() { + this.$container.off( '.fb.touch' ); + }; + + Guestures.prototype.ontouchstart = function( e ) { + var self = this; + + var $target = $( e.target ); + var instance = self.instance; + var current = instance.current; + var $content = current.$content; + + var isTouchDevice = ( e.type == 'touchstart' ); + + // Do not respond to both events + if ( isTouchDevice ) { + self.$container.off( 'mousedown.fb.touch' ); + } + + // Ignore clicks while zooming or closing + if ( !current || self.instance.isAnimating || self.instance.isClosing ) { + e.stopPropagation(); + e.preventDefault(); + + return; + } + + // Ignore right click + if ( e.originalEvent && e.originalEvent.button == 2 ) { + return; + } + + // Ignore taping on links, buttons, input elements + if ( !$target.length || isClickable( $target ) || isClickable( $target.parent() ) ) { + return; + } + + // Ignore clicks on the scrollbar + if ( e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left ) { + return; + } + + self.startPoints = pointers( e ); + + // Prevent zooming if already swiping + if ( !self.startPoints || ( self.startPoints.length > 1 && instance.isSliding ) ) { + return; + } + + self.$target = $target; + self.$content = $content; + self.canTap = true; + + $(document).off( '.fb.touch' ); + + $(document).on( isTouchDevice ? 'touchend.fb.touch touchcancel.fb.touch' : 'mouseup.fb.touch mouseleave.fb.touch', $.proxy(self, "ontouchend")); + $(document).on( isTouchDevice ? 'touchmove.fb.touch' : 'mousemove.fb.touch', $.proxy(self, "ontouchmove")); + + e.stopPropagation(); + + if ( !(instance.current.opts.touch || instance.canPan() ) || !( $target.is( self.$stage ) || self.$stage.find( $target ).length ) ) { + + // Prevent ghosting + if ( $target.is('img') ) { + e.preventDefault(); + } + + return; + } + + if ( !( $.fancybox.isMobile && ( isScrollable( self.$target ) || isScrollable( self.$target.parent() ) ) ) ) { + e.preventDefault(); + } + + self.canvasWidth = Math.round( current.$slide[0].clientWidth ); + self.canvasHeight = Math.round( current.$slide[0].clientHeight ); + + self.startTime = new Date().getTime(); + self.distanceX = self.distanceY = self.distance = 0; + + self.isPanning = false; + self.isSwiping = false; + self.isZooming = false; + + self.sliderStartPos = self.sliderLastPos || { top: 0, left: 0 }; + self.contentStartPos = $.fancybox.getTranslate( self.$content ); + self.contentLastPos = null; + + if ( self.startPoints.length === 1 && !self.isZooming ) { + self.canTap = !instance.isSliding; + + if ( current.type === 'image' && ( self.contentStartPos.width > self.canvasWidth + 1 || self.contentStartPos.height > self.canvasHeight + 1 ) ) { + + $.fancybox.stop( self.$content ); + + self.$content.css( 'transition-duration', '0ms' ); + + self.isPanning = true; + + } else { + + self.isSwiping = true; + } + + self.$container.addClass('fancybox-controls--isGrabbing'); + } + + if ( self.startPoints.length === 2 && !instance.isAnimating && !current.hasError && current.type === 'image' && ( current.isLoaded || current.$ghost ) ) { + self.isZooming = true; + + self.isSwiping = false; + self.isPanning = false; + + $.fancybox.stop( self.$content ); + + self.$content.css( 'transition-duration', '0ms' ); + + self.centerPointStartX = ( ( self.startPoints[0].x + self.startPoints[1].x ) * 0.5 ) - $(window).scrollLeft(); + self.centerPointStartY = ( ( self.startPoints[0].y + self.startPoints[1].y ) * 0.5 ) - $(window).scrollTop(); + + self.percentageOfImageAtPinchPointX = ( self.centerPointStartX - self.contentStartPos.left ) / self.contentStartPos.width; + self.percentageOfImageAtPinchPointY = ( self.centerPointStartY - self.contentStartPos.top ) / self.contentStartPos.height; + + self.startDistanceBetweenFingers = distance( self.startPoints[0], self.startPoints[1] ); + } + + }; + + Guestures.prototype.ontouchmove = function( e ) { + + var self = this; + + self.newPoints = pointers( e ); + + if ( $.fancybox.isMobile && ( isScrollable( self.$target ) || isScrollable( self.$target.parent() ) ) ) { + e.stopPropagation(); + + self.canTap = false; + + return; + } + + if ( !( self.instance.current.opts.touch || self.instance.canPan() ) || !self.newPoints || !self.newPoints.length ) { + return; + } + + self.distanceX = distance( self.newPoints[0], self.startPoints[0], 'x' ); + self.distanceY = distance( self.newPoints[0], self.startPoints[0], 'y' ); + + self.distance = distance( self.newPoints[0], self.startPoints[0] ); + + // Skip false ontouchmove events (Chrome) + if ( self.distance > 0 ) { + + if ( !( self.$target.is( self.$stage ) || self.$stage.find( self.$target ).length ) ) { + return; + } + + e.stopPropagation(); + e.preventDefault(); + + if ( self.isSwiping ) { + self.onSwipe(); + + } else if ( self.isPanning ) { + self.onPan(); + + } else if ( self.isZooming ) { + self.onZoom(); + } + + } + + }; + + Guestures.prototype.onSwipe = function() { + + var self = this; + + var swiping = self.isSwiping; + var left = self.sliderStartPos.left || 0; + var angle; + + if ( swiping === true ) { + + if ( Math.abs( self.distance ) > 10 ) { + + self.canTap = false; + + if ( self.instance.group.length < 2 && self.instance.opts.touch.vertical ) { + self.isSwiping = 'y'; + + } else if ( self.instance.isSliding || self.instance.opts.touch.vertical === false || ( self.instance.opts.touch.vertical === 'auto' && $( window ).width() > 800 ) ) { + self.isSwiping = 'x'; + + } else { + angle = Math.abs( Math.atan2( self.distanceY, self.distanceX ) * 180 / Math.PI ); + + self.isSwiping = ( angle > 45 && angle < 135 ) ? 'y' : 'x'; + } + + self.instance.isSliding = self.isSwiping; + + // Reset points to avoid jumping, because we dropped first swipes to calculate the angle + self.startPoints = self.newPoints; + + $.each(self.instance.slides, function( index, slide ) { + $.fancybox.stop( slide.$slide ); + + slide.$slide.css( 'transition-duration', '0ms' ); + + slide.inTransition = false; + + if ( slide.pos === self.instance.current.pos ) { + self.sliderStartPos.left = $.fancybox.getTranslate( slide.$slide ).left; + } + }); + + //self.instance.current.isMoved = true; + + // Stop slideshow + if ( self.instance.SlideShow && self.instance.SlideShow.isActive ) { + self.instance.SlideShow.stop(); + } + } + + } else { + + if ( swiping == 'x' ) { + + // Sticky edges + if ( self.distanceX > 0 && ( self.instance.group.length < 2 || ( self.instance.current.index === 0 && !self.instance.current.opts.loop ) ) ) { + left = left + Math.pow( self.distanceX, 0.8 ); + + } else if ( self.distanceX < 0 && ( self.instance.group.length < 2 || ( self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop ) ) ) { + left = left - Math.pow( -self.distanceX, 0.8 ); + + } else { + left = left + self.distanceX; + } + + } + + self.sliderLastPos = { + top : swiping == 'x' ? 0 : self.sliderStartPos.top + self.distanceY, + left : left + }; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + + if ( self.sliderLastPos ) { + $.each(self.instance.slides, function( index, slide ) { + var pos = slide.pos - self.instance.currPos; + + $.fancybox.setTranslate( slide.$slide, { + top : self.sliderLastPos.top, + left : self.sliderLastPos.left + ( pos * self.canvasWidth ) + ( pos * slide.opts.gutter ) + }); + }); + + self.$container.addClass( 'fancybox-is-sliding' ); + } + + }); + + } + + }; + + Guestures.prototype.onPan = function() { + + var self = this; + + var newOffsetX, newOffsetY, newPos; + + self.canTap = false; + + if ( self.contentStartPos.width > self.canvasWidth ) { + newOffsetX = self.contentStartPos.left + self.distanceX; + + } else { + newOffsetX = self.contentStartPos.left; + } + + newOffsetY = self.contentStartPos.top + self.distanceY; + + newPos = self.limitMovement( newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height ); + + newPos.scaleX = self.contentStartPos.scaleX; + newPos.scaleY = self.contentStartPos.scaleY; + + self.contentLastPos = newPos; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate( self.$content, self.contentLastPos ); + }); + }; + + // Make panning sticky to the edges + Guestures.prototype.limitMovement = function( newOffsetX, newOffsetY, newWidth, newHeight ) { + + var self = this; + + var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + var currentOffsetX = self.contentStartPos.left; + var currentOffsetY = self.contentStartPos.top; + + var distanceX = self.distanceX; + var distanceY = self.distanceY; + + // Slow down proportionally to traveled distance + + minTranslateX = Math.max(0, canvasWidth * 0.5 - newWidth * 0.5 ); + minTranslateY = Math.max(0, canvasHeight * 0.5 - newHeight * 0.5 ); + + maxTranslateX = Math.min( canvasWidth - newWidth, canvasWidth * 0.5 - newWidth * 0.5 ); + maxTranslateY = Math.min( canvasHeight - newHeight, canvasHeight * 0.5 - newHeight * 0.5 ); + + if ( newWidth > canvasWidth ) { + + // -> + if ( distanceX > 0 && newOffsetX > minTranslateX ) { + newOffsetX = minTranslateX - 1 + Math.pow( -minTranslateX + currentOffsetX + distanceX, 0.8 ) || 0; + } + + // <- + if ( distanceX < 0 && newOffsetX < maxTranslateX ) { + newOffsetX = maxTranslateX + 1 - Math.pow( maxTranslateX - currentOffsetX - distanceX, 0.8 ) || 0; + } + + } + + if ( newHeight > canvasHeight ) { + + // \/ + if ( distanceY > 0 && newOffsetY > minTranslateY ) { + newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8 ) || 0; + } + + // /\ + if ( distanceY < 0 && newOffsetY < maxTranslateY ) { + newOffsetY = maxTranslateY + 1 - Math.pow ( maxTranslateY - currentOffsetY - distanceY, 0.8 ) || 0; + } + + } + + return { + top : newOffsetY, + left : newOffsetX + }; + + }; + + + Guestures.prototype.limitPosition = function( newOffsetX, newOffsetY, newWidth, newHeight ) { + + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + if ( newWidth > canvasWidth ) { + newOffsetX = newOffsetX > 0 ? 0 : newOffsetX; + newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX; + + } else { + + // Center horizontally + newOffsetX = Math.max( 0, canvasWidth / 2 - newWidth / 2 ); + + } + + if ( newHeight > canvasHeight ) { + newOffsetY = newOffsetY > 0 ? 0 : newOffsetY; + newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY; + + } else { + + // Center vertically + newOffsetY = Math.max( 0, canvasHeight / 2 - newHeight / 2 ); + + } + + return { + top : newOffsetY, + left : newOffsetX + }; + + }; + + Guestures.prototype.onZoom = function() { + + var self = this; + + // Calculate current distance between points to get pinch ratio and new width and height + + var currentWidth = self.contentStartPos.width; + var currentHeight = self.contentStartPos.height; + + var currentOffsetX = self.contentStartPos.left; + var currentOffsetY = self.contentStartPos.top; + + var endDistanceBetweenFingers = distance( self.newPoints[0], self.newPoints[1] ); + + var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers; + + var newWidth = Math.floor( currentWidth * pinchRatio ); + var newHeight = Math.floor( currentHeight * pinchRatio ); + + // This is the translation due to pinch-zooming + var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX; + var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY; + + //Point between the two touches + + var centerPointEndX = ((self.newPoints[0].x + self.newPoints[1].x) / 2) - $(window).scrollLeft(); + var centerPointEndY = ((self.newPoints[0].y + self.newPoints[1].y) / 2) - $(window).scrollTop(); + + // And this is the translation due to translation of the centerpoint + // between the two fingers + + var translateFromTranslatingX = centerPointEndX - self.centerPointStartX; + var translateFromTranslatingY = centerPointEndY - self.centerPointStartY; + + // The new offset is the old/current one plus the total translation + + var newOffsetX = currentOffsetX + ( translateFromZoomingX + translateFromTranslatingX ); + var newOffsetY = currentOffsetY + ( translateFromZoomingY + translateFromTranslatingY ); + + var newPos = { + top : newOffsetY, + left : newOffsetX, + scaleX : self.contentStartPos.scaleX * pinchRatio, + scaleY : self.contentStartPos.scaleY * pinchRatio + }; + + self.canTap = false; + + self.newWidth = newWidth; + self.newHeight = newHeight; + + self.contentLastPos = newPos; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate( self.$content, self.contentLastPos ); + }); + + }; + + Guestures.prototype.ontouchend = function( e ) { + + var self = this; + var dMs = Math.max( (new Date().getTime() ) - self.startTime, 1); + + var swiping = self.isSwiping; + var panning = self.isPanning; + var zooming = self.isZooming; + + self.endPoints = pointers( e ); + + self.$container.removeClass( 'fancybox-controls--isGrabbing' ); + + $(document).off( '.fb.touch' ); + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.isSwiping = false; + self.isPanning = false; + self.isZooming = false; + + if ( self.canTap ) { + return self.onTap( e ); + } + + self.speed = 366; + + // Speed in px/ms + self.velocityX = self.distanceX / dMs * 0.5; + self.velocityY = self.distanceY / dMs * 0.5; + + self.speedX = Math.max( self.speed * 0.5, Math.min( self.speed * 1.5, ( 1 / Math.abs( self.velocityX ) ) * self.speed ) ); + + if ( panning ) { + self.endPanning(); + + } else if ( zooming ) { + self.endZooming(); + + } else { + self.endSwiping( swiping ); + } + + return; + }; + + Guestures.prototype.endSwiping = function( swiping ) { + + var self = this; + var ret = false; + + self.instance.isSliding = false; + self.sliderLastPos = null; + + // Close if swiped vertically / navigate if horizontally + if ( swiping == 'y' && Math.abs( self.distanceY ) > 50 ) { + + // Continue vertical movement + $.fancybox.animate( self.instance.current.$slide, { + top : self.sliderStartPos.top + self.distanceY + ( self.velocityY * 150 ), + opacity : 0 + }, 150 ); + + ret = self.instance.close( true, 300 ); + + } else if ( swiping == 'x' && self.distanceX > 50 && self.instance.group.length > 1 ) { + ret = self.instance.previous( self.speedX ); + + } else if ( swiping == 'x' && self.distanceX < -50 && self.instance.group.length > 1 ) { + ret = self.instance.next( self.speedX ); + } + + if ( ret === false && ( swiping == 'x' || swiping == 'y' ) ) { + self.instance.jumpTo( self.instance.current.index, 150 ); + } + + self.$container.removeClass( 'fancybox-is-sliding' ); + + }; + + // Limit panning from edges + // ======================== + + Guestures.prototype.endPanning = function() { + + var self = this; + var newOffsetX, newOffsetY, newPos; + + if ( !self.contentLastPos ) { + return; + } + + if ( self.instance.current.opts.touch.momentum === false ) { + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + } else { + + // Continue movement + newOffsetX = self.contentLastPos.left + ( self.velocityX * self.speed ); + newOffsetY = self.contentLastPos.top + ( self.velocityY * self.speed ); + } + + newPos = self.limitPosition( newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height ); + + newPos.width = self.contentStartPos.width; + newPos.height = self.contentStartPos.height; + + $.fancybox.animate( self.$content, newPos, 330 ); + }; + + + Guestures.prototype.endZooming = function() { + + var self = this; + + var current = self.instance.current; + + var newOffsetX, newOffsetY, newPos, reset; + + var newWidth = self.newWidth; + var newHeight = self.newHeight; + + if ( !self.contentLastPos ) { + return; + } + + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + reset = { + top : newOffsetY, + left : newOffsetX, + width : newWidth, + height : newHeight, + scaleX : 1, + scaleY : 1 + }; + + // Reset scalex/scaleY values; this helps for perfomance and does not break animation + $.fancybox.setTranslate( self.$content, reset ); + + if ( newWidth < self.canvasWidth && newHeight < self.canvasHeight ) { + self.instance.scaleToFit( 150 ); + + } else if ( newWidth > current.width || newHeight > current.height ) { + self.instance.scaleToActual( self.centerPointStartX, self.centerPointStartY, 150 ); + + } else { + + newPos = self.limitPosition( newOffsetX, newOffsetY, newWidth, newHeight ); + + // Switch from scale() to width/height or animation will not work correctly + $.fancybox.setTranslate( self.content, $.fancybox.getTranslate( self.$content ) ); + + $.fancybox.animate( self.$content, newPos, 150 ); + } + + }; + + Guestures.prototype.onTap = function(e) { + var self = this; + var $target = $( e.target ); + + var instance = self.instance; + var current = instance.current; + + var endPoints = ( e && pointers( e ) ) || self.startPoints; + + var tapX = endPoints[0] ? endPoints[0].x - self.$stage.offset().left : 0; + var tapY = endPoints[0] ? endPoints[0].y - self.$stage.offset().top : 0; + + var where; + + var process = function ( prefix ) { + + var action = current.opts[ prefix ]; + + if ( $.isFunction( action ) ) { + action = action.apply( instance, [ current, e ] ); + } + + if ( !action) { + return; + } + + switch ( action ) { + + case "close" : + + instance.close( self.startEvent ); + + break; + + case "toggleControls" : + + instance.toggleControls( true ); + + break; + + case "next" : + + instance.next(); + + break; + + case "nextOrClose" : + + if ( instance.group.length > 1 ) { + instance.next(); + + } else { + instance.close( self.startEvent ); + } + + break; + + case "zoom" : + + if ( current.type == 'image' && ( current.isLoaded || current.$ghost ) ) { + + if ( instance.canPan() ) { + instance.scaleToFit(); + + } else if ( instance.isScaledDown() ) { + instance.scaleToActual( tapX, tapY ); + + } else if ( instance.group.length < 2 ) { + instance.close( self.startEvent ); + } + } + + break; + } + + }; + + // Ignore right click + if ( e.originalEvent && e.originalEvent.button == 2 ) { + return; + } + + // Skip if current slide is not in the center + if ( instance.isSliding ) { + return; + } + + // Skip if clicked on the scrollbar + if ( tapX > $target[0].clientWidth + $target.offset().left ) { + return; + } + + // Check where is clicked + if ( $target.is( '.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container' ) ) { + where = 'Outside'; + + } else if ( $target.is( '.fancybox-slide' ) ) { + where = 'Slide'; + + } else if ( instance.current.$content && instance.current.$content.has( e.target ).length ) { + where = 'Content'; + + } else { + return; + } + + // Check if this is a double tap + if ( self.tapped ) { + + // Stop previously created single tap + clearTimeout( self.tapped ); + self.tapped = null; + + // Skip if distance between taps is too big + if ( Math.abs( tapX - self.tapX ) > 50 || Math.abs( tapY - self.tapY ) > 50 || instance.isSliding ) { + return this; + } + + // OK, now we assume that this is a double-tap + process( 'dblclick' + where ); + + } else { + + // Single tap will be processed if user has not clicked second time within 300ms + // or there is no need to wait for double-tap + self.tapX = tapX; + self.tapY = tapY; + + if ( current.opts[ 'dblclick' + where ] && current.opts[ 'dblclick' + where ] !== current.opts[ 'click' + where ] ) { + self.tapped = setTimeout(function() { + self.tapped = null; + + process( 'click' + where ); + + }, 300); + + } else { + process( 'click' + where ); + } + + } + + return this; + }; + + $(document).on('onActivate.fb', function (e, instance) { + if ( instance && !instance.Guestures ) { + instance.Guestures = new Guestures( instance ); + } + }); + + $(document).on('beforeClose.fb', function (e, instance) { + if ( instance && instance.Guestures ) { + instance.Guestures.destroy(); + } + }); + + +}(window, document, window.jQuery)); + +// ========================================================================== +// +// SlideShow +// Enables slideshow functionality +// +// Example of usage: +// $.fancybox.getInstance().SlideShow.start() +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + var SlideShow = function( instance ) { + this.instance = instance; + this.init(); + }; + + $.extend( SlideShow.prototype, { + timer : null, + isActive : false, + $button : null, + speed : 3000, + + init : function() { + var self = this; + + self.$button = self.instance.$refs.toolbar.find('[data-fancybox-play]').on('click', function() { + self.toggle(); + }); + + if ( self.instance.group.length < 2 || !self.instance.group[ self.instance.currIndex ].opts.slideShow ) { + self.$button.hide(); + } + }, + + set : function() { + var self = this; + + // Check if reached last element + if ( self.instance && self.instance.current && (self.instance.current.opts.loop || self.instance.currIndex < self.instance.group.length - 1 )) { + self.timer = setTimeout(function() { + self.instance.next(); + + }, self.instance.current.opts.slideShow.speed || self.speed); + + } else { + self.stop(); + self.instance.idleSecondsCounter = 0; + self.instance.showControls(); + } + + }, + + clear : function() { + var self = this; + + clearTimeout( self.timer ); + + self.timer = null; + }, + + start : function() { + var self = this; + var current = self.instance.current; + + if ( self.instance && current && ( current.opts.loop || current.index < self.instance.group.length - 1 )) { + + self.isActive = true; + + self.$button + .attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_STOP ) + .addClass( 'fancybox-button--pause' ); + + if ( current.isComplete ) { + self.set(); + } + } + }, + + stop : function() { + var self = this; + var current = self.instance.current; + + self.clear(); + + self.$button + .attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_START ) + .removeClass( 'fancybox-button--pause' ); + + self.isActive = false; + }, + + toggle : function() { + var self = this; + + if ( self.isActive ) { + self.stop(); + + } else { + self.start(); + } + } + + }); + + $(document).on({ + 'onInit.fb' : function(e, instance) { + if ( instance && !instance.SlideShow ) { + instance.SlideShow = new SlideShow( instance ); + } + }, + + 'beforeShow.fb' : function(e, instance, current, firstRun) { + var SlideShow = instance && instance.SlideShow; + + if ( firstRun ) { + + if ( SlideShow && current.opts.slideShow.autoStart ) { + SlideShow.start(); + } + + } else if ( SlideShow && SlideShow.isActive ) { + SlideShow.clear(); + } + }, + + 'afterShow.fb' : function(e, instance, current) { + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow && SlideShow.isActive ) { + SlideShow.set(); + } + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + var SlideShow = instance && instance.SlideShow; + + // "P" or Spacebar + if ( SlideShow && current.opts.slideShow && ( keycode === 80 || keycode === 32 ) && !$(document.activeElement).is( 'button,a,input' ) ) { + keypress.preventDefault(); + + SlideShow.toggle(); + } + }, + + 'beforeClose.fb onDeactivate.fb' : function(e, instance) { + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow ) { + SlideShow.stop(); + } + } + }); + + // Page Visibility API to pause slideshow when window is not active + $(document).on("visibilitychange", function() { + var instance = $.fancybox.getInstance(); + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow && SlideShow.isActive ) { + if ( document.hidden ) { + SlideShow.clear(); + + } else { + SlideShow.set(); + } + } + }); + +}(document, window.jQuery)); + +// ========================================================================== +// +// FullScreen +// Adds fullscreen functionality +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + // Collection of methods supported by user browser + var fn = (function () { + + var fnMap = [ + [ + 'requestFullscreen', + 'exitFullscreen', + 'fullscreenElement', + 'fullscreenEnabled', + 'fullscreenchange', + 'fullscreenerror' + ], + // new WebKit + [ + 'webkitRequestFullscreen', + 'webkitExitFullscreen', + 'webkitFullscreenElement', + 'webkitFullscreenEnabled', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + // old WebKit (Safari 5.1) + [ + 'webkitRequestFullScreen', + 'webkitCancelFullScreen', + 'webkitCurrentFullScreenElement', + 'webkitCancelFullScreen', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + [ + 'mozRequestFullScreen', + 'mozCancelFullScreen', + 'mozFullScreenElement', + 'mozFullScreenEnabled', + 'mozfullscreenchange', + 'mozfullscreenerror' + ], + [ + 'msRequestFullscreen', + 'msExitFullscreen', + 'msFullscreenElement', + 'msFullscreenEnabled', + 'MSFullscreenChange', + 'MSFullscreenError' + ] + ]; + + var val; + var ret = {}; + var i, j; + + for ( i = 0; i < fnMap.length; i++ ) { + val = fnMap[ i ]; + + if ( val && val[ 1 ] in document ) { + for ( j = 0; j < val.length; j++ ) { + ret[ fnMap[ 0 ][ j ] ] = val[ j ]; + } + + return ret; + } + } + + return false; + })(); + + // If browser does not have Full Screen API, then simply unset default button template and stop + if ( !fn ) { + $.fancybox.defaults.btnTpl.fullScreen = false; + + return; + } + + var FullScreen = { + request : function ( elem ) { + + elem = elem || document.documentElement; + + elem[ fn.requestFullscreen ]( elem.ALLOW_KEYBOARD_INPUT ); + + }, + exit : function () { + + document[ fn.exitFullscreen ](); + + }, + toggle : function ( elem ) { + + elem = elem || document.documentElement; + + if ( this.isFullscreen() ) { + this.exit(); + + } else { + this.request( elem ); + } + + }, + isFullscreen : function() { + + return Boolean( document[ fn.fullscreenElement ] ); + + }, + enabled : function() { + + return Boolean( document[ fn.fullscreenEnabled ] ); + + } + }; + + $(document).on({ + 'onInit.fb' : function(e, instance) { + var $container; + + var $button = instance.$refs.toolbar.find('[data-fancybox-fullscreen]'); + + if ( instance && !instance.FullScreen && instance.group[ instance.currIndex ].opts.fullScreen ) { + $container = instance.$refs.container; + + $container.on('click.fb-fullscreen', '[data-fancybox-fullscreen]', function(e) { + + e.stopPropagation(); + e.preventDefault(); + + FullScreen.toggle( $container[ 0 ] ); + + }); + + if ( instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true ) { + FullScreen.request( $container[ 0 ] ); + } + + // Expose API + instance.FullScreen = FullScreen; + + } else { + $button.hide(); + } + + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + + // "P" or Spacebar + if ( instance && instance.FullScreen && keycode === 70 ) { + keypress.preventDefault(); + + instance.FullScreen.toggle( instance.$refs.container[ 0 ] ); + } + + }, + + 'beforeClose.fb' : function( instance ) { + if ( instance && instance.FullScreen ) { + FullScreen.exit(); + } + } + }); + + $(document).on(fn.fullscreenchange, function() { + var instance = $.fancybox.getInstance(); + + // If image is zooming, then force to stop and reposition properly + if ( instance.current && instance.current.type === 'image' && instance.isAnimating ) { + instance.current.$content.css( 'transition', 'none' ); + + instance.isAnimating = false; + + instance.update( true, true, 0 ); + } + + }); + +}(document, window.jQuery)); + +// ========================================================================== +// +// Thumbs +// Displays thumbnails in a grid +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + var FancyThumbs = function( instance ) { + this.instance = instance; + this.init(); + }; + + $.extend( FancyThumbs.prototype, { + + $button : null, + $grid : null, + $list : null, + isVisible : false, + + init : function() { + var self = this; + + var first = self.instance.group[0], + second = self.instance.group[1]; + + self.$button = self.instance.$refs.toolbar.find( '[data-fancybox-thumbs]' ); + + if ( self.instance.group.length > 1 && self.instance.group[ self.instance.currIndex ].opts.thumbs && ( + ( first.type == 'image' || first.opts.thumb || first.opts.$thumb ) && + ( second.type == 'image' || second.opts.thumb || second.opts.$thumb ) + )) { + + self.$button.on('click', function() { + self.toggle(); + }); + + self.isActive = true; + + } else { + self.$button.hide(); + + self.isActive = false; + } + + }, + + create : function() { + var instance = this.instance, + list, + src; + + this.$grid = $('
').appendTo( instance.$refs.container ); + + list = '
    '; + + $.each(instance.group, function( i, item ) { + + src = item.opts.thumb || ( item.opts.$thumb ? item.opts.$thumb.attr('src') : null ); + + if ( !src && item.type === 'image' ) { + src = item.src; + } + + if ( src && src.length ) { + list += '
  • '; + } + + }); + + list += '
'; + + this.$list = $( list ).appendTo( this.$grid ).on('click', 'li', function() { + instance.jumpTo( $(this).data('index') ); + }); + + this.$list.find('img').hide().one('load', function() { + + var $parent = $(this).parent().removeClass('fancybox-thumbs-loading'), + thumbWidth = $parent.outerWidth(), + thumbHeight = $parent.outerHeight(), + width, + height, + widthRatio, + heightRatio; + + width = this.naturalWidth || this.width; + height = this.naturalHeight || this.height; + + //Calculate thumbnail width/height and center it + + widthRatio = width / thumbWidth; + heightRatio = height / thumbHeight; + + if (widthRatio >= 1 && heightRatio >= 1) { + if (widthRatio > heightRatio) { + width = width / heightRatio; + height = thumbHeight; + + } else { + width = thumbWidth; + height = height / widthRatio; + } + } + + $(this).css({ + width : Math.floor(width), + height : Math.floor(height), + 'margin-top' : Math.min( 0, Math.floor(thumbHeight * 0.3 - height * 0.3 ) ), + 'margin-left' : Math.min( 0, Math.floor(thumbWidth * 0.5 - width * 0.5 ) ) + }).show(); + + }) + .each(function() { + this.src = $( this ).data( 'src' ); + }); + + }, + + focus : function() { + + if ( this.instance.current ) { + this.$list + .children() + .removeClass('fancybox-thumbs-active') + .filter('[data-index="' + this.instance.current.index + '"]') + .addClass('fancybox-thumbs-active') + .focus(); + } + + }, + + close : function() { + this.$grid.hide(); + }, + + update : function() { + + this.instance.$refs.container.toggleClass( 'fancybox-show-thumbs', this.isVisible ); + + if ( this.isVisible ) { + + if ( !this.$grid ) { + this.create(); + } + + this.instance.trigger( 'onThumbsShow' ); + + this.focus(); + + } else if ( this.$grid ) { + this.instance.trigger( 'onThumbsHide' ); + } + + // Update content position + this.instance.update(); + + }, + + hide : function() { + this.isVisible = false; + this.update(); + }, + + show : function() { + this.isVisible = true; + this.update(); + }, + + toggle : function() { + this.isVisible = !this.isVisible; + this.update(); + } + + }); + + $(document).on({ + + 'onInit.fb' : function(e, instance) { + if ( instance && !instance.Thumbs ) { + instance.Thumbs = new FancyThumbs( instance ); + } + }, + + 'beforeShow.fb' : function(e, instance, item, firstRun) { + var Thumbs = instance && instance.Thumbs; + + if ( !Thumbs || !Thumbs.isActive ) { + return; + } + + if ( item.modal ) { + Thumbs.$button.hide(); + + Thumbs.hide(); + + return; + } + + if ( firstRun && instance.opts.thumbs.autoStart === true ) { + Thumbs.show(); + } + + if ( Thumbs.isVisible ) { + Thumbs.focus(); + } + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + var Thumbs = instance && instance.Thumbs; + + // "G" + if ( Thumbs && Thumbs.isActive && keycode === 71 ) { + keypress.preventDefault(); + + Thumbs.toggle(); + } + }, + + 'beforeClose.fb' : function( e, instance ) { + var Thumbs = instance && instance.Thumbs; + + if ( Thumbs && Thumbs.isVisible && instance.opts.thumbs.hideOnClose !== false ) { + Thumbs.close(); + } + } + + }); + +}(document, window.jQuery)); + +// ========================================================================== +// +// Hash +// Enables linking to each modal +// +// ========================================================================== +;(function (document, window, $) { + 'use strict'; + + // Simple $.escapeSelector polyfill (for jQuery prior v3) + if ( !$.escapeSelector ) { + $.escapeSelector = function( sel ) { + var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + var fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }; + + return ( sel + "" ).replace( rcssescape, fcssescape ); + }; + } + + // Create new history entry only once + var shouldCreateHistory = true; + + // Variable containing last hash value set by fancyBox + // It will be used to determine if fancyBox needs to close after hash change is detected + var currentHash = null; + + // Throttling the history change + var timerID = null; + + // Get info about gallery name and current index from url + function parseUrl() { + var hash = window.location.hash.substr( 1 ); + var rez = hash.split( '-' ); + var index = rez.length > 1 && /^\+?\d+$/.test( rez[ rez.length - 1 ] ) ? parseInt( rez.pop( -1 ), 10 ) || 1 : 1; + var gallery = rez.join( '-' ); + + // Index is starting from 1 + if ( index < 1 ) { + index = 1; + } + + return { + hash : hash, + index : index, + gallery : gallery + }; + } + + // Trigger click evnt on links to open new fancyBox instance + function triggerFromUrl( url ) { + var $el; + + if ( url.gallery !== '' ) { + + // If we can find element matching 'data-fancybox' atribute, then trigger click event for that .. + $el = $( "[data-fancybox='" + $.escapeSelector( url.gallery ) + "']" ).eq( url.index - 1 ); + + if ( !$el.length ) { + // .. if not, try finding element by ID + $el = $( "#" + $.escapeSelector( url.gallery ) + "" ); + } + + if ( $el.length ) { + shouldCreateHistory = false; + + $el.trigger( 'click' ); + } + + } + } + + // Get gallery name from current instance + function getGallery( instance ) { + var opts; + + if ( !instance ) { + return false; + } + + opts = instance.current ? instance.current.opts : instance.opts; + + return opts.$orig ? opts.$orig.data( 'fancybox' ) : ( opts.hash || '' ); + } + + // Star when DOM becomes ready + $(function() { + + // Small delay is used to allow other scripts to process "dom ready" event + setTimeout(function() { + + // Check if this module is not disabled + if ( $.fancybox.defaults.hash === false ) { + return; + } + + // Update hash when opening/closing fancyBox + $(document).on({ + 'onInit.fb' : function( e, instance ) { + var url, gallery; + + if ( instance.group[ instance.currIndex ].opts.hash === false ) { + return; + } + + url = parseUrl(); + gallery = getGallery( instance ); + + // Make sure gallery start index matches index from hash + if ( gallery && url.gallery && gallery == url.gallery ) { + instance.currIndex = url.index - 1; + } + + }, + + 'beforeShow.fb' : function( e, instance, current ) { + var gallery; + + if ( current.opts.hash === false ) { + return; + } + + gallery = getGallery( instance ); + + // Update window hash + if ( gallery && gallery !== '' ) { + + if ( window.location.hash.indexOf( gallery ) < 0 ) { + instance.opts.origHash = window.location.hash; + } + + currentHash = gallery + ( instance.group.length > 1 ? '-' + ( current.index + 1 ) : '' ); + + if ( 'replaceState' in window.history ) { + if ( timerID ) { + clearTimeout( timerID ); + } + + timerID = setTimeout(function() { + window.history[ shouldCreateHistory ? 'pushState' : 'replaceState' ]( {} , document.title, window.location.pathname + window.location.search + '#' + currentHash ); + + timerID = null; + + shouldCreateHistory = false; + + }, 300); + + } else { + window.location.hash = currentHash; + } + + } + + }, + + 'beforeClose.fb' : function( e, instance, current ) { + var gallery, origHash; + + if ( timerID ) { + clearTimeout( timerID ); + } + + if ( current.opts.hash === false ) { + return; + } + + gallery = getGallery( instance ); + origHash = instance && instance.opts.origHash ? instance.opts.origHash : ''; + + // Remove hash from location bar + if ( gallery && gallery !== '' ) { + + if ( 'replaceState' in history ) { + window.history.replaceState( {} , document.title, window.location.pathname + window.location.search + origHash ); + + } else { + window.location.hash = origHash; + + // Keep original scroll position + $( window ).scrollTop( instance.scrollTop ).scrollLeft( instance.scrollLeft ); + } + } + + currentHash = null; + } + }); + + // Check if need to close after url has changed + $(window).on('hashchange.fb', function() { + var url = parseUrl(); + + if ( $.fancybox.getInstance() ) { + if ( currentHash && currentHash !== url.gallery + '-' + url.index && !( url.index === 1 && currentHash == url.gallery ) ) { + currentHash = null; + + $.fancybox.close(); + + shouldCreateHistory = true; + } + + } else if ( url.gallery !== '' ) { + triggerFromUrl( url ); + } + }); + + // Check current hash and trigger click event on matching element to start fancyBox, if needed + triggerFromUrl( parseUrl() ); + + }, 50); + + }); + + +}(document, window, window.jQuery)); diff --git a/fancybox/dist/jquery.fancybox.min.css b/fancybox/dist/jquery.fancybox.min.css new file mode 100644 index 0000000..ab39c7a --- /dev/null +++ b/fancybox/dist/jquery.fancybox.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.fancybox-enabled{overflow:hidden}.fancybox-enabled body{overflow:visible;height:100%}.fancybox-is-hidden{position:absolute;top:-9999px;left:-9999px;visibility:hidden}.fancybox-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99993;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-container~.fancybox-container{z-index:99992}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{position:absolute;top:0;right:0;bottom:0;left:0}.fancybox-outer{overflow-y:auto;-webkit-overflow-scrolling:touch}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.87;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption-wrap,.fancybox-infobar,.fancybox-toolbar{position:absolute;direction:ltr;z-index:99997;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s;box-sizing:border-box}.fancybox-show-caption .fancybox-caption-wrap,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;visibility:visible;transition:opacity .25s,visibility 0s}.fancybox-infobar{top:0;left:50%;margin-left:-79px}.fancybox-infobar__body{display:inline-block;width:70px;line-height:44px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-align:center;color:#ddd;background-color:rgba(30,30,30,.7);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}.fancybox-toolbar{top:0;right:0}.fancybox-stage{overflow:hidden;direction:ltr;z-index:99994;-webkit-transform:translateZ(0)}.fancybox-slide{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:auto;outline:none;white-space:normal;box-sizing:border-box;text-align:center;z-index:99994;-webkit-overflow-scrolling:touch;display:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.fancybox-slide:before{content:"";display:inline-block;vertical-align:middle;height:100%;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:visible}.fancybox-slide--image:before{display:none}.fancybox-slide--video .fancybox-content,.fancybox-slide--video iframe{background:#000}.fancybox-slide--map .fancybox-content,.fancybox-slide--map iframe{background:#e5e3df}.fancybox-slide--next{z-index:99995}.fancybox-slide>*{display:inline-block;position:relative;padding:24px;margin:44px 0;border-width:0;vertical-align:middle;text-align:left;background-color:#fff;overflow:auto;box-sizing:border-box}.fancybox-slide .fancybox-image-wrap{position:absolute;top:0;left:0;margin:0;padding:0;border:0;z-index:99995;background:transparent;cursor:default;overflow:visible;-webkit-transform-origin:top left;transform-origin:top left;background-size:100% 100%;background-repeat:no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden}.fancybox-can-zoomOut .fancybox-image-wrap{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-image-wrap{cursor:zoom-in}.fancybox-can-drag .fancybox-image-wrap{cursor:-webkit-grab;cursor:grab}.fancybox-is-dragging .fancybox-image-wrap{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-image,.fancybox-spaceball{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;max-width:none;max-height:none}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content{padding:0;width:80%;height:80%;max-width:calc(100% - 100px);max-height:calc(100% - 88px);overflow:visible;background:#fff}.fancybox-iframe{display:block;padding:0;border:0;height:100%}.fancybox-error,.fancybox-iframe{margin:0;width:100%;background:#fff}.fancybox-error{padding:40px;max-width:380px;cursor:default}.fancybox-error p{margin:0;padding:0;color:#444;font:16px/20px Helvetica Neue,Helvetica,Arial,sans-serif}.fancybox-close-small{position:absolute;top:0;right:0;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:0;outline:none;background:transparent;z-index:10;cursor:pointer}.fancybox-close-small:after{content:"×";position:absolute;top:5px;right:5px;width:30px;height:30px;font:20px/30px Arial,Helvetica Neue,Helvetica,sans-serif;color:#888;font-weight:300;text-align:center;border-radius:50%;border-width:0;background:#fff;transition:background .25s;box-sizing:border-box;z-index:2}.fancybox-close-small:focus:after{outline:1px dotted #888}.fancybox-close-small:hover:after{color:#555;background:#eee}.fancybox-slide--iframe .fancybox-close-small{top:0;right:-44px}.fancybox-slide--iframe .fancybox-close-small:after{background:transparent;font-size:35px;color:#aaa}.fancybox-slide--iframe .fancybox-close-small:hover:after{color:#fff}.fancybox-caption-wrap{bottom:0;left:0;right:0;padding:60px 30px 0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.1) 20%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.6) 80%,rgba(0,0,0,.8));pointer-events:none}.fancybox-caption{padding:30px 0;border-top:1px solid hsla(0,0%,100%,.4);font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;line-height:20px;-webkit-text-size-adjust:none}.fancybox-caption a,.fancybox-caption button,.fancybox-caption select{pointer-events:all}.fancybox-caption a{color:#fff;text-decoration:underline}.fancybox-button{display:inline-block;position:relative;margin:0;padding:0;border:0;width:44px;height:44px;line-height:44px;text-align:center;background:transparent;color:#ddd;border-radius:0;cursor:pointer;vertical-align:top;outline:none}.fancybox-button[disabled]{cursor:default;pointer-events:none}.fancybox-button,.fancybox-infobar__body{background:rgba(30,30,30,.6)}.fancybox-button:hover:not([disabled]){color:#fff;background:rgba(0,0,0,.8)}.fancybox-button:after,.fancybox-button:before{content:"";pointer-events:none;position:absolute;background-color:currentColor;color:currentColor;opacity:.9;box-sizing:border-box;display:inline-block}.fancybox-button[disabled]:after,.fancybox-button[disabled]:before{opacity:.3}.fancybox-button--left:after,.fancybox-button--right:after{top:18px;width:6px;height:6px;background:transparent;border-top:2px solid currentColor;border-right:2px solid currentColor}.fancybox-button--left:after{left:20px;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.fancybox-button--right:after{right:20px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.fancybox-button--left{border-bottom-left-radius:5px}.fancybox-button--right{border-bottom-right-radius:5px}.fancybox-button--close:after,.fancybox-button--close:before{content:"";display:inline-block;position:absolute;height:2px;width:16px;top:calc(50% - 1px);left:calc(50% - 8px)}.fancybox-button--close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.fancybox-button--close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.fancybox-arrow{position:absolute;top:50%;margin:-50px 0 0;height:100px;width:54px;padding:0;border:0;outline:none;background:none;cursor:pointer;z-index:99995;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .25s}.fancybox-arrow:after{content:"";position:absolute;top:28px;width:44px;height:44px;background-color:rgba(30,30,30,.8);background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);background-repeat:no-repeat;background-position:50%;background-size:24px 24px}.fancybox-arrow--right{right:0}.fancybox-arrow--left{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fancybox-arrow--left:after,.fancybox-arrow--right:after{left:0}.fancybox-show-nav .fancybox-arrow{opacity:.6}.fancybox-show-nav .fancybox-arrow[disabled]{opacity:.3}.fancybox-loading{border:6px solid hsla(0,0%,39%,.4);border-top:6px solid hsla(0,0%,100%,.6);border-radius:100%;height:50px;width:50px;-webkit-animation:a .8s infinite linear;animation:a .8s infinite linear;background:transparent;position:absolute;top:50%;left:50%;margin-top:-25px;margin-left:-25px;z-index:99999}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:0}.fancybox-fx-slide.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:0}.fancybox-fx-slide.fancybox-slide--current{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--next{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--current{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}.fancybox-fx-rotate.fancybox-slide--previous{-webkit-transform:rotate(-1turn);transform:rotate(-1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--next{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--current{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.fancybox-fx-circular.fancybox-slide--previous{-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0);opacity:0}.fancybox-fx-circular.fancybox-slide--next{-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0);opacity:0}.fancybox-fx-circular.fancybox-slide--current{-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0);opacity:1}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-width:800px){.fancybox-infobar{left:0;margin-left:0}.fancybox-button--left,.fancybox-button--right{display:none!important}.fancybox-caption{padding:20px 0;margin:0}}.fancybox-button--fullscreen:before{width:15px;height:11px;left:calc(50% - 7px);top:calc(50% - 6px);border:2px solid;background:none}.fancybox-button--pause:before,.fancybox-button--play:before{top:calc(50% - 6px);left:calc(50% - 4px);background:transparent}.fancybox-button--play:before{width:0;height:0;border-top:6px inset transparent;border-bottom:6px inset transparent;border-left:10px solid;border-radius:1px}.fancybox-button--pause:before{width:7px;height:11px;border-style:solid;border-width:0 2px}.fancybox-button--thumbs,.fancybox-thumbs{display:none}@media (min-width:800px){.fancybox-button--thumbs{display:inline-block}.fancybox-button--thumbs span{font-size:23px}.fancybox-button--thumbs:before{width:3px;height:3px;top:calc(50% - 2px);left:calc(50% - 2px);box-shadow:0 -4px 0,-4px -4px 0,4px -4px 0,inset 0 0 0 32px,-4px 0 0,4px 0 0,0 4px 0,-4px 4px 0,4px 4px 0}.fancybox-thumbs{position:absolute;top:0;right:0;bottom:0;left:auto;width:220px;margin:0;padding:5px 5px 0 0;background:#fff;word-break:normal;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;box-sizing:border-box;z-index:99995}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:220px}.fancybox-thumbs>ul{list-style:none;position:absolute;position:relative;width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-size:0}.fancybox-thumbs>ul>li{float:left;overflow:hidden;max-width:50%;padding:0;margin:0;width:105px;height:75px;position:relative;cursor:pointer;outline:none;border:5px solid transparent;border-top-width:0;border-right-width:0;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}li.fancybox-thumbs-loading{background:rgba(0,0,0,.1)}.fancybox-thumbs>ul>li>img{position:absolute;top:0;left:0;min-width:100%;min-height:100%;max-width:none;max-height:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-thumbs>ul>li:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;border:4px solid #4ea7f9;z-index:99991;opacity:0;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.fancybox-thumbs>ul>li.fancybox-thumbs-active:before{opacity:1}} \ No newline at end of file diff --git a/fancybox/dist/jquery.fancybox.min.js b/fancybox/dist/jquery.fancybox.min.js new file mode 100644 index 0000000..ab95714 --- /dev/null +++ b/fancybox/dist/jquery.fancybox.min.js @@ -0,0 +1,12 @@ +// ================================================== +// fancyBox v3.1.24 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2017 fancyApps +// +// ================================================== +!function(t,e,n,o){"use strict";function i(t){var e=t.currentTarget,o=t.data?t.data.options:{},i=o.selector?n(o.selector):t.data?t.data.items:[],a=n(e).attr("data-fancybox")||"",s=0,r=n.fancybox.getInstance();t.preventDefault(),t.stopPropagation(),r&&r.current.opts.$orig.is(e)||(a?(i=i.length?i.filter('[data-fancybox="'+a+'"]'):n('[data-fancybox="'+a+'"]'),s=i.index(e),s<0&&(s=0)):i=[e],n.fancybox.open(i,o,s))}if(n){if(n.fn.fancybox)return void n.error("fancyBox already initialized");var a={loop:!1,margin:[44,0],gutter:50,keyboard:!0,arrows:!0,infobar:!1,toolbar:!0,buttons:["slideShow","fullScreen","thumbs","close"],idleTime:4,smallBtn:"auto",protect:!1,modal:!1,image:{preload:"auto"},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
',errorTpl:'

{{ERROR}}

',btnTpl:{slideShow:'',fullScreen:'',thumbs:'',close:'',smallBtn:''},parentEl:"body",autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:4e3},thumbs:{autoStart:!1,hideOnClose:!0},onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails"},de:{CLOSE:"Schliessen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),d=function(){var t,n=e.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in i)if(n.style[t]!==o)return i[t]}(),f=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,o,i){var s=this;s.opts=n.extend(!0,{index:i},a,o||{}),o&&n.isArray(o.buttons)&&(s.opts.buttons=o.buttons),s.id=s.opts.id||++c,s.group=[],s.currIndex=parseInt(s.opts.index,10)||0,s.prevIndex=null,s.prevPos=null,s.currPos=0,s.firstRun=null,s.createGroup(t),s.group.length&&(s.$lastFocus=n(e.activeElement).blur(),s.slides={},s.init(t))};n.extend(h.prototype,{init:function(){var t,e,o,i=this,a=i.group[i.currIndex].opts;i.scrollTop=r.scrollTop(),i.scrollLeft=r.scrollLeft(),n.fancybox.getInstance()||n.fancybox.isMobile||"hidden"===n("body").css("overflow")||(t=n("body").width(),n("html").addClass("fancybox-enabled"),t=n("body").width()-t,t>1&&n("head").append('")),o="",n.each(a.buttons,function(t,e){o+=a.btnTpl[e]||""}),e=n(i.translate(i,a.baseTpl.replace("{{BUTTONS}}",o))).addClass("fancybox-is-hidden").attr("id","fancybox-container-"+i.id).addClass(a.baseClass).data("FancyBox",i).prependTo(a.parentEl),i.$refs={container:e},["bg","inner","infobar","toolbar","stage","caption"].forEach(function(t){i.$refs[t]=e.find(".fancybox-"+t)}),(!a.arrows||i.group.length<2)&&e.find(".fancybox-navigation").remove(),a.infobar||i.$refs.infobar.remove(),a.toolbar||i.$refs.toolbar.remove(),i.trigger("onInit"),i.activate(),i.jumpTo(i.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang];return e.replace(/\{\{(\w+)\}\}/g,function(t,e){var i=n[e];return i===o?t:i})},createGroup:function(t){var e=this,i=n.makeArray(t);n.each(i,function(t,i){var a,s,r,c,l={},u={},d=[];n.isPlainObject(i)?(l=i,u=i.opts||i):"object"===n.type(i)&&n(i).length?(a=n(i),d=a.data(),u="options"in d?d.options:{},u="object"===n.type(u)?u:{},l.src="src"in d?d.src:u.src||a.attr("href"),["width","height","thumb","type","filter"].forEach(function(t){t in d&&(u[t]=d[t])}),"srcset"in d&&(u.image={srcset:d.srcset}),u.$orig=a,l.type||l.src||(l.type="inline",l.src=i)):l={type:"html",src:i+""},l.opts=n.extend(!0,{},e.opts,u),n.fancybox.isMobile&&(l.opts=n.extend(!0,{},l.opts,l.opts.mobile)),s=l.type||l.opts.type,r=l.src||"",!s&&r&&(r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?s="image":r.match(/\.(pdf)((\?|#).*)?$/i)?s="pdf":"#"===r.charAt(0)&&(s="inline")),l.type=s,l.index=e.group.length,l.opts.$orig&&!l.opts.$orig.length&&delete l.opts.$orig,!l.opts.$thumb&&l.opts.$orig&&(l.opts.$thumb=l.opts.$orig.find("img:first")),l.opts.$thumb&&!l.opts.$thumb.length&&delete l.opts.$thumb,"function"===n.type(l.opts.caption)?l.opts.caption=l.opts.caption.apply(i,[e,l]):"caption"in d&&(l.opts.caption=d.caption),l.opts.caption=l.opts.caption===o?"":l.opts.caption+"","ajax"===s&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),"auto"==l.opts.smallBtn&&(n.inArray(s,["html","inline","ajax"])>-1?(l.opts.toolbar=!1,l.opts.smallBtn=!0):l.opts.smallBtn=!1),"pdf"===s&&(l.type="iframe",l.opts.iframe.preload=!1),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),e.group.push(l)})},addEvents:function(){var o=this;o.removeEvents(),o.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),o.close(t)}).on("click.fb-prev touchend.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),o.previous()}).on("click.fb-next touchend.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),o.next()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?u(function(){o.update()}):(o.$refs.stage.hide(),setTimeout(function(){o.$refs.stage.show(),o.update()},500))}),r.on("focusin.fb",function(t){var i=n.fancybox?n.fancybox.getInstance():null;i.isClosing||!i.current||!i.current.opts.trapFocus||n(t.target).hasClass("fancybox-container")||n(t.target).is(e)||i&&"fixed"!==n(t.target).css("position")&&!i.$refs.container.has(t.target).length&&(t.stopPropagation(),i.focus(),s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))}),r.on("keydown.fb",function(t){var e=o.current,i=t.keyCode||t.which;if(e&&e.opts.keyboard&&!n(t.target).is("input")&&!n(t.target).is("textarea"))return 8===i||27===i?(t.preventDefault(),void o.close(t)):37===i||38===i?(t.preventDefault(),void o.previous()):39===i||40===i?(t.preventDefault(),void o.next()):void o.trigger("afterKeydown",t,i)}),o.group[o.currIndex].opts.idleTime&&(o.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseenter.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(){o.idleSecondsCounter=0,o.isIdle&&o.showControls(),o.isIdle=!1}),o.idleInterval=t.setInterval(function(){o.idleSecondsCounter++,o.idleSecondsCounter>=o.group[o.currIndex].opts.idleTime&&(o.isIdle=!0,o.idleSecondsCounter=0,o.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("focusin.fb keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e,i){var a,s,r,c,l,u,d,h=this,p=h.group.length;if(!(h.isSliding||h.isClosing||h.isAnimating&&h.firstRun)){if(t=parseInt(t,10),s=h.current?h.current.opts.loop:h.opts.loop,!s&&(t<0||t>=p))return!1;if(a=h.firstRun=null===h.firstRun,!(p<2&&!a&&h.isSliding)){if(c=h.current,h.prevIndex=h.currIndex,h.prevPos=h.currPos,r=h.createSlide(t),p>1&&((s||r.index>0)&&h.createSlide(t-1),(s||r.indexr.pos?"next":"previous"),c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"),c.isComplete=!1,e&&(r.isMoved||r.opts.transitionEffect)&&(r.isMoved?c.$slide.addClass(d):(d="fancybox-animated "+d+" fancybox-fx-"+r.opts.transitionEffect,n.fancybox.animate(c.$slide,d,e,function(){c.$slide.removeClass(d).removeAttr("style")}))))}}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('
').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,i){var a,s,r,c,l,u=this,d=u.current,f=d.$content,h=parseInt(d.$slide.width(),10),p=parseInt(d.$slide.height(),10),g=d.width,b=d.height;"image"!=d.type||d.hasError||!f||u.isAnimating||(n.fancybox.stop(f),u.isAnimating=!0,t=t===o?.5*h:t,e=e===o?.5*p:e,a=n.fancybox.getTranslate(f),c=g/a.width,l=b/a.height,s=.5*h-.5*g,r=.5*p-.5*b,g>h&&(s=a.left*c-(t*c-t),s>0&&(s=0),sp&&(r=a.top*l-(e*l-e),r>0&&(r=0),rt.width||o.height>t.height))},isScaledDown:function(){var t=this,e=t.current,o=e.$content,i=!1;return o&&(i=n.fancybox.getTranslate(o),i=i.width1||Math.abs(n.height()-o.height)>1),o},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){switch(t.isLoading=!0,a.trigger("beforeLoad",t),e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass("fancybox-slide--"+(e||"unknown")).addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(e){var o,i,a,s,r=this,c=e.opts.image.srcset;if(c){a=t.devicePixelRatio||1,s=t.innerWidth*a,i=c.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),i.sort(function(t,e){return t.value-e.value});for(var l=0;l=s||"x"===u.postfix&&u.value>=a){o=u;break}}!o&&i.length&&(o=i[i.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$content=n('
').addClass("fancybox-is-hidden").appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n("").one("error",function(){n(this).remove(),e.$ghost=null,r.setBigImage(e)}).one("load",function(){r.afterLoad(e),r.setBigImage(e)}).addClass("fancybox-image").appendTo(e.$content).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n("");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.hideLoading(t),t.$ghost?t.timouts=setTimeout(function(){t.timouts=null,t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))):e.afterLoad(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),o[0].complete?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},100)},setIframe:function(t){var e,i=this,a=t.opts.iframe,s=t.$slide;t.$content=n('
').css(a.css).appendTo(s),e=n(a.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(a.attr).appendTo(t.$content),a.preload?(i.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),i.afterLoad(t)}),s.on("refresh.fb",function(){var n,i,s,r,c,l=t.$content;if(1===e[0].isReady){try{n=e.contents(),i=n.find("body")}catch(t){}i&&i.length&&(a.css.width===o||a.css.height===o)&&(s=e[0].contentWindow.document.documentElement.scrollWidth,r=Math.ceil(i.outerWidth(!0)+(l.width()-s)),c=Math.ceil(i.outerHeight(!0)),l.css({width:a.css.width===o?r+(l.outerWidth()-l.innerWidth()):a.css.width,height:a.css.height===o?c+(l.outerHeight()-l.innerHeight()):a.css.height})),l.removeClass("fancybox-is-hidden")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn===!0&&t.$content.prepend(i.translate(t,t.opts.btnTpl.smallBtn)),s.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.parent(".fancybox-slide--inline").trigger("onReset"),t.$placeholder=n("
").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
").append(n.trim(e)).contents(),3===e[0].nodeType&&(e=n("
").html(e))),t.opts.filter&&(e=n("
").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){t.$placeholder&&(t.$placeholder.after(e.hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),t.opts.smallBtn&&!t.$smallBtn&&(t.$smallBtn=n(o.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.removeClass("fancybox-slide--"+t.type),this.setContent(t,this.translate(t,t.opts.errorTpl))},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('
').appendTo(t.$content)),e.revealContent(t))},revealContent:function(t){var e,i,a,s,r,c=this,l=t.$slide,u=!1;return e=t.opts[c.firstRun?"animationEffect":"transitionEffect"],a=t.opts[c.firstRun?"animationDuration":"transitionDuration"],a=parseInt(t.forcedDuration===o?a:t.forcedDuration,10),!t.isMoved&&t.pos===c.currPos&&a||(e=!1),"zoom"!==e||t.pos===c.currPos&&a&&"image"===t.type&&!t.hasError&&(u=c.getThumbPos(t))||(e="fade"),"zoom"===e?(r=c.getFitPos(t),r.scaleX=r.width/u.width,r.scaleY=r.height/u.height,delete r.width,delete r.height,s=t.opts.zoomOpacity,"auto"==s&&(s=Math.abs(t.width/t.height-u.width/u.height)>.1),s&&(u.opacity=.1,r.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),u),f(t.$content),void n.fancybox.animate(t.$content,r,a,function(){c.complete()})):(c.updateSlide(t),e?(n.fancybox.stop(l),i="fancybox-animated fancybox-slide--"+(t.pos>c.prevPos?"next":"previous")+" fancybox-fx-"+e,l.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i),t.$content.removeClass("fancybox-is-hidden"),f(l),void n.fancybox.animate(l,"fancybox-slide--current",a,function(e){l.removeClass(i).removeAttr("style"),t.pos===c.currPos&&c.complete()},!0)):(f(l),t.$content.removeClass("fancybox-is-hidden"),void(t.pos===c.currPos&&c.complete())))},getThumbPos:function(o){var i,a=this,s=!1,r=function(e){for(var o,i=e[0],a=i.getBoundingClientRect(),s=[];null!==i.parentElement;)"hidden"!==n(i.parentElement).css("overflow")&&"auto"!==n(i.parentElement).css("overflow")||s.push(i.parentElement.getBoundingClientRect()),i=i.parentElement;return o=s.every(function(t){var e=Math.min(a.right,t.right)-Math.max(a.left,t.left),n=Math.min(a.bottom,t.bottom)-Math.max(a.top,t.top);return e>0&&n>0}),o&&a.bottom>0&&a.right>0&&a.left=t.currPos-1&&o.pos<=t.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.unbind().remove())}),t.slides=i,t.updateCursor(),t.trigger("afterShow"),(n(e.activeElement).is("[disabled]")||o.opts.autoFocus&&"image"!=o.type&&"iframe"!==o.type)&&t.focus())},preload:function(){var t,e,n=this;n.group.length<2||(t=n.slides[n.currPos+1],e=n.slides[n.currPos-1],t&&"image"===t.type&&n.loadSlide(t),e&&"image"===e.type&&n.loadSlide(e))},focus:function(){var t,e=this.current;this.isClosing||(t=e&&e.isComplete?e.$slide.find("button,:input,[tabindex],a").filter(":not([disabled]):visible:first"):null,t=t&&t.length?t:this.$refs.container,t.focus())},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.uid!==t.uid&&!e.isClosing&&e.trigger("onDeactivate")}),t.current&&(t.$refs.container.index()>0&&t.$refs.container.prependTo(e.body),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l=this,f=l.current,h=function(){l.cleanUp(t)};return!l.isClosing&&(l.isClosing=!0,l.trigger("beforeClose",t)===!1?(l.isClosing=!1,u(function(){l.update()}),!1):(l.removeEvents(),f.timouts&&clearTimeout(f.timouts),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.off(d).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),f.$slide.siblings().trigger("onReset").remove(),i&&l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"),l.hideLoading(f),l.hideControls(),l.updateCursor(),"zoom"!==o||t!==!0&&a&&i&&"image"===f.type&&!f.hasError&&(c=l.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),r=n.fancybox.getTranslate(a),r.width=r.width*r.scaleX,r.height=r.height*r.scaleY,s=f.opts.zoomOpacity,"auto"==s&&(s=Math.abs(f.width/f.height-c.width/c.height)>.1),s&&(c.opacity=0),r.scaleX=r.width/c.width,r.scaleY=r.height/c.height,r.width=c.width,r.height=c.height,n.fancybox.setTranslate(f.$content,r),n.fancybox.animate(f.$content,c,i,h),!0):(o&&i?t===!0?setTimeout(h,i):n.fancybox.animate(f.$slide.removeClass("fancybox-slide--current"),"fancybox-animated fancybox-slide--previous fancybox-fx-"+o,i,h):h(),!0)))},cleanUp:function(t){var e,o=this;o.current.$slide.trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.$lastFocus&&o.current.opts.backFocus&&o.$lastFocus.focus(),o.current=null,e=n.fancybox.getInstance(),e?e.activate():(s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),n("html").removeClass("fancybox-enabled"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;return s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),o===!1?o:void("afterClose"===t?r.trigger(t+".fb",i):a.$refs.container.trigger(t+".fb",i))},updateControls:function(t){var e=this,o=e.current,i=o.index,a=o.opts,s=a.caption,r=e.$refs.caption;o.$slide.trigger("refresh"),e.$caption=s&&s.length?r.html(s):null,e.isHiddenControls||e.showControls(),n("[data-fancybox-count]").html(e.group.length),n("[data-fancybox-index]").html(i+1),n("[data-fancybox-prev]").prop("disabled",!a.loop&&i<=0),n("[data-fancybox-next]").prop("disabled",!a.loop&&i>=e.group.length-1)},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.isHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal),t.$caption?n.addClass("fancybox-show-caption "):n.removeClass("fancybox-show-caption")},toggleControls:function(){this.isHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.1.24",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):first').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof h&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new h(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},destroy:function(){this.close(!0),r.off("click.fb-start")},isMobile:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;if(!t||!t.length)return!1;if(e=t.eq(0).css("transform"),e&&e.indexOf("matrix")!==-1?(e=e.split("(")[1],e=e.split(")")[0],e=e.split(",")):e=[],e.length)e=e.length>10?[e[13],e[12],e[0],e[5]]:[e[5],e[4],e[0],e[3]],e=e.map(parseFloat);else{e=[0,0,1,1];var n=/\.*translate\((.*)px,(.*)px\)/i,o=n.exec(t.eq(0).attr("style"));o&&(e[0]=parseFloat(o[2]),e[1]=parseFloat(o[1]))}return{top:e[0],left:e[1],scaleX:e[2],scaleY:e[3],opacity:parseFloat(t.css("opacity")),width:t.width(),height:t.height()}},setTranslate:function(t,e){var n="",i={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(i.transform=n),e.opacity!==o&&(i.opacity=e.opacity),e.width!==o&&(i.width=e.width),e.height!==o&&(i.height=e.height),t.css(i)},animate:function(t,e,i,a,s){var r=d||"transitionend";n.isFunction(i)&&(a=i,i=null),n.isPlainObject(e)||t.removeAttr("style"),t.on(r,function(i){(!i||!i.originalEvent||t.is(i.originalEvent.target)&&"z-index"!=i.originalEvent.propertyName)&&(t.off(r),n.isPlainObject(e)?e.scaleX!==o&&e.scaleY!==o&&(t.css("transition-duration","0ms"),e.width=Math.round(t.width()*e.scaleX),e.height=Math.round(t.height()*e.scaleY),e.scaleX=1,e.scaleY=1,n.fancybox.setTranslate(t,e)):s!==!0&&t.removeClass(e),n.isFunction(a)&&a(i))}),n.isNumeric(i)&&t.css("transition-duration",i+"ms"),n.isPlainObject(e)?n.fancybox.setTranslate(t,e):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger("transitionend")},i+16))},stop:function(t){clearTimeout(t.data("timer")),t.off(d)}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i)}}(window,document,window.jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},metacafe:{matcher:/metacafe.com\/watch\/(\d+)\/(.*)?/,type:"iframe",url:"//www.metacafe.com/embed/$1/?ap=1"},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"iframe",url:"//www.dailymotion.com/embed/video/$1"},vine:{matcher:/vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,type:"iframe",url:"//vine.co/v/$1/embed/simple"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12])+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}};t(document).on("onInit.fb",function(o,i){t.each(i.group,function(o,i){var a,s,r,c,l,u,d,f=i.src||"",h=!1;i.type||(a=t.extend(!0,{},n,i.opts.media),t.each(a,function(n,o){if(r=f.match(o.matcher),u={},d=n,r){if(h=o.type,o.paramPlace&&r[o.paramPlace]){l=r[o.paramPlace],"?"==l[0]&&(l=l.substring(1)),l=l.split("&");for(var a=0;ae.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},u=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};u.prototype.destroy=function(){this.$container.off(".fb.touch")},u.prototype.ontouchstart=function(o){var i=this,c=n(o.target),u=i.instance,d=u.current,f=d.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),!d||i.instance.isAnimating||i.instance.isClosing)return o.stopPropagation(),void o.preventDefault();if((!o.originalEvent||2!=o.originalEvent.button)&&c.length&&!r(c)&&!r(c.parent())&&!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left)&&(i.startPoints=a(o),i.startPoints&&!(i.startPoints.length>1&&u.isSliding))){if(i.$target=c,i.$content=f,i.canTap=!0,n(e).off(".fb.touch"),n(e).on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")),n(e).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),o.stopPropagation(),!u.current.opts.touch&&!u.canPan()||!c.is(i.$stage)&&!i.$stage.find(c).length)return void(c.is("img")&&o.preventDefault());n.fancybox.isMobile&&(l(i.$target)||l(i.$target.parent()))||o.preventDefault(),i.canvasWidth=Math.round(d.$slide[0].clientWidth),i.canvasHeight=Math.round(d.$slide[0].clientHeight),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.sliderStartPos=i.sliderLastPos||{top:0,left:0},i.contentStartPos=n.fancybox.getTranslate(i.$content),i.contentLastPos=null,1!==i.startPoints.length||i.isZooming||(i.canTap=!u.isSliding,"image"===d.type&&(i.contentStartPos.width>i.canvasWidth+1||i.contentStartPos.height>i.canvasHeight+1)?(n.fancybox.stop(i.$content),i.$content.css("transition-duration","0ms"),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-controls--isGrabbing")),2!==i.startPoints.length||u.isAnimating||d.hasError||"image"!==d.type||!d.isLoaded&&!d.$ghost||(i.isZooming=!0,i.isSwiping=!1,i.isPanning=!1,n.fancybox.stop(i.$content),i.$content.css("transition-duration","0ms"),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))}},u.prototype.ontouchmove=function(t){var e=this;if(e.newPoints=a(t),n.fancybox.isMobile&&(l(e.$target)||l(e.$target.parent())))return t.stopPropagation(),void(e.canTap=!1);if((e.instance.current.opts.touch||e.instance.canPan())&&e.newPoints&&e.newPoints.length&&(e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0)){if(!e.$target.is(e.$stage)&&!e.$stage.find(e.$target).length)return;t.stopPropagation(),t.preventDefault(),e.isSwiping?e.onSwipe():e.isPanning?e.onPan():e.isZooming&&e.onZoom()}},u.prototype.onSwipe=function(){var e,a=this,s=a.isSwiping,r=a.sliderStartPos.left||0;s===!0?Math.abs(a.distance)>10&&(a.canTap=!1,a.instance.group.length<2&&a.instance.opts.touch.vertical?a.isSwiping="y":a.instance.isSliding||a.instance.opts.touch.vertical===!1||"auto"===a.instance.opts.touch.vertical&&n(t).width()>800?a.isSwiping="x":(e=Math.abs(180*Math.atan2(a.distanceY,a.distanceX)/Math.PI),a.isSwiping=e>45&&e<135?"y":"x"),a.instance.isSliding=a.isSwiping,a.startPoints=a.newPoints,n.each(a.instance.slides,function(t,e){n.fancybox.stop(e.$slide),e.$slide.css("transition-duration","0ms"),e.inTransition=!1,e.pos===a.instance.current.pos&&(a.sliderStartPos.left=n.fancybox.getTranslate(e.$slide).left)}),a.instance.SlideShow&&a.instance.SlideShow.isActive&&a.instance.SlideShow.stop()):("x"==s&&(a.distanceX>0&&(a.instance.group.length<2||0===a.instance.current.index&&!a.instance.current.opts.loop)?r+=Math.pow(a.distanceX,.8):a.distanceX<0&&(a.instance.group.length<2||a.instance.current.index===a.instance.group.length-1&&!a.instance.current.opts.loop)?r-=Math.pow(-a.distanceX,.8):r+=a.distanceX),a.sliderLastPos={top:"x"==s?0:a.sliderStartPos.top+a.distanceY,left:r},a.requestId&&(i(a.requestId),a.requestId=null),a.requestId=o(function(){a.sliderLastPos&&(n.each(a.instance.slides,function(t,e){var o=e.pos-a.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:a.sliderLastPos.top,left:a.sliderLastPos.left+o*a.canvasWidth+o*e.opts.gutter})}),a.$container.addClass("fancybox-is-sliding"))}))},u.prototype.onPan=function(){var t,e,a,s=this;s.canTap=!1,t=s.contentStartPos.width>s.canvasWidth?s.contentStartPos.left+s.distanceX:s.contentStartPos.left,e=s.contentStartPos.top+s.distanceY,a=s.limitMovement(t,e,s.contentStartPos.width,s.contentStartPos.height),a.scaleX=s.contentStartPos.scaleX,a.scaleY=s.contentStartPos.scaleY,s.contentLastPos=a,s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){n.fancybox.setTranslate(s.$content,s.contentLastPos)})},u.prototype.limitMovement=function(t,e,n,o){var i,a,s,r,c=this,l=c.canvasWidth,u=c.canvasHeight,d=c.contentStartPos.left,f=c.contentStartPos.top,h=c.distanceX,p=c.distanceY;return i=Math.max(0,.5*l-.5*n),a=Math.max(0,.5*u-.5*o),s=Math.min(l-n,.5*l-.5*n),r=Math.min(u-o,.5*u-.5*o),n>l&&(h>0&&t>i&&(t=i-1+Math.pow(-i+d+h,.8)||0),h<0&&tu&&(p>0&&e>a&&(e=a-1+Math.pow(-a+f+p,.8)||0),p<0&&ea?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e50?(n.fancybox.animate(e.instance.current.$slide,{top:e.sliderStartPos.top+e.distanceY+150*e.velocityY,opacity:0},150),o=e.instance.close(!0,300)):"x"==t&&e.distanceX>50&&e.instance.group.length>1?o=e.instance.previous(e.speedX):"x"==t&&e.distanceX<-50&&e.instance.group.length>1&&(o=e.instance.next(e.speedX)),o!==!1||"x"!=t&&"y"!=t||e.instance.jumpTo(e.instance.current.index,150),e.$container.removeClass("fancybox-is-sliding")},u.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(i.instance.current.opts.touch.momentum===!1?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+i.velocityX*i.speed,e=i.contentLastPos.top+i.velocityY*i.speed),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,330))},u.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.setTranslate(a.content,n.fancybox.getTranslate(a.$content)),n.fancybox.animate(a.$content,o,150)))},u.prototype.onTap=function(t){var e,o=this,i=n(t.target),s=o.instance,r=s.current,c=t&&a(t)||o.startPoints,l=c[0]?c[0].x-o.$stage.offset().left:0,u=c[0]?c[0].y-o.$stage.offset().top:0,d=function(e){var i=r.opts[e];if(n.isFunction(i)&&(i=i.apply(s,[r,t])),i)switch(i){case"close":s.close(o.startEvent);break;case"toggleControls":s.toggleControls(!0);break;case"next":s.next();break;case"nextOrClose":s.group.length>1?s.next():s.close(o.startEvent);break;case"zoom":"image"==r.type&&(r.isLoaded||r.$ghost)&&(s.canPan()?s.scaleToFit():s.isScaledDown()?s.scaleToActual(l,u):s.group.length<2&&s.close(o.startEvent))}};if(!(t.originalEvent&&2==t.originalEvent.button||s.isSliding||l>i[0].clientWidth+i.offset().left)){if(i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))e="Outside";else if(i.is(".fancybox-slide"))e="Slide";else{if(!s.current.$content||!s.current.$content.has(t.target).length)return;e="Content"}if(o.tapped){if(clearTimeout(o.tapped),o.tapped=null,Math.abs(l-o.tapX)>50||Math.abs(u-o.tapY)>50||s.isSliding)return this;d("dblclick"+e)}else o.tapX=l,o.tapY=u,r.opts["dblclick"+e]&&r.opts["dblclick"+e]!==r.opts["click"+e]?o.tapped=setTimeout(function(){o.tapped=null,d("click"+e)},300):d("click"+e);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new u(e))}),n(e).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,speed:3e3,init:function(){var t=this;t.$button=t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),(t.instance.group.length<2||!t.instance.group[t.instance.currIndex].opts.slideShow)&&t.$button.hide()},set:function(){var t=this;t.instance&&t.instance.current&&(t.instance.current.opts.loop||t.instance.currIndex1&&t.instance.group[t.instance.currIndex].opts.thumbs&&("image"==e.type||e.opts.thumb||e.opts.$thumb)&&("image"==n.type||n.opts.thumb||n.opts.$thumb)?(t.$button.on("click",function(){t.toggle()}),t.isActive=!0):(t.$button.hide(),t.isActive=!1)},create:function(){var t,n,o=this.instance;this.$grid=e('
').appendTo(o.$refs.container),t="
    ",e.each(o.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr("src"):null),n||"image"!==o.type||(n=o.src),n&&n.length&&(t+='
  • ')}),t+="
",this.$list=e(t).appendTo(this.$grid).on("click","li",function(){o.jumpTo(e(this).data("index"))}),this.$list.find("img").hide().one("load",function(){var t,n,o,i,a=e(this).parent().removeClass("fancybox-thumbs-loading"),s=a.outerWidth(),r=a.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/s,i=n/r,o>=1&&i>=1&&(o>i?(t/=i,n=r):(t=s,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),"margin-top":Math.min(0,Math.floor(.3*r-.3*n)),"margin-left":Math.min(0,Math.floor(.5*s-.5*t))}).show()}).each(function(){this.src=e(this).data("src")})},focus:function(){this.instance.current&&this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+this.instance.current.index+'"]').addClass("fancybox-thumbs-active").focus()},close:function(){this.$grid.hide()},update:function(){this.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),this.isVisible?(this.$grid||this.create(),this.instance.trigger("onThumbsShow"),this.focus()):this.$grid&&this.instance.trigger("onThumbsHide"),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.Thumbs&&(e.Thumbs=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;if(i&&i.isActive){if(n.modal)return i.$button.hide(),void i.hide();o&&e.opts.thumbs.autoStart===!0&&i.show(),i.isVisible&&i.focus()}},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&e.opts.thumbs.hideOnClose!==!1&&n.close()}})}(document,window.jQuery),function(t,e,n){"use strict";function o(){var t=e.location.hash.substr(1),n=t.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return o<1&&(o=1),{hash:t,index:o,gallery:i}}function i(t){var e;""!==t.gallery&&(e=n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1),e.length||(e=n("#"+n.escapeSelector(t.gallery))),e.length&&(s=!1,e.trigger("click")))}function a(t){var e;return!!t&&(e=t.current?t.current.opts:t.opts,e.$orig?e.$orig.data("fancybox"):e.hash||"")}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)});var s=!0,r=null,c=null;n(function(){setTimeout(function(){n.fancybox.defaults.hash!==!1&&(n(t).on({"onInit.fb":function(t,e){var n,i;e.group[e.currIndex].opts.hash!==!1&&(n=o(),i=a(e),i&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i){var l;i.opts.hash!==!1&&(l=a(o),l&&""!==l&&(e.location.hash.indexOf(l)<0&&(o.opts.origHash=e.location.hash),r=l+(o.group.length>1?"-"+(i.index+1):""),"replaceState"in e.history?(c&&clearTimeout(c),c=setTimeout(function(){e.history[s?"pushState":"replaceState"]({},t.title,e.location.pathname+e.location.search+"#"+r),c=null,s=!1},300)):e.location.hash=r))},"beforeClose.fb":function(o,i,s){var l,u;c&&clearTimeout(c),s.opts.hash!==!1&&(l=a(i),u=i&&i.opts.origHash?i.opts.origHash:"",l&&""!==l&&("replaceState"in history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+u):(e.location.hash=u,n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))),r=null)}}),n(e).on("hashchange.fb",function(){var t=o();n.fancybox.getInstance()?!r||r===t.gallery+"-"+t.index||1===t.index&&r==t.gallery||(r=null,n.fancybox.close(),s=!0):""!==t.gallery&&i(t)}),i(o()))},50)})}(document,window,window.jQuery); \ No newline at end of file diff --git a/fancybox/docs/index.html b/fancybox/docs/index.html new file mode 100644 index 0000000..bb5fc1d --- /dev/null +++ b/fancybox/docs/index.html @@ -0,0 +1,1827 @@ + + + + fancyBox - touch enabled, responsive and fully customizable lightbox script + + + + + + + + + + + + +
+
+

fancyBox3 Documentation

+ + +
+
+ +
+
+ + + +

Introduction

+ +

+ fancyBox is a JavaScript library used to present images, videos and any html content in an elegant way. + It has all features you would expect - touch enabled, responsive and fully customizable. +

+ +

+ +

+ Dependencies +

+ +

+ jQuery 3+ is preferred, but fancyBox works with jQuery 1.9.1+ and jQuery 2+ +

+ +

Compatibility

+ +

+ fancyBox includes support for touch gestures and even supports pinch gestures for zooming. + It is perfectly suited for both mobile and desktop browsers. +

+ +

+ fancyBox has been tested in following browsers/devices: +

+ +
    +
  • Chrome
  • +
  • Firefox
  • +
  • IE10/11
  • +
  • Edge
  • +
  • iOS Safari
  • +
  • Nexus 7 Chrome
  • +
+ +

Setup

+ +

+ You can install fancyBox by linking .css and .js to your html file. + + Make sure you also load the jQuery library. + Below is a basic HTML template to use as an example: +

+ +
<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+	<title>My page</title>
+
+	<!-- CSS -->
+	<link rel="stylesheet" type="text/css" href="jquery.fancybox.min.css">
+</head>
+<body>
+
+	<!-- Your HTML content goes here -->
+
+	<!-- JS -->
+	<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
+	<script src="jquery.fancybox.min.js"></script>
+</body>
+</html>
+
+ +

Important

+ +
    +
  • Make sure you add the jQuery library first
  • +
  • If you already have jQuery on your page, you shouldn't include it second time
  • +
  • Do not include both fancybox.js and fancybox.min.js files
  • +
  • + Some functionality (ajax, iframes, etc) will not work when you're opening local files on your computer, + the code must be running on a web server +
  • +
+ +

Download fancyBox

+ +

+ You can download the latest version of fancyBox on GitHub. +
+ Or just link directly to fancyBox files on cdnjs - https://cdnjs.com/libraries/fancybox. +

+ + +

Package Managers

+ +

+ fancyBox can also be installed via Bower or npm. +

+ +
# Bower
+bower install fancybox --save
+
+# NPM
+npm install @fancyapps/fancybox --save
+
+ + + +

How to Use

+ +

Initialize with data attributes

+ +

+ The most basic way to use fancyBox is by adding the data-fancybox attribute to a link. + A caption can be added using the data-caption attribute. Example: +

+ +
<a href="image.jpg" data-fancybox data-caption="My caption">
+	<img src="thumbnail.jpg" alt="" />
+</a>
+ +

+ If you choose this method, default settings will be applied. + See Options section for examples how to customize by changing defaults or using data-options attribute. +

+ +

Initialize with JavaScript

+ +

+ Select elements with a jQuery selector and call the fancybox method: +

+ +
<script type="text/javascript">
+	$("[data-fancybox]").fancybox({
+		// Options will go here
+	});
+</script>
+ + +

+ Using this method, click event handler is attached only to the currently selected elements. +
+ To attach click event listener for elements that exist now or in the future, use selector option. Example: +

+ +
$().fancybox({
+  selector : '[data-fancybox="images"]',
+  loop     : true
+});
+ +

+ View demo on CodePen +

+ +

Manual calling of fancyBox

+ +

+ fancyBox can be activated at any point within Javascript and therefore does not necessarily need a trigger element. + + Example of displaying a simple message: +

+ +
$.fancybox.open('<div class="message"><h2>Hello!</h2><p>You are awesome!</p></div>');
+ +

+ See API section for more information and examples. +

+ +

Grouping

+ +

+ If you have a group of items, you can use the same attribute data-fancybox value for each of them to create a gallery. + Each group should have a unique value: +

+ +
<a href="image_1.jpg" data-fancybox="group" data-caption="Caption #1">
+	<img src="thumbnail_1.jpg" alt="" />
+</a>
+
+<a href="image_2.jpg" data-fancybox="group" data-caption="Caption #2">
+	<img src="thumbnail_2.jpg" alt="" />
+</a>
+
+ + +

Important

+ +

+ fancyBox attempts to automatically detect the type of content based on the given url. + + If it cannot be detected, the type can also be set manually using data-type attribute: + +

<a href="images.php?id=123" data-type="image" data-caption="Caption">
+	Show image
+</a>
+

+ + + + +

Media types

+ + +

Images

+ +

+ The standard way of using fancyBox is with a number of thumbnail images that link to larger images: +

+ +
<a href="image.jpg" data-fancybox="images" data-caption="My caption">
+	<img src="thumbnail.jpg" alt="" />
+</a>
+ +

+ View demo on CodePen +

+ +

+ By default, fancyBox fully preloads an image before displaying it. + You can choose to display the image right away. + It will render and show the full size image while the data is being received. + To do so, some attributes are necessary: +

+ +
    +
  • data-width - the real width of the image
  • +
  • data-height - the real height of the image
  • +
+ +
<a href="image.jpg" data-fancybox="images" data-width="2048" data-height="1365">
+    <img src="thumbnail.jpg" />
+</a>
+

+ View demo on CodePen +

+ +

+ fancyBox supports "scrset" so I can display different images based on viewport width. You can use this to improve download times for mobile users and over time save bandwidth. + Example: +

+ +
<a href="medium.jpg" data-fancybox="images" data-srcset="large.jpg 1600w, medium.jpg 1200w, small.jpg 640w">
+	<img src="thumbnail.jpg" />
+</a>
+

+ View demo on CodePen +

+ +

+ It is also possible to protect images from downloading by right-click. + While this does not protect from truly determined users, it should discourage the vast majority from ripping off your files. +

+ +
$('[data-fancybox]').fancybox({
+	protect: true
+});
+ +

+ View demo on CodePen +

+ +

Inline HTML

+ +

+ For inline content, create a hidden element with unique id: +

+ +
<div style="display: none;" id="hidden-content">
+	<h2>Hello</h2>
+	<p>You are awesome.</p>
+</div>
+ +

+ And then simply create a link having data-src attribute that matches ID of the element you want to open (preceded by a hash mark (#); in this example - #hidden-content): +

+ +
<a data-fancybox data-src="#hidden-content" href="javascript:;">
+	Hidden div
+</a>
+

+ View demo on CodePen +

+ +

+ The script will append small close button (if you have not disabled by smallBtn:false) + and will not apply any styles except for centering. Therefore you can easily set custom dimensions using CSS. +

+ +

Ajax

+ +

+ To load content via AJAX, you need to add a data-type="ajax" attribute to your link: +

+ +
<a data-fancybox data-type="ajax" data-src="my_page.com/path/to/ajax/" href="javascript:;">
+	AJAX content
+</a>
+

+ View demo on CodePen +

+ +

+ Additionally it is possible to define a selector with the data-filter attribute to show only a part of the response. The selector can be any string, that is a valid jQuery selector: +

+ +
<a data-fancybox data-type="ajax" data-src="my_page.com/path/to/ajax/" data-filter="#two" href="javascript:;">
+	AJAX content
+</a>
+
+

+ View demo on CodePen +

+ +

Iframe

+ +

+ If the content can be shown on a page, and placement in an iframe is not blocked by script or security configuration of that page, + it can be presented in a fancyBox: +

+ +
<a data-fancybox data-type="iframe" data-src="http://codepen.io/fancyapps/full/jyEGGG/" href="javascript:;">
+	Webpage
+</a>
+
+<a data-fancybox data-type="iframe" data-src="https://mozilla.github.io/pdf.js/web/viewer.html" href="javascript:;">
+	Sample PDF
+</a>
+
+

+ View demo on CodePen +

+ + +

+ To access and control fancyBox in parent window from inside an iframe: +

+ +
// Adjust iframe height according to the contents
+parent.jQuery.fancybox.getInstance().update();
+
+// Close current fancyBox instance
+parent.jQuery.fancybox.getInstance().close();
+ + +

+ Iframe dimensions can be controlled by CSS: +

+ +
.fancybox-slide--iframe .fancybox-content {
+	width  : 800px;
+	height : 600px;
+	max-width  : 80%;
+	max-height : 80%;
+	margin: 0;
+}
+ + +

+ These CSS rules can be overridden by JS, if needed: +

+ +
$("[data-fancybox]").fancybox({
+	iframe : {
+		css : {
+			width : '600px'
+		}
+	}
+});
+ + +

+ If you have not disabled iframe preloading (using preload option), then the script will atempt to + calculate content dimensions and will adjust width/height of iframe to fit with content in it. + Keep in mind, that due to same origin policy, + there are some limitations. +

+ +

+ This example will disable iframe preloading and will display small close button next to iframe instead of the toolbar: +

+ +
$('[data-fancybox]').fancybox({
+	toolbar  : false,
+	smallBtn : true,
+	iframe : {
+		preload : false
+	}
+})
+
+

+ View demo on CodePen +

+ + + +

Embedding

+ +

+ Supported sites can be used with fancyBox by just providing the page URL: +

+ +
<a data-fancybox href="https://www.youtube.com/watch?v=_sI_Ps7JSEk">
+  YouTube video
+</a>
+
+<a data-fancybox href="https://vimeo.com/191947042">
+  Vimeo video
+</a>
+
+<a data-fancybox href="https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572">
+	Google Map
+</a>
+
+<a data-fancybox href="https://www.instagram.com/p/BNXYW8-goPI/?taken-by=jamesrelfdyer" data-caption="<span title=&quot;Edited&quot;>balloon rides at dawn ✨🎈<br>was such a magical experience floating over napa valley as the golden light hit the hills.<br><a href=&quot;https://www.instagram.com/jamesrelfdyer/&quot;>@jamesrelfdyer</a></span>">
+	Instagram photo
+</a>
+

+ View demo on CodePen +

+ +

Video dimensions

+ +

+ Resize video display with the following CSS: +

+ +
.fancybox-slide--video .fancybox-content {
+	width  : 800px;
+	height : 600px;
+	max-width  : 80%;
+	max-height : 80%;
+}
+

+ View demo on CodePen +

+ +

+ Obviously, you can choose any size you like, any combination with min/max values. +
+ Aspect ratio lock for videos is not implemented yet, but if you wish, you can use this snippet. +

+ + + +

Video parameters

+ +

+ Controlling a video via URL parameters: +

+ +
<a data-fancybox href="https://www.youtube.com/watch?v=_sI_Ps7JSEk&amp;autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0">
+  YouTube video - hide controls and info
+</a>
+
+<a data-fancybox href="https://vimeo.com/191947042?color=f00">
+  Vimeo video - custom color
+</a>
+

+ View demo on CodePen +

+ + +

+ Via JavaScript: +

+ +
$('[data-fancybox]').fancybox({
+	youtube : {
+		controls : 0,
+		showinfo : 0
+	},
+	vimeo : {
+		color : 'f00'
+	}
+});
+

+ View demo on CodePen +

+ + +

Options

+ +

+ Quick reference for all default options as defined in the source: +

+ +
defaults = {
+
+	// Enable infinite gallery navigation
+	loop : false,
+
+	// Space around image, ignored if zoomed-in or viewport smaller than 800px
+	margin : [44, 0],
+
+	// Horizontal space between slides
+	gutter : 50,
+
+	// Enable keyboard navigation
+	keyboard : true,
+
+	// Should display navigation arrows at the screen edges
+	arrows : true,
+
+	// Should display infobar (counter and arrows at the top)
+	infobar : false,
+
+	// Should display toolbar (buttons at the top)
+	toolbar : true,
+
+	// What buttons should appear in the top right corner.
+	// Buttons will be created using templates from `btnTpl` option
+	// and they will be placed into toolbar (class="fancybox-toolbar"` element)
+	buttons : [
+		'slideShow',
+		'fullScreen',
+		'thumbs',
+		'close'
+	],
+
+	// Detect "idle" time in seconds
+	idleTime : 4,
+
+	// Should display buttons at top right corner of the content
+	// If 'auto' - they will be created for content having type 'html', 'inline' or 'ajax'
+	// Use template from `btnTpl.smallBtn` for customization
+	smallBtn : 'auto',
+
+	// Disable right-click and use simple image protection for images
+	protect : false,
+
+	// Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc
+	modal : false,
+
+	image : {
+
+		// Wait for images to load before displaying
+		// Requires predefined image dimensions
+		// If 'auto' - will zoom in thumbnail if 'width' and 'height' attributes are found
+		preload : "auto",
+
+	},
+
+	ajax : {
+
+		// Object containing settings for ajax request
+		settings : {
+
+			// This helps to indicate that request comes from the modal
+			// Feel free to change naming
+			data : {
+				fancybox : true
+			}
+		}
+
+	},
+
+	iframe : {
+
+		// Iframe template
+		tpl : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
+
+		// Preload iframe before displaying it
+		// This allows to calculate iframe content width and height
+		// (note: Due to "Same Origin Policy", you can't get cross domain data).
+		preload : true,
+
+		// Custom CSS styling for iframe wrapping element
+		// You can use this to set custom iframe dimensions
+		css : {},
+
+		// Iframe tag attributes
+		attr : {
+			scrolling : 'auto'
+		}
+
+	},
+
+	// Open/close animation type
+	// Possible values:
+	//   false            - disable
+	//   "zoom"           - zoom images from/to thumbnail
+	//   "fade"
+	//   "zoom-in-out"
+	//
+	animationEffect : "zoom",
+
+	// Duration in ms for open/close animation
+	animationDuration : 366,
+
+	// Should image change opacity while zooming
+	// If opacity is 'auto', then opacity will be changed if image and thumbnail have different aspect ratios
+	zoomOpacity : 'auto',
+
+	// Transition effect between slides
+	//
+	// Possible values:
+	//   false            - disable
+	//   "fade'
+	//   "slide'
+	//   "circular'
+	//   "tube'
+	//   "zoom-in-out'
+	//   "rotate'
+	//
+	transitionEffect : "fade",
+
+	// Duration in ms for transition animation
+	transitionDuration : 366,
+
+	// Custom CSS class for slide element
+	slideClass : '',
+
+	// Custom CSS class for layout
+	baseClass : '',
+
+	// Base template for layout
+	baseTpl	:
+		'<div class="fancybox-container" role="dialog" tabindex="-1">' +
+			'<div class="fancybox-bg"></div>' +
+			'<div class="fancybox-inner">' +
+				'<div class="fancybox-infobar">' +
+					'<button data-fancybox-prev title="{{PREV}}" class="fancybox-button fancybox-button--left"></button>' +
+					'<div class="fancybox-infobar__body">' +
+						'<span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span>' +
+					'</div>' +
+					'<button data-fancybox-next title="{{NEXT}}" class="fancybox-button fancybox-button--right"></button>' +
+				'</div>' +
+				'<div class="fancybox-toolbar">' +
+					'{{BUTTONS}}' +
+				'</div>' +
+				'<div class="fancybox-navigation">' +
+					'<button data-fancybox-prev title="{{PREV}}" class="fancybox-arrow fancybox-arrow--left" />' +
+					'<button data-fancybox-next title="{{NEXT}}" class="fancybox-arrow fancybox-arrow--right" />' +
+				'</div>' +
+				'<div class="fancybox-stage"></div>' +
+				'<div class="fancybox-caption-wrap">' +
+					'<div class="fancybox-caption"></div>' +
+				'</div>' +
+			'</div>' +
+		'</div>',
+
+	// Loading indicator template
+	spinnerTpl : '<div class="fancybox-loading"></div>',
+
+	// Error message template
+	errorTpl : '<div class="fancybox-error"><p>{{ERROR}}<p></div>',
+
+	btnTpl : {
+		slideShow  : '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"></button>',
+		fullScreen : '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"></button>',
+		thumbs     : '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"></button>',
+		close      : '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"></button>',
+
+		// This small close button will be appended to your html/inline/ajax content by default,
+		// if "smallBtn" option is not set to false
+		smallBtn   : '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>'
+	},
+
+	// Container is injected into this element
+	parentEl : 'body',
+
+
+	// Focus handling
+	// ==============
+
+	// Try to focus on the first focusable element after opening
+	autoFocus : true,
+
+	// Put focus back to active element after closing
+	backFocus : true,
+
+	// Do not let user to focus on element outside modal content
+	trapFocus : true,
+
+
+	// Module specific options
+	// =======================
+
+	fullScreen : {
+		autoStart : false,
+	},
+
+	touch : {
+		vertical : true,  // Allow to drag content vertically
+		momentum : true   // Continue movement after releasing mouse/touch when panning
+	},
+
+	// Hash value when initializing manually,
+	// set `false` to disable hash change
+	hash : null,
+
+	// Customize or add new media types
+	// Example:
+	/*
+	media : {
+		youtube : {
+			params : {
+				autoplay : 0
+			}
+		}
+	}
+	*/
+	media : {},
+
+	slideShow : {
+		autoStart : false,
+		speed     : 4000
+	},
+
+	thumbs : {
+		autoStart   : false,   // Display thumbnails on opening
+		hideOnClose : true     // Hide thumbnail grid when closing animation starts
+	},
+
+	// Callbacks
+	//==========
+
+	// See Documentation/API/Events for more information
+	// Example:
+	/*
+		afterShow: function( instance, current ) {
+			 console.info( 'Clicked element:' );
+			 console.info( current.opts.$orig );
+		}
+	*/
+
+	onInit       : $.noop,  // When instance has been initialized
+
+	beforeLoad   : $.noop,  // Before the content of a slide is being loaded
+	afterLoad    : $.noop,  // When the content of a slide is done loading
+
+	beforeShow   : $.noop,  // Before open animation starts
+	afterShow    : $.noop,  // When content is done loading and animating
+
+	beforeClose  : $.noop,  // Before the instance attempts to close. Return false to cancel the close.
+	afterClose   : $.noop,  // After instance has been closed
+
+	onActivate   : $.noop,  // When instance is brought to front
+	onDeactivate : $.noop,  // When other instance has been activated
+
+
+	// Interaction
+	// ===========
+
+	// Use options below to customize taken action when user clicks or double clicks on the fancyBox area,
+	// each option can be string or method that returns value.
+	//
+	// Possible values:
+	//   "close"           - close instance
+	//   "next"            - move to next gallery item
+	//   "nextOrClose"     - move to next gallery item or close if gallery has only one item
+	//   "toggleControls"  - show/hide controls
+	//   "zoom"            - zoom image (if loaded)
+	//   false             - do nothing
+
+	// Clicked on the content
+	clickContent : function( current, event ) {
+		return current.type === 'image' ? 'zoom' : false;
+	},
+
+	// Clicked on the slide
+	clickSlide : 'close',
+
+	// Clicked on the background (backdrop) element
+	clickOutside : 'close',
+
+	// Same as previous two, but for double click
+	dblclickContent : false,
+	dblclickSlide   : false,
+	dblclickOutside : false,
+
+
+	// Custom options when mobile device is detected
+	// =============================================
+
+	mobile : {
+		clickContent : function( current, event ) {
+			return current.type === 'image' ? 'toggleControls' : false;
+		},
+		clickSlide : function( current, event ) {
+			return current.type === 'image' ? 'toggleControls' : "close";
+		},
+		dblclickContent : function( current, event ) {
+			return current.type === 'image' ? 'zoom' : false;
+		},
+		dblclickSlide : function( current, event ) {
+			return current.type === 'image' ? 'zoom' : false;
+		}
+	},
+
+
+	// Internationalization
+	// ============
+
+	lang : 'en',
+	i18n : {
+		'en' : {
+			CLOSE       : 'Close',
+			NEXT        : 'Next',
+			PREV        : 'Previous',
+			ERROR       : 'The requested content cannot be loaded. <br/> Please try again later.',
+			PLAY_START  : 'Start slideshow',
+			PLAY_STOP   : 'Pause slideshow',
+			FULL_SCREEN : 'Full screen',
+			THUMBS      : 'Thumbnails'
+		},
+		'de' : {
+			CLOSE       : 'Schliessen',
+			NEXT        : 'Weiter',
+			PREV        : 'Zurück',
+			ERROR       : 'Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.',
+			PLAY_START  : 'Diaschau starten',
+			PLAY_STOP   : 'Diaschau beenden',
+			FULL_SCREEN : 'Vollbild',
+			THUMBS      : 'Vorschaubilder'
+		}
+	}
+
+}
+
+ + +

+ Set instance options by passing a valid object to fancybox() method: +

+ +
$("[data-fancybox]").fancybox({
+	thumbs : {
+		autoStart : true
+	}
+});
+ + +

+ Plugin options / defaults are exposed in $.fancybox.defaults namespace so you can easily adjust them globally: + +

+ +
$.fancybox.defaults.animationEffect = "fade";
+ +

+ Custom options for each element individually can be set by adding a data-options + attribute to the element. + + This attribute should contain the properly formatted JSON object: +

+ +
<a data-fancybox data-options='{"caption" : "My caption", "src" : "https://codepen.io/about/", "type" : "iframe"}' href="javascript:;" class="btn">
+	Open external page
+</a>
+
+

+ View demo on CodePen +

+ + + + +

API

+ +

+ The fancyBox API offers a couple of methods to control fancyBox. + + This gives you the ability to extend the plugin and to integrate it with other web application components. +

+ +

Core methods

+ +

+ Core methods are methods which affect/handle instances: +

+ + +
// Close only the currently active or all fancyBox instances
+$.fancybox.close( all );
+
+// Open the fancyBox right away
+$.fancybox.open( items, opts, index );
+
+ + +

+ Gallery items can be collection of jQuery objects or array containing plain objects. This can be used, for example, to create content filter. +

+ +
var $links = $('.fancybox');
+
+$links.on('click', function() {
+
+	$.fancybox.open( $links, {
+		// Custom options
+	}, $links.index( this ) );
+
+	return false;
+});
+

+ View demo on CodePen +

+ + + +

+ When creating group objects manually, each item should follow this pattern: +

+ +
{
+	src  : '' // Source of the content
+	type : '' // Content type: image|inline|ajax|iframe|html (optional)
+	opts : {} // Object containing item options (optional)
+}
+
+ + +

+ Example of opening image gallery: +

+ +
$.fancybox.open([
+	{
+		src  : '1_b.jpg',
+		opts : {
+			caption : 'First caption'
+		}
+	},
+	{
+		src  : '2_b.jpg',
+		opts : {
+			caption : 'Second caption'
+		}
+	}
+], {
+	loop : false
+});
+

+ View demo on CodePen +

+ +

+ It is also possible to pass only one object. Example of opening inline content: +

+ +
$.fancybox.open({
+	src  : '#hidden-content',
+	type : 'inline',
+	opts : {
+		afterShow : function( instance, current ) {
+			console.info( 'done!' );
+		}
+	}
+});
+
+

+ View demo on CodePen +

+ +

+ If you wish to display some html content (for example, a message), then you can use a simpler syntax. + It is advised to use a wrapper around your content. +

+ +
$.fancybox.open('<div class="message"><h2>Hello!</h2><p>You are awesome!</p></div>');
+

+ View demo on CodePen +

+ + + +

Instance methods

+ +

+ In order to use these methods, you need an instance of the plugin's object. +

+ +
var instance = $.fancybox.open(
+	// Your content and options
+);
+ +

+ Get reference to currently active instance: +

+ +
var instance = $.fancybox.getInstance();
+ +

+ The first argument of the callback is reference to instance: +

+ +
$("[data-fancybox]").fancybox({
+	afterShow : function( instance, current ) {
+		console.info( instance );
+	}
+});
+

+ Once you have a reference to fancyBox instance the following methods are available: +

+ + +
// Go to next gallery item
+instance.next( duration );
+
+// Go to previous gallery item
+instance.previous( duration );
+
+// Switch to selected gallery item
+instance.jumpTo( index, duration );
+
+// Check if current image dimensions are smaller than actual
+instance.isScaledDown();
+
+// Scale image to the actual size of the image
+instance.scaleToActual( x, y, duration );
+
+// Check if image dimensions exceed parent element
+instance.canPan();
+
+// Scale image to fit inside parent element
+instance.scaleToFit( duration );
+
+// Update position and content of all slides
+instance.update();
+
+// Update slide position and scale content to fit
+instance.updateSlide( slide );
+
+// Update infobar values, navigation button states and reveal caption
+instance.updateControls( force );
+
+// Load custom content into the slide
+instance.setContent( slide, content );
+
+// Show loading icon inside the slide
+instance.showLoading( slide );
+
+// Remove loading icon from the slide
+instance.hideLoading( slide );
+
+// Try to find and focus on the first focusable element
+instance.focus();
+
+// Activates current instance, brings it to the front
+instance.activate();
+
+// Close instance
+instance.close();
+
+ + +

+ You can also do something like this: +

+ +
$.fancybox.getInstance().jumpTo(1);
+ +

+ or simply: +

+ +
$.fancybox.getInstance('jumpTo', 1);
+ + + + +

Events

+ +

+ fancyBox fires several events: +

+ +
beforeLoad   : Before the content of a slide is being loaded
+afterLoad    : When the content of a slide is done loading
+
+beforeShow   : Before open animation starts
+afterShow    : When content is done loading and animating
+
+beforeClose  : Before the instance attempts to close. Return false to cancel the close.
+afterClose   : After instance has been closed
+
+onInit       : When instance has been initialized
+onActivate   : When instance is brought to front
+onDeactivate : When other instance has been activated
+ + +

+ Event callbacks can be set as function properties of the options object passed to fancyBox initialization function: +

+ +
<script type="text/javascript">
+	$("[data-fancybox]").fancybox({
+		afterShow: function( instance, slide ) {
+
+			// Tip: Each event passes useful information within the event object:
+
+			// Object containing references to interface elements
+			// (background, buttons, caption, etc)
+			// console.info( instance.$refs );
+
+			// Current slide options
+			// console.info( slide.opts );
+
+			// Clicked element
+			// console.info( slide.opts.$orig );
+
+			// Reference to DOM element of the slide
+			// console.info( slide.$slide );
+
+		}
+	});
+</script>
+ +

+ Each callback receives two parameters - current fancyBox instance and current gallery object, if exists. +

+ +

+ It is also possible to attach event handler for all instances. + To prevent interfering with other scripts, these events have been namespaced to .fb. + These handlers receive 3 parameters - event, current fancyBox instance and current gallery object. +

+

+ Here is an example of binding to the afterShow event: +

+ +
$(document).on('afterShow.fb', function( e, instance, slide ) {
+	// Your code goes here
+});
+ + +

+ If you wish to prevent closing of the modal (for example, after form submit), you can use beforeClose + callback. Simply return false: +

+ +
beforeClose : function( instance, current, e ) {
+	if ( $('#my-field').val() == '' ) {
+		return false;
+	}
+}
+
+ +

Modules

+ +

+ fancyBox code is split into several files (modules) that extend core functionality. + You can build your own fancyBox version by excluding unnecessary modules, if needed. + Each one has their own js and/or css files. +

+ +

+ Some modules can be customized and controlled programmatically. + List of all possible options: +

+ +
fullScreen : {
+	autoStart : false,
+},
+
+touch : {
+	vertical : true,  // Allow to drag content vertically
+	momentum : true   // Continuous movement when panning
+},
+
+// Hash value when initializing manually,
+// set `false` to disable hash change
+hash : null,
+
+// Customize or add new media types
+// Example:
+/*
+media : {
+	youtube : {
+		params : {
+			autoplay : 0
+		}
+	}
+}
+*/
+media : {},
+
+slideShow : {
+	autoStart : false,
+	speed     : 4000
+},
+
+thumbs : {
+	autoStart   : false, // Display thumbnails on opening
+	hideOnClose : true   // Hide thumbnail grid when closing animation starts
+}
+
+
+ +

+ Example (show thumbnails on start): +

+ +
$('[data-fancybox="images"]').fancybox({
+	thumbs : {
+		autoStart : true
+	}
+})
+

+ View demo on CodePen +

+ +

+ If you would inspect fancyBox instance object, you would find that same keys ar captialized - these are references for each module object. + Also, you would notice that fancyBox uses common naming convention to prefix jQuery objects with $. +

+ +

+ This is how you, for example, can access thumbnail grid element: +

+ +
$.fancybox.getInstance().Thumbs.$grid
+ +

+ This example shows how to call method that toggles thumbnails: +

+ +
$.fancybox.getInstance().Thumbs.toggle();
+ +

+ List of available methods: +

+ +
Thumbs.focus()
+Thumbs.update();
+Thumbs.hide();
+Thumbs.show();
+Thumbs.toggle();
+
+FullScreen.request( elem );
+FullScreen.exit();
+FullScreen.toggle( elem );
+FullScreen.isFullscreen();
+FullScreen.enabled();
+
+SlideShow.start();
+SlideShow.stop();
+SlideShow.toggle();
+
+ +

+ If you wish to disable hash module, use this snippet (after including JS file): +

+ +
$.fancybox.defaults.hash = false;
+ + +

FAQ

+ +

Opening/closing causes fixed element to jump

+ +

+ Simply add compensate-for-scrollbar CSS class to your fixed positioned elements. + Example of using Bootstrap navbar component: +

+ +
<nav class="navbar navbar-inverse navbar-fixed-top compensate-for-scrollbar">
+	<div class="container">
+		..
+	</div>
+</nav>
+ +

+ The script measures width of the scrollbar and creates compensate-for-scrollbar CSS class + that uses this value for margin-right property. + Therefore, if your element has width:100%, you should positon it using left and right properties instead. Example: +

+ +
.navbar {
+	position: fixed;
+	top: 0;
+	left: 0;
+	right: 0;
+}
+ +

How to customize caption

+ +

+ You can use caption option that accepts a function and is called for each group element. Example of appending image download link: +

+ +
$( '[data-fancybox]' ).fancybox({
+	caption : function( instance, item ) {
+		var caption = $(this).data('caption') || '';
+
+		if ( item.type === 'image' ) {
+			caption = (caption.length ? caption + '<br />' : '') + '<a href="' + item.src + '">Download image</a>' ;
+		}
+
+		return caption;
+	}
+});
+

+ View demo on CodePen +

+ + +

+ Add current image index and image count (the total number of images in the gallery) right in the caption: +

+ +
$( '[data-fancybox]' ).fancybox({
+	caption : function( instance, item ) {
+		var caption = $(this).data('caption') || '';
+
+		return '(<span data-fancybox-index></span>/<span data-fancybox-count></span>)' + ( caption.length ? ' ' + caption : '' );
+	}
+});
+
+

+ View demo on CodePen +

+ + + +

+ Inside caption method, this refers to the clicked element. Example of using different source for caption: +

+ +
$( '[data-fancybox]' ).fancybox({
+	caption : function( instance, item ) {
+		return $(this).find('figcaption').html();
+	}
+});
+

+ View demo on CodePen +

+ + +

How to create custom button in the toolbar

+ +

+ Example of creating reusable button and changing href property dynamically +

+ +
// Create template for download button
+$.fancybox.defaults.btnTpl.download = '<a download class="fancybox-button fancybox-download"></a>';
+
+// Choose what buttons to display by default
+$.fancybox.defaults.buttons = [
+  'slideShow',
+  'fullScreen',
+  'thumbs',
+  'download',
+  'close'
+];
+
+// Dynamically update download url
+$( '[data-fancybox]' ).fancybox({
+	beforeShow : function( instance, current ) {
+		$('.fancybox-download').attr('href', current.src);
+	}
+});
+
+ +

+ View demo on CodePen +

+ +

How to reposition thumbnail grid

+ +

+ There is currenty no JS option to change thumbnail grid position. + But fancyBox is designed so that you can use CSS to change position or dimension for each block + (e.g., content area, caption or thumbnail grid). + This gives you freedom to completely change the look and feel of the modal window, if needed. + View demo on CodePen +

+ +
+ + +
+ + + + + + diff --git a/fancybox/gulpfile.js b/fancybox/gulpfile.js new file mode 100644 index 0000000..137dcfa --- /dev/null +++ b/fancybox/gulpfile.js @@ -0,0 +1,66 @@ +var gulp = require('gulp'), + livereload = require('gulp-livereload'), + concat = require('gulp-concat'), + uglify = require('gulp-uglify'), + rename = require('gulp-rename'), + cssnano = require('gulp-cssnano'), + sass = require('gulp-sass'), + autoprefixer = require('gulp-autoprefixer'), + header = require('gulp-header'), + replace = require('gulp-replace'), + gutil = require('gulp-util'); + +var pkg = require('./package.json'); +var banner = ['// ==================================================', + '// fancyBox v${pkg.version}', + '//', + '// Licensed GPLv3 for open source use', + '// or fancyBox Commercial License for commercial use', + '//', + '// http://fancyapps.com/fancybox/', + '// Copyright ${new Date().getFullYear()} fancyApps', + '//', + '// ==================================================', + ''].join('\n'); + +// Concatenate & Minify JS + +gulp.task('scripts', function() { + return gulp.src([ + 'src/js/core.js', + 'src/js/media.js', + 'src/js/guestures.js', + 'src/js/slideshow.js', + 'src/js/fullscreen.js', + 'src/js/thumbs.js', + 'src/js/hash.js', + ]) + .pipe(concat('jquery.fancybox.js')) + .pipe(replace(/({fancybox-version})/g, pkg.version)) + .pipe(header(banner, { pkg : pkg } )) + .pipe(gulp.dest('dist')) + .pipe(rename({suffix: '.min'})) + .pipe(uglify()) + .pipe(header(banner, { pkg : pkg } )) + .pipe(gulp.dest('dist')); + }); + + +// Compile CSS + +gulp.task('css', function() { + return gulp.src('src/css/*.css') // Gets all files src/css + .pipe(sass()) + .pipe(autoprefixer({ + browsers: ['last 5 versions'], + cascade: false + })) + .pipe(concat('jquery.fancybox.css')) + .pipe(gulp.dest('dist')) + .pipe(rename({suffix: '.min'})) + .pipe(cssnano({zindex: false})) + .pipe(gulp.dest('dist')); +}); + +// Default Task +gulp.task('default', ['scripts', 'css']); diff --git a/fancybox/package.json b/fancybox/package.json new file mode 100644 index 0000000..8344787 --- /dev/null +++ b/fancybox/package.json @@ -0,0 +1,51 @@ +{ + "name": "@fancyapps/fancybox", + "description": "Touch enabled, responsive and fully customizable jQuery lightbox script", + "version": "3.1.24", + "homepage": "http://fancyapps.com/fancybox/", + "main": "./dist/jquery.fancybox.min.js", + "author": "fancyApps", + "license": "GPL-3.0", + "repository": { + "type": "git", + "url": "git+https://github.com/fancyapps/fancybox.git" + }, + "peerDependencies": { + "jquery": ">=1.9.0" + }, + "devDependencies": { + "del": "^2.2.2", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^3.1.1", + "gulp-concat": "^2.6.1", + "gulp-cssnano": "^2.1.2", + "gulp-header": "^1.8.8", + "gulp-jshint": "^2.0.4", + "gulp-livereload": "^3.8.1", + "gulp-notify": "^2.2.0", + "gulp-rename": "^1.2.2", + "gulp-replace": "^0.5.4", + "gulp-sass": "^3.0.0", + "gulp-uglify": "^2.0.0", + "gulp-util": "^3.0.8", + "jshint": "^2.9.4" + }, + "keywords": [ + "touch", + "responsive", + "lightbox", + "fancybox", + "gallery", + "jQuery", + "plugin" + ], + "bugs": { + "url": "https://github.com/fancyapps/fancybox/issues" + }, + "directories": { + "doc": "docs" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + } +} diff --git a/fancybox/src/css/core.css b/fancybox/src/css/core.css new file mode 100644 index 0000000..1060d13 --- /dev/null +++ b/fancybox/src/css/core.css @@ -0,0 +1,664 @@ +.fancybox-enabled { + overflow: hidden; +} + +.fancybox-enabled body { + overflow: visible; + height: 100%; +} + +.fancybox-is-hidden { + position: absolute; + top: -9999px; + left: -9999px; + visibility: hidden; +} + +.fancybox-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 99993; + -webkit-tap-highlight-color: rgba(0,0,0,0); + backface-visibility: hidden; + transform: translateZ(0); +} + +/* Make sure that the first one is on the top */ +.fancybox-container ~ .fancybox-container { + z-index: 99992; +} + +.fancybox-outer, +.fancybox-inner, +.fancybox-bg, +.fancybox-stage { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.fancybox-outer { + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.fancybox-bg { + background: rgb(30,30,30); + opacity: 0; + transition-duration: inherit; + transition-property: opacity; + transition-timing-function: cubic-bezier(.47,0,.74,.71); +} + +.fancybox-is-open .fancybox-bg { + opacity: 0.87; + transition-timing-function: cubic-bezier(.22,.61,.36,1); +} + +.fancybox-infobar, +.fancybox-toolbar, +.fancybox-caption-wrap { + position: absolute; + direction: ltr; + z-index: 99997; + opacity: 0; + visibility: hidden; + transition: opacity .25s, visibility 0s linear .25s; + box-sizing: border-box; +} + +.fancybox-show-infobar .fancybox-infobar, +.fancybox-show-toolbar .fancybox-toolbar, +.fancybox-show-caption .fancybox-caption-wrap { + opacity: 1; + visibility: visible; + transition: opacity .25s, visibility 0s; +} + +.fancybox-infobar { + top: 0; + left : 50%; + margin-left: -79px; +} + +.fancybox-infobar__body { + display: inline-block; + width: 70px; + line-height: 44px; + font-size: 13px; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + text-align: center; + color: #ddd; + background-color: rgba(30,30,30,0.7); + pointer-events: none; + user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-font-smoothing: subpixel-antialiased; +} + +.fancybox-toolbar { + top: 0; + right: 0; +} + +.fancybox-stage { + overflow: hidden; + direction: ltr; + z-index: 99994; + -webkit-transform: translate3d(0, 0, 0); +} + +.fancybox-slide { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: auto; + outline: none; + white-space: normal; + box-sizing: border-box; + text-align: center; + z-index: 99994; + -webkit-overflow-scrolling: touch; + display: none; + backface-visibility: hidden; + transition-property: transform, opacity; + transform-style: preserve-3d; +} + +.fancybox-slide::before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + width: 0; +} + +.fancybox-is-sliding .fancybox-slide, +.fancybox-slide--previous, +.fancybox-slide--current, +.fancybox-slide--next { + display: block; +} + +.fancybox-slide--image { + overflow: visible; +} + +.fancybox-slide--image::before { + display: none; +} + +.fancybox-slide--video .fancybox-content, +.fancybox-slide--video iframe { + background: #000; +} + +.fancybox-slide--map .fancybox-content, +.fancybox-slide--map iframe { + background: #E5E3DF; +} + +.fancybox-slide--next { + z-index: 99995; +} + +.fancybox-slide > * { + display: inline-block; + position: relative; + padding: 24px; + margin: 44px 0 44px; + border-width: 0; + vertical-align: middle; + text-align: left; + background-color: #fff; + overflow: auto; + box-sizing: border-box; +} + +.fancybox-slide .fancybox-image-wrap { + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + border: 0; + z-index: 99995; + background: transparent; + cursor: default; + overflow: visible; + transform-origin: top left; + background-size: 100% 100%; + background-repeat: no-repeat; + backface-visibility: hidden; +} + +.fancybox-can-zoomOut .fancybox-image-wrap { + cursor: zoom-out; +} + +.fancybox-can-zoomIn .fancybox-image-wrap { + cursor: zoom-in; +} + +.fancybox-can-drag .fancybox-image-wrap { + cursor: grab; +} + +.fancybox-is-dragging .fancybox-image-wrap { + cursor: grabbing; +} + +.fancybox-image, +.fancybox-spaceball { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + border: 0; + max-width: none; + max-height: none; +} + + .fancybox-spaceball { + z-index: 1; +} + +.fancybox-slide--iframe .fancybox-content { + padding: 0; + width: 80%; + height: 80%; + max-width: calc(100% - 100px); + max-height: calc(100% - 88px); + overflow: visible; + background: #fff; +} + +.fancybox-iframe { + display: block; + margin: 0; + padding: 0; + border: 0; + width: 100%; + height: 100%; + background: #fff; +} + +.fancybox-error { + margin: 0; + padding: 40px; + width: 100%; + max-width: 380px; + background: #fff; + cursor: default; +} + +.fancybox-error p { + margin: 0; + padding: 0; + color: #444; + font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; +} + +.fancybox-close-small { + position: absolute; + top: 0; + right: 0; + width: 44px; + height: 44px; + padding: 0; + margin: 0; + border: 0; + border-radius: 0; + outline: none; + background: transparent; + z-index: 10; + cursor: pointer; +} + +.fancybox-close-small:after { + content: '×'; + position: absolute; + top : 5px; + right: 5px; + width: 30px; + height: 30px; + font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif; + color: #888; + font-weight: 300; + text-align: center; + border-radius: 50%; + border-width: 0; + background: #fff; + transition: background .25s; + box-sizing: border-box; + z-index: 2; +} + +.fancybox-close-small:focus:after { + outline: 1px dotted #888; +} + +.fancybox-close-small:hover:after { + color: #555; + background: #eee; +} + +.fancybox-slide--iframe .fancybox-close-small { + top : 0; + right : -44px; +} + +.fancybox-slide--iframe .fancybox-close-small:after { + background: transparent; + font-size: 35px; + color: #aaa; +} + +.fancybox-slide--iframe .fancybox-close-small:hover:after { + color: #fff; +} + + +/* Caption */ + +.fancybox-caption-wrap { + bottom: 0; + left: 0; + right: 0; + padding: 60px 30px 0 30px; + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 20%, rgba(0,0,0,0.2) 40%,rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.8) 100%); + pointer-events: none; +} + +.fancybox-caption { + padding: 30px 0; + border-top: 1px solid rgba(255,255,255,0.4); + font-size: 14px; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + color: #fff; + line-height: 20px; + -webkit-text-size-adjust: none; +} + +.fancybox-caption a, +.fancybox-caption button, +.fancybox-caption select { + pointer-events: all; +} + +.fancybox-caption a { + color: #fff; + text-decoration: underline; +} + + +/* Buttons */ + +.fancybox-button { + display: inline-block; + position: relative; + margin: 0; + padding: 0; + border: 0; + width: 44px; + height: 44px; + line-height: 44px; + text-align: center; + background: transparent; + color: #ddd; + border-radius: 0; + cursor: pointer; + vertical-align: top; + outline: none; +} + +.fancybox-button[disabled] { + cursor: default; + pointer-events: none; +} + +.fancybox-infobar__body, .fancybox-button { + background: rgba(30,30,30,0.6); +} + +.fancybox-button:hover:not([disabled]) { + color: #fff; + background: rgba(0,0,0,0.8); +} + +.fancybox-button::before, +.fancybox-button::after { + content: ''; + pointer-events: none; + position: absolute; + background-color: currentColor; + color: currentColor; + opacity: 0.9; + box-sizing: border-box; + display: inline-block; +} + +.fancybox-button[disabled]::before, +.fancybox-button[disabled]::after { + opacity: 0.3; +} + +.fancybox-button--left::after, +.fancybox-button--right::after { + top: 18px; + width: 6px; + height: 6px; + background: transparent; + border-top: solid 2px currentColor; + border-right: solid 2px currentColor; +} + +.fancybox-button--left::after { + left: 20px; + transform: rotate(-135deg); +} + +.fancybox-button--right::after { + right: 20px; + transform: rotate(45deg); +} + +.fancybox-button--left { + border-bottom-left-radius: 5px; +} + +.fancybox-button--right { + border-bottom-right-radius: 5px; +} + +.fancybox-button--close::before, .fancybox-button--close::after { + content: ''; + display: inline-block; + position: absolute; + height: 2px; + width: 16px; + top: calc(50% - 1px); + left: calc(50% - 8px); +} + +.fancybox-button--close::before { + transform: rotate(45deg); +} + +.fancybox-button--close::after { + transform: rotate(-45deg); +} + + +/* Navigation arrows */ + +.fancybox-arrow { + position: absolute; + top: 50%; + margin: -50px 0 0 0; + height: 100px; + width: 54px; + padding: 0; + border: 0; + outline: none; + background: none; + cursor: pointer; + z-index: 99995; + opacity: 0; + user-select: none; + transition: opacity .25s; +} + +.fancybox-arrow::after { + content : ''; + position: absolute; + top: 28px; + width: 44px; + height: 44px; + background-color: rgba(30,30,30,0.8); + background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-position: center center; + background-size: 24px 24px; +} + +.fancybox-arrow--right { + right: 0; +} + +.fancybox-arrow--left { + left: 0; + transform: scaleX(-1); +} + +.fancybox-arrow--right::after, +.fancybox-arrow--left::after { + left: 0; +} + +.fancybox-show-nav .fancybox-arrow { + opacity: 0.6; +} + +.fancybox-show-nav .fancybox-arrow[disabled] { + opacity: 0.3; +} + + +/* Loading indicator */ + +.fancybox-loading { + border: 6px solid rgba(100, 100, 100, .4); + border-top: 6px solid rgba(255, 255, 255, .6); + border-radius: 100%; + height: 50px; + width: 50px; + animation: fancybox-rotate .8s infinite linear; + background: transparent; + position: absolute; + top: 50%; + left: 50%; + margin-top: -25px; + margin-left: -25px; + z-index: 99999; +} + +@keyframes fancybox-rotate { + from { transform: rotate( 0deg ); } + to { transform: rotate( 359deg ); } +} + + +/* Transition effects */ + +.fancybox-animated { + transition-timing-function: cubic-bezier(0, 0, 0.25, 1); +} + +/* transitionEffect: slide */ + +.fancybox-fx-slide.fancybox-slide--previous { + transform: translate3d(-100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-slide.fancybox-slide--next { + transform: translate3d(100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-slide.fancybox-slide--current { + transform: translate3d(0, 0, 0); + opacity: 1; +} + +/* transitionEffect: fade */ + +.fancybox-fx-fade.fancybox-slide--previous, +.fancybox-fx-fade.fancybox-slide--next { + opacity: 0; + transition-timing-function: cubic-bezier(.19,1,.22,1); +} + +.fancybox-fx-fade.fancybox-slide--current { + opacity: 1; +} + +/* transitionEffect: zoom-in-out */ + +.fancybox-fx-zoom-in-out.fancybox-slide--previous { + transform: scale3d(1.5, 1.5, 1.5); + opacity: 0; +} + +.fancybox-fx-zoom-in-out.fancybox-slide--next { + transform: scale3d(0.5, 0.5, 0.5); + opacity: 0; +} + +.fancybox-fx-zoom-in-out.fancybox-slide--current { + transform: scale3d(1, 1, 1); + opacity: 1; +} + +/* transitionEffect: rotate */ + +.fancybox-fx-rotate.fancybox-slide--previous { + transform: rotate(-360deg); + opacity: 0; +} + +.fancybox-fx-rotate.fancybox-slide--next { + transform: rotate(360deg); + opacity: 0; +} + +.fancybox-fx-rotate.fancybox-slide--current { + transform: rotate(0deg); + opacity: 1; +} + +/* transitionEffect: circular */ + +.fancybox-fx-circular.fancybox-slide--previous { + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-circular.fancybox-slide--next { + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-circular.fancybox-slide--current { + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} + +/* transitionEffect: tube */ + +.fancybox-fx-tube.fancybox-slide--previous { + transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); +} + +.fancybox-fx-tube.fancybox-slide--next { + transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); +} + +.fancybox-fx-tube.fancybox-slide--current { + transform: translate3d(0, 0, 0) scale(1); +} + + +/* Styling for Small-Screen Devices */ + +@media all and (max-width: 800px) { + + .fancybox-infobar { + left: 0; + margin-left: 0; + } + + .fancybox-button--left, + .fancybox-button--right { + display: none !important; + } + + .fancybox-caption { + padding: 20px 0; + margin: 0; + } +} diff --git a/fancybox/src/css/fullscreen.css b/fancybox/src/css/fullscreen.css new file mode 100644 index 0000000..a4bd316 --- /dev/null +++ b/fancybox/src/css/fullscreen.css @@ -0,0 +1,11 @@ + +/* Fullscreen */ + +.fancybox-button--fullscreen::before { + width: 15px; + height: 11px; + left: calc(50% - 7px); + top: calc(50% - 6px); + border: 2px solid; + background: none; +} diff --git a/fancybox/src/css/slideshow.css b/fancybox/src/css/slideshow.css new file mode 100644 index 0000000..b663619 --- /dev/null +++ b/fancybox/src/css/slideshow.css @@ -0,0 +1,26 @@ +/* Slideshow button */ + +.fancybox-button--play {} + +.fancybox-button--play::before, +.fancybox-button--pause::before { + top: calc(50% - 6px); + left: calc(50% - 4px); + background: transparent; +} + +.fancybox-button--play::before { + width: 0; + height: 0; + border-top: 6px inset transparent; + border-bottom: 6px inset transparent; + border-left: 10px solid; + border-radius: 1px; +} + +.fancybox-button--pause::before { + width: 7px; + height: 11px; + border-style: solid; + border-width: 0 2px 0 2px; +} diff --git a/fancybox/src/css/thumbs.css b/fancybox/src/css/thumbs.css new file mode 100644 index 0000000..215e5f7 --- /dev/null +++ b/fancybox/src/css/thumbs.css @@ -0,0 +1,122 @@ + +/* Thumbs */ + +.fancybox-thumbs { + display: none; +} + +.fancybox-button--thumbs { + display: none; +} + +@media all and (min-width: 800px) { + + .fancybox-button--thumbs { + display: inline-block; + } + + .fancybox-button--thumbs span { + font-size: 23px; + } + + .fancybox-button--thumbs::before { + width: 3px; + height: 3px; + top: calc(50% - 2px); + left: calc(50% - 2px); + box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; + } + + .fancybox-thumbs { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: auto; + width: 220px; + margin: 0; + padding: 5px 5px 0 0; + background: #fff; + word-break: normal; + -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + box-sizing: border-box; + z-index: 99995; + } + + .fancybox-show-thumbs .fancybox-thumbs { + display: block; + } + + .fancybox-show-thumbs .fancybox-inner { + right: 220px; + } + + .fancybox-thumbs > ul { + list-style: none; + position: absolute; + position: relative; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + font-size: 0; + } + + .fancybox-thumbs > ul > li { + float: left; + overflow: hidden; + max-width: 50%; + padding: 0; + margin: 0; + width: 105px; + height: 75px; + position: relative; + cursor: pointer; + outline: none; + border: 5px solid transparent; + border-top-width: 0; + border-right-width: 0; + -webkit-tap-highlight-color: transparent; + backface-visibility: hidden; + box-sizing: border-box; + } + + li.fancybox-thumbs-loading { + background: rgba(0,0,0,0.1); + } + + .fancybox-thumbs > ul > li > img { + position: absolute; + top: 0; + left: 0; + min-width: 100%; + min-height: 100%; + max-width: none; + max-height: none; + -webkit-touch-callout: none; + user-select: none; + } + + .fancybox-thumbs > ul > li:before { + content:''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 2px; + border: 4px solid #4ea7f9; + z-index: 99991; + opacity: 0; + transition: all 0.2s cubic-bezier(.25,.46,.45,.94); + } + + .fancybox-thumbs > ul > li.fancybox-thumbs-active:before { + opacity: 1; + } + +} diff --git a/fancybox/src/js/core.js b/fancybox/src/js/core.js new file mode 100644 index 0000000..b381c61 --- /dev/null +++ b/fancybox/src/js/core.js @@ -0,0 +1,2964 @@ +;(function (window, document, $, undefined) { + 'use strict'; + + // If there's no jQuery, fancyBox can't work + // ========================================= + + if ( !$ ) { + return; + } + + // Check if fancyBox is already initialized + // ======================================== + + if ( $.fn.fancybox ) { + + $.error('fancyBox already initialized'); + + return; + } + + // Private default settings + // ======================== + + var defaults = { + + // Enable infinite gallery navigation + loop : false, + + // Space around image, ignored if zoomed-in or viewport smaller than 800px + margin : [44, 0], + + // Horizontal space between slides + gutter : 50, + + // Enable keyboard navigation + keyboard : true, + + // Should display navigation arrows at the screen edges + arrows : true, + + // Should display infobar (counter and arrows at the top) + infobar : false, + + // Should display toolbar (buttons at the top) + toolbar : true, + + // What buttons should appear in the top right corner. + // Buttons will be created using templates from `btnTpl` option + // and they will be placed into toolbar (class="fancybox-toolbar"` element) + buttons : [ + 'slideShow', + 'fullScreen', + 'thumbs', + 'close' + ], + + // Detect "idle" time in seconds + idleTime : 4, + + // Should display buttons at top right corner of the content + // If 'auto' - they will be created for content having type 'html', 'inline' or 'ajax' + // Use template from `btnTpl.smallBtn` for customization + smallBtn : 'auto', + + // Disable right-click and use simple image protection for images + protect : false, + + // Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc + modal : false, + + image : { + + // Wait for images to load before displaying + // Requires predefined image dimensions + // If 'auto' - will zoom in thumbnail if 'width' and 'height' attributes are found + preload : "auto", + + }, + + ajax : { + + // Object containing settings for ajax request + settings : { + + // This helps to indicate that request comes from the modal + // Feel free to change naming + data : { + fancybox : true + } + } + + }, + + iframe : { + + // Iframe template + tpl : '', + + // Preload iframe before displaying it + // This allows to calculate iframe content width and height + // (note: Due to "Same Origin Policy", you can't get cross domain data). + preload : true, + + // Custom CSS styling for iframe wrapping element + // You can use this to set custom iframe dimensions + css : {}, + + // Iframe tag attributes + attr : { + scrolling : 'auto' + } + + }, + + // Open/close animation type + // Possible values: + // false - disable + // "zoom" - zoom images from/to thumbnail + // "fade" + // "zoom-in-out" + // + animationEffect : "zoom", + + // Duration in ms for open/close animation + animationDuration : 366, + + // Should image change opacity while zooming + // If opacity is 'auto', then opacity will be changed if image and thumbnail have different aspect ratios + zoomOpacity : 'auto', + + // Transition effect between slides + // + // Possible values: + // false - disable + // "fade' + // "slide' + // "circular' + // "tube' + // "zoom-in-out' + // "rotate' + // + transitionEffect : "fade", + + // Duration in ms for transition animation + transitionDuration : 366, + + // Custom CSS class for slide element + slideClass : '', + + // Custom CSS class for layout + baseClass : '', + + // Base template for layout + baseTpl : + '', + + // Loading indicator template + spinnerTpl : '
', + + // Error message template + errorTpl : '

{{ERROR}}

', + + btnTpl : { + slideShow : '', + fullScreen : '', + thumbs : '', + close : '', + + // This small close button will be appended to your html/inline/ajax content by default, + // if "smallBtn" option is not set to false + smallBtn : '' + }, + + // Container is injected into this element + parentEl : 'body', + + + // Focus handling + // ============== + + // Try to focus on the first focusable element after opening + autoFocus : true, + + // Put focus back to active element after closing + backFocus : true, + + // Do not let user to focus on element outside modal content + trapFocus : true, + + + // Module specific options + // ======================= + + fullScreen : { + autoStart : false, + }, + + touch : { + vertical : true, // Allow to drag content vertically + momentum : true // Continue movement after releasing mouse/touch when panning + }, + + // Hash value when initializing manually, + // set `false` to disable hash change + hash : null, + + // Customize or add new media types + // Example: + /* + media : { + youtube : { + params : { + autoplay : 0 + } + } + } + */ + media : {}, + + slideShow : { + autoStart : false, + speed : 4000 + }, + + thumbs : { + autoStart : false, // Display thumbnails on opening + hideOnClose : true // Hide thumbnail grid when closing animation starts + }, + + // Callbacks + //========== + + // See Documentation/API/Events for more information + // Example: + /* + afterShow: function( instance, current ) { + console.info( 'Clicked element:' ); + console.info( current.opts.$orig ); + } + */ + + onInit : $.noop, // When instance has been initialized + + beforeLoad : $.noop, // Before the content of a slide is being loaded + afterLoad : $.noop, // When the content of a slide is done loading + + beforeShow : $.noop, // Before open animation starts + afterShow : $.noop, // When content is done loading and animating + + beforeClose : $.noop, // Before the instance attempts to close. Return false to cancel the close. + afterClose : $.noop, // After instance has been closed + + onActivate : $.noop, // When instance is brought to front + onDeactivate : $.noop, // When other instance has been activated + + + // Interaction + // =========== + + // Use options below to customize taken action when user clicks or double clicks on the fancyBox area, + // each option can be string or method that returns value. + // + // Possible values: + // "close" - close instance + // "next" - move to next gallery item + // "nextOrClose" - move to next gallery item or close if gallery has only one item + // "toggleControls" - show/hide controls + // "zoom" - zoom image (if loaded) + // false - do nothing + + // Clicked on the content + clickContent : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + }, + + // Clicked on the slide + clickSlide : 'close', + + // Clicked on the background (backdrop) element + clickOutside : 'close', + + // Same as previous two, but for double click + dblclickContent : false, + dblclickSlide : false, + dblclickOutside : false, + + + // Custom options when mobile device is detected + // ============================================= + + mobile : { + clickContent : function( current, event ) { + return current.type === 'image' ? 'toggleControls' : false; + }, + clickSlide : function( current, event ) { + return current.type === 'image' ? 'toggleControls' : "close"; + }, + dblclickContent : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + }, + dblclickSlide : function( current, event ) { + return current.type === 'image' ? 'zoom' : false; + } + }, + + + // Internationalization + // ============ + + lang : 'en', + i18n : { + 'en' : { + CLOSE : 'Close', + NEXT : 'Next', + PREV : 'Previous', + ERROR : 'The requested content cannot be loaded.
Please try again later.', + PLAY_START : 'Start slideshow', + PLAY_STOP : 'Pause slideshow', + FULL_SCREEN : 'Full screen', + THUMBS : 'Thumbnails' + }, + 'de' : { + CLOSE : 'Schliessen', + NEXT : 'Weiter', + PREV : 'Zurück', + ERROR : 'Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.', + PLAY_START : 'Diaschau starten', + PLAY_STOP : 'Diaschau beenden', + FULL_SCREEN : 'Vollbild', + THUMBS : 'Vorschaubilder' + } + } + + }; + + // Few useful variables and methods + // ================================ + + var $W = $(window); + var $D = $(document); + + var called = 0; + + + // Check if an object is a jQuery object and not a native JavaScript object + // ======================================================================== + + var isQuery = function ( obj ) { + return obj && obj.hasOwnProperty && obj instanceof $; + }; + + + // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame" + // =============================================================================== + + var requestAFrame = (function () { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + + // Detect the supported transition-end event property name + // ======================================================= + + var transitionEnd = (function () { + var t, el = document.createElement("fakeelement"); + + var transitions = { + "transition" : "transitionend", + "OTransition" : "oTransitionEnd", + "MozTransition" : "transitionend", + "WebkitTransition": "webkitTransitionEnd" + }; + + for (t in transitions) { + if (el.style[t] !== undefined){ + return transitions[t]; + } + } + })(); + + + // Force redraw on an element. + // This helps in cases where the browser doesn't redraw an updated element properly. + // ================================================================================= + + var forceRedraw = function( $el ) { + return ( $el && $el.length && $el[0].offsetHeight ); + }; + + + // Class definition + // ================ + + var FancyBox = function( content, opts, index ) { + var self = this; + + self.opts = $.extend( true, { index : index }, defaults, opts || {} ); + + // Exclude buttons option from deep merging + if ( opts && $.isArray( opts.buttons ) ) { + self.opts.buttons = opts.buttons; + } + + self.id = self.opts.id || ++called; + self.group = []; + + self.currIndex = parseInt( self.opts.index, 10 ) || 0; + self.prevIndex = null; + + self.prevPos = null; + self.currPos = 0; + + self.firstRun = null; + + // Create group elements from original item collection + self.createGroup( content ); + + if ( !self.group.length ) { + return; + } + + // Save last active element and current scroll position + self.$lastFocus = $(document.activeElement).blur(); + + // Collection of gallery objects + self.slides = {}; + + self.init( content ); + + }; + + $.extend(FancyBox.prototype, { + + // Create DOM structure + // ==================== + + init : function() { + var self = this; + + var testWidth, $container, buttonStr; + + var firstItemOpts = self.group[ self.currIndex ].opts; + + self.scrollTop = $D.scrollTop(); + self.scrollLeft = $D.scrollLeft(); + + + // Hide scrollbars + // =============== + + if ( !$.fancybox.getInstance() && !$.fancybox.isMobile && $( 'body' ).css('overflow') !== 'hidden' ) { + testWidth = $( 'body' ).width(); + + $( 'html' ).addClass( 'fancybox-enabled' ); + + // Compare body width after applying "overflow: hidden" + testWidth = $( 'body' ).width() - testWidth; + + // If width has changed - compensate missing scrollbars by adding right margin + if ( testWidth > 1 ) { + $( 'head' ).append( '' ); + } + } + + + // Build html markup and set references + // ==================================== + + // Build html code for buttons and insert into main template + buttonStr = ''; + + $.each( firstItemOpts.buttons, function( index, value ) { + buttonStr += ( firstItemOpts.btnTpl[ value ] || '' ); + }); + + // Create markup from base template, it will be initially hidden to + // avoid unnecessary work like painting while initializing is not complete + $container = $( self.translate( self, firstItemOpts.baseTpl.replace( '\{\{BUTTONS\}\}', buttonStr ) ) ) + .addClass( 'fancybox-is-hidden' ) + .attr('id', 'fancybox-container-' + self.id) + .addClass( firstItemOpts.baseClass ) + .data( 'FancyBox', self ) + .prependTo( firstItemOpts.parentEl ); + + // Create object holding references to jQuery wrapped nodes + self.$refs = { + container : $container + }; + + [ 'bg', 'inner', 'infobar', 'toolbar', 'stage', 'caption' ].forEach(function(item) { + self.$refs[ item ] = $container.find( '.fancybox-' + item ); + }); + + // Check for redundant elements + if ( !firstItemOpts.arrows || self.group.length < 2 ) { + $container.find('.fancybox-navigation').remove(); + } + + if ( !firstItemOpts.infobar ) { + self.$refs.infobar.remove(); + } + + if ( !firstItemOpts.toolbar ) { + self.$refs.toolbar.remove(); + } + + self.trigger( 'onInit' ); + + // Bring to front and enable events + self.activate(); + + // Build slides, load and reveal content + self.jumpTo( self.currIndex ); + }, + + + // Simple i18n support - replaces object keys found in template + // with corresponding values + // ============================================================ + + translate : function( obj, str ) { + var arr = obj.opts.i18n[ obj.opts.lang ]; + + return str.replace(/\{\{(\w+)\}\}/g, function(match, n) { + var value = arr[n]; + + if ( value === undefined ) { + return match; + } + + return value; + }); + }, + + // Create array of gally item objects + // Check if each object has valid type and content + // =============================================== + + createGroup : function ( content ) { + var self = this; + var items = $.makeArray( content ); + + $.each(items, function( i, item ) { + var obj = {}, + opts = {}, + data = [], + $item, + type, + src, + srcParts; + + // Step 1 - Make sure we have an object + // ==================================== + + if ( $.isPlainObject( item ) ) { + + // We probably have manual usage here, something like + // $.fancybox.open( [ { src : "image.jpg", type : "image" } ] ) + + obj = item; + opts = item.opts || item; + + } else if ( $.type( item ) === 'object' && $( item ).length ) { + + // Here we propbably have jQuery collection returned by some selector + + $item = $( item ); + data = $item.data(); + + opts = 'options' in data ? data.options : {}; + opts = $.type( opts ) === 'object' ? opts : {}; + + obj.src = 'src' in data ? data.src : ( opts.src || $item.attr( 'href' ) ); + + [ 'width', 'height', 'thumb', 'type', 'filter' ].forEach(function(item) { + if ( item in data ) { + opts[ item ] = data[ item ]; + } + }); + + if ( 'srcset' in data ) { + opts.image = { srcset : data.srcset }; + } + + opts.$orig = $item; + + if ( !obj.type && !obj.src ) { + obj.type = 'inline'; + obj.src = item; + } + + } else { + + // Assume we have a simple html code, for example: + // $.fancybox.open( '

Hi!

' ); + + obj = { + type : 'html', + src : item + '' + }; + + } + + // Each gallery object has full collection of options + obj.opts = $.extend( true, {}, self.opts, opts ); + + if ( $.fancybox.isMobile ) { + obj.opts = $.extend( true, {}, obj.opts, obj.opts.mobile ); + } + + + // Step 2 - Make sure we have content type, if not - try to guess + // ============================================================== + + type = obj.type || obj.opts.type; + src = obj.src || ''; + + if ( !type && src ) { + if ( src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ) { + type = 'image'; + + } else if ( src.match(/\.(pdf)((\?|#).*)?$/i) ) { + type = 'pdf'; + + } else if ( src.charAt(0) === '#' ) { + type = 'inline'; + } + } + + obj.type = type; + + + // Step 3 - Some adjustments + // ========================= + + obj.index = self.group.length; + + // Check if $orig and $thumb objects exist + if ( obj.opts.$orig && !obj.opts.$orig.length ) { + delete obj.opts.$orig; + } + + if ( !obj.opts.$thumb && obj.opts.$orig ) { + obj.opts.$thumb = obj.opts.$orig.find( 'img:first' ); + } + + if ( obj.opts.$thumb && !obj.opts.$thumb.length ) { + delete obj.opts.$thumb; + } + + // Caption is a "special" option, it can be passed as a method + if ( $.type( obj.opts.caption ) === 'function' ) { + obj.opts.caption = obj.opts.caption.apply( item, [ self, obj ] ); + + } else if ( 'caption' in data ) { + obj.opts.caption = data.caption; + } + + // Make sure we have caption as a string + obj.opts.caption = obj.opts.caption === undefined ? '' : obj.opts.caption + ''; + + // Check if url contains "filter" used to filter the content + // Example: "ajax.html #something" + if ( type === 'ajax' ) { + srcParts = src.split(/\s+/, 2); + + if ( srcParts.length > 1 ) { + obj.src = srcParts.shift(); + + obj.opts.filter = srcParts.shift(); + } + } + + if ( obj.opts.smallBtn == 'auto' ) { + + if ( $.inArray( type, ['html', 'inline', 'ajax'] ) > -1 ) { + obj.opts.toolbar = false; + obj.opts.smallBtn = true; + + } else { + obj.opts.smallBtn = false; + } + + } + + // If the type is "pdf", then simply load file into iframe + if ( type === 'pdf' ) { + obj.type = 'iframe'; + + obj.opts.iframe.preload = false; + } + + // Hide all buttons and disable interactivity for modal items + if ( obj.opts.modal ) { + + obj.opts = $.extend(true, obj.opts, { + // Remove buttons + infobar : 0, + toolbar : 0, + + smallBtn : 0, + + // Disable keyboard navigation + keyboard : 0, + + // Disable some modules + slideShow : 0, + fullScreen : 0, + thumbs : 0, + touch : 0, + + // Disable click event handlers + clickContent : false, + clickSlide : false, + clickOutside : false, + dblclickContent : false, + dblclickSlide : false, + dblclickOutside : false + }); + + } + + // Step 4 - Add processed object to group + // ====================================== + + self.group.push( obj ); + + }); + + }, + + + // Attach an event handler functions for: + // - navigation buttons + // - browser scrolling, resizing; + // - focusing + // - keyboard + // - detect idle + // ====================================== + + addEvents : function() { + var self = this; + + self.removeEvents(); + + // Make navigation elements clickable + self.$refs.container.on('click.fb-close', '[data-fancybox-close]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.close( e ); + + }).on( 'click.fb-prev touchend.fb-prev', '[data-fancybox-prev]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.previous(); + + }).on( 'click.fb-next touchend.fb-next', '[data-fancybox-next]', function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.next(); + + }); + + + // Handle page scrolling and browser resizing + $W.on('orientationchange.fb resize.fb', function(e) { + + if ( e && e.originalEvent && e.originalEvent.type === "resize" ) { + + requestAFrame(function() { + self.update(); + }); + + } else { + + self.$refs.stage.hide(); + + setTimeout(function() { + self.$refs.stage.show(); + + self.update(); + }, 500); + + } + + }); + + // Trap keyboard focus inside of the modal, so the user does not accidentally tab outside of the modal + // (a.k.a. "escaping the modal") + $D.on('focusin.fb', function(e) { + var instance = $.fancybox ? $.fancybox.getInstance() : null; + + if ( instance.isClosing || !instance.current || !instance.current.opts.trapFocus || $( e.target ).hasClass( 'fancybox-container' ) || $( e.target ).is( document ) ) { + return; + } + + if ( instance && $( e.target ).css( 'position' ) !== 'fixed' && !instance.$refs.container.has( e.target ).length ) { + e.stopPropagation(); + + instance.focus(); + + // Sometimes page gets scrolled, set it back + $W.scrollTop( self.scrollTop ).scrollLeft( self.scrollLeft ); + } + }); + + + // Enable keyboard navigation + $D.on('keydown.fb', function (e) { + var current = self.current, + keycode = e.keyCode || e.which; + + if ( !current || !current.opts.keyboard ) { + return; + } + + if ( $(e.target).is('input') || $(e.target).is('textarea') ) { + return; + } + + // Backspace and Esc keys + if ( keycode === 8 || keycode === 27 ) { + e.preventDefault(); + + self.close( e ); + + return; + } + + // Left arrow and Up arrow + if ( keycode === 37 || keycode === 38 ) { + e.preventDefault(); + + self.previous(); + + return; + } + + // Righ arrow and Down arrow + if ( keycode === 39 || keycode === 40 ) { + e.preventDefault(); + + self.next(); + + return; + } + + self.trigger('afterKeydown', e, keycode); + }); + + + // Hide controls after some inactivity period + if ( self.group[ self.currIndex ].opts.idleTime ) { + self.idleSecondsCounter = 0; + + $D.on('mousemove.fb-idle mouseenter.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle', function() { + self.idleSecondsCounter = 0; + + if ( self.isIdle ) { + self.showControls(); + } + + self.isIdle = false; + }); + + self.idleInterval = window.setInterval(function() { + + self.idleSecondsCounter++; + + if ( self.idleSecondsCounter >= self.group[ self.currIndex ].opts.idleTime ) { + self.isIdle = true; + self.idleSecondsCounter = 0; + + self.hideControls(); + } + + }, 1000); + } + + }, + + + // Remove events added by the core + // =============================== + + removeEvents : function () { + var self = this; + + $W.off( 'orientationchange.fb resize.fb' ); + $D.off( 'focusin.fb keydown.fb .fb-idle' ); + + this.$refs.container.off( '.fb-close .fb-prev .fb-next' ); + + if ( self.idleInterval ) { + window.clearInterval( self.idleInterval ); + + self.idleInterval = null; + } + }, + + + // Change to previous gallery item + // =============================== + + previous : function( duration ) { + return this.jumpTo( this.currPos - 1, duration ); + }, + + + // Change to next gallery item + // =========================== + + next : function( duration ) { + return this.jumpTo( this.currPos + 1, duration ); + }, + + + // Switch to selected gallery item + // =============================== + + jumpTo : function ( pos, duration, slide ) { + var self = this, + firstRun, + loop, + current, + previous, + canvasWidth, + currentPos, + transitionProps; + + var groupLen = self.group.length; + + if ( self.isSliding || self.isClosing || ( self.isAnimating && self.firstRun ) ) { + return; + } + + pos = parseInt( pos, 10 ); + loop = self.current ? self.current.opts.loop : self.opts.loop; + + if ( !loop && ( pos < 0 || pos >= groupLen ) ) { + return false; + } + + firstRun = self.firstRun = ( self.firstRun === null ); + + if ( groupLen < 2 && !firstRun && !!self.isSliding ) { + return; + } + + previous = self.current; + + self.prevIndex = self.currIndex; + self.prevPos = self.currPos; + + // Create slides + current = self.createSlide( pos ); + + if ( groupLen > 1 ) { + if ( loop || current.index > 0 ) { + self.createSlide( pos - 1 ); + } + + if ( loop || current.index < groupLen - 1 ) { + self.createSlide( pos + 1 ); + } + } + + self.current = current; + self.currIndex = current.index; + self.currPos = current.pos; + + self.trigger( 'beforeShow', firstRun ); + + self.updateControls(); + + currentPos = $.fancybox.getTranslate( current.$slide ); + + current.isMoved = ( currentPos.left !== 0 || currentPos.top !== 0 ) && !current.$slide.hasClass( 'fancybox-animated' ); + current.forcedDuration = undefined; + + if ( $.isNumeric( duration ) ) { + current.forcedDuration = duration; + } else { + duration = current.opts[ firstRun ? 'animationDuration' : 'transitionDuration' ]; + } + + duration = parseInt( duration, 10 ); + + // Fresh start - reveal container, current slide and start loading content + if ( firstRun ) { + + if ( current.opts.animationEffect && duration ) { + self.$refs.container.css( 'transition-duration', duration + 'ms' ); + } + + self.$refs.container.removeClass( 'fancybox-is-hidden' ); + + forceRedraw( self.$refs.container ); + + self.$refs.container.addClass( 'fancybox-is-open' ); + + // Make first slide visible (to display loading icon, if needed) + current.$slide.addClass( 'fancybox-slide--current' ); + + self.loadSlide( current ); + + self.preload(); + + return; + } + + // Clean up + $.each(self.slides, function( index, slide ) { + $.fancybox.stop( slide.$slide ); + }); + + // Make current that slide is visible even if content is still loading + current.$slide.removeClass( 'fancybox-slide--next fancybox-slide--previous' ).addClass( 'fancybox-slide--current' ); + + // If slides have been dragged, animate them to correct position + if ( current.isMoved ) { + canvasWidth = Math.round( current.$slide.width() ); + + $.each(self.slides, function( index, slide ) { + var pos = slide.pos - current.pos; + + $.fancybox.animate( slide.$slide, { + top : 0, + left : ( pos * canvasWidth ) + ( pos * slide.opts.gutter ) + }, duration, function() { + + slide.$slide.removeAttr('style').removeClass( 'fancybox-slide--next fancybox-slide--previous' ); + + if ( slide.pos === self.currPos ) { + current.isMoved = false; + + self.complete(); + } + }); + }); + + } else { + self.$refs.stage.children().removeAttr( 'style' ); + } + + // Start transition that reveals current content + // or wait when it will be loaded + + if ( current.isLoaded ) { + self.revealContent( current ); + + } else { + self.loadSlide( current ); + } + + self.preload(); + + if ( previous.pos === current.pos ) { + return; + } + + // Handle previous slide + // ===================== + + transitionProps = 'fancybox-slide--' + ( previous.pos > current.pos ? 'next' : 'previous' ); + + previous.$slide.removeClass( 'fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous' ); + + previous.isComplete = false; + + if ( !duration || ( !current.isMoved && !current.opts.transitionEffect ) ) { + return; + } + + if ( current.isMoved ) { + previous.$slide.addClass( transitionProps ); + + } else { + + transitionProps = 'fancybox-animated ' + transitionProps + ' fancybox-fx-' + current.opts.transitionEffect; + + $.fancybox.animate( previous.$slide, transitionProps, duration, function() { + previous.$slide.removeClass( transitionProps ).removeAttr( 'style' ); + }); + + } + + }, + + + // Create new "slide" element + // These are gallery items that are actually added to DOM + // ======================================================= + + createSlide : function( pos ) { + + var self = this; + var $slide; + var index; + + index = pos % self.group.length; + index = index < 0 ? self.group.length + index : index; + + if ( !self.slides[ pos ] && self.group[ index ] ) { + $slide = $('
').appendTo( self.$refs.stage ); + + self.slides[ pos ] = $.extend( true, {}, self.group[ index ], { + pos : pos, + $slide : $slide, + isLoaded : false, + }); + + self.updateSlide( self.slides[ pos ] ); + } + + return self.slides[ pos ]; + }, + + + // Scale image to the actual size of the image + // =========================================== + + scaleToActual : function( x, y, duration ) { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var imgPos, posX, posY, scaleX, scaleY; + + var canvasWidth = parseInt( current.$slide.width(), 10 ); + var canvasHeight = parseInt( current.$slide.height(), 10 ); + + var newImgWidth = current.width; + var newImgHeight = current.height; + + if ( !( current.type == 'image' && !current.hasError) || !$what || self.isAnimating) { + return; + } + + $.fancybox.stop( $what ); + + self.isAnimating = true; + + x = x === undefined ? canvasWidth * 0.5 : x; + y = y === undefined ? canvasHeight * 0.5 : y; + + imgPos = $.fancybox.getTranslate( $what ); + + scaleX = newImgWidth / imgPos.width; + scaleY = newImgHeight / imgPos.height; + + // Get center position for original image + posX = ( canvasWidth * 0.5 - newImgWidth * 0.5 ); + posY = ( canvasHeight * 0.5 - newImgHeight * 0.5 ); + + // Make sure image does not move away from edges + if ( newImgWidth > canvasWidth ) { + posX = imgPos.left * scaleX - ( ( x * scaleX ) - x ); + + if ( posX > 0 ) { + posX = 0; + } + + if ( posX < canvasWidth - newImgWidth ) { + posX = canvasWidth - newImgWidth; + } + } + + if ( newImgHeight > canvasHeight) { + posY = imgPos.top * scaleY - ( ( y * scaleY ) - y ); + + if ( posY > 0 ) { + posY = 0; + } + + if ( posY < canvasHeight - newImgHeight ) { + posY = canvasHeight - newImgHeight; + } + } + + self.updateCursor( newImgWidth, newImgHeight ); + + $.fancybox.animate( $what, { + top : posY, + left : posX, + scaleX : scaleX, + scaleY : scaleY + }, duration || 330, function() { + self.isAnimating = false; + }); + + // Stop slideshow + if ( self.SlideShow && self.SlideShow.isActive ) { + self.SlideShow.stop(); + } + }, + + + // Scale image to fit inside parent element + // ======================================== + + scaleToFit : function( duration ) { + + var self = this; + + var current = self.current; + var $what = current.$content; + var end; + + if ( !( current.type == 'image' && !current.hasError) || !$what || self.isAnimating ) { + return; + } + + $.fancybox.stop( $what ); + + self.isAnimating = true; + + end = self.getFitPos( current ); + + self.updateCursor( end.width, end.height ); + + $.fancybox.animate( $what, { + top : end.top, + left : end.left, + scaleX : end.width / $what.width(), + scaleY : end.height / $what.height() + }, duration || 330, function() { + self.isAnimating = false; + }); + + }, + + // Calculate image size to fit inside viewport + // =========================================== + + getFitPos : function( slide ) { + var self = this; + var $what = slide.$content; + + var imgWidth = slide.width; + var imgHeight = slide.height; + + var margin = slide.opts.margin; + + var canvasWidth, canvasHeight, minRatio, width, height; + + if ( !$what || !$what.length || ( !imgWidth && !imgHeight) ) { + return false; + } + + // Convert "margin to CSS style: [ top, right, bottom, left ] + if ( $.type( margin ) === "number" ) { + margin = [ margin, margin ]; + } + + if ( margin.length == 2 ) { + margin = [ margin[0], margin[1], margin[0], margin[1] ]; + } + + if ( $W.width() < 800 ) { + margin = [ 0, 0, 0, 0 ]; + } + + // We can not use $slide width here, because it can have different diemensions while in transiton + canvasWidth = parseInt( self.$refs.stage.width(), 10 ) - ( margin[ 1 ] + margin[ 3 ] ); + canvasHeight = parseInt( self.$refs.stage.height(), 10 ) - ( margin[ 0 ] + margin[ 2 ] ); + + minRatio = Math.min(1, canvasWidth / imgWidth, canvasHeight / imgHeight ); + + width = Math.floor( minRatio * imgWidth ); + height = Math.floor( minRatio * imgHeight ); + + // Use floor rounding to make sure it really fits + return { + top : Math.floor( ( canvasHeight - height ) * 0.5 ) + margin[ 0 ], + left : Math.floor( ( canvasWidth - width ) * 0.5 ) + margin[ 3 ], + width : width, + height : height + }; + + }, + + + // Update position and content of all slides + // ========================================= + + update : function() { + + var self = this; + + $.each( self.slides, function( key, slide ) { + self.updateSlide( slide ); + }); + + }, + + + // Update slide position and scale content to fit + // ============================================== + + updateSlide : function( slide ) { + + var self = this; + var $what = slide.$content; + + if ( $what && ( slide.width || slide.height ) ) { + $.fancybox.stop( $what ); + + $.fancybox.setTranslate( $what, self.getFitPos( slide ) ); + + if ( slide.pos === self.currPos ) { + self.updateCursor(); + } + } + + slide.$slide.trigger( 'refresh' ); + + self.trigger( 'onUpdate', slide ); + + }, + + // Update cursor style depending if content can be zoomed + // ====================================================== + + updateCursor : function( nextWidth, nextHeight ) { + + var self = this; + var isScaledDown; + + var $container = self.$refs.container.removeClass('fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut'); + + if ( !self.current || self.isClosing ) { + return; + } + + if ( self.isZoomable() ) { + + $container.addClass( 'fancybox-is-zoomable' ); + + if ( nextWidth !== undefined && nextHeight !== undefined ) { + isScaledDown = nextWidth < self.current.width && nextHeight < self.current.height; + + } else { + isScaledDown = self.isScaledDown(); + } + + if ( isScaledDown ) { + + // If image is scaled down, then, obviously, it can be zoomed to full size + $container.addClass('fancybox-can-zoomIn'); + + } else { + + if ( self.current.opts.touch ) { + + // If image size ir largen than available available and touch module is not disable, + // then user can do panning + $container.addClass('fancybox-can-drag'); + + } else { + $container.addClass('fancybox-can-zoomOut'); + } + + } + + } else if ( self.current.opts.touch ) { + $container.addClass('fancybox-can-drag'); + } + + }, + + + // Check if current slide is zoomable + // ================================== + + isZoomable : function() { + + var self = this; + + var current = self.current; + var fitPos; + + if ( !current || self.isClosing ) { + return; + } + + // Assume that slide is zoomable if + // - image is loaded successfuly + // - click action is "zoom" + // - actual size of the image is smaller than available area + if ( current.type === 'image' && current.isLoaded && !current.hasError && + ( current.opts.clickContent === 'zoom' || ( $.isFunction( current.opts.clickContent ) && current.opts.clickContent( current ) === "zoom" ) ) + ) { + + fitPos = self.getFitPos( current ); + + if ( current.width > fitPos.width || current.height > fitPos.height ) { + return true; + } + + } + + return false; + + }, + + + // Check if current image dimensions are smaller than actual + // ========================================================= + + isScaledDown : function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ( $what ) { + rez = $.fancybox.getTranslate( $what ); + rez = rez.width < current.width || rez.height < current.height; + } + + return rez; + + }, + + + // Check if image dimensions exceed parent element + // =============================================== + + canPan : function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ( $what ) { + rez = self.getFitPos( current ); + rez = Math.abs( $what.width() - rez.width ) > 1 || Math.abs( $what.height() - rez.height ) > 1; + + } + + return rez; + + }, + + + // Load content into the slide + // =========================== + + loadSlide : function( slide ) { + + var self = this, type, $slide; + var ajaxLoad; + + if ( slide.isLoading ) { + return; + } + + if ( slide.isLoaded ) { + return; + } + + slide.isLoading = true; + + self.trigger( 'beforeLoad', slide ); + + type = slide.type; + $slide = slide.$slide; + + $slide + .off( 'refresh' ) + .trigger( 'onReset' ) + .addClass( 'fancybox-slide--' + ( type || 'unknown' ) ) + .addClass( slide.opts.slideClass ); + + // Create content depending on the type + + switch ( type ) { + + case 'image': + + self.setImage( slide ); + + break; + + case 'iframe': + + self.setIframe( slide ); + + break; + + case 'html': + + self.setContent( slide, slide.src || slide.content ); + + break; + + case 'inline': + + if ( $( slide.src ).length ) { + self.setContent( slide, $( slide.src ) ); + + } else { + self.setError( slide ); + } + + break; + + case 'ajax': + + self.showLoading( slide ); + + ajaxLoad = $.ajax( $.extend( {}, slide.opts.ajax.settings, { + url : slide.src, + success : function ( data, textStatus ) { + + if ( textStatus === 'success' ) { + self.setContent( slide, data ); + } + + }, + error : function ( jqXHR, textStatus ) { + + if ( jqXHR && textStatus !== 'abort' ) { + self.setError( slide ); + } + + } + })); + + $slide.one( 'onReset', function () { + ajaxLoad.abort(); + }); + + break; + + default: + + self.setError( slide ); + + break; + + } + + return true; + + }, + + + // Use thumbnail image, if possible + // ================================ + + setImage : function( slide ) { + + var self = this; + var srcset = slide.opts.image.srcset; + + var found, temp, pxRatio, windowWidth; + + // If we have "srcset", then we need to find matching "src" value. + // This is necessary, because when you set an src attribute, the browser will preload the image + // before any javascript or even CSS is applied. + if ( srcset ) { + pxRatio = window.devicePixelRatio || 1; + windowWidth = window.innerWidth * pxRatio; + + temp = srcset.split(',').map(function ( el ) { + var ret = {}; + + el.trim().split(/\s+/).forEach(function ( el, i ) { + var value = parseInt( el.substring(0, el.length - 1), 10 ); + + if ( i === 0 ) { + return ( ret.url = el ); + } + + if ( value ) { + ret.value = value; + ret.postfix = el[ el.length - 1 ]; + } + + }); + + return ret; + }); + + // Sort by value + temp.sort(function (a, b) { + return a.value - b.value; + }); + + // Ok, now we have an array of all srcset values + for ( var j = 0; j < temp.length; j++ ) { + var el = temp[ j ]; + + if ( ( el.postfix === 'w' && el.value >= windowWidth ) || ( el.postfix === 'x' && el.value >= pxRatio ) ) { + found = el; + break; + } + } + + // If not found, take the last one + if ( !found && temp.length ) { + found = temp[ temp.length - 1 ]; + } + + if ( found ) { + slide.src = found.url; + + // If we have default width/height values, we can calculate height for matching source + if ( slide.width && slide.height && found.postfix == 'w' ) { + slide.height = ( slide.width / slide.height ) * found.value; + slide.width = found.value; + } + } + } + + // This will be wrapper containing both ghost and actual image + slide.$content = $('
') + .addClass( 'fancybox-is-hidden' ) + .appendTo( slide.$slide ); + + + // If we have a thumbnail, we can display it while actual image is loading + // Users will not stare at black screen and actual image will appear gradually + if ( slide.opts.preload !== false && slide.opts.width && slide.opts.height && ( slide.opts.thumb || slide.opts.$thumb ) ) { + + slide.width = slide.opts.width; + slide.height = slide.opts.height; + + slide.$ghost = $('') + .one('error', function() { + + $(this).remove(); + + slide.$ghost = null; + + self.setBigImage( slide ); + + }) + .one('load', function() { + + self.afterLoad( slide ); + + self.setBigImage( slide ); + + }) + .addClass( 'fancybox-image' ) + .appendTo( slide.$content ) + .attr( 'src', slide.opts.thumb || slide.opts.$thumb.attr( 'src' ) ); + + } else { + + self.setBigImage( slide ); + + } + + }, + + + // Create full-size image + // ====================== + + setBigImage : function ( slide ) { + var self = this; + var $img = $(''); + + slide.$image = $img + .one('error', function() { + + self.setError( slide ); + + }) + .one('load', function() { + + // Clear timeout that checks if loading icon needs to be displayed + clearTimeout( slide.timouts ); + + slide.timouts = null; + + if ( self.isClosing ) { + return; + } + + slide.width = this.naturalWidth; + slide.height = this.naturalHeight; + + if ( slide.opts.image.srcset ) { + $img.attr( 'sizes', '100vw' ).attr( 'srcset', slide.opts.image.srcset ); + } + + self.hideLoading( slide ); + + if ( slide.$ghost ) { + + slide.timouts = setTimeout(function() { + slide.timouts = null; + + slide.$ghost.hide(); + + }, Math.min( 300, Math.max( 1000, slide.height / 1600 ) ) ); + + } else { + self.afterLoad( slide ); + } + + }) + .addClass( 'fancybox-image' ) + .attr('src', slide.src) + .appendTo( slide.$content ); + + if ( $img[0].complete ) { + $img.trigger( 'load' ); + + } else if( $img[0].error ) { + $img.trigger( 'error' ); + + } else { + + slide.timouts = setTimeout(function() { + if ( !$img[0].complete && !slide.hasError ) { + self.showLoading( slide ); + } + + }, 100); + + } + + }, + + + // Create iframe wrapper, iframe and bindings + // ========================================== + + setIframe : function( slide ) { + var self = this, + opts = slide.opts.iframe, + $slide = slide.$slide, + $iframe; + + slide.$content = $('
') + .css( opts.css ) + .appendTo( $slide ); + + $iframe = $( opts.tpl.replace(/\{rnd\}/g, new Date().getTime()) ) + .attr( opts.attr ) + .appendTo( slide.$content ); + + if ( opts.preload ) { + + self.showLoading( slide ); + + // Unfortunately, it is not always possible to determine if iframe is successfully loaded + // (due to browser security policy) + + $iframe.on('load.fb error.fb', function(e) { + this.isReady = 1; + + slide.$slide.trigger( 'refresh' ); + + self.afterLoad( slide ); + }); + + // Recalculate iframe content size + // =============================== + + $slide.on('refresh.fb', function() { + var $wrap = slide.$content, + $contents, + $body, + scrollWidth, + frameWidth, + frameHeight; + + if ( $iframe[0].isReady !== 1 ) { + return; + } + + // Check if content is accessible, + // it will fail if frame is not with the same origin + + try { + $contents = $iframe.contents(); + $body = $contents.find('body'); + + } catch (ignore) {} + + // Calculate dimensions for the wrapper + if ( $body && $body.length && !( opts.css.width !== undefined && opts.css.height !== undefined ) ) { + + scrollWidth = $iframe[0].contentWindow.document.documentElement.scrollWidth; + + frameWidth = Math.ceil( $body.outerWidth(true) + ( $wrap.width() - scrollWidth ) ); + frameHeight = Math.ceil( $body.outerHeight(true) ); + + // Resize wrapper to fit iframe content + $wrap.css({ + 'width' : opts.css.width === undefined ? frameWidth + ( $wrap.outerWidth() - $wrap.innerWidth() ) : opts.css.width, + 'height' : opts.css.height === undefined ? frameHeight + ( $wrap.outerHeight() - $wrap.innerHeight() ) : opts.css.height + }); + + } + + $wrap.removeClass( 'fancybox-is-hidden' ); + + }); + + } else { + + this.afterLoad( slide ); + + } + + $iframe.attr( 'src', slide.src ); + + if ( slide.opts.smallBtn === true ) { + slide.$content.prepend( self.translate( slide, slide.opts.btnTpl.smallBtn ) ); + } + + // Remove iframe if closing or changing gallery item + $slide.one( 'onReset', function () { + + // This helps IE not to throw errors when closing + try { + + $( this ).find( 'iframe' ).hide().attr( 'src', '//about:blank' ); + + } catch ( ignore ) {} + + $( this ).empty(); + + slide.isLoaded = false; + + }); + + }, + + + // Wrap and append content to the slide + // ====================================== + + setContent : function ( slide, content ) { + + var self = this; + + if ( self.isClosing ) { + return; + } + + self.hideLoading( slide ); + + slide.$slide.empty(); + + if ( isQuery( content ) && content.parent().length ) { + + // If content is a jQuery object, then it will be moved to the slide. + // The placeholder is created so we will know where to put it back. + // If user is navigating gallery fast, then the content might be already inside fancyBox + // ===================================================================================== + + // Make sure content is not already moved to fancyBox + content.parent( '.fancybox-slide--inline' ).trigger( 'onReset' ); + + // Create temporary element marking original place of the content + slide.$placeholder = $( '
' ).hide().insertAfter( content ); + + // Make sure content is visible + content.css('display', 'inline-block'); + + } else if ( !slide.hasError ) { + + // If content is just a plain text, try to convert it to html + if ( $.type( content ) === 'string' ) { + content = $('
').append( $.trim( content ) ).contents(); + + // If we have text node, then add wrapping element to make vertical alignment work + if ( content[0].nodeType === 3 ) { + content = $('
').html( content ); + } + } + + // If "filter" option is provided, then filter content + if ( slide.opts.filter ) { + content = $('
').html( content ).find( slide.opts.filter ); + } + + } + + slide.$slide.one('onReset', function () { + + // Put content back + if ( slide.$placeholder ) { + slide.$placeholder.after( content.hide() ).remove(); + + slide.$placeholder = null; + } + + // Remove custom close button + if ( slide.$smallBtn ) { + slide.$smallBtn.remove(); + + slide.$smallBtn = null; + } + + // Remove content and mark slide as not loaded + if ( !slide.hasError ) { + $(this).empty(); + + slide.isLoaded = false; + } + + }); + + slide.$content = $( content ).appendTo( slide.$slide ); + + if ( slide.opts.smallBtn && !slide.$smallBtn ) { + slide.$smallBtn = $( self.translate( slide, slide.opts.btnTpl.smallBtn ) ).appendTo( slide.$content ); + } + + this.afterLoad( slide ); + }, + + // Display error message + // ===================== + + setError : function ( slide ) { + + slide.hasError = true; + + slide.$slide.removeClass( 'fancybox-slide--' + slide.type ); + + this.setContent( slide, this.translate( slide, slide.opts.errorTpl ) ); + + }, + + + // Show loading icon inside the slide + // ================================== + + showLoading : function( slide ) { + + var self = this; + + slide = slide || self.current; + + if ( slide && !slide.$spinner ) { + slide.$spinner = $( self.opts.spinnerTpl ).appendTo( slide.$slide ); + } + + }, + + // Remove loading icon from the slide + // ================================== + + hideLoading : function( slide ) { + + var self = this; + + slide = slide || self.current; + + if ( slide && slide.$spinner ) { + slide.$spinner.remove(); + + delete slide.$spinner; + } + + }, + + + // Adjustments after slide content has been loaded + // =============================================== + + afterLoad : function( slide ) { + + var self = this; + + if ( self.isClosing ) { + return; + } + + slide.isLoading = false; + slide.isLoaded = true; + + self.trigger( 'afterLoad', slide ); + + self.hideLoading( slide ); + + if ( slide.opts.protect && slide.$content && !slide.hasError ) { + + // Disable right click + slide.$content.on( 'contextmenu.fb', function( e ) { + if ( e.button == 2 ) { + e.preventDefault(); + } + + return true; + }); + + // Add fake element on top of the image + // This makes a bit harder for user to select image + if ( slide.type === 'image' ) { + $( '
' ).appendTo( slide.$content ); + } + + } + + self.revealContent( slide ); + + }, + + + // Make content visible + // This method is called right after content has been loaded or + // user navigates gallery and transition should start + // ============================================================ + + revealContent : function( slide ) { + + var self = this; + var $slide = slide.$slide; + + var effect, effectClassName, duration, opacity, end, start = false; + + effect = slide.opts[ self.firstRun ? 'animationEffect' : 'transitionEffect' ]; + duration = slide.opts[ self.firstRun ? 'animationDuration' : 'transitionDuration' ]; + + duration = parseInt( slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10 ); + + if ( slide.isMoved || slide.pos !== self.currPos || !duration ) { + effect = false; + } + + // Check if can zoom + if ( effect === 'zoom' && !( slide.pos === self.currPos && duration && slide.type === 'image' && !slide.hasError && ( start = self.getThumbPos( slide ) ) ) ) { + effect = 'fade'; + } + + + // Zoom animation + // ============== + + if ( effect === 'zoom' ) { + end = self.getFitPos( slide ); + + end.scaleX = end.width / start.width; + end.scaleY = end.height / start.height; + + delete end.width; + delete end.height; + + // Check if we need to animate opacity + opacity = slide.opts.zoomOpacity; + + if ( opacity == 'auto' ) { + opacity = Math.abs( slide.width / slide.height - start.width / start.height ) > 0.1; + } + + if ( opacity ) { + start.opacity = 0.1; + end.opacity = 1; + } + + // Draw image at start position + $.fancybox.setTranslate( slide.$content.removeClass( 'fancybox-is-hidden' ), start ); + + forceRedraw( slide.$content ); + + // Start animation + $.fancybox.animate( slide.$content, end, duration, function() { + self.complete(); + }); + + return; + } + + + self.updateSlide( slide ); + + + // Simply show content + // =================== + + if ( !effect ) { + forceRedraw( $slide ); + + slide.$content.removeClass( 'fancybox-is-hidden' ); + + if ( slide.pos === self.currPos ) { + self.complete(); + } + + return; + } + + $.fancybox.stop( $slide ); + + effectClassName = 'fancybox-animated fancybox-slide--' + ( slide.pos > self.prevPos ? 'next' : 'previous' ) + ' fancybox-fx-' + effect; + + $slide.removeAttr( 'style' ).removeClass( 'fancybox-slide--current fancybox-slide--next fancybox-slide--previous' ).addClass( effectClassName ); + + slide.$content.removeClass( 'fancybox-is-hidden' ); + + //Force reflow for CSS3 transitions + forceRedraw( $slide ); + + $.fancybox.animate( $slide, 'fancybox-slide--current', duration, function(e) { + $slide.removeClass( effectClassName ).removeAttr( 'style' ); + + if ( slide.pos === self.currPos ) { + self.complete(); + } + + }, true); + + }, + + + // Check if we can and have to zoom from thumbnail + //================================================ + + getThumbPos : function( slide ) { + + var self = this; + var rez = false; + + // Check if element is inside the viewport by at least 1 pixel + var isElementVisible = function( $el ) { + var element = $el[0]; + + var elementRect = element.getBoundingClientRect(); + var parentRects = []; + + var visibleInAllParents; + + while ( element.parentElement !== null ) { + if ( $(element.parentElement).css('overflow') === 'hidden' || $(element.parentElement).css('overflow') === 'auto' ) { + parentRects.push(element.parentElement.getBoundingClientRect()); + } + + element = element.parentElement; + } + + visibleInAllParents = parentRects.every(function(parentRect){ + var visiblePixelX = Math.min(elementRect.right, parentRect.right) - Math.max(elementRect.left, parentRect.left); + var visiblePixelY = Math.min(elementRect.bottom, parentRect.bottom) - Math.max(elementRect.top, parentRect.top); + + return visiblePixelX > 0 && visiblePixelY > 0; + }); + + return visibleInAllParents && + elementRect.bottom > 0 && elementRect.right > 0 && + elementRect.left < $(window).width() && elementRect.top < $(window).height(); + }; + + var $thumb = slide.opts.$thumb; + var thumbPos = $thumb ? $thumb.offset() : 0; + var slidePos; + + if ( thumbPos && $thumb[0].ownerDocument === document && isElementVisible( $thumb ) ) { + slidePos = self.$refs.stage.offset(); + + rez = { + top : thumbPos.top - slidePos.top + parseFloat( $thumb.css( "border-top-width" ) || 0 ), + left : thumbPos.left - slidePos.left + parseFloat( $thumb.css( "border-left-width" ) || 0 ), + width : $thumb.width(), + height : $thumb.height(), + scaleX : 1, + scaleY : 1 + }; + } + + return rez; + }, + + + // Final adjustments after current gallery item is moved to position + // and it`s content is loaded + // ================================================================== + + complete : function() { + + var self = this; + + var current = self.current; + var slides = {}; + + if ( current.isMoved || !current.isLoaded || current.isComplete ) { + return; + } + + current.isComplete = true; + + current.$slide.siblings().trigger( 'onReset' ); + + // Trigger any CSS3 transiton inside the slide + forceRedraw( current.$slide ); + + current.$slide.addClass( 'fancybox-slide--complete' ); + + // Remove unnecessary slides + $.each( self.slides, function( key, slide ) { + if ( slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1 ) { + slides[ slide.pos ] = slide; + + } else if ( slide ) { + + $.fancybox.stop( slide.$slide ); + + slide.$slide.unbind().remove(); + } + }); + + self.slides = slides; + + self.updateCursor(); + + self.trigger( 'afterShow' ); + + // Try to focus on the first focusable element + if ( $( document.activeElement ).is( '[disabled]' ) || ( current.opts.autoFocus && !( current.type == 'image' || current.type === 'iframe' ) ) ) { + self.focus(); + } + + }, + + + // Preload next and previous slides + // ================================ + + preload : function() { + var self = this; + var next, prev; + + if ( self.group.length < 2 ) { + return; + } + + next = self.slides[ self.currPos + 1 ]; + prev = self.slides[ self.currPos - 1 ]; + + if ( next && next.type === 'image' ) { + self.loadSlide( next ); + } + + if ( prev && prev.type === 'image' ) { + self.loadSlide( prev ); + } + + }, + + + // Try to find and focus on the first focusable element + // ==================================================== + + focus : function() { + var current = this.current; + var $el; + + if ( this.isClosing ) { + return; + } + + // Skip for images and iframes + $el = current && current.isComplete ? current.$slide.find('button,:input,[tabindex],a').filter(':not([disabled]):visible:first') : null; + $el = $el && $el.length ? $el : this.$refs.container; + + $el.focus(); + }, + + + // Activates current instance - brings container to the front and enables keyboard, + // notifies other instances about deactivating + // ================================================================================= + + activate : function () { + var self = this; + + // Deactivate all instances + $( '.fancybox-container' ).each(function () { + var instance = $(this).data( 'FancyBox' ); + + // Skip self and closing instances + if (instance && instance.uid !== self.uid && !instance.isClosing) { + instance.trigger( 'onDeactivate' ); + } + + }); + + if ( self.current ) { + if ( self.$refs.container.index() > 0 ) { + self.$refs.container.prependTo( document.body ); + } + + self.updateControls(); + } + + self.trigger( 'onActivate' ); + + self.addEvents(); + + }, + + + // Start closing procedure + // This will start "zoom-out" animation if needed and clean everything up afterwards + // ================================================================================= + + close : function( e, d ) { + + var self = this; + var current = self.current; + + var effect, duration; + var $what, opacity, start, end; + + var done = function() { + self.cleanUp( e ); + }; + + if ( self.isClosing ) { + return false; + } + + self.isClosing = true; + + // If beforeClose callback prevents closing, make sure content is centered + if ( self.trigger( 'beforeClose', e ) === false ) { + self.isClosing = false; + + requestAFrame(function() { + self.update(); + }); + + return false; + } + + // Remove all events + // If there are multiple instances, they will be set again by "activate" method + self.removeEvents(); + + if ( current.timouts ) { + clearTimeout( current.timouts ); + } + + $what = current.$content; + effect = current.opts.animationEffect; + duration = $.isNumeric( d ) ? d : ( effect ? current.opts.animationDuration : 0 ); + + // Remove other slides + current.$slide.off( transitionEnd ).removeClass( 'fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated' ); + + current.$slide.siblings().trigger( 'onReset' ).remove(); + + // Trigger animations + if ( duration ) { + self.$refs.container.removeClass( 'fancybox-is-open' ).addClass( 'fancybox-is-closing' ); + } + + // Clean up + self.hideLoading( current ); + + self.hideControls(); + + self.updateCursor(); + + // Check if possible to zoom-out + if ( effect === 'zoom' && !( e !== true && $what && duration && current.type === 'image' && !current.hasError && ( end = self.getThumbPos( current ) ) ) ) { + effect = 'fade'; + } + + if ( effect === 'zoom' ) { + $.fancybox.stop( $what ); + + start = $.fancybox.getTranslate( $what ); + + start.width = start.width * start.scaleX; + start.height = start.height * start.scaleY; + + // Check if we need to animate opacity + opacity = current.opts.zoomOpacity; + + if ( opacity == 'auto' ) { + opacity = Math.abs( current.width / current.height - end.width / end.height ) > 0.1; + } + + if ( opacity ) { + end.opacity = 0; + } + + start.scaleX = start.width / end.width; + start.scaleY = start.height / end.height; + + start.width = end.width; + start.height = end.height; + + $.fancybox.setTranslate( current.$content, start ); + + $.fancybox.animate( current.$content, end, duration, done ); + + return true; + } + + if ( effect && duration ) { + + // If skip animation + if ( e === true ) { + setTimeout( done, duration ); + + } else { + $.fancybox.animate( current.$slide.removeClass( 'fancybox-slide--current' ), 'fancybox-animated fancybox-slide--previous fancybox-fx-' + effect, duration, done ); + } + + } else { + done(); + } + + return true; + }, + + + // Final adjustments after removing the instance + // ============================================= + + cleanUp : function( e ) { + var self = this, + instance; + + self.current.$slide.trigger( 'onReset' ); + + self.$refs.container.empty().remove(); + + self.trigger( 'afterClose', e ); + + // Place back focus + if ( self.$lastFocus && !!self.current.opts.backFocus ) { + self.$lastFocus.focus(); + } + + self.current = null; + + // Check if there are other instances + instance = $.fancybox.getInstance(); + + if ( instance ) { + instance.activate(); + + } else { + + $W.scrollTop( self.scrollTop ).scrollLeft( self.scrollLeft ); + + $( 'html' ).removeClass( 'fancybox-enabled' ); + + $( '#fancybox-style-noscroll' ).remove(); + } + + }, + + + // Call callback and trigger an event + // ================================== + + trigger : function( name, slide ) { + var args = Array.prototype.slice.call(arguments, 1), + self = this, + obj = slide && slide.opts ? slide : self.current, + rez; + + if ( obj ) { + args.unshift( obj ); + + } else { + obj = self; + } + + args.unshift( self ); + + if ( $.isFunction( obj.opts[ name ] ) ) { + rez = obj.opts[ name ].apply( obj, args ); + } + + if ( rez === false ) { + return rez; + } + + if ( name === 'afterClose' ) { + $D.trigger( name + '.fb', args ); + + } else { + self.$refs.container.trigger( name + '.fb', args ); + } + + }, + + + // Update infobar values, navigation button states and reveal caption + // ================================================================== + + updateControls : function ( force ) { + + var self = this; + + var current = self.current; + var index = current.index; + var opts = current.opts; + var caption = opts.caption; + var $caption = self.$refs.caption; + + // Recalculate content dimensions + current.$slide.trigger( 'refresh' ); + + self.$caption = caption && caption.length ? $caption.html( caption ) : null; + + if ( !self.isHiddenControls ) { + self.showControls(); + } + + // Update info and navigation elements + $('[data-fancybox-count]').html( self.group.length ); + $('[data-fancybox-index]').html( index + 1 ); + + $('[data-fancybox-prev]').prop('disabled', ( !opts.loop && index <= 0 ) ); + $('[data-fancybox-next]').prop('disabled', ( !opts.loop && index >= self.group.length - 1 ) ); + + }, + + // Hide toolbar and caption + // ======================== + + hideControls : function () { + + this.isHiddenControls = true; + + this.$refs.container.removeClass('fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav'); + + }, + + showControls : function() { + + var self = this; + var opts = self.current ? self.current.opts : self.opts; + var $container = self.$refs.container; + + self.isHiddenControls = false; + self.idleSecondsCounter = 0; + + $container + .toggleClass('fancybox-show-toolbar', !!( opts.toolbar && opts.buttons ) ) + .toggleClass('fancybox-show-infobar', !!( opts.infobar && self.group.length > 1 ) ) + .toggleClass('fancybox-show-nav', !!( opts.arrows && self.group.length > 1 ) ) + .toggleClass('fancybox-is-modal', !!opts.modal ); + + if ( self.$caption ) { + $container.addClass( 'fancybox-show-caption '); + + } else { + $container.removeClass( 'fancybox-show-caption' ); + } + + }, + + + // Toggle toolbar and caption + // ========================== + + toggleControls : function() { + + if ( this.isHiddenControls ) { + this.showControls(); + + } else { + this.hideControls(); + } + + }, + + + }); + + + $.fancybox = { + + version : "{fancybox-version}", + defaults : defaults, + + + // Get current instance and execute a command. + // + // Examples of usage: + // + // $instance = $.fancybox.getInstance(); + // $.fancybox.getInstance().jumpTo( 1 ); + // $.fancybox.getInstance( 'jumpTo', 1 ); + // $.fancybox.getInstance( function() { + // console.info( this.currIndex ); + // }); + // ====================================================== + + getInstance : function ( command ) { + var instance = $('.fancybox-container:not(".fancybox-is-closing"):first').data( 'FancyBox' ); + var args = Array.prototype.slice.call(arguments, 1); + + if ( instance instanceof FancyBox ) { + + if ( $.type( command ) === 'string' ) { + instance[ command ].apply( instance, args ); + + } else if ( $.type( command ) === 'function' ) { + command.apply( instance, args ); + + } + + return instance; + } + + return false; + + }, + + + // Create new instance + // =================== + + open : function ( items, opts, index ) { + return new FancyBox( items, opts, index ); + }, + + + // Close current or all instances + // ============================== + + close : function ( all ) { + var instance = this.getInstance(); + + if ( instance ) { + instance.close(); + + // Try to find and close next instance + + if ( all === true ) { + this.close(); + } + } + + }, + + // Close instances and unbind all events + // ============================== + + destroy : function() { + + this.close( true ); + + $D.off( 'click.fb-start' ); + + }, + + + // Try to detect mobile devices + // ============================ + + isMobile : document.createTouch !== undefined && /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent), + + + // Detect if 'translate3d' support is available + // ============================================ + + use3d : (function() { + var div = document.createElement('div'); + + return window.getComputedStyle && window.getComputedStyle( div ).getPropertyValue('transform') && !(document.documentMode && document.documentMode < 11); + }()), + + + // Helper function to get current visual state of an element + // returns array[ top, left, horizontal-scale, vertical-scale, opacity ] + // ===================================================================== + + getTranslate : function( $el ) { + var matrix; + + if ( !$el || !$el.length ) { + return false; + } + + matrix = $el.eq( 0 ).css('transform'); + + if ( matrix && matrix.indexOf( 'matrix' ) !== -1 ) { + matrix = matrix.split('(')[1]; + matrix = matrix.split(')')[0]; + matrix = matrix.split(','); + } else { + matrix = []; + } + + if ( matrix.length ) { + + // If IE + if ( matrix.length > 10 ) { + matrix = [ matrix[13], matrix[12], matrix[0], matrix[5] ]; + + } else { + matrix = [ matrix[5], matrix[4], matrix[0], matrix[3]]; + } + + matrix = matrix.map(parseFloat); + + } else { + matrix = [ 0, 0, 1, 1 ]; + + var transRegex = /\.*translate\((.*)px,(.*)px\)/i; + var transRez = transRegex.exec( $el.eq( 0 ).attr('style') ); + + if ( transRez ) { + matrix[ 0 ] = parseFloat( transRez[2] ); + matrix[ 1 ] = parseFloat( transRez[1] ); + } + } + + return { + top : matrix[ 0 ], + left : matrix[ 1 ], + scaleX : matrix[ 2 ], + scaleY : matrix[ 3 ], + opacity : parseFloat( $el.css('opacity') ), + width : $el.width(), + height : $el.height() + }; + + }, + + + // Shortcut for setting "translate3d" properties for element + // Can set be used to set opacity, too + // ======================================================== + + setTranslate : function( $el, props ) { + var str = ''; + var css = {}; + + if ( !$el || !props ) { + return; + } + + if ( props.left !== undefined || props.top !== undefined ) { + str = ( props.left === undefined ? $el.position().left : props.left ) + 'px, ' + ( props.top === undefined ? $el.position().top : props.top ) + 'px'; + + if ( this.use3d ) { + str = 'translate3d(' + str + ', 0px)'; + + } else { + str = 'translate(' + str + ')'; + } + } + + if ( props.scaleX !== undefined && props.scaleY !== undefined ) { + str = (str.length ? str + ' ' : '') + 'scale(' + props.scaleX + ', ' + props.scaleY + ')'; + } + + if ( str.length ) { + css.transform = str; + } + + if ( props.opacity !== undefined ) { + css.opacity = props.opacity; + } + + if ( props.width !== undefined ) { + css.width = props.width; + } + + if ( props.height !== undefined ) { + css.height = props.height; + } + + return $el.css( css ); + }, + + + // Simple CSS transition handler + // ============================= + + animate : function ( $el, to, duration, callback, leaveAnimationName ) { + var event = transitionEnd || 'transitionend'; + + if ( $.isFunction( duration ) ) { + callback = duration; + duration = null; + } + + if ( !$.isPlainObject( to ) ) { + $el.removeAttr('style'); + } + + $el.on( event, function(e) { + + // Skip events from child elements and z-index change + if ( e && e.originalEvent && ( !$el.is( e.originalEvent.target ) || e.originalEvent.propertyName == 'z-index' ) ) { + return; + } + + $el.off( event ); + + if ( $.isPlainObject( to ) ) { + + if ( to.scaleX !== undefined && to.scaleY !== undefined ) { + $el.css( 'transition-duration', '0ms' ); + + to.width = Math.round( $el.width() * to.scaleX ); + to.height = Math.round( $el.height() * to.scaleY ); + + to.scaleX = 1; + to.scaleY = 1; + + $.fancybox.setTranslate( $el, to ); + } + + } else if ( leaveAnimationName !== true ) { + $el.removeClass( to ); + } + + if ( $.isFunction( callback ) ) { + callback( e ); + } + + }); + + if ( $.isNumeric( duration ) ) { + $el.css( 'transition-duration', duration + 'ms' ); + } + + if ( $.isPlainObject( to ) ) { + $.fancybox.setTranslate( $el, to ); + + } else { + $el.addClass( to ); + } + + $el.data("timer", setTimeout(function() { + $el.trigger( 'transitionend' ); + }, duration + 16)); + + }, + + stop : function( $el ) { + clearTimeout( $el.data("timer") ); + + $el.off( transitionEnd ); + } + + }; + + + // Default click handler for "fancyboxed" links + // ============================================ + + function _run( e ) { + var target = e.currentTarget, + opts = e.data ? e.data.options : {}, + items = opts.selector ? $( opts.selector ) : ( e.data ? e.data.items : [] ), + value = $(target).attr( 'data-fancybox' ) || '', + index = 0, + active = $.fancybox.getInstance(); + + e.preventDefault(); + e.stopPropagation(); + + // Avoid opening multiple times + if ( active && active.current.opts.$orig.is( target ) ) { + return; + } + + // Get all related items and find index for clicked one + if ( value ) { + items = items.length ? items.filter( '[data-fancybox="' + value + '"]' ) : $( '[data-fancybox="' + value + '"]' ); + index = items.index( target ); + + // Sometimes current item can not be found + // (for example, when slider clones items) + if ( index < 0 ) { + index = 0; + } + + } else { + items = [ target ]; + } + + $.fancybox.open( items, opts, index ); + } + + + // Create a jQuery plugin + // ====================== + + $.fn.fancybox = function (options) { + var selector; + + options = options || {}; + selector = options.selector || false; + + if ( selector ) { + + $( 'body' ).off( 'click.fb-start', selector ).on( 'click.fb-start', selector, { + options : options + }, _run ); + + } else { + + this.off( 'click.fb-start' ).on( 'click.fb-start', { + items : this, + options : options + }, _run); + + } + + return this; + }; + + + // Self initializing plugin + // ======================== + + $D.on( 'click.fb-start', '[data-fancybox]', _run ); + +}( window, document, window.jQuery )); diff --git a/fancybox/src/js/fullscreen.js b/fancybox/src/js/fullscreen.js new file mode 100644 index 0000000..360595c --- /dev/null +++ b/fancybox/src/js/fullscreen.js @@ -0,0 +1,186 @@ +// ========================================================================== +// +// FullScreen +// Adds fullscreen functionality +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + // Collection of methods supported by user browser + var fn = (function () { + + var fnMap = [ + [ + 'requestFullscreen', + 'exitFullscreen', + 'fullscreenElement', + 'fullscreenEnabled', + 'fullscreenchange', + 'fullscreenerror' + ], + // new WebKit + [ + 'webkitRequestFullscreen', + 'webkitExitFullscreen', + 'webkitFullscreenElement', + 'webkitFullscreenEnabled', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + // old WebKit (Safari 5.1) + [ + 'webkitRequestFullScreen', + 'webkitCancelFullScreen', + 'webkitCurrentFullScreenElement', + 'webkitCancelFullScreen', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + [ + 'mozRequestFullScreen', + 'mozCancelFullScreen', + 'mozFullScreenElement', + 'mozFullScreenEnabled', + 'mozfullscreenchange', + 'mozfullscreenerror' + ], + [ + 'msRequestFullscreen', + 'msExitFullscreen', + 'msFullscreenElement', + 'msFullscreenEnabled', + 'MSFullscreenChange', + 'MSFullscreenError' + ] + ]; + + var val; + var ret = {}; + var i, j; + + for ( i = 0; i < fnMap.length; i++ ) { + val = fnMap[ i ]; + + if ( val && val[ 1 ] in document ) { + for ( j = 0; j < val.length; j++ ) { + ret[ fnMap[ 0 ][ j ] ] = val[ j ]; + } + + return ret; + } + } + + return false; + })(); + + // If browser does not have Full Screen API, then simply unset default button template and stop + if ( !fn ) { + $.fancybox.defaults.btnTpl.fullScreen = false; + + return; + } + + var FullScreen = { + request : function ( elem ) { + + elem = elem || document.documentElement; + + elem[ fn.requestFullscreen ]( elem.ALLOW_KEYBOARD_INPUT ); + + }, + exit : function () { + + document[ fn.exitFullscreen ](); + + }, + toggle : function ( elem ) { + + elem = elem || document.documentElement; + + if ( this.isFullscreen() ) { + this.exit(); + + } else { + this.request( elem ); + } + + }, + isFullscreen : function() { + + return Boolean( document[ fn.fullscreenElement ] ); + + }, + enabled : function() { + + return Boolean( document[ fn.fullscreenEnabled ] ); + + } + }; + + $(document).on({ + 'onInit.fb' : function(e, instance) { + var $container; + + var $button = instance.$refs.toolbar.find('[data-fancybox-fullscreen]'); + + if ( instance && !instance.FullScreen && instance.group[ instance.currIndex ].opts.fullScreen ) { + $container = instance.$refs.container; + + $container.on('click.fb-fullscreen', '[data-fancybox-fullscreen]', function(e) { + + e.stopPropagation(); + e.preventDefault(); + + FullScreen.toggle( $container[ 0 ] ); + + }); + + if ( instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true ) { + FullScreen.request( $container[ 0 ] ); + } + + // Expose API + instance.FullScreen = FullScreen; + + } else { + $button.hide(); + } + + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + + // "P" or Spacebar + if ( instance && instance.FullScreen && keycode === 70 ) { + keypress.preventDefault(); + + instance.FullScreen.toggle( instance.$refs.container[ 0 ] ); + } + + }, + + 'beforeClose.fb' : function( instance ) { + if ( instance && instance.FullScreen ) { + FullScreen.exit(); + } + } + }); + + $(document).on(fn.fullscreenchange, function() { + var instance = $.fancybox.getInstance(); + + // If image is zooming, then force to stop and reposition properly + if ( instance.current && instance.current.type === 'image' && instance.isAnimating ) { + instance.current.$content.css( 'transition', 'none' ); + + instance.isAnimating = false; + + instance.update( true, true, 0 ); + } + + }); + +}(document, window.jQuery)); diff --git a/fancybox/src/js/guestures.js b/fancybox/src/js/guestures.js new file mode 100644 index 0000000..d31ca16 --- /dev/null +++ b/fancybox/src/js/guestures.js @@ -0,0 +1,920 @@ +// ========================================================================== +// +// Guestures +// Adds touch guestures, handles click and tap events +// +// ========================================================================== +;(function (window, document, $) { + 'use strict'; + + var requestAFrame = (function () { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + + var cancelAFrame = (function () { + return window.cancelAnimationFrame || + window.webkitCancelAnimationFrame || + window.mozCancelAnimationFrame || + window.oCancelAnimationFrame || + function (id) { + window.clearTimeout(id); + }; + })(); + + + var pointers = function( e ) { + var result = []; + + e = e.originalEvent || e || window.e; + e = e.touches && e.touches.length ? e.touches : ( e.changedTouches && e.changedTouches.length ? e.changedTouches : [ e ] ); + + for ( var key in e ) { + + if ( e[ key ].pageX ) { + result.push( { x : e[ key ].pageX, y : e[ key ].pageY } ); + + } else if ( e[ key ].clientX ) { + result.push( { x : e[ key ].clientX, y : e[ key ].clientY } ); + } + } + + return result; + }; + + var distance = function( point2, point1, what ) { + if ( !point1 || !point2 ) { + return 0; + } + + if ( what === 'x' ) { + return point2.x - point1.x; + + } else if ( what === 'y' ) { + return point2.y - point1.y; + } + + return Math.sqrt( Math.pow( point2.x - point1.x, 2 ) + Math.pow( point2.y - point1.y, 2 ) ); + }; + + var isClickable = function( $el ) { + if ( $el.is('a,button,input,select,textarea') || $.isFunction( $el.get(0).onclick ) ) { + return true; + } + + // Check for attributes like data-fancybox-next or data-fancybox-close + for ( var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++ ) { + if ( atts[i].nodeName.substr(0, 14) === 'data-fancybox-' ) { + return true; + } + } + + return false; + }; + + var hasScrollbars = function( el ) { + var overflowY = window.getComputedStyle( el )['overflow-y']; + var overflowX = window.getComputedStyle( el )['overflow-x']; + + var vertical = (overflowY === 'scroll' || overflowY === 'auto') && el.scrollHeight > el.clientHeight; + var horizontal = (overflowX === 'scroll' || overflowX === 'auto') && el.scrollWidth > el.clientWidth; + + return vertical || horizontal; + }; + + var isScrollable = function ( $el ) { + var rez = false; + + while ( true ) { + rez = hasScrollbars( $el.get(0) ); + + if ( rez ) { + break; + } + + $el = $el.parent(); + + if ( !$el.length || $el.hasClass( 'fancybox-stage' ) || $el.is( 'body' ) ) { + break; + } + } + + return rez; + }; + + + var Guestures = function ( instance ) { + var self = this; + + self.instance = instance; + + self.$bg = instance.$refs.bg; + self.$stage = instance.$refs.stage; + self.$container = instance.$refs.container; + + self.destroy(); + + self.$container.on( 'touchstart.fb.touch mousedown.fb.touch', $.proxy(self, 'ontouchstart') ); + }; + + Guestures.prototype.destroy = function() { + this.$container.off( '.fb.touch' ); + }; + + Guestures.prototype.ontouchstart = function( e ) { + var self = this; + + var $target = $( e.target ); + var instance = self.instance; + var current = instance.current; + var $content = current.$content; + + var isTouchDevice = ( e.type == 'touchstart' ); + + // Do not respond to both events + if ( isTouchDevice ) { + self.$container.off( 'mousedown.fb.touch' ); + } + + // Ignore clicks while zooming or closing + if ( !current || self.instance.isAnimating || self.instance.isClosing ) { + e.stopPropagation(); + e.preventDefault(); + + return; + } + + // Ignore right click + if ( e.originalEvent && e.originalEvent.button == 2 ) { + return; + } + + // Ignore taping on links, buttons, input elements + if ( !$target.length || isClickable( $target ) || isClickable( $target.parent() ) ) { + return; + } + + // Ignore clicks on the scrollbar + if ( e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left ) { + return; + } + + self.startPoints = pointers( e ); + + // Prevent zooming if already swiping + if ( !self.startPoints || ( self.startPoints.length > 1 && instance.isSliding ) ) { + return; + } + + self.$target = $target; + self.$content = $content; + self.canTap = true; + + $(document).off( '.fb.touch' ); + + $(document).on( isTouchDevice ? 'touchend.fb.touch touchcancel.fb.touch' : 'mouseup.fb.touch mouseleave.fb.touch', $.proxy(self, "ontouchend")); + $(document).on( isTouchDevice ? 'touchmove.fb.touch' : 'mousemove.fb.touch', $.proxy(self, "ontouchmove")); + + e.stopPropagation(); + + if ( !(instance.current.opts.touch || instance.canPan() ) || !( $target.is( self.$stage ) || self.$stage.find( $target ).length ) ) { + + // Prevent ghosting + if ( $target.is('img') ) { + e.preventDefault(); + } + + return; + } + + if ( !( $.fancybox.isMobile && ( isScrollable( self.$target ) || isScrollable( self.$target.parent() ) ) ) ) { + e.preventDefault(); + } + + self.canvasWidth = Math.round( current.$slide[0].clientWidth ); + self.canvasHeight = Math.round( current.$slide[0].clientHeight ); + + self.startTime = new Date().getTime(); + self.distanceX = self.distanceY = self.distance = 0; + + self.isPanning = false; + self.isSwiping = false; + self.isZooming = false; + + self.sliderStartPos = self.sliderLastPos || { top: 0, left: 0 }; + self.contentStartPos = $.fancybox.getTranslate( self.$content ); + self.contentLastPos = null; + + if ( self.startPoints.length === 1 && !self.isZooming ) { + self.canTap = !instance.isSliding; + + if ( current.type === 'image' && ( self.contentStartPos.width > self.canvasWidth + 1 || self.contentStartPos.height > self.canvasHeight + 1 ) ) { + + $.fancybox.stop( self.$content ); + + self.$content.css( 'transition-duration', '0ms' ); + + self.isPanning = true; + + } else { + + self.isSwiping = true; + } + + self.$container.addClass('fancybox-controls--isGrabbing'); + } + + if ( self.startPoints.length === 2 && !instance.isAnimating && !current.hasError && current.type === 'image' && ( current.isLoaded || current.$ghost ) ) { + self.isZooming = true; + + self.isSwiping = false; + self.isPanning = false; + + $.fancybox.stop( self.$content ); + + self.$content.css( 'transition-duration', '0ms' ); + + self.centerPointStartX = ( ( self.startPoints[0].x + self.startPoints[1].x ) * 0.5 ) - $(window).scrollLeft(); + self.centerPointStartY = ( ( self.startPoints[0].y + self.startPoints[1].y ) * 0.5 ) - $(window).scrollTop(); + + self.percentageOfImageAtPinchPointX = ( self.centerPointStartX - self.contentStartPos.left ) / self.contentStartPos.width; + self.percentageOfImageAtPinchPointY = ( self.centerPointStartY - self.contentStartPos.top ) / self.contentStartPos.height; + + self.startDistanceBetweenFingers = distance( self.startPoints[0], self.startPoints[1] ); + } + + }; + + Guestures.prototype.ontouchmove = function( e ) { + + var self = this; + + self.newPoints = pointers( e ); + + if ( $.fancybox.isMobile && ( isScrollable( self.$target ) || isScrollable( self.$target.parent() ) ) ) { + e.stopPropagation(); + + self.canTap = false; + + return; + } + + if ( !( self.instance.current.opts.touch || self.instance.canPan() ) || !self.newPoints || !self.newPoints.length ) { + return; + } + + self.distanceX = distance( self.newPoints[0], self.startPoints[0], 'x' ); + self.distanceY = distance( self.newPoints[0], self.startPoints[0], 'y' ); + + self.distance = distance( self.newPoints[0], self.startPoints[0] ); + + // Skip false ontouchmove events (Chrome) + if ( self.distance > 0 ) { + + if ( !( self.$target.is( self.$stage ) || self.$stage.find( self.$target ).length ) ) { + return; + } + + e.stopPropagation(); + e.preventDefault(); + + if ( self.isSwiping ) { + self.onSwipe(); + + } else if ( self.isPanning ) { + self.onPan(); + + } else if ( self.isZooming ) { + self.onZoom(); + } + + } + + }; + + Guestures.prototype.onSwipe = function() { + + var self = this; + + var swiping = self.isSwiping; + var left = self.sliderStartPos.left || 0; + var angle; + + if ( swiping === true ) { + + if ( Math.abs( self.distance ) > 10 ) { + + self.canTap = false; + + if ( self.instance.group.length < 2 && self.instance.opts.touch.vertical ) { + self.isSwiping = 'y'; + + } else if ( self.instance.isSliding || self.instance.opts.touch.vertical === false || ( self.instance.opts.touch.vertical === 'auto' && $( window ).width() > 800 ) ) { + self.isSwiping = 'x'; + + } else { + angle = Math.abs( Math.atan2( self.distanceY, self.distanceX ) * 180 / Math.PI ); + + self.isSwiping = ( angle > 45 && angle < 135 ) ? 'y' : 'x'; + } + + self.instance.isSliding = self.isSwiping; + + // Reset points to avoid jumping, because we dropped first swipes to calculate the angle + self.startPoints = self.newPoints; + + $.each(self.instance.slides, function( index, slide ) { + $.fancybox.stop( slide.$slide ); + + slide.$slide.css( 'transition-duration', '0ms' ); + + slide.inTransition = false; + + if ( slide.pos === self.instance.current.pos ) { + self.sliderStartPos.left = $.fancybox.getTranslate( slide.$slide ).left; + } + }); + + //self.instance.current.isMoved = true; + + // Stop slideshow + if ( self.instance.SlideShow && self.instance.SlideShow.isActive ) { + self.instance.SlideShow.stop(); + } + } + + } else { + + if ( swiping == 'x' ) { + + // Sticky edges + if ( self.distanceX > 0 && ( self.instance.group.length < 2 || ( self.instance.current.index === 0 && !self.instance.current.opts.loop ) ) ) { + left = left + Math.pow( self.distanceX, 0.8 ); + + } else if ( self.distanceX < 0 && ( self.instance.group.length < 2 || ( self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop ) ) ) { + left = left - Math.pow( -self.distanceX, 0.8 ); + + } else { + left = left + self.distanceX; + } + + } + + self.sliderLastPos = { + top : swiping == 'x' ? 0 : self.sliderStartPos.top + self.distanceY, + left : left + }; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + + if ( self.sliderLastPos ) { + $.each(self.instance.slides, function( index, slide ) { + var pos = slide.pos - self.instance.currPos; + + $.fancybox.setTranslate( slide.$slide, { + top : self.sliderLastPos.top, + left : self.sliderLastPos.left + ( pos * self.canvasWidth ) + ( pos * slide.opts.gutter ) + }); + }); + + self.$container.addClass( 'fancybox-is-sliding' ); + } + + }); + + } + + }; + + Guestures.prototype.onPan = function() { + + var self = this; + + var newOffsetX, newOffsetY, newPos; + + self.canTap = false; + + if ( self.contentStartPos.width > self.canvasWidth ) { + newOffsetX = self.contentStartPos.left + self.distanceX; + + } else { + newOffsetX = self.contentStartPos.left; + } + + newOffsetY = self.contentStartPos.top + self.distanceY; + + newPos = self.limitMovement( newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height ); + + newPos.scaleX = self.contentStartPos.scaleX; + newPos.scaleY = self.contentStartPos.scaleY; + + self.contentLastPos = newPos; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate( self.$content, self.contentLastPos ); + }); + }; + + // Make panning sticky to the edges + Guestures.prototype.limitMovement = function( newOffsetX, newOffsetY, newWidth, newHeight ) { + + var self = this; + + var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + var currentOffsetX = self.contentStartPos.left; + var currentOffsetY = self.contentStartPos.top; + + var distanceX = self.distanceX; + var distanceY = self.distanceY; + + // Slow down proportionally to traveled distance + + minTranslateX = Math.max(0, canvasWidth * 0.5 - newWidth * 0.5 ); + minTranslateY = Math.max(0, canvasHeight * 0.5 - newHeight * 0.5 ); + + maxTranslateX = Math.min( canvasWidth - newWidth, canvasWidth * 0.5 - newWidth * 0.5 ); + maxTranslateY = Math.min( canvasHeight - newHeight, canvasHeight * 0.5 - newHeight * 0.5 ); + + if ( newWidth > canvasWidth ) { + + // -> + if ( distanceX > 0 && newOffsetX > minTranslateX ) { + newOffsetX = minTranslateX - 1 + Math.pow( -minTranslateX + currentOffsetX + distanceX, 0.8 ) || 0; + } + + // <- + if ( distanceX < 0 && newOffsetX < maxTranslateX ) { + newOffsetX = maxTranslateX + 1 - Math.pow( maxTranslateX - currentOffsetX - distanceX, 0.8 ) || 0; + } + + } + + if ( newHeight > canvasHeight ) { + + // \/ + if ( distanceY > 0 && newOffsetY > minTranslateY ) { + newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8 ) || 0; + } + + // /\ + if ( distanceY < 0 && newOffsetY < maxTranslateY ) { + newOffsetY = maxTranslateY + 1 - Math.pow ( maxTranslateY - currentOffsetY - distanceY, 0.8 ) || 0; + } + + } + + return { + top : newOffsetY, + left : newOffsetX + }; + + }; + + + Guestures.prototype.limitPosition = function( newOffsetX, newOffsetY, newWidth, newHeight ) { + + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + if ( newWidth > canvasWidth ) { + newOffsetX = newOffsetX > 0 ? 0 : newOffsetX; + newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX; + + } else { + + // Center horizontally + newOffsetX = Math.max( 0, canvasWidth / 2 - newWidth / 2 ); + + } + + if ( newHeight > canvasHeight ) { + newOffsetY = newOffsetY > 0 ? 0 : newOffsetY; + newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY; + + } else { + + // Center vertically + newOffsetY = Math.max( 0, canvasHeight / 2 - newHeight / 2 ); + + } + + return { + top : newOffsetY, + left : newOffsetX + }; + + }; + + Guestures.prototype.onZoom = function() { + + var self = this; + + // Calculate current distance between points to get pinch ratio and new width and height + + var currentWidth = self.contentStartPos.width; + var currentHeight = self.contentStartPos.height; + + var currentOffsetX = self.contentStartPos.left; + var currentOffsetY = self.contentStartPos.top; + + var endDistanceBetweenFingers = distance( self.newPoints[0], self.newPoints[1] ); + + var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers; + + var newWidth = Math.floor( currentWidth * pinchRatio ); + var newHeight = Math.floor( currentHeight * pinchRatio ); + + // This is the translation due to pinch-zooming + var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX; + var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY; + + //Point between the two touches + + var centerPointEndX = ((self.newPoints[0].x + self.newPoints[1].x) / 2) - $(window).scrollLeft(); + var centerPointEndY = ((self.newPoints[0].y + self.newPoints[1].y) / 2) - $(window).scrollTop(); + + // And this is the translation due to translation of the centerpoint + // between the two fingers + + var translateFromTranslatingX = centerPointEndX - self.centerPointStartX; + var translateFromTranslatingY = centerPointEndY - self.centerPointStartY; + + // The new offset is the old/current one plus the total translation + + var newOffsetX = currentOffsetX + ( translateFromZoomingX + translateFromTranslatingX ); + var newOffsetY = currentOffsetY + ( translateFromZoomingY + translateFromTranslatingY ); + + var newPos = { + top : newOffsetY, + left : newOffsetX, + scaleX : self.contentStartPos.scaleX * pinchRatio, + scaleY : self.contentStartPos.scaleY * pinchRatio + }; + + self.canTap = false; + + self.newWidth = newWidth; + self.newHeight = newHeight; + + self.contentLastPos = newPos; + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate( self.$content, self.contentLastPos ); + }); + + }; + + Guestures.prototype.ontouchend = function( e ) { + + var self = this; + var dMs = Math.max( (new Date().getTime() ) - self.startTime, 1); + + var swiping = self.isSwiping; + var panning = self.isPanning; + var zooming = self.isZooming; + + self.endPoints = pointers( e ); + + self.$container.removeClass( 'fancybox-controls--isGrabbing' ); + + $(document).off( '.fb.touch' ); + + if ( self.requestId ) { + cancelAFrame( self.requestId ); + + self.requestId = null; + } + + self.isSwiping = false; + self.isPanning = false; + self.isZooming = false; + + if ( self.canTap ) { + return self.onTap( e ); + } + + self.speed = 366; + + // Speed in px/ms + self.velocityX = self.distanceX / dMs * 0.5; + self.velocityY = self.distanceY / dMs * 0.5; + + self.speedX = Math.max( self.speed * 0.5, Math.min( self.speed * 1.5, ( 1 / Math.abs( self.velocityX ) ) * self.speed ) ); + + if ( panning ) { + self.endPanning(); + + } else if ( zooming ) { + self.endZooming(); + + } else { + self.endSwiping( swiping ); + } + + return; + }; + + Guestures.prototype.endSwiping = function( swiping ) { + + var self = this; + var ret = false; + + self.instance.isSliding = false; + self.sliderLastPos = null; + + // Close if swiped vertically / navigate if horizontally + if ( swiping == 'y' && Math.abs( self.distanceY ) > 50 ) { + + // Continue vertical movement + $.fancybox.animate( self.instance.current.$slide, { + top : self.sliderStartPos.top + self.distanceY + ( self.velocityY * 150 ), + opacity : 0 + }, 150 ); + + ret = self.instance.close( true, 300 ); + + } else if ( swiping == 'x' && self.distanceX > 50 && self.instance.group.length > 1 ) { + ret = self.instance.previous( self.speedX ); + + } else if ( swiping == 'x' && self.distanceX < -50 && self.instance.group.length > 1 ) { + ret = self.instance.next( self.speedX ); + } + + if ( ret === false && ( swiping == 'x' || swiping == 'y' ) ) { + self.instance.jumpTo( self.instance.current.index, 150 ); + } + + self.$container.removeClass( 'fancybox-is-sliding' ); + + }; + + // Limit panning from edges + // ======================== + + Guestures.prototype.endPanning = function() { + + var self = this; + var newOffsetX, newOffsetY, newPos; + + if ( !self.contentLastPos ) { + return; + } + + if ( self.instance.current.opts.touch.momentum === false ) { + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + } else { + + // Continue movement + newOffsetX = self.contentLastPos.left + ( self.velocityX * self.speed ); + newOffsetY = self.contentLastPos.top + ( self.velocityY * self.speed ); + } + + newPos = self.limitPosition( newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height ); + + newPos.width = self.contentStartPos.width; + newPos.height = self.contentStartPos.height; + + $.fancybox.animate( self.$content, newPos, 330 ); + }; + + + Guestures.prototype.endZooming = function() { + + var self = this; + + var current = self.instance.current; + + var newOffsetX, newOffsetY, newPos, reset; + + var newWidth = self.newWidth; + var newHeight = self.newHeight; + + if ( !self.contentLastPos ) { + return; + } + + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + reset = { + top : newOffsetY, + left : newOffsetX, + width : newWidth, + height : newHeight, + scaleX : 1, + scaleY : 1 + }; + + // Reset scalex/scaleY values; this helps for perfomance and does not break animation + $.fancybox.setTranslate( self.$content, reset ); + + if ( newWidth < self.canvasWidth && newHeight < self.canvasHeight ) { + self.instance.scaleToFit( 150 ); + + } else if ( newWidth > current.width || newHeight > current.height ) { + self.instance.scaleToActual( self.centerPointStartX, self.centerPointStartY, 150 ); + + } else { + + newPos = self.limitPosition( newOffsetX, newOffsetY, newWidth, newHeight ); + + // Switch from scale() to width/height or animation will not work correctly + $.fancybox.setTranslate( self.content, $.fancybox.getTranslate( self.$content ) ); + + $.fancybox.animate( self.$content, newPos, 150 ); + } + + }; + + Guestures.prototype.onTap = function(e) { + var self = this; + var $target = $( e.target ); + + var instance = self.instance; + var current = instance.current; + + var endPoints = ( e && pointers( e ) ) || self.startPoints; + + var tapX = endPoints[0] ? endPoints[0].x - self.$stage.offset().left : 0; + var tapY = endPoints[0] ? endPoints[0].y - self.$stage.offset().top : 0; + + var where; + + var process = function ( prefix ) { + + var action = current.opts[ prefix ]; + + if ( $.isFunction( action ) ) { + action = action.apply( instance, [ current, e ] ); + } + + if ( !action) { + return; + } + + switch ( action ) { + + case "close" : + + instance.close( self.startEvent ); + + break; + + case "toggleControls" : + + instance.toggleControls( true ); + + break; + + case "next" : + + instance.next(); + + break; + + case "nextOrClose" : + + if ( instance.group.length > 1 ) { + instance.next(); + + } else { + instance.close( self.startEvent ); + } + + break; + + case "zoom" : + + if ( current.type == 'image' && ( current.isLoaded || current.$ghost ) ) { + + if ( instance.canPan() ) { + instance.scaleToFit(); + + } else if ( instance.isScaledDown() ) { + instance.scaleToActual( tapX, tapY ); + + } else if ( instance.group.length < 2 ) { + instance.close( self.startEvent ); + } + } + + break; + } + + }; + + // Ignore right click + if ( e.originalEvent && e.originalEvent.button == 2 ) { + return; + } + + // Skip if current slide is not in the center + if ( instance.isSliding ) { + return; + } + + // Skip if clicked on the scrollbar + if ( tapX > $target[0].clientWidth + $target.offset().left ) { + return; + } + + // Check where is clicked + if ( $target.is( '.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container' ) ) { + where = 'Outside'; + + } else if ( $target.is( '.fancybox-slide' ) ) { + where = 'Slide'; + + } else if ( instance.current.$content && instance.current.$content.has( e.target ).length ) { + where = 'Content'; + + } else { + return; + } + + // Check if this is a double tap + if ( self.tapped ) { + + // Stop previously created single tap + clearTimeout( self.tapped ); + self.tapped = null; + + // Skip if distance between taps is too big + if ( Math.abs( tapX - self.tapX ) > 50 || Math.abs( tapY - self.tapY ) > 50 || instance.isSliding ) { + return this; + } + + // OK, now we assume that this is a double-tap + process( 'dblclick' + where ); + + } else { + + // Single tap will be processed if user has not clicked second time within 300ms + // or there is no need to wait for double-tap + self.tapX = tapX; + self.tapY = tapY; + + if ( current.opts[ 'dblclick' + where ] && current.opts[ 'dblclick' + where ] !== current.opts[ 'click' + where ] ) { + self.tapped = setTimeout(function() { + self.tapped = null; + + process( 'click' + where ); + + }, 300); + + } else { + process( 'click' + where ); + } + + } + + return this; + }; + + $(document).on('onActivate.fb', function (e, instance) { + if ( instance && !instance.Guestures ) { + instance.Guestures = new Guestures( instance ); + } + }); + + $(document).on('beforeClose.fb', function (e, instance) { + if ( instance && instance.Guestures ) { + instance.Guestures.destroy(); + } + }); + + +}(window, document, window.jQuery)); diff --git a/fancybox/src/js/hash.js b/fancybox/src/js/hash.js new file mode 100644 index 0000000..8cfc5bf --- /dev/null +++ b/fancybox/src/js/hash.js @@ -0,0 +1,223 @@ +// ========================================================================== +// +// Hash +// Enables linking to each modal +// +// ========================================================================== +;(function (document, window, $) { + 'use strict'; + + // Simple $.escapeSelector polyfill (for jQuery prior v3) + if ( !$.escapeSelector ) { + $.escapeSelector = function( sel ) { + var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + var fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }; + + return ( sel + "" ).replace( rcssescape, fcssescape ); + }; + } + + // Variable containing last hash value set by fancyBox + // It will be used to determine if fancyBox needs to close after hash change is detected + var currentHash = null; + + // Throtlling the history change + var timerID = null; + + // Get info about gallery name and current index from url + function parseUrl() { + var hash = window.location.hash.substr( 1 ); + var rez = hash.split( '-' ); + var index = rez.length > 1 && /^\+?\d+$/.test( rez[ rez.length - 1 ] ) ? parseInt( rez.pop( -1 ), 10 ) || 1 : 1; + var gallery = rez.join( '-' ); + + // Index is starting from 1 + if ( index < 1 ) { + index = 1; + } + + return { + hash : hash, + index : index, + gallery : gallery + }; + } + + // Trigger click evnt on links to open new fancyBox instance + function triggerFromUrl( url ) { + var $el; + + if ( url.gallery !== '' ) { + + // If we can find element matching 'data-fancybox' atribute, then trigger click event for that .. + $el = $( "[data-fancybox='" + $.escapeSelector( url.gallery ) + "']" ).eq( url.index - 1 ); + + if ( $el.length ) { + $el.trigger( 'click' ); + + } else { + + // .. if not, try finding element by ID + $( "#" + $.escapeSelector( url.gallery ) + "" ).trigger( 'click' ); + + } + + } + } + + // Get gallery name from current instance + function getGallery( instance ) { + var opts; + + if ( !instance ) { + return false; + } + + opts = instance.current ? instance.current.opts : instance.opts; + + return opts.$orig ? opts.$orig.data( 'fancybox' ) : ( opts.hash || '' ); + } + + // Star when DOM becomes ready + $(function() { + + // Small delay is used to allow other scripts to process "dom ready" event + setTimeout(function() { + + // Check if this module is not disabled + if ( $.fancybox.defaults.hash === false ) { + return; + } + + // Update hash when opening/closing fancyBox + $(document).on({ + 'onInit.fb' : function( e, instance ) { + var url, gallery; + + if ( instance.group[ instance.currIndex ].opts.hash === false ) { + return; + } + + url = parseUrl(); + gallery = getGallery( instance ); + + // Make sure gallery start index matches index from hash + if ( gallery && url.gallery && gallery == url.gallery ) { + instance.currIndex = url.index - 1; + } + + }, + + 'beforeShow.fb' : function( e, instance, current, firstRun ) { + var gallery; + + if ( current.opts.hash === false ) { + return; + } + + gallery = getGallery( instance ); + + // Update window hash + if ( gallery && gallery !== '' ) { + + if ( window.location.hash.indexOf( gallery ) < 0 ) { + instance.opts.origHash = window.location.hash; + } + + currentHash = gallery + ( instance.group.length > 1 ? '-' + ( current.index + 1 ) : '' ); + + if ( 'replaceState' in window.history ) { + if ( timerID ) { + clearTimeout( timerID ); + } + + timerID = setTimeout(function() { + window.history[ firstRun ? 'pushState' : 'replaceState' ]( {} , document.title, window.location.pathname + window.location.search + '#' + currentHash ); + + timerID = null; + + }, 300); + + } else { + window.location.hash = currentHash; + } + + } + + }, + + 'beforeClose.fb' : function( e, instance, current ) { + var gallery, origHash; + + if ( timerID ) { + clearTimeout( timerID ); + } + + if ( current.opts.hash === false ) { + return; + } + + gallery = getGallery( instance ); + origHash = instance && instance.opts.origHash ? instance.opts.origHash : ''; + + // Remove hash from location bar + if ( gallery && gallery !== '' ) { + + if ( 'replaceState' in history ) { + window.history.replaceState( {} , document.title, window.location.pathname + window.location.search + origHash ); + + } else { + window.location.hash = origHash; + + // Keep original scroll position + $( window ).scrollTop( instance.scrollTop ).scrollLeft( instance.scrollLeft ); + } + } + + currentHash = null; + } + }); + + // Check if need to close after url has changed + $(window).on('hashchange.fb', function() { + var url = parseUrl(); + + if ( $.fancybox.getInstance() ) { + if ( currentHash && currentHash !== url.gallery + '-' + url.index && !( url.index === 1 && currentHash == url.gallery ) ) { + currentHash = null; + + $.fancybox.close(); + } + + } else if ( url.gallery !== '' ) { + triggerFromUrl( url ); + } + }); + + // If navigating away from current page + $(window).one('unload.fb popstate.fb', function() { + $.fancybox.getInstance( 'close', true, 0 ); + }); + + // Check current hash and trigger click event on matching element to start fancyBox, if needed + triggerFromUrl( parseUrl() ); + + }, 50); + + }); + + +}(document, window, window.jQuery)); diff --git a/fancybox/src/js/media.js b/fancybox/src/js/media.js new file mode 100644 index 0000000..fb99347 --- /dev/null +++ b/fancybox/src/js/media.js @@ -0,0 +1,223 @@ +// ========================================================================== +// +// Media +// Adds additional media type support +// +// ========================================================================== +;(function ($) { + + 'use strict'; + + // Formats matching url to final form + + var format = function (url, rez, params) { + if ( !url ) { + return; + } + + params = params || ''; + + if ( $.type(params) === "object" ) { + params = $.param(params, true); + } + + $.each(rez, function (key, value) { + url = url.replace('$' + key, value || ''); + }); + + if (params.length) { + url += (url.indexOf('?') > 0 ? '&' : '?') + params; + } + + return url; + }; + + // Object containing properties for each media type + + var defaults = { + youtube : { + matcher : /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, + params : { + autoplay : 1, + autohide : 1, + fs : 1, + rel : 0, + hd : 1, + wmode : 'transparent', + enablejsapi : 1, + html5 : 1 + }, + paramPlace : 8, + type : 'iframe', + url : '//www.youtube.com/embed/$4', + thumb : '//img.youtube.com/vi/$4/hqdefault.jpg' + }, + + vimeo : { + matcher : /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, + params : { + autoplay : 1, + hd : 1, + show_title : 1, + show_byline : 1, + show_portrait : 0, + fullscreen : 1, + api : 1 + }, + paramPlace : 3, + type : 'iframe', + url : '//player.vimeo.com/video/$2' + }, + + metacafe : { + matcher : /metacafe.com\/watch\/(\d+)\/(.*)?/, + type : 'iframe', + url : '//www.metacafe.com/embed/$1/?ap=1' + }, + + dailymotion : { + matcher : /dailymotion.com\/video\/(.*)\/?(.*)/, + params : { + additionalInfos : 0, + autoStart : 1 + }, + type : 'iframe', + url : '//www.dailymotion.com/embed/video/$1' + }, + + vine : { + matcher : /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, + type : 'iframe', + url : '//vine.co/v/$1/embed/simple' + }, + + instagram : { + matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, + type : 'image', + url : '//$1/p/$2/media/?size=l' + }, + + // Examples: + // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16 + // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z + // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572 + gmap_place : { + matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, + type : 'iframe', + url : function (rez) { + return '//maps.google.' + rez[2] + '/?ll=' + ( rez[9] ? rez[9] + '&z=' + Math.floor( rez[10] ) + ( rez[12] ? rez[12].replace(/^\//, "&") : '' ) : rez[12] ) + '&output=' + ( rez[12] && rez[12].indexOf('layer=c') > 0 ? 'svembed' : 'embed' ); + } + }, + + // Examples: + // https://www.google.com/maps/search/Empire+State+Building/ + // https://www.google.com/maps/search/?api=1&query=centurylink+field + // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393 + gmap_search : { + matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, + type : 'iframe', + url : function (rez) { + return '//maps.google.' + rez[2] + '/maps?q=' + rez[5].replace('query=', 'q=').replace('api=1', '') + '&output=embed'; + } + } + }; + + $(document).on('onInit.fb', function (e, instance) { + + $.each(instance.group, function( i, item ) { + + var url = item.src || '', + type = false, + media, + thumb, + rez, + params, + urlParams, + o, + provider; + + // Skip items that already have content type + if ( item.type ) { + return; + } + + media = $.extend( true, {}, defaults, item.opts.media ); + + // Look for any matching media type + $.each(media, function ( n, el ) { + rez = url.match(el.matcher); + o = {}; + provider = n; + + if (!rez) { + return; + } + + type = el.type; + + if ( el.paramPlace && rez[ el.paramPlace ] ) { + urlParams = rez[ el.paramPlace ]; + + if ( urlParams[ 0 ] == '?' ) { + urlParams = urlParams.substring(1); + } + + urlParams = urlParams.split('&'); + + for ( var m = 0; m < urlParams.length; ++m ) { + var p = urlParams[ m ].split('=', 2); + + if ( p.length == 2 ) { + o[ p[0] ] = decodeURIComponent( p[1].replace(/\+/g, " ") ); + } + } + } + + params = $.extend( true, {}, el.params, item.opts[ n ], o ); + + url = $.type(el.url) === "function" ? el.url.call(this, rez, params, item) : format(el.url, rez, params); + thumb = $.type(el.thumb) === "function" ? el.thumb.call(this, rez, params, item) : format(el.thumb, rez); + + if ( provider === 'vimeo' ) { + url = url.replace('&%23', '#'); + } + + return false; + }); + + // If it is found, then change content type and update the url + + if ( type ) { + item.src = url; + item.type = type; + + if ( !item.opts.thumb && !( item.opts.$thumb && item.opts.$thumb.length ) ) { + item.opts.thumb = thumb; + } + + if ( type === 'iframe' ) { + $.extend(true, item.opts, { + iframe : { + preload : false, + attr : { + scrolling : "no" + } + } + }); + + item.contentProvider = provider; + + item.opts.slideClass += ' fancybox-slide--' + ( provider == 'gmap_place' || provider == 'gmap_search' ? 'map' : 'video' ); + } + + } else { + + // If no content type is found, then set it to `image` as fallback + item.type = 'image'; + } + + }); + + }); + +}(window.jQuery)); diff --git a/fancybox/src/js/slideshow.js b/fancybox/src/js/slideshow.js new file mode 100644 index 0000000..b839cf4 --- /dev/null +++ b/fancybox/src/js/slideshow.js @@ -0,0 +1,170 @@ +// ========================================================================== +// +// SlideShow +// Enables slideshow functionality +// +// Example of usage: +// $.fancybox.getInstance().SlideShow.start() +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + var SlideShow = function( instance ) { + this.instance = instance; + this.init(); + }; + + $.extend( SlideShow.prototype, { + timer : null, + isActive : false, + $button : null, + speed : 3000, + + init : function() { + var self = this; + + self.$button = self.instance.$refs.toolbar.find('[data-fancybox-play]').on('click', function() { + self.toggle(); + }); + + if ( self.instance.group.length < 2 || !self.instance.group[ self.instance.currIndex ].opts.slideShow ) { + self.$button.hide(); + } + }, + + set : function() { + var self = this; + + // Check if reached last element + if ( self.instance && self.instance.current && (self.instance.current.opts.loop || self.instance.currIndex < self.instance.group.length - 1 )) { + self.timer = setTimeout(function() { + self.instance.next(); + + }, self.instance.current.opts.slideShow.speed || self.speed); + + } else { + self.stop(); + self.instance.idleSecondsCounter = 0; + self.instance.showControls(); + } + + }, + + clear : function() { + var self = this; + + clearTimeout( self.timer ); + + self.timer = null; + }, + + start : function() { + var self = this; + var current = self.instance.current; + + if ( self.instance && current && ( current.opts.loop || current.index < self.instance.group.length - 1 )) { + + self.isActive = true; + + self.$button + .attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_STOP ) + .addClass( 'fancybox-button--pause' ); + + if ( current.isComplete ) { + self.set(); + } + } + }, + + stop : function() { + var self = this; + var current = self.instance.current; + + self.clear(); + + self.$button + .attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_START ) + .removeClass( 'fancybox-button--pause' ); + + self.isActive = false; + }, + + toggle : function() { + var self = this; + + if ( self.isActive ) { + self.stop(); + + } else { + self.start(); + } + } + + }); + + $(document).on({ + 'onInit.fb' : function(e, instance) { + if ( instance && !instance.SlideShow ) { + instance.SlideShow = new SlideShow( instance ); + } + }, + + 'beforeShow.fb' : function(e, instance, current, firstRun) { + var SlideShow = instance && instance.SlideShow; + + if ( firstRun ) { + + if ( SlideShow && current.opts.slideShow.autoStart ) { + SlideShow.start(); + } + + } else if ( SlideShow && SlideShow.isActive ) { + SlideShow.clear(); + } + }, + + 'afterShow.fb' : function(e, instance, current) { + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow && SlideShow.isActive ) { + SlideShow.set(); + } + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + var SlideShow = instance && instance.SlideShow; + + // "P" or Spacebar + if ( SlideShow && current.opts.slideShow && ( keycode === 80 || keycode === 32 ) && !$(document.activeElement).is( 'button,a,input' ) ) { + keypress.preventDefault(); + + SlideShow.toggle(); + } + }, + + 'beforeClose.fb onDeactivate.fb' : function(e, instance) { + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow ) { + SlideShow.stop(); + } + } + }); + + // Page Visibility API to pause slideshow when window is not active + $(document).on("visibilitychange", function() { + var instance = $.fancybox.getInstance(); + var SlideShow = instance && instance.SlideShow; + + if ( SlideShow && SlideShow.isActive ) { + if ( document.hidden ) { + SlideShow.clear(); + + } else { + SlideShow.set(); + } + } + }); + +}(document, window.jQuery)); diff --git a/fancybox/src/js/thumbs.js b/fancybox/src/js/thumbs.js new file mode 100644 index 0000000..abbd2f4 --- /dev/null +++ b/fancybox/src/js/thumbs.js @@ -0,0 +1,231 @@ +// ========================================================================== +// +// Thumbs +// Displays thumbnails in a grid +// +// ========================================================================== +;(function (document, $) { + 'use strict'; + + var FancyThumbs = function( instance ) { + this.instance = instance; + this.init(); + }; + + $.extend( FancyThumbs.prototype, { + + $button : null, + $grid : null, + $list : null, + isVisible : false, + + init : function() { + var self = this; + + var first = self.instance.group[0], + second = self.instance.group[1]; + + self.$button = self.instance.$refs.toolbar.find( '[data-fancybox-thumbs]' ); + + if ( self.instance.group.length > 1 && self.instance.group[ self.instance.currIndex ].opts.thumbs && ( + ( first.type == 'image' || first.opts.thumb || first.opts.$thumb ) && + ( second.type == 'image' || second.opts.thumb || second.opts.$thumb ) + )) { + + self.$button.on('click', function() { + self.toggle(); + }); + + self.isActive = true; + + } else { + self.$button.hide(); + + self.isActive = false; + } + + }, + + create : function() { + var instance = this.instance, + list, + src; + + this.$grid = $('
').appendTo( instance.$refs.container ); + + list = '
    '; + + $.each(instance.group, function( i, item ) { + + src = item.opts.thumb || ( item.opts.$thumb ? item.opts.$thumb.attr('src') : null ); + + if ( !src && item.type === 'image' ) { + src = item.src; + } + + if ( src && src.length ) { + list += '
  • '; + } + + }); + + list += '
'; + + this.$list = $( list ).appendTo( this.$grid ).on('click', 'li', function() { + instance.jumpTo( $(this).data('index') ); + }); + + this.$list.find('img').hide().one('load', function() { + + var $parent = $(this).parent().removeClass('fancybox-thumbs-loading'), + thumbWidth = $parent.outerWidth(), + thumbHeight = $parent.outerHeight(), + width, + height, + widthRatio, + heightRatio; + + width = this.naturalWidth || this.width; + height = this.naturalHeight || this.height; + + //Calculate thumbnail width/height and center it + + widthRatio = width / thumbWidth; + heightRatio = height / thumbHeight; + + if (widthRatio >= 1 && heightRatio >= 1) { + if (widthRatio > heightRatio) { + width = width / heightRatio; + height = thumbHeight; + + } else { + width = thumbWidth; + height = height / widthRatio; + } + } + + $(this).css({ + width : Math.floor(width), + height : Math.floor(height), + 'margin-top' : Math.min( 0, Math.floor(thumbHeight * 0.3 - height * 0.3 ) ), + 'margin-left' : Math.min( 0, Math.floor(thumbWidth * 0.5 - width * 0.5 ) ) + }).show(); + + }) + .each(function() { + this.src = $( this ).data( 'src' ); + }); + + }, + + focus : function() { + + if ( this.instance.current ) { + this.$list + .children() + .removeClass('fancybox-thumbs-active') + .filter('[data-index="' + this.instance.current.index + '"]') + .addClass('fancybox-thumbs-active') + .focus(); + } + + }, + + close : function() { + this.$grid.hide(); + }, + + update : function() { + + this.instance.$refs.container.toggleClass( 'fancybox-show-thumbs', this.isVisible ); + + if ( this.isVisible ) { + + if ( !this.$grid ) { + this.create(); + } + + this.instance.trigger( 'onThumbsShow' ); + + this.focus(); + + } else if ( this.$grid ) { + this.instance.trigger( 'onThumbsHide' ); + } + + // Update content position + this.instance.update(); + + }, + + hide : function() { + this.isVisible = false; + this.update(); + }, + + show : function() { + this.isVisible = true; + this.update(); + }, + + toggle : function() { + this.isVisible = !this.isVisible; + this.update(); + } + + }); + + $(document).on({ + + 'onInit.fb' : function(e, instance) { + if ( instance && !instance.Thumbs ) { + instance.Thumbs = new FancyThumbs( instance ); + } + }, + + 'beforeShow.fb' : function(e, instance, item, firstRun) { + var Thumbs = instance && instance.Thumbs; + + if ( !Thumbs || !Thumbs.isActive ) { + return; + } + + if ( item.modal ) { + Thumbs.$button.hide(); + + Thumbs.hide(); + + return; + } + + if ( firstRun && instance.opts.thumbs.autoStart === true ) { + Thumbs.show(); + } + + if ( Thumbs.isVisible ) { + Thumbs.focus(); + } + }, + + 'afterKeydown.fb' : function(e, instance, current, keypress, keycode) { + var Thumbs = instance && instance.Thumbs; + + // "G" + if ( Thumbs && Thumbs.isActive && keycode === 71 ) { + keypress.preventDefault(); + + Thumbs.toggle(); + } + }, + + 'beforeClose.fb' : function( e, instance ) { + var Thumbs = instance && instance.Thumbs; + + if ( Thumbs && Thumbs.isVisible && instance.opts.thumbs.hideOnClose !== false ) { + Thumbs.close(); + } + } + + }); + +}(document, window.jQuery)); diff --git a/functions.php b/functions.php index 92ce597..dc86d00 100644 --- a/functions.php +++ b/functions.php @@ -65,11 +65,39 @@ function glm_site_scripts() '1.0', true ); - if(is_front_page()) { - } + wp_enqueue_script('slick_script', get_template_directory_uri() . '/slick/slick/slick.min.js', array('jquery'), null, false); + + wp_enqueue_style('slick-style', get_template_directory_uri() . '/slick/slick/slick.css'); + + wp_enqueue_style('slick-theme', get_template_directory_uri() . '/slick/slick/slick-theme.css'); + + wp_enqueue_style('fancyStyle', get_template_directory_uri() . '/fancybox/dist/jquery.fancybox.min.css'); +// wp_enqueue_style('fancyStyleButtons', get_template_directory_uri() . '/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5'); +// wp_enqueue_style('fancyStyleThumbs', get_template_directory_uri() . '/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7'); + + wp_enqueue_script('fancyScript', get_template_directory_uri() . '/fancybox/dist/jquery.fancybox.min.js', array('jquery'), '', true ); +// wp_enqueue_script('fancyMouse', get_template_directory_uri() . '/fancybox/lib/jquery.mousewheel-3.0.6.pack.js', array('jquery'), '', true ); +// wp_enqueue_script('fancyThumbs', get_template_directory_uri() . '/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7', array('jquery'), '', true ); +// wp_enqueue_script('fancyButtons', get_template_directory_uri() . '/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5', array('jquery'), '', true ); +// wp_enqueue_script('fancyMedia', get_template_directory_uri() . '/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6', array('jquery'), '', true ); + } +function get_excerpt_by_id($post_id, $length = 35){ + $the_post = get_post($post_id); //Gets post ID + $the_excerpt = $the_post->post_content; //Gets post_content to be used as a basis for the excerpt + $excerpt_length = $length; //Sets excerpt length by word count + $the_excerpt = strip_tags(strip_shortcodes($the_excerpt)); //Strips tags and images + $words = explode(' ', $the_excerpt, $excerpt_length + 1); if(count($words) > $excerpt_length) : + array_pop($words); + array_push($words, '…'); + $the_excerpt = implode(' ', $words); + endif; + $the_excerpt = '

' . $the_excerpt . '

'; + return $the_excerpt; + +} /* Header for posts*/ function glm_get_header() { @@ -81,12 +109,13 @@ function glm_get_header() { echo '
'; } else { echo 'post_type == 'page') { + if (has_post_thumbnail()) { $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(), "full"); - echo ' style="background-image: url('.$image_data[0].');height:0;padding:0;padding-bottom:20%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 300px; "'; + echo ' style="background-image: url('.$image_data[0].');height:0;padding:0;padding-bottom:30%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 300px; "'; + echo ' class="featured-image no-featured"'; } else { - //echo ' style="background-image: url('.get_template_directory_uri().'/assets/default-header.gif);height:0;padding:0;padding-bottom:30%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 300px;"'; - echo ' class="no-featured"'; + echo ' style="background-image: url('.get_template_directory_uri().'/assets/default-header.jpg);height:0;padding:0;padding-bottom:30%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 300px;"'; + echo ' class="featured-image no-featured"'; } echo '>'; echo '
'; diff --git a/glm-member-db-events/views/front/events/eventsFeed.html b/glm-member-db-events/views/front/events/eventsFeed.html index c5684ca..fed0a58 100644 --- a/glm-member-db-events/views/front/events/eventsFeed.html +++ b/glm-member-db-events/views/front/events/eventsFeed.html @@ -1,33 +1,34 @@ {if $events}
-

Featured Events

+

Featured Events

-
+
{foreach $events as $event}
{$event.name}
- -

{$event.intro}

+ + +
{foreach from=$event.times key=myId item=i name=time} {if $smarty.foreach.time.first} - {$i.start_time.timestamp|date_format:"%b %e"} {assign var=first value=$i.start_time.timestamp} - + {/if} {if $smarty.foreach.time.last} {if $first != $i.start_time.timestamp} - - {$i.start_time.timestamp|date_format:"%b %e"} + - {$i.start_time.timestamp|date_format:"%b %e, %Y"} {/if} {/if} {/foreach} - MORE -
+
+ MORE +
{/foreach}
diff --git a/index.php b/index.php index 3f0fbc4..17e91ce 100644 --- a/index.php +++ b/index.php @@ -7,29 +7,29 @@
diff --git a/js/app.js b/js/app.js index 1481ce2..a49c6f0 100644 --- a/js/app.js +++ b/js/app.js @@ -10,6 +10,7 @@ this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a var g=a(f(this.selector(c),a("
").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append(''+e.touch_close_text+""),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
  • ":'
  • '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document);;// Load foundation $(document).foundation(); $(document).ready(function () { + var page = $("body"); $('ul.children').each(function () { $(this).before(''); }); @@ -30,4 +31,86 @@ $(document).ready(function () { //console.log('ul = ' + menuImg); //console.log('menu-id = ' + menuNum); }); + $("[data-fancybox]").fancybox({ + iframe : { + css : { + width : '600px' + } + } + }); +// +// $("a.glm-block-image.fancybox").fancybox({ +// +// helpers: { +// overlay: { locked: false }, +// title: { type: 'inside'}, +// }, +// afterLoad: function(){ +// this.title = $(this.element).find('img').attr('alt'); +// } +// }); + + + // weather widget hover effect + $('#activate-weather') + .mouseover(function() { + $('#weather-widget').slideDown(); + }) + .mouseout(function() { + $('#weather-widget').slideUp(); + }); + + + var submenus = page.find("#menu-main-navigation .sub-menu"); + submenus.each(function() { + if ($(this).children().length > 6) { + $(this).addClass("submenu-two-columns"); + } + }); + + var event_feed = $("#feed"); + event_feed.addClass("feed"); + event_feed.children("div").addClass("feed-block"); + + function check_window_width(){ + + if($(window).width() > 1023){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 4, + slidesToScroll: 1, + arrows: true, + + }); + + } else if($(window).width() < 1025 && $(window).width() > 639){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 2, + slidesToScroll: 1 + }); + } else if($(window).width() < 641 && $(window).width() > 319){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 1, + slidesToScroll: 1 + }); + } + } + + check_window_width(); + $(window).resize(function () { + check_window_width(); + }); + + }); diff --git a/js/custom/pageSetup.js b/js/custom/pageSetup.js index 7b76e81..85482be 100644 --- a/js/custom/pageSetup.js +++ b/js/custom/pageSetup.js @@ -1,6 +1,7 @@ // Load foundation $(document).foundation(); $(document).ready(function () { + var page = $("body"); $('ul.children').each(function () { $(this).before(''); }); @@ -21,4 +22,86 @@ $(document).ready(function () { //console.log('ul = ' + menuImg); //console.log('menu-id = ' + menuNum); }); + $("[data-fancybox]").fancybox({ + iframe : { + css : { + width : '600px' + } + } + }); +// +// $("a.glm-block-image.fancybox").fancybox({ +// +// helpers: { +// overlay: { locked: false }, +// title: { type: 'inside'}, +// }, +// afterLoad: function(){ +// this.title = $(this.element).find('img').attr('alt'); +// } +// }); + + + // weather widget hover effect + $('#activate-weather') + .mouseover(function() { + $('#weather-widget').slideDown(); + }) + .mouseout(function() { + $('#weather-widget').slideUp(); + }); + + + var submenus = page.find("#menu-main-navigation .sub-menu"); + submenus.each(function() { + if ($(this).children().length > 6) { + $(this).addClass("submenu-two-columns"); + } + }); + + var event_feed = $("#feed"); + event_feed.addClass("feed"); + event_feed.children("div").addClass("feed-block"); + + function check_window_width(){ + + if($(window).width() > 1023){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 4, + slidesToScroll: 1, + arrows: true, + + }); + + } else if($(window).width() < 1025 && $(window).width() > 639){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 2, + slidesToScroll: 1 + }); + } else if($(window).width() < 641 && $(window).width() > 319){ + if($(".feed").hasClass('slick-initialized') ) { + $(".feed").slick('unslick'); + } + $(".feed").slick({ + infinite: true, + slidesToShow: 1, + slidesToScroll: 1 + }); + } + } + + check_window_width(); + $(window).resize(function () { + check_window_width(); + }); + + }); diff --git a/parts/city-map.php b/parts/city-map.php index 065d6c5..e45493d 100644 --- a/parts/city-map.php +++ b/parts/city-map.php @@ -1,2103 +1,1570 @@ - + + viewBox="0 0 645 400" style="enable-background:new 0 0 645 400;" xml:space="preserve"> + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - + - - - + + + - - + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - + + + + - - + + - - + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/parts/footer-svg-section.php b/parts/footer-svg-section.php new file mode 100644 index 0000000..e6d7b50 --- /dev/null +++ b/parts/footer-svg-section.php @@ -0,0 +1,4 @@ +
    + + +
    diff --git a/parts/glm-blocks.php b/parts/glm-blocks.php index 16eedfd..5c3d35c 100644 --- a/parts/glm-blocks.php +++ b/parts/glm-blocks.php @@ -1,26 +1,51 @@ -
    +
    - diff --git a/parts/map-section.php b/parts/map-section.php index ead1bbc..925cf01 100644 --- a/parts/map-section.php +++ b/parts/map-section.php @@ -1,28 +1,27 @@ $page, + 'name' => $page, 'post_type' => 'page', 'post_status' => 'publish', 'numberposts' => 1 ); $city_page = get_posts($args); - - $content = substr(strip_tags($city_page[0]->post_content),0, 300); - $content = strip_shortcodes($content); + $content = get_excerpt_by_id($city_page[0]->ID, 50); + //echo $content; $city_image_id = get_post_thumbnail_id($city_page[0]->ID); $city_image = wp_get_attachment_image_src( $city_image_id, 250,250, true); $city_url = get_permalink($city_page[0]->ID); - + //echo "1"; if($city_image_id){ $city_image = wp_get_attachment_image_src( $city_image_id, 250,250, true); $city_image = $city_image[0]; } else { - $city_image = get_template_directory_uri() .'/assets/default.jpg'; + $city_image = get_template_directory_uri() .'/assets/default-map-image.jpg'; } - + //echo $city_image; $cities[$city_page[0]->post_name] = array( 'title' => $city_page[0]->post_title, 'id' => $city_page[0]->ID, @@ -45,7 +44,7 @@

    Take a Tour

    -
    +
    Default
    post content
    @@ -60,77 +59,78 @@ var map = $("#city-map"); var city_region = $('.city-region'); var text_paths = $(city_region).children('path'); - var red = '#ed5537'; - var blue = '#6694a1'; var city_image = $('.city-img'); var city_title = $('.city-title'); var city_content = $('.city-content'); var city_link = $('.city-link'); var sibling_region,city_id,url; - // hover elements TODO::Create a function that removes the duplicate code for title,content and img in the hover callbacks - text_paths.hover(function(){ - var parent = $(this).parent(); - var sibling = parent.prev(); - city_id = sibling_region = sibling.children('g').attr("id"); - sibling_region = sibling.children('g').find('rect'); - sibling_region.css({"fill" :red, 'cursor' : 'pointer'}); - - var img = cities[city_id]['image']; - var title = cities[city_id]['title']; - var content = cities[city_id]['content']; - url = cities[city_id]['url']; - - city_image.css("background-image", 'url(' + img + ')'); - city_content.text(content); - city_title.text(title); - city_link.attr("href", url); - - },function(){ - sibling_region.css("fill", blue); - }); - + // hover elements TODO::Create a function that removes the duplicate code for title,content and img in the hover callbacks +// text_paths.hover(function(){ +// var _ = $(this); +// var parent = _.parent(); +// var region = parent.attr("class").split(' ')[0]; +//// console.log(region); +//// var parent = $(this).parent(); +//// var sibling = parent.prev(); +//// city_id = sibling_region = sibling.children('g').attr("class"); +//// sibling_region = sibling.children('g').find('rect'); +//// sibling_region.css({"fill" :red, 'cursor' : 'pointer'}); +//// +//// var img = cities[city_id]['image']; +//// var title = cities[city_id]['title']; +//// var content = cities[city_id]['content']; +//// url = cities[city_id]['url']; +//// +//// city_image.css("background-image", 'url(' + img + ')'); +//// city_content.text(content); +//// city_title.text(title); +//// city_link.attr("href", url); +// +// },function(){ +//// sibling_region.css("fill", blue); +// }); city_region.hover(function(){ + var _ = $(this); + var region = _.attr("class").split(' ')[0]; + if( $(this).children('path').length > 0 ){ city_id = $(this).prev().children('g').attr('id'); - var img = cities[city_id]['image']; - var title = cities[city_id]['title']; - var content = cities[city_id]['content']; - url = cities[city_id]['url']; - + var img = cities[region]['image']; + var title = cities[region]['title']; + var content = cities[region]['content']; + url = cities[region]['url']; city_image.css("background-image", 'url(' + img + ')'); - city_title.text(cities[city_id]['title']); - city_content.text(cities[city_id]['content']); + city_title.text(cities[region]['title']); + city_content.text(cities[region]['content']); city_link.attr("href", url); } else { - city_id = $(this).parent().attr('id'); - var img = cities[city_id]['image']; - var title = cities[city_id]['title']; - var content = cities[city_id]['content']; - url = cities[city_id]['url']; + city_id = $(this).attr('id').slice(0,-5); // Remove the -rect + var img = cities[region]['image']; + var title = cities[region]['title']; + var content = cities[region]['content']; + url = cities[region]['url']; city_image.css("background-image", 'url(' + img + ')'); - city_title.text(cities[city_id]['title']); - city_content.text(cities[city_id]['content']); + city_title.text(cities[region]['title']); + city_content.text(cities[region]['content']); city_link.attr("href", url); } - $(this).css({"fill" :red, 'cursor' : 'pointer'}); + $("#Main_Towns_-_hover ." + region + " path").css("visibility", "visible"); + },function(){ - $(this).css("fill", blue); + + var _ = $(this); + var region = _.attr("class").split(' ')[0]; + $("#Main_Towns_-_hover ." + region + " path").css("visibility", "hidden"); }); - city_region.on("click", function(){ + city_region.on("click", function(){ window.location.href = url; }); text_paths.on("click", function(){ window.location.href = url; }); - $('#test').hover(function() { - console.log("SOmething"); - }, function() { - console.log("SOmething else"); - }); - - }); - + }); + \ No newline at end of file diff --git a/scss/_copyright.scss b/scss/_copyright.scss index 886ae55..e69de29 100644 --- a/scss/_copyright.scss +++ b/scss/_copyright.scss @@ -1,18 +0,0 @@ -#copyright { - padding: 20px 0; - margin: 0 auto; - float: none; - span { - font-size: rem-calc(10); - } - a { - color: $black; - } -} -#footer_address span.bullet, -#copyright span.bullet { - margin: 0 5px; - @media #{$small-only} { - display: none !important; - } -} diff --git a/scss/_main.scss b/scss/_main.scss index 1acb62a..9cb579b 100644 --- a/scss/_main.scss +++ b/scss/_main.scss @@ -1,3 +1,6 @@ +main { + //padding: 20px; +} .breadcrumbs { margin-top: 10px; } @@ -38,4 +41,29 @@ body .stButton .sharethis { background-image: url("../assets/share-icon.png") !important; width: 52px; height: 22px; -} \ No newline at end of file +} +/* +*/#Main_Towns_-_hover path { + visibility: hidden; +}/* +#Main_Towns_-_hover .city-hover:hover, +#Main_Towns_-_hover .city-hover.hover { + visibility: visible; + path { + visibility: visible; + } +} +#Main_Towns_-_hover g.hover, +#Main_Towns_-_hover g:hover { + visibility: visible; + path { + visibility: visible; + } +} +#Main_Towns_-_hover .city-hover-text.hover, +#Main_Towns_-_hover .city-hover-text:hover { + visibility: visible; + path { + visibility: visible; + } +}*/ \ No newline at end of file diff --git a/scss/_page.footer.scss b/scss/_page.footer.scss index c8d63e8..91d0393 100644 --- a/scss/_page.footer.scss +++ b/scss/_page.footer.scss @@ -1,5 +1,6 @@ footer.main { - position: absolute; + //position: absolute; + margin-top: 40px; bottom: 0; left: 0; right: 0; @@ -8,10 +9,197 @@ footer.main { bottom: 0; } } -#footer_address { +#footer-top { + #footer-guide { + p { + margin: 0; + } + .footer-guide-text-wrapper { + float: left; + padding: 20px 15px; + .footer-guide-text { + color: $orange; + font-size: 24px; + line-height: 1.2; + margin-bottom: 15px; + } + .footer-guide-links { + a { + color: $bright-blue; + font-size: 18px; + text-transform: uppercase; + } + .separator { + color: $bright-blue; + font-size: 18px; + padding: 4px; + } + } + } + .footer-guide-image-wrapper { + float: left; + } + } + #footer-social { + padding: 15px; + .footer-social-text { + color: $orange; + font-size: 24px; + line-height: 1.2; + margin-bottom: 15px; + } + .footer-social-icon { + background-image: url("../assets/social-icons.png"); + height: 56px; + width: 56px; + display: block; + float: left; + margin-right: 25px; + margin-bottom: 15px; + @media #{$medium-down} { + margin-right: 10px; + } + } + #facebook { + background-position: 0 0; + } + #photobucket { + background-position: -79px 0; + } + #travel-advisor { + background-position: -158px 0; + } + #blog { + background-position: -237px 0; + } + } +} +#footer-newsletter-wrapper { + width: 100%; + height: auto; + background-color: $slate-blue; + position: relative; + .footer-newsletter-title { + width: 80%; + color: $white; + float: left; + font-weight: bold; + letter-spacing: 1px; + line-height: 1; + } + .footer-newsletter-text { + width: 80%; + color: $gold; + float: left; + font-size: 18px; + margin-bottom: 0; + } + .footer-newsletter-button { + position: absolute; + right: 5%; + top: 35px; + display: inline; + float: right; + background-color: $gold; + color: $white; + padding: 5px 18px; + text-transform: uppercase; + line-height: 1; + font-weight: bold; + letter-spacing: 1px; + transition: all 0.5s; + &:hover { + background-color: $white; + color: $orange; + transition: all 0.5s; + } + } + +} +#footer-newsletter { + padding: 15px; + position: relative; +} +#footer-weather-address-wrapper { + bottom: 10px; + left: 0; + position: absolute; + right: 0; + @media #{$medium-only} { + bottom: 0; + } +} +#footer-weather { + width: 50%; + .footer-weather-logo { + img { + text-align: center; + margin-bottom: 20px; + } + } + .footer-pure-michigan-logo { + float: right; + img { + max-width: 160px; + margin-top: 35px; + @media #{$medium-down} { + margin-top: 55px; + } + } + } + #weather-widget { + position: absolute; + display: none; + width: 264px; + height: 200px; + bottom: 180px; + left: -65px; + @media #{$medium-down} { + left: 0; + bottom: 180px; + } + &:after { + content: url(../assets/weather-arrow-down.png); + position: absolute; + top: 229px; + left: 45%; + @media #{$medium-down} { + top: 229px; + left: 53px; + } + } + .wu-wrapper { + border: 3px solid $orange; + background: white; + } + } +} +#footer-address { + width: 50%; + color: $white; + text-align: center; + @media #{$medium-only} { + line-height: 1.0; + margin-top: -40px; + } + a { + color: $orange; + text-decoration: underline; + &:hover { + color: $gold; + } + } span{ + color: $white; white-space: nowrap; } + h2 { + color: $gold; + font-size: 20px; + font-weight: bold; + letter-spacing: 0; + line-height: 1.0; + } } #connect { padding-top: 20px; @@ -39,3 +227,27 @@ footer.main { } } } +#copyright { + padding-top: 10px; + @media #{$large-up} { + padding-top: 30px; + } + color: $white; + float: none; + line-height: 1.0; + margin: 0 auto; + span { + font-size: rem-calc(10); + } + a { + color: $white; + text-decoration: underline; + } +} +#footer_address span.bullet, +#copyright span.bullet { + margin: 0 5px; + @media #{$small-only} { + display: none !important; + } +} diff --git a/scss/_page.header.scss b/scss/_page.header.scss index 40b197f..097828a 100644 --- a/scss/_page.header.scss +++ b/scss/_page.header.scss @@ -4,7 +4,16 @@ color: $white; width: 100%; text-align: center; - padding: 5px 0 20px; + padding: 5px 10px 20px; + @media #{$small-only} { + h1 { + font-size: 30px; + line-height: 1.2; + } + } + &.header-separator-interior { + padding: 5px 0; + } > * { max-width: 1024px; margin: 0 auto; @@ -17,6 +26,9 @@ letter-spacing: 1px; line-height: 1.8; } + &.header-separator-interior h1 { + color: $gold; + } p { color: $gold; font-size: 18px; diff --git a/scss/_plugins.scss b/scss/_plugins.scss index 3f02228..fb9a93c 100644 --- a/scss/_plugins.scss +++ b/scss/_plugins.scss @@ -1,4 +1,5 @@ @import "plugins/nextgen"; @import "plugins/gravityForms"; - @import "plugins/events"; - @import "plugins/fullCalendar"; \ No newline at end of file + @import "plugins/glm-member-db-events"; + @import "plugins/fullCalendar"; + @import "plugins/glm-blocks"; \ No newline at end of file diff --git a/scss/_settings.scss b/scss/_settings.scss index da4908c..12df896 100644 --- a/scss/_settings.scss +++ b/scss/_settings.scss @@ -130,7 +130,7 @@ $light-blue : #a2c7e3; $pale-blue : #e4edf5; // We use these as default colors throughout -$primary-color: #008CBA; +$primary-color: $slate-blue; $secondary-color: #e7e7e7; $alert-color: #f04124; $success-color: #43AC6A; diff --git a/scss/_structure.scss b/scss/_structure.scss index 0899684..fa8048b 100644 --- a/scss/_structure.scss +++ b/scss/_structure.scss @@ -1,5 +1,42 @@ //1. Body //2. Header +h1 { + color: $white; + font-family: 'Open Sans'; + font-size: 36px; + letter-spacing: 4px; + text-decoration: uppercase; +} +h2 { + color: $white; + font-family: 'Open Sans'; + font-size: 36px; + letter-spacing: 4px; +} +h3 { + color: $slate-blue; + font-family: 'Open Sans'; + font-size: 30px; + font-weight: bold; +} +h4 { + color: $slate-blue; + font-family: 'Open Sans'; + font-size: 24px; + font-weight: bold; + letter-spacing: 4px; +} +h5 { + color: $orange; + font-family: 'Open Sans'; + font-size: 24px; +} +h6 { + color: $gold; + font-family: 'Open Sans'; + font-size: 18px; + font-weight: bold; +} //3. Fonts //4. Top Bar //5. Off-Canvas @@ -12,7 +49,7 @@ } //6. Main //7. Slideshow -//8. Blog +//8. Blog //9. Sidebar //10. Links //11. Footer diff --git a/scss/_topbar.scss b/scss/_topbar.scss index f9ebd06..3721ca5 100644 --- a/scss/_topbar.scss +++ b/scss/_topbar.scss @@ -24,56 +24,121 @@ top: 20px; z-index: 9; } +.submenu-two-columns { + column-count: 2; + min-width: 460px; + li { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid-column; + } +} .top-bar { background: transparent; width: 1024px; margin: 0 auto; padding-top: 100px; .top-bar-section { - background: transparent; - border-radius: 4px; - float: right; - margin-left: auto; - margin-right: auto; + background: $tan; + border-radius: 9px; display: inline-block; + float: right; height: auto; line-height: 1; + margin-left: auto; + margin-right: auto; + width: 100%; &:before { background-image: url("../wp-content/themes/keweenaw2017/assets/keweenaw-logo.png"); } > ul { - > li:not(.has-form) { + float: right; + background: transparent; + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; + > li:not(.has-form):not(.active) { background-color: $tan; + &:hover { + background-color: $slate-blue; + > a:not(.button) { + background-color: $slate-blue; + color: $white; + } + > a.active { + background-color: $slate-blue; + } + } > a:not(.button) { + @media only screen and (min-width: 40.063em) { + background-color: $tan; + } + background-color: $tan; color: $slate-blue; font-size: 22px; font-weight: bold; - padding: 6px 20px; + padding: 6px 18px; + &.active { + background-color: $slate-blue; + color: $white; + + } + } + &:last-child, + &:last-child > a { + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; } } } ul{ + background: white; li { - - a { - + &.active:not(.has-form) a:not(.button) { + padding: 6px 20px; } - &:not(.has-form):not(.active) { - & > a:not(.button) { - background: transparent; - } + a { + font-size: 22px; + padding: 6px 20px; } ul.dropdown { + max-width: 500px; + padding: 20px; + border-width: 0 2px 2px 2px; + border-style: solid; + border-color: $slate-blue; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + li:not(.has-form):not(.active):hover { + > a:not(.button) { + background-color: $white; + color: $orange; + font-size: 16px; + } + } li { + &:not(.has-form):not(.active) { + & > a:not(.button) { + background-color: $white; + color: $black; + } + } + min-width: 200px; + background-color: $white; + color: $black; + border-bottom: 1px dotted $slate-blue; + font-size: 16px; a { + color: $black; border-top-left-radius: 0; border-top-right-radius: 0; text-align: left; + white-space: normal; } &:not(.has-form):not(.active) { & > a:not(.button) { - font-size: rem-calc(20); - padding: 10px 14px; + font-size: rem-calc(16); + padding: 10px 0; + line-height: 1; } } diff --git a/scss/plugins/_events.scss b/scss/plugins/_events.scss deleted file mode 100644 index 7362cbc..0000000 --- a/scss/plugins/_events.scss +++ /dev/null @@ -1,3 +0,0 @@ -#blog-posts-over article.ai1ec_event { - padding: 10px; -} \ No newline at end of file diff --git a/scss/plugins/_glm-blocks.scss b/scss/plugins/_glm-blocks.scss new file mode 100644 index 0000000..7a86706 --- /dev/null +++ b/scss/plugins/_glm-blocks.scss @@ -0,0 +1,41 @@ +#glm-blocks-wrapper { + background-color: $pale-blue; + float: left; + margin-bottom: 40px; + width: 100%; +} +.glm-blocks-container { + padding: 40px 0; + max-width: 1024px; + .glm-block-image { + position: relative; + img { + float: left; + width: 100%; + } + } + .glm-block-title h1 { + margin: 0; + background-color: $orange; + text-align: center; + letter-spacing: 0; + padding: 5px; + font-weight: bold; + font-size: 30px; + } + .glm-block { + position: relative; + } +} +.glm-block-video-arrow { + width: 0; + height: 0; + position: absolute; + border-top: 30px solid transparent; + border-bottom: 30px solid transparent; + border-left: 50px solid white; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + pointer-events: none; +} \ No newline at end of file diff --git a/scss/plugins/_glm-member-db-events.scss b/scss/plugins/_glm-member-db-events.scss new file mode 100644 index 0000000..9b5290b --- /dev/null +++ b/scss/plugins/_glm-member-db-events.scss @@ -0,0 +1,311 @@ +// Setting for the colors +$nameSearchButtonColor : #1D3961; +$shortcutsButtonColor : #1D3961; +$backToSearchButtonColor : #1D3961; +$eventGradientColor : #f2f2f2; +$eventMonthColor : #1D3961; +$readMoreColor : #1D3961; + +#glm-event-wrapper { + h1 { + font-size: 1.5rem; + padding: 0 15px; + } + #glm-events-search-form { + .button { + @include button( + // $padding + rem-calc(12), + // Background color. + $nameSearchButtonColor, + // If true, set to button radius which is $global-radius + // or explicitly set radius amount in px (ex. $radius:10px). + // Default:false. + 3px, + // We can set $full-width:true to remove side + // padding extend width. Default:false + false, + // We can set $disabled:true to create a + // disabled transparent button. Default:false + false + ); + + color: white; + } + #glm-event-add-event{ + width: 126px; + float: right; + } + } + +// #glm-events-shortcuts .shortcuts-button-group { +// @include button-group(); +// .shortcuts-button { +// @include button( +// rem-calc(12), +// $shortcutsButtonColor, +// true, +// true, +// false +// ); +// margin-bottom: 1px; +// } +// & > li { +// @include button-group-style( +// $radius:true, +// $even:false, +// $float:none +// ); +// } +// } + // for the back to search button + button:not(.fc-button) { + @include button( + // $padding + rem-calc(12), + // Background color. + $backToSearchButtonColor, + // If true, set to button radius which is $global-radius + // or explicitly set radius amount in px (ex. $radius:10px). + // Default:false. + 3px, + // We can set $full-width:true to remove side + // padding extend width. Default:false + false, + // We can set $disabled:true to create a + // disabled transparent button. Default:false + false + ); + width: 220px; + } + p { + margin-left: 15px; + } + + .glm-event-day-row { + border: 1px solid $white; + @include gradient($eventGradientColor, $white); + } + + .glm-event-day-event { + border: 1px solid $eventMonthColor; + &:hover { + border: 1px solid $black; + } + } + .glm-event-day-event a.glm-read-more { + border: 1px solid $eventMonthColor; + background-color: $white; + color: $black; + } + .glm-event-day-event a.glm-read-more:hover { + color: $white; + background-color: $eventMonthColor; + border: 1px solid $white; + } + .glm-event-cal { + border: 1px solid $eventMonthColor; + } + .glm-event-cal-day-container { + @include gradient($white, $eventGradientColor); + } + .glm-event-cal-month { + background-color: $eventMonthColor; + color: #fff; + } + h1 { + color: $eventMonthColor; + } + h2 { + color: #1E3D67; + font-weight: bold; + } + #glm-event-detail-cost:before{ + top: 0px; + } + .stButton .sharethis{ + display: none; + } + span#eventShare.st_sharethis, + #shareThisOrange{ + background-color: $eventMonthColor !important; + font-size: rem-calc(14); + font-weight: bold; + color: white; + width: auto; + height: 30px; + border-radius: 3px; + max-height: 30px; + padding: 3px 0 0 15px; + } + #EventDrivingDirectionSubmit { + margin-left: 0px; + font-weight: bold; + } +} +.hasDatepicker { + width: 100%; + height: 34px; +} +// Front page display +#glm-events-frontpage-wrapper { + .glm-events-frontpage-day { + padding: 3px; + background-color: $eventMonthColor; + color: #779156; + } + .glm-events-frontpage-event-container { + margin: 10px 0; + overflow: hidden; + } + .glm-events-frontpage-event-image { + width: 90px; + height: 90px; + } + .glm-events-frontpage-event-title, + .glm-events-frontpage-event-dates, + .glm-events-frontpage-event-content { + float: left; + width: 170px; + padding: 0px 12px 0px 8px; + margin-top: 4px; + } + .glm-events-frontpage-event-title { + /* font-size: 15px;*/ + color: $eventMonthColor; + font-weight: bold; + max-height: 37.2px; + overflow: hidden; + line-height: 1.4; + } + .glm-events-frontpage-event-dates { + color: grey; + max-height: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .glm-events-frontpage-event-content { + max-height: 37.2px; + overflow: hidden; + } +} +@media#{$medium-up} { + #glm-event-wrapper { +// width: 80%; + margin: 0 auto; + } + #glm-event-wrapper.event-detail { + width: 100%; + } +} +form#glm-member-event-search #glm-event-category{ + width: 83% +} +.prefix, +.postfix { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.875rem; + height: 2.3125rem; + line-height: 2.3125rem; + overflow: visible; + padding-bottom: 0; + padding-top: 0; + position: relative; + text-align: center; + width: 100%; + z-index: 2; +} +span.prefix, label.prefix { + background: #f2f2f2; + border-right: none; + color: #333333; + border-color: #cccccc; +} + +span.postfix, label.postfix { + background: #f2f2f2; + border-left: none; + color: #333333; + border-color: #cccccc; +} +input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + background-color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.75); + display: block; + font-family: inherit; + font-size: 0.875rem; + height: 2.3125rem; + margin: 0 0 1rem 0; + padding: 0.5rem; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: border-color 0.15s linear, background 0.15s linear; + -moz-transition: border-color 0.15s linear, background 0.15s linear; + -ms-transition: border-color 0.15s linear, background 0.15s linear; + -o-transition: border-color 0.15s linear, background 0.15s linear; + transition: border-color 0.15s linear, background 0.15s linear; +} +.right { + float: right !important; +} +#glm-event-detail-takeback-mini { + border: 2px solid #033733; +} +#front-event-feed-title { + color: $slate-blue; + font-size: 25px; + font-weight: bold; + letter-spacing: 1px; + text-transform: uppercase; +} +#event-feed-row { + margin-bottom: 40px; +} +#feed { + .image-container { + width: auto; + height: 150px; + margin-bottom: 10px; + } + .front-event-title { + color: $slate-blue; + font-size: 18px; + font-weight: bold; + min-height: 50px; + } + .front-event-date-container { + display: inline; + padding: 0 5px; + } + .front-event-date { + color: grey; + font-size: 14px; + } + .front-event-button { + background-color: $orange; + float: right; + color: $white; + font-size: 15px; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: bold; + padding: 4px 8px; + line-height: 1.2; + } + .front-event-border { + border-bottom: 2px solid $slate-blue; + clear: both; + } +} \ No newline at end of file diff --git a/sections/footer.php b/sections/footer.php index 076b2e8..03ee75b 100644 --- a/sections/footer.php +++ b/sections/footer.php @@ -1,14 +1,62 @@
    + + + + + + -
    -
    \ No newline at end of file diff --git a/sections/front-page.php b/sections/front-page.php index 921be8b..65d291e 100644 --- a/sections/front-page.php +++ b/sections/front-page.php @@ -1,4 +1,4 @@ -
    +

    MICHIGAN'S COPPER COUNTY

    The Keweenaw is Michigan's Copper Country! Here is where the largest fresh waters on earth create a peninsula @@ -17,13 +17,13 @@

    -
    +
    - +
    diff --git a/sections/interior-page.php b/sections/interior-page.php index c6399ae..92da473 100644 --- a/sections/interior-page.php +++ b/sections/interior-page.php @@ -1,10 +1,13 @@ +
    +

    +
    "; - echo ''; + echo ''; bcn_display(); echo "
    "; } diff --git a/sections/top-bar.php b/sections/top-bar.php index 1185023..c862e94 100644 --- a/sections/top-bar.php +++ b/sections/top-bar.php @@ -1,6 +1,6 @@
  • +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 literal 0 HcmV?d00001 diff --git a/assets/social-icons.png b/assets/social-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..43c2e4fbca47a62a42bd1984ec3389e8e4c97a0f GIT binary patch literal 6045 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 XZ=PQV2T-Un00000NkvXXu0mjfMMKbK literal 0 HcmV?d00001 diff --git a/assets/visitors-guides.png b/assets/visitors-guides.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ce5b5144940903325c45bd6281f35cea34c268 GIT binary patch literal 57394 zcmV(-K-|BHP)3t^le7V2Qak?kZ zUlw^KlulQQ%Udj)lRA9id7t0&i?4!@ z{(V^f>3oFwNb)fji-$fQiCX{M_W;G`Z}?SJ6{xxj$8(`73dFB9U4!rY@I4>8s`0rV zG=6m)2fD6fFzCawObmw(VzC%Zes5|j;vo%>pE-u7&YXb354dx?f*Uv2@%%Fn;lhoZ zuoFoRXu07x3sK z_hD*cjK?PqTtU4(z`O5X!;xbLF_yGo_41FhWu2rjAd&_yW?2 z7|&JXYt`VS6`tcq*!a-=6ZgvEBO-uo=-Ls()SnapCU#+kba`Jr0#<;-BWNARgZNPu z_gsM5C2&<+()H^kV ztts>xb!6jdeDxcz5P*k~jA^LXcKA6KW~L{xUD<{ei6d&Nn4g^H0$9QGPo2Z`)Hrla zfRD$f^!ORT^yD0_FD>(P+XzQ(EG@6#%E}6wLytgKaJyVbvDw1%?KK>kKY&n3<>!bc zDi*5p5r{uzAP((;*w7D$!}d8Mfy_#l)pR%nsQ@b}8J_D(1|~O4z^Z)s;!pgI04*d> ztCGD9-N2B{EEa=cZ1KBz!iH~XxV^cFokkBkTV)(uoJTSqLO7j3xqKU`Tm+G52IWcx zfB4d?IDh#THn;1@#DPR2f~(7$aQYn_KXwGAoiaZ5+@t(N9wS^Hr^63ZC9A5w%LS4` zal47%`kk-h7C&=~ptU0wKL2B%#f57((CiJ+?)K5#-r@Tl;IZ=jJcSEa{RqS#LMDz% z5Szv!!_XcRe~=QwB`*=Ep65X&(dn87%OE=w$l`_Wa0ty)ByAJAln<`Nu`jsHa|m#P zK?(jY7J=gp(RT*W3bcd|XChY!XpB^bv?Zq;eu|n%Y6b)E*NO!li5&4g|Yt zl0_+l$<8WF(;&-IE@+0-k3)9^XtJ$Oz&h@b@rykfrG*Ke3knABO5z(*nZ@Ij^Fy> z2ofO$U%W4bPb?bv&YdBSW_9HFZvXnZFy7wm;S=))vSAgrp&}I$fLAe>AaDq#sj!DI z0raDD7#X19g)Vhs=6`EBaw1|C0s6h{{(P{@Ypb^5q|`917xZ{e{APvNtV9EM?s zVYPQi!Wzt84f?PNj|<4`*SM+%xPAR9b#_fMuI^cI69nODHcg>>X_$#*!OTWFY;^{DG`EjeNf<7UB{gY9=ya7BPcFDpj9V*HT0w=@wz1;Ay7P$C8V@sf@w5)R_koA4J8;=uAZ;oQ23bvk9gG||IyG(@Lv2hr_2aOyVn zL0d`~*9ghu8rm8Dt^upLflo|N<0)E>%0R<*_7U`wv-p3%_WQWGzA4=|gWxZullc6n zKMSwr(?Lul%*Cdty^lcrApx#BV&Tw;iEY>QOo!gPF0=!mCd{&M*hPfFlivUi!7FYs zi4=F5LK+BN>B_gUO^;qb*_(2pGf=2kEm%rl>Q&+Q3AvFcD|ZGy!URyAFH4Z&Z?3iQ zz>z$x(k+x~6EMl<1EIltJMgS1`k@473MnXV52qq@#0c1-rHEhzT$5Hqv7ovgc>KLe zX4i&o2~sm+B084BOs|5~Qzzl-5xkyDVYRePtK!0h}xqicp#3dQvyKo*N*arrHy+W1=}n$Bg8Rm4<_A zpDar){MB0yj%Q4~v_YAmi{JUUTvf2$^vTheWvado7J}?t-33};V zY9_jg1u}D%3(-X@drGd`X1jycjV&3?C?r#O_OWxA7|TknuE_tSTRZyt(Z9cI&?+O% ztB$@JBM=)SAe$owPV-UVV=`nLXQR>3=aj%#l1wb*gfhCLLKhRyFm=I#o{T=Ye4-iB zWehp^C=p2zpD03Aii{!ablP5=HPP-4@ow2io4S(%0~YmYek_5X{gIF3)@xr!L!ZFI zrx#&ZF*rnGE|owk7Dl_%L?mS6_SLuOeokR#vOu#R2|mvE1JH`FnD59SpDQd#@Jl{N zL`=j91d)?2zkK7BH}KXwS8(dc0zUctQ)FaF2QhFC14H!@6aU=-cNeV2KDM<-j4Q%u zF%g9rv9AEHprEmdvDD(Z2aY^)VsZAF<&Bap-bxjjINnf=VD$Y!VhE>BgxiF47SceG zdRdXt3XkX(&rxJjL|}{05m`PmvXBO6vOa$Kfe4CfoVsl65$Icx;H2vIxx%sH;s(AbA%|Hi>P?_V7z8B7208XhE6-{d7zylpz`y#6LT0;ATz12|80#G0Kh76&x;5YP2h;-)^QwyQm@x^AU*ucAPSGpU%A(wB~-$imzkoc>2uI@ng19e>!IC zXLK{7R0*=TuiwI@<#jAfOk*$@NTtU0u zf@ND|QG<-^jo4ej)|U|pi;h^y4dY*22LA1nJ=|&;2=jM_;h|ga@dFJRb`zj)^c*zJ zI2P0r%8n)%heyj`he8PTD;R3FObz=Z@CM0ZCAd1fSRB=PNLds>Q_7zJuCy8=d*ct} zamwZB@4w6+f%tDqChP*&*vGj0L2K;?tvZ{f zLmZp{8neex>h_>+mht-a3TEXL^l~yr%I(tNTFVB)Z6d| zJ#3U4X!L#biAXydCE&<>!!ia0U$@uc!;u<5gq40a{hqkn%TnPB_{z_s^3((y?4$V~p^C!Rd>+_UFSpNK_6WFdE? z^-Of>j<-7MJ(+Z>lZ*-5~YxiBLgGGwg=Z!aYRf14} zTQIGZ7(7B_R2(D#B0#V4cNT$7<1fLha`E(sBFRBnVFYn!k3TCa1U zYg-bOb2D@J-~Njq0lHPFb`qcc=l?rgqEkdIe*2$(5hg$9zy8W)T)gl$rKKygdO}`0 zQb#MYPD1Egfi6*lA*$Y7f;OMYXA zrmhk2hGbfeEW5b4fY8M+!{*HgP5NYE3O{u2G%|@4vRkjiuWjIqpZ?FWdUy<1%3T~E zvvL0VCJrqg#F0V-*NQFt#&3TWzx{778iN{>%Rf*z$3UlIDp4bkJBOnEhU83 z)+#j9z^J77BM^TdnV|i9q6yYL`Zj#zz(nEU;|ETE`pL5|B(m89|Lbr59t!CM^5eXr zs)O}X9oO%yVR~v3Cyy^u67*&6!uPd3w?&vwh4g093!kOT$T}9H;V@D&_hAr<<4<4z zF76b!BpU~6SD{SMFd$p!Q*nd{V54vlZgC0E9G${XyWhgFl^{}j^2{DD7#LiB6;~eo zaU8k*Wjy}bFCu&4H=#5mc#NRT{n+F9*jOFr=DQelqA+?@3=cj7T<6Qz-oodnABMN` zCYnb-kHq_bh^5>)9I$IpR^Nc5WpVa}k0EpQ%g}DbFzvbco$VvgDIe;$-r;$<)W#1Z zd*@FOsokLixCMXpPk={$5z6_0!_{yQEuNFv-oW(2IMlEIYq+V&;5Lw^r`p${ef`Ta zZ5@plurd27n4K;nVRJ+SAF=IUHg>z`lxeCOId}iz`TGt{J$B!TL(e^MWGedBTi2i& zx~xf9oXOzI%_3U;HX<~?(Xd6W+sD;gckt{Zr=&@iu~C|3&7q?;%3g(9YdGrM!R+BM zl!h%cX{{57VaBuADz2f{Xrt3>Q;&uakHw_^4e>cMA|*29Da@UPU%Y_>k%82=o%{)e zcWyvwZ)3UXVUoX_i+b{8LxU<8#1IMrq&DBceMS*3@=)v;%JCB@Y`lc;tq<^s5Iltw z_?_3T;K!#ha?S#C?$9wb`13|>fOvg{@}iGn=6+}^=P{u)@msInz`|ow5M|7vcm`|p zpN5r~gxk3$owp8UN|eXc7jbTWy2Xp2cPmmbv}d12xbpA#S_O&rD*SL9j)*lEucBpd za`C#DpDD-~xc(n0+x~~fZo|2BJoVza6UQDnIQJ}d;6rnBdEQ0?y{?CHv57=HjvadG zS8m_Nwc8tLh?>}vhIHJN6<8uduv4j`wzUakzCb3~A&?ycmj<+3md=gQClj`}2-<0= zVS4y9zpCz{&%=KB)Co~%i7QJhFf~K!U6-#<#$z~;pcpApvgA(Df}E5D~Q$jDQj;_{q2uZ!7}1DTI(`Dwp$B4a>9b| zUHp&l`1k@@`K6o$yD|;JtVD zUFxf1e)@TMt1jxBE3!_+Q1$;PKzy&Z{flJ69@~ltR5WalkLMB( zJ$&E%i;tc@JZ{n<5+*(wiSXJEp%a*POh=`9gJ5lY2y)$6!$ z^#U$mzk!pdPU7r@f#~)Hgd3~S2Q7Fat}BXlv=G6gVQBFN8xeGpmNiEWp^p;g^GPCtVWqUe^g4!8%HL-b88tBTd!b{ z|554CN__i2m`wcV#cuy1nIOTdC`ybv>tH+@dOV#_M~5qdJ@W5HRGz+b9*$QE!H zpnQF27y#C2m+<0~k3zZehltm%+;g#mFy76Uf=9zX<_0U0K;J73aQ?y-%qEZHXv#-^ z>%5d70;D}pmE0RHUmoS~?*8j42GV>^c<0KfnN&r^wK3KxVVu`j$ej&3m2pu^to-0b zC-ysKf9cq*VQATiZJvroLeG)|j*FHa5fklGuZgyHVeCx4Yi-a$sojE7EW*j9@y4ZV zWZ_dN5Xwip_CfB6D_Q_DlIhjF>u#!J^}(|M_JuO zrW?jLR^GymLIQR4&Kw^VVR|3>WXCS+?w1Gph+)5P?3Ry+6*8s? z+OuIxf6>tOl&I#LeuJ!GYnlrG!ll**SvWD0et%LQFLlr`;}2MJtjoJ`Ao%k{B9nTa(tH(+xVQ2Ln2xst-+6zRB#G z57V>|is-WRQ{y8Ow~^0haqz%2OmBeM=_$&rE<8G8qNI~DP0EB?yT`@p%YHzEQc29d z2ocR5U=p;}0 zNF)+^!mzZ*2~JfV&1(?J231q`GC(5sx(gqv*+c@s5t*$a(NCca2Wp?5ams*IU&H2F z8b_R)yx38EtEl7gNh;V*0}iExtA{WQrO~qz*lrC_Hph`t3EU{{wjLT4y6mP=m67{& z_w05f$$R2Y{$>>9C)2B%E(?IfaVen)dPHl#uOV!!ICLlsZ{UJHCgNmxu@JkRfz*`z4tLUoku>G!6T=S(FqIQQqOd{n90my*_?$!eLEb6U?oqWYs8?t1A5oDkmwWO!rqCr5dlJZ_axMjXWr+SL zh`(F3xW5Wa{7;n*yN5wPnBp@O4V8m|1chbrJyi#-wui=!%i{>TJBDOI5+?c-$ju%X zT6+Lr6#t0gc{NDt%92gleXPhPCQ<$N^jI3dv}oYieFKCK3?O9k&SualVo_6%jniuB zu59f5Pm4aTug~JU^(^kxqLf>dPKJ+I#6Tn@WRMwDtocF2L@|O=QvZWxX@SnwN8nbJ zeZSL!ORzgQWioGE3j2FJtQ&1a{QQ8jreg#Xq zg{T*z8B_`4c`|Sq(P0mXCUx>)4N;wJ-Yg>2Zy=|e(97#|-qLUl6G08_-I9R2z`a`~ zu=`c8R!DVu3_*Q?K{gdd?xG7r+)!B@uhVKcz}k8T$)t@;L?uIelCee6yy(kob_cK{ zBJJy-H`pyB3s#LI`qy~DVupo(c3%Q7p7vlDf=r=XGRVNHEd22)Ir?1{8x^uVS5;!N zkMN?4`(~Fge{%!B{Z03c-^J5BUlzZZ1jF$h zof+N`(Md2KQ}Nh@iXS@|qF<$=OJ{;aA{j^!c%3)BN+v4}bX3T0oe;I&*c2)^)?v_* zIg+=@uw?F?B@9#@>HZd?i8xl8WMGJ+=o(_nwv+QY%OGs59~!G_6~h?(}WWicUtt`Yq&lrU|Oy4 z`x5*{iRLFgYCj6%t){6-=QI?egG9~HYx}4W)M9R#M@^467}=HxIcym4vVmzj^>(=hQTL|5wL9o-P?VvteEHs8$#zUlkgDZVhTk( z6z=chjjx1p;;4q~Pw) z+J~HpcSB||(=rcGAI=A!Kv0?GkGy>014v&Y=+nWN<>6!VI(~S;q}B}rHAgc#x^z%V zyus^jUlyCt3ge}9A8&3AQRx9Ut7IWDf{AZ{HN7#%uqVlLTQV~ES!-90DCqTp3Vi3#E54+di5q=OQl*XajSGDYE#-4 zpqPjZTQJ=o)H`ni*I$w|%KUDV8ek}a*LM{(eH-hg3a;0kQH#Ei0Zx#Lc1IbtQ6KNC$D9q3xZHjVH4`#?i<*f>^csLl1r6~It z*q6kzKb3tiP5amIi}Ni}KFq>4mEzvqnl(8xfZ z7tA2@ML5aFO2fk+-yX#`DgLh1={V8x6aJD`+QC#$%sSICq-l;vZ0TIxTHir7?cpF^N3Z;z z)ZTV_5?*W;z0$HQvvflVsQo4xIxMq+X1{`3C6`cEiVo z&;-Wk(uni?wr)4^wQpU4;W~1*+gK#f<4N1c&QQg-)g+!(+K9y+Y+MdwapFhOqpeU+0ZkR&{NDI1GSj zj8c<9C}uRfchqPoq(O!3RN|vT1)v*h&^fCI=2e8`3`3WuS*VcBu5jjjY*HqCtrSK> zby2P~aH%4+uZNwUDCKpjO+^!ih;&ew4piJ;-8zT6M(gm(b6BjHdW}P!O-0usYlDlC;&sE}g@=Jip;!w~oP+;WhC~(fN!~ zB*XKAsDwWnz~ktrP-Wl?#>K=kkcwH@HCW*XD?CD2=|iP18rI*x2z&EOOS70M=kXb;N1<8 z-HkGQ@TTq$xhdEOUVnc$?(T~|>~klSeW_(zH*}jId`PybkK#B&_sKSN-y6jw12FeQ zypsU#dBMODnKd#Edg+P`#0GO5)Vt9qp*8u<&DszpTr6LgS~D| z@&Ag4c-Y22Tr?4%;I-ibEtYiLp`Y5F%EICa-ud3Tbch#HnoM%gKctk>Q5cKh!~^4) zC`4h?O7%z}b&HE`xr$hpR-vjPM3!!qBj`;m-0gQ(KA4f*bK?|cFY2&&#L5Rd@qGVo zG~)-MDBd5jvGAsPop%4Nkmz_oFhoz*K8U%yqeA~Lxa}dPQ@86ua%AF>1)P1PAj4)-%1~a!3G7OO4(+Ce z*=QeVa}kM0vmQtp|E?xhaCh7^F|J+2hAXEDnRdg!QhcTMiX=BG^Ua%Jn_`C zn9@7Ava*T8g#;b9Jmve z9Pu{gfgXX;sl&D>a7!&9H)x`)&7j^Zqva(qARAZ7m=Us_VcA?TT`0?|va4C#Na4ut zR+0oD4*KMF<%6&^mZ(n{3=s<1==Hj?C|@D)4ZgQ%?2M!oF;@!Vtb@$N02?pGpni81 z>(zmbBOe_L$*Jz;j*r8SEn;dhhArwS5&y0?dcpo6gP<0p;fAnye-&51q9Y}SdUG-E z_2=*F)%W*YJbz#E@-9pJ-#_IsatedGjvoXNf8f#U4_-1&nJ10<7zrA60?MQ7Ech0#&% zS@^`~jv*4&Ww_5kko`3Ieqo!^AsPZ215{QcxU)Hncgf%rDZq+)Xdsx5>5nMZ_xDk( zx-b3i?Mr|7d*fF2#Weg6q&R;NYA1Fp)#O~WZg+T5fOyw|8!#1gYMA9gr%Z!hfZ69 zudnve7QTbZqvPV-;(M33J7^Z$h$L-%^>n;`~1oTMM2e zs^yemOo1{=Gw(_e>F0b%nOME2^irgNc8Bmq2NaC{eqE>p?CXjxuSD`d2}U&uh6-3r zk;ACP+%iSE+l-UTq;Y(49*1Tpv9?OHP1W+bIUj}A%jlU2D4iCTtV1|PkeHDKZr*C( zSa==nnI{l+T5{%@6Aoi6Y9Ou+@phRk7>>d!7V&Cp9&g=RK{}nHGZaCo?VuZtB0HWy zE*V249For2ZpD{47lGH^!lm6Hzo>%{+ja?7ZME9`K8i-8A=$Xy>cZ3=#QFaHZcm!2 zFrQ1!g&6%-u8MOV}&?c+Z8g4isTrNkE(vNl?k$tLdt2QAu9e|Kz^_Y zNZBh;T)K6e&had-2c656G7{-H5>ZoTVU4-^IvQdvOB3C?5)>6^)b%Yd0wk?$ij#%{;yl@7QK@}A>O?D?xl`8)5dpGcQ zDuRSr#O6*18ksU4V zuxKC^3&^JK9Xdl~_f$0 zs7iJpn@^#>*1(|0=apM19G*v|;RbUfMEu$|D5DKIm9A4II}Nk&2GvJ1@V2 zCm%mYAbTH*5Zi7CvbB$OcgLQJ<()MRZTz8w=@%Y86#Iv%xP4!H;HvF`dsh>WWJNX} z#;JvA6l*Q{^U>KU{OV%`9CUAE?%ZeafU$|Gxr6w)dmf7?&tklO0Y*G0XZD6uV^DPq zhSQO4HWZlBoI4_k;kS{@xfjA^ve_G(yaBfxcyDC~TTMDg7@*c3((%(V zH<6cZ`e}k{ET57Cs>Og1QM;>*^t&H4cLXJ*TzMiE+ocW_x>$gJtJao47T`6=rs8y) z&6Z?aG5ONqdxfnK!u(!)YJ`GHr7)PI)+@TD!sJBE^X7=l#!t7V^pt%hvIYcX5=c*ZlQCUJ) zkHhY@pdWgiI)&h=lwj#$goX`ttTf`iE!^_+=r?a;8x>sY#6hWy_ctrJv9^IyeTb8p z5T2c~a4<*X8X*{U7cnb=mM#kAyI8LFu(W&!rLfr5Q^ny09ocMh6rWc9oI;t=W{SP8 zv?y}6@Fy|OLT~&a|W5Z$wi?_O>_H|OY|31OpXJ~ zq$69#m%j7|I6!H4V|5eXeC=Hc@*@Z5sI%R_cOc#mUh~fbZ!#Vk`{_?T^~ukD>d7DH zt*7-BeKD3S;2H3SHk;IghS0p8>`V|QHC$UlthOQt;C<#$3e)N`PId_bGb&$O+gwIJ zGKaC&67=L4+B-E=92?_K8JinrUO(v6 zR>NdwMb;3DMt}jI{VJ`;4?mNDuQ@2**6~KE2WKvYak6cUj-3pniLfMf_`!k`?B~hr zFUmBvVILP?-@q(&@WDv~v6PQ)-NctxEc8eo-+Jj4ly<5l0?4ve)1h?;MewaRUz6L9 zz3}7-G`Fj~cQGDoNXD<54LZ=dtQ_Wj@zyH(mpXX-iBq`m&|$bd7hm`~e~-Yc?Ta?- zZ|DqHhLM6!X3XW<){ zOSn=u&}n(NxP1dF#VT%ByR!91lzNVnS)QMd;;G}nIE9XB1jitbvAxbkMlW8CxUy(H zOjbTH*~ZkEg0pjBREq18x{QDNp1(J@cQ3TG+or_-HORDYzw^F~FpOoh!QQug zhz3`iGQl87g@iDvTl>8}YGh%tZGp)}qPB!HXVH{*Wfa4t!yBPKPoxs~gXL}f#7PIU zhpB+t}AWadTkTOsfV9D(nsNV9m5?1 zFL(2}Ufw~P$9U=bZS2&~5a5*fWpAr9}G9s~eOS4J2Z9v?|-9!HEho z$*}YjoVI}$t<@zm@%6XgrBt%$Oy>U1LA)Ql);-L-JMup^KRGt_Pye%@`25+E3r}M- zMKT^q5)27cs&z8jI!$*I9WnOQb>*n1-6V#%5VcAfozNm#a0}kT6Udjpgr+qCy}N>L z?ihLBhTSTnxU++*J&9CjlO|5byF~{Zp)ut99jugWyuY@IZ{N7U1<~J2If>2+lVCK z=#L$M7ft*H^GfgP{O%yA5h<2-Ff%(#ma9M|GYg3kr874>GlQ#_u8cM>7nw_AG*w=d zYj$MjQuO5s2d~j?qP$aJE=D4&PAd%&D^3 zQJJivUu#S8_O=-dfu`q$lmzHGM zaJ#rEHTC>~!??b*hDxo1F!gSjn!Y1yqOD-6XQ$<0r`$j;sp02->eI4D<H}xztyT5+I2DC*N09m z*(b{mc2wjJQWrM)`!x;eF&~NS0NLW(sBZSrnmWy^Vf`84?uDX8881up*NHuudCpC) z7*TXC3W0P=4N;m|ES6;Rr^x0VIdT|lYwPmwLPLvItbx;)4X~n7z!k|lSM=l!@xA3X zKKtty{>hm*K7Q0gW@?Be&vk}`@0cBEriI3Ki0n;fH+k*(n%F6!zZHZMp0o)6_Inw; za?3y}<{%x@Wud;N4`qenu-(Gijhk3syNw}&jnWrp3;cbR3$u+TEr*B>m3LZDElsAh z#pdc#5@{hkf8r?Wm(SzzAO9roJDUGn2l2h_^}BK2UFH>!cp(!%_*0*J{EJh$^zrLU zEA(h{^h8ZrA`yhhv{4Y8W|hv-6hZ5>s?@$J@-rt8%Fp7DUw#Ge(u;LmvB`>wQi+b+ zEKSdQzk`+$N67C&vt!t%o-7lz>y;?3ZIZB|;COqp`~tO}P~B5Pr*EK&}x zEb`f{zzWe6|J=bioX&RU1z%mtKLIK8{lAu z+LR`Bhp%zS{FzjnPUaQ(+ex%$kL-1MD9Q)>&VpVvpEo*~x#rNsZf|eP@SKQ;3nmu2 zcyekS({38$`8?%E170qP488kGWd|D@MLKm+sWr*y5bqz4daveu#1^A*FYhJ7vm9xC^Nbf5!B*I)J`6yiKKVCye`ez#pO->%!xy&k_FBW77?vp z$66QIZn~5QC0xFT{nc$bFkVNqS#5|c%qBL2L{xvDk6MX z@fPgzGP;>bIN>Pn9qqs8+KsZbiC6+Hv0q%LhoKe}0|i+-1vjqWKrU`$dFcky=`=wb z!JV7eP;0eiZ(Wbh>u$B4m>0K5`62dut~VNJH+v9M(Z0T1#<$l^yttId3llDm(OFBU z9O*PGLtQ44+MbQ28#-RwvanpDR3XD>MK`N#faJpU26FD4ux5!!NdDdyn>30VXiB1V z(#ArL#+MG~_*ewyLKdlnD1+U>cp;Cedy3<9=ub@rO{=oEvDC@$-JL|GO;H^75czMmm>YX0`q<9tmS`jy? zp0y=+$r+MOJ^7hEtOK@IvZkqc>fYKm+f6Q-1G%Hyb( zfsL+-4L^ZsCXT4+c(_)@`Vvh$ff2S1OixE)AJ4(%&0E=M!YJ-w%n~h7JQi9QYgmR> zTEmcRtn8*~_dNu7g=Lx~Yl-7B!!`HWGB; z#9nkwUW^9sS)4K<71nTaO2o4V$Yl-qd|!i7YkF#y+E*}l6!~Nty+KdbdsKyk+94S1 z6r#zjoI+o|d<9Ogi^A+AX7B$T{8#}4YUFaY2Dn z+XJtzX^9_u?%{`j_D5g%#rKz%Gpp+xvX*y@CmOO9tZcRL%J(jEW#%wDk(S8?l@~{+ zLt@u&!t87Va<&(Bme)fsc?bhFjGoy4%%nc1mP*Cqm>$bwb*n5LgMaz;w<#Z*dxh~9 z0UM8*WM7p|m@k9wa#W~J(C!kg>4USrT%wgNUu-Rb za>K_>HG#+^owJUMm;UGmr9zuGoB$-VA3mAKk)vt)k~->q<8?0at&$6?Uq*I;=_!K^*)>#Ds@rO_RqErzB{Si7Vww(99!K)xow0Lhp*+HW7gkWvbhB zuteSTkos9H0GSjKo#E8RtqvVUH<&0C3WX6SFgxuo$%D?KnM9gedulw62?8122J-xJ z{F(dVk!=%m56Uc_Wk;lx%H^|gDqOf4En~-#Em{5bJBVc?un){ZF`~2{3Q8B>!GM0r z+#}DSO$zbPQna@1^ZbKfY;x9kE^YR1+vT5HdSgyWU{g-Zf-zXq?Qf) zWZlaMk$pXCTwgQfgq?w%mHlG9$OPGALOLvZN8DU`wMGy3EzS|dC8-l@ydeU#VxWi| z>rcn9(F(S*(kK}c;UJnIvPYu5eWcd~*ve?Nqi zV?tUK(WS23n-t`KAAL+y-skyxVs?}gWc36vWektc7o%hsW+r47&GompTK2{MOs*q4pNIV1dbugDg>ZUhT9?{3qlb}lD|}rK4$s%4&fjS%ICNqW z>Dd`_$|RXFJ*o%gLb821xFyqX%g^qQ&%>>4z^RgW5@hN|1*s(c1^PI>_g_P&T9ez9 z4HdF07f`pl4NIh>xj4kY8b>5` z=Er_E9F7}t>cw(p3C3CxS8m;+H%-SV!c{&#iIay9VRdsEE6r^joLInI? zbudf0B2uSfbC~Rj37md>T9$p*8a){bjM98((mHyT6fWHeV}s6GwnZ;IEyiSRp`V@| zb!qP#aw4E1Qr^R!JU6j8MRCzyeeMYGqT;RF?qHl?D-)PvSEU45Q@6NC!YQuUKDA{+ zZYUELLrxk^I(ThN6vnX5g)eF^#D$ASBC^8o-2D?c``|(8D>Q~h>e>moi31pPHE4PU zUYFYb`s=|cfe2;8#svbE7L!gi)R^1_$tHa}V!>_SMyq&-KyhRSuWgCR`CVQ^iw=5D zI;_1`hsT;iuelRsCY2zWBjf0!G|pdj?!;dzyOxOB*)M$J@lQ@96Q4VId`27cCX1qz z_0k3&c;FDdSC^VJfgW!}ek_SkJ@9ZNn6IE~au!2^Hz!1m+@|xR5is4pD|ek2HMhdK5n9_O%l4X-4q{{O zfrp_;O1PRVtPxYpJy#hO*9T@@$O(%-L}|{%D5q9QgE2*2zM)`9{qEMg*j{f0nKiP# z*zh|{nKU*PLAlmLNDp=>3Yo!dvih9{`b`IKzAl2l)P;taHq=LTV-sd_hEhNY*w7bJ zhD=3sEiB0b9kJz=TasCOwL11s`<0b^JWf$dp-$#esnn%B@cCZ09YY~b25k2*lc9u5 zo0y_?utNztw+%`k4Zr#iUPQA|MQU~yaXL~xN)olzgz0lJXi22Jb7+)Sp!GLkE;*?1 zoL4Wt$3;%(mG`&rTjub^bego`J`k% zMjV4sCRma9VCX66-4a_`X>!_+C{YX%$Y)M0;Fb5TV0TF1uC5hcxv1#sl4SrwK)t_) zeMg$lfoQIj+SZjCS+KA&+9z4pf=&?ukQTl3NkfsH(?-&zr%!h3Xk4`_wpQwLQheIh z8(PY2Aw2b406By4$ z<@87~d#&Fa;Lhz8tgUi!(;A&zJb+DV$6BLBUm}8ft1Y`wJZey}x_hpQmo8kFh5f41 zm+y19(8uQ=Ka4~3$9YT^vNY*!rw4m>8pG8pM1`(PBC+C88MWxt+UOIoL&`KG6+!dP zRchZbDzz4Mc!`!vhjC|30xUJ2g-wm#U9S@Oz|_ae%&kc)Iw}p95>NjtfY-VwyCy?rcF3Gq zoE`g#qw|I5MZN2<{hO~~@!%|UE~opCQ#+*z)VKxh$N`!PGFPRD@!I?Nq1hO9RutLo zH_@lIHS;+PMNI?Wqpro!&K%|^W%e36_Vx%K?IH2OnPrOH<5&~fG&(VdsS96z_lhhY zmm~Z|4J}Qm_*v8!i`fiA5qH)hlM*6es`^3uizs_kN8sNb|0+zo@Z!t70d9|uWR#0D z%m<0#%C!bruM^B5qF#xJ?GDm$6bf+}UTbW3&>)M}R(8;!RtZN;)HfR#pGm=KL2d*- z6h--tA)8q*UA_(N_$(K*DtA`e*xsS1@5;1sjOS;2eLAoPR4aoqp>f-FI&c;yNeDK* zecQBoI*y!)(dT)_=rliaJde4IM%f@Xrs<+8YLF?>w%@!BWe|cJs?x*{3C1u6H&%nO zuLF_TNMcYeWAgZexbXUUgrjlf=2O_-+CZg6oohu!fS8}xm5a%7G+erL1BGM)m*0F> zE-G0qC+cD;`Q()MQKz+VH*`TRN-$mwYA~j&FA_4Nd3v&kR}IFKxx4+7+Fx$FgL|`U z`5$W^kyF1b97Vw`DK@R8VR;>f}&@ z3nETdbT)_!Hc`k2WAuG*PfrD?zY9zcyB*G>-RTj8(mqgpAPlNPqF6cHYa(-e25MisS7;dqFSE46W| zfO@SX`_`_|0ZdsM-nqGot?~{G(?YA)L8~ja#cj$=VkQ+M`|40dHJgAc_2;<*IWCR? z3JH@=lZ^>}z9{e!V*|t}sa%};H>4q+$f4aJYm3YcC0-_5mBWq(M?eV59urp zc@IKSOAOPMvT!s6RF2ac@Fwd1K!RFGrh$xcd2&M1t`{eof4OF5F}&zd5nvYcn6-Zo zc#VCa-IWT7-6C{8#t7cy<70{cG9IyhfjV@$N9`#(YK6Byqz5caM_=TupH#SSoI52=qraKuDT`~%D7E@~{aHbWvp3q(UlI@+Oi}g4lSwrlHjA;o`MhST6=4MNz<0t=7?|(_@Jt(=_4zP7f(E z_38OM0o}vVgIQz}F$`N>E)E@H=ThOshDC7^8GQN97Oh1am#(bh)}0zIT;R1?uVb4) zz54zoY~HTpCgng$3_Kyg z=jxLOLoe5)$Pov5ZbIWtGEk)%&MS4qx+T109>uinVpX5OPIy}G%x<*H)W%ytvxKly z;{kM`_FL#D=Lupv2q^*kIs|rGeW_8!e6#Kj^ztoibPbqSzb2B!xVYWko2)J;yShOG z=x#IOZu6pK=1~=y7|xU2tc(f?08>^t zouTaU%S=)((0ez;MDmw>O6m6QDCBPSv_Hc#E`rSQ_7o-9N!S8Iqw zLUMwTm>pN94%KuIr;m;y8c|S~oWlCr8ol}ij?LwfO^9^2j~&;>_?Rv0g~d!{QPh9& z;u6V$0H?(%i++%95V4F zWr~TpsXUJ>fqZ^~=PR7GflSLM`1k4QNhEC19o@7yNv^cELG!EJ=65tjQ~N&PwZ0E{(bF!9lKa#1#zW~okmCMPciGPZH>vT1bni99Lcmh!@vv1$_eQZ z(gL#~`msgrH(u5EvHnG6TAUW=fpJY{waOI_cEXk|{o{voB0qyr$|n2iNKeGkEY^_ZRjg1#h2l1% z<4IVBEQU0(!<|0POnSKQWLFMp`Nj<&@2_`dIypu#B%-zqF}9jq$b&w{(oy`xqbFd} zoX$|boV{-WY5E#IWk;XZ%op9qmM>?;)pr_{AsuXNmI<;DtWZ=I2z48j3L?@$=Wmlv zrp3>ZGbH2y@2-qwh*)~3-$SL{3$$@#3pGl_R3bs?U{R-+sCzGRp#(M1B7|AqDWch^ zU_759xDm)Y!<5Hw$P_n54su`-MRv4LORf1sw6DA(E9!*gkiC(v2zw8x(M6A+A+`PP zz;xH&oqzgg8!zuoP)G?8jfKw8Ed2sK^qe+wj)XQ8L;Hdo9++O?P^D}Yc{&gzT%1Vz zcp$H%z@N9}j51ZW^sIXsgmVR~-noTvEQ1$M6sUi6Wb4<_9P-26HjGdRS1T?qZ&7Qd z$1%Bh1lj31%7l(|fN~K^4 zJrt=qJ^!VuEIbKJXR>6@wqB^43U6i->Ra{$I$Lv%N3o}_t3gJMu zc%6C}3^X~taB4hF5G&Ft_G$V>okoIMe`mWY%Pm8+BAHkiX?~tUK)a$&l?%ijIoBFL zOQqoLD^VGnR*fJ6;YyRK!6MdrP5@jvA#>EVuH2Ir4(+Qbli=k&O_F)f#gpM*97P{S zZPJQN5sUDKHyRTq1k158Lk8F%nba^vSN+KU&)Iv$T9#gCV&6V#pMB0gIo@+~tQ@+! z+070jDN3Y7T8T5#Xf(3N1B_wV^J2h$m9ZF4off}l1}kYH zz8Ob)Bdbfi{Xs7wgij>`s&$6wvmRO}4P*yxTusjqOU}@l`SAS{Ke{xI*|?|mDamt- zV4w_H#$u-SU-WqGU1ITvXNTxNs%Rx{GO6&O1yHGU97RlCqd<&wB8dI<9DlYSrxzt` zZSLT~{rjjjZCt%_6{~!P2|I{VsiV2*pfOaH&O|7T$EQ_78y8k`Q6!>4EevfC^Up|H z7c{)5k1tdMd3z&)3E|#w=t7f@quHvVKMkoTO{M9uWV0%NC35S8DG`(&zsHC(Rx!ne zLJQun+jhDXT@y{OT~0C!6dWz}lcmUXDR8ClYwqNU1D{QiImT1X*k@&#n=1%7qMz)r+Z59z{rXRZWGq3w|LVOGUfbA1dO&& zVI&y_CP)+0bz4I;Pg^L_fOFmnwt{24nCTL?&Xfd|rat`3?|M+~P6@eWnwduLo6#%! zk;&TF-X!$!h0x@ydVE2TOG9zHCwTR9chF*pKR+KKn+zfyBIyi=aCm&CsYJKij|WfA z5DbI}MOt{j@g@(2$$RVJJAe6ogiRZjSOmwXPjP*3Pxs}$c=rI6CgI29Hf~+NqB;^T z98lof#UH71~KgV!l*2lK14AJ5Fe^ToyTZbSEye4ROBURM_@^jU?iC z=xp8d#d1zd2;0I@mRZcF&daA4et{u0!;pE=G4S~{5+8nz%$r4cG9Nc)G)QN7vC^I6 z0~&AA_TrbeJlKye5c0XO?`z|t2_4b7=uGj0vk59Be2p35L#cp(9iV68;U5fipRv5u zA^%KULYHjc6;7iS-^ajQM_|!K&nD@pJizekufSLQnBh9A#HhoUepc(D8Q7wyYUu+I zB@Zl7ZoEO)kbG&N15DF4*m}7k*5~a>tKK#YgASyM!43f1J z$yvm2V2cDRvwM?VEUA%YWLlbUUYy;hx9if&#?k9EG~+QPbdl_V7{&U^8i`;8`DPm* z@!*SxGo}@6u10Y8)>V`WHQj*v(u;h4{Wj9cI6g1`KjgLZo`Svw+Vehs=NrGE{S_ab zlyU$5N7#%7u(q~_a;1v%i!xSMGdx^t=y%(i=JPX-@2)1XlHeif_Laa6cwIfiPe|m_ zXtp3nA-tsnnQC*93@l8cOGPv%EPO*Do%|adNm@xBt8boP7Cb&x1CqCQmmYRA6taHT z@ALeoo0cr6Ny&|2e1?%5I%Fw0@r$bqY=m8SZPklhNSN@P#z$ivED)7NEyTp{R~LM- zQ*>x`zqszkKfLBgb2vwW|0bBXFmNemep(x=ylP&Q*xS-$U?{PX=wUPb^#>Dt>7^HO z`^o{_qb7=7-WbE|bx#%Bt_mibufqHETd>w|;A|R0xbgwaSO$xJlZS{A0Vy>3nfb1e zNH^Ype29+^PaGjSw|9x{9R{rX>*PKOBV-&r8H;H?vQck5mwUBHeya6`e!b7*)3!s) z^dlT4Ht%-vyVr+!{fY}4=4^=%4H4FHmbI9CmNd+H*V&yR);8*sAGG~=w{G$|cojZm zHdDC%(j8>i){)x0hT(!p&){L~v{5;EjPv|Ce)Q%?c<+-3Xf!%H?&J3dRjEkA?vZG; zNw2yg+e+tJ$&;lyx2|mPnOitKEg(W@u#yfF=SI=%^^niE(5N;wA1yG1_JDLWN>XWR z(c>@P`2@*y25;Ql#E7{0N z2RZ?IXs=tgJ6V{yW=`ZI&yc1q=|$6aS3&H?%o*EX?#i1lKF#_r7Oqb-Ns@vi{x*{7 z(Esf5xc=!`5+U$3@uhc(5PP6Uj2be|t7X zod*4khV5R8+Wmaaz;7M+w0*8lthW_f;0J{%9yLX`Y=*&Lw_>Frxyx=;9JDS6M*h7#wsvF)_mK~Y5aqe5^!!4uf zio$2xy4hYzuMhcx|Ia`EuEGbI7#6Z7!;*5c`~AL-`{)?EEOZf~DkLEgR1YHgOv!&s zURH95?xk$%WvCm`Yg?WLw&+E#gxz>8=Rt!1zZwOSE5y6Ri>^Ko4GC_2;30f4@rbbF zF?quEn+G_!c7V+r*Wr()5l^r4(3o(WVGQyQ(JP;$c5;M9uYt2-1#f-$6z@Db!NCp< zldS&etW1K|AZ|_I3vaxrqe#u>5J&vlF0uPoI!V$-gC_QsS;R`Yi9x-Gt9x1P-(FeC z;&V6mQL2{t9!!;PjfwtSI*#*78SfunAQF#}uzOX+TZRMX^P!5COS|SuI!(hT?1_-L z@_Hup?o#B5*b$6n1q7e*=FYZGqtr?lSg0nPMS8jahdxEI+@bT~&u`OP8z$k7iTx{^h{scC6X)wdF5_plMn^LmX!oF(e8$6T?)R&R z#!}eWzm4F*H4F;JuqsX3(~!nHRzp>IfZ1}8d%A4(SsLs7#|Hw8<;Eq$xJ<2Ty3Y7o zG8y?J58tXIu;&<)WRXQcLxiIj%O-GV5#WNj){EDOfg6MYpETz9utxmby;PobCNQ+| zT6!N{PDWxcQ0^fEsQUateNo~@>7zNkxQ4oNZKe#0ur<=2PWuhEHUCP zO0_2b)xZ5A%8jmu^YLi3++AU4rE#VqZJ9fk&?cH~qEaIb@giOg#{;Vb>~!X6rs;_P zkYRYHMsIo~voLq^<}QZ}`@9Bn(Fk@|;@Dq_BI=njijA?dw~p02*Rgu-76Q>dOi6&d z7su$<3TV=Rn*4vuCaI$FM>n=`C~Jl_=cyjO3TBb6hNqXC=5#kZeNb1f%dRWXv`)=^q_G=F}nRR5{VqHUAv+Eq%U6C z#ur|^ix<;A+`<_wdfbq#v}%>``w!`L>;%%o3lv>3nB@m3@#VaE*1<`gWG=KpOtXSx zdfreZj=il_8gX2)nvB!C-OCE1B-CY(2VsG*+OuL+lN3?~6T&8axAGhXMqOqiM66H7 zcceHHjzk<|Bo3Bn;nFg$g$Vy%iVu?P&!*CR$q}t)1x3b5yXEFeU}iKR5v<;flKk3J zL_;$~GB%Q#9IV(HJVKuPBb@*6&rp5vUG(c0=tzGrc|9Sp9i$t8R`_x;aO3quMN)_Ygg~_`q~O5<}PEoBy%aDi%;974VUq}4m)4wg~h0x z;?xo+&mHig+RIXfqsOcTZS(KT7h3^Kd)%BF_Yy)I%RLV=+ATe*^rS^Xg3-cw-eap; zVB)Do6Ia%qx}4Rmmm6**@=j*Xo@5~kpTD++f3!8hS8uIjJ8t2{>Bk6c+(EqX7HVc1 zra!>b+s4B(U&PRZFuld*oZiV3!@GqM{`_GP8|y3dD54SO!!8-JltFE&I(eL4;7j@Z z*>c6fM2*-{N~izP{#p?mk%u)Ljo~7*pG+OXVUlJCgF($qh^N@(=Lh-qD-7KMi=2Sr zUgrVpP0gK4RnZbXGGjRt#~{RCcnc^@}#?;){H9BHRuPI*uW z3!23O>KAA5g~KpN#=3+i(*N9Oc6n{iXLU(*yENh=4W`m)=~$9LBawg=F_H*Fy$GTB ztpI9`IvAL+mPz86c=}*7i?uK##k3FKs1Muk!3$q_6+1g?xbebO*o&d2MRUmvJ*my- zyQV|7y3dcsI~?@MQ6kvRWbvi1d8=xqvzm<~7>;OWNR;#i>ZB5c zgLF&-fod)%qaemB&F(JavhcLf61lGUUDh8Q^-pKHj_fG8Y!lE?v8AS*7;#kW)8})A zygtu0VTuYHT$f&CzFhi;A7A=meA>{fzfI?k(F#m-Ihw%6QV4H4U2ZPoudUS_UcYw> z*VmGGef%!MgLCxeJ}kOqyTK^tz5qOf8v0)GX!KgsGXC%cI2{MjU3l@NHo*^1dn$=4 zZG9EO1DoD78L{}_gU;e=J+)3y(gV26vItZVQ9h}(eecZ=RCJ};>ZpK7G@j6}7Xs%% z04HmaCWgMcx2ZxMlJc35MAmCnoeq(MCezp|!RmHa0E{Qncr?}D+uaWD!Ht!eg&SKL zT-jT}m%n&}ByJ0#+$MakB>FV8;?W_>rLta2f9k?$=5m&zYp1CXZfRzh=@DL=j7rIr zMWfq8sodamkWMuk2(j))CZ*)L+Z*bRJR$NC$sq7Gi_i)zDPEM}wrtG#_t)NdMU_5B z`4dFeGsu@JJTNV-2KwDo&4$RK7KgOS_a@_FDL#*oEIaSE5#nLBe(S zX(e;=HA{c(UKTlglgX?c2%6u}&63M4=Q@{lN%}5(2h_NiJzq<2Ee30{?28 z&gPB|n2hG^tmW{Pmu}*hU%H0Z{dwGrPtm7QO6ac7d^oA~vE^xDuyPNP(%Yz*46_W^ zJwC_}3j_S|gw^Z(oYY>`48&|CLAePUjp-jio3USiS6^toVJcBf(N zJ(HKvgT~O6>1r|Jsi6gz zDxpK6(jjh_#p6<=nX88Im_M^e4=EY#2*Y`TKR>&Y#YKtN*po4&p*HV?qha2Isg3?M z-mj$2ZeBZ}N9}4w@%-5t3=(1wz4!5xV~prY*H=?WuO@Kt((CB(zC*I4oyOYl)DUpb z5a6NgNh21YVOOS>$v0M0VZV!#++wClN87+<8nXomq2p~%9`#T$GGvvK;u#R8fm}715LkxUT z49lk~QvJfOrs9ixUw2x$cpi0 zk7@iBTyzE`l73=s4`Q)2L+MyIY<@N&uH9?PNe+=-+M(z9-rEnLMrG5=7fj5S&rPOem5aEk{#fHTrh9gjJHwxQBRsi=Wr2=(`V^Q$nd#9G#phR0+`NOh%z{qe^JiRzVrj?2vw9 zQ&#ad`}{mhhXy9&p32rXd$Nc|Is<*GUgVXPY4U6rG~_u6Vcd@%d4NnVdVCAbc}uf? zpO8-`K}0%BDt*#7<8;M3L$TtfqRTF|EW`7aL?ZaV%$7{?vNGaKN;q9zP6h9Bgkquj zJrNg?(zJH8Ewye1Hhkf8cX5ZG?5;jTFPO#4Dd>8uV(0*|>PL9y=7XKqw940X3mNmH zT+HL)IDvQWKgJKwhh!83e0?v7H+C$<*QeOYN%6(RjK^=#0P;0A-g-v77}>&|mtP_V z3+f5}Y`^hh+4C{xsqe`)B6`0#XD}FOGzidB_#}6# zJr&DMOoE%eLe{*HXu84|u$c~Ee^~AQ14BY8;GckbfihczSIuFB)OVf zHvG1vM z%{s&tUkxjZ7AzM-NHC#-)vnnP17hA#KaV3Ca(Zx#i|(A**Mqmt+W3RFh!Gnd{PLO) z|Kas8-niq!=U$cm10Dh|4^D^=lOR75nIIdT;@-{(2QfDSL&*XJVDNetKcQo$xNGi= zv`aW16C;W)Zi^2^2%H#eG!oT^BZN)LuTGnwlckA;g0M}m5{fy)VUXli8d@?@8wno5 zS8im9^|!EdkfsM)he6i6fkYf2TA2RUD^C^x2Ga=+KmFUN#B$#f;!8s&<0KYKD`9wS3g4rDg-85X| z61_2@$IaK^^RF>ll9x;dN`xgFWa&x5jb35Z9VzADjq{A!)M+W$z|Lj*@$3Oe!mtdrJ@N-w!u)mhZFN8{XaVrViEkuv* zKD&p=jW3eP@}(_iu=_>S0~@fqd3^hPif^9J@pit8?>soiDIe+=b0+@ddm+4h;K9bO z6hP>8Ya}ePhPGp%aUo(SbDVtQ3>HeBIh<%BI4EN9pp020#Zzl)Yucw&)G=noy@Wkd zT@!dA`C@6*mL?TbG{R`yjaFMza`Iw@Jq!K|c!Z#ZP;ImnDhYX$-#>pPhp)YUmEIBS1c4jpI_t8 zt||GFd)T{u1My@AAs#l1ZeCJuRwO|zPIxvOGYUCHBRkB4C3yonpoN=7@lqM6S_ihpe$w64f-Y3gqb_h)*FRrG}3XYMn7 z*NGulKF#+U&c+^>Q-XH89ie5}hxSiiS;uDceeABLaVze^-r@rOcn*Q;1C;$6h}9pU z79_hr`Jv*m316(>!N;W@zF(o|eSD7Z9oKQ%8tP?yIcMQN__7->zbp#iE}3Igy@)Z1 zhzwZv2Mo0`02!khHgNHHs@6A-uMiz@0T4*Ha6u#Y~bc3u}oe{0rd*(l_BjH0)QIs7^Q7Wfd-VR2cJzp<4!xjgd(=uz*n|ezs83UO(rV!HhcG06aLcn2(%!D) z$+O2Q+P%87g+SDUpcO^t&TE+a60`+Bl6(6IhjZx6f~pE6V@f6u>Zo3lhoFR6BCOvv zBH=wHB$Ax{STkL7V&OI;L#tlb;Z?7Xw#djQ8gD`hrDfLrnL**pt@S>VyrOA(zV=*& zaqiL`Z!hlU@Sps9Kj$nDF+=$6uYDO?t{TFV8vMf=dON>>@X?uB6Ccp{{;U}E^~l6Q`i6bhD1gb7a~wjQDp*}u=T zAYt?)W|IinaSZv23i* zv68b9=J)uFiB3UJ2QFI;}M5{A}Z&>a5UA10K{z|O7GSQ#~>*M**Y-l`EQ zK>IKZQ?8#}gzqn$3(+139YYBu_wT_wEFW$}9 zzu)^gx5t%`Ff7ujzx2u-{8zv6686T2*fUCaHc8^2gg$~T8!d^sj8R)9QoEiQqV1=8 zY8xaKk49l6#|7l)QGD3&;E&%s#dqm_kD5-BT+5vN$!kFm{_!0Pw{8%#(rD=mF*e6I zD*%U8AF4q<$aofcdfn2{K#3ms{B(jEBJ{cj;_0c9hcRD_OLi^O+l)H&;OW&*bt#sG z86luj5*I~AG2Cjc?X-E02AWtFiBzvBsQbJmXHneVS;rf#3#>AaQ>u(!?)f7TBoR=euQa@R>8c$Sf$}2U6XLdR5pM=w z!j;(x-2FQ4*Jt>nk860hW#P@kGXBlm&v&zMb=v`c!{e*DTZ7cdN?pa z_n2NPx21>da`&4GZY&#`#xxSac^Bsu#Q6DZnK&P?pP|aq6$0s~h4n-jSF&+zkyUPI z13JeRFhy`rX3xm@c})Z9wKgqPGZFWB?4OVWTO$;SL_=83#kKP* z5-?R{`slcTAHDTJ(`-_O>(jf%Nt6T^i-vKNFSVL4pibN<6EX}K2u`XbP-sG2pwhQ7E)9YqohUQehn9dcwvpeC<{2@2;HDLah1IeUs2 z3HPLXfoACpi5p)cx8H`LP5Wz@kr;RR-2H(l<}`35S5+6zMVIT{x`P=B^U~3HyGI=>kYo~h=gDn3|vo!v0)Pz~b2PU7rql-sIo^&0fGwW%4hi;~CjrbdNvx(qC>^!&?43L@RTnE+8?SwN8=IR^GItYm61yf(__#X6 z_LaUWSav!LXO=8nAz6#9EjKAS!rZDaJQKn+(PBlr+EA7q^eogkJ<^3W9brFdVx302 zng}AGjoS>{0mn;w=p|~rw{Bl@<0iv#PuJDfXn@C+ma=Kv3TUxG2=XcqNQk(!bdlHX zP6o;3hxebVWRpq5=+V%_Wa?hinO_r(E%;B064HPq>88otr8;I^9=?b4j^F<$mgT6#{eo5ADbBg}Z%UG#wdnH$OU7N+D3^TiNJDOT{1 zM))jO)>c&hH5X?DP1-c-kw&D6Tp#Zz6b#|KR6!^jQO&vtqlwK!ExVybwLfkRaA!Zo z1L)U$@nGCUWM_xY<~AKvocBfo*=b-vKH&25-snlChgnM0fy^eX&6nWcx(iQ&?@XXi zdQ(;AjTsLg9iuGf@uk*bCnAIt_oajP$BcOK8Cap-m@m6(S>7*;M;Q!yxOVFW><=Gd zcJtTZX&&iRu@FA*q^k+_JVVPdL+bB;Si}2gb$s_}S>1mw?9)c~(Q?FoI{&meNW9`J znE-zE!0iwPi$+Cneb_Kjizg8lVdV!6JbUi~VVN9IEio@{-OexsTB;tiSPDUoWK zwq6Et{}J)wDi1|{gkf@q5l+}+6X zrB87C`mWB*om^DWB(zvv$!Z#HqOF}%H9+aU3x|W+tE*6iA$_u#>*17w!D+FEIz9C> z!SfRr3WQUq#MzU9kfQ|>K{q0z)6i=o#?2LyZ#mKur>FFW-Mjv)823K?)M)MJkJfxDafy`C7!n-7FNrftI zV(sbF;B)cI5EOigIPC1_5KL`gQaWS=CwD0x!$%&}_k{k6C;qWa1u@wm8VdfR+wBTU zC&FgR#%?l*VBsCi`%UddHN#2moVq_w;m?n{_}0TRjtUMY31AvSm1p#Xhf|egjR$9nFOTaCL-CB_Q2CiXhWg=Ph$oK^@&1EnXtXk{*x!aJV>mRdPPcuDT ziDb#7WHyE*RHyZts_XFF6M_(%k~GRQ9?EiZpU=q{kmyO7_s{?I5a0UtGaB+W>|R^P z%)@Uwe}-Y9gs^mliPV8_#CO^u>n~w3s1Su&@CFTRZpU%!<^g>4wu^aRA&&G6ALNoe z1Y<3)$E*bpZ;W`q1h3&E5pUD;MiJoc)So>;l=d*FoTA6)5a4@)9fC=+=k~?U2xr9s9+ZG5bnO?7uIgwdk^!d=nVv+_ zMxt*fNokSDmxUrK5dtxBpx8QBMvCz-0e~i`43C7f)ewg6boE9srhitKf(__euAqeJ<(Q5PpD{`U6iWw zrM%W8;UBLNY$8TX97MGI*2#RrJ{<1MN_R-Z=%y~VmGs*W%MK?OS#n0B+-QU zvskI<^Axf07+-q8mZdd4_(;C|e0pHCi0W;)o<+Rrc^VM=AjpSAEOcRSz8HAi!$laLA5>9 z2B6_-AGs~Uy@nTsN)ao$tY#HzrK0BELskmsl^)jDvk+!8G!mz^Lga3*ucpN?8`NYt_6M+$(Rh=)Frx>!|Vn#!DvI=v1ru`N}k0@1={PE;_ExjtsG?S!%bHK0Zq9t-sl@1cbuRRgYmd-8FM<9II;Pd+M{xOZBt|_)! zv&Aqx)dYXPC&i5huBJEe+QBNXgRnq4)rbM_pVv{W_O&2VCxPkHu%fa+h2*2bmwHiX zYAP;7Bii2DL|K+{Gg9O-HVJ2h-Gn%CzZ)0Lk+y~A*3#PO6N$v=0K$0Z;W1jRzG@vmJbi*!Z{+CJy;|i9yX&*ziF9-|G(U%3y@`kM66 z@-xYeT1`TVa}4XHzgAH2C%ti#p5*reLGwQs{QAHD=m^)+A^hO}3CcaE`6A#KQ4wOL zw)7LYot3Hrtogge(=#J$@6&+W(}hFojLW8GQ3x`S9~zE2B1xYsI)hOrHVnJaF7(kH z&a{(C_LX>SKlTVEB0-;e-bQ(jHvCcO^dy5+BiDh{hO6+9UJ{YmQH= zTH%V=0Xl*`B(oVDK0DF{=9b?PK^zViD#9W<50bMMCCzqy4*y*E$OwDe5ls!|)^;Uy z!lWTgXnf)D3T(oJK_`PqnyGXm6#Oi~^G>F-Rv=*h8o`>k)f?cDFKMCDRUUnK(l$68 z&$LhwwY`XnXPrYySkU9NW=camqoAXR=(_BTlTM{MzLK!8ze+I9@9PbCV+?7nzKIsS zNQK@^c1moon3%~1$ygBm?g*8W2HNz%Lq3dQYpkW?5WSF>hFPQcK6!XSuK~sJpEUV- zGY>j~S;>y2?^q0LMnjV>ENR^ouO8>i?M;1Zpwf*c47>|Xu7hof|sx5;R!T{;5 z2$%vrY>h6%h0~K^(?#y{g=Z20LI5vv=`hylZ6psZg@hub#l=M(z1~={twaUMUaVx3 z>QP1QM|RJN8_2|@SJ$V{O0pKRyS{SG~6h-6bnkfab%ptqE^R2j7F*2k(e zBzQix8G?rd6;=QdQBazQLZ(x}>rZ-^TOqVXT)Rcc^us5pHWDb*Odc{XuhD~aN??YG zcjzqIEw>ItH0NG)=khfJ1VetgbW=xCbKK;v;b)(TMX< z$nc~TEX1oMNzQyTXZ}ul7DP2N#-AyL1nD7&MPoR-C~DJth#uHvw6aNpUG%o%dEFjo z*`q1tb$ajVLVAdyGk`;0hd2@$v(I_^gbhI?qr4UxVlW;+YR%?z=&H!LwvRHH`svXp z^oVwx*U)W}FYx{Y8Ah&-J`dfG9F?k~53Of4oS!z)&R21IG)01cKcZJ}(x6Xjbp+(F z4!YWEIvI8llO;6L7QpM0;m>;83!8^8mvm#3+(N_&j~VupvOljnp|@sa$w!5D}`K*b_U`pr1$dd5mjGmf55hLl2WYkG-ClRD$kgG#Ip3Iwcw$`IWGwR zJLh6KrMesjTppnx7RkCtUW91j4{=(ggnWc9SmsMSg^P+;8)`b)9c;4wTC7RxzX(NYa1kkHVsWrq_#RrJEAn@i)Sp6 z(5xm>*xud5N;0hBbSh)d1XQCz715BRpX|~k(u5Jq%L8RFLYN4MV$M>wRN6h=;wWU? zVltoyTxeG0^rVVEeE*2vOr!-o2=Kn+@>0z?Hgi#AH$rF;m#=5zNJUHx`~!p|yguTx z#q5-kL1y3PnE7HrdJW-eRF#*^B)QC!Pe_`0J>xz-^b8g~?V*fKkuZ*psrDlKdZ&zz z8B`j?vnL&7NKT8*4hD=^!}sz|ccHv2&de&m3 znjsYxm7+t)^pZyh<|pt+R?%LnY$h!}FA+5C@e2w=!oU`?S(A44-ruNC{F8e*2*(VU z&*!=8c3haq;xu-S*5i6OE}HXIJ1#PGC9gW6k} zYDMucPi-7EgSy4Xn2$B1A@jDIJk2lPO5^o=Ipl7>fKXzKo_U1tzWs@_g_PkUK@2XF z9R1NiBaTPf9_fVyMg@IttV%*(BwYIg9eeUiwNKS`r`W%`hmGx3-45g?UY7;oCZker za}BwjJ#Ai(g)MrrpmwlH)3>aJ5K)!ssIL>vBRT?+(uyR=15z2M5HcRa2&Hh=n&R!l zQ*?OJ+VqaC!5j^G`ZMCxPDkKnZH)qK{F>jb{%E$UknQe#(0q*(knu zipkLl+UJMx*&aOm|GtZhPX>5&+;!j|ad?lAs?KNQB0ip3CL>)N`?&}Yjtk9^52^Ju z^4$gxu7U2zz|9xZ^wb`7N$Ac9C8Wr+nqZ_01+|4i*59rWhRI;9cf!xwuu&YEsUi?HA&qpR+ z$ws18vMlwSKhZleR z(68-#2EQlZo-28~cRhh$d}9~a?%l)6YhQsC-^5t@`UV{myeE2g6H%Mk-mA;8MbgUW zl|?orRoag`MoV5S;freTx_H=#UBhl?yvY{|Be%cJm)=LWR@K=#Y0{B{?g<9T{;#Tb zTH*AJ__|BBKg3zN4Y@U$#&}$;qdPH34C7ea-PQD@2*8*;5HsN)9vgYS)Q>;9ud+_F z=zJSR`iyeJNg5;HkBGs(UeZx#?)Ue1?Q-Jou7(wxTKG&@+^1+zT_L z=|+E0`kQ5s$wIX=MvDo`N+swD^$@^#w{zHc9jjFba`k#wi+Dxn)cXXFi_ zPUoZR6NC?Wocr3$B@wYCdNJbh`(-*j6!kgVsTf((gd}O(sY2d;^(xjw16<#YVQ(jd zXT>hY#M4Rg*+yyf@ASl<^~PQqd*Xk7m&b-h-n-ogDJy@{izN6x~Su?vl{q3}xyg5YT4TM^@vwGoB0 zW8(5Edi25B zHdHrbKKKtJsj5U}ZmPg4!t0FB3wpdrx0OcaKRf&rVzXo+-v%`OYb7 zo&NJyf64ZU_my`bhC3WKooRIlxfYf^M3-M<5*iGL{JsfET-?-Ve-VEaXe0g7hQXgB z(4#X$h6h~sG2hIl$#dGe1YM%;a857SC}M*~naRc!Ha;s=(dHpcWJO@LgBNb@=t_k~ zm)vPE#Ck4GuRY^)Ht>aecWCq#1o&>#z9b=N58bg%9^gVMP6D|&!NGP=Cq!Pj_c?s) zThDM&5FNXr?sa}aBAjQ4%-USxU(}ubTY2J3NTJx62FZi%O?Z9oedGD+07J7Ai)E{r zqXgtEzP^+nQiC-N6*Q6G9sM)Mz@^Dv1f-?&t2Usq&`l)hIY0TZ0^fY7>u0N?b3sDc z7|!6PXMFmg3U|MWTV@|O%n>q?q4sa|yIy>F7{ojIplTop<9+=bzlJw{>mMSy^Ae#0 zv2Uw{{<9C!JAaCCzlK)1LSi}99$h(sh(yyu`hZ2e+oacV z%A{`Mw*YdYM?vTzb7+G5M08w6jaq}5_C-kfxGPFRbLRl}WTs7Y6nNh`9!MG6X>`ZB z{Zs}dB?}>{mm&k(=uK1tV9fiLXC_&T0snl_7^wG^7F1P|RBd06W>q9dF9WJGx6|w- zQz)`jF&>M;_B#a|!?INpKm=0^Z;%m@L^qrv8BCy*KhvKj!@IF4;glOX1RITn;iadQ zWj04Ac^avUhuk7jOz~h7=1tth#a(_+5H{bxl0c2kTlB;Ab;uhuX9!m_x% zfi+v&ITvX6ymV4wTzqtaSWK2P_OQN_L;A)V=EEwo2ZWC_^pNdBMAU_(y1MTFTN&|X z7vuAFxAdmPK+yaRb=5k?vs{A%Jl8dIeMWg*y6?pci`IaUJh#X5yy<+tc)qzsJAT8o@(>+1RFV{K88R3X( zF1aqZMY%Lvl4Quw#6l|MV$!J7DhwDwI%Fd#ebS?|nYL7sm)E-pX!gV=9=`M9 zRZQu%)OcikUKaF8T1&DK z(w!8tLws04ZBX~i5S?z=G&Qd(eWPVEVOckIYmFg~cqzftnzVsV&BBs!-@V5qIR zL4u3>RU3a%j-nDw-NwuU!d~w_fdHGAq}cc25cgC^*Rly zsiAwOt8Zt{%3R)*Y^M*00y=q-<*An!AEGzjUZbbVrE~&%PSPPw*>b)+EO)dF~7k zJe^K9ZXvf8Abz%$&#dk5BOtnOu9@m5m#W0r{3SYY*9aT7HarN1#hwBPhe_t?=|%p* z@)N2MW;}ZO7)g3{(S?gdqi7P7MPezHBgRtQK zo2Vauf@ZBw93F-CKQ+|S(5$(X=E1z6uk$j-t`Avdax*~OD$5q8Kz*6%~iH)l9D3299I8E3rq)7l8y^v6 zzO|;!PWfU*1q_9Ev^zZ|jv_o567dQ~10jH!R16`KzXoycV&>Df0M|mA^67B=GjfuN z_BZ&WV|c9yiq9%YWfF8WBZg#|%OjDMXTQFxIrwIy&rcu(@lQ#vy@)dk7M^||=ESG# zaJ70{W<-?nX^WgdM9mGE*bbsuk$!9!p#&id4~@WvP(UicU}UTCIq~}gVGLVM#K~P| z?to6_{9TOLy{zJivV2Oac!^}>zwvtApZj!v&G>Z0Uzd2hb$VE)KvMCzR;mVrzW$x6 z3yC)%ZWWK=mNv-c)=pu}qGKzqh%!PXXfLD?gkCt{LuEKu#d1T|%_d{Gl8Yg3P7(Bv zk=n>%^UjM%Zfx)YBysZHZ(>Nc>!Al}b*6k-eVx^^>1AcDmh6m}%iyb!BmV4OTcAJ- z&(13RGeav4XE+*a*p-T#;CUI5lx)RNJojX*;Yq@{fq`QV73OLrv7Hz8Y6 zhV)p$km?|hTN5qU2kCue`q(WQ1YTH#5lTe!&MIXkW}Eb=3Eo>Q=;7z_kdfHc`wKiR zc90|vKcI&yNH<))g}XZ|$fcu*twc3n-X9K-V5rX}OciVqC840#$H++HNDSO*j#Yr$ zviLp*Bh}Dr6aFL#<>n?oquN3woI;ADyHPweT>Ts8^Gw7cae+B@Oh99ASpb zbux3=-7KOm-L4pm$h<~zdUS;3N)pLr3Y}sVJ{t2-%E&`QtBB!Dn7DO{E^4*(_g)WGqZ66!b76o{nasI6m(Z zpD$oD3W(Da_5N*!d1(u%6bdxbIO_D~vkCD&A;8n)8m4@AQ9`s-+^g^H^n9v&=vKFE zWUeMqeq2F1DFdBE(Do{3vSwj6#^aC6$gXej05s9A^%0095M8wpq@$5dQd3u#*F=wf zn8z%VBn0Dgn@T>~hqHGcB9&W%$wMG}3Xk7;f?%3(En(?;T^aqKkO)TNNqAPmv?Ib4 z&noZN!nAortUdfY8?k%2W$C#$PNpLN9ihcdF<{9!2qe(8S^Op2Ma5Vpku604Sw=0& zI01S^$)$Gs9jBtQOx0m2S}k5ryoeZ9j4w}Qv5cjhr?6#7(+N8k2=VnBX?*qP4shr8 zHazt7USA6B;xX#dw<_8M3y~2Og-c5l?RlQ;PFJK=WjCBlm3`ExRb#`g1Fn^F4d>Mc zij5Y$5*fxLT{6BJF|n5Ls%Ei--6#oA#7B%pawBtSGhO$?pE(ceu%*rq&Rl#cY4{la zpnIezx{WiEUDKC5A-R;I!;IK-J`y277jgO+mHQuRL8a3jD}U(qiJ^Je&j}Hv$Jq** z_{QhfwW#5>fT1g_8=3qJ@Y$$Lr`y{37PUvHbcxezL*&ThXQL)UA&;iqMG`75OB%y& zctfjFW9R2u@Q1=Udh?s;H9c6{Nb26{G9iG=mm{ORfNR#n*cH+uM~Y<5+<5~Y62R8e zcM!}bQG0lS;>j7jt4Ue>f^04cUpR*QfA#}j%MdXhWHS`P%;JG2#0yJAWJCy?@^498 z<0n`3F8!?tcq`_rl(28k#Uy4TU z|6Vwszy>j15qK6zA=UdK1Seh-_wIdq%!+_eUcu&Ov$+95jwLzDb+xY`4e zXBr`uNFwa_(!&k4R4gm5B)1!i#o!LaP`tRnlao^f$2G-|i6|eKq}OCqJ<)S2< z82myah-hL=pk95VI za(nmCt2{#}nZ=?rK;!g2W`273E4R_Db_r?1@JIT@xiO5|9rRB=)=7F1gYj4)6+^en zhp0^?uPuEhZj~$;PAWf>5xbYW?k>IYYC0YNAALUWmSiEsh_$3F7*ob&G^ga?W5LTF zsn87_LB0UVo22MORa_G5l}c5OY_Sw96eSwTcTOix4qC9LOiV}*?*To;*T41(Uj2m^ zF=ObJ#P^`?3~mY>5Dj1HvJ*jSxdf>eidv(~a26z{BDSj4bO|41@H0s=5#Y}geqYI# za9(ednK!UTLe&vrZVAo0_d{a7sj0Xgv2BB)T*|$x$$$!s6zg?j)fiHiD8U1vwH10? zdL6PC-V?u(*H51*DjF1ILGJCv43vn7?Yg9vwenTQpsX4+~dx0mXRdgF2 zas~@&9>^P8NmS_Fj~KnunGinz@;;yE7^S)k)qzYp_jDPI^nS|(hsDsI+ghPBX`_5n z!r1Vr)T$YnAYza^NH&P{Y5PhB0Y)g1dUbhMXux55zdEB2z2ELN1XFuh1VWfrj!}K* zPtcuo;LBV^YVRf0sq5#TU{pWSC6?Ywo(9XvJ~h#ow4=05=~7DLXENeTZ)`8UaW-fN zUd!b&|E+wS=!iLs8t0mXmyo61STyh`nYrNFDvedt%C|OFG3Ys(wHNsdJ`_R(uemH? z&$M7LUpN}al3u#9o+2xC;~w$Zm%elx!Ds^G&Jev)gV4cQr6rB*C+7t;T3zi+uq>NI zB~F6njH!wsi7ERlRx%piMbSJR534+@DB?&aqTAsMZ1qqkoLC76zIChiob*Ox+E<;0 zLVKV~vZY}^5fPoXp>88`6Hm5h439iO8DiwQhw$X6jB>t*wS!f9Ne>KKx6B&4-4;f@ z0dadBPal@a>l2^lp5@hc<2S-!)_LR?D^{l?2LqCaTUT>2Q2 zsjFgqv800Bw#*z#yCUDkc8uP1+Q#=k&g1`m`wWfVTvxftgs~7QlLuP}=Cy0PxU;>6 zxVww%uie7o;|Cb?9^e1?4Aq*b6m@ZWcA@G!FWlI{jkO4gq>Zz)bEKj+$u~KMhmb^s zXciOgsp(aDfCz6ooeKJG@%}Dd%=bjtXokzC>eyD@Or%>C^!;bUgAgTJmh8`PGE!1lER>P7dU*YciC*zB+Ko2;{4bAic+tl(jaMd7 zDvVIg&Xl;cg+#!XMq*8!O=cqE=!cum!juM{xQPTm%hFV96T1gI92qa}{mR#{^V;W; z*!J)`JXqhoLV{SNGh@W${l?cfG472qAJjz?QKOU$V0dIep)0!40rG%_>bnI)(po$E zclJ*FwEw1`8DZ)<{lW0i0P8C@qBQ>PwKbk-(Jhz|e>GJr__Wf)DLt2@ zghaYOM%*bA%i*x>oGZ{6XL>D>s9&4;M`Hs4vUW+#TP~+sRHxxD^uYvGCP0jN(DmR! zp^rD4EmiGV;pa&MjA$L$^uPg0ds!Z*qG!@w5>Id6N+7#M;~!0RuFgzG5h(VMAjDWD zS;=16rjZUwkeaAJIHdPkr?F4r_fNGFI5(!+)NaViF=q!MBL0X@Pm7|EciiVSFSJwa zJKukbdZ)$jCyb*z=`wlO!Tj9voLx$IdCiPIQHVkZEZgn(BVg zxr#LY$=eq&BN?nj68QFqAHs}nXtRHNYN!CrOC)P=eejsiw1-FZz%Rb|GR{s;a8wpK zGD50I00AGPU4@uI3MEzyE7=^qx{x&swZk_tH6u8F#AjNo@H0QrXPuE2Rg$&##~EBR&g{@iTkkzv7LXtyX_982nPV*SCc9NTo{G zoX%&8BPYu>0xDJ_@}-hXRY`l7D(*-Kl&Y9i!V(N^alZ>&Ngr-*g>m;r4%gne1^?7X zEZ0SoIQB4KN1hmu+>Kr@rGuOvD}Y4YrdO-$rL_oEM2S;Ue$j{@>10F&{RF0j=*6-L z3xU)Mtj%la)*B3U#OFz3*xaV>hiLLJidNivhYa=fqI9O($57?ZZ;DEd?DwOm5F?6^ zWcFqz+Le+{Ab6)jkVZVr#9S*uWLCmFq%>|u1`x;jqhZ)9t9;3XThpG7T=j^rg}ilm zQ=$MQ2fWc6p-6()oS2H~2ZM!H{iL|kpvRVEzbIm+QyGmO#kxeIkxrA>YAwCScRqMP zJWQe-^kOZS!uIB>&g&(TF?AfW$WbyqQiO?yV@f3R^tfgq0uMd*wBIH?p>dLkNyOUQ zmgPQKzNaV;A<6bMh;nPDl}8c28A&GA9mbr{$Ot7!BBc-7g<8);(#mV=FAye{7lOUY z=deb+w6T&!aOZRIZ(bo*jv`EWVud3JCmmTK}p>wlje zDD4pew3?mnzX$~b|6C;KWebsHCnn1sAY#n!iCf2Ng#5XrfyQO13Z&a`M6d%MN4Pp6 zy$Os|ufMQ?SMIK>B1Gp&k?cNzSsa&7@A;kceZSv1- zzDt#U1RA+Re&TblPKrpcv@2k$DU7$?CT{GY(`4qKLJvel$R!e5sEBrmi#pA0J{1dq zv78`!&|9=LOHT-Q#O6R`SBu3WD?>;d%^NM^OupyT6F|K)P{DIgI7$-Qg~^1`Y!RMh zGRWoEh*d4kMt(0LmQ_WZL1nA9g(RMy4lHb}=P=;{eRgo6Ei!($Nuu4y{;iA-D!4~p z>|Kvy)G08B1`zX!_#&Sv`A0-HruZ5+zVu~&#uD1h-u2cHc`p8y8#m!jZECX=O3qOk&Kc+m2V%3&x9@76Jrf(F-8=tujy>6Gi>5Vv6wPcj0xU){syjZCv}HI zdJa6n1jeH|4j-|EmixR(QLM0Z$)v+%zTA@)%PPUp$%qrVSV)5=z;fSO^iX7Q+xAj_ zEgnrO?iD}1VWFyrA@XTOx3Bx~Lq2dHT*eCQPEj3}az`j-A^_UMC!U!LU%Ua5h zSk#Ar=~5{w2j9!hpADq~y07f^d&miRi=2iw582XiH0A=6@hH2_h3rN7y=NHI2~8N# zA;OqqZJ?$tJ!aaqjcrw254k3MeXkn0H``n=wjUvX1g0!}zOPJgA3Qx!-XRhJekPHZ zUcIe$z7D&OD6>RIg5DoRuhUhf{VCaF@vxv$Szhl#o6HSj+;XwXY7o>)I+~FS5WDv# z4fWR$5yA|qe1-|ASg~;@9e_8hQ+#-G+Eljx;tP4Whb63U2KjH#!_Dm3BIJuCf-vIi zi2vEI^WLObQLo@5=?*7y=#-ygTs%eX-iI)Dx5$xdIQ#A2(mBWY^LG$^d0&ldW|2HX zwNvfs=ns2@P=1UTu0Iu=_~Gdfos1R%8jsuks+4e|0HiJRb>kU2WvS**bi{+nw zInCorE!SJ9b5)C>%IkOXc;QA&w}3=2rO2Rt^6(1h$0glgHliUNAf1Wwr6`g_J*(-aY%&y`xDoyY%QM3sgsLG7kV!pI7NW@tB zx+?f0;vgCCSUu<@h&NIp>}{oC@V%tze5NOhGX%-Hy)y9No2o>?ln|ufnxJu2M(d&p zt1(02`)3#w%H%^ModRx_M=A!=pGX(nK*#<=ZF4 zcxJ8;k9!G22G}8-dF%EL7K0kzeB-VT?e45)k?@82d!!2TPA{_=zfZg}L~d5Lr)b1dGh-tgyP)fK>hx|#6{s8{^==Nr|)Ab+kxxX5X^3p*yi|b zCWK&7#Bbh0IJr-VCJpP`llOY0 zgQt5bFYazLa9ItH%RM|S4p1Tq3p10Cd2JW%rn;4S)S!K?q9}xfd~cURLY=G-NduCo z*KTbyc>2V=HXb<)!Nk6yAdf zpJnxm3%JK?^q|!tq$Bq+V#L|c-9`QE1Y2MDBAoYoqQZ=(~Dh^PYrux4)yQW z;MV>N5j0;ZBIg?;EMR%uM2K)N$mi{}h)-N2WNzMpHD9F8+UK)|C8x- z=(Z}-sU6#H1$D0~a2KD}08rPXQcd{nZQI~GLiJFkiDO4B`;=3UoV-`QC^f4UQ zWc1#R?Mzae@ZGKjZtkrUj?A>L7ET{dF6(%3TtGITApvu1nM@^3Rbn6ZC)z329rQ>p z+I%k(p@fM%Gl#TR_J?A1MJVAFM<~$=9;0QA^yqWet|A?>QDlabgOEanq+>i+uV)r^ zJy~-w+e=0hdn?25)ge7^W7J2rM zKKRM~a(rrp$?bNMgL~b#Mao~wp^v3fte~WyR+Q1VvI*=FpKT;U+Ggk@?vqmLA$FD0 z-fRt3Amg~y#KW@-_zCh?^GW2A5p@x5cbg2pG#|cKS^8zUttvCpztJC$)Q!GcAq!8& zSYi{ftUiCn(%k`Ru{0A2Z4eUs*HFN%r+LxGCHd6sUzx!ccw^J_Mhson*# zoh;svpNl6TgQpYB#b|~M-Hb{JpwP0j6FU&PzWSP z(iJZFzDUCMJFFNBEalz!7VbDt|gup zUa^`^;MTQu27LhA+iR?DVfa~*lDw}sas~>8V^}jkD$S|ra+9;j%%Fd1mg8_~3uvc1 z1);Xee$_f zYr>6a(8GWuDPkrTX(;)=B7;v#+|dZ27Or3q+LuO0jWjR8Srm1SFh@;~pZC5QnIzow1EoH>8ySsr8k9eOVQF4Y$ zd9eJSt$x%JxCz3!nHv-j6OyB<{R+G z(-@JQVjfVqDFwFU2*ca$V08cY(5s(mh3VML;;lFkElxGfB;|Qu6oRr?;RBI{!v+vU-Qh?*-V10yr%oJ;|^kz79YC=S=XILY|5jFRiZ^AOmpP5<+5%UIF8APXHI+xuJFA}>6 za;5-0q9?(a=np37a)mT{(miMJ^=7!Xx6Q1X;^G_QcfLG^g24+rl#ZW*$A)R zTt~+6!tDv@Ox_B!X-ag?>@h#@RMmpQA`KghArj@iA|~HuHukb~kEUW0A7(}M>tad~ z&&m`^mg7Xooe9r(EtdHCw7Ly*4iB9W?zm_ zv>I4WEE#d>j*eT2_k1?+{;NSQHrp-qPnK?qc0=(+0=+k!G)rI#)_yNRr#z;dW7NR*So}?-@A8=??1ZGEOF=B7MXTf&9Zyl z7XRB&CM&wYtJ#QV>cPZ~osCtJmobUQTou++geEovuTJbdBqV7u@I+ubOV|-`%ydg` zFc~TrbxF39c{MTqW(f>RM$`dH-fXXj588=Pb`?fy6VpH(4iYU{Bu5wJS}q)&wXm_iiFh(jctU2)`;;?6I^tAlwvf)OV3+Xg ztrxbDj)=OxAB}EXt%U2H7J}k3Ivo=0dX%_I3+7zq#azVJ13Wr7z+~7%i!jX+6L((E zKH_nx z|6N?~3#Ar=SmyD9OMyMUqWt~ps)@Q-$aNF`jQ}%0c|g)n2t|@6kb{*&vTc*N z`m#OKX7VgEs!8}H(-dJ6qj|`OYP(A~RL50efcuApS*01XovjY9BKCK3Sz>1E5>m{0 zPXj87QmA%x=s+yXZl~o0)WM7!(TQzQ-|;bU@4I6Ke?<6Gefq`42JNn+{Jv@ zfGwwsb_3HVzX|)|J;D|yt4{qVwmb1B4wN!b_W#P)zxWS~unTb#6!Ei=orlEG}O7}#1}!4+XaolrxjsqQj6h5Zh-RTaWkuXjk2e7fPU zhXZ_Y4H6r{xia-DBGGa*ErNfd%OE|r(jVNBw$HhEN~|H7&5^0gGzw8`I0bih2kyug znn!PI;MS|BXcOtn+5dm~xBhe3BA_Ti>{x1S$OTKuj&ae*j*IZbY&1ap$x`bTiCd@2 zwi+REYZ9Sp;%zSApd3XfdL(=qkd03SU)C$^pF zkgX8ooqR~`b!Wbqj!#LiM3B`j!wf9P;z`1jR(}p_?o^By^1F56b{ciw?}#cA8Aec# zc~fED8-5;p9!4a$gLdm&`$<;!SM-?P(I4T_lM?Q3u8YhIoP!?n`)Pde!9%R1R)}LK z$gT6Wi2Qpc7g8H3SmZms-TN!}A7?%N>+EU2U0Mi3PE>o=1{dLe%6%Hc7n&+VkqHM3cY?4u4o#SlVcPgdX@W&9@Tc_&DrB;~Rd~)nPRILkXz!9uyrVWy{I1WgfP7bg1B+rr# zz1~dwKf26($CqsqxE5-xK;nZZTa{7<_BS)SeV8Oh3k4k5zrKky?~#`aw?N2MCALyu3aDC>a>gz zIZ2^yRM?DxbbFS=!&}$SCkMP=^BV1n#Ae(055wFAY z1-|@CUqUkFM7w;B%Znmb*Wz$aTG-rOgTt!mDema(3IF{VE;A0>$v`Gf9zOaOtdpnk zh$)YeAxXbLzj*#r3F5^M!3uAw)~T$-1K&8WwejGziL+u`$Mzl5g*L>?n2ERfJM5Fg66 zTDf82w9-MXKh=o81C+^?lUOjxlQ05phdbSr^`9 zQc0&(FY5I2gD0mdLL!>RlHFFg5MJHMHT7tRSi0Tjg@ zQR%ft0i3WJwOclx+$-X}dnI&-B!3GA6d#<2RiQ+v@X^CEA;nmmfs6=CaKx|keGw8` zv62-iBfZ$tlOkAF4tr!sHJc8rh+v-;ZOYFqJ=@|TEh?XOyG3Y2ZbEn?Hfd6_6FU*S z`=pMu67bQz3p_kHQjx{0QX6NLA%oF})o2X+clYt;H@*fxiMQ;s{O<35Pbb#1J2{wK zK&@&Ml}DE(l5-u$Jb6^d$;AMkfQwmIAWjBlCIJyIOcF8$7GA90$Rf191v_9U5p)jP zXf^p7V+%70-sU;ZzxPcDHIAAtgl=cyiQj;q-#hiheqvi}f6|tlS|&WZteqb<#`l7u z*xj%(Whn?NUTaIIn>2RtLDXs$#cIwW9z?5perSh^*KX{B{xej+Yp>Fije3T@i)W&!9ZU(MoPj}1(BN=$! z7872w^8iBL88f|0TO36xeeSJdTy0@i>mWodD}A*aD+ydn#h8t4!lW6l<-G{H>+sHk zhz8~J%D584Oux++c?lS9L zG%yP$5M`Eiili1_XEvXxioHD<;l|#U_J^Do8zjv`q==Dy!R40MdWKlm!|WKE!=Kt_ zW^C!{sB<#Fo4ZNkbS_ZW7|jMDOTmKYqQ;C9CKiwAv^0vu$?gCmaSuYh7R(fROj;C( z&d@#-dAA1Bl$T^~Td}`y+=nZi!`cfs(KdK5`MK_&G%#62bO%E`t{YqoPTRt@y(Gy! zVP%!!Ax4xR9l{YSBDR+!eilbpLZRy~V%VC%OO7+Cw~@+jvQqTX8v8JM=Kzb;0(~*N z>CJvBnD~ds`*nnAEt~klS6;vU-v$FdTwYa0{84oqWP({lMy~Cwk!(!RBA%78CYhr& zeWFwASEr%1jLfYqcLB0{JGy_24uhCKQx;cy2QwqfsLPgFy(UD-f|NjeY^7^XC1}ML zjY)Ap20t7wb9e=u(^<$favD+TO84Mww_2J^Uz)a~vm9Ka2aRs+F zleoKMU?t4gpLq#YFqv{2myx#uQjfGT( z9v6OoX@M~#>sD;_!!$)Iek?Zb_J=mf_RDi}w+?Zc^cl<1>_CK5ye?u*ap8peX@~}y%yad-OBZ+% z(33-wtJYA*bHrbwd{u*o4^EDmCkSYRkR|3eBp?zn1BV-ZGWZe8XI=;eAD&2+UKA@D zz#e8b&9pKW#g!!8U@@{V899o2mccAtZEkJG8R!IZu|lH62OVcg|MIQ0HjImYn8hG% zjQD!CN4J#*%>33o#D^3?sUzbvZaDZJ?>sKz4<8jtwx%jqE8{_OdT8_CmQx%ez9`C} zuBFGFOU@9cD#Yz_c~t{*g+ZP$pkz$0C&sGQBWbFX3TnM3!i-6i@Qg&Szjb>tXlPpD>!(M7vsJf5;Yp4)*mCz zo$|GbYuy>$1@b5Nko%c85#Qa1kFX+^Ss}jO<-#`MHCNyak-!&DSf$!cvq6psc=Q5d;W^%ZL>b5RFD`F>O@xdV38!|Y={6zZWvSjQ+Dhp)tTuj;mY7wSP zX3U(Tu_nC?#Gq*v;*;(&TW^w#z{sb!M+-epuCm0}21}Fi=XXpcAY6gkBvk9WNuZd8 z{Q-ps;zHE7UHqCG?U4iDc~r)?@13jirL8JQ3!U|o(?$`-4u=h5#0c`)2(tO8svq?k zfNci+aNKgYWVm$-j?u9aZX z)d*e81pGcRlC0_;JuMa zYy5P7{V_YSPH*_c>2zEYF|JigC3T3Gk#{kpkjMATc>_wk?*{77F}6(=gQQZQ^pOK;OtQS4k>?B_n?Qq}pd@Cy8Q~wii=o6hnJm zUBoO4d!*fJ8D^r@m`A6gZQF?+1FvC?2yeOwvwZi)a_UG@A?KiOC+Z9kQIB-FMdaG8 z9wcJ8SmNgr;uQ`o2tWF$_Z-^KA&yX8Yo=2zvb`l@g%ehzSS+DxJJNIQ5i8sIh$Xto zjH<;_{p;iaMvip{%(CfpQZ2(qTqU`9iq~an8Grb!M3{4eJaKWe6Ju3iS?^qMdHWHF zCb6-#%Igj?xQKrjDfQTvqvw$|(4kSLMsdHxMXklp*;mE(Tzc7{B|RTKr(fs$q**Jz z;z#F#uWd(3*u1(!GA0jk@cy~trfMi7kcNM_f(~KKT0YFmSHoWVHiqpJw3}13AHEOA z7|cp;P?$G9D&7{6 zu!^Qge+46rC3m6S2Hk zSwDpVk0DEl%9do8qQFx5jS%Yh=6v00koAjSc*L;HX0;{KGhK3Cyuu!E?6wp z1Cb{nM3J{?wAy+YAT|TJd`{Q#gF|Lb{+8fP$79-J88xFYnR%q|!G)=wF3KcJo7qmJ zS3@#U;#qdO&BRu=*VpVVW{1rG__>=26uFq>VSMI!3P(b*-! z$uz3X1qw~VG{QB(&1qJhT+EA&Xi(cO56V?0053m(Q?dE}S^_uoqRVBW+Hs&@Id$G{ zGZVn(Z6=#k0+;uz=$E^MKYX3nZoohpody>MN#25s-Y_*B;!OPvW+C$PPSse zdZ(|@L%6?e8Obo`WH!-*hM+2L4zaqLUkXu6SDGsJI0-|1Y9l3bNj}1pWIDwxI8voZ zIq&z2v}q`$N8L_lphBs_5@@R-qL+czZ+G$HZb}L0!BvyNFd+^eBeQ#*RY4?NCn!~z z={sGVpO=>-@x-}NzMhCuZ{`y^b<&+mIUlOI%!Ju94KO! zf@%evA~6b+FqL{^-Bn1s+JpfP@(n3>ZXNS-Gswh5JwPt7of_*Nx5L=tA|W9x4~T7> z$gKqV`E7WZG)jjZmV7sA?E!p*0YpViBqWJ0KG$`b*>mIYVU5AqRk;EYnOS{q7shjc z1|vcSdp^LTO+uR9M`ZIwOvhE7+ztdIa1NS${RfC`@4!84qeYT<{{B5?{|M$2zMc{P zOoG_)Lt-o0STy|AblmvQbU;*WYvpX5IB&p*CEa5(7%5HRq8>TqZwU$^Zn9Y~s_de^ zGaPk6psY`vnWe2I zqfJw0b8)?tHprfiqG;&Lup?B>smP?T!f<$ z30J$L)7&zGpJqv3A<;^PTzb?iu)=o8B=lU}nEW3TOzFYZjLT~itS&wp(&=_`a;DmI zG6A!*wE=n`h2XAD`6B;St(I^-W9R~|b==DXmpBQebBGO=+Z~bp85VHCY&YWVzZ{9* z=K|i@NIUM@#MvG~E5pmm<`KtKVo?SR^9M0!04~oMQwDdO@7p9su611qgsKQ|(R++2 zZrzk)>>-X%M0DIFqzj;S(MC;LJ9+=DNall3LSv`IFnFR5t zvvKs}Y`k{sTK<0yxLuI|vu#?&*ZoUTzc2y5Q(6>d(m~9|8KR|XMH|m$T0%?5T-7cm;GE3xqG{2ZE*oUlVoQPRE8@2rOE=Rp$xjQ#{&G@V%DoD|C}Hzz)4s_C zwY#$lY3)zA7cfb>L{fFgY}aPs_BzD4a%iwn-2ol3Qd~^jEGj>3tEU}fa#Sq(!_wb8 zB%~61FtIZG`PW%q`Ezrti>x6-v&`Bq9|nX;d(4!kcH`PPMlylz(9SuRO~}H< z79+>#c1P%s7Mf*OBFv&e2V%V2G6~}gi$>i59cIO1mGzIA@vQ1zYC^bdxJPA--D$*3 zr%JVsNo+5~Oo!NCvb>9*zfNAUfA=~PzA@tF7!y(UVb${x0pu#CzobT37^vk5=;wxS3}JW8fE(mwE+V!?-& z-(H6+7*w~?nRBLHU_nEaFemC?=ZI{gdv%G{=_#K6;Rz;8w-z&Fi*el=^8xTZW1cDU zF@C)zP3c}#Si`vm@n@NZPf1cNJAhWB&+j8EXK*{1b=*$3LZ^;JygqWN4uV=3c*VDR zj5)El9OTFjN6>BKD=%bF8T*(`2T1zEIJl_7$gQzzcu=XK5Dot6y}x zH|Tu%&h=kp5PL#0zakXZAT8)LU6?5VB=S+P0`4m!ycv9H9nJ&&e zGD#bWrZ8vb4h32Mr!9mH1_XL=F~f}#YEJ81RaWWks6JjtkQ^|-C3x%p$2KoIDibKV{rnqb}*s_KnFYT>z zK~B^ZD#6S|#*A#-gG>UXMGkRZE)A&dqgNUOzE8mQ(& ztRzGSjh~+Z*{?T|kB8uy^^l5*e%_c_Tnybq{CT(PV|e*YqO1(jun$r17^`uQa*f<7 z$tlTKv18+#-#_AlnX0jSp#uy^Y<)8E(jn$1CXRbf`by z<%1(}TtV%@Bed#Wj8Dp}0)&|PYiM7+hw`_-4;Sy#-08wv&crK!?XTk6&;EHNpL-Rd zwajOhiGQqL^qVi;`nPXgU;7Vbia~rR#OFe$kne7pNCjQQsSe~!7ovWL`XI~PRh5}j z8npX^9)b+uBr{%WYXyO+N5{nRPhPCG*!wi*AhO|#a zT0`ez>Q16`Rw}csk}rtyBB4vQXY16%um0i=OlIWs=3G7HE?QGqbB8wLkB1~=850BY z0NX)aOPIBnO(Dj#DLvQi;ZU37Wl;!J5sTo(LQdhuPQRh5P%4;_=xq_GHzrx!h|0S1~&11W);06AzR}R(G>6hwO250 z%j9fND~s(IBgAJJyYn~sx+Ke4$Id}8HmyhavSaV!|VUuOE1HW`fjd`OliOq_0l*_gfE|b}E#vnMa zS{h&r;$S(Y%9}22hIfm}%1C5rmvXSdkVEVx)UrSuklHOOoS1yNFW_5X)7KWLDfN)rYG5%@DbO`DE)-+L?A;V7Uxo*EQd8)nX@`z;@E7L#a&$rpN#U z96jysTW~R*H*6HTLk(ajZ-&5?oG9J%dW-ED-&9brL+`9zoc$qf{Ru zw6%&^e}Pf;RQJX6Z~S#s4&LQ!t*H~M5ss25ma$;=9y%*He)tHHIPc}4k4Ag&nZk)5 z87L(Qa_^^tjyHFs&%eAKW0vr!l&dg2*`ICBLOP&%RPC$N&>9)-X4-?TRX^65tqWz| zR590P**<<;!=pn6dW%?$!I#*`Aeu|S9$IJ|HZZV>Ynd6uPFDg+;@VbB zJIqF6Csu2bG|rWX=8`GR$f7YU0^vI=rpm+09dWC9`%F8{1QN)A>X4W;Mr?oU+7@>5 zhGt(;Fe()q%k4xG+4a>B?~M7>oSC4EPnsNgs&p|21-7#FMqJWBTkJoRk+RFe&8rMWZ+b zZ_HHB>2NxO*!5T8kf!_877QkY{@FQfzj!Y(`(Ku|>AKgBpwaB(JKuf=Kkv(hF>!!M&z`xs(jdc$KF~Wz4oQ5og`#NOgmYnI&=ju`~zYLPX+dEm^PP?87 zsKCi&AbJY{nEr(ZLL}P8T;L;xd}P1_S8hU3B+c~K>+mYozCXnpwX5UuV&HJOtl z)kVl4;&(PPsAD!mR7RE$kR`mx?j&^^u*g6t zlsY<4VDh@sEcp`>t+R`QPQ|Qbf=I=^DqYYftmttyb~_&Rcs>+YBkACC5+jooPaIzO zjkq>oNuRVd8cAcmVEx6Yt22KK25@Qj8!Fh{32!4``W^C%80M@hjd28rk4orWlB724 zu-bf9{Vr;t5D8?aLyocWF-#Hv6zgM$0P{xCO+5al8OJAC*H)KyJGQZAZhxa z3%T9e!;tduVNdx%d0{#QAi4!2aK}3yGNk!BhTL9;!R3Naj)O(CnL(P#1yt#L%m?5K z1z<3{_>viTBD{GM3#G?bxVRkXc#&w*$*G-4L&;c7OlGF|@It&%eerT8WJnou5JQ4# zE|AXi21ZR~;{q`(W|QhwLk~pS%=RVXQgKwOH9P7(EK?++3wLcJ%~CzmR?s{@&+B*A zk&W?nLrY&g8Prq*M8B5=Yk+k=(Dk?zS?P|my6E#hoE2O6kmN^tgGJ_F#-&6->*wyQ zpif-+%B>ZIn9=3PIpLmaC#;-i$`ngDFxG>cql*>{)x>k5Dh){fh#nwG5O;YG1>d{e zK3&*u>6K2eqrdhhd{6#0nyarPY+c|v<1r#{d<{=l{|bqnfn9%z_o2!Azk+geM2Kr) z?as>xnGgzr$4T|n~ioUdGvdo2ZS&SD!V%#G9EWu(;J7v&%_-|ek6)(v}D3jF2 zqPfGbZGjKX)`L$@mZ4aAz#pl%ISCNyToxuO$ldn<#hvQKRKM5c*>0Fz2?j1CB*ilXscegj0G3032R!rKk`YH%5Cx*APUL~wz zh%=B;B-NfEL1kvWo%3RE!-J$DqdXooiAyg^T)eC@9$u$|RY6Ypq)Nz8r&#gs5}TJA z7R#)djgJrvisDWWyDS}1*BG0L2-1NG?h=B%eBFe}1hJWA$#zV2Vn+HYq^Dat!jk?O zGqDF%XA0Bo4Ln!iVL;a^SD#~H8?8As&(<`w8?4|ych3LS zcsBpK#J2QL_}ydee-LGyU6xcs2#5$zmoG4mMBxdC;f}Ec6W}}j{O{00GsskgJK81i zIl^j8V0T*ZrX}#y6&_!n;%@T*_j$3Oe+C-~BhRaUDh{{H{)O+8Zo z>d)@r^uzy}#bJW~>%N7*eAmZdUdP}2KN;L9KKHF0K6-G4o7psS>r+bkOPPrDwkKf zEhO7ZE(Wg{1&V^aX)NFgdf}anRcys#B?w2QVY>}a&JS~K9hW2|tC8ntR7jCF&Tf72KM13 zj6iaOgoZ>ET{uMDr`JQFW@$tHN|L0;aN_Mp16AXRC*AOoFLc@>sv=?~Ggh+(e*K$| z(He?Pi&OXCx8gG8;>2L+)_&xOV*;EKZPH1K!+?kRpxj@p^&8!UZ2 z66i*^g@1jojlcNTHC#@-=#u+<@n#I)`|u2F>#TCycM-d>hOK7{bShVvRK@=#NFI`7 zwW=~n1d&LR2$O3F5-y%r5t3eKe15;?pVl@WP3$5w)9;yK-!*;Tu$N_@sr^Xdb?lfnm3X+q(w-{Lj6D zfA;+&^avCDtfqJV%uO6DN+^$8c<#kb{HxzR!hWKHKX}r^N_LKa_`m!*{)1nBT?6>v z{gt1=fAin{4!-hQ9-I4NCFHXIZ4=Us`&G5s6%*pF{rM5QABT;-_H6;<$&$kDI8MZS6g<7EaY17846G92c7| zA#np?>K@IpkvWyqCSzSbjoV`du9(diFi1Z0GX3oA6odQLPdL_vO} zL`&>`-P3?J5k)*x>=IvJo=THd81J0*)Brq_T|=7-<+Ynx@l@kAu&PZRxUgKXnOW1_ zBh|Oth?8Vp`&kv2iKpYpo&5`JZbUF&Tg8R@I&OFF5gv`PO42L7(+$G7x8E;g-QU2X zULx7`>8a&})hFjC3}n@D2W{-HXYjNW;yvu+m796q_c+YVHa6DRkX*^)#W%BXnkn3U z?ayK6C?etOBJ6Ui#$5cyn~3dfle7mBB-T$}m)#ueGe7M3|MZLg)vsLpFH(NzOHn@P zwYZGodolOOG;I`XHxl^hy&_536ps&UeDDiqS6dGXr1?e~XGFbG?4^V}$kidjbunzq*)uwVDUBrB>6ef#{5Bd_RR(QDp~uCS z|2Be?HlBO%Ut-biWBuATIz|rPO#KbSpZq3X9sCZquX7QIy@ZTfNl%B&a>s(`Is}e6 zkht*@v3(t=JmK?M!JyYh@cJv-|2-QNQ9md%w?q(3N;o5a0?j-HT-j+`Na;0wPhaJE>oFUiuXT?Wy@ ztH-%=0w#^`a>^*8Cla_3^|0{44Egn#yGnd8CB~I4vj&k7@ZzXLb#4jl{-pKIB6bh6rPWRrvxPVxle%Si&ZJA}hhedz?sD?Th$F_`+f zS|XSZd)nG~!T@>a!5Laz!ly_?r%GnGe-Y7-{;8_x&*ok|0uCnD6k4V4{{yvan-T)_ zxQMD}1-@4Zv(?*VGN*9&D`*s&Xk4^0V?yu-qX@2Tb0LyolT^2AB@_=HsF}?~j1|+o zw}f17PZq-|v2DK&pS0ax9bCAbvRxB~3RWG3>T2b!PI&sU6AZY(ktqC#10k z%!mOJwJ8HLh6)$oadXV;5$i3N8hob=gV!}ulNdR8$fY9K%ZR}ZVT5Q_I7DOJ);YT| zzh5*q#I!5KAk2!xkUavSG8!bJeQT)&X9nHGzD)*cNQtQkBf41K%56)pSH=Wn)-QD9 z4QvjNa4XD=ZFTYP!9;}uJAg5@uQW2r>G|AfE7|S3V)OPQo1ua{+kZ8C_@(^S=o}{E0*9AB`}5VKed4D_iNm z`=rpqK)f|XBUlV`q>os}br{4ldM~qOB3$Pdl^s54$&wpsGIeGw+20knqZ|q0-dYM7 zQNSFxF=PNV7#Jcox^rtAlR<;o(Mzl?^ISF_KdPe6%y?dE;iJP6vl_9l*N>ZgjhlOM z3`ad&)aR(Qr)p}GH-kur9f&5##El4!4!b%fEaU%TH7f#t>$wDi#M?pN98Fg7Bk5S< z1tj>h;edl!JfNNhTGO16KPnNqiOMMlYQthNmi3^s?Z)_e=Ui0P=-kP zz!^x#B(<(EvA*gZ`cQAQ@r8Ah*?5d*p9_&tWH`47v;6!V1DTIOcjuRIqw-q_E&51j z0tgx*G)U^EP8*}4c;FFwCHY{u$f~6t=3H<++k=~L-NE4E8SKUc&2bRP)lD=jXDZ}4 zoH~_PG%kAxCsr`-R8^N+99}!*5>tMDfoX1!tyUM^fd$uWsLe&8AQy4SMl5QOn2XYr zjYV!7BYy5_p~!`3^6SiZth`RIfs1F4{*4LZAMuO6v7Y{Ww%fTWO*A6+wCo;o=(K|z zD9EV2Q#{Ow>jXJOiF;RKVLio53W13kNRwbi15VYjkTEDXpY90>VJx4-*8Z9fq>ejH zOh;p!UJY?@HsZtXqSBP9>jqBGOT@Bs)yT-kLwN1(o(jM8`H;K}Qs1nD-F%uPs-rs_ zBJ=eAhb^43ytX=ROb8d!@dN|RN4z({^$nK)M3k95fLM^(kq<~JjKdv9n=r`W0~BTU z?gW}i)f|T`TxJmE5Ta@I2}4A#b%qK{$aL<~{^^xq4DCh@gBgjOSOIfUS49eeB=r}z zm`zC_1NyLw8(WC3`I#Lq z-{E6Y2$_BraCGo9%;hj>HHTKCjxZOY5s2XAq=J~4ge#wbXK*P8oW%WZ-jgV{@7{*f z#egIn>$Pg=6ieumkdK@uA&-UIFJI#|){#jBn3-#Q?HBldd#F}FfP)n!8qZ+JB$n8D z87`9j&gqAr>lWLeG!-olrQNG$@4rvRLVsszR{k+~7CBV`n<@e<0@mW@>C-QJoznG1 zI1vy#RxegbF0!GC2AegUsSK3h(%Ua);Ekj(8nl@?3OdX===7O&JXl%vp>Th!QvWil zl*^{nAYG=gR}yKiBERY<$Vrzt5ZRUtMlmqVC`#21GgX&g>*xb=IYatAX3&Ln!l#yH zVwfWh;C{0C0PBv!ns9OXP#VwR6MK literal 0 HcmV?d00001 diff --git a/assets/weather-arrow-down.png b/assets/weather-arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..dba2fb798eb66561e3e128d4cb4eea28a8096512 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{e!3HEJoIX|yq}Y|gW!U_%O?XxI14-? zi-D?yL70(Y)*K0-AbW|YuPggQPHq7){^&bB2Z2HpJzX3_G|ngg30d-MJ|kB}b-v*Q zZaeYS2XFf9P&r{La5$id=h(7&6B`>F87(bG5_Mg-V;) z9+`+tKX^o<<9dJ-+hd~%3l{F+IhL-#3gTe~DWM4f+_7Gg literal 0 HcmV?d00001 diff --git a/assets/weather-badge.png b/assets/weather-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..953e678c7c6d5abce6c38f609c6a069a922625b5 GIT binary patch literal 6440 zcmV+@8Q12CP)TZ{F|y&o{e|gE`u+_`7@7 z;o&}%OXY{&Lb-qA&mVkeE?y5eM**xyS)1Z1Tj=~;1H#QA0GH$8UnT&c2jqtclk5~ax z`j6R#@?Dgd5Q;PpV$uL4_zd3y-^&2habETqjh>$`0x^o`BVqhM&z?8TnPIb72OGF15Yu1cZj>LRJdHraPZbCi zfN!HL$p(NZao`VIVN5E9-i2#m;KEzk^Qzx}0xFJt3=+|i#wU1~li)2=4Q%GCAu6Vw z^aoMCH(Nls83tg)!!0P^Ob5V#0M;0~;W|SH10aYzc!CAs6ANKr={j&-a5D&&0^qp# zg&4wqsQBnvs5tb0Ac-;%ln4UZWUPUAxk?CU2IPk*Pa%-#X$3+Ca2v|EP!?nY;6_6` zRB?Xxm^WyJkw`HNEL#Ty7kvRFvxRk>ldmB0BKSxM%0GGrDi3{tKqO>=gD;9`rUZE3 zPztX=9Ylan*X<6JAD}!j6F|6p0bs;ox-U^p5BAfXxRj@Ci{f;Hf}=+-y@dGM9L zQ#Aroy7f7xArM6%qQHP~5QQDQ1D@hrA%y7j0SGru0L*y!vYZJwqyz9-Ll*+*fHE!+ zdwkGZ1qYUY8GMT_1j%S-1I}}h1VT?ElqMAPEG7Bm!?+OJRf5 zjA+to$VrrcLwOv5g!39iE&z;jHrTb`8t|@mrUiQ1kf0Uni;+|`B>Df66h8uLMDdPSpnCfT z46UMIMpIbnaKo@icuQ3Mj0RS+_OJ5c_SBFIbtP!v?00)WUH zWrxk-z{f$vG=kIj4_peBkW}VLfuIVeFcg-+)N=?HZF>~zMh>!2nc9eCfft1ZnF8rU z`FE5@rUHbUBmjr30r#Z?U`1uW($EQ48;)xLxOgY*Uw9piop(zN0CTW11YV^D6KTan z7m)}-0VBph#NlwmJ+S=k??e6AvDoVg$SXn%Y!sRx2*yl+{0GXf5QukLLC65^Liq=j zvP=M6V>kwdTv!8O-{Ko!Y~{^pg0!=ZlQkyRM++a8Qz{E$;7aPGJ zEdY0@6kLIF9Be+xG^sU1REdD%_~Z|;{P6QoA;!xmW0D#Eh$idx%z#kw>j9L9vjM{8 z8h{-mbTUDS0Qw9iaB$JJx&Y#x;h1mWRVGOTLIt7NJPK_^9bhx2wgw@=0>?b9Fcd6J z2|@Y40t2I5oDc#OZhsn<9C;C{g^?s6n-GXU$3VC=0E+Q&56ah3iqiqO+IXCqpaO_$ z0PJ6SGx*NB9sx|uT`@}r9c_q3OemE$7c44nkJD2oBFl34O~6kWqq>3J8|~pd1hPqTHDd0GS;!KUbh1 zu&Dra8_VI~nO^|k@~g6PK?Gua@KGc9)TZg|^4(Bq%Gwt~P_V*w*SV}{nB=TATESs_ zC#7`%_I(>*$=)ZSE;<-{G=MIu=v9QS$Y9Sp(DnI!)Ekz5)R(y?jb(Nn+S)(D4tg z&Q7RzoSO7!^am>8$jHLDHmLlBAgMq|nVLNb3Jz?7MSGrvrbwR#2x-VG2xJ&T;54lh z=N$$&7bv?Y)Pp-&UD=rvt?-}39B%TfzQ7bdHsmyOY4ei*~|6X4_`&?z}5 z3VX>PH<3mJSlF*)f^IY%#Za^p-B7%1$IW$c^sK)G{~4F&xag$~UG+5L%(DGZVi}qA zXLuua*g1H1vT2gdlOSelno_rdLvKOb?%zX8xI6Y3mE7Mz4S7~*OJ%YGMm-3$5VPL& zktP#9W~qmxE58JR1s6|G9az#Tm6T9BqQAqUc}gD<5l!0ChhA}TikCqXbPq~<$NSK> z{Ws7WI>jdPRTx!X$oIhd$ZF`89EmTp>FUev#(gme(+)t*0%xPdX-7m-l`_V{g-~T1 znDqOPMGE7kah*zSE*p*4UX-IMAT*{lw%4JxK`i^|TDm9Y2bU(W~xO|edA z*3x5xm?2ZiVzSNUuh6`o1p1P5AUK9Jmego$)!}}8Ssgr zvY|qv@$DT8!m(lR_;O_$%alq;Nl;lJB$%PcSA&sLch>zHz=+8gwZ#C$%#nJ%g3?53 zdX~%BSPpNGjd4ISP7Goyt)Zv@E^eyCge-m~%_R<4R9*;gcJx6+5Yw0@8W+l$rSZW~ zX01|X#s8cbYh(`FZt`W7%pDzV(H8zdyH=t06SL9yslEY+2E3-w24_?_lOQOqtiS@R z>dVrl)*90wCafJuvB-vpJwwaD6Lx0QKVP%}b`LJcNnq5k!X_>raatOr-Ip|1!pgc* z)ON$PftZp;&;VcDQ~`ySv~?Dy86;uUic_P0*ws4>{zz0;D@1vQDB7TQup%>2CfJ38 zTZ?%`gQE*9hOlmg)a9*%ZZu`0$m=c)X#hyt>J?pE8$uuuN^2~#!|Uxm5Qqr*1A=D9 zr3(VwC=NOamk{;nuF&bMM<}qIRuj~s znbm`!ZWiqOMPv#3jBv{1$NooV76f(h?3xm=p*HY22ra4|HYU_|_YK3|zLA(#&>-ApX+w7?7_!LY_(h|+i+iYl|Bq`iYfFU~T zr7SppcQ}_|k~p=Ul9K&IEQyoirbto}6S?({1>o6zCjlpTN;9*w$IT){@@G*ow>OMu zY?_X_y-6MH^9H~Z(heRaZHHVQ7!Hg(U~*=q(rn_qy&yl_dYY-}w7 z;zu!Q33U85f}{^29`cG4+IrFqn*F(kkd;PI%ug}&QjC@;bRF;p;UEq;l`bkARw%^K zj&g)Pd^|COuEg^ckCT51;kjWb*I;rT2M2$mnkYMulGp}u@CPRXpf`A`#7j!_5$UR`c?e)y zYE3iJ5(iV7;C_xg9{9NrVh#`Xv=;s5+dPOYYhy;J!k~fUxYG+ntz7!nyRLG~!s(pD zoNW1wn32;t8kCuAjl~6USz8Te!lxOCBC8qBt1E*tTk?H7XI2-pb8V^;ax9d^jFrwg z%%*9%AS%ewLe!_mG*KqX3U`IJq+%Eq@+g;RC`zv1RLRd*UZ3k$?<~Na#X09dOgd_! z43ic}s?o&k>yJNPgAfSDf&NiAv#OYt1jba^cMU$DN*U@!Ax=*ED7gz`dfbm0yWZl9 zk>{bpZejMGzU@OvpgOasL~}uzgPA|Y^aU`3_au}~sCrE2>HX-O%NNuQfvL<-6OHOi z-f#r^#)9l~)%__eFvEZ^#IB*vIsROlWSVuB=?-7%1F2AE;5e54Q>!Z~VC4%ca}WqB z79JQFW#>$IVI}B4j=17q0-=uoNoy6W?h+ijc&aLGJvGS6DoU%vnNCZV1eqYw^XPA- zd`?x+s}|RRh1N*0KkHhmV#U0VPYuQ1XK}d`R-oym44?WiSAihy;S$UemDXv7zk0Zv)u(81FTjf;p&73f0_pEhx`*Jzh>w{)8lbf;m9V0! z1P&uuDz8w{ZY=_!Ac5XbuaVz+4F}FGXY}-c8pMU@SCoE|7O%ngrX}4EPY$x$5bJX&p@lNiLbsXl6|&f_z1Fp%pK1+$>Q? zdSpOUd8Jh>(vlAM7<--z2SK^GO1mX)+e@{#A=3Le6K+Z%Eub|3G7}VrmdFvCA&cB# z&==AvXbPJAg8WbrA0xA>Zgx2wcd|ldd<}xk->jE7$bnI~NG62_oE(=jYssw8Od|6{ zP-rI6jEpa-52v$hL)r^d)T4V3HNpB}wOeI<`L) z6=ojCvt8CnC>g00AOdYo0%_aG-KDc zRAtp)F$23nPTL=dGABG|N*okw(#0*p*qxNSJ7FP+`~*cNt!3l)G^y7ehGf4`laPxf zwrV*P-GkaBs8$M7-A~0&v5Y}|EJd?tF&gF$2wFlVyGyf{%uwQr9j)yWfCi_XMONww z*^k;mPMZ8kxm}x~ljB!PBq7mugPi00qb~MZT4Ppgp$oNh1IGE3kkJfQLS>pPAD(pS-ULAbL{!i|PRS&_hWwD- zY{K&*`0yHgRM$X`o8HqM2dK zA5wiTO@JeVV-rST6J7U=`iS`k^C0Fy%(v`v7tBk#ySgUtBerbX1p9Z6Lfhgqpt)@! zRM*x5&l^tL0rPpsV4$xL%oYn2*zHj0ECS;s?`!prjls#|$6(8w8)0~85Y}=h02WUY zL@*eDo!hoDVd}&4V71v8VV2o8wLo!c2@Jd4V7EKq+*PaL%yU-e?YgjD8|dqW54OAw z$J&oT_sNrZZQ62$v#1yrE?EMfyXwzyBGzSASls>z{Pvd*Yri*Gox`Y!0Qi0JFK4tL zI*`zTZP3u%0vE0OEVM3M4CR%Tc@3rG@FDo+gAYJ7k~*UEjE=zek3NLGJ9ogBzIrz_ zFKC0#V;yk#z&;oq83C)+%C7mm)fYm4Zx8(O*{9&hf&H@+zN%Z-iR19U|NU$Bx5;XQ z@`h%pXl#KBJeD=Jf~`3DyL5u2U%`*))aU4VQAxjsq*r=VeupV3^u)pc;L%@B2to7w zPzWA*@PQOI{B3x1!^_|v98CM|*%fK&}9Y3?}Opvhnd70ny;e91<-cojZoaYX!@fVAqxF_ zx8;?Y%#T|xQJqISkHU_}?uYa5Ue7comu>LSZaDegMhLiF3_`>=29hYwgGk9k5TJke zR&ZQ?L(bl_=acu~;B&v3Pw293uKhdM4ECHlj%F-<9cQ@XAarlrl5&Ro2m9wl7@c=_ zgZl=0VE1nyipTK{7;!B<7s}6A!JNGM9?xjN2fKgwQxL)-5Q0HyTyups(m@kM8a59i z2hG!UoJq&V=fG&OfwR5^%9oxEwdbvYQy;y}Ah4Wf!&7L6-i5-t7I0M7fT#NexQ`xy zXfQAjBG)Y%3V^%g022ZuMk5K@)XQWpwmJJn6-5(Hmo{I0od@yhY6dP#5MC*Mi^@u8 z__Q1pj+?ppS78?6U)wyezRjaM#wmRS{k$@5H%Y%ecS}tGnr#9+)aihaM$D%T2uYg$ zth&S`!dDu6@Wom`6d2-#KpNYCj%(JP8jnSnvrR0httt+~lV`c%4=AgP!}B&KO>-JW z_)hp6|h-sWSjIg^B#7rwF+=uRS?#ehM+HOfX;yNQw_k%j|2Fx zWh3ypvJhBQHYP0buu*J=pF~%}hhoh{`xU)B1_)RcunxrPCL9YXg#fgP#AhswIA+o@#G6?zzdBwAt}<#aw87{ z@LHnzY1`Un0w7-_H}Po# zLIZPIc@VyaCTOW6G8F*y&7GgYWHx)!0h00dXSCtd~){3bg=~?a#;z1!i*lv#9_{wISfifB_!HC@UX3^2Xu=VV*hlCwmGYDCQQ(0t`Q?Aa`{|P;=o!k`10m z4Vd#Ai%$ULpVF01QUP%xkVkR^qzMx+Dn(pZ8PF`yWC?&u5kJl~fN2Gx0zw|{Hk5DC zgiHtI5<@ovISN&rUjyXvQ+D_t1mYL6>u#+@fIBe{xTQM4wpLSGzf=Iv3Jc+Vp*9l$ z9VkCQc>)1Mr)#Wc#5-mKgetsi5Xg;&b`6l>2oJwPAiwKQ52Vs8!X1rX_^Vos_H_Wf zC)A;*;_?E(jDko2amml&2BEj8|i3HIq^Sp*-a5On}^oK!_5JZyaq65K&XIRhKFyWtj+KxTgU_k=M literal 0 HcmV?d00001 diff --git a/css/app.css b/css/app.css index ec91b5e..5e52eb8 100644 --- a/css/app.css +++ b/css/app.css @@ -933,8 +933,8 @@ select { padding: 0.875rem 1.5rem 0.875rem 0.875rem; position: relative; transition: opacity 300ms ease-out; - background-color: #008CBA; - border-color: #0078a0; + background-color: #486b71; + border-color: #3e5c61; color: #FFFFFF; } .alert-box .close { right: 0.25rem; @@ -1261,7 +1261,7 @@ select { border-color: gainsboro; border-radius: 3px; } .breadcrumbs > * { - color: #008CBA; + color: #486b71; float: left; font-size: 0.6875rem; line-height: 0.6875rem; @@ -1270,7 +1270,7 @@ select { .breadcrumbs > *:hover a, .breadcrumbs > *:focus a { text-decoration: underline; } .breadcrumbs > * a { - color: #008CBA; } + color: #486b71; } .breadcrumbs > *.current { color: #333333; cursor: default; } @@ -1318,12 +1318,12 @@ button, .button { display: inline-block; padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; transition: background-color 300ms ease-out; } button:hover, button:focus, .button:hover, .button:focus { - background-color: #007095; } + background-color: #3a565a; } button:hover, button:focus, .button:hover, .button:focus { color: #FFFFFF; } button.secondary, .button.secondary { @@ -1394,18 +1394,18 @@ button, .button { button.round, .button.round { border-radius: 1000px; } button.disabled, button[disabled], .button.disabled, .button[disabled] { - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; } button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - background-color: #007095; } + background-color: #3a565a; } button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { color: #FFFFFF; } button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - background-color: #008CBA; } + background-color: #486b71; } button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { background-color: #e7e7e7; border-color: #b9b9b9; @@ -2730,13 +2730,13 @@ label.error { .icon-bar > * i { color: #FFFFFF; } .icon-bar > a:hover { - background: #008CBA; } + background: #486b71; } .icon-bar > a:hover label { color: #FFFFFF; } .icon-bar > a:hover i { color: #FFFFFF; } .icon-bar > a.active { - background: #008CBA; } + background: #486b71; } .icon-bar > a.active label { color: #FFFFFF; } .icon-bar > a.active i { @@ -3079,7 +3079,7 @@ label.error { white-space: nowrap; padding: 0.25rem 0.5rem 0.25rem; font-size: 0.6875rem; - background-color: #008CBA; + background-color: #486b71; color: #FFFFFF; } .label.radius { border-radius: 3px; } @@ -3372,12 +3372,12 @@ ul.pagination { ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus { background: transparent; } ul.pagination li.current a, ul.pagination li.current button { - background: #008CBA; + background: #486b71; color: #FFFFFF; cursor: default; font-weight: bold; } ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus { - background: #008CBA; } + background: #486b71; } ul.pagination li { display: block; float: left; } @@ -3415,7 +3415,7 @@ ul.pagination { border-color: #d8d8d8; margin-bottom: 1.25rem; padding: 1.25rem; - background: #ecfaff; + background: #f3f7f7; color: #333333; } .panel.callout > :first-child { margin-top: 0; } @@ -3429,9 +3429,9 @@ ul.pagination { .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader { line-height: 1.4; } .panel.callout a:not(.button) { - color: #008CBA; } + color: #486b71; } .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus { - color: #0078a0; } + color: #3e5c61; } .panel.radius { border-radius: 3px; } @@ -3489,7 +3489,7 @@ ul.pagination { margin-bottom: 0.625rem; padding: 0.125rem; } .progress .meter { - background: #008CBA; + background: #486b71; display: block; height: 100%; float: left; @@ -3574,28 +3574,28 @@ ul.pagination { background: #FAFAFA; border-radius: 3px; } .range-slider.radius .range-slider-handle { - background: #008CBA; + background: #486b71; border-radius: 3px; } .range-slider.radius .range-slider-handle:hover { - background: #007ba4; } + background: #3f5e63; } .range-slider.round { background: #FAFAFA; border-radius: 1000px; } .range-slider.round .range-slider-handle { - background: #008CBA; + background: #486b71; border-radius: 1000px; } .range-slider.round .range-slider-handle:hover { - background: #007ba4; } + background: #3f5e63; } .range-slider.disabled, .range-slider[disabled] { background: #FAFAFA; cursor: false; opacity: 0.7; } .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle { - background: #008CBA; + background: #486b71; cursor: default; opacity: 0.7; } .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover { - background: #007ba4; } + background: #3f5e63; } .range-slider-active-segment { background: #e5e5e5; @@ -3616,9 +3616,9 @@ ul.pagination { z-index: 1; -ms-touch-action: manipulation; touch-action: manipulation; - background: #008CBA; } + background: #486b71; } .range-slider-handle:hover { - background: #007ba4; } + background: #3f5e63; } .reveal-modal-bg { background: #000000; @@ -3747,17 +3747,17 @@ ul.pagination { font-weight: normal; margin: 0 0 0.4375rem 0; } .side-nav li a:not(.button) { - color: #008CBA; + color: #486b71; display: block; margin: 0; padding: 0.4375rem 0.875rem; } .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { background: rgba(0, 0, 0, 0.025); - color: #1cc7ff; } + color: #749fa6; } .side-nav li a:not(.button):active { - color: #1cc7ff; } + color: #749fa6; } .side-nav li.active > a:first-child:not(.button) { - color: #1cc7ff; + color: #749fa6; font-family: "Open Sans", sans-serif; font-weight: normal; } .side-nav li.divider { @@ -3767,7 +3767,7 @@ ul.pagination { padding: 0; border-top-color: #e6e6e6; } .side-nav li.heading { - color: #008CBA; + color: #486b71; font-size: 0.875rem; font-weight: bold; text-transform: uppercase; } @@ -3889,13 +3889,13 @@ ul.pagination { color: #737373; } .sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a { border-radius: 3px; - background: #008CBA; + background: #486b71; color: #FFFFFF; cursor: default; font-weight: normal; padding: 0.1875rem 1rem; } .sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover { - background: #0078a0; } + background: #3e5c61; } .switch { border: none; @@ -3946,7 +3946,7 @@ ul.pagination { -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .switch input:checked + label { - background: #008CBA; } + background: #486b71; } .switch input:checked + label:after { left: 2.25rem; } .switch label { @@ -3963,7 +3963,7 @@ ul.pagination { .switch label:after { background: #FFFFFF; } .switch input:checked + label { - background: #008CBA; } + background: #486b71; } .switch.large label { height: 2.5rem; width: 5rem; } @@ -4125,7 +4125,7 @@ table { max-width: 100%; transition: all 200ms ease-out; } .th:hover, .th:focus { - box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); } + box-shadow: 0 0 6px 1px rgba(72, 107, 113, 0.5); } .th.radius { border-radius: 3px; } @@ -4136,8 +4136,8 @@ table { cursor: help; font-weight: bold; } .has-tip:hover, .has-tip:focus { - border-bottom: dotted 1px #003f54; - color: #008CBA; } + border-bottom: dotted 1px #203033; + color: #486b71; } .has-tip.tip-left, .has-tip.tip-right { float: none !important; } @@ -4174,8 +4174,8 @@ table { .tooltip.round > .nub { left: 2rem; } .tooltip.opened { - border-bottom: dotted 1px #003f54 !important; - color: #008CBA !important; } + border-bottom: dotted 1px #203033 !important; + color: #486b71 !important; } .tap-to-close { color: #777777; @@ -4364,11 +4364,11 @@ meta.foundation-mq-topbar { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; } .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { - background-color: #007095; } + background-color: #3a565a; } .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { color: #FFFFFF; } .top-bar-section ul li > a.button.secondary { @@ -4415,11 +4415,11 @@ meta.foundation-mq-topbar { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; } .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { - background-color: #007095; } + background-color: #3a565a; } .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { color: #FFFFFF; } .top-bar-section ul li > button.secondary { @@ -4467,10 +4467,10 @@ meta.foundation-mq-topbar { color: #FFFFFF; background: #222222; } .top-bar-section ul li.active > a { - background: #008CBA; + background: #486b71; color: #FFFFFF; } .top-bar-section ul li.active > a:hover { - background: #0078a0; + background: #3e5c61; color: #FFFFFF; } .top-bar-section .has-form { padding: 0.9375rem; } @@ -4593,12 +4593,12 @@ meta.foundation-mq-topbar { background-color: #555555; background: #222222; } .top-bar-section li.active:not(.has-form) a:not(.button) { - background: #008CBA; + background: #486b71; color: #FFFFFF; line-height: 2.8125rem; padding: 0 0.9375rem; } .top-bar-section li.active:not(.has-form) a:not(.button):hover { - background: #0078a0; + background: #3e5c61; color: #FFFFFF; } .top-bar-section .has-dropdown.moved { position: relative; } @@ -4680,7 +4680,7 @@ meta.foundation-mq-topbar { background: #222222; color: #FFFFFF; } .no-js .top-bar-section ul li:active > a { - background: #008CBA; + background: #486b71; color: #FFFFFF; } .no-js .top-bar-section .has-dropdown:hover > .dropdown { position: static !important; @@ -4818,11 +4818,11 @@ div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, t /* Default Link Styles */ a { - color: #008CBA; + color: #486b71; line-height: inherit; text-decoration: none; } a:hover, a:focus { - color: #0078a0; } + color: #3e5c61; } a img { border: none; } @@ -6267,14 +6267,14 @@ h1, h2, h3, h4, h5, h6 { display: inline-block; padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; transition: background-color 300ms ease-out; display: block; margin: 0 auto; } .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { - background-color: #007095; } + background-color: #3a565a; } .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { color: #FFFFFF; } @@ -6299,7 +6299,13 @@ body .shadow-wrapper { color: #FFFFFF; width: 100%; text-align: center; - padding: 5px 0 20px; } + padding: 5px 10px 20px; } + @media only screen and (max-width: 40em) { + #header-separator h1 { + font-size: 30px; + line-height: 1.2; } } + #header-separator.header-separator-interior { + padding: 5px 0; } #header-separator > * { max-width: 1024px; margin: 0 auto; @@ -6310,6 +6316,8 @@ body .shadow-wrapper { text-transform: uppercase; letter-spacing: 1px; line-height: 1.8; } + #header-separator.header-separator-interior h1 { + color: #f5ad1a; } #header-separator p { color: #f5ad1a; font-size: 18px; @@ -6414,45 +6422,105 @@ header { top: 20px; z-index: 9; } +.submenu-two-columns { + column-count: 2; + min-width: 460px; } + .submenu-two-columns li { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid-column; } + .top-bar { background: transparent; width: 1024px; margin: 0 auto; padding-top: 100px; } .top-bar .top-bar-section { - background: transparent; - border-radius: 4px; + background: #dfccae; + border-radius: 9px; + display: inline-block; float: right; + height: auto; + line-height: 1; margin-left: auto; margin-right: auto; - display: inline-block; - height: auto; - line-height: 1; } + width: 100%; } .top-bar .top-bar-section:before { background-image: url("../wp-content/themes/keweenaw2017/assets/keweenaw-logo.png"); } - .top-bar .top-bar-section > ul > li:not(.has-form) { - background-color: #dfccae; } - .top-bar .top-bar-section > ul > li:not(.has-form) > a:not(.button) { - color: #486b71; + .top-bar .top-bar-section > ul { + float: right; + background: transparent; + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active) { + background-color: #dfccae; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active):hover { + background-color: #486b71; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active):hover > a:not(.button) { + background-color: #486b71; + color: #FFFFFF; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active):hover > a.active { + background-color: #486b71; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active) > a:not(.button) { + background-color: #dfccae; + color: #486b71; + font-size: 22px; + font-weight: bold; + padding: 6px 18px; } + @media only screen and (min-width: 40.063em) { + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active) > a:not(.button) { + background-color: #dfccae; } } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active) > a:not(.button).active { + background-color: #486b71; + color: #FFFFFF; } + .top-bar .top-bar-section > ul > li:not(.has-form):not(.active):last-child, .top-bar .top-bar-section > ul > li:not(.has-form):not(.active):last-child > a { + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; } + .top-bar .top-bar-section ul { + background: white; } + .top-bar .top-bar-section ul li.active:not(.has-form) a:not(.button) { + padding: 6px 20px; } + .top-bar .top-bar-section ul li a { font-size: 22px; - font-weight: bold; padding: 6px 20px; } - .top-bar .top-bar-section ul li:not(.has-form):not(.active) > a:not(.button) { - background: transparent; } - .top-bar .top-bar-section ul li ul.dropdown li a { - border-top-left-radius: 0; - border-top-right-radius: 0; - text-align: left; } - .top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active) > a:not(.button) { - font-size: 1.25rem; - padding: 10px 14px; } - .top-bar .top-bar-section ul li ul.dropdown li.active:not(.has-form) > a:not(.button) { - padding: 10px 14px; } - .top-bar .top-bar-section ul li.drop-left ul.dropdown { - right: -1%; - left: auto; } - .top-bar .top-bar-section ul li.drop-left ul.dropdown li a { - text-align: left; } + .top-bar .top-bar-section ul li ul.dropdown { + max-width: 500px; + padding: 20px; + border-width: 0 2px 2px 2px; + border-style: solid; + border-color: #486b71; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } + .top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active):hover > a:not(.button) { + background-color: #FFFFFF; + color: #f27225; + font-size: 16px; } + .top-bar .top-bar-section ul li ul.dropdown li { + min-width: 200px; + background-color: #FFFFFF; + color: #000000; + border-bottom: 1px dotted #486b71; + font-size: 16px; } + .top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active) > a:not(.button) { + background-color: #FFFFFF; + color: #000000; } + .top-bar .top-bar-section ul li ul.dropdown li a { + color: #000000; + border-top-left-radius: 0; + border-top-right-radius: 0; + text-align: left; + white-space: normal; } + .top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active) > a:not(.button) { + font-size: 1rem; + padding: 10px 0; + line-height: 1; } + .top-bar .top-bar-section ul li ul.dropdown li.active:not(.has-form) > a:not(.button) { + padding: 10px 14px; } + .top-bar .top-bar-section ul li.drop-left ul.dropdown { + right: -1%; + left: auto; } + .top-bar .top-bar-section ul li.drop-left ul.dropdown li a { + text-align: left; } .breadcrumbs { margin-top: 10px; } @@ -6486,6 +6554,33 @@ body .stButton .sharethis { width: 52px; height: 22px; } +/* +*/ +#Main_Towns_-_hover path { + visibility: hidden; } + +/* +#Main_Towns_-_hover .city-hover:hover, +#Main_Towns_-_hover .city-hover.hover { + visibility: visible; + path { + visibility: visible; + } +} +#Main_Towns_-_hover g.hover, +#Main_Towns_-_hover g:hover { + visibility: visible; + path { + visibility: visible; + } +} +#Main_Towns_-_hover .city-hover-text.hover, +#Main_Towns_-_hover .city-hover-text:hover { + visibility: visible; + path { + visibility: visible; + } +}*/ #slideshow #caption { background: rgba(0, 0, 0, 0.75); color: #FFFFFF; @@ -6544,20 +6639,269 @@ body .stButton .sharethis { display: inline-block; padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; - background-color: #008CBA; - border-color: #007095; + background-color: #486b71; + border-color: #3a565a; color: #FFFFFF; transition: background-color 300ms ease-out; display: block; margin: 0 auto; } .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { - background-color: #007095; } + background-color: #3a565a; } .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { color: #FFFFFF; } /* End NextGen Gallery */ -#blog-posts-over article.ai1ec_event { - padding: 10px; } +#glm-event-wrapper h1 { + font-size: 1.5rem; + padding: 0 15px; } +#glm-event-wrapper #glm-events-search-form .button { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-align: center; + text-decoration: none; + display: inline-block; + padding: 0.75rem 1.5rem 0.8125rem 1.5rem; + background-color: #1D3961; + border-color: #172e4e; + color: #FFFFFF; + border-radius: 3px; + transition: background-color 300ms ease-out; + color: white; } + #glm-event-wrapper #glm-events-search-form .button:hover, #glm-event-wrapper #glm-events-search-form .button:focus { + background-color: #172e4e; } + #glm-event-wrapper #glm-events-search-form .button:hover, #glm-event-wrapper #glm-events-search-form .button:focus { + color: #FFFFFF; } +#glm-event-wrapper #glm-events-search-form #glm-event-add-event { + width: 126px; + float: right; } +#glm-event-wrapper button:not(.fc-button) { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-align: center; + text-decoration: none; + display: inline-block; + padding: 0.75rem 1.5rem 0.8125rem 1.5rem; + background-color: #1D3961; + border-color: #172e4e; + color: #FFFFFF; + border-radius: 3px; + transition: background-color 300ms ease-out; + width: 220px; } + #glm-event-wrapper button:not(.fc-button):hover, #glm-event-wrapper button:not(.fc-button):focus { + background-color: #172e4e; } + #glm-event-wrapper button:not(.fc-button):hover, #glm-event-wrapper button:not(.fc-button):focus { + color: #FFFFFF; } +#glm-event-wrapper p { + margin-left: 15px; } +#glm-event-wrapper .glm-event-day-row { + border: 1px solid #FFFFFF; + background: -webkit-linear-gradient(left, #f2f2f2 5%, #FFFFFF 100%); + background: -moz-linear-gradient(center top, #f2f2f2 5%, #FFFFFF 100%); + background: -ms-linear-gradient(left, #f2f2f2 5%, #FFFFFF 100%); } +#glm-event-wrapper .glm-event-day-event { + border: 1px solid #1D3961; } + #glm-event-wrapper .glm-event-day-event:hover { + border: 1px solid #000000; } +#glm-event-wrapper .glm-event-day-event a.glm-read-more { + border: 1px solid #1D3961; + background-color: #FFFFFF; + color: #000000; } +#glm-event-wrapper .glm-event-day-event a.glm-read-more:hover { + color: #FFFFFF; + background-color: #1D3961; + border: 1px solid #FFFFFF; } +#glm-event-wrapper .glm-event-cal { + border: 1px solid #1D3961; } +#glm-event-wrapper .glm-event-cal-day-container { + background: -webkit-linear-gradient(left, #FFFFFF 5%, #f2f2f2 100%); + background: -moz-linear-gradient(center top, #FFFFFF 5%, #f2f2f2 100%); + background: -ms-linear-gradient(left, #FFFFFF 5%, #f2f2f2 100%); } +#glm-event-wrapper .glm-event-cal-month { + background-color: #1D3961; + color: #fff; } +#glm-event-wrapper h1 { + color: #1D3961; } +#glm-event-wrapper h2 { + color: #1E3D67; + font-weight: bold; } +#glm-event-wrapper #glm-event-detail-cost:before { + top: 0px; } +#glm-event-wrapper .stButton .sharethis { + display: none; } +#glm-event-wrapper span#eventShare.st_sharethis, #glm-event-wrapper #shareThisOrange { + background-color: #1D3961 !important; + font-size: 0.875rem; + font-weight: bold; + color: white; + width: auto; + height: 30px; + border-radius: 3px; + max-height: 30px; + padding: 3px 0 0 15px; } +#glm-event-wrapper #EventDrivingDirectionSubmit { + margin-left: 0px; + font-weight: bold; } + +.hasDatepicker { + width: 100%; + height: 34px; } + +#glm-events-frontpage-wrapper .glm-events-frontpage-day { + padding: 3px; + background-color: #1D3961; + color: #779156; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-container { + margin: 10px 0; + overflow: hidden; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-image { + width: 90px; + height: 90px; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-title, #glm-events-frontpage-wrapper .glm-events-frontpage-event-dates, #glm-events-frontpage-wrapper .glm-events-frontpage-event-content { + float: left; + width: 170px; + padding: 0px 12px 0px 8px; + margin-top: 4px; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-title { + /* font-size: 15px;*/ + color: #1D3961; + font-weight: bold; + max-height: 37.2px; + overflow: hidden; + line-height: 1.4; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-dates { + color: grey; + max-height: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } +#glm-events-frontpage-wrapper .glm-events-frontpage-event-content { + max-height: 37.2px; + overflow: hidden; } + +@media only screen and (min-width:40.063em) { + #glm-event-wrapper { + margin: 0 auto; } + #glm-event-wrapper.event-detail { + width: 100%; } } + +form#glm-member-event-search #glm-event-category { + width: 83%; } + +.prefix, .postfix { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.875rem; + height: 2.3125rem; + line-height: 2.3125rem; + overflow: visible; + padding-bottom: 0; + padding-top: 0; + position: relative; + text-align: center; + width: 100%; + z-index: 2; } + +span.prefix, label.prefix { + background: #f2f2f2; + border-right: none; + color: #333333; + border-color: #cccccc; } + +span.postfix, label.postfix { + background: #f2f2f2; + border-left: none; + color: #333333; + border-color: #cccccc; } + +input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + background-color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.75); + display: block; + font-family: inherit; + font-size: 0.875rem; + height: 2.3125rem; + margin: 0 0 1rem 0; + padding: 0.5rem; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: border-color 0.15s linear, background 0.15s linear; + -moz-transition: border-color 0.15s linear, background 0.15s linear; + -ms-transition: border-color 0.15s linear, background 0.15s linear; + -o-transition: border-color 0.15s linear, background 0.15s linear; + transition: border-color 0.15s linear, background 0.15s linear; } + +.right { + float: right !important; } + +#glm-event-detail-takeback-mini { + border: 2px solid #033733; } + +#front-event-feed-title { + color: #486b71; + font-size: 25px; + font-weight: bold; + letter-spacing: 1px; + text-transform: uppercase; } + +#event-feed-row { + margin-bottom: 40px; } + +#feed .image-container { + width: auto; + height: 150px; + margin-bottom: 10px; } +#feed .front-event-title { + color: #486b71; + font-size: 18px; + font-weight: bold; + min-height: 50px; } +#feed .front-event-date-container { + display: inline; + padding: 0 5px; } +#feed .front-event-date { + color: grey; + font-size: 14px; } +#feed .front-event-button { + background-color: #f27225; + float: right; + color: #FFFFFF; + font-size: 15px; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: bold; + padding: 4px 8px; + line-height: 1.2; } +#feed .front-event-border { + border-bottom: 2px solid #486b71; + clear: both; } /* These are the basic styles for calendar, there are several others that can be added from the calendar's mark up. These styles are primarily for the buttons, columns headers, and the over all calendar body. More selectors will @@ -6575,6 +6919,43 @@ body .stButton .sharethis { #eventCalendar .fc-view-container { /* dates, days or months at the top of each column (sun, mon, tue, wed, thur, fri, sat) */ } +#glm-blocks-wrapper { + background-color: #e4edf5; + float: left; + margin-bottom: 40px; + width: 100%; } + +.glm-blocks-container { + padding: 40px 0; + max-width: 1024px; } + .glm-blocks-container .glm-block-image { + position: relative; } + .glm-blocks-container .glm-block-image img { + float: left; + width: 100%; } + .glm-blocks-container .glm-block-title h1 { + margin: 0; + background-color: #f27225; + text-align: center; + letter-spacing: 0; + padding: 5px; + font-weight: bold; + font-size: 30px; } + .glm-blocks-container .glm-block { + position: relative; } + +.glm-block-video-arrow { + width: 0; + height: 0; + position: absolute; + border-top: 30px solid transparent; + border-bottom: 30px solid transparent; + border-left: 50px solid white; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + pointer-events: none; } + .home-feed-post { padding-bottom: 25px; } @@ -6815,7 +7196,7 @@ input[type="submit"].blogbutton { padding: 0; } footer.main { - position: absolute; + margin-top: 40px; bottom: 0; left: 0; right: 0; } @@ -6824,8 +7205,162 @@ footer.main { position: relative; bottom: 0; } } -#footer_address span { - white-space: nowrap; } +#footer-top #footer-guide p { + margin: 0; } +#footer-top #footer-guide .footer-guide-text-wrapper { + float: left; + padding: 20px 15px; } + #footer-top #footer-guide .footer-guide-text-wrapper .footer-guide-text { + color: #f27225; + font-size: 24px; + line-height: 1.2; + margin-bottom: 15px; } + #footer-top #footer-guide .footer-guide-text-wrapper .footer-guide-links a { + color: #00aeef; + font-size: 18px; + text-transform: uppercase; } + #footer-top #footer-guide .footer-guide-text-wrapper .footer-guide-links .separator { + color: #00aeef; + font-size: 18px; + padding: 4px; } +#footer-top #footer-guide .footer-guide-image-wrapper { + float: left; } +#footer-top #footer-social { + padding: 15px; } + #footer-top #footer-social .footer-social-text { + color: #f27225; + font-size: 24px; + line-height: 1.2; + margin-bottom: 15px; } + #footer-top #footer-social .footer-social-icon { + background-image: url("../assets/social-icons.png"); + height: 56px; + width: 56px; + display: block; + float: left; + margin-right: 25px; + margin-bottom: 15px; } + @media only screen and (min-width:0em) and (max-width:64em) { + #footer-top #footer-social .footer-social-icon { + margin-right: 10px; } } + #footer-top #footer-social #facebook { + background-position: 0 0; } + #footer-top #footer-social #photobucket { + background-position: -79px 0; } + #footer-top #footer-social #travel-advisor { + background-position: -158px 0; } + #footer-top #footer-social #blog { + background-position: -237px 0; } + +#footer-newsletter-wrapper { + width: 100%; + height: auto; + background-color: #486b71; + position: relative; } + #footer-newsletter-wrapper .footer-newsletter-title { + width: 80%; + color: #FFFFFF; + float: left; + font-weight: bold; + letter-spacing: 1px; + line-height: 1; } + #footer-newsletter-wrapper .footer-newsletter-text { + width: 80%; + color: #f5ad1a; + float: left; + font-size: 18px; + margin-bottom: 0; } + #footer-newsletter-wrapper .footer-newsletter-button { + position: absolute; + right: 5%; + top: 35px; + display: inline; + float: right; + background-color: #f5ad1a; + color: #FFFFFF; + padding: 5px 18px; + text-transform: uppercase; + line-height: 1; + font-weight: bold; + letter-spacing: 1px; + transition: all 0.5s; } + #footer-newsletter-wrapper .footer-newsletter-button:hover { + background-color: #FFFFFF; + color: #f27225; + transition: all 0.5s; } + +#footer-newsletter { + padding: 15px; + position: relative; } + +#footer-weather-address-wrapper { + bottom: 10px; + left: 0; + position: absolute; + right: 0; } + @media only screen and (min-width:40.063em) and (max-width:64em) { + #footer-weather-address-wrapper { + bottom: 0; } } + +#footer-weather { + width: 50%; } + #footer-weather .footer-weather-logo img { + text-align: center; + margin-bottom: 20px; } + #footer-weather .footer-pure-michigan-logo { + float: right; } + #footer-weather .footer-pure-michigan-logo img { + max-width: 160px; + margin-top: 35px; } + @media only screen and (min-width:0em) and (max-width:64em) { + #footer-weather .footer-pure-michigan-logo img { + margin-top: 55px; } } + #footer-weather #weather-widget { + position: absolute; + display: none; + width: 264px; + height: 200px; + bottom: 180px; + left: -65px; } + @media only screen and (min-width:0em) and (max-width:64em) { + #footer-weather #weather-widget { + left: 0; + bottom: 180px; } } + #footer-weather #weather-widget:after { + content: url(../assets/weather-arrow-down.png); + position: absolute; + top: 229px; + left: 45%; } + @media only screen and (min-width:0em) and (max-width:64em) { + #footer-weather #weather-widget:after { + top: 229px; + left: 53px; } } + #footer-weather #weather-widget .wu-wrapper { + border: 3px solid #f27225; + background: white; } + +#footer-address { + width: 50%; + color: #FFFFFF; + text-align: center; } + @media only screen and (min-width:40.063em) and (max-width:64em) { + #footer-address { + line-height: 1.0; + margin-top: -40px; } } + #footer-address a { + color: #f27225; + text-decoration: underline; } + #footer-address a:hover { + color: #f5ad1a; } + #footer-address span { + color: #FFFFFF; + white-space: nowrap; } + #footer-address h2 { + color: #f5ad1a; + font-size: 20px; + font-weight: bold; + letter-spacing: 0; + line-height: 1.0; } #connect { padding-top: 20px; @@ -6848,13 +7383,19 @@ footer.main { background: #0093d1; } #copyright { - padding: 20px 0; - margin: 0 auto; - float: none; } + padding-top: 10px; + color: #FFFFFF; + float: none; + line-height: 1.0; + margin: 0 auto; } + @media only screen and (min-width:64.063em) { + #copyright { + padding-top: 30px; } } #copyright span { font-size: 0.625rem; } #copyright a { - color: #000000; } + color: #FFFFFF; + text-decoration: underline; } #footer_address span.bullet, #copyright span.bullet { margin: 0 5px; } @@ -6862,6 +7403,43 @@ footer.main { #footer_address span.bullet, #copyright span.bullet { display: none !important; } } +h1 { + color: #FFFFFF; + font-family: 'Open Sans'; + font-size: 36px; + letter-spacing: 4px; + text-decoration: uppercase; } + +h2 { + color: #FFFFFF; + font-family: 'Open Sans'; + font-size: 36px; + letter-spacing: 4px; } + +h3 { + color: #486b71; + font-family: 'Open Sans'; + font-size: 30px; + font-weight: bold; } + +h4 { + color: #486b71; + font-family: 'Open Sans'; + font-size: 24px; + font-weight: bold; + letter-spacing: 4px; } + +h5 { + color: #f27225; + font-family: 'Open Sans'; + font-size: 24px; } + +h6 { + color: #f5ad1a; + font-family: 'Open Sans'; + font-size: 18px; + font-weight: bold; } + .off-canvas-wrap { min-height: 100%; } .off-canvas-wrap .inner-wrap { diff --git a/css/app.css.map b/css/app.css.map index 7e66aca..eb28fa8 100644 --- a/css/app.css.map +++ b/css/app.css.map @@ -63,11 +63,12 @@ "../mixins/_off-canvas-arrow.scss", "../plugins/_nextgen.scss", "../plugins/_gravityForms.scss", - "../plugins/_events.scss", + "../plugins/_glm-member-db-events.scss", "../plugins/_fullCalendar.scss", + "../plugins/_glm-blocks.scss", "../../bower_components/foundation/scss/foundation/components/_global.scss" ], "sourcesContent": [], - "mappings": "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", + "mappings": "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", "names": [] } \ No newline at end of file diff --git a/fancybox/README.md b/fancybox/README.md new file mode 100644 index 0000000..983a304 --- /dev/null +++ b/fancybox/README.md @@ -0,0 +1,62 @@ +# fancyBox + +jQuery lightbox script for displaying images, videos and more. +Touch enabled, responsive and fully customizable. + +See the [project page](http://fancyapps.com/fancybox/3/) for documentation and a demonstration. + +Follow [@thefancyapps](//twitter.com/thefancyapps) for updates. + + +## Quick start + +1\. Add latest jQuery and fancyBox files + +```html + + + + +``` + + +2\. Create links + +```html + + + + + + + +``` + + +3\. Enjoy! + + +## License + +fancyBox is licensed under the [GPLv3](http://choosealicense.com/licenses/gpl-3.0) license for all open source applications. +A commercial license is required for all commercial applications (including sites, themes and apps you plan to sell). + +[Read more about fancyBox license](http://fancyapps.com/fancybox/#license). + +## Bugs and feature requests + +If you find a bug, please report it [here on Github](https://github.com/fancyapps/fancybox/issues). + +Guidelines for bug reports: + +1. Use the GitHub issue search — check if the issue has already been reported. +2. Check if the issue has been fixed — try to reproduce it using the latest master or development branch in the repository. +3. Isolate the problem — create a reduced test case and a live example. You can use CodePen to fork any demo found on documentation to use it as a template. + +A good bug report shouldn't leave others needing to chase you up for more information. +Please try to be as detailed as possible in your report. + + +Feature requests are welcome. Please look for existing ones and use GitHub's "reactions" feature to vote. + +Please do not use the issue tracker for personal support requests - use Stack Overflow ([fancybox-3](http://stackoverflow.com/questions/tagged/fancybox-3) tag) instead. diff --git a/fancybox/bower.json b/fancybox/bower.json new file mode 100644 index 0000000..dc50191 --- /dev/null +++ b/fancybox/bower.json @@ -0,0 +1,23 @@ +{ + "name": "fancybox", + "description": "Touch enabled, responsive and fully customizable jQuery lightbox script", + "keywords": [ + "touch", + "responsive", + "lightbox", + "fancybox", + "gallery", + "jQuery", + "plugin" + ], + "homepage": "http://fancyapps.com/fancybox/", + "license": "GPL-3.0", + "moduleType": "globals", + "main": [ + "dist/jquery.fancybox.min.css", + "dist/jquery.fancybox.min.js" + ], + "dependencies": { + "jquery": ">=1.9.0" + } +} diff --git a/fancybox/dist/jquery.fancybox.css b/fancybox/dist/jquery.fancybox.css new file mode 100644 index 0000000..0ed0785 --- /dev/null +++ b/fancybox/dist/jquery.fancybox.css @@ -0,0 +1,740 @@ +@charset "UTF-8"; +.fancybox-enabled { + overflow: hidden; } + +.fancybox-enabled body { + overflow: visible; + height: 100%; } + +.fancybox-is-hidden { + position: absolute; + top: -9999px; + left: -9999px; + visibility: hidden; } + +.fancybox-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 99993; + -webkit-tap-highlight-color: transparent; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translateZ(0); + transform: translateZ(0); } + +/* Make sure that the first one is on the top */ +.fancybox-container ~ .fancybox-container { + z-index: 99992; } + +.fancybox-outer, +.fancybox-inner, +.fancybox-bg, +.fancybox-stage { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; } + +.fancybox-outer { + overflow-y: auto; + -webkit-overflow-scrolling: touch; } + +.fancybox-bg { + background: #1e1e1e; + opacity: 0; + transition-duration: inherit; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); } + +.fancybox-is-open .fancybox-bg { + opacity: 0.87; + transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); } + +.fancybox-infobar, +.fancybox-toolbar, +.fancybox-caption-wrap { + position: absolute; + direction: ltr; + z-index: 99997; + opacity: 0; + visibility: hidden; + transition: opacity .25s, visibility 0s linear .25s; + box-sizing: border-box; } + +.fancybox-show-infobar .fancybox-infobar, +.fancybox-show-toolbar .fancybox-toolbar, +.fancybox-show-caption .fancybox-caption-wrap { + opacity: 1; + visibility: visible; + transition: opacity .25s, visibility 0s; } + +.fancybox-infobar { + top: 0; + left: 50%; + margin-left: -79px; } + +.fancybox-infobar__body { + display: inline-block; + width: 70px; + line-height: 44px; + font-size: 13px; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + text-align: center; + color: #ddd; + background-color: rgba(30, 30, 30, 0.7); + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; + -webkit-font-smoothing: subpixel-antialiased; } + +.fancybox-toolbar { + top: 0; + right: 0; } + +.fancybox-stage { + overflow: hidden; + direction: ltr; + z-index: 99994; + -webkit-transform: translate3d(0, 0, 0); } + +.fancybox-slide { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: auto; + outline: none; + white-space: normal; + box-sizing: border-box; + text-align: center; + z-index: 99994; + -webkit-overflow-scrolling: touch; + display: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.fancybox-slide::before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + width: 0; } + +.fancybox-is-sliding .fancybox-slide, +.fancybox-slide--previous, +.fancybox-slide--current, +.fancybox-slide--next { + display: block; } + +.fancybox-slide--image { + overflow: visible; } + +.fancybox-slide--image::before { + display: none; } + +.fancybox-slide--video .fancybox-content, +.fancybox-slide--video iframe { + background: #000; } + +.fancybox-slide--map .fancybox-content, +.fancybox-slide--map iframe { + background: #E5E3DF; } + +.fancybox-slide--next { + z-index: 99995; } + +.fancybox-slide > * { + display: inline-block; + position: relative; + padding: 24px; + margin: 44px 0 44px; + border-width: 0; + vertical-align: middle; + text-align: left; + background-color: #fff; + overflow: auto; + box-sizing: border-box; } + +.fancybox-slide .fancybox-image-wrap { + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + border: 0; + z-index: 99995; + background: transparent; + cursor: default; + overflow: visible; + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + background-size: 100% 100%; + background-repeat: no-repeat; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.fancybox-can-zoomOut .fancybox-image-wrap { + cursor: -webkit-zoom-out; + cursor: zoom-out; } + +.fancybox-can-zoomIn .fancybox-image-wrap { + cursor: -webkit-zoom-in; + cursor: zoom-in; } + +.fancybox-can-drag .fancybox-image-wrap { + cursor: -webkit-grab; + cursor: grab; } + +.fancybox-is-dragging .fancybox-image-wrap { + cursor: -webkit-grabbing; + cursor: grabbing; } + +.fancybox-image, +.fancybox-spaceball { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + border: 0; + max-width: none; + max-height: none; } + +.fancybox-spaceball { + z-index: 1; } + +.fancybox-slide--iframe .fancybox-content { + padding: 0; + width: 80%; + height: 80%; + max-width: calc(100% - 100px); + max-height: calc(100% - 88px); + overflow: visible; + background: #fff; } + +.fancybox-iframe { + display: block; + margin: 0; + padding: 0; + border: 0; + width: 100%; + height: 100%; + background: #fff; } + +.fancybox-error { + margin: 0; + padding: 40px; + width: 100%; + max-width: 380px; + background: #fff; + cursor: default; } + +.fancybox-error p { + margin: 0; + padding: 0; + color: #444; + font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; } + +.fancybox-close-small { + position: absolute; + top: 0; + right: 0; + width: 44px; + height: 44px; + padding: 0; + margin: 0; + border: 0; + border-radius: 0; + outline: none; + background: transparent; + z-index: 10; + cursor: pointer; } + +.fancybox-close-small:after { + content: '×'; + position: absolute; + top: 5px; + right: 5px; + width: 30px; + height: 30px; + font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif; + color: #888; + font-weight: 300; + text-align: center; + border-radius: 50%; + border-width: 0; + background: #fff; + transition: background .25s; + box-sizing: border-box; + z-index: 2; } + +.fancybox-close-small:focus:after { + outline: 1px dotted #888; } + +.fancybox-close-small:hover:after { + color: #555; + background: #eee; } + +.fancybox-slide--iframe .fancybox-close-small { + top: 0; + right: -44px; } + +.fancybox-slide--iframe .fancybox-close-small:after { + background: transparent; + font-size: 35px; + color: #aaa; } + +.fancybox-slide--iframe .fancybox-close-small:hover:after { + color: #fff; } + +/* Caption */ +.fancybox-caption-wrap { + bottom: 0; + left: 0; + right: 0; + padding: 60px 30px 0 30px; + background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%); + pointer-events: none; } + +.fancybox-caption { + padding: 30px 0; + border-top: 1px solid rgba(255, 255, 255, 0.4); + font-size: 14px; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + color: #fff; + line-height: 20px; + -webkit-text-size-adjust: none; } + +.fancybox-caption a, +.fancybox-caption button, +.fancybox-caption select { + pointer-events: all; } + +.fancybox-caption a { + color: #fff; + text-decoration: underline; } + +/* Buttons */ +.fancybox-button { + display: inline-block; + position: relative; + margin: 0; + padding: 0; + border: 0; + width: 44px; + height: 44px; + line-height: 44px; + text-align: center; + background: transparent; + color: #ddd; + border-radius: 0; + cursor: pointer; + vertical-align: top; + outline: none; } + +.fancybox-button[disabled] { + cursor: default; + pointer-events: none; } + +.fancybox-infobar__body, .fancybox-button { + background: rgba(30, 30, 30, 0.6); } + +.fancybox-button:hover:not([disabled]) { + color: #fff; + background: rgba(0, 0, 0, 0.8); } + +.fancybox-button::before, +.fancybox-button::after { + content: ''; + pointer-events: none; + position: absolute; + background-color: currentColor; + color: currentColor; + opacity: 0.9; + box-sizing: border-box; + display: inline-block; } + +.fancybox-button[disabled]::before, +.fancybox-button[disabled]::after { + opacity: 0.3; } + +.fancybox-button--left::after, +.fancybox-button--right::after { + top: 18px; + width: 6px; + height: 6px; + background: transparent; + border-top: solid 2px currentColor; + border-right: solid 2px currentColor; } + +.fancybox-button--left::after { + left: 20px; + -webkit-transform: rotate(-135deg); + -ms-transform: rotate(-135deg); + transform: rotate(-135deg); } + +.fancybox-button--right::after { + right: 20px; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + +.fancybox-button--left { + border-bottom-left-radius: 5px; } + +.fancybox-button--right { + border-bottom-right-radius: 5px; } + +.fancybox-button--close::before, .fancybox-button--close::after { + content: ''; + display: inline-block; + position: absolute; + height: 2px; + width: 16px; + top: calc(50% - 1px); + left: calc(50% - 8px); } + +.fancybox-button--close::before { + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + +.fancybox-button--close::after { + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); } + +/* Navigation arrows */ +.fancybox-arrow { + position: absolute; + top: 50%; + margin: -50px 0 0 0; + height: 100px; + width: 54px; + padding: 0; + border: 0; + outline: none; + background: none; + cursor: pointer; + z-index: 99995; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + transition: opacity .25s; } + +.fancybox-arrow::after { + content: ''; + position: absolute; + top: 28px; + width: 44px; + height: 44px; + background-color: rgba(30, 30, 30, 0.8); + background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-position: center center; + background-size: 24px 24px; } + +.fancybox-arrow--right { + right: 0; } + +.fancybox-arrow--left { + left: 0; + -webkit-transform: scaleX(-1); + -ms-transform: scaleX(-1); + transform: scaleX(-1); } + +.fancybox-arrow--right::after, +.fancybox-arrow--left::after { + left: 0; } + +.fancybox-show-nav .fancybox-arrow { + opacity: 0.6; } + +.fancybox-show-nav .fancybox-arrow[disabled] { + opacity: 0.3; } + +/* Loading indicator */ +.fancybox-loading { + border: 6px solid rgba(100, 100, 100, 0.4); + border-top: 6px solid rgba(255, 255, 255, 0.6); + border-radius: 100%; + height: 50px; + width: 50px; + -webkit-animation: fancybox-rotate .8s infinite linear; + animation: fancybox-rotate .8s infinite linear; + background: transparent; + position: absolute; + top: 50%; + left: 50%; + margin-top: -25px; + margin-left: -25px; + z-index: 99999; } + +@-webkit-keyframes fancybox-rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); } } + +@keyframes fancybox-rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); } } + +/* Transition effects */ +.fancybox-animated { + transition-timing-function: cubic-bezier(0, 0, 0.25, 1); } + +/* transitionEffect: slide */ +.fancybox-fx-slide.fancybox-slide--previous { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + opacity: 0; } + +.fancybox-fx-slide.fancybox-slide--next { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + opacity: 0; } + +.fancybox-fx-slide.fancybox-slide--current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + +/* transitionEffect: fade */ +.fancybox-fx-fade.fancybox-slide--previous, +.fancybox-fx-fade.fancybox-slide--next { + opacity: 0; + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } + +.fancybox-fx-fade.fancybox-slide--current { + opacity: 1; } + +/* transitionEffect: zoom-in-out */ +.fancybox-fx-zoom-in-out.fancybox-slide--previous { + -webkit-transform: scale3d(1.5, 1.5, 1.5); + transform: scale3d(1.5, 1.5, 1.5); + opacity: 0; } + +.fancybox-fx-zoom-in-out.fancybox-slide--next { + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + opacity: 0; } + +.fancybox-fx-zoom-in-out.fancybox-slide--current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + +/* transitionEffect: rotate */ +.fancybox-fx-rotate.fancybox-slide--previous { + -webkit-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + transform: rotate(-360deg); + opacity: 0; } + +.fancybox-fx-rotate.fancybox-slide--next { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + opacity: 0; } + +.fancybox-fx-rotate.fancybox-slide--current { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; } + +/* transitionEffect: circular */ +.fancybox-fx-circular.fancybox-slide--previous { + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + opacity: 0; } + +.fancybox-fx-circular.fancybox-slide--next { + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + opacity: 0; } + +.fancybox-fx-circular.fancybox-slide--current { + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + +/* transitionEffect: tube */ +.fancybox-fx-tube.fancybox-slide--previous { + -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); + transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); } + +.fancybox-fx-tube.fancybox-slide--next { + -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); + transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); } + +.fancybox-fx-tube.fancybox-slide--current { + -webkit-transform: translate3d(0, 0, 0) scale(1); + transform: translate3d(0, 0, 0) scale(1); } + +/* Styling for Small-Screen Devices */ +@media all and (max-width: 800px) { + .fancybox-infobar { + left: 0; + margin-left: 0; } + .fancybox-button--left, + .fancybox-button--right { + display: none !important; } + .fancybox-caption { + padding: 20px 0; + margin: 0; } } + +/* Fullscreen */ +.fancybox-button--fullscreen::before { + width: 15px; + height: 11px; + left: calc(50% - 7px); + top: calc(50% - 6px); + border: 2px solid; + background: none; } + +/* Slideshow button */ +.fancybox-button--play::before, +.fancybox-button--pause::before { + top: calc(50% - 6px); + left: calc(50% - 4px); + background: transparent; } + +.fancybox-button--play::before { + width: 0; + height: 0; + border-top: 6px inset transparent; + border-bottom: 6px inset transparent; + border-left: 10px solid; + border-radius: 1px; } + +.fancybox-button--pause::before { + width: 7px; + height: 11px; + border-style: solid; + border-width: 0 2px 0 2px; } + +/* Thumbs */ +.fancybox-thumbs { + display: none; } + +.fancybox-button--thumbs { + display: none; } + +@media all and (min-width: 800px) { + .fancybox-button--thumbs { + display: inline-block; } + .fancybox-button--thumbs span { + font-size: 23px; } + .fancybox-button--thumbs::before { + width: 3px; + height: 3px; + top: calc(50% - 2px); + left: calc(50% - 2px); + box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; } + .fancybox-thumbs { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: auto; + width: 220px; + margin: 0; + padding: 5px 5px 0 0; + background: #fff; + word-break: normal; + -webkit-tap-highlight-color: transparent; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + box-sizing: border-box; + z-index: 99995; } + .fancybox-show-thumbs .fancybox-thumbs { + display: block; } + .fancybox-show-thumbs .fancybox-inner { + right: 220px; } + .fancybox-thumbs > ul { + list-style: none; + position: absolute; + position: relative; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + font-size: 0; } + .fancybox-thumbs > ul > li { + float: left; + overflow: hidden; + max-width: 50%; + padding: 0; + margin: 0; + width: 105px; + height: 75px; + position: relative; + cursor: pointer; + outline: none; + border: 5px solid transparent; + border-top-width: 0; + border-right-width: 0; + -webkit-tap-highlight-color: transparent; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + box-sizing: border-box; } + li.fancybox-thumbs-loading { + background: rgba(0, 0, 0, 0.1); } + .fancybox-thumbs > ul > li > img { + position: absolute; + top: 0; + left: 0; + min-width: 100%; + min-height: 100%; + max-width: none; + max-height: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .fancybox-thumbs > ul > li:before { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 2px; + border: 4px solid #4ea7f9; + z-index: 99991; + opacity: 0; + transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); } + .fancybox-thumbs > ul > li.fancybox-thumbs-active:before { + opacity: 1; } } diff --git a/fancybox/dist/jquery.fancybox.js b/fancybox/dist/jquery.fancybox.js new file mode 100644 index 0000000..f5ed361 --- /dev/null +++ b/fancybox/dist/jquery.fancybox.js @@ -0,0 +1,4936 @@ +// ================================================== +// fancyBox v3.1.24 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2017 fancyApps +// +// ================================================== +;(function (window, document, $, undefined) { + 'use strict'; + + // If there's no jQuery, fancyBox can't work + // ========================================= + + if ( !$ ) { + return; + } + + // Check if fancyBox is already initialized + // ======================================== + + if ( $.fn.fancybox ) { + + $.error('fancyBox already initialized'); + + return; + } + + // Private default settings + // ======================== + + var defaults = { + + // Enable infinite gallery navigation + loop : false, + + // Space around image, ignored if zoomed-in or viewport smaller than 800px + margin : [44, 0], + + // Horizontal space between slides + gutter : 50, + + // Enable keyboard navigation + keyboard : true, + + // Should display navigation arrows at the screen edges + arrows : true, + + // Should display infobar (counter and arrows at the top) + infobar : false, + + // Should display toolbar (buttons at the top) + toolbar : true, + + // What buttons should appear in the top right corner. + // Buttons will be created using templates from `btnTpl` option + // and they will be placed into toolbar (class="fancybox-toolbar"` element) + buttons : [ + 'slideShow', + 'fullScreen', + 'thumbs', + 'close' + ], + + // Detect "idle" time in seconds + idleTime : 4, + + // Should display buttons at top right corner of the content + // If 'auto' - they will be created for content having type 'html', 'inline' or 'ajax' + // Use template from `btnTpl.smallBtn` for customization + smallBtn : 'auto', + + // Disable right-click and use simple image protection for images + protect : false, + + // Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc + modal : false, + + image : { + + // Wait for images to load before displaying + // Requires predefined image dimensions + // If 'auto' - will zoom in thumbnail if 'width' and 'height' attributes are found + preload : "auto", + + }, + + ajax : { + + // Object containing settings for ajax request + settings : { + + // This helps to indicate that request comes from the modal + // Feel free to change naming + data : { + fancybox : true + } + } + + }, + + iframe : { + + // Iframe template + tpl : '', + + // Preload iframe before displaying it + // This allows to calculate iframe content width and height + // (note: Due to "Same Origin Policy", you can't get cross domain data). + preload : true, + + // Custom CSS styling for iframe wrapping element + // You can use this to set custom iframe dimensions + css : {}, + + // Iframe tag attributes + attr : { + scrolling : 'auto' + } + + }, + + // Open/close animation type + // Possible values: + // false - disable + // "zoom" - zoom images from/to thumbnail + // "fade" + // "zoom-in-out" + // + animationEffect : "zoom", + + // Duration in ms for open/close animation + animationDuration : 366, + + // Should image change opacity while zooming + // If opacity is 'auto', then opacity will be changed if image and thumbnail have different aspect ratios + zoomOpacity : 'auto', + + // Transition effect between slides + // + // Possible values: + // false - disable + // "fade' + // "slide' + // "circular' + // "tube' + // "zoom-in-out' + // "rotate' + // + transitionEffect : "fade", + + // Duration in ms for transition animation + transitionDuration : 366, + + // Custom CSS class for slide element + slideClass : '', + + // Custom CSS class for layout + baseClass : '', + + // Base template for layout + baseTpl : + '