From 347e2db5ea248be72177ccde87c0ba243d2fc1fe Mon Sep 17 00:00:00 2001 From: Aly Hemani Date: Thu, 26 Jan 2017 14:03:59 -0600 Subject: [PATCH 1/6] Database assignment --- .DS_Store | Bin 6148 -> 10244 bytes Aly_Hemani/.DS_Store | Bin 8196 -> 8196 bytes Aly_Hemani/Database Assignment/.DS_Store | Bin 0 -> 6148 bytes .../database-companies.jpg | Bin 0 -> 29796 bytes .../Database Assignment/database-name.jpg | Bin 0 -> 27468 bytes .../Database Assignment/database-search.jpg | Bin 0 -> 112640 bytes Aly_Hemani/Database Assignment/database.jpg | Bin 0 -> 1689231 bytes Aly_Hemani/Database Assignment/databases.css | 75 +++++++++++++++++ Aly_Hemani/Database Assignment/databases.html | 77 ++++++++++++++++++ .../Database Assignment/dbinteraction.png | Bin 0 -> 145092 bytes Aly_Hemani/Database Assignment/harddrive.jpg | Bin 0 -> 52319 bytes Aly_Hemani/Database Assignment/icon.png | Bin 0 -> 4757 bytes Aly_Hemani/Database Assignment/mysql-logo.jpg | Bin 0 -> 76821 bytes Aly_Hemani/Java Basics/java_basics.css | 2 + Aly_Hemani/Java Basics/java_basics.html | 12 +-- 15 files changed, 160 insertions(+), 6 deletions(-) create mode 100644 Aly_Hemani/Database Assignment/.DS_Store create mode 100644 Aly_Hemani/Database Assignment/database-companies.jpg create mode 100644 Aly_Hemani/Database Assignment/database-name.jpg create mode 100644 Aly_Hemani/Database Assignment/database-search.jpg create mode 100644 Aly_Hemani/Database Assignment/database.jpg create mode 100644 Aly_Hemani/Database Assignment/databases.css create mode 100644 Aly_Hemani/Database Assignment/databases.html create mode 100644 Aly_Hemani/Database Assignment/dbinteraction.png create mode 100644 Aly_Hemani/Database Assignment/harddrive.jpg create mode 100644 Aly_Hemani/Database Assignment/icon.png create mode 100644 Aly_Hemani/Database Assignment/mysql-logo.jpg diff --git a/.DS_Store b/.DS_Store index 36ecced17a295b06b7d83d881e41a3f4f1e77df5..3795f45ad2d87ff7c4152e95cdeeb1b8f77cbf01 100644 GIT binary patch literal 10244 zcmeHMYitx%6h5aEn58pzO3SNIve3vwYS?XQ%Ok>eyF4vY-K7se*4>?<9h}arJF~mg z+N3I}kC><-YT_Ra0zS|XBj_(t5fvZ5w8o%`F%kV`O#GuJ8u8pav!#?aRE(wxb2s;% z`#NXte&@Th_uK^l3}=-ffFA$^%1p{46=Nhe&hizh$n7a5iKGv(1ytyP1Q?)QG283# z5bzN25bzN25bzL~3<%I~HcLW@BfZi?z(c@8U>E`Re(+OfGUUnuNAgz(6+8qWSxntL zQJvxduH$!Q$dv<*%Ti5}2ZMK{DiN1ev~Y&yx1D+e6ur~^9cfbNsgjZlz3o%H;C zI$+3=Ug;s=A#f!EEOws(O`tSmJ0e@~`$&9Vc5^H?;ccSu`KX<+vsO5f+09#;q9)yXYr^g>)MKWp57!gPHcidP<%(w0uoIf0W=5#) zY1a(J%!kdap;&vOj=gqGvAg5)tk#U0Bh}V~p|)w3meh33?iGCO6PM@o^)&=*{Izwp z{Wbo+#>PO6e^p&Wf4_WC5authZ`$6O?tk>~3rCI~d-0_+XB{}ueWgJ8D0n^?4;w|( zQ!X}snu9QfX=30aC4gJb0}eK`I%`oH6W?4kW9X*Q#S|%*Lxk>4Y|2T>7Tu%x$txCp zH0YxHlpg9az`o=atSort>k(cNr4mUNOQe#^{SucKj6^Y}8XI*rry4slEeTt7-1c9( zXFOgA^1*`J>gvc>jREGi)wK<*TG!uCP8F(FY->yQ4jwxG*868a{OH`r-(UEFfl9Cy z{8r(#hsz(SHbFf9p(iJ3RqqN$Q)W+kctsOlk8b5!9cC3hIJSRp2sei-#El(V$~2|fEN3nC4wYZnDHp~*G4sv7;n_-hsWSKI0_h2vf z;eFVTgZMZ;fluPI_%a^HSMfD`6W_)6@C<&6L-?h$sG`C~+EiGtBk?Pe6Q#VBbAK+1 z9vO$Yo40J1#mM9*?)g%OuCwRNU3BA3D_5;q-#knL&d!mn<5Y9F#5q>r&?t&rM&Y4( zmGc)=EhG*SDb)kx?F4x`+Xe!ky?CK0%0TpGs!Ntil3YX^!5LdoBZ=}9PIopM2#S(C zl@psa>l;Y3m{XrM*RG?{X`JD#xgkWR1WsVqj4UNnDEP)8?p0{}IeY`(!B6lD{04tw zF_xnrmlIj*iKv@#E75d2-iGbiiMwz&Cu%opxF0RdVjd3=VIRPQMAwJ#VWR6HdWv(I=+D?@f4oEMBq{M-8PE8jNTKZZ;u&?C|NrNFmz&Q5w|m8P30Oj z)7{tlD>3TqPzrfE9VB5BWa*3$hyDB?m^joz0D{oCRW}Q#6&4(QMwz{hirv%6RkSai zIIin+;8jo><^6PkNu97#1w|NEZ- QUi|OH|Kna4_aF#rGn delta 105 zcmZn(XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jG)aU^g=(+h!htcE-);B}(44dP5<}d>Qo$wH+ diff --git a/Aly_Hemani/.DS_Store b/Aly_Hemani/.DS_Store index d6e80daa70273afb1598e4ecbd30920626d57b1c..6ab022dd0d6d44c33349619fccfecae03ec1bc9e 100644 GIT binary patch delta 78 zcmV-U0I~msK!iY$PXQ9KP`eKS5|dyM8nfUM2LY2~5Eqjs5RsEP5El$~Q*v%>Z*FG* k0004#a1tW3))1`&v2;KJvj-UV1e323E|cdIoUwF00?S|-v;Y7A delta 45 zcmZp1XmOa}&nU1lU^hRbz~nkXsmU&a6DPkEmftKTw3c~uGfxZiW_F2hEE_A>nE_uN B4-WtU diff --git a/Aly_Hemani/Database Assignment/.DS_Store b/Aly_Hemani/Database Assignment/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c54df6378fb5538570266c633c3653379a900cb8 GIT binary patch literal 6148 zcmeHKOG*Sm3{7+v1ERQeStk%ZfKZI%3A}*zw4l)9Vsu|C@91gty(Ef_wGl)_5=dUE zDoIs8==z9=uAatIkwXz#LWxSJBkb-D?L;t9t;QhNvXvX?ai`EqeQBMVWs>TyT zJstfe;%Z=X^mI|18Fgaj_s5Ic?C38RE?OPaCIiX9oB?~w;(z7&e}P}7`^cZCWGfj+ z2L2fXx>#SXSNNznTfclB&)NdLf>IdQ=s@7lE&*t8A33r?A20L~R|A_PtFYhFfq4-y LLeeAyzres7u3k1F literal 0 HcmV?d00001 diff --git a/Aly_Hemani/Database Assignment/database-companies.jpg b/Aly_Hemani/Database Assignment/database-companies.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ca8a4100eafd2ef86c667ea8d9d7e23dfb07b47 GIT binary patch literal 29796 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 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/Database Assignment/database-name.jpg b/Aly_Hemani/Database Assignment/database-name.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ecdeb975ec2f5d52c4c06495206b16eb8b9af16 GIT binary patch literal 27468 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

Be;;ywm>kzCY~+&d&!du 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 z z2Y(KJB*63YsuS{}+$@5A+@2kJfd{S^04S5!{B7j@3?p4_1?{JUG!@8+SHPU!OWWD4 zj#z;Oj^`=R}uZ7D4BwhK|u~=S9!~E`~RF}{x{3pB5!}Mb%fwsLGiVl@Lxe6!SowqdYf28-V zdg}=uqr7_!tf|U!y2uElXcqgq1VN7lvJz)a$Mjl{2n@C?8%!Eiflk(_B}aoN#U0lt~IOq2M6^v2k`Jn z)cN@R7YyCBz5QRi8Jn1gQu=PsMjo?G{b})Y;M&Qz1GRZc9Knm5EBAr{4nx^=TX-oO zv}!O}|AyNGrlRs6d9&&~tX3cBEy4_LM6NiI_CgEBog`|!+!%qbV9$=+s87(h(|{w{ zO)FXO1JG0!c^a_Iw}FJ!?y=&x6%c0>`kscf%uD&}xgIKEv zD^NEJJkb~MP?|F52sGtEXjVD^(&4C6i z2J9QWpR!hs#_prZAevKsH(P;c`EUV6BjK!v*n`Ef(1y;Fl|HFO$dPyG{XSBjWwc0A z2OBlMEP&}bMR%IAE$UW|eUol_>B8r|`?U_9++B07O}3|eyb3AARu}2q94oTti1_;?41z?>PoyQpBsv5L`biy{7k88MF$cWS>ET;NMKNM}Z_+P^wjS{p zd~{iDH!dp#vj*4G6m)CIb3)UntolE-6KG~ncz^VG&J^iKtQV0EZg4Y3f`FoN?{DA) zf=nnAN9!~&dBp&0G8kRwKxk-YUvK1pO~K6xB&?joul=yvNkSkec{PCLm2(~o2RngX zxmA1PZezS02w0&r{3dApZ@|quCvVzv{+2W(BPm!5&$mE!OZf*4N7ui2NS(<6T;i1HrSRr&_Me%Of7+kyTo zf0o1+d~z-JE2)^f=gWgKRBium6!&i<;R2B^8fEu*VD4pWV6ASw0Y=8#K%ng}1Pk+) z;VWF9iUv(&eS^nw;7@dwf8Zk__}Ow`-9ER1`r5Lf#cww7AbQ2Mzl8J59Ec|(8}ART zypOODDN^8o3ZEv? zURuLKn)r=@l#a2o{I_6Xf9dksad_t_G!l2VXFWlj5|RCj&tPkZ`Nuq+=V6+1Cl9?N zUy=wm<~%QYDY=`{`_k@+`2qh42XAwg5QCQcP(0uUfdw+bJGRVR21fIT7VF0{go3m; zy5;DhC6D$f^>m~xUGBgz*-(M!a=Y+XL|^F%LMrFOuouau=sK>|n;=&FJnsJZh0~Z{ zNPC0bo=(UYK72h=WZJu!*X@fRRo>Vhi1m5}`hh>zH&9)+z66%uNmk`fCh#g2L5A=G zP@dAVUlFveU>UXRTGC&)uug|mpr^h$)FZ7k(lnU}S-APUU3`{LSCr|~90JDMsgK>#{tU&8OuS;$^@32z3x6*LBG~cw4svhwO`U162k1{9c-DbwwY98xSjxQRpS` zz%!t!LA;LczObi{5-0QY!ynJJ1!~Aa&6gCQ1-lMpM3FZUE%1lR@dXpr_w6Gj=ftv3 zQ-&oG?4zED5F$OAq7nT&*Rd^FmPiV$hkk&nW!kep?jbGMMKP4U^RBs8AjltDXc@2! zPM0DF-`WHgvCXw8u$R}$z{n4G+lAK;N&H~4|EghM|;_k-m-8VokUFiCb8Ff`6aSG%U5iG@_Z)u)x z2E`Q}RJz?uSkBhs<-_(Rg@Yo_HLBmA_FxxeGrv7yAw8pXV@y3dbJ9R3u4`eJ#T;nA z#5uQn^Klo+Unpr`#Ynpp$oc2vgIss{2}e(II^(~H%+ATZrAv{cVSYA}B9p*enH%mu zRX9+W7CO23`sJyLg5Lgehp}XN@!773$!{K{C^r8O_aow0?YSNLTgd>#h4CLTXaVIn z-ZnblRl&BCB$*TeT~+FN)h(YK&#E!z-iGu_-XPU(?#V`I(dQ=9kTiX-=UGP}P{!$-)mFB=j! zD2lX{XAO%6S&%afPMF;uhX)d_U%oz+^EOijR!^;98!HATDz_KWEmt0{6z$AgF`%f) zRhT*>;2oU;w2s1CZD|Ub5$BHBmiCQPuH7|;?rb>AS85SE*PPK-Ka@B+bI$s@C)Xc0 zDMswC6Zz`GiKND1wcN+XqgYEK@3ktiCSnY-7?7O8U zv9$&AZ`%&IyRJSoCTsOnw9vdbgbBJ0Wizy&6xeIbZ>H@$u?N{yKYeYmtkosUL1-hY=MBz)tt4RHrh`Kv zS95s9oFha0MxY-7G~js65{~Z)z)|g;RmLSe*(fa4X^Q|b%0^`=&*}7k!4;t-UPfN?acBq43bpF}f!ar)plT_gM2kGb;X0ttQut6a+&CWaO86i`khN@7 z{>&kRadl`E?SpEVMl5675k|oDFH?LE!jqE;uUD{a!4??!WWb1DI1f>;Mvx`E89-ft zG?OsoD8$-J;P4&6@u2U5St`|Q07f zWhO9+z@gmqn8M3>g9Yz&61CSBo<&|M*aWZg8d3KH9Q(D#XSsi33$tSW1*=&1C?Nmh z+g8qDwp7$|+04hFJoBg5odc!rYqGq`er zL`^-v9`jEv1U>GMz``K5{=JoCwDJGlO7b&Q4F)$s#sP!Ca+yR8e9F-vwj%zi9@|Rv zG^?44js=b8Ksje0QWEfc%58dfG6LY84ZvI;26k~@I~e}QUK8rtzv?2m*g_hbWyZZ< zUUy_7;;G;jzN~E82!?^MF$d?t)B3bUfmpE=k2h73|P85d&7qM*qqc zgXymViBYetqS@(8tN2it}W3%PH%L!#9CrH)}xHxvVaj2sz-m zC_@DW$UbJs+kw2!Ruydy#*dhUwCC(v1bexp9`hmEj-YRQZkFbCHH~V+=+%%(ljdK= zPX&|7)3MeDEB4>PVBP;P#t=Ek{Gn{nnpM?P%21(#aIq-l+M4J1?Ew%Ixni~GX#n~Y znZli%u)^)SOWtS4mfAzSWuI&zn+c%GP}TR6o2*?Ie$w81xf%McT+$RU-B$f~@~ox7 zBA7v$>2Uxo3MwNx(vf9OV~``7p@Q7NH8V0mN}6<03SvyFTcjHnui$M2TLci@r8k5~ zL(^r4*$E&ia6Y>i4sAncC^NuL-O2(Qs|q+h9;EC)e`XxNa_skd!K%6m3V7;>gV9CDG%QBPM_udm*j z=6I+*nte3(!N(7%L5h9Ph9dq)G5!1hH%3LBrR7HFqy>Vy63wH=-r65_IOHHL>Di$4 z^e<(DSJnrLZ0E&e%Ef-?T8{sTjBqWTUeqN^={ANpytO9J+Rj*eehJAFNknsdgIQ$g)pDOIV# zWN;*xO>XC{nFN#K-L+2C={kt7wC08mK^e3Qg5 z!82=VSH`-7^XO991@ZOGW)6O$e&(G&{Dp(@oS;WlM72&wy7^mJvGE-Dy&9TM+2!^s-kbD{x@F0yVALM|uCh4*NjV@r0doPdwe??=q#IvIYiAqRz{ z!wXH@n-2A0mrh1LLl$ta6VgN*7H!F5291)+m=g3zQRfLX*p#RIIhc1nNU#}Roc&^P zL8VT3v9AtLHJDNF5FI4-^z7vD(a6Pu9rm}Q@^vS?E5;ND%4%+1YyXKmT~Vpu@+@6z zAM&Qu(^Z0?Pw(0OoMqXOfajH1=JtU%q_*wR#ORrvSGJ!WoDp?#tF3uPLug;X!00SD zp(I&h9uI@#b~kl!a6$caXej;vV(-19n(Vf9aXX@7L_rXQsDLO4D1s;ovC%|~2#D0E z2ndKsZy`|-kQxO60Ra`HNQp?38tF}>6N(T*?S{tyWdAi&nFS=<&H_pNusQ;5GvLrri7oEyww(R8kgiY&c3~^%r#PN>s*&4g>tP1b zVFt_g-~c_(zPthYq>6a9ku8jjGfPWAL`Nz{ag(c3@VmK$!sQ~gXhD?`GsoSl88mWi z$^bKV(qiCAsq-^zUq(P(Pi3CIiH8oi?QATga|~ICsZ|%MOH9;1=%LU)ayt7_O2e*B zZi3r#KGcwWqHHK2^Gen)Smr?pwHi(g@v5zZd9qc!RIYA|Dd=_ISKICMb{;qie5jk8 z3*f{oKs~&jz6hBSf`Tww&d z_V$rj0x?ABH=K_^K1NAkbl)f$&U*ZY-{Z@LWMY>3B(L0>+>Fc@qnFO>Cz0d?UCP;7 zvaBJQqb?KNsCi4r)BM*To2FMT!a_*f(W0P@fxcJVy|UizEklj_{h}rhDu(KA^$$jP z(ec25|0A2%3>+_{x(p&mS=wLOH-Z&}6ZREyUDb2wb}GFJycswA#~c{r1fA1Nplwux z75BCWMwogr?qn{v`udn8$2u7BhLBnPKQG;JzhGWItm8D}o(zKN=-t7fh6g?^_y`#4 zi`WSb;DWu32KoHZK57Q%ojHOg4{YW6Y-!Mj9RTeX^lea5;j$2;vG!ZZ&+G%Eta`~; zB$jZV$`$E4&~{s$;`xPFD8v&exA9EbK_vHiDhNqdiG3^{&hsaP`9TDCn{hMz zKl(H&;*U+PA6L1s&&`MlSKK;o4h?FRvnl3j~fpF}`GMQd@jFy`?pz|8)tfrmm& znI+IJIdI>`LD=~gESJw=Rv`$!qKCe?(d!$<-CvlGT2jJTwGbw-VDu8K#5A07BKXy% zVTa3D?fLgU8> z3~)Wg5Axwv1%3}4J=S-O427IoxU1sC5cJD6isbf*M8ISTDQnG5*ujERHWxoLg+75S zt`@-01#*BK)@g1!$Lz_Dm0}%MIn!iPle#hSJ9dpCL#l0w9pd zH#c4=clcuyFKY47nBH~V8S8I7PhID%{ZjA=_8>et(74;z+L~>9Qe(Dm?jZnn;BII(Z zo%R(h+WZnw9|=xn>)d6=2?8fPSqRk9>EgJ2vONET&pT5&H&qy@3G^=&?hsi2_&30t ziC^#`a1sO?xvv(1&#F9;Lb-)x?(`~wN=<;SUUuI)mZ>C*WAlR@pzY8Mnrf%4?4vqy zT?!yqV?G332FhO5ssy>BHzO#B2aHhgW4Uk{p+{6!KIEWwLsGp}Iw_j@iHJvg^2HW)4l#5{DVAyh+zb5Qo+XBGOFlnESo?vDse73>~R zB3MCSsoq#KUBwS5Kzbywq?Z+-$f(MLRmOrGZx-Pv*8#9`-uS^NT7PpQdA$B-gW!Mo z-sT3VV*s&*W6s0f{1gjVLVRF-*>g!EeoqjzsjAo1;wa_i9dm>H&jJj-CUm>*30#$U z)XbS5hYw_oJwj~1WHBZuU2m$kn%k|#*J36Ue?Ru1Gu`CvKF<>D4casP7;`@R+s3hx zBxOjed0Oyj;IC)j6Ml6R#&8xuX;CGGgKfZ=WBc1O0ZiwEaJa9v=*%OALN-Dd?-H!f zr&9@wj+u zJr^0o!TeAG_P68jl8lWAdxZ!eg?a?`n zw`EYUF$ilVI=p}JocSQ*>U8@}zh;r);W)}EEwZ`M$(G3d5vrkG)BUu^cQeA;&Ul5w z62yNISHA%#-)s3tB5V=f?=;3&H9VwXn*v{N+3k&>-2mDm9$gkr~Ryt2- zd=z40(V~hNdmgXQdyiU`yC`E#7|}t$#j}#I4GK&Ife%a6h0mL3EUtsh-d12h?k75N z4@tRWg$WZ7M;R1;oxdte@DXFqnPuE@eUw$m1hUdhJ$@b`bf)th}PYh z%`q5z8{nOQ=`5>b060=|x(-g`1!k~Q4|N7PZkaJt1mFjRCb}A&ETdrc{Zrwfg+&Az6V6!u%& z>3)Pj-c^dx(EG28mcN{Wa;S=5QkQ14R?HRNJ+OM75#(x4_i-Oi2Cmb#d2qd*0KVua zC_rz`hyz6wg@upQ1J@XK)LnE7;^K08$@i|2&Vwz=o_noBs*lENo)Pt2!)IJNz`o9q zsCSurHtS(pr|@~!b?#2l1pg;*=S}ylA6X@9+2@S!HuVZV-!RvD=e)6E&7B_&5jR3^ zEnfp|c45+WPD5K94{n{hI+!DJXK(p_#jK;O9s7%(Fj{8N7r5ov!qtgEb9-k!SvLd0 zuFbOWk8j$0?NYubM<7BlswA&G#-Y7&PI9eHT4o{5SD4v1u)8|Jjt!q7*-&XO@G=ja z*676#FBU44OOp=3TFRN9^7U)nCQ1Mr6|yjWsyN*~u3|1r;rb$z@PkDQomA&xgnN~c z6@odJ+pEmV1=!bYbDCEGqJzseHb$L1|6Qkk3D z2y8B@KrS!QL8`a*L^FRw;5*z85r!grYza5Q)8{x$2AnEdpHiSu z=jf_SL?0u60!J2XtBKHMEV&$<7&CFrV3Uyn+Yum7LCfH5 z`h=2(V8MTE63)we;>2O0h(A+2ORKRp@3?uu{R0}W3}bK_HVgdAI~x)~wVvRd=~Mt4 zl?R*&;rf6oNCH^O^(rI>4uj5Uol}AQ6y~SImtEV7$_aywqebDC$BFA|&+Oi4XHKyV za0bPqkz2}`xWWU^VPalKh(yx2<$7U^97npCiWoT9MLU$xuK!}MzC6ES{w=n)`-5an z=U<8#ZSDtxeT2bSW9|lX3t#rJqYb)(nCfvz?*yG93hpG|%m%{frzvkA&+{^sMy}0+{jITRLLFqi$ zKzJqrfS3p&VZep_su2h35mwdw&HzJd1J3o@9>fB_HJHCPbUR8f2->E$_X6i8KqdNL z1N3gwf5z)ylpRqLL?WD`iDIhq`9gK`Dcn;9d1w?x(okIz6A!}mRonZ2KkB>`7GtPY z*kF)jHLKmP1-zskA9J_-XPmpp~JrKwZAi24SuXJhUn z?g|9mZn?7U5&uXM3YcfCm@;ykS5SAY<*}-$=~|(v9Fyd$je640XOP;f5v|>aB;HRi zxgUKic*Otwu_`n8i>!dGW;ufay866K+v6!EZ*rW3)xzz9{U-R{56}uE`R` zC9zikw#6$ulA3d}XYrtGs|OC8sQ$LvN^o(sCZ)G_k*yHbR$lVvR1-K$;DRmKYL$n6 zuC#YV<=MB;vQF9e=0(YZIz+S@in5)~If^I>Zus83(pf0?bWV9TpcK#)DEl4EAYQHX zrJf4AY~W00hyEIX<&B>`4Tv2=t2y&_yNWJmMqW(wnqE`^j$H_F%wXXE`exjfLNRP- z9`k{5!%u>EXO-B7Ed-dc^ee;y0uD8!ZeXho5ECIY2-@ikD7xJUfrD|~u5@Xgu>~?_ ziCDVXADfWMAjsRs2Dl}gOt0bkbT^1gm2@o~@5OWqAO#|q;ZXrcj=f*m*=X8T0O$#N z1a>YU7$h+1;GC@yL)8h90=5I8*oK* zh}va)s2v!!uHoDSbN2#UqnCQ^Xm=#u^^4P^3)=i4$>iFW(5fi#H;_bNd=SuCQ3`IaXeD_MXYy0f#$J5APg* zCKsKec{<#4m&5WL!vW&$&4KNJIv@##UzW@%R=CTML=3a4(|*YVcG;j!(kByN>hSBQ z!lI#%WR4y3{)Wx#*ud*KHC(_nnv}YWU1x&G|AYge<%|}JAO@>8fsP7>zkwiF9Wc)B zQYCMJOW}7tfGW6vJwUKQ1SYF9D&ci0`v&cCd5uyPp%hY~vkhMrs)>g!p;n?g=1g4-jRFiDJMzU76;6$)L$A7
4HQd(BDIzDi`A?elc(({N2KQ#a$A7ZP6;PfJRTGi#)KsUfyMLfa>KxaER zDrxf`rsZZ{1~)})5{~tl?D`@6b&vDv;p8IXE{3VQkv1v!$BHkWZv^0`J4rhdGis-P z4>7zIdbKQy>B;DK>+0rCmT)#7)F&>=fKw#uEcyGC^lq^Y6ZPY6cZu{Vovw(wcG%a( z=9%G+kXx4@UW4D@iZZN5+h9LXutL)I8U7n(x1u-u56ergiawAezgwS-@P>yFtP}>u z&8SLcy^SwMMs!0=O%`+3Wnaln*jzXtVZKegxe#_E)GI;mmf(TOr=#dr@L-=(CWqr* zaa^hDb9@PR<5H8(-~8?LCQ15@F}F967wiEC;Oaa?1jM2Wr5hFvt^i`MU&df&k6A)7tSfBAInq!{0ndw~J44Ci zHGP@}e{9m*UM365j;g;X48lj_o-sjH1n53)4+H*U%;_PRE z4zr3TMW}XIrP^o9Z~3^iANPyRfbY2N)UDm(1TQEi;>nF{%`JXJC0{g92_nFS7%x0qIpuVupmeL zXt+xo%{$h1*Twuul}(XglEC}C5ta=kwJUtjwQ?nRsvCb?=#?a8ws zKK1;_lN_;_0@BApBL_M;yGPX&YDBi&Ot8T{DelWwO163_ra0WLJVDxruv#7fU4KVT zB%*pQ2{<~*rz`%BP-Qth&amov*I6v@lk~#H#V5g#YFKK!D`chQnfeWIfe-D<@O7vm zhdP8na`S`2Z$g7H-LP^2dfwcdt#j8}Fs~f4sllA|np&vb3_JV5cnGlz1NS;h&IpvC zkX~>Q4ym*G`K|&N=TASQ1tT4K~0nG z-bqu~T~!ra0x4i;J7EA`5Ds5Nml zoA4*rpq~+SnQZ)0{WRkkVwYFn;FzDfY+XgT*{_H0F@kUR)eiJylvCIjIs6pqYCRQ$ zuN39VwbOImTFM>eWoP#{?KIzio*aSfOI=4=5uu&p5rA;8^ZzeZ`DYrT^dhjY((y1Z zdX~_liuy+qVH)=fVq*0u0DY2Fm|7?+IK2q~m4qJV0JfY!jm7YRO}rDk=rFdtH+r%b zlkoZNeag9rZcQw|aARLNoN+vb^MV7gH;YBY+98Kf?&nYH!rX#~y~cEBl&-Cd_V~o3 zdyf#2jd?_fHv=@+zzSiBzDVv4)7nGJ_oa-Psj#0!zNN7k^X%uSm1R4L1=7+?0@*_Z!J#f42#f~^cG9{!cyp9plYCFRO3KM&R(P>;I3xx z{;|n@TK4jL8(c&uj?k7v+1F^sRE4k#V@hQaQY0rVi(7RsU+P1N`n}yH6PrAx--D%| z-^fXdA+o`;_(>dG?@a2$DSmFkKUyYsw4Tb4y|8NM`H`vxKt}Q z2?LjRw6D6TXkEb;I69yt}{Wd7ZOf&$^n50VOY!_4K2ISN>p&SnjmR zmZV^RLof%366xocv~mY$lh1zj-_hk}!MA^L@P1x~_ay}bdY~>Fz^lztR00>AUW0s= z(mfB>Q8`(|B%@U|gVZakCIaFGu7Q*Tn1-(s*cnFl z!k3wLdkx~mWUu?&&u?Xpcc!K~*AQyzyX;Uys*MpjTb67nRUc*KRV$uEo#1pBk%a6? zgNSd)mrq(B&8l+O^I-RlY~ZYOW$=ER5m^FmFeYuj?BrTl)3Bdm*;baws-DT@SBmCG za##>|Dshaj9y@rZS=4#`m2o+B%p4mR!<|iSVLZ+lnWx@l9cVzUM5?K9n-FW?%J2+n z6z4U-jo2{Y+I+g7XZ#<1iWlOC#*Lw>v)!rCI+C-K{)NM3*`23xXfw>;|yc0i6#Fmz5=l{@g)wteIwnhpbF=^ioaL<1Xyv z5k0^ly+mRw-!kCsNJ80(rTU&3pA^Z@XqGQe9mZPyvFVT(yFo<02!Y#gozOQXRkZqK zdr6B?*fRm!*RlhEMdY(CaVPb?RZGfsAEgiE?FX0GfGcq?;jgR?T!OQkF;4|TLd8l| zn|jxMy$c0*@(5F#o|O?>W#U?dNeI5c`lx~43@|I(!KQDiYNfPuhLn$LbP7T6tE-xOIn||)ar)&^(~i4$cRm5UnrHvs zLH7UN&ap(0JJj~_1Z&G+oNF2XH06B`mS)PXssfR$|K-_4H@uj`9>ToMw_?q;!Q(b? z1`9Hx`JtaW%8pB~03Mn5!{UPo#0HaW_15bD;Xbkmit#e@5C;ax2A(Ob!^(8!|D8=_ z!GidAI^kda{{K3~aH2}hp45-pcIiRRj=?@tzJ*Lz&O@F-#DNzmTrUd**xNVvV!weL z@4=?rV%^LSg;(aM%r$cm%Tc5ljG1xIBmJU7y5$_eKc9Aux6HBno5m)2JkT$jEjWW3 zgj101p(hL!QB~>r&OM)BY9Oc!#CjtZ0$75{&e&<1ikZ%)-8mMdp!R2VAd2~B9G7S~ zQJVo8;jOtex%N3Ur@R+1_^cIrH&R2Uss5gLoqePavSvjn*2KzD1XCCjL)SoC+KHP# z0=(JaKI^Wjn!1h6@@r${zrphV+8EZN=wCHayKq#Ax$wC^Htn?xo=^jtwjbd8H&&Ui z0_VUogxp$9Snrz$N%m=cPXebHT#z3)>PJEUf-+D)b$A^#o{~+*R%msv|E=ZkkGQ{U z+6t`u{{!|5YefyM8bL&EZiR(Ru~kv>?(5>o78Q?cAr>E#7(q0q67NF8jDfMmN9QK1 zi1_2zpw?THmsxv^Pon&SaZ4Zi7}frj`aDL=<8D9cj}xpFsa4 zmyij-JeLJ|KmYi9e$lkAz4B*pC9^bFuJb+|kVfgjQuJiuMNnUYasxaI2EOhEH&U zAV@G#ZdGpd@h$#)A7A-gN&2wUQQ%(teKCGz?8rVhN9xBG!u*S_4&8z6GhqgIor?!t zC2E($;hWwwx751N)waeKS`VbIj{zd}3-!OjMjO!4zrON|+7B`et`Bny#vI|dhUirT zSb_7br3ZS)X;&TP+7e{jlu3gJM$_MvFJkw*9XhwpmYkYjSqZTD-sVYbVu(E`UnpzH z{$iCepj0Y^K&n_f9+vZV}e3I#{5qP&-TjGI~0i{#PAC48dQ>PITp*ydk{rXi-? z8S|&*Y@hj+B@va{+;c>B`tluL+)o)T3;xzKE^PRl_EX)w@Dj$^B^lY(YzuC&x+3U4 z<;-xs*?!F-<19bWRej_$4ld4VJTLdVIr?fn#jowj$warx%PCddyv`j z_MXtsIrgCag;4w#`&f^Y;Y+38?=?=<8BfHPQl-a^7ksxLxk!~-DKYxqo8it0dsrHu z7G)x$W0BN986T;`arksWlx@J->usC8(9J>i$+?bu)`&?wt7JrzU$@eu#BN=9?{`?@PT}seGoKLk=+d<%?d^B!QGQRGTa|+W2 zJ(-Sm48z)!B>hzKFuzj-m+10IpBO0Qwa&ntt|r96I43ZSO)1-$+lhe!RZEg=wJgmlcPz!-ZX3_QrLV5l&;Bc z=gPk6!7mr_a^~5sVOa>mrJO}(0$#&SlOI=;^FSslu5JnJX#LIq#zp?ipL(_q?%vOi z6qdw}Y0e(jHo=X`=5=89aSZ!tNeX0ANQUODG|jLT&ZV^ot!KR*hlliM*4$wj{gMx* zRr1jE7|UNAZ744N4a4Ge{SqA9Xz#thcW4!2B)S$AIqmndsYV(_nq<7jh@0XeHS?9m z2dNdE-G}$em|aPc??gFzVQIYidbznAo$rb4&H+1JarN-7bJ*pC#X?wr^e8v7k5EoM zo>{xhyBwvAxN_KDYubFJ?Q8x3X~M1XM18BfQ#_NTfk_2jVIMJsQWwvGezZ9@)^o&y zHrJHQH~pBHp&2-=g6E^7s)B!oT1L!_qg&=fL_(%=`>CZU#(m&XR?I|d8F37Bsenqh zVs?en{%XBps|E$i$~w?tGN1!4=CwmH2v8R2RJ_R$4G}cB;9KVRZL=MKD?^EM-=2Tj zB)s*50O)4Blri8BRgI@#5LBk>5$2~bPT;Z>8N->5Y>S|c&^1jX>D{2=j{-8&l%ckCv6IQafiF1I18qwYdm3YHUaFXTjeJMHjtx z((H_otN0Fh7-2<+11#!&-FEK2^`)tmq8s|FgfZOn(U}VmsP3qh&va=3)G)^(UJzd$ zT^7U=i%OtCDW46VU1S+HvPw#4G=|dC*A`NXlxt}Um-uzXA~jF8ZKEa()U%3Hjk&&N z*qJ-V2)10!6Rbmd_Jx7F+EYEps?WE|b6zmvEg6DWlWwd}O6A;fSW<3r?hil5qmZFD zc=r9SPJl^>xI{87%`Ufs}5c{p3>6!yIlfC08K6D~RhW2C;v7dP^)l&4%i z)(jcp$4~MT?q`}7D07sinK44LmxhXLwQ+2$%_dA{JG~SxbyRa1J60R8_*zEKk7Gq%4imwYjEDKo zD8F!b!YuogKYFA81GdH;0FtEZ(pm`>B*ngSB?glxtSXat_)o-)8z;4lER#sreY7|N zvd|40aOUmxifViv~{jD}pQF3n!+>Xi-|og}?m5m=*T-4Em2v*Opw6 z%){ecD^`j;_Mi1yebanayihc^66#h#9wep5Koh3<+AOc0WA>Qi0M^v#C(??tmn~EQ zR&qxlK!faY`#>OwX&E`#DG|MYKDJN0H922nmv$q>=Et}bzR|v;l`fVr-@{E==~nT^ z^TG`y#og2kNQN}cpM|RfjClH{rZVf4*vMh@Y~r#l(f<5~wq39I=_;s|5}B1X?bM%R zlcJu;pU5(f1>|gTsDW{GZ|X6}M6>d!nWzi>u-Jgvm4onQV+*!63Tw;RNi}3Pa22&d z@R}FU3LK*OI8lUSq{HVfHSeeMjkI?6Ygj4ry zGrAzJGk?4g-DQTj?x)9ogl#VIik@`~fsyE=t zPM9F5*f+FyIHnAE{=^by(<yl+ zjS|gl%)k2znE2kAPUyHOM`1UU6YCPr8bs)&Yon}P9x z0dg`?7BQ{tQuXWZZHcG$Vlo6L36xv9p6y{z+kx+SE!;PSbbyOc zB?q%(ut4T>7@y}EHw5|*Mg3gvk3)tTQ(<*{GT3$FK7=inZZToN5}^!a#CF&C1O>R9 zYdx5~djXo4xrt*f;<4Nph=~tgtx#zrID#xId}-00;C!f3^-8Fd?{&PAciUs=^!{*P zGy{J(93P&=GpMknt}CXK6U}Gg<{AcQ(>Gb5hE*5blqV1__62JuH4U$USLK34>%=ez zS1OaGa-ho{Z04=kOGu~n=8>i5XLdDvhSVe)qY_apX?O$Z`_zD{VUdJTs3F#nCr^GZWr z`sP?%+(4JZB_K_i2~{!RBj+Q%cWyUx@)x#R=s@nE=(uG-Z>U5A%rktCq+S zQhSd?Ky71G53!UoQ%HE)D3*slL-D{^3-dD}fTM2cpyBnsbGn>xkP3GBszC|%T;pwtQ z_7bNi+rIdjy{g5p6pz5%C9;?GZEdMTH{QJI_P1{n4C(5!|GA>Tu))4WtZga-7~)$% zm^T8+XAD0>^oMCoFGx)lHs@wkl$={VJKTJHrkO|hp>xw=qPvEhuF$LZ-qz=cS@lTS zA6*Gas%P}vb;Q9E-qTJAhMo(d7>X%?9-hsD|9}UXs-omm(k!kki>iDBq}Y&`jc%t5 zzpebXeLP{Dp|3Z7M$V)M>wEmdEtHV^)srBheK@6t6s*3V;qBnf6X-TwWJcHeu5hvC zm*KvO{PSC#Ic*omaJB8b&{w||7E$#AhPA9Ebaph49QzyulhJg2!8A6~uwMMaM%w*k zmanU-X9d&LYu~tdd@J#*ya^A+?Caq0lZ!ggYTLfvYm~k5runRHVSaPr@mM9#xZFtU14?kc@!&PZxr1e56UE`-MzKaOT3%~CyNrKHxSz5IeVU5G z6}^I_)WTOaoJ40m$^uC-VzsgA57@1h&xcmtPn7ud+(7+_lY@|9QCIko;v_5MV6q@xjb&|oIN;>y@TPck>+Nfuezlz zfU*+BxB}>Q#9BDxR2WCL2CYYxrs;H`buwo>Nqlmc-gJvrJ4770-^8LVb00GR^MKdz?haA$dvA-7fc`gK+x|iw&XD!YVz>~mb)z*7cSNYFsV{iP9g4Xg z`Vba$J1}y=`9-@`Keqae!n#BI0BvPAQ!=Wr)ht1D$D8KCWW$?HAJ%R!G)6A;ezsSd z)Ec@{xtMu;*=lAEwEo_;p_ioY%KZ#-vOCbWjE^dj$^?P=GQZ!nPP4*;58 z>|gwa0c#RFB~*a38b>ia5w$3mI0qmlXplIemLbUCyyU~q_yS*j)d{e9=NG=5*!Vuo zR=n|lZg~B5@Th-^|5C$6VE;VY4Ctofy1|A2xLl8-w-Nr>B#Qr*nK}=Sj(2MBec|Bd z{(QmUblp460G`S+9)j11^*;|Ku4VZRs+xH+Cvy)fR-ApUtU+`r5j zTP9S!6vYe}Xw0YL|79@vpB{-j%}Bt{g|N!=Uk~8FJ6?cXIMK8Xw@LLR2{YS zD!ELRFUm3>v2(F&=cBwjmf9*17*x-5;U(;ro-bExx|)VB@a|-?cQefz7E8B!sE$jz zF5kHKrR$cwDc@Duk5ZuR-{jvCgBUxsH!<&$9yPiyp{@4m*||Gu=xP2`Z)aRJzXm3j zIEks!bs(lC>-~Hg4N>vwGhbG35tzMC~@fKu3cFV}3g!MaiG)fq% zJ^~-SrYE_z_}2{1YEp#VS1=~Bu2x}}u`~#{)fqdSJ6dtZk6zXV_UZX(udq>AV3BU@@X4mziY@-Du^Eyi5*k{gIY}sLxLt6$D^0?WW2L+ z#evgq0id37WM|Dk0P|b^>-P`;H3$EBB z3%6cJVH!Xj_z<7N%bfjj_r@Dcw-Pw4k*fqc^)P@2%BZNJ-O#P^dN^%=FsM@3u%It& zJxReYy5}$~n)Q`)Y47)ewho7YQ+N89)35LFKYiP9{K=yfcj!9dg&1KmbJ5EyRfiU*GCE_-;XN3rJ1Pw3e9Li3h>h z=x6cWAYKR_byJrr33Dd}F4fh&h^BcvAAXMgQIXC%nu}mar$ivgGTh``rPdJ75r(}- z_rx|%g93q<^~5m%Dot3;#?bk8C0V5^MMgcQ1C@pEe1Bfl|EvFog+PKpvhZ>qVZpYS zK%0uDWdiu+XE0RdMw%2;s39=51&Q2nRtfaG3)2f<@dh9V@mC@z6`zk|PhjUsbLa)a zFp2RCNc(7fes}2sIl_B~$W)8jo$>sTS{(PVgYBP4cA$dIKhzFo&$yOupIPd6@vf0o zWQgQb7<4J?9)hBWU~XlUL*;|m8AYN{;dC=9HidbnyR|jm2NZJtFR<~xQ{gMJsdGRn z%S|7wfb1EkMq5oEAvM*TKT>iVO9*4et`Yn3?YBtLq(m`Odiq{#{?^c z$S-Z%tqW7nb-x$8WS+~{SCqVP; zRx|#q;j;^$2uB}K4QG0@4n3Xt>30^ovx7uCtIJ8K>c@keM3}f_6(xAl0`C=fGjznP zQpG&s-W{^8W}_s!T3gb!KXh&RC82N{SD{ZmdzG^E@w1o5MT=XItatKmyO*Ik{Zcyb zo?||AzPk^gvRi5A^sl_EH~4(A#;o)(;h#8vpx}N&o*-0c*91C+UpH8iewV`CX#@{J zt-Rjt#1>H^a7*y_xusRYbID4SqTpBPi;w9(v9Bzwi*a!Y!_TE3L&xuYcz)q%V%Cq` z-p5_|AQz8Y2RVC&FBpC{(Qx?bPAV+nB+x-2i69($88Zq03gbkfM8Tp&azFG=`rzx~ zVdCd0MfjR{xj;afHxo`Rkaa(Qwfvx_^z&U=(px_^H#q#pK1$)4hjvh~xC+GBMF}U* zJ(fN~7~EqgV16knI?Ne+IMSCq7ci2VM&yy#q)+}hKbecy^NYZ<)HT%JeWgj(QY zXcYD0nDW#M{47hZvZyLfYOpALe`=h`!^^zh!dClLp4NnqZ#8wdeudg~CGKHX1AiL5 zbTZ{Diu2xjnj0Vw>Z09iFx`VDouE?U+m9{T$J2>dd@*ahTC-A~*nj#OoFgE51C--v zFZW_B3~mHH?4N6~R76OkepL$h6h9sxkv^P?-sP9(iIEGO1Y7c1|F=D_K9+dU;Er2a zp|ik%C1F>tfiQOgfq+8%i`4fr9>NYm4XRFoOYl|;-5XJo(U3PGVIg8UXcu-Dv$0nE z3?rX%Y}$YlHJfEGKPB1dY2S79b*BC)`LrEPyE|S#JC9dYf(mXFi}Sg$9Ebk87l!jK?hG9yC8oUWK`!%Qjt>ixZ2UGjxv&2(2 z1%5XKi@L|+ZlHKx0~6VqEp4{__yohaL4BCz%Esq|3wPs@RK^8=CR^tPlfNHB zxLb8kKUGgRNSNX%j3IXoVulmqLaL6n@9~ktzbZPJC*ok6BpCN=pZ}|zM%d(dK!;6L z1-uCHL;nYLY#gdqA#iLegEa*t1hQO`|_y@6VGw@r3BxGX*$R@yUVB_lbsT~uKI{_ zl!g12&vhv5c)$&G8&22L)MW~#j%a)-nfel%v698A5`nKQ-C-gan>~Ne6983d(4d}h z5ITzpa#uT`)m_-zZBw>oz}l`P`^ctp^)svDK-q1M3OL_&gn~d|K@)WuNT<}}g>qs8 zi-jg15}UVs+Sna42#*=}yyRT(Yvj$yL)k6W#&}paZj@iW-zaDP8_(hYR4aJ`#lY5x z`_^5`s&($Jy;^&G$^@U^b`-#es!fy`IT)UqWbwV9#*O=8EncoX3{p9DnPzv4Ghd(( z7Auor@yq;4RP8M;t~~+BJB>0Zp8!d04b%e~f6_^ZeyNz|WC!HTN4N1e-s_Zjg&m)j z@;hVc%Rb4l<4CYCFfLw=l@REdJ)`G*NciNbfrQI`wM{jZyQ*M^3SET0jyau{vF`lf5EW&@9%9iG5ri* zdCa17{RXhJH{F+&|E%9QSBZ8OBg4 z2|FvW&hkUOLr`uZnE%`ye)4QPJ!Xb*&hI!9TH<1_gT#|pV~*e|j3bDH^awg2z4!@) z8#;N}vvYr?;5ZbAt?XXEaE7$hy@t5BF*U9ef18@mz^sFiW5tD@LX$TK-uaB|nk7LM z$ddp0%_=R`KQ{R?CFT@U=uR6#q7%tL5L96E#x=Mav4s{^(`Uah{B%))CVu+I;@hE1 z`w1847qJXkS~gIfIu`^^Vnm4xfJd$)K&!eF`21#a>&viZ*GX3$lmO8ItTM~^=|Ie9 zY&Bv5s%0PZQdK2qQ;g`+`69e+SA zZs}OXADc9Nn2OxBl(;#JIp<+F;hVa=SBB0|$%5+SB%qJnn&-+U;%{>cm6jI>gQ<-N zhdh`G<-e_lc7B`DRsHRZzs+NDyC14C)EOrbn3T#e?xUk`%-_K&t4$I3!)+KKqg|igj<9ZC0 zZu2Z2$AKoHX{K|hv0utx97obkuE9Ebzl;*Bht1edG*^n|Co@;|7j}mu=4SV&!r8NW zo<+<>?UlC1eEPmPCByPS0sT9-|Kv?rMcUUo!yKrb=s{>iVC>=)bLX|3C7`PROULK zgY#9~Xd$^zb*BZwI@5L`Oc&Q+13cq-p9|Z`iE7HCsg`rEF`v#oM99?KOWLU~hkX=KegEUs)8tEEoGe z7Q~FU(M;n@1(zf-q$#&X+4|N6j8<)-@eC2b0}l!QgP3k_aYD8gen?sF0}#}Txv??I zdCtDhVs13K;mz@p6i1jRllgNX&)fFA`?n`Ekvgw@3vn&1VQ?M(71nu+P%S04H0vpw zVAXAth@iJ5a2+}>iIL@Y!}~D@JKcr}o(rbv+vBrE8jj#X+9!j@+-i?O_9-uzR%F16 zDH)Hm#47;R*uFWht zJ(R`rkHng?K7~%jT8G6AaU$PMdTDcUKPkgJG!2Ge`l2GkbXwnihF0Dq-)6HQqRk=h@Kj*tp_Zz0z=Fs{@UBYwcDyR9958CyK^}a z>MbK(3e4$kvLeuBql6PVdbEEx3;$*w{_&^7rq;r6|I=5NZ-I25BI5w1pnlMHQSh^R zDmmgVNw<6b&?EMvzR0hO5$35*62el(;-!M?*gCdDSbI>_vBJV2ojiG^u*|Vg<=RrUotO{N{u7W-Of1PGlccYU-eu#N=6)DINhU4CLf_d zpFii;9UMDYQRMaV<=F|oAGU`;Z}SL-%DApV2vC)0JdJLa`dx+2?{A&_ZTi!A?|jp5 zeDnF~Q<`T`xAjf2j}2M1IZ;H-GGY0{wU?@dPwEWH&zUJL0c<3LB1D$PRp?S}NR27` zKa_`FJQ+I;9p|CbT|RIJU(S6=J2|oW`KH6~eS;VIDO7byj%wod$j7 zm8*1|vbk%$u}dtNrSLw&p>|0)+N0NkbWUY+va@CV7%tef(H|6I4K44OJ!oKG*2{TQ z+5a^#O+n&kIOG3g@4cg%+Pb}Atk_Wjks1}0CZGb+iHd-LfHY}BL_`DxRHTPQQ9x=0 z1e6w)UZYg0kq*+Nh8`d^sR<&wZc!o^zh(yZ4U!-FJ+4eB=DV2x&Weuf5iq zbN=RU{wB-)fbgBO)zXbmthdyijV@&wG>vKr`zhk3Ll4%SL@GO4q^3@D?H=$1+K`8y+*cp_moMkuC8RNcC1w07Y8B|~L zF-lX2d*^|93v_^NLL0W+nGJ*10!yURgIbBsWu;oepPR*F!W^ED>vq^y)AZyoPHA=~wwChV*|D0K zwJ_&2?cX-vu(JXgTLlU($rz%?Cbz$gzQC#wYOJ-bJFIST@)_vcm?Q+$b(vH(@Cw??52#!nn_OM=GBv&v3_-Qo>8tPpVF_c-p@>*5yN?=WFNT zikV$}w((T#kmW=v<2;T9Z9k-QNHHx8|L}9H!D?*HVcuiSxA~dZlKbY0Oj>yj=t>VK zz62;^*kHL?rDx4Y^M{u`I>b+V-slNh=E{=fl^w>(+LZzuAJvBdDQEGI) zFz7Swz}TRkQA}=G(qe_+EPNoNHu)^rqQfgqpXAT+L?j&UKJ{WbFZt}-U_M4#kn*uR zn@eBFEA`t=4LVj%b;)yD#PC-4m{R zD;%4KRMEaklhpSnBJW`B%ie`HrG_Rse3C zt=sW5VSd^7ougR5J_EgZQK>RB5P!S`aq9n;&B8^Z$3J0L4P;>SJuoIu-$ox2#1(ru z0RJ%<*v0`7;KKLgjD&%!j%nLMT>!@QI@5LwtK6l|xzR+LKxhLm3$R9~R3>rT)Dl3( zNX5nH`~-U8us^Ef*2JUBI;Xc%=Hx9QO%4=#TSqnLS2mDs=y&J!A5QFl^Kox;2&F(V z@b*bN!BZGDgc!q`8S+fm$r@_{wxJ_|ahGH;8CI6wKQy#D&e)y$gjs$=wC>xm<1FUc z5UHpc&^?C~7G6}Mu(q9npP<>rDW8z`N3)&pK~Dss&Y*t`PGIQEBydAbM|(~6sj-6i zaY_2E+VeH=Sq}k=nVA|gP(lgnJY^``3jJ|y4 zE9^M*0}zUy@z>p=3Zh(-dB~YiB$ufDhJ@xUi zpIaH1d9IV-YL^<>X081ufr3S6-JBd78*Nv8+>{@&qz0TZG1UAi~GaG1DMbr;6%Pie-J|^89(1>PEQ8PE)K` zXoJ96%B~ecrF!;!n4VU3b<|UR#^G>hzI?y?`XyGFAy;;!5fHN(t+S>DO*qTOWm`F2 z&>&t(Th;a648}VV2ZyhZ6f(35%Oicx1|&6ftfXjiBiaa4XE}49es}V|5)(_>gX^p6bgIeitQ4*3whDYTlsAQH};>>d~S3RR^ z&-*N*wsz<+Uc(H8W~9Cek>iRkDu&ul%0lbGTj;rGA;L)N8h zj*HKsX@d6)bm@j({^qF;LawYMvG$LmP=ofpo482v1q@A4ijlMz7~XsColvZK@4Zhk z`^}HQj>B&PY+Nzo4?4n6+e6%qsW*AIx{@b$AW2KNw}G6bJUK*@mj-=fL( z4uBEsG&d%-d#qS+Gli7$yzNsSj}d~p7y9rGuO=5H4^Z_HQ%J z=H1v)!S6YyIuy;|qT#cJJ(cP?=EF@Ij7)Z z%jMM-4`in8AWb%a^5Vn5F78UelkEWN&Z)^b2T6llh_?pU`j*Hr@r04v@jU1`Z8%LD zIFzI!blqhJxayB!^B?a3qY}}}wBN;`(7Vuv?eN)A{qp~rqjvq<5MSLm-vjye(o-LU zs>TFbCltu^1+Bl0&=g~Itt$z>&AYL};MN8DET#b4`VYqxW)4V!%BXeN|ND6&^nMvE zunn3=H>#QTt!%IfnQbAQ%Dj=4%oHV0_ONk#0sl%Th`W@e&)lyGPQ(Mt@Th*ldY{GqAT@vAzjktV?x{D?DB6cx0k|Pt-mg8;FK=oUd0}8O#C#KAnVt)c>m-b zq_o)6oc);#gLcH!>#hNsg0DOKLY#ZdBb*Oy#A8|}o`AN$YtA0Lx%^9Y0qY224cEVMsM=;3u5 zewZg{@g)6cMhcf$RVO<$AKIl$N%q_8i#S@B(wZVstEBbt!CI^u_pZP@cRy|~`mo5Y9tLd;Too> zTRvaVo-to?Dla+1dOSg#rvG zKCYcO6|E^ey4(I$ll4Xi)Pmn9sd~gq$*@b(eW3V3uN2gKHe#UmsJCOnWAnmIH>}Tw zqZp@owoB4Ff6Ov+V*)=|0GQg$Od(pa{p7HFpsvLX<0sKZsiZ^bNWvxwvXGN!h_jL8 z7T;%jEs##+ki06Lo$LhCo<)b=?s-3?l9>}ecDHkMeFbr=%OcmxPSRV|oXd;UlT8%&$*Q4{@3QtM<%LuDqdkFpSooj1ho*p$Og12L(@JaOGhRj4sh;hV zaW4;C>^Sc-c1+ah$msBmj!S51gt2K8nrytXb&w_neFfHH?w0A7H;vM5qFLg3=yP6M z>uHCoT_ij8+Xa5oc@}u`@$}0y*V_bH-aHLx+{&9^YWQ9#+Ii&rrKaeBTdL1ZGflrC z_M#o($B>FN=X9E4Qyq`hbaleaVzT%BBlKx+y(=XDDHLZfy6%xz1@x+l3;KfNX6fu$Qr7aS^Yg8`p0Js%D6P58l8m9^Z)S`~G)v#fX2wOQNxHeLgR5#| z>?dwd?$SqtQSUmI6(_5KISU-1cry3iZLOU3Z|_ZP_?c{!`+CE&jZGU6Q z6!laH4NpBy3n#4{Lv``oj=_1g-s#P?D=D)tslZ2>4ZJq;yCY!2PNznxNKG?^%pzWPE_4j<`Kk}A;c--xD=#2h_>o3-lYBbP_JSX387F~>m zCi)+?;q z79u;P3WfzrC}`r&m{S3~Pt|y^w?6QI!-S8&7${WZy*RJ!?{H#h^^H zbn@a3l{psW6XhT2ywvyd{J+2P(B_hNAcq9OqYK-S3T)`j!-Gxo3p!yN;Q!FY65`ql z7n3Y%8z?gT?8zCd$t^K$k)84rftN=j&y;3oauld@B(@w^Rdl)KuzqXjnQRf0TiJ>% z@@c08euc%E@nfU!3a@etXNib`vp!o|di&64jeT?14#fT;X#QgW4gTK+fd00i$wS&4O|JDRWpen!862g+zs$wIMija>wVO5# z&19t$ua$TXB{ejBRvf&ev05nAI_xjMWDX;@;*0bdpa=lCkTbZavch)sjZHx%Z+-;h zLUJD9x(RfGU|j-u!oNIN_CEYv3ed3|Ps7ueo?`#>9^(!+OfHdtp8!eei22~GU=xq6*U%$7LpPlB76CU789!we1hy1xl{KquQQLXSo z{>@r=aNcAEhHH2}v;X*zU$WBP*VBVXmKr*BlP-=`hvC4)9Z!byGAv1mqmI^lD6yZ0 zQu|BJQ5(0B-Zds&0>Y<|Aey=$JTpj_gC^Pi8zImI20Io8U@GP7taRm)`eu(wvrLA z>rH3Vi%Q)_S}8>jyQUNRXUB?6YY=3jfGpTC*slUv>|lIjwj;I_Tkmj2+-8F9(C|e* znOg71evgGL)Dn^Xrb#q=!i!$~oTx)Kfb%g5y-HFTr} zSa#y2(9W391qzzPQ63TBCc}SD+CFu!Vfyt$IybM*S(P>I7P;lU_cKZw=?c2P>Kvt2 z)EDaB3onydxPR0ltK;g$bh*fZ>PZ!+PVvFkg3cVcgPb=?GbW-q)*pP>91 zcZC_tIEp&WK$1HH#@HotH(O=NO|S={n^FG0cDHbS0p3i%4N#N$g=XluJikuRH;BQGf%I8x@f#gzQZNfCB(q^=Hz6 zDA3fwsc#kj1jFpPuzd>LphlIuxOeFBT=c5*wmvib#BVIyy6y;l(>6HyHhk+cQy6Lt zMKjNp=Z{n{m$6wb5ugnX_9IZl;4mG=p89=!zzy6Dg6rtGN-)Qt&i=-tc@^<#W2@_5 zzPzeHpc7kQ25&*9(O>N$a6;?;03c-R05wTsGkMg`A((EDK|#FBivtDQH~!Hk@B*O_ zU30}9v4kEPZYU6UiRd?zIO^l=LCImG&&hhV`}OZt{_5z|0^<*hyL`s=m%i7$f+?4m%fz?U-c`#lceCe}wDwcHCNqEr4 z=rFoa*2$@AEcs6M)-ULTs*UGxqN+`}YvjanaZZl-_FHXg_8#pAf4-Wv9`*^n6_Hx}{-8wtFJs-pOM5_Dd zAptD3JG!sBi;SrEk-luvWVQBf-TZDCTmL!6!u&i9iS&MA!iAm9qMj6Wv-!XPQ$Jri z^RK}oBZZldpPE$$>({0Q=u(KS#jm>#EkJs1O)x4Sprl{JDd5UJGDLg?$0@KzP(2S8 zQr^vLe*)UYjkG8yveNGkROOzp;xoU7fVM@k{n7ZVIquRNC+=n+WdCtwqcoK!-N=(q zT*U8Rh^r{~OVEqG$-JDE|5At6MbW=$Rqh(Tp>r`Jc3BYMb60Y(WIP0rx-K0G8?-0> zyI$$_>P<-Fi?L$qrqr5XH)*J{QH6)X4qB;3)6XHjt7}~MNMyq% z%laft*N>lIiYJ14Wl)Tn0fiu5qsiyNZgCKxRQgN~{88XJnCIGUG!fiOd@7|Wyq z+x9viTcfH-Mu%?V0+E^-^M=&Q_{W|WqAJ_;vysRkUgG_uUg#(LWz)K?aNA>d*j^%v~y5;YjY!G{V5y$&n-zp-b zSD=q*BvMP))JP<%;Oqfd|5WV)t~py<{4KrT+cuCZ-r=}B$*^O2z+_jHmdc(d{b(-K z$x)|WIxm|n1V;+@7*LA`>d8CHwzRf+RzZWzxG>kE&VzH%v7T8k+kOF^(0GK+1%v`J@*v?@%kXE!O6T{6CvN(=m^L969{$3G^w$62u$cX4XoTnYwT_*V@6yyY_ zQ$XhE*d6^a6w4g;SdkxlgWUE8GqH>2(S7XDv5$tw&%ccBRKUfdc6zB2nusT4aQm&t zbRG7l%(})OJ(%7s^yaRBf(R?gB(RlilBJDYt@MQQrgR@!pGzbOn5;N6@6fa1q4*<+ z+Dl#^m5m-fdyU%@J?d@f%+5K+&g+&`x!wS1n}3Aom&}s(45Wl- zuY1;g=S+_11;xA0ORH=hUx0$q;P5qCD7kjHfeSj_dwwR_+x9}u@k`IcjQNs%jq7$j zr%G04NLmh}Z}WYT$34u-%o+NPr9Y!zm6f9Rf^?XTZd>Q`)+Ye-uFJbCM`Yw{a~+Fs zNE^kzo)`pi_W`e*$mQVS`TRL`MgEe;jpnhGv+@dCU+(B-rK*uxsrLzi!DyAm*ca0! z$rC2#50awJ%JUt~{YIax+(mV#9fLP?9-2pq_969Eg6X!yjYRvksd%gGCBZL`Z?s~b zx;5uMy!*MwC{LkSS4kMqW2^&0PWGs#x^H3RHb+ort4w@TBE6M#Zi?c0Kh* zi!1g+>|IlZU91^tPk@(EeH8s;2`om`x!+hO#Tx(#?0PS|6)k{ld%H5anJ&@h8(DD5 z-OXA2lrnPc9+tK*A5DGB#6Hsx#2$f92=#0*uWh@QXu3}8^N3BnHY_;fVCFdNS zGfAi@l_<|xJ!4kB9F?;##~mNJZiR2cyow&tJY+3XJg3eO)tyC@ zTAC`U-h;9b{y4U_x#8T3ET!13ly8}zP5?yvLbh-G>`i04iYWohRhbrdG*R=X0%b($ zCA*(`&lDm7q$#@dCDiB#|BdA#7z%rvvlh=L~4EL8Q)FQ9Cn2(}~mX#CH$U^@;GxYOh1Q)D*g<%mgWMkteJqo8&E!FEDvsuJL_SehJL*2FuSs0_G?;w*YPg!6b)Rir=Af9g>5bH(U8_~7cZNJaAU1dg^@r)X}SD*(>O=>+OW zag)T?a)<3F?L(!Gl{cI#gvZfNIj5}V3xo{GWHmkf5!C6oWOQ}BfC zhH##`I_C%fKLxaZ&=aTzR4o5X0NwiGM5GGe0Zpgvl8_k09dr#hdTLH~h0dOjUN7h< zqoBV<-l9cr+X1wyJ?X{oP#ot=3U8yT09h{Z9HCMtQ`5nT>j2xOo6IQL`L-uN{PbAP zWnX-on!@SPl4U3}IV*QRd|n*L(h`e1LuJLYBpB@J!w*Z4ufCRFRcZAdhn7(9T=Tro zRZ;9GAAD|eWq9H)eVLKRC5v=2cI-oRSAAE82gg?qVSvgT?)@q)S+d3`I$XXCI!Gaq z;o1*zt?wDSlM0xX%B$I0%bNvqYqBsZ6{Hfb=7BwGCzj!q!L*EHFd3j1HDVzZKHCa{ zSNu3E%h+@p_ooj&gvR zAsKYeQ_w#FAH)E`zSU{K#euK7(pcxMIJf*9KtuOiRvZa$Hkq zsN$a5O4W;1)#0dhi%2eQ(vP@Sw#-xgZWG^Ie53UNJ|t~{ve1A3txp_e~3$} z-ihihhlj`>^kZ%8e>@lec1pM&d5ZyuRg>`d>jTOj zFmC;!TQP*`Uud1%|C%-btN!ml19Sg=|KI8){~m|`^W$LcOQ{$qzN{9%<51|8Ls#>N zEs($uO72D~7!H0bav)d(vj={=G4N8wUCZ&%!auF2!it}=H zW!7}E#8Pj3h<$KYo@J*NHD3sT za-E)7;4xh|aNPxo3?;fe)Dh3fIT0|K<*sn@c$VGdzH_!Tk#iL*0r0}oI$}_@OesY_ zs3VWMa6eLzu0HUrF3ac*hlg+#(rU8v1>$5ScUm<*+e>4$f2^51dA@s|yKRTJBr@*7 zEyd*}#1%k|gF~`TkZ@lwM-HD_(FJl&4>evcc{?F@I-FM6Z)-PM;rv|riwQQhH? z?V{|idio8CzHMaKP1Cy`CZ?(8jjfVlMcx((6!(ewarR&!w*=yL3Y@>4R46x- zd$aLz0!FM0n=y8bf_sHDc_JggOF8#GyT#?>jE+*w+s4%K<2%M5l;)6#v~y@i#F#LU z+C{>*FAxSyCLWwLn|N~MtyOpFl;=ctdC}XU3k(|)+X33GVa#z_kY2a$fNLSMVB+4I z2gze3`AM1E1}8u-4x%UQnH;bq07-9zQ+^jWN3dSqaQo*#wHqF-RBN&3^8|J844 zZkK9q5yxRe?(i5`I*)LDXHa=Z-ro0VUY*w~E6bce57+o$go3!g-SQsishV8j@zSX+ zRAUQP)=YP}bSLZK?bYdfmslR(Xqn~aB+D(vfJ#XI3HUYy-+nvj}nN9FvWu9(-57s}p20x*wO6>Y*2Gqux-HNT?&Jf|G3;FGvIr-ivk zxeWIYoll;eX*gs+Y_!m{eg45dN^2)xW_~uvH9?1RI3oT1sJ%NMNg%TZpXPIXqWrQ) z0^^9?dyvCC05=v%Z~RWl`FJSz(!OQUzE$A@j%S~~pakdPgD^JPB}*k#UE0Wqeb4=y z#O~~iPos1)6AH=z+VtmJmSM@TpxLU_US-1|;X+ZLjn#Vv&j!o0xGf;!d+FW++}#g{ zof>Q2M%43#Y!f$JFl+d4AUZCZWn?nVKV{FA24~Ju<6oH#y6?P+*SJ-;)t9}sH+RwZ zv^uB0b(OC4)vDgq#$hD~;YZtIvGDKlx)nQG+bOOSucVbP(dczQg&vv26z^M2eSCE$ z8Ujh-+RkkeRerFOgrP}@1j7m~@f(ZgiBa{N!ddAA0y^gzItgM8XJ){sHRsu0G7uAJ z&b%5j;k69Y%))uCJ*l>J+NEQ3*vH-prBSjlvqC$UpESjgrtHl&-Me!8sC}>I@zS-o zgl^e2v!P=jU&n}4r20G)Q+(SSKLWC2)0cl`0DsQ{a?t`nOAf~_hF`wJ2_95ze=JW@ zLvfk2=wO(GxY*S4)c6r67{o&&l`?k~VHq4C$Z0V3B(ssE>TyR=LvCKeW|ZrtiU;O> zQqMFGefuD!r4Z&~e0cS(HG`B$7${!2ou&QKAVz2u$9(u8e;W%>S26*{kDudD1&isE zJ|u>rIbkA*>qolLWCO5NIT0T?Zo}^Y`=DyNu__+32?s#NM82vL`iBzu@tW&chKU4W z=`>x_D@O;b-Cgvu{O2JJE2*oIGb~|8QLrX92OCbvea=+#fVeop+bByuSxG*PNgvFOS^ElxL`D zzuflD7_u~TAe#+ZHn}=E@igqdC}JGUVPkS-oP~wOgl&(P>vb|FV3DCP(SDg<>E>rl zYiVh~<7_3sB-7KfZ4rvnlFdWFA{tvc4e9ESFj+Mdf@D`bSg2nZJ6$;U+Uz$Lu@m{Sczdp9R|CpD!pY!SMliZqs-x`B7L41UfZ(B((!FQ~y z7??`gPVUxF4HjbG1zc+})7dJY_t(olKUu}kc$cL*hr}h}fAM~Ll*zb0^nj-cG{}65 zWcRRq5~_C@tAEBc2)1hw+ zA~UK8{h&&m&P7F%_1>8})lJah7kreiJw=QYN-*Oz|b!UfK%<*#8Ipy6^>)-eqEH0U>&m#0Lyg4%JMtKH2m2mB4xwQ$s^}C zmOIJUfl(5a`iXEO%z)VFIPrH?l0A`+4qK|1m+b1z(!x`Naoq>D4$bg=Eup7Dh>siG z#<)P8LNH%V-}+qr%O1fx4f`k2i4+t8vFesA4;S^uvOvaIFL3UkP+$BSv{sk^`XL+4OKozjc%ogHF16@!{8Qbm#R=ret_Zz}WHSN) zqYi6P)Oyqb&?X3+2Z9{k65Ucy!$Q?(0QKb}0eA@$WHSeYmyb;g7?{RFzLiUXmy1qY zYl&(}AP1KaNZW4@*gS>XmYT`tga z2=f~Ym*$_JT8pd03;^w;vk3P0H~t>0zh}uEu7=Ln$)KhpX9$#M(uI@kStGdyKVA&4 z2z|O=r6pfGq}vk5~X9hJ$WYIRes5Im9r^}|5E|`nu(t{K*&j;1a>n7 zzc4fmsC7|arS&%z75$QhGpJdTNvD*cSp-ZBYJ77!oyxW9XyT-&Na$u+FK98pS5lgNn z!ynhcj^D&Ki+Boklw+v4#g>VMyy42Klf(AV*T7J~NW`Ufn#wA=Ee?SeaZTSxGekB) z0D|ydYx>0x);aeD$jj`9uYWqAPZODC#QF(C-;SYwUf*a!wE)cukQo+GttQA0E75a& z^DZtOdlboC_udxyW-;ZY8nL@bRoE+pMD=HWka_n^S8}qSJ0+y{8iL{>DnqWBPjFG?ZdtUhWD$hDaKWYwr zpL&KvNwk&K2<-_8v_ULvt}og7qL=U%U8DI{xE{-v9k!>7%*rhB*%qV%_$S(zjAg!z z19!=Bl_LGP_4Aq)h)JbO!o0t@+m50m$H6vQDL#oli0Xu$I72xXkm-PM=oBvPOero4Xsu3+T1$mJc z?ml_=Y4`Tbke{TEx{i>><0T=z{YSoEeBFuGo~!H43ah&(6jvpQ6|%E9R!2zVox`^+ zz#Xt#Dw*(w-&k}2Z_*|YOB0o2V61t;(H~*AFMpMKZ7tKIdJ5{b@Cs#TgQ>CMC z9I?cCf6t*CPdVSY8;w;E|NNbD(b`+}HnwLUd;->;yG1+ZLCI6Z`}IwK_|#hm7 zUM|Zn0aOyuz!Jt`06I1A3=R=)wztN??{H5U$}Z-Z*+mvmK{W`l+P(hHI<+JFqDIHVy| z)2P0Kd4o3ZRE89tZEKpj1wNQ+fu!edaPN1*7bRR7$yK$LaOlAP-&llpqX#UATPhl` zW9Ky#-^Lf`R!`;_7=JDd@f(y{1RprJ#m0P*MDPSrdSi{JJBuG zYJjRMj-3&&SN8lPpMiklWzyMyO0`YpK}(u_{1^sDD|8=Ae~n%$_7J%A8_Qe2IzTjP zk6R1*3fP^Zaf}xDCP;}5J1!~%CsKqCgb)*?W;w6JM=#((3UT;7z|FmI5bQ@IxKYmN z=Fmxf`o1P`Zx=d{H_ZS?o;2hQM0Mf`8R>%U>U3d-6A(k|JUG9NDo%Hdizbeq|G^9w z6l2l-daq-j!usAc+5ss@93r%nNqWwj(9zYK~M0#w?L6UTB_l=wX21@>g69L3OCTVj`fpR-=<7a5{Ui0tT$YvX7HaYUg* z$rSs(E9<-pPq1&c*vhgZ+2mA?@k^gF=`Mf-kukUa%9j48=eRd`XZ>NWdc`&QOGT;}f1AsY^FP{qR{{DPb7(PmU56_bN%XHXAnpK?$TQN&ndLFLCgOZE9Y{ ziXYx69?A6llK*Qj}+Xe+Yd0WQRJ4GWGUT|a-@K0|4F|dhxAlO zG7_pkrv45lJ&!?{NzIF0W|FN)`qS89pD@lel4hBD>$ zC*Bl`xzgiOGg;3?FUKw((FmbpkAOPbB8}prA;!htkGEI+p6tnI{TizdPxDOXXFi9N z9hG#~XowrEnU%eR&7hd`B7QA5?e(Y9DDhbRkE?y0)I=;}i!)_i?T~FyqXd z1Li}OZPJS$`khgr`5_0`E3vc%s5TbAExN#`?rNvoK@ht*lkER=5dKU9MY&)5?>jssCX4~w^I;c z81&eXMl*&QUENn6D^ByIve39PmgF|A#rj^;YZnY}^g_opUa>V+`Hthh!Cn#fyJr<+ zc6jMNtJ0Y4%R5)$G#oq?b*6b5?JLM~P$THM>XMHM=c|Rj_@dPB1|f4`Q11U;t7rNR zR^o}tXE;#eZWZW64e1BX`0}27vE?aRk6SkHU1RnkwCNCDQrUTyjmL3vmgz}-1-a74 zZ0$GN{kV>Fhvn$GJ}cV7@;A!P9#T=%agamDF%*&xxt`DAxX~&2*~EnVy#5tdH*4$% zR0sZ~yVJ?#N%E`Mt{W9`OL4cp{l*gZsHT^BC6yT#7>jn0Ivj4MVY_yARe8jDjS;uH zmQ4RrTD?@f&1oI$9N$-KZ2Ysq5$EBxwO38;LW)>lYF|=r-gGslj4a2HW^IITbLGLw zb|91l!Ww^mjzD%<>u=YEF2R5~e82J=OV$>8O=kr$g#?hpp&AMX3Ruu*a07eW0BqEs zUoa)g7(kyV>6**v8Q44u!RV$FwqU!^br+Ce4Sn?K0hzH|zZ5e5@`A}`I|n*fzPgK! z-3r>q0tZN@dIQq@MkKevP6E=0brArX-@+Isu)n_Gx26tTI3iVqnuTnjjOpK4+NG+{ zk^hy8)cnUazC-`(E3Em2te>XvPQdG>cAAHFa(F$M@927sC>Bip;jhPHAO22M`_?@^CfYn37o1g57rjV7}{jCJy8~X87``w z2*{EarJdJNc7!qfXCPJL!muMhP;%BAZ_j)v%?vcPUDG;x>)wM6C9OLfO8aHWCVuw7 zr)ycm7gpZ4Wa=l_6*3p~E7pgttNrvY)hMV;_Epni@Y>>xL*Fl0YRN!A-|FMWueS7u zP#?ey{->~WCjXr|z*z(Js0#KgpCv00%pT8y!SY@cAh}jL-OsOpnE7ytLR-wxLs@0({VOQa`NHhOE{wcA9b| zyVNHlwkK38AlG2a*SQW8!?A14tyy*!UI=dj0kIHm@Y9@tD1lVbBg+-bEl59fED17t zdpdFleL~ZEqm+Ie-BLuOGwE2S5a*g_ZTqkCLqyQVr{UXm#-&M}bn!E>uxmST>1i)h z487hxm6EvJ^KnYA>PBN&85WzI(GM?WZD8YNDEBEVvArsG|ExoE;Th*OOCK{yIS75x zyZCiImn|HATvgr-I3j1^FZZTBanABGY@|{xtqw~XET@j$SE@`uaN~eS*p8p=V6E2N zgik3q+a_;l;Wm{T zH9AMBMaClD?S5GMxf97V1s?}lz11gNSnB>?Ax$LVD@4Svy2`<+$ACNgBiv&$EhysB zNjr_pK<;B?_EUEG@$8xPvT+}&M&gi?St0#Fv|AQ&cv*bbg66?(B$zq!IWm634?Zc^ zpd&T7t3LS>Wluw2TyU=JjmhHJ6`hC^W)_yfoj1NE%G&nkeil>w1MuFF;EJnp%m5d7 z)a}kCpkj5dVG@y-0manaDPAy$y(I6hAu5{YD+vYm{_Hj8H@(aRwnBCeK+9khbTt}v zHTCh8)kUTE&cz?z%YEh=i;(nrGrprf5r=)Si*r-~0uL$yu+a~tMG1xt!8_R_tc$ozQag@+mEhnCe8sLf=)c6vLIJw`}WPGQj z+7lY#QI^dYPA3~?l%BXo(FLPCZI1c1QdHOmeuz$zt9RYSxEFnm+)-KLanSbACqcX2 zcxiiKw~s18K2#+H&wL!QAe1)W|I-xoT8Ua)+9`X=N@#bXb0cvh#H&$!hK(k|#z;Jm zryeSSbgfg!FjJ_T`JAEq5aH&ah{}2BSIB!4uBHBzP}{v73ltryNPcp7Hw*WSjgT*{ zx{sWoIyAeo1Le3YJ1(@?9nbT0i1(32!;yB#V`am!tfOHeIR;O6U|glJ))52C{Q$#Z zrN7g#s_*y?!D~^_oTi}M_wk62fFKUSVt+eyJ|%-*0;50C1JB+$BII5b1-SUn&j3Ie z@0hXf6Ks>!szB8ikJFXNsPhX6cgST`*#IB)30kx#je1V9)m9`K)t9zk3o6=<^;g|O3d*cVnW0upVoYzoIA8O>{fNI5np7hJGjhcJ{)t}Z$ zF{(WQ9SmtTcRHA-Q%fbpC%QR&c9lDCrXWUP1YycAu%=mqi@OhGPbj4XeXw)IgS5hU zDq_`CMxVX|2Vr8X#BHYE`&kZZw6-{qN(7 z6>e9_knBeLH(`5NShCGSGQTzIB3pgwx(r)<<=4LT-lCVfrRXuW6Y*yQkLrIHxOUKf zSH8v*>i~-NI0%z>Q+}lIOG@Mlx_)>gw`O38|2%`WhcDu@)nv<+JqdB4PgBu(dxfsC zm2`!W(hjK{kQMKUkHfdRG|wew_a=%q-rjWaz!w0wXzbkC zBO14_cb>L9T+_1WMhhskW@s=!R*QI{NvdUOb(6al_2O`MuEgR8sk0X}l|*!h<^1{@ zfua!DKXwmR+^1o218fzSF*Dfgo6pg6b=E4B1xP0@48Leo4Ol_J;)Ms}CPHKUyExK;g>F{*koA`dT#C?|7JN&u(lm#X~x zdIdGXSW^f{U8I!M(DuWyPaL7sR$qB>ozWH_uRl!fmoPHgi93iKGA9kAD3}fsd9p=&` zN94z<`n|j}y32`UcSU8tCH|bTBmB2U2 z&0s}8BVG6$Xs!)Zth-n8OD}!2Fl^|M_z7tOZ8lmRo)^J69Qvb1G$*!ZExV4MzZZB5TPaBY_=zQXxJuDa z*4RDVQnTmsxty$l!L4tLmN~C5ZM*V!9ZODG%db3g&g;=l@vBz(*!L|Fb!zNEG29ix zgjH2OW)j*_91Ch~oGbZ#Cr)lSIdKa)nNL>Jm9i^}0?bYh$hEb1X!6|yFrPDBYWv(8 zSW{DIO8f?#3we>5gw#Q84y7kdpo_FxtI{*5R!zOH@88ld$i_0$x9UeCZnFU{ikj8E0(FMhb%w?JOGls$SeUaNU0hW&_HO@MRhI*9I)1BQH+ckB7MFR42gn z&OtClz{j|*FtPXtl@vEe^s+5DEZ-K4LBo=OC1gDZfHU|64ZSM-4yny7kSbnbCCs;;Y%@XsMZK;uOY4qjE0c&rBEcwNoBIYWf>vUdGkK({1~gxl%Xn#m_d3l>R^Ly?Hp4?f*BfRfV*P zvP>mOLMddOHv5fKObL@DBqTdyu1d%{rBK8qN!B52wn?^-#y*x9`@YOr#;jM*>3+WV z_qmtP_j#V*?|F{ncl?gy^M}+lbIo;~=lR}W@7LQcZx!Wrfr(1*>8o;d5--f!S;cR# z_sqMq84ta9?r*Yr+I-?AwY_>U{mhaJ0BI^$kNK3odV1?*%+=3chVZ^!fGT$>t@U4J zGZ5RLs`JRvA)qsJ&4_TbwYW8S!cBieI%30PfAM^7Th?v9MT}IqL`a1OI&5Wr(1 zQB1rMR0WLSs22^%4IBdYCAjh{kn6$Mz+Y1L!NXM`(KK0&wn5d~;}_bPSlwa}i(;BfMPruxGV<0uTp1kk^lee!dRm}uC?q>87> z!HKt-euxdNXbe;>kC6a91yZXp{|5li{RobqB}4NU&soDis3nD2)lcRWK0~itxd}H) zwLq5#adf0y8dODqL}*v6^_*?m(O%g@-6fk_KGj>Zd-vqN+c;(k=&XhE7pf8481I^D z)RbR%3&D8l*BdI9bA)nrj~NSYTuBF2<~en?3Eh=uR$}=o`|_y2@8$O)%NMN8FkfRO zPo!KgOdEM9 zjYD|@$=p=7ijVb!9*6Ar#aaWFBoXc&)CbhK&(jB}H~uP2ys3d@$1vw{`2@YN1IkC* zE9|wL?;F3y#lvuE?b?8n6ck8Aom)ZVVM(seZy<;1SUO{+ZVIBuI6Vr{I`#%b9ydN@ zS#XS4Au9`4iVpBQLX2WbTg?IxroCi;)TL z-A(Q;^;4%nL|$*@M9y5YysdgtNwSCdofW1yo+>>07|bhCzXUfi1czsG`%LJXH3k9u zFP;o!=H~R4`_pGTw5r+4GdqHN$>hCVGrxGC7}8{L(snUMyxTl^{8-yqs`M!7(b`=d zW(F?cx{=0g!P)*)W0Yfue2$9=m+MeJB|^9jFea{GZcF8QhE7XPI~TVxOLPClU5L(R zuTEx>B8CwkJx>`A(A=`v7PbiB45*VI|3mk$V|sfI2G|d)%$*}JE>tgC)PF=f#fM)c zKiCs-&-eDd+>KFt=rh(K;QU$90^!G6Ah}ZYgu=O7@nTq;GCM)tJv`%6*|)uctSv-`xF1>``033(*C)E$dY=^+?_!zXtDJh;JJ>GyOghzqNTt z&iAFqq;xD&7`GN85X(EM^)NrkwvK>&k1*yYILWwRB-KU*@JSFpWA`(n6htt{*77Tx zGJET@uGM-yQ{U`R{qg4esP}h@Wh2M0J(-SDk2F3I?d4)S}E3Qb41sPd{(Sg80Zz$~j0C~;Pye0R>*&!g2E zif;n8T1*B@il0f>QR9m}inN7#$UtoPunNe~awG3|O}BgRbyeM)e;;i$`%PD1e*`A2 zBEZZNT?K_<`59@+h8aE=E<52ql^A9^rko_*tGUg4p?fKKV|o=2)vXtm@HG8$s$qw@ z-TUYku;pI>{N&QQwV(f^AzOc$VS;+g;bk^PFXnaN(PRvB166idzKohbY>pr1Za#mz(79N-_G#4oW;P9(w;{0mq2D8PCWVh< z^UjC;#m_aoT-|NLk@bGPUeo>7H$y3IJu!hY5^u@h?pzbhG>J#@aWrrrzu02)L=A`0 zoj*YL8{x$A`ZaQ-7tlYcvKB}T**Fd`yL4ysWshQ^=T*Q; zls1hq@uI*s(sdixY$L)2szM+~nud9~9_>&}XFw`?FSz92UfP!cRho=3C1(^Vt9l?V zR$lYi>i^=g{n>l_`zubIg}Lk=MJuBE#I4uTaaY$FyR9Y_37k_N5vIp>y-w^nmf zl~|f+eyHl82SKIQTA92JSb*%9)Qn=Tr>__|d(Q#d?3?|m@!G;3g(a>@dSl8x#ejJq zd(IwrLlDbHYv>-znP?v`C_T4a5(#od6!}hOC^{RUw~SwN^8mrFj7;gB?_{9U)8i80>Un-~fA0xONbs5iBbij03g$s)kK*CxCLqTop zp=R8_7_Ei90aa;%{iSM%f<8wVA}Gmo^$9T~m} zRM^SM3?9VW^vQQbO|3zWD)UYweG>PzHSGrf8r&Doz(`zy!^(HwT+uMt#>&}^t zgd3G%ny>cT!exh=@tjZ=IhH)R$Bty6IRBicl+twB^gjlvO%wCB|2`{?aby8YQMvq= zS!o<+hFvCflcPtaeh}PLUs;<< zXuWlIP1@Jw?T;VCOQ?{{c{34(oK;1_LDueQH_RPwq$gnf#F&#gR?Z`lVCw5F*zkRE zbVE-Hzx(40H_5;+<`)`9vyNJzU_JnQ9L}6MIxcdpJGPt{r=M3d^glX!cQdz# zv6f&F*&5>Vr2+y+xZyu4L4WZ{d_Cu90n)Tn3pjWjMwAHA+{VKNK==Wnwft^wx<(Y<}J zv2+b!vZe{cp;6`I6{2g?gR)kW#2_#p(|Bq_MdWt!c?ddyo0V zUmW{CEcXAK->5bKqd+nReKO&SY~r$v?05zX1#bnB&A|mBh+J3<2T9$(gP(V2VjWo9 zfw%g+7J-MONg0#x!Wh-`hXmkoKMtHm-(m=gzq+TKl6h{cL`KFUbXsUWW^sYDC-ZXO z2Zo8B`7fU9a?MRRqjySIKqE$>-#$xKS^+r`o-_W<=+9M|OYN#_$+oQ{>Ap$pX&;`K!J4B{qriD5=_Q)LVM4REHkYp%yEh)E#D&pa-B7 z2yEu2^_|BB=Z8C#WEoFER@lt<8P;Z#bHvLu4ecY#V@8+=>h#ITW3gNI|rO)l67*b9u50N>$c0cnW5L)KE2twTDsHn z%v1NVZl6^z&X0`CV|8Y6U|vcJ+ybD592hhbq1bljAzPQ z#BsxyfcMMxn@rKU_M7sdow0dEWga?a$BwOhY{*8Kybh;%f9*vCLQaMVL5A1&o+&yj z>P_ocJ74A4#n+Yghm-UdtNOg>!5^$>~Pjr#~`u{iD zUc_KzUzE8)&tope9Gh}(X5meIBw>9W-~!*&LoS~u*WmMzoHvwUXl?<}0Z$N$I6Fbj zC`At}+hGLjpwqBPHy$>2twz#Ue;)z6*$Q3=U*;b6yahV9FOWGnpaK30@&u#cK#hU7 zdSMSox*c;R$HCb>BYXC}vBDjbl?NF7u@dVO>L_r`H-RG;EeJwPn~%t4%fb{kFHkI{ zQ$XO^?tmsuz<&RWv>55FrKnM-@MUe{>I%HOKeHO#`&<0tSzT@rh%a7{1=z~{{Y`8apXsgg zcfhFot9_z+2002l_%~RAmE8^NZ2{LRBrf`eopH?^nbKLUzz?X!ROIY^P*{ACm@Cam z7)8=|eTHw9U#N!`pB+Wc+P8xYe56107gXp@8d#yoN8ni6YKFkAIkPHkx^x@*b<+)Q zFD^qJL}ULIw$lyt@mx`0Mnm%lLC&_b+ouUOT?K)!gc1 zIrVmz_B|gq`m9Mcoq5iUS|-eqddh}%qJ`b9>JPi&=-?>W5Kr4yhTrkTL&m#+nJ6aNSydudp>*L4Ul)Z0@##4^vocO56A1I z2q)Tqbc(kt{B9Gr5ZTs$?e-3xa~e@jGp@l%{&Ha|-LOYP>b+9<-F2H9R4zA_ADJW0 zh>VCPq-A5$X-@Fvb>IGw0$5n~xb?O5P-GFXXu@?jxeznR%q}GOz@wU_bCD z$Py{AFJY`{g4NFM2A^6zxQgTIGxo6;e8nQJ27jp|Tg&#!jzNs0DxAmxP%tO#gO*QP zz1rrM{?s(Sv}4KrZl{cm)ERY6hh1U5m9|G_c-6K{U-c1%N00mR z79%*F;q2p_tK`ZfkPDy<>z?W&_CR+QvGt-k3#XcY%zdXUeYX{vz8ewBld`m5e$0BF@4c_`T)lsO_e$ zgRS>Y_r-J^iWyUR{;k$PXoCwGy&zFIhNgCEX@JBfA_Q6hW}V|zgd9vpFNy)0cYh$C zlcwZ!juOL`N?#r7dgSXpICsb?Jn~qteyYFS@%dJn<0k2cf6wLSs7Z+{xePQtMY5U>9+pE$%_JuyFxH&7} zz&Hh0P!mJjoA~PmszYCTtK%Atkv&3%Y+n%%VhAkUa$NF;lT@j@c)9JC%sn<&*G+DG zm194QdR(rMhW!@L`*gOz-^bGt{=PVHRO@z7_1=vvf3I2%B{5`vM4ISQnZiL^w=;$2 zmr~XJ&wSvJ(lkVe1y0p!3Fp%`<4(plvNUO@1JM2mrju}&* z^nMgsymsiomk{>95xkd)NLN}A8owpuf9z9;ZEqEs&hWYFUjT9&w>))fzv9Y^QQ|&CIDYEX*yna|ikm## z69cHFjt^pENXKv6(xq1SrWbc`+TRgxV#KNW^y>k{Zi!tCr;opQJf0MmOVe(3PO=mp zX$YhqOO&jtl*rpKpI{{~LR;>Amm6y*M89qjK94=*Xknb0UfHbjTY34t5$B3BJx~${J1>SQ8BAUS)4@RQ8aZ3^Mc%G5$Jli|$Tf z$O2GPokB13kCB`XvPJMb3~zXA#Ye3!GFGx)9HHvjj_cwuCVdV9$c znCl-ES9a*TxyHwpz?9H6S(bg4V0e~2WDgQHJg&bZ0uFdfG!nn zWXu|7ISIRYGQlY1D{h+$x^z{|()+kpn6_A-m-u#a|MpNsT#7@f z*P9Z+-*EAX?c`hY$UWxTYpD$p{4V0?8%7{pg+j7qGO1sQ?ywZpph^QC6(B^rf*K0) zV_LT{#a4>X0Y#c|ONa&5U?X_kXlR7M-ev(LHjO~q&)p7IMh4hfB#q1sk^`S4OCY)Z z9O5Yh^iKL1$R}xe{*g-g&)*ncwxiGbg(|$rLgCT5uqmyBF$?#`Ocxhi>~P&7x7@g0 z=<0>WYR01>xeaxd`|#&zM-s*7-uxUYap=oW@ido6VeXP`X>ud+-bl=>og_)BHFnts z(;a&a0R|x_f>Tozf5ZRjyxf@2htTT!LnqC3cn^TFGP)LY$~L%@xThdeSzSFjWkv$f zi&A=t@d1jhrRxK}H7t;nS~Htxt;fbA!U=FN*em3oa@@oB3Ley$v4 zL=BoHyf(n%;VOdThhyABJ|!+ItWj{Un@2KMeBQ$XGz{Mop!g1m8pcS0 zgDSv#cVfnGS2Myv;}ZZc z0e?XPTn~qO3VoFw#KLg3LQD1mUp5y$1T-QMP@eOafD&Bi7Y>>+LfbH`mB@XaP3h}%EDO|(e4=yo{ee;8 zhU47_Ztl|2af=^6&fy(N_`v5pNZRq+jkh?%*ZE92FNs}1dgW%w+d_x*3m6FtM(KJ* z(|9v!U(TMktBSMg69rc;#LAwjt!*nG#Tz197Fp~O`eCXR`EezGt$ezRO-Er*W&i1W zCunt7x3pGlZ!Hr)_dozR%d+M?tOoBjx<>-~YYx`0sW2 zU$28Tn(Y8Jb7q!`0CZSu+WN+UlM8ebx_@tU1*`*t&fjX8vW5kAMPX;mrGNdZpeKu z6cCsf0h~xp>yT0UgiI_@8h?TqgDlftCD%FEM|gn^T2sdlbT}WT_oxXWR;#4~!1xYW zZ{Z1Oaok`BvQoRsv)b_aRc#@ThD-K$wp*@D$WLMQn9}gpUp#<>YNsyNFdm(jIM|}0{mu}hA?=(c zQ*muYJL-_o%Z69pkAK=Sj00vSiGBXCQFsmUh6z_T_%rQv3V)Y?zIp@F$m>qQhq1tD z&`gO90kP)Beqi|3f%n`E9$@*R(xBGy5VkkHzO*>kRl~~Xi%!Iw3GU(b*uaewE#`tx zJP=RYI0~H{qoJ7u21Y6EyKRS2W$M_G#oek;&&XA$9W+50&;=RN-j9}>Z`72=MJ}Z7 z`Z;;;Kz_08SB)@t8O(Q-2-bcW_PSHM&ib`W^Vpz3Lrzt z&^#_bUe-1g$;;MJRfbDaxi3APDf#ua6#kiH17cnGcIva6x7@h`qM$m;qx3ZP_dSmE2=vdD zt^Oq;3d+O{ZOFmb=$UdycrFC~X{OLS-2+A}p?y$aL&l$6uy+PFkf>e;OvDqc8SnyQ z;IcaWd^a>#YhV9B3E-agznM35qKE3*EgpZ0WGvt2I&B?LP4vSziGq#)*rqllQ(sOr z2gj&Nb)mO?L_Ry!aFLs@>s|l~ma4V~u)nRW@cs?ci757!-=zq3GWurHK-#d`{r9w*Y`ir0 zAsNhOYO<2%?3U)DBP&ZG_$OHftRJw1(VyQz-2%`urm#@T>`2PO~RIm%vGoBXc1u;4Jc4;_C#Ny2M~;CK0!!)P?;@T)bC|Ug3I!m{9Hk z_`3UeF6K@LaljVd-2iNM0%h@f;U76dR1!zK9a#v_>?G0aK|gg;vyD?aYKnK^IydcdoZ#d)*MHrgLOdy;Ts0gR4NH>LMw4ZJM7vpTWKa= zQAUOHr%exnQ=%z1FSJF15kox2GNiA+ZPL?!_<<1W^5^3wHjCuVjwaDTH|~w&2cjax zK4)BLl*3AYhr|)^F4tbeI+ImS`ob5ju3SCdDZwdg8W6Frj&cf*4^9t=nnZlOrEPoj zQw6w{u!F&urayuUmpEG5+bmTVlx5`~9KTPJcj*lZ09vb*JQZZ?lMc73K=lI&;y*Mo z>B?Xy@6LRGm$c0zuGSmHmXL#Jhr^{T!NM z8v+-{hEVKO-;C_1Qig!4A@Xu8DwEd=&fY;>ZnE=%Q|% zajC5;c-Szu_rzR()azd87%RHGp8kZBsk{?feQ*-c=q-L4c^d~Q!3}e-tmUO@3sqZW0p;mPoFT73(@#lX8fSVOa zqb|Tf_}u^?kO{5L)>g(>6IpvPCO}qzpflzI?CDW%0N~feV&bK__!r>$41vqsg#PoD z{-0kK(W_d|-Jmc7%8E=RcO!9T6a$XsHbc;*xSO~G8r%(B&p-VO)j_28LLf+*ybcN% zEUOiC0gEYwMGzI9VR&L50s6`R3wD})5+E{GO$H=2HU({Uo@vngqY}Ica zl8>)l)E&@fSNJCZ@Ip6wq%wbm9ZuNn)9CrR>-ZepZjae%n)7bsX4Hlae)E^Nh(%01 z(;tVAVY{&+T^f8D4wVRMY`Roks=ZteSO1+}%C3V}wPvp>*G<(0I6VfDoU4Nh3s)cN zS#k@?n`C)>7`7BId(Ygtbp?5nbuhh7=Yy<5=9PW==S_Q7;8LN$7!7$Fj$LM#d(_CS> zUp(%qleqX=Xuoyx4GP~1G%FaYwz=rW-6>XTMKzvou6kpQv!A`KQXQnYuyIX`n&m`pKSCO+GA5E4vfMs^gLXw9 zLv=#bD})soU}C&}@i6wkVI z=pFhJQX6=Gb4!(&w~*p=C^Yj69;dz{m8`bq!zs>gSA}KO6s}p+GuVz+89*_ zg44^*y3LHxp?+y^j^C7t8_q=WGLfyjoc-XMyKVBAH)Cg1OzxtV6L`P{6TDVCI780U z63|yod!su|*JtDoNQ56Y9a+&KymJ~QGLBfM6r0k#qMPAQvNxVcB>a{^VeKb(#V}#F z?Z0`N5Et}V$M+CIo}zvLGv|DvfpH~y>QOG)@5@V^S=7FD+}jo`#Y$c99r1TXR|s1j z4-z~2`Ylha477rny49K0-Y`Up0=VQrQCXW&OtDF@N~~R&((%O;W~M)rUN%l)1so~8 z0JyGk@`KRNVvFW1my?_$X8o)?mGlQ=;c>PT?{eCZ2Fs#*+C9`Y)imzq7e{TXfA`Up zlQFgjH8xi?A7EYer?7$-B#1-fs$&tw=0L;ndG&v2NvKhY#E9t$H{KuTJ*edz=ppxr zBUwUtZwpq&Ryk7d#TSO8q-PH=t?5q1hLMRcgb>PJ11q24UMDLHk@An8>iaIbAA784 zzEQ|68cY4wP_>V+yOJAJfWj+7yA%%MJ~gMlk7R}lGf~+qVM?|VjwJ=zAL_iElII2x zj4G{VI{L+wbas;^NH$DSz2Pujz;&zYGyycQjS=AH zz)%=c=(Rxq#0MZj+FGuhT?Am?vMOS?g3-?PtI!wmvF;V?9)xF&hWA~IS4&OSITk?FuJ!<`yJ}>=+7VjKy zSmX-O{qOK9@KzMac$m#0=)%-CJ<%&PINejicW=?jFM6zeD$DFp2)^ z`>iOUDd5{?t$PxxgglU(2-DgEk%}rnTg54ms3m`gsK7Wf)xurb8-d#;MQFRr%<2Q3 z?2@s&9j_zK#oA0=P4=x-ai2glZs8symgWf1;CGO_QA!vV?6w~gpWWzKN(e3J$qTw& z7Iu}CDO>-7ae|O`lyLHn$a^qIiga!;mozK61Oa{@oQ6Nhvl^6;%Qd|bVaxuv6)ly@ zH_K*vh{ZZQ=zF<+vS#Hl&nfg7@|-93KJZoaD|cV_*)Uv73@s2n=bFOEzWu6t|FF7$ zp=7h!hWSijwK__~wrhURKb7dnK32ADk9%cDOGP-ExO`+*0{Gm0+SkgjKt8W>E;$MA zzKhsas88xyIZI~gjI7#gb7yV2lN~B=7yHUk^@S}M8JZFKvDRS+tX%$2yVjL0IbJgL zuQI-T3fSi@Lsx2!sLoiHGMQhQ^ssSKQ%X5SR}0I2kG7chGs;P|1qF5A^(GrLTU$F6 zb6JlCt`nYUeFI2N9;OPs4aBgA*Ya(2aU|=I0b_e52i()&2t#v$o$Hre;*esSkpuX( zkFE%wk)0+m4&ym-t{@ZDT?A^9S2kfX(PmK9VW8g2d;oz9@DJKv$%cSH!ULb&1GK(x zNIGjP@WE>EmO}qP(*`vE6Lg#U5~|dlV2bU-v$HDEuW1z^1$!F<<|OY~N1x#AT!J+! z4?tui6{Z!c*No=+k5^t7vqxccv{pW_#2z7}B^z{Nk^=Wr<*BKGNO-IgV`0Pl@bKy)(BPnXoIp1D$MaKhXItH;u)e2}zX z@kJSV3HUxG+gpGH^ZfDiFJ|+8wG_Am*a%J|uzK^j$Td$&v-)?? ziFDu)nl%vs3h`ISQ!7}oYE@^z$)RFo0h!|haXHM7t3`MT5TmGfoSx;^NOsu@cLxA5 zk4WVHV@NL{E%Tp{WEU%V)udyz9x5|w;VgjfpCdh6`+luB@c6*SH#7}E-Jjio5Av4K z>c^S-(4eAJWx3)iJ>(j6TCzB0NWXvptO zP}4fPVPS!BI4Wio14z<8p#%bQxNi_V3@S40Q&No=p|_Od#~4ao1F<^LT%HNv?Vcg$0v8Aj`9+?U?ffQ{t;dpZ@f1I( za3vP3-y~_HY(JRC;#W+!pK~6X40pzv27@WEUH$#K!`}*rJp1AAY6QCUoX}vTUQs6w zU7#=8Dq#kkkos#~A|IDp-uQoT4vCXM^+1+8t5zSOVB7lBLPX{Tt!-c7cVcpJsV6a1l;5Wac?}%r$4zKAkI+`I(;Uw_} zLNnQ9_&EukuEcZ(9xWS~t1nbnt|x#^w5iUl9H~SBkJbm5HcfgDRN5m2^jaUAwam;P z#T+qW-5iR|H%JawdfRuyq=g`T1#bH?DwuPYP#@1V;#MlT&O$v3b-Od?{1bef_dx#5 zNoT$R7NG0IW1LTfkKa=6o{ID4V(ouSC{|pnU(=MUf?~43VIEBML($XbT!&)q`o$kx zSs{!1eAnaIbJ6AJD?fmfXXJ>!%b;aXXMHw8R?mk8Na(-Y06N}LIcu1yLPXp|a_3{5 z@*%$O+$~@yhH$w^C2-NScr+cFGxPN>M)by;rFI3}4;BM5w4XU%2_E@zsUy~;W?`$- z4QOOZHmwJgkLVrT?t)S-?g0bRc z6&JX@P0nT2kNGSUgbJOEesm@x7tZA7vyTFhve$yFv2voH?=B4>w%>@~s?!L@W<19%;Gniw{mELLW5@gyF4SaJzc#aoPFIsDnqToJzFvYj zibq1gB+8^@P$hEw4}fzh_(#hGm_M{1Xz}GBA$0F6(gcV24Yz`p2D+JVA&!Yx0mZF9 ze+`2AEgr$$?iT{DOIzbo*E7|ne>lbb#iOt&`0tPXdrAKLVf^?q zDR`yIgxsLdy_Vm>qT6oa-K>crpO zEz(Uec#Uz?bB4lkXglqrW$X05Zv8Kwc73TAxNlMciPm-_q(?~tG^pk_Er;NiDSl33 z@3nU&+99jgdX-;F^NKC~BqzrX%M8u14H9>=fBfdWuPe1dV&as_Y$mmdt=e_C6Wczv zBgz$P#TXoM{f+z#I4#J+%|$eF*y&I$bfJTZe0zV2rwHf0>o;<*(iqIc5F8}(`gD!d zur%uk^rlziQF>z~I^p+-K0G@l)ZM$ym)(Vr2|1EqIQQ0>op3aJGIcon^B`gkZ+twy zp8F8Q1Z_``a^FgUsx_KEk=ON$r?XZHPVnlUe-(*X+CoVT;G?<@;sQa^D{ABhb)_y- zsWxv zaT*i3IdQKq`Sh5PW9sT;dChE61Pc;Lz^8fq+{bJB268(iN2K^hUqKP-xLWc(4PUzY zZI0WFWi{pjwFdF&H%M^kG2O_|NHt6Rw*wbM6q@4txnJEL8v6~pqph7vjT5sci}&jg z>;+b0I%?9Pp}e zJ95$g5=4f9fBd%k29kQ&l_^mU4A;#b9eS`QtI)>CwDKss7Mw? zmb@OEZWKZ-si&k+bve$N4z=c~%4my1qYe+1GbN z?$cgX=dffQlblVyxN2n2$d{zevK@nMSaBK$JvP8)k$2Z1m1{L zgBYJC-)tmeNx8;mLbWZLtqyMn#Js0qJxwAv7=&J}56HXOvKTi;z@TejSCRxxfcsOW zE!61-1g zD1-yAAyqaU0%>tGpL@mvgPq&v76P_r>+Z;t=!z*S`cPbJWoXD~W}je$L7U5q^}bo` zJS-<#{!A}AW}9yV-=mp$8q^~?f)COX#~?d2G>4r6EtKD+QaFX{ZFD9vLaF~?6OM|tc{ zVWb#F!DO%Hp9bYd+)>YiFS&w}fwg8D7?}}!b879~I8- z`qZsEPHELw)DhTWYNX}ao6V-PF%TsxNdyI(i3dV3J}m>Epdiz>Oi-T zmlN|~cf$CyNRJC?8d43$5>%&C25Q-XM48kO*{ z4l38QsDS8pj0ob6^7YaE--vx`F5OBS5p`~hjl3xjp&k8sCc7`EJaN04H2wXW+UXem zn|V7c5=SPu&})#;rCuU1xBH;sig{@H=**W}AcQ~SxqfsuD{wb%m^J30^K8X@&ts)`+K?4B{5`JFz8@4%X?4!WCOewp?VJS<=e z^>Evf7T+0B923nB27bo50%j@|AL6NGe$rx~neTbazMXm`E=wtox?0V0ttIxLFHo5s z@ALQC9ZVcPJ16!mTKSoY=P`f~G@^Pw3c-uZNk8McTsULfM_Wlc;O_GV{y`@Jw;-w|l*O1ullRl~Y zMdtl7mZxP;f!xm{B>!=EpCcf{hf0tO_Sd0tA9L!xgxDoyPsR0^ADXZBi&e+i0D! zWGsCZwnjw%aN_fKbMo{(j1o<;+>JZ_LC`h6@(xXU)|ajAP!^94xiX+raX6P)RMNj} z_QHF-a9QN;a>YxOVnx*TI!n@puah}VHI%Jb8HT?bSxd}^U}82SRTrryJy?4}w}pK0 z^aE{K-D8SsZxnN@cz>cS9B04Rfn@2IwIs>ke`GJ{cdca0)6))>KmMB$SVorgaeOfkgIfM zg7CZKwhyaeh*R?cxML|n9urq-)|G*oUh)*?mRx^}o%5@MByk00n&DTF_NE;<{FLD^^15~9Hj1d^VsdKL5 z)(?O(^Djv+IsRMhw5dk#$;%#BW=Ss>loZsfda=>QMu~GB)!ll}1SfV9S}BhKW0@{S z8W8XMf9!0M&lFkS7i!oCttBN}X(9Gx`xG0>!KDLT zL%Qt9LwK%8VJB3jK9^F#5FO@I4Yn=mx)WKSf8)I165%9xl7OELsc?&MuO;aBwRA-7 zoh8n_e_p((LohBT^50fJ4ZNR{(X{!-Cl#h0949cp;*k#uF1-d#>HwY;(A~XLp%=2O zJU3RG<#@RPLB!ijm0?{g%UmNt>!boe$dC;Mxm!BW03#xNr*H_`c?cpD$2XeS8%5*< z(v}W$GIH|`iX;Rb&r=AKMh*js*S%tz5Y*oYD+A!Gy}@ly+Wu5eA@8D(%_gyl;tH8iD1~E8HnC zMd&gILMdQFZO|6j7Rusz4I6O2Ktu7KPO5ONAtdfNpoF9*6}?qz6?-6DneaW%o+{p> z;a0DixqyfuH)LR&wGMTR)b)}0Nopglb4`L1mZ~xGs37mk#+k-?<6YinG1=rL4HJ0l z3z$$xu|k69bxHu+@*HZgY(>s)CbG0FrT|_QIn8liX$RHn@y|qtj4&src{lt8Y)8si z_7EtmHTXeuAAg`16+mh2Bcloo5?Q5^xbAuIol;Ua3O0(Jfr&W)^ScQ&!4-Z^0ORbE zzahtZyS`pnR@?;0-ZGQ9LGuSpdct7c*Fw$<1dT4a8lOl}yzv&K!6*R+Lw6a?>A!f& z>p9Y~P?ZXCG~Wq9=Xn8O0|zqj{Lt8eRV4lNT|C>(0#7wc(1AjGxeVTW`_De%THlrg zh>`dvhAkK#!uuI?OQu|1>yTV_Lek%uFpw8w@zjq1kua*Iq=S)WpY<93f|HkRa20lC zpGuG6Z9g8ffc^xha&hdPjF77Wh1s_{-d})Q!p9IvvW>*SxA7=Y2;w1E-7hVA?RwuN z-KqsVe8`j)GO!RaOJPWxmp67t&zL&hUZrT93*j!6rtOHq2=Q`$Y)EC7YnwlcMUGrSU4`}x@0tQzNa^*8us5MVdE3gbHF{2E)?WKju4Aqi9UzX zW?zCD<}LsV!(KETC=gI)z1W$w)%MNRa}utvE`g4ii*?HW6H2o&^du(S-Ah>Kr=l+tEH&ZyUtKm ze5bDE1N{vVqn?9yPooYY%^56b*5m`*l#o~n^mT^X0_(01igRL_xO@dD%Z+GmC5~Y; z1xyxHV! z>4wGim361x@x@QWu;CnBRLnj6tj#Dn6U=$)hK52?fg|_|&j87#xn-zY&=8!alSnGi zsC_f_(9j9)I}pI0r160oDiQQ>{f2ZPviLFQfjTBoGw9cgxtnz7(W53sjl{{lX#cfq z6921fUWAy3%Dv&;g1riGAYun`(TM}{r%&qX;UF(qU!%Z@2XI2oSWsX+XUdLa^8Sx& zQZOp)JwDdGi!w^2ebezzjy|B>u#f^O>0ayu-u7j}TUg9T`YXJFx;UA%yX|0mR<-N> zC;5%sp8n7~TBB?aLZBR01>0i1Gahgpxe7)(ZsavL!j#@Zq+8 zhtk?7`@NsuvsvnqYglx7_wDkeNOY><(PR4TFOPjU)HUb6PWwcU$#Ado0{UFCyD`t# zzL4(WxM;KrXgTxOMk_N@rXK%+Z2Hr0!64Aci&(t>3F`A=qH0l$io=P0eJ&n`lR#+(?kqQGctsv32ejPp{B&1=jm@JKd-8`4W+mzWnOC z`=#(jq$be%f1@zX!1f^)-3P$V_>qCfaF8HNDE;!ESkLuDTG}+&_hG>D6JBecU4uR>h0xyvVoRcfiLk|7AMt857#~XB1&YoqU&w_prPsR~a>y)8 zEP>nF=W^UN}o@?JcI0l_y|MLEuURiek2Sould&Hy_8uhUCW?EX(x- zVT9QMcabjK6xX?8kfg8crAWNSHG>^0TusH^$9C+;folHNVK9iU=fOxr;7V+Hx_rm?FlUd3K`WHuROt%|K3&t^ksi>ky;UpXT$!%<*DV zKiK%cT~U{FQl*x_;`cEGN%Y2 z!HmoiDE{Dl6hK}bVH5%lhuaDbde(!y(uaO9cuA~WA(fOdwf{%-V&B2IhPIXKBZ<^g zi{qy^(q?oy3Y6Xy7_)-pNW}q4jLVi701d{ROKVE&of?poyuUt2#);oKFb{N^5-(|)Jf0Hz0tGC+39 z^QbHYez8>KU(S&U4aC5vx?ia*F|8a-jkEj<;j(JYm2%5>;FcfUQzlOUG-W zUvPLPQsE9D@$DF`2BuOh895AYkm<9V%Gy{Co1i~*aq_{jBZJ639T@vh22`fC;4m?! z<#(YW(mC$k6ajS-{2_7w%1&f| zwb8N-An1)T>q5>S1phz9zz0ZfWa82%zbcMQP2=tW9?4a?`ZdfBA`|(E@QgenD~QEP zdotbPzqS?382Y0R_R9*xLg|piN4yw9N9>=rM za1GcoXN}S8dU|jDF0}Z913NX|CeX~**ct;u62<>YGD@-_W|D`aA*O8wh+u9G05sDD z@tQYKnOW=n7pS79Q}8o@^^BV3iU0{i5dpBI$cF&m)v^SzCQnI|#HY|Ok;+tKBj5@e za`^`YF0^kr1%gWF zXbWjCw#fxR*PhdV`VZ$RmJbc%!L9(B;exBEO zQn%eDTg~$I-NDwMrNoQmeHb!Hn|;+o-*1XhHQo2Skn^?e+%TfSx;&oQ$3cUjw1J^7 zUgAwAN1eK^{e(PorALgXK1&^d@~Mw}R0opW#ri_cvcp9{*fsVYQ$nOTNm-S!^hbA0 zh6MrhlOexW0apwaq(b9A_+VGw{0PqQhv**Hzhe&zQuyb%DLUkuxc3|}u!z&bwQEyj zQow2a9aKnG0tq-E&Xp1cd=15Dpe~C0(DQwYK-<17umZqUy6hZxZK|d2xb6AMJuk{x#IfbUUjeSAp(yvZKv{bVevd-KBnXR~(6>hfv&K+tH&20jGVWYVi zd{S-#y#v*Ii!o7cuv*IO`#=oE6g~nce~s%Hw5T4PnpqN zPl&~yK_?UF=OY#8(fL7(?;4+Wu5iXJSI&mX1D{U5M=%Qq^p9m#c$xuZ7};_(`ZtN=1xZ+L~=Gj=b1~-mh2_x!RC2o zp?LH1;v1F$z=TT${r2znR z)q~T61ek1E3e=`a0`cuWg8Z4ddBQU&C$k9yE~GyfKz1!n6H6 zAXNum{5lOngw-}60)d8x`;hEGVfN>Y_K-@ z_2(r(j#MtYa}W1W*_vjsmJ!QMg@Y7_?f>hxz(fA8r}h8;O_;?Coc^#x2li5`KNB4J zJh6qD5ihuS1kNQdQqNL(@+my6J$%A*$a(lbj){)}Ha`tF2#LykA<@&q-mNf`i=T_N zSmY+05`2b*XSZzV&d8ear}?LrJHP_>^jE?=NHxkQ_(zM<@$ck`I&@+^;c?O-M^m*? z&Bv3VZ=FT>oR9b|-&Ljua`3?fx)f{r9{X{6Y~t0PtvSomkFPV+PGHa1Ur;y=ZN3m6 zCZB$E&2|0Hf2F(h4@IUbFPK^8eLm3K{M`uj;kKI|W*xp9VKF`*zKjyf#@=M3KRPYw zpJ*F!H+Mz$BbV)FCw%bzm=TLtI7+&U&Qs)6f7MrrHu-(%#D%l)US!EgR)XU)Nr!=E zF;9ktaXPLEaY$kdQyiz!O|JWLo!_h0JrI*&s!+YmBtV%ZVVS zU=t1U6+6w+&xSCS;`wu3g*i@FUHg-Af&v0!ygZrE^w}%F)RJ&^3OZcjpe{8|^=lm&#f%Hl)>Y5-^U((vqRmrE3HGi|<>=kzTV=n6J zF4S4i>#BoA{#||ps)U-o^#E&O8DyG`>nX~LZRd-rC*i%)pVad=fLf%^+7j2-drf!? zcAn0^(pus9eT*?AJYy$p;9Y;T+GrlAFF9gdy?>E$3R-VuAlF*uc+qf%tA-m+y(OIKj>dM(koy7BX$w` z$9J}do+Bfs7TR7YDqJIVgmGZ7wT$q+@bM-4Cx&;&j{YJfKJd88WM{LpOq^GJbN(~O zq2?3X+C|Z5l_h;9AjTCW7Eth()I9}#6&`ZW2F_efSUAMuHHGV6ng711%_$m-D#?a| zVQoe%Z6Q@F#Eoy3Y5F0zJfr&Pt+Lxs4jtv~x$W_=@Sg4sOQMo*d_>0ts)MPWQoDWP z!<3=97vYeZQ3u-8EPFbc-X9Zj~|G~ zq-o0~DaLJnnshi#CdkZ0waNL0e4tB4<=yDP;#RI_7@Jas+^4UI)nq?*PQ{*!F^{jl zeago@qwdY+-FNpTV;%FJE?ymus)$Ns%`%+A`5I%UB2zUu`OanDfioA7<@x2eA_rw; zNV|rkKg;PqKsm82(5@2L#-YCDRwlXou5R_!TF>)z=kqFt#JrUQ;&H=~COoIAc*DH6 z)P4!<9_U8};UO!Y{7l29`TQ(%apYBCX}nP{@sp6*jZ5%td}f1vW#w|^ z(|mcos^OPtRlEjQDq}5ap84k-&ELLbi6EQ)1q4OqHRP2s75J&*Y#7HKjLh%E?_j%m z>KhfjUAMaR1IRm1|2qh49{^#M{NDg!)$@0LmD>#~CE{a;n%AxVZe>SW)Nziu-#=LkFtH9t;kgrJU0_6iamGg!L>cVseZ`VKXpQb+4E%( zRF6mM>%ZL{f6YPni>A8BpFo|Fdj%*KZ-CxMZURd-GMOz1+8Lo9;Pai39<4KhlOJ#w zq-*Hj+4f6Z?G5<@eW{41_?h>occoo^v2OUs$@aI@YgGlY^PjV3yHuB;FVkn5oIxh`)=3~Ssvcq`=U zPyNQRBAnT)6&FtlO}UheI|&6?lKHz-HFeB_Q`b*eExr_-ufvbKAR^@PJTbQYn^VVg zVvd}Q>fXl>%{k`Xg>ipDp1X=x{ZBRdQ{c2cNt=RpwSo)%wL@)%3mJ9;=JZ^kj^CEa^M zX&w{?Jm3CNU9=+oN?&}KTQ@Nmusb2+@bMy6yY^H4C{br~!!Q2sq0nvG11@U}qNml! zqiGs%!}^c&?R&j|Ogy?5#R}}w3JO2l?R|N0Uc=u8VTNoXewfa2u*<$5Blk+>Jp&yI zXk(K$5`6j6zYA@zIOQOq7WdTvNpFgx#uVu=NLD=kW<{xVJoYSo1=gnxU$>Pd-t-fk!j3{K7SW_@%R@@SKJb1 zmsfS0sYHY17FC_`?TexwL$YiGdRDD&R55*^I<95#7Qyi02R_1Wge}ppojixAwX1L9 z8z+-(v8KEOxR$c+$(WIG&CA8cM>RIT))a`}>H{<#JxT01c+(u+jpsE3s{P^KrDB8T zzFXSxRmp=O?E)X{PUT`KOBJamPpqgg1zFk9Yd5fUEDhm#E$$I?%h{LUxPldu1uGPU z#eDj~y`433(h3=Tll1C{Sf}weP-+dbZ2NjCu3xUN!CT)fxsqH<{ft=Hne2waKkbP# zCmMaKC@vjbzBaDJ30tD=;487;j11P>u>(gVHBecD(;Z*Qwspr0TqO!73S#79b3>#J zw7Xt}mBl)q_%&jibK%W@6*T`7mJX3+$^%FWKFpUaA{El53f-MtGtNg3R-KGc%g%lG zz;pK6J+sq_P16}K9b}yq-ZGFs>wJ3c8=K{)-bV*IK{I<5X<%~`0{jI1`Nox zjq+CIc2?I1#%6Ct8qL`S47#1Ku4%L8rmBV;H}q?`elK<0 zC%sR)o4ieN4$qcW;lKT*5|lW6DDW$*9t|uh@kr^%Wn~SU`^XFF$zjaM>OabMieo`0 zEHa~#^xngbw69g9PVrY6)97{5yp_HuUwZ1$eM)%UW6j5UHz3>=nggAKfWpXUd13@K zl85yHhqgY1e1yy{L;m^KdAPbBQsA{sK{-}VOUP1!lQ|mDk=5K}&%wcXG29i1;SK%y zH+u)rz?epMXXkSWKPdU>|D#JFKjl%sla>*4mR5YqqElZd>MN4oO9I>Yy+aN4C6#Xr z_#OZBYwtDM1Uf)$CF>~cw5m2gyEb8S7kvO~%^RV8cVClz{L^pqM}3*ZN?~r-D@cv^ zhUFv9!1Fa#qR7+N=&KW2fEEK#^!({p)^1%6YUr`Rr4ji?(8SaEGx!Y)in*fUV?^$5 zy^|bplcli$Wj)Bwd}Ycx_IOF)4_IbCjc;CKK zfAy;VYc2j;-|k;)aShs8(MBJrJuC{lvrK#9@^y>-l_DGxCyV7j7Wl5Gvu5W;T?_Mn zT>ruTyw|~&A`^W*GkrydzQLkHgLYu{N`cP({87bHabH!NK{M$M-}e0~_2v-S4)m`H z9CgAoh^0ITP5(jy)#^tetZ8Uqhr@M8$jiCim9u_zI;t6sc`YNiV_O1;m8K%^k{xJx zly%)urMvq5ctoFUdGsyE!z(p+mA(x}jP(QDQ#2PY&%kw2Z+H6S7%n2_Hy1G%m6Hs< z-T8E{ejo8Oa`*$4d27uM5ChEwN{>h&(s**QDy=B$SgAB@U-!Z4#jZW>61OrMsuNKuph&ovZ=Z=~7uVZKb@|vdPR4(2 zXRh3e#WSAo&InEe;T>`9Dxg~0Fal}}y%L~i{F??4?^3aW8wJFJ9gV}7fCCdr zYMr@_c)>f2@hOw_OmV>y4Inv;Y+`DtpYiyWbBFyLZGRfwIBux$t)2Mt!}f35&u>Jn zut7U$lW#b3+Nm3&+k^EJM`u8E3ndijAFD9LOI&j@?XL9$fKu`632ElDp7F`8gT1<5 z4(N@uVf5X>Y2*xMue93(0)lIxJvK8+;q6|tN(za3T{;#{ zn7*j<3sSl~RdQ_%&lsz}hc-$Coz-fakN&WK36oDQtSi6oHxMzUcav+T7$iOdp8?t~nJm`&Q%H|PvFjrbb&f$OV$Fe%n&^e!H2 zE31C^lJ{t1?xV145kcpd?a!N>i+UxYK6~DI5gWtX&DUkr2g4_9T|j92^?jO^eu9St zMbGAHUbN~jLFa^-L|Z|D-pL#`VL13}?1(^h%)Amaz5moti#Oj#T|Al9eJ3;P_0^2f zsDr6K?q6QpJBTR9E<05XiO~T-NN&Vdnx|M(h6?kZQ#sZ!eroULk}~WtNAjI<4o-i5pjU zUSDj!#t`c@swN$x$5k&}uBk0M+5N^#^YfCC_;=UaXSSTVC-vqE2bI8=Vf&2Xx8VAA zU?N8%PpKmof_~dfRa`aPwEIRR!R(D_kh_6{AoWU8b}5P`{wA$Ux^V;agi}0P|47d! z9oG*a`UX)C1NHGPtlOAz{Be*O_UU)^;s%m7cVV6B_jQ9dUyT1<=yJ!(8aI)6Q`86b zyF%O(a)N%Af`UHT{Nl@nZ1ERpOZ?F>=ox!y82Lc|pr6-pecfhB@+Oz(XpD|ePGMyE znUInnw~c>_Vq2*OWwj!2pnvkiSCt_`5QYRtTa7ek*Oyjj;w`1Jik2Z3C}E;fup&{FR5Cp3F9@#$$;YS3b6{ zN(I-8ife=B`SvBk{JLS#>OYCSrf2qUXa>5giFV>$2*eI1;pPLzJmH(4Ah+LzLSPMs zdu`5PUX7h3xl8GN`|cyM#o?Y=oc050R4@lb%1qAHerpi!muunM@v&QW&2tQ>Y7!y^(`=;RKUJ;a2_q7+`kpbO*fY&=9uQ z>eWy;F{wi+PjbGji_0H=QMDg6_|iP2S)tYIv#IeArNpADIyrK{^o~Dz{yjYv-p$^9 zM`P1_f>qZoE85UO=2xNWvto=5jr+NI3teU_qHMwM5jp=H(iamN%;*qsHK?A0uxAIL!7tYjJrv(=%R$jhy zsN~VS&EYYLiG6AdF|wXIc<|`u=H1iShGLs$BQuRhok~gyw&NJTZmc~n6MuFF9WE_?b8p((Y2d}; zL$NWt<2+leE~9RBVKZiwD8jx8_|zZRShsXo*O#8n%ab%-sXoXz2*MaR8Xe0p*{Lvd zcp~VeNk(wQjDl~Q4P9SLkWG@p8g`TKfVJJ>hpy)4bV@4O^)C+Xe=xJdQ!L${6PEMN zn0EyLVf%tU`IXO8o$)P0kKLMU?g!tO5%F4e|GHmWchNmS$>Oj=NJOh{VZZkI@P9 zwD&VQ_2KG4YFEU(WXE@W-)%ZMYMNU4{b&AhyHsEmJ4S>ByOhL!7y3yNQ1sj+KSM05 zvoSD_u-1_Rm>m>jJ^Yj)3Q@fP{HAPWZbUV#%hB>$h`%Nb%0=Us>TWMP8z$bHZ8Hv{ zs?E^Yc7%<{>GyXa_I3ccF?)glT7yXbM&fH|Bnn0vcGEDWfjkYu81%3Idb??4C}IyRItPjQR33Jh zyrUKFpJul0;YZQQ<7Xa5__Q3Sg>g*aO*HAW1?^OYyq`>T3+-q1UY+27$<2cI5`k2# zsJ;Yf$WDO{pU*TRA2ClEr9CC@naA2>Vak-carT zGS#qHEjnBU}CBV$#0c&YBt4T!3|!g`DIh3f;zEUkqDBX8amr8d{} zpMX~rBn?wwt|KxS_Y76f*r0#iI?kK?jpaFG7g?^hL}m4YUT6}-h}TW#8jJed2Ba;3 z+*+I)eSdedaq_F^z?9*$1$;&=@sIa1ze-bR1}nyw>ux-i%=V`)o*tv`q(aciVO zoS4qF%7(r!_>^%oL#QY{wJcXql*!Stxy$8T1~$LH3rM1XhV%yIjtZ&}+uahpl~h^c zD_*5uZ#c9d!JZ`XWC@zTNTJZ7OTE(r+og*I2|i-;WPH;0vcZA_H#ZtD?>H6#M`4y< zk&o)>V*An0?rNyF%;~02?Oibx6)3J~YNCFdK4rP@XJ7F#4;iJ)iRB+jG`3fb1h7rh1`u(WaWDcg%|k!!0R-7=~9h_l0W~CcFRJl;DNJ zqCgG(v5RBsu2`dED(ULitNNn%@e6bYS7SUN3Xe%QfOBVmesg^K`$pJ@nP@B)kXQ+w z>G?kKA@02k`8ZD51<_9x$C_k3{ZSlW*O>|RIlsnth;wa6H+OZYOD-5Qidy=O2lT^I z@l0alz5^d#e7JwK$@peqjM>u>+SRyZeqFrDIih*tiaUR&%0&*}HcN+9SQJU7%^ef$ zAYCRFf!bk!ZyyPaT2>IHapGDzIYCT!O4-{W1XTQ)-D%;1{nx;f$MT8aAroEj|d^McA z5^;lmZ(R#!ZkgdU-xRi81N}5J<=szB>$oVQg8Ci#G}DH{z&C@Ww5NAK*5Jt9rhyLG zy%bQGo82}>zmtG`O+>T(dDpPNGNc~MveL2}Mh0G=+tD|Be8-e@_U&U;^>(lI-`%ol-rsWuTc7F!?90k`IvyHk46|%Rdd4om$DvZ zQwt5lexB-(u-_wk6v4&MwQ7xfYc9SOw+U`|6=-vbO_oX??BbuoNFb_q9RvTERnUsv z$J;w&V|~)7dXKVB<3$P*nd&sxZ{ho89t98EgPjqjclbJKj zLI3(oT03?`JP=#CBcz)(ow)=((Sm;ZT5^{pL4E`k@Sonc6?cVOZ~p8ilh%Zi^&+?| zhmF*FdhuRN7_7m4wgY$k58>UvVk;|e{*6l0W(2~ES#VyDA|E4-IEYwvbAzB6hCQg( z2)6-V&%cmh@$bJ_0XwCV_ z^=!Zbi@pH|VhI8OJFQHurTsN%FH{YZj-qk)@j+x_=S$%3*O+lc&;X9p=ocq=P9<&< z>kbyN4ZnEH0*z7*d9f`EjoO{G>m#sa{3^kH=>hA21UcpG>GM zk~>yK*^%;n!GW0+CIC_3Q=qyD;74O-fR%p*u^vigT zdQc!tnkO%R)S0bbrHq|kGl}=WHt_&kdzg)aOR3Pzt`%+& z`ZaQmNk|VN0tV@HX@WyZWV5UZHOgx2G+8s~uo=84fX;#kK#Cm9;P^KRv-eFR%GR)znv=G5~#lF&nxGcKs`sc zgP`d})?y~m_Yj##e4ZU>>CIe7|gfvRyBYYa=T09piQc~y-GV!~^1YR>})*NWDE2WkF)K@f>Z zg6Nh?s0FCtmlvrij_NeA+G_#EGVNgL>QAE@3m4GzOF1??@IV;mmV@F6Hr8?{HEq7` zg{XmZb(qCZ$0w>g?7+zStY!MND&)pH6ZZ?F9y@NvvtIqY1=8yYNowh|m!fg`6o&H#>Z1f-)Yy66%x%^5Y@Jw(3Qlr@{Vi!sTCP zkyp@BE6bcM#Pc3YFj;yk|2521{lortd==pq!<&v|1rf$j&kAm1mEb40*LNi+9TT2V z#91(71Jn3BLoDGYK~BZV&6>R{^2!VQ1+IggI3+nWq=WLZp+;-tf+*@!? z=u>}7O8zEIZx_k4g&JD?#^9P5a0o4?G*;D-!D45zQqt^>6=?0a0ZmJTUH{AUku8gZ zv8JQQE$E>9ngCYnhwDxP*T{h{^|MzaV2v1q!!ec)rfJ?mo9KHxb zrGT(u;w$@1K>|{`^?m$J=b$Via&~H-zoSn5h`Q?07vJ8$X#1Qk26W!Sf^gU27IJ|R zp0s1oz}exxkL`M#V;k}M>o0OKn|(sdmN{MxSJ3YXKj|N3>yGvW8|IH-<{P(}2c|U# zmwfi>>uDVxd3vf|_>nMWl*uh|waWvFZf!S~M6SKv9lZb>`G8HhX=u&M{rA5NJsJQ7 zcwM(1dgP=WvOh_#ZT{J;vioQRNK~5?W4rZruyP$g_>nxg*WI? zJ)IpL>fWi;#HiUj%RFI$2qjX$Fs5&<>6JsPU;F2>d<@7hwt@Mis}H#-wIE*~f2{;x zFOAxetj2@)`OV(-2NT$7Y$;bey$|G&Q)HBT8zEVzzLpTuZ#NP&X8Oxvy9@y!I}KAs>U)3DMp6_u(KI;E|8(566U;$=CK`~kTfH=dLTms-`-Jo2tH4&9VoyF&A z07%%E=Z*jpW?Nz3TH$dvgfRrxDHp8MU=iv(UGF$>!HYgWfdK45rq~o(waxbU_j@mR zTAcirth&AmR(f1AI@75HgD5nsO{fSrvEBOR{&8#FPkh^Ng0-inhqdbTlx0MAo)5IH z*|nFu>k?$W6t9?k;;8!lM?Ab{uFo3__FN+k!_?BiOZe4TP*{Yp!mKZYXSq*uk%xM- z4P{?P8_Q+L<;aS6?ER`MO?hk8>6_rn0g>;8rhktK{`s@w3}EU-@Ixv*wfJ^YG$k2e6o6w@Mh@SD4qi58=bnm0jY;Q?@u^yR2})V z8UJk^g$L>lJdL1Kv^d=07Rs~!k^eb;5NbF9uLN*>c_e8*auQ4229a+-APV?Ka6#1( zHbUbth$!>IEde`;8)iY=(dS3@Ua2P%;Ao5S3ALc5aomN<6>Z+>{RKTG9ej?RbK36~G+7i0uKXem#MkG@ z<0nVVxGWHSwx;C9vG5(F0p2$D{V6vn|L$^D1oyT$h@V_~+@!ECKjE8+vf_4bv0EqB|>tTtnHsKokri(Z4z&EG5(D57VJW^b62N)*&Pog(A4x}}& zKRpjI5A_&|ZB1ruF2~T_S5By1$0Xj{fxf9=Ml)Fo1uCw)0(gyd)YIi3V7GsLf0Vt# z90O0d5YvftOc0x=^(|Ew@jOU1lzM^BePHFC{?M3zj`mNIr;`#0?A6an*Z}`1u>J*E zGsF;0L?0x!tfb~f&2zrr>dpFuiq8Ff~jQcIu|Jwy7v$X&|QY*>Yztnzq{-qK#(YEyPHuVmxo$e91;UF%OY97UyFJf4J^ zLG&TM6q7csjr;Em^eygOac*v|Rat$1eZyJlye~hDF4+jD23($DZN|C3`r2!ItSa#| z$sR#-&~PbZ?5(@JbsJv6jndj+A4-{fX5a z%o`)Q^O<3{!zK; zP`}Xb6jWUNpx9wSvbwF=sMGvZGCR8ZOHt~UZ7xr{x8xm>L01?YxTv*$_CBwN!cD6s zY@efwcvGH6I&5j}`;qqI=(zLw$ZrMUlnOk)&I5uEY@9w_qUd@gtQ71YT zlB0x#?g^zQcg!Cm1@_Lnwojf4d24Sj9b~glJ>4PYqF(ME<3WEh@z|CE&e-MVEECg~ z%`6+bY0pE_u7TcJ^SyX-c5RH<A0BP#?Rf z3(5fsqW@m_`S1O_g|OYvrbhqQ)A6ez-fzv%Rqg3M-m(#plVuQ*46S(zUCefnMGMy7 zkB6=}U|4FvYKow;%q=8hqFSmyJ2kCCLad6s#$* zv!nDUJn{&F9h(D^b>9Up76m2MhzAuKxbC<06C?*E1|kxZ)*x?Q*we*7yu}b~7rt0I ztJkSe4(3>`y$NqCu9a&!h8fAxx@G|@irTFsyo*hdV>aV*+iZ-E=N9Mh`5elw8AbO^ zjlFtYGK&M2rUxG+cZT3fDOq{Deq$3%;!?SP&V=a@LJ*nH5Y z%4hv4uPt6@$F@ZO>WIALmy;52l5NaVEM==1;QIU$hAGu%+uU58M&h2(WZXVCq@0?> zZQXN^KS#lu@FZ|8@hy}3>vr!b<`;bG%(bs?)2k-17hLzZBn%xT+~g5nETd+iP-r*_ zy^*K|TA=Q`XQHLTR<~V0OMduF3qHAq7-Sz_VFH{R-?BJ?mxrGIs25}_dlw+sH3~e~ zzTLIFBZ!S{XiGmp9wK1WT>R1Rvl{FZ42u_c%0yB+O(Y&bJJ;T&PmcAhbybr1)H<@7 zX!xn*5ly<+KpN2j-es3#!3(|5wqm=I%LqHM8f%I{)B*S>hUTk18I|pFPl7zZZ}6Po zD6{>M;?<76Xj$M)|FvI8CE(epg7ml*LuJW<RP z2K42{CH4!hBZ%&r-#%PRpwO{g8b3q@IX7tr1R7_9?X@23Ni|tj97#SdC-YY4kTIy1 zVY}ot&W;m{oC8qgZ;GN;I;18hEJeqqYh<12Yp6& zn%Igekq@JN`8$_>2@~l5?d{=hYa$!1sqaB4q6h&W#;-&JaT~!1{1F6BgvLd%__!NA zK!583dL>Dd>kOhFFEn_7e_rCQ!950T1&|g`?p)rdrMyYOtG+|jh_U;vY7t4KkEO@^ z#*d%yH@{T4(9<&YK9=5mVYlku5OWR58Mhf?CmHM<3c~KcpA`I`B@F-dZ~wclo4@Zu zJ}9)sFvQ@x0ir;tr}ht$8jdz{JJg%11;_UH3{ZW=ia;wZ$HLGa(!3mR7m++7wQ_XxhHQJAOWzJ`(MmQ;?OE|s_53ZT$R z5WP;Xz(z>$euiq5b=H2tFDiL)%1!}A%xja||gsO5O;1k@ysDL|(rVhcMl z>9wg+)j?|4uKP4Sw;6oQrZxMTuYO{Lc%NY>=ud*PNtq?z79{btQ?l%d{PWQ-k}||A z`Vfhs9MsfQ#4p`92)SI*$1+cy?n)aJX`72=NMD^)VW8$HB6v~ z^u@MF&d&mia{y`~1qgDy(eq*<APj5ShDB$LWMo#AAI~wwo>V zrGH+hB|)^qy1`?MTiEB!Eb*FjZIRgkhxnPfZ_a7ABOisye^~dw5_F1|2X}N{@5(5& z)g@^=TFeh`*}i*JvgX()QuMkbqFc4@+9%!`)Bi}yB}M`3nL%alp`!)&DuFqDM|3zC z;rP1aGRhjhz*w3&uZ{g-n?#5|*~n7vTv2jj-J!RnX3g%g4xS&KYc4H+oBHa4ZBvR@ zp3Jb2&hk%{=gIoGZEy#y%J!$zF4A$a@1{|j0qzMCjovZ)B(cPUEqy|>zyl${F)(n{kgK>r|l|lCKhEb*ti8QwCJuq&l;CCUMB!_My>*+gRb4a z_iWPdLKoPn?qlh$IZ0fq1>A9Mzt+oJOM1;8*1s)XZPD#!D@$fL3mh@7N4c*ZPDH&O zS#e4g%;kp6ri#;7|N3Eprstn8aUD53Y0uB1>HaR%tw#nB?Vz}^49CY+I<@p~j0UN< zy3+3zzE^94a@97>D8ARJUP=SR0e6}eFLqa;i7uL+Hnw|;D>^6RH4p9nHTL$e!x0^Y z!~x0r{#SV4G}95HXtwWjJ>`b|ya$d7=LA!Bm?UtBfctKs0MENJ=L_chq$>54tx%gD z)bjkY3e)T&m<+48N9~ZJ^D^^El{zWQs$dL0O2786Y2MoJ>??nh=3E8x3P$|IqXd=+ zXv+6x)nqMSFBY`KCF^6v`OX1JV?5<+kTZ50yUsPT&ilmS^+U%!eg!*7u_g;ZP~?=J z=%nKD%MC!pz^>1_N)AyyI$}1BnGBqBzDxU9@b-SAyR^|Eu4>|TPFRFGEu6TuMTHgy zD2uxAi_VQbOUiy)S6#*G`Yj8dEOxlRF9U|eEeCYm4{2FRqYSrXue+=p#!n@7h&|LH zvuIU>&9kY+C%?XMpCnj`|3rrMBr0$+X^S0%OkK}Xj67jG{5LA7tAe6G3xl$R1>JFM z)VTi&z}+BG9D*rOzWgiH0S^to0gVq`KLT6@!m#NYv^}cci9l=T;EamneitfF83)48 zJzQXup>l}7FgJ0YON2#yU~(0DkqVf#0yvjR1X%z@2f~tl6At7dStkEQ&R@|E{6czA zt!C2E_Ql0p+iNx~tDYMV>e{*q`CMZaz?Ia+s;FEk5OLFLseA+f#8ZYj##hF}1Lujo zvyCpN6|T3`r?%OFkVkYqkZ24^K=K$`04rzrIC*w=KoQEw5it@C@j~NLdwNAkm6cV zr7D(tif0BSFbVmq;W_sg`%+Er30ItH2D?QOP#aJ}oUlhz`ru~_HTnKb+$nS#v}pyg z;2unp?9#e5bcdCHeD%&tLT5a`me?lNyLw3{ZhmmYIovV1DEbG_-%HP7+1!dDqjGx3 z{O>}b<|pKTi|j8uZpyQ9LG%&w@!`t8u1iM^$O6HOL*SBgOCL$I;7mMmLEaP)qz3LI z3w&$>u>oUPGVeS|Jjd_;?&|Nh)alTs)PM&61H~X$HX2oll9FgYY}*DhvoS>VgHpln zlDTg(Mdh#h?TgM`Pr;wwD#j$<6g*r8D)w+&f6!M@q;cxI{v$|jU-;S*2s1h^!VPT7 zXpWw8SBP~Pv!3^hC0LxO7j`c(=zR*%pcwr!flBhj3hPH&ssHP%x zCFa{K@{ZsPPi0soJa^Sq&L~M%Kl0Gt`q@#kCWb~HD8IxLn;*zNEr~(@u(84O__@%z zX6z=j5c|98se|w{tCvIzm0yXiP;b^nxJ3}pKapJ$n3^;qSf#9KTw@oAlrVuh8z>Ci z!XoITcofFwPIvm4fOy0gSDG=Z-Ty>-5H^7~GQYu0vv0G&e6W}L*P2`Z{LAE zV|c7So={`fpJK;&g?D!L@wd-)G1;$WAK^NwmzTKk>#}FS3K0|ypN_EcAju*EV^15b z2i~9fE@R8h;?J*M&ABsGuUB4719R7KW*Tfm7IXkLQb=H7#xI6=A4}cYZir`~7p?#( ziUdC(Mn7_-1SbtFR~BF~TJ-=`IE?=FM)CxFW_9cT#GBliXex)%<5D9F1b|Yj0(^iW zqh~;fu@k@Wwp-OYD1j#j_I1$nMd}pN^zCtKPS7UwG58yyAT1m|ioFJH#>7j7I=Pg2 z7oWC~d1+j_PY9v=slF)?)zLM1v+{EWZz{vQumG%iY1ls(UgZBX$|?vPym+V~ZI-~= z24dT`WYPm70fZJG2~1~hn&8P%u-KVw?$Ia z10$Y{M{D|xNyD7m{4C~IvH^KGv#humy3I2^X*1cSG3WQ@A7n=AYg|T{In{FmTd4Q3 z-R_E`JLcE!=LYi;DG}VyB`~ z6r;;tS>|bVHZ39eWuT6}4WziZ3{ZWX*N+`L9b z)S084Kl4V9AjskNwE9dUik`*^h`ghIqaAKEm2-jFP|uEhXhCPX`j4h`#BuY<_Zs7r z@4(uS=#N8s z-E+SSotq+d#&fPO2}bn^S^6<@@XwY10LY|e|D!N*wZb6X=mQ(avq)HD_=*!FoV{Gn zF)tUze*@Ukofhy9_QIIbHU07O9-5RIVR$J~1=iW%(IwmY`TF$+54GLVDCPOUXirlk z^!w9#dFJz2y@}?-JaBVYjiG9;*PPVhj)G@PBzRHLvHp5_FrtO*WFL7b_-5qkWO)no z-mQ5D^%Q#TCcceTVNR9fnk~0j||gLl3gmRX4>4RWNM>l(D_{)Io>sA2yB&t;;6et z3+M%2Mr_b-t1S<37Zs`B9BD23CS1PR9_`4HO;Uki_p}rA#es0CL@^L9-8205Tv6vg zg-Z>=X1vz3${F$6yEtS_|B`Hc)k6BaTl+DzC4d>Z@c8&V{SJ? zxBD`XTpH>a!Ohx&Zv`Y1?V+`JeQmQZxocoJNVKJS}0D^Z?vaQe|M$k>Z_@(kul;; zxA<-6$h9GeOZN-`v|-oP?+V5r3lvm6oYOM6T|9lPX)AE!8u<*%h-&Tq{wS8?>dDwI z>%CoPwSShHJvH`jQE_PxOM?9g;QvW#Hk)}*(PDFTcMH!dG3#S^r3|=6%52q2khMHZ zGC~A%D{WMQ=Yw9M!@13pfVW(5AGSVKi0*2bumakZJ733V(nzfEijUUr4dFy~+GjeUN zvCHX=7byJ|9?5xj$wSi@jYgzq`7B@m{pESL9UA0hIxxxFyY|#+!f5)`TNGZAJkn;; zRSX;b(5YWgp(i)$8)gNiI~3+Td5m18D}m3n;4yM1Ul2E9dULL0LACA|h!(xVJSpC> zKS89poC8b}puN%ShBik8?cx03>H-R$LXMgsc6dQ^pko1b*$mGcmtBJ(=rS%Y`S#^5 zS0Yd9H-ix$9^0c=Sbn9R)jYUG0{a<~&5bc(%P~-w>R${; z8mo0ItOH4STSQ@E)@6L149UqtZ?^)GKGVQG-11A<3P6_N*l{2HZvHN0+f^{2sB5d! zx9EhbjHKQ?;_x8&^SzUp#`HAnwpw+Tc$23dG$1?7QVR&=T0@I_!hD_DHD}) zBZS(MW{8{giE5o&ggOH-zVG4P$t^d>c}g{yv+l?xUroVCc6x@_Ala7=0oM z1#P*^qm-w9DUk;VnGb~2xM@n1H@**9pFcuedHYMV*`<6FMf{gv5jj2*M)SdYYh04F zZ?8lRnAXF3?T87qnfdkh<~&cHB}ck7wOaeE*2jri>Wo9RH=)mDWTHr7^-2%%nvbZ* z{yWeHJTfN$Sq+j4J5e^aM`a{P)x^qO+;Y@d`Bv#Ev`+`iESe6VixF3#FUf*rs}nD>^2c|B%%1eB;CsG-;p z3lPf&L4OxmJN{fJif)E7(5g~M>CDNM^siBA70|_Ohu6-x_lzYzJ z=lOo$eV%*2=l*g2SX=jstIav)nC}?l9b=>(ew@~HHVJm9VQO!)HqgWLABJDMcz#ojtyTPoB6Dbn{H%Ja@%9zY6^v z=>1FC=)6WIu(o3k`7*WS8Of!}1Yji%Z;|wzom;X#dX9p%It}C-$w6Oa%2beV3&Q!U zzU^X_bVn|nuHi4aMlV>ptBq~%(>SBt@vbbosVLCQq_aAk2)C&%8PP%8qbyt{ER%P1 zaPe{LSVU-O^G;X3j|qpG_c}buB97EXX7wQCqFcPa9q@pw&O#%6+NUvco+*=wucmCW zOmpR#g(O!z>-|}6L~Rsjbw53|M(D9P15qB7!t?}NWA#mQ%ZB8O&nKPNUWOL+P$9lN z8x>cCgY@-cxfw5uln%u}z?wM`JwP5Eai==7a zvOi4N$>GkKSYE#xYq@G9{(u0?pM${Dvxg*pcl-Tm)`pmd`FW|MY;-(3mLTHnU*jeJw z#43=H@kf+>k{#jteM0LrgY+@+WAP384e~m@^^mk+@4wWGshbnSRibhYBfs~s4QtG_ zr&!XZq|Bn`dbPa!)UigX{m0H9{;6}Gn2#JFcgn$r7XelRCGG_~o#!r(P=GJG8R)hr5&fRd|yPj(*DFz~sSD)CJK)pB~#Vgs4&qdE^Ghv*5IF<+kc^diT8WGUT(2IW-lD}U&>5N1kDigj{ww`Dz zDh}0Vr9#vXWbUf3_{!I*jGP5$SOQ&X#6^^V4|^VjhgC@LfmpeFMO51CgLXl#)7<1V z)~BufY3MQ+v~y0d%c6NI4Ue6gY&CVj#Ge+Uu}0wPww=FKLsljfiN* zs84p|p+kCkM9gf?6qqj3PQj%WbNIi=qjI@@>EYLDOh?Ez2o2rr`0=nc)FYl5Y0NfW@-g! zTCj)hE3_%eOS?HeRbI&!Fbd8qHeQ!j2p-PZZl`@uutu6iV=Jrj zqvtjO{E|uLnrd#higc`~dpViYulg@h+X^Tf@gvS?m=>aDv~?1IY`ntz6hYot;j_+%rK zP#fkn_M}cn6;)C#eil9bp6{P%iVobl>81S0uGf^(CkJ+-!%o*fdK5L&g9hOheP zu8rNpOas2nD*RTgHB%+PdDvP<##z~H=!7?| z^3Fp}@6q#UIN8@AR{h;ZX!zhbQ*CPKSWNB_xUWtvW$2Mf^@Sv(J5edcfZIFG!(xA9 z8u{&GR1y8vQWxvyV#f5NUZ~tKsTbLLewNNbOGs`}GPv6k)E?XMHT8VsqE=u6>5w2& z>lpST6{mSuTKyFt?F}WoFMp_6m+4Q;OSAG=pS(5UMc*v((+OmCu6MWy z^5^eD&g7j=@!Qy&(x#;kEJj(p3GYWbzhV|{x)PfeuQl+HO|6C)B$6tSvE@`8@bod& znxEApZ4VW_3BSy0t0x`XXMp?``=_Tb?eV=X^WNdW$85?z^F!+hyNCB~4jxZ>bgkSp{YG%mA70NbH`< z1j}ao$AGJuVSXo*oP`31HWNq_WaO9GormTqmlwY>V3loSW;lJQb}aOkj&c4Mo^&8F zx!+>y3|5k*zP-1*w>rD*#1$!d9jVP52K+V_JKo6 z_pi1lEez~MP#ej?z5-NoP`$@XWm zXWG1$%qeh#%^bJjHSEp?7HgRx$tVYUtz}C`ya_;@h*6gW{E8h9pwg-0OK89}KpIgX!ZzH#%Fgc?* zF(LGDoWtE&_cnAa+z|t34dS~1)tq`_6GzE?lZnenuXadX(U|-_hfvd3d}kohYz#&c zggT$Jk%0}yj%i)1NBFmdWl#jtijrL^-&g~!kK z6$SfzI`^e>@fKw{z+y7BqVu~B(~$#RYC0XFFw?5r^VZDM-@R0|GJa1E^|57TaVF`N z{@PkEdo9w7-F_gcWXoOZi&lf=ytAza)?k%iTK$idZdBH`?Rno%Ru={px z{@AAEpu4_FIichSXm1S2cPrD?aQo`zFz69GNLQfK?U)BD!+PsvZguyot@|Zg7W_&y zU-zQ*d*3tdN3Z%zJ*r!x(-^06MBX|MI-F@93!J1C3_Y|t%D~UK4W>=rbKim+bN*r| zirvvpsWFp&Mj>+kKQ+QCDzC;Mfle?dtqw8ktj))bh-KxG;0~u^9N4yyG`qp@0kk@9bSZf)GfifO` z6)LS~n;E9Jqz7TbSi1aUm@*=FofE`97LI4zk)LB0MS!=MVSfOdk_ysXcB|EuyyD+_ z><`bFNnEX_J^QVX+qRm@dd0-|)cqsiGP9Mm4=?v8_?1|Zp@b1{9oYP4+6UXYDwgoL zeltQX5I#|A^c6Mm4(M;eFp4{F%O59h6C~y0XHfWfrB;>;hOXzJy?DbYCUG)AoDPQf z3dDw)gq5y=Zd4iYu+1%~99UE3W7_;wx0P7blD+bFgq05Y9r296q1Dj0CrNDi$88~u ztG)zIycos@_k&Aj5oV@soh;oP)e9s7dQ``raV{eVinzn@#@MvEW~}MQ9O%pUg5nTg z&$L7Y|0UsFy4w_%t-w3+yO2@a2a;Jvv|IK6PRp+h{@?3bj1l>cT=Gw@GrSRmCgloV zgJD33!og}R@s$eyYbikC_5e)95(NuGN17)>I;#PwNzo1Snk8gGA3_oOQ+qGKEj1x7 z!6G1k6C?)rQ0pTXIjTH=6k&{l+ygT~diRRKb#+8UaAYMhSzf&iB+HsZlPBCc1WYnw z6$nbbWFH5iCQ*SxD9QCT%HODMah?L)s9KLNR@ANdpnO1}&iP8-YO7c@S!oYCff z5ct-CZ=7q>>SFBBztB6$tzu^4OO)4a+^q|F zD&d(9zv>Pbz%3b)tlm~~4%yLYo49pWU(l1c%YCcYgKS+VmJwUwK4FyYQ00?_VY5pL z3WVXp!~(co9L!tUr4w^G{M#*g;#SJDfq_P8pR?C+kD_=kMz{(Qz*?KDTAnM7Fjp>besknD$dL?xK>8O0?n?8oKK7vR+y#x57@*yvA_w=(Z9;ZNYN?N&j3@FN`|rlJOteO?M& z%PlUsE}dLPZ`Sn8bwVv#q8lFDy&3&c(KN^0{FwME%vn3fSJynZb%^rb^UMXZ+08@_ zb;`X&Z(Y&F9rR0WhwqF%HM5fOxuE#vUzGyZlz|vj4P69?_s(!-_wsX9TLwQSBUQC~cAv>6`PZnZ zUT&0?ueNWHz&`={g#fnpkL!S~z|LU>v-_Bs8q^+D(8@@qxFqXk2g~}*uE%u}XM?(K zE6KlUdT>prW1@a_hMwB%hYT@RYO(9d>8oucVF3yl@%65ioV;n%#KR@oX=;)#!L9kV zykg#_-#~*zEwKKcroua+TXzYI!mVH+#Zl#1xUHQ|@q5^32kGinJ7(G*_bKdJk~;8x zhfCNtS7n6<-ohWKesBvRj}7wd~kE{lOszAMMKLls}mD# zY3jS2EFI-0jb@a^;HO*&UY)|e_V1s^=l#MS=Na=s&NTae$+d@$4;N}4x~B?W_C1@p z9rAuBu}B4JI6Oe1-x}mexo^@JU^ls|)Y%RN*Pa{q-!Y2MtkZf~6fbh9s~xQvTg&UF zTxoStSa5mFGncPcuM$bENj{h6K2PS0jSr^;^1U;hw1k;SbF9erq_EN~a+v9XgBh=y zwSKK3#F-x*pL5W#oeCT#>O8(Ps9bM20c_C9TmP^tY>ar10JXxa2QHfiMR;t9=0rt7 zAt+f<0_?V%fUDM=)xpLLSG42qoWc)Knql2h0}#^o!J7XO(gyMCl@`Sb;BrZ*&UrD0 zd=mO|Z?buB8jo6sFn9|U^E-hE4aa}{YY~iJ;tPO!wzCyBKmqy4^e4a};_c6X$2w&y z6pP`N2&6cPKymdUq*uhx7eoZs;z9Al_8}vlBn5t}jrl0fS#fUv?xf%_qdt%+L^N6VU<@-Gv3T|fV(!Qi>O2^A zcEq$FNeXBHGE_?$fVd05J@;#nSeQ0QU?Z3L!LTrJv7My|wn{H%|vY9Hf{= zH!NtWgZS$V{_P4GN2?dyLJO*i2IaLTlR>YBuYiK4{2$I8KlyiBMTb3k_6-NV2i{>J zbl|Tnj+yph6yqwMb9_z;qMltT)LC={nmZvtkKK9=uN5FhaF)%W#tY2MV=9s97*%toSbfajaxn_`QYd z5~pcP%l5$WaFkj?{Y&$)v~}>3Q9I5-OI6U13+C5@v6#h&tc-S6X98#;4gFAOp&M91 zABoLA{E7c`ma}_WFgJq#QV;c!!1_an`{-8D80bdJ`-B1CEiwYTf`Uh?$;~4BK-8Ny zPkfa&WyD6xrh{ISJ}2LXylq|F&=rtacj7aMSbU9~@AJ(-%UbQ0Tq>Nu5nPyM0^X*$ z2@vmq7|uqrjGmsU{xTWRrg46+$y8Xy1`rkX;V%)}RN0E5pp7+8-V5`H9==RhH<}}j z8Kl7MjW$}I$XhObiEZ_Apwq8h511>?@kzf-SiuqMfwp4LC(!!@iAh%7^reOU_BGR% zZ%u-7t{7OG^RFf3Y5UbR6$*?CjN>jy2AGOwo*#|sB9i@ z(-f_fmKWeR8{{H}Dg87~jN2Txic^bRGA8eacYq&J;u^;@Tzdqu-@2_O7PtQl5g=K| zNVZxbU(2njqaZiicdLPFU%eJYT`5iBrJKE?4#X?r7V`Xk911wcOu%fk=sD+SD6%2} zNOfcWE+hzyA;97K7S~{T-)nK0!G>S_05FA%YlbeY6g&Z9_XpQ`0Hg{P^+A)nm$(s_ zC>q0v%+U}9@=3KM3gqI+#?GT|l;u}k+&AtO0(-~b1ZXHe6X-!9bUfSvYKo}Nv?}SA~#=#)Ws)E2M7#fP?AEOWzdoS+{MLszNHzOo3Ga$-JTJwCYQoK`tO*k@Lxr z1FoZg?>m*YHW#|eTd1dKA8NVH1(PDq0SbTJ-4>X_q?~V$d{EGjFt4jI3-x{k9g--; zMwwMv7CF3+)nPwj-Q`#S_?fPC6Wmxx;3R!vV)c!t>A2z-IC=AbbA%bFK-}f?(G&VU~^<2a>?5{`)OY zKo#rQiE!Z7FaS!90p_=Fvo@mpJ9&)1?Y~d>=fMAWl>R2O|COcxu;MP_%Hj|8%=6DR z*U@7S=`InAKz}f_B%kIdIuooo4=eEnOvxEF=7px-h9qZLrY-Pyp$646=2ilA1zMxO zmur>LODzrdLu`KkaYo~8l>F_?rYYHtuf{hX9^EzkVNDn&BQkneRP-+CFoWLld`S5i z&A64g?K5lPqy4QZ%?(o<%7ovXPoEf9OZZ*LD}yW+pRccTP0*9W7p;*-wve4D{yBU( zcG;7`NbftX_S(fQ83%YRJ%xMM%lXxpy;-cY8n8phP@7v*rNfManh9#gA5t63EkA;k z^jZ2e|eqb%pTOL7RW5r3momEArwMcTn2L3$yIyqgujkmyv$cA# zrRZzzsQ$KL;M68N<<)3VMYsMg9UyW?Eq@fWJA)!AArr*X$K>+VDO?=Xm zE4Pqw!r{&SLw7WVq#Ex{;bCur)P8|41ix53iX)mhY`=)>@B;oEkaYPIa^e)tHD|!l6MSi zT3kc8mE1W_>{k6X3=3w71z)}$h#QivQ=M*`OZmZhj5}S&ZxM)wogjC~RkhgibgQJ5 z$;7UX8|0Xz$1#|hfRv1_iNl~mk2dK;7W|FQPn+~XZoJc3z)GLj_0AUk`2Bz;A)x*G@v4;N6q#lkvj8)~M?EYMtH%{dgy4EgPHc*!{>Qvz6|G z-m};LD$Xyx+5Gb7QRdmWMaCjX+|qBB2gvMvRxKX~EG5Jcjknqwnn)%#bqjW|1;Ag0 zsv@)276ExQz{KS(c1bc)rn!iBOd78p!62_#3d^GYBD}NkM&N#s*P4SX0Jxs`;yf(< z*K_qvP#^9tw`mjbv3&)MM}g=g0PjZd)PDeozx+v37KB41vno(Oc_sUdewdTU@?~od zlSSZPCSF8~)|&xW+&q3u^^_@?Q+MH@LT`#nL}fph&I65UejlY^aY`rTnDwi~?cjwSFfm`eZ~+s_xEM`N&$7*Y?Q!@k=+X zQj^TY!tuxQldbd(i=(8|rSD@S#vD~T9J)-Ip-G~hsDY1%BlZ;YwZ;6P$pob8_;<7c zLw(SwI&RZYbx;~R)H$jp-QiBrmT#|h`hrgzjBA8-7tM924d|o{Q?^^ObIQ?CEN-?= zmQ~qz#Tf9_b9~hY`=6)OZ+K#GxLZOv z!|Z?wKW$v}IVwl>74RFK%x4N$TK3qwIv;Lwk^4YVZVNoWNp5?t;_iWP-QDiQuW6fo zFJDVE5;e5yEht_(d+dsqg4b8}jJB4paYs;p9Rj2vGkBt*F)98-#!38(%5QIOZG3R; zA$vQ<3D<7nguyk%E98V6$?Q_97iPTrtcMCmzn>a&wZCj$Q%*L_|kD-$GxS07ib{cCxsI*L%Osq#E?brPrhxyr}?Nz>gn3K2~@_N4G z0P3}5(Oh6ITY11mnLcpnad?EBp47zWu=zBc`(oU!4`%*W1_QI6Ip+DuN%c8! zeb!VGckoSCl=71543srx@%CgZ$IRZ+_PemKr||kx{LB?}Hmk^j+B?i$Qn_z^-xm+| zhER_cTmFAKb_-XkhLAV%Hx23j(!dOtD(bc+hS)hcxneFBTMk`GSHSv`V zt;Fxy=pO(uo4Il{G%vzs5*V%$_2<&`wT8*24|Y9m<)#)ch-}2aUvUlO5o$8lz=1?y zCd~05f1G-=1$4&*zN31N(k04voO_B`G{pkb4(j0pApSC*z3O)%Z8Qj|FAK=!WSNOX z-Z8?$5!O$^o4@>u|M$z0Oi~~!2gEOqi~jfCe;?BSjtP*W|D~Lqf*c7?jY;k7^uZs% zR_;a}LmEctF={6P3+lqEVFj+$o3g$hE0Bn>d@~(5?+oKY`02oQ|OP8lY}q& zDmhZ7d(tb8x7!Cd6; z1JExB^?nbra&C1-%Q@eR74x!M`3vf(Yl?$bOUJm)J;v?kIde|P=WHZ1dXQMx1GiXKLV06gIW|F*+-#K9l`5z9nhS`7U-AL%7Y@ zX?^%)-W=H5{d@tNV2dRq8pgTf`H}=?A}n1nsLJP0BiO2_VaEAkX9S`0wLz#iJP zhix|s)OeYtu$^cx$O{YKpaI}92|+O0$s3{ZadUvyyg@yBwqYQuosaNb2GI%8rQ)M> z1gM!aMa!4O^EH`>A^&(#Y*NLhWsAaDwE8xV%a~Gj)^O|A66)J#ZJ))1)gh-^Lu)yF zv;AH%E$N!0sml^U!1sSBznQL_RM=ipd-Jz@=DY0<3YS{^hmU>3hSt+CWO&tFhSE>t zyhKoRM+=aW|7}o!pWa;ea=u(v$_pX#rM4 zTM1INcJ@saME&ZW>bL8deI2`c{pB}jsTH{%-Holh3JHd=vP|t7mo6G=&GftD?OO8w!=DtZ|`Y_z@;vt>niJt z&YqrCwL|sIrzg3imOIb0sj1+4M`(oXg@LR5fqy%73eVq8)aH58mA^U7zQ^k^daGnw z^c4Js;j?3=bAO^ZIv>L9js z(pAYZDuyNU+oZFF6eq3RwuD761TpM1u4;Z()dq+B3)v6y?!Sh?iqaM94z zBUG>XTL_d7ImO@93gyAa*=Pe~p+iUdZ_fqK4o86(KTp&@An3PBnF21L?_<@x&R8Er zf(^1Q9lME<&okL~<;?oGO@ThBNJKsPwGd8?6PrGz9z)7<|LSx+cR9MXWO+vc+T*}G zLaG9ZFDOuzrLY{B+e7m6YPvpAa;$U-t!kX*4eL#XKi!HMAFOxoY)b1Z_N6h#-oGtn z*CgoXd!bn7?6@J(%{|lm7OhX;Pq=YApHvujr@LZrm1E7{|FI^24_eH7*4_{{wH zVa>=2h;|c=;dy{%oa0Pb>Td<{T{$8FH4vvhZ;ACN%-zB(?vu8&Uq*+Narr3=YKsVZ z56D7q%z&t%$Kk=y??)e-Y79wC0Z1p75Zs%2Um&KniujSr(qg~)^;*oDQP^83)Z4om zXeMdSJlQNAHQb@P4EoKX&(u)MpP=lP$%D2L>jM1m-@hL)=30dhARS~s96Hcka?LKY zK?!Fkrmeuv5IfZytXXr>?`){HCn1v-qR1fDAor+^*|+k4!sJz@_S`LCYSrYmrH|<>BKK#al3WA6 zFgZ`$C9(~q+VJg6+38LmnFYQm0>f1Apnz%s`-qgUf^~xL(BwRf( z%po*o|G4u#uyg!^M?U$PSMY&TS4~2>G5|#x5F{HPrcB2R7k$X?c4b4(RqUJYhMOfAa<^O`_q?<6dAgR+bQI%-#>cl@XQpSQ9?w~&cv$2Q zFTn1ZfBIb6bFjz&X!Td_$`*~eZzFF>?9lnd zFMl!HA0j9VzFn%6B5t%L*x!O6LLQ;0pRBlEIWT@XewG%aA?(&E zuf#l1Vw=|J?G(g$=e!;GLAw@veLrB$ijF(Tnp2h39VSPqdDliFr$8G+m*P@xyqa3v z)f8#RD*15B$7fJ%7uA>0qN*2=oK@*$wg8L&!JQ;?J6nVnY*xM%(Y9TT%B!U-;b9GK>S$vfV;g(C}oFdCiDI z8ivu00qb(YhUoyWv4oghS5QE`0>jBu6MY zkurkA*8mnv8tgvcK0(ViOcF%$blAq@9?b`s`C9Nj7YP)TiP6TV(2qpQ0YMj4v1rEG z&-K{ChEJ*xbHL)7lvf*dpCaVf@INdEqWZ!5Zn@-KKRE#PIRajFIeE4rx~{Ji&qfi%s8m@gf7zppC2}^4M<5LWH{JD zphHxDg=|kcjB7G*%_*==QAyc&$PF0}p!1)uOqlR-kHRN(O`f?Ys~zcI;?dE(Ua=u$ z=iv-Py&pnujg|?d+etp{re6)nXt(x|Q@VqCz#Vu)LYy?_<#4mQXP zjy{1uDUvX+Q6iV;^#(^c3xWR{+ z?|}&3(1upf0*iPo{lWIpauZA+ChSyzPYdoIj{t8RPZ8i*kaPHV_*eU^BIS!n7--UZ z+{ytE&J6o(2lw1S3#_8entVMsyw`=#EKSq0*AoQqdFpI4+WpN@_y@lHE}JW`Au<$5 zexM`GnJwnxBixuWeWcbXA^Xw`+&yw6Hc5oW$ZG62z};P%x+n346uRs0Dkag?uUAf&NFFs z@rF{}C7K3g_QAaIZmqKxmg_n97B88|zNkY2xFJ5^K20morgf7YeLapm%FnVWM=@ki zqSB=2rH@U_4@|1c?~3+mUD6C-?Pw*@czTXv;=TD2%j%m^^q{>0JMrZ{tSwmB)Yg)@ zKxx)j^#0aM^XC_jT@K*<<~%dSv4XLk4IcUc`I=B05}hPx%U9AnXaBh^t?Y^dmL^4ft{9stN{S2iYT~8&zrx+qe&_=bs_Jv@$+>*K4ugYSj_O{z zzw60uK~)Go+gN^G9t_6}6LYB1nENmy#`p zxd1oOvZMX@>)$xRhc96bh{?N7G>yv!q!e(sc;1Ug-;y^3$rTr; zBEP@Ax;oKdi14bp!Ce0-5hT+${pgibPKhOHrUIbkX6U^O2=QLK8IS9%^ z?bc;DfS9PN9QZ1zw2O?Jv-UxvTEZ1BB!!(FIlE*c`#G?MvV~wLRCzu|=C)cC; z{$MULDOZs|C9)5t@MCbmAilK;C6Go=h;RS_RRmbj3WTpv=LLXGbpoe;{4NCgTj~Ct zFW3xT|L=T3tqib&bpf__Vk!!P!0j&YC;k!vQvRP#v-!gUI#;!p`yoxxj$K&*N{dDj z&|h1o%~9CMXg<&>n*jL}D8Px=$bmDw%>+RUAU$&KwF)Nre&Fh>3x1>(AEq97z6VoO z5abG67)Q|cc}r;i4kK8<;1x7u2?-AQeRoq`*5mGZC%XL3hw$+&$j#GRDqBG&Wf<~^ z0|O=S?uRBGPm0duM zP)Y!rx1ysK^F>%rOu`D5c)uJ>o{n2_xmfQ)EysWYTt@(5el-q1k5ZlhUA-!XSFh0Q za-abK4d!K-1>~2BH%I=J zAllmgANrmZsDSQdDN~PZ$$cpkIM0=-7_a?fD)hl<9s(BN=p1Usst}kQzt9t<`T*4sX}gX1QA-x? zMC`;$4fv{-$7sDDbhAzDK9F7*UwtPmQs-FZl~uNF16!TPxyZx0j_rEaLz<(u=4TJL!7gxKE^7KCB`Cm)>4`ys@)FATnJ(GVEv1{TVP%x3@;}kc>GqxStJu za*i#4949@fPfD@1k>K`t^sp%|16KvQrBPU&Ko`uesSj?c#>NwpoST z^pK10aAy$s;=^VO*oOm+qMm&3NvgU%H2p0QTvNNgbn{n@&RTB_=puLM(cnrKIZYr2 zfA1ovsm}6Xj}ME2_0tVZ+t)YlE}YC85hUep@_h45Lh#9>XjowDkl{tV@|Q`(9KUAO ze#FZs{Lu$7hu@Bx4vO!p`|Jxwbqj?V0Y8fe(TOskQusc2_I)Uru(%n-aW;W59&TSy z6GwEhF&tJPm!-(*TBQ6%9Ol96$PK#&;g0t?qGgqGTJ}ch>KU(ZP4Cw%zwjcUm;T}2 zuIe-Kd1Gy+t!0Cgb(gp4MQE6M*F+h+fE8!0cnT517pKmQN9~#r8EY1tU-GpfU6;Z_~E(Ej{r|7FUjrw>~ahDZLwT?02EZgr&CG z22}qb7>XGnIKz~cN}*4+)(O(dBSR}qmoVF*iFeaY&b?$O(U+KQYN%i?t2o)q$e7eR zI~MXWrURkwwS7M!@{!N;o;>gMS%Z{qlV{0!kChE;Trs&_brPt#kI300k$Wf3A3}EF zbO#Gb5+z65lMbHvkkq_<#~w_mZaCN%{$tBDtL%1neH44Kji}6Qt&fZ5NOxp2fh|Qp z%ECx{`E5J1Vd=(O-1)S)grxEvebVKn=GbG-W1bQiDXoLu!}ZLj%+BA1;&V6zu7tCj zo*)5M?oy`=U7Br!)-}FRTr%ClrA9X2(BE{yvdp)3DkWxklCL&GrjNr8?jj1S|hu}3Rg4YbNzeD!PGowpJcMWY$}rnUxI?5nT_s%mK{Sr>pWxh8iOE7v7-ld zU**Os+l~Hc&RAa8P7Inn)ZJDQnz%97&_fuH_?`4==9LpCZ&=Yr7HTm(l~M> zi0p<6E&zCTll_aBLmnWI=Pv?dbw(Wp2fid7{mZG6Z{q^$82;M;nIlbPkbf;72F{jC zf(I+m_TP_^f?;9$ItFF1y5zCu6VvYm6K%7omg?T0jF*!ojIR%yddGL28o86W(V+YA zj6qW2)OEBRBVq^*O8ZY_PuXnikXTagJy59>visN3$x@lMYnntaKKFaz{GL4uoIA-aXKR;yR2Myj`h8~x)$}ZJwgG$@@#D?>!sY7kAZV?Njet{h9DuKAJ(Pij&}7XH-fD zUv*qw-G9qhq`E3_b^v)&XN!v7sRhgPeKs|o+TN%NLbuotk{bIXyt+l%{cZd9@e9im zwV7keJ*1l;hP1IpJeG-K5!h}6s6A7%J37+U#>uVL5+3=vA;Sm4tXve%8Ermm$`i@3 zDk%zzKUqp~N+=PlK;_kx(>*I=aIfv{htvw&GKTVA)Y)%4H-Ac7>9>?M@*cz|NoU+r zn8>wu@nzaO&Foh;E<`LjPm%vY9Zb&*QgIR3C^-YF3&VTvk z|1UpOU>JrFM>QIt}~zoGW#4UX+XrFO8asI7USGn%e0Tb<3piXK#7+1*e`Xy6-d z-peOI;HN}hyg__FJ&9){)%o$VpH}QxRe^-_m=E`!I%D6&L(0%CFt(Nc|1SUo$rF3f zCe3O=zLq*|D!DwK-rA^Tvz!ygggb55!{oxi#znGos(YZ_Zc!?H%_gDoTFhQPyTPiWuw+l7Dp2&i%9*pttYQ)*@>G zk6aX#8`7AO?#QsLrp~FQH+K!j*3lIDuRt}4V*D-mKCXI0^IO%416YC2u|zF1cb&_Z z2f>#f_yhiUX;NpR8P!8m`XKS_k~CVSvm{7L5w%cXIz&Ed$JBkD>-%VqCs%2a{<7!& zQI_T8{+gdqQF-Y%g6OMs%8b(^3z{Y+c4+qHK@o&t8qBp(15(KoDD#wPTHL!x+E);oodk_DKQWDBqdFf9-IQeP{n?}D##!XcnvX*slsZY z{)1{cNaft%75%%=n*9K$n*O*;&bP^uT~8cvmcg4i;}~!-kw2Z$4BazYYw+wV+rc_l zG4*+UobJ#K(MhX_q_~PST!^f{hVGW@lj2h`f-MNP9mXG&@!ZB#h1YBUE>!&mplEG2 zaNnL61@L&l4#RgUIDzSQ9aw^!RbSm#k}6W}Cmi9|BUf>#)(L!bw!_!q8LhLw_QWRW zLAwp10hRLtWVlyw2SO~IbDR_}wl9rw5ETPBj*ZY@7)}xpA1+ps*;3#y(uuH?#~6sx1NhQQ$M@u9l#iypHUaYZv&i{%S?l9j%V2wI-{@O_Cow+9Iiuu z8Y&wONNe(J&6ec^-7_ z8g6xyTX!)RdFK0!f%z#zmt;p>WZBg(UyVP%jlK#n?VH6Fr^V_(juE_R`-*eP0px;e zrogYi6C1i0k8~njjR-L`Rkp&TxHx?O6q2D6I04rI4(tkcvT3aq%qEc6-c95w@&GZH zzl{~IJLfLWmeWRbp=f;6KtS$1>d6;kne@SbUZj~4#_Q9@Z2%-fBcMb@+56}kf4g%L z`6)DStpR4xR)MgRBij;XYDYt@JZa^k0APr`ary%dqX{5~T~gyX13lJ zX2dr1`R$SAJw=CZIhzK(mGCR%BD8J!D5e&E*l6t}PKhC)be|}_-K>&scli3-hhcAg zj!fv@-ay2o9BDmMs107A6%vC`f!W+Seev@9^w~V?%jj(-wN=))Lyp`yzpLNeZd@o> z?8KMrX^Okjb=~Mi$T8PWJgc}x>y&eZm#$T_Ndc}VqW1DSF+j`1$Xo%pBw5)$n6R|w4E_KuK4p7mF*k|wy&4C zHd!UM=n!GcMEv%a6UrB?&FY=gDD+FoZqfnQ@ea}ZZRPbojDMW$(-pne&eC&|)cTS@ zat2uicOgl>iQv74D-&Ve@>t*6sN$H7@@I)_moqQz%h98Hc}s=fcy;Pl&8IPvEf9?$ z{_VLz1Q7cHWf}-Uo4qMB`;fFV??NH>mNwR#rvUez!Bo1+-ta=!#P5Dy(H)w4*mAO< z!!0+8Dwb7VIaTr4{`D$D^BoT!wh02v+Y`?ikH%!qJxCzQvC%vyb}Ilwd7}jtXG=F# zTw~u~s6ANh(ZvChrE_>_ zHg5n^ZE&_+OX63Fy03%x$BHi{MIXdU5_IFe>Ywlaa&kzV{vo2#3*rMFx}-ov3#gYL z`egW0Lj3x?OR3s-%O?a!R%YNk`7X2zyNhiyK-=l%s@JS~zeIbl<(H*hNnXRU7wYEM zhFuz2Rt)46=z?hu!Cnixs@skg9h6DCwmg(4dE^o}ged?2V(&e}n(DT8VXTM^MFA-i6$KR$6%dsY6#)@3A_4+JRHO@t^p>R{AT^I5 zARt63A~n*bCDKJiI-v+5ROtyNq%P0Iz4v+dexCh(?{}T=&pFrGKO!2*%35=dIp-Mn zxW_#nF!VDRleJ+dZko+Uj`TRK#71ZE@7Y~l-2lqORICMm7%8NT^!tPZui@hVQ+WEH z_y2v^{(s82xDbUZ4_c2d1bI*TFU)5Y7n2@6EKKm^S&}r`cf_RuQ#^()z|N*pP|qY( z2{gli5eMtrp9q}@l&4edfzXH(PaMVeiccIs?lA{t47Q?$;dl46hkji>2S7=PA0!V# zaeRtcp6OE3*|XkXHKTr*1fJ0q*`=-mE!TYomHP zVeZ4bo)2C6K99sd&_IV}(6Fua^M3WaRc&sA`i6;jL${>auY`Nah`0pyre-?70a%d% zqQ91I2-rzD(W#-sq)MF}TbHSF&-|-7hKIsaw4$Ad(k4%8QGf$sRGK}fn!d8rz+S>$ zsXA8_)%V<2;6gFAqam^!J@64{(|dZ!Ld?T?DwMeZ?{B1z!odrBA#w!-A0m8Dd2?Fv zKE~KldT(nKK^*fLUQY#W8ezL@OuO&kvuWv9mzDDslxe zOYYaH>5Q#ub~#eEx^&R9ak_?(40e>jDWW46r`vWHFe#=>Rz;RKs-W4ojT(r2Zirc2 zC`PP%n}d*dea<((SWD^U&4kY5+UkfrB*NPSz&!Ty(-R?;8EN#pLto~+11j}O|b^Yao`tU@8=_fMX7 z!kM?sqRz#;go~MO=rlw@_bMGbyF?KS zpR|e-7XjH1V=TxC<|QA&&Sy3ka)3`0zDQbVLYxQitq#7jHAG^6Cs1c1M0JkB<$sf3 z3giYaljjiq`WGKmq!yZn#UbWvC@Ai7vk8uRQ+c5nZdVdww)QFv*r>&CMsYJuaa7$Z zr8$JKVuWs-jAg3AJ(faLV*pdqkcMfN0+mD%lHsDXFbYyxbL3JYC($tjpo+0XmV#0B zDJT!M8t6C2_Jx{CrqL@*dmy`^;k$>I1;S=ey;}0T69=_;2{^PO-iYiNs_+~*S*1_s z{^kWor~9$d>o9{L6XhcMw~m$-vP~sS=NdHE2xO z`m8dS!ogO7JC|cB0*J`(5ePa8L^&*c8+srN)`jZGrbzCIAfj6KPO#!#;~2QH2zj|t zIn)yJ_A-LGt`8y=L98v=Zu*x%f^L5t*9RP!Z$nGbBC>t6x!6P8a%ilV1OCrU7P*{t zoCD+A5Ca*oF18M_($NVLt10-_Y4(l%f4??X_%wWGd97nZHXRIg6z}i?dmYFx{7lCu z5{KU-7gas2;pzhL##ffsfA<@UXYfo>qA@1JN`~7xf6l2_2fksUz8bUus&2;c#Oz_j z+B??jz?79B7V3x}S8F#^)yR=qde98{18Hfn)~TqA;LpERv@{_fA;b0n!9cq>lUog} ziQHo)ot*mZABQc+k9*H;yyx0{@`=28DOv(70R1$JOi!sZbDNH0iQbAeOBVLLm3-~t!-7pX=oc5_>B7&FvmR4 zEH>9|mLJ)%|k{59nNt3HZY_Ignu``#c_*7b0)#>}<+bMzUt4x$8b)O07LhW(d0y)(;4~;q8CFRX%AuDmK@HDfj$&LjjK{Kj?DPSe^E03sU%))FBp5!5vvB|GVf(W+=R*tRgHh?cF7e6OhK3QpV)+YNYp$7AQ=BF zao9$dD1zn|{NZCA{*F<8Qp0ts4{x8uF&1-umq3Wu_|MckKg&ZW@{67vwS268OnjGj zC{ujMQRG!x`4jjm{gm@W?U8BBtsdf2H@R7-{Wj$UAj!gtsrv4B_G&KoxSWWs(>n&y zp#9+&hqEku!`8bEv&4=<`+3(lzVX8|!auz;=0FlaT6F}wnhPyQi7u7{9Nbn`hiyGF z-h;337+4-WJB+)<@~ePMC^F*WcOQ3kP6;xFjfZk@iE03H@V5rp#W~Ojg0~iI$vgZ4 zf3FxYQDg2jBsTyAtnERB8hm&wlAONC!McE*%tNb*{AZyA1f9Pfckd!Imie_&CaOKZ>e3u=K5j~o* z#NGJ=Pl;Pw?#$?}-`pi8h#hS+9J(rxWFP;;@uvDR2a@di5BViu3|?y`_^G}zk^h!zCkMMZtoRO5!HB{1q60Ww z;$%7R@&379{pl1dJ=VIr5jLJ#OKkOe(HPjnFKf}baHgyYE^6J;Taq~pu4@P!J|q>bUpxh* zb!PnaAjIYmO_m~l$8_fmHse;`yKwE3Q~4!KPGKJs4}4fSkCdNj1u~6E;|!<2$uw5{ zO{NhTF6ayR7QYS5p!XCRH0dOC86o;jitCswJcrTj>!fm{>WRY1hAxadyGSj7SHfgB zFo?>fw11oeYd<-wjCP>XU|Y!u#LvV^h+_4Nh+Xq1@B8>^?ie!t`mM~!?a^=~kK#BB zoCFJ@yTr z*!b20fBR-RqCF_;Sb9B5lN|^1hS`67)CpF33dhXqH9olO8c0f&cQ$K%?yKZHoFqWG zPYZtLtL}FJSgQs}=o>`d+?NP49C$t8;3E5=>%Ao6#+8tV`^_DU^N6&bm$!fMkQG-X z;@LW!4K$Uo40F$fA>^rHt*ohzG;~<`BSeT`x4G|8#`%#JHPwrrh?+S1sy0EnLiwoC zcYV&~J5PV8F5P%94`XWdm_!CoYF{!h1>Y}Ex9oHWi-WWoeQJLKDkrs&U zBDF&Kgt8P*CwesXd+~@2+h_mT?s*kQ$vWJmj zKhi|ZpBH=^rj^{AwSb)%>QfKj88HOtZSuRXDP%MYyG`WWHERRhpr4&jJ73s z>o@?ZAh5~M_aj+{t}%8JYNdgPhizR_GgSbDE9e0De3!~FK8rXU1whM6;DbE?d-BwE z!NuHvBb=Bg-puX51Y2$3PDo_@JOY#@1^gZx)dDHTOGVJzv1Y*f78(;0x4lt_=v=1>V90YX!Xv zIrBb|lLv%87^Q!G>)QZ#5t3^{7z5_AEm$nN9$Y9YX9|!!!KAO8qOrjk3Uy1SS&1@d5z^9l;W;_p3#V z{hfC=z1X_?kBMke{+~vnCJq@T@UskQa^e>Jcm?YB7j>cRr~F4 zvz%Z)O)x69sv5*HN;VkrFZ5B+t}zMY1Fn3;p^s>@!+R2O0<$lMzdO(21xR1$VxAj) znM5u)wIlRmpb9xdL6kW$Os8$Z?L4vD*tAI*%v$Ij*gp@T-`ysqK!tB$G~(jf9?>0L zSBJ2NtrU@op-aaalkHUde%_8dAzp!qB1Jd5dB}eIW}^M3qBK+bFl?0q+BxR>bBN)e~8Ub?Jlhv)90Wagp_O?VJ9pQ)pKF*Y1=ZSeoQ? z_%t}&&4b5O!7_P^5Lh!XAGyD_o#d2&GZ5ejP5&ZjD3c6TYIUysp3u*6f9q?ycg26r zu83!e!ykZrA$AVsY+ZruyP%Q&UiFNq(^~7!DOt=-xF3uvX-;o6Y>g&oJO?)EyMp)D zXma+FfwUcT^qANAy4*`AXBXGH-F#SEKYtxT@ZN?gFo;3fbpC!TQ-NMHqswJa<+5cO zk8&lQdWf1ci+H+VHMumAzFS>-7j*!sB*@A{A4}HkeZ@|ldJY03@GiSAYrJMnuBB?_Ju=}U@q(j3sC|C;1a6$_J&qTF@NWBj>$~{_i zLpdh27t!B~n&616DhdJyuM$24`k6e1W}J%t#S@bH=Wpi5gu&=~UV6zMCULW0i-zxC zp27x%H7hhZ?w&!JUp$)yAesX7w|l$9&3z8E32`oZYvkctZ$=y(G9Lrl9q}O<2}nwn zug))?E34PQ!h4S6=py>=5XU(;q5nM2e`e?Z8e_8+qc79Wc9v4;QTz{_#*l2;KP`im z_>qNOHUuG{4OlU<{|5O+XHKe|YJKgTfkg7yGS8D6JWcrLDjMu398|^A`gBjI*4q}j z*j0PtyINw}HfDgi7)^f!!eS1ibJsGmUYRd?i_XqgA9$WTCGa%Vx#42df@ynG_BC{+ zyO!#s>2Ra@Zt}1rrklKXf>B2EU# zLWoQ{*XjS<@C7p~=EyC_Cxd`;VtCQ$2a&3+x_g+44p+I-o>WSr)1Axq`@Zh$muWpG zvGpSsxisDCgk{s4%>zKfqx(L!2_N5Lv?(x`bImy}>pD%<0(APY@QQxqmV|6G9SYh2 z!!n@BDdvl}#n_a&VnsmP-QFBxR>3cx<19naE7c+_vJ=8hcoloP9LuKNM9bitQpa{! z&~<2O=Py{lC{liVfv>Xn4!rITrnuQ2Q5amGE&jS_o6q=ulO9--C4USV17uiT8_(Bk z`5@y!zf|*WUni+cT40k;u%2|xrk)O^QYbR|*ZY0KUZ$n{U*;;%D^g1xmaw&v#| zswB%gLq|at95(0_AK;TKc8XT%uar!zwX-viz?7(2q*OKE;l^Mj`^R$@ie$!TCCgl$ zn%ek#${Z|)5%sy}_Q*Y#PSVmW{uKHM-Z}=yw2M26n%+ixO>{TOA4d!F`L)1WiF&52 z#%CPc^oP?J0g~)qH`}5q1L(}BoMVD7zg~#B=e5y7uw6vcR5{u2n!&M(8?xRJK<_fV z<{vTEzx!FWha%U272#ZHBVTR1fjjalZpY(xvjHb&?@^T?{dO(yrE-}Iuio8KDKyg3 z6caSvq2I3;9bS?8Ggq2kMpN*FyQs0zE;Dr7u{FSjyw>>D%tpY1tzX?AQ;P4)OT{5p z+paOshK|M>J&)_<7|-1r$r-|Ns)$*rFy%V3R^ei5kxLn>9R$N zVfIenVIw1ox>`|1ai!om4=rYLfn4I@+NwmYcRG>s`#6uon2IbocFg|(JK}jb*(g-m$Kl2IYxoxFOZ}A`^IIQo#b_uG zd|_?Jg{4Q<*X}re_6Z@At~=*+a&Pez|fO`woiB1Rn8Rcu0u?`pPJJX48$O?bl z2&Dxb;4!{a_k^cOzf)0~Be)0FA%uYl?+22l?_&OJl>7|6+YL2vng0d-tWfYJEV^^S z#KJpFI$Ah-Vt@R1jOJ(+hIkQ(8BBbZh72{pswLd6MxIsm&v+cvEot&-Zw2bHV zE0OQg2kM9Z z4Vnc9r2CRS(|O$SkGR>$v36hJ#NG2GE+3tlAoe*SsSN<)=65Ot+ykK;+ph*k%^m4c z+^tc1$w?7T4C%OlWjP6s65|;K5-@FYem`_~szt&1YkU4tD>r7`%der6L?@@`$$Shm z;Xu=BmS25lx9)KHl4G*N5c*}QSO{PjP0g5r2Ng(!FT!WRnA4H0?JN8oK^LypGazXS z#pK##9Elt!;HZ2BbS351KBHlDZ8mZ*s1u2M+ zrJQ7qR<27IG9Hfy=|v<{3EBuKn(I43B3ah=8G9SlGM>baK8% zX*V>)%|$4-)Qf)Im&pm=U@mZe|st`Jy%BE27=jbzPzc7 z#2S6OEmmEIH4`$~&!iUHug)A$*5sd0R4v=L{)1;5h}-;QE^D`P4BRE7=LCI}ID-7} z)ty*CQBpyG_|N3n*FC9QszjxlGSAA@@$VUAG{SsD%c%lcmcJVX|cDXdn ziv#KK*%Shbd#}L@2(F+^*=pE$Pz`j(x*j|K6UUH%7@^32{kYNKD?Rw5g$iMTagdAC z`o=)PBJv}RtF9;xKa!(?pf=%zkQFJ=Fj%}JGV@;n;Be=3GTMW)3vNxF@CAX*KYu$Q z?6rm=2HTNT03y%?S1tEKIs01WD&Q@Ub^DUq9uTcuXXJAS!CyAC0s#gaIh-@BI7`4jenMoJtR^BI#|(u#=Rq_ zOV=Lsr@gBFvg~$vD6<*fg%pR{;ztl1!4@!Mq|lLC8}F{`9}VdD()9ME<-^1Cp&1Yq9OBR4B3-u?QcW z^=++nVqD}ngJaPeC<_)NCB=dZ*6NH_|2LCuWd{3YZLB4q=uk;|8S5UirRWDp!u zpD{+^=dEB>4d*$*Qp6{K+z8B0ZbYK-8wYH0&-oh>%Tk`;=-uS97J=6Aj$&DRRMf$= zlo1&T+@=)loEC@p;y?HPr)mDrxc}W|6txVg3ojHt_3NT8cjd%*7q_Ine71686K1B< z%%Cg#sO5eCEng0;SrP8H6`6-}pK;#;9H#X-QE)jCTjJ?Xy3&(&>wZtsYazaFTJ_7@ zn_hbdZybH6|Amvq7^Jez8KyLK1FBMpDQ1+S-=V1*(B2l8VVo%Aq%G3pJ=t{H z@GA;Q)Qr6D!+!`_pB-@eeY#F!mSW1B4B{~Ww8Sv>H zi~pfWc*lQP`{!)NGQR3)-t5l%Mw`c`((x|M-xkBw9;9TSEpxK>VrBGlesse-ef2wC z=s2F4Z^D`WO&N$cKG|{IMf+WJzH}`+TyEZv>9nJb!mRbgTR&&aE6+uxFfuciN|`vM ze!x+pf1!CMauIpV2Hz!%1`XM|Js>+zd#$QLP~^2+8^@l~eZneTBUzWnV%mpg4=TB_ z6*K|UMkA))wKn7!GBgp5Wr`b|Q`$w?n#p=k{KgqiAuM(iE%DEl;@N63AEubUcyJDy znvGnJ++9L0TbywccrR9-8D=HG(cWUUVexj}2W!SLC$~k=%`MfXQ~#-kYC!re;Q-zwg3W zkX+7Fzr{^}&-9I9`DAObBLO!{o!UMj)9=}#H^ay8ShrF)SN6_~87q)ko9)cRv+#?) zxh!FEO&|4Kjp;;At1l=iXcn%ShBtf)?w)fKj7Cz0K*=DNmRG zG;-e{b_%_3#$1FZ5m~VU@lPjsN4}r`dX>0*K;~p&tk%;HctIyEfE?RPNVnK3>t;;H zO<63fYk=;^0k=Pw((1!CD$KNG2}qH>TW5;UBA)7Z8tJG|SJRQfO(pO4g2lPt0{vRS zNP*!P#*iZY0Eqp3M#G&L&NXe885GYd?g{0Tw)<+0>__lwlZushRH-$49R@i9!c}}O z68Pq)XhxwHw7Y7DX**N1WnUDqPgi}iO^}5#vqDXicCf*O#S?AHhp%|mj>S?_i5}y+ zF50ITZFEOja&Av3Y=%t-&J-1Bwg9~06vt;6IH;avbu+Pg7}2>>rD|o|(*qA$gxq%#=XQk~4Cpk1CJ!CPIqr|O=w6NAE^F+_)6$uwc+l)VJzx>isO zYt%EuvbKsOINDyXX$Sx7zX>Q>24`>RRB1g05lC(1Hb)rUmc!-fy=~;Knrn@s1`6r^ zB#+#n{8R=;3EnSv?eaysEvG~6?L_%#K!c8lQ@lzWQXNT2Qrif%AEsjAtpI1!|c))OLpcoh0OVWDF(xEGBC2 zomTG3+O78M)9;iF5d^q#u2ol;jk@M?A2pJ;6iiONWEg!n-_AHqv#(DSt0nH>prAe6 zzR`~HUGSMR&k-Sb6ROj!4EwTuqRFayhwBz{>U2Vm^@gq-2@C#rBDt!O61YY^4w<=i z(Ql_mJ)%f0%=>$S^emGarxQY$(SD~`mkksoPJ%xoNlA>v5sB=adHr{cYc+rx80#(} zoF9zPS_FaTX!pu$0CG67JSXum&ANV@vacUQp-T3BYlrs!)1aPJbOpZ|sz$<_r^FC< zaCL+O&Z|8OH}6;=FKv}v2fjgpQ1(2dgh+bLeAwDtwy#3yT+?CdDdce?WsvtSX&!ER zXVV{)3H&CN90zl2VA41Dp!0`zaNl4yd79dGs0n#G`9e=jn@@Wk!rfe2xaYTI9{s-0 z*p_Z@d*60b4&Uk_|I?y!?ON*#V*w7ei;l4#B?TZY(f#~&Y~A1*u2r`fW94G(K8ds& zU!a2ttDr&nN9+13`Nn?UkV@@bPwVTY9d63@eX>y#rXjr=$IEUCor+g>PFi7|*Lc$P zEnD08aOmx|?Db^A8a#ji3{XZ-9) za}iWw3ic@oh|R?6BoNe=TtbzjLX&iN(5SQP;#+~Z2dM3LO339qPi=BRQ%&&9lM(_z zffdAMQ&(c>he*2*Nw3Uvja?`0n`j#nrDCSMHsS;#HjSL0Mi4tBP5X z&Q|fE@1{k}159vZGil{jsL*9uOjbcBJqEof&Jv}%A_7ve~YSNyG4GF}^ zWf?zb*DX0w9X$&!8U&Z~)|R~6FFxfFlbleUnPM*l#3D98_fR32ZJosx5#}Nax+d&7 zrCm9Xw)Hy<6l?Dj!xRb{dpc*_QH!Zz#|+J>qgGL zM{v(=T?KkCS8V0xl&R&%cAH5IDO%qD<5H!_=5icuN~d{wXW#Gt37d0;vr&d$__5Vm%54xnsUCirjVviT*D53e7R_ey(k9>fkj8xwirh zW|!w2GQz_XR&fj|BIh-KJ)Sj}38uT?I1Q9~97c1JHxao{7m!i69MaA3GZ$w;#;IB# zBjTw{LDu89k~zv9`n5ox!ClVz#97B?QPkelM=$*`>OtZsdB5(IkAgH^@q1H!#Y$*7 zvpK;Rb#JM+?WQ{)Q>3CeLW#HYD;U+oT+#lK^Y}-uUgi^f@3jag9_`(?^Z9dW-V%Oq zRwF$ip0ka;j^W?8sv(6Nc7DH|YB1F2&^Q_=*kpXZJ+-A`XAUQmA%kyD@pYwUgiO9# z_(&5>n$1I*m2R0ukv0>pG4fCof@aNq>I5yTlScNI2-H&8x~7MZwEUp|g!)77TVUB7 z89KI3^fTxtRO&avGZ2(J+$XngKd1T3T9ad^c&(v~10hrdkm~u2*+yHa!wU5=I%`$7pN`w~N=ZFZW&?eMY8|Y$6&?`1NtJ!q@kmnCJ%3Zt$$AG%fju$0fWqxNvP(z)t;2JU}6IpudT7t4?h=0t%N3H4e*0Jg~lBbc%kV(%{IpH$ra zDm5tGnjVn(1sK#GH{> zws=$YHiqaOPHCj!xvgJaUXzHqK7qbqSK0*3JNkA$Fya&vNMGMI?Dfnv2=&>cWK%dn zW_a>9qL?&lFuV=83ZvaKP(J^h15IayG{^UzAzd#-*pJn%C@zcDEGURNudcP{0wqCn z-3)}*YCV+X9?Y-Nkpkhf#R zJgx6w4XNZ>^46cM=hvF|Pb8%b419YQw2$}7_H`QrS{3_3GB5AE-K98hc|+da;~aiq z8~qt|;WKKJshw!xn}qj;+47C)w$4rC%zB=od4{s2S#z|%_C20ytp)&eZQ9AGRIFBJ z7*#jaLT6L@$JD+pFR3h4MY5ge?oM(91L`~yNOK-gO3Pyta&5m`dU~Z7(_-n6Y0$Y9 zDM!>>iI|n(2L3*4if}OTA#&GGmeccPO12FFk-RADHoTdo^Wpv(uLz}~+B4#Bl`lS8 z_jJ=a{dd>i?7uqr<<_flY3uxHbOF8r%g=ejut0>#y>T zA{dfDCS4YD)-$z+Y;&mjRvV_jT_VUvI$|%@udoT$Fak&5S4Qak>L@w5QhqYFpu=_3 zr>hkwmRb(DFw$1qXwO_hdUJ=WIJSybYfAb1`7T4UQ(4(9Uh5qh&k{q(i0T~ z74p~Y(5GK*ca6}hPPm@%K9%w*FQcdD$2N-FiS_EoTUI~s{BhEKnCFs+;39BajOt1g zwC3*b3=yn0MenvXGF+;|%oN#9W;T9UOvGtAnUvK8nz*=*S_|mEd6>7V7789N2-At) zjp6gvYxh+ho^jY|s;jOgT)6*o`#5x}<4&U=UMa@Uw}vY2hKe4OzE#3$p~Cd@0dTlyD8Hq^TZPqf9DC68w(Tb zejL+}e45OUg{sf{@~3bNxY?3n4L$iYLa`-ECdJ*w!$WaVK?V}{;DbPTLt^I-aeoak zM%A|oq6{O-WMjk`6z`Ofw?@Wh>qX=a31sDdf)>uHFK` zk4=AN+P?k+6+mBX;myh%dK;z=x#)r5C(f$!F5%OV!zGAC1z$CguTcha{5!W!CvDXc z+_Lzy{f)Jp)nIEb(t?Pv$L&R00jd^brtW25W0qa>6Gx%%QjrJ82XzJJZhg~g7F|`D zsFbGHa7!&1&ZF7n4ZbREImJmvI)BuDm=+B~_T78!_cKc2c!%K6#wSlNi7%No&WdI4 z=Y{#Y-_E2ux>m^ zZ~k2qe=k3*WC#!Zv)?&cdxUs#IdMi8rBl-7%6|T-s4`HxG(kQl_Uz5CpIN&u;ai;; zGS)Sy4W1Is)k8<9=wO9Go*`{#3m>Np(-Wt4i}h0d!UDG=J^31LXnGrUkg2+e-DZq1 z`gv+0`G!^Eb+%?w<;w1Q`7Lqq1`!R`I^z-B&X}V;?{l3yU%h(s&}VS3-d!n>(fXeq zK6sPh9up@zes*%C*`cDcN(JCSrsfP zAQmYw=kjL=XVEk0*y0tAl5%_I&hLOO48j^u<|{u&;d0@K5Fwko&6sxLk+4UwR7E&; zL9xuTaYO@S-(P#ArOTbRqvJYdmv_`-WRhR{C~?;Uuq2NGa)|ul{v9!qP^Iq|ic_1S zZz>gqg1Z^@6ti=A-tp3HOQjiU7Fd+oKC9sKG>(_7EU$$g6(B?Kda;4_|a z8iDS$_L*VbgZJaOe)Yu#2;DGA1a}{h z7Ve~lve~E+QmEpNK4FvYA6b6k-?gSf*}^d2=zDG$P&O{8oCc*1!>p$Qa+4ytF6co^ z=U|4>%IfattNAy~bK1BB^Gf zX?9I^F!2W&)B^^-{$DSlgw{$Z2jp1PGQi-KnL-Ve!n%oImFLlMEWQ1{BsLGoa5jJ< z!@ySf8TuM#khu7$f0FA_1k^ZR%-})D^|A`V_E z1K*L)8$vnRDOJ9$Cs?b}#O7v9+|ZDHep65#d)t%`P6w*K;_LNphE)|3k-2h*I>}BWf}HkY z+jvOC8^Eaj4VB*rzg>jreki1auPT)HO z(g4V^ZaNLddZrdh-w_9j9gI4V|Lw25jDfy%vzk|wPow8?&b62t^rFiJ1lPF&%$=9a z!Zd@IE&zP=__kj>GZADsx(N;G)u9)h0gTD%Eg%mQ(TgBptK8GJ2I>BOQLzIu!`Kit zIkYFnZ^P}5oH*@Bij{Edp@lR1z6|7xv4iuJjVii4^s61V={hSsZXkM%-OEx-BWVin z(cfWgkWQ1t2?k|^q)gprpgHG3o1oLyb!e7IrQ9zb$Pu}w8B~u0nuJzVB9{wN{-Xvf z$yGFcN?yb#JB$i-c4w6Z+!2xn06xJmOicX@xfoIHpl~K5REqc#@^3{Y5v44*LKjx2 zCi+@X{yTp03}ighKh~7VanXT?R5rl-3P2JZRSg{{S*O z%eg-EPO7+A+*K-p=v`Y0U*8Jt`VL(iSy>oxGK+rP?#r8D0?H_c&{d5;vvA)lY}fGtk~ku_%k$c*Zs)zyPsY-p zj#lVg`I_oD_ajQ#&~w3QyX@7TI*kg|6LGqwW$!oLOqP1{fif1;Q|gq*M%V+qlPXPK z13dryLTrWBM2aa7fey6+5pFTxZ$1hv9OMC_1Eb+;!!;ns(+v{_=qqI%%UUfDh!Jx7 z(^!TSk^_0R!eza`c+StvTw}`psf_`vgMb7DSP-sxQL7NR%^slO1*rl(a*$+;(IaUm zj#pTeC&}#^UGU1!29YTtjK8L`fdC+R|0r98B_lIs=J+RF^=pe@L-iVYSpY4>@4^T! zCHaBqvj6_E=H|sVn)B)L+#?faBs}>RA(FE6s<<=&clF)X;Gh1PdK&IWEFV7bTf;R0 zVdCWg7)CljNX%%8vbPd|bN$!4%WcUJ5mZVdE`c>&kvg`(I7VWDfq*I?&fLuSH5MM; z>IM_5(eof-r|iwVMZg^aU}?q@r*GVXICNx@^D_6(6_uPafZSj&$Z?-LfKu`Yq-jM@ zjyA262?skGQJcpAs^Qx-{d+>Zpw$(m3ndtA#-lAC9kfuv#NWHbjEKg&DtsRJX|ce*Dwv20vcH)apTzM zJ#P#+lF!tw`A~hL;B*{a`Pq%7F5G|{foAcPvO726dTD9n`!6w2`Xi$W&yb~_H|!EX z-k7#+jOB9&H93Yy0{>|lAd=C$WmlZAOx`H|#2o(lYl(ydnrNu%i;uAIun%l%7m{ zqqDP2e9_$Lu#)93RyXBK_l*b1KTGznl81#r*5VhB8VqQQH9(q86R$=+8Al^m6BM0< zJ)LSKP89T@zYV&9?d3<5^*1)qy{$8Pll;RyJ5@CQd5rNf_dTWRIf=v8bIPL@M6-O- z$y5wJXXb>ISCe7ZbZ7SLVc$62RI4>n^<3(d>VT@e)eGz`>=^uh>_31!3hz*bA6pQ zGw3TuU&;B6ks#zj?&g^JAxB&uwa1MnT&eH6y9oRWh^0b#A!^B>oSc z{u=t+vB)hTZ`BBrF~?a61R43bvuB)Gy{uV+%BMS!+2zoqc^f`5mHthYA_r`eWgr6p z&i`N({34350spb-7tf&N5~nq`1v!LUs}Wz}KPNMdXB@_H;+z1k&6`sLxeJOBqUjJPN`CT8l8?WF@79V(|I^12sMLCXO&zB}@Yt4noA=wqL`?6CL z>JOZVK#C2U1h+a$0mOz}XRPMokV6ZRH={d4L5 z`$}xfT2<)}=2|Vl|&)^4y zUVL~9k!%h2@0EBbc8(g9xaMh%ev)bU-Q>r52sqYx?l_j|CLcwhs<78&9Bk$f`2~;7 zC>v`M(IuBrKi`+1f)*6GMici#;f-9x80H>0Z&!mG*0y#82(GIUU?`METUo0gfrpwW zGcU^Ufx!t2luC#aKw~8s4s=F8CN)fu7owS%tE|dGZVzaK0LFLe2K67NyY>^m8BEG6 zs3~=Zys~Nu{Mgf^O447H{j)c%Rl8!W|K7{tD=0wtdoKsoT9~g9=oJJ|(5y+nUp#60 zq^T9mJ#dHTz#US3Wk8wQ0&zLi8|dl0YDEqirEvO|~9?D;GvNV^HAF_GJSjq@Hg4!FI@ zRrh9|3T}k8xb`y%jBh>QOyUqhvxVM)ZHSoIGVZx!z6k2~P_Z3;d1C&mS8f8o3^P6eEg6wM^MntG74A^xt3|BRav09$D+`BSjRVOZvZR``96x-<%nTmJP0o=?z zjB22)(F!JK*bjIck|f#djuLO)SSuu4IQSfYE>lxBbwX5TYJqVd8ID*Mr#ivB;QU%t zMNn&?eaN5Zhshj%u&l?tadX?HIUEhH)*encGbohh1MfqP@^X1q!~j^lisWFmIHzz8 z{H&dxN&xJehnN!B-=Da&B92;=2jB4%8G^_s*CRGE_zh@QnOO{TA6bd+JV(i*%B1v% z<~Q2fK1ho%YF%S4mZqC0S$aPyKb5VSE^V6)Ow}Yl&=1(u#+N`JKU_kpU1u0=^I(`? zfA1IKR|^)YsdxcN)lD*GE76PE=9(RJZ}rT#M?zBpS9!TB0wjt15|3mx#+i0*_bi)3 z0+x`vHYuSDm)Z4eqxlKfZv^YM0@I@(2f0;kS@-TbxP!Rph(Us+guXu5AhhkTA?vVN z^4Xm8-iSYz^)xU~eXp)r%Pf(KA~IF@!RV4q@m$Gd;w}3{P`14a?D*L*nKc8BurwFa zw61TS7feH-x^ddkfTv(iOj%pU`aNsW()x>Iq)}Ae4kNZlW5UoUQxAG$q-Ms=XMR-B=50!x^ z!Oz`L5}s@wYEUSB3d;U|@Y%d^?2&WQCvFSy@GNhBm6np|bFks$jb@ki|6iuD3|Vvv zw?x~I)&q{Jq}u(IHD#>7*i}1V4NKDk;DBThPkmZ*b0>Qe<(7x#rZ)iXm29{6|x0tDJq{9qw# zK^?76-wDDwme`v6J2k(yNB-l5cm)-cIBzB+k+bKKaG<%1c?8=GYWnUu3fF=;{b?|% zxT=5*US{j(6+cMtNT=7uL zVINYVK#BUcb@a2y;SFb^LLI8MhTlyHH7RU^?h~Ic`sy)S?CCR4`ZxOg86h~%%174N3irK@T4^!{}`wL*Ppk#T_a@lb<1Pptvx?YIXf2cb38>WH28`? zrVAdi%8Qh~!%(L->bLe+?nudWd_UBC5j85&KVFRO!%;Nm7bJCvo#2?qnKE}G7bxB< zESZ#jIaky~h?T?HG53yhTmiLeuFH20)SAJhp35 zP{uUIdYZMfEL}iRSL|lKB);Fl9Le3XwH4pBe%)}7RQ@nf2Dj@2rA`E_PetaZkD=#8U2u&p-%_d9&M=FasU!U|(-9VQ^?bj^YqY95 zwJ^7g93V_o4*W0hP<`@^yDW*Jj;cc$F;P2Mk?Oon`b?O(7-%&|$ zoe>)pB>__KDt_|KL2g7Z3M7e*zv}6mn+zI%dr(o5Fm$Q=NO(3z^IdMFRKgG7UTj?R zDA!(s%XrQnEUZ3s8~~g4PTZ~6m|27v;A{W{>Wfc3dSwncJ@2&die#|gz~}_EfI#Ay zvlj5e(h8@`!LE3U`xab|r-`=8d67Wk1~?*@O+n)u^Cp#skqUR7{w~xPhkn6dvzZVvlJ9XLXIo$3`Ybs1EoZP>e z=rX{R7y`b|E~r8$;9mNS*TUw(BYB0T!3VE%-{_}{NPICa;lK19`;Clk+3W=E#GiDc zGqEPtuBwy9d7btJzIF~uIET9zf*f^H0z< zTJqL!*i_U5uMKMWffBJ|U&qsR zW_F1-xJqI$eiPGWwP`4ek1aQIPSG2Ftu^QvSK_!vxnu9|QS08~GM8DKHZ;N77h;2R z^#*7mcmFzq85z{zCg>bsX4W1cJk7VBcTn&=-sjsb+SA1&Ubsc+497WX7dIYg!yId@ zyq|i^avidlOP&`!Fbxzv>~UK3LBy?Few2FTKldBR-d)}tWgV6X{KdSIQ+Wk1`;+8y zP9>|c^Zh}2LH;h14nJ!i!CgMK1ST{I;0EeB@^PnZ+=?R%fW;V@W(t9@K@k(c2&82x z6FHd&t+pn&Jc8Ft76xwTq`V{i*IRYjC^nJ6;aS1{*Wb1Neg)~f)v;e2ETQQI7~tT| z$p8C3bM&S39m%J4ttU^dF|qJAu+pU#N8zt=h&81H?3bllReUQNgAMU(equd-gMA0P zKdl>Lw|^X)|0{kAvDW$4kFD}qrGY~@!P-}aoy+~1$FJ_r#7Vjp0hDXx!re`3CNt&L zLR}T`QcUH_yWhkE5f=(e-^e=ND2f)kvUbpVQapm+Z|*B*c6+TSUT|dH4}LJd9fZ5K zl6~swzc$qD+t}R8IoTmJXKZ_BBS))>MX9r3sB!k-o2a9cVJaI!?ud&xnRxO3ynYC; zbB&XkAi~)uj2bbRmI98Ox@YhoFb!QLF2_yB%bBFx^!M61TivgdJ(7Usy$KpYucXYD z@Wyr5s;2i}oP7QIc27W&UN^bS-?{-l$WDrS!K%*+xXaAXaGclC>KYxO%zX~WHGJP; z^D-aM+A}P;o8qa-9l&?_N`k|x9LS*$s#$O>1eVbN4^PhAd%?@mFkQOF{cl z1hQ}Nc-tMX6=99XW*{Ns2KXTQ((slzVxG@L}ko=lOVT-UBa zuPe+Wauk>zF)JnDV}F`r8M#cfL!s4&qO|DN{$80!fUp*WK#wKL{Ognt`msaSMcf0k zm#*e8Wz?2P(No!Jx73gQOjv=&?SoQxAM9bi%vIcaR60qEndIv$^K2jZ&{e zM#K!J!7Z^(IXB7Q!mGU)#|A7ZsK@y1j|P)=y4_zqFk5|c*RuwKR}$t2bQ)3{PCyGU zR5}ild5kc{_{_ZGT_=nlnpmcQTzglFtZOKw!g(tYNPkfJRWfsu33%;E?7x z56e?dA*Bn$@0OwzWGp&+AP#bYY6?2q$}B88s(RpW6z3r4K#QM*ZPGI=R;zB zRWmP(-A#y0LEu8m%z9vYR=-}lK7&6@S=jHnN9)qtwa5s_s@8XKi>5Igns|!ocq+Y2 z(=Q*s!z>5!SUqsc?Ve^|<0wnbk_?K;ugUb*3dk6wPy|zVpGy2t^|c%k8uvcrV&o6# z>np)EiX@Y;yL`Xeszfo7??no}#hjjFBFbKZg&xq{bv9UxnPJKFh7Gu)eZ*6t%aDGA9*1Gedo6%P3$xXCjA5kyL(rns?YjzP09l(rB50v%A5;k~Z5jM-6|tR)>7?b6+nz zwR@H+4az2>2%xl$BLG(Uv)6N;r(Yg_IdM7MZF0g^XwCUw-;@Vc6|Y;PDy+(93a;-?S{$kLVwanT6r5G^xo za@u|#RO?6iuL#;!-oTpwsjs<^({n8Vl)5>*Xvpk`4=gc&d4Bg60ty5#@_NJ$+tQ~7 zhk@^b*UQqw%a)^&0mZTB^z zC{$&KZzC^XQ2-L%_26ox831O!Y<&=KzeEO>NfQIBU~Yk2*1tYKg7%Xf1TCLp0wlL( zAH)ea=>CLhVDibeM3RR|NGIx=j4)7P^8vW=N3)PpZZb5Lh5;}~j0AdmkUm4h1JGuG zNS*1c@J>LGv-S~~-k1vH+JOK7P#^6;!g|TGR~5!NJTDzVFt?57 zU6mx)&N=Haf;nj9`F^m_W zoykC|A&2rYi#F@MBX0r-)gCIlEIRDXiAC-P*z5=x#q(MC006UG$YX^*CU8v$U#5+T!AAs|y;g&oA5LDH#h5N^V!J{rH3EvaGnRR7EoGp66jMi9FVY zmjEA_o(5pHGNqnO)1|V~K?M%LTK3PZ$&LzFW43Tm+%Q;@8T+-k&!x}G$KCvk+K$aR z8)f=(9Qu!B-WBn!Jxxl4hC;|o=Aa_l9^j31nwwsq`A|%1)gWqdE&$*dIYVTa^TTg= z{Z~0c1o&e3up{>#;nxNeULXGI7M9^4_)dqD;2yrB$ z!s4C=rky8Ejk8a6%DD0vF2Ka&^R1yh{&(h-0S%Oh8n%PjikdzRBO$d^;cq(}he4k3 zis>YK=`E&3P;CqgkY3Ous0KVO?_Qmwzc!#Jtgg9~kY`_z;{dD8l>tX_mC+I&#CZBZ z!Kr21u9|lRT+f2y`^d$u+~a_@Cpv>3BuBK-f6X5#SLY^ir0Ej1#68020fp#1vL!!8 zPc=TK7x}!9%C4MJ{5GmZ=>d!16k?r3gkx6v!8mo?vH*C1W(X*+9T0otAS9V0QmCMa>VN;{KXOA6@%(6cGzsV`hw|fFqG=%&<%j`7!EDT+>&oIG@HhpV zN@pw_pH^3V%ZjFlglZ|@e7oB(y76kF|ZJ zg(>|qmkVZiGnFnC#ijOSe(W7(m%Lp9G$DD`)+gQH7(IVjz9j^tIAS6P)tC|_m-vDp zd5_+oDkc^Mg~AMyQiiM>@44ckNs0<6=RyvK58=Cr`EQWFl{(xL>w5CY+u1kUc5AzO zm&C-5tD^|2;-0#*WuYy0WO!@AW;9Yz%hOfkXO!y}Nl)$0rXZvQKpR6*l+R56(aCCs zjX!iG1GS82d>Z;}UJ*v&XV?I}^JSS~t1(t--=W>7O!-|hr4r2C<1 z+ws6*wm1aj5vPIEg+_sm?UC)$5pnm@MK$t}PHGdCX3fu%S`Qk0Y6LMBNwhf#HlN=M zMoPj3(d;r#Uf24WaKI+J0d8d3Fgq0#{Cx`Mb56e#`KBxW*9NZ?_|S~+0%s2&tc90? zD5kP3TgspX4foeqo*=ms7=>@x>)_CdxbaUywvGS&@Bb3@{U1LT7#XPI1~k?s2hBMF zqtzxXv|{`3askl#!c6+gk<_ovIIt&xsw$)w$q)la@Ok+_BIY+>Ne+5uiJCA?N2XS^ zt!nGXx<_wWCp?e%v?%;+e?%Dj_VsCyo?8Is5#j^v;jkXAd6mX&L=?rF=8q z0IJa6hWyeJwGFImU}ExzT6N|tKp zl$xPqNyqpT?V5L$KOK0qJQ&&T@b+dSE@?r@&#C*me?S%{y^CcJ&Ut{nV!r~K;FES7 z`~Z7F#nD=@3F{>DY&_L|*&WD?6BYodnM3D-U3i7m0FcDdbO}ZuO=maK*B`)XP+jpM zNS82O1wuQ9Y%j1*GU#yt4g}FK3j6ifhL!HsUmFbFWKNQ+vZmo1<|7Yh5VUIxEQKUt zu(=(e6(*Y^(}tZMVRaocVcK2h2o}HdNn5g?e%T{!GrAeFt7?hw5*Enkx?g zwlXMlC({f_ERB){_P!J3WzRAXkP3-n$tCfFkp>Sk1rlu8i^~$QO%kvlo2w+@%GC!+ zam6o@3lA}`^4Hwg4^S{O!eC}d^ClpXP>5AeTh)gLx^N$Zex96KU47I)$7n|pze`v= zY0tu7mV`|01s8D4BZDAr5iG7m`w4>9jDiUhBu-@$P7E@RhdRa0}hPR$NTsVVcvuLDv@Z&BMqS62LcfDqQbCe+otsDt2_-~RqXR?s=>OzxrX$>&PAQ9rp9s1Er{ek8Y(FU>CHGAcTt&%kxz7dj*C(&P~* zL2U|^lwNYj7*)CFJ69ExK~Quk$;|dGVS90mR95dUGN&RkYDR7r0~6v z+CxUcZQPVnWziFtx7{wZk4iWc9Rh3Z%P`6GC4RnOb^K1Aj*9ZbsShnYD+4SF7EJME z2TY;&&CuhmQRbCvb9`66KR5E z@#~)_-WNU}pSV94Xmna-?KoR5=^5rz~QPMhUswb{{og5-%NhS(*o+qk{T84RC`P#v ziYVjn`p(?JSOB~6RX2HdumiAA?d4q31F{=%mQF`v;j($;a-wYAFm<&E3WlBL8p%Or zCdg0xoHwp=fOTd+LR3_Zxr`f6zDYe02&*;L!SLxkC+tXpIXFFUPIpo z3EUFa>l@II$t4hu$4-F+Sxv@$8gKy@9>@BW=y&H^*Jpir=nyvB&?BI~gZScX^Mn39}>8xI_8fnP=hO>T(Mx0ej>ImNR zT8mWHnA)Yp&$>sxg|t43=47rI7?nf;-{T88J-d zO@U(D{D{|zQ>%X6lDUnI32N12vNs=`_f?|fF{|&Ru#6EfXc)R$cMJHW!=#oBE-z@X zHb&u?u7K6i{tde{Q!w1JY6OMCh7k?Sh7L|kmo^`K#tXz)5O9#pz?D{LjL!iW$~G{F zN3tljCSLxs_TR{EM3yS@H;7__;>v`Pk(tYUjA`&y_H;h32jE@X(=wOV$~!`!0V!CT zB~i0Ji^xW<4EGIr>>*PV{tC?KaqI+;H4-=kI}vas-yyFlfi8ys@$aP(nLs(#jY;nX z9)kxvO7vf3%IL4iPjQ?#%>bm^fW@(#WXxWRI`V6SKY@v!sCfwvoi)%52e76?N$cW| z4eLMX1~SbIw~^UUD{LoRL@Nlvt@wOAQY?(LCp0R)RCN6wbS;FTh^xb+wJc@HD8ABy&YE%|Cdlh2NehXhicNMSB z&C={Gf4FJwaM*zu$&I(Z6S&!pZ`#JLjD0XbuIxv*@ZjMNYvy^h^AVuRsz)X|EtQs& zYbOza>M+7THjrvO7O-7_rO=H`Z)EC@^3T1+<<$&ny2^(bl+b=$E(TmkTq82;E}}q< z03Yz7RKda_!{aM&8XQy_Z1r&08G~0H!rgR_O#UoD8PBOK^n~Ia+wg}z!E@;N+mPBd zB*O~mrhEEFf|DjXRuuSMWOQayI-`p?;wOP%&vKvdd2DSSwuCg{)^DA`HLTH9eX-5# z1+OC~9pk?Yy`3V0Gz*kz9u4%Ibz2d=Djj=8-!LW7qR02ltxfm!0x!Q;dUAQI_SOYV z0vL)>da}`v+ccG~%BV=kd%J4!4-XRCOQ0U8a!`#%otH|{Bl-B-wY!?;x8C!0Jf#>r z_C<%bVacZVgLO!?Mq#mMM?0f!t_;#mm21q|D2(fMz z=<#L~2}?=kc_czJnK}vNVRJ*!z$g&EB_M}VtPJ{e#F+jzJ6?Y39PA~=3h0*nc)5t zArcMEF8H;fd9eHn2_y#pI1XTus_)f>)zAR4B-V!?Hb@kPD^-CXsfb-UKt2(`2iWlD zaA5RBA@2VCwMaXpK!67fz3qR&QDOnL0Y=I1;rgIoqFUGa+N->;Qfv{`AMFX^UrJB= zo&S5{xjqw3*4)JYm_f_Xy5boA#WZX-lLh3y0j_k12ez5w`SJ$R1m)|DBW!YLRF_iF9k5&hKMZPPK;ucgE^N&s{O6Dcw}sg)-#r*pY!Nq_ydJ z*Uq&&*Y*=Qf!LO2>4t~tiw6P(du{PGlhZl-5SwsPnR-SYoyy zKr($6BV7O%?=88wSn4~Rg~4$Goj+SoQohG|!`-BK*=4Ql0HzG?JJlglIW6t-_UHyC?&?$JCQ_xz9Zo=23mJm6rY9zJ5=O>bUnUL8qI|A~)i(-UGvuYlS8lgG&Sjk*ce2r#BA%oEfes06xf%Mp^cKI4qAwU~=aV_REcx!8%CEQ79t}o2n zCj2wEWMXHa`bfD2P#L}9CX*-IAQ}-YdGsreIt6fgh!H`bjx%i}i7sMOL&FEHP&Tz} zF*<7H)FP$fgcqsf(j?M+iqx{ebZ+SbO{9c@!~)R3`G`N?P6J!1z;pFQGokf>>^P=} zI*P1W5a-wh^4IMf(N^^6P2I(P!GH#34`C9-BYvQ}Eb6Ty(i&b`M{0s_)7ABspnq>R z270ogSf>_5p&o5$`HttT&=?@9q&e~4k>ojX@|vm!bqB}CkJMPVha<9v{KiQK)WrfS ze4Q}Wc?z}!a8K$xt)ZSH3oLnjEPA4aBLHsq;=6vhLKv#YF2|RnG=bojB{BV(u=+Ov zsC(yjCKcX3Ji_)VRUU>m>78(MbL+P#JcA!|%GwJ|Q0c8$#Lok(D1aF9_^WWi#ims* z@#E!hGcypmQw)L76H@nDb(D^Xz|wWP5lOO3x}zw|cVxl(M*5{lY2y>~ptr3V=1M@1nVypm+OUMeL4BCA z+)+Gxr8KO4;|yq0&%Ju7&v?$+wuh_3eRK-JGys$-V(ZuXFDCtH@-vWNu~-@gEj&5P zM1QhC?3(r}Mud291u9gnroZG^eJzi!eYh8Y#$tv8=cAl2oB!3)9tc&+xj&3^rM z5yuf~fDJ*bB;XNiK+ES}(8K~+z^dN|dI01w#NJKh?vV=M!`z4kJtYh#Sw#7Gs0_J& z@r?LgbQgwZgk+re4c0wRh$UG-~dP5cffVaqHVNK!iAW=gKv25i3ohaXMBG6 z6M)T3I_`WYDKGFg#j^e9`~0$;MCmU{5>LYPu7eEIppB$<{@zE7OqxNp>28WC-7>{- zn7a4Kamv9Z9n*V?oNPeJrzw&mO;fc{=Jqm+jYLXwY*)H+WYNR z)YWdoMB9T7*DmVvUvi2!91c!-(XHO<@H%P};WEmYHTnaA0fSm`t<=@k5m<+_w4H*` zhZ%2jpW3n1pZ(Pz!wdaR5uyPoi}VYrBlU$0hg1csj)(@{q*hzaq%V4uDcz86>Th~+ zKl&k6vfy1jXOvksS_X|6RPWNQfh7x-yV~Z zX=)`)*NSKm;Wcf4R02J01gG7KbTcp%|1Zg%537$+BK#^TfaRf~`Gu_qeBvt0`M$(? z#0LnvsAcRvqx8b?;qoDa!)xlK-$Aeq*JnOVshk%dQOvZOO**s{-}3(I1xZ(K>7>m^ zW6jBlx--}%lM#b(6;K;#(wy%2)J=vCzMg>;(Bm1K(wSy4&x zjb9sZ{QHrsjaa*R%q~Kls!THQ4nI{G#PRd4=TO}jTQ{?O3Uty1xSy#u(u8m`g@b+F zk_U!75$QtAB}{(Ik$O@68Ih~MeO=u`-d}2#sv14wYG4%b^Hb@|f!vuW^cuQtOsV~S zAkw^|Ir*d1%q3tzrcgU&Taga7)@)%$3{B^EYnMpBZfV^4n6sjY`X*nlbt?{JTQ$gE zY1=+^nWLy{Kz%`~Q;2ub29s9LGKqsx4L>r&N>w=xO zwvm2#{ec0MQUMsdG1|I1+}4e}9OcI~A~k?w+*D2y-y>)?ivmZtVA53w_$7K6X{ z-3}pKf(6C(ciEYYnD3~`1Hdb8z+8*2?YYe+FX~{`Ud*QSg3WJNG0y8>z!8K@06~*g zid3|%PqiKxI9bQlECzg3pke;7$_k1jfVsdnsFU}%bok!G41C8YCT=uR!AXXiixd~f zD?9O+*Ihvb)uTHaxx8Q&h6$hk7_9Z!=Lz7ey|uzH9Ov(ie9HWy`Q=M7Dv;5(54k!x zL$?BI`Rzp?0tt-J4o@MQ6UoEOYlO`A9pIF#JBMymS-mO({C~1!fR~b1VJJxztQ^mS z6_`wNj%5}%mo4ifzT~x_U}O!#l9Vk@fGvAAyBJ0`LJq|h7l3BJ`MgPB(cYRB_9|Si zzm@}n+nF^j5&;^4uV-&9=6ivf`WZlTb7k!e5DIMg`w!0|fdQPi*f*dqaELSr;b%5u z+sIfF>vYROsOLV!-CjCTJ`qBDJ4JX@4IRLfmcXOtEB@no|JVG^LTzVatL=`KvxP%W z$(vXfj;>m&5|sJV&fGJ~d(qSG+AHFLZiRM2_N4H^qc2Z;W||;(^r{^-J$HR+58S92 z<32YoJ53EDe-^Id-)t%d7wk=v?;NcVa4~!664K>bdj+_s4X{uJMycvD8;v)3t1DaG z1?`F>uDFkqdixnZbRa*UA z!mliOj|thg4U zhsX+i3;J}Z*VK7K(Gy)moDa~>gMp%4w}2fV1GX}AKa4dE^`}4g{t|zDi76qt29(V{ z%C!eBLit*9bNn>$ z>$-+AcC-~ZW$h1RJo+E-adTam9q=|sAl5@w6B%1D+=DL|<73<09aZv(_nmr0r}X)k zNX>``nBNv4$CilV5tm|R7rQI&)95etCqo~-|2@P~#=q8}Ew=}a7dYYJau)YC(!g0S z_Y*Tyo5InG>fW2=N~FD*MjmpHxY@6T_XJ65e`?%t4NweueFe3c{`(3C>Ti8%tMTe9 z>%38rm1lPBYOL3mQQ~p;he;PTEkpitq3x&kGW8WRCBF)?@>_s|6Q+Q2Mw%x4bdN?~ zlcO^9^`-~nn8LYOGx?(aigzNS+IH%kFUZyQ15MznCr$vMB0qOM`8|Ef zS(p*WTP76!PGb7C@S;#XXHPdWk35v1Bag>^r~Xc+ z8RJ+yK+{vw19%1HP9)8uWkq~5AnnXx%Y3!})Pn)TX+&mM{Mv8=^%nV`+bICrj{&HZ zSZ^AN`#>JKe3|m?pZhVSCDSNyNfhWy8@Um~JbvZy6XZx{4)Rr4Ssc7Q1jHfvfFF~S z#J`?mCdnhg)cd;0U^4yN(9MF#(^p=I)ZKb|-^fV0Q%fllXrV~O zEY!(ngATUg(%OM;Fu;JYsaF9Fc!N7YAT(_L6f#63rC<(N>aBuj8ZzpKi*B(sPl&il z%HJE`(-Y!KwqiLl%$YEdBQ0xtUx=#;L7N(%Px`TgB>nxxS@V+dJL#f+9{mf^@!?s< zA8%w%6rsnTThHO}wL`@Im{FdT+BDR-6ha6&E@eq(s5&FR_pMK%6#xqypKgxheKkFM z`{RXixGnx6L;M$lpToc@Yqwg~*~cx#m73n$9Jj}5ZGz}8src-GUYPp9H0g+Eg;}fB z#iEciz1f~GN3#}^nIsQ~ zui(}Y9|2IdqH^w+m%b}Abi6vHr-#xTBYzwBk=ga7Z4tpy#AksJ*9sBdVGU~En1N&_ zOeWOI1=~0XjQQw`mGRp?kE%7c1oJ0kW8>Z8Up3D*DA|ep_`r#AXkT3*;BFc;w@MO`1{S?Qxq?pe zNnq5|vdYI>wInhzpQb3Wb$3#!<4e1dGIJ?m%`*YVIqjHu#TRlry`k{aB<4-7H5@XF z~a+QDRaKiLwTZEL_i~QNF0nU&0+fx{yEbEOtmQ>MTF% zta>-BF}D%nny%(m(5`u91{7K#40b&c+HG6}1hO&m z?tbsZ5d>s!--ncYQAzkW&n6dN&#LBYA%_V9*hXPp8l0XkaF;jnc`P(_h;lhRsPqHu z1@@-{-Zh!^+5?^DEXTI~f8n#X*~SS8R3s(WJ<( z>q{rZ@X0Rx^_kmWzuZl%F~dXA@9%b{z`O}m4m~LEQR?pz+K*zG^r8tft z5jGjG<32orT)w5UDu0t{Uuh>yqjJJw(RPo|Xsk-&^SinH=dNt>+nt|}k$-J35l))F z`7z7Bv&ziFdGQN?hIhp_{=wbh?EuQY!Z}NFrsmgh^Pd!?TUDOQR5}tg-**4f*ziT! zNdR0*(O_Mx0!;X58^p|5P9JZ+dwGKTt)@FSpD=JhmR14_EC>Pk*YpwSA~CQG;jfpF z=L!Ht`@kP3v8o@&0WkM*Ne#5Dj72a{0&+1d`LEai_uKz_WC;JKE`sFZq#f4Yg+=k| zHzFLyqJuI3VYP|8lRSKaj^Xa?1I2KpK(CdImnj)D@gW>&2JLM#xw@4120lt;Si{g) zyZ&!nJHSa}sgJ=ie=6bCsR0*CjolFo*)6YAE=uVIc*Z+?*XO$z1Bd^>TL+laKalDC zBfHZ_6$A%%B$}h&G-;;wWq#crrYVzV!Sl(?W<{t!q_Q%o!~L}Bdd-6AL$b@t@YbB+ zYgqw1KoYtsqCTD4Kiyp&b#K$DD1#ietvcx#qMyTy!Q}M*X~w=qn*rO#PyH1FKYefA z+?4UKGv>@DGB8>Wn2)NeEBN9l9UORk{2CQIj7a&TH2_a^BG1(aScAFWx&JSGcz zx_)T*>c^J#@Vz50iPXQ#>)EFO(kq_;T!P{6>yh=qmYqY4MO5Q0ej;;I=S8yu44H3T zhq2UMJy)x=1is&X;&_{P@2CA*?ifAvMP>Ec;mP`Ak^t6pjx_jq%hj|qKBXU*?Jt-L zaCisT*{LM(S<J2l_Sb_t#j-tk1jNIzP#~*TU9r{Nr*$X8xrn9M8ACNhw#};GfH1P54~o62@GD zMWw5$%SWA&OhGAszBwX2&YbzBkJjmdwbf)FwDyG@UnDdx1^k%wzTj)WMA9#}2!CtZ znJy|dL6F!%ysl{R;=tw7q&}Un$s9n{Op32NFB{M*bj=a|pmH%MWWSCYU6uImTFg1^ zABE1SRr|9qqsyKPUV)rYPpzOz(j&iBg6FYP=CZ#n-Fl&)5&AkvPu$u+Z&z5|o+s;9eJ|kj$l|z{Ig5jTh8O#<)>)4 zuf&KXxwaeKTG}*9bzEQI_l2NoIkB6s{gsrjpIj9YB7wbG2RwT?)Zi(=efyzEKR}+< zfrz%i=?{T7er@2FYK5kryC9hwC|JdSqZM}+Ko+w!0MMpEb+G^tZTidg2wEcq5cbq_ zAHuH<8$*~KYuP&*7QpQv?9llHg!C~}$Yo;{1V>C7X!w(1aT7qgwjJw)XdXn4OF0Te zvh11bBC7Mr)ev(hvX;QSjRc>xY^()5i3e32r~fUVr|`G?%i1LkZ`U5WcGL_=dg(%? zP<1!u?uDu;(c6$B20UezA_rO@j}ati3u4p|xRcU#E0^nr4MIEjNV-7X z&_d{n2u=%`$~Bmt;KoM>fE?=xitfZ!l%Lnc$*ph$T5n% zCpNoOm)(4_T+d77s%r)gahXtVAAf)DeaLjLxAIx7meVA8#@j`>b1-$1PUgODLh}XY?Qam^s8hX$STT@48R?jtLwU z8}P683LEJ;UJ$>j!H6QU_2tUgcyrx%Jy`SEIEq=ip*SlsC2FgQz{Os%t5J8;gY?H+ zy#MthYz1Q08V`3#v-orqz;kvu-=>bH2CL+Y;s=JS?il{OS@?o5tq#h{OAp45fyC!> zO>FQz#=Pd`{AP`(9vaDG*s0+ssN{$*X1PdFol znVuc6Cw%xsN|sgqu%WAbmPD?tD({VhJ0tfmZCd!Im@a))C5FJl-2s9ho%i@)4UJTG>G7dTh_s}6^wFfF%;iC4DD_;&+?grj-vlD z|DYOpQT7VN%S;j40s{<@>cj3{u-5WQAt+^E5 zi@98F^fn8S9oc5<@u|OIg#Z5if7Lkr+q{M@&&5>EK4IAOavdmDh2ieGXS*LWTGtsy zLKZMm1?u)Ky@pM zM}L-@S#C!_NrFjQ#Qn-a`!`BSXDh_8U&%w^(4t`gILmJUT4nhhrFW$*Dtlb|V&9Qt z6;h4(^I+xwODe+{inG@qM%mXPR#w6GfBy_UivpDacI~KI?HkOz$MD~!+HI1V{zcjM zo_@-}mo&-Yv+5g&#)`zslxg@}3f-^-^AgnIfHUXG7Z@00}e8YBP~q* zfL)_|GG@q*{schT-yW!9=O0pbdnsk7wp%#~JEXvrMS}h`3*3iuJKe8W4oFoc3-Dk5F;AcP3Gklc@mKt>j2wReX33#850UQO*6vNUc@qpNwHI;j~ zFare5cNe6xV*g$8!xE;CT}8gdMADEovf^D`0RnQbAF!Kn$MJ#m`{ZXN5CIKpf$9T5 z<+*TKAP-UQ0&F+Airj~wUBErok%-c6cgn(vz6tF45O$^xW=9=nQcOkeccgH=j~FjT zH-Zs2%wJ#{!3P3%(KiMzx`_X#e8K(K2KnvQ3y4Q|Yy>MS?to9NB8bn$UcJ zCOy2GOnZiJB5%vGGF@^yo;m&b&7$Hx&?|iF#M$LdR%#iW{XXUxFG?KX0 zNz5Sk>d=BJhwug(B48Fhy{Qa2TWD(5Z;CvWM_jz71%TdlVSrK>Y(U=CEPOGW4cCN| zxMDb4Va~o-*hCt9)*Lv&*R*GdAT>gmQ>2{>Zv!tLRqzLyFMS|AMRo+&g9fPjF@X`5 zM`H|7`}+3fI}}hF+keI)m@9!`g8!N|0ZQtv%bQTxO2kUbB>*x+!(M6ndviSxmREop z2M$?c(v0t|t|qRgcFm0X7VanKGaM@+t}Kdy2>-*Hax`WMN)nkf#ib!Lv7d?TpXals zha*OZSJjvEhx)u1n!Cg>Op@^L3gfJF@IfxflT*l_6r*gNX7m7usZ3)!+8 zEUhW(+UePWKg`NMm#}{gm6w{hd4aRD@vam*(Klz#m;2^5Yd!=xn{>#tn=yFy|lVqZBT;AqDkPyVMmhYo0$ zCoAiM*q(h7q}X{Y;#`!0cwr`WD}2O9a|8m^#PCs?Y7RFuCGhP$+$x{)Xf-^j;fsak z=-tWv6QxN;_m`}7Kg=*R!j8Rrf8(EZfS6rif$D*#xg4J$I(od*!$(S5?3$h7H%>I9 z!Hy|60mG8uT!IUb_y~yWk5MyyVER33za#0BB>N-86B@F`*cI+>tpMCv7DCA&U7c21 ze7d==)a1qTW(lApXbl<1T!1Q+Jh*EG;rW)Bl}mm7Z&!Y_D?pC))HtUn#H;=u2NK7Q3@_i-bM_<%X=>N6Blnu>I`nne&d*g%iTRIfR z!G=FVsTLRMmTaS3-ZKdwJrMBHm0%!CT{C$(7(j~ET+9qz?|X;3!T$_K%Ygp*} zm+Xg9ycmd&#W67xQH>2u+0NYmT#g+G?WN~{NY^RTQcR*F8&DF|Ly#H95dL%3_Dm%( zAb+dcUIqQ5X#4H_)DKz1nq@KFo0|A&oLO`xC$Wx#612-;nlmKbG_U2(XXSFZ@E6^t%wRaq*#KuCmtwkKI&q%9@ z2~e6t+Xp|?lH$}jM_!~{>>AeR+FCD@zC=k#$FKV8I4d+E1Z703bxuIBxW(H@jsh`? zxO{pBWJm4-W)8F@|H}*3I;eT{u-l`NLs2^4DZ=+iLuzSz73TM_&-%Dl`+dps5W1*U zhSCp3jRfS|v%36c++m>u_gN%ZFLvHVmznQkFb-0fBt&81mO9kh!4-(Jh44o!^FRMT zdsLsBiM zpDy8}kQw^4^mEpux67`O^;<-N!gYz>0f%T~0Qm$Ctr6KyvON?=-OI6{&ziOcn2ng~ zubRdW4!?imwCBo;(6E?uk1BY|y!+JV-_m9RPNWPk?CH&!u@4h@hS#}{Oz}fhk_p6J zI)|81VmwuSS#4b>_6%xThl@za37M!h1to6~UzxC%wYVZJ{Lrjz_Cu1N!Q1KUY3-iF z$41}eTVY8rN$Jy_K-eC-GW^fhfNa65gP5FC6&dwcu4}a1>6FMp5 z!i zg{>vm>i{J1uLalvKl86i5RY4s)RaXI;r9kmdbn-To3nS83k8t}$gtPSVoD$yupt@% zDGiZUaiGg_SwK1l6$3aPa~6DOF^9S!0Ltlh)BaL~9dE8H`K&RfM#4byj)>T95yP?H z40Hh^lS4g4ENlA!G`nR9s4_g0oL`z87#Wqd8o!}v9OR8ITEpq#Z$XvSOaO*;DWMPz z2lx$PgMYbj9Ln@WPL8mn$n)x;&KS5XU>ExYv%l6au5MxH)ft@=6u0@?WwLU@2cEYZ z9P0U@lzW|!1v;T#yz%hm?stz<{4*0@1)L)ZOMd(#6v;QaI$x6tIl}Gnv%!6F>A3sE zh^?vXP!ENLgYj7IZRd?E7KW|(G-_giHs&ocCyB^SV5|DvK2qpB96wATy*?Gi z&t0@ERDa@CDK$XqoNlo9YhoCr0YxX>pfI2XjQ@#_QtBqABO1U3@#5!SdY6~%2Y@CX zJ6gaK33bJ{#PXW4 ztQT7Awu!sY4JgZ?aI9b8p>@{%pMEyd7ow1^w$^9pA9CJGKaiWWRlbze=HP1j{F_8{ z>^*UeNdFuEZby!qT@K)nC+ffoAc5L3v%Q?aQB<$@nJygPQ)rm?CD#$k|7dj{9qU^X zMT4*0@&4KD-s~Q~gcO8Zskys}MW=|tUy4hKm2FIy_WdoL^-mD1O@5uD#zt0;I2Q)k zuZXk(zdEj90)lgZ4C>A$!=fYr4c@r}3;hVJNI%>d}&zH;p^}*I_`-_5A~(V4%?Ev$i2mpc|yE z6?x1@wS8SIF})Y1mVj-i+BsZEvK6BY++A$~N2wztp;PBXz(w44TOa*?6TMF_7h0lN zDW~<%7C4`!KqQwn)zZ45maoVsfa_PO%JQ){Ej^HMrhDS&48usY;pUEAMceAlnt#yk z676muxssyUZmE~qzb?Jq_+M0vFLEA8iH|0Z;@Es7I5Mj2W+{;YyolI~^aAc93PAOB z*255i--7jO1o;SQz(Tw@Wu_N6O<#xHyiLLuoy-2i{_kDX`~tsSeuur*cl@MZqYY#n)M_GAl?X;6+bt|^e_5OHWoza4z!*FlrLKu_fQappGZ?*$%yb`eP4Q!W zdEJ@=UF|0;uB~jlwb}1Cs~o4~m>s{nH>?+EJ^#mD2MPj@teJM0j+qzSSLVK(&A;7R zWhth}Tr=QV`f9x+V&!|e7parK2QeH#+zInsi@exbmF@G8oaZUzP*uJE<}t#D&I*ZK zWlBQ)h|oc0TZdFu(i3alJ__nxCu0VPOi!)-4it?%V^pSW948vo)(7sA2f)6evO^l| zrGHb(y-FH55TO5tj`b;! zKZ0QIqk_ER>)8hzxb66m+dSL}@zg0Pkc}b`co%H0jo@4ra{uaR%uIamv(~=T+9wFa zBBPQYx^LaEPbX{78RTp5oF?Z=jPeHY|X zR9L6et!$mw9y5f$EL#8Q``+5JGt45{Q&Q=Z_SQoYXv!Ef7`^-V)hObLkjC4uAV=%h zt_stCq?jaKU%!#`WG10nCU`YGq*)Uip<_$3B37tV~d&&{@eh8#G%tnOTWTx2fQE`vlGEQasp^NVCte z4TWC{O-Z7j6^L^nu5ze5aNCFMCmk2-dO@`VkPN*G#0<;kkjt`R>?h^GgarYU@C{c- zTv@mQR+kO>hYG!@fIS9dVstX)KtTmC4M0>?+EKc$zy8OMYz28J1+nO~w#p6cg{Cif zE~pGqX_pEAgT40-imKc8MNvc)R8#~cNUNY^Q4mm4i%1rc*b-YrL_|O&NM4E}N@~dh zN(+c2p(RV|7D)mk5?eq*gXGjrXgYs)@||<`IiGvKclN7yZ=JeT`wuLOVy!j9m}8Fd z8^19I^=wEG3ky)1cdGLZ!1LWerglYvUMlEpxI!K%R-Qe15oF$T+vsNJx!OE=K(pWI zOzN{obypoh3fkNo*@eZBm2HGVZsnL0kH;zijGmV!)%U}Txt*Wxq-C8 z+{Y3Jw{JNpVqt04UuQWHW5yq4PCAJR65gZmbIj;?+^qJQ_mPrU!)8TRm%*K6dTh%M zL0*6wlo>mN9qD@3^P8sw(x7lh)x`IRsWt2(H`;#2A7o+cVxa{jxT`+EKeuTL26I=c z=3o+vDdA5u^JVs^Ux?P(4Ho6RSeaVnn)hYH>c!b3yM?0OSx%a-O^ zleshif}AJ2wVyJpCgkEC04;&+b5D^$jv?IerulK2Y^fj{;}v4TITWbf2K}>Liz`FJ zO}rdKX)*OVJt+EvOA;(vOyTgCoI9&1Us}c$FX8T}HT9EV0rEBPZoQZp#C*MhTqL1eUIS21M zuAY=D+KG0%Xx9gNtpI%YT3Walyd1+wN234=Wzh%Rws@PR!spB!=+{pM1eC%%uy1eU z2NI#@Fbfw1<^DSS*lboLla2CXOaBZ)<7jBrUlhO@#Z^d}o<`_f{1l-7udqzm8*m!~ z3!n(f45lxQYPZIm&_ow%CP=V$)I*nm`1t2;88&Rez(M8+?ytO!<^0}{!`nI7f5E2n zi<<+V7`BRuD4YjTL*+s;IyQ~}MNv}k`i{7WO$URVFCe~e3Rk5%V0&dEPVIx?&3~;4 zdf#{lUKz-_3o(o%>dVP{peJ9u;+Z!qtxBribt|3*Y`or8%(KFEJ=Si$943nF+vmFz znQltj@in*qpyX9(vSFd)+lh`R@heW;P0 z2rrkt`Zl(uyyisx5hD;$-`=*9h>TuW7$eQ(+1iJL)hww2oB4txSPE$k+GzNC zicM@jFTeOhVCeYIM;Y&=;-JLV4GdfHq>p11yX4Uk=p58kxQ{o zk&y-_CUK3jRl83PKgEE{K9#h>IISB4I-p6@!KO)pS%aBB-PMho%|SxrIdIBUNVpDs zNfx=r;%0<1Qy#NSn*Z6yU_;k%GYkPLC)t6A3Kw9xwBm>jLMqHdg)59hKnAxsmtp_} z%Ss9XLY}zA6(#c>f?RI^9wQO?3pVHv|HVL3(Ll*H?zla+Zic}T&CrbdD9ZI1VOFH& zCW{NmR4n3$g()*9iUl=5FCb@NK_!r&>ENK>R{%~3JL^f4LX1(QOjzfUj;4C#WO*u> zG)wDW(*m3Puig5;TL=s3J8oCcOz2QWhs?l%Pm}*4-zdiPY&v3%8~G3oEw%vuHtNrV z{9lfitn1hZbfZt}aGmu;Dl<4$Zi3~dKd$xxgYorMMMB3b@2ets|8NVX7N`wn$TeCK-E4z z47^I5+H5wRD`o8isPRIA)~4al|G7`;k@@6j99i`ff3VGbg?QJse}6HGVl%cEJ{wE~ z!Jj?A$`E3#WT6(Nk>47bK|mLGy<|zuM*Kbp7_kB?1bwFxfbDmH<~2ta}Hw>j;}*9sHln1XTQG|_`QGKH00}b zQ)ajk^#}B?9s1V}{kLbRqE2RFg`1LQkWJitc6P*c>64<|>-Kgh&U13*q*t(ZoU$9J z0xJPyMAQLK*$8c#!M-#$8-f5qfhQs3 zTW}O2m0?HOP3)S`tY%hB$nop+wHFu!xZL~RCXKl;9t^S@^}n4~{DirjRiK!7WMZ+Y zC+HRCGcLkmAH^%nAcq3ii86WW!lSn0dg67-L;Ih}=VsW?37%tD`Woy`**%Vo%#f_Y zGp-K3sjVopJ;!SE5ktzVef%OF@HM8Zr(QSm&fC7~gue5ZMNY3N;p3eGEoh!%hG3EG z(mRJ{5i_buKA36p7Dcdp1_KyT;Gw8j$!`Dt8w@*57^MNw&MN zKYPiXL%I&v+n&-uPHB&sZA5tj=MyZi?fg}WWySWI!X`ZI?#F}Php*S(%Z3HB631e3 zoWaLPu09nc+dFKoJDuFgYL8&Fk@PC(D^NdX!QrtE+*LC)XkMgXpzek3J4a)5}fWQZv6kaZj$bM|Eam7Jq54|w^A!bd|^5+zx_ z^ND7bCowKqLVGmkFvU}g?vI@moiW@(`#MptAa{#J1z8AGb)?VeyAM z^)F9WdL;~0!;XXkqQb5^#KiLoI&*svXiak&f3bau5KHJX1MDP?D`5)Y{PG{Q_ z@6YDLH-qGb-$FheRV4xaAGy&w0K9I6vlF8vGxY-LJ=-HhBv%|dbPg1rYirZcYF2U+ z`5PezYKo)!na&*YUnEgfBy51)Ln2LUjP`& z8=hBK#nAq%{%S30x#8<8oCZO@@9fSVw6k+~mMyCmZh1p*LZ(gKm~Inn*7x94T8(ln z?(+aS)CrZJ^b$Ba+xR}S`p~QQM&$uY@E+asQI-Bx)H2KhBp9Z$XAJX8uTiisyDO!^Fl%dpr+6NS^aeKfOsCrEw!J-XEe#&}PjqPAz zNix0~!UmMRB&2CW#AnZg8JjAV#7Sbnw&IRPTxkT#(+`_pMDaG#-b`8%a^)P4DhJ4@ z<@h>6c5Whv*k{B7==XV{7K>z(=gc2$Y&3i$4qyQhVnailO;W{BU9xg_BkKCME_8cs z7oe}gIDG1hyqq-)7P>JN%FIj7hggfd) zv!n_({=D1q^(6P>3eeb1ex_TVZS9Gxh29>A_OOYIAf}A@nl+Ckj!aqOKr)o`%bapJ z<|7k9cSkdr4ImcG0dp?{cl$^9$~dMyQX1+{`hyJ)@lZ}c;D+`l0k(8#A+xfJ6$*SL zTo|fy5Eu_XVVgw6l+GcjP=*!Cf)W4L737x8vlH$mCc>49;rEPXT#)Kt+gLCxr>6EF&fDt5cP(+t(&eKfivgB+e~pE` z3DCQk&^*LcXe}tm-_b>*CIAwW(uRmqJu+oJ7%mii7QVFdeWUA#80(5QfcP*n80I0j z6+?EE=Y+ zLac56?jMBc2K5$~W#dUV%MUDaeVg6(^V7^3^jCx+sM8-c4$=4+T2yU-C*ofM16dFE ztHu>amIuGcUY7YJvp_trd9YH5@8s*D<rOupf(6zRa*sD5Kjg2#Ku8Xf5} z-BL-73u5XlUnNsw7b7YVVg~B`!S;r$9w{a#48IUnXAWc~PRl|aT(`$ta=@K?A3)tZ zG5tJz(3g^Y2>%L4+g5;TdY(^ITSd#gkCJOKz0=T{gJajC|0aHn4tXl|1>m0CSXQ5c6Nr({+aw1Olz zI;4~ixytrTE8dUl&)%c5jdBa;fmQbBHK3#ubM1&HE59ZO_GgCY=x}7-)7CrwxIuFM zJttj>G6Ncv$j4xL{3ks3`ga({k2LbS`U9(B{W?k9r2EmNSV6`v&PeiVdx_78+Pssg z+E3;?;=AnZd6wXZK8A+3oA=uh+qcOIL;D^5p9vc}MLUW36>%}-iMZHccS5?k8v%EC zfu_F4;EXHn)xfO5{Jm%nz+d`Ipn!Sk=z-G0S4V)u*EVH_jfa)5!aZg&O(qmOI6qj> zJPHsIE@2GoydL8eEDBn;2nMQmq*tGws?LpxF9AKa&D?g zAg53QE8!%d-*!8sPocHRc~s3&Y=8573ce;eQ;wV+pfT0ARAaq-Lc!qJ#w`y68vZAo zXoMUrY&t;s)-@>~dv>sVL3r0-9o+eTx^qoZU+$0~kBm^^k?Mw9$0FGHms3s&@9mH% zRRk5P9|M6}bGfi(^;vR<@ajIkmS7cOP=dOec*Cf?QYW=F^PURq8>agLhxtHxks_ju zezNG@5OO#H*eBf5E_k=?(o=`F9Vy>GZ2Oj<`1Xvh@>?%p2F$X}S=VenRaYt+(+YS` z2{P>SaEJPg1Dr*AbiRdJT{m3o;w#b-xV>lW;B6s+XL8w9_;q77i>DG}A`b?ht7bb1 zZfgKVc3sJVCu3aS9O1(2mpnGQJu2qNS1MPn_ibbK)9}-ugNGa1x@>Sd0@s~qS;EBS zxSXG^X;&WQ{P;1#ufkth>D7E_&_4IRUA77+fxLs)m; z{nHvU9+8OK+dueVc2E>A*Cfvv6O+ST&XUfWwRyg46xNT~Op44C7ab?M1x7x&y$9M$ zG5^dG%`jN!**hm>Q6_2a(9&{F5P!b$kZBy+#-kowU%TA`rbRG1~hp5jiNA)q4xVkP3=XwrQOqvVq|DwFl;OBkP7BO56$lFmukYy~Z( z&Xd$Nj}TL0*XwO9ULTn#uevqbUReFCJ@z55jgwT@u)(mFdHj?OIu#Vz&2eT{)_EM> zAKHH>U|sp15L26(h5I!Y>Q%{2H@094qyO<#$r+_OA-rRVN5 z+bYdBjlJJdrpT+oR!mIj9tw(VP1;czD$b4^sMGLr5q&n$6ZLHQU3m77u~Q=jo$(DN zj~XPl*T`Hn&(�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

qK}kzcGv!6)}{4Kil9nnz)O3IBlA*dfV)L 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 z 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±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

#g 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

AGEu5`X7QY?2gqChXE3@iE-jQuOv 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

1gX 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

QA?g0^TgdUo`f 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

JavaScript Basics

Donec massa risus, scelerisque et ex sit amet, pretium efficitur erat. Nunc efficitur, libero at varius consectetur, felis leo ornare ante, in vulputate eros mauris auctor eros. Etiam id felis eget tellus condimentum pharetra volutpat et libero. Suspendisse dictum nisl quis metus porttitor vulputate. Vestibulum ac fermentum orci. Nunc egestas nunc magna, eu convallis urna ultrices in. In a pretium erat.

From c61d253e0086e29eb735c315fdb2bdd2f7066b5e Mon Sep 17 00:00:00 2001 From: Aly Hemani Date: Thu, 26 Jan 2017 18:53:47 -0600 Subject: [PATCH 2/6] internet project --- .DS_Store | Bin 10244 -> 8196 bytes Aly_Hemani/.DS_Store | Bin 8196 -> 10244 bytes Aly_Hemani/Database Assignment/databases.html | 2 +- Internet CSS project/.DS_Store | Bin 0 -> 6148 bytes Internet CSS project/ad_background.png | Bin 0 -> 352053 bytes Internet CSS project/client_server.jpg | Bin 0 -> 32176 bytes Internet CSS project/globe.png | Bin 0 -> 262730 bytes Internet CSS project/home.png | Bin 0 -> 5140 bytes Internet CSS project/html.png | Bin 0 -> 130300 bytes Internet CSS project/internet.css | 109 ++++++++++++++++++ Internet CSS project/internet.html | 69 +++++++++++ Internet CSS project/ninja.png | Bin 0 -> 21068 bytes Internet CSS project/phone.png | Bin 0 -> 6938 bytes 13 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 Internet CSS project/.DS_Store create mode 100644 Internet CSS project/ad_background.png create mode 100644 Internet CSS project/client_server.jpg create mode 100644 Internet CSS project/globe.png create mode 100644 Internet CSS project/home.png create mode 100644 Internet CSS project/html.png create mode 100644 Internet CSS project/internet.css create mode 100644 Internet CSS project/internet.html create mode 100644 Internet CSS project/ninja.png create mode 100755 Internet CSS project/phone.png diff --git a/.DS_Store b/.DS_Store index 3795f45ad2d87ff7c4152e95cdeeb1b8f77cbf01..8292148bdd7b6b231464159fe351ae1035ae1b2e 100644 GIT binary patch delta 429 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aMA$g?qEH$NlKW*&idMoke0Plh~( z5{6WUA|Ra#WGOH>GXw*n0z&~%ET16@D4NVrGTA{;zn*B-Iq8PM$@#ejKzm_;XuY}l zE-ophCCLm7S2lRbg0(~S))RJSZhi_5&4l$9WDsz)B+l^Jyial=eyF4vY-K7se*4>?<9h}arJF~mg z+N3I}kC><-YT_Ra0zS|XBj_(t5fvZ5w8o%`F%kV`O#GuJ8u8pav!#?aRE(wxb2s;% z`#NXte&@Th_uK^l3}=-ffFA$^%1p{46=Nhe&hizh$n7a5iKGv(1ytyP1Q?)QG283# z5bzN25bzN25bzL~3<%I~HcLW@BfZi?z(c@8U>E`Re(+OfGUUnuNAgz(6+8qWSxntL zQJvxduH$!Q$dv<*%Ti5}2ZMK{DiN1ev~Y&yx1D+e6ur~^9cfbNsgjZlz3o%H;C zI$+3=Ug;s=A#f!EEOws(O`tSmJ0e@~`$&9Vc5^H?;ccSu`KX<+vsO5f+09#;q9)yXYr^g>)MKWp57!gPHcidP<%(w0uoIf0W=5#) zY1a(J%!kdap;&vOj=gqGvAg5)tk#U0Bh}V~p|)w3meh33?iGCO6PM@o^)&=*{Izwp z{Wbo+#>PO6e^p&Wf4_WC5authZ`$6O?tk>~3rCI~d-0_+XB{}ueWgJ8D0n^?4;w|( zQ!X}snu9QfX=30aC4gJb0}eK`I%`oH6W?4kW9X*Q#S|%*Lxk>4Y|2T>7Tu%x$txCp zH0YxHlpg9az`o=atSort>k(cNr4mUNOQe#^{SucKj6^Y}8XI*rry4slEeTt7-1c9( zXFOgA^1*`J>gvc>jREGi)wK<*TG!uCP8F(FY->yQ4jwxG*868a{OH`r-(UEFfl9Cy z{8r(#hsz(SHbFf9p(iJ3RqqN$Q)W+kctsOlk8b5!9cC3hIJSRp2sei-#El(V$~2|fEN3nC4wYZnDHp~*G4sv7;n_-hsWSKI0_h2vf z;eFVTgZMZ;fluPI_%a^HSMfD`6W_)6@C<&6L-?h$sG`C~+EiGtBk?Pe6Q#VBbAK+1 z9vO$Yo40J1#mM9*?)g%OuCwRNU3BA3D_5;q-#knL&d!mn<5Y9F#5q>r&?t&rM&Y4( zmGc)=EhG*SDb)kx?F4x`+Xe!ky?CK0%0TpGs!Ntil3YX^!5LdoBZ=}9PIopM2#S(C zl@psa>l;Y3m{XrM*RG?{X`JD#xgkWR1WsVqj4UNnDEP)8?p0{}IeY`(!B6lD{04tw zF_xnrmlIj*iKv@#E75d2-iGbiiMwz&Cu%opxF0RdVjd3=VIRPQMAwJ#VWR6HdWv(I=+D?@f4oEMBq{M-8PE8jNTKZZ;u&?C|NrNFmz&Q5w|m8P30Oj z)7{tlD>3TqPzrfE9VB5BWa*3$hyDB?m^joz0D{oCRW}Q#6&4(QMwz{hirv%6RkSai zIIin+;8jo><^6PkNu97#1w|NEZ- QUi|OH|Kna4_aF#rGn diff --git a/Aly_Hemani/.DS_Store b/Aly_Hemani/.DS_Store index 6ab022dd0d6d44c33349619fccfecae03ec1bc9e..e8b6622faf0104678f71c0779ed4ce5869af5afd 100644 GIT binary patch literal 10244 zcmeHMU2GIp6h5bvG7B?y3Y4E>$v|TZQo|N#5lCRWT|^M1x`noY)Y+Y(J2IVFcV@R> zZBmu^7ZWu`O?*)i@E02+_-0k2iP6Ldtubg~O!U#1_@X8n_1rtNb-V0l8y{qq^v|@?d-ZFRrxgyWRdUy2~fcSordeYq<2se zFc2^hFc2^hFc2_sEigcPHcP@h&jxwGK)^u2z!U@Q{h-jrY{a)?p5?C&%6JGswwkJW zqI-%1I7abp#J6LfaiyqL2q90FEt&9?J9lZ2`}sbX~M7x=`HSXC!SaZrrC2 z$h8iUzLSbR7Xxx#QZzh){Ei+a-QWHM+`l)ZZ;rXo)O##-NUy`zP>7?JHb~+j zjpo~9YYeB!=LN52d4nV!WG!78opMbOIACRyB=$J;on_VU*s@9#dybNZWXB)0^(Il; zXQ~O^l(motYg;Euy*cko$hY~G9rdErM~)n#MLT}o<}H$Rm`%G|b=d(E6 zmekMMIyH?gs3|XirpPLv7MX2!jnE7?!*1w-BVfY=@C3XF=iq&qfDhm^_zJ#_=GQ!<) z>ke6rUHihlSnJ7k(c&d5Zn$ynhD}?$rbNKiS*SWLHBU=iV|fh~No1OYCzm!XyS{Nb zX^=#zA1n7H$aC0ZAn@KRmy4ndBwq$?ZjmIpiXH^7ZB45r%CorKS!=jWl;qi5*sR#z zLC9(@eOBDOg<5O4!dY=!goYBhfLSrtLPMbtDk0novi%aigCF2$_!WMKzpxq?pn|JO ztnDP!9k`QZx(9E^UhKyMc#sP#1kafNAOXS>ofQ)K8MfaOL!7b z;b}aBPW&g}BKhtrk}s3@4COmy$6{L6O#)1gPp;tO%owR%CNiD6++89U z&se5y4bnQg>Eou({Sly&@Zz=?sHa?grkAa$ve#F6<8|a`wEBx4V-=1+si8=rnE3a zLB`(!3v&!u7qivl<@ns_5v@DD?joly{LW4rzP7u$POV*SQE z%ORBU<9M?CIGzgZIG+DTqB{RLh~pwu&+ucOr8`Pj{Lg@j2UkJ-AH@G8%>Qxx|1Y{% BE4Bat delta 120 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aKKDg=@T@);Nu7@Qaq8HyP)8Im^^ zPGg_gz`L29gN1`pX!8Z}-|T|SK!rdc!3`u_K?ZCr{LVa?UnP(Os2yZ1!{m6LshbbV HurmVyjqnuZ diff --git a/Aly_Hemani/Database Assignment/databases.html b/Aly_Hemani/Database Assignment/databases.html index 4f8bf75..67ee9cf 100644 --- a/Aly_Hemani/Database Assignment/databases.html +++ b/Aly_Hemani/Database Assignment/databases.html @@ -1,5 +1,5 @@ - + Database CSS Project diff --git a/Internet CSS project/.DS_Store b/Internet CSS project/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..21937bda3d8615418e76455ce7c49bb9ba303658 GIT binary patch literal 6148 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 PIo^6+xWP>p$0SA>h z^!(_5gz3(fU`nsaIK=Y^Eqxmx)Z}v-@u5y$E&RY5YNT88~oC)yfVE`eZ zzgBWQWoDpp+w5=nKF!^u>7Ee$G}z@y7}7;Lp606Zfi!l^=BItBrrX2X(gQQzmD|#z-9GY@8`Cj%G$cMSZcRoz@haSU=t8uPrQ5*TZKr_20@Yi@5{r;3+ zSv!s%VAlEIZXR7a?>oK?G>)x5`6|$i-&h-0=Yl)3#ixIOo(nX|KRO`dkqf-JMZc-) z>{CE9R)^%JJ^1R)Qb#ha7PlYD6^%@M9cUymVyWX)CS`B~jVP?1r%j;o+B|`V*(V0^NkJeK4OeK-Jp+}F zJU&B<&bvV4tkfClIYinA7-YVQKo~wx5-koukqT7h0cVz^W8f4};bEeYJn}zIfPV6$ zyt0OaNx6)rSYdN6zL?W6e0P@c#pPf(h+s$s8lF1i@#aqi8^5?YeCrg22S`*r|-yo<-1mD6JrGF!*Vl%2L9znrTFMaornNuX&82@EsG_m@As!7iiu{j-I7U zSw06s)aUrL8GhxbUD0?Gyg)-2@6q@`z-xj!;}e1sufk}1wK1gK-8LreQYb)_T^YFD z=~x{!jI(o$*}F71?!xWZvb?7usr$zYH2C3OamCLBIQjbY`7i#* zw47r)$8dzg9ArvH1il8MU6x=4bb)3S`Y_D3TVl#+7?z<`l!lZs4F+`?{D;w(K-xof z)}`S-^?;0CauK+c()jqrLnCOfC4tNfGznO4sB4zo+nWtE9tIi=MUbcP9VFszmEery z0!_1c=!-FN5@=Ky_A>5dQc;UUtNFQGns;v^KAY{>r%6a$=iXlJky)&&~9p*l^L<1pn4 zBMSQ9TbyRvz+jj>d3mbdCvXXC9HNxjp1MFt$Ld6SpwB>)?vf=%CiSd5wHa;46)`U< zbx>8#3e3sD%nbiH-$CO0M#|8iTX;RGw+<(q%Y*cO&BI`w&t*HBqBsbfCi8Lz86tIoJ&tk^Pci2zrbEL#;--HDN3^YFRDxcL z`d~0ry#kGfuyCiRy=edyDT}%y@QcpBcc3xg;4n0bRzVoF(4IhZP7j+{?wqXc;u~mFr5^b#uDY1PWh-@xp}^MniY@N{%g2P zt8g_A+7@Uq{@&b-Q~b_tvp?YpG`~Xx@4goLd5Bs(@9Bm`J@CKR>cnRXP`){1D&=f^C!^28+yu-DIq$h@kWgBx_ad~ z>6N=JA9<-82dMZbzgd2g3(UKHk1f9f4RtXD_1et_neUV#kB!f-ZTd=|*^X3>U%K&+ zu37bc;^{np^vt(lPoUW^y5?Av-KGSSgs$LfCO^48wzmcKqlxm!rZ}hSB{%Kl4X*7q zo9%9&kAX)1Jw&Sx#=+U)w*!r2oV|}7j-CKEo^?nOwDf)*Xe8=6&|6#51{?LywX=EX zG0k}Kd>Fa$lb@mZ^erFJq)xPUHReSC06+jqL_t)s0?qK4j(Xdm%0~Wt0(9BK>G!+1UEzmd~dgN;5CqD)ntWNnVJ5m;8#gw60uASDKLuYQWJ?oxeml?zY<2Mj8o#i~?umis`@ft()674>Q72W> zxNk|30TFNH-(eSF8ofr@N<-zXaoJzOWqcX#TqCipT&J+a)tRtklvOweG&424khWj+{+h#RiS-g55kjYQ>Tt&60 zEb~Y%E1%u=gBWN+ejTh%l_$p&Xo9l+JwN#J5WnWsXBYNW1`}X70Uq_~$aXqUHK9$t z>sxu=HT1=sGy$s>4L`TQgCyVk1fM^@&=%~hYIMdEXxu6zxDa4I5t!$-JzTrxn8VY~ zL4GN+rETbX>NFMke2TYE?QCuZt&^!VUp@4mV|;a{NLT}}o@+Nb;U;p&w@|0;tk~g8 zTI{cGkoC>5hi2Ok9WyC~j%bpeJ#>ag-&0pNJ_c8?gs+a2w<{XX9cPWv(_MUzUgcxt zfIgQu;WV`gwG$h*&b%S-@#uTTzz0xa-3KY2=5fkoO3Fa!WsvmCB&|L`Z? zx6=;hU1z@ayxOq-3tFs+R{ie!68S${&|;_2 zl-2$zo2%gsn8LCseMrZ^EYL*PcoOSp9Mr>J(@)v>Jwj;|nzHfhD@??CyczirX#RCr zC(wk=?vw0eQ8N)phxu`s6pBm2&Vl|?pb3(VIWn9PSm!!`Gny0+gE{mugjvGT1UzR5 z;vX7Lzyo?<8))1Q{Ix)%fuJmn#O)5ZKj@PIOXKmAuw`DsL(gvp8es|>{uKNPovteE zF{A>)(!O$~ajn%_y7uEq!rJr>_bF3`UeG6fIB>4N70a&yMTcmxal6OaI1cjyjWUyp zdPao0)=?U0{(824{+5+Y4*}>XZ)HZeHxjve;g8Ir^1uJ*uLD|jj&OtdyDR-9NOkcZ;KH$Ri%qZ9Xx;gGdN9Aev>PyKiO|AlwpKn|E z-Zw7vN}rLbK`3iwJj}fKlG<$3UFWrb`>SX-9J}Z*-%BvTWrkFk#niWtJUD zXTYqX&0W{e#~{Ob1pxlf7@9$`OxR(To-5rS1QzS=GbyaWXJN2=k+^I z(z3~}k4E4L@=acYSGwfgG4Be)$=U>)2{eC#pY_e?>?qud#)m+Xt%1Z9h@i!z2;Tey zJ099yHuuPF_)6Bv!=7|>tUQ5+YspR5am&XB9?Gc|k)N+Td7XT=99pKGG|+yp^}m*f zHz0m2VBw@Q$DRjrVI`_>>G5W+KYjkoyGOHvURr{MQ2=5QkD_8OvL%8e#{d!U4myUc z4+=R@QWgp_^6d<>T!X2hj0nfU%>iQ*U}zr04g~SZ>Kd}lKS^eR-BNp37}Q;0Dmcl_ zw#hKsHY3;?$6A3DdcS&8YlFHH@mMPHB0#>(1>}k zpYu(8^nTLGaSh`s7l(!wEi_6_A$&DyKth*+rkVHzR~==mzXG%Ow01z#Q~9cgag_e5 zroVMRGxHv4_8n*IghLd5&MsF^rs(aYs`r;}99sZ9USS+3Id`Yy9#G3fF4RXZ3 z#$i$~z3JcFWFNAX%{l0JeYTZ$qGERl$TmYgbiviYWgN}J8uwIN2<9Wg9i!sggMN); za{o%nTiFWJ5+EZxhjRgf8`BeToed*B# z&7tR^nM+gf&S^{6(01=koE6Ok8hy#9KOxXC-U>A6qph<)g0DbhAQ_&+3rcOjG1r*- zI?#YW{|U~=nIos8acw9%k5=i`p2<(gX)^voIL+fro|PrdrAt~Y$`9Li{P62m#mUJI z>WjntXuFB6!G%@b_xc%a<#z`fu#e%KVGI#ZL_Nn-z>!kx$xJsu%^jpqppj6Sq+$JJ zbPXT|Sz_8mIMf#`%ryo+{Tr#+KxY3wfd)!Wa5X%n^jaVOUQ1%gCy*|0VxkTmccWpaa1>eufp$S&^?tl2>%#Ku*O2RBh`Yw zHU<)9-!>Y#tGQ-jvjUt)5C>M+On*L@6on@pgg!+@Xq`fPy%AZG=E1sd|x&(n@J4CExQ zZXICi8d_Q%bWXXcKEi?~<=5(v7nJgFMZb;yPi70vdkOR9%vYf4{!D>ppVqq-jgBt8 zi9lWyru0LT4yLqu1G_3dXj`CJ2Ut6Wr=#%joPH0V(}jv!I`=ygnVTOevfRm6aSj z9y#IKBFY+voM-oz{hmN0ZQ}zu;omW9z%|gYV`QND^cVYh^MgntHi4gRAk|Sygv6~P zP*6lY0$L)w7KYb$7Kq4aX8CQPfk67qc9@Q4w-kf}4r)gp4j#&!k!YwHO*q68B5=^! zC7XxmBnSL!TToi2&E2=?X(5cHUDHR<;uhx6@HiiZAAeh}A`xm!dIv7lI?HRONAEFj z$@3e+2D%lSWt#mmTI^yI(hl6vu@YX401P+RVj)4bx zNOO7Grn@lEMFWGt;y1>1j1H0vP(3YS(eg$|bge$XZ;bQMT^HO_Hh4y@bz zZ*`FK1;&Hx@ClE@OEc@iHE)TgOrCRG2?Y zTpNpTMG+$tWX5S)rhbJ*vdv8bv=_h+2Dg-Sg7U0xefDtBwAxD7+ZFk>6^FfKGdYzu zR_Ng~Xr%1UKr?!M0;%{T!V~0dyT*AHltELvCigMkf(Q_yKTBFR2E_H5dhOV8=*ngu zq7juH?pR*wrXP8}%ftYi73Ih+yN~`uCJ4?glQ#HmVwoHaEb~CXI9IQoz!GQ(HU(#W z7UQPxC^>#M&;S+6Bqo9+iUZl_U$wy9t_&-BZ)! z$HlELs&qcn$BxJGbMLfCAJ_I+dq^(%b>(ssj*(G;mmL%X&1c@4!sE^Vs_udq!aEDS zFk|U=2O9dWp#qG50jPWsv1K;fOWt?}>Kz)B#_s?p$aG&|9l8$L@i6|_fT8h@fp*U( z980$pgXdQRjW`_`1fmRrr$cMlfURyxAe6ITJsW%$;2mA@#^hvuk$m3{V&U6IT3ubd+lR;`jt_oej7-)Pbz(C^@XdF5pVDyb}f=o}GncqE{ zC(s~Y9bE*xXr7gfGJVOGi_*5*E8A?Kv1ILO9L6?DzoVabG^vbYEkb+jA)5jXymIaH zia{4<_6nt*BEKilyiHI>3q4FsBO20AIzBkeh@bLL{NB{iDbOm8VERJUTc8;|O|y10 zKD4KshDe_#m+0B8vq2RH0}pP7SK%-|5*Nt9rDDbyH<70>uXqbgqXNpJYSK$g* zJknC2F%W7fmTy`IHjZqZTFQk-X%n7?J*z6q^HFFK1G5RC=XL>i4+U(XQMXN8)wBFBzk)U;UO%MmR$1L^o(ad-f#wsw?(+tk zeq#$=&ueJjbS@z`KC&+)Yu+(+1=S@WyHF+uU~M8^XxI3mpZNC9W8cPn%?E|^k11c9;556V)b}4v?+99JHQ?RBXom{_bYrnaRSW@H&I4B!kv|kvuTB@G3=mA zalaO5fFXUNTsCs14{VhwWp~V(O>Y2(i#EwcdZSqbfzH!~zy+aP94sb{qGZK;qU~e! zz{$wQkR>wC=rSCROLEIX?Yw53G-v?5(YYv&P5J&d&#u7 z8+&TcFKo_36+K{)jqB8RKz|4{z&-(yPoQ~792#Pn)A%)$FRO-^86SJS&UbWuyiW6H zTMRnR#$Pk;oemagge47r@85(hh5G~=Cyx@aHs5%2d~)0)hM?DO-xZP zY3e~l9GRvJEqB_A2Kww+S@9A)~Qep!vghe~=&z z1ULnn2IT98Gb`*_(F~FBr~w1yEq`dz=nMb~oh<<+5*~0A4AsHv!*VL=OQu{pA$xMq-;*@opHCgosr`w7QEZ=i8i!(>HUVny=@9|!=4lbdrc{u1ez zUOlsusP1{a1)7mYq_iyqnn>znbWhQwSnMOas8Bw(Tph{(I4KGp6UhLYX>_KR9~X4o_&n&bd;W~zt=i|^Fab7H`?BPCeEdD}V*7A;2>2OrqWxLi5mnI9Ef z9PmF61I%}4l7q5HE^{N?6{))c-6w7vnn2U45#8$x1lI%_;Av3Npg<%__?{fiw$b>#=VI`Jc-yOJ@|?BCcY(&> z!fNJww>>;pk^Ifz5SNZezQ*ae^zEkJ8Ok&IR?r0+&%v!xdq|$3fTL`_dLfd)UHQm|_{f4`N0I;nLjII*p;n=w?VG^W zwVi0Hv3p*h<=^JjsvpldDhO#c1sX4@Xgkw-gJC${=(LGAIxt!dINjBG;7Uw*sFE?7 z$6sh|CtV9eI<4$_VZF(B=zI$_>FLcGBtPjBjBtbpoCcJE2Ad<`_@;$^8XQ|P(6j}i zPFx9NKOMeL>;g@LR-k(T_I@Ezm+Vop`bqL74Q5+UHcfP;PTKZ5`C&Kac4(vv$g$_A z4LP*UrLQLowH?M)^|s!A1q{2aUL0qRn@2YQO&1IE6==kX{LonxCmV{CYmN<|rlOzx z0TVv57a`V3Qr`lNj$8Vzs{tp{<&K4V?hww)exl9x!1>9ajaUBC^&B#%o|m4@?KkG4 z9Hnb?KW|fa;;I~8M{n_V>rCPbG^}Vo1e(PyuILfp;GM~>{=#bxll&o@CJf@?x-piV zuiaZ)yKuxsW5=sa_K7d@D=rrfWsg4Ydh_lbS-*IYLv%f|KADrRESh{V0dsePKr?R! z2#Jh2@Gn6?G(f<^m~}^Jf;fYeAo?;xovkyB3bZ8m`hXW{G& zZdGvf1G^xqfiUoN76zKxYo+XDaEe6W^4ly=;cJj0H9>RV49>7MGHHLKyGDH6fH8j@ z;V7_Q3KXt`X)WaZMmiE6w9m}cAk87ZguVEt;dQ5;KG8@;1|uOymo!*E_u#A(a%P^ldXmo$Dy$kIU`e8%+!nw@O?q;Fg2 z8h&h{hXLp}Pan?K`*UAz1G#n<*~rVCn&f2JBR6RYF?`A21h_g$(aQNn|28L!0|lon zPk@%&$75Pd2W5EpPan}?+jqL`w=_L=sGJ3`dE-_(9T$F|h%bgy_En%+$0S~pbeb!O zhrqdh2m|q`VF_|zt)Mh;Z;BO6_`xxa|C>NVeSwDBSD@K1v@z@W#IuSjTo$uT|Gw}zj4QP_zw)lL*w6-J9^8Oakr@L^Gqi_o}I@z_;VA4mL zkmLCQc{E9m%ru(geR;Eei3S&F(Em6{?Ph8no6j3I3KH9|dim%0CeT=}-hn3=Q7+G~ zKqH(z)KBMhxjcC;J<2%#*&g+~BH;T8+q`YGSD>MezX>!>G{%SIPn^6albKE^>uB1t z>TW#5;>bn3BWpR45wdIN1;yetT{n4u0uAze`Ehk?%Q{UD_3#|p=FeOQS?Kl?z{>r` ztG1B6F(z0=Nz_l;yp)LR)l|XOV=6z+yT>Bkx>(ULiTctTrm>sbDk;z` zHD--5c}AWaXo4?Z(laxU-#5M5RfNk~ldc?@MFKXF#|Q8kN7)r{kKK{y$xFN5e!&HQ z{NmtF$HHp-=xl+rC>rAh{27lkQCTPa9%$C_%+}$;7YFbQF#8ZdU(jtuGm~7OI=k=D z7-())^Q>sHG4E}E3^WCs^A9&3ViBC`F}&DDe2uuCag*$5GF&1WWyzI#+V+nRPj1N1 zWSf^@l4*Uje_?RgKAOo_f91j5@#MM3jWOimc<}ywE1C;5_J0_S0%^$21$_3@MPwR; zwa-~V^cv<9XcQQTy9Z;SNf8Db4jB9LMWURkYZ!8>lXMn7d)edMHKuV!Gk7qD?wNr9 z1R$R1A!`sgyYz?85CG+V5pAAqQdt;CD;nNM)r!U^hW6DV7>!$d-bWcZ;CR68FKoU7 z&Hh@RbY_s^90Mp=$_G4s8)%@{Ek%`eukn{=*}kMmOTwdK;ofXCW1+n5AnWTq0BY_j z^ge;c_ms7w(TS{#o^GBj9vx+Jdovhm)41YYogjnun3aV*Om}H~4EgIolX226zQC8k zPp}btv_`KJfu*qlK!@lYx!NyTJoI`k0Cv_!8^6)RObwHLmWP3&= zU;(&JU~J|+&}=htpCdmVIJknZ?VbK<7(I574u=^+gH9T?Fm zsdsJu)GIgL475OBebtHblRoA5mW0?Le&p|iIBlE#-9E7Jb)ZQ%b`sugo5Al_@XseC z(qJo7d5%0jWk6XV17TYAz?KL3h2B;+1_vFbl-6rLg=Zf@nUVu-%yV?Ykl)uafo9-1 z9(qtCTgJc0D}-DiJ9-xFsz<#J4p$bx9B8P+xA?9z>HhHoO_Npq28Uw_d}(QU8M(=j zV_5!_k93hDd*sqXH}Pg6?QPrmzP8Jwpd?qH7bDP5+3;v3hjwS11X-mGrcHrnVWuDJ zz21Y%M_2iep)cL7Kj{|61)9&TXhI7DfV?sH9%$YJNW_9Cq!6J)b|y2%BMj^KKp-;O zil#ubKMaO(8gQ!L0Z{*xp`ov1OW+r1fEdHp0X{h|y?3pViHATl4;TQoZKQ3W&@a&V z(135;CD8Q6JEE_KBoB|$;p_9>qnRJ9x*+%#XqFFuk@98e!Xb#R7*JitFtDY6mG$mm zB2lKYj%1_KRMyN$EC((!JqJ27t(}n+c!7%ydlb812(EMD(h~TEudFgyXJHO(w*jsU zij_Uvh5hDC+l2(KWC=`-P3E9y?ymu}K%-tyPoB`m1H==MemT&*?28W3sXW!Exya0Q zq*ZdgjzRF7wAZ#Zl#>I7JYeR)nQxj8k2&IC(ImSvcb4e@-{5z88YY$(+i{o{e$%n& zbZY}#l@GnqJ&oySM`UN7ZTmxY<8W+pV4qw#@g9Kvpmy<=Ti><4RLT}crKk#G`-gO*j;>2piw^~&!h8w?97ut!10Nm`VKU-g9t9rtURthet@}w zM){4Slp1;DDBD~LqiJj_S-@`-vZz<@^OsyC0onKcmJKvbl20!eV5Ns-bLo|i2{g)k z#-;ZT-7@Rv3-mkgiYS}6Kyxda`FRt^69+zJRx|Rj{9g_oj)f*)=|Cz-r)T7S{vdg1 zM;_NUTi`NV8`(^I>9$y$^24!#rgN_E9%VZ0X;9(XblXRx^l~Jak;QAAY72Wnr;Cec zMe_iOevs^l6PYZ|p&(?vRT0`XvrZCg1ob`WTj z)md&5(Av_iYLZ`iqCP#@#>4h@BGr9tT>7NB8{H4Sp?ey8Zjx^RC|_)00uAQ?8_<3Z zT@xsUYd;fpRa-!LL5k@nUU4aJJJBH^w9oo`5zH}sO z%b$6Vn3Df&ps^iCa*!!fw2qIsKqEJ^@RYwzr^%clH8py}K2wy{4gpyTmp318InTy{ zc{0FfX#}AnMnk{30p^?KmL|>u zW4`jvLFhPT# z%eVXWfBcXAZ1Wd?=*+_}8wz`g_BS`i!9ybq#Fcg=GiIH-@)?8wwLp`ck`XWq+}e!1 z3wvZBuWflP3N9^~Og$vCbK17%NPY{adf{2l5siL8`7@A|nKmdlqymlgw7d4^B^@nv zE`2{Wc*RSZ@DGpm^;tNJubHj(LCPh!{6?F04F30t#8_}mk8Z`?sx^Bdc)-7_e;)#f ze*?^0pqZQCj4S9e(DXf;uL6yD$4Zy~lXv;_nQ^wfM8rusu2Xx24f zGVF_ntYmu3+qWcO7#WH3C$Rp+&ozJHhtB-LvoC+-N6+}B&0cfAI+Bhk(CBgyZ-GXf zIY{cLzku}XfkxWZF>r6|B)H0B;FRY;kZbs_Tr`~54lv+bM__X7-9WPsDc%s8JH&afW+ZQ)H{`_S~<6TC6`J|45b!=Zlcm-fH`1h&K{(4cby zjT7d+0PfC!6E&YaWE}Z30R~oW&=&T8Q=ex|7%!r zO$(UI0~`TIxb++eZX)rt>zs0fP}@QpSIjJ-c5e`12saxdFVJYP3$5RYQ1Lo&@k9^V z;(X=HbUn8>bV^mmwgX{|-|kBf?KM_spS^O%?K7V?>kFGWSsk!Ojf7jeg15&{9fZ<^ zbA6uV%AtP@G%of1R=2?_$0E-{Ll)8y9nxa)yJ4%*A-!W1bBw^n`=Q8!DrkJJPCKqh#VXMKTOgMfp&%nt^wjU#Qpa5SxS-!phRsWU8 z1Q?sV@Fmjvjn1Vn$4%Mez$NS)(O}^7?AUD%bu3+4mvlihK_S?&F5lV>14~^gg94;< zj2& ztZmMU=J_7YZQX3!Ity>dSB|8hfTOiMod{NWVS~v{TLjnI_dSMAL9&=~+e?oL0yof% zJxQ>9$lvBRyTJSKiH#ulv6p2sw0>|ceB{#@$=)2(;Qc1hSjG|0AxgrIv?yGBb591G z%m0j<4K(f$FwWdE(!sVZS$PV>G-aI*V8mwor3VMt))uyL z0ph zM_>W8acSA0)B+Cepwqp+hUN4fM3W040H+V=puZRn?&aFbI3C9sfu=|J_a5YPGkEE1 zY=Pf#>tw_+mP7faK(k|Zi~;P!jpTVg_91NLV3|A$U%G|Ad3v;5nUaqn$_sGm-^t_h zi`)YTUQwr3aafuIm)8w6UYoLG+gP`4Ef=l1UAv}0_|g}R=vw_dZVEc)Zq2_3ni+?U zMT2)gSFZk7J^>$^UVdfkqeaAbYKYjkM{K-|9Nl<73jpyXI#B{1=DWPq0K^}*FKjP(Te_XL``w<9d^8iZbf#s>jRm zBhn$j$E*faIDw@=qhahULq3nbw1ojUqq^-91-m>q>%d^ThjoUNPyqoSD*jWym(BGE zY{cM|VmR4_XFFClfu>XXX)8197S{xt28|80B$xCC8u|5+ZUYRzcmKV?rj^ZCfrk4t zKmP6iOI-Q41e^coyYC7#e?`#!YiQ;^je~Uv4D&dKp(3?E`aEWBR?V<9y(n^uz}6}H z&3=L@$s@y;Oda6Jm}49a^2uH-dy@oUlDIlNjhTI|$}eP-W#? zU1s}N0#er_D+mIg^_KguT(9-;>m&U>@Y1VtyhpS2!88qHIC<6)xi*P|&(VW{RlScK zXS|-g>?;fpF`Jvn{a4qk@92~;VVz%Cy`|r^2PG=3X}@@B_XHZ~5XmA?r=8zQV5rdbG_zLAex_rX$6=#o#&lB9%E!mOq$$x#bAGoRsht%*@b(@Z-It~APh90{dGu!&S$sM zyho!P=>LW9Q+xazfBbUrf8}MZE{4I`RRyH~er8c>gHIUW`wO#riXtalHG{Cf;pz_`K{w9q< zn(fzSwm7|z15c--^I&iON4|02lU-grt8Dun88>!Be!uGpL;&yVBDhUb3X6KHgX(wMy;JUSw`@cm|>p|3I&_A^F=BdzA1kuxS{ zq9DDdg`e!uSNO=|gTB8QXq5MRpc$E6pb2z(GqB6o954E45uMU2@6yPj2$2<3bxALh zbgW#xFZU~f<`3TUq^%RonPdo?8#AGKbfY4$Ii>F>-mVr(f5KS3^%);DkomoTwr8`9`gvUXQ<84KggK#DUjq-noMw!xwo(nWH z!<9h~1WwXFcRt1EwxbRW8H=ygIZe}f`jQav-0GOKCJ*KlDYw1~E4$Vf!dalPR9V9_$>A!* zcm#HGwIUmtK$AY7o7EDe9oa*P+jsEfXdP!d5@kz%<2qjeU(bv@7<6ueVSnM7fCf>G zHOGSpg0Ea{NB(Su8AvG8k5D%dJRf^d4?42XPAm;h$Vf5a4u}35N5>EJ-8g=DOb(70 z>ZC_3z(|H%3DCgh_1p`ZNybm>OMZG*v$Ip;J>XU}1seEdtjzcM(7hAE(>-`|;^a+; zTlH!iON)8*LxVCvpZT`cYot-1@9x5nw{*Iut4aItFPKlRkC)$plb=lQO4_zdqcEaJ znuMmD9XpOEWzS)*jJnnj`^9+z4RZMO>0kVxb$bF$ieF&#$yCJ$lG;3uk~W{`m-tj` zKU%hfbY??C%mf;#lpvvLAQC1)5HJ{^eV7tff&foS5O%`0{0>PT#YZ1kmMz%tU98HE}NvjS*aq&(-e9)!5^6Y6nK#4Ic(f z>GF^qQ+Y$V(`22TZA<0xzik_Mo>Qm%o1}9!V_SmN1o@HZI0E6bkzUoA;)H} zzmC5x75CERua(C<_zz?d!4k^(n ziYm30;ddT-QLl8;e$s^jk<(-clx!RszXh7HcK`|xSic--BCU45KkxA;4?Dt;FyQ}v z0u4Ip3)+r7cvWmb=lqS2_)#|U1;6U}cr;IL%E5E`0Yj-p8UTgYmE(NxO?~-pb^u=6 zroR0XoXEm*yOfYrMx1Z zZ9vYUn;#=ZK(1&~9L1)DBByIW1sMmbGZhH690YTdbYR6uj#lMTCS$;yfT5zimMD4) znsa+*{Jv|d6^a#<=GcW{1Ixg@hSH3*dl%9p9i;fA{o;RJi&rer6z)#>!0}0h29OcT zrw3K0g4L?n^PGyra9o>m>ntLV*W=TswwH(LGlpiF9l@(3$$MBPR>tADkHG?Q_enE(P6-G3lf>QH$OqkdhcYP&O0FDn)@5;~q9NN2)imvKG$d7Zqdf}T+H^S#U zyJ}pDw+1y6QU$heRWX6)CV7fYJYU;kD^{s2(73XcMjOkcv@YHDrdTYmGPBI?ZxO2>SeS z^*3!kQk=fzBRSDrobjI)>aR+rL(@oJ*+|j@r1=J#Cfd@${orlWgs5?;J*czyd{#70 zTxSBlE1EG9u?c?>$*jcPHTf&zApiu@;LNZ_fX_@pK=qe-4+JA2`@DGscwHTi4Hy}K zuoQFx9Km!=*=wc*>}XO-k|>=doxppbIXD_oO>C?|aM)JoTTrr0`UEn39sXboKS9gy z;il=roZsiz*@gon?FownIAP%WITwzd>NxFe(=}!BVJ;2I!E>wqu#B9gx2|(4%ylO^ z8u0RO(x7_yAmp^c2>RB)Puh93s&Na=?Xw9q^FV-(l9e9xHyiiyX1C3LHqbzyNv8|X zYD)SZLtgzwck&o#=;_dIbNHd%Odys&t7$VcvEge1>joMs$G~e8t#+8lD=o9XAEyVU z!}$f8%B{1V`O*#@-BWSf?6KzyGSFs9#@Y@mVI7IDF#0F|j39jh+xuL+8C;k;4xiln zJD%L@G4a3R3$Pn#`qHnC?)}XGXl=(!4>L&T6KEusPyBYlpekdJBhG0@O4 zJDTn^0gPp9Ytq{x&muW}9Pf322I#_`dV2H5k#b?HFCUWL*B3PYfF&M?N)NOQKD>|q z#kEN|!PHL}XwYjjNji%ny($Aa6yUUXh4DVg`(1&?@54!-aLPG%j7z^l7CdLKw00L= z`VM`D{zH3kCF8Z{90Z!VM}tLW-}5lYvq}bER=4&qekbblMh|5N4X2yvkqUYB4J1zN zq>O9&_x;1@r>Jss4%2ge1r`E3{ZdBWID_3;8Cho=KkjhiqTk1^>PMe)S}YyUgsniM z91J)cXn68$0?mK(Z?=2b7XBj1@V8vVw$xG9L&OSbjq36oQ4zCc<=&mq zxfZ}_2I%bZSrLsunuRFH6t+q@!4CA-r%}}idi%9Puix|^4JZid;4sLzrIeAVNI^;a zwtwe0zE;TbKWKHW4GITe&TJfF#Rrb|ZBN+mjv9oJ{z_r%G6e9;qirQ8e)rmf>(+^m zls|cg1ykMXzkR5imzwfw^OgVH#NI8mb(AwJXVrrNHM?RaZlEdHw4&MX()iSw@-Qj8 zn{|RXn>gAfBnA|bjst_uNywCR%AYiHl-pi;0%r$Q&Pju2kd0yQfCtVKaBxP`E}+i< zkdJOe<{a&R4r~PV3=naGznjIoPd;`HUGAwb57IDB1)DL@xbC}%qR-Vv0t?EFb<(&I52o%fo z%I=i^1)0gyZ8{VN{SJj4H_+rr97j#u96O5@90uySkEvcmE}$1(wUHiWYreI~S9=;g zy%9=Z1Mw1)4RLOJY2a||^^_rftq!aF=9jQ1yT+3N4%xDXvUx6lpP`P z_W|}dYAmCPPWXogIJ1llVEcn>0*#Fn=)vbY_+;-%X8)mq#sM^%fF|I}#~I$kv*i=v z5ADsQ6XpiE84wFDG5lPh0fGuLC1-hBzQlI{{R~llEw}mD#-8X*=V<&1g=QIFx{v@B z?Ev;k8E0W0-d~ulA7|yC|7>UFy>%9+{1e|B;=aNJ8oo!vmo~p+E3GeWeiLYry9vav zKvMx9;-55hOZ=3@&hfVn0j5SCIF4EJZ{7g6?+*C)KqLS46VEv$^{HH(eQSGOza6%` z0b*b1_%_gBZ|95~==4vHZ-K@jvw_C#$gcyHh&kh-1Kr3v4kCV5}GM+I>^cvL@Xe5ZE0YrP1Q?%27e2kdwnJ3V|Cb)e3?+29d z>|@&h91yr|GlnbdqwjK1Np5&#+-(hUsu(JqAq2}tls5xIAm=cA#JTfPWOSb#?AKx6 z#pgf_;lZ1JuRtRW;_)DfA9ybs=qG&BHnI6A+44QkF}%wmS-kffJTt=`V-akyav0E@ z9%%RIU;~Xoe*?{T&dUFMXXV{vP%q4|F3_-=@$CRU-t4>2n4SZd!6F0AC^ayWe4ar{ zT72#x=Q6PzfAnn@bpy?|XInPhz~D+{wgpc=@;OHU86@X;bug1Wv7El}t!{MC;~)+W z=qPiQQ@89&ec#MdTic^xvoOwXoU!`-qk@dVhIi&|pb<~spCF*PU1p&1_|8>LE1G*C z;E!;(Hl3cpLCG%#8u`45%`!UKF&>?<{x}dDq=vOauNCk29B9khbT$w3xTCN5nZV68 zJ2l;-VSItp;Qdv--7LQ9jwlY90!avI_{z-ZGkgS-n6+fO!>F==?^ z+7tA3m<%y;+B>%(boZEw{JVCgBGFJ!BuNJI|4e@3fp1jbo8O zW1pN;02hIU02Pk;<3JQZMN@aPmsT_gwcnIckrHHQ8Fd>3MfB70^vvnq)x8FMcG{^i|%aA8*G6n(D;0$?H+d;PK+F zGXNT>qYr_GvI{f@hFw`spkWry)|r83zE8szkg_n);1pZYY@qpx`wcnDUD1SA$EzMq zqP_uQ<7x~m zG%^5Y_I2&Q4K&X~Ey-_nej_m$D?bAbPn`MGp4(>z93L0&wMNL~n?Un71e%lI^W>RN zw7Ei7zc`HO9vbCg_#2Lt$&}r-`KIN6WNVpHo80r%;H7B90zWH(u4il;U|H4tQJ!&z zkNs#nG|Q22q8@hT-X!A*G=tG`8N6=-&FFSpWheTaxyLJA)U1xemA)+}$zKEy)m=zW zglQWSWNzj9y8?~;DG+6n-EorbS`5!ttej4o6#kAtrs$9+`tD)B z31pmw13i@A^;d!BJGRc~GbtboFezyWp$Dpn-21yK zW$Mts=LV`PngR_C=;unt?->|q8t6Lo0uHbha&(;mOM^7N(IOs=RO8g~=~Q+6(g6H~ z7cn-}G1`U$XYtt^y4|O7mST^cAzWZM#edk+19uiGJO>E5d^R}F5OmhkB|PbnUi*=% zAg7xUysk|YR4~`J6UL<)+o_XRZhdWSys}Xr%4tRtZKcz}DeneWj#e~tpXPhE&R&6r zb_E*m(Xg87eP_(deUr0qaK5LeB92*0u!kmPeZ0(o1!W}TCLtk)9LNmf2G+dysP5F^j5B3wwm5r+!9X^ldAGsT}LTTVM$-sjvG(j_PTsCl^fZ`0qs?tZMHb`Ws@E$&80qNf zTqjwu(Yef^yf2x32sFOy%r9<|-{ZL&dn+2Y%)a~`2irbB@o4j>osBzF8*}?TfksF9 zMy~vC0RHJW0u6$tFS^Wu7#I}aJO9?-HMKVAdW^m;&Ga!2{O=WL4B9%RoRC5mk8<4Y zM+0>a0r>PD!RF6c75>?O3a!|ZTU9-E_G^J=z6^RR8YhnhKj{6{K%)bE_|*26e@U!D zN`+zh1ZH!^QfbWvpgn5u=+bfG_O)Luy~(2XbSY5cV*I>sow0T0%VZk^wsrgnt8oI3 zX2t_#@QasbwX^NwkcVt^?DWP{Ech|q22h2zo3^u(VFs7XXuS7{ZG2)9H{Yi+(BR*=-&vqRF8Rp<$>2@* zD~ky*U(+=dNQL}<9cWrPOZV65O`bPCCeWNr$N_0uHj~%${iX_S`!zjIQfB0jK`9H5 z)tgHG)j*SG-iUw-9knz3ke%U3S&A770l)QQsB=S6#yMm}#oyN1=M6MC`0rWONZW@% zqmj3?TxSWBeOV8DeF4!yA00YT>4IL9cmyV{6t4l`oUDHjG_>ia_*S3}oai9S%CF1mEz{Rb@l>l3THS>fp%Jr?PyPCykzgB7Bbv6x6k~L4J6X!@?JI z*Yc}uPJYwhfaPo6X;t0GmrF~e-5a*jf`iQdPv12V_{edds_{O}tO&c$MWFe^KmE_L zrwKGnp1eoXBhGG}DMOES=FIwgq*{D8UgA@IgQtM%xd-V2ikFZQ|F&EHZDNI&uGGdd z-UE#QA<3q@c8rTxeL~kO(4@I=Ob7VfKr=S$IJS&K z9vgFaPM%z*r)&>8nUm)|z&BqK-Lb@VPn{WP2sj@CjgQP5ya_nZ({ADrZ}>Tno|U;} z3NyNn0EPD%zqxWzs?_&;H@3f&9BGT_(n<310uXdL!B5D`d-6q0LLIba>rIbzEs zFfJCchS`%&ZdLtRFI)3BN_66Fo$<;Of5mcOjU$u6C(zu0fAEP{I!R}w;nwFq`Uk93zQ}}OytYT&T(!rCTIqatl*A;AI z+dVw34%T9x_71?Cm7jrx=Yfsv)@ejDatpk?am*vWH(2D|@6I>@Ao%-cfCA0T#GH}; zC^V7PtGNH1C7R- z!vT+c_gxd3mV~QOf8~Is=Wd!mfoAzve%}Tf5vp@|`prNiW^rO?+K_>!U^5R?{K-H4 z=T!X}-)~@ux=Q!gNeM6p>67COG7T7{T@vVjsMPv0Y)H2 z{bq|4iD=hUIqZyQ9B_n6oCN165RAg{xPUp4;N@! zwmSe33rr`21f$`sLc}9{%ROXLJQ}CVS95zxzYh;wQt$|+!GV+Li;Ej*o*(^MxUWFN zp0&&7VbH-_h9i4G zwn7u$(WOXcuzK>Aq+7InL^2H@qs}qW{u{edhVZDNO8epo#ez@9z@AkaO~j*IrA+5s zzkxIStNWpMK-hltWxug6Wr!?Y(Ma3P>}9S)@X(`kG0-@9+EtAYRD1|D*i1jSu&bKq zdo;@Rv2(|b)HvS!R8Z1ITKeN9zAUqj!~D)y69;E5B{x(kUChBz0D`>j1+swh}4Aqv7a(_>O%jdE~l*X7rw9 ztesRBKTPs5e6~f}_0pb^07h!R94Dyz??u=QFVS(&fb9j#49`g@K3x?0}=FbMe~F2gSssR z2e*z#=J+%jT|rQ}bo2zp;B4*X*!(7C*Z zGlKUcdBCSM%Y)$kQ;rT4o`jiud&*wKmG}VeMGklQw1A6I9lDh=)D}8lB8*RrA@cvp@gOsA5G!TemfM|4hNg zhXUr&W?$c9pz%Ow;)xgl$CKNeo_Kwb-4Qo@|uUO_3G4G@x2*Jb!+oNU!_U*r#e zI)TQ%J>Klk2J6%sfG;>=kDmY{q+Ke02sDx>GM#RLMurtaore5QEmL6|Xzt0Y?oAMA zoJq;6{5fD9fRCeHL(m}38Hxjx;+_54F2>MX4N?y*4g5XONR}AJz-^-}ZE7j)ZQz+F z(~v99yH=@a1)Q%NCh#n|?($)YY&GUrX@EN}j`X|sR2aZeXih)yrps)1WXSOhGBsRJT&ZK-i zj-K+-Nxag3@DI(&*Y@=vnr3FZ_J=LIRp<=8v2lo$n~pYT>#D}r`LGSiqt1WeVE|W% zKOzfPh3Nz5?aHQ?YPtoPJa@%#@{E2zPA|uld>>DgS^R;|Nf$c^D~u`hk10`K7{24oWAH7BFD-&RC6U#0AfXR_SjQ+j{oQz z+97OVE}i+14K{8!=Q{{G*#rUD)ed-_Ou3@ThSD`QVa|bt0F#v8onY@a>e!oYMl!>T zc-i`F9E?1yoq)ORl$BqQQV#ju$qTraoxIb@T*sBoNYWZS>64~y{~@<;==7tUg0l$? zbhRztxX|ug@lBvf_CFtJRsaB`3xsn5@&-A`9|MXIvC=+aDI6RV*U}!p-8@yKBIjV` z;OgNI1e@<6B<65tKXMat0*ww$MmgZ90L_`_!ks`PEhmVr5~E6JmI0o}Ku<8jkSd+m z1R7_fKRF|12I?=txfK9+FaFkPw{`ZzF9n*xdx1tOV_Z}wWb_I&%5h|4y9+eKOO5@Y z`>Qs#gT+UhmB(KRG|J!iI7z!QGD$-xehLQ|9JA%5sd2bvru;5tXuwbpw?fhY)%7Lm z$uTV4pA9tPo7K#>1`nSu|Fxsjc{sQh_UceWZuKV3wC!DBoa?qs*`p_KeJJJM`sFWJ zuRt^Wj|P&l{pGDKl(j!(*yG31rX2y3l-#m4Wu}wi@Mi+pLhEhVI2qrV+{{=V7+6>> zv?ayFWdaR2ZW|>%9nWjK4^hxBU(4%b4^NqL8aV)vf8o+x`r;YcnQQm78|}@wiXU*l z2bvyKXvOtrKOX`O^fi`&iOu-*Xm}{SK-1QlV^w*{+mbhAu4A_ z^MU5z(ko_`e{qQ52{gjAaQJS^DSI%`U_Y;%mqa4&3pi7iz2(4(ua{{OtA2hsZ3XTLG6(<;>2uy=E(0Je=3N*WQR-gg&!w-gW zGkOC}2C=wfun%kwVZ)m**UXkR3PfhDj;mQpbdMaZtIBpT2W>I$FisC!GN_G|)z-pVRxxjt>6}ES=0amtM5#$_Cq-@A{05eo`0cCWl_2 z5&rU;y(?Fed_9gr+D+tRRN(P^il)jo96A`2a%|jiZn5R^$}#6uSC!VMJvzNW)0Up} zy>07_>;Q(m8aD=+m7nA7d(NBHirxuQwxSc4Kduej>Cpxpe6)gq600jL=k(yd=jmEL zN!iKBbj~fbPG-&cNPb?J%%z)~=#G`HDFRMEb-v@=-^Q_7K_>fCN*)r%ap0PEuS~V; z3pD6oo%?9BZwK(+%@b(+CO)!wzDE;IWCMIGaPTOrwGZ`||9KoeO(X!`9JkLnqSSHk zZa}iA8SU_4V-LbU{>dS`>&L&p_)=`~89Ca6^eE?*LyFRm+3xf<^oXnRlpW{;0ha!d zgYP=SMm_`@d2S{m0uPb|NQ3T3W)#3|oh=a&NP`SO;y6&$1e!JGdIuqcyg}L05@ori zg1G34fN|!2BfWthlWyIa#6JpX-#cYVL!4I~r59+LVJKM%9NL94*Ob?815GQL`8ID( zkycPMGFStcV574*9)UT6p*4ag8a{!>iqTx0|DHf2FgY1T-j(tm{w}8pm1pSYI$+I} zzm=E}xo`)H94`#!^X>9!0wIjEu2 zHkQfH1atB1A>0QKWr6f#_>|_G;XYel;g$PAH8jzua{8TvUKrAApo#A2Lhg26Img?F zK%>5Y;OAhpYv~IU_{3qLa!~7Fv?b0j;3Qk|1iZdISq7YWbolIOc}}j-A>AvlXiNw) zryR`4r6Kb>v5%DGiP1{qINyAkLmm~N`Gj$Qmwe1Sb_SvJZG_Z~K_ylSzEYuN> z{XG^+-}yz?k^cl5;jNR6Z+Q>l;ujw9m8UeG4=FdeFlogOdKdsZ=&@epmcK%lZ6`*% zIF+q_Qay03tg$nL(LJ>{j$ZsG`P0XI6=>k2Kyw02Ps&d^?Q1{IEjM{-;8S+-Sm`vk zz2*4+0`AWS8v9K%bLHBEw{hUpoZ|9OK3@eIx6V>Pk=LaYOe1hfQxJmAJflM*r+x;} zGSCgW3lIpf{%g!Mnb{q=M7${|LR}4j#U)$sM?%;!>`aJqdc=H20Pb<9Dl3Al-J}#3 zelrbw4i~k3no+JGY}1OyEi<3Ka%M_7$-tMQ*8rZaqppXp8b+Lo)d)uD{bax@cH{MlBN- zRY02sVd0fc11hY9hQ|S^e-7!djo1&LG+=*joxp1^*<|ulzVe`wBwhoJL0-puFtvp} zn%UKu58=x*@UtP|dsr^c#V_seat+URCyTdO_QTZ0lndW+2>fXxP3mOml*aU4uf?}C zwW4v{u@e6D<2~LCeby_#WNNO>kmqP;y!b#*WqhL9`Fwa>-j2-WC;i(dd!o{MQ~aO& z#K%$6LrtUknG)be`|=Te6xsffpV#&g&TJpXzg>{`^H^{+Sh)0ft!~uICCRW!Hgoim zZ;){%GycOBjax>{;(fRVdhXT#?}29Q>HH*8)8>)CZ&SEHGl3YSkpcJm$>d``gegbG z7;%;HvE#$b*GoXRgH7|*GV|hZx-tr=n+IU5<488<+y3lS7^L&xgL784`FLqaHg0+E zisttQ8gYz+ScNoOTLvQjX9CUfM_)-FB5p<`F&YNT`i$lT{tjP9H-}8?=w^AlLWuEU z8n*cto&n_lWA06KEJ>~eyNrk|vdAKv9O*M=1Wh+v(E1$`1VI?>&_D|W2!fVh)=0f^ zDRyN<=$vz}`FoL>RjgvOh4D-ecemy4i<$ZI*fR%A2L^I20J*EjQLc0=8 z0ULVGJ&GJiPIe2th9~M-&U%|@Xb0|Fq5;-jApJDai2cwjzwnOaM(*OYUVQMmfiq*a zDj6y}+C-U@qQCG%G{#Sbpfc5)Fja9wZVe{3G8(w6rTT+ZnjkubbufTksElD>)CZjkuP+ z=%-W|v`^0+Pog=2ini%V``Y^hC7QbzHX}ed(lhWnN~5zkj&BnUa-+}8kVb}qP`{Ba zy`ts1S-0)k;%krbzcR3#j-#jTTdbkKn{eD}x5w-E4-D8^a=t!~CdSC(r*teu9 zx`hMm>+#0$3wHQ9JcT(q=#U35$7@r*>~6_<@Lks$^}?>KBqLO4h{x5B#-0P{6qKni z{@H4F|BC=Hmj^rwT%cE%BR!6hmZRaWS z*sRj)H~iZXpxs}y^3XrNO9|ER7p>E7>{2;ciN~y-3~U8L6OE5^_oSUOJ7GeL9h6ym z@Tkn$vG>Ok&d?iA>X+HUZ9urV1Tl!Ir_FV*fO_c(2PgXN!Nt+oG>K-Y(KLtGyJK)e zuzmMDz`}FM=`PXWliFdrhL#!3t=`k~>L-~>+rZ$23(w`9<4H8hz{E=|5fAUsTr(O# z$?M07<}9T;gZ5`qCc#J(OPI$8(+?<>KyuloGmF^tA=zk?w2MA2qE9&-eOqrVLZ^o> z)yt+ATt0i*=V^z04n6AazQ1ybE_gQXA{Xs#?p;zxd@&~eX%h{^H1az^89I;ce2(Js&2|^)=Pf6L<{|a{*)&LZOn{~9aqH%cwxL2aF0j&;k@nf|G zqg0ig;VqxFm$x@N%~iPDp|^kuE}UxmERB~^Y>&fSfh20*_P-0dC9miL-s2Lye5&ZP zga^RnJsv=!;ogOHA1|Hd=rC>=Q2_mu_UONZANfn0_|UQVuHF9U+VjJ2aJjzfl^L|8 zYtNyXUGTH>SDU-zxzVPh%lvQWQ8O;@QBn3SiN=RAZ$h1Ni^g5 zwzaoM4p8hLahhZ(I7qJLNk0Ni^w#x*VOO zWS_EY#=4M#uWX`ikLi|9mK~bm`#9qKsMGS222NXfWJl))^685HMoSPecGCMJCY$8F z`aVHXu*u7l)pvn*Y&rPyE%5Xq@$A`>GTr@L+ctZkS!6EUE|jC!RtX0%5q)%J1@*SE zS%;z5%Qor@&h)*-QYv|@#tQxW9zpE zhU9%{m!8OompdC#7FDi(IM8zJ)gXzywQVVu7fmma7hKv3IQx@^y%Yxt(7isi1DPl9 zLFZHAobrB!SD#ZR$L6Ft{P4i>BpNBxZ#18Y7pEO`X?rqDduJIZ(bPw{7rz6#OJH68 zCq0LMXu0C;G^9=l;#j#T8{~gx$fHvWic}vn`bFG$k3@zWLNiw9?*ds56bCdeg$^q2O(FYiRT4Sptdi& z^ratdW6C^AkD%1GjyCrf?i@{f(;t94g9>Fh_A>(&XT>g=V0Y5!2HbFDKL!$IxBGd= z=?W-g!;%!8Ca^BBhAYuT;U=1){oon-*w_CMiH@fAzYD_w6B4RoKlwmOUUL1O2jEuhMh>pz%iSdNFE5)C?;xH<_%|CvOikA9qJjBB>D zPTLT-%qSB5Xc9+OBOh~8{WhY#_6fi4+0#@PVS>wb2JMl3DqtKk0Z;#Qd|(TYHWP^7;wWf@$B~6I8{oSIX6f)cyb1#c@iFLb zxEBS=};COp-VcX@$e-)@fc)w#8>uKYV&{EYG~KZ&xJ|Xg3+xZ(8V=!4ySld zLVY7ofsZ0R4jjo7!pLoCq+JFfee&qh!00|phB*v|()}g1n32Py0|p;=?Y$2lcO}`F zcsxcEZO$ed>5=~BVMYixn4sH8OkUk%Q(NH#8#{?+xm1yKoIXW7}F2~*khutJcd@Fl@so{zv&y0Trb>%CD+!fkXe+D)2Gsap`&WR`cy|P|YHZLY;N%ZYtFQ3^ za#7Kxc25O@5D1kb= z$%b~5XfSRA*-9C|*NXr|A=AD;hU zqEVpo(?|3sD8N;y=Pv}n&wPSr6{v!hSr#BYHrEW~M?K8($a9W1u^*fLlp8#blTUGd zHNpDVkU!98a8&LEM1v$h&cxRc=686I7xmpUgOC|{5iAHcy;osy^z$kH4$XO)uKg8_+HAz%XtXY3Nbm=?lJNge2j{*^oz&U!}pbfve9t1e& z*qDh1U(+{z&&8+7dKkbY!v39!CfrAU;)W*h&JA_(8sC;Bs^^8xB~kj6+etKDS0&w^ zPohcoR(z6Zz+2N>vur=Cu_Z)c^O$Wels4Fx>#sg7>QCNS$XIxslmYb2!u8pIY4 ziRQ7uY?1@!{mj5?_QVOJjr{Ocx-lW5L8rphQEJFxAv6K|x>pZeWs7+wQu2l<8GNmewi z`p_$VZ1ST9ox$u+0o;BX;rz0w?*MoYMNOM%gz+}f%y+u(0;DsYbc9^wL*(kQb7>Jj zaLxv~-<4?M@v^HLOUi8Na`+v?hNlE(1NLRL#;4q%Bzljwu{=2PImyN{2Oj>5Tsv&Q z%@4TtodTUv6fMgZTud;0+l;S}zvJ6xPe10{W+oexc!`GA(WG4Lk1R>hFC>^3e{$jP z{kedZC35ulXePZ3snYbqa#vWTJOAO(w)|+wd)i6uq7t@dhE#LfnPeu>*x_su$OSYe z_f4=3^3bh*n0{?1E@XZZ&B{^#(cjuFqv_Z$lp9cks}cmU_#&Z(Hoon(vEA`YkLsBt zup1m`pPWOnsDSSuwrzKO;pTS(e(=~(e8!M7n1Dz5G@wG4kOK?q+vm$O@Ew0(jGdhs{EcXyv?&H%ajlDUDG;TY3jyP^QQZD+4GtdU~J*2__ z)`x+h_u=86{ipUG!HWC}sFtb#H;F<42}VN_xk9RP=)6lb)qyf2k7>Cp7X04CAs07G@uNu%vN&}`GR({8XRT<2DA$|Jjj@Y zJ~J9WcFMaI{*3eQ{Q~j)F3kiYWP@GI63obLc#zIJJ|!h%YaxV-X|gw}U)Fr*uabWG zXC#}i7_%T>+Kl7dV_-T%f8_`Lp818+ex>y5za`Q9W|EDwMC_{>jrxZE5{=F(gu{=p z+Jwq3-+P+mjy>q};|~VA+0;d|QaeyM17#AwNwlOo_L~dG zEVLkxE8q{Jg|_&zN9p<=iAK#L$5t~={MdLhiAEWp9iO1h&^GpWFaN{aB)ZY3w&@(GXCAt^#50L!aj=$8vV{kK;8u#UNiz8XBGdsH^)bLaG|wX(T5AGZJa0RpJ8< zZ70zj1NbP>7(fs1H;D!ZQQ&Ohjs`APu^G8^a~)CB(7({B2^=|65MM*bPdlckwHeNpzI=?68-$z{z|U@DGX_8twm;vD{E*|LUuq`N%#7y8+2H8GZ}e#e zz%|e~h%(Xmv)I4;8)W!*BS#X=0}oovjAmq|v-&9y?O_ZUB9w8P{3t=|JnXdxWe@+J zo@!4T?9pc>W9{^{L_3pL;k%;HH_pzCW__&oKvib$Cy;GYn5R6YNuAO}IVMZ(LApJP zT^It}>vZHfc-&qMTEcf=WFWswINCb<@D48}T7m5jtn)Nh!F3SP4!i}<2#X$deD;z} zdUl2(jS~Y6`1xsc%QsbSmkbVl(&)bNWRJ~gJcll0*7YcLa3`K*U&S%ytPIedwsK;` z<;NgbR^TqK9r@RTUXtA(>6>;PuSBD6+_Z8UUvTSKdDS(setAE75_a&99zAZ4@ToWD zp`1MTsK7iz^O@0n@o)dFM6O6|pdJ+sUBgS%t=uUgJD6t8GdkR--5 z%$dM2%AWiR@;Cr3X%06E0^{fdh>T9pja(h3fWqH#6bv$c$1r9DuTdx;5iWjlDCA9W z!*{7hlq)yeE1!|$)mg^b(o1IoWfQ(jHXLoDwB1TDoSsB;IvP#{t--3pq1!$h00!?p z8JBnXy_Clv^Hal&z~{aKffM5>xQQ=%><3=-{|LMXW}C0vQ)ua@pCsNOd2VW>qv%x$ zz?c`$01?fUHLDQjY!isMPKF+p2}d2kK8SLhYK<4!rn5EN44Gzcwj)4kaP#_2qTxCR zz%F(sO#yIaIO#1N=(^GF(2_W4GmmRxS0?6?%+KFF@srI@{`L&=)W)BYqa$d)p(Vs8 zen+QdgUz;dhFw21n|b-|U%z|(9kUvLag#yS!|N=ccHBSfbgl0$ej1>MqpcWj}$=pn}iLYYIuKrdOi* zcx0?4*G!lK00!%H8@ zb)baK3988-dM^LD`W<->o{@pP5C5Mg8V9Z`7w8BcuqJsK#EmEOg#Ze{t^ZgKSJ5|Z zhwkAbew01mRBUGFIh-D|IPqclK6EM%X}9fcwj2LkrCwt4dgXLt?70?6h>jdRENl|yWFP@M z%M9;-#4itiIqTRTfcFd@@3U&8Kl(9=$Y4T0gV{G<|GKqoyb{23qf~{=wDRDgGh1@P zX&Sjy0CT`>wC^bBo<{0(IE6s)EzxvSoFME-_2WbX?%~T%kW2uYYYii&1vped|248p z_)5+;A>H=ypkZmir$RjmAx1c<+~#yN@CV=W*~V~eZ%1Ud9cSr^Ho@1C-0cjn23GDT zJepicG!Klxo6)#@)~E|OWEe-{P$-aydgLWQozD+Sb~D?14BTIMAy~dTt6_#Sk3Q=- z@FWk>eJ39S8Z;jM#(6YU@of8O=K9EG1=4aJ!CGCOM01YQ`Sv&Q0iusOT5K?spqGe> z2IZwAINI!-`jcqr$$#mBcGvAYS5IsOR&B~e<9!*DH3{bZPk%wO`3184IWh9fcOR4? z!L`R`>Gqz7L!Jx_@M;iuMpL5s&0mpdnAQA_gw1l~!z(|JO|VhckxYW@XArzda2$`k zyp9j~vfAro=Qaa|0b=WBX+t|1c{Gp^4SE>}TqyUWV;@?0vvg*iFxirWGTdF;LMGb% z1YN3Zm)~GXSE8Z6^0d9PUbpDn^21y8!aRWsxINh?4td;iC3W~&(vClPyd_?#LH6{>~1P1-L0YqN7Kx#8=zoa1zaw*&_Q8 zm$2zyb9)MivSigji|bvXpyH|@g!Z=+Gz7pS`{gHlZN1xjVx#n2i3UU^ni!T4_gOld zL~{bz3Lzvz!~{^!86jMW21GdE(--`fI?nk8Ga8r8KEUV)mP$G7p{lW3l}k#08k zshn?q%czf=rp;)8$CK#5g_eRR=LKLnh4?sD%yGU9AHyF990QXRT4$gJFO8VdsmpoZ z)NKjr?Tls|MtqxS9N8a3(fO29+ZaIxkdr8ADpZ{H{>gY~zkF=rw4>V5*!^a+cv`k@ z3ZyL z5(C7I5CqA#K~vP?bJOT;^PP#t_R^&tu|ZezOV4ZLmMaW{iT7q$ZZy$6kZAnL=BJz+8NY*!1C~ z-S`PeV7NP3S0bUJ9#*VnW$?S#ins}ALWUX!*(gmVYX%XFC5JM zEFpzjj<}VVGAr)>cVB$pJ-tx}U;WmaJCogejpC9z_#hFWoO@!z`Fe|m?x9Pck{35Y zyz#h6y2;g~V^AaE2VLEtonrv+Kkm70!vaQmPZ>7}&*a52?y7fW?#B1+KmOTO2?-;t z?E)tQcEM+lqfeolth3-XwPi~5nq|u!oC+H567s#tcIh(%JRv1$=o;UvLWJS0MfCWPERLxwN!F2*gDfQ_qJ6#nP~6OWIj)1!e_Lwi z7DXxx^QwU#{wC$KDdwnkz&<{Ouw{QgjH(ty*@aewxGIJ`TT>Ht_Xm)GNPI)h#$0D2 z{#UyI5s1wb2*t228!Z$RA{4a8EA$2?E#&EPv!7N9^z^pw-`}WxI%@pNhisN4!%cwQ zzdb+BjQm`*6Oa%Yv7T%{Z6fX|hezV@QyGUBf9}7|IC3d`$2-H`Fp$nAUWZ|B{X#&V zs@HKV|4krg>xZP<=^Ol%zMaKkR@=X2@zr=;gBr_GFB97&j=!_M5xwr!xIkIdb}&p+$X?Se;g3$E*yOi= zjHLckF1kW2L0WGEd##0M;;U72onOOp>xaKo*P^<+bdMqabe?CpC*L^_v|33+^o1FeSUkSxDw6A)cDMV z?2{lEmxaO%$`&L?aL?0L{KPCzK=djIEKJUXI@|hG+>oQqor^q11#g zGC0!cp~2kp+iJNgB7h(>^o%FGB^IpU+Jfwf9lxuRtdkU-uWf^EpePx&?P!^jKaR}npOHWh-5w(xn4*C?q3 z7(ogKs@brxQFKA$%7fC9X6%JE}U@EemQ=10ADg8++qnI@Srqnxs(0 zcsZD1?#bH_qhuIyTSkCkF1Hq$^iF*3rWv$`tX-jswHxDv?mw_~qLSVe_JQmrb>0nk82cMKMqw$q^u>DPwyPHh{~@MYf2ZUKg8 zYfq}=)15ci(qQ=+DX{FXaPMyI+hIl41JU{nu!WMyTttqEgg0>F)0Gnwt>4~zP@j4Q zDZGny{}P>XphETL0sps5EUcrUVNNBKwqHIzPK!Ny8v#p-~ww}y-q z_*xH6a|ugKb(=-s?1+Q&8Y&n9cu!wFWPq!1U;L+Bh9JkK_8iJCe8w{#+tv-US5$me zMRt0;q3ULqyTeGbHL{9s+o~=E?>lU&5rDjYedp<<3%FtK&0T9FTGZGwmPZeo=^26k zH;G}?t71h1at-aTtsk6Y*)oW4o zt-cdb)hAxvnR-?iyEoEW=B5|Bjb?t zNtpk_2O5vHN~FX=x6#FSQu{6Bva4#;z$o~&Xmh4Bp5VitEY7em)K8mys>UNWQZB+* zIbJN}ppBq0J!GYlyM-vrTJ1DMAVMm2a_3I#$xG1Aid?z=n3Su{jZ&MQ>+MunY5>345N&rMkC>3>!*mvQuG1N2z zu--)yB@7Qh?L*Q~S{-5s`DZ2?1A(@pHx0`{Q`Vm}8U0qn6xRr*c-O@_dSiRtDyy19 zTdRwauJ(C=$F7p_tAIz-(vjEXf#KgQu=LD-tW#id8NOqqCfSPzuek(Y;i>1|JeQ`v zF|U@WWG%gF(GFf_e17^&Bh&9JT@6(BLh`@a;_|mbpo~Ad<(w;#!S5Ygk1uDyKxs!r zPtmZR$eAAjMP%N;hf$fHgyCvG&0iEGvoi&s%i&d^iuyJm zQcZWwD;=d9DU|)x!HeS3M(5qaYB1&pMl7OgKyyf%3J6qs1YKix9d;tXXB~syqsteZ z{R>$wZG~zeW-q7WuyD-xAn4AJQU(OnJJK7KZqF{bL)XaP_w1t?Lk@4_+E3CYHrgBG zEJ^Pcz^NwyP*h5=erCHQ5PAv98JtWq-*W$hygo8}si`)Qg}KMK#JjsBx`b@slcekpjGcLF`1trJ_-NZ6AtxjO zoFy=Lbw4HXS-UZQ=hxRIHF^Cfm0Xt2Gd+7p&3HRT=RO=)`*h0L(O-PPpx3Vq!u|KcIgdmc+zrDhyiohWXMEe-E`&P=Vlg+jCo`6%|)` zgLhh^CRn+@Jo=8m2)YqlS|{RtQ=_H92ED1u2nm3I;*E-fae_O5SHnWHo|vsFcwQ>{ ztkTdFY4;uq?M2h+Ue|Q@?}F%nT8|WC6QOFL-xRf#qvvvh!-#_#D55YJn?Wa^cjLx6 zH)q^zr>DJYoq6Cm*^^EW_^hon6U=7ZXccGJ3!qaO@Y5!T1Uc}v%C7tRYN{I*@K za%Vi-X@10Hfn1-ROAjpUAFR=kwD@%k-yv`fjYXoE7O$s7{4%_(g#@pM#vW{P5v0MM zm%=4v-O}5Gt?Ie4CWBu@U4De^Q(doWlI{QFX=Ih%;kQ<<&DUr|JqZPtaXxZM9>bI_ zl1V-AQM18{x;GuIt&GcUQ_<1VFzm4;KTRtBZI#xuB??53|5fT&KA$RHg3YkRkO~kv zi-$N3Y6Pb~1e=10fR(4S7(;dnolVuBjOztlxT4-XBW8V#I8OCg%6Ws5Is;EgMJlv` z&eCBnx#nU8GX*EsJQxuX>VJ=mN z_2?$$@9_jvS_z?7*-fo&ofv1Hzy>)%@ygE|OTeq4O-wAyV$4(+h`5G+0woH8$}G-5 z3t!B0KHsa1mUuGCjkP9;%xgb>|GFbt^nIq9$`Ri}v1^18`{37DTDtKRpxK>gi?8c3 zpWX>3Um5qYU`35-g&m*jfy@hLI3ya+%`!YwBlkJdP2hn(Fo(sv>%sBa{X=PS7+^XtP@wc7rzyJsov=rkM6y=gWV@b^tYqO*(UP zFSlB!%xTOLV3>`ju)gijkOUNNi$CX(R3Xrfz1tU>=S@{3q!41!rf^Uf-c)7ZxZfT2 zClhS(mcQK$!g(Us)pHdO>vC+Ba9M9SgJYXA#ZlP=Ge!f-l3Wb%v)>hfo-MGzC3nZT%2ExD!j!f&v-6C8JH$=IWVUHJDlz&5w4-W~swc(3`27g##9x@mX7ioC zq2Bbw+B@FpH$KrT|G*Q52Y0ZtKyE+B+?mVI_MOWaFVu2r8VVlv-S7l^A|DMUTsQkV znO6QVNn8v9I$Ohj8O5HYqMWQ$JV=TKuL4s}c~R456mC@pbx{#8A)V$x2Uc=!$?!E zo}S&Cy%Y7Y=}f7goh9=3JNQ?Z+czD>{0IMD`uaFJE+URqT8X>>wSlZHaqf*EYj$4`%m${RT)vwx+A(Liw8!{Ub#W$YnVfA^bu9573Ex`90h)@iZ=gX7-z-%EC z5Bu0b(6;t2L~KL8X6LK5Y*dubi7J-S62}UffJ%o(^8ttGX8)q5lx*)*@vGAISTJw{ zA}9*gyoGK%0mF5T9T8v~lpJvrN1Ec#h<)iVAiOsQUns?qzF$&Gbw{Ps>Y=X03J6}O z$YZv&PZ$*;Ni3LKXwY_UR$fGyN`M3PQ-hbIjcT;Tf5j!XmpC* zDy8L)r?=W)Ok*snpyY8ziA3hG*u;Bg`JU4lxU+QiZW5||ytyExHT8Js;QwNoFa3fX z9vLj-xBv2iyn=A^j*Zrwo{IuwS-hPYJ9;MKezB%0x2-Ue_bC(gGaL(fYxEOe(L>xH z4Wn9?94NQX+i|G(Db!%Lh$6ylaTA7}qzwN%CaXph2>NMhGeatDJ4ff(A>K_Sr`h5B zs6Z&7w=4R*SXMH)1p*pRrE}tI8&sMbu)TOKG#_%AiRM!?St#_S-M$qq=zYmWwZ=I6 zUtW60jZWuyroVt|r;cU2awZ!K?IcZ@02F?x0VY2*u`% zKnza68<0b;P0ZD!?vuUSwe_{-f`t+7^gbuu=(z(xJ%p?%bCQY${XQSBvuq`iS2gEp zdqnT!V*EDy=HFaj5K<-cOLHD|!A5iPKE0cM0jLxCEui$BB$m!|+Bq@mfSG)C1HSkq z^tF%mQz8s0OvDtUay?#Q$A5Cn$uvi3MNm%uNZ2bq(C#8Qel2*ECi1PO?g8!L zKC2*uk^{F+A>*^4^Y@HYe33$^xp4yrD zha_e{Kxu(F^czPS>O}|Lq6kV%TU2YbnIC!}pwVuNslVTm?BJ0(Pog*c!E2$iy@DU>s#g8I@)g%S|Tj`05 zhgI$*`TjY%u<#1`C5nWpEGH}t-t`GTM%s+&*`0A$&$(+1pmbiU3XZqSoM*`h`6ne_Lx9z$DM&uS5hdY$Fy`{lA4V;}5(mX=PwbGC}zX85xOKFqN?B@JUIDrLVm`AY# zpH<0hPRE=|S$r4vFhK)yi3AtLkOxO^*@~SjVcm;X9KgOrVz;%Y(S*G{b_q7T-X;Fo z{sw_J{rx#MO;x-^gNZs8NsH2&YM9?*-fyx4cxpU60IOD=z@CQfoW>Wuo*SHwb?{u( znbgGG?+8p0ofF-~V&TI+$&ccL9kR?($t(MN@V_Be#I5K8BhOfz=2O&XN#t zT*%`_nd$Z?Qu(W#s0Y0>>G)FJWF-AdSlODg8T~+ zs8GBLHno94Tb49mlUKS?>v>ybvX!c;E$?g02mHm0%Q>&8x0{IQ;oMCtP0v0`3JZ0d zNStyfTZ;!%h;h?;Q2C!jM%%yMYsCzh7&a-UFgIWo2>~dtbL4$epP!F>i6VQCzB-D} z+N|G*pqO87aD{es%AV$|F@+0w{fV49=-8S^yNRa6fR2cj=ifk zzATSiv-2ERY>o0?oKj{#`raEbzIXw;(9*Ms7$IQ1u^u$ywY8ByWY>>p@wbdS(b`{s zJ0sH6Jbf6i@`{WwBg`CnzEXC? z`ZICTrlzCTv|`$gdc~A*x5Y1L6$Z9ggQ>CCjNS*9#O2CwjBzADknZD<}wKlLLaYVPmj7lN*LvS0ncmuaOKMTz-4LqHyQ;SbZB7|h>>L@n=^_38;*yK-d@Kh#PL zB~=%B+>orYQ`(obhg@hQnslg%-WlO~-nh~DQmAco(XPx0NLDOek|bRxBu7e3G4?J& zgwWDtInt)wC>@qh_zU}`6a|y?Zu+%~Gmf{!7tV1v-}bBvJSM4PsM#ob>R{23^jOso z&j0LF@??nfS7f>W<%am}=qMwhO<8GcIx0We#@xF~Vrcaw3hwE%CX!a*p=f8Ajv84vX+~+quFsLx#$$YyADjUa) zxh!z-h9;4Cxh zTV}>G&rgh6ru;2zZT^W0WeFIj>XQtT6{=@XTLF4c_3aCOt4VAn-1KItr-@WyGHk6m z$X|?N8stS3b{)@vS(%>GCTwpu(4Er|&hK40bbM6m5Y>BGq4cy{uIEfaJ~hGLjycUn z!SE+@fb|DVbG+n-NjL2Bm!P4;7;e_7He3yOeaLLS^QB?}Y!J_@mt7-+WeC|*u<*rTJ0@wpo$T@?WwY7a_79(^|!ae>s$Gc(`Ym zT=(os=2y@)2wKdkG?tq46{{{xyn@I_LhfqVQ?Anol=31g5DU zOKaQdmAJsubZ}nP#ZMVvtSG`d*;7ctO84`d<%UkjDb}eK{kOgTzRnZ9-$M6BU&EMy z+0(J*LTP`9rzLK)hg>{{xeYctpXi~R$vui&*iHwg`ov4Wso^_HxO4^8NVD+y_*Rj_ z5%){SD({KsdIMxK8;vsz!PQv4ppJOwZ2wMEv0Xvga7=lZvdG;lhnwM!rM7=t?vsio zWZ@49y$c>e|2+f&FIKW=l*28qtM^EbO|}L(XjgK{cEs;ZxTuh)crEvZU-6Usa;$*( zCATT(E=>TEihK(vTl{z@#V3dop<=6kJw&11#OrtI0vgdu@itDgbJ;Fs*g$#hD@lHx zyY}MGl*gA6qzpWM$^+;5ju*JIG}vk+=T+qimfJfIBu`pi)`NkzOJPqY+OzWWiG<#yHC3FE~G%a0{{gxJo_fs%PFJ0HA+ zMrX!>Va1iAsIjkIQltlBFY+yj*=cQ3idzHuSX3fs=^`LuuibGnI&RVjg zC2MP=o%Prl7kw&0g_xP+j#PUXsx(^k>(PFM8&Jk-4R5}xfXvG+UU4@HrSdl`-BLX_ zwLNm=sBZ+k#*A%GDa8Q~CT`aqB%C& zyTNkU-*l&XEC*6XJGQj@aMR&lk(p$KqThc<=w511R6b0g|Co%87Dnwk_WT1mnaeif zeQfQ!BLN8GoESpYcvx9n(MAwSp2ZjHTDw73lWyFyvO9j*7rVP|k)h9^G}Q$Rm3;Kr zZVqmZ>Cte!r)zx=B2M!&zq;e3J!YMQ9QK>umjpL2Y7vBV*49*G`i&&wr(^%PUT*TJ z-bk_cjGR|A7&LVr2JFZB*QCgH)N6oDn8ZufG7FU|pP3p9H)=!w4u6mGf9<9;IAMy; z2rp|^BwDEjvtki`6vxBDbpvKoa<=!vneVCCHZb%i-(aPJu}|saW+K{0hK_{QvPeL< z)i?j-TW2%K?|F@I^36w12$;uhduO;TGFu9g4|uWmAfU&#IC~@QuTyd#%{1}y_`^qC zrF>lziazZVB*^f1OeI0T@MmzPb@n0(AOExbJuBN-pS+ZTFK6Lm*u<^LJ{$e{E4FI1 zCg%~q6p%KvIvam!gu^+;lAM@C596M2_%s8UrpK_;;BnN_4lSTz=#XI@+JL|m@~RLy z$E!(u05#%rlXiFXv4jb5q9Ry*dP6!w|2-G_A^lRIe=G`r>7#dZ&7Idc2*aPx(< z=0)EG314&w*oL*7&s*Uf!!E!1Y5+poDJ03fjW+f7h{ zvE-)xnO*a(O|RCP;Bgj)62g1n+a?=Wf&DvI+nwjOFS}f)x0UDgk-~K!=aSf&F8&e4 z@S8rv%2?8`hE)uL_<4+UludQ zemu<0QmH0j0L=?kyk=mb%2lhkm^=2i))7xd^tgx|G*xvaU??WBrx6M{VlNWLHRRv3 zKo*Nr!E4c(+|G9RUI}$LJ5*Xq{$dxkY-#Hy>NB~j60+$q<^RTgQ{DySO86%VzL@@7 z1)1t?6?c#*h+7b*}tDW#gDMX zs8bt}Zd(1ge$06r;tn8bBb$$UMK`NBQbM-zfF21VinJ;sxUe(YE?`90y^GJ1+aZ`eAf39w(e;Cz)Qd$2L|EOz%PHtW@Q# zG3#9CC#}>XM2wFdM1XK zofw|-9%Rusa6Ux-%S94TdRchcM+%g^`d+oIIWEG}e!$__Jzwg`X8)%uye&-*kkS{) zIW3N9-2s!sP{h3>G^2yOFx7!-W;)E9xowT( zq*J-qLILN*Zk{HRP*wSqbstmGJ9cs96CNkMUillZeDylUDF=Ys`J7_gZYTyurp1-} zIhi|a&aCmNXhnY`B5X}XWXG?Ll<7XphZ6W*8km-C#fkgT-nj6yYR1DB*e6@6PJ3i& z#xe*#OI)ngIIbnTe@aP%Z~b!4@tn@@Sb9@2Re7db*f1F;Rey|xL!SFn8NVDBCVpG< zpPvn6Je>IO2$g-Fx^gXy0rkW&wovuYp^p2_$r{;UP5dMbUV{Lo}IK zXJ+~f5gbPbSdm~r25iJ4oFiSCua5Ksc1I$NyswF!>Ej$lnE1f;?KmbZI+wLTdE6KTr5&!@)}5m{&M&UOKiY@J2&HbLK6pRI4( zg;`ZC=G7m%+Y<#EeIlO`!dgHlMC^8`$&?$LY@QM&Bw0imh+bCk$D5ab zm+O5%0bHnv0593|If_WP-Mlu9Bcu0~T=I6#M_pzMVUZ*M^2altoSG|IGa2AcagU^7 z{YSF*ptdBd>!`0$P-S^;vBdPc#Gd^>Kj$U#`AYv_PA0-QTA19YlXcoKX41jIYIT+( z;9s)i>ZT4mc23N9xQ8e(05ik&;M{@HZw}qHNJM^27|iZl>-;jv+;x`5HeonHXryb=Dpy2#4@$ zk3N4JgYEstFsPAg$z&qHpxk`xeDyPgTEt9r8KfYLf{zNd(_{Xfl<~-)-xIj}NkIuy zB_5Zo&dNK;Q*OvM_pjBJ?VkC zw_(s^6;YJ$$l@Bq(wh{nQDBgUh6{$7r-OB$5^EI_huEV(QsgFo_#_WzfR_)cYh&`` z&!HTg`)PhFm_DIJeFf}qDBi>Hh#_8^=>nM(Dy2`1ysWY6l?}ElS7w?syn7RdCh8C3 z1JCQB@%B!BBr(<4<~>L4MRp#ocoko*x@pQTempli?PFS}pmBG|R0|st*GDf)PIwAw zkL7>ts>&pg*~xbqi0Q?~eu{^UTR@7cv4;wHX6cH8`1wyEE(cbp%%qFJn5s47T$&Zr zJcu00a}Ii3;k|7O=7dZztMhUM14d5=p1l%BOWk>hw#-E_sR`9NkjwYwE`mu4z4mMP zHht+~bK&TLfi^%XQzHYm&rX}up5Q{=nH^l60oU-0W+yG6IJcAtP66l5yf=2kyim(M zaW+*fkj_$Gu&?^#xjqMXjpA844W!as*@EKz93t1wVADZX>`;oEJ}x7q`8A6E_r{ROTmw7*-`^O>kY$EgU4i}gZ&3Ha6l zBgS7*1Al~Y%vGDpujK5{S3b(|0yVIN_+`Pubz&%!&ERzPlFV7~ZwWftrTxuOfpeMo zngQ1F$Dd2Qttw|_rjzS_Yypml28+~WKc%B9Wf0!_zFfn6kA_r(xz=A^(Iq|8hrj35 zwa*$BvnS!GR2>b!GU6ztu{S>H{gVYpT9TM-Jgl0jzYfpbxjrBvIQaW@BGgN&*HFQV z;i{v9>{{3My}1x&?Sl3xr&va@3VBx8s0n6-n&y-9+Vva z{SrVeVhD-DwU|<{5R3m0vc!*qU5zy&6x+FVtjuM_Q|;|m(Phkg`HA8P#b)|w6nIR) z*8K|}wYEU`tBvLNm^4ls_H=pr*AZ*#hvuy_`XlEd{ETry0@-tRXi^#MZU`HLNl)bN zq5KK$L`g+z;TgQu&&q$J0O#0&FMQ@4R{dcC!^2M5OC$dj{4-dD!BdG&nz&6DQv^kw zP$nkuaz&o|L^=>k{COib@cq>4@QHD&2!`HBO*O=|s(r1lqc##xp6>2k2ly_E@?#&4 zXkZ0{=R~nT#!{Z5@Nj;;BU>U2^s^xGw!VIZFp?EQwQw+pIL*)Yvn+|vc%FUQf~%0$ zUBueBk_s3oykaK53M`Tzl^G7PGMpt44X-Ti@*MO0mnTo>M*}jrt;}*oP$efriyDjG z?)=KvKva}rwizKY11bOTX9BYu*wav9q+iY6{(zMF%f%zz4wc6IhcqOsDEEbasq}=D zW!wt|KZ20cCws&5!IsPyw~ehWen&$-Ec%DLl2YTmGmPb9Vs2TjJQ>ZH-|v493kH#1 zy)e7#9dflp3O^nbvc1i}LQ}T7C^i6at7nAp? zt>lIqFF^J)*)rBkbK6i1la(RWt+E!E-B3LZw^ce z#ylw~s44M~ZbvW*;{k`rYW$~jz;dlb%SvyyiJnZl@V-~q4UTwf8i^Hsr(Q!siO~{( zMD8eP2uh*0w=4Dyi8M!!PQs`~r7S2<2mPP=R?q?F_JT4Y0pdN)!NeQ!FajPVTUw4E zR+#)hl9yrzQs-=zg43g3-=;c0G~!<^>m?*l=P!@4{BI#G zp9VA}U6+1e#S?p6j^*vQ`nJ4I@wOH@+mF6AZdK~s4};4iHLVetBUrTGgbB1M@O zR&a$+Q{*DD0sIeF{y4wgU7fYbU8Vi5c@@xp%I0#@N$ZRBcBcCkMg|6B4QXi?IcH*f zL?Z^N@xTXq4$6ZSNeYtJawp|qa|4-X{_0fe+M8b#IZ|N*WSRg74z3dK&DKO8v(N(QXoi?y?=-}vO`V(}8k?6mb!nakzpWvH1iMeuTu9(R^$aUT z)Ug?{*B}9MI)Y7pawMhcxYlOeZ_(DmaN#$s|MjZPXL(drQT|u3GUHR29RSXxBUSk$ zXGdavW_KU38(^;AQ)mZt8>H`t(GU1pn(*2LipWxV!ZIcS6JaSVK--+cQb zLRg2pXsr?%vYy_sT}vkKqm+&9^QAJ-BHJr%UfFgX-^XMOcQNr(pe=U0k81LEJ{ag( z$S959=kY<(NxEv!t|L|^YGA-)rZb8lekqFJfLUXAGag(8;&$D!p&E)ym909S23hkC@Rii{GLLS@ZWsu)O~#9;J@mmEe!w(1cpm@VL=yI#VyLT zi}|=^4eDoF5>vUf=ACN}t}J5@pYvMYz^9-2;PHtY9c`Sh*q;cq?E3P^R(@e#UOXmC z`QCF~nAzu}-qartzkxlW0GQD7&5x!{3f*5a8SEb^NE(+c_oUOTK~NpwEu?hjxJimFwDIY&I4NBf^Kpsz z+gB$qb_QB@4Rd}O{(C8x1G_?+$QpUN0%6ZY>?fwDahgaM6M46glutuLJeK~zOpFiT z4~nAe?lzMM;2dpUnD2?nmp_ijGRq20j?=WhzwXxXd@a{*j0i(59^GeBD0wgPEnL0C zU>UlmaFS=dm3a>u&|X9O;9ViYzEg*<1S_HGsTE26&^m-TxcG|-cJm#=pBX>1f!As9Eq#4KSJxi(Di+DV1P^;%U zM@`JnyAzd-h_r`7sP`hoIi>{E`h6-6SLC-ibX%|fnJ_2$U*&9&anf#Ax(7O%_xSu67#`JbMBJqoyVG#hDM4`26}pV3f$$%o9xG8?-h4FAgfZ!l>3`Wac1 z)YE49lHc`3>t~%a-Lpo}2%~|_9mb1UO2ij;q{EKvxVDDf^MRA?Op9~!*k)j;pQii*B>kjqK~3yw8=;t)hvY?>rGMak7*LYv!Qj!L zs*$~n^G}qgcggSNN(q*0lDS*Buu(!)ld)*RDSbKDI(=tHCe_A*4UC9RX}7i z;6UVs);u5qhj=j_MtiQAL7zMIW1)+t*{6Eiwl)$Cpb4QP5F%!}Zvf12jUinVM?j>q ze0k}GQwLjWEg}qWr64k2>T%a}a__cBL(%< zh^M+P6yctOi#zN9s+94qsR)>omD$tMdt_z^uBc%^fmfyCn%Yj z3D1qKY0SnWPG%EDsU|pBC z`h>zQ^r$9p5{R8;RVC|l^|%!eyZ1v*6(O7M@Nzd*fKVpw4ga7d$?qZ1z98I%~ICOOA$jIi2e~d7J>R9NnE$%Fu4#1&)F43nvt58@N z-M@9F;Ksk-eSQ`q=e=zt2krS<_fPCoVO{0T-t@i-$yOAy?{jsIN`pdd?tDK*(_}gr_6eEQM*C0*LyHQkqstj65>ea#9vDO!Y4CjP)I@+@B#zKLGi#doIV4k>} zvg{L6z=iC$KV43QpMMtp&0sgLV$+UMF>@BhQ3fA4k($-WSBr9Tn(3FqRY82nR9MSx zccWmy<1?LCo~zH4&J=g1T18NGZX&?6T7)$`bY;MkHB-o|t?QkeUWsgfsY7sqc%^e!f&P|?Duwz!s$5#?0^lPVDy3wfezR?zY z$oRM|nxdT0c1ez%n>;OkrePoJj=(d3d>d18$l^H3}-dUJFA zgSAgQFGTW@*qLd3eWxu>9TP_Xj}4We-;KTKZ=i4;f>LCtL)Mwkx@h{2$c2O{NDDP2 z-5cb_o0tm;J=x{z2kX-Bcf`Vjl%bC+w{ht%45@x;u&_hxbBTW{h0k0~6txveReSuI z{BNO0EzBs-=pOLd(94L{_C+May<96>sva`sck5Tns72H3cjGS)75vX?pRSB^XEuOV z@8u$R|Fr~uQ^>=f1*-TtY z1HA0ce%f6ceD3mFA9=&1lbfNDYp!XRzW+HIQa*TPZs3-z`X1Cp=H6THkrb61ETrOn zKlt?9VHkE8O5SIft0gZ@9@Dlez!LcZhi-dCFpSNpXC0!b6@ftORYm3g{R)z;^WZa8 zdLZh4xN(aY{p_rR>&bz^Z(Fsl(Aa znc%e|b-Pi#1$MoS-v~utzq^4v#HP1*C+T}38yCt^JR*5xB17CO|G@Kx1Lr%5$WVgE z!53RxllkMq@7?r|*;0c$pA*J~iClCZ63noz@pa`%edA;u6IZRqQ$tgMiwb8~Hn+by z4DJA>c?R)AC9Mi;jcSi>u1Eq2d6-ozDI@1SN+@B;o)vE9+hY15CYf}{m=5KT5Q``@ z)lanE3$h(^$FXO+Oq`$=ddGXY>}(^;zD4DW4qaMc&e-ol`nF4THb}O(~g#K zdJ0!$E{mKdl=!56U@|3I)}de;#-KO|ag(26oHco_3-vE*+h8c4-y z1;3%o>#_mCgP>^tx*A*W&L{}z2D|NOC(|V7MaP)P`8jSh4CL~C>b9GSFyKb^-`0B& zH`^{N%o;T4`Bsz0v~u_Ek32aYuWA|t*qU`5uH5Z4Gjyh`jd- z=owuZ>V1LMDfF@B+IV*pk}E%?+;fTIcABvMX(N1E;-DP_eYvR|_h=i<5rgtNjYDW? z^Pf>)q05?AKRGoAje7+ojAQmI-`zQBUkm;#BiWg!)5s(L6tnvs>z3JNNoEtIW!~Y8 z0d0`XA3+Ldj({vZDl#0yBo&5@UVLFr6nIHuG99e_;YA@Pcu`mVl&%GLR323Kg7d>l zsCv)E0NRQ2t+h?QaTFbFm{b;m|4XrSq(==jkGzTNP4gmH9+X9YYL!jL|D>^53ZM@y7szhY~?A>6&a=Z)Sf2@Yy;&PrF({zEyU9WHOmTR7|GPd#E5u_NvMEmEGEMT@-XM?P>9A_G zcV7iN*Wc8{%NilVY8?7!Q|y&y(b%t~oKsA_OS+iP=f1JG<0h(g`t!3VJPN(c##bA7J<4i1rJXrWnc_$LSgstJ(IjR>4Cc zLG+g{AKLXhTBOl!(=YE1tdOiV&Ou8-+uzfM&iSlz^PuGT;r4bpidhXt(Z>fh#6~W= z$J?s1=h~DjKYJ}c7U{6Dy%vNEA=wv8;Og#PRPIWpYP`Z$?I<6CNinsdL^af6jl9j1 zdWRoaK-WhTa_F~n>8t6=!jaci@Rh8I*d;hS5Ea;lr|9TO);hqLQ2DE6R!1P>R6Tb` zk%J^{$16WPTFcf@u-~A80*^c)_!Ol#BmE(XpD>`S3q=tt@R@Ks!R2-)0PAmkjr4~2 z>Uc?3+)E+b8Xk;U_W%@5Ga~E?nxzbqee7=S*M_!sWd&Rwri!#~B|kHkIFr#DYnMde zr7^Gz!M`YWO4Bkq`#&r!jR^fl7W6Ov=0qfUT<~k`cZQLdVkhBF4(g&g@z*13!>%Sy zi{QMWks<48W4-ox6PV;xK^e`kzSh{~zio#dOlc-lp1N$qaZ18BYJViDqCaZ#U`4ZnJafav3Zds6UBD8*xU%6KBq3e#DH%MDxI)=>>cG22nrz z6>{lkdxF;<2*3^;puF&|*faNNo=Y@;%?wd_GO#kZfA2&CJ!T8|)dos5(hnbo3jb3X z-`$)o0SvFnj4JC#T()1I*QVXSE791g9UZ0*Y^C7BXm;_0UYObW`sYbBVwP@6z)Don z+e9Os)`@5JBU}@veoNUrZ6&8upTBMWc<}lod~; z*#z*Gwn;RSCf=ndyvksHVRPb#vl`0SKS?w(tanU;xsK3OfLCURJ_jb*pJgi(^}UJa zx^HXU2+~H-=I#v86KGvo27;?;3ru0_sW4hAVEnK|qrI^y4#4~Q^`OBpc@A(Wq`Gl^3mlldi-ZW7!sTHDXwnxCk|MX7%$(WnRUU=u@_3KGC@A^*HdCv(M0DS13U@k7D0y(p#6B8U?hwxzo= zy+`AWhWBZjAv!zUq>YV;fAYxile5OZ*Yf6(U4A>P1#oTKGp8wg&OIM;Herq zIY0D!PZvB6eu@+5Exd9Pzv^Z28`w)Ul%cPDM!pQ(CK_Xxytq83q%2S0b1be!C$viY zq3aywn{Di9{ahb(5Q1IbW;7?!uv{u_tCQh%?F;)%?%JtzY+SwQfzEm9`p^<)*xEz` zuko!8*xtx76B#|72Pj7OHLdMgJpeJ}^}u%g&QqY?Do}0*_tNNfel->uUjIac_64ul zd)N7w#yR|Rk|~gA{x>xab11N+p)wAlO*CF>h?h_hP-TY@Ih2?Y+&rQ;L>Ue>u)-_I zTgNomvo}&vAt*H5*JyU$q0xQXV030%V;HutDnk&jn}(gM6-cL1GJ3-F`zyX zT)h$QX#Pqx_DvcY!;wcb8EBiQaWq)@T)ebT!0?viiDP-@WZKa_SoS+l7gcFz+q26O zyJYupL&iN0nH0K)mpjK>x2b=jvxgA5)` zH0ne=j_6A?zy2uEoEK^dM)87F`dx`; z^qSP~6OHzx7~7K6oLVL?C4SoIs5(ZDFfu=G^Z7(`bZj5_@IH;Q`-+z}dA#{&ys*hr zXAgWC;2ob>dLiiedq+B~czoK7k1@0?_`)pk1CQ>%{PwSS5P*jPOgJVQ?|Cu6YUZ4C zL;s;WS$g5-(K-R{ZmF`b+P~WO$ljvi6TNF&`dzhF5Cm;*BCyPWoZn$L&4x)f-;!v; zEym<{{MSS<@=Q1Sg}jJEgZ^HLMwoS=6Pxh!V*~cLB^uhRmwee7g!Bv@;%(qu+%SQv z%adp};H#%(ZeYbfqmy=(t!#=f(j#piMwZHR?ty)uL^D1t+_OUSCeb*15vLK-L};9C zMl)rjHt=e{#V&bfPe#z`f1RpLIZCH?v2EygYW2%c6O90f|H=$Gd{?5m;xV{_84W9w zZ%H&+D2*Q;|NZ~HK9fa{Le^LSH)F{2_^G2V1+z}L0ursMq!B|#t5Ojh1R);&oeLnHeKeXl#>cgsZZ_GpVUMVf6x&_|8a4sxyR6xL6}w$C^u(qmmTSP;(h4PZE`2 z9L+b&+8K>t!)lM#i+x(bmmC$E3VVd-kA)yH4g!qc86 z(M({4T4+%Bqkm4KVFs-wB=zK8qw$?t{xCSV002M$Nkla>7clc@KL-E*`?YTw!-Vr$cY;Tdr`$V%aCLt<6>&3%=1)1zjbff1Pfl|M= z+mf%zhWlHOKjrHHe&@_D1NbFpW`y2D)5euYvl)59A51hZot0>u)%e7jUn%!7Vr=O# zVWI2D9^Hyn`m&+qpsXWh_~PR5agO%6Pc&nP+Su5N^`1}rE!Do@_j(YcrMx2p^e_b2 zYw#vpVCGlo^G}^az0azbie?q1P#7`5Afm4MO zU(|VecOdOb0Q_EwCZkYb&>>B1(PkX`$4N8|6i`p`F@w*a@y0LY~iMRFT zdTQY5BobqTAjkN#|6=f|FYeGrD_l9{r*!&kqS3c6J&6rk_g^$U{s;eO7A%s8O)wnAcNr0*kJkrZ=a`E);PuQ!vY7t_lkTH&NX=ZxHX#)CVMn#kSiM# z%qh3dW}+;(7;uH5v0KQNlS((cveAf|(a7Hfq}q??08W52n-h5a7W9^$aEV7AFYqE_ zw-UJFQ4f}hhw>85ymVNi@v&x~IP;zZvzkdXK7r@+|IjbJjJAEG*{7r4B$^LAg6@n) zy2LAN`OcW7LAo}urEe3uGa7=1vm46ftFId)&k?t>aoNln&0V5_cAY%O$%yIuf@|n> zZXR?z@vvR?(KVIpaMf!M*&8sWp$-CI-@wy-nG3&qAImkeDao-L| zH$R?4qwIh!d?CxzBpScoj4Zv^Ws+g0m<(Mu)6TOKD2iTPzuv=-rzT4&_I#@5WZO?* znO-N+%nZ)P_Fek7bKMT8O*HwpgT(t~vj&eeT-<{P-3mZit{=_)h|z)es~(0WXwD9W zA$#<#f{SyUib3IkP(4MUGIX}YeUJ1xK0Ke%5g7Q|jUz6FPuuRB$fq{UUZT-&^P|;i zxILfUcxR%S2SC)c)^YX-^v~eS9xUZna^s?uobpx_06~9y)t> zNqTJ`QW3+WJ3J$gR%x;c%Gf4ubjlyflHWNVc}~l@XQl4~ADBfwXe$1TzeGcQ^hyK% z;<@eH@3BeK%?_@|?ZYqRlWI6V{)d}r2v7yXlEnZ;Oo&xv5WpTWM<9m~1wy+_xxNMp zmIIc3A0f52rKE_OsqPr5#Au)zq&VnXqTzgcC120yDUu{V?fDDP**$L))*7Hn3A}-5 zj5NdSsk9@U3BJ)19dtMH1y{bKoZ}cqfPydl_HCje z2(!#MiH3d}bctr|OM)Wm{-|!CqW}gi+6DcFhG}<_-8=wr5}iqKlK^tm%Cjx`^?r@X zhDY_i*Y((A;>y=VgKcRKw9a4jE0!VsaBMTe>)y=GPd=Y$bbf$DA~Z)ahijuEhrR_8 zrIpQWn*z4HQ$F+yY`ay;A7#DrZ|2^L#Lj3wN;HFS@fz^hU7iKO*E`Nm^dcU zC;|UL?~zG*J&DG9G(%Gj(4DfFC3oTpJnAqF9un-^MDy%@k>Z?^a?e8cIC4|3+CaYk zy%P%(Y83lYw#U<%mEKi|Iz;yncZw(2G5$Y?wE!I!c7G5ql5}_o{B(F{y&2C zm~!ChBp98X-C$IPbtC|c^rE5o7;f}vpazGbrT&6Z0m0p4W#Gy9C_D9**N!9bTO(H3 zO-2mvh+Ft7pSVX)7>-D%ZNh`MI-8s zq(zEc)RJ2=FUlp(Oxvo0xzOJGoXG#b0LrwRp%TcOe`ZD;ALomRbRItT^ygXB8-Ald z2iKmSw#osT?JhwfLYZ&MC?9?>zSO-=4gSam&MbJ`lKe5W<=6GZwSmAY(Ab`o&&5t1 za@0nXXODX-KUHeZpV3ZwSin{PP8)92;B#^K%%bB3WVtJsFB;J-&?plHYIDfn)br}c zPBzNk-F(8RVgaDHVVv^ntL)PQ8Geb4Y{ivv{4LjL^hxn*`5|?##f(9B)*^Z2#cG^n zZ)|?H*;IR=aB*k+vSuTVu#2*~v^nM3r=DY$WA{M1=Vaiaj*uwY^4I1l>@k41a#=|E zvWeT}b!5`_uI5>7Q~Tn#GFrF#$no$`{;h1rF*#%aL!nIe*NA2f(Z$-!Ku5tTcYwx# z6&PwEHp&t@BN-Z}Z%b~9#@k&HP#am^hcn<3>)mO|dicsiqq%5c zm2*oa6n5(DB%~YAcpjNrokm-rDKMlXO@-Q3=Kj76&3R>VsSI2A{po;a0}Z|O?TjV_n8U`a6V+nbdRgg(#-A6 z_dqjxYxhYk%EFS#`~#gDg}$I+wvKeUH4*x^CFWX7CMYh&{G5UyeNXbWKLr0w3v^(1_u=RUdl- zDwY2iO>(Z8kH=vmkm9!qK<>l3)9=2f? zj~u(DEBiy&dX}(^<&n=i-vuN@K1)EL_K2e+6ZNO7(){ZCdC07dT#=a0c`=U+RNtC4#me~(@4yIk*MVssJEIITLn|%x$_uBfDuMPq{{BX|R8_@4)8h>qy2?-HvFgL*YzD-7`wn27qnTRru(BG4AuJ z3{Tw3@94$v)0V5}@zpE8={wd7XeeZ4i~`X75NI4NWBa-Nmr;B6R0h^^8a}iwot(vS zJJ2&VsvnHQX{Y5a%dLMnso*kCCJoUYrua8dgZD>wot1d4V_9lawHS)-F;vNwR_INr~Il6E5AC~amt!n=?o-}t;p?NqoG_?5FB}C z#I2k%plnH*pGPkJU;8r-mVad=GW?&v{3ien`%O(1a0?hZLdrP@#hpr7zGXoG+5 z+x4K|)4glZD@ZpWl1Ix(Po*<}`>e5;ZTmG85`#UVfQDpi@6^B<>%vaG)crUdBNuq= zx83vXwZNyh3>ySZ&B2sq=u7~A8_+yops4{tf4(EQjYMFtvB-0m0!JR`<$?|Sr9HB} z^0H9QqBE@~&>){{`ugCkodCdvDKy^{@WQDeMl@9lXm}B1J^^fe-EwmUukic5fkqu!6j8ezoA|?cP)Fp| z79+O>;iI43vJB90oU(QNic#g_ykt6l1DXLGic3BM$e<0hOF+X3ZGYl1A_r*x`hU{u z==rqahxR%{k_1gJZDdV$QiRS0L>Gs9v%x4o63KP?k z4-dLg?;RtVx7^|M_~qX*P2=+#_WTTzV+aF5^>$@505bu@iBY&IF%^fu3iI=37>{WP z8;C$dQsu6*E|eEIoP+)}6m?Xm-8QAeegWt)QE5j_e_(E<) zmv8YlG1tC1^OEx%x2!bOleM^#H@}OmJ+Gawh2O;k7O;I-w|$OFzkH(JE}r$c{*u3W ze72tJrJEc(dHzG7sm-0Z&lhS8zf1GAfO-Dq_W>G`%3P>bP!W!;f}|kADP%yyaRb)i zQaPu~cuj||>iFU(Kd;C9jt1%nqTX5_L%j5bHVl85 zaJ(6S-Q5V2t2*-AMN;=b6YVpSiAelD1{&&V1{taE@&Ee9Aj?1OkGw0h)wEx7 zV?T7efW}7Y^FGQbWvXOL$Q$Dm0@7i%!IcP%E0e+LaBxn!YT(imXeMSgixHg6{!RYV zt~iGtbI3Btpa8PVpC%I1>1;X5a%A#1bt-R6pB6I5t6mAt*j8(^=*_Loe*A21aYojB zG7^sCj;y2a8PWWM1C3VEFeSIK^-P^%d+a_VnrXumV;f&MteoK%-Rh{W-@hAZuyet? zar6%cG}>HyvldtTTi@zq?NA{4W0xFkyVUQ-fi$!kcK85jJYF8p4z$UDMq0Mbo4wqh ze2-mY3vKB>0UC4b%B3jNKq!OlUj9=?G@6~pl(A1jgt1B7YBHINwF=6rz@3Mwf?5~g z=nfqesS(OBpy9jfysqPmp8_<1${Q|5y`k~Gc}+l*@Ln-x^U_zyGhBb_&68b_5jpFLE9)l5_+$rxM)_7wgVu-L@PR=4oR^$F2)Kffc0%6w z+{XOKHJL}Qp9wO31g+}~CLwKZ$6E^0) zOu2NCWjs#V=qym&0Z0BFvXGF;-I~7W)K=YZKtm~Ly837Ry+AX74d?4sKE#@2rDJJj zZ#niHTQ*&643vmCcZAC)`h^h#wl)11JJ2wST@2%Rw6|6HJvS}LUjc0BY?-1xF)#^G zd4|sX8eNscmV6d}UG?N_Tmm#bu;?>1-qzl;H2B!yvWx`x+S>4dwszPKOH;C^4N}E~ zbQ_5u&Nsdu8E}^{ONt+PCy@(Yjcl-#EyZOzn=mk5T#Qr8VefAOn&RxlmwsjqY_y7b zrDL`;;=T4Q{gfCPWuv{3f*+hyKDPQd{cqQ39Nk}^DJf3O67r;aGWc8i9zcg9mu)~l zxNo$d;~Ves&fd0J?arz^$FHl`*-cJ6z8z5Z1emS)IlsE=@nZw|+6LIVtei8dpe{r}z7(XB%a&|l#me*`Z@@+t)F{sLN4>ZRR+bctf3urPH=V^q#_vr!}K<0-6 z4ZY{D0hrfcy=L}Bpy6eUeA4;l=bys|CFwQ4`PF}V_Lgs|cVj@WP=^mn_q2Ql)jlZT zF;^XhbQT$2f8PES`G6s+nG-4X({w7VQ@EdH9M+bfe(X*iB;b)Rw<%x7v6 z9V%vndIB_ff(AFiJ^l@FDR)LFCzr=j*<0B=x?TY5xlI(vE439mS!TLyrp@Z@V*B~r z0Sb&bmneO4S{YEp5I--mkGu0?qlH zL-A6)8{6oj-HbohfF^*yAJNd7Z9m4=*;Z4FnpfBwjKu86K*QkzRljRD+Y4LrTK>|u z3pC{pd6z@j8gIqk9nf6-l}CfRD%ZBvZv&cW!N1O-eEF?BXGsTk6w^gHjdT9VWezV- zV_JLE{yfHc_ieXq1DXzxocBO8_AuwVtR0k1TU@KWEy23+_6mvH_Z3@JjUqG<+cHE51GR<<~s(M_}WaSANp@iyu6DY48Iy zU;k2|;d>q4edhIm0s`8cpP+z!hSd^0?+^>anC^o%~sP>(vdb0?5oU_GGR{Hh0H3>jrtXxJzB0~-!<_m!K7_x-pn0a6W*I2#0X~b=^bNYc=bdxCWx;93rXIg!w&50?wb;x+ z7-PrYcV()4$5Z<8myv91cKO4^o3eb4B zSW{4qq8v~7`JJTrAGy$sv0g7JARia1dd!VV_ME3Z@GVb`=T6?HW4GjJl&?uV# zJ~~riiOX}7Nu3o&f&vV;h`(eS_!T$4_&kz4`p%MX1>g&^@4n(1SDmNdK6}1zR+wv@ z+8Jc25$leSKLQ#~n!Hc@DMN8r#ukDURr!6`&_NjBM&c>Q6zdd7Q zDPukSlYramb2VL`Yi{{aqrfep&P>3>!j1RoxSg1jN=v+t3=`)j`eLuVdGfBjS&K(& z!t;vX?*f|Trmyjr|Ezz)OTSG1Rxdg_ouJI>IvrxpZ97kW%W%HIMCG&{b*v_zY%R$1 zTf5+gt348r9IZT4XFf+m$Z6m!K^;SPCME`6Q%M;>A-6{$^W#7abOd??Xx`Jyd(PJg zy+-rHzxX*a@PVkFnR)Z<^=lHgBN|^$_&LcF8s6db_1|-i2B7I9TLgVWTxDB+6B`0yS;v^HO8o94OU}|T7{lI=4<>qR?*dI1!3)$0P90q@C!i5*94QDiHbU$Z z$iWWU=Xr%_^Ca_QJWLtKX$;K`o+m(~w8&y0L^}&fRobF4naiOQX zYmemB$Rqib^8gLi`*-7G-WO=}Zbpj~vbc50kjgF%X|X2%#6=C%a@iDHuKZ*FU#s-2!8O&ujE2(8tbi`#z0)tj~fk4%k>;Sto$iLm#nZuch5Se>~CgvmO7BtonZA z!}2MtTvXb)ZZs(11u(?3aga=uk#4^AdJLl&R_9tFNHxp-q6h#;zD?lYTS$gHOvIXVWkFGwRIV{GJhlXS4@;xh)we zr+QAT8}HqDNS&of>1o@?#~085Hn&*E4%U#gi~O@02l9^z)+A#b%Ue_GKkP=m0r26- z!IjrCd+cmeSD7tzjSRww&N>as@(%ulX$-U?*81hq*BM zJrHenJ30QcLpb(dptl~&Y_P-2f9fk}4$#P86Vx2_3>4>hXqW&aWOvVCzye1H?rI%MXNeH1mS_UxVA*n_vI^|J#=c574NbbWQ9B z#Dal_5m7$dtGQ*r_A1cE6^a0HZf4I zz@IQLNQ=ac3<+xQRP}s|4DP^f_)CM8WkAp$?iuH-2UL-x5eJR# ziZAO4Fg|Ol??~FOfBPHWI`b>QhBqwm$%SXW zVc|TBL_)4}p*ZO@VvJ{$X_hM#)awb*c)rTnBb%g*`g2@=dv_)F9{;bZl+iTPwr%fx z*iV3A^yPKA?+r92bw?7#l{}@d9r0m88^c#5pyHM}$IiCH2?VVp_xN2ma#x3JNio}p>`pQTV0vit08Nid*poj= zRvlbbjO|%ubogMWo1c-PJh2@_?Ux)e9XjQ)@#pE-ja}pcS^r4iMZW%D{!;?a6yHZT zww#zYh;@+55ltPdkAQ}Ab-bW2v3vr%qaS)-_P=b9Bo(*P^M}9w9}{ox0)lx8D>e?% zC?{|@UQZ%J8K|7oAPI;7C?OE|M$-P7VEoRD4Ui8-d3&={3kJR>?q&f5_7lI-dCRM3 z-ttQNH^2VdZgZ|Nb}J}yXdqVk56G;-$FSOWthq+OxdxohuEF8bd&hgui{DO}Ilaf$ zFZ9h6!wFJ&p>xj<0W@S|!I`fjFp(Lj=Kfu;)aF97BQ94Hi2PiEHa4>yCVCA)xVrWT%DE)rPIi z8Dha1UK2M`FrL_~S|fvr7h5CGjDY9&d#9?GP8E*7X>Z2$1vJt7W}xv-!;gRl(m7Y3 zM3-%`WUpTT8&|Uo&}d6y4_#z;mID}9eC)K^bzB=eC1)<3 z%JyGH?%wyH?6zCmuJUGYO37P$Jfr=q@7ib1C+*OeoTn*cIc-r`sE7IU z;;)Vq2Uf9dUqD0bSI&-*#E@g&f{i>9TiP-zmnau;(6zeLv83GPSIRBWn5;Cg3LirV z91ynAyJiTt?kk{M%cDT`c#40IbB4nRB+{G2?dkbd!WtsU{WwSg5!zw<*G@4oqIvgQ z-xAD&f!&>BuQFJQ?{@-?20jijDd=?eHOv#B!6?22ajwlQ&@`ekK}3YDdI2=_a6cN+ z)QHp)Ge=up)y4XUFO;+&&T>dRLr;Rppwgby9bT32O4@^+C&Dd7tqLOlY{=HGW*J@yzJ-itt3rtyTE0laca+EPk~0e z*b5`kDYv(gWA}%E#snpKUOz-9vveWf2yDpiqFip8cyl{~J9 zZY$&d_&@(NN@8FASyEG(6MXf(8_`UBAN`?a+|V)cjn^-o^5tRVKItsbFsgAH?LGRL zEG4c!uYdhZaOLlr4(6k00u3)Hop;7@bAWm(=LHZ7lVr)K>}Rmq;mR6k11>k9VP98W zbf8(>V>@g;cVr!%p#;%Pl#fkpw-L=FK+`pvriqd77+D+XljyR|_xg3>mlL~~u(aja zExGs1m3T5d2fr84+!B^Te-qHuem2&O?|?=nTULtvjOb%z&Uk$M{sd@}-{ao`H0Brc zo9)sqG1}t;#i;htPwR&fV&W{FmoL1h6RoYx6Kw717=v!JleCPHrTHfY8YLVneHYLe zV90GiBG2gdeSpSXhAm$Flm7vA_@`1PrgIli4&c}^dWyp=pus>T9`{8*4K$z-0OdZN zZIT(V@f9Zz^a7nea}L|Yqch~&6a&v{_;Dz22c&;&ZF3*AWbiHGGBPQ6QK+ zUFFF_nG$(D#kS^4&mGN{MeVB$=B*p4i!GM1HydOCWX_kbOp@05m% zI^TfCuc|ttxkl~U;LwaNGy`sFYwH=IP8@J5_WEC&Z5+%&Yg0bu`aM17evZ7>O+V?H zH`J5ztXDnkVKL+DiZMx4ZtX(M)$X-nz{~jsv;jjD7*f)0BJh8Yrb%sK4?G;$Kj9(&0o$In1T4M+yRggMAmu_|Rqcv4>b9H-TA~rE<6O z6A+wMzjQ-6ebS=rHoyUz68l!@0omjfTwIlNfkuz3(6P(?h|9z2unlc(oLx`gbxavp zmC3D(ypww$?TSG>vGwrTh+P*7t8e0vdbWb{1^VHfHD?p6MMk1tIQ~ z1>VGfr>29!`N}CDb`uEQ+A#L`)y%Ya$>qK`sh_6dsa1{r08P`uTzdp)Uj7)MVMOD% zX#^TS#gMGfbn5IaK=X#tjO)ih13v}le>~#j?+&QQb+|*yZKKxi{5}aMKOEav-TIU( zRs@@s$#axDM7suc4>Vn$vHcl4+G5(EHCp7Gt=T5W$3SDdJU~+*OfXFK>^`Kv9cYf8 z_{%z5@7%pO2@g8y!q)S(KkZ^2wwIqRw*}o2&vkGx=mDB$9!#Xgz}>cb#CztH2ee)D zv2jVqBirtFc{_igJmV*UhPtv=j0 z5)8V;uRmkJc5OBQZM<*{T7Md#S$jlu_!kS`2{iwWBbrgEz&c=apIB;eHo9$iCCUL7 zlUj+C^4%Q3c8mwmKzJUu!&o*_l6g;|dm$CUx^>ku7}?%b0d7J*qbKCTOqrX52zgeF zcF8wJoM=$-b+Ey395Ioy4$yHnJl4Ii>!`*acR{2rAYh-R(8pen>^#tG5^#U4rSuVLvB2HJ0zD_6j zGRWjazM1P4*q~uoXOqM9w8rib>%aW8?L6sDc`SRTOp{liAOENCl$rY2dK2H={z_5G zXq8Fg+FF@s+RS&#Jr`&i-H@ad4S&C*gYouDU)s4N8o=2%2m~1FtG`a-(6;HVeW0zs z)y2im#;V(o^?!ONr;YX2Kr2HvWu7;WPh&U!CJCDWR^Qd55sjmBz{OF`!w-MKwAoL) zy}6H}dF{_+1kHdZkojd(!tWi?@Gif((ZvzXCxAvhG@vS#J=}VLMSU(kHqN!n(SL1k zxtXq*c)SOiC`C^{>stY3rp~%X)^##~=J;G;F8=y+Y^WXW2;5JdN&6$9IirchUq4w+ zyRKU4>jvtz;$M-{boI@xnE zoH+1U^eJy4>|TCw8_-~fXA3Yp?d}M#!o|t}!Zo_O*lTwQ+bNg-{5IwWXl%#kKv&PH z)6vVR(0icaG;N@fy!4HK7wrL$0UGOg@Do5ou{mWu^_~3gvtQ-jpG)R;4H5pqz?+FQ6eXN`AhIW`QQ# z&?jL#J%9z80OtgO_L1-Mj-P=i$lL) zDw{8_f}KKad*#0SECV#&+2-4>1sd(Ry!?KM37N8jV56?3bMlxfmu%tPEyp%862Xk< z(6zv4yMdT5ki7rWH8GU@mEM5%uM2zy30Li#truwMc$8C+^&Jm|I-(h%p@ID&K$G8w z>*%F?+D94iO>+9%)xw^0JG!e|4{Fk(XuENp9rT&?v>zjLuhDd;8DR79#m~93l4&!Z zqw$l@58g$|%>Yt<_ceE&0W@#98Q_s?k2j$4W&nUj9&1M}H|uUBa2!-Sv?vGD!(>0n z_+AeTzjog?gS>*w6QF_3l(JRoQ)5M-@y^N*I(x>R6fgeTPTp?y`#&Vm=r2UQGt(-Y zEwsx3!OE8h#=pt04x2mFscEY}E6~unLM8#fB{TBJPGR=sO#ICS*!cn){9wn{_M5Wk zpx?9mcLB|?fMY(KvIAS7zlg-#~!oCuS7ZL z3uzM&$L$rq_fy1oHTZzd_5$h^5Ud^7Fw&UD-tz_2YY}MhMPPJzUvh22rl54j zA?p--l{N^ItOluZD2@B9CJlPpR|536bzCSf(8RR>7{_;upGj9)(dKG^)`MP&++njk zSR#Ss126)Ob*Xptl9g3p8aw0{=uU5M6TP5+%A1*MP?R^}ET3p%n*kX7Wb(+K2qDl| zPWc>Frl-0qbKZmhLbT!>a1?0ZJ=2Eta0`CquM?vFEH)J7p#EH#7XI-GI(9QiwuX;D zlf4BSrcfEtynH3lr~?2A(7f^bTq7Eiow75ck+${hpa{q}AC6^L2nC@Wf00A;W=DVP z=Sv3Vl-|f&9qX|QjPe|yal1a|SYWGd%Q<2QY{wfVCj za@HhTgzUonN&U1yGH;6=IlgWr{-MJ4#rN5=M$8x_-L>cQ`}>NfTT|d>Xu>I|Z zh%Hzt{P}`UIrAGr5N?H-+f5j=^_a<4=KL-I1sZG0m>)Wipq;tKDckF7JkM%aKcd!S zNrzzA;b+qt5>a95+t?e@PbH3_jO_2_IZ7wT3IT=VfYAR0+;;(u@1-gMoA8m#MMJJm zGQV`vK_=Y8_e6XFPJNT<_XZl2DtP8vl}&2`LVjb!1Di1qG@vJGL2WLGQlEhH`dJr=1=#LvGYPXwU$2rF258u2 z|M;n%j`CsCN%(@zj%rBOFF*5cC>sHFNN{g_J2Y?X?zKb48nPUqnUUDs+%Z;A@3ZXh zl|xfxNB&F$l#u$%>ujxKBbjZc#iw?Vo@?(q6Z(1M8M{_i{~9Yi?oumN7`R4$d9FL@>szy!zMnmwcV{&*)LxAZ9m*Jq4Pz8}WVtjpYjrHnHN5JX{aZoV;<` zQ$T~AwKrwHKhT)>?9@zWwClljb_@*oC4l;=>vsT+vTkCYhkx}G$I#`QfTnz7J3KZz zKtmmBXNG{rcu)jaI|S@}3^W3tKJYX#S}C>Sd&o<6DHB>op2yfVlUlGrXR$PHGBGfunnXh9IYg{~eLoHfkXKfDcq|a#V<8 z98$4@Y?9Imyn4C@NNVdaR+B~nV$a0itP0Aa4RMQ1<1-1|hNu3g0a8%bE;WQt0FCFF zN_2#gU9P(7;7MhIKk~@BHNK;tKvM!Z0YK>qb_!edxG_2SQ#nU8`tQ(RJ$>n;D@neG zRn?uwAkawj1sBUFs1DFjA3r*!BG7aV%^t6JCDjPlM+B%=EAH?M+D&h-=y-r;{7kF} z#2Q^w1+XTX@s-K;JlCK-({ei$Aj*ttm_p;V)V4bty%Qi8OvkszbN+*d&brG6K(7HAxj)^nn4kb?jv z93ABp1Q*d7)+11jxq9>Xh`@-vtCW^!7MsU`Ro}l0O-t>eTh_t-*JUy--bxp;<(tq0gdl?(`WY`i)mEqK^5x1aapiWa9&K@l z?La-MV;S|GDICiUsfkGob)CXkLC@=9S?m8}0u3@xhrqa`O=%3bc23ntsaNmW_x$Rb zjn2MCvos4jPVzKn&2Q*P8$MlMeK2iQ+i4FhWgKCnW6CHQJFedYXr2Q!%J=<%M)}MU z06su7_IK7m?$8M^lj{X6SMQwPNNolrCn;R$mmR5E^zq=gtrvn<>#kTeQ zkU%o-dt3XN0CW?vYHT_}VFqYQmIyWoyNH$O5I+UdCcFt?K-8qAElz!9HYzMXNkF{} z&GU?s_M8VXwW;-}V-+LG;F$>Wz|cPO#fJj*G6WhyW-em;P@yk@3~0JrW&?JHB(X5@ zegrgLKk?NmK1_Q(Yq5z~%PJ4cZdSIlr+x;Z_NH^eX!aGix<3eR_%NX1IV!K!2yWVF zrqz^>E)GeK9cL9vCcG~Zj z+xB(%k1X2pZt6^1O0^OE^03|~Ml=+|?wmVx)pK=2V1DXvkKt>5hW}^!6g}9#%Br6o zQEgIuP{;GqyZ*{&68TLpbwoyTNf+eHZ#$~c9;}mE^a=GPmn|m_2WV`!!~yxE2R7Lj z-^z;I0b@4TE+bDm3vlUeoAJy|K1a~+1)9tLoP)*)uzF{ou~GPQ^oK?J$x0QM4$M#g zHZ7QbwlVc|L?eB*M1Sm{UAh*X-#l+kkFi?UC3_De<7(QKwrE(vdCu)xDdc$m@}K>C z*zM4$xw$d)7+Xc%-{5nb6WGcx2PuI2D@eEHqR5t=-oJEkl6M~2tLDP#^SRjFUj)MQnk_DK6jK zaCg7|RL}Yf*Z=*K)N>5K0IUIxHv^!)G7B_s@O`7V>hmHaEV;`X-zmC3>v}uzBGFoB++|e<9HPxcGbL3uJ%GS7QO0w*b!j zFYg}M?0SfaE-{MX$qOg0JfUm~IX}neCNhq*UVwQ=LtPHgOmf`#f`(*TiWBw#g#$E= z;Lb?qN_1*##jP1%V|Lc3KqHt@^p6G_^@F~_!M0J&wpZJ6cdpifS~+M#*&$$>dMj;W z+liP2x@}0^%1yIX>d9jt0L>=aXypoNe_x)qe$PNp=FG9uLQR_%Fw8z%0<%V5++g)qm2J@VpGuB(F}pdd{_i zClGA-)5{rP^CWUNq9KUvshc){jwgW&`b{ zE!xbv8PN>C8mNiNGSG;w38RLKMeS{^Uteqk7x3O8PuEa5cHl*(hI75RYzx@fY2u~; zfyRe7U-9zT2f)V!`A)rfbMw32-ptE1eWB*pzEl&y7NpVLyY-L^JJ<@f2Y&QGfBNCh zEb0JV?ffKOJ>H`26;MhpCP!kRR_6Ye(`Lky_HV`k9euyqb#34Pj+wzp}HRY}>#Buw^vw4K`$k9z0Z1vMzQ(Ap($IvyV zwExIB`8A*sY?23=;=j5{H~-y$X6y=&wXYo&f3DOTfMw##qs3MMy!k9?RZiKMmx6Dj zp8J~tJne!XyAzL}-C-Kg5Ir)*CQgUDwaa$ovKM9bqV?53|BtA%BN`J+hR_%q9D^8a zIbfX8oHb<%P{?{`QauLCU(w@x$(Ymb&@Q0(R~@#VE9g;F$p7=s_2};jHEmAgd93Vl@zzjh3dWbsuMN|Wqq>>$NyxNm}I}G_a zJ`i-PFWS0cpY@YKQ;&Cn#)O2wnhIN>G0p{+5{^K_jSoI#t4t+@QDA{aJ&m#LJbA0L zam^Q^Zbo=C4+2u^c$UGpMJ)f zcATwp%s#4DPrDmIdIA}>UHU5X$UO4?g1L~?gofDHpZ&)KJ@PSU-T}ZvHet% z($h}o0Cm4N&>UHjSGjG&fs2V;9pDkr7!T^~`O)dbM6(#3i~Ibkt*WE#Y5Y5FgkvUF z*2!<4^Y_?gY^W8_vN9>xhd@)VS)fTSchdu`5om*~?m zJ>h%#PukjK{P~SQlla7!#qdnAbpeehi;%YJ?X1xaXpqD6)#c|CpkZG-;HU2fn$5~D z|J(lsjtevaiiTjtF$Ll}LMQZkgq$@%b3iBualRe_b*HgN2U&DH(=;z@jLv1#^Wz1Z zuXwuJ-lZ3r-|(%DFMsuSo5bcCK-j1pEYU;Jp(~#;(lDsV{+Ynb2qt`!6+9+EVVInQ zg9=!Z1lJ1A{AyDv1_{m_$6$hV(fJ1It}2yH)K59ALcIb@;DWAvq$8jRG}vrxXX4U< z9N&OM2>9LeHA(PKz`uCj^OE6*%i1G3p>Hs?+yRXv87^GE;JJ?jG=VX^wdXtPj9n28 zGn&%N&CqO0OQ2yiBhbA6iYcH*p8}2cK|XcTHZ_Kr6F(bdE6!~6!-?L}^OgXxv8KS5 z0gVk9`}Ca;l1+dUed|L_I;{R{;kO;ES;nRj)E^5pCjofe23lSHh@L(Fr9O`0oH{Gv zJ_QhXj2LRSoI8NBQo%;LthFQR zl^wCGhZI72%uncai#6kR+qBy{Xl%(d`2}10@3trpd&(8CO#Wy@<8@Y#A@7mRa;IG< zLcSeYrd=R4^hS2&n+|E)1N2r*i5QQL`G0dp=O&I5)nXnyOX4F3BFky=sJeQB)o0b* zvad{?50JIXv}?~xaeRiHmghiGt1pyiedYGN$$^3tiZQhL`S36PH#QP7&~*mHa=-za zJ0~3jaQ=W$U{gXIL!E0WBM=FL>9Lng)qKW#pB}{>$>Z0&c#t{l-~E#B z(C~2EGheF7l*~QQ7$~=kQ6B@1#+caE0;_nAJ^^5|@*Dwd&!`>=Lp_Ikfz6aVficNy z4WCUkyg^6<)Hd12t%he=o@Yc8pIo8sw2M<M(I=tCYR_*0n0J5vi7S(yr(kXZtMPs((Ac1FJe5G5 zAObCq-*5H*B!ID_%vcMa8_=BV756|RMafm3zmq>T5(&pwDlvuDD`?oh=laby;VEc) zQAehQ-#azjl%oxKeJa_tzZYeXrIJ0Mk+H^fyZYR1)kT%hRE%~nbSh)K-}F}gx!djl zjWIeSxcNN5x$6n}^l6kc=<-K~Y-$1dg~&`9&>YiWpzKY31R`wJ9a6Fx)bNtS4j+Hak4|SNjRwFx! zT3*U-DXVE&255{s{mMe1j1}1)*}e^Eyk%XwiKQI+L*124pDoa+f6HO44FB@~uo^;` zXdrX}%{X8#7Tyd{kHCgQ*@m4tMu1WQwmK+9B!`%nCh`V`w>wOj9;^< z_B64DP6Q@N#-6Nq_FPkE=+iWT#9P?r=h?rwl-$rQA?~+#2{#%`C;5mgeZ^|e-q=1s zQ|AkQR+;z9Vdj`wADSjYZ+Graw9f$=;>*TY~O*=OoF59s&IPH1u=y?frOmH$O0K=EH3Err)y)G@tQK zs0R|xHKO@DKjAFUc(L?L%=l@bF(5RG+J1kaVMvQX251c69nJJ|$GKK9?_RSpZi9(F zytK)J+}sJ{-QPC(N&5$J1pk9p1p`>jA@^3!`bt%cvIr(1NUfpULsVU9uk zTJ&3UyfmPuKjdkL!9oJ6*Jzlk^lPX3pf?R`0|NzHKJpU1fTlWBBbXojFqw@-cIf}e zbp=1Q?Z>;`cTsy^b$^nQ_DJvv{_4peHS|-R0VVdtQPq8Uw%*y3BE4X*-{l@?r+votyZA5cGMth(|?&ePldq{(^ zqO0w(juPc8;MDaW2Q*7xf5v0%`bnTEP>eNs=Ry8X8>rKo;N#8;B;WY|1~kM=`DF=w zE6}XoCqB~Iddq({6UPTw^?f56H`-A7rY(L5G$Y4k#zu^gRp`o!{&5y-@GJ0B``E zFMh?&Na)zD1*HZ*~T z-zHv@?0#X>r_|@I!W=7zVi)Z({3M>{*&EULyn%^)!AAZp26jMZPfUJT=rrW#CM)Oa zP0HTBm~GZkI!iezeXZ(@M+;QWd9A4jTPtgM>rNT|A`A9jkU7tPB%_6z+TpG0O zVE+R&%_n0!-xS>&2ui5daU@D7fuvesL0h14>gYN7sP-jt zf=qQZv*xnWbwp!dUNPwnf3DvRfAc+fJ&5;7+I@vgNqU6Y-*Ol7fU z3EPAPja?d95bM*xjC*Oo=>i&MlFf|p1iSS*N1?yTZIZfig#QoFkmM)fKwtl#JN0bj z%4|8e@QZ(xm5zN5!*%pCM%3r*!*l4a{ubSKF!ekx(2%Sh9Txw}>LUH&G2pikZ1(1d z12n|xX>Zif%<{IDJ2PUqjcA6VB48`!P*er+=Y9M1(Ahs*^{VYz$pyKYa_`A|+H50R z!4keRqFFhj&mXrg#ezCdCuydBrK#;1&5&egM6>NTKjRa(+ky3B_}Ec@#9+=H`uaAz zy5+7r^GSJSfV^9o(WmRf>gE5`LS|yj*@L0aaod-4;bUh;+ch&}J4g<;+TB8r`kyVn zoJ#9o3#hjv85y~)eYtCe!|v!Mf1{U`0F-?4IIF?&dDez9DJ8b*zjx*~hgnY3_ zqgvWm?bCKPR4dXSWcmPT6au0sEJG9hOeb)>MmN2J1m)a-kWL(+>5i2~A_9%H6bL~` z?A~?eyP=-_;OE?(^NVLc{3$mDd`1wFykGMP=imN4*Jys@E7TWgXp|>F``(I%F(5Qj z0WgM&N&D)qVNo;#(75W!nfNF9J9j?M^2{_xpKumvyzQFN%|}3^aqH0v6n+#6ka2Bf zv%$Ji{-*&NorDf2XwYLWhEAd=z&SR(dexmkx{@M2WxtR(bL}Py%|V0kVNGwo0PJ4~ zG`>0oeVdYk*ORF;X%Z|xOgTVTi*s4E$A6LF3DlTLI?a>AS<71HZsulH~TKe!6$)+^OX|-p(m{> z%pYqTYo}u|KqGjMkB#rjs24vrMK53ZL(@d5tp#?sCl2kE%cdlvt%x7>TnPd`gwYPg zcDfITk&)Um{RW^hRa|kf?O^I@8|1LMG!y^k@;zU9 z>bU)$K;zWe!q>>1@W}G=zx%(TLb3@gZ0riMAmjEV5gLcR@^|bPZd)b;DFnv{XlO(Q zD904Ao}EELa`(1cfac|o|MJ-nfBu)xKKq>HPCf5B`z<#EybWl$8DK9mH?J*;tmluB zt!;*4pQR+x5C3R*)~n&$;}ArYfvwkMOuPb24=n;RzWQCDu`#p2Y5uBLBLy3xAj7nW zvNf_XX%G;~fkh1NnW7NXq{A`KS;i4TNlV*U2Mz?mOnndxCy}10Do{)yHfS5%HZ;ZG9`vRzYW*#Zd~+|QR%si1?$ihtJXchr#*@F z8W`i8DuDXEoLUwETXm(^tQ*^qEqy%r`r;~bkisvx9_|lTk*JUoeu0ZqQTE~gt8C1II57p`@1wk zD$Yjk>#Ri|q?_=9+$FbiHkF&>bh>&=q+WPrvTHFn6p z@z#j8fs7e7J4kaq20z{9C0~AO2R02y&9TGFe{+Dw21Za7TpEADhW#1N4bV8(X#%zJ zSmq${+%=<+CODI+&QmZY#WBwTn%)iNgKdBL?8m?OtFF`7yYn-?zxm~V259yb>c0oj zNZlnPwzCefN3r1YKA^Fui3|s5e2#=Ey;&XM+yG({7Js$Hz8a^|Ot+{CG&V>Z;wA+H zsz!YW2w3U&1)73KcNQqykWWK1iJ5HBYkH=fKLM4m?1B68OMnLZB`?PVJwU|=3tw=p z>;O$5D^2{PzVDnq(_aNH)c~0R8f;*KadE_?T8_=w;Y1Jc>L5(vCKu3$* z-tILy-q`#A;24<3O+W+3MpRsco(Dr2B?;;^2G!M{$Vftdl5nqtw01yt|4rjG?)a&F zu65($djd_3{S!b_+AXG~XTrgTc2c|Wy4&XKVZ_a2ull8=r5iv$|;1@`lS?i2rX z#y$d?oUDadiU)qN72v(T*isH+T1X!dQ|7XI?4JS}+q(%rx>^xS8CTrG@y$HTuT&^-M2|IbjdXQR2kK;9f!N69)^PKiogWJ;5 z=-9%Zwmm$P!~vS7&%O<4bl(R+vo_3@3TzOrtn~;ClwA+dOmEp99Xc?oY19Ou9iWMZ zobm^<9-#37K_9X-VB}#U>(HI-@;XieZOCxa}H zaSQc3Uar}zhz$7ri~QJX+za)SaNA02&KCsAZ5{2)GImt3wQUX04#+ea<#2g2qCwvS zGSiXBI+e3{a>SGPGPWEo`j!Q5*LT#|ZTloht@qqfiZ@ySqUx5tdh-RHl>kLKS=}hR zZOH^^?6oML^1B{Acb`hx?u?u)nSNs{Nf!T(+>IaXl|48iRV`wC%$Heb#Qxq9yFhq9 zqDeS;SsvOe%b7Zh$Hq`RjX8}}dA9!S1ob20={aB#myi84Kx53`KSy&9G|M11>3!_O z*8MBV!pjb$*C8j7FVJLvJIuy7GMoP>S3b-BoYP1i_aS1JI!-s)=%wz6hV~^8VpTI! z6@5vV`X1e_pIta`$RT}x;DDnE9f3^keE(jNAJEAF!sY8Y5-wZVCgbQeJ zkPa(h-U*^Gt{(pgXpl?UG7d>0p!q46YJTzTF9aIiclM5i^3|8Wy#tzgU{iY6)Y(R= z=^W4BbsgmVA`zL1qo*I#a^-*pqU=e0F5IluM2tC zAxYRCKLu^fZ)i-$;R8OhuCfl$@K7kXyw~eThRQ3EKCzs7AN`NrBEUJ%3y#{CpM6ad z|ME*hhY_HisJF!Tb?2G!!*X;BXav}ie-v6di(jU3uzPSiLK!SbswLUGz&0XXZJ2ve9>3~K#SW|Tkke|($%ExKsr3Cu}Gy;FJ z(Aj7fsTNW}OId-k(p6vEtvc@hSfXN_u<&dw5ffwgL!i-;2$MhVfF>U*r!5pZp4Vnu zF1ECR`78o?Y1`ws0?o^RGb5UMm0qYaIV~d_-V1}jBso2SK9J_n?l>s{rhy7HkBw+d zKCZ~w)PRa(n64G@ObxH;_{q?1O+!FPM~7P+i^H zu-GEs1S)d5&#D0|mQgZ1ybjQq5V|YGBn{XogN={vOq;oN+Cv~BiQ8*C2GtfjqM4~P zfo6JqfsJ+J&@_E!;%5remufyRy0gcat+oLpG5VjN(+2`8K*I>;(L~9p=6%y< zJmntP>IeSo2fSb!Ff@D-=6he}`8jWc;1&9QdGe(rD^9+nm;Z(rPU)_f{y8f@jbr`2{+j7x z{i{V-PNTM=YqMgR=}6z)%-aBbD}b+7@~sz6`Si;E*Xa1wS3HRPTSn{NK*6p1-t5ww z0f-~oi@Ienc^p4#K$mzTV_S51vhS`Ix1pCwrVcud`qrb4)23bHJM}rd_BkDtYg+Hg zhz8xYNBZO2SZtDK=Zt9Pu>tK!0nM%s%5QnMx=ow8SnO_@q|O2Ll0o|I*8O7B_%}vf z9}xf%2-#|+Taqvzb2EkW>Xb+SwHnO9ns z$EiJX$ur{m8quJ$_DN=C)dVY%cGo5f?SkBCv&Uz|1^)vymfdozDD_v*^4r=WyXklL z<;7N;biALDsa@-za+cd^uM;q~d4b4W?#lUAi>=(n4YrFKlCO`hyUxmi=B=^-^(;tf z-|{8GFPT1j zB*AniQ$S--$V*vO6sNoW2xw9z)yL4s05&Yv4}r$%Gl9k%0ql{s6?l-1V1^5;d^Yi@ zGd;fRjx&?1Qw!cCutA%Q43+;FppoxrVk0(C)We{rp%Ksq?gX#%?ds^f(O#N1v%Cq%QOzrQ+7U zB_k>hPY_UACIW`~uo}>EOaQm)%8_EyTH2`NmbZb9%`7!_+;ZHFvAjSt&(53?s|r#Y zU(9>ju$A$nEgQl3e3%cy?#p5u(J*z!wAmv%KK|}^TzmW#xA6ac(~bd+qnhjPGaL2D zUA!xU4Sbl&S>|l@x!bevuCc0K9#>ZuNR58#s@`_6Op5-toD_}))Oq8(>v~R|O>9p> zMi%TT#Y_ngedf-e6lm~G%cY;PADK@Fj(vS#nNtom)JXl6M<0768QEUiV$Wt`Orn>4 zjT5Y=y|g#6{LMf!;`LWMHbu1U@;ia%SQ{StIbV?dMNyM`>?H_~UFE9+*kOI;%>nx1(?E0Gb>{F= zgG-#X2K(;WL(Z9NGt&TZqlmZX56~ExkJr@M^cs|MF#7~3L2oabmkv6b@!RSKhso#l zYp;QPMPf5S+Q?1hcZ#B2E<>IILJN>sCMhEh%Tu74z^t)phyVwE3p8H1osrBJCA-`0 z&2Z7U^2X=`umTM-?dmPr>g&1FJ3OP1;e)=Sc(>Y8CJ>O8Jy>j$?4Dm|u|17LEnCky z9qGD2)9-Vx2%@gC9-w)%*G`@Q4SWPr6aP!z5Wv>whq?<4@NZOO5`p!^)ilftXz+_b z)BDYQ^RPYNd}Kf(u8XR;DR!KKqd_`V>T^?Gmt#cZZOwiX;2qOR@Axc4HTVFUx4D02 zkYd*X8b(h74RKN02tX*Uz6G;M(<#IQZE=Pk!odGD?U|BMFq0MZO;l{3E;ehEpf z*s_tijjo1e*8`r#k$~-UVUA$@G=Q&G0!+C+FNho z?2RC9wY>@cN!(k(T9TzL>DSH|F&^cgaw(2&PrD+UtGL)wmSf$%jn#>S2hMh?oIXWvFlfrMY_JV!LgbP}K|-}n;`0*%wI#RVJr zw(8?!2S{a4j_q~|S=PdCX4?+Z4S)IQS61|c8iW*Uj(2S+J82^o_oTl^c02ncy?l*> z1)9^g&|A4GWkN}C{@xzggi+UHhCxAyKrdptK;twL25BZA=BEeP7QuZW%Dc{HbhF|Z zAk;|CtFbcVH1RXV(7YZ+yZyHWPA|G7HoV3-Bd_9@{8L;br~t~K@J+D|xO#HKdlH0= z!rt8((eQi$VDr9&J4x37GT|2s8<^KfjszLNl+Z~KY?Wnvi44ZHf$or5dH!IaNh^sB zJsf9`VSomGPJ=VC#2lW;`iSkknETvmE-uo~U1!K>m#xMj(4hMZl0QHru=;9mpKPAz zTC|~I#XsyjdQ;yK4N0gA#l1)q!0{SGzNUtiT$Iy|zTww9Z+qoNfM>jk;9*BJjzk7% zm?C3Jsk&cqM;bu$xk&{Ze*`oHb{%o~XkYn2M{qR3Ik{#;UJK4EPB?HI(O5@&*&}v4 z<=gTz74kRnyRnyk0gtwj76iS{r|o>x1#fD83CMV3%L7wqkAM&N>lagvxM)l71ysIA z^G2Zg)dG#L?|J8l<^T;gmVscJ4E)xFF3AbwmG`6lCqQFLR7mIu2>wFf0U2YT-$!rG zTC&GqO~S--z~4;58PRMqlG3*TjfqCT=!4pgNz5OKqAXR18_V+N&@5G$pB2CK96u+s z?dcw9rlE0+8e3mK-hjqLCrzyZ9hM7dlua8`PmpPiu{J;X27jA`bwWTxai0ZqaZ_8; zp5Cay$TgrLuLv~Qq0TN_%Y84Pk)8{3%{3%q(A;tX4NT?RYS|spu>T>@#ov%%TW1R4R3gxi||X3Fd&UCSIK0*%v-zCwu`S_BzCcIGvjN2Xxk?{z)_&AI>gObI^$8eZS?%r9)d zWmH&F*N*V1tsrsnO}k0>I{_2)?4Kj)Km}=ms>{w7iBsZ6^~o8zDP$3A)bBPPTi>0Wu19 z)LcXLWWgWnrrj{IlFLP{`Rd5=+s-tk-UrySV5JR{I#H_E5>#PQfc zU5!ak7|(85-JbTyeup`u9{tThle?1#nY65SoHy0W-xd9hf8{xHCkwk0z4+PUmCKyR zO55y#&3cB&Xmxp8<>6n=OEt6qbu$1ZU?R{odZ__!;;EpGk8?Fdr;nz&4`s@o0M$_l zrGDZ=9P6Dpk}>fq99x$ZG{6O#6X@_!Q0uzMP|DWMkSj3Jq(W{t;64d7+vw_VYLvds9)_me;~!Smff1FaSncF{vI;P=r>r+UoI zoD*oSxphHCFw}-7eS69^Ty-Z=I-+a4&nRSnlQj!=jkEL!H0STT{S^QRXq+-L8F>*~ z-&;D}m5JVs^48%nm2pg<;dbf=rj`U6pP{is)0Zc?8NitEn?w%;=mQPgk&`2uci!Q) zw`bc?DQ*=kJ!n{00{VVHgM(o-4dR7KLONqYh^ocJvz@7%?bIC|k@qRkcy}2$vh zH2$013bD(b8%AwxHz0E#@6vanwEDWX>~`%@hhp2GWlMsT%fHzLdCYOhr8R6ClKdEG zD02bLwh8&khuAZo{?tHIoYC%XGYQz=9HdoL6T1|*ClCD5K%?@uQnv67Xv`NqIBeYO zfBBES@}*@n7y{`7WwOWosR zoNXO#3ADLjG)9`>qi8ZBoTCbQ0&`)T!0>OktBD29|(h?Os1vz^m0S#cY(|Fd?4rRaK~mC5xis<3K|VU*__keB6m{~XR&1}1Ag<^7$Fv=fcP z22#(mdX0SS!DfA2cuF1PMF z`)Ri~tFu7<_ARkybybqDBOR^-`MsO22MK7Du)MuKZBj$KbQ!yKGXUp}w(Ml~h(G() z+lH_})5tIzT49!enpoDqj<}AFrz3U6R&m0J27MgKyyR6%4}AV2pmFNVyBCQq?-1-F zGb6!wzxmDF46s1+{A)%v0*%v~0S$3vQqu;?ZdiS|T>jSKXSI+qlwsOVyp3Hw8_*R0 z_{Y?$-Yp9>`1!$hoZbQrHaAYQfia|2S(VGG)?Z+|{BB3ZIO3lw)XDURiyKzXw3|OX zwC9ywZMN8yDV~f~{ibgGUj3Vviix#ccDv`358F>nQ=bw;dpV4N3V=G=d>y!} z$$!%3H|3PwH^#S|*i&CS6y=dKqVes`wk74B*t|M|Ro>in?8!0DD`i?>>*?^Ee4+i1 zfNILWrF;3Y#-qMa2z=S{`@-S)T30&!z4TkU954H77dv|9G%Wd87f_?lp*JwD^>!++hl~@1bf0auKw&}Ba>zhPjG-yAG>j}^(glrQ^_EWaI zJNTUfmOu&ha4p%{SX~Ry0h&&h%nfv|Gc=-+9tzHFAsAsCb%GRXW8i*Be}e&C3^)V9 z`9t5zd=E6;`z`MaXa@AWvr7YMgE20InN_vMuA>cshKBp8=tBkL|SE zhd?upNGnZH9#V-9$rkv}oGHdD=s2pA&-t@WcjQr~Z0A<_G&+R@T){=KX+$|&?NS2b zZy}VER=4yVzdM3^?oA9Nq-#_b&bx`D}VYL%(Iqw0?lJLgMEQ!)lF@V-s+<70UCJMU_HM} zF@+5SnmPjuHpd3p7kTmT+}6y4uS^NP_@Orf2sBI!e(oooxqjnAsf=tMkoP^)s|RR& zy^dPy`RTdh{{YRN zpoCQ9{m?9i0Lxn?0-Bv7*1shgBA_gNwc%9S3OER(ot@witfk zR4P=sV?n+^WBD_pIXy+BnO?g6D(mSmmi3)}^rt}| z@RMY`oh|pG-J9mFCR>jAj6t9t3sdWI$_{=K$jj ztdzUzcyXx@ZocGIJG}zsHMesA_BRY*xbDR3mEQF&AHb#;$NIb&e6%Yuz8U~d*zWk& zt9tW{*_y2`|Y2R*AqvIJ>`i;GTIs6opxbSSN|;isWJ5BWIgrF z?#A`jH7}gpVCQan{}H0^X1kW|#C8n&?Lm)?ou0gc#&%w3?EsB!YixWz0yfu9lz-$q zQfh~I$&}>)&72<)I6yN=KF!vOR7fY=ExLLwNL!`1zKtY*;K8YuJ=WASRHW%`_qJop zsr(eRpgCBb-I99+9?N-*vdKt!|6NOr%z1Y}qipDHt=g^?q51sfKmVVrITu5{t<@x@ zAgmV1;2yI#JKLu~qcJ4GieLw5N_0_%6Uo=-C45Nm1+VMq;YbtIF&uQg82QL+I-F9l zr}rX2lYj~%_8rh12Xc~gIxj}<>b>YbY+@P!_->%_bHP!O*5P-4BSVSYUbZ8?%y@We zSRJlD8XZ8>`7BPo%oF?eQtqZC;Pl-<1AT#Cz{uGUJbJp_VC7)H2WYg@07Ldqqmk_- zTnt3{v5^haeeD;(s&{~L=tzqdzvg4M1GdJ8`a?%uYkcr=KiS;+UtT5+0Nv-6dPvsk zCEqA4&~RFs*yindMT@uD%2NXRavM|~gKbpB4RkNyfs)c(ad7OEUyw`RegHI;r%nsy zi|Jzg1~lH5UfgS!7Ig9YmJe(CVp2ykJ|`5=_^>8ZYCmC$kmti*!26L0Hod+1HP>j~ z?1<)>w>S$lK8qxvEzqd1T6`L4v=mE;E32`C2JNe#C)rPL+l%`g%s0*+Xsdgm@vJco zPvdKWW*$QRK0qUR{qA)>VxGhsOGPl|*Z$uOG?hk9Xe0$27ZpL~{Q4o#Kr{bJ+f|(} z;9Ont^QVC3$P;~eB;Q<@@Z126c39f_yLEjcFPG#SpsC}=O)TAYX1h1W+6n|#P>-oN zn~|TtoO7iFCn%LF1Vgqfe;S7u|53FH+T8Z)cH6~Mpc%TE)e5s)Gm^?vpy7N#bL4^l z9}F~TK^&B8w~f|fEMddy8A_=RhQ3zUf?SX}{$|@T&+)r5mQ~)N-*5H@K-ZS+N0Kt#nPczT5rH;B zcS}jngnq6M)XP_*NN5aJfvl;&;dNv`K%*osCZaR)jez!)kN#hvIk!buek8bb>%DH+ zZ>~}3uX~`8i}8dGJ(J{(4uXv%o1e~|Xg~fL_df7;a^B%*BJiQqw+l2ru=(D1`P~DJ z(~&gxiEC_2n;H3)jz#%1bC#O@bNp;gwtG6i6t|sRyKPL`4sHecY5Shl&QqhAGomSm zkgeF)7pzs6kv?FX-)|!tqs?N*_?6hFD_uL~%yspW=@Pv^{mQXdK-^`cgdBh zVDpLj%=QFd$;fN~XR1lufASng9{(661m)zE zI?ETjsf(JWc2MpcndTNJASuEf+`t7Z8SLR1vDtGLrhXR zUk3pw1qH_0X)~wsnl_6n+8kXBzJ9X}WX1+FqTzRrID82@hL1BPr{R@QS|0+9$(xnB zp9UIEH6oL)_GCRWsJKf8pP%zr`F6=q0-Jn}j8rh73rK7rs9}%$5ssuAImt`C(%nP@ z4QaVe4!29Uvd~_-MV5S6EDec)waA8?fK5Gv8+&jMFJ(lJuI zq``XmX6$x=9VT0j4N0R5;+99x`3wd+=L-SWw#PaBVS>qJ);E6G=J!7x&?sBUviO(2 zqcFDopPK*_#rWJU$Enb6aiV|qGi!07d@kDb)awvFw_O$Ip9Y$f_fBp({lJ^v+Vv^W zOl;2kzeY;)&Bj+^9=|Bml(+{PW3V{G?&Z+rOa1j4b%XHnHz5){XXsK>91!GTn6PeP~px{Xq+vIaXjhDJscUilR zJRaP0V}ObrIjVwo~gp)^X#BK)Ln^{ zXXvdk(-!lE4S$Z}sliMRH0(boN^&b}ew3aoeyc}2(~vddCqM&FZ5ExiovhYg@*CL{ zfU+g6(YfhOWo{V(>(SbwS&$i^vB7gaavT1wyfI~Gf*5ji?#KL?I(zVz=fC(%fabpj zXntJ2_gSIWzx^F69VouJ6wrLhb2N8AGx^Y1rhO^@hSi9Ne5o>WUIsn(%U0^L=k<$r zEPgpw{5y4~yvTjZNqk2%`BGrDtu>-qkTK5ny8?U+d^$afp5@QcgWb-)Xj8Td<@+-L%}W~O z8;tZC9l!GSR(^lx1A8doHJZ1)c<}Wv{iHKr+T?ZdJsenKADJd49(xX-kAVih1c5!* zNl+7bCfLV}BFM0MLqe~k+1s0`qiL1DwFaw!hj&v_I}J7sP)D(>gA0N`3DBGXg0`}p zr9ei$`+(})l&Kdc(3mWorZZ^@41vOJq%orklcjdqMk&pUmHMNbAafG$eOyF$f;9FU z{19tb9~pk`o;hmusD^B8B=V~~@-=E;YeI18JaP&C%2$JSMB?>;k+&WzT)qitMwv-m z@)_Tl81ymQcqC;k2WUu;#v0F)G*T`$8V(&hDB1B#_S*e( z{A|@FTe2x(V#^k7XA(H;*lx<|UlXlm`7M|RG=j}P7SJFPdUkzNee<=x8@qGT0;}6@ z+U1Xh4gg#+Z323?AG7ybBdp-%f2NI3-umg zpRM~t&Ej*t>dy-_JEBPtldFwwhfg`^enexE34{z#orF5nnI6FIbG*Zd@7s}m-r$R$ z0W>r~?>Z7-zT|G4FTaKljo^zP`TBT30ouN~_x0cXr)O_|^`CE}nt+BR!1R>{`Tw|k z6J<@3GfnGkxs**LstSOBKP)JeV5#iwrgnc*|(;JS`%FQ#B>02}$m z$H9p8?pC>FtbNfk%#v8g<6c2?1R&RJ(kz`Ako6ES=ArJQbF6F?vsyz1@D+fzlOBd^ znc9JLFVHIZY(6;3mkzvnC|ZtV%d@RQ4gCNbE-Wn(E8tI=m6=wf`VGj+!9Dqx*ELj@ zE(IC`B{W0ll>0S6W7!%Y+x%5_Q>L<0*0W^B&}+JS^U^IX0F8WakP&bjVp`>m1533cCThPRMd+E zs8F*;kM;4pXN;%G0P5Fd>T=6}(-~i7A71&{Hi6Hd(!+lOY0VUE;6^>!Ft9rERk!&~ zv$l$p9(H-lu2(|>f=g$7P$r&a7yQmZy{5;n`=pbemQY&qnR>Whb(T+s)dOwXr=tSC z0KM#TAA9yprhqdVt9;eZ@2*iObYD;5)J;9g4jXLf%pT3UH@-6U3mv8VtX z6Qh&!y zw#8(@iQgE4%AYY!j|zp|C1{vtE6B8ZbL)QLkO)X)%Q56D#ZQ2}=lvevi*P?Z16dVY zt-__=uLGK1*8C*UkYB~6v%o*L&z5GTbp(q^{#M!kE%0$P2(w71HE z|K*SkA0B~72X!|wGS=V)EoXrp0Z34ge}M+ML>_;jS^g)hfhLnYXtYeVrnDxIaG{E< zhjQ9Y;dKM#?57^-z6R~c=-UB}#Zs;|0gcLXhFCYRR9|3G-|+SX(Ch}z&@T^^S0LZL z8m4Ufo{)=&e$JFve1k7wj17zQ}%ed!2(4cE;$b9h%^1!!80LBRPG&}gHwubnb6qGw*n zBJD}5KC>Ni(VaiVh8fScoeo<1FVH}vIz9o7=jJ2aS{}Wcqhk}F(t&*leCb5JPWp;J zfCdWZ0_m)8_5m90nYhI@foA-lAX}{y&!Wk4;~O~|SbG3|0vh8>Kw!_q;!E$(Q+?f# zJU4j#O+Yh!l9hq-z7A+cL=(S$7oc&5>*!B;!MmWNT_p|p*tExhGRLlpSpv=2*vVdZ zEXCHY{^Fl1PlRis6j)$4xKBk}5w`HAgj1G;S%57v2^z)p@HL?M(E&6r_44W! zp9J{o^~KwO=K00TAO0zg!tY$%(6aM;C$E3@lZ&^1_qP}K&d_m)!J!Ksasf?rW-tq2 zGAfcu0x1iY1^g9IU|ygJWC9w3LqNm35PlhPO}m|UJDvcVdL+JMFphX1&=_!WsKu+Y zA28sTy(0xLEy~03?|L)_e`IKomLH8#rxFNptZ7?tPTpFc-ShrjEBFR9)6#zoG`2k0 z88&MH%)r6nGj{ZHY&oQc!M>kStsb6EGc)z%Mmw0`bI*&E1xd^F1;c}XcuDFUpxMa= z(UfCPjhjXtt`Uqb3mWPPzQ{i>!7kfUi8&|1LSR^cv%x1l5@n{`B^%0_79Lp-yU3)6 zJlR1P(wHojLHnZD+slr#eRS1o+kj5bZ0t!ZL(3su{|t5pL*?iUG;N5NQs-0IOnJt> zY!)?JlxK7`P6TUT(qwh*{RLTbD2b*r;$pR&8f&JOXrZ)fGMDJZy3%13dV7>~tx;^wQ46&y8bK zZ|l}vlU}!Tx|6H2)er2^Y(0&hT}$j~pwX_jZY^`kE_=kjif7b!9Ot)jB_H9s0HbW? zd9}JwPHNmuzS*-Q>l&bOy})V6PTlpw;&aj~s<9dCvm}odSdl(ERkTNA5xJj&yGh{R zx-Err9|MiDAvf1+qf}4#PecF!KmbWZK~&|`8(8|2oQ4{ISw}1Mub6OoHEW%jcH$~_ zp3%a0z^hD_?2HN0U)-AVXjNM}MI#HQdY{Lw%_0Ss@AB#||EaEvp>Lq^##Rg^UQb9dmeS&GBS$?$qh+&Wf$@{Rq)quDQ*DSY z4M(Onb8UlSJXxlV4cDPt?}<%Ag)pitC|A2Kz@1SY%`zeFZu>ZAou30uG%A;Z!SEV= z^;*>}*DQuQEHU4X-_@gWVNI9Du~+l=1T@xv=p}tAR<5KIsgmy5)&BsEbT6RkXenG% z9;JP3D*=&Zx@%MVY5~;W?%qS!?!Obz*rUTIwP|`&>ilD%QQB@}ms9s#Q3)Gpx{oe; zVY4_3oos*qKm!rTA-hIaGwTfd@VD1D7U-AC?Hd8jwlF!+e<<&o7d8zDC!ir<6+~^x zjq~kbaDa{XskoLAX(C`NRDnvn!e{*Y%4amp#`!Lj0j?RUdc)A!n>X+Hd^3TNR`h4g zNPF=aLuat+I#;h4I(y56fCr|7HgtC3N(6r0M8S)^r`_{0(0*}WPDEA%z&c_G(&9|F z#;XeqYsk#E)S+>DH3SUO?SQg@ruSe38bKzYVHm`q0Zqw=TBFOqD&Y)hGU@`1LB_zp zfqM67pwk{r^-@5A&}-~xEvJUeD7RG%0-6;ps~Wi!EH=>C10i78Dy>d+rJNRR0*woa z78nH@1LO&4G<=^+1+0Kev!&>1`YGpvq$@WZE#9Sj%AQ$l)Zx~FYk9oQ1D|rp(*XUY zpcWsb)w!T^mZ?`p$ch{R=?Wr&4SDM|Qf9%2djrTT;8?GYfQ+*d&)pU+{ZPKxMRNAW z4%~_-d&Z^>NXc{Q*vTO1dYoPRxQ z1WSSc=z}@t5PizO>Dn8!X8cyVS1r zS$FM|blED$neAyA2JH$zm1uGBC+F60gYi!L-9VFk;6ExT-uR-`NQb?NLpE~57QNi7 zevhW^z+dC0bx4P)p@n^Ej^FEEfIP8n(kr7=`beSNN^K2Bb$~3+dNk93GZFj3hs$Ry zL8IbZR1-!Uf{D>l!YGE{31E&YXDg-$r52`8ILdNrROs{;F8DaqOJ4?9I4bKhtp^oSN&i1&1xW@ z8BV=<$s`eJU|e0Nx?_0m9d-D?yt36fWfWl2r80dQXk2D!>KjLDtv%$fK4z0R=^4kI zhuF*gy3VZt5vwi0pr0krvGWZy12)+`Y*Q%zbu!C^w-s~)nHDTv^_9*#lodAL^R59g zWql<;vDKp~u;^RT>w%+;Y&!R`n{#~wO+zZjb?F+JO~Xf^!5^SExnK{Z82gP^do%(K zlNQ*&5zq|rluOw=Tv@o~DaTK2p9GpiuB(@Ves_by;2q`4A-&5Z_qAJ(^1MV=W5al4 zVAVI2ZM>?_iBk=U{@#G*%s!(}{R=eGs?{KqVhcyk-JV<-pg1eo=+hY*$<07)`&K|h z7VG!Gt|5Ib&_LG!A@w~1nk6@FSNh#8tOEIS01dJ)F3Ix(!kuvOeEIy}{IBpZ5ST%} z4KjnM8q8uA=5ydfQQot1TIL2ZmDNnOX}cakb4?)gMK-?O@i`L$Tpi#Zqj*o{@7_}e z#`63H0gjUH02SY(dCRP`JHAHPLsN`@rk7$E2KE@`FZpLx0GU7ARH_b@@!|Y9!33!F zQf4jA0UC!m&VgpWDPdrgAM4XdH_)))Ai>pdq%1f(l~Qm^7HaOo`U0hVPM#BgSSP-Qm6Cy1s<@4-mMNkG~s^B50RX zx;DrHu+9LKf7c;%$j26Ws}5^K>YH-z0GIn-G^BSK@C!B!XYN+HWv7#&y#Rs^CXiro z4+HXapN4+G?TXo1&#{B&fQ|L}M*4d`9s3GGQ{Om} zt1r(G6g0I}5WmI=J_R&6HgY_AHQK)q%T@}-SRVHmO@TW;fc^N;egd`m2mZ&# z;fsco4U0Yj{v^;Wnks+QqwMpw4PfJ!2CC#m+C^<7KlNwduLqD=y<++Lg}#ei`JJBE z?|4`;4}hfM02=u&N^| zjSrXT9G{f7!l81~CO8H(R9W{p8cZ7tlHDockVhTM*oqJnHEMJX)wEm~Ld`sWi2#8)FjoW}VZc@t$Rq zlkzX0|HJtnO8J6bwoHwSQ z^HoAWbmdf4Q%b%MkqtI)U;T<0^NWl3%s4xS&2WI6!E&k79B>k=V@L|`jBy1_*&0EN ze+V=hgdeA}H}e~S#@Q#eY<+f60H2{VhZh15dRfUPVUGA4I;&322kt1tE_g$21i%3r zWa>TsWiZg1^R%QkGRvV<9J{~c#b7Z&b1hiddN#j*1upB+F_7au51bzZ4Z1R^d0hI( z-rNQn9$>dXaQKopLB@6N zTv!uZU=hmaeAZc@5lC+7dA*~KS6}i4N+*E$sbkAV6g^ywf8}CX=yq;!Poq}X%Gym^ z@L?ymsyxQEqeq*W0y!$zeLjT8Lg{rfgObk0u@>(mps^k{^IPODr=T)4X7ir+pp--f zCNpUdHe8%+Ko7$5y$wBD!yiA;ES@)@9r9NXh3%0eGTcDJ4;kma!uojISHBi$)D`-E z5@@!c<8KGhK!@_S*5X6@)c*vS1vLJ~KAr-a07f#U+w^H>e0wQ;>GLtr2s{F#@2F{? z`g4s<_&)V$R=FIe9<=U#azrsS8GGj$jS~W-bL2+?bMcRI-7VkEqdvf~l%}K13H1J) z94DZG7x}8(q%?g|>n5H}FADoVfCfMKO+d3~IDiI!jQe2K(f?(M58Cvp90R=Pyz5<#w4BzL^Xfy>uKtNVD&FrzIuAJa} zW@t$G01X6G{}?F00~wEkCbY5JqX}rdw&bAEN=tPJG!1_^yhX51CxU_1$hX60XFWMq zZD<+)M?D&(ticOduBNdVlqIKVyYsUexsqls+`4_2h6|{M#}|uR2w&MxDz5lZ;M41L4SF z1I-E$o3`zsXFxM;N%&3Y=t>9Eu9cfTbbhzGgEFo~h#Ye)X@TcOQ#7tdK_AhRP6M)A z2l6j_x~!+^^ACK-d#2?ONNO*0#&P{T=;yo)r{e_hp=C^P*Qwkd+fLJvcRA4tC<%zV)?2tEhU~8K5=>c2E8u3`V9H3FB?Ak1J4aL%mp3^(FBVE`~a?zGJH(j)) zNXp(ei4Qh8Ctt+3Iu5xMF<% zij{4z{kFO-Yz)RBusedy?OTF4Gn^bJ-k%E40FIRhRJ=?=IW;UH#Klr3mzGjhy2jXy zkbW}@$oe+WKuGkKg5B-1cbBfhMAplM8BCsV0O0(oel^=4+Az2QA+Rd?#fP5$a( z3N%c`b=XXx@j04uKqfvj@!@3pbf|Cv&7IF_0GxT*(BZSQ9*xRq*QpFZ>fQDt7d1Y5 zGuQN-T<7kFW%Qlpr_66`Y*-iadCOAzum0|*kAQ|-n1?deP8Jv!V7fs)12j`#T7zz6 z5zu(PT%sO@w3tu&rUmZrENRq7a&(!kBQx#Xpu~ASTXn1hlgCxQCx~;@rd9)>i5fPn z*iDx!K!tQ+AL)MNe+1Y9?Z_#%qzky%%{h_D$UpKIU}h2oUCaeE$O0K$QFe=Os!z-7 z8O<-75a6VMi#I+)S;J>*LIi~Lf9OZ|IvCumE%iG<^Bt;WJun&?PCmHA25x99ZCycZo3Yg%d7ruJ6Nqc{HC}Lqz!A0L^YV$dCSKy~YnyDzr7@FS{p=f>bsu z=0u}3*&A-Bj_N|+`cC6cfdC`8c+~#$L`3(lDxmb1v$_AO>g@h=#~cKnPqI zzUkcu&X1l#rBjwNV0S!SN4yg#1et&a`cy)OFwRoI!wC1J0tM0VntTN`j=L_tl*JAP z2hhlaw5zBcK*zBP63Q&F;0S+8Lc5ah0h;M~9le=ttfeH~4v;>hu@}=sfc1>V;Z1?Y zUT2O9Zvc%`n(uiwBglLVG!C7SPK8GZKmEP=@>=pn2lkeB&k>-x=1Y_>_+&)E8S>xL zlYLE(W`G7D;}gf<6le-aR;@s=hZ;-<2{&m-p4<4J02-2IU*s8}v5_;*Zttk)be4;5 z(yhH;hhE`9KJ2AEV>no_85;r=wL{8t6hOPVV{y$}-$!E7Lqm}EYSa(bdY!x}-#UH| zK$9ONdu>U3A0Ozq_QhtHE5N8ffrf_NyeB5mtcfHx_WnRXvvpJ;k~-;RFK}*q(y#H0 z6VNRF1b6*8|Ijz&kqDta(O*8B505`1c=$3(WH6+i#z4I<`R$nma#_zNNNj2So#&>M z?@PAd5@?kB=5I8>Uv*CXe|$ir{g0fAFVHE?a?s|_^r23Ss~hZ;z1PqodUy;p|Kxv; z|K3ctaGg}+6GT1$nw;YdXuRLdtO5>1^k0XO5Q^nTG;wU)&$AS?6lLJ_-0RheV+S;= z?#iVk@>k~kA@x#O=NO6=!<<)j@(naomx9>)uGbdnfK4rI=qO0!h*C_61sem6K;yV2 zfkCj@Mk{TbZ|W^T12naG6Z`@ir$>{&9-(C@(?xF%)gT*6QD)YUf~KV?9lFC(7-a`I z_5@X;$w`tE*hsL|Y){5sprHN@kh4J9Osr89?BQV?bm17=OGjpfNb! z`yG|tqbX1>ph;#LSW1t!%|}Q1+kj*J4%6`>?`M1<>>0zThP?N0Uk%Xw${x)Cjc+Ya zk7abX158uMYbk0w>eE&eg0Om9ZQ8H&yX}CRTunOwu6&2KNw$Gz2i;^>13`aKj#?Nz zHuMNc^StSr=S@Cydj2^R9N@a|ZxXSl(b`8(@pywno zjmNfi++8X4p^wD3$%-yWboXe`xpA+Zv^&0~$B|VPRL7=6IV^psGySCc)l;5XeV5Pv z$^R1X0gb^vB-h~W+Rt&OHbaE1FojS6o8t*+RG@r#9HO>Z6{sz|QPwEw8ly;AD9r2L zx7>h+?rjg!bsGPXKclSNB|{IMlg4^70vIbG$oN_L12hU?)fvEHBo3hoGVKbCG%1Dp zQog;s5k4Lm|Mg0Ct7j_$XK;*IXTI0?5VtpjV&V=?f@f9M*g zn?Mg#gQhfFAyDz#(uN{9QtYA+3fG$>Aty^rP+_ncmhyuN$$=Jbq) z_i3CA@Y?`QEA^f`rv|T1-3^HB*0*U+nr(}I@PB1VRm&J&0% z0gZuPpNAIq4K(v!*^+rWq&W4JUsEl=EWhP?tSft4K%?KbOXJ>_f2BX=z-GC~;8Q@8 z#RM*-m!Cff&`6(pf<&v8>zlv+XG$CUCa5alCxB)PVLRXfGztUYNii+uK#_TxMJmz} ztH)jl)lo8%8}zjuU;)h%_7wrM2kqNwC~pHz0YPH-rr^wX7=diTWOb-y_TBQ(NHPYl zoz-27g!ALYKY?bIYb*13e`p7xjvAr+@M%f468XG;Ps9*V zpV>BGvTdMwa9VRfvwAcFjh`WIdNU5IIAno$=$oKB z2{+L6tnpla1|D~%tnE1D$mamAJ_jWEkl%BAWdaR7Gw=IpfV*4t%)cA;Xz?_j?%~fV z-17JSS7!^x5&-oL(=;Y7(D?n2^KI+fYx48qu^x>Vl{37zmk4uO_MZ$#PrD3DvPa{t z&Gd}V9x-}t0oZJH$uc=A1NLvzqp8tGMT>6jH_GM!y~AsN^G{_q0V>}m{S4*Go%_Bo zU-*c81vECI?9H&-^S2Dj)_;3u2Y)k!HqU)GkR*HMhT#;q&Vi=*v*|OX^|5~hG|F{= zrk;)Iu+vLdpRPCWISdmc1e%j|4o5Ajsm;b2sZT zka+YodGUiwHS}{t&!^0u(dcK?^Y|GJv`CY-Vdj;7ep@itj)sc>yKPHaW_a^J8Iqem zpt0H^go5j_$f(G^k#&S{1Tn7{a1Cs>eso3&v!qQJg-g(Ji607N8+}Hi!9XaimKWn5 zpur$2PXjPOFR&qHX*=>K!6^(CiDG>i?{67T5R_eg9#xJ)@xJFPjlpjTDn}6Ub5`ix z3g=vUG64Bb0h?c{uWrhuteyugL-pe3Va zpc-jBC>xU~cguxWdo~{d4Isnt&jB9?(#yvKMH6&GhE?eTPV(;YD4I(_p>y_tenYr-5eZ8K+d& zmi72Z<&wDMtaBkh`Px9uxihm0GSSXZBP%pt^8&Kpo_Pk)_>r?qz*&&FrIGfYRWB&< z;u%Abf=yomaQKX#+IxC4@4o!oX4mz}04D`xPx_I&`WsD0SOH`4;e{1I9v!K7Umm;N z_DR0@wY9I^Yya}gzRXAa3~2B>mjP<%^#Gb>L%Uw{y8l6d#=17WR%^Xe|Jd2GXZcbu z3|TrVF^xTRtWUwCw&#dTwrr0E-8Rawd|0dPpNUC3{;sbt-iv37>)QcMJ?0HG#hpbv zd@PSts#EHYVF#VsA@#eLT6=K!u;sF3lZ^g90yNiu&CnSvPcTr}3R#2KV29!PLgWIQ zErfkPpjkpmG3SC&I7(;OS|ne|A)9ZjrAX*fYrGxZ5Clm}nyJ#~fwZlG5nUdNkIv0ofrf z_a}NZWP;ZLNF8b(4oe3AmR#nGr4g1WYf(h2vf%nb8^6<^w4Lay#RI>`>^plcfz5f3 zW`L%lGwA4~Vn{rxC-s!GIw;hnv2` z8h6iln2zu+-tivQSHI-zs;$^P&o2gOkWG3Lz>yKQa^9m6q-sDYi$p=)0mHf=U6h~W z*BF@e8*mCBi4R$6&&qDwbN20Z5?GH5kn(Ki;yXXQxDjZ6@Tc|61ZaD)E_5Nt-1Q92CpDp^o{#XEp@kyq= zKrdjmdkW)c3ux3w36V+V!##HM2xtU&CSoXqg59=n^X>f{Xq2t`$)_ZEwt5rf-E<6n z7NI`eXY;;iw)C~1jtfw>J(<#c4F~T0+M4wSH259%?E7UkN(}7KW%^p>$W@@(4Tu@) zM_D!;-L)6_%wKF+EL+(Av+9gef7=jzG#NntkufnQyVuULm({Z0ayKtKrMJnq@a10J zi_UqLyKGS!%wdDwP1#r8(q%sPA<&Q{nl0ad=A#s2Xnb;A8)K_S)7af7dNf-OW~i`z zlppEv85O*03;84RP?t@`rk)ua#)W)FLkSY0p^kycDEn^!ntD7aai%w$UZFt9@G-{> zQ{|uxp8@n7fZq*YX%M8RHCNZxacjr_Y3XSY(m)Ezfwl}oCb@zjtESAOy1L65nF3%h zKnXDH3Lv3uMR~sV()rsG*`!B44xr)p7PiO6t1%>a!C=WfuO-Fh=@TKVy!gE$4%cW4OCFX;)~U<(M3 z0R4_nNBoLMGnDOnR0Lli0?%Xsb@K-VnkIjY?Hzj8hOUqmUx>YA*zDQ&eiYE$Fa+qj zajwMo?)^Qx?=$i44Qg@yzGvMf;{@(~d;Hg-@8oWVf-!o|2Sz`nUS_m`278e{!R3z%Xto^<-I@0iL$(%g*akgx zUy^Mt!1P4=q6Rjs4;x#GCF;~?ziX&JLGMP8vQTdG{APx(#;-=k!U2`5hfe~H4I=|C zG?1=1AT8!AyXEK?oszCnxuEU`5dZ%IG_HeYn?bkN;4W|eidknVW&}M;$!L5AtWnNx z4IIZ5=g`^=uWg`7QA>~`QEF28EG}NO(*vp9! zlTIF6b-PDneJ7w%j>r(82}pPA)%+QsMrn&+xYVe_8SWRH1(~(akct90s-54`6g}SC zG#GlZ>@1*R=uDuw;b?=*cW7?E`UODqlZ#tcC%@-6Z>qwtv-boV386l#EUI#p zetGfeHpX$tcjQch?yrU-@}5i_YGE#*iC=l1%@Pf+`7k!>H0*gkGd-H@_MDDnDLs^d zE_Xon2w_K+xMplo;l*59NyfH$X!MnN{!sjmn78 z6)1B&oo@&kBUE8C#``4DC?g++`F;iun)eKy8(M|Ff6!D=X!T{y_paXi>$L=pU)F49 z(*!d+o2gm)C{aE=PFsLqTL?1UPKpdcgIfmSbrsU?b$(|k2B7Itcx^kz5wJ44lVQs5 zCxHfIx7=yTpk@tv8Bi~zD#uUXF7P%V0Z~rmiases2S{ z3brHg=g1?EStUWhu~#$GynT7_%{T^}}Wh^7x=!K^L84yz`9a(?By1i)Tn;^rntv-rCt0-;aRCdb5cMAUS%v zofhxREYt_2+A<6-fU-TBFMc#Y<7(tg40xbNV{_>3J60cOcXbU_=rfuV&|tgB@0Ov# zcL2?Mdo&Ic+Jg&dv43z}a&LnM#j z>NM9Gx2S&yvOhS`$or~a%9ki$i2q*?G)0Z%sUDF@;BpQ$+NJu%&y?Ht zvwD?Yrvzoc>Ykre{*8c!bOm3Dh0grdqqVusU#(ADk+x}2N~=MB+1{dW5kk6M-YPR2 z_V*tn(7=~`L!R7TUjJiX*py|34a2(y!0#ha1~j&GMi8Soej^B%@Yf;hZYmhcRzcaQ zM$VYLEkCETzF=+$7ghE(4C_qRjm)yt` z*leJwP8}5a*LwkM_QO)vKZ5062H20#st1vCY10eiJ%R()0NA8iBrpeWrz zQ1a>MZ?}T$*pqyC+1YF}<}T1oi|MHz%?6qzpnh!8ClAZEAa$$0k%O|9@8rGild9xP zw+^j*3TQ6)kl(ZK+N1fip3(5;>BSx8y?w{?8GxptGs=7(&^)V0lieOb^S1%b-79C< zEuh(UAq~o6Zy)Jfn%UO%-HPqV<=$1ZjHFFk_`W=V2HV{7Uca=P@$s`+X9CWCPNi?V zZJly#v0V5a;GQGG&EAqD$@8DHZ$5c zk7fz+{29$%J(|_f()W{@G*QK_-tkJ7_j= zJaZWjgzigw?^%N6%`cdh{ifMyk*g{F2Ky+GQw`VLd0HQMi_cAS_42AuvB2K%?_Y z4gU^zfGo#{?a?28yE~2v_F?Do1qgabwY8WeMTh4&u^cY$z zs^?}ps>Raia4}J5nDr8$FY@{DdS>tB6q02SFQ7@+V?Htk=$8*V=a8e#l!&ET}XwdZ@I!os8xF-WJbavBM zWBKd_v*#QVzC-_h_Clb!V;GnkXEFe`eJvl@?Opc$i)NiU#re*jJF5j`<2|PVxD7U2 z1_~vGr=QA$wWc5gYk- zAp11X42{_>+4gZ)J9Znf6}#`7>j<3LkZI(*ztL(E)1_liy04EL;IUb3H=yx1Wfa)u z)3|1w!iS9?d|*3$D5u?%-9R(%?o|mnM;Ak_o+dHS^i6?ATa$4EFZMjKJx*o9O5)G* z1GaPzoqudV6UmG2M?j-~kpGiF16Ny*GANH%|LDJ;q6{pdD$Jsg8NWq2wzk*{mbGNP zW*W1NUa^X~S651-vNrfnd3!OMF$jAh$h_s!{7 zKXYi|XFL;NR!-yfOnEi{ETFkdAIAjFK(7PJ2 zS;#C0maBovr_Wa~(s^-{AZx2b!*zGdQgmnxoPB0R>HOTVAONOWFXn4EA7;Cp*MXMS z{Mw2kivhU@h|1F08*Y|o8Vq>1;z!n$r|z6>gbe3d5OwJ&iD~jV3{`&lvmE8*v5%5T zKQsrU_%Y`Xqa{O+$DWDqfD2e@rBK|O>bVa&U{9L&RTsUAEW+b zIAAD@_H^%g!Wm{g2+j?d<&5LLdmc$SUYsau5EH@q`ZgD48+ulU(cek>U#HR zwDqkMGDZW(^Pw|rO1p_Js#nL7-_fKKUCC;ip?B!yCYyHQujyghBId+EUV7~)?UknV z(6fOi4zdH&v&ZWI&d#qyMz8RJ4&oJlJ1Q$}uAP+9k{$As-vczm|K)z^SYD426a5|A zr{12?bc7D5O)vVBd@SCFmi}6SgqgH0z)#l3;MJSxe9ND-Wi`VpGky5mxW&-KmEzYJI1hE6Ur7eJ({a!92$tNwpt)k z59QMfktti~95aTq!0B~L-z~AjC>bUipmFBa9x_5mlxVqBl5w_#1rJK=(fPpCKpX$a zz)el6Yy%2TVlQC~3?-{5faX|TpdhC4P>Y5DZ65;7*t(2mA|%}k<7khgVCmwQ-j_!8 z=Fo>ag0>#&E*f)mjn2H5!>-mU+jGk}JHkWLt1-TLQytwCczRnrkg?HW*@C7*V(USu zj=l{otC)K$$>CTDmb8oXoLqZRPT9@ko3gHa4?*W$KxQyHhRzBsPXP@@+560qBQ6oe zw`C=}#joWJm6JX?&}ll7KYyzyh(#_v&+>&$-lOUBkyS@7L0L?GwJ(}J}VtVt{>LL2Aq8c_>#K=qHmOP{(U7hR8OXol{=?k9z zRLI(*b}rcP`$?dYPweK7M%}EFw;L4dT3cOpZyGEF+0`)l8lXx3Bs&2OCzccs{p$P# zG*f1Fnas3P?a9AUFzKOZKtRb%9vCEn_UBO@dmQ@GZ+evvwoLNQOp^+Kr;^$4WcS$wZcWX1vWY2Qqn1;kk5dJQk|DCLmGn5 zX9j5gETC~>z*n!|Uc7$widn2oVdnfLLuxNRXEqwa?T(M1ef6`yVR%8HVQ9f2n>BQ{ zySyI(P0b*KkV=Iq1F*(su*&!d65PvB6pXviCUijdR&Z`66g?a6Wx&}be{5Yee8kGO z_O4t<>8mKEl!fU}uz*)T-`7eNyF4-+v=DgIR{0~EvuAx6=crU&z-|Nz>6WIgf zn>75MmL#{(g<$9h#Acl;XslIgps>NfKg%F+Bb4~7XdP!60Y4Tm%B;$lJ{h(Qz~r0q z(8cHp+XGm0o!F;Aq796hql(SbBP~6ih ztHmmlAZ*hCm-E?L90E*Z>%gq+GNA%>%sGWV*n9$LUcG*O@tXZDfMb{59?gsIu#zw1 ze|Nk+?a*00nmr-l3}`HW9%?CoRZ-l?kOl`IwmMWg2G?_wJ}f4H>>%YmAAk!q%!q5r ze0o&ALxQ2&hEcv5BrQ>ccjMPRr_d4EQ-b_%L0Ye^UY*aDqqHCa3o@;(>|{qC&y|j} zmQLCh?efxfj-dfGn?`;B7z0|nKv`aZ0l7UeWOGX}yLX0|v%~tP58$AVC{LHW;w3Y6 z5^EGsq1DyTC|Z9cLD}Yz>U(;#12po?wFE>OXz)Sc7?|a4!?O_1RgunWrL_j3+h-l{ zQs6g%fzDo-Q=2nz&M~3^8p;T%@UL=I(>&c-(6IosgsY|x=x(M5qp;t2D@obyx zLm$M(t9*NX;+pBzkpo)rXWsr;u<5l4?4YB1_L_1s)XpXVk507@ep8lma7)}=E7*T) zpb^BWyZVRruLYVd!|ZD6CI{P!pT%J5V=qoXCk&i`#?D5B>`& zuHbqLKD0KNXoNmETLGum)+3;?$D<&~uHYifa4>cB%eTP4=g`^oXlz}*e$4`kETZ_9 zqb>B$m?-f4B}>O|p!qpK!<*B`=bTq7+JLHo9FqaIvSNrz&jgUtYxNV*7SI&fwm~kS z>Fb{W&9(1z^llHIW5r7+IMP#Cy@dJtAP%^}#vv+|V6_Qag_CcUzkw!$R%yy@15L73 zH4q#vuInmFg)Zf-fT8@Pb7qFkJsq(g4O7H>-^Honww4Xt)a8Aj>9|x(0TY_X zbgX}zIYx4@CCm(+R2dw!+ne$CHazw2W_|;XvX5TnAl>XZgQZPU0+P=wlr=WtH0lDs z_vta+6O8Y8hVj5qQo}dOh_zb^6vF^CTP{2cGU&D;N}TM<)+Dk!CbL-KrZ0AsQ$kqz zEoYU@Wj6zkAuOOtS30`ojME3u0*xRE4=${E&BT@~rZ-;$I@e6!cgntRr~9!zUBVY2 z@35cSH?Qa*xWd9$y^wnAiU3XmAej3(3?&8A$Y28v^awUymOg(U^*QPe z6FA|8%R0NCHRy|XT$U0kkW~em|q>JS8 zEy24d5OXBALO1C((MOvJ)QK6EzPv*EvL=rc&`?PKM?lgyc5yn6jFL|>qA>K?3{G@f zLy9tnERMwzWw8RT&z_@m(>nBJ+uQzZP$*Y=i^ZFBps8f?RQEo{5P#UJuOC5%%rqio zqichW{-%D)K6FfjR2jK*O?e4&*0Xnu?RP)OPMXA}J&(ReKa_@CD{1q+dosR)aoE3k zmK-YAI;n5@xs45hW_nv(XA5Y^W;*|Aj{wboCdC!(J1z6V=3-K%R3WW1gUt~vRm29G z$tz(Ru5DUX==_dLKi|8b(eRwc0Q2_k`-|6npW`)PW6*fXawN}RFgu65cf5W6>K7Ym za7csY4szTV*ev}pg2lg=+7x^NVOkiqhCc-~JTvM=#ejx)doUcIUWapfF96f9 z)JH%gr>jMO0F6Rd8BmmB0i{PkgX}UOrEkmJx889SRjvZd$T97BO`fJ@s{Ah3+xw$n z?kN$Pcj)K5JEfwfd6p82rq>1K2;7RL) zS9CW+vj9=M&@j1gy%+#{SX$#d)Ilq7Xir7nQpBDdJJz4agj5s6$`SiyG zl>Hu%y~hnScgi|>uOm4maTUP905eUcWAnyO8l%IjlgDYzZ1|j zon=&1-`j>~=o(Pzp?@eKsW3DHgD4>>Ae~Z!bTi}t3M$>wLxXfngD5G?&|T8qUGMxq zykF0kv(8#)owN6T?)$nlg0DY+v8J9WB7vV0uW_|gnicf423d!iuo%5K1Aw>Q?UN{# zpLaVk0D4bm0g*uuT?>B`;M3dKK=|mG2M)MQmZ@0dEbW6;!b!Zb{oTi~q%$fEWPL=-XLLnEUtw&d+|N`y?~3+Ju&$3Y}H~I8FNMTZCI_DE_7V z$9-Xl6KT~WQw1J=?!toDWga}u%aapNOR|84M3kzt9A9Ej)PB*HC5t|E2Yw{hqJOP& zF}(D_Y;sr%8~B-GB_hTs3XLUtA*~x|0AS*rvu$lmipTkiK@Gp!O%%O^lgBHffc;5g zht?4sKXtnUVLREzpZ{9E?$-c!7=1n%a8PSQpVOPK)T+wWSyhErJ|PK}gn~AQzmU=i zx$9t9op0WiOaIMZX8lfy0hEhnE^3OJF+#yvqg;e*4%awz3jO=jU)>e8jtya2l^oGm z?lhNNtb`CSDPoSVwuSLR*n5VORt;9u^!NRW8xja!oTGKlp>B*+g<0wRiRbU9g6FlQ z-TwGRro3W6u#NzcS{?B38B!?UTO~$QKg~<_DOj_wz(tIZIxqL3>HhQY(-F+Mbat(4YXp8w2Bi+Oq#JK3R%9?7>cI=il}NGN|#&A3qeSvf^W7I&Vq zc8}h-*2b@b2`F_&SLB5Zy-)DqUa^c`V6Ft0>8t!u^%DhB%{F)D$ye zTXgAr+L~hudK*SJ{(6o3q5B+C1 z+&drMm|}tZv_%LbA42V?2Fj?=HSQssA=*YRkDX<-Op4LwOW;tI_C0-1>8InWKVVw* zaVzKm!R|X#2}3M+)nBeN-OlC-^U(-3rQ6(OBZE3)=_2EdLy$?JF-*vvUs7bE@%;kf z8Z$d_N%^*p<0{)-4;0*Qlj4`CQ2%AFX23f^I*$C$ zoUXua`;{^>G}w9*n9GCGD?)XO|5}X40ZZQy!4*@3wZ{M&4){D~Nkh*prqO^jbc)CN zk5af+%r6beQY<)W$LR*WR`)BCq5{`%6?RE?j=$GN6$>x-k036%Ha#DUK{vE9v=B%h zZpy-NE&{ud0#9{@bWTZl2s$=1!E&Xh3iI21)nPz>cvE|MM?Q5;eC5MM=vioYBF;=YH+5!iE3V znljT|$HHopw6bk;y)fc{|9wscD+tCyKxfD3&+FwV^}QW{b}{ZyLP!X?)bBm zWeQJLEx1P;C}QB8CX~+cUTcx};a1ztzC0{8)5FKvPI!=lNPa||%ejJz_CKEjKI18) z$afA-H?#eRJvfl#m_euA=Tg8M6Z8jP;ROe&;`W2E&M4vl`wsgv_vQebNPGi-pK2pH0?L@Yi&wx2; z;iCJLSww4U44-LQZro*%TTolT`5$5k|D?`<8tY*g_O5V?A|N$nBY0(4fD=iH%Xt2x zVipKdBlr$QZB6%lbXY0BFEP1dI|vvx9U&;9#c-iLy_Mh`D1Nv&2e)2QM6au4yTc%j zHa*8NJ*@VLl>K|#zj>pI2l~cr$SMU&%r2}ofzK4Lj?i%K*vWWZ-I=Ny*OUei~ke4rce1o3xAl>gsF3HincZ-I>#phJn>mf)>+7BPo~NbO&>8ft;=WLHjW`*Mbs-EhYU zQgQTyMuPbaBt4TifT>{dG^a4lP{22#=xVvpv#HAL@#^>GLZgpOs&(DlG7&QyPwb=e zJxd1!alrxClI{Pl%{S$+vYfbHnd*$BCcj8W)%`LZvxcJ8Pi^_br_o{=|IY%DCq8{% zvHJ$`ef`k%GGF!?rWV|j>A`U@VzIp~tSi3pGpHbR+DJ5D?uOUHX+2!*tfPQmGHZ0N z-9l7$aqdNy;KG^fY5(uUfWsc1-Hm_@nG}izFB8r8Hr2)w=c3o*K7zw}0qfTIww(7R62H##=-ng?Z23=DcOsI1TZ!7ncJ4#hXpw34 zoM7FY&kL=97VOaRoD!|8MHi4XtbJ2a8$3t=-ZJlj8$Kw%+2fPW{_lL%VPw$V-VhxSXn{{|6)A21{DQY{0|M2J zQ;T@k7*j8t>dowqf4RX5j)45$JB)8Du4S)%d$GXK(BQ=`Fw-sg%c_zu`1!%Ev|M9D z=EkWR034<+v+;S}E;QY*_=pK@xo}6~FE>YxcE~&e)}l>1C_9I&P8VPLod?L25X19` zmlb(@W??6=M`dBwC7FRhkS7-Iwp7#6HTns^9#?GUGfsnBO*?q zS73`I$x@rMRqhjrSZqeC%WWnZKVFBPPygzJQ5###TJH?SB$>(czEPo#_0uVCw8Xq9 z#+zg^9j%;J^++^dt6}6c61%pmfkOTcZw&@QU_v6P0S)P=iI&xtWdY6I?+^tH9+maj zFrLWGT7yf}j_`GoNi@>#x)q^5u7A-01Y0?+C_{Oh2)UlCv?3C-e(g*Vdp_D1+}yyff>KN6z-t-!Zgv_K`OcLB;UVA0L@zJT%o= zq6G7UWZn*RvqT%gwK^o`k>4mbSyJor*p3amw1~l$k{jY|z*kLC%#m^|IYPG2eM8m1 zi>L^6=j%n8Q-p-6#HkgD8(2;_y{M7i43f0BG~g01zl!4%6jI&Fb6Sg~4KLfw?o(ZsYW?Ee+Ry)@Y1{|JN z1{F+4;qb_Mi8hhwSuAQ`K}#=gu6(Js7JYXKzMKvgA(Km=zj$o_v!^l090$k7q>F{) z(f0s{V`IcjqEAI-)GUEY<6SPY{WGInZTm-aU zhec_h(G>pPoLr9{lzLLP$(ORxL-Xv&9N@30*j#RWkVFxn30$~XIA8N{M1R{Uq<&HA zGoHARP;zgB8@xC>)TqlYKL7U-ji?f7tQ>RuT_>|Qd!WN+ivo72D)mihI>lCDz1lw3 zAno|@hqdwF1nDyXW{y?>+u|Pn0PKIc03AAzyH60d1QUi$;M>fJ;ilqOGPGR(;yhEo z)s?n!k!~st+)E5^wOg5WY~WuiT8MP#=DA0+*e*|w%UlXPdrVOLnq7vn z1Tgl5b&r4(Z8&1~zM)6|;3WXKVbTR~CyRroQ^8q{4B<(iyPnpkPO1oPl;wXSO47~H zemh<8yh)u#COXL4M1ygK0XOC#{}i4b5K;!5G8YOFlf$}BI8uHtO!~z5)^5jYC18)& z{;49Ojyarfe2=Y>%1XXJ`6fO*;a`)q_Ii&g|BE`4Ln+zR2cs%XK!WM{a7?1d)IaNy zHwQt0b0)j3?H6K&@-;j==1uiTY5Q>l>)V^#Fzh(!b)WfBzSgS}k?%pe%;+W0=x&P7 zRi*bEDlQEQE0d7LD&+QFa{KEn%O~)*%Y6U{$d6hUH$F(a<;Rl8rZS+Jp>kJD7}l=f z6OxbLej-2dp+oc#qIAHyz7AA4ue}le6A7lmCfP3eneRh3Xn6*fw3YuZl;F;imaC0d z#N1lQR}76Q2J;VUFfBU6)VzQ*{-v9Ad8FWGF_*}lFpM1T7p>4b1G~be13IF0w{*Ek zY#hEKPu_3P^gSQU`E!F4+0&}-{?7;%yFbplBO$opv)i`D+t{^Iz=}{q%HnT3ZRtR_ zla;aS#ovNwA8xfoX#`h~W?6Ro1;jtf@dThQ!rV|_1NO{z9YZz4IO=L_bMwCG5{5D3 zff*vMT_Io|8opcbG%u4*baghra?TQ4{Nfx#mWexiNUnmG9}6>I&SQ4?DknM6}7WkB)Hm_n%1t zAq0#Gi(Q(yF`b;1F%clhqqozbG;??0tohP8Rbq*Jxs>=vDe+eD3jqB4NH>M(W}AB>ccH zbeGuGDTVBCUpZ`ObC~W@{^qMJVxyxsJ8XZmGFvD_V~AjHrnI_Y7XS+jqhV^d(Iz0? zb#2I0nr_ygx=Zw_dzTm`ih1OX3tlU}FYQu^dpa5%(cC%LG32y2bDZBrQ+u_Y=u+;7 z%NLzK5Z`RLl^>|Kaqu>NzMt~EderN5W_8gnG6jlwO;O*9EKp)C;ikYB-y8Ny`It^5 zhz-=7!Jp-?RWyZi3@tmY{=~@;&6Al{=YBuZs8FwJ16cYzSa^|`;z7p;U1w2FA{cdV zjJnO-c)G5CJasi*W>qsSmKc`uCf{gTxNS+bZ8-d;WAxlyNujq|qn2Xec#TKZfY)_s zy*xf3HFHk_ubf4>U184=G$|ji+L)v9EROpK&voMK9(EEFWPQ=1)6{1<-K`zfi|CmQ z{bW`5N>xatbJ3Lto1Ko*Pnl}o<>I?vd`@9y!KkFxAI7i@Q~)jbB+A}KN);U8v?u-+ z7A^6Jj{*a%vFJWu2+=fQvQ81Z_fSCXvF6{V3bU#A81duOdZwHYRji?}Sby=n(oic7 zcJHNLee&sSdDXu^rAcLPJx1-~ecY{D-@Vz%E81os9Po}lQ0fmakP#+y5tj7wyALrq zM!porCz{H!bV`;7$ioR0!55da$$P-V9l&Sp|^he!ezu_H&P&<;%(E2&E&Q3kjVrj&h#BrqV#BHpH zmn)moTTNU&Spnb1HlYHzItsJ6?}K)#9ZKR@9H+IF2upNY>(~^sd7Nt3WvSM9s`cB~ zF{U>k-CU4EN-~l1(7uCzZ1fBQtDpTdIKy{!eRKe!^}l;rRzj2X?4XN6F*6#cy-{eY ziV;$|OXkD}rA`;+WyXAkCJazSS6#gM`Vm}Yp68zNK7UT(JW0les<3*D{wSN^4hShE zD2sDarr<<<&D@o}o~qBRrVMEjPwXiSTBiz39KgnH|J5SaUibxApc?N>9`jl7RiS#$z&J7Zva+40l-iCf?Jho=)`yHp_ ze^l^S%}-UfppG9t2aSZ+8U=+eM6gm~Ds^a~Ae#!|#*XR)g*1<{rnS0bqnXeRX#lp) zRNE3cFt^)*X9`r6SEH$3Y#?G=yS@#7W{~c2Zd}kHW0UWQ7jVQZE_R}l<~{M2u=ciS zz;-Wy zNcb#r15kQR178OPtffT~KzfDmio@|=^pDQ#N1U-LqK1IBg&%d-9RWopR)h+<@;@3D zawBdt4Tm4Yp3>?ghR(n`24))^4RcbTpJ2hYX{Fu#Va|^Fyte9CVoToEEg-e#y3A+v zp9@emsK>2-5#nC&3wb6zqP{SvC2dbuU<1dJC+G)4poACL(_1Na3b~(Y)$U$ICW|}J z{8c9k4_uJlmCFHLjrdfQ%=XzNiv)!Y!U>&)y3adlYPoRu^+*XMjT_zPcy?L0KA#+UF20tl2YlLo`}al0;}2PPK~ zX7iI@6+7zgh~y3Xm%Sp2Gngbi4GE9XouS6VswYT2>c)Yqa(COHXHg0Q{k1op z{a=@xK@h)7A{XA-5E0?;tba`?@t(qaTNm!|X{r7b3G0gVlLu@!X^Ipla#EF?VnknD znGoN~@^gmz667V+g?vH=hMRH7xG2J3&1PSGUDxz@ z^H~FK?9p1Cw_eP?@;~uq{TCE)o^QYSB$R8crscq$H;;k_Wt(NbjQVGu6KJssMuyfg zGB$1ZP~ZA%RQMI7<0M5;mAe0zm?uRe^s(4~^{u?4x9Y+~TO@a1#4Q25wCmJ9h^tGS z%-r~j{vYkBwUPf68(;7W-Zs7GHd92Y+z~!CrKO8Tp|a#&OYsKYkp91gaY8(>r*FV> z%}n`BxkAB0eDbNOG{n^(iVkrO!bcGmRrp;aOrsf#)u|V0rh$Dq1TyVE*NlJA5WE@s ziaV`>{N(gB^>2(D6wEY#EhbRL$ZZar7+0cX9jf!~xyf{6#?{8$>_u$~fnNZS}@ z!Kg3w{5yTwp;#4%=2eF3TS^HkIQZMR_1cMS2WMr;;y8c|Uc0hJIQ-wdKPAb>eC5>I zG9<-~n_jBjP{0`Z*-F$=r<1SDT71Qys$Z@p%xa#vW1(s=bd??{U)TGd`O2d7XAeN% z{(|pc?bt*5Z2T9}LRHSqRR+{+q0bb+`wVH@XD;bOp`J2l6dCs%Wla$*41VFd=oPOc z(Kp=(M-l7O?I-O@AE2qgRN0GQ9Y7aC#cBP0#OqDW?!ZsEC4-T3SNr9+F%I}qB&K79 z&+G;&Xju9+hrImo%37i>CgTLX%Z~XZO@y*-fxV=Y#!Z%ZosDTYn97pm9~mc6l#r-2 z7?~cIZ1xZ5&lYx09wCLZ3Sjuh*)^{Ov|A=;tUBC>H4CT;lPVB(+mpk3!9Ji{64DSc z15!oI^z;I&W(Gq)@R=DLm5I`oYrf9i@#Wusg^yTP_Ex!-+uh=jbhx%6yO~wdYP-Xm zmA&11FG@aOgF4Keq5)+g5_M@8ZUk_>kaDjKM)}!R@XpiLQ`82cCk&wQyc}R|JG9;G zsrq6<>cnk9RC<85iwWR2P<#L5jW$f(}>AdrH3NOuRndbXz{%MqK>9{a0Y- zvxieQ=Db7JEU=Y7tmR9HTxdoW$OWI_;e)fBWC0@UT~nvz;p~d^-zWttYlsE+#YHxl z>SXtobL-!Vd-qr#wTV;)FR`OuHcONX%hY7xr7hCHiymL=N-cS%Nk3O*&YBYOI`Sol z1na((o52UWZ`vy(tuHi2+kKEByQRnY?RC1G9s(#^5n2g{em_{q;CeJA8eI0gAjPIM zq(2Pn91l&zG~AsTkzd_gW8Ez|UbLprbZjj7<%^D3{`~%Of$uhq_E8M*TEZ>J*NbUM z4(eySP$#vnmZ(qluNrY7x2Kusx(X{=FbkK2}W{pO3no!H7)QWF!@_V z-g3?NZnGjWBwNR|>JzkY#qXVc`ti3mnV&3p-0NP0zR@X@pw=3~sLO4qn+%Sh^;c8- zE0-K(X2(n7{B2b(YVo>Vr0FS_YkKzB&EQ*cc-tpJL;E>hfKS=0-YNIq$MR8Mu<#j0 zV*}quq;RkaYv7aAf3922sYeXD3@K4ZNkV5^b@_ z1VQlMfS!`97C87MgWE#0&s8ctL5jHU;mjlUA!T?Y^klKEeEW93f@*k6mm1NbI|Qu# zw&RWwP5Kf>#U%YN9*yUqWpyjMX`e5GUu;dMao zf4`*eTghnE3qF>*kd>E6j;f6WLnjQ!P_s57>a70ckX7CavLeFEtPaac%}GvFHp)DK z5sNi-LX6*I;+sg}t89)jiEB8i&}bKG8{ZdgUwE-EpLu)z1s+91x#s;E8X*AhSZ_m% zR+uZ`e1k2VP+QvY2%_`>JI<~U{v;_z!FT-j_;h<64p$+kZ%e3nN=9omtl$QloSbun zsN~2V3XF;zI!Q(Xv+fY|T@aC)yf_V3P$1(Cyh@|-!IKYc)>nFSx#D+{GaGBRt=KST zkuvj5lGWnHMebK&F!-ZR#pU@wF5@smxn&p-WtGsiD1? zu{_!U;`@1B1_j^O`5cr~@Gsnc%Z@i4*|s1CcfaGJwP~nJyyVr89en4KC1U)RhANoR zJe}Aq_^xV`r9u03$SeG8YVVKZc2C#&Vu_~<%PnI^ivgGRbgH;|48Nop%lYg05E+P# zEVKM$a#Y`CcIc8QpRm3;%NFwt-=YcvL&$VP^T3P##ambBhUN%M_zQ32REYH z@89XBBVqa4(}}Eodu>cju?w5bY8hvIJh$>{2s^`=wTs5i3%aV@b{sBHS`{vLJi&gQ z;O8qc9js-p;Nop6wIVrcxKGc#)5UeqC-gmvv~glZ2tXnz9sSs7vvsbrHcrl3w|6SV zPt{}1$~>8-F}LSpUwJo`dGN-RO*E*$B(f`NEQo0gM_seu|7`4P+&zyvfl4V2N3CMY z=z8my(SS*;SS@$h{qryYP;x3rqmdpkS4(S^MM3IUUw{>gs5l`e4%(3NrYBNQY9!AZ zh}V;326~RBhW5Q8k5w%6N9q}nq?QE=Za82Ei_n3;D*Crh-7l}9M8w{@xZ{1YV>)tu zGyP{z;C@^zk0K4UEtyYX-bwNXIPmG#c@eqW&Yx#yAVt&x@ePf-An^mcg__%C%{z+o zEiN2YsSFe|yXqB2F?=D9t`mdwZr8lE9j@f_DwtIph@~P;*a#9tNTFjn+hJ~R>{N5L znG@@xx?z1{krV?J9udJ|UX+Rz*RI%y8EzOcY(v8@9s8e^?Pm_-K~x4loo5ab1qU2D zKFa=&$;W-W=D0b|(J%x#FwZlYg9~4{q$dRb56PjZs`?z;LVHffnpW=fZpQNfww@sR z(AW$0jGXBXJ}Y3yB^few{#_+(a3va9_dFUOf@@$@kZB9ChsL)fmtLe=sjv#ld~Ud^ zJOxk#m#`^xG%lo%C9Ta>{Mo_-qT9ZS!K+Pq#a?K#rCLV7u#IK;8|?uchW)8hlzKWJ zg)(QOKl-$NmQs}BQ&w^z8hjF?S51#vaOdER-e2*y$MzkNMxsv!Lfb%yY@Ju zjItxX@M^xAe%Ao$VA{fR?)YE-l+SU|oD_k(#>eS`*ljYM*0;EZ8~2B8VII4m+;7^t z%lRApogSoogwz-sbaN|4;H()U&%)^$)~IlE>~?>LY8q{m&SXYD%aRi(jmaKJxkMWK zs^58yO*R&=z~j@T_eNA3-{c<8!7SM2JF2R-9l_`SFxPy>M{V%Tk)KqwS}bjL^OSaZ z;l|*o$VE#Qa431W{k!qTmx3?veyF$h{)%x*&x>G}{u>GYqD&Bt-GZpHvAD)W|IzX^ zix{V9tcUkXU$^p)vj)ZOJS>^=-e~9(NdRQU@!xc=$e}vvgx*pIYsC!Bvraw*3?L6B z!-l@^x!>W3+aBv&V$%p4AfY)y%1tJst8=DTpOb9RPI}g%reX_xS%ls=De5Fk9lnDT`v+SS=pI_@ zL=EXC8{RiO?hW#}BY@RpNLUDVbWn6(oxy~FV0C#fiR}JVw&DomTsJwaSi`XNU273( zr1l5|kUzfZDkDWc9niwu^Y>W1R>OCstbjU8*>9o8FL z?36jc5>Ip??=Esw!Pw1yf}#Z#2ukzLnqs6`bi|S>oe+{#(zZItUP}Oh=)_(TfN4KF zOk`UbsMhD+Ie)lX^{8EajNz3ggyW@PCo%s92vUcyWEWq5>`(5_KEQ(nN8AvA{l_6U z@XS9Aewhwih$B?l*+`4XPu~>7s5RMg>qW?>ZaUVGM^CTcaomg#v9Qn?Qhfa~`ew}k z6n+|Zn*cFX*ZH}FWrjSK*FT)u7f%ZVK|~*xA5x;+^Kg(6O$?PEr}c>b>Y+^TQ8Q+zsmL^yF~?WbcAO%U_`{xg2a=>9P8%03g<=41FrMIwmWxW6z=YoLW0bT+fY$C7WG zu)A`B6WN5+5HK`^3CT+#RHV0*a9W>|Yk)*{2{Bw-W$Lchr~UH&Zck0G%JlRnQcbN& zVKFVk(bt+2`J8oU>Ic-u`8HwEG3)^tQA1R-PTDD4NNUG*YBx38j6stVC0l?o2PCBu zPI}D3p_jLgo7AlKx6%^(e9td9XNq)wBAvw?Z7wUBbLp)3B8yyVHi^1$j?J z2UQ`xgE9`JrY=I{#s<(C=d+b;=ksKJ2Im&Z{dVWEOq}W58~)@y?_2C);PqdtE48O4 z=b3>Q{%475yre#(oS?iK=D`r@AA=;2;}7%VGPg8b&(VS{gzaVC?}VoeUJlwgonmPd z_E(+q_LB~WiZ!kZ%-6C+%@z8+)ACF~5v?UY{WA;nm|CBj$y3v<>ErAO^V`xFj_kNQ z2lPy*W0=Xnd6~a}0Z#GfLINrlnA~AS9zoE|mTBVqgSb&3y*>Afipn4I-bShjRpWufiI;y7(p62%;!&NcW*QDn|x#+X%d{eBsii71wN0Z~yGiV)W3D{BC_h}-UdF-N`>HPcLh7?Yp zR1z)pjHC^^r%4Bvx@)XHJZJF11)p(D0d{vO$h+JE0HAAlnN(vPqnEALe~_!J?Qd9$Z!f}bkBPH4Pxd{tmlSsZ$l2>^Gi<9^rQS1_q>86wqh&qiEu zoMwSUu14Zvx#_%a1IpR{Oc>Zkx!}u(9fH({&4;-8Q|$^EQvZhFyX{&8uJtFb@@c;M zA-ilhBPba1Ga*!b^jpBuolN^Bxzp#sp$kPwdWA`AtM}QrwI%T;x{P?d%-Is4lKso} z>*;nWV5IDw<|-68D5Zs=i(|H8{>O;V(vib%=AMzunC>9M$glSZZk+T7eJB#rOG6_6 zIOY$j2VQ+JuKe~CzpqoNT_vdob$ZmSP%1U%+!C20Tu_=o?22!h`idK)C^O`|^&uH+ zgdrd!<0-Pm0NGt7B4%NQ*&B*9a^5-A6OxZ`RLg`rL$6Ea-ltptYJ6XH3zt2GON?ct*kNo$o4azhz4)`Qz2UWkUMN~-BjB9uf#yu+GA|y^Yq^?;0Jb$TtytV^QRpMagUA56GooMcchfC+C>oj)On6nxN)Q{MKZYIb+ zJt-<3BYePW>H>^UPFQYjgYHWz7L5GPs3{&y%`tRC%H_>P|J>m17V<+SS@+5u__usD zY3Z-9jp#W$G6xN{w&@qi-%W#KmT?A1u$BrzBg4!#KBtZ;7%m?nX7v;d?w{CN%_wd; zk*zvoel1mD7Ij;md}Qa1&ARWp?k38*@pP3t`W&!eIRFtCD!>nos1e0{@>Y9LDrAO14T$dz8N#PuN$LY%x`Zo2UKrOZb z!r!%<@wr0GWa5PlqI@WwK zl`1|hP>z_tCIj>f`%X-r;LLHDwUITER55jzZaFu|rz0ibr_x#N%F?C%1cBj-E5@eTI=Isn4C zJvQAfb2cC&7P|=T2IBmn>zW;hcB6Qedl2TYhv`3IkHEN-MNteYjGG~YH;2^=ICutx zJbG`b*Ge5c`9IWw){B#1uRC{9FM_=l|1sWgl1vj;NkmPdB7YkjYD>e&mB1m zA%upDJ?s*m!=;l7(4QN330xRVu)diH zOAgq8^jCfw>v>1oVZD){<>p5h<*0sTc8Ot{DJ>6V*3T=)Z@E;(m;v*vk*PN92uM)@-yT*$V@-KaB)ENFsO1Rq=|dch3ZfXY$A zH;FHglhMi6DYTYAfwC!w&ia5@^{fv|ql3x3gz+Xt>P-i+ebAa#Ywss%{lks)Q(VbL z^8YRe#czprM|YNudMx7aO(gasYQ>*kKTN=C+)HYlP(iu7eI}hB&Cy}=1aQBs?&6z( zH|H}Z+=c@7IFPdW_0pP!+!Px~pW5B;)L@v#w5EPz)aRaqE345e#5~d_b$9*2YF{-$ zSik(FX_z2lsSoQ2PuX2)Az#hR?Zy z-9hO|mLw1*`*qy7aJ!=49Bpc?qcdUTc=_`w52dV6kTu7vBBxa+=8f#6-^N?U?eZ#+D{$YDa4 zq}HQVgAqk=qo=f4(cZ;%D8xk?*1I*$Ums~v5ToX??91Ez6+cz0Az;aq{ldq-FOq|K z8g$a8vdcA8EbuN>!2gy$hy(oe``t*qtIon0imCgvw9K6Iiu7I8XmjA-n*hMm%9%DpS}$cuea$^rn%F-PCYhj(_}f&=+TyoaarI-ltQQiJ)j-eyj4 z0jppMtB%Of=R=-`#4SQ(URcoq0;_3X?PJZ?*Z8#F_Jz1rLKhZNgAWm7^ve@6&A{4e~;;iHw&TuM0n>xHN90R~e; zY3csKr^+A(4RV)WJFtwoB6u97e$e;KAoHlYymeBtQ(oEyAUlb?4fZNF8O`;-qYs+O z24#TmM8tz#6;AAW@fsvI+X%rGhK!!Nm4~`1vD9abDVg#Lo;jtQS?(~R8wf$U{OfCK z``VWWh6QWIl&6Og!YipF_qZIbmEK(OxQrwL{f8;DJcWA?9~N>EgUygZ3AfF^N>l_M zJ8mUwAFoELlJgw4PLAy-RWC=n-CZulyp+Uj*COXLbI+Z4SX!m5rw)i=a_ie*6g|=g zOW!4A@F9XI_hfG{wo}6SgHa(TtKCPddm=4T0PxPs!Gd^s51U6lqINMENJrcVU(Tfg zJ82dSS8}YX506RT%5ib@=IBhhbjY3wG}Q?&^~)N?>1!D)W!f82U}OMUXYcH3H?!@@ z%#ZU;O;3k(msS(%S|ga86kk1~#U&Vn@;GIICM>Ps*CvOBDM}^rP+oHcO}F1`Y8J46@zPWI_N|D6S&}qp!HA_ zWC1ZLA$+yV?A~+hk8E6`Z16bsf~*BP&YeS6j_~nMqgXanw&;d4-r8SZVu`32McTnVo_Km8NUT4-}0eJLh((WB&f?NV>(J z8ty(~|15M+EV2|#H&u=1Ty1B%Z(+vheeDbpboefnVPn!3b89cV9&+$dv|&DSLjqtz z9YMhy?@lAuRdQG>WdNz!rZ<#cA7i`H{sSK_<(V>$*#xP4*JoIA72pGpjfbK>f)V&| z>z8kLdu>!!`xM5Rt}_TiTHW1$ln>uPAZL92+#Q*@$x(%!gC z@MmnkLcQCcY=$Vr^mY9%s5i=CDZJ_$ZpimE)&K4&`xh+8x+3UD&r@j=))ZNme{wyt z+)TXP|4NhFf2jvOUMA!{|-&VGddSd?CQd zvK-4iL7f(ofacS7am+3z#fpw@z8wfRDy>?(+e-mXou}uC5)Q{=;p0Oj5ON3A5BZAe>nY^P$lO|MV6+S6wp^PIHh^8smc`o zK;R|Aw?H9Kgl0zz&HZya;iL+G=HKj@w@}sSK-D3(v2Svcx%KReV8ZO^RX3U`9;f!` zf}WsWVdXbzJPAY~;3(W=#=TRc@IZ8T^Uy95F!1LwMc~NM11)^0$p{#6%fo|{g}%ag zfk-VyU?F!BTe1dz(kC`};I)JHMQ#iil|9^A4?IR}2?RwZxc|6cJGi`_`8+woSC1Ns zP`&<9&zm*)m&$U=4z^kLaR&gBAcjxy{}hr4%QU5g<6tlLFtHqeK+Ds=XRT#nt@ML~ z;6=V$8D`kE-uoe8Xi-^qeyiODEyj7@$z%2?!3jKYMS=Zbp%a0RKB;kIrW|;_sHu1B z=zjYTjwSzGXibQVW|4rEenCho-V9U{Yst#oN_UYguGF;hzk+u_V*V4iVQJp3;*j_WWRG#F;F^^|LB>8gU$Z0q<>gLu z6Vdi;zMv7_JACS(P*(263N$7~Aq+~65z`hUsmnCb9TU<`D188>lh~oQAAc2A8kwSMURq z9GtudAJX4#uE?bQqu_la2+sr;qV}nXmi+){YHN_S#E@Pu37U%RwlS+c&kDR{=Los| zenrUAFU%sd;tMHt+PHEH)y+C)T#iECr^0U6(DzKrkFUz3U{`Vfco#v^9@>`HSM?Jh z#~BUs?#^RKVr=`6YLmU}{J_SPyidJi{Z?nJTt=anJ0-@O$`U2y&t|cwE{D6SpiZ83 zq*)E?@)a)kGe__3-(4u3e}8YSN57T1^U4zolS1%Yrw#2VLhQn z_j_5@KG#+WsKpLPV2m5zA3rb0X=OUp+J&tp6ss2N5x{%9ol4NJ8${qQXITH^PM+nA zzGd!Nm&KVnW=C|3qr=5WQ&QYA-Uj@i*6SAX>ATieFVl?(6-K5XH}*0aM$-UNwz{eAdek*!0AWwI56#=!}X@RUM<^q20+EXJn_%^az`S9^Q){a3<4 z>m>)ndI#$jF#jLM`dUHfR`Vi0HGf(inH?^tw&L3*?J~aJKVQcpuA<~Da3O_OmE>@Y zwmx^c8`WF-us&dgi+jkbQ1|A+Tm}v|rs(OXgX2vn_g=J&!^E^?_m*L1S9Q*O$FrKl z*j(R#`|_y<&oKMy89Ov^63Dt}Z>0?#!2vF$RuP{ulg$X4iYF6yk$u;OTtnE35o;?59@+By*f5mAF=R-;i$${^k#WlvG@j+S{Lj-Nk20 z&I8m6%WF9;l`6V7Owe!@Xd&BK#QgK2nJzmH@fJ(EL*e>6lIC+EU^HUk;%74cuJIR;iZ`$wjBrl}xE7;TGbfDyCI*of#y6STffhUx`8=m&8)(RoCcp3nVsCgoTp zhxDW_b;3f)Yt-GRh~CI)b!kax^b}ONhyYjg1~vzfs<=KrKW6xv#ysoHHFXS+b!leq zw-E+ZZ{sYV>G>4MB36qXKv@1*04d~p{IWV%G;(Q9A)w4@DjsM1l#*J=)_lc2GM&Bm z3s(qA;-x2POnr%w-xprDMfr|(L)2wm=+ONfa{b`8=I0d{W6uLarR>)s*^8XDiJoiZ zS8XJ4DLT`QcP`_-issI>dPGRXEqd-^!Cg;>m6R_1_gb3;Zf~}3k**cEw zY^6GB6jYP%hkHF75!8U&h9G6sk)dQ=1U|nNCk2MC!==SK1OJ;L&E(E7-P6r!DRYrg z|7e1?2;T|wXnB8P2tY+>CGUicf@o}n1~U`?jyz!xgC}Jgsw}u>8>2KyfHFXC>cza9 zB(KXm;O1;iAu`_lkxVp7i-s4i7{g91l2|_oenImuE#sHC2P*L_vONPX(?jPeF4Ipg z7Q#5(1u%a1Co(y-OS&TMsJ}q4E%qb@BsQxV_fLw1iB1I1^gBbqxDA$yzYtyQwg`z^ z7-IQcEL~%V80!Y&GRHA^oBNFQ!-MSMfxNq z_Z9;`%Am$Ij$$!wa94~O>+2$a`;o^@|6L7}{s3gFi335&dlHL9QA^h5_+GWw(E4Ie zLC;JkTlv~yD`)>l(^>yD{eOKJMmI>07Aa{MT|0^7;z-8-s`|{R`@!tsa3haS?6XEZ|d03 z*VIlsR{MnD*exMybIWLgh2Qf%b72XY`R-ta1$8m)OZ;qCZg@3Y?Q?y#2rynTsNagZ zwl&%+YV`xD#C53*M&@*ARP2ao{ztl}yU*~hlenR$S0IsRr(vmcB_d95$3u{oqVvRW zXxe-6!)eC;K8@#VnXPzSX@wthCD^H9>%K7|tDCtsMK2&?9^|&N_N)8E|r*vBXhZcT10biz)`Xrahwg2T00%6Y1XaI za|clIw2f&IF!SkfZs>%n!C4hJj~T$#4iy2rPyP}SHE_C$7wPKOKR0ggUnQpPy3+@! zVZM&i)*ID{{RAh0)7UeA!?V$g8IF0R3#Et8uOM$>-}swg%)7Y*B-uy3xB1@?u|rd- zvq#3d16E6^yOZTxb)CUM0pqnZddO~xRs*=({uj!K27SOEycTZ+Jpx65_ZgiL7GBh< zc-3{&@v@shWcP(H@cC{GJx#{Z_bE$Ite#HG)-G#rWD2tO4@Z5cIDwqGuFXS0SU=Vz zy^%J%&eHsw?DG~!?7S_~RJgLba7sdzd?I~bVexv*YabB^?$gyWsr^;?ywQFdyUNHnv-4x=f=9|a`V)R2#FGuz7x&#AI& z!vmdSsnMYU_a4Z>p&AZ1+=t30gDWNr(Gp&-M^?tAbM5AK_mg6cS86jR{8L68_S}v~ zoX7gS6#Mpp(#sdlCr4g+ljD_)ugz!)G8}J^EBD{TV6iuhfA<+2XPjKD&DPZ0S201H zH+Nh(;*A`L+yp9o4UG>{yYBlT%u;yjdY?EGt>icA*3<%nXx=1{)=@f-Im5zg3Xrx( z0!ZDRRa8cV_u#|sNb__bfe9tzvHXSmyEHnG+RNL%R!)X5%B>w2BlT#kNJ}t zCxh^V$S~2`T!^%S3~s#Aui56Z(B?-k=#@}er_;|SKhPr?WHd6VciQ#wAvsRf-USZ? zq}S<(>f9N@$CVBZ?j~Nta=;eEtR`K;e*LJT!~SpD$9WOv=+`!*E*7ZXgA9G)Gy92V zz7tjYfeqh;{-axfKNfJA=W2E5LmWFdSmX2|3) zEw02tJym!bKr^(5a&#Pm{TG??tolzT|0G@-3LtnT_N+YLfEj%6RreqDRyk{Av4W~N zwZko!ov^VbF{uYVlP#{@=A#HW_6;7Q(LJ3s2ZiQ83kj@P<6N4`+~r9(rI6Be?)a7R zLfn(OdQ>nkjSH|=Y&}t)-pNczJIRBY`}~m@&RdmH$@T-sK~1lSC?LNR$MEL~FKE z3eKb#scW*$F1!!y{{H<5Q+3Gy4~={8^7E!7!@}Z4*p+C}pY8=M>Zm-d4YoRr+g*9M z82{z5;J`Eyl5OutJGnSKSao`r!ODJxCKA!%Bc;FseKu^#>{_sKkdz4A7^Pmhcp zui=|C2Dafv!kp7L3sc|i3f?!r^uCC^_h)rzkkB0v4e8S zsH$U(MCSf$`mn`rL#vHpcbcD!c7DT$A6kh8j+S$l0tWsq1`CoUB#_cmtm4UTvrmH4 zP*qP8<^fGtnYN;YNy}>HRVj$7AFwibdF?_?60aA2=jS62CxUl_8=|kL6M7Eyr~aP> zfP7|;^}_W!arG;PoSki~uZ7^$hUv$p-KU347}JJ&niIpvS3>)O^iBlgv7U|1mvyQb z@BB>0v5uVN%;0p0kI6=En`79*Sz9dudovV%t|_Zh+PlwhJMWjbD6wRa+SRN!+1lFC zpZKTrCz=80d8^EXLH+(Zl?LR0Zd82O!v9;@cuKhGxarD6^3*xw)(em{k!uWxoZm(w;Of_L|6tRL95#@%(m5GBNe;6Cc~c8o)u$ zCIsysXi%~7Uj7Sv*REED<>aIh#ZqopT{)A8z;MMZp&OLF5esNNz)H8*og0(2ISTF) zvQwb2{BMxH=_Zs6^W)7(HvYLtfYae2l(o|hmk&!G4TzR8W?Scsw9bG2U83`+qAe~W zF#RKaVo;XyGgfN&sP&`-CE`{N!L^z^QUE!Ggm6>@ry&~6+wLy+A8)^V4i;8qwzQD(L#9G(0b2&6s%i=F)MnPB&(^y=$jHQ;o-MLO zS?iN>eouLyR@Ygyw{atWKly6AnaolxR&uu0dm57g4V1|CvODdMif!&k1ZwAdJI9fy ztbaC`QzPafYxHh=&+*XtvBrueu6x6F@9fO%C7b)J+h8GY9lYRjx;bvDD2oRk9(G; z>$~sx8|>DIbwsHxBD=})_tkEfAck#)*_23X=3a>=Q>$8xY?X`ISJ?!k4O(788P`krtK||&j5sdz$o=bdlf-Ux?%alis z%8}MneefB!$x%iTQP&Kk*m?1L`32g9#~Rv9u~v@_Vrm&TdLbv7d`GxDL`l@8RH# zS+&0h~e;7Ligw`dH^ z?gP2Q$+ioR=Zz?WijYg{Kj+e@b2%n7G3dgwx*dIE4j!zuHJd)K{wqj~YZtrv>HY!h zrP_BZDA+lKelNLpK&In3^kIomhtvBI;#N*{Cud-nix7BWec#$2Bb+nJD|41+_!InA zMv$v_d~K9Mg7(Bt^Rw;hWaXYws$opvw$Ojr4 zF);I*WoT3uM50EveIm(>T05AgBW5Yg{*5KX^&o40C;B8sP44V3#?~Jm?s=NMeyB|c zavS6Mm{af|iP3B8(0NpGb!yY8^a9fCnD)?cOo2Kx{wXA!Hj6BaEB%1PYjp zLX`k#fQ~weg%JZeYh-gw#3Ke~3H7_uYym?Ha~LbqK#Z+1#S+&OebhI=cbf?g4T;Cn zan&N8&~%dy4e8bsoNitr*Xkhq4<1#CLtOub$G3QdU(fCZh+sD-KWYP9qfE~tRad}V zf7~~H4TqreycZR9gRi{~?YbUPlDnFUMOOixRRE(@B#4*oiL>_}#-S zveDsIXRrC z;a3wKS7!Yo_ZiHx7pQ^cn8JGR3%dVMLJD1L&M$!?I}AJf#_8+!vx4VIEIT)|J88tz ztVD-54B$L@U(tqCS~#2k?C1OlsTG#Y<}1t2t)q}(NrtBge2}8s2b2N!j7=1?`JVnS z48~&-|1KyX@nhK2?`E>XE=o~bL zGx07~+t$yMAE8Q-F(3;99JG5gv^2N8r=Jas&qUc;DN@vFOU)@{w_Wk(e~(O|ycKlx zY_Ff^gB5^f{{PXjkz&1hbAG!ab;u3(J)eE{|LjTvIBrP}A;4^rt#OxSg?F8bFnT7! z(ovEQD83aV2AK+fxc$WdCb^N|ROkOb_T~2o3vdHyaY(Pq*5;!hvg}<|hO6(~d{f)j zeZ~ee%*4@&OL*FoQTJU#@TEx`Et)#v|C~cUKO!5A^?OWQ1D7Eety^FMKp4E;pRcG; z4|Ih@ae#MBVZbIx9WrH+C=^MKsQ)fpG2o(b;L52#BOZP)o&cJln@!a9h|}vsFo~*H zPKYZJcZBQ5Y%iKn=ciPE^#g_9;Ieh}$fumQqyI7S_=p#@l6OzfE6_~%b22#7vzX^7 zZh^A;>iWmZFr{S5UF3I^3g20Gf;~Q;P0+dIH3;=R-HB? zg2UbSRtIL`b|QOpvj-jI6nQz9q~FkcuC*!#ot4Q zg@#`x8n|->o==>A}{5dt4NU<0mi#xIaVP)b)L1z?#URSs^Ltsu}kDT8$8Q_m! z{mGGGMepVas&tz>(GZad_~U?)1X?>PrBpr(y3cyzs2+wW;;qg%*HvWiZ^?U_pRm`W zBHrFtggLWqY*wV&;3R3oIxye^Oyr5EKY|$%jc*idtCIJbjfK2MEA!4>Qh2=Ti!W=w zOuA9Ok3501PvU_n`=NM0mBH68 z8QX6@$F^35x;wP9>^r|(-Ja&;T9Hsm<6dzq-viD%jvW1#a@$snx z@2plD&X>$Z%Nw(Fk>P`e=2VIz*&Ej7LElT20H;$}c~oFyEVR&-sSOLF4sXGd)pKq4 z>qguP!Q4ROZu_k9jW!3$`>abL%K0b7=xW;g0*`>_L!HSbZIf!aO4Tv=*4ti*r~o z_MIxosjA`|+oBZ0XX6qgAogQoX<^ey;K|}{zR|1VB<-1zXby5CK-4JzjmD-9lKO0_V;;k{O$F55GdrbGHU!wY8wNtxiz3q> zq%d2)w>fu8V4ZmF-Ib_VFur2RG&lcfAO26hx&B9bMM((poM_>j3tS)C7!u%5$7L)K z`fHfYP%!oLNkvFSrv$W6IcZmc+{xh2l!HpQ->*T#=~mc13PD@+-nhBjn}At&O#BH+ zeoIjUit^Qphx&og^TeWMK&~9y)e=BWQgh(iYWw{NPAi{`haUCaxV2Pr#Okz+hsp!W zD7`0&_vC+NpOvZUZK`GHe(dOC7Y{IsQ`^1e?dLNm9R0y6O+wT4xbB2wYiV)1* zcor*iywUd*t9x7JYIx=C1!xITrT)m|m+v3ifoh)JA?CYA0pU{lvs||~H110kSoqWJ zQ0?du)%0NG6YrKd?C)}lph4B8t2tV134`4@+u>2EccDe|bDFZ+co9^yv$z97r zQ$YIg2iafhFFvv~b2NPds{hfUHPbi!dp~L4LcbhOa!+Wr7PNJ%3%3g>HG+!?>nu}% zg#2b~0;HL>kA-X+o)6<4=u#Y&NM0}h(jUKNUeQAi_leT;V09JpG_`_t(XkAmK+f0NF+p(XwhT@`75I25z~ z;6%n*r5>h9+Ix%X6dDyW!}scDMMMp3+3C5R+V$-TF-E&##AMWRu``H z33a`!_To$suw%nM0;ci7`lV6s>?d3WGM7%w`)v&A3}VumqyXXN*n(&~_)U(a8>b2* z*XiiZMBg=X!VEu-KcL=k@}8q@V*JHiTjX8C!FGoO*)&+Dhv%#y6>NRVn=?*8^`iH_ z!M!Ve1PCQP^+Hed&H8NX$=z0i*2rxOCm%=RR;U&8f9H~r+*uDegN$W~XfB&%@L>VC(< zF<1WGGID&Bl&3iKpGKik$2Bby6~2(;g-bWj+;Mb7@$mUjSmJ#Q=gSWxaWo*rVG~KY zYO@OyV`1oBq^;Eca)&=fNVf2)+am$Y!i8IQZ@JN?UROue~c&M|RK> zIZJb7f3zmdTp~#BW(wMQpWH0M9qLQwXI3r+x8yNdoTy1!ynHa)G14y4q9}OH`gm4_ z<=HCk??6AR0`v7OOMW%zmV+320t?l_ng&8&o-NQ4>nou^XpEg|*na_lRiwFk(4WdMq zqJsRdQ4ua0Mxmn*wxGeUnTAh0tS#hbh|Gky5n9R!u;Q8=q}Bh3@25vQvU^Wsd8Yd1<`P5vo#vc)8`)@ef;K^h{0kxit5@F zwq6;t&7E%1d8D>L+1}8vikq4La-|gIWW>s0c9Ao!;vW@QMv_#PF|u;>hkV?{IvO@d zb-AXjj|MTSck*zs^r;_rbA*ychF8^ zP%vif8OAOE2@?B@V)oY*KF&JP6Bhw$));rUd79)Ks05;p^Au-`>cz0mf53C3S{!cN zdQOFfxdDK9BiDi2@VIYDQs*65X>!?&wcv}}%2B~ISK=>5=5J7-NMYL}0V1C^c-#I7 z^7HMWS{I+!k(@at5IQ>8z(e`6=`Ulo2^(9!Cx5r^a`u-ub>^N!CFYV2DC2o>GbQxp z{qkUq>gM{f;eWWSaF|5gijk!iCL;kUrr+f55K}fC}>zdP?&cn5Dl5M|NHtn?ucgS7pm84cq&_2AWZ{627Ep_Oc&$?3PHNh-g9=iQ3B&*Xu?CqJi4p3;wx*QD!?5{lVHPW0Hgm?9|u zC=c(N!MmKO7|mr6`&3!ydr2WMhyEOlb-faCRy^XHa``r%;YJF4E5i6LPgtZ)t!8)Q zHyCa8#7jW^+OpvD%t2GbUYB{UK9G`fA?e&$zqY$3Ddw7HMc&wmTYhYeS;v z{XjjT!=LmTj;BHKwd&i*mC16QgYqf4=8MSom`@ZkiQikk9=YBz2rE$B#d{3DcQ6s& zGV<3>k!ZU+05eab_XpcX*9xG_3I$?ItBlI4{)i_@4Ho$N2Q*^~jp-djpSy3_a7d52 zBQ}g6x@RQsY0vT8c_7U`SGeVDSDX}?MxOmlydB!W6@bTO(h`Xma~dhFv753Sd=zj7 zultpwL|tFn;J3CmJUHOPetNkvYp2P=Z{B9%hffefC?0+~vMc6Jcrb}&k>5h3cj zTV|6|@vHn@(k;gK##=*o+7;0{8?Qf&Aw~xggs%3nR5=H{cf8a7g-iSbPCCm<-(^5| zhwrIv1&L5?BfXG+jE(x2$kk7vI;3eYDN5k2PjWACzSSE@j#-pNKwTVLa07SNj&85M zm|^6c`(^3nWG0?KSa#4Z@R0$kDNdb`zUm8a0uj#L`a*4 zj6>%L;CCSya;xI6ParGHvhjN1ZlIrZlG7&Afh-O`eZ zIbRP0cO!x|lqhs`V-*jpw zDq}hEBqWEn>kss;!`Cl!4sGUS0Ti9#g~3tXHi6lj$n7r(hPd1)ugJaQc1kM=Jp$S# zvWEs7OgsI{&%=+6owB2%S@QrmprR_AxUC5$;MarDzideM zi-ge-)o+3zMw^Jk#8boV({NQSb`WUT8jkoLo7rs~fFqj8OYLEP*fNzGrg`9bU)xa6!d9j| zju|pkIQ9FoSS0%RA}cs%ggfw=%dZEC$+MSTJo7i56voc-M?S)G9RDNpFPvR(WLe*tv6+cZh}_u3L~ zeyz#GKYa(kn`e;r+n}_%6OIyqKF;|eGOw&P-ol=6T^c^*Tpqg2P_-#kMnd_MHzF5_ zI{yY;H(v7~I$tg!{dr|`_VBrh-+kN!=o<$^WxcT5aQ*|Ygo@4KGZZxsr6K*}iwmm* z8|7P4PNS7iRn$3ACT-=%<;W<~Y!!pJ2l{I`i3jvp0@j|@z5h%BVOPW47@;4b2@kr8 z$%=8EB8u=lRc^k>2%$lguQ*!;^1n+Rx7EN%%@Re+Bsh4bqbS|4pYA~!D?ZCQkbNjs zP!=Y4Ao~Vf)5;%VR`*ZaMlFS>;Xf+4olP%kL|Qs;+;gN9`wpN12~1 z(gc}yQ_1&P$=#Mvw@UGX`d?xnN(E$Tyn`-+d{ICGwD1f|aNf9BSZnl8?ZM!#TLsYv z36WWsj|#jzByU!QHV!S@t4Bp7T&7OMdY@>mN&cEa@7ZDk*C&{-Apl@l&?ti1ihj_Y z_{;5_Ug9w0tAYbF@9~785A@bI zo)TXt)=5^aaHYLXZ(T^VETh=q&QyxcPU#dm%j;JU6$4w2*`O(UP!e;neWaycnZ7WL z1vS17_F<($hQ$5o1N;n%a3PF@MONjMtX3#|0nH0BZDLm5U_!6iRM5QfJ2atFaYvuv zZ54W(pn;o^d!Ljs$6~anJ@&vOoy<#i)Mxj1R!oTggMRcZ`_w_2maO#_mIgiopMgXN z8#~2~!HLZB>SMqz5@i3G))(Kzs2?z}6R@e6d14=cE8PF*K(`9ZccgIKt~(l&$;&!k zuyWa))0+Vw(O5PrDDAv9Tsxb{jcA45?E`?eI`*q4Ob-&5Ywl?&!)1>(SuJ4quy0%b z-g`(&{((9h7NqgFcrym@HT@glZU0|>iK(o3QjbzgSg&<*ViK&zT+tOV{Qw+nw_tI~ zQ264fOW9!!kK;E;h_PV7i(W_OB_vS=PA*Ypdd%hUs(fc%kh2J3E8^M7w>T!#omaaZ zj#M%Y)n8;pA0O1=)p3b!C6)muaLsm1qd?O52S-@s&B`6d#Y!==)rTA zZbPFFk8YXz0#&kSMdiD>5s$VnKULiODz=TNCDm`>Sj;5sy%c6Qy0La`h31b^|BI~9 z70rBFAzQQ4!~<0X^wgX&K*60w?Uc}fQ;oZtT!z+WEa2d~`2m&tSG}}{<4V;M`u~*M zwLCoc%^Q3`C|X-Sn0Vd*M{u`0Zc25~vuj(ro~CeS0o{8nP*K6oPUKBO@3nn&hNFW~ z5Ag3|q$<`L5OeV~eK4==fI2FyM_5i2Q)XX?@gbuR3~}KCb5*UGqejVzTtfbZPHfHh zOZO_@NlTDGc3DPMVs;hZK@HAO2#9J-MxQgeLke;omOTtdv8>C%hK>7?>r9X6;(Z_wY)E? zT5G&sr-9h)hU{myIS(lq1Zz-X=eqrT$t3pT5gp(|*OJR~pk1V%FM3^R^-G%`+XLka zg`kx7G=R=FL+U@RA%{W#u0s{rc2ucQ0yiAhaRtpWOY52jIb6$^y)J4#WNtPLqA66M~Y_tS3^t*>7cHXb}j@;mNV_M=c_O`BGtI28xC2sD<7K|i`&Nx z0cR@Ntn>1+q9V7KYQfuUaTd=dk0Mmy5N`hieZgdCN1fDlaN#G}5GQrhy)qC)gae^UG_Ey?P@Q=ss z7`@)B{>41yrWp@3yVi%X7o3!`&$!5-5kQ4oB8D%J_S8cHEfq}?6AR}rzn1uwk`lUP zp2K$wN#-gE$6ovPRonSnqIN~jbhnPp_1)~_6mm2m1H@=XAJz+hi#ElG$Lz&XWXL;& zb%pH`y%j_NaipU*M*|w&K=Xf5NPA#|v7>651t5uOmJrFs~6DNVhmVyP#n^3*i+2Ha!>f=tkj<9V%^}KFO5Mg$X_W;u@ zx{qfilfaVV@))&vKyRW~_Ph{@ys0kh7UwLbB$u~!un2Uti7DF3$}Z3P>Kr*l1ZT4F zu*ayGt_Az82j5rrhQm0KvsbY_Wph@DwW7Z5PanVQB~``EdX}iiN5>06X|*S5@P!T> zCbIhNE~I|ZbnyYr#Swp%1e;Ep1}@v){{epY4!)lHW|b#9r&f`dYK5;jPX@}?8N7hRrOTByS8W^?y zkF@}`^XoAVeVK+kBufp$ENE_X-*>4JZ!Wv>v79>Z=?eMcJP)a*v5YN8gojYx1Y0NBxu4#jo)tz z0Q6Yi{o*=fQ1MwPdCQ79YttjtfsC))+r8spd^ojw^5RrB`xHHk;!}%e$prie543`8 zfp^mY@CcA?gv)^PS4`4=9F6r9JLJYT2h4zuQZx0B7ZJu!f!A(VQsI{=qWt`eN*nE!+lRrkQ9kOlzKFHPc6vsqFz z7?zw%T2L`-9aADsX)&r?fAR)!yYDg0x!RU@vSnBV@R1XrQ<_l z{TSr_O||D~-*Tg z={>b=(aT$J$hd&D?1*=AhNp*-TZ;o?Fy`Fj+r%;;3OZABqhvZspFR%vPzv5oJIt-M z+cD86#@t5*BHxchkiaF6C+{+R^O$WFKY>adLLO80wsvL;1Tpc+DQ7st!MJEtcB<_O zQbBa28nX=mPVOOQ4z{a1iQ^LeEBr6e>FNBh{k&n3&>A$5nw<@(i=5r&i>yJpeECq= zUw~TItgQ_vK_Ad~b5L5~LLr*P@u zr?HRJ&mSy@1|<5h0NQtjTuyt^#D5ri4#@|M1ID0adOPF#oEIU=zbHcFW+BQ<_WLqS&j%n2@ zj<49>SE}x;g(R%)vyl~4mxeCLA9~~cJm#h$t36MBObs93)9J74R}=&0lrwq(mXy84 zzJA-DvG@|J1wDOcBGSSUzlN;5#MVqb1P#h*=^t5J_Xu6${IkWm{K5I{({Z9$ z*obq`%!J`rDpdiU7o80u z>xABjiTc1a`eMEOBF8?p-Q_Vne>oXNO@^-5QVX=+(0AKyy7wO@aR+8ix1qZL z|8;KD#!r5=Vm8v48&tNnRU&+%IDLgtQbXcK2A%Ff4|T=@p7-ZT0W*nB4S%|M(rCjH zgr8@ix`6sdqNG@@pjLZRo_K|YY3ksS;SZ5QpV;^Vh?D-FwMr@U(PiG z2SI_icn}mFRvpPg#mR+0v3rE&8g-ahZ(HJGXBU<~?MRt)Vk# z(qlv9_8y7+y&v!@Sy5YOnD?*y@ZzH)9%usRP)d%9Jhk!uQf{kA$-6&n`UI-;!^r8) zX-8QrtNdlTI+T`Uxuql9NW#e6DOWT(G`)ub;&Hbg+g=O~qqjRLB*&Th`ZcRYs0IUQ zO}7TcfHV}Lot=6FD~Q=8dpUSyA?*6V4OSY-BZ@l0} zEjnB2wIb0Cm^qjo>(2bQalKxK@KJC)%HlUYKL%u~+e$3t<5ubgf|++*u5aMQU2__gA&p>Hb0t!fqxcMJyQgx^s%zA5}juk>ol8mGgov=vN}H5QWT_ z9tmuQm*5*>s#UMz^`4z>W(Z`(%nqRP2lx3~jWMF=7fUV7D~b()?H8bH(Wc zVFchf`hzY{zuRiw_sXP%AN@IwzW;&+GZP%pBUV7(ufC44?%!4(?=5}QqYM@_tK%l}WZZlL zKRw`DTbdNi7r1c)sj5wNE|jjr^tM)*r$i7ZmNlk7i`h|L5>#N815$Q2^4~bp&@A)& z`TW$4#4y=1_r?7$G%JAvDE`27JAk0(Wsu->)gC{CG!B*~bio4Jn* z2-kkKhJ@-4YBJ@@qkm(Z_qCTtyWxH<$XChb2$^+5{rw@kN~>PP9h!8k{()a&&}sq!KK4TV(OKFVIK8j8(q64 zH+P8)=|S9k=;y&UG?$ZkGnh(At>L^GP3KrYa}+&mSUx=KNaOChQMUay&v4DT&_(!4 zS)nK|BCq5EQ}rKAoPtKwaCTx+)3@7s?7QCes{$v`Ae^iJ;&x#5VaJN0mosuu;68Xe zII@i*aa!~kFg%@?N>Sc5_4qkFZjVJdpOU16+c?ZQYvS!=CkwHBsOk?i&|8DhWm|dRF0e9;vmYNZ$6^MrcD(D{#e~2y z?ro6SkXUX1b%RrrKo-88ZbvPCka8{e*9mkG+7xo3!{9@n2@<6|+Q-g-5+yr|wI@}C z3ISf{>Ic7$kxbMDTXL3DTZkvfq3xr8SUaj7gBSz8?KMeH(ZjnSO(!lRMle=7`X*-a znpZM~x<1IIE1x!?Z8kSzuB9CIT7znle3$m^)^f>B`&dy1YFZJ#;C#Z}t61MNJge_3 z$B%!u6&a-OgG)LCEZkw+`0zk(3#ye&lVOGMpSPahD~UN@HiOXE+C?72d^M-?|>_w-z}E~>RY z+t;h=T;vN5Xy5cv zKb3;DPfd(6v!eDw+f=gdDOmvo$TeHJlfWaf0R1~o2k)qXDdZ$H)|d_tKFCI$$v!~h z|3k#n@u}Y;>~s0UT$by{)ja-fp@zFgW;PXluc8$S$a$NM+&f;6^aEt>;Dxte`d=b@ z_y{Hh^zLolY|X^C!&> zG2q8HERVvVF3~GJCe4RH11;`zP}u3zYkUE0BAN1fVjAFP=)E`baI!-szuP(b)e;y7#Wdi>Al zDcRC~cWjqGrVefb*tYT%8G<^Ai3FY>i(bO$3C!j^e7-XgW1&&n`#*(I$$lVV!6s@$n)EiT!c zzG_Nx53k*+`HdLnR*6Mk`1mYJ+WO)-_m3JUSzZK4TXWG>K~FBX-@GSL_T%xHh@1YG zzE>nd2@aQI)5@J!xYUb{gA$LLfqBW~%p<4pqbYDF*5i^Nc*A{qzINx)sdJgpPpFv! zlI3=&g9z?;pdUeg>*OXIZ9;2;)v5Q4eG?R&{*aQr&)!`Az1H@FKsJw=Rmet3;y(Dg zevCAj2vJP=FgnT3LfvW<@As3b7EO48;hIqjclgVo?%l;o;#L;Dnj9eoOma--A~w|F zG}e*5PjvVsm*aX*W-LPIbP;!DM*ltub|+%uJ4;y0#Q6ZQ{4xXFX%j1W15f8j=fz{$B=M8RspvDecB+4xSRQv2$ID z#kF?eX8gCfepo+KQ6>KQAqAq-ADkz}IRy4rse=|+SpMzBF~1nL6+(V}(j|cE?Zm$V zs3Y@>c8tWir5b;$J5fM(3$EJeHd7A$)PqN%GEM<30Rs-bpP%xGc!;eORx@1a+MKJn zH695wG356MAls>7r7A>-vM5b?=uqjs361yM!UZs8em@Goc;h!A$mO-f%&U*cU!-ds zGes&5gF1Y*Elhf=1x3XsK$ZsKExCg6YS7`oPXzC6k*~;qi21+e;}@VZoO3+U0n;C3 zIUYHH-<1G05V#MSrd~Ld+V5M)@_UUvJ5lu4851arDTRQX#C?r|227~6Pw@J7V1l%; zo#w_m72~HunuR;hN`rf|8a-E$$8%=TJbP=|y9EZe=O6R~xFgQN3Mi6NK)X>>)#pow zXBj-uV@-rSh8j-(1i&dwDYz9i&2als-2iB9@;Vric9m^r=mz>Nk1b`i3n z3!_AJ{+3GPH{R3V#a_(9ZoQ6HY)hwM1Boh8{mGnXpduq{QhEKc(`?9X;Q+-e0Tl#k zD@`5%M5#0Lp3C}<4g+mp(XNNCR%mRuu%A!APQav}V1Spf*u#kt&_?HFVAJD7p08F+ z7}gvrL2wKy)nU>yN>mb&hIB^q>s3@uUQ~iLfdo`qVKhkb!5IeVm4E_-w}g=j@whu4 zj-URt*4MF!n5Q&r_qm+s4I0qmQnfA&D?&n~o_EI;FCp}#D3}m0n;Ae9W(ysaR|GM9~vT$Xcjk|o4 z?=&-k3!#z#suP?jRPzgIW8alW2^%!M!2fW^pF;CA=KvqiJ)y!+a-Z&;Ex`0#_l(&W z$Acv%)pjWwEi!^ox>@YDnxPU>ri-7qB0^RPSK%J8?b}9=ne+%A$g9Uo*kRY}q`eXc zE4I{H4jNRw%tj)-v#uC}0kkxR-ESGx5(B>(uf(eXVv9;uZ1f283rYmv>l(0jOjom` zhe5`cB_7=^Y0x>-H-X3H2kX&fkN(+DmX4Es)3vTK8!gTHuR!u$Gw)Z8@Q`GqoB;hG zel@>(mBY6vo4-$dHzq%_1#){1saIeaDKtR@nqaZP6m>P zzqywd9KWJ_dq#abSFL!|=U2}lWk$0G@IoL=1f8Cms-2IbIn!tU&R8<#mF~yrTS~YM z@Rnz`fwJ--K^0F1wk4u9JTC^0N^MVq*&up_l}SS zq4g_#t=r4!39?esPU>^0RqB{@EG-qk#{q%ARWGTY_lvJ|J{pILAlQkb*q$HJo+c_H z{fOj4$w7P5OJe!G&Rw$I_T79dyCAH`=^=hC>i{&+h@`vHP_l*KO8liNcGX9F9p^A+ zx+`^R?5f~kQk04vL8(%4upr!OB}WA=i=}GpbAEQBirk%X73fr15xF~z;H7_xw*?V0 zx4z(v9sCTqeb%-bbBUL;HMIyBCY85$c6= z?|9KEkXzFG515d|Jb~e?>5G2rknje%wLD7qoePB(yo=qIck04%Y)85uA+4DfGa~3s zg}s83O9&S!SsESTiAx$U?m7F!MLiMm%X{=ke>nelfnMynmt%YIs-1G((ye0E8Qi(R3O}9{Mz=Oy;?xv&wMi5Eo z2cz~GuiGW{93+PqOcRahfM4o-SL81{%vXtS587(yFOc zZWE?C34wH6Cge^e^QfiBTLrWRH3>0k0PC$)11%uweDAbkfm3PEY@vZfH!xaMJvM

?h#!0PE(NE>T!d>eA2@mEkmI8 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

    w#|O`5B!X?zeU5U=7p<3R}Cg*r@eQ; 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

    t3d^33u*3aUSBb+$27i(Y?|t+h4T;A0 zKfWPY<}Bz^2}(55K|k)=QZB^p3s=42%Z%nz$;DB*?_HT}2%3(9Ayv?U)_iviy~=1E zNjt7CHqqSA?$hiFCp>y^&EBUJeTTuo>!Y520XAQg4z@Wn8fO#AF`x3Wa_m1(L5AE0 zl}86-J_3>D*1kzJ&Y((!@SM*HrQf^bcie;WArcc#?<0{^9d0zBat@3y$bWuA(C|~~ zKGoUd%|7DHz^;3r+D^NVLDRK?LXPsM*fs!=tb{cHc^}BlI`$;cM(WwEa&U(CZK4T! z;P_jceAp!8ZeKt9xmE|_)`qtC2!0M7Z=z5R{Z|nFo zG;o!sc)<9zL^Jh*MRn{7>W6)6UVX9(7hbt|;6HfgewlrVYLabe_1jLKj#Q@$`QJpV zgfl=hj;MbVyRpMK#pwPfnvoqT<7@f{xYfJ*hp%SU*VfB(G-WISqpzG>V(sPg=wpmA zb{T%P!t-^FMko1?w%6`r-MX{J5+P~ZUfE`VFfWpipY_9M_J1FQflp_qbC2fTM01ux zPNIQAj*c?oTtdS}*GECuF%U(E48}haWS7zSKXqPPqhnd2A*Hba8sJBwq1X*DTd3gv zdAuFpFOwc)lyEkI6?lb@cX`keoY80$8Ilq*i(j76 zRUL(3HHl^%=yjq2R`?w8BpM7ynPlWYa_QyBI+{!}`3XY41U|cohNNI8xrqk6KJdVo z0dAsU8SQnV!3q+@iISJo?4a|NyiTHFX_Z9dK8c2a$%y490G;pML^F1sq)XBuh`Vkp zZly}^lB|PjllKyh-$(;q(Shp|G<4n)4aa7NwrA6yzDzW>qp>#6{vu)n*0aow*ECRg zH_-?zes+AOk7WC=CbsU-UH>O&CkvR)meUn(wliac#(=i z_Od6%1>X7}us8S!LS_G-0@gI$I{4f`SWv*%Ms9El=Oz#6bnfY$8K!jfZLUi^`oOk0 zey5%-@`$V@U;UZuApLU_&9tS~2Gx(oz5Hc~W+K0>m+axEftYxQ#??uDTFw^x_DlPr zaO~;+$mR8x@5ehEwEaUS8gxH19JQbnvh`%Q^gXulv1)mJ+-E)fQD0MyKD+jm^TEhT za-4YTHTy{{IXLup=}R1`i8jS66UtkAhk$Z7aW!(%&d-U)gku>4hL+C!1|Xl1f-AiL zk!XJX7yp*T^E{(5(fk%LosFQc!{q1)8Z{l3)1+Gis;IGO#Z~dgfbG8=3pB@`(^hnH zfA9*xIeW`2wDO>kVDH+(2hLrXoT|T zL=&70CzQxdG_y~19tSW$N7XtF<|zLf?x7!mz$IOFm-VDipo$O5Z~qjo4l$%9KO?&& zq|TC&as=iaJNUxuc|^9BIE71D-}uF5z6fBl`PR?Tn0%ZK7#z^YhFiq+pBr-J@Zx() zG=6r**^I%`WN{KkGA%7f`~>41CI1=u=ZgR?Eqc#o6V0(*G@-nD@rUHpX}b1>P2tgP zqfThey7%6rL4R|vOB;+<8o?f%Nd#_bf&chV)%;OjJcNd`Bsx#I8F=-_)v-Y7TpZYK zlZ~Cr>)EFRn)G_%6#M!0+8%8-(K!2aFNlxdm}m|^kC7;{Q(kO|8qto9(EeeeXi&J^1u-y|Ex`prw&0Ykjnqz-_lG74rQwy=LM81C{v$@ zhDQ~|v0a#j+xQl&%1d_nM)nfAaZwrUPnPSG4mdUt+t;h7uYsN@!O;`&$D4HEaT87P z!#a5rt~kkI1mvLoWrWRY53k@Xv0h$cc#mGQ+Ye|r1AXi-?RNRGtw;q}JsQoEeJlkF=r-fZeoQp4NHhd`fDB9yWSJ~2$OiEUv zn`m@^md#>dmA&=j>`ZajQEH!{3Ph(bn}bq);CuzLA(A|aB){oPoyhys@yZ8|HFTq# zf|iM99C7@5^_?K#v59OXl{!{HDJ}!SagH7C(wz=)c7q`^jh;L++4M&Hue!HTXIFoA z_TU$7GERX1Ot92Pddbiq?($_rm$FDe-gBulCKGZr!gpzDI~cz6(sGZwG5M0X3TmE@ zY)a9+HSH1`>U#sQzQ>n|Und&v4PY|~b%$fO1d797_6K*y$=)hZ{ExsMFn`o!EwNV* z9xzDgvn=p;bS|uFo(&uh4ou<(5^a}{fraa4G}eR9Bx8d4^gDI6yMCeV)cezn=G{ai zBz$~5(WqB&#hf_h&_C?iM8A?h^u_gvV9#Vz|Mp!+@Al*P+GDn|p8W`(6N={ve>zp} z3@6rsmr(7dee|jvKH{waZ6Z84PokmCbAMUCAAIQST!#-bE0r}c0(%_!9}DUx{Tw;C zE{A4kJW3Jg{$4sKc#@F%i@`~Z%1a;A>H(Ja9Rc)Wq2>q zIG}OxbrTJGKsNhriRM>-?oT;SqVW?WC(-oV;Zjr)2r!*s2_3#=hI(&$%WS+^x4h9Z zWq7HK{SL+D+molg_FQv(<}j%65*;jkUsaSV>j5O9N)%9NXuuX$zhI^L9+S-jL&P2zRb~}mY%t+@Bme8jU zcxnUrv(+9?qS2P@eydHreEQw27IcrPq-=s6d=k$8b`Ueg*3C@aWNMXt%clabUjd;^ ziFNo&i4Um+8Jo!8Ni-naEe)(){-{Kw>@lDnwvVL``Ca)q&hqgyU&7jU_%cApXEp&& zzmu=_Z5KWmw`?5W3r?T$DwxW8BpOTdzgLMyF!9vULgSwTt~jCZVaRxW>}4A_XpG|L z_=OxRTmJEw(UjV4N449SOZ@D~>fg zZoAX3YANi{?|X#Bnw7uu!S_Ha4&^)jlNn7*aoEsALmw>B5L<*fiN+uPdwC=p){k$Z z`5pSe5Gq~6ZxDzqw30-cGDE%2G{JGIVvIkOt}-YGK4sfDL<;1I`_k%Kd;y$B3$x84 zKJ_ZPe;(sYr4CwYMGt{*qNzg%2+$}@r*}WFCve<*Hg$?!qKlI^9YIzg4wh;S1``l; zP@P#h&wk{Bws?J^kDxruKDK{KG&#KRt0z0v>P!73@6l5_w4T6bFzfnB&JvBIeiDtd z8J5jVGBd?Tcj(2Zyk-s7`!(Q74rn`~GojohqfA_%SxL!8KB1?BF{5b;jYDf6#Yq1A z#6-g~9BrL>jXcx~k}TlRk>%%fh+cx61Q1R2pz!MNInfZ@)1&R#W(j8b5}yCHGw5<% zjpdx^7PfNvpzo?B@7V8j{+YpQ3$e4=wpJYDdHH#jXc(dM>!gn8=3xeKwo(8R@swx` zwBlIQ^fi6j#9#6U?57eSLGj#!+w4C2AZ{TK~I z>?^l{7GCXRvos{XhCFqJEH*vuM`&Q5+TKKC9~_=$8E4vCB%bUS9?FH>{vb>BT><3l zBpTbf$&2m8;eOisB6?*3O?lVS*%a97{9~u++=h)rop%iAg_AUo+5+ zMM<*d^W00dKdY~KL0CDJ$!(EmfpJ_ zZ0W~SHyik8Wt{%Wi^{D9DDU%(#=#$S(Ypi063wsw?0@3E6QeGl^M6V-3O(;;zz7YF znj^Sej+5(@8iZY-wzz`0RVY$ryGdLG!JUL6esJjYD)vF?3EkkEzdBCXlG^~EqOH7& z9d-iP&K3{wF)Ru^PEk29iZDtX2bn|!+&apUp$o0Qwumep z@fs*^qESa1n8RZmncCx1qOm-(2j9_I4r8KGK`8_r918{}f%y#;X@07M2*XClDM;9X zXjcb#wn+gAyp|;swxa_UeBVhlz67fys*~KJ_O>O_xO~K{#uqk6zBq_(Jf{~Q57rLw zLq{}ucHhZ1%0~I{>pdED=+aq^j8@^1k7^m`wCkbmWsf7`RCYUCg>jgL)@iJj5{)JZhT;=?DS18vKeU*bMp zD6hfki8l$X?~h-rw&8dF(lEOW?q}N`8+R1undb&*F+ce6qh29U|M-tCss1Nf7(@ZH z&@IAfIz9}%aQ`OJv{e6U;7L2%+qNV8gfBv3Wjp+E%-@L$`iNEVZ}iHiX*Xz;3410N zt!3}@QBipACY{OyuwZw9L{uNrPnGF;r)(3=#210TOf>1mhjyTY1>r-Ul-=uDVM2fVG2Z4#)r8fKqZc9za2 z(b)N0iQpdV%dh|C|HuH-8Ju^EqhYFpAreDH&|v-@?jYEI>W(3Vi6iBcp@p^3 zPSLd(r!L%UTswD3Edz^W5G^_pPV@dkXZ=7_Vm|tmsqV4RFvkkOj!b8$V;=f6T*sIM zVgizy&a#fvIoGvw#5O!kq5-xJC~=uG@Ntl_6A(B*j`MniwzS1tqM5*S_z10k+*9Zt z-z1uJbQBKn!<{3O=R_l)*04LP@hPd^X6OElWzTjBX0Sx}^04%8Cs0qc_8ORyO#zO! z292H3_`M_jz;|?Jh6j8JgVBA-$-oP4x5Gy|nNIpsi6;Nbe&=C;lW4Fr|Fq?KFKA?k zH`$gB`)Pj?jZ#Auu_w{UpASILOTu>Ts?73y^e+3IgCRe`*GwGD?Bd_*Msz39)F74` z70b&_H1bWoi3Xf@&oX%F}X*lY&i(B-DZ>UiGlxUPSd+KBAlcOc8XXUj`qX6*D z6O_uvzJcx@qc=7eCCJj@3Fw30z%z-)r1%`DUF~=z8WGrDeq5%8w>uM1eyVK$oM_}Z z9V55L+YbP){M2*pmS5lp9Ag)lNqp1Zvf)ozTU_@rW!g4$aem&e-ME>NUMt|czjWZgX_72dwC$&t;M>mEDhWfycGV}lLc|9c> z0<(SZk!Tcz4S!5!oSr}$F9{#O>eE4zqs|dOrmWU6v~PCyTt8jkQBLdEp9}7{AsRV4 zl>ril_-83abm&iN`b7JiL_?cqqsTn7YH(op8EDZmehz(cXgiMa!|~@5&CZabAT=R6wmfZo&BlMO{Ju$$+~q`mEH z$mP$jG+`fH5YeXZ@;vFT=h!^2ftYy>*s-8K{FG|iie;;z=CiAA^xOavJ_?u7?z1L}-sH#ixf z)D2twr&k2=m?9FY`T^iNz}sNpTAr~DoAtGaH}Jpup*O3j#}!nYz`Jid+qOT7wfl?| zt)m>=C6O+4Kt{DC8Xb;v;GJ2VMAM9hdlq*_lU(4@emU^qFah5g%}q4BbO$Yc+Og<3 zIC|Se6OLtnbR%Acd)mD(vSqDZFZtqx`Y_-!qd6~>LS<~}z)L&sph%Rerx}|k`HH;E zK1+un@6l|MY=Of7$|ikB@^ses63wd_4TPG}kl-G($0Y~TN_GO|>qJA%`dLRkRABe) zh27sxH2SK1QlI@j*Vr}W2;U-V=iHx)M)sR%>>t9{*5f3aFl?JiG*9-+_Tr!Zla4PA zi)nol%yU1oT(~ydv+oS)#vH}DaKP3?pLeLGZE04${TliQzYh#pe(OE=!nTr956ZvC zlUUC6sox}{4dls)H3&FJi@<*M9WnUQ2kZZDU6K(HPjWi2z|T!I*#C<}Q{P7~wD+E;v-+3s|Fi#Yo;vGA zGM_q|L^D4VAOk9Y_K5i>f^xv7LUdS}db=eca30;d9))WnjaJ9r&O3=F&j6PHjb;E_ z)LyoEw5&ukXitTS=D>%<;HOg7(7IRU*AdoHx;9IDy)ZGc*QZm~i`fWx7ew%U_J$fPk_z%9;(>IK)>&_(_9te1qXe3HMaP%Gjjts#e-_B@2 zJWFTd1xv~H1Rr47(#V;g11C?y zi;lD8l&5g1G;~kE`PLa4|3A?u(|>`|_OJWN^uw43hkR|{R3L2~Kl<^ui@fy3^#-4O z#h-jhpFLUUJkx_}`~leH7S{7gG$(fX?%u??rF-ZZ+k&4#tykeKp+F~Hj6CW4lxtrD zF?)$Me;xRErDeK#lW3f=7dO)1lMaNJCwUQ#8;pFBXiSjREl-DGePMNU(#s@1ile2X zq&NFbG_?<7^s>J)m1yjHCYqsjA8)n~z?=H);hIS_|Lr5ud?d;EE{*Te;B1Y`p)vM7 z0#MNKPsZ7D47j-lpW^;%k#??Pm^LU}CZ_c|xK0h8uO*rsMTFvd-cWp|%K)-q*9Nn+ z+Nd@7eJ#=G+;w!0DQh}py*M0854v?~WSrU8G0IX=o*0?>bJKR@(Qqem#ZdqNE*nWi zK~zqKJuYL>9onsD+S#D5G~?gfkp;hrhV#pga(d}s_H~p=a0aS+*U*dR@P88xwEDi8 z0jv(KZI?f3h}O-v&)4X-nW2SL82}3mH5hrmoY9G(Yj#m^=k^|S4!zi}C>v`nGOV!<9gZ+}iS6IU+$q7Q$89a-zMcvAX< zW;&3^OCG#?A-Q4HX=$)sLfX9P+@n}rveAI2J!*Fz2^eno=DOO>hxAxZM|p6KwXJOV<`{2Nqh9Sa!J3= z;95Q-!cBGso5bHl6Us-MI_lE1^d=hV5TGz5`w3_vlBL<8=iB-pSlZGtWdAOm**?b# zDQ&jVJuVLAJi4K%r5X`Yo`bY5~*=5(suZ2I3O8X3$-N;FhyuLPx8 zeM9->VcII|@rMG8b#2O{{~kG^k)DL7d8!Zx@ZzOiH-e?x;Bx$E-XoHpiUXb?H|z}V zNU3iF4RW7f(B+vuz|Vf<4O$V|Y~yYm@MxmtI11giv}@)Fp1X-tz7=Bmm#-}vFbRkg z+3U|-r#s=ceLUdzJq*PBH1;a78yM&9&G6ODa|rL+H<_{5i+`MnH(Z{!dj|Fvra8Y^uyIGJ{p zi({%P2h9ooI`t%)Z70Kv%7h0gzq&pH;7tXTlIAl%>-UKGtu0RsN&R#^s@p-6O0MN zN7d>&dda#vN;dpWITcwQf+$?wyqD(BC7Ppma8H1Z36QCKUraP{xZn=16Eu$xMo)P4 zp0YX0BfIwN$hn)o=)Qeu3jJ%jd@IEAFWxO0IPs6{tw4Br6AkC$osse2pl!McpQuE( z$?^CGb)zq7SwGvH4Lz5R)Ny(lXBwGIGV0wY?1~S~#dfwwD4KnR?_LiWr`MF1<4(J0Pd?~zmrkp04dA$GS zyMOjym1yh?C7Mr@Xbh&0r8B5KDf!tkUVMC(y64eW0>Z*{WR5BS9LFK;L#;<{qR|QN zsDC?CG*wm(%JFR0SFRJBYIs1Yl^o?De2-lcyzC6tp*}Vgrs3(}D#t+ooM>7K0m?)( z_zyx84ZEG7jyc$5X6{|62Lgft@i+>fPbuLH96DS=yUKa~@`BU?Zz?p!_L} z;LE=gU{0cG#$+%ih<{?)vrZ}kN8bfD(V&BF)DsL%G~gL-bSULmI+CvsIU3fnagJ9=D2utcDpio@)L0wxRevr1i_PN?2tlM zp2HjD_Wq2)y3Q=S#~(#45_UJwoAP^o$_eU}m%Nn|K6~oSDZlh;s&A<$>)CA^eLEVv zNyfyge(7l6`Gz#by_m{R1NhbEKJP>lYmic>R$gQ$(UhpfsSeg&25ze@>pqZlYj=E( z=JG8>^2*ngEz`@R_fYip)u*gWrvL|TaE?D4>_~(r!? z&sd8l;#z$TgR&-J%Ed8w@<|g_{ZnCAM&-CEI}DG(~WpMjNXLpl_%NvX`|lr3G%iu;A?nG|YKo#m z`{*G{J0^lhq7joI@-;T?I-AQo^>zX~Kdt=eUv#56`nbWv;P|yf0}eky6L0bdzhh^- zKoSvECphssPHpJb!qi!A9!6K?Cxdlwfw$3I25Cae0iH=W@>9+tQ=xl=rcX zUclv6l{)1FJy&YGlA>k$&w@e!^^E55u(mD2&HKM2UN`-kAY zOK0Exr~lA*ZS+&9u?`CF=38kJffU&SdJM` zr<_^9?aa0b&qY+pBG3pwFOnIMR1ix!Vot+c6DWG*_s(ckn(t>Q zlYm1}ezPh1XvV@%HQ&wzkWa@McWiJIk+3i{FQVFMs0$%T(}VQkFQYi4GH5M-(H?o? zVEHXzY)2AAzF-yl;x|B&X!=wPK|I6gFk(>ej<`)U^TT94u_fLxa9I5;H0@}(^5zRC z0JXGW(wIO{U>Ii7=X_FUXBj%6au;}>6OBp6#29l!O2T#m_^@Ms_nkgQ2XN_a*Le*- zKqPnk1Lv0k{4~G%`@9|Ri$rr|Ob=j4Zt0Eu$G&|?7QTA;AbCm0f&eGZSxU7)K1W77 zS6^`M-ju(^@f!x{@Pp`mL-4nM!^hD131<_HUv6$zqg{|)S$(+;;54y1m%m4%5!4aq z_?|Y2BW>@_g?e=6$QgRrk##`Is(xTbTFGLC)Z~HPgp6L#Ox*MAeFA;98#{$SM?Z*+ z0pQkNci;(L?LB?jcI<2CQ6@~-&Y7Tm!JnOH5{+z4`-vyR8>MYEQ^vUh_27Rb8Y@Qr zjV>c!aNsK0aFi#TiYpZUfo|ns4_-YSTGT5;z#P)M(MwJY;v>^zNs(*xJ$f2{ZpH^} zD;APY|KQXH?So&e^_Qc6L65#YKbs`CJa#SbWVmw0jOaq4z9paF4c<6oV@f^LO!?G1 z$M~{;%9qz}LV2)(euT{V0rop~)Q0v2V~qEmfmN2%cVFI5G>kZNFpcuHM6<*JG12r! z?+U6=uQnMxYlS@qIUPhsj$;>~w-ZgmUXS_5wYMtD^!Vu7eNw?kT}v9g^TTBR~m_8SQ8(wt&Au82DL20}+mzBQM`MqBp$_ zlqEVGKt~i~OzLo+uqEFZ*v^@uD<;8NkFEMl%f0`BqvX8maP+{}G)Xjmf@Z#T=4eD6 zG};o&?HEID`lNE2z-E-+*N1!9;4Fiw50e_3JSGbx`+~0yjXsrod3nreHqoqn=~-%m7y*MQ>v*qdnT_v&GMmM~e2D+(*CR8n!m~Cwd|y4*X#UjK zfb_^V_&6~cvRV3*iDn064&;JeK8iQdd!m0aiWunZgk1T!erp`D58})82k!yTmjU1p zyf@K&U`FG}tKZ7-^D{kl=F*FbM(_k)BS;i$7v4rj>Zt=^vmTD1uAQK>0Vsnx{Tx?6 zRHK+3LCwfmCpepUt_n}#9790eBAT>iRjv|RDx-NuyAw#qnV%DlK`jMsuo6zkm9pgH z2s*ln`mnP<*0intdZI~xw3&nfZ#ly9t--wU9erk2jF6S*(6!C9lQ0b7q|Myae?3k| zvyLqq21tS!Gn!tAq--{TNM!tmGfzbMQB8jIjD$1a2$QZs8eWclXmq-Qw&|%rmy-Nd zNM}n0%CiJC2_r4l9y*QmP2P`0lW(Y}lGH4lmB7}%X)u1_RlVS}JswO)P}j=yk@s)p zr*5s_+6lOE@_DEt8K9Hy^xO4;6m^ufx?APkgJc^NkZ4NU(ABn+XrNkvP~igZOxOhD z?)yn38ue;I&!z??ep2E0C7Qqe=JQt)jmZiGv1)L3H-I>B@kvMJwQu?J1+SNdy-&pAuWV8%uCK`1M66z*V=u?%Y$ML1wgL4Av>O#CH=tP`8Qd`<& zUub!J<|`h?&iRY8n!_9PW<+oM-8Uc#5~>3m9?JGO2knE_vNNaQlYe(1#i`$VEqZ}9cd4TO0!8HyvZmHui4u; zYL9r72lwYKW+e1nIOnn|-h9V;KYR(FT#wzPKkcUZ^p~MeyTi}Y4sz*?d}Hq!Y#0?! zALRTg(Rgb_eLf|ce?5uDr()bcxjUo57&uEq*0I}3>)^*QM>jI5 z!gF+;zCM#_^?F=wy^fn)e+Xn8X6uXeuGAtm_W-^?{TjL zhY<$IIdTRbTZ-2k(*^S52$r9ETd9Xrhp}AuS1)3lqYc>P<-J4$YP?+>REKVF>20aS`rl17>X2(`#h>ln4T_s+)ZZqW zZ%j1&6vJl{x=-DFu+2?0fAf@R)Y%3vWN3hq-r!stvTKJg6O9jhZ19nj0tqK7SpDK_ zxl6KIF5d{Hp4RtgfKm-@ObE0!poEuMYKcZXtLIA(I5DP+uO%Aj?Dk%wnYPofhBx`M zZ<46xFMgFndn@PiAWlI&@JE)fpIXN@a&scU+Sj1ym2wL37yx^1Y*TLA^uH7P+g+Kl z@g|xAcW_~(;%w8n0DKdT{S-Nib2^pR$~gl%hf2%X@*qDet30)FR0qpDhS~C^@1>`E zIdU(E`Z>_~zV?z2&>j6OM3?p#6&Nk(mSE(`edu0&+dy3TlT=7D>f2#B@|9@L>kaAv zTt5;g?C<;388aFK$vcUro5>M`a2tw~FU~VSOb(-VlCd6#WirN8HXY-fUrh+FW93v& zj&<5bPeKaCcFGfYik{1(vB(EhnmeuE&Q|hp%Ho#Nc1ClSujrT>M)`zIQs~tJq`lZ? zAg_b2PN-Mi!WJx$r12B?3^#NBKs&9xbc zrew{G#`lMu(Rh!>SxS#)GXwnicYn=9@NeGSqtVyX40OdMPHj2&Vsa0cRb^jkkfpB` z)KA9ew3VD$FRqWun-XgjzAO9se%H0(53&_tYBzQ+;2C{y;FHhB!!!`36t!toE#XrA z+rLMrLL9sW_kpUdB5Rx4X#@P^TN6!oq$PAe=5x?ZR$-yG=F*?E>$x99Wt;CA4Ni0d zOn!F~u{MP8Byr_A`;?17_%?NM`>Xtj_X)1+0qw8)5N!35e)bkY!9BfTU*xl&Ph3HF zw4oLM!F}|vp1oE>9#5i)kbFFC=knl*zO0O0@?*iZNlRP9CyZFAz=Q0xSFZRt{BX4F zG#ltFmoc!pK0AJ(?xqj+n^3!S_5q##Ormkb`k2v-z)GeP+%P1UmQ2T#DeKm8haCag zltgY(!A&%PuYk8bPL*=QLz8PzsXT30K_Pg8112)-FkB7_3n$TNXnU@lUi3Pc9o?zB z$}8DS8!4;E!~ck7r#H!LqB)4*3$4^bgU!@`VJNQS3Ht(TF&F;5>( z4{R~-C808X19`rhXtJv_4DBc-bw`NHm(;2D=g1L=#W&W>LYJwthS8>xpJP z6C#qa;Um#-o$cil8Iu=&x2%3BY1*8GQ2)io1>piK{1xb@UoRCOz~1 zK839>+YdHo*vhu!+qR@ccy#y65{(!J$JY~$5W|Ol;QcyV$%}Eugy&U-7wt zV$bGe%j2Ry(wyu&9a_$5#-B-cI_3nZ^AtrLMn?_3?NK6l*KKLY2w#Kvlut^qn%Zci z0oTftNBym_fU8q4d^icFCrA|_x1&yHl)m7_KGB`g2q>6#frc_@ zLj!*Qs0Z)IbgvG?53IC2(r)x8M{E{znEN5<@SQ~S@b_BK2At9@$nH7%eEIdCkZ(xl zbheO|X#SQYxrxR>KueA*JMujeBvjzVUS!)o%E@`OwE^wYjX9qSkRvCGqQ{t0`Sh#u&{El%|95O`)H&`0+(prx+unV$#U zsT#WazW*=p%UizcIsb=Wc)5Iwf%Y)epz@W?#k^%(d2*!$KXj= z6X(hgCN}>rUygzpAmnT((Kzz2n_5Q(c$;6FJU#}9ic7a5aK{dH zQ0)N+(0-d}lz4{wZxW4dt-~%K^q7SyT6lY46wC*C(+p4?f+e(kuQA%xzhos@K&GF0P>!( zDeov;oR6+3-p*bdYoC|6?K#n$g#PtJgPi!*BpL>y-~S6gLBsnOZxf9P=VX70 z>yT~Jnd!=tD5R7?$3Pl!nCyiV6>mpZ$OILM4Q%I8!Op(rgK*jfZuxuLs9+Kn_0bsY z18u#A_onOXM04xmEhELFummsL!~^XORP6Jnx;)Rw@{=!Ou1*?F*aTVb$iO<~V#|>@ z9|uzpL#JS6!0Iz3ApqsUaoVr(L!^lE8(J~9=U6yNbZ}gT0V78;pG3oK#zgZcCYpcT zjHYjNsai)KwHuV`LmFB-Qp({?J$cij_(b3K5o8U|GEYaA8AY@WVemb*B{fGPAaiDm{{>&sT9CxF=k)o$XICbBw1eBs{Li!&Nuilyq)Ni=`YQ)kbKMtvqb ze&uq5K8F0pR;(WlM~uVM_(S&D;4L#sl%0a69e(5f*yK%}4v#qS%0I=zO`xMq0~C2e z-k0Y@1207q>J)kek5|3p&gj%Z^#Ls2C%={0RB;S&?T!wg?$O9kH{^PcSX+r0`G=Uz`R{x%R2UO2gg59uIkhN}3}R zN4-6t#;@nzlQJ4ZCNXQdgC<(YdJ@f444?InW6v{ize*f-?q3nEZf=?EmaNzQR>bE? zH1G*tIhJnvUR}kPG=qorWw_7iM29|QzeN_f2aa?5pAW{kbmjm8ICWm4;XSyUXnefc zWetX3IG5|S?l|3X?jtnFRqlTniAL=qryS`6Dh8Q7oj;za1b!MAMSP~SrCI?}p77MG zs8yKGk+axTrP|>Mpl2yZBiQMEL9ULiJ%aU*Gd((mI#XYsi({SJ%R{FqVz8p4`P(h? z9)baX@Q&f_Xp2XIat!dja=ct6T9asSR5{YIHGVT1ZvOvZqWO=$`Su^}jE2W>OEmHX zP2b=heuqT^lQ-o37hV$${!yYK*?eZC{yNcss1D`RR|Zda^({A!Y^f)R&r@e4o7SL} z30~E|HZihtp3cE#)g&6*ITLtJG~j+G(SRkI5Bt7OGzG`(EhM^wEyzTA5)HEu{l7$b z^bdgcJT|pySz!F88@;}$#**ZB>iAbY6oBlXdKiFvG(VYWyr+eo&@&XWf9Ul)8KYER z_+^O(e#gm1r|9R(3qJHA(h@Hmn)~S;q0eOm<_likk>^X z_@`~g5{KvNMfudfx*0pPQo?n5h}7u%k!WOQV~GBzZQ5$F=Nwkgw?MwOEMB(a>xl;5 z+iqIP&_i}Qi%B>qvBO;%rR=5ydgPCZ#&6lZAv31(FBh{T~e>C4qBJmHYOco!QkctOUZE zp8m7z&*l1Tx4W-|IEx+uJ$~{T+S32$0?jvnax`-X8h_3io@5U+eFkEAY3YXrCVM8> zKphCatx6PR9M$lU`yEq4^Rp6^m5@64VyHU33N%cM(956AhOhBpc=^R1L&sm(R1|?` zo)HbuXmGPDpLKOcG>ur1Rm&VZrOej*^n|BOK4HGe3?F*G!wmb+Vu16kD}Xek^-()8 zNUhvSNI`+ZDZ}r7diULrzwn%fDKz90Xny^>pP+I2jM1OZXih+fit@jA^ygF~bz#j- z2g6(3^Bi9~Kyw9u{KP6cBQ+JtZw@$cFCFu3{fgY#OIf{V26Y;}qI=|WRiA!vXqgB4 z`CR3&@d>KZ<@ac$?`PvD4oG@wv|nB$F!wm9&fV)T3pBhKTmK2Z+Ij4dMOI#m*~v-> ziIR}b|1^L(@*a8Am2K2i7TY5<+4ocISG=(>xuyYm!e)MV?uY6K=Is~fd_p9S%A`$_ zZS{kH?|5mOtp^tk^jr&4@sQrJReV=pulWo(k6>>d+|$}1J-L3_ee>+?Nb6V0<;8Az zz8TX;8Ke)N!?%^4Tq6I;YKf%q8oEuq5@>95)+1ZbXy|Y`v$17oM8ij#|KET{V^zN% zXhjWlnX?NSsm8etRIq6(hn!Z3jo>$*#psNr8o(Suo9mweGzI16s;37(Kr^(@gUiSJ z4OR6zMx5pT5I+Uge)@qfvx&9Qi(V=FcJfYzL&P4B0DV9R)N3wZYm3jqZ0y zR;HOw!6wR6qi0X5eW9AosW_pG{BWEj8XJfK&v8Z+1sY`T83F~B!SHKoS{SB82Byva z_~Xw24O3_aUO+XV0g(MV`l~>LovJ4|WvYaNsy?TTUkWrLO8%=|I35K@Ttzk+SoGm* z>P-E2D;S>+(-ccp<@~P(8UnlWeGbr!V(Sp-Z!^;_TNhshG}Z62OC;^O`tXsYFdw-ic z3ux%gH5KUZy~s;iG}K0N=wFalho;Wv8O@Anm^y1jvp}OQ0~$wY12oyM9`V-i1vC?| zA2xT~pzPR20oIYLc1JWXfF>DF9jPZl-USGO4L3FS(392x4TRI>4m9%8?NS-mcm}xu z8srps1sW$(m2-O8=)paGz%tX%S7v-j8F+{053cNEnR5#x0Gj!7Ghc8PXgI${3d)ac z^XyPA%Z++_u81pn=E^1c&H7%ovbg)w;W#k;d6@BXl6$=$|jwF&EoREr_rMolU-i< zq-DKxZJx=H58v)MxsF~IGS|?pLxt?cF`dY*{KIF?%|7|Ba-EZhea|I37hupe+n}F& z&*in`qNk3>UU?K*l;OI5GIRZ9S~*_YrRhQP&QmIU>nR_yVCW}sI{dMH{-A)FMSULP zCbzU|pZXP}@J55H-x<-^$+XV&OX7yx^^E3eF~I)}(5Q@-IF+#mx+-Lh@&q(gws!q2 zpuwPLrHc+=(3uLcA&{W?J_3dgC?CLHfpdnVCwh%1%-++|mhm_zpCH@| znm(iX;jixoXjly36jyy_M-v1xgN@`fnGIEt;goARJtK-)4B$clSDpzpE(joi>Mv$g z2c|-1DsZM$oF|^fKH&0=j@SJ28PUjd^~s5mIY*vAYY=<}8gwlCHryM~oF&e>!&^X8 z@3ICDUkGJZj_L##RFsqVhIWKEp<#ih`Y>Qkpud3Tvh^+q@Oe#BNzh`->~~k@^?s8h zKkWQ4G^#qHxdDv?aw~H(*|2MM_pOg_Ku#D!FtJ#v3UL8%JKDpW-K$_jtGK^ zrmB4o(9E>u>i03AIm?>`ni<;L>v}n&xhqWrkSB(zVtz%89C0eh>jfQ6lVOj6JzqgR z%%E%3r;7JlH8J_6bJG1fw8C4n?sdX}gl|cHQ_+nWI3B~4bLn$`HEOR@SSF)dmW}f# zpt<(|f`b0`y=`P&48vlxIZl_#&|1GLj9EE@sJ$@I2)*;8$Q zfGNH2K=TtXZ2sll`(1VB3x>_DBFl)lw4tI{Gu_0A4Uex?x4fBv*;3tq2sS*Qc>`$X z+i?Pofqa3+k$|!RG_#`S1<+`dOJ+Xd;ykbVV(VFTwmwOqHf#R~piP~zOxs_zoQLXT zm)@gMrBk03v6uN6;Xp+7GF|V{Kw?h$i|mj)&BrZ zx;iyEK+_oM@)gB~F7<3{djgvLYU--x&lv;K`HjA^^_Us-N%fsTZ~@KwQ5}fO$0%E{ zo6(wvnGOQ_LQ`^UsnNMWx@`rAx%{78)1$T=8-H5K>_a8NxTupM+W{JVTG^3jMvq%Q zS&vR5MWXa?uh*;Q-uh6oD3f`V0lIXh*q^p^_FMjFC;#+zf3~%0S^GD#OS^W+e(S(5 zb(k7K)QHeA+h~6_j4)5v$~8QyPh?9zZ7*MJ?-Z7@o1}G5mN6Z^FYeDG0L8SNc4kwb z#1kMm&8~YXoz;^q+UA}7W5d+_Wu}oEVkt;Ng4BPc~3MlmHbhlF^@?jZeW@K zA~CMP@AMi10-fMgh(%+wG>$&r*HMnc=14IiKLx5BWh2lyO#)xJeF!w@vUV}Bgn#L8 zZryVD=AiO!AqRZZ`v48!He*GUE6?8l`In9x(X{Gk=^T?mRnfd^8hr`w^vDgGe(t^x zM4o9g1F1Y4(WsBXcD@~_3a;S?G??~4-?xCqMlR6!F3<%u z)0nw1FKk9$Wmci~6C9^L;h?F|^8igh%ElCz!+m8OJ1kh5`RT#z+#R{C#~aXSM0KtM zx2rjO#zbS*Khss9p$v_bnwxsAuDSGCKtpTH?~u>(D^@&S0h+5Lm_GW98+Bu#L6VAd z??a$LC;V-fBCK7xhOS=(H2S_e{kBtKs?n*9RJOIdRf} zB>ztV&HKOkQB7B!y)mK*Xf(|#XW-@R0veV-elVhWst|<0;M1F;q=l7@-7)BK=$SXv z&{Gx1kT1`rWsYV5IA|}qrG3zPm}!Jr-mDze-?ge@f{xcq>>sO_lywNoZvvAd;{*Ur zj-V74Ri7#w&fc$=s3W)_wp!xQPpC3RY@8o{ymxLNLStX^uEGxc%hG#Oqu=xp~amjY_ zA;0$ec7djMXbfuF=rB<+gALP7I&ACk4MNBf(A=KU__N(rOF*O6@UaKgcjKlp8weZG zXg@2+`h~^pPn~yRE|cc~&2Q=n(9CjbWi)Az4N}pxtjRt1q+f@@(F{wQ9no+}pqX}c z2O4E!Lw-kK_WlmgTvImW5NPr{b5jS`@@8y#mbYhzd~1LPhU7-3OFY}Ec0_0WjRNC8 zD}!b8SA7xKJLY9zfGG2o%+a?!m6-m|OO=O=Xhn2*-(jxBAbjEM(Jf zUjrJiS9BD6@EVHqjD~yT7|1g8%WW3Qx2WRM=K#);Xz12X&71z*Tl=)Xh(RwtkNp)J zGCUc*pUT4+96ud#3^VuKpU-_==XGA^b>6f6 zWqTapKW1!Z3_u_N00I92+e5%DfSr|%osE^9osAs^W9Q)F=i=hz{Q+W1t>))!&BeT6l`lb>+N9xkrmaq=@+PV>_B2u>~$Q896eJ@N{Q zd-rJ_IH-L{N7v}cQDYNRvty@DpRuvEJ8SQJ+2x9>oBP!pe*QNDFo8jlx1yqBV&mdd z?%hvKOMj4&`7}G{+4J1I7x^V`O3TVC-d0wR0?1F~Y zu#3JzyEVc&gbyb_DX!;~)jUbwaq0SJE)hAci9M8`OZsI+e{De#|DzTCV?qB|&-Ng| z1BHMW3@QMifUV~^EAl22lPQdawpa3uxeFBoZoGCtBI!`IT~;(u!ndI82{lk zXf)A#J2ld}hA121SulopxcCvczJV{pMtvrBu1R0D&MMio-Uj5a0w1u0{g!+~`g{Cr z^@V~6$!h~>&TW9#!+9GxoY=vHsci!SXu*1#y}L#AqRft3ON(^V0eX)W`}AYlDeAtP z+=00sX)!2FgJj<9%;t~9L7Xl_Xo}SE*nt}n`?T!t5A&9s7z9~f5-W?AW+oTT+V>b+ zAWjwc$O3|W6`YFVvu*d#62gEL1kDEgKmUU_?MSr7O4U=o0um6W1-W-)G6_DIFg%}m zdZ#q8raCcj?duN$2WsK~`89*5N`VP$+6J1eSg`LsCY-j!{VeJ5+uJ}qfmiap>+$N) zw5rtm%Xbfwbc?^|8lgpJ{zs9dzd9+}jDTUp3Prxe~4-p2Zy*tRl(r1IT3z3XJs!H5D)7JLuO@mP`^{44GB+GZh9VuBs9E$mqNDz z7Vk%4Jg8J47#~i&nz(Pvt+3`|PU~|`exgUIv$9c72_nO!+m`?*l=21~qljcx42ooX zc-Dm1A!DTB#nU*gy#LW={F`(nQ4n!!D4wA>y5UQ^+0PXtwBv12+rS7cjjoB7 z(VXlUy!~GHqT8CJ(&AO?M~4uuvD-l11CecjcgT|WhGV>0#Ba`oJJ)}}A9xlvSJJy)z$~XpPzda_Wh*O z&Q<2L~go4_`TEBqPkDck#ZgQ zyAg*+?gp0|yg?)6=w{T-$!$PftFNy@;Yb%^r~QBqU;E4o`Qs8hWQ_oqRZvhU1or%z zh$7btyp|t5OD)*o(T#Oh#Tud|TF1wPO~bnzg1VJ>qD3_BVkv`w6ZLS-84xW#Rcr$| z!EJz|1>x<83NgB>=}(yJOc2UY{^|&Ge2P;akrsRRw9XBc6{p-7ND!(52F9M3daL10qnhH@35|6;HK)K|Id_{4& zdv!nnfy3|JF_LXjJndLbd2LBL@_bY2OJ(l}!-l;($0Lx0PPY7iby;-0rK#IMgCkop z%_R26p~8V^=L)ARckGB^>(-id3jv!i33S658Bu{{1)*eG3rLn>n4)ZKYWxO%5NxT5U-)Q9j6 z?ESS4sTZ(2rI5Ad2Jb=VhOPOdu9II-Max4;r7VuU9kh{ClooJbaR%#y7_Y*qtUngSTwAYO+(jUUBV0w#$qf#A!ih2DQPg=5QlmuV7qFDlXDJ z+(0~8eyX|E2{V_Fa}zvp+OY177z^c;P${u3Reop&O01hzsZEzsUca(s?R3Xo!7U4;s?af^kt=+n>&!}ea+ggxmSVJZGeyNhZQ(a zz0z+?zVjqlHRlquGdNJfw6rP3Sxj{j=_6d(Vx4ef1~MFCNlhlub-J8u`ky6FKT54A z#j&Sd(j6BBpt5q0Zp??HW$eL|wRyotT#s6AFbLxnS`K~tW^ri#gCUkO2dpCiO#e~J z_n2;5GNZu^;+bNyb4X5AH~Y17%MVyF2+(7KNd4K`9TY?IXk4}<=C*@Txt$9BYW9>K zgsbVHG}_VN#$7;Z6z&$*6MfXE#Q6AEuU1K2zm7w| z0$r0LHjjrXP$s%+l2kt}E!Z)#Z-zwf9Gdn-1h>yuBy14as7e%3rigdct1|ooaiL@P zj|DouG;pXq$GiGwFKMh4I|T5VX+b8rX-7w|dMYz_P;X4~Iv+RQ zIifnz-6Q7(WBfo%kG;p=9)vfZRaIV?dfWZuw#$f0R40VY$9WP-hDCPXnZ)f2v7vTk zW1y!hKKHdP+xEL!&AWJnm#V*C^765~06`s3z+G2ZkLl5Re~({_z8jGPqRT9WM~5`! zo_FuN^`d^L?EC|0vk&aKi539HRtUB{y-_3xm8h@s5_58z(&%F_F0auz?xmcEZiOD& z>H3Jz4LbCWTl^kA{TeO3CwHNjyaebESr~tZBHq=8mFp&-R zV=)RV{)_Uo6L;4{_iJ6Oy_JA?kJI>NHw~Z@F-=KAA^KI;&(2FGDwn%-zv6Ur=y~nu z?N6!=vVwt>g|k)_6Fh0~e29}b>(%WlPu-g`m$vR3NQaV;1S{Cn|E8vjWvNq)lgAnC zp-xWK<{pP)PPLnkB*Q4`Bo-V}gxW!gIZI6nBeSQF8a^X06xq!&3WY2Bg)y0RELZ1A&tANyn7*b8fw*hIn zq?hh-?1X_P#`E2e5GT=Kg{TWB!0$8nhIM2qkbN>Y%wXp~-&1y}IBvne4R|3>!1BNP z-irq)R{=$qW_+-Ju9IP4?y$LM05ooQru@E{h9|6kT99?uI<+J#OhrqlzLT8I=*~l? zsy>2x4PSzkW4fO#-nkE1`{!0C&}q?R8<10K99y5?2A)}4v8fH9ETcQdU!~p<3|Cp} z7it?BxK$_y5?p6%w9ElY_PJ_Q*$yJz^p(D`)-9aFtksgr!Ck9wAr9F(&MR4>nZVjv zq&B9{ZcqowMNRx1Zeyc)*Km%5b^y2#)|TlV>xV^9pLy447P#5VKY^Y*x?`j?PU>1o zVsea&Riko(-eneFwD30I{Pvy$B{z|767a}KvKaat(P#S<7UIQMLFHFxmKxbJuQrVpS&yd^%zsm@?UYaE`=tlM9C zOg3+{8W=oM)EMguD1y6zzY0tixKgfE&<OTeX;Jjz> zrB0FlBU>g3elOoiPs^Mpj~!O1_#W}P*_XKjnMX@vOD~In-Nu{RcQQ#k3hcw$ZNfdz z*r*ix3$PugL_VU-qeW3J9hIDOlOgG_Zs7TxxhxpuT`e~4blY035w zd@{GN=eTqX&-DU!OQSk1$b1+-^&NS6(tji?9qS=+6?tVo*ut?_Ok6!_q~b$$W!+by zEH)rm`geQ~rZY7r;a1DmdAYa7&~H~%nBC+#afPs!+r!Mr7j*=9blCn7r~WWG$I=_s zb~C=^7rLK@ynbVfO{}fqtGjU*t_3Eb%50G5QXzInTDrTzx39U^eCovmoEKnPkTpcZ z*g(M9o-RG2_?T+4mrq!$cbpf;n#zXIHXySB=J$QFYl9k$sw);9^JH*OBL?M>!TKge zZ!<9k842y=0v7WA*cq~L&+B>6T+3_Aqo+rxZqLy(V^$a~$P@xhF;_STH9fRBI=5jk zy!B(gS9ns*SpZvijKK?pyrUq-mv7VArY&FCg}yd-+Qh#3kPKn=i(69pp`Dq)DoDs# znxeja!Uyt>L^YQ8TNPoR$F)`M2RUsd8sQki!FY19Ut$bR=_wwXD>!m<>kbR)dJx+^ zDOnn$djVumIe#lY|MEvYg?L*F&qlrZ{cQg$)`NEw_T6!`U5M2y-UbAHAX*SIyeTPm zi`a-2Fkt2^?zn%X@Nr7{$r02`8I2JJ4gh@CK!R6B7ol>$#LO7w&tLIWYAB38dyu&` zgYDiQq>4&N2!ehBkRQp|C@o8v+w619&G$-5XTFv5lqNF1JGUclpd~?)_-}L)870c? zagms*i^ykBIZCno2klyJ$Er#)GZkknH%JC8R{?5uQ>}O}UAFLJ4mG09T<=Te;BbuN zhr-YIL3Z0rV6)j*fB$aXSAiZY*ca3rZ<0XaGh$STi~lwtbn#Y6Z7OkU=4N6CeQgcZ z)V&-!4$t}HbzLD2CNWKI+rY7>1nBy?Z6IaG1fCYO4RpP5gMQcs+*H)gkky(N zg(h!iT;2!@+Vlu43T?J>-jzg-PQbzQkORQdGe%CW^s9U8rM2&ZA3v;ZR30|RFMUnS z0Nd(II9;cR(ft%yB3%brJjpAfB0qXIwwTMo?=uz?z1RsIV;$$Qf_32e%BW$ibSKKe z#L2f_J3lXXEWJ9Z(Qv6+ET``43!4kRDRAjTz>C@GB)m2zO-J?k5m~u!Gmt$EH(rdD zstH?@ruRMN9T)s4yLa}prK1mIh`ytHPao06)UWyi&&FWbGf$ZlNY^xf#0vskoso&$ zJA;7xo%d+S(oCB=e&6Z9dp(EhiTHgQ8hOe&fzEkLZcylY7Uc$Yc1_y#L}`{9PqS-z z@!Q8-2YMnerX4-iV)>SkH8+NaEN%m3*zo0=^WzQ2>X&n%v@H}D4SDgex zZeZDCp4=z<7hrT#o4?*|oq_GUZaFdswCabWh5g48Z%~yc9kZWcXy!D&=sM)%JclDI zfw%EB^p*WSHxnY@Fnu6!V^N5rH?fgO7xP;L4i-+r($qbC%Dp8GS0fs36Eh`huG*#NnItYmO%0`o|fh{jp8Z$MlJc~%im~SH%=?5!E`{O zH`t|D>*sXGfk0Fh8mYcKSUn7YX4-_>vEg@*=%3~K4Typ;5GUcheondBd0t)NSXA^S47`w)9Xd= zYfM;NZyA0G%dK^TW`Iy>a1Z1Tb)LbbE4(JB;5nGUqA|B*RIm?mtrhOfm?G(WH7i0F zya5cfAq(0a^*TmtEh+<@_KoQd7QE0cJfTh+N8ro<*Alcq?|Jd_MoK*V#)iU>aXeUK zTvdb`UmScgA;5RLK&s*{yNWAv4%LhIpBj1xgoICa@XX5y_U-AS8(ln*`ZZ+nuFn*$ zts&aU$CSVWvJ~iS$3Xv7!xuC632({a^pZ=vOL|L^r5tVv%7vv629}D3)?_# zHQ3!A&);!44}z|P5(sSIMsxiuf#sK9@|jOsHZb6me9?n9tG&~$EZ+5mn0t|`@Y8VE z3IQI$RHW3fNFX_N&Y+$Z=X)Q>Z?e-!5tEA0jR$C! z>sP3)APIKK2@|6zPtn2#QES05Uf#~o+MpJglXZtP8iD>5c_9-{pvL7kB3YlMRMlDN zcRSI>!>DBP^y5oM?p5*ena%`V0EMgPbZts`#?&^zZTQNqsZYUKxTtkw;y$DjKFt># z!3+2cLu^lXU-J*Ze~OXr)VtMw zkw0W>X($tzQG}w-cCJ0XzT>ui*Mh&;-ESwCM&zwRBcW)S^EBgG`>-T3w6Sl{BI;RU z(LqvMS=6QDjC>g%0vAwCQ^mG&kvkagu(PL2AtP6_1j*Bdf$Q&V(Oqg@Zy7&6-oK7Q zENa|C3tnYPbe25~#vDi#Jx+`mij}P@y>sR^4rx^vUMFp!2(<&)VJx`)WuWlwda7F6 zK0U_Iqdn#NmAA$5CJKznoKE(pXQd)HXT9Bdtk991Ql>jj2Se%z9R3Cx4QI*^Zaqsa zT&&btd3EWmD9V`CiaqS!gc_gQ2FsKwnVEd?&^C~kR&L!mmYJsoDQ%NJR>YHYA+lvR zPQA2)lX~M=EzK*P;4WhOh{+smJM{H?aw``!Li3=j^Q2LYUb_FJ&X31ISdBoW-ISwjxZZBQx-i$2>lVO``w%()R$qOe zddYUJ1OWlzH=05?K-!D|e}!ZV`$V2?_kJCMt}ws7B*Uvx>o&0@;rL-}VNH4k10c-v zqpb1)tNq}Gg}D8ZTK(bCG&mrVJWN@N-tvxBVa?aL_;~-GaAHm3&}`=hI}Rxf(#+TP zRF9V&%Q1tcFTUJ%p!VFl$4EoGr!H;^p=E->&M6c{)1-R^n|X%pn&KvSN(#7dbXBO! zM2MnB7IM~RyTyR5zQ1qD@3R$n#FKR&LLOT@K(V9tH!2+YtjbBAe!L5kT z6-Br7#lhiVmLn?}nPD8f1}geaQ`{k=MS@@KT8MKd?w4UyS`n5v2fydW~;rCJ7SMzDFQ zn0f4KPmn;fZSfCQK}fR|TOxA(`w3#jyW))T>WXBSc)L&HAVk3Xa42*blzzN|nlvGt zdGn6J%?})}#~qPgU5dL<#@=heVjX(VFZlS* zWGja~SVkir_X}AB+)&;S)PM8g+sK!1kKDy5&Q8R5Nu_D);(%_9Qf?jF_`48~tjgvJm!Jw2zZE8_?I z_R7D_X!IpXq`6-50iZABamZmtRv4E9b@wNgfJPsZcHFmf`6=Sp?k82fyPe!y?I(5l zF8s!SiTpn=`X`D=TrMWbxU#G4rRmaws_nI8(?iHxLHvQN*TFtv2c=;G`Gh>=Fr4Mm z7w-3cA>i`mJIr$r#t+eB#ii?jRSB>xE)WO2Cn*%^M`3~#>E^{NAmHl^ulfrnRapjD zZ{~GanE_k!e~vn69jKdc194b#0>*1LC6Kp2KfYOu%O(l-fw>fsZpUH-asD%F2Z+R|V4 zt{YSYr@I`Lb?_Y-matG(y}LsYp*jcnDBQwlAm5Rm0ATceipxJcA9OS;_xXtm5nEs7 z&X#xLrY&0tuV$R;z3_Wz1i<`E1lzL-1IohFw)0!^8C8Sr(sJLwr!!ei5DQToAltwG zIRu5BYAHjBUfr_6KX-TV649H_o1h&T*c4`$^Z!}gZ|SiH zvHB4@tX8n^W6e&{TQLpZ!evp-n``X}t&~L~%t) zan#PTio{Fta$={CiUGl(lo9lA>F*yaA6%62JWLEOg*iP}by~8<=-CrY1Uz$6wNSKj zsdf|5ghp@)L`L@E1aZh0jKtcV(*2H{J=2>${r0}j-8IQ@1`m8=1`0Oq?t1f!dgHI- zT)SP|o~t(rRWX)Tz8&#F<~N3Ng2?|@&*$gaF~q6D{x`@;4GN86-s|ZDcb2u6H-m@T zM#hkipK7)`+0_;$DcnqcHHi7Tc)3SVnrA_A@1ad_mV%2U(TC|$bc6DO*xQ|;%n*yGxL*Tud%k~$-Y1tQ=+ zM*){kSPmUZjZ$bBlO7tel;xG!5ZRc~k>s2_9`r=#NAtue4s|%W?}%+;q%6U0H3YV&V(jOT?CypP!x5IV2}FPLsJ6 zz}g9$;(6hYYME|Yw}d@ZGi3n9_fFxPiEd^aP!N%Ne0AQ zH3q_;i!P@a9Ngg|`-D}E9jAL0pl>jq=wA=HLD{`EIcl+WKJMU6v<%l?9be|^%#3r%nYD^lzBXxh z$?yx`_nxer4G;@D|66YO_o#<{#}0m&Kn&Vnxx=aOrO)ATA7!=wkBJgB^d9=*L?`wfj_`NP1N;_;nCWlIz zG_Ed)8S~y#e`g4mvF)QbkYa%ds}exC6lL`45QMYqc%Z)3I!E!zD(dq1k$sj0|! zcrO9|?yo}CuS$pLlxw6A$%(JbVy`oANZk5E+2IqoR7BFg&<9{sqq)~+UtKheRp#kW zcyDCfuCep3QOn0%nm*qCynX$l3u?9bZ~$aM3KZ)-6`{RI%@Bi9YU237+Q7}Dc?}r_ zUUu00bZJiJydMe=Hn^)Dw%uN9p(p20^bmrBht5ifKMl*T8wVv4$#o0rL$$b4Gkv9( zZ_HlITEQZmJ04!+u!2_!W*gK?*Aw7`yuSp(@PmveHTEG0@@t#w2q)DoGPmSOK8`>Q zPMHa4(S|T&bM|NFnNE|&?DBifb&i_9zEjQr*aHSr03sZ(cH=bNh+yr-h!eLPqco=-larI-U0}2x*|p7 ziR8jtj~kv4=_4tRaY?>!D<;6kPZ-4WVSI@K=+h-P&}`h+N9Iq7x5~oWj^{YfZhXNK z|0&q4{=5wE5WoK=WRpQN$5>%bO*TKjD?emlE^!Os1MWVaBKy#TF5&b`a0aM#Ps%QG ze-nexB(%JL$#3&r<6F>Cm2?Xg1%yR(!lFaMsNjT(n|+1w>x2*JbCOtRhxzt6~=FJtG6HP2Oq(b}Wsljtyeq=-uP5 zB_|TiD62WLvQYX1`=*-R!if4}lg1&I{^hpwsz4A2}<=chX77JxC>8Xlz)H z>r2ad5?fM{xWX4J*lbpEu7kV8nXJbb#qM-<2}cMc-p2#b6=BFqT@}gy#^%f648&u(I6M+y{G#4MAi9NvBMb(+S0lMa*Guew}mn+kT zO?)g*X@uOd?7fd~w1T<(h7lpXG|zcsI1eV^s4;19DW}TEV7FB^av*(eodCZJj*K6> z9(^W=W1$M1}S#s%G=mXk4!yh;A(?Ed0vj z%iR(t2BgDxWf<>|AwB~FvGfDB5vZ9Rla_QC*qkL1(Q1zTzAmkTXqF^0!Gbajvs!1IVnkQznjDZ?Rs-by<6%Q;XOEvH0Cu^)?o0n(lc+4xbn3uaPqXN-!cF*1=}!KAh90){OWq#K8LF!#pfGK zaMCA_@IV36PaK~(3A|juI8rI(Oea$u>#_}a+t1k|29e&W>x!S(H-ojkhUb%N)j=y6 zUnHqkshDheYq`cKzv;$-RDAmMo|2cQ0WEp^#lm}I!ZHYO#Gi8jHIZK@v$p(}gQhLlg_CcJs}NBkp--tMR%JaoJ!RgqEomH` z?`y9W3NG!bM`)z@z-8VkLh+R4MaYCVE2f0jFjyE}abOWVeS=bUE!U8%Q*1e~Y`&2j zXsK=BujIh;+V85BxZ}Rh7buA6G7E`i#!*IT+Jf&!z+TCixB5)5-X~!_4kZ3)de*j( zHEJAxbj{_E?5Z#XIJs|seWF%?kBu<|TXMkA0*~MN)dDy^zi2aZk?~qVu;IYdH>Pj9R z#NLCyDiZMfD35>vic!7F>w=FHXA*hxE9)7cL$r=W2@G=rMLjd>F>gLcHy=FL!3_D- zQdW^&`bFy9+}$&Q1U^_Z0$OSj&^+iJS6W@^Cpm9(7O^0(d$UA|-FA)l%OfdDCNNF( zblTjLY0HSdv<-X~>V)Of6~F=c+3_(N^eiZL-TFBb)N#6vSTWZJL+pY_2ZMhN^3AE( zmY(v_mf4^IJ||WYI{d>^wZX19t^LfKiki~BbAovK7z9NlL^C}Y+w+8rJswqp3oWMBDz%S8L*+<=tCf<2(7W}7_@+tY7q$e zNZB$&?xJ5N=Qcc4aCW~o`Q1t}Y-ytM%~COoNzDTSFLvml*dkMKrnBz0l=>X`>FxwJ zYu0g4?0^-7{J*&zSnvH`HZAPUZ63+^(}x>= zfT0^}cF9ccUaS01_TA4&D81-R?%Fuz*I1RhdiTq`)Ky{Z)Tj#(y!aEEVJ%gAlBuhd zSl^RPvg^a>(Ai-YH{y^}oNbkGY7`_-9dkCgsMu7cHz)4EDMvpF9Ejey_#e_w3GjYB@0dib*(o!OmL=M zuOKDSk$>rBsb-+i*YJDci}%nn#bi9w%rz3b!0QT{umo|s`M{>b?|oPXw(HqHT^p0$ zG|>0am6r!F(otWdFs{r|;#$5v@Z%V$ov*e}la!3%)%P0N76^ z5m)@i_^?Z0U;nJj3f2q8as_E@Q`b8NwE>F6U9*bNxy*mk!ss-{vr@|i%Y@OLr_UFS z>W-3{HK!GovCHqklv#r;j+L;#W;~{Z>1mL>p1B;T)$_9216xU8`aw1h{G)MzZ2q8` zk20#KyyNgXc3baR&=^> zIvess9;f5!-G~)tvd@VKV(y)`6rx_8v{crAb^eZy(!1!jkjn{aj(X#uE1l+amH+A( z8{HsppxDFV-HFjjd0BCj@{Ie;BUWs1)(|O5^o#L#EXrrBwoy#|CLI2xhC?6B8v zGBBwRcoU*eQB8j4u9TezLB~59EF>pB;V84V?9921Yw4m3z$y-*XvGO( zH-jp?_}a;4IjH#_L4FXT+%pkju(1wZTz@N-h7M5NdU7%8oE4i>1cG0s3>%TQHTn{X zFs{I;4L?f$`YHf%@|645J+ze5Lh-X1_yx~ zU;Y|IP9SZM+}s|8$Wct;ZlP-x#))>uZ{I?>IG}(Z zI4$>J3VSDlXj_W8$K1q&>EH(K4O7OpDpS%K;jd9^MxC&B?3=zsilsIA{K6Pq-#o|N z{@5H}NkgE-o6^y9my6^@r`!$ui>G>6zBeVBOu?cYj(691PAQ%;>BYAOFCJv$=5OH< zE3mFb>(tF@-igK`aa2umw=wkwK|knBJ+bQD(4Hn5pg#_46J|jhrl4Er0>OJ2PX7vd zwmqJ*#O|enY4P|;`8d)W7WgUw-X0vA#rZYbFeWj6{|1a5Crf~rqAtB0)0=31?bayd zov#UZ!DKV@dmw9j{*eK{E78B#y#Ll^!ZMg$0pBgD3X|?Tin^Ml-)@ZU+spWy6bxN+ z7?*#fMU2c6tbj@`*i0dQ^kiVygMj5PX|&~CdFi3PxC58u{{{)$@)rW12Ec)FMq}+SnrEIIBo3?0)9B%+6KUq z2%^IU4-|v{KBU(Q);3n5O>af5g9W;L4Khb8L(uQO7Qzm_W~LrR%b>`v6SnaoX5=B0 z-qP1`gQGDnzTX3bLW|PdW3GM5m2|akJvrugoivY@eoa>#1CRXKjiSI6ZCefG2Rk5LoB?t z>re^mm`F=7ZYDS=(9Hm!W~7~@&QAClxvFiTE!HkNHC5MhIhMTGB5yF?HvNi$!L1vGxbd9-atiJjrw=|kZ zU%mMbH1zyk=6wi>x^b4`w8)0cc#83E(9U#?x$st0&}nQhmjj!TP=Zgv*uFFcEl4-B zZ}76NTHQ9lGi%fMK-pi?!>x7hjLLIse4P~=iZ!gO7T#GSN^lni?aVUYExQ*N_qY*m zJ;6+!*<*HJ>ax^jE@1G_Tzk=pQ)r_9|u# zxLGw8Ul8I6`hK!@bv><&Zd*0((J!q$bC$g^mG5wh?u+GaVMxab$ zMGw~wK6e>mZM@vDpLPcs^Eyv1fB=_gJfM37LY+bmQO>&gf83FwawH}_?gY<;jiH{P z7h)4`(3yRIFXZ%A${NCj(jU7>ZvS@GR(+x>;aCGc2mp1&f^Fbp>xO%+TE#FnK&9Ye zFz?W62yX1#QM+lpoA0r<$Mx+9luHLNGWDv@#IbQoc#PeeK zx~w(DSLEIrXlSrc%kI43dG1k45YCG^AW}3Cva@s1)5^q~y^z(KpfmW=`_NAzD}6j^ z(6)X{G-8c+_o@X2Iy}1-`YxwXnE$?-)YY698j%T+3E^nzejL#a&W#yrN<+$Y6&!f$ z?XBOTvUD-dSyI+jM`@RV@cMi_uUexm6gO}cOdRg;FsIMkzfOR?~) zK5VoM9>xxhN3Tx^#6iwR@1G(T0vNRg&22!lg7J16SZo491*SlC=nH1(eZZDT zKC!aWG6k*C*`j0XMdha*s4AM3fBjN!pwhy7 z(1qg${pS5A!uZEB23fUSB)StDWW=jU>W=0jq1pr#Z4VFvx=O>uD?Lzx?%HOLJ4c#! z*4MYaMS+UG)o)P+|L6@iV5jL|19tJ{7(-?a(gre8ry>&l)7UzA`W2vy@yuT=pTE;; z!#qOlKpv4hrAFg*1epaW6r98%^BK{oUy29ZAE;^=GJz%DdG zq?0A$bOa~sb#S`ZtNZut1)G3?DdpW`lN|~CUf<7DVjnVIaAWO(DX_e&eYqZ5m2`V? z13r4xLtgJOh}ZOBaI#tOR~Pu(;-RbBlPaV^=1ywXl#jRG>8g9OPd*g5K_7!hBVK&V zGRxeL=S@%R)g1aJh-W<9w1V~gjU$2m*6;TJUp$gwqq!S*kYAo~5f_*j&Cp7NBd1F0gn-7LwEhZsK%l_~ z;=Fuvj@OM=9n>e>P6GT5>Qb<#Xv3lxIYOUtyjgQt&h*A+CHN@=Gx7fjfj>v)KQ7!# zhjfTP*)>w%Q1$i;i(ubS4jG@)Te^*=pZetP_!!oGLe^Np0w+)cvti1ep8knkv*4}Y z5XEtRLl~Q#j3F#S5!#OO81hDqk2F5$7+AiL{`zCilHaZt1Wk|H=BzYkg2 z19)JL4K3F0`&{UYN3M$%KXUcMfdS4y{w5h9cQHz|x?L%kl!}lJi^#p8r0st8Zc?i) zNXJ2zY|Y5{Vf`$`ojk91NiRL6_uWQwJ(jXq3fY4F{i6SNCjWJ~!bB;#wi1Z1W1Mk=_WhN- zgRXY3$C4MvVvwrTa5YXp;@ePTPL7G})Y})ZRRL;rcASChx(WrK8k~A}A7$P{7z8jcOpAiGgr*|}vC|zK) z4X4+E+Y0Pqs$-4;8Yda5sO7%P+rWS#bnViwZTrvp&t}Z}*yn^y%V_^n%O9HNuCmUr ze(*(tU`PB8enLVg+alchp-EpU<3v9bsr*W|GU-uBOMT27c#w_b?;=ljd#V+Tg_iZ0 z>02pzi9<$>EDd$KUU8C>o+p=s)e5Y6@btiJFu^9b zfa^+n`A^fX90GX2&U0<5-hMxMBXaG$6u_JK$Y$}*^){S3{e%VJ`QISiFTn-t7%N9a zqRK-AyeG{~-vnkO<#%51TSBAG7nagknsLaZWbatj8l}lXwR1(F7IRy???Ppr5Bx*S zK>EJWL?Gj#}6lHc%EnPg6AHLQKIH&>bzc8)2_T?~0 znJs|e9se2B!s^G$Y~y3%kV@wVhgz#TOcLy#!`bTPjeZP+t!*9H=zar&MC;V}5JGf& z@{fn|G>oh0JxX$k8XorLt|*fYjd*(cXY6x)*kP^?TI>`E1g^2cgQ(R_&usu}OLqeu znV^b;Z}+Bc5vR~R>1Vp19$pz6+|5_etqA==-~uOd$urnB@op@6FRB?dS(>h)ws>ZV zRAD^$^oLDIM7Z|HSF_f+79D|N2oUtQfm{9WiEA1&cq&448`uGQY2<5nfWFN1Bj6cR ziJ;{&9xFpd4ntA#YaHR@qCFSSF+I`zAWtTNz8pSB@Iut*fP)y&ms3m!eK|(yKYcmw zpxAzuQ=#SOg(H|Y3? zSKnZ}-MjMQYV#q}=YG-OAS|a@7ei!>jrn+iP;bzOu%cqr5Fi65zD0O<4?KTkqu=U9 zQijnAEXNz9pg4FIQg23~0WU%~zbtgk(y!kd*niNRRtGB@0dJEB&4?Rn1F*(OV``3H z>!ZTj;%j~5u1N=wehOs1YzC+(#{Y-t0VR#@y8S+jyU)KhezJMs8=3^ciyfug{hVg3 z>IPoU3Y5t@G=*9?Ne$s0S8+IZ zHy6+2pps1dmhS)J{D`GP7mdJUKO0^QS|q&d`Qe4-ajLLox+q8M=d9#5o%U!i$bR=Kl?wFKH0Q>e&AEOfOfVL z3(6Xec#hoBuM%QD@lM;mNT<9uT*2^BYRfmvw>q$4EB3%D zHeW7U0iyBV-3L%Mt>Ek(tb-Cbgs`{r3#ns{CcDm@zMK*S;@~qZ4_&L4pUfBY1bAw$ z=W@1uO#`24M6CoD^_y}IGLE*f@}!6rtq!q)qunCf&rEunzk___Bz8m?vhoZ-ieHX! z`xZ5*<9wlI&gb+ULl}4q#nD2epqk9mSB{ZK(8P*!XoWlvP~{%|nRwv7E4 z7@%Ru<4k=V3xr+4p^nvXPP}x2QBlV_uc2282m)z{X2yADK~vHcnsW*Pn~~A%P9Zf8 zUe;c38S2z=xs1%8Gg2D|XMGAx@zseK1~+OG1&&BaiU24vg-|bol1K;Bas*3h1I{q; zwPG*XWyHi``eWykw}EU$mVUY-F?wuG$pJeCVsI7cUO!3)Z}50xKg8SyEWmqHI-yUg z2=b&hU+s=kIc(5byRf6hXc6p$MTkE5G)wR)wU*Rh+>9O*-x*v%-i#G&GY$a8FHmbz}MY;ZI87+WSBd#|iwjY2wLI7+YpkA^7INZqNws#)1h^nV1o}EFqFA z@m=rar~N2Hv>^7q&J)n5DG9Et?(|RSMoma{f}Jt%bMWo;vfP;LSB8Cm}lw_r&Ov7e_s>R^6XkD3@(JxA}=rGM9{VU_$S#K{m;TetOfgTRYQM1lqE*4RXCadsnNRE$nL z9DE$Fkwjt(O90U{xi@*>{IQZp{Knu1^b7)99qa0pwsvRic>63ikkg}Gnv^d@YeX1D zgP!GJu=&*bGhO|66dz)1)1%_|SYz3$N8V0(@sj)Vg^(@DmTgE#Jw=-(g_4j& z+1D9_lqG~HM%lMglr8%jX~q)S4MNtL%9v)x^t+vNp7WgNoagzT=kMQj{NcI`KG!w( z-1qCfyLqYi$`B6d z(&q5rvakO;9oA`}gi@1GEqK;0N@6}`ovQq)-CquK?~E=Vsx?`>0+8Gk;uT&XmUwFPi5e8PieF|Wp5PnAWA!aRM6o`~4&+XMw)DUI zkb)HH=c!9f-iEtoxx?MHCwet(q>)HT)$`x?`8`?MjL6 z;EY|(mt0?Ph6ns*a73nHZlI#~N|?c2b_K1xaXb0oyQqp0mDIt6FM|G=Fc{&kO%A_k zjA}x0yYkOZvf#)tA7&e^l>){kfkaxFB$2gp*dO+$ze-72lrUq9n!ywvU zOm^DHsnHd91oieeo58uSB`c{iqUDuWPmf1W?SL3-)U+8llMbe0?cn+mOaEba=&+Rp z%ZkB|+05Cb3GCqu(1H#t@uXpUy?hy=B6oAMpO_;l&&zE+`iVQ3=DjryAs#?}qS~|s zghb~WOP0U7d-Tcej#||1+ooVXtM=FSE?Zabj5nuw*&da3@o7-!zBM6vb_AH+eXcq{ znkx+9Ka(&%YE$u`tD0CD8k!LPP7uid9D~?MfTE6v*?ieJjvE|d&Mt+G0L zI#b}_JCPU_Wz9Wtt-{bftZp&InVJ{GF>SV-VS8KWaG@qI{};D|jl6X3(7G}V7&U&e z;C%WpEaxf@f$)2E!tc(-zjnIB1Id-sy7?{f?4|+7PZVFAljpb{!gxe)#dv!rQMtjp z*IhqBFSR^f-7w%3c)vSM*gDrUakWDV*N&AVAYL)w+i}Oo2Hi}Le7fBYdCW1>t@~?_ z((Q!6uNtV!;TsW9@Z^6SR>0ZK6xy4?e=O%rT#Sm)u_hK@J{U=0g_YFo9u=bCR31Cp zGPK-hZ93GwN_e?`k(`;0c;+LB6Srrl2#Igy9t$2_CVRrbM4BE>xlQdBh*PD0 zKd|$c1Zw)Qa!JRwb%;K*`7-`dh-6Fzv;hvrf2-bQU2Ezh!*ecOPj4IWN#XCjn&QH} zEq>8VA0hPwfBAHT%qq5e@5R4k>oCL{%+ugdl0uzxW4#1efHJ}Db5F4 zz}g}NwVAuiny|X6_;#F_vVyf300ewWH=DuU}Mseg3z@RQ9+sx?2PH~-@G_jGd zv%8dGSepEtjnKhSUEQRMW!Y3wfpy|WQ0DzR%%<^?6MK6r2JN}}-R%!8le5qn5HJJ_ zkr;MHb6g|0Cv97#aEPk3-an8ur;sQSypr!C@`J^vgAdl+K{sd$ByLIvBb(DR%b!m) z_jl*H%=S>u@v3lrm2;B0sXyBPT(grE9|f2|lYD+ze(o20-E|I^c8*F!e%_GRJ5-if zbUxnR5_fTGC(@Ao6N>e+gDoJ7sgcBNtVXKnt><5)Jv-0Y&WA4`Zp*?u&Qk7uyy+JA zG(SjX=(*SFB+6&s(F)(ryDzrJ9vP(a>6_tX$&=|bM*df7DjTcHs~}VU0P*dtr?}Y} zxAaBZOUX4I#?#-t#1`jYtnifH_WSWkrW@p+FB5B4U!=2{qT2`K~}XD9r~_&qUFNu zPiWD;4sj!jUcL923_{49`{0u)bA&Y+J#8FLnm3L6W}9M?e%oTA4-&S%yM#RkamFOx zqJlq3X;|4^WZ=H}G?0Y13qMMqys1F`|Hwdl^y%ANP3TmA z#}QYs^y#av!SYGSKR&v_*+$--_u@hbH)*hN`tj(ss}DyU&672?eTvH=zYoy&&N(cK zh>xfAQN!>iHp{)%`tc`f6KdkZ*z_94 z(InI=0Wko&r~frmfZ_c%+Gu8>3^mVE*K&WK-k^f}-S6jDpK&i^^tWq5=@4U`nl$5f zwu8C9YVfts4*XZcZBKG|;_f!Q2O&vc^fh#yYG*K@V+KayA|_aTu>YPowPjta%q})l zT`UMl2T4OsZ^YrG;JAo9Z1e7Moli}fXE(++&CK+n6@4+?U*Gd@sEk0*;J1ItR427f zM3oxVPuxoOV543P9_FK5W=cKr*1zC(h( zXdQIY$y+yhOvA#{l=Z!mRGihPVoCS|12Mo}qEt4b;@;G&L~?Po@wT~6tHB%|5*_L~ zZhb-*Z7k|Sh`0Y`&4g@a$=u1rVE!44p%)V6Wmv}?&jHGLG3$8y!>TY6rhV;xKx%90 zMTw|#g5s0MHacHB^3$ZXs!?HaKxMAe3{o9hE#(4L-GQzV8+7)DA&KUgbAKaP29#M@ z@l=6aDEQ=7#DIOZTt?@&sK1!5Ga?ABWL1W#qnlr;M!a1An))@13qKloHd74VOuKrc zd17(ee->UHYp#S@`;x^`gKAsjU#QVdNy`u7CG)BKBq$t|5Nh1PhMosbz{Nrg>ry5m zQ=A-xLV_v}X`Yeu8<6 z4Ir>ht_ZP4G%T;ZFv)In<;T7Hm}PVR{C$_2yJ1iLnm+ig1DEQn84{yrRBeY~&g)8Q z`{&c0Iuzd+#~KGir!waUu{ukXjtEtEAwS7h_2ZHQ$h0(pu%M_|0+Y>9AGujj{+w~0 zgosocj>BmrRC|Wf={Uvs&w^RV!mLPbKgme;K3NCzyLXj~vg{#kkji~_M;yr%+${G# zDSzTLSH{9a9cSe%-Lfi4@yCr>J1)#6xt4~E+FfagcC0*Pcu0~n^57?hd+e(kd#15^ z(bP8g-9ydsf+kuBgPieWFrgob(vIj*2+)1O6!q2fCxDpIXvgQgb}-ugz|G~>aGZjv z+s;lJKcL4Qhys#h_vN1ue{ME4yIDXZU13OiW@RvEg{wm8=p(tt2*ESw;zAz6Rx;t# zgehe7NN({3L)cI$ERo$?O(Ei zNcn-5;Fle3)aDlaY{i)wg$2VH#$IwDak6!(R#%BRs5%hTGe}9VD^gZ*K-IdZ`Fe(S z%INHXC|bX!B4MJ+7*I_8u0K$m_#WB$iIdRZc zKI{<42;(6WZiRpu$I*mAGz5h<=8nO59GW{Hx`x$bp}r(b zT2T|G;lYKKNsinWeeXo}Z$r&>#8hJJAqZ%y^aLkd&d8q5N&Y1FEG9(;3ju4a)%f9B zq8ydusMed;J5aon?HX|nj(4Yi=>LQQpI*_%YG1_$p8QV$+(PYJX#NnfFBl$%3hm}I z7L8k65}*4;A|u8%Tf@N8zs=6E>cc79Ggc8(>=qRGk5Kv@)wMs9d6BBilnrXpcKJP5%rhrEaete zkk*<~FGo(UKB;(1F*zpuankUZVlfGy4sz6>cVYyBOY0g3h>?2Bp)AYb@mfU($% zzZr{-i*Ff=NxQtgBjg(qiE>^w=9?h^ro)Lwy9&%58B$$3wPonvw#4fjtiS&_WuW8dvfB5FS1=6X_k|6n_`*@_^nttd!&d6SA zH{VMm%WslNaH`==d>$~}@Jh$5$dH)9yxQH}-L*C=k271AUuj2n$O&>qW!@=c$inYZ zVY!PTTGWMqe(fL^tA32zBb~FsF%ok-GKtck4hf+ju?T+c^sb zySm=u8n3YAf7PM(wrH#5>{>K7VDT^zTiAB|R}BAys#4SLUc;{Ms3>7eTv7M@BJY0n zK_2CA*Yxt~#hE1-&MibZ5UqzE(%b9WQ|MYLWYje}(thmTIMPwPPQ^?{^gAEyo%uGv z>L0}FHEyQW?-1j0W7teDol&!ZEdxHpDEud+D2fT90Qb&JEXwrHvHjL0pPsmL1CJM5 z|LaFxzofakb~b)hprRN0-^%dXOi z?|i_01R&FQR0IguK_^M8Q%cFVl~mhrbmxzKe&&9ruD5Q8+ye!Jx?v{&&RdVNQQgKq zwWz6KTTR&GzQdZ9G!NjG^|9cO>Tdjycj+Ph{+x!vwUrWJ%GNh_jK_1~&;XtLBoy?H ze3p_qR_-#%Jtc|W|M8~7{1TtjkA{Zs39O#|M>UQf3ufTTsYTb?ccVc`zkD9Y1NR|0 z!ar6ldlQFo+DKaoIx#bPsVv6SCHMH-hV1u9gM|z_xe1~*Lf{Jl{gckpMRCne4PDPWZ388`2p21w=xbWB6Cuz?Wt|Wj- zi(jEC?4^qvYetRDh#}w3Jn%oxS)mOOv-bi{c<8aBCKdnAA#}5A!(p4(SPHs>K7I)0l+)pm* zlTLjlZZ}H5;p9ek$71$D=B#NvS7Q^6ER9)I$~q;1sYKKLCOy8$Q zdw#5sSE|AY=4=+_#5&|fM>kjFel`Bn5gI-(dqP*LgrOv06_dfM9&g;Y>_r`2Q_QV7 ziX4#TgJu6qCkoVkYfUtCoQ|$u{EN};rIT}}2qec$l;LnBMm%aO(PgJrlJM44_veo< z8FA9Q-iLGqh0kV~IBX7z4KRfSRbfrwLCLpgr6hB#9)>l0s} zGeC46JbUwfeo+~aQIXBsF`*am*mSoOC%&nfabLyhT5h~)DSOC0xdOb_NV4$uzafOK zOyf^Tm~m^0Ivv(w;o8kkzJFr<8;HmTXq9-!%laq->H#1op2$itoG#T{J65fuN{X*A zSf80k>6Zcqq7!K-7K}Q)EC^~ndOsdHb>F)@hb%%p@&*C_>2FIcq7cn@1Kb%T`|g@1 zoScQ!BD=RY!2B+YUUH>uq{?mQr(tM@FTZy&iZBzG^~I4h_z~Rsw@#HLi!|{JgljQj z-y`}Rlmt_|0N%(rJss=bW(nLE$oz%g1sA<6(!TBtko$gm8LVn7*lR9+7{dXEQBh0Y zg3sAWyI(vWG*_d~eu9lQU7J_U)FeI+X; zH=f~B-Q9TGgs&!g6hT5#H~?7J0jSIV(Sv{gVmDbmG?$7qs_ye1)m&3hViVUuB_IkU zUy9y?sPQvSjpH_rhfWr{9JyrHa&-2TfQk*$RDXr}X=aE8Toj=J-u_7!Pu-07zWhli zSX)n4?~Cqwg)%qULqNP`9Nx^+G0G~j$dtpnzLAgkcHiGu4n48(6T173xef&jP1(hU zfDIs}u2nQ_r?IWye4Ehr?<^T5!O78C|8Wn-4y_L_@|}HC>l$<8Nd# z2Vg{7&CLRxL%BHwzYBfy7ixvhr!_@RYAz*x6AyF~0-GkSULxo;*)l#4JvwrqLvb{* zeez&qCQd2jimp}C+LloS0F5l?^whiFuEB?nzDlPseMUtODw%HRV#VG~fpG%`*Z3k- zU7T&FtKQzPFBr#+XV-S)UIjGJF)4?owmSd6ZM{ESb)JVR$@V)E!jOjg;@inilv}+) zr@k%P?((a+bm_xflsiqKW8CB*&bt$YgC_*UyAXAf$=#q`1)K4$=~pQ?OnJJD7jnf5 zW+EA1wWqO%YqmaFRs=$_6!NB_TJa*z_FRYBgey+RCDgSX4_|nZKr=@;Y9m6T3vRK@@wf!A+O&nz_ghE%|sTtg%W z*XJio7ip2thViuX-QD3URiLguzg78d!&+fsQY6qVzd^O3>-arx%M%&*wlnA*og3G} zi4Mi zCqJ<-K970+G&z!8a?d^JN5eFTh(iv=uiJ~K)Z@(>+%qcXwcTcQDX1UU%<{*7LOxhM zGctEXk)P+e)RRLuloZ^rpjFRG_pgfqOS4Yh0$8T_%kXnU-+T1FQsg;Yiwm++Rxbik znn#}TJNS<6GE!cEd#DEvCVZ=R)4<=nD51 z*W~vjZ9PxhZ>hz!Zt59bhhBq^20?0JM!GW|)PRr93&OM*Fq8og;W3a%DK${XA%{hD z#Zb$V!6T`U?!j3V9n44ztme2UrTnFlBjN1<&x5++Uq4^zV6YlG0WJ4j=Dy7wMsNw+ z3Hkeq;=2;=YpPH;TsTDOG3JOwSFQH^(g~3|C-d3?rMn%Ey$>Cye(&Z5*AM*dWayd^ z(M@PxhJK33i~SWn>`z{AHlvUkT{p(<|ShHJ(`c>{<{#D ze8~X{YB}aV{pbJWxa~-Pljcxj_0F+qcywa8Q<*eoEM-g!Z-e|~;xLYr+@L=6B)T05 z=Djw*yxQQ5#Tg_D`EN)Pz)&VrgSu}9w_W@7hj^u@*TA&rcz1IlQ>{Ze^ z9mp1O^ON4OZT_7bP=qadL<)?;zPqEcaTV)(+ConA4 z{Yy@Je~35#{$dk3>W&vm@JnP1z!L$2XIWKCd+_Ow_xWQy`Y2_F(PqlJ$RWkaQ1|wy zNGYoc<+#hsuRKbrE3|az2fZ~!c#xsyrN}VInfTI|c;x;gYxqpz8NbV`Dzb2iKMFHQ z6VidEcoDz$VQ33c0d>YN*wzYg5haoODscvx@?m4U_o8rm2y+s%&5}A zIH`-uj0JetTSK~%A7FI_eh~=BOWsQ_dKLZ5uBjb#G=t3%I9K$mn=eH)C^FF%^yFow zDL-~f*Bbb@r25S?=3bkFJDc(@g-(bx0!>VCL>6ZfT`%Yqo^k&$P?gZ_n1}TNZ-?^- z8O@BqF>v4n&OC%EHY}6LDwZQO77yf_DdwgLQ)`xhFvt(-&OBVbXZ+GaitCuE$MPih zoFu5-hmLM05-lu;bk0l0FnX;=B4&n%8Yua(f15}A30D5||IU5%>K3!@ zI-zUvVT96W*1*+z<*0jsjyWRMua@FWGA^&bBxURDDSp&ZX0^p$ibeXQ>rqg&HiI`Y|OTuiziezX!9i;D-elkQv zSdfU6C-96`vD+h9TPyAFxjAJMfnEhFt<67fU4mgYf}x6P{Rz>88onMG0%OT7b{7`{ z?0_xY-P!?v$6d33;I1MD;4X?pzyM~|!nL2!I}SUh2B5(H?;-zNldbstzkTw*v-AHG zp6nbC@~6i8^2Dv#-SfkfO!G#R88PQzQNCoER*l#ivZ~PN;rI2ZG6!6{F!TaQOXt8h zy%11^G<%)`=*b5J1^&QI0FR3VI)o?v4b(Qs#fou(92}|F;+bpXke~F-Do@)d6043_ bVI^yFB6r;aCIcWAtNjmE|4O7m{2cy&RnsAO literal 0 HcmV?d00001 diff --git a/Internet CSS project/globe.png b/Internet CSS project/globe.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4c244f69ae09cdcc79830930f70457886efc68 GIT binary patch literal 262730 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�DWNCG;3 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 literal 0 HcmV?d00001 diff --git a/Internet CSS project/html.png b/Internet CSS project/html.png new file mode 100644 index 0000000000000000000000000000000000000000..df31ddc7a601c09696404ff3a76314d1b7d99270 GIT binary patch literal 130300 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

    lhqYH7Ik@2T?UH^TK9Z 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 literal 0 HcmV?d00001 diff --git a/Internet CSS project/internet.css b/Internet CSS project/internet.css new file mode 100644 index 0000000..b4f5785 --- /dev/null +++ b/Internet CSS project/internet.css @@ -0,0 +1,109 @@ +*{font-family:sans-serif;} +p{font-size:12px} +#webber{width:970px; + overflow:hidden; + height:auto; + background-color:#ECECEC;} +#top{width:970px; + height:80px;} + #timg{width:100px; + height:auto; + display:inline;} + #ttext{display:inline; + position:absolute; top:5px; + font-weight:100} + h1 span{color:blue;} + h1{font-size:45px} +#bar{width:970px; + height:60px; + background: linear-gradient(to bottom, #1e5799 0%,#4c80ab 50%,#4c80ab 58%,#2a6aa2 100%); +} + h2{margin:0px; + padding:15px 0px 0px 15px; + font-size:30px; + color:white; + font-weight:100} +#mainpage{width:970px; + height:600px;} +#sidebar{width:20%; + height:600px; + display:inline-block;} + #sp{margin:0px 0px 15px 5px;} + h5{margin:10px 0px 10px 5px;} + h5 span{color:red;} + #orange, #blue{color:white; + width:180px; + height:40px; + margin:0px 0px 2px 5px; + border-radius:8px; + font-size:14px;} + #orange{background-color:orange;} + #blue{background-color:blue;} +hr{border:1px solid; + color:grey;} +#ad{background-image:url(ad_background.png); + width:195px; + height:250px; + color:white;} + #adpar{ + font-size:20px; + margin:25px 5px 0px 0px; + padding:15px 5px 0px 0px; + text-align:center; + } + #simg{ + width:80px; + height:auto; + margin-left:50px + } + #adbut{background-color:#1AC7E1; + color:white; + width:170px; + height:30px; + margin-left:12px; + border-radius:8px; + font-size:12px;} +#maincontent{width:79%; + background-color:#ECECEC; + height:600px; + display:inline-block; + vertical-align:top; + font-size:12px;} + #mtop{width:100%; + height:50px;} + #mone{width:20px; + height:auto; + margin-left:10px; + margin-bottom:20px;} + #mpone{display:inline; + color:blue; + position:absolute; top:152px;} + #mtwo{width:40px; + height:auto; + margin:4px 0px 4px 520px;} + .mcp{margin:0px; + font-size:10px;} + #p2{font-size:24px; + color:blue;} + #info {display: inline-block;} + #mthree{width:300px; + height:auto; + margin-left:200px;} + p span{color:#0097AF;} + ul span{color:#0097AF;} + ol span{color:#0097AF;} + .mh4{font-size:16px; + color:#2869A1;} + #lastbar{border-style:solid; + color:#0085E1;} + #imlast{width:100px; + height:auto; + margin-left:20px;} + #lasthead{display:inline; + vertical-align:top; + margin-left:15px;} + #lastpar{display:inline-block; + width:70%;} + + + diff --git a/Internet CSS project/internet.html b/Internet CSS project/internet.html new file mode 100644 index 0000000..f86754e --- /dev/null +++ b/Internet CSS project/internet.html @@ -0,0 +1,69 @@ + + + + The Internet + + + + + +

    +
    + image +

    The Internet

    +
    +
    +

    The World Wide Web

    +
    +
    + +
    +
    + +

    DNS

    + +
    +

    Mon-Fri 9a.m. - 5p.m. (EST)

    +

    855.967.3787

    +

    International +1.617.963.0555

    +
    +
    +
    +

    Clients and Servers

    +

    Computers connected to the Web are called clients and servers

    +
      +
    • Clients are the typical Web user's Internet-connected devices (for example, your computer connected to your Wi-Fi, or your phone connected to your mobile network) and Web-accessing software available on those devices (usually a web browser like Firefox or Chrome).
    • +
    • Servers are computers that store webpages, sites, or apps. When a client device wants to access a webpage, a copy of the webpage is downloaded from the server onto the client machine to be displayed in the user's web browser.
    • +
    + image +

    So What Actually Happens?

    +
      +
    1. The browser goes through to the DNS server and finds the real address of the server that the website lives on.
    2. +
    3. The browser sends the HTTP request to the server asking it to send a copy of the website to the client.
    4. +
    5. If the server approves the clients request, the server sends the client a "200 OK" message whcih means permision is granted. This then starts sending a message to the browser.
    6. +
    7. The browser assembles the small chunks into a complete website and display it to you!
    8. +
    +
    + image +
    +
    The Big 3 - HTML, CSS, JavaScript
    +

    While the server can process information in many different languages, the files that they serve to the client are always going to be some combination of HTML, CSS, and JavaScript!

    +

    Learn more about the big 3 here!

    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/Internet CSS project/ninja.png b/Internet CSS project/ninja.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa4bae993b5160839015ee9ee41c53d1dbddfa7 GIT binary patch literal 21068 zcmbSyWmFtZ(C*^y?(QxL4#6FQyDS6?!QI_0xI^$@iv{;3IDr5!7TjHeJ9qM(d%pko z{uq`s+tXcLRbBPeQ?oH2)#NcyNl`%{5Qd_Hj3x*KLkL{K$cVrlTUS*a-~+{3!N3g! zLc{xa!GLn|h(RD!bvtS4j~{KF+@0KPot&u^rKPEzU7f7$zF2`k-hcA7Y_zow3B~T# zuBDWtgVU6qGzpNYHKpQ$@sk-@X;840qG^hj2sHX}WM$#WM!rSEB_;;P6KJrb$D%GG z?a&k_hLuFejy-MqmDtaB-R=E)ZC()Huer)^nnLPBM$b^-(|8w*UMWS1vk^A@b7*si z^Fs(Ky)y_Kx#<&)+Y22G=sr+Xl#R9zsRsn(J&T46>Ql|_<0g-K!#a}6Hiiifhv{=q z7F0$K#s_`yO_VAJeUO6*&d*}h0)2xAnU7mqY=b^>fXtbK_GUrB`S;m=Fd(Be8UmPa z$slSxt7sXJtq7=QN;g&(q|Xh)w^sfs1X|<(aVzRsD}d@-L4A|hXpJCbbP%^jbOZ|s z-VbCxLPzHf3eN`N%U$Y;{$+z;@3R7$%5D^Grx%h9F+%2WLDJLXq-35{Bx1vV4~7Nj zeBgxoWRviQ@MCRUO@Kh(k_mv_UcGovVnQY--zTUW*yd;B8IOzIoimSvO*RXa;>d{G)f}{7*NsMPJ*OmUee`7L|TV z8G*<20$y#PW_@}uUmgNQpYLuqdba38cuhj&;qNz~6W1zb2@wYW_T@qz-;;(qiXk(;OSOytp-ac)uvp>O!ufGG;e-?-FOXm1)VhMMv z%!IA)-nVrJ0$p}G_5a6=3>R!0wmIeXb}sQE|BV3@Y^|8$0s@)J&~s{!HAxI3gFrIh zLRjl1$*%i}+4~U5`w>?9(VorUhfC4_gi2vcp?(S`cQt3J36)}w{8dlEYR>iF2MYc^ z4co|6XG~70P8+6}Gu9&*xuBo9D+C2zas(LLH>_7Bo>Gtmeq~UVK zXum(X^W-EEe#`ys`h!#~{(aH@?`m7DKS|=!!`yub#7KNUzi@L74M;TzvZJJ0jyKTO zpjQu(*6Y^5b;jISPBnPJLFHe-d0z2J2ZW10BwqLaLPXT(|7-?Rn_OGyt4W-&MxHEDyj+%6b z?3KCv3Z!(YqklfxHzEn8u~V~+MC|164D9gjknPZ18lmP}d~hkf*Vr~}`Jk}!9vZ)mL9#v)Y-AP-bG|=EB2GL+ZWk6lJRO4HN*>=|uHJT+!lQ%n!Jw|n; zN65RMj19k*{5@GavtB4VAPFW7qJ{ zS+-cn%K25=d8~}>t1>b(^s5!BHLB&0yWc}jEAq>`WjhU?LNFzVm6(i~9-w* z9EM655gBP1l~s>a&vGYLRcd1#g_?r(M2Q?yS5Gkxjc>*j02~jB@BWXQnu3F4@rPNcWDC z`;Cjqrti#6er{7P^z{33-P!vyyR)d3!U_IDmI4Dlx8DOJ(iD>0~HG%5V z>LE7G`*d8ET*-R13-zsKUR8JCb0YCuao56a@oiCoHQqG?vk8H|){)k6^#P{>vxs%+ zAiB3tZ@zESpo(Ay7#p~l5XlfD*r$76f12Jz3E^d{+s36+$@p*Wk_3`Tp|zpA{k1f< zBPU;LY3}y3CX*-aFe5$&9?btn0`Gz21_IHUBBCPnA|(=?qxDIrc{1O5O|MA1t;;;h zWXP=L+VH3g)p01jV->IB{4DxMpo70dVu;h)U}8=`UtjTyGPw{ZE9AZ7m!9?K)2pbh z{4KO?KcXzI5ff*hqDkm=L~dgz*fQcwP*Ns6J2%s0}UG z^!w@PMQLMJO0`P`R#o4WljN>{)w`*H}d~z79IZwQ^CWBaPZOeXT(-;6QDWDnHORWL{uJYP7M^ zv+n&BGbWT#UBLG1bfRf&`Kv(QdEwhBE);h&rKK!VS&xH4f3Lgdvrwa`i_bFZHUR=# zq%LBOXj^OxtHYdn^{HMaB(R&&SJghmw0|tLzZu5<7)=LtHzMG8W#QCBU7yQfy&3!% znNKE85EBc*Una^V2wG%b@!lniavJN+UP=2=S^cy9)0Fj$_2J$cM}ZM$MpfosCZ;3C z(w`p~>$*QqZ*FCmxiWt-FL#EuNVk{tineuGRg6yl5|Pj@)xOq#)P8?9v)T+^xObdB zBlGLJ25g+YY)`8JcowJ^^dQyC9x|4v!R2|-DJUN)usyVov4#UmBy&%zH zwk)*&H%BoermdMY&vq=2IZV~_nt$%af$<(gCn0ZWi_TfbXXo$^W&Ms4L->zpykE^G z(kzuHg$)JQXQ`aa9JySroF^j-qYm{6@#*=aHQ#6XWh$&Zeo+G-r7P`GyFZ7av#BLjW65WFB_M4@$}mCa_WT5 z9FE+NL|;>9)rULtI&&cH#`f)JzTM4!)^~?w1pr`f~VOAwBhJim`y`wfJ=$LPW?Fct3Z%FgcwyU6gs5 zncC~%U-oj;cT7^ZJOmx0>>2gu<1xL~eLC&;TJfSdFImS@-|?poVt%uIXt>e(UGbDk zlA8Jk50`cIY{|#54B$;_O9f3;5XhGS1PTrVfgav~&qEN%gBt`oG6#W#vp^ssrxde6 zIS@$ROHoEr+xyQ+zE>9cU~}vGS-}sX&tB<7wLfsFW2i%;5jhvA-Rcs!7m4fp%(>+d zg|>crQS`qTv;F%Je^1fec$cE_NOPp5*@!Exsoz2Ve)L4RU>r>b)=W?x4ASnRUM}i0;bMcUSSypITzfE98{Ykn<69uE z^MB4Kr#2E1Zd32q6BEe-78V611;i>JQhhBp%uxmHYM6-Q;JJHWZjzd=dBO|LEJGNBW)>9>AM}to!1@0qE(YDOO zPLQNWEMg9)Ye7z!G4X}HC%PD`sg&WPXW#9U+Nl0;!@afuqXJ7SjYFt-NR+psrxq7m zC1ud?!pccpz_10MgDQ(~Yrk<8H&`SA+s_>iHOD;97G-;Qe2;C?Ua%0H8En49SnTGyFlrFz;f`%o%WU8Ym04~PC+ULmLQ-9PP%rmorkdwHEC^E*Ta4jHiFtw3h zVBKVjk&<(ZA6uf>m6VQPekMX}EFX2N=ku4<563ZL+wCKYq+`_@T5f;`A9#y-_Ue2Z z9!nky++wF?hkm@L^*p-&D$772^3@GTwjs0Jp0%mC-AzV6JlT*9^@0H>{aVuq#X|?; zvjp6+bM#ff4n!;7m-xaL1b|4i%m z{-6<}s7QlPppQ?auboDmmY$`ZmX(%C9AC@(y^{MkKg$#kF8+y3hli1zNk1n+8W_n1 z1BVd2p~&Y}v7mioF=pxcTBa|xc~&9k6lc%+pU$C5)vS=Yap+;{Hosb9PzF&hFDX@s zd{_?Z;`HX&9syi8E&GE!!)@aR&*EG!rj5h{Qe_`E*sn9{^prBAcIBN$31n>Js~ykY zM6~PuH8CIA)_s@7>IqM@)$c!6cV*-CKMBULU>A3h)sfUx4e24PMYA)N(=!Gmvvq{9 z8&`%C**M$x(zJQr`r%=i(c`bhrOO7oUx>cC;-H+wdiu2p=qYJgn_bLnRE0F9)Fm+t zG6?kOxAzZY#&Mr7at~ACj@sKZ5{H&s>%BV+FfUIlpAaM3=Ubfnt8QUyGw_LmLW~qk zOm9MZia^WQ*7YbEEbj6pD|JuiV#nY^+xNcrVkXzMW{VXO41~(MMHWu49q^rua%-Fy zx|w8o0ZI~u;$?-Ae`C5H){a|*b(I%T5|Kg2bO8zCum#Ig!7sii4fee& z57qJ!fj*d9;~ zJfY*a1|cz+$$#Zw`K{>t1Xfm-%e{cVjfoY5d!q&(L>|Mc-)5p^X2H%{UAlMHdgn~< ztbMtUQYtiMBN$#%4>pn$??Aifai+VKw2Q89D^%=LPgRG-!QVerygjE1eu)$p5MS9* zG~}(IHyhq8-t}9hZt=x?`OtAI-Ww8NdX;}dXCoUv7=RDA4%3s^tuC*?VU+R`AR%qs zyb7!bdOF!whj~MbAHVR521T$f@G%}vVtg6SN^?JEWLOqVxwpf<2YF+8<9K5(K5IDP zf?bIALA?XwPI?MlTrioIOx_sT30MM^i^?^HgOfB>lOLbZf)D!4Ze5v07l#`Y6%F4H zE|MY6?f4O#G!-g#M8oY%wI-JG(6XO>6Sqq#q`C8wi-8jWEil%CB3XC?Pc|OQ7Exjk zSG>6?7ysfwQ{Kzy^Tx$?yFcT7I$Tt(88#ITa498P1Z1c4e3*<|bcphfwFSNJFwm#} zm_^A5^M)A6QM@Hw&S;6Uzz0>?W4StBP|G$8@|YogL9J&Qbntv3#|0~j?OQV8=hK>O z9zAUs^&R(}B%6L3dw#q~d$2>EjGk>(vfY!JfP5N00Ana%qPLrr|S z31HA8a0LxPP@Yshl^ETS7tV3;z={~N!Fnm;tzS*xgC!WKP$Nq4v+jX$y-Jf&MoSzG z>L> z;sGbU_Z85dx8sP%FU{BZ))G?27NZ2EvmwcjO!2YxJK|-1 zT7COvY_5b{&LS7m6`X=rfiJxcXt`Wu{mYh)=iE3M(;66}$7z-9Z3R^3=NXXT}B3a2p#75)^b9l&`nzH&`+Lhv1?z_JyWyk}s=3oCB0F^CgK z11HjMbuF$tcZp?u*J-g#0Pz4{kGV5Djv@^&eDfosXlTkC=jzYt7+Tt|KG-7#C1(QjPH>yDZzq@w#IP^e-^s^-Gxxp{7llX0>mvN$Y+ z47Gh=xoxOb)8`PrMZvOY_(U@dE0N-eO%9F9uiDVwtn;f+5+wkS(kj){J?6MaY*1q? zmJ#Olfm&<^GH*xPuw3C98$K#v5LxUOiwdz`?bn}-3gN{K?pZF{Erot%eU+i4fTM$2 z6tdnCmFm`hHDm>^tVExQmjLP7FNKZP-(3b1m*`IAHTRH*U=j2RJlG;nX*eCdOv zbFgx-5}=d4&)LJF7{@59G!E)KHQiK=n#_ddVq9p8+ zBZx!bOhrJUq33rb*>zHcE)e9nCn3tt`R~-9&iwnmD!*E3!wg5)N7o~V z&VCB88ZaizQ0!yRE(rxNa2$Ff^&-~K7$Ab}&}SD)5vIey)l%~5N_0{OoXi&%Zfu^29M_rlik+P* zh55DlN{}dG7xYbLukBELY_wc0tDctm2FfMDNX|pT6RwJ z*a=yhs4RBq7Uq!^C#sN)E+uJU98{CZO=E=Sv#dUEk{l*wJ;%DY3RDqEHEh=i zAoOO-*AUPwjEp5jSD}Yej|^yrTfO0risHM*OW|ZpY^VD$?-0Y_5H{$;(-3@G4V8hQ z#L4e{`x=%O3n*lRzZ_ZFI%bp{-}URafBy;lG}sf74|LHnYU%D|R&tzV{<)O;Jcd?A zm$GB10_6d-uwA-MqRa~JhuaaC4|e7Xdmp|~bai!Pr>j!XyK7miQ)+3P>>nI@Oyp|} zHy|aJ^|Yj&ul+^E>h4-QOaegpr-FJ*sOACLb5l7h`8;>z0O^qPE)y0_4!5_L7Si}a z%jMAH`?Wv6)tGa>c5+0qT>A-r_N4%Tl*>ejhf3kckgAgoeXWk!JeRM4zwaG-&R8rF z!PE_DBs7!H**b~7Q;C~1>h!j;L}CMkb8;gh%kkq@Q9c`C_jJH46pkFInCG_njDe(9 zBcpZKdt|h6)#j@fS0A58S;47o%70yvRL(k)XFNDDs?+EG#Dh0$(A*rCuA1Mq@Zadz zFADzVTX4*LTVe_zI9tQUU9VimIba%xECn;)d6ZQ)uF z0Ui@Ag_hIjj?{gLOzKV88kATN(sDMB~b-cJl z0GbHFrs&o%^c!%$kv&9Zd?SyaULq>$l#nwMJbMhe^3@)Td)CH(Vo`pr;ovIm_!0ak zR;o%FF20uC!e56cBJfUiRVqknZ-Nkq(5rqrChpS!oVpJF=g6!qD}&!eiPL0>vzh)k zkz3ahmh|qa&c;mSbBe@>0h{nHtJI_mFvxPaS)H}c5thOocAAD8%hm6Sm^Y@iQD02` zDbryKqhNcZqjCz$`Y%;x<|Ja%uzhk5^|0?4SZ1qi+VqC&!&eGjV8QqDkBjC%aQCSg&gf3`RU zBcP$|*EF6m<-FYVlp56+%f0dxT+U_+7yL&MI; zsFwl`-LgXeT=V^kQY$3mNxt09%Xm#@u|{> z05kms8^Er|B!fr4*{XAA*EUG-s)3n|O&lj9d%XQhEU^mxT&-3vCG|m$WQSyCX0u9y zzhn!o)oaOa{l;Qpg@l}!eiLCDGz(wo0qJuqP|my9*jT{ZLDe^tYoAioW$`>)Un?UO zE)&q*37mY*ANk-tW0F>XoD5{=eTDVso!Igp?{6)m{=<4Q&RfFp048)ikDD}4d$&w( zfb(d{nPAj|Jl@xrz`Xys?&P3)+<29BSqzq_OcHjMQp3zyezG|96Uh@y@}szjM^^T1 zMD=#3cS4uN6TQ;)jVlY<+sT%GHBr?O+|C-xqYxCh8=Q3#OyP4IP@wYtcTOIYd;UV+ z{J-AjR=P(k*IwClyy=ge0w3vtsEe|#(KHq^;u`g5KEq6Tpmqax{zS`}^ za1piHMUxvY`)m8*FU84B`oLbr9ajYxI}^hm+k$w#|BvEE%zG`)I}LHP@nt%Sl|2Zy zM91B`_JPZZ?Z}%g{}h|5O%~xuvOQ05UWFT% z_sbq04Vg)$Wq+#RW8tLR>geUzAG~WBr^rMC5P-mIm-`Q-rNNYWrOA@9w9TaW3+M0Q zj;^~LTo*G3OS53XO&QOF$9#4OU{n34$qWo-_E`<2+U!xXEE=#WVU2p$tHFaP~ zPs4X_3I-Gj1|;8`TRq#ZP;WFP*|2h4Y+ilFr+=f2Jv!KnBDju2>$(>uC6En7eQtO8 zGUt@p_3KwsugIVAE|`fyNGC6Cqn!?OCKfvxCKX5m6v(4FzUvofR@5y3&78{GedOva z6B~KT?eq?EWBQjp=a;5#6R{kDiVtt=|y5S4Hi zeR!B;^+ODp&gJq1<(~xw-N%UaCM(uH#zzQ9OdZ=B<+rV1g-|8j(xy;nMnD^HTM+n7 zefMD$Gi|jQM)oLpvH>ur>>_F1WU;3lb9c|QP0{VU9dBf zm&klRBY7|6ru#dtk0qYlMk$;DDIDS3-x-l9D}4D#^p9p*V|83&A=x)NcIR=mr;>rU ztpuV^le&#o-fXci{&s8Z;z48a@q~y$d$qOxcZr#Y9*i)JXoBdAThSW;YOAZKAKc~Y z8!T~1ohosetH9hutDsD4$=&TCn!jv9%E0rejNru=INT?q7(Rikntf~+d*Oiu9bi!U z`gEsSh*IfqWic?YyckTS_kEu_j6X)~^*>M*{~IQMe`jQ*`Nw=bv~cB4SfcG|u7-dh z_(sH6=#EIejN{=qHwUG^omj<7FN5fPN=fnMcylXtAU`)?!mg> zr(ZrinJxNFUlO`R+-{+s?%?L9<pa%wS*c3*)M-XlBZbWvoL=H1t~zJ=-C7J%Qp{j^cn7 z)#AC}1S+alEyqy*`2c1gzOK9WVh58=*o3^1|jMezQB<;R77QdhKzS)peF|X2w;=0guA2!6t$N!)i#|(;YY5M)g|VqmY$bun~GN z^OOq68?t3ZQ74oP*+P+(buY=CkuUI0pdY067BT%v?>}8m{kx3^^U8HNF2S{$?CHKC zw?Vx@HA6wm-ahns%^$zK9hD;w~LE?MH-z=-ixNETDm=kci zieAz6J7_K&dVTmOa6kRZl*yY=CE~hSnbO~6^e;2SH{?x|Y+~hS1522dlH5n5y~#xE zJsB?qK4nXsDx|-n^A$nnbKN5nVK9fqW&AONtqj6TG#;hFxE-AN%|YyS!&j0T;QpB{ zC{!TD!WAB%IhCv1vH-e(i=J|Wf5Ur2a3g#*NL~ZKs;cUHb#+NqRqWW9(jO6F@2A!D z8lzUsfi$FxZ=?q=~ zu(SVcWZ(KLm|=wzBXe+mUeVc^dwc6CRfG+i)_?9!JUcT3Bf05;o!(Cxbq z4X3jWv-ig!{$Jur?L9pOv+5E7|55RFHzb=qp9lv&&KAzB%!GmsWw!tJGr4oN36(K0 zq@|~WNrf}O&LcEY&JVkpSc=++D`Q^k0Yu}C$PsiRZ+bYlxYxs}LFY)O(87aeN30brZN%D`^O-t9*{@8c2)MU`+Tx5x1 z(BaMk2rm#@{87MBv>@MtKSn0hoLhmLm>wS$2Q_Niq<(DY?g=nsX=z(lN(ydlT%5)n z79TabNkvI_f;an68jF_x4_lm&59T8a0_b7Kkj_Mh?2C~94HakTNu2q{_R^Z6e@*^hKgu1&|P#aobOQk zbKB+U`1s*SuUAP@vcF#ZDTb+FBUzr3hEo0a{M_z;dcJUN7;Ty8^8y*f%4Z*=1O6M< zStMJO3%AR;jv7cyPjg-mxZ??UyatO!+zmhM7pf~OqvgJLD6THaKg#(N@Cuna9@Nv7 zGcZ^(Exhi4lpG7Am<<2E>EEcgG9VT~h!vxp`u4|Hv_Q=C39t1fMoHct4bUlzR=M+T zx*n#HwxN-c&sGc*=m1T~(8N{k(nHKyVvr%r(z@T3yZ08wxVgD8cJ4<2 zxqEp6omG?d!)b-^d5UEo)l|Af!B93xn}vS01l*UkuIyo|)};T=Fc2GNM4Tpv)PlQE zzT<##5Cze_G49d0-_KFauP(^5Q&!a0CPY#Cj!fHA1zb<(dH%5jxwo`hwt3fSc-bJG z)^dRUDbN3JoEdriD!O_N-t$deknDnoR5J3kzFh3JPcU2kl{x3sf}cwGAS37**PFs` z+wjl9VUtNZk(qz8*P74pw0)t^UiL(R7@73K;fbx6d-E_$hp@;27NQ1zgnGb{)<4@w zs|7CS1Cm7V?O9v=^{(1xmA+I8F$ykwIG~KF@B3noaJw{aXU3p>(Ago=-94FZ0XTmg zS5FoYQSsvB4v%cTbcVfJTJca3r}+~Q&*AO{i)Ew8%`-Ez zM)pwya!|isitboHi3h^tW3)_3xD?InWoED7X9IkE{C`fSsi7fBPhQ?6cC}@Z!${#! z8!r74b}DkaXesaC-P0p}*0!D4|Kmjl>fvZcbasAN}`gevKRmR6R*a!n{<_Xg_9MI-=grx zy&0f|0sW1L()DBEt(c#je=`8x%hv_{^VH1lqE}YGF@CG` zyUMR}IWGp)CxLbU)L}}$iND8%0k=#4#LX&KG*WKb-b#rcwsW#$Bt_BE(HWf6Gy4UE zL!qN%%(fV#R!4>c1@xh^Mq-Rk@_}KX+k%A9hV=CNyavjRF6?)bmoZEgl(%5&_iHIp z1D~_&LJCu82Yb2E*50E=PWgLpVFtyrB0Vnu`}dbXw#|&eV-j{fttbr4Az;&8>_00o zZFIpqHN60z^W`u@Qz-ng{!L9!n1qGscHVWR_TItOQ@*;~&e(IwY9fmV4hUx@wI2Uf zzL`)^gvEF>6?oH{y&UPWu&}t4cGq>^{@Kv<*K;z1%so(qnKW=xL$@3gkpk0B&5Aqg zl0MRhLXKD5XH|bRHw*a&Bn=NhBhc(@ZK-jRW~bL$l)KY6_4WUqhQ}~(QA*CX4cJME zx91l^H&RR>zHdP~&q!55$1_}W2X>G*_5q%x3|WM^d>5K|c-GA47S>NKu;xuC8KpHJ zAWo%c>cfD?q()B}x0Er?{gZ((VP<|t1vqqFU3qmuFUNV#P?W^xIv_&jI(Ed!(1I8A z4#y9#R_Z1qypmt${h>kK*e^Yuj>u!VdG zM%f+)B1}Y8)lUF0R~XYKn-7vXmDX~YCPn2OvEpw4X=nSY@U3fGH`Oj@CFt#?>jH`v zoZlGq`mmpLltU)qxKp0%SPZzQzNngBqy;M+IgbtI+D`kzw0?Z>x)WEemq&xc^84X& zee`6bdbT$#TKSstsE6$P-@rB=G01HHbY&kMef~TYPl8Wqvher8KXE_jWP#)8ptQUy zCDSaBWR~Bc-aMp4xv#3qbWCLYgYuvlA0Bhcj>FxqFFV4J;9MVh1l7Z?iv;RD7@hn)Anym5uen zxBJJBmd1e2?pXnc3}qdL*kb3MWO>(VSt23IPY8a}8~I*qF_2?&pPl6YK_?lzR|h3Y zmpiHIfBb?pgV2v&3n7$P+rvo}kQTxL?t`<#qT1$k^Pt|`@)wnjmoE+au9Et!A)c*+ zaX^~@h&Ua843(6WY#kk~<=xy2Esy|(^Q5PLuYyiw^F7RD_N1kJ*vWZk-*z)^gc3C{ zk@GGNjjQW|?nr4dqY$Is7ykzVH?0r=jq zgw1dw#ftZKg1d(YkIR+}XXgp;=g+qV+>etY=k?xyEu@OR20&cRzUm_?DY3>%IXG}w z4kwlYI5#7MaQM!&EEp*Sc>ipMiG6)o+;Zv0Hb)K^lAfOaFTk6^g0Wnt`KwsR{`!il z=;lvPB&oIgK-#fBq~VDi^VRvm@2n zwYu*z{rvg!zoKVuZZ0t>5lA{73npEUN7bNzVgDb0-YU}Fa0_FAD8RNJRzPCJ3 zL_=o^wJ&SROH1LChNZcQRbqS~%&6&BR`~GG_b-8*-PfAK0$7;!o~MSd*A)^t=!i&c zJ!Ma#R={YW#Owf<{zt3AX9I&}6ITDpZ_h!4GaB^+H*slaCt2ZwvW7+}6VVuj=FM%fa!=17%gnwiXU)WY0Wo(12nM!RUm)p4lQL5?FXi6G;9cJ2h(bFHZAMqoK zp|DkB;}oik%emtfcBDW}_)$;=Q!|+ZsPL#$6(!A({_Fww+KA+)t*H_z>^+s~|GT`OM5rH-JCk_PN|i3)lznO+@e8 z%X#ouWzkc4U9zI9|Cc*kLK19O%wulIMI7v<;N~#yFb0SdM#QPR`8$T;UFzB zW7J)<{5kH|ye`&sTcciPS#eDoY%f*a!gvIc>A{H0_ouEUKi{_f0zYrSHDG|6=NdkY z`04N8@&vYh8zPEvFa}+mnWH1xKW_Qr2#I5foqb)%`fSB4y1vv@zbmI)7JXnO=PC^K zg)*>XgIN5XS1eo!ktB;h>hn3~0|)Tdq=>NS7yGNV;IIJ0%{PaYC_~M+29yerKW`4IaLyQbb9=>A+n;ot zRO3q0NQ%y@&kpIhd$wq4f79BSMY+etzsDFutFF9!=E~98xAhXcePrx;$jnqYSV|5! zzVQ{h{}$%`l<%b`2q-DDQBvQvh*G(V?KL$w5+5VnB_F~_P!0KY*`#>5j&IL;0>2tX3AES%V{H?K3mjmz(!N1@6uJ7 zM@;si2Cy;|^Y#s675;2SOLPfvQYqk%0k|h1TX~Z6c{x@9sp#O~#F#iit`@kL_66b= z`u4Pw++TT*?DQE zW2NHhJXQ$24-C@Mnk`nKx0uKh52&}cD`(-j{=1E~XT3LI=>~{xHH!RM|D{m5^Ludq zm%FC8L|K<<7&7s~q{G~pd3TxiE&#?BqZ~ZGsWPq8)6mgDiIA!>>=xdZ_3sI|CFjf);A?_2 zz81XKYg^Vw3Ba|;<}i3}mf+Yetg{kd(46JBru63q$VZ@(6iw#FiwUnh?kG^8-}0p` zVsh^Wfb7 z6J*vzU!web5U6GN`9JD^{2)rnM2tQ|g^H6P2NdW4-={LWviu&I;$GlFWW!DXIgTtd z_c){%RB>|0Vq(#%X*L4E-dg8&vv?5zI4cxSVt|sI7-NZ z$sTL~tc83>x!AGSwe#bfSV{))^Pu5@dzbC+m6b&R0-A4m&tyOR1I7kKbqKc~Ht0%x zA^34`M;0hU`^|p`^8Po+bF~p>cYg4#yj!xuttWFji;wvHLB~7WV>pn~bHfnS99GTmThwR1Ie@4%~5#Q&| z7B|M>RULm>Zb|UcgV5t7@mW5)f3~;Ra`k>%8dmox471CSEbbROjiJbyfp1H8o%}ni z2~ajkuyhyc|IJoO1^1XPNSK+vB?zJ36@;CI14RuanXX6Dx>tLCcz5e9%M4GxXv zzHHxL1}tcg{+LV2Vsv;wRulRZy4}zK)M=!oq(JdkW7r(q($eCdkIM~ruiFFsn&y_p z$*!WhI_~Cp!IBsesKHCW+g>Ad>``bW*-sC5RB*^8uyuZC-q^Kl8WM4>1#l>%T2?Ta zxW=rv00M!i_?Oi&iG_CIWnA(89rP-1ZOyC&8VPo!b2>UD!pHaF+1o2@?ADbcf51Nd zmz^!SYI#D!;J@CY+B&+xD5F+~lGav%S*)|Ey^{L8-3*kug#~$e8zz8{-rCv%51T2W z`cFXWhPvAry8nyI6|x>08RJLK!``^^Jv=$0&Dx_=UvW>e687EePc-g~{Wt;{+q?1Q zLAM-vy~wkBXIr(kCL-rDO3BI)+bz61Nx^W_T=riE(aayd>sL)30v#QbW_1S}I`#)` zMI%SWa`{^jFMcy6YK)A9zGTbNjSeIbciYY*P94!Os=D*@Jj?)@@+|+VKc+hmH%p;$ z5y=iVp9v>>?67S5YWMLf2YYJu2+vH%p!h6QGgFyPz~f7MoX-CVg%5i0B?>J<7rVB7_rI`)XWuJi>I5H+lXa#|G-#NRpfHf3 zEgf15csIB!X>S){DI>>7>ylumg~iO3QL8O4bZy|ay*I*j54=Zvr-r>z++ONc6sWB< znKag7a-GSax1jIQ4Pz5ZWIr%FpFy#AiH*ST0$3^kP&)#VmdD=D;4RExg;4@DywR_P0=1Vi@Ep8f;})-C7sLyvY{zZDmFDGGQA zMH9I)MT7YyEbTdCu~fM880lM|T*=dKY{VGRiiJgQKlJv)x-Clbp{MRufD{FkfrsL5 z`9GFrfn{OswA!hlpr|Td&%509?FpQ4@OantT~%oymxLv)g}5_qgEr;Ls1*m?m-O|> zs~frg@5_nDVyU)^uq+GHGVPaX?DDcKa~Dxbz5~-Vh{fZ4@mEikdXa`^OLS%Bt-d zZ_BDJT`c(3zv&C-ObGC8Agw-~8^ZA`a%J?^Z0qLi>z-hJb7nT38K%Wg?|YqZ{P9_$ zDR+NTW4WAr?LWEe+4nQnhNbWC;M`w41!WPd&T#* z-Uy$+;Yn`#=L!rXd%eqqVRH3t&-2aOo+A=ZUy8hGS^VMAcev!Y&*W0Tc7RvY{ef<% zc{>YuH`hkevMkOyZYtk9_ejc$Qd=V6iRGKP`nKoj?2F`7A5Ixt&L0+@%3)J$Q~Ehu z+Jk)WuP^h;2Q4Y7DChzXU>^%5xqSSGioNVynTsP@UgYQMPanoPCpMxwJZYO+d->k& zFY??wTgX*ZMdAGaI*9Llb}p3;=L$vRI=4RlE`NIZePRhSSG%wU*k^^WTt8RnLEzKm zFw-YgaPg@J^2xbV@Qt$c;l}13ZhrJF{`TS;61qV?P+H{Y3m>1w7w65Ux^#3qLHfdR z?tSh9?s{$wE#2W<@49<|^Yc|$E(QLS4>!n|vI0JH!c^uRQO|)Bhi;?=BXOQyv5ALY zUdQwAY{AUnxMdQ*SL2MM8aVT~X`D2BB3{qXMB210R;+F1vDY`TNvDv3{%EcGOntaBEJV!RR~2Bw04Kt*wV|YtzEpksf*s+Sw0>rX3`C6 z%U59mcpW%0A8!!LvM>xCBcbn+p=z2YdLjWRcsv>?iYSWRX&8oqs;X#vsZp$;pm{uK z9#5_YWQW2_zzO^Ng;WWPo3@ocl&_<&C<-2r7k@zkUat>D`EXcNRmJD`qiQONM8aN5 zw(?m}z%UF9)5PQT?jb6QqT==X@D~)|@p|)FQ~>^wsSkFOu-r=yl~EWen#Y4b5Wwg2 zqpBaq4?G?ZKEEF<%PyIjhi;K+*ySHJO~bpJXsD`&&*#S<2<+8@$wLg_J`omslhpGv zACd#3Y54s9T?9r^6udqk94d9pGzB7yM-1_egbG<-h$2GjL~ebeQlzF79rxTa~~^?7$W?`ao7QB|2J zd-BJO&Rdst#=}6f%!$1WR5I4$_4)0(CyIi{>&55up(x1{1&rLuX)z7kBGWVtug|xW z+oRz1`9)Cn&lcb@5ta{$1HY4bv2Qd@!xsn)n*EBZ?&KbsS??a%ZchTsvhezSXgj$# zs;1d76mfYzieCU3J&VMRlK)4bTjs{TQ4|HA&yUyZV<7cs;K@GV9vOO;tsYrm=mv(K zK=XL^v{Jl2d_I4^uks9q9l-4wx3FE%g?J`G(XubG%U1A-G$7mi6W59ZG zDFarD>e)S(0-9zE=gxUO!hTr~+~S6YxOK!rz_(~l6hu7z4=UoxnK<*1ki@;6$ zi!3W?Q5kr>yRP^Q1ZcfJpA78qxXKOIikpQ6?Bt%OWUdUuHPSTve*Z2{_<`IP&Er8& z=&lItT9!p3VaFDIKHo0+CyJur-_0EohQvRBC*9H*x7(Os1iEC-48t`V*aDzxdx(zL z@53+*GPyr&AlXe(uw5T@_w5UTUH(lN5^cajH#NxZBe)&-0{Oi=X87WwD0YlR^X&2O zUZ2LVf0a^7KJ|=c)gcdh7DjOaR{{(&_^Jn`<)s3pA`V>V;fD*MVtHCtQsfMAK7`lBh*}l+qTU1n4-6dmI z^LPi_C=8n$fS+_eD9SojRbSLJ z?OBi4`|9@1O-=i|{`krD2jJt7L_B_)uIvA8S!ToTqceRgQ%BmABtgBQ-Jp+Y+ zWm@QZVlegt1Dgo_GAJW^$X)|n=fuVGp@Q6SI0v{5D3f_Mj2UTJ#G+9KgDaMWVVHQl z-c72ip3>I5qshs+RajhnlHVV=+ceE_hM^B`IRGV@_$JSWVbY$o*#GI&1@obT+;I3i za4;DxWRr~y1a5cw2Yh}%{y^Xx4vPwa74GkUE>KYLJyo;IM-IeRJYJ88%J8j}`+(U_ zib^WU=7fRmz8cKyJptzqYc8Im`NcyCOOwzvZdj< zFv3fLc|d*AMLH2U3aF8Jxp%8&SNF&SNabPE!QI_$u~zm=D|TV|rNG~S&Dr=Ra_Q00 zguVQBL-Oy%z{I4>bPzBz`Lhwo+og!zZ*t2%plA!g_{sIonv|QH0GcdIjLF@I18afz zldo04d%!mAeR5e(F59I2!0O~{XS~34;0Rz&^5>yIARlJ*?l-wK=2!0nrx z`YOlN^eW1Sfp*h0^Qrn<1b7>G16ZE?xfaOj6Vvk1*-a#$4(|bX>?Afbfw@Un>O^2% zPCD)8Zb@tw8&j`k)<#894*SqbG9h<`WgGB9(v^8FInVTbyU8Sq_MzCkm3$4!uh^?+ zbAZ!<{|1f)vTk3$WtqDq$l2C|^+?La%rYNQQ7`$>YO;4&XK4`E0A9vkiF_*Q=134p zgk@y+M$$iCj=dqW1~?P=G;lIm5)9T8`tEMfrk<|O|D^hJL&4zFrR5dd6om#Skgj!OLH4` zjouqe%F2)O`Fs~>9?w~tN2}Yt*it4*B;vdLT~X8ypFfbcqUDy+69`& zbGWK$s-~(LtBhvXmfd+ZNWts%es}xkrbxQl(7I!Lux|W>|CdN4ZX5_nn5KcQC-8VO z;}Thxg=rX=rl}_qiDibK_*;K4_;=GV+9Ylw!s5bMMxwK)tLt~b&Bdi<$9cS-FR7|F zPgRvNRn<^64OLas61>!P9bHfCDk?tTv(4MK{yE+KqIo$Ih^tEhn2>uu6B?bDg)jP0A7tnriU&$cXUg`w+{20JMp$MUjU zrG7`<8(U10R-0v7>kPxVC)6LjLr)~OVh8615ti&D9*gaW$6`MMuB)i3{oEE*+|h}+q@Lv(KpT_+KbC;Kd#6jcMTuq=8l%UYa>Cyws!Xg{g9 zyX#&N6|q=yn(oeyw}Fc)s;i4MRlC@-I1j9&Y{9pZ=DUHtFrf^_WfVoRy(SAREG*O7 z{pq}OOr=lLv|oC?-fOpSZgP#uzkPF4^Z3d2bK|ktk4)281e7GD0z=m^blr9pRTV{5 zP?BzPi9+s$<_*TZn!a0a^0$$+Ij^puwWio zM*t%$UvIG)MR^douCuLmNM|#pXm|5RQeIV6tE$>HV0}_ilu0A}zA+2yO;DaP4ddRP zuFmyNkB!s);|8QOWu6Gj&Qw%Y2Q-g%B55*>})}oS5=*;s_IF=p`c8~-lMhC&T}gQN)%{T>~arlOv`*F7KywR z4uw)`nTW86E0im)QWW@C@|6$hJ)NEZ0e0VJpknXMvdF`o!r}@Ef*>HPLV_TOun2-6 z!XgNQ2#X*Hf(VNs2qG+kAc(LCf*^>n2!bHOA_#&Aiy#Ps2#X*H8RGvB0BjM(l~^p+ Qq5uE@07*qoM6N<$f+^eizW@LL literal 0 HcmV?d00001 diff --git a/Internet CSS project/phone.png b/Internet CSS project/phone.png new file mode 100755 index 0000000000000000000000000000000000000000..0e4bcb6c9cef0e6221472d2d0c4e28bb0f2c38cf GIT binary patch literal 6938 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 literal 0 HcmV?d00001 From 0200bf6aac8f95b11cd1d0286cb3382e32a7a27c Mon Sep 17 00:00:00 2001 From: Aly Hemani Date: Thu, 26 Jan 2017 18:55:17 -0600 Subject: [PATCH 3/6] internet project --- .DS_Store | Bin 8196 -> 6148 bytes Aly_Hemani/.DS_Store | Bin 10244 -> 10244 bytes .../Internet CSS project}/.DS_Store | Bin .../Internet CSS project}/ad_background.png | Bin .../Internet CSS project}/client_server.jpg | Bin .../Internet CSS project}/globe.png | Bin .../Internet CSS project}/home.png | Bin .../Internet CSS project}/html.png | Bin .../Internet CSS project}/internet.css | 0 .../Internet CSS project}/internet.html | 0 .../Internet CSS project}/ninja.png | Bin .../Internet CSS project}/phone.png | Bin 12 files changed, 0 insertions(+), 0 deletions(-) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/.DS_Store (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/ad_background.png (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/client_server.jpg (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/globe.png (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/home.png (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/html.png (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/internet.css (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/internet.html (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/ninja.png (100%) rename {Internet CSS project => Aly_Hemani/Internet CSS project}/phone.png (100%) diff --git a/.DS_Store b/.DS_Store index 8292148bdd7b6b231464159fe351ae1035ae1b2e..36ecced17a295b06b7d83d881e41a3f4f1e77df5 100644 GIT binary patch delta 108 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jG)aU^g=(+h!htcE-)Z!V?%L u7Cl+a&cPwb3{(XK0^C5t6{KNf;dkcA{4$;(?F>v1qd=xJY>wxd!wdlRE)mZF delta 448 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMA$g?qEH}hr%jz7$c**Q2SHn1@A zZ02EUXVes7@MOqiC}ButC<4-{K$Zf7Gea;CDlilP#qt@lfTGC^C6gUk_3MdNos(`D zoSdIq0CWQk5Un>i-^C@Rv?Q5<;mQUtS+I7f-g?5$%*{{1p_#DWf(!zVmc|o4n_F1t xGj3iZ62UyNfk%)T;%fi-^C@Rv?Q5<;mQUtS+D_6z4e4G&dpE3p_#DW df(!zVmc;4f&4 Date: Tue, 31 Jan 2017 16:47:25 -0600 Subject: [PATCH 4/6] javascript assignments --- .DS_Store | Bin 6148 -> 6148 bytes Aly_Hemani/.DS_Store | Bin 10244 -> 12292 bytes Aly_Hemani/JavaScript/Fancy_Array.js | 9 ++++++++ Aly_Hemani/JavaScript/ForaBillion.js | 8 +++++++ Aly_Hemani/JavaScript/Numbers_only.js | 14 ++++++++++++ Aly_Hemani/JavaScript/Range_Print.js | 9 ++++++++ .../JavaScript/StudentsandInstructors.js | 9 ++++++++ Aly_Hemani/JavaScript/WhileyouWait.js | 19 ++++++++++++++++ Aly_Hemani/JavaScript/idodeclare.js | 11 +++++++++ Aly_Hemani/JavaScript/ifyoudontmind.js | 21 ++++++++++++++++++ 10 files changed, 100 insertions(+) create mode 100644 Aly_Hemani/JavaScript/Fancy_Array.js create mode 100644 Aly_Hemani/JavaScript/ForaBillion.js create mode 100644 Aly_Hemani/JavaScript/Numbers_only.js create mode 100644 Aly_Hemani/JavaScript/Range_Print.js create mode 100644 Aly_Hemani/JavaScript/StudentsandInstructors.js create mode 100644 Aly_Hemani/JavaScript/WhileyouWait.js create mode 100644 Aly_Hemani/JavaScript/idodeclare.js create mode 100644 Aly_Hemani/JavaScript/ifyoudontmind.js diff --git a/.DS_Store b/.DS_Store index 36ecced17a295b06b7d83d881e41a3f4f1e77df5..c0d746aea47e237595954e6c94cac96a59fa46f1 100644 GIT binary patch delta 68 zcmZoMXfc=|#>B)qu~2NHo+2aj#(>?7jLe&PSlSsUtFk}ZtiUmec{4i)KL=3FWB!ku~2NHo+2aL#(>?7ix)66F|uvuVQOcLHGr7q|9>FKz(7FvW)&uOMr{I$%7TmX sa`N-ifyOaTEPT3|or9kP=-|y0nZGkn<`;3~U}Rum0$H{>LSzjy00M9-=l}o! diff --git a/Aly_Hemani/.DS_Store b/Aly_Hemani/.DS_Store index df6f220dbe03d6cf996631ad4648f857c6a4b455..5af7e727d720b09e8e93fd20ac400416fe1baeee 100644 GIT binary patch delta 461 zcmZn(Xh~3DU|?W$DortDV9)?EIe-{M3-B;7FmW<4C~!|yP?u!}DFR}3AO^Ap7#Ko6F8#*_$bFgqQ%1=&E*V=5RFpGV%0F%yU3xU^6n^i;=SOu9u1^~_F x1`@6yvo{NJd}p4_uj4q`okxI!31Y3r=1;daysUntilMyBirthday--){ + if(daysUntilMyBirthday>=30){ + console.log(daysUntilMyBirthday + " days until my birthday. So far away"); + } + if(daysUntilMyBirthday<30 && daysUntilMyBirthday>5){ + console.log(daysUntilMyBirthday + "days until my birthday. Its getting closer"); + } + if(daysUntilMyBirthday<30 && daysUntilMyBirthday<=5 &&daysUntilMyBirthday>1){ + console.log(daysUntilMyBirthday + "days until my birthday. I can taste it"); + } + if(daysUntilMyBirthday==1){ + console.log(daysUntilMyBirthday + "day until my birthday. I can taste it"); + } + }console.log("It's my birthday! Happy birthday to me."); +} +console.log(whileWait()); \ No newline at end of file diff --git a/Aly_Hemani/JavaScript/idodeclare.js b/Aly_Hemani/JavaScript/idodeclare.js new file mode 100644 index 0000000..6034ad8 --- /dev/null +++ b/Aly_Hemani/JavaScript/idodeclare.js @@ -0,0 +1,11 @@ +var dezBryant = 88 ; +var tonyRomo = 9 ; +var dakPrescott =4 ; +var zekeElliot = 21 ; +var cowboys = 'is the best ' +var giants = 'is the worst ' +var eagles = 'is the nonfactor ' +var nfl = true ; +var nba = false ; + +console.log('its' + nfl + 'that' + zekeElliot + dakPrescott + cowboys + 'its' + nba + 'that' + dezBryant + giants + 'its' + nfl + 'that' + tonyRomo + eagles); \ No newline at end of file diff --git a/Aly_Hemani/JavaScript/ifyoudontmind.js b/Aly_Hemani/JavaScript/ifyoudontmind.js new file mode 100644 index 0000000..71176fa --- /dev/null +++ b/Aly_Hemani/JavaScript/ifyoudontmind.js @@ -0,0 +1,21 @@ +function getTime(hour, minute, period) { + var hour = 8; + var minute =20; + var period ="am"; + +if (minute >= 30){ + var x ="It is almost "; + hour ++; +} +else{ + var x =" it is just after "; +} +if (period ="am"){ + var y = " in the morning "; +} +else{ + var y ="in the evening"; +} +return x + hour + y; +} +console.log(getTime()); \ No newline at end of file From 5169b773928adbf2fe0d04d455141645409ac903 Mon Sep 17 00:00:00 2001 From: Aly Hemani Date: Thu, 2 Feb 2017 15:29:38 -0600 Subject: [PATCH 5/6] commitments for 2/2 --- .DS_Store | Bin 6148 -> 8196 bytes Aly_Hemani/.DS_Store | Bin 12292 -> 8196 bytes Aly_Hemani/CSS/.DS_Store | Bin 0 -> 10244 bytes .../{ => CSS}/Database Assignment/.DS_Store | Bin .../database-companies.jpg | Bin .../Database Assignment/database-name.jpg | Bin .../Database Assignment/database-search.jpg | Bin .../Database Assignment/database.jpg | Bin .../Database Assignment/databases.css | 0 .../Database Assignment/databases.html | 0 .../Database Assignment/dbinteraction.png | Bin .../Database Assignment/harddrive.jpg | Bin .../{ => CSS}/Database Assignment/icon.png | Bin .../Database Assignment/mysql-logo.jpg | Bin .../{ => CSS}/Internet CSS project/.DS_Store | Bin .../Internet CSS project/ad_background.png | Bin .../Internet CSS project/client_server.jpg | Bin .../{ => CSS}/Internet CSS project/globe.png | Bin .../{ => CSS}/Internet CSS project/home.png | Bin .../{ => CSS}/Internet CSS project/html.png | Bin .../Internet CSS project/internet.css | 0 .../Internet CSS project/internet.html | 0 .../{ => CSS}/Internet CSS project/ninja.png | Bin .../{ => CSS}/Internet CSS project/phone.png | Bin .../{ => CSS}/Plotting Blocks/.DS_Store | Bin .../Plotting Blocks/plot_your_blocks.css | 0 .../Plotting Blocks/plotting_your_blocks.html | 0 Aly_Hemani/{ => CSS}/python/python.css | 0 Aly_Hemani/{ => CSS}/python/python.html | 0 Aly_Hemani/{ => CSS}/python/python.png | Bin Aly_Hemani/{ => Git}/aly.txt | 0 Aly_Hemani/{ => Git}/commands.txt | 0 Aly_Hemani/{ => Git}/dojoassignment.txt | 0 Aly_Hemani/{ => HTML}/Fake Blog.html | 0 Aly_Hemani/{ => HTML}/Registration Form.html | 0 Aly_Hemani/JQuery/.DS_Store | Bin 0 -> 10244 bytes .../JQuery/Basic Jquery functions/.DS_Store | Bin 0 -> 6148 bytes .../JQuery/Basic Jquery functions/faded.png | Bin 0 -> 1930 bytes .../JQuery/Basic Jquery functions/index.css | 29 + .../JQuery/Basic Jquery functions/index.html | 43 + .../JQuery/Basic Jquery functions/index.js | 22 + .../Basic Jquery functions/jquery-3.1.1.js | 10220 ++++++++++++++++ .../JQuery/Basic Jquery functions/python.png | Bin 0 -> 15770 bytes .../JQuery/Debugging JQuery Aly/README.md | 4 + .../Debugging JQuery Aly/debugging_jquery.css | 63 + .../debugging_jquery.html | 61 + .../Debugging JQuery Aly/debugging_jquery.js | 25 + .../JQuery/Debugging JQuery Aly/dough.jpg | Bin 0 -> 393385 bytes .../JQuery/Debugging JQuery Aly/logo.PNG | Bin 0 -> 13988 bytes .../JQuery/Debugging JQuery Aly/pizza.jpg | Bin 0 -> 21558 bytes .../JQuery/Disappearing Ninja/.DS_Store | Bin 0 -> 6148 bytes .../JQuery/Disappearing Ninja/jquery-3.1.1.js | 10220 ++++++++++++++++ .../JQuery/Disappearing Ninja/ninja.css | 26 + .../JQuery/Disappearing Ninja/ninja.html | 26 + Aly_Hemani/JQuery/Disappearing Ninja/ninja.js | 9 + .../JQuery/Disappearing Ninja/penguin.png | Bin 0 -> 222602 bytes Aly_Hemani/JQuery/Hover Jquery/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/JQuery/Hover Jquery/hover.css | 11 + Aly_Hemani/JQuery/Hover Jquery/hover.html | 18 + Aly_Hemani/JQuery/Hover Jquery/hover.js | 12 + .../JQuery/Hover Jquery/jquery-3.1.1.js | 10220 ++++++++++++++++ Aly_Hemani/JQuery/Hover Jquery/pik.png | Bin 0 -> 171678 bytes Aly_Hemani/JQuery/Hover Jquery/raichu.png | Bin 0 -> 144697 bytes Aly_Hemani/JQuery/Ninja to Cat/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/JQuery/Ninja to Cat/cat.css | 10 + Aly_Hemani/JQuery/Ninja to Cat/cat.html | 21 + Aly_Hemani/JQuery/Ninja to Cat/cat.js | 9 + Aly_Hemani/JQuery/Ninja to Cat/cat0.png | Bin 0 -> 13779 bytes Aly_Hemani/JQuery/Ninja to Cat/cat1.png | Bin 0 -> 15765 bytes Aly_Hemani/JQuery/Ninja to Cat/cat2.png | Bin 0 -> 15262 bytes Aly_Hemani/JQuery/Ninja to Cat/cat3.png | Bin 0 -> 16019 bytes Aly_Hemani/JQuery/Ninja to Cat/cat4.png | Bin 0 -> 16154 bytes .../JQuery/Ninja to Cat/jquery-3.1.1.js | 10220 ++++++++++++++++ Aly_Hemani/JQuery/Ninja to Cat/ninja0.png | Bin 0 -> 7611 bytes Aly_Hemani/JQuery/Ninja to Cat/ninja1.png | Bin 0 -> 9159 bytes Aly_Hemani/JQuery/Ninja to Cat/ninja2.png | Bin 0 -> 10931 bytes Aly_Hemani/JQuery/Ninja to Cat/ninja3.png | Bin 0 -> 13321 bytes Aly_Hemani/JQuery/Users/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/JQuery/Users/jquery-3.1.1.js | 10220 ++++++++++++++++ Aly_Hemani/JQuery/Users/user.css | 14 + Aly_Hemani/JQuery/Users/user.html | 49 + Aly_Hemani/JQuery/Users/user.js | 32 + Aly_Hemani/JQuery/colorclicker.html | 68 + Aly_Hemani/JavaScript/.DS_Store | Bin 0 -> 6148 bytes .../Java Basics/java_basics.css | 0 .../Java Basics/java_basics.html | 0 86 files changed, 51652 insertions(+) create mode 100644 Aly_Hemani/CSS/.DS_Store rename Aly_Hemani/{ => CSS}/Database Assignment/.DS_Store (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/database-companies.jpg (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/database-name.jpg (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/database-search.jpg (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/database.jpg (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/databases.css (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/databases.html (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/dbinteraction.png (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/harddrive.jpg (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/icon.png (100%) rename Aly_Hemani/{ => CSS}/Database Assignment/mysql-logo.jpg (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/.DS_Store (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/ad_background.png (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/client_server.jpg (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/globe.png (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/home.png (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/html.png (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/internet.css (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/internet.html (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/ninja.png (100%) rename Aly_Hemani/{ => CSS}/Internet CSS project/phone.png (100%) rename Aly_Hemani/{ => CSS}/Plotting Blocks/.DS_Store (100%) rename Aly_Hemani/{ => CSS}/Plotting Blocks/plot_your_blocks.css (100%) rename Aly_Hemani/{ => CSS}/Plotting Blocks/plotting_your_blocks.html (100%) rename Aly_Hemani/{ => CSS}/python/python.css (100%) rename Aly_Hemani/{ => CSS}/python/python.html (100%) rename Aly_Hemani/{ => CSS}/python/python.png (100%) rename Aly_Hemani/{ => Git}/aly.txt (100%) rename Aly_Hemani/{ => Git}/commands.txt (100%) rename Aly_Hemani/{ => Git}/dojoassignment.txt (100%) rename Aly_Hemani/{ => HTML}/Fake Blog.html (100%) rename Aly_Hemani/{ => HTML}/Registration Form.html (100%) create mode 100644 Aly_Hemani/JQuery/.DS_Store create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/.DS_Store create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/faded.png create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/index.css create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/index.html create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/index.js create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/jquery-3.1.1.js create mode 100644 Aly_Hemani/JQuery/Basic Jquery functions/python.png create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/README.md create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.css create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.html create mode 100644 Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.js create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/dough.jpg create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/logo.PNG create mode 100755 Aly_Hemani/JQuery/Debugging JQuery Aly/pizza.jpg create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/.DS_Store create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/jquery-3.1.1.js create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/ninja.css create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/ninja.html create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/ninja.js create mode 100644 Aly_Hemani/JQuery/Disappearing Ninja/penguin.png create mode 100644 Aly_Hemani/JQuery/Hover Jquery/.DS_Store create mode 100644 Aly_Hemani/JQuery/Hover Jquery/hover.css create mode 100644 Aly_Hemani/JQuery/Hover Jquery/hover.html create mode 100644 Aly_Hemani/JQuery/Hover Jquery/hover.js create mode 100644 Aly_Hemani/JQuery/Hover Jquery/jquery-3.1.1.js create mode 100644 Aly_Hemani/JQuery/Hover Jquery/pik.png create mode 100644 Aly_Hemani/JQuery/Hover Jquery/raichu.png create mode 100644 Aly_Hemani/JQuery/Ninja to Cat/.DS_Store create mode 100644 Aly_Hemani/JQuery/Ninja to Cat/cat.css create mode 100644 Aly_Hemani/JQuery/Ninja to Cat/cat.html create mode 100644 Aly_Hemani/JQuery/Ninja to Cat/cat.js create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/cat0.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/cat1.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/cat2.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/cat3.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/cat4.png create mode 100644 Aly_Hemani/JQuery/Ninja to Cat/jquery-3.1.1.js create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/ninja0.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/ninja1.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/ninja2.png create mode 100755 Aly_Hemani/JQuery/Ninja to Cat/ninja3.png create mode 100644 Aly_Hemani/JQuery/Users/.DS_Store create mode 100644 Aly_Hemani/JQuery/Users/jquery-3.1.1.js create mode 100644 Aly_Hemani/JQuery/Users/user.css create mode 100644 Aly_Hemani/JQuery/Users/user.html create mode 100644 Aly_Hemani/JQuery/Users/user.js create mode 100644 Aly_Hemani/JQuery/colorclicker.html create mode 100644 Aly_Hemani/JavaScript/.DS_Store rename Aly_Hemani/{ => JavaScript}/Java Basics/java_basics.css (100%) rename Aly_Hemani/{ => JavaScript}/Java Basics/java_basics.html (100%) diff --git a/.DS_Store b/.DS_Store index c0d746aea47e237595954e6c94cac96a59fa46f1..2f4eb79770a61f12b09d02c3f6374b3ee227ab6b 100644 GIT binary patch literal 8196 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 diff --git a/Aly_Hemani/CSS/.DS_Store b/Aly_Hemani/CSS/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4cf5da24a5e8c36c19dfae981d9a8729c91bd0ab GIT binary patch literal 10244 zcmeHMZEO@p7=GVUU=Mcf7RpD9C0iN`NDWt@MIeFe-C+f(RIkt$Ds}I6=`HN-p0|4~ zSesNOe#JzMQ4{~D2>40R2>uh5XkzrA))+J~Ci>Hu_(x4N>N~T0^?DrX!4E^o&SvM` z`FLh#pLurX-Z=okXkKdrPyj%nn^{?;s7zqx?7k#a`8f?_k?;UXP{9G6n(Mrzc90P; z5HJuh5HJuh5HN5pFhF}Y3&MQQ264bZz(Byj6a#F1Q0Qhh;@b(&@}+|!?gEglrfeSQ znfw5bQG6Tm?SyAJl-l&X2lS!nyBO%fsa#>z$wquT;aLw3=)nQ~p3(PEkoQhFg;xiR zcs7Uw1_A~yWq|qa3n5N^yGwVm|L%|{Z@@5EkRgxW0yjD8WRs?yB*Y)dtZ6uIID8SS zW>wFgGgk=Bo6jz}cHTXSv^|<|RX6WM)!crbGBiEuKli9^y71g<+ve1>n%ryXqeF6C z%(h(Bu=HFJbg<8`G|VAas1U2Cr`ch`h`zCg3w=N zh?(i(Q%Y9ImO0#(NZFZeQ3I7Cosk}o=c2on8*QQi6l{Zya?=($T$>~ekW7ts=h%I2Q})i z+twIPlg|lW$?^tC+RsX2Ih|rn5IA5(vn2L9^v<&CS6sPD6nhVohGfTYwDlHI+GDCo z-ITSE2Wwj=N_`{VOUQTlnH`Hnsh=h?LxXnwyvY3?m+H8?v${n?`poZp8x3iI zm33+w8&GpW0L_tAJ}ola>>8m3ZiQXY3kSi52jNM03C_X?a2`H{&*3Zh9)5yf;5Yaa z{)T@LFocV7Db`~HHse|hV;gS9ZP*^Q0MNrNOx z{mA9M1bHs|3?uuMF}94VDjsu*u4zp{>P>i-Lnz|M@nrdNJSEt1JpbK7dH!(_$3-Zg;U_#xPZa+5KLchwxC;FL!2c&< IUdR6bzwt9X{{R30 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/Database Assignment/.DS_Store b/Aly_Hemani/CSS/Database Assignment/.DS_Store similarity index 100% rename from Aly_Hemani/Database Assignment/.DS_Store rename to Aly_Hemani/CSS/Database Assignment/.DS_Store diff --git a/Aly_Hemani/Database Assignment/database-companies.jpg b/Aly_Hemani/CSS/Database Assignment/database-companies.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/database-companies.jpg rename to Aly_Hemani/CSS/Database Assignment/database-companies.jpg diff --git a/Aly_Hemani/Database Assignment/database-name.jpg b/Aly_Hemani/CSS/Database Assignment/database-name.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/database-name.jpg rename to Aly_Hemani/CSS/Database Assignment/database-name.jpg diff --git a/Aly_Hemani/Database Assignment/database-search.jpg b/Aly_Hemani/CSS/Database Assignment/database-search.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/database-search.jpg rename to Aly_Hemani/CSS/Database Assignment/database-search.jpg diff --git a/Aly_Hemani/Database Assignment/database.jpg b/Aly_Hemani/CSS/Database Assignment/database.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/database.jpg rename to Aly_Hemani/CSS/Database Assignment/database.jpg diff --git a/Aly_Hemani/Database Assignment/databases.css b/Aly_Hemani/CSS/Database Assignment/databases.css similarity index 100% rename from Aly_Hemani/Database Assignment/databases.css rename to Aly_Hemani/CSS/Database Assignment/databases.css diff --git a/Aly_Hemani/Database Assignment/databases.html b/Aly_Hemani/CSS/Database Assignment/databases.html similarity index 100% rename from Aly_Hemani/Database Assignment/databases.html rename to Aly_Hemani/CSS/Database Assignment/databases.html diff --git a/Aly_Hemani/Database Assignment/dbinteraction.png b/Aly_Hemani/CSS/Database Assignment/dbinteraction.png similarity index 100% rename from Aly_Hemani/Database Assignment/dbinteraction.png rename to Aly_Hemani/CSS/Database Assignment/dbinteraction.png diff --git a/Aly_Hemani/Database Assignment/harddrive.jpg b/Aly_Hemani/CSS/Database Assignment/harddrive.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/harddrive.jpg rename to Aly_Hemani/CSS/Database Assignment/harddrive.jpg diff --git a/Aly_Hemani/Database Assignment/icon.png b/Aly_Hemani/CSS/Database Assignment/icon.png similarity index 100% rename from Aly_Hemani/Database Assignment/icon.png rename to Aly_Hemani/CSS/Database Assignment/icon.png diff --git a/Aly_Hemani/Database Assignment/mysql-logo.jpg b/Aly_Hemani/CSS/Database Assignment/mysql-logo.jpg similarity index 100% rename from Aly_Hemani/Database Assignment/mysql-logo.jpg rename to Aly_Hemani/CSS/Database Assignment/mysql-logo.jpg diff --git a/Aly_Hemani/Internet CSS project/.DS_Store b/Aly_Hemani/CSS/Internet CSS project/.DS_Store similarity index 100% rename from Aly_Hemani/Internet CSS project/.DS_Store rename to Aly_Hemani/CSS/Internet CSS project/.DS_Store diff --git a/Aly_Hemani/Internet CSS project/ad_background.png b/Aly_Hemani/CSS/Internet CSS project/ad_background.png similarity index 100% rename from Aly_Hemani/Internet CSS project/ad_background.png rename to Aly_Hemani/CSS/Internet CSS project/ad_background.png diff --git a/Aly_Hemani/Internet CSS project/client_server.jpg b/Aly_Hemani/CSS/Internet CSS project/client_server.jpg similarity index 100% rename from Aly_Hemani/Internet CSS project/client_server.jpg rename to Aly_Hemani/CSS/Internet CSS project/client_server.jpg diff --git a/Aly_Hemani/Internet CSS project/globe.png b/Aly_Hemani/CSS/Internet CSS project/globe.png similarity index 100% rename from Aly_Hemani/Internet CSS project/globe.png rename to Aly_Hemani/CSS/Internet CSS project/globe.png diff --git a/Aly_Hemani/Internet CSS project/home.png b/Aly_Hemani/CSS/Internet CSS project/home.png similarity index 100% rename from Aly_Hemani/Internet CSS project/home.png rename to Aly_Hemani/CSS/Internet CSS project/home.png diff --git a/Aly_Hemani/Internet CSS project/html.png b/Aly_Hemani/CSS/Internet CSS project/html.png similarity index 100% rename from Aly_Hemani/Internet CSS project/html.png rename to Aly_Hemani/CSS/Internet CSS project/html.png diff --git a/Aly_Hemani/Internet CSS project/internet.css b/Aly_Hemani/CSS/Internet CSS project/internet.css similarity index 100% rename from Aly_Hemani/Internet CSS project/internet.css rename to Aly_Hemani/CSS/Internet CSS project/internet.css diff --git a/Aly_Hemani/Internet CSS project/internet.html b/Aly_Hemani/CSS/Internet CSS project/internet.html similarity index 100% rename from Aly_Hemani/Internet CSS project/internet.html rename to Aly_Hemani/CSS/Internet CSS project/internet.html diff --git a/Aly_Hemani/Internet CSS project/ninja.png b/Aly_Hemani/CSS/Internet CSS project/ninja.png similarity index 100% rename from Aly_Hemani/Internet CSS project/ninja.png rename to Aly_Hemani/CSS/Internet CSS project/ninja.png diff --git a/Aly_Hemani/Internet CSS project/phone.png b/Aly_Hemani/CSS/Internet CSS project/phone.png similarity index 100% rename from Aly_Hemani/Internet CSS project/phone.png rename to Aly_Hemani/CSS/Internet CSS project/phone.png diff --git a/Aly_Hemani/Plotting Blocks/.DS_Store b/Aly_Hemani/CSS/Plotting Blocks/.DS_Store similarity index 100% rename from Aly_Hemani/Plotting Blocks/.DS_Store rename to Aly_Hemani/CSS/Plotting Blocks/.DS_Store diff --git a/Aly_Hemani/Plotting Blocks/plot_your_blocks.css b/Aly_Hemani/CSS/Plotting Blocks/plot_your_blocks.css similarity index 100% rename from Aly_Hemani/Plotting Blocks/plot_your_blocks.css rename to Aly_Hemani/CSS/Plotting Blocks/plot_your_blocks.css diff --git a/Aly_Hemani/Plotting Blocks/plotting_your_blocks.html b/Aly_Hemani/CSS/Plotting Blocks/plotting_your_blocks.html similarity index 100% rename from Aly_Hemani/Plotting Blocks/plotting_your_blocks.html rename to Aly_Hemani/CSS/Plotting Blocks/plotting_your_blocks.html diff --git a/Aly_Hemani/python/python.css b/Aly_Hemani/CSS/python/python.css similarity index 100% rename from Aly_Hemani/python/python.css rename to Aly_Hemani/CSS/python/python.css diff --git a/Aly_Hemani/python/python.html b/Aly_Hemani/CSS/python/python.html similarity index 100% rename from Aly_Hemani/python/python.html rename to Aly_Hemani/CSS/python/python.html diff --git a/Aly_Hemani/python/python.png b/Aly_Hemani/CSS/python/python.png similarity index 100% rename from Aly_Hemani/python/python.png rename to Aly_Hemani/CSS/python/python.png diff --git a/Aly_Hemani/aly.txt b/Aly_Hemani/Git/aly.txt similarity index 100% rename from Aly_Hemani/aly.txt rename to Aly_Hemani/Git/aly.txt diff --git a/Aly_Hemani/commands.txt b/Aly_Hemani/Git/commands.txt similarity index 100% rename from Aly_Hemani/commands.txt rename to Aly_Hemani/Git/commands.txt diff --git a/Aly_Hemani/dojoassignment.txt b/Aly_Hemani/Git/dojoassignment.txt similarity index 100% rename from Aly_Hemani/dojoassignment.txt rename to Aly_Hemani/Git/dojoassignment.txt diff --git a/Aly_Hemani/Fake Blog.html b/Aly_Hemani/HTML/Fake Blog.html similarity index 100% rename from Aly_Hemani/Fake Blog.html rename to Aly_Hemani/HTML/Fake Blog.html diff --git a/Aly_Hemani/Registration Form.html b/Aly_Hemani/HTML/Registration Form.html similarity index 100% rename from Aly_Hemani/Registration Form.html rename to Aly_Hemani/HTML/Registration Form.html diff --git a/Aly_Hemani/JQuery/.DS_Store b/Aly_Hemani/JQuery/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3bed695fde0a1732c4b7a0fe9e5935a70984a19f GIT binary patch literal 10244 zcmeHM%}*0S6n`tATUwG;@gqUa9yRvRQa<9Xl#&>NiYY>j7~G{RtSP&7yKU1Dk{*Z$ zuiicQo%jc!7ZU|h6OUf>X#DsKjC%9U%(^V?t}P*;#F=L2O=sSlkKg;vY~K_Bgj6vb z2ao|k#D_>Jf|*Yu?c}LTyPTS1CAppu&tfmRe7za=r*^x;{R+*%x*e8n~ z1jkfxLJWbKW4lb$Q6?Q(Ws;eLz|28#Mi!h1MWCajolMn1NHWQDjsQoX9sv@&AA}Sr zPyl^h{BA)7_uy5G2_oL;bFu@Azome#i2d&E$CIMNaB zkRsuZ@a4>`S}Elhelo{|oXT3QKBM-@XG*9*F;=XAS5 zJ9QLkc~r4yaWGL@42hvB>G1q~Jbo%FclY-$MCJMZ{#aD*N%So&h#^rtdUAMNt=zcv zcxicM_0{V)pFV$KND9tr1f4a=e%&anxtVxo+MLUK`q_|M=FD_DTePPE-Yq@9O?%m( zeRfm!`Pt3Qzm&0zoN3J9%n7EQkj5({70EY)A03G|gJc|r^Ym(oQF8!tP^q!ohjuzr zS%Ex$G?bQWeU_H4fwD$n`0<;!W554VS97G_-)-7Z%5|A?V5HhrxqI*agNKh^tS}zA{M^sJyZK8jHHDQAFPpOS^6@QuH#cdw z#>0)+`S7o)@oM-Jfzx=*m5@0W;-aK_u*bhBw~#>!!jW|rohdxij5Hn0La(z0lFT?FMaz+ z2Mz3Z&U78$P}kS-0duHvd>dTAa#-48K*z+Lb<6BRw$D2<_ zzEf|mYjyqS)9T|fk8O>QXxBXB2yg^A0vrL3z&0V!!p4!w{r^z#|Nq-G8$Jw2fFtlX z5D;3^nRE(A76L{mckMDhSMVW;=vA4dCYTWwQcthr@e2w0k2`fSB1yvbq$8_LQgf`Q z<|x^1{?`8);08}MKg9#%X`fIbP}dVUG>qvzVPHdDpP(Xe4t48tR}4JQmqlKtWZUl{8<7uB(n@<}-7mSp8}6TguGJ-ZUO zxJHc|YJYz1dev@MTuoHL9xdeLg94nrL*CAHtXGs04NqM&yfVWYJM8LaQilCOhI>5Y z5$(hr#URJS;k!9dS|ejgH5v2yGT^QVI*w*W-_ zjm*Na_7WPC94p7pkSi3iP@;v3w-{pKoKNmoId+B?4)Nwg{LbPXisZX9f6DHV$}ns& z5DW|%$UPn3SFQgS-}nE+ptuSKf`LE9fXtVd%LTXOwRN;Pt+k1IMO9J1&ae;RAeUnL eYAHUVX5oC&0kLxI3^_xIAAw9mm|);X8TbUVDOk?{ literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Basic Jquery functions/faded.png b/Aly_Hemani/JQuery/Basic Jquery functions/faded.png new file mode 100644 index 0000000000000000000000000000000000000000..4401c7ad1be5de5f8c6009878d9ddca044063589 GIT binary patch literal 1930 zcma)-`8$-08^#r#*K)iwr!P8chDkd1<=C0RV3Kl#$Ue=PELoB*W63gJ#?mCkmxg2C z_hp)7E6YSVLQ#{6Off^2$dn8*$N3M={ljzL*K>WI>w12>)9vl7CB=`53keBH+MKm= z6cRchyr26;|D7=-E}r{FvbS}@3Iu}vNG6jvHa7TtK99%C&dw&0NSm9R;^N{o8Z9v~ z5e9>aiHQ{y6iiG^V6j*NfnZ}})790buCDIopUk7|?5d}N z3<`0$$BNn7R5(nl_!F~6@`|aSIPQk|AL8tdv~W*SXWE5ga7qh!*g$i&-`m(m|5m6DnbHld-ZzzdN6aDURU?Rm*#=Rj)@Us zrOEZLm$HIBt)33C7umV`WcF~IdYb%*i7|f_dm_NX?C}c{)5%7nRa1|`7w`k;I#rHk z=7bT$(PlWs*?QrVHunbl;@GHf-Dwi2M{bucd~QxQm267H_q@a~q|$Db)>609em(X& z*hLl0{oAJ_^L6oPuv%532})+g6!5kBc|{tKTGbO#%N0KgR3r(6fK=o3gyR?^SFQ6W zp^RX)7kw&UGSEQED%J}i(&?NXB+#Ls1JNQv+=8|d4NPm}`fIfZ_o>zkNWj#2e9k`sPZsRbOMKOk6Xbp6E#-f>FGZ8|GytbG;n!;FF#VBj=B(F%L0lG(A<9*izrb zx#o2V{Q)00e?*#`0i7A>5x%9&25ZQa0656{Yua{Vr*-|YQOKg!;f}W7E9L)4HIP#M zT*8_#W)0ISBYNfVk=fuS03BXFMN+XxioC)|&1Ygqv(Eu^gkf6ka~}Z#*Qs) zut`TLWcUOTu2*a+3#e`0zMF6a;HIF{$~H@Zev)Xir%9Sb`~WuuwDQ%?FQP)jfp<2} zaq%71#Y+Vt@Zoo~DkPxqY>tcy$d^qsVw2eIp{P5dWFkDia7@oqFDDR|3~B5}@VTIc zPZII)3~2}%#ZthF0~i{^l^#)oU?`5~F4=>cL7o@r}g*d+qs|$97rpljC?30ub*wBbQqu)C4a4D)?qG+zR@6h+BV}jL=R!E3kPxQR z4H2-a3q>&`<42-E?5O1jg7*x^E#ssB5jyA?^bUF>9y0>%1D8``LE7H>5L`NC_4Zw8;mvTXOp>7l3mK!ZR| zP0vzq+)3+K{BeYToDVn}pwRGI;>+6nFm8RNeP}G4W7v}#w!j`ns!yigbV9oJ_nmuJ zyhG1_UKW0!k{{`z>wnw_T*2c)fnh!AwaFiNy=*#dBTK1}<<@jN1|{Nt{$(@{4O_)G zc{YbMRf9KtA%!Bl5lg!P?jR)18vp{Gt z7t4BM+t%7(H14r%Y4Xe}zNLPcQAF;#?XI=n2wAN)eqYmC?9jR1$WwI4ykm3udfZ|w zULzR_YcG8oPUEmbvl70qw0aJ93iH0m-D<1h$}i#{7$yt583qRwooIX-@XR3pYtO^( zIed;;SP4fOJBBOJkC=(ta$G)hSj6XdRtR8ioY@uIluFQB{oLVBomnX1nd;sxL2FyD zMfOI%o80S5Ka_uXTl+>qu;GleoP%)^H2Y{810Uk(UKX zZ*u9AI85!|&1%KJG`0I~v+`~dPCfhsQvaFL@YWmBeXMtNt#s>MO|;mFE003Q;*3*f zgF9bMuk?U&S-4=d&T+Ef;zpF%ZDDkjJ0d?mtJSA8Q@)4g&9No%|4hJqv6k;YCXhMs fpQ~jbWM^-|)DEa|5-)jS{=Kuo+F3PO;FJCVa!!UG literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Basic Jquery functions/index.css b/Aly_Hemani/JQuery/Basic Jquery functions/index.css new file mode 100644 index 0000000..97191be --- /dev/null +++ b/Aly_Hemani/JQuery/Basic Jquery functions/index.css @@ -0,0 +1,29 @@ +#webber{ + width:970px; + background-color:grey; + color:black; + overflow:hidden; + height:auto; +} +.division{ + width:910px; + border-bottom:solid black; + border-width:2px; + margin-left:30px; + text-align:center; +} + +button{display:inline-block; + width:100px; + height:30px;} +p{display:inline-block; +font-size:22px;} +.selected{ + color:red; +} +img{ + display:none; + margin-left:200px; +} +#faded{display:none; +margin-left:350px;} \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Basic Jquery functions/index.html b/Aly_Hemani/JQuery/Basic Jquery functions/index.html new file mode 100644 index 0000000..d034cb0 --- /dev/null +++ b/Aly_Hemani/JQuery/Basic Jquery functions/index.html @@ -0,0 +1,43 @@ + + + + JQuery Demo + + + + + + + +
    +
    +

    AddClass

    + +

    Click the button to add class 'red' to this paragraph

    +
    +
    +

    Slidetoggle

    + +

    Click the button to slidetoggle a hidden image

    + image +
    +
    +

    Append

    + +

    Click the button to append a new paragraph

    +
    +
    +
    +

    FadeIn

    + +

    Click the button to fade in

    + +
    +
    +

    FadeOut

    + +

    Click the button to fade out

    +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Basic Jquery functions/index.js b/Aly_Hemani/JQuery/Basic Jquery functions/index.js new file mode 100644 index 0000000..f0efe0c --- /dev/null +++ b/Aly_Hemani/JQuery/Basic Jquery functions/index.js @@ -0,0 +1,22 @@ +$(document).ready(function(){ + +$("#but1").click(function(){ + $("#p1").css("color", "red"); +}); +$("#but2").click(function(){ + $("#p2").slideToggle(); + $("img").show(); + $(".disappear").hide(); +}); +$("#but3").click(function(){ + $("#result").append("

    There you go. Click again

    "); +}); +$("#but4").click(function(){ + $("#faded").fadeIn("slow",function(){ + }); +}); +$("#but5").click(function(){ + $("#fadeout").fadeOut("slow"); +}); + +}); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Basic Jquery functions/jquery-3.1.1.js b/Aly_Hemani/JQuery/Basic Jquery functions/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/JQuery/Basic Jquery functions/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "
    " + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +
    +
    +

    The Codingdojo Pizzeria!

    +

    The best slice in the valley!

    +
    +
    + Question of the month: What is your favorite pizza topping? + Pepperoni + Bacon + Pineapple + +
    +
    +
    +

    About us!

    +

    + We know that writing code works up an appetite, that's why Codingdojo is proud to announce that we are opening a + pizza kitchen inside our mountain view location! Head chef Michael "spumoni" Choi has lots of delicious family recipes + to share with our customers! Whether you like flat crust or deep dish so deep you can't cut through it, + the Codingdojo pizzeria has something you and all of your friends can agree on. Using only the + freshest ingredients the Bay area has to offer, the Codingdojo pie will be sure to debug your hunger! +

    +
    +
    +

    Thin Crust Pizza

    +
      +
    • Small: $10.00
    • +
    • Medium: $15.00
    • +
    • Large: $20.00
    • +
    • Dojo size: $30.00 (feeds 10 ninjas)
    • +
    • Toppings: $2.00 per small, $2.50 per medium, $2.75 per large, $3.00 per Dojo
    • +
    +

    Deep dish, 'Dojo style' Pizza

    +
      +
    • Small: $12.00
    • +
    • Medium: $17.00
    • +
    • Large: $24.00
    • +
    • Dojo size: $34.00 (feeds 10 ninjas)
    • +
    • Toppings: $2.00 per small, $2.50 per medium, $2.75 per large, $3.00 per Dojo
    • +
    + Click here to order! +
    + +
    +
    + +
    Our pizza runs on all browsers!
    + +
    Made from the freshest ingredients!
    +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.js b/Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.js new file mode 100644 index 0000000..0a81f70 --- /dev/null +++ b/Aly_Hemani/JQuery/Debugging JQuery Aly/debugging_jquery.js @@ -0,0 +1,25 @@ +$(document).ready(function(){ + + $('p, h3, li').hover(function(){ + $(this).css('color', 'white'); + },function(){ + $(this).css('color', 'black'); + }); + + $('a').click(function(){ + alert("we don't actually serve pizza..."); + }); + + $('img').click(function(){ + $(this).slideUp(); + }); + + $('h5').click(function(){ + $('img').slideDown(); + }); + + $('button').click(function(){ + var result = $('input:checked').val() + alert("Thank you for your input, we like " + result + " too!"); + }); + }); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Debugging JQuery Aly/dough.jpg b/Aly_Hemani/JQuery/Debugging JQuery Aly/dough.jpg new file mode 100755 index 0000000000000000000000000000000000000000..c8c2d7ce0894bae937987ef42fe666d50a51188b GIT binary patch literal 393385 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

    Y2&AAl##IN_v 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

    G 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�IJ|12Jxr?V!<1u+x0Zp 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

    tu{g=08^E2-VzpS(ONL<@ntRBAlJkwOfJwZ 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

    gS#Zjuef6h?DD*YJYOu!V8IJAxK02g!-wG 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%0A40&;NO{ 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 G>i+>nuRTxz literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Debugging JQuery Aly/logo.PNG b/Aly_Hemani/JQuery/Debugging JQuery Aly/logo.PNG new file mode 100755 index 0000000000000000000000000000000000000000..fe51c1e0848c1b0974d32f4ec00404ef300e37cc GIT binary patch literal 13988 zcmdtJWmj9@7cC5h;uI+ER@~hJ6o=yO?oQC)#oe{I7g`*Oy99?q(c;0KKxweT&F}ww zh-cjUB62eJ8RzVkv*w;_&b8w-)D*BW$S@EP5U`aLWwj6x5QX61N6=8bk5;#oXi08lO*dWpu<*A=gITWooizj?AfPPc7w)&T9eL&TH|Foh!ho1xd zE~`H?pF0v91**S0{;uzI+^UT-oTpqfnrqf(%8$Y%j^17_hg1<1GOFg~_60xXHE^9# zP(fRkE}W;&*IH&?Utp5A7wy}5y5IG_2skh2()^^$)5UEBCz0o43$6~dx~wg%My=IB-{i&c@Po99YozV{`h69W8B*FKHfoI1DyN2kgKbSLn<=+kkxdSKc4My}I+=l1owINdu_u zgv>e;P44Dk^y+wYt$49;0A_$7a+>#T)EYFE)nX=+h+0!{PlYQM@jES67trc~4AF>+ zh{BhuRLSu;x)S$b1w=1hu@wYuZRLHuSG_Q^`#L&Sw@*o7u;q*S;9>W>e5&>!wzAlj zoe@0RKXKO2p*voj(8K_R`K$TY^0E=07x&+-HIDOTQD_9kcr37gcl3SP&P$kO6ARpQ zo@syb0v8i_X|p2Z^R=usXlq<3ueSLBWz1PSi!6sDJ{^byWKV#>=$-N>LI3JoTf4*QFNeR>B?4nRWD~?gUxFN)94jf+{%p{6u|0zVrbn8e zEhd!+iM?2VOnpW*p3tIfSBX(VK%Vxu*sn<(^*wh8_;XB4_4Fz($n$&`AXvaB{+#)a zP^eO`l>Bi?K0k7Mxy9utr`^SKl-;5H#f;dXXv=wm$l+8J=1hF$c5Y>xXHSP!?=@|D zZoYswRq-^@)|&aOCdO2Ck4YtLT}$rX({!@c+kLXu z@^vlfc4ns0862svS~WGqwV(G;@?S(_-d@tVW+!;^d&y{0#CO4`ybYiZinfQa|xMb9SaGo!AV2q6SeDpjfU2v*zT5h-$b~*$AmidndO(h3c^)^>>8NP)5gS9M>u6;tm{f9U zR>osyz|;gG-^loI>Q;lNh>4Cw)9A#xVWb^?H?e^}n1Q6P8$GVZEw*QZRnAJ}w;2k> z>0aNJbrL^$jpSY|*QL6-_QCP`hgv$UjVR?aM)dfa)#M5a_M2Y=dTk3@3HKeW8tCgT zw#!CySW?E$;vak7^`w&K-|=U3duN(5T(MVh-2vRIn4cuBKTsEttC6a9K)u_V-RO021XW~O)ZH<=uvA_)v`~}fE+9Hsi;F_f z&&L$As)24I568{*+?#^-Xmru5mO5(F9JU^&V#rLV3?jJnm%sj9buHGjU0`v&pW|@? zWr5P^si~;V>MnPP$&n?W(b8IlOU|P0ZuTd3+n?b{c8cX4Y_Q!nmTmlHJA{`Fkcafi z?c&7f4sDM!YfkTQVbavxy$WC^RZ5E?dH8{#?H1+AX$!Q6eY<8~?BBb~k6R?f8Lvey z+nd2*)XHz%>T3V!x;T&J^n1g_rN6x`t0L|$GyH^a*nCl)?C-heX>fBJ4y;AV+S<8^ zhfUAO-6zR$vF^KgO`5oU5_+Gh<8rWs*t6{gt`qRUDot-By%Ey3)*J;v-#dXU=@G)y zPHk`G@^dyrRbWPy-O(Y3O6afg*48Ws)tJ9kOV5uF$PtNAYpY-GS-J2b7T^nG{YoFz!;iWXKH_FR4Qo+-EcxT%DjP< zF#F_g*20!21Ni>s3-V)yds-Bi;@S^RMKzO>gfLjPFf2s_o8-x9quWM{w$EBkd<7cl|YyB;xq z6OOBnY7W}lQb?5znVsp8>jwRE8&#JQHt9Id+G96E^JiinZ}0*^`&)dr8~=*&UTTYb zb1JM*LmafIy0G3HpY=PUCL`zW7;j?z22Rt2F>MO$K2u8~0}+z>9?i9K7m)ccqt=}5 zBdg-%Ixn{eQ}X{N5>0q--g@;u#8};8G|6ysDc@JfuZ@jIUxH7wO9OblTrj^hdY^dT zd1Z@p(#{@yh46Q=wsV)zDW}HOC?BjhkgH9#R@Q`;y-u}>eP~_(bli8l=5Gn;^%$p( z$u%|$k?DI9c8qcT{^#D12TuKXvCUR$mnnzc&jte>Tb1;0mzIt5wpIVFZitI?LaJz4 z!{@Kmu*%2Ewu3)Vs-NC;?!lMhHwVdHSY=}i1KK$M9`E?}B=d=>YQ{%p{_=)COqt7a zpJ7y3J$CD41|ZV`oxau|cFE5S(YG}=?5!=LEO0m*Xjx?oy1FF4`o{SO>-{q$Fj2YI zB25T#&NBC=6wk?a6E@U0kUTD7CPiv+T(3Hd!YSSSEf(F(j?hiV$Db zJ5q#v`(LD^zATsr^#Y#tiUtDcREhr0^|a9VQz#kY@O|q!E8$HCV>%-d3Nf@aX40z# z(F8liV|-twdd?GQJ~Fl4;aDMrUr{9-b+FG4SYVGg%QpF2u+o#n&w6im(&9wbG^}8G zO{-EZocL#@GI7hlzw1-44+AzsOZet!{S16J1B3n?3HP)SOn}oG`(gJGH_;bGe@zvM z9m3gsp}FTH$ycSNJJkd@m9Zb3g2a9Pr6#7Dc+qe>$k8|o*@@F)36 zI?^aAFYp(G!-IDIp}{u&iaYm`#rAFaqohYwYkoD}gzgN49fo6aa?3P3?b4$V|?Ndo_OH%W|$CIx!30!>!nPYALjly|bOdJJxeZKvVo}#6& z-Vu_qo0Z?Eggy@g?iRJ>0&SGxw?^EUKU$%bF)jJ}px)xL)_h&9MQy2{-o71T9O(*9 zeBS<0OjM|$af)4QydDhOwDq)vvqsKir~3+wL$RW{PK|MAkGW|btG*}uzj*3GTQlF) zHtuJAnwUG2$Lvc*qIqhsAC8Li;ka3glB_qYFPs(3Gv}*Z?+4_ zk>*5K`WCyypwH02>b5t2J1aK#=j0a?zz9P+q9ch?Z25T?CzQEbKU2B(lvVVwYLTs4 zrS;j{9mAF#z!5FtUY{x-WJnIi@}!8|c1=(t-tsq&;$~U|exHJ4$0zYOVb;EQz=Q-$ z2$)_AL3P zT>U`VS=OX58VwK!+Jg&d_{c(F)-OK4_6W8$cA=AFv`7X_I6!d27 zyB3AN#jbj+%|ieA_^%eCC!bbmH&r)xXnqDMT@V?&Sa$iqdEIu9ml8s|e9Rgh)fd{^ z`{JQtRxjQktf|K~`-1B()@>V}%KqdyQOLPcR+W4yhpA0H8bmO0^H?!h<95i?7fQbk z&9)k~@F)6=quD|>FahAnK(|slHM_Nyz-XaGzrpN1&O)Msj>Nw|+DhB-dFs#F=M@Lm zxs6&|OSKWuaRmN7XNk&nzDa%DpU7Y^WgDLPiRX7?dsf$;jWK<;^Z9JoRv6K8n{y!n zFm%goQ~7ZO&Ri{gxBTtBZYG$f0=S7&OmI;Xo8w3{3~PE)Bp#~)zb4 z;hspoKvNFe*4>nQDIz;GQDCdqIB~a}-RE?73H*1Xr1a)^hrm6sk_dzP8Chn%jvbrj z&vy51i~H-{!F%W)5}QfbOys~fe+x{fw|gCgtrjoO4`I3wJIzy^m@Wxqt8b2a`{rEA zP}_!3b4)yyuK%vPqY5JS?gFQYQg=4}wy`;T|11pXwGP-N!tx~O3uX(&rrhf^^g8Y4Pec*qB=VNg)`@23sIAu6|p-NQ5)|D8X7@T0fVclbFXB%7P;&x+P;c7t$f zfb&4Y6@Zq}O6OYNeJMI&&c?dMJ)V!RCQRFCRs|E?-#wl$M>@j-g;EQx$D;NI!rr;{ zK*0kT)?2`;0wW&m+MFDcBO~6cLC@u8+o_#YnRjW4RlFLAN(k$d{_el+3zTWwsniUm zQ>*)~3k>Jzgy9%eIiSU}5IH6?GS}8K7{^pZ((1at9O!Ca&u!+jq)S({9dw&ylXvyI zGjSVNFe~>>z{QUh6l2#PS+O7a0leF7se^E^q&7%VnN9i1uwvBepm}}2mx9`T(UxC< z5BWPzpEBO5)3yEbx1H{B-kFKi(kO+oaWi)yASgYXU=kGYo)hA~8%2y#XWahR470^d zv2jk~N%6V1ofSCAG=rA2twCind<{w9LJ`{Z*7jJ`REX1f7*gfEx&QM^9ml1;en?z* ztb=Lt{XvSSqW_<$t3>ZL=Z4;jqU-LUg%MIH6V4@EzOaA;w^>som9EEeX$(pm+gUG) zzg2IbBR`}+iM&kQV`pGzEAR@tmPzkG82>OsU4j&g3eX|_r9tkNih$no>CXv$9iR@k z?#tET4UfJ>?GuNYtX78(ShHOIZHxU}y;fM|4NZlsN>4DZLLarRp}6LiOJdV5fXV6 zmIgCP2}+8VD{vGR9`ntp)Y7WKd#-3L?dkjb+j$UAfkKm$t2~-X!r>SM7Bm`~uuJ)R*ASXjB=yG+D6{$qyW;XmdrC2n z0pUuL1@%ZRBy7Ef?TY1i6bGEvSislVzww?Nxv&xfGNU7SBu4WMbp_ssWk0T3r(|Vw zQgOyDz*VuG$Fl~U!4BX9PRiVvRX#;}vmN^NrToJD-7;H&^brc>drl>93 zw(kBZu6`4Yjw?SMK>#1|QAY>x9V{Bv4~~i`#_qj7olo)PmJ3m`$Bq?{T@m^|9g-fo zZ29owM$&cu$i98kXZT4OS$7z!$NkO!QPaAih?fr6i* zV}qpj1+-gKun0dHq`tHI?s%BOfviCpaJazYykjq!a7f|$c$s#3L*b9#KK{eQe`E(2 z=?G6KaW|o5R#f?v#F6@y@?cos7rKwf2^sdE-?kjtJ^5Nplot2G=~Tgky@xHdLF4n` zF|d9@04@;{6!>lVFHF((RS+Mff>TNfF4KpamvAOUzIs zu^*Bd%n`F?HtRpaL7Fj8bks6+o#@S%6Ud;2vBz+K<~y6;iQH}6x!sptQ_q)v{d}+u zuau@u6jEW^k|p2LsgU7UEZ=pNOu|j=uWB5yH)belr2B1eY+R($oOy&N+eDYiQ^SCM zMI0MojN}S*9LE0VnbDSw{N?Irn^oiiqq9174g{=DvIsN0Z}*ITl6HCefA1;b29L5$`T`3{f5 zvE)ZQ2x?tMyI8O3R3S25qVzAB#ni9&WADvriq7ZfK8qV)8o0|Xc@>TAOLv1}H z83^B398DH@7s)GIbicEeD@;E-uY|r33u>}P zwf%P$`r5tGlECLUTFdE^?Cpskw*#3Tp+3q`+n00Il7eb@gRwDAnk-ujIxbXLS0k%& zIqN16Q7LGUHi2^puvMZU(x-CUsyj$f;#{K4&(mKwU{jZRxdc~CizuK3BrNANv7Zmc zp6|ywtX@v^VLzj?TRyjSxgdduQAs}@_^t~8ZG`GLUR-mcWq7!RVbtaZm^8n#94!f!^}mL~@EAEcq2@T6T4VLgwp*fnaA_l6Zc_PxOgBqi41d zy33RIOaQS-mHH>nHeG{}gs;Q=T^D)d@1vxp57wFV(jB$&`p z>s!O2(Q5>Q@bIy4{ef+Y$eG|>MEn?OnXX;J-K9;?UQ+W5%c;05bW^+FUSx!N?z$x6 zT{`g(+1n_7yNO7S9k5=2Aw)`f=AXhXxDsay-(YqqxvN0N=!U%Kkf}IGYxcWqEb$il z)~AiL5{aDyiwd#m_St4yHk5;f=xwc8L%J}90=5hEUmQ=g;^nFBChPHCaj)b`In8XOuCWfT z(1wX1aw6BeT232e!q1VhdLgKBi6!YfHq{Zb<=s)t&3`9h#;Bpzz2uw%^~U)gXduWv<>u6R#Notwyx=E{)O-qQL4-PJCg@=AsgB z>l&L*R_;)G)8ok$Qa<^=Ghe$$`>ahO>NQNmKFxAR-hCXRuhfVpvGb6@&NPhX3V>a5 zjFtV2DmT{qq9}~ZMuu=UnvKssRMI591E=0C*A9+`U)3yuvE&c(D||*d1Evk`+kFT1 zs90;ORBD}^9-Og9(_i=wf-YCW##`)?qXvNXWsEFLZX5SIgAtX~s&5zulYZrVWstb+ z*t0Q-h|2i0O=_Mi9_ZVNRoU1`^FC!#Xck3>!dKrmh#h0a5`fYapPa)WWsr!fp?H73 z6JpR94;!>vvicZSzLcVm!J7}I2GFo7HqlUArUjMoSj=%9+3LIvQJ7lq4}Ham$_$@5 z^#)+~9JXr28Qv?cb)Gj**_>y}ZTX;23PBSCQ=wfcNXNOxbK61BQs@?s8kAAUJGKp#hpuPj8EH%RLv3j z9gk?K$>K1>Y%&_zc&##_&?9^klXb2_hwICE#hQGpa;%2`%B&M)CSUSkZn`tEb63tElU}s|8zxo5YsO1|p3L83&mHQ`sWs zB-vraZEj+$T0Da7fKOdHuKgs3D|X@2sSv zI$s{oY@ZX~s9{PES=5h~|Mc1#PouZ}d%kS!p0%9U|5Q@Kt-Zeyj2e}&jGQ)Y4~X{2 z{TJW<{%ik2vUMds4c6Isw607c+;OZ|VjGZZp zq3&uSZcLl&(xgqd`8AB@d+#))O zX?y?(?Eprw6T)fm?b$J4pMn{;9?*E9G_z2U2G~Ofjft~SK+Z6ZfmbJ>C&59=R|A(C zw1emfgeH30=1rNP#QUQpb2@SY=>R4M+aEi~g_G29bx?M-p^#0PoSnqrQSmhCkBGE| z>9Q0}B_%`{Mn;SV27S0!(jtn+U1+V3iR&~vjy<{6DeBv6qG4*5op;^HkSZY8kV9|7ZVk$IvmFs&qdv#qz=4YIwtsvJSEe3{PhML7 zaG--F#LGhWr-l^EZd1*udVjWi>Mgny=AN?02;GbTqf>F)B*`Q=>RE;$o$TW!DSdDwDDS2aCF({c z?`xE^Cg)xT!hpa-cQ@7U9{10I`3uFOe#3nqfH2vJ&>F&>_y$@}&_iKEDOW8%R^>PGqcX!$jWOc(Kf&Z;5;9%R#Ufikd{_y#x?t(!{YZw<0M(KgP6$oe&wL(VQU! z;D=hP%m@BV{B{S(sMM-wQob(n5CacH!=L#>AC`Lfn@KEltwA~pbAzR@H>ziHgR$*F zk)!vq#z7|RayMu)9!utsg8c6-6bZLwV)WNN_y>MQ7 zrnUBC#f&YX$Upk0<&7SH7_ z0+goEKRUOPSw(&q`V;M^%($&d%65jE0DAaL1!leqIOh|>n_)WF_6l?$ZQ-7>&}V1b z^xDnZX?!}>W5>qvf@Z3i)&a3$vk)gqSzWY=Vqj-QK0}7af?AUEA+-{j4hppXgs3=PHDWv(8|{6T5Qd|aob8v4e4TRk zrkC`lW8qA6m@qBoW<~&BcT&G3!UrNBZrpDs5cy!a4epqP7WYkN zAY&20DQ2aZzvXgLj4P%p2DexhbpdmpsX!VlMJLKrM3FHqR+jzUW{Sgh@3&O$*ms8* zxKUqxyp*g1S^+AzLbtu9<2bUOH6?R7KnXX4=$YXzKPkCjI0a$QoRkZC#eaZwoD zH4m@AX`mCNL#4n(u5c!mNDie9wBlw`LY0vuz=2X^HSsYG4k@g>uSp{7&yE-njLTaP z^SzY3VOh@p}kTL?WtUP+=oZFa^v9Ev5NxC5+RCl&RC7QDM5<}w8~x> zWqW6-g?L?*E?ZWmWW0(iG>KG3aYsV2k9iUTm*4Z7tj8v8P)xadL~ru@>Hm7S9~1pL zzK^6&#$RfsvXkf#p1&w-vT;eN=TlcchlA4=I0NuOVp{gLr#b?pWhVlDl`tX0CKpsG z+Oc#%xJn^)D>^Ohp4~o%JjjN7#viGWNC1b2RZm?tCB9UA+}Zf?fDNyA1w+J9fs7LH zBD~QBNq&uCmIQj_ZvhaC4h;fU1>rGWrZH(aC3r%j({Gt|0p%TtUC{(+U0)xDu1NW; z^>MPyZ>9#J8E-p@y1AyO7R@ zp~Ehf_cR{f-IUKLmIrxRqhGe^XE|s2&G_Fb`C!HJ*+!pb`2LXV)H#sHL#NV8X&i%>lH*4af0^->@_l`Sf{$tb>=LKMncI2Y&Z@D zpf{1Wf|}4rMlY=;b~%$_e8LEl$m$cM4P}0=pd?Hhys(lI&Lmx^ z6*VJwRF10R`8FA1wZUggkV1Y{@HD$bvoK|8l65K64^2`(Ou$D6?_XmD3j@oIPs#o0 zDK|WE1E@4RsKKjH#gigpI&+qzKRT<3u@{YSZ^gbi@*o(|MyJOL;?w9y{6Ll5^C+(<(cFwAv#$9sq~Zk*Js}6@Q?amfmJVfoYv#sesS9G;YE@1O&{}IY<>fP-XYPI z*KTGN=+mPHP>6m%E_oWtGpVRsQl-mntY~BIw@#)DDpy}TR~_Gik`(i7`{&Mh_>*42 zZH#oUP~Y|6$YT^1vCeg#{Wt80>eoWoq`-4l@TP+E!8(5EJh6#1=f}u;{Y#p^?hZqWkq=Xt=|C ztJDK-Hw1O#>VMWUa2Rm~T?xkNBCDEQ6}P6DwT zwJL56_^evSDCKFP23hX&t_P+G*+3cD>vP;G4rdF=H+)u15wD;$+rgHyb+-3vyZ=e9 zfvW3;S$^hNq`V_ffr*dHVnHl?yGP_l@b1LP@2oXqZ83+~<=NAL8i~_CIEs6yy|#M% z{WrZgs(RG0c~8AG}MmhT~20cCyJ%5hDG8i5-vz8Qf1kf2@pq}GbvL)TZh68aTQD9OU-ZT6otxB}_{SDBP$K8niS za=1OaLLs9!T67EH!WF8R>wM{=w%s>d&cAkyQa(Y_&+;}}?k@Lj=Xy-OG-rM9!#`qB z&K_6JR}(oP=-fW7GRB(@Y@AlaWgY!lDid*36sU$_BS9Ba9sKfebR!7d!p*7@@C0{) zQl7J&D_9ywlCmR(?ytdavI~9})xeZOF~4jW2j^{%D)U4wITsgCTYU$p93<$7QHjsC z?wXY?5VH9jS17S#wZ61xm~SN*w^*%EbmB=8s^gk75-47b7Yb3WJW8_I?DCoVuCmX| z)YIn794>c2&rvSFy3v0TJ<)CLFM|)07GbeD`0&qRL=4`IW|>-?!Kj)pp9-P@ft1?T zS=^f-l!LL#eU4H+(3{Kt*AVyKikEo@DBT6WPuTT(n=4zmQjZ6x-CU7rcF66~Tn^wU z_!}yvcWNwIzmoQ)^I#7u8wsiU*`)I{F8S8LKX~VoQdG%+s0_t1hFTFoq~qzbyE38i zAlvv8rgj$cju3%S533ogisjCu4l^+$siG9^Jd_uhV*JA?OBBExQ;%FPz`?wdu!SGp zc+*bGXQxO}{ZWC+zXA;xItAN8^Ge`oL;H_Bc2Yr9cWK#K8QvzuU(Mddt;2ipC{2K) zgf~M6_jkeaR6j3*{@tw{Q0--fIjiRjs>;R$-k1)P!jx?XTgKK)cq~c6hEk5Zz3C~s z>~*-!2!c*3bK?D?{In83Nr}km#FE2sg_5m7E0N~RQhTD8A!Uaz@&#yoWL(5JFM3O$ z>vj0UrblLHo)Q5laY-WKp=;1*BI27Buuc4PODpgL|oD?@e%prAQG|z2P%ZT1Uvcv2)i3y~kR8of<1&UlZF=3uV9%C&Cuo;Li zBe%iFS*!}ao7B;{T3zd({Uk6IQyW*>lmW|qDGI8ZeI+Eu&U7Mc`z+qdsTGGW>C=88 zrPIVzhhjqJaF^4mZ<}C<6*Ga8flDRiZb^UC`Nt4r^jDSdsxa|@5YD~ddNh>`b`Yc# zit@k&Km9@?kr15Opd-6MMM-eWmj4kYH2wM-ss}9_&xg0TqR=ZOW4V-{{0sI;YPD5- zo07Xr!d60M%;-4^5JY%O_~X0_0Z=0=ov zXs_V*@dQ2t`>&lV$KBtcU{C-^7eq*6#!}Q!hr9db0ly#B-VnJV&J0<(=z8luSwBh0 zzS|8Fbt`#dQfN!mN#k0V`)P|I3lS2jV7hdmdPn-H$Vi;W$O*s(;1XgSI${r0@L9SJ zB9*l9#cSZW*G1H>QmKLa=A@R49&r1)pIS$xCi|#r5zxBW zHV}Vg%a)mF2^IOirD+=7q~%*W>NV_~Ak(*l$M>RAM2JcJ?hr{m9jMVG#OAg;4;juC zHcs6PdAex6#c&_C&OqNTiqQo9ebn!N%zBP)vT2L73KBN|uVn(`=aMzwCswD0s^r*r z_$&rIH7XmpW+O=o3qf=ySgY*W_L2VY(Zk9EXEP*SyucYME+&(1^qROolsP+Pi@bNx znHbql{4zHkrK%ju=U`&Rl9Yz-_N&p;ol0KF zO6zC%#6@ei`V`sDgqVV?78CEqj;<4h^A)&*tmO0(E16x|`9aqfYtPvX3he$?XWVT= z?GW2qnt0-Pg-Q2VF>>eTN`m#KjIF(~6dal9B>lU^#l`1nq1_@3i<6k!)F7~IL|wrR z34t=m;Lj|Asm)r-YhN3YTHr-@4n)7Kk*1C~*?yI$P{!(%&Ai zciDBKt55C+WM}n5dz_ncBCc&B2pf0cMVDfMtmUp)!i7IY#*vl3XWVUP1KbXrdLpk? zFP0dD8y^QDh9P@mOmqP6k+A@B2i|dSTriFrUCptrMRF$ zW0}^4&z~7pcSine1Ok-4Z!v~1i49x{U*nisk`0N<`=PX{(>G{nMRpQ%G)I_I0E3c*nA|fK zWaN0if6W#-E5^-)l3cV_4`{~2OoMKMF_gZ!=PwzDl-OOfs+u>*gVM~`Ti21-%*V-^ zN)Oc5flNJ^%b6lxriOw{0|iV`w7Ij_SevhIJDb5(n8X6IQ~y#%qn1c_>1cXpQ$YH} zZIh6~!B}i{@s1p>JzZKYB-D4Adp*0H?}q#?JC7!neLz}a`i#xX7rEBSX@NTjnm|SC zt-HX}ny-^j4Du;d9I&i}9+;OlK_!75yzS76yCDADj{Twd3dF5M^cwgqw#mPJRNc9K zEqNr{KPE|^+_RsT^MUrmQj{OwZI$R{p+2=)$isnWLEzC_Ex%2loLHPWxcFHUammb8 zQHnV^<$W)91T9>NzR?pONiucc*z!UnheH&fU1CpA+>tik3IBK=u7JRgq5QgY|9ryo zp6Pf4);*K@s|5Q#u1``D_vzW?VKeJU9vd&$PzOL|?{liUH_CM{gFDV6hu$wTh79uv6~fkZb0;-)}0@0%?Xn2}Ofy(7HKnt;I_ zm+s7e!d__W2&rjEcsuE}vuW@{!MNp4NQT}b#s9Z^$P}aO|DnA_|9|g`Lg6`lMa;l= Xd)MsFr~uzthM**;CR;CU5&nMwaR5J6 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Debugging JQuery Aly/pizza.jpg b/Aly_Hemani/JQuery/Debugging JQuery Aly/pizza.jpg new file mode 100755 index 0000000000000000000000000000000000000000..af81a52cac16bf623958a966fdc0198c4ef2665f GIT binary patch literal 21558 zcmZ6y1yCH@5-_}YfS|!Wc+fy_cMa|=ZUL6XAvgq=;1(c2a9v;tiv>w=54sRo+%>q% z$Gz{p@0XsMI;VQ3PtBP+?cGmvPb&a?6$NDl01`3)VDo$do(=#6a$eRTUjPyS6#xLx zJfn^PxY9N*R<;0}pU)Virv*Sb03RD0`z1F1%a{11csO{ZltlRWM3l6o{{SrwDaA98 z($Fw4u`n^vaC5(V$IUJE{{J(c0WY6dM;)SPMf~3u6I= zrLiIML|Rfry3-~&JIJvc17Y6827fJXIsmh-!jw*EdP`M6dhe$3j@YUz%w~AvSK21y zMDMst77%A)dcdYuFjiPz8%oHFj*a;l^WemrSBK_xi$tAA4ego_!=I=kqpUT86Pqt< z&SlTFq1$gPsyQ?wct?m#X7>I5s06Q6RjHHn>Cyg(%fxY6pR6`2w6^GaBr>R)8~_Jq zEfTA4uJs|zboGxpkZL9kznW6LJwd;4pr?IgXk~4eS7QG6^NIQYw>2puEqSEp8=$50 zyrqBUx)W0WZ11DI8WF0N&cDCmpYcBri1{=L6mP+NAMbugOjRVe(SDGwh1&w&pIS4oHw)&k;NxG5^rz(dMD3 zWzr;gnqu(qI+TQ6h?lFlat9-exZiuIr%&@sd8rXvPt@tB&B^+JubDwPLINgyh{`Gn zag2J=wiktchyEv`OR1?H?}f!2+o~~HbSz7(rRtUXKp7U^hzCbQW$SiGO)lF|a>k$5 zwZaJshKE#1eU6T=;AQt5`TrDBw=WKIZ!Xn7XO73l85SaRshbEf;%{lQb0Q z2aiqnOLk-`akSUCTTYgJOVxPXj>L;>ERS2f>tThL`z9xkmqFW;&QU#k7o_ure4QSU zc(hvNlP}VrnUJ1aU2LQ$B%H%8p>MPCdI7$qrvam zL;FLARXoE>q)i%!Ijp7S$j-ABh&MH^l(rH>pRBQ70t} zR9&O5F=9{JFCOV;wA)RFZ6Gxedp}kW?HB8jid$0Hg9#9qeKjr{PWaLX$5Uyz6xnx$ z6w0cK_L%)yM~C|QqQp3~T+itpLt2rY+JRP6+N_8U&VWR%(HHH#ZJ^3i3JpI z)|^BFAiMrB4p{@dctT5F8R=in_`ky8nOk(n3H~D}p1I~55S#2x@Y~m z9!TK18H7LTMF_~jsiVw8ou3b8JG<^vdIA^$HX3P2ARJ=NOfp7>V}(7GK%H^uV>)(ZjqYX|%yL8^ zilHsh`*N?ayS(JC(@B|=&syHJjZ>3F{tJC4S`$6y9-rkyMb981-KHG?yl(g*rrX9Z zRo_rCH$kC)a{_=!>{`ofAjdybRp{Him@@yXzG+#b`o{{HJxIq6)yKy`XnDV;J5`XV zqpj%{Yp0B3)xhn8UzfK(p2W_P5{`SBEwO75&k2|tlrQag?(m0)KDsR;8uSU$bY6l1 z>dgwJC-$06zEgi-qs}8Lfs6c-xM0ETq=~e_ALNS_$`QzaO@W(U+N>Nynas_Clp}3< zNE~3u`-@!80_D}@ohPwHBt2v_)Po9VFDZ{HPz9LkaV%Cmr7Fso!hc0MV+meyG1!*A zb66z8(AFS%EX<5Ie0y@t53%I1_k5p#9mx*4-V@^hWy+xaBn9&?@31N|iY-zM`#-4Z zo@O$J1@G=^t)jZ^ATC@E%&~irIDFDbwLGf)^v`{@h9l#J(G^~5qLd$_Kzs*goQ%@y zcES8*CtHTH5Of~vtH?O@DHhLoH(ql&nkGwz=U3g38WFz$2`kvy&Nc0XBzodZC$ zO+CE4C>5&|K3*s7U>j8$4o=SYST2{6-z6TR;$wUYROu??8SSXNq!g@rjIXVM4$!3y zEET8o>#m>TAs2HCW%ophZokRj)AYMzTvloUlT7<=!4NZ8V6b;-RSf6@$GE;*LMPR0 z2~*$sjj;AwEkG)b7f)1T3?SJ(7$!)bRk%&~-ALv&MRG|ZEnZ(mzgM{109T4hZ4op1*|i|to@PCGlAYPe@tQ_H^RF6cth#%^|)#1VUxC_ z0qx4*rzHEUH^IabEPWNu0;Mwz#GXa26Z^+^WutCv#FiF@P67M!hX1fE#TnV+PdS;5 z5Nz|MC=G~X|GSbraoxYW#%=*o*UK!lf~dlkVd}Bwv~QS6Bxd*U&a3t-jQH7EMAbl{ zj%@Z7bg}$^Z!@^1-S-+_pAupu$ay3B0GvYQsnyeziy+HRc~JA z!5e!M8qFHU%yix22BFQ>He|7p{+s)Z_O5bLN_#fM=Tf`XVT4QRO1_8&uhyWP-4S4m6W(IdwnZvil^D;Q^XZLU zf>NvyCVT2pQ)DqxV?#BE73cQ~QcEyeZ^Kz^}h zpOnXMa`YXHcm|5#Q8aFnGqDJ{zpYo8Tc-GCpp8xW0PkpIUIcyiT{NGU=Db3uib}7X zds{CW-oGw|d!Ss0++grs9{F^@nxW>C{7-7Onjt0($61^QG#)x(VN1XkfGIHw0ty*dKCY{Rm$$ZXsWNJW|m=M@ay~-dm$e&6lz7wgB`d~ zaa>~FzS7sLHw-MNU1~eHaaSLigtC0w!7I@WQHhFXy6BW5a#RBuJFFN5`0amuSF!s9 zxXf?OQWl7gL#OZFHFfu<-zhOZB9uEO&UzN^)uTWcU2Gu>3Ms1O8|D_ zgNT>dX68L8HBo3+73{!;t}B<58jBzK_0`|;1((?!a|D1Sa97`A|0NWCbwJ6wBdi~4 zLn3{OEqP2E@nImv-+1A%Pn6SSBmPkAhiCSbu@hzLtToz!EAxVU-8OHI3$H{eWRPC?{JjGg^(TDBxB_x4YBOy&G=mD zgZHD?-b(BXOM;&n(MZ;tx|@9J$o3dZbHUoM5 zzWu1XB^3y!pUN{M$q0M-U&~z$^}OGBLh37yH64eJX29#e92Hr_OY~uhRI$v=%yf0Y zLGTsJzV5b^`w6xF6|5_fjn^i~S~Y%f|GdhrbR|*|HdueF&)-?gML6b9bivxRY27c9 z%z{Bt(Ue}fN=UAxh&&(44cY(DdYO@}kx3L(WZ3GrU$W10C+PYaS1Z}0ba{MMyFPL( zd#O=*$jqr(;yq6!;T@?J?#i5fP`bLh^+2CMi>Agrhd7M2{%4yFYJ3{OxAOJV!2wp9 zu=0JKc2D>BzEsvdK~lbeVzWoHk5wM;Xsn5Na?(Iy4^@rb8S1R30gm%wyPJMLXi+G5 z`qbrPE_w45C#SD?=ElZa_U_TQl(Gm3m(~h5oJy+`+1}efzVp^}qPYFEtuG*oZl0DN z4G>D?MBDqE|M^WkKO;4F$-SBu?1EQwHAv24>v)7I4j_f);wrYUZuTJNi{IswppL{+ zNokNzqSQ~Q)I{iK-ghx^V`o?lwuzEmTQ<&( zsjcWojF-KI{S+ado7;My<&xYLJ~Yi$dfsNYpV;KYzIQGLbxW7d@*VNYCWH#55lV7e z0@bqZ8vPv`&ks1h)P-`BhYdd)?T5duaS_ixK+?a9$Vg>717yleL&M zFc?{ouWiSm>IE~twM^}Sfb5?DWe8X4gbW9#jrf5&$#@UCZd39Z`Gk+d0=Yv{vp@;d;~EE58LEn|^w?PncUMLQvPxzS)!0 zQtMIW+4b1@eJim5>5BeXG3b#9Q0pe*s@?kuuz#$yET+T98;1?i|B-L_7FG_s|M5Kn zH?}{9C&bqW`+1)#r&%p79AjILYo4{1zHaOG?f_dhO_2ka^%c2x0zvxD5n>tEv}>Sv80Cg5Tiw{+-RJfNtis z{x2>;y5Q_z;_$BVLM;QkV~@o%1ynW$mYg^?#2nt8L010Tfz7P=u^$%@$;+(wEt}j= zfSYpK=+293f{Izc$p#H^t=WF!61SW;dZfmenJe%LxOZ%YWI>@`}A+TuvBwv z$F*~tnv2Hh>1r7cXTc)b@GlJptiF-({yVr=wfl7^u zoQOT1_dLpHLP0>zON@e&v%8`z)H*Y)A2@plhIV-O>P%8gp>mg&-)rzM^G3%?^e0;-6m?MjI=<=u! z$=XKh;PL=FSh3iUmDpdMcU@Om>+cF+}04b867bG{+{wX z_J>$2w;qd3HZMl7Tf6V|rq2!2p)3Dm`j5q;;0Q#;S`W&u|Fe+kb@Gmvt!qs#@_Yh} z8bkPwy^hOk$b)DoZHAh(2Re3NOgx+4rkUt`ym$+>jmx$dG=eZ#C69-k3L*{zyH_X& zAjV#9I?^`dyx|UtL+Ixc$~9aGEGK*Oow+Hc2di&ZqqidC+=I07<`+BU4X}ufm(!d% z{3v8zY}q;Jg$~JIhj@!-e;~0SYC*}pV5H8}#LEk<)rXgG>uyO(S9QmT3{oLlj7*i8 z5!LclW|#!Y8gIeh&Z;p9zSqxaV%r-=86)8uHCL!o2G{9HoQK9j$_nJMSmkmR%jJv}pSWNqTK5&SxjvISaqIxq?^0yB}jH6vF%aSYR(>Wx(Gn<5`-fU7e$CEG+Yk7@-{A@;h%cr#LRXbSb1) zLkr34>TPaoCratgh46iYVUCGrDWW$N_+C>bRll#CrF$w^I)h-Uf96NuFWiyo`%)lg z99x+_RjlRtQs%>6Oe3{>gyl#usxtzuBO8LkWJ@n{@Vs&v=yd{pDs%sulAD2+WiS>j zID+@k^wV0wEEV-@X-x`K`Ikca?~^lWJA@SxKTPzIq;US8*Xk@-#;@6XVAb^qjPyYOp5CcZ>RmDiQ79-fJ5+tN<;Nnb&ybL@-u zO|5_04n&e8t&9Lza~XUfvfy|qJ(mOcSluE_>1IN*XgqwM^}!{T=9RBu6uc)d zz0cflAc<_%9cng9LCE%dUX9Pz=hciMP6tf;(j;6lJ&ha5U!bI&QxB51xn(mdA#erc z7`C-i6=uEz$;hqFMO-ec=3wn8+kHm>OWe-pV4tQADdXUS3#^N?CjCi0!Bo5qzrD38 zq@l;1@#X@aqc2_`k~d#ZyJ4X(=@$H`e2tQNq`V&}iM1jebJdCB@607oY|Z37Bdp5U zApDAZpz;OsMkx2iy~EL>fJ$q1TRM97VK7B--6$&beX8++LdHxBb`WyL@aJD#@-bd? zapxTw5?)1x^N=f^kBcBTSb9M<;=|_wl8rnLU9U>0PLpDbEHNHJpbV%Q7P76Kt zR(g`WFv^U%u~-nkhKW6(5|#eMKZ)Rcaw z8XPBQ?_Krg;tU<-9j*DG16iykcBb9f?mAcKkmeR@r!vKgC`m%EKzLMjMak-*5fK5j z>R0>6OCja|deQW;*{qoV%$t*&E5t#qg&u+27LpL1lnDdW8MO#sVejp-sH@6TUPAmT zu(|Z=wobB$f|m$VMRoP#Hf32q+1ARAp8?ue>V_h)HK0DiJ4V-Cr$sdKtOhFSc4kzK zga}i`*ra8!nnzjJuz z(pmZNP#E=43Zr|+N^4S}AH|s20m&*s8)irLIZQQ>PCLU_Me&>YmoKGoc0+`VkOW)%Rcqg9#6@~4U%f+V};ro*_tc*G* zIZ5&%w>JhQsZG^QO|VuxZqbYKzJu|oZDG!`g}MsJA-l}u1HJK=0}Gi+NVD5YL zWF#EIg4)cOTCl6^Kj+^-adP|D_+)Zo&)un6C-Xx>-~CO>Rz*H>;;y|xIfhEVUbb@7 zfNIKog+SHYdUd`yM*7J*HWw(hv%q;7t^${}t1Hj82r{2OL|gA9sVs2{Q*YPCPUwM| z$|nJA!9Ts==zNf>U~MspM)mimCGiGgEW-`0X}dcKg1xVc=POH92(g~&&5 zCdEv=HD%G%&g}_6V@>|P&bqV9>!az5D{O4zb2z#&qn$D(5NO)_voex#GbmtEizq3^ z1%UQDLMJBit}HpdS#j`Lebnl1=ZMS;T&A+t^yTDTK1QZ_SRj<>)n)Z8(4%@BRBUZ5 z`_z)if!?C~D{rEYPn50)=*;!ovl1b1{ezHslC3lqN)kH9>Z>~{C*}rQXC4o-$Oa`m zmr+@zv-K9||<^ z#U00Ts$vvo);66@w7mEHz9$0`L;a=dZ?O`S8CxG#8%X!fr1)+foj-Q;Q0!6Ne>IR; z4^${!-_^ZzdB@rW)hnqtT7)w84uA(h>1Ul6#R~Jzf;7b6adq2AK0Aas(`9%Zt^xKZ z)AJi8qNsa*9+A53vD?h6yRCtMa{9lgBapaXAxi;5x!d)+7l%vUHh)jC(iOX{Ad%qz z89#m3(4-FI{ZTlC@k3qJdV`XMUvSl}mYWU4Q|t|`+dL9Drohr5*hoB-2BkCs7y9}d z6gcWxhOU5fq%Mc6T0y!MFx#v}Ch$DfN`)X5l2ssNLy+XGltD54Psz(WHm{mGsQeQ^ zElwmSADfoV-Gng-1BlGunOGZdSKC@+d2{g=mg0K*81b@TvRi@qaCY)S>61*IyD;Z< z*tCnfB(Y9l|2@2tD@XS*(-0xAqa1zKc#AdqqKc+OxLPD%u1X^c%sHDRH}_``n*piX-5MsO_nz-bxeQ_ZNvU%vn5|Md$YPQ%j5eC`oXTuS^EHQM=k_1{mXnOS=9E99Tx*?yHZqwlE`W$RmJ ze?Z9hso27u#QWBz=?aSeBLlQARez!1dtJ02DsK>Q0U5(jbPicOz@4M^98_sp3~TTe zC6t;@wS5&G&MQ90=5+3!h*Z+cZzr5gN7Cc&lzx-n72T|Ss_HDzLuf*9A|&RLS^CJ_ zaSAl$r@6X{xJgMj}5Tn&$?%kN_^T5t##sh6&K$}ajdLGPk zvb-~4tDw>3ik~E?sIW* zQQ+)c?eqx)`Jwcb3xj85g*TFlNppn znh0^jv^7-XBogJvW3LQl7mEYj#;h4Ci8bk?A}D<|qgbeAhDLl2`Ysv#3LQ-g8r_X4 z!zWEYRKV>N6o6=ghPRM&h{Qr1?ayy>T!-5$Xf_)*qS(b2{1@VE2=Y7!AO5aSlV$$i z-i_MykCkk2w&Z5F!t_V!TH1zdeZhdiJSqY6rVWc$mnQ&@!@6o8;kOGq{SWT_@91!q zIlc9Eq(mmb4t(`@MC<)5RcvMHRy}vO!N!L|xY;?oTl~ZbC{a=hCJlz0UIrG$1K5R{ zU0L*A%N_w6?N`s_3y9VEWa{F+a0sjXrl{lAjvZXFtNA{gy7RSLhbCN-{seG%B%xQE zFcBWz*Ql>;R0AFe(hfK*v5<;msDxgh*SY)!l4V^VOAY8A!=>4PC~mZv|a-i951HBc6Ccxh7b~*;9%EBub_8tBf0!)2|Cu!xA>~OscO(7Ze!1^ z;nT1Ou_4jZN3kmlyeDY3D?|KP4x3jkE9gR8C; z@6dXV`}V&UF!OUx>2<_(B7@SfJJ!MiSVP6<03_kM#$fHvp0n{BL_KlzecVidZZIZ? z^-w1JR}>R$-h^SJX)CKP22{z4*hMFaj|9JdOwWJ$X~KpfcF>)(1=_S~;+e^Du6AjHDHxot3;qLmn;cDX$+sN2=(RksGH{(5PEAgGsYRuyf zUWD$AIlM{#-A`7e>}AzNBw5R^h~OC{CeoJ%(wqBQ%6`H2@yd`~k<~m0x8x&XTwwC5 z$(Nx7w1!iN@(*Se5LMF?VC~ueNfD~=LDUSnV#DeC&?0w&$VQUTF?=<#rUH>~Cj^Xk6xX~ zk$#&1cz(R;kp+^;N^tv`7`^9$GJaD_lPNnVqc_c(Qb#L%&u;BkDD5hS z3I z*lOq#j5QHIT}Mlb0XpH}3=(1_k4Q)461hts?Ofcb<=R7=1>8bB(nvqa}oh`QT|5Su|ksoWunab zCR4B5nO89Lifw4Su%$v-HUS|Q#_ZiJhyVq2?Qp;E_|oZ(VMU#ElbYknLXoB%_F$V> zM?*lam0IBZMVe(b#{hC%t|v{aS#}h%FSTmI3&8SE{UZs&KDFM2%-eX!t4KOobG1Nr z(WUWKX@jwb@*)h)HrV7(9WpokVple0igUV|B=vWKB);i!@&B3+$Hqk(1-H zZxj<3?5YihXSMwTB-U)#Y8;jrx4~*-^69_ig$kdIoT6zs;_%Hq2MBJbPdB@|)bu4A z+qR5dqp=siE+k&o8qK-o;GxN)9FdCnOx&j1dZp%M59;-((z3Ow!~@zZ-ee4PKg$C| zt*yZLK7@56y)&A*VSR?mdrxqI@$y8R-OwQKXHs$F31nw}-|t8`j*ZRn-<146;uA|< zccS0av+Rw-bsu6u8niqK-O@2WLJpvD*oFW8%IeWcx-pOmA{zR#5U2 z(=5*@1MY1&LJU9*BW1qhu~Ho zi1fwkJyf90c|JwjMKZEG3hjOqVI*drC01yf&fD@R@ajV9)QH6l_ph&`i$aO8klG(c z_&d*QmI2L1m{&*;2kXnP&P=u*LE)6hLEomDk5^yoMPSnHs4ZM)5Bs}JRp5%gL*{r> zY5|P{n#mcOHCgp5S?Q7Df$odVT{iu!lsov@bV)>M-|5iz!})0l8j#?`^^Vt0iR`=GuhTO~KwN|EM*;dr;0({{9ThTQ>d_e5>eX}< ztg+|N?_KptEWo#r1ktfs@$&vT%7uWUR7hUX5Z8@70p7$*vv=fS_#5OMxd{)il%==E zKLk1=j2iu{_g7qcwkGc%BQ%gw=vK~j8ZTcu&Ye&QTqEK#0P((fhgwmRm?VN2Yt49I zKeGlpn+%U&C%lo!mhlil@O~pKzorCY2fGcn7Eprx*1GjehF!o|$Hv4HZqW)*^L z#k*ud3qNlrQOO2n@LszH$nRB8*64enJk)5B>jlo#eD*VO00xd`@gyx@yjoIqoF!@c zQIj4&FY`;xW2loYzBT#0%s)?N2qA`(=8X3QNWTXut0qiZIv#CSbI@P+yw)u_T2D1u zHbxxAens=GHcI~jxj=68w<#8+73u8p&|tyHKiwy}Ro+3LVKLr%=T%aFm%&Vv(%D&v z*F3B0@Wz>7r1D^`Qh|cet-KnsG=bW+D&-t*!2USA5Z#Oyj19WqFBjb~62^YX!-M)K zH(HY|;okWbXr`cYZL7MyQLB1oFtbTDL6+A8%VhvZ0S3I+Hk_lRR__VEtTmjda%Pu& z_x+a;lOo0wpzg8o`^NPt^a;=d6J9s*`C=<2Vu+nu2As~!<~3s&AhU_V)L*;aT&gykKpcA2CJb0w9^JT{csB@~dcVwgdN)B$Y<>D-B6;M@_y|*4mV`CKm zw>Dmo3#F&+aZ_~Rnqn}QMu3qTJ@bUPvamkG1*pG#0JhvlvVW)^30nQuLa~%>F*tD2 z0v=fEFDtQdqHUABffy|`;EicOe$J}o_)&Lv07eutNP2Ug@SlN&=6X) zvX?2iuA)2UIwPeA2Wh^6Wx$Q#3cK;=^Q(gncKuvTnpz3pJo)P{WTQ{9J=9HNhAKrv zg|!Kc4CBvH&DxuDO&`go|L6*`JJd#4c$@vXyG;22C$j9jOP%&JD6_>r)cQ7cToax* z{aF}dI_PCy_9Zn>P(hFdVjvLb9HMy-m%-e?Y;M=%$gFz;Kqb}bA-$Dv8^f&~-qy-u z%s*GN1nU}n>zDXtx`_L+B9KT+=Ebw&`ESTI?TBaKIwiob^Hu-8+VtCvVj37w-*MIp zb*5Vby6x)b&Jdrj=gV^?xQWtLbtJSVB>5OqjS0Ix3Z|IHf->L{YUEmee2KUb<}m!G z(3+9mpLD8a23j{ncxxZdd%lVkQ)DA1j(zA!2&-v0@1_xo#yk=sRs*yY7aWmI^-URR zYqc)i=qk0mQoQ91GCMMWe~?>HFo;D}R<1*3LT#`a2 zVB}?xV$_gQJpzFZy7HU;NORP2@Lq;9i1+Pcd~Ih0y&F-uJK`%WHsXXf^IpH9Dm>Xy z>(RjF!Le@mxk@N&*jdb4K>+I;AP6R_mT~nVWd!HQ8GR84NP#|NhB?Xr!cGK-03L}w zhRU^;W6Zt7{+>%mL4q8H9A{{ z?dv-26#-5&DMaZKmz3tfnd6N?2GgQCCkr_cvpMBRi=6OBfDHO5JM1?I`f zan>3WlZ;H9OW-4{yf-aB0bzFQ0-AB{<(=O!{X!!yhGUVpz%hJ0wKEnwPqd4XY02pB z2B^Yb4peiHta~LRjiD8|?{`)r zWEXp}kr0~oicJB!^b_TmZaigQlGG&67WTWqCXwa7h9|&9^#-o=pM+v_6*qrgM(G<5 zw^~}R!cqimFz~!`^z#mClD|&|2}4xGJM@=Xl2xz2Ba4IEs}v~-No0xvn4}o~@eVz) zWPAY7H_=_gjt|Z=W_AXfs>IVnCY~{0%GNc!yCh`wHbPnfXk+UT1#GvBCH}=@Xg@b3 z=Z;E}VR|`@CY#}~miuvl_NvOeKD~2tt6f0&GIn?@mBwTmx1hS$>+}i0+;F4SSn1_J zeC^`G-teCJH$OV#)IbG3oup1x=Md?r~Kdxq_dANJJuU-TO?b3@3>%ah$6F2=l+ z2mtALV#U5mLhBEXGVFV5gB#K|rts;GCxCX(a4x0n0B-nHoh@UxIp{*C-CCB8X)!al z=F`|LV*JK1)+<+)I+|~Nd!s6A*?irJ3>X2F&)?K_7PDW8B<+Ml&qN7Hc-LuT)f?v? z*vmzKoUQkP`NQ+- zL4Q!)J37*(MKqB~KE(tXB8j}IT~jl4ssb0#qt0^`XUe_4y3Q@NNx%=+jx7bgNPJ>s zchoHEh{WeY>PFbh#JhnWE|+g2^Yil!41EzX@9xNQB9YHaoe0;ITHbsBEUW*RY46+L z>lPuda!}QG5a56cqkXBOyxwyx4O@P@T17x*S-sn&#J5NO0imi#qnbHU$CWKE&>+FmB%N2;(SE zca-Uv)QDLTo;vCV_U!BatY`gTCuY{G`KW5PzVEjXA?Q@Z-Z%Tw1xI*@J&373w(oFA zb*bsqVNG{d?sMD8|N1WeX+OanGosZn4G^o$Vo){!O=S@T#JFAIRLFC{u|Zz#?jG8l z;^a-#&<)>%$1w}*bmR=d8H1mHEmgbI^k%o!N!t78m5ytT2fq17!>m3!FW?$jEMabx_E4VC`KyOuRfYRh zpYYjGr&i%ert2|VX}nB!6VMh)Uf&Yi0|7aN9If48dL~`dqcNY->a@K&@&ND=FqasZ z12Rl6X@1Ff}Bq57Zd(D^Fksm#O^-)dq9nB z9aNM1oLJy+I#%6`f}^XqFL`ETyYI4fr#DBQ>JV8@sSdTejiw*p{V&Cgj`_a=B!oCX`@m?>c&zRck0F zb|ALTb3mZ}hd*&z>NncRhP$z^Uq&3|y_o1D+ZXPH6b`76@E4{0VD6%?j3B*(RDt+74nx$uWGPke5`e14L z1fW(Ves`xHq{x{UM|((|b;6h`C~joD8L+QGc|e>cy3jljCNI*Y=5WSiCK}vyU)V`w zw;N1*&Fy=j)<|Ji_uaqRaEdhgK85q4%ra1t;zRotYX4`2yd{f}?vnk%#o{DvlMK2# zc*`2xZ)cOblQ#6n$3KqWI-EujnbsBh@NV#ZIhG2sm9x^O%kcGIV=@!Em~{bKra0cX zbQGXjY7S*erb2y73yN*a{jnH7u(+;H7>2*?EDQ52-XB4KN`t>TN5A9q7s}tu=CZqt3{g%p?SFLp&%l zUD3QJ>k|Cm=`?i_OGEJaN}%|aNNW0#mjAyF9c9}d&HHlk&a7aFsHT*qHMDZRqTHs8 zT)}UE+R2e=y+5{m)~}Y6lHg|k7&@IeET>H_%$p2yczUjgic5j01ggh2oPOq7z55`^ z^S$`J6#EmvvW%iHR;h;z?8ZO|aO%2fU;1o#{ZbF3C7RBm0=;d)T1cvLBWleDshoL6 zg>fJ6huenN%!MIqkaROOlAyliQ0}kvBCGifHiI7hq08g(iZx74F8Fd+%0Qp|N-b^w z2c}Ka0fBKWF1^wu$Lg;Tn-29gGs({pH<6i?XpaghVU%Qb>0dKY7Zc~@?<;3|LcM7* ztpF{IadCe0)nr;tMA7*^&6~B5c-4(=u-5}7kR-ll;|&Qt4ymg~!o>)^(bvAF52D{e z=R}v>j)cO>v~fsv$Ipc*aS`!R@CwY>b)-iB5Y^gxjMg3S>>R3oA?-Qg&nBtq!mVaR!JGtZpD za8eLWiZNH|0^vBfpg$jg&+MttRGs?&5TXRTd)l_D<*&i@hv2x1f7UcKB zu=KWptp=6mB2^^iLiyQwb#v|$z_pa=$_dY0WMZHqXJmr)=>7$Y@C!<6JGs_^fE9jsxqv(&LS5CQduV^B9JjVx!FoY@@I@?BzLIV4xC(t|Y;6IKELXtVOMw!SIR|0!+UMM>Ll_gB zD*gIPybbfP8?aHCWF-_&3l=beA1+R+!Jbj-_9IUL2`7<(TS2F3oZ@i(2Dg%XPw1ut zjbl4nk}zrJ~%SJtBLOD zp-S9|5vy;he=69NU3tAD5!|K@IzDp?(#w7Vu-!(aNP{Zc?*&Q;`?ZRKMYdUB#Aqjp zl#k{^fp2_XCgUXlt8l`C{l=ypHl=l^41>qp$D)AR1aBQSE%<=gH&eo0iV-R3FAg|| zUEe6tzwKeL+gSL%;Qq0qjM7`9&|S7(FNh6Wxm`E{zkOFO9uZOqgVM1UUQB-`+ps_~ zokp_M(U$su8l(T$=ZL{gF;HS?LjBjU#qiVuYTvsmS{vbP@L%j+W??-i5d0zi$il|* zU6(Y2tJlTtzRLOsS#&-td7ZaNdf+30`Gy}+9|k^sZr)D&pl{Y#o%Ob0Ac?>;OTPKy z)&OT`=fT*=OSJhfP@CnRB6(Zxm}AO_^kTOZMH6Gek#q3-KW-U=Es7P@W|A(CSy6a2cFN`s|WSuW!7=2?VVy!&LP zhI$hpky!9UB-sfyG$^{Z5QPb(^7bK|W9#W{UNyX;sUB!D_uueUa=2B|&i6H&{bn9S z@F)GY@RVr7X#6i4yPnT;+15jk9o&|5ja0fcgyJmeiX$QrV~7mos#e?FbX{sUhAQ+K zU+52?z-HO1mKnc6C4-%TCue5Vo8)=4W{TE??8(hjYxS4m-=?HIn>&hi>TDZa+iXJ| za0W;_*Yy;$7!&%mJZ9C5XZ-qp#9u8aq@D=J`YtS0fp84t79P#Y12R6anQi=CU037Y zEe;?2RV+vl=8toEJLA?JM}A``dH?B*hR;RV=J#`+-bvfeT98p)J__cw-(^2hSCi=7CyRC;V5`A+4U4$n zC5_ui%gMp^uPtD1c@=fT=uZhKyh1U@qH`#IJ<}W^h=slmFC2R1@yWAXI^u(|E8Z3wLKsdu*^GN{e_-c^N756l?5H2#&OzGLzWA^=@_^}6j|b~- z86+-9?!CQQl0*wc5Bpt9S@15|lQV+v?1V5+l_KB8*)Gg@*y_Xn#Q)?tcuO`+i_9UOcBEuoK`izlv?YIk|P6id47bpNo^CJ z^4Avb&s?Xq&AC=3HLC#oD%ul%_7q-+*(5%bTv$2B^s_1i4_^|(haypdFmrElrCgsQ zrsi#G9aDhyHQ+PV_GSBg8V9ui;U*ZC$X4*YLnb3L!t5$4%CY&>eEEEQBB9M!Tvfx0 z3;kofG>#WKHS2Y@DRx8L;CN+jCu=d^9iLW6qX=A^(Qf)`b0DVvVX51V!zDgw6RsJ2 z3PS2vKB;Y0d%!x!@LzlhQXra) z7@#hwUq}%8zlDrk?fWveKt-s7vfx>gq?r0GvIEJpkTl^mFrW>D~Ld-(tUTKx!J(*Z0JA8u?w$e;4 zo2%)5s}v{`2MqJ39D7+wt`UT$XKI~3_w7u|BI2x(;a+{-2W*AYQjdHjm1 ze@_KdOCN3bEnWyT%-)DybuIo}IbOrb>=z^M>?+$BWff>O{=nNKSb(BLP6)1VWiv|+ zS9#He4j~srloZkF%QPn;NoY)qHyt+?cXo0$%*rsnd1J7RP7*`hzSUnR zf}A*L9k88DUhevS!fDk=roFtUWDuHfH4~IA`4M$}RcPySgkjY$=dwDgVVFocPGNXP zFGnTUqb~=&-Z1bNnXAU1MikggU6`Gh!-oaV7Zs~YO1lq2^$5dlD-|D&!y$Ck7{dj6 zF2c?18f7W?jU$_;@&fX!l-b~wDYI?mw1VC)6tmj0p_WL7lGj?Smno*Htc zvVFl!NOl;!xJ^lBSHFnEpSvcZdv1xg0ZGi+4OwUuQxCxQf3m_skNg=?BZxa=6ZE#k zpTwlhWZ3l9C6`f2qAet?r^_fdEpPghdv=Ns+FscXvpke>p-sk;)XeZvRo=%$hB95j zJfK%-D|kov#!%&4VVI<<;H%C9wRZI94Gcs?a~gFib|=f*Z5Ly#P`)8Z67mcJWrslJ0#cX#t5$N?o!z%|*LW)zMq_R(njkpVH4i8;=TLQR#Z`Ol zE2Uf`>u(x9iOzK*M(w590@a5fCc}l=P7m4+v4N8VW`nu;QSZ}g7yGY0^?Q5OE7m&t z^~)0r%bk0%Q7@Z$YbkAMMecFO@=J$@I@h%Fa_bE!z?_@yc$L7tBhzQWjDj$N2Eu*0 zOTZ~w?3n9&bj2P= zPjxRoC%>L&fNgU*LPk4ko5M~SK2S_1Mp+3( zg47aRt_rkuTh!V%(nTI2?49C1dG?S+8*qq=aqD zw&Z2qI&5rpIj+nmNgcWOqg0+BCf(Xvh8ii4%!^UYCv-lCPTpL3_%VDgy`xFMe~e?i z^SL=rC||TZ@OQ?#@*|yoo zftGw({5N18!Ou3c6yDapb9nn1wCP|tAQxV6K!oI{XO$_{i0#q-v;av8NVK4fVyDNC zxVp7tD<3zlNIvsmsx)*aTmAuf$^tdDaP%=wIG1^&$nAeitcaHj(-8m4=MR9WgNDfP z&DYl2Q=YK+pG0itT?wIBYpbg0BW0PC?nrwcJC=J@h~aB**~H zKRIDVc?Nb#`6bBGfvT7jT1x~wfp#U2CG;<_Fv{TjF|c|#pCYP)m86N;Jn3_IwCjgeey}l zz5@Nipmz286%2H7w=UPTZFZXP%WIk^?y1^Nel#By-n%*Jv{Uw6pUGHVHqxE#={E@W z#_ONri5f>XS-U3Msgwd7f@OObYz48YRNL5`c7Gpnp}4guE%o5)ONCd>OXt46pW}(H zKOe0=Ytvt@8P*+g#0XE{_U&F+8h?;jEJ5+&SNc<}g)zufOWKDHI43t+ey+4|#?A!N zp^Dc0QF7oO7`yPVk;Q){_J86I%9uDiE0oD;U`^ZD0V|DLPTLg9x`sQ{c6>Do;c7Ng z2)%C|KE&LQv+g#gx6Jc+HtlW4Et{x^?V8Bh?l@*%MSw%)0(D^a&4E1cOLlgK2qC!3 znf}Ejshhcr_W3!X->Cx4N-5N8uuKd%(8#tC=>h2F+?8!b6s&6df&@0jU{oxu8w8Ct8_UuXi=Z7Binm_dW(aDAILfe3#CE8t{KGIK~Akm`P*x){L2n=O&Z*Ix7 z3>bSXqAq&l@EDTpQkWPLp)%6^b7|GZqi7deDnj-~E$jt+QBJnSUlxT}YtjqE))|ZrGDor5NKEpL@i>6$m;Zxo6## z1r=UfLj^e7jZ~!+r#IKWf2+oQ0^tk-+Ns|;*xgF%qTQFqrmBdto8A1%DFDj=o)Gh+ z?hSrwQ_p+Kp-wZ8-ZX9Bjr8iP<5M%>n-u%Tufo?zr^_yQJYLrIRkzJeZ6F#eBNdy2 zzK~XXuqn{Uqlha`yqK=jq#xIOF-m3shk9u-SZj5g7F~h8Q)BEJk2zlZ0 zGmw~X#g_ba!?gD=*nA%s6}Dn39z3RgJKvF^nYt=64=)PXvW%8)4w?0Yd}P6SIDKi{Xen; zP|$H%1}{e*U3WH4(BK>Y>&UK#L|fEkk$5~AE-f6|#x_8%u(YWw5%T;DyHBulVc0k| zQium=uoRz#Vch%!zIVp*dl-c8Rqt(_Z4F&b>>ad!E7e-GUbn}#*1Y}YCCVI5)G&1@ug0IPvw$`L1T8&8I**n5c-5&fw$M$+(Eh zj~9LTYuB^UxN_e#6Wf%Y(ewhX@3yg&*l=Fp2gL;M-?f?A)4K~k+{W_|?ni4LqoXhu zG9vRRKK*J_<64*xM7K%>ur+*PpH(7qGOxd7SKqn(iavfE?Ej&HG{BX|afBYIYgORz z?eumTm)R6PsBo>?)F{r>-q#94q8=7or%~Ns*eJ(1Oeb?6muYR~gJ>G@w;E$vN$|o> ziVT zQd}6CDqQkpjQxb@y^O!J$3`%cC5hosT{Dx<%U;CENDeCBGI}=(4W}ESlZLR~(R83L zD<}&82PpdY&dy%}RpnXfvH<&Bt$YsG51hOOg3!8ZO0zgLz#?`RE(I1Sa zCi)I&!ybsnASc+EB}!zhpE2|t>Y*8bhTz|QKTIt=-^XfM$a2u?(YSdY#-q|QwGZz!`}W+r z>+{Q#&~(OE2~(^fhzdXYFrJyk(;!a^6THxJie`7nPuHX(6du_c3~ zUPM2F!;P~lO0r=8Z!UjiYRhQK0cw=|>BeKYMEjVU$q)OCYn>A&p z*vkQkjrPiz94z7}TiU5E&HqekF*XW&gObKT45r0Nq+eSnEGkW+Y}U03nk(4;txEU5 zQv0vlQ|x2X8>0d9GBjsn5b`VYHPpB#`^e2YZbZYpRzg1gxd>Bqo!id({BxY?Y-1C! zZ&H)UCqBwqsES&-f`cdna&>i`q(GMN+ht1p&U2#do;Q=m6{2dEU4asn;@Z4jgi6sdHd6?fz`@a(ZFqQD{>geqII z-+XLG^YU>FK$eH<3OEN)P!&fLnjb{>ReLh>l`&B)$35oQV2^!O_q=1_KQf^AZh{xo z)GfZOT-=J)=;8x*r(AQ(6)24uXtT`hSeudThqX{}AvJF1HMwHc2g99Su) eua@EqstMPV4v3{=n~^J&_z^G~!UO|<%D@*F;90x? literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Disappearing Ninja/jquery-3.1.1.js b/Aly_Hemani/JQuery/Disappearing Ninja/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/JQuery/Disappearing Ninja/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +

    +

    JQuery - assignment 1

    +
    + + + + + + + + +
    + +
    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Disappearing Ninja/ninja.js b/Aly_Hemani/JQuery/Disappearing Ninja/ninja.js new file mode 100644 index 0000000..8b1e972 --- /dev/null +++ b/Aly_Hemani/JQuery/Disappearing Ninja/ninja.js @@ -0,0 +1,9 @@ +$(document).ready(function(){ + + $("img").click(function(){ + $(this).hide(); + }); + $("button").click(function(){ + $("img").show(); + }); +}); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Disappearing Ninja/penguin.png b/Aly_Hemani/JQuery/Disappearing Ninja/penguin.png new file mode 100644 index 0000000000000000000000000000000000000000..87f655ba0a89e427018fb288cb23f07e6019ea38 GIT binary patch literal 222602 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 z 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%0DU6p)yphu^Z-FO**o{ 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 Srvv54<0vVr-7J(h_WM8DBO}59 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Hover Jquery/.DS_Store b/Aly_Hemani/JQuery/Hover Jquery/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6e63cf28912fbb9879c55b81e74616bb8e368cd2 GIT binary patch literal 6148 zcmeHKOHRW;41F#|q-DdB<(vS)0V+kMoPY~J6GQ_ktte%k6?fz`@H}HxM1e(EAV9Wc zzlmq;WL`dw0myV)o&iSyGOFTWMDvO0ylO`V=GiAo%<+g56xd)>R-M)E_>Bzcy&GYH z6`pZ}5BIMw=JjgM*+3QS(Lzq&D8S?u@^Y?YJ)(?T85VfL5_MVi%8|8l-03saEB*j$ zRJi98xW)r+dq$7B_iM%%yo&8Nb3`iKI0MdrGw=r(V9i#^4ima{2AlzBV8?)d9|Bb| zH*6BdPX|qG0fXW(BkAj8?^Y|1TJZS8DMYi*!j qQB`zZlW-TpK`g~wtEKpu8ioF#17dF2B&3JpKLU{kH_pJ1GVl)lA8WJ# literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Hover Jquery/hover.css b/Aly_Hemani/JQuery/Hover Jquery/hover.css new file mode 100644 index 0000000..8852f77 --- /dev/null +++ b/Aly_Hemani/JQuery/Hover Jquery/hover.css @@ -0,0 +1,11 @@ +#webber{ + width:970px; + height:auto; + overflow:hidden; + background-color:grey; +} +img{ + width:220px; + height:auto; + border:solid black; +} \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Hover Jquery/hover.html b/Aly_Hemani/JQuery/Hover Jquery/hover.html new file mode 100644 index 0000000..7850ae2 --- /dev/null +++ b/Aly_Hemani/JQuery/Hover Jquery/hover.html @@ -0,0 +1,18 @@ + + + + Hover In/Out + + + + + + +

    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Hover Jquery/hover.js b/Aly_Hemani/JQuery/Hover Jquery/hover.js new file mode 100644 index 0000000..b331ce1 --- /dev/null +++ b/Aly_Hemani/JQuery/Hover Jquery/hover.js @@ -0,0 +1,12 @@ +$(document).ready(function(){ + + $("img").hover(function(){ + var temp1= $(this).attr("src"); + var temp2= $(this).attr("alt-src"); + $(this).attr("src", temp2); + $(this).attr("alt-src", temp1); + }, function(){ + $(this).attr("src", temp1); + $(this).attr("alt-src", temp2); + }); +}); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Hover Jquery/jquery-3.1.1.js b/Aly_Hemani/JQuery/Hover Jquery/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/JQuery/Hover Jquery/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Ninja to Cat/cat.js b/Aly_Hemani/JQuery/Ninja to Cat/cat.js new file mode 100644 index 0000000..25d9917 --- /dev/null +++ b/Aly_Hemani/JQuery/Ninja to Cat/cat.js @@ -0,0 +1,9 @@ +$(document).ready(function(){ + + $("img").click(function(){ + var temp1 = $(this).attr("src"); + var temp2 = $(this).attr("data-alt-src"); + $(this).attr("src", temp2); + $(this).attr("data-alt-src", temp1); + }); +}); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Ninja to Cat/cat0.png b/Aly_Hemani/JQuery/Ninja to Cat/cat0.png new file mode 100755 index 0000000000000000000000000000000000000000..8745ad24b20eb04eb3d7271ab51bafd06eac6b86 GIT binary patch literal 13779 zcmWk!cR1VM8;w|@N@9G48WF3sReP5pM%5}pQJdI%RcljX)T%16)u>(7C{nAo#;QGH zkJgB`C~E!uKF@PM_j&H0_de%+&wI{^H_+3(Ny|uvj-bC>eJ!1+rF zo6kz;8yYtZZ#d%?(zPCz@ck!L-(8&0gSBccTJ+x{B(3B&P=~MIOZT1soz|bz-{b?g z>zi|{YYi;kR7N1_I+^KGg|IxUxzAh%yCuXZ0XQWpa5JdH;q_a^Jmr>yOFYB=0^4*> z90ON*t;OB9y3qhpx4C!kx-uA>rscC|Ke5q_CT8_FHCIdF75q42ANEWRk*Q%z8!M9O znN=CdX@A?HC|A4sc7&A@*5Q>bote7W&!6z_K`EKjwU#?`vzJFZdht1O2-R+L?V28S zNPS1Y$1kv4*=S(dsALT)d3QMh6X6cN{eh|FeSFlcY;s=;m)^zZ;ksB$%Y<~JrlzJx zPGIJNfcLPOYlS1D3_9>mz-|sz(58e?FLV3pkQby}U})*G6Tc?MQtx8BF&+tG zFTwBB1T^69rES&{mM8aXBd>S7jx;rP$2mnMkg$gk@`h}?4V-7bK$^al8 z!3JGcY%*!4l9!5+Ri_`g4c3gM0BlnZalT3g#b>|52o;Nw6;mHnt`aa9`ekSJyrh8$ z3=zNqfdB|}I<3Yp3sHAJpu|+^OQPsIw8m$6-#=U_+nZJ!dhXL4$m~>X z(a{fZm6L>O4|8A%3wEgUQXL446zeK>+%Meu!Gq*d!mTlmyDI)`Up> zRICu$e7gnSg4d*1&BknjEy%5Jr^ zhyVKV+bn5lkxMz)ccH9jtuMuE@ykQzUY`swKLe$s@XM$~mvulyVXO^>-g0pQT?~ev zPU{E8xh$31NX8M4DjdiAvwKJ(|lFQ05*2L7S{MkGB4{Cd(n1nIl9O8@s zKkk4;LO~pWXLxpqAly_+0-hjd*x@-9i}9`(IGWse7Cfu`{A9i27IpcS)4`my?s!?O zy|YU%2H}ZbrJ7Vstb!QXXe0@Xpw!1EdnP#h(jWCy?n05RQ0BY_IwVu>OQ3k+77Hbz9)k`;@ zNgu(Avmc85FzB`Q3JUglK7}LZrI4(w4y{kVvbG)7c-{X`fuOiyUJ{#Oa#7~u6!XR& z9KAL^Uba(ty8CPN1IWZd`{w&?!60)Y^FVwA2K)+S1Vd6&AOgI}sSRXgn53j&uU3Z7GXn= zh#4d3uyj-#`_u5axSI&}F>pQbpUkbwoEvhgHNVCz^+^D~8ai z!UExy;1!R9sgE@}Q53>))zfZBces%QEnPRq)9NNO2rHza(&SOLG3CM#U8V82xe{{? zAxjug6kvnqx7QGT{%g5&TqeKm;*!(o*&c5CYJH?F%->&9$7ozKB}Kp6dysuz;PKPC z*tOSlxL-$JAqN!}+~>O^7w59c3+aqVBqXQoYceJ&R@kJx5|s)dvv(H-!)38rWPbdB zH+yRP^tDu*=rSZ4RSJJ{-9KxR(aR(e5ww7u(}1I}Lxi5?Te`a?fZ<73I$dv6$+AuV z?j~TfnvT|!-ZMWmr~h7dBr6Z#gLVw4$ipcW>v`pUbP{hNJEMS=9LYQ|q!rK0uM7N3 z-wFdi#j0U9WilTjQwQzGRn_Z0A z{ugMt|CK!K-7Q9VFuKSBfBwX{005@Lu@2|@FM6ym37XuY{s*&L z$tn8d?)j2Br-~X_U+!C~?gm{0KheP+$G_(2dr1zHpA-3wcC?+Js?VrUqMls88!-t6 zjC>6grPL%p27n0j%cf*Cq*ahj^*N0MIbu@y$%G|}lR)TBtfI7|P_=t3fs}TRQqkc` zA`mS@6CLNjl%hQ&K+XcFZ7q{dao511;DxLNt${TMS^}M33O9E_ZeEQ{G=_s?cW-~6 z_~mp$_U~t}aBz;p=GGQ#m#CQ3vRH4d8j~H<_}yLssq4}+H+g0J|>HJ6o;=FMCY`c&Hu3HR%Whw251u_J5Edu#nL` zoQbF)!k8B!kw_pZ(WwckqfnEjl~cKXLZumSJGcP6lHHyow#Wrb?D@0U`a=0YLfJ1c zus;0R#op(o>kEB;akl^EqIu+M{ducM=~LzB+nuik_uRz_?)N>;>Y7Q(X=9Ck5u|K_ zi%a2>Nv%P_V+(4a`J9GV#%O_JkH53|vH(#=`PArm?Hcn+j5CWUf?ASVioyUQ zL`$3Q_~iJ)Rl>8^7Fy=QSTj$-tP0{OEpwX}=@xj3%AJqqZpRGO{e|=E9qxw3wZSnc@6ihC;rj2fg z!)+Q~SawBxg=>^ERWWp4n|9%o2*olNNNIMVHREe%oNd;Sc@QfEiAHNm3L-Ro(W=G5 zv@sFRBoq=!Y@JF#cXCL%-=O$w;6}814lqDTd|Na2t;LzY5#NYdT>j))xM+cPRY#{Yyu8^p?}kwABkA;jU}yo9=dTvKIFOAIH7WHto+To|k7W8l6E) zg(N_Z>4Vx&dq0P-`dP;a*xJb4tt63ZZ6=M?DTXGKp#5XS?8s~&835RXX`+R_s^Db61V#C>7%#}Crab9YavH8239I8nmn23it{0?$;$s28yj1^Bq{8-hPRp5 z$&4Q_1qTJlZKzi6GT*!m2imB?y#9^&76 zy3Gg2nLr>A_Y&HZWRbQlyahN4yvBVs+E2WuxW6+exbiy!H;j2*j736sY{Fme`-G zU;3ARn&tOmU_6Xb(eJ0}93#Fo{`_9PSVEmwtyAjYO;)FVklHsx`1JL6^!T>}TMk;= znfZAaBjB$i*CFP><73idE32Vk0?MU+CT=E1@*T4na*H{qxldqdlNk@bMSByT0}&^W zd-?_Yb{kiTs%YNKCF4-ZvK1@9dElSiZJ7mCLT+YUk_rSg-;3xvx~kysjKI!c1GGBhC$D~ zJ)E4p9#rFd&bt`Aj=O%HjJ;-1YI>k6p2Q-g*TeB7mtdCr(RH$F?lA5vKO}M-m01e? z`sRc4Hs}k{&^4R90|kTw(F@zvwXWu!2~$xft$G4IZaj4+A2$b(WiG;wb0oZaVQvHF z=^H?$xo_Ub%5@*f`R{mF6A_USIRxg}*6?-XIUKtcep<7mDZ}+36}SnEoT*yWZ+g>B+i-*Zw7Oqp7uBr zq*5FQOZCuEBog)jREwFfR2ib1Fb=TTO3dM{%x>vyqz{+_GJ4{vwURp(eRpMt)v#g> zIba~9h&I8kYi+rae*yqIjV>s`{x1LUmr56hJ&;Fh|skQWGbi*isu%!4NF}NId z=0{;AGP2)@78xmLcL-f$ksCFqoiHapM!D7COkgyfG!YoO4h}kI-R!ZaS)-#;42D&k z50M%&`jE0h*&FIq94 zk;B${a1o?@HEu1uw$7ZzHc{r{->|1`jIznGes;%LT%v{Cj;~h4oJe3cKn0(j!@!SO zx9UA^Q`q|lA&gcGwS|^5J17B=z8Zv+Kxsy5I%>R7rv%nH1|bp`@&IK09Gs8=w#O+gTNW$=@qQ$B)DYWk1ooc39;r0rkE}>09_7x_P?eXPdl-Gb zA#?fX{QUgJ@A4MML?oID8c)^hP?s6^KqlCU=9pgYr5F_W{qr8qtL=B5TilC8&%m`Q39rke zrN!slKMxun-8?rcxLV*2-%A1eC^4kH(-VL?-nLBI(ie%pE%4N9*lB3h_d);Y>zjrW z>;NbrTMjBtNktLV@?A1sNZ6(32g#%(x(@+SUDiOUCq?0gfNZIjA*39UeXW=t=aq+7XMM zdBF;d)=TBEU!u4L1~u(?$lGrl!G3=aC1kEE)QX+Y9x*7)J0$RY;l{{Jz0$$zfn|~q zu2iSHu(A^O-r;qwpV)pMk10wDfPljRs(|;nDR$Qy^j{ifDI{3NPX!=BW=bU(+y59< z{zaEx-S_8N*mtpB3>^XU1LbRAx9M>Khoc2bwf~clkoa`3yEq$wSUT3l-@+)JZ983V zh5sF?aC`m$i^WQd&AtI?D*Bh9^UvLM4H1PdCL<efsGBPHX1w{2#B1l?321a zB5@-R&%L*Ie`^Xgpg$m^X6}w5r%Ss0x-CazRBEkPYhDF2fEm|x?`~p>OtQ^7X%)K}J|YhIGneI3^}B`j~Hupp;o5u|(8TW~dGeg1Rl z{Dt-9Pg5no-_L`KJl^kZZc8(>^|r7NPHfo{)(jF=h71$kDrz-6lUz+(X^f*Q4N=Ak z$;A{r0HDtJdhw5C*M%6nkJ+&S?QAkRAAcUqc>O6G_GK#%oRSJ%3e0QtV{+s}=f{p2 zTS{$JCm0qvINr8cq&11tReE+>T6Zxv-P_rAOx(YZzp%c1(f;r3>K}u>>(%c4%aE&z zcdlDkzoxIo=DpgPno!3*!@ju!>fhw3lS#>dAHvO|4VXZ&2VcUs<`(mH7E@jl9&%1R zmf26*c9p@sJ(q@NKaCVP$0{t*D*HcSSf4C4;f0PKK*9nv)5_6RD0CHx&$G z0DyUcO+s?8?Fo$o)_1&jwt6TSmxbehH+(XznbLN!Cv$eRQL__Qy5S?R zS1s|kfy z&W^dm&gPfKqPEJr>aI+$PW0RV;pT(5lmm7uLW0GtN#|=w$&RyVUrFwk=eTfs!3^wuc^4) zLnYKikj8yNF){CBr6%k!8E~KO4hxq!GDwH6D~klE!j?87)6dfm{>#ItNJ}Lt8O&@z zMjYcLbP_peZX4JHs@Sc^6sfspLu9jBU-+a}QRI4!Q64-P2W3yFX{0JpQC)!d8O5 zN_Qy*tta$B^Bzp4FU&P39%Ct)VpKCpjMHTRRGNH@>XckJ9K2i^mKae!K2N-VE^~Dh zj>juLJHvktU)gH^Lw&Vb<<)w$SZ*EMR(HA;_M3IeEc_QKuHgC4aoiyH2_}P)bs*_C3%&c3>33NuDL{=N<4BG%RK?Jw()>y6Dx`h$9j$aUUC;2{-IKoEnZ! ze|B~*{v4pJe{i-tp2C%Hm0J+%|7a>`G4wd}YIiH_&s2l#ypI^CUyUn# zlRhHGlVq`W113i%;Rh;;_b7SdH;@)L`8-Q{cCgrN3SRZ?8x(sFSk;McsI|L5H<;9VW+*sc9Er~Pz$=YBzMLFk5Q*viT3ZZoSArB?V^>wf6kPI%}C zh4!oE#}4jzq!z&fn>cTko}n!y+Gjgn4pl8NEWej$Yygmqt`U8rJ47+|2;l!p3@#7P zGJA7(nMYbE7!c%OTK(p>uN^Iqs05{kU{DoqN-;x7qOT-TOGQ1N`~by74cU3qN)|0q zMD7g`EQtV*5&>kDywMHK^71~a{)m7eK4h{0vS_xFS$ACYpyyOL!dgKwcj&*!^TXXD zvj_6#wI)u9d96dPlf&|`w(#S3Jt1QyzsB|ysHX$V$CSQYfYYIktUJHwUR|7q3^RA+ zX4`iQ+n`N)K1JP;V6xLL+G*MFWy6%)s(xsrDQ7M3C2{JEe`=fQo|&iw6h`bEQOOOK zluiUFdrleAIt*_sCbOw!Z_|icTUjx#p3a&r9q)X5!|Q&d63pnl2~Doue`;mbcDzE} ze*B{S_@7(BnN0f?F8t5Z#rW0F@KfucpzE1@|Kk4TAuDMCAO38Is^{dz)%LM+%f*l8 ztz^$7xv&eP5yFG;Efzoy@xx|7Z+?LdSjnZ*hFK zE3P_zfH`%c8k?vU35JZRf@SW!t~B(%#nY(k&Nw!et6iGpn5&)t^d%4Wwt6+XABnWl zg97fBQRr-PO+Z1A{`jG2UNKEgfVPDM9|eqB-6yD+DzeK&)RuzIq1K#frP{^IGFXZUw?SH=p=3rsRcy1+Gxfho` zJ0nV=ZsBcrV}^}i(a})y+==oA)I3qoHZ0Lf5Z`!M@+z+CVCCBINJ&oSvQlD;9bg7- zrN7C3bd;EgO7davO-u}EACA4(BP#3`Tatyu={e?hga-J?dH$R1+34v}ul?AvuwD@; z#)g3_UVN3XK5Z_z*lIrtS3KKoSUMffxfZv#!goH0?YzSuXRW+3Rg$t8_6*rBWgsn{ zErsnA?B5&TQ9k`i&A@fOT^AxJ7T@2;!2PuLtXm}!CA1BrT}&^UpoP!3y@h>zax?y& z^yEi+ah>3n?;F*b+S?s=_43W;k6DonBo>`g*vqm!pM+P8cksqFlQ>4P1l2V04RIFW zCwW}`f47-s85<&-*m)VV<9DV$bET7k)hRTzNfFGugXtR}s@Q^OFB>gyF8;IYhd^p> zM~vWSJ4wUUd!w=`<7H?&WyP6WeQDWF#6Rb|O%pBc?d|v{`HJ!`c>iD}pAUv63JPZ< z?a%fuyBci&Ff1x4h57oNFZ?@tTadGN|GPUq#XJ}}A<*q2DkB+f-YV?*@8{vJ!xM&) zWJhA%wTZ*UX>F63GgO9lnP($U1OaRQ*M%kjf?Efu4rlodiorT&z@iY zZh!0keJlJt?%izoAMUGFoSSCFPv2pNeI@w^O8D@rFqDv)*r+T>jxhHL@7$8vNz0^s zv^!qD^R35M$=$y#*JDV*f$eGVP9G}Gd;y0w_N%6{v6&cFHV6%OFpVe>)-lyg6#>}% za4$Um^U$lBZ{x&Q5fQf`kQENp(aDJ{1KU#uhU2#l*8uPO;L}KKCC-!we^#c?ae;Cg zYi|PZ3dEY6#ZL-dvRuTOR==wS$n-6I&=!ST=*lE3gHX>Y9XKJrGV5Wjp?X;bwid;f zrmsH|XZs=b`o@z}{_o+@xH~yHt$%v5>&|&gK|ujvoKOnZ&(9URM#SZ8&y3_y*IHs* z3;uJ%?CJJiqlb}p=#p|sh;+e-p9qaHiy{EPg8qLNV67~rHqE$-gRAXd?=3HPs^IQ%$bgA@Px_;Ee#2?ux+d>fL!IK-7HB87&C>fnB zoT>zjxfK%wCbIF6VaXv+BV*DEqshTfrP?B)Pa#V2Fx7yd!kIu)KY=0;AYntWySQ`6it(3iz^JhyUZElZ&z#E&rk zA>a=RH&j+VeUZTbNHosSMq+l8^lk{Tv|#YT)&o4C-Gt$Q6c5U3w-J{-JApx=hFz`Q~7*6`Tx)6yA`oLQ_1KxPkGXMCDT48)((JJV6H0%EL=f)J<#EqoMv$hereUZ$I62Z5xABs>0zHPWx zj<0HD78T{J+W%&6p_Icm#_zXYU7jf)zqy~FwR|WT{-^xx1%BLkD={z7DFuD7_BwG$ zc8|ny-s^SFNIN_ioOX_@3)>^@Da4ElFb>J#HNCLU{+zh`fTruLm6bymq$9!qY%RA9 z+;KeSGF)4%!j7up^BkM<&cl~fdG+U7W(25OvPSZUnx11Xwvq4qA?IyTp+u6 zuRx;*ez*ERa+zOmt%FOsrTM+C37$mC?#G6PhH-+Xlce-F{RdZo8*)03VB3fRTJ(@?^>EsHXpj*b+%K~jX*tUJlMb7 z!waV9v3@IWJKH=fc>a6xcq#nqk@dgtr>8$PxvvL_zi0ZyCLf=`%WKILFXLI;`?GlD zY&u!#csH@?+tAs5sCRH+vsDe3(z&e7bfd>Wm*mEdCSHu<%_@oFgN(JbPGrUAKuM1XC>WJ@>@;jSLt-W1>ZxF`r6VG0!IJ$pHpm2Ki_|aK7{g0Q_UG*%6o{ zqFYSZumZP-6^K18=8R*3S>Xdcgw=*k`d-nIv!GC$GbNH6Uoi>_H!60rHW~EqZzlT7 zZGXtr`jn3xF;NrI?W$K7ykB~_Ch1;6+X6XkcD1})j1^+MJ++PDvG9>W8FbhIUD3%A zPrC{59x;7F63xdZ2&^1IPv7;Vhu^1oG(Xq!I^)Hh<=u?`zY5a!FYfBEpjGJJx&QN% z--D+Qmp89aa7LLaa;g6j28-Pxsx7wt1v8GzaLBnT_Dmx25uUR&fJ4_H`0hlvszysUf`E;yLY!d zB7Xm=e&yrjR6alytsx&KzqNdLa_-)0CFTcc3iH?>nB^Co79WPNHq5Tv842;e>U^Du zb9l1hYjy|16AaVmX?a;~J~`+#74DL^txsWCYIPr~} zXXYlpSP0B06>rE;sVbsAWCT|6N<^6WdDwYJLxExv5~5-aEg)APl=r7qJ2Jd8&e0j# z`3gLs5*$TkX3w69(w~q>jiiDBVr#bg$ZX~TC~sc_f1vlt zW4B%x1%+j*WLrF5LHv!m{rsmyGp>JYg5`Gy2`QxT5Z|yV|45za|0<<=o1TjJ4dVtk zHu$sL-VC|kHcB?8&=A;ep(4$R94^vWcs zKtLS#8R(M4ZCY^h-`&KSsbq_Uk$KWc+i%vy#Li7Q%V&lg|q$eXY*h?_u7C+(Or?Ct&!b)MI{$(867``7SFH|HlRVI*HD{oNc8F5 zWOg5yIcF=^dpiN7GcF;rtmY}&%EqG<&$lgkg8Z9cAQcrL=#Q(8iW{UJ+A-Ph;^r#D z1lU}jzXIP5v@DN_?ng^hJa=G9yAH;&J*=r@_GSQ(!2pbau1uz@teYpo(*UxQzr?^P zMnGd@yImB(20?g1eP%wjf8AVxlTmCY}I`yCK)ERczcZvb<6~Zc7)9C8>4vPHuBvy=$X4-d zSCN2fL$`Z8-W4d6+fZq${mkG0M$X61=9#+xPFfY#J`BjoSkARKvdY$)I#D1*st#VoyW;w< znIjW6o?pYvI)97qz%#gQfGQag+fC4Wg0vjUB_r;--Yh_LEk)9HhadM^-@E9G-n_!C zrKnQWVR_YsAyO6JP;-IOI%`Mo+;S2VMSQuwO+DbwHk7gO_}4IgfGV)R6}H__$1*+= zx^m;kueVF*Q$4dAl7IQXnYNuf(uRcjDtb;~o&^WX-E@;N+=y=PZuqlx&jJ6-E=eqm%uhoLoan{#?f!8kmr8=Fo#pN?uoj(Vj58ADg76Wby znom|Zd(QP&BaEw{g_!K0f($aVQ$`mLdryK?k)Kz7bqSd@eUzM8I)z_e74@?y0gHtz zP2jf;4ULlD5^8NP;p%L8JSLoK2f-KJJAa2EdBe?KpUHZ1AjGE9{&(%WJx z!}b@6ZTsIcm~8D#Aeu>H?>)mGtJo)%>hO$C+1!A^?J9XFq(&TpFiAmwas-`4l{6%h zU7|drqr`>1q9<276Rav#gEQ0#p7ECeP*uDceS{KnyfYKcB$iGNW&Dt+Hbc+2nQC`Z zf5%>#Htn9T&Cyl)8#fEjb?M?za&&A-2@#j)U=-NQXgU~tbanM8_fJ608>II7LPXm- zSw`R<&c4n=@t17^Wz_gh|6`Q`rlT=oddv#fW;cy&S`{dgJ+j55PD=3n*M9iv*7@n7 zw^#Y;yKrkx(%;vMmR43u3!Kt&W1hF_2cnLT&w_KmuDS-jaR|uaa{e>wDM7bA?z2(r zl#F6U(2oPczull?$1Hp~vbS~`rA8Tcw$h}63 zOh>cKk61Shh$2T`6~1091wdl77{zS8n+#Sp-n;AKD(R`fJsveLQebwv zc(#lE^0%>mSbckDi?RxlJ7V7UFKd*zu35jfmK6AQeD~=^@FVg34B(=y_A_4nm3Jkv z6~G7!GB`k!r_QZuQ-mn7oLUh`INv6rxda_*0z&_u`zk4AxJWka;1#N9NhV1~+TVGG zz4bh!*woi;^8w@#(C9m{CXO`jS40zx@>|C?kCldwNA@>c_d5X8Z{SM|2Ay^9qIj?V3t(CgReE_ z6)ayL$<+wLg-a2y^}*zh6zFy5lTTcI8RO`nv{+m7L7C|~Sx1OiA#IjS&J)1_hZfP| zIq?zb-!X=zwtwf=1!NQwybyo^T$R#Kk;ybmD=S_RX(%O`QrT0DWu-tbcV`d7b+ss> z7Bf-_6N!l>6su&r4z-)O2^vl!&sLHOrIUV{IX{_Q$uMR9>cKpO?IJ1DjzTtH?mQ*r zFJB6viXs+oA#2WDWA567tz9!L{?{ez8ECMzG27r|#hj+^H|r^q85{^p1bkilIdR;Y zl&Ix9m^deCiWb&8xfS>Te#y5KVz}x2xH+J>iyNxkkkE^iQcSjg`@KU)j`v$7rBOj# zSZ*>y`A&1?y75Fz$QTZLzt2(YnH*n`CdHjJex8%xw*L*6Wd)`iy2gKZT@+6O*lnl# zBQYRM2?>zobyGlE!Vac~bVd_&#u5}I>OiVlQ#fxy&$0d!1X(|zu++5zzWVsN#tp3p zzH5B@(;Zh@P`v;$$f2 zJK4JoD8Tz*ji$L7jD&970FG@;9?Z{QbjgbJM1GWuZJ0c*Z{5BKJb&$^_)}ceud67$ z!0G%ea9BrevLm9$HFA)?Ei%#8l(%-D-py>G)fhKkOfTkkBNedBRjKC?n)ykWLN<9^ z(JK6RkCUYgp9;k6k;@|u2PCCp5D3_G3r0Z&k9bkY%L}h3hf$I?vA zytkMP7!N?J%e^8$-W7{RVofc}dmscP9cO@gYr`u%LFjAa1Qd6#fEy*2)zNKE2k`h-}ixm!d% z-!$mBWh%fj6*#66F_PrrAP|&NC^9ZeM-;{It!DT#z$S-O8rBiOu0osT-tv1pbUICi z{Qm3o>Wjiw=HJV8hwFGaB7P);0b}0Z*B1}_Q$glW;|dKEqTd)M$Ej)m?E2<(X1X-A zcJbNz!u!RQcRlA|3v89Nx_Wdu>LuMZx>eMd`|n%Tw=b3^d#=xM+)j@^GnB9Go@A~R zoG)9xU*lX~(_9Lc*UFy|U(8!Se(_L20|4rbz7t`>>dOl*0dVDqL(A)Ht3Vos7B17P z;1!LP+&>1UtzSZZd(YIV*VWe26%S;Wh>#=xI*SW}PMX3r5Hd28WxBp5G)#JOQU*uy z*l%~WkTWWL+krwsL~ov?hf+Y)jbr>|88c`yL?|FHe%=E$QA!2#5d_C9w*$l=ijfA9 zD*%8ecm=FN7`1T^64eBvN;8yB54qoRavjT<-p}`&Q^YH0&ywuMnN0&t-@bio%2hw> zA-PIU>TN#X`c~KXyhTBzoF!NM1NMwta($lBHauDXOElrL8RxGB`p6Q}Du5#cZ(}xj zH)4n~emR%!eG5hM8gs4X_O!T&x=~c|&d-vZ+9h{s%na>+0LI_u6KXurv|CX$F=Zq$ zAEQd{2Pq!B%$fOgKqY$?2c;|zKPfQxGXlmo`E{D@HIG9zWjC-1LJ-wKHSqe07M`D^ z%(I<>6ip@RLF=|F&`8oUJvx~Txx!A?*?+spoblU6BEyr0x<15@&pAYrdb$E*TYG!> z>2E>&P@tIrihpIO$8%=alfKU^WvRXG^zWvpaz(SwoyztK%bZtNDUspnnMw~_u-y8? zzpD<;-7C+kiuQgBE-KzFTNTYze;P;31U})^;jy#Y(ojyon1_}Q-hOlsGa7JLHT3>H z1UTNz{sM_Cxr^@3z1GJTvMAX5h3eyYG~IZToW&pBfs{^AexRI)V9$s`wCth1$!+E! u8c*ue0$!PCj#nfBmr+hku9pF2XskIMF-sj2o*Ii^KEGw001BWNkl8`fj$?R%640=zyEbHw|(Xnu)6_=d0j+9ULO4YKpz&Qih%kOw|Ka!6S(S5C8y_tL-pF zG$aBzoGfIp_HB;Y-zU_wN0!+f`Nb z;Qsw5PoC^A_dk8|{{Nn+1F*WT3|R;y7w>)FMG*l& zGc2O$5D`U$8LyW&uAhihm6;7OxDYBYl2J&tBFHM)3L|=;lCybc)oh}u#>}XO%tS3Yvrsf=1RfuhQ_Uzf^`B~ex z)9Li`vKNv4{llj6>(%zHx8B;U*0cHY(bH$A7n{>n*QOAYrO`9M3}7_LAO9Nn1re{U z=z=41V3bl~W<)$+U8a;~^JPpaG?T9Da?Vh)55c*R(oly`H&X&J!)x=K8CZrt>4gS{ zU+&eyM%`}n>O<))V`opZc7 zI_7aJ**SN$5mKmiDWzyJ_I6#+mH)iD5qCDYNN%m9QO1vF4qL}Ut;n?S+sYTfO+ z-KJe#r2T{2DeAMwPu}^;+YyF!ze%V zLQ)m)DY!6fhly`Ut&|*ygW066*;P`^IoE4u1ay>DmC)3jb4A3|2$<09)vCr|_oMi6 z9o?>fqad&R9Ai=<@^uv@bzL{B`QV`1pG=*}v*#bB*zN7t&79_oU@`~^FjTGvj~p1u zR{(kFDRS-WLVeCDNixG6)wwD-pEEilGxeUy007XvTBHgT07PP@te7(}U>?v+5I6*7 zW~ekr1_1y;113RWPZT_lLHat%;?+GV7=i(qp&$sD6i5a|OA^hFXp932Qh7qcQb55B z+52ibUFwkTyb;1Ion3Z@{N`8Q!J48bM`g0Vw97Ur7IWFkrX9?1JPP)?bNo2o@XBV_ zOeM!O(uk_A`)=pG&ndfxyLMYu)poNIk*e~2mq#cjqLgzf#ZVQ&Ij35{6cI+`zFym( zY=t>zM2yK<=@7$1yS!uhAo6T<5=9B~x$9VaLNAr*GBG>m;1OW&s z579A~nCiODIU+*ew?qVBUEhvjyNEIK7`Dv-4J2hmgwgHLt`XvgSjdmHybQu&5_D zAcCkWdkP_tf`Wkof`O3=5Cf=~uxS$K2vJq>Dy$P2spirDn3+9+Fq#2e;Rm1rAb=Dw zGE{X0R|u&9YN%q8Wl${+Ow>rt%(4_#Q86IQVkwtyNGWR+b&k1qjQ-v`Z|&_L^<`KD zIy+xYm;1lc0FL^J?18}Cy}q5=R2SgshTsmd#0 zkXL?5S5WlIDFk$MUqrknIzLKO|46qMk*+J=K^EnrK7^bH1MK>Iak*s$_wJrRp4Og- zn8`WkLr^mVGs3!>Sk1d_1SSQ`IhUd_Mu#P149=TogsGWOCXwvD2QX&Fk#B;40%0H( zK?5nu3^ryYP>QN55h0S4#HLV+v4MI6bz^W55k^xHP(>m&C8Af31F8i~5Y%~sEQm&q z$23QZAtQ4@RhUd~-oE$FSN;@x*S9+w)Hy#}OsDh7UUTsL<;kPp{m%Jmce#muwxWImlH`LiD2` z_l4{H!uOcL5VIq<-u8=0gTCyx5eFq#*%Xk_GJ%2?MI>@NvTYyQ|H`v+k!dA&33c8xM)w#c1b`C9TWWjeZ4yUV570kMj*X5^J}Ei0A5R2 zz06+m%L~_oGqUZpP zKv@Mq#@J*gT39P}W`Y2yCQ{fG1i_4)H&8&cTtsqCiL{^!AUaRLL5W?ckZSL0z{r##0SKfhhuC83=I9L%?0A}{CnND^?&&(N$nW0)yLr`HdXo}=Y zgGg4c0Mr14HAf~eu)xfY0GT~8BL(NZ_uza6mo%9GF?et}4j=`KqOYKs0~CP5n5^`v zj|5EQAtz-LQiBB2u|<_+W(r7PhQh7^ATvX*0D=mr7yw#f2Ir{SZnyoe-LBVXt9Z8B zoUHT3dN@BFHr=p`<68v*O#y%i(cn5+haWQ1wbkj>s|ExFh^QineD&t>HPrDhag?ac z5Kw^t07yYcj359&P`C;%Xrnf#pIh`bB4R{nW+P~i@$2e^>n{RSQ+y4&erWYq5&*g^ zx?C1?%5yKPSlfPSO`W(Girps(V-fqhxnu&d2yBt#?w`6F53)yW>^93w=% z7HAFW^TZwr%&s{yA_5^Ak1~v2(}z)y0=!xaUNe|4a_Ap{83O~Ll!~O>cvn;{=13aZ za(4Us`-|nIo>fLTk^@zZF%E5CMEbs0Evo8>@%nn@euy~!TSkb8F7TC>$^cBr1az%) z8iI~=BIi7*rl}M|V0M6vR*1X-hyj|hi5uCRXi*i(Nma3sNK#K$5LhJl4zGxwsS?pB z8Xzzs1F`9d(N455PV4%BdEK|LZOd+x)~jx{>eel62W>kWG9ZFjd1VO(PyqZwvHXW} z69OK0+0^jLGHkDSI3Qn@KJc2ZUVSpMA%ZD_5xhbzKmy>`0@LSV&J0k;B-gH7U}WoN zqc2}CmI%$pFM3TV!`EQ&we_niAP>V(ITk|a92=MoRTbWR=j|J}j@cP|OHzo40Migr z%P4p|FrXiaC!g;yA|mjWt_nEH zGgsEKtD}Qxh5$y_w(;Jps+l?O%uGO3;5DfF{3}K!Os{^{kx~#Mu)De^5)o5XGXx&- zC4HgNP8IXLF8xa7|N%y7HAnL?iR&fslwmp_qDdqk~!z$b_UsUZ|u#;l$(h`8Q)C zMpsJFTtu=1)RH=sh#IqON6}t1I%FKrtBM&FU}jHh)7Y*Y%HGet3c$OQv|ePB?D7Q znMwL?Hwgt%#&IM*~W}pa) zQnVB>!VH>4i7DmM7aa@>*WB!5v(PXdjMjsIZ~AsXWC9X_422L4QA7v~?Mi+y5&WF= znZcF!jAjNSAOo}6tRjZlr0UujV_}96DnwMn@pwB&BBDAnHLL4-zBu&WKYM=aT~%!C zVaQU-bUN8z?jf=x-)`D2#gvDtu1YDB;0>e+4#15?FA+&8Z8jV5&df?yB4=9gN@}@E zhDT}c4@qVKpp+!+bu^=ib5u{7{evSU$*CQ>zLY}bRu`=T7o*LtZTq<0?&2UZjS8PO zK2)BFv#wwDXG`gYw68;wUkRXLliP2G8j+%)rl14D=l10DT-t&NlQk)9`I_p=6JU&)2|!Vi@QOPl5MK8;eK8k75Ha&qRA;lwC05eUbo=jgpd*&-QpG}x?I;l=ipU#_Jgw)8)q!sgEOc*!- zs5xd;6)Q{)K`4qkBq7K!L<>2$G3M23J@m2bcYWWl+wHpTa>1@0f~$sY3&kcL>ngM{ z0Rw@Aikqr(&M#;4;2j{DVV@$RB}aWpCh*pSd)`;=c2m^azU=MK?mxIUpH>HpML8I@ zmuG}H#9qy-L;$D*?a!x^$)pT@N~sC-{K;oO^%Gw`Ie9*>-FCNSR~gxCSv3{yFB&sg ztHNxuE=pR(6l<<4l6UUkX2z}?0>N&(zH#FQlV|U{=i4c}u$Zc9jyg#6;3#m+f=FgS zLpl zA{i_=BMWuqYbF9Kkf9({zy_#5CQyvUgHr~oD`f{j>PV`Hrhp}NMIB+CLg*bqel zC=PiThLe+*mzS5j?RwYs>-Fa3*^A4|b%}*gUEtZI&MHWP2=m2kKA#762L}gT*RjJY zOxw1dYE??=QCv0v+M6{%9Qy&BGlS*c!8`B1n__=_d=nK)^zoNC9=8v2C}(RWF`BnavhpvhCyXjRiX@TE6=J z`|Wo9z3+YR;(WK5bJwmBI2CEC(6+n1qj^iYwG_##^(iw036kX;FE{I5+fAnX^Vy<6vtFeKZ-4Ed{qx^;F|Hk0 ziCfHxP?(s+RCR2SLwl9Qc?LB^$_7b9Bu7O78;pu#+pXKp_VRqyw%u;G8~T(|>AM_< zG;L;m+0dxz)>we+s&sGMR~~NKS(|)|`^3>C0i0uqO)agJqO>=kWIF(}(we?iaS_a_{DWbT7J+ z_Vy?5z4x|CMx~SIFNtxz+V0J#hqrGW9vz&YoYeL7C%^jh>-FXNi|6mZbC1c+UcQVm zHudD`$;H6}- zlYw;m`}M-t(@AxBxNk`PFl;eTmeW82rGN0?t=$k));d%nG>ge%y;{W>C+&1GUp{^I z_{PmU_wF7Ku}2unu>0h@AC}ZT`s{ICP3y`J!?3rQpPigkRWu|v*{*{->f#P zX*fJQbRMU(NxQvtY%H)`Ohxl@vG?_V@r@e?H@^Sr<3IOHzfh71=F7{=_rLny`tqXf zyNip9JNIsH*DK9KN*w|1+O;Q3UF(4N_Ycm`cVg=q)|KQG>@4oT&`)|B_dA?Zg=c0!PH|l2c`0{JjcmCeUrdB1mx6fu>pj0}>JgGZ2Z0nhDq_K}ms9G({N(9g=ptvfZWCYSnGq zVY@5EhIRmr2s)iqjfYUVgT?f4!qY0mzIUL@`E)XwIHK4O)iguV=g(huJ)FKgPf4G@ zI2V!qy+d{K=tv9~;!M6?%j$@2WG)8NW zaJau;cAMbq=g*(N@y7jKyEU`EZ_V`0Hy=1|mPa=i%h@mtuBvX_*#F)~pS<%E?+)z{ zs^((7A+mW>Z?@~jbh2E`bBVM0VtaXRghiyT!!QhuZ@NtzIRkhkm(=pB!5sre1OgTN zg5>r`Q{F5#oz|;O>s?({wW<~oRWSr)c2(^RtEMg)LU3l{z%>Y5`7p1Xx4LmjQeD@| zSik^{ps0c)PlU`NXWO>1SnZlgsAh{>55D@dfAN3&`~T>F_#gl0LBUO$i?;WkvuF`R zCRI(ARP?&==L(pwJfLG&SvJi%AWA8$RB|TES)&?dPAqIO6$>ev6dwBA_ocnub=xGn zScV*9E~?0B6EOK|%B7T>w{Gv^bI^zPju-F$#M>W#+^ttHopXDOrr_yFc~D%Ztl<4~}16p5MH6>+*bqTz~M* zKiFIBt#`XO_K)`#^CyoV6H)9=i$o$iTrMW{EP$(nk1>Dr=_grtMBpn5=yzRCMT?BH zTneCotY6YBDL`XaA0i_VvMZ9Zz{N!;g%SJ^dykPo&8)DK3Ynb5Y$5tdD3C!iv-34N z!f7)DMnGgA`pq^ROjDN0q%s3^4U*fmZA!e@J6hbhJ6Yb^_2qB;&A<1%AAWLn*=7SF zl0G3hFh&JXDI$c4EvShUk?090!872^qZF!BFwACkH+1hEzj5>CP2;kEYdK#W_)tv`4ixyq-~aftN6&|L zkOErFIY$O(FHVRcxL{`UMYUNEZ@+tYv)MFc-s5(6Iiz@SIE`5TS7yBdPgNX;{n`hn-%2@6q=^{^!5*`1${FxshUk?D|*;0oj*Q z#-g-HHX)+i#Y5X5OuybVkyx`K@>o9&PIgbfwZKA42qh;%&;3`pYpEj z+g+ct3@HyoiZPZk6%zjn0012*NklU_6am7L0>r|aF2rBErN z0LUDHw>t}yx^0Jd-@LWkZaXL{SWg|2J7298U8vl8)k%uK_=|t)ayJ~>%;ZG8Ov^!eBS;L}eY zcC8{n?J1izm2Qk z?%)0Ox8C~dd~b30jXhUam)q{>#&I{4PadCr@Xg=+=#z)L2uZ8y|Bn`$v0Osy>!(h$W`y&(Dqy=UTY$^Kx%L#=dE)&1Qo@Kl?L3 z`Tb9y?6whry!WT4rw5CsA7t-fd2l$(Fx-Fhex`EwjRzlp_S?Vr`yYM(d(X~J)>6O& z&gULb-hA_zh^ne-`!464hL}^?Zu=q}dr8Cd2e)rD1hZ*{WOd`vX^N0z-^JJ^5pZ|~ z3GnbrW+T_Q!V~ zJbQle7yh+>>%aZ)|K?x*5B@!<@U!PHZrr^0-~ElheYs6t1at`O1Sm>!%|wO{On_X< zg2196VuW1-nG z0CLXx-~M<0&6~Ftx9{$?+eZdqm>xfV+0@gmv~>uK*6z|bfA8Dxf8{>9gX5!PF-qm~ z-o1NIo}PGL&FA54I8SM4Cbfbh>+*2EcVpi-^{soivuQu%b(n0o|QS93!EhoBj9R1q5+){V?i3o6kt=+?n^zWdqvY4`Hw%f2g26@o4I zmR02ycYfk;-oBZ&+<)tBsw*#Uy@|i^fBnBt9$!KMPh1CT8om3*4dUEPra9rQ8~2_( z{|rFuSyj2};@rnUyPX;0(De6 zp~bF$`C^z%>#DA~a#_*T4Fec86za?NVzK|AZsssO{#X8ufBjefv;XqFtbBf5GZ0*^fsS50;Vie_S94$wfG;H(IlGTMW?2Ya(-(u9eV z*>qy5I3K14piV&$kj(&q#%3*5RWJieStI14IwXz-a@3rQjXi$Ah&&bpIItEY<`Pp( zMHB%j6>K|6;tBvDhTxBmCevB<;K74i$M+sSeS)Mu_@DmSpa0%WiPNNhv-AQM6H~HKiZa>j==$$k00` z0?me+mdom`2gi4gZ+J2&$)kErS_XCEsG2AOY9XZHrwRx~&}wDP$%q!@W|pZhoQe*` zVlI75agcU5#GJ0@`W;f2vk4Z>F-FN&6dHP zK^}qhB4vA2~hn(}1$0tAW{!i}hHxC~^-TOL!-}N~z>q#)*OdBG4|0ljOpB+4Y^t9ssqi;WQ&X-I~g~;an&ElZB zYDC=*IrtJNG|(cIxZ-y?gI( zSG(`OSbys~AN|e;-@0+@Xx+BmkcYf6GXRH(ND#9Dssf>c0i|4+9a^!m@q*C=kO9@4 zb1KOJAi?p%z5CXKKmE0@O_vQKK#9TA#p%Y_Wug$g#0mdRF=bW>|lwurqZ7K=KD#t$1(SE3FXgpT4>0&uu zE@wm(6VyI@>s#O3+iQlt5P>R~KyXep?k%R?Gj7wSEkvY-ckew|ZBA|-AODNTAO7^u z{LJao=lhH0*~MD2OlM6|yLIdK;&4$-{4k`FwU45ZzyImOlGS+zDHKpy&8(TuQ!W?h z7l!a({pzn)-Yph;yX`K7(00Ra7a35>aOe0YN=)rKm7D~kXe^cui=qQ}RdB$03vuOlg7RM#_`P?2XEiKv6xhc z%Z4WvI|QZNx1CohF_#VmRf}kLhzKU5$BU^MDiC|;iPh1N1Bf&9fUaaMqA{x!&QLF38x4-?}dSc#HRpsZ4>G=!SbsdodfPOdV#8s1q*)e-2 z|M=-iPH=gC{^;>DU)5REG5D*8>?Ds?q=d?q49=zLbh+Jb?;P*%b~_?pBnA&R4;FWB z?X{cL{W~}MAu92vix=B=DAuKd!dZ$M8u8d*2v;Lt_Qf-Hs8_CHY6g{ehlhL4*9DtC zR~h|gtKalYWlakRYAcM zGz7PfmN$tSz6*HL=T&+}1MJk8;^V#vu zL%>AHj~+caIomE4i^U>r)(H^E@p>EU09?7++tH21-u`mCT{F12-gxFNm7K~qzVXdp z{+EA26+&>Ie){o?le3gkiNeH$-?`(sw40Z=ZY;@eG81pbl$s*ZAKOc5Ca_mqOCPPz72|!H5B`u|xAPKr`JQM|Vh9IRkV3C}2jxi0x zAX!u26&)TP93LO=wvX6( zQx$<>0LfkD841j6*Y-^_F#rQ$gsvMt`~Jh*cMk90zjt_e`26JA&;0D4`M>|sKRY_y z@460{nx^{pcRqaZ_JcR3^G(|_`DZVlJ%0SOu4hRV5s)Zn$(btWt*C&QYKr~d-fT!c zkj${U)Oa%Y|T{URpFixM$z$yXLP@8Oji+r2^?cx z*S>1L_x*>fi;X#-l>1^%p@!bQA^6SrBd)wqnZ zh*HUvGa*jNvzQb0Mm0JadgxOca>-e)nJ}Y6ry+!rqj#i2MT&}z&ww*2)uidyZSAO! z;)C06x;T{QXD7bquN>Z~C(Ao`@2}VG)2B~&Z8m{v9dgcUK&~G8Y|yH?%{HE04wE`G zwcG5vw$BRG%%;zuy<9A(YGuA?o<97nu4?w~?!CK&S#s%jZOOUq`t`;7@_f_xJune7 zkt=y9IatXa0YS4A0wo4jNvX7byIQR#vpUD&YhU|G1*t>m`slq4DQ?@i?b5dIhhjyk zh^Yv$`{Boge7S^*V@yzUh&jiT-B!#0*V&oOUiBgYxY zKoW@uoQDtce%N^xY};JM~@z*n7{JXd+Y7R@tsA#-qtDbK6K|48AJ`Q)aCKKp_yqI5qma3&#DTSHUxYk-LtAL1% zPV`&Yh?(n%TT#{J(E%CbzI@~BZ@hAHe13jOAyqj&-S$9e=0x<-haaCld;Z|TgNF|v zx_z{|-a3Vll9{n$6*m?P>F@vHA46)YC?a%Se|@!{PqQ`pC*S-2FaGUU=k-jqv~9!6 zgeF?iXE}woX%f=v>Utdmu24LtiMze#b*EDNfAfm6Q4RzWeR% zW;Ybs?uLWK;k)nsmt)u$sfGrKgjLwhzybd!W(dDXD+}O($lU|bbUL-HW)NE~Dg+HP zk61l*1_}s94lhMP4H3|7(&naVBGPm*fBg8VfzFzkQb5;zw+Re|J7f{J7-=@2I4Dx% z0JX?8j5_{w-p;49nJNRCnWQ$bNDUPq^H^24G7HTs^a@< z0=Qk<=6dIT7IK;{7Dc4%I_5D+tz(~ma(sMxdOn%XxvzjwhI;nN^FRB^5B~F)zZCX^ z+RtY@T0s>%GJXg?(4_MI`?-yv5%`6dDNtU=RQhAV&%W(anZI zJ($Oa!X&nkX_O_a%EnzxZ&HA_{G5Qn%n&>#YXat+f@=VnFWQvCv`K||SNmv*REdx* zqJ{llLWB@Sq9rmE3f5#R-LMKFJ^~#z!R5bhbQPPFU)C&GY&Ei; zi^Y7o=>{zWQLI$}?ELC#-(zET znXlLD`DC{5H;2nvlW4c=yRMrqmN7Q&etmtN@}%DnrUZoM3J6Fr_WLQ2nVCC`Xgu&l z2|>l|_;CL4;UAuyyz=&UEvCti3kvLY{Ycn$|`sp6m|R5Ga#l-%5A0?X#Ct->!gj->2$x}7l2PTt9w%- zjyWI@wz&a}?q=>82?=v<+je@eIGoK6OfjVdh!k-`5z!2^2$RO~8HkswB2sIuXpUex zghqjynW3Uo5v}4w<=XX9s)?w8iP)|9F_HppB-R0#tHbCZu~Mr@njS3{IUY`0E_Hse ze0sVmETch+6>KcjgQ|zq^UK9zu~^J=j%IpvG|M?ZKYRA-tFNlyX0t{$Q$P$|*MIoo zhj;FrbeqlT^QW&rcPijENIBbCq4UC!#S!>JF>xwW&Hno1h=8AxX0~q#R;a;h18G zNEAbY!^6YLWYV_nVmb?yF*QI)iHN{V(6tGXESMRXh97?aJKZ3q$WVkUGpl0|C&Xxu zNU5^bQZ}1yt;|(bq*gI8Fc)DFW@eKrQbme`=|~h1edYM@V7c6`uI7`8F>kipfBKhy zfAZ|QSE#I2!GM6s9on{yxkVsEEOl`7#eCi*+-%lA{>hJWPPs|B$=4U_Cgl`iv6v0} z?%w_Tzx>sIfa-&DlGGzkYAE-VH@YV&gDyZrZ});Qt$V z`ep79L`Z}&B7uNtKqNv0R0A;()mp2L={h$eG5{jVO%vly4vv{iDWeq2tRVyd6j7pJ zVj;vp1a6st&~uI{#Ym)F7j2$S@?zFt4vWP+=RBLtV{US6C})TPbAS*O+`&^!XjE$f zMEvW&`71DW>D}t2iPK41%%@E|&CP@;D!8!seSdwuE>*aiI0$>G;tE=I7zSY;h8>tx zEo_4dDjQgBgJ*JrB18Y(x4$W(zj^fR(bLnjRdGk91Q=Nr2|~cCjtC)OZlamZW|R3e z-MMo#pU>yZ#V1dnKl=Fb_F|h8x!Y@Bx%1{X9z1#cXfd0%5!dTZ1&v~snrnVC6Ljls0hMQwi@{c z_$ln<)4%8l01=eX@62d9%}4WQ)`pJekegW{#o7rU66= z=&>AUlYd#DiB#hwV#;jb7t4gg!)SVSs6d0r`*UHRj zu4c?EW+EW0!Ew9Y5$N4J^Ebc#hH2P!dk-m1rm!ilU?YGN!OTV&FU92ORSXgLgMfM0 zpWeTZ+peBot|?3??Nd%M1%vqXlPmSfW~Uohm9XCr5NKanfok8YcZ=D)h=-h<&=gW` z)OldJyj~Y!cc0B>tJP}0Sk!*l^}GF0nvf8~ZofAVMoH}jVgi9i2lqHy`I2t2&#omg z#-?c!d7IKSH`NNej5nKzu&KJ~OZ<>=M@vND!EKah`QB09v~u22XA*M^$2tJT$Ny;#hK zVc&KAd^!^`qX9x3L;}X9$wkzWSk**LF(H*I*q6e?)f!`r)5&7k_uFl!s>T99n|hm! zWrG;i1t@^qSTb*aGXH;YzsJ@g1PTb~Hk7@V!3QhGh!7+7wK@V3sea0t!P`KMjeL+1zD%0NZg%ko0Db97-S;xMQKwhGbh7>p3W(bZ9ib`^>cQPG^+ zO*c)m?S5z`ae|>AYI|^?;N}((t82iB>cOa1m7zGBR7t@RAnv=KKoLtt&;}8cnTd#m z;O;S!vT&(Y*o~Ok0BR9tc4ZyAQ!ZepsyT*7AANA|?kio_9~~co+28&2Zx4=VKy>f^ z-PvNXDFUD&qOm*4$e%<+d}*~rL_l|UBx2^V=;oZ=L>ykS6Wl5a;O<~A2w*Rvc5mQS zU~v2Xh$tcg5Ge_>yQh@KD~DkSP2?k<%P5D8!MquZC*!TM)RVu(lp!Hocn2MQ5D zQ=1o)gT7<&0mKx{07p2Mqkf^c`FFe?kNyB~Fhh1^)h1v?tzwmRs3N9nFkK!{%CVUs zCHLTJRYg@@R76H3lao=vlw%ZSunIC5+blzy19PGfrSga{kW#g>RCQCSV(z6cA|kbj zNGWBkS6ph}cL-o+Z@u-_laC+$>$~qhc>T40SWTM{$c4Lx!o9=k@uC481~#CicEh^% zmr#(O`Qk)Whw^gM_cD^k z!hZjj_4D_!MjgD=F@d05dgGy)HU#kByzg?L Ty3I_n00000NkvXXu0mjf6(%vf literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Ninja to Cat/cat2.png b/Aly_Hemani/JQuery/Ninja to Cat/cat2.png new file mode 100755 index 0000000000000000000000000000000000000000..9c27876c10caf0fcf2193dc8757a1c4a69b067e8 GIT binary patch literal 15262 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 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Ninja to Cat/cat3.png b/Aly_Hemani/JQuery/Ninja to Cat/cat3.png new file mode 100755 index 0000000000000000000000000000000000000000..92b0c34e6ed6c08d6828bfbe9b3d81cac07a2202 GIT binary patch literal 16019 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

    +

    Add User

    +
    +
    + + + + + + + + + +
    First NameLast NameEmailPhone
    +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/JQuery/Users/user.js b/Aly_Hemani/JQuery/Users/user.js new file mode 100644 index 0000000..0d8fe09 --- /dev/null +++ b/Aly_Hemani/JQuery/Users/user.js @@ -0,0 +1,32 @@ +$(document).ready(function(){ + + $("form").submit(function(){ + var first_name = $('#first').val() + var last_name = $('#last').val() + var email = $('#email').val() + var phone = $('#phone').val() + console.log(first_name, last_name, email, phone); + var html_str = ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += ''; + html_str += '
    '; + html_str += first_name; + html_str += ''; + html_str += last_name; + html_str += ''; + html_str += email; + html_str += ''; + html_str += phone; + html_str += '
    '; + $("#formdata").append(html_str); + return false; + }); + +}) \ No newline at end of file diff --git a/Aly_Hemani/JQuery/colorclicker.html b/Aly_Hemani/JQuery/colorclicker.html new file mode 100644 index 0000000..90188a0 --- /dev/null +++ b/Aly_Hemani/JQuery/colorclicker.html @@ -0,0 +1,68 @@ + + + The Codingdojo ColorClicker! + + + + + +

    The Codingdojo ColorClicker!

    +
    + +
    + +
    +

    Rules

    +

    1. Clicking the big box should change background colors of both the small and large boxes!

    +

    2. Clicking the middle small box should change the color of the big box!

    +

    3. Clicking the left or right small box should change the color of that box's siblings

    + + \ No newline at end of file diff --git a/Aly_Hemani/JavaScript/.DS_Store b/Aly_Hemani/JavaScript/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..baaabcf03add9dee4efcb9af63d8c070e48869fb GIT binary patch literal 6148 zcmeHKL2KJE6qed-b(4$7RyNp0*Fg?RyR}!>%`SyPz@=rZBeP@E2pr4APQnNQA9mW$ z*xI$H{e&J$cim~1{gWN{o}`SF%use1Bj}l@?@4-3vOXipj}SuLVb~u~YCmG?SyWnja38yLJRRzkjn}oTWi50`T}5 zq%qI(M&k!vS*_f=zhQ*vyp}Z{MuE25e%_neheE`^Z9h2T z(YRwj+7n6c^CTL~g`OPqBot#;43jWB@zi+7Jj{C?d!s#wMiAQeljw+NJm4|U-&yPU zbnM5I$#%2OHn%pXbvD`AY1G;Ct?lX5es5V%pS{>Uc$H2+eEf8F{`una`bK>Y3a6Kp zhZ<+_6^s&g!mJwyupV?RafwfxURU(f*=XgSebH)#!yFFH?_aLIN&k{D`y#xfXWF~# z>?3cG#3DI`d1pk-y|OWvl>z;+t=h6K(5%ZaU>Nvo2Jn1fpoosfLZLi5ppYp5U Date: Sun, 5 Feb 2017 20:08:28 -0600 Subject: [PATCH 6/6] ajax assignments --- .DS_Store | Bin 8196 -> 8196 bytes Aly_Hemani/.DS_Store | Bin 8196 -> 10244 bytes Aly_Hemani/AJAX API/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/AJAX API/Pokedex/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/AJAX API/Pokedex/jquery-3.1.1.js | 10220 ++++++++++++++++++ Aly_Hemani/AJAX API/Pokedex/pokedex.css | 24 + Aly_Hemani/AJAX API/Pokedex/pokedex.html | 20 + Aly_Hemani/AJAX API/Pokedex/pokedex.js | 29 + Aly_Hemani/AJAX API/Weather/jquery-3.1.1.js | 10220 ++++++++++++++++++ Aly_Hemani/AJAX API/Weather/weather.css | 6 + Aly_Hemani/AJAX API/Weather/weather.html | 20 + Aly_Hemani/AJAX API/Weather/weather.js | 14 + Aly_Hemani/AJAX API/pokemon/.DS_Store | Bin 0 -> 6148 bytes Aly_Hemani/AJAX API/pokemon/jquery-3.1.1.js | 10220 ++++++++++++++++++ Aly_Hemani/AJAX API/pokemon/pokemon.html | 13 + Aly_Hemani/AJAX API/pokemon/pokemon.js | 8 + Aly_Hemani/JQuery/.DS_Store | Bin 10244 -> 12292 bytes Aly_Hemani/JavaScript/.DS_Store | Bin 6148 -> 8196 bytes Aly_Hemani/JavaScript/Java Basics/.DS_Store | Bin 0 -> 6148 bytes 19 files changed, 30794 insertions(+) create mode 100644 Aly_Hemani/AJAX API/.DS_Store create mode 100644 Aly_Hemani/AJAX API/Pokedex/.DS_Store create mode 100644 Aly_Hemani/AJAX API/Pokedex/jquery-3.1.1.js create mode 100644 Aly_Hemani/AJAX API/Pokedex/pokedex.css create mode 100644 Aly_Hemani/AJAX API/Pokedex/pokedex.html create mode 100644 Aly_Hemani/AJAX API/Pokedex/pokedex.js create mode 100644 Aly_Hemani/AJAX API/Weather/jquery-3.1.1.js create mode 100644 Aly_Hemani/AJAX API/Weather/weather.css create mode 100644 Aly_Hemani/AJAX API/Weather/weather.html create mode 100644 Aly_Hemani/AJAX API/Weather/weather.js create mode 100644 Aly_Hemani/AJAX API/pokemon/.DS_Store create mode 100644 Aly_Hemani/AJAX API/pokemon/jquery-3.1.1.js create mode 100644 Aly_Hemani/AJAX API/pokemon/pokemon.html create mode 100644 Aly_Hemani/AJAX API/pokemon/pokemon.js create mode 100644 Aly_Hemani/JavaScript/Java Basics/.DS_Store diff --git a/.DS_Store b/.DS_Store index 2f4eb79770a61f12b09d02c3f6374b3ee227ab6b..f6ac14e7597677c5611788d60e45f96e6180fb38 100644 GIT binary patch delta 66 zcmZp1XmOa}&&akhU^hP_+hju#2^r6v{N$vZ{3Hej1_2;;17ZyzX8ix3fdQmovx>la Q_RZ`P-&i)E6k%ru068%b;{X5v delta 35 rcmZp1XmOa}&&awlU^hP_>t+XmNU$O-YElTQDae@YEF$QPp|>o!C@&{JFCAzyFccV= z8Jrn{8G=D!faJk5KpD6PC-VptNuerW3_>WFTqID2E`0+@`j)_PHVZ=?1tY`B-ohS} z-wV!_Ml}o^oHKwr82|rgn7lz)5*T_v8D-EEft&}jAZega4M6nd0-0VRL>!W4>Eu$8!vKR*iu3>g delta 143 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAFAb6h@)-<+lk;;6HWp4}pV%P0 znVo}$gHd|2mQc~;Lqb`TLxguu=92K694#_;vySLb#?67^P0WJKK)pa9!3`u_L1u0& f{LVa?UnP(OXd=iahRN|fQzxGhcHGP*af}H7D<&T| diff --git a/Aly_Hemani/AJAX API/.DS_Store b/Aly_Hemani/AJAX API/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..04cb616e1303a451b33697be70ba5100207e9679 GIT binary patch literal 6148 zcmeHK&2G~`5T0!Vanp+tMIdp&SEL-07TT*x!x1TxQ6ofAuxqQfaJ-i7G@vM|51e=k z#9w&^q+Srb0T-7Qv>5SYqfDQl}7KXJ3Ru#hf zSy_@b*}|L&kKuv`FP(83JK>VGYETR)2L3e$*xIc_4=B9AwY#u>se?VgoHz{9tkwES z*4ArRuGY1U#wNS;YmH}?PsdhfXQQ-ZCr|lZ;ChbKdv@l}^v9HjbKQ0h0&hIfxAtk2 z*+Jwb3$BO#Aad!rLr0OD9$F$^KX5aDpx@{v-U+()?8rL^(!dGAAbX{4uxp^-oJ@Ax zO=Ej!d)hQ6dwZ>>ac^gLI@Mom+U>jdA3S;zPv5+I|Ka1Ov(I0@iN`?jtHtHI#2I`? zrNl~j+_sMBFrJw#TMTKp>yEM`fFI{c%I!)qhSa^lBK9vD<-|&&kVeNCpJiW%SU$TU zVpN%B!D1oHFK2gTmL-dMmMbhOvn<3|%Ce7dmkk;Ch)HFZ1&f6&&rjdVEK3&iELT`m zW?6_)%90Ori7NT_Ynzv7&T6WP0mZgW zL{nle5PMLFa77fZL>@7SaL0B-+L;n_fx;b#JbVy2GLa_~!bivW1~&&{3RJaXKrv8c zU|rnmZ2y0_`utyXQg@00#lU~X0I7AYZU?6%_tvG!vAx#7@*E2jW|s@(E?CL!m@8~6 ezJ-Mg_8Ck;G$rN&u?0o_2yhxyr5O0D4EzTA-pI)S literal 0 HcmV?d00001 diff --git a/Aly_Hemani/AJAX API/Pokedex/.DS_Store b/Aly_Hemani/AJAX API/Pokedex/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ef3ae4fcc8179252fffad4352b090b6cb0d9dd53 GIT binary patch literal 6148 zcmeHK%Sr=55Ukc5f)UKo;~c#hko>?BqTp43K#~Ze8&-`0z3m730sf6vPq)E+oCT#D zda7rqYaRtV4*)XTuFillfFWH`H0Uw?+}pJ0$pfO~KA!Q0Q%o@d`~DNAb3ej8p0LF& ze$HRlFk#E)vaFVivRW`xWxAlBd}d<=jPQsG4`i?CujDMT>9F2gtiulL4lh`vY>p;Z zE#5(g*O{Swv^cDWg#w{KC=d#S0y_nGW~&WHhEawBp+G3GQ$Y8JL{}^vYs0*Cu*gpU zqF$r3G1g16a*|`=SR1m1CPpP1Rs4w|M(6kBd4*$bXmp4_KEy}8|5Effd^{+R+Ym|xFlT$G=!o#p9So9H)mHO;FvpfPS- k0$9;~r@Cyoj0i35r&Hw-a literal 0 HcmV?d00001 diff --git a/Aly_Hemani/AJAX API/Pokedex/jquery-3.1.1.js b/Aly_Hemani/AJAX API/Pokedex/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/AJAX API/Pokedex/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +
    +

    Pokedex

    +
    + +
    + + \ No newline at end of file diff --git a/Aly_Hemani/AJAX API/Pokedex/pokedex.js b/Aly_Hemani/AJAX API/Pokedex/pokedex.js new file mode 100644 index 0000000..a9642b6 --- /dev/null +++ b/Aly_Hemani/AJAX API/Pokedex/pokedex.js @@ -0,0 +1,29 @@ +$(document).ready(function(){ + + for(i=1; i<152; i++){ + var img =(''); + $('#left').append(img); + } + + $('img').click(function(){ + var id=$(this).attr('id'); + $.get("http://pokeapi.co/api/v1/pokemon/"+id, function(res) { + console.log(res); + var information = '

    '+res.name+'

    '; + information += ''; + information += '
    Types
    '; + information += '

    '+res.types[0].name+'

    '; + information += '

    Height
    '; + information += res.height; + information += '
    Weight
    '; + information += res.weight; + $('#white').html(information); + + + + + }, "json"); + }); + + +}); \ No newline at end of file diff --git a/Aly_Hemani/AJAX API/Weather/jquery-3.1.1.js b/Aly_Hemani/AJAX API/Weather/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/AJAX API/Weather/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +
    +
    + + +
    +
    +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/AJAX API/Weather/weather.js b/Aly_Hemani/AJAX API/Weather/weather.js new file mode 100644 index 0000000..bafe325 --- /dev/null +++ b/Aly_Hemani/AJAX API/Weather/weather.js @@ -0,0 +1,14 @@ +$(document).ready(function(){ + + $('form').submit(function(){ + var city =$('#search').val(); + console.log(city); + $.get('http://api.openweathermap.org/data/2.5/weather?q='+city+'&&appid=8aaa642117a91c21f71c9d707060b5e0',function(res){ + console.log(res); + var result = '

    '+res.name+'

    '; + result += '

    '+(res.main.temp*9/5-459.67)+' ℉

    '; + $('#result').html(result); + }, 'json'); + return false; + }); +}); diff --git a/Aly_Hemani/AJAX API/pokemon/.DS_Store b/Aly_Hemani/AJAX API/pokemon/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5ca000518df11a8b6bc540f927e307d104435094 GIT binary patch literal 6148 zcmeHKOG*SW5PhYy7}SMJmpOsx0faD)C-4F?j^L-q5!8LJyrZYl_o|}UOmAE$B2|!j zmDDHc2b~W9n>{a&fqei|HlfKF5e<*Jwpy^zyv7P^+~W|}cp5467l*X=Jv?yTceujW z^{>z^Z@SAxw_Y%&uoGNApTunB9!KG3%gDqWxDp9m$i^_CEphP7cINDsv#l^Chko){MC z94{@dHtYi<9p*E$PMi7T@nSwZ$BT!1k;ICQ!uR8zF_{)qw@`oweO9qmG zf5w1K=I8SnKdPOr8=t4Mwy<5WNfg)1pwJ#%0@%?$a^TMJ7uk%f4f{Y<(YU7*^CIAc Kq)G;Ufq{3zg*0ja literal 0 HcmV?d00001 diff --git a/Aly_Hemani/AJAX API/pokemon/jquery-3.1.1.js b/Aly_Hemani/AJAX API/pokemon/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/AJAX API/pokemon/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +
    +
    + + \ No newline at end of file diff --git a/Aly_Hemani/AJAX API/pokemon/pokemon.js b/Aly_Hemani/AJAX API/pokemon/pokemon.js new file mode 100644 index 0000000..27d8c3f --- /dev/null +++ b/Aly_Hemani/AJAX API/pokemon/pokemon.js @@ -0,0 +1,8 @@ +$(document).ready(function(){ + + for(var i=1; i<152; i++){ + var pics = (''); + document.write(pics); + } + +}); \ No newline at end of file diff --git a/Aly_Hemani/JQuery/.DS_Store b/Aly_Hemani/JQuery/.DS_Store index 3bed695fde0a1732c4b7a0fe9e5935a70984a19f..74f127ac64785df468ac8b84be64774e15b7f2bf 100644 GIT binary patch literal 12292 zcmeHNYit!o6h5a=*rj`6%lnpzZCQ*CSnx-;F+22W$z1beFbr6vwLP|&Y9Uc z`_0ara~1%wt}k8*PzC@Jos6mqK#>d(ETJ1uV)g9IN@J)5>Aa3k%Buh-Y=;O0!2v6a z+b_7>G*Cnj#NOXnIu%$8dfNL7LOs1pC)#iKMhz=UJm;gmhHg6*6{oOh%-G^_<0W}Q z2|Lu%33s=4Tm7w0#Obr^B8koXPLFF*H{TL*x<~SDmSv>!k!ZWF^@r7|^_J;GbW=-s zM7MP4X58wpv--@qy`@#O*P+Lq?yx$oC7~rrv?XF{?YgZ;bwhV{N-{gb>db+G%4JpM z!RqRY!SdihO-)64a7p#D!9jJGB+a>gY3-Vgy@QXv`r7Mn?Ag2T$VW6dO30MK(iA~b z*JJ6O zOG7Rl5|oRQ3>PITMA0=dP>54`kg*dDxpYWSAr2_S0o|U_wNQ}vPI5uc4j2;Dzxo>R zHIS`=iBy!=_RC>N9C*&Q*<=<6|U#vMyohS6f#I%{TQr=#8H zFrKWc&P}$JaO$~WSXKLM?JkYl)RS5RwQP6l)Fl&CQI_^knmO;PYZp~4U4HvXwRG|n zWtuXhBgvc!hPI)f`5QJy?3iZ8b+c;|c_Bv(mBw2>iiWc;=9xE7bB1p+Go3qs6CNJ(B0st`F^vgbh+G(ab8rAambPrwUs z0N#Q3U>FX<5jX)S;cGYzXW>Wq3C_WJEW$BZjN@<$&c%5+9~WXZF2QA3gSTQMHsMNa z#&!ME{U`~Z*RXZSgOf#2X6bUi6W z?j8Y}-RE=(o~2AWbY0h0(W7~w+jK|Mbfx(+hVH3J46swDO`kE7BlzYO^(hc!ymv4D zIOGJTIMzn6#L=7%;90Zh%ni&}f+Oh2M9l_*s&=2m=7Ku@B*_dBJ71}jWfjCtS)fGzD**kJ z;Q1Ya^BnvJ7jQf(I18^PNLJv@7{Xd?AV}VUEw~Q#uxD=d>LQC-MAkQ;G6gs4&y;Qgop7{JRz`{g6OIYh<=$4QO~M+ zX!S3g*8|`lE47a1sLio*dSo-!%Jj$Z?|cpT8t^sXYrxlluYoIB12buG*}=g}1Q*jS zX=oz(GLI!asIsDH7arQ1c*l!YDpfBUT55S`dOO_Bobb<p8k+Ghi>w=o28G`%%g7s`{B*~VJbr(>|2u3$7N*y(_i|2O9U z|4(rFS6>6Z2ChgA;Mj)NhB_MBh~GSOlq}XBq;o5sEHS;h}hEL*Ue88Nr?GW`;TnM#e^y-!dsp{wL_Sd6oD>HbG{PH9*_BfrKl_1)BvqzB5ne c*KwTe&LhCV1aX|k+jq~o=iYb62jinM0HZpx4*@Y1x17cN~0k0o<8u1 z7LMU_wc|Ba%EUYB*?h|>HF?T}61IvO+8CfaA4vmkPBi!6I?)@bFXw9&m zP@@V5E|&w3TsrLM0(J#X2%F(HdQ9$;#HXc!8jS^Lk!h|e(ZeWZ7+{D#{|)Hr@Lvn~ zJWiSI0nvNb+R~IbWxSCj(Q9@)-pl+Lp@nm%>Z3z}J_5E>s&xP9l2khV)1^k*;Txh` zxFmx}9craYsq@%PTwxfdb@ozFkW$&G(+f!A^RCNNo*~duO7-)U7Mi%F1ebDVJ#3QG t(F>9%H*zvxOGy%+6+X=6a-QCa3>ydP+l;LBdUR1xit{FMh+Bmh^B4KTpr-%; delta 128 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50D9R3!2a72%I58wL6f@aLPZp*&#tk~$VZbBS69fH4m)3raC$9RH`hEQa z&iEArhO2(N?)q)VOwn{nJ$-LNOTOQ#AMlI~`knf>o%%LNG{HbH5DWwZ!NA@a;F&F% z9~nj)3 G0|Otc$1L0c literal 0 HcmV?d00001

    tTx3Yr2I;WC$cFuzXtT#LwHiyUy^1k$!MkU&&N$Y7y zq171ja16B4F86?Vn4zT3$E@BHp~AiCdWimV2qzz&&0mHI;SRE^?ln~za8t|l*ddji zGW-k6#dMv}gFk%5ox$^I+n8x_A* za;h3IcW;z2dTdjnv*|$rO(un0mkIg#Z-LyqV`6qqxW`M!zhl0YF7m;<1Fw;-(<%M#$;4NaCw=NqYm(NxRXN1w^BTA;) z#cIjL#vXPG-oaJ9PVo&@<25mu2GHwgJH{N|4yd? z$OB1mx$S-ejm{C_EHva^Z*Mhw;s+b$^7n^_=V1DfccrVo)y##&XLofQfTBFeZk)F&)J#1A>C9VMCfA z;~#5mPw#hec$sg!1)k6LAL+sD6i}WfRW#i(=2t%Dn02z1f@HD_wMn~X;=KozsCR!tWc9wc5yJsOj)t9(3v8kUz#FDP+ zc~ps)azUP1C=6J#G;OPgot>Sq_$>1EMUf(H=DTeAhXh|%*dgOkgAKRRUro-ve>21z z-SR3q8MjuV4jIgEX)j3VDE$0AL8!6<0feMr8-9Nf_rGx;*ZSJ5bXxLek|9v(J^nQp z&$}8e*d+eQ%7yWf~1O73f6b1-^S$ z@tC>9>Ka-P*^qz=A+cM*p`o4qF`W`q8lqGW^Q=^2-{s}!Bf~k_U#3vraMAza*}9>6 zk-;3t$DlbP7+4fR^YfSn_I?-rt?l&{(D&-s89o{uPj&oKfTCJD%wYWhwx>_;cdIqx zyNkz31S}SJNYrsWJv!lAJYA1DmspBC*+$3|tzFg2bq+w!IOucy8trEEkGcr$K_`o< z_Hx@?0oln>r!mNC4@)d=wO73cV}Avj(MqIP24y-WIm@IKrXywR0BTInXUBA>BPK2J=VmT(qbF^b)ev!(P_vj@rM>Q~0i%coNjPoYhjX=faW>`QYM5tVtvA4OTs zb38jPoQnKC_MHYq>^~d#7r*q8)Vj=j9imWPG7>D(}<)yZ4O>^H;?tdD)-G zly2!7rifI(&#~D&*vP^M9z?ro0RAHGk%reE>-q#8X1V4uNiKZg9O6H2V1cm{<9^JO zwX;#?zv!-^RN_0I@Ni}s@G=P9vJaJ#F%;@){_Xo8Yk+!B4|3$PV{dw~HzLohi?Bt; z%wHVwoljZDP`2hnGVcc}Pq^n3E9I@4jLebnyE)&*V~sr{P|u#~uK1$=)6;IFG7ma< zTsVJ*B?OB(OQ1f!xiTqhoE*?=cb5Y|>>5!-e6pi^O07~fK4$j`o#bzAX=VBX?U1Hx zD7qzI#@(2=`Yo4&=*X;v4Ry83_jgAGDM!r=c#_5jfyCo;thu*5^SsS#T{HbhLeN$V z!56-#4J>>Fyh2Me0a=0F>#4Wl$@)BI#!&{?H~SZ@FsHnh25d)rT2A`I_1yD6X~?z^ uiT0B8fLL^s&ez3^ZK=PDjgO`;XdHX@rVnRc-?(fj2k2=V!y4~9#s3ckhDuui literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Ninja to Cat/cat4.png b/Aly_Hemani/JQuery/Ninja to Cat/cat4.png new file mode 100755 index 0000000000000000000000000000000000000000..b99ba1068e50dc8783c6f37428c1bec0873112ab GIT binary patch literal 16154 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 literal 0 HcmV?d00001 diff --git a/Aly_Hemani/JQuery/Ninja to Cat/jquery-3.1.1.js b/Aly_Hemani/JQuery/Ninja to Cat/jquery-3.1.1.js new file mode 100644 index 0000000..072e308 --- /dev/null +++ b/Aly_Hemani/JQuery/Ninja to Cat/jquery-3.1.1.js @@ -0,0 +1,10220 @@ +/*! + * jQuery JavaScript Library v3.1.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-09-22T22:30Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + 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; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +

{sU;#EgxYor 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ⅆvuQwhdnBOC$(^I@I8IcZ2SlG#;$#?Ns7mw;iy-p5y{dO2x;auirrf! z+p(BRO_`2B_)=>QBfbCtdFyh`-HKW?>-d2??JqaY)~UgYI9O&X6}c|}KVd%w z$wFU&rfw-;dD$n$ueM$pFvD+zfB;6@oy+B=FpS(#xgXA zthef!BF9D_&PA*dTS=MN2b)rXX`9O=hh=Uvrezy;{8oH7;%dF33`F9-;-`h)%24%c zF#~PpPQmgfR@rd}zIklP>Gx^EP##ALmO);4l6BQP>ZgDO8|$3|gT6XUq2D>q5tZS+ zkp7o;cb9XELge%;G5I-bt?krTi6I|l)UnN_)2tUa68L)phQ5m&*Ar~@GBMJViO|p5 z=^|Rr6Rv$cXl~i>T%%c=yoce*X}MIn$z8sV!!GqlT;E1@ta9yu#IvnkE}V})*q&Dg ztm?f#ad{gyC3!n0JLZc&VRf9$i~g*XFYt9p=9!>v>`O8S$8&@}Xm>4vI~$^gpQd^b z;x<}0T^|g*QhlU#{B-Vfe)&DqnZI+~*Hk?1dOLLrBAa2ck^9SOfSRu)Xs0aY2t`Hy zwfgkwtXz2YQFZp-_+|7S9hLJ!5TeR4XY+sWy4C8S+ zpd9{*ThxDg@Q6I^NlOD8oFz(F0lf4;jolB9&#ol@UeYnpe(`%OtWfl?OVWnpE?N)Bd-g&hWxN)ArD}%shGl%%|a{MEA|s`27$>M&aaEe6x%j)yEz)m2L8>N) z8)Jbih_30dTsobKJ`1urZ*H#d2PPjXSM+x*KzKJ-bLAweYRhdbXeqi>owFK zs9f9wm&>Y^D{){;mcyqi^CU7>@86G5B8mvq?K)*+9BpS)#<5XP`36B98cc=dDADsu z;N_?-0BPYqB}fY!mjxX(sSlqD_rS`<%H5D-F@bgk)CwCaqFY-hRSfAkN7qS%mJNqfmL+|l)-korq30l z#D{BE9l|uOpBcS&J3D08nX>D3oLtCp+bit~uFG@!q>Gsa(OvUxrf~yaR}-uEhMPtO z?DpTlWhNS;E~njcH&Ip?Lov3NVsJCvgGZq9v7!#^gG|KREDPt`A9!9?p<{Rx-_>#6 z>4_>Ei8F?y^3}nsv&PQYbRIUdf zt!DyH*P4o>TXOq`dU-MhBiR>lwWyT^M*uR&G|Pbp^IyJDDvUV~+?M4D(e>i|3WB+F zm2Ffr!LBYMuq3!KZ-`^7zg&9s5;WtDy0_BK0W~6U@sEA^+1KX4OR>^5#o$%GR=i3e z&7TO_tB<~FXXkri=a>5Ir{%g+>ma9v$AvA`23CCXGA5t1R4tp^BuW5V&`X(`laJc3 z&sbeKw0J}2s4Gf?E^T*5ud}SfKY32U?LHL@2pgRGR?>Haq#hmD z#oD_MuYMZYEnrFNql>UM1T4E7IR@S&dcce5yOzWO2677%*6Uzp1 zVW!Ow^?v@<0IgMf29W?xX`j1|G*=To9O8!q3`}Iu*C} z>X%D2brOr7+_@e+aXW&R!%+eiXXChbJAxKo!e5mZ4o16n)fwgrF}w4ikWivF7P zp5HmV0+Ofyjy91*%?Z7ST+v%8X0Ju=os3fYj8CmmuZFF*@iIyH&aGee7UVwfwe6Rz zGwxWubWCT|d2yl20$r#RsF0IF=(^Ic=eovTJZ?e{qGw2@%wG;jWS5Rq|G-m#bXsXR zrQ(mUonN1Y1*z51V(?ff5Qa=XlUqJa(15@~ubo!d3K72&=zH~9ym%~tet?q~uwq{l z1#S9c9<@Nnx~kv}TVQM0{>}kvL5H6w76A=x4t<9=Joy5PS_aUY*Jy|J)7^pI0U!^p zL%>oUftKIOEoTvw*qfnx2XX)_L>NxL7)3Wn9jZcACr|puBFYuO$(Ebozw)Q~W7gAB zKp1wu3P%+M|Dv_!igF3XgsmU&3_g3@6985cGM$$Tp-SvK&2!0B;PFy-e+H8JH(U|n z$nrn=)EX($%caoUIa@Wv7#%1tl%nrH!X|6b_5#o}Ua9O76EOBn$2#KYD^{ZL)i_M* zk|LgY$mhgTGmyGg?DHS$ljj$zw0PXl*rUI;zQy-2Td)KuG(1k@yu|Q*DC}3+Wm{s^reP$VD9KCU=+`Lp7o)p;5xbsMp5rMLiDrmheCD<#{3 zxobu7BWU5iSHnw1bi*&Rn_2I27%qKClk9?A5DLh~@l5Q%OJo!c@};msDcKc;&s4NoyHsE_oYxTRj;RK1qC90zW#8IiXBWa^&OdElSj>4eYB6Tz~` zqa{$@n4hWCX1_qJRyv^`29JZJe4v*=%g;+YASY3?Km#5i4WWK;nd|7G5~AoLjNQP6 z$)_QIGz+%2As<%3=Uc(7>S&zCbuB^D@V`%Yr-M1+s&353E?^4%r{6h_|KE&VTt^cA^9wz~(8F|>ZlbAB^he4H zTb}05=~KG~4kg7k)-Tq+Eb?d0^W8o>HIS2R(8&O_~ zm4$Y1KU7{%QGT4a%202rI5qnHB1{fx>Uj5;;4n$S6g%EHZ=4labTl{(Z<46!)P+mGh3)JZ2$YnC@dbR)ux zL|;GJyON&tBwcjr)FeU)Wis&bU8xQQ@cDBNV#BC~OC(FTq$?eZa`EL0!Ev(|n<7%IC+VHF!u0#Oyyg4r zmqR<_PP%FJf1%%Y8j#Myo(Rq?h+5TX3z8di3r6K5D**u-`a%~|xuB>8@8eig99GQZ9 zidx=F%LbaAKpRu_^2t?bl;}3ngV`Ei#g&m@Qz$`A!AZ7ytNgtDtjEg)-M3%*#8#dqQ_C36gjT8ezBrR^~u_IN%kyt{;-Yy z`wxTBiQ{@#>AQl+3WAuy2aZ8hA0Vb z@B<%Q>t)X_1TpISMPeTcI2(Th3k;*Wf9GHusa3*Px*(Qpbm1a^kKZVPugSznF)yg# zfve=~ybG#0#Bk9&&HC;*oEybTjJwzbdYbB-iG;y-ao9+5-}$!6YyHz7ZfN{==NS8L z&?2nQsm)M<8dh2oyz1iV=Is91C$LiyE;^IUBB-C0{_HuJ^CTeVzze$n179N(82xBr zherA>d4xi}WCo@=dM^$)-dLy*jNSoV?@<@KGpr`qW%#0P>j7v$jJy3pYKX_Fs~91m z&AEm;Jg?AF_3Qvg+5X%r8{+KKLM3Spo{D9NDZ|DzuCl(|8vjOcke8{-vOHnYZ)y28?bMRA*k%u&j)MrsBofep z5Dh&)ct1zYM*4m5iJ5B}#_#kpDHoR~1}F!YC_1hPhndU2@3lhboq`8u^igd)bLH<1 zq5@W|tf|g@eJ^jGK%8*(+-uJfxy-qU-^$7_-9uBW(cDC45uSQ9`e`HbG^(BnpZ~4s zBy;-AVLc6gbz~8{$>&xtq71vW=lgFqk&M&(Z))hgyzrXATp2|s&o0vLX}67IN)VSq zjnM9Ewq89x?rL$su}*CN;Wqw(j{Sf0dx^iM@nIGX*(rp6Wtxh0hB=juN@)uGL6Mw% z?4O1X5On-Jf)5q$L0ne3zEPg_yM}#@aHQEPaq?tWEdh;WwLyVRl3HDe3x3;<^;X7%-0yx zHEvWsYNI=tcE{dKgP)VjnJR^S&buBqweb+^EM7%1ra)-i{ralCIY?fGd2s((>cYsN zeY)U7duT%=Qtp~#9mQw;KyVZD<-RDjT!^7Jl5XzK&ov`H6E0%Vo?NtVdE==b028rb z9=mUU-}A=T+I^Ar%G0(HT^A;*G{Sp9C}i{EPdEOr*K`G*DVGedY=hPvnJ)Tt2~#R<1ZpS(@Mv$-sO=b!}Dn2#UEm7btPTU$6LK0&Y_U;L4NuHZ0B4 ztpZM$R0n_ip)i4YHIhqa#?*l?1@?PK+hy2^66}nVq_XQ^L z9YG)d%On1JMU!y;i|-a(+%j@XhpCo71Y_|@D}(Sm7{xyR>jmPZC;#;m|M|r^NN4d4 z%^tuwx1x}25-F?YF@~F|+KM(DvU0ZW&?J3g`Hy*=-eY^AYVi>2s8Ttr&!Y+b)=F?% z`@MJK=hyFs*C)BBZ~6J`YDR+O-^CeN4=(ROtS!Nf+8pC+kG-lhF#^WhAgALoC)rg# zwN#Ng7c!fHX+2QF{Z_Lb2i*V32G(=Dh+^ocpCtm#}kAKSL`m4QHC0k40 zgk20Qz_;xVU7jKE(Muo}sc~a*v|B!;nF3MnNLY_JfAUxbH!uW#VX9hG=vH7~SS^E7 zH^b->#0=usF800>^T{8s_kYYn`sFS#*8%b!wSt}F?~Q9WM6S7G`TEW@PA=?gi=;gh z0O*zmCWvwT0|B}P%0q^^o}ah$?M~~kPmbievjaY;3rP|&RuWxqS;sS2?bQzNf~d_u zlAiDW0kZ%J=L0Nk@lHy>peZ2?ZGxwT)lARRhedC+Cq2AzT)X^iWmT=(qt)7t*{Nnq ziB0lBAy?xgDDnSUaYVv_$SD2)P~4MXiph6_jba@7QUs`^t=0gHl%Lvx8P5)|W(`;#^9)WxhODhFEcgZF1D}REaJq zAG(POSnXT&_K`GOuSB5BL9HRR>1*PAb-bu&s)hxK#U-czJb9X2K-PMpI+LMV)}0RE zH_BPiE|mh)^y|e(-0TI|OiHEY2#5!f#vmsD#~InM?8)4PVJ=@SdnlI|CHGkf&E$VO zGfEtq!*pOekddn687Pq*ljGT@9An;Bs%$E?#2ojPvr{QlL5f4^2rU{h8i)A&_`#I@kPFg>^Sf z2N(yLAO@y*n>*fG$3tj6e=isQ*PJIN6MU}AS<@{D%{{aN(N?lbial1AtoL1l78)^j zrIPrMgu#s7T58PP&AbhZN`4#LI`D7pp1ZXO@VAv(;onv0L_anXFKhxC1glM8HUDXp zwfuno=VGy5s_&=tl_%^bqD|9g;(Vrj9^a2nyzpEI`PG-?87nawS|4JQf`9X??jK7D zN!oHMKPAnfKJ`Co0Zf2-sr?Uy{{KwE6WLOIWGp*?A9UFaY616O^k1&bEUN|l&u>Z1 zYOA&j(%fp}NC9H8uXH;yjy!{k(J5l5SJ#}Si&V7t{IZcCRWpm9HA#b9+4Theh1K~( zZ!CMWeO`*x!_(|av`bxq99?pT_u@V`N7|w8w63W2otTTgKw~BgEr+5zy%sy4FKKL6 zs|H5IT=0h@*b}k;Sz^R_8UM88w>%${jnBZIXdY>YX;I9Q6ZPWhezRRo2?ZcFiLxiY zXLtJ`09?+Pva#%FCxA(X&AX$tqD>BC>#MzU{eH7;5^Pbm0Jh`s<3D}O^;e;3_~#3$ zB6E)9l~->m+q2mF$>5kZrWUiJGcfgx3uyH(vK!&Tj;~5_P9d;waY1nv)=zZYF`Ynj z{o9O7U107mjG03&Bnd@#lWT;)%sd{@el1-R46s#&4AflcNYB0a!k58pT96VzTRGP{ zPko%y*9=^mpn#i`J9qAHr+H(c+apy3_+Sk`uY;v0 zGH!TnYH?kVGi6xAXCAw0LW{5|<4adFZ+%S7!BqZV+@&156SwFN13uoYTPJ)u!(tH3 zR!fDCPHF;G&`tUTOUJb{xB1Me#Y*>~Bj1q zVp9Cn&`kD+!ed!?@I2!@6ZuR5Vg-pDjp?@DlI68}{yN6vw4NBRe8h)Kn2bQp_sCgg zj5Sm)ZHkz??yk#)f9hISH;L}%Sy843Se<_TDlO(F&#+DqQ!ULapBm5wl87_#Jg36^ zXRa=3>C6snQ`EfV;rY9QH&^%ZGLY;oSOy$WlNeG`Es3SOy+FPNQA}Qr4o9#68nM*o z4(F4;Z5fqg+NWhCJ*H5K%&ot3ya<@YQQbsn^UA-IV8J`#yR40 z>tt6Zd5k%EkLe7k={jEXG8cee(e|?A--Y&}C?Qh{JJB#tw>`Dzl`?C=o{E7n2DF1z zJS&(X;x#;Yl30-I-^8<8Jo7RU_@?M=SVie=@CWueS^`L|MV|uwr4r*xpOk0Ld?nzj zK{RJpGQOxjXA{!TtYuSA7k(jQ=i&#wKvv&FgYfKKdorxwQL--+;1QZIPr;!u0o7cz zDX0$#!|0aVF&Io+SM3mSu6Gqqz=buD^~^+8P-Ma(yGlz(o#@iI$OceJp;;i+xHsi)&XCtA&)Vr;%`ynW}< zGJ(1CQrq@(EyL-dZEpV4+m9YXG8!tDcdiLob20?`0U2OlcEx>9w=7H44ueF)1jV*z z^13ptDV`ClOX&xu%iV;Mzw^vwV3T_sRkbo=KJ@80+uLlk>^r+_Xm6@96UoP zUa%MzaQpFC%Ms}DY_RGltzloUm`@Lc)iO06T!viIdqVvPBZ!?20|Mmq)o1Ej=x9~z zS6dS1$2wzgob3#}sK?~K1Mz7dWA3Kao=h5ow$S1lt8`|M_CAT}u{CwR&+2pCwbwt{ zi_4c75Rh`|b;*0vw(tBgz%V}tMejDo1%$u!p+bNT%QfFm?ym}E7w(C9-hsQk77z7& zKh^t&)rtziNvR)CWpc1mRy1VK7sYMGZgXlKa3Ja|c_55yA^Mq$+E!M0)e zydKqBJgqU5u1|V;;FLf!=1L+6lXdF|q4$NzElgpkwx+LgK#1n(s3}di?^5RC;c2{3 zy;<{3_65x6pgw+s-p&xc*Xa^CZd$5E2UBO*fCX6;Jzp^Hn7>(A^d+3xRyS+@lBK7N z1K5Dtb!-5Kv4NEk4%D7J?Wsj5Zm%F;w0(21ete{Kk^gX{qbtv8Eki%&d$#wf`O)o` zEn=0`ih}N%kEONFU-;om613L|M1)3(#T!1M4|mRgjY*J%-)hUxGfx}6rONLxwwrZ; z^9{b)Vnw05vUXw!KX-fxA5FGc)j=u%F>g^JAp)wbz}c>+WcA-NARc>Iy@I zonFz?mTr8L;t8LX4wYV6W}H4MCUWX~`G(#0A#qA)Y+J27nTH9_fNyWe1l{8Paya&0 zEX@=G)vC!?G*ArXLc*C^2qoVqv338s_e!?T3){-&<{@MMRH19pdy=E)vlQzS zmezghiVtk}?aJ6tPDk?D?3WcFgWS@En>C?JOgSjQH58wTd z*;yTDfY5AMwP)^BGw(@5pCK~{^vNS`dr^j=il;$U_}Lng)VcN$EFGo`$|g9ark}=* zbu!iNZN#U(4{zWn?j(#mFSCocRh-OVHh)6&gK+Ch=nqi>&J2GHd=Sj}aO7myfLS7& zESO*L9S}{fg&B7SWODsMBK~YN;i%j|BjMrFX(#4c5N+K7(U!9p3gAL1N7^cfTKK2q zs=^OCMk2DF4<+(ExU%~c7ya8NLm?tmkxB#D@ZU()B--8rK!^!4TThS_IQtnP7$7U} z0Z!A)OF#BRsGWp9O?z~+2#?+}?Ceo%p5y%ulX7*e>QcE{r8+_~;r_ zA1M3(AoEscZXGtXDQ6#RM;i|@@^danV9SkB#4>6BaIUYs}kj0i_Q!#r+RYSi$blcVe{1&)QkGSko*E&vi`TUNHTM5bta zxEwq_c;UgmI*p!_Dy%Fwi@~o4m)a*R6D=-ff2Q+;#dz!v;-)jwNQNEL6g#*&%S!jk zI%Mo&E--7Mc#OyI`-8`)G|q9f?fkB-g;60{T^%49`g*I!h=}Y`$~Ke}_Ld4Wf0>}S zFEWnKU~kHQjk<>Kk6^!m1g!UYuMV&9nUafcqTc zl7)xSq~k+&sc?i%X@==Ob=YbJm}Zpu&~iF()xMmJiS%$-2xPB7yLRc;I+ zWqy{dPa!1frzIat%U#cZy#^w8kq2Oz%8x^%v|`{C-{EJeTqVxC(dYOC=Ho^>xgKq{deTCECLzusRFEj$r9nYueXy<-I zRGw0Hl(zrE@T6j19wl>N?G_^PRsesKX4GtF6Z0}9?+F<^^Aar>6&t;|PWK&llfg5- z`!x?%WVz@ZThw_;TV=&tozw@cnk5_JQXapyHEu_J&2eg;Xn>JlvpeBSBS7!%2QC(f zfdz2A$!s(lDBQ=OJ~JXzfX5Jf8U1>!XG2maH=ke-@{ATsHH`Wb$!w2FP=v0*??PXs zXs3K|_Hm7J777hdIGG)$b)&jsaQ^;C9G$ncD@x^(m&3ji{(wrBr9faP?-hCm!ewp^ zr_TH>i#9h>Ais}d|AdMBm>YP<)v~fpXY6UsLcxya`(dR~CGWfvsju6Vd<|ud+L%_{ z@u7v5eO2lwiW-4;l5t_*YYrY+W$GLnN0FeuqYwhvdz^c>e+U>_lV2{mG~Ol~eJDRm zM{c+LGmd)R6A$FnH5ES`@;zl7Y>?PZg1z|Gh{{h7{`h*iu)nXUpc$&T#{lSp7A#OW zF|hUAw-MxoTcZFYv1>h&FvZiH@i35nB@7W5OKH(_LLj;)N7skju~z4T>n=X2f^b_zFEALm2lvJGkcdfgBxk z^20unwks9HbH8<0TzYgL$;oqiMA9ru+0#WLP(DmoG#S~Ta=(Xu6M5tkFKw003&0mL zpcDX~6$N8Jz zr$0a%*Ch|*=@~;>9RetBdq%1NcmT7?h26UsI1E*4HM)NFqGl;b6 zriO3~9#9}nW1UMwECAi;!7H!@8D!unJeU58`a>X zB0&Y|>H0K9@Xc8#mLR^F@DpOJR3{J`*aILWR8s&k0%{Yb>GKd34+5s>2;lzz=JlcD zsIV_77f*N{d@q1rlfBl*&fY-NOy=yK z_fD$?THXr(;x6-?~eP&fLw~4B36o3L>T?iB@Yyfu+%f|y%MAegKt59FKI4jq%pHEdi&WUwfPZTw|MRs?}&D8B{`Zf@xH>Nha5gbS<4=9DEz8ZqBYrCq8hP_h7dXJLL{ zW_rZDORpe*)*FQSwKvdS^mC*B<$~yJ*CbuY)BWL64ZL*RoDsoJWyh^J%*u67R2zM_ z!&?re(9Mx^0j@nr;Yy5Da^}6mp-;4`M213+W=CLnqDM3AQxhY z%acG@WGBBNw35WP9PQF;Kr+Fc&;sR*xx>ldZd9uu({1lwa+obAb64YbujpJSmZrw{ zs>N1|4Vc-u@(CWicZ7dKh076_GeZy8E^6*7qqUJ|s?h7UHegdEpPO5R1cDT@f&hTfcDI>srLc2yeXv?IH!zrd_A#R-)DxDL54Y~ z)8Qa~ap3UH0)g6mS?>l=^SP8qOJyq194dQ!{MtvKraJH2plEWTO3@3-%~IvjS)n^I z?V*}JFEviGH34>i;qwWDK|MaEn7V@0(9lReL6d!;GTm%USh|mY0ogUtm9Z}&>M?M( z$y+bB@$O6xL3hUM3~Xd8v7Z2JRHN4#(A~nb6IbY(Of{$mLjmG$JwW5R2AzWYhG2bY zdV-tjUD(Bx_TaPT|8;U}!L-%=IC#Jf4b*D`^Dz88gD?m)lJ zW~>Ym=o$^->^F~rxX~@lg$@g5`wDLqUpt;ArBTdIWlDXCKp*`y6Yg@ysReEEopn+f zlfA^l5*CAX%i7?|NImv$N3+jh?p`70TEj?k1r|;-mZ1rpb=_qC8ib`G80RsNi5oc3 zl{f1#h3$~b&XtyzRr2V22}7|RtW9Lw3X(W92w-d5R3wMA*#~N=M3aJc37zYPk}s>m zjh^4*7Poi3e`_v~y9wWf$nu*Fp@kv$rmwffOvr%t}M{vYxsfp@L zyD^LiB<$En)_WoMxL419JnzX!K>Y`W;uq~eIifH|rPS&$H3n`j}aG@r_X zYCpMD=cCfI55I&ts=Se*C(`do9poyDe*Te)e-915ffn6d(9{jZV1cj4B(>Ea7YK}! z&pfYtC)vX$uBAif?qizc_CcWw?g=~lqy6GNJA@un zXw71no>0aNwOE${d$fr6YXr(k7@js)zELqgSgI4^Kv%&3Tu6 zs-B)+UdW^Bu&dA8alwqPZo36@fcNl;7Q2{}(L8(#eX%8sbV06T8@MKAs!GIJ>#$`= zQ7OtC-rvY-G_Ta`KX+LASzWYX}u5^1!MLfpNaH+-3qYlIauKF%+ReIeo=%NlWujx|?#@G4fr?UGo?5J8KUsoo&K-Niz?+Y3oq7 zpn7r&y;F?J_c&)*>F3L@a%mTmbdCZzS4 z#EjZT5%M~|vf?8-ijm>wybBkDJwOU{d-V6wRnqe**{v!^%N)Y-`W}%_z28~m7gKXM z7V&9a1pE6{p$m!Mxw*D=&_M}rT{)S=l0xPv`t5gHEsZI6O1g5q?cSA_&?c!s;>=Mu z`dj?<ETf$=aV>A&Z1wPXoA&{RXoKZQpaR`AZhhz{5QVh5|v%b_Lk6(y!2c zOm#%qyE#IyQfgTASx0FgR`?VhmOW?Dl6`>HctvgX893s(?;ub3g^gwz+qHTb?q(;e zA`Ark2;?`0^)u7ymovVxUK3|mFjs)A^D2vVHRHmH25__lNvtj33+C^QdRL5?zs7}dJy0Ips{Qh zO9YLV$07E|MnWenyKx_?!J%V)$O{6OSe^{M=q*Y4d$O zSii6K;sB*WmOO@hB|kRq*m`8Dytsu3&M_MGPhIsjh6BgI9x826X29F;JK#KydLS0QO30L{z+(I_0s_907`dK@xMO`y3{_4_fk?VrG(h>;(( z`}~)bjxjSiRL#{&V9NdDbXZH+S|UA#AY)mVDZ)=P9jN+vXUp8Sx(}fU+8kz-ID(t& zkAv>O!~tYRcWy(c*%HWpaK461G`)D{p%4t|Z^G%Do(5(39zl{&b-pE?1mP|b= zGCiZekSStNoLRl`z-l>U-nxAY+0mp(S zk&-riBvm4~iT~n<;(Ll5%)u=R(j37iCuby^x3feL587IPfAdo*R9MZJe%MLt0#C7> zqZ#-Mrq&x|!Rx>}3axE{W_Npo&V?vJUuF>pZvtHm>980OIxB(ex+stNihA|_53XGv zyWgsEs+>={eqX+19PJSDmF5eAIZpV5YWK=bKb_~0XG548mPwUjr7Wrv&O?J)X2)M3 zHqz9-Z*PbUsOy&Zd|%3ZCAu?Kx;rpqgk6rt-I})`kHumpcDuTRb!A$$_qQ?SnZ~hp zV9Rk`=!|WVn3lQF3el*6Pu=3L#f|Y(_Ix8i6qTPTPjiC#5#7wvXz}B-;d;$>l2MLW z($26rWWYQ5UVu>ym)Fv+U*4B02&To?+W%Nlqy!kkPohoK1pvvY``-Ip>3ycez{P8& z*v6A)%BCWfbC&Q9xc~`i$_6&6r=VkO&;fnI5)^?(IvN2o0()eK3SBt|4Dq$UT{Va! zSUWarGkIp?9X(JyHz`6L-&H@GzmS{Y$0yB{gY$k=LQ(Z*(Sz>|AFggUF+H=gWdG$M zwD1mHTU=J+z%SDox^$M;Lmdo?!9VV3;yhW*X}GUPlZu#grL3*9C!I8Yw}4pb+q48M zg-p%N6q+U@9Kw!d-mwuWbY!Q;b(>i-y8=sbtfvfA!>#44{SBApek_fr{ttu*4}qy- z)Cq3)IedZ)v)Fz{{!8{A?&Rl9ur?e<4a2yA0905WD>>{J7d z$#sz`U%L^hXtGA(mXdq8uI3)o9qvnm=zS&(ixKnXeZ>kTX4l3-O|k0AoN)R2v6w&c zrz5Z`t%UR)z258E$mUmG>2Xsxbok-r-b=4E3ol*M%>NQ!=R{NJIyH!`% z^v1TY%+w4am+R|$c?JvB9haSBNh2a>t%) zPLma)v}*0z%RQ~Hg_K0gpeFfP{HXF0^b3~raE)YBPukq$N%U@&EO&7}e3ZzjOyn+E zqaCN>@Ta`%Knb(yZ@f1=!-P3QU;@rl5O5Xy25@0xX&VX`dNN^MpJ60Bh>-w?)tPMd zR!2USc$^DXP~tC_2ridr3V;gQU>$St<@B_fKe)8!Y^ND?HFzUf3>1 z>=kdXc^TTG@)T<$Fe(!q|NTo~@W1l63`i#j6L5>>7?5J-xxydqY)Sv{-UB4%^EBa@ zDhPz0fq<>1%M@HrIw%svrp~PJ66B!4U_kfjA_7s5fd5R+c(5;|eXXN`QU`Jmy#5ca zTD4_8CZY)r%f^(TMsmyM&{qI;(rzT6i29V?HmmYz$<$PrY5qdK;I84TNiKXFmS)ZO zgtV+*1fl^S!BnS>m#_PVEpz`M41Qw}sL*VRWkQNqPwvaPPcqX1f~}#;_11KMS{wB; zJE2IE%vWAe68ec|eyL+a`r~i`9gjsB+4dg62a>^BEZa#v+L3Di2lD8(tdl;MN?t6M z8`u`>ZyK_zIb~+D_K@J}mdxWktx-%N%n!sSSPE{y?4}R`_jE?;cfhTS-k=d(8+h2H zPV|loZb%&&WUbzs@Z7A!inKysLje_zy%Z(p2v23e0>Z{aJv!Vov65GBedO`L_ag@7 z7O&3qq|i~5igSf2Kvv^Cun+{S+0ndd4-MbPx*i|)=a{o*z=EY6%q<0Q2?1JZ{3Oh; zUD@KSvs*S+(TSdRV8@R)va{QcrQ>Kq-s>rwQE)GKBuA&hEpm6-J^0#`8&PVPGDV)X@!Il&kY?&d5$sCP?yhP! z3;!7!e2JXlXz~_~Oae@PzsqbpK~ zFo<)>(f7PhpdiYZ?ng%YJbqAb3e6vOR zD`kPyEhWT$hY{bf4nez^H9%OI*^PMsm8z@mwZiQr*xYd%v<9`7uXYcPKK7Iec>KWZ z$L_w_b!##1{@lSXqYuyH+naoQ#G`l7EQd&2>vHQ`mII7Mx*p~G3#nlp-X(~*4JE11 zZ&(2p0IQ!i8gmht8%+*!ViPp?bU6QRczsSwyw1KpOJy(L&3pdfA`DowY*z?33ZIqh zM|v1x>hQvj$gLJ<6rArs=BUD;XjmC6Og;SgKqDp7vssEAh98-S;}mKWU9IdJ@41nPEjY~P#p*YWYl!MD+ZJ{6?w zhM<*pvwJ{1S=RYnoL6C0*HzrZwigo9hY#z$*=Fh|qk27Z2`5Kk=*t627`|39{D8ndwsR{KP2OA=DGqLv9!y z$!ZDF%=QtB3e=WJ`=d>(G4H)5HPcJyHx3h||KNI{_e=@@oe*%HW;5(AmlgQ~?ufP7 z0s@mYrw?}xUh*5eeKwNom=JS68hFoAvm!BvG`ODZmZ%m<;N|2tPisrhY%gGM&XR`L z%4BkzT}}Kn5a=JGW5Oy0LDs;T3mmjW53UbQpypi+N-M8lOm?t?cmPPUADbi|39mh}dsQId>*kKcAV1N)&{#EkQd*I=bCyg`Y8>rp63;;DuyUTc!%ctvS9h9u?I=+FM`H7I_1HH&+t~1CkCfWX=`=Hgt*KXW}!lOlC^?xRAx2*WXvxp+>NC#pF(eFFFhVvgr7oomlONJJ6RsJ2yET8%TdT`8)&q zF4O(}Zv1s}^yEa+W*h8&FeQB{UF%f2`D#1>Z6xej+_<0(NaYXEJ{MVns9dt*5%Pn4=PUbgIb886+p){gLYB?) zWxBO`m5!?4qmK2OPN(!c7ftl`RSRA=(=>mQyg^I4nfFamHMNN%&DsZL;IZuwP{CGnc*!e`p@Y;n<$RK>l`7_7uJv>K!R{8Cb{u%DNM4 zpf+aEXPOpk^XblozJ2w#G%ZlB*JiV4EoiTFmq*##Jkqsqy3GN@|M?}V4@XwV?W9W_ zri4GS3?D1b^1GFN!ELL6`}L8&S9e)EfC3YU_n+ChVPXEJUdgf@%5y$9-qdMA}=xG~L}L^gHTi*=PyR5hFqmE3*9~{NT`HQ)IAe%)5G) z5twk(x&Y^Qkb3|uxA%laFSCsxr1OI#(`;8t2vQus`s;f|SDI*bZLG$BAz~&(eg8(A zgvulSja|uBjrMKjV%?DCs61%&>NZ_57&P>^_uS54 zDX^vv;yH*>hva!>CI~$N)RY$0^{hLsEXiTL&1f4@`}ny1O!U-JLe!d*+Pl#E$>Mj9 zITbli+GfzsGu2t5wD2*tA)GjH+V1GBWKF4~CLF28kX{{W7fc!8!FZ8F zppS-JRstT|=QAvHbL9D#i03vklgpC)Doxu5ryBztUCpRX3rctzfWkZ@Els$CA7LC) zC=&H81?8){$4e`_n0(;r*_fiu4ts>_#0Kh3zm=V8)Y=j&J+89lp-h*+(8O%U*PXOl z5$;5#u2Pn-GmdYV{eiVBQ8xDTG%RjB*=SynPdHh#Yvsb|tm=&aW1BnV)`@ssdoxdd z|5$AOp2T6>Yk_htGmCJ@>;NKodN*&a%mm4Kcb2U(_ z%ne95NFHp%UP!0IniA&lJgnJ}1*m~bm+o*fL?T4iLDL0UAVWkqLz7$4SBUkbzr9ro zU_c8Us^~YWIBs|jF_Q>lk?|L$pI0Aro$jc9_bxP#S7}B(Cx(#E0;BT@ zafDO8;k^DYg6RKG2qG`gpIv{X&BfMCprZpK8u#@cU+!x8hM@Bk4l`OyI14v;sst)C zMclYmXK1^5*XhX&^#jmNbYt<67_awT-lV71SgeACX4NS$>xY&&bwQp!G+8h8#vGu_ zfGdp0TUWFOxzBR1e~ZbG_YCt&2Pt%G$4Q6b2BF^h;_P;W7|1s!abkvPtm`>xY1xkf*%CRjoHad-sXqeodyH*g>R8i1FK78oDR0 zo386<(;P#ei7Ai^6h%^bDjoQ(N?qdLr8tV4v!6=ZA^k^|(p(6apT8ZBE5IQRF6KP* zKbQ=14L}+(nLC>e>O`wUNaluwC3$)qI);=%WJQvmgB@z3xO!p}MTER}h9U9g7R%6M zH%M2}`#ek09|>6`)<>QI!mNzk622w*ciB2`9#CnNz~GX`#tCKEq_P&!B&mMJS$P;7 zpuxZBEe4kYQqDK9M|>y z${;y^>LC37y|y8mLM8oZJf7)yD4nQe=&)azC>fJ@m4D%{B;J+EnRYAhTs4OnP` zZBd3P)U=ESNt<+xT6{XqXXvzf9&PDMZ~f=k@QQTFr1`Bs)?q*d##JZx6yQa+3cJ7m z8ZAaSTc|8?>~_I*Xqi_97;b6qIH;?I2M#;>0PYq&-i)+qdMWzQ)L%v2*-;cbWO(mH zBI5b8V$T7S;ufqn?hBfHeXB7OL6xNxO?P=l+Ip%3@dW$3fmr6)dsv8mgAAIFEzMqc zTyv4#N?Zj^UmWcAHo+P|vw{!i^%-u;h08FzN(>bdf~2XmhnU6etngh73y~!u3TYP9 z4S_Al)T@@`e*kt-?-tR@*cu#-N#X{zul*@L-1Ao*nph$6I`=$ySUY%NT`+dDrXW~r z9!e{RHyeTv0lhrx`ba|xr$}gpW^aI1)*6}o9{N#+CSF9+U9g}E`b-uaqL3B|SA9S(zZ)ny$j(KM z&a3VPMbc6yfTTi!Ba_uhbVU$UcC|^vZ+eN9h@1&lRCNWCxf9U+9R7-Aj_J*O(;n2E zBF=(f>VVTAA9Fo4r-`pc_K3mStHH?G`|Z&3m&n$}y#;fKEU%tDpVih+Vc`Pj#t> z#jrzeQSqBi;mjZ8OJ9-utV*@t$y;;>dvvX!X_Ae_><`TA1J>JUSYtA~;&A?q)FbtS z$Y*i5C`EYlRxs`EfI$6jLjoL}m$sRDJTH&t&2)Ctt)ftMEQb%BvSwP0Egjuh-FbNd zNVt#|U4(JeBR$aMjDL4kS35HXQ%coj2}r_MTtT5)`wuSmX%pgp@HjBwacE)TDj7ZY zTALYY@B?Deyo84VfM`=?B ztXM@unPvDxwaU%d1Nplc1a-_+s4RmGXq!wpTHxM&U@z1yp@njMk4s~tZDA_Uu=p|K zs#a~unnyxH8d}n>=hmb`-@wCaz6jwzAWXv-Pp-W2XWao;^0Gv7reG`$8|xNOk=x_D z93y6HCBG>`>myl6V_qu_kZ}ox&w-)50H7|+`H4Tc{8MmziOQEV%n0ORgK?@45;cjh z<@@cjvA_Kt%iM-zuhV4Eu`?O41_s~4DfFIXNmD$_3ENe)kQLr?mBKDg){gNhwp$Nr zgf^`69nd@7q}xH&ao<^_RNnEpJ-?`hcscf?d+KeFyT1SDasGeN+W6&p{ljq{kftNq zZD=27X3d{0O&v{1f+Q#Ko&Hz~{1nGm{rN)Uab#Tr{RCk0fQTOf810rk<~;Ft z!X`6}1#ADbgCFg~+|6t1ZV3jzGG90$cB()_&c1=u`do6H}Ke?;%Hqnljf)PT=2nF~1Ow z&Xlm@RS(aQcBvk?X-HULm9XI4+xF5G<51~JWE#-naV$FrwH_g0d~xZG2QAeS!rnxZf&N9ULG(PSR7g zGnmj>)yQGr!?nYdx?l(z;sHeGrr( zgBS2^qBIeBBQD;)y=1TL1H$y@Z`nb`uDkmE;M2G$?-jFcs;IQa9^_hZ?7RkG0e(65 z+JFDOMeh|y(zYD8-AdUNvYAp;@bvcj@!>ddW~iZf%o1v7qH3!o%)by|cCguH4zBB5 zII6&KcPfA`uRN-z$f-qc&pA`efpNV5eVWRwOu(C3zCw0z6=q|eWgoRO(=e~8f6;z_ zkS2RE84_i^z_;OOk^|}N&rDg8^;eQ==&e3t|`v`<2l8zTDn%91(U+)Mv70(@P# z-)M|NFuwz2O77=U_D?rmK=Oit%slu{m#_%+#u@@>)N6Q;*+TF5WQO4cT*6xlnlZMN zD#8s=ZwJ@{%UK_Hi$Vu53YM1G1-ttI3c`)_#TWo&kw$wYKo;>0fD;sRbH)7GPX4JL zwH6dImb>M#0@ghj4VUCM=cR^Aqz!2<;rlO1Ub=JX?$z|F&$l$saeWt}RWkQlBYUB2 z>2kJ8+L*%*!@7MV$(o0Ml*4p2be7QQ_@mXB;IFFn;2stmpZs>7KhKM=1G{e(u)rPO zHXE4hWv9pf#0#ixfEG6(dD*)7M$p$gsu3~@Y9zXZT+r@!pI!B!pX8~AuVAu!!)rT; zAHp1-(7pht^Y|wvI=HX@!UHmu;f;k~>A-Z{`Q-4O&^%JuJAEhW1}K7U^)g3mLZyd6 zY)R;qRL_#jb`DbINOuUo=WFCQxEtG`q5T604QWnSf}sDjtM9+#VZ>Uf)DAg%h&%%4 zO+yT!RIfv5XAq?R{@(d#e{i{CSK5bCDV*j(B4-?a={GZ!{|WvwhWtCbkHB&G#Io{1 zuf4$Ztoim=({s}`e7lj6wzKo8hox(G?SH4ioA~Koy7UvSb>ne(KWH!!mldBHjddqm ze(!mvZUkpxSJptIlMZzIn6C& zlVMigsIZdKYYhM?*!a+0tj2od>^=Fh$JfxBI}^L!LOheSXqivcuj_(~L?0+~?UPnliit(Gv>q*c8+6Fk~w0`K`jj zYl`Q!&rFWiPAK276Sx1&r9_z;$(60=xVap)0qKeKCr$#zc?mtG7=v*3x$6-0O65G5 z=DIOrsfhtN)y*!(&o7hmFB2501gg$iJ({5u zRH+9{qQNcqGy7*o8wd#caR#w6n*oC1^@*)23okI6h*Xf&1mhho3)>o>t0EWC%lJkH zV~ZgEg0zr@_0LJh**E*^B)b7`LVg8T1b0Q){RB(in!^$K=>TK!Lx>TN4#K5NWU_sk zMl56rDYu^ZDNDM?X%x|F#18#8&zp1ezj@yNTmW)Vsfo%d25C0N+3jv0EZ&)l-~D7% zgPGdpt$4+cjIT>(=h5gx@)S}jTFC8OOjblyh@-;>=*3;XI)~CSTp3}9sp0OBjgZi}QmdiP*LcMJ8ndLAuVF$_Hzwt98Jli+=Fu z%%ixngq4R+8CjN_@(qQBHH$>7G`Gud49hn*(CXUhp%TZxunC_6A9m|4Cv0Q!B+|+& zQ8SibtV4F~cUt|pY|sn|q?bMIi(omjKbP#cMGBY5+Q4Tzfvq_3S@vkEkA>Y);>%(5 zDr%R?y?1A|(pc+7ls+z4(BF54g#{k~M()ASExf-B5u4LJG^AOu&N3w?iPtN~8t`WQ zHuf7wUqFX8G2#wlo}O>C!(XB?uD_bdfBGF2fgyse7THh$G86x@1Yw1Gr|o21yBev#=`@UjX|HPWA%i525s-bV;v!Nq|XGqZmO86@kwV__-na8ibUNm}~nN`?7 zeET6Ku}bpn(hq$4!IyGeKx!g+$)u0g90HX zpL67{`w2t;d9D#BiBF>Q2h%*>`-eXB>0YyB$r6;IIuK#iUYeQ1=IH{BNbgU@we^h9 zA1Oz!zx=^f75GS0mBy?}&syjXtxku(gUo%+JaBn@IhhJ^vPT_+4NGc6ypzw=rXOEu z)YtXbxP(tRm>hf{=K1aDSN&_2KqgvEeME8nE<$mq=w`-DBgwA=`0dyqq*BM|2&;ZV zz52|A>~XLs<0Q;0#5_gAj`UCX;)`TbCVT8U{dTvbbdpq(_iJrYSD;&w9>=a!58%Hf z#;^EC6MIMl@M{SRCW56(5h){dud0#x{N-ll@L5g|V}?unW2^?;_g@RYb!H8v?HfLt zVB^qrqPGfGEur|8V|N%%I!(99SI&ngUa0E2QY}ll^x@tX_k%Z|Xq9sFs6m%F`iay6u;_~=x8t)2gZ|_VwEPj7Xv(Cc z26FI*4`?It(sD|=fE_pl!hLNDf&J_#sOmVTnOHK50yw>Yj@TjS{TJE7ynOb#=yW{x zuES8<8@)>DplaC1tj>3Q8#&`>i!;=_?mNlhg?;{ON6bKnTaZfTr!c zpSt9Ap*gD1deu>m4N`cp-?U@}-+-s>TWOQ7UJx|2r{5>nT}HLX*K;H3+hJ#hHX4c5 zuQ-_;&QZH`jQHOnVUYpVFWNr9?5(#G>RN+b_CQtr4JQ)0i?vBeZ$xvlpA)hDdcrcLZ1}8@ibvaoBWCbv_wqv76L+gu_2B?gn_d zlh}M=J53jl4$vV#)BGRD`sioJhDZu&e~6bI%SzH5!yA_On#NvMs72n@VKyYr~fngP~a=J5W+I%6G)g zFTw@kdc&F=RZg^$^G{cgae_*%v+_REiU-*ifMuzFo3X1S>%yVBH8l5XQ1p&qaojTC zwDcTmsb&@0AQ?j0F1HcPi zF);yE!UHl>9<(-iV{W25ZXL@wejbdF!}ioFMblN1Srs1 zLUjgkJv(GHoew(~`(C(=m^JLniqQ{+=Hr%Zf(F}J}P@7Q(n^%OLMG+9n{XZCBh*9_<# zbg#$YP~%9JuqLb)}u!DSRZ@^wb6TY+Zz0;6{jUFYC> z;@7kQkBt)=0QK7TlZjc6P24$G~Tw(mqkWsPF!=<^G%J-%RI#weEy-e8t z@EMwPLtc9GC(5no?)$uX(F#{w>bD4A_YO1gBm&A~)SLz4yWYzPS6}1rI>X$F*4l~Q zaW)`EUR>2a;;BHF!>t%LYMOmSy$1ArH6Q?wIU@}VmIHXZZCkmD$?g1GBa3IolN3|h z>9IqEYET~egKMKaVm1;XWGkHB{Y~qXoy|#=Yfo7cH^09JQ(sKS`z+Z9=9Rvq7-mgT zF5O|QxMpSR2EF4ar|rh}Br+~l_vE8r5^|-V6nQ4F{i>kM;KE*Slj``?8#UctvmlgEPX2a!)hh){@aSw$xauGgBL1DTUhGD z_pzy2B}cT4T^V2XODxCsBpL8t>udnc_PtDNq+}|EI48us=w;qPNZ&)*mMPs+!#_E& zE7wiUr^BU8rG_Un6J<>Hr0%3OjYtQtR@7JyGI!~YdtcU5ntM9GComKTH1_&fXW0cT z{y|e|=E+i0W?Izeo_>d;<+#LDGd^sa(93bR&bl zb`%m!^F+@!fEYo6c6QiSPFT$ylmz#GLoLe9k1fXdMk@r>1BJGOv#O71O+2UZpKV8R z-6_<5>@caSpKoZIb;@qf%mGL0NZKnFPIeOj`JzT;XX$Rt@-)x8B{_Jx?J0-gRi_y7 zoYf0ppT}li%0f@wkU}9vm#7wSvHcWNExu?@u6I|}!ZFRD!drwqkKy7MMdj2)8V*^G zSX1fxrMFTwB}o^k_zhe?B5QO386dvJ<6D!s#7D8@bbcyQM6IzQ_QgBim`aE*wFpO# z-U>v`0!Eq`JH3G4fGokzkeg8XKH3ue0;weAVG+lc1&gx3#j>M1e5J)$yP z%%FWV-FZf-#qO~&j^C$lvHq6Th0~Y)PcU_%5key2$t7mosh#K zC+`5D1{?PWR}iY1v|Ck{W;C<;{L=2#DqIk0 zhsrsss<3C>!*Usm7^5Z839*PPBD*sxpHPK%nrK*&FpEZK5S*Whw4Ms5NZS#cZl!bV4Kc%cgGYjz^HjpcOUvn#jI8_%tJ z4}y*u?#Xg`>;ora+m(jwzsHcq+eJ z!dT{@-RQl>&U@$L0;xYz55K4y7ArhxKWNw7Bw8cpk;LUg7mX;<$>}Ybm}=Hi2UD(^ zK)&ukN3g(iyA2FS%a@WeJQf;^BP}AqW};FoaK}0x`3UAL1`4SLwxf^`vcw?e+{GW!Wf(fvu z-WJeaQ*~hPlo^j;82?>3ZT<#4rpK6WdS49{)iHjGElBU3L}U0d^(kJ zI97VsA=zhd3anTuF}aw7Q;06aj%@aJ*^agq?U&olY5E$xnCEK@ZZU4&ix=A8PNN@) zyaH+*pE)s|MA%Oel^Qo=xCC^eT6Ul&Z(%%OFs_S_%!GmC{s1js3}XnP5f#XV;~-y| z<_LIgDTX)|88_)fPG}{xo5b>{gNNW-`!#`OlK>dyJSc4QL!``Pj6eG{t(g<_CenZt z*dJR4A}<5bDZ7B0vcOogw*RJ+R&wJdAwaKr^#tyj*=OM08zufzs#`-3{apjib2xz& z#1fUeCi@5jh$xKyH8V>_{vTX=5Fbt2l1f-bB4|9n zeM0j;AK1&rvzw~nHH?IOs0gW~D7Wf2few3n4NimFNaaBJ4TND%6tD#rlk|-5!q%f+ z?x1np4Q}0cSdO_q0S*$P?sjvVmFuuAKow)Pw;K1}xRL#=h(s*{vFbyhd+Y&vn8C&S zet##H2VTYATV)rWZ)s;S`Mqqu+4EeYToo4Rknx{^SkZ##lB z`J%kAVDO97+J36s@%|j`rsz+oP`KB~m5QAurF}DPHOww9gTCKCR}Ite;|V@vzEz2VdNQeLH4};}%9L?QumP=qa3QnfTYWfQPegu|u_z zQafB4Io6)_D)!cj^W)cu8uSuA*A@t!UF$$*Ag!>x{q{Zk3Cu$i_>V!tND2iVbBmJC zRyDaE{@8m1N~Xm&69mFVCtLsfa5S94AWe=s-HHTL+$vSq*)%EH*mz(Mc(NP2;G<%Q zsv=BDGzjR!tR>8fhrGQ}u(AoU&O0_ymZM{%exYqZjxZgX-8r zbmEwWAe4ezUL}K3L4ZW656GS)l0CzjGM>8re+Ez~wHoK_G(vaQ1)HbonXhte**bE)r-%`(AeDS3|=Q zq^Io%u+Cqfq@h3-M7~7YR*A>75nKDJ3$`N572h0R4T-qCFiJ(OVIwDmW@AEm%iY4~->Em=()8t&t|d zJ1b|d(jx8^k#mD2PA(2u6+Gq1k@DB07_nPg=Z6Swb_=PIj}@83y^*~Ya}v|- zA@CO(a$LP`dGeq{?>!+#HB)8=0fr(|?@9JuW?UY*9~LX$iZZWA{90FAO=1(3*zVzPD2| zYMWcLvR%)L^v<4d#>|+KVgfg_qu_1U`&SjhcsR6wsh;#%#K#w%0bP@OAlnp@ zk9-q}M&&VWLDsP-{9+Fz^h&R}^8~y9bafGdI{Yq`A>sHx#rAXnCt11&8lA(zmAwS^ zHqlw|NO6m|yhK1?Vn|qazCs`oKS6bwz*s!n5B-RzaKnUuF#{0>GoZ!C3_Z3#APl?V zY?cB}c9}yGFwDcobOCgT04fYB1(!NHwTxp5&H?bv^cTe9vGA1^KG-xC%$LCc!lFG4 z;^_1*dhGqVcz@)t+&@&Xqtg}EAyts5r@&N<%UPjl&gBCW;Yi^FRIWHSZwenwzrmQ@ zLE~pQGuMDw_mRd8m!g^1W)`v37r;5OM}Qz#HiCWV4FQF`jijH%aY0=&K!olr<{I2g zT0|FtF)~*G^^^D$HwPi?4aT(4-~Y{8Y&=%G$}uyI8zJN;-p&4CH1r?2H+2(lQySX9D>OmVTVX&6WcN!yzY=aF!4g z);RzWR;frp1y%3ITwoV7BD{UZ}0i>qg`$)00mh)4syBkD)Af*@Vj< zTxXOPrh+@hk>vSq!ekn_!{^;#8b(kjuhyC#EXXzrN6)++`AE5}_wF!>_+cJF?nY)3 z*nBqt@zN^TxZQ~g2K=qyE7!;x=?R9k0Yh2)<*6ZGWIA5NDeFP+|XKFjJ}Qo>w34J=P7rx8RKnpjUaraqu-3mrmYqxmVa#gFVBH^`x$ z4bR^Z(;BNvedCgN1oK1y9gFg08t3Acrk?tSilm@YXIfP>r2Zl^Km|Y4G{Xkv`{teVL1)-@^_^c{uA6#PD z4y}jJcpazVQ_QTR*HJc4hZ}jV^?Yu-`K7{MyHDdcue#5IXlDZ7)k`&po=P0%FUMOi!031@zL+A)_ZR@(~v#w)@jQpQ(XuyP196b5#enJJiAF1r#iRh z|HBtI7~`9y`3OLnGN481Pz2zh4Kp2es-(J=GwHk60%v-2oKwmC<;C^_O9`|=YQh1c zw`c<38IbW{9j{gB%($lLt@U@e?o<4?4!#7YOFDz313F zVhGAW%JMJ&YX`cQoMP$4k@FzV=uTw#VoK*eVP5_1kg18l=&Qr~3ZPGJo6E?#Ul&a- zBlpZ`w#!iY?6|>BN)~~LbXW+^Z7wkCq3K;Ya!i7FCFBDp`av4#EcTFzOL!A9@Y%1<356zP|e zwO>Nw>NA8Ot@vG+o}4{j=Wz&h40?=5!hb*@QA2B{dYC& zDXEA4NChE{5{}U`^ilx^fk^$F*_k%DbZTLvaZb{qJBuIS(akH{25ti~ERC4B_C2Ev zA+V>H@pLeCTT{8j)>bdYgsnLdXP+zRkL;{))JP=6__qU2%b=!n|B2){KUtu~{w!?< z(E|k4k}L?WRE2O0OX8QiOBCQ4XU2irXs@jS+z+(w_n;m61k9qF5mtP!k(XxbY^SWM z-@QeJOf(E|65ICIAmRKI90PvmUJd|kit%*Bnj)RALgi?;!0&v?0O5}Knu@-QYDAMS z7t1h}sq)S9{&PyH?75baG-)d*`URQE9(w&vypdUg_t`zqe%7V_I$nSMo#oCZoWjl` zdj+aS+u z#Ha?=$7;?=)3w3__hQTfG4SThkR)I$wg&7GV$C7(M-O0I0U)cyZT^?#_n$jxr1-J? zjS|>yz$|_eZTY&e6ND?t5HXO%So0;9o16?*Z;}cpkN@kia(?HgO8?GAGz#<3geGp&^JErzxi+-p0MP&i6okUPev$u}%P<17M$!K>#oY zu;doEfS_(6HLxw!XyR(;-Yj3tawhGw`L&h(6jNmPGID|eoQERS7ovk~3LnCdQ^)Aj zLdzu-nxjIm(vm(opo`uO$cY>|`|{O$pE(oz_+bRUQNvi}i1JK&|6oa8FK7(;$`?Jd zw@bz#$XE7%TwKrtYwHQ7>>3&yp@AQXGNRa>D!x&nNZi^gX8S7MY5A5Ekp%pj4jWPB zfh;w>E+;m{=!hC+%)a@5$a@obsN248SSzi{k|L%;%335POq-B2MF=qo*^*@6=HDh; zObDS&Wy?C*%QBPf#8_go8~bj?GRAB@$8_E2b)RRQ_kCaY^S;mXexB$3eA1Y~%(48A z-}*hizn)a=-e9G(Hy>l1<7TO(ko9fkN^#thB&ffcO#PH) zKj7zVNNocOBp`7Mv4{i1$yZLCN2rPdE6)K}wqrSbUp{auX2$ou#cUr7ooNDSZ$3Q- zv^Quv@xm@6ET6PY1txk4gs(e4|LPG5PU3UJb6JlWMojp(EwctgTO4hjHRGzJG`>G4 z#u)_$D4#rr5U?-#dUEmDbX`uA=>72BkaV29UBQV`r4`ct?yt0GSM3lW>ew8yVJo&C5xAkJOm536kOfzSJUlZmVU1sL|?(^_Av8c4_olJ?FZM+o$UQmeI8LU^V zk-tHeY3JKaq|VBm^IW30*;KPmcKT=@Byzxzc-}vjVUFsH_33*}4A9sr*O_2{&}@=}MMIU2*5C4p^o@5CoVuE{`D(#c!r@Qq zXaBCd=VlgApN~{%rx-GW;rQW`Lp>@%g_i4OwfY}*-Q$5Tx0wVoH{wrZIprugzs)ZQ z82k7!;#SD9J+>YvKqGW*L54X)ohCd$0%R)Nyu`TTT9+nomXK(&p5{vaF6S%JQo7ae!dRGZ7~?X=!smH5Hcyc2oFxDo`?O;!zL z=mAqhgsm|@udoN2e&O;)3Y3zIr_Fb3_m^qEpWTS^2N0hnt>17w#`X-ANn{VEK?%_&i#VL(YvP90!74@VEbWcG*WEqsXZaE|MjNzlQsR2^Uj_ zYJpeB59W(;F<{Tsj#8wXw`!*M6h)(^PViO724VE;+IW-CmM+j=6?*%=>$B)-5dncnJL}%09M;>r};MJ>`ma9CW zOw&xB5~5qAY=4_-(Q9JfQ#5f`F2!!-89npxde~d6JI$A2i)s-QDAqNi+%cUkb9{m} zE6{yPkGs%yoppm4Yar*z>R~j$B${8Pw`!uCKmbI(su0pL=z!Wz_HPSM<;k(MTK!tN zlnNNHufjr=tnG0-$o?6LPwnJyThfAGprQk*{-|n(9V`V<3cxf}m?voJ?+VACm7UqD za$AwwZCJWV;cofy^V{zsL=rZiia;j7c0za1XtsQD~=+*D3QR^~8E9!6BQzNjKOHqfCaR{rwo$ z`pe(^TU7YFaW?LQulF-_8OA(j@1aEZC3{3ock7ie6;X~_2PZ!}dIce|btNl<1Sn9N z1cf7FY7I06j5hq?jBN13FueTk(Za}$LpiZ;X>jA>{Jc-C`cu~;8x99QZ&Kus)z{)F zGwu{5BbkEd*t$g^2XdCEmQazuQb=yRY#l zKz=4m3r?c>jO(`*mcvZqyOs9m1%3^;KRqip+HLkd!lGJxaI*e_{Xu5Xw-tphGiq`h z>frQFnpsu1pQ=<)D)&sP)WOcBhmq+Y=d`8+Bu2Jx_rku-q>LjqFT#rDo&pX!GKuA9!@1(*rOc5^kAXXV&X)fHhg(tyb zO7)eVMEfu;X5Z=4zIS_FzODN_Ty~UU!@SYHERkSnE@E8N$EcIcThI{;p+r2MJ3|+y z%s;_xpzu~fdrfJ^mB;JlX6s}vi~;jMR!$*SK3Sl`!J5c4SBQ!#O79Uj|+_-E8OTQ~Ry_8dS=eFpTbenu>`SJ1CP@t6YVMZFV9kNbknzui6_csYRxRtsF81LH} zJ^n!E)Gs10Q_tQ9)ve}0-!BgXux6o;&624d3qeTRuOz zyJzwP+kNh0xbTj#7y1@Y9GaYIj!-y!NfE>~gBc)73c_aKZ{mY3Jr=m&GaTCp^seJ-bh@8AU4(!N`>wM?sxy;2fZU;fDhJc^NRj105RMX)uG9Wph)4 zek9{6!&JxNSw>Rh`HH@QQTS_bT0KehV0t$@;KGWU0hItkCJLN1Un_&(Ml&-hDr|q3 zUmPtS`DKr`?TzBE4G7Z(^sl4K1h=YTtEyXma51<6_OWCL^gS7PqMBBtAb^~RH_En6 zt+%wLrbbTgiGI3#XYpa@jNA+bSls?rEpT2yF{`?3NAfE7h9r5R4i$_aRnmY;N<@0j`u7z3`c_%d>Gi zw{4H-lpfE?n3ipf_qYwxq5A8_u{3GJ+9-wq?H!0iYpbiDK+z*|Ak|MC=|H^)T@BNY zuxnR<#U|9`+rZdrARUrN9QF5&b0#Cxo6Ibi4pW_bmhOt$%Ipd!4_cHl+%A-ML4UnLHR0!2$`l0W)L5Oiy zdDR@50Vf+_SCtq9#?~%q;sRbKv#$~Vc=2SW-x-jO@_ugI1spz2%&KhS5m2323r#Fx zpZyLaKCVRLlg8AbTT8%9@6CW^`fHk(^PCK)9WKgcp&3H70-4#^E5~D881tWk!0>T` z(*rUi3N+cGTq>fg=X7fX6_+-o-50o$6tW2<2pu~q(`z=R*U|IAfzD&qjv_g7dj5~O~~#+cP(4?)=npf(=Mp>7zL$3pAI z?sw20f#lHe5o{5Fl_M9fmbn7S$aH22cTnW~3&Hm3gStc5FovMBlT#Y|2Sj*)S_Vbqe2BR%5pM53XY$VGKF{R^&#Iv)-w*fI2AewJrG- zH0b0%ic|-sPp{a<1=VyWkIW!MldG;2K|iHFV7^t>;aQgGUc*F>BmIoWL66ghOMs=G ziR{b6IX97DZHenxLvVPVwBJ_R-9LRe;QBOXK0qA+#q?%SAbHbE>{BKebNCES!*@c{ zaOEl{OXJ+qY8(NAR*Xvp+|$CW-)(~aUt0DAk_bmcR45I zBh(c$*vBaq^X8yU%A`_H(i619JOvl>+b+$TZSW?}dV`uCmLkHg)&q)Ir@wqx+4N7q zjWOpI{H@ftplUjQ8B+_p@_#7BnVJywJuA9QoIR>7_t9z&(Jyjv=PpMVsq?Z$+sOoWAa)lt0&Igw(l5`k z31ub>7gS4p^JoEOSKK@CWj&RPp=odIpFD%Fiyz-u%J|u<7VSG9+`Yu_Zg$3-de=8% z_s)lN4$-p4-RYLD29x}=gojY>N~QA?q;P@4Zu|a|o$`gg>rUo>z{T`w*3cxvaE4cE zH_!A!o^3eL{}=OJh3Z1-rV412+m9o=8kHpTC+J>($l7@S|^zS9} z*BEo}say70Kz1h#^(T>2iJGy9HaU0RS>x9?5aRL#S*>SQL~mwhCig5Z7iL9qQ=93T z!t19mV@b=54m|((EN|67foEm8sG5pXisQYm>&)lL@rOQzAC0^hIkP_y-oMWyt>5n& zD_PlY+lwR9LDqvTbS24}xyP!GdBo9|4eEeZm?f!6ByFc8j7(&M{MlPLKv{eamYFDz z*^jfgOoAfF$m^eL)SiEpK13}jI)d8EZpQ3nIs*IY;8i`|nr-V3_&Oi27Dv%ZoBE=r zMo{W9QzD2h_Lyy`9S%hnJnhwGRMR_)XNQhT5QVnz3wjQ(JiESK)q`v6=GDdjYy=7X zfnRgCxmMrL3CPEU1bFSeN0I&Ig{xN%;doi-PKS`j)v&{5_4sJK!L;1*P7zVn{)Rq}N+-VR-AjgCye)n?w+m!OCEfZ6?fZs?UU~fgx>l=04pO&a;C4wf{L{c@~t6-d5*mZ zBeSyrXn3%ZxWqB6k9;0-yo#%Rz-VUS=U}7y*E}K0v;re=^-A%&1x~l!c61oWRZ~Sj zf-RV;?dP~PpcR-TD#myWQ^C6`C$e31{YD>Hf`lvcpvbv;az{7G>|n*OJ+ z6bBcCkG%JaVpj@5^pn#Yi*W#cdW9mzdMXd_Fs_~3P_YP_%aT^zKU!8>|M7=^Ji@er zhjJVmdFvI*uCNCHZcYC{q!{$uOT38?uCW!R)nZL(gYG&Ed5YXYEE zGbPGN=9)_o|71y-cVAk+=Dm;0TH9DM%X}(2;wIuZ8$Jt)e^i%QD8gT4Z*su&Ai0@G zGj{c^sA}eGLp?j+gM0MCtBD8F=GrkC>d#V5n>7MK+Q_&uv2_^#TZ76*>KrJox^%#& z=YY}IlJgTm+Eo7FnnQQ6wO5(#wCQ%{7a$?`7SH0(0?-_6^*G?m1g>2HhOT;%xrA-O zcX6}z@L%xDvr_Ev$g=G~dOXnB34(z%`&c>rnvWhp-0$ zk2*>HAA+=dpFCrapIBMJmf#0pmef-5GiD@Z+dlb3qQ`w-r;-;SCd2KKS#Z79R;YfY zMp;gEfzU*Vr3MMB)272d+wK8Seh?N{>?uSSvYUOV;q$TWemdgs*)#VmHo<5MIwr&E z3ncyi&L3R+EBb9eTWkWS;$a(n#tsPW#TXn3%#di;4^=|zXo0p&uPNd#vvM_BG=<|l zrueD<1q{1{W^Zm!f*eq_o-3s)(5)$|aU6SY{D>{+-OMiZ3cf#d_^1}icCu0LS8Q!5;#qYO7WYjfyYTu>I=Am0Q9}Vv~ ztVLix5>XmP|I%X9Jdn97pM4Sg2wX_nqQVZ(fdgi2U|H^f{DeHP8WZ=3AVk`bm+QrJ z9u&PaZd3Exn~Pp6aS2+oOOIvH0X+BU53a`iRIo<>8oU)T#LI%NgLnQ1ycPdDx|N$* zs#Oa1O9&e2W9k8ebO}S(bw&!HdN2!~Fkp^mZhiu)Idcw96E_U)L47rC8XjjURjX{p z%w-qmjW2FnHLivgS3jN{D3U_Y4xIGA(X2EnE%A8C#W3&(mtQ)|W0M~bOP&Q3{C~F@ zCh{-MFs1LoYtvcon=zZ=`eiCVxDIvYfuzf24BY|S4AG>3)lSp`5ST;Ik^ym2!h;t; zM=R7XBpmeYV#+TdH8N8M+3)b+JP(4Xf5BU94LJC3LDmRi5Wp66emPo($b<$9`^6Yq zl>_U&vaLW736<`WR?16v-Vt#III*{DzY!}eWQfS?t;|!mM`Bu!rRLVpX%JnGFrR>q zVswxm+Hirq0vang4jqnAX?oXdI(2lbTaRKA=F3S5<<+BRqithvVr^L{>u)qP5&mDa zxdaEKLJ>Yv>&Lr<2mL(*n(iaX#`CMkK$+8YCZ^)=wcEzRN(N z0%P@;9WU}lM{3B@-*4j8feyCQX!&@6ims{w+03rOe1t_G{*Il^vhSmo@I$owRlDk-adVLDc#tkf7a9(If_`?V$+i zJ*6&u?P?&ZmR?F#oEYKK;yzSHv@i)y-2P-}Qm4NBn1^CjyW#El$l`QRX*vKGfKObf zc(S+5LA3a0VwRfC+l=FdHaU}-`@e|Pr3SiCdp9~RJF|sP4I){Bubj(FaLTMmZL#6*(^ zFsr)}TP`1Ux&&&mk8bt*DVNfYs(PuKO_rTmSEHtTFqymC^!ECe{o!FN&p(Tg`2}-nkF;6x{~L?@e!q&xLyqf z7tjEQ^%{;Z{lD?+e+o_ecWKxE=rtB_>mFVDiRVO6ot*{ED}es0F@8ENVHuER5-zAw zwVI=zEV$ZEhJTKats;b)@;)qh-sqCmFDrNG#_G~zVwr8`bhwTa;!5Id z@N}F6Fs)sg@_;@9!Flh$ur_g?v!1h_E`fNdONhiu1(1v}x>xZ505rcn+=(uigS zkc%r#5BA}^N|aM_dfgUC=W8d;H~5unc^CN{ZQb`SMEb&?y}mzxFSt4lge0R)4FmHM zLiT`r10^;canAH%X}~LWlQ?1M2lAC0-f<9bj}vzgi^gYE7rSj+^wz=IErK17qBETxka1j69ndh1F&qXF=o>X7y(Jg=mEM+P(Ke6JJ(KEc= z3ZF|VHNMZP>D+321+1}>DmQTGbdB7tnl9_sy`Pjob+-P6_UkV*_)8~B<)mLaRqEa4 zCK&=ZUf=ueucHIcxn~eFKvx~~1(!C~^Rl*06CLY7{cBZe0OYH`?}H|sElQC}X0*s< z+qbX)5b6EV5aF+v8BicKUU97uGmGevxlzdb$<23*j577>mZPv&waeI7)9vs(udP6H znGD*)_kp0*=<`0aB%dsKOMN&`wfAd(<=qQyAq#4&rS-s$nDYI3cAW41ffKzR(dGiH zl5-)Ze<%pfog6Pkcd9ZPa9TkARVLxqtOWOL!*hf#N-K(Xjz&el~uLXB6`VV3nJ2a%GcSY2%#CIClJ@5^+;f4iVZFhrjr9E1`%e19r zG#qp;m!f*4_#dIq2XnL4k-FN@O@aH#=brm+vqOJ1@MM1$0}k_mYM<{GL4ooHC3N!D zVV03Tie;zUd1(>GP1B{G&+U;4!pYE*j3a!qacJday=CO#o&`&b^uZrog6uDBk?u|( z^TKbToqD?3<>eCe2*o`1>1&{>ag!GW`tz^vf&}{q?qq1Cx%kGi?;hx*AEZ>73}+ z74Om6WU^K!qVOC4Ldjx#JlS~-jhlLq5|gs)HR=13V`e=-O`GXt4OGYmwi=mS%cbrm z;{6WOya(r>c5kICJSwnE`QF=`kZvi&*HogPk&-Wd6efMB#--ZZ>m})3wxFcK{PpD{ zZB_OCm*wGopT2RxJDxvN7vAvM)@0}|st(#ATQs*&pd$|ggBzO(n92t1^(;iNDTk=D z96Hle$}qV2si0?i?0h|%>67v5)9sh>;J)^;ci}ILzlq)ZJMV{K!#FVwBR@wGa6Fx% zbH4N2uQ%=o%HVTC?O>N+w{ZYSkGP{}G2d$|a^_3SPR!jI*~7q@f6Yi@)4D9CkxE8t zg%V|iv+|TP06b#D8SnpVDAvEzwg1s;^eya7ugNQHenNMq*2hnezqXgjhh_CyyObPQ zFRp=ez3_cbFmpK)2V8+iSD3QS>zNy(YJ8$U=^50tNj7YR9rL(4w}Y3qYdlK)z1tEt zL#CppV?1j%uVpq#*p7f;|Vl7!tH6(q_9oM`;%-j#u-?jecJP#t7p?F zf^^^|;mOyWtib)kCW^%7o}{+fnVA-r+;BwTVB3+L8JtQss;(w~1(7%b3QXIN{9Cxr z3E6*sVc+8iBS81hz*#$Df-5VU#3;?8@3I4qdv^`a99skphLjj5Q21+A#|CJNZQ0qL zKHhEl!=M)-Dw+@y{a(8*wg%n80ph#;JrMujW^x2~$R2DxxbF`d-Fi}UB0!^C;@5z7 z7;PCPVmz;m67@4};~2~IAt&y;12g3ga|GwKSfx}rrF;2)y`OH&Se4w*#?yay=f)GP z(tSr*4>A|?$kw(`GP{g=7hXEjt1Ao$)~~UZS9c;)2gq8lt!BY((Cta7r~K%MpgD2F zr7#Z7>wId|LeAD2l_b>H?#C&~A8XX(JuTTHR{rABT2`t3NA`cr%nUgL=uX#R01p z0HCvg)+n-K)S~)Uv1&-fqJOH@SOafP=Y71U;N**|NTtIkb&9_&@#S#_CjRTd;J~MM zAgrqL27wS;WeP(#mb<4sfa<_3xWRUUK*||pF>_1@9j6X6c@|SX{!h(~Gj~=ZD;&hP z9Vk&?iLoGdd}oB;?MU^d0u>x(NCW$Ss~pV^HeGa8c%+eb0p{VO34*Yb-~Oed+zLvfvxnY-?MQk_oZs;TGco%`LZ|lWdKkMyHWMnhT`K1?(Pn??4Dx}Q2Lvh zBy0(MFxnK0A!Dmb4&OtqfCZ`lM**69F?mqXYoeS$=bgY7R)!>D1dxfX1wXn5GI&N5 z71l$bO|>Nb!9m;rwk7Hkc*za;_ic5KmkmL29mpJs0Y!nY3&KPYh2v+6D zGj{9BrPkyR1^S1qBQEA84lWDQrjPW<9GciYgtwBRv<ozdwQF^%Tr16Z< zd!6^}hQwXomo550^T<|t8}QM!9>fpC0N|jWtcT|{M{b(*^+Yq69dprRLx!1zju%DX zgn!txu)-AVVe5(FXW+KXWNf1YO9w1TDO8_S%nAf|lwU-zI{nHi_Z|GkVX#^M&N7G% zo}LA_{xQrKc(6#{4-9}E6dna@T3S~E@qz0Y;Kp2gmdvk^A*=;DkC=I2nv|Rn1?9UEztR zA0kc_dU?lEV&ArFk-*H#77fOnX)?ylIMz7p=^gx%I5N6}o&@&50c;bz47?NA$|sHs zCFQ-PG`LcHF$b^Y8Mnb715PNXzFt4f%ixk?qc76F;0R#GvS7y6lt9)4P-D?bakYX! zJdn<`V~KER9sb>h{9#KtkJty$V3BGw%Zdar#H~NLzE${pOVj7=uJW?aMJ;0SnTzY# zTQ-23gLdqW<0bd;jY%|*?u|E=JR|LO=+O~y>Dk6%pXr}$ap@q?!rcd9!awfT`6qxu z-snUTC`r{NYy7sIJEQvsUS|1PX!SB=N^8J91LHNChIb*0EFL=`9j2%%MR$B*y~jSI z?tvbagb=jyCWQlUDdNjMpiYwT&+eJLvG89TPJV-EG6ZHkI1#yz+5sI)3|?NQzY+g% z@uUM2_-4i~FO7SUWKD(DL;WYgni>{^14E1Xopw-OiPeuJ>Q6GYSvxo@b{SlF11kg; zmL`|R48#F#Pb>o4^R~x$Vgm|D1BXvr9pskE!7cvn-K9rh^E+4B7u-?1{A7Lxot&_a z8~9A*^N3}LU!w%U?kD!UlWmzh`B}&+LQWL8pHaB-+K+mQHH1{Cn@S_^!xE4*xj<%k zKRA#d+{f9^LhxrZ7m4gGmLSPp`~W{A3UbCt2htt@bP@WiGyo`}!1DY7Q2PG}BSghg zuL6lRrvZg^>uD?i_Cy#%H@IiOS{*C}9OTv86aWI~Kn@#cnpV^Nedf{MAb~7GexB zT53~oTspGAm*%tIU}3o2hcFw*I0$`V(n3>dnQU;LIdzNtrIdDd6Dy30SGto|kB2Z~ z@Xq1g>Z*&i&%u>|B4{fA2iIu!53WAj&(8>5gZS4!xR3`vWl%LP zQmC0EUOqrb+F9)4DoxY6P6@027FEeF@fZ<9d6k#i_jy(C`O)XT9@xw>@hr}rr)@bg zQ4UH9ChjtFmxnz&cHaTo-vOd|5LiYKvk=e7LI3Idk__X@CdpahVn<-*;sZ3P2puwd zR*50(W$erpmr1dkc`aP|h41sgjpTjf{Uyj>r$&MO>COK9#-CmtL3rb*N6e?F8sRiE zhJl{|EqJ(*cOwl^wIUQ>lWM)|gGQ|D4*!UPu*H%MyRTW*&ssDh#o0~pTwbO$BCH!$ zr9d+o=z)E2I?3Rra(6N375lZJPXD*m;je_glQk!r9j8M^u)-ISC7u^Pj5%^z7~~$3 ziK3-t`@vgfXKg7<-D)nmP+r*C4KH$c_vLC!m5i@zD`}wMyN5|yLAb-F6Gv&N72P6L zv)*F^&N1iv#&{^jw~nJo%`V*~M{?7oTMZ=}#m2YW=ohNVj-K7S*j5jUmX*NW3DP*u zCa8Ll>`6UN*TOMYWTpe}@S%&OWnkQuK8Jof27erX9@7`Iyzi3#RdK+DdK*ZMI1>og zn}Gm4S$-HKISk7csAja{RGqO&oNUXT0Y)c1`kU?IbxmJ#T8tLk0@;CYq4^Yk3`uGW zlwNqmx@)OY%?qQwe?cz(GQfMFn8$5ki+>7$*;Z6A)5(C&5L|tT!XdV^f?=6uyJAG3 zL1{t!e)Bi9J&f~f9#V|p%tKfp+5ePprtH4hr%Md=vrvI~ zPq(IMRYjwBq%>F4$A$Z6PO8P@kt%ZiX%jnWMlpX6;#r7g3h;mFKS*S{ywQ8>#Jp7?p-`wfi;kf3_mW10|%l0cOP zO5b~2F$-;FCDHKY<37HSd#J)i;%}4cG&G8@Fu1Hszq4BACPCrL``4yc&iiw2_kB-N zZxd&Lz)5W*!5KVQ_M;B^VdQ#tlf?!KE`ichDb$UATz1CZaRa>|zt`SXYp<34Xk09p zzvH~asv7%hwAcO8NqXX#@viiXKf7-ZCcgYxN*iYiSZOnmUqqFRG#e*N@}6o$)Qda@ za3ooGiaRP8^^FbtL{a&S*lBNMl-Jwm|Jt_rsepobnZE2x!@ZGbBOXp8Hv!rFNDBnO zaab^(i~zQ@%J{prA!*ro&nc6{?KT%Jx+m|3-wv6?lWzE(18xYw@6n__g7bCgx4p$W z_UN;1RuVn)F}Gch{Y&y9)*ZX3P^SKhp_I%*1Alj<3`7G+MG$ZX%PdLb_*v0@yu*45 z)Q99gb{c7$PeYqX@YZ4>RqNK;-AC#azcz4Jc2EiJ~Rt#`?%@Ky?1Mbc-1&0pF4H9KX;_cniJH$0#Z@PW!BNvyBR0=?ZHM*=H zmVQ3!*+O0T`0*MDVA(ta+9_j5N3gjck4S`CH4h0h(Yb59Dg{R?c?uR8DA7D zP~sqQ-{O1y=2GtmgF;uM!aJ7T{fyitW$(oMvLiNL0F0fy@n*W}2G>+ZbFB96HcfAT#N zH8~B9|003{&~GPn!s6$-Sw-4vd>ymPN%&2v(u_H{iivX+zz+pr6(Q<{3S&qwjv^YE zNe7B(Cr1(SvNmKcUB+zzjf=MoJE;uUK2<1$aXV5yJ|H*7_=d^b4L@_bYZ7;lyA!vB zjT+i?!Em@?K5dHNDieAw#ht@qN=9&~Svd5G)9t7VhL%HAKzB(%VIj!O;C1(~tdxhB zmxY)DTPiffJ8=i>;%gq0W(}?xw>6bDS=mUCHedXza)*2U>T8zFXJ9RVQ7|&|_h&R! zo}_upWv|%z)yThy_U>~3*EDabKWDz)gqiWKS55x2jBQhxZe)H;#7=)g8p6e4Tq837 zA*kV$5UW9)^w-rET=r!00}72@p@Zt4n#3h_1KovX$xjcECiUDeC7vDbDcd^Su&4GC z+LW?byZNP_aEUz|lRglWegT*1=D!9U(;CcauldJY5y6y z@~?V(BQPhM_gr6lV&CGl#V$ynud=3@&VIJE@Uh;|(;Qy6Bn{Hu+AC|p#T_1Hk?YQG zt1~%5ZYn#E>GK-iJOhisHkLcoI4PNyw%_HR&zck41n)PJhOQ#h-N{}ahk2p+1N##9uEhD*Qvv@~Edo%py)aKH49QBNR7YB`FAlI|^Y z;JmCV^=|&PFD@#~_%pu1_@SE1d%yb>&Dp@merMbrHPU3N)r4=fX&s2FFxq@ZY^Zz= z_QJ}-uelqQ78|cw;*vMzEhpIin}WFdH+yU{n+_>52>kySXze(x8}J@MPNLo~f&CeT zpA#;|0JHR)n#^Z^(bz$`9Y`rM>vR4>?@YMk7TiuKYae~8UOoI}&SssOn0jXD(M&y( zw4`LQYtp964rRxt{L$bLSHLcFTnEk<%9;r>u#sSHm zSI4o35b&D+M0BdW1oCI_9Wm^UpgQ_;&4I|vX!zbAT%V9Bf{SYBPSm%JdJZh9Kg*DF z?eqA_e43zs@6UO-KYhQB5=-stgcn1OP>@PbG0*bq>>BEW)pY>3M4SqoakT`TsD}Xw zUQa>s(>tl+{n|$7=;eO(!!VlEo&Nn4k4$W@pH0{COn>DOP$S^M&1Q?|M_>vU8{M(_ zOzyX}B+R;revuGoRdv|q;#?gMr^WSGGdA`_J)3P-bg>9mEI--yWZ%5i3C+|V4d4Pk z>YilVK1GR5B|yXd3+&!k5aIkoJT)QfvRDzTj~d2_zWWNW}MY?9X!ErxKUgL3dITx2c;~l=-_?X+bW|Mdzrmt1oPGQ z2vFER52Ifzq&G5L>?$o-5vYCNXZl7b49p*fQ)#cDiHy|&;8Z;Ffoz#)3Mg=<+`Q6E z$vY$q!`}JoZqK2p+w+AkudGfmWoGbu>{@7{UxcxNb4Y8|!e^cLi~7Esh+9jE(j1Py zjCXw{$?dy&r~N6+vw=KR7^mg;tn#3!MCwvPRg9iAy(UTq4{nEY%6t0rtBNon0mM@Z zEQMn1306F))VxFq_}yt??;}tY7%pzcah;Wnbu;~rY6`*_rCHvvluG~h*B^(o{ns&c z{Z0U0agXX1-nSo|g9{88e;O!RtJ`KmRESCB(3NSCLld~a5PsF=oH)&2}uRgi; z&17{FM1R1Z{;6g11cc`K&}1pK($m{zHu7aIo|RNv&QkwsAfIxtc4K|Y+$$j;M&DJM=2i4>OV%Dm2O9zc;rRfVouo#qBS+E_cYUfQe)whqFeOc!RiMNo_9yyzOBK^ z%wfHPZo!{ITmAGLhx|?1E7kE$&mQTjlm}ZD7C+yc6}om@{?xA9T!RmIHkN993efA& z?T3hO_eS-+?L$@Ic@=Pb*o`=0GBtb4nG6E|l<*U|m3J{73ZoIe+L(+Z2B$pNIu-Zezx!m8}Bw)wG54U4yVdhPeA~m&R#WT|kCodui@ns8gjV8%l z+$2!fgkP`pW4w01psnqe16ca!J>f^L4X;z5u0n~>oU35FHBQ*mw-rq;I}1!z=SUhd z60Kt6Z*glH_K$Zt&SLqX3Y9Wtjhwa#xPZH^2w#_(Z{NXF>DPR`LnUsqJc#9}hJk!| z<-o%$P2O+in$xl7)uT72g&3DgPaHfEefoOK^X(gThGp*^ozUI$G&MyU$*(jL)jN$+ zGd*L;Q1)v6(sBHZBT0t#?#7Z~!Sgk%Ymm{vt3&)kPfO$t>gHxjB6;2CxB6p2*K{BA zroe7Byi)z*JG+(Hy1uZknhP%9j2j?ePiDk{0j(WA_;8p&GljY_-#sr3&mhU+t71@H zBU))zu6W+P+s9a*ul$7mE9+&OX1PMENi;f94BV+K9)v=fisAzYv)@{noj>}6OHOzf zkJd-0G*DO+X3b!qEE8x4m&?Zry*=$Io-;8kLVUX0ikaf4m@jTi9GoxQI=DmW;VU=6 z>s$3yFJ8R+C4JYdRWArr{?m@s1*oskHazJHb9)P06yQm~KgenedTBn7g=t>AE1AHu zSm{BlIQO5d@oJWlqT*>Ppqx)2Nz=sHe25v*l4mOTI}F}#d`D(jsan-EK4-2^CQGMRFLms`g*#(KpvAjTm+KgpiZ{j%^>VT} zo}Q5@Y9#2ec&6|A;nWyVo-p2H`FGGWAxbUD_AyG%OO57Q<75A^SVyhLHwfAIu`p`) zfXMLUaGrgSdxckFHE=S*to6N~Q~*l+v(xUe-R^p7!8?48MHGol3HVC`+`Mh=d?;oc z-flg4{E^>{Zi|<0zP^v|9%IH?6CAhZ6MzTGGxzyC$`O(p$WBKhys63g)?uJE7$;QRtF))F$tTP zSo&%r_{nzg#^7pr?3158y+ON>Q;S2MtnC(jpu`P;w;kTazl|0C>nF|RqgPjXr$_dF zM~p(muS>~5QK0-T$*a%^Uo3r}6Q!0GGSkV%O#aR@>D5x9IB{{4^sgW6jW$?AHZd3W zqf$gBE%y92TtGQ7&@ICbIfkK0<${a$f{Jfn)thx|LKcq=z9{5znn}=+WKYsSfQArF zjCZrwsmlz}C$iS}n{Z~qm%$~cM3ZnX!cDH-Tx&XrwQ#Z?A`HXNKJ0gza`5#qLEw0{ zqh+d=dfDxoe$jB7&6jV5=?oKXDV4u4;L&;N70g<;pnb~P6USc=A!JxQCLiCaoZblOd;DEAjvqodG zBTQ)7%(>rUu5IZoz^cl=c&wJWeD6Ka$erh&*iX~Eq~d^M&^oUzI^?Gh*97XdX7hFS zA!N^no1i_cVx&GvbdLIs`s8G5iMKrQwz>&Qj(m^)pj{}_VsAd01>FLjqL05uI`;OQ zx&4^Y?_PEF0}w+KG|8e539^0_mdfZ4sKz2;2Ngo5S9t$HSilji#K1y+zpZMUk*BAv6>{h=2AR(ICm=Xp~hr3QA zYVAkR#)*HhsWW~1Yp3DHO?PdhZw2%1316{#u%;_qM|64^(KSt~$z#d55~O?x~3_y{))iT`a_$K*438NJgKtem?-S`sa!9DX~fLkq>tC^4pa)< z{JeL2px}~wURgd*pRAtkEZ;-{Gj2$~)+$$~`%3aBwSIiu((=859k?TY$H~XbN)$rX z44qPu1u`cdX{T7_2CvD>(2_);I(muKnBws-gdmh6ZE`!71Z{FqO$nJGpS3N1Cb%7Y zScdq1D_nI^F-vZ%k$4voBYS7L1R2-&@|Mh%B*H}%&qWq53fxDC;&MA|0(gUf_+q1f_$-}Or6(X}QPEE+SH zD^AYQrN*#cxDf)O&F;Lyb~w3`GIrz9xLIepR=;ZRU22)>yZ3!Ov2T2u*qQdQZp!dl zlBx0C9(Qoj1)=Iy)+x}Zb@4cWE_9}KVR)HH(!9uoxEUFj#Cn@n5GLH4#djgRk$87m zkS5WjpzMTr1m{<-tTFx0v;`gk7Ehf-|bR7Uv8!W0pOv8_LDydI`C-DT~Nd)L#0! zpD=n9n=I1^IlTrK7pc0mhgQWd=+hrd*7a{#3}lC9+v&z+A>$AFRAa*20F%q%@qgkD z{=gsTTDi!jjHp~W-gPs=I;?#6-p8vUApo-8O{OO8!oIma^#RJj6@?GMSIp1xwsbTs zLcs1^XZN#W*sv+hl~ON{wml*pL&3MePWbP~YGY$xcw4tlq`84WRQt;x=k$-qUz)5J zIR3c@yM6X&rZhM&{}GBlnDq!G+zEal#JdTc_qXLfv))3#g1^TcAwG+&C2{f_@J@>V zR1|*8s| zNpn#DyysE!v?Tpl6N-FNmL5jwN@>jKB5V9UXc~FpKOV0=*feW<0Nu!ip7h1uiGSR0 zUZ?J9eo+7bn>R<#7mj1{jG|b9~s z?jmyc8A}&S+57!^p8Piu_ZQ=~GdGI1=IKm1F6CEsYX%0Xsl2ySP1bM^Pq&v#`Q|O| zcmME(J)(-ciC@GHu;Mh}ezKH+nzv-kwGv$3%Manxy5BlGhZ_hDQ8hCU(Rp)w#zUxz z-K}9KD|9Y6-zLBmlMY{d(tG1gvGxR<^so>?KU@US4mz{dwU|eagAA_bagbYH-vsK} zndnF&^}Cj|S#2EmtIIshiev_S7R#CkzUTlziFhpD0y&EV@W9o*Y9A4F?$}|rEfB7) z+cKb5y?mg}l_1L0Uq9l8C-8lopn0zq_75&-dEzhcxA!}q&Vweg&y9Y82*D`$m?0|( z;O!A4c%=+RSa;Z0R9{5rUDzzHsztj-i|4rL%%(lfCkFYuaiBi?$lGhclu|o0?xcZt zmFpNoL-KLdI25z>-GvEVXy=xFHP%oHC-DYWxrK-aD%4 zZEG7vK@m_<5a~okK&cjbiwzNxst~0`ML>*zH0eY^=@110sgWj~Nbf{Ch)C}}^qx>c zAZ6c$=iT3X&fe$V_iN+c@s0aOMlhzV-}UeEAL?6IHLdy*Bu zoib`rs5^e5q$67iAeUA5M?kXhH_aHz>U|lob5Rr%g0^p|9nq}Z&AOCdxqJ*tG@4r; zMB0rBlG%xkgw@2c8rux1%c$LTHXSr2&`brcr)|=CZ*wMR7<^a8hrif6`Yq5ZYBtBK zl!)ltihkLeMhbtNy~y{Wt{#Y5ZHg_wAc@e9q~tuc3*e#0jvKSIz!v9I(4dxKxWwdSPv2dc^drV#WMy+74VweJN*_+myR{Tko|{QX7WL$r0sa%R2pH1M@y zdi(jp{qnp2;Rh_qyA65FwnoC!sZ*K#$VVHDBtvWnSb*X-?DLU@gR2az#29t=&0#8t zbbRzF>~{2&%Mm#3>KEn%%BBaYq5QAqul{+=Fx>j8T@KRDyJuXrw|-qi zS>27#W|_~S=s9xz69-u?)AXi!x{2AS?4V7u^)ov)T@C05OkJ++p3Qxus@}EZmQ`hL zGtgC~)6h)JeQ{K^up>@Z%?PM}nSc6+NAaJvMq*nxX-6<=ZqQ@OHo2=HquOpZKJZ#` z_fm8-O`VF^tikF5(s%`oh+O$l8fQ<<#h8v+4IGq55<~4R*@_wGY;I1g?w^@;|BXX- z@Xtf@pP#WHShKSc1f-5S!gf@9jctw{m`BrTjZM;SG5I7s3X3;vhk%ABm1WgKpsy?2 zuTALqu)tApahPaybx1|2w5eQ$0;1VCo*yupKmPg?nEmg4=GgNBXC<0s3V=!YcM(EjicO&bAvJkc zQ|f1w-t1!t{+yY%qQA~vk{t04Nz026J?$MiNn!|0Un3i09MBuBpP6=WzTY}qiW@&%x z{`K+yYu5O^?bZ9*UDC$6aKkFUUroORB^n#riv_P;(UAFypgiAWcnuYyT|%}#BB)dS z)}dP-1At1Y={f|p%GLX9FA`|W?Txl7f&Anl!JCFZxp#!hcs&&o6G+O?ad;DU&5hfC z6VnL*NRjcklJCiv77DbPTeG!PzdQ&FS~Gx3--3oZ&q+lejZV5eO01wHQNPIOtYX8= zr26P>H4|R1ra)JiK8w&44|!)U4-l-~`RCH*_9~UEMUcrC%_-R%2bZiRZBxr)N;R%V zzgB5g5ZTVT@_AXo{kWCRbO$Ta!j-qys6`7q5^Kmrbx+lD!Vy}zMVo9P9AFI9^zUMUA0$&f3_w1J{QH2v)MTb?}&Sm^TR}wjEv3=?? zGu27dSO5z4Oe^6~Nd)!(*c%{k37f6Rp}1}Qzn zPmrEW_@lREUC}ghDTrR2x5nbdY^*pc*bKS)4ye33ENUdyo@tb3>{vNi`H&Jw0?w`A zTsZ*3l~6#tZ+n2k=0dyX4e&2aoD}u&i(O6}BLx*ZPkpxr1#Q3w;CPLR-2NW?zz)ICdGG+D*_0jzRg?$FWjx7^|8zZb&P1lG`*$J3M$ z`4Pl}vi_&CJDw$62RxZZhiT~8j43n_k^+un&&7U@87OF=6f=PWvvUHu^%RDIeV~m4 zdZ(2)SW(}=XSxE7^l0b3bkho<6SewfYZoB6&wZ0 zBQ1=Zly>3O$MQceB!52SZna_$zV|V$56-&HMuySY#Ef0+Zbe;ZXI~9G=9XZF|CJ^g ziqnF^d{u4HE*wA1$t_db3$TM^F zPrK>~Hq9Y7u#WD4{;oh>_R7F)qjw6Jq<@vr{A(2i;MDkBM7G{0bWnYAv0zIz6cYz1 zCpBqz<-(9F95!HPjmquOYa6tRXdRsTemf4hqVw-i`tSU9>@_g}NYGfoK0CYakKA4b z$JD~>zM(h!RP>IGtJ(O%Dd57@yqVp%u&Q9;_?$y#lVY~Jkwjw6CdL;!8Gv4*341xA zsnwXO{SY4pz$hOM?mBso1lgI zV0952Yqi@;tTUz|w-&Ly>qd`#9uXCzZe5jrr+7e&53v2vBHw>ZIXvo0-RuH}21U>SEL(fIj!i9<6A%ohGG zKPw-;Y0+q!JrkdRy)`h)NMZYR>^6MlW_|c0yN$<1H6Gp7%9w(d6qnM^UEcDTzCB!% zeyC_kSW|E6EI(MVc{i_NxT%;bQvz>YR0Rt~RkOq+y^IrU)$@LUS#T&m#fIFzh_0)S z4H|xbrza!*!lqDHeA%cn;grx__E&aUV+g7s4nr~qEuo?*ggz`jPG`TzI|zz~HEFI( z6C|zlKj?Tc#m_P7R~0OMYD2;jUgp*;YU@!$2~ls`ZFzw4uNwL6^A-Y2`) zis>d^CN^C3Sa)aIcTXAhQ`fb;6dekeV5mS>c)q;2#!4dvO{CY8Rwb4X7ai z=~;i?FD!0!_FxBYnct}goI6obvhDjLsQS+lWFY_bO0x7KhS=sgDrGVNtLU!sRd8yZ zjsQ)zxrbiXGsa$ zAblN6uy@Y>_GW%31z;WS(W{&pBc3jH^r6SUFD~ZgecrKD-#oaREbHmiqCm-Zmv@iE zw3PHtHCxKRWb?&{IVwrrU$}b#!vx|%B?OeM=8V=9_2$j|{2(zV$#);_tTbdNPbW?& zP%`h=_hvF_i``i>6olMlHHzd3>&|rMS2Ct_yawc4bQrWKDtfYm-Ne=9diUXcFUuyS z^3?doqin}BE~S?9@6oxo&L29eVze>)HLsrk^OJAV)p_SUv-gGs$1*TnBzp4oMaT)~ zK0GlkErHiCQlnT;E{>!BfH=L)A!E9DzM13YxN3G>bVw2EfUD$kgL{vH&rxyv+gCPQ zyqBcPw^iswiWNV<=v@+ZKvlKY&$%k!=Ehm~YO}ZukBpP~`8hU-ab(j<1hWh)Lyo)0 zC5BpWqvr$4iMovPs~c3r0>F+cUSlTpa0$nqD+^=W*K8&j7!PRF@?UQ`6V|{}K~mh3 zSQSKko^;GPt`xVlEje8is^ro;l3WA44!<%2l*;U`L#0Jf5Je;nvhJelIRbx4AkK!B z%)ie6)Mt$sCCe_zM>m;qfk|+#RiKQozwb(w$+?+nQv3t?^ozNA_d|{4#$-r?d(1%_ zplKAYDIH%jp%$&xoeN^WVgYCSS1XmW3{A3o>(EGGBiW(P6I|+5A^5LJc2ld0E`-A$ zN_)h^ddN^q*`dyuO zX1>ORX3$KbC#~mz5F8g$bGo{7#pY}nQyTkC!6>04bdL$Y5RlCNsx6Y7Qk1>#i{Lq$ zRDH?-rBr1&Xg3>&U6sJGGEr{#E6X9Ks%3HfvNLtzZQ^g^=@ib`k5{87?Sf|s^L13I zM!C~n##)|2n`Z+9A6yjsde{wg;o=c{ysZBEMY8&UWc{^K*LcPJLd{AEFQA`bdK1da{64Hu59`E8Obc;qk^b z9=pqej`^n*xE&)_%B2lz`_nWG!nwEKg0(M^!zv}#O1 zS_yvreH2;SPd|AHx6&}c3=PyhJIMNSW;%mkY@p^4MYoeCLV9gXl~s_C6919A9g^$n#g;PdM|{42P;|8D{m zHGZBNBaIPYfd?DX*drPs&qCk!N!t~*&#;ZCA|=XxtsLDO0L~s0W(D{asz_EOJ_gW7 zvT1{W1&Ae}aT}y&EyC-#w7QCyvWaSqg_RcEtuHg1juUo4pYi(YDmVzD*#Ttvog3Ly z<9qBVeTsnRt%#B=vNz)~b$G&X?DK8ls34!%?QW8QPx1~JtZ7hdfFQFVf!56gMOfz# zIxfsPKr!`j1)iWVh-=a$!|4QB6Fb zQ-1W?%v<;aK*;&mt14}H{LR(vLSKW1-25MObV1Hpy|55=6&D&ie9)NYNfQ8k_A5wI zBLp8ytDD%I$Aj>O2^{fFVlCLI@o}(;lLM0hE^-t*4H!2gAn@7JlZI0cL{kvx2r%hi zV!YNVp$hqs%~d4)>XOt@hZ!}o*vmsNc(PZ38>JgIWJFrzfeo27R)#jWnby0!*dE?3 zB??kwWw37(rTU9Q?>7*63SN|4eED(2xXR+l2U+du7F!vC}nh}DKpMnUPp z4WJ_#d7oV-Cc*tHZ-pPc^F z-~uH8PeA}&VESbTDbUW7fM1{ilIn^l zf6&=>-)5ccmhjwxgFHhm&laZGyUU%J)fU-9kvVs9%T4kOm<@hd&gCn`-0qw@)9Q<+ zAnulT`8{%2Z?4Vy7CD%=>|M!@p0s|GyW*v@{y3&=j$ag`0V(CH_`-%n!JclB%5G_o z>=EY}&D+m{PCFkxzz~x0>j*9@-r{0L^Xq#vDW}Jqo4qel6I5k9MG1|+%JE3us;X}> zF;Bwl2<8=cG+M%3M_A4<9FKeZUEa)B)D%H%3%e1@8X9=t2c~5RdCTMrZ0E6T0)qC| z`_%r~0dVwf2!0rQ8oR(br9(M@2FWnkf?iT=QFSqoBO-g0v}oAYj3uxU^#w$q~bs5u3?#xlScuN z=8o>mpV(r#V>ZDAG!;1L|MrE;7=LUrvhn$oPKy3;gS$x>&&}-7wBm}%nX66MtCL&1 z4}x#j>^0)reT)66vLv;uhh4sEgYKJZ9TfK|kS0h341-a18Ae z&OTCA?1q`)weyp{F}!ehBEExY2m&vADBCDVmL6{t85#6V^vA2~E7rw*o(@0{3PKvd zQCV!ez9M!?vQ)ySdcEJk#NZDSx~<~-_P6KtzYyXWmv$&@0}p9^)DVh_t+C@G%mrv% zfZ4A9!8lovfk_sdMv?@N=MzzHX`-FMvjCVm!SVrGQFxu_?bgp@yRqbRHI5v-hT)q^ ziEaY(q~w%xg?IbTWUqc@S&4%6mt>ekt*M@T=`Gd0}&~cDa^4rQNdC+&=0Ji&Hwm zA-C`ggmeG;1DO&}!f|s-t`CaB%Wmn7M!XSKT)|p-iI6>}*L|FxRz{H>K(9wq|p>puQak2Vz~4@?SN}` z1JAMPM@vTDv71JtqGDX5=8Q*=Km%kZ0jlo5O7DnSpq)no8_ibaYUP6)wFYR7VbuA| zM{+9=;i(Vh%VA=DwM}BIqG7R-=#KP{v*zc=&q?>G^J1ds+@vV7oXrz^hpizbVPGGF zQ)s*_)9X}vX%vMWoCl2qBT#&qHyg4`9}lOUlEqRSP$Uy56LcZd6&O)wUN}twwjGPy zI!5(s@B%Hz82|+8Mv(ho|5o*WYcL&h+dGVXS;$VE?Hx2bvi^xD$mf2s1WvLKh^;I3 zqKW*Z=xNpO z^pxSQOB=JblUj`J)l+kuPX=51A2mY8;D(uiUhxydIL)y#+F)nS+U9cUPhX&6!@TQP z1K7eoeTxD*C}kE50KidWvP(ZpsrHc&$nGTsPH|6M90R(Yn+n$fY|8i2U)Cf2GAl{2 zDWAwX?4sX2hL0`v7YT)_Jkv<}03pvlqbzR?W6vQcoetQUm=HaLDphZW>|gX@+m zbPS!tcUR<8bcl>3F_9)@*y;Y*_my&fMJmx1qn~$859~^8E(;!YUp=mVm+I&zKlT2J zpG=s1ujsj>qHn*`9pBe@F(E;}0D+DBR#Osu;saWN+ospP3hd3iE$>K1Rb&rcTXN7z zg>~Qv0>duG5@AcPX2AgpyZGgwe69oEX}!bEM8=hY>GntPmr*p{>W#SW+wc3JggGM$ z4AYMyU2Mvyek5~|GC7EC8P#d=Rs+sIU)Iw|>X=q{qQl^DoVS(mS#k@Q<*j=M|B9Vq z;eZ^j2qQvQtR{_ZD)05{k3o=%xJTD1@vs>V?_uv>!!RP`JA~o+?CWBb-^y8gTKC8o z^WC|s(N^+DGb^C&_Pe?CJfO1u-!pn(^U;*k>324~&ypa&g=~in+7s8|!UmqmndW79 zQZWHY#Yf!Pq@8qCG8;mFTMjp}ZPrmdjHH%Q#j+2H!2%QDZ_x>0g?k;S`*WTD`OL9~ z#cO$)lX;21@Q#J6K}5|s1x8GajVLhbHAL8Z7=kPZbS_b}PBWl$xvB{{IoNi#1JBgs zN`akA&T-3Zb>rZ)7WN+8PpmP1`SWY{pE))rC>$b_r4(_fF922-q7tnFJR!WlZb)@F zoA*DY{xJUuPkGx0>-`i$f6un8Eb_kJxsg;4-}BdpO~^aIO!F}6fxVo&dG3)bv#U!<+Vhy8}FN6xp#VeKLv%D zBz)YK10omT;zY4;3Cl+9>Crg5)1qeM{_w=%qn2DM0fyrBdGlweU2t`fO`W|PmO6^Q zUnBaXR_)Y-qx*aIuMY~0nhl*whlKzsU@GEy97#uYCZWseFzkN`SyCO^##10=v%A6(NC&U9ru}v7N3cD32P(34We? z|3eX?TmKOzV|M~EoQD0Fx$GXfa&1Q4@%4tJ*QtkN?uDHJ&Q*o%JmV~qp;${vT)z1U6%{hGf=R{W`s4`jd;B@S_Q=qnBs z!%p7*)E!rNu02tPEJP9SsS)?Qr^Wt&!0|QO=4G;*O$_L&^?|SG)$y3`3JO1bKkza_ zzQ$T4Y==Ow)iYcU5r6*WkggIP9mnpm^syy(#(=X`MNtTTO|5cPzTk~k zhKwP`K_9Vgok^XLXdG)DKV#ED=`bzrpVEY+U409o^Li`%#sYnFbKerC#mH&5eo-@J z;45}R15MGjC8b26h6_Ur-AREub2zNn@|GQqSt1K*<=y69{LLme%WQZU<#|^~a3f$~ z9_#xOTI~5Gb@7RdR|SpN(|!Ge)OKz`*>FhO+(lb2U_KAA;z>QgjX^P-Yxe8HNQk#I zkKKR1gnZZwYlj!8W`n+tny!+YugCVP3>)T)hWvq?0c;qH*E5B#q6>cItBxk9Zgfw2 zSX!X=|7X7RowICL)uXiKBX?|6iM$`wO;Y@5kq;r`Po7oZFuJmjqv7kk1=CgfxcDhvRG{xyx_tlWtd;&d9z1@*k=K|T2$?gN1 zL~rycFY*T@A&pu9$uMs_NLPUzR-U+|(6QIhBv#QvMaBA#1k`m$YawF5UNWa#vI3d)~ zug?<1wQ#wK%J!GjZB3UaFdXa7n`OfvGL2(-d75wi?_k9&bpVye0J8d+GilMDR-?1i zv56V1pf~|f8!keg-|gpCAKCRziP;0t48t7AQX6$+m-p89B^7s!@EDSa93{3NFh$@4 z$UXUiih+b6nlkl~=40US#9R4+^X86pbUzf(p?R-!32P!eJn~U@@{&Jd34Jdp{+N+< z6c4*=$|Nd8S%J?|L&o$Vv0sS(eC7A0vYk;i?=u6%QJOmrW>zXToggQ%$o1Y!1`Ojf zLE4>l)ftg~w-(mmt~MT@nn+JqN)IfLdNYN&#v(6zawpif>JZ_6{rJ^F{f!0pcsajI z$o?#OarA8y%=Dvve-#DwGTcfJ)c$!^g>Z^h_CkMbUV>tWm6vVw=?%TH>}G+R;NY$!jf;I!3KImyzrgMX>5p~Z z)YM!6^Odz<3bGd#q*@H$9duC7pTZslZKFVH7|!H<_WCrGDZ!C^cbw_0P6?dJeB|8f z%Z%&4RF+3GlJgTZw8phptcAXTsS^DEwny#d8bJho{RC_Am}f~>nzf7EyToymd!S*m zgg0mY`I-2L-dHM%S_$f%rG^-Bhltb~+hCzYad07hbF!cw|aG(x!N|)LbrNau1(YS zj+r*P0(SxWh&DtGrU*RR(R?bIGeg{1vtWj<`$VqGY;32r>1+O64a+DZtHS z-UOVB573o;J)2GoOj{5Ycmh6EAjVE*C38tYx401-xayTk669(W=C`;f_j@k@!u)GL zTTCD*-6frirhKyF1HOgm$bK*FeX`dq)%kb-V=(;v{>S?|eXt0+3=JcweV` zXg4Q7PmtviJusNn?7{;y0t7u{1?V(&MgNUX;{~=0gBoKi>GR-ZN%&QegF{cl-C*@d z{H;M*5)60j7qs7OP#8I;(Lrm6JHURkYN$@XyWIX=rV`VcMcD@98AP_MPD+s(&5#Q% znUnj?b(yg&s*wGV|F|v)vFNuLX-B|uaRw5A-QG+`F38F3Xzdf589+_a2i6Ao-fj`;xl#f=M7x-pWcN7gB2lc1&F#*H ze9Hy5pP?Py)yY8_+PW^mh3pz@|K*0X*#`UVS7WO{a~m4}9eu#d6U>>f!EYF?{-Ecf zZGt-O7z_aL1HDdqzu#LQt`dSiNJ8r1qkWu^EY_-agVI{6EG%$^9cbh!1dpxqvsJwa zqh37|a^WVvIl zzPzZb{K_@KDQo})uVWV!YnyonpB_Mg<_#j-M9My{tg#l}Hu&Uy9LctJ1`ap89YBy(-5WcYNDUx)4y8qbuMJ@va~a=89tlcNu-`)>3dQZu2lj`QI708T1o zYYvrGw3pCS3yQF3o?_G7Nk+~F(o-sXe0@R!HhK#iwEBsnyLSvcCDQLO-Zr%yVcdLW zjm9@Xir`dcLkLL`>_yxX>rvV;x=8zDu>~QOCl%4HL=_$TgHHAq3>pkeB3aRxg$RlR zFP6ty@Fl6)y(4bKya|2N<{2?J<)=f!H;86djNtsgPF4fkE)Bq9zS(e^B#QJD^cJDL z7h|RH13Z-Ayv68;oJ>jNjeAaDt>-svBey@vY<48QS%l2SZb6UI#^H3uTFJEa21Us= ztX;R}D$sR0CS)!;I7me;uV1_!vE=FY_n)a?Wu|>c@)nD=zzoare3Y`hq8*m8rrT5us4;3#X74LaL8k>K9}}b1Bw##?zA9y z7v>qf^g^GAzZSCN^$dQHG`fKX$R81bkN$2dyMbUCD#o06p%<|3j0m`8)yAm$K+ngs zsD)uegwqoosu3N*yd{BHdMYX++4s1Ph0jop;Qp(;R1Hsx@BzD@7W z*3aZQ&0R8tmf_{vgnU&TXhGu#u|?6;Q_C32=|@OH>{?26Z?=|}jHPDyJt{I8dj>j{ zkF=KByEp(RiGu@SS{hmZl-3R3x}S%|Ke7O+CIoyXYiwYec4JXiq!hbR6P} zu~1~u8>J+17Y$xHk@4~r-}r1rjqIdNYsW3&APV3!`ZZEhu?y*@$jJhL;fHkneV}>h z|J6&G1ohw80D()SXtEq8(9=GrCN~TD(qx31HWhYtHbX1BM8;rRqy#aM-I1x)6X!d| zS*B-#ZCnp9J4rI1j6~Km zPV)Qswp*x6{I%DmCmqYNTXyfDcwKCuk;;~?=e15J4BNx2C|SfqTJ!7RQJ?bAZwmC! zJ9hkSV=N-OD+)Okp_&)+s!xLE-v|M^aknEEmuFnTibut>Bq+d@HDeEcIgP%aw>U%3t3`hn9 z&3bp(8)Z}3P%Ez#nZ^bUYldVE<$2Sga9P1OjC?S#6#udX$HU-;Ij4FIpE_uu!92`N z)I&#jr-v!G@w)`p2933%w^<{|=OZ-<&$DH)u{BRmKYUB~b?U=)ZXEWJ7~k#FPCWV^ zp?9a$ICjBlc8H6bta^naNBwH2e0dVXtCPBT*}9}qsNj+D9r_BkW~YyZ4qi)_wuH<) zKaTR|@3E_S-&{nNu&zQR(``+CGYsV`-9^5V%RufPb3a?m_+fSM*$#g1vXFlC^uCJ<;|xcx4I z6ua(cY<738CDF;dTn`?D1Qi04Nl*?a<6czLo+Jtve6IfIa~zqYlb={%3H{zo3L!B{_CDV$AwJ3DoN^>7Z0^>rwp$u?8QkX+#s1AY zPUFif)EGm;&na~60X*JqU?l>lf&ds$p_Q+v7EWodrq5YRRAF865y#Oyjn?5W7ZwMZ z0eg9tlUu&#J;0y!0b36TFHT=onuNSHgg)&JUKS88^KUQeT;&ssR5&pA!ROqK>oY#h z1&Q{$=@;9gL|0^0N`ffGq_<>mibMbQVL+yMLb4qA$YrDU#h(z5Wln5%RQOpm#3rY!WH9cT$7DJ!nJ& zMKt680?GPD%qxu?&~%b?@=nz=gOG)3y>QkVg^|33^rBd)!0C6b_DSRNR%g8C{I1bO zs((9rIsA*G*_4UQ#UJtI&vJf@g1*c$ATiE5Y(9;8i+q9NbiH4fsDjq&+8UZPHa7TH z{NWbQu*j2goVdf!=5Y7^&z{QJtxe)ugH-UzznNBHi?G1lD z9i5OChHF^J2CxP21xyR;Uk*b6A&oc!SKbL^r;WXkC^Eat;**WNz4Ay!upE>0UjmX!L^P9Zo2*zuu0AR9=`ds+pT zZ?;M=TPl!esPwH>TWk?O(&*`r!;GX51N+v}qS_jUZT(NZi}cm$nzXpSaI{U(+e&6c z{eW4jTdu{NX1Mw?2gk0?ByyyAniiO$CYhgYEg)EWKky8;8yDNB|67sP=IH31lY(#u=lC%z-8;2>=3N!H%d zB_2bmCvOOs#-57lpc89(t059rl^BBoo|8`kDP6am5bf_tZ+Fr7&g$WmD`Jl|#lw}K z^HRHb&1n@pz&Szy!H&Bmb^P*8!r{2w3Al-=8H*Uf{+q~WbE{(~3>c)=1|LTZ*F+qO zn0lf2mB9YOS?Wi0G;$H564IW3DO*q1$3EQ_u}h@I>_AXeIw_>9b#jTq18V{kT0MP6 zxCeo$qTD`5MSXO{6%Ao^&_LjtM5m6uFgt;bS{wgi&(JPZ**<0>&dXNFUq2Xm zb-WS91k2)dSG#(-JsRe+PrX*DM{vx+DAAxRcj&`kDKe7~zqsrQDQe!eO*|moP`+_!T_G z*f?>JqFq+wTf3K9>R{c1awsrrJ>EI%^RenEwWqtd=A!FzJ(5-VGT>XW24T(@_fWQd ze}*xBT7NldqpM>M=LOF1WoKvs#kQ}g>7{T|vVz_cp^Y1u6crB_%BeV-Rx@o{c4F^n z~{Oad7csr}3eT4BN{ERmc`9i*>iBPyu4a4Kz<(zkLO{4JT5EwiEzRsqCm^3W=tnT^{jU%n#J?vG)u=( z*I?uF(%u|qCY&ZyDoZuTz|pMhyQVrE2`SzHh-Z{BecE%cfN*GJbo^Ho{$h`a?ynV& z+jl1&)I2N6y4I&_&QPl*w^-&r+Bln9-7QK;e$03N!-ycq`4h*vrhVZzNgeg}&kg0Tya<4J#=f_%l6K z@KY|)Y)7VoHinJu1qJAiFL9p7A9jr0g%MYZf_15wWA7T@!So*9JbQEVkcF=Odix`4 zQO!XTP>Xn9WMfs&xmPq{TaB=u#>Ohp?Xq0d&nP3OD|FaK7W1JGC^`u$XlN%_3=fnh zMVgH8^F*c{X{?JY94GIg-Sy1W$tPVa$W4&K5|m5k56h~aM_Y>)mO`l~Pn;;Nsf$r* z>2Tlvv74jDt(z;VKQ7taIkkMd_(E@3y9qd!8U{sq$#EXM-0OD2cWhRttt}&eotD;% zdg?)UKt{$@igHS+iQUz4@_ARz{AE+u@D(H39zWS7mNu06yZbA16_?6f0x-;)*$M>L z_kKx=9m&d!Knf?7a(~*?Vg4>YEX_HYWXpMxsra=YZtJ*Q%k&(xTiwy40uJu3$|385 zcUB&Kp2=4@zt@9Uka`PROy^;zC;W*tQ7nOvhYz;!?AzO%pX=gY2{h+H*7MHtwd?Q{ zIAc^NtjN3+vx|;3=8YM6U6qCnr=Fa_9;2Nlb$pNgm!V%_c2PJiq+NWK<&R%hmVKg&yY^ z4`~nVeaXAmBb5|ZuUOPQSKMRjSz~2u@EP{~X{2cA#(2AGB2sXxBt|UNz9{@kR)$ba z7#)44Fxu=Y*~PWVj>)@Yr|Z!umz~UFv{v9JN-f{%PqfP^c^f4|=JK$d6bHM@YNA5?Rc3SF&WxZAL* zb5(g+RYmyRnwvJg#`^)t|Zl&ZT-O5QQ?zuqJH=zR?0zP-eE z{RcJeKR8?t9uN^>40(+1n&uODbR9m1^3J8D&xJ?HNjE5&>5q@GQNopxb>2b**7w^& zy~;|t6V@(gP~%1>(iZtc-@Ko!IEbyH2B(Sd>;m#Ug>chH&CdH>A@(#?vg@jG+kJXf zK*x0E)$Kd<46vWbBCGEm>=eP+@j2SuG0!( zcK0TYITBP|+8qLVqAU|sX69Y-_wsYPI$lU&uP~&Lc!7;g`Wz}Eduy3!1(GoycsTV< zE^^CgU{1n2!TTpD`L*)~ChZ#sh8AqJBcDz>MMd8HKBco0l!(sUgi<(IXzCN-4TD$U zR9?8`KrbBsKx!A_2^d9>TajBfo|R@_HUFSHw`Ydhw2Dqdwlra~C?E9T4_rBkivA5| zOkI>~-e)yzoo!TE>W_5QyO}+EL3VMgmmdq6v@AwW1pq&HAq`M|e1I8hUb0A>CDSumFi+Hf*Z4WB3+Od-fV5knVSmH4N$#klDNsy7q)^E%3?M=WvO6e}ZT49G0 zrQTyt;s{2r?b|o`i@te%UQFg&=lZoSQ(@j+jI>+dmE}j!YHXle?yz4^^B>qhs^t%rQOV{g(x2#Y?=WgSWcwM_)S=0M8tPOJOIR=JT z&8gV&*$Q<&GLpH7Hw|&u;K73C5_-UuJq&J)MIUsTH~`@LAWDa1aF}Yi*Lm#KZN49O zA9)#;*dssgZo-o%zM(0xnD@w4kUP+{!u*P*o~FJ7A|rjCVnCn-y=ScAWyKDZg_|jw z8&)lN40#1x_XnM{`>baY`3bE%)-N>A)RlK?Y`EV3g%Q7wp=~34Zn*!G7V_jmcc{I*H{k7uo zQ|ElRd+bJ;heUe7r|dqMUY8V<#F*RQmT*tm{6<7kTDCXPgy8AV&RkaXomkon9Zzx= znMhoE9d&!JkWGt6GBa~w&j)U;7&`X87wO>fX!s)M!jJ15OZ#!=$_|b-*vPr5K<18< zDbKh$U1b#e)%G)V-|o~)USoI`epvgkTO)QDLPUV$0RUlWwwu}4^PUqF(|!`JJ&qc& zXU^%0vilT%_$D8l*isGF*Ptf%S9wY4;>e6=Y#SjD)&Bq@xkL4!bm&r1P-`un`vbYk zECe=!?fFWv<1yLt4WSq1AAVKgb)kcrO!CbOF5jhm@Y6UOV-a*a?9Sj7#dr?EB*uJ9 z4|Zt1F?Sm6LlYoKcQZ-auJqXs+Q&=_D`+cObcLxL!9?Q3OA?rFR|{E4@PK>g<7IVh z&iV4mNanmX#q|CO{Bc1VGZV-MwPqs+X48QbJ%xnnM3OFuP~wDhL8>$gy{CZK#8umJ z|3T+~#393#y+P*B8$Jb(V-_2OT0(}#p}{qb)dUt&@s^`iMlt$>^pq+^op)_)P7>O0 z&b4Y50TAGub|82X)uEh3(V(W=h4IID!V)xwz+O{7#1{=Qi_O&L4Bmv#xiYR4f=XYG z$qDk&n?Q36wwUJGg~t-r{c9&qY#~o!P^ndlS~!zn$J8T~v2-ODw`Pb5&z@P0x@uEr zWBusw%eI}+o)XFGox;fhH zT)>=$vq<%Qpo>vPMQlmoY*VNo@e}YqdK+1H)1N=Q`h^9z4`P*VouY$lUmL9*Z_B+g z*SSZ}_X=l0N7@JJ_>j+_oWKTpDf;)cW+1X`UKn$j~rQ zH-1-W<1j99(-S7gCeiy;EnF+a<&rH^tH^S@SJL$Q?nxO8`S2)mp#&2Oq%SbL@?wy^ z4UiM=yf{1jM69?Pdt3cv&C7uUjHPnRZ0oDn&A*aZh_OAztjC8NzcvM0XK>}}-VVUs zINoPQcka@iHH~c`KLO++z0P~{<7;C1-??zY*bA(D%x~%H^t3}0oUsC`2h|B;&3djM ztMrGhgSwUM&OCG*8vZ#_>J~iUa_@B>FOB*7jwkOn7N8F96RbuFF9w|wW+Jeoujb^% zZ?hiy{6lXRXr8^M**FcZcn_qZ**Dh-877bBx)q)UyS+#q%r2=_=8ij@yk0Mgn z9+bU*#_T!RbnVGNY&qEjuor81`>T{P78KR;;)GM9&&^6aJt_G4r<(DLNqTZqE5GYk zWUUf*CLMt!GD7zh6~V3cL4B~mJIp*|!Ku^e2Ogve#R+*y>86g{>ax(i>O#@-6+w!n`)LJkZ}wAsW3vFXgV5x@JL@Q}4@+5VZ zw+#NEi{4bY;;K%j=UT-8HJ^wWFc%n0J#H9v!%s`~P<}q4D5vz%p5u_#m|ZDvQQ&L@ z1CIr+$H2oEcek%(NOu6?C^>* z591DscZpOe-h5t9^`V@d%JryMJzq5-t;v7)c3IFMOPlkjb2j2P))=|ZTS3MIB7MpH zT2x=M_6ws!IRz|_rmOxh=H5H3sjXWd#fpH6jV?r`sS!~SkQz||0W|_bq(((Wx`K4b zQmRPXfPmB}MLH1yL0UwbNRt|R?=_)>K$7L1>~r?L-?#U<&pG$GzvtfH9~f9BS!K>S z#yj3Q#ybl4-FDfBcZgitDdg3f`vTnYpnEe9JqLm3-d!_OBVzvGW0 zfA#Xbq&E>cb_kkm4Ye@{bc5pEJ9i$P9vsi(|^slAEOU71Razi0fzjot`&; zG0gYGnQ4C*)^Ltqn&j3EP}JT(RtZdNfWIr~-kcNzE?N@>5_AOrXQvvIHYqqPdbTjN z4=xKwA9(#Smrs=Gj<^hR6RMRoezRO}1rWL_6~CR=<7xpG(M;?tM7spmLkOvDnB0IZ zXk{MtfEavcf672c5H0XqVpM=dr9i^ScvnF8iv8vaSeA6xj$V*Cl?Y_3;8$*IKr&uWj+2E50flW*F*xi3eST6M8~l0SY$D5hU3BM~B(}C$H`s3$MtWHAF#`6Jq$s z$G_kZpTdm|yWTLqP^MLkEc~NhDq@QDzNG-tX2)1qXp%g)EQe@Vz=G**Le3>OZKwIk zkFIX_UYHG{xwaa}_-{$PH2V=_#6H(+w?gZ0=9`=iHN&9XH3hO2g|rdBSXd8Aa%Y~u z$H0aco%QUi2&&ve?hYJTW}O}4Ay4``^BY9jeKP8=yR0VIFsCUmlB6k;bj!L;&DF); z@zY;a?O(6R6`%!engiM3dSS`4^yGZmFVE>VUxJ>2{O(55yc6y;+@Vm<5J41TLW^F~ zQ_3i!t2NLpK4}z1`BgOgIG;I=Q|B5k4c(T3zCZD2n$W+N1JN7defTuo>KONz`CpdQ zd^vcxVpzKZO_r#I8VTXY_JWCcXl|jz8WgmY-``4gCWF+D;oHAiqMnZ@W=I>M_}15f z7$95Uwu#}=t}*(E|3Jghjk@wwS|6kvYdSey)EzRpk(T)BedJ5FZ@cOGecx%Z?;FPO z0YWFpO>!LeVg+d?J*h2a(Zc6$zIrWqWiUZsPsdRUtvz>h;4Sw2bdYO2wT`CzamiF( zrs8qHplqpY2xn*0k1GshtI{pHL;gULAk76V0B38a1}fpH5AaJ_2y(U131EC)0X3PC zN;G^njP@Yx5Y%?110rL^0fB+F&yCYBD3qQGc=yn&z}1n3=MP5Bps!((IqSujdduA{w3p))a9e!-=N#MZz~7N)Irtz zU47s;d*gvO-$c=X7QVldDu@Dh-2w*36VK3h)USImhg9;={wd1{uTYYBYQ27aIG#Aw znx(>Ni8`?6#XZ(Bn&Zyi>z1;J>XlA?UwL_zPg691&K>i>>>B-)r$8l5ZZsFGT}hHy zH|ShyA2s9M|L{U)@$MszW))aO@SS^s4(LP|FLdhnRS(`(jVS5@m<^5sV2khy;t#NY zU$L#(`jgU?VVbSXa4{cl^_CB0OvsF_uS+txrfj#t?X~qeAFi_BX;>Ev~UQuCPy$O zoML(dAoFh`&z{ZpW7=IwzPMxHVLkar2?^#KxI3dob2*5UffDfgu}l!dn!G#A2`h?v zQLyj8f8H}SUj)?qUi?R4MjSdoV(jsnOSB~jGAj*HXBWPyuam-~ES3P~CEQ5L%~UPAY(uG4&0>%6GmI;ax0B~RBfnTdvWF!Y?pZpqqeYX;qRbhFq! z#U~yXoCQeep-NTS8Tu_xahi^0hOw*U=#yegp^TZ0Q?@p@O5Wcu8AwOCt`Y3dXBu6$ z%(_@kn6yi>2z=L(a_**}rIG9^al#y`=41em`91&?ojw4-0p$7cLgPHl-AZSGk7ol3 z749(%x#9q5CeaE{yBPLob5w!;YU0}MA~b^+EchCX#+PO&9EX^4q#w@)uoKpZ27dkj z_1Eew7GNi^0he!MJf%@=olrRl=^hR1pdb%PbipW7Yd$`t|5mxDn^?~O+~U*ScR?-J^22+0hM;?7oYgUegWxs>)>n*|dj=YOna z0aa$lp1<6MiZn1TZI(h%6>;Bum4l7bbW!X3I97Y+d*o{LpOS{z{2EmJf_;vu-@uCy z^`B&qCl3xnXF~o|HT=0I(VO5zss!`g`Q6{wiy*YX%z?fuQ~ImoMs2gxY5sMit#qUU zH{$9JF1kI|=XsgNsUN}mZ@qIA4-XMvC>_lfs~8y+Hwg|YP4wll4t*CP12N;u6Iv8% z6Ysf{$^g%~(()1@mR%$0?bhvnD#sy`AR2guB7z@siTKZBGZ(N+6u2}&rcxGMq7&cW zFY)io`=5X7hn%n5(Cf@yTU2QGC~M3#Kzg_eON!*xvuCA5Xr8!#XGdDkkd=E>Wn#Kf zvx}R{*=l?H-H#`tdR}H_$%{m=>?G^^Vb!TEs4^neNdZ1K=lF1EG`UNB=!oA?TH>7GV_z^5hCwE!5#n6 zSRhuq`y9g-Jg-@_(qAy_uh+BMmXC@{LS0Q#!!N&h&~-z8Zwg2rcPd9_*5|rnZ*@PY zkICq*b$B-$aHV>)+s`d#!D3q|`zOS?zLVbLit8Kf@A{z1adi1zv%9Tlc}k;Lna~>- z3>cTx2mfNBS(Pc;Rqm`ck}Ot92Pw+$N;_np?$?u~oSe%GD9C2{>2V0TvWuEX19^tt z&=CuA{p*L)Mn8;hN$Ordg``PW6H@lSZ0JH~oWS?7kD{JJzC*`o4dkim?`CJeY#K`$ zn$@MWe8Te@nu`-3DqQ#>L-MUDl`5baCTe*$HZkrdml67SMo~d32N`N#$uVzowMvgr zG5MJ*lB2DS=N_%ImdvG}AaR(jJxYy4Ukl6z3*zQK9L&Gm&W=BS=b9NVkgOtbF>Gid zoc^BjZ2m)1BAx5jd4~n zaxkz#WJObC#TqeUUyWsFh|^pwMwa*W?mM^WKl{;>FK_CEU7P_dZo_$>Wfu#JB0Krw zy%;028;j}aa5pf`Og_H)$8G#awJj?U-7y3dswxEm*D-;))|$-QTejR+0N?f*Loq{u zm||3;$pJ4l)GMJE#bA6h{`&{?U)1qp3x@ND!Hz&Rkyd z0rQ)0C&@fhLbxUY#0JfRV{P2h7l2%ixEdga_aT_v>st`^9U>oMB=Yz`3n!p8W6~_s zG9Kbqc_kRufC_rg86RF3tNny1NF3_;D|obll#P8%#U|VkAcC_U&o4%#`vw> z>7hT#+qk!W_$mful)TwArr!Sqw=ZIm8Q+4bFB zY?-#&Ay(QyJFRsTwYh7JaEbYHL1mb3;A)P1TSV8drrUmrLC`2h7aAjXL1I-5jRDk` zy?ACiU5eJ;Z?_nyH((BbJuC?~U}N;RhAGBqxSM7=b_;2@T>O;eOj{r3AgmJ_*jvxU zEKQVu*O*6Dnd;FUM>hPNy!+$m*9&7?>9^Rq5lL1<#p5W}nNpv7)E zog43iz4hM-skv<|h-X38xSudrc)XNRtxR?p`n(&L26KgHmGB3+p%m=Oi_&7IYacWd zmB)WsA9MJuZ6As8vm$(J&*(6ht2y>-#PC&$Sa_E9k>vMyH)vsI>cu@7}O2WaXPG397tSXCvM3j0U#VnGrD9H zwm_0iZrdBF(It_0nDW!#oQ=U5htleMi^~qab9;7n!>0?ui)%8w5czFbNJ(al^J2u1 z;)M4qYt9jP>1HU+Kq5?^YwH6x)T;KLRDx83w<2aiEDG70){hn+jy~r6ZRv`PTcPe- zk<*9>)FIS_CkeG64z>VOj4Hv#pErmte{k0QW?5ea6XAU`_7vj^V1`#sz{E+cheNEk z=3zDfbWWfIzB3}v9ZUGP86iy4bq zR2@apREbX^K3BtsE2ACjnYEwId0+K3@W9tz5c>KUAg#u`)^-03UZ4;XGQJjMe{6P4 zAbJ;UX8YxX2({_fKEx9Lnp9sxk%>pFf!ShfSVr=jjf3~MfzP@k%!Z+;DLK&<)JCm) ztF4CEoIZtXZYH&TwjG{1b_t?34pk;>$Fe=*V{;54=7&pz*gFaJ@8_!Na)u3?x_rFb zjc-f_kQRBrzBv&{Grgu*{&}1z*71VWUIz_V@koq7OX`b3AY$j7zcrOL9z>=QBQ~;SdniIpBPMyXcD%JjXak za|Sfjd-$$P>^C+vbS5E4^&D3W5mB@P-)MFB*kR*a{B!b<)bZM0v8w76!*WX^z84F512$83BO|X zo8>TZ;ch2tEpfihx`hb((91xthpA_+5L>s`UjU)!H^$NwEAS99FK@ePP7kokL3G+c zaTSKg5LmJ*keD8Q(5wwtF6UTv*HKA7{2!fwt&p$Vo-SSht?c#!Z_EF>4FHxwMnV-fLuL~k z`Y#TTOrh#G1ux+a0chdddG<@XrMcVFHY@J#jYH$-iVtUtDOZhEN`VWG@5TL!K^!TJ z#c_oRp#uEN@*lE2=HzSrNtWP}yljTdr zd}Sy{pPF_;os*ks4ldu7uF8DJ)1-2-1IN`*q-bV{`bu%qjy?#OHaj`a6oA=g%39K# zM&AuU+#wlel`7u7Z}2}z(=tz8?Ie!as_J2ho#%2D%@TSO znN4#6OT3qR*@7X8Jya=blmv)`nuwttz@jwQdJwBycS2RlOG-pqu1IGXVnv{HX@Q7} zIIQ222~u0QzLp_4=Byva+`KfqB<4di8siE9#Y21n^LOf+B3RYW{&ZkZIOG+A`|PPm zdrTM7oCIvXM5?DuS1Z|{=%XV(ClbE7MarkySHTB=g$q=}+`ra-v7ENKH1mO%+LQb_ z+MJ7OsO95@ZXTwIwPaFs?fZPbN3YJQT!^gRZwL1av^v9maZ0j!* zI<`&|6b~EsqvN{eeBJc(z|^>JNM>d5?1E7+KSYwiZ1!QQqUezn;nCukxDzt*uKnK? z)XV!^pFeft(2xHyT#Or7YpHGhg#piZ|2SCy4ixt#k}(LN2kGB*QY*p-eNA3{fnl0l z`3cOALRZeJq#d;EQ4h{NG>e-cVZ0C%?P?>@EgD|aBzH(5fdx6SMLpf6Z<(2wDsw-% zvLAd%&GQnOwdR08y@M-|tWhtg@^Eul_4#ErPXri;R5^AiVo<7B;Hs)GGeC+>vgRlt z6zgHGdgBXzXG0Gtv)?II;)M5Q|7H@O8lRmsq6rCa3r>e9SS*JAwB^0H5wqA|7$GiC3B6V7IA?J!FcKg@qf z*J?t|gi)PLd`cWm!0m$CM948P`#2DCLjCRUF}OROkwbjaiUiL@6_|?;1ZKc8>aEkd zxK<6B#~0MhB(li19fn}A8p3f^otM9leof+LsYQ64f zyy38C^U>FON8vLklALV>LtJIJ=7;l9RW7t?%J<>#F+6&Pv)s|GUfBcRu0%=v%32J2 zChVb@9PIN_6R2IyM)smGEf zM;FvQd4LfUVkTZ9zJjIO*X{QeRe@AUU+;bAMOTIDM)yf@k2jt)&`q5ne~S!Ga_8OB zPyZ2l(@sM852jz`C9EeeZ93h`VOSI4zit`PiY;z2cjX8r;E~rO-md|$d4QX{^qNfqFcHr!^+%@i6i>; zac$bs$!ljhKg@u#sR>m8TKS%XDHlg%v)-^C<7B*6m}dH%N3H2$MkNgN3SredOT@>+ zoAO}+5LIp#+QM+*1~6l&1ppDnFOru*)F=r8GEgM&rd5_UcG<>_b8!*aAs3)5@eN?d z54kuQ(n9(_kE!c3&bYt%IPFCT^h-mVrz|kyjhaAS=0`TQop=Puh@dtVB>jh}@|LJA zLm*>>QL&}e|9Xa!gGP$*D@KfyK;C~9n!O%H@$&ir9(E4ESENx+I!`>f9uY#&d^@0? z%f1ELanYm5+BFDrw5I?$J+N`v*8EyQxg&lo;@A_`fg@@-eiA6hJStp+04p^=%y*-q z)K+p)!LxjAW!lRJW)?a%#H+83pKr?YNTOrk0>;{)byLaq8eGMV-8x5_tHl9FRAr2s zpcHY^cN;=81txA-3Vbc8zIjWM;cttYA4RR5#8z<8B$Gi*@T3E-JPKGmE_$2sRDbpK z7W+HQL@VQ1%(&BZEjAQWDioVhMniw^C`w9Xms^^S#TnY&R-v5Z1BB>v^^0E%whZYv zT`SQna4UR);(6f9w07HcMCWwsq_Y|bF!+#^lYvh_7op5cpG(g)bb9TyfBzPf0oN1v zS`x}TjF-J@nmJuIi(-(gru(gjBN8x>YBlVV$xUq*ecGT=;yTiO-gcONKEOcH*TJF zMd64e-*{JkmZh9XNVvQ^f(@nIO?iv#AgW8m(rZVR?Qc@V{VxG$GgGYXly3DUf3WX% zqR1Py{kb%6U8Wo`| zbnh(KCAQJR=sHkCljn6X;QuLUaNN;PEk=55h=$ezYi@Ht!?yFrJT@I@SrD?^HsMnX21f)9(_O9yDok zXsKUg+0Vkt!m^izYXc~6mDL?l9mVgVv9q3(v`g=@`v$h;?uY?E zx%f?(h6zI-)Vy*52I^o&c_Jyo-=#fo(jqO-e@H9p=(kk3lbG^m+~UZsGgo;5l02Is z{1z0ISH7oxpbL8LqgeRbUCQR%)932E`Jvx3)ADgj^kBU@GVwF#oo^Ese>_v`YI@p{ z`D01T=P4tQPy%|^p^h(~^VAowf{s{8iX~c&1XR@&eJa2i75MR3^f(kp}s1I`&u-Bzu z*2x_xq#wUe=bx$3)dxVc4PV-+Z^{i1-)&ozQIs9D_t=T%a8Jp2j0)%Cc_U+N%UZ1v z`qcwpU>O}T*cw_Ue06c_4B>4-MMzjHiiQlUS8TSZ=OEix#|3>1PuU$~wi3T{X<;-% zOgO8i?6!ivdH7piT5?gj6JeM}sEZ>8u4@c>92`O0by0`KFq`~b!b=qAI^qq) zTgb^W>yRTokHHx?RiE0Ye>0*Xly0tJ<5H(c>e5N)KNhk0HOR#Rp@#bgGK^K3c!tbq z&x2r>i4-#D-R_2=|VmFyNWz1z=Uxy!x&tnVSc3HBQST5c4}qF=UaN3 zJO@O}qbC+E&4;v+nP+bd7G_*#33Z#Dx@#fBA@h7i5y3%2n{_K)9J59oqCq-%bl0Wc zZV&AY0qdGMSK%$6s@*<+SX0qdRa$`s1wV2-eEf87Z;a#}&!)9@tgE5TtFx(*R0*(_ zv}sPjfOp~HH(a!0Y#~11o)L$wCeXQo9bdbXm(x#szRsl#HiU}B8F7dj6rBal$fkr6 zEl_so%}c1)5S0bLi5VAEN~h_rv&Z{!Eew;<#Dh=G&M^s|h*7Z5KPwyeCB}6F|Fod& zwdS!hn{=mvbRU0x)E(s7D$G|uBF8*}W`joZP~=<+@64UJAdIN`^w=Wkg9HdY@yFz8 zxXwe8dAw)~tfqg%h5D_WjJ-7J_w&(lEg|H_YFPz8-$v!!PJV}TfBZ;4`}4|(w*u+h zs+L2L2|@QO-%Qj9f~-RbUS$Z;_DIjf;4LU}uP0>ruYK4Y;ce;&+c-2L)G}i|Jip2b zb8wBbIT8A_(d1-#x}4vdYv)II^fOPAeXY_fkg!QW?NZavi|n>FR(uG(U8zAneY{vT58<3*TN^xbW_s zT2kDSkr7wE9jDWRubwCAGt(1MHrQN9MA9?j)WboJf#CGN5IDPjMRPRfGn z#39!ce>fcY)7xHQ#+Dx*LG3VPfPqXsAF>~lX_0M7{!zE{^WI)5^#wF`x)|oaeBmKmtFeYI+f|!Ef(`R_cZ^Xy^QZ)*yf8y z2(;6`tg(GhevUo+E}d%hBfabTXP>ZIqY9w!Fh_<0RYX1c+Hx429|a%UFTS>Su01Pu zpRQExdj8wt7*Op7Vsh_rh8(^|Wmf@ZD)w;1eD$l8N;PckqDfdh%rd|f472J0@4DGl@npR-Z!@Kx#O)U}>VGqRVg9zUI3DtF6kn5?ooC9H)M zeEq%4S>Fb@f9QEYuB(M98RYh1b;!$sHvILvg?@~AmvEDhiyH1LsiFF>MmEyGnT(+Z zDT*A^AArg0x$YK=Akq~p9$Vg`1^|q63iP#ohzNmMX@(;e7TOf;IgaOE8Ry8%=>8^C z?+fJ#!N+~nxQzLtFwa9K&kQwA)a$o@fAZpP+S5Ajvd!eM1s5>QYf((kIs8v8syz^) z%%oypZJE8x4d|5lvB7!wMyfbSNIL^GiVqJ}XX1K;GK}q3?D}=$l&e{-MS`VNd@*1R z@6qX!!_wr`41TjZnk{rRH)3Z6E070Bp?v_1?1=o9{MXD2i@HfBj6>>}Y&`35)JJ1<`@c)N&^Yh74_s#o#_~!bp(1;Am736%dkN7$HElwa zq~4M?YR_9zDjFCvdDgFZ-{rDityc;eGiL9va>f-mZ%8gMEh?-7k-1*cwZ~;e!x?SBarE`a;qs}q&4O`azcq}$Iy?_jhZc%}c;;PbQxta` zM2l^J+~qVw(`})K8Dr*)VP*RcU7{viN0{HbPo}3R8vt>{t z?RnAmlqm30|0BXLf6`t`L5@GtI~-MxYUj z=`#ZE&f2V)%kx+z^kJNgugA3E(i>3ZyV_49Yb%eG@7jpy8BnihM!gVTcP2#d5Dv$J znOmg`O(>5HZ&AxYT1+zGt#voZ0hut>p582|Z!K)fVh}}exwKt+w$|U=#XkRL@zCk8 zT|#$_8^A>?8w@UCUE9io?L147E{-SGg@5Y9_M4<%!v!@VlHag<6u~0#b*{nPIRQrj z@fEJU>MAPaa_slgM>#4VvG6Ct+lI`vxU}BJ6^rg^eSx0>ODUTvlYLBe8mBcEz6!zG zfBiz{dqd~BoBK2wnqtKB*6Y$EL`L|wrg_iaMqnC5-5Gj}v$z}z4NdFv;+cAmDppI7 z!-MM#G}3Q0_KJHNk8tv9G8ZO`;AA#Cuqne|>KSnxL8y6O#Ficx?pgQ1dGKA6uw)xA zMHlD{1pua?wGH0`>3Qi<&B+}Vkox<(%FFlPb?g-#!bU3Fyh!-GubATg| zLkKa}oej_gR=W+hSy^q}; zk(W$VATSKK3f6)_y3Gvn1c8T1Bu?}=5wI_N)dYEWIx2IZ=n{w!>1^(J{h{2V#M>;@Yd^alO5mcp0oal8z zZ!x#;HTf%+CZ=9MCHT27`L}*8T)cPlJz!IA@xMeZXC%OYtoir16O~_7M88O3uG7l! z$yt>oVF!4e!4=l}&#Eij3(`#S0hr~5}T&RITHJd=B{WA1LEE5HC8V1pa1;m+=(FT7xxy!36Jb zCKC2}p1qpl2YtizP>$KZv@g)8eKru+bYv;E2Rv8QM6Znf7Gryi8?ktis|#3`_twzY`mMh0@#VgMrFgf>qZk(j|!(5!NW7Xo`32>Jpe z5@?O3UI5peN?l*`^2~b<13%fhH4qQ0tySy<4Em+D?|*G{Z!_s~%-nU(h2h@$nh5{u zTl<~olsy}C_Avq(*^{k@p7x^vOUOAlm*|Oh;05Yg+ymeYEXYBy=lPyLpclu{XNdG9 z^_6RB(Agv8nO9+_+M%aI5aZ~VZqwL^K1X*}W@V`bOmj4&?x3GjmUqF=nvY1&cv)Pm zxwd(_cy;RLI;w|whYl^QCV#MPwGgc>^LS|S04(~?B%i-k8My=e(t2mLlGmF5flblJ zoX5MAxo`Zz*~MR8|F_B|tFLYb67D!T;XXR%t#+5!K=ztS31x%vI*!Eju|usHW57n~ zClVupD~#!80ya*#s2X9!iR<0O1%Yk1(pPz&88j9#K5p~uI^=df);X|6{^B9zaU!#Y zm_F0ea;ih_8xhroa3nRM$hw?mBf|i)!~LY!p4#N;AQ(Z*lHjc2_X#TYJI~@xNi_|w zIp{il)*6H+BdG|NDx&dk7G`nog&vuJ+O`P1R1~lv@zO1i-%VaFxgD8))-&eTu$!c4 z&%CE0n4CO3%pe1ZuJzTv2MgZ-4Grg0pcx-ibP#Id`xqb;tXe@^Z;S+;1DF^=3W52; zo_WX$Lr(*oP(~M+nd880n?dTHo8;+wA#t);rb^1F?Tvc_Ce;%^r-tNR#726mGk5)= zfO$Y}sRnaQu=0XoFD=D1j$%6|J=iGicg7~KEJBopMf3jU;}*)9i&^&6XdYIR3U z4V{UkpGf?C;sIQ$QkM@swnY0wRzbFBTDq)*niX!+kt5LX)1o;{1_2Wxo1ni;GM{{Q z*|6k+a*_H>XJUfgLJldhh-m%`8cA+THA4H01#$_8EOl|Iv+Q`l!cMjSm+~LNad6@= z=m+XMYQ1}P^O{*b9hi}ZedKhecQUL$h5>Aptt4g({~Sav5s_RlFRY{Tlo<^s>@vU% zd0PQ15f#(acCfgfk%+^<@U_3ot|C4rZYnkq=PN%jQVDL%LgK`L%<{$}wD$4rOf8u3 zZ6F|oq?^Hdn!wjV18AlwLYSdI%N{50oLRLr&+(+buEPxax|zar z)A|K*;YJFr@noY){IjO#oe@!U5EQd4)C7k+Ygdfn5w);Uw(i_)%^@R-8bNa>QMZKT<(ia>(?Uh>t7L>+Ub}gq}-fXPB zA+G756VyCYu^uzDr_6;e$Ur~ef9p5PIXmIHg@gTn9H+m})5>?vk-QX@r8nFx^o2Xs zA*W6E`mKvs7ikO4sI8-bEi~X$k z;3{S`?u3;p^%Hq<;9_w~BVQnzxi&`RwI($RFEu2T1Z05}whHNlzn>4e?g6t|rvc&f zIu*eZWKoe~S^q}_byeg(ti#UuKAZrg2^I-HcPM=b(hcyZ-tTJg(t6@?#h16}DJqvL6~hw_W2T#iKU zT&MVDKb+`i@@TA6P$K`5#N{fvs1qem?`agR$bK0su?ZG(Kx&=uGAHPNO~iVe1=K*~ z=HbG02D1^!CLh}F-U)>L?3ih&=_M@VbO5LbF(^d!$&C+x57AOajB$s_rW`rGuc%Dj z-&to!zVpCumgPh1OL$;rtXusm#a9-Kde1W?-Fx=f$21j7%oK>LF3ovYjvozdd79_i z?mIqo_BTszYt)Bp=dw0UCi$H0hSS1!{QZ;~3~86eGrw6-4j_H|I;h>CH(u|0(QI)m z>`vRdz^$t-I`5VwEDX(|lrtwfNhE`A0|(O~6E%B#_N55Jgi|Nh&$;d_ht}iy6Tb>W z8n8t=Gr+HCbJ8A5WBmrA(EsL!v1*>6X#sqUcCGnKhvXzh<$df$@0SxvHR!u}OL-!8aq16am6TXxyS^(#fe3J}w8pv{o-D2LSR^bSA(( z($LJ_xB<@ZS)kk^b@l3hVWl~H@I8|7&5ds;>ORDl04a|Yj;n%JEGogY`*a1kyP*o_ z$|uDX(Ye;EsO>K31^=fm*k6}{TtR@!@*Kz(*PA4ph<)Kqy3_j}UXHXsW`kNzGpCW} zYjMJ!p53U?leEcki5Du9o#m=t&jOe+i9cU0dL!E#&FKv&VfN+g4tI6bJXlZsBS~fe zK~_^1Z>GeAIkgihvkxqu3c#fe$Z(KHvBwhy#C6DOgW^AE(qoH`b}EB}v^=lt7lffj zN0WE6M!q3W8Bgg_V60gdx5ru@AB@3q=hGhK4$}GtOkCXs)NQqd`MfC4!;9RMOEHZI zaw1%fUpo!pk9SZQg^&YkR+f`X8GuG3KXsRR) z@v$#HQNxrXn2PK+4l&r*iId<){;KNyz+0rNi~g}nc{~48vm@AO_3|C`ZUdCzX%%W@d4CN%Iotao~t-ANK{2Ywgz+EX^Dv)*~)#O{y>MQ`=I*-vB@yDGoZRMRCwgX7{wo2+ffOC>8QBBPtAlVNx(+C~*X@shPn zjP?A{8HHmO%el3)aXM>w#v1SiS@`mDDO_^p0DqtzPIG zhwSpYTdSb^b2B^n2T{nY*^!GLDed3NwKLt?bxaqZxTgUpA-@3J{Ga7kLdJ9(OGH2P z8CxSDSoY>A56=~kZ)%&d8FzkD^4Y4#hB$4d1D^du zH>wC_ULnN^?+bqA7!CM7 z6DJgty}R-l0i?VB^Wgg`sH}c#?pZf&+XQuPw=w>oLmK@M*_KtE&Xf5ai{fRaCC`sv zQ00rzytk&W(;)r}LqZftE}R@kaow`bW#}cLIi5BLz%9Z4opwCGLJe4;zQ%)otVS(q z_jEClXD>SRY!XJMtL^z1x)fhCe)8==l{8nHrJ;IHZscVtt!ZDKIrlX_5q73LGX(WG zjE!-)W4zmG*WRz=XHsgmQZ(pgS2Qm6pP5v@d>;2?dda8Iz4bd3fZI>A9KFX-9!cCu z(#$vEIh6M(F+XJGheNwu*%1%GAC=qOmeu#_nF-B$@z%-159F7sSN(l(wzE8^SQ%W) z_uw{W_Q{Se*c4IS{bkaNFUc@)YfPWv=b3NT3>b)g-Kb)eO_<N^XUg>n$KO_v3X-SoY3);BF*F8;3oK1Wjl55KRSK=WoZBY zibRaC1ODyU>$-Jz8M(mXyun)~%iCD!qVG?fciED!+z|H14 zY)|H$|MGKCZam=o@?K9P^35S$O5WR;=-lYy#AgM)4Z&Do z)T=m3(j>xwT+vx(BU562Qp#OJVRf=$!PS0Ld^ablG>u?s^yF)b$t-^h-a5l_BOCxA zyAOsBW6}DLZM;>Ax&mr%2Q8KHwZz3_(r&5YUgA23KdB{7_j#(34JK{H<=vDNy)LdK zY#BEVeE7}sicMK#;;IR!rW5loO8ce8~?cJAo-zcj`NPjZUT0-Pw15XF&*PW|F`STfb>#Hc+6ga7RSlys&TEnTShUGUS@qGNLH~x=uL`J z!68-$i8-1zYAh>fJQ zy7=h&W^8`z0Plt0T#kF5~P+TZwP9ut9zbKtyae1^Wj(3jel0aR3_uU zg((<=ReSgEg&%41BjGGFduq~dEmDLm=AzUDVJ2g`9-ONDhci@nQYJW z<%EOWnJ7XNXAcp+9aKf69ztzN%&$#t&Gr4Pvul@U9oExCihbnsk;4sR>_AVQUJcGp&!qR(lHP&Rv(=`%ThYcvy zuUUP9-5Y(0wKdm6Ggb;Xf4!m8VYcej%6R&P9#e(SKqF<22Xp^$4=M`J@H34KeRsEl zEp)mGOV&MrpS<_%MCF%wVF8b>Acj7unY`!07Z`(-8H3uLtZ zAuoTvgkJq-#`nWDP9EhPzcM8!AgAqJq9W4uLs_*l5)`uMxYMt}yxM5MFvd87dwsku zQL$oQvwRTc0}ESMa=A5EwH2LNsHv6RY!ry%EEX4d$;x-RS^u~ie{Ply|5LgP%;uKm zRWKrymah1CZPEEoN}JH>chGqM{505$9+QGQ<6?yaJ{1bjPVQhHaEBO2pu07dm)ZnN zgA_AjW~Wl{-3sHVkqmylUWQl4`i1nLorRY}7oJy$gzsbQt)`IL*nY_a1xI_ZX)8lV|X$oZ1mok-WJ2_j-)SRoX}&+ z#jh;XE{l-*_LAxRh7m$GixMjvKOlbn^+hi&SU{hnGgjm-FJpdvIejNV7TUSa+{rqD zuHoE7$h6YgfLv5JA&)o`NnF`QAu>Hd4TUu32l2nHl`(Z)-q2WK{7U({J_&?hWS{=8 z=mxcR^f$}1O<`1_7YQ30gO~>dK8R)%m>v{^qK`DkYL~vHd?&%&Q2Z|R^GhKwvr@z< z3#^XVKOAId`SL?*;;K&*E14*rCMF-4DKAna7xGh&T=wYytdiuxIb%IA4;aY@OtD)C zsv$X~JWGGNC}Ls4>F6zyEND5#X#LIV#q;YQ8NGjYk2>t<$plXQ0?kDn7^26v4~>zK zqAs~6D5uX4aq*rH+gmW=y6wkZ&K9j5ka{{E$K!vm`^JQBUZ_+K=k7!9Z%Q4X#YN1B z<>lb^>zKvUu?*?RQOQNtF$8Ps%~DSngjM@Hz#FF$l}tAJ*sen5A!d)UXudOQnl>%s zDZrs-fI?l+Pa6RH$T7((Kl1GYH)0L$V4!X5yJ6+7m>Z8bkZ^8=><6VHoH6M+U6G;P zU3r*c(yru~9PN@HW83v*L1M7%`8f%AWld?+JLx?}pYP^x!cv@5JI>$0Y_Zi;f@tBW~g!y z?}54~U+a}p;$3JY7rSDyfv55Tv+^qhhryJ^K&(@a1~hMA^;b_23IGNTLai7oJpdVc zySI1fu)G*xz{qO&&2veBCjGP%npw-Uu^@}+qe2iVFF=LWXwSc%`LEx%WgM$4W$=Zb zPspJ!5vQtEJw7Y%?*Jh8^d3)htopWbUdJz@`=w2bIKRFK5Q9nr?hjB*5pz;84{H4SZ2_;t+_^jFN347AxSxx>^adr)HMKscHgx8lGPsDWU31Gc;g$j>p010v z%mZ5(gwe*=`d+4@{&%3|w@?caja=b`**bu4e2D8EV*M&nblz^N-~qm3+PLu$Vxt4( zR^FzyE*QLv5GWmAYmrdr;F&xrZLRmdmB6TATvugbC$~ zw8iKP&>-QLWS{xihChyjaiN@IMpUwYb~y58NBOVMb3DA8=BgyV69xAdP4HJBf%4~L zg6P^xsV+~QT=cXRf9*nX47#U5nESHeOK}!w7WQ?iK8fZ|58m$RXsM^kZ>R^KCBIn& zX=u9}DFWkozj7{qX|deQTET{0QN?G(n*;y~eZ7#UbYbvqfB=jf%9+;C4{z4yry_z}E&7g*C z2AJ>pdH{H|yAad}3QPiOq6-#=dNMPhS;ejn+W6cVo7UQ_Z8~Rc8>%ZW!)!s@c|{{( z^w-dA=@ij;e&yOfkJU7RrZ5$#rr8uSKv`zbGccf-O%pZIz;FUI5fw;;?(qn51=`(_ z@J)O@c70n{FYOZ`H-k9u-mK)tT?3eDZJHM_GdtFSPUHrByKWk;Eh91o_Tb)=CO7_Z z$Oo82#KeEh-n^rCJ~s1f3uv50rtFsj`k@0D5c8AuvB8L=o_i?q*MBMTjVtS2>&Pot z7VP}h^FvtjOi3b#-L7YfIvQqOD;S0tLO{t0dA(AcGX1(YbibvSn+wf$KXi5}?bX|n z^yWuRj}67G5jn&|DuSLz%L6}BVtkZ1SNF%RA5iI*+Y02}iP~kxK|ze#F9^`9GvdFKSpPGb*dbAy$j@6Sa*Us0urqD14}2bgputSLj=0Z zgl+iwCrXeeOp^)M$*qi|gwcvG9R%8R%~sIC`rb9N#^~tYHkn1eTlXE~6&p^XXtP{fv7`8& zc&bagb1XyHE&E1=&~Fxl5>#B>OgaUq2l3I4lFh5>x1-3#-=F=!J7d}(Myvj2+2tg$ z)gEoGoovI!=Ayy|Y{UP--g}2NnQnW-I2IH{L_h?EIHI5+AR?f&*bosRqBLny=^!8? zO(2ir07{F1fJ%vih)9Vvk(Nl8E;SH3NN-7ikdWk=?`F=~`|O$7-?!&`-|M{B+1K^{ zp=e0*wEJG`x7PZt-|}KxFbeRPZfjvmPr>-FT!PN)at&oHt8{vrT(h=GtM}CeM z!vw&z+BQj8#Qy?~JVnzsF(QFps+v3e#1rjf8u}6{Z<=6=>DxUVS?S4IJ1>0Sp0 zVhg|{vEmd}R>JW5y^`E{5<`}>Vq5Jw1WXu(?>xa8+^2Hqm>HnKv9l){mtah~yI{L! zNN}IxA$2L!q}h9c>nhmxWZ$n`@hJ+$ZQsqUNCtdp0e(Y0o8?14Cd>0z2P(w0lj{xb)upLlR&PJQNF}QToIP6!1&{xc?Z*o$gc@KC_`C)XW zBS4?&>f4gl&>94Dw^ti$n~Z=Ol?Mn1#0th1CryYd)+9{U~@6_QMUpYtZC zBZ4z?@YPv_RY3`x&)~MiU5)Y}b=9e_0;J(zWY`;4H$_&EC9FPh<)T6{0ZbB82Vh8Tx=VLCa?7C^yzq2a`NE5y2?Feb({ z@fB2#jP~edD8Rgr_v}Z66u9oMd7ZjQKlB|iYZ=>!XOSadmC<+^uD^0w6`>}a(74q( zaLJ49OxWIYfHe+p5C7OS8F2CYz@&!Lng@2Vc&VMJSU|%QvX&Fz?a4|CwW$4oShDl= z@m-iK6>b1zSDecODlG)T<3jQEaqa2H@ZtrMGj)Fr7l^v1|ToNO)0<1U2=A++M=uI3tC^Xug+D@*-4utDdT z0wr3{*jbyqi1W+M!L}v!|FhC>GC*FhO7jik_4U)Ei!J zP;qsy6GM5S6!)Ff0!pPt7OdgS;tRBG1Q7fLUA-Vg{A}`qcF;alkKo$?@1=$P!0gl+ zN1q~fg05{O=<-6sl_JFTxTmIlxORBIJya~h#JRc7WA@p@o$JD39k!F(F-}Fm!FSmUQ%z; z4SASZ6ju*xJwt1e@}Wwt2}kHIo=a_2?JcS@H5#>y&#aMce@(L&7~n+xlfDXkuh^eE zFsS+XaU`l+?7y$sB8B>&4rUBEn6=^cbDn6tF%uM(fAc#3_+kTqAfgX3+4nXCBbIr2 z*dVwH3UZDC5#DE0>|**E$JKMrXBKuERv|CfV(LxD@C%```k-2S$$M7A_=EIF@h*@P z&WuwSYG4XzVpZ`2OHZQTA-4y}?z|!_`8~Va$or=)T&AOunCXpla*W|9mi5z3kY4*G zr@%b~p?E{X2j+VD@{JRR`i+hDW#FNC51dG73TQPGW%)u&UZdr z_Q)6+V+y-hBqe96Zuq1Z*>-5;L%a$t;AaZ_j+*(Um~>HqaAwEhJq0^i zFJo!=ti}&*JFZ9AGT&OM;}h6|lS(q}wdb=_OB}SbkaOSXA!k>A6jf*5B8P#!a-aV2 z{VNyGO-NtawjGr#lBXr}wv}(DA7n_5Kw;LrJzhv*oe#>jQExt7pu6CY-c=0waqGvA z*YhiWM-t#2XvMg2*Wx%M+_}u>$f_ccXBehkE!PL>kzf#(%NmPlNLW0LJa%gQI*Ap1 z@>=cWJ|7d+>lyxm^E8Ftm_~7Rdb5>UzfY_qIYKeyjJok*!`Qh;GWBes7|tq+e3GR1 zM7~E&v*OD+&YIt0_P1#03KAq%wE#q#n=*p0o2s*}FrsRSu5uQZU1{hq&OVewau59UphC#5N0?LUTv7 z?X!dkKY2wgYuYpmsywT_rJHEGfHcPLSHNexiAZ4ge}cV$HCVt=an;CuQk3~2M8~S0 zbjRKa2iE;dWi=^=R%PO)ey&ODVJl16*BSJBwqQbKLSnJ7%HALAFJmra=R|XbL$kKu zvNCo$b_#X_mC)X~&Lrx`*mBDoXkg*D&^U-uWT-pwPNd#g(2-&KYUEl%wCZ96+A&Ir zX7gc}fhW158s6dK=OkT46fk?IC^ty>bU0r7n)tZywSzWYkFH-0)VGJ*O5N#1wqRQA z-g7>R#a-#ztB#~*L*|=Y2S9tt_LI<}UU~$SCkuOXt5POKRiK53irvyrEANa;`|OyR z0TJ02-_z$qlz5M39jiuzk)8(<7S5!by9^h%w1#31kewg)#5vs)_*|TDSmj%4->bl~Yn!HeMBG`kZY^c%@&;#Qb zo^Z7eV8?4dG=$~RFrxi{61*2lTD8w$3nE~!Ai=xx!a#g*(Sp=&ybNAFAizR8pAiqx z_Q0~J?r3dN%M^lkB5T&4iDE@6oCQ0&MRPYklsJ+haGKGcYM}ECMqK0`urxpcM6)Qy z6oh%6rM6A^qH1&{ZuNWE$pQv4!Soyhs{}LgE}@fYFVAz_nGy(rb4~KerGTF-_#=#C zLD~6C_3^2jX}21r65SfBzbIyIBOa4o@u8of{vvULld^I~IFwxIcq#6|qbZm3Z;fC@ zrt7LyMeETF>GMfF4KPHh53Y){5nDZ0L1q(2+W=$_O70yRa!KJ=iT7*;9@8UC>TW>0 zS8V{E^DG+#cZXP@Mu!7QotUuY6B=hJUwqr?KE)Qy;k;R!FW#riuV%6I(COtl1LH^s z-yh*43Qz9DiHe`%Rkphw^zM9;02)*qDz71br20C*pmSon6YWH*#Zip-nMYGZ0p>Tt zt)J?-d4RdBEYEHxX@wRvCaK@Y*CI}s&N@^=Ov#M~=udnJ@Y5^o0({p7ca5eKAPw;M zeg)3%xH%6LCG%myw^8I+_lnLjmg5EG`uT>j54XZ}Z5?lspQeLI{$1^N9`-z3(*sQl z0HpG$4F;0N+P+Nt2b5FE%DY_3mfXUdzR^9eM%v8DL}kdueI}YtP5QdC1$&0ZNOYgD z{VxxPpceFE^DoMH(CEsO2#OJ&$?K~Ce*uxv^fl97Wx!7smW9s`0k@V5Fo2No`y1%~ z$=RHomS&)8>5zDBop5!=n*C9hs?*TD?!{698y*X3N6_Yw_=_7GE*xD|wo zJS2c+a~=-dVDn&zperSVRf|G(F>!zHR+v>_$cTW@Nd(*>TjIJ3!3uu^7=q|P1s!HV zQycP!jcGULGUo~d0odmoSqr*CFK}IIreLrwAWJb15%|HX#?%8+d`D>*dzMIbm~HC- z`OnJGRCZ7~nhpc}e!GV_H`xiOm+Ai6zQhF%fRfcY5UC{tC=*RLLBmeaGmL|l13YfQ zR-hp@ool-b<0&RYY8W`4d zjMgYy#@Wx|Z@Rt9v4L*NzRp1bhaYrj4r$Lw924JxbDkBuKClT_{=Jb4VR;plnL$($ z^aN_ipT(`RTtM+jJ0OiE;DYQOF02n3#N9Q`*K;@sue}nK!LpX@0>G)j|A2~OVWyq+q!?kt;@LPuG{G`Sh zD*Xb%+TWS*-5+BLOi?2ycs^2`NMM5c$^j;^b_dsEUCNK$PGj>^UwEXc7l*o6eT;~g z8oJ7*>4N*?J1b5S_6y5jy*oihEo&|D?h4>Ly#^+4HW26a9pJ|z!;GDPWrwzhDwSO2 z7qrBEqvaRuA14~0Pc>_d(RkabyizMXYcIN7cY6@w;L;Bwkgpo$WuZO%yR&2xidKq> znJK_k{;8+IbQ;MP5`^_*O~7?Ep+MU!lWIK$4poArA{!+5g&?8=1>b@L`0bx`HH-oe z0hV0MksPSES{jb+C$+EAO6pl0^o_au?o5%66_6V&@9f;j5dQ6t)-7;%Bb^WUn(BgM z;u4>6b66mH@0)9sWZr*tAJxYg{KoH5-z3mC}PcS>a5`3M*7~SbV;7JUSD@1 zj$wRmY(guxD0Uw+zBh42&8wql&|3?5xFFA2E%Z|j)H@IvV8dPfgAt2LnEvn)PUejWv|jVcEq!rB?d8*YzoYO6Dy4VYuzF(EIpEaPbx?>x&te|=_K19; zxaDlQpdk0lbXwQTULFRCE(TU@P#$!GP@yD5X>AKY$JSVjcOFheh3TRV%1)f3?6VY@Xo`y1eCtQV_@OWN zUf5kxzSrq=MGsZ8rgYa;!;(^xysy|GDMwD(JR{GOP6rQ@3O3@caEK!+=M9t_rhEGt zTGzCU{kx?Ho+`2<{j}FYF~`_uJ<2FCw3CP_pNq3}ynXSBy6H!o4oL2^=Z$?FbI-G3 zY6jac_*D!WMc7yOK+nb_b9xQo6e5f~)gJeAyN);O-7eO>Gs=bOJi_V?K*0%t@DzETccQ`%H6ZxsxO^cV&dR@!pRTsj;y=__e z$4TFUv0VJfK8*1DCTQ> znL`&m{Q|;Rzqqw8?1-+clGz-kl;n_O^E9-ZLi^=)dAirMmt9fH?Ux;R1HMaf@+Rat z`y56JFbi8iQ933$2bgw1Uz?tui=!3*u9-B;#&QS|Emv+R-cM&9jDQ6)?LPxSqfWFGpAKxqH`Lhh!`?HZuo^+RnzU!(4wL@V-#Z)ZeW zb)l?|uMvcwvuQ_;qz%*fDOiqIIed+j2e%?==Qo6(Z+#%f`I;`YeNZU|>EhAJ+&9Jj z3w9;n5W``E#2o+P`LXQ`!O?3v?5fnc6};^3oP_Jv?#m9{6SNy+$Bp7!1=y(pZ7ez9 zx`qHCvRdVzIO5;7kPaNeC>|n$1(2?2`UGxr9H*DPjJu`5xsc?)F_y*gC&)qEcM~p! z^cW;D6-^k#wRI$YY0{60WXCevSkHimP6KZGFU)0mn=nHExK99Jp&2#o`t7ZL?(uUO|@`cLK!9~a@` zALH8tAas3q76z!9?yt0P0s{paTD9UJm`6Ch5G}Y8Xeg=fe(J5j*V*<)Cg(7^vDC3G z0jT4LvIU!J+ozfo@5AOKHfdI$>aGtraeiS7x|#CHXNWhfEnlBK3rP!q_r0V7LY(n{ zk0&px@-cX;P}6*lm_G9D4#*z4(~0LL+(yVRCUfh@7bvXcwDpBv0F3SYB;fT|_=<4`J-;$Ag(HTc%PP+M+%ee&#gCbE2;{DctA`|~V^A~(m8{?KcR%-)GRi;7I(v|%6Pob(xpX)V!i(MoqW@Tp)zkdUA^f5tW zoq-1U4!G~Sx%TxI#N;K3)WQACLHlPiD8n zw*O;KHgf?8ivd=G)LmV_(fyF0@);ETWXFHqw1={Da|#S;_uBe;G8;Yer6M3JF%y}@ zYf*||3u0@pw{FX$s_PVmmzg`|52*fVK`dvkPi&=!&S&&8V!}8QpvWm$Fj|q@L*xa{bOmVfltX3ix1E>2VZt8aIx40{5%Y%BraB)(-OTBG43q)J zeD3Cp!!H-N?0BW>f5LE4c2%L;d|UA7pz;IIq&Z!RiM1zsldHN9Mg$6T38z^WDIFs| zHtRSgViHhELDKgzE{x!%ShdGI#`Ujj>>)p*Wp`JY3>s{wM<@B4c9d!*XUwSCs(HuR zxY{_lmHqtrbMT$8BP+(&xFo7_3@w#qTGPstThfHZpMzTHtH0C7{#L;K&!60_U||`x z*sx^jO4O~N0`XZ^eK)~MD*ojKw)T!QXm05N^ZP=p&<4{N%UO#Y_gMb`U=iBplVG28n&8#zncqDET8-q46SS?I^KVcHGkXQ0GKf zTL__6yi4D+;D){X(bI#ECukn8IjVT|6FEC*AIcKj!%e?{$2FO}Y2*1Am7n|A>-dn5 zUi5K**I!(Xte2G;7Ec?~KECj1$7!x4E`6(P+yO@u_$b91KbqB$9x`kOGKo%y>Q;1Z zY>#+GKi?nGeIc&F)3xiB=Y4`zn=Fawi0va;cG`9p;e}^PgOk$sSPV|Dovizn%h>U< z@+d;6T%9GsNN6shEMX@oMRPx}`DRuvcTt(aB zaaSWY!%b=q37+FnxaVAF#NMK!&fEppipoPul7SZ#ItW1&M4fw|d!-4|mh!&nos(i* zb)uEngf(hyxN%^LGv@M`M6}}%Qj=I(Acm35-G(dZEmv9(1o|A!m9}OWvt%4u!KAuD zgF6-3-SP!1is!3JWCQgiII~5zWk)gw(rn)2dhX%))I3%nau#*^5WIv#panz<=M^~8 z;_9X6f9#^^u1|V<>m?7~(Z24xlKZ|~gwFqo;gZ3)QL~$UisY4S-8@|9_P%SO<{~oT z>sevleXGJt#x%3p6K|g-tNG+FrS<35x8Ig&&Dq}SUAFKEETnG_Hry{l9jd(X0K0(d zZL1Oa*+(VL&(1du9@=vVT6$$pJeox>rYBJBrfL)(rN~n3lYel^Ogj&Ubhf$XF{>xB z9+h8*vRY5$fk@Wxe9!79;ZYv9lippEIol>4{1qRVJG|k8Z2tW`8_`2c0BEE{2OI@M z2vis0?)JM&st=jZ)24s|4!-3NK!U@|c@?0HXQ+-Kf;FVap15j``=$^gsu~x+iAJsHb?Xt8|kUnfu`{^Gz=fC~?56w}9&bX&?@5;Zs=lop% z%ER@r(-&&Vi^sUu;4g?@3jdY4BDHgX&6NBPgY|D_U;pyy2DY=df_No`!3|e#2A1OC zDtQEHN93M`H-YgVvLl23^B^2I*L)N-HBWQLdQT!{Z`s~gH-*qh!;CY^0}D~#KrJdL z=noHKCtlon?v1as8OicdsWncsU$9f44gl|b(&#S{t@DeuucCA{b@BZQWWjSJ4P%OG zEny#JIGU50<4D@Ox6V)FOJ%&0Xw$9n5Y4RRg5M*v3JpT~=}VTaq%(7ut~-DG*Qjr0 z1NKFS{`-MRju8l63}=vi#Jrw3zhVTLoV+j;=y428EZIi5`bPlq9oc94bqx$e2IP2N zUuk2S*6_PNp)!{GBDTd(Oo!Ynx<6?-Y^>fiLrqtE_=fWdXH&-&8IVbe{jFmdxF@H! zg=)&?+9%a$GJ;%x70QcLhsZuutb#*J8Q#EU8EL}sqlOxns;c20vpxLJ%*nMz`$!^c zU%cjMF&4(k+BOFusQlrDEMIx~LjS#ALiR^6-Kr0$Y(G7fhmQaebs2mJB>r%tP$MW5 zM41-HH3^8_r(Z)^(>1Pkoc1%q7A2ZL(0M{;%QF&%<__a{*~V&_lV?t;f6ACEI>&Lz zrx38?fqS&$Ap8A+=Z#^_3+H>@bI*p1-v-TOF73oW9KaCVjA5z>{0oqeflU$Y`xVFZ z_RG!S+1rFb;`_#Hd+AY1=% zc2?7(8iL{EPR7Gevk{Cdvk?0sA(#^r;7R2L(J24Ys{1pEz35%D-s@@om3K=Y(1R{t zG&~U)tE9+Gt~*!XH19HjV}L;XDRD)bfu?-{AR=z1ZQg?FX~AfskgiiD%HH>yS>Bvo zvW@O@@BQ}kGn!A{ndVTMaD8NTtB}Qm7Xh7W6ys5~2AN!IeTixic}DsF{5M#OehP`7 z!ZLJV72oRfyoFALgM`n9^RcDa?>wAxd>f7&3wj^(#@)%hwbt^K%S}3bVB_xbsllO&orG+sM$6WQmp$Q5W`IEXFQTv&cw;}d{2ThUi=c|FR*$0;*QFqa zfiF{QR!t1lV0b$K!W!`kW$E`Ge;oxHI9N!a>4z9|7t$M-d>8n{qM+CeuJ*NaSCPJd zk|%;MAF13Dk#psN`E}D%={t@|g8~cKkvFn|QRQL?!n{skWG*Tcv08rvY@8gI(JLG+ zU=yO@Hdu=>8aToX5ac8jUx-?Dg9p8DPu|!z_~iy})fHDoxbsKz;IhN|g=6g%a}d6t zk*P9pefJk4fd{{NK;-{lbpMyV&tEtN#D9M<^51p3h6?k%)RE7;zLx&Uh9D$!yb1K+ zG0H8?Wbg=G>jT$=n-Fa80c;O8$M8RL4Y7{+{A}V#GI9?BahEz3oVrSjA45%sTVaEt zkt7w}BDOBoV9b&;{a``droKZb8std>x-{(mGjiV(#<@r-p68=T>ygRNsPbQ`mv{%S zUdo_6mOO}2o=5Xxwg*U3xZ`0#M&R3C)Ls=UH%MylwW9Bfoy zOs4%nTpj<;vvf4|i=DKz_o_+}02A+i3+Vo4rT+d?7=;$ec{`N*s(9f&`J8LTXMAGe zLc_dL7#G-N?b#q{tWAAV`w-?-8ojwn#$M+V}t+Qtk)9A3xt`QCXVwXTO$BT#<8WcE9dv)rc zvjk>p^3>mIQ2%c~kq96lPu8JJFGP6cw3hgt7ZV^ZoBkx3!t&ct(I+9`jZ>KLjP zBL6gAN8nXc=ygBE@||Sa&4i%Tl#gPrg+_i%nk;wt{bQ?GKmFReRW+s}>R4xj()WLj z13Nczih}=c4{l-O!I9fysfc$Q>p)g#g2Nety_xOHp*qGT7 z>03bmi6Q>cEl_5vhAfFI{ahN>v~T@cbT5{%d!1yfB!(K(7uC=xMZ6R;9kP}I#`fN4 za}-~|jeYPwFL4C(TMRTG*MNp9)d)xBG4HY4@O&{hp?)9})kN+=>*Y zD`VM$S!15#3n`~5N!A42l2~S45s9&Z2ln+#KO-C~fFAOxU#_2!1Xq-Av|+%X^r7-7 z#$0>uA+K=GQ*iUV6oo5fav~$a(tS+i_48-^-_Jii%XT4a?PCiw3@Iy@V1CN3@b_(q zfwH|-7SVvT^J7pN)--EVd`A%KbK#fIn2-jE!oJ~gRLy2VhUe(wr=I+A*M)hsZLuV) zO80XX|Jr?*IrL*B1!Z-pt)Yu>obhV)*d@`zNYU3vxeHpqs$=bp>enIzYqdSP>bq0I zFPOE5ogs!0Hc`;k3p<@8cqpxjspcLPatC=jqQ8Ss{o#ehn%6VHjwiYfCW1uD<$t=o z{vlH22Rr_cv+)wBO>`+n=U7`LMuBP&6QEA#b4OPY3zxm5Olj%KKlH1cPM^LV{d(dL z1%$cj+s{%{6HcDCGcf%Nl>q!kYDMAy0-OIyN#Xx49QLpB=>MxZ>_5$1L~r_i!kaXm zG0z&!(W@kG4v-wxv}u69w?DA3ki{QatDn>n%W}QDGvZ0B>=T4Z(x`-~=R-xOvb4P4 zC$|3iv_|GKJ)e`f1S_)7exi!w!xmOv6m;(SRxKBM)$EyVVBbzfxL_YWx0%oEMs~WY z?J;L;+k(jTt_P9V#r1TFrJpK_UB3^Io7?pS>Q3gq+kFp(GVi7GV}Vxx%);$lMrVzA zdKTjK(3)|IV;jb}H>!$|0Ky3&zz<6^1MVmj6d)#0w^=)eMC6-t08Pqj zXb?eSMoX*^TG8KIr4A{FsLop|;qITaS=9F!1_1Xf?kD!)5Zx77C%m##r|o(=)g&pi z&hP}+#c$KwP@>X5l`RSP4mhWXbQLz~1%LihQ4qg9!*1Y^&-u4cmx9jK`kkIP#~)6k zq^4$LF8ih#2BK@oQ8`jR!$W%a`c{38L&haTpx*Y)6hA?-Fwar`BHg` zNU3_=#u0Ksu!TX^{s8_R(hl5+>uf28d5R#;7<=QnwcdS_K-C>?%xSXjw2)73xwlN@ z6^&1Ey{XA<+W6*Qx%$hlg6j9j0ONg@I-bWxjs^xa`SxKsE9QXrJcR%O_N_8T9u*1i z=|>3nJN=w}r#ODc@z>W|g9)yc^>@_h4zk@m zA98^DP-YAps{a*gB4elnmeaVJPkx`${wn^mwT7F#N6^U10@~oymRnKkVdW-LvU@&u z_-rXGKuR3Xb-TMHSz7QVerQaDUnuX4&L#2fx4&tP6>8{@x$p6fOm*MQcw*H3n(Lwz zOxJs|PxJhev^Y2F3M*?|dfsOQDdHmNJS5tct0C)kuRlGA*DIwtW#V?@3+Z;Vqw}dC zx3Lpb)uZUFEBzGnGs?>`XSwqB`=_=Z3zFYPp`}>s7oIznEL-NLQL-996t$1CI9H3? z|AwkvTL#%OEI3CdWN8ie&k0=O|8SW2xpG!^<>V*K0fu^Y$`(p8F;qkDz4q;lewx4; zr+wq{^M3ZHMWs8xo2>eNDc32^Yync^*l)O}2%44)jxGq!r9H=hk`d0nIqExw;`2>2 zZ;$_xnfzekyoJXx%W>~I(K-XAPUTgHr^GvQ=o?f%_#JU~cA7;~ru6m)_3A!~cO9Ci zL_ebcuz*}`KDDacXN%%wwS0i+Tmkh49OeL2kpn${<*Frtbx6@i@9_<<8RqetBkplo zPs#JxRcI6CdY+~idXZ+Me&NjFoiQGZF0IJXU}fC;(Hib#w=vC}f)?2>iTBmml_7bff&okhkT&9PEkUKO4DH+=S2p*^A0?SSGELQv; z%YpItYhOnoud~*SR(+Yi$bIKNntw8MK)-eBd3`C|;a#uJgn4g&z57p)_o-_ikz8BN zH@f=%24469wi*GUB{wvx$k64lNfskv@}?S8dSP0{4W^K+Hkh(^efBxIplfc3_-o$bZX z@SCW(&|AhO4(^H9KkqXxk;p!6y7n^>yZKx5i5^T3Qt9E1>9+Ua$h63+e}rnUh<_3d zm<97yvf!)mGF+{KUKhYO&aT~G8ez9O4{waf9I_Q&kp`N^o*2xb~jxxQ-dST}8ZU}W_EqjsHzVupj~$~Y_`LeYUAX`KeiDz9R| z%>|`zeqIKMRnH<0KqIC7fG_5#!^+U~iX~ip(?KfuSljG&(|ho(=GCTjird?;EDa_EiGuZv1N>k2>x zpE_Jg{Hgrrm_Dj*uX#(CT1CVOi%9vQGdFJ@$QzKj__cE3HM1iu?8W%?T_^h@Rg&8} zu?$~yC1Rb60i5F2o?&*Z4qHQE1k2$H0E;AO&K=gpH$Rk(Wod=J!u06OVBUha2{6ux z0cx19MIDI`9!$@6VRGK!I?737?rb3&vy#Hsq_0T+oI>V40bx4c*G)8#{lb_F>vKD$ zK0QEL+vwgYLGtLrVK2m9!q1GhF^90>8q8_ZVo~6^ggfQEM!{F_|YzMXbm4U<~32gE)nU%d6n_4I;13l@8=t{(Omq6RfLo6 z4_FImv!af|rkief_l(POIb&9B$D=BZg?tV_=k5U&A3I{mXW|a6tmwt4}RFenD9Bi58VXuOl(hGfC7*SwxTSL>| zvQ}h>n$XB+1WnzS7p^4X)=$dJe}&3*CLK&i9jaHr#L!KR8|ogIM__aA+33a=0o~Y3 z8{OD5crao5*+w@uD374kd^WnVACTH?h(kwc?5I*`LtwIm_fKh}WjuKq)<=)2a>8DR z!m$+(<@`tsU~Nd@L8EuAKJZeyL%FzmgrS~2Mh;H(wxLYqy$t;L-!T|7;*O49HYYaE7^MhrE)9IU)l= zp%8YL@(B4k-pT<9#{us3_!uDP1<}9fo zplwq9+t8g^97A%6ogCT53HO24Rd_h(@J&E&h0ZHT@zE0>)0#YZOLK(+-aJl9vW>w!1&`dHFAvU!t_r!EYklI6A z)9G{!I7;Oy=*JqEMao%&pIegVf}LKTSN!=go(!y#mIBWKdT~CAt@IXm|Png zB=}_2U%Aee;LEbAn~_6yGz7)C8 z;BxIOXLHxjxJ)_r{h3M4`LQ#SWS^{^cg{a_IB5DfBvZ^Q?bzK&>-w<;Oe|=KhkgY6 z7Ql5V&gZb?U%7UTGeFzSg|={_x;w0Fy~H}o=B2ECb?2V7mY^)+GiR?k19i+%%m;M9$-e4F@Ku)(8E7t%3D;6{k{0L@37zuy6^XWewfkBg4;PPQb=fzjEz6g`Cgf{aX6;DxYUn z-q7B96N{`wsBJfYM?SpUWvU9dS3_wmk_F{?W$BFtroOU-!_AGXJ6t>T$t(o)`vP6Fb2qd=UrA6M)bPF! ztfw{rVp82?X|o#w8hJRH(`SgTM24ml!`P*{*#(^8$zzLwV3BMAcQ6eJ1HaHl zzl&o6DEp@uC+*Qo{68$cwZKvh0!8I-3Zumw?`~vVItC(516^t`eB&I%N1Xed$-$-UFXl1Bqeq%PLXd*cO~Z z=*NNtV=hY^tI^?h}z>fM%Y=Z36O5 zNx*IzD}x6Tln4RqG{tE`a86qogKiQ9_A3;CGIOmEN9J`VSmFA_AN2vA@B|i4lFOPh zWleD^)?agCX<`HrR0jb=)G!Vf0DXG}xVv`IGI4HUSqY6Zi-%#2jG{A;nS7Ye9a>AjQmM@>1-@_5%5HqMM$HZm}m=@9MZZ zz?QOYKNrC zKv1b&bHehaM#f!%kp6ue+?$8Fx6faTK|QcdZOfFUvS1!?71BlH#C0YBE*+<3>D!2) zM)wX!^S1_88K3CRkqr9sAHoO1n%G@jxMZ47H!KWaKQi0Q!85@}A*F5${AA*4+S(<_PTu_G%N7hOblOBymcRKfc31gNyhHnm|W9py5XKx@6q^ z>)C?RFe?1(@X|0ev$X|NVfsViPcKQiudO%&o z7EhjKyK;yRhUfA9h_S7o2MPAsZUE|ArRjPCry<+jh+8^b{`A%ODl3hGg>`j8kn=kn zzz*I+Nj)>RM=k`%b@tly7FI9tAd}M*pxHUOFC%SQMK;x**7cR~dk_e4YX)r&^m0 zm=A`xoNc|9@mkWBS71vFvD_wR(+t|%H|;_@Tj%Y7BblD;4up60KD+ootxf~euFw4t z_@)sysv!yJEe9!W&m>8O*sc9Kfm?zuOSnACFf)5#rz`$qw;#7CcXZhL)x93U8{IG} zQwHoDS3ER>(+qF)P|7m={`y*`n+ww$j-JxepmYxdF{i}*X|Z3djRy(QTVm^@Z2a6h zOl~alJ`b$?h@j}XGo`GhfHeVyEg<=t8sI;gyuZ#`pq$b}yh{>ud-Jha;CPPct?YdP zjpq)0n0ApKRj78~&Q|VlD;(bLM7!BPWFYz0qAHk(AmP9>F; zmx{Y6BzY8mtYtmND&TI6L%mBdDhyg@b|YWJHL&FA{%M9lP=1>Kz9wMSN5I&>WJ?6?iiT(wx z&+Hr-!>zjy-eMK=zt|Kp z9yV1y75(7$0loV#?9&5P;9PgKR7{R)sP3g}9>us-n{dvf?6fX02%Fw%2c~uT`S@?1 zYA4)a&rJ^ZD%^-Y&&e$GKhqYkkXG{Pr9^$B{braIsU0{@sjrj}XF#KNl%?SLArdOe zG|t8^gD1O#_*l!l9tI|986Bni-@gLG(@RX zXM|rj==Ns&keW+hS$TiTm9yU9?~(lwQkX8W3ZOpVu2+FsJ>qXAYu166HhUz0{j_Ux zP|#Uv9*>wa__qO?EOdZkj~7e)5a|l_eA@@hdRIYR2d-yew$*{B^9AkV}y<~+eAx^(v(GB;=IK0&6wA|&#)V9dbxNvLwCe8 zb6|IFgs1`U2#wpk^a~p=5SlL5o^a|=eEjF3cQ?LH8p(FWiR#2(cefaZE=(f(OBdyk z^a@r$V~cRMiQwsT@jsuHmS7v>`t`<#gE7Y$=u7S8N*T_e-Sl>aOX4%-?KTmJ=O2T& zFW|~Olf389#$b3gAEm7xmW{2!9Br2_?UIU=^t-<9_}F;gX6H}hG8w=8%H@D~f)VdN z)Ri5ue<$hMY2OsutV{59wScJFUHl(%K1_)QIDLOHF0JO=I!-g;rQk zu#;hySoEO!E7LTwuJkJw$~H8W3L)@^C{>SRimcg()#apTSf@qS$b@3Sl!(=}tD3SBZne!mDJcthmBE<-rp@tH$`I*QSCw$@D zSQ|rzoBaZ{6L?7(6i3XZV|0nRPp2K$0RV_5kNe1Odnx;;NtKwJq(5pv(0wx)Min>5 z?%}A;>yqz526?Qln1=y;ejK0@x^D$oh<4@^pZXZ7W{yvbmsdf85j51(b0loL zP1j+gNTJ)tXEnIE_HE#>WG!W?Pq?zXaQzq

iTW;ymnPqt=rPGV<(Wg%aGgjM) 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%0D~EwARk&#ma9Xh0CLPqvGRB z9#}`)1Ch>1gahQ?CP9H7u&w~24)S;Tw*G}tUEEiV@vNjP#LT`qPnK1wu=KSZK6ELD z&wT0${*YI~R&C_#~j-os$q4^FeOtn|?sUtS; zmvuMK%!h-~{+aax(9Na872_?D*GQGg74c4@QH|rP6MrxX;^RN%hD`OEEHNjW#!8w0 zp!j)Ga;W5tWrGQif(SxDr(RJwLX%^e;rN26CXK$`qsVq+Trupl(E@@}(2QV^vU%5Y zrNV}ld}OG1;=awqo-U|7SG*?Sz*`)*DdfH}xG5`ymkS(NleY>JxBlB+@wb8g1%~-h z_ylo?inTalSGq4FgY&0ppSA+%-r`tH0un--WW4DB1sT*o>09deWtTmu_6{4*e{J@N zni`dA*M$R=cdht#)DAYDmYC*ew&L#g~k4a;-=BzfYJ00Qw_5O+xO5N@xv4NzEeTH2-@8J z+<{sEyv$U!DBG9(lxMq%_Z_-*cPk`}y`yC6?Op4_k!E^p$YgJZi_IEvrq--di^EK( zP2Pu2Mq!&m(%vwb@ZD|fbXKbJhb09hTlvKj%z}l9Xe~RHt1QB!R4poX?);XSQJk%{ zkj$5!p;L%xe~Z=DG0I(PlFYYs%E!tTs`aWhxCB-;(S=0a81P)`hz>&{;o5J~#|IuE zFD=oLG%>nox5pQ%;F7S*L`7wBFv3u}Y#ra(FP?1LZA+>b{&-Q4o2;F`HglN~1dCZN z`RQ4ZTHgj|GCta;A_5u<0N2BC&<^qWH+9Da=x7q5f;;vl@2bZu;I_z9+__sMh}_bJ zE>WEV=?4TSphPwMozb~Mif(pv;KPL$D!`)At4co^yETtNBZdQDIIO7LsZMriX2(Yp zSyn@OuDHyy*9>vuY_7Mp%+X<&l}o|_wOV$dYXTif8W~#-E|?wOOPYEnty$dhK7zo* z8e=Id_F=Ea!OZha$95-axHa91U7USkE%-VB$f&?ZYszx87by!ZS=B~wWDF%;S-IEbq^Ap9LE}C6Ths^uBo--w(rgO z!wUk38{gp*+?T`++U2$7maO$k^2$QSMoU5(CP=Ck3k#&)Qj?Hj_Ngv9B-!2 zB>R}pg+jI|LfIx;c9T8p*cC~HvBcQ-WyUgwS$a;_?|1#~Z`b#G-^cMB$8#L_^M`{O zW|&N`9CZ{c>)ZLd%g14VHo zgR(q4m&!E`f>7>jb2R#?X0F#M0{5M#?r4L>k==D?&KYY1Z4AEPzit5?$msyzd?E$F zr}(nPgf#euOKV{2|4wGRw(xKJl(JG5L)`FMZghwk|U5|N_0(?hx5p%2K^0xr| zbVs)4@nlK4^K}`5;tXTpp~#%{^rp?MUJnP2PgRdcHLorNz};Ulv+41PeS}=#{)m0+ z*C}UT&BZe6v*%_4!u;@sefZ6X=}QWX2Rr7$Quen7YH(O`;OT=jURa`HM@O+d_4^J}!vus{(_$J`%hD({Qi4Cn;lA&xN*^ zxJ_eQU>LWgI=y-x{O1h|+!P$ZgTp)7hw~|m{yT(9gGD%1WX~_3(XI|0Bds5%(nUAxy2&295Fsz|RB(lpDsD)WMcvbxvMA;vz zT$e*2-4rDT2)ce1luI_ox_A1H^kj_YgolhG8)bq-)yg9D_~Tu5?WkABaCIGqkUk^#sft`7*V zG6F2Vb#P{PgNPv*M*zWW9L1U@H;?g1&E9nf^a6)>&;H`z0@}TVmu!y8m-k5zd!9Aa z_$V8_PRF5>&nu_U`kiNCT5G5y*ajt5Vw6;K026JSWqIR8M9*wZ|3)AqsUduuY5_<4 z9VJq0`Qke$c@F7yBh%qT?po;5&aVgeUU+)C{`BU4`>{LW$1W5f3LVBKY{`T2GZm<| zwJE0Gf7ZLAi{(YsjCYwU?w*D!)43e>?G_38!#!#vg&{;=oT|Z#u9`NsYNXHp$Vv~jg_A|1ReRz5&H9g2VR zI^4$r^cHLpmjSr(rJ@nE{AlA@(UtRL$@+UAhdN_><}y3{8;!CJqV=wAHTrG%cX4lw z8LQdcTY$_$2n&zI=E6(g_nkjrJeGo1(aH(j1LD zDb!cU&cDqJ*GTcX!WA3*PITY7r=h|=d4|s2ahfe;u_ef#t^A2f3uApuJk)c+QngFi zv-rG_@GI|R$-@Ke4i3@2yp{qL*r<+h1XU_ieiIR^M&m7RdaYx%~ZcKJ(frnS1(Jc*UqA{4eq^#CHj_JN4d48mA>-qw2#BbF!h1}~OB4zH(1YwTe2 z*V031<*a1agjQ#&^yZ*>a-W&`faB(oF@w#X{8k6m{_BiKctWv;ScQMj^k_v6Q6 zP40shsoER){PgTmnGh7;+Cse<{q<<;np388u7who8^yVtcVpDl_FY;cGWv!h=#Oun z)p0zUyM`auD_KT7a$UkfJ60c_&cGN`f|Xd)qdmu>n!EL1@_%uFm%!)8(jRD3&kQ{j zIZV>2h(la`ePEL`uF9X>dU`EVpu`8)HE2y+qjTEe3oSiD^g#>d%n6sjS}5Q2Acm94 zdylu%09C=%H5_ku_`5B80uNFDi#n70VzI*=V)5l=@ zMKa|!uf#kg@Ywab#mTg^4`bm4H|7CkDAH$j z2&L_hR}($Bj5z--!+UQ_m0Bm{(v96K`5iP$TADM&K-Lwo$m6ITlJcmY)OI5j#+Zq& zTqby+Z%1lU`2(^KV_JnX77vML)CMl+I$TSPPZ~Vxp)^!~NSCl&#GZ0l6&MR-zJ>&# z-tE9^URTAsA*TbI(ltRtU%|~@Sz_Rl*6W|b?u2if)W0ao3|*C99G)p`felcowi=<> z5}{h~%y^aqina^Q65;ppLHz;T??0bA5%-Iu3UM7#ASr&m{8?L^Aa?;e5z2hR`qWx(rB09C~d=pn{~Qv7Wm-4(IjC+#bWp^EiGPR0bte2W?d z1xACmsGkOYh~6jUPNG&5#UGPvfEP55~jCAGj=!4W7#VxHfe)Ia8#g z@$FqZ>yMrF-DZf|Rfq4)`s6Act)Bj%dN=iBPtn_pk7CCP8?w~Q?KUf|YNnnt9zeVv z6F#{@9l1J&;a`~wBL3Na4SFym?+*4~)bnCR*i+U^tXOG)3OKC06VqKvwMeNv`&O1~ zT|4wjfQ;b$Dj5E}a`@r{*Jt;0($5$U`_D=)q5E*nfz3cBYeAkT^O}9M#C+_Z?NY~m z1DhER#Z|I57f{OaBagd1)_$@i{akD>sqkuK^{6EvTOnfp^c$dICo#Q+DRO-ky}*iG zT3X8<)Yb+axAGGWk)8?{_xdWFzw|S&Z;rJ6Q!a{TMvt?NE{s&~I=_x>_xRk*W}orh zAoagNrtc*S@H?b0tKBE=o-i`EmzJWT*UBh4c;0FyIyya2UXx#GcV%`rlTUzc0RV^K?L0p@bj%_}sx6HFzxDs{XN) zm2lks=QjimJa>^q%}pW*uljz_u_Y8z(-X-{%?R8&OlbOnurNgk8Ymfaew?q%&ls-gs1gv z)kQ;*uvNt~P@gsGZTV!JPs*Hvmu@=X!I#KY3he(>uW>vgCw*ESTZU{xQ0@={G_A8u znL3@0C5;)f{q`eV+wUS=PXilu<&KvPvI5!tO{VQs=K_5jsV|wlu zhqLh%*qcYm!HoLRtH3e9zJsokDNwMzRlWCvua6qbpsvvo?!1xM>pxB$=9FL+t`j^7 zZJ=Ni*vwT6FWU8nbjZ^STLKlz$YO7ci?v$!-oG4A+nK%UN4(HZK^Zrd@-Ma;ZL%e% z--*i29l4%H)zH|)f=!AH^4_M-Z*EcLlbpXH zues9JS^=W5qCYl)I;ZD{4f5g2E7|-lebd!9)xyL-LvM6Y&d4uBiWW<*m9i8n??DvOauRpE$+mcR1w(V+;*BKlBQ=h8SZs^MDJVT&P z<)8xr%a>Ho;xQepU}$KUl(py4qY5{B+OW!}K7DCiMVN%XNsir`?Wn0y2grgl8`45D ztdQ5xj7}qF0Hq1l-X@NJ0-{RN>VW;Fz`x>%O^X0-Z(~kip+!cYJYzGLr zU(htMpIE4~)~nN&LLRW%rzi-Cvm=F=>x3>cu3UyGj@rRQrtBCz(Sv((48HpPhADzN zVa6;Vq>gA+_L|lgGD%Fu6{e1M%%MH&s7SDm)$cb7Nr-zo+6*~bGUdy|0g=8>C6Ev0 zCLcsL-)fFHqrr?IgEZv7Sf5{jxZoOM9tul5*wyN2?(?)G6*2GGA`F6wlhq%=fA~A6 zxB8xLUyqOvX#!eN!*ME)(}Ucg1mb6UIPlIHYELAAK5GKB>|zG7JS?HxA$z)yeXDE}rWgKGxrg9=Ci z*QEPo4tuAMqyv2z+kemlD{FpmX4CBMx@%Yv zoN_u$gQ0gE2$;<~TAe!{AcE5A8f)g@_*e*ywXD4ZjI68hQb%$yMiVRbEDX`OtS8m} zW_dx|Q!m=>{aKfZ^vhmd_);hgvn7lk;-+?-a-%?A(mGWG{R~8Fu_6Vj1)>qjk;?_E z?OHwY57Ks<>!Owq700cp0*ngWQE@^&L<8+l2iI2cA!_^7Q?aeFu*T2w@0`TD3D|a3 z-%{?6(laqneEL)xD)0I%*@M+MWt_<>V_d|j_N+UxJ7alrhpKIo9+F{$AO$5GlteMB%R^{Z6TmIU-M%WH6 z>Iouok|oru213efWWnd|Mq18nDV(Ps{X0tN-7sshYFh5i07e~6k zCG2-O@pkiH94!*Wg-B>-m;`d=9RS0PP#%RbU~tv}ep@7Kh(LckMs5DS4DZ!u>m6TW zm)XNN4-ks5avs8(^f1cQ9ZK}a_v+pPiw_5)OWr<>Ae6`Z+|an{FuL@wFUXst_0Zd> zGBrfF6jOBsb*LKup&IWfX&!P(ytU$!b=mjQKlZIs`O*yzz7a{t+aGb;U8R|3LoLat z@X%gVQkp|J&Fx46V!A!a;`2fNjEbl=PB)jqqhrO`KwFhyx<8vcW`v;)53&-XiXX_* z%kI@dJD1YG?tN>$^zzU4WSrJ!>#)>XQyK+P+y7$VokSUh^(LZB@odu$aeU^Noc!p_ z-NxosE$J!FO8uZ3w(@&5?4L!F|9g+O6+&6)bsa1(X-WKV#pBrtJbGd?zBk+#_{%Jp ze@g_h)le<4(&MenJ-`-$;CjZedxPsgh#z}y#86@~tKp-z#UMKvO}O_r5A^Tvs6>cj zM%Xwd3K%pWElKP!E!JK_J0MaanQvfVJNHV1z~M%k+g(I>Xf|dqJsKD|k1Zv*-&xa} z5PJ`>vl36h@Z?IiGwCb;D(EOXsKC}80ke}mnPWNU5w$T%&)65RDWDp@66o=Fy#9~x z+mL3}fwwvq*CfM_6_$FABj&TB5$_3gxw^9sEUnSaky0HON$q2655*%lVp(ylTtI?? z_k}d~zxN@)17!}LY}XV$83tpm&Y?nz=O#i1BNg*uhQK*`+5VF+y^W#H5bK2=Vq5Vr zNA87tBO!Z^c*)g-L&owe5c6<~?h00bE@`}#DU~T-yiHg#_4{`ol|;LshsgmPCn`{4#k}qwkT@h^hUxDRE6!N z2#5hLKLHu!Z<>grAhz1E(Srbf>M?G+Wpsa`J?xGM{Jb=eLr}3)BCzLK{D5WL9FaUT~?K+8Ihh zTY*FLVe*66o(bBCpU2*j99EHg7f61>83XMd&y3$>wY=#X`vi|RTdGBcY@Xj)6j3|6H`UuexFuv{s=@oE%3CJy=sVN$<1+$#^+rmFCK&|HhlO)|dZ#z) zDFm7ky?B)IIqr4`aYX3HKumdewI;{n;cbjMpCJ83$px9drD1o!>VtOH4AFsw@`lWk zIb_*o+nDa#&%)%Gk_!+?q;%54z^!*1fkIfkle-SXxPVL_|j zjz|00cHNssJBE=pR65tF;Gva8M>6ftkm}-f2n>5KbTcfuY_6KWVZ(bnx z2p!yZrp)Q)j%byAl06w|LCuD_qR3<(ldUNK$krA%b`M32-|0roHKAD?Jz=&U^=x%1 z19m0gu6^f~{{(+w2s*kn|Fh^|KH?*a`EKb?XnsFpRe@khIL`6|hr1oa3A(01Qj=8W zwSZ|uk7{=(KF9Kbz5MX6`W(3IHh{nIoqvb%eD8Q4F>1zwvE=3Fu)Op^N=bX2kWpHD z$U;iuP}7l#YdadUcih(axwfkkkQD(dOKcIm@m-K{c6=y@@nT!mgu0lD>9cn{@J3-v zQpev#S>w1(Irm>$C%Ea?w{mF@e92v~o=Q1;%elMixk3NBDuOLg3IwN)=0X%vH2XM? zZbb&FQcr=msqrMzgIAX54~QTt{N9}nP=gF&9qu2G%c>I1nak{I4ODR(V(KS$OR)7l z7|TriON%Osz~%%8q5;ICJOd*NtbN8rI!pmbL0bV5*UAYbL8BIX=(O9%t@48F{~T1TDZo$6it!7G{>|A|?9#mD;cxBm!JoNm zh-EcMh;@t5EHhAO${u79)c&wq9Gq~t12~yg-FKTuChk}5Em6oKKd?rPsKkN;`e^Kb z4(NZIQiL{fI4oLJW1f_UDi|TC=%3^2zSI8`)>Z5cExZKcoa`3j{@ja;V)e+#Q)}lN zI$_;AJ=>WF@p=sSJUYd~v6&W-;seyxbvuB%`nujrGc>KeJ{P(t1U zhM15C`eqiMzMd_;a%Xf>(@?n#yQoF6uy=$> zW0htW$;5N1S==)hn>^SQ)2Wn|L@}bM&+3GdNG9{ZRY`Ke0AX;tRxm z6c=xSN6c7BC`8uC+ zs?h=tiW8hnNs3OwT4_D6^39^~u~vrjN3c`X28U2@C*FlCsL6WAE=e{tl{|M5nfD1!cX)+wTZ1t%qgEI8l3!q0l2+2^5C}^N*Ufa^mP^iXY!_J zEh<=@{4v_hAf3m}p-PJBQ;a=;2nv)d>luy}l~s1q=RuMXmA17)G}%hb7Y5Zz!x+9r zzx7PN{Evw0Z=&V44G_uf{Lq5|oO(5G3P}9v)Q*e;&~R<#e0PA&^y+Bu!77R zAZ061`(v(OcaV6mTiTI2Q(%mmL6t?(s~DCbE9!%a;SG}KDhxdmH?NBZuTWpNv;Oo1S9hMuMQ4>=iGfE#k4vE~w6jAqSW=rv>7i)uO~{kGM{b z9@W_|`p%;ZD^G8>8bT>|PRu)#jHBuRi)H2C7+wUBGY*G=zS0OE0V}$8Mmu9pL#ZS} zuzFReSRxcEA2R<_Y00I(nj^2BhN1iVP%6e`0-3J&s=^~Z2+jxN1&7fQkHA~#7vk<; zSuhzr?QQ0ys+}%vYQZW@&ZI*I`8})3QnuP<+HoRR`<3HNe=N2h%CNaNe}#*h9kpWn zzl+)b-eDZbCg?E2sSGQ`#874aTmv-tnM}KWsg2TLTJ!DmI)(P}MNVlZD}B+`UkRf0 zVumymM#tq@IV7H-7&>N?)i&06w7)D&xHl=B)8KCAa5XR=nNZhc7(L@UMp>eb(YK94 z(#i|&`jo+j_}#?`s!<^Gu{^%AALe$?YGN2KL`O7T#M@Kw!9|Wwk3J|#fJBI+li8I4uBpJch8ny z{CZ2u!68FD6}MQqzvWL5*3_)$eI9wT1_hq1MxLB!g(VY3*n-#}@FJN2nUo()Md~5* z?ijbvxo9Ng=1ne}Lz0(7Tm4rFH$joAgp~(mG+WTj6I>vMF*sY0<(>4Cbvceu()MF1*yK`QSu&(5(&nX15zj0`rrs@qj3S*z? zGFO-MRd$**eko3WYrz0zzPtllp$a@0w5HiI6Sx{6hVYsmOEUVC&=S$UeM1Qr1nNKv zv-nM<)D!tNKK2gJ&Mitn(m#zE`~wJ^H1sy)!}Qoq6$F+z#hxtI0oDSoZa4+cBS-KX;vgzs~#0d-F%Gr}FVLCp%Wa&~e1Vr;l09 zj-xtR@1<1^2e7VK0of>E$(yujcF>lx1av9e!d%qhwqS^buS~Kj!ObrU6A?zX`ztjwg7m}oMKJ5RgZLfKtOpyC2*QLo4kLOW?{AfM; zj^$q*9!&6O|GWgyb-T_626Sa%6vaF?3cQ0oODzwGEjP9YsBJ4dTz#H8^de>O+)pVd z^ld#H>J(57ZM@}tJF*~|NO-k@a#iBJ& zq*M=Eiw=xNN@KQ%x5>xuqK#i1-Il!;sgy75xuieX&nAL29n@uFm>d&qY7zhw;(w#d zVD;G~)Ur$BCE&Nl!CV%8&o(cG1y_*BD~{n9`}BZoMaGkUerNNk9-w&O#`L<`06{SR zaO`jR;6Hxn&wuY>(5N&?p4a2G-;7?WpegTp*#5&lRwwOKr(@rdRb)CKFuKwQa~2rz zdLMh$LA3#)ek|5STJkSaswI`6KR|2s;n8eImDpd&2V$PaT6HFsD(o z8nD~ar@a>Kl=T?A4kJ009AGa;eb~CI>%cit0U&q6~=RZ zbDO1`FC}I)ptQJ%5LkV(?8eOT8H3%wIF<@3G^S8F<+|@a%slZ_dWd(hg|AD!Hz6(G zJ~QZ|trF80IQp#lIIbT*jJ5WFXt(K0S&nG>Rd%B=B(j)<7FElxES<5e_GRp4>XrBR z6M`^u=}EKM7k=DCY&(KtdJ!*Y1hL90_9Ezb9#` zyJ!`gGVh=#pEbQWg*mT1e*DiYjw77!(?C<^R^j3QK$`hqzmpVb!XBcKL!K>tq(`b3 zb|ne+OW>s7<>xluF#LEO^>t;P-F3glz8SeAEr--gQS+j<&*MkDH$)+xxzciFh2uQW z8Mm(W9?kY$ld`hhlF=J=d>+P1ypU^leqE=E91Y-%?SDdtP!9T5VP^;UbEA{_ z>7B`2OltYXQNBR8CvvWkEa+FL$~OmT?K>Ry3M|PN!5?u_L!RW_pS#|ZYm)ozHN+#M zf1)rCh?#u2fPCQ6A2RC4u3l-*taB2)e<~Aq;1hDUM%oqR>BjorFKjzR>ec|{ByN~Krh?~dl zbr7g6m#+$qfPLMIoZ+q9fAv$qkulLAUnok`;OqtvzsE5-%`jX$SWI=67`hw3hi*V~ zqi5!Rlu6P^t0OOy^go$Ue{pbFwgYAsDa!*+(<}%!#5WF|iXPu*HlP#IYQgxtA@0Km z_u9N4JeD1QKfSOtY5txELh}8OHx}eL7C-UO8w#u*%}JLss#G3nRW|LiUbt2LV2ZSk zi=O&^6p2*lpKN&=SDDbaTJ)$hWuKP5zGcK#I)2jkUoFmmkT9mH8<&5~FOU3MR#^J3 zrpE5L@gH6fNLD=jYxYB(B$fENv!2lhM!L#eb!pXP=Z)9u*jVU+9b%OSoQE1<__z@T z7x0@q`#_ikBD)t}U=l$q+lP&yz<@iu4ZPo#|5uB_@sAgEy{f&?yuV&N@iVY7XIQc! zIzN&fJM3r~KF0j;&YTR6yL-L4MSc4508He_pd6Y5KKl#AuwF6Op)|jA-E-YoRJ7YE z)hT4>n}|d7oq2`V=)zQ#QNJTo(1$y5-BF|(u}4sE1_kMx>ZxY2kDQ=`3SGB`@40Mx zR4VHrY7*lzg6`99R_K&;@G6N+t^X+|-;l!I&H*e(l|v1p5LVCPjqtG}s9bqk3FJnI zQ5#7QZN3&z^XW6ycOr$dp_18VAHVSYz+`z9FGcPi^%WovyOS7Z)&O{s2 z+&+eC?5xy2`bahE$xbuSqr0xU8eyz`IXU>$7FM=xoLG8&$&qoIUUIWtioeKqnshsp zwTIB=1tyMHA;y1Hny!M?=_fSL(G{egfT z3>&S|(<{kO)P6L4Za|K&j?+JSN`+(v<1vo1vXeS%Yn*B$EcT|;NxY~#*D3iIhv|+l z$6435BciaCq%o#raW}Et1*H$wqv@^e=T$r)iPK@re^7?qDU~_iKi&}=w&+u(j=A>x zC++zCA&HCTgKZk>=NjljHX#1-ufqTNxNnWYRpLuq2rFj`{7Lm*#X&F3bAM8 z#UviMJ=0friT)dv!eX!kW?h@j3vj~O0;dq2<(ym+BlvZu7@J{>2=gTQJu|J;9Fvl$ zr!DWE=q4l;YVQ7gP3-wkjrW7GOTcKd&NxcaUQv%k%Vv6>b-!I|iwx5gWAFUrqy7XB zTPqyFi#{4UZqkpMPq@KTC=`!A@Hq#mHhh3inxb9DCp23|ReZCiDu zqvWMY9WX-L6e9cOQ~*RVf`R1Ek}IG{O1QrK(T^gLGwnKs`z*}+YVtKcttlIBiww49 ziVq2ct>>=|>{%~pS;qbI3O1*au|;tXlV-QgO}df`KrDI^=v?g;La}!>v%xR`oe|>Z zkqbm7FOKP;rb&~0=Poa~+}=c7RYZy<7fJdBv67J| zin}DmozyFz+nD?NZQBfHxU>1UxNMseiGl!yF+?zR9u3%Ixl7*apfjfTf36Z$95IFm z$-A%*qIm(jT$=`r!eeMm``lN_`&pT_m$J=B5QQtSzV3~p`K^Dyc^b?!C~&w}^;G0Q z-kt%b77YIWQNUT*qYwaS&v!e4kG+VX=D{6avTf;c%RlCEqO2sMEn(Xn9JZzm&eWsB z<U~yZ@zWcc!>|^j(%jtBJ)-Blkh6r7pk3qEbNvFmxU&(E4XWUiN4^{bcn!m0ui(U8^j_d=gu4oT~`;orslv z&$_O+f$Vo3vCR)|)*3>+Ci^;mM*=>stZUV*07lhA->9uo^ahK37tOg1}h>zen?or6I*=GE)1-wM;(j zs}9r~>~U5Z;!&9PlOn40yVQUMo0J;oRoR>Xpu3FiM2N~)ksaxT(Pz9}rsU%H%%lPH zW~r?8M>xkrG|M1P@!@@`B>7R9AR?@Ympo9dMCpks1#M;?$C_EIbwobql~KZ>xv#oq zqdMjWQe8u2ZP3G3B9Aj`22$NMRs)||K~#YS1BU8!MRgxl??wz7_3awOWP+gAI>)B#)cae)kODh)ed~2UeT^W1A+n1M(&eM^&4zp&Mma_Vx zHi@no6?H04^UxnaA$kmVU^cFLeZbXjvYq5DG_|MwWJGYEc!~J`F<{P=dLKJEa<4Q% zGu7qA&8|ZDdl831N_%a4h}yCKXQ+V0vsGc`+K0msG4wLal$F%+==puegV*tU*-gYE z`Lf%_nypk6BhHNOMR{v z$g-oRt%T?{6morquJ15xuiXnT`9$0fosBI2*e26>CH1Izlnd3m9($0A3^I}S9Z9e@ zlKO7atE~nty^x<)6J))uMmSVp>nYg{=bdI~^qnzNQ*Rov%^BS9PXV$AU-6ql&DEDy zK#2RSiX3AX2I{^THvorCSCq4e#>j!S<-=O5GJAnxx`Z)0hoaxao}8v3h7JooE=9d| z3npHBlw8;E^pNz2`!P6x)>a%^)QPioI#oLuaP7N0uGX)<2IBEd0#rF|L+-so& z77k#Vc~?ND>w_NIK`Ziwuipz(3KouBiGI27>J-k!il}~1MaM2%%Zx9He~VLC^BzP| z9N>#H_@Bzs-=Y5Bw5K;8ARQXYa_tCSwiuU3M1R&c%0fm zmNJXc6S__F%*L;%BYvy`n^a{m-d?d(3|~O^?V8hV)B}GOxM;KZ6YxFuBp&j+O45}{t;@HBZdel_b zw^R|CQ92In8gSv1WC9_39RBZ56+-Lj)41MC3T*ZBYtUPeXiUNlF`z=ab9Wc8t--On z@#&IwsoAfm+a<@bTEqkoey^B?m<%5xEug1M`J!!; z6rk-UnrM;dzp8I_(vzq2c?Du_S#8eu%z%I~-h;ddQS@$t_ngFaZT}Z6ejjR#%l~nu z_g3Yh-o3&o?~rRzgYD;co*GOTSJy#h(o}WDhoR}s?xDzxn(u?X-za*5vw7(|u=k0# zB*zH@V>QISp;JZFw$Mu@-T96_MNdk(iIVX3SJrcaYXpar4a-snhAiKsr6dG4*}o;m7zB)fF#MbU}h> zrqqY%p;5)**D28w`@++Anj8h=NprG0jqF-rnIzxFcCMEJ$AufoOj6q;Y`ne&xejqi zA`~k$J#@li7qQs*9WuE^wqV=5hzXXz6Irh%E$i%^vR-avZ5(fZWxCU$137|siBXFeektqwe2q1UqO6l zBohH9VSI%~axtDDyIBu}wiI)jPjUae%oem7OqT&FItnQIX%sbuEhITiWYPzr;WVfT ze-@fP0Eo}WebP{y!ZKyhyGaD4ry87(B=36S`Ygm&ycI_)pmx13as;>%?A{yyp!6jm zt1H4)nrok|0|>cX?{9USGaoWDXUgqU?3G^R#(ute z%~`4G2u`OtHWLJadI5-O>rRNGgkYb^ysGo)rAzQ&Y?rYf^Mu+F@QHDnU}sH(8d?@& z1T+@2_Il~Dximl-(17ML-?(t>XHRkg^!sm&qjD$~18I##9c_I6r^O!&nt1tLx)A@M z^xB<}z6fJj!xHz*kOF02_K1!V)ZwcA@I{>9c?H8)Fr&LUs$Irwd^heqf0I1_UF(dq zb3_L|0xR8tW-5$^Y1D7VV=X7&xt=JR8}K@BfV=Jd$~(B7kVYI%OWY|W(=Y%NHf<~! zXt?d^ZXzOmkK@6nQ)qfuiqOUfqDjsDXh~k~)-0wMTVjI#Q?CBLgyt#~s8<7g&Ag&| z*gHW>!KgPACP(-CIIPJHZ&epYF47f7+7DIwX%bdf70x22%9&t)jjMYBDlbqid|Q3Y z=i120!jYK=Kc89N(%dhxs4n{e##j(XgkjqG?sZXKXZOfZys&O+Apvur?kA{4puoHO zy3ByaVe>IA3hT zn%cl;*nA(a?ZmAk$N5+AOuhkK2C~LcZ38KFFR!j)Q%wB~zAMc~(CP}q-3|!%6p&xK zsDD{8k!W*$sotEsrMCli>94)a2E#=lX;v9=BHW!cPS@b3DXCqeFe zd=^5qg}EZ{geOG>>=yHrTt<)X3Lg@sP8PpE_s5J^RAV|~_1g^qR^@bWR4|@CBKG2o zre5kBJVth^dke0u95=QG;+{(cjpwri2kziqp|Y*O>r!&mv_WRy05B{8DqC#C3bj){ zIi2Q~8qRwL#HB@GNnC%hqi8rLU-`1C#&GF#*WFO};Ox~0oAMRs*sfGdA039-EYuG; zwNPF5=)k*(Aq6y2`%Wk%FF!g7B8Pz|h5zLjNv*TyTrUHk;eUc06Mwctoqs{}GP3Ny zn3t19AW5YFliT4sQoINz#t=6Ya}n%HY2vD-=LUfhhNcidFSbHtJLo0Wb{Yt+qTb-s zw@PjBcTh=m4C^)HwnufZba(8UQ=kZDI^qtbAiueX;`U8uFJ=#=JFRA!bc@0&P4wZe zNo$|_L`uZCv)(e#Q#D4#tEIazS2AbT4_)Dtz2fdz3V-x8nc0lOOOs#6E>~k|md>m9rt_M~*9Cb+EQr`7V zXM$r|S9-a(%ek{Q>U~AB%eS6SA?h5wX^E@^LiIimb6t`RRmH49VV(HkO!P_E=@L2r zh=uqUXx*r_srdm4&tR%roVKpBkU_ z5cN(x41~YAUzI)#MA`E}ygH`z$g5E;6YhBo5873JAtCf&{gf_;=V1*uMNZt< z@%-GN4>K8!vuRIL1bn>VAp5C3BOl*SudiSH#o@ewK4!7@`SnrI!ko``tp&dX{%?FP zk2nwa25uqOM~b1yZWofMg9%tU^lQA7SG_`btdsi6Qsc-i0S(^e(DBF3%-vmZPUzth z3=AWPk_atY+CPgV9lUb(Bu~)T?j6q$K21@%pXU*)({0Dp+;i1x>GjGwlP~t$*bP?7 z1=N04e35{X#laiRzT&UGGGf%;19!BPWK2ZMgbnSYM-J=3rmbMrv70vuYJ+a=j^ZfW zhFi&UmAq|?`h+r0w3WjwIULSid5mga|JqLNO!3<|TNyjg$0O2GCSz_*e}tan*nfqK zGxSf5Sd1!A=o9cjH=LVY|1sOYV*aIC((>v}c6;JL$9{q4BxOD4{$P`=qpw_u7p~rp z8Z5DvV)6j%Tn~=L$Uz3!T94rS;_@AE_^+})*-nV6#6g!vPx$;!YI+TRAM;oq9cuE5 zvkP;^$T-?w?9?joKVqymn7#i-Eh%r7;V+Us^@}42UmyTroI@VLj#e!`$SdA26%5u~DI(m%_^Z6zO>+;&jS6ZYljCueu_V90xwzTM;%4>YQG;>F#N#m!N zZbU!Wo&GZn%x3wL4%O-w&4s|i%MX{|MLewRNHN5=iyPdugm!vt-At4j21Yj+fxQqF ziPNOy=Jb_6S$B`o6&;-pT^Op__F~5{2gjE&abQ5h@I1^DRD=4{$@HvFR_+<{i-ItC&*e)~odXrRCTJf+{A**{Gp?i! zd|S~O*Mzs94*|7_gO`JBIpG&27l_Ye4L1eqhLl@pJMXnbU%&Fn-~UTD820*BVd=YcsAl8}KN@govyNe8?%JljL6_zxx&Oh7?>T}WZv9>k2_f{Sffz%5<(9|)PhT4=Z0^7u$OhYFb>fBj zEI9TXmneHkFkdPCSDd-gCGQjX=5jc>^^2k3cOjxsofL|7WS% zsUIoOy3SWmmYkMu$72T@7;Ya5kxr~YG_8#+>F)c?4zkP(d>DZEea=s91!ezw1G%(VEp*!) zs7{?SR?q$ew7VfSiz^4`Ca)9lps>yBK$D@tdJv`10~p5^zxL6LEq-(Tp+7t@>c5z$ ze-Tg3!B*KKp8m}QqYDxpVIfz7*xx9ns0}JeBXD=1`bQWuP$YGKL8R9!JuZ@yeoRv~wVzV4XorS<3`wv`a%m&j1{`ot^ zKVQsHBEIr|g!j=$Z3mX|_sfD3N?;>llgq;#RQnzRm(m5(O`ALuTHYU@xHmZ`H|R5%;Ern9RUv&zlM=JtGqsCU8&QRdG;uwyDs=t=2nI6 z{}vm45?(}TfbGQ~Ivl0fEVq-)x|Xz0gcWrV1}y|0K25g|Yi*L%6dm_4#1}O;Fd7kk zUeY+UQ=q+6)pNo}H;Wjt56awg&~TEKNLPC4cZ?2tZ$xijPD$yl${@kuH{x!*D|nWRp}8kh1ed=$KwY z)mrZc)5x>ZBC~~17+hTRa}`iN+?&+IsLk~iVb+ZYG(_gT-n=>$&bfcN?nb@;Vq2SQ zqAE2oP(>iQBy&{fj_?u10|AN=581PSOyIuzIMl0HGfZYUHC-u$fTh&xd(R{9oO<2l zqm^%Pi9Pe!03_~K^b~h<(Yv+0K?dg>qY*L$q zF>!HZfEku(-MYIoiScEfW!g<&q2-cni4ihf)5dPm_BS=xIBecETNj(0@liwPJ}_f< zkOiWm4L;1Q9Gh~OiEu;&e?;VZAM$V*ALAG$BG#Z*w^QLPx<82gdMM8x5S;@jac=kI&16|@iD=8$=EL{}8T6>$elt4M zxM?V4(>?BYO2*N$GT>GG8QF`bvL4??Wp6n5RQnMEaOh#y^lC*%jV ziU98NbUUiBiP|yxi@dpsQW2zKS>;*pjR=qe&37|2s1>GL9WcYhkYW}?H|G7&Am`H2 zef4YGiTksAS_K+d`yOB05{_NlclU48{@>p@X`JjmbN5(r3?YwwWMNF}o-GQkrPB#e zce5ot%;TaVKeE5F-m&4muZvSC)%Z%N#IYl8?PSI5Mr_`iIJ5mKf*ZkuaZVS3H^o-J zE=Bjs?^(#7DY$`}F?F3r6@N%zMKSc4R|w(lR3;N)ZK7loFKz zL_|b{C@nIG2obT+30Y%76od!}D2S0JQX{=5(z{4+Lg>9Dl#sgSyLp~x-aYO3zTreaWCmIOojS33cUp%bg$ZR8}Z3#4T8Q_np<8 z-=29PboAPAq0h&AVYSI|1bx1n5hf>MZtrKU17=IkhA8N@K7*ECfJ+KOjZmRI(6kS& zl}85#P53(gIPU`)h4W*kdW?{sEW5;bzJIyg+dFe9st4(GMbzZ}y=#cC6ZPLk#rPu{ zT)6vqMV3no#-EsFrterp+Pj+46^?~JA+PSNs;k`||F|q~ZXUA2Bo7N!k>MXf4R2+H z$Qgw;T1dR8)kwAsP8~p#OhNI~LRx%`vhWi}hsmxpV3te6sUN?GDHr%AWq&tTK2@bH ze!fmwM^J6*)BYCxQ*W=Uxjot_`%LF{pD5qR3@^*pmv=+;cc;)dqs7#bZ$^r(WA6KD zU?t7s15-U3I}E>2XiJpms8wyI6U-z6PcspgUZ)Gdfy9k$wg@04La>GP??ZRTC~y7i z2WF3JA$9SUC?JZ@b+_n^2K0EeoHU1ruzEthmS-nex}IKc{G^y;1U<~zHhrI>pcRr? zXKLwb=Z+A~Pjx^ZmG-v&pUSJe3CynCOEGdaW;B00@_52MR%xJ+E$Q_XpSy!+L;8wh z9)Lp_gb*3!p2l%!_KyB1)3@UG;WdAS^Vz5DWbBo?3vYUwS^f%=4V4@7V*k{R^6$?k zVcnYjhBwkaM9I+vGWqZ)@dGh+jHLx<`VSoZlB(VNZ^+w1uTbaHo0QCJ`*X4I@vgNx zxq_5Wrk>Sn&EY_z=DVUXX4{r4j?~2|cmhM2w&#z&FM0;a6((F-#&2R0uPQz97`6Nr zX(pYgz-q*%-N^wPSTes?6^|?S{&}K8zEd2@B@(JhEfnWiN*@Eo& zjV~8+Rh2p?E~rtHUrEHMwTq+Dk&P7F^yLnCM_&prm{C?#JV02G-urb-w@64FZqL## zhFK(87m##Zkq5joZMA=01N>tUXNs;7PgcO%G#12MCFhn|0I*AT{ZkNpZs92{N^n6P z`|+_k4&AyZkFl^2u+-y z9lZ0kU#-k&8sx<^em6e<_{tP#L@=*&Y;nfC587tfkvQ{eG2NXU9}}G{kQB)7Wm%&a zt4YPR59{@Y$ZXP6$W5ppGa3VbL(&rAU5yO!`^H;duUn=|4q^r`J#P}dJ0`qkC_U^+ zsaG>!RgAk@PKsu|g`USKw*}BX+mNFmF)%q12N^T$bJ6YtUKw6qmda^VTvyKUb zKCgqt9)XS+w+d02;iI}gm$Yz-TFdVH+z*?-+SBMo+zh$7o_z}Pm}-%PAC1O(@tCRw z8#G8=WfKCqJ^=JpSXClkU0doVY86W=jBQ#gi=HffJ2t3R`iwVlP}kwnquOKEqiGgq zlzh_$=nH=V4f8}>c9?_8VVYO6bpv-FH8=Sj`u$|jFE3$@Vtw2k5O)O4wANITDPGkL zZ6%tUoa?#bqe{tLd)+b6cS3i2xu9%+V_5_8ccA&naE)%4m#(@uLuQhOc2}aVX~w3iklSk!ZDv8E~ZPi zDh4?2JUXf^BV<Q zt8gnZi}{qAr$??1Ntzl^)T!}BAoD^}u0MF2dBV_;gT@c~0?n{=kQQBWDC>CBcI*1n zW7YUUPor9uG1Tm%`Re_<4Ngd`xCK(Oy%q%MKcE%{%`fGDgNG(9iPh1~(R-uDOKa1X z9~+@?KbZJ;agN{{0o+DcuxfXrvlFj$)Dbg;jd^;b%t?wRy!<(|T&-75>_8fLc6!=K zI<}Uw%{@+icy3lHQ!lGdr|olBk13S9?V$NviJy0#%!7`YI)rLA?)!A^LfjU|K|*Bt zOZ?y$vw$e`6fp7K0meHI1`J8Ovb+DDx2T%E#x526?|oE2#1 zIzEu@f7TF{=_P~Yh2gh2$6g!~E9s2$)mcnA#qHXEb>lc=I}1u#(#IOIP5o2>l=|(O zMo4DYL}i7ut44KZyXLE06ElRgKxLF7??giJM4TnG^U7(5ur`cntnQ`_w7d%a z$Q0IP=pe1@@%wbqh)ZL$+WAQ4+D41QWB1M~EOGCV6nOc%v$2@&%k~qHB1a}@DheAM z-Cx)sE!=o7jB}EeJIUi`9As+Q=TU9E30Ljc16tSzh?R#r313S?_!&;j{fP@FC_=|s zZ~cavG`jH#XnVVC{fEZ;pGU1gJ{?jrGFoT->vTXxb`ukMZh-eV`fi+ z(Vex)3Mc)DuieqJQ(PrtAZ7J{w-dmUyhyi)EI$~a@{}9@Yj4)-|9w2!)+d%Xf z)JP~<7W!5-0&%w$fyAE%)L*2^V!mK!LKC_^31omkeRi4&a>;r^AlXGbFb0sQGxR~)NPAN_c20F0TwAiM ztU>jKwu3)DG3r@km+K?l*f+(p)0^1n60SPaYnaOCyx=@yyJM)Xd0!OX&WAz`%c=Hr z;{S}OdNI25_yHcF3?6qkZ<;mYuw~!#qRHa=w8D`_=iD5V3`|i`*Fn9=m1B=2h>IV_ zzDMcMbQFV>#?me0Ttbru2XvmFJ*TL26Bycmv1@E%ft>6Xkduw5>O{>8I|5L53$7J& z5vsUO8KK z;w6}dbn|MhOMx_Mjo0*`+!KSi2)ci%;VAZ7nFdE1ZnNs{CX9UVzF&A5Dc9hyve4E`@Tf*Z*qz>XPs6rRNqu15n98JHKF}9>!n60;; zy=`U7gk|%P3y|N+WGCx8C^x3}9VmZk`gIB1k7k*pE)@VXF3 z0PxdGVD6SH$R9o#6?maq&!O5s7CZwjJUe^hr>C{33#-Uo_^(v{o7s30<+vq!8?^5L3Y*{teC|S>3<8 zpy;JPuEuRVa&oe5veJl=y(Wc3_f66;%`se6Hu4g9rppTRXTh-YrjwyKmxDL7?MeQ? zDjhpTVWurs+;9w<%*({$6&}5J`qt=A)Rrn<$}Q*y*R|>r#2p2@ZmO2LstJ+?Omz@s z2PMKHL`mq|7ztRiuWqnnDQG~R;?6B<3#~B%xl9PekFu+t|MW`|8Na(#r>7FN5qbF%o!M1;yVt2EemN$nx2)g;Ip-~2 zrys7ka`f!#$DR-Pjv;AqGY(^+CY` zF`Lp{Yj5f56pNS3qObVuSN0lS`dFmOyh%a=58ST`vkpVB2HG9!L)PrQNa-glwX2K` zuEbtTew#hNPvQ8(3KzQDqJTkO$IAyvu`8Hyikc}?!IqJv?MRvlT9($x5cAoS-JiQ1 zarIG$yzvTLPs&sZVIHFmR8e+mpJv~Bp3|gK_2S5qLPeA(|I1ffMQ@H6UVNVv?x(n% zy*7doK3s9z-%{^U`lF_ibLnM~Fxn3|uQpDf{}{vLK*3=P0CR*nRZ!Ph9$*0sG5dS^ zh@i!bC58hchKa_oH+#_I@R7ioRtaofahiGyFuN}mmbtIMUR;zpik|72kN=JDAa%Hv z!(YV(l+u(-6h|QzXwusX^~xY8FiJJV#ZCZ8Wg|_1JGdmW$}>F&$#vLw$dgm$Fd}8fiTs?>7U{ch{A$!b0SMhB8AJL&8IE~)9FzC+bos$=S;FM^H&p-~ zOwjVmr&Px^bo4~(jN{&kx^_JDcD)NIwQHg*|W7C~pf>X>SFX4&!@-e2<3y+}@p ziymrQ_6J8!LB0zRwIn=o@5t~jz0l6r(5V_=_LW9P~u?$R@W7x{Q1`0i!q<4QVy*f zj@ycIKHV%V2_Lc;kh^477ca0G|GJU)ocj*gL_Urdyxk%7Elz24L8_4JJ2YSeVuq~e zv!?J_#F_^V6!A8fbaIJ7LkHRgZ`j?g#QDDYc$S;2vAzX>HjlH^_p|!oZGg--wKck` zagGjri8AwET?B9(;-Q9nU~;ET@Naw>1^fNPMw=-@T%U8YdTICEY$@8T{eAB{|H)@ps(JU-;B(|5(p$># zCkfSlc<;3D?7^uH4@f>#ch*GYCMepOec(FZMEJjVFwHID^spk|Utzr2&brQP0axPFm^0QkNGx)AQs#@H$8UM_QA7*)wc94FKH3ur`Ce!`no&4w!iOV`- z#z*f_M5o z&wBn26rGx+ENW1|R+KFTvhAM?%d?2_SIzYCSMcxtr5w;xcBLFooK>)08Nswe`yj*Y zdwl_C{+6=CPS5cd#hP`Rq;G>KW|bCB4>9;ll-@*L)lI9CW%b-r-DJHZVbeME z`^iFs-oe$Ed-c+;&F1u(O20Ib@;hfRU2*-*%NNIbJ{>pZx7z3N91`3%`jcWP(Y*f< zi2%7$`U6K*D^VeVm3HDeG;TM)$>VX2wWM&P@+POqNCRE7esVI?A;Z=?aHKFWpEL2| zZoch-?q!b`7e4s>gud}1{7jS70~f5lVtewAoPO)wi1<^Dg6?OScluZ0Y3q1{wTxHT<4{IffV` zw2(?CRAcsLYHKCTyhkj1m{_PNH_fc%ZuU7B?=a=T_wwEDRa%i^(R(M;`9(zbp5(iC zQ>Nt+EDA`PkI;$mBm5q4<2YbG@C2rt5YUUOf;5mM-LULygS;m%mpNad1qm6anJoyq zX$7jkY1AzkzaLaGwx-yRRF}}ALJ$j&E1VP)&$rJXIO8by(sQ!~skfDp%8a0+$7+eg z)V;k-PZizS?oqU#(kX}NW3|_ATGQ-Kn;2$4A9o3AJHfy@sMj5q-Lf)UZbZzW^?ek3(+>td6aG5fbxR6 zY;BWV-Qf!QU7v4X-zJbv%7AVXLQ9Z!$SvPp#5`R;&PiA&`F?!Y?j|g@Iq7+?WLQCg z+NLe%bzaO?JHC0RgL2lKVeP+C)1H3hTDd9UOi*e)eeUpn6{wLbvsYy(w-A5+$ z;(Zse96|q!Zu56=Al?TEuM1`TgSR+b0V;4BN~>xVZD8B;G0T^=1woJuII1Kf`+kK_ zt7X#EN3B38JobFUF8=YK5&$eR<=nV&K>hY^U18N>j-r9Krk$s%+6Mqpl|D58=`wr3{a}R_ zR0l-9oZxuf>B0l&7@z0^@RQ3s*s}0;CwoTgfL>MZLjC7Fa*=LdemIJkdL8YVtT5jA zEXQzm?IBX~_|gLO#O_GD=OPFH$lr}%%UGmzm-vQG9$Hixe{3-*^~tR6lk8TqtJd+> zGhFF}443ZkYc4&OzyZm~e>)1LWecz@eAy8#e@pfAjDb^NG>7bma-_>&_)~lP2PfX6 zN{cd>Aj7c6a>m3%G<{o#uQZ|1GF@v}J73HC3uUce;T*JVgBH_0`GFhq35Da_1s>tH z`QMMO*~2uWC0{M&YS8XoRx|qMdJjc!9OGW4OncV@{?kzI{ChLN=+I@1 zk7UtDN#fq5>WAvyPpbRLsZle2{&H2zw=`bZbv|JEr@fr?i2m6>f0Xo+l4B5AdrK>a7g0tZ0UM@X3XT`HT+II@q zzzAXO?@y^Q-QyjzG|v{OGUe+%KX{-Whrp^k!2NYUrQU(}<6P-pM{ycOAvdRi42D|G zH2PQV8{0?v8Hl8-s`xeQU_T_kw_QJCMoLNX5SRZKkQaG2MDOA4kO5@|GWaw)&0{kU zC$9*3EPi#XB4#hu>KHqh7q+?I^X285?Kb4G&{^wM#Lt5(uKs?bprvytsLsS$ebvjO zj<<4+N*fqD4bsGVRn&D5A#iO0?Z=)OL z&U~)z!r-Ku!Bf5u_V*>&?;={fA}268;x#JPqf=GJ)V*^Ou5kf11)1{UHMcSL7D3`W zz4ktQD>Saug{@Efn5OIh^?83kP#xD_|4UoMjR~4DD!_E_ zr>ydu+!Ywv=%2ab1ANQB14!mg=fy!73}n(M*VQ*KaL>QqpU@BI;)cC#zR zs9Q6`*PP;!0snQ*jq^Uh2$O&G7O#A0_|cn!F3iJD8!L-gHz+pA+oxe!F^(b5k)dS zB;8KbEup|}DXKU1az60Im%k93(WwF6*D6k4xnS!G68S!w$-%Gtua1tj0|6K(BTIR& zk7M(TbKxeRJ>!x^sz(fJ>+jNoc~*GM#ox8~Sv{t^u(*mZI&daohYcD4qpsVPv?Mn7hVI zHcyk~=u#)63@lz(A1EbE+6*u13luNexRw_JhN#D9RZ4}wX_o{G)xR@G{rOBpH_l1! z(V|y|0@YeCY*w$96gaRpSqP2K81xz(?+_yQ};!HDT9_&5Z@?L<6k(1N9-9_1xHreg)c3a}fpl{9lJJ*C7w3sk)iz@GiFDZ<73 zKotjF8>1Ut=rxePO@%&3*2m19K^Bs?e1;oomk7xV0}ScYf;ithA!xQ`rYO4ceHaTw zOj~~JfO1i;s*;uBg4&E8MSon=c^hI&OxbBNi1;5DJ5%g=Su%5XQF(ciTJPAy4Pwx; z_zbW`?e>GyH7qHF?m-}#ch3Cra?m|gnn9eyJTXt<`Ej&=YO44BaWme`f%j5EoJm7e z0Pcw$4_Mo}Zd4BH&eD!_-QIlB(%cBDM_zy-kCA$9)S<<|xW43WhvA$)*hVM30v>|7 zm<^Z!vb>|5aH8!iL$~kc?ucD$`Q;O@yQ42Bb*~HOJ^Xo0ak^^D`NeGq(~h)XG`)(y z4A+8I|`=it;t+K+e_cTX0>Q;fzt)VtKAeTFS+As>M z6z(CR$C%X%TqUpoMS$U(z`TsyOqq^kqQQFI2k;la-j`KJs!cjm^$S7lw0Srsu-crU zd@BR*i|`8lD^JDWN?Dpa5i~3XAFi%>;Dz|Non`UwfAV<511`uK$nnJDbw0~xbw=a8SH}vAhgAab;d|Bi&J$T2d4CoiQ7JniRb0^x8 zcKt)^(8}EdA%VQ*W@tx=*<>nW@?u;B>HzTj*biHO_k#ZGmFElgiTez-kC+WTx}o$$ zK51Qm+ENm8maR#ux8i-|y>v->=XmXW_hU<00gxzee ziQhS=0i5XJ{(p3$*&^_EkBzRRzW0)kK<9CC`9v%+v$Q^ue!CMrhrl0!8&20Tz_iC< z>C5D5Lbd1p#-XqV#o8&Dz^T3^Er>gic@-#N2i>%-F2qTLL7E+LMTUCUq;czoIx7^u%*{{Fp#ZOaY;Yg!3b2~4L>Hfp|8l5Zs zxnS|%00Z-H9N+J+lna#M@Zb3MQASjl*7s?3*GsACOcVZIH@6snomf60%;B%Cj<@Sv zxLsLPK#)jC!znOp61=A_4o#U9AzcbBzZ4g`MO`Dfz1?2xD<#v_3Rv5ni`J%{FWKZ2 zb1?c&-ljGk+9o3)33Xbf-PXB36M)tuQjBChcBTwG)?BdCSV_6}M?>(}_vk4qS5#{l zRb9@{2*409JKdYgubfgS>{Kw(rM3_+mKI+7@~T?R?!?K8?Dx^bSNb)BDz_>dodATYfPYu(tQTo7OViiWrmm?U3% zTYLfMQr;bhXDAld=d&WL@`a>JKUuTX2W&m(S?1W%50x|P3C45IH<7f>@{|j6A--z; zgtc|SNt_nYp<+xRljn$!Ali;4Fq7yu(4xUOP+^ZZ{X$`G@d8AL8msFsD0fhO56^%9 zjD3+-A9tnd%v;Jq?=I6}>{qS{Fc*Bxldi??LeH#*5}LjZR$yH+R~6f(@QAW2QN8zZ zt+LVZ4qQY(&Y`ID$X$!b$=-X7kEFkjZXF%lzh73t3hc(yaR4J`CKB%L1d6h3kN9_beR=*YeCkl64|$Yw1#dE_~_9D2f-tPJttv zY`X%8@vY18x`Sy)FA&if6vVX5}OM(jLae#+dv52c8lypDn$){ zK;{x^Q9)2XV(PiJ_=sx3jB1KirD`&z@UhP9)1%elTQzlm?GfC7m9*Bz@Tr#zz!$A0ysJl9n^1h1ZuI07A( z!SJF0-~vN4b$eo|g|Y0xS*O+OF6VzgS_^Fs_JVbO&SrXaj{vqWN5IW7B*7z~oNUFh zhO}A12JwvO_4SjI z)ZiPdr0!K`R|iWR0;n859ln%qwHEnyc|XK=ZYr&HUWs$gB^KWoKg~XRcb#2kLLfy< zqCYUfP|1d|7Ytzj_2`mS3?u-UBy9jpmUA%)d6sI;O63_r3^QFNS}Rv1;>$O13jl1Q z`rM7aPOfm?^${P-{f>_Jc4CO}-mjK_TtC;X5njHu=7UCI6q-m$pE4YSNh;%wjQh4i zN5Dml&}7dJFoXhh_dTF^kd!SK0>@6Q#4N1}3Ee&|s%!Zo!MVi6LGsSRUSUGQBde>H zYVVRui{>|~gR=kSO#C--o0_CQQ;G2e{z^9XvHmx{C#sll+|p1`csUFOt^s!morgOH zT7g6gVM8}zsP{CAw;xP|2J<#AQCZSupk{OfxX!DNV92IyEL7e!!9r%=gSand*i9?; zm|bvx44UDzuqo}L$Q|F;du%_jYlR7;ZP}z^r3q8!p^p(0%-|}kQ4$wt)pC0w^u4tJ zNC$;kFKb-axny(2wgW?&cB*yP`S>po1gLe!egY0w)v`z_Q}7cn_$pl|YaVj;*0U(A z%Tnpb@RDuhF|-9%hsX9K;j_-&996have5H+)s zn)>e!doD&2tO6OB3P{v$YkyPH_X9`+_d}HQ9dqdoAlqZBH;>94%G~3c>912>^6odj z4vUBEpR$yX`^;79^y@UY7iNFyPVHCY5}r+iX|0L0qnXHUAZ&K=PQSP@c{%!X1;KVv zoZao=33`wG2@FD=+m3;S!9w#;9Mq#e3C%~wU4PK=y7ZvC{b4^F{nJo$JExB=2%c62 z@!MI<38+Fp3{=@+0iB1n6A zr4MEvj1GfhoqE;i1-p(zB%~6r1@(=&;nd}#gmEJJkPEq8g|ICQ@IAC!CS~XzlGEZwBQ?(glflYe z9UG@I4?T+ z9PH_Jd@xyQ2>5}5>9+Ewn(227AYWjr(I0R#bJWk=7UaT~ln*l+$&JXAC~Ghd6Tw)+ zo#Kc<4OKI!wIy&r2{Pm{Qq)(<5ITWp+U<>m^?~Op$xQ&s03U%~B2o7^=p5K8w9n;R z#TaF8os`##;sLBkTH1?!e0+F51csb@N8d;VMA`N*79*%>_-VxQ}O`!$k zBSwa>);(+q-4vt^W2!uLl?*>RBdOrX+1NKta(}|Ft4cI^&K)Zia+vpx!tDZsn%p_fyTN@Ge%Jl^T@(a5h%-n(zWzRWfRi2 z3iijBGov}33ziQ_LpdAa&!`RvXaB1wn139^Y>I(gF#Z&zKAT9qA5JsB zlAD1!{{+?N4ll8}B>>?fOL{rCngt*tVRv+)Sd=y>u8iBGqQ^n}Lb^wP{8tdjn|!th z=MdCT$W({F&;aO-WvBcbpJxiJ`i*^891zJ8Q)Yb;VCQW0|BRl1>YB_P=}onkkM3oA zKVt%Ea%#ol-;la?aKG?UKcjB9N^Alg=%obS&Ymt>ERUx@!6vHK2(F7#iPQJ40$PVY zy8XY>QT?DE9*SaYEe4mINZLfggWGV08tRZ7ej5NyH0y~2IgTRBRVO?e<{5V(Az-&y zX6)N&&<%IR)^vfIcO!3C*vH!p#<;JTs_ODlgR?AdOV#VusMJM9|TS!w+?O5=Omn_rvusB@}pe4c(k8hNvD z0t)MT6!cy(#?KZoIwd1sfQHTJr>JR{HWbYPtR%vad(dtVh-cD&2Al9DhHHU0pHG97 zID`&f66&p_yQRWk{{TsQ>#YYr%M<~Hr(+QPs-GgU5gul|f^Xs-aQ8YWIlAi1+>3$% z`8}$#XW{y{3}O?asV4>BXLOU2R~Y2jk(IfadH3#tqEM`l*v}7W1`E%m?$tbEqu=z* zT{~4gGSjeTyo^$*F$^yo>!WN`nx>EHq;H_iz=MT5*vGdNWF@+K+^IvY)+F(-yhKk& z;%(vPej>wgVaxEq=)hI1Ctb@|IaJoItp#+Je4$%t{W79U=f>)eJ#)bbYBHdh4L#RH zJdab_0ONqTZX^K&9mV4C>+k56{MBeKLJ&5777S*=jAPj5_c14WX0NMqgJ*n^F_Qq4 zwB~;f$nE77(=1TYi$v1tW2E)tOH&UqH+t%*e}Ry!=>7<#KGHNA4kxs!Az9+)EclL6 zBgNHUobwQjmc6(mHYu;bxKoouz8EZv!Yv+?wpT=2A9Jfb#m(3YVp@)f5}Su^y6@lEB*`q3L?cd z^$yK;G1Quek9U2L*m3hASi-homZc*?EhuX2%5AW=@mu_&xgsR^64n&#UqKR2+)nbJ zupz`4Ao<-uWphL43wexaX7nUJU_<3RL+@?CSO%pB zWhBP;E-0G<66Vr&cLye&g|I~SV$*IEQY}Azw{JGV^Lgr#YbWp*dgf8{J)j-V6>i0E z>k_={N7&uBUx@R|79qfW!jB=iZccZJmKTbY%~A4HjyFR7>d2j2I|*;!_>Bu(FC(Hn zkd$j3i)QpaJOo@U+#OQt=svrr@_idK<7Jhjm*mO_(Uf5laoLUw0{dT@A@E>r(Oh9_ zwWNoTq_?FZAg)Jb#sA>+v7KHI(Wfbj6CfS`r$4vp;fffdiJ%&r&wC%@xl<^uZ^-#! zBC=$b?AZZo8io9GrhS}?G1NiI_r)W3Z9IU#p$0J(!C)bCsCRb5x~vVGM$pg|H|D0#8GmX!U2rct1+ina)HQn`t(q#1^w8<>yAOhi0&`;rF+UDuW!Z??jQJZuwc zIKHQSj#^;)!qqkR@S_Fg4`zb_WoI6Ni@ufF%9O{a^N1WvJ?Bznf4|0Hmd^d0JJ2|? zz5F_;^gIp4ET*vE-6wKf!Tk&)AK?3t%UBt0P=H3%!A~%txK{yWe7w|~0M`@(-{p;NrKK)TOx$r&@ zWiAoU=nXP%oJ!{2<3-{(d;1L+zSQ8!R+zeda<)T~%W`8mc64sBL!p;JfBUO@jk~w~ zI2OY~!Q1JyrAnj-UdzVYtG2|fGp~2``l6-qLuJjdo6nW*hD4TV-GBEGlR(WYI*!y;x7HPuh85UO;Y@6a{im(6W~misua;(eyJ?G3Bl* z>o`>!>IH^&8jINpmI(OX-k})&_$xvk}f}7huTr5&q3X``dXx69O71O zr2>vQaD^V`Ds%g3knBrb(xH317y2q@-fKUEcQhOEQtmv`(bjM!xKVA;gP2?-H`c9+ z$`Q?@@Z^GWt1VLln?Cs+w&DdRZ|khNI)z5*0x60;-8B^m-PxsJ6zczZmS*SNbHl$! zP_U80+AB(O0?Sv8UB7>uyp2|-9+_YIevv)-6W3ItHVpa2_~ewGEayjW(;81yfp`EZ zi>r|_U~QOjp;fzJZ<0&0+mZ7Oundu$ zd~=7lp?Rog{FV8ol3`cA2ba9REMblTP&fDRXr?-&jOM=>KT`h7*ZzZLD+=!`ueGT= zYVQB#!_IJlF*AvrbUlPbc=@|b=tzy`p{og_rN|U_GksjxJcup-M1ln>)c+%&cg6C| zp%N_ZF2(2IZ+us&i!oeD5?Yx9sdi3QyMsWi-24r&aeqp;DXpyls{s;?m|;`)3Mg=1 z_(-Zh&BKAG4mL|eG*bjFn*v%aHNCZ&^0eFpxSt|AX~5o#&iySz!Ce8r>Vg{1&{TPk zLGQf_dfM^t(4X8*Tz5z7VW;Xmz-3+s$~1qh+KTf14bnrtK}rEnFpRS7B?#<-Wb2f) z{R?P~;8G8yfenJY7s7g_+_RXR~@;he#1 z@^Sn#;M1<8+-F8`^qfJ92@0w0mb}of%r*XWP9W!dy}+~*fn>ug%L7HC)&c%H#(*a) zrpm?vE=gzt34)$5K!D)&6caYpWB~3w?ax;?PXSad*$gN|M&+CF4a~HXyFltQcgzGB z=`nVJtqO0q1=Sz8&kB+1nx5V})R(=+tGXyKwT+A2dDZ7rgO9jL|83p|0o&AWTEc&L z>L*Zw_)g@GwN`|4zZ6Q)?y!eaZ{}XZf&#@5*{7SwKDYP-&vDy^MVhv5N71&T;DZ!p zSj=Xi4`)G}m>8!I3=GU!=CmlkM9AvD6;v1b#<#r%9|cv8ZA^;RSE{5iHJ^Z%5|XiG zAj8$~c(e1@_2O?(r4kqtEw&2gVG#h2S|SXh1z>Gp4dm@~q)nAeyT&{p42} z^gWl;4`l{DDKiIKKKsyy3Q^LkMJ^w9A+C*`gnz{vPurI`_oL*<_2TZMG_*$u`n zaLU|&opR%}G|T`rdZKVd2YHdU9!R>GUEK9F{QKa!3CB=5#UJ9OLaN_|wKj!LmbC(w zC)7)>@yGyXkL_HEYr4z5%*MK7;YOZCI|bv)jq=uskDB9FjXQ)Qa{`6D17mm}s2a5>(J3XgYE`zhd36_Eg_)ECmSXk;EIr}71Z1$;MkI9rhoub7R1=FD3R8HKfDp30tcOP z1>{s5p-LmpWvI0<7??wll=}o+)Ck50a1=K&pf;m{cW(CkLC-b;7ni6GlW)oh_mthI ziH~ie1gyoKw{gC89`10-Eww6BL#|~%@+7c}23ISy% zkmvL4?Mdx%=g%1N@A%cj0pp7%#?+!pBRe97sIqO1@~T4yE&3W*E>KM*ImYh-ut8s) z-(TB;{33${mu`FC-$#*s=bD)i{4>-@<|mO*!#TcnAmeb`U%aZq9N z+aUZ-az&`7a62!jOu#K8Fh zMas9m(;%M^1!E%i|H&utqT~!^^B!@GyoJ!J1zOPF>pm&)+q_xenS|z|x0pNkm|vUS zV>eLHmzjLs!Og(@6?E)^ag55Y+pR-86h8*~?@mqVn+3_?SvS{q@89?aJ$9n>EaxT& zKmXO7|Na@6Z9%Yqe=-e3uGN`?J(YLRwoTm|HPTY{Hf(21%jneNlQ%cUs65%# zHPRF8;1|89$NpbWe_a75DZTi+Z2hotvdn2Kk0Dal^_dgLSkdTp;ejv2A+H;0C^f}o zKQOT)utH_bt$(aaxIv6#velqF>-qkE64aeZOS%7d!o=~A_-PZr-~BO zKxG3JcfW0SKJYn=2WjZ@L@kp+l4Q|$(;o%zkMA)G!1cG!Cw>OA);*&Lfn8;WZj!1Q z&Z6xipi@K<@39tuLjp%QtNWN6@S>{dlp*X~Lv+UvoAuZYwwjtlWfx~l&k{ES-(Xc? z+uz)x#pp+?OY?*+)9j7e+8x7%bsy`ypk(|3u1*IfpX(PtqvhpKF)swA5tap%iJwA8 zzNG~C#%bc?F_KWlZGbpAIZSxEW=o;Zjf%JtP1S}BfV$9NnBag3+;XpjJiw7PdRU0+ zD_MxE>(IT4;aC=Z&gvRyH!lfbeD^DO57Veh@8n%dTQQ9FVKMFFW%QBi3sO=(dP z5fBj-qA0|M2ndKu4_PYGOGE?|geXNoN~HHhq>1$22_$p~B$N%d8H=gOvLCx#LWqA!%%hCL_K)zJa$MCa# zWYn=mcA~uW1{tJMhGX{qd3%3(&r^<|-%#*5Pt^r`SsARhwdOvQrF=IYzL9D5qVePQ z`&T^gpFyud(Z;Gs8zun%2fS+v=4tyL=xI|)t9WHq6PEU5?PSPK-=YAHF+&TN>^Y{c+0v{K}@nykd;< z`j-wbWA_&?Qv}Re_IhGp=H_qmC)MxAX-j_;Tynw+vUDxlLAQM{vcgPaIKn+5@=2sh zSkm?3^IQ1~evG?H?I&3xA1DO4qpB3V%#4C_`a|m<$6ktmn2yiv|G4e~*YS?63st%e;+DV)GskJOuf9jf0>&TsYL z-|%Elr>RiFCl%`U+g8*@f6LB;ZPBm*uQE>w0-{Zi8ZVOT?OplUL%G?98F-%(qm-xf zT9JgZhoq(Qo(o1?rVMjkCx!5BR^+DK7tU$A{8!-H$+y}>WT{fc@*w?`RLm9@FNOWo zQMDYsX+So{UN(ny?*W*D`ue%in1wI%O>WXA5+PItsae89!F9cQgsTA4ul7qVxwH!b z8Go^7#1A&GXdeU(sJt~!nRi>|9z8(LHC{I~CaE}syjyi@SBW8eJGP-Gk7_$)r>*Ne z*&$lO^?a2!iIfF>wb3wdHGPKa2*e6kVvrQpO8Z*o%)_0_M08}k25G>3k&Uo8e+ayd zpC2lBWO+W)s#^VC04EHdO=(gI4z>S8+T|qIb>>!Xm(G0?1Crys-LP-j$_Qvd_Sm$mtNgo(I zyJA@hi8eaEPl>+a1cN9P6M6Ep7pf`e)#8lJ5_5tZ8!?LocyZsyUL>!CAo z11g>8kCyM3l{_?lJX?Fo(G_^NnXiy7=|7{l^<(rL&dV#RI75_M$VyT z>_OMSn-QJm*u6qymx^zSBv_xLzmKc4N$fnFFtfX(L#@9(ZN=)KhrOMoKff{wNp{>xYO+F+eU|!(`gn$Jxw>t>W2!J8jP=EeXzOe94y*rwP*K6(i zG%9Y*ou;;-tQfm0ql90S>`G?kS1gh4wkRcIriyWL30;Njy)R#Xb79Y#SZn=VL10;z z^X-E33y8e@=?SH$dcwg9B6dxBM?@uNe-wv5ftGYc zl6TFbmSfj3#CswVZSOC&d|z>@SbGO`POj+OWvun(d#A>_nvV+J&7jc6#cK;E-NtY)y^!7aW51VFmqEGs=_LwbM|GSvQb0Ch z&Wd+4F}ol;(^#{M2Eo5JQq;%JYLVn1N8G@QtCJr!)SS8I@%>ypVyW`U;N+9L`xKPiyX*NKB2h^L z3bXoC3?vd<4%>?km^c41!0>;F$OR2@&Sl!l{4zsT{-4)-IemHWx45&SeEEmW_|at} zm`^6zE%qS2A-ovYq)8V@!9{8yrfoi-T`N@|=)2f7LHR;#Je)pexsX1}d5+e0~7ew=Xrnbn>iy`=c=iB%B6B7ZpFI8k5{(T(0+aw<8ZC$A?r zCj{yi$QW9FP}qaH)chk$O3?E5wUCNyKQ)?d3looq#9XLxz2o>#v6c3pETOb%=xmj~o|52lAaZ34zyvxc+Oc;VVUVF1P+kxb=9DaBlg2Qf zU}hVc3HUsERDg5)5vj)accjgjIW_>Z6O`hP4Hm;dVQNq+8VJ_|MK z1pG}*_ln~nf_}Mi`QVBI*GCuje?vS=Ab@EA_&I|GGVfC(SX`3$kN6r+_e%A8a2m4EROl^;0ttKBQuDJE z=?VzZNTHdvbF2xnJINRQx4OUbd!hYxz0K>B>k3M>joXxY$ex~0pABT!H9%KvC+(i1 zxNkenO3crHmvYS)*b>GxATLIT%zSWa)KBMTvH`uDmI7x3k&uxTWE?Q^3B2dvc82{- zBWtNecczh-5y}sn$G2+RbVj|!rr27GjlmmQwqi{>ALb)B((>{?CAzjOSDOesH}B)D z15ZGbUy^UZevl3tE3rSw3;clq9IcT2r!PXu zazDUFO%P<*DoJ;0H{=^oUfmiF(URgY+gM|9n2U`2E1RM}k+0V{-0ggz*UuM@I@hx< zmQ;cWcQ19Fodygtbor^O$m5(7xfgOBZ;w8>E`RlyTj-2PjRuSZ9<_?H@D~P zrxa^8=Keg|k>Y(N-BkIYOPVu?)C-L+{@J4ewLHF0AYIt#MVgwM0_}n!L`6b2sQmI7 zd1EA5gBJbk7mpxVqO2;C{t$UtsC;ZWd%g|`==ojC*b88#CH_4!3scO?0G{GNx8lAS z0=hI1orKQv2Dy-^$(zieyFC5P_IhA0A7nNUXf*i9Lx136us}&I-vGFn;n|9M zBepF?*H1aPmz1My8~tHrHavQza}tdM&NZmbll?|RM=j-t;q(iCG1^Re~ z)i_CU*!6P~{nO+>=AzR0L&3&A|Mj2jxJ!$5RC{b9|4Oa8-`GX>)J=f6{3b0i#KU#W z-%IzX&sp`CC$?d=J12d=r5mxW1_`eg&-O-5Y3I1{v$6U!h@}o&YC#^pP#>E*r#%`B^`W10aLHp`giW z0k=&!$dc$>&B?wemjc4xH^`r*3h?HUFQc8+QBwK+9%9LnlZSMXaagAXk+-E8n^NH$ zSQ6bxm9Oylj(PN_DyR&N94=+Kz?JVnA>cEm5b6II=S|9=d7madlP-3n)#+}(s?Os~ z;KilZ$)o|nAVM`B^jU7;ae&S=th@$3`TUS{pXEQ8?zYQj(n82*oi0N|z5<`oeHknG zdAnZACqvrd8tl1F3$C8?LvX@hrb0FCs@&%^ktQg2PKtd%5)$6d)f?%{wsX z7(ASV&~6P?$`y7rif$3BN4E2W>k32i$AH!2B4fX*O6ZvQn|tG zo34`6d1S?_Dx{?qRbRxiKoMY=3Q~0SWwtjtslO1XKZhz!VXR}}}$A;d;@C5)0 z*IRq7+H(SZ68Ve6E+hXJ8+aLTq0W=Ir7xhq{ni5qJz^I|Se2dOB6EgFKX1(31wULiep~ zlI|d8e9_w9@{HzjrleWfK) zB^qBN2j3!v(lSaEoanwLA9OwM9mp?IVSbC+q@L&x^`K-~GZLgC+vy(8dlqeQb_ceB zloM|@9ywomDAG|f@e?|9-eA4J<@^U_+r+j9nG}=}S{%BQC=p={XhQeXe{NIfzYY7y(`jk^BD>^p?#AnK@Prq0i-N{mheYf_=P=ATi-|L)hd z*?&-?%pM?5Msr)yUQUxEc!!ad4_zUviPbMpe@%RE{C6}c%RFcTeszlIiQm?&gE~I| z=fXtUZ8?%2nLl& zKbs0yZo3EXB>Q0ZGd9ui-D*1Rqq9cxLKqOc=N4P&u-$DDUFggu9KpqI{+Sn;-Nt(6 zg;*BK_~7$^`+k^z`Ahj{9qBY_FhEEW?StJr=?zgSbKkduW2Y2DVkQ$B zd$>ozF;VJrLuBLql!b07lLHQ(_B4@8XRKtSBv18tDaSML7GV1ZW0FPyx0vE3wlM7z zMg4j4`A^pO9&0je#UU^OSiQ3YO~2lcoF?VWgke(W$gX$${TH1I3a+kfAcWaY9BWv( z2LR5jcVMN=wSRsN7LjbRDR5)CsB-Soc+>1XMac8;=HR2WBIk#*=9e0w^8oez!E9e0+ANZ|7@B>I$kh*6*LY zymmQ@oXuZ-7G!_E^GKstc+DV2j{`@Mr`l*`$1sS8!+{Eu$VeJ$q-ipuOkP~eAT@HzyDArvK&uVC(^7+)e5K*7=|~n0@yl0`^g-jW1HT_p zj%7>l)NAJ;l65WJoKn+sGMJ3|cXcOJjt#!}Nswy!6023JmwX_Dt8>&?p9;uA*0~af zX3P4ubr?QxdMp=Krt^)zTZNc6EA2S^sH#paeyf!RD!(%T{!ZF~0fp=#$xj(9B3Hp7 zeX-C^Dpamz$NuZLAFF&^Ge>I#Ltj&Uch=J^>kHH5ex?B@@$Ti{4~I(-a`;L+a;nOK zyQU-9%C#KUk-G|)fZ{~cHsu0@_cef>*Bkvy<@cXRFhnNuD;Q@v`y86yfm~1}m=pGM zfoC(^hyh{jZD7JamAca~^$rw+_Sje0-QX*KXRu!L@6PC-K3lsi14?&F9mre|`^^e% zuxqxav@{^?BASH|OTC(|5-w2grp(oP8%=^*dRuFJrbG{O7r9V(X%f#GHye_fNYRb> zfC?R}8CZ?bnqL1|BNO6DgKt-$UgV>6A*wx;y}+IdT6wSuM3*+54a$q4X|<@FhRDgw z$JB;r(@R)dAxkQQ*cVe<4RS@?g^j4X6RT8=CtdLSfOuQx%;sPlh={iKCmj~j!Teb@ zc3MWGf#|5*6>xnUQLWg1w&;|L`crOn^7THhqFN=M6NrAhIAb}pfVGl<{J`bS9RF48 zAs<5bJ?{ax2TkAp8SO#xm8FE2TAYkfMJ~07E|@Kk!Msn?ARExgFa84mEXt&QBs!LJ zOCtceF;vHM8(Ps!Blkc_<5_ve8J*pxmVZ<7;Ncpq;?| z{QB7$@HAa;i)};cjIY4BCD;8q;9Y&c0tg_OJYSw>Q!cB!_1oI- zF};`LkG2}0YtTPBR!7Pis|X|oBE`Y^6u;#bxRG0PbMyVFjbAXYKdY_(y3VmZP;&8G zvyP|u-MBY5#kZ|ytnU8hS#UQ41%8|*n69ypLh#Ffd?#1t-9oDH9j}oJjhYLKTW9yI zRM^hXH4JzZ|46sH>y{L&6LPr8GRFVg8kYm1=v;KR@AHo=OS*cw7LWJUx|T;f?Yq_V zo{%-_G=qZ1#&sS)5Ikl5Wbwg*l-n)ZI2ZuC9qjVInr{B$KoII?S+dTVOmfdv-4^4y zD74Q|AMuTzQUk;w%abnJ&Z)zE#%a(axO?EZlV|e{Jv*yC@NA@=00=UOOPyGAu@2Jx zd*Yy!Tf0gM z6kfNtx987~v{uBm>tKsJaqp1>I&Korw1fnQ@boK&NVWk}mXUMY@}p13kY`D8!F4=) z7yxR=EF9RktwC)bpGB%rKV9rcub=*@dGT?M*W#I5O6Fg5mg8?=WI1<$oK4^~eibyC z#dw%EI1RFetF#2qd$vrpn0Nnp+GdI6Fe|Ph| ze$`6<5%eR3tV?t9hS>7DAQ_LhuRAAn+(F5hknKFD5`kuo2QMA3#ZG?rcw2$cYIln9?ujprgYH({zkgM2D=^4Id zVnD##_6sLV-y4So7P9MgFrZ4Yp@y{pCV%e1ZD0k^kpU$#_L&i(L=X0HZ@t3dEIMvB z*T0srxD7L+|0GFOxM?QnZFm!qmG?l2{GX7dKi;EdIBr}Y%r=GsMJto)!ie;H)^BjL zKvj6>E1!ou={!G*O`cPW5$T@B=(TVgJ`bu=;K6t>6w1k)$797+dXy*f^1^eL$BJIt zU5((*w75;@wtEL#sZPhd+c`z18%DSH^(a)Px3Y#6tx>$e~O| zR1UN>qZf%>s=sSX5=Ywc`?#TZP8B5>m&2J33vBhw>eN>cI4-6XY$YORDNxH{w`;LM z5RxpK?`JO$A}evdwaDOSSP3AVcB}yNBy(0$VmHWI->^P$3#&7XTfWL{Lyio`!D#wW zN(Bpo`S=-CFAqCopKPpTGP)*kC~>Kgyg(oUuxH(!|?2x#;aeBB$LKVwUG1W{?s zC@;z`iB$r``|8;v)LGyXP&X;?gWEkxl+?~=KLtYt2#!m{%B?~m%R-E}h)UyZriH^#xtC}* zFmc|EDx@;+5LR#5U>WQ;xP5J^l7t{j#F&&vY=E9!ETlW05u&ASmKk?w)|tZn5(Lh4Ga80=X+qg&6l zAeFMN%Gf_8A9)oK-5`ODM$cekdMq&jwrre=t%Iq;@@2_sT<4REvLtHxiSW`sy``HERJvsiL&S)Q}Gj$VlDfmhh^*z z%q1^bc_zUu!FfT!h22?c2bJmM&Xvrewz^D3NU)UOv4~5+BI{v7)z>nbB<=wyqy!s% zhPz0T=?SLMl|rZ&?rAGJU$-rG1wcpX?lMry9nx42I~3Q!K!6A9=`e`zZLM<7=OfC} zEdo=toAP30Bi?vopY9K%yI}{46uAzP?Uk+V#6WFBqw_ z{_(vD^gAV#+@ts{#vZBR%Mwc27tcv%Ox1DI;z%lxB|l*QL~osyTTl=*bfWO{J&wKj z#-Xsa^YiTo8p(*cx(|+J7Ef0W4*s@g$HM^`dVQoHMl)F(`fRh4*Dhn|l?vJD?sJy=4WCj@A&xON1K-g4^b^`XMh zolutSr8Rfgj3UmUlLT3n6vDE|qQVLXBr~;@XNKQew>h1n#P+5xXrMT&WU5?AWG9hQIp+0b#pL<`>fT%g?AhGzF$*jd>7WI7VtcH8b&3>C>+9#m<-P?Y&9KI8}{rnkCnT0%(7`z9n(FbJ? zZyL1lq;uLE13R6MIiw7c9o?Z z$^o25LVXVH^lt2QbrauWz%l~nMPzW3hVTI#mBxrxr-y{yyPB;6tt7kikujc*Xt9vb zDR-?vXX04O;&ru<&yoV3AZ?g&H9;nfHI-(gCCQSea6NPj*(#qB$5kUu!=_Pli6K1q z?b7%@9OK!rlV)!D7|;lSk}r-ljcS7yqV!wdTuQh)<~bx}a??l;MHD^-!+VdLhMqxmF*SKX6S6WzStS~P?8Ts!NmAVvR}E#74{=yI z;CFGNDTD0CX3y7u1n{Wi40Q_PB~j9P{S^k@Z~B=ZTI))~a>OI2omGV{$Qdt-ZEQ_Fj z%h8maaD#e%M>`SFb8-IDd*8Mc!hVJ@t&kCKd{JUQNRoqOj{&NHZ2k(&OtY{scn;j(eN z{Ile@2sU#EoIAMNl(5kUnxlFCsGV~4W&+19vxJxJF%^0tlhydmS@?ocy-Mg4`UxCb z-jGe2{e;%V2yx@FyE%q$#59E~)>WJ0*FGyX)F~}jUAlT8!M9r^7;Dm$kh*EZ%k5_* zQbUMFKFOu+KO4TB%Gl38uoTL^p@Vh9{zT-G{YnI#9EKYGI)%-ae6PO>S?sEDOA2}4 z=N56C+v2iz$w(HZ0RrNwXBYnZ>vA55m8QsjyEB0c`*K2genwXl`Zoc!{ zXs;KTh3CnZg=&7fZh@-|5M0Ud@JELvu7+LfXpB=z^v{^oIaS(eip>YH3WKNf?}^T9 zF1vIb91biABp9Dd91iU|8u#Ljp5_{f@pbz1q#&|5R)nKq8d!-v_)>k*u=cYVPK%cP zqt13ov5VN`X*)vdnPQd`iA6R*T~Zi3 zGii`oI2`Ntp(N|)NKDszS+% z*_DI1wdcR^*E~(@7dqfkE_58=TDG}`6tW+397&)89v^RQ1HEiDIFDG~UC6Z^E0XC+ ziWu6P^KyA=Irbuh^?nvvtlb;QEaHAV*V`EK8aE>$TI&G&H%{HOKyY)3s@8M%C525+ zmN0Gf-EL@DNPl@Cpn33dBWzA6sK0l73yoC5b{QI@&00%U^Mqiw$e!A(Ie>d2?s@LS zZ5*3rJAr?N7J?-)hS?`rsudlP^ZOkl>iq*ocTP5IiHT4jZ*bp*4pp|*Y0H&Bn0Q@n zahQ4JV0TMHSS2gx$+>|qwJ-Tw3LHh`cnSS%0$u&^X!}PlsC*)FuA!gkZ&dDjoh7d4iTN|DPcM>>6#_JC*I z@TbNC3rF?^j1?VUM%ug$g$~Vd$jB;kj$Hpjxi_Q~JGnKu!Bu4D!lsGVaJ|E2=2=!J zzsp~7zA&3>FeRsW3FxdVC16TK|CUBa$HO5f-#R^buy^f@?HI^C=0V@_e05ALg6$Bf zu;aDiOF!D%6%jn4UC_4_W5{4rU2s@=+bc#CP2-_fA;XR$&D6KK`4U7l)q&Y79Tv2m z=R;@novf1w-DhUAG{nz49HQymaItE~%5#fhDT|BLa-tBO8NS|=oa1jlie?E7gSs*X zCFse%gTchStEAN4ylk{iVt?C<1+p0GRkOv1$9t~R48g3Tv05?zh~WYyo*@dueI$P6Vn3S3y*L{Sk#PF9@2b6WZ`oOgUt>38a~E)496j(Yg5!=; zTB03~a_zM21t<+pp^E)_5}RlErAo0%C}VmOMIneN#`1R}@Yv?7JzAE0_ORP$M3-JG zvV6;F@+8fx-mNR>&D-$tVq`g|VMV0$La_-7?a$`badnsuWM2RzNfJ1w;k5BMERz?A zS#iTuKZ~E$vo|{6au{m~ECQx|#$?_pxgn_UP+FsV_;r(jw-Uc+xjs>#{QN)-mqCXY z(v`7mJE9GWTNh7m9Ddm$Qhu|hNaOCc+ep{uC&+XR*x+CF7nhftxH^%H7y5<}c6GZq zf3T=U+V)xXjZn-FkPBEa;{*{BYEqh0&+9)nOzM{0WP2rDEv3rvQ1O46Iq>)+bub72 zr`&<32S^A^voa~T0Q9!p8V&2zZARByaxcGh$gbp{kvw>quj&iQ&2mfx%;UOC%mL|* z3jm~M$w~ynY87ebSM@?@XEe=t&r+xSyWmX)iW&z6y~AD!*k-9e;h3QO0zO0=)v+m{ zO8Z9ZU)}c0Xh12PWw) z696H}kq#2T3SKd{o@9reZJ|AS&hz}n#W4mKM)EC>63f?m#V;K>OhPRTa)#)LQA!+_i~5RL&=#Nbvw)74V*u| zCi4qnrPMdcofF^kD8otaO7Eo{TwOu&`+eR#4E1A|ktbxB24yRnB;OLL#Bm`!V>a=6 zxfTDOWvSC%3&s|QoGt~QJbNs_km&zR6Z6^0=F*i9K&X_G0h=4O@As4#3&||x25KF} z7<1z^45*F#Q?WbqTb=xGd$|Ju|tsp#pG#R(SdP$G#4vUQfeP%cHoTtC0mdvbu@}+|Rqw*}0K0^*BEu2`5 z3O1=ioIs1GZ1vyP{5+e3U`qn0L0^=FPPup7EY%( z0XMzAG|K9KKU?PP=19DBdF&(&{S;)+EJ?%d3wXAe9q^xLO5)+oVE|Dc3D{G3x}ou! z6wvs6dqf!|#V^~;XU<1f&4Rp^AY{ca_He0a;^vn8*L@SBRbkI8RNkCOn8wJ+9I^ay z`=n+iHWm95+R;lPOtXh@5{;s|E-BsNrRQ!PF7)p?q95|pLS?V}PBaMV%51}pzLPiP zH5b@keeOX81?(xl8RTH7YPLD{$FZ_~%a3w%I!WFdlzD~honGd63T?>*`5ftfy=ToZu_lssZ;w6 zwtj^9aLXNVBfN_?0#yx@$yyX{DKy*w?}fU6`@En`_=)HSwe1iR1EM(LUtknnlFTMi znFg{?CIw0!zYrCElqHq-I0>O(#M_W2UR(-IA3tq-kq;?K<+Np){dc$*lw_)xX!m46ZCG&v720uRGpzTIL6GF#kDZi%~r}_M>eXw9A=wCPHQ6 zfPy6lX=#WyDmcyPagCkak#-_cbfEi()Fe&ECdBn23KF;-p3pqk$q|4m$X$p$q4&32 zKXTZD!yQ*IWIS~=eKDueHWB~h-Oqv&So_R%m& zS2EH`;2|M(h-xij3_-h$qRLUVMk2Lj*5lL7Vc@3It6+^y{Tll1HDr^>8?Tavjiryujwx_rJDg5Q@hV%&V~jzsLR*^(uWb%0!XlPt;ESVaGv?V{X~ zGMM@*ZMC+992V!<;g+pWwi#rj0`l(niY1jJWjQ{t7naIo@< zoQ0_x-yZ)1wmhyN+_~i~j{0ScGu8|KWzuu&eW)ywFpf2^hGyTA%2!tL06kiJR%HI( ztpn-<4xEsI{UDY93|cus%p!!=lLkiSIJm9?Bz$gxYq|XO%Sucd3LwIRsLxQxm9Frc z+&;tIc0I17b)v`c2L8Q!VnPu%<>{T16?xejC-~1_IRl$m6cc*TdT&aqWPtI39W$G~jJtDsNiDu#+W$|n(|!ZwbAN4z0cqJXZRBv| zIEg8OSUIG>%ty>W{M#BQi!_c$5NX%}c>!K6?0v>$PLaNHz_vY<(!(FH0>FLCQOiT?4PSPRtn*G^8ug*}~;F z92As;4Jst}<_hmpYALqpO|ZG)uaTp%HFmVHhPVN<*2gdmV^|PODq2|#z;~$48;Pj~ z5S8HO&R9{kxbGx~g8a;ok?uRWJ`!MH5i-z5eDHo)*RvVjX|I%>jUjeVaVtEkpsGuV zUrMezO5FFkopx{jZOYxTQ@685PFChR(_F@#@}Mk2xlHYa44Q^EMQ<=h=)&g!X7`(O zQv1SRo!t9!^ZrCovN2!*N97D*H#BHM0<#=4rYfz?`kFuy-d%rutSy z21dQQGi)T)NIz7^Q^G*Nm|0eE zb(_+SctdV1ylGM(%?zrLVJF@5zOI~lgjehN=F}iMG@U{{I;+Xm)9``Q@|OAj2|EpJno^(hR&nb?Vya}~d&;!X>FO(zn8)oO zJd>DaBf#InFT*@}7%>)N2@>q^lEm4!Xt4PLQ?9F>hEbX1?}PFr&C#? zU1nW-+P;^+kza9M?E2m91{z`YRSO8{%LHw_kA+A<^-AfTR^;s2Y7h|-{AFfH ztRoBR#ElQC7L5p%XmD4FHg%Na1N|fI$zGmRpY)z4)=0I z0P4*Z3di2<{AB|2h-)^t2hSpDPZXfJ6f8bv{2J&h6JeI2-yw2UIUihtk<+S3*c+X+ zxcq{B6_C-ow!-B=KE_QJZ%M=RS6dggtOAhz6DzRqMsR2b5CVb=R-9b|2u12>$`Ntx zp_&HI`bv;b6b_C|EF3jzj(q`@>E6;hoCH*u1gS@{HxaeK4qk(*t3ybA zt)!TGPcQU)(4rCa1w&eRi}imE@Fqq0#(4lqKm~a4{6Nr6wh7}my9NL^03UrM8UT_I zD=MHzunECBJQ@fXd{pbPyX4|+B0Ak>*6-rwATh|J9GK8@(w>l0OCg2luE0rSeP@iq z5Yn6)Wb4AJSWzohg_LgzxH4$YhYmd8pb|!}$d{;;*8a|HC#{^citz7*0|~1DRL68! zcv+&`flX6jDAaNJfU%hiTNos~0KV(j6+#SSOIg&RS=M~ZjC|f$Qq0lM&>YVM8iN{z zID*p0aa@P)+XI#hOO5v< zTGBJyzf~_iVB6~s@{d^n?`=b1JGPbqOkm6VuTj3f2~Ls(aeC+~6;MZ&H`~V5y?QVm zUtWV19WbzS7+PqKHBQ~TJek$UMms8F|gMofV1~~t7v~Jmr*=}n zXb?kf+e0Kv9={7WRVf`NA)Ba9)YJ0&lSJ;egOXO}?g%_mz)69oiTEy%ZSMi`%Vm4Gxwsq!G#Wyr zi;KZ1_AcfY&&w*Ec`WC2aNr(wts$`(g3E?VEe7Jo#rMxf?{ME%Ns2}^kS>7Z1O6U3 zPcd6k?cU6mt7(4mm}Q>?vW~IO_|OwGa#mtwIa_vj+82W#%fNq;`pivb2DRsIx|M++ zstLgBx(yny64z%4!+a8-Vzw}g7+2yR1#kz6ej)Jv&9}hlgZc$*B|u;2fN;otv^ZtJ z^{%JAp+(OgsX2lW|3TyT(Wguso)BYX6qw&xrAZhY)_W^TFaP%XI3=}P&R4Y$HsR}! z90)?}Ly2G5gzOe<7d7dyJoS3Z-0Er<7al-t8CKti&o zM$Zzswj;=2* zI=1H>6B>4Ii&WVkHiy)H2$Ck{ZAj5L6F?2tmy%-#ut$4Esh#aI^iniKO8^EQn}RfW@3RkW0sL1fIf|uv37Xm%tU<=-K~& z*_2bO0Q^Dcy(LEMdd2D4-ayz;wHnRjL#~K+mLusGk<04o2)IN6TF^%Ik@JN)Q4S%b z>D>^BpM8GeRZV{a8b49X@VUFBfe8*t(H7>b2k2Q%OVI7ppAUz`5+}Lu0D!s|D+vTN z5x5Bx2TbVs9KrY3v8@pYg6!$-ncz3X0z^}1Kk~0Ms9AN$VRPT#`)$hU5KV%PuCzFj zOaJUeeK@NeI1wboEH^4TJG1tH{lk|bzA2TqoLj7Vdg~Bq!@EZ%?K%|Z2<6l|q2 zaQ8^rDgQm&J#FWGna8h?^CDk;55m(@j3jFgdI)obB#bz+$W1CI)y%)~z&!+3K+1@c zRIvA!Vr6XP)bL^IQ8j@S%V!N^AUF8Y6;N+XcP4P|(>;HZb>eCYy zkI8x^CH10Ysoo9E5pby%HdC$MGP|KxF&ZJzr4d>gD>S;s{ATYG_TkB?xfN7CN6SYY z$2urj@g!pez1cw(88#Y#992Jqk8J~O3Om33y1L*BFq0cTeq|%3of7+K)l8oh4@dkhgAs^! zl#@p2B(bFJe3=f@cLr~I7R<|z0vC#uuc)`mM~Z((>OVLNHW6nF?!Hp3u@Pd)J%|}` z?fqt!M`o?G66EHmMrw9JG=~o2K0*^=^|zz0!r$D%Zx`D#Xn-NLS`3UY=Kv1PGW8*f zqbaKkJk_@Qzg{G^3tL}Q%{hR`CcjvWW5+I)N1V`yCX!x9R}Xdz_M%>aP)d0bN5gkj zmo+pN85}6g4(qKge7kBHRZzvKx^|qLo`PaiV98~${_lugo?+a}-0KSp;uC7aUvru# zqJo5tL_a9{4Wst%>Z1`dkwXQmy!dBTGJ$z8MoGuJDliq>#dffku6g^9*v}lyFI%bE zj7WD{k)CF=6{f__hf}>v9*lo=jp*;4Tfe{b%i`f{)@^~UKSl$hx`Tkp9-b?XPI>|y#QTRD~fY#l4{rqRX6Ib;5h1yMV?@9Ma!9A$5l#;V6vA%9! zphxLnanmhd+_0$V4>MEvV_1_J1if#ynfsI2br8KJrvjD#m*sRh$E(W##%2dJSO&2I zzJz}@IWTfy=5SSi|b`WoIsq!xvBz4+^4jN)ADi8(VWERLk>w9!03VF1EHm zq-$y{_PI%z)WAQ4J`I(NV-SlB9(b$pZ)^PG;XPCUo+9`m>9(&XZ4LQjf>kT zKe!CM8xU~RkS57YMI%rj?`U7}b|h~Ej4%#ER^C?hC2zQssUBEW0_9#j038qAG5Gvs zg>7|5vFK2R;ia^Mya$=40U%&DJ@|V=$6woY9(Me>iKq4E3ziA+P1|B0{&C*_^tzV4 zi@gzCNi2&8E?W=KSMG~Fa|*vum)3Q_2TE^@>kh4cqvb}yAyO_x(;PB-PTbe>47bzO z<3`&^d%DG_^w+t(xKz7+`CrGh!a>6q9gw4;7xuHVff^yPMjW=vSy$>GZ;Cvbk<<<9 zwWMEukND+hbQ=TlQ^8tt?7#VA#MKJuu*ZcZt)FQ|{%U;#qAVu@D`a4Il%14*VQGl; z0omZ)7l-u32g55dpTLwq5f(7BXB7gGbD$Ox0>&9M_Ogc>{k6ndUgdd2KE^r4$rZ!) zw^t09o_;MAKSVMQJ>IgF;x{y!e zZ!GENuixtERYW8bYJuN_=EMx6nd?eGvxC#hdy|kPJ|{at%R5)YY%c>%67;X(a7SZH zleH7ZQALT>E74-s@&}O9aS_Omso`VD+|f)f05Y(CTXS_=W@mY1==lNM0Ygzdd!q8% zz4`;M`a@Z@&{O4+g-(}kMYjH;dSdPGhVgZ6O2+8RZhyBLkD;>NX&Q|puIy{QfUu)O z$aHyO{y;d18ID1sKOyKkn#fwZE>78y#F$U+F2kecPl>Ijx#X35UXe0Bzr`wfmI8@t zjH$-KWHkpSVcLZ{WnNrTDnmO7g2fXDNbE}_Nn2(s)3+7M(^|u#>Tf9+VA)>w)-Aqy zfoD<&d$2Pzg7n0oZluB zlv+=(lUwQRYF`HVwGCH0GzcQD^W`G|fIRoTfq{Yx_4W%OXIJ3xm2GHbaB%96nMC?t zu+4A(watIF@Bhy-hzejgarFKV_TD@m%D?X$)~YCqB*auiS<8~$q(TUl7)wk-wxp7M z%oL%7389E7lB|<`H}+k2V_&mxGnO&?@A>*&*LgkX*?Hd2{l{~^Ue7ci|GXYdBv#p z$yAHa-77Edrk`qTXJ{qkq;XSKNHwZAfWi-eP`3%#`Ctlpb8!kJYsCP3%7L#?$F-Bj zS(l`ED8PFk-6YQU)&hzi2{)#)4qdUc31h?#vY>3Bf{>x@iolWT|NF9_TM`S55t!_r ziHXc$jzS6y#*v-V*&21w&D9jkE70|61%)`%4Nf=i?dK)XFce=EA42MT7%B-|nyWxC$(=;cxiBbuF#FXImO zBqI=c3=)XTXJWoh)N)(*cakCsZc?Hg?i8J-YQKW@dTyxT3-F!O%YGKw*^y(0YPmpe zOAYq^85RBGHI5tQ$gpK{L5A5Isa^gp{?n?9w#v+Xsw`%@|`MnkU)Yc-w>j@s02tGYl$6O9`j3f-?dO-QwKmNdff93?S z<7AYt*9gj`%`dT(`Kwz-T5j=uE^5_+p^pU#23h!E;vD@2(G<|_sw0$tJM^}fz6H9E zd=CrxsESv;K;L7A;(oEdiV9|)?eScrc}9DL)!+@7`lPS7yPlU~1ry1qe5j&&m1<;rGZ&;mzwG2g6Al971ASb`LbS z8+G>c)30OGP?Pac2z1I6aSNou(0Z>b_-pzdm2YTa8+lrOkS=9X;%S8cm0a3q!pu)* zk6QPbz@2mlhg@nju;9U-|7jld0P;DqZ=w+2XcU4g@Cs8Cn|e2Pa>B6JL-@qmt&hXk zu3V&GGKGvpaoWq(C>Km9W=|D|tQC2p*4MCbTFRW?Tb?YR;FGh)LP4}xH6E9}TpD4> z(KT{Y&`kHds**eW%O|23T`^=87$wbcZlIFHZeX>hXxG4uvF!~I-Ku#EIZqVr1Pr6d zvB>uEV-aV3M?2W_Q4?3{AlcH9G&gUN`xpA5k5GpyMCcu^lH%2V2aC=yA6CL0{$erY z9S_=6>Lj~y4)Zbt`Nf!rXHuAe1ru1Ed2h zhY_A%OFegINuU~Gt+}ZIvhiR7<11?6axxgeQQ0;cOd}PM+lVrx&jefm!X$ms-HAWb ziv2^N!OhPU&uG08n`TOi#Twm)X3lI@(Vp#9V;8EbTT6f(9%)P?V%p9ic{o>kX~uLl zatQ6Fw^xnzaWW)zK`LFn*}y)$?7rpeqFAFC;Sh2F542*TDO>s5Vr!pN3jQhu1EM{i znGd_k1yX|fZv$CXj7;e71r1>UEKFpe7Vj5U1HJ|F@p=8H$)Vz}|1Bi}0B?;TSn8qx zrSXGK_@sd5_c5?%?T%3Lq@N|EmY` z;USnf+`Vg>ukzJG{37H>0c`enpH;OoCdLyTnJOpSJ|9&J8cO?P1%^yw~EygPMA{~?$! zH9N^eP^9zJG4y~+-Pb(SQX0r^S~39*V~svYa}8my&)&0(9e^t{HIsVd^&~B{wz2eTv7VKQ=8MK zMucQy`|Gk*Kk_j+RvqL;{TXa{ueWpUyyx2~Q5Pi>&Nit|Aw)=Du#g$)7P`WvT&9-s zsO;U4^Di||v8Ap1vFo-C8er9(HL){noo+mBIbYFN$agEMTxA*Ke*_P(F4RwGlTQ^dc@?2J&EBNJg%`bt@k5j$=Jz}~;b~lr z@T{44WSwu75bv|GNO(OE))Q`iH~zDi&Z@Sqa2zmFTffS-|2xX>D|YaF{k6IZY`jsNUv15zyQSMV@vur4GL z1BTzQEvPLycz)p@Lo!>+9NQZ3^r?Bv>+{qT;54XmHEg>B_#i|S)BKC&sVbJirb20~ ziU4|KiE8OWjdCo5j3=V>@?R`#h3XtxytH<8qwXc(Oi$5vr_1+kg1wYZ;J2;P0Vi%J zm~v#JFsnf0cR)O<1@8X(=B^$v}M0gUuEs z-a_zWZSXuE@&o}$JS+sYBI5!CBo=2UF}JxMis{@^r^iiUn!!y|Hb*popAASwwP4XS z4hvA@l7-D5MWX+0E~NN8s1{T5=j7aWFj2tQSGu?FdVCE4=mZ!p<7~(?*$c87gWImh zzum!9O3HrS$0YlJr2I=E#gcZ!1xG+5`;(5AIgAMQ6MsHS66g&7dK)!qn6`8PnGS22 zzejl{Zq>atbYnflB_CY4!o81e3g^^GxdK8J)FAc;0AJ-}M)5~!fM%+JS1 zWrJw^q{fe5SiV<~8t(+x@7IKb-&R#n%;fcTzmi0)X4>-aQ+o zj>&eIxX9%5)vtx2IE6)dLuu<<_$F_O6Mv@ z+k6|=^>{i)N{+fJ*wVSxav?y9F#T_(wIcuX?tBqU92)eU{ zwY*r9vF$TgImndUl#?`0F^Yw9(<6LgJ|a#co?g$*KSh8@T&(mv*nseCbI(5mjc{F5 z4HT)-L0E1elEvzGvc`D^(%1!>C!{|;ZQ84u6q$QQX+h~p2PVNW%cU#G_sM6{qXHMh zu)dixsLKT`3pgMzx=Gx$VvRyip$k^^J|X{nOs|~%+)MPRp1-b%oml$iC|^7dUuT*k zt{|xV1f82=s^FB~^axlvJ4YUhEzM^aR0KuPDqt>q95c67aFQrDfV89eQTS0P)quy( zoR?N#3BBjT*GUjwrph%t0)vys;QEb*>J!qov z5_(_>C<6=a0Z@irh4`P3ziH^cVIYtC6!g)rla5z9uB=SBy^&6S?4Jxgi*z-55;)#5jYX`wESYTi$$^dH-SCP1AWr*?qw^OUJKQsjf8n($mV4Tr$(8pV<3+ z|I{9(D}2)7;dAitMUq^`T7Eh|Cv5@(G}NTf6_?Pb=)8CR>kB%-3G`yr{@Dre?0|x= z`^?JlY8L!3-Nv_P=}Ip5SL<68mpAw9Msn3+wf3j4eTlddMi+xs$YnWOLx?=Fr72^& zE`ho8Bq2-!v+I>WS0^PO$9v3dJ#N{Z^6cy(T|y;^mE;6 z_KwE|ZWlqEgE*=0f>iC%_&qg^zF|V!L$JDE(p=Ag?K;$=C$7JHT)LV-a#$h6-f7Vg zLh)42*BL>dch?=iO09PP+%Yab%;gt7@pJzc55<`1)r34pj+_};Kj|I6npRPPirk}N zRq%kGtIav4#rkSnOe6}-SF#xpE#Lx(hbUGjylMgTu&QPuXPf%G?q}*Mv|K2`65?C+ z6r0ofR4@GeUH$R6N%Y6|+$Y(FH|Y|)^cj`5e;bLvRSl?{v^UD6uR#4d-mH85Q64Tg z=221UD^d%0;CoFTY7p%-!YQBJM(B2vRx44{N_`w?UTAo5gJbAD>KVaM^;q3cv5m$` z36c@{s}}(?qw#54AqF7BV$WQ%uF2kr&C#BTSoz4I-pBD8pZMv)fM_g+YXmT79=zC< zj;-AR`z5zSLn8(pb6itO0`5g!ysZZ4{OpC#1gHdv>yhi0SzdZ8kSWBvIus#<{*VX_ z-uoD>-=A~lwQbh5>$8{!HcTV#!SbdTlg)n$yJ9r#Y-OQDYM2(39p8L<+UL!YBN`=d z0aEQ-SrL&Y<#WA^juuu*^SvDBK*6YVYw>K0{W{<$w!#Xs{aPr^43J*}8a!@&n+u)e zo5^;-VW5sU5U>K-ZhMyRdb>CAE55Pm{Pb<X^`f3&uY8JzUS!-O zWZRuPBW;K#fpKXR^wi_a0bmrviC zL_RPMeeQJjN|Y<+!$g56=yf>^ZNi;$$)L@Y53C_#JL!4mY{0Tch~s(m+S?mG#y(OO zN%|gz(|mpJTyh!Y_(f&imTmAienbyIZ6=PQYK>{e-q%`YCXOcVkY3kEuoN3#>g?|Z zTq_wdAUxsHse`+a!>2JPTZCZxy|#I8-!PSbkKWv2Kd2GD4)=kzIG8Bss#V6(xfk=| z5hchcE5I#naNY+0{#_OVEsh6(W24oeNOESV#akXU6#NZ@1@u9B%P<>VI2jisaBj;3 z9morOy+fGy(0m;In*?~AxwE*fubJCa91m!{JJms;k-jH14v;QS=zk$6`_&iuut_$E zxflFo<=bum{dFLMDvZb^u1`NopR!y(FtiZ4NWH$a*IOq3;q0SO_17m(K`O;G`Zn3* zqKx%#1Q}$9fekRl^!TdizgTQtvCL>I{0CGG7wY%(-DQCfXfg~w1z#Nfq$Se;4x}Qt z2oJnf&hqrc-~=hS59+WAx5o9-FT3VkDcyf5uhX;ZO-0f3L$#mhQN?=RzR%MGo<*#P ztjd9mhb-kqkHQ{64LZ9qxUGumTtWl-s38tz%-Yy8J}Ry2P%q^xHW=rK4##n!oH`*3 zzV?kVY#--nSKfVHe3rjYGF4L~_xxDVkCtkdr>r8(RAxJf4pYeH1hG2n{pP~4R-(=9 z>9!EbIF3f$kA8fD#H7J2;_(+xb5o_(l$J$1!LFMNG0Ws)(i%||!ybFDBCltvNl9Y= zg*qma7x?9e0$rHQwCKl*#%-3C z`K=L>3E7sjmh%-q=PNGnwI`2loMdv2**q$ZeAlc)JDcD( zsL5<=upr^J7pb6h;2ip~(1o5=Y|WhwO6U;|4P2=ybe)DjPxJK7SZ|sTkeB!>JZ3n4 ztZOEW!>oYxY;@8u7A#T4rUND{AugIj9g3AaekzY@m@1v9dSTv#8JmQ!~hvrq!=R%hNA9Q*j7gxGg~H# zII;<aW*)M2qyLk6qryHZSFw`#jyu0Y=l0~85k{Y#E1@6oE~cMk zpR626v9%$_UCnp0Gzxl*xSAUl$+15AOD8$j&UT@jv>%@c9-SysNhT0^PM?rpub8aP z-5|%>YYnR%aX!T&qrN|5?_Vqxxzza8bl*Y8zBHl^70B?l9s{{$&LJ@pj4)qqbjlfd zrW$zrwBgRebM#2fSY_vygh0 zC~%wELiW#D`ZPk4lAeC*KOkxYo{?wyb0zxoEj11G%xpH)G%5zSTVq<_{8bwo-#E60 zwJAcccbsd)-F*s8M226VTtD2v)~F_zGIipDXze*~(7292s3>?^Mry_nqZw((-BFn) zN%3***{KB9i9V6M+p08moRG#~=T~I1PXmTWM_?&*YB5`qjuT{=cYwk&hjXg+{QN$ChkGcL&9Nn`570EBL=m%P@|`Q1EaRvTY|5 zMPRSp%naUGxxvS(*4QBgB@Pqi8fc*XZmopN$yU6n0ws!TU;hCT>6Gn#|J8MUOCF>o zcR&!3Y=?cHxr8QP_@2hKP{rT<>Y(luu`-(^6B83{ol@|85%Co3s`85lHo}|q&L*W= zXY)$^7kB9I!EG%%f4y9qR5O3v;B@=*Re>uf(nUUV9r|@p%g4W|wlm_G!K}us>Ak4I zvT#>icLRM3;){PHU|>V_BXSUSNnhrzsno%a z1lcyVO!+m{)f-}%oi}usC8O5>!lern)(vRTkb=o#j*=uQLcJcKZW>CEl^^?t%h@E3 znA*UPWsBJl2~r$5C!g9ogn<+3-5dmIb={~a`&*bg#NJv!Anlg#%Zbm<4 z6%J6ws`WCDBAyJKvaAZp5V?C=xw6Wvi}NnuhE5khttfOn*3~po;ZTF)(}yKS>~HH0 z3zpi(z4Bb>=!=Yx8k}Oa456i&+vO3PmVHIp_3!6fLlu5&e_~0}J^zMp=2e8hMX1ED zYzvR?^NOCGUu&i=OkL0p;&J=}^jq%RKcdy$&x8r`h2TWe`cT}R(hII@sC3sV3KH#fYB zmxd8JG#OgR#3kMUN0lVcY73sG=1ecx`F+L3cMQpSjO!Dd%G}Y~Z|yo7v2bFizT{9eufGTJQ6x7jd3( zGpH_72@<2BA(Q7uC|>gC0crW%{DMv^ig0htsFi?vUEn%F+(tcnp~H9{4ueuo;TyKM zcIZ3;#+y|ayxnw;MmnSvHmV=Vmj&ZZ$KjXoixp6#Xz8?hFLM6o=Z!QC8{^hC0!X1@ zc|K?Mh_Tou1yl+!Plz=_sbXb#1{E@MKdnw3N`p`9gluJ(SB+&_jLhH>8MpzQnaliU z#q{^Rx5Jgv{MI+rM==-EBEn{s6-;x+;uuI*+GYiXy)5BV5*QI zWc*?!&lD=#8w*x`HPJgA7_d5&8jf=VDhr*uhOh;e#4ihYyRS_7KQ835H698bsDOc` zUo%V_X66(w2_8a$eDuQY(~urE@9=V;6nv=kApBco`*pSqS>5?A{!J>wt0F)(Q`hyo zRd;*PY2ScLs6^yVXVP;gYGMEDiDfAVZ#ZN2A?K3Bc#E9#M_@}cw8R8l=iTdn$(B6u zQ5G4F+1bdo1{fNGxVNetSa{PVR24BcY_;E2+V(!xC!=XwkHS?I3jXJjGs=#tD9uZjX! z`;!uap?@AgwEi;JH}6j{nAjh{Y%U2oZG+Le6sCrn2XiiwzUH#R53s_+z#>D0RQ_Ud zH)MJ#kd7i9Ku@Y{`UU{A?odUq18={Cg8m(gTwFPAvIQm-uO_3;3S4ckWkd-0s_3avQqQ{wHn2GB{R;jIv` zcpv{d(=Wz}3SC~)X(DRL_$C_Na{zZq5^Dj$$<+gXAnC<24PA_OcfVs9yw(E$i6H_5 zN)aUkpkxlPjA8~UjvP0K++7<=(WO3x%{r{!Piuk}8@+i^81t%6P3K^gppQgxYthVN z@fNmUg)CN!$`@-?M!96d-&m}NtUm1F48s-Wi1L5tsD&2tZT`G0R(uNUBARU&wq*ER zcf@G<_tTlL7k@NJEO}-FwWJdam53x<(!@d+kXl4EO}XRQ6z4Fu_M#6h9r*VXBg0mx zd>Zit=Did=XPZJJ;y}Vv=T5unGJc8h=#_(e>gaNIhPj@{g>xe1Z{G~JAF7KLRE3#Z ze$vB&jdAHI7S_#8JVCc-V=io8{F4r%s);<54CvEo7s&6l?@gTV3=-Xd4QLgQV#piW z-VpkU>ywcBbs%ad`=u@TN=;?6r>d|=l0Y z190qgu_;&n@g)?;;#Y+ie&poiw~7ebUrs&{h?EglS6?1(nEu%>(dC?+=URz~;Fou9 zOf>RXLJKm&z}$-~>x@jT3z~P?TC{Jg)Yv5U*D2St;V~&UXI$%xl}A^gd+x`r*3qDY zh$DS;l`_M8zYO!`_rGox-^s|+J$~!QNaN*mm|sd|+qIz@@Qe71J!y<84ph2kxt17UgT^ z8$G8)Qm8Y!f*}Ro#jLH-EXEWRV>zIvWoUr$A@?ughM@#K2)9M-=!;CLyM44r*LSBD zd|2t+Voe&y3A~L*y^M(wIENJTQAer$##Wb2eALL6j!g&&NNwc=2}Kqo>eNAUvGwra zvbk_Kj_e$@jm6v9bi=%Y_d0wB>W)=3szeS{d4K}1EaMAw!88}-7Y!hkX;ATFNNr|^CyRO#;G!^dk7A&0V(-x#cAnx?tcDHV@X{)7o{X4YD{zlb6&bs<%%tg!9^+ zdt&XFv<2T&&V|lmtHQR#90)~P0wk%YfGvqJjF)*5aniPdXCFG)K%*EI_CeeRUV7OIm;Yz(U4+Yh)L88cQZdW(;+3^VvDdx}W#jywPG&CdhDyOF2Tr0aYa z)R8lISg`>URE7@NP8S+i{h4Purmd)+we&n{&jf3LQnQGig96W{xSMRaBmHvkEHK@& z=~MRGFxK)uir5sc2^De-Rio-5!vbIK9wx_6T&wDhGw}X4CfB<0X6Tf3&!I@&`LNS7 z**^1huBPjy{ZMB|g_~cc4!%vbx^Ez6H(sR|MvcBW(*@B(7ScHAj|=hft*z>8%w8lH zL*e*oKfjaOdzwmEm)}SHS*1{CXca#d{NL@pJ*~ zxGt_=k@g*TaJj!tW1?+aIahEm2wCpU{iD3`Kc5*0aP+`bwZs8@vjRAdp7hKO4jddh znTXo3XYL37UKzk78P1!VGE*|f2xxt$Ge{#ERBHd|CEJTr+XcSh8@JWi0eAsc@$$z| z`Tm{FW2G7;$Y)CCBT4~0g;>7}di?XppEMoVj}nUjSQc@kCxX_8!GoKWCbNgAK$&Zc zbVr5`xRZGf!avvF{_!>Tmke2wnM*>4Tc7BV*b&yzGK0jJcns}9R3uqGn~e8_3*f=hbIVB$Pw*E;mHz#`IzjD5I9ED{LZ((f zS!Gr6{`3+G8(3JS=3*Pl7{ADVX^FzsDnd~(r`%qt)mG}`w=hVm&!^~}hY?{KD}&&o z%_`_<++?mVY8YqFkS4Hn8m(j0fOgzBz$D3&y(&eI=`ow9&y) zPS9X3N4@E?fvjw=97ng$V2K9+cGP(G53yri451%yGo!h!;Io{hDbe~wkr7yr^4Xve zrurOgpr2qwKdxiO*r`9d2W$fg`VF>$bc1am{;P2Hu-!)3Z|nQPp}6ydi(iHCETev| zzq#{qQA49w+Gl3flnc}>zU1SDvzUz&yeoOGb_8Zh1m+RWUW~~+2OG3LL!KdoXpfQB z-^8=aGG+_Qc_r0zPtL?ot7+1#>8E;&{iE;n7rNp$XTO)tFV6dTEY@*{`DueiE39n( zoiQTheKbw)hu5Xzf(jiE%_BeksQ*o4E?skiSuoNn#MaG)n(!3bGe*S{EIUc(lVPNtm&`%Vl!>8b!gXs%T)Ru!G*Z5c$tuDuk zq68Hf{=Y5QA3dXbt?Co;+6m27#Qk39p|df}m_s((;-R3E5PO|bggjSM=wWo!`^mPB z@d@{9^Gk?ENa}MH?5Y&8t$tI$#nqHcfN8a|b@M#ExN(&_U@#C!oM{~G05dt;c3@Fq zNL?lygv|RPWjk9vT#K@*)vunEP;Ei&n_Dw3CS2 zWp&Q{O~F|wwvF8-BcKP+5c0N-iV|owd#h*S2LYo!Xvgt^4lv9qKv3n z^AUxM+rRs68#{AePgX4Yx(mzhA_@|!jgXCt&Y0~PMdnKv?feQGkg~+4gPu3AKjC2f zC}(X3$g#g|Ui;I0fY+RZm_McoB9S$y4Tq{d0O-96I{wBhJ*yrS6VESoUW2j$6PAC0 zGD7NQ#M&~xsNG3k=9~#8fc7Z$&#~jTdyxHeYyKno^P;0K8jk`bTh$sum5f47$wDdO zRqf&kjkbij#XtHMobjw@>qpUYyz^Z{QmRhvy-cd%<^V1O(;b*I@6Xv&~)PuJZmMPO<${x{dBNnSZhDt2#>8A>({du7sUB+;B(g zo8hg5W~qTaqLZ&bS-B^od&NTWQF-@!Gt-iJ%X`ECKKN4ySo=UwF8P*HM(}DXhw?9j z*$mC^77Mc1zRTsmNb-*C4dYOqt6IbcgU6Qyc4tg9pn{-++>KT8g+1AlythhgPB zynK*uyB$6Y39YZK3IP<^llj96{h=sx{8lz0x6+XsX?#;| zm+A?dqO|u<@y6XkO@@;o4vbHQ33KrHod)h0jUPp%R;X1!B@vzpC+JnG4IvwSd1|b1 z!-_k2$o>0j0D@^Ysr#sUhmvrc+?fK@i}0)V=-mO;RoUrA8(R5C3o+^?fUK#|&sPNK zTei4<7qAP~))5Nh0ED08{B$kyb{fi-{+yT;UFz-6nK>z{-d8vr0sKo0#-iW zmu_CGn}zV)dFUolpau;HYJP4{&s{FOM@z{I+yNSnRU6#334eb4pBtsv^M~L2U%rN$ zqH3h74z|tw#S;3C$Zb_HHibKUU!qpze)cSRPm1P}aBK58)9m-uDRvph-XB1p!6o61GiIqzYnnb9|HFuKJRPCJsz{Av676*uYR}< zH`VQ2X&w)kJ#`O_XqF(x<4mEG8N;0<_=;P$1?%u|<5&Af>O|Rgo!P_KR$o%y;BYk3 zLG&zbw_9%O$e$v}S%I5;Tjte4!+E{m%U0Ihq**NMiY z8DaKfj+wzt?po)5+8^QEZwC_~%1z_y)tP9C5+8J z9`pZ4LRL`(4iGel{5xp4?o*KC@ys6cI)WI zp8Y~jt)HieqCqd(?!iFSzjlLsRiSeQO*V_?9Ck;OX+oy%VLmu_C_#L^FZed-3O$s1 zK@ZCHbN!iP4h*n3WA>1_%pMZmLSL+ky9AA$kkbcNGrWdZs#uw?QAr_l@-G%HMPO!|NxCXU?<+4E7 zb-7-4$dol-ZsRBNG@lB6&U$sJ{P1EaZ#jO!>H*?5Avk z)tY2cc}pfC-=F#%ELEY(_ri4cnF1gF5eU|of0NZ-3|W-3X_ow!u#FV*PNI2*swq4< zP!Uz!`C~|$2QHS`R9pP~ilRu7MmDz2Ex1Y=UvXe2Tdsl0SLtG4tXsl8(yYvys|~5o zI&3Ofa}M_q^$7KjpR*DEdKeY9buG8$%!Y@+Ia*TV?9~Zw-v~|PF>@on2Jeq6iurMB zo(}f>ai)GryE65!j8nVf1)FtSJuCfo8b=mCFq?+XS^Y|&l4DzcF>-QlT+(skx{<}# zvgbs`=g;U0Lziv6Dk;VnoQ>f1X;>rb7rSge3`wD=_~w~X^6AJgwXdY3nQ9DYDKliFMH1$G%xq`P$zaXkA@|hA zx>4DmV3;Hj4&dUtA_X{Aq6kGk%9^x2r zalsTsB>u?TKFPe$D-~JwWnGD?Aol0q*+TuxeOP&1mbZ5?aREgW7M-u&fTv)E=i91N zh52O1U9E*3rkXarU(5vh25UiuX_Yb(Tf3YsaHn*mDWR-htLvkyh2u7g{g7z_Z_X0awK*6Gs|$FmC^w;p{ijB;E( z9M@hP3#qbyY}?*>y{A;XOj>5A1NX5r*D*PCQ+qe@{C_|3@XzV%KfdOnrA)#pT=H%- zR*)38XB_;{ZYjxSQ()XgI8kU zQ-t8kY|VpV-EGnd-wmEe7Jr_1k-f+=InO#!HJV)Zv?MMhBjda~hFcT%eR2%lj3OHY zY#B7J#*%@7KD>-&D(cWLg01MNEq#O&FrVA_zgPsY_)v*{<~XQ9Z=!O+cU7Th!E-aB zTY{UkoH3${<>1I;5JDPL3Or#cVj7bh52ruDSzkz@`KE20VK$`ESLh}sp=M&Ua*kxj0v?m$#=w zXa9cZ3;*>lLO_uKN(B3=-NK=Sq%xo-9#k8euv1wCnx;U8-s)eG&XRF0XwY4K^3^f* zZL#8!usy~rTE1F5P2ufnp#ks0vpl9Q9k0`E(c598R{>3Xi)xtxB#5J^t$=adZI=xi z=mr5j^5HX_v}XWVVfS5V{)=VY9yFtza)7KY6n?BMTdun zhj_#OW7^ibRuMcrI+FG8Sx$fMQy4=2LTx-v0(eYriUGLTk0l3bv*N)Y5-n#Z{yZ-9 zzl#DKdji%0qS<@Q8-5dm1%Pu0^Bzpu{c+C!`4{gnDvc?}P!D^Vo=6Z8*J8-vFm4n# zV#r2TC}J7(&x1o&+|eOz8~xT~yfdN#Z z5@q}fo(*6iq@tjtC0e#HVnv8U$!=x+DTvHpuP9-LB^uKSo0D;G)vPK_T{Rl2Knqg| zLg!EuYFx!(M1jJqmS?2eAs;Rhb=kq|aX!~`UG)})9l$!C*#Na6J51qN>qJEc6vQe% z?rRC%U(GsL(TYr8h407r|Nh|fbj=@R=Q4{Jg@pdOoUh%;uRsy=d^EMpx>sa8tSs=i zdb91yDk>At6a}1bYZE?}k)axOlZR?TyU1*>I!3nrV&NQ5N_5KhF1x{X-+EMAB%%YH zFKlnp!EtT+lPA7=Pdu}|+(*bYv?$I~A(SXj+dD4A8E@8IC;QK=J_1YtsQup2cLFp& z#P;eY+1o6!r5{Z9j; zFCikQEqGd}!Dzp~OSAbFHd|fY=+5ulqG)^<-8{Lfi%|)1B>^2mKfWFlJp42_wB9Ga z5&Z;LW>!9W4Odef-mGDTyEIZTKTX}aRFdHxk07Waw1r-XwOj%Z|4a4m`Y3dSWeujF zG1^saP8Gr>;iPybiT$SL>lu83k&^94sKIKr-+vm7fV?<_#WCrf)iE zMO_i(yV(ql#5RO7oEaasC&;?cN5IWEH|&%z{JbvVu&&ERF+{EZ7_LHTqoJ zX}#$7EpY(SJl?4-aT|7L8sM5HND@n6cH+F3LLIUfv*F6r0CortO4U715_-@EbcS3e zUD;P|Ll)$GU7T;(5`c+%AC6;qz~{vI|LMgAzrCZ3??Avd^VfFcKF(;6yk{cSRCMYD zg{w{7V@ileyGtufpc|`)_e=Q6ryc@30v=WE`+G0!J2IBZg&IyU4^UPdalBNQTI=4G zy#5}^)pCX|QMK4$ zT_;b+Nx3zO_)V5y0cZYg$0wiJpR?1XEEcwuUuoc_KQbT>RrI? zFE29B{fhQHOmROeWPH5$-0eX1Km{ZQHeHzrs23uwEN^yq z?0+ZnBrWE_^Fup8!{3rEr*9%`2osvbdj~vS_#gB7!N`1Fax#5fI#Y1Dr0#+l6OS(H zk)-S?akuZ^cd0WEuO2{}F~?CGUP8cAV@tq}ZE=Pnwhc1U$uyj4#BA?yGNZMu2eg<( z8KZt7ZFl-1Dl=?@9|+?QN_7s6WCqp)eIW2M!eXIRb%|I1_8sww+PDu?%G&=2YH8 zG3cvS^?wHWp#IjGf-J7OK#p=dg}8~YFxFV5Hm0hN4={PWBr~^IUXe|Y`p=yVO}Tby z1szu3Pby5+m;xqE^QB3+gi%%B`rWo$c_kI4(QDV;*l(_Gne30>#tz~qT_+mR5Zwc# zy+dR#U3TeouTugEVza@r-W-EZeAxD=5jYoh>M;Afb*e4c9GS_B{=NCK)pp zPtPV+4n|vBtIDSZ$DM=4{q|K-EAtNeHI|ILU0gfyHuH(Jz!d)7NeE@(g=!)$sU3FN z-^Ja*<9y+4MbT!xXNB=uo$Cvlzxf$yIoGG>>md8+x4Pi^#E4feh$}q7^NyAY4^g4Y zI_+syDyN?xnl5pgAK$?pRr@rgmSFVUmx6hJ5B3e&hdQ(k4@7Z)Cyf2ZdZmqu4a=8r zBxtpZ%tUsne9q*&lk^&vfX5krbJjGJUQ801x}e*re-DJo=3+w-f-YJ}o`3!g^7ObN zqP#gcJuO9X?~U49DPtcRk&*GVC>+2y?cpF0tmUTN@Yb)Fk%`-{^7*ON74KsPAML~z zqAt@Vw)3j=RZ?2s%)_0KV!ieXJ`2yQb~Cs4zOU{Zt@6!yGX)XcM990gjLx*7OZi9X zFqzk{ZA-@6Fb`acupkPW%ubS^L0%%{CQIz<<5THzJ8Wqf=@Y|WXeU2nGGL}0=%V^- zg3|8OOEht=PlTBIp3(cdY8z@%tqs3H)RC(!65SVlD>;;wGII?~fM2880UbBQTPakXy;|v=EXUBYNv7cbzBlGCA>EQ~GjTWEP2P@Z0Z8?}v@# zo1I*G+J}!^Ds7aNgTpNAcq-WU9~Zf!{q@fAYZ>UPteVzBVk$w(CB5OReWXj2Tk|~P z5#u^DQ{hK5o-sV3@^?A(A9E#s*rBgu6e4Ct4lbA8hozk@*;e7J~C#%po zo;0?*?-%C=4tI;cNE9eYe`O#&j)oHbn4zdK~fF5ayvX9BOh@}YaBcOwU z@PqeyH=fcb)YW(lB=mbZXRSW@L!CmuSAfje@cv`UrCuaFDWvuuxbd3*y72|jSvFq> z2S9qht;=1Vw}|T*ozJs$L@yB8&|e&X1Eh(n4WPM~8vGzJgigi_L$&liWaD%^7} z)23g2gT9M}hI@kh&qx}mm>3q3#Mxnwy!oOZ}B=JNo@6(F_%Teiry@EOR?^b$m+FQ-E*>{RpT+!j#`uAz5R_Nqg=!P=l zDyU8P$1%g=bHYA9<#Jj^^&eiA1Lv9GTjmHY!UkF_@|Z69CGc`oWa_(#OUrewi$hfy z_QayBc-BAZX=9cUg5Gimt3D(1 z>;OV5Yq88ACn3eEHI8@3X}|r5o#u6AmRv4H!KX*>13k^1@b-f-(p){TN0)scVO{*E zmLJ9XYpkihHaFFMpDD|=@4!8!t#jo*7`#+(+_vxvMeIrF5W8R zJ6_oMNDUNmiM|7_iSQPv#T~~vABEIb$@ReQb+2VhkGq)0-wc$!x{~(dan_})YWy^g zP7CHZ_-U2GHAW-kuzDnkrZ#s3d54YS#XJn+OtF-yzgVb5kbr|=G>+r*1ylVLdwtVz zBl5+G8VD<$j~p~rj$;|p{qE$;_}oE~^AM@!n|d+Y{7awZMlM0OhV|4U+znNuhCJ^K zKLNEL6EMR|TQ9?UX5;kwq#^5u#0M$SV_`%49YQDd>M|$uACGJ1Kbg z=9=&WojyDNQ}|{KL0d|+XPp#CJejTX1Y<~8ma6i-80G!SE$0L}g&!ATk!V;A>Yv#dme=*jGJniF*}Mci zSm@3TaTNRivEim8GGx)tm2HC8wA;!8^E|OL@LYePX7>FN_TZ}0Hx%dG7^~do%o^KY zavlC1QB8;&_}_QdjBrL0z#>O2WSlOFf?v6SL5* z2HO~djXZTF`ay3| z;EzE6FIJaTUt5;GDc+fJ`;hd_^@-xcN;%RS1{kPw7Oy!Ehz_@Q5AL;vBI-K;6+ZiK`i z<4!mLGX60VwU`H;Y{PFsrDt$Et?(%Z*yPEx3OVvOsgkqnMdDUKson+QTN_aO>JwxFjg#-jevy~ z1qG#uqJT9C4`i{}XwKAU(|H2wQ+3_mI+I6IHQKFON-b^qC1dsuqo&2(JVh za0@6ng1)TZ=9UBwA>gpha6;3!x^g5%u~_tekmLR9d)%^B1@a=U3J{1K!Dq6`8l21m z!MVYnwc5O`H3ko2MhBasWsu2Y45`W%PNk~g7tF4}R`q5m^Ma66M%n^&(~MDH@gPR6 zrl_AFQ@`rFe7I))9%(oC31fNe95--8E!}{-?o=@vPP7o0$rA`;lp8j3v-*6RWmM8-)}f zVOqSc&;$J5Rmxmux)uCeEr>4Jsa;2de+-_2TfY<+F^4q=IjLwD%4EabWEy0Laij^1?AjY7Kl)N5fS~ zs^vWIhGgt4;n5*i)gVT&a5ctT&jI$D3j@o3I5U{{ z7VE4J?D}F*D93Y9>3v@KmWt=fYsmrnGG53RubQwstqa_M%&wksOWm?<4o}YA8}cUP zOZN4F8{T(yL{o+(#g=QW4tK05Y*BJgvq&k&*l&5mN4T3nxZ@bFZ~3-fCE@kGoF01Y zocVi6;UU>X#SjxqGhf$_yqx4*qmjt>Y^QGdq-Uw-_nDGOQ8w{P51iWvL{~0edxtxF z>j%TEODo&ds0@kydN*dz&Z|#ZN0h$;q4+in((J#d6a2q@l_?EW2=!H(1hlC)4^R22 zL_X!mUBl?M9-o6`9(=fDMFdF6TKI_PW3GR7dty{0~crA&pW4=^+kg$*JE zL>CdC2kYaF0$nU03FDiNq@}wkt^C@5613*@6F(x{U2v_L=jvuthrxh`q4F4;)^u1lVgcxN4#%+*|C6Z-Ce@%5R?C(>(SlqyQv=w-RqtQ%PF0%6~ z2MH#JO~ktuA$z*jQHU$G_W*Ng0f2oHXg3$b!u<7C?SBCh&gZYo8duH%X=oz+uDOY> zyRt4hka`e^a_c*L9CJ!MrYc`7?LoH%;69=zjpjL@AbVV=+1z`t6t-HCy!K~lVK9n9 z2G#j6+u&ZR0F507IzA^DNr}`}z*+Ihry1aIF_=@REL=?~fsUTPFzmbUbL_6>2cwjx zr#hQprh=7`rFxa65leh@Pk`r*J`=Keel(dSZTkzUNKsQEvd{&%#s*~^w=1mSx&RY`Y*~)RodELx_;Q?7sxSN<8i?4o4j%* z2-fL@p?I(X<;FjEu)8@0`RF-huWQ{kdFP0Qaph~Hi@t4HVbEgXT?T5}5Tgoi1=)uC zPIJFN5mNh<`qB4_+uFwvlkWgLW^;~#YNOU!U2(@R%fa?!+M%PEJ?cvZupU@39b6!0 z@9%O%6B{V)79N|6OAcTUuLfNiKS{;#o>K+*mNGbyYt z{~o0wiyks!E(1u%ly(d zJmsHUj;OptOa+;(NYaw`PJqT1Cr?V=4F(})U0XR`c)Q#BNG*Os{ zWcIPrU2Mo}iJ^#2F7xO>)M=XF#p~c4{GEDK;MwriNKmKdtyAW|FYXOFI;q9@V=><& zkAs0Ks0CG=2Cm9ak3Kp7Y)D+GtUTMo${H?~AroqTG~;S1__qdwA!k0bxV5V0GlEK- z!jpt~Vvq93mYDu}t&Jm7eBMtmAT0baOUog-SMGO^v7$MdC zejoo%Ni&SiIKh=N=bMGxA&_t*}8>P{7P_N5#D7DP+_a zLVM*R1wO>qXkFt+H)u=d+0IJzCL91~zdvdnB}9Zfk()iTe_-w@A4Cs*$xX80h}#Wz zSDf)_GVfJi-+RV`MG$a8Zo(-~`?63q#6Q#qKJ_-|AXlsa*Z=C^i$Q@m&eUIOQs{v* zgaBvI;Jznr7f7(JV$F$gA40&n=xEgNppc`$nUj$o9Zf)`FXqM*bjYZdOha1JMfoag&=GvV(^LmnIY%rmGzq^U$UIUmq^r|&DADCLu zW!DjPHTfCj-o#);fVUKa^A6^7($Gn*Rg#q+TxOCT@Wg~nbbPN|0OoquC`+csukwA_ z0_Rn=zWYk=CjiGDLev|gTzhbmv)31<>BTxlaJWLqk59Y;m0gv#x>+m)AeiX(2=}U) z@0HE8PB&ZVo9y{@ux;V%sb3$%hVU&!R0v!R39?bt!66Pkc$EM21LXzJ5|?(-;t1FN z{A2qMCEq*orZ0?6bR+$HPOXumC8ZcXzo6N7I30AYwBBAwO{+X=Rg{YT~Hi zx=4W$lLkVevnRU&CopgWR^{UUGc)(kUvahYUqRI6p>&`XqO_=joTt2S;OcC_vMMQ9 z*~CwXaSdGPtzJD)C&t9bfKpbOQC8zeetgm#dqYzBYRtfhTxH;P_5Aoi&F*WuTC*bn zU59H%OXc$q_9Av*4ECeTA7nKTA;QG#a81`OJKa`~oIC&hqrJRC86iNd`&kadi-tl| zS2>{y?gH-}6vZoEXc&#@cnV8Wx2@Iw(Xq?PO#`9o8JR+&^5b^4A%a>Vn2y~ z0yz!_l?v3ju@o_<-^Rjbz15NWjFT^a)GQNiK^KIG@Ni6`Sc7u4lAg|$yRrH)y=S$b z3E5R-f^=MN?A&zL0>n5=${TlGcSxN<9UGlWx@*MtDxU@aO})DKoDxsCNJEFLG`NH+ zezwphog2@@Ip3JQlY!AElGrsdA2h+BqxLkyXcE&pzQ+zdGYj zIX8l5$kGdTPf!=@6m}998qypDw`zqR#1nFQmx;pgSCUkIMT3zMztdT4n{|eW91J{* zJBa#H8O4KXrPmXq;L@nYWvhm1;O$tEY1! zNZQa)!k;`Fa7Wq4Iq5Q8Nj$$yBoPLk`}N-1%BlCQSf9KB-?kI;vH537$DkpK^AIk6Z$>y27w-P?S{Y# zI0ZlOwr7c7$jfhd?+h&CyqjeS#??~0{uZGaQv*E6Qn$Z38@O+{nm9eW+*~*nZgd$u zaUpOKu{wAHeE2fkmH3Ms$kb!Y0EGUEnQR76mXr4aY!XX}2R-1<@ZHf!a zvyZ7DC%+$#p0fQ?U{W6D#FlIF05)3hw`=uJwqyf|N;Ku7SVw{a+2=_1^sBiJzGYgP zC6VAUBPa`6I6lgPT(zV2PkbV$&6K{b7B|1IYx;9d?%lNwhaz}*UY!+n9Y#MXH>Qc#$0UhR zagk~%=>zJG64pD#)?VpqO7kr>@ZfGS6Ir5gvy~)6bhy4O=~98~9>?QbI#mq`iUw83 z&I&5*m3ig+Xv3)uw|sN=zG=h1O*!LorGh2G-q4QQf>CFQ=c@yDk&TVnj)%)n2$u2L zERV}x)yO>*p~6E4uFgjH*JI;KEuF7SKnQX(>_45jfA^Kq0PobvS_fHU#5v(Kbs%wD9NVEhl2c!Nb1@La2V6mHB<6L>(e4y)|mnN{P5kC3d9f9KUSn4cC~Z)I;KtlJM-VEgEL%A z! ze9*_zsfqRh&^_|jnaaH#o~JQ)bL!U$-LB5$)&v}V@&ch;;Q)N=v*kM8)MdIKb+D#? z_mZcj;qGelM3&8~?%soZse4)D$>awvlKfa?$1xvAP(U2pU#f@Zg zRM9n~WGI=?3CWjhnReIKt4g*%IQS|wcT9-QXA0RIrzJ@`8s#h1_{RA@f3T!O?pYE) z-Cs5_-GTRG65;KOqYBynbO-dj!+;5>oYSQqM3}~jT#QyRvNiP*v=OalYqqZ z@w{h_A}Y@ojx$Vth9tGW?i|Q4^Ai@e%l=7)o>lU7A{_?tRx+KQoJUwyv3<&8(ZVhF zt2{5gJ6n7Arux{M#mF{XqxTtd6~6Dx=x{zW)bc0VvhuBa*axHN!Obj{vrx&emy&^o zRv>gSA@5?F&<>Sd`e1tU+SK!R` zla{&-sCFe!OO+XJh2n<4(+dkwq2T%PL+{$T&0+;;0*QJV-z(12W+I+e9;>X&?tIR0 zoUtD{a(g^`yH>(@6eo+Q@mjD|e!X|aR@X&w@%ig$pjfgl|L6Mr{>l)9cL=dAvQ1*? z0j^Jx+gHW2kA3a#ex&{8{D9-0*ll3|vK^-UCUhxUqsV5I2fL1b1?4w{$x*=)p=-6( z3co}!oq21geI@gAZrL7AJOAqRrjW(P>GV!-)ED-}mX=XEl9RRS(~UJY(?8@^@@lzG zP$qqC|7UV*TqEG{M)WQYH3Uu2K8g)|juE@4J2Eq>M-w-o-=-{{sJ*@Wtjbl<$NS_q zsSZFj-^zjgyI7+Og!(m!ZD`E~TH)yv2B8kOfugC5tO=JMP;$Rg+%fi6b^E>#rXTJ% z@}ORAvX|-_L;&i^ci9|34?8W$kacY!3bF4qyt97#wA^;_T;wy_Vc;*}w6FZ>oe4FM zYa*wPf7^a-gSbzNKGTjQ2@27qUh!KT!m6_u>k73$Dc|$kfsl(OCHJ3OnV;V5%zJtO zl3#-uzI#HEQ*Qt>nF^>K2j^JmqOW(kBzSBlw}~k%m%&mxBV?v5U^3%N0Ze92tt4A? zpKC30ccs=8LeRB*`zMD&W}^jfSs+tiO8Mx3X`o0Nuk10T*ksJs@_S?5p-tY}WFXyP zTz{T-gftJ9Lhc+50oQYkLHb~vOE%n_2VZ?Qg5-oVQ{m`F3x2E)@`;p35!mK5V7RVr z_+P!yrP^CSm>>fd_%oOzs^mm1C3#?gqc5!+4pi6_a>a}i`*t4jwk@bXE*}tV$pL5o zzw!th7#*YJbtz9GYuhhqsy-|3FK}*L03rY(s2m(1a{Z?MD#&5UzUH%OP`<&BAcLyfrIaQ7mF6IhH z>sdH^q4Nmr1i2^3x%(Z^O2(O%B0#gGMT%Q|83{M_ec$3UgFm1vGYRq z$;lI1doBj5S**n9`EF-lPiALMIIa@=GH=4&oUC$(N8%4d)|K>%qWIjbmoHcupgo@k z$%^g#jt~z8qb6Osj69Zlr&so{g*B>Q`b5za3P`0vO+huKnBEtB+GuqJ5#P0~mNos@ z%$1Bvpwgb|RAN*JJaaRs&haWY9pDHZMuk%f~+%7CTh}AU~`TTv2Yo3?zmxvjr zy)$Q=>j~H$Mo!*4FKAv>`69D1EA{779h?T{a;tguppfb!U*(7g_Qpt~Qs?@kFPj+i z&A4xrG2jG8?x+I2o8!XoyKSMm&kd`x6?1{Ey;rpqeM*{82MXQTm|IhpCFq`l?0KwGyqI5TL#i!^0NvUj3|)}fb9%%E4- zmEl0AsYjAC7?N>KOJNXsGj;<+4-1;=4R8!R32=z$G6%Z>_#h|2 z$8$PKbCSSK`VfEtcjO5yyJzYYKB68fH{udRTIwAy`5O;CjWis@eoYhrnO-Z(pFDa> zxNoTD$w5&hVak79xdzF_#4Jx1Vt^EHxeWdW8bOyR0KfnnVv86@3ar^*2c=lmw$fPcY=1`Y6xB^0OtvOAZO$L^KNb$1k@>-C*Np0@*FqDfKgd+-ZE z6gTXs5#P5zd1hq_NCEC04zErN!diRAt*qRP;IiMwM=>b?3J#+W?ZFqA~43w!i2#{K?n; zQAZxtRW^)~@dfFc`lH!SwZ`^MT?OKy-DHbK86@0ndh$B@-N#p7v=0>a1B3TTW}e76 zXdkejB^QcuJ*n|YMJL6q5nuey_sf%2SwT>wY$v`&4!w3$gz{WIj%E!UDz*bN{QPYJ zabrK`s;!)&1v#g2BsnnPDR9e$KQEJdN!6cy8tI-iui%r~4+uSve)Wbu0?D7BRDaAj z-qtvFEU{M-CtBR<>O8p6>@2O`nvUou?a7>ev`>9|LmnWFJHEW$c_ZNvcM!DyWQZu! z7VJz9g#;wjR!h2vfQeHYZ+`wf$>-&dWUBs4EDy1%msJCA7tL576kwx2xPah6%S1f8 zGRZ^d1VBn7FE6>Lx!*OPqpVBC7%SYnu|QZSSb>dLlI#3GiD}#9@pW8Ebt69x9}UvA7ts49(y@idtUo~ zji~lz;n*mo`h9?rtQp-1B38i;G(%1~U_X^ISCnk|!poBJ)S*D(Q-e~;4?S{fw1hoP zbz$`@?ni4DBG2e?+ZhCZ4|1e66Qq?P^p=pQMBndg_PuvUl6ALx0n=!*wV?@&(l*+0 zE)%mQmv*Kmo+L06%=(4>DJNx492pU2peCbnAAo&2FKtQ!ieoPz@;5uBJ+ickqp&nn znRhVC$AkdP=7kA&pOhCy+<6NX&lq&LoS{UM@=z1Mc8hSvh6hIF6xfIN&XUTniDol-q1VXy0@e<(B6E!9_5=pbe&Pd}^8;As@V*2}Sv zPoqUCQ=s?e9=NPyuGg$!uu>wf(y*F)SwK>HH>$aD8?k+A-J)IoRIE!Oca1NQwZ!Q< z;PHp|aZ*6n&YqwgZUkQZwQHB*b)qeY#4WCE zqs-qL@fpS2h<%Kld6;1Bo$v(Y#0CdXED^wb7aOr z?TS2e8X;f|TBXw|)YMP)K4VDy+dbpxho}hvwn3xeT2AK4coS^otO-g@K!22jj!UNb zT*F=>c5uA_!cnElX)w@TJ6WEfw(lqz-UhV6xYSG3B$(u9j)vPg?@w}esW z{5icc&351zWoqA7_`*qKgJ<0y)L^uo;helIUD-8c9#9WG%8@c+yO|aDGL7Nw_QS+^ zeD4{{N0*lO1m(X?MK$Q#*2*JAd?ESCx|{Tya@yYp`Hgx_!u<1A?tu$G({2L(%YSwM z|9@u3-$g9HmBB#J!$>r*=Xb?o!bdbhGmSOg7*ac9tUuuz^1ZvzKQCbm|P#oGf-eb3AWhWh0!GbjY4 z%Mu|0P2YFSS>YPEnX8};LqRmPy=-c=z4wNXEy>8_h)mY6`QWGTc3rk zpbSKxULaI;>7?tNQJ-FYD=62_Ozf;h4lFx=h{SVNnvgq~vvin7rW4u1<~7Wcc%{+9 zE4J>0^5(szcd%8D;afu>t9+XyK8GmS8lNG3SJjoj?_2Y%wBbn`Xixz$c^k?{L_mee zp(JPvM!Ul$PV0iPX)MxvF2Wj*q_>PKyw~eJ|GW%}Wp8-UGm6|%DT=wkh?ZPt2v_?B z7MD7NS&82=9*gbIJ1vt_&rTl{)fUF+F`S+4-A0MqX2c}So|T$aw5RR*^7uBNaK}UT z>;j%4o%D8$eSj8|R|IRX{+uuJTfe3NG^h+*;12K9|KvNkK~p(1;Cmiz|6{^ArTm8V zTKUQn&uHEH9e+O{d(*a8; z8IZF*rp^|z{ePNS)mK*9t++FM_18nFuE1jxV(U|rM-CCgF^9V|GfW#4-Ne%{KWWk; z4|4SERIh*R&E8T5#fj3jzk)68*WcG&DN!wXCDb+jgsd-5LE(0(AP081pEp~muxcK% z&Au_c3@47nzZK?m6%`syWP=eY7iq*gsMmO;?wRAUX5wte#X>)9MB;rR>9FGu8|L}%IPA4Bn>gu}N7zzS86Ul> z_WQG`;w4AFmFF&_n;yPn_XQyik5uM?&F}!dW5V!Bwo8|$(y0E)z>Yb#mfHJ2@^Y8Z z&E}!^>&@Lp9}pYbQ};Z}Y(7)5QN`pEqk-P_*;#|0&j@x|Z)8L);IM~YenaYsuA$i? zGb39$Pd(~|bxlSV4VJDBv&j81>sX)7oGm`U3^fi_=BBVg3MruEgM+cr`&pAVy)46x zyLZRB;T1I>V>>;B9`~y&*o=j-mq+oTBoWZvgQzC)ty-RUMqO>i6rW7g?rz%m$1lqcBg+$fLx z*)7jy?ifG(e~{jO0~%Bmg-;UZlwZUxgb6$ToH4F`ws+k`cLyXC!r4y@gq-;mSjzM# zT_11tNxc`@b6-0*0O$j3GOFO!)vgq&*(Gi9h&1;*)3;z#^F=gOX#6B-OE|v%kXuS$ z1RZC9ekqQ^c>?~7o(>v~`iA`5Ti=2EzG&2j`25h79bydtPbVf^8HX$17dBM)-Y8;z zKk6b0^$TTyaMBQc6jcFLol_Oe$C!0^tUkz2difl$>w8dcWvA6nE7(-Z;vh07b@JDB zRPV$p!7la}cN|z5o`;V9d9`sKE%lzTkF`6|O%1EE8_7vWJ5jzPsaIJ_Fp{#$2c>oF zmH=%i@-2+R7UjumjR^1RvK4y_XBOO|#&OLO-5QLCXAAyQPC#`)L3It}WrXTW$4~JfLj6a&%+nA|(~xvrb$(v%}`a7u~jRPui;Z zvQ)NdofBayOyb)G$)IfeH43B6Nc2yB?)v$vVN2oxiIaR+_h@H4O6B}o%h_GY%|yQFPI*PkTh#lnJ!XpLzf<(&HcP#Wxtf$Gb-W5$!xvz-8mlNX6*(BeW&@{YxdV1 zKs0%8eyF>R__;ARR7hWr2117>wso+IsqN2CBP4GnRBUYH(&08Rnip}38vt`(qARg; zf8>w1xx$9fM2JR0N>J(F$ z0vL+fq5MiA+RaKNbv0RXr)fgLoEx#x`cZ>i>cvO;lFw}1qIoBGaLjo_Q$yd2<dxx!=pzdx1lQ+Gn*fsdAE_PSBoD^VDs?bsimM_&~b9sXMS#O_>$6a*j?-Jv$w8k@$lTrV5drk#wZKP zx6d+;22B?$Dn2asX~!Fp(~M;!4+M-yKK*dSjtke-E^!U-CD7HYNTM_E3kyC4drKqe z&z16VJ~@65-Qz-LJZ`>vE#JyME@vo;N}i=!ZW>N3Nf6 zF8ll;@yMjgcAhf$^ksRIkr_I6BQ;c?io{aUN)~4_7cxUA=mxUdkK& zWOTA~eQAB&6qc*+1SyjkoR>(hMxFe3aZ!&0uOr??th@$YX5N9TTe`|M?q=wP$9Csh z9MzJ%AUKK2e8P$KM9xD!gH=WGMWSu*p5W7iG0DvLIZToi(Ws~EwT2qL`!JasfP5tX zkD18Tf&coOi9F$dBNO=+3<(6XI&HWPD!C?(nKRK*fGU(jc-p&=8yD{1T!5YQ-?K4E%;!~7QR&tQW&rYVyKfGl<4wV@%<3JqI zg>QPwt#Vg1{s!I2siuN*V*mvXCGry=0kQQ2Rn2Bl)mt3~-+h=RH$%Ui0BN0`mpRNb zU>htW&!>F|VSnVD;%@2x&94W8Gx3}b^fOP^cXj5cKY0LRwcoGAzHc3uswTq)0?#B= z{Z(ihY#&|n_^SX{t z>g|6j4EzQfq9zIK-I?%Z-Y3x99GH%J#0mdWtWTfjfv^p!;4$;FMPTfPw-O_m?r zqRZf<=OODjeiZi_t8e0qE2$pApq| z$`TolNLv9(-QfYQUHI$kA!yJj%mu+YKt?Q%CfcY`@~Gp>wa|3x%V9u%Z$c7rS}lWj zm}WuNaJ}|1TkMxXrR)S8Y}<4$h(nbk9dznxv}P5uTP!ZDar3uR3B!L`INlD3s&6R6 zGN6|iR`h{dw@!IEdChyvGvqn~%*H5X)4-D`OiOv!x=J{)pwWiQg?arENgi3;8avcZ zx{z7jbjWY<+gvhri^z2g-70htX>UGZPB1j-NNeFd+(=PYQe*nMmjdTWlK4xW?ait1 zAk3lrb~beTd#%UimNjs^!{x}M6R4D!#=%#oY2vcJ{Gjik>c?Lf!wZ?$!d;8C2I7|4 z0D2B#L}A|;a!#pwH{!gC0==8GbvSb5t!;Qn=`q{8okFdYh1h2WHz^pI6el-pyA*5w z_R&uV!%o4TV-s%OiZeA8&GKBo<{kH_u#>2+0f4)##34mz1S?fP1CJ{WMa&;9iTo-5 z)H>kncbSBd%8)kb?%=M*B9?VS+%4i-<#*dd_1f`ap3CUR1qN8*k*%TGR*K=SpJrm# zj1}+fIU=SsG1&jx?6=T@*db=A9G_-zZ(?m(i+iDODH#wYY>>I(Q_&_W7kHem+4|vM z;V4`txJ`7qzXAcr(4W!lw~LRVxj&FA>O@Q8+ibSJUtTM|8XV@VAKFKN*rzxU#1`4u zVHCsEb~H2eWQXjYpc)6SwqVTxO|ne*&*>yLv?A!)*I=QcR=H6<4zqK1)nG)gmIN>y zg55Hs=zaG~g?}CJk*=(`H2(Hn)scM~Z#MnfWOZ(2u+N+B-R7-C3R(1gE1c!$60LzV zl>UII%51M0kxx5ZpV*WliZ!L$vt>vHYn+X^lh9!HRXjrva$00==8h{NnI&TNM-~}} z7oX0r3G!i1Q9Ka~iMn+0W4JQSnPtJRCJxM)Q(D(Itgp{vWE1GwAF(vIdnugAQ`T0(bTR~ zbTX}+y+0sn?t? z)w-Q8a!L|R$LKSPQU|nB)@lX!ng7ytJ9uN(`|=O$Hsv}Lh+(s7dT@wdD2eLt4ydju z6dWk)K7Hu8^dPE^B%GCB6I!`akIs@@ZiY}u8I_x8L9SE{cGBgP-Fulh>Xq(D|zf;(Wm9Y(ER&xqBwzinjd?!{fMUmM}VSP(&5a zxKw$F5n3x=1UWgbq2lu>O>YU{2>bayz^vG zDwnT5Cbj?&rjl;d82bwKYFQDC^au?#9H_if1+;w>A{+MtRfhx^Fu4|n{ZOK}E8Ev` zZFhWy=G28zU{a_k6o6fT~Dn4;O3BWPf)|MuRwr@;5ZuXYY+(|`l5koGT$+W(1* zq|nbL=I8qm~g%v7c*DINrL%&b`Am8H@AFW%C?j@%6*>VPo)-C zgDxC=Go|wI-Ijf)Hpy0O4N<6losihqIj64#blArYf3fs`{h4<>h%Fjx3U_ioD`yog z!1Zl&Su{@nH~R)yk35P#iOPh3m2xH7leUqCTU0iWAtP58Um)qxzB*W?ZAOGT!I_Te?h--$DDv_<2X3FY4j>T|ffTw9h5wd9%I^5wj+S6FVqKYu zngm@`V9(9-3G;}a-A>IV@HYxTs&alU0_R1Hq?FnJ_43M|$OiN%Fdt=C&i}K6#;whD z5*P;~ayh9i=_+dy@@H@VcoMR#7+jKNRhdY90S$%3krRhpB^j6^Z~#nVpFp$uF3$m$ zcLUlL)iN^LXr+f$_xVkA@tFu9sbE6V!(LZTD0m{K_DCh`@9$Oc6#=(N<_ux`S{+FG zHo!w*aw#uc6a`dT-v9EKgjMP=Ot>k_5b*0o|r0uyVZ*8CGgoX5~)@b zWJ5eIFZny2bNcLr-K_(|fATy@KLrvgN_TP1$UOX041dOb=ns!<6gvI}_T=fn86Pvg z=577ewb}Kf`1oa_f7VP(g2IvO)9bIJ9Ge&*MhT+rb5`Xy9`;JzAJ(toC}st3e|cC~ zXH`C9$m=IuKzGK-u-w_&ogh7L^O=!8L~#-~G+D7wd>OV=V|D$fHR}rxT2gS4_sS0D zDBYJ4WKX*=d^LWg?{@dTRAbTAFA1Ea;Zq(=dp?bM+ibU&#+S?0VkfRhR&--bX&MII zNITcwAA_}GHx-$hYy93e$pOWAFC&#o=1U%-`nL7gVV8$3oeY7Ck>xorHSY32Rlx(a zR6@afZLorx5%0!O1Y9>@PaI+psd1AAPfyhsq)yCUdi(kKF^PI3Teqd8uk*+nv^J2i zQ#geI2knEg!-6m3bOMLRqx6@3oE#`hikqdLd~V{k)uHJ@XRYS4TUl3u zD{_k4#Qcvosz8uh+It_`Q@P7AX&XgEdO+^2y=RfT>8~_xi^dhX&2G_(6|*HD5^P2~ z%%7o<{MrY7jLfOZ5e2|Sd)3-I6Q|P%Or@WVhpkrE6TZ~q{cBm5IUv+|`VL2isGl*r zaEE+uGYq;S0HXAHEsyV&Vp$6AM7Xvl zNTE!c0en$-103e~J=;|Z`nH@6{nQ0+fUc?yW$HTPI(3P`g}YrOprOCP;;8t)!{;PH zM!eEsd>wHM!~~@clk32MSlyla?LgtcH7=6IXxw26E=cA%S9F@{Iu>MHb^*7fo)*L@ z{*z~VONGBFg4IN-VJ3fXLH1LKQ)Ce!&@=e>9djgm)>RL@`fz96ErLz$u-%Tvb97Zq>>apDffzir#0AyuCLMbfa>Fr=0(r68w0I-PX%+^$tM;kj<_3$9yu|qpGwhi<~ z@wNnDL5^zk6M|RxXrt@;q}v@}a(rEQ;qT}_P(38-rG5070j)wZ^V`X_23Gb%B;9X0 z&lV#AqvJHbP#)aGK~dU+U_D0#vv#oW(NOF#W-JG1@F&mvI8Gw5URf0SMoxz)VL$wW34P4jH2(q5^LsQo&EvkP(xqZijCrzL7yh9qe zJA=am*`YT4#oFO1jsSte$2yxMP6yi=MXc02^isi;m+)xX@1r&-U0fr1ebWOf+XtCdY7=Rb8oV=}IP@>rtQLjwQ#2dS?` zNC&Q<&#~SS~1v3RBpdx>*1SW%ChpH#z-7UvK9|5tu-AKa0JD@?S^&1KLR*n*+&H2@%x^;9^9R7la1gM4xI;{toxpP& z!Q%}lIbq&NrtA);RVCuspFDo)GuXhLoL;FXVCnaDo=bPxDO0(5?9Ec=-Y zayAN*L5JR2@fGOOMyC%=ns=7>_q%g;2(Qn2FwhY&{I?0J$R7hY zUx4aU6qkw`$Inj!n6lfb5t9WXcl{4UCuz`Q5t}-LmpKh@#zMN>j1>ANW(b94DMH_W z`0Rx14GY|s{W9X^P?&g=(w{uS|GEMidhXV0;F?RS=X5_+wtxWabP;0bH~X zA^qECl;9e{&~E2}4FIfWZ3K9sJaT4=(LE4sSoRf3R|KhI=GEwa)Z{8DRM`YufEaFQ z1Lw>%PU&lplJ)$b!T)s609RT4osq)4KISDYtS)WtEPKcLR zt`0XjeQ$}Tl1}>h0xjaOeqy>5Ncu(QLt+ClJPK%2_0XI=f(E)W3TYmM>?YlHqQ%z( zEnDwb(d|CzDEyrOSOBuIThCX_;9F@YQWvWH-o6I4)&oOZu&O}QC4TqQP`alAP3_AH~h z#i7&7uLi&zCN^*%8RInSUWVUEWjTI`m{J;ofl-!#w z*OB`0%-&!6dy!~0BY^rmO>DXiXhwBW*wP+^`O3EhzMCg zgyX7EBZ;_bj4054!$%m%VMr);fSH7Mayvq1=ih%_%nba-R+x03fi`olFO20ehL_KT zfZg+0yR3bvbEplYk>;eX_lHCGt6z;|>WAIPcdCrG3@f9wnb<5Saaiu78O0&Q!@RLb7o$MTXf>n%vCg9 zmP%nulfFzoo0HPYv%JlJ{y~I+#ql@xzZBBg3Jon8kA_S9NesF4*BukJ?p}Hsz-%tr zcl>rh{=@x|$R^Yv0=aCky=*ON)}B8u9SpgjZ|>>yOCr!@`^$46BcAag#JQ+gBC(-* zG0^>&KJb(T%H|rp_Q<zlc*~uGa6<;S$4hF%SIfDnT9}S6pV$?l zlpmX3emQJ$ifkQu3psp~eH0iE=V1g}$Q+`HQm)@3A04vwv9HmVpw77>g4oEE=_9i0 z*#WN~Zf&^oe3NRXj_8@s^0Q)Igv{wEhtllug4M+8`MBO0(U>E87AnW~hdt@e!zd38 zZu4=RFdzu{pf0veyj3$eN=VglX(?&xKKw2+>7mo35O1%~TdWzG)s=f_ryl!6)%fY= z(Jcq`=;6;%Qdj3(`YNvenztCu;Z1pP{qp>St>^%@`tTyZ>36`D%zLG6egaatl+QXf z-`2Vq&LFlg3QddQD&F?Bl#2vd;$^hl17#>hOmNG+D3`%?=&~ zRlLD<$#NZTBM-=U*kWxh@HM1B+&1c=)w;m|5A@u6&ZtlmKx@ZY{t!4@8}ZeB+S1eK z_S{7`(f&(w*o6zRU5!+snl6X$Xy*c)131JJA9veWzjY+h`HLTX? z1Bi9>Fl_%7N-K$7u33x)-Ab54|Lafc{l^FI{`V4%ApV9VLQvO+0TBp)MsvE4`32UN zu3GJjU$8m8-m(|0cWG?+5uvAvx@#q+Ata&WeM7250%|gDPa#Vo|X0 zu)M;;;J<#P?XL?+VYv#jiBy1zisk4uk&+M?(z2?qs z)nOGZz`V81KGt7*ZJ1Di2kEorhER`fF ziV#yFAtaG?jwp#R*;2$*_I0xFGg%_CWSx**_GQL0W<7eo&g(jV*HvB5?{_`-bH9G~ zeLt_~kIp%b!?Api&-b&wKktuE#JtbC*Poia*44RK@OcO~PFH$fHdk6c6th8N^ZEo) zM^&+bKKs7KwGxx7z1L9t7X)l%U%m-D?S>gL&NiP)2C zGsil-mMp-S>uU2EI^M}gmf-!$%=D_gs$S{KvDaL8k85%YPTQ1BdssT%Un#0@bkWjA zD^o8#j&P}5z!c5mtcH63>jhXr6@jO31a+h(Eu()d!SF$5Jyp9CRRG!I`H$bJthm=# zT+|S+1FP)gszwtIfELX)CDRpko(pU^{{{@Se)T!4do2_16s%^g% z{NMtkkJb8Sm>^#F-J|qM=KhkBzB3DDzJ{}Z(gh&y2u={iG21;HMl2IV>H1;W+;hd9 zZ~m~p#3mu?66!a)OYN)V4lZ+(y>RZL`z_(u%HsO6=L$UEF_ea&V8kX3-=U!7h=sEe zKR66dx(|Lm@IsT2#o2@-@8*1~JmJRhyfzV3v0(_etqF|V+u5$L52`%+!fqT#6BZ+y zQ70!Hkyk?5{EzF%(lWA#(LPt!es1Jl5 z2#8A`KGm*{un~`?f<|0KzG|@Y)MzE;naZOS@_BLPZ#7>O_M$THp~}%_lcJK(-uA}% z3Z2dExS?rPP;~Y(`=pBs( zR&w|FeZ-&y=RlnzhW@Tnyj%(Ihf`L)ziJ^eF}m1$?5mlVa{e^-lNxdvj3b-vBiGk2 z>HF?`(JP;MXV<0V5iG)}`MYSwA>htwwW?Z&rz1HBnpyq2xF>vZs*0$9&YcA|%(tkS7^E8hE9M zgRS~0bvexuvLS{UA>yhW1QHhQiykctL|O(?6SzrKpe#OwSFv#+m6cJ1aSt|VqYHqn z5J9RPQVw1%kCLhlT7wcsY#0aAi~wLWn7R;v%0tyaJWVkPyB%;l2li~_`5;xa@xiwA ziOJcT-jZDL6A#}N;FM;Gt&1s*_cxp zIrC?VBErkhQjdAh9_oSe7J?qpcn?{wS<%{(f$WBc zUlBkV;7btb_?3fba|m+Npg1&n3M7~|?;^6?i5K9uD)8ojF&@%mwYCu6KKsFeGX$>y zO_$U^?bXUsQmscYwgbFCRRA7fJQ87%xKS*7OC&T@4Wf#$Hg@78@E2<@EruT0c?4RT zM$>q}+n<7H`!3+9&JP)(GYZYVIZY>4t^^Ar((D^tS(24&yanqe{e zN}5Ay+h%vkBoil#D~5H3aqhbKvI)r>`d!tR{Y@N|mUacN;App;!%)k60m|VK4;oh2 z`E?oa9Z>IugipKqgJYtTNEU*1A}?72lsIoQr5=8)OC;ZL_`7>_i#7_} zBk4if;X;71D1dGcfj?OW;|t*%E4*kHBL-d%)E1)^=9)-n6RB41bI+XAZ05RhsZA-@ zFowaa++^r0qDo7d%vlp}dy zhUVj(4KxkDEDk{F9Y)4>=4d(oe}%7WU{?~hfhn7Q6mz{U7Gk(m8Hw~2luM3wdW*f| z@A)!E+D%i!;Jm9P;@8J=n78frA)DcdWct>dhF2MD6n=VAxsS6|8oF3dfB*?Lq)rflCOLw&8(F)<`k@VYh_ z3RcG_I8WS(x`lgok9C$b{>4X3rX@x`{Vr8WZY3`;An9fx-)^bzQvOK(U-kxR`hC;; zd%>7)HISl(UeTlSSl6scc`@Hw_r0sM{pH{_AL%EVu?OI={}3@n%ugHB5)=wI&VbBF zYzOF|tp@*hx?A-(88u-)!*Kf;kag-EG@*}Lf{_LtH}gwECmc$o*S$KNxMggGnj`*M zA|Qb~%gR`;gpirr6El>1>0^6TdV@4c=Nofv4o*{R+sR)_tLuZw*gn@$bgFZ|{Eb5w^6YU4RaQfp`$MsI?o&bV&s%KEw_ck3e0nXg0S5B_TY z{1TjvT59Y(%)Z+M)$aQa78|OaH^-;7I_}W3yJrzCZL{g=Yu=%)4=)>4ccshjEd0Z_ z>a!BH(*L+lubo?ue1@;UsIFgFJ$-*WXp=KpLcVPmC3n`%yy$DS|v&a;UUil-MQcP{Ry-^eNO4Ilx+U`?}8Lu-9qo+h{7X`yhmVl z@2$XL&#dM6lX|zMOAAZvL@p2QLLT18=12i-SjB)@=7cj~WaqV`Of6~kI3L9wvE=Yl zeKFhjaDKyvuve4ri~x+K^+TpwF#Q3woSm#;MJA58rT7gys@ITueY+$17F)e}+tr0U zIe8<}`W_n|Tj;LHhs9h+QrSEM{J<=z==|iT8wpu){{h2tyMz>I^J24#;q0^ zFD1Qg7kbWNX)H|NGNn6|xxdl)D}VNW{84rmL24S}!EC)o!=EY2Dwty65I)+XwN7_ZL(8gqKDH!y^&pQdr#kmyqwRTYXb4%-lH^)TkjHf zB~6t*v*sjSHfbOhs?MDl9ejclT`}OC^g;#7AG-6-FEN5T;2sqdAU>AVsFqtVfqY6{ zm`kL9qH^sn6{Xvf0$1mA5(65|uFbD|xgn&L6x)7`doeh|?6B61?>%-02-$&NE-`Q++)lYy!hZdbJ_<`%TY^c zVDR5FO9^sO@>`mvm?rvCaIdFaw$rZD#>Zsz&i{eB=rG$`T_kzm%m^eOklTQk{fV98 zzw2kQ|G*Ms7WLtDV!tv?)iTGF3Zv7TpH6}h&@1)uZ*bsW0mSI%ZVdY0RjUGEIOuBwUXyztR80*A;Y5biM_0|U3 zWMlD%)*w) zR|Oc0HjJ0s`C)b03G^0|O25!F1*PEPI`Dw*B7dFpuTR9gLGtNJsZTWBQ918hTKzev z?aE0F4^i+pOd&PE2V_b%z6F*nA7xc3zvMJH7ivgd(khAh)C&KBPs*HdF&xJ$7!eYl zuO)qt-$1`Wk&PW?nW|J`Wknx$&R4Q=L90Z2GqkuF#SJEEwGe4?Dgec1Ouki~4^V8T z*{WW2C82uwJf^Term<`8TV3%7A9HZ75|`gr0`nR3(W{=iFpDF@KRDb+VmDQ0s(8H= zYCwfqDbqU88H40=j#f+~>aq4ipXb%IlD%*F<{!Z!qDCrMjjBnwR|E-W69d@3zti2K zq$~K7wR31oI&JdO9>bl5`{k@XD5b`_f?Oh_yOn+8fdSVZQecQx=&W%e(1Pj3!ef&K!YG39#(^0Z5pLHzz^tURSzs+Sc51#p_*+p9{9<^b^v8U1RV@7n(ccI2&>!^{o(=LXXy~Qc zsW9#om1VuyD=ckmd?i@6KXOoUJIy4GqJew5|v4lcrzV&b?Tx=WG%*I{mg~jQ^i)_HpiZ_TH(T;bm*)e$w=FOQYbfMSgb#P z38N4Qc8j^+Z0UD9UI)PC~^)g{`t1p9{ck z{$U>5j`xrkYR{Jr#igxd#OFhMC3Dk198Huo@`j9h2R%;Ki<0ZF$a0G_Y#NeRTrx00QG{Jsw z={sf}`1Z&mk#z{w+W|j81>@ouXqSF)@bFU$fLXzgq)vFlf-699!HtP&u+%90!w>lG zW5BBUKVt3bTo^9wTE+@azB^OXZ(y_Y%PCFs#_%Mm$;a((NCo;m|2EjF2{jZ4%h6V{ z;Py*BKBu}^u5RzZ!1rsVSTj|W?b7Dv)YV5$^Cb)2#6KMPhk=!39T~;(){G#wI24(+ z#2h~uV;m7^QIk>Zb|XCcm{du2<6^F$X41lEtJ|4C1tSIg|L)#ybsm+>2PLe9Y6U?D zCP)+6+pI{ zz6~g)m~AU-jDgExzrjwX0RKx)I6Ik%HXCs4XJg+DSWGZWudKCVfKpwG$pmQTM(ZvS zWIg&Ufg+Vu(^v!LPCWx*BdAWEV{gav9FCr0NEBe!4DHiS~3(mt<`IPCqk zQtQO;%F_?3+PQ)Q)gmo26UFixFtyyvpa&g1f>`|y9YNy?sY0ynaaWlN^{oPvAxx7? z-aqENt{~2WcKjn#?GlhgNsTQJ%hN)SUFz8cF*4SQEQ- zwBk|rHQJ;4*nx`LeEZnwk3F))SAX&o0SCe;@ArlZJeuvdjGZI)@qbY9e&A__?_HA| zDbFRECpy{lZ$Veh%#3hS^P4laIAmL0Ruw8nNe0@Zwb z0Vvjo8m=(+I-r~!G4)y+1$`wSQ?dsyB%Eq%#<2p?*l4CVrA8MXpec;7`JG17ZwnQ@ z@rv>5gw$9k@m6v%r8499MpRD#IZAT=^eIy zNAV0gv5T$^Jd*rwR37mTk-tx+PE)16 zr>UlTpmaOt3-$GF3v!=`{Lx{(Td^+VuJS=~6zHth#=2URyeu zWOT&;>Jpq4%@B=*xrRL-I5LmW7<%48d%YbpU%jzDc7*t~W8CN~E0fN>_!6V+agYD2 zEi5SQz8Z?xz1x;A92gNU)>^PIm~cVsnialS89>2y;H!&w{ou%B&!Ba_gQw(4e=B|O z#$r3iSpY9O&i^HN5-)V&ac4AMPLnGv&oWR9yxKv^YG{Q8g|pT;;Q+-rJL`mVa?s!ekdq*Aeq$1g4XdIF@PXzUq0}JE;uk3vdTRaX-l`2GpCX&J%6($*uK)^#sB9 zeZ#2j*LEDbq|lIJsbZS=VM=VV;j7Q*4?MVz=~`OouqJ1{)|So+nGuJb743x%uA7?V zNSx0bp@67|Re`%7>YSUbA>Fsd#Gg&yYK;-SWEsvh@w$f1}AzKPC)3;UVa@0ZmUs z5x1qn+`If*o8!{EYv+D&D6hQZUoq9R+|yBNuqupGKm-yOtd`VncQOw#_W>_kdTLEo z{Ad4Af1JwPh)}1V9f@ z{%5EAkKeJ|$O^0=QC0S%HvnVgfDY(lCJv$L0!N*hoM2DC>jpiOw^=PATC-h1M>MGY z`&s*Go<8S+>3U~?2c0p9MU=;9xatMK zZz*TaPt$Z@E^zl!t0BZ$5oho>W`ucs7^q(l$}F<58K6ekZ?&|BJH;PfUc2IYq5^T~ z9eUAYjZME8!QNer?-XSb!0rx$8b&>8;BU~f|3GCHmOT#UrCl1EK+MmOmTiN9XWf%p){wv*CS&6L>thGHUVST0C*R1hs6J!`s1bfk>C#L1J~` zB3y=e0Jbkhr#k?1#3K_v)0V7SU{8(w8yyPSCg<81KlB zo4g3bW3qK4m=#8oDQ3lUvOj=HDEnt7L>cNZ7cdmEK$`BVja23^crGK zCk-Ihtp0{rYeoSy7%SdA8Qj?nioFv#!C-(ns=!T`wMYkp?OH*umzxd~W;VbxfL%l) z1V9;aYq{;RFe}&JDIQ0m-@vnRt%QRR>dWdP`U$k=08g~uq1XS8ie+d5a|ZV9PfU=E zZ!v7rcj+C0@CbzL1nfl)4sxix}F3T6Rkmz@oAyVVM}uEbK7~kVHwze#2Y9zsu_)YnH_Jc zop0NB38#7Na~bzA(XN%Q@`D2beZ{8%@b}T^Z=_!tA(M3g|KkZ0+P!7lF&p6Byg>*E zuG#TDVi04R*mPO>pMJPV-Bild2SPGo+rP;}m9_J24`dzcv0-(7){o(vqQu_h-Rz;j z+L;OK%bJ6M6`xUnxM;cxs_0ljziNF393EUEO6m4r(=ZQN+53{tuC6Ds^nDZ2yP&G;#L>aw1!ga9u>h}g0AS|>TNiD&+Q3t& zm~m_n*dWWg-}dqh7F}*1PzCM7Vmjs+0RT+46R;*&2L|o0D(G}5NOQF9+ym=j0Tt4>icj_K`+^| z1odG37lUvek270H8RKd)3Bahod_}S*&J$I9>Kx&v#Wfc@%hL}H>UMeR`EV0vqa2C3 z{wro32cnU<54jRY1>SVz4KU&9VK&Hrth1E#W(j-2fw_^;F3Z3~U|<#}+QbJx0#D@aH&e;@`aoly{nJ;XhW&(hljbZix^S1JD1c<>P(vtT zk8|lR+L?Msx!7M*wC-EMv~Y(>MbX$6ToZXI*6SoB)jIhun4w+8%~k??%L&xI`k=fQ zp-!y?3(@)UYHdJO`Uy~#Uc?B}U!h$<$BHtj&ejkV$>jvCW;aKO+ZO*aR4jaXF_HDr z^LVq?9Vy>fD0SM)^fKM$zymbdAP>kGeaAFE$gd4$d4X4n*)oYigi;$aXHK3GVYX@S zc!5~`77iG;v}R@$XvkYcD)E`52)S45d;4-=*>(PY&+i9yNO!hC+tK?-JvK+_hr^dT z>E|1LzP|Fj4K}cs&brj0_+6v52}JB)RG4V;uAzoJd*))_fzDG`_eV|6aIJY1~ zXH%Bm&aMzR+Z2w*uy`J{D@BNS`wMl>w2t? zWCNss{g<)MxeG=BhPNj4)tb-W{gP<@|9=LF_ps~A2X5`TaznOK9XgZH1O$yu2VDj!R!~wsg|Ft3W$Xz zcU1+0ZEkX=b1*xLm9!l<=(`-fTZi);yPlzy)CMLQ$b)HENEGwIDbR4z0*Wqvy6{oR zX%e?A(g9xA0aP7Mx|}CLvzhxpJt$1qeXGan(ft`ks#Mji>K5w2sO`Y^b9ihHpBjVO z(r^VYKU8dd%;=EcI<1~$a9N*5Qt8d$R=B?nHK~*eB-#)PMf8=)vNzucsBvxsN@|0A z^#s=Su@Zz*xNE}UR7RG!ELF!t2WSBYL8zPXPWXjf^4in=cEb2WrIIB zkX}^h$KX$G)C|}`5c7^hd!z%;IS_6d%cnkustzdY#$2O>1-Bo0V(x98bP{vL#`feN zD|<*VT{5~J^Evl4inWv5V?0P&J7Y$~<5Cpib+f4y3>KSB)Y(eI^r>J9eodIA^un#*VKT!%`+u6Cbt z-i7{t)mn1jEZ}1R$R_fAavxN6PTsa8_Sj8>UFa8{!Uyp?-1e2cR|nOzEfQck1(j-I zB@zOL9o;{lFDxX!SoHQx@fSSvN(Bj$>v5YrTF>LmRzTN$POerqQ(= zkNES=_u;exO-PF~4@`$;Pi4ssSkZk#Dv+ z9aENxz|>E5$N>4VVXJsrS*wMvbTvK^Zlot%MQMNU>LhkbH4n1tJ828l?k-dz2%Hpz zuRZzpejquGx_I;KQ`Q&KAR;ekjgj{lO@7sVr0meHSzj}mMeOtwqB_gQe&A3iyxXH+ z*QU5ztKGav-pTr-FF4J{?_E#<1g=SPA59+YH^bfebgTaR;cN<7k8dZTIc7*|!cprO z@S^=+=!&Q1gpM>kLh?SUaTA;b{K`1KNp}K2xtnO0+}k(Jm)77YO|DLBue;eFxZCFa zMJr83mrhc`6lyVYGw6BAa~|uOCX%n{Zu2=zu07qU?y$A7bj**(dbCe!X{So}KI|Jw zJX2cNIR|dm;w4lR2alX;?;iBYeRAhi^EMGp!a2I?@WySxw~L+ce;ZP*VVZ?Kl-B1* z&Ehrb8q7VUz&V>gw0!r3%DrQsW;;IBEbk>;p{f7iI3N%5S-ItAz_?^IK8e6j)_K>n zc18>g^igly6#E~$JY!t@^vix({wefs_!9#QCUwdUmB;t_G+QEl0H@P6U;y(;U(sa4 zLApvl=unGu9$O(7Ka`jG;^RFW?_>~uqf>6d%9(0aQU@LDTg(YrKVIG76@&x+VwGVb zztm7dP)g>FoRzWXAuE^tufaKmOVF%%7Ot@Paa(8Rp_qsM$2Xd`c30-Z+;K-^dIKN& zs5`mJG!;9U^oMN0HP5u5Y}Jq52izgWRNs<5zSO5~FRdhlb1n9>HyzS?xvxC^@IH1{ zmpK&7IM6u_37!$!{ec-3uO9(Ru6(EaNfr;eou*$J6nbsScj8LMUu3?s-l| z+xUn2hJEr$5c%B8(KsW@*uAOQiS> zS7zaI7M>=<&w8Ta2GW*U&@ytZo!37b`UD!hnOm+wlZELqtPm)tX3}eQ*45?~bc?w8 zn%G&5!Pz07)#a9F0YV#7k9)0+?p`Y(-0XWezpo7-Nz=C^e zk@#1caL#cZ)-JKDOla;z>J-Qa?TZ}#?9t;Z@jdn=wD7{9k#G?YJbnLA2Sgvb$T>9C zq+cStY1eI~RiDh;i6H9tMPl4W1eafWEVczN9y_SMMs#7m?dJvjW8>>}5nkLJ>~MBq z0d^MEgBWJN=qKC?;2Y4KXaYnM#+Amou;kQ+8hG88<=y3HVp7a|In+H}4nnhqxoCys zuDbbcX21tKct((-0EovxaYvFSW&z|;(k!_vWx+sA+6NjVPN5x5faxKd$jLHwsJadx z)~GJB<@2XXbUESfoDgZiI~5#Tg^M`~0>JGbe!j`IkqdG_FPnFRm+=^L_hKeJ3U5^b-YvVC^krRYbGQc<6xC(e(l1ro@1ztv6WxL2TngU1l5?Z_(6#;WdhhN zRTS&A&+K5X!AHZ|&=Z0i}q?{?$V1D$J2qmT5X>GDb7m5e8mg0DG)cvw)}Ee6X;(b13~_X z5F}2j5A(D5{(R7kD6-qWu?e#oEkV>voF1eq8G!jS-CfH8 zo`_ioGO-rHMGzYFaIKB;a%=8t$(5Vd!XYbehzeg^Z?SFSNbwyjaZ-*+d{9KRopNr0 z{5yZZi?vn-f5`pcO2oATJVBR74uem&N|L*%%(}9ciq+VOIBDZvx7xck8|{#FZ{|Z^y_}VP?bmXo&Hx1QRk|?8 z3{ezDOo;|Qs#T;tt5IzFV)}V+ox+W%eYBb)j=NST%by}VtZxy-0kWzV)%$EnG8X19 zD5s#F9Llzczk|OY6)U_dpc~S>BhB#My}*qT-m%ofs|g|}qq1d69~Z>;Y5@rg#P|Rm zifa{uhFTP0B^{Rf(vSfQ_9zD`%mt#v(mG%v(au2Qm&)!*zBI^U)R(HS`E%t*0g%W~K zG#lhnZGXM1Vd(b4SM6bfAKA55QkHC7KEmT@bh5*?Q$X(I_<`*CT{{)k4sXvqa4=~z z-$SoQXce&8ZeiMq%Z6iMX_W)P=!rxVT0hg!$KuO(vL8u97vD3TcKt=GUR$E}y+8m| z47i#u@=121t%gx3?=|b!8Fp+>o>>03(3aq zjq9!QOxJ0WHFFudf3`~>Cf-`u<%1-2RrroFPjwXf8h*NZbt>UzgG|MyZXM5a5gU$# zY3x7FAwKk)|9$2oiDMVaU6fN|pMpHZr>lQYSFc+nu>>cs!p-a`tB#r*h1hLoeS#}j zbZ@cp1>k79FUS#+&HAlAlP4bfXaUuMP<>Dwp^*9_d~f6r4hX%dOa~T{x?bf?MT=VN zAlM$|yeEIL|NNjWdM_b-jCF)kR0+7Y3ZKdWl+xjtKT%55Y@cSJoMYNi`H;1kUUM8& zq#U6RC0l=avJtdZx{lWQ5KXZSFRi;qDMr`)6cstwAPJUzA>o;xf zM`DmJ>D%xoUtKSJ{n0?I`-2T+r{GQsA*xp>RM~gCA79G!j^5|q!eiEObPU?i^X*@? z;=ex8e}I>FSQ$Hu>r=1Ut~7@=da~G}y;2n3iIIPboS0rl^k`p&Kd@6OHf1Qyo%PYN z&MQuGRs@m8XjWJJ?Ioj##e<@{h=KxOCK~?6=*CvCF0{okaR;XM2 z!3p+_{D}n4&d@u6Q9Rz2EM>o^jAsjupYMOy+60^~!twU6M7g#{@bs`r+pXt~DBiQkj?Xd+y5h9Z@bUX=v!lSste?wEQ;1wRm;DHg zi`ihPkSkPc{QT2E&>{bQsMXK0>;!x@ntxhgN^5s+mt*U~9Ve?2EPL#F&59s1(+V_- zMycLanM@6}4z0W#@`x_F=z5IVW@{`l*>D>SB5Qew-%lH4YI*RF048b*A}FO>V3Fr& z{t4Urxv4L5<`uamU8No@<4xXW2+DAJlpnTJnt*6l{Erb!OCxBOunthLnFX{~GT@8d zfj?S~7tqg?j@5seU(A$guj9QwG2SR1yK)Yx6O`5K(=wTGt z$2iu7a3=&CfvWU)bd@w#j#kRl^iiN;M>dn(=0tD1>8=mTnRPPT^-@89$mZ&3=-2)b zUNSP3W|M~{U28(2?MnKFeKF+dy#rNwXcI7ZI8y_vwi`*p8ID&h1z`ifD4Lw>J zuCGW}iw65X{-5^!KqWVEA2gJJmJk~ntlK}Q9G8OTqJ>A0jClv;GAFiw8)f^Sb*74x zJuhT5h)IWMg}=AC5p8pPqvQ~&_2zrHF1buIY}$4F=`=6`q3eI$!vFL$KbY$A%Z$Yb zgN3%B-dGDU#a0a1$QLD|j9_TJ#*`Cq<}a@8*Z=H%fBx>b5sSlam`RYUI~6JhSA79N zGhRWd7p0WQU#`5ii7vc(_m7c#dQlRZ7h6Y{sJYLT%TVacgM1lC}($Wo!nAr(XPURXhV2U0cWFHJG>HUpb zD&Becb6bo7Eqq01rVA8RaJaR#{3*J|DA5LC9ep%h4V+joYO<`8LS%)-64{Ss|6Bz( z#!k#mpQFV<_^xdEUsnHKU#`;*W*GMg+%$cuPs;^d;g<=A7%Ws} zNE{>8vjgRzWfA1k6GAaClt0nLxHfSkO{&UFyHh3boeKg323Cmv^ihdOX}PRmO=5!e?a;f$AZloQeub*h5|- zbavgpq!z-S+7tZ;!Xobzv;hr~>TVU#kK9}8WHc4|e7#EF^eb!Byu%ZADr&5clh%y*_Z~Zg?7N#%?$(F?Nk+7kJO9+!-DB5 zaji_@d1(2(;Buvp)(v>YsFTSn#4ONU4_=~D+9M!u&mHU8_ngNZDE340#n&`ZLDe{Iy}n>86fu`&!=5Q=fE`1(-P%shgDEgv{{ARz?m63{>=V3bJqP5nQl6b@BM6UTx) zuyEZju)rP;OEB>d)KCO^@zh!igcT1orJ?*Cz>lz9l3`ciWrA%NP{2N(D|^tvc~F*f zI=(l9btRH*<*V%^Rv24^f93Go zcR3n0?Do{RU4B5_2c|P*K+doRcYRG;`}Ba^6cB_+n_?h^{=i{4-Hd+S#ZdZ}U$6B1 zLIWpx-DE~}HV`BiYd~AiI&+}q*Aw?S{CjoqO&Bkz%D6(A{faWGM-g|KduG|bP2Fli zpJ%5t>uwGDt=l4=CHSlc-HY0^Y_LN|a_YV&y3xJ9|H=J5SoW&8HU+P9Fuma!HX(4c zjRB5NLC&DH7pTc5I_RWkC+D> zKt?eHZkOcg`b>98$=@hIz|6X;Mt}(ZgSGv{#}4XC&-#YAVcP~vfhCmLenm6opmWQhdm!ohfyEnd2#^Pe{HxtTD*TU49>lrhl$M2Iou>uOii0)J zr=O*n6?`8nKXPXeb#&bYhhF69AnkxE3k!>b`i2#FvmKUUS5C(JT)uJ1!htUSvNtmI zbfbJzIbhCN?#2dhmkp?UgAc$i4m-`c$hz&nDw0>|1f$ndX!4gJi zQfRh@Vm~@kht0J7c01h8RzKmGfBjvX!BX7@nKNo8=_XBsWPLP!C(8)T`~@BvANoA$ z)A-T1dVO_q9zyPC5@ zt{-SMTjKxumOwL4rgomp|$hmoSMMK@)!SirEu+Xi1 zaO^F{IGU0(tO_O%TmWlzQZNq{SHOn(VUTH{eG*}CS-ZUAw(9X@Oo;`X_cI!T4a z0xz4-C=|SsE2%df4nzNP%VGzw!Jgwtopz3xpqm;uf{)XiCfrgB}wj?vcZ~J_u*)*r=Q*!_GZT z-d47s3?HE$kScv8& z9_;Dd$5aj>t$W~kB!8~;8t>>bJ__}dv=TB%#4%29koancCiek^lusn5_O=Y~s{`E& z<2Elx4z|0DxmULS*Fug5+?jt#xozD43lW$C@$XMNDDhVboEhid{||Y4=?m>(4Tdj+ z75Q1f+J4*4V06n)$Z80h7z7#ECM{wR?ELQvI4YNnT3Vn$;|Mem9@Vk65itLyvOs*L zA?T|#;u8Pg-Y!6c{323qWN6MYZ3ZLXUSLcNVb6v zdZSrWneS|OwRT!w%$D!2ScQ<$6@d5pd3o_TfDmoCNReefkq0;m*KR)FW{t#+Lvg9# z#L_syv5ui-*lLiIJ>wi)S=);$E{@MXG|Kr;9-`Hut zYnp%SfqoaWRomHmO8deH@#%`3;%LqDDJz2l)7l_+8-*C25JBM?%QmzmRHXuqz4dqo zR{=Ycc-l7*eIWKrsh;kDFB1bxXQn08Py#T?l}2Fnpw6|Ix6?_FZSozKRI_D8?>TrY)e?W&%)gr+ ze9=EP%Bv;f|5VxiMUh;8hn@A|XE9l5df>l)`C5oRc^YDXg(|)Qw`6=~jVLe9{k|VN z^w@d#d!#p9A`5o%uxEVrZ=oX3;9ANRc;GG+_loH*^{GM&5v)jM{E#K=EYvuZ3ohi~Imc=kuuqO`3H`9wr7scXcN!+uzh5g^5ZAg3Kq5FM( z&1zKj&pf4bPJ54s-IhL5hPYT0Zb>0KQ&T9mfk}Y|lqlO;HT&l&L&MH{(HHxr8LG0( zuJ1SVxZj&3$~(&wN#7n^YThGjA6(ztY0Oze6rnlPOCt1bYt)idyPF>lUyu&SUA5M3 zEY4+w1P|iZUy3phiGDSG=G?idHGJ>cYLKkiiX2@HOQyMyTV_69oJvpAEND9;H((^} zI4`9BP*Z6N4HV5!TgVGH2R8n`Q7|p1e~lrTrb395{ct05_}g^dJdDx7Vm}%uUpXU? zm-}z3M8TPV=)~c_nc@Gz%|UIQU0|MWrXWWS(kz#1F4|#ilJZY0T8ikYU7xEu!BWQ# zTdtzx(Rp=vb`bNVhcUUREApbbv1YE~OHY6Xk7gjz%CCnH3}+_mo5@Mmp)K9)idEfT z0xxGwq6(z*IJuaod``p-r`E(!G(>OO%NJidF{V*>WN9M)gXGKQwW#$M1-p!;?dN30 zjS;CkfH&5YIULOJ!70?3)VOwr_7A$&)sJKvW`E`~z4~uDIxEm$8qVea&hC)fA#ROx z@DZA8A}zuEbb+H`=Y{Jg15yndn?JM~oMScP+njqGVEu(^h{|U$?oikA{+N%ZaAVY+ zz9mgw;tu2NGbsyi2f;%x1!f5@8GKae#a$$0YxS*aj?ff)r;e5v7w;%~^U1nz(5VL7 zLU@61LH9bt7dCtxqzcB+N%;}Ow?_^(DqG!;nf9ay*hjs2Em5c$^Q#s8mwp@r_17Lw z`2VT~|9w{g;^$-Vml)g*csJ_F1i3=gJ~<>t%ga*a!jZ~7Dl&yRd z_!qvMe_78~h5s|m=kJUEznzzcx&pF9VuOIP}06bK23qKJ`;e^4--_NfG^=CN?(L{05!w9-rhw_|CmAu@zOlM~JTcgJTy&+Jah6IS9I*emx`;bsO3;ZK*+1&G9hMiR~8aKXJi zk7tUjr_16ye-K)vEekHO-EL6sAK@x9tPHz$W-CD?*-TzlD-%SY*8p(DyAHLoM&$5T z&q9bLxB)(e0tu9_=g@4SYoPsY3^CU#qH=6kw-t(ffLL9IpdI97J;ext#77j7Ax|(% zWkn&sgG49JR1elIUIMv1Y)BeF?^P4?(6zqc37pDpvpjCd73v+!88&sA*qXkV^Wuk- ze;m8SDe~nl z54D%)o(G)jJ5N>omMLZ+a?UlST_0fp%psl5II;*vEIoryz`)YyfU7kQRK^XXSg$Tb zf}|lD?h~cpXhfOsWw*!Rr$2UrGA)-8kQk|t zC@L2gC}A)^cRL{JkQ89Q(KwMqvxFTa3^AW&HrhMJ!O5MW=8g{pjJzkA^~56QAdNjK-}?G2>!qs&eM;9ei;5~&U1c_hkVrEHg&h*&n7+*xQtn+qugQg64TS0N=3~Q zN5!)H&KIrk^rp8<9|Lk0-F&diMR0ElBZSsBB>zwu)gv`3@#TDj=+wP4UzzVj5{&Cv z8)K=hG?_D*6FwRg%b;>tW94j4?$pF-uuQix(E&`ZNmL&q&!BeZkGQzY%q#CGtdpOt z78N&K1#~>wMh&#+kx-!rER5Zeek)RAlmZOshPTnDx-DYa8$C_tIJ50x33hhHmF!8? zduG$dX3LA_2BJ@_?}R_!vU^1{ogjqTM!b!FR;KWnr8Cm^EH2&b#LnUcX8F}>=cpum zj&H_V5BWZxF>o39XOwv<<)i`a6ly3{)G3KSX4l*Fug|@1IPKPZfI6Sw4YxO(R`7l? z2-Dfh(HJN8$%ZRE#C`wLcr0>+)rz zIaoh^<5_|%>B5}11^8P%XsoxD{lt+NN%}}Q+FpV4hqsVU0*0nDe}lAVft( zL5K>9NQp>ON+KNuMQSKQ=)Hs%QunzloN?yJIrH3^J9EGL-RGM>@`QvWd+&F@tN+$- z^;{hn)n(K^Io|Aip?WdWdx;?Tnk5F?Y};p0qa;Xy|4`~rEEU#H#g;EIY-$|t&u3C= zM-r@Tk`i_9{Wu)GN$N`bR=rQ_aa9Pz&`HXzy4YgT=)9gF)xb#o_UaSC8m>{B4*FY` z3fTouwo=oGyqGx{u5cfQGgoYC^7_U8O}?>ezAv6UHe^GlnpmE~yW1Cpo zXr4Hj6?@VDyAKE>CB>XUEx(UwF?P(sVhN}_8(5{roSoSf%)OuiFEXt8clA);+P={4 zI&@pkDM(PC7PL_RfAVOc)~a#eQs)m$J$9NrhW3$jGbgWAWQ_5TJLv6)s!Q$OX(#8e zkO3+l+Zu_CS)p^G4h&Z`@!pPimrSc*$-{_Me5yyKXG6!sv(g5h!Hw53m4`j~Tjw#kPrOfv-fI3e0)#+^hUtwl~ zEZc8`mb({0oF=>$3i{4e=Im_rYTX)AYuS%XL=tP%3&q|1Y;fLw1EB+2Mbq~E+q>{$9es%-&G{jze={akE(!ofX z?8hpPcU-<^AX*dB5`i}keXRGQ8KU;L>;HPeNu<^!Fd@PVim<}H8m>zXEk35o)ErTl zpG>-#1B@9{F~}9PL0TwP;gj~eoHpjzhQ|)*)qsG|f9h5@6=< z0wfTdOeHGL8Q$L4cXLl)r{TH=UbO09Z7I*S3dx`>bSplz_*1_HhLUa+JmT1oHQw4+ z_Vg;@;?p>ie<}bU_V)aJEfrxcBkHgzSckQX6}d=yYG9Kl;%O&53KiI0EZjHMe)@-& z6uuAloEMft&nT~JPmxEnx<&Z$r*TBpEy^2T#XRC}fE)Eq`p=$Iry(isXuyO^07b@6F>RdAdSJ7%lf`9-(fO4oPfy5JkR9s3$A=f8?M)yYttsM*7D zkBBejt^Qz75>t6nS8p)?P2xf2aJ?@skFCaq9UJD3<6~DZW_&NIRCEZ-d&demVZ@)~_(q&3 z%efhvbZVH-I869*xc~t`M{iyH3`-tljgJ-;{}dMsdGyW(7;G+pjf9 zuOLdkR`Z;FjNxw5()W;bX(X6$6t^|_s4$u}Wm{nsGJv=Aj&2*_O))C?Q}axZoX9V0 zc<=h*@snCM@h%i&>@mSB%B6V6Y`0@_Byy)L~{rnc$i?x~f1 zEymf&D#z*B!c!kgKFPm5JffriMB&(hs3Pse#}Sw7%gcp5t>S~LeV38<*V_Ev^X`?)?u3f-owkHc zV4*d!yqmG`;aj|g5Z^ehMp~1wFePIP^o6&LlK86b%AZn9S^ZIXUyy|;t^yvrCIYU9O-I@ z#oZuE86NK$9p7b%@q)}5!!CP{at!5pO@z|3hrcorTD{*eA9<*pr%{1S?VWQsZGQG(6F}g6{(+|aX-$9i89bF&hcJ>S2JGr;wN64vNQ7&1nNS+fu4Q= zpjd!x$0uB=CSX|J7`_9I_L%&(auN7j#htwP;jg@E*wH2S7zci|%04N~mbY$>yD#t? zWTP%3qqV_V+jr#LurhD8E=e`g@htuukrl4rmABIJF!X*92S;`fq4jmjO5^;&ow+35 zZDJmEn>|y3xugo4jD;ICtHGhE+jg-lkuyA`gzP97z$=}GVZQnzfPQ;eAb*9c4=(0GTk#%LYl0~v-J3kQj42bYpV^*d-JL8 zQB&ZRJ#d++kN(})GP86Sc6@pR%somFZ(>t&S-6f0)-f-IOSoKg<0n}?NnWN^Lz#-^ z4c**J6Zy)F2fQ5oXN+jJ)JxE4U(UqdC1xljUPz2)Yw%v@`taI%K-x{ZUujE$8gi`FwX8Q;=zb?T~>AU1h@@kUq zw&5R4(*3B*Q%Mpm$DWd!)WFcFm4t!dptZrhUr!$%UQ@RwU~8J1bk5>frPF8mMXx_& z?`Z9-q{w?IRAyg&nZc1ubdcS#y3G8m*6EE-%t!fKCW|~I2NZhF*rtBxgF^au=ddqm zrw*MKP(A@~ZxJ8zO8Q+%^Rq@~BDcMDu(zdeWWe>lJMdR<`t;x4V%*JWDPcXUhf&v2 zB#949ZI)Yn<+y>6)AcK|4^GPjm02C%?p4Xgy+!grYk~&Uk%wqjVD~?F1w>2i`D|ws zR~r8x)NTd?Pq5GSJ>gW5p?6K+X04fIUrDURjvLU_FUBr zj=@Qp{~|=6?2Fh`G$^!_gHSbASYi0K##tX~$q$(A?d+;!F|)^KOXPOcQMzAeI)8fq z%yzH#&Fk&ke-!BGdW(FAPFs;6%s4$C%i4hm0Af296cO1YZ6w|rssK4x`CcK5YcJL{ zwT{%V#|fLw>w>iMdRFBhv-a`8le{Yq7Sv^g^uh28R?16y6z{K!5kC@>svh~|L@smf z+t3V!r+eq&gyvJCUVkKqUsN!;(Ph6&f3M3T6O*9fJD`+RM*e3kGL$R+c`WjUKI})O zXR72z(F2vwF4=8ycQ`OYse;id-Q|mt&DN|R+owRoUJzkxIL!kd445HpsOU^zlS&=L z1`;+`f`eO8H==lJLRjM+YFZ(Ir0Q!Kj9(tceli|M9`F4M6n0BQ&hzg~jtq)4QuB7D z3`wA%Nk`-sq5*a{3f4Apo+ob~^wgT5W}(bT zFEG3F?f?Q50ftdK)`g23z`KZx}ZQ2BB-oL85c8A_Ok~7WORF3K-#bkIaHd zG8v-QK6RYSS>-{{Hge6a818D7KW6de^@rofIrPG?c&$bvqoWrTMZ!0cb$s|x=MOLV z{@E+ki6lv0I=O}f5fOT9K@onk2>#M;b5f;oVte*bV%u}XvPQM@ z$J`9tb#vP8Ydcm>Y6NaK99`IHwP17>rszZb#KO`eazy{fwhca7b+%WMqCeek+C*3OkYaXIY+Eb_(hb+0*nWq^0hKE`#9zT5!34|p-kfE)h@><`XDP~#^M#nYI zZ*=iKSXJ)XZn%f|RTRHepU6EE%O4=f*Po0>zxKQ18CVs_hI2zY@<>jr!o-E=Zmv3_ zF!zvA*-GbGJloJdY%=IYYTGvcTg|mGDuhc0?>GJYsyBbn?8w{9jXSZD0U;;uM)U^8 zitl}w6x)x@-#15jk(b7g>|G1bWokWlvVO$V-BWvncUXQj@#|)CMbnk^iu5D0f?3)R zr(G}#21%ERvMx<5+`~vg{$$D!o;5TAvCqUT0saHIN zX>r&wbvJ7?cO2=>#jDV&{*HMcxkj4WiqOowiZp;dm$o0iTDfuCFJU@Z0QZL zcB3R0Hj*F3G*zg2;t4qnU|l@{{^=}M6S_zbiq6^xpm3yy);*@&AistSjX}mvs$jT6 z$dIiqd%OB25PfA+XNG_Y) z@h!vePaE-Ubov(l#gi7S$(&5gJ!H(32S0ux3(J=dt-xu+By4@EFLqGP8epzfDe=6$ z9y{ZBHvC<1#p5P}BITq2(%4B&IM9VaDu3PNU30n^w)34^2%0aBaP|(&ry9fpS*J|r z)@j1zkJHEb%W*}Z^(8_;+^YlY4H=}$*OYuR5&QS|{3@_?t6l&p@1#$;j4v8T8pqLN z`GxpNpp8~np9q-oMqBP5v!v@~`dB+*e-3x-lX;*< zpQ1(Pe`bi}g>_|Yua?QUSz+e4W2N_)FU83}u4PqEL)sLGxirND>tUqv9z2he%<1!7 z33}lcQc3~G8&gQCGf?73#uK#lN7Y(s?fy1X2eTl*h?0+vpt?)svdpG?vli9s#GqC&t0Q zY{KbHnNtme8bNT!oVatqzk5|^A#TwJ79HHn$80tJZ4iJT?J!=C|2_6q7?83 zzhwsg93H!%{|)^A8R?SXhKaGQM-k&ImhII0X?mJ1_G%_em`isp$IiZuj|*k1k@tq3 z&3TlWQ~m&1tvdNa0YiwN;2RR#8?^Lyj3cimTzR6at0c7K-2x_`NSv=)ts;9vWNQd0 zghgCTL0vN5&FMt)rxTTD8x2+k=w3^>hxtJ(!7z@BurZoOu>AGZi7Vd3_ejak4)has zOtq&6)UZui7h9UR><#}phSW_simS#lj_%WW4ctrn)?=Oy90oq__U9*&-VXdO+z;Tc zxxa|;Lp%W6_4c-NY+uiQ|&H%&bszu83M^kVmlbi+1elXoODSfO%=udB@VZGoe>l-yN{AB`^PNNj;(xM7Kpv9c^-zTTtDscc6}p6dqLX! zu_AEfi4P(ZkqR~Kq&AaD>ySKrQG73T*E^7%_KME}msx8+oLw?fg8f3Bgz$!KPW#B) zyoY~(;`Q-a47@zr9ON#~6Vo_alcpdtcd3S9X4Y62mCkgNJob4t>w9I9GqQEm9OF+< zl}==IV|>r(K98q7NtZF?sy@AU##WIzxcU3?^o4t5&vR+yYlAceSP zsLM%;mEJ4TT=+J3E#~G!@El&MUZ?&BxS|mGzFN!aJO!4Mi<z2q6>`Hz4vVN$CVd)srNs)TCVB5e(FT@R;{X?$R&}ifgTcTOK?0> zq@i%z-Rtk|cQZRZd`@pduZmPre90h=t#R5XDL=9?(YE2vln&r_&!g3!owO%S326vmiI76w}YX0^?`ky29)`S_T4Xuv{uF6=C zUE;k@4~w=3?t3j-&k@RM5+f8+zc$=mY)|K(!$mtr&hm$Hzh@jKfm z7sGU*ey*X+cGKz}+j8;qIms4@s*_u}9S7E4lGfE1#mjifRJ!<6Tcc^NV|{9+HeR@d zJ)i8YR}5k8a+@EV@4P;8_L=H`?%p|4vy^_9B_TLQ7Ri*~^h5x8GbW*uVl=ZAy=-<2D8TZDP<-`o;zjoy5T(Ebs zX*o1yq^Ha~ykjhE)_6v+a6_4!G zCXBE)1&7AN5`IP6yA_r@3`J(>U_lu$90opU~T5y=o#yO`WD7?HPmv$Q8CiOhn`_jjvV!vw2CweF#`d7c~9Mm))foJ8QJW z=k#%A>)jIaVe(D^qrHHKw0znNndz1MFL?bwJfyRKxnmaQKwOQf$A5GxSj=xS=oMf6 zk|P0bQNo=ZeTpOO#Uy)71Cm@9Z=GdZr>dc_W90rJ7Vo8M;=*y$fN?p;O6x8dD2ms2 zZ~OI&zn<|%Kwh6p9Ktk~)5S_ECl+VD^j@su3?dffm4yfC&0RHtXcQ4NX3b?vtz!9{VZg{fu;Q@)c zu5XfXt%4cp!Xmkb3+)Rtqzw0e%(NV4$Y5&1`{TR9Qkb#XEYSBld-A)FUG^7&io@VAQz3E;`^hjo29XU43{RQtb< z!n95N!rKZSS-+u*Ac-*Z!N1SH1F6XhFCp;E!83f7<1yqeJ_yATIZw!G&K2P=9iZ8F z+aoJ25+-CAfYDIcN&HS`DLU~&Mdm`#C5iCY0l5hglsD8vXYnI6x3q%m=;q6zn^h%B zYrKoD>Um`JplW;m)`xBvsy<<6d{u+#!uJ_MH}h8i&;*o>=%uPA^9+k1EuI##9B6B+dgBh z4LOo&7~aaCfPaRbjBAANqzP3!ENc^ln(Ycu3~OszO`SLeiNZV^Wb7D*F%*dBY`c!M zsbJZ1MC)6qE8pwRq=qy&=KoEnsNxAwEb2ffpr<%`t>ht9hF^O|P*@&e5lvZHRX4-) z_NvSqKavWHIzHDd>j;?Su&*wj#}kKIk`v1B1C;Dt(wqdlussrXCYG*{%p3Y|7%An5L&T4Rq_r5qTcT3boV=IWk-)W+n@<%5V)!(gCDJ z+w*bAJM~*Dol>j6inAVs(j#8UW5d6wzy;lO-fH_JTx@a0(t)j6W{^7w6xK=xHcOV7!{dHx+VBs3X@ z3g1mY>3`%)}EJ#w#6bj0b2RX~WViv*~eQ^-v1g7%>C0?gk_*Rko;TpD- zJ&dHt1f2}wZIxG|FmByv)iG12aCjY+M%SZiSdc&ak$OK1#->PGAYsihmv*T+>q@V_ zJ)A`z42iR9#CqMWpD&a$>kJIgYO$LhmP;a(r)M5g!>-}Yj@`C9QEp_V?GL5Za^MSM zuDM|cu z3~Pw6mA9)3n}N!@AqNDaW0v->qC>qF|FxW+mvj7u`cF8`vEXSm7ug5fn#MWKS8iiw z#-ndNxkuL0Jihc}M~is_!R^JVc zFZfRWQc(`8LAlp9?HmXkgkKN70_?fn0|2{0J+m60mQ)>v#T)egiS9#9D30zu@rQtr8 z8D`wrtS!6iOZVQ3kMvU=mM!|Ad1qnKR&}lkx~Pz`mMc_1Vtm%zVV!ZbPHx4(=%H-$ z=BU+P%L3(fvGg9r9X7OJ%`F_v{Nk88%K3SAZY_-Sj$k3CWc$THhs z*?Q{GuD`!G(Y4PEvQpc7|Mf=wx?%tF{NFGi5qk_QZ!l@hUXsKQa>a8D?eRF;R}4eX zkgXbIh!z3IzkC`wexTJkpDOz(RO-1;tIi>LK#$VL;|Vb2^nwQH1B5oLU4ID zVmk={O1-NHeK+>F=GxH)Dz}q@e>8a-&rKj80v?3!>E4Uqx`}YV4=EfRnlZ-Edzp5Q zVOYPLd)*H<>I3_U@_=#hZzPSBtI#sr`jkF)12ZL*3Hj{kq@xHo(NH^n9y%^!GT{Nc z(N{|ljLw=yYR+V61n~4*(wIvloIX&@Oq?K-28KUiK_*s=)>lm3=X?N7`L0_{YYkGW z&lmxR5t+C~8}uQl@t`mEacCQzySNds!CmBrMeJ;DI}rYfAe&g$g6u!Vi&^mkX^q2= z*>|A%PpO+GB(+=WPKlbiDN@W(25`;VX( zV{DQ0{8&nzIHoatQ{s1T{pTB?N#kJll)`0US7N{GX8IhuEy3@*3eXxaScn_&8_b8o zWu5_7leO!#GUZ6B!KLRZb*Fyl_Mlu{atVhIX@)!J2k4FTk6n}(`0F+viM3H8C)V6A zZsU%#ae+}LISb2DcopXIk@0(`^eV;j3Du;rD=2V>CF8*Q(+L%!W_h%{{vn5KL@(hg%>9{Rc2p#sbN|ADK$IjI?dzj17u8+ z-~wf$Tys?<)$2T?&UdZCh1YBE?31*8fhk^2?!&7d4@$Y2gKzbm+zJZjB9|)K$pOvy zgfWNm9TU8Z^U{TP3v#?0=%@)+MlS~y(KJkpMgOy>6HVfP`t=+Klk7f`8_EK3}Fuc&E3(zlg?iqb{ z6@?3T>{@Iehol??m0^Jq?_C%Bh5)yF26*EiX#I*uMY!ciJ}0H+EA_52zEVteggv_j z5QV8EjxfN@_$M-b92GC!E^XSn%E2Xf4H;@rzPc<3$qp!sBCVIOyvxz@#g%z++~etd z{o*z|+||y$>+NS0hRCc-PQKWQm7{9td~Il_fxOC$FXoVkeqvmwq!H$2nG)910IoeM zv9^uKpPLO{(d~zjTnV=-9t>fWZg7ljuMO%k>_OD&D|?d(|1wvPAQtzkHv<0BOe6+tK}~RwO_5-BinjGj`G& z?Sr)XHJ;rIyDFyiV9lk4zPkHIj7&6hzb=(S+oPY-j19G$dIb{F`~Lvs^0-Jfd~A)m z#-&FmJCcM81-(d1f*8f<9Sb?APnIC8Z&xplPB_1yRB<9#ZBJ96hrAk96l2n6UZcv) zRXB?@ebO2kR>!97kk%_m#Wmp>B@kivZfbYpEt$SEe>)Op`WqsDuF`+x7<$ZMku2_A z?yeP`?l3pr8ra7Dse`LY92H!>3uM&h5f-rw+6c++ac&+1X5sd|b5{m7ROu{Q>pI)W z`IS4c&@xv}y2%kv-SH5z_Byk2_W zQg0B487u63aeV8V)0=B@8fvwL%~H*8|Kkd)id78yF`BEF4`|8V&mq(biIn7@rA{x| z?&<9<27nD#K6CFzwXnRFon^Pj%=^u`_3xbo%yc5t`N+N-yV>c*^naPi53@+*%8)K z7|UMm?n`~dOw>&7{PNAu@b%{fXrm{tDveDAS2LL>HcC7|^P(#?E7h&dGn_B1b!6AT ztwPFsg^4>91v4`U>PW&iSBsxL%%9ZTNL6Z{~&Si!(UAio+deC+f?Ck+F>g)6Sk7Y=*Hn#0uo>;j%Yn{ub7C zH-IsE@5F70C>PvEa`$69>6--D87le>zXS)_T*e6zwpuANDDMQFh`4+)ruzae=^N@- zahX)ihWwI6L(e=yAfXID=0p&MZ`vWd@R6zwTUB(5iR{F&)3(W)1U!5;GgH`Q^^T=pVA1BJf9wyGeP=xg5S+@<-v9C8U z%QqOdrN3&+(L%lT3J#jbAAai`c6Hv865%g9Zj?evWriHmg2&4xZ)S0c+T7h)gFt>D z7`8cMhhk=YrwVP(okEH)JuO2wcjtFa zzB1c+^W#3g}S@zj|@dFjtoeClc*K|`)D~$DY z5JGp~9}O&&JlmI?I2rgby7uUUlf;WL(Bn+@iTT`LTuPvJd-<&{%)IfYfm+QYx_}g) zFS*+;e*g70we+yHTc_6R&&Iyv4Gbolpa;S*lc2;Nkt>Mx)`dUZ44C(-33a(w(n=x> zLQA=CbxkCAmkt;I28>-rFTm%82GU8P6eA{*g} zA>q@f?ql0z_%W&->mr6G9)~+<^68r|6!ZBzahn*Jd@AE9?-GON7mnSj@J)Y%IwvpI zi^OVAyB=Q4{~n)kuHThNX=l2AdQQzAE_{YwqER6}*zKjkj~#u@Em*1dELBl8V7Jy_ zwNxOKaD?M0-VdGs*yEJ4)@#VAoR@jWZLkzSqz}WF>0?^mkhBQki z$CqLOm--v-tbHe*y~cPF3DFvd@aB;VUWXn19|Vx~?ulicD)Yz4So>swFJEK&1AQBK``>$V+KhMtz2vZyor@+=7oCHrU+L^XPh}^UBWVKZ5ASEH7Az2XV6OSy+y_>fu+iRJPTcH zlmK3vXtrn@pFY|VUE!WlUGYo~8N*K`WiN5EkaIcrvLfK!>wu~6%V%x@awVO$5hXH_ zI|K!qek+}I>&)H$4Y${hm3LG3#829z!sao^WkOM=Smn9Ic)Ue3$?N!!yX=Dse%nLe zd8F83BqprD+Dp_!crjh}A{+L^hvtMfF7as61^jCeu>-%426^Vw z-tvR=RC&KNpR;nW+ERmvQ&9@{KO!T~MaRew?RyzjIcqrU#8e_+B{SATl=oYHmk)l! z9ak7IizLV1PBL(`_uT7HkGPgb9liymD@KSq^F14fLX?q!*bvIp&Ro|rKRhZ{z9{yi zrt?>kAE`t(uGVzi&3~-!@%X-l8ilZLPCfZ``v3GS7TF=fUX^CZ8HJc;ziRa97RZx6 zG7#X#C8!fZ#~c^53E(9EF#1p6J`Ebq1OSv!&r{jE=(C{UzaHszvdF^kGG{%Ww0?#0 zfpaW+Pp+4J0+Udg6LFOqxbd2t~QSPG*Bofz^3jmrYtq+||cq4mj+ z+fS$Mx%{xmlzHow>;ZN+#b6XORLVVM=SeAR_f|V%hOU*879ze1J&UIGn&h=B7@y(h zEcqEN-c2A^U$Q!6eRI+Kok#Y}!gXkU1|DF~(RD4yiVLx;ca=MDOs0BX>0~Zm_LINm z15X7Ih8}@8(50-~NqQT;{yf*vd}OWX$iwrf3(}D2b^S2Oz5$aYEyH@npyhL^8H5dP z=EoFj9Va8)BKmxtub+jO#vb25*ZHYLk+)6x$V|?N8o_F>a=@P94ga88jx_EvZM?v; zcX9NKx4<{%65qLN6G9t$u^+^XBluMNki13<4?g+i&0;<$sE=>57!wfN1qq|QJ@p*F z0wiPVOQeSL2fsq~&zKvHw*CRg$b>(l-|D3Y>$ZWx)9}5`$S}@A2k>^4O{lEwHAJ1= z#C*qpl5N6}Z=;afD^|Eg=+#i@@8zP>8$I-I?$X&75tx~zH|$@eQCGne^ITP5rDr)h=p>&sOIU-vC??X%Z@c zzFUH({GAca4KckOd)w+}i49RlVt+B`&@#!m|OW8E7D&0qhtP+s(gmQvb ztif54-j0?xF#)=HsnODQ zk1TASYv_;a&~?`4F}5EGzEJy_}_6;=f^{K_0#Oe*Th5FF`8NzlzYr z-QJh^Sh?a2>v4;&(;+wO2SjdP$QZdiobL?EA=DPzNKZx{Ji^_0YHNQps^wgb4v{}f zp~?(2mA&!UJ@{Q63W=chTQ2_kd+m$@rown}4OtFy- z_?M<^Pxypi9g>3BFZiH*JHbZW?3MTFGh3*d2kD7~S2!PHP&{>4df?O?KtRZxn4xfm zS`Ar>u{X1RkJW|6ohfv&_7uv!J~#gJ zrl6X5g=MXG^g7Jm0ait%v8)ZKj22Qf2U-?eJ#09DCB6B|dwxZh{d({4ehp!COx3;6 zn-4eUHRGi6Yd37W?2e0Wj^_G?-r^dXgX^oRUtpZo& zxPLku^)I##*Ft6J(AR}v0@1ZUzfB$WsC{sWxyKjbXF#YZW>LzW&8p-r<(_6?PuT80 z)2|k-pEbAbs4F&eEm#;eV3(;|^WJOXQqY#KReFPBppf^tPVe&>J9Aa`k#~jBERR2C znUVOWJ_%tft-0^s5PKCE@5kI7$(u4GGYm9RAMY40=p>cX1}lc{gOH$Q*yXD0xog~R z4lit~?0QfT<2ig4|G;#h>rv{Z?`O4Z;Yb$GzyI1rzn(pc2X_b<=V*w?Aai(Z@>9|% zz*=XMumo@c9nHfRKhv}}xgDd0mi|Ol3FVD_Sw}GBCm^>C zEx*>m&2UJVdz!a{r8X*@Ezw@4yyDoq!~|EJgl(@MD-vILecSqi7n^p~j1KJ0w|ADm zV-l2o3~?bx{oiqho{_33=CH4`kYE+6~TGw5(q2 z>@T@D@mbHDQ!f@AZS9a*us|ZIh`JH6&ap1Sr05NitX~fVF;8D{IXn?bXq0f(zG}Z~ zbBns;>~ourwstCAEg{qF+6yn#N+k*I58tkFv_07~_vVPj8wReJBVLH{RmTVOc4ip7=^xmTVg4ykpK_KgI^Xo-?B=zu zs%&i#sU@|4%mP$~16{h=_veP1l|Qamm)zNNnAf2?Wyo8pj6hbNpbXTrojE2+qALS4zUaWYo4NsV%93ao&7iA!c7H3K+$`Ngr?C*S0Slzvj>{)!qb zIA;<-?soCVM)VM_4f^u6cz!XkF{Q}6sST^%5dT3!r9~Oa=xqVPO70~LkC5qfmz3_Bhrf@koFEIidE^(a=s#0H zl*+O=Rq$xeyYH?$zZN+Az0{<2`4t$7l(u30B}aTNe>Q)vvd_53(7jSWA#q8f#CehZ z`aNPCA?|iGA1dtmBEiy9th=rqLux1P>VjAER-Ss8uh)S~Vd0k(9hfv{te)&H zNsTad5@Weo4Cpy)+24Lp>frrib8+s{QEHnQ%o=Q#V<`Ql+S=c*A@ki2)SzGac|&1?(F(bEP}hq5jxc2x{3iM*}5 z7&EbG&~p*6atAy#xf|FJDse4~lwE_n4c}BJC?R=u{3r*UQRcYUfwsuZ%WYxN9V584ahROGk z)<>8zEO4#mK7|NZHGa6CHAv@=;gw4`31og97F!O-92eOyII_YR7hMD%ntTupBZZty z)nX6+fxnM;Z7hNQQ!5lxD}DSbI-G;(y1fD8anh?EXT{wMshK=CQM4!sY_EQF((ak? z9cy#ewF#?gRMy*wGYQdpPfrtAvfsdmmo1RsnKW~pL5_-hBXC}0T=!N7(NW$t{i3cYpYtoSy}-zVE@!0&p6m5ph|E5PVb zV#PS@iR}Czzj;4`P@Q*i6vunO3F8yMw!8}GN0N(_#gLMUI7GmsB0+vt;ws?n5K(W$ zV1K-VtEh}xh^wSC44l~NBHY`}NUss?yDD^Xu53b&-$h#iyS2)tlnBR+>lLt!T<9kd z;lvrm_241w$Alvc6GOK8kO7)ohj2FIDkdiu@K#l$$Fm?6^udLM1_0%}cijSh9qF}} zh6Fk~O_*Ff7u=QLRCx#3Mk7U@QXy`Y6b)co2$x@>g16aA_EbMHl%U zwKY+FLl#S|t=U`rx@~yn?PT5-m80+-%IgCxT97|U$=cu>@_gU~aW~$C#v|Ucc^$ws zlvNmVV#)5#8e`G&cVa!wVHPr~2R~hDI(p1o6kKmA4f%-JZNAa%rIZ!Ze0oU!&ezpf zS?xmX@V4@}@iw_^@|4|8tMSf)+&^ZWA;q}-hj2SDJt^Tg<0Pi= zk3c(GjCNp7fU)1~LQLinYE#3!^x}GVib;Re+jbN?TD|EShG7(G$;B~KM_1W#qpL5b zrD&sr3(K(!T%mMXFM102{t|dH3cKrvd&0jJPi5E3>R_fCOjtM>t}dht=@?C`c;BC4 z>XQxr!0ot0VJ@_A9i&A{?k?Yi9Y(2)WqqcUdD>ihEKf8LAd;1P4pPk#D=I933|E7N zJz&H8e7?Y8!&P1C+FGcD7sr{@^g_xj$~#rMAN z=Xw2p&+C4@p4aooXgW3Loag8Ke2(LN9LM|fJ}}zoeVGXpKQ#zGHi=ww5tc0#1;p6- z+*s-~9Jv}N^l;|~#jPTyRWn8BDIGwe7>yn=01AIfcshj$L zh|cFs2HTM>r%ruZ|O z7f}niVJvg>aKK&c@HY68=ocvj-_AJL4YmYnJU0eqf4wvG0oaEXfH^?CZF(2*lf_;; zaG?)lvV_-6g>!L(_9RPasj&=##N-M6z$ZFF3{xd7brn_(IpK>!z8Jn`LxB(2)M#z&Prm8>b!Ff=+Vf9hH z#(rxEIR2X)OcR8-{OBnpR3Fhmb)Xuw6-+^^u4q1qQO*l*W+KCt&1*{=-`CeCCacM# zoQXYxPMI!`I-)dW15!v^y&NpmGSxB(Zkv9H#a`Hh0nuu;)0|vVt<+A>BMrB5R7!0f z2JB(bpOLLZGubObuuL2^8OQVIwSZDZJ+s8G5|%gAAHs+c=*MetIhw?6c!!5bj)2im zWIGCwhk#i}UR=TTXANfpQk;gTJtuBLlUs{_%}ApQq8NbIhvgtYR>_iOt{LJf#-0>d z`Y24nm#+0K#Q#&*rTU$qM;Hsa%645F0IQbBb3chiu%bxh_?}+c$B_7sFnUvE{-SFo zkvU7z1Ag*oA+%b~OtSjKR2BsCw1qccg8d^{WpbaP8~kpOmcid10)%^P#xF04Uegj& zu8QJ17^xBl8thY;H1>=15k96CUF9b|E~78n_h31z*+p>689*+OH@D&A>$!GtsedUA z@}A?>i+yXjXh7y;AuVDMK0vG(hDr24!Wbe17_;S=#AfZ%Q^b?2@cksE%;TpQ&0@YQ z9Yoq^DvgB=;5~3rXgy{Tw&Q|eO+mGq1$M;PLN?NlCjM;?X`ipe@z4F*;>`uR(JNB2 zv%ldbt9d&Qwz4=&)rG|s+(jYk(t$X+-v`EQl-KCWZM^_%~-#bj0^kg69JeMs7 z9dir%^mYon;rTrqt8Il7Vx6abcFGs*$X*oAt?+iyi|KC2I##i;c!|cdj;O|Y;M^&xH(_}w&_i`=qwLnD5chd`m^X&(+soJOQa{y-&4UZ! z5-S5L+>~z=^BJ=;kiK!O$;QMnNrIJ2pkSAMazEYJDHfU#czDBDZP?-xOWbe zCu1X>^(t$X)~}0ftoYxx5~G&=Nekd4|4*BVWfMBaI2-VSCnE&3WB@z)x{caFQ4XXr z7_ap%L+bRA&(vAl9ei)EFjRW1sqBRRE-lj}ljYB)D=+MBC2cG1Vo@$of+5=x_hOwW zl|Y_bEU;>+czb%I-jN4AW#lVLVJI*8^oxM^W#%CV#vqn(I2CgCdi<6o>#-`X1+@zT zPy)x3uif7Es&l1M%a)w@t%hZ7ccfDh)`TW;7e0<5mJbelZbTunfa4cE-jh*#PFpfK zY$rn*)&Gh&FRtfqeH16CWa62Zh-ArQeWiz^`Kl}*5^nc=E<|SF75}Cv^On#v_DkO| zJBZsK-B!nOcMPU8xUwfFL0NG-rOpLDIBt*+{^*<#_9DcPPSYJ@1vVUV+`xPGa(!KT z(uni9Q)lk%rc26goN;0SQ%nrkri^B(bFb#p>!`k6>ey`6C(e*Mt5)L1N@1sy3NYL zJ6&AfJY8-ub5G%^hl?5;9jYR0g!#I5onul&T?HQAa<;rOW$=v~t(i2Ho+Vf^Hgf2lz$$|i@2Px;l5e-@;S;TI@}{9Z&UIWB zn>4ce=}+X8$SmAAsl=x<_#6M>hl|U&h z12Qa&ECq);O|*~arseD0AT+&tVX<_hx%!&B^S!<|(ig^XLb_hW*eQ%YPvoHE4X3$o zEv>ePX45GcIbRy?X5xPA#_QaaK6gaSYsJ#5?6#BZ3SR-q8@K`d({F} zzD8@5!1@BxRPXBj^)x2y@d+gbob|?Jq07}0+P!3fEPrd0S93aH=Nx} z-yHNVZ80D11x)Cu!fNA{8akno4PG4%U7kg&M}SuAkIuat$En}N?LKQ zlgX#%NxjV<9}sQrP1SEZ%q^A89c0r_cAM}O1jp(~YrRxPTk!5-r>f5%?0dS$+*ST& znxWZ;O9|q^J0%K;)m>w&1g7N9=|Bx<$&weU;Ss0ugPXrq9?L!_y&egdmVbG&UqTEQ zj~1tUBN$!3i_!CxBRLBC)}a#U9l}EnST5xrWnq9OB9w8nIT2qQ9Y|R(V=o^wp3~b& zpqI3#oaix&KYV#%(sU-;CGn9audfDR+iXL6{GjJu=`Xx%?-e2q^s;ug#Q{AdSapOk zYlyA5ks18FQ(@aQbZi^a_0~-`Qt>M+*KenP!!nN(ybh40bH~e`nRMIp!xaySPbg1_ z+BT;u)SB?M`-e8kJIChU--a#f%R`1sbGEVKtR)s4Is2(4J*!d>V!rN$(!9uq&+ksS z1>sBtv`VJF1E-#~zwC1XHNr(_uDS08%Gh%xko>8+nqm$SL( zxpef2ar|Z5hJ#-&?LEiXbh@i0#slIo%9Q@XA7VcIA7ai!Ei?yH?ixi%!KP@^(CaF! z73D%hO%MbdEzmYRwIDW*U27(?C&jJ`#<6~Ime&gvqfEf&jNP;q4|MxSMN9zYP$En zNBKBRW(o9YO&`jDR=3Fnc0rCdl2I0DStecSvRI<}Odzrkk*gidcz0pmVV#X_W!t~F zF5A9or^&?O=m%r(EU08xw~w&H23jJkT4mIG)9vVowU_+i%K=)hxU#ERXD&!rO2ICZ9Mf7ctX zy{>JbC9dr(T7+G!YnCWDm0z82)MU_(*{WuomFqIx{gN-3><^TT^cM> z0Bc-fw*l*DdYom{?h9J%h;f6J>!XyNQdWXQiZFBvKOE95U$o=N$4d8xL_K0-^H%Iw ztkn?hGQ!;@iSU?!XR9LfVgmfXyti=Gy=doD8GvekmAh-pYf2y!0QZh75B?`)`76@= z@AzFDjME9mXrw@%(st;t4srFL^%pC=)+^Oji;z46w&oE}XaWci!9Z z2Sj0|1!pA-sMfZuVi8RL`|DRi8|4qx0ni#==OTCxQ>}5%1h?$eIpn7Lz5x&